All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:274,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/runtests.c:275,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/runtests.c:276,1
    - Dst: vfprintf
      Src: /src/knot-dns/tests/tap/runtests.c:277,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/runtests.c:278,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/runtests.c:279,1
    - Dst: strerror
      Src: /src/knot-dns/tests/tap/runtests.c:279,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: sysdie
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - exit
    - va_start
    - va_end
    - fflush
    - strerror
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void sysdie(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/tests/tap/runtests.c:293,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - n
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: x_calloc
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - sysdie
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      x_calloc(size_t n, size_t size, const char *file, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/tap/runtests.c:308,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: x_malloc
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - malloc
    - sysdie
    linkageType: ''
    returnType: void
    signature: 'void *

      x_malloc(size_t size, const char *file, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/knot-dns/tests/tap/runtests.c:321,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: x_realloc
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - sysdie
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      x_realloc(void *p, size_t size, const char *file, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:337,1
    - Dst: malloc
      Src: /src/knot-dns/tests/tap/runtests.c:338,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:340,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/tap/runtests.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: x_strdup
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - sysdie
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      x_strdup(const char *s, const char *file, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: difftime
      Src: /src/knot-dns/tests/tap/runtests.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: tv_seconds
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - difftime
    linkageType: ''
    returnType: double
    signature: double tv_seconds(const struct timeval *tv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:362,1
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv0
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: tv_diff
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - tv_seconds
    linkageType: ''
    returnType: double
    signature: double tv_diff(const struct timeval *tv1, const struct timeval *tv0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:371,1
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: tv_sum
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - tv_seconds
    linkageType: ''
    returnType: double
    signature: double tv_sum(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/knot-dns/tests/tap/runtests.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: skip_whitespace
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      skip_whitespace(const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/knot-dns/tests/tap/runtests.c:397,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:398,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:399,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:400,1
    - Dst: fork
      Src: /src/knot-dns/tests/tap/runtests.c:402,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:404,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:405,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:406,1
    - Dst: close
      Src: /src/knot-dns/tests/tap/runtests.c:409,1
    - Dst: dup2
      Src: /src/knot-dns/tests/tap/runtests.c:410,1
    - Dst: _exit
      Src: /src/knot-dns/tests/tap/runtests.c:411,1
    - Dst: dup2
      Src: /src/knot-dns/tests/tap/runtests.c:412,1
    - Dst: _exit
      Src: /src/knot-dns/tests/tap/runtests.c:413,1
    - Dst: execl
      Src: /src/knot-dns/tests/tap/runtests.c:416,1
    - Dst: _exit
      Src: /src/knot-dns/tests/tap/runtests.c:417,1
    - Dst: close
      Src: /src/knot-dns/tests/tap/runtests.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - path
    - fd
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 424
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 424
    functionName: test_start
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - fork
    - execl
    - puts
    - close
    - dup2
    - fflush
    - pipe
    - _exit
    - sysdie
    linkageType: ''
    returnType: pid_t
    signature: pid_t test_start(const char *path, int *fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/knot-dns/tests/tap/runtests.c:434,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:437,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:439,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct testset*
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: test_backspace
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - putchar
    - isatty
    linkageType: ''
    returnType: void
    signature: void test_backspace(struct testset *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:462,1
    - Dst: strncmp
      Src: /src/knot-dns/tests/tap/runtests.c:463,1
    - Dst: strtol
      Src: /src/knot-dns/tests/tap/runtests.c:474,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:476,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:478,1
    - Dst: strncasecmp
      Src: /src/knot-dns/tests/tap/runtests.c:479,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:480,1
    - Dst: xstrdup
      Src: /src/knot-dns/tests/tap/runtests.c:482,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:483,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:497,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:506,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:511,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:512,1
    - Dst: xrealloc
      Src: /src/knot-dns/tests/tap/runtests.c:519,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - line
    - ts
    argTypes:
    - char*
    - struct testset*
    constantsTouched: []
    func_position:
      end: 527
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 527
    functionName: test_plan
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - skip_whitespace
    - strlen
    - test_backspace
    - puts
    - strtol
    - xstrdup
    - xmalloc
    - xrealloc
    - strncmp
    - printf
    linkageType: ''
    returnType: int
    signature: int test_plan(const char *line, struct testset *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/knot-dns/tests/tap/runtests.c:546,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:548,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:548,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:552,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:555,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:556,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:567,1
    - Dst: isdigit
      Src: /src/knot-dns/tests/tap/runtests.c:575,1
    - Dst: test_plan
      Src: /src/knot-dns/tests/tap/runtests.c:576,1
    - Dst: strncmp
      Src: /src/knot-dns/tests/tap/runtests.c:578,1
    - Dst: test_plan
      Src: /src/knot-dns/tests/tap/runtests.c:580,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:583,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:584,1
    - Dst: strncmp
      Src: /src/knot-dns/tests/tap/runtests.c:592,1
    - Dst: strncmp
      Src: /src/knot-dns/tests/tap/runtests.c:596,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:598,1
    - Dst: strtol
      Src: /src/knot-dns/tests/tap/runtests.c:600,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:605,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:606,1
    - Dst: xrealloc
      Src: /src/knot-dns/tests/tap/runtests.c:623,1
    - Dst: isdigit
      Src: /src/knot-dns/tests/tap/runtests.c:634,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:636,1
    - Dst: skip_whitespace
      Src: /src/knot-dns/tests/tap/runtests.c:638,1
    - Dst: strncasecmp
      Src: /src/knot-dns/tests/tap/runtests.c:639,1
    - Dst: strncasecmp
      Src: /src/knot-dns/tests/tap/runtests.c:641,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:647,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:648,1
    - Dst: isatty
      Src: /src/knot-dns/tests/tap/runtests.c:663,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:664,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:666,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:668,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:670,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 2
    argNames:
    - line
    - ts
    argTypes:
    - char*
    - struct testset*
    constantsTouched: []
    func_position:
      end: 672
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 672
    functionName: test_checkline
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - skip_whitespace
    - strlen
    - test_backspace
    - puts
    - strtol
    - strstr
    - test_plan
    - fflush
    - xrealloc
    - strncmp
    - printf
    - isdigit
    - isatty
    linkageType: ''
    returnType: void
    signature: void test_checkline(const char *line, struct testset *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:703,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:706,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:711,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:713,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:714,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - first
    - last
    - chars
    - limit
    argTypes:
    - unsigned long
    - unsigned long
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 717
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 717
    functionName: test_print_range
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int test_print_range(unsigned long first, unsigned long last,
      unsigned int chars,\n                 unsigned int limit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:735,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:737,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:742,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:747,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:755,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:761,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:763,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:768,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:776,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:778,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:781,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:783,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:788,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:790,1
    - Dst: WCOREDUMP
      Src: /src/knot-dns/tests/tap/runtests.c:791,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:792,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 2
    argNames:
    - ts
    - status
    argTypes:
    - struct testset*
    - int
    constantsTouched: []
    func_position:
      end: 793
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 793
    functionName: test_summarize
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - putchar
    - test_print_range
    - fputs
    - WCOREDUMP
    - printf
    linkageType: ''
    returnType: void
    signature: void test_summarize(struct testset *ts, int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:808,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:810,1
    - Dst: WIFEXITED
      Src: /src/knot-dns/tests/tap/runtests.c:812,1
    - Dst: WEXITSTATUS
      Src: /src/knot-dns/tests/tap/runtests.c:812,1
    - Dst: WEXITSTATUS
      Src: /src/knot-dns/tests/tap/runtests.c:813,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:816,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:820,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:824,1
    - Dst: test_summarize
      Src: /src/knot-dns/tests/tap/runtests.c:827,1
    - Dst: WEXITSTATUS
      Src: /src/knot-dns/tests/tap/runtests.c:827,1
    - Dst: WIFSIGNALED
      Src: /src/knot-dns/tests/tap/runtests.c:831,1
    - Dst: test_summarize
      Src: /src/knot-dns/tests/tap/runtests.c:832,1
    - Dst: WTERMSIG
      Src: /src/knot-dns/tests/tap/runtests.c:832,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:836,1
    - Dst: test_summarize
      Src: /src/knot-dns/tests/tap/runtests.c:840,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct testset*
    constantsTouched: []
    func_position:
      end: 843
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 843
    functionName: test_analyze
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - test_summarize
    - puts
    - WIFEXITED
    - WEXITSTATUS
    - printf
    - WTERMSIG
    linkageType: ''
    returnType: int
    signature: int test_analyze(struct testset *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - stream
    argTypes:
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: cond_fputs
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void cond_fputs(const char *buffer, FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_start
      Src: /src/knot-dns/tests/tap/runtests.c:870,1
    - Dst: fdopen
      Src: /src/knot-dns/tests/tap/runtests.c:871,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:873,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:874,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:875,1
    - Dst: fgets
      Src: /src/knot-dns/tests/tap/runtests.c:879,1
    - Dst: cond_fputs
      Src: /src/knot-dns/tests/tap/runtests.c:880,1
    - Dst: test_checkline
      Src: /src/knot-dns/tests/tap/runtests.c:881,1
    - Dst: ferror
      Src: /src/knot-dns/tests/tap/runtests.c:883,1
    - Dst: test_backspace
      Src: /src/knot-dns/tests/tap/runtests.c:885,1
    - Dst: fgets
      Src: /src/knot-dns/tests/tap/runtests.c:892,1
    - Dst: fclose
      Src: /src/knot-dns/tests/tap/runtests.c:894,1
    - Dst: waitpid
      Src: /src/knot-dns/tests/tap/runtests.c:895,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:898,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:899,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:901,1
    - Dst: WEXITSTATUS
      Src: /src/knot-dns/tests/tap/runtests.c:905,1
    - Dst: test_analyze
      Src: /src/knot-dns/tests/tap/runtests.c:907,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ts
    - logfile
    argTypes:
    - struct testset*
    - FILE*
    constantsTouched: []
    func_position:
      end: 918
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 918
    functionName: test_run
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - fclose
    - test_checkline
    - test_analyze
    - test_backspace
    - test_start
    - puts
    - cond_fputs
    - waitpid
    - fflush
    - WEXITSTATUS
    - fdopen
    - ferror
    - sysdie
    - fgets
    linkageType: ''
    returnType: int
    signature: int test_run(struct testset *ts, FILE *logfile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:928,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:935,1
    - Dst: WIFEXITED
      Src: /src/knot-dns/tests/tap/runtests.c:938,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:939,1
    - Dst: WEXITSTATUS
      Src: /src/knot-dns/tests/tap/runtests.c:939,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:941,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:943,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:946,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:958,1
    - Dst: test_print_range
      Src: /src/knot-dns/tests/tap/runtests.c:965,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:966,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - fails
    argTypes:
    - struct testlist*
    constantsTouched: []
    func_position:
      end: 968
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 968
    functionName: test_fail_summary
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - putchar
    - test_print_range
    - puts
    - WIFEXITED
    - WEXITSTATUS
    - printf
    linkageType: ''
    returnType: void
    signature: void test_fail_summary(const struct testlist *fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/knot-dns/tests/tap/runtests.c:979,1
    - Dst: stat
      Src: /src/knot-dns/tests/tap/runtests.c:981,1
    - Dst: S_ISREG
      Src: /src/knot-dns/tests/tap/runtests.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 986
    functionName: is_valid_test
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISREG
    - access
    linkageType: ''
    returnType: int
    signature: int is_valid_test(const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/knot-dns/tests/tap/runtests.c:1014,1
    - Dst: ARRAY_SIZE
      Src: /src/knot-dns/tests/tap/runtests.c:1016,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1022,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1022,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1022,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1023,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1024,1
    - Dst: is_valid_test
      Src: /src/knot-dns/tests/tap/runtests.c:1025,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1027,1
    - Dst: xstrdup
      Src: /src/knot-dns/tests/tap/runtests.c:1032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - name
    - source
    - build
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1034
    functionName: find_test
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - ARRAY_SIZE
    - snprintf
    - xstrdup
    - is_valid_test
    - xmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      find_test(const char *name, const char *source, const char *build)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1051,1
    - Dst: fopen
      Src: /src/knot-dns/tests/tap/runtests.c:1060,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:1062,1
    - Dst: fgets
      Src: /src/knot-dns/tests/tap/runtests.c:1064,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1066,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1068,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:1069,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1075,1
    - Dst: xcalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1079,1
    - Dst: xstrdup
      Src: /src/knot-dns/tests/tap/runtests.c:1081,1
    - Dst: fclose
      Src: /src/knot-dns/tests/tap/runtests.c:1084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1088
    functionName: read_test_list
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - strlen
    - fprintf
    - xstrdup
    - xcalloc
    - xmalloc
    - sysdie
    - fgets
    linkageType: ''
    returnType: struct testlist
    signature: 'struct testlist *

      read_test_list(const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1102,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1112,1
    - Dst: xcalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1116,1
    - Dst: xstrdup
      Src: /src/knot-dns/tests/tap/runtests.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char*[]
    - int
    constantsTouched: []
    func_position:
      end: 1124
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1124
    functionName: build_test_list
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - xstrdup
    - xcalloc
    linkageType: ''
    returnType: struct testlist
    signature: 'struct testlist *

      build_test_list(char *argv[], int argc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1130,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1131,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1132,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1134,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct testset*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: free_testset
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_testset(struct testset *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1170,1
    - Dst: gettimeofday
      Src: /src/knot-dns/tests/tap/runtests.c:1184,1
    - Dst: fopen
      Src: /src/knot-dns/tests/tap/runtests.c:1188,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1190,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:1199,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/runtests.c:1200,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:1201,1
    - Dst: isatty
      Src: /src/knot-dns/tests/tap/runtests.c:1202,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:1203,1
    - Dst: find_test
      Src: /src/knot-dns/tests/tap/runtests.c:1206,1
    - Dst: test_run
      Src: /src/knot-dns/tests/tap/runtests.c:1207,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/runtests.c:1208,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1222,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1225,1
    - Dst: fclose
      Src: /src/knot-dns/tests/tap/runtests.c:1236,1
    - Dst: gettimeofday
      Src: /src/knot-dns/tests/tap/runtests.c:1240,1
    - Dst: getrusage
      Src: /src/knot-dns/tests/tap/runtests.c:1241,1
    - Dst: test_fail_summary
      Src: /src/knot-dns/tests/tap/runtests.c:1245,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1248,1
    - Dst: free_testset
      Src: /src/knot-dns/tests/tap/runtests.c:1256,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1257,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/runtests.c:1262,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1264,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1268,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1270,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1271,1
    - Dst: fputs
      Src: /src/knot-dns/tests/tap/runtests.c:1274,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1276,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1280,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1282,1
    - Dst: puts
      Src: /src/knot-dns/tests/tap/runtests.c:1284,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1285,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1286,1
    - Dst: tv_diff
      Src: /src/knot-dns/tests/tap/runtests.c:1286,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1287,1
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:1288,1
    - Dst: tv_seconds
      Src: /src/knot-dns/tests/tap/runtests.c:1288,1
    - Dst: tv_sum
      Src: /src/knot-dns/tests/tap/runtests.c:1289,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 4
    argNames:
    - tests
    - source
    - build
    - logfile_name
    argTypes:
    - struct testlist*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1145
    functionDepth: 5
    functionLinenumber: 1145
    functionLinenumberEnd: 1291
    functionName: test_batch
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - test_run
    - printf
    - isatty
    - tv_diff
    - fclose
    - tv_sum
    - free
    - tv_seconds
    - fopen
    - strlen
    - test_fail_summary
    - putchar
    - find_test
    - gettimeofday
    - getrusage
    - fputs
    - free_testset
    - puts
    - xmalloc
    - fflush
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int test_batch(struct testlist *tests, const char *source, const char
      *build,\n           const char *logfile_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_test
      Src: /src/knot-dns/tests/tap/runtests.c:1302,1
    - Dst: execl
      Src: /src/knot-dns/tests/tap/runtests.c:1303,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - program
    - source
    - build
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: test_single
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - execl
    - find_test
    - sysdie
    linkageType: ''
    returnType: void
    signature: void test_single(const char *program, const char *source, const char
      *build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/knot-dns/tests/tap/runtests.c:1326,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1332,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:1333,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:1348,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1354,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:1355,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1361,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1362,1
    - Dst: putenv
      Src: /src/knot-dns/tests/tap/runtests.c:1363,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:1364,1
    - Dst: xmalloc
      Src: /src/knot-dns/tests/tap/runtests.c:1368,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/tap/runtests.c:1369,1
    - Dst: putenv
      Src: /src/knot-dns/tests/tap/runtests.c:1370,1
    - Dst: sysdie
      Src: /src/knot-dns/tests/tap/runtests.c:1371,1
    - Dst: test_single
      Src: /src/knot-dns/tests/tap/runtests.c:1376,1
    - Dst: strrchr
      Src: /src/knot-dns/tests/tap/runtests.c:1378,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/runtests.c:1383,1
    - Dst: read_test_list
      Src: /src/knot-dns/tests/tap/runtests.c:1384,1
    - Dst: test_batch
      Src: /src/knot-dns/tests/tap/runtests.c:1385,1
    - Dst: build_test_list
      Src: /src/knot-dns/tests/tap/runtests.c:1387,1
    - Dst: test_batch
      Src: /src/knot-dns/tests/tap/runtests.c:1388,1
    - Dst: putenv
      Src: /src/knot-dns/tests/tap/runtests.c:1393,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1394,1
    - Dst: putenv
      Src: /src/knot-dns/tests/tap/runtests.c:1397,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/runtests.c:1398,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/runtests.c:1400,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1401
      start: 1311
    functionDepth: 6
    functionLinenumber: 1311
    functionLinenumberEnd: 1401
    functionName: main
    functionSourceFile: /src/knot-dns/tests/tap/runtests.c
    functionUses: 0
    functionsReached:
    - sysdie
    - putenv
    - exit
    - free
    - snprintf
    - xmalloc
    - strrchr
    - build_test_list
    - test_single
    - getopt
    - printf
    - fprintf
    - read_test_list
    - test_batch
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:95,1
    - Dst: getpid
      Src: /src/knot-dns/tests/tap/basic.c:96,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:98,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:102,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:105,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:108,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:111,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 115
    functionName: finish
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - getpid
    linkageType: ''
    returnType: void
    signature: void finish(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setvbuf
      Src: /src/knot-dns/tests/tap/basic.c:124,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/basic.c:125,1
    - Dst: strerror
      Src: /src/knot-dns/tests/tap/basic.c:126,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:127,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:128,1
    - Dst: getpid
      Src: /src/knot-dns/tests/tap/basic.c:131,1
    - Dst: atexit
      Src: /src/knot-dns/tests/tap/basic.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: plan
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 1
    functionsReached:
    - getpid
    - fflush
    - setvbuf
    - atexit
    - strerror
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void plan(unsigned long count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setvbuf
      Src: /src/knot-dns/tests/tap/basic.c:142,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/tap/basic.c:143,1
    - Dst: strerror
      Src: /src/knot-dns/tests/tap/basic.c:144,1
    - Dst: getpid
      Src: /src/knot-dns/tests/tap/basic.c:146,1
    - Dst: atexit
      Src: /src/knot-dns/tests/tap/basic.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: plan_lazy
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - getpid
    - setvbuf
    - atexit
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void plan_lazy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:158,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:159,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:163,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:164,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:165,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:166,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:168,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/basic.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: skip_all
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - exit
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void skip_all(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:178,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: print_desc
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void print_desc(const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:189,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:190,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:196,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:197,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:198,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - success
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: ok
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - print_desc
    linkageType: ''
    returnType: void
    signature: void ok(int success, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:209,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:210,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:214,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - success
    - format
    - args
    argTypes:
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: okv
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - putchar
    - print_desc
    linkageType: ''
    returnType: void
    signature: void okv(int success, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:224,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:225,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:229,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:230,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:231,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:232,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: skip
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void skip(const char *reason, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:245,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:247,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:253,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:254,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:255,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - count
    - status
    - format
    argTypes:
    - unsigned long
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: ok_block
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - print_desc
    linkageType: ''
    returnType: void
    signature: void ok_block(unsigned long count, int status, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:269,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:271,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:275,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:276,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:277,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:278,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - count
    - reason
    argTypes:
    - unsigned long
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 282
    functionName: skip_block
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void skip_block(unsigned long count, const char *reason, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:291,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:293,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:295,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:296,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:302,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:303,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:304,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wanted
    - seen
    - format
    argTypes:
    - long long
    - long long
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: is_int
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - print_desc
    linkageType: ''
    returnType: void
    signature: void is_int(long long wanted, long long seen, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:320,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/tap/basic.c:321,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:322,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:324,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:325,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:331,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:332,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:333,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - wanted
    - seen
    - format
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 336
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 336
    functionName: is_string
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - strcmp
    - printf
    - print_desc
    linkageType: ''
    returnType: void
    signature: void is_string(const char *wanted, const char *seen, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:346,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:348,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:350,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:353,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:359,1
    - Dst: print_desc
      Src: /src/knot-dns/tests/tap/basic.c:360,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:361,1
    - Dst: putchar
      Src: /src/knot-dns/tests/tap/basic.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wanted
    - seen
    - format
    argTypes:
    - unsigned long long
    - unsigned long long
    - char*
    constantsTouched: []
    func_position:
      end: 364
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 364
    functionName: is_hex
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - putchar
    - va_start
    - va_end
    - fflush
    - printf
    - print_desc
    linkageType: ''
    returnType: void
    signature: "void is_hex(unsigned long long wanted, unsigned long long seen,\n
      \      const char *format, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:374,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:375,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:376,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:377,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:378,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:379,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:380,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/basic.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: bail
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - exit
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void bail(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:393,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:394,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:395,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:396,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:397,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:398,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:399,1
    - Dst: strerror
      Src: /src/knot-dns/tests/tap/basic.c:399,1
    - Dst: exit
      Src: /src/knot-dns/tests/tap/basic.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: sysbail
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - exit
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: void sysbail(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:411,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:412,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:413,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:414,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:415,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:416,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: diag
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    linkageType: ''
    returnType: void
    signature: void diag(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:429,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/basic.c:430,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:431,1
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/basic.c:432,1
    - Dst: vprintf
      Src: /src/knot-dns/tests/tap/basic.c:433,1
    - Dst: va_end
      Src: /src/knot-dns/tests/tap/basic.c:434,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/basic.c:435,1
    - Dst: strerror
      Src: /src/knot-dns/tests/tap/basic.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: sysdiag
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - fflush
    - printf
    - vprintf
    - strerror
    linkageType: ''
    returnType: void
    signature: void sysdiag(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/tests/tap/basic.c:446,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: bcalloc
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - sysbail
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      bcalloc(size_t n, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/tap/basic.c:460,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: bmalloc
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - sysbail
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      bmalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/knot-dns/tests/tap/basic.c:472,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 476
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: brealloc
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - sysbail
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      brealloc(void *p, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/basic.c:487,1
    - Dst: malloc
      Src: /src/knot-dns/tests/tap/basic.c:488,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:490,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/tap/basic.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 493
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 493
    functionName: bstrdup
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sysbail
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      bstrdup(const char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/tap/basic.c:511,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:513,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/tap/basic.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: bstrndup
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sysbail
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      bstrndup(const char *s, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/knot-dns/tests/tap/basic.c:539,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/basic.c:542,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/basic.c:542,1
    - Dst: bmalloc
      Src: /src/knot-dns/tests/tap/basic.c:543,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/tap/basic.c:544,1
    - Dst: access
      Src: /src/knot-dns/tests/tap/basic.c:545,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/basic.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 551
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 551
    functionName: test_file_path
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - snprintf
    - bmalloc
    - getenv
    - access
    linkageType: ''
    returnType: char
    signature: 'char *

      test_file_path(const char *file)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/tests/tap/basic.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: test_file_path_free
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void test_file_path_free(char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/knot-dns/tests/tap/basic.c:582,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/basic.c:585,1
    - Dst: strlen
      Src: /src/knot-dns/tests/tap/basic.c:585,1
    - Dst: bmalloc
      Src: /src/knot-dns/tests/tap/basic.c:586,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/tap/basic.c:587,1
    - Dst: access
      Src: /src/knot-dns/tests/tap/basic.c:588,1
    - Dst: mkdir
      Src: /src/knot-dns/tests/tap/basic.c:589,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/tap/basic.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 592
    functionName: test_tmpdir
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - sysbail
    - bmalloc
    - getenv
    - mkdir
    - access
    linkageType: ''
    returnType: char
    signature: 'char *

      test_tmpdir(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/knot-dns/tests/tap/basic.c:602,1
    - Dst: free
      Src: /src/knot-dns/tests/tap/basic.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: test_tmpdir_free
    functionSourceFile: /src/knot-dns/tests/tap/basic.c
    functionUses: 0
    functionsReached:
    - free
    - rmdir
    linkageType: ''
    returnType: void
    signature: void test_tmpdir_free(char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/tests/tap/files.c:36,1
    - Dst: strdup
      Src: /src/knot-dns/tests/tap/files.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - is_directory
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: make_temp
    functionSourceFile: /src/knot-dns/tests/tap/files.c
    functionUses: 0
    functionsReached:
    - strdup
    - close
    linkageType: ''
    returnType: char
    signature: char *make_temp(bool is_directory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_temp
      Src: /src/knot-dns/tests/tap/files.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: test_mktemp
    functionSourceFile: /src/knot-dns/tests/tap/files.c
    functionUses: 0
    functionsReached:
    - make_temp
    linkageType: ''
    returnType: char
    signature: char *test_mktemp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_temp
      Src: /src/knot-dns/tests/tap/files.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: test_mkdtemp
    functionSourceFile: /src/knot-dns/tests/tap/files.c
    functionUses: 0
    functionsReached:
    - make_temp
    linkageType: ''
    returnType: char
    signature: char *test_mkdtemp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove_path
      Src: /src/knot-dns/tests/tap/files.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: test_rm_rf
    functionSourceFile: /src/knot-dns/tests/tap/files.c
    functionUses: 0
    functionsReached:
    - remove_path
    linkageType: ''
    returnType: bool
    signature: bool test_rm_rf(const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/tests/tap/float.c:57,1
    - Dst: fflush
      Src: /src/knot-dns/tests/tap/float.c:58,1
    - Dst: isnan
      Src: /src/knot-dns/tests/tap/float.c:59,1
    - Dst: isnan
      Src: /src/knot-dns/tests/tap/float.c:59,1
    - Dst: isinf
      Src: /src/knot-dns/tests/tap/float.c:60,1
    - Dst: isinf
      Src: /src/knot-dns/tests/tap/float.c:60,1
    - Dst: fabs
      Src: /src/knot-dns/tests/tap/float.c:61,1
    - Dst: okv
      Src: /src/knot-dns/tests/tap/float.c:62,1
    - Dst: printf
      Src: /src/knot-dns/tests/tap/float.c:64,1
    - Dst: okv
      Src: /src/knot-dns/tests/tap/float.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - wanted
    - seen
    - epsilon
    - format
    argTypes:
    - double
    - double
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: is_double
    functionSourceFile: /src/knot-dns/tests/tap/float.c
    functionUses: 0
    functionsReached:
    - fabs
    - isnan
    - va_start
    - fflush
    - okv
    - printf
    - isinf
    linkageType: ''
    returnType: void
    signature: void is_double(double wanted, double seen, double epsilon, const char
      *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: online_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:25,1
    - Dst: ok
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:26,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:26,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - input
    - apex
    - expected
    argTypes:
    - char*
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: _test_nsec_next
    functionSourceFile: /src/knot-dns/tests/modules/test_onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_dname_is_equal
    - knot_dname_free
    - online_nsec_next
    - ok
    linkageType: ''
    returnType: void
    signature: "void _test_nsec_next(const char *msg,\n                            const
      knot_dname_t *input,\n                            const knot_dname_t *apex,\n
      \                           const knot_dname_t *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:52,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:56,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:63,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:70,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:88,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:90,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:97,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:104,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:111,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:120,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:127,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:134,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:155,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:157,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:164,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:171,1
    - Dst: test_nsec_next
      Src: /src/knot-dns/tests/modules/test_onlinesign.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 192
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/knot-dns/tests/modules/test_onlinesign.c
    functionUses: 0
    functionsReached:
    - test_nsec_next
    - plan_lazy
    - assert
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_rrl.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - prefixes
    - mults
    - cnt
    - wanted_prefix
    argTypes:
    - uint8_t[]
    - kru_price_t[]
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: get_mult
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: kru_price_t
    signature: kru_price_t get_mult(uint8_t prefixes[], kru_price_t mults[], size_t
      cnt, uint8_t wanted_prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/tests/modules/test_rrl.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: fakeclock_init
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void fakeclock_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clockid
    - tp
    argTypes:
    - clockid_t
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: fakeclock_gettime
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fakeclock_gettime(clockid_t clockid, struct timespec *tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/knot-dns/tests/modules/test_rrl.c:124,1
    - Dst: __sync_synchronize
      Src: /src/knot-dns/tests/modules/test_rrl.c:125,1
    - Dst: fakeclock_gettime
      Src: /src/knot-dns/tests/modules/test_rrl.c:138,1
    - Dst: clock_gettime
      Src: /src/knot-dns/tests/modules/test_rrl.c:139,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/modules/test_rrl.c:156,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/modules/test_rrl.c:158,1
    - Dst: rrl_query
      Src: /src/knot-dns/tests/modules/test_rrl.c:160,1
    - Dst: atomic_fetch_add
      Src: /src/knot-dns/tests/modules/test_rrl.c:161,1
    - Dst: rrl_update
      Src: /src/knot-dns/tests/modules/test_rrl.c:163,1
    - Dst: atomic_fetch_add
      Src: /src/knot-dns/tests/modules/test_rrl.c:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 171
    functionName: rrl_runnable
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - __sync_synchronize
    - snprintf
    - rrl_query
    - sched_yield
    - atomic_fetch_add
    - clock_gettime
    - fakeclock_gettime
    - sockaddr_set
    - rrl_update
    linkageType: ''
    returnType: void
    signature: void *rrl_runnable(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/tests/modules/test_rrl.c:185,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/modules/test_rrl.c:188,1
    - Dst: rrl_query
      Src: /src/knot-dns/tests/modules/test_rrl.c:189,1
    - Dst: rrl_update
      Src: /src/knot-dns/tests/modules/test_rrl.c:194,1
    - Dst: is_int
      Src: /src/knot-dns/tests/modules/test_rrl.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/modules/test_rrl.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - desc
    - expected_passing
    - margin_fract
    - addr_family
    - addr_format
    - min_value
    - max_value
    argTypes:
    - char*
    - int
    - double
    - int
    - char*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: count_test
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - snprintf
    - rrl_query
    - rrl_update
    - sockaddr_set
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: "void count_test(char *desc, int expected_passing, double margin_fract,\n\t\tint
      addr_family, char *addr_format, uint32_t min_value, uint32_t max_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fakeclock_init
      Src: /src/knot-dns/tests/modules/test_rrl.c:219,1
    - Dst: rrl_create
      Src: /src/knot-dns/tests/modules/test_rrl.c:222,1
    - Dst: ok
      Src: /src/knot-dns/tests/modules/test_rrl.c:223,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_rrl.c:224,1
    - Dst: memset
      Src: /src/knot-dns/tests/modules/test_rrl.c:228,1
    - Dst: memset
      Src: /src/knot-dns/tests/modules/test_rrl.c:231,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_rrl.c:233,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:240,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:240,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:243,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:246,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:246,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:246,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:249,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:252,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:252,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:252,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:255,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:258,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:258,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:258,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:261,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:268,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:268,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:271,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:274,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:274,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:274,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:277,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:280,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:280,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:280,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:283,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:286,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:286,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:286,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:289,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:292,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:292,1
    - Dst: INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:292,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:295,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:301,1
    - Dst: RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:301,1
    - Dst: count_test
      Src: /src/knot-dns/tests/modules/test_rrl.c:304,1
    - Dst: RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:304,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:312,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:313,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:314,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:315,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:316,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:317,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:320,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:321,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:322,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:323,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:324,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:325,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:328,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:329,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:332,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:333,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:334,1
    - Dst: RANGE_UNLIM
      Src: /src/knot-dns/tests/modules/test_rrl.c:335,1
    - Dst: RANGE_RATEM
      Src: /src/knot-dns/tests/modules/test_rrl.c:336,1
    - Dst: RANGE_INST
      Src: /src/knot-dns/tests/modules/test_rrl.c:337,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_rrl.c:346,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/modules/test_rrl.c:354,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/modules/test_rrl.c:357,1
    - Dst: ok
      Src: /src/knot-dns/tests/modules/test_rrl.c:365,1
    - Dst: rrl_destroy
      Src: /src/knot-dns/tests/modules/test_rrl.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - rw_mode
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 372
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 372
    functionName: test_rrl
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - RANGE_UNLIM
    - assert
    - fakeclock_init
    - RANGE_INST
    - INST
    - count_test
    - pthread_join
    - rrl_create
    - pthread_create
    - rrl_destroy
    - RATEM
    - RANGE_RATEM
    - memset
    - ok
    linkageType: ''
    returnType: void
    signature: void test_rrl(bool rw_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_rrl
      Src: /src/knot-dns/tests/modules/test_rrl.c:382,1
    - Dst: test_rrl
      Src: /src/knot-dns/tests/modules/test_rrl.c:387,1
    - Dst: diag
      Src: /src/knot-dns/tests/modules/test_rrl.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - test_avx2
    - rw_mode
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 391
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 391
    functionName: test_rrl_mode
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - diag
    - test_rrl
    linkageType: ''
    returnType: void
    signature: void test_rrl_mode(bool test_avx2, bool rw_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/modules/test_rrl.c:395,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/modules/test_rrl.c:397,1
    - Dst: assert
      Src: /src/knot-dns/tests/modules/test_rrl.c:399,1
    - Dst: test_rrl_mode
      Src: /src/knot-dns/tests/modules/test_rrl.c:402,1
    - Dst: test_rrl_mode
      Src: /src/knot-dns/tests/modules/test_rrl.c:403,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/modules/test_rrl.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: main
    functionSourceFile: /src/knot-dns/tests/modules/test_rrl.c
    functionUses: 0
    functionsReached:
    - assert
    - plan_lazy
    - test_rrl_mode
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: binary_set_string
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_sign.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: dnssec_binary_t
    signature: dnssec_binary_t binary_set_string(char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:90,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:92,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:98,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:99,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:100,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:101,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:102,1
    - Dst: dnssec_key_load_pkcs8
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:106,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:107,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:111,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:113,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:116,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:117,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:117,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:119,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:120,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:121,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:128,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:129,1
    - Dst: binary_set_string
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:131,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:132,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:133,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:136,1
    - Dst: binary_set_string
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:138,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:139,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:140,1
    - Dst: binary_set_string
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:142,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:143,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:144,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:147,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:148,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:150,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:151,1
    - Dst: binary_set_string
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:153,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:154,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:155,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:157,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:158,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:160,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:164,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 4
    argNames:
    - key_data
    - data
    - signature
    - signature_match
    argTypes:
    - key_parameters_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    - bool
    constantsTouched: []
    func_position:
      end: 166
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 166
    functionName: check_key
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_sign.c
    functionUses: 0
    functionsReached:
    - dnssec_sign_verify
    - dnssec_key_load_pkcs8
    - dnssec_binary_free
    - dnssec_key_set_rdata
    - dnssec_sign_new
    - dnssec_key_new
    - dnssec_sign_init
    - dnssec_sign_write
    - dnssec_key_free
    - dnssec_sign_free
    - dnssec_sign_add
    - binary_set_string
    - dnssec_binary_cmp
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_key(const key_parameters_t *key_data, const dnssec_binary_t
      *data,\n\t\t      const dnssec_binary_t *signature, bool signature_match)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:170,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:172,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:174,1
    - Dst: check_key
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:175,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:176,1
    - Dst: check_key
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:177,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:178,1
    - Dst: check_key
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:179,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:181,1
    - Dst: check_key
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:182,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_sign.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_sign.c
    functionUses: 0
    functionsReached:
    - diag
    - check_key
    - plan_lazy
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:14,1
    - Dst: dname_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dname
    - length
    - info
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: ok_length
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - dname_length
    - ok
    linkageType: ''
    returnType: void
    signature: void ok_length(const char *dname, size_t length, const char *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:20,1
    - Dst: ok_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:21,1
    - Dst: ok_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:22,1
    - Dst: ok_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: test_length
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - ok_length
    linkageType: ''
    returnType: void
    signature: void test_length(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: dname_binary_equal
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool dname_binary_equal(const uint8_t *one, const uint8_t *two)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:35,1
    - Dst: dname_binary_equal
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:35,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: test_copy
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - dname_binary_equal
    - free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:43,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:43,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:45,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:47,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:47,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:49,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:49,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:51,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:53,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:55,1
    - Dst: eq
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: test_equal
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - eq
    - ok
    linkageType: ''
    returnType: void
    signature: void test_equal(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:61,1
    - Dst: test_length
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:63,1
    - Dst: test_copy
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:64,1
    - Dst: test_equal
      Src: /src/knot-dns/tests/libdnssec/test_shared_dname.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_dname.c
    functionUses: 0
    functionsReached:
    - test_equal
    - plan_lazy
    - test_length
    - test_copy
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:44,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:46,1
    - Dst: dnssec_binary_to_base64
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:50,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:51,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:53,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:56,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 59
    functionName: test_base64
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_binary.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dnssec_binary_to_base64
    - dnssec_binary_free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_base64(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:67,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:68,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: test_dup
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_binary.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dnssec_binary_free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_dup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:76,1
    - Dst: test_base64
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:78,1
    - Dst: test_dup
      Src: /src/knot-dns/tests/libdnssec/test_binary.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_binary.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - test_base64
    - test_dup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:19,1
    - Dst: dnssec_nsec_bitmap_new
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:44,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:45,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:52,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:56,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:58,1
    - Dst: dnssec_nsec_bitmap_write
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:69,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:69,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:76,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:83,1
    - Dst: dnssec_nsec_bitmap_clear
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:87,1
    - Dst: dnssec_nsec_bitmap_size
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:87,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_bitmap.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_write
    - dnssec_nsec_bitmap_size
    - dnssec_nsec_bitmap_add
    - dnssec_nsec_bitmap_new
    - plan_lazy
    - memcmp
    - dnssec_nsec_bitmap_clear
    - knot_rrtype_to_string
    - dnssec_nsec_bitmap_free
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:20,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:21,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:22,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:43,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:45,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:48,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - name
    - params
    argTypes:
    - char*
    - struct key_parameters*
    constantsTouched: []
    func_position:
      end: 52
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 52
    functionName: test_key
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_ds.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_free
    - dnssec_key_set_rdata
    - dnssec_key_new
    - dnssec_key_free
    - memcmp
    - ok
    - dnssec_key_set_dname
    linkageType: ''
    returnType: void
    signature: void test_key(const char *name, const struct key_parameters *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:60,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:61,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:63,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:64,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:65,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:67,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:68,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:69,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:71,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:72,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:73,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:75,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:76,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:78,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:79,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:81,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct key_parameters*
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: test_errors
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_ds.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_free
    - is_int
    - dnssec_key_set_rdata
    - dnssec_key_new
    - dnssec_key_free
    - dnssec_key_create_ds
    - dnssec_key_set_dname
    linkageType: ''
    returnType: void
    signature: void test_errors(const struct key_parameters *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:87,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:89,1
    - Dst: test_key
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:91,1
    - Dst: test_key
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:92,1
    - Dst: test_key
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:93,1
    - Dst: test_key
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:95,1
    - Dst: test_errors
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:98,1
    - Dst: test_errors
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:99,1
    - Dst: test_errors
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:101,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_key_ds.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_ds.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - test_key
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    - test_errors
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: binary_eq
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_sign_der.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int binary_eq(const dnssec_binary_t *a, const dnssec_binary_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:77,1
    - Dst: DECODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:83,1
    - Dst: DECODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:90,1
    - Dst: DECODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:97,1
    - Dst: DECODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:104,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:109,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:114,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:119,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:124,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:129,1
    - Dst: DECODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:134,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:141,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:148,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:155,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:162,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:169,1
    - Dst: ENCODE_OK
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:176,1
    - Dst: ENCODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:182,1
    - Dst: ENCODE_FAIL
      Src: /src/knot-dns/tests/libdnssec/test_sign_der.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_sign_der.c
    functionUses: 0
    functionsReached:
    - DECODE_FAIL
    - ENCODE_FAIL
    - DECODE_OK
    - plan_lazy
    - ENCODE_OK
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:12,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:16,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:17,1
    - Dst: dnssec_crypto_reinit
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:19,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:20,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:22,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_crypto.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 26
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_crypto.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - dnssec_crypto_reinit
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:58,1
    - Dst: access
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:72,1
    - Dst: strdup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: libsofthsm_dso
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - strdup
    - access
    linkageType: ''
    returnType: char
    signature: char *libsofthsm_dso(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:89,1
    - Dst: strdup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: libsofthsm_util
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char
    signature: char *libsofthsm_util(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:107,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: token_cleanup
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - free
    - test_rm_rf
    linkageType: ''
    returnType: void
    signature: void token_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:116,1
    - Dst: fclose
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:124,1
    - Dst: fclose
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:125,1
    - Dst: fclose
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:126,1
    - Dst: execlp
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:135,1
    - Dst: exit
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:140,1
    - Dst: waitpid
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:146,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:152,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - util
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 160
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 160
    functionName: token_init_exec
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - fclose
    - diag
    - execlp
    - waitpid
    linkageType: ''
    returnType: bool
    signature: bool token_init_exec(const char *util)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_mkdtemp
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:167,1
    - Dst: fopen
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:180,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:185,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:186,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:187,1
    - Dst: fprintf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:188,1
    - Dst: fclose
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:190,1
    - Dst: setenv
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:194,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 209
    functionName: token_init
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - free
    - setenv
    - test_mkdtemp
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool token_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:220,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:221,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:223,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:224,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:226,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:227,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:232,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:233,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:236,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:237,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - keystore
    - algorithm
    - id
    - p11_key_ptr
    - soft_key_ptr
    argTypes:
    - dnssec_keystore_t*
    - dnssec_key_algorithm_t
    - char*
    - dnssec_key_t**
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 242
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 242
    functionName: create_dnskeys
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_rdata
    - dnssec_key_set_rdata
    - dnssec_key_set_algorithm
    - dnssec_key_new
    - dnssec_keystore_get_private
    - ok
    linkageType: ''
    returnType: void
    signature: "void create_dnskeys(dnssec_keystore_t *keystore,\n\t\t\t   dnssec_key_algorithm_t
      algorithm, const char *id,\n\t\t\t   dnssec_key_t **p11_key_ptr, dnssec_key_t
      **soft_key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:257,1
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:257,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:258,1
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:258,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:260,1
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:260,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:261,1
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:261,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:266,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:267,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:269,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:270,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:272,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:273,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:277,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:278,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:280,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:281,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:283,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:284,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:288,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:291,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:292,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:294,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:295,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:297,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:298,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:300,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - p11_key
    - soft_key
    argTypes:
    - dnssec_key_t*
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 302
    functionName: test_sign
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - dnssec_sign_verify
    - dnssec_binary_free
    - dnssec_sign_new
    - dnssec_sign_init
    - dnssec_sign_write
    - dnssec_key_can_sign
    - dnssec_sign_free
    - dnssec_sign_add
    - dnssec_key_can_verify
    - ok
    linkageType: ''
    returnType: void
    signature: void test_sign(dnssec_key_t *p11_key, dnssec_key_t *soft_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_dnskeys
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:311,1
    - Dst: test_sign
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:312,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:314,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - store
    - algorithm
    - keyid
    argTypes:
    - dnssec_keystore_t*
    - dnssec_key_algorithm_t
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: test_key_use
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - test_sign
    - create_dnskeys
    - dnssec_key_free
    linkageType: ''
    returnType: void
    signature: "void test_key_use(dnssec_keystore_t *store,\n\t\t\t dnssec_key_algorithm_t
      algorithm,\n\t\t\t const char *keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:326,1
    - Dst: dnssec_keystore_generate
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:328,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:330,1
    - Dst: test_key_use
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:331,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:333,1
    - Dst: dnssec_keystore_import
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:335,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:336,1
    - Dst: test_key_use
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:337,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:339,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - store
    - params
    argTypes:
    - dnssec_keystore_t*
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: test_algorithm
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - diag
    - free
    - dnssec_keystore_import
    - test_key_use
    - dnssec_keystore_generate
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_algorithm(dnssec_keystore_t *store,\n\t\t\t   const key_parameters_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:345,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:347,1
    - Dst: skip_all
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:354,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:357,1
    - Dst: skip_all
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:361,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:365,1
    - Dst: skip_all
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:369,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:372,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:375,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:377,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:378,1
    - Dst: dnssec_keystore_init
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:382,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:383,1
    - Dst: dnssec_keystore_open
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:385,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:386,1
    - Dst: assert
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:395,1
    - Dst: test_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:398,1
    - Dst: dnssec_keystore_close
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:401,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:402,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:404,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:405,1
    - Dst: token_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c:406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 409
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 409
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs11.c
    functionUses: 0
    functionsReached:
    - test_algorithm
    - assert
    - dnssec_keystore_close
    - skip_all
    - free
    - token_cleanup
    - snprintf
    - plan_lazy
    - dnssec_keystore_deinit
    - dnssec_keystore_init
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    - dnssec_keystore_open
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:15,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:26,1
    - Dst: dnssec_keystore_init
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:29,1
    - Dst: dnssec_keystore_open
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:32,1
    - Dst: dnssec_keystore_generate
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:39,1
    - Dst: dnssec_keystore_generate
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:44,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:49,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:50,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:52,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:53,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:55,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:56,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:57,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:58,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:59,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:64,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:66,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:67,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:68,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:69,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:70,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:74,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:75,1
    - Dst: dnssec_keystore_close
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:77,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:78,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:81,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:83,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keystore_pkcs8.c
    functionUses: 0
    functionsReached:
    - test_rm_rf
    - dnssec_keystore_remove
    - dnssec_keystore_close
    - dnssec_key_new
    - dnssec_key_set_algorithm
    - dnssec_key_free
    - free
    - dnssec_keystore_get_private
    - plan_lazy
    - dnssec_keystore_deinit
    - dnssec_keystore_init
    - dnssec_keystore_generate
    - dnssec_keystore_open
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:31,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:35,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:40,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:45,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:50,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:55,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:60,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:65,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:70,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:75,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:83,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:89,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:95,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:101,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:107,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libdnssec/test_shared_bignum.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 117
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_shared_bignum.c
    functionUses: 0
    functionsReached:
    - test_size
    - plan_lazy
    - test_write
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_algorithm_from_dname
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:84,1
    - Dst: dname_equal
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - dname
    - algorithm
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: test_lookup_dname
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_tsig.c
    functionUses: 0
    functionsReached:
    - dname_equal
    - dnssec_tsig_algorithm_from_dname
    - ok
    linkageType: ''
    returnType: void
    signature: void test_lookup_dname(const uint8_t *dname, int algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:91,1
    - Dst: dnssec_tsig_algorithm_from_name
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:95,1
    - Dst: strcasecmp
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - name
    - algorithm
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: test_lookup_name
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_tsig.c
    functionUses: 0
    functionsReached:
    - dnssec_tsig_algorithm_from_name
    - strcasecmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_lookup_name(const char *name, int algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_new
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:103,1
    - Dst: dnssec_tsig_add
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:104,1
    - Dst: dnssec_tsig_write
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:108,1
    - Dst: dnssec_tsig_free
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:109,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:111,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - hmac_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: test_tsig_hmac
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_tsig.c
    functionUses: 0
    functionsReached:
    - dnssec_tsig_free
    - dnssec_tsig_new
    - dnssec_tsig_add
    - memcmp
    - dnssec_tsig_write
    - ok
    linkageType: ''
    returnType: void
    signature: void test_tsig_hmac(const hmac_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:117,1
    - Dst: test_lookup_dname
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:119,1
    - Dst: test_lookup_dname
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:121,1
    - Dst: test_lookup_dname
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:122,1
    - Dst: test_lookup_name
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:124,1
    - Dst: test_lookup_name
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:125,1
    - Dst: test_lookup_name
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:126,1
    - Dst: test_lookup_name
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:127,1
    - Dst: test_tsig_hmac
      Src: /src/knot-dns/tests/libdnssec/test_tsig.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_tsig.c
    functionUses: 0
    functionsReached:
    - test_lookup_dname
    - test_lookup_name
    - plan_lazy
    - test_tsig_hmac
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - algo
    - exp_min
    - exp_max
    - name
    argTypes:
    - dnssec_key_algorithm_t
    - unsigned
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: ok_range
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_algorithm.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: "void ok_range(dnssec_key_algorithm_t algo,\n\t\t     unsigned exp_min,
      unsigned exp_max,\n\t\t     const char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_algorithm_key_size_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:28,1
    - Dst: dnssec_algorithm_key_size_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:30,1
    - Dst: dnssec_algorithm_key_size_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: null_range
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_algorithm.c
    functionUses: 0
    functionsReached:
    - dnssec_algorithm_key_size_range
    - ok
    linkageType: ''
    returnType: void
    signature: void null_range(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:39,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:40,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:41,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:42,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:43,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:43,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:44,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: check_borders
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_algorithm.c
    functionUses: 0
    functionsReached:
    - dnssec_algorithm_key_size_check
    - ok
    linkageType: ''
    returnType: void
    signature: void check_borders(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:49,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:49,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:50,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:50,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:51,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:51,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:53,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: check_defaults
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_algorithm.c
    functionUses: 0
    functionsReached:
    - dnssec_algorithm_key_size_default
    - is_int
    linkageType: ''
    returnType: void
    signature: void check_defaults(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:59,1
    - Dst: ok_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:62,1
    - Dst: ok_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:63,1
    - Dst: ok_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:64,1
    - Dst: ok_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:66,1
    - Dst: null_range
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:68,1
    - Dst: check_borders
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:70,1
    - Dst: check_defaults
      Src: /src/knot-dns/tests/libdnssec/test_key_algorithm.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key_algorithm.c
    functionUses: 0
    functionsReached:
    - ok_range
    - null_range
    - plan_lazy
    - check_defaults
    - check_borders
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_keytag.c:15,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keytag.c:29,1
    - Dst: dnssec_keytag
      Src: /src/knot-dns/tests/libdnssec/test_keytag.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keytag.c:46,1
    - Dst: dnssec_keytag
      Src: /src/knot-dns/tests/libdnssec/test_keytag.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keytag.c
    functionUses: 0
    functionsReached:
    - dnssec_keytag
    - plan_lazy
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/libdnssec/test_random.c:18,1
    - Dst: memset
      Src: /src/knot-dns/tests/libdnssec/test_random.c:20,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_random.c:28,1
    - Dst: memmove
      Src: /src/knot-dns/tests/libdnssec/test_random.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 36
    functionName: check_buffer
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_random.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memmove
    - memset
    linkageType: ''
    returnType: int
    signature: int check_buffer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/tests/libdnssec/test_random.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: check_random_type
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_random.c
    functionUses: 0
    functionsReached:
    - dnssec_random_uint16_t
    linkageType: ''
    returnType: int
    signature: int check_random_type(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_random.c:59,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_random.c:61,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_random.c:65,1
    - Dst: check_buffer
      Src: /src/knot-dns/tests/libdnssec/test_random.c:65,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_random.c:66,1
    - Dst: check_random_type
      Src: /src/knot-dns/tests/libdnssec/test_random.c:66,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_random.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_random.c
    functionUses: 0
    functionsReached:
    - check_random_type
    - plan_lazy
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    - check_buffer
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:15,1
    - Dst: dnssec_keyid_is_valid
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - should_ok
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: test_keyid_is_valid_run
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - dnssec_keyid_is_valid
    - ok
    linkageType: ''
    returnType: void
    signature: void test_keyid_is_valid_run(const char *param, bool should_ok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:21,1
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:22,1
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:23,1
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:24,1
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:25,1
    - Dst: test_keyid_is_valid_run
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: test_keyid_is_valid
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - test_keyid_is_valid_run
    linkageType: ''
    returnType: void
    signature: void test_keyid_is_valid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keyid_normalize
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:35,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: test_keyid_normalize
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dnssec_keyid_normalize
    - ok
    linkageType: ''
    returnType: void
    signature: void test_keyid_normalize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:44,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:44,1
    - Dst: free
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: test_keyid_copy
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_keyid_copy(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:55,1
    - Dst: dnssec_keyid_equal
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:56,1
    - Dst: dnssec_keyid_equal
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:56,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:57,1
    - Dst: dnssec_keyid_equal
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:57,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:58,1
    - Dst: dnssec_keyid_equal
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: test_keyid_equal
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - dnssec_keyid_equal
    - ok
    linkageType: ''
    returnType: void
    signature: void test_keyid_equal(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:63,1
    - Dst: test_keyid_is_valid
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:65,1
    - Dst: test_keyid_normalize
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:66,1
    - Dst: test_keyid_copy
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:67,1
    - Dst: test_keyid_equal
      Src: /src/knot-dns/tests/libdnssec/test_keyid.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_keyid.c
    functionUses: 0
    functionsReached:
    - test_keyid_is_valid
    - test_keyid_equal
    - plan_lazy
    - test_keyid_normalize
    - test_keyid_copy
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:23,1
    - Dst: dnssec_nsec3_hash_length
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: test_length
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_hash.c
    functionUses: 1
    functionsReached:
    - dnssec_nsec3_hash_length
    - ok
    linkageType: ''
    returnType: void
    signature: void test_length(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:35,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:36,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:38,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:38,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: test_parsing
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dnssec_nsec3_params_free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_parsing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:69,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:70,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: test_hashing
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dnssec_binary_free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_hashing(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:84,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:84,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:89,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: test_clear
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dnssec_nsec3_params_free
    - ok
    linkageType: ''
    returnType: void
    signature: void test_clear(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:95,1
    - Dst: test_length
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:97,1
    - Dst: test_parsing
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:98,1
    - Dst: test_hashing
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:99,1
    - Dst: test_clear
      Src: /src/knot-dns/tests/libdnssec/test_nsec_hash.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_nsec_hash.c
    functionUses: 0
    functionsReached:
    - test_parsing
    - test_clear
    - plan_lazy
    - test_length
    - test_hashing
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - dnssec_key_t*
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: check_key_tag
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void check_key_tag(dnssec_key_t *key, const key_parameters_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:33,1
    - Dst: dnssec_key_get_size
      Src: /src/knot-dns/tests/libdnssec/test_key.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - dnssec_key_t*
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: check_key_size
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_size
    - ok
    linkageType: ''
    returnType: void
    signature: void check_key_size(dnssec_key_t *key, const key_parameters_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:39,1
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/tests/libdnssec/test_key.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:41,1
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/tests/libdnssec/test_key.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - ok_verify
    - ok_sign
    argTypes:
    - dnssec_key_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: check_usage
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - dnssec_key_can_sign
    - dnssec_key_can_verify
    - ok
    linkageType: ''
    returnType: void
    signature: void check_usage(dnssec_key_t *key, bool ok_verify, bool ok_sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:49,1
    - Dst: dnssec_key_set_pubkey
      Src: /src/knot-dns/tests/libdnssec/test_key.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:54,1
    - Dst: dnssec_key_set_pubkey
      Src: /src/knot-dns/tests/libdnssec/test_key.c:61,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:62,1
    - Dst: dnssec_key_set_pubkey
      Src: /src/knot-dns/tests/libdnssec/test_key.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:65,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:70,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/tests/libdnssec/test_key.c:70,1
    - Dst: check_key_tag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:73,1
    - Dst: dnssec_key_clear
      Src: /src/knot-dns/tests/libdnssec/test_key.c:77,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:79,1
    - Dst: check_key_tag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:81,1
    - Dst: check_key_size
      Src: /src/knot-dns/tests/libdnssec/test_key.c:82,1
    - Dst: check_usage
      Src: /src/knot-dns/tests/libdnssec/test_key.c:83,1
    - Dst: dnssec_key_dup
      Src: /src/knot-dns/tests/libdnssec/test_key.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:88,1
    - Dst: check_key_tag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:90,1
    - Dst: check_key_size
      Src: /src/knot-dns/tests/libdnssec/test_key.c:91,1
    - Dst: check_usage
      Src: /src/knot-dns/tests/libdnssec/test_key.c:92,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key.c:94,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - params
    argTypes:
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 96
    functionName: test_public_key
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_rdata
    - dnssec_key_set_rdata
    - check_key_size
    - dnssec_key_free
    - dnssec_key_dup
    - dnssec_key_clear
    - check_usage
    - dnssec_key_set_pubkey
    - check_key_tag
    - dnssec_binary_cmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_public_key(const key_parameters_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:102,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key.c:106,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:107,1
    - Dst: dnssec_key_load_pkcs8
      Src: /src/knot-dns/tests/libdnssec/test_key.c:109,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:112,1
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/tests/libdnssec/test_key.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:113,1
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/tests/libdnssec/test_key.c:113,1
    - Dst: dnssec_key_clear
      Src: /src/knot-dns/tests/libdnssec/test_key.c:117,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/tests/libdnssec/test_key.c:119,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/tests/libdnssec/test_key.c:120,1
    - Dst: dnssec_key_load_pkcs8
      Src: /src/knot-dns/tests/libdnssec/test_key.c:121,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:122,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/tests/libdnssec/test_key.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:126,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/tests/libdnssec/test_key.c:126,1
    - Dst: check_key_tag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:129,1
    - Dst: check_key_size
      Src: /src/knot-dns/tests/libdnssec/test_key.c:130,1
    - Dst: check_usage
      Src: /src/knot-dns/tests/libdnssec/test_key.c:131,1
    - Dst: dnssec_key_dup
      Src: /src/knot-dns/tests/libdnssec/test_key.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:136,1
    - Dst: check_key_tag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:138,1
    - Dst: check_key_size
      Src: /src/knot-dns/tests/libdnssec/test_key.c:139,1
    - Dst: check_usage
      Src: /src/knot-dns/tests/libdnssec/test_key.c:140,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key.c:142,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - params
    argTypes:
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 144
    functionName: test_private_key
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - dnssec_key_load_pkcs8
    - dnssec_key_set_rdata
    - dnssec_key_get_rdata
    - check_key_size
    - dnssec_key_set_algorithm
    - dnssec_key_set_flags
    - dnssec_key_free
    - dnssec_key_can_sign
    - dnssec_key_dup
    - dnssec_key_clear
    - dnssec_binary_cmp
    - check_usage
    - check_key_tag
    - dnssec_key_can_verify
    - ok
    linkageType: ''
    returnType: void
    signature: void test_private_key(const key_parameters_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/tests/libdnssec/test_key.c:149,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:155,1
    - Dst: dnssec_key_get_dname
      Src: /src/knot-dns/tests/libdnssec/test_key.c:155,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/tests/libdnssec/test_key.c:157,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:160,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libdnssec/test_key.c:160,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libdnssec/test_key.c:161,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/tests/libdnssec/test_key.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/libdnssec/test_key.c:165,1
    - Dst: dnssec_key_get_dname
      Src: /src/knot-dns/tests/libdnssec/test_key.c:165,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/tests/libdnssec/test_key.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: test_naming
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - strlen
    - dnssec_key_new
    - dnssec_key_free
    - memcmp
    - dnssec_key_get_dname
    - ok
    - dnssec_key_set_dname
    linkageType: ''
    returnType: void
    signature: void test_naming(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libdnssec/test_key.c:177,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/tests/libdnssec/test_key.c:179,1
    - Dst: diag
      Src: /src/knot-dns/tests/libdnssec/test_key.c:192,1
    - Dst: test_public_key
      Src: /src/knot-dns/tests/libdnssec/test_key.c:193,1
    - Dst: test_private_key
      Src: /src/knot-dns/tests/libdnssec/test_key.c:194,1
    - Dst: test_naming
      Src: /src/knot-dns/tests/libdnssec/test_key.c:197,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/tests/libdnssec/test_key.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libdnssec/test_key.c
    functionUses: 0
    functionsReached:
    - diag
    - test_private_key
    - plan_lazy
    - test_naming
    - test_public_key
    - dnssec_crypto_init
    - dnssec_crypto_cleanup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:25,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dname
    - dname_length
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: print_wire_dname
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_wire_dname(const uint8_t *dname, uint32_t dname_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:36,1
    - Dst: zs_strerror
      Src: /src/knot-dns/tests/libzscanner/processing.c:38,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:42,1
    - Dst: zs_strerror
      Src: /src/knot-dns/tests/libzscanner/processing.c:44,1
    - Dst: fflush
      Src: /src/knot-dns/tests/libzscanner/processing.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: debug_process_error
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - zs_strerror
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void debug_process_error(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libzscanner/processing.c:58,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libzscanner/processing.c:59,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:60,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:63,1
    - Dst: print_wire_dname
      Src: /src/knot-dns/tests/libzscanner/processing.c:67,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:69,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:74,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:76,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:78,1
    - Dst: fflush
      Src: /src/knot-dns/tests/libzscanner/processing.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: debug_process_record
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - knot_rrclass_to_string
    - printf
    - fflush
    - knot_rrtype_to_string
    - print_wire_dname
    linkageType: ''
    returnType: void
    signature: void debug_process_record(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:84,1
    - Dst: fflush
      Src: /src/knot-dns/tests/libzscanner/processing.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: debug_process_comment
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void debug_process_comment(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:92,1
    - Dst: zs_errorname
      Src: /src/knot-dns/tests/libzscanner/processing.c:92,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:94,1
    - Dst: zs_errorname
      Src: /src/knot-dns/tests/libzscanner/processing.c:94,1
    - Dst: fflush
      Src: /src/knot-dns/tests/libzscanner/processing.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: test_process_error
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - zs_errorname
    linkageType: ''
    returnType: void
    signature: void test_process_error(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:103,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:105,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:107,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:108,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:109,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:110,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:111,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:113,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:115,1
    - Dst: fflush
      Src: /src/knot-dns/tests/libzscanner/processing.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: test_process_record
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void test_process_record(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/knot-dns/tests/libzscanner/processing.c:128,1
    - Dst: tzset
      Src: /src/knot-dns/tests/libzscanner/processing.c:129,1
    - Dst: strptime
      Src: /src/knot-dns/tests/libzscanner/processing.c:132,1
    - Dst: mktime
      Src: /src/knot-dns/tests/libzscanner/processing.c:133,1
    - Dst: strftime
      Src: /src/knot-dns/tests/libzscanner/processing.c:141,1
    - Dst: gmtime_r
      Src: /src/knot-dns/tests/libzscanner/processing.c:142,1
    - Dst: date_to_timestamp
      Src: /src/knot-dns/tests/libzscanner/processing.c:146,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:151,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:160,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/processing.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 173
    functionName: test_date_to_timestamp
    functionSourceFile: /src/knot-dns/tests/libzscanner/processing.c
    functionUses: 0
    functionsReached:
    - putenv
    - date_to_timestamp
    - gmtime_r
    - mktime
    - strftime
    - tzset
    - printf
    - strptime
    linkageType: ''
    returnType: int
    signature: int test_date_to_timestamp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_date_to_timestamp
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: timestamp_worker
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 0
    functionsReached:
    - test_date_to_timestamp
    linkageType: ''
    returnType: void
    signature: void *timestamp_worker(void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: help
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:47,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:48,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:49,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:51,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:52,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: time_test
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int time_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_parse_record
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:66,1
    - Dst: zs_scanner_t*::process::record
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:70,1
    - Dst: zs_scanner_t*::process::error
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:75,1
    - Dst: include
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: state_parsing
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 0
    functionsReached:
    - zs_parse_record
    - include
    - zs_scanner_t*::process::error
    - zs_scanner_t*::process::record
    linkageType: ''
    returnType: int
    signature: int state_parsing(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:99,1
    - Dst: zs_init
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:100,1
    - Dst: zs_set_input_file
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:101,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:102,1
    - Dst: state_parsing
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:103,1
    - Dst: zs_scanner_t*::process::error
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:118,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:124,1
    - Dst: free
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 128
    functionName: include
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 1
    functionsReached:
    - zs_deinit
    - state_parsing
    - free
    - zs_set_processing
    - zs_set_input_file
    - zs_init
    - malloc
    - zs_scanner_t*::process::error
    linkageType: ''
    returnType: int
    signature: int include(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:146,1
    - Dst: atoi
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:149,1
    - Dst: atoi
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:152,1
    - Dst: help
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:161,1
    - Dst: help
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:164,1
    - Dst: time_test
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:170,1
    - Dst: help
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:175,1
    - Dst: malloc
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:183,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:185,1
    - Dst: zs_init
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:188,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:189,1
    - Dst: free
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:190,1
    - Dst: zs_set_input_file
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:193,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:194,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:195,1
    - Dst: free
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:196,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:207,1
    - Dst: zs_set_processing_comment
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:208,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:211,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:214,1
    - Dst: help
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:215,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:219,1
    - Dst: state_parsing
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:224,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:224,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:227,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:230,1
    - Dst: free
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:231,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:235,1
    - Dst: printf
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:239,1
    - Dst: zs_strerror
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:239,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:242,1
    - Dst: free
      Src: /src/knot-dns/tests/libzscanner/zscanner-tool.c:243,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 246
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libzscanner/zscanner-tool.c
    functionUses: 0
    functionsReached:
    - time_test
    - zs_deinit
    - getopt_long
    - state_parsing
    - free
    - zs_set_processing
    - atoi
    - zs_parse_all
    - zs_set_processing_comment
    - zs_set_input_file
    - zs_init
    - zs_strerror
    - printf
    - malloc
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:33,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - task_log_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: executed_reset
    functionSourceFile: /src/knot-dns/tests/knot/test_worker_pool.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: unsigned
    signature: unsigned executed_reset(task_log_t *log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:48,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - task
    argTypes:
    - worker_task_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: task_counting
    functionSourceFile: /src/knot-dns/tests/knot/test_worker_pool.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void task_counting(worker_task_t *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: interrupt_handle
    functionSourceFile: /src/knot-dns/tests/knot/test_worker_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_handle(int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:59,1
    - Dst: sigemptyset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:63,1
    - Dst: sigaction
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:65,1
    - Dst: worker_pool_create
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:70,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:83,1
    - Dst: sched_yield
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:87,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:87,1
    - Dst: worker_pool_start
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:91,1
    - Dst: worker_pool_wait
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:92,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:93,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:93,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:98,1
    - Dst: worker_pool_wait
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:101,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:102,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:102,1
    - Dst: worker_pool_suspend
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:106,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:109,1
    - Dst: sched_yield
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:113,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:113,1
    - Dst: worker_pool_resume
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:115,1
    - Dst: worker_pool_wait
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:116,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:117,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:117,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:121,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:123,1
    - Dst: sched_yield
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:125,1
    - Dst: worker_pool_clear
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:126,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:127,1
    - Dst: worker_pool_wait
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:129,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:130,1
    - Dst: executed_reset
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:130,1
    - Dst: worker_pool_stop
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:134,1
    - Dst: worker_pool_join
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:135,1
    - Dst: worker_pool_destroy
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:136,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/tests/knot/test_worker_pool.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_worker_pool.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - worker_pool_start
    - worker_pool_assign
    - executed_reset
    - worker_pool_destroy
    - worker_pool_stop
    - worker_pool_resume
    - ok
    - sigaction
    - pthread_mutex_lock
    - plan_lazy
    - worker_pool_join
    - sched_yield
    - sigemptyset
    - worker_pool_wait
    - pthread_mutex_destroy
    - worker_pool_create
    - worker_pool_clear
    - worker_pool_suspend
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:13,1
    - Dst: db_check_version
      Src: /src/knot-dns/tests/knot/test_confdb.c:13,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:15,1
    - Dst: conf_t*::api::count
      Src: /src/knot-dns/tests/knot/test_confdb.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - txn
    - count
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - int
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: check_db_content
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - db_check_version
    - conf_t*::api::count
    - ok
    linkageType: ''
    returnType: void
    signature: void check_db_content(conf_t *conf, knot_db_txn_t *txn, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:29,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:29,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_confdb.c:37,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/tests/knot/test_confdb.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:45,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:47,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:48,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - conf
    - txn
    - section_code
    - name
    - action
    - ret
    - ref_code
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - uint8_t
    - yp_name_t*
    - db_action_t
    - int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 54
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 54
    functionName: check_code
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - conf_t*::api::find
    - ok
    - memcpy
    - db_code
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_code(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tuint8_t
      section_code,\n\tconst yp_name_t *name,\n\tdb_action_t action,\n\tint ret,\n\tuint8_t
      ref_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:59,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:60,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:61,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:62,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:63,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:64,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:65,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:66,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:67,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:68,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:71,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:72,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:75,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:76,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:77,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:78,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:81,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:82,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:85,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:86,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:87,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:88,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:91,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:92,1
    - Dst: check_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:93,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: test_db_code
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - check_code
    - check_db_content
    linkageType: ''
    returnType: void
    signature: void test_db_code(conf_t *conf, knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:110,1
    - Dst: conf_db_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:119,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:119,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:122,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:122,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_confdb.c:130,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:135,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/tests/knot/test_confdb.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:136,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:137,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_confdb.c:137,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 11
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - ret
    - data
    - data_len
    - exp_data
    - exp_data_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 140
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 140
    functionName: check_set
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - conf_t*::api::find
    - memcmp
    - conf_db_set
    - memcpy
    - check_db_content
    - db_code
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_set(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst yp_name_t
      *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tint
      ret,\n\tconst uint8_t *data,\n\tsize_t data_len,\n\tconst uint8_t *exp_data,\n\tsize_t
      exp_data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:145,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:148,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:150,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:154,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:156,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:158,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:162,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:166,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:168,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:172,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:174,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:176,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:180,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:184,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:188,1
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: test_conf_db_set
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - check_set
    linkageType: ''
    returnType: void
    signature: void test_conf_db_set(conf_t *conf, knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:208,1
    - Dst: conf_db_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:208,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:216,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_confdb.c:216,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - ret
    - exp_data
    - exp_data_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 220
    functionName: check_get
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - memcmp
    - check_db_content
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_get(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst yp_name_t
      *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tint
      ret,\n\tconst uint8_t *exp_data,\n\tsize_t exp_data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:225,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:229,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:233,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:237,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:241,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:245,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:248,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:252,1
    - Dst: check_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 258
    functionName: test_conf_db_get
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - check_get
    linkageType: ''
    returnType: void
    signature: void test_conf_db_get(conf_t *conf, knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:273,1
    - Dst: conf_db_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:273,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:281,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:281,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:284,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:284,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_confdb.c:292,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/tests/knot/test_confdb.c:297,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:299,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:300,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:301,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_confdb.c:301,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:303,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 11
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - ret
    - data
    - data_len
    - exp_data
    - exp_data_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 307
    functionName: check_unset
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - conf_t*::api::find
    - ok
    - is_int
    - memcmp
    - memcpy
    - check_db_content
    - db_code
    - conf_db_unset
    linkageType: ''
    returnType: void
    signature: "void check_unset(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tint
      ret,\n\tconst uint8_t *data,\n\tsize_t data_len,\n\tconst uint8_t *exp_data,\n\tsize_t
      exp_data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:318,1
    - Dst: conf_db_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:318,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:326,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:328,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:330,1
    - Dst: db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:331,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:332,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - ret
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 336
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 336
    functionName: check_unset_key
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - ok
    - conf_db_unset
    - check_db_content
    - db_code
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_unset_key(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tint
      ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:341,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:345,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:349,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:353,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:357,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:361,1
    - Dst: check_unset_key
      Src: /src/knot-dns/tests/knot/test_confdb.c:364,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:367,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:369,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:371,1
    - Dst: check_unset_key
      Src: /src/knot-dns/tests/knot/test_confdb.c:374,1
    - Dst: check_unset_key
      Src: /src/knot-dns/tests/knot/test_confdb.c:376,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:379,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:383,1
    - Dst: check_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 389
    functionName: test_conf_db_unset
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - check_unset_key
    - check_unset
    linkageType: ''
    returnType: void
    signature: void test_conf_db_unset(conf_t *conf, knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:398,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_confdb.c:399,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:405,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/tests/knot/test_confdb.c:413,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:414,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:415,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_confdb.c:415,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:416,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_confdb.c:416,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:418,1
    - Dst: conf_db_iter_del
      Src: /src/knot-dns/tests/knot/test_confdb.c:418,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/tests/knot/test_confdb.c:421,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:423,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:424,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:427,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_confdb.c:428,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:431,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:431,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:434,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:434,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:437,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 438
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 438
    functionName: test_conf_db_iter
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - is_int
    - strlen
    - conf_db_iter_del
    - check_set
    - memcmp
    - conf_db_iter_next
    - conf_db_iter_id
    - conf_db_iter_begin
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_db_iter(conf_t *conf, knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_confdb.c:442,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:444,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:444,1
    - Dst: check_db_content
      Src: /src/knot-dns/tests/knot/test_confdb.c:445,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:445,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:445,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:448,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:448,1
    - Dst: txn_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:448,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:448,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confdb.c:450,1
    - Dst: test_db_code
      Src: /src/knot-dns/tests/knot/test_confdb.c:451,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:451,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:453,1
    - Dst: txn_abort
      Src: /src/knot-dns/tests/knot/test_confdb.c:453,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:455,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:455,1
    - Dst: txn_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:455,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:455,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confdb.c:457,1
    - Dst: test_conf_db_set
      Src: /src/knot-dns/tests/knot/test_confdb.c:458,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:458,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confdb.c:460,1
    - Dst: test_conf_db_get
      Src: /src/knot-dns/tests/knot/test_confdb.c:461,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:461,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confdb.c:463,1
    - Dst: test_conf_db_unset
      Src: /src/knot-dns/tests/knot/test_confdb.c:464,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:464,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:466,1
    - Dst: txn_abort
      Src: /src/knot-dns/tests/knot/test_confdb.c:466,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confdb.c:468,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:468,1
    - Dst: txn_begin
      Src: /src/knot-dns/tests/knot/test_confdb.c:468,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:468,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confdb.c:470,1
    - Dst: test_conf_db_iter
      Src: /src/knot-dns/tests/knot/test_confdb.c:471,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:471,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:473,1
    - Dst: txn_abort
      Src: /src/knot-dns/tests/knot/test_confdb.c:473,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_confdb.c:475,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confdb.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 478
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 478
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_confdb.c
    functionUses: 0
    functionsReached:
    - diag
    - test_conf_db_unset
    - test_conf_db_iter
    - conf
    - txn_abort
    - plan_lazy
    - test_conf_db_get
    - test_conf
    - txn_begin
    - conf_free
    - test_conf_db_set
    - test_db_code
    - check_db_content
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_new
      Src: /src/knot-dns/tests/knot/test_server.h:34,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/tests/knot/test_server.h:36,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_server.h:38,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_server.h:40,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/tests/knot/test_server.h:41,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_server.h:42,1
    - Dst: zone_adjust_full
      Src: /src/knot-dns/tests/knot/test_server.h:45,1
    - Dst: knot_zonedb_free
      Src: /src/knot-dns/tests/knot/test_server.h:48,1
    - Dst: knot_zonedb_new
      Src: /src/knot-dns/tests/knot/test_server.h:49,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/tests/knot/test_server.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - server
    - mm
    argTypes:
    - server_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 51
    functionName: create_root_zone
    functionSourceFile: /src/knot-dns/tests/knot/test_server.h
    functionUses: 0
    functionsReached:
    - zone_contents_new
    - zone_new
    - knot_zonedb_new
    - knot_rrset_free
    - knot_rrset_new
    - knot_zonedb_insert
    - node_add_rrset
    - zone_adjust_full
    - knot_rrset_add_rdata
    - knot_zonedb_free
    linkageType: ''
    returnType: void
    signature: void create_root_zone(server_t *server, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/tests/knot/test_server.h:61,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_server.h:74,1
    - Dst: server_init
      Src: /src/knot-dns/tests/knot/test_server.h:80,1
    - Dst: create_root_zone
      Src: /src/knot-dns/tests/knot/test_server.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - server
    - mm
    - db_storage
    argTypes:
    - server_t*
    - knot_mm_t*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 89
    functionName: create_fake_server
    functionSourceFile: /src/knot-dns/tests/knot/test_server.h
    functionUses: 0
    functionsReached:
    - create_root_zone
    - test_conf
    - snprintf
    - server_init
    linkageType: ''
    returnType: int
    signature: int create_fake_server(server_t *server, knot_mm_t *mm, const char
      *db_storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:18,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:19,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:20,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:21,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:26,1
    - Dst: memset
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: ztree_init_data
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-tree.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_dname_from_str_alloc
    - memset
    linkageType: ''
    returnType: void
    signature: void ztree_init_data(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ztree_free_data
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-tree.c
    functionUses: 0
    functionsReached:
    - knot_dname_free
    linkageType: ''
    returnType: void
    signature: void ztree_free_data(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:52,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:53,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: ztree_iter_data
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-tree.c
    functionUses: 0
    functionsReached:
    - free
    - diag
    linkageType: ''
    returnType: int
    signature: int ztree_iter_data(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ztree_node_counter
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ztree_node_counter(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:70,1
    - Dst: ztree_init_data
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:72,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:76,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:87,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:92,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:98,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:103,1
    - Dst: zone_tree_get_less_or_equal
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:104,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:106,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:111,1
    - Dst: zone_tree_sub_apply
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:116,1
    - Dst: zone_tree_sub_apply
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:118,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:119,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:121,1
    - Dst: ztree_free_data
      Src: /src/knot-dns/tests/knot/test_zone-tree.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 124
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-tree.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - zone_tree_free
    - zone_tree_insert
    - zone_tree_sub_apply
    - zone_tree_get
    - knot_dname_free
    - knot_dname_from_str_alloc
    - zone_tree_create
    - ztree_init_data
    - ztree_free_data
    - zone_tree_get_less_or_equal
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:50,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - key_params_t*
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: params_eq
    functionSourceFile: /src/knot-dns/tests/knot/test_kasp_db.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool params_eq(const key_params_t *a, const key_params_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:56,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:56,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:58,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:58,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:60,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:60,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:62,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:62,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: init_key_records
    functionSourceFile: /src/knot-dns/tests/knot/test_kasp_db.c
    functionUses: 0
    functionsReached:
    - knot_rrset_init
    - knot_dname_copy
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: void
    signature: void init_key_records(key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:69,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:78,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:81,1
    - Dst: kasp_db_add_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:83,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:84,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:86,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:87,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:88,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:88,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:90,1
    - Dst: params_eq
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:90,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:94,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:95,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:96,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:96,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:97,1
    - Dst: kasp_db_share_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:99,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:100,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:102,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:103,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:104,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:104,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:105,1
    - Dst: kasp_db_add_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:109,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:110,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:112,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:113,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:114,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:114,1
    - Dst: TAIL
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:116,1
    - Dst: params_eq
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:116,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:118,1
    - Dst: kasp_db_delete_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:122,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:123,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:125,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:126,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:127,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:127,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:128,1
    - Dst: kasp_db_store_nsec3salt
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:132,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:133,1
    - Dst: kasp_db_load_nsec3salt
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:134,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:135,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:136,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:137,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:137,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:138,1
    - Dst: kasp_db_store_nsec3salt
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:140,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:141,1
    - Dst: kasp_db_load_nsec3salt
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:142,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:143,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:144,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:145,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:146,1
    - Dst: kasp_db_delete_all
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:148,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:149,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:150,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:151,1
    - Dst: kasp_db_load_nsec3salt
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:152,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:153,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:154,1
    - Dst: kasp_db_store_serial
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:156,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:157,1
    - Dst: kasp_db_store_serial
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:158,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:159,1
    - Dst: kasp_db_load_serial
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:161,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:162,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:163,1
    - Dst: kasp_db_load_serial
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:164,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:165,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:166,1
    - Dst: kasp_db_add_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:168,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:169,1
    - Dst: kasp_db_add_key
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:171,1
    - Dst: kasp_db_set_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:173,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:174,1
    - Dst: kasp_db_get_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:177,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:178,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:179,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:179,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:180,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:181,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:182,1
    - Dst: kasp_db_set_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:183,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:184,1
    - Dst: kasp_db_get_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:185,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:186,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:187,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:187,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:188,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:189,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:190,1
    - Dst: kasp_db_set_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:191,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:192,1
    - Dst: kasp_db_get_policy_last
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:193,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:195,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:195,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:196,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:197,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:198,1
    - Dst: init_key_records
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:202,1
    - Dst: kasp_db_store_offline_records
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:203,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:204,1
    - Dst: kasp_db_load_offline_records
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:206,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:207,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:208,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:209,1
    - Dst: key_records_clear
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:210,1
    - Dst: kasp_db_delete_offline_records
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:211,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:212,1
    - Dst: kasp_db_load_offline_records
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:213,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:214,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:216,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:218,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_kasp_db.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 108
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 222
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 222
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_kasp_db.c
    functionUses: 0
    functionsReached:
    - key_records_clear
    - kasp_db_load_serial
    - TAIL
    - strcmp
    - knot_lmdb_init
    - kasp_db_load_offline_records
    - is_int
    - dnssec_binary_free
    - free
    - knot_dname_cmp
    - kasp_db_load_nsec3salt
    - dnssec_binary_cmp
    - kasp_db_list_keys
    - ok
    - kasp_db_store_offline_records
    - test_rm_rf
    - plan_lazy
    - kasp_db_add_key
    - kasp_db_set_policy_last
    - kasp_db_delete_all
    - HEAD
    - kasp_db_delete_offline_records
    - params_eq
    - kasp_db_store_nsec3salt
    - kasp_db_store_serial
    - knot_lmdb_deinit
    - kasp_db_get_policy_last
    - kasp_db_share_key
    - list_size
    - init_key_records
    - kasp_db_delete_key
    - ptrlist_deep_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: state_visit
    functionSourceFile: /src/knot-dns/tests/knot/test_query_module.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t state_visit(knotd_state_t state, knot_pkt_t *pkt, knotd_qdata_t
      *qdata,\n                          knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_query_module.c:26,1
    - Dst: query_plan_create
      Src: /src/knot-dns/tests/knot/test_query_module.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_query_module.c:33,1
    - Dst: query_plan_step
      Src: /src/knot-dns/tests/knot/test_query_module.c:41,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_query_module.c:46,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/tests/knot/test_query_module.c:52,1
    - Dst: struct query_step*::general_hook
      Src: /src/knot-dns/tests/knot/test_query_module.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_query_module.c:60,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_query_module.c:68,1
    - Dst: query_plan_free
      Src: /src/knot-dns/tests/knot/test_query_module.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_query_module.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - query_plan_step
    - plan_lazy
    - query_plan_free
    - struct query_step*::general_hook
    - query_plan_create
    - ok
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:25,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:27,1
    - Dst: dt_is_cancelled
      Src: /src/knot-dns/tests/knot/test_dthreads.c:30,1
    - Dst: sched_yield
      Src: /src/knot-dns/tests/knot/test_dthreads.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: runnable
    functionSourceFile: /src/knot-dns/tests/knot/test_dthreads.c
    functionUses: 0
    functionsReached:
    - sched_yield
    - dt_is_cancelled
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int runnable(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:48,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: destruct
    functionSourceFile: /src/knot-dns/tests/knot/test_dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int destruct(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: interrupt_handle
    functionSourceFile: /src/knot-dns/tests/knot/test_dthreads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_handle(int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_dthreads.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:66,1
    - Dst: sigemptyset
      Src: /src/knot-dns/tests/knot/test_dthreads.c:71,1
    - Dst: sigaction
      Src: /src/knot-dns/tests/knot/test_dthreads.c:73,1
    - Dst: srand
      Src: /src/knot-dns/tests/knot/test_dthreads.c:76,1
    - Dst: time
      Src: /src/knot-dns/tests/knot/test_dthreads.c:76,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/tests/knot/test_dthreads.c:77,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/tests/knot/test_dthreads.c:78,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/knot/test_dthreads.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:83,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/knot/test_dthreads.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:91,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/knot/test_dthreads.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:94,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/knot/test_dthreads.c:94,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_dthreads.c:98,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/knot/test_dthreads.c:101,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:102,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/knot/test_dthreads.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_dthreads.c:106,1
    - Dst: dt_activate
      Src: /src/knot-dns/tests/knot/test_dthreads.c:110,1
    - Dst: dt_cancel
      Src: /src/knot-dns/tests/knot/test_dthreads.c:111,1
    - Dst: dt_compact
      Src: /src/knot-dns/tests/knot/test_dthreads.c:112,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/knot/test_dthreads.c:113,1
    - Dst: dt_is_cancelled
      Src: /src/knot-dns/tests/knot/test_dthreads.c:114,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/knot/test_dthreads.c:115,1
    - Dst: dt_signalize
      Src: /src/knot-dns/tests/knot/test_dthreads.c:116,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/knot/test_dthreads.c:117,1
    - Dst: dt_stop
      Src: /src/knot-dns/tests/knot/test_dthreads.c:118,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:119,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/tests/knot/test_dthreads.c:120,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_dthreads.c:121,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/knot/test_dthreads.c:125,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/knot/test_dthreads.c:126,1
    - Dst: dt_stop
      Src: /src/knot-dns/tests/knot/test_dthreads.c:127,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/knot/test_dthreads.c:128,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_dthreads.c:129,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/knot/test_dthreads.c:130,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/tests/knot/test_dthreads.c:134,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/tests/knot/test_dthreads.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 137
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_dthreads.c
    functionUses: 0
    functionsReached:
    - dt_start
    - time
    - srand
    - dt_compact
    - dt_join
    - dt_is_cancelled
    - is_int
    - dt_delete
    - dt_stop
    - dt_activate
    - ok
    - sigaction
    - dt_cancel
    - dt_create
    - plan_lazy
    - dt_signalize
    - sigemptyset
    - pthread_mutex_init
    - dt_unit_unlock
    - dt_unit_lock
    - pthread_mutex_destroy
    - skip_block
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_zone-update.c:32,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/tests/knot/test_zone-update.c:36,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/tests/knot/test_zone-update.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: node_contains_rr
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - node_rdataset
    - knot_rdataset_member
    linkageType: ''
    returnType: bool
    signature: bool node_contains_rr(const zone_node_t *node, const knot_rrset_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_zone-update.c:50,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: process_rr
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - knot_rrset_init
    - assert
    linkageType: ''
    returnType: void
    signature: void process_rr(zs_scanner_t *scanner)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct rr_data*
    - struct rr_data*
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: rr_data_cmp
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rr_data_cmp(struct rr_data *a, struct rr_data *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:81,1
    - Dst: binode_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:83,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:88,1
    - Dst: rr_data_cmp
      Src: /src/knot-dns/tests/knot/test_zone-update.c:88,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - n1
    - v
    argTypes:
    - zone_node_t*
    - _unused_*
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: test_node_unified
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - rr_data_cmp
    - ok
    - binode_node
    linkageType: ''
    returnType: int
    signature: int test_node_unified(zone_node_t *n1, _unused_ void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_sem_wait
      Src: /src/knot-dns/tests/knot/test_zone-update.c:99,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/tests/knot/test_zone-update.c:100,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/tests/knot/test_zone-update.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - z
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: test_zone_unified
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - knot_sem_post
    - knot_sem_wait
    - zone_tree_apply
    linkageType: ''
    returnType: void
    signature: void test_zone_unified(zone_t *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:109,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:111,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:111,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:112,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:113,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:117,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:118,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:119,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:121,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:121,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:122,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:123,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:127,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:128,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:130,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/tests/knot/test_zone-update.c:133,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:134,1
    - Dst: node_contains_rr
      Src: /src/knot-dns/tests/knot/test_zone-update.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:136,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:139,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:140,1
    - Dst: node_contains_rr
      Src: /src/knot-dns/tests/knot/test_zone-update.c:141,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:142,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:144,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:147,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:147,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:148,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:149,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:151,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:152,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:153,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:155,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:155,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:156,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:157,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:159,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:160,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:161,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-update.c:162,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:163,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:164,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_zone-update.c:164,1
    - Dst: zone_update_remove_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:166,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:168,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:169,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:172,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:172,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:173,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:174,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:176,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:177,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:178,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/tests/knot/test_zone-update.c:181,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_zone-update.c:181,1
    - Dst: zone_contents_find_node_for_rr
      Src: /src/knot-dns/tests/knot/test_zone-update.c:182,1
    - Dst: node_contains_rr
      Src: /src/knot-dns/tests/knot/test_zone-update.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:184,1
    - Dst: test_zone_unified
      Src: /src/knot-dns/tests/knot/test_zone-update.c:186,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - zone
    - sc
    argTypes:
    - zone_t*
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 189
    functionName: test_full
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - conf
    - zone_update_add
    - zone_update_get_node
    - zone_contents_find_node_for_rr
    - is_int
    - node_contains_rr
    - zs_parse_all
    - zone_update_commit
    - knot_dname_from_str_alloc
    - ok
    - assert
    - strlen
    - zone_update_remove_node
    - knot_dname_free
    - zone_update_remove
    - knot_rdataset_clear
    - node_rdataset
    - test_zone_unified
    linkageType: ''
    returnType: void
    signature: void test_full(zone_t *zone, zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_init
      Src: /src/knot-dns/tests/knot/test_zone-update.c:197,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:198,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_zone-update.c:198,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:201,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:201,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:202,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:203,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:207,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:208,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:209,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:212,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_zone-update.c:212,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:215,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:215,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:216,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:217,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/tests/knot/test_zone-update.c:220,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:221,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:222,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:224,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_zone-update.c:224,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:228,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:228,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:229,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:230,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:232,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:233,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:234,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-update.c:236,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:237,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:238,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_zone-update.c:238,1
    - Dst: zone_update_remove_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:240,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/tests/knot/test_zone-update.c:241,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:242,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:244,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_zone-update.c:247,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_zone-update.c:247,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_zone-update.c:248,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:249,1
    - Dst: zone_update_add
      Src: /src/knot-dns/tests/knot/test_zone-update.c:251,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:252,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:253,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/tests/knot/test_zone-update.c:256,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_zone-update.c:256,1
    - Dst: zone_contents_find_node_for_rr
      Src: /src/knot-dns/tests/knot/test_zone-update.c:257,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:259,1
    - Dst: test_zone_unified
      Src: /src/knot-dns/tests/knot/test_zone-update.c:261,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_zone-update.c:263,1
    - Dst: zone_adjust_full
      Src: /src/knot-dns/tests/knot/test_zone-update.c:267,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:268,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:271,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - zone
    - sc
    argTypes:
    - zone_t*
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 274
    functionName: test_incremental
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - conf
    - zone_update_add
    - changeset_empty
    - zone_update_get_node
    - zone_contents_find_node_for_rr
    - is_int
    - zs_parse_all
    - zone_update_init
    - zone_update_commit
    - knot_dname_from_str_alloc
    - ok
    - assert
    - strlen
    - zone_update_remove_node
    - knot_dname_free
    - zone_update_remove
    - knot_rdataset_clear
    - node_rdataset
    - test_zone_unified
    - zone_adjust_full
    linkageType: ''
    returnType: void
    signature: void test_incremental(zone_t *zone, zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zone-update.c:278,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone-update.c:281,1
    - Dst: snprintf
      Src: /src/knot-dns/tests/knot/test_zone-update.c:284,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:294,1
    - Dst: server_init
      Src: /src/knot-dns/tests/knot/test_zone-update.c:297,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone-update.c:298,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zone-update.c:301,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:302,1
    - Dst: zone_new
      Src: /src/knot-dns/tests/knot/test_zone-update.c:303,1
    - Dst: zs_init
      Src: /src/knot-dns/tests/knot/test_zone-update.c:308,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/tests/knot/test_zone-update.c:309,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone-update.c:310,1
    - Dst: test_full
      Src: /src/knot-dns/tests/knot/test_zone-update.c:314,1
    - Dst: test_incremental
      Src: /src/knot-dns/tests/knot/test_zone-update.c:315,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/knot/test_zone-update.c:317,1
    - Dst: zone_free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:318,1
    - Dst: server_deinit
      Src: /src/knot-dns/tests/knot/test_zone-update.c:319,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:320,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:321,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_zone-update.c:321,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/knot/test_zone-update.c:322,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_zone-update.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 326
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 326
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zone-update.c
    functionUses: 0
    functionsReached:
    - server_init
    - conf
    - snprintf
    - zs_init
    - is_int
    - zone_new
    - test_incremental
    - test_full
    - free
    - knot_dname_from_str_alloc
    - ok
    - assert
    - zs_deinit
    - test_rm_rf
    - zone_free
    - zs_set_processing
    - plan_lazy
    - server_deinit
    - knot_dname_free
    - conf_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: reset
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reset(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/knot-dns/tests/knot/test_requestor.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - module_param
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: begin
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 2
    functionsReached:
    - reset
    linkageType: ''
    returnType: int
    signature: int begin(knot_layer_t *ctx, void *module_param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/knot-dns/tests/knot/test_requestor.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: finish
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: int
    signature: int finish(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: in
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int in(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: out
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int out(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/knot-dns/tests/knot/test_requestor.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: set_blocking_mode
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: void
    signature: void set_blocking_mode(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_blocking_mode
      Src: /src/knot-dns/tests/knot/test_requestor.c:51,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_requestor.c:60,1
    - Dst: knot_wire_set_qr
      Src: /src/knot-dns/tests/knot/test_requestor.c:63,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/tests/knot/test_requestor.c:64,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_requestor.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: responder_thread
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - net_dns_tcp_send
    - close
    - set_blocking_mode
    - knot_wire_set_qr
    linkageType: ''
    returnType: void
    signature: void *responder_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/knot/test_requestor.c:77,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_requestor.c:78,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_requestor.c:80,1
    - Dst: knot_request_make_generic
      Src: /src/knot-dns/tests/knot/test_requestor.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - requestor
    - dst
    - src
    argTypes:
    - knot_requestor_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: make_query
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - knot_pkt_new
    - assert
    - knot_request_make_generic
    - knot_pkt_put_question
    linkageType: ''
    returnType: knot_request_t
    signature: "knot_request_t *make_query(knot_requestor_t *requestor,\n                                  const
      struct sockaddr_storage *dst,\n                                  const struct
      sockaddr_storage *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_query
      Src: /src/knot-dns/tests/knot/test_requestor.c:92,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_requestor.c:96,1
    - Dst: knot_request_free
      Src: /src/knot-dns/tests/knot/test_requestor.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - requestor
    - dst
    - src
    argTypes:
    - knot_requestor_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: test_disconnected
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - make_query
    - is_int
    linkageType: ''
    returnType: void
    signature: "void test_disconnected(knot_requestor_t *requestor,\n                              const
      struct sockaddr_storage *dst,\n                              const struct sockaddr_storage
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_query
      Src: /src/knot-dns/tests/knot/test_requestor.c:106,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_requestor.c:108,1
    - Dst: knot_request_free
      Src: /src/knot-dns/tests/knot/test_requestor.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - requestor
    - dst
    - src
    argTypes:
    - knot_requestor_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: test_connected
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - make_query
    - is_int
    linkageType: ''
    returnType: void
    signature: "void test_connected(knot_requestor_t *requestor,\n                           const
      struct sockaddr_storage *dst,\n                           const struct sockaddr_storage
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/tests/knot/test_requestor.c:115,1
    - Dst: fclose
      Src: /src/knot-dns/tests/knot/test_requestor.c:118,1
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_requestor.c:126,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/tests/knot/test_requestor.c:129,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/tests/knot/test_requestor.c:133,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_requestor.c:137,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_requestor.c:139,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_requestor.c:143,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/tests/knot/test_requestor.c:144,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_requestor.c:146,1
    - Dst: test_disconnected
      Src: /src/knot-dns/tests/knot/test_requestor.c:149,1
    - Dst: listen
      Src: /src/knot-dns/tests/knot/test_requestor.c:152,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_requestor.c:153,1
    - Dst: net_bound_tfo
      Src: /src/knot-dns/tests/knot/test_requestor.c:156,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_requestor.c:157,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/knot/test_requestor.c:161,1
    - Dst: test_connected
      Src: /src/knot-dns/tests/knot/test_requestor.c:164,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_requestor.c:168,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/tests/knot/test_requestor.c:169,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_requestor.c:170,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/knot/test_requestor.c:171,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_requestor.c:172,1
    - Dst: mp_delete
      Src: /src/knot-dns/tests/knot/test_requestor.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 178
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_requestor.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - assert
    - mm_ctx_mempool
    - test_disconnected
    - pthread_join
    - mp_delete
    - plan_lazy
    - pthread_create
    - knot_requestor_init
    - test_connected
    - close
    - listen
    - net_dns_tcp_send
    - sockaddr_set
    - net_bound_tfo
    - sockaddr_len
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/knot/test_confio.c:28,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: format_key
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - sprintf_alloc
    - yp_item_to_txt
    linkageType: ''
    returnType: char
    signature: char *format_key(conf_io_t *io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/tests/knot/test_confio.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - item
    - bin
    - bin_len
    - out
    - out_len
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: append_data
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - strlcat
    linkageType: ''
    returnType: int
    signature: "int append_data(const yp_item_t *item, const uint8_t *bin, size_t
      bin_len,\n                       char *out, size_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_data
      Src: /src/knot-dns/tests/knot/test_confio.c:78,1
    - Dst: strdup
      Src: /src/knot-dns/tests/knot/test_confio.c:83,1
    - Dst: append_data
      Src: /src/knot-dns/tests/knot/test_confio.c:95,1
    - Dst: conf_val_next
      Src: /src/knot-dns/tests/knot/test_confio.c:106,1
    - Dst: strlcat
      Src: /src/knot-dns/tests/knot/test_confio.c:111,1
    - Dst: conf_val
      Src: /src/knot-dns/tests/knot/test_confio.c:116,1
    - Dst: append_data
      Src: /src/knot-dns/tests/knot/test_confio.c:117,1
    - Dst: conf_val_next
      Src: /src/knot-dns/tests/knot/test_confio.c:122,1
    - Dst: conf_val
      Src: /src/knot-dns/tests/knot/test_confio.c:126,1
    - Dst: append_data
      Src: /src/knot-dns/tests/knot/test_confio.c:127,1
    - Dst: strdup
      Src: /src/knot-dns/tests/knot/test_confio.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: format_data
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlcat
    - conf_val
    - append_data
    - conf_val_next
    linkageType: ''
    returnType: char
    signature: char *format_data(conf_io_t *io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_confio.c:151,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_confio.c:152,1
    - Dst: strlcat
      Src: /src/knot-dns/tests/knot/test_confio.c:158,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_confio.c:159,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_confio.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: format_item
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - free
    - strlcat
    linkageType: ''
    returnType: int
    signature: int format_item(conf_io_t *io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:170,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:171,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:171,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:176,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:177,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:177,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:177,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:179,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:179,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:180,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:180,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:180,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:183,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:184,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:184,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:184,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:186,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:186,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:187,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:187,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:187,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:190,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:191,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: test_conf_io_begin
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_io_begin
    - conf_io_abort
    - conf
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_begin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:203,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:204,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:210,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:211,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:211,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:217,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:218,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:218,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:219,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:221,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:224,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:225,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:225,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:228,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:228,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:229,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:229,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:230,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:230,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:231,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:231,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:233,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:233,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:234,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:234,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:234,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:235,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:237,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:237,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:238,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:239,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:239,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:239,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:240,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:241,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:244,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:244,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:244,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 247
    functionName: test_conf_io_abort
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_io_set
    - conf_io_begin
    - conf
    - conf_io_abort
    - strcmp
    - conf_io_commit
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_abort(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:251,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:251,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:252,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:252,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:260,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:260,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:261,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:261,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:267,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:267,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:268,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:268,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:274,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:274,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:275,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:275,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:275,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:276,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:278,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:281,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:281,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:282,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:282,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:285,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:285,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:286,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:286,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:286,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:287,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:290,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:290,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:291,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:294,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:294,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:294,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 297
    functionName: test_conf_io_commit
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_io_set
    - conf_io_begin
    - conf
    - strcmp
    - conf_io_abort
    - conf_io_commit
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_commit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:304,1
    - Dst: conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:304,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:307,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:307,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:310,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:310,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:312,1
    - Dst: conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:312,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:314,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:316,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:316,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:318,1
    - Dst: conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:318,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:320,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:323,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:323,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:325,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:325,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:328,1
    - Dst: conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:328,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:331,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:331,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:334,1
    - Dst: conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:334,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:336,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 339
    functionName: test_conf_io_check
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_io_set
    - conf_io_check
    - conf_io_begin
    - conf_io_abort
    - conf_io_unset
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:344,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:344,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:347,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:347,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:350,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:350,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:352,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:352,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:354,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:354,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:356,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:356,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:358,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:358,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:360,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:360,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:364,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:364,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:368,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:368,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:371,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:371,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:374,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:374,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:378,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:378,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:380,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:380,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:380,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:381,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:382,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:382,1
    - Dst: conf_str
      Src: /src/knot-dns/tests/knot/test_confio.c:382,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:385,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:385,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:387,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:387,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:389,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:389,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:389,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:390,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:391,1
    - Dst: conf_val_count
      Src: /src/knot-dns/tests/knot/test_confio.c:391,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:394,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:395,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:396,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:397,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:398,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:399,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:402,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:402,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:406,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:406,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:408,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:408,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:412,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:412,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:414,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:414,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:414,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:415,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:416,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:416,1
    - Dst: conf_str
      Src: /src/knot-dns/tests/knot/test_confio.c:416,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:419,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:419,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:423,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:423,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:425,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:425,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:425,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:426,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:427,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:427,1
    - Dst: conf_str
      Src: /src/knot-dns/tests/knot/test_confio.c:427,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:428,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:428,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:428,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:429,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:430,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:430,1
    - Dst: conf_str
      Src: /src/knot-dns/tests/knot/test_confio.c:430,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:433,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:433,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:435,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:435,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:437,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:437,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:437,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:438,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:439,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:439,1
    - Dst: conf_str
      Src: /src/knot-dns/tests/knot/test_confio.c:439,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:441,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:442,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:443,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:445,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:445,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:448,1
    - Dst: conf_refresh_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:448,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 449
    functionName: test_conf_io_set
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_zone_get_txn
    - conf_io_set
    - conf_io_begin
    - conf
    - conf_refresh_txn
    - conf_val_count
    - knot_dname_free
    - strcmp
    - knot_dname_from_str_alloc
    - conf_str
    - conf_io_commit
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_set(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:454,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:454,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:457,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:457,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:460,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:460,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:462,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:462,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:464,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:464,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:466,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:466,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:468,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:468,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:472,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:472,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:474,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:474,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:474,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:475,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:477,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:477,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:479,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:479,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:479,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:480,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:482,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:482,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:484,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:484,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:484,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:485,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:488,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:489,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:489,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:491,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:491,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:493,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:493,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:493,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:494,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:497,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:497,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:499,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:499,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:499,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:500,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:502,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:502,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:504,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:504,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:504,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:505,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:506,1
    - Dst: conf_val_count
      Src: /src/knot-dns/tests/knot/test_confio.c:506,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:508,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:508,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:510,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:510,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:510,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:511,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:514,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:515,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:515,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:518,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:518,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:520,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:520,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:520,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:521,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:522,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:522,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:522,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:523,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:526,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:527,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:527,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:530,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:531,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:532,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:533,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:534,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:535,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:538,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:538,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:540,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:540,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:540,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:541,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:544,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:544,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:546,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:546,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:546,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:547,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:548,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:548,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:548,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:549,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:550,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:550,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:550,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:551,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:554,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:555,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:555,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:558,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:558,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:560,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:560,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:560,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:561,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:562,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:562,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:562,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:563,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:564,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:564,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:564,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:565,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:568,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:569,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:569,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:572,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:572,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:574,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:574,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:574,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:575,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:576,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:576,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:576,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:577,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:578,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:578,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:578,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:579,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:582,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:583,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:583,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:586,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:586,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:588,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:588,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:588,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:589,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:590,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:590,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:590,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:591,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:592,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:592,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:592,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:593,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:596,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:597,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:597,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:600,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:600,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:602,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:602,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:602,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:603,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:604,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:604,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:604,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:605,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:606,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:606,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:606,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:607,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:610,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:611,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:611,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:614,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:614,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:616,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:616,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:616,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:617,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:618,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:618,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:618,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:619,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:620,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:620,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:620,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:621,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:622,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:622,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:622,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:623,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/tests/knot/test_confio.c:624,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:624,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:624,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:625,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:627,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:628,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:629,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 632
    functionName: test_conf_io_unset
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_zone_get_txn
    - conf
    - conf_io_begin
    - knot_dname_free
    - conf_io_abort
    - knot_dname_from_str_alloc
    - conf_val_count
    - conf_io_unset
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_unset(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:645,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:645,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:650,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:650,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:653,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:653,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:655,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:655,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:658,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:658,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:660,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:660,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:662,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:662,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:664,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:664,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:668,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:668,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:673,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:673,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:676,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:676,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:680,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:680,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:683,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:683,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:687,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:687,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:690,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:690,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:694,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:694,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:698,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:698,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_confio.c:701,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:702,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:706,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:706,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:715,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:715,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:719,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:719,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:724,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:724,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:728,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:728,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:733,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:733,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:737,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:737,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:740,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:740,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:744,1
    - Dst: conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:744,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:755,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:755,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_confio.c:757,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 760
    functionName: test_conf_io_get
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_io_set
    - conf_io_get
    - conf_io_begin
    - knot_dname_free
    - strcmp
    - knot_dname_from_str_alloc
    - conf_io_abort
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_get(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:773,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:773,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:776,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:776,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:779,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:779,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:781,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:781,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:783,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:783,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:785,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:785,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:789,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:789,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:791,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:791,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:794,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:794,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:798,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:798,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:801,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:801,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:804,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:804,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:806,1
    - Dst: conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:806,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:810,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:810,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:813,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:813,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:816,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:816,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:820,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:820,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:822,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:822,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:825,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:825,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:827,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:827,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:831,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:831,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:834,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:834,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:837,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:837,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:840,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:840,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:843,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:843,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:854,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:854,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 857
    functionName: test_conf_io_diff
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_io_set
    - conf_io_begin
    - conf_io_diff
    - strcmp
    - conf_io_abort
    - conf_io_unset
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_diff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:870,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:870,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:872,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:872,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:874,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:874,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:876,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:876,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:881,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:881,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:890,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:890,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:894,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:894,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:918,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:918,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:922,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:922,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:926,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:926,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:930,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:930,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:935,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:935,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:939,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:939,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:944,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:944,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:948,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:948,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:951,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:951,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:955,1
    - Dst: conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:955,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:958,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_confio.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 959
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 959
    functionName: test_conf_io_list
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - conf_io_list
    - strcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_conf_io_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_confio.c:1059,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_confio.c:1061,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_confio.c:1061,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1063,1
    - Dst: test_conf_io_begin
      Src: /src/knot-dns/tests/knot/test_confio.c:1064,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1066,1
    - Dst: test_conf_io_abort
      Src: /src/knot-dns/tests/knot/test_confio.c:1067,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1069,1
    - Dst: test_conf_io_commit
      Src: /src/knot-dns/tests/knot/test_confio.c:1070,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1072,1
    - Dst: test_conf_io_check
      Src: /src/knot-dns/tests/knot/test_confio.c:1073,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1075,1
    - Dst: test_conf_io_set
      Src: /src/knot-dns/tests/knot/test_confio.c:1076,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1078,1
    - Dst: test_conf_io_unset
      Src: /src/knot-dns/tests/knot/test_confio.c:1079,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1081,1
    - Dst: test_conf_io_get
      Src: /src/knot-dns/tests/knot/test_confio.c:1082,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1084,1
    - Dst: test_conf_io_diff
      Src: /src/knot-dns/tests/knot/test_confio.c:1085,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_confio.c:1087,1
    - Dst: test_conf_io_list
      Src: /src/knot-dns/tests/knot/test_confio.c:1088,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_confio.c:1090,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_confio.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1093
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1093
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_confio.c
    functionUses: 0
    functionsReached:
    - diag
    - test_conf_io_get
    - test_conf_io_abort
    - conf
    - plan_lazy
    - test_conf_io_begin
    - test_conf_io_set
    - test_conf
    - test_conf_io_diff
    - test_conf_io_list
    - test_conf_io_unset
    - conf_free
    - test_conf_io_check
    - test_conf_io_commit
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/tests/knot/test_zone_events.c:15,1
    - Dst: zone_events_get_next
      Src: /src/knot-dns/tests/knot/test_zone_events.c:21,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:22,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/tests/knot/test_zone_events.c:26,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/tests/knot/test_zone_events.c:27,1
    - Dst: zone_events_get_time
      Src: /src/knot-dns/tests/knot/test_zone_events.c:30,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:34,1
    - Dst: zone_events_get_next
      Src: /src/knot-dns/tests/knot/test_zone_events.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:41,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/tests/knot/test_zone_events.c:43,1
    - Dst: zone_events_get_next
      Src: /src/knot-dns/tests/knot/test_zone_events.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:46,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/tests/knot/test_zone_events.c:48,1
    - Dst: zone_events_get_next
      Src: /src/knot-dns/tests/knot/test_zone_events.c:50,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 57
    functionName: test_scheduling
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_events.c
    functionUses: 0
    functionsReached:
    - time
    - zone_events_get_next
    - zone_events_get_time
    - zone_events_schedule_at
    - ok
    linkageType: ''
    returnType: void
    signature: void test_scheduling(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zone_events.c:61,1
    - Dst: evsched_init
      Src: /src/knot-dns/tests/knot/test_zone_events.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:70,1
    - Dst: worker_pool_create
      Src: /src/knot-dns/tests/knot/test_zone_events.c:72,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:73,1
    - Dst: zone_events_init
      Src: /src/knot-dns/tests/knot/test_zone_events.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:76,1
    - Dst: zone_events_setup
      Src: /src/knot-dns/tests/knot/test_zone_events.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_events.c:79,1
    - Dst: test_scheduling
      Src: /src/knot-dns/tests/knot/test_zone_events.c:81,1
    - Dst: zone_events_deinit
      Src: /src/knot-dns/tests/knot/test_zone_events.c:83,1
    - Dst: worker_pool_destroy
      Src: /src/knot-dns/tests/knot/test_zone_events.c:84,1
    - Dst: evsched_deinit
      Src: /src/knot-dns/tests/knot/test_zone_events.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_events.c
    functionUses: 0
    functionsReached:
    - zone_events_deinit
    - evsched_deinit
    - worker_pool_destroy
    - zone_events_init
    - zone_events_setup
    - plan_lazy
    - worker_pool_create
    - test_scheduling
    - evsched_init
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_unreachable.c:18,1
    - Dst: knot_unreachables_init
      Src: /src/knot-dns/tests/knot/test_unreachable.c:20,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:21,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_unreachable.c:24,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_unreachable.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:32,1
    - Dst: knot_unreachable_is
      Src: /src/knot-dns/tests/knot/test_unreachable.c:32,1
    - Dst: knot_unreachable_add
      Src: /src/knot-dns/tests/knot/test_unreachable.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:34,1
    - Dst: knot_unreachable_is
      Src: /src/knot-dns/tests/knot/test_unreachable.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:35,1
    - Dst: knot_unreachable_is
      Src: /src/knot-dns/tests/knot/test_unreachable.c:35,1
    - Dst: usleep
      Src: /src/knot-dns/tests/knot/test_unreachable.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:39,1
    - Dst: knot_unreachable_is
      Src: /src/knot-dns/tests/knot/test_unreachable.c:39,1
    - Dst: knot_unreachables_deinit
      Src: /src/knot-dns/tests/knot/test_unreachable.c:44,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_unreachable.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_unreachable.c
    functionUses: 0
    functionsReached:
    - knot_unreachables_deinit
    - plan_lazy
    - knot_unreachables_init
    - knot_unreachable_add
    - usleep
    - sockaddr_set
    - ok
    - knot_unreachable_is
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:42,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 2
    argNames:
    - val
    - ref
    argTypes:
    - zone_timers_t*
    - zone_timers_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: timers_eq
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_timers.c
    functionUses: 0
    functionsReached:
    - sockaddr_cmp
    linkageType: ''
    returnType: bool
    signature: bool timers_eq(const zone_timers_t *val, const zone_timers_t *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - data
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: keep_all
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_timers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool keep_all(const knot_dname_t *zone, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - data
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: remove_all
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_timers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool remove_all(const knot_dname_t *zone, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:61,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:62,1
    - Dst: knot_db_lmdb_api
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:62,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:76,1
    - Dst: zone_timers_read
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:79,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:80,1
    - Dst: zone_timers_write
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:83,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:84,1
    - Dst: memset
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:87,1
    - Dst: zone_timers_read
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:88,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:90,1
    - Dst: timers_eq
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:90,1
    - Dst: zone_timers_sweep
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:93,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:94,1
    - Dst: zone_timers_read
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:95,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:96,1
    - Dst: zone_timers_sweep
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:99,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:100,1
    - Dst: zone_timers_read
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:101,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:102,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:105,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:106,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_zone_timers.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_timers.c
    functionUses: 0
    functionsReached:
    - assert
    - is_int
    - test_rm_rf
    - zone_timers_sweep
    - knot_db_lmdb_api
    - zone_timers_write
    - zone_timers_read
    - plan_lazy
    - free
    - memset
    - timers_eq
    - knot_lmdb_init
    - knot_lmdb_deinit
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_changeset.c:16,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:19,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_changeset.c:19,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:20,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:20,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:23,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:24,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_changeset.c:25,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:31,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:33,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:35,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_changeset.c:35,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:38,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:39,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_changeset.c:40,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:41,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_changeset.c:43,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:47,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_changeset.c:47,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_changeset.c:48,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:49,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:50,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_changeset.c:50,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:51,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:51,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_changeset.c:52,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_changeset.c:55,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:56,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_changeset.c:57,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_changeset.c:58,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:59,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:62,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:63,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:64,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_changeset.c:65,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:66,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_changeset.c:67,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_changeset.c:68,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:69,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/tests/knot/test_changeset.c:73,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:74,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:76,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:78,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_changeset.c:79,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:80,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_changeset.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:83,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:85,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_changeset.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:87,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:87,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_changeset.c:89,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_changeset.c:90,1
    - Dst: changeset_iter_rem
      Src: /src/knot-dns/tests/knot/test_changeset.c:93,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:94,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:95,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:96,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_changeset.c:96,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_changeset.c:98,1
    - Dst: changeset_iter_all
      Src: /src/knot-dns/tests/knot/test_changeset.c:101,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_changeset.c:102,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:104,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:105,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_changeset.c:107,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_changeset.c:109,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:110,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:113,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:114,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:115,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_changeset.c:116,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:117,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:118,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:120,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:121,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:122,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_changeset.c:123,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:124,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:127,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_changeset.c:129,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:130,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_changeset.c:131,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_changeset.c:132,1
    - Dst: changeset_merge
      Src: /src/knot-dns/tests/knot/test_changeset.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:136,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_changeset.c:136,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_changeset.c:139,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:140,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:140,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_changeset.c:141,1
    - Dst: init_list
      Src: /src/knot-dns/tests/knot/test_changeset.c:144,1
    - Dst: add_head
      Src: /src/knot-dns/tests/knot/test_changeset.c:145,1
    - Dst: changesets_clear
      Src: /src/knot-dns/tests/knot/test_changeset.c:146,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_changeset.c:147,1
    - Dst: changeset_empty
      Src: /src/knot-dns/tests/knot/test_changeset.c:147,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_changeset.c:148,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:150,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:151,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_changeset.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 155
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_changeset.c
    functionUses: 0
    functionsReached:
    - changeset_add_addition
    - knot_rrset_empty
    - knot_rrset_free
    - add_head
    - changeset_empty
    - changeset_clear
    - changeset_iter_next
    - init_list
    - changeset_iter_clear
    - is_int
    - changeset_iter_add
    - knot_rrset_new
    - free
    - knot_dname_from_str_alloc
    - changeset_merge
    - ok
    - assert
    - changeset_new
    - changeset_add_removal
    - plan_lazy
    - knot_dname_free
    - changeset_size
    - changeset_iter_all
    - knot_rrset_equal
    - changesets_clear
    - knot_rrset_add_rdata
    - changeset_iter_rem
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:26,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:27,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:29,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:29,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:30,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:32,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:33,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:34,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 35
    functionName: mod_id_test
    functionSourceFile: /src/knot-dns/tests/knot/test_conf_tools.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void mod_id_test(const char *txt, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:46,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:47,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:47,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - code
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: mod_id_bad_test
    functionSourceFile: /src/knot-dns/tests/knot/test_conf_tools.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void mod_id_bad_test(const char *txt, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:53,1
    - Dst: mod_id_test
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:56,1
    - Dst: mod_id_test
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:57,1
    - Dst: mod_id_bad_test
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:58,1
    - Dst: mod_id_bad_test
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:59,1
    - Dst: mod_id_bad_test
      Src: /src/knot-dns/tests/knot/test_conf_tools.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_conf_tools.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - mod_id_bad_test
    - mod_id_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:21,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:24,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:26,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:26,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:27,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - zone
    - name
    - ref
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: check_name
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - free
    - knot_dname_free
    - strcmp
    - knot_dname_from_str_alloc
    - ok
    linkageType: ''
    returnType: void
    signature: void check_name(const char *zone, const char *name, const char *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:35,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:38,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:39,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: check_name_err
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - free
    - knot_dname_free
    - knot_dname_from_str_alloc
    - ok
    linkageType: ''
    returnType: void
    signature: void check_name_err(const char *zone, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:47,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:51,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:54,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:58,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:59,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:60,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:61,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:62,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:63,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:64,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:65,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:66,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:67,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:68,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:69,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:70,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:71,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:72,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:73,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:74,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:75,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:76,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:77,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:78,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:79,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:80,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:81,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:84,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:85,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:86,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:89,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:90,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:94,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:95,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:96,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:97,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:98,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:99,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:100,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:101,1
    - Dst: check_name_err
      Src: /src/knot-dns/tests/knot/test_conf.c:102,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:105,1
    - Dst: check_name
      Src: /src/knot-dns/tests/knot/test_conf.c:106,1
    - Dst: test_conf_free
      Src: /src/knot-dns/tests/knot/test_conf.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 109
    functionName: test_get_filename
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - check_name_err
    - check_name
    - test_conf_free
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_get_filename(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:116,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:117,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:118,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:119,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:121,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:122,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:123,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_conf.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:125,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_conf.c:141,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:142,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:145,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:145,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:146,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:148,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:148,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:150,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:154,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:154,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:155,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:157,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:157,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:159,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:163,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:163,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:166,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:166,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:168,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:172,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:172,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:173,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:175,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:175,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:177,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:181,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:181,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_conf.c:184,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_conf.c:184,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_conf.c:186,1
    - Dst: test_conf_free
      Src: /src/knot-dns/tests/knot/test_conf.c:189,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:190,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:191,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:192,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:193,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_conf.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 195
    functionName: test_conf_zonefile
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - test_conf_free
    - free
    - conf
    - conf_zonefile
    - test_conf
    - knot_dname_free
    - knot_dname_from_str_alloc
    - strcmp
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_conf_zonefile(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:224,1
    - Dst: conf_rawid_get
      Src: /src/knot-dns/tests/knot/test_conf.c:227,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:227,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/tests/knot/test_conf.c:229,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:229,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/tests/knot/test_conf.c:232,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:234,1
    - Dst: conf_rawid_get
      Src: /src/knot-dns/tests/knot/test_conf.c:237,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:237,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/tests/knot/test_conf.c:239,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:239,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/tests/knot/test_conf.c:242,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:244,1
    - Dst: test_conf_free
      Src: /src/knot-dns/tests/knot/test_conf.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 247
    functionName: test_mix_ref
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - test_conf_free
    - conf
    - conf_rawid_get
    - conf_mix_iter_init
    - conf_mix_iter_next
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_mix_ref(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:256,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:257,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_conf.c:260,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/tests/knot/test_conf.c:261,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:262,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:263,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - addr
    - via
    - family
    - addr_str
    - via_str
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: check_addrs
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - sockaddr_cmp
    - sockaddr_set
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_addrs(struct sockaddr_storage *addr, struct sockaddr_storage
      *via,\n                        int family, const char *addr_str, const char
      *via_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_conf.c:286,1
    - Dst: conf_rawid_get
      Src: /src/knot-dns/tests/knot/test_conf.c:291,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:291,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:292,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:292,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:293,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:294,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:294,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:295,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:296,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:296,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:297,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:298,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:298,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:299,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:300,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:300,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:301,1
    - Dst: conf_rawid_get
      Src: /src/knot-dns/tests/knot/test_conf.c:303,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:303,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:304,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:304,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:305,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:306,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:306,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:307,1
    - Dst: conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:308,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_conf.c:308,1
    - Dst: check_addrs
      Src: /src/knot-dns/tests/knot/test_conf.c:309,1
    - Dst: test_conf_free
      Src: /src/knot-dns/tests/knot/test_conf.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 312
    functionName: test_conf_remote
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - is_int
    - test_conf_free
    - conf
    - conf_rawid_get
    - check_addrs
    - conf_remote
    linkageType: ''
    returnType: void
    signature: void test_conf_remote(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_conf.c:316,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf.c:318,1
    - Dst: test_get_filename
      Src: /src/knot-dns/tests/knot/test_conf.c:319,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf.c:321,1
    - Dst: test_conf_zonefile
      Src: /src/knot-dns/tests/knot/test_conf.c:322,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf.c:324,1
    - Dst: test_mix_ref
      Src: /src/knot-dns/tests/knot/test_conf.c:325,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_conf.c:327,1
    - Dst: test_conf_remote
      Src: /src/knot-dns/tests/knot/test_conf.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.c
    functionUses: 0
    functionsReached:
    - diag
    - test_get_filename
    - plan_lazy
    - test_conf_remote
    - test_conf_zonefile
    - test_mix_ref
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_node.c:14,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:15,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_node.c:17,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_node.c:17,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - owner
    - type
    argTypes:
    - knot_dname_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: create_dummy_rrset
    functionSourceFile: /src/knot-dns/tests/knot/test_node.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_rrset_new
    - assert
    - strlen
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t *create_dummy_rrset(const knot_dname_t *owner, uint16_t
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_node.c:26,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:28,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/tests/knot/test_node.c:30,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - owner
    - type
    argTypes:
    - knot_dname_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: create_dummy_rrsig
    functionSourceFile: /src/knot-dns/tests/knot/test_node.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - assert
    - knot_wire_write_u16
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t *create_dummy_rrsig(const knot_dname_t *owner, uint16_t
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_node.c:39,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_node.c:41,1
    - Dst: node_new
      Src: /src/knot-dns/tests/knot/test_node.c:43,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:44,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:46,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/knot/test_node.c:46,1
    - Dst: create_dummy_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:49,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:51,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/knot/test_node.c:52,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:56,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_node.c:56,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_node.c:59,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:61,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:62,1
    - Dst: node_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:65,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_node.c:65,1
    - Dst: node_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:67,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_node.c:67,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_node.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:70,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/knot/test_node.c:70,1
    - Dst: node_rdataset
      Src: /src/knot-dns/tests/knot/test_node.c:72,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:73,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/tests/knot/test_node.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:76,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_node.c:76,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/tests/knot/test_node.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:79,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_node.c:79,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:83,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:84,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_node.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:90,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/tests/knot/test_node.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:91,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/tests/knot/test_node.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:92,1
    - Dst: node_rrtype_is_signed
      Src: /src/knot-dns/tests/knot/test_node.c:92,1
    - Dst: create_dummy_rrsig
      Src: /src/knot-dns/tests/knot/test_node.c:94,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/tests/knot/test_node.c:95,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_node.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:98,1
    - Dst: node_rrtype_is_signed
      Src: /src/knot-dns/tests/knot/test_node.c:98,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_node.c:100,1
    - Dst: node_remove_rdataset
      Src: /src/knot-dns/tests/knot/test_node.c:103,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:104,1
    - Dst: node_remove_rdataset
      Src: /src/knot-dns/tests/knot/test_node.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:106,1
    - Dst: node_free_rrsets
      Src: /src/knot-dns/tests/knot/test_node.c:109,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_node.c:110,1
    - Dst: node_free
      Src: /src/knot-dns/tests/knot/test_node.c:112,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_node.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 117
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_node.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_rrset_empty
    - node_rrset_at
    - node_rrset
    - create_dummy_rrset
    - node_free
    - node_add_rrset
    - knot_dname_from_str_alloc
    - ok
    - assert
    - node_create_rrset
    - plan_lazy
    - node_rrtype_exists
    - node_free_rrsets
    - knot_dname_free
    - knot_dname_is_equal
    - knot_rdataset_eq
    - node_rdataset
    - node_rrtype_is_signed
    - create_dummy_rrsig
    - knot_rrset_equal
    - node_remove_rdataset
    - node_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:24,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:26,1
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/tests/knot/test_process_query.c:26,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_process_query.c:27,1
    - Dst: knot_wire_get_rcode
      Src: /src/knot-dns/tests/knot/test_process_query.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_process_query.c:28,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/tests/knot/test_process_query.c:28,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/tests/knot/test_process_query.c:28,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/knot/test_process_query.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - query
    - answer
    - answer_len
    - expected_rcode
    - name
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint16_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: answer_sanity_check
    functionSourceFile: /src/knot-dns/tests/knot/test_process_query.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_rcode
    - knot_wire_get_qr
    - knot_wire_get_id
    - skip_block
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: "void answer_sanity_check(const uint8_t *query,\n                                const
      uint8_t *answer, uint16_t answer_len,\n                                uint8_t
      expected_rcode, const char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/knot/test_process_query.c:39,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_process_query.c:40,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/tests/knot/test_process_query.c:43,1
    - Dst: knot_layer_consume
      Src: /src/knot-dns/tests/knot/test_process_query.c:44,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:46,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/tests/knot/test_process_query.c:50,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/tests/knot/test_process_query.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:56,1
    - Dst: answer_sanity_check
      Src: /src/knot-dns/tests/knot/test_process_query.c:59,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/knot/test_process_query.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - layer
    - name
    - query
    - expected_rcode
    argTypes:
    - knot_layer_t*
    - char*
    - knot_pkt_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: exec_query
    functionSourceFile: /src/knot-dns/tests/knot/test_process_query.c
    functionUses: 0
    functionsReached:
    - knot_layer_consume
    - assert
    - knot_pkt_parse
    - knot_pkt_new
    - knot_layer_produce
    - knot_pkt_free
    - answer_sanity_check
    - ok
    linkageType: ''
    returnType: void
    signature: "void exec_query(knot_layer_t *layer, const char *name,\n                       knot_pkt_t
      *query,\n                       uint8_t expected_rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_process_query.c:71,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/tests/knot/test_process_query.c:74,1
    - Dst: memset
      Src: /src/knot-dns/tests/knot/test_process_query.c:78,1
    - Dst: knot_layer_init
      Src: /src/knot-dns/tests/knot/test_process_query.c:79,1
    - Dst: process_query_layer
      Src: /src/knot-dns/tests/knot/test_process_query.c:79,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:83,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_process_query.c:88,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/tests/knot/test_process_query.c:93,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/knot/test_process_query.c:96,1
    - Dst: memset
      Src: /src/knot-dns/tests/knot/test_process_query.c:100,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/knot/test_process_query.c:101,1
    - Dst: knot_layer_begin
      Src: /src/knot-dns/tests/knot/test_process_query.c:109,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/tests/knot/test_process_query.c:110,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_process_query.c:111,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:112,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:115,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/tests/knot/test_process_query.c:116,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_process_query.c:117,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:118,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:121,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:123,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:127,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:130,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:134,1
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/tests/knot/test_process_query.c:135,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:136,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:139,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/tests/knot/test_process_query.c:140,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_process_query.c:141,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:142,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:145,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/tests/knot/test_process_query.c:146,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_process_query.c:147,1
    - Dst: node_rrset
      Src: /src/knot-dns/tests/knot/test_process_query.c:149,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/tests/knot/test_process_query.c:150,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/tests/knot/test_process_query.c:151,1
    - Dst: exec_query
      Src: /src/knot-dns/tests/knot/test_process_query.c:152,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:160,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/tests/knot/test_process_query.c:161,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/knot/test_process_query.c:162,1
    - Dst: knot_layer_consume
      Src: /src/knot-dns/tests/knot/test_process_query.c:165,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:166,1
    - Dst: knot_layer_reset
      Src: /src/knot-dns/tests/knot/test_process_query.c:170,1
    - Dst: knot_wire_set_qr
      Src: /src/knot-dns/tests/knot/test_process_query.c:171,1
    - Dst: knot_layer_consume
      Src: /src/knot-dns/tests/knot/test_process_query.c:172,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:173,1
    - Dst: knot_layer_finish
      Src: /src/knot-dns/tests/knot/test_process_query.c:176,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_process_query.c:177,1
    - Dst: mp_delete
      Src: /src/knot-dns/tests/knot/test_process_query.c:181,1
    - Dst: server_deinit
      Src: /src/knot-dns/tests/knot/test_process_query.c:182,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_process_query.c:183,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_process_query.c:183,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/knot/test_process_query.c:184,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_process_query.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 188
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_process_query.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_qr
    - conf
    - node_rrset
    - knot_pkt_begin
    - knot_pkt_put
    - is_int
    - knot_layer_consume
    - knot_layer_reset
    - exec_query
    - knot_layer_init
    - knot_pkt_put_question
    - free
    - knot_layer_finish
    - memset
    - ok
    - mp_delete
    - test_rm_rf
    - knot_layer_begin
    - plan_lazy
    - knot_zonedb_find
    - server_deinit
    - knot_wire_set_opcode
    - process_query_layer
    - mm_ctx_mempool
    - knot_pkt_clear
    - knot_pkt_new
    - conf_free
    - sockaddr_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_digest.c:23,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_digest.c:30,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_digest.c:34,1
    - Dst: knot_rrset_rr_to_canonical
      Src: /src/knot-dns/tests/knot/test_digest.c:39,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_digest.c:41,1
    - Dst: zcreator_step
      Src: /src/knot-dns/tests/knot/test_digest.c:46,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_digest.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 48
    functionName: process_data
    functionSourceFile: /src/knot-dns/tests/knot/test_digest.c
    functionUses: 0
    functionsReached:
    - knot_dname_copy
    - knot_rrset_rr_to_canonical
    - knot_rrset_init
    - knot_rrset_clear
    - zcreator_step
    linkageType: ''
    returnType: void
    signature: void process_data(zs_scanner_t *scanner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_digest.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: process_error
    functionSourceFile: /src/knot-dns/tests/knot/test_digest.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void process_error(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/tests/knot/test_digest.c:59,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_digest.c:61,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_digest.c:62,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/tests/knot/test_digest.c:64,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_digest.c:65,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_digest.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_digest.c:71,1
    - Dst: zs_init
      Src: /src/knot-dns/tests/knot/test_digest.c:71,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests/knot/test_digest.c:72,1
    - Dst: strlen
      Src: /src/knot-dns/tests/knot/test_digest.c:72,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/tests/knot/test_digest.c:73,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests/knot/test_digest.c:74,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests/knot/test_digest.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - zone_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: str2contents
    functionSourceFile: /src/knot-dns/tests/knot/test_digest.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - assert
    - zs_deinit
    - strlen
    - zs_set_processing
    - sscanf
    - zs_parse_all
    - knot_dname_free
    - knot_dname_from_str_alloc
    - zs_init
    - zone_contents_new
    - ok
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *str2contents(const char *zone_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str2contents
      Src: /src/knot-dns/tests/knot/test_digest.c:82,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/tests/knot/test_digest.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: check_contents
    functionSourceFile: /src/knot-dns/tests/knot/test_digest.c
    functionUses: 0
    functionsReached:
    - str2contents
    - zone_contents_deep_free
    linkageType: ''
    returnType: int
    signature: int check_contents(const char *zone_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_digest.c:432,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:435,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:437,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:438,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:440,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:441,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:443,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:444,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:446,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:447,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:449,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:450,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:452,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:453,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:456,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:457,1
    - Dst: check_contents
      Src: /src/knot-dns/tests/knot/test_digest.c:459,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_digest.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 463
      start: 430
    functionDepth: 4
    functionLinenumber: 430
    functionLinenumberEnd: 463
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_digest.c
    functionUses: 0
    functionsReached:
    - check_contents
    - plan_lazy
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_import
      Src: /src/knot-dns/tests/knot/test_conf.h:25,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_conf.h:27,1
    - Dst: conf_update
      Src: /src/knot-dns/tests/knot/test_conf.h:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - conf_str
    - schema
    argTypes:
    - char*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 34
    functionName: test_conf
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.h
    functionUses: 4
    functionsReached:
    - conf_update
    - conf_import
    - conf_free
    linkageType: ''
    returnType: int
    signature: int test_conf(const char *conf_str, const yp_item_t *schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_update
      Src: /src/knot-dns/tests/knot/test_conf.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: test_conf_free
    functionSourceFile: /src/knot-dns/tests/knot/test_conf.h
    functionUses: 4
    functionsReached:
    - conf_update
    linkageType: ''
    returnType: void
    signature: void test_conf_free(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/tests/knot/test_journal.c:39,1
    - Dst: mdb_stat
      Src: /src/knot-dns/tests/knot/test_journal.c:41,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/tests/knot/test_journal.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: lmdb_page_size
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - mdb_stat
    - knot_lmdb_abort
    linkageType: ''
    returnType: unsigned
    signature: unsigned lmdb_page_size(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/tests/knot/test_journal.c:50,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:57,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:58,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_journal.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - zonefile_sync
    - journal_usage
    - apex
    argTypes:
    - int
    - size_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: set_conf
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - test_conf
    - assert
    - snprintf
    - conf
    linkageType: ''
    returnType: void
    signature: void set_conf(int zonefile_sync, size_t journal_usage, const knot_dname_t
      *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_update
      Src: /src/knot-dns/tests/knot/test_journal.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: unset_conf
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - conf_update
    linkageType: ''
    returnType: void
    signature: void unset_conf(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/knot-dns/tests/knot/test_journal.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: randstr
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int randstr(char* dst, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:81,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:81,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_journal.c:84,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/tests/knot/test_journal.c:85,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rr
    - serial
    - apex
    argTypes:
    - knot_rrset_t*
    - uint32_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: init_soa
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_copy
    - knot_rrset_init
    - knot_rrset_add_rdata
    - knot_soa_serial_set
    linkageType: ''
    returnType: void
    signature: void init_soa(knot_rrset_t *rr, const uint32_t serial, const knot_dname_t
      *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randstr
      Src: /src/knot-dns/tests/knot/test_journal.c:95,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_journal.c:98,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/tests/knot/test_journal.c:98,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:99,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:99,1
    - Dst: randstr
      Src: /src/knot-dns/tests/knot/test_journal.c:105,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_journal.c:107,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rr
    - apex
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: init_random_rr
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - randstr
    - knot_dname_size
    - knot_dname_copy
    - memcpy
    - knot_rrset_init
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: void
    signature: void init_random_rr(knot_rrset_t *rr , const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/tests/knot/test_journal.c:120,1
    - Dst: init_soa
      Src: /src/knot-dns/tests/knot/test_journal.c:123,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:124,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:125,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:126,1
    - Dst: init_soa
      Src: /src/knot-dns/tests/knot/test_journal.c:129,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:130,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:131,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:132,1
    - Dst: init_random_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:137,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:138,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:139,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:140,1
    - Dst: init_random_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:146,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_journal.c:147,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:148,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - ch
    - from
    - to
    - size
    - apex
    - is_bootstrap
    argTypes:
    - changeset_t*
    - uint32_t
    - uint32_t
    - size_t
    - knot_dname_t*
    - bool
    constantsTouched: []
    func_position:
      end: 151
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 151
    functionName: init_random_changeset
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - changeset_add_addition
    - knot_rrset_copy
    - changeset_add_removal
    - zone_contents_deep_free
    - init_random_rr
    - init_soa
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: "void init_random_changeset(changeset_t *ch, const uint32_t from, const
      uint32_t to,\n                                  const size_t size, const knot_dname_t
      *apex, bool is_bootstrap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_soa
      Src: /src/knot-dns/tests/knot/test_journal.c:158,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:159,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:160,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:161,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:162,1
    - Dst: init_soa
      Src: /src/knot-dns/tests/knot/test_journal.c:164,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:165,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/knot/test_journal.c:166,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:167,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - ch
    - from
    - to
    - apex
    argTypes:
    - changeset_t*
    - uint32_t
    - uint32_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: changeset_set_soa_serials
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_free
    - knot_rrset_copy
    - init_soa
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: "void changeset_set_soa_serials(changeset_t *ch, uint32_t from, uint32_t
      to,\n\t\t\t\t      const knot_dname_t *apex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_journal.c:176,1
    - Dst: changeset_size
      Src: /src/knot-dns/tests/knot/test_journal.c:176,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/tests/knot/test_journal.c:188,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/tests/knot/test_journal.c:189,1
    - Dst: changeset_iter_all
      Src: /src/knot-dns/tests/knot/test_journal.c:191,1
    - Dst: changeset_iter_all
      Src: /src/knot-dns/tests/knot/test_journal.c:192,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_journal.c:195,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_journal.c:196,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_journal.c:198,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/knot/test_journal.c:199,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_journal.c:203,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_journal.c:204,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:207,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - ch1
    - ch2
    argTypes:
    - changeset_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 211
    functionName: changesets_eq
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - changeset_iter_all
    - changeset_iter_add
    - knot_rrset_equal
    - changeset_iter_next
    - changeset_size
    - changeset_iter_clear
    linkageType: ''
    returnType: bool
    signature: bool changesets_eq(const changeset_t *ch1, changeset_t *ch2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:216,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/tests/knot/test_journal.c:217,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - list_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: changesets_list_eq
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - HEAD
    - changesets_eq
    linkageType: ''
    returnType: bool
    signature: bool changesets_list_eq(list_t *l1, list_t *l2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/tests/knot/test_journal.c:243,1
    - Dst: TAIL
      Src: /src/knot-dns/tests/knot/test_journal.c:244,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/tests/knot/test_journal.c:249,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/tests/knot/test_journal.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - l
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: test_continuity
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_soa_serial
    - WALK_LIST
    - TAIL
    linkageType: ''
    returnType: bool
    signature: bool test_continuity(list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_env_flags
      Src: /src/knot-dns/tests/knot/test_journal.c:261,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/tests/knot/test_journal.c:262,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:265,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:265,1
    - Dst: knot_lmdb_reconfigure
      Src: /src/knot-dns/tests/knot/test_journal.c:267,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:268,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:268,1
    - Dst: knot_lmdb_reconfigure
      Src: /src/knot-dns/tests/knot/test_journal.c:270,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:271,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:271,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/tests/knot/test_journal.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: test_journal_db
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - journal_env_flags
    - knot_lmdb_reconfigure
    - knot_lmdb_init
    - knot_lmdb_deinit
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_journal_db(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/tests/knot/test_journal.c:280,1
    - Dst: calloc
      Src: /src/knot-dns/tests/knot/test_journal.c:283,1
    - Dst: journal_read_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:284,1
    - Dst: add_tail
      Src: /src/knot-dns/tests/knot/test_journal.c:285,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_journal.c:287,1
    - Dst: journal_read_get_error
      Src: /src/knot-dns/tests/knot/test_journal.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - zj
    - zij
    - serial
    - read
    - list
    argTypes:
    - zone_journal_t*
    - bool
    - uint32_t
    - journal_read_t**
    - list_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: load_j_list
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - journal_read_changeset
    - calloc
    - free
    - journal_read_get_error
    - add_tail
    - init_list
    linkageType: ''
    returnType: int
    signature: "int load_j_list(zone_journal_t *zj, bool zij, uint32_t serial,\n                       journal_read_t
      **read, list_t *list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:296,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/tests/knot/test_journal.c:298,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:299,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/tests/knot/test_journal.c:299,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:305,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:306,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:308,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:308,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:309,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:310,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:310,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:313,1
    - Dst: changeset_from
      Src: /src/knot-dns/tests/knot/test_journal.c:313,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:314,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:314,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:315,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:315,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:316,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:316,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:316,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:317,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:319,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/tests/knot/test_journal.c:320,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:321,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:321,1
    - Dst: init_list
      Src: /src/knot-dns/tests/knot/test_journal.c:323,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:326,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:327,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:328,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:330,1
    - Dst: add_tail
      Src: /src/knot-dns/tests/knot/test_journal.c:333,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:335,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:337,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:338,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:338,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:340,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:341,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:341,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:342,1
    - Dst: changesets_list_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:342,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:343,1
    - Dst: test_continuity
      Src: /src/knot-dns/tests/knot/test_journal.c:343,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:344,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:345,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:347,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:348,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:348,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:349,1
    - Dst: changesets_list_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:349,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:350,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:351,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/tests/knot/test_journal.c:353,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:354,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:354,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:355,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:356,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:356,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:358,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:359,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:359,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:360,1
    - Dst: changesets_list_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:360,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:361,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:362,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:364,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:367,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:368,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:369,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:370,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:371,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:372,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:373,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:373,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:374,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:375,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:375,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:376,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:376,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:377,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:377,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:377,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:378,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:379,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:381,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:383,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:384,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:385,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:386,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:386,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:387,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:388,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:388,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:389,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:390,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:390,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:391,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:391,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:392,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:393,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:401,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:402,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:403,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:404,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:405,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:405,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:406,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:407,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:407,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/tests/knot/test_journal.c:409,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:410,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:410,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:411,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:412,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:412,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:413,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:414,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:414,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/tests/knot/test_journal.c:415,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:416,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/tests/knot/test_journal.c:417,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:418,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:419,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:420,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:420,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:421,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:421,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:422,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:422,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:422,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:423,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:424,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:425,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:426,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:428,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:429,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:431,1
    - Dst: journal_insert_zone
      Src: /src/knot-dns/tests/knot/test_journal.c:432,1
    - Dst: zone_contents_remove_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:433,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:434,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:434,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:435,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:436,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:437,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:438,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:438,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:439,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:440,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:440,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:441,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:441,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:442,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:442,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:442,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:443,1
    - Dst: changesets_eq
      Src: /src/knot-dns/tests/knot/test_journal.c:443,1
    - Dst: TAIL
      Src: /src/knot-dns/tests/knot/test_journal.c:443,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:444,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:445,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:446,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:447,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/tests/knot/test_journal.c:449,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:450,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:450,1
    - Dst: unset_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 126
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 453
    functionName: test_store_load
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - TAIL
    - changeset_clear
    - add_tail
    - changeset_init
    - set_conf
    - load_j_list
    - journal_sem_check
    - init_list
    - knot_lmdb_init
    - is_int
    - zone_contents_add_rr
    - journal_insert_zone
    - knot_strerror
    - journal_set_flushed
    - changesets_eq
    - changesets_list_eq
    - journal_read_begin
    - ok
    - assert
    - changeset_new
    - init_random_changeset
    - journal_insert
    - test_continuity
    - HEAD
    - changeset_from
    - journal_scrape_with_md
    - list_size
    - changesets_free
    - changeset_free
    - journal_read_end
    - unset_conf
    - zone_contents_remove_rr
    - knot_lmdb_open
    linkageType: ''
    returnType: void
    signature: void test_store_load(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:457,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_journal.c:459,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:460,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:461,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:463,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:465,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:466,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:468,1
    - Dst: journal_insert_zone
      Src: /src/knot-dns/tests/knot/test_journal.c:469,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:470,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:472,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:473,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:474,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:475,1
    - Dst: init_list
      Src: /src/knot-dns/tests/knot/test_journal.c:479,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:480,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:481,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:482,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:483,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:484,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:485,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:485,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:486,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:486,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:487,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:488,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:490,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:491,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:492,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:493,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:494,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:495,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:495,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:496,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:496,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:497,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:498,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:500,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:501,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:502,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:503,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:505,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:506,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:507,1
    - Dst: journal_insert_zone
      Src: /src/knot-dns/tests/knot/test_journal.c:508,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:509,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:511,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:512,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:513,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:514,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:515,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:516,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:517,1
    - Dst: unset_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 2
    argNames:
    - zone1
    - zone2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 520
    functionName: test_size_control
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - zone_contents_add_rr
    - init_random_changeset
    - changeset_new
    - journal_insert_zone
    - knot_strerror
    - conf
    - list_size
    - changesets_free
    - changeset_free
    - journal_insert
    - journal_read_end
    - unset_conf
    - set_conf
    - load_j_list
    - init_list
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_size_control(const knot_dname_t *zone1, const knot_dname_t
      *zone2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:529,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_journal.c:530,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_journal.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - owner
    - rdata
    argTypes:
    - knot_dname_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: tm_rrset
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - free
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t * tm_rrset(knot_dname_t * owner, const uint8_t * rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/knot/test_journal.c:540,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_journal.c:542,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/knot/test_journal.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - prefix
    - apex
    argTypes:
    - char*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: tm_owner
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *tm_owner(const char *prefix, const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/tests/knot/test_journal.c:550,1
    - Dst: tm_owner
      Src: /src/knot-dns/tests/knot/test_journal.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - apex
    argTypes:
    - int
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: tm_owner_int
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tm_owner
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *tm_owner_int(int x, const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:561,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:562,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:563,1
    - Dst: tm_rrset
      Src: /src/knot-dns/tests/knot/test_journal.c:568,1
    - Dst: tm_owner
      Src: /src/knot-dns/tests/knot/test_journal.c:568,1
    - Dst: tm_rrset
      Src: /src/knot-dns/tests/knot/test_journal.c:569,1
    - Dst: tm_owner
      Src: /src/knot-dns/tests/knot/test_journal.c:569,1
    - Dst: tm_rrset
      Src: /src/knot-dns/tests/knot/test_journal.c:570,1
    - Dst: tm_owner
      Src: /src/knot-dns/tests/knot/test_journal.c:570,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - apex
    - x
    argTypes:
    - knot_dname_t*
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 577
    functionName: tm_rrs
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - tm_rrset
    - assert
    - knot_rrset_free
    - tm_owner
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t * tm_rrs(const knot_dname_t * apex, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:583,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:588,1
    - Dst: tm_rrset
      Src: /src/knot-dns/tests/knot/test_journal.c:595,1
    - Dst: tm_owner_int
      Src: /src/knot-dns/tests/knot/test_journal.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - apex
    - x
    argTypes:
    - knot_dname_t*
    - int
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: tm_rrs_int
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - tm_rrset
    - tm_owner_int
    - assert
    - knot_rrset_free
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t *tm_rrs_int(const knot_dname_t *apex, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_add
      Src: /src/knot-dns/tests/knot/test_journal.c:604,1
    - Dst: changeset_iter_rem
      Src: /src/knot-dns/tests/knot/test_journal.c:605,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/tests/knot/test_journal.c:608,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/knot/test_journal.c:608,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ch
    - flg
    argTypes:
    - changeset_t*
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: tm_rrcnt
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - changeset_iter_add
    - changeset_iter_rem
    - changeset_iter_next
    - changeset_iter_clear
    linkageType: ''
    returnType: int
    signature: int tm_rrcnt(const changeset_t * ch, int flg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:624,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:625,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:626,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:632,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:633,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:634,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:634,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:635,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:635,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:638,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:639,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_journal.c:640,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:640,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:641,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:641,1
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:644,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:645,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/tests/knot/test_journal.c:646,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:646,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:647,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:647,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:649,1
    - Dst: changeset_set_soa_serials
      Src: /src/knot-dns/tests/knot/test_journal.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - apex
    - x
    argTypes:
    - knot_dname_t*
    - int
    constantsTouched: []
    func_position:
      end: 659
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 659
    functionName: tm_chs
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - changeset_add_addition
    - changeset_new
    - changeset_add_removal
    - changeset_free
    - changeset_set_soa_serials
    - tm_rrs
    linkageType: ''
    returnType: changeset_t
    signature: changeset_t * tm_chs(const knot_dname_t * apex, int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:663,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:666,1
    - Dst: tm_rrs_int
      Src: /src/knot-dns/tests/knot/test_journal.c:666,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - toadd
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 669
    functionName: tm2_add_all
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_contents_add_rr
    - tm_rrs_int
    linkageType: ''
    returnType: void
    signature: void tm2_add_all(zone_contents_t *toadd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/tests/knot/test_journal.c:673,1
    - Dst: init_soa
      Src: /src/knot-dns/tests/knot/test_journal.c:677,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/tests/knot/test_journal.c:678,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:679,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:680,1
    - Dst: tm2_add_all
      Src: /src/knot-dns/tests/knot/test_journal.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 684
    functionName: tm2_zone
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - zone_contents_new
    - assert
    - zone_contents_add_rr
    - init_soa
    - tm2_add_all
    - knot_rrset_clear
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *tm2_zone(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_new
      Src: /src/knot-dns/tests/knot/test_journal.c:688,1
    - Dst: changeset_set_soa_serials
      Src: /src/knot-dns/tests/knot/test_journal.c:690,1
    - Dst: tm2_add_all
      Src: /src/knot-dns/tests/knot/test_journal.c:691,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/tests/knot/test_journal.c:692,1
    - Dst: tm_rrs_int
      Src: /src/knot-dns/tests/knot/test_journal.c:692,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 5
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: tm2_chs_unzone
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - assert
    - changeset_add_addition
    - changeset_new
    - tm_rrs_int
    - changeset_set_soa_serials
    - tm2_add_all
    linkageType: ''
    returnType: changeset_t
    signature: changeset_t *tm2_chs_unzone(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_info
      Src: /src/knot-dns/tests/knot/test_journal.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: merged_present
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - journal_info
    linkageType: ''
    returnType: int
    signature: int merged_present(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:710,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:711,1
    - Dst: journal_allow_flush
      Src: /src/knot-dns/tests/knot/test_journal.c:711,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/tests/knot/test_journal.c:713,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:714,1
    - Dst: merged_present
      Src: /src/knot-dns/tests/knot/test_journal.c:717,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:718,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:718,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:719,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:721,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:722,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:722,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:724,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:725,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:726,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:727,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:727,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:728,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:729,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:729,1
    - Dst: tm_rrcnt
      Src: /src/knot-dns/tests/knot/test_journal.c:729,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:730,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:730,1
    - Dst: tm_rrcnt
      Src: /src/knot-dns/tests/knot/test_journal.c:730,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:731,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:732,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:735,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:735,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:736,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:736,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:737,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:738,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:739,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:739,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:740,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:741,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:742,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:743,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:744,1
    - Dst: list_size
      Src: /src/knot-dns/tests/knot/test_journal.c:744,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:745,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:746,1
    - Dst: tm2_zone
      Src: /src/knot-dns/tests/knot/test_journal.c:749,1
    - Dst: journal_insert_zone
      Src: /src/knot-dns/tests/knot/test_journal.c:750,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/tests/knot/test_journal.c:751,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:752,1
    - Dst: tm2_chs_unzone
      Src: /src/knot-dns/tests/knot/test_journal.c:755,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:756,1
    - Dst: changeset_free
      Src: /src/knot-dns/tests/knot/test_journal.c:757,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:758,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:761,1
    - Dst: changeset_to
      Src: /src/knot-dns/tests/knot/test_journal.c:762,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:762,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:764,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:764,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:765,1
    - Dst: load_j_list
      Src: /src/knot-dns/tests/knot/test_journal.c:770,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:771,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:772,1
    - Dst: trie_weight
      Src: /src/knot-dns/tests/knot/test_journal.c:772,1
    - Dst: HEAD
      Src: /src/knot-dns/tests/knot/test_journal.c:772,1
    - Dst: changesets_free
      Src: /src/knot-dns/tests/knot/test_journal.c:773,1
    - Dst: journal_read_end
      Src: /src/knot-dns/tests/knot/test_journal.c:774,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/tests/knot/test_journal.c:776,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_journal.c:777,1
    - Dst: unset_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:780,1
    - Dst: set_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:781,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:782,1
    - Dst: journal_allow_flush
      Src: /src/knot-dns/tests/knot/test_journal.c:782,1
    - Dst: tm_rrs
      Src: /src/knot-dns/tests/knot/test_journal.c:784,1
    - Dst: tm_chs
      Src: /src/knot-dns/tests/knot/test_journal.c:785,1
    - Dst: tm_rrs_int
      Src: /src/knot-dns/tests/knot/test_journal.c:786,1
    - Dst: unset_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 788
      start: 704
    functionDepth: 6
    functionLinenumber: 704
    functionLinenumberEnd: 788
    functionName: test_merge
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - tm_chs
    - set_conf
    - zone_contents_deep_free
    - load_j_list
    - journal_sem_check
    - is_int
    - journal_insert_zone
    - knot_strerror
    - tm_rrs
    - changeset_to
    - merged_present
    - ok
    - assert
    - tm_rrs_int
    - journal_allow_flush
    - journal_insert
    - tm2_chs_unzone
    - HEAD
    - trie_weight
    - journal_scrape_with_md
    - list_size
    - changesets_free
    - tm2_zone
    - changeset_free
    - journal_read_end
    - unset_conf
    - tm_rrcnt
    linkageType: ''
    returnType: void
    signature: void test_merge(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_journal.c:796,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:796,1
    - Dst: set_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:798,1
    - Dst: changeset_init
      Src: /src/knot-dns/tests/knot/test_journal.c:801,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:802,1
    - Dst: init_random_changeset
      Src: /src/knot-dns/tests/knot/test_journal.c:803,1
    - Dst: changeset_set_soa_serials
      Src: /src/knot-dns/tests/knot/test_journal.c:808,1
    - Dst: journal_insert
      Src: /src/knot-dns/tests/knot/test_journal.c:809,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/tests/knot/test_journal.c:817,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/tests/knot/test_journal.c:819,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_journal.c:821,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/knot/test_journal.c:821,1
    - Dst: changeset_clear
      Src: /src/knot-dns/tests/knot/test_journal.c:824,1
    - Dst: unset_conf
      Src: /src/knot-dns/tests/knot/test_journal.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - apex
    - update_size
    - file_size
    argTypes:
    - knot_dname_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 827
      start: 790
    functionDepth: 4
    functionLinenumber: 790
    functionLinenumberEnd: 827
    functionName: test_stress_base
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - is_int
    - init_random_changeset
    - knot_strerror
    - journal_set_flushed
    - changeset_set_soa_serials
    - journal_insert
    - changeset_clear
    - changeset_init
    - unset_conf
    - set_conf
    - journal_sem_check
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_stress_base(const knot_dname_t *apex,\n                             size_t
      update_size, size_t file_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_journal.c:832,1
    - Dst: test_stress_base
      Src: /src/knot-dns/tests/knot/test_journal.c:833,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_journal.c:835,1
    - Dst: test_stress_base
      Src: /src/knot-dns/tests/knot/test_journal.c:836,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_journal.c:838,1
    - Dst: test_stress_base
      Src: /src/knot-dns/tests/knot/test_journal.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 840
      start: 830
    functionDepth: 5
    functionLinenumber: 830
    functionLinenumberEnd: 840
    functionName: test_stress
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - test_stress_base
    - diag
    linkageType: ''
    returnType: void
    signature: void test_stress(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_journal.c:844,1
    - Dst: test_mkdtemp
      Src: /src/knot-dns/tests/knot/test_journal.c:849,1
    - Dst: test_journal_db
      Src: /src/knot-dns/tests/knot/test_journal.c:851,1
    - Dst: test_store_load
      Src: /src/knot-dns/tests/knot/test_journal.c:853,1
    - Dst: lmdb_page_size
      Src: /src/knot-dns/tests/knot/test_journal.c:855,1
    - Dst: test_size_control
      Src: /src/knot-dns/tests/knot/test_journal.c:856,1
    - Dst: test_merge
      Src: /src/knot-dns/tests/knot/test_journal.c:859,1
    - Dst: test_stress
      Src: /src/knot-dns/tests/knot/test_journal.c:861,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/tests/knot/test_journal.c:863,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/knot/test_journal.c:865,1
    - Dst: free
      Src: /src/knot-dns/tests/knot/test_journal.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 869
      start: 842
    functionDepth: 7
    functionLinenumber: 842
    functionLinenumberEnd: 869
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_journal.c
    functionUses: 0
    functionsReached:
    - lmdb_page_size
    - test_rm_rf
    - test_store_load
    - test_merge
    - free
    - plan_lazy
    - test_stress
    - test_mkdtemp
    - test_size_control
    - test_journal_db
    - knot_lmdb_deinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:12,1
    - Dst: worker_queue_init
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:21,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:22,1
    - Dst: worker_queue_enqueue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:27,1
    - Dst: worker_queue_enqueue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:33,1
    - Dst: worker_queue_dequeue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:34,1
    - Dst: worker_queue_dequeue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:35,1
    - Dst: worker_queue_dequeue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:35,1
    - Dst: worker_queue_enqueue
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:40,1
    - Dst: worker_queue_deinit
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_worker_queue.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_worker_queue.c
    functionUses: 0
    functionsReached:
    - worker_queue_init
    - worker_queue_dequeue
    - plan_lazy
    - worker_queue_enqueue
    - worker_queue_deinit
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: interrupt_handle
    functionSourceFile: /src/knot-dns/tests/knot/test_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_handle(int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/knot/test_server.c:19,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_server.c:25,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_server.c:26,1
    - Dst: sigemptyset
      Src: /src/knot-dns/tests/knot/test_server.c:31,1
    - Dst: sigaction
      Src: /src/knot-dns/tests/knot/test_server.c:33,1
    - Dst: server_init
      Src: /src/knot-dns/tests/knot/test_server.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_server.c:37,1
    - Dst: server_start
      Src: /src/knot-dns/tests/knot/test_server.c:43,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_server.c:44,1
    - Dst: server_stop
      Src: /src/knot-dns/tests/knot/test_server.c:49,1
    - Dst: server_wait
      Src: /src/knot-dns/tests/knot/test_server.c:52,1
    - Dst: server_deinit
      Src: /src/knot-dns/tests/knot/test_server.c:55,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_server.c:58,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_server.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 61
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_server.c
    functionUses: 0
    functionsReached:
    - assert
    - plan
    - server_init
    - sigaction
    - conf
    - server_start
    - server_wait
    - test_conf
    - conf_free
    - server_stop
    - sigemptyset
    - server_deinit
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ss
    - family
    - straddr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: check_sockaddr_set
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_sockaddr_set(struct sockaddr_storage *ss, int family,\n
      \                              const char *straddr, int port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:33,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/knot/test_acl.c:35,1
    - Dst: assert
      Src: /src/knot-dns/tests/knot/test_acl.c:36,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/tests/knot/test_acl.c:37,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/tests/knot/test_acl.c:38,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/knot/test_acl.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:41,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/tests/knot/test_acl.c:41,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:43,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:44,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:48,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/knot/test_acl.c:50,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/knot/test_acl.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - conf
    - authority
    - key
    - zone_name
    - allowed
    - desc
    argTypes:
    - conf_t*
    - knot_rrset_t*
    - knot_tsig_key_t*
    - knot_dname_t*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: check_update
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_pkt_parse
    - conf_zone_get
    - knot_pkt_begin
    - check_sockaddr_set
    - knot_pkt_new
    - knot_pkt_free
    - knot_pkt_put
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_update(conf_t *conf, knot_rrset_t *authority, knot_tsig_key_t
      *key,\n                  knot_dname_t *zone_name, bool allowed, const char *desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:60,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:61,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:62,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:63,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:65,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:67,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:68,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:69,1
    - Dst: test_conf
      Src: /src/knot-dns/tests/knot/test_acl.c:149,1
    - Dst: is_int
      Src: /src/knot-dns/tests/knot/test_acl.c:150,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:152,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:152,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:153,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:154,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:155,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:155,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:156,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:158,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:158,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:159,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:160,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:161,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:161,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:162,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:164,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:165,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:166,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:167,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:168,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:170,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:171,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:172,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:173,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:173,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:174,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:176,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:176,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:177,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:178,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:179,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:179,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:180,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:182,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:183,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:184,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:185,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:185,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:186,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:188,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:188,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:189,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:190,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:191,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:191,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:192,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:194,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:195,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:196,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:197,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:197,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:198,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:200,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:201,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:202,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:203,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:204,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:206,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:206,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:207,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:208,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:209,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:209,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:210,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:212,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:213,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:214,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:215,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:216,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:218,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:219,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:220,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:221,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:221,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:222,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:224,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:224,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:225,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:226,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:227,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:227,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:228,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:230,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:230,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:231,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:232,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:233,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:233,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:234,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:236,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:236,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:237,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:238,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:239,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:239,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:240,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/tests/knot/test_acl.c:242,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:242,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:243,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/knot/test_acl.c:244,1
    - Dst: acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:245,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:245,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:246,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_acl.c:249,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_acl.c:250,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:251,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:251,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:253,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:253,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_acl.c:254,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_acl.c:257,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_acl.c:258,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:259,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:259,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_acl.c:260,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:263,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:264,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_acl.c:265,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_acl.c:266,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:267,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:267,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:268,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_acl.c:269,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:272,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:273,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_acl.c:274,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_acl.c:275,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:276,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:276,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:277,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_acl.c:278,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:281,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:282,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/knot/test_acl.c:283,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/knot/test_acl.c:284,1
    - Dst: check_update
      Src: /src/knot-dns/tests/knot/test_acl.c:285,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:285,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:286,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/knot/test_acl.c:287,1
    - Dst: conf_free
      Src: /src/knot-dns/tests/knot/test_acl.c:289,1
    - Dst: conf
      Src: /src/knot-dns/tests/knot/test_acl.c:289,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:290,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:291,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:292,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:293,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 295
    functionName: test_acl_allowed
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - conf_zone_get
    - conf
    - acl_allowed
    - test_conf
    - check_sockaddr_set
    - conf_free
    - knot_dname_free
    - knot_dname_from_str_alloc
    - check_update
    - knot_rrset_init
    - knot_rrset_add_rdata
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_acl_allowed(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:299,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_acl.c:300,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_acl.c:302,1
    - Dst: match_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:302,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:305,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_acl.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - name_str
    - pattern_str
    - match
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: check_pattern
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - match_pattern
    - knot_dname_free
    - knot_dname_from_str_alloc
    - ok
    linkageType: ''
    returnType: void
    signature: void check_pattern(const char *name_str, const char *pattern_str, bool
      match)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:311,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:312,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:313,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:314,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:315,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:316,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:317,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:318,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:319,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:320,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:321,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:322,1
    - Dst: check_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: test_match_pattern
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - check_pattern
    linkageType: ''
    returnType: void
    signature: void test_match_pattern(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_acl.c:328,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_acl.c:330,1
    - Dst: test_acl_allowed
      Src: /src/knot-dns/tests/knot/test_acl.c:331,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_acl.c:333,1
    - Dst: test_match_pattern
      Src: /src/knot-dns/tests/knot/test_acl.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_acl.c
    functionUses: 0
    functionsReached:
    - test_acl_allowed
    - diag
    - plan_lazy
    - test_match_pattern
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zonedb.c:29,1
    - Dst: knot_zonedb_new
      Src: /src/knot-dns/tests/knot/test_zonedb.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zonedb.c:38,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zonedb.c:42,1
    - Dst: zone_new
      Src: /src/knot-dns/tests/knot/test_zonedb.c:43,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:44,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/tests/knot/test_zonedb.c:49,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_zonedb.c:52,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zonedb.c:55,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zonedb.c:60,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/tests/knot/test_zonedb.c:61,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_zonedb.c:64,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zonedb.c:68,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/knot/test_zonedb.c:73,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/knot/test_zonedb.c:74,1
    - Dst: strlcat
      Src: /src/knot-dns/tests/knot/test_zonedb.c:75,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zonedb.c:77,1
    - Dst: knot_zonedb_find_suffix
      Src: /src/knot-dns/tests/knot/test_zonedb.c:78,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_zonedb.c:81,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:83,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zonedb.c:85,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/knot/test_zonedb.c:90,1
    - Dst: knot_zonedb_del
      Src: /src/knot-dns/tests/knot/test_zonedb.c:91,1
    - Dst: zone_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:92,1
    - Dst: diag
      Src: /src/knot-dns/tests/knot/test_zonedb.c:95,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zonedb.c:99,1
    - Dst: knot_zonedb_deep_free
      Src: /src/knot-dns/tests/knot/test_zonedb.c:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 104
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zonedb.c
    functionUses: 0
    functionsReached:
    - zone_new
    - strlcat
    - diag
    - strlcpy
    - zone_free
    - plan_lazy
    - knot_zonedb_find
    - knot_zonedb_insert
    - knot_zonedb_find_suffix
    - knot_dname_free
    - knot_dname_from_str_alloc
    - strcmp
    - knot_zonedb_new
    - knot_zonedb_deep_free
    - knot_zonedb_del
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:26,1
    - Dst: rand
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:27,1
    - Dst: rand
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: random_serial
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t random_serial(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - current
    - increment
    - add
    - expected
    - msg
    argTypes:
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: check_unixtime
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void check_unixtime(uint32_t current, uint32_t increment, int add,
      uint32_t expected, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:43,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:45,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:46,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:47,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:48,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:49,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:50,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:52,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:53,1
    - Dst: check_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: test_unixtime
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - check_unixtime
    - time
    linkageType: ''
    returnType: void
    signature: void test_unixtime(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - current
    - increment
    - add
    - expected
    - msg
    argTypes:
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: check_dateserial
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void check_dateserial(uint32_t current, uint32_t increment, int add,
      uint32_t expected, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:67,1
    - Dst: gmtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:77,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:80,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:81,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:82,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:83,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:84,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:85,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:87,1
    - Dst: check_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: test_dateserial
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - check_dateserial
    - gmtime
    - time
    - ok
    linkageType: ''
    returnType: void
    signature: void test_dateserial(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - current
    - add
    - expected
    - rem
    - mod
    argTypes:
    - uint32_t
    - int
    - uint32_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: check_modulo
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void check_modulo(uint32_t current, int add, uint32_t expected, uint8_t
      rem, uint8_t mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:101,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:102,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:103,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:104,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:105,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:106,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:110,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:111,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:112,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:113,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:114,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:115,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:117,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:118,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:119,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:120,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:121,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:122,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:126,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:127,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:128,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:129,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:130,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:132,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:133,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:134,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:135,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:136,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:138,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:139,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:140,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:141,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:142,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:145,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:146,1
    - Dst: check_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 151
    functionName: test_modulo
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - check_modulo
    linkageType: ''
    returnType: void
    signature: void test_modulo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - str
    - expect_ret
    - expect_rem
    - expect_mod
    - expect_add
    argTypes:
    - char*
    - int
    - uint8_t
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: check_parse
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void check_parse(const char *str, int expect_ret, uint8_t expect_rem,
      uint8_t expect_mod, int expect_add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:163,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:164,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:165,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:166,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:167,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:168,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:169,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:170,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:171,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:172,1
    - Dst: check_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: test_parse
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - check_parse
    linkageType: ''
    returnType: void
    signature: void test_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:178,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:181,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:181,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:183,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:187,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:189,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:189,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:192,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:192,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:194,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:197,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:197,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:199,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:199,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:203,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:205,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:205,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:208,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:208,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:210,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:213,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:213,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:215,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:218,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:220,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:220,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:223,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:223,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:225,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:225,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:231,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:231,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:233,1
    - Dst: serial_compare
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:233,1
    - Dst: test_dateserial
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:236,1
    - Dst: test_unixtime
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:237,1
    - Dst: test_modulo
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:238,1
    - Dst: test_parse
      Src: /src/knot-dns/tests/knot/test_zone_serial.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 242
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_zone_serial.c
    functionUses: 0
    functionsReached:
    - serial_compare
    - test_parse
    - test_modulo
    - plan_lazy
    - test_unixtime
    - test_dateserial
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/knot-dns/tests/knot/test_fdset.c:24,1
    - Dst: write
      Src: /src/knot-dns/tests/knot/test_fdset.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: thr_action1
    functionSourceFile: /src/knot-dns/tests/knot/test_fdset.c
    functionUses: 0
    functionsReached:
    - usleep
    - write
    linkageType: ''
    returnType: void
    signature: void *thr_action1(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/knot-dns/tests/knot/test_fdset.c:31,1
    - Dst: write
      Src: /src/knot-dns/tests/knot/test_fdset.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: thr_action2
    functionSourceFile: /src/knot-dns/tests/knot/test_fdset.c
    functionUses: 0
    functionsReached:
    - usleep
    - write
    linkageType: ''
    returnType: void
    signature: void *thr_action2(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/knot/test_fdset.c:38,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:42,1
    - Dst: pipe
      Src: /src/knot-dns/tests/knot/test_fdset.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:47,1
    - Dst: fdset_add
      Src: /src/knot-dns/tests/knot/test_fdset.c:48,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:49,1
    - Dst: pipe
      Src: /src/knot-dns/tests/knot/test_fdset.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:52,1
    - Dst: fdset_add
      Src: /src/knot-dns/tests/knot/test_fdset.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:54,1
    - Dst: pipe
      Src: /src/knot-dns/tests/knot/test_fdset.c:56,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:57,1
    - Dst: fdset_add
      Src: /src/knot-dns/tests/knot/test_fdset.c:58,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:59,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:61,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/tests/knot/test_fdset.c:61,1
    - Dst: time_now
      Src: /src/knot-dns/tests/knot/test_fdset.c:63,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/knot/test_fdset.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:67,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/knot/test_fdset.c:68,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:69,1
    - Dst: fdset_poll
      Src: /src/knot-dns/tests/knot/test_fdset.c:72,1
    - Dst: time_now
      Src: /src/knot-dns/tests/knot/test_fdset.c:73,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:76,1
    - Dst: fdset_it_is_done
      Src: /src/knot-dns/tests/knot/test_fdset.c:77,1
    - Dst: fdset_it_next
      Src: /src/knot-dns/tests/knot/test_fdset.c:77,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:78,1
    - Dst: fdset_it_is_error
      Src: /src/knot-dns/tests/knot/test_fdset.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:79,1
    - Dst: fdset_it_is_pollin
      Src: /src/knot-dns/tests/knot/test_fdset.c:79,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:82,1
    - Dst: read
      Src: /src/knot-dns/tests/knot/test_fdset.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:86,1
    - Dst: fdset_it_remove
      Src: /src/knot-dns/tests/knot/test_fdset.c:88,1
    - Dst: fdset_it_commit
      Src: /src/knot-dns/tests/knot/test_fdset.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:91,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/tests/knot/test_fdset.c:91,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_fdset.c:92,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:95,1
    - Dst: fdset_poll
      Src: /src/knot-dns/tests/knot/test_fdset.c:97,1
    - Dst: time_now
      Src: /src/knot-dns/tests/knot/test_fdset.c:98,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:100,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:101,1
    - Dst: fdset_it_is_done
      Src: /src/knot-dns/tests/knot/test_fdset.c:102,1
    - Dst: fdset_it_next
      Src: /src/knot-dns/tests/knot/test_fdset.c:102,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:103,1
    - Dst: fdset_it_is_error
      Src: /src/knot-dns/tests/knot/test_fdset.c:103,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:104,1
    - Dst: fdset_it_is_pollin
      Src: /src/knot-dns/tests/knot/test_fdset.c:104,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:107,1
    - Dst: read
      Src: /src/knot-dns/tests/knot/test_fdset.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:111,1
    - Dst: fdset_it_remove
      Src: /src/knot-dns/tests/knot/test_fdset.c:113,1
    - Dst: fdset_it_commit
      Src: /src/knot-dns/tests/knot/test_fdset.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:116,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/tests/knot/test_fdset.c:116,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/knot/test_fdset.c:118,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/knot/test_fdset.c:119,1
    - Dst: fdset_remove
      Src: /src/knot-dns/tests/knot/test_fdset.c:121,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:122,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_fdset.c:123,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:124,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/tests/knot/test_fdset.c:124,1
    - Dst: write
      Src: /src/knot-dns/tests/knot/test_fdset.c:126,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:127,1
    - Dst: fdset_poll
      Src: /src/knot-dns/tests/knot/test_fdset.c:128,1
    - Dst: ok
      Src: /src/knot-dns/tests/knot/test_fdset.c:129,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_fdset.c:132,1
    - Dst: close
      Src: /src/knot-dns/tests/knot/test_fdset.c:134,1
    - Dst: fdset_clear
      Src: /src/knot-dns/tests/knot/test_fdset.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 139
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/knot-dns/tests/knot/test_fdset.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - fdset_it_remove
    - fdset_it_is_done
    - fdset_it_next
    - fdset_it_commit
    - fdset_add
    - close
    - pipe
    - read
    - ok
    - fdset_it_is_pollin
    - pthread_join
    - fdset_clear
    - plan_lazy
    - write
    - fdset_it_is_error
    - fdset_get_length
    - time_now
    - fdset_remove
    - fdset_poll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/utils/test_lookup.c:15,1
    - Dst: is_int
      Src: /src/knot-dns/tests/utils/test_lookup.c:17,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:18,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/utils/test_lookup.c:18,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:19,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/utils/test_lookup.c:19,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:20,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - l
    - in
    - out
    argTypes:
    - lookup_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: check_search_ok
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - diag
    - ok
    - strcmp
    - is_int
    linkageType: ''
    returnType: void
    signature: void check_search_ok(lookup_t *l, const char *in, const char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/utils/test_lookup.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/utils/test_lookup.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:30,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/utils/test_lookup.c:30,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:32,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/utils/test_lookup.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - l
    - in
    - out
    - first
    - count
    argTypes:
    - lookup_t*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: check_search_multi
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - diag
    - ok
    - strcmp
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_search_multi(lookup_t *l, const char *in, const char *out,\n
      \                              const char *first, size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/utils/test_lookup.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/utils/test_lookup.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - l
    - in
    argTypes:
    - lookup_t*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: check_search_none
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - diag
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void check_search_none(lookup_t *l, const char *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/utils/test_lookup.c:48,1
    - Dst: lookup_insert
      Src: /src/knot-dns/tests/utils/test_lookup.c:51,1
    - Dst: is_int
      Src: /src/knot-dns/tests/utils/test_lookup.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - l
    - table
    argTypes:
    - lookup_t*
    - char**
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: init
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 37
    functionsReached:
    - lookup_insert
    - is_int
    linkageType: ''
    returnType: void
    signature: void init(lookup_t *l, const char **table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/knot-dns/tests/utils/test_lookup.c:66,1
    - Dst: check_search_ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:68,1
    - Dst: check_search_ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:69,1
    - Dst: check_search_ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:70,1
    - Dst: check_search_ok
      Src: /src/knot-dns/tests/utils/test_lookup.c:71,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:73,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:74,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:75,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:76,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:77,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:78,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:79,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:80,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:81,1
    - Dst: check_search_none
      Src: /src/knot-dns/tests/utils/test_lookup.c:82,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:84,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/tests/utils/test_lookup.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: test_search_basic
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - init
    - check_search_ok
    - check_search_multi
    - check_search_none
    - lookup_deinit
    linkageType: ''
    returnType: void
    signature: void test_search_basic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/knot-dns/tests/utils/test_lookup.c:103,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:105,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:106,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:107,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:108,1
    - Dst: check_search_multi
      Src: /src/knot-dns/tests/utils/test_lookup.c:109,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/tests/utils/test_lookup.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: test_search_iter
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - init
    - check_search_multi
    - lookup_deinit
    linkageType: ''
    returnType: void
    signature: void test_search_iter(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/utils/test_lookup.c:116,1
    - Dst: diag
      Src: /src/knot-dns/tests/utils/test_lookup.c:118,1
    - Dst: test_search_basic
      Src: /src/knot-dns/tests/utils/test_lookup.c:119,1
    - Dst: diag
      Src: /src/knot-dns/tests/utils/test_lookup.c:121,1
    - Dst: test_search_iter
      Src: /src/knot-dns/tests/utils/test_lookup.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/knot-dns/tests/utils/test_lookup.c
    functionUses: 0
    functionsReached:
    - test_search_iter
    - diag
    - plan_lazy
    - test_search_basic
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:16,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:17,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:18,1
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:20,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:21,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:22,1
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:24,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:25,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:26,1
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:28,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:29,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:30,1
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:32,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:33,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:34,1
    - Dst: strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:36,1
    - Dst: is_string
      Src: /src/knot-dns/tests/contrib/test_string.c:37,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_string.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 39
    functionName: test_strstrip
    functionSourceFile: /src/knot-dns/tests/contrib/test_string.c
    functionUses: 0
    functionsReached:
    - free
    - is_string
    - strstrip
    linkageType: ''
    returnType: void
    signature: void test_strstrip(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_string.c:43,1
    - Dst: test_strstrip
      Src: /src/knot-dns/tests/contrib/test_string.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_string.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - test_strstrip
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: prng
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: size_t
    signature: size_t prng(size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bcalloc
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:50,1
    - Dst: trie_create
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:52,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:53,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:60,1
    - Dst: prng
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:61,1
    - Dst: bmalloc
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:62,1
    - Dst: prng
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:67,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:69,1
    - Dst: bail
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:70,1
    - Dst: trie_free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - maxlen
    - leaves
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: grow_leaves
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - prng
    - free
    - trie_free
    - trie_create
    - bcalloc
    - bail
    - trie_get_ins
    - sysbail
    - bmalloc
    linkageType: ''
    returnType: struct cowleaf
    signature: 'struct cowleaf *

      grow_leaves(size_t maxlen, size_t leaves)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:86,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - leaf
    - leaves
    argTypes:
    - struct cowleaf*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: dead_leaves
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void dead_leaves(struct cowleaf *leaf, size_t leaves)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - val
    - key
    - len
    - d
    argTypes:
    - trie_val_t
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: mark_cb
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_cb(trie_val_t val, const uint8_t *key, size_t len, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:108,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - val
    - key
    - len
    - d
    argTypes:
    - trie_val_t
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: commit_rollback
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void commit_rollback(trie_val_t val, const uint8_t *key, size_t len,
      void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:125,1
    - Dst: trie_del_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:125,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - leaf
    argTypes:
    - trie_cow_t*
    - struct cowleaf*
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: del_cow
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 1
    functionsReached:
    - assert
    - trie_del_cow
    linkageType: ''
    returnType: void
    signature: void del_cow(trie_cow_t *x, struct cowleaf *leaf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:134,1
    - Dst: exit
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: usage
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 3
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:156,1
    - Dst: atoi
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:159,1
    - Dst: atoi
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:162,1
    - Dst: atoi
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:165,1
    - Dst: atoi
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:168,1
    - Dst: usage
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:171,1
    - Dst: usage
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:175,1
    - Dst: plan
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:177,1
    - Dst: grow_leaves
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:179,1
    - Dst: trie_create
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:180,1
    - Dst: trie_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:183,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:184,1
    - Dst: trie_get_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:192,1
    - Dst: sysbail
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:195,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:196,1
    - Dst: del_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:201,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:202,1
    - Dst: del_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:207,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:208,1
    - Dst: del_cow
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:213,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:214,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:222,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:225,1
    - Dst: trie_cow_commit
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:231,1
    - Dst: trie_cow_rollback
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:233,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:235,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:236,1
    - Dst: trie_it_val
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:237,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:238,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:241,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:246,1
    - Dst: trie_it_next
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:251,1
    - Dst: trie_it_free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:253,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:256,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:263,1
    - Dst: trie_free
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:266,1
    - Dst: dead_leaves
      Src: /src/knot-dns/tests/contrib/test_qp-cow.c:267,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 270
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-cow.c
    functionUses: 0
    functionsReached:
    - plan
    - trie_cow_commit
    - getopt
    - trie_it_free
    - sysbail
    - grow_leaves
    - trie_cow_rollback
    - trie_it_val
    - usage
    - ok
    - assert
    - trie_it_next
    - atoi
    - trie_it_begin
    - del_cow
    - trie_free
    - trie_get_cow
    - trie_cow
    - trie_create
    - dead_leaves
    - trie_it_finished
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:14,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:14,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:18,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:18,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:21,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:22,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:22,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:25,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:26,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:26,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:30,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:30,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:34,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 35
    functionName: test_sockaddr_is_any
    functionSourceFile: /src/knot-dns/tests/contrib/test_sockaddr.c
    functionUses: 0
    functionsReached:
    - sockaddr_is_any
    - sockaddr_set
    - ok
    linkageType: ''
    returnType: void
    signature: void test_sockaddr_is_any(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ss
    - family
    - straddr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: check_sockaddr_set
    functionSourceFile: /src/knot-dns/tests/contrib/test_sockaddr.c
    functionUses: 2
    functionsReached:
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_sockaddr_set(struct sockaddr_storage *ss, int family,\n
      \                              const char *straddr, int port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:52,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:57,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:59,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:60,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:62,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:63,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:65,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:68,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:70,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:71,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:72,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:73,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:74,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:76,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:77,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:79,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:81,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:83,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:86,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:88,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:90,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:92,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:94,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:95,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:96,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:98,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:99,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:100,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:103,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:104,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:105,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:106,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:107,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:108,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:109,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:111,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:113,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:114,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:115,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:116,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:117,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:122,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:124,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:126,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:128,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:129,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:130,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:132,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:133,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:134,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:136,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:137,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 139
    functionName: test_net_match
    functionSourceFile: /src/knot-dns/tests/contrib/test_sockaddr.c
    functionUses: 0
    functionsReached:
    - check_sockaddr_set
    - sockaddr_net_match
    - ok
    linkageType: ''
    returnType: void
    signature: void test_net_match(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:150,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:151,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:153,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:154,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:155,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:156,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:157,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:158,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:160,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:161,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:163,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:165,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:166,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:168,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:169,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:171,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:172,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:173,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:174,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:175,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:176,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:177,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:178,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:179,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:180,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:181,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:183,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:187,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:188,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:191,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:192,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:193,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:194,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:197,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:199,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:200,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:202,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:204,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:205,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:206,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:207,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:208,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:209,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:210,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:211,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:213,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:214,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:216,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:217,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:219,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:220,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:221,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:222,1
    - Dst: check_sockaddr_set
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:226,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:227,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 229
    functionName: test_range_match
    functionSourceFile: /src/knot-dns/tests/contrib/test_sockaddr.c
    functionUses: 0
    functionsReached:
    - check_sockaddr_set
    - sockaddr_range_match
    - ok
    linkageType: ''
    returnType: void
    signature: void test_range_match(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:233,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:235,1
    - Dst: test_sockaddr_is_any
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:236,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:238,1
    - Dst: test_net_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:239,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:241,1
    - Dst: test_range_match
      Src: /src/knot-dns/tests/contrib/test_sockaddr.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_sockaddr.c
    functionUses: 0
    functionsReached:
    - diag
    - test_range_match
    - plan_lazy
    - test_net_match
    - test_sockaddr_is_any
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:18,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:20,1
    - Dst: str_to_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - in
    - expected
    - errcode
    argTypes:
    - char*
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: test_u8
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 0
    functionsReached:
    - assert
    - str_to_u8
    - ok
    linkageType: ''
    returnType: void
    signature: void test_u8(const char *in, uint8_t expected, int errcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:31,1
    - Dst: str_to_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - in
    - expected
    - errcode
    argTypes:
    - char*
    - uint16_t
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: test_u16
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 0
    functionsReached:
    - str_to_u16
    - assert
    - ok
    linkageType: ''
    returnType: void
    signature: void test_u16(const char *in, uint16_t expected, int errcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:42,1
    - Dst: str_to_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - in
    - expected
    - errcode
    argTypes:
    - char*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: test_u32
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 0
    functionsReached:
    - assert
    - str_to_u32
    - ok
    linkageType: ''
    returnType: void
    signature: void test_u32(const char *in, uint32_t expected, int errcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:53,1
    - Dst: str_to_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - in
    - expected
    - errcode
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: test_int
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 0
    functionsReached:
    - assert
    - str_to_int
    - ok
    linkageType: ''
    returnType: void
    signature: void test_int(const char *in, int expected, int errcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:65,1
    - Dst: str_to_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - in
    - expected
    - min
    - max
    - errcode
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: test_size
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 1
    functionsReached:
    - assert
    - str_to_size
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_size(const char *in, size_t expected, size_t min, size_t
      max,\n                      int errcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:77,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:79,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:80,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:81,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:82,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:83,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:84,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:85,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:86,1
    - Dst: test_u8
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:87,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:89,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:90,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:91,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:92,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:93,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:94,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:95,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:96,1
    - Dst: test_u16
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:97,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:99,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:100,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:101,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:102,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:103,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:104,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:105,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:106,1
    - Dst: test_u32
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:107,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:109,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:110,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:111,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:112,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:113,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:114,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:115,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:116,1
    - Dst: test_size
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:117,1
    - Dst: asprintf
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:120,1
    - Dst: asprintf
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:122,1
    - Dst: asprintf
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:124,1
    - Dst: asprintf
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:126,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:128,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:129,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:130,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:131,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:132,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:133,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:134,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:135,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:136,1
    - Dst: test_int
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:137,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:139,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:140,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:141,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_strtonum.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 145
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_strtonum.c
    functionUses: 0
    functionsReached:
    - test_size
    - test_u16
    - test_int
    - free
    - plan_lazy
    - test_u8
    - asprintf
    - test_u32
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/contrib/test_base64url.c:20,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:28,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:29,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:30,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:31,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:32,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:33,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:34,1
    - Dst: knot_base64url_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64url.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:37,1
    - Dst: knot_base64url_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64url.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:39,1
    - Dst: knot_base64url_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64url.c:40,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:41,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:43,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:44,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:45,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:46,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:47,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:48,1
    - Dst: knot_base64url_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64url.c:50,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:51,1
    - Dst: knot_base64url_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64url.c:52,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64url.c:53,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:56,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:57,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:58,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:59,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:60,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:61,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:65,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:65,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:68,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:70,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:72,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:72,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:76,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:77,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:78,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:79,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:81,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:83,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:85,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:85,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:88,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:92,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:92,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:96,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:97,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:98,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:99,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:100,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:101,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:103,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:105,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:105,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:107,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:108,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:112,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:112,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:116,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:117,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:118,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:119,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:121,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:123,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:125,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:125,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:127,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:128,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:130,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:132,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:132,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:136,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:137,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:138,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:139,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:140,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:141,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:143,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:145,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:145,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:147,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:148,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:150,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:152,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:152,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:156,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:157,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:158,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:159,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:160,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:161,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:163,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:165,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:165,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:168,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:172,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:172,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:176,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:177,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:178,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:179,1
    - Dst: knot_base64url_encode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:180,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:181,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:185,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:185,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:188,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:190,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:192,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:192,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:196,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:197,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:198,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:199,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:201,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:202,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:206,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:206,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:209,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:210,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64url.c:211,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64url.c:212,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:214,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:215,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64url.c:217,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:219,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64url.c:219,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:223,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:224,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:225,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:226,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:229,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:230,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:231,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:232,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:235,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:236,1
    - Dst: knot_base64url_decode
      Src: /src/knot-dns/tests/contrib/test_base64url.c:237,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64url.c:238,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 187
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 241
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 241
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_base64url.c
    functionUses: 0
    functionsReached:
    - skip
    - plan
    - ok
    - strlen
    - strlcpy
    - memcmp
    - knot_base64url_encode
    - knot_base64url_encode_alloc
    - knot_base64url_decode_alloc
    - knot_base64url_decode
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:30,1
    - Dst: inet_pton
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:36,1
    - Dst: inet_pton
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:37,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:38,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:39,1
    - Dst: inet_pton
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:41,1
    - Dst: inet_pton
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:42,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:43,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:44,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:46,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:49,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:50,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:53,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:57,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:60,1
    - Dst: toeplitz_init
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:61,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:61,1
    - Dst: toeplitz_finish
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:62,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - family
    - src_ip
    - dst_ip
    - src_port
    - dst_port
    - expected
    argTypes:
    - int
    - char*
    - char*
    - uint16_t
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 65
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: toeplitz_check
    functionSourceFile: /src/knot-dns/tests/contrib/test_toeplitz.c
    functionUses: 0
    functionsReached:
    - assert
    - inet_pton
    - wire_ctx_init
    - wire_ctx_write
    - toeplitz_init
    - wire_ctx_offset
    - wire_ctx_write_u16
    - toeplitz_finish
    - is_int
    linkageType: ''
    returnType: void
    signature: "void toeplitz_check(int family, const char *src_ip, const char *dst_ip,\n
      \                   uint16_t src_port, uint16_t dst_port, uint32_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:69,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:71,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:72,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:73,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:74,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:75,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:77,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:78,1
    - Dst: toeplitz_check
      Src: /src/knot-dns/tests/contrib/test_toeplitz.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_toeplitz.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - toeplitz_check
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:31,1
    - Dst: rand
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:33,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: str_key_rand
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-trie.c
    functionUses: 0
    functionsReached:
    - rand
    - strlen
    - memset
    linkageType: ''
    returnType: char
    signature: char *str_key_rand(size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:47,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:52,1
    - Dst: trie_get_leq
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:62,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:64,1
    - Dst: trie_get_leq
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:68,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:69,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:70,1
    - Dst: trie_get_leq
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:77,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:78,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:79,1
    - Dst: trie_get_leq
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:85,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:86,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - trie
    - keys
    - i
    - size
    argTypes:
    - trie_t*
    - char**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 93
    functionName: str_key_get_leq
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-trie.c
    functionUses: 0
    functionsReached:
    - memcpy
    - trie_get_leq
    - diag
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool str_key_get_leq(trie_t *trie, char **keys, size_t i, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_create
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:125,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:131,1
    - Dst: knot_dname_lf
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:132,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:134,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:138,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:140,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:150,1
    - Dst: knot_dname_lf
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:153,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:160,1
    - Dst: trie_free
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:166,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:167,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 168
    functionName: test_wildcards
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-trie.c
    functionUses: 0
    functionsReached:
    - knot_dname_from_str
    - trie_free
    - trie_create
    - knot_dname_lf
    - trie_get_ins
    - ok
    linkageType: ''
    returnType: void
    signature: void test_wildcards(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:172,1
    - Dst: srand
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:175,1
    - Dst: time
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:175,1
    - Dst: str_key_rand
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:181,1
    - Dst: rand
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:181,1
    - Dst: str_key_sort
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:185,1
    - Dst: trie_create
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:189,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:190,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:196,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:206,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:209,1
    - Dst: trie_weight
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:209,1
    - Dst: trie_get_try
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:214,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:214,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:215,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:223,1
    - Dst: str_key_get_leq
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:228,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:235,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:240,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:245,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:246,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:250,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:251,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:256,1
    - Dst: trie_it_next
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:257,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:259,1
    - Dst: trie_it_free
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:260,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:264,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:266,1
    - Dst: trie_free
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:267,1
    - Dst: test_wildcards
      Src: /src/knot-dns/tests/contrib/test_qp-trie.c:270,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 273
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_qp-trie.c
    functionUses: 0
    functionsReached:
    - time
    - test_wildcards
    - srand
    - strcmp
    - trie_it_free
    - str_key_get_leq
    - str_key_sort
    - is_int
    - str_key_rand
    - free
    - rand
    - trie_get_ins
    - trie_get_try
    - ok
    - diag
    - strlen
    - plan_lazy
    - trie_it_next
    - trie_it_begin
    - trie_weight
    - trie_free
    - trie_create
    - memcpy
    - trie_it_finished
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash24_Init
      Src: /src/knot-dns/tests/contrib/test_siphash.c:86,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/tests/contrib/test_siphash.c:89,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/tests/contrib/test_siphash.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_siphash.c:94,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_siphash.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - block_len
    argTypes:
    - SIPHASH_KEY*
    - uint8_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: block_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_siphash.c
    functionUses: 0
    functionsReached:
    - SipHash24_Update
    - memcmp
    - SipHash24_Init
    - ok
    linkageType: ''
    returnType: void
    signature: void block_test(SIPHASH_KEY *key, uint8_t *data, int data_len, int
      block_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_siphash.c:100,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/contrib/test_siphash.c:103,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/contrib/test_siphash.c:104,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_siphash.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_siphash.c:115,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_siphash.c:115,1
    - Dst: block_test
      Src: /src/knot-dns/tests/contrib/test_siphash.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_siphash.c
    functionUses: 0
    functionsReached:
    - block_test
    - diag
    - plan_lazy
    - memcmp
    - memcpy
    - ok
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/tests/contrib/test_heap.c:20,1
    - Dst: fread
      Src: /src/knot-dns/tests/contrib/test_heap.c:22,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_heap.c:23,1
    - Dst: fclose
      Src: /src/knot-dns/tests/contrib/test_heap.c:25,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_heap.c:28,1
    - Dst: seed48
      Src: /src/knot-dns/tests/contrib/test_heap.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: seed_random
    functionSourceFile: /src/knot-dns/tests/contrib/test_heap.c
    functionUses: 0
    functionsReached:
    - fopen
    - seed48
    - fclose
    - diag
    - fread
    linkageType: ''
    returnType: void
    signature: void seed_random(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: value_cmp
    functionSourceFile: /src/knot-dns/tests/contrib/test_heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int value_cmp(void *_a, void *_b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_heap.c:46,1
    - Dst: seed_random
      Src: /src/knot-dns/tests/contrib/test_heap.c:48,1
    - Dst: heap_init
      Src: /src/knot-dns/tests/contrib/test_heap.c:56,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:58,1
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/tests/contrib/test_heap.c:58,1
    - Dst: calloc
      Src: /src/knot-dns/tests/contrib/test_heap.c:62,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:63,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:64,1
    - Dst: lrand48
      Src: /src/knot-dns/tests/contrib/test_heap.c:68,1
    - Dst: heap_insert
      Src: /src/knot-dns/tests/contrib/test_heap.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:73,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:74,1
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/tests/contrib/test_heap.c:74,1
    - Dst: HELEMENT
      Src: /src/knot-dns/tests/contrib/test_heap.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:85,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:89,1
    - Dst: calloc
      Src: /src/knot-dns/tests/contrib/test_heap.c:90,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:91,1
    - Dst: lrand48
      Src: /src/knot-dns/tests/contrib/test_heap.c:95,1
    - Dst: heap_replace
      Src: /src/knot-dns/tests/contrib/test_heap.c:102,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:108,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:112,1
    - Dst: heap_delete
      Src: /src/knot-dns/tests/contrib/test_heap.c:123,1
    - Dst: heap_find
      Src: /src/knot-dns/tests/contrib/test_heap.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:129,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_heap.c:133,1
    - Dst: HHEAD
      Src: /src/knot-dns/tests/contrib/test_heap.c:138,1
    - Dst: heap_delmin
      Src: /src/knot-dns/tests/contrib/test_heap.c:139,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:147,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_heap.c:148,1
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/tests/contrib/test_heap.c:148,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_heap.c:150,1
    - Dst: free
      Src: /src/knot-dns/tests/contrib/test_heap.c:151,1
    - Dst: heap_deinit
      Src: /src/knot-dns/tests/contrib/test_heap.c:152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 155
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_heap.c
    functionUses: 0
    functionsReached:
    - heap_init
    - assert
    - calloc
    - free
    - HHEAD
    - plan_lazy
    - heap_delmin
    - heap_replace
    - heap_insert
    - heap_delete
    - seed_random
    - lrand48
    - EMPTY_HEAP
    - HELEMENT
    - heap_find
    - heap_deinit
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/contrib/test_base64.c:20,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:28,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:29,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:30,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:31,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:32,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:33,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:34,1
    - Dst: knot_base64_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:37,1
    - Dst: knot_base64_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:39,1
    - Dst: knot_base64_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:40,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:41,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:43,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:44,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:45,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:46,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:47,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:48,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:49,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:50,1
    - Dst: knot_base64_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:52,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:53,1
    - Dst: knot_base64_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:54,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:55,1
    - Dst: knot_base64_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base64.c:56,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base64.c:57,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:60,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:61,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:62,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:63,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:65,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:69,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:69,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:71,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:72,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:76,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:76,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:80,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:81,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:82,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:83,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:84,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:85,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:89,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:89,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:92,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:94,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:96,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:96,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:100,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:101,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:102,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:103,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:104,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:105,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:107,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:109,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:109,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:111,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:112,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:114,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:116,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:116,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:120,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:121,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:122,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:123,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:125,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:127,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:129,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:129,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:131,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:132,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:134,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:136,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:136,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:140,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:141,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:142,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:143,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:144,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:145,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:147,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:149,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:149,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:152,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:154,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:156,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:156,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:160,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:161,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:162,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:163,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:165,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:169,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:169,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:171,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:172,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:174,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:176,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:176,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:180,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:181,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base64.c:182,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base64.c:183,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/tests/contrib/test_base64.c:184,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:185,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:189,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:189,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:191,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:192,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base64.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:196,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base64.c:196,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:201,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:202,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:203,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:205,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:206,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:207,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:211,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:213,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:214,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:215,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:216,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:217,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:220,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:221,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/tests/contrib/test_base64.c:222,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base64.c:223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 177
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 226
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_base64.c
    functionUses: 0
    functionsReached:
    - skip
    - plan
    - strlen
    - strlcpy
    - knot_base64_decode
    - memcmp
    - knot_base64_decode_alloc
    - knot_base64_encode
    - knot_base64_encode_alloc
    - ok
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/tests/contrib/test_time.c:14,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: test_now
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - time_now
    - ok
    linkageType: ''
    returnType: void
    signature: void test_now(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:27,1
    - Dst: time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:30,1
    - Dst: time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:33,1
    - Dst: time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:35,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: test_diff
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - time_diff
    - ok
    linkageType: ''
    returnType: void
    signature: void test_diff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_diff_ms
      Src: /src/knot-dns/tests/contrib/test_time.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:47,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/tests/contrib/test_time.c:49,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: test_diff_ms
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - time_diff_ms
    - ok
    linkageType: ''
    returnType: void
    signature: void test_diff_ms(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:61,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:64,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:67,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:70,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:72,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:73,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:76,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/tests/contrib/test_time.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:79,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:82,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:84,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:85,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:88,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:91,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:93,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:94,1
    - Dst: knot_time_min
      Src: /src/knot-dns/tests/contrib/test_time.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:97,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:99,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:100,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:102,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:103,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:106,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:108,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:109,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:111,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 113
    functionName: test_knot_time
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - knot_time_diff
    - knot_time_min
    - knot_time_cmp
    - knot_time
    - ok
    linkageType: ''
    returnType: void
    signature: void test_knot_time(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:118,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ret
    - res
    - expected
    - msg
    argTypes:
    - int
    - knot_time_t
    - knot_time_t
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: test_time_parse_expect
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_time_parse_expect(int ret, knot_time_t res,\n\t\t\t\t   knot_time_t
      expected, const char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_parse
      Src: /src/knot-dns/tests/contrib/test_time.c:127,1
    - Dst: test_time_parse_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:128,1
    - Dst: knot_time_parse
      Src: /src/knot-dns/tests/contrib/test_time.c:130,1
    - Dst: test_time_parse_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:131,1
    - Dst: knot_time_parse
      Src: /src/knot-dns/tests/contrib/test_time.c:133,1
    - Dst: test_time_parse_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:134,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:134,1
    - Dst: knot_time_parse
      Src: /src/knot-dns/tests/contrib/test_time.c:136,1
    - Dst: test_time_parse_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:137,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: test_time_parse
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - knot_time
    - knot_time_parse
    - test_time_parse_expect
    linkageType: ''
    returnType: void
    signature: void test_time_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:143,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_time.c:144,1
    - Dst: strncmp
      Src: /src/knot-dns/tests/contrib/test_time.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ret
    - res
    - res_len
    - expected
    - msg
    argTypes:
    - int
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: test_time_print_expect
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_time_print_expect(int ret, const char *res, int res_len,\n\t\t\t\t
      \  const char *expected, const char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:154,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:155,1
    - Dst: knot_time_add
      Src: /src/knot-dns/tests/contrib/test_time.c:157,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:157,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:158,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:159,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:161,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:163,1
    - Dst: knot_time_add
      Src: /src/knot-dns/tests/contrib/test_time.c:165,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:165,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:166,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:167,1
    - Dst: knot_time_add
      Src: /src/knot-dns/tests/contrib/test_time.c:168,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:168,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:169,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:170,1
    - Dst: knot_time_add
      Src: /src/knot-dns/tests/contrib/test_time.c:172,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:172,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:173,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:174,1
    - Dst: knot_time_add
      Src: /src/knot-dns/tests/contrib/test_time.c:175,1
    - Dst: knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:175,1
    - Dst: knot_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:176,1
    - Dst: test_time_print_expect
      Src: /src/knot-dns/tests/contrib/test_time.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 178
    functionName: test_time_print
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - knot_time
    - test_time_print_expect
    - knot_time_print
    - knot_time_add
    linkageType: ''
    returnType: void
    signature: void test_time_print(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_time.c:182,1
    - Dst: test_now
      Src: /src/knot-dns/tests/contrib/test_time.c:184,1
    - Dst: test_diff
      Src: /src/knot-dns/tests/contrib/test_time.c:185,1
    - Dst: test_diff_ms
      Src: /src/knot-dns/tests/contrib/test_time.c:186,1
    - Dst: test_knot_time
      Src: /src/knot-dns/tests/contrib/test_time.c:187,1
    - Dst: test_time_parse
      Src: /src/knot-dns/tests/contrib/test_time.c:188,1
    - Dst: test_time_print
      Src: /src/knot-dns/tests/contrib/test_time.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_time.c
    functionUses: 0
    functionsReached:
    - test_diff
    - test_time_parse
    - test_diff_ms
    - plan_lazy
    - test_time_print
    - test_now
    - test_knot_time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/knot-dns/tests/contrib/test_net.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: addr_local
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage addr_local(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: addr_from_socket
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - is_int
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage addr_from_socket(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: socktype_name
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *socktype_name(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: socktype_is_stream
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool socktype_is_stream(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/knot-dns/tests/contrib/test_net.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: poll_read
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: int poll_read(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_net.c:98,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:100,1
    - Dst: accept
      Src: /src/knot-dns/tests/contrib/test_net.c:101,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/contrib/test_net.c:107,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/contrib/test_net.c:109,1
    - Dst: handler
      Src: /src/knot-dns/tests/contrib/test_net.c:110,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:112,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - server_ctx_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: server_handle
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - accept
    - pthread_mutex_lock
    - socktype_is_stream
    - close
    - handler
    linkageType: ''
    returnType: void
    signature: void server_handle(server_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/contrib/test_net.c:127,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/contrib/test_net.c:129,1
    - Dst: assert
      Src: /src/knot-dns/tests/contrib/test_net.c:145,1
    - Dst: server_handle
      Src: /src/knot-dns/tests/contrib/test_net.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: server_main
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - assert
    - server_handle
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void *server_main(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/contrib/test_net.c:155,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/tests/contrib/test_net.c:164,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/contrib/test_net.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - sock
    - type
    - handler
    - handler_data
    argTypes:
    - server_ctx_t*
    - int
    - int
    - server_cb
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: server_start
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 1
    functionsReached:
    - pthread_create
    - pthread_mutex_init
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool server_start(server_ctx_t *ctx, int sock, int type,\n                         server_cb
      handler, void *handler_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/contrib/test_net.c:170,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/contrib/test_net.c:172,1
    - Dst: pthread_kill
      Src: /src/knot-dns/tests/contrib/test_net.c:174,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/contrib/test_net.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - server_ctx_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: server_stop
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 1
    functionsReached:
    - pthread_join
    - pthread_kill
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void server_stop(server_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:187,1
    - Dst: net_base_send
      Src: /src/knot-dns/tests/contrib/test_net.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sock
    - _server
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: handler_echo
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - socktype_is_stream
    - net_base_send
    linkageType: ''
    returnType: void
    signature: void handler_echo(int sock, void *_server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:206,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:210,1
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:211,1
    - Dst: net_dgram_send
      Src: /src/knot-dns/tests/contrib/test_net.c:213,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:215,1
    - Dst: net_is_connected
      Src: /src/knot-dns/tests/contrib/test_net.c:217,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:218,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:221,1
    - Dst: net_stream_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:222,1
    - Dst: net_dgram_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:224,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:226,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:227,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_net.c:227,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - server_addr
    - source_addr
    - type
    - name
    - addr_name
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 230
    functionName: test_connected_one
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_recv
    - ok
    - socktype_is_stream
    - close
    - memcmp
    - net_is_connected
    - net_dgram_recv
    - net_dgram_send
    - net_stream_send
    - is_int
    linkageType: ''
    returnType: void
    signature: "void test_connected_one(const struct sockaddr_storage *server_addr,\n
      \                              const struct sockaddr_storage *source_addr,\n
      \                              int type, const char *name, const char *addr_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:236,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:243,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:245,1
    - Dst: listen
      Src: /src/knot-dns/tests/contrib/test_net.c:246,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:247,1
    - Dst: server_start
      Src: /src/knot-dns/tests/contrib/test_net.c:251,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:252,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:254,1
    - Dst: test_connected_one
      Src: /src/knot-dns/tests/contrib/test_net.c:258,1
    - Dst: test_connected_one
      Src: /src/knot-dns/tests/contrib/test_net.c:259,1
    - Dst: test_connected_one
      Src: /src/knot-dns/tests/contrib/test_net.c:260,1
    - Dst: server_stop
      Src: /src/knot-dns/tests/contrib/test_net.c:264,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 266
    functionName: test_connected
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 1
    functionsReached:
    - test_connected_one
    - addr_local
    - socktype_is_stream
    - server_start
    - close
    - listen
    - server_stop
    - addr_from_socket
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_connected(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sock
    - data
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: handler_noop
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handler_noop(int sock, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:276,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:284,1
    - Dst: server_start
      Src: /src/knot-dns/tests/contrib/test_net.c:287,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:288,1
    - Dst: net_unbound_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:292,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:293,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:295,1
    - Dst: net_is_connected
      Src: /src/knot-dns/tests/contrib/test_net.c:295,1
    - Dst: net_dgram_send
      Src: /src/knot-dns/tests/contrib/test_net.c:297,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:298,1
    - Dst: net_dgram_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:300,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:301,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:303,1
    - Dst: net_dgram_send
      Src: /src/knot-dns/tests/contrib/test_net.c:304,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:305,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:307,1
    - Dst: net_unbound_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:311,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:312,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:314,1
    - Dst: net_is_connected
      Src: /src/knot-dns/tests/contrib/test_net.c:314,1
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:326,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:327,1
    - Dst: net_stream_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:329,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:330,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:332,1
    - Dst: server_stop
      Src: /src/knot-dns/tests/contrib/test_net.c:336,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 338
    functionName: test_unconnected
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_recv
    - is_int
    - addr_local
    - server_start
    - close
    - net_unbound_socket
    - net_is_connected
    - server_stop
    - net_dgram_recv
    - addr_from_socket
    - net_dgram_send
    - net_stream_send
    - ok
    linkageType: ''
    returnType: void
    signature: void test_unconnected(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:350,1
    - Dst: net_bound_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:351,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:352,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:353,1
    - Dst: listen
      Src: /src/knot-dns/tests/contrib/test_net.c:355,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:356,1
    - Dst: net_connected_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:358,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:359,1
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:361,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:362,1
    - Dst: net_stream_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:364,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:365,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:367,1
    - Dst: net_connected_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:371,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:372,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:374,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:375,1
    - Dst: usleep
      Src: /src/knot-dns/tests/contrib/test_net.c:376,1
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:378,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:379,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 382
    functionName: test_refused
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_recv
    - is_int
    - addr_local
    - net_bound_socket
    - close
    - listen
    - usleep
    - addr_from_socket
    - net_connected_socket
    - net_stream_send
    - ok
    linkageType: ''
    returnType: void
    signature: void test_refused(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:396,1
    - Dst: net_stream_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - remote
    - send
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: _sync
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_recv
    - net_stream_send
    linkageType: ''
    returnType: bool
    signature: bool _sync(int remote, int send)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sync
      Src: /src/knot-dns/tests/contrib/test_net.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - remote
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: sync_signal
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - _sync
    linkageType: ''
    returnType: bool
    signature: bool sync_signal(int remote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sync
      Src: /src/knot-dns/tests/contrib/test_net.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - remote
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: sync_wait
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - _sync
    linkageType: ''
    returnType: bool
    signature: bool sync_wait(int remote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sync_signal
      Src: /src/knot-dns/tests/contrib/test_net.c:421,1
    - Dst: net_stream_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:424,1
    - Dst: net_dns_tcp_recv
      Src: /src/knot-dns/tests/contrib/test_net.c:426,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_net.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sock
    - _ctx
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: handler_dns
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_recv
    - sync_signal
    - net_dns_tcp_recv
    - memcmp
    linkageType: ''
    returnType: void
    signature: void handler_dns(int sock, void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/tests/contrib/test_net.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: dns_send_hello
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_dns_tcp_send
    linkageType: ''
    returnType: void
    signature: void dns_send_hello(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: dns_send_fragmented
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_send
    linkageType: ''
    returnType: void
    signature: void dns_send_fragmented(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: dns_send_incomplete
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_send
    linkageType: ''
    returnType: void
    signature: void dns_send_incomplete(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_stream_send
      Src: /src/knot-dns/tests/contrib/test_net.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: dns_send_trailing
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - net_stream_send
    linkageType: ''
    returnType: void
    signature: void dns_send_trailing(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:491,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:493,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:496,1
    - Dst: server_start
      Src: /src/knot-dns/tests/contrib/test_net.c:499,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:500,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:502,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:504,1
    - Dst: sync_wait
      Src: /src/knot-dns/tests/contrib/test_net.c:506,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:507,1
    - Dst: struct testcase*::send_callback
      Src: /src/knot-dns/tests/contrib/test_net.c:508,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:510,1
    - Dst: server_stop
      Src: /src/knot-dns/tests/contrib/test_net.c:511,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:512,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 516
    functionName: test_dns_tcp
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - sync_wait
    - struct testcase*::send_callback
    - addr_local
    - server_start
    - close
    - server_stop
    - addr_from_socket
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_dns_tcp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/knot-dns/tests/contrib/test_net.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: socket_is_blocking
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool socket_is_blocking(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:526,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:529,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:530,1
    - Dst: socket_is_blocking
      Src: /src/knot-dns/tests/contrib/test_net.c:530,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:531,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:534,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:535,1
    - Dst: socket_is_blocking
      Src: /src/knot-dns/tests/contrib/test_net.c:535,1
    - Dst: socktype_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:537,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:539,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:542,1
    - Dst: net_connected_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:543,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:544,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:545,1
    - Dst: socket_is_blocking
      Src: /src/knot-dns/tests/contrib/test_net.c:545,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:547,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 549
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 549
    functionName: test_nonblocking_mode
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - is_int
    - addr_local
    - socktype_is_stream
    - close
    - socket_is_blocking
    - addr_from_socket
    - net_connected_socket
    - ok
    linkageType: ''
    returnType: void
    signature: void test_nonblocking_mode(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:557,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:560,1
    - Dst: listen
      Src: /src/knot-dns/tests/contrib/test_net.c:562,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:563,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:565,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:570,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:572,1
    - Dst: poll_read
      Src: /src/knot-dns/tests/contrib/test_net.c:576,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:577,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:581,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:583,1
    - Dst: socket_is_blocking
      Src: /src/knot-dns/tests/contrib/test_net.c:583,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:585,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/tests/contrib/test_net.c:585,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:588,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:592,1
    - Dst: net_connected_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:593,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:594,1
    - Dst: poll_read
      Src: /src/knot-dns/tests/contrib/test_net.c:596,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:597,1
    - Dst: net_accept
      Src: /src/knot-dns/tests/contrib/test_net.c:599,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:600,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:602,1
    - Dst: socket_is_blocking
      Src: /src/knot-dns/tests/contrib/test_net.c:602,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:606,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 608
    functionName: test_nonblocking_accept
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - addr_local
    - sockaddr_cmp
    - close
    - net_accept
    - listen
    - poll_read
    - socket_is_blocking
    - addr_from_socket
    - net_connected_socket
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_nonblocking_accept(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:612,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:628,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:630,1
    - Dst: net_socktype
      Src: /src/knot-dns/tests/contrib/test_net.c:630,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:632,1
    - Dst: net_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:632,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:634,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_net.c:637,1
    - Dst: net_socktype
      Src: /src/knot-dns/tests/contrib/test_net.c:637,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:638,1
    - Dst: net_is_stream
      Src: /src/knot-dns/tests/contrib/test_net.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 639
    functionName: test_socket_types
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - is_int
    - addr_local
    - close
    - net_socktype
    - ok
    - net_is_stream
    linkageType: ''
    returnType: void
    signature: void test_socket_types(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_local
      Src: /src/knot-dns/tests/contrib/test_net.c:643,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_net.c:649,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:652,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:656,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:658,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:662,1
    - Dst: addr_from_socket
      Src: /src/knot-dns/tests/contrib/test_net.c:664,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net.c:665,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/tests/contrib/test_net.c:665,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:668,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 670
    functionName: test_bind_multiple
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - skip
    - addr_local
    - sockaddr_cmp
    - close
    - addr_from_socket
    - ok
    linkageType: ''
    returnType: void
    signature: void test_bind_multiple(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: signal_noop
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void signal_noop(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_net.c:678,1
    - Dst: signal
      Src: /src/knot-dns/tests/contrib/test_net.c:680,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:682,1
    - Dst: test_nonblocking_mode
      Src: /src/knot-dns/tests/contrib/test_net.c:683,1
    - Dst: test_nonblocking_mode
      Src: /src/knot-dns/tests/contrib/test_net.c:684,1
    - Dst: test_nonblocking_accept
      Src: /src/knot-dns/tests/contrib/test_net.c:685,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:687,1
    - Dst: test_socket_types
      Src: /src/knot-dns/tests/contrib/test_net.c:688,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:690,1
    - Dst: test_connected
      Src: /src/knot-dns/tests/contrib/test_net.c:691,1
    - Dst: test_connected
      Src: /src/knot-dns/tests/contrib/test_net.c:692,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:694,1
    - Dst: test_unconnected
      Src: /src/knot-dns/tests/contrib/test_net.c:695,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:697,1
    - Dst: test_refused
      Src: /src/knot-dns/tests/contrib/test_net.c:698,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:700,1
    - Dst: test_dns_tcp
      Src: /src/knot-dns/tests/contrib/test_net.c:701,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_net.c:703,1
    - Dst: test_bind_multiple
      Src: /src/knot-dns/tests/contrib/test_net.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 707
      start: 676
    functionDepth: 4
    functionLinenumber: 676
    functionLinenumberEnd: 707
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_net.c
    functionUses: 0
    functionsReached:
    - test_nonblocking_accept
    - test_unconnected
    - diag
    - test_bind_multiple
    - signal
    - test_refused
    - plan_lazy
    - test_connected
    - test_nonblocking_mode
    - test_socket_types
    - test_dns_tcp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:29,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:30,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: localhost
    functionSourceFile: /src/knot-dns/tests/contrib/test_net_shortwrite.c
    functionUses: 0
    functionsReached:
    - memcpy
    - getaddrinfo
    - freeaddrinfo
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage localhost(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_dns_tcp_recv
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:61,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 66
    functionName: thr_receive
    functionSourceFile: /src/knot-dns/tests/contrib/test_net_shortwrite.c
    functionUses: 0
    functionsReached:
    - net_dns_tcp_recv
    - close
    linkageType: ''
    returnType: void
    signature: void *thr_receive(void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:70,1
    - Dst: localhost
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:76,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:78,1
    - Dst: listen
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:81,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:84,1
    - Dst: getsockname
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:91,1
    - Dst: setsockopt
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:95,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:96,1
    - Dst: pthread_create
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:108,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:109,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:117,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:118,1
    - Dst: pthread_join
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:122,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:123,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:125,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:126,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:132,1
    - Dst: close
      Src: /src/knot-dns/tests/contrib/test_net_shortwrite.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 140
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_net_shortwrite.c
    functionUses: 0
    functionsReached:
    - localhost
    - setsockopt
    - pthread_join
    - plan_lazy
    - pthread_create
    - close
    - memcmp
    - getsockname
    - listen
    - net_dns_tcp_send
    - sockaddr_len
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:20,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:27,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:28,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:29,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:30,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:31,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:32,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:33,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:34,1
    - Dst: knot_base32hex_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:37,1
    - Dst: knot_base32hex_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:39,1
    - Dst: knot_base32hex_encode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:40,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:41,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:43,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:44,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:45,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:46,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:47,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:48,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:49,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:50,1
    - Dst: knot_base32hex_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:52,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:53,1
    - Dst: knot_base32hex_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:54,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:55,1
    - Dst: knot_base32hex_decode_alloc
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:56,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:57,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:60,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:61,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:62,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:63,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:65,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:69,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:69,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:71,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:72,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:76,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:76,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:80,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:81,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:82,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:83,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:84,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:85,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:89,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:89,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:92,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:94,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:96,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:96,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:100,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:101,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:102,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:103,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:104,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:105,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:107,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:109,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:109,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:111,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:112,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:114,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:116,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:116,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:120,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:121,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:122,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:123,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:125,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:127,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:129,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:129,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:131,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:132,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:134,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:136,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:136,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:140,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:141,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:142,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:143,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:144,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:145,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:147,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:149,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:149,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:152,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:154,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:156,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:156,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:160,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:161,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:162,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:163,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:165,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:169,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:169,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:171,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:172,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:174,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:176,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:176,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:180,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:181,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:182,1
    - Dst: strlen
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:183,1
    - Dst: knot_base32hex_encode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:184,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:185,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:189,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:189,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:191,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:192,1
    - Dst: skip
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:196,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:196,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:201,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:202,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:203,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:205,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:206,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:207,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:208,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:209,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:211,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:213,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:214,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:215,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:219,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:220,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:221,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:222,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:223,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:224,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:225,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:226,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:227,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:228,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:229,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:230,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:231,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:232,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:233,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:236,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:237,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:238,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:239,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:240,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:241,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:242,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:243,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:244,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:245,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:246,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:247,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:248,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:249,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:250,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:251,1
    - Dst: knot_base32hex_decode
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:252,1
    - Dst: ok
      Src: /src/knot-dns/tests/contrib/test_base32hex.c:253,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 207
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 256
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_base32hex.c
    functionUses: 0
    functionsReached:
    - knot_base32hex_decode_alloc
    - skip
    - plan
    - strlen
    - strlcpy
    - memcmp
    - knot_base32hex_encode_alloc
    - knot_base32hex_decode
    - knot_base32hex_encode
    - ok
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:30,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:32,1
    - Dst: CHECK4
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:33,1
    - Dst: CHECK4
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:34,1
    - Dst: CHECK4
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:35,1
    - Dst: CHECK4
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:36,1
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:38,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:39,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:40,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:41,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:42,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:44,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:45,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:46,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:47,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:49,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:50,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:51,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:53,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:54,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:55,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:56,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:57,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:58,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:59,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:62,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:63,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:66,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:67,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:69,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:70,1
    - Dst: CHECK6
      Src: /src/knot-dns/tests/contrib/test_inet_ntop.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_inet_ntop.c
    functionUses: 0
    functionsReached:
    - CHECK6
    - CHECK4
    - diag
    - plan_lazy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_spin_lock
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:24,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: thread
    functionSourceFile: /src/knot-dns/tests/contrib/test_spinlock.c
    functionUses: 0
    functionsReached:
    - knot_spin_lock
    - knot_spin_unlock
    linkageType: ''
    returnType: int
    signature: int thread(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: interrupt_handle
    functionSourceFile: /src/knot-dns/tests/contrib/test_spinlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_handle(int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:45,1
    - Dst: sigemptyset
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:50,1
    - Dst: sigaction
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:52,1
    - Dst: knot_spin_init
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:54,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:56,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:57,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:58,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:59,1
    - Dst: knot_spin_destroy
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:61,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:63,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_spinlock.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_spinlock.c
    functionUses: 0
    functionsReached:
    - knot_spin_destroy
    - dt_delete
    - sigaction
    - dt_start
    - dt_create
    - plan_lazy
    - knot_spin_init
    - sigemptyset
    - dt_join
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:23,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:24,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:25,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:25,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:26,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:27,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:27,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - wire
    - max
    - i
    argTypes:
    - wire_ctx_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: ok_offset
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - OK
    - wire_ctx_offset
    - wire_ctx_set_offset
    - is_int
    linkageType: ''
    returnType: void
    signature: void ok_offset(wire_ctx_t *wire, size_t max, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:33,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:34,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:35,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:37,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:37,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:39,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:39,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - wire
    - max
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: nok_offset
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - OK
    - wire_ctx_offset
    - wire_ctx_set_offset
    - NOK
    - is_int
    linkageType: ''
    returnType: void
    signature: void nok_offset(wire_ctx_t *wire, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:45,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:50,1
    - Dst: ok_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:53,1
    - Dst: ok_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:55,1
    - Dst: ok_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:57,1
    - Dst: nok_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: offset_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - nok_offset
    - wire_ctx_init
    - diag
    - ok_offset
    linkageType: ''
    returnType: void
    signature: void offset_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:64,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:70,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:72,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:73,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:74,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:74,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:76,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:77,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:78,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:78,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:81,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:82,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:83,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:83,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:87,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:89,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:90,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:92,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:93,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:94,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:94,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:96,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:97,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:98,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:98,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:101,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:102,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:103,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: skip_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - diag
    - OK
    - wire_ctx_offset
    - wire_ctx_set_offset
    - wire_ctx_skip
    - NOK
    - is_int
    linkageType: ''
    returnType: void
    signature: void skip_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:108,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:112,1
    - Dst: wire_ctx_clear
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:114,1
    - Dst: NOK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:115,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:116,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:118,1
    - Dst: wire_ctx_clear
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:119,1
    - Dst: OK
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:120,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:121,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:121,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: clear_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - diag
    - wire_ctx_available
    - OK
    - NOK
    - wire_ctx_clear
    - is_int
    linkageType: ''
    returnType: void
    signature: void clear_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:170,1
    - Dst: check_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:172,1
    - Dst: check_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:173,1
    - Dst: check_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:174,1
    - Dst: check_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:175,1
    - Dst: check_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:176,1
    - Dst: check_general_rw
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: read_write_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - check_general_rw
    - diag
    - check_rw
    linkageType: ''
    returnType: void
    signature: void read_write_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:219,1
    - Dst: check_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:221,1
    - Dst: check_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:222,1
    - Dst: check_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:223,1
    - Dst: check_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:224,1
    - Dst: check_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:225,1
    - Dst: check_general_rw_over
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: read_write_overflow_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - check_rw_over
    - diag
    - check_general_rw_over
    linkageType: ''
    returnType: void
    signature: void read_write_overflow_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:253,1
    - Dst: check_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:255,1
    - Dst: check_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:256,1
    - Dst: check_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:257,1
    - Dst: check_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:258,1
    - Dst: check_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:259,1
    - Dst: check_general_ro
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: write_readonly_test
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - check_general_ro
    - diag
    - check_ro
    linkageType: ''
    returnType: void
    signature: void write_readonly_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:266,1
    - Dst: offset_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:268,1
    - Dst: skip_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:269,1
    - Dst: clear_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:270,1
    - Dst: read_write_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:271,1
    - Dst: read_write_overflow_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:272,1
    - Dst: write_readonly_test
      Src: /src/knot-dns/tests/contrib/test_wire_ctx.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_wire_ctx.c
    functionUses: 0
    functionsReached:
    - skip_test
    - read_write_test
    - read_write_overflow_test
    - plan_lazy
    - offset_test
    - write_readonly_test
    - clear_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/tests/contrib/test_atomic.c:43,1
    - Dst: ATOMIC_SUB
      Src: /src/knot-dns/tests/contrib/test_atomic.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: thread_add
    functionSourceFile: /src/knot-dns/tests/contrib/test_atomic.c
    functionUses: 0
    functionsReached:
    - ATOMIC_SUB
    - ATOMIC_ADD
    linkageType: ''
    returnType: int
    signature: int thread_add(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_get_id
      Src: /src/knot-dns/tests/contrib/test_atomic.c:52,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:55,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: thread_set
    functionSourceFile: /src/knot-dns/tests/contrib/test_atomic.c
    functionUses: 0
    functionsReached:
    - dt_get_id
    - ATOMIC_SET
    - ATOMIC_GET
    linkageType: ''
    returnType: int
    signature: int thread_set(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/contrib/test_atomic.c:71,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/contrib/test_atomic.c:77,1
    - Dst: ATOMIC_XCHG
      Src: /src/knot-dns/tests/contrib/test_atomic.c:80,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/tests/contrib/test_atomic.c:89,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/tests/contrib/test_atomic.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - thread
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: thread_xchg
    functionSourceFile: /src/knot-dns/tests/contrib/test_atomic.c
    functionUses: 0
    functionsReached:
    - ATOMIC_XCHG
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int thread_xchg(struct dthread *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: interrupt_handle
    functionSourceFile: /src/knot-dns/tests/contrib/test_atomic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_handle(int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/contrib/test_atomic.c:107,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:109,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:110,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:111,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:112,1
    - Dst: sigemptyset
      Src: /src/knot-dns/tests/contrib/test_atomic.c:117,1
    - Dst: sigaction
      Src: /src/knot-dns/tests/contrib/test_atomic.c:119,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/contrib/test_atomic.c:122,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/contrib/test_atomic.c:123,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/contrib/test_atomic.c:124,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/contrib/test_atomic.c:125,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:127,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:127,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:128,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:128,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/contrib/test_atomic.c:131,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/contrib/test_atomic.c:132,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/contrib/test_atomic.c:133,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/contrib/test_atomic.c:134,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:136,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:143,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/tests/contrib/test_atomic.c:146,1
    - Dst: dt_create
      Src: /src/knot-dns/tests/contrib/test_atomic.c:147,1
    - Dst: dt_start
      Src: /src/knot-dns/tests/contrib/test_atomic.c:148,1
    - Dst: dt_join
      Src: /src/knot-dns/tests/contrib/test_atomic.c:149,1
    - Dst: dt_delete
      Src: /src/knot-dns/tests/contrib/test_atomic.c:150,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/tests/contrib/test_atomic.c:151,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:153,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/tests/contrib/test_atomic.c:155,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:161,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:162,1
    - Dst: is_int
      Src: /src/knot-dns/tests/contrib/test_atomic.c:163,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:165,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:166,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:167,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/tests/contrib/test_atomic.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 171
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/knot-dns/tests/contrib/test_atomic.c
    functionUses: 0
    functionsReached:
    - dt_delete
    - sigaction
    - dt_start
    - dt_create
    - plan_lazy
    - ATOMIC_DEINIT
    - ATOMIC_GET
    - ATOMIC_SET
    - sigemptyset
    - pthread_mutex_init
    - pthread_mutex_destroy
    - dt_join
    - ATOMIC_INIT
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_pkt.c:33,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_pkt.c:34,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:37,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:37,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:38,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:39,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:39,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:40,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:41,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:41,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:42,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:43,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:43,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/tests/libknot/test_pkt.c:44,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_pkt.c:49,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: packet_match
    functionSourceFile: /src/knot-dns/tests/libknot/test_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_wire_get_nscount
    - is_int
    - knot_rrset_equal
    - knot_wire_get_ancount
    - knot_wire_get_arcount
    - knot_wire_get_qdcount
    linkageType: ''
    returnType: void
    signature: void packet_match(knot_pkt_t *in, knot_pkt_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_pkt.c:58,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/tests/libknot/test_pkt.c:63,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_pkt.c:69,1
    - Dst: knot_edns_init
      Src: /src/knot-dns/tests/libknot/test_pkt.c:75,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:76,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_pkt.c:79,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_pkt.c:80,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:81,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/libknot/test_pkt.c:88,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_pkt.c:89,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_pkt.c:90,1
    - Dst: knot_wire_set_qr
      Src: /src/knot-dns/tests/libknot/test_pkt.c:93,1
    - Dst: strdup
      Src: /src/knot-dns/tests/libknot/test_pkt.c:100,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_pkt.c:101,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/tests/libknot/test_pkt.c:102,1
    - Dst: knot_tsig_wire_size
      Src: /src/knot-dns/tests/libknot/test_pkt.c:102,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:103,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/libknot/test_pkt.c:106,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:107,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/tests/libknot/test_pkt.c:110,1
    - Dst: knot_edns_wire_size
      Src: /src/knot-dns/tests/libknot/test_pkt.c:110,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:111,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/tests/libknot/test_pkt.c:114,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:115,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/libknot/test_pkt.c:118,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:119,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/libknot/test_pkt.c:120,1
    - Dst: RDVAL
      Src: /src/knot-dns/tests/libknot/test_pkt.c:120,1
    - Dst: RDLEN
      Src: /src/knot-dns/tests/libknot/test_pkt.c:120,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/tests/libknot/test_pkt.c:121,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:122,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/tests/libknot/test_pkt.c:125,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:126,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/libknot/test_pkt.c:131,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:132,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/libknot/test_pkt.c:133,1
    - Dst: RDVAL
      Src: /src/knot-dns/tests/libknot/test_pkt.c:133,1
    - Dst: RDLEN
      Src: /src/knot-dns/tests/libknot/test_pkt.c:133,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/tests/libknot/test_pkt.c:134,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:136,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/tests/libknot/test_pkt.c:139,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:140,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/tests/libknot/test_pkt.c:143,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:144,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/libknot/test_pkt.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_pkt.c:152,1
    - Dst: knot_pkt_parse_question
      Src: /src/knot-dns/tests/libknot/test_pkt.c:155,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:156,1
    - Dst: parse_payload
      Src: /src/knot-dns/tests/libknot/test_pkt.c:159,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:160,1
    - Dst: packet_match
      Src: /src/knot-dns/tests/libknot/test_pkt.c:163,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/libknot/test_pkt.c:168,1
    - Dst: knot_pkt_copy
      Src: /src/knot-dns/tests/libknot/test_pkt.c:169,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_pkt.c:170,1
    - Dst: packet_match
      Src: /src/knot-dns/tests/libknot/test_pkt.c:173,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:176,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:177,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:178,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:182,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_pkt.c:184,1
    - Dst: mp_delete
      Src: /src/knot-dns/tests/libknot/test_pkt.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 188
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_pkt.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - RDLEN
    - knot_wire_set_qr
    - knot_pkt_begin
    - packet_match
    - knot_pkt_free
    - knot_pkt_put
    - knot_edns_add_option
    - is_int
    - knot_pkt_put_question
    - knot_rrset_new
    - free
    - knot_pkt_copy
    - knot_dname_from_str_alloc
    - knot_pkt_reserve
    - parse_payload
    - ok
    - mp_delete
    - assert
    - RDVAL
    - strlen
    - plan_lazy
    - knot_dname_free
    - knot_pkt_parse_question
    - knot_edns_init
    - strdup
    - mm_ctx_mempool
    - knot_edns_wire_size
    - knot_pkt_new
    - knot_tsig_wire_size
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_seek
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:25,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rrs
    argTypes:
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: rdataset_size
    functionSourceFile: /src/knot-dns/tests/libknot/test_rdataset.c
    functionUses: 0
    functionsReached:
    - rr_seek
    - knot_rdata_size
    linkageType: ''
    returnType: size_t
    signature: size_t rdataset_size(const knot_rdataset_t *rrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:31,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:35,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:36,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:41,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:44,1
    - Dst: knot_rdataset_add
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:48,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:52,1
    - Dst: knot_rdataset_add
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:53,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:56,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:59,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:59,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:59,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:60,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:60,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:63,1
    - Dst: rdataset_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:63,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:65,1
    - Dst: rdataset_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:65,1
    - Dst: rdataset_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:69,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:69,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:72,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:78,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:79,1
    - Dst: rdataset_size
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:79,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:82,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:82,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:89,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:89,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:94,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:95,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:95,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:96,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:99,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:99,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:102,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:103,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:105,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:107,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:110,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:112,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:116,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:117,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:119,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:123,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:123,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:126,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:127,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:128,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:130,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:131,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:132,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:133,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:134,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:137,1
    - Dst: knot_rdataset_intersect
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:137,1
    - Dst: knot_rdataset_intersect
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:141,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:143,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:144,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:146,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:147,1
    - Dst: knot_rdataset_intersect
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:148,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:150,1
    - Dst: knot_rdataset_intersect
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:152,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:153,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:154,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:155,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:158,1
    - Dst: knot_rdataset_intersect2
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:158,1
    - Dst: knot_rdataset_intersect2
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:161,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:162,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:163,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:164,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:166,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:167,1
    - Dst: knot_rdataset_intersect2
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:168,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:170,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:172,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:173,1
    - Dst: knot_rdataset_intersect2
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:174,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:175,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:176,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:177,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:180,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:180,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:182,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:184,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:184,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:187,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:188,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:189,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:191,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:193,1
    - Dst: RDATASET_INIT_WITH
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:194,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:199,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:201,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:203,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:205,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:208,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:210,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:211,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:212,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/tests/libknot/test_rdataset.c:213,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 216
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 216
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_rdataset.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_intersect2
    - knot_rdata_init
    - is_int
    - knot_rdataset_intersect
    - knot_rdataset_merge
    - RDATASET_INIT_WITH
    - knot_rdataset_at
    - ok
    - assert
    - knot_rdataset_init
    - plan_lazy
    - rdataset_size
    - knot_rdataset_subtract
    - knot_rdata_cmp
    - knot_rdataset_copy
    - knot_rdataset_member
    - knot_rdataset_eq
    - knot_rdataset_clear
    - knot_rdataset_add
    - knot_rdata_size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:190,1
    - Dst: TEST_CASE_FROM
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:191,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: test_inputs
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset-wire.c
    functionUses: 0
    functionsReached:
    - knot_rrset_init_empty
    - knot_rrset_clear
    - TEST_CASE_FROM
    linkageType: ''
    returnType: void
    signature: void test_inputs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:200,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:204,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:204,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:207,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:207,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:207,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - wire
    - size
    - pos
    - canon
    - qname
    - dname
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - bool
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: check_canon
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset-wire.c
    functionUses: 0
    functionsReached:
    - is_int
    - knot_dname_size
    - memcmp
    - knot_rrset_init_empty
    - knot_rrset_clear
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_canon(uint8_t *wire, size_t size, size_t pos, bool canon,\n
      \                       knot_dname_t *qname, knot_dname_t *dname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_canon
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:231,1
    - Dst: check_canon
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 236
    functionName: test_canonization
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset-wire.c
    functionUses: 0
    functionsReached:
    - check_canon
    linkageType: ''
    returnType: void
    signature: void test_canonization(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:240,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:242,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:244,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:246,1
    - Dst: test_inputs
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:247,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:249,1
    - Dst: test_canonization
      Src: /src/knot-dns/tests/libknot/test_rrset-wire.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset-wire.c
    functionUses: 0
    functionsReached:
    - test_inputs
    - diag
    - plan_lazy
    - test_canonization
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_db.c:35,1
    - Dst: rand
      Src: /src/knot-dns/tests/libknot/test_db.c:37,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_db.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - len
    - pool
    argTypes:
    - size_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: str_key_rand
    functionSourceFile: /src/knot-dns/tests/libknot/test_db.c
    functionUses: 1
    functionsReached:
    - rand
    - strlen
    - memset
    linkageType: ''
    returnType: char
    signature: char *str_key_rand(size_t len, knot_mm_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/knot-dns/tests/libknot/test_db.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_db.c:53,1
    - Dst: knot_db_api_t*::txn_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:57,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:58,1
    - Dst: KEY_SET
      Src: /src/knot-dns/tests/libknot/test_db.c:64,1
    - Dst: knot_db_api_t*::insert
      Src: /src/knot-dns/tests/libknot/test_db.c:68,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_db.c:74,1
    - Dst: knot_db_api_t*::txn_commit
      Src: /src/knot-dns/tests/libknot/test_db.c:77,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:78,1
    - Dst: knot_db_api_t*::txn_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:81,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:82,1
    - Dst: KEY_SET
      Src: /src/knot-dns/tests/libknot/test_db.c:87,1
    - Dst: knot_db_api_t*::find
      Src: /src/knot-dns/tests/libknot/test_db.c:89,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_db.c:96,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_db.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_db.c:102,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_db.c:106,1
    - Dst: knot_db_api_t*::iter_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:110,1
    - Dst: knot_db_api_t*::iter_next
      Src: /src/knot-dns/tests/libknot/test_db.c:113,1
    - Dst: knot_db_api_t*::iter_finish
      Src: /src/knot-dns/tests/libknot/test_db.c:115,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:116,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_db.c:124,1
    - Dst: knot_db_api_t*::iter_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:125,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:127,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_db.c:129,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_db.c:130,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:135,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:138,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:141,1
    - Dst: knot_db_api_t*::iter_next
      Src: /src/knot-dns/tests/libknot/test_db.c:142,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:144,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:145,1
    - Dst: knot_db_api_t*::iter_finish
      Src: /src/knot-dns/tests/libknot/test_db.c:146,1
    - Dst: knot_db_api_t*::iter_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:149,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:153,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:154,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:155,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:157,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:158,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:159,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:160,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:161,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:162,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:163,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:164,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:165,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:167,1
    - Dst: KEY_SET
      Src: /src/knot-dns/tests/libknot/test_db.c:169,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:170,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:171,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:172,1
    - Dst: strlcpy
      Src: /src/knot-dns/tests/libknot/test_db.c:174,1
    - Dst: KEY_SET
      Src: /src/knot-dns/tests/libknot/test_db.c:176,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:177,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:178,1
    - Dst: is_string
      Src: /src/knot-dns/tests/libknot/test_db.c:179,1
    - Dst: knot_db_api_t*::iter_finish
      Src: /src/knot-dns/tests/libknot/test_db.c:180,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:181,1
    - Dst: knot_db_api_t*::txn_abort
      Src: /src/knot-dns/tests/libknot/test_db.c:183,1
    - Dst: knot_db_api_t*::txn_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:187,1
    - Dst: knot_db_api_t*::clear
      Src: /src/knot-dns/tests/libknot/test_db.c:188,1
    - Dst: knot_db_api_t*::insert
      Src: /src/knot-dns/tests/libknot/test_db.c:195,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:196,1
    - Dst: knot_db_api_t*::iter_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:198,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:200,1
    - Dst: knot_db_api_t*::count
      Src: /src/knot-dns/tests/libknot/test_db.c:200,1
    - Dst: knot_db_api_t*::iter_seek
      Src: /src/knot-dns/tests/libknot/test_db.c:201,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:204,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:205,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:206,1
    - Dst: knot_db_lmdb_iter_del
      Src: /src/knot-dns/tests/libknot/test_db.c:209,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:210,1
    - Dst: knot_db_api_t*::iter_next
      Src: /src/knot-dns/tests/libknot/test_db.c:212,1
    - Dst: knot_db_api_t*::iter_key
      Src: /src/knot-dns/tests/libknot/test_db.c:214,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:216,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:217,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:220,1
    - Dst: knot_db_api_t*::iter_finish
      Src: /src/knot-dns/tests/libknot/test_db.c:223,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:224,1
    - Dst: knot_db_api_t*::count
      Src: /src/knot-dns/tests/libknot/test_db.c:224,1
    - Dst: knot_db_api_t*::txn_abort
      Src: /src/knot-dns/tests/libknot/test_db.c:226,1
    - Dst: knot_db_api_t*::txn_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:229,1
    - Dst: knot_db_api_t*::clear
      Src: /src/knot-dns/tests/libknot/test_db.c:230,1
    - Dst: knot_db_api_t*::txn_commit
      Src: /src/knot-dns/tests/libknot/test_db.c:231,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:232,1
    - Dst: knot_db_api_t*::txn_begin
      Src: /src/knot-dns/tests/libknot/test_db.c:235,1
    - Dst: knot_db_api_t*::count
      Src: /src/knot-dns/tests/libknot/test_db.c:236,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_db.c:237,1
    - Dst: knot_db_api_t*::txn_abort
      Src: /src/knot-dns/tests/libknot/test_db.c:238,1
    - Dst: knot_db_api_t*::deinit
      Src: /src/knot-dns/tests/libknot/test_db.c:240,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 141
    argCount: 5
    argNames:
    - nkeys
    - keys
    - opts
    - api
    - pool
    argTypes:
    - unsigned
    - char**
    - void*
    - knot_db_api_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 241
    functionName: knot_db_test_set
    functionSourceFile: /src/knot-dns/tests/libknot/test_db.c
    functionUses: 0
    functionsReached:
    - skip
    - knot_db_api_t*::iter_seek
    - strcmp
    - knot_db_api_t*::txn_begin
    - knot_db_api_t*::txn_abort
    - is_int
    - knot_db_api_t*::iter_key
    - knot_db_api_t*::txn_commit
    - knot_db_api_t*::insert
    - knot_db_api_t*::deinit
    - memset
    - ok
    - diag
    - is_string
    - knot_db_api_t*::iter_next
    - knot_db_api_t*::iter_finish
    - knot_db_api_t*::clear
    - knot_db_lmdb_iter_del
    - strlcpy
    - knot_db_api_t*::find
    - KEY_SET
    - knot_db_api_t*::count
    - memcpy
    - knot_db_api_t*::iter_begin
    linkageType: ''
    returnType: void
    signature: "void knot_db_test_set(unsigned nkeys, char **keys, void *opts,\n                            const
      knot_db_api_t *api, knot_mm_t *pool)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_db.c:245,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/tests/libknot/test_db.c:248,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_db.c:251,1
    - Dst: str_key_rand
      Src: /src/knot-dns/tests/libknot/test_db.c:257,1
    - Dst: str_key_sort
      Src: /src/knot-dns/tests/libknot/test_db.c:261,1
    - Dst: knot_db_test_set
      Src: /src/knot-dns/tests/libknot/test_db.c:267,1
    - Dst: knot_db_lmdb_api
      Src: /src/knot-dns/tests/libknot/test_db.c:267,1
    - Dst: knot_db_test_set
      Src: /src/knot-dns/tests/libknot/test_db.c:268,1
    - Dst: knot_db_trie_api
      Src: /src/knot-dns/tests/libknot/test_db.c:268,1
    - Dst: mp_delete
      Src: /src/knot-dns/tests/libknot/test_db.c:271,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/libknot/test_db.c:272,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_db.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 276
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_db.c
    functionUses: 0
    functionsReached:
    - test_rm_rf
    - str_key_rand
    - mm_ctx_mempool
    - knot_db_lmdb_api
    - mp_delete
    - free
    - plan_lazy
    - knot_db_trie_api
    - str_key_sort
    - knot_db_test_set
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - rrset
    - owner
    - type
    - rclass
    - ttl
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - uint16_t
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: check_rrset
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool check_rrset(const knot_rrset_t *rrset, const knot_dname_t *owner,\n
      \                       uint16_t type, uint16_t rclass, uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:30,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:36,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rrset.c:40,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rrset.c:42,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:42,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_rrset.c:43,1
    - Dst: knot_rrset_size_estimate
      Src: /src/knot-dns/tests/libknot/test_rrset.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rrset
    - rdata
    - rdata_len
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: check_size
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset.c
    functionUses: 0
    functionsReached:
    - knot_rrset_size_estimate
    - assert
    - knot_rrset_size
    - is_int
    linkageType: ''
    returnType: void
    signature: void check_size(knot_rrset_t *rrset, uint8_t *rdata, size_t rdata_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_rrset.c:48,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:49,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/libknot/test_rrset.c:52,1
    - Dst: check_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:54,1
    - Dst: check_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:55,1
    - Dst: check_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:56,1
    - Dst: check_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:57,1
    - Dst: check_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:58,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/libknot/test_rrset.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: test_rrset_size
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_from_str_alloc
    - knot_rrset_init
    - check_size
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void test_rrset_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_rrset.c:65,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_rrset.c:68,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:69,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/tests/libknot/test_rrset.c:71,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:73,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:76,1
    - Dst: check_rrset
      Src: /src/knot-dns/tests/libknot/test_rrset.c:76,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:80,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_rrset.c:81,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:82,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:84,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/tests/libknot/test_rrset.c:85,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:86,1
    - Dst: check_rrset
      Src: /src/knot-dns/tests/libknot/test_rrset.c:86,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/libknot/test_rrset.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:92,1
    - Dst: check_rrset
      Src: /src/knot-dns/tests/libknot/test_rrset.c:92,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:94,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/tests/libknot/test_rrset.c:94,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rrset.c:95,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:98,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:98,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:102,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:102,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:105,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:111,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:111,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:116,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:118,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:118,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:122,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:122,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/tests/libknot/test_rrset.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:126,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/tests/libknot/test_rrset.c:126,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/libknot/test_rrset.c:129,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:130,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:133,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/libknot/test_rrset.c:133,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:134,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/libknot/test_rrset.c:134,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:136,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/tests/libknot/test_rrset.c:136,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/tests/libknot/test_rrset.c:139,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rrset.c:140,1
    - Dst: check_rrset
      Src: /src/knot-dns/tests/libknot/test_rrset.c:140,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:143,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/tests/libknot/test_rrset.c:144,1
    - Dst: test_rrset_size
      Src: /src/knot-dns/tests/libknot/test_rrset.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 150
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_rrset.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_new
    - knot_rrset_copy
    - plan_lazy
    - knot_rrset_equal
    - check_rrset
    - knot_rrset_init_empty
    - test_rrset_size
    - knot_dname_free
    - knot_dname_from_str_alloc
    - knot_rrset_init
    - knot_rrset_add_rdata
    - knot_rrset_clear
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:41,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tcp_table_timeout_length
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - list_size
    - tcp_table_timeout
    linkageType: ''
    returnType: size_t
    signature: size_t tcp_table_timeout_length(knot_tcp_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:56,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:56,1
    - Dst: tcp_table_remove
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:58,1
    - Dst: tcp_table_re_lookup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:58,1
    - Dst: del_conn
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tcp_table
    - timeout
    - at_least
    argTypes:
    - knot_tcp_table_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: tcp_cleanup
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - del_conn
    - tcp_table_re_lookup
    - tcp_table_timeout
    - tcp_table_remove
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: "void tcp_cleanup(knot_tcp_table_t *tcp_table, uint32_t timeout,\n
      \                       uint32_t at_least)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_table_lookup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - msg_recv
    argTypes:
    - knot_tcp_table_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tcp_table_find
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - tcp_table_lookup
    linkageType: ''
    returnType: knot_tcp_conn_t
    signature: knot_tcp_conn_t *tcp_table_find(knot_tcp_table_t *table, knot_xdp_msg_t
      *msg_recv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:76,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - knot_xdp_socket_t *sock
    - msgs
    - n_msgs
    - sent
    argTypes:
    - _unused_
    - knot_xdp_msg_t[]
    - uint32_t
    - _unused_*
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: mock_send
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: int
    signature: "int mock_send(_unused_ knot_xdp_socket_t *sock, const knot_xdp_msg_t
      msgs[],\n                     uint32_t n_msgs, _unused_ uint32_t *sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - knot_xdp_socket_t *sock
    - msgs
    - n_msgs
    - sent
    argTypes:
    - _unused_
    - knot_xdp_msg_t[]
    - uint32_t
    - _unused_*
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: mock_send_nocheck
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mock_send_nocheck(_unused_ knot_xdp_socket_t *sock, const knot_xdp_msg_t
      msgs[],\n                             uint32_t n_msgs, _unused_ uint32_t *sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:128,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:129,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - knot_xdp_socket_t *sock
    - msgs
    - n_msgs
    - sent
    argTypes:
    - _unused_
    - knot_xdp_msg_t[]
    - uint32_t
    - _unused_*
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: mock_send2
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: int
    signature: "int mock_send2(_unused_ knot_xdp_socket_t *sock, const knot_xdp_msg_t
      msgs[],\n                      uint32_t n_msgs, _unused_ uint32_t *sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: clean_table
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - tcp_cleanup
    linkageType: ''
    returnType: void
    signature: void clean_table(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: clean_sent
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clean_sent(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:154,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:155,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:156,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:157,1
    - Dst: clean_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - expect_acks
    - expect_rsts
    - expect_syns
    - expect_fins
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: check_sent
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - clean_sent
    - is_int
    linkageType: ''
    returnType: void
    signature: void check_sent(size_t expect_acks, size_t expect_rsts, size_t expect_syns,
      size_t expect_fins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_init
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:163,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:164,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:165,1
    - Dst: htobe16
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:166,1
    - Dst: htobe16
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - flags
    - sport
    - dport
    argTypes:
    - knot_xdp_msg_t*
    - int
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: prepare_msg
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - msg_init
    linkageType: ''
    returnType: void
    signature: void prepare_msg(knot_xdp_msg_t *msg, int flags, uint16_t sport, uint16_t
      dport)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - seq_shift
    - ack_shift
    argTypes:
    - knot_xdp_msg_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: prepare_seqack
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepare_seqack(knot_xdp_msg_t *msg, int seq_shift, int ack_shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - bytes
    - n
    argTypes:
    - knot_xdp_msg_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: prepare_data
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepare_data(knot_xdp_msg_t *msg, const char *bytes, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:184,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:186,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: fix_seqack
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - tcp_table_find
    linkageType: ''
    returnType: void
    signature: void fix_seqack(knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msgs
    - count
    argTypes:
    - knot_xdp_msg_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: fix_seqacks
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - fix_seqack
    linkageType: ''
    returnType: void
    signature: void fix_seqacks(knot_xdp_msg_t *msgs, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:204,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:206,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:207,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:208,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:209,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:210,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:211,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:213,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:214,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:215,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:216,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:217,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:219,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:220,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:221,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:221,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:222,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:222,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: test_syn
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - check_sent
    - assert
    - knot_tcp_send
    - is_int
    - tcp_table_find
    - knot_tcp_cleanup
    - memcmp
    - prepare_msg
    - ok
    linkageType: ''
    returnType: void
    signature: void test_syn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:232,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:234,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:235,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:236,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:237,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:238,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: test_syn_ack_no
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - prepare_msg
    - knot_tcp_cleanup
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_syn_ack_no(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:246,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:247,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:249,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:250,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:251,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:252,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:253,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:254,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:255,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:257,1
    - Dst: clean_table
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: test_establish
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - check_sent
    - prepare_seqack
    - knot_tcp_send
    - knot_tcp_cleanup
    - prepare_msg
    - clean_table
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_establish(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:265,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:267,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:268,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:269,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:270,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:271,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:272,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:273,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: test_syn_ack
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - check_sent
    - knot_tcp_send
    - is_int
    - knot_tcp_cleanup
    - prepare_msg
    - ok
    linkageType: ''
    returnType: void
    signature: void test_syn_ack(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:284,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:287,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:288,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:289,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:292,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:293,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:294,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:297,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:298,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:299,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:302,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:303,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:304,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:306,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:309,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:311,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:312,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:313,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:314,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:315,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:316,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:317,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:319,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:320,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:321,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:322,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:324,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:325,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:325,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:327,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:328,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:329,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:330,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:331,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:333,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:334,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:335,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:336,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:338,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:339,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:339,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:340,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:341,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:341,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:343,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:344,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:345,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:346,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:348,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:349,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:349,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 352
    functionName: test_data_fragments
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - prepare_seqack
    - knot_tcp_send
    - check_sent
    - knot_tcp_recv
    - knot_tcp_cleanup
    - memcmp
    - prepare_msg
    - memset
    - prepare_data
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_data_fragments(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:360,1
    - Dst: be16toh
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:361,1
    - Dst: be16toh
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:362,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:363,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:370,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:371,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:372,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:373,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:374,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:375,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:376,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:378,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:379,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:380,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:381,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:382,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:383,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:384,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:385,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:386,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:389,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:390,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:391,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:392,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:393,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:394,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:395,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:396,1
    - Dst: tcp_table_timeout_length
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:396,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 398
    functionName: test_close
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - check_sent
    - prepare_seqack
    - knot_tcp_send
    - assert
    - knot_tcp_recv
    - tcp_table_timeout_length
    - be16toh
    - knot_tcp_cleanup
    - prepare_msg
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_close(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:406,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:407,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:409,1
    - Dst: malloc
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:411,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:415,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:417,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:418,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:419,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:420,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:421,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:423,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:424,1
    - Dst: usleep
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:425,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:429,1
    - Dst: fix_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:430,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:431,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:432,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:433,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:434,1
    - Dst: clean_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:435,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:438,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:440,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:441,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:442,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:443,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:444,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:445,1
    - Dst: knot_sweep_stats_reset
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:447,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:448,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:450,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:451,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:452,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:453,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:454,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:455,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:456,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:457,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:458,1
    - Dst: tcp_table_timeout_length
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:458,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:459,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:460,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:461,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:463,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 465
    functionName: test_many
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - check_sent
    - knot_tcp_send
    - knot_tcp_recv
    - knot_tcp_cleanup
    - usleep
    - prepare_data
    - is_int
    - knot_sweep_stats_reset
    - knot_tcp_sweep
    - free
    - prepare_msg
    - fix_seqack
    - memset
    - ok
    - assert
    - tcp_table_find
    - clean_sent
    - malloc
    - tcp_table_timeout_length
    linkageType: ''
    returnType: void
    signature: void test_many(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:475,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:479,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:481,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:482,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:483,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:484,1
    - Dst: fix_seqacks
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:488,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:490,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:493,1
    - Dst: fix_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:496,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:497,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:498,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:499,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:500,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:501,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:502,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:503,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:504,1
    - Dst: fix_seqacks
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:507,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:508,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:509,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:510,1
    - Dst: prepare_data
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:511,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:513,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:515,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:516,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:517,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:518,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:519,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:520,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:521,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:522,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:526,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:529,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:530,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:531,1
    - Dst: check_sent
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:532,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:533,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:534,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:535,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:536,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:537,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:537,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:538,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:538,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:539,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:539,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:540,1
    - Dst: tcp_table_find
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:540,1
    - Dst: clean_table
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 543
    functionName: test_ibufs_size
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - knot_tcp_sweep
    - check_sent
    - knot_tcp_send
    - knot_tcp_recv
    - fix_seqacks
    - tcp_table_find
    - knot_tcp_cleanup
    - prepare_msg
    - fix_seqack
    - prepare_data
    - ok
    - clean_table
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_ibufs_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:550,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:551,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:552,1
    - Dst: prepare_msg
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:553,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:554,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:555,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:560,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:566,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:569,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:570,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:572,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:574,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:576,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:577,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:578,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:581,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:583,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:585,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:589,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:590,1
    - Dst: prepare_seqack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:592,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:593,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:594,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:595,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:598,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:599,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:600,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:601,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:602,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:603,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:604,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:605,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:606,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:608,1
    - Dst: clean_table
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:609,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 611
    functionName: test_obufs
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - prepare_seqack
    - knot_tcp_send
    - knot_tcp_recv
    - free
    - knot_tcp_cleanup
    - prepare_msg
    - memset
    - ok
    - clean_table
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_obufs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - socket
    - send_mock
    argTypes:
    - knot_xdp_socket_t**
    - void*
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: init_mock
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void init_mock(knot_xdp_socket_t **socket, void *send_mock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:623,1
    - Dst: knot_tcp_table_new
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:625,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:626,1
    - Dst: knot_tcp_table_new
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:627,1
    - Dst: init_mock
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:629,1
    - Dst: test_syn
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:631,1
    - Dst: test_syn_ack_no
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:632,1
    - Dst: test_establish
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:633,1
    - Dst: test_syn_ack
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:635,1
    - Dst: test_data_fragments
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:636,1
    - Dst: test_close
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:637,1
    - Dst: test_ibufs_size
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:639,1
    - Dst: knot_xdp_deinit
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:641,1
    - Dst: init_mock
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:642,1
    - Dst: test_many
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:643,1
    - Dst: knot_xdp_deinit
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:645,1
    - Dst: init_mock
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:646,1
    - Dst: test_obufs
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:647,1
    - Dst: knot_xdp_deinit
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:649,1
    - Dst: knot_tcp_table_free
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:650,1
    - Dst: knot_tcp_table_free
      Src: /src/knot-dns/tests/libknot/test_xdp_tcp.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 654
      start: 621
    functionDepth: 5
    functionLinenumber: 621
    functionLinenumberEnd: 654
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_xdp_tcp.c
    functionUses: 0
    functionsReached:
    - knot_tcp_table_new
    - assert
    - init_mock
    - test_data_fragments
    - test_syn_ack_no
    - test_obufs
    - test_syn
    - knot_tcp_table_free
    - plan_lazy
    - test_syn_ack
    - test_close
    - knot_xdp_deinit
    - test_many
    - test_establish
    - test_ibufs_size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:25,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:26,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:26,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:28,1
    - Dst: yp_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:28,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:29,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:30,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:31,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:31,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:32,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:33,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - txt
    - num
    - s
    - min
    - max
    argTypes:
    - char*
    - int64_t
    - yp_style_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 34
    functionName: int_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_int
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: "void int_test(const char *txt, int64_t num, yp_style_t s,\n                     int64_t
      min, int64_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:44,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:45,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - txt
    - code
    - s
    - min
    - max
    argTypes:
    - char*
    - int
    - yp_style_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: int_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: "void int_bad_test(const char *txt, int code, yp_style_t s,\n                         int64_t
      min, int64_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:58,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:59,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:59,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:60,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:61,1
    - Dst: yp_bool
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:61,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:62,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:64,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:65,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:65,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:66,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: bool_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - yp_bool
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void bool_test(const char *txt, bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:76,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:77,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:77,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - code
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: bool_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void bool_bad_test(const char *txt, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:90,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:91,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:91,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:92,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:93,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:94,1
    - Dst: yp_opt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:94,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:95,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:97,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:98,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:98,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:99,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - txt
    - val
    - opts
    argTypes:
    - char*
    - unsigned
    - knot_lookup_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: opt_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - yp_opt
    - ok
    linkageType: ''
    returnType: void
    signature: void opt_test(const char *txt, unsigned val, const knot_lookup_t *opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:109,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:110,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - txt
    - code
    - opts
    argTypes:
    - char*
    - int
    - knot_lookup_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: opt_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void opt_bad_test(const char *txt, int code, const knot_lookup_t *opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:123,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:124,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:124,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:126,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:126,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:127,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:127,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:127,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:128,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:129,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:130,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:130,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:131,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:131,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:132,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: str_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_str
    - yp_item_to_txt
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void str_test(const char *txt, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:144,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:145,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:145,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:146,1
    - Dst: yp_addr
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:148,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:149,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:150,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:152,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:152,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:153,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:153,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:154,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - txt
    - port
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: addr_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - yp_addr
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void addr_test(const char *txt, bool port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:164,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:165,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:165,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - code
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: addr_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void addr_bad_test(const char *txt, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:178,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:179,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:179,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:180,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:181,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:183,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:184,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:184,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:185,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - txt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: addr_range_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void addr_range_test(const char *txt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:195,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:196,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - code
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: addr_range_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void addr_range_bad_test(const char *txt, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:209,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:210,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:210,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:211,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:212,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:212,1
    - Dst: yp_dname
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:212,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:213,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:214,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:215,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:216,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:216,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:217,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: dname_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_dname
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void dname_test(const char *txt, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:233,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:234,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:234,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:235,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:236,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:236,1
    - Dst: yp_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:236,1
    - Dst: yp_bin_len
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:236,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:237,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:238,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:239,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:239,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:240,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:240,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:241,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - txt
    - val
    - txt_out
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: hex_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - yp_bin
    - yp_bin_len
    - ok
    linkageType: ''
    returnType: void
    signature: void hex_test(const char *txt, const char *val, const char *txt_out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:251,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:252,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:252,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - code
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: hex_bad_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_item_to_bin
    - diag
    - strlen
    - ok
    linkageType: ''
    returnType: void
    signature: void hex_bad_test(const char *txt, int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:265,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:266,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:266,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:267,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:268,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:268,1
    - Dst: yp_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:268,1
    - Dst: yp_bin_len
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:268,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:269,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:270,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:271,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:271,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:272,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:272,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:273,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: base64_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - memcmp
    - yp_bin
    - yp_bin_len
    - ok
    linkageType: ''
    returnType: void
    signature: void base64_test(const char *txt, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:289,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:290,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:290,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:291,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:292,1
    - Dst: yp_bool
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:292,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:293,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:294,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:295,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:295,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:296,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:296,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:297,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - txt
    - val
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: ref_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - diag
    - strlen
    - is_int
    - yp_item_to_bin
    - yp_item_to_txt
    - yp_bool
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void ref_test(const char *txt, bool val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:302,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:306,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:307,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:308,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:309,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:310,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:311,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:312,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:313,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:314,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:315,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:316,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:317,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:318,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:319,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:320,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:321,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:322,1
    - Dst: int_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:323,1
    - Dst: int_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:324,1
    - Dst: int_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:325,1
    - Dst: int_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:326,1
    - Dst: int_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:327,1
    - Dst: bool_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:330,1
    - Dst: bool_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:331,1
    - Dst: bool_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:332,1
    - Dst: bool_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:333,1
    - Dst: opt_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:342,1
    - Dst: opt_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:343,1
    - Dst: opt_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:344,1
    - Dst: opt_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:345,1
    - Dst: opt_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:346,1
    - Dst: str_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:349,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:352,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:353,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:354,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:355,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:356,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:357,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:358,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:359,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:360,1
    - Dst: addr_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:361,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:362,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:363,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:364,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:365,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:366,1
    - Dst: addr_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:367,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:370,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:371,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:372,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:373,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:374,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:375,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:376,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:377,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:378,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:379,1
    - Dst: addr_range_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:380,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:381,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:382,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:383,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:384,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:385,1
    - Dst: addr_range_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:386,1
    - Dst: dname_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:389,1
    - Dst: hex_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:392,1
    - Dst: hex_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:393,1
    - Dst: hex_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:394,1
    - Dst: hex_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:395,1
    - Dst: hex_bad_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:396,1
    - Dst: base64_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:399,1
    - Dst: ref_test
      Src: /src/knot-dns/tests/libknot/test_yptrafo.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 405
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 405
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_yptrafo.c
    functionUses: 0
    functionsReached:
    - int_test
    - ref_test
    - bool_bad_test
    - bool_test
    - opt_test
    - addr_test
    - addr_bad_test
    - addr_range_test
    - addr_range_bad_test
    - plan_lazy
    - str_test
    - dname_test
    - hex_bad_test
    - opt_bad_test
    - int_bad_test
    - hex_test
    - base64_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u32
      Src: /src/knot-dns/tests/libknot/test_edns.c:69,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/tests/libknot/test_edns.c:73,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:77,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:80,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - rrset
    - ext_rcode
    - ver
    - flags
    - msg
    argTypes:
    - knot_rrset_t*
    - uint8_t
    - uint8_t
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: check_ttl
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - knot_wire_write_u16
    - memcmp
    - knot_wire_write_u32
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_ttl(knot_rrset_t *rrset, uint8_t ext_rcode, uint8_t ver,\n
      \                     uint16_t flags, char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns.c:89,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:117,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - rdata
    - opt_code
    - opt_len
    - opt_data
    - msg
    argTypes:
    - knot_rdata_t*
    - uint16_t
    - uint16_t
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: check_option
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - memcmp
    - assert
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_option(knot_rdata_t *rdata, uint16_t opt_code,\n                         uint16_t
      opt_len, uint8_t *opt_data, char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns.c:127,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:133,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:137,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:141,1
    - Dst: check_ttl
      Src: /src/knot-dns/tests/libknot/test_edns.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - opt_rr
    - payload
    - ver
    - flags
    - ext_rcode
    - msg
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint8_t
    - uint16_t
    - uint8_t
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: check_header
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - assert
    - check_ttl
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_header(knot_rrset_t *opt_rr, uint16_t payload, uint8_t
      ver,\n                         uint16_t flags, uint8_t ext_rcode, char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns.c:148,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:163,1
    - Dst: knot_edns_get_ext_rcode
      Src: /src/knot-dns/tests/libknot/test_edns.c:166,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:167,1
    - Dst: knot_edns_get_version
      Src: /src/knot-dns/tests/libknot/test_edns.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:171,1
    - Dst: knot_edns_do
      Src: /src/knot-dns/tests/libknot/test_edns.c:174,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:175,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:188,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:189,1
    - Dst: knot_edns_opt_get_data
      Src: /src/knot-dns/tests/libknot/test_edns.c:189,1
    - Dst: knot_edns_opt_get_length
      Src: /src/knot-dns/tests/libknot/test_edns.c:189,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:190,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:195,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:196,1
    - Dst: knot_edns_opt_get_data
      Src: /src/knot-dns/tests/libknot/test_edns.c:196,1
    - Dst: knot_edns_opt_get_length
      Src: /src/knot-dns/tests/libknot/test_edns.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:197,1
    - Dst: knot_edns_get_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:201,1
    - Dst: knot_edns_get_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 208
    functionName: test_getters
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - knot_edns_get_ext_rcode
    - assert
    - knot_edns_get_version
    - knot_edns_opt_get_length
    - knot_edns_get_option
    - knot_edns_opt_get_data
    - memcmp
    - knot_edns_do
    - ok
    linkageType: ''
    returnType: void
    signature: void test_getters(knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns.c:212,1
    - Dst: knot_edns_set_payload
      Src: /src/knot-dns/tests/libknot/test_edns.c:215,1
    - Dst: knot_edns_set_ext_rcode
      Src: /src/knot-dns/tests/libknot/test_edns.c:216,1
    - Dst: knot_edns_set_version
      Src: /src/knot-dns/tests/libknot/test_edns.c:217,1
    - Dst: knot_edns_set_do
      Src: /src/knot-dns/tests/libknot/test_edns.c:218,1
    - Dst: check_header
      Src: /src/knot-dns/tests/libknot/test_edns.c:220,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:228,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:229,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:232,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:234,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:235,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:238,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:240,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:241,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:244,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:246,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:247,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:250,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:252,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:253,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:256,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:258,1
    - Dst: knot_strerror
      Src: /src/knot-dns/tests/libknot/test_edns.c:259,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:262,1
    - Dst: check_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:265,1
    - Dst: check_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:269,1
    - Dst: check_option
      Src: /src/knot-dns/tests/libknot/test_edns.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 275
    functionName: test_setters
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_edns_set_payload
    - knot_edns_set_do
    - check_header
    - knot_strerror
    - knot_edns_set_version
    - knot_edns_set_ext_rcode
    - check_option
    - knot_edns_add_option
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_setters(knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:281,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:282,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:284,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:285,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:287,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:288,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:290,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:291,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:293,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: test_alignment
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - knot_edns_alignment_size
    - ok
    linkageType: ''
    returnType: void
    signature: void test_alignment(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:318,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:322,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:323,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:323,1
    - Dst: knot_edns_keepalive_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:327,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:328,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:329,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:335,1
    - Dst: knot_edns_keepalive_write
      Src: /src/knot-dns/tests/libknot/test_edns.c:335,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:337,1
    - Dst: knot_edns_keepalive_write
      Src: /src/knot-dns/tests/libknot/test_edns.c:337,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:341,1
    - Dst: knot_edns_keepalive_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:341,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:343,1
    - Dst: knot_edns_keepalive_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:343,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:345,1
    - Dst: knot_edns_keepalive_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 347
    functionName: test_keepalive
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - knot_edns_keepalive_write
    - knot_edns_keepalive_parse
    - memcmp
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_keepalive(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:367,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:371,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:372,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns.c:372,1
    - Dst: knot_edns_chain_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:376,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:377,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:378,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_edns.c:378,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_edns.c:380,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:385,1
    - Dst: knot_edns_chain_size
      Src: /src/knot-dns/tests/libknot/test_edns.c:385,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:388,1
    - Dst: knot_edns_chain_write
      Src: /src/knot-dns/tests/libknot/test_edns.c:388,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:390,1
    - Dst: knot_edns_chain_write
      Src: /src/knot-dns/tests/libknot/test_edns.c:390,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:392,1
    - Dst: knot_edns_chain_write
      Src: /src/knot-dns/tests/libknot/test_edns.c:392,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:396,1
    - Dst: knot_edns_chain_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:396,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:398,1
    - Dst: knot_edns_chain_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:398,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns.c:400,1
    - Dst: knot_edns_chain_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 402
    functionName: test_chain
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - is_int
    - memcmp
    - knot_edns_chain_size
    - knot_dname_free
    - knot_edns_chain_parse
    - knot_edns_chain_write
    - ok
    - knot_dname_is_equal
    linkageType: ''
    returnType: void
    signature: void test_chain(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_opt_get_data
      Src: /src/knot-dns/tests/libknot/test_edns.c:410,1
    - Dst: knot_edns_opt_get_length
      Src: /src/knot-dns/tests/libknot/test_edns.c:411,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - opt
    - cc
    - sc
    - code
    - msg
    argTypes:
    - char*
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: check_cookie_parse
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - knot_edns_opt_get_data
    - knot_edns_opt_get_length
    - is_int
    linkageType: ''
    returnType: void
    signature: "void check_cookie_parse(const char *opt, knot_edns_cookie_t *cc,\n
      \                              knot_edns_cookie_t *sc, int code, const char
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:422,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:424,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:425,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:428,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - opt
    - cc
    - sc
    - cc_len
    - sc_len
    - msg
    argTypes:
    - char*
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - uint16_t
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: ok_cookie_check
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - check_cookie_parse
    - is_int
    linkageType: ''
    returnType: void
    signature: "void ok_cookie_check(const char *opt, knot_edns_cookie_t *cc,\n                            knot_edns_cookie_t
      *sc, uint16_t cc_len, uint16_t sc_len,\n                            const char
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok_cookie_check
      Src: /src/knot-dns/tests/libknot/test_edns.c:454,1
    - Dst: ok_cookie_check
      Src: /src/knot-dns/tests/libknot/test_edns.c:455,1
    - Dst: ok_cookie_check
      Src: /src/knot-dns/tests/libknot/test_edns.c:456,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:458,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:459,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:460,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:462,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:463,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:464,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:465,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:466,1
    - Dst: check_cookie_parse
      Src: /src/knot-dns/tests/libknot/test_edns.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 468
    functionName: test_cookie
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - check_cookie_parse
    - ok_cookie_check
    linkageType: ''
    returnType: void
    signature: void test_cookie(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_edns.c:472,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns.c:476,1
    - Dst: check_header
      Src: /src/knot-dns/tests/libknot/test_edns.c:479,1
    - Dst: test_setters
      Src: /src/knot-dns/tests/libknot/test_edns.c:481,1
    - Dst: test_getters
      Src: /src/knot-dns/tests/libknot/test_edns.c:482,1
    - Dst: test_alignment
      Src: /src/knot-dns/tests/libknot/test_edns.c:483,1
    - Dst: test_keepalive
      Src: /src/knot-dns/tests/libknot/test_edns.c:484,1
    - Dst: test_chain
      Src: /src/knot-dns/tests/libknot/test_edns.c:485,1
    - Dst: test_cookie
      Src: /src/knot-dns/tests/libknot/test_edns.c:486,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/tests/libknot/test_edns.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 491
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 491
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns.c
    functionUses: 0
    functionsReached:
    - check_header
    - test_setters
    - plan_lazy
    - test_keepalive
    - test_cookie
    - test_alignment
    - test_getters
    - test_chain
    - knot_rrset_clear
    - is_int
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_ctl_alloc
      Src: /src/knot-dns/tests/libknot/test_control.c:26,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:27,1
    - Dst: knot_ctl_connect
      Src: /src/knot-dns/tests/libknot/test_control.c:31,1
    - Dst: usleep
      Src: /src/knot-dns/tests/libknot/test_control.c:35,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:37,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:39,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:45,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:46,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:48,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:49,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:54,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:55,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:57,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:58,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/tests/libknot/test_control.c:63,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:69,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:71,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:73,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:80,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_control.c:80,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:86,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:87,1
    - Dst: fake_ok
      Src: /src/knot-dns/tests/libknot/test_control.c:88,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:90,1
    - Dst: knot_ctl_close
      Src: /src/knot-dns/tests/libknot/test_control.c:92,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/tests/libknot/test_control.c:93,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - socket
    - argc
    - argv
    argTypes:
    - char*
    - size_t
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 94
    functionName: ctl_client
    functionSourceFile: /src/knot-dns/tests/libknot/test_control.c
    functionUses: 0
    functionsReached:
    - diag
    - fake_ok
    - knot_ctl_free
    - knot_ctl_alloc
    - knot_ctl_send
    - usleep
    - knot_ctl_close
    - strcmp
    - knot_ctl_receive
    - knot_ctl_connect
    linkageType: ''
    returnType: void
    signature: void ctl_client(const char *socket, size_t argc, knot_ctl_data_t *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_ctl_alloc
      Src: /src/knot-dns/tests/libknot/test_control.c:98,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:99,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:102,1
    - Dst: knot_ctl_accept
      Src: /src/knot-dns/tests/libknot/test_control.c:104,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:105,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:107,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/tests/libknot/test_control.c:112,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:118,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:122,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:129,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_control.c:129,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:136,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:137,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:139,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:140,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:146,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:147,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:149,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:150,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/tests/libknot/test_control.c:155,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_control.c:156,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:158,1
    - Dst: knot_ctl_close
      Src: /src/knot-dns/tests/libknot/test_control.c:160,1
    - Dst: knot_ctl_unbind
      Src: /src/knot-dns/tests/libknot/test_control.c:161,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/tests/libknot/test_control.c:162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - socket
    - argc
    - argv
    argTypes:
    - char*
    - size_t
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 163
    functionName: ctl_server
    functionSourceFile: /src/knot-dns/tests/libknot/test_control.c
    functionUses: 0
    functionsReached:
    - diag
    - knot_ctl_accept
    - knot_ctl_free
    - knot_ctl_alloc
    - knot_ctl_send
    - knot_ctl_close
    - knot_ctl_receive
    - strcmp
    - ok
    - knot_ctl_unbind
    - is_int
    linkageType: ''
    returnType: void
    signature: void ctl_server(const char *socket, size_t argc, knot_ctl_data_t *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:168,1
    - Dst: fork
      Src: /src/knot-dns/tests/libknot/test_control.c:181,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:183,1
    - Dst: ctl_client
      Src: /src/knot-dns/tests/libknot/test_control.c:187,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_control.c:188,1
    - Dst: ctl_server
      Src: /src/knot-dns/tests/libknot/test_control.c:191,1
    - Dst: wait
      Src: /src/knot-dns/tests/libknot/test_control.c:195,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_control.c:196,1
    - Dst: WIFEXITED
      Src: /src/knot-dns/tests/libknot/test_control.c:196,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/libknot/test_control.c:198,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_control.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 200
    functionName: test_client_server_client
    functionSourceFile: /src/knot-dns/tests/libknot/test_control.c
    functionUses: 0
    functionsReached:
    - fork
    - test_rm_rf
    - free
    - WIFEXITED
    - wait
    - ctl_client
    - ctl_server
    - ok
    linkageType: ''
    returnType: void
    signature: void test_client_server_client(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_control.c:204,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_control.c:206,1
    - Dst: test_client_server_client
      Src: /src/knot-dns/tests/libknot/test_control.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_control.c
    functionUses: 0
    functionsReached:
    - test_client_server_client
    - diag
    - plan_lazy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_tsig.c:26,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/tests/libknot/test_tsig.c:27,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_tsig_key_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: key_is_eq
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_cmp
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool key_is_eq(const knot_tsig_key_t *a, const knot_tsig_key_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/knot-dns/tests/libknot/test_tsig.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - expected
    - algo
    - name
    - secret
    argTypes:
    - char*
    - knot_tsig_key_t*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: test_init
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: "void test_init(const char *msg, const knot_tsig_key_t *expected,\n
      \                     const char *algo, const char *name, const char *secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/knot-dns/tests/libknot/test_tsig.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - expected
    - params
    argTypes:
    - char*
    - knot_tsig_key_t*
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: test_init_str
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: "void test_init_str(const char *msg, const knot_tsig_key_t *expected,\n
      \                         const char *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/knot-dns/tests/libknot/test_tsig.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - expected
    - filename
    argTypes:
    - char*
    - knot_tsig_key_t*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: test_init_file
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: "void test_init_file(const char *msg, const knot_tsig_key_t *expected,\n
      \                          const char *filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bail
      Src: /src/knot-dns/tests/libknot/test_tsig.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_tsig.c:68,1
    - Dst: write
      Src: /src/knot-dns/tests/libknot/test_tsig.c:68,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_tsig.c:68,1
    - Dst: close
      Src: /src/knot-dns/tests/libknot/test_tsig.c:69,1
    - Dst: test_init_file
      Src: /src/knot-dns/tests/libknot/test_tsig.c:71,1
    - Dst: unlink
      Src: /src/knot-dns/tests/libknot/test_tsig.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - expected
    - content
    argTypes:
    - char*
    - knot_tsig_key_t*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: test_init_file_content
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - strlen
    - close
    - unlink
    - bail
    - test_init_file
    - write
    - ok
    linkageType: ''
    returnType: void
    signature: "void test_init_file_content(const char *msg,\n                                   const
      knot_tsig_key_t *expected,\n                                   const char *content)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_tsig.c:78,1
    - Dst: test_init
      Src: /src/knot-dns/tests/libknot/test_tsig.c:82,1
    - Dst: test_init
      Src: /src/knot-dns/tests/libknot/test_tsig.c:83,1
    - Dst: test_init
      Src: /src/knot-dns/tests/libknot/test_tsig.c:84,1
    - Dst: test_init
      Src: /src/knot-dns/tests/libknot/test_tsig.c:92,1
    - Dst: test_init
      Src: /src/knot-dns/tests/libknot/test_tsig.c:101,1
    - Dst: test_init_str
      Src: /src/knot-dns/tests/libknot/test_tsig.c:106,1
    - Dst: test_init_str
      Src: /src/knot-dns/tests/libknot/test_tsig.c:107,1
    - Dst: test_init_str
      Src: /src/knot-dns/tests/libknot/test_tsig.c:108,1
    - Dst: test_init_str
      Src: /src/knot-dns/tests/libknot/test_tsig.c:116,1
    - Dst: test_init_str
      Src: /src/knot-dns/tests/libknot/test_tsig.c:125,1
    - Dst: test_init_file
      Src: /src/knot-dns/tests/libknot/test_tsig.c:130,1
    - Dst: test_init_file
      Src: /src/knot-dns/tests/libknot/test_tsig.c:131,1
    - Dst: test_init_file_content
      Src: /src/knot-dns/tests/libknot/test_tsig.c:132,1
    - Dst: test_init_file_content
      Src: /src/knot-dns/tests/libknot/test_tsig.c:140,1
    - Dst: test_init_file_content
      Src: /src/knot-dns/tests/libknot/test_tsig.c:152,1
    - Dst: test_init_file_content
      Src: /src/knot-dns/tests/libknot/test_tsig.c:163,1
    - Dst: knot_tsig_key_copy
      Src: /src/knot-dns/tests/libknot/test_tsig.c:180,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_tsig.c:181,1
    - Dst: knot_tsig_key_copy
      Src: /src/knot-dns/tests/libknot/test_tsig.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_tsig.c:183,1
    - Dst: knot_tsig_key_copy
      Src: /src/knot-dns/tests/libknot/test_tsig.c:184,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_tsig.c:185,1
    - Dst: key_is_eq
      Src: /src/knot-dns/tests/libknot/test_tsig.c:185,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/tests/libknot/test_tsig.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 193
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 193
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_tsig.c
    functionUses: 0
    functionsReached:
    - plan_lazy
    - key_is_eq
    - test_init
    - knot_tsig_key_deinit
    - test_init_str
    - test_init_file
    - knot_tsig_key_copy
    - test_init_file_content
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/libknot/test_wire.c:19,1
    - Dst: is_hex
      Src: /src/knot-dns/tests/libknot/test_wire.c:23,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/tests/libknot/test_wire.c:23,1
    - Dst: is_hex
      Src: /src/knot-dns/tests/libknot/test_wire.c:24,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/tests/libknot/test_wire.c:24,1
    - Dst: is_hex
      Src: /src/knot-dns/tests/libknot/test_wire.c:25,1
    - Dst: knot_wire_read_u48
      Src: /src/knot-dns/tests/libknot/test_wire.c:25,1
    - Dst: is_hex
      Src: /src/knot-dns/tests/libknot/test_wire.c:26,1
    - Dst: knot_wire_read_u64
      Src: /src/knot-dns/tests/libknot/test_wire.c:26,1
    - Dst: write_test
      Src: /src/knot-dns/tests/libknot/test_wire.c:28,1
    - Dst: write_test
      Src: /src/knot-dns/tests/libknot/test_wire.c:29,1
    - Dst: write_test
      Src: /src/knot-dns/tests/libknot/test_wire.c:30,1
    - Dst: write_test
      Src: /src/knot-dns/tests/libknot/test_wire.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_wire.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u64
    - knot_wire_read_u48
    - plan
    - write_test
    - knot_wire_read_u32
    - is_hex
    - knot_wire_read_u16
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:23,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_cookies.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_cookies.c:29,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_cookies.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - s_addr
    - c_secret
    - msg
    - code
    - ref
    argTypes:
    - struct sockaddr_storage*
    - uint8_t*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: client_generate
    functionSourceFile: /src/knot-dns/tests/libknot/test_cookies.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memcmp
    - ok
    - is_int
    linkageType: ''
    returnType: knot_edns_cookie_t
    signature: "knot_edns_cookie_t client_generate(\n\tstruct sockaddr_storage *s_addr,
      const uint8_t *c_secret,\n\tconst char *msg, int code, const char *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:44,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_cookies.c:48,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_cookies.c:50,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_cookies.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - c_addr
    - s_secret
    - timestamp
    - cc
    - msg
    - code
    - ref
    argTypes:
    - struct sockaddr_storage*
    - uint8_t*
    - uint32_t
    - knot_edns_cookie_t*
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: server_generate
    functionSourceFile: /src/knot-dns/tests/libknot/test_cookies.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memcmp
    - ok
    - is_int
    linkageType: ''
    returnType: knot_edns_cookie_t
    signature: "knot_edns_cookie_t server_generate(\n\tstruct sockaddr_storage *c_addr,
      const uint8_t *s_secret, uint32_t timestamp,\n\tconst knot_edns_cookie_t *cc,
      const char *msg, int code, const char *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:63,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_cookies.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - s_addr
    - secret
    - cc
    - msg
    - code
    argTypes:
    - struct sockaddr_storage*
    - uint8_t*
    - knot_edns_cookie_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: client_check
    functionSourceFile: /src/knot-dns/tests/libknot/test_cookies.c
    functionUses: 0
    functionsReached:
    - memcpy
    - is_int
    linkageType: ''
    returnType: void
    signature: "void client_check(\n\tstruct sockaddr_storage *s_addr, const uint8_t
      *secret,\n\tknot_edns_cookie_t *cc, const char *msg, int code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:81,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_cookies.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - c_addr
    - secret
    - sc
    - cc
    - timestamp
    - msg
    - code
    argTypes:
    - struct sockaddr_storage*
    - uint8_t*
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - uint32_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: server_check
    functionSourceFile: /src/knot-dns/tests/libknot/test_cookies.c
    functionUses: 0
    functionsReached:
    - memcpy
    - is_int
    linkageType: ''
    returnType: void
    signature: "void server_check(\n\tstruct sockaddr_storage *c_addr, const uint8_t
      *secret,\n\tknot_edns_cookie_t *sc, knot_edns_cookie_t *cc, uint32_t timestamp,\n\tconst
      char *msg, int code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:89,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_cookies.c:101,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_cookies.c:102,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_cookies.c:103,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_cookies.c:107,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_cookies.c:108,1
    - Dst: client_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:116,1
    - Dst: client_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:118,1
    - Dst: server_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:119,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:121,1
    - Dst: server_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:125,1
    - Dst: client_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:130,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_cookies.c:133,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_cookies.c:133,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:134,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:139,1
    - Dst: client_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:143,1
    - Dst: client_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:145,1
    - Dst: server_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:146,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:148,1
    - Dst: server_generate
      Src: /src/knot-dns/tests/libknot/test_cookies.c:149,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:154,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:155,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:159,1
    - Dst: server_check
      Src: /src/knot-dns/tests/libknot/test_cookies.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 163
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_cookies.c
    functionUses: 0
    functionsReached:
    - client_check
    - server_check
    - strlen
    - plan_lazy
    - sockaddr_set
    - memcpy
    - server_generate
    - client_generate
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:110,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:114,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:116,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:123,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:124,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:125,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:133,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:134,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:135,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:143,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:144,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:145,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:150,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:151,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:152,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:160,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:161,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:162,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:169,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:171,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:172,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:177,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:178,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:179,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:179,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:186,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:188,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:188,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:189,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:192,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:193,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:194,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:194,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:195,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:201,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:202,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:203,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:203,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:207,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:208,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:209,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:209,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:210,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:214,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:215,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 60
    argCount: 1
    argNames:
    - yp
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 216
    functionName: test_syntax_ok
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - is_int
    - yp_parse
    - memcmp
    - strcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_syntax_ok(yp_parser_t *yp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:223,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:224,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:225,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:226,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:227,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:228,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:229,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - yp
    - input
    argTypes:
    - yp_parser_t*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: test_syntax_error
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - yp_parse
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_syntax_error(yp_parser_t *yp, const char *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:238,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:239,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:240,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:241,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:242,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - yp
    - input
    argTypes:
    - yp_parser_t*
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: test_tab_error
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - yp_parse
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_tab_error(yp_parser_t *yp, const char *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:256,1
    - Dst: CHECK_DNAME
      Src: /src/knot-dns/tests/libknot/test_yparser.c:259,1
    - Dst: CHECK_DNAME
      Src: /src/knot-dns/tests/libknot/test_yparser.c:260,1
    - Dst: CHECK_DNAME
      Src: /src/knot-dns/tests/libknot/test_yparser.c:261,1
    - Dst: CHECK_DNAME
      Src: /src/knot-dns/tests/libknot/test_yparser.c:262,1
    - Dst: CHECK_DNAME
      Src: /src/knot-dns/tests/libknot/test_yparser.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - yp
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: test_dname
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - CHECK_DNAME
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_dname(yp_parser_t *yp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:276,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:279,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:280,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:281,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:282,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:283,1
    - Dst: CHECK_QUOTE
      Src: /src/knot-dns/tests/libknot/test_yparser.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - yp
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: test_quotes
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - CHECK_QUOTE
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_quotes(yp_parser_t *yp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NOT_WILDCARD
      Src: /src/knot-dns/tests/libknot/test_yparser.c:299,1
    - Dst: CHECK_NOT_WILDCARD
      Src: /src/knot-dns/tests/libknot/test_yparser.c:300,1
    - Dst: CHECK_NOT_WILDCARD
      Src: /src/knot-dns/tests/libknot/test_yparser.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - yp
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: test_wildcard
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - CHECK_NOT_WILDCARD
    linkageType: ''
    returnType: void
    signature: void test_wildcard(yp_parser_t *yp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:307,1
    - Dst: yp_parse
      Src: /src/knot-dns/tests/libknot/test_yparser.c:309,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_yparser.c:310,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:311,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:311,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_yparser.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - yp
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: test_utf8
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - yp_parse
    - ok
    - strcmp
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_utf8(yp_parser_t *yp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_yparser.c:318,1
    - Dst: yp_init
      Src: /src/knot-dns/tests/libknot/test_yparser.c:321,1
    - Dst: test_syntax_ok
      Src: /src/knot-dns/tests/libknot/test_yparser.c:323,1
    - Dst: test_syntax_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:324,1
    - Dst: test_syntax_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:325,1
    - Dst: test_syntax_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:326,1
    - Dst: test_tab_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:327,1
    - Dst: test_tab_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:328,1
    - Dst: test_tab_error
      Src: /src/knot-dns/tests/libknot/test_yparser.c:329,1
    - Dst: test_dname
      Src: /src/knot-dns/tests/libknot/test_yparser.c:330,1
    - Dst: test_quotes
      Src: /src/knot-dns/tests/libknot/test_yparser.c:331,1
    - Dst: test_wildcard
      Src: /src/knot-dns/tests/libknot/test_yparser.c:332,1
    - Dst: test_utf8
      Src: /src/knot-dns/tests/libknot/test_yparser.c:333,1
    - Dst: yp_deinit
      Src: /src/knot-dns/tests/libknot/test_yparser.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_yparser.c
    functionUses: 0
    functionsReached:
    - test_syntax_ok
    - yp_init
    - plan_lazy
    - test_quotes
    - test_wildcard
    - test_utf8
    - test_syntax_error
    - test_tab_error
    - yp_deinit
    - test_dname
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/libknot/test_endian.c:15,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:25,1
    - Dst: htobe16
      Src: /src/knot-dns/tests/libknot/test_endian.c:25,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:26,1
    - Dst: htole16
      Src: /src/knot-dns/tests/libknot/test_endian.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:27,1
    - Dst: be16toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:28,1
    - Dst: le16toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:38,1
    - Dst: htobe32
      Src: /src/knot-dns/tests/libknot/test_endian.c:38,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:39,1
    - Dst: htole32
      Src: /src/knot-dns/tests/libknot/test_endian.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:40,1
    - Dst: be32toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:41,1
    - Dst: le32toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:53,1
    - Dst: htobe64
      Src: /src/knot-dns/tests/libknot/test_endian.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:54,1
    - Dst: htole64
      Src: /src/knot-dns/tests/libknot/test_endian.c:54,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:55,1
    - Dst: be64toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_endian.c:56,1
    - Dst: le64toh
      Src: /src/knot-dns/tests/libknot/test_endian.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 59
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_endian.c
    functionUses: 0
    functionsReached:
    - le64toh
    - plan
    - htole16
    - be32toh
    - htobe64
    - htole64
    - htole32
    - be16toh
    - htobe32
    - le32toh
    - be64toh
    - htobe16
    - le16toh
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_rdata.c:13,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:16,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/tests/libknot/test_rdata.c:16,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:17,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/tests/libknot/test_rdata.c:17,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/tests/libknot/test_rdata.c:24,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:31,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:31,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/tests/libknot/test_rdata.c:36,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:37,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:38,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:38,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_rdata.c:41,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_rdata.c:42,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:45,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_rdata.c:46,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/tests/libknot/test_rdata.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_rdata.c
    functionUses: 0
    functionsReached:
    - assert
    - plan_lazy
    - knot_rdata_cmp
    - memcpy
    - knot_rdata_size
    - knot_rdata_init
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan
      Src: /src/knot-dns/tests/libknot/test_lookup.c:20,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/tests/libknot/test_lookup.c:23,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:24,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/tests/libknot/test_lookup.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:27,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_lookup.c:27,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/tests/libknot/test_lookup.c:30,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:31,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:35,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_lookup.c:35,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:38,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:39,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_lookup.c:39,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:43,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:46,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:48,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:49,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/tests/libknot/test_lookup.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_lookup.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 55
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_lookup.c
    functionUses: 0
    functionsReached:
    - plan
    - knot_lookup_by_name
    - knot_lookup_by_id
    - strcmp
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:64,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:66,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:67,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:71,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:71,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:73,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:78,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:78,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:80,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:81,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:83,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:84,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: schema_find_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_ypschema.c
    functionUses: 0
    functionsReached:
    - is_int
    - yp_schema_find
    - yp_schema_free
    - strcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void schema_find_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:108,1
    - Dst: yp_schema_merge
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:110,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:111,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:113,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:117,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:118,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: schema_merge_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_ypschema.c
    functionUses: 0
    functionsReached:
    - is_int
    - yp_schema_find
    - yp_schema_free
    - yp_schema_merge
    - ok
    linkageType: ''
    returnType: void
    signature: void schema_merge_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_init
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:150,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:153,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:158,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:159,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:168,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:169,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:171,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:171,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:172,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:173,1
    - Dst: yp_opt
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:173,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:175,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:176,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:177,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:178,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:178,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:179,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:180,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:181,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:182,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:182,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:183,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:184,1
    - Dst: yp_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:184,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:185,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:186,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:186,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:188,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:188,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:188,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:189,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:190,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:190,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:191,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:192,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:192,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:192,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:194,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:195,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:196,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:197,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:197,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:198,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:199,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:201,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:202,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:202,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:203,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:206,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:206,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:207,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:208,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:208,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:208,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:209,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:211,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:211,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:212,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:213,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:214,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:214,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:214,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:215,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:215,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:216,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:217,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:217,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:219,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:219,1
    - Dst: yp_bin
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:219,1
    - Dst: yp_bin_len
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:219,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:221,1
    - Dst: PARSER_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:222,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:223,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:223,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:224,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:225,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:225,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:225,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:227,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:228,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:229,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:231,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:232,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:233,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:235,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:236,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:237,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:239,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:240,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:241,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:243,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:244,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:246,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:247,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:249,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:250,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:251,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:253,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:254,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:255,1
    - Dst: SET_INPUT_STR
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:257,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:258,1
    - Dst: PARSER_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:259,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:262,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:263,1
    - Dst: yp_deinit
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 265
    functionName: parser_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_ypschema.c
    functionUses: 0
    functionsReached:
    - yp_schema_check_init
    - yp_schema_check_deinit
    - diag
    - PARSER_CHECK
    - yp_init
    - yp_int
    - PARSER_RET_CHECK
    - yp_schema_free
    - yp_str
    - memcmp
    - yp_bin
    - SET_INPUT_STR
    - yp_opt
    - strcmp
    - yp_bin_len
    - ok
    - yp_deinit
    - is_int
    linkageType: ''
    returnType: void
    signature: void parser_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:284,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:289,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:290,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:299,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:300,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:301,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:301,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:302,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:303,1
    - Dst: yp_opt
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:303,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:305,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:306,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:307,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:307,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:308,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:309,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:310,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:311,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:311,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:312,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:313,1
    - Dst: yp_int
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:313,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:314,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:315,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:315,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:316,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:317,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:317,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:317,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:318,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:319,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:319,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:320,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:321,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:321,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:321,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:323,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:324,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:325,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:325,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:326,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:327,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:328,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:329,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:330,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:330,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:331,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:332,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:334,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:334,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:335,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:336,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:336,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:336,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:337,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:339,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:339,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:340,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:341,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:342,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:342,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:342,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:343,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:343,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:344,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:345,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:345,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:346,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:347,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:347,1
    - Dst: yp_bin
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:347,1
    - Dst: yp_bin_len
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:347,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:349,1
    - Dst: STR_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:350,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:351,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:351,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:352,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:353,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:353,1
    - Dst: yp_str
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:353,1
    - Dst: diag
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:355,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:356,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:357,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:358,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:359,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:360,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:361,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:362,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:363,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:364,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:365,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:367,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:368,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:369,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:370,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:371,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:372,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:373,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:374,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:375,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:377,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:378,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:379,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:380,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:381,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:382,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:383,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:384,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:385,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:386,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:387,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:388,1
    - Dst: STR_RET_CHECK
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:389,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:392,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 394
    functionName: str_test
    functionSourceFile: /src/knot-dns/tests/libknot/test_ypschema.c
    functionUses: 1
    functionsReached:
    - yp_schema_check_init
    - yp_schema_check_deinit
    - STR_RET_CHECK
    - diag
    - is_int
    - yp_int
    - yp_schema_free
    - yp_str
    - memcmp
    - yp_bin
    - yp_opt
    - strcmp
    - yp_bin_len
    - ok
    - STR_CHECK
    linkageType: ''
    returnType: void
    signature: void str_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:398,1
    - Dst: schema_find_test
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:400,1
    - Dst: schema_merge_test
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:401,1
    - Dst: parser_test
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:402,1
    - Dst: str_test
      Src: /src/knot-dns/tests/libknot/test_ypschema.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_ypschema.c
    functionUses: 0
    functionsReached:
    - schema_merge_test
    - schema_find_test
    - plan_lazy
    - str_test
    - parser_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_dynarray_add
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - howmany
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: q_fill
    functionSourceFile: /src/knot-dns/tests/libknot/test_dynarray.c
    functionUses: 0
    functionsReached:
    - q_dynarray_add
    linkageType: ''
    returnType: q_dynarray_t
    signature: q_dynarray_t q_fill(size_t howmany)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_dynarray_t*::arr
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:37,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:38,1
    - Dst: knot_dynarray_foreach
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:42,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:43,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - q
    - count
    - index
    - msg
    argTypes:
    - q_dynarray_t*
    - size_t
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: check_arr
    functionSourceFile: /src/knot-dns/tests/libknot/test_dynarray.c
    functionUses: 0
    functionsReached:
    - knot_dynarray_foreach
    - q_dynarray_t*::arr
    - ok
    linkageType: ''
    returnType: void
    signature: void check_arr(q_dynarray_t *q, size_t count, size_t index, const char
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dynarray_foreach
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:55,1
    - Dst: rand
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:56,1
    - Dst: q_dynarray_memb_cmp
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - q
    - dup_percentage
    - dupval
    argTypes:
    - q_dynarray_t*
    - double
    - quadrate_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: q_set_dups
    functionSourceFile: /src/knot-dns/tests/libknot/test_dynarray.c
    functionUses: 0
    functionsReached:
    - knot_dynarray_foreach
    - rand
    - q_dynarray_memb_cmp
    linkageType: ''
    returnType: size_t
    signature: size_t q_set_dups(q_dynarray_t *q, double dup_percentage, const quadrate_t
      *dupval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dynarray_foreach
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:69,1
    - Dst: q_dynarray_memb_cmp
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:70,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - q
    - dupval
    - expected
    - msg
    argTypes:
    - q_dynarray_t*
    - quadrate_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: check_dups
    functionSourceFile: /src/knot-dns/tests/libknot/test_dynarray.c
    functionUses: 0
    functionsReached:
    - knot_dynarray_foreach
    - q_dynarray_memb_cmp
    - ok
    linkageType: ''
    returnType: void
    signature: "void check_dups(q_dynarray_t *q, const quadrate_t *dupval,\n                       const
      size_t expected, const char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:79,1
    - Dst: q_fill
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:82,1
    - Dst: check_arr
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:83,1
    - Dst: q_dynarray_free
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:84,1
    - Dst: q_fill
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:87,1
    - Dst: check_arr
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:88,1
    - Dst: q_dynarray_free
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:89,1
    - Dst: q_fill
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:92,1
    - Dst: check_arr
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:93,1
    - Dst: q_dynarray_free
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:94,1
    - Dst: q_fill
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:97,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:100,1
    - Dst: check_dups
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:101,1
    - Dst: q_dynarray_remove
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:103,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:104,1
    - Dst: check_dups
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:105,1
    - Dst: q_dynarray_free
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:107,1
    - Dst: q_fill
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:110,1
    - Dst: q_dynarray_remove
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:114,1
    - Dst: q_dynarray_sort
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:117,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:121,1
    - Dst: q_dynarray_free
      Src: /src/knot-dns/tests/libknot/test_dynarray.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 126
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_dynarray.c
    functionUses: 0
    functionsReached:
    - check_dups
    - q_dynarray_free
    - q_dynarray_remove
    - q_fill
    - plan_lazy
    - q_dynarray_sort
    - check_arr
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/tests/libknot/test_dname.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - w
    argTypes:
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: test_fw
    functionSourceFile: /src/knot-dns/tests/libknot/test_dname.c
    functionUses: 0
    functionsReached:
    - knot_dname_wire_check
    linkageType: ''
    returnType: int
    signature: int test_fw(size_t l, const char *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:32,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:33,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/libknot/test_dname.c:35,1
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/tests/libknot/test_dname.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:44,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:44,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:47,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:48,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/libknot/test_dname.c:50,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:55,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:56,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/libknot/test_dname.c:58,1
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/tests/libknot/test_dname.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:67,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:67,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:70,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:71,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:72,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/libknot/test_dname.c:74,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:82,1
    - Dst: skip_block
      Src: /src/knot-dns/tests/libknot/test_dname.c:84,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:85,1
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/tests/libknot/test_dname.c:90,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:91,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:94,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:94,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:96,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - in_str
    - in_bin
    - bin_len
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 98
    functionName: test_str
    functionSourceFile: /src/knot-dns/tests/libknot/test_dname.c
    functionUses: 0
    functionsReached:
    - knot_dname_from_str
    - knot_dname_to_str
    - knot_dname_to_str_alloc
    - free
    - memcmp
    - knot_dname_wire_check
    - knot_dname_free
    - knot_dname_from_str_alloc
    - skip_block
    - ok
    linkageType: ''
    returnType: void
    signature: void test_str(const char *in_str, const char *in_bin, size_t bin_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_dname.c:125,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_dname.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:127,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:127,1
    - Dst: knot_dname_lf
      Src: /src/knot-dns/tests/libknot/test_dname.c:132,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 134
    functionName: test_dname_lf
    functionSourceFile: /src/knot-dns/tests/libknot/test_dname.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - memcmp
    - knot_dname_lf
    - ok
    linkageType: ''
    returnType: void
    signature: void test_dname_lf(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:145,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: test_dname_storage
    functionSourceFile: /src/knot-dns/tests/libknot/test_dname.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ok
    linkageType: ''
    returnType: void
    signature: void test_dname_storage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_dname.c:152,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:161,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:161,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:164,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:164,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:167,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:170,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:170,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:174,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:174,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:178,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:178,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:194,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:210,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:226,1
    - Dst: test_fw
      Src: /src/knot-dns/tests/libknot/test_dname.c:226,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:231,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:234,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:237,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:240,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:245,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:250,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:255,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:258,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:261,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:264,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:267,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:270,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:273,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:276,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:279,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:282,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:285,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:288,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:291,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:296,1
    - Dst: test_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:301,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:315,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:316,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:318,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:318,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:319,1
    - Dst: skip
      Src: /src/knot-dns/tests/libknot/test_dname.c:321,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:326,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:327,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:330,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:331,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:334,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:335,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:339,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:340,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:342,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:342,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:343,1
    - Dst: skip
      Src: /src/knot-dns/tests/libknot/test_dname.c:345,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:358,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:359,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:360,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:364,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:365,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:366,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:382,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:383,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:384,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:400,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:401,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:402,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_dname.c:407,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:413,1
    - Dst: strlen
      Src: /src/knot-dns/tests/libknot/test_dname.c:414,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:416,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:418,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:424,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:425,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:427,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_dname.c:427,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_dname.c:428,1
    - Dst: skip
      Src: /src/knot-dns/tests/libknot/test_dname.c:430,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:435,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:436,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests/libknot/test_dname.c:439,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:440,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:443,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:444,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:448,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:449,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:453,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:454,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:458,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:459,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:463,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:464,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:468,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:469,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:473,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:474,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:478,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:479,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:483,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:484,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:488,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:489,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:493,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:494,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:498,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:499,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:507,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:508,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:514,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:516,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:517,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/tests/libknot/test_dname.c:517,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:518,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:522,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:523,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/tests/libknot/test_dname.c:523,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:524,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:528,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:529,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/tests/libknot/test_dname.c:529,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:530,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:534,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:535,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/tests/libknot/test_dname.c:535,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:536,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:537,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:542,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:543,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:543,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:546,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:547,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:547,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:548,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:551,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:552,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:552,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:553,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:556,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:557,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:557,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:558,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:561,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:562,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:562,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:563,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:566,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:567,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:567,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:568,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:570,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:575,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:576,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:576,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:579,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:580,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:580,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:581,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:584,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:585,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:585,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:586,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:589,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:590,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:590,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:591,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/tests/libknot/test_dname.c:594,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_dname.c:595,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/tests/libknot/test_dname.c:595,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:596,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/tests/libknot/test_dname.c:598,1
    - Dst: test_dname_lf
      Src: /src/knot-dns/tests/libknot/test_dname.c:602,1
    - Dst: test_dname_storage
      Src: /src/knot-dns/tests/libknot/test_dname.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 205
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 607
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 607
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_dname.c
    functionUses: 0
    functionsReached:
    - skip
    - knot_dname_from_str
    - test_dname_storage
    - free
    - knot_dname_to_str_alloc
    - test_dname_lf
    - memcmp
    - test_str
    - test_fw
    - knot_dname_from_str_alloc
    - ok
    - strlen
    - plan_lazy
    - knot_dname_free
    - knot_dname_is_equal
    - knot_dname_is_case_equal
    - knot_dname_to_str
    - memcpy
    - knot_dname_in_bailiwick
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:17,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:27,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:28,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:30,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:33,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:35,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:35,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:38,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:39,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:40,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:42,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:46,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:47,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:47,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:50,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:51,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:51,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:52,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:54,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:57,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:58,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:59,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:59,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:62,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:63,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:64,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:66,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:70,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:71,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:71,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:74,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:75,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:76,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:78,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:81,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:82,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:83,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:83,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:86,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:87,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:88,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:90,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:93,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:94,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:95,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:95,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:99,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:100,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:101,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:101,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:104,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:105,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:106,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:106,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:109,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:110,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:111,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:111,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:114,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:115,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:116,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:116,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:120,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:121,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:122,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:125,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:126,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:127,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:130,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:131,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:132,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:136,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:139,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:140,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:143,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:144,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:145,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:148,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:149,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:152,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:153,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:154,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:157,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:158,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:159,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:162,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:163,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:167,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:168,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:169,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:172,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:173,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:174,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:177,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:178,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:181,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:182,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:185,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:186,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:187,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:190,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:191,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:194,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:195,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:196,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:199,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:200,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:201,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:204,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:205,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:209,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:210,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:211,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:213,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:217,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:218,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:218,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:219,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:221,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:225,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:226,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:226,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:227,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:229,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:231,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:235,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:236,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:237,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:239,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:243,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:244,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:247,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:248,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:251,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:251,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:253,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:253,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:255,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:255,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:257,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:257,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:259,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:259,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:261,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:261,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:263,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:263,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:265,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:265,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:269,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:269,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:271,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:271,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:273,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:273,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:275,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:275,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:277,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:277,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:279,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:279,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:281,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:281,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:285,1
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:285,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:287,1
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:287,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:289,1
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:289,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:291,1
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:291,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:295,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:295,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:297,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:297,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:299,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:299,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:301,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:301,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:303,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:303,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:305,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:305,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:307,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:307,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:309,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:309,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:311,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:311,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:313,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:313,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:315,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:315,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:317,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:317,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:319,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:319,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:321,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:321,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:323,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:323,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:325,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:325,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:327,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:327,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:329,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:329,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:331,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:331,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:333,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:333,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:335,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:335,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:337,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:337,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:339,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:339,1
    - Dst: knot_opt_code_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:342,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:343,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:343,1
    - Dst: knot_opt_code_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:344,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:345,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:345,1
    - Dst: knot_opt_code_to_string
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:346,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:347,1
    - Dst: strcmp
      Src: /src/knot-dns/tests/libknot/test_descriptor.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 175
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 350
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 350
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_descriptor.c
    functionUses: 0
    functionsReached:
    - knot_opt_code_to_string
    - knot_rrtype_is_dnssec
    - knot_rrtype_from_string
    - knot_rrclass_from_string
    - knot_rrclass_to_string
    - knot_get_obsolete_rdata_descriptor
    - plan_lazy
    - strcmp
    - knot_get_rdata_descriptor
    - knot_rrtype_to_string
    - knot_rrtype_should_be_lowercased
    - knot_rrtype_is_metatype
    - knot_rrtype_additional_needed
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:54,1
    - Dst: knot_edns_client_subnet_size
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:54,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 60
    functionName: test_size
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 2
    functionsReached:
    - knot_edns_client_subnet_size
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:95,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:96,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:99,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: test_write
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 1
    functionsReached:
    - memcmp
    - assert
    - ok
    - memset
    linkageType: ''
    returnType: void
    signature: void test_write(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:135,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:138,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: test_parse
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ok
    - memset
    linkageType: ''
    returnType: void
    signature: void test_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:152,1
    - Dst: memcpy
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:153,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: addr_init
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - freeaddrinfo
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage addr_init(const char *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:165,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:166,1
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:168,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:169,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:171,1
    - Dst: addr_init
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:172,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:173,1
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:176,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:177,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:179,1
    - Dst: memset
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:182,1
    - Dst: addr_init
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:183,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:184,1
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:187,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:188,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:190,1
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:194,1
    - Dst: is_int
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 196
    functionName: test_set_address
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    - knot_edns_client_subnet_set_addr
    - addr_init
    - memset
    - ok
    - is_int
    linkageType: ''
    returnType: void
    signature: void test_set_address(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: sockaddr_eq
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 0
    functionsReached:
    - sockaddr_cmp
    linkageType: ''
    returnType: bool
    signature: bool sockaddr_eq(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_init
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:238,1
    - Dst: assert
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:239,1
    - Dst: sockaddr_eq
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:240,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: test_get_address
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 0
    functionsReached:
    - assert
    - ok
    - addr_init
    - sockaddr_eq
    linkageType: ''
    returnType: void
    signature: void test_get_address(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:251,1
    - Dst: test_size
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:253,1
    - Dst: test_write
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:254,1
    - Dst: test_parse
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:255,1
    - Dst: test_set_address
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:256,1
    - Dst: test_get_address
      Src: /src/knot-dns/tests/libknot/test_edns_ecs.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_edns_ecs.c
    functionUses: 0
    functionsReached:
    - test_size
    - test_write
    - test_parse
    - plan_lazy
    - test_set_address
    - test_get_address
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plan_lazy
      Src: /src/knot-dns/tests/libknot/test_probe.c:18,1
    - Dst: knot_probe_alloc
      Src: /src/knot-dns/tests/libknot/test_probe.c:20,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:21,1
    - Dst: knot_probe_alloc
      Src: /src/knot-dns/tests/libknot/test_probe.c:22,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:23,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:26,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:29,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:32,1
    - Dst: knot_probe_set_consumer
      Src: /src/knot-dns/tests/libknot/test_probe.c:34,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:35,1
    - Dst: knot_probe_fd
      Src: /src/knot-dns/tests/libknot/test_probe.c:36,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:37,1
    - Dst: knot_probe_set_producer
      Src: /src/knot-dns/tests/libknot/test_probe.c:39,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:40,1
    - Dst: knot_probe_fd
      Src: /src/knot-dns/tests/libknot/test_probe.c:41,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:42,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/tests/libknot/test_probe.c:45,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:46,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/libknot/test_probe.c:48,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:49,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests/libknot/test_probe.c:50,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:51,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/tests/libknot/test_probe.c:53,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:55,1
    - Dst: knot_probe_data_set
      Src: /src/knot-dns/tests/libknot/test_probe.c:58,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:60,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/libknot/test_probe.c:62,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests/libknot/test_probe.c:63,1
    - Dst: knot_probe_produce
      Src: /src/knot-dns/tests/libknot/test_probe.c:65,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:66,1
    - Dst: knot_probe_consume
      Src: /src/knot-dns/tests/libknot/test_probe.c:69,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:70,1
    - Dst: memcmp
      Src: /src/knot-dns/tests/libknot/test_probe.c:72,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:73,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/tests/libknot/test_probe.c:75,1
    - Dst: ok
      Src: /src/knot-dns/tests/libknot/test_probe.c:76,1
    - Dst: knot_probe_free
      Src: /src/knot-dns/tests/libknot/test_probe.c:78,1
    - Dst: knot_probe_free
      Src: /src/knot-dns/tests/libknot/test_probe.c:79,1
    - Dst: test_rm_rf
      Src: /src/knot-dns/tests/libknot/test_probe.c:81,1
    - Dst: free
      Src: /src/knot-dns/tests/libknot/test_probe.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 85
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/knot-dns/tests/libknot/test_probe.c
    functionUses: 0
    functionsReached:
    - test_rm_rf
    - knot_probe_set_consumer
    - knot_probe_consume
    - knot_pkt_put_question
    - knot_probe_data_set
    - knot_dname_cmp
    - plan_lazy
    - knot_probe_fd
    - knot_probe_free
    - memcmp
    - free
    - knot_probe_alloc
    - knot_pkt_new
    - knot_pkt_free
    - knot_probe_produce
    - sockaddr_set
    - knot_probe_set_producer
    - ok
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/tests-fuzz/fuzz_dname_to_str.c:11,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/tests-fuzz/fuzz_dname_to_str.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 20
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/knot-dns/tests-fuzz/fuzz_dname_to_str.c
    functionUses: 0
    functionsReached:
    - knot_dname_wire_check
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests-fuzz/fuzz_packet.c:13,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/tests-fuzz/fuzz_packet.c:15,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/tests-fuzz/fuzz_packet.c:17,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/tests-fuzz/fuzz_packet.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/knot-dns/tests-fuzz/fuzz_packet.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_pkt_new
    - knot_pkt_free
    - knot_pkt_parse
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/knot-dns/tests-fuzz/main.c:40,1
    - Dst: readdir
      Src: /src/knot-dns/tests-fuzz/main.c:46,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:54,1
    - Dst: open
      Src: /src/knot-dns/tests-fuzz/main.c:58,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:59,1
    - Dst: fstat
      Src: /src/knot-dns/tests-fuzz/main.c:64,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:65,1
    - Dst: close
      Src: /src/knot-dns/tests-fuzz/main.c:66,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:72,1
    - Dst: close
      Src: /src/knot-dns/tests-fuzz/main.c:73,1
    - Dst: read
      Src: /src/knot-dns/tests-fuzz/main.c:78,1
    - Dst: printf
      Src: /src/knot-dns/tests-fuzz/main.c:79,1
    - Dst: fflush
      Src: /src/knot-dns/tests-fuzz/main.c:80,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/knot-dns/tests-fuzz/main.c:81,1
    - Dst: fflush
      Src: /src/knot-dns/tests-fuzz/main.c:82,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:84,1
    - Dst: free
      Src: /src/knot-dns/tests-fuzz/main.c:88,1
    - Dst: close
      Src: /src/knot-dns/tests-fuzz/main.c:89,1
    - Dst: closedir
      Src: /src/knot-dns/tests-fuzz/main.c:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 92
    functionName: test_all_from
    functionSourceFile: /src/knot-dns/tests-fuzz/main.c
    functionUses: 0
    functionsReached:
    - closedir
    - readdir
    - LLVMFuzzerTestOneInput
    - free
    - open
    - close
    - opendir
    - fflush
    - printf
    - read
    - fprintf
    - fstat
    linkageType: ''
    returnType: void
    signature: void test_all_from(const char *dirname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/knot-dns/tests-fuzz/main.c:101,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:107,1
    - Dst: test_all_from
      Src: /src/knot-dns/tests-fuzz/main.c:110,1
    - Dst: snprintf
      Src: /src/knot-dns/tests-fuzz/main.c:112,1
    - Dst: fprintf
      Src: /src/knot-dns/tests-fuzz/main.c:114,1
    - Dst: test_all_from
      Src: /src/knot-dns/tests-fuzz/main.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/knot-dns/tests-fuzz/main.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    - test_all_from
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __AFL_LOOP
      Src: /src/knot-dns/tests-fuzz/main.c:128,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/knot-dns/tests-fuzz/main.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/knot-dns/tests-fuzz/main.c
    functionUses: 0
    functionsReached:
    - LLVMFuzzerTestOneInput
    - __AFL_LOOP
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_init
      Src: /src/knot-dns/tests-fuzz/fuzz_zscanner.c:13,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/tests-fuzz/fuzz_zscanner.c:14,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/tests-fuzz/fuzz_zscanner.c:15,1
    - Dst: zs_deinit
      Src: /src/knot-dns/tests-fuzz/fuzz_zscanner.c:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/knot-dns/tests-fuzz/fuzz_zscanner.c
    functionUses: 2
    functionsReached:
    - zs_parse_all
    - zs_set_input_string
    - zs_deinit
    - zs_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/tests-fuzz/fuzz_dname_from_str.c:18,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/tests-fuzz/fuzz_dname_from_str.c:23,1
    - Dst: free
      Src: /src/knot-dns/tests-fuzz/fuzz_dname_from_str.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/knot-dns/tests-fuzz/fuzz_dname_from_str.c
    functionUses: 2
    functionsReached:
    - memcpy
    - knot_dname_from_str
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: orig_server_reconfigure
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/server.c:14,1
    - Dst: udp_master_init_stdio
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/server.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: server_reconfigure
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/server.c
    functionUses: 1
    functionsReached:
    - orig_server_reconfigure
    - udp_master_init_stdio
    linkageType: ''
    returnType: int
    signature: int server_reconfigure(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/tcp-handler.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: tcp_master
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/tcp-handler.c
    functionUses: 0
    functionsReached:
    - log_info
    linkageType: ''
    returnType: int
    signature: int tcp_master(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:21,1
    - Dst: exit
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rq
    argTypes:
    - udp_stdin_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: next
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 14
    functionsReached:
    - exit
    - raise
    linkageType: ''
    returnType: void
    signature: void next(udp_stdin_t *rq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:29,1
    - Dst: getenv
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - udp_context_t *ctx
    - xdp_sock
    argTypes:
    - _unused_
    - _unused_*
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: udp_stdin_init
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 0
    functionsReached:
    - getenv
    - calloc
    linkageType: ''
    returnType: void
    signature: void *udp_stdin_init(_unused_ udp_context_t *ctx, _unused_ void *xdp_sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: udp_stdin_deinit
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void udp_stdin_deinit(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:56,1
    - Dst: next
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - int
    - d
    argTypes:
    - _unused_
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: udp_stdin_recv
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 0
    functionsReached:
    - fread
    - next
    linkageType: ''
    returnType: int
    signature: int udp_stdin_recv(_unused_ int fd, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_init
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:68,1
    - Dst: udp_handler
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - iface
    - d
    argTypes:
    - udp_context_t*
    - _unused_*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: udp_stdin_handle
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 0
    functionsReached:
    - params_init
    - udp_handler
    linkageType: ''
    returnType: void
    signature: void udp_stdin_handle(udp_context_t *ctx, _unused_ const iface_t *iface,
      void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: udp_stdin_send
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: void
    signature: void udp_stdin_send(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:89,1
    - Dst: calloc
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:92,1
    - Dst: assert
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:93,1
    - Dst: calloc
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:94,1
    - Dst: assert
      Src: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: udp_master_init_stdio
    functionSourceFile: /src/knot-dns/tests-fuzz/knotd_wrap/udp-handler.c
    functionUses: 1
    functionsReached:
    - assert
    - log_info
    - calloc
    linkageType: ''
    returnType: void
    signature: void udp_master_init_stdio(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: dnssec_strerror
    functionSourceFile: /src/knot-dns/src/libdnssec/error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *dnssec_strerror(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - dnssec_binary_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: dnssec_binary_alloc
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_binary_alloc(dnssec_binary_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/binary.c:41,1
    - Dst: clear_struct
      Src: /src/knot-dns/src/libdnssec/binary.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - binary
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: dnssec_binary_free
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 8
    functionsReached:
    - free
    - clear_struct
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_binary_free(dnssec_binary_t *binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/libdnssec/binary.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: dnssec_binary_dup
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_binary_dup(const dnssec_binary_t *from, dnssec_binary_t
      *to)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - new_size
    argTypes:
    - dnssec_binary_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: dnssec_binary_resize
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_binary_resize(dnssec_binary_t *data, size_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: dnssec_binary_cmp
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_binary_cmp(const dnssec_binary_t *one, const dnssec_binary_t
      *two)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base64
    - binary
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: dnssec_binary_from_base64
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_binary_from_base64(const dnssec_binary_t *base64,\n\t\t\t
      \     dnssec_binary_t *binary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - binary
    - base64
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: dnssec_binary_to_base64
    functionSourceFile: /src/knot-dns/src/libdnssec/binary.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_binary_to_base64(const dnssec_binary_t *binary,\n\t\t\t
      \   dnssec_binary_t *base64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/libdnssec/pem.c:24,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/knot-dns/src/libdnssec/pem.c:35,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/pem.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pem
    - key
    argTypes:
    - dnssec_binary_t*
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 44
    functionName: dnssec_pem_to_x509
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_deinit
    - binary_to_datum
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_pem_to_x509(const dnssec_binary_t *pem, gnutls_x509_privkey_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/knot-dns/src/libdnssec/pem.c:60,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/pem.c:62,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/knot-dns/src/libdnssec/pem.c:67,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/pem.c:69,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/pem.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pem
    - key
    argTypes:
    - dnssec_binary_t*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: dnssec_pem_to_privkey
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_pem_to_privkey(const dnssec_binary_t *pem, gnutls_privkey_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/pem.c:81,1
    - Dst: gnutls_x509_privkey_export_pkcs8
      Src: /src/knot-dns/src/libdnssec/pem.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - pem
    argTypes:
    - gnutls_x509_privkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: try_export_pem
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_x509_privkey_export_pkcs8
    linkageType: ''
    returnType: int
    signature: int try_export_pem(gnutls_x509_privkey_t key, dnssec_binary_t *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/pem.c:104,1
    - Dst: try_export_pem
      Src: /src/knot-dns/src/libdnssec/pem.c:109,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/pem.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - key
    - pem
    argTypes:
    - gnutls_x509_privkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: dnssec_pem_from_x509
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_alloc
    - try_export_pem
    - dnssec_binary_free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_pem_from_x509(gnutls_x509_privkey_t key, dnssec_binary_t
      *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_export_x509
      Src: /src/knot-dns/src/libdnssec/pem.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - _key
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: privkey_export_x509
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_export_x509
    linkageType: ''
    returnType: int
    signature: int privkey_export_x509(gnutls_privkey_t key, gnutls_x509_privkey_t
      *_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_pem_from_x509
      Src: /src/knot-dns/src/libdnssec/pem.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - key
    - pem
    argTypes:
    - gnutls_privkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: dnssec_pem_from_privkey
    functionSourceFile: /src/knot-dns/src/libdnssec/pem.c
    functionUses: 0
    functionsReached:
    - dnssec_pem_from_x509
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_pem_from_privkey(gnutls_privkey_t key, dnssec_binary_t
      *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unreachable
      Src: /src/knot-dns/src/libdnssec/random.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: dnssec_random_buffer
    functionSourceFile: /src/knot-dns/src/libdnssec/random.c
    functionUses: 0
    functionsReached:
    - assert_unreachable
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_random_buffer(uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libdnssec/random.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - binary
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: dnssec_random_binary
    functionSourceFile: /src/knot-dns/src/libdnssec/random.c
    functionUses: 0
    functionsReached:
    - dnssec_random_buffer
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_random_binary(dnssec_binary_t *binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/libdnssec/keyid.c:25,1
    - Dst: is_xdigit
      Src: /src/knot-dns/src/libdnssec/keyid.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: dnssec_keyid_is_valid
    functionSourceFile: /src/knot-dns/src/libdnssec/keyid.c
    functionUses: 1
    functionsReached:
    - strlen
    - is_xdigit
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keyid_is_valid(const char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keyid.c:46,1
    - Dst: is_xdigit
      Src: /src/knot-dns/src/libdnssec/keyid.c:46,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libdnssec/keyid.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: dnssec_keyid_normalize
    functionSourceFile: /src/knot-dns/src/libdnssec/keyid.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_tolower
    - is_xdigit
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keyid_normalize(char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keyid_normalize
      Src: /src/knot-dns/src/libdnssec/keyid.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: dnssec_keyid_copy
    functionSourceFile: /src/knot-dns/src/libdnssec/keyid.c
    functionUses: 0
    functionsReached:
    - dnssec_keyid_normalize
    linkageType: ''
    returnType: _public_
    signature: _public_ *dnssec_keyid_copy(const char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/libdnssec/keyid.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: dnssec_keyid_equal
    functionSourceFile: /src/knot-dns/src/libdnssec/keyid.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keyid_equal(const char *one, const char *two)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dnssec_errno_to_error
    functionSourceFile: /src/knot-dns/src/libdnssec/error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dnssec_errno_to_error(int ecode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/tsig.c:60,1
    - Dst: match
      Src: /src/knot-dns/src/libdnssec/tsig.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - match
    - data
    argTypes:
    - algorithm_match_cb
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: lookup_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - match
    - assert
    linkageType: ''
    returnType: algorithm_id_t
    signature: "algorithm_id_t *lookup_algorithm(algorithm_match_cb match,\n\t\t\t\t\t
      \     const void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dname_equal
      Src: /src/knot-dns/src/libdnssec/tsig.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - algorithm_id_t*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: match_dname
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - dname_equal
    linkageType: ''
    returnType: bool
    signature: bool match_dname(const algorithm_id_t *algorithm, const void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/libdnssec/tsig.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - algorithm_id_t*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: match_name
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool match_name(const algorithm_id_t *algorithm, const void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - algorithm_id_t*
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: match_id
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_id(const algorithm_id_t *algorithm, const void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/tsig.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_tsig_algorithm_t
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: algorithm_to_gnutls
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - lookup_algorithm
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t algorithm_to_gnutls(dnssec_tsig_algorithm_t
      algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/tsig.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dname
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: dnssec_tsig_algorithm_t::dnssec_tsig_algorithm_from_dname
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - lookup_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_algorithm_t dnssec_tsig_algorithm_from_dname(const
      uint8_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/tsig.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_tsig_algorithm_t
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: dnssec_tsig_algorithm_to_dname
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - lookup_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ *dnssec_tsig_algorithm_to_dname(dnssec_tsig_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/tsig.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: dnssec_tsig_algorithm_t::dnssec_tsig_algorithm_from_name
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - lookup_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_algorithm_t dnssec_tsig_algorithm_from_name(const
      char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/tsig.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_tsig_algorithm_t
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: dnssec_tsig_algorithm_to_name
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - lookup_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ *dnssec_tsig_algorithm_to_name(dnssec_tsig_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/tsig.c:139,1
    - Dst: gnutls_mac_get_key_size
      Src: /src/knot-dns/src/libdnssec/tsig.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - dnssec_tsig_algorithm_t
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: dnssec_tsig_optimal_key_size
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - gnutls_mac_get_key_size
    - algorithm_to_gnutls
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_optimal_key_size(dnssec_tsig_algorithm_t tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/tsig.c:156,1
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/tsig.c:161,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/tsig.c:163,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/tsig.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ctx_ptr
    - algorithm
    - key
    argTypes:
    - dnssec_tsig_ctx_t**
    - dnssec_tsig_algorithm_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 176
    functionName: dnssec_tsig_new
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 1
    functionsReached:
    - free
    - algorithm_to_gnutls
    - calloc
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_tsig_new(dnssec_tsig_ctx_t **ctx_ptr,\n                    dnssec_tsig_algorithm_t
      algorithm,\n\t\t    const dnssec_binary_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_deinit
      Src: /src/knot-dns/src/libdnssec/tsig.c:185,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/tsig.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_tsig_ctx_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: dnssec_tsig_free
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 1
    functionsReached:
    - gnutls_hmac_deinit
    - free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_free(dnssec_tsig_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - dnssec_tsig_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: dnssec_tsig_add
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_add(dnssec_tsig_ctx_t *ctx, const dnssec_binary_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_get_len
      Src: /src/knot-dns/src/libdnssec/tsig.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_tsig_ctx_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: dnssec_tsig_size
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_get_len
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_size(dnssec_tsig_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_get_len
      Src: /src/knot-dns/src/libdnssec/tsig.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_tsig_algorithm_t
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: dnssec_tsig_algorithm_size
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_get_len
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_algorithm_size(dnssec_tsig_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_output
      Src: /src/knot-dns/src/libdnssec/tsig.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - dnssec_tsig_ctx_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: dnssec_tsig_write
    functionSourceFile: /src/knot-dns/src/libdnssec/tsig.c
    functionUses: 1
    functionsReached:
    - gnutls_hmac_output
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_write(dnssec_tsig_ctx_t *ctx, uint8_t *mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_digest_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: lookup_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/digest.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t lookup_algorithm(dnssec_digest_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/digest.c:35,1
    - Dst: malloc
      Src: /src/knot-dns/src/libdnssec/digest.c:40,1
    - Dst: gnutls_hash_get_len
      Src: /src/knot-dns/src/libdnssec/digest.c:45,1
    - Dst: gnutls_hash_init
      Src: /src/knot-dns/src/libdnssec/digest.c:46,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/digest.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - algorithm
    - out_ctx
    argTypes:
    - dnssec_digest_t
    - dnssec_digest_ctx_t**
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: dnssec_digest_init
    functionSourceFile: /src/knot-dns/src/libdnssec/digest.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    - free
    - gnutls_hash_init
    - lookup_algorithm
    - malloc
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_digest_init(dnssec_digest_t algorithm, dnssec_digest_ctx_t
      **out_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_gnutls_hash_ptr
      Src: /src/knot-dns/src/libdnssec/digest.c:57,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/digest.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_digest_ctx_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: digest_ctx_free
    functionSourceFile: /src/knot-dns/src/libdnssec/digest.c
    functionUses: 0
    functionsReached:
    - free
    - free_gnutls_hash_ptr
    linkageType: ''
    returnType: void
    signature: void digest_ctx_free(dnssec_digest_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_ctx_free
      Src: /src/knot-dns/src/libdnssec/digest.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - dnssec_digest_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: dnssec_digest
    functionSourceFile: /src/knot-dns/src/libdnssec/digest.c
    functionUses: 0
    functionsReached:
    - digest_ctx_free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_digest(dnssec_digest_ctx_t *ctx, dnssec_binary_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/digest.c:85,1
    - Dst: digest_ctx_free
      Src: /src/knot-dns/src/libdnssec/digest.c:86,1
    - Dst: gnutls_hash_output
      Src: /src/knot-dns/src/libdnssec/digest.c:90,1
    - Dst: digest_ctx_free
      Src: /src/knot-dns/src/libdnssec/digest.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - dnssec_digest_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: dnssec_digest_finish
    functionSourceFile: /src/knot-dns/src/libdnssec/digest.c
    functionUses: 0
    functionsReached:
    - digest_ctx_free
    - dnssec_binary_free
    - gnutls_hash_output
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_digest_finish(dnssec_digest_ctx_t *ctx, dnssec_binary_t
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_init
      Src: /src/knot-dns/src/libdnssec/crypto.c:16,1
    - Dst: gnutls_global_init
      Src: /src/knot-dns/src/libdnssec/crypto.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: dnssec_crypto_init
    functionSourceFile: /src/knot-dns/src/libdnssec/crypto.c
    functionUses: 7
    functionsReached:
    - p11_init
    - gnutls_global_init
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_crypto_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_deinit
      Src: /src/knot-dns/src/libdnssec/crypto.c:23,1
    - Dst: p11_cleanup
      Src: /src/knot-dns/src/libdnssec/crypto.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: dnssec_crypto_cleanup
    functionSourceFile: /src/knot-dns/src/libdnssec/crypto.c
    functionUses: 7
    functionsReached:
    - p11_cleanup
    - gnutls_global_deinit
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_crypto_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_reinit
      Src: /src/knot-dns/src/libdnssec/crypto.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: dnssec_crypto_reinit
    functionSourceFile: /src/knot-dns/src/libdnssec/crypto.c
    functionUses: 1
    functionsReached:
    - p11_reinit
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_crypto_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dname
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: dname_length
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t dname_length(const uint8_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dname
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: dname_copy
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *dname_copy(const uint8_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:71,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - label
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: normalize_label
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_tolower
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t normalize_label(uint8_t *label)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalize_label
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dname
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: dname_normalize
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 0
    functionsReached:
    - normalize_label
    linkageType: ''
    returnType: void
    signature: void dname_normalize(uint8_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:106,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:107,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:110,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: label_casecmp
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_tolower
    linkageType: ''
    returnType: int
    signature: int label_casecmp(const uint8_t *a, const uint8_t *b, uint8_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: label_casecmp
      Src: /src/knot-dns/src/libdnssec/shared/dname.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: dname_equal
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/dname.c
    functionUses: 2
    functionsReached:
    - label_casecmp
    linkageType: ''
    returnType: bool
    signature: bool dname_equal(const uint8_t *one, const uint8_t *two)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: free_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_ptr(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: close_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_ptr(int *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FILE**
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: fclose_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void fclose_ptr(FILE **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - DIR**
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: closedir_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - closedir
    linkageType: ''
    returnType: void
    signature: void closedir_ptr(DIR **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: free_gnutls_datum_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void free_gnutls_datum_ptr(gnutls_datum_t *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: free_x509_privkey_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void free_x509_privkey_ptr(gnutls_x509_privkey_t *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_pubkey_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: free_pubkey_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_deinit
    linkageType: ''
    returnType: void
    signature: void free_pubkey_ptr(gnutls_pubkey_t *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/knot-dns/src/libdnssec/shared/shared.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_hash_hd_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: free_gnutls_hash_ptr
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 1
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void free_gnutls_hash_ptr(gnutls_hash_hd_t *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - from
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: binary_to_datum
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t binary_to_datum(const dnssec_binary_t *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - from
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: binary_from_datum
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/shared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dnssec_binary_t
    signature: dnssec_binary_t binary_from_datum(const gnutls_datum_t *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:24,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:25,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:40,1
    - Dst: dnssec_binary_resize
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:41,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - key
    - pubkey
    - id
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: keyid_bin
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - dnssec_binary_resize
    linkageType: ''
    returnType: int
    signature: int keyid_bin(gnutls_x509_privkey_t key, gnutls_pubkey_t pubkey, dnssec_binary_t
      *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bin_to_hex
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - pubkey
    - id
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_pubkey_t
    - char**
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: keyid_hex
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - bin_to_hex
    linkageType: ''
    returnType: int
    signature: int keyid_hex(gnutls_x509_privkey_t key, gnutls_pubkey_t pubkey, char
      **id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_bin
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - id
    argTypes:
    - gnutls_x509_privkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: keyid_x509
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - keyid_bin
    linkageType: ''
    returnType: int
    signature: int keyid_x509(gnutls_x509_privkey_t key, dnssec_binary_t *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_hex
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - id
    argTypes:
    - gnutls_x509_privkey_t
    - char**
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: keyid_x509_hex
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - keyid_hex
    linkageType: ''
    returnType: int
    signature: int keyid_x509_hex(gnutls_x509_privkey_t key, char **id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_bin
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - id
    argTypes:
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: keyid_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - keyid_bin
    linkageType: ''
    returnType: int
    signature: int keyid_pubkey(gnutls_pubkey_t pubkey, dnssec_binary_t *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_hex
      Src: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pubkey
    - id
    argTypes:
    - gnutls_pubkey_t
    - char**
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: keyid_pubkey_hex
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/keyid_gnutls.c
    functionUses: 0
    functionsReached:
    - keyid_hex
    linkageType: ''
    returnType: int
    signature: int keyid_pubkey_hex(gnutls_pubkey_t pubkey, char **id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: skip_leading_zeroes
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/bignum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void skip_leading_zeroes(dnssec_binary_t *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_leading_zeroes
      Src: /src/knot-dns/src/libdnssec/shared/bignum.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _value
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: bignum_size_u
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/bignum.c
    functionUses: 0
    functionsReached:
    - skip_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bignum_size_u(const dnssec_binary_t *_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_leading_zeroes
      Src: /src/knot-dns/src/libdnssec/shared/bignum.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - _value
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: bignum_size_s
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/bignum.c
    functionUses: 0
    functionsReached:
    - skip_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bignum_size_s(const dnssec_binary_t *_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_leading_zeroes
      Src: /src/knot-dns/src/libdnssec/shared/bignum.c:46,1
    - Dst: wire_ctx_clear
      Src: /src/knot-dns/src/libdnssec/shared/bignum.c:50,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libdnssec/shared/bignum.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - width
    - _value
    argTypes:
    - wire_ctx_t*
    - size_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: bignum_write
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/bignum.c
    functionUses: 0
    functionsReached:
    - wire_ctx_clear
    - skip_leading_zeroes
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void bignum_write(wire_ctx_t *ctx, size_t width, const dnssec_binary_t
      *_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:15,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - binary
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: binary_init
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/binary_wire.h
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_init
    linkageType: ''
    returnType: wire_ctx_t
    signature: wire_ctx_t binary_init(const dnssec_binary_t *binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:22,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - wire_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: binary_read
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/binary_wire.h
    functionUses: 0
    functionsReached:
    - wire_ctx_read
    - assert
    linkageType: ''
    returnType: void
    signature: void binary_read(wire_ctx_t *ctx, dnssec_binary_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:29,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:30,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - wire_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: binary_available
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/binary_wire.h
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: void
    signature: void binary_available(wire_ctx_t *ctx, dnssec_binary_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:38,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:39,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libdnssec/shared/binary_wire.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - wire_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: binary_write
    functionSourceFile: /src/knot-dns/src/libdnssec/shared/binary_wire.h
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void binary_write(wire_ctx_t *ctx, const dnssec_binary_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gnutls_result
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: map_result
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_result(int gnutls_result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_result
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: p11_init
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached:
    - map_result
    linkageType: ''
    returnType: int
    signature: int p11_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_result
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: p11_reinit
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached:
    - map_result
    linkageType: ''
    returnType: int
    signature: int p11_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:41,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:46,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - module
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: p11_load_module
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int p11_load_module(const char *module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:71,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/knot-dns/src/libdnssec/p11/p11.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: p11_cleanup
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached:
    - free
    - gnutls_pkcs11_deinit
    linkageType: ''
    returnType: void
    signature: void p11_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: p11_init
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p11_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: p11_reinit
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p11_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: p11_load_module
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int p11_load_module(const char *module)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: p11_cleanup
    functionSourceFile: /src/knot-dns/src/libdnssec/p11/p11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void p11_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:26,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:27,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:28,1
    - Dst: gnutls_hash_init
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:41,1
    - Dst: gnutls_hash
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:50,1
    - Dst: gnutls_hash
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:55,1
    - Dst: gnutls_hash_output
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - algorithm
    - iterations
    - salt
    - data
    - hash
    argTypes:
    - gnutls_digest_algorithm_t
    - int
    - dnssec_binary_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: nsec3_hash
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/hash.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_output
    - assert
    - gnutls_hash_init
    - gnutls_hash
    linkageType: ''
    returnType: int
    signature: "int nsec3_hash(gnutls_digest_algorithm_t algorithm, int iterations,\n\t\t
      \     const dnssec_binary_t *salt, const dnssec_binary_t *data,\n\t\t      dnssec_binary_t
      *hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dnssec
    argTypes:
    - dnssec_nsec3_algorithm_t
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: algorithm_d2g
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t algorithm_d2g(dnssec_nsec3_algorithm_t dnssec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_d2g
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:94,1
    - Dst: nsec3_hash
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - params
    - hash
    argTypes:
    - dnssec_binary_t*
    - dnssec_nsec3_params_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: dnssec_nsec3_hash
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/hash.c
    functionUses: 0
    functionsReached:
    - nsec3_hash
    - algorithm_d2g
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_nsec3_hash(const dnssec_binary_t *data,\n\t\t      const
      dnssec_nsec3_params_t *params,\n\t\t      dnssec_binary_t *hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_d2g
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:108,1
    - Dst: gnutls_hash_get_len
      Src: /src/knot-dns/src/libdnssec/nsec/hash.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_nsec3_algorithm_t
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: dnssec_nsec3_hash_length
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/hash.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_get_len
    - algorithm_d2g
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec3_hash_length(dnssec_nsec3_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libdnssec/nsec/bitmap.c:38,1
    - Dst: dnssec_nsec_bitmap_clear
      Src: /src/knot-dns/src/libdnssec/nsec/bitmap.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: dnssec_nsec_bitmap_t *dnssec_nsec_bitmap_new(void)
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_clear
    - malloc
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_t *dnssec_nsec_bitmap_new(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_struct
      Src: /src/knot-dns/src/libdnssec/nsec/bitmap.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitmap
    argTypes:
    - dnssec_nsec_bitmap_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: dnssec_nsec_bitmap_clear
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 2
    functionsReached:
    - clear_struct
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_clear(dnssec_nsec_bitmap_t *bitmap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/nsec/bitmap.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitmap
    argTypes:
    - dnssec_nsec_bitmap_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: dnssec_nsec_bitmap_free
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_free(dnssec_nsec_bitmap_t *bitmap)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bitmap
    - type
    argTypes:
    - dnssec_nsec_bitmap_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: dnssec_nsec_bitmap_add
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_add(dnssec_nsec_bitmap_t *bitmap, uint16_t
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bitmap
    argTypes:
    - dnssec_nsec_bitmap_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: dnssec_nsec_bitmap_size
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_size(const dnssec_nsec_bitmap_t *bitmap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/libdnssec/nsec/bitmap.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bitmap
    - output
    argTypes:
    - dnssec_nsec_bitmap_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: dnssec_nsec_bitmap_write
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/bitmap.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_write(const dnssec_nsec_bitmap_t *bitmap,
      uint8_t *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:23,1
    - Dst: clear_struct
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: dnssec_nsec3_params_free
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/nsec.c
    functionUses: 2
    functionsReached:
    - clear_struct
    - dnssec_binary_free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec3_params_free(dnssec_nsec3_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:42,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:44,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:48,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:49,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:50,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:51,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:53,1
    - Dst: malloc
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:57,1
    - Dst: binary_read
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:62,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:63,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - params
    - rdata
    argTypes:
    - dnssec_nsec3_params_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: dnssec_nsec3_params_from_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/nsec.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    - assert
    - wire_ctx_available
    - binary_init
    - binary_read
    - wire_ctx_offset
    - malloc
    - wire_ctx_read_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_nsec3_params_from_rdata(dnssec_nsec3_params_t *params,\n
      \                                  const dnssec_binary_t *rdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - bitmap
    - size
    - type
    argTypes:
    - uint8_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: dnssec_nsec_bitmap_contains
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/nsec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_nsec_bitmap_contains(const uint8_t *bitmap, uint16_t
      size, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/src/libdnssec/nsec/nsec.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - params1
    - params2
    argTypes:
    - dnssec_nsec3_params_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: dnssec_nsec3_params_match
    functionSourceFile: /src/knot-dns/src/libdnssec/nsec/nsec.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_cmp
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_nsec3_params_match(const dnssec_nsec3_params_t *params1,\n\t\t\t
      \      const dnssec_nsec3_params_t *params2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:75,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:76,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:77,1
    - Dst: dnssec_binary_dup
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - from
    - to
    argTypes:
    - dnssec_sign_ctx_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: rsa_copy_signature
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_dup
    - assert
    linkageType: ''
    returnType: int
    signature: "int rsa_copy_signature(dnssec_sign_ctx_t *ctx,\n\t\t\t      const
      dnssec_binary_t *from,\n\t\t\t      dnssec_binary_t *to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_sign_ctx_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: ecdsa_sign_integer_size
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t ecdsa_sign_integer_size(dnssec_sign_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:107,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:108,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:109,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:127,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:132,1
    - Dst: bignum_write
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:133,1
    - Dst: bignum_write
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:134,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:135,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - x509
    - dnssec
    argTypes:
    - dnssec_sign_ctx_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: ecdsa_x509_to_dnssec
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached:
    - assert
    - bignum_write
    - binary_init
    - dnssec_binary_alloc
    - wire_ctx_offset
    linkageType: ''
    returnType: int
    signature: "int ecdsa_x509_to_dnssec(dnssec_sign_ctx_t *ctx,\n\t\t\t\tconst dnssec_binary_t
      *x509,\n\t\t\t\tdnssec_binary_t *dnssec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:144,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:145,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:146,1
    - Dst: dss_sig_value_encode
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - dnssec
    - x509
    argTypes:
    - dnssec_sign_ctx_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: ecdsa_dnssec_to_x509
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached:
    - assert
    - dss_sig_value_encode
    linkageType: ''
    returnType: int
    signature: "int ecdsa_dnssec_to_x509(dnssec_sign_ctx_t *ctx,\n\t\t\t\tconst dnssec_binary_t
      *dnssec,\n\t\t\t\tdnssec_binary_t *x509)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: get_functions
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: algorithm_functions_t
    signature: algorithm_functions_t *get_functions(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 217
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 217
    functionName: algo_dnssec2gnutls
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: gnutls_sign_algorithm_t algo_dnssec2gnutls(dnssec_key_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_dnssec2gnutls
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:224,1
    - Dst: gnutls_sign_is_secure
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: dnssec_algorithm_key_support
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_is_secure
    - algo_dnssec2gnutls
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_algorithm_key_support(dnssec_key_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:235,1
    - Dst: get_functions
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:239,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:241,1
    - Dst: algo_dnssec2gnutls
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:246,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx_ptr
    - key
    argTypes:
    - dnssec_sign_ctx_t**
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 256
    functionName: dnssec_sign_new
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached:
    - algo_dnssec2gnutls
    - free
    - get_functions
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_new(dnssec_sign_ctx_t **ctx_ptr, const dnssec_key_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_reset
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:265,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_sign_ctx_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: dnssec_sign_free
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached:
    - free
    - vpool_reset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_free(dnssec_sign_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_get_buf
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:277,1
    - Dst: vpool_wipe
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:278,1
    - Dst: vpool_init
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dnssec_sign_ctx_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: dnssec_sign_init
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached:
    - vpool_get_buf
    - vpool_init
    - vpool_wipe
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_init(dnssec_sign_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - dnssec_sign_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: dnssec_sign_add
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_add(dnssec_sign_ctx_t *ctx, const dnssec_binary_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:308,1
    - Dst: vpool_get_buf
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:313,1
    - Dst: vpool_get_length
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:314,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:322,1
    - Dst: binary_from_datum
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:331,1
    - Dst: dnssec_sign_ctx_t*::functions::x509_to_dnssec
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - flags
    - signature
    argTypes:
    - dnssec_sign_ctx_t*
    - dnssec_sign_flags_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 334
    functionName: dnssec_sign_write
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached:
    - vpool_get_length
    - assert
    - dnssec_sign_ctx_t*::functions::x509_to_dnssec
    - dnssec_key_can_sign
    - vpool_get_buf
    - binary_from_datum
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_write(dnssec_sign_ctx_t *ctx, dnssec_sign_flags_t
      flags, dnssec_binary_t *signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_can_sign
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:343,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:347,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:351,1
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:355,1
    - Dst: vpool_get_buf
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:360,1
    - Dst: vpool_get_length
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:361,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:370,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:372,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/knot-dns/src/libdnssec/sign/sign.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - sign_cmp
    - signature
    argTypes:
    - dnssec_sign_ctx_t*
    - bool
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 383
    functionName: dnssec_sign_verify
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/sign.c
    functionUses: 2
    functionsReached:
    - vpool_get_length
    - assert
    - dnssec_binary_free
    - binary_to_datum
    - gnutls_pubkey_verify_data2
    - dnssec_key_can_sign
    - vpool_get_buf
    - dnssec_binary_cmp
    - dnssec_key_can_verify
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_sign_verify(dnssec_sign_ctx_t *ctx, bool sign_cmp,
      const dnssec_binary_t *signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:33,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:34,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/sign/der.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - wire
    - type
    argTypes:
    - wire_ctx_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: asn1_expect_type
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: bool
    signature: bool asn1_expect_type(wire_ctx_t *wire, uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:42,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:43,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wire
    - size
    argTypes:
    - wire_ctx_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: asn1_decode_size
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: int
    signature: int asn1_decode_size(wire_ctx_t *wire, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:65,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:66,1
    - Dst: asn1_expect_type
      Src: /src/knot-dns/src/libdnssec/sign/der.c:68,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - wire
    - _value
    argTypes:
    - wire_ctx_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: asn1_decode_integer
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - assert
    - asn1_expect_type
    linkageType: ''
    returnType: int
    signature: int asn1_decode_integer(wire_ctx_t *wire, dnssec_binary_t *_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:101,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:102,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/sign/der.c:104,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/sign/der.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wire
    - type
    - length
    argTypes:
    - wire_ctx_t*
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: asn1_write_header
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_write_u8
    linkageType: ''
    returnType: void
    signature: void asn1_write_header(wire_ctx_t *wire, uint8_t type, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:114,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:115,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:116,1
    - Dst: asn1_write_header
      Src: /src/knot-dns/src/libdnssec/sign/der.c:118,1
    - Dst: bignum_write
      Src: /src/knot-dns/src/libdnssec/sign/der.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wire
    - integer_size
    - integer
    argTypes:
    - wire_ctx_t*
    - size_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: asn1_write_integer
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - assert
    - bignum_write
    - asn1_write_header
    linkageType: ''
    returnType: void
    signature: "void asn1_write_integer(wire_ctx_t *wire, size_t integer_size,\n\t\t\t
      \      const dnssec_binary_t *integer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/sign/der.c:132,1
    - Dst: asn1_expect_type
      Src: /src/knot-dns/src/libdnssec/sign/der.c:139,1
    - Dst: asn1_decode_size
      Src: /src/knot-dns/src/libdnssec/sign/der.c:143,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:148,1
    - Dst: asn1_decode_integer
      Src: /src/knot-dns/src/libdnssec/sign/der.c:155,1
    - Dst: asn1_decode_integer
      Src: /src/knot-dns/src/libdnssec/sign/der.c:161,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - der
    - r
    - s
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: dss_sig_value_decode
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - binary_init
    - asn1_decode_size
    - asn1_expect_type
    - asn1_decode_integer
    linkageType: ''
    returnType: int
    signature: "int dss_sig_value_decode(const dnssec_binary_t *der,\n\t\t\t dnssec_binary_t
      *r, dnssec_binary_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/sign/der.c:205,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/sign/der.c:209,1
    - Dst: asn1_write_header
      Src: /src/knot-dns/src/libdnssec/sign/der.c:210,1
    - Dst: asn1_write_integer
      Src: /src/knot-dns/src/libdnssec/sign/der.c:211,1
    - Dst: asn1_write_integer
      Src: /src/knot-dns/src/libdnssec/sign/der.c:212,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/sign/der.c:213,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/sign/der.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - r
    - s
    - der
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: dss_sig_value_encode
    functionSourceFile: /src/knot-dns/src/libdnssec/sign/der.c
    functionUses: 1
    functionsReached:
    - assert
    - wire_ctx_available
    - binary_init
    - dnssec_binary_alloc
    - asn1_write_header
    - asn1_write_integer
    linkageType: ''
    returnType: int
    signature: "int dss_sig_value_encode(const dnssec_binary_t *r, const dnssec_binary_t
      *s,\n\t\t\t dnssec_binary_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_from_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:26,1
    - Dst: bignum_size_u
      Src: /src/knot-dns/src/libdnssec/key/convert.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _bignum
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: bignum_size_u_datum
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - binary_from_datum
    - bignum_size_u
    linkageType: ''
    returnType: size_t
    signature: size_t bignum_size_u_datum(const gnutls_datum_t *_bignum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_from_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:33,1
    - Dst: bignum_write
      Src: /src/knot-dns/src/libdnssec/key/convert.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - width
    - _bignum
    argTypes:
    - wire_ctx_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: wire_write_bignum_datum
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - binary_from_datum
    - bignum_write
    linkageType: ''
    returnType: void
    signature: "void wire_write_bignum_datum(wire_ctx_t *ctx, size_t width,\n\t\t\t\t
      \   const gnutls_datum_t *_bignum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - count
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: wire_take_datum
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t wire_take_datum(wire_ctx_t *ctx, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:52,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:53,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/key/convert.c:70,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:75,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/key/convert.c:76,1
    - Dst: wire_write_bignum_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:77,1
    - Dst: wire_write_bignum_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:78,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:79,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: rsa_pubkey_to_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - dnssec_binary_alloc
    - wire_write_bignum_datum
    - wire_ctx_offset
    - wire_ctx_write_u8
    linkageType: ''
    returnType: int
    signature: int rsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: ecdsa_curve_point_size
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecdsa_curve_point_size(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: eddsa_curve_point_size
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t eddsa_curve_point_size(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:112,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:113,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/key/convert.c:129,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:134,1
    - Dst: wire_write_bignum_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:135,1
    - Dst: wire_write_bignum_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:136,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:137,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 140
    functionName: ecdsa_pubkey_to_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - dnssec_binary_alloc
    - wire_write_bignum_datum
    - wire_ctx_offset
    linkageType: ''
    returnType: int
    signature: int ecdsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:147,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:148,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/key/convert.c:163,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:168,1
    - Dst: wire_write_bignum_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:169,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:170,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: eddsa_pubkey_to_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - dnssec_binary_alloc
    - wire_write_bignum_datum
    - wire_ctx_offset
    linkageType: ''
    returnType: int
    signature: int eddsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:182,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:183,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:189,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/key/convert.c:194,1
    - Dst: wire_take_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:198,1
    - Dst: wire_take_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:207,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:209,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - rdata
    - key
    argTypes:
    - dnssec_binary_t*
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: rsa_rdata_to_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - binary_init
    - wire_ctx_offset
    - wire_take_datum
    linkageType: ''
    returnType: int
    signature: int rsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdata_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: ecdsa_curve_from_rdata_size
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t ecdsa_curve_from_rdata_size(size_t rdata_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdata_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: eddsa_curve_from_rdata_size
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t eddsa_curve_from_rdata_size(size_t rdata_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:250,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:251,1
    - Dst: ecdsa_curve_from_rdata_size
      Src: /src/knot-dns/src/libdnssec/key/convert.c:253,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:260,1
    - Dst: wire_take_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:263,1
    - Dst: wire_take_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:264,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:265,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rdata
    - key
    argTypes:
    - dnssec_binary_t*
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 273
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 273
    functionName: ecdsa_rdata_to_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - ecdsa_curve_from_rdata_size
    - wire_ctx_offset
    - wire_take_datum
    linkageType: ''
    returnType: int
    signature: int ecdsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:280,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:281,1
    - Dst: eddsa_curve_from_rdata_size
      Src: /src/knot-dns/src/libdnssec/key/convert.c:283,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/convert.c:288,1
    - Dst: wire_take_datum
      Src: /src/knot-dns/src/libdnssec/key/convert.c:291,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:292,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/convert.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rdata
    - key
    argTypes:
    - dnssec_binary_t*
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: eddsa_rdata_to_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - eddsa_curve_from_rdata_size
    - binary_init
    - wire_ctx_offset
    - wire_take_datum
    linkageType: ''
    returnType: int
    signature: int eddsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:309,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:310,1
    - Dst: rsa_pubkey_to_rdata
      Src: /src/knot-dns/src/libdnssec/key/convert.c:318,1
    - Dst: ecdsa_pubkey_to_rdata
      Src: /src/knot-dns/src/libdnssec/key/convert.c:319,1
    - Dst: eddsa_pubkey_to_rdata
      Src: /src/knot-dns/src/libdnssec/key/convert.c:320,1
    - Dst: eddsa_pubkey_to_rdata
      Src: /src/knot-dns/src/libdnssec/key/convert.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - gnutls_pubkey_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: convert_pubkey_to_dnskey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - ecdsa_pubkey_to_rdata
    - assert
    - eddsa_pubkey_to_rdata
    - rsa_pubkey_to_rdata
    linkageType: ''
    returnType: int
    signature: int convert_pubkey_to_dnskey(gnutls_pubkey_t key, dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:334,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/convert.c:335,1
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/key/convert.c:337,1
    - Dst: rsa_rdata_to_pubkey
      Src: /src/knot-dns/src/libdnssec/key/convert.c:340,1
    - Dst: ecdsa_rdata_to_pubkey
      Src: /src/knot-dns/src/libdnssec/key/convert.c:341,1
    - Dst: eddsa_rdata_to_pubkey
      Src: /src/knot-dns/src/libdnssec/key/convert.c:342,1
    - Dst: eddsa_rdata_to_pubkey
      Src: /src/knot-dns/src/libdnssec/key/convert.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - algorithm
    - rdata
    - key
    argTypes:
    - uint8_t
    - dnssec_binary_t*
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: convert_dnskey_to_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/convert.c
    functionUses: 0
    functionsReached:
    - assert
    - ecdsa_rdata_to_pubkey
    - algorithm_to_gnutls
    - rsa_rdata_to_pubkey
    - eddsa_rdata_to_pubkey
    linkageType: ''
    returnType: int
    signature: "int convert_dnskey_to_pubkey(uint8_t algorithm, const dnssec_binary_t
      *rdata,\n\t\t\t     gnutls_pubkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - dnssec_key_t*
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: valid_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/key/privkey.c
    functionUses: 0
    functionsReached:
    - algorithm_to_gnutls
    linkageType: ''
    returnType: bool
    signature: bool valid_algorithm(dnssec_key_t *key, gnutls_privkey_t privkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:37,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:38,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:46,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - privkey
    - pubkey
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: public_from_private
    functionSourceFile: /src/knot-dns/src/libdnssec/key/privkey.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_pubkey_deinit
    - gnutls_pubkey_import_privkey
    linkageType: ''
    returnType: int
    signature: int public_from_private(gnutls_privkey_t privkey, gnutls_pubkey_t *pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:64,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:65,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:66,1
    - Dst: convert_pubkey_to_dnskey
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:79,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:81,1
    - Dst: dnssec_binary_resize
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:86,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:88,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:94,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:95,1
    - Dst: binary_write
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:96,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:97,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - privkey
    - pubkey_ptr
    - rdata
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: create_public_key
    functionSourceFile: /src/knot-dns/src/libdnssec/key/privkey.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - convert_pubkey_to_dnskey
    - wire_ctx_offset
    - gnutls_pubkey_deinit
    - wire_ctx_set_offset
    - dnssec_binary_resize
    - binary_write
    linkageType: ''
    returnType: int
    signature: "int create_public_key(gnutls_privkey_t privkey,\n\t\t\t     gnutls_pubkey_t
      *pubkey_ptr,\n\t\t\t     dnssec_binary_t *rdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:112,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:113,1
    - Dst: valid_algorithm
      Src: /src/knot-dns/src/libdnssec/key/privkey.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - privkey
    argTypes:
    - dnssec_key_t*
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: key_set_private_key
    functionSourceFile: /src/knot-dns/src/libdnssec/key/privkey.c
    functionUses: 0
    functionsReached:
    - assert
    - valid_algorithm
    linkageType: ''
    returnType: int
    signature: int key_set_private_key(dnssec_key_t *key, gnutls_privkey_t privkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/libdnssec/key/simple.c:27,1
    - Dst: key_set_private_key
      Src: /src/knot-dns/src/libdnssec/key/simple.c:37,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/simple.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - key
    - pem
    argTypes:
    - dnssec_key_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: dnssec_key_load_pkcs8
    functionSourceFile: /src/knot-dns/src/libdnssec/key/simple.c
    functionUses: 2
    functionsReached:
    - key_set_private_key
    - gnutls_privkey_deinit
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_load_pkcs8(dnssec_key_t *key, const dnssec_binary_t
      *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:22,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: keytag_compat
    functionSourceFile: /src/knot-dns/src/libdnssec/key/keytag.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t keytag_compat(const dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:42,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: keytag_current
    functionSourceFile: /src/knot-dns/src/libdnssec/key/keytag.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t keytag_current(const dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keytag_compat
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:71,1
    - Dst: keytag_current
      Src: /src/knot-dns/src/libdnssec/key/keytag.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - rdata
    - keytag
    argTypes:
    - dnssec_binary_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: dnssec_keytag
    functionSourceFile: /src/knot-dns/src/libdnssec/key/keytag.c
    functionUses: 1
    functionsReached:
    - keytag_compat
    - keytag_current
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keytag(const dnssec_binary_t *rdata, uint16_t *keytag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_digest_t
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: lookup_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/key/ds.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t lookup_algorithm(dnssec_key_digest_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_sign_is_secure
      Src: /src/knot-dns/src/libdnssec/key/ds.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_digest_t
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: dnssec_algorithm_digest_support
    functionSourceFile: /src/knot-dns/src/libdnssec/key/ds.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_is_secure
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_algorithm_digest_support(dnssec_key_digest_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/ds.c:53,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libdnssec/key/ds.c:53,1
    - Dst: gnutls_hash_output
      Src: /src/knot-dns/src/libdnssec/key/ds.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wire
    - digest
    - digest_size
    argTypes:
    - wire_ctx_t*
    - gnutls_hash_hd_t
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: wire_write_digest
    functionSourceFile: /src/knot-dns/src/libdnssec/key/ds.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_output
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: void
    signature: "void wire_write_digest(wire_ctx_t *wire,\n\t\t\t      gnutls_hash_hd_t
      digest, int digest_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_algorithm
      Src: /src/knot-dns/src/libdnssec/key/ds.c:75,1
    - Dst: gnutls_hash
      Src: /src/knot-dns/src/libdnssec/key/ds.c:88,1
    - Dst: dname_length
      Src: /src/knot-dns/src/libdnssec/key/ds.c:88,1
    - Dst: gnutls_hash
      Src: /src/knot-dns/src/libdnssec/key/ds.c:89,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/key/ds.c:102,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/ds.c:107,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libdnssec/key/ds.c:108,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/libdnssec/key/ds.c:108,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/key/ds.c:109,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/libdnssec/key/ds.c:109,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/key/ds.c:110,1
    - Dst: wire_write_digest
      Src: /src/knot-dns/src/libdnssec/key/ds.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/ds.c:112,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/ds.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - key
    - ds_algorithm
    - rdata_ptr
    argTypes:
    - dnssec_key_t*
    - dnssec_key_digest_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 117
    functionName: dnssec_key_create_ds
    functionSourceFile: /src/knot-dns/src/libdnssec/key/ds.c
    functionUses: 1
    functionsReached:
    - assert
    - binary_init
    - dnssec_key_get_algorithm
    - dnssec_binary_alloc
    - wire_ctx_write_u8
    - dnssec_key_get_keytag
    - lookup_algorithm
    - dname_length
    - gnutls_hash
    - wire_ctx_offset
    - wire_ctx_write_u16
    - wire_write_digest
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_key_create_ds(const dnssec_key_t *key,\n\t\t\t dnssec_key_digest_t
      ds_algorithm,\n\t\t\t dnssec_binary_t *rdata_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/key/key.c:48,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/key/key.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - key_ptr
    argTypes:
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: dnssec_key_new
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 6
    functionsReached:
    - free
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_new(dnssec_key_t **key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:69,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/key/key.c:71,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/key.c:74,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/key.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: key_free_internals
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    linkageType: ''
    returnType: void
    signature: void key_free_internals(dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_free_internals
      Src: /src/knot-dns/src/libdnssec/key/key.c:92,1
    - Dst: clear_struct
      Src: /src/knot-dns/src/libdnssec/key/key.c:93,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:96,1
    - Dst: memmove
      Src: /src/knot-dns/src/libdnssec/key/key.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: dnssec_key_clear
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 2
    functionsReached:
    - key_free_internals
    - assert
    - memmove
    - clear_struct
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_clear(dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_free_internals
      Src: /src/knot-dns/src/libdnssec/key/key.c:110,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/key/key.c:111,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/key/key.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: dnssec_key_free
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 8
    functionsReached:
    - free
    - key_free_internals
    - dnssec_binary_free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_free(dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/libdnssec/key/key.c:125,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/libdnssec/key/key.c:126,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/src/libdnssec/key/key.c:127,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/libdnssec/key/key.c:129,1
    - Dst: gnutls_privkey_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:134,1
    - Dst: gnutls_privkey_get_type
      Src: /src/knot-dns/src/libdnssec/key/key.c:136,1
    - Dst: gnutls_privkey_export_pkcs11
      Src: /src/knot-dns/src/libdnssec/key/key.c:140,1
    - Dst: gnutls_privkey_import_pkcs11
      Src: /src/knot-dns/src/libdnssec/key/key.c:141,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:144,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:147,1
    - Dst: gnutls_privkey_export_x509
      Src: /src/knot-dns/src/libdnssec/key/key.c:149,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/knot-dns/src/libdnssec/key/key.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: dnssec_key_t *dnssec_key_dup(const dnssec_key_t *key)
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_key_set_dname
    - dnssec_key_set_rdata
    - dnssec_key_new
    - gnutls_privkey_get_type
    - gnutls_privkey_export_x509
    - gnutls_privkey_import_pkcs11
    - gnutls_privkey_init
    - gnutls_privkey_export_pkcs11
    - gnutls_privkey_import_x509
    - dnssec_key_free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_t *dnssec_key_dup(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: dnssec_key_get_dname
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *dnssec_key_get_dname(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dname_copy
      Src: /src/knot-dns/src/libdnssec/key/key.c:179,1
    - Dst: dname_normalize
      Src: /src/knot-dns/src/libdnssec/key/key.c:184,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/key/key.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - dname
    argTypes:
    - dnssec_key_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: dnssec_key_set_dname
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 4
    functionsReached:
    - dname_copy
    - dname_normalize
    - free
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_dname(dnssec_key_t *key, const uint8_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:200,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:201,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libdnssec/key/key.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: dnssec_key_get_flags
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u16
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_flags(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:212,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:213,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libdnssec/key/key.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - dnssec_key_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: dnssec_key_set_flags
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 1
    functionsReached:
    - wire_ctx_write_u16
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_flags(dnssec_key_t *key, uint16_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:226,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:227,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/key/key.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 229
    functionName: dnssec_key_get_protocol
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_protocol(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:238,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:239,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/key/key.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - protocol
    argTypes:
    - dnssec_key_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: dnssec_key_set_protocol
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u8
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_protocol(dnssec_key_t *key, uint8_t protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_can_verify
      Src: /src/knot-dns/src/libdnssec/key/key.c:251,1
    - Dst: dnssec_keytag
      Src: /src/knot-dns/src/libdnssec/key/key.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: dnssec_key_get_keytag
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 1
    functionsReached:
    - dnssec_keytag
    - dnssec_key_can_verify
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_keytag(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:263,1
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/key/key.c:269,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/key.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - algorithm
    argTypes:
    - dnssec_key_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: can_change_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - assert
    - algorithm_to_gnutls
    linkageType: ''
    returnType: bool
    signature: bool can_change_algorithm(dnssec_key_t *key, uint8_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:287,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:288,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/key/key.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: dnssec_key_get_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 2
    functionsReached:
    - wire_ctx_read_u8
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_algorithm(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_change_algorithm
      Src: /src/knot-dns/src/libdnssec/key/key.c:299,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:303,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:304,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libdnssec/key/key.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - algorithm
    argTypes:
    - dnssec_key_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: dnssec_key_set_algorithm
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 3
    functionsReached:
    - can_change_algorithm
    - wire_ctx_write_u8
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_algorithm(dnssec_key_t *key, uint8_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/key.c:317,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/key.c:318,1
    - Dst: binary_available
      Src: /src/knot-dns/src/libdnssec/key/key.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - dnssec_key_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: dnssec_key_get_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - binary_available
    - binary_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_pubkey(const dnssec_key_t *key, dnssec_binary_t
      *pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/libdnssec/key/key.c:335,1
    - Dst: dnskey_rdata_to_crypto_key
      Src: /src/knot-dns/src/libdnssec/key/key.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - key
    - pubkey
    argTypes:
    - dnssec_key_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 351
    functionName: dnssec_key_set_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 1
    functionsReached:
    - dnskey_rdata_to_crypto_key
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_pubkey(dnssec_key_t *key, const dnssec_binary_t
      *pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/knot-dns/src/libdnssec/key/key.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 380
    functionName: dnssec_key_get_size
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 1
    functionsReached:
    - gnutls_pubkey_get_pk_algorithm
    linkageType: ''
    returnType: '_public_

      unsigned'
    signature: '_public_

      unsigned dnssec_key_get_size(const dnssec_key_t *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_pubkey_hex
      Src: /src/knot-dns/src/libdnssec/key/key.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - key
    - id
    argTypes:
    - dnssec_key_t*
    - char**
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: dnssec_key_get_keyid
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 0
    functionsReached:
    - keyid_pubkey_hex
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_keyid(const dnssec_key_t *key, char **id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - dnssec_key_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: dnssec_key_get_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_get_rdata(const dnssec_key_t *key, dnssec_binary_t
      *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_resize
      Src: /src/knot-dns/src/libdnssec/key/key.c:425,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/key.c:427,1
    - Dst: memmove
      Src: /src/knot-dns/src/libdnssec/key/key.c:432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - key
    - rdata
    argTypes:
    - dnssec_key_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 436
    functionName: dnssec_key_set_rdata
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 7
    functionsReached:
    - dnssec_binary_resize
    - gnutls_pubkey_deinit
    - memmove
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_set_rdata(dnssec_key_t *key, const dnssec_binary_t
      *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: dnssec_key_can_sign
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_can_sign(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: dnssec_key_can_verify
    functionSourceFile: /src/knot-dns/src/libdnssec/key/key.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_key_can_verify(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 71
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 71
    functionName: get_limits
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct limits
    signature: struct limits *get_limits(dnssec_key_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - dnssec
    argTypes:
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: algorithm_to_gnutls
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t algorithm_to_gnutls(dnssec_key_algorithm_t dnssec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - algorithm
    - enabled
    argTypes:
    - dnssec_key_algorithm_t
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: dnssec_algorithm_reproducible
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_algorithm_reproducible(dnssec_key_algorithm_t algorithm,
      bool enabled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_limits
      Src: /src/knot-dns/src/libdnssec/key/algorithm.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - algorithm
    - min_ptr
    - max_ptr
    argTypes:
    - dnssec_key_algorithm_t
    - unsigned*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: dnssec_algorithm_key_size_range
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 1
    functionsReached:
    - get_limits
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_algorithm_key_size_range(dnssec_key_algorithm_t algorithm,\n\t\t\t\t
      \   unsigned *min_ptr, unsigned *max_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_limits
      Src: /src/knot-dns/src/libdnssec/key/algorithm.c:142,1
    - Dst: struct limits*::validate
      Src: /src/knot-dns/src/libdnssec/key/algorithm.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - algorithm
    - bits
    argTypes:
    - dnssec_key_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: dnssec_algorithm_key_size_check
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 1
    functionsReached:
    - struct limits*::validate
    - get_limits
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_algorithm_key_size_check(dnssec_key_algorithm_t algorithm,\n\t\t\t\t
      \    unsigned bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_limits
      Src: /src/knot-dns/src/libdnssec/key/algorithm.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: dnssec_algorithm_key_size_default
    functionSourceFile: /src/knot-dns/src/libdnssec/key/algorithm.c
    functionUses: 1
    functionsReached:
    - get_limits
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_algorithm_key_size_default(dnssec_key_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:19,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:20,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:28,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:29,1
    - Dst: binary_write
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:30,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:31,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rdata
    - pubkey
    argTypes:
    - dnssec_binary_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: dnskey_rdata_set_pubkey
    functionSourceFile: /src/knot-dns/src/libdnssec/key/dnskey.c
    functionUses: 0
    functionsReached:
    - assert
    - binary_init
    - wire_ctx_offset
    - wire_ctx_set_offset
    - binary_write
    linkageType: ''
    returnType: int
    signature: int dnskey_rdata_set_pubkey(dnssec_binary_t *rdata, const dnssec_binary_t
      *pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:44,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:45,1
    - Dst: binary_init
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:50,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:52,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:53,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:54,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:55,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:60,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:61,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:62,1
    - Dst: binary_available
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:63,1
    - Dst: convert_dnskey_to_pubkey
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:71,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/key/dnskey.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - rdata
    - key_ptr
    argTypes:
    - dnssec_binary_t*
    - gnutls_pubkey_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: dnskey_rdata_to_crypto_key
    functionSourceFile: /src/knot-dns/src/libdnssec/key/dnskey.c
    functionUses: 1
    functionsReached:
    - wire_ctx_read_u8
    - assert
    - binary_init
    - binary_available
    - wire_ctx_set_offset
    - gnutls_pubkey_deinit
    - convert_dnskey_to_pubkey
    linkageType: ''
    returnType: int
    signature: int dnskey_rdata_to_crypto_key(const dnssec_binary_t *rdata, gnutls_pubkey_t
      *key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:35,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:36,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:37,1
    - Dst: dnssec_keyid_is_valid
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:39,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:56,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:60,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - token_uri
    - key_id
    - url_ptr
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: key_url
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - dnssec_keyid_is_valid
    - free
    - assert
    linkageType: ''
    returnType: int
    signature: int key_url(const char *token_uri, const char *key_id, char **url_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:88,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - config
    - uri_ptr
    - module_ptr
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: parse_config
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int parse_config(const char *config, char **uri_ptr, char **module_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_load_module
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:112,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:113,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:115,1
    - Dst: gnutls_pkcs11_token_get_flags
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:120,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - config
    - url_ptr
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: safe_open
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_load_module
    - free
    - gnutls_pkcs11_token_get_flags
    linkageType: ''
    returnType: int
    signature: int safe_open(const char *config, char **url_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:135,1
    - Dst: gnutls_pkcs11_set_token_function
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: disable_pkcs11_callbacks
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_set_pin_function
    - gnutls_pkcs11_set_token_function
    linkageType: ''
    returnType: void
    signature: void disable_pkcs11_callbacks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:142,1
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx_ptr
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: pkcs11_ctx_new
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - pthread_once
    - calloc
    linkageType: ''
    returnType: int
    signature: int pkcs11_ctx_new(void **ctx_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pkcs11_ctx_free
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pkcs11_ctx_free(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_open
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: pkcs11_init
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - safe_open
    linkageType: ''
    returnType: int
    signature: int pkcs11_init(void *ctx, const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_open
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - config
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pkcs11_open
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - safe_open
    linkageType: ''
    returnType: int
    signature: int pkcs11_open(void *_ctx, const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:183,1
    - Dst: clear_struct
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: pkcs11_close
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - free
    - clear_struct
    linkageType: ''
    returnType: int
    signature: int pkcs11_close(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:195,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - _ctx
    - algorithm
    - bits
    - label
    - id_ptr
    argTypes:
    - void*
    - gnutls_pk_algorithm_t
    - unsigned
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 214
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 214
    functionName: pkcs11_generate_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - binary_to_datum
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: "int pkcs11_generate_key(void *_ctx, gnutls_pk_algorithm_t algorithm,\n\t\t\t
      \      unsigned bits, const char *label, char **id_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:229,1
    - Dst: gnutls_pubkey_init
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:230,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:236,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:237,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:244,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:250,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - pem
    - key_ptr
    - pubkey_ptr
    argTypes:
    - dnssec_binary_t*
    - gnutls_x509_privkey_t*
    - gnutls_pubkey_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 255
    functionName: import_pem
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_import_privkey
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int import_pem(const dnssec_binary_t *pem,\n\t\t      gnutls_x509_privkey_t
      *key_ptr,\n\t\t      gnutls_pubkey_t *pubkey_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_x509
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:270,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:276,1
    - Dst: gnutls_pkcs11_copy_x509_privkey2
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:278,1
    - Dst: gnutls_pkcs11_copy_pubkey
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:283,1
    - Dst: bin_to_hex
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - _ctx
    - pem
    - id_ptr
    argTypes:
    - void*
    - dnssec_binary_t*
    - char**
    constantsTouched: []
    func_position:
      end: 295
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 295
    functionName: pkcs11_import_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - binary_to_datum
    - gnutls_pkcs11_copy_pubkey
    - gnutls_pkcs11_copy_x509_privkey2
    - keyid_x509
    - bin_to_hex
    linkageType: ''
    returnType: int
    signature: int pkcs11_import_key(void *_ctx, const dnssec_binary_t *pem, char
      **id_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_delete_url
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - _ctx
    - id
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 315
    functionName: pkcs11_remove_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_delete_url
    linkageType: ''
    returnType: int
    signature: int pkcs11_remove_key(void *_ctx, const char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:328,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:333,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - _ctx
    - id
    - key_ptr
    argTypes:
    - void*
    - char*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: pkcs11_get_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_init
    - gnutls_privkey_import_pkcs11_url
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: int
    signature: int pkcs11_get_private(void *_ctx, const char *id, gnutls_privkey_t
      *key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_import_key
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: pkcs11_set_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_import_key
    linkageType: ''
    returnType: int
    signature: int pkcs11_set_private(void *ctx, gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keystore_create
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs11.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store_ptr
    argTypes:
    - dnssec_keystore_t**
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: dnssec_keystore_init_pkcs11
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached:
    - keystore_create
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_init_pkcs11(dnssec_keystore_t **store_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store_ptr
    argTypes:
    - dnssec_keystore_t**
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: dnssec_keystore_init_pkcs11
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_init_pkcs11(dnssec_keystore_t **store_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:25,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:26,1
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:28,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - store_ptr
    - functions
    argTypes:
    - dnssec_keystore_t**
    - keystore_functions_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: keystore_create
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - calloc
    linkageType: ''
    returnType: int
    signature: "int keystore_create(dnssec_keystore_t **store_ptr,\n\t\t    const
      keystore_functions_t *functions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_close
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:54,1
    - Dst: dnssec_keystore_t*::functions::ctx_free
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:55,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - store
    argTypes:
    - dnssec_keystore_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: dnssec_keystore_deinit
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 2
    functionsReached:
    - dnssec_keystore_t*::functions::ctx_free
    - free
    - dnssec_keystore_close
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_deinit(dnssec_keystore_t *store)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::init
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - store
    - config
    argTypes:
    - dnssec_keystore_t*
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: dnssec_keystore_init
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 2
    functionsReached:
    - dnssec_keystore_t*::functions::init
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_init(dnssec_keystore_t *store, const char
      *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::open
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - store
    - config
    argTypes:
    - dnssec_keystore_t*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: dnssec_keystore_open
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 2
    functionsReached:
    - dnssec_keystore_t*::functions::open
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_open(dnssec_keystore_t *store, const char
      *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::close
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - store
    argTypes:
    - dnssec_keystore_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: dnssec_keystore_close
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 3
    functionsReached:
    - dnssec_keystore_t*::functions::close
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_close(dnssec_keystore_t *store)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_to_gnutls
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:103,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:108,1
    - Dst: dnssec_keystore_t*::functions::generate_key
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - store
    - _algorithm
    - bits
    - label
    - id_ptr
    argTypes:
    - dnssec_keystore_t*
    - dnssec_key_algorithm_t
    - unsigned
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: dnssec_keystore_generate
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 2
    functionsReached:
    - dnssec_keystore_t*::functions::generate_key
    - algorithm_to_gnutls
    - dnssec_algorithm_key_size_check
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_keystore_generate(dnssec_keystore_t *store,\n\t\t\t
      \    dnssec_key_algorithm_t _algorithm,\n\t\t\t     unsigned bits, const char
      *label, char **id_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::import_key
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - store
    - pem
    - id_ptr
    argTypes:
    - dnssec_keystore_t*
    - dnssec_binary_t*
    - char**
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: dnssec_keystore_import
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 1
    functionsReached:
    - dnssec_keystore_t*::functions::import_key
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_keystore_import(dnssec_keystore_t *store, const dnssec_binary_t
      *pem,\n\t\t\t   char **id_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::remove_key
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - store
    - id
    argTypes:
    - dnssec_keystore_t*
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: dnssec_keystore_remove
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 1
    functionsReached:
    - dnssec_keystore_t*::functions::remove_key
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_remove(dnssec_keystore_t *store, const char
      *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:140,1
    - Dst: key_set_private_key
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:154,1
    - Dst: gnutls_privkey_deinit
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - store
    - id
    - key
    argTypes:
    - dnssec_keystore_t*
    - char*
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 161
    functionName: dnssec_keystore_get_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 2
    functionsReached:
    - key_set_private_key
    - gnutls_privkey_deinit
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: _public_
    signature: "_public_ dnssec_keystore_get_private(dnssec_keystore_t *store, const
      char *id,\n\t\t\t\tdnssec_key_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_t*::functions::set_private
      Src: /src/knot-dns/src/libdnssec/keystore/keystore.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - store
    - key
    argTypes:
    - dnssec_keystore_t*
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: dnssec_keystore_set_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/keystore.c
    functionUses: 0
    functionsReached:
    - dnssec_keystore_t*::functions::set_private
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_set_private(dnssec_keystore_t *store, dnssec_key_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - id
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: key_path
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *key_path(const char *dir, const char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:53,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:55,1
    - Dst: lseek
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:58,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:59,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - size_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: file_size
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - lseek
    linkageType: ''
    returnType: int
    signature: int file_size(int fd, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:74,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:75,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:76,1
    - Dst: key_path
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:78,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - dir_name
    - id
    - flags
    - mode
    - fd_ptr
    argTypes:
    - char*
    - char*
    - int
    - mode_t
    - int*
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: key_open
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - key_path
    linkageType: ''
    returnType: int
    signature: "int key_open(const char *dir_name, const char *id, int flags,\n\t\t
      \   mode_t mode, int *fd_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_open
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dir_name
    - id
    - fd_ptr
    argTypes:
    - char*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: key_open_read
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - key_open
    linkageType: ''
    returnType: int
    signature: int key_open_read(const char *dir_name, const char *id, int *fd_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_open
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dir_name
    - id
    - fd_ptr
    argTypes:
    - char*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: key_open_write
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - key_open
    linkageType: ''
    returnType: int
    signature: int key_open_write(const char *dir_name, const char *id, int *fd_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: file_size
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:119,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:131,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:138,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:139,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - handle
    - id
    - pem
    argTypes:
    - pkcs8_dir_handle_t*
    - char*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: pkcs8_dir_read
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - dnssec_binary_free
    - dnssec_binary_alloc
    - file_size
    linkageType: ''
    returnType: int
    signature: int pkcs8_dir_read(pkcs8_dir_handle_t *handle, const char *id, dnssec_binary_t
      *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:151,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:152,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:153,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:155,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - open_error
    - handle
    - id
    - pem
    argTypes:
    - int
    - pkcs8_dir_handle_t*
    - char*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: key_is_duplicate
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - dnssec_binary_cmp
    linkageType: ''
    returnType: bool
    signature: "bool key_is_duplicate(int open_error, pkcs8_dir_handle_t *handle,\n\t\t\t
      \    const char *id, const dnssec_binary_t *pem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:171,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:172,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:182,1
    - Dst: dnssec_pem_from_x509
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:190,1
    - Dst: keyid_x509_hex
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:198,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - algorithm
    - bits
    - pem
    - id
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned
    - dnssec_binary_t*
    - char**
    constantsTouched: []
    func_position:
      end: 208
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 208
    functionName: pem_generate
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_binary_free
    - keyid_x509_hex
    - gnutls_x509_privkey_generate
    - dnssec_pem_from_x509
    linkageType: ''
    returnType: int
    signature: "int pem_generate(gnutls_pk_algorithm_t algorithm, unsigned bits,\n\t\t\tdnssec_binary_t
      *pem, char **id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx_ptr
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: pkcs8_ctx_new
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int pkcs8_ctx_new(void **ctx_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: pkcs8_ctx_free
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pkcs8_ctx_free(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dir
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: pkcs8_init
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - make_dir
    linkageType: ''
    returnType: int
    signature: int pkcs8_init(void *ctx, const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - config
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: pkcs8_open
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkcs8_open(void *ctx, const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:268,1
    - Dst: memset
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: pkcs8_close
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: int pkcs8_close(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_open_write
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:297,1
    - Dst: key_is_duplicate
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:299,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:309,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - algorithm
    - bits
    - label
    - id_ptr
    argTypes:
    - void*
    - gnutls_pk_algorithm_t
    - unsigned
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 319
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 319
    functionName: pkcs8_generate_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - key_open_write
    - key_is_duplicate
    linkageType: ''
    returnType: int
    signature: "int pkcs8_generate_key(void *ctx, gnutls_pk_algorithm_t algorithm,\n\t\t\t
      \     unsigned bits, const char *label, char **id_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keyid_x509_hex
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:338,1
    - Dst: key_open_write
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:346,1
    - Dst: key_is_duplicate
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:348,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:352,1
    - Dst: free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:360,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:361,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - pem
    - id_ptr
    argTypes:
    - void*
    - dnssec_binary_t*
    - char**
    constantsTouched: []
    func_position:
      end: 371
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 371
    functionName: pkcs8_import_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - key_is_duplicate
    - keyid_x509_hex
    - free
    - key_open_write
    linkageType: ''
    returnType: int
    signature: int pkcs8_import_key(void *ctx, const dnssec_binary_t *pem, char **id_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_path
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:381,1
    - Dst: unlink
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:386,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: pkcs8_remove_key
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - key_path
    - unlink
    linkageType: ''
    returnType: int
    signature: int pkcs8_remove_key(void *ctx, const char *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: file_size
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:410,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:422,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:429,1
    - Dst: dnssec_errno_to_error
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:430,1
    - Dst: assert
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:433,1
    - Dst: dnssec_pem_to_privkey
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:438,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - id
    - key_ptr
    argTypes:
    - void*
    - char*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 448
    functionName: pkcs8_get_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - dnssec_errno_to_error
    - assert
    - dnssec_binary_free
    - dnssec_binary_alloc
    - file_size
    - dnssec_pem_to_privkey
    linkageType: ''
    returnType: int
    signature: int pkcs8_get_private(void *ctx, const char *id, gnutls_privkey_t *key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8_import_key
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: pkcs8_set_private
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - pkcs8_import_key
    linkageType: ''
    returnType: int
    signature: int pkcs8_set_private(void *ctx, gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: keystore_create
      Src: /src/knot-dns/src/libdnssec/keystore/pkcs8.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store_ptr
    argTypes:
    - dnssec_keystore_t**
    constantsTouched: []
    func_position:
      end: 486
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 486
    functionName: dnssec_keystore_init_pkcs8
    functionSourceFile: /src/knot-dns/src/libdnssec/keystore/pkcs8.c
    functionUses: 0
    functionsReached:
    - keystore_create
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_keystore_init_pkcs8(dnssec_keystore_t **store_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: zs_strerror
    functionSourceFile: /src/knot-dns/src/libzscanner/error.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ * zs_strerror(const int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: zs_errorname
    functionSourceFile: /src/knot-dns/src/libzscanner/error.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ * zs_errorname(const int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - buff
    - timestamp
    argTypes:
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 809
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 809
    functionName: date_to_timestamp
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int date_to_timestamp(uint8_t *buff, uint32_t *timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - data
    - data_len
    - text
    argTypes:
    - uint8_t*
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 848
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 848
    functionName: wire_dname_to_str
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wire_dname_to_str(const uint8_t  *data,\n                       const
      uint32_t data_len,\n                       char           *text)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: loc64to8
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t loc64to8(uint64_t number)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:865,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:866,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:868,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: mandatory_cmp
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached:
    - memcpy
    - be16toh
    linkageType: ''
    returnType: int
    signature: int mandatory_cmp(const void *p1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/knot-dns/src/libzscanner/functions.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list_begin
    - list_end
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: svcb_mandatory_sort
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void svcb_mandatory_sort(uint8_t *list_begin, uint8_t *list_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:890,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:891,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:902,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:903,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:904,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:905,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:911,1
    - Dst: memmove
      Src: /src/knot-dns/src/libzscanner/functions.c:912,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - scanner
    - rdata_end
    argTypes:
    - zs_scanner_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 924
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 924
    functionName: svcb_sort
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached:
    - memcpy
    - be16toh
    - memmove
    linkageType: ''
    returnType: int
    signature: int svcb_sort(zs_scanner_t *scanner, uint8_t *rdata_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:936,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:937,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libzscanner/functions.c:945,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:953,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libzscanner/functions.c:954,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libzscanner/functions.c:955,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libzscanner/functions.c:958,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - scanner
    - rdata_end
    argTypes:
    - zs_scanner_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 969
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 969
    functionName: svcb_check
    functionSourceFile: /src/knot-dns/src/libzscanner/functions.c
    functionUses: 0
    functionsReached:
    - memcpy
    - be16toh
    - memcmp
    linkageType: ''
    returnType: int
    signature: int svcb_check(zs_scanner_t *scanner, uint8_t *rdata_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - journal_mode
    - readonly
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: journal_env_flags
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned journal_env_flags(int journal_mode, bool readonly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_serial_to
      Src: /src/knot-dns/src/knot/journal/journal_basic.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn
    - zone
    - serial
    - zone_name
    argTypes:
    - knot_lmdb_txn_t*
    - bool
    - uint32_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: journal_contains
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.h
    functionUses: 0
    functionsReached:
    - journal_serial_to
    linkageType: ''
    returnType: bool
    signature: bool journal_contains(knot_lmdb_txn_t *txn, bool zone, uint32_t serial,
      const knot_dname_t *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:13,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - zone_in_journal
    - serial
    - zone
    argTypes:
    - bool
    - uint32_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: journal_changeset_id_to_key
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val journal_changeset_id_to_key(bool zone_in_journal, uint32_t
      serial, const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:22,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - apex
    - ch_from
    - zij
    - chunk_id
    argTypes:
    - knot_dname_t*
    - uint32_t
    - bool
    - uint32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: journal_make_chunk_key
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val journal_make_chunk_key(const knot_dname_t *apex, uint32_t ch_from,
      bool zij, uint32_t chunk_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_is_prefix_of2
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - found_key
    argTypes:
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: journal_correct_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_is_prefix_of2
    linkageType: ''
    returnType: bool
    signature: bool journal_correct_prefix(MDB_val *prefix, MDB_val *found_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: journal_zone_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val journal_zone_prefix(const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:40,1
    - Dst: journal_zone_prefix
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:41,1
    - Dst: knot_lmdb_del_prefix
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:42,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txn
    - zone
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: journal_del_zone
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - journal_zone_prefix
    - free
    - assert
    - knot_lmdb_del_prefix
    linkageType: ''
    returnType: void
    signature: void journal_del_zone(knot_lmdb_txn_t *txn, const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key_part
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - chunk
    - ch_serial_to
    - now
    argTypes:
    - void*
    - uint32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: journal_make_header
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key_part
    linkageType: ''
    returnType: void
    signature: void journal_make_header(void *chunk, uint32_t ch_serial_to, uint64_t
      now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: journal_next_serial
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t journal_next_serial(const MDB_val *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u64
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: journal_ch_timestamp
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t journal_ch_timestamp(const MDB_val *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_make_chunk_key
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:66,1
    - Dst: journal_next_serial
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:69,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - txn
    - zij
    - serial
    - zone
    - serial_to
    argTypes:
    - knot_lmdb_txn_t*
    - bool
    - uint32_t
    - knot_dname_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: journal_serial_to
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 1
    functionsReached:
    - journal_next_serial
    - free
    - journal_make_chunk_key
    linkageType: ''
    returnType: bool
    signature: "bool journal_serial_to(knot_lmdb_txn_t *txn, bool zij, uint32_t serial,\n
      \                      const knot_dname_t *zone, uint32_t *serial_to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:77,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: journal_allow_flush
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 1
    functionsReached:
    - conf_zone_get
    - conf_int
    linkageType: ''
    returnType: bool
    signature: bool journal_allow_flush(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:83,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: journal_conf_max_usage
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf_int
    linkageType: ''
    returnType: size_t
    signature: size_t journal_conf_max_usage(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:89,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/journal/journal_basic.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: journal_conf_max_changesets
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_basic.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf_int
    linkageType: ''
    returnType: size_t
    signature: size_t journal_conf_max_changesets(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/journal/serialization.c:47,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/journal/serialization.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: serialize_init
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - init_list
    - calloc
    linkageType: ''
    returnType: serialize_ctx_t
    signature: serialize_ctx_t *serialize_init(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/journal/serialization.c:63,1
    - Dst: zone_diff_from_zone
      Src: /src/knot-dns/src/knot/journal/serialization.c:68,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/journal/serialization.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - z
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: serialize_zone_init
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - zone_diff_from_zone
    - init_list
    - calloc
    linkageType: ''
    returnType: serialize_ctx_t
    signature: serialize_ctx_t *serialize_zone_init(const zone_contents_t *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/journal/serialization.c:79,1
    - Dst: zone_diff_reverse
      Src: /src/knot-dns/src/knot/journal/serialization.c:86,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/journal/serialization.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - z
    argTypes:
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: serialize_zone_diff_init
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - zone_diff_reverse
    - init_list
    - calloc
    linkageType: ''
    returnType: serialize_ctx_t
    signature: serialize_ctx_t *serialize_zone_diff_init(const zone_diff_t *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:99,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/journal/serialization.c:102,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:104,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/journal/serialization.c:109,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:110,1
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:112,1
    - Dst: zone_diff_reverse
      Src: /src/knot-dns/src/knot/journal/serialization.c:115,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/journal/serialization.c:116,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:118,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/journal/serialization.c:124,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/journal/serialization.c:128,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:129,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:132,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:137,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/journal/serialization.c:137,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:138,1
    - Dst: knot_rdataset_subset
      Src: /src/knot-dns/src/knot/journal/serialization.c:139,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/src/knot/journal/serialization.c:143,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/journal/serialization.c:145,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/journal/serialization.c:146,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:148,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:148,1
    - Dst: changeset_iter_rem
      Src: /src/knot-dns/src/knot/journal/serialization.c:156,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:160,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:161,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:162,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/journal/serialization.c:163,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:170,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/journal/serialization.c:172,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:176,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:177,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:178,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - serialize_ctx_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 185
    functionName: get_next_rrset
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - node_rrset_at
    - zone_diff_reverse
    - node_rrset
    - binode_counterpart
    - changeset_iter_next
    - zone_tree_it_next
    - changeset_iter_clear
    - knot_rdataset_subset
    - changeset_iter_add
    - zone_tree_it_finished
    - ptrlist_add
    - assert
    - knot_rdataset_subtract
    - knot_rrset_init_empty
    - knot_rdataset_copy
    - zone_tree_it_free
    - zone_tree_it_begin
    - zone_tree_is_empty
    - zone_tree_it_val
    - changeset_iter_rem
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t get_next_rrset(serialize_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/journal/serialization.c:199,1
    - Dst: TAIL
      Src: /src/knot-dns/src/knot/journal/serialization.c:200,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/serialization.c:201,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/journal/serialization.c:202,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/serialization.c:203,1
    - Dst: get_next_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:207,1
    - Dst: get_next_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:222,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/serialization.c:231,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - thresh_size
    - max_size
    - realsize
    argTypes:
    - serialize_ctx_t*
    - size_t
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 245
    functionName: serialize_prepare
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - rem_node
    - free
    - knot_dname_size
    - TAIL
    - get_next_rrset
    - WALK_LIST_DELSAFE
    - knot_rdataset_at
    linkageType: ''
    returnType: void
    signature: "void serialize_prepare(serialize_ctx_t *ctx, size_t thresh_size,\n
      \                      size_t max_size, size_t *realsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/journal/serialization.c:249,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:261,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/serialization.c:264,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:265,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:266,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:267,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:269,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:271,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:273,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/journal/serialization.c:277,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:278,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/journal/serialization.c:279,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - dst_chunk
    - chunk_size
    argTypes:
    - serialize_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 284
    functionName: serialize_chunk
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - wire_ctx_init
    - wire_ctx_write
    - wire_ctx_write_u16
    - wire_ctx_write_u32
    - knot_rdataset_at
    - wire_ctx_skip
    linkageType: ''
    returnType: void
    signature: void serialize_chunk(serialize_ctx_t *ctx, uint8_t *dst_chunk, size_t
      chunk_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - serialize_ctx_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: serialize_unfinished
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool serialize_unfinished(serialize_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:294,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:297,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/journal/serialization.c:300,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/serialization.c:301,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/journal/serialization.c:302,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/serialization.c:303,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/serialization.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - serialize_ctx_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: serialize_deinit
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - rem_node
    - free
    - zone_tree_it_free
    - WALK_LIST_DELSAFE
    - changeset_iter_clear
    linkageType: ''
    returnType: int
    signature: int serialize_deinit(serialize_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: rrset_binary_size
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rrset_binary_size(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:335,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/journal/serialization.c:336,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/journal/serialization.c:336,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/journal/serialization.c:337,1
    - Dst: rrset_binary_size
      Src: /src/knot-dns/src/knot/journal/serialization.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: node_diff_size
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - knot_rrset_equal
    - node_rrset
    - binode_counterpart
    - rrset_binary_size
    linkageType: ''
    returnType: size_t
    signature: size_t node_diff_size(zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_diff_reverse
      Src: /src/knot-dns/src/knot/journal/serialization.c:348,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/journal/serialization.c:355,1
    - Dst: node_diff_size
      Src: /src/knot-dns/src/knot/journal/serialization.c:356,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/journal/serialization.c:356,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:357,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - diff
    argTypes:
    - zone_diff_t
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: zone_diff_serialized_size
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - node_diff_size
    - zone_diff_reverse
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: size_t
    signature: size_t zone_diff_serialized_size(zone_diff_t diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/journal/serialization.c:375,1
    - Dst: changeset_iter_all
      Src: /src/knot-dns/src/knot/journal/serialization.c:377,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:381,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/journal/serialization.c:382,1
    - Dst: rrset_binary_size
      Src: /src/knot-dns/src/knot/journal/serialization.c:383,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/journal/serialization.c:384,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 390
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 390
    functionName: changeset_serialized_size
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - changeset_iter_all
    - changeset_iter_add
    - rrset_binary_size
    - changeset_iter_next
    - changeset_iter_clear
    linkageType: ''
    returnType: size_t
    signature: size_t changeset_serialized_size(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:394,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:399,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:400,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/serialization.c:402,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:403,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:404,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:405,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:408,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:409,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:411,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:412,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/journal/serialization.c:414,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/serialization.c:415,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/journal/serialization.c:416,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - wire
    - rrset
    argTypes:
    - wire_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 421
    functionName: serialize_rrset
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - wire_ctx_write
    - wire_ctx_write_u16
    - wire_ctx_write_u32
    - knot_rdataset_at
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: int serialize_rrset(wire_ctx_t *wire, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:425,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:430,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/journal/serialization.c:432,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:433,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:434,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/serialization.c:437,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:442,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/src/knot/journal/serialization.c:446,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/journal/serialization.c:447,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:450,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/journal/serialization.c:452,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:454,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/serialization.c:461,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/journal/serialization.c:462,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/journal/serialization.c:464,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/serialization.c:467,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - wire
    - rrset
    argTypes:
    - wire_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 472
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 472
    functionName: deserialize_rrset
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - knot_dname_cmp
    - knot_dname_copy
    - knot_dname_free
    - knot_rrset_init
    - wire_ctx_skip
    - knot_rrset_add_rdata
    - knot_rrset_clear
    linkageType: ''
    returnType: int
    signature: int deserialize_rrset(wire_ctx_t *wire, knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/journal/serialization.c:484,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/serialization.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 491
    functionName: rrset_serialized_size
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_at
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t rrset_serialized_size(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/journal/journal_read.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rr
    - apex
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: rr_is_apex_soa
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.h
    functionUses: 0
    functionsReached:
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool rr_is_apex_soa(const knot_rrset_t *rr, const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_unfinished
      Src: /src/knot-dns/src/knot/journal/journal_write.c:22,1
    - Dst: serialize_prepare
      Src: /src/knot-dns/src/knot/journal/journal_write.c:23,1
    - Dst: journal_make_chunk_key
      Src: /src/knot-dns/src/knot/journal/journal_write.c:30,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/journal/journal_write.c:31,1
    - Dst: journal_make_header
      Src: /src/knot-dns/src/knot/journal/journal_write.c:32,1
    - Dst: serialize_chunk
      Src: /src/knot-dns/src/knot/journal/journal_write.c:33,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_write.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - txn
    - ser
    - apex
    - zij
    - ch_from
    - ch_to
    argTypes:
    - knot_lmdb_txn_t*
    - serialize_ctx_t*
    - knot_dname_t*
    - bool
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: journal_write_serialize
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - serialize_prepare
    - serialize_unfinished
    - serialize_chunk
    - free
    - journal_make_header
    - knot_lmdb_insert
    - journal_make_chunk_key
    linkageType: ''
    returnType: void
    signature: "void journal_write_serialize(knot_lmdb_txn_t *txn, serialize_ctx_t
      *ser,\n                                    const knot_dname_t *apex, bool zij,
      uint32_t ch_from, uint32_t ch_to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_init
      Src: /src/knot-dns/src/knot/journal/journal_write.c:46,1
    - Dst: journal_write_serialize
      Src: /src/knot-dns/src/knot/journal/journal_write.c:52,1
    - Dst: changeset_to
      Src: /src/knot-dns/src/knot/journal/journal_write.c:52,1
    - Dst: journal_write_serialize
      Src: /src/knot-dns/src/knot/journal/journal_write.c:54,1
    - Dst: changeset_from
      Src: /src/knot-dns/src/knot/journal/journal_write.c:54,1
    - Dst: changeset_to
      Src: /src/knot-dns/src/knot/journal/journal_write.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - txn
    - ch
    argTypes:
    - knot_lmdb_txn_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: journal_write_changeset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - changeset_to
    - serialize_init
    - changeset_from
    - journal_write_serialize
    linkageType: ''
    returnType: void
    signature: void journal_write_changeset(knot_lmdb_txn_t *txn, const changeset_t
      *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_zone_init
      Src: /src/knot-dns/src/knot/journal/journal_write.c:60,1
    - Dst: journal_write_serialize
      Src: /src/knot-dns/src/knot/journal/journal_write.c:65,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/journal/journal_write.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txn
    - z
    argTypes:
    - knot_lmdb_txn_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: journal_write_zone
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - serialize_zone_init
    - journal_write_serialize
    - zone_contents_serial
    linkageType: ''
    returnType: void
    signature: void journal_write_zone(knot_lmdb_txn_t *txn, const zone_contents_t
      *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_zone_diff_init
      Src: /src/knot-dns/src/knot/journal/journal_write.c:70,1
    - Dst: journal_write_serialize
      Src: /src/knot-dns/src/knot/journal/journal_write.c:75,1
    - Dst: zone_diff_from
      Src: /src/knot-dns/src/knot/journal/journal_write.c:75,1
    - Dst: zone_diff_to
      Src: /src/knot-dns/src/knot/journal/journal_write.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txn
    - z
    argTypes:
    - knot_lmdb_txn_t*
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: journal_write_zone_diff
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - serialize_zone_diff_init
    - zone_diff_from
    - zone_diff_to
    - journal_write_serialize
    linkageType: ''
    returnType: void
    signature: void journal_write_zone_diff(knot_lmdb_txn_t *txn, const zone_diff_t
      *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_changeset_id_to_key
      Src: /src/knot-dns/src/knot/journal/journal_write.c:82,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/journal/journal_write.c:83,1
    - Dst: journal_correct_prefix
      Src: /src/knot-dns/src/knot/journal/journal_write.c:84,1
    - Dst: journal_next_serial
      Src: /src/knot-dns/src/knot/journal/journal_write.c:88,1
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/journal/journal_write.c:89,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_write.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - txn
    - del_zij
    - del_serial
    - zone
    - freed
    - next_serial
    argTypes:
    - knot_lmdb_txn_t*
    - bool
    - uint32_t
    - knot_dname_t*
    - uint64_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: delete_one
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - journal_correct_prefix
    - knot_lmdb_foreach
    - journal_changeset_id_to_key
    - free
    - journal_next_serial
    - knot_lmdb_del_cur
    linkageType: ''
    returnType: bool
    signature: "bool delete_one(knot_lmdb_txn_t *txn, bool del_zij, uint32_t del_serial,\n
      \                      const knot_dname_t *zone, uint64_t *freed, uint32_t *next_serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_is_apex_soa
      Src: /src/knot-dns/src/knot/journal/journal_write.c:98,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/journal/journal_write.c:99,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/journal/journal_write.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - remove
    - rr
    - ctx
    argTypes:
    - bool
    - knot_rrset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: merge_cb
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - changeset_add_removal
    - rr_is_apex_soa
    - changeset_add_addition
    linkageType: ''
    returnType: int
    signature: int merge_cb(bool remove, const knot_rrset_t *rr, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:107,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/src/knot/journal/journal_write.c:109,1
    - Dst: journal_read_changeset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:113,1
    - Dst: changeset_to
      Src: /src/knot-dns/src/knot/journal/journal_write.c:114,1
    - Dst: journal_read_rrsets
      Src: /src/knot-dns/src/knot/journal/journal_write.c:116,1
    - Dst: delete_one
      Src: /src/knot-dns/src/knot/journal/journal_write.c:122,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_write.c:124,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_write.c:125,1
    - Dst: journal_write_changeset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:128,1
    - Dst: journal_read_clear_changeset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - j
    - txn
    - merge_zij
    - merge_serial
    - original_serial_to
    argTypes:
    - zone_journal_t
    - knot_lmdb_txn_t*
    - bool
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: journal_merge
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - journal_read_clear_changeset
    - assert
    - journal_read_changeset
    - journal_read_rrsets
    - journal_write_changeset
    - changeset_to
    - delete_one
    - memset
    - journal_read_begin
    linkageType: ''
    returnType: void
    signature: "void journal_merge(zone_journal_t j, knot_lmdb_txn_t *txn, bool merge_zij,\n
      \                  uint32_t merge_serial, uint32_t *original_serial_to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delete_one
      Src: /src/knot-dns/src/knot/journal/journal_write.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - txn
    - zone
    - md
    - freed
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - journal_metadata_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: delete_merged
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - delete_one
    linkageType: ''
    returnType: void
    signature: "void delete_merged(knot_lmdb_txn_t *txn, const knot_dname_t *zone,\n
      \                         journal_metadata_t *md, uint64_t *freed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delete_one
      Src: /src/knot-dns/src/knot/journal/journal_write.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 9
    argNames:
    - txn
    - from
    - zone
    - tofree_size
    - tofree_count
    - stop_at_serial
    - freed_size
    - freed_count
    - stopped_at
    argTypes:
    - knot_lmdb_txn_t*
    - uint32_t
    - knot_dname_t*
    - uint64_t
    - size_t
    - uint32_t
    - uint64_t*
    - size_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: journal_delete
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - delete_one
    linkageType: ''
    returnType: bool
    signature: "bool journal_delete(knot_lmdb_txn_t *txn, uint32_t from, const knot_dname_t
      *zone,\n                    uint64_t tofree_size, size_t tofree_count, uint32_t
      stop_at_serial,\n                    uint64_t *freed_size, size_t *freed_count,
      uint32_t *stopped_at)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_write.c:165,1
    - Dst: journal_merge
      Src: /src/knot-dns/src/knot/journal/journal_write.c:166,1
    - Dst: journal_metadata_after_merge
      Src: /src/knot-dns/src/knot/journal/journal_write.c:168,1
    - Dst: journal_merge
      Src: /src/knot-dns/src/knot/journal/journal_write.c:172,1
    - Dst: journal_metadata_after_merge
      Src: /src/knot-dns/src/knot/journal/journal_write.c:173,1
    - Dst: delete_one
      Src: /src/knot-dns/src/knot/journal/journal_write.c:181,1
    - Dst: journal_store_metadata
      Src: /src/knot-dns/src/knot/journal/journal_write.c:186,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_write.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - j
    - txn
    - md
    argTypes:
    - zone_journal_t
    - knot_lmdb_txn_t*
    - journal_metadata_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: journal_try_flush
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_commit
    - journal_contains
    - delete_one
    - journal_merge
    - journal_metadata_after_merge
    - journal_store_metadata
    linkageType: ''
    returnType: void
    signature: void journal_try_flush(zone_journal_t j, knot_lmdb_txn_t *txn, journal_metadata_t
      *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_serial_to
      Src: /src/knot-dns/src/knot/journal/journal_write.c:207,1
    - Dst: journal_delete
      Src: /src/knot-dns/src/knot/journal/journal_write.c:210,1
    - Dst: journal_try_flush
      Src: /src/knot-dns/src/knot/journal/journal_write.c:214,1
    - Dst: journal_metadata_after_delete
      Src: /src/knot-dns/src/knot/journal/journal_write.c:220,1
    - Dst: U_MINUS
      Src: /src/knot-dns/src/knot/journal/journal_write.c:221,1
    - Dst: U_MINUS
      Src: /src/knot-dns/src/knot/journal/journal_write.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - j
    - txn
    - md
    - max_usage
    - max_count
    argTypes:
    - zone_journal_t
    - knot_lmdb_txn_t*
    - journal_metadata_t*
    - int64_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 225
      start: 196
    functionDepth: 7
    functionLinenumber: 196
    functionLinenumberEnd: 225
    functionName: journal_fix_occupation
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 0
    functionsReached:
    - journal_try_flush
    - U_MINUS
    - journal_delete
    - journal_metadata_after_delete
    - journal_serial_to
    linkageType: ''
    returnType: void
    signature: "void journal_fix_occupation(zone_journal_t j, knot_lmdb_txn_t *txn,
      journal_metadata_t *md,\n                            int64_t max_usage, ssize_t
      max_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_write.c:240,1
    - Dst: update_last_inserter
      Src: /src/knot-dns/src/knot/journal/journal_write.c:242,1
    - Dst: journal_del_zone_txn
      Src: /src/knot-dns/src/knot/journal/journal_write.c:243,1
    - Dst: journal_write_zone
      Src: /src/knot-dns/src/knot/journal/journal_write.c:245,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/journal/journal_write.c:249,1
    - Dst: journal_store_metadata
      Src: /src/knot-dns/src/knot/journal/journal_write.c:251,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_write.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - j
    - z
    argTypes:
    - zone_journal_t
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: journal_insert_zone
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 3
    functionsReached:
    - knot_lmdb_commit
    - knot_lmdb_begin
    - journal_del_zone_txn
    - zone_contents_serial
    - journal_write_zone
    - update_last_inserter
    - journal_store_metadata
    linkageType: ''
    returnType: int
    signature: int journal_insert_zone(zone_journal_t j, const zone_contents_t *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_write.c:260,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/journal/journal_write.c:276,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/journal/journal_write.c:277,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_write.c:286,1
    - Dst: journal_load_metadata
      Src: /src/knot-dns/src/knot/journal/journal_write.c:287,1
    - Dst: update_last_inserter
      Src: /src/knot-dns/src/knot/journal/journal_write.c:289,1
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_write.c:292,1
    - Dst: delete_merged
      Src: /src/knot-dns/src/knot/journal/journal_write.c:296,1
    - Dst: changeset_serialized_size
      Src: /src/knot-dns/src/knot/journal/journal_write.c:297,1
    - Dst: journal_fix_occupation
      Src: /src/knot-dns/src/knot/journal/journal_write.c:304,1
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_write.c:308,1
    - Dst: journal_del_zone_txn
      Src: /src/knot-dns/src/knot/journal/journal_write.c:311,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:312,1
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_write.c:317,1
    - Dst: journal_fix_occupation
      Src: /src/knot-dns/src/knot/journal/journal_write.c:318,1
    - Dst: journal_write_changeset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:322,1
    - Dst: journal_write_zone_diff
      Src: /src/knot-dns/src/knot/journal/journal_write.c:324,1
    - Dst: journal_metadata_after_insert
      Src: /src/knot-dns/src/knot/journal/journal_write.c:326,1
    - Dst: journal_write_changeset
      Src: /src/knot-dns/src/knot/journal/journal_write.c:329,1
    - Dst: journal_metadata_after_extra
      Src: /src/knot-dns/src/knot/journal/journal_write.c:330,1
    - Dst: journal_store_metadata
      Src: /src/knot-dns/src/knot/journal/journal_write.c:333,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_write.c:334,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - j
    - ch
    - extra
    - zdiff
    argTypes:
    - zone_journal_t
    - changeset_t*
    - changeset_t*
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 257
    functionDepth: 8
    functionLinenumber: 257
    functionLinenumberEnd: 336
    functionName: journal_insert
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_write.c
    functionUses: 4
    functionsReached:
    - serial_compare
    - assert
    - delete_merged
    - changeset_serialized_size
    - knot_lmdb_commit
    - knot_lmdb_begin
    - journal_fix_occupation
    - journal_del_zone_txn
    - journal_write_zone_diff
    - journal_metadata_after_extra
    - journal_write_changeset
    - journal_metadata_after_insert
    - journal_contains
    - journal_load_metadata
    - memset
    - update_last_inserter
    - journal_store_metadata
    linkageType: ''
    returnType: int
    signature: "int journal_insert(zone_journal_t j, const changeset_t *ch, const
      changeset_t *extra,\n                   const zone_diff_t *zdiff)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_info
      Src: /src/knot-dns/src/knot/journal/journal_metadata.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: journal_is_existing
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.h
    functionUses: 0
    functionsReached:
    - journal_info
    linkageType: ''
    returnType: bool
    signature: bool journal_is_existing(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - another_error
    argTypes:
    - journal_read_t*
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: journal_read_get_error
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int journal_read_get_error(const journal_read_t *ctx, int another_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/journal/journal_read.c:36,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/journal_read.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - journal_read_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: update_ctx_wire
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init_const
    - wire_ctx_skip
    linkageType: ''
    returnType: void
    signature: void update_ctx_wire(journal_read_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_correct_prefix
      Src: /src/knot-dns/src/knot/journal/journal_read.c:42,1
    - Dst: knot_lmdb_next
      Src: /src/knot-dns/src/knot/journal/journal_read.c:43,1
    - Dst: knot_lmdb_is_prefix_of
      Src: /src/knot-dns/src/knot/journal/journal_read.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - journal_read_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: go_correct_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - journal_correct_prefix
    - knot_lmdb_is_prefix_of
    - knot_lmdb_next
    linkageType: ''
    returnType: bool
    signature: bool go_correct_prefix(journal_read_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_read.c:52,1
    - Dst: journal_changeset_id_to_key
      Src: /src/knot-dns/src/knot/journal/journal_read.c:53,1
    - Dst: knot_lmdb_find_prefix
      Src: /src/knot-dns/src/knot/journal/journal_read.c:54,1
    - Dst: go_correct_prefix
      Src: /src/knot-dns/src/knot/journal/journal_read.c:57,1
    - Dst: journal_next_serial
      Src: /src/knot-dns/src/knot/journal/journal_read.c:60,1
    - Dst: journal_next_serial
      Src: /src/knot-dns/src/knot/journal/journal_read.c:68,1
    - Dst: journal_ch_timestamp
      Src: /src/knot-dns/src/knot/journal/journal_read.c:69,1
    - Dst: update_ctx_wire
      Src: /src/knot-dns/src/knot/journal/journal_read.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - go_zone
    - zone
    argTypes:
    - journal_read_t*
    - bool
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: go_next_changeset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - journal_changeset_id_to_key
    - free
    - go_correct_prefix
    - journal_next_serial
    - knot_lmdb_find_prefix
    - journal_ch_timestamp
    - update_ctx_wire
    linkageType: ''
    returnType: bool
    signature: bool go_next_changeset(journal_read_t *ctx, bool go_zone, const knot_dname_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_is_existing
      Src: /src/knot-dns/src/knot/journal/journal_read.c:77,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/journal/journal_read.c:81,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_read.c:89,1
    - Dst: journal_load_metadata
      Src: /src/knot-dns/src/knot/journal/journal_read.c:92,1
    - Dst: go_next_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:98,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/journal/journal_read.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - j
    - read_zone
    - serial_from
    - ctx
    argTypes:
    - zone_journal_t
    - bool
    - uint32_t
    - journal_read_t**
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: journal_read_begin
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 2
    functionsReached:
    - calloc
    - knot_lmdb_begin
    - journal_read_end
    - journal_is_existing
    - journal_load_metadata
    - go_next_changeset
    linkageType: ''
    returnType: int
    signature: int journal_read_begin(zone_journal_t j, bool read_zone, uint32_t serial_from,
      journal_read_t **ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_read.c:110,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/journal_read.c:111,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_read.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - journal_read_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: journal_read_end
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 4
    functionsReached:
    - free
    - knot_lmdb_abort
    linkageType: ''
    returnType: void
    signature: void journal_read_end(journal_read_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/journal_read.c:118,1
    - Dst: knot_lmdb_next
      Src: /src/knot-dns/src/knot/journal/journal_read.c:119,1
    - Dst: go_correct_prefix
      Src: /src/knot-dns/src/knot/journal/journal_read.c:122,1
    - Dst: journal_next_serial
      Src: /src/knot-dns/src/knot/journal/journal_read.c:125,1
    - Dst: update_ctx_wire
      Src: /src/knot-dns/src/knot/journal/journal_read.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - journal_read_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: make_data_available
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - go_correct_prefix
    - journal_next_serial
    - update_ctx_wire
    - knot_lmdb_next
    linkageType: ''
    returnType: bool
    signature: bool make_data_available(journal_read_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_data_available
      Src: /src/knot-dns/src/knot/journal/journal_read.c:144,1
    - Dst: go_next_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:145,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/journal/journal_read.c:149,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/journal_read.c:150,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/journal_read.c:150,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/knot/journal/journal_read.c:151,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/knot/journal/journal_read.c:152,1
    - Dst: make_data_available
      Src: /src/knot-dns/src/knot/journal/journal_read.c:155,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/journal/journal_read.c:166,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/journal_read.c:168,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - rrset
    - allow_next_changeset
    argTypes:
    - journal_read_t*
    - knot_rrset_t*
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: journal_read_rrset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - make_data_available
    - knot_dname_size
    - journal_read_clear_rrset
    - knot_dname_copy
    - go_next_changeset
    - knot_rrset_add_rdata
    - wire_ctx_read_u16
    - wire_ctx_skip
    linkageType: ''
    returnType: bool
    signature: bool journal_read_rrset(journal_read_t *ctx, knot_rrset_t *rrset, bool
      allow_next_changeset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/journal/journal_read.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: journal_read_clear_rrset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 1
    functionsReached:
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void journal_read_clear_rrset(knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_read_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:191,1
    - Dst: rr_is_apex_soa
      Src: /src/knot-dns/src/knot/journal/journal_read.c:192,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:195,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:196,1
    - Dst: journal_read_get_error
      Src: /src/knot-dns/src/knot/journal/journal_read.c:198,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/journal/journal_read.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - read
    - cb
    - ctx
    argTypes:
    - journal_read_t*
    - journal_read_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: journal_read_rrsets
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 1
    functionsReached:
    - journal_read_clear_rrset
    - journal_read_get_error
    - rr_is_apex_soa
    - journal_read_end
    - journal_read_rrset
    - cb
    linkageType: ''
    returnType: int
    signature: int journal_read_rrsets(journal_read_t *read, journal_read_cb_t cb,
      void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/journal/journal_read.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - rrset
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: add_rr_to_contents
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - zone_contents_add_rr
    linkageType: ''
    returnType: int
    signature: int add_rr_to_contents(zone_contents_t *z, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/journal/journal_read.c:212,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/journal/journal_read.c:213,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:218,1
    - Dst: journal_read_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:220,1
    - Dst: journal_read_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:223,1
    - Dst: rr_is_apex_soa
      Src: /src/knot-dns/src/knot/journal/journal_read.c:224,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/journal/journal_read.c:231,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/journal/journal_read.c:232,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:238,1
    - Dst: add_rr_to_contents
      Src: /src/knot-dns/src/knot/journal/journal_read.c:240,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:241,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:251,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:252,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_read.c:253,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/journal/journal_read.c:254,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/journal/journal_read.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - ctx
    - ch
    argTypes:
    - journal_read_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: journal_read_changeset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 2
    functionsReached:
    - zone_contents_deep_free
    - calloc
    - free
    - journal_read_clear_rrset
    - add_rr_to_contents
    - rr_is_apex_soa
    - changeset_clear
    - journal_read_rrset
    - memset
    - malloc
    - zone_contents_new
    linkageType: ''
    returnType: bool
    signature: bool journal_read_changeset(journal_read_t *ctx, changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/journal/journal_read.c:262,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: journal_read_clear_changeset
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 1
    functionsReached:
    - changeset_clear
    - memset
    linkageType: ''
    returnType: void
    signature: void journal_read_clear_changeset(changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_read.c:269,1
    - Dst: journal_load_metadata
      Src: /src/knot-dns/src/knot/journal/journal_read.c:270,1
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_read.c:272,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/journal_read.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - j
    - md
    - has_zij
    argTypes:
    - zone_journal_t
    - journal_metadata_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: just_load_md
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - journal_contains
    - knot_lmdb_abort
    - journal_load_metadata
    linkageType: ''
    returnType: int
    signature: int just_load_md(zone_journal_t j, journal_metadata_t *md, bool *has_zij)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_read_begin
      Src: /src/knot-dns/src/knot/journal/journal_read.c:292,1
    - Dst: journal_read_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:293,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:294,1
    - Dst: journal_read_clear_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:296,1
    - Dst: journal_read_get_error
      Src: /src/knot-dns/src/knot/journal/journal_read.c:298,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/journal/journal_read.c:299,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - j
    - from
    - cb
    - ctx
    argTypes:
    - zone_journal_t
    - uint32_t
    - journal_walk_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 305
      start: 278
    functionDepth: 6
    functionLinenumber: 278
    functionLinenumberEnd: 305
    functionName: journal_walk_from
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - journal_read_clear_changeset
    - journal_read_changeset
    - journal_read_get_error
    - journal_read_end
    - journal_read_begin
    - cb
    linkageType: ''
    returnType: int
    signature: "int journal_walk_from(zone_journal_t j, uint32_t from,\n                      journal_walk_cb_t
      cb, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:312,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:314,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/journal/journal_read.c:318,1
    - Dst: just_load_md
      Src: /src/knot-dns/src/knot/journal/journal_read.c:327,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/src/knot/journal/journal_read.c:332,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/src/knot/journal/journal_read.c:335,1
    - Dst: journal_read_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:337,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:338,1
    - Dst: journal_read_clear_changeset
      Src: /src/knot-dns/src/knot/journal/journal_read.c:339,1
    - Dst: journal_read_get_error
      Src: /src/knot-dns/src/knot/journal/journal_read.c:341,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/journal/journal_read.c:342,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_read.c:345,1
    - Dst: journal_walk_from
      Src: /src/knot-dns/src/knot/journal/journal_read.c:349,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - j
    - cb
    - ctx
    argTypes:
    - zone_journal_t
    - journal_walk_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 355
      start: 308
    functionDepth: 7
    functionLinenumber: 308
    functionLinenumberEnd: 355
    functionName: journal_walk
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - journal_read_clear_changeset
    - journal_walk_from
    - journal_read_changeset
    - journal_read_get_error
    - journal_read_end
    - journal_read_begin
    - just_load_md
    - knot_lmdb_open
    - cb
    linkageType: ''
    returnType: int
    signature: int journal_walk(zone_journal_t j, journal_walk_cb_t cb, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_to
      Src: /src/knot-dns/src/knot/journal/journal_read.c:374,1
    - Dst: changeset_from
      Src: /src/knot-dns/src/knot/journal/journal_read.c:377,1
    - Dst: changeset_from
      Src: /src/knot-dns/src/knot/journal/journal_read.c:382,1
    - Dst: changeset_to
      Src: /src/knot-dns/src/knot/journal/journal_read.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - special
    - ch
    - timestamp
    - vctx
    argTypes:
    - bool
    - changeset_t*
    - _unused_
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: check_cb
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 0
    functionsReached:
    - changeset_to
    - changeset_from
    linkageType: ''
    returnType: int
    signature: int check_cb(bool special, const changeset_t *ch, _unused_ uint64_t
      timestamp, void *vctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: eq
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool eq(bool a, bool b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_is_existing
      Src: /src/knot-dns/src/knot/journal/journal_read.c:403,1
    - Dst: journal_walk
      Src: /src/knot-dns/src/knot/journal/journal_read.c:409,1
    - Dst: eq
      Src: /src/knot-dns/src/knot/journal/journal_read.c:415,1
    - Dst: eq
      Src: /src/knot-dns/src/knot/journal/journal_read.c:421,1
    - Dst: eq
      Src: /src/knot-dns/src/knot/journal/journal_read.c:430,1
    - Dst: eq
      Src: /src/knot-dns/src/knot/journal/journal_read.c:439,1
    - Dst: eq
      Src: /src/knot-dns/src/knot/journal/journal_read.c:442,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 455
      start: 397
    functionDepth: 8
    functionLinenumber: 397
    functionLinenumberEnd: 455
    functionName: journal_sem_check
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_read.c
    functionUses: 3
    functionsReached:
    - eq
    - journal_is_existing
    - journal_walk
    linkageType: ''
    returnType: int
    signature: int journal_sem_check(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/journal/serialization.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - diff
    argTypes:
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: zone_diff_reverse
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.h
    functionUses: 3
    functionsReached:
    - binode_counterpart
    linkageType: ''
    returnType: void
    signature: void zone_diff_reverse(zone_diff_t *diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/serialization.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - diff
    - z
    argTypes:
    - zone_diff_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: zone_diff_from_zone
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void zone_diff_from_zone(zone_diff_t *diff, const zone_contents_t *z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/journal/serialization.h:41,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/journal/serialization.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - diff
    argTypes:
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: zone_diff_to
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.h
    functionUses: 1
    functionsReached:
    - knot_soa_serial
    - node_rdataset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_diff_to(const zone_diff_t *diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/journal/serialization.h:46,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/journal/serialization.h:46,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/journal/serialization.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - diff
    argTypes:
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: zone_diff_from
    functionSourceFile: /src/knot-dns/src/knot/journal/serialization.h
    functionUses: 1
    functionsReached:
    - knot_soa_serial
    - node_rdataset
    - binode_counterpart
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_diff_from(const zone_diff_t *diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:20,1
    - Dst: be16toh
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:25,1
    - Dst: htobe16
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:25,1
    - Dst: be32toh
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:28,1
    - Dst: htobe32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:28,1
    - Dst: be64toh
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:31,1
    - Dst: htobe64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:31,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:34,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - data
    - data_size
    - in
    argTypes:
    - void*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 37
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 37
    functionName: fix_endian
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - assert
    - be32toh
    - htobe64
    - be16toh
    - htobe32
    - be64toh
    - memcpy
    - htobe16
    linkageType: ''
    returnType: void
    signature: void fix_endian(void *data, size_t data_size, bool in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:42,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - metadata
    argTypes:
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: metadata_key
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val metadata_key(const knot_dname_t *zone, const char *metadata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: metadata_key
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:50,1
    - Dst: knot_lmdb_del_prefix
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:52,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - txn
    - zone
    - metadata
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: del_metadata
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - free
    - knot_lmdb_del_prefix
    - metadata_key
    linkageType: ''
    returnType: bool
    signature: bool del_metadata(knot_lmdb_txn_t *txn, const knot_dname_t *zone, const
      char *metadata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: metadata_key
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:60,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - txn
    - zone
    - metadata
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: get_metadata
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - free
    - metadata_key
    linkageType: ''
    returnType: bool
    signature: bool get_metadata(knot_lmdb_txn_t *txn, const knot_dname_t *zone, const
      char *metadata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:69,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:71,1
    - Dst: fix_endian
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - txn
    - zone
    - metadata
    - result
    - result_size
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: get_metadata_numeric
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - memcpy
    - get_metadata
    - fix_endian
    linkageType: ''
    returnType: bool
    signature: "bool get_metadata_numeric(knot_lmdb_txn_t *txn, const knot_dname_t
      *zone,\n                                 const char *metadata, void *result,
      size_t result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata_numeric
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn
    - zone
    - metadata
    - result
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: get_metadata32
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - get_metadata_numeric
    linkageType: ''
    returnType: bool
    signature: "bool get_metadata32(knot_lmdb_txn_t *txn, const knot_dname_t *zone,\n
      \                   const char *metadata, uint32_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata_numeric
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn
    - zone
    - metadata
    - result
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: get_metadata64
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - get_metadata_numeric
    linkageType: ''
    returnType: bool
    signature: "bool get_metadata64(knot_lmdb_txn_t *txn, const knot_dname_t *zone,\n
      \                   const char *metadata, uint64_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - txn
    - zone
    - metadata
    - result
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: get_metadata64or32
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - get_metadata32
    linkageType: ''
    returnType: bool
    signature: "bool get_metadata64or32(knot_lmdb_txn_t *txn, const knot_dname_t *zone,\n\t\t\tconst
      char *metadata, uint64_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: metadata_key
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:112,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:114,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:115,1
    - Dst: fix_endian
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:117,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - txn
    - zone
    - metadata
    - valp
    - val_size
    - numeric
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - char*
    - void*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: set_metadata
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - free
    - fix_endian
    - knot_lmdb_insert
    - metadata_key
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void set_metadata(knot_lmdb_txn_t *txn, const knot_dname_t *zone,
      const char *metadata,\n                  const void *valp, size_t val_size,
      bool numeric)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: last_occupied_diff
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - get_metadata64
    linkageType: ''
    returnType: int64_t
    signature: int64_t last_occupied_diff(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:134,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:135,1
    - Dst: get_metadata64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:139,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:140,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:141,1
    - Dst: del_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:145,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:146,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:147,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:147,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:149,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - txn
    - new_inserter
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: update_last_inserter
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 2
    functionsReached:
    - get_metadata64
    - free
    - knot_dname_size
    - MAX
    - get_metadata
    - knot_dname_copy
    - set_metadata
    - del_metadata
    - knot_dname_is_equal
    linkageType: ''
    returnType: void
    signature: void update_last_inserter(knot_lmdb_txn_t *txn, const knot_dname_t
      *new_inserter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - zone
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: journal_get_occupied
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - get_metadata64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t journal_get_occupied(knot_lmdb_txn_t *txn, const knot_dname_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - of
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: first_digit
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int first_digit(char * of)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:168,1
    - Dst: get_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:169,1
    - Dst: first_digit
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:170,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:189,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:190,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:191,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:192,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:193,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:194,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:198,1
    - Dst: journal_serial_to
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - txn
    - zone
    - md
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - journal_metadata_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 209
    functionName: journal_load_metadata
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 3
    functionsReached:
    - get_metadata
    - first_digit
    - memset
    - journal_serial_to
    - get_metadata32
    linkageType: ''
    returnType: void
    signature: void journal_load_metadata(knot_lmdb_txn_t *txn, const knot_dname_t
      *zone, journal_metadata_t *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:213,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:214,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:215,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:216,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:217,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:218,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:219,1
    - Dst: get_metadata64or32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:222,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - txn
    - zone
    - md
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - journal_metadata_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: journal_store_metadata
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 3
    functionsReached:
    - get_metadata64or32
    - set_metadata
    linkageType: ''
    returnType: void
    signature: void journal_store_metadata(knot_lmdb_txn_t *txn, const knot_dname_t
      *zone, const journal_metadata_t *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:234,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:236,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - md
    - deleted_upto
    - deleted_count
    argTypes:
    - journal_metadata_t*
    - uint32_t
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: journal_metadata_after_delete
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void journal_metadata_after_delete(journal_metadata_t *md, uint32_t
      deleted_upto,\n                                   size_t deleted_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:249,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:250,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:254,1
    - Dst: journal_metadata_after_delete
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - md
    - merged_zij
    - merged_serial
    - merged_serial_to
    - original_serial_to
    argTypes:
    - journal_metadata_t*
    - bool
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: journal_metadata_after_merge
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 1
    functionsReached:
    - assert
    - journal_metadata_after_delete
    linkageType: ''
    returnType: void
    signature: "void journal_metadata_after_merge(journal_metadata_t *md, bool merged_zij,
      uint32_t merged_serial,\n                                  uint32_t merged_serial_to,
      uint32_t original_serial_to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - md
    - serial
    - serial_to
    argTypes:
    - journal_metadata_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: journal_metadata_after_insert
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void journal_metadata_after_insert(journal_metadata_t *md, uint32_t
      serial, uint32_t serial_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - md
    - serial
    - serial_to
    argTypes:
    - journal_metadata_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: journal_metadata_after_extra
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void journal_metadata_after_extra(journal_metadata_t *md, uint32_t
      serial, uint32_t serial_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_metadata64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:281,1
    - Dst: journal_del_zone
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:282,1
    - Dst: set_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txn
    - zone
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: journal_del_zone_txn
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 2
    functionsReached:
    - get_metadata64
    - set_metadata
    - journal_del_zone
    linkageType: ''
    returnType: void
    signature: void journal_del_zone_txn(knot_lmdb_txn_t *txn, const knot_dname_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_is_existing
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:288,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:292,1
    - Dst: update_last_inserter
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:294,1
    - Dst: journal_del_zone
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:295,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - j
    - check_existence
    argTypes:
    - zone_journal_t
    - bool
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 6
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: journal_scrape_with_md
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 2
    functionsReached:
    - journal_del_zone
    - knot_lmdb_commit
    - knot_lmdb_begin
    - journal_is_existing
    - update_last_inserter
    linkageType: ''
    returnType: int
    signature: int journal_scrape_with_md(zone_journal_t j, bool check_existence)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:304,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:305,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:309,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:310,1
    - Dst: update_last_inserter
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:311,1
    - Dst: journal_zone_prefix
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:312,1
    - Dst: knot_lmdb_copy_prefix
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:313,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:314,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:315,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - from
    - to
    - zone
    argTypes:
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 6
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: journal_copy_with_md
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - journal_zone_prefix
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - knot_lmdb_open
    - update_last_inserter
    - knot_lmdb_copy_prefix
    linkageType: ''
    returnType: int
    signature: int journal_copy_with_md(knot_lmdb_db_t *from, knot_lmdb_db_t *to,
      const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:325,1
    - Dst: journal_load_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:326,1
    - Dst: journal_store_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:330,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - j
    argTypes:
    - zone_journal_t
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 7
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: journal_set_flushed
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 2
    functionsReached:
    - knot_lmdb_begin
    - knot_lmdb_commit
    - journal_load_metadata
    - journal_store_metadata
    linkageType: ''
    returnType: int
    signature: int journal_set_flushed(zone_journal_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:339,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:349,1
    - Dst: journal_load_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:350,1
    - Dst: journal_contains
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:356,1
    - Dst: get_metadata64
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:369,1
    - Dst: get_metadata
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:371,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:372,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:373,1
    - Dst: last_occupied_diff
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:373,1
    - Dst: knot_lmdb_usage
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:377,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 9
    argNames:
    - j
    - exists
    - first_serial
    - has_zij
    - serial_to
    - has_merged
    - merged_serial
    - occupied
    - occupied_total
    argTypes:
    - zone_journal_t
    - bool*
    - uint32_t*
    - bool*
    - uint32_t*
    - bool*
    - uint32_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 381
    functionName: journal_info
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 2
    functionsReached:
    - get_metadata64
    - last_occupied_diff
    - knot_lmdb_abort
    - knot_lmdb_usage
    - knot_lmdb_begin
    - MAX
    - journal_contains
    - get_metadata
    - knot_lmdb_exists
    - journal_load_metadata
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int journal_info(zone_journal_t j, bool *exists, uint32_t *first_serial,
      bool *has_zij,\n                 uint32_t *serial_to, bool *has_merged, uint32_t
      *merged_serial,\n                 uint64_t *occupied, uint64_t *occupied_total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:387,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:393,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:396,1
    - Dst: get_metadata32
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:399,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:401,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:405,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:406,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/journal_metadata.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - db
    - cb
    - ctx
    argTypes:
    - knot_lmdb_db_t*
    - journals_walk_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: journals_walk
    functionSourceFile: /src/knot-dns/src/knot/journal/journal_metadata.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_abort
    - knot_lmdb_begin
    - knot_dname_size
    - knot_lmdb_find
    - memcpy
    - knot_lmdb_open
    - get_metadata32
    - cb
    linkageType: ''
    returnType: int
    signature: int journals_walk(knot_lmdb_db_t *db, journals_walk_cb_t cb, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - err
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: err_to_knot
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void err_to_knot(int *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:66,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:70,1
    - Dst: conf_lmdb_readers
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:72,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - db
    - path
    - mapsize
    - env_flags
    - dbname
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - size_t
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: knot_lmdb_init
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 4
    functionsReached:
    - conf_lmdb_readers
    - strdup
    - conf
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_init(knot_lmdb_db_t *db, const char *path, size_t mapsize,
      unsigned env_flags, const char *dbname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:79,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:80,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lmdb_path
    - st
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: lmdb_stat
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - snprintf
    - stat
    linkageType: ''
    returnType: int
    signature: int lmdb_stat(const char *lmdb_path, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_stat
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: knot_lmdb_exists
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - lmdb_stat
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_exists(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: fix_mapsize
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fix_mapsize(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_stat
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - to_copy
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: knot_lmdb_copy_size
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - lmdb_stat
    linkageType: ''
    returnType: size_t
    signature: size_t knot_lmdb_copy_size(knot_lmdb_db_t *to_copy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dir
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:142,1
    - Dst: mdb_env_create
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:153,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:155,1
    - Dst: mdb_env_set_mapsize
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:159,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:161,1
    - Dst: mdb_env_set_maxreaders
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:164,1
    - Dst: mdb_env_open
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:167,1
    - Dst: mdb_txn_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:171,1
    - Dst: mdb_reader_check
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:174,1
    - Dst: mdb_txn_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:176,1
    - Dst: mdb_dbi_open
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:181,1
    - Dst: mdb_txn_commit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:184,1
    - Dst: mdb_txn_abort
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:189,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:191,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 196
    functionName: lmdb_open
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 4
    functionsReached:
    - mdb_dbi_open
    - mdb_env_set_maxdbs
    - make_dir
    - mdb_txn_commit
    - mdb_env_set_mapsize
    - mdb_env_close
    - mdb_env_set_maxreaders
    - mdb_txn_abort
    - err_to_knot
    - mdb_txn_begin
    - mdb_env_create
    - mdb_env_open
    - mdb_reader_check
    linkageType: ''
    returnType: int
    signature: int lmdb_open(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:200,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: knot_lmdb_open
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 4
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_open(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dbi_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:209,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: lmdb_close
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_dbi_close
    - mdb_env_close
    linkageType: ''
    returnType: void
    signature: void lmdb_close(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:217,1
    - Dst: lmdb_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:218,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: knot_lmdb_close
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - lmdb_close
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_close(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:227,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:233,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - db
    - path
    - mapsize
    - env_flags
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: lmdb_reinit
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - strcmp
    linkageType: ''
    returnType: int
    signature: int lmdb_reinit(knot_lmdb_db_t *db, const char *path, size_t mapsize,
      unsigned env_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:242,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - db
    - path
    - mapsize
    - env_flags
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: knot_lmdb_reinit
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_reinit(knot_lmdb_db_t *db, const char *path, size_t mapsize,
      unsigned env_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:250,1
    - Dst: lmdb_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:253,1
    - Dst: lmdb_reinit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:254,1
    - Dst: lmdb_open
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:256,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - db
    - path
    - mapsize
    - env_flags
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: knot_lmdb_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - lmdb_reinit
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - lmdb_close
    - lmdb_open
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_reconfigure(knot_lmdb_db_t *db, const char *path, size_t
      mapsize, unsigned env_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:265,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:266,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: knot_lmdb_deinit
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 4
    functionsReached:
    - free
    - pthread_mutex_destroy
    - knot_lmdb_close
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_deinit(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_txn_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:278,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - db
    - txn
    - rw
    argTypes:
    - knot_lmdb_db_t*
    - knot_lmdb_txn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: knot_lmdb_begin
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 10
    functionsReached:
    - err_to_knot
    - mdb_txn_begin
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_begin(knot_lmdb_db_t *db, knot_lmdb_txn_t *txn, bool
      rw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:291,1
    - Dst: mdb_txn_abort
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: knot_lmdb_abort
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 5
    functionsReached:
    - mdb_txn_abort
    - mdb_cursor_close
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_abort(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: txn_semcheck
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_abort
    linkageType: ''
    returnType: bool
    signature: bool txn_semcheck(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:313,1
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:317,1
    - Dst: mdb_txn_commit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:320,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: knot_lmdb_commit
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 6
    functionsReached:
    - err_to_knot
    - txn_semcheck
    - mdb_cursor_close
    - mdb_txn_commit
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_commit(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txn
    - tocheck
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: txn_enomem
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_abort
    linkageType: ''
    returnType: bool
    signature: bool txn_enomem(knot_lmdb_txn_t *txn, const MDB_val *tocheck)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_open
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:339,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:340,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: init_cursor
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_cursor_open
    - err_to_knot
    - knot_lmdb_abort
    linkageType: ''
    returnType: bool
    signature: bool init_cursor(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_get
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:351,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - txn
    - op
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_cursor_op
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: curget
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_cursor_get
    - err_to_knot
    linkageType: ''
    returnType: bool
    signature: bool curget(knot_lmdb_txn_t *txn, MDB_cursor_op op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:362,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - orig
    - clone
    argTypes:
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: mdb_val_clone
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int mdb_val_clone(const MDB_val *orig, MDB_val *clone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:373,1
    - Dst: init_cursor
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:373,1
    - Dst: txn_enomem
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:373,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:386,1
    - Dst: curget
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:387,1
    - Dst: curget
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - txn
    - what
    - how
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    - knot_lmdb_find_t
    constantsTouched: []
    func_position:
      end: 399
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 399
    functionName: knot_lmdb_find
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - txn_semcheck
    - init_cursor
    - memcmp
    - txn_enomem
    - curget
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_find(knot_lmdb_txn_t *txn, MDB_val *what, knot_lmdb_find_t
      how)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:404,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:416,1
    - Dst: mdb_val_clone
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - txn
    - key
    - val
    - how
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    - MDB_val*
    - knot_lmdb_find_t
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: knot_lmdb_find_threadsafe
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - assert
    - err_to_knot
    - mdb_val_clone
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_find_threadsafe(knot_lmdb_txn_t *txn, MDB_val *key, MDB_val
      *val, knot_lmdb_find_t how)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:425,1
    - Dst: init_cursor
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:425,1
    - Dst: curget
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: knot_lmdb_first
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - curget
    - init_cursor
    - txn_semcheck
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_first(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:433,1
    - Dst: curget
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: knot_lmdb_next
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 2
    functionsReached:
    - curget
    - txn_semcheck
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_next(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - of
    argTypes:
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: knot_lmdb_is_prefix_of
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_is_prefix_of(const MDB_val *prefix, const MDB_val *of)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - prefix
    - of
    - expected_rest
    argTypes:
    - MDB_val*
    - MDB_val*
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: knot_lmdb_is_prefix_of2
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_is_prefix_of2(const MDB_val *prefix, const MDB_val *of,
      size_t expected_rest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:453,1
    - Dst: mdb_cursor_del
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:454,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: knot_lmdb_del_cur
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - err_to_knot
    - txn_semcheck
    - mdb_cursor_del
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_del_cur(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txn
    - prefix
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: knot_lmdb_del_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 2
    functionsReached:
    - knot_lmdb_del_cur
    linkageType: ''
    returnType: void
    signature: void knot_lmdb_del_prefix(knot_lmdb_txn_t *txn, MDB_val *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:470,1
    - Dst: mdb_cursor_get
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:476,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:477,1
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:479,1
    - Dst: knot_lmdb_is_prefix_of
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:487,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:488,1
    - Dst: mdb_cursor_get
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:490,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:491,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:498,1
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - txn
    - key
    - prefix
    - cb
    - ctx
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    - bool
    - lmdb_apply_cb
    - void*
    constantsTouched: []
    func_position:
      end: 502
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 502
    functionName: knot_lmdb_apply_threadsafe
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_cursor_get
    - mdb_cursor_close
    - err_to_knot
    - knot_lmdb_is_prefix_of
    - cb
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_apply_threadsafe(knot_lmdb_txn_t *txn, const MDB_val
      *key, bool prefix, lmdb_apply_cb cb, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:506,1
    - Dst: txn_enomem
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:506,1
    - Dst: mdb_put
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:508,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - txn
    - key
    - val
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: knot_lmdb_insert
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 2
    functionsReached:
    - err_to_knot
    - txn_semcheck
    - txn_enomem
    - mdb_put
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_insert(knot_lmdb_txn_t *txn, MDB_val *key, MDB_val *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:517,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:521,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:522,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:523,1
    - Dst: free
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:524,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - db
    - key
    - val
    argTypes:
    - knot_lmdb_db_t*
    - MDB_val
    - MDB_val
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 527
    functionName: knot_lmdb_quick_insert
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - free
    - knot_lmdb_insert
    - knot_lmdb_commit
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_quick_insert(knot_lmdb_db_t *db, MDB_val key, MDB_val
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:532,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - from
    - to
    - prefix
    argTypes:
    - knot_lmdb_txn_t*
    - knot_lmdb_txn_t*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: knot_lmdb_copy_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - knot_lmdb_insert
    - knot_lmdb_del_cur
    linkageType: ''
    returnType: int
    signature: int knot_lmdb_copy_prefix(knot_lmdb_txn_t *from, knot_lmdb_txn_t *to,
      MDB_val *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:554,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:560,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:561,1
    - Dst: knot_lmdb_copy_prefix
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:563,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:565,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - from
    - to
    - prefixes
    - n_prefixes
    argTypes:
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    - MDB_val*
    - size_t
    constantsTouched: []
    func_position:
      end: 568
      start: 543
    functionDepth: 5
    functionLinenumber: 543
    functionLinenumberEnd: 568
    functionName: knot_lmdb_copy_prefixes
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - knot_lmdb_open
    - knot_lmdb_commit
    - knot_lmdb_copy_prefix
    linkageType: ''
    returnType: int
    signature: "int knot_lmdb_copy_prefixes(knot_lmdb_db_t *from, knot_lmdb_db_t *to,\n
      \                           MDB_val *prefixes, size_t n_prefixes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_semcheck
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:572,1
    - Dst: mdb_stat
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:576,1
    - Dst: err_to_knot
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: knot_lmdb_usage
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - err_to_knot
    - txn_semcheck
    - mdb_stat
    linkageType: ''
    returnType: size_t
    signature: size_t knot_lmdb_usage(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:585,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:594,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:594,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:597,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:597,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:600,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:600,1
    - Dst: wire_ctx_write_u64
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:603,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:603,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:606,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:607,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:607,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:610,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:611,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:611,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:614,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:615,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:616,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - key_data
    - key_len
    - format
    - arg
    argTypes:
    - void*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 622
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 622
    functionName: make_key_part
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write_u64
    - wire_ctx_write
    - strlen
    - wire_ctx_available
    - knot_dname_size
    - wire_ctx_write_u8
    - wire_ctx_write_u16
    - wire_ctx_write_u32
    - va_arg
    linkageType: ''
    returnType: bool
    signature: bool make_key_part(void *key_data, size_t key_len, const char *format,
      va_list arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:632,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:637,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:641,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:645,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:649,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:652,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:653,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:656,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:657,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:660,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:661,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:665,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:669,1
    - Dst: va_start
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:674,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:676,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 680
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 680
    functionName: knot_lmdb_make_key
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 4
    functionsReached:
    - assert
    - strlen
    - knot_dname_size
    - va_start
    - va_end
    - malloc
    - va_arg
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val knot_lmdb_make_key(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:685,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key_data
    - key_len
    - format
    argTypes:
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: knot_lmdb_make_key_part
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_make_key_part(void *key_data, size_t key_len, const
      char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:696,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:697,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:703,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:705,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:710,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:712,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:717,1
    - Dst: wire_ctx_read_u32
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:719,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:724,1
    - Dst: wire_ctx_read_u64
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:726,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:733,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:733,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:739,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:739,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:742,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:744,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:746,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:750,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - key_data
    - key_len
    - format
    - arg
    argTypes:
    - void*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 751
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 751
    functionName: unmake_key_part
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    - wire_ctx_available
    - strlen
    - wire_ctx_read_u64
    - knot_dname_size
    - va_arg
    - memcpy
    - wire_ctx_init_const
    - wire_ctx_read_u16
    - wire_ctx_read_u32
    - wire_ctx_skip
    linkageType: ''
    returnType: bool
    signature: bool unmake_key_part(const void *key_data, size_t key_len, const char
      *format, va_list arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:756,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key_data
    - key_len
    - format
    argTypes:
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 760
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 760
    functionName: knot_lmdb_unmake_key
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_unmake_key(const void *key_data, size_t key_len, const
      char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:765,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - txn
    - format
    argTypes:
    - knot_lmdb_txn_t*
    - char*
    constantsTouched: []
    func_position:
      end: 772
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 772
    functionName: knot_lmdb_unmake_curval
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_unmake_curval(knot_lmdb_txn_t *txn, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: knot_lmdb_is_open
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_is_open(knot_lmdb_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.h:260,1
    - Dst: knot_lmdb_is_prefix_of
      Src: /src/knot-dns/src/knot/journal/knot_lmdb.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - prefix
    argTypes:
    - knot_lmdb_txn_t*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: knot_lmdb_find_prefix
    functionSourceFile: /src/knot-dns/src/knot/journal/knot_lmdb.h
    functionUses: 1
    functionsReached:
    - knot_lmdb_find
    - knot_lmdb_is_prefix_of
    linkageType: ''
    returnType: bool
    signature: bool knot_lmdb_find_prefix(knot_lmdb_txn_t *txn, MDB_val *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/src/knot/query/query.c:17,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/knot/query/query.c:18,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/query/query.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: query_init_pkt
    functionSourceFile: /src/knot-dns/src/knot/query/query.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_id
    - dnssec_random_uint16_t
    - knot_pkt_clear
    linkageType: ''
    returnType: void
    signature: void query_init_pkt(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/query.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - remote
    - opts
    argTypes:
    - conf_t*
    - conf_remote_t*
    - query_edns_opt_t
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: query_edns_data_init
    functionSourceFile: /src/knot-dns/src/knot/query/query.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: query_edns_data_t
    signature: "query_edns_data_t query_edns_data_init(conf_t *conf, const conf_remote_t
      *remote,\n                                       query_edns_opt_t opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_set_do
      Src: /src/knot-dns/src/knot/query/query.c:53,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/knot/query/query.c:57,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/query/query.c:59,1
    - Dst: knot_edns_reserve_option
      Src: /src/knot-dns/src/knot/query/query.c:68,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/query/query.c:78,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/query/query.c:80,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/query/query.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pkt
    - edns
    - padding
    argTypes:
    - knot_pkt_t*
    - query_edns_data_t*
    - bool
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: query_put_edns
    functionSourceFile: /src/knot-dns/src/knot/query/query.c
    functionUses: 0
    functionsReached:
    - knot_edns_reserve_option
    - knot_edns_set_do
    - knot_pkt_begin
    - knot_pkt_put
    - knot_edns_add_option
    - knot_rrset_clear
    linkageType: ''
    returnType: int
    signature: int query_put_edns(knot_pkt_t *pkt, const query_edns_data_t *edns,
      bool padding)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: reset
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reset(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: finish
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int finish(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/knot-dns/src/knot/query/capture.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - module_param
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: begin
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 37
    functionsReached:
    - reset
    linkageType: ''
    returnType: int
    signature: int begin(knot_layer_t *ctx, void *module_param)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: prepare_query
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int prepare_query(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/capture.c:33,1
    - Dst: knot_pkt_copy
      Src: /src/knot-dns/src/knot/query/capture.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: capture
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_pkt_copy
    linkageType: ''
    returnType: int
    signature: int capture(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: query_capture_api
    functionSourceFile: /src/knot-dns/src/knot/query/capture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knot_layer_api_t
    signature: knot_layer_api_t *query_capture_api(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fmt
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: quic_log_cb
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - log_fmt
    linkageType: ''
    returnType: void
    signature: void quic_log_cb(const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:46,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:52,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:53,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:54,1
    - Dst: net_msg_recv
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:58,1
    - Dst: knot_quic_hanle_expiry
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:60,1
    - Dst: net_cmsg_ecn
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:72,1
    - Dst: knot_quic_handle
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:75,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:79,1
    - Dst: knot_quic_session_available
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:84,1
    - Dst: close_cb
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:89,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - conn
    - r
    - timeout_ms
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_reply_t*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: quic_exchange
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - net_msg_recv
    - close_cb
    - knot_quic_send
    - knot_quic_cleanup
    - MAX
    - knot_quic_hanle_expiry
    - knot_quic_handle
    - MIN
    - net_cmsg_ecn
    - knot_quic_session_available
    linkageType: ''
    returnType: int
    signature: int quic_exchange(knot_quic_conn_t *conn, knot_quic_reply_t *r, int
      timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: qr_alloc_reply
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qr_alloc_reply(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:107,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 142
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 142
    functionName: qr_send_reply
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int qr_send_reply(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: qr_free_reply
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qr_free_reply(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:159,1
    - Dst: knot_creds_init_peer
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:176,1
    - Dst: free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:178,1
    - Dst: knot_quic_table_new
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:183,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:186,1
    - Dst: free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:187,1
    - Dst: log_enabled_quic_debug
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:192,1
    - Dst: knot_qreq_close
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:201,1
    - Dst: net_cmsg_ecn_enable
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:205,1
    - Dst: knot_quic_session_load
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:209,1
    - Dst: close_cb
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:211,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:218,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:220,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:221,1
    - Dst: quic_exchange
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:222,1
    - Dst: knot_qreq_close
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 9
    argNames:
    - out
    - fd
    - remote
    - local
    - local_creds
    - peer_pin
    - peer_pin_len
    - reused_fd
    - timeout_ms
    argTypes:
    - struct knot_quic_reply**
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct knot_creds*
    - uint8_t*
    - uint8_t
    - bool*
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 231
    functionName: knot_qreq_connect
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - quic_exchange
    - close_cb
    - calloc
    - free
    - knot_creds_free
    - time_now
    - net_cmsg_ecn_enable
    - knot_creds_init_peer
    - knot_quic_table_new
    - knot_qreq_close
    - time_diff_ms
    - log_enabled_quic_debug
    - knot_quic_session_load
    linkageType: ''
    returnType: int
    signature: "int knot_qreq_connect(struct knot_quic_reply **out,\n                      int
      fd,\n                      struct sockaddr_storage *remote,\n                      struct
      sockaddr_storage *local,\n                      const struct knot_creds *local_creds,\n
      \                     const uint8_t *peer_pin,\n                      uint8_t
      peer_pin_len,\n                      bool *reused_fd,\n                      int
      timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_stream_add_data
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - data
    argTypes:
    - struct knot_quic_reply*
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: knot_qreq_send
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - knot_quic_stream_add_data
    linkageType: ''
    returnType: int
    signature: int knot_qreq_send(struct knot_quic_reply *r, const struct iovec *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:245,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:247,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:249,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:261,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:268,1
    - Dst: free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - r
    - out
    - timeout_ms
    argTypes:
    - struct knot_quic_reply*
    - struct iovec*
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: knot_qreq_recv
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - assert
    - time_now
    linkageType: ''
    returnType: int
    signature: int knot_qreq_recv(struct knot_quic_reply *r, struct iovec *out, int
      timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:285,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:288,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:289,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:291,1
    - Dst: knot_quic_table_free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:293,1
    - Dst: free
      Src: /src/knot-dns/src/knot/query/quic-requestor.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - send_close
    argTypes:
    - struct knot_quic_reply*
    - bool
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: knot_qreq_close
    functionSourceFile: /src/knot-dns/src/knot/query/quic-requestor.c
    functionUses: 1
    functionsReached:
    - knot_quic_send
    - knot_quic_cleanup
    - free
    - knot_creds_free
    - knot_quic_table_free
    - knot_quic_table_rem
    linkageType: ''
    returnType: void
    signature: void knot_qreq_close(struct knot_quic_reply *r, bool send_close)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - layer_flags
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: flags2proto
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knotd_query_proto_t
    signature: knotd_query_proto_t flags2proto(unsigned layer_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_creds_init_peer
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:21,1
    - Dst: knot_tls_ctx_new
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:27,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:30,1
    - Dst: knot_tls_conn_new
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:34,1
    - Dst: knot_tls_req_ctx_deinit
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:36,1
    - Dst: close_cb
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 9
    argNames:
    - ctx
    - fd
    - remote
    - local
    - local_creds
    - peer_pin
    - peer_pin_len
    - reused_fd
    - io_timeout_ms
    argTypes:
    - knot_tls_req_ctx_t*
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct knot_creds*
    - uint8_t*
    - uint8_t
    - bool*
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 52
    functionName: knot_tls_req_ctx_init
    functionSourceFile: /src/knot-dns/src/knot/query/tls-requestor.c
    functionUses: 0
    functionsReached:
    - close_cb
    - knot_tls_req_ctx_deinit
    - knot_creds_free
    - knot_creds_init_peer
    - knot_tls_conn_new
    - knot_tls_ctx_new
    linkageType: ''
    returnType: int
    signature: "int knot_tls_req_ctx_init(knot_tls_req_ctx_t *ctx, int fd,\n                          const
      struct sockaddr_storage *remote,\n                          const struct sockaddr_storage
      *local,\n                          const struct knot_creds *local_creds,\n                          const
      uint8_t *peer_pin, uint8_t peer_pin_len,\n                          bool *reused_fd,
      int io_timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_session_available
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:57,1
    - Dst: close_cb
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - knot_tls_req_ctx_t*
    - struct knot_request*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: knot_tls_req_ctx_maint
    functionSourceFile: /src/knot-dns/src/knot/query/tls-requestor.c
    functionUses: 0
    functionsReached:
    - close_cb
    - knot_tls_session_available
    linkageType: ''
    returnType: void
    signature: void knot_tls_req_ctx_maint(knot_tls_req_ctx_t *ctx, struct knot_request
      *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:71,1
    - Dst: knot_tls_conn_del
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:73,1
    - Dst: knot_tls_ctx_free
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:74,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/query/tls-requestor.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_tls_req_ctx_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: knot_tls_req_ctx_deinit
    functionSourceFile: /src/knot-dns/src/knot/query/tls-requestor.c
    functionUses: 1
    functionsReached:
    - knot_tls_ctx_free
    - knot_creds_free
    - knot_tls_conn_del
    - memset
    linkageType: ''
    returnType: void
    signature: void knot_tls_req_ctx_deinit(knot_tls_req_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: use_tcp
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_tcp(knot_request_t *request)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: use_quic
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_quic(knot_request_t *request)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: use_tls
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool use_tls(knot_request_t *request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/knot/query/requestor.c:39,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/knot/query/requestor.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - query
    - answer
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: is_answer_to_query
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_id
    linkageType: ''
    returnType: bool
    signature: bool is_answer_to_query(const knot_pkt_t *query, const knot_pkt_t *answer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_pool_get
      Src: /src/knot-dns/src/knot/query/requestor.c:52,1
    - Dst: knot_unreachable_is
      Src: /src/knot-dns/src/knot/query/requestor.c:62,1
    - Dst: net_connected_socket
      Src: /src/knot-dns/src/knot/query/requestor.c:68,1
    - Dst: knot_unreachable_add
      Src: /src/knot-dns/src/knot/query/requestor.c:74,1
    - Dst: use_quic
      Src: /src/knot-dns/src/knot/query/requestor.c:80,1
    - Dst: getsockname
      Src: /src/knot-dns/src/knot/query/requestor.c:83,1
    - Dst: close
      Src: /src/knot-dns/src/knot/query/requestor.c:93,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:98,1
    - Dst: use_tls
      Src: /src/knot-dns/src/knot/query/requestor.c:102,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:103,1
    - Dst: use_quic
      Src: /src/knot-dns/src/knot/query/requestor.c:103,1
    - Dst: close
      Src: /src/knot-dns/src/knot/query/requestor.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - request
    - reused_fd
    - timeout_ms
    argTypes:
    - knot_request_t*
    - bool*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 117
    functionName: request_ensure_connected
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_pool_get
    - use_quic
    - close
    - knot_unreachable_add
    - getsockname
    - use_tls
    - net_connected_socket
    - knot_unreachable_is
    linkageType: ''
    returnType: int
    signature: int request_ensure_connected(knot_request_t *request, bool *reused_fd,
      int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_tls
      Src: /src/knot-dns/src/knot/query/requestor.c:136,1
    - Dst: knot_tls_send
      Src: /src/knot-dns/src/knot/query/requestor.c:137,1
    - Dst: knot_tls_req_ctx_maint
      Src: /src/knot-dns/src/knot/query/requestor.c:138,1
    - Dst: use_quic
      Src: /src/knot-dns/src/knot/query/requestor.c:139,1
    - Dst: knot_qreq_send
      Src: /src/knot-dns/src/knot/query/requestor.c:142,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:144,1
    - Dst: use_tcp
      Src: /src/knot-dns/src/knot/query/requestor.c:146,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/src/knot/query/requestor.c:147,1
    - Dst: knot_unreachable_add
      Src: /src/knot-dns/src/knot/query/requestor.c:150,1
    - Dst: net_dgram_send
      Src: /src/knot-dns/src/knot/query/requestor.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - request
    - timeout_ms
    - reused_fd
    argTypes:
    - knot_request_t*
    - int
    - bool*
    constantsTouched: []
    func_position:
      end: 163
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 163
    functionName: request_send
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_qreq_send
    - assert
    - use_quic
    - knot_unreachable_add
    - knot_tls_req_ctx_maint
    - use_tls
    - knot_tls_send
    - use_tcp
    - net_dns_tcp_send
    - net_dgram_send
    linkageType: ''
    returnType: int
    signature: int request_send(knot_request_t *request, int timeout_ms, bool *reused_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/src/knot/query/requestor.c:168,1
    - Dst: use_tls
      Src: /src/knot-dns/src/knot/query/requestor.c:177,1
    - Dst: knot_tls_recv
      Src: /src/knot-dns/src/knot/query/requestor.c:178,1
    - Dst: knot_tls_req_ctx_maint
      Src: /src/knot-dns/src/knot/query/requestor.c:179,1
    - Dst: use_quic
      Src: /src/knot-dns/src/knot/query/requestor.c:180,1
    - Dst: knot_qreq_recv
      Src: /src/knot-dns/src/knot/query/requestor.c:183,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:187,1
    - Dst: use_tcp
      Src: /src/knot-dns/src/knot/query/requestor.c:189,1
    - Dst: net_dns_tcp_recv
      Src: /src/knot-dns/src/knot/query/requestor.c:190,1
    - Dst: net_dgram_recv
      Src: /src/knot-dns/src/knot/query/requestor.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - request
    - timeout_ms
    argTypes:
    - knot_request_t*
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 204
    functionName: request_recv
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - assert
    - use_quic
    - knot_tls_recv
    - knot_pkt_clear
    - knot_qreq_recv
    - knot_tls_req_ctx_maint
    - use_tls
    - net_dns_tcp_recv
    - use_tcp
    - net_dgram_recv
    linkageType: ''
    returnType: int
    signature: int request_recv(knot_request_t *request, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/knot-dns/src/knot/query/requestor.c:221,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/query/requestor.c:226,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/query/requestor.c:228,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/query/requestor.c:235,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/knot/query/requestor.c:235,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/query/requestor.c:237,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/knot/query/requestor.c:237,1
    - Dst: tsig_init
      Src: /src/knot-dns/src/knot/query/requestor.c:246,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/query/requestor.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 10
    argNames:
    - mm
    - remote
    - source
    - query
    - creds
    - edns
    - tsig_key
    - pin
    - pin_len
    - flags
    argTypes:
    - knot_mm_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - knot_pkt_t*
    - struct knot_creds*
    - query_edns_data_t*
    - knot_tsig_key_t*
    - uint8_t*
    - size_t
    - knot_request_flag_t
    constantsTouched: []
    func_position:
      end: 256
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 256
    functionName: knot_request_make_generic
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 1
    functionsReached:
    - mm_free
    - tsig_init
    - knot_pkt_new
    - mm_calloc
    - memcpy
    - sockaddr_len
    linkageType: ''
    returnType: knot_request_t
    signature: "knot_request_t *knot_request_make_generic(knot_mm_t *mm,\n                                          const
      struct sockaddr_storage *remote,\n                                          const
      struct sockaddr_storage *source,\n                                          knot_pkt_t
      *query,\n                                          const struct knot_creds *creds,\n
      \                                         const query_edns_data_t *edns,\n                                          const
      knot_tsig_key_t *tsig_key,\n                                          const
      uint8_t *pin,\n                                          size_t pin_len,\n                                          knot_request_flag_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:266,1
    - Dst: knot_request_make_generic
      Src: /src/knot-dns/src/knot/query/requestor.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - mm
    - remote
    - query
    - creds
    - edns
    - flags
    argTypes:
    - knot_mm_t*
    - conf_remote_t*
    - knot_pkt_t*
    - struct knot_creds*
    - query_edns_data_t*
    - knot_request_flag_t
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: knot_request_make
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_request_make_generic
    linkageType: ''
    returnType: knot_request_t
    signature: "knot_request_t *knot_request_make(knot_mm_t *mm,\n                                  const
      conf_remote_t *remote,\n                                  knot_pkt_t *query,\n
      \                                 const struct knot_creds *creds,\n                                  const
      query_edns_data_t *edns,\n                                  knot_request_flag_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_quic
      Src: /src/knot-dns/src/knot/query/requestor.c:283,1
    - Dst: knot_qreq_close
      Src: /src/knot-dns/src/knot/query/requestor.c:286,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:290,1
    - Dst: use_tls
      Src: /src/knot-dns/src/knot/query/requestor.c:292,1
    - Dst: knot_tls_req_ctx_deinit
      Src: /src/knot-dns/src/knot/query/requestor.c:293,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:295,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:296,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:297,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/query/requestor.c:298,1
    - Dst: use_tcp
      Src: /src/knot-dns/src/knot/query/requestor.c:301,1
    - Dst: use_tls
      Src: /src/knot-dns/src/knot/query/requestor.c:301,1
    - Dst: conn_pool_put
      Src: /src/knot-dns/src/knot/query/requestor.c:303,1
    - Dst: close
      Src: /src/knot-dns/src/knot/query/requestor.c:309,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/query/requestor.c:311,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/query/requestor.c:312,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/query/requestor.c:313,1
    - Dst: tsig_cleanup
      Src: /src/knot-dns/src/knot/query/requestor.c:314,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/query/requestor.c:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - request
    - mm
    argTypes:
    - knot_request_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 317
    functionName: knot_request_free
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 2
    functionsReached:
    - assert
    - dnssec_binary_free
    - use_quic
    - mm_free
    - knot_tls_req_ctx_deinit
    - close
    - conn_pool_put
    - knot_pkt_free
    - use_tls
    - knot_qreq_close
    - use_tcp
    - tsig_cleanup
    linkageType: ''
    returnType: void
    signature: void knot_request_free(knot_request_t *request, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/query/requestor.c:327,1
    - Dst: knot_layer_init
      Src: /src/knot-dns/src/knot/query/requestor.c:330,1
    - Dst: knot_layer_begin
      Src: /src/knot-dns/src/knot/query/requestor.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - requestor
    - proc
    - proc_param
    - mm
    argTypes:
    - knot_requestor_t*
    - knot_layer_api_t*
    - void*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: knot_requestor_init
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 1
    functionsReached:
    - knot_layer_begin
    - knot_layer_init
    - memset
    linkageType: ''
    returnType: int
    signature: "int knot_requestor_init(knot_requestor_t *requestor,\n                        const
      knot_layer_api_t *proc, void *proc_param,\n                        knot_mm_t
      *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_layer_finish
      Src: /src/knot-dns/src/knot/query/requestor.c:342,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/query/requestor.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - requestor
    argTypes:
    - knot_requestor_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: knot_requestor_clear
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_layer_finish
    - memset
    linkageType: ''
    returnType: void
    signature: void knot_requestor_clear(knot_requestor_t *requestor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_layer_reset
      Src: /src/knot-dns/src/knot/query/requestor.c:349,1
    - Dst: tsig_reset
      Src: /src/knot-dns/src/knot/query/requestor.c:350,1
    - Dst: close
      Src: /src/knot-dns/src/knot/query/requestor.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - req
    - last
    argTypes:
    - knot_requestor_t*
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: request_reset
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_layer_reset
    - tsig_reset
    - close
    linkageType: ''
    returnType: int
    signature: int request_reset(knot_requestor_t *req, knot_request_t *last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_layer_produce
      Src: /src/knot-dns/src/knot/query/requestor.c:372,1
    - Dst: query_put_edns
      Src: /src/knot-dns/src/knot/query/requestor.c:382,1
    - Dst: tsig_sign_packet
      Src: /src/knot-dns/src/knot/query/requestor.c:391,1
    - Dst: request_send
      Src: /src/knot-dns/src/knot/query/requestor.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - req
    - last
    - timeout_ms
    argTypes:
    - knot_requestor_t*
    - knot_request_t*
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 414
    functionName: request_produce
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_layer_produce
    - query_put_edns
    - request_send
    - tsig_sign_packet
    linkageType: ''
    returnType: int
    signature: "int request_produce(knot_requestor_t *req, knot_request_t *last,\n
      \                          int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/knot/query/requestor.c:425,1
    - Dst: is_answer_to_query
      Src: /src/knot-dns/src/knot/query/requestor.c:430,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/knot/query/requestor.c:434,1
    - Dst: tsig_verify_packet
      Src: /src/knot-dns/src/knot/query/requestor.c:438,1
    - Dst: tsig_unsigned_count
      Src: /src/knot-dns/src/knot/query/requestor.c:443,1
    - Dst: knot_layer_consume
      Src: /src/knot-dns/src/knot/query/requestor.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - req
    - last
    - timeout_ms
    argTypes:
    - knot_requestor_t*
    - knot_request_t*
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 450
    functionName: request_consume
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - knot_pkt_parse
    - tsig_verify_packet
    - knot_wire_get_tc
    - tsig_unsigned_count
    - is_answer_to_query
    - knot_layer_consume
    linkageType: ''
    returnType: int
    signature: "int request_consume(knot_requestor_t *req, knot_request_t *last,\n
      \                          int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - knot_layer_state_t
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: layer_active
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool layer_active(knot_layer_state_t state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request_consume
      Src: /src/knot-dns/src/knot/query/requestor.c:469,1
    - Dst: request_produce
      Src: /src/knot-dns/src/knot/query/requestor.c:471,1
    - Dst: request_reset
      Src: /src/knot-dns/src/knot/query/requestor.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - req
    - last
    - timeout_ms
    argTypes:
    - knot_requestor_t*
    - knot_request_t*
    - int
    constantsTouched: []
    func_position:
      end: 477
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 477
    functionName: request_io
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - request_produce
    - request_reset
    - request_consume
    linkageType: ''
    returnType: int
    signature: "int request_io(knot_requestor_t *req, knot_request_t *last,\n                      int
      timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: layer_active
      Src: /src/knot-dns/src/knot/query/requestor.c:491,1
    - Dst: request_io
      Src: /src/knot-dns/src/knot/query/requestor.c:492,1
    - Dst: knot_layer_finish
      Src: /src/knot-dns/src/knot/query/requestor.c:494,1
    - Dst: tsig_unsigned_count
      Src: /src/knot-dns/src/knot/query/requestor.c:512,1
    - Dst: knot_layer_finish
      Src: /src/knot-dns/src/knot/query/requestor.c:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - requestor
    - request
    - timeout_ms
    argTypes:
    - knot_requestor_t*
    - knot_request_t*
    - int
    constantsTouched: []
    func_position:
      end: 520
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 520
    functionName: knot_requestor_exec
    functionSourceFile: /src/knot-dns/src/knot/query/requestor.c
    functionUses: 0
    functionsReached:
    - request_io
    - tsig_unsigned_count
    - knot_layer_finish
    - layer_active
    linkageType: ''
    returnType: int
    signature: "int knot_requestor_exec(knot_requestor_t *requestor, knot_request_t
      *request,\n                        int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/query/layer.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - mm
    - api
    argTypes:
    - knot_layer_t*
    - knot_mm_t*
    - knot_layer_api_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: knot_layer_init
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void knot_layer_init(knot_layer_t *ctx, knot_mm_t *mm,\n                                   const
      knot_layer_api_t *api)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LAYER_CALL
      Src: /src/knot-dns/src/knot/query/layer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: knot_layer_begin
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 2
    functionsReached:
    - LAYER_CALL
    linkageType: ''
    returnType: void
    signature: void knot_layer_begin(knot_layer_t *ctx, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LAYER_CALL
      Src: /src/knot-dns/src/knot/query/layer.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: knot_layer_reset
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 2
    functionsReached:
    - LAYER_CALL
    linkageType: ''
    returnType: void
    signature: void knot_layer_reset(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LAYER_CALL
      Src: /src/knot-dns/src/knot/query/layer.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: knot_layer_finish
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 3
    functionsReached:
    - LAYER_CALL
    linkageType: ''
    returnType: void
    signature: void knot_layer_finish(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LAYER_CALL
      Src: /src/knot-dns/src/knot/query/layer.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: knot_layer_consume
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 3
    functionsReached:
    - LAYER_CALL
    linkageType: ''
    returnType: void
    signature: void knot_layer_consume(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LAYER_CALL
      Src: /src/knot-dns/src/knot/query/layer.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: knot_layer_produce
    functionSourceFile: /src/knot-dns/src/knot/query/layer.h
    functionUses: 2
    functionsReached:
    - LAYER_CALL
    linkageType: ''
    returnType: void
    signature: void knot_layer_produce(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: check_prefix
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int check_prefix(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:56,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:63,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:74,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:79,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 89
    functionName: synth_record_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    - knotd_conf_free
    linkageType: ''
    returnType: int
    signature: int synth_record_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - block
    - addr_str
    argTypes:
    - addr_block_t*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: block_write
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned block_write(addr_block_t *block, char *addr_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - len
    - from
    - to
    argTypes:
    - char*
    - size_t
    - char
    - char
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: str_subst
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void str_subst(char *str, size_t len, char from, char to)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr_family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: str_separator
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char str_separator(int addr_family)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - qtype
    - family
    argTypes:
    - uint16_t
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: query_satisfied_by_family
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool query_satisfied_by_family(uint16_t qtype, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:190,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:199,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:206,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:209,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:228,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:235,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:239,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:240,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:243,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:246,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:254,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:255,1
    - Dst: block_write
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:292,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:294,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:295,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 5
    argNames:
    - qdata
    - tpl
    - addr_str
    - addr_family
    - parent
    argTypes:
    - knotd_qdata_t*
    - synth_template_t*
    - char*
    - int*
    - bool*
    constantsTouched: []
    func_position:
      end: 313
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 313
    functionName: reverse_addr_parse
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - assert
    - block_write
    - unlikely
    - memset
    - memcpy
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int reverse_addr_parse(knotd_qdata_t *qdata, const synth_template_t
      *tpl,\n                              char *addr_str, int *addr_family, bool
      *parent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:322,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:328,1
    - Dst: str_subst
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - qdata
    - tpl
    - addr_str
    - addr_family
    argTypes:
    - knotd_qdata_t*
    - synth_template_t*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 352
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 352
    functionName: forward_addr_parse
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - memcpy
    - str_subst
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int forward_addr_parse(knotd_qdata_t *qdata, const synth_template_t
      *tpl,\n                              char *addr_str, int *addr_family)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reverse_addr_parse
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:358,1
    - Dst: forward_addr_parse
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - qdata
    - tpl
    - addr_str
    - addr_family
    - parent
    argTypes:
    - knotd_qdata_t*
    - synth_template_t*
    - char*
    - int*
    - bool*
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: addr_parse
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 1
    functionsReached:
    - forward_addr_parse
    - reverse_addr_parse
    linkageType: ''
    returnType: int
    signature: "int addr_parse(knotd_qdata_t *qdata, const synth_template_t *tpl,
      char *addr_str,\n                      int *addr_family, bool *parent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:372,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:373,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:374,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:375,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:376,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:377,1
    - Dst: str_subst
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:383,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - out
    - addr_str
    - tpl
    - addr_family
    argTypes:
    - uint8_t*
    - char*
    - synth_template_t*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: synth_ptrname
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write
    - knot_dname_from_str
    - str_subst
    - wire_ctx_write_u8
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t *synth_ptrname(uint8_t *out, const char *addr_str,\n
      \                                  const synth_template_t *tpl, int addr_family)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: synth_ptrname
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:394,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:399,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - addr_str
    - tpl
    - pkt
    - rr
    - addr_family
    argTypes:
    - char*
    - synth_template_t*
    - knot_pkt_t*
    - knot_rrset_t*
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: reverse_rr
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - synth_ptrname
    - knot_dname_size
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int reverse_rr(char *addr_str, const synth_template_t *tpl, knot_pkt_t
      *pkt,\n                      knot_rrset_t *rr, int addr_family)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:408,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:414,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - addr_str
    - tpl
    - pkt
    - rr
    - addr_family
    argTypes:
    - char*
    - synth_template_t*
    - knot_pkt_t*
    - knot_rrset_t*
    - int
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: forward_rr
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knot_rrset_add_rdata
    - sockaddr_set
    linkageType: ''
    returnType: int
    signature: "int forward_rr(char *addr_str, const synth_template_t *tpl, knot_pkt_t
      *pkt,\n                      knot_rrset_t *rr, int addr_family)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:431,1
    - Dst: reverse_rr
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:440,1
    - Dst: forward_rr
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:441,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - addr_str
    - tpl
    - pkt
    - qdata
    - addr_family
    argTypes:
    - char*
    - synth_template_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 451
    functionName: synth_rr
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - reverse_rr
    - forward_rr
    - knot_rrset_free
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *synth_rr(char *addr_str, const synth_template_t *tpl,
      knot_pkt_t *pkt,\n                              knotd_qdata_t *qdata, int addr_family)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:460,1
    - Dst: addr_parse
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:464,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:465,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:473,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:478,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:492,1
    - Dst: query_satisfied_by_family
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:493,1
    - Dst: synth_rr
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:509,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:516,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:521,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - state
    - tpl
    - pkt
    - qdata
    argTypes:
    - knotd_in_state_t
    - synth_template_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 524
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 524
    functionName: template_match
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - addr_parse
    - assert
    - synth_rr
    - sockaddr_net_match
    - query_satisfied_by_family
    - sockaddr_range_match
    - sockaddr_set
    - knot_pkt_put
    - knot_wire_set_aa
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t template_match(knotd_in_state_t state, const synth_template_t
      *tpl,\n                                       knot_pkt_t *pkt, knotd_qdata_t
      *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:529,1
    - Dst: template_match
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:537,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 538
    functionName: solve_synth_record
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - assert
    - template_match
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_synth_record(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                           knotd_qdata_t *qdata, knotd_mod_t
      *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:543,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:549,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:553,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:554,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:555,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:559,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:560,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:562,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:563,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:566,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:570,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:574,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:576,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:578,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:579,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:580,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:581,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:589,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:593,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:597,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 600
    functionName: synth_record_load
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - strdup
    - knotd_conf_free
    - strlen
    - calloc
    - knotd_mod_in_hook
    - free
    - knot_dname_to_str_alloc
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int synth_record_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:604,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:606,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:607,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:608,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: synth_record_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/synthrecord/synthrecord.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - free
    linkageType: ''
    returnType: void
    signature: void synth_record_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:15,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:16,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:17,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:24,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:39,1
    - Dst: memmove
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - buffer
    - label_ptr
    argTypes:
    - uint8_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 57
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 57
    functionName: inc_label
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - memset
    linkageType: ''
    returnType: bool
    signature: bool inc_label(const uint8_t *buffer, uint8_t **label_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - name_ptr
    argTypes:
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: strip_label
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void strip_label(uint8_t **name_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:69,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:70,1
    - Dst: memmove
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:76,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:83,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:89,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:89,1
    - Dst: inc_label
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:94,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:95,1
    - Dst: strip_label
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:97,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dname
    - apex
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: online_nsec_next
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/nsec_next.c
    functionUses: 1
    functionsReached:
    - assert
    - memmove
    - inc_label
    - knot_dname_copy
    - strip_label
    - knot_dname_is_equal
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *online_nsec_next(const knot_dname_t *dname, const knot_dname_t
      *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: policy_check
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int policy_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: bitmap_check
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bitmap_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_has_dnssec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: want_dnssec
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_pkt_has_dnssec
    linkageType: ''
    returnType: bool
    signature: bool want_dnssec(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_qdata_zone_apex_rrset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: dnskey_ttl
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knotd_qdata_zone_apex_rrset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dnskey_ttl(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_qdata_zone_apex_rrset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:95,1
    - Dst: knot_soa_minimum
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: nsec_ttl
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_soa_minimum
    - knotd_qdata_zone_apex_rrset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nsec_ttl(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:104,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:105,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - map
    - is_apex
    argTypes:
    - dnssec_nsec_bitmap_t*
    - bool
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: bitmap_add_synth
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_add
    linkageType: ''
    returnType: void
    signature: void bitmap_add_synth(dnssec_nsec_bitmap_t *map, bool is_apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - node
    argTypes:
    - dnssec_nsec_bitmap_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: bitmap_add_zone
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_add
    linkageType: ''
    returnType: void
    signature: void bitmap_add_zone(dnssec_nsec_bitmap_t *map, const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - map
    - qtype
    - force_types
    argTypes:
    - dnssec_nsec_bitmap_t*
    - uint16_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: bitmap_add_forced
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void bitmap_add_forced(dnssec_nsec_bitmap_t *map, uint16_t qtype,\n
      \                             const uint16_t *force_types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_nsec_bitmap_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:151,1
    - Dst: bitmap_add_synth
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:160,1
    - Dst: bitmap_add_zone
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:162,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:163,1
    - Dst: bitmap_add_forced
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - qdata
    - force_types
    argTypes:
    - knotd_qdata_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: synth_bitmap
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - bitmap_add_synth
    - dnssec_nsec_bitmap_new
    - node_rrtype_exists
    - bitmap_add_zone
    - bitmap_add_forced
    linkageType: ''
    returnType: dnssec_nsec_bitmap_t
    signature: "dnssec_nsec_bitmap_t *synth_bitmap(const knotd_qdata_t *qdata,\n                                          const
      uint16_t *force_types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_aa
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: is_deleg
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_aa
    linkageType: ''
    returnType: bool
    signature: bool is_deleg(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_deleg
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:178,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:179,1
    - Dst: nsec_ttl
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:180,1
    - Dst: online_nsec_next
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:185,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:185,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:187,1
    - Dst: is_deleg
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:193,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:194,1
    - Dst: synth_bitmap
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:198,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:200,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:201,1
    - Dst: dnssec_nsec_bitmap_write
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:209,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:211,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:212,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:214,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pkt
    - qdata
    - mod
    - mm
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: synth_nsec
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - dnssec_nsec_bitmap_write
    - knot_rrset_new
    - free
    - synth_bitmap
    - knot_rrset_add_rdata
    - knotd_mod_ctx
    - knotd_qdata_zone_name
    - nsec_ttl
    - knot_dname_free
    - online_nsec_next
    - dnssec_nsec_bitmap_free
    - is_deleg
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *synth_nsec(knot_pkt_t *pkt, knotd_qdata_t *qdata, knotd_mod_t
      *mod,\n                                knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:230,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:236,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:237,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:243,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:246,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:250,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:251,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:253,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:255,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:256,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - owner
    - cover
    - mod
    - sign_ctx
    - mm
    argTypes:
    - knot_dname_t*
    - knot_rrset_t*
    - knotd_mod_t*
    - zone_sign_ctx_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 263
    functionName: sign_rrset
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_rrset_new
    - knotd_mod_ctx
    - knot_rdataset_copy
    - pthread_rwlock_unlock
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *sign_rrset(const knot_dname_t *owner,\n                                const
      knot_rrset_t *cover,\n                                knotd_mod_t *mod,\n                                zone_sign_ctx_t
      *sign_ctx,\n                                knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:268,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - rr
    - pkt
    argTypes:
    - knot_rrset_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 281
    functionName: find_glue_for
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_pkt_rr
    - knot_pkt_section
    linkageType: ''
    returnType: glue_t
    signature: glue_t *find_glue_for(const knot_rrset_t *rr, const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_glue_for
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:286,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:287,1
    - Dst: glue_node
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:288,1
    - Dst: is_deleg
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rr
    - pkt
    - qdata
    argTypes:
    - knot_rrset_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: shall_sign_rr
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - assert
    - find_glue_for
    - is_deleg
    - glue_node
    linkageType: ''
    returnType: bool
    signature: bool shall_sign_rr(const knot_rrset_t *rr, const knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: want_dnssec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:298,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:302,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:303,1
    - Dst: zone_sign_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:305,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:312,1
    - Dst: shall_sign_rr
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:313,1
    - Dst: knot_dname_unpack
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:320,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:321,1
    - Dst: sign_rrset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:323,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:331,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 340
    functionName: sign_section
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - sign_rrset
    - assert
    - knot_dname_unpack
    - shall_sign_rr
    - knot_rrset_free
    - zone_sign_ctx_free
    - zone_sign_ctx
    - knot_pkt_section
    - want_dnssec
    - knot_pkt_rr
    - knot_dname_to_lower
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t sign_section(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: want_dnssec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:351,1
    - Dst: synth_nsec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:352,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:355,1
    - Dst: want_dnssec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: synth_authority
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - want_dnssec
    - knot_rrset_free
    - synth_nsec
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t synth_authority(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                        knotd_qdata_t *qdata, knotd_mod_t
      *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:374,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:374,1
    - Dst: dnskey_ttl
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:376,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:382,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:383,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:389,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:390,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:394,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:395,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - qdata
    - mod
    - mm
    argTypes:
    - knotd_qdata_t*
    - knotd_mod_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 402
    functionName: synth_dnskey
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - dnskey_ttl
    - assert
    - dnssec_key_get_rdata
    - knot_rrset_free
    - knot_rrset_new
    - knotd_mod_ctx
    - knotd_qdata_zone_name
    - pthread_rwlock_unlock
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *synth_dnskey(knotd_qdata_t *qdata, knotd_mod_t *mod,\n
      \                                 knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:407,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:407,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:415,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:416,1
    - Dst: knot_zone_sign_get_cdnskeys
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:417,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:419,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:420,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:421,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - qdata
    - mod
    - mm
    argTypes:
    - knotd_qdata_t*
    - knotd_mod_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: synth_cdnskey
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_key_get_rdata
    - knot_rrset_new
    - knotd_mod_ctx
    - knotd_qdata_zone_name
    - knot_zone_sign_get_cdnskeys
    - pthread_rwlock_unlock
    - knot_rrset_add_rdata
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *synth_cdnskey(knotd_qdata_t *qdata, knotd_mod_t *mod,\n
      \                                  knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:431,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:431,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:439,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:440,1
    - Dst: knot_zone_sign_get_cdnskeys
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:441,1
    - Dst: zone_key_calculate_ds
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:443,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:444,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:445,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - qdata
    - mod
    - mm
    argTypes:
    - knotd_qdata_t*
    - knotd_mod_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 450
    functionName: synth_cds
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_new
    - knotd_mod_ctx
    - knotd_qdata_zone_name
    - knot_zone_sign_get_cdnskeys
    - zone_key_calculate_ds
    - pthread_rwlock_unlock
    - knot_rrset_add_rdata
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *synth_cds(knotd_qdata_t *qdata, knotd_mod_t *mod,\n
      \                              knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qdata
    - type
    argTypes:
    - knotd_qdata_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: qtype_match
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qtype_match(knotd_qdata_t *qdata, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:460,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: is_apex_query
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knotd_qdata_zone_name
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool is_apex_query(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:466,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:471,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:473,1
    - Dst: time
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:476,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:478,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:479,1
    - Dst: knot_parent_ds_query
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:480,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:480,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:481,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:488,1
    - Dst: update_policy_from_zone
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:489,1
    - Dst: knot_dnssec_key_rollover
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:490,1
    - Dst: knot_dnssec_failover_delay
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:492,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:504,1
    - Dst: knotd_mod_dnssec_unload_keyset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:505,1
    - Dst: knotd_mod_dnssec_load_keyset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:506,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:511,1
    - Dst: knot_get_next_zone_key_event
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:511,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:513,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:515,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 518
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 518
    functionName: pre_routine
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_parent_ds_query
    - knot_time_min
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - knotd_mod_dnssec_load_keyset
    - conf
    - time
    - pthread_rwlock_wrlock
    - knotd_mod_dnssec_unload_keyset
    - update_policy_from_zone
    - knotd_mod_ctx
    - knot_dnssec_key_rollover
    - pthread_rwlock_unlock
    - knot_get_next_zone_key_event
    - knot_dnssec_failover_delay
    - knot_time_cmp
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t pre_routine(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                   knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:525,1
    - Dst: qtype_match
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:532,1
    - Dst: is_apex_query
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:532,1
    - Dst: synth_dnskey
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:533,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:540,1
    - Dst: qtype_match
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:546,1
    - Dst: is_apex_query
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:546,1
    - Dst: synth_cdnskey
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:547,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:554,1
    - Dst: qtype_match
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:560,1
    - Dst: is_apex_query
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:560,1
    - Dst: synth_cds
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:561,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:568,1
    - Dst: qtype_match
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:574,1
    - Dst: synth_nsec
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:575,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:582,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 590
    functionName: synth_answer
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_pkt_qtype
    - qtype_match
    - synth_cdnskey
    - synth_dnskey
    - synth_cds
    - synth_nsec
    - is_apex_query
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t synth_answer(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:594,1
    - Dst: pthread_rwlock_destroy
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:595,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:597,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - online_sign_ctx_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: online_sign_ctx_free
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_destroy
    - free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void online_sign_ctx_free(online_sign_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:603,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:610,1
    - Dst: knot_dnssec_key_rollover
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:620,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:622,1
    - Dst: time
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:627,1
    - Dst: knotd_mod_dnssec_load_keyset
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:631,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:633,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:637,1
    - Dst: knot_get_next_zone_key_event
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:637,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:639,1
    - Dst: pthread_rwlock_init
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ctx_ptr
    - mod
    argTypes:
    - online_sign_ctx_t**
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 645
    functionName: online_sign_ctx_new
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knot_time_min
    - pthread_rwlock_init
    - calloc
    - free
    - knotd_mod_dnssec_load_keyset
    - time
    - knot_dnssec_key_rollover
    - knot_get_next_zone_key_event
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: int online_sign_ctx_new(online_sign_ctx_t **ctx_ptr, knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - conf
    argTypes:
    - online_sign_ctx_t*
    - knotd_conf_t*
    constantsTouched: []
    func_position:
      end: 671
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 671
    functionName: load_nsec_bitmap
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int load_nsec_bitmap(online_sign_ctx_t *ctx, knotd_conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_zone
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:675,1
    - Dst: knotd_mod_zone
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:676,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:678,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:685,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:686,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:691,1
    - Dst: online_sign_ctx_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:692,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:696,1
    - Dst: load_nsec_bitmap
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:697,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:698,1
    - Dst: online_sign_ctx_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:700,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:704,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:706,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:708,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:709,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:711,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:712,1
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 717
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 717
    functionName: online_sign_load
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - knotd_conf_free
    - load_nsec_bitmap
    - online_sign_ctx_free
    - knot_strerror
    - knotd_conf_zone
    - knotd_mod_zone
    - knotd_mod_in_hook
    - knotd_mod_log
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int online_sign_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: online_sign_ctx_free
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:721,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: online_sign_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/onlinesign/onlinesign.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - online_sign_ctx_free
    linkageType: ''
    returnType: void
    signature: void online_sign_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:11,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:23,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:40,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:51,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:61,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 69
    functionName: signal_query
    functionSourceFile: /src/knot-dns/src/knot/modules/authsignal/authsignal.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - memcmp
    - memcpy
    - knot_pkt_put
    - knot_wire_set_aa
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t signal_query(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/authsignal/authsignal.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: auth_signal_load
    functionSourceFile: /src/knot-dns/src/knot/modules/authsignal/authsignal.c
    functionUses: 0
    functionsReached:
    - knotd_mod_in_hook
    linkageType: ''
    returnType: int
    signature: int auth_signal_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:96,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:97,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:98,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:99,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:100,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:101,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: operation_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *operation_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:127,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:128,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:129,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:130,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:131,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:132,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:133,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:134,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:135,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:136,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:137,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:138,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:139,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:140,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: protocol_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *protocol_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:155,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:156,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:157,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: req_bytes_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *req_bytes_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:172,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:173,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:174,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: resp_bytes_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *resp_bytes_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:188,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:189,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: edns_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *edns_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:203,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:204,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: flag_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *flag_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:219,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:220,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:221,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: nodata_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *nodata_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:235,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:238,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:240,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: rcode_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - knot_lookup_by_id
    linkageType: ''
    returnType: char
    signature: char *rcode_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:258,1
    - Dst: knot_opt_code_to_string
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:262,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: eopt_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - knot_opt_code_to_string
    - strdup
    linkageType: ''
    returnType: char
    signature: char *eopt_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:285,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:292,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:295,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:298,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:302,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 307
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 307
    functionName: qtype_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_to_string
    - strdup
    - assert
    linkageType: ''
    returnType: char
    signature: char *qtype_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:319,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:322,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: size_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - strdup
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *size_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_to_str
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: qsize_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - size_to_str
    linkageType: ''
    returnType: char
    signature: char *qsize_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_to_str
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - count
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: rsize_to_str
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - size_to_str
    linkageType: ''
    returnType: char
    signature: char *rsize_to_str(uint32_t idx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:363,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:372,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:373,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:376,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:380,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - mod
    - thr_id
    - pkt
    - ctr_name
    argTypes:
    - knotd_mod_t*
    - unsigned
    - knot_pkt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: incr_edns_option
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - knot_pkt_has_edns
    - MIN
    - knotd_mod_stats_incr
    - wire_ctx_init_const
    - wire_ctx_skip
    linkageType: ''
    returnType: void
    signature: void incr_edns_option(knotd_mod_t *mod, unsigned thr_id, const knot_pkt_t
      *pkt, unsigned ctr_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:387,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:389,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:427,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:428,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:431,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:432,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:436,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:437,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:447,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:448,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:452,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:453,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:456,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:457,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:472,1
    - Dst: knotd_mod_stats_decr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:474,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:479,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:481,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:482,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:494,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:500,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:503,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:506,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:511,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:514,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:518,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:519,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:523,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:526,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:533,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:536,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:541,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:544,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:548,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:549,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:553,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:556,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:565,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:566,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:568,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:569,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:575,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:576,1
    - Dst: knot_pkt_has_dnssec
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:578,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:579,1
    - Dst: incr_edns_option
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:585,1
    - Dst: incr_edns_option
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:588,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:598,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:598,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:599,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:600,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:600,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:601,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:603,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:606,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:609,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:626,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:632,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:632,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:638,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:638,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 194
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 642
    functionName: update_counters
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - incr_edns_option
    - assert
    - knot_wire_get_nscount
    - knot_pkt_qtype
    - knot_pkt_size
    - knot_pkt_has_edns
    - knotd_mod_ctx
    - knot_wire_get_ancount
    - knot_pkt_section
    - MIN
    - knotd_mod_stats_incr
    - knot_wire_get_tc
    - knotd_mod_stats_decr
    - knot_pkt_rr
    - knotd_qdata_remote_addr
    - knot_pkt_has_dnssec
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t update_counters(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:646,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:652,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:661,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:666,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: stats_load
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - calloc
    - free
    - knotd_mod_hook
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int stats_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:673,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/stats/stats.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: stats_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/stats/stats.c
    functionUses: 0
    functionsReached:
    - free
    - knotd_mod_ctx
    linkageType: ''
    returnType: void
    signature: void stats_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: dnstap_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    linkageType: ''
    returnType: int
    signature: int dnstap_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:56,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:63,1
    - Dst: fstrm_iothr_get_input_queue_idx
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:66,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:71,1
    - Dst: knot_wire_get_opcode
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:75,1
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:78,1
    - Dst: dt_pack
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:121,1
    - Dst: fstrm_iothr_submit
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:127,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 135
    functionName: log_message
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - assert
    - dt_pack
    - free
    - fstrm_iothr_get_input_queue_idx
    - knot_wire_get_qr
    - knotd_mod_ctx
    - fstrm_iothr_submit
    - clock_gettime
    - knot_wire_get_opcode
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t log_message(knotd_state_t state, const knot_pkt_t *pkt,\n
      \                                knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:141,1
    - Dst: log_message
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: dnstap_message_log_query
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - assert
    - log_message
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t dnstap_message_log_query(knotd_state_t state, knot_pkt_t
      *pkt,\n                                              knotd_qdata_t *qdata, knotd_mod_t
      *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_message
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: dnstap_message_log_response
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - log_message
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t dnstap_message_log_response(knotd_state_t state, knot_pkt_t
      *pkt,\n                                                 knotd_qdata_t *qdata,
      knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_unix_writer_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:160,1
    - Dst: fstrm_unix_writer_options_set_socket_path
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:164,1
    - Dst: fstrm_writer_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:166,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:170,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:171,1
    - Dst: fstrm_unix_writer_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:172,1
    - Dst: fstrm_unix_writer_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:175,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: dnstap_unix_writer
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_unix_writer_options_destroy
    - strlen
    - fstrm_writer_options_add_content_type
    - fstrm_unix_writer_options_set_socket_path
    - fstrm_unix_writer_options_init
    - fstrm_writer_options_destroy
    - fstrm_writer_options_init
    - fstrm_unix_writer_init
    linkageType: ''
    returnType: struct fstrm_writer
    signature: struct fstrm_writer * dnstap_unix_writer(const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_tcp_writer_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:186,1
    - Dst: fstrm_tcp_writer_options_set_socket_address
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:191,1
    - Dst: fstrm_tcp_writer_options_set_socket_port
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:192,1
    - Dst: fstrm_writer_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:194,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:198,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:199,1
    - Dst: fstrm_tcp_writer_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:200,1
    - Dst: fstrm_tcp_writer_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:202,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: dnstap_tcp_writer
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_tcp_writer_options_set_socket_port
    - strlen
    - fstrm_writer_options_add_content_type
    - fstrm_tcp_writer_options_destroy
    - fstrm_tcp_writer_init
    - fstrm_writer_options_destroy
    - fstrm_tcp_writer_options_init
    - fstrm_writer_options_init
    - fstrm_tcp_writer_options_set_socket_address
    linkageType: ''
    returnType: struct fstrm_writer
    signature: struct fstrm_writer * dnstap_tcp_writer(const char *address, const
      char *port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_file_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:214,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:218,1
    - Dst: fstrm_writer_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:220,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:224,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:225,1
    - Dst: fstrm_file_writer_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:226,1
    - Dst: fstrm_file_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:229,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: dnstap_file_writer
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - strlen
    - fstrm_writer_options_add_content_type
    - fstrm_file_options_init
    - fstrm_file_options_destroy
    - fstrm_writer_options_destroy
    - fstrm_file_options_set_file_path
    - fstrm_file_writer_init
    - fstrm_writer_options_init
    linkageType: ''
    returnType: struct fstrm_writer
    signature: struct fstrm_writer * dnstap_file_writer(const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:247,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:248,1
    - Dst: dnstap_unix_writer
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:249,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:252,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:262,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:263,1
    - Dst: dnstap_tcp_writer
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:265,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:268,1
    - Dst: dnstap_file_writer
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - mod
    - path
    argTypes:
    - knotd_mod_t*
    - char*
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: dnstap_writer
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - dnstap_file_writer
    - knotd_mod_log
    - dnstap_unix_writer
    - strncmp
    - memcpy
    - dnstap_tcp_writer
    linkageType: ''
    returnType: struct fstrm_writer
    signature: struct fstrm_writer * dnstap_writer(knotd_mod_t *mod, const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:276,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:282,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:285,1
    - Dst: knotd_conf_env
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:287,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:288,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:290,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:293,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:296,1
    - Dst: knotd_conf_env
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:298,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:299,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:301,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:304,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:308,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:312,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:316,1
    - Dst: dnstap_writer
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:320,1
    - Dst: fstrm_iothr_options_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:325,1
    - Dst: fstrm_writer_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:327,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:332,1
    - Dst: knotd_mod_threads
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:332,1
    - Dst: fstrm_iothr_init
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:335,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:336,1
    - Dst: fstrm_writer_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:338,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:342,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:346,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:349,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:354,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:356,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:357,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 361
    functionName: dnstap_load
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - strdup
    - knotd_mod_threads
    - strlen
    - calloc
    - fstrm_iothr_options_set_num_input_queues
    - free
    - knotd_mod_hook
    - knotd_mod_log
    - fstrm_iothr_init
    - fstrm_iothr_options_destroy
    - fstrm_iothr_options_init
    - knotd_conf_env
    - knotd_conf_mod
    - fstrm_writer_destroy
    - dnstap_writer
    linkageType: ''
    returnType: int
    signature: int dnstap_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:365,1
    - Dst: fstrm_iothr_destroy
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:367,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:368,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:369,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnstap/dnstap.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: dnstap_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/dnstap/dnstap.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - fstrm_iothr_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void dnstap_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:19,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: noudp_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/noudp/noudp.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    linkageType: ''
    returnType: int
    signature: int noudp_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:43,1
    - Dst: knot_wire_set_tc
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: noudp_begin
    functionSourceFile: /src/knot-dns/src/knot/modules/noudp/noudp.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - knot_wire_set_tc
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t noudp_begin(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:63,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:68,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:69,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:79,1
    - Dst: knotd_mod_threads
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:79,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:81,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:86,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: noudp_load
    functionSourceFile: /src/knot-dns/src/knot/modules/noudp/noudp.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - knotd_mod_threads
    - calloc
    - free
    - knotd_mod_hook
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int noudp_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:93,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:94,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/noudp/noudp.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: noudp_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/noudp/noudp.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - free
    linkageType: ''
    returnType: void
    signature: void noudp_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: rand_bits
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rand_bits(unsigned int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log2
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:116,1
    - Dst: log2
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:116,1
    - Dst: exp2
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - decay
    - max_decay
    argTypes:
    - struct decay_config*
    - kru_price_t
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: decay_initialize
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - log2
    - exp2
    linkageType: ''
    returnType: void
    signature: void decay_initialize(struct decay_config *decay, kru_price_t max_decay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:133,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:138,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:144,1
    - Dst: __builtin_expect
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:149,1
    - Dst: exp2
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:152,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - l
    - time_now
    - decay
    argTypes:
    - struct load_cl*
    - uint32_t
    - struct decay_config*
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: update_time
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - memset
    - atomic_compare_exchange_weak_explicit
    - exp2
    - __builtin_expect
    linkageType: ''
    returnType: void
    signature: "void update_time(struct load_cl *l, const uint32_t time_now,\n\t\t\tconst
      struct decay_config *decay)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - capacity_log
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: capacity2loads
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t capacity2loads(int capacity_log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - capacity_log
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: kru_get_size
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t kru_get_size(int capacity_log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:203,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:209,1
    - Dst: decay_initialize
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - kru
    - capacity_log
    - max_decay
    argTypes:
    - struct kru*
    - int
    - kru_price_t
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: kru_initialize
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - decay_initialize
    - assert
    - dnssec_random_buffer
    linkageType: ''
    returnType: bool
    signature: bool kru_initialize(struct kru *kru, int capacity_log, kru_price_t
      max_decay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:235,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:239,1
    - Dst: _mm_aesenc_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:244,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:244,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:246,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - kru
    - time_now
    - key
    - price
    - ctx
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t[]
    - kru_price_t
    - struct query_ctx*
    constantsTouched: []
    func_position:
      end: 263
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 263
    functionName: kru_limited_prefetch
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - _mm_load_si128
    - memcpy
    - SipHash
    - __builtin_prefetch
    - _mm_aesenc_si128
    linkageType: ''
    returnType: void
    signature: void kru_limited_prefetch(struct kru *kru, uint32_t time_now, uint8_t
      key[static 16], kru_price_t price, struct query_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Init
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:277,1
    - Dst: SipHash_Update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:278,1
    - Dst: SipHash_Update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:279,1
    - Dst: SipHash_Update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:280,1
    - Dst: SipHash_Update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:283,1
    - Dst: SipHash_End
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:285,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:291,1
    - Dst: _mm_set_epi64x
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:297,1
    - Dst: _mm_shuffle_epi8
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:302,1
    - Dst: _mm_set_epi8
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:303,1
    - Dst: _mm_and_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:306,1
    - Dst: _mm_insert_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:313,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:313,1
    - Dst: _mm_aesenc_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:314,1
    - Dst: _mm_aesenc_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:318,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:318,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:320,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 7
    argNames:
    - kru
    - time_now
    - namespace
    - key
    - prefix
    - price
    - ctx
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t
    - uint8_t[]
    - uint8_t
    - kru_price_t
    - struct query_ctx*
    constantsTouched: []
    func_position:
      end: 337
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 337
    functionName: kru_limited_prefetch_prefix
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - _mm_set_epi8
    - _mm_load_si128
    - _mm_aesenc_si128
    - SipHash_End
    - SipHash_Init
    - _mm_set_epi64x
    - memcpy
    - _mm_and_si128
    - SipHash_Update
    - _mm_shuffle_epi8
    - _mm_insert_epi16
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void kru_limited_prefetch_prefix(struct kru *kru, uint32_t time_now,
      uint8_t namespace, uint8_t key[static 16], uint8_t prefix, kru_price_t price,
      struct query_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_bits
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:356,1
    - Dst: update_time
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:362,1
    - Dst: _mm256_set1_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:377,1
    - Dst: _mm256_loadu_si256
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:381,1
    - Dst: _mm256_cmpeq_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:382,1
    - Dst: _mm256_testz_si256
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - kru
    - ctx
    argTypes:
    - struct kru*
    - struct query_ctx*
    constantsTouched: []
    func_position:
      end: 400
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 400
    functionName: kru_limited_fetch
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi16
    - _mm256_cmpeq_epi16
    - _mm256_loadu_si256
    - update_time
    - _mm256_testz_si256
    - rand_bits
    linkageType: ''
    returnType: bool
    signature: bool kru_limited_fetch(struct kru *kru, struct query_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:427,1
    - Dst: _mm_load_si128
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:428,1
    - Dst: _mm_insert_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:431,1
    - Dst: _mm_minpos_epu16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:435,1
    - Dst: _mm_minpos_epu16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:436,1
    - Dst: _mm_extract_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:442,1
    - Dst: _mm_extract_epi16
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:445,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:480,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - kru
    - ctx
    - overflow_update
    argTypes:
    - struct kru*
    - struct query_ctx*
    - bool
    constantsTouched: []
    func_position:
      end: 484
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 484
    functionName: kru_limited_update
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - _mm_load_si128
    - _mm_extract_epi16
    - _mm_minpos_epu16
    - _mm_insert_epi16
    - atomic_compare_exchange_weak_explicit
    linkageType: ''
    returnType: bool
    signature: bool kru_limited_update(struct kru *kru, struct query_ctx *ctx, bool
      overflow_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_prefetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:491,1
    - Dst: kru_limited_fetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:494,1
    - Dst: kru_limited_update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - kru
    - time_now
    - keys
    - prices
    - queries_cnt
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t**
    - kru_price_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 504
    functionName: kru_limited_multi_or
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_update
    - kru_limited_fetch
    - kru_limited_prefetch
    linkageType: ''
    returnType: bool
    signature: bool kru_limited_multi_or(struct kru *kru, uint32_t time_now, uint8_t
      **keys, kru_price_t *prices, size_t queries_cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_prefetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:512,1
    - Dst: kru_limited_fetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:515,1
    - Dst: kru_limited_update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - kru
    - time_now
    - keys
    - prices
    - queries_cnt
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t**
    - kru_price_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: kru_limited_multi_or_nobreak
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_update
    - kru_limited_fetch
    - kru_limited_prefetch
    linkageType: ''
    returnType: bool
    signature: bool kru_limited_multi_or_nobreak(struct kru *kru, uint32_t time_now,
      uint8_t **keys, kru_price_t *prices, size_t queries_cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_prefetch_prefix
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:534,1
    - Dst: kru_limited_fetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:538,1
    - Dst: kru_limited_update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:543,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 8
    argNames:
    - kru
    - time_now
    - namespace
    - key
    - prefixes
    - prices
    - queries_cnt
    - max_load_out
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t
    - uint8_t[]
    - uint8_t*
    - kru_price_t*
    - size_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 555
    functionName: kru_limited_multi_prefix_or
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_prefetch_prefix
    - MAX
    - kru_limited_update
    - kru_limited_fetch
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t kru_limited_multi_prefix_or(struct kru *kru, uint32_t time_now,
      uint8_t namespace,\n                                           uint8_t key[static
      16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint16_t *max_load_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_prefetch_prefix
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:563,1
    - Dst: kru_limited_fetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:567,1
    - Dst: kru_limited_update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 8
    argNames:
    - kru
    - time_now
    - namespace
    - key
    - prefixes
    - prices
    - queries_cnt
    - loads_out
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t
    - uint8_t[]
    - uint8_t*
    - kru_price_t*
    - size_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 581
    functionName: kru_load_multi_prefix
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_prefetch_prefix
    - kru_limited_update
    - kru_limited_fetch
    linkageType: ''
    returnType: void
    signature: "void kru_load_multi_prefix(struct kru *kru, uint32_t time_now, uint8_t
      namespace,\n                                           uint8_t key[static 16],
      uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint16_t *loads_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_prefetch_prefix
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:589,1
    - Dst: kru_limited_fetch
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:593,1
    - Dst: kru_limited_update
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - kru
    - time_now
    - namespace
    - key
    - prefixes
    - prices
    - queries_cnt
    - prefix_out
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t
    - uint8_t[]
    - uint8_t*
    - kru_price_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 615
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 615
    functionName: kru_load_multi_prefix_max
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_prefetch_prefix
    - kru_limited_update
    - kru_limited_fetch
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t kru_load_multi_prefix_max(struct kru *kru, uint32_t time_now,
      uint8_t namespace,\n                                           uint8_t key[static
      16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint8_t *prefix_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kru_limited_multi_or
      Src: /src/knot-dns/src/knot/modules/rrl/kru.inc.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - kru
    - time_now
    - key
    - price
    argTypes:
    - struct kru*
    - uint32_t
    - uint8_t[]
    - kru_price_t
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 4
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: kru_limited
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru.inc.c
    functionUses: 0
    functionsReached:
    - kru_limited_multi_or
    linkageType: ''
    returnType: bool
    signature: bool kru_limited(struct kru *kru, uint32_t time_now, uint8_t key[static
      16], kru_price_t price)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:45,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - maxlen
    - ss
    argTypes:
    - char*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: addr_tostr
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 0
    functionsReached:
    - knot_inet_ntop
    - assert
    linkageType: ''
    returnType: void
    signature: void addr_tostr(char *dst, size_t maxlen, const struct sockaddr_storage
      *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_tostr
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:68,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:74,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:74,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - params
    - ss
    - prefix
    - rate
    argTypes:
    - rrl_log_params_t*
    - struct sockaddr_storage*
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: rrl_log_limited
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - knotd_mod_log
    - knot_dname_to_str
    - addr_tostr
    linkageType: ''
    returnType: void
    signature: "void rrl_log_limited(rrl_log_params_t *params, const struct sockaddr_storage
      *ss,\n                            const uint8_t prefix, bool rate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:104,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:107,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:109,1
    - Dst: initialize
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:116,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:117,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - size
    - instant_limit
    - rate_limit
    - rw_mode
    - log_period
    argTypes:
    - size_t
    - uint32_t
    - uint32_t
    - bool
    - uint32_t
    constantsTouched: []
    func_position:
      end: 138
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 138
    functionName: rrl_create
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 1
    functionsReached:
    - assert
    - free
    - posix_memalign
    - clock_gettime
    - memset
    - initialize
    linkageType: ''
    returnType: rrl_table_t
    signature: "rrl_table_t *rrl_create(size_t size, uint32_t instant_limit, uint32_t
      rate_limit,\n                        bool rw_mode, uint32_t log_period)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:142,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:143,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:146,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:154,1
    - Dst: limited_multi_prefix_or
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:157,1
    - Dst: load_multi_prefix_max
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:161,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:167,1
    - Dst: limited_multi_prefix_or
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:170,1
    - Dst: load_multi_prefix_max
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:174,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:193,1
    - Dst: rrl_log_limited
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - rrl
    - remote
    - log
    argTypes:
    - rrl_table_t*
    - struct sockaddr_storage*
    - rrl_log_params_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 202
    functionName: rrl_query
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 2
    functionsReached:
    - rrl_log_limited
    - assert
    - limited_multi_prefix_or
    - load_multi_prefix_max
    - clock_gettime
    - memcpy
    - atomic_compare_exchange_weak_explicit
    linkageType: ''
    returnType: int
    signature: int rrl_query(rrl_table_t *rrl, const struct sockaddr_storage *remote,
      rrl_log_params_t *log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:206,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:207,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:208,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:211,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:217,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:221,1
    - Dst: load_multi_prefix_max
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:224,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:229,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:233,1
    - Dst: load_multi_prefix_max
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - rrl
    - remote
    - value
    argTypes:
    - rrl_table_t*
    - struct sockaddr_storage*
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 240
    functionName: rrl_update
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 2
    functionsReached:
    - assert
    - load_multi_prefix_max
    - clock_gettime
    - MIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: void rrl_update(rrl_table_t *rrl, const struct sockaddr_storage *remote,
      size_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n_slip
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: rrl_slip_roll
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 0
    functionsReached:
    - dnssec_random_uint16_t
    linkageType: ''
    returnType: bool
    signature: bool rrl_slip_roll(int n_slip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/rrl/functions.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rrl
    argTypes:
    - rrl_table_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: rrl_destroy
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/functions.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rrl_destroy(rrl_table_t *rrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:36,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:37,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:43,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: rrl_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    linkageType: ''
    returnType: int
    signature: int rrl_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_diff
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: time_diff_us
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - time_diff
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t time_diff_us(const struct timespec *begin, const struct timespec
      *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:78,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:80,1
    - Dst: knotd_conf_addr_range_match
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:90,1
    - Dst: rrl_query
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:97,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:99,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - state
    - params
    - mod
    argTypes:
    - knotd_proto_state_t
    - knotd_qdata_params_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: protolimit_start
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - assert
    - rrl_query
    - knotd_mod_ctx
    - clock_gettime
    - knotd_conf_addr_range_match
    - knotd_mod_stats_incr
    linkageType: ''
    returnType: knotd_proto_state_t
    signature: "knotd_proto_state_t protolimit_start(knotd_proto_state_t state,\n
      \                                           knotd_qdata_params_t *params,\n
      \                                           knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:111,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:113,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:128,1
    - Dst: rrl_update
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - state
    - params
    - mod
    argTypes:
    - knotd_proto_state_t
    - knotd_qdata_params_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: protolimit_end
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - assert
    - clock_gettime
    - rrl_update
    linkageType: ''
    returnType: knotd_proto_state_t
    signature: "knotd_proto_state_t protolimit_end(knotd_proto_state_t state,\n                                          knotd_qdata_params_t
      *params,\n                                          knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:140,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:142,1
    - Dst: knotd_conf_addr_range_match
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:152,1
    - Dst: rrl_query
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:162,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:162,1
    - Dst: rrl_slip_roll
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:167,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:169,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 177
    functionName: ratelimit_apply
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - assert
    - rrl_query
    - knotd_mod_ctx
    - knotd_conf_addr_range_match
    - knotd_mod_stats_incr
    - knotd_qdata_remote_addr
    - rrl_slip_roll
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t ratelimit_apply(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:181,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:183,1
    - Dst: rrl_destroy
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:184,1
    - Dst: rrl_destroy
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:185,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:186,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - rrl_ctx_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: ctx_free
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 7
    functionsReached:
    - knotd_conf_free
    - free
    - assert
    - rrl_destroy
    linkageType: ''
    returnType: void
    signature: void ctx_free(rrl_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:192,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:197,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:198,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:200,1
    - Dst: knotd_mod_threads
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:200,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:202,1
    - Dst: rrl_create
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:212,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:214,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:217,1
    - Dst: rrl_create
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:223,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:225,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:232,1
    - Dst: knotd_mod_stats_add
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:235,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:237,1
    - Dst: knotd_mod_stats_add
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:240,1
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:242,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:251,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:254,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:257,1
    - Dst: knotd_mod_proto_hook
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:262,1
    - Dst: knotd_mod_proto_hook
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 267
    functionName: rrl_load
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - knotd_mod_threads
    - calloc
    - knotd_mod_proto_hook
    - knotd_mod_stats_add
    - knotd_mod_hook
    - rrl_create
    - knotd_mod_log
    - ctx_free
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int rrl_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctx_free
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:271,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/rrl/rrl.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: rrl_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/rrl.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - ctx_free
    linkageType: ''
    returnType: void
    signature: void rrl_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_cpu_supports
      Src: /src/knot-dns/src/knot/modules/rrl/kru-avx2.c:45,1
    - Dst: __builtin_cpu_supports
      Src: /src/knot-dns/src/knot/modules/rrl/kru-avx2.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: detect_CPU_avx2
    functionSourceFile: /src/knot-dns/src/knot/modules/rrl/kru-avx2.c
    functionUses: 0
    functionsReached:
    - __builtin_cpu_supports
    linkageType: ''
    returnType: void
    signature: void detect_CPU_avx2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:32,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:35,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:42,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: cookies_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    - knotd_conf_free
    linkageType: ''
    returnType: int
    signature: int cookies_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:65,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:67,1
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:68,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cookies_ctx_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: update_ctr
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - assert
    - ATOMIC_GET
    - ATOMIC_SET
    - ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: void update_ctr(cookies_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:76,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cookies_ctx_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: generate_secret
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - assert
    - ATOMIC_SET
    linkageType: ''
    returnType: int
    signature: int generate_secret(cookies_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:93,1
    - Dst: pthread_setcancelstate
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:96,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:99,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:100,1
    - Dst: pthread_setcancelstate
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:102,1
    - Dst: sleep
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: update_secret
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - sleep
    - knotd_mod_log
    - knotd_mod_ctx
    - pthread_setcancelstate
    linkageType: ''
    returnType: void
    signature: void *update_secret(void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:113,1
    - Dst: knot_edns_cookie_write
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:123,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - qdata
    - pkt
    - cc
    - sc
    argTypes:
    - knotd_qdata_t*
    - knot_pkt_t*
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: put_cookie
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_pkt_reserve
    - knot_edns_cookie_write
    linkageType: ''
    returnType: int
    signature: "int put_cookie(knotd_qdata_t *qdata, knot_pkt_t *pkt,\n                      const
      knot_edns_cookie_t *cc, const  knot_edns_cookie_t *sc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:140,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:142,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:152,1
    - Dst: time
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:169,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:172,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:178,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:179,1
    - Dst: knot_edns_cookie_server_check
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:183,1
    - Dst: knot_edns_cookie_server_generate
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:192,1
    - Dst: put_cookie
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:193,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:199,1
    - Dst: update_ctr
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:201,1
    - Dst: knotd_mod_stats_incr
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:202,1
    - Dst: update_ctr
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:206,1
    - Dst: knot_edns_cookie_server_generate
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:209,1
    - Dst: put_cookie
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:210,1
    - Dst: put_cookie
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:221,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 230
    functionName: cookies_process
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - assert
    - time
    - update_ctr
    - knot_edns_cookie_server_generate
    - put_cookie
    - knotd_mod_ctx
    - ATOMIC_GET
    - knot_edns_cookie_server_check
    - knotd_mod_stats_incr
    - memcpy
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t cookies_process(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:235,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:241,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:243,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:247,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:253,1
    - Dst: knotd_mod_stats_add
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:257,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:259,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:264,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:267,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:270,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:272,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:273,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:275,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:277,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:280,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:282,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:285,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:289,1
    - Dst: thread_create_nosignal
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:293,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:294,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:295,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 301
    functionName: cookies_load
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - ATOMIC_INIT
    - assert
    - knotd_conf_free
    - calloc
    - free
    - knotd_mod_stats_add
    - knotd_mod_hook
    - knotd_mod_log
    - ATOMIC_SET
    - thread_create_nosignal
    - dnssec_random_buffer
    - memcpy
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int cookies_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:305,1
    - Dst: pthread_cancel
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:307,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:308,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:310,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:312,1
    - Dst: memzero
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:314,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/cookies/cookies.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: cookies_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/cookies/cookies.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - free
    - ATOMIC_DEINIT
    - knotd_mod_ctx
    - memzero
    - pthread_cancel
    linkageType: ''
    returnType: void
    signature: void cookies_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:13,1
    - Dst: knotd_qdata_zone_name
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:15,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:21,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:31,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:41,1
    - Dst: knotd_qdata_zone_apex_rrset
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:68,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:71,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:79,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:84,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 92
    functionName: whoami_query
    functionSourceFile: /src/knot-dns/src/knot/modules/whoami/whoami.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - assert
    - knot_rrset_free
    - knot_rrset_new
    - knotd_qdata_zone_name
    - knot_pkt_put
    - knotd_qdata_remote_addr
    - knotd_qdata_zone_apex_rrset
    - knot_dname_is_equal
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t whoami_query(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/whoami/whoami.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: whoami_load
    functionSourceFile: /src/knot-dns/src/knot/modules/whoami/whoami.c
    functionUses: 0
    functionsReached:
    - knotd_mod_in_hook
    linkageType: ''
    returnType: int
    signature: int whoami_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_probe_free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:38,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:39,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:41,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:42,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:43,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - probe_ctx_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: free_probe_ctx
    functionSourceFile: /src/knot-dns/src/knot/modules/probe/probe.c
    functionUses: 0
    functionsReached:
    - free
    - knot_probe_free
    - ATOMIC_DEINIT
    linkageType: ''
    returnType: void
    signature: void free_probe_ctx(probe_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:50,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:52,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:58,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:64,1
    - Dst: knotd_qdata_local_addr
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:68,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:69,1
    - Dst: knotd_qdata_rtt
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:83,1
    - Dst: knot_probe_produce
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: export
    functionSourceFile: /src/knot-dns/src/knot/modules/probe/probe.c
    functionUses: 0
    functionsReached:
    - assert
    - time_now
    - knotd_qdata_local_addr
    - knotd_mod_ctx
    - knot_probe_produce
    - ATOMIC_SET
    - knotd_qdata_rtt
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t export(knotd_state_t state, knot_pkt_t *pkt,\n                            knotd_qdata_t
      *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:95,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:100,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:103,1
    - Dst: knotd_conf
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:105,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:109,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:110,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:112,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:115,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:119,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:121,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:125,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:127,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:131,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:135,1
    - Dst: knot_probe_alloc
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:141,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:143,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:150,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:154,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:161,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 164
    functionName: probe_load
    functionSourceFile: /src/knot-dns/src/knot/modules/probe/probe.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - strdup
    - ATOMIC_INIT
    - free_probe_ctx
    - knotd_conf
    - calloc
    - free
    - sprintf_alloc
    - knotd_mod_hook
    - knot_probe_alloc
    - knotd_mod_log
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int probe_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:168,1
    - Dst: free_probe_ctx
      Src: /src/knot-dns/src/knot/modules/probe/probe.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: probe_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/probe/probe.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - free_probe_ctx
    linkageType: ''
    returnType: void
    signature: void probe_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:27,1
    - Dst: knot_lookup_by_name
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:33,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:34,1
    - Dst: strchr
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:45,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:47,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:49,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:53,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - path
    - input
    argTypes:
    - geodb_path_t*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 63
    functionName: parse_geodb_path
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - strlen
    - knot_lookup_by_name
    - free
    - strchr
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int parse_geodb_path(geodb_path_t *path, const char *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:71,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:78,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:82,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:87,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:91,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - geodata
    - geodata_len
    - geodepth
    - path
    - path_cnt
    argTypes:
    - char*
    - void**
    - uint32_t*
    - uint8_t*
    - geodb_path_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: parse_geodb_data
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - str_to_u32
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int parse_geodb_data(const char *input, void **geodata, uint32_t *geodata_len,\n
      \                    uint8_t *geodepth, geodb_path_t *path, uint16_t path_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: geodb_available
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool geodb_available(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:122,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: geodb_open
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    linkageType: ''
    returnType: geodb_t
    signature: geodb_t *geodb_open(const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_close
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geodb
    argTypes:
    - geodb_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geodb_close
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - MMDB_close
    linkageType: ''
    returnType: void
    signature: void geodb_close(geodb_t *geodb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_lookup_sockaddr
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:150,1
    - Dst: MMDB_aget_value
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - geodb
    - entries
    - remote
    - paths
    - path_cnt
    - netmask
    argTypes:
    - geodb_t*
    - geodb_data_t*
    - struct sockaddr*
    - geodb_path_t*
    - uint16_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 178
    functionName: geodb_query
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - MMDB_lookup_sockaddr
    - MMDB_aget_value
    linkageType: ''
    returnType: int
    signature: "int geodb_query(geodb_t *geodb, geodb_data_t *entries, struct sockaddr
      *remote,\n                geodb_path_t *paths, uint16_t path_cnt, uint16_t *netmask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geodb.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - entries
    - path_cnt
    - geodata
    - geodata_len
    - geodepth
    argTypes:
    - geodb_data_t*
    - uint16_t
    - void**
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: geodb_fill_geodata
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geodb.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void geodb_fill_geodata(geodb_data_t *entries, uint16_t path_cnt,\n
      \                       void **geodata, uint32_t *geodata_len, uint8_t *geodepth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:72,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:77,1
    - Dst: geodb_available
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:79,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:84,1
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:90,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:93,1
    - Dst: parse_geodb_path
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:98,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:100,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:104,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:107,1
    - Dst: load_module
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: geoip_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - knotd_conf_free
    - parse_geodb_path
    - free
    - load_module
    - knotd_conf_check_item
    - geodb_available
    linkageType: ''
    returnType: int
    signature: int geoip_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 187
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 187
    functionName: geodb_view_cmp
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int geodb_view_cmp(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:201,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 214
    functionName: subnet_view_cmp
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int subnet_view_cmp(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: weighted_view_cmp
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int weighted_view_cmp(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:237,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:238,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:243,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - owner
    - view
    - ctx
    argTypes:
    - knot_dname_t*
    - geo_view_t*
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 276
    functionName: add_view_to_trie
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - trie_get_ins
    - calloc
    linkageType: ''
    returnType: int
    signature: int add_view_to_trie(knot_dname_t *owner, geo_view_t *view, geoip_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:281,1
    - Dst: vsnprintf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:284,1
    - Dst: knotd_mod_vlog
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:289,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - check
    - priority
    - fmt
    argTypes:
    - check_ctx_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: geo_log
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - va_start
    - knotd_mod_vlog
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void geo_log(check_ctx_t *check, int priority, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:298,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - check
    - item_name
    argTypes:
    - check_ctx_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geo_conf
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    - knotd_conf_mod
    linkageType: ''
    returnType: knotd_conf_t
    signature: knotd_conf_t geo_conf(check_ctx_t *check, const yp_name_t *item_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:313,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:314,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:319,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:323,1
    - Dst: knotd_mod_dnssec_sign_rrset
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:325,1
    - Dst: add_view_to_trie
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:333,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - check
    - view
    - owner
    - ctx
    argTypes:
    - check_ctx_t*
    - geo_view_t*
    - knot_dname_t*
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 340
    functionName: finalize_geo_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - assert
    - add_view_to_trie
    - knotd_mod_dnssec_sign_rrset
    - knot_dname_copy
    - memset
    - knot_rrset_init
    - malloc
    linkageType: ''
    returnType: int
    signature: "int finalize_geo_view(check_ctx_t *check, geo_view_t *view, knot_dname_t
      *owner,\n                             geoip_ctx_t *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - view
    argTypes:
    - geo_view_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: init_geo_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int init_geo_view(geo_view_t *view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:365,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:367,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:369,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:371,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:374,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:376,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - view
    argTypes:
    - geo_view_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 380
    functionName: clear_geo_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - free
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void clear_geo_view(geo_view_t *view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:391,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:391,1
    - Dst: zs_parse_record
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:392,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:393,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - yp
    - scanner
    argTypes:
    - yp_parser_t*
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: parse_origin
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - zs_parse_record
    - zs_set_input_string
    - free
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse_origin(yp_parser_t *yp, zs_scanner_t *scanner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:403,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:411,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:412,1
    - Dst: parse_geodb_data
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:419,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:421,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:434,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:439,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:443,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:447,1
    - Dst: str_to_u8
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:454,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:456,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:462,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:467,1
    - Dst: str_to_u8
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:473,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - check
    - ctx
    - yp
    - view
    argTypes:
    - check_ctx_t*
    - geoip_ctx_t*
    - yp_parser_t*
    - geo_view_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 483
    functionName: parse_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - str_to_u8
    - calloc
    - memcmp
    - sockaddr_set
    - memset
    - parse_geodb_data
    - geo_log
    linkageType: ''
    returnType: int
    signature: int parse_view(check_ctx_t *check, geoip_ctx_t *ctx, yp_parser_t *yp,
      geo_view_t *view)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:489,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:490,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:496,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:502,1
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:507,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:508,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:532,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:536,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:545,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:545,1
    - Dst: zs_parse_record
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:546,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:548,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:551,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:554,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:558,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 6
    argNames:
    - check
    - yp
    - scanner
    - owner
    - view
    - ttl
    argTypes:
    - check_ctx_t*
    - yp_parser_t*
    - zs_scanner_t*
    - knot_dname_t*
    - geo_view_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 559
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 559
    functionName: parse_rr
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - knot_rrtype_is_dnssec
    - knot_rrtype_from_string
    - strlen
    - free
    - knot_dname_copy
    - knot_dname_from_str_alloc
    - zs_parse_record
    - knot_rrset_init
    - geo_log
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int parse_rr(check_ctx_t *check, yp_parser_t *yp, zs_scanner_t *scanner,\n
      \                   knot_dname_t *owner, geo_view_t *view, uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:568,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:574,1
    - Dst: yp_init
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:579,1
    - Dst: geo_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:580,1
    - Dst: yp_set_input_file
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:581,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:583,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:584,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:589,1
    - Dst: zs_init
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:594,1
    - Dst: yp_parse
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:602,1
    - Dst: finalize_geo_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:604,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:608,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:610,1
    - Dst: finalize_geo_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:616,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:624,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:626,1
    - Dst: parse_origin
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:632,1
    - Dst: parse_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:640,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:655,1
    - Dst: parse_rr
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:661,1
    - Dst: clear_geo_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:670,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:672,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:673,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:674,1
    - Dst: yp_deinit
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:675,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:676,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 2
    argNames:
    - check
    - ctx
    argTypes:
    - check_ctx_t*
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 678
    functionName: geo_conf_yparse
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - parse_view
    - parse_rr
    - zs_deinit
    - finalize_geo_view
    - yp_init
    - geo_conf
    - calloc
    - knot_strerror
    - knot_dname_from_str
    - yp_parse
    - clear_geo_view
    - yp_set_input_file
    - free
    - zs_init
    - geo_log
    - parse_origin
    - malloc
    - yp_deinit
    linkageType: ''
    returnType: int
    signature: int geo_conf_yparse(check_ctx_t *check, geoip_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:682,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:683,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:684,1
    - Dst: clear_geo_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:686,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:688,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:689,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:690,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:692,1
    - Dst: trie_clear
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - trie
    argTypes:
    - trie_t*
    constantsTouched: []
    func_position:
      end: 694
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 694
    functionName: clear_geo_trie
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - free
    - trie_it_next
    - clear_geo_view
    - trie_it_begin
    - trie_clear
    - trie_it_free
    - trie_it_val
    - trie_it_finished
    linkageType: ''
    returnType: void
    signature: void clear_geo_trie(trie_t *trie)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: geodb_close
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:698,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:699,1
    - Dst: clear_geo_trie
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:700,1
    - Dst: trie_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:701,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:704,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 708
    functionName: free_geoip_ctx
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - free
    - trie_free
    - geodb_close
    - clear_geo_trie
    linkageType: ''
    returnType: void
    signature: void free_geoip_ctx(geoip_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:723,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:734,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - view
    - in
    - mode
    argTypes:
    - geo_view_t*
    - geo_view_t*
    - enum operation_mode
    constantsTouched: []
    func_position:
      end: 741
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 741
    functionName: view_strictly_in_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - assert
    - sockaddr_net_match
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool view_strictly_in_view(geo_view_t *view, geo_view_t *in,\n                                  enum
      operation_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:745,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:746,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:747,1
    - Dst: qsort
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:748,1
    - Dst: view_strictly_in_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:756,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:767,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 770
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 770
    functionName: geo_sort_and_link
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - view_strictly_in_view
    - trie_it_next
    - trie_it_begin
    - trie_it_free
    - trie_it_val
    - trie_it_finished
    - qsort
    linkageType: ''
    returnType: void
    signature: void geo_sort_and_link(geoip_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - arr
    - count
    - x
    - cmp
    argTypes:
    - geo_view_t*
    - int
    - geo_view_t*
    - view_cmp_t
    constantsTouched: []
    func_position:
      end: 785
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 785
    functionName: geo_bin_search
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: int
    signature: int geo_bin_search(geo_view_t *arr, int count, geo_view_t *x, view_cmp_t
      cmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:794,1
    - Dst: view_strictly_in_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:795,1
    - Dst: view_strictly_in_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - dummy
    - data
    - ctx
    argTypes:
    - geo_view_t*
    - geo_trie_val_t*
    - geoip_ctx_t*
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: find_best_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - view_strictly_in_view
    - cmp
    linkageType: ''
    returnType: geo_view_t
    signature: geo_view_t *find_best_view(geo_view_t *dummy, geo_trie_val_t *data,
      geoip_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - qtype
    - view
    - rr
    - rrsig
    argTypes:
    - uint16_t
    - geo_view_t*
    - knot_rrset_t**
    - knot_rrset_t**
    constantsTouched: []
    func_position:
      end: 828
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 828
    functionName: find_rr_in_view
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void find_rr_in_view(uint16_t qtype, geo_view_t *view,\n                            knot_rrset_t
      **rr, knot_rrset_t **rrsig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:833,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:840,1
    - Dst: trie_get_try_wildcard
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:852,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:862,1
    - Dst: knot_edns_client_subnet_get_addr
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:863,1
    - Dst: geodb_query
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:878,1
    - Dst: geodb_fill_geodata
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:886,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:890,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:893,1
    - Dst: find_best_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:898,1
    - Dst: find_rr_in_view
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:911,1
    - Dst: knot_pkt_put_rotate
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:921,1
    - Dst: knot_pkt_has_dnssec
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:922,1
    - Dst: knot_pkt_put_rotate
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:923,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:927,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 940
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 940
    functionName: geoip_process
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - find_best_view
    - assert
    - trie_get_try_wildcard
    - knot_pkt_put_rotate
    - dnssec_random_uint16_t
    - find_rr_in_view
    - geodb_query
    - knotd_mod_ctx
    - geodb_fill_geodata
    - knot_wire_set_aa
    - knot_edns_client_subnet_get_addr
    - knotd_qdata_remote_addr
    - knot_pkt_has_dnssec
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t geoip_process(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                      knotd_qdata_t *qdata, knotd_mod_t
      *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:944,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:948,1
    - Dst: geo_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:953,1
    - Dst: geo_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:955,1
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:959,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:961,1
    - Dst: geo_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:967,1
    - Dst: geodb_open
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:968,1
    - Dst: geo_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:970,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:971,1
    - Dst: geo_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:976,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:977,1
    - Dst: parse_geodb_path
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:980,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:982,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:987,1
    - Dst: knotd_conf_zone
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:989,1
    - Dst: knotd_mod_zone
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:989,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:995,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:996,1
    - Dst: knotd_mod_dnssec_load_keyset
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:999,1
    - Dst: knotd_mod_log
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1001,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1002,1
    - Dst: knotd_conf
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1007,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1014,1
    - Dst: geo_sort_and_link
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1020,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1022,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1024,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - check
    argTypes:
    - check_ctx_t*
    constantsTouched: []
    func_position:
      end: 1028
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 1028
    functionName: load_module
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 2
    functionsReached:
    - knotd_conf_mod
    - knotd_mod_ctx_set
    - assert
    - knotd_conf_free
    - geo_sort_and_link
    - free_geoip_ctx
    - parse_geodb_path
    - geo_conf
    - calloc
    - knotd_conf_zone
    - knotd_mod_zone
    - knotd_mod_dnssec_load_keyset
    - geodb_open
    - knotd_conf
    - trie_create
    - knotd_mod_log
    - geo_log
    linkageType: ''
    returnType: int
    signature: int load_module(check_ctx_t *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_in_hook
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    functionName: geoip_load
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - knotd_mod_in_hook
    linkageType: ''
    returnType: int
    signature: int geoip_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1043,1
    - Dst: free_geoip_ctx
      Src: /src/knot-dns/src/knot/modules/geoip/geoip.c:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1041
    functionDepth: 4
    functionLinenumber: 1041
    functionLinenumberEnd: 1047
    functionName: geoip_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/geoip/geoip.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - free_geoip_ctx
    linkageType: ''
    returnType: void
    signature: void geoip_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_check_item
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: dnsproxy_conf_check
    functionSourceFile: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c
    functionUses: 0
    functionsReached:
    - knotd_conf_check_item
    linkageType: ''
    returnType: int
    signature: int dnsproxy_conf_check(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:55,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:58,1
    - Dst: query_capture_api
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:63,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:70,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:72,1
    - Dst: net_is_stream
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:78,1
    - Dst: if
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:84,1
    - Dst: knot_tsig_append
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:98,1
    - Dst: knot_request_make_generic
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:106,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:109,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:110,1
    - Dst: knot_requestor_exec
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:115,1
    - Dst: knot_tsig_append
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:118,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:121,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - proxy
    - pkt
    - qdata
    - addr_pos
    argTypes:
    - dnsproxy_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 125
    functionName: fwd
    functionSourceFile: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - knot_requestor_init
    - knot_pkt_new
    - knot_pkt_free
    - knot_request_make_generic
    - if
    - knot_tsig_append
    - query_capture_api
    - knot_requestor_clear
    - knot_requestor_exec
    - net_is_stream
    linkageType: ''
    returnType: int
    signature: int fwd(dnsproxy_t *proxy, knot_pkt_t *pkt, knotd_qdata_t *qdata, int
      addr_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:130,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:132,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:142,1
    - Dst: knotd_conf_addr_range_match
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:143,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:151,1
    - Dst: fwd
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:153,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 167
    functionName: dnsproxy_fwd
    functionSourceFile: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_pkt_ext_rcode
    - knotd_mod_ctx
    - knotd_conf_addr_range_match
    - fwd
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t dnsproxy_fwd(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                 knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:171,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:176,1
    - Dst: knotd_conf
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:178,1
    - Dst: knotd_conf
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:180,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:182,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:184,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:187,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:190,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:193,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:196,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:199,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: dnsproxy_load
    functionSourceFile: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - knotd_conf
    - calloc
    - knotd_mod_hook
    - knotd_conf_mod
    linkageType: ''
    returnType: int
    signature: int dnsproxy_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:207,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:209,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:210,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:211,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: dnsproxy_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/dnsproxy/dnsproxy.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - knotd_conf_free
    - free
    linkageType: ''
    returnType: void
    signature: void dnsproxy_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:26,1
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:28,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:36,1
    - Dst: knotd_conf_addr_range_match
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:37,1
    - Dst: knotd_qdata_local_addr
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:44,1
    - Dst: knotd_conf_addr_range_match
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - mod
    argTypes:
    - knotd_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: queryacl_process
    functionSourceFile: /src/knot-dns/src/knot/modules/queryacl/queryacl.c
    functionUses: 0
    functionsReached:
    - assert
    - knotd_qdata_local_addr
    - knotd_mod_ctx
    - knotd_conf_addr_range_match
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: knotd_state_t
    signature: "knotd_state_t queryacl_process(knotd_state_t state, knot_pkt_t *pkt,\n
      \                                     knotd_qdata_t *qdata, knotd_mod_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:57,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:62,1
    - Dst: knotd_conf_mod
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:63,1
    - Dst: knotd_mod_ctx_set
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:65,1
    - Dst: knotd_mod_hook
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: queryacl_load
    functionSourceFile: /src/knot-dns/src/knot/modules/queryacl/queryacl.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx_set
    - knotd_conf_mod
    - knotd_mod_hook
    - calloc
    linkageType: ''
    returnType: int
    signature: int queryacl_load(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_mod_ctx
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:72,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:74,1
    - Dst: knotd_conf_free
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:75,1
    - Dst: free
      Src: /src/knot-dns/src/knot/modules/queryacl/queryacl.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: queryacl_unload
    functionSourceFile: /src/knot-dns/src/knot/modules/queryacl/queryacl.c
    functionUses: 0
    functionsReached:
    - knotd_mod_ctx
    - knotd_conf_free
    - free
    linkageType: ''
    returnType: void
    signature: void queryacl_unload(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/ctl/threads.c:40,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/ctl/threads.c:41,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/ctl/threads.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - concurrent_ctxs
    - n_ctxs
    - server
    - thr_idx_from
    argTypes:
    - concurrent_ctl_ctx_t*
    - size_t
    - server_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: ctl_init_ctxs
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void ctl_init_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t n_ctxs,\n
      \                         server_t *server, unsigned thr_idx_from)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:53,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/knot/ctl/threads.c:55,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - concurrent_ctxs
    - n_ctxs
    argTypes:
    - concurrent_ctl_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: ctl_cleanup_ctxs
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - knot_ctl_free
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int ctl_cleanup_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t
      n_ctxs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:70,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:72,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/ctl/threads.c:73,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/ctl/threads.c:74,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/ctl/threads.c:79,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:80,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/ctl/threads.c:81,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/threads.c:83,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/knot/ctl/threads.c:84,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/ctl/threads.c:85,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/ctl/threads.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - concurrent_ctxs
    - n_ctxs
    argTypes:
    - concurrent_ctl_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: ctl_finalize_ctxs
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - knot_ctl_free
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - pthread_join
    - pthread_mutex_destroy
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ctl_finalize_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t
      n_ctxs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_register_thread
      Src: /src/knot-dns/src/knot/ctl/threads.c:93,1
    - Dst: signals_setup
      Src: /src/knot-dns/src/knot/ctl/threads.c:94,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:97,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/ctl/threads.c:100,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:105,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:110,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/ctl/threads.c:115,1
    - Dst: knot_ctl_close
      Src: /src/knot-dns/src/knot/ctl/threads.c:119,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:122,1
    - Dst: rcu_unregister_thread
      Src: /src/knot-dns/src/knot/ctl/threads.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: ctl_process_thread
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - signals_setup
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - rcu_unregister_thread
    - rcu_register_thread
    - knot_ctl_close
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void *ctl_process_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:133,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/ctl/threads.c:136,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/knot/ctl/threads.c:138,1
    - Dst: knot_ctl_clone
      Src: /src/knot-dns/src/knot/ctl/threads.c:139,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:142,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/ctl/threads.c:147,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:149,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/threads.c:153,1
    - Dst: thread_create_nosignal
      Src: /src/knot-dns/src/knot/ctl/threads.c:156,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/knot/ctl/threads.c:159,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/ctl/threads.c:160,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:163,1
    - Dst: knot_ctl_clone
      Src: /src/knot-dns/src/knot/ctl/threads.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/threads.c:171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - concurrent_ctxs
    - n_ctxs
    - ctl
    argTypes:
    - concurrent_ctl_ctx_t*
    - size_t
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 174
    functionName: find_free_ctx
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - knot_ctl_free
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - knot_ctl_clone
    - thread_create_nosignal
    - pthread_cond_wait
    linkageType: ''
    returnType: concurrent_ctl_ctx_t
    signature: "concurrent_ctl_ctx_t *find_free_ctx(concurrent_ctl_ctx_t *concurrent_ctxs,\n
      \                                          size_t n_ctxs, knot_ctl_t *ctl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/threads.c:179,1
    - Dst: ctl_init_ctxs
      Src: /src/knot-dns/src/knot/ctl/threads.c:187,1
    - Dst: ctl_cleanup_ctxs
      Src: /src/knot-dns/src/knot/ctl/threads.c:190,1
    - Dst: knot_ctl_set_timeout
      Src: /src/knot-dns/src/knot/ctl/threads.c:195,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/threads.c:195,1
    - Dst: find_free_ctx
      Src: /src/knot-dns/src/knot/ctl/threads.c:203,1
    - Dst: ctl_process
      Src: /src/knot-dns/src/knot/ctl/threads.c:204,1
    - Dst: knot_ctl_close
      Src: /src/knot-dns/src/knot/ctl/threads.c:205,1
    - Dst: ctl_finalize_ctxs
      Src: /src/knot-dns/src/knot/ctl/threads.c:213,1
    - Dst: kill
      Src: /src/knot-dns/src/knot/ctl/threads.c:216,1
    - Dst: getpid
      Src: /src/knot-dns/src/knot/ctl/threads.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - dt
    argTypes:
    - struct dthread*
    constantsTouched: []
    func_position:
      end: 220
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 220
    functionName: ctl_socket_thr
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - ctl_finalize_ctxs
    - assert
    - kill
    - ctl_cleanup_ctxs
    - conf
    - knot_ctl_set_timeout
    - ctl_init_ctxs
    - find_free_ctx
    - getpid
    - ctl_process
    - knot_ctl_close
    linkageType: ''
    returnType: int
    signature: int ctl_socket_thr(struct dthread *dt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_create
      Src: /src/knot-dns/src/knot/ctl/threads.c:228,1
    - Dst: dt_start
      Src: /src/knot-dns/src/knot/ctl/threads.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - sock_count
    argTypes:
    - ctl_socket_ctx_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: ctl_socket_thr_init
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - dt_create
    - dt_start
    linkageType: ''
    returnType: int
    signature: int ctl_socket_thr_init(ctl_socket_ctx_t *ctx, unsigned sock_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_stop
      Src: /src/knot-dns/src/knot/ctl/threads.c:238,1
    - Dst: dt_join
      Src: /src/knot-dns/src/knot/ctl/threads.c:239,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/ctl/threads.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctl_socket_ctx_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: ctl_socket_thr_end
    functionSourceFile: /src/knot-dns/src/knot/ctl/threads.c
    functionUses: 0
    functionsReached:
    - dt_join
    - dt_stop
    - dt_delete
    linkageType: ''
    returnType: void
    signature: void ctl_socket_thr_end(ctl_socket_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:34,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/process.c:35,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/process.c:59,1
    - Dst: strtolower
      Src: /src/knot-dns/src/knot/ctl/process.c:62,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:71,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/ctl/process.c:71,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/process.c:72,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/process.c:73,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:75,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/ctl/process.c:75,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/process.c:76,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/process.c:77,1
    - Dst: ctl_str_to_cmd
      Src: /src/knot-dns/src/knot/ctl/process.c:80,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:82,1
    - Dst: log_ctl_zone_str_info
      Src: /src/knot-dns/src/knot/ctl/process.c:85,1
    - Dst: log_ctl_info
      Src: /src/knot-dns/src/knot/ctl/process.c:88,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:91,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:94,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/process.c:99,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/process.c:105,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/process.c:105,1
    - Dst: ctl_exec
      Src: /src/knot-dns/src/knot/ctl/process.c:112,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:128,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/process.c:129,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/process.c:134,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:136,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/process.c:137,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/process.c:143,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/process.c:145,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/process.c:146,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 4
    argNames:
    - ctl
    - server
    - thread_idx
    - exclusive
    argTypes:
    - knot_ctl_t*
    - server_t*
    - unsigned
    - bool*
    constantsTouched: []
    func_position:
      end: 152
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 152
    functionName: ctl_process
    functionSourceFile: /src/knot-dns/src/knot/ctl/process.c
    functionUses: 1
    functionsReached:
    - log_enabled_debug
    - log_ctl_zone_str_info
    - assert
    - strlcat
    - log_ctl_info
    - strlen
    - ctl_send_error
    - knot_strerror
    - conf
    - snprintf
    - knot_ctl_send
    - log_ctl_debug
    - ctl_exec
    - strtolower
    - ctl_str_to_cmd
    linkageType: ''
    returnType: int
    signature: int ctl_process(knot_ctl_t *ctl, server_t *server, unsigned thread_idx,
      bool *exclusive)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: allow_blocking_while_ctl_txn
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allow_blocking_while_ctl_txn(zone_event_type_t event)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 5
    argNames:
    - args
    - param
    - dflt
    - filter
    - neg_filter
    argTypes:
    - ctl_args_t*
    - bool*
    - bool
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: eval_opposite_filters
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool eval_opposite_filters(ctl_args_t *args, bool *param, bool dflt,\n
      \                                 char *filter, char *neg_filter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - args
    - filters
    - item
    - dflts
    argTypes:
    - ctl_args_t*
    - knot_backup_params_t*
    - backup_filter_list_t*
    - knot_backup_params_t
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: eval_backup_filters
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool eval_backup_filters(ctl_args_t *args, knot_backup_params_t *filters,\n
      \                               const backup_filter_list_t *item, knot_backup_params_t
      dflts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:119,1
    - Dst: allow_blocking_while_ctl_txn
      Src: /src/knot-dns/src/knot/ctl/commands.c:120,1
    - Dst: zone_events_schedule_blocking
      Src: /src/knot-dns/src/knot/ctl/commands.c:124,1
    - Dst: zone_events_schedule_user
      Src: /src/knot-dns/src/knot/ctl/commands.c:126,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/ctl/commands.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - zone
    - args
    - event
    - user
    argTypes:
    - zone_t*
    - ctl_args_t*
    - zone_event_type_t
    - bool
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: schedule_trigger
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_events_schedule_now
    - zone_events_schedule_blocking
    - allow_blocking_while_ctl_txn
    - ctl_has_flag
    - zone_events_schedule_user
    linkageType: ''
    returnType: int
    signature: "int schedule_trigger(zone_t *zone, ctl_args_t *args, zone_event_type_t
      event,\n                            bool user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/commands.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: ctl_log_conf_data
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_ctl_debug
    linkageType: ''
    returnType: void
    signature: void ctl_log_conf_data(knot_ctl_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/ctl/commands.c:157,1
    - Dst: log_ctl_debug
      Src: /src/knot-dns/src/knot/ctl/commands.c:163,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - args
    - msg
    argTypes:
    - ctl_args_t*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: ctl_send_error
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - memcpy
    - log_ctl_debug
    - knot_strerror
    linkageType: ''
    returnType: void
    signature: void ctl_send_error(ctl_args_t *args, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:170,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:173,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/knot/ctl/commands.c:177,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/ctl/commands.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - args
    - zone
    argTypes:
    - ctl_args_t*
    - zone_t**
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: get_zone
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_dname_from_str
    - assert
    - knot_dname_to_lower
    - knot_zonedb_find
    linkageType: ''
    returnType: int
    signature: int get_zone(ctl_args_t *args, zone_t **zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/ctl/commands.c:194,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/ctl/commands.c:195,1
    - Dst: fcn
      Src: /src/knot-dns/src/knot/ctl/commands.c:197,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/ctl/commands.c:197,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/ctl/commands.c:201,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/ctl/commands.c:203,1
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:207,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:207,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:208,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:208,1
    - Dst: get_zone
      Src: /src/knot-dns/src/knot/ctl/commands.c:216,1
    - Dst: fcn
      Src: /src/knot-dns/src/knot/ctl/commands.c:218,1
    - Dst: log_ctl_zone_str_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:221,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:222,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:223,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:223,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/knot/ctl/commands.c:227,1
    - Dst: strtolower
      Src: /src/knot-dns/src/knot/ctl/commands.c:231,1
    - Dst: log_ctl_zone_str_info
      Src: /src/knot-dns/src/knot/ctl/commands.c:234,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 240
    functionName: zones_apply
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_ctl_zone_str_info
    - ctl_send_error
    - knot_strerror
    - knot_zonedb_iter_next
    - fcn
    - knot_zonedb_iter_finished
    - knot_zonedb_iter_begin
    - log_ctl_zone_str_error
    - knot_zonedb_iter_val
    - log_ctl_error
    - get_zone
    - knot_ctl_receive
    - strtolower
    - knot_zonedb_iter_free
    linkageType: ''
    returnType: int
    signature: int zones_apply(ctl_args_t *args, int (*fcn)(zone_t *, ctl_args_t *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:245,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:257,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:261,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:265,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:272,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:281,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:289,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:292,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:294,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/ctl/commands.c:296,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:298,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/ctl/commands.c:298,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:300,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:307,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:315,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:318,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:327,1
    - Dst: zone_events_get_time
      Src: /src/knot-dns/src/knot/ctl/commands.c:330,1
    - Dst: time
      Src: /src/knot-dns/src/knot/ctl/commands.c:330,1
    - Dst: zone_events_get_time
      Src: /src/knot-dns/src/knot/ctl/commands.c:336,1
    - Dst: time
      Src: /src/knot-dns/src/knot/ctl/commands.c:336,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:342,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:350,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:355,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:361,1
    - Dst: catalog_get_catz
      Src: /src/knot-dns/src/knot/ctl/commands.c:370,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/ctl/commands.c:370,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:373,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:378,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:380,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:383,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:383,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/ctl/commands.c:384,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:393,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:393,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:394,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/ctl/commands.c:394,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:397,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:397,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:400,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:400,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:408,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:416,1
    - Dst: zone_events_get_name
      Src: /src/knot-dns/src/knot/ctl/commands.c:423,1
    - Dst: zone_events_get_time
      Src: /src/knot-dns/src/knot/ctl/commands.c:424,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:428,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/knot/ctl/commands.c:435,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:437,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:440,1
    - Dst: time
      Src: /src/knot-dns/src/knot/ctl/commands.c:441,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/knot/ctl/commands.c:444,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:446,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/knot/ctl/commands.c:450,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:457,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 172
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 467
    functionName: zone_status
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf
    - snprintf
    - time
    - conf_opt
    - free
    - zone_events_get_time
    - zone_catalog
    - conf_str
    - zone_events_get_name
    - rcu_read_unlock
    - catalog_get_catz
    - ctl_has_flag
    - rcu_read_lock
    - knot_time_print
    - zone_get_flag
    - conf_dname
    - node_rdataset
    - strlcat
    - conf_zone_get
    - knot_dname_to_str
    - knot_ctl_send
    - knot_soa_serial
    - MATCH_OR_FILTER
    linkageType: ''
    returnType: int
    signature: int zone_status(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_expired
      Src: /src/knot-dns/src/knot/ctl/commands.c:471,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:476,1
    - Dst: zone_reload_modules
      Src: /src/knot-dns/src/knot/ctl/commands.c:477,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:477,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 481
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 481
    functionName: zone_reload
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_expired
    - conf
    - zone_reload_modules
    - ctl_has_flag
    - schedule_trigger
    linkageType: ''
    returnType: int
    signature: int zone_reload(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/ctl/commands.c:485,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:485,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 492
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 492
    functionName: zone_refresh
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf
    - schedule_trigger
    - zone_is_slave
    linkageType: ''
    returnType: int
    signature: int zone_refresh(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/ctl/commands.c:496,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:496,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:501,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: zone_retransfer
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf
    - schedule_trigger
    - zone_set_flag
    - zone_is_slave
    linkageType: ''
    returnType: int
    signature: int zone_retransfer(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:509,1
    - Dst: log_ctl_zone_str_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:511,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:516,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctl_args_t *args
    - err
    - msg
    argTypes:
    - _unused_
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: common_failure
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - ctl_send_error
    - log_ctl_error
    - log_ctl_zone_str_error
    linkageType: ''
    returnType: void
    signature: void common_failure(_unused_ ctl_args_t *args, int err, const char
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_notifailed_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:521,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: zone_notify
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_notifailed_clear
    - schedule_trigger
    linkageType: ''
    returnType: int
    signature: int zone_notify(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:527,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:528,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:529,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: zone_flush
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - schedule_trigger
    - zone_set_flag
    - ctl_has_flag
    linkageType: ''
    returnType: int
    signature: int zone_flush(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:537,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:539,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:542,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 546
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 546
    functionName: zone_flush_outdir
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - rcu_read_unlock
    - log_zone_warning
    - rcu_read_lock
    linkageType: ''
    returnType: int
    signature: int zone_flush_outdir(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:550,1
    - Dst: common_failure
      Src: /src/knot-dns/src/knot/ctl/commands.c:554,1
    - Dst: common_failure
      Src: /src/knot-dns/src/knot/ctl/commands.c:562,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:563,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:567,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 571
    functionName: zones_apply_flush
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zones_apply
    - MATCH_AND_FILTER
    - free
    - common_failure
    linkageType: ''
    returnType: int
    signature: int zones_apply_flush(ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:588,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:590,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:594,1
    - Dst: log_zone_str_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - args
    - ctx
    argTypes:
    - ctl_args_t*
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 598
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 598
    functionName: report_insufficient_backup
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - log_warning
    - log_zone_str_warning
    linkageType: ''
    returnType: void
    signature: void report_insufficient_backup(ctl_args_t *args, zone_backup_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:602,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/ctl/commands.c:607,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:607,1
    - Dst: same_path
      Src: /src/knot-dns/src/knot/ctl/commands.c:615,1
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:620,1
    - Dst: log_ctl_zone_str_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:622,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:624,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:633,1
    - Dst: eval_backup_filters
      Src: /src/knot-dns/src/knot/ctl/commands.c:636,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/ctl/commands.c:649,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:649,1
    - Dst: report_insufficient_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:659,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:660,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:667,1
    - Dst: zone_backups_add
      Src: /src/knot-dns/src/knot/ctl/commands.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - args
    - restore_mode
    argTypes:
    - ctl_args_t*
    - bool
    constantsTouched: []
    func_position:
      end: 672
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 672
    functionName: init_backup
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_db_param
    - free
    - conf
    - same_path
    - report_insufficient_backup
    - log_ctl_zone_str_error
    - MATCH_AND_FILTER
    - log_ctl_error
    - eval_backup_filters
    - zone_backups_add
    linkageType: ''
    returnType: int
    signature: int init_backup(ctl_args_t *args, bool restore_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TAIL
      Src: /src/knot-dns/src/knot/ctl/commands.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: latest_backup_ctx
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - TAIL
    linkageType: ''
    returnType: zone_backup_ctx_t
    signature: zone_backup_ctx_t *latest_backup_ctx(ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_backup_deinit
      Src: /src/knot-dns/src/knot/ctl/commands.c:682,1
    - Dst: latest_backup_ctx
      Src: /src/knot-dns/src/knot/ctl/commands.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: deinit_backup
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_backup_deinit
    - latest_backup_ctx
    linkageType: ''
    returnType: int
    signature: int deinit_backup(ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: latest_backup_ctx
      Src: /src/knot-dns/src/knot/ctl/commands.c:689,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:696,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/ctl/commands.c:697,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:698,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:704,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/ctl/commands.c:710,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:712,1
    - Dst: global_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:717,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/ctl/commands.c:717,1
    - Dst: zone_backup_keysonly
      Src: /src/knot-dns/src/knot/ctl/commands.c:722,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:722,1
    - Dst: zone_keys_load
      Src: /src/knot-dns/src/knot/ctl/commands.c:725,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/ctl/commands.c:734,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:738,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:740,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:742,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 743
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 743
    functionName: zone_backup_cmd
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - latest_backup_ctx
    - zone_backup_keysonly
    - conf
    - zone_keys_load
    - ATOMIC_GET
    - ATOMIC_SET
    - schedule_trigger
    - global_backup
    - zone_catalog
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int zone_backup_cmd(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common_failure
      Src: /src/knot-dns/src/knot/ctl/commands.c:754,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:755,1
    - Dst: latest_backup_ctx
      Src: /src/knot-dns/src/knot/ctl/commands.c:759,1
    - Dst: backup_quic
      Src: /src/knot-dns/src/knot/ctl/commands.c:762,1
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:764,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:766,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:767,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:767,1
    - Dst: global_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:775,1
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:777,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:777,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:778,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:778,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:784,1
    - Dst: deinit_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - args
    - restore_mode
    argTypes:
    - ctl_args_t*
    - bool
    constantsTouched: []
    func_position:
      end: 789
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 789
    functionName: zones_apply_backup
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - ctl_send_error
    - deinit_backup
    - backup_quic
    - knot_strerror
    - free
    - log_ctl_error
    - common_failure
    - global_backup
    - zones_apply
    - latest_backup_ctx
    linkageType: ''
    returnType: int
    signature: int zones_apply_backup(ctl_args_t *args, bool restore_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:793,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:793,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/ctl/commands.c:794,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:799,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: zone_sign
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf
    - conf_bool
    - schedule_trigger
    - zone_set_flag
    linkageType: ''
    returnType: int
    signature: int zone_sign(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: zone_validate
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - schedule_trigger
    linkageType: ''
    returnType: int
    signature: int zone_validate(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:810,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:810,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/ctl/commands.c:811,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/ctl/commands.c:817,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 822
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 822
    functionName: zone_keys_load
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - conf_zone_get
    - conf
    - conf_bool
    - schedule_trigger
    - log_zone_notice
    linkageType: ''
    returnType: int
    signature: int zone_keys_load(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:826,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:826,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/ctl/commands.c:827,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:833,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:834,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:835,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:836,1
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 842
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 842
    functionName: zone_key_roll
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - conf_zone_get
    - conf
    - conf_bool
    - schedule_trigger
    - zone_set_flag
    linkageType: ''
    returnType: int
    signature: int zone_key_roll(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dnssec_ksk_sbm_confirm
      Src: /src/knot-dns/src/knot/ctl/commands.c:853,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/ctl/commands.c:854,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:856,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:856,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/ctl/commands.c:857,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/ctl/commands.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 863
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 863
    functionName: zone_ksk_sbm_confirm
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - knot_dnssec_ksk_sbm_confirm
    - zone_events_schedule_now
    - conf
    - conf_bool
    - kdnssec_ctx_deinit
    linkageType: ''
    returnType: int
    signature: int zone_ksk_sbm_confirm(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: zone_freeze
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - schedule_trigger
    linkageType: ''
    returnType: int
    signature: int zone_freeze(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: schedule_trigger
      Src: /src/knot-dns/src/knot/ctl/commands.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: zone_thaw
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - schedule_trigger
    linkageType: ''
    returnType: int
    signature: int zone_thaw(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:877,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/ctl/commands.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 882
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 882
    functionName: zone_xfr_freeze
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_zone_info
    - zone_set_flag
    linkageType: ''
    returnType: int
    signature: int zone_xfr_freeze(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_unset_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:886,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/ctl/commands.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: zone_xfr_thaw
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_zone_info
    - zone_unset_flag
    linkageType: ''
    returnType: int
    signature: int zone_xfr_thaw(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:895,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/ctl/commands.c:899,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:901,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:906,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/ctl/commands.c:910,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:916,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:919,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 924
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 924
    functionName: zone_txn_begin_l
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - free
    - conf
    - MATCH_AND_FILTER
    - ATOMIC_GET
    - malloc
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int zone_txn_begin_l(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:928,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 932
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 932
    functionName: zone_txn_begin
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_begin(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_empty
      Src: /src/knot-dns/src/knot/ctl/commands.c:948,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/ctl/commands.c:950,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:951,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:956,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:956,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:958,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:958,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/knot/ctl/commands.c:964,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:964,1
    - Dst: event_dnssec_reschedule
      Src: /src/knot-dns/src/knot/ctl/commands.c:965,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:965,1
    - Dst: knot_dnssec_sign_update
      Src: /src/knot-dns/src/knot/ctl/commands.c:967,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:967,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/ctl/commands.c:970,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/ctl/commands.c:971,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:971,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/ctl/commands.c:974,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:978,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/ctl/commands.c:982,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:982,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:984,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:988,1
    - Dst: zone_schedule_notify
      Src: /src/knot-dns/src/knot/ctl/commands.c:991,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 994
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 994
    functionName: zone_txn_commit_l
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - zone_update_increment_soa
    - knot_dnssec_zone_sign
    - free
    - conf
    - knot_dnssec_sign_update
    - changeset_empty
    - zone_control_clear
    - zone_update_add_digest
    - zone_update_commit
    - event_dnssec_reschedule
    - zone_schedule_notify
    - zone_update_to
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int zone_txn_commit_l(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:998,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: zone_txn_commit
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_commit(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1006,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1009,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:1013,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - ctl_args_t *args
    argTypes:
    - zone_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 1017
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1017
    functionName: zone_txn_abort
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_control_clear
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_abort(zone_t *zone, _unused_ ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/ctl/commands.c:1022,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1039,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/knot/ctl/commands.c:1046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - zone_name
    - args
    argTypes:
    - send_ctx_t*
    - knot_dname_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1055
    functionName: init_send_ctx
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_dname_to_str
    - knot_rrtype_from_string
    - memset
    linkageType: ''
    returnType: int
    signature: "int init_send_ctx(send_ctx_t *ctx, const knot_dname_t *zone_name,\n
      \                        ctl_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/ctl/commands.c:1066,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:1085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - rrset
    - ctx
    argTypes:
    - knot_rrset_t*
    - send_ctx_t*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1092
    functionName: send_rrset
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_ctl_send
    - knot_rrtype_to_string
    linkageType: ''
    returnType: int
    signature: int send_rrset(knot_rrset_t *rrset, send_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1097,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/ctl/commands.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - node
    - ctx_void
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1116
    functionName: send_node
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: int send_node(zone_node_t *node, void *ctx_void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1122,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1134,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/knot/ctl/commands.c:1137,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/ctl/commands.c:1139,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/ctl/commands.c:1154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - out
    - out_len
    - origin
    - args
    argTypes:
    - uint8_t*
    - size_t
    - knot_dname_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1158
    functionName: get_owner
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_from_str
    - knot_dname_size
    - memcpy
    - knot_dname_to_lower
    linkageType: ''
    returnType: int
    signature: "int get_owner(uint8_t *out, size_t out_len, knot_dname_t *origin,\n
      \                    ctl_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1168,1
    - Dst: get_owner
      Src: /src/knot-dns/src/knot/ctl/commands.c:1173,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1175,1
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/ctl/commands.c:1179,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1181,1
    - Dst: send_node
      Src: /src/knot-dns/src/knot/ctl/commands.c:1185,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1187,1
    - Dst: zone_contents_nsec3_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1189,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1195
    functionName: zone_read
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - rcu_read_unlock
    - get_owner
    - zone_contents_node_or_nsec3
    - zone_contents_nsec3_apply
    - zone_contents_apply
    - rcu_read_lock
    - send_node
    linkageType: ''
    returnType: int
    signature: int zone_read(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_owner
      Src: /src/knot-dns/src/knot/ctl/commands.c:1214,1
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/ctl/commands.c:1219,1
    - Dst: send_node
      Src: /src/knot-dns/src/knot/ctl/commands.c:1225,1
    - Dst: zone_tree_it_double_begin
      Src: /src/knot-dns/src/knot/ctl/commands.c:1228,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/ctl/commands.c:1231,1
    - Dst: send_node
      Src: /src/knot-dns/src/knot/ctl/commands.c:1232,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/ctl/commands.c:1232,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/ctl/commands.c:1233,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/ctl/commands.c:1235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - zone
    - args
    - flag
    argTypes:
    - zone_t*
    - ctl_args_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1239
    functionName: zone_flag_txn_get
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - get_owner
    - zone_contents_node_or_nsec3
    - zone_tree_it_double_begin
    - send_node
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_free
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: int zone_flag_txn_get(zone_t *zone, ctl_args_t *args, const char *flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1243,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1247
    functionName: zone_txn_get
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_get(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1256,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/ctl/commands.c:1276,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/ctl/commands.c:1277,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:1280,1
    - Dst: send_rrset
      Src: /src/knot-dns/src/knot/ctl/commands.c:1284,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:1286,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/ctl/commands.c:1290,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/ctl/commands.c:1292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ch
    - ctx
    - from
    argTypes:
    - changeset_t*
    - send_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1295
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1295
    functionName: send_changeset_part
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - send_rrset
    - changeset_iter_next
    - changeset_iter_clear
    linkageType: ''
    returnType: int
    signature: int send_changeset_part(changeset_t *ch, send_ctx_t *ctx, bool from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_changeset_part
      Src: /src/knot-dns/src/knot/ctl/commands.c:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - ctx
    argTypes:
    - changeset_t*
    - send_ctx_t*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1297
    functionDepth: 3
    functionLinenumber: 1297
    functionLinenumberEnd: 1307
    functionName: send_changeset
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - send_changeset_part
    linkageType: ''
    returnType: int
    signature: int send_changeset(changeset_t *ch, send_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_flag_txn_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:1318,1
    - Dst: send_changeset
      Src: /src/knot-dns/src/knot/ctl/commands.c:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1309
    functionDepth: 4
    functionLinenumber: 1309
    functionLinenumberEnd: 1328
    functionName: zone_txn_diff_l
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - zone_flag_txn_get
    - send_changeset
    linkageType: ''
    returnType: int
    signature: int zone_txn_diff_l(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1332,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1336
    functionName: zone_txn_diff
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_diff(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/ctl/commands.c:1347,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/knot/ctl/commands.c:1353,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/ctl/commands.c:1357,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/ctl/commands.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - zone
    - args
    - ttl
    argTypes:
    - zone_t*
    - ctl_args_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1364
    functionName: get_ttl
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - node_rrset
    - zone_contents_node_or_nsec3
    - knot_rrtype_from_string
    - knot_rrset_empty
    linkageType: ''
    returnType: int
    signature: int get_ttl(zone_t *zone, ctl_args_t *args, uint32_t *ttl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ttl
      Src: /src/knot-dns/src/knot/ctl/commands.c:1387,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:1388,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1388,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/ctl/commands.c:1389,1
    - Dst: zs_init
      Src: /src/knot-dns/src/knot/ctl/commands.c:1406,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/knot/ctl/commands.c:1407,1
    - Dst: zs_parse_record
      Src: /src/knot-dns/src/knot/ctl/commands.c:1408,1
    - Dst: knot_strlcat
      Src: /src/knot-dns/src/knot/ctl/commands.c:1415,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1415,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1417,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/ctl/commands.c:1423,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/ctl/commands.c:1430,1
    - Dst: knot_rrset_rr_to_canonical
      Src: /src/knot-dns/src/knot/ctl/commands.c:1436,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/ctl/commands.c:1438,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - rrset
    - zone
    - args
    - need_ttl
    argTypes:
    - knot_rrset_t**
    - zone_t*
    - ctl_args_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1441
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1441
    functionName: create_rrset
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - zs_set_input_string
    - ctl_send_error
    - conf_zone_get
    - zs_deinit
    - knot_rrset_new
    - conf
    - knot_strlcat
    - knot_rrset_add_rdata
    - zs_strerror
    - knot_rrset_rr_to_canonical
    - zs_init
    - conf_int
    - zs_parse_record
    - get_ttl
    linkageType: ''
    returnType: int
    signature: "int create_rrset(knot_rrset_t **rrset, zone_t *zone, ctl_args_t *args,\n
      \                       bool need_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/ctl/commands.c:1461,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/ctl/commands.c:1462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1465
    functionName: zone_txn_set_l
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - zone_update_add
    linkageType: ''
    returnType: int
    signature: int zone_txn_set_l(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1469,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1473
    functionName: zone_txn_set
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_set(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/ctl/commands.c:1498,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/ctl/commands.c:1499,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/knot/ctl/commands.c:1512,1
    - Dst: zone_update_remove_rrset
      Src: /src/knot-dns/src/knot/ctl/commands.c:1517,1
    - Dst: zone_update_remove_node
      Src: /src/knot-dns/src/knot/ctl/commands.c:1520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1523
    functionName: zone_txn_unset_l
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_rrtype_from_string
    - zone_update_remove_rrset
    - zone_update_remove_node
    - zone_update_remove
    linkageType: ''
    returnType: int
    signature: int zone_txn_unset_l(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1527,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1531
    functionName: zone_txn_unset
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int zone_txn_unset(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1535,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1536,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/ctl/commands.c:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - data
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1541
    functionName: zone_exists
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_zonedb_find
    linkageType: ''
    returnType: bool
    signature: bool zone_exists(const knot_dname_t *zone, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1545,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1546,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/ctl/commands.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - data
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1551
    functionName: zone_names_distinct
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool zone_names_distinct(const knot_dname_t *zone, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_exists
      Src: /src/knot-dns/src/knot/ctl/commands.c:1557,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/src/knot/ctl/commands.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - for_zone
    - ctx
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1553
    functionDepth: 7
    functionLinenumber: 1553
    functionLinenumberEnd: 1561
    functionName: drop_journal_if_orphan
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - journal_scrape_with_md
    - zone_exists
    linkageType: ''
    returnType: int
    signature: int drop_journal_if_orphan(const knot_dname_t *for_zone, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_exists
      Src: /src/knot-dns/src/knot/ctl/commands.c:1567,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/ctl/commands.c:1573,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1585,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/ctl/commands.c:1586,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/ctl/commands.c:1591,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:1604,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1606,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1607,1
    - Dst: catalog_del
      Src: /src/knot-dns/src/knot/ctl/commands.c:1612,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1614,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - member
    - owner
    - catz
    - group
    - ctx
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1619
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 1619
    functionName: purge_orphan_member_cb
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - calloc
    - knot_strerror
    - free
    - knot_dname_to_str
    - log_zone_error
    - knot_zonedb_find
    - catalog_del
    - log_zone_info
    - zone_exists
    linkageType: ''
    returnType: int
    signature: "int purge_orphan_member_cb(const knot_dname_t *member, const knot_dname_t
      *owner,\n                                  const knot_dname_t *catz, const char
      *group, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1627,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1631,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1632,1
    - Dst: catalog_commit
      Src: /src/knot-dns/src/knot/ctl/commands.c:1634,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/ctl/commands.c:1635,1
    - Dst: catalog_commit_cleanup
      Src: /src/knot-dns/src/knot/ctl/commands.c:1636,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1638,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1639,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1642,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1647
    functionName: catalog_orphans_sweep
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - catalog_apply
    - catalog_commit_cleanup
    - knot_strerror
    - catalog_commit
    - synchronize_rcu
    - log_error
    linkageType: ''
    returnType: int
    signature: int catalog_orphans_sweep(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1666,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1668,1
    - Dst: free
      Src: /src/knot-dns/src/knot/ctl/commands.c:1670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - zone_name
    - err
    - db_type
    - failed
    argTypes:
    - knot_dname_t*
    - int
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1671
    functionName: log_if_orphans_error
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_error
    - log_zone_error
    - free
    linkageType: ''
    returnType: void
    signature: "void log_if_orphans_error(knot_dname_t *zone_name, int err, char *db_type,\n
      \                                bool *failed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1675,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1682,1
    - Dst: kasp_db_sweep
      Src: /src/knot-dns/src/knot/ctl/commands.c:1683,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1685,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1689,1
    - Dst: journals_walk
      Src: /src/knot-dns/src/knot/ctl/commands.c:1690,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1692,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1696,1
    - Dst: zone_timers_sweep
      Src: /src/knot-dns/src/knot/ctl/commands.c:1697,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1699,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1703,1
    - Dst: catalog_orphans_sweep
      Src: /src/knot-dns/src/knot/ctl/commands.c:1704,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1705,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1709,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1709,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1715,1
    - Dst: log_ctl_zone_str_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1718,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1720,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1721,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1721,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/knot/ctl/commands.c:1724,1
    - Dst: zone_exists
      Src: /src/knot-dns/src/knot/ctl/commands.c:1726,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1728,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/ctl/commands.c:1729,1
    - Dst: kasp_db_delete_all
      Src: /src/knot-dns/src/knot/ctl/commands.c:1730,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1731,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1736,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/src/knot/ctl/commands.c:1738,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1739,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1743,1
    - Dst: zone_timers_sweep
      Src: /src/knot-dns/src/knot/ctl/commands.c:1744,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1746,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1750,1
    - Dst: catalog_zone_purge
      Src: /src/knot-dns/src/knot/ctl/commands.c:1751,1
    - Dst: log_if_orphans_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1752,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1756,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1756,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/knot/ctl/commands.c:1762,1
    - Dst: strtolower
      Src: /src/knot-dns/src/knot/ctl/commands.c:1766,1
    - Dst: log_ctl_zone_str_info
      Src: /src/knot-dns/src/knot/ctl/commands.c:1769,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1673
    functionDepth: 7
    functionLinenumber: 1673
    functionLinenumberEnd: 1776
    functionName: orphans_purge
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - log_ctl_zone_str_info
    - journals_walk
    - knot_dname_from_str
    - kasp_db_sweep
    - log_ctl_zone_str_error
    - log_if_orphans_error
    - knot_dname_to_lower
    - knot_ctl_receive
    - knot_strerror
    - zone_exists
    - catalog_zone_purge
    - assert
    - ctl_send_error
    - kasp_db_delete_all
    - catalog_orphans_sweep
    - journal_scrape_with_md
    - zone_timers_sweep
    - MATCH_AND_FILTER
    - strtolower
    - knot_lmdb_open
    linkageType: ''
    returnType: int
    signature: int orphans_purge(ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1780,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1784,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1786,1
    - Dst: zone_events_schedule_blocking
      Src: /src/knot-dns/src/knot/ctl/commands.c:1792,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1796,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1797,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1798,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1799,1
    - Dst: MATCH_OR_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1800,1
    - Dst: selective_zone_purge
      Src: /src/knot-dns/src/knot/ctl/commands.c:1804,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1805
    functionName: zone_purge
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 2
    functionsReached:
    - knot_strerror
    - log_zone_error
    - zone_events_schedule_blocking
    - conf
    - selective_zone_purge
    - MATCH_OR_FILTER
    linkageType: ''
    returnType: int
    signature: int zone_purge(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:1811,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/knot/ctl/commands.c:1817,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:1838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - params
    - ctx
    argTypes:
    - stats_dump_params_t*
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 1839
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1839
    functionName: ctl_dump_ctr
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - ctl_has_flag
    - strcasecmp
    - knot_ctl_send
    linkageType: ''
    returnType: int
    signature: int ctl_dump_ctr(stats_dump_params_t *params, stats_dump_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:1854,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:1854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - zone
    argTypes:
    - ctl_args_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1855
    functionName: common_stats
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - ctl_send_error
    linkageType: ''
    returnType: int
    signature: int common_stats(ctl_args_t *args, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common_stats
      Src: /src/knot-dns/src/knot/ctl/commands.c:1889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - args
    argTypes:
    - zone_t*
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1887
    functionDepth: 3
    functionLinenumber: 1887
    functionLinenumberEnd: 1890
    functionName: zone_stats
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - common_stats
    linkageType: ''
    returnType: int
    signature: int zone_stats(zone_t *zone, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1896,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1898,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1900,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1902,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1904,1
    - Dst: zones_apply_flush
      Src: /src/knot-dns/src/knot/ctl/commands.c:1906,1
    - Dst: zones_apply_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:1908,1
    - Dst: zones_apply_backup
      Src: /src/knot-dns/src/knot/ctl/commands.c:1910,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1912,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1914,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1916,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1918,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1920,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1922,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1924,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1926,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1928,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1930,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1932,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1934,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1936,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1938,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1940,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1942,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1944,1
    - Dst: MATCH_AND_FILTER
      Src: /src/knot-dns/src/knot/ctl/commands.c:1946,1
    - Dst: orphans_purge
      Src: /src/knot-dns/src/knot/ctl/commands.c:1947,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1949,1
    - Dst: zones_apply
      Src: /src/knot-dns/src/knot/ctl/commands.c:1952,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:1954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 64
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 1957
      start: 1892
    functionDepth: 8
    functionLinenumber: 1892
    functionLinenumberEnd: 1957
    functionName: ctl_zone
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - zones_apply_flush
    - zones_apply_backup
    - MATCH_AND_FILTER
    - orphans_purge
    - zones_apply
    linkageType: ''
    returnType: int
    signature: int ctl_zone(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - exists
    argTypes:
    - zone_t*
    - knot_dname_t**
    constantsTouched: []
    func_position:
      end: 1964
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1964
    functionName: check_zone_txn
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_zone_txn(zone_t *zone, const knot_dname_t **exists)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/ctl/commands.c:1969,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:1972,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/ctl/commands.c:1973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - server
    - action
    argTypes:
    - server_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 1978
    functionName: check_no_zone_txn
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_dname_to_str
    - log_warning
    - knot_zonedb_foreach
    linkageType: ''
    returnType: int
    signature: int check_no_zone_txn(server_t *server, const char *action)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/knot/ctl/commands.c:1984,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:1991,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1992,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:1993,1
    - Dst: worker_pool_status
      Src: /src/knot-dns/src/knot/ctl/commands.c:1995,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1996,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1998,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1998,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1999,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/ctl/commands.c:1999,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:2001,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:2002,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:2003,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:2007,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/ctl/commands.c:2009,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2020,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - args
    argTypes:
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 2021
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 2021
    functionName: server_status
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - strlen
    - conf
    - snprintf
    - knot_ctl_send
    - strcasecmp
    - worker_pool_status
    linkageType: ''
    returnType: int
    signature: int server_status(ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_status
      Src: /src/knot-dns/src/knot/ctl/commands.c:2029,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2031,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2031,1
    - Dst: check_no_zone_txn
      Src: /src/knot-dns/src/knot/ctl/commands.c:2038,1
    - Dst: server_reload
      Src: /src/knot-dns/src/knot/ctl/commands.c:2040,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2043,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2043,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2052
      start: 2023
    functionDepth: 2
    functionLinenumber: 2023
    functionLinenumberEnd: 2052
    functionName: ctl_server
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - ctl_send_error
    - check_no_zone_txn
    - assert
    - knot_strerror
    - server_status
    - server_reload
    linkageType: ''
    returnType: int
    signature: int ctl_server(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common_stats
      Src: /src/knot-dns/src/knot/ctl/commands.c:2056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - ctl_cmd_t
    argTypes:
    - ctl_args_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 2057
      start: 2054
    functionDepth: 3
    functionLinenumber: 2054
    functionLinenumberEnd: 2057
    functionName: ctl_stats
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - common_stats
    linkageType: ''
    returnType: int
    signature: int ctl_stats(ctl_args_t *args, _unused_ ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2064,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2078,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/ctl/commands.c:2083,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2094,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/ctl/commands.c:2099,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/ctl/commands.c:2104,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - io
    - data
    argTypes:
    - conf_io_t*
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 2113
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2113
    functionName: send_block_data
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_ctl_send
    - conf_val_next
    - assert
    - conf_val
    linkageType: ''
    returnType: int
    signature: int send_block_data(conf_io_t *io, knot_ctl_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2122,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2161,1
    - Dst: send_block_data
      Src: /src/knot-dns/src/knot/ctl/commands.c:2163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 2165
      start: 2115
    functionDepth: 2
    functionLinenumber: 2115
    functionLinenumberEnd: 2165
    functionName: send_block
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - send_block_data
    - knot_ctl_send
    linkageType: ''
    returnType: int
    signature: int send_block(conf_io_t *io)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_no_zone_txn
      Src: /src/knot-dns/src/knot/ctl/commands.c:2178,1
    - Dst: conf_io_begin
      Src: /src/knot-dns/src/knot/ctl/commands.c:2180,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/src/knot/ctl/commands.c:2184,1
    - Dst: conf_io_check
      Src: /src/knot-dns/src/knot/ctl/commands.c:2188,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/src/knot/ctl/commands.c:2198,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/src/knot/ctl/commands.c:2200,1
    - Dst: server_reload
      Src: /src/knot-dns/src/knot/ctl/commands.c:2204,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2207,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2212,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2216
      start: 2167
    functionDepth: 2
    functionLinenumber: 2167
    functionLinenumberEnd: 2216
    functionName: ctl_conf_txn
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - check_no_zone_txn
    - ctl_send_error
    - conf_io_check
    - knot_strerror
    - conf_io_begin
    - conf_io_abort
    - server_reload
    - conf_io_commit
    linkageType: ''
    returnType: int
    signature: int ctl_conf_txn(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/ctl/commands.c:2221,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/knot/ctl/commands.c:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - ctl
    argTypes:
    - zone_t*
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 2229
      start: 2218
    functionDepth: 1
    functionLinenumber: 2218
    functionLinenumberEnd: 2229
    functionName: list_zone
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - knot_ctl_send
    - knot_dname_to_str
    linkageType: ''
    returnType: void
    signature: void list_zone(zone_t *zone, knot_ctl_t *ctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2233,1
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/ctl/commands.c:2235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zonedb
    - ctl
    argTypes:
    - knot_zonedb_t*
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2238
    functionName: list_zones
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_zonedb_foreach
    linkageType: ''
    returnType: int
    signature: int list_zones(knot_zonedb_t *zonedb, knot_ctl_t *ctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_zones
      Src: /src/knot-dns/src/knot/ctl/commands.c:2260,1
    - Dst: conf_io_list
      Src: /src/knot-dns/src/knot/ctl/commands.c:2262,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2265,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2265,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/knot/ctl/commands.c:2270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2277
      start: 2240
    functionDepth: 2
    functionLinenumber: 2240
    functionLinenumberEnd: 2277
    functionName: ctl_conf_list
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - ctl_send_error
    - knot_strerror
    - conf_io_list
    - list_zones
    - knot_ctl_receive
    linkageType: ''
    returnType: int
    signature: int ctl_conf_list(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_log_conf_data
      Src: /src/knot-dns/src/knot/ctl/commands.c:2293,1
    - Dst: conf_io_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:2297,1
    - Dst: conf_io_diff
      Src: /src/knot-dns/src/knot/ctl/commands.c:2300,1
    - Dst: conf_io_get
      Src: /src/knot-dns/src/knot/ctl/commands.c:2303,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2306,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2310,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2310,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/knot/ctl/commands.c:2315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2322
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2322
    functionName: ctl_conf_read
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - ctl_log_conf_data
    - ctl_send_error
    - assert
    - conf_io_get
    - knot_strerror
    - conf_io_diff
    - knot_ctl_receive
    linkageType: ''
    returnType: int
    signature: int ctl_conf_read(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2329,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2329,1
    - Dst: ctl_log_conf_data
      Src: /src/knot-dns/src/knot/ctl/commands.c:2339,1
    - Dst: conf_io_set
      Src: /src/knot-dns/src/knot/ctl/commands.c:2343,1
    - Dst: conf_io_unset
      Src: /src/knot-dns/src/knot/ctl/commands.c:2346,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2349,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2353,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2353,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/knot/ctl/commands.c:2358,1
    - Dst: conf_io_commit
      Src: /src/knot-dns/src/knot/ctl/commands.c:2366,1
    - Dst: ctl_send_error
      Src: /src/knot-dns/src/knot/ctl/commands.c:2368,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/ctl/commands.c:2368,1
    - Dst: conf_io_abort
      Src: /src/knot-dns/src/knot/ctl/commands.c:2371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - args
    - cmd
    argTypes:
    - ctl_args_t*
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2375
      start: 2324
    functionDepth: 2
    functionLinenumber: 2324
    functionLinenumberEnd: 2375
    functionName: ctl_conf_modify
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - ctl_log_conf_data
    - ctl_send_error
    - assert
    - conf_io_set
    - knot_strerror
    - conf_io_abort
    - conf_io_unset
    - conf_io_commit
    - knot_ctl_receive
    linkageType: ''
    returnType: int
    signature: int ctl_conf_modify(ctl_args_t *args, ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - ctl_cmd_t
    constantsTouched: []
    func_position:
      end: 2446
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2446
    functionName: ctl_cmd_to_str
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ctl_cmd_to_str(ctl_cmd_t cmd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/ctl/commands.c:2455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cmd_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2461
    functionName: ctl_str_to_cmd
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ctl_cmd_t
    signature: ctl_cmd_t ctl_str_to_cmd(const char *cmd_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/ctl/commands.c:2474,1
    - Dst: pthread_rwlock_timedwrlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2476,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2478,1
    - Dst: pthread_rwlock_timedrdlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2483,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - server
    - flags
    - timeout_ms
    argTypes:
    - server_t*
    - ctl_lock_flag_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2489
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2489
    functionName: ctl_lock
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_rwlock_timedwrlock
    - pthread_rwlock_wrlock
    - pthread_rwlock_timedrdlock
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: int ctl_lock(server_t *server, ctl_lock_flag_t flags, uint64_t timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2494
    functionName: ctl_unlock
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ctl_unlock(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcn
      Src: /src/knot-dns/src/knot/ctl/commands.c:2504,1
    - Dst: ctl_unlock
      Src: /src/knot-dns/src/knot/ctl/commands.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cmd
    - args
    argTypes:
    - ctl_cmd_t
    - ctl_args_t*
    constantsTouched: []
    func_position:
      end: 2509
      start: 2496
    functionDepth: 2
    functionLinenumber: 2496
    functionLinenumberEnd: 2509
    functionName: ctl_exec
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 1
    functionsReached:
    - ctl_unlock
    - fcn
    linkageType: ''
    returnType: int
    signature: int ctl_exec(ctl_cmd_t cmd, ctl_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/knot-dns/src/knot/ctl/commands.c:2517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - flags
    - flag
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2518
      start: 2511
    functionDepth: 1
    functionLinenumber: 2511
    functionLinenumberEnd: 2518
    functionName: ctl_has_flag
    functionSourceFile: /src/knot-dns/src/knot/ctl/commands.c
    functionUses: 5
    functionsReached:
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool ctl_has_flag(const char *flags, const char *flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/replan.c:28,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/events/replan.c:29,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/events/replan.c:33,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/replan.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - old_zone
    argTypes:
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: replan_ddns
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - zone_events_schedule_now
    - ptrlist_free
    - ptrlist_add
    linkageType: ''
    returnType: void
    signature: void replan_ddns(zone_t *zone, zone_t *old_zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:45,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:46,1
    - Dst: replan_ddns
      Src: /src/knot-dns/src/knot/events/replan.c:48,1
    - Dst: zone_events_get_time
      Src: /src/knot-dns/src/knot/events/replan.c:61,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/replan.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - old_zone
    argTypes:
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: replan_from_zone
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - replan_ddns
    - assert
    - zone_events_schedule_at
    - zone_events_get_time
    linkageType: ''
    returnType: void
    signature: void replan_from_zone(zone_t *zone, zone_t *old_zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:75,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:76,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/replan.c:78,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/replan.c:79,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/replan.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: replan_dnssec
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - conf_bool
    - assert
    - conf_zone_get
    - zone_events_schedule_now
    linkageType: ''
    returnType: void
    signature: void replan_dnssec(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:89,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:90,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/replan.c:92,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/events/replan.c:95,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/replan.c:103,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/events/replan.c:108,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/events/replan.c:114,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/replan.c:115,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/replan.c:125,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/replan.c:126,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/replan.c:127,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/events/replan.c:128,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/replan.c:129,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/replan.c:130,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/events/replan.c:132,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/events/replan.c:132,1
    - Dst: kasp_db_load_nsec3salt
      Src: /src/knot-dns/src/knot/events/replan.c:133,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/events/replan.c:133,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/replan.c:138,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/replan.c:139,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/replan.c:140,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/replan.c:155,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 163
    functionName: replan_from_timers
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - zone_is_slave
    - conf_id_get
    - time
    - kasp_db_load_nsec3salt
    - conf_bool
    - conf_id_fix_default
    - conf_int
    - zone_events_schedule_at
    - knot_lmdb_open
    - zone_kaspdb
    linkageType: ''
    returnType: void
    signature: void replan_from_timers(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/replan.c:170,1
    - Dst: zone_events_enqueue
      Src: /src/knot-dns/src/knot/events/replan.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - gen_catalog
    argTypes:
    - zone_t*
    - bool
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: replan_load_new
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - zone_events_enqueue
    - zone_events_schedule_now
    linkageType: ''
    returnType: void
    signature: void replan_load_new(zone_t *zone, bool gen_catalog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/replan.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: replan_load_bootstrap
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - replan_from_timers
    linkageType: ''
    returnType: void
    signature: void replan_load_bootstrap(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: replan_from_zone
      Src: /src/knot-dns/src/knot/events/replan.c:185,1
    - Dst: zone_expired
      Src: /src/knot-dns/src/knot/events/replan.c:187,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/replan.c:188,1
    - Dst: replan_dnssec
      Src: /src/knot-dns/src/knot/events/replan.c:189,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/replan.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - zone
    - old_zone
    argTypes:
    - conf_t*
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: replan_load_current
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - zone_events_schedule_now
    - zone_expired
    - replan_from_zone
    - replan_dnssec
    - replan_from_timers
    linkageType: ''
    returnType: void
    signature: void replan_load_current(conf_t *conf, zone_t *zone, zone_t *old_zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_notifailed_clear
      Src: /src/knot-dns/src/knot/events/replan.c:197,1
    - Dst: replan_from_zone
      Src: /src/knot-dns/src/knot/events/replan.c:198,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/replan.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - old_zone
    argTypes:
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: replan_load_updated
    functionSourceFile: /src/knot-dns/src/knot/events/replan.c
    functionUses: 0
    functionsReached:
    - zone_notifailed_clear
    - replan_from_zone
    - zone_events_schedule_now
    linkageType: ''
    returnType: void
    signature: void replan_load_updated(zone_t *zone, zone_t *old_zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: get_event_info
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: event_info_t
    signature: event_info_t *get_event_info(zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: valid_event
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_event(zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: ufreeze_applies
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ufreeze_applies(zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/events/events.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - planned
    argTypes:
    - time_t
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: time_until
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: time_t
    signature: time_t time_until(time_t planned)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:92,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:93,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - events
    - type
    - time
    argTypes:
    - zone_events_t*
    - zone_event_type_t
    - time_t
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: event_set_time
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - assert
    - valid_event
    linkageType: ''
    returnType: void
    signature: void event_set_time(zone_events_t *events, zone_event_type_t type,
      time_t time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:103,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:104,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - events
    - type
    argTypes:
    - zone_events_t*
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: event_get_time
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - assert
    - valid_event
    linkageType: ''
    returnType: time_t
    signature: time_t event_get_time(zone_events_t *events, zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ufreeze_applies
      Src: /src/knot-dns/src/knot/events/events.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - events
    argTypes:
    - zone_events_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: get_next_event
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - ufreeze_applies
    linkageType: ''
    returnType: zone_event_type_t
    signature: zone_event_type_t get_next_event(zone_events_t *events)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_event
      Src: /src/knot-dns/src/knot/events/events.c:147,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:148,1
    - Dst: event_get_time
      Src: /src/knot-dns/src/knot/events/events.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - events
    argTypes:
    - zone_events_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: get_next_time
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - get_next_event
    - valid_event
    - event_get_time
    linkageType: ''
    returnType: time_t
    signature: time_t get_next_time(zone_events_t *events)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:158,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:161,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:162,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:167,1
    - Dst: get_next_event
      Src: /src/knot-dns/src/knot/events/events.c:171,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:172,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:173,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:174,1
    - Dst: time_until
      Src: /src/knot-dns/src/knot/events/events.c:178,1
    - Dst: event_get_time
      Src: /src/knot-dns/src/knot/events/events.c:178,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:180,1
    - Dst: evsched_schedule
      Src: /src/knot-dns/src/knot/events/events.c:182,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - events
    - mx_handover
    argTypes:
    - zone_events_t*
    - bool
    constantsTouched: []
    func_position:
      end: 185
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 185
    functionName: reschedule
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - assert
    - valid_event
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - evsched_schedule
    - event_get_time
    - get_next_event
    - time_until
    linkageType: ''
    returnType: void
    signature: void reschedule(zone_events_t *events, bool mx_handover)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:197,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:198,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:203,1
    - Dst: get_next_event
      Src: /src/knot-dns/src/knot/events/events.c:204,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:206,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:208,1
    - Dst: event_set_time
      Src: /src/knot-dns/src/knot/events/events.c:212,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:214,1
    - Dst: get_event_info
      Src: /src/knot-dns/src/knot/events/events.c:216,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/events/events.c:220,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/events/events.c:222,1
    - Dst: event_info_t*::callback
      Src: /src/knot-dns/src/knot/events/events.c:225,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/events/events.c:226,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/events.c:230,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/events.c:231,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:234,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:235,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/events/events.c:242,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/events/events.c:246,1
    - Dst: reschedule
      Src: /src/knot-dns/src/knot/events/events.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - task
    argTypes:
    - worker_task_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 250
    functionName: event_wrap
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - assert
    - rcu_read_unlock
    - valid_event
    - pthread_mutex_unlock
    - reschedule
    - pthread_mutex_lock
    - knot_strerror
    - log_zone_error
    - pthread_cond_broadcast
    - event_set_time
    - get_event_info
    - rcu_read_lock
    - event_info_t*::callback
    - get_next_event
    - conf_free
    linkageType: ''
    returnType: void
    signature: void event_wrap(worker_task_t *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:257,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/events.c:258,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:262,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/events.c:264,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/src/knot/events/events.c:265,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - event_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: event_dispatch
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - time
    - worker_pool_assign
    linkageType: ''
    returnType: void
    signature: void event_dispatch(event_t *event)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/events/events.c:278,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/events/events.c:279,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/events/events.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: zone_events_init
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_init
    - memset
    linkageType: ''
    returnType: int
    signature: int zone_events_init(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: evsched_event_create
      Src: /src/knot-dns/src/knot/events/events.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - zone
    - workers
    - scheduler
    argTypes:
    - struct zone*
    - worker_pool_t*
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: zone_events_setup
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - evsched_event_create
    linkageType: ''
    returnType: int
    signature: "int zone_events_setup(struct zone *zone, worker_pool_t *workers,\n
      \                     evsched_t *scheduler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:314,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:315,1
    - Dst: evsched_cancel
      Src: /src/knot-dns/src/knot/events/events.c:317,1
    - Dst: evsched_event_free
      Src: /src/knot-dns/src/knot/events/events.c:318,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:320,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/events/events.c:321,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:322,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/events/events.c:323,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/events/events.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: zone_events_deinit
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - evsched_event_free
    - pthread_mutex_destroy
    - memset
    - evsched_cancel
    linkageType: ''
    returnType: void
    signature: void zone_events_deinit(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/events/events.c:332,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:334,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:335,1
    - Dst: get_next_time
      Src: /src/knot-dns/src/knot/events/events.c:337,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:340,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/events/events.c:340,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/events/events.c:341,1
    - Dst: event_get_time
      Src: /src/knot-dns/src/knot/events/events.c:346,1
    - Dst: event_set_time
      Src: /src/knot-dns/src/knot/events/events.c:349,1
    - Dst: get_next_time
      Src: /src/knot-dns/src/knot/events/events.c:354,1
    - Dst: reschedule
      Src: /src/knot-dns/src/knot/events/events.c:356,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:358,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:359,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/events/events.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: _zone_events_schedule_at
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - valid_event
    - pthread_mutex_unlock
    - reschedule
    - pthread_mutex_lock
    - va_start
    - event_set_time
    - va_end
    - event_get_time
    - va_arg
    - get_next_time
    linkageType: ''
    returnType: void
    signature: void _zone_events_schedule_at(zone_t *zone, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:367,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:372,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:374,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/events.c:376,1
    - Dst: reschedule
      Src: /src/knot-dns/src/knot/events/events.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - zone_t*
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: zone_events_schedule_user
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - valid_event
    - zone_events_schedule_now
    - pthread_mutex_unlock
    - reschedule
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_events_schedule_user(zone_t *zone, zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:384,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/events/events.c:390,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:392,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/events/events.c:394,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:397,1
    - Dst: zone_events_schedule_user
      Src: /src/knot-dns/src/knot/events/events.c:400,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/events.c:402,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:405,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/events/events.c:407,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:410,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/events/events.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - zone
    - type
    - user
    argTypes:
    - zone_t*
    - zone_event_type_t
    - bool
    constantsTouched: []
    func_position:
      end: 414
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 414
    functionName: zone_events_schedule_blocking
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 2
    functionsReached:
    - pthread_cond_init
    - valid_event
    - pthread_mutex_unlock
    - zone_events_schedule_now
    - pthread_mutex_lock
    - zone_events_schedule_user
    - pthread_cond_wait
    - pthread_cond_destroy
    linkageType: ''
    returnType: int
    signature: int zone_events_schedule_blocking(zone_t *zone, zone_event_type_t type,
      bool user)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:418,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:424,1
    - Dst: ufreeze_applies
      Src: /src/knot-dns/src/knot/events/events.c:428,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/events.c:429,1
    - Dst: event_set_time
      Src: /src/knot-dns/src/knot/events/events.c:431,1
    - Dst: worker_pool_assign
      Src: /src/knot-dns/src/knot/events/events.c:432,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:433,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:437,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/events.c:440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - zone_t*
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: zone_events_enqueue
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - valid_event
    - pthread_mutex_unlock
    - zone_events_schedule_now
    - pthread_mutex_lock
    - ufreeze_applies
    - event_set_time
    - time
    - worker_pool_assign
    linkageType: ''
    returnType: void
    signature: void zone_events_enqueue(zone_t *zone, zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:452,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:453,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:455,1
    - Dst: evsched_cancel
      Src: /src/knot-dns/src/knot/events/events.c:458,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 460
    functionName: zone_events_freeze
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - evsched_cancel
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_events_freeze(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_events_freeze
      Src: /src/knot-dns/src/knot/events/events.c:468,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/events/events.c:474,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:475,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/events/events.c:478,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:481,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/events/events.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: zone_events_freeze_blocking
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - zone_events_freeze
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_wait
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void zone_events_freeze_blocking(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:494,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:495,1
    - Dst: reschedule
      Src: /src/knot-dns/src/knot/events/events.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: zone_events_start
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 0
    functionsReached:
    - reschedule
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_events_start(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:510,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:513,1
    - Dst: event_get_time
      Src: /src/knot-dns/src/knot/events/events.c:514,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - struct zone*
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 520
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 520
    functionName: zone_events_get_time
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 3
    functionsReached:
    - valid_event
    - event_get_time
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: time_t
    signature: time_t zone_events_get_time(const struct zone *zone, zone_event_type_t
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_event_info
      Src: /src/knot-dns/src/knot/events/events.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - zone_event_type_t
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: zone_events_get_name
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - get_event_info
    linkageType: ''
    returnType: char
    signature: char *zone_events_get_name(zone_event_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/events.c:542,1
    - Dst: get_next_event
      Src: /src/knot-dns/src/knot/events/events.c:545,1
    - Dst: valid_event
      Src: /src/knot-dns/src/knot/events/events.c:546,1
    - Dst: event_get_time
      Src: /src/knot-dns/src/knot/events/events.c:547,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/events.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - struct zone*
    - zone_event_type_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: zone_events_get_next
    functionSourceFile: /src/knot-dns/src/knot/events/events.c
    functionUses: 1
    functionsReached:
    - valid_event
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - event_get_time
    - get_next_event
    linkageType: ''
    returnType: time_t
    signature: time_t zone_events_get_next(const struct zone *zone, zone_event_type_t
      *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:21,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:22,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:24,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - refresh_at
    argTypes:
    - knot_dname_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: log_dnssec_next
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnssec.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - log_zone_info
    - strftime
    - log_zone_warning
    linkageType: ''
    returnType: void
    signature: void log_dnssec_next(const knot_dname_t *zone, knot_time_t refresh_at)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:33,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:37,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:38,1
    - Dst: log_dnssec_next
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:40,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:47,1
    - Dst: zone_schedule_notify
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - conf
    - zone
    - refresh
    - zone_changed
    argTypes:
    - conf_t*
    - zone_t*
    - zone_sign_reschedule_t*
    - bool
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: event_dnssec_reschedule
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnssec.c
    functionUses: 1
    functionsReached:
    - knot_time_min
    - log_dnssec_next
    - time
    - zone_events_schedule_at
    - zone_schedule_notify
    linkageType: ''
    returnType: void
    signature: "void event_dnssec_reschedule(conf_t *conf, zone_t *zone,\n\t\t\t     const
      zone_sign_reschedule_t *refresh, bool zone_changed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:59,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:66,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:67,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:71,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:75,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:78,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:88,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:93,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:95,1
    - Dst: event_dnssec_reschedule
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:102,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/dnssec.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: event_dnssec
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnssec.c
    functionUses: 0
    functionsReached:
    - zone_update_clear
    - assert
    - knot_dnssec_zone_sign
    - zone_update_no_change
    - zone_update_commit
    - log_zone_info
    - zone_get_flag
    - event_dnssec_reschedule
    linkageType: ''
    returnType: int
    signature: int event_dnssec(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:41,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:43,1
    - Dst: wire_ctx_printf
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:44,1
    - Dst: dnssec_keytag
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:60,1
    - Dst: wire_ctx_printf
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:63,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:67,1
    - Dst: wire_ctx_printf
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:70,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:76,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dnskey_sync_data*
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: log_upd
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - knot_rdataset_next
    - dnssec_keytag
    - log_zone_info
    - knot_rrtype_to_string
    - wire_ctx_printf
    linkageType: ''
    returnType: void
    signature: void log_upd(struct dnskey_sync_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keytag
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: dnskey_keytag
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - dnssec_keytag
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dnskey_keytag(knot_rdata_t *rd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:93,1
    - Dst: knot_rdataset_remove_at
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - rr
    - keytag_remain
    - keytag_modulo
    argTypes:
    - knot_rrset_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: filter_keytag
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_at
    - knot_rdataset_remove_at
    linkageType: ''
    returnType: void
    signature: void filter_keytag(knot_rrset_t *rr, uint32_t keytag_remain, uint32_t
      keytag_modulo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - idx
    argTypes:
    - struct dnskey_sync_data*
    - int*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: next_query
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int next_query(struct dnskey_sync_data *data, int *idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - layer
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: dnskey_sync_begin
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dnskey_sync_begin(knot_layer_t *layer, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:128,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:129,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:132,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - pkt
    argTypes:
    - struct dnskey_sync_data*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: query_put_ddns
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_pkt_put
    - knot_wire_set_opcode
    - knot_pkt_begin
    linkageType: ''
    returnType: int
    signature: int query_put_ddns(struct dnskey_sync_data *data, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:145,1
    - Dst: query_put_ddns
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:152,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:156,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:157,1
    - Dst: log_upd
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: dnskey_sync_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - log_upd
    - knot_strerror
    - DNSKEY_SYNC_LOG
    - query_init_pkt
    - query_put_ddns
    linkageType: ''
    returnType: int
    signature: int dnskey_sync_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:171,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:173,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:174,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:175,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:177,1
    - Dst: filter_keytag
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:183,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:188,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:191,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - data
    - idx
    argTypes:
    - struct dnskey_sync_data*
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: compute_rem_add
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - assert
    - knot_rrset_empty
    - knot_rrset_copy
    - knot_rrset_new
    - node_rrset
    - knot_rdataset_subtract
    - filter_keytag
    linkageType: ''
    returnType: int
    signature: int compute_rem_add(struct dnskey_sync_data *data, int idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_rem_add
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:206,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:208,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:208,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:217,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:223,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - layer_flags
    argTypes:
    - struct dnskey_sync_data*
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: queries_evaluate
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - compute_rem_add
    - knot_rrset_empty
    - DNSKEY_SYNC_LOG
    linkageType: ''
    returnType: int
    signature: int queries_evaluate(struct dnskey_sync_data *data, int layer_flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:237,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:241,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:242,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:248,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:250,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:251,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:253,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:254,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:259,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:261,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:262,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:263,1
    - Dst: filter_keytag
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 271
    functionName: dnskey_sync_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_lookup_by_id
    - knot_dname_is_case_equal
    - knot_pkt_qtype
    - knot_rrset_new
    - knot_rdataset_merge
    - DNSKEY_SYNC_LOG
    - filter_keytag
    - knot_pkt_section
    - knot_rrtype_to_string
    - knot_pkt_rr
    linkageType: ''
    returnType: int
    signature: int dnskey_sync_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: dnskey_sync_reset
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dnskey_sync_reset(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:283,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: dnskey_sync_finish
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    linkageType: ''
    returnType: int
    signature: int dnskey_sync_finish(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_edns_data_init
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:306,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:310,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:317,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:319,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:321,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:326,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:329,1
    - Dst: knot_requestor_exec
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:334,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:341,1
    - Dst: DNSKEY_SYNC_LOG
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:348,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:349,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:352,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 6
    argNames:
    - conf
    - zone
    - uptodate
    - remote
    - timeout
    - dnssec_policy
    argTypes:
    - conf_t*
    - zone_t*
    - bool*
    - conf_remote_t*
    - int
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 356
    functionName: send_dnskey_sync
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - conf_id_get
    - knot_strerror
    - knot_requestor_init
    - knot_request_make
    - DNSKEY_SYNC_LOG
    - knot_pkt_new
    - knot_requestor_clear
    - query_edns_data_init
    - knot_requestor_exec
    linkageType: ''
    returnType: int
    signature: "int send_dnskey_sync(conf_t *conf, zone_t *zone, bool *uptodate,\n
      \                           const conf_remote_t *remote, int timeout,\n                            conf_val_t
      *dnssec_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:360,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:362,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:368,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:369,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:370,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:374,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:378,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:380,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:384,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:392,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:396,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:398,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:398,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 403
    functionName: event_dnskey_sync
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/dnskey_sync.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - conf_id_get
    - conf_remote
    - time
    - conf_mix_iter_init
    - conf_mix_iter_next
    - conf_id_fix_default
    - conf_int
    - zone_events_schedule_at
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int event_dnskey_sync(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_parent_ds_query
      Src: /src/knot-dns/src/knot/events/handlers/ds_check.c:18,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/handlers/ds_check.c:26,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/ds_check.c:30,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/ds_check.c:32,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/events/handlers/ds_check.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 39
    functionName: event_ds_check
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_check.c
    functionUses: 0
    functionsReached:
    - knot_parent_ds_query
    - zone_events_schedule_now
    - time
    - kdnssec_ctx_deinit
    - zone_events_schedule_at
    linkageType: ''
    returnType: int
    signature: int event_ds_check(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/flush.c:14,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/flush.c:15,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/events/handlers/flush.c:17,1
    - Dst: zone_flush_journal
      Src: /src/knot-dns/src/knot/events/handlers/flush.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: event_flush
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/flush.c
    functionUses: 0
    functionsReached:
    - zone_flush_journal
    - assert
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int event_flush(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_load_can_bootstrap
      Src: /src/knot-dns/src/knot/events/handlers/load.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: dontcare_load_error
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/load.c
    functionUses: 0
    functionsReached:
    - zone_load_can_bootstrap
    linkageType: ''
    returnType: bool
    signature: bool dontcare_load_error(conf_t *conf, const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:32,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:34,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/events/handlers/load.c:36,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/events/handlers/load.c:39,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/events/handlers/load.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: allowed_xfr
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/load.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf_val_next
    - conf_opt
    - conf_id_get
    linkageType: ''
    returnType: bool
    signature: bool allowed_xfr(conf_t *conf, const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:53,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:56,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:60,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:68,1
    - Dst: zone_skip_from_conf
      Src: /src/knot-dns/src/knot/events/handlers/load.c:70,1
    - Dst: zone_load_from_journal
      Src: /src/knot-dns/src/knot/events/handlers/load.c:77,1
    - Dst: zone_journal_has_zij
      Src: /src/knot-dns/src/knot/events/handlers/load.c:89,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:92,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:96,1
    - Dst: zonefile_exists
      Src: /src/knot-dns/src/knot/events/handlers/load.c:104,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:106,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/events/handlers/load.c:107,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:109,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/handlers/load.c:110,1
    - Dst: zone_load_contents
      Src: /src/knot-dns/src/knot/events/handlers/load.c:117,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/load.c:120,1
    - Dst: dontcare_load_error
      Src: /src/knot-dns/src/knot/events/handlers/load.c:121,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:122,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/load.c:123,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/load.c:125,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/load.c:126,1
    - Dst: free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:128,1
    - Dst: free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:131,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:134,1
    - Dst: zones_reverse
      Src: /src/knot-dns/src/knot/events/handlers/load.c:140,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/events/handlers/load.c:143,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:144,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/load.c:147,1
    - Dst: zone_contents_set_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:156,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:157,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:161,1
    - Dst: zone_load_journal
      Src: /src/knot-dns/src/knot/events/handlers/load.c:167,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:169,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:171,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/load.c:172,1
    - Dst: serial_next
      Src: /src/knot-dns/src/knot/events/handlers/load.c:178,1
    - Dst: catalog_update_to_zone
      Src: /src/knot-dns/src/knot/events/handlers/load.c:179,1
    - Dst: zone_in_journal_store
      Src: /src/knot-dns/src/knot/events/handlers/load.c:189,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:191,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/load.c:192,1
    - Dst: zone_skip_add_dnssec_diff
      Src: /src/knot-dns/src/knot/events/handlers/load.c:199,1
    - Dst: zone_skip_add
      Src: /src/knot-dns/src/knot/events/handlers/load.c:202,1
    - Dst: zone_update_init
      Src: /src/knot-dns/src/knot/events/handlers/load.c:211,1
    - Dst: catalog_update_to_update
      Src: /src/knot-dns/src/knot/events/handlers/load.c:213,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/events/handlers/load.c:216,1
    - Dst: zone_update_init
      Src: /src/knot-dns/src/knot/events/handlers/load.c:222,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/knot/events/handlers/load.c:225,1
    - Dst: zone_update_from_differences
      Src: /src/knot-dns/src/knot/events/handlers/load.c:231,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/knot/events/handlers/load.c:237,1
    - Dst: zone_update_from_differences
      Src: /src/knot-dns/src/knot/events/handlers/load.c:240,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:243,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:247,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/knot/events/handlers/load.c:249,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/knot/events/handlers/load.c:258,1
    - Dst: zone_load_can_bootstrap
      Src: /src/knot-dns/src/knot/events/handlers/load.c:272,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:273,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:275,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:279,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/events/handlers/load.c:282,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:282,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:283,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:285,1
    - Dst: zone_update_verify_digest
      Src: /src/knot-dns/src/knot/events/handlers/load.c:298,1
    - Dst: zone_update_start_extra
      Src: /src/knot-dns/src/knot/events/handlers/load.c:307,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/knot/events/handlers/load.c:316,1
    - Dst: allowed_xfr
      Src: /src/knot-dns/src/knot/events/handlers/load.c:320,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/load.c:321,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/events/handlers/load.c:330,1
    - Dst: zone_contents_digest_exists
      Src: /src/knot-dns/src/knot/events/handlers/load.c:330,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/events/handlers/load.c:331,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/events/handlers/load.c:332,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/events/handlers/load.c:335,1
    - Dst: changeset_differs_just_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:345,1
    - Dst: changeset_clone
      Src: /src/knot-dns/src/knot/events/handlers/load.c:346,1
    - Dst: zone_update_apply_changeset_reverse
      Src: /src/knot-dns/src/knot/events/handlers/load.c:351,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:353,1
    - Dst: zone_contents_digest_exists
      Src: /src/knot-dns/src/knot/events/handlers/load.c:358,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/events/handlers/load.c:359,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:360,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:365,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:367,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:379,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/load.c:380,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/load.c:383,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/events/handlers/load.c:387,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/load.c:394,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/load.c:399,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/events/handlers/load.c:401,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/load.c:401,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/load.c:404,1
    - Dst: catalog_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/load.c:408,1
    - Dst: event_dnssec_reschedule
      Src: /src/knot-dns/src/knot/events/handlers/load.c:413,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/handlers/load.c:416,1
    - Dst: zone_timers_serial_notified
      Src: /src/knot-dns/src/knot/events/handlers/load.c:418,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/load.c:419,1
    - Dst: zone_schedule_notify
      Src: /src/knot-dns/src/knot/events/handlers/load.c:422,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:425,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/handlers/load.c:431,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/load.c:433,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:434,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:435,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/events/handlers/load.c:436,1
    - Dst: dontcare_load_error
      Src: /src/knot-dns/src/knot/events/handlers/load.c:438,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 283
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 439
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 439
    functionName: event_load
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/load.c
    functionUses: 0
    functionsReached:
    - zone_load_contents
    - zone_load_journal
    - zone_update_apply_changeset_reverse
    - zone_update_increment_soa
    - zone_update_from_contents
    - log_zone_error
    - zone_skip_from_conf
    - snprintf
    - time
    - zone_skip_free
    - zone_contents_serial
    - log_zone_info
    - conf_opt
    - zone_contents_deep_free
    - zone_update_verify_digest
    - catalog_update_clear
    - zone_contents_digest_exists
    - zone_skip_add_dnssec_diff
    - zone_update_to
    - changeset_differs_just_serial
    - zone_contents_set_soa_serial
    - zone_update_clear
    - changeset_clone
    - knot_strerror
    - free
    - zone_load_can_bootstrap
    - catalog_update_to_zone
    - zone_update_init
    - zone_update_add_digest
    - zone_update_commit
    - event_dnssec_reschedule
    - zone_schedule_notify
    - zone_skip_add
    - assert
    - allowed_xfr
    - zone_in_journal_store
    - zone_journal_has_zij
    - catalog_update_to_update
    - zone_update_start_extra
    - zone_update_from_differences
    - dontcare_load_error
    - zone_load_from_journal
    - serial_compare
    - conf_zone_get
    - serial_next
    - knot_dnssec_zone_sign
    - knot_dname_to_str
    - zone_update_no_change
    - changeset_free
    - MAX
    - zones_reverse
    - conf_bool
    - replan_from_timers
    - zone_timers_serial_notified
    - zonefile_exists
    - zone_update_apply_changeset
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int event_load(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - local_serial
    - remote_serial
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: serial_is_current
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - serial_compare
    linkageType: ''
    returnType: bool
    signature: bool serial_is_current(uint32_t local_serial, uint32_t remote_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: bootstrap_next
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - dnssec_random_uint16_t
    linkageType: ''
    returnType: time_t
    signature: time_t bootstrap_next(uint8_t *count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:163,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:164,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:166,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:172,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - conf
    - zone
    - timer
    - tm_name
    - low
    - upp
    argTypes:
    - conf_t*
    - knot_dname_t*
    - uint32_t*
    - char*
    - yp_name_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: limit_timer
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - log_zone_debug
    - conf_int
    linkageType: ''
    returnType: void
    signature: "void limit_timer(conf_t *conf, const knot_dname_t *zone, uint32_t
      *timer,\n                        const char *tm_name, const yp_name_t *low,
      const yp_name_t *upp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_opt_get_length
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:196,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:199,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pkt
    - strictly_follow
    argTypes:
    - struct refresh_data*
    - knot_pkt_t*
    - bool
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: consume_edns_expire
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - time
    - knot_edns_opt_get_length
    - MAX
    linkageType: ''
    returnType: void
    signature: void consume_edns_expire(struct refresh_data *data, knot_pkt_t *pkt,
      bool strictly_follow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:209,1
    - Dst: zone_soa_expire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:209,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:210,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:212,1
    - Dst: zone_soa
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:213,1
    - Dst: limit_timer
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:216,1
    - Dst: limit_timer
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:225,1
    - Dst: knot_soa_expire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - also_expire
    argTypes:
    - struct refresh_data*
    - bool
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: finalize_timers_base
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_soa_expire
    - limit_timer
    - time
    - MIN
    - knot_soa_expire
    - zone_soa
    linkageType: ''
    returnType: void
    signature: void finalize_timers_base(struct refresh_data *data, bool also_expire)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalize_timers_base
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: finalize_timers
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - finalize_timers_base
    linkageType: ''
    returnType: void
    signature: void finalize_timers(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finalize_timers_base
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: finalize_timers_noexpire
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - finalize_timers_base
    linkageType: ''
    returnType: void
    signature: void finalize_timers_noexpire(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:246,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - expires_in
    - size
    - data
    argTypes:
    - char*
    - size_t
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: fill_expires_in
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - assert
    - snprintf
    linkageType: ''
    returnType: void
    signature: void fill_expires_in(char *expires_in, size_t size, const struct refresh_data
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:260,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:265,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:270,1
    - Dst: fill_expires_in
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:275,1
    - Dst: REFRESH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - data
    - old_serial
    - new_serial
    - master_serial
    - has_master_serial
    - axfr_bootstrap
    argTypes:
    - struct refresh_data*
    - uint32_t
    - uint32_t
    - uint32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 280
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 280
    functionName: xfr_log_publish
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - REFRESH_LOG
    - time_now
    - snprintf
    - fill_expires_in
    linkageType: ''
    returnType: void
    signature: "void xfr_log_publish(const struct refresh_data *data,\n                            const
      uint32_t old_serial,\n                            const uint32_t new_serial,\n
      \                           const uint32_t master_serial,\n                            bool
      has_master_serial,\n                            bool axfr_bootstrap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:284,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - ret
    argTypes:
    - knot_dname_t*
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: xfr_log_read_ms
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - log_zone_error
    linkageType: ''
    returnType: void
    signature: void xfr_log_read_ms(const knot_dname_t *zone, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: axfr_init
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_contents_new
    linkageType: ''
    returnType: int
    signature: int axfr_init(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: axfr_cleanup
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_contents_deep_free
    linkageType: ''
    returnType: void
    signature: void axfr_cleanup(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:310,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:312,1
    - Dst: serial_next
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:319,1
    - Dst: zone_get_lastsigned_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:320,1
    - Dst: serial_next
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:322,1
    - Dst: serial_next
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:325,1
    - Dst: serial_next
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:328,1
    - Dst: zone_contents_set_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - new_contents
    - zone
    - conf
    - master_serial
    argTypes:
    - zone_contents_t*
    - zone_t*
    - conf_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 331
    functionName: axfr_slave_sign_serial
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_contents_set_soa_serial
    - conf_zone_get
    - serial_next
    - zone_contents_serial
    - zone_get_lastsigned_serial
    linkageType: ''
    returnType: void
    signature: "void axfr_slave_sign_serial(zone_contents_t *new_contents, zone_t
      *zone,\n                                   conf_t *conf, uint32_t *master_serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:337,1
    - Dst: axfr_slave_sign_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:345,1
    - Dst: zone_skip_add_dnssec_diff
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:346,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:347,1
    - Dst: zone_update_from_differences
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:353,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:355,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:357,1
    - Dst: zone_update_semcheck
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:365,1
    - Dst: zone_update_verify_digest
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:367,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:370,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:374,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:379,1
    - Dst: event_dnssec_reschedule
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:380,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:382,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:382,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:383,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:386,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:391,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:393,1
    - Dst: AXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:394,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:395,1
    - Dst: zone_set_master_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:401,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:403,1
    - Dst: finalize_timers
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:408,1
    - Dst: xfr_log_publish
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:409,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:409,1
    - Dst: zone_set_last_master
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:413,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 416
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 416
    functionName: axfr_finalize
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_update_semcheck
    - zone_set_master_serial
    - zone_update_from_contents
    - zone_skip_free
    - zone_set_last_master
    - zone_contents_serial
    - zone_update_verify_digest
    - zone_update_to
    - zone_skip_add_dnssec_diff
    - zone_update_clear
    - xfr_log_publish
    - knot_strerror
    - zone_update_add_digest
    - zone_update_commit
    - finalize_timers
    - event_dnssec_reschedule
    - assert
    - AXFRIN_LOG
    - zone_update_from_differences
    - conf_zone_get
    - knot_dnssec_zone_sign
    - axfr_slave_sign_serial
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int axfr_finalize(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:420,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:421,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:422,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:427,1
    - Dst: zcreator_step
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:431,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:436,1
    - Dst: AXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rr
    - data
    argTypes:
    - knot_rrset_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 445
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 445
    functionName: axfr_consume_rr
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - assert
    - zcreator_step
    - node_rrtype_exists
    - AXFRIN_LOG
    - knot_rrset_size
    linkageType: ''
    returnType: int
    signature: int axfr_consume_rr(const knot_rrset_t *rr, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:449,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:450,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:452,1
    - Dst: axfr_consume_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:455,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - knot_pkt_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: axfr_consume_packet
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_pkt_rr
    - assert
    - knot_pkt_section
    - axfr_consume_rr
    linkageType: ''
    returnType: int
    signature: int axfr_consume_packet(knot_pkt_t *pkt, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:462,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:463,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:466,1
    - Dst: AXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:467,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:469,1
    - Dst: axfr_init
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:476,1
    - Dst: AXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:478,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:480,1
    - Dst: AXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:485,1
    - Dst: xfr_stats_begin
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:486,1
    - Dst: axfr_consume_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:493,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:495,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:503,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:503,1
    - Dst: axfr_consume_packet
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:504,1
    - Dst: xfr_stats_end
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pkt
    - data
    - reuse_soa
    argTypes:
    - knot_pkt_t*
    - struct refresh_data*
    - bool
    constantsTouched: []
    func_position:
      end: 512
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 512
    functionName: axfr_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_pkt_ext_rcode_name
    - assert
    - knot_rrset_free
    - xfr_stats_add
    - axfr_init
    - knot_strerror
    - knot_pkt_ext_rcode
    - axfr_consume_packet
    - xfr_stats_begin
    - xfr_stats_end
    - axfr_consume_rr
    - AXFRIN_LOG
    - knot_rrset_size
    linkageType: ''
    returnType: int
    signature: int axfr_consume(knot_pkt_t *pkt, struct refresh_data *data, bool reuse_soa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:517,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:522,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 532
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 532
    functionName: ixfr_init
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - init_list
    - memset
    linkageType: ''
    returnType: int
    signature: int ixfr_init(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:541,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:543,1
    - Dst: changesets_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 547
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 547
    functionName: ixfr_cleanup
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - mm_free
    - changesets_free
    - knot_rrset_free
    linkageType: ''
    returnType: void
    signature: void ixfr_cleanup(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:553,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:559,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ch
    - conf
    - master_serial
    - local_serial
    argTypes:
    - changeset_t*
    - conf_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 566
    functionName: ixfr_serial_once
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - serial_compare
    - knot_soa_serial_set
    linkageType: ''
    returnType: bool
    signature: bool ixfr_serial_once(changeset_t *ch, conf_t *conf, uint32_t *master_serial,
      uint32_t *local_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_get_lastsigned_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:573,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:580,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:581,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:585,1
    - Dst: ixfr_serial_once
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - changesets
    - zone
    - conf
    - master_serial
    argTypes:
    - list_t*
    - zone_t*
    - conf_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 592
    functionName: ixfr_slave_sign_serial
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - knot_strerror
    - log_zone_error
    - ixfr_serial_once
    - zone_get_lastsigned_serial
    linkageType: ''
    returnType: int
    signature: "int ixfr_slave_sign_serial(list_t *changesets, zone_t *zone,\n                                  conf_t
      *conf, uint32_t *master_serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:596,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:603,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:605,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:612,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:613,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:624,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:625,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:629,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:630,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:632,1
    - Dst: zone_update_semcheck
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:637,1
    - Dst: zone_update_verify_digest
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:639,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:642,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:647,1
    - Dst: knot_dnssec_sign_update
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:651,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:653,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:654,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:657,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:661,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:667,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:669,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:670,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:671,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:675,1
    - Dst: zone_set_master_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:676,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:678,1
    - Dst: finalize_timers
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:683,1
    - Dst: xfr_log_publish
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:684,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:684,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:687,1
    - Dst: zone_set_last_master
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:689,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 693
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 693
    functionName: ixfr_finalize
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_update_semcheck
    - zone_set_master_serial
    - zone_update_increment_soa
    - zone_set_last_master
    - zone_contents_serial
    - zone_update_verify_digest
    - zone_update_to
    - zone_update_clear
    - xfr_log_publish
    - knot_strerror
    - IXFRIN_LOG
    - zone_update_add_digest
    - zone_update_commit
    - finalize_timers
    - WALK_LIST
    - knot_dnssec_sign_update
    - EMPTY_LIST
    - conf_zone_get
    - conf_bool
    - zone_update_apply_changeset
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int ixfr_finalize(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:698,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:704,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rr
    - data
    argTypes:
    - knot_rrset_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 713
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 713
    functionName: ixfr_solve_start
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_rrset_copy
    - assert
    - init_list
    linkageType: ''
    returnType: int
    signature: int ixfr_solve_start(const knot_rrset_t *rr, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_new
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:723,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:729,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:731,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rr
    - data
    argTypes:
    - knot_rrset_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 739
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 739
    functionName: ixfr_solve_soa_del
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_rrset_copy
    - changeset_free
    - changeset_new
    - add_tail
    linkageType: ''
    returnType: int
    signature: int ixfr_solve_soa_del(const knot_rrset_t *rr, struct refresh_data
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rr
    - change
    - mm
    argTypes:
    - knot_rrset_t*
    - changeset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 754
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 754
    functionName: ixfr_solve_soa_add
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_rrset_copy
    linkageType: ''
    returnType: int
    signature: int ixfr_solve_soa_add(const knot_rrset_t *rr, changeset_t *change,
      knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rr
    - change
    - mm
    argTypes:
    - knot_rrset_t*
    - changeset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: ixfr_solve_del
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - changeset_add_removal
    linkageType: ''
    returnType: int
    signature: int ixfr_solve_del(const knot_rrset_t *rr, changeset_t *change, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rr
    - change
    - mm
    argTypes:
    - knot_rrset_t*
    - changeset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: ixfr_solve_add
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - changeset_add_addition
    linkageType: ''
    returnType: int
    signature: int ixfr_solve_add(const knot_rrset_t *rr, changeset_t *change, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:775,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - struct refresh_data*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 805
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 805
    functionName: ixfr_next_state
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_equal
    linkageType: ''
    returnType: int
    signature: int ixfr_next_state(struct refresh_data *data, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ixfr_next_state
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:819,1
    - Dst: TAIL
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:820,1
    - Dst: ixfr_solve_start
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:824,1
    - Dst: ixfr_solve_soa_del
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:826,1
    - Dst: ixfr_solve_del
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:828,1
    - Dst: ixfr_solve_soa_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:830,1
    - Dst: ixfr_solve_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - rr
    - data
    argTypes:
    - knot_rrset_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 838
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 838
    functionName: ixfr_step
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - ixfr_solve_add
    - ixfr_solve_soa_del
    - ixfr_solve_soa_add
    - ixfr_next_state
    - ixfr_solve_start
    - TAIL
    - ixfr_solve_del
    linkageType: ''
    returnType: int
    signature: int ixfr_step(const knot_rrset_t *rr, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:842,1
    - Dst: ixfr_step
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:846,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:848,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:849,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:853,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rr
    - data
    argTypes:
    - knot_rrset_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 866
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 866
    functionName: ixfr_consume_rr
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - ixfr_step
    - IXFRIN_LOG
    - knot_dname_in_bailiwick
    - knot_rrset_size
    linkageType: ''
    returnType: int
    signature: int ixfr_consume_rr(const knot_rrset_t *rr, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:879,1
    - Dst: ixfr_consume_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:882,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - knot_pkt_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 885
      start: 876
    functionDepth: 4
    functionLinenumber: 876
    functionLinenumberEnd: 885
    functionName: ixfr_consume_packet
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - ixfr_consume_rr
    - knot_pkt_rr
    - knot_pkt_section
    linkageType: ''
    returnType: int
    signature: int ixfr_consume_packet(knot_pkt_t *pkt, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:894,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:897,1
    - Dst: serial_is_current
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:905,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:905,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:911,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - answer
    - zone_serial
    - initial_soa
    argTypes:
    - knot_pktsection_t*
    - uint32_t
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 919
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 919
    functionName: determine_xfr_type
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_soa_serial
    - knot_pkt_rr
    - serial_is_current
    - knot_rrset_equal
    linkageType: ''
    returnType: enum xfr_type
    signature: "enum xfr_type determine_xfr_type(const knot_pktsection_t *answer,\n
      \                                       uint32_t zone_serial, const knot_rrset_t
      *initial_soa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:923,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:924,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:927,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:928,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:930,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:937,1
    - Dst: slave_zone_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:940,1
    - Dst: xfr_log_read_ms
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:942,1
    - Dst: determine_xfr_type
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:947,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:951,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:957,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:964,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:964,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:969,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:969,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:972,1
    - Dst: axfr_consume
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:975,1
    - Dst: consume_edns_expire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:977,1
    - Dst: finalize_timers
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:978,1
    - Dst: fill_expires_in
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:980,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:981,1
    - Dst: xfr_stats_begin
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:983,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:984,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:984,1
    - Dst: xfr_stats_end
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:985,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:990,1
    - Dst: ixfr_init
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:995,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:997,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:998,1
    - Dst: IXFRIN_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1004,1
    - Dst: xfr_stats_begin
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1005,1
    - Dst: ixfr_consume_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1012,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1013,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1021,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1021,1
    - Dst: ixfr_consume_packet
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1022,1
    - Dst: xfr_stats_end
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - knot_pkt_t*
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 1030
      start: 921
    functionDepth: 5
    functionLinenumber: 921
    functionLinenumberEnd: 1030
    functionName: ixfr_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_rrset_copy
    - xfr_log_read_ms
    - xfr_stats_end
    - determine_xfr_type
    - ixfr_consume_rr
    - knot_pkt_ext_rcode_name
    - ixfr_consume_packet
    - slave_zone_serial
    - knot_strerror
    - IXFRIN_LOG
    - knot_pkt_section
    - axfr_consume
    - finalize_timers
    - assert
    - xfr_stats_add
    - ixfr_init
    - consume_edns_expire
    - knot_rrset_size
    - knot_pkt_ext_rcode
    - fill_expires_in
    - xfr_stats_begin
    - knot_pkt_rr
    linkageType: ''
    returnType: int
    signature: int ixfr_consume(knot_pkt_t *pkt, struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1036,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1045
    functionName: soa_query_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_pkt_put_question
    - query_init_pkt
    linkageType: ''
    returnType: int
    signature: int soa_query_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1061,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct refresh_data*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1073
    functionName: wait4pinned_master
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_events_schedule_at
    - time
    linkageType: ''
    returnType: bool
    signature: bool wait4pinned_master(struct refresh_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1079,1
    - Dst: REFRESH_LOG_PROTO
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1080,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1082,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1087,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1088,1
    - Dst: REFRESH_LOG_PROTO
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1090,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1091,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1092,1
    - Dst: slave_zone_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1103,1
    - Dst: xfr_log_read_ms
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1105,1
    - Dst: wait4pinned_master
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1114,1
    - Dst: REFRESH_LOG_PROTO
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1115,1
    - Dst: REFRESH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1120,1
    - Dst: consume_edns_expire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1125,1
    - Dst: finalize_timers
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1126,1
    - Dst: fill_expires_in
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1128,1
    - Dst: REFRESH_LOG_PROTO
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1129,1
    - Dst: finalize_timers_noexpire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1134,1
    - Dst: REFRESH_LOG_PROTO
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1075
    functionDepth: 4
    functionLinenumber: 1075
    functionLinenumberEnd: 1139
    functionName: soa_query_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - knot_pkt_ext_rcode_name
    - conf_zone_get
    - slave_zone_serial
    - REFRESH_LOG
    - wait4pinned_master
    - xfr_log_read_ms
    - knot_pkt_ext_rcode
    - fill_expires_in
    - consume_edns_expire
    - finalize_timers_noexpire
    - knot_pkt_section
    - conf_opt
    - finalize_timers
    - REFRESH_LOG_PROTO
    - knot_pkt_rr
    linkageType: ''
    returnType: int
    signature: int soa_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1145,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1149,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1156,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1157,1
    - Dst: slave_zone_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1159,1
    - Dst: xfr_log_read_ms
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1162,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1165,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1168,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1169,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1170,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1175
    functionName: transfer_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_free
    - slave_zone_serial
    - knot_pkt_put_question
    - knot_rrset_copy
    - xfr_log_read_ms
    - knot_pkt_begin
    - query_init_pkt
    - knot_pkt_put
    - knot_soa_serial_set
    linkageType: ''
    returnType: int
    signature: int transfer_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: consume_edns_expire
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1181,1
    - Dst: REFRESH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1183,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1199,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1202,1
    - Dst: slave_zone_serial
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1205,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1213,1
    - Dst: xfr_log_finished
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1215,1
    - Dst: flags2proto
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1220,1
    - Dst: tsig_unsigned_count
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1229,1
    - Dst: ixfr_finalize
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1237,1
    - Dst: axfr_finalize
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1177
    functionDepth: 5
    functionLinenumber: 1177
    functionLinenumberEnd: 1253
    functionName: transfer_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - ixfr_finalize
    - slave_zone_serial
    - REFRESH_LOG
    - snprintf
    - zone_contents_serial
    - consume_edns_expire
    - axfr_finalize
    - xfr_log_finished
    - knot_soa_serial
    - flags2proto
    - tsig_unsigned_count
    linkageType: ''
    returnType: int
    signature: int transfer_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - layer
    - _data
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1274
    functionName: refresh_begin
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - time_now
    linkageType: ''
    returnType: int
    signature: int refresh_begin(knot_layer_t *layer, void *_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: soa_query_produce
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1282,1
    - Dst: transfer_produce
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1276
    functionDepth: 3
    functionLinenumber: 1276
    functionLinenumberEnd: 1287
    functionName: refresh_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - transfer_produce
    - soa_query_produce
    linkageType: ''
    returnType: int
    signature: int refresh_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: soa_query_consume
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1297,1
    - Dst: transfer_consume
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1289
    functionDepth: 6
    functionLinenumber: 1289
    functionLinenumberEnd: 1302
    functionName: refresh_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - soa_query_consume
    - transfer_consume
    linkageType: ''
    returnType: int
    signature: int refresh_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1307
    functionName: refresh_reset
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int refresh_reset(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: axfr_cleanup
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1315,1
    - Dst: ixfr_cleanup
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1319
    functionName: refresh_finish
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - ixfr_cleanup
    - axfr_cleanup
    linkageType: ''
    returnType: int
    signature: int refresh_finish(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1331,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: max_zone_size
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf_int
    linkageType: ''
    returnType: size_t
    signature: size_t max_zone_size(conf_t *conf, const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1348,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1349,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1350,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1351,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1357,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1358,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1359,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1360,1
    - Dst: max_zone_size
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1371,1
    - Dst: query_edns_data_init
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1372,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1381,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1383,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1385,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1386,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1391,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1394,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1395,1
    - Dst: knot_requestor_exec
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1404,1
    - Dst: REFRESH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1408,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1409,1
    - Dst: ixfr_cleanup
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1410,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1417,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1418,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1419,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - conf
    - zone
    - master
    - ctx
    - fallback
    argTypes:
    - conf_t*
    - zone_t*
    - conf_remote_t*
    - void*
    - zone_master_fallback_t*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1343
    functionDepth: 6
    functionLinenumber: 1343
    functionLinenumberEnd: 1428
    functionName: try_refresh
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - ixfr_cleanup
    - knot_request_free
    - assert
    - rcu_read_unlock
    - knot_rrset_free
    - REFRESH_LOG
    - knot_strerror
    - knot_rrset_copy
    - query_edns_data_init
    - node_rrset
    - knot_requestor_init
    - rcu_read_lock
    - knot_request_make
    - knot_pkt_new
    - knot_requestor_clear
    - max_zone_size
    - knot_requestor_exec
    linkageType: ''
    returnType: int
    signature: "int try_refresh(conf_t *conf, zone_t *zone, const conf_remote_t *master,\n
      \                      void *ctx, zone_master_fallback_t *fallback)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1432,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1434,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1441,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1446,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1447,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1448,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1449,1
    - Dst: zone_clear_preferred_master
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1452,1
    - Dst: zone_soa
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1454,1
    - Dst: knot_soa_retry
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1458,1
    - Dst: bootstrap_next
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1460,1
    - Dst: limit_timer
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1463,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1465,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1471,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1472,1
    - Dst: fill_expires_in
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1480,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1483,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1484,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1490,1
    - Dst: zone_schedule_notify
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1492,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/events/handlers/refresh.c:1495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1499
    functionName: event_refresh
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/refresh.c
    functionUses: 0
    functionsReached:
    - zone_is_slave
    - log_zone_error
    - time
    - zone_soa
    - strftime
    - knot_strerror
    - limit_timer
    - knot_soa_retry
    - zone_schedule_notify
    - assert
    - bootstrap_next
    - zone_get_flag
    - conf_zone_get
    - zone_events_schedule_now
    - localtime_r
    - fill_expires_in
    - conf_bool
    - replan_from_timers
    - zone_clear_preferred_master
    linkageType: ''
    returnType: int
    signature: int event_refresh(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:13,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:15,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:17,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: event_ufreeze
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c
    functionUses: 0
    functionsReached:
    - assert
    - log_zone_info
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int event_ufreeze(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:26,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:28,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:30,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: event_uthaw
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/freeze_thaw.c
    functionUses: 0
    functionsReached:
    - assert
    - log_zone_info
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int event_uthaw(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/events/handlers/update.c:37,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/events/handlers/update.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - qdata
    - zone
    - req
    - params
    - extra
    argTypes:
    - knotd_qdata_t*
    - zone_t*
    - knot_request_t*
    - knotd_qdata_params_t*
    - knotd_qdata_extra_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: init_qdata_from_request
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void init_qdata_from_request(knotd_qdata_t *qdata,\n                                    zone_t
      *zone,\n                                    knot_request_t *req,\n                                    knotd_qdata_params_t
      *params,\n                                    knotd_qdata_extra_t *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ddnsq_alloc_reply
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ddnsq_alloc_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/events/handlers/update.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: ddnsq_send_reply
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int ddnsq_send_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ddnsq_free_reply
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ddnsq_free_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UPDATE_LOG
      Src: /src/knot-dns/src/knot/events/handlers/update.c:80,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/update.c:81,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:82,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:83,1
    - Dst: ddns_precheck_update
      Src: /src/knot-dns/src/knot/events/handlers/update.c:87,1
    - Dst: UPDATE_LOG
      Src: /src/knot-dns/src/knot/events/handlers/update.c:89,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/update.c:90,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:91,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - request
    - update
    - qdata
    argTypes:
    - knot_request_t*
    - zone_update_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: check_prereqs
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_strerror
    - knot_wire_set_rcode
    - ddns_precheck_update
    - UPDATE_LOG
    linkageType: ''
    returnType: int
    signature: "int check_prereqs(knot_request_t *request,\n                         zone_update_t
      *update,\n                         knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UPDATE_LOG
      Src: /src/knot-dns/src/knot/events/handlers/update.c:106,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/update.c:107,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:108,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - request
    - update
    - qdata
    argTypes:
    - knot_request_t*
    - zone_update_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: process_single_update
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - assert
    - knot_wire_set_rcode
    - UPDATE_LOG
    linkageType: ''
    returnType: int
    signature: "int process_single_update(knot_request_t *request,\n                                 zone_update_t
      *update,\n                                 knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/handlers/update.c:119,1
    - Dst: knot_wire_get_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:121,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - requests
    - rcode
    argTypes:
    - list_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: set_rcodes
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - knot_wire_set_rcode
    - knot_wire_get_rcode
    linkageType: ''
    returnType: void
    signature: void set_rcodes(list_t *requests, const uint16_t rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/handlers/update.c:131,1
    - Dst: flags2proto
      Src: /src/knot-dns/src/knot/events/handlers/update.c:135,1
    - Dst: init_qdata_from_request
      Src: /src/knot-dns/src/knot/events/handlers/update.c:140,1
    - Dst: process_single_update
      Src: /src/knot-dns/src/knot/events/handlers/update.c:148,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/update.c:150,1
    - Dst: list_size
      Src: /src/knot-dns/src/knot/events/handlers/update.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - zone
    - requests
    - up
    argTypes:
    - zone_t*
    - list_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 157
    functionName: process_bulk
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - process_single_update
    - init_qdata_from_request
    - log_zone_error
    - list_size
    - flags2proto
    linkageType: ''
    returnType: int
    signature: int process_bulk(zone_t *zone, list_t *requests, zone_update_t *up)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:161,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:169,1
    - Dst: process_bulk
      Src: /src/knot-dns/src/knot/events/handlers/update.c:174,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/events/handlers/update.c:175,1
    - Dst: zone_update_verify_digest
      Src: /src/knot-dns/src/knot/events/handlers/update.c:179,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/update.c:182,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:183,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:188,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:190,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/knot/events/handlers/update.c:196,1
    - Dst: event_dnssec_reschedule
      Src: /src/knot-dns/src/knot/events/handlers/update.c:197,1
    - Dst: knot_dnssec_sign_update
      Src: /src/knot-dns/src/knot/events/handlers/update.c:199,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/events/handlers/update.c:202,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/events/handlers/update.c:203,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/events/handlers/update.c:206,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/update.c:210,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:211,1
    - Dst: zone_update_commit
      Src: /src/knot-dns/src/knot/events/handlers/update.c:216,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/events/handlers/update.c:218,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:220,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - conf
    - zone
    - requests
    argTypes:
    - conf_t*
    - zone_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 228
    functionName: process_normal
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - zone_update_clear
    - assert
    - conf_zone_get
    - zone_update_increment_soa
    - knot_dnssec_zone_sign
    - knot_dnssec_sign_update
    - node_rrtype_exists
    - set_rcodes
    - zone_update_add_digest
    - zone_update_commit
    - process_bulk
    - zone_update_verify_digest
    - zone_update_to
    - event_dnssec_reschedule
    linkageType: ''
    returnType: int
    signature: int process_normal(conf_t *conf, zone_t *zone, list_t *requests)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:232,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:233,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/events/handlers/update.c:236,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/update.c:242,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/update.c:243,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/update.c:250,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/events/handlers/update.c:254,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/update.c:255,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/knot/events/handlers/update.c:257,1
    - Dst: zone_schedule_notify
      Src: /src/knot-dns/src/knot/events/handlers/update.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - conf
    - zone
    - requests
    argTypes:
    - conf_t*
    - zone_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: process_requests
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_strerror
    - log_zone_error
    - time_now
    - log_zone_info
    - time_diff_ms
    - zone_schedule_notify
    linkageType: ''
    returnType: void
    signature: void process_requests(conf_t *conf, zone_t *zone, list_t *requests)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/update.c:266,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:269,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/knot/events/handlers/update.c:272,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/events/handlers/update.c:272,1
    - Dst: query_capture_api
      Src: /src/knot-dns/src/knot/events/handlers/update.c:275,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/events/handlers/update.c:282,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:284,1
    - Dst: knot_tsig_append
      Src: /src/knot-dns/src/knot/events/handlers/update.c:292,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/events/handlers/update.c:295,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/update.c:298,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:299,1
    - Dst: knot_requestor_exec
      Src: /src/knot-dns/src/knot/events/handlers/update.c:305,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:307,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/update.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - conf
    - request
    - remote
    - zone
    argTypes:
    - conf_t*
    - knot_request_t*
    - conf_remote_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 311
    functionName: remote_forward
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_id
    - knot_request_free
    - dnssec_random_uint16_t
    - knot_requestor_init
    - knot_request_make
    - knot_pkt_new
    - knot_pkt_free
    - knot_tsig_append
    - query_capture_api
    - knot_requestor_clear
    - knot_requestor_exec
    linkageType: ''
    returnType: int
    signature: "int remote_forward(conf_t *conf, knot_request_t *request, conf_remote_t
      *remote,\n                          zone_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:318,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:322,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/events/handlers/update.c:323,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:328,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:330,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/events/handlers/update.c:335,1
    - Dst: remote_forward
      Src: /src/knot-dns/src/knot/events/handlers/update.c:337,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/knot/events/handlers/update.c:344,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/knot/events/handlers/update.c:344,1
    - Dst: knot_tsig_append
      Src: /src/knot-dns/src/knot/events/handlers/update.c:347,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/events/handlers/update.c:353,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/events/handlers/update.c:354,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/update.c:355,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/update.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - conf
    - zone
    - request
    argTypes:
    - conf_t*
    - zone_t*
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 359
    functionName: forward_request
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_id
    - assert
    - conf_zone_get
    - conf_id_get
    - knot_strerror
    - log_zone_error
    - remote_forward
    - conf_mix_iter_init
    - knot_wire_set_rcode
    - knot_tsig_append
    - log_zone_info
    - knot_wire_get_id
    - conf_remote
    linkageType: ''
    returnType: void
    signature: void forward_request(conf_t *conf, zone_t *zone, knot_request_t *request)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:363,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:364,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/events/handlers/update.c:367,1
    - Dst: forward_request
      Src: /src/knot-dns/src/knot/events/handlers/update.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - zone
    - requests
    argTypes:
    - conf_t*
    - zone_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 8
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: forward_requests
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - assert
    - forward_request
    linkageType: ''
    returnType: void
    signature: void forward_requests(conf_t *conf, zone_t *zone, list_t *requests)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_qdata_from_request
      Src: /src/knot-dns/src/knot/events/handlers/update.c:380,1
    - Dst: process_query_sign_response
      Src: /src/knot-dns/src/knot/events/handlers/update.c:381,1
    - Dst: net_is_stream
      Src: /src/knot-dns/src/knot/events/handlers/update.c:384,1
    - Dst: knot_tls_send
      Src: /src/knot-dns/src/knot/events/handlers/update.c:385,1
    - Dst: knot_tls_conn_block
      Src: /src/knot-dns/src/knot/events/handlers/update.c:387,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:391,1
    - Dst: net_is_stream
      Src: /src/knot-dns/src/knot/events/handlers/update.c:391,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/knot/events/handlers/update.c:408,1
    - Dst: knot_quic_conn_block
      Src: /src/knot-dns/src/knot/events/handlers/update.c:411,1
    - Dst: net_is_stream
      Src: /src/knot-dns/src/knot/events/handlers/update.c:417,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/src/knot/events/handlers/update.c:418,1
    - Dst: net_dgram_send
      Src: /src/knot-dns/src/knot/events/handlers/update.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - conf
    - zone
    - req
    argTypes:
    - conf_t*
    - zone_t*
    - knot_request_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 425
    functionName: send_update_response
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - assert
    - init_qdata_from_request
    - knot_quic_send
    - knot_quic_conn_block
    - process_query_sign_response
    - knot_tls_conn_block
    - knot_tls_send
    - net_dns_tcp_send
    - net_dgram_send
    - net_is_stream
    linkageType: ''
    returnType: void
    signature: void send_update_response(conf_t *conf, zone_t *zone, knot_request_t
      *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/events/handlers/update.c:430,1
    - Dst: send_update_response
      Src: /src/knot-dns/src/knot/events/handlers/update.c:432,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:433,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/events/handlers/update.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - zone
    - updates
    argTypes:
    - conf_t*
    - zone_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: send_update_responses
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - send_update_response
    - ptrlist_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void send_update_responses(conf_t *conf, zone_t *zone, list_t *updates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/events/handlers/update.c:441,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/update.c:443,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:448,1
    - Dst: knot_pkt_init_response
      Src: /src/knot-dns/src/knot/events/handlers/update.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - updates
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 453
    functionName: init_update_responses
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - knot_pkt_new
    - assert
    - knot_pkt_init_response
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: int
    signature: int init_update_responses(list_t *updates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:457,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:458,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/update.c:460,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/events/handlers/update.c:462,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/update.c:464,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/events/handlers/update.c:470,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/update.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - zone
    - updates
    argTypes:
    - zone_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 476
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 476
    functionName: update_dequeue
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - EMPTY_LIST
    - init_list
    linkageType: ''
    returnType: size_t
    signature: size_t update_dequeue(zone_t *zone, list_t *updates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/update.c:480,1
    - Dst: set_rcodes
      Src: /src/knot-dns/src/knot/events/handlers/update.c:493,1
    - Dst: send_update_responses
      Src: /src/knot-dns/src/knot/events/handlers/update.c:494,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/events/handlers/update.c:499,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/update.c:500,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/events/handlers/update.c:501,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/update.c:509,1
    - Dst: forward_requests
      Src: /src/knot-dns/src/knot/events/handlers/update.c:511,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/update.c:513,1
    - Dst: process_requests
      Src: /src/knot-dns/src/knot/events/handlers/update.c:515,1
    - Dst: send_update_responses
      Src: /src/knot-dns/src/knot/events/handlers/update.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 522
      start: 478
    functionDepth: 9
    functionLinenumber: 478
    functionLinenumberEnd: 522
    functionName: event_update
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/update.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - send_update_responses
    - zone_is_slave
    - set_rcodes
    - log_zone_info
    - conf_str
    - forward_requests
    - process_requests
    linkageType: ''
    returnType: int
    signature: int event_update(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:18,1
    - Dst: zone_switch_contents
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:20,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:21,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:23,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:25,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:26,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:27,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:29,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:30,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:31,1
    - Dst: zone_set_last_master
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:35,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:37,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/events/handlers/expire.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: event_expire
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/expire.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - knot_sem_post
    - time
    - zone_set_last_master
    - synchronize_rcu
    - replan_from_timers
    - zone_switch_contents
    - log_zone_info
    - zone_control_clear
    - knot_sem_wait
    - zone_contents_deep_free
    linkageType: ''
    returnType: int
    signature: int event_expire(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/events/handlers/validate.c:20,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/validate.c:25,1
    - Dst: knot_dnssec_validate_zone
      Src: /src/knot-dns/src/knot/events/handlers/validate.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: event_validate
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/validate.c
    functionUses: 0
    functionsReached:
    - log_zone_info
    - knot_time
    - knot_dnssec_validate_zone
    linkageType: ''
    returnType: int
    signature: int event_validate(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - layer
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ds_push_begin
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ds_push_begin(knot_layer_t *layer, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - pkt
    argTypes:
    - struct ds_push_data*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: parent_soa_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - knot_dname_next_label
    linkageType: ''
    returnType: int
    signature: int parent_soa_produce(struct ds_push_data *data, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:61,1
    - Dst: parent_soa_produce
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:64,1
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:67,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:73,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:75,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:76,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:81,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:82,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:82,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:83,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 92
    functionName: ds_push_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - assert
    - parent_soa_produce
    - knot_rrset_empty
    - knot_pkt_begin
    - knot_rdata_cmp
    - query_init_pkt
    - knot_wire_set_opcode
    - knot_pkt_put
    linkageType: ''
    returnType: int
    signature: int ds_push_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:96,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - sect
    argTypes:
    - knot_pkt_t*
    - knot_section_t
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: sect_soa
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - knot_pkt_rr
    - knot_pkt_section
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t *sect_soa(const knot_pkt_t *pkt, knot_section_t sect)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sect_soa
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:113,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:116,1
    - Dst: DS_PUSH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: ds_push_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - DS_PUSH_LOG
    - knot_dname_copy
    - sect_soa
    linkageType: ''
    returnType: int
    signature: int ds_push_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ds_push_reset
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ds_push_reset(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: ds_push_finish
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int ds_push_finish(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:155,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:156,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:160,1
    - Dst: query_edns_data_init
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:167,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:170,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:177,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:179,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:181,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:182,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:186,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:189,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:190,1
    - Dst: knot_requestor_exec
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:194,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:196,1
    - Dst: DS_PUSH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:197,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:199,1
    - Dst: DS_PUSH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:200,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:201,1
    - Dst: DS_PUSH_LOG
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:203,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:205,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:208,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:209,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - conf
    - zone
    - parent
    - timeout
    argTypes:
    - conf_t*
    - zone_t*
    - conf_remote_t*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 213
    functionName: send_ds_push
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - knot_request_free
    - knot_pkt_ext_rcode_name
    - knot_rrset_empty
    - knot_strerror
    - node_rrset
    - knot_requestor_init
    - knot_request_make
    - knot_pkt_ext_rcode
    - knot_pkt_new
    - knot_requestor_clear
    - DS_PUSH_LOG
    - knot_rrset_init
    - query_edns_data_init
    - knot_requestor_exec
    linkageType: ''
    returnType: int
    signature: "int send_ds_push(conf_t *conf, zone_t *zone,\n                        const
      conf_remote_t *parent, int timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:217,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:219,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:225,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:227,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:228,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:229,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:232,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:234,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:239,1
    - Dst: send_ds_push
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:240,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:248,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:249,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/events/handlers/ds_push.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 215
    functionDepth: 7
    functionLinenumber: 215
    functionLinenumberEnd: 257
    functionName: event_ds_push
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/ds_push.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - conf_id_get
    - conf_remote
    - send_ds_push
    - time
    - conf_mix_iter_init
    - conf_mix_iter_next
    - conf_id_fix_default
    - zone_events_schedule_at
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int event_ds_push(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:16,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:18,1
    - Dst: zone_switch_contents
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:34,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:35,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:36,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:37,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:38,1
    - Dst: zone_backup
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:42,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:44,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:48,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:49,1
    - Dst: zone_reset
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:53,1
    - Dst: zone_backup_deinit
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:57,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/events/handlers/backup.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 60
    functionName: event_backup
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/backup.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_sem_post
    - zone_backup
    - knot_strerror
    - zone_reset
    - synchronize_rcu
    - ATOMIC_GET
    - zone_switch_contents
    - log_zone_info
    - knot_sem_wait
    - zone_contents_deep_free
    - ATOMIC_SET
    - zone_backup_deinit
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int event_backup(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:22,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:23,1
    - Dst: SipHash24_End
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rmt_id
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: notifailed_hash
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached:
    - SipHash24_Update
    - SipHash24_Init
    - SipHash24_End
    linkageType: ''
    returnType: notifailed_rmt_hash
    signature: notifailed_rmt_hash notifailed_hash(conf_val_t *rmt_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - layer
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: notify_begin
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int notify_begin(knot_layer_t *layer, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:49,1
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:50,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:51,1
    - Dst: knot_pkt_put_question
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:52,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:56,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: notify_produce
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached:
    - knot_pkt_put_question
    - knot_pkt_begin
    - query_init_pkt
    - knot_wire_set_opcode
    - knot_pkt_put
    - knot_wire_set_aa
    linkageType: ''
    returnType: int
    signature: int notify_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: notify_consume
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int notify_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_edns_data_init
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:86,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:90,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:92,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:94,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:99,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:102,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:110,1
    - Dst: NOTIFY_OUT_LOG
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:111,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:113,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:114,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:115,1
    - Dst: NOTIFY_OUT_LOG
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:116,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:118,1
    - Dst: NOTIFY_OUT_LOG
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:120,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:123,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:126,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - conf
    - zone
    - soa
    - slave
    - timeout
    - retry
    argTypes:
    - conf_t*
    - zone_t*
    - knot_rrset_t*
    - conf_remote_t*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: send_notify
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - knot_pkt_ext_rcode_name
    - knot_strerror
    - knot_pkt_ext_rcode
    - knot_requestor_init
    - knot_request_make
    - knot_pkt_new
    - NOTIFY_OUT_LOG
    - knot_requestor_clear
    - knot_soa_serial
    - query_edns_data_init
    linkageType: ''
    returnType: int
    signature: "int send_notify(conf_t *conf, zone_t *zone, const knot_rrset_t *soa,\n
      \                      const conf_remote_t *slave, int timeout, bool retry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:134,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:138,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:144,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:145,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:146,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:147,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:153,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:157,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:159,1
    - Dst: notifailed_hash
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:161,1
    - Dst: notifailed_rmt_dynarray_bsearch
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:162,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:163,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:166,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:168,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:174,1
    - Dst: send_notify
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:175,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:181,1
    - Dst: notifailed_rmt_dynarray_add
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:185,1
    - Dst: notifailed_rmt_dynarray_remove
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:188,1
    - Dst: notifailed_rmt_dynarray_sort
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:189,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:192,1
    - Dst: notifailed_rmt_dynarray_sort_dedup
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:196,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:199,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:200,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:200,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:201,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:202,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:202,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:204,1
    - Dst: time
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:204,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:206,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/events/handlers/notify.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 210
    functionName: event_notify
    functionSourceFile: /src/knot-dns/src/knot/events/handlers/notify.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - pthread_mutex_unlock
    - knot_rrset_copy
    - notifailed_rmt_dynarray_sort
    - time
    - node_rrset
    - notifailed_rmt_dynarray_bsearch
    - notifailed_rmt_dynarray_add
    - zone_contents_is_empty
    - notifailed_hash
    - conf_id_get
    - send_notify
    - conf_mix_iter_next
    - MIN
    - notifailed_rmt_dynarray_remove
    - assert
    - rcu_read_unlock
    - pthread_mutex_lock
    - rcu_read_lock
    - notifailed_rmt_dynarray_sort_dedup
    - conf_zone_get
    - MAX
    - conf_mix_iter_init
    - conf_int
    - zone_events_schedule_at
    - conf_remote
    linkageType: ''
    returnType: int
    signature: int event_notify(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/worker/queue.c:15,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/worker/queue.c:17,1
    - Dst: mm_ctx_init
      Src: /src/knot-dns/src/knot/worker/queue.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - queue
    argTypes:
    - worker_queue_t*
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: worker_queue_init
    functionSourceFile: /src/knot-dns/src/knot/worker/queue.c
    functionUses: 1
    functionsReached:
    - mm_ctx_init
    - init_list
    - memset
    linkageType: ''
    returnType: void
    signature: void worker_queue_init(worker_queue_t *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/worker/queue.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - worker_queue_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: worker_queue_deinit
    functionSourceFile: /src/knot-dns/src/knot/worker/queue.c
    functionUses: 1
    functionsReached:
    - ptrlist_free
    linkageType: ''
    returnType: void
    signature: void worker_queue_deinit(worker_queue_t *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/worker/queue.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - task
    argTypes:
    - worker_queue_t*
    - worker_task_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: worker_queue_enqueue
    functionSourceFile: /src/knot-dns/src/knot/worker/queue.c
    functionUses: 1
    functionsReached:
    - ptrlist_add
    linkageType: ''
    returnType: void
    signature: void worker_queue_enqueue(worker_queue_t *queue, worker_task_t *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/worker/queue.c:43,1
    - Dst: HEAD
      Src: /src/knot-dns/src/knot/worker/queue.c:44,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/worker/queue.c:46,1
    - Dst: worker_queue_t*::mm_ctx::free
      Src: /src/knot-dns/src/knot/worker/queue.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - queue
    argTypes:
    - worker_queue_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: worker_queue_dequeue
    functionSourceFile: /src/knot-dns/src/knot/worker/queue.c
    functionUses: 1
    functionsReached:
    - worker_queue_t*::mm_ctx::free
    - HEAD
    - EMPTY_LIST
    - rem_node
    linkageType: ''
    returnType: worker_task_t
    signature: worker_task_t *worker_queue_dequeue(worker_queue_t *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/knot/worker/queue.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - worker_queue_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: worker_queue_length
    functionSourceFile: /src/knot-dns/src/knot/worker/queue.c
    functionUses: 0
    functionsReached:
    - list_size
    linkageType: ''
    returnType: size_t
    signature: size_t worker_queue_length(worker_queue_t *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/worker/pool.c:42,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:46,1
    - Dst: worker_queue_dequeue
      Src: /src/knot-dns/src/knot/worker/pool.c:55,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/worker/pool.c:59,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/worker/pool.c:63,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:66,1
    - Dst: worker_task_t*::run
      Src: /src/knot-dns/src/knot/worker/pool.c:67,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:68,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/worker/pool.c:71,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: worker_main
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - worker_queue_dequeue
    - pthread_cond_broadcast
    - pthread_cond_wait
    - worker_task_t*::run
    linkageType: ''
    returnType: int
    signature: int worker_main(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/worker/pool.c:83,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/worker/pool.c:88,1
    - Dst: dt_create
      Src: /src/knot-dns/src/knot/worker/pool.c:89,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/worker/pool.c:94,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/worker/pool.c:98,1
    - Dst: worker_queue_init
      Src: /src/knot-dns/src/knot/worker/pool.c:102,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/worker/pool.c:107,1
    - Dst: free
      Src: /src/knot-dns/src/knot/worker/pool.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - threads
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 110
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 110
    functionName: worker_pool_create
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 2
    functionsReached:
    - worker_queue_init
    - pthread_cond_init
    - dt_delete
    - dt_create
    - free
    - pthread_mutex_init
    - memset
    - malloc
    linkageType: ''
    returnType: worker_pool_t
    signature: worker_pool_t *worker_pool_create(unsigned threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/worker/pool.c:118,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/worker/pool.c:120,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/worker/pool.c:121,1
    - Dst: worker_queue_deinit
      Src: /src/knot-dns/src/knot/worker/pool.c:123,1
    - Dst: free
      Src: /src/knot-dns/src/knot/worker/pool.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: worker_pool_destroy
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 2
    functionsReached:
    - dt_delete
    - free
    - pthread_mutex_destroy
    - worker_queue_deinit
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void worker_pool_destroy(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_start
      Src: /src/knot-dns/src/knot/worker/pool.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: worker_pool_start
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - dt_start
    linkageType: ''
    returnType: void
    signature: void worker_pool_start(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:143,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/worker/pool.c:145,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:146,1
    - Dst: dt_stop
      Src: /src/knot-dns/src/knot/worker/pool.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: worker_pool_stop
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - pthread_cond_broadcast
    - dt_stop
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_stop(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:157,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: worker_pool_suspend
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_suspend(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:168,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/worker/pool.c:170,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: worker_pool_resume
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - pthread_cond_broadcast
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_resume(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_join
      Src: /src/knot-dns/src/knot/worker/pool.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: worker_pool_join
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - dt_join
    linkageType: ''
    returnType: void
    signature: void worker_pool_join(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:189,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/worker/pool.c:190,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/worker/pool.c:192,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/worker/pool.c:194,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pool
    - cb
    argTypes:
    - worker_pool_t*
    - wait_callback_t
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: worker_pool_wait_cb
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - EMPTY_LIST
    - pthread_cond_wait
    - cb
    linkageType: ''
    returnType: void
    signature: void worker_pool_wait_cb(worker_pool_t *pool, wait_callback_t cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: worker_pool_wait_cb
      Src: /src/knot-dns/src/knot/worker/pool.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: worker_pool_wait
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - worker_pool_wait_cb
    linkageType: ''
    returnType: void
    signature: void worker_pool_wait(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:210,1
    - Dst: worker_queue_enqueue
      Src: /src/knot-dns/src/knot/worker/pool.c:211,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/worker/pool.c:212,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pool
    - task
    argTypes:
    - worker_pool_t*
    - struct task*
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: worker_pool_assign
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 3
    functionsReached:
    - pthread_cond_signal
    - worker_queue_enqueue
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_assign(worker_pool_t *pool, struct task *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:222,1
    - Dst: worker_queue_deinit
      Src: /src/knot-dns/src/knot/worker/pool.c:223,1
    - Dst: worker_queue_init
      Src: /src/knot-dns/src/knot/worker/pool.c:224,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: worker_pool_clear
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - worker_queue_init
    - worker_queue_deinit
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_clear(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/worker/pool.c:236,1
    - Dst: worker_queue_length
      Src: /src/knot-dns/src/knot/worker/pool.c:239,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/worker/pool.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pool
    - locked
    - running
    - queued
    argTypes:
    - worker_pool_t*
    - bool
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: worker_pool_status
    functionSourceFile: /src/knot-dns/src/knot/worker/pool.c
    functionUses: 1
    functionsReached:
    - worker_queue_length
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void worker_pool_status(worker_pool_t *pool, bool locked, int *running,
      int *queued)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: empty_nonterminal
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty_nonterminal(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:26,1
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - node
    - qname
    argTypes:
    - zone_node_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: wildcard_expanded
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - knot_dname_is_wildcard
    linkageType: ''
    returnType: bool
    signature: bool wildcard_expanded(const zone_node_t *node, const knot_dname_t
      *qname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ds_optout
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - node_nsec3_get
    linkageType: ''
    returnType: bool
    signature: bool ds_optout(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty_nonterminal
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: node_in_nsec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - empty_nonterminal
    linkageType: ''
    returnType: bool
    signature: bool node_in_nsec(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ds_optout
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: node_in_nsec3
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - ds_optout
    linkageType: ''
    returnType: bool
    signature: bool node_in_nsec3(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:68,1
    - Dst: node_in_nsec
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:70,1
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:71,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - previous
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: nsec_previous
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - node_in_nsec
    - assert
    - node_prev
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *nsec_previous(const zone_node_t *previous)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:83,1
    - Dst: node_in_nsec3
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:85,1
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:86,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - closest
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: nsec3_encloser
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - assert
    - node_in_nsec3
    - node_parent
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *nsec3_encloser(const zone_node_t *closest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:112,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:114,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:118,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:118,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - closest_encloser
    - name
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: get_next_closer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_next_label
    - knot_dname_is_equal
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t *get_next_closer(const knot_dname_t *closest_encloser,\n
      \                                          const knot_dname_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:131,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:133,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:134,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:138,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - node
    - type
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - uint16_t
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: put_nxt_from_node
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - process_query_put_rr
    - assert
    - knot_rrset_empty
    - node_rrset
    linkageType: ''
    returnType: int
    signature: "int put_nxt_from_node(const zone_node_t *node,\n                             uint16_t
      type,\n                             knotd_qdata_t *qdata,\n                             knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nxt_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: put_nsec_from_node
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nxt_from_node
    linkageType: ''
    returnType: int
    signature: "int put_nsec_from_node(const zone_node_t *node,\n                              knotd_qdata_t
      *qdata,\n                              knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nxt_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: put_nsec3_from_node
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nxt_from_node
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_from_node(const zone_node_t *node,\n                               knotd_qdata_t
      *qdata,\n                               knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec_previous
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:187,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:189,1
    - Dst: put_nsec_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - zone
    - name
    - qdata
    - resp
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 194
    functionName: put_covering_nsec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - assert
    - nsec_previous
    - put_nsec_from_node
    linkageType: ''
    returnType: int
    signature: "int put_covering_nsec(const zone_contents_t *zone,\n                             const
      knot_dname_t *name,\n                             knotd_qdata_t *qdata,\n                             knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nsec3_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - zone
    - name
    - qdata
    - resp
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: put_covering_nsec3
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nsec3_from_node
    linkageType: ''
    returnType: int
    signature: "int put_covering_nsec3(const zone_contents_t *zone,\n                              const
      knot_dname_t *name,\n                              knotd_qdata_t *qdata,\n                              knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_closer
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:237,1
    - Dst: put_covering_nsec3
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cpe
    - qname
    - zone
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - knot_dname_t*
    - zone_contents_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: put_nsec3_next_closer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_covering_nsec3
    - get_next_closer
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_next_closer(const zone_node_t *cpe,\n                                 const
      knot_dname_t *qname,\n                                 const zone_contents_t
      *zone,\n                                 knotd_qdata_t *qdata,\n                                 knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nsec3_next_closer
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - qname
    - zone
    - cpe
    - qdata
    - resp
    argTypes:
    - knot_dname_t*
    - zone_contents_t*
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: put_closest_encloser_proof
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nsec3_next_closer
    linkageType: ''
    returnType: int
    signature: "int put_closest_encloser_proof(const knot_dname_t *qname,\n                                      const
      zone_contents_t *zone,\n                                      const zone_node_t
      *cpe,\n                                      knotd_qdata_t *qdata,\n                                      knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nsec_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - previous
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: put_nsec_wildcard
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nsec_from_node
    linkageType: ''
    returnType: int
    signature: "int put_nsec_wildcard(const zone_node_t *previous,\n                             knotd_qdata_t
      *qdata,\n                             knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec3_encloser
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:316,1
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:316,1
    - Dst: put_nsec3_next_closer
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wildcard
    - qname
    - zone
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - knot_dname_t*
    - zone_contents_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: put_nsec3_wildcard
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - nsec3_encloser
    - node_parent
    - put_nsec3_next_closer
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_wildcard(const zone_node_t *wildcard,\n                              const
      knot_dname_t *qname,\n                              const zone_contents_t *zone,\n
      \                             knotd_qdata_t *qdata,\n                              knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wildcard_expanded
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:333,1
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:339,1
    - Dst: put_nsec3_wildcard
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:340,1
    - Dst: nsec_previous
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:342,1
    - Dst: put_nsec_wildcard
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - wildcard
    - previous
    - zone
    - qname
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - zone_contents_t*
    - knot_dname_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: put_wildcard_answer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - nsec_previous
    - put_nsec_wildcard
    - put_nsec3_wildcard
    - wildcard_expanded
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int put_wildcard_answer(const zone_node_t *wildcard,\n                               const
      zone_node_t *previous,\n                               const zone_contents_t
      *zone,\n                               const knot_dname_t *qname,\n                               knotd_qdata_t
      *qdata,\n                               knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:371,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:372,1
    - Dst: nsec_previous
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:376,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:391,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:393,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:394,1
    - Dst: put_covering_nsec
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - zone
    - previous
    - closest
    - qdata
    - resp
    argTypes:
    - zone_contents_t*
    - zone_node_t*
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 397
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 397
    functionName: put_nsec_nxdomain
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - put_covering_nsec
    - assert
    - nsec_previous
    linkageType: ''
    returnType: int
    signature: "int put_nsec_nxdomain(const zone_contents_t *zone,\n                             const
      zone_node_t *previous,\n                             const zone_node_t *closest,\n
      \                            knotd_qdata_t *qdata,\n                             knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec3_encloser
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:422,1
    - Dst: zone_contents_find_nsec3
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:435,1
    - Dst: put_nsec3_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - qname
    - zone
    - closest
    - qdata
    - resp
    argTypes:
    - knot_dname_t*
    - zone_contents_t*
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 440
    functionName: put_nsec3_nxdomain
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - nsec3_encloser
    - zone_contents_find_nsec3
    - put_nsec3_from_node
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_nxdomain(const knot_dname_t *qname,\n                              const
      zone_contents_t *zone,\n                              const zone_node_t *closest,\n
      \                             knotd_qdata_t *qdata,\n                              knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:461,1
    - Dst: put_nsec3_nxdomain
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:462,1
    - Dst: put_nsec_nxdomain
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - zone
    - previous
    - closest
    - qname
    - qdata
    - resp
    argTypes:
    - zone_contents_t*
    - zone_node_t*
    - zone_node_t*
    - knot_dname_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: put_nxdomain
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nsec_nxdomain
    - put_nsec3_nxdomain
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int put_nxdomain(const zone_contents_t *zone,\n                        const
      zone_node_t *previous,\n                        const zone_node_t *closest,\n
      \                       const knot_dname_t *qname,\n                        knotd_qdata_t
      *qdata,\n                        knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty_nonterminal
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:490,1
    - Dst: put_nsec_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:491,1
    - Dst: nsec_previous
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:491,1
    - Dst: put_nsec_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - match
    - previous
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: put_nsec_nodata
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - empty_nonterminal
    - nsec_previous
    - put_nsec_from_node
    linkageType: ''
    returnType: int
    signature: "int put_nsec_nodata(const zone_node_t *match,\n                           const
      zone_node_t *previous,\n                           knotd_qdata_t *qdata,\n                           knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:520,1
    - Dst: put_nsec3_from_node
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:522,1
    - Dst: wildcard_expanded
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:530,1
    - Dst: ds_optout
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:530,1
    - Dst: nsec3_encloser
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:531,1
    - Dst: put_closest_encloser_proof
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - qname
    - zone
    - match
    - closest
    - qdata
    - resp
    argTypes:
    - knot_dname_t*
    - zone_contents_t*
    - zone_node_t*
    - zone_node_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: put_nsec3_nodata
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_closest_encloser_proof
    - nsec3_encloser
    - ds_optout
    - put_nsec3_from_node
    - node_nsec3_get
    - wildcard_expanded
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_nodata(const knot_dname_t *qname,\n                           const
      zone_contents_t *zone,\n                           const zone_node_t *match,\n
      \                          const zone_node_t *closest,\n                           knotd_qdata_t
      *qdata,\n                           knot_pkt_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:553,1
    - Dst: put_nsec3_nodata
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:554,1
    - Dst: put_nsec_nodata
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - node
    - closest
    - previous
    - zone
    - qname
    - qdata
    - resp
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - zone_node_t*
    - zone_contents_t*
    - knot_dname_t*
    - knotd_qdata_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 558
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 558
    functionName: put_nodata
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nsec3_nodata
    - put_nsec_nodata
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int put_nodata(const zone_node_t *node,\n                      const
      zone_node_t *closest,\n                      const zone_node_t *previous,\n
      \                     const zone_contents_t *zone,\n                      const
      knot_dname_t *qname,\n                      knotd_qdata_t *qdata,\n                      knot_pkt_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:569,1
    - Dst: put_wildcard_answer
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 7
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: nsec_prove_wildcards
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - put_wildcard_answer
    linkageType: ''
    returnType: int
    signature: int nsec_prove_wildcards(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nodata
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 8
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: nsec_prove_nodata
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nodata
    linkageType: ''
    returnType: int
    signature: int nsec_prove_nodata(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_nxdomain
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 6
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: nsec_prove_nxdomain
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - put_nxdomain
    linkageType: ''
    returnType: int
    signature: int nsec_prove_nxdomain(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:614,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:615,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:616,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:617,1
    - Dst: put_nodata
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 625
      start: 605
    functionDepth: 8
    functionLinenumber: 605
    functionLinenumberEnd: 625
    functionName: nsec_prove_dp_security
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - process_query_put_rr
    - put_nodata
    - knot_rrset_empty
    - node_rrset
    linkageType: ''
    returnType: int
    signature: int nsec_prove_dp_security(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:636,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:640,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:645,1
    - Dst: nsec_clear_rrsigs
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pkt
    - qdata
    - optional
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    - bool
    constantsTouched: []
    func_position:
      end: 652
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 652
    functionName: nsec_append_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - knot_pkt_put
    - knot_rdataset_init
    - nsec_clear_rrsigs
    linkageType: ''
    returnType: int
    signature: int nsec_append_rrsigs(knot_pkt_t *pkt, knotd_qdata_t *qdata, bool
      optional)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:661,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:663,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:666,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/nsec_proofs.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 668
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 668
    functionName: nsec_clear_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/nameserver/nsec_proofs.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - init_list
    - ptrlist_free
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void nsec_clear_rrsigs(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:39,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:40,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:41,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:43,1
    - Dst: IXFR_SAFE_PUT
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:44,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:45,1
    - Dst: journal_read_rrset
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:48,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:53,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:57,1
    - Dst: IXFR_SAFE_PUT
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:67,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:68,1
    - Dst: journal_read_get_error
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pkt
    - ixfr
    - read
    argTypes:
    - knot_pkt_t*
    - struct ixfr_proc*
    - journal_read_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: ixfr_put_chg_part
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - IXFR_SAFE_PUT
    - journal_read_clear_rrset
    - journal_read_get_error
    - journal_read_rrset
    - knot_soa_serial
    linkageType: ''
    returnType: int
    signature: "int ixfr_put_chg_part(knot_pkt_t *pkt, struct ixfr_proc *ixfr,\n                             journal_read_t
      *read)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ixfr_put_chg_part
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pkt
    - item
    - xfer
    argTypes:
    - knot_pkt_t*
    - void*
    - struct xfr_proc*
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: ixfr_process_journal
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - ixfr_put_chg_part
    linkageType: ''
    returnType: int
    signature: "int ixfr_process_journal(knot_pkt_t *pkt, const void *item,\n                                struct
      xfr_proc *xfer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:98,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:99,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:104,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:108,1
    - Dst: journal_read_begin
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:119,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - journal_read
    - zone
    - contents
    - their_soa
    argTypes:
    - journal_read_t**
    - zone_t*
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: ixfr_load_chsets
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - zone_journal
    - serial_compare
    - assert
    - journal_read_begin
    linkageType: ''
    returnType: int
    signature: "int ixfr_load_chsets(journal_read_t **journal_read, zone_t *zone,\n
      \                           const zone_contents_t *contents, const knot_rrset_t
      *their_soa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_NEED_ZONE
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:124,1
    - Dst: NS_NEED_AUTH
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:125,1
    - Dst: NS_NEED_ZONE_CONTENTS
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:126,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:129,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:130,1
    - Dst: NS_NEED_QNAME
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: ixfr_query_check
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - NS_NEED_ZONE
    - NS_NEED_AUTH
    - NS_NEED_QNAME
    - knot_pkt_section
    - NS_NEED_ZONE_CONTENTS
    - knot_pkt_rr
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t ixfr_query_check(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:145,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:146,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:147,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:148,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: ixfr_answer_cleanup
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - mm_free
    - journal_read_end
    - pthread_rwlock_unlock
    - ptrlist_free
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void ixfr_answer_cleanup(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:160,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:163,1
    - Dst: xfr_stats_end
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:164,1
    - Dst: xfr_log_finished
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:165,1
    - Dst: ZONE_NAME
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:165,1
    - Dst: REMOTE
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:166,1
    - Dst: PROTO
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:166,1
    - Dst: KEY
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - qdata
    - pkt
    - state
    argTypes:
    - knotd_qdata_t*
    - knot_pkt_t*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: ixfr_answer_finished
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - xfr_stats_add
    - KEY
    - REMOTE
    - xfr_stats_end
    - xfr_log_finished
    - PROTO
    - ZONE_NAME
    linkageType: ''
    returnType: void
    signature: void ixfr_answer_finished(knotd_qdata_t *qdata, knot_pkt_t *pkt, int
      state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:175,1
    - Dst: ixfr_query_check
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:177,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:185,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:191,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:191,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:193,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:197,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:198,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:199,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:202,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:206,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:211,1
    - Dst: xfr_stats_begin
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:215,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:217,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:218,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:221,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:223,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:224,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - qdata
    - serial_from
    argTypes:
    - knotd_qdata_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 235
    functionName: ixfr_answer_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - mm_free
    - conf
    - ixfr_query_check
    - xfr_stats_begin
    - conf_bool
    - knot_rrset_init_empty
    - zone_contents_serial
    - knot_pkt_section
    - memset
    - zone_get_flag
    - mm_alloc
    - knot_soa_serial
    - knot_pkt_rr
    - init_list
    - ptrlist_add
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: int ixfr_answer_init(knotd_qdata_t *qdata, uint32_t *serial_from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:239,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:240,1
    - Dst: ixfr_query_check
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:243,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:256,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:257,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: ixfr_answer_soa
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - ixfr_query_check
    - node_rrset
    - knot_pkt_put
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t ixfr_answer_soa(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ixfr_answer_soa
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:277,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:288,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:292,1
    - Dst: ixfr_answer_soa
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:293,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:295,1
    - Dst: axfr_process_query
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:297,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:300,1
    - Dst: axfr_process_query
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:302,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:306,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:309,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:312,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:313,1
    - Dst: xfr_process_list
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:325,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:331,1
    - Dst: IXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:336,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/nameserver/ixfr.c:336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 339
    functionName: ixfr_process_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/ixfr.c
    functionUses: 0
    functionsReached:
    - axfr_process_query
    - knot_strerror
    - IXFROUT_LOG
    - ixfr_answer_soa
    - xfr_process_list
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t ixfr_process_query(knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - operation
    argTypes:
    - log_operation_t
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: log_operation_name
    functionSourceFile: /src/knot-dns/src/knot/nameserver/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_operation_name(log_operation_t operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - direction
    argTypes:
    - log_direction_t
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: log_direction_name
    functionSourceFile: /src/knot-dns/src/knot/nameserver/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_direction_name(log_direction_t direction)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - proto
    - pool
    argTypes:
    - knotd_query_proto_t
    - bool
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: log_conn_info
    functionSourceFile: /src/knot-dns/src/knot/nameserver/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *log_conn_info(knotd_query_proto_t proto, bool pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memzero
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - tsig_ctx_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: tsig_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 1
    functionsReached:
    - memzero
    linkageType: ''
    returnType: void
    signature: void tsig_init(tsig_ctx_t *ctx, const knot_tsig_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:33,1
    - Dst: memzero
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tsig_ctx_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: tsig_cleanup
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 1
    functionsReached:
    - free
    - memzero
    linkageType: ''
    returnType: void
    signature: void tsig_cleanup(tsig_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tsig_cleanup
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:44,1
    - Dst: tsig_init
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tsig_ctx_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: tsig_reset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 1
    functionsReached:
    - tsig_init
    - tsig_cleanup
    linkageType: ''
    returnType: void
    signature: void tsig_reset(tsig_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_algorithm_size
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:60,1
    - Dst: knot_tsig_sign
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:61,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:67,1
    - Dst: knot_tsig_sign_next
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - packet
    argTypes:
    - tsig_ctx_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: tsig_sign_packet
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 1
    functionsReached:
    - memcpy
    - knot_tsig_sign
    - dnssec_tsig_algorithm_size
    - knot_tsig_sign_next
    linkageType: ''
    returnType: int
    signature: int tsig_sign_packet(tsig_ctx_t *ctx, knot_pkt_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:80,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:81,1
    - Dst: knot_tsig_rdata_mac_length
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:83,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:87,1
    - Dst: knot_tsig_rdata_mac
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:87,1
    - Dst: knot_tsig_rdata_time_signed
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - tsig_rr
    argTypes:
    - tsig_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: update_ctx_after_verify
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_tsig_rdata_time_signed
    - knot_tsig_rdata_mac
    - memcpy
    - knot_tsig_rdata_mac_length
    linkageType: ''
    returnType: int
    signature: int update_ctx_after_verify(tsig_ctx_t *ctx, knot_rrset_t *tsig_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - packet
    argTypes:
    - tsig_ctx_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: buffer_add_packet
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int buffer_add_packet(tsig_ctx_t *ctx, knot_pkt_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_client_check
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:149,1
    - Dst: knot_tsig_client_check_next
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:153,1
    - Dst: update_ctx_after_verify
      Src: /src/knot-dns/src/knot/nameserver/tsig_ctx.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - packet
    argTypes:
    - tsig_ctx_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 169
    functionName: tsig_verify_packet
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 1
    functionsReached:
    - knot_tsig_client_check
    - update_ctx_after_verify
    - knot_tsig_client_check_next
    linkageType: ''
    returnType: int
    signature: int tsig_verify_packet(tsig_ctx_t *ctx, knot_pkt_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tsig_ctx_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: tsig_unsigned_count
    functionSourceFile: /src/knot-dns/src/knot/nameserver/tsig_ctx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned tsig_unsigned_count(tsig_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/update.c:19,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/update.c:20,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/nameserver/update.c:22,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/nameserver/update.c:24,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/nameserver/update.c:29,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/update.c:32,1
    - Dst: dup
      Src: /src/knot-dns/src/knot/nameserver/update.c:38,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/nameserver/update.c:39,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/update.c:40,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/knot/nameserver/update.c:40,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/nameserver/update.c:43,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/nameserver/update.c:46,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/update.c:47,1
    - Dst: knot_tsig_rdata_mac
      Src: /src/knot-dns/src/knot/nameserver/update.c:54,1
    - Dst: dnssec_binary_dup
      Src: /src/knot-dns/src/knot/nameserver/update.c:56,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/nameserver/update.c:58,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/update.c:59,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/update.c:62,1
    - Dst: knot_tsig_rdata_mac_length
      Src: /src/knot-dns/src/knot/nameserver/update.c:62,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/update.c:63,1
    - Dst: knot_tsig_rdata_alg
      Src: /src/knot-dns/src/knot/nameserver/update.c:63,1
    - Dst: knot_quic_conn_block
      Src: /src/knot-dns/src/knot/nameserver/update.c:70,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/update.c:71,1
    - Dst: knot_tls_conn_block
      Src: /src/knot-dns/src/knot/nameserver/update.c:79,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/nameserver/update.c:82,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/nameserver/update.c:85,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/nameserver/update.c:88,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/nameserver/update.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 2
    argNames:
    - zone
    - qdata
    argTypes:
    - zone_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 94
    functionName: update_enqueue
    functionSourceFile: /src/knot-dns/src/knot/nameserver/update.c
    functionUses: 0
    functionsReached:
    - dup
    - pthread_mutex_unlock
    - calloc
    - knot_pkt_free
    - knot_tsig_rdata_mac_length
    - knot_quic_conn_block
    - free
    - knot_tls_conn_block
    - ptrlist_add
    - assert
    - pthread_mutex_lock
    - knot_tsig_rdata_alg
    - dnssec_binary_dup
    - knotd_qdata_remote_addr
    - zone_events_schedule_now
    - knot_tsig_rdata_mac
    - knot_pkt_new
    - memcpy
    - sockaddr_len
    linkageType: ''
    returnType: int
    signature: int update_enqueue(zone_t *zone, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_NEED_QTYPE
      Src: /src/knot-dns/src/knot/nameserver/update.c:105,1
    - Dst: NS_NEED_ZONE
      Src: /src/knot-dns/src/knot/nameserver/update.c:108,1
    - Dst: NS_NEED_AUTH
      Src: /src/knot-dns/src/knot/nameserver/update.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: update_process_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/update.c
    functionUses: 0
    functionsReached:
    - NS_NEED_QTYPE
    - NS_NEED_ZONE
    - NS_NEED_AUTH
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t update_process_query(knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:39,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:39,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:46,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:47,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:48,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:50,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:51,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:52,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:53,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - response
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: get_txt_response_string
    functionSourceFile: /src/knot-dns/src/knot/nameserver/chaos.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - knot_dname_to_str
    - strcasecmp
    - conf
    linkageType: ''
    returnType: char
    signature: char *get_txt_response_string(knot_pkt_t *response)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:73,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:78,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:82,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - rrset
    - owner
    - response_str
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - char*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 91
    functionName: create_txt_rrset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/chaos.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_rrset_init
    - knot_dname_copy
    - knot_dname_free
    linkageType: ''
    returnType: int
    signature: "int create_txt_rrset(knot_rrset_t *rrset, const knot_dname_t *owner,\n
      \                           const char *response_str, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - response
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: answer_txt
    functionSourceFile: /src/knot-dns/src/knot/nameserver/chaos.c
    functionUses: 0
    functionsReached:
    - knot_rrset_clear
    linkageType: ''
    returnType: int
    signature: int answer_txt(knot_pkt_t *response)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:118,1
    - Dst: answer_txt
      Src: /src/knot-dns/src/knot/nameserver/chaos.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: knot_chaos_answer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/chaos.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qtype
    - answer_txt
    linkageType: ''
    returnType: int
    signature: int knot_chaos_answer(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:23,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:27,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:34,1
    - Dst: HEAD
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:35,1
    - Dst: put
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:36,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:39,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:40,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:48,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - pkt
    - put
    - qdata
    argTypes:
    - knot_pkt_t*
    - xfr_put_cb
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 58
    functionName: xfr_process_list
    functionSourceFile: /src/knot-dns/src/knot/nameserver/xfr.c
    functionUses: 1
    functionsReached:
    - put
    - rem_node
    - mm_free
    - node_rrset
    - HEAD
    - EMPTY_LIST
    - knot_pkt_put
    linkageType: ''
    returnType: int
    signature: int xfr_process_list(knot_pkt_t *pkt, xfr_put_cb put, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:62,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:64,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stats
    argTypes:
    - struct xfr_stats*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: xfr_stats_begin
    functionSourceFile: /src/knot-dns/src/knot/nameserver/xfr.c
    functionUses: 3
    functionsReached:
    - assert
    - time_now
    - memset
    linkageType: ''
    returnType: void
    signature: void xfr_stats_begin(struct xfr_stats *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - bytes
    argTypes:
    - struct xfr_stats*
    - unsigned
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: xfr_stats_add
    functionSourceFile: /src/knot-dns/src/knot/nameserver/xfr.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void xfr_stats_add(struct xfr_stats *stats, unsigned bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:78,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/nameserver/xfr.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stats
    argTypes:
    - struct xfr_stats*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: xfr_stats_end
    functionSourceFile: /src/knot-dns/src/knot/nameserver/xfr.c
    functionUses: 3
    functionsReached:
    - assert
    - time_now
    linkageType: ''
    returnType: void
    signature: void xfr_stats_end(struct xfr_stats *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_ref
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: knotd_conf_check_ref
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - check_ref
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_conf_check_ref(knotd_conf_check_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:32,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: query_plan_create
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - malloc
    - init_list
    linkageType: ''
    returnType: struct query_plan
    signature: struct query_plan *query_plan_create(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:52,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:53,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - plan
    argTypes:
    - struct query_plan*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: query_plan_free
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void query_plan_free(struct query_plan *plan)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:63,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - plan
    - stage
    - type
    - hook
    - ctx
    argTypes:
    - struct query_plan*
    - knotd_stage_t
    - query_hook_type_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: query_plan_step
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - add_tail
    - calloc
    linkageType: ''
    returnType: int
    signature: "int query_plan_step(struct query_plan *plan, knotd_stage_t stage,\n
      \                   query_hook_type_t type, void *hook, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_plan_step
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mod
    - stage
    - hook
    argTypes:
    - knotd_mod_t*
    - knotd_stage_t
    - knotd_mod_proto_hook_f
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: knotd_mod_proto_hook
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - query_plan_step
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_proto_hook(knotd_mod_t *mod, knotd_stage_t stage,
      knotd_mod_proto_hook_f hook)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_plan_step
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mod
    - stage
    - hook
    argTypes:
    - knotd_mod_t*
    - knotd_stage_t
    - knotd_mod_hook_f
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: knotd_mod_hook
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 8
    functionsReached:
    - query_plan_step
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_hook_f
      hook)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_plan_step
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - mod
    - stage
    - hook
    argTypes:
    - knotd_mod_t*
    - knotd_stage_t
    - knotd_mod_in_hook_f
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: knotd_mod_in_hook
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 5
    functionsReached:
    - query_plan_step
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_in_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_in_hook_f
      hook)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_mod_find
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:116,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - conf
    - server
    - mod_id
    - plan
    - zone
    argTypes:
    - conf_t*
    - server_t*
    - conf_mod_id_t*
    - struct query_plan*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: query_module_open
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf_mod_find
    - calloc
    linkageType: ''
    returnType: knotd_mod_t
    signature: "knotd_mod_t *query_module_open(conf_t *conf, server_t *server, conf_mod_id_t
      *mod_id,\n                               struct query_plan *plan, const knot_dname_t
      *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:149,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:150,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:151,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:153,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:154,1
    - Dst: knotd_mod_stats_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - conf
    - module
    - new_plan
    argTypes:
    - conf_t*
    - knotd_mod_t*
    - struct query_plan*
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: module_reset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - free_zone_keys
    - zone_sign_ctx_free
    - free
    - knotd_mod_stats_free
    - kdnssec_ctx_deinit
    linkageType: ''
    returnType: void
    signature: void module_reset(conf_t *conf, knotd_mod_t *module, struct query_plan
      *new_plan)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module_reset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:175,1
    - Dst: conf_free_mod_id
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:176,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: query_module_close
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - free
    - conf_free_mod_id
    - module_reset
    linkageType: ''
    returnType: void
    signature: void query_module_close(knotd_mod_t *module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: module_reset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - module
    - new_plan
    argTypes:
    - conf_t*
    - knotd_mod_t*
    - struct query_plan*
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: query_module_reset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - module_reset
    linkageType: ''
    returnType: void
    signature: void query_module_reset(conf_t *conf, knotd_mod_t *module, struct query_plan
      *new_plan)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: knotd_mod_ctx
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *knotd_mod_ctx(const knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mod
    - ctx
    argTypes:
    - knotd_mod_t*
    - void*
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: knotd_mod_ctx_set
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_ctx_set(knotd_mod_t *mod, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: knot_dname_t *knotd_mod_zone(const knotd_mod_t *mod)
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_t *knotd_mod_zone(const knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:211,1
    - Dst: knotd_mod_vlog
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:212,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mod
    - priority
    - fmt
    argTypes:
    - knotd_mod_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: knotd_mod_log
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 9
    functionsReached:
    - va_start
    - knotd_mod_vlog
    - va_end
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_log(knotd_mod_t *mod, int priority, const char *fmt,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:225,1
    - Dst: log_fmt
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:234,1
    - Dst: LOG_ARGS
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:234,1
    - Dst: log_fmt_zone
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:236,1
    - Dst: LOG_ARGS
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - mod
    - priority
    - fmt
    - args
    argTypes:
    - knotd_mod_t*
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: knotd_mod_vlog
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 2
    functionsReached:
    - LOG_ARGS
    - log_fmt
    - vsnprintf
    - log_fmt_zone
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_vlog(knotd_mod_t *mod, int priority, const char
      *fmt, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:246,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:249,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - stats_vals
    - dirty_threads
    - offset
    - count
    argTypes:
    - knot_atomic_uint64_t**
    - unsigned
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: clean_vals
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - assert
    - ATOMIC_DEINIT
    linkageType: ''
    returnType: void
    signature: "void clean_vals(knot_atomic_uint64_t **stats_vals, unsigned dirty_threads,\n
      \                      uint32_t offset, uint32_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:269,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:270,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:276,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:277,1
    - Dst: knotd_mod_stats_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:279,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:284,1
    - Dst: clean_vals
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:286,1
    - Dst: knotd_mod_stats_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:287,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:292,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:299,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:302,1
    - Dst: realloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:305,1
    - Dst: knotd_mod_stats_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:307,1
    - Dst: realloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:314,1
    - Dst: clean_vals
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:317,1
    - Dst: knotd_mod_stats_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:318,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - mod
    - ctr_name
    - idx_count
    - idx_to_str
    argTypes:
    - knotd_mod_t*
    - char*
    - uint32_t
    - knotd_mod_idx_to_str_f
    constantsTouched: []
    func_position:
      end: 337
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 337
    functionName: knotd_mod_stats_add
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 2
    functionsReached:
    - assert
    - clean_vals
    - ATOMIC_INIT
    - calloc
    - knotd_mod_stats_free
    - malloc
    - realloc
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_mod_stats_add(knotd_mod_t *mod, const char *ctr_name,
      uint32_t idx_count,\n                        knotd_mod_idx_to_str_f idx_to_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clean_vals
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:349,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:353,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:357,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 359
    functionName: knotd_mod_stats_free
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 2
    functionsReached:
    - free
    - clean_vals
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_stats_free(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STATS_BODY
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:387,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - mod
    - env
    argTypes:
    - knotd_mod_t*
    - knotd_conf_env_t
    constantsTouched: []
    func_position:
      end: 426
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 426
    functionName: knotd_conf_env
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - conf
    - STATS_BODY
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_conf_env(knotd_mod_t *mod, knotd_conf_env_t env)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_conf_env
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:431,1
    - Dst: knotd_conf_env
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:432,1
    - Dst: knotd_conf_env
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: knotd_mod_threads
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 3
    functionsReached:
    - knotd_conf_env
    linkageType: ''
    returnType: '_public_

      unsigned'
    signature: '_public_

      unsigned knotd_mod_threads(knotd_mod_t *mod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:441,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:444,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:447,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:450,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:453,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:456,1
    - Dst: conf_addr_range
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:459,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:464,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:471,1
    - Dst: conf_data
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:474,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - type
    - item
    - val
    argTypes:
    - yp_type_t
    - knotd_conf_val_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 479
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 479
    functionName: set_val
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf_addr
    - conf_addr_range
    - conf_val
    - conf_data
    - conf_bool
    - conf_bin
    - conf_opt
    - conf_int
    - conf_str
    - conf_dname
    linkageType: ''
    returnType: void
    signature: void set_val(yp_type_t type, knotd_conf_val_t *item, conf_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_val
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:485,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:492,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:496,1
    - Dst: set_val
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:499,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - knotd_conf_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 504
    functionName: set_conf_out
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - malloc
    - conf_val_next
    - set_val
    - memset
    linkageType: ''
    returnType: void
    signature: void set_conf_out(knotd_conf_t *out, conf_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:516,1
    - Dst: conf_rawid_get
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:520,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:523,1
    - Dst: set_conf_out
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - mod
    - section_name
    - item_name
    - id
    argTypes:
    - knotd_mod_t*
    - yp_name_t*
    - yp_name_t*
    - knotd_conf_t*
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: knotd_conf_t::knotd_conf
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf_get
    - conf
    - set_conf_out
    - conf_rawid_get
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_conf_t knotd_conf(knotd_mod_t *mod, const yp_name_t
      *section_name,\n                        const yp_name_t *item_name, const knotd_conf_t
      *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:540,1
    - Dst: conf_mod_get
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:542,1
    - Dst: set_conf_out
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - mod
    - item_name
    argTypes:
    - knotd_mod_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: knotd_conf_t::knotd_conf_mod
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf
    - conf_mod_get
    - set_conf_out
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_conf_t knotd_conf_mod(knotd_mod_t *mod, const yp_name_t
      *item_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:562,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:564,1
    - Dst: set_conf_out
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - mod
    - item_name
    - zone
    argTypes:
    - knotd_mod_t*
    - yp_name_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 569
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 569
    functionName: knotd_conf_t::knotd_conf_zone
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf
    - conf_zone_get
    - set_conf_out
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_conf_t knotd_conf_zone(knotd_mod_t *mod, const yp_name_t
      *item_name,\n                             const knot_dname_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:577,1
    - Dst: set_conf_out
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - args
    - item_name
    argTypes:
    - knotd_conf_check_args_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: knotd_conf_t::knotd_conf_check_item
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - conf_rawid_get_txn
    - set_conf_out
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_conf_t knotd_conf_check_item(knotd_conf_check_args_t
      *args,\n                                   const yp_name_t *item_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:597,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - range
    - addr
    argTypes:
    - knotd_conf_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 608
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 608
    functionName: knotd_conf_addr_range_match
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 4
    functionsReached:
    - sockaddr_net_match
    - sockaddr_range_match
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_conf_addr_range_match(const knotd_conf_t *range,\n
      \                                const struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:618,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:619,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - knotd_conf_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: knotd_conf_free
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 10
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_conf_free(knotd_conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:638,1
    - Dst: knot_probe_tcp_rtt
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 650
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 650
    functionName: knotd_qdata_rtt
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_probe_tcp_rtt
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_qdata_rtt(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: knot_dname_t *knotd_qdata_zone_name(const knotd_qdata_t *qdata)
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_t *knotd_qdata_zone_name(const knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:666,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - qdata
    - type
    argTypes:
    - knotd_qdata_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: knot_rrset_t::knotd_qdata_zone_apex_rrset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - node_rrset
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_t knotd_qdata_zone_apex_rrset(const knotd_qdata_t
      *qdata, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:684,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:696,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - qdata
    - zone_name
    - node_name
    - type
    - out
    argTypes:
    - knotd_qdata_t*
    - knot_dname_t*
    - knot_dname_t*
    - uint16_t
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 705
    functionName: knotd_qdata_zone_rrset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - zone_contents_find_node
    - node_rrset
    - knot_zonedb_find
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_qdata_zone_rrset(const knotd_qdata_t *qdata, const
      knot_dname_t *zone_name,\n                           const knot_dname_t *node_name,
      uint16_t type,\n                           knot_rrset_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_ensure_init
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:715,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:717,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:722,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 732
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 732
    functionName: knotd_mod_dnssec_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 0
    functionsReached:
    - kasp_db_ensure_init
    - free
    - conf_zone_get
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_dnssec_init(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:741,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:748,1
    - Dst: zone_sign_ctx
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:753,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:755,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - mod
    - verbose
    argTypes:
    - knotd_mod_t*
    - bool
    constantsTouched: []
    func_position:
      end: 762
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 762
    functionName: knotd_mod_dnssec_load_keyset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 3
    functionsReached:
    - free
    - zone_sign_ctx
    - free_zone_keys
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_dnssec_load_keyset(knotd_mod_t *mod, bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:768,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:771,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mod
    argTypes:
    - knotd_mod_t*
    constantsTouched: []
    func_position:
      end: 775
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 775
    functionName: knotd_mod_dnssec_unload_keyset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - free
    - free_zone_keys
    - zone_sign_ctx_free
    linkageType: ''
    returnType: _public_
    signature: _public_ knotd_mod_dnssec_unload_keyset(knotd_mod_t *mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_sign_rrset2
      Src: /src/knot-dns/src/knot/nameserver/query_module.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - mod
    - rrsigs
    - rrset
    - mm
    argTypes:
    - knotd_mod_t*
    - knot_rrset_t*
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: knotd_mod_dnssec_sign_rrset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/query_module.c
    functionUses: 1
    functionsReached:
    - knot_sign_rrset2
    linkageType: ''
    returnType: _public_
    signature: "_public_ knotd_mod_dnssec_sign_rrset(knotd_mod_t *mod, knot_rrset_t
      *rrsigs,\n                                const knot_rrset_t *rrset, knot_mm_t
      *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_opcode
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:34,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: query_type
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qtype
    - knot_wire_get_opcode
    linkageType: ''
    returnType: knotd_query_type_t
    signature: knotd_query_type_t query_type(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:53,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:54,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:61,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:62,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - params
    - extra
    argTypes:
    - knot_layer_t*
    - knotd_qdata_params_t*
    - knotd_qdata_extra_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: query_data_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - init_list
    - memset
    linkageType: ''
    returnType: void
    signature: "void query_data_init(knot_layer_t *ctx, knotd_qdata_params_t *params,\n
      \                           knotd_qdata_extra_t *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:69,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:70,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:71,1
    - Dst: query_data_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: process_query_begin
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - assert
    - query_data_init
    linkageType: ''
    returnType: int
    signature: int process_query_begin(knot_layer_t *ctx, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:82,1
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:83,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:90,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:91,1
    - Dst: nsec_clear_rrsigs
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:92,1
    - Dst: knotd_qdata_extra_t*::ext_cleanup
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:94,1
    - Dst: query_data_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: process_query_reset
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - assert
    - nsec_clear_rrsigs
    - query_data_init
    - ptrlist_free
    - knotd_qdata_extra_t*::ext_cleanup
    - knot_rrset_clear
    linkageType: ''
    returnType: int
    signature: int process_query_reset(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_query_reset
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:106,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: process_query_finish
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - mm_free
    - process_query_reset
    linkageType: ''
    returnType: int
    signature: int process_query_finish(knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:115,1
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:116,1
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:124,1
    - Dst: query_type
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: process_query_in
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - assert
    - query_type
    - knot_wire_get_qr
    linkageType: ''
    returnType: int
    signature: int process_query_in(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:141,1
    - Dst: internet_process_query
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:144,1
    - Dst: notify_process_query
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:145,1
    - Dst: axfr_process_query
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:146,1
    - Dst: ixfr_process_query
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:147,1
    - Dst: update_process_query
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - ctx
    argTypes:
    - knot_pkt_t*
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: query_internet
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - axfr_process_query
    - notify_process_query
    - internet_process_query
    - ixfr_process_query
    - update_process_query
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t query_internet(knot_pkt_t *pkt, knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:161,1
    - Dst: knot_chaos_answer
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - ctx
    argTypes:
    - knot_pkt_t*
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: query_chaos
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - knot_chaos_answer
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t query_chaos(knot_pkt_t *pkt, knot_layer_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:182,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:195,1
    - Dst: knot_zonedb_find_suffix
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:196,1
    - Dst: query_type
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:206,1
    - Dst: knot_zonedb_find_suffix
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:207,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - query
    - zonedb
    argTypes:
    - knot_pkt_t*
    - knot_zonedb_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: answer_zone_find
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - knot_zonedb_find
    - knot_zonedb_find_suffix
    - knot_dname_next_label
    - query_type
    linkageType: ''
    returnType: zone_t
    signature: zone_t *answer_zone_find(const knot_pkt_t *query, knot_zonedb_t *zonedb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:219,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:224,1
    - Dst: knot_edns_wire_size
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - resp
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: answer_edns_reserve
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_edns_wire_size
    - knot_rrset_empty
    - knot_pkt_reserve
    linkageType: ''
    returnType: int
    signature: int answer_edns_reserve(knot_pkt_t *resp, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:230,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:236,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:238,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:241,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:244,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:244,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:245,1
    - Dst: knot_edns_get_version
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:257,1
    - Dst: knot_pkt_has_dnssec
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:262,1
    - Dst: knot_edns_set_do
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:263,1
    - Dst: knot_pkt_edns_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:267,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:272,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:283,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:286,1
    - Dst: knot_edns_client_subnet_parse
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:292,1
    - Dst: knot_edns_reserve_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:300,1
    - Dst: answer_edns_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:310,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - query
    - resp
    - qdata
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 311
    functionName: answer_edns_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_edns_reserve_option
    - knot_edns_get_version
    - knot_pkt_edns_option
    - knot_edns_set_do
    - conf
    - knot_pkt_has_edns
    - knot_edns_client_subnet_parse
    - MIN
    - mm_alloc
    - answer_edns_reserve
    - knotd_qdata_remote_addr
    - knot_edns_add_option
    - knot_pkt_has_dnssec
    linkageType: ''
    returnType: int
    signature: "int answer_edns_init(const knot_pkt_t *query, knot_pkt_t *resp,\n
      \                           knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:315,1
    - Dst: knot_edns_client_subnet_write
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:326,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:337,1
    - Dst: knot_pkt_reclaim
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:338,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:339,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:342,1
    - Dst: htobe16
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:343,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:345,1
    - Dst: knot_pkt_edns_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:353,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:355,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:355,1
    - Dst: zone_soa_expire
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:359,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:361,1
    - Dst: time
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:361,1
    - Dst: htobe32
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:363,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:366,1
    - Dst: knot_pkt_reclaim
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:367,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:368,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:370,1
    - Dst: knot_edns_opt_get_length
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:382,1
    - Dst: knot_pkt_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:386,1
    - Dst: knot_pkt_reclaim
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:387,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:388,1
    - Dst: knot_edns_zoneversion_write
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:391,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:394,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:398,1
    - Dst: knot_pkt_reclaim
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:407,1
    - Dst: knot_edns_reserve_option
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:416,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:427,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:428,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - resp
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 435
    functionName: answer_edns_put
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - time
    - zone_contents_serial
    - knot_pkt_put
    - knot_edns_add_option
    - knot_time_min
    - knot_pkt_reclaim
    - knot_edns_client_subnet_write
    - ATOMIC_GET
    - knot_pkt_reserve
    - htobe16
    - assert
    - knot_pkt_edns_option
    - knot_edns_reserve_option
    - knot_edns_zoneversion_write
    - knot_edns_opt_get_length
    - zone_soa_expire
    - MAX
    - htobe32
    linkageType: ''
    returnType: int
    signature: int answer_edns_put(knot_pkt_t *resp, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:440,1
    - Dst: knot_wire_clear_cd
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:448,1
    - Dst: answer_edns_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:451,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:459,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:461,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:463,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:466,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:473,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:480,1
    - Dst: knot_wire_get_opcode
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:482,1
    - Dst: answer_zone_find
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:495,1
    - Dst: query_type
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:502,1
    - Dst: process_query_acl_check
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:503,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:503,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - query
    - resp
    - ctx
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 510
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 510
    functionName: prepare_answer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - knot_pkt_qname
    - conf
    - answer_edns_init
    - knot_pkt_has_edns
    - MAX
    - answer_zone_find
    - knot_wire_clear_cd
    - process_query_acl_check
    - knotd_qdata_remote_addr
    - query_type
    - knot_wire_get_opcode
    linkageType: ''
    returnType: int
    signature: int prepare_answer(knot_pkt_t *query, knot_pkt_t *resp, knot_layer_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:519,1
    - Dst: knot_edns_set_ext_rcode_wire
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:523,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:526,1
    - Dst: KNOT_EDNS_RCODE_LO
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: set_rcode_to_packet
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_rcode
    - KNOT_EDNS_RCODE_LO
    - knot_edns_set_ext_rcode_wire
    linkageType: ''
    returnType: void
    signature: void set_rcode_to_packet(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:531,1
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:533,1
    - Dst: knot_pkt_init_response
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:537,1
    - Dst: knot_wire_clear_cd
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:538,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:542,1
    - Dst: knot_wire_set_tc
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:543,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:548,1
    - Dst: answer_edns_reserve
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:552,1
    - Dst: answer_edns_put
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:553,1
    - Dst: set_rcode_to_packet
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:562,1
    - Dst: process_query_sign_response
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:565,1
    - Dst: set_rcode_to_packet
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 570
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 570
    functionName: process_query_err
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - assert
    - answer_edns_put
    - set_rcode_to_packet
    - answer_edns_reserve
    - knot_pkt_init_response
    - process_query_sign_response
    - knot_wire_set_tc
    - knot_pkt_begin
    - knot_wire_clear_cd
    - knot_wire_set_aa
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t process_query_err(knot_layer_t *ctx, knot_pkt_t
      *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:596,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:598,1
    - Dst: QUERY_DATA
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:600,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:601,1
    - Dst: prepare_answer
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:616,1
    - Dst: PROCESS_BEGIN
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:626,1
    - Dst: PROCESS_BEGIN
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:627,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:631,1
    - Dst: query_chaos
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:633,1
    - Dst: query_internet
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:637,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:650,1
    - Dst: answer_edns_put
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:654,1
    - Dst: process_query_sign_response
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:661,1
    - Dst: knotd_qdata_t*::extra::ext_finished
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:668,1
    - Dst: process_query_err
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:678,1
    - Dst: set_rcode_to_packet
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:685,1
    - Dst: PROCESS_END
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:689,1
    - Dst: PROCESS_END
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:690,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:692,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 2
    argNames:
    - ctx
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 695
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 695
    functionName: process_query_out
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - QUERY_DATA
    - process_query_err
    - assert
    - answer_edns_put
    - set_rcode_to_packet
    - knot_pkt_qclass
    - PROCESS_BEGIN
    - rcu_read_unlock
    - prepare_answer
    - conf
    - PROCESS_END
    - process_query_sign_response
    - rcu_read_lock
    - knot_pkt_begin
    - query_chaos
    - query_internet
    - knotd_qdata_t*::extra::ext_finished
    linkageType: ''
    returnType: int
    signature: int process_query_out(knot_layer_t *ctx, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:702,1
    - Dst: knot_tsig_rdata_alg
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:713,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:718,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:722,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:725,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:739,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:742,1
    - Dst: rmt_allowed
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:743,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:748,1
    - Dst: acl_allowed
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:749,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:754,1
    - Dst: knot_tls_pin
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:758,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:760,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:772,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - conf
    - action
    - qdata
    argTypes:
    - conf_t*
    - acl_action_t
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 800
    functionName: process_query_acl_check
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 1
    functionsReached:
    - log_enabled_debug
    - assert
    - conf_zone_get
    - knot_lookup_by_id
    - sockaddr_tostr
    - knot_dname_to_str
    - log_zone_debug
    - knot_tsig_rdata_alg
    - acl_allowed
    - rmt_allowed
    - knot_tls_pin
    - knot_base64_encode
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: bool
    signature: "bool process_query_acl_check(conf_t *conf, acl_action_t action,\n
      \                            knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_mac
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:814,1
    - Dst: knot_tsig_rdata_mac_length
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:815,1
    - Dst: knot_tsig_rdata_time_signed
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:837,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:849,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:850,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:851,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:854,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:856,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:859,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:863,1
    - Dst: free
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:867,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 871
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 871
    functionName: process_query_verify
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - knot_lookup_by_id
    - knot_tsig_rdata_time_signed
    - log_zone_error
    - knot_strerror
    - free
    - knot_tsig_rdata_mac
    - knot_tsig_rdata_mac_length
    - log_zone_debug
    linkageType: ''
    returnType: int
    signature: int process_query_verify(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_can_sign
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:885,1
    - Dst: knot_tsig_sign
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:889,1
    - Dst: knot_tsig_sign_next
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:895,1
    - Dst: knot_tsig_add
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:909,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 924
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 924
    functionName: process_query_sign_response
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 3
    functionsReached:
    - knot_tsig_sign
    - knot_tsig_add
    - knot_tsig_can_sign
    - knot_tsig_sign_next
    linkageType: ''
    returnType: int
    signature: int process_query_sign_response(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:932,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:933,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:944,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:946,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:951,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:953,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:954,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:958,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:959,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - sig_owner
    - type
    - rrsigs
    - rrinfo
    - ttl_limit
    - qdata
    argTypes:
    - knot_dname_t*
    - uint16_t
    - knot_rrset_t*
    - knot_rrinfo_t*
    - uint32_t
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 967
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 967
    functionName: put_rrsig
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - assert
    - mm_free
    - knot_rdataset_init
    - knot_dname_copy
    - add_tail
    - MIN
    - mm_alloc
    - knot_rrset_init
    linkageType: ''
    returnType: int
    signature: "int put_rrsig(const knot_dname_t *sig_owner, uint16_t type,\n                     const
      knot_rrset_t *rrsigs, knot_rrinfo_t *rrinfo,\n                     uint32_t
      ttl_limit, knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:981,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:991,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:995,1
    - Dst: knot_rdataset_copy
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:996,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:998,1
    - Dst: knot_pkt_put_rotate
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1009,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1011,1
    - Dst: knot_soa_minimum
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1017,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1022,1
    - Dst: put_rrsig
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1025,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - pkt
    - qdata
    - rr
    - rrsigs
    - compr_hint
    - flags
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    - knot_rrset_t*
    - knot_rrset_t*
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1029
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 1029
    functionName: process_query_put_rr
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 2
    functionsReached:
    - knot_soa_minimum
    - knot_pkt_put_rotate
    - knot_rrset_empty
    - knot_dname_is_wildcard
    - knot_rdataset_copy
    - knot_dname_copy
    - knot_dname_free
    - put_rrsig
    - knot_rrset_init
    - knot_rrset_clear
    linkageType: ''
    returnType: int
    signature: "int process_query_put_rr(knot_pkt_t *pkt, knotd_qdata_t *qdata,\n
      \                        const knot_rrset_t *rr, const knot_rrset_t *rrsigs,\n
      \                        uint16_t compr_hint, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1034,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1035,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1039,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1041,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1044,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1045,1
    - Dst: struct query_step*::proto_hook
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1046,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/nameserver/process_query.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - params
    - stage
    argTypes:
    - knotd_qdata_params_t*
    - knotd_stage_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1053
    functionName: process_query_proto
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - assert
    - rcu_read_unlock
    - conf
    - struct query_step*::proto_hook
    - rcu_read_lock
    linkageType: ''
    returnType: knotd_proto_state_t
    signature: "knotd_proto_state_t process_query_proto(knotd_qdata_params_t *params,\n
      \                                       const knotd_stage_t stage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1066
    functionName: process_query_layer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/process_query.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: knot_layer_api_t
    signature: knot_layer_api_t *process_query_layer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_log
      Src: /src/knot-dns/src/knot/nameserver/xfr.h:32,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/knot/nameserver/xfr.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 8
    argNames:
    - zone
    - op
    - dir
    - remote
    - proto
    - key_name
    - serial_log
    - stats
    argTypes:
    - knot_dname_t*
    - log_operation_t
    - log_direction_t
    - struct sockaddr_storage*
    - knotd_query_proto_t
    - knot_dname_t*
    - char*
    - struct xfr_stats*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: xfr_log_finished
    functionSourceFile: /src/knot-dns/src/knot/nameserver/xfr.h
    functionUses: 2
    functionsReached:
    - time_diff_ms
    - ns_log
    linkageType: ''
    returnType: void
    signature: "void xfr_log_finished(const knot_dname_t *zone, log_operation_t op,\n
      \                     log_direction_t dir, const struct sockaddr_storage *remote,\n
      \                     knotd_query_proto_t proto, const knot_dname_t *key_name,\n
      \                     const char *serial_log, const struct xfr_stats *stats)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/internet.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qdata
    - node
    argTypes:
    - knotd_qdata_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: wildcard_has_visited
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    linkageType: ''
    returnType: int
    signature: int wildcard_has_visited(knotd_qdata_t *qdata, const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:31,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:32,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/internet.c:39,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/nameserver/internet.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - qdata
    - node
    - prev
    - sname
    argTypes:
    - knotd_qdata_t*
    - zone_node_t*
    - zone_node_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: wildcard_visit
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - assert
    - add_tail
    linkageType: ''
    returnType: int
    signature: "int wildcard_visit(knotd_qdata_t *qdata, const zone_node_t *node,\n
      \                         const zone_node_t *prev, const knot_dname_t *sname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/nameserver/internet.c:56,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/nameserver/internet.c:60,1
    - Dst: knot_dname_target
      Src: /src/knot-dns/src/knot/nameserver/internet.c:65,1
    - Dst: knot_dname_replace_suffix
      Src: /src/knot-dns/src/knot/nameserver/internet.c:67,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/nameserver/internet.c:69,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/nameserver/internet.c:76,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/nameserver/internet.c:77,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/nameserver/internet.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - dname_rr
    - qname
    - cname_rrset
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: dname_cname_synth
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_dname_target
    - knot_dname_copy
    - knot_dname_free
    - memcpy
    - knot_rrset_init
    - knot_dname_replace_suffix
    linkageType: ''
    returnType: int
    signature: "int dname_cname_synth(const knot_rrset_t *dname_rr,\n                             const
      knot_dname_t *qname,\n                             knot_rrset_t *cname_rrset,\n
      \                            knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/nameserver/internet.c:94,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/nameserver/internet.c:94,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/nameserver/internet.c:95,1
    - Dst: knot_dname_target
      Src: /src/knot-dns/src/knot/nameserver/internet.c:95,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/nameserver/internet.c:97,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/nameserver/internet.c:97,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/nameserver/internet.c:98,1
    - Dst: knot_dname_target
      Src: /src/knot-dns/src/knot/nameserver/internet.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rrset
    - qname
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: dname_cname_cannot_synth
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - knot_dname_labels
    - knot_dname_target
    linkageType: ''
    returnType: bool
    signature: bool dname_cname_cannot_synth(const knot_rrset_t *rrset, const knot_dname_t
      *qname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_has_dnssec
      Src: /src/knot-dns/src/knot/nameserver/internet.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: have_dnssec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_pkt_has_dnssec
    linkageType: ''
    returnType: bool
    signature: bool have_dnssec(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:131,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/nameserver/internet.c:135,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:138,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/nameserver/internet.c:139,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:145,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:149,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:153,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pkt
    - type
    - qdata
    argTypes:
    - knot_pkt_t*
    - uint16_t
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: put_answer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - node_rrset_at
    - node_rrset
    - knot_rrset_init_empty
    - process_query_put_rr
    - knot_rrset_init
    linkageType: ''
    returnType: int
    signature: int put_answer(knot_pkt_t *pkt, uint16_t type, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:164,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:165,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - qdata
    - zone
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: put_authority_soa
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - process_query_put_rr
    - node_rrset
    linkageType: ''
    returnType: int
    signature: "int put_authority_soa(knot_pkt_t *pkt, knotd_qdata_t *qdata,\n                             const
      zone_contents_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/nameserver/internet.c:176,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:180,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:181,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: put_delegation
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - process_query_put_rr
    - node_parent
    - node_rrset
    linkageType: ''
    returnType: int
    signature: int put_delegation(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/nameserver/internet.c:189,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:194,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:195,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:199,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - for_node
    - pkt
    - qdata
    - flags
    argTypes:
    - zone_node_t*
    - knot_pkt_t*
    - knotd_qdata_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: put_nsec3_bitmap
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - process_query_put_rr
    - node_nsec3_get
    - knot_rrset_empty
    - node_rrset
    linkageType: ''
    returnType: int
    signature: "int put_nsec3_bitmap(const zone_node_t *for_node, knot_pkt_t *pkt,\n
      \                           knotd_qdata_t *qdata, uint32_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glue_node
      Src: /src/knot-dns/src/knot/nameserver/internet.c:238,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:239,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:241,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:242,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:245,1
    - Dst: have_dnssec
      Src: /src/knot-dns/src/knot/nameserver/internet.c:254,1
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/nameserver/internet.c:260,1
    - Dst: put_nsec3_bitmap
      Src: /src/knot-dns/src/knot/nameserver/internet.c:261,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:263,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:264,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:265,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 5
    argNames:
    - pkt
    - rr
    - qdata
    - info
    - state
    argTypes:
    - knot_pkt_t*
    - knot_rrset_t*
    - knotd_qdata_t*
    - knot_rrinfo_t*
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 276
    functionName: put_additional
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - put_nsec3_bitmap
    - node_rrset
    - glue_node
    - process_query_put_rr
    - have_dnssec
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int put_additional(knot_pkt_t *pkt, const knot_rrset_t *rr,\n                          knotd_qdata_t
      *qdata, knot_rrinfo_t *info, int state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:287,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:288,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:290,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:290,1
    - Dst: dname_cname_cannot_synth
      Src: /src/knot-dns/src/knot/nameserver/internet.c:306,1
    - Dst: dname_cname_synth
      Src: /src/knot-dns/src/knot/nameserver/internet.c:310,1
    - Dst: process_query_put_rr
      Src: /src/knot-dns/src/knot/nameserver/internet.c:316,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/knot/nameserver/internet.c:322,1
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/nameserver/internet.c:337,1
    - Dst: wildcard_has_visited
      Src: /src/knot-dns/src/knot/nameserver/internet.c:340,1
    - Dst: wildcard_visit
      Src: /src/knot-dns/src/knot/nameserver/internet.c:343,1
    - Dst: wildcard_visit
      Src: /src/knot-dns/src/knot/nameserver/internet.c:350,1
    - Dst: knot_cname_name
      Src: /src/knot-dns/src/knot/nameserver/internet.c:356,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - pkt
    - rrtype
    - qdata
    argTypes:
    - knot_pkt_t*
    - uint16_t
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 359
    functionName: follow_cname
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - wildcard_has_visited
    - wildcard_visit
    - assert
    - knot_rrset_empty
    - dname_cname_synth
    - knot_pkt_qtype
    - node_rrset
    - knot_dname_is_wildcard
    - process_query_put_rr
    - knot_cname_name
    - dname_cname_cannot_synth
    linkageType: ''
    returnType: knotd_in_state_t
    signature: knotd_in_state_t follow_cname(knot_pkt_t *pkt, uint16_t rrtype, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/nameserver/internet.c:372,1
    - Dst: follow_cname
      Src: /src/knot-dns/src/knot/nameserver/internet.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 396
    functionName: name_found
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - node_rrtype_exists
    - follow_cname
    linkageType: ''
    returnType: knotd_in_state_t
    signature: knotd_in_state_t name_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_find_wildcard_child
      Src: /src/knot-dns/src/knot/nameserver/internet.c:404,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:408,1
    - Dst: name_found
      Src: /src/knot-dns/src/knot/nameserver/internet.c:411,1
    - Dst: wildcard_has_visited
      Src: /src/knot-dns/src/knot/nameserver/internet.c:414,1
    - Dst: wildcard_visit
      Src: /src/knot-dns/src/knot/nameserver/internet.c:417,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/nameserver/internet.c:426,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/nameserver/internet.c:427,1
    - Dst: follow_cname
      Src: /src/knot-dns/src/knot/nameserver/internet.c:429,1
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/nameserver/internet.c:435,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 446
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 446
    functionName: name_not_found
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - wildcard_has_visited
    - wildcard_visit
    - assert
    - knot_rrset_empty
    - zone_contents_find_wildcard_child
    - follow_cname
    - node_rrset
    - name_found
    - node_parent
    linkageType: ''
    returnType: knotd_in_state_t
    signature: knotd_in_state_t name_not_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_found
      Src: /src/knot-dns/src/knot/nameserver/internet.c:457,1
    - Dst: name_not_found
      Src: /src/knot-dns/src/knot/nameserver/internet.c:459,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - state
    - pkt
    - qdata
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 6
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: solve_name
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - name_not_found
    - assert
    - name_found
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_name(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                  knotd_qdata_t *qdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: solve_name
      Src: /src/knot-dns/src/knot/nameserver/internet.c:479,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/knot/nameserver/internet.c:489,1
    - Dst: solve_name
      Src: /src/knot-dns/src/knot/nameserver/internet.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 468
    functionDepth: 7
    functionLinenumber: 468
    functionLinenumberEnd: 498
    functionName: solve_answer
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_aa
    - solve_name
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_answer(knotd_in_state_t state, knot_pkt_t *pkt,\n
      \                                    knotd_qdata_t *qdata, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: solve_answer_dnssec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_answer_dnssec(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                            knotd_qdata_t *qdata, void
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_authority_soa
      Src: /src/knot-dns/src/knot/nameserver/internet.c:524,1
    - Dst: put_authority_soa
      Src: /src/knot-dns/src/knot/nameserver/internet.c:527,1
    - Dst: put_delegation
      Src: /src/knot-dns/src/knot/nameserver/internet.c:530,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 548
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 548
    functionName: solve_authority
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - put_authority_soa
    - put_delegation
    - assert
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_authority(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                        knotd_qdata_t *qdata, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec_prove_nxdomain
      Src: /src/knot-dns/src/knot/nameserver/internet.c:558,1
    - Dst: nsec_prove_nodata
      Src: /src/knot-dns/src/knot/nameserver/internet.c:559,1
    - Dst: nsec_prove_dp_security
      Src: /src/knot-dns/src/knot/nameserver/internet.c:560,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:564,1
    - Dst: nsec_prove_wildcards
      Src: /src/knot-dns/src/knot/nameserver/internet.c:572,1
    - Dst: nsec_append_rrsigs
      Src: /src/knot-dns/src/knot/nameserver/internet.c:577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 586
      start: 550
    functionDepth: 9
    functionLinenumber: 550
    functionLinenumberEnd: 586
    functionName: solve_authority_dnssec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - nsec_append_rrsigs
    - assert
    - nsec_prove_nodata
    - nsec_prove_wildcards
    - nsec_prove_dp_security
    - nsec_prove_nxdomain
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_authority_dnssec(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                               knotd_qdata_t *qdata,
      void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/src/knot/nameserver/internet.c:599,1
    - Dst: put_additional
      Src: /src/knot-dns/src/knot/nameserver/internet.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 616
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 616
    functionName: solve_additional
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_additional_needed
    - put_additional
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_additional(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                         knotd_qdata_t *qdata, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - state
    - pkt
    - qdata
    - ctx
    argTypes:
    - knotd_in_state_t
    - knot_pkt_t*
    - knotd_qdata_t*
    - void*
    constantsTouched: []
    func_position:
      end: 628
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 628
    functionName: solve_additional_dnssec
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knotd_in_state_t
    signature: "knotd_in_state_t solve_additional_dnssec(knotd_in_state_t state, knot_pkt_t
      *pkt,\n                                                knotd_qdata_t *qdata,
      void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/internet.c:649,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:650,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:651,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/nameserver/internet.c:656,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:657,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:659,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/internet.c:662,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:663,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:664,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/nameserver/internet.c:669,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:670,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:672,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/internet.c:675,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:676,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:677,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/knot/nameserver/internet.c:682,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:683,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:685,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/nameserver/internet.c:688,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/internet.c:689,1
    - Dst: SOLVE_STEP
      Src: /src/knot-dns/src/knot/nameserver/internet.c:690,1
    - Dst: knot_wire_set_rcode
      Src: /src/knot-dns/src/knot/nameserver/internet.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 698
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 698
    functionName: answer_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 0
    functionsReached:
    - SOLVE_STEP
    - WALK_LIST
    - assert
    - knot_pkt_begin
    - knot_wire_set_rcode
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_NEED_ZONE
      Src: /src/knot-dns/src/knot/nameserver/internet.c:707,1
    - Dst: knot_pkt_has_tsig
      Src: /src/knot-dns/src/knot/nameserver/internet.c:710,1
    - Dst: NS_NEED_AUTH
      Src: /src/knot-dns/src/knot/nameserver/internet.c:711,1
    - Dst: NS_NEED_ZONE_CONTENTS
      Src: /src/knot-dns/src/knot/nameserver/internet.c:721,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/nameserver/internet.c:724,1
    - Dst: answer_query
      Src: /src/knot-dns/src/knot/nameserver/internet.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 727
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 727
    functionName: internet_process_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/internet.c
    functionUses: 1
    functionsReached:
    - knot_pkt_qname
    - NS_NEED_AUTH
    - NS_NEED_ZONE
    - NS_NEED_ZONE_CONTENTS
    - knot_pkt_has_tsig
    - answer_query
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t internet_process_query(knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:36,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pkt
    - node
    - state
    argTypes:
    - knot_pkt_t*
    - zone_node_t*
    - struct axfr_proc*
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: axfr_put_rrsets
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - assert
    linkageType: ''
    returnType: int
    signature: "int axfr_put_rrsets(knot_pkt_t *pkt, zone_node_t *node,\n                           struct
      axfr_proc *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:67,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:74,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:75,1
    - Dst: axfr_put_rrsets
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:76,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:78,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pkt
    - item
    - state
    argTypes:
    - knot_pkt_t*
    - void*
    - struct xfr_proc*
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: axfr_process_node_tree
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - assert
    - axfr_put_rrsets
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: "int axfr_process_node_tree(knot_pkt_t *pkt, const void *item,\n                                  struct
      xfr_proc *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:93,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:94,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:95,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: axfr_query_cleanup
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - mm_free
    - ptrlist_free
    - pthread_rwlock_unlock
    - zone_tree_it_free
    linkageType: ''
    returnType: void
    signature: void axfr_query_cleanup(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:107,1
    - Dst: xfr_stats_add
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:110,1
    - Dst: xfr_stats_end
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:111,1
    - Dst: xfr_log_finished
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:112,1
    - Dst: ZONE_NAME
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:112,1
    - Dst: REMOTE
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:113,1
    - Dst: PROTO
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:113,1
    - Dst: KEY
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - qdata
    - pkt
    - state
    argTypes:
    - knotd_qdata_t*
    - knot_pkt_t*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: axfr_answer_finished
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - xfr_stats_add
    - KEY
    - REMOTE
    - xfr_stats_end
    - xfr_log_finished
    - PROTO
    - ZONE_NAME
    linkageType: ''
    returnType: void
    signature: void axfr_answer_finished(knotd_qdata_t *qdata, knot_pkt_t *pkt, int
      state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_NEED_ZONE
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:122,1
    - Dst: NS_NEED_AUTH
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:123,1
    - Dst: NS_NEED_ZONE_CONTENTS
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: axfr_query_check
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - NS_NEED_ZONE
    - NS_NEED_ZONE_CONTENTS
    - NS_NEED_AUTH
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t axfr_query_check(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:131,1
    - Dst: axfr_query_check
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:134,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:142,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:150,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:154,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:155,1
    - Dst: xfr_stats_begin
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:158,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:161,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:162,1
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:164,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:165,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 177
    functionName: axfr_query_init
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_get_flag
    - xfr_stats_begin
    - zone_tree_is_empty
    - axfr_query_check
    - memset
    - mm_alloc
    - init_list
    - ptrlist_add
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: int axfr_query_init(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:197,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:198,1
    - Dst: AXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:203,1
    - Dst: AXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:206,1
    - Dst: AXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:209,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:210,1
    - Dst: xfr_process_list
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:222,1
    - Dst: AXFROUT_LOG
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:229,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/nameserver/axfr.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 232
    functionName: axfr_process_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/axfr.c
    functionUses: 2
    functionsReached:
    - knot_strerror
    - xfr_process_list
    - AXFROUT_LOG
    - zone_contents_serial
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t axfr_process_query(knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_NEED_ZONE
      Src: /src/knot-dns/src/knot/nameserver/notify.c:23,1
    - Dst: NS_NEED_AUTH
      Src: /src/knot-dns/src/knot/nameserver/notify.c:24,1
    - Dst: NS_NEED_QTYPE
      Src: /src/knot-dns/src/knot/nameserver/notify.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: notify_check_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/notify.c
    functionUses: 0
    functionsReached:
    - NS_NEED_QTYPE
    - NS_NEED_ZONE
    - NS_NEED_AUTH
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t notify_check_query(knotd_qdata_t *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: notify_check_query
      Src: /src/knot-dns/src/knot/nameserver/notify.c:38,1
    - Dst: NOTIFY_IN_LOG
      Src: /src/knot-dns/src/knot/nameserver/notify.c:44,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/nameserver/notify.c:58,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/nameserver/notify.c:60,1
    - Dst: NOTIFY_IN_LOG
      Src: /src/knot-dns/src/knot/nameserver/notify.c:63,1
    - Dst: slave_zone_serial
      Src: /src/knot-dns/src/knot/nameserver/notify.c:65,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/nameserver/notify.c:65,1
    - Dst: serial_equal
      Src: /src/knot-dns/src/knot/nameserver/notify.c:66,1
    - Dst: NOTIFY_IN_LOG
      Src: /src/knot-dns/src/knot/nameserver/notify.c:71,1
    - Dst: NOTIFY_IN_LOG
      Src: /src/knot-dns/src/knot/nameserver/notify.c:74,1
    - Dst: zone_set_preferred_master
      Src: /src/knot-dns/src/knot/nameserver/notify.c:78,1
    - Dst: knotd_qdata_remote_addr
      Src: /src/knot-dns/src/knot/nameserver/notify.c:78,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/nameserver/notify.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - pkt
    - qdata
    argTypes:
    - knot_pkt_t*
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 82
    functionName: notify_process_query
    functionSourceFile: /src/knot-dns/src/knot/nameserver/notify.c
    functionUses: 1
    functionsReached:
    - NOTIFY_IN_LOG
    - zone_events_schedule_now
    - slave_zone_serial
    - conf
    - serial_equal
    - knot_pkt_section
    - zone_set_preferred_master
    - notify_check_query
    - knot_pkt_rr
    - knotd_qdata_remote_addr
    linkageType: ''
    returnType: knot_layer_state_t
    signature: knot_layer_state_t notify_process_query(knot_pkt_t *pkt, knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: knotd_qdata_local_addr
    functionSourceFile: /src/knot-dns/src/knot/include/module.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage *knotd_qdata_local_addr(const knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qdata
    argTypes:
    - knotd_qdata_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: knotd_qdata_remote_addr
    functionSourceFile: /src/knot-dns/src/knot/include/module.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: struct sockaddr_storage *knotd_qdata_remote_addr(const knotd_qdata_t
      *qdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_update.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - catalog_update_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: catalog_it_begin
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.h
    functionUses: 0
    functionsReached:
    - trie_it_begin
    linkageType: ''
    returnType: catalog_it_t
    signature: catalog_it_t *catalog_it_begin(catalog_update_t *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/catalog/catalog_update.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - catalog_it_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: catalog_it_val
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.h
    functionUses: 0
    functionsReached:
    - trie_it_val
    linkageType: ''
    returnType: catalog_upd_val_t
    signature: catalog_upd_val_t *catalog_it_val(catalog_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/catalog/catalog_update.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - catalog_it_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: catalog_it_finished
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.h
    functionUses: 0
    functionsReached:
    - trie_it_finished
    linkageType: ''
    returnType: bool
    signature: bool catalog_it_finished(catalog_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/catalog/interpret.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - _b
    argTypes:
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: label_eq
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool label_eq(const knot_dname_t *a, const char *_b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/catalog/interpret.c:37,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/catalog/interpret.c:38,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/catalog/interpret.c:40,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:41,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/catalog/interpret.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: check_zone_version
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - memcpy
    - node_rdataset
    - knot_rdataset_next
    - zone_contents_find_node
    linkageType: ''
    returnType: bool
    signature: bool check_zone_version(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/interpret.c:62,1
    - Dst: cat_upd_ctx_t*::member_cb
      Src: /src/knot-dns/src/knot/catalog/interpret.c:66,1
    - Dst: cat_upd_ctx_t*::property_cb
      Src: /src/knot-dns/src/knot/catalog/interpret.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - _ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: interpret_node
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - cat_upd_ctx_t*::property_cb
    - assert
    - cat_upd_ctx_t*::member_cb
    linkageType: ''
    returnType: int
    signature: int interpret_node(zone_node_t *node, void * _ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_store
      Src: /src/knot-dns/src/knot/catalog/interpret.c:77,1
    - Dst: catalog_dname_append
      Src: /src/knot-dns/src/knot/catalog/interpret.c:78,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/catalog/interpret.c:82,1
    - Dst: zone_tree_sub_apply
      Src: /src/knot-dns/src/knot/catalog/interpret.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - zdiff
    - ctx
    argTypes:
    - zone_diff_t*
    - cat_upd_ctx_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: interpret_zone
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - knot_dname_store
    - catalog_dname_append
    - zone_tree_get
    - zone_tree_sub_apply
    linkageType: ''
    returnType: int
    signature: int interpret_zone(zone_diff_t *zdiff, cat_upd_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/interpret.c:93,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:94,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/catalog/interpret.c:97,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/catalog/interpret.c:98,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:99,1
    - Dst: knot_ptr_name
      Src: /src/knot-dns/src/knot/catalog/interpret.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - prop_node
    - complete_conts
    - owner
    argTypes:
    - zone_node_t*
    - zone_contents_t*
    - knot_dname_t**
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: property_get_member
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - knot_ptr_name
    - zone_contents_find_node
    - knot_dname_next_label
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t *property_get_member(const zone_node_t *prop_node,\n
      \                                              const zone_contents_t *complete_conts,\n
      \                                              const knot_dname_t **owner)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:114,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:121,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/catalog/interpret.c:121,1
    - Dst: knot_rdataset_subset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:122,1
    - Dst: knot_ptr_name
      Src: /src/knot-dns/src/knot/catalog/interpret.c:129,1
    - Dst: catalog_update_add
      Src: /src/knot-dns/src/knot/catalog/interpret.c:130,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/catalog/interpret.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - cat_upd_ctx_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: cat_update_add_memb
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_ptr_name
    - knot_rdataset_next
    - catalog_update_add
    - binode_counterpart
    - knot_rdataset_subset
    linkageType: ''
    returnType: int
    signature: int cat_update_add_memb(zone_node_t *node, cat_upd_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: label_eq
      Src: /src/knot-dns/src/knot/catalog/interpret.c:140,1
    - Dst: property_get_member
      Src: /src/knot-dns/src/knot/catalog/interpret.c:145,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:150,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/interpret.c:154,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:157,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/catalog/interpret.c:157,1
    - Dst: knot_rdataset_subset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:158,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/catalog/interpret.c:172,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/interpret.c:175,1
    - Dst: catalog_update_add
      Src: /src/knot-dns/src/knot/catalog/interpret.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - cat_upd_ctx_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: cat_update_add_grp
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - binode_counterpart
    - label_eq
    - property_get_member
    - catalog_update_add
    - log_zone_warning
    - knot_rdataset_subset
    linkageType: ''
    returnType: int
    signature: int cat_update_add_grp(zone_node_t *node, cat_upd_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/interpret.c:189,1
    - Dst: zone_diff_from_zone
      Src: /src/knot-dns/src/knot/catalog/interpret.c:191,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/catalog/interpret.c:195,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/catalog/interpret.c:198,1
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/catalog/interpret.c:199,1
    - Dst: zone_diff_reverse
      Src: /src/knot-dns/src/knot/catalog/interpret.c:201,1
    - Dst: interpret_zone
      Src: /src/knot-dns/src/knot/catalog/interpret.c:203,1
    - Dst: zone_diff_reverse
      Src: /src/knot-dns/src/knot/catalog/interpret.c:204,1
    - Dst: interpret_zone
      Src: /src/knot-dns/src/knot/catalog/interpret.c:209,1
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/catalog/interpret.c:211,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/catalog/interpret.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - u
    - zone
    - zone_diff
    - complete_contents
    - remove
    - check
    - upd_count
    argTypes:
    - catalog_update_t*
    - struct zone_contents*
    - zone_diff_t*
    - struct zone_contents*
    - bool
    - catalog_t*
    - ssize_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 214
    functionName: catalog_update_from_zone
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - zone_diff_reverse
    - zone_diff_from_zone
    - interpret_zone
    - trie_weight
    - knot_dname_labels
    linkageType: ''
    returnType: int
    signature: "int catalog_update_from_zone(catalog_update_t *u, struct zone_contents
      *zone,\n                             const zone_diff_t *zone_diff,\n                             const
      struct zone_contents *complete_contents,\n                             bool
      remove, catalog_t *check, ssize_t *upd_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/catalog/interpret.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: rr_count
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    linkageType: ''
    returnType: int
    signature: int rr_count(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_count
      Src: /src/knot-dns/src/knot/catalog/interpret.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - cat_upd_ctx_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: member_verify
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - rr_count
    linkageType: ''
    returnType: int
    signature: int member_verify(zone_node_t *node, cat_upd_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - cat_upd_ctx_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: prop_verify
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int prop_verify(zone_node_t *node, cat_upd_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/catalog/interpret.c:234,1
    - Dst: check_zone_version
      Src: /src/knot-dns/src/knot/catalog/interpret.c:237,1
    - Dst: zone_diff_from_zone
      Src: /src/knot-dns/src/knot/catalog/interpret.c:242,1
    - Dst: interpret_zone
      Src: /src/knot-dns/src/knot/catalog/interpret.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - struct zone_contents*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: catalog_zone_verify
    functionSourceFile: /src/knot-dns/src/knot/catalog/interpret.c
    functionUses: 0
    functionsReached:
    - check_zone_version
    - zone_diff_from_zone
    - interpret_zone
    - knot_dname_labels
    linkageType: ''
    returnType: int
    signature: int catalog_zone_verify(const struct zone_contents *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:18,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - u
    argTypes:
    - catalog_update_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: catalog_update_init
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - trie_create
    linkageType: ''
    returnType: int
    signature: int catalog_update_init(catalog_update_t *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:29,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: catalog_update_new
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    linkageType: ''
    returnType: catalog_update_t
    signature: catalog_update_t *catalog_update_new(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:42,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:43,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:44,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - catalog_upd_val_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: catalog_upd_val_free
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void catalog_upd_val_free(catalog_upd_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_upd_val_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tval
    - unused
    argTypes:
    - trie_val_t*
    - _unused_*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: freecb
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_upd_val_free
    linkageType: ''
    returnType: int
    signature: int freecb(trie_val_t *tval, _unused_ void *unused)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_apply
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:59,1
    - Dst: trie_clear
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - catalog_update_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: catalog_update_clear
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 1
    functionsReached:
    - trie_apply
    - trie_clear
    linkageType: ''
    returnType: void
    signature: void catalog_update_clear(catalog_update_t *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:66,1
    - Dst: trie_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - u
    argTypes:
    - catalog_update_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: catalog_update_deinit
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - trie_free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void catalog_update_deinit(catalog_update_t *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_update_deinit
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:73,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - catalog_update_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: catalog_update_free
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - free
    - catalog_update_deinit
    linkageType: ''
    returnType: void
    signature: void catalog_update_free(catalog_update_t *u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:81,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:81,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:84,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:89,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:90,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - member
    - bail
    - owner
    - type
    argTypes:
    - knot_dname_t*
    - int
    - knot_dname_t*
    - catalog_upd_type_t
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: upd_val_new
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - knot_dname_size
    - knot_dname_copy
    - memcpy
    - malloc
    linkageType: ''
    returnType: catalog_upd_val_t
    signature: "catalog_upd_val_t *upd_val_new(const knot_dname_t *member, int bail,\n
      \                                     const knot_dname_t *owner, catalog_upd_type_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:114,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - older
    - catz
    - owner
    argTypes:
    - catalog_upd_val_t*
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: upd_val_equal
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool upd_val_equal(const catalog_upd_val_t *older, const knot_dname_t
      *catz, const knot_dname_t *owner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:122,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:123,1
    - Dst: knot_dname_prefixlen
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr_owner
    - catz
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: get_uniq
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - knot_dname_prefixlen
    - assert
    - knot_dname_labels
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t *get_uniq(const knot_dname_t *ptr_owner,\n                                    const
      knot_dname_t *catz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_uniq
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:130,1
    - Dst: get_uniq
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:130,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - owner1
    - catz1
    - owner2
    - catz2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: same_uniq
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - get_uniq
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool same_uniq(const knot_dname_t *owner1, const knot_dname_t *catz1,\n
      \                     const knot_dname_t *owner2, const knot_dname_t *catz2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:143,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:144,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:149,1
    - Dst: strndup
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - val
    - check_ow
    - check_catz
    - group
    - group_len
    argTypes:
    - catalog_upd_val_t*
    - knot_dname_t*
    - knot_dname_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: upd_val_set_prop
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - free
    - strndup
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int upd_val_set_prop(catalog_upd_val_t *val, const knot_dname_t *check_ow,\n
      \                           const knot_dname_t *check_catz, const char *group,\n
      \                           size_t group_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:160,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:166,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:171,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:175,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:175,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:178,1
    - Dst: upd_val_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:179,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:180,1
    - Dst: catalog_upd_val_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:183,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:184,1
    - Dst: upd_val_set_prop
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:190,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:193,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:195,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:199,1
    - Dst: same_uniq
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:202,1
    - Dst: catalog_contains_exact
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:213,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:214,1
    - Dst: catalog_has_member
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:218,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:219,1
    - Dst: upd_val_new
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:223,1
    - Dst: catalog_upd_val_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:230,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:234,1
    - Dst: catalog_upd_val_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:236,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:239,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 8
    argNames:
    - u
    - member
    - owner
    - catzone
    - type
    - group
    - group_len
    - check_rem
    argTypes:
    - catalog_update_t*
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - catalog_upd_type_t
    - char*
    - size_t
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 242
    functionName: catalog_update_add
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 2
    functionsReached:
    - assert
    - upd_val_equal
    - catalog_has_member
    - log_zone_error
    - catalog_upd_val_free
    - trie_del
    - free
    - upd_val_new
    - upd_val_set_prop
    - knot_dname_copy
    - same_uniq
    - trie_get_ins
    - catalog_contains_exact
    - trie_get_try
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int catalog_update_add(catalog_update_t *u, const knot_dname_t *member,\n
      \                      const knot_dname_t *owner, const knot_dname_t *catzone,\n
      \                      catalog_upd_type_t type, const char *group,\n                       size_t
      group_len, catalog_t *check_rem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - member
    argTypes:
    - catalog_update_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: catalog_update_get
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - trie_get_try
    linkageType: ''
    returnType: catalog_upd_val_t
    signature: catalog_upd_val_t *catalog_update_get(catalog_update_t *u, const knot_dname_t
      *member)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_exists
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:258,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:258,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:260,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:261,1
    - Dst: conf_rawid_exists
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:264,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:264,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:265,1
    - Dst: catalog_has_member
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:268,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - val
    - conf
    - cat
    argTypes:
    - catalog_upd_val_t*
    - conf_t*
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: check_member
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_has_member
    - log_zone_error
    - knot_dname_size
    - knot_dname_to_str
    - conf_rawid_exists
    linkageType: ''
    returnType: bool
    signature: bool check_member(catalog_upd_val_t *val, conf_t *conf, catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_exists
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:285,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:285,1
    - Dst: catalog_update_add
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - mem
    - ow
    - cz
    - gr
    - ctx
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - _unused_*
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: rem_conf_conflict
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_update_add
    - knot_dname_size
    - conf_rawid_exists
    linkageType: ''
    returnType: int
    signature: "int rem_conf_conflict(const knot_dname_t *mem, const knot_dname_t
      *ow,\n                             const knot_dname_t *cz, _unused_ const char
      *gr, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:293,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:294,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:295,1
    - Dst: check_member
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:296,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:299,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:301,1
    - Dst: catalog_apply
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - u
    - cat
    - conf
    argTypes:
    - catalog_update_t*
    - catalog_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: catalog_update_finalize
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_apply
    - catalog_it_begin
    - catalog_it_free
    - catalog_it_val
    - catalog_it_finished
    - catalog_it_next
    - check_member
    linkageType: ''
    returnType: void
    signature: void catalog_update_finalize(catalog_update_t *u, catalog_t *cat, conf_t
      *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:313,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:314,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:315,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:319,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:320,1
    - Dst: catalog_add
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:326,1
    - Dst: catalog_del
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:330,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:335,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:338,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:340,1
    - Dst: catalog_commit
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:342,1
    - Dst: catalog_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - u
    - cat
    argTypes:
    - catalog_update_t*
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 347
    functionName: catalog_update_commit
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_it_begin
    - assert
    - catalog_it_free
    - catalog_it_val
    - catalog_commit
    - catalog_it_finished
    - catalog_del
    - catalog_abort
    - catalog_it_next
    - catalog_add
    linkageType: ''
    returnType: int
    signature: int catalog_update_commit(catalog_update_t *u, catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:358,1
    - Dst: catalog_update_add
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - member
    - owner
    - catz
    - group
    - dactx
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - _unused_*
    - void*
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: del_all_cb
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - catalog_update_add
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int del_all_cb(const knot_dname_t *member, const knot_dname_t *owner,\n
      \                     const knot_dname_t *catz, _unused_ const char *group,
      void *dactx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:368,1
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:370,1
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:372,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - u
    - cat
    - zone
    - upd_count
    argTypes:
    - catalog_update_t*
    - catalog_t*
    - knot_dname_t*
    - ssize_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: catalog_update_del_all
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 0
    functionsReached:
    - trie_weight
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int catalog_update_del_all(catalog_update_t *u, catalog_t *cat, const
      knot_dname_t *zone, ssize_t *upd_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:379,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:380,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:387,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:388,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:396,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:397,1
    - Dst: kill
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:398,1
    - Dst: getpid
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:398,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/catalog/catalog_update.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - server
    - conf
    - zone
    argTypes:
    - server_t*
    - conf_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 403
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 403
    functionName: catalog_zone_purge
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_update.c
    functionUses: 1
    functionsReached:
    - assert
    - conf_zone_get
    - kill
    - getpid
    - log_zone_info
    - ATOMIC_SET
    - conf_opt
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int catalog_zone_purge(server_t *server, conf_t *conf, const knot_dname_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/knot/catalog/generate.c:21,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/knot/catalog/generate.c:22,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/generate.c:22,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/knot/catalog/generate.c:24,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:32,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:34,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/catalog/generate.c:39,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/generate.c:40,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:44,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/catalog/generate.c:45,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/catalog/generate.c:46,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/catalog/generate.c:47,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/catalog/generate.c:48,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/catalog/generate.c:49,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:50,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/generate.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - member
    - catzone
    - member_time
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 54
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 54
    functionName: catalog_member_owner
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_init
    - wire_ctx_write
    - free
    - knot_dname_size
    - SipHash24_Init
    - wire_ctx_write_u8
    - SipHash24_Update
    - malloc
    - wire_ctx_skip
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t *catalog_member_owner(const knot_dname_t *member,\n                                          const
      knot_dname_t *catzone,\n                                          time_t member_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/catalog/generate.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - old_z
    - new_z
    argTypes:
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: same_group
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool same_group(zone_t *old_z, zone_t *new_z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/catalog/generate.c:70,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/catalog/generate.c:71,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/catalog/generate.c:72,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/catalog/generate.c:74,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/catalog/generate.c:75,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:77,1
    - Dst: catalog_member_owner
      Src: /src/knot-dns/src/knot/catalog/generate.c:78,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:81,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/generate.c:86,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/catalog/generate.c:90,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:94,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:96,1
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/catalog/generate.c:99,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/catalog/generate.c:100,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/catalog/generate.c:101,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:104,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/catalog/generate.c:107,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/catalog/generate.c:108,1
    - Dst: catalog_member_owner
      Src: /src/knot-dns/src/knot/catalog/generate.c:109,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/generate.c:112,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/catalog/generate.c:114,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:116,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:119,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/catalog/generate.c:128,1
    - Dst: same_group
      Src: /src/knot-dns/src/knot/catalog/generate.c:130,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/catalog/generate.c:137,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/generate.c:140,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:141,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - db_new
    - db_old
    argTypes:
    - struct knot_zonedb*
    - struct knot_zonedb*
    constantsTouched: []
    func_position:
      end: 144
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 144
    functionName: catalogs_generate
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_events_schedule_now
    - free
    - log_zone_error
    - knot_zonedb_iter_next
    - knot_zonedb_iter_finished
    - knot_zonedb_find
    - knot_zonedb_iter_begin
    - catalog_member_owner
    - knot_zonedb_iter_val
    - same_group
    - knot_zonedb_iter_free
    linkageType: ''
    returnType: void
    signature: void catalogs_generate(struct knot_zonedb *db_new, struct knot_zonedb
      *db_old)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:148,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/knot/catalog/generate.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rrset
    - data
    - len
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: set_rdata
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 7
    functionsReached:
    - knot_rdata_size
    - knot_rdata_init
    linkageType: ''
    returnType: void
    signature: void set_rdata(knot_rrset_t *rrset, uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:164,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/catalog/generate.c:166,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:169,1
    - Dst: def_txt_owner
      Src: /src/knot-dns/src/knot/catalog/generate.c:171,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/catalog/generate.c:174,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:177,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:181,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/catalog/generate.c:186,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/catalog/generate.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ptr_owner
    - group
    - conts
    - up
    argTypes:
    - knot_dname_t*
    - char*
    - zone_contents_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: add_group_txt
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_contents_add_rr
    - strlen
    - set_rdata
    - zone_update_add
    - def_txt_owner
    - memcpy
    - knot_rrset_init
    linkageType: ''
    returnType: int
    signature: "int add_group_txt(const knot_dname_t *ptr_owner, const char *group,\n
      \                        zone_contents_t *conts, zone_update_t *up)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: def_txt_owner
      Src: /src/knot-dns/src/knot/catalog/generate.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr_owner
    - up
    argTypes:
    - knot_dname_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: rem_group_txt
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 0
    functionsReached:
    - def_txt_owner
    linkageType: ''
    returnType: int
    signature: int rem_group_txt(const knot_dname_t *ptr_owner, zone_update_t *up)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/catalog/generate.c:212,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:225,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/generate.c:231,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:232,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/catalog/generate.c:233,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/catalog/generate.c:234,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/catalog/generate.c:235,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/catalog/generate.c:236,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/catalog/generate.c:237,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/catalog/generate.c:238,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/catalog/generate.c:239,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:240,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/knot/catalog/generate.c:240,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/catalog/generate.c:241,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:248,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/catalog/generate.c:249,1
    - Dst: knot_dname_store
      Src: /src/knot-dns/src/knot/catalog/generate.c:256,1
    - Dst: catalog_dname_append
      Src: /src/knot-dns/src/knot/catalog/generate.c:256,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:261,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/catalog/generate.c:262,1
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/catalog/generate.c:268,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/catalog/generate.c:269,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/catalog/generate.c:270,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:275,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/generate.c:275,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/catalog/generate.c:277,1
    - Dst: add_group_txt
      Src: /src/knot-dns/src/knot/catalog/generate.c:278,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:279,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:282,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:284,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:288,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - u
    - catzone
    - soa_serial
    argTypes:
    - catalog_update_t*
    - knot_dname_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 290
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 290
    functionName: catalog_update_to_zone
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 1
    functionsReached:
    - catalog_it_free
    - catalog_it_val
    - zone_contents_deep_free
    - wire_ctx_write_u32
    - zone_contents_add_rr
    - knot_dname_size
    - set_rdata
    - catalog_dname_append
    - catalog_it_next
    - assert
    - catalog_it_begin
    - knot_dname_store
    - add_group_txt
    - catalog_it_finished
    - wire_ctx_offset
    - wire_ctx_write
    - knot_rrset_init
    - wire_ctx_init
    - zone_contents_new
    linkageType: ''
    returnType: struct zone_contents
    signature: "struct zone_contents *catalog_update_to_zone(catalog_update_t *u,
      const knot_dname_t *catzone,\n                                             uint32_t
      soa_serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/catalog/generate.c:295,1
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/catalog/generate.c:301,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/catalog/generate.c:302,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/catalog/generate.c:303,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:305,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/generate.c:309,1
    - Dst: rem_group_txt
      Src: /src/knot-dns/src/knot/catalog/generate.c:310,1
    - Dst: add_group_txt
      Src: /src/knot-dns/src/knot/catalog/generate.c:312,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:314,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/catalog/generate.c:318,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/catalog/generate.c:318,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/generate.c:319,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/catalog/generate.c:321,1
    - Dst: rem_group_txt
      Src: /src/knot-dns/src/knot/catalog/generate.c:323,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/generate.c:326,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/catalog/generate.c:328,1
    - Dst: add_group_txt
      Src: /src/knot-dns/src/knot/catalog/generate.c:330,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/catalog/generate.c:333,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/catalog/generate.c:335,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - u
    - zu
    argTypes:
    - catalog_update_t*
    - struct zone_update*
    constantsTouched: []
    func_position:
      end: 337
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 337
    functionName: catalog_update_to_update
    functionSourceFile: /src/knot-dns/src/knot/catalog/generate.c
    functionUses: 1
    functionsReached:
    - catalog_it_begin
    - catalog_it_free
    - catalog_it_val
    - add_group_txt
    - knot_dname_size
    - catalog_it_finished
    - rem_group_txt
    - set_rdata
    - zone_update_add
    - catalog_it_next
    - zone_update_remove
    - knot_rrset_init
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int catalog_update_to_update(catalog_update_t *u, struct zone_update
      *zu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - storage
    - name
    argTypes:
    - knot_dname_storage_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: catalog_dname_append
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t catalog_dname_append(knot_dname_storage_t storage, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:32,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - subname
    - name
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: catalog_bailiwick_shift
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_dname_next_label
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int catalog_bailiwick_shift(const knot_dname_t *subname, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cat
    - path
    - mapsize
    argTypes:
    - catalog_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: catalog_init
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_init
    linkageType: ''
    returnType: void
    signature: void catalog_init(catalog_t *cat, const char *path, size_t mapsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:49,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:50,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:52,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:55,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ro_txn
    - rw_txn
    argTypes:
    - knot_lmdb_txn_t*
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: ensure_cat_version
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - log_warning
    - strlen
    - knot_lmdb_insert
    - knot_lmdb_find
    - strncmp
    linkageType: ''
    returnType: void
    signature: void ensure_cat_version(knot_lmdb_txn_t *ro_txn, knot_lmdb_txn_t *rw_txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ensure_cat_version
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: check_cat_version
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - ensure_cat_version
    linkageType: ''
    returnType: void
    signature: void check_cat_version(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_is_open
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:70,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:77,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:81,1
    - Dst: check_cat_version
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: catalog_open
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - check_cat_version
    - knot_lmdb_is_open
    - calloc
    linkageType: ''
    returnType: int
    signature: int catalog_open(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:94,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:98,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:101,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:104,1
    - Dst: check_cat_version
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: catalog_begin
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - assert
    - calloc
    - knot_lmdb_begin
    - free
    - check_cat_version
    linkageType: ''
    returnType: int
    signature: int catalog_begin(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:112,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:113,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:115,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:121,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:125,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: catalog_commit
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 2
    functionsReached:
    - rcu_xchg_pointer
    - knot_lmdb_commit
    - calloc
    - knot_lmdb_begin
    - free
    linkageType: ''
    returnType: int
    signature: int catalog_commit(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:133,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:135,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: catalog_abort
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 1
    functionsReached:
    - free
    - rcu_xchg_pointer
    - knot_lmdb_abort
    linkageType: ''
    returnType: void
    signature: void catalog_abort(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:142,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:144,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: catalog_commit_cleanup
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 1
    functionsReached:
    - free
    - rcu_xchg_pointer
    - knot_lmdb_abort
    linkageType: ''
    returnType: void
    signature: void catalog_commit_cleanup(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:151,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:153,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:154,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:157,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:158,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: catalog_deinit
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_deinit
    - free
    - assert
    - knot_lmdb_abort
    linkageType: ''
    returnType: void
    signature: void catalog_deinit(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:174,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:175,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:176,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:178,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:179,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - cat
    - member
    - owner
    - catzone
    - group
    argTypes:
    - catalog_t*
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: catalog_add
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 1
    functionsReached:
    - knot_lmdb_insert
    - free
    - assert
    - knot_lmdb_make_key
    linkageType: ''
    returnType: int
    signature: "int catalog_add(catalog_t *cat, const knot_dname_t *member,\n                const
      knot_dname_t *owner, const knot_dname_t *catzone,\n                const char
      *group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:189,1
    - Dst: knot_lmdb_del_prefix
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:190,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cat
    - member
    argTypes:
    - catalog_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: catalog_del
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 2
    functionsReached:
    - free
    - knot_lmdb_make_key
    - knot_lmdb_del_prefix
    linkageType: ''
    returnType: int
    signature: int catalog_del(catalog_t *cat, const knot_dname_t *member)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_unmake_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - val
    - owner
    - catz
    - group
    argTypes:
    - MDB_val*
    - knot_dname_t**
    - knot_dname_t**
    - char**
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: unmake_val
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_unmake_key
    linkageType: ''
    returnType: void
    signature: "void unmake_val(MDB_val *val, const knot_dname_t **owner,\n                       const
      knot_dname_t **catz, const char **group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:214,1
    - Dst: unmake_val
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:218,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - cat
    - member
    - owner
    - catz
    - group
    - tofree
    argTypes:
    - catalog_t*
    - knot_dname_t*
    - knot_dname_t**
    - knot_dname_t**
    - char**
    - void**
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: find_threadsafe
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - free
    - knot_lmdb_make_key
    - unmake_val
    linkageType: ''
    returnType: int
    signature: "int find_threadsafe(catalog_t *cat, const knot_dname_t *member,\n
      \                          const knot_dname_t **owner, const knot_dname_t **catz,\n
      \                          const char **group, void **tofree)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_threadsafe
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cat
    - member
    - catz
    - group
    - tofree
    argTypes:
    - catalog_t*
    - knot_dname_t*
    - knot_dname_t**
    - char**
    - void**
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: catalog_get_catz
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 1
    functionsReached:
    - find_threadsafe
    linkageType: ''
    returnType: int
    signature: "int catalog_get_catz(catalog_t *cat, const knot_dname_t *member,\n
      \                    const knot_dname_t **catz, const char **group, void **tofree)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cat
    - member
    argTypes:
    - catalog_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: catalog_has_member
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: bool
    signature: bool catalog_has_member(catalog_t *cat, const knot_dname_t *member)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:249,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:250,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - cat
    - member
    - owner
    - catz
    argTypes:
    - catalog_t*
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: catalog_contains_exact
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 1
    functionsReached:
    - free
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: "bool catalog_contains_exact(catalog_t *cat, const knot_dname_t *member,\n
      \                           const knot_dname_t *owner, const knot_dname_t *catz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_unmake_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:268,1
    - Dst: unmake_val
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:269,1
    - Dst: catalog_apply_ctx_t*::cb
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - key
    - val
    - ctx
    argTypes:
    - MDB_val*
    - MDB_val*
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: catalog_apply_cb
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - catalog_apply_ctx_t*::cb
    - knot_lmdb_unmake_key
    - unmake_val
    linkageType: ''
    returnType: int
    signature: int catalog_apply_cb(MDB_val *key, MDB_val *val, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:279,1
    - Dst: free
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cat
    - for_member
    - cb
    - ctx
    - rw
    argTypes:
    - catalog_t*
    - knot_dname_t*
    - catalog_apply_cb_t
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: catalog_apply
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 2
    functionsReached:
    - free
    - knot_lmdb_make_key
    linkageType: ''
    returnType: int
    signature: "int catalog_apply(catalog_t *cat, const knot_dname_t *for_member,\n
      \                 catalog_apply_cb_t cb, void *ctx, bool rw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unmake_val
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:294,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txn
    - catalog
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: same_catalog
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - unmake_val
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: bool same_catalog(knot_lmdb_txn_t *txn, const knot_dname_t *catalog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:301,1
    - Dst: make_path
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:306,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:308,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:315,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:316,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:317,1
    - Dst: same_catalog
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:318,1
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:319,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:322,1
    - Dst: same_catalog
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:323,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:324,1
    - Dst: ensure_cat_version
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:327,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:329,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:330,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:333,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/catalog/catalog_db.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - from
    - to
    - cat_only
    - read_rw_txn
    argTypes:
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    - knot_dname_t*
    - bool
    constantsTouched: []
    func_position:
      end: 336
      start: 298
    functionDepth: 5
    functionLinenumber: 298
    functionLinenumberEnd: 336
    functionName: catalog_copy
    functionSourceFile: /src/knot-dns/src/knot/catalog/catalog_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_commit
    - knot_lmdb_abort
    - knot_lmdb_foreach
    - knot_lmdb_begin
    - make_path
    - knot_lmdb_insert
    - knot_lmdb_exists
    - same_catalog
    - ensure_cat_version
    - knot_lmdb_open
    - knot_lmdb_del_cur
    linkageType: ''
    returnType: int
    signature: "int catalog_copy(knot_lmdb_db_t *from, knot_lmdb_db_t *to,\n                 const
      knot_dname_t *cat_only, bool read_rw_txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/common/stats.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stats_vals
    - offset
    - threads
    argTypes:
    - knot_atomic_uint64_t**
    - uint32_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: stats_get_counter
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - ATOMIC_GET
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t stats_get_counter(knot_atomic_uint64_t **stats_vals, uint32_t
      offset,\n                                  unsigned threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/stats.c:48,1
    - Dst: knot_xdp_socket_stats
      Src: /src/knot-dns/src/knot/common/stats.c:71,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:75,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:76,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:77,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:78,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:79,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:80,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:81,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:82,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:83,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:84,1
    - Dst: CTR_FILL
      Src: /src/knot-dns/src/knot/common/stats.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - fcn
    - ctx
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 110
    functionName: stats_xdp
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - CTR_FILL
    - knot_xdp_socket_stats
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int stats_xdp(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/stats.c:125,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:129,1
    - Dst: knot_zonedb_size
      Src: /src/knot-dns/src/knot/common/stats.c:129,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:130,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fcn
    - ctx
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: stats_server
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - knot_zonedb_size
    - DUMP_VAL
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int stats_server(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/stats.c:141,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/stats.c:145,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/common/stats.c:148,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:152,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fcn
    - ctx
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: stats_zone
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - assert
    - DUMP_VAL
    - strcasecmp
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: int stats_zone(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - fcn
    - ctx
    - params
    - mod
    - ctr
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    - stats_dump_params_t*
    - knotd_mod_t*
    - mod_ctr_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: stats_counter
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - DUMP_VAL
    linkageType: ''
    returnType: int
    signature: "int stats_counter(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx,\n                         stats_dump_params_t
      *params, knotd_mod_t *mod, mod_ctr_t *ctr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/common/stats.c:188,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:189,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/common/stats.c:191,1
    - Dst: DUMP_VAL
      Src: /src/knot-dns/src/knot/common/stats.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - fcn
    - ctx
    - params
    - mod
    - ctr
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    - stats_dump_params_t*
    - knotd_mod_t*
    - mod_ctr_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: stats_counters
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - free
    - snprintf
    - DUMP_VAL
    linkageType: ''
    returnType: int
    signature: "int stats_counters(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx,\n
      \                         stats_dump_params_t *params, knotd_mod_t *mod, mod_ctr_t
      *ctr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/knot-dns/src/knot/common/stats.c:205,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/common/stats.c:205,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/common/stats.c:213,1
    - Dst: knotd_mod_threads
      Src: /src/knot-dns/src/knot/common/stats.c:220,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/common/stats.c:226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - fcn
    - ctx
    argTypes:
    - stats_dump_ctr_f
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 250
    functionName: stats_modules
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - strncasecmp
    - knotd_mod_threads
    - strlen
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: int stats_modules(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:280,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:285,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:292,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:300,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:304,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - params
    - dump_ctx
    argTypes:
    - stats_dump_params_t*
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 312
    functionName: dump_ctr
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int dump_ctr(stats_dump_params_t *params, stats_dump_ctx_t *dump_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/common/stats.c:316,1
    - Dst: stats_modules
      Src: /src/knot-dns/src/knot/common/stats.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - dump_ctx
    argTypes:
    - zone_t*
    - stats_dump_ctx_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: zone_stats_dump
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - EMPTY_LIST
    - stats_modules
    linkageType: ''
    returnType: void
    signature: void zone_stats_dump(zone_t *zone, stats_dump_ctx_t *dump_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/common/stats.c:339,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/common/stats.c:340,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/common/stats.c:341,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/stats.c:347,1
    - Dst: stats_server
      Src: /src/knot-dns/src/knot/common/stats.c:362,1
    - Dst: stats_xdp
      Src: /src/knot-dns/src/knot/common/stats.c:366,1
    - Dst: stats_modules
      Src: /src/knot-dns/src/knot/common/stats.c:370,1
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/common/stats.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - conf
    - fd
    - server
    argTypes:
    - conf_t*
    - FILE*
    - server_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 375
    functionName: dump_to_file
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - stats_server
    - stats_modules
    - knot_zonedb_foreach
    - localtime_r
    - time
    - stats_xdp
    - fprintf
    - strftime
    linkageType: ''
    returnType: void
    signature: void dump_to_file(conf_t *conf, FILE *fd, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/common/stats.c:379,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/stats.c:380,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/stats.c:382,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:384,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/stats.c:386,1
    - Dst: fopen
      Src: /src/knot-dns/src/knot/common/stats.c:393,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/stats.c:395,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/stats.c:396,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/stats.c:396,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:397,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/stats.c:404,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/stats.c:405,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:406,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/stats.c:410,1
    - Dst: dump_to_file
      Src: /src/knot-dns/src/knot/common/stats.c:413,1
    - Dst: fflush
      Src: /src/knot-dns/src/knot/common/stats.c:415,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/common/stats.c:416,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/stats.c:422,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/stats.c:423,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/stats.c:423,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/common/stats.c:424,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:426,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/common/stats.c:429,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/stats.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 431
    functionName: dump_stats
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - fopen
    - assert
    - fclose
    - log_debug
    - knot_strerror
    - free
    - conf
    - unlink
    - dump_to_file
    - fflush
    - knot_map_errno
    - log_error
    - conf_get
    linkageType: ''
    returnType: void
    signature: void dump_stats(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_register_thread
      Src: /src/knot-dns/src/knot/common/stats.c:435,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/stats.c:437,1
    - Dst: sleep
      Src: /src/knot-dns/src/knot/common/stats.c:438,1
    - Dst: pthread_setcancelstate
      Src: /src/knot-dns/src/knot/common/stats.c:440,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/common/stats.c:441,1
    - Dst: dump_stats
      Src: /src/knot-dns/src/knot/common/stats.c:442,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/common/stats.c:443,1
    - Dst: pthread_setcancelstate
      Src: /src/knot-dns/src/knot/common/stats.c:444,1
    - Dst: rcu_unregister_thread
      Src: /src/knot-dns/src/knot/common/stats.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 6
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: dumper
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - assert
    - rcu_read_unlock
    - rcu_unregister_thread
    - rcu_register_thread
    - rcu_read_lock
    - sleep
    - pthread_setcancelstate
    - dump_stats
    linkageType: ''
    returnType: void
    signature: void *dumper(void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/stats.c:458,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/common/stats.c:459,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/stats.c:468,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/stats.c:469,1
    - Dst: knot_map_errno_code
      Src: /src/knot-dns/src/knot/common/stats.c:469,1
    - Dst: pthread_cancel
      Src: /src/knot-dns/src/knot/common/stats.c:475,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/common/stats.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 479
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 479
    functionName: stats_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - pthread_join
    - pthread_cancel
    - conf_int
    - log_error
    - conf_get
    - knot_map_errno_code
    linkageType: ''
    returnType: void
    signature: void stats_reconfigure(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cancel
      Src: /src/knot-dns/src/knot/common/stats.c:484,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/common/stats.c:485,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/stats.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: stats_deinit
    functionSourceFile: /src/knot-dns/src/knot/common/stats.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_cancel
    - memset
    linkageType: ''
    returnType: void
    signature: void stats_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/knot/common/unreachable.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: get_timestamp
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_timestamp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/common/unreachable.c:25,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/common/unreachable.c:27,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/common/unreachable.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ttl_ms
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: knot_unreachables_init
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 1
    functionsReached:
    - init_list
    - pthread_mutex_init
    - calloc
    linkageType: ''
    returnType: knot_unreachables_t
    signature: knot_unreachables_t *knot_unreachables_init(uint32_t ttl_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/unreachable.c:40,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/unreachable.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - urs
    - new_ttl_ms
    argTypes:
    - knot_unreachables_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: knot_unreachables_ttl
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_unreachables_ttl(knot_unreachables_t *urs, uint32_t new_ttl_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/common/unreachable.c:54,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/common/unreachable.c:55,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/unreachable.c:56,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/common/unreachable.c:58,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/unreachable.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - urs
    argTypes:
    - knot_unreachables_t**
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: knot_unreachables_deinit
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 1
    functionsReached:
    - free
    - rem_node
    - pthread_mutex_destroy
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void knot_unreachables_deinit(knot_unreachables_t **urs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/common/unreachable.c:67,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/unreachable.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ur
    - now
    - ttl_ms
    argTypes:
    - knot_unreachable_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: clear_old
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 0
    functionsReached:
    - free
    - rem_node
    linkageType: ''
    returnType: bool
    signature: bool clear_old(knot_unreachable_t *ur, uint32_t now, uint32_t ttl_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/unreachable.c:79,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/common/unreachable.c:83,1
    - Dst: clear_old
      Src: /src/knot-dns/src/knot/common/unreachable.c:84,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/common/unreachable.c:88,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/common/unreachable.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - urs
    - addr
    - via
    argTypes:
    - knot_unreachables_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: get_ur
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 0
    functionsReached:
    - clear_old
    - assert
    - sockaddr_cmp
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: knot_unreachable_t
    signature: "knot_unreachable_t *get_ur(knot_unreachables_t *urs,\n                                  const
      struct sockaddr_storage *addr,\n                                  const struct
      sockaddr_storage *via)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/unreachable.c:104,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/unreachable.c:105,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/unreachable.c:107,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/unreachable.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - urs
    - addr
    - via
    argTypes:
    - knot_unreachables_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: knot_unreachable_is
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 2
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: bool
    signature: "bool knot_unreachable_is(knot_unreachables_t *urs,\n                         const
      struct sockaddr_storage *addr,\n                         const struct sockaddr_storage
      *via)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/unreachable.c:123,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/unreachable.c:124,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/unreachable.c:126,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/common/unreachable.c:128,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/common/unreachable.c:130,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/common/unreachable.c:131,1
    - Dst: get_timestamp
      Src: /src/knot-dns/src/knot/common/unreachable.c:132,1
    - Dst: add_head
      Src: /src/knot-dns/src/knot/common/unreachable.c:133,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/unreachable.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - urs
    - addr
    - via
    argTypes:
    - knot_unreachables_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: knot_unreachable_add
    functionSourceFile: /src/knot-dns/src/knot/common/unreachable.c
    functionUses: 3
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - add_head
    - memcpy
    - get_timestamp
    - malloc
    linkageType: ''
    returnType: void
    signature: "void knot_unreachable_add(knot_unreachables_t *urs,\n                          const
      struct sockaddr_storage *addr,\n                          const struct sockaddr_storage
      *via)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_request_name
      Src: /src/knot-dns/src/knot/common/dbus.c:46,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/common/dbus.c:51,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/dbus.c:54,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/dbus.c:54,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/knot/common/dbus.c:55,1
    - Dst: dbus_error_init
      Src: /src/knot-dns/src/knot/common/dbus.c:59,1
    - Dst: dbus_bus_get
      Src: /src/knot-dns/src/knot/common/dbus.c:61,1
    - Dst: dbus_error_is_set
      Src: /src/knot-dns/src/knot/common/dbus.c:62,1
    - Dst: dbus_bus_request_name
      Src: /src/knot-dns/src/knot/common/dbus.c:67,1
    - Dst: dbus_error_is_set
      Src: /src/knot-dns/src/knot/common/dbus.c:68,1
    - Dst: dbus_error_free
      Src: /src/knot-dns/src/knot/common/dbus.c:72,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/common/dbus.c:73,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/dbus.c:76,1
    - Dst: dbus_error_free
      Src: /src/knot-dns/src/knot/common/dbus.c:77,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/knot/common/dbus.c:78,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/dbus.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: dbus_open
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_bus_request_name
    - dbus_error_is_set
    - log_info
    - knot_strerror
    - dbus_error_init
    - dbus_bus_get
    - sd_bus_request_name
    - log_error
    - dbus_close
    - dbus_error_free
    linkageType: ''
    returnType: int
    signature: int dbus_open(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:91,1
    - Dst: dbus_connection_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: dbus_close
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 1
    functionsReached:
    - sd_bus_unref
    - dbus_connection_unref
    linkageType: ''
    returnType: void
    signature: void dbus_close(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_message_new_signal
      Src: /src/knot-dns/src/knot/common/dbus.c:108,1
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/dbus.c:115,1
    - Dst: sd_bus_message_appendv
      Src: /src/knot-dns/src/knot/common/dbus.c:116,1
    - Dst: sd_bus_message_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:118,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:119,1
    - Dst: sd_bus_send
      Src: /src/knot-dns/src/knot/common/dbus.c:126,1
    - Dst: sd_bus_message_get_bus
      Src: /src/knot-dns/src/knot/common/dbus.c:126,1
    - Dst: sd_bus_message_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:128,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:129,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:132,1
    - Dst: dbus_message_new_signal
      Src: /src/knot-dns/src/knot/common/dbus.c:135,1
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/dbus.c:147,1
    - Dst: dbus_message_append_args
      Src: /src/knot-dns/src/knot/common/dbus.c:149,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/common/dbus.c:150,1
    - Dst: dbus_message_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:153,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:154,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/dbus.c:155,1
    - Dst: dbus_connection_send
      Src: /src/knot-dns/src/knot/common/dbus.c:161,1
    - Dst: dbus_message_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:162,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:163,1
    - Dst: dbus_message_unref
      Src: /src/knot-dns/src/knot/common/dbus.c:167,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/dbus.c:168,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/dbus.c:172,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/dbus.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - event
    - first_arg_type
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 173
    functionName: emit_event
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - sd_bus_message_appendv
    - sd_bus_message_get_bus
    - assert
    - dbus_connection_send
    - knot_strerror
    - va_start
    - va_end
    - log_error
    - sd_bus_message_unref
    - sd_bus_send
    - sd_bus_message_new_signal
    - dbus_message_new_signal
    - dbus_message_append_args
    - va_arg
    - dbus_message_unref
    linkageType: ''
    returnType: void
    signature: void emit_event(const char *event, char *first_arg_type, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit_event
      Src: /src/knot-dns/src/knot/common/dbus.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - up
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: dbus_emit_running
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - emit_event
    linkageType: ''
    returnType: void
    signature: void dbus_emit_running(bool up)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit_event
      Src: /src/knot-dns/src/knot/common/dbus.c:189,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:189,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone_name
    - serial
    argTypes:
    - knot_dname_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: dbus_emit_zone_updated
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - VALUE_OF
    - emit_event
    linkageType: ''
    returnType: void
    signature: void dbus_emit_zone_updated(const knot_dname_t *zone_name, uint32_t
      serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit_event
      Src: /src/knot-dns/src/knot/common/dbus.c:201,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - zone_name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: dbus_emit_keys_updated
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - VALUE_OF
    - emit_event
    linkageType: ''
    returnType: void
    signature: void dbus_emit_keys_updated(const knot_dname_t *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit_event
      Src: /src/knot-dns/src/knot/common/dbus.c:214,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:215,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:215,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - zone_name
    - keytag
    - keyid
    argTypes:
    - knot_dname_t*
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: dbus_emit_zone_submission
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - VALUE_OF
    - emit_event
    linkageType: ''
    returnType: void
    signature: "void dbus_emit_zone_submission(const knot_dname_t *zone_name, uint16_t
      keytag,\n                               const char *keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emit_event
      Src: /src/knot-dns/src/knot/common/dbus.c:227,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:228,1
    - Dst: VALUE_OF
      Src: /src/knot-dns/src/knot/common/dbus.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone_name
    - remaining_secs
    argTypes:
    - knot_dname_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: dbus_emit_zone_invalid
    functionSourceFile: /src/knot-dns/src/knot/common/dbus.c
    functionUses: 0
    functionsReached:
    - VALUE_OF
    - emit_event
    linkageType: ''
    returnType: void
    signature: void dbus_emit_zone_invalid(const knot_dname_t *zone_name, uint32_t
      remaining_secs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_int
      Src: /src/knot-dns/src/knot/common/systemd.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: systemd_zone_load_timeout
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - str_to_int
    linkageType: ''
    returnType: int
    signature: int systemd_zone_load_timeout(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: systemd_zone_load_timeout
      Src: /src/knot-dns/src/knot/common/systemd.c:37,1
    - Dst: sd_notifyf
      Src: /src/knot-dns/src/knot/common/systemd.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: systemd_zone_load_timeout_notify
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - sd_notifyf
    - systemd_zone_load_timeout
    linkageType: ''
    returnType: void
    signature: void systemd_zone_load_timeout_notify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_notifyf
      Src: /src/knot-dns/src/knot/common/systemd.c:49,1
    - Dst: sd_notify
      Src: /src/knot-dns/src/knot/common/systemd.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tasks
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: systemd_tasks_status_notify
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - sd_notify
    - sd_notifyf
    linkageType: ''
    returnType: void
    signature: void systemd_tasks_status_notify(int tasks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_notify
      Src: /src/knot-dns/src/knot/common/systemd.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: systemd_ready_notify
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - sd_notify
    linkageType: ''
    returnType: void
    signature: void systemd_ready_notify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_notify
      Src: /src/knot-dns/src/knot/common/systemd.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: systemd_reloading_notify
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - sd_notify
    linkageType: ''
    returnType: void
    signature: void systemd_reloading_notify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_notify
      Src: /src/knot-dns/src/knot/common/systemd.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: systemd_stopping_notify
    functionSourceFile: /src/knot-dns/src/knot/common/systemd.c
    functionUses: 0
    functionsReached:
    - sd_notify
    linkageType: ''
    returnType: void
    signature: void systemd_stopping_notify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timercmp
      Src: /src/knot-dns/src/knot/common/evsched.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: timercmp_ge
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - timercmp
    linkageType: ''
    returnType: int
    signature: int timercmp_ge(struct timeval *a, struct timeval *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timercmp
      Src: /src/knot-dns/src/knot/common/evsched.c:23,1
    - Dst: timercmp
      Src: /src/knot-dns/src/knot/common/evsched.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: compare_event_heap_nodes
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - timercmp
    linkageType: ''
    returnType: int
    signature: int compare_event_heap_nodes(void *e1, void *e2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/knot-dns/src/knot/common/evsched.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dt
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: timeval_in
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval timeval_in(uint32_t dt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:60,1
    - Dst: dt_is_cancelled
      Src: /src/knot-dns/src/knot/common/evsched.c:61,1
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/src/knot/common/evsched.c:62,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/common/evsched.c:63,1
    - Dst: gettimeofday
      Src: /src/knot-dns/src/knot/common/evsched.c:69,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/knot/common/evsched.c:72,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/evsched.c:73,1
    - Dst: timercmp_ge
      Src: /src/knot-dns/src/knot/common/evsched.c:75,1
    - Dst: heap_delmin
      Src: /src/knot-dns/src/knot/common/evsched.c:76,1
    - Dst: event_t*::cb
      Src: /src/knot-dns/src/knot/common/evsched.c:77,1
    - Dst: pthread_cond_timedwait
      Src: /src/knot-dns/src/knot/common/evsched.c:83,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 89
    functionName: evsched_run
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - HHEAD
    - timercmp_ge
    - heap_delmin
    - pthread_cond_timedwait
    - EMPTY_HEAP
    - event_t*::cb
    - dt_is_cancelled
    - pthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int evsched_run(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/evsched.c:93,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/common/evsched.c:97,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/common/evsched.c:98,1
    - Dst: heap_init
      Src: /src/knot-dns/src/knot/common/evsched.c:99,1
    - Dst: dt_create
      Src: /src/knot-dns/src/knot/common/evsched.c:101,1
    - Dst: evsched_deinit
      Src: /src/knot-dns/src/knot/common/evsched.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sched
    - ctx
    argTypes:
    - evsched_t*
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: evsched_init
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 1
    functionsReached:
    - heap_init
    - pthread_cond_init
    - evsched_deinit
    - dt_create
    - pthread_mutex_init
    - memset
    linkageType: ''
    returnType: int
    signature: int evsched_init(evsched_t *sched, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/common/evsched.c:118,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/common/evsched.c:119,1
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/src/knot/common/evsched.c:121,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/knot/common/evsched.c:122,1
    - Dst: heap_delmin
      Src: /src/knot-dns/src/knot/common/evsched.c:123,1
    - Dst: evsched_event_free
      Src: /src/knot-dns/src/knot/common/evsched.c:124,1
    - Dst: heap_deinit
      Src: /src/knot-dns/src/knot/common/evsched.c:127,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/common/evsched.c:130,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/evsched.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: evsched_deinit
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 2
    functionsReached:
    - dt_delete
    - HHEAD
    - heap_delmin
    - evsched_event_free
    - EMPTY_HEAP
    - pthread_mutex_destroy
    - memset
    - pthread_cond_destroy
    - heap_deinit
    linkageType: ''
    returnType: void
    signature: void evsched_deinit(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/common/evsched.c:145,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/evsched.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sched
    - cb
    - data
    argTypes:
    - evsched_t*
    - event_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: evsched_event_create
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 1
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: event_t
    signature: event_t *evsched_event_create(evsched_t *sched, event_cb_t cb, void
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/common/evsched.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ev
    argTypes:
    - event_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: evsched_event_free
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void evsched_event_free(event_t *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timeval_in
      Src: /src/knot-dns/src/knot/common/evsched.c:175,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:180,1
    - Dst: heap_replace
      Src: /src/knot-dns/src/knot/common/evsched.c:188,1
    - Dst: heap_insert
      Src: /src/knot-dns/src/knot/common/evsched.c:190,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/common/evsched.c:194,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ev
    - dt
    argTypes:
    - event_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: evsched_schedule
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 1
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - heap_replace
    - heap_insert
    - timeval_in
    linkageType: ''
    returnType: int
    signature: int evsched_schedule(event_t *ev, uint32_t dt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:209,1
    - Dst: heap_delete
      Src: /src/knot-dns/src/knot/common/evsched.c:213,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/common/evsched.c:214,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:218,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/evsched.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ev
    argTypes:
    - event_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 224
    functionName: evsched_cancel
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 2
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - heap_delete
    - memset
    linkageType: ''
    returnType: int
    signature: int evsched_cancel(event_t *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_start
      Src: /src/knot-dns/src/knot/common/evsched.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: evsched_start
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - dt_start
    linkageType: ''
    returnType: void
    signature: void evsched_start(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:233,1
    - Dst: dt_stop
      Src: /src/knot-dns/src/knot/common/evsched.c:234,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/common/evsched.c:235,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: evsched_stop
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - dt_stop
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void evsched_stop(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_join
      Src: /src/knot-dns/src/knot/common/evsched.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: evsched_join
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - dt_join
    linkageType: ''
    returnType: void
    signature: void evsched_join(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:246,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: evsched_pause
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void evsched_pause(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/common/evsched.c:253,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/common/evsched.c:255,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/common/evsched.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sched
    argTypes:
    - evsched_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: evsched_resume
    functionSourceFile: /src/knot-dns/src/knot/common/evsched.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void evsched_resume(evsched_t *sched)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: log_isopen
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool log_isopen(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/knot-dns/src/knot/common/log.c:62,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:64,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:65,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - log
    argTypes:
    - log_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: sink_free
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void sink_free(log_t *log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/common/log.c:76,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/log.c:80,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/common/log.c:84,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:86,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/log.c:89,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/common/log.c:93,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:95,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/log.c:96,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/log.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - file_count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: sink_setup
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - memset
    linkageType: ''
    returnType: log_t
    signature: log_t *sink_setup(size_t file_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/common/log.c:108,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/common/log.c:109,1
    - Dst: sink_free
      Src: /src/knot-dns/src/knot/common/log.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - log
    argTypes:
    - log_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: sink_publish
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - rcu_xchg_pointer
    - synchronize_rcu
    - sink_free
    linkageType: ''
    returnType: void
    signature: void sink_publish(log_t *log)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/log.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - log
    - target
    - src
    argTypes:
    - log_t*
    - log_target_t
    - log_source_t
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: src_levels
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int *src_levels(log_t *log, log_target_t target, log_source_t src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/knot/common/log.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - log
    - src
    - levels
    argTypes:
    - log_t*
    - log_source_t
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: mark_level
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - LOG_MASK
    linkageType: ''
    returnType: void
    signature: void mark_level(log_t *log, log_source_t src, int levels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:134,1
    - Dst: mark_level
      Src: /src/knot-dns/src/knot/common/log.c:135,1
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:142,1
    - Dst: mark_level
      Src: /src/knot-dns/src/knot/common/log.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - log
    - target
    - src
    - levels
    argTypes:
    - log_t*
    - log_target_t
    - log_source_t
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: sink_levels_set
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - src_levels
    - mark_level
    linkageType: ''
    returnType: void
    signature: void sink_levels_set(log_t *log, log_target_t target, log_source_t
      src, int levels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:152,1
    - Dst: mark_level
      Src: /src/knot-dns/src/knot/common/log.c:153,1
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:160,1
    - Dst: mark_level
      Src: /src/knot-dns/src/knot/common/log.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - log
    - target
    - src
    - levels
    argTypes:
    - log_t*
    - log_target_t
    - log_source_t
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: sink_levels_add
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - src_levels
    - mark_level
    linkageType: ''
    returnType: void
    signature: void sink_levels_add(log_t *log, log_target_t target, log_source_t
      src, int levels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_setup
      Src: /src/knot-dns/src/knot/common/log.c:173,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/log.c:175,1
    - Dst: sd_booted
      Src: /src/knot-dns/src/knot/common/log.c:181,1
    - Dst: sink_levels_set
      Src: /src/knot-dns/src/knot/common/log.c:184,1
    - Dst: sink_levels_set
      Src: /src/knot-dns/src/knot/common/log.c:185,1
    - Dst: sink_levels_set
      Src: /src/knot-dns/src/knot/common/log.c:186,1
    - Dst: sink_publish
      Src: /src/knot-dns/src/knot/common/log.c:187,1
    - Dst: setlogmask
      Src: /src/knot-dns/src/knot/common/log.c:189,1
    - Dst: LOG_UPTO
      Src: /src/knot-dns/src/knot/common/log.c:189,1
    - Dst: openlog
      Src: /src/knot-dns/src/knot/common/log.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: log_init
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - setlogmask
    - sd_booted
    - openlog
    - sink_levels_set
    - LOG_UPTO
    - sink_publish
    - sink_setup
    - fprintf
    linkageType: ''
    returnType: void
    signature: void log_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_publish
      Src: /src/knot-dns/src/knot/common/log.c:195,1
    - Dst: fflush
      Src: /src/knot-dns/src/knot/common/log.c:197,1
    - Dst: fflush
      Src: /src/knot-dns/src/knot/common/log.c:198,1
    - Dst: closelog
      Src: /src/knot-dns/src/knot/common/log.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: log_close
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - fflush
    - sink_publish
    - closelog
    linkageType: ''
    returnType: void
    signature: void log_close(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_isopen
      Src: /src/knot-dns/src/knot/common/log.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - log_flag_t
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: log_flag_set
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - log_isopen
    linkageType: ''
    returnType: void
    signature: void log_flag_set(log_flag_t flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_isopen
      Src: /src/knot-dns/src/knot/common/log.c:212,1
    - Dst: sink_levels_set
      Src: /src/knot-dns/src/knot/common/log.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - target
    - src
    - levels
    argTypes:
    - log_target_t
    - log_source_t
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: log_levels_set
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - sink_levels_set
    - log_isopen
    linkageType: ''
    returnType: void
    signature: void log_levels_set(log_target_t target, log_source_t src, int levels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_isopen
      Src: /src/knot-dns/src/knot/common/log.c:219,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - target
    - src
    - levels
    argTypes:
    - log_target_t
    - log_source_t
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: log_levels_add
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - sink_levels_add
    - log_isopen
    linkageType: ''
    returnType: void
    signature: void log_levels_add(log_target_t target, log_source_t src, int levels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:230,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/knot/common/log.c:230,1
    - Dst: sd_journal_send
      Src: /src/knot-dns/src/knot/common/log.c:234,1
    - Dst: syslog
      Src: /src/knot-dns/src/knot/common/log.c:241,1
    - Dst: gettimeofday
      Src: /src/knot-dns/src/knot/common/log.c:250,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/common/log.c:252,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/common/log.c:253,1
    - Dst: src_levels
      Src: /src/knot-dns/src/knot/common/log.c:259,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/knot/common/log.c:259,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/log.c:268,1
    - Dst: fflush
      Src: /src/knot-dns/src/knot/common/log.c:270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 6
    argNames:
    - level
    - src
    - zone
    - zone_len
    - msg
    - param
    argTypes:
    - int
    - log_source_t
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 274
    functionName: emit_log_msg
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - syslog
    - gettimeofday
    - localtime_r
    - fflush
    - src_levels
    - strftime
    - LOG_MASK
    - fprintf
    - sd_journal_send
    linkageType: ''
    returnType: void
    signature: "void emit_log_msg(int level, log_source_t src, const char *zone,\n
      \                        size_t zone_len, const char *msg, const char *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: level_prefix
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *level_prefix(int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/log.c:292,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/log.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - write
    - capacity
    - fmt
    argTypes:
    - char**
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: log_msg_add
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int log_msg_add(char **write, size_t *capacity, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_isopen
      Src: /src/knot-dns/src/knot/common/log.c:309,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/common/log.c:318,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/common/log.c:325,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/common/log.c:333,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/common/log.c:340,1
    - Dst: emit_log_msg
      Src: /src/knot-dns/src/knot/common/log.c:349,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/common/log.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - level
    - src
    - zone
    - fmt
    - args
    - param
    argTypes:
    - int
    - log_source_t
    - char*
    - char*
    - va_list
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 353
    functionName: log_msg_text
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - rcu_read_unlock
    - strlen
    - log_isopen
    - rcu_read_lock
    - emit_log_msg
    linkageType: ''
    returnType: void
    signature: "void log_msg_text(int level, log_source_t src, const char *zone,\n
      \                        const char *fmt, va_list args, const char *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/log.c:358,1
    - Dst: log_msg_text
      Src: /src/knot-dns/src/knot/common/log.c:359,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/log.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priority
    - src
    - fmt
    argTypes:
    - int
    - log_source_t
    - char*
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: log_fmt
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - log_msg_text
    linkageType: ''
    returnType: void
    signature: void log_fmt(int priority, log_source_t src, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/log.c:373,1
    - Dst: log_msg_text
      Src: /src/knot-dns/src/knot/common/log.c:374,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/log.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - priority
    - src
    - zone
    - param
    - fmt
    argTypes:
    - int
    - log_source_t
    - knot_dname_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: log_fmt_zone
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - log_msg_text
    linkageType: ''
    returnType: void
    signature: "void log_fmt_zone(int priority, log_source_t src, const knot_dname_t
      *zone,\n                  const char *param, const char *fmt, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/knot/common/log.c:386,1
    - Dst: log_msg_text
      Src: /src/knot-dns/src/knot/common/log.c:387,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/common/log.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - priority
    - src
    - zone
    - fmt
    argTypes:
    - int
    - log_source_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: log_fmt_zone_str
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - log_msg_text
    linkageType: ''
    returnType: void
    signature: "void log_fmt_zone_str(int priority, log_source_t src, const char *zone,\n
      \                     const char *fmt, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_isopen
      Src: /src/knot-dns/src/knot/common/log.c:393,1
    - Dst: fchown
      Src: /src/knot-dns/src/knot/common/log.c:398,1
    - Dst: fileno
      Src: /src/knot-dns/src/knot/common/log.c:398,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/log.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - uid
    - gid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: log_update_privileges
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - log_error
    - fchown
    - fileno
    - log_isopen
    linkageType: ''
    returnType: int
    signature: int log_update_privileges(int uid, int gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/log.c:408,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/log.c:410,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/log.c:412,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/knot/common/log.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - logname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: get_logtype
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - assert
    - strcasecmp
    linkageType: ''
    returnType: log_target_t
    signature: log_target_t get_logtype(const char *logname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/log.c:423,1
    - Dst: fopen
      Src: /src/knot-dns/src/knot/common/log.c:426,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/log.c:428,1
    - Dst: setvbuf
      Src: /src/knot-dns/src/knot/common/log.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - log
    - filename
    argTypes:
    - log_t*
    - char*
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: log_open_file
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - fopen
    - assert
    - setvbuf
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int log_open_file(log_t *log, const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_count
      Src: /src/knot-dns/src/knot/common/log.c:440,1
    - Dst: log_close
      Src: /src/knot-dns/src/knot/common/log.c:441,1
    - Dst: log_init
      Src: /src/knot-dns/src/knot/common/log.c:442,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/common/log.c:448,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/common/log.c:449,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/common/log.c:450,1
    - Dst: get_logtype
      Src: /src/knot-dns/src/knot/common/log.c:451,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/common/log.c:451,1
    - Dst: sink_setup
      Src: /src/knot-dns/src/knot/common/log.c:457,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/common/log.c:459,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/common/log.c:464,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/common/log.c:465,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/common/log.c:466,1
    - Dst: log_open_file
      Src: /src/knot-dns/src/knot/common/log.c:472,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/log.c:474,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/log.c:475,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/common/log.c:484,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/common/log.c:485,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:486,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/common/log.c:489,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/common/log.c:490,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:491,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/common/log.c:494,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/common/log.c:495,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:496,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/common/log.c:499,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/common/log.c:500,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:501,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/common/log.c:504,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/common/log.c:505,1
    - Dst: sink_levels_add
      Src: /src/knot-dns/src/knot/common/log.c:506,1
    - Dst: sink_publish
      Src: /src/knot-dns/src/knot/common/log.c:509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 510
      start: 437
    functionDepth: 4
    functionLinenumber: 437
    functionLinenumberEnd: 510
    functionName: log_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 0
    functionsReached:
    - conf_iter_next
    - conf_id_get
    - knot_strerror
    - log_close
    - conf_iter_id
    - sink_setup
    - conf_id_count
    - get_logtype
    - log_open_file
    - sink_publish
    - conf_opt
    - sink_levels_add
    - conf_str
    - log_error
    - conf_iter
    - fprintf
    - log_init
    linkageType: ''
    returnType: void
    signature: void log_reconfigure(conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: log_enabled_debug
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool log_enabled_debug(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: log_enabled_quic_debug
    functionSourceFile: /src/knot-dns/src/knot/common/log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool log_enabled_quic_debug(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.c:24,1
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:26,1
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:27,1
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:28,1
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:30,1
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - set
    - size
    argTypes:
    - fdset_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: fdset_resize
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 0
    functionsReached:
    - assert
    - MEM_RESIZE
    linkageType: ''
    returnType: int
    signature: int fdset_resize(fdset_t *set, const unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/fdset.c:44,1
    - Dst: epoll_create1
      Src: /src/knot-dns/src/knot/common/fdset.c:48,1
    - Dst: kqueue
      Src: /src/knot-dns/src/knot/common/fdset.c:50,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/fdset.c:53,1
    - Dst: close
      Src: /src/knot-dns/src/knot/common/fdset.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - set
    - size
    argTypes:
    - fdset_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: fdset_init
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 0
    functionsReached:
    - close
    - knot_map_errno
    - memset
    - kqueue
    - epoll_create1
    linkageType: ''
    returnType: int
    signature: int fdset_init(fdset_t *set, const unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:72,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:73,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:74,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:76,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:77,1
    - Dst: close
      Src: /src/knot-dns/src/knot/common/fdset.c:78,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/fdset.c:80,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/common/fdset.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - set
    argTypes:
    - fdset_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: fdset_clear
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 1
    functionsReached:
    - free
    - close
    - memset
    linkageType: ''
    returnType: void
    signature: void fdset_clear(fdset_t *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdset_resize
      Src: /src/knot-dns/src/knot/common/fdset.c:92,1
    - Dst: epoll_ctl
      Src: /src/knot-dns/src/knot/common/fdset.c:107,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/fdset.c:108,1
    - Dst: EV_SET
      Src: /src/knot-dns/src/knot/common/fdset.c:111,1
    - Dst: kevent
      Src: /src/knot-dns/src/knot/common/fdset.c:112,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/fdset.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - set
    - fd
    - events
    - ctx
    argTypes:
    - fdset_t*
    - int
    - fdset_event_t
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: fdset_add
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 1
    functionsReached:
    - epoll_ctl
    - kevent
    - EV_SET
    - knot_map_errno
    - fdset_resize
    linkageType: ''
    returnType: int
    signature: int fdset_add(fdset_t *set, const int fd, const fdset_event_t events,
      void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MEM_RESIZE
      Src: /src/knot-dns/src/knot/common/fdset.c:201,1
    - Dst: epoll_wait
      Src: /src/knot-dns/src/knot/common/fdset.c:210,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/fdset.c:212,1
    - Dst: unlikely
      Src: /src/knot-dns/src/knot/common/fdset.c:217,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.c:218,1
    - Dst: kevent
      Src: /src/knot-dns/src/knot/common/fdset.c:227,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/fdset.c:229,1
    - Dst: fdset_it_get_idx
      Src: /src/knot-dns/src/knot/common/fdset.c:238,1
    - Dst: poll
      Src: /src/knot-dns/src/knot/common/fdset.c:244,1
    - Dst: unlikely
      Src: /src/knot-dns/src/knot/common/fdset.c:248,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - set
    - it
    - offset
    - timeout_ms
    argTypes:
    - fdset_t*
    - fdset_it_t*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 258
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 258
    functionName: fdset_poll
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 1
    functionsReached:
    - assert
    - MEM_RESIZE
    - fdset_it_get_idx
    - kevent
    - poll
    - unlikely
    - epoll_wait
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int fdset_poll(fdset_t *set, fdset_it_t *it, const unsigned offset,
      const int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdset_remove
      Src: /src/knot-dns/src/knot/common/fdset.c:283,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 289
    functionName: fdset_it_commit
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 1
    functionsReached:
    - fdset_remove
    - assert
    linkageType: ''
    returnType: void
    signature: void fdset_it_commit(fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/common/fdset.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - set
    - idx
    - interval
    argTypes:
    - fdset_t*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: fdset_set_watchdog
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 0
    functionsReached:
    - time_now
    linkageType: ''
    returnType: int
    signature: int fdset_set_watchdog(fdset_t *set, const unsigned idx, const int
      interval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/common/fdset.c:317,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/common/fdset.c:322,1
    - Dst: fdset_remove
      Src: /src/knot-dns/src/knot/common/fdset.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - set
    - cb
    - data
    argTypes:
    - fdset_t*
    - fdset_sweep_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: fdset_sweep
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.c
    functionUses: 0
    functionsReached:
    - fdset_remove
    - time_now
    - cb
    linkageType: ''
    returnType: void
    signature: void fdset_sweep(fdset_t *set, const fdset_sweep_cb_t cb, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/process.c:25,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/common/process.c:25,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/common/process.c:27,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/common/process.c:27,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/process.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: pid_filename
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 0
    functionsReached:
    - free
    - conf
    - conf_get
    linkageType: ''
    returnType: char
    signature: char * pid_filename(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/knot/common/process.c:43,1
    - Dst: fread
      Src: /src/knot-dns/src/knot/common/process.c:49,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/common/process.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: pid_read
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fread
    linkageType: ''
    returnType: pid_t
    signature: pid_t pid_read(const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/common/process.c:75,1
    - Dst: write
      Src: /src/knot-dns/src/knot/common/process.c:84,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/process.c:85,1
    - Dst: close
      Src: /src/knot-dns/src/knot/common/process.c:87,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/common/process.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - filename
    - pid
    argTypes:
    - char*
    - pid_t
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: pid_write
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - snprintf
    - close
    - write
    linkageType: ''
    returnType: int
    signature: int pid_write(const char *filename, pid_t pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pid_read
      Src: /src/knot-dns/src/knot/common/process.c:99,1
    - Dst: pid_running
      Src: /src/knot-dns/src/knot/common/process.c:102,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/knot/common/process.c:103,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/process.c:104,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/common/process.c:106,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/process.c:107,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/common/process.c:108,1
    - Dst: pid_cleanup
      Src: /src/knot-dns/src/knot/common/process.c:109,1
    - Dst: getpid
      Src: /src/knot-dns/src/knot/common/process.c:113,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/knot/common/process.c:118,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/common/process.c:119,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/process.c:120,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/process.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: pid_check_and_create
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 0
    functionsReached:
    - assert
    - log_warning
    - log_fatal
    - free
    - knot_strerror
    - pid_cleanup
    - getpid
    - stat
    - pid_read
    - pid_running
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long pid_check_and_create(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/knot-dns/src/knot/common/process.c:132,1
    - Dst: free
      Src: /src/knot-dns/src/knot/common/process.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: pid_cleanup
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 1
    functionsReached:
    - free
    - unlink
    linkageType: ''
    returnType: void
    signature: void pid_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/knot-dns/src/knot/common/process.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pid_running
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 1
    functionsReached:
    - kill
    linkageType: ''
    returnType: bool
    signature: bool pid_running(pid_t pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/knot-dns/src/knot/common/process.c:146,1
    - Dst: getgid
      Src: /src/knot-dns/src/knot/common/process.c:146,1
    - Dst: setgroups
      Src: /src/knot-dns/src/knot/common/process.c:147,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/common/process.c:148,1
    - Dst: getuid
      Src: /src/knot-dns/src/knot/common/process.c:149,1
    - Dst: strerror
      Src: /src/knot-dns/src/knot/common/process.c:149,1
    - Dst: getpwuid
      Src: /src/knot-dns/src/knot/common/process.c:153,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/common/process.c:154,1
    - Dst: strerror
      Src: /src/knot-dns/src/knot/common/process.c:155,1
    - Dst: initgroups
      Src: /src/knot-dns/src/knot/common/process.c:157,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/common/process.c:158,1
    - Dst: strerror
      Src: /src/knot-dns/src/knot/common/process.c:159,1
    - Dst: getgid
      Src: /src/knot-dns/src/knot/common/process.c:167,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/common/process.c:168,1
    - Dst: setregid
      Src: /src/knot-dns/src/knot/common/process.c:169,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/process.c:170,1
    - Dst: getuid
      Src: /src/knot-dns/src/knot/common/process.c:174,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/common/process.c:175,1
    - Dst: setreuid
      Src: /src/knot-dns/src/knot/common/process.c:176,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/common/process.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - uid
    - gid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 183
    functionName: proc_update_privileges
    functionSourceFile: /src/knot-dns/src/knot/common/process.c
    functionUses: 0
    functionsReached:
    - log_warning
    - log_info
    - setgroups
    - getgid
    - setregid
    - strerror
    - log_error
    - getpwuid
    - getuid
    - setreuid
    - initgroups
    linkageType: ''
    returnType: int
    signature: int proc_update_privileges(int uid, int gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - set
    - idx
    argTypes:
    - fdset_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: fdset_get_fd
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int fdset_get_fd(const fdset_t *set, const unsigned idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - fdset_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: fdset_get_length
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned fdset_get_length(const fdset_t *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: fdset_it_get_idx
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned fdset_it_get_idx(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:238,1
    - Dst: fdset_it_get_idx
      Src: /src/knot-dns/src/knot/common/fdset.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: fdset_it_get_fd
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 0
    functionsReached:
    - assert
    - fdset_it_get_idx
    linkageType: ''
    returnType: int
    signature: int fdset_it_get_fd(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:258,1
    - Dst: fdset_it_get_idx
      Src: /src/knot-dns/src/knot/common/fdset.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: fdset_it_get_ctx
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 0
    functionsReached:
    - assert
    - fdset_it_get_idx
    linkageType: ''
    returnType: void
    signature: void *fdset_it_get_ctx(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: fdset_ctx2
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void **fdset_ctx2(const fdset_t *set, const unsigned idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:280,1
    - Dst: fdset_it_get_idx
      Src: /src/knot-dns/src/knot/common/fdset.h:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: fdset_it_next
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    - fdset_it_get_idx
    linkageType: ''
    returnType: void
    signature: void fdset_it_next(fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:303,1
    - Dst: fdset_remove
      Src: /src/knot-dns/src/knot/common/fdset.h:330,1
    - Dst: fdset_it_get_idx
      Src: /src/knot-dns/src/knot/common/fdset.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 335
    functionName: fdset_it_remove
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - fdset_remove
    - assert
    - fdset_it_get_idx
    linkageType: ''
    returnType: void
    signature: void fdset_it_remove(fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: fdset_it_is_done
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool fdset_it_is_done(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: fdset_it_is_pollin
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool fdset_it_is_pollin(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/common/fdset.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - fdset_it_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: fdset_it_is_error
    functionSourceFile: /src/knot-dns/src/knot/common/fdset.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool fdset_it_is_error(const fdset_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fmt
      Src: /src/knot-dns/src/knot/server/quic-handler.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: quic_log_cb
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - log_fmt
    linkageType: ''
    returnType: void
    signature: void quic_log_cb(const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: uq_alloc_reply
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uq_alloc_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/server/quic-handler.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: uq_send_reply
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int uq_send_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: uq_free_reply
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uq_free_reply(knot_quic_reply_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/quic-handler.c:85,1
    - Dst: knot_quic_handle
      Src: /src/knot-dns/src/knot/server/quic-handler.c:90,1
    - Dst: handle_quic_streams
      Src: /src/knot-dns/src/knot/server/quic-handler.c:93,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/knot/server/quic-handler.c:95,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/knot/server/quic-handler.c:97,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/quic-handler.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - params
    - layer
    - idle_close
    - table
    - rx
    - mh_out
    - p_ecn
    argTypes:
    - knotd_qdata_params_t*
    - knot_layer_t*
    - uint64_t
    - knot_quic_table_t*
    - struct iovec*
    - struct msghdr*
    - int*
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: quic_handler
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - knot_quic_send
    - knot_quic_cleanup
    - knot_quic_handle
    - process_query_proto
    - handle_quic_streams
    linkageType: ''
    returnType: void
    signature: "void quic_handler(knotd_qdata_params_t *params, knot_layer_t *layer,\n
      \                 uint64_t idle_close, knot_quic_table_t *table,\n                  struct
      iovec *rx, struct msghdr *mh_out, int *p_ecn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/quic-handler.c:105,1
    - Dst: knot_quic_table_new
      Src: /src/knot-dns/src/knot/server/quic-handler.c:114,1
    - Dst: log_enabled_quic_debug
      Src: /src/knot-dns/src/knot/server/quic-handler.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - server
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: quic_make_table
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_quic_debug
    - conf
    - knot_quic_table_new
    linkageType: ''
    returnType: knot_quic_table_t
    signature: knot_quic_table_t *quic_make_table(struct server *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/quic-handler.c:126,1
    - Dst: log_enabled_quic_debug
      Src: /src/knot-dns/src/knot/server/quic-handler.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: quic_reconfigure_table
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_quic_debug
    - conf
    linkageType: ''
    returnType: void
    signature: void quic_reconfigure_table(knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: uq_alloc_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uq_alloc_sweep(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/knot-dns/src/knot/server/quic-handler.c:152,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/quic-handler.c:153,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/knot/server/quic-handler.c:153,1
    - Dst: CMSG_LEN
      Src: /src/knot-dns/src/knot/server/quic-handler.c:160,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/quic-handler.c:161,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/knot/server/quic-handler.c:161,1
    - Dst: CMSG_LEN
      Src: /src/knot-dns/src/knot/server/quic-handler.c:166,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/quic-handler.c:167,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/knot/server/quic-handler.c:167,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/quic-handler.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 192
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 192
    functionName: uq_send_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - CMSG_DATA
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int uq_send_sweep(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct knot_quic_reply*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: uq_free_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uq_free_sweep(struct knot_quic_reply *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_table_sweep
      Src: /src/knot-dns/src/knot/server/quic-handler.c:215,1
    - Dst: log_swept
      Src: /src/knot-dns/src/knot/server/quic-handler.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - table
    - stats
    - fd
    argTypes:
    - knot_quic_table_t*
    - knot_sweep_stats_t*
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: quic_sweep_table
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - knot_quic_table_sweep
    - log_swept
    linkageType: ''
    returnType: void
    signature: void quic_sweep_table(knot_quic_table_t *table, knot_sweep_stats_t
      *stats, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_table_free
      Src: /src/knot-dns/src/knot/server/quic-handler.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: quic_unmake_table
    functionSourceFile: /src/knot-dns/src/knot/server/quic-handler.c
    functionUses: 0
    functionsReached:
    - knot_quic_table_free
    linkageType: ''
    returnType: void
    signature: void quic_unmake_table(knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/knot-dns/src/knot/server/signals.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: handle_signal
    functionSourceFile: /src/knot-dns/src/knot/server/signals.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void handle_signal(int signum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/knot-dns/src/knot/server/signals.c:56,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:57,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:58,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:59,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:60,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:61,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:62,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/signals.c:63,1
    - Dst: sigaction
      Src: /src/knot-dns/src/knot/server/signals.c:68,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/knot/server/signals.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: signals_setup
    functionSourceFile: /src/knot-dns/src/knot/server/signals.c
    functionUses: 1
    functionsReached:
    - pthread_sigmask
    - sigfillset
    - sigdelset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void signals_setup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/knot-dns/src/knot/server/signals.c:77,1
    - Dst: sigaddset
      Src: /src/knot-dns/src/knot/server/signals.c:81,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/knot/server/signals.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: signals_enable
    functionSourceFile: /src/knot-dns/src/knot/server/signals.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - sigemptyset
    - sigaddset
    linkageType: ''
    returnType: void
    signature: void signals_enable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_layer_begin
      Src: /src/knot-dns/src/knot/server/handler.c:18,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/handler.c:20,1
    - Dst: proxyv2_header_strip
      Src: /src/knot-dns/src/knot/server/handler.c:24,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/handler.c:25,1
    - Dst: knot_layer_consume
      Src: /src/knot-dns/src/knot/server/handler.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - params
    - layer
    - payload
    - proxied_remote
    argTypes:
    - knotd_qdata_params_t*
    - knot_layer_t*
    - struct iovec*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: handle_query
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 0
    functionsReached:
    - proxyv2_header_strip
    - assert
    - knot_layer_begin
    - knot_pkt_new
    - knot_layer_consume
    linkageType: ''
    returnType: void
    signature: "void handle_query(knotd_qdata_params_t *params, knot_layer_t *layer,\n
      \                 const struct iovec *payload, struct sockaddr_storage *proxied_remote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_layer_finish
      Src: /src/knot-dns/src/knot/server/handler.c:37,1
    - Dst: mp_flush
      Src: /src/knot-dns/src/knot/server/handler.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - layer
    argTypes:
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: handle_finish
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 0
    functionsReached:
    - mp_flush
    - knot_layer_finish
    linkageType: ''
    returnType: void
    signature: void handle_finish(knot_layer_t *layer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_query
      Src: /src/knot-dns/src/knot/server/handler.c:47,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/handler.c:49,1
    - Dst: active_state
      Src: /src/knot-dns/src/knot/server/handler.c:51,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/src/knot/server/handler.c:52,1
    - Dst: handle_finish
      Src: /src/knot-dns/src/knot/server/handler.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - params
    - layer
    - rx
    - tx
    - proxied_remote
    argTypes:
    - knotd_qdata_params_t*
    - knot_layer_t*
    - struct iovec*
    - struct iovec*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: handle_udp_reply
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 0
    functionsReached:
    - handle_query
    - active_state
    - handle_finish
    - knot_pkt_new
    - knot_layer_produce
    linkageType: ''
    returnType: void
    signature: "void handle_udp_reply(knotd_qdata_params_t *params, knot_layer_t *layer,\n
      \                     struct iovec *rx, struct iovec *tx,\n                      struct
      sockaddr_storage *proxied_remote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_query
      Src: /src/knot-dns/src/knot/server/handler.c:71,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/handler.c:74,1
    - Dst: active_state
      Src: /src/knot-dns/src/knot/server/handler.c:75,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/src/knot/server/handler.c:76,1
    - Dst: send_state
      Src: /src/knot-dns/src/knot/server/handler.c:77,1
    - Dst: knot_quic_stream_add_data
      Src: /src/knot-dns/src/knot/server/handler.c:80,1
    - Dst: handle_finish
      Src: /src/knot-dns/src/knot/server/handler.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 7
    argNames:
    - conn
    - stream_id
    - inbuf
    - layer
    - params
    - ans_buf
    - ans_buf_size
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    - struct iovec*
    - knot_layer_t*
    - knotd_qdata_params_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: handle_quic_stream
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 0
    functionsReached:
    - send_state
    - handle_query
    - active_state
    - handle_finish
    - knot_pkt_new
    - knot_layer_produce
    - knot_quic_stream_add_data
    linkageType: ''
    returnType: void
    signature: "void handle_quic_stream(knot_quic_conn_t *conn, int64_t stream_id,
      struct iovec *inbuf,\n                               knot_layer_t *layer, knotd_qdata_params_t
      *params, uint8_t *ans_buf,\n                               size_t ans_buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_update_quic
      Src: /src/knot-dns/src/knot/server/handler.c:100,1
    - Dst: knot_quic_stream_get_process
      Src: /src/knot-dns/src/knot/server/handler.c:104,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/handler.c:105,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/handler.c:106,1
    - Dst: params_update_quic_stream
      Src: /src/knot-dns/src/knot/server/handler.c:108,1
    - Dst: handle_quic_stream
      Src: /src/knot-dns/src/knot/server/handler.c:110,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/handler.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - params
    - layer
    argTypes:
    - knot_quic_conn_t*
    - knotd_qdata_params_t*
    - knot_layer_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: handle_quic_streams
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 1
    functionsReached:
    - assert
    - params_update_quic_stream
    - free
    - knot_quic_stream_get_process
    - handle_quic_stream
    - params_update_quic
    linkageType: ''
    returnType: void
    signature: "void handle_quic_streams(knot_quic_conn_t *conn, knotd_qdata_params_t
      *params,\n                         knot_layer_t *layer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/server/handler.c:123,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/handler.c:153,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/handler.c:154,1
    - Dst: log_notice
      Src: /src/knot-dns/src/knot/server/handler.c:157,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/handler.c:159,1
    - Dst: knot_sweep_stats_reset
      Src: /src/knot-dns/src/knot/server/handler.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - stats
    - tcp
    argTypes:
    - knot_sweep_stats_t*
    - bool
    constantsTouched: []
    func_position:
      end: 164
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 164
    functionName: log_swept
    functionSourceFile: /src/knot-dns/src/knot/server/handler.c
    functionUses: 1
    functionsReached:
    - knot_sweep_stats_reset
    - strlcat
    - log_debug
    - log_notice
    - free
    - time_now
    linkageType: ''
    returnType: void
    signature: void log_swept(knot_sweep_stats_t *stats, bool tcp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - proto
    - remote
    - local
    - sock
    - server
    - thread_id
    argTypes:
    - knotd_query_proto_t
    - void*
    - void*
    - int
    - server_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: params_init
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: knotd_qdata_params_t
    signature: "knotd_qdata_params_t params_init(knotd_query_proto_t proto,\n                                               const
      void *remote, const void *local,\n                                               int
      sock, server_t *server,\n                                               unsigned
      thread_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - params
    - conn
    argTypes:
    - knotd_qdata_params_t*
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: params_update_quic
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void params_update_quic(knotd_qdata_params_t *params,\n                                      knot_quic_conn_t
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_rtt
      Src: /src/knot-dns/src/knot/server/handler.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - stream_id
    argTypes:
    - knotd_qdata_params_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: params_update_quic_stream
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 1
    functionsReached:
    - knot_quic_conn_rtt
    linkageType: ''
    returnType: void
    signature: "void params_update_quic_stream(knotd_qdata_params_t *params,\n                                             int64_t
      stream_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - params
    - conn
    argTypes:
    - knotd_qdata_params_t*
    - knot_tls_conn_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: params_update_tls
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void params_update_tls(knotd_qdata_params_t *params,\n                                     knot_tls_conn_t
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - params
    - conn
    argTypes:
    - knotd_qdata_params_t*
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: params_update_tcp
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void params_update_tcp(knotd_qdata_params_t *params,\n                                     knot_tcp_conn_t
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - server
    - thread_id
    argTypes:
    - int
    - server_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: params_xdp_init
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: knotd_qdata_params_t
    signature: "knotd_qdata_params_t params_xdp_init(int sock, server_t *server,\n
      \                                                  unsigned thread_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - params
    - proto
    - msg
    argTypes:
    - knotd_qdata_params_t*
    - knotd_query_proto_t
    - struct knot_xdp_msg*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: params_xdp_update
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void params_xdp_update(knotd_qdata_params_t *params,\n                                     knotd_query_proto_t
      proto,\n                                     struct knot_xdp_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: active_state
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool active_state(int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: send_state
    functionSourceFile: /src/knot-dns/src/knot/server/handler.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool send_state(int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: lock_thread_rw
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void lock_thread_rw(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: unlock_thread_rw
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_thread_rw(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:40,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/knot/server/dthreads.c:41,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: unit_signalize_change
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void unit_signalize_change(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:65,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:66,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:71,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/server/dthreads.c:74,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:75,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:78,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - thread
    - state
    argTypes:
    - dthread_t*
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: dt_update_thread
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - unlock_thread_rw
    - lock_thread_rw
    linkageType: ''
    returnType: int
    signature: int dt_update_thread(dthread_t *thread, int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_sem_get_ahead
      Src: /src/knot-dns/src/knot/server/dthreads.c:110,1
    - Dst: sigemptyset
      Src: /src/knot-dns/src/knot/server/dthreads.c:114,1
    - Dst: sigaddset
      Src: /src/knot-dns/src/knot/server/dthreads.c:115,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/knot/server/dthreads.c:116,1
    - Dst: rcu_register_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:118,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:124,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:126,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:136,1
    - Dst: _run
      Src: /src/knot-dns/src/knot/server/dthreads.c:137,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:139,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:143,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:146,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:149,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:152,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:153,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:161,1
    - Dst: unit_signalize_change
      Src: /src/knot-dns/src/knot/server/dthreads.c:164,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/server/dthreads.c:166,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/server/dthreads.c:169,1
    - Dst: knot_sem_get_ahead
      Src: /src/knot-dns/src/knot/server/dthreads.c:171,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:173,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:175,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:176,1
    - Dst: dthread_t*::destruct
      Src: /src/knot-dns/src/knot/server/dthreads.c:182,1
    - Dst: unit_signalize_change
      Src: /src/knot-dns/src/knot/server/dthreads.c:186,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:187,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:189,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/server/dthreads.c:191,1
    - Dst: rcu_unregister_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 197
    functionName: thread_ep
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - unit_signalize_change
    - pthread_mutex_unlock
    - _run
    - pthread_mutex_lock
    - knot_sem_post
    - knot_sem_get_ahead
    - dthread_t*::destruct
    - rcu_register_thread
    - lock_thread_rw
    - unlock_thread_rw
    - rcu_unregister_thread
    - sigemptyset
    - sigaddset
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void *thread_ep(void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/server/dthreads.c:207,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/server/dthreads.c:212,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:216,1
    - Dst: pthread_attr_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:224,1
    - Dst: pthread_attr_setstacksize
      Src: /src/knot-dns/src/knot/server/dthreads.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - unit
    - idx
    argTypes:
    - dt_unit_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: dt_create_thread
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_attr_init
    - pthread_mutex_init
    - memset
    - malloc
    - pthread_attr_setstacksize
    linkageType: ''
    returnType: dthread_t
    signature: dthread_t *dt_create_thread(dt_unit_t *unit, unsigned idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:243,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:246,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t**
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: dt_delete_thread
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_attr_destroy
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dt_delete_thread(dthread_t **thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/server/dthreads.c:258,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:264,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:265,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:268,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:269,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:270,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:275,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:276,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:277,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:278,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:281,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:282,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:283,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:284,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:285,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/server/dthreads.c:288,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:289,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:290,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:291,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:292,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:293,1
    - Dst: knot_sem_init_nonposix
      Src: /src/knot-dns/src/knot/server/dthreads.c:298,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/dthreads.c:304,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:306,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:307,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:308,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:309,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:310,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:311,1
    - Dst: dt_create_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:318,1
    - Dst: dt_delete_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:330,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:334,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:335,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:336,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:337,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:338,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:339,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:340,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 345
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 345
    functionName: dt_create_unit
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - calloc
    - free
    - dt_delete_thread
    - dt_create_thread
    - pthread_mutex_init
    - pthread_mutex_destroy
    - malloc
    - knot_sem_init_nonposix
    - pthread_cond_destroy
    linkageType: ''
    returnType: dt_unit_t
    signature: dt_unit_t *dt_create_unit(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_create_unit
      Src: /src/knot-dns/src/knot/server/dthreads.c:354,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:360,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:361,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:365,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:369,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:372,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - count
    - runnable
    - destructor
    - data
    argTypes:
    - int
    - runnable_t
    - runnable_t
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 376
    functionName: dt_create
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 6
    functionsReached:
    - dt_unit_lock
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - unlock_thread_rw
    - lock_thread_rw
    - dt_create_unit
    - dt_unit_unlock
    linkageType: ''
    returnType: dt_unit_t
    signature: dt_unit_t *dt_create(int count, runnable_t runnable, runnable_t destructor,
      void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_compact
      Src: /src/knot-dns/src/knot/server/dthreads.c:395,1
    - Dst: dt_delete_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:399,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:403,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:404,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:405,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:408,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:409,1
    - Dst: knot_sem_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:412,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:415,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/dthreads.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t**
    constantsTouched: []
    func_position:
      end: 418
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 418
    functionName: dt_delete
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 7
    functionsReached:
    - dt_delete_thread
    - free
    - knot_sem_destroy
    - pthread_mutex_destroy
    - dt_compact
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void dt_delete(dt_unit_t **unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:426,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:438,1
    - Dst: sigfillset
      Src: /src/knot-dns/src/knot/server/dthreads.c:444,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/knot/server/dthreads.c:445,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/knot/server/dthreads.c:446,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/knot/server/dthreads.c:451,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 456
    functionName: dt_start_id
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - sigdelset
    - unlock_thread_rw
    - lock_thread_rw
    - sigfillset
    linkageType: ''
    returnType: int
    signature: int dt_start_id(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:465,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:466,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:473,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:474,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:480,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/server/dthreads.c:481,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 484
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 484
    functionName: dt_start
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 6
    functionsReached:
    - dt_unit_lock
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - dt_unit_unlock
    linkageType: ''
    returnType: int
    signature: int dt_start(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - thread
    - signum
    argTypes:
    - dthread_t*
    - int
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: dt_signalize
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dt_signalize(dthread_t *thread, int signum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:516,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:517,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:525,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:532,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/server/dthreads.c:533,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:534,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:536,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:538,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:543,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:547,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/knot/server/dthreads.c:552,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:553,1
    - Dst: knot_sem_wait_post
      Src: /src/knot-dns/src/knot/server/dthreads.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 559
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 559
    functionName: dt_join
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 6
    functionsReached:
    - dt_unit_lock
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_join
    - unlock_thread_rw
    - lock_thread_rw
    - knot_sem_wait_post
    - dt_unit_unlock
    - pthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int dt_join(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:568,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:569,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:576,1
    - Dst: dt_signalize
      Src: /src/knot-dns/src/knot/server/dthreads.c:579,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:581,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:585,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/server/dthreads.c:588,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 592
    functionName: dt_stop
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 4
    functionsReached:
    - dt_unit_lock
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - dt_signalize
    - unlock_thread_rw
    - lock_thread_rw
    - dt_unit_unlock
    linkageType: ''
    returnType: int
    signature: int dt_stop(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/knot-dns/src/knot/server/dthreads.c:606,1
    - Dst: CPU_SET
      Src: /src/knot-dns/src/knot/server/dthreads.c:608,1
    - Dst: pthread_setaffinity_np
      Src: /src/knot-dns/src/knot/server/dthreads.c:610,1
    - Dst: cpuset_create
      Src: /src/knot-dns/src/knot/server/dthreads.c:613,1
    - Dst: cpuset_zero
      Src: /src/knot-dns/src/knot/server/dthreads.c:617,1
    - Dst: cpuset_set
      Src: /src/knot-dns/src/knot/server/dthreads.c:619,1
    - Dst: pthread_setaffinity_np
      Src: /src/knot-dns/src/knot/server/dthreads.c:621,1
    - Dst: cpuset_size
      Src: /src/knot-dns/src/knot/server/dthreads.c:621,1
    - Dst: cpuset_destroy
      Src: /src/knot-dns/src/knot/server/dthreads.c:622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - thread
    - cpu_id
    - cpu_count
    argTypes:
    - dthread_t*
    - unsigned*
    - size_t
    constantsTouched: []
    func_position:
      end: 634
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 634
    functionName: dt_setaffinity
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - cpuset_destroy
    - CPU_SET
    - CPU_ZERO
    - cpuset_create
    - cpuset_set
    - cpuset_size
    - cpuset_zero
    - pthread_setaffinity_np
    linkageType: ''
    returnType: int
    signature: int dt_setaffinity(dthread_t *thread, unsigned* cpu_id, size_t cpu_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_update_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: dt_activate
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 1
    functionsReached:
    - dt_update_thread
    linkageType: ''
    returnType: int
    signature: int dt_activate(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_update_thread
      Src: /src/knot-dns/src/knot/server/dthreads.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: dt_cancel
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 1
    functionsReached:
    - dt_update_thread
    linkageType: ''
    returnType: int
    signature: int dt_cancel(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:653,1
    - Dst: dt_unit_lock
      Src: /src/knot-dns/src/knot/server/dthreads.c:654,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:661,1
    - Dst: dt_signalize
      Src: /src/knot-dns/src/knot/server/dthreads.c:664,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:666,1
    - Dst: pthread_cond_broadcast
      Src: /src/knot-dns/src/knot/server/dthreads.c:670,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:671,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:678,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:680,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/server/dthreads.c:681,1
    - Dst: lock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:682,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:684,1
    - Dst: unlock_thread_rw
      Src: /src/knot-dns/src/knot/server/dthreads.c:686,1
    - Dst: dt_unit_unlock
      Src: /src/knot-dns/src/knot/server/dthreads.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 694
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 694
    functionName: dt_compact
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 2
    functionsReached:
    - dt_unit_lock
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - pthread_join
    - dt_signalize
    - unlock_thread_rw
    - lock_thread_rw
    - dt_unit_unlock
    linkageType: ''
    returnType: int
    signature: int dt_compact(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/knot-dns/src/knot/server/dthreads.c:701,1
    - Dst: sysctlbyname
      Src: /src/knot-dns/src/knot/server/dthreads.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 713
    functionName: dt_online_cpus
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    - sysconf
    linkageType: ''
    returnType: int
    signature: int dt_online_cpus(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: dt_optimal_size
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dt_optimal_size(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: dt_is_cancelled
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dt_is_cancelled(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: dt_get_id
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned dt_get_id(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/server/dthreads.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: dt_unit_lock
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 6
    functionsReached:
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int dt_unit_lock(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/server/dthreads.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unit
    argTypes:
    - dt_unit_t*
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: dt_unit_unlock
    functionSourceFile: /src/knot-dns/src/knot/server/dthreads.c
    functionUses: 6
    functionsReached:
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int dt_unit_unlock(dt_unit_t *unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:59,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:60,1
    - Dst: htobe16
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:62,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_handle_ctx_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: xdp_handle_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - conf
    - rcu_read_unlock
    - htobe16
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void xdp_handle_reconfigure(xdp_handle_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_send_prepare
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:80,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:81,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:84,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:86,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:87,1
    - Dst: knot_tcp_table_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:90,1
    - Dst: knot_tcp_table_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:91,1
    - Dst: quic_unmake_table
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:93,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_handle_ctx_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: xdp_handle_free
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_tcp_sweep
    - knot_tcp_send
    - knot_xdp_send_prepare
    - knot_xdp_send_finish
    - knot_tcp_table_free
    - free
    - quic_unmake_table
    - knot_tcp_cleanup
    linkageType: ''
    returnType: void
    signature: void xdp_handle_free(xdp_handle_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_reply_alloc
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: quic_alloc_cb
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_xdp_reply_alloc
    linkageType: ''
    returnType: int
    signature: int quic_alloc_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: quic_send_cb
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_xdp_send
    linkageType: ''
    returnType: int
    signature: int quic_send_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_send_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: quic_free_cb
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_xdp_send_free
    linkageType: ''
    returnType: void
    signature: void quic_free_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:120,1
    - Dst: xdp_handle_reconfigure
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:126,1
    - Dst: knot_tcp_table_new
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:130,1
    - Dst: xdp_handle_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:132,1
    - Dst: knot_tcp_table_new
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:135,1
    - Dst: xdp_handle_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:137,1
    - Dst: quic_make_table
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:144,1
    - Dst: xdp_handle_free
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:146,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - server
    - xdp_sock
    argTypes:
    - server_t*
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 162
    functionName: xdp_handle_init
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_tcp_table_new
    - assert
    - calloc
    - quic_make_table
    - xdp_handle_reconfigure
    - xdp_handle_free
    linkageType: ''
    returnType: xdp_handle_ctx_t
    signature: xdp_handle_ctx_t *xdp_handle_init(server_t *server, knot_xdp_socket_t
      *xdp_sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_handle_ctx_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: xdp_handle_recv
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xdp_handle_recv(xdp_handle_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_xdp_update
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:189,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:191,1
    - Dst: knot_xdp_reply_alloc
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:196,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:197,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:198,1
    - Dst: handle_udp_reply
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:205,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - layer
    - params
    argTypes:
    - xdp_handle_ctx_t*
    - knot_layer_t*
    - knotd_qdata_params_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 210
    functionName: handle_udp
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - knot_xdp_reply_alloc
    - process_query_proto
    - log_debug
    - params_xdp_update
    - handle_udp_reply
    linkageType: ''
    returnType: void
    signature: "void handle_udp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,\n                       knotd_qdata_params_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_xdp_update
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:225,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:227,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:234,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:235,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:236,1
    - Dst: knot_tcp_relay_empty
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:239,1
    - Dst: params_update_tcp
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:242,1
    - Dst: handle_query
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:248,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:251,1
    - Dst: active_state
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:252,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:253,1
    - Dst: send_state
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:254,1
    - Dst: knot_tcp_reply_data
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:258,1
    - Dst: handle_finish
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:262,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:271,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - layer
    - params
    argTypes:
    - xdp_handle_ctx_t*
    - knot_layer_t*
    - knotd_qdata_params_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 273
    functionName: handle_tcp
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - handle_query
    - process_query_proto
    - log_debug
    - send_state
    - knot_strerror
    - active_state
    - knot_tcp_reply_data
    - handle_finish
    - knot_tcp_relay_empty
    - params_update_tcp
    - knot_pkt_new
    - knot_layer_produce
    - params_xdp_update
    linkageType: ''
    returnType: void
    signature: "void handle_tcp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,\n                       knotd_qdata_params_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_xdp_update
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:293,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:295,1
    - Dst: knot_quic_handle
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:310,1
    - Dst: handle_quic_streams
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:315,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:318,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - layer
    - params
    argTypes:
    - xdp_handle_ctx_t*
    - knot_layer_t*
    - knotd_qdata_params_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 325
    functionName: handle_quic
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - params_xdp_update
    - process_query_proto
    - handle_quic_streams
    - knot_quic_handle
    linkageType: ''
    returnType: void
    signature: "void handle_quic(xdp_handle_ctx_t *ctx, knot_layer_t *layer,\n                        knotd_qdata_params_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:330,1
    - Dst: params_xdp_init
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:332,1
    - Dst: knot_xdp_socket_fd
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:333,1
    - Dst: knot_xdp_send_prepare
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:335,1
    - Dst: handle_udp
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:337,1
    - Dst: handle_tcp
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:339,1
    - Dst: handle_quic
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:341,1
    - Dst: knot_xdp_recv_finish
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - layer
    - server
    - thread_id
    argTypes:
    - xdp_handle_ctx_t*
    - knot_layer_t*
    - server_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: xdp_handle_msgs
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - assert
    - handle_udp
    - handle_quic
    - knot_xdp_send_prepare
    - knot_xdp_recv_finish
    - params_xdp_init
    - handle_tcp
    - knot_xdp_socket_fd
    linkageType: ''
    returnType: void
    signature: "void xdp_handle_msgs(xdp_handle_ctx_t *ctx, knot_layer_t *layer,\n
      \                    server_t *server, unsigned thread_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:350,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:351,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:354,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:356,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:357,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:366,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:368,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:369,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:372,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:375,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_handle_ctx_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 380
    functionName: xdp_handle_send
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - knot_tcp_send
    - log_debug
    - knot_quic_cleanup
    - knot_quic_send
    - knot_xdp_send_finish
    - knot_tcp_cleanup
    linkageType: ''
    returnType: void
    signature: void xdp_handle_send(xdp_handle_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_table_sweep
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:385,1
    - Dst: log_swept
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:386,1
    - Dst: quic_reconfigure_table
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:387,1
    - Dst: knot_xdp_send_prepare
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:398,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:402,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:407,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:409,1
    - Dst: knot_tcp_sweep
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:414,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:418,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:420,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:422,1
    - Dst: log_swept
      Src: /src/knot-dns/src/knot/server/xdp-handler.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_handle_ctx_t*
    constantsTouched: []
    func_position:
      end: 426
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 426
    functionName: xdp_handle_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/xdp-handler.c
    functionUses: 0
    functionsReached:
    - knot_quic_table_sweep
    - knot_tcp_sweep
    - knot_tcp_send
    - knot_xdp_send_prepare
    - knot_xdp_send_finish
    - knot_tcp_cleanup
    - quic_reconfigure_table
    - log_swept
    linkageType: ''
    returnType: void
    signature: void xdp_handle_sweep(xdp_handle_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:71,1
    - Dst: close
      Src: /src/knot-dns/src/knot/server/server.c:77,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:80,1
    - Dst: knot_xdp_deinit
      Src: /src/knot-dns/src/knot/server/server.c:85,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:87,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:90,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:91,1
    - Dst: close
      Src: /src/knot-dns/src/knot/server/server.c:97,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:100,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - iface
    - dealloc
    argTypes:
    - iface_t*
    - bool
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: server_deinit_iface
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - close
    - knot_xdp_deinit
    linkageType: ''
    returnType: void
    signature: void server_deinit_iface(iface_t *iface, bool dealloc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:113,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ifaces
    - n
    argTypes:
    - iface_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: server_deinit_iface_list
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - server_deinit_iface
    - free
    linkageType: ''
    returnType: void
    signature: void server_deinit_iface_list(iface_t *ifaces, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/knot/server/server.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - sock_count
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: server_attach_reuseport_bpf
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: bool
    signature: bool server_attach_reuseport_bpf(const int sock, const int sock_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/knot-dns/src/knot/server/server.c:153,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:157,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/knot/server/server.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sock
    - option
    - min
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: setsockopt_min
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - assert
    - getsockopt
    - setsockopt
    linkageType: ''
    returnType: bool
    signature: bool setsockopt_min(int sock, int option, int min)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_min
      Src: /src/knot-dns/src/knot/server/server.c:170,1
    - Dst: setsockopt_min
      Src: /src/knot-dns/src/knot/server/server.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - min_recvsize
    - min_sndsize
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: enlarge_net_buffers
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - setsockopt_min
    linkageType: ''
    returnType: bool
    signature: bool enlarge_net_buffers(int sock, int min_recvsize, int min_sndsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:198,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/knot/server/server.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sock
    - family
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: enable_pktinfo
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - assert
    - setsockopt
    linkageType: ''
    returnType: bool
    signature: bool enable_pktinfo(int sock, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/knot/server/server.c:222,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/server/server.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sock
    - family
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: disable_pmtudisc
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int disable_pmtudisc(int sock, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/server/server.c:235,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/server/server.c:236,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/server/server.c:237,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/server/server.c:238,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/server/server.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - proto
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: quic_rmt_count
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - conf_iter_next
    - conf_id_get
    - conf_iter_id
    - conf_bool
    - conf_iter
    linkageType: ''
    returnType: size_t
    signature: size_t quic_rmt_count(conf_t *conf, const yp_name_t *proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:255,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:256,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:260,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:262,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:265,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:267,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:268,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:270,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:271,1
    - Dst: knot_xdp_init
      Src: /src/knot-dns/src/knot/server/server.c:291,1
    - Dst: log_notice
      Src: /src/knot-dns/src/knot/server/server.c:294,1
    - Dst: knot_xdp_init
      Src: /src/knot-dns/src/knot/server/server.c:296,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:301,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:302,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:303,1
    - Dst: knot_xdp_socket_fd
      Src: /src/knot-dns/src/knot/server/server.c:307,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/server/server.c:313,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/server/server.c:316,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:321,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/server/server.c:325,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:326,1
    - Dst: knot_eth_xdp_mode
      Src: /src/knot-dns/src/knot/server/server.c:329,1
    - Dst: if_nametoindex
      Src: /src/knot-dns/src/knot/server/server.c:329,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 7
    argNames:
    - addr
    - route_check
    - udp
    - tcp
    - quic
    - thread_id_start
    - xdp_config
    argTypes:
    - struct sockaddr_storage*
    - bool
    - bool
    - bool
    - uint16_t
    - unsigned*
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 336
    functionName: server_init_xdp_iface
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_eth_xdp_mode
    - strlcat
    - log_warning
    - log_info
    - calloc
    - knot_strerror
    - log_notice
    - snprintf
    - if_nametoindex
    - knot_xdp_init
    - memcpy
    - log_error
    - server_deinit_iface
    - knot_xdp_socket_fd
    linkageType: ''
    returnType: iface_t
    signature: "iface_t *server_init_xdp_iface(struct sockaddr_storage *addr, bool
      route_check,\n                                      bool udp, bool tcp, uint16_t
      quic, unsigned *thread_id_start,\n                                      const
      knot_xdp_config_t *xdp_config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:358,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:360,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:363,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/server.c:367,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:386,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:387,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:389,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:390,1
    - Dst: net_bound_socket
      Src: /src/knot-dns/src/knot/server/server.c:408,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:410,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:416,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:417,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:418,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:423,1
    - Dst: server_attach_reuseport_bpf
      Src: /src/knot-dns/src/knot/server/server.c:424,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:426,1
    - Dst: enlarge_net_buffers
      Src: /src/knot-dns/src/knot/server/server.c:431,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:433,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/src/knot/server/server.c:437,1
    - Dst: enable_pktinfo
      Src: /src/knot-dns/src/knot/server/server.c:439,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:440,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:447,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:448,1
    - Dst: net_cmsg_ecn_enable
      Src: /src/knot-dns/src/knot/server/server.c:453,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:455,1
    - Dst: net_bound_socket
      Src: /src/knot-dns/src/knot/server/server.c:474,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:476,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:482,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:483,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:484,1
    - Dst: enlarge_net_buffers
      Src: /src/knot-dns/src/knot/server/server.c:488,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:490,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:500,1
    - Dst: server_deinit_iface
      Src: /src/knot-dns/src/knot/server/server.c:501,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:506,1
    - Dst: server_attach_reuseport_bpf
      Src: /src/knot-dns/src/knot/server/server.c:507,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:509,1
    - Dst: net_bound_tfo
      Src: /src/knot-dns/src/knot/server/server.c:515,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:517,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:518,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 111
    argCount: 6
    argNames:
    - addr
    - tls
    - udp_thread_count
    - tcp_thread_count
    - tcp_reuseport
    - socket_affinity
    argTypes:
    - struct sockaddr_storage*
    - bool
    - int
    - int
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 524
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 524
    functionName: server_init_iface
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - assert
    - log_warning
    - calloc
    - net_bound_socket
    - knot_strerror
    - sockaddr_tostr
    - enable_pktinfo
    - net_cmsg_ecn_enable
    - net_bound_tfo
    - enlarge_net_buffers
    - sockaddr_is_any
    - server_attach_reuseport_bpf
    - memcpy
    - log_error
    - server_deinit_iface
    linkageType: ''
    returnType: iface_t
    signature: "iface_t *server_init_iface(struct sockaddr_storage *addr, bool tls,\n
      \                                 int udp_thread_count, int tcp_thread_count,\n
      \                                 bool tcp_reuseport, bool socket_affinity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:530,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:532,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:534,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:536,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:541,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:543,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:545,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/server/server.c:547,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 552
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: log_sock_conf
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - strlcat
    - log_info
    linkageType: ''
    returnType: void
    signature: void log_sock_conf(conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/knot-dns/src/knot/server/server.c:566,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - path
    - role
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 576
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 576
    functionName: check_file
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - log_error
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: int check_file(char *path, char *role)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/knot-dns/src/knot/server/server.c:588,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:594,1
    - Dst: make_dir
      Src: /src/knot-dns/src/knot/server/server.c:596,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:598,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:599,1
    - Dst: abs_path
      Src: /src/knot-dns/src/knot/server/server.c:602,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:603,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/server.c:604,1
    - Dst: conf_user
      Src: /src/knot-dns/src/knot/server/server.c:612,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:613,1
    - Dst: knot_creds_init
      Src: /src/knot-dns/src/knot/server/server.c:619,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:621,1
    - Dst: knot_creds_update
      Src: /src/knot-dns/src/knot/server/server.c:626,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/server/server.c:634,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:635,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:640,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:641,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 644
    functionName: init_creds
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - conf_user
    - assert
    - make_dir
    - log_debug
    - check_file
    - log_info
    - free
    - knot_creds_init
    - memcmp
    - abs_path
    - knot_creds_update
    - log_error
    linkageType: ''
    returnType: int
    signature: int init_creds(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:653,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:654,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:655,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:656,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:657,1
    - Dst: log_sock_conf
      Src: /src/knot-dns/src/knot/server/server.c:662,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:664,1
    - Dst: linux_at_least
      Src: /src/knot-dns/src/knot/server/server.c:669,1
    - Dst: getrlimit
      Src: /src/knot-dns/src/knot/server/server.c:672,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:677,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:678,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:688,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:690,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:701,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/server.c:703,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:704,1
    - Dst: server_init_iface
      Src: /src/knot-dns/src/knot/server/server.c:706,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:709,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:710,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:713,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:714,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:716,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:719,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/server.c:721,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:722,1
    - Dst: server_init_iface
      Src: /src/knot-dns/src/knot/server/server.c:724,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:727,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:728,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:732,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:733,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:735,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:738,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/server.c:740,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:741,1
    - Dst: server_init_iface
      Src: /src/knot-dns/src/knot/server/server.c:743,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:746,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:747,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:751,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:752,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:754,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:756,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:768,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/server.c:770,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:771,1
    - Dst: server_init_xdp_iface
      Src: /src/knot-dns/src/knot/server/server.c:773,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:778,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/server/server.c:781,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:782,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:784,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:788,1
    - Dst: quic_rmt_count
      Src: /src/knot-dns/src/knot/server/server.c:792,1
    - Dst: quic_rmt_count
      Src: /src/knot-dns/src/knot/server/server.c:793,1
    - Dst: init_creds
      Src: /src/knot-dns/src/knot/server/server.c:795,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:796,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 2
    argNames:
    - conf
    - s
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 815
    functionName: configure_sockets
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - log_warning
    - calloc
    - linux_at_least
    - server_init_xdp_iface
    - conf_val_next
    - log_error
    - getrlimit
    - knot_strerror
    - free
    - init_creds
    - server_deinit_iface_list
    - server_init_iface
    - assert
    - quic_rmt_count
    - log_sock_conf
    - conf_addr
    - log_info
    - sockaddr_tostr
    - memcpy
    - conf_get
    linkageType: ''
    returnType: int
    signature: int configure_sockets(conf_t *conf, server_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/server/server.c:824,1
    - Dst: evsched_init
      Src: /src/knot-dns/src/knot/server/server.c:827,1
    - Dst: worker_pool_create
      Src: /src/knot-dns/src/knot/server/server.c:831,1
    - Dst: evsched_deinit
      Src: /src/knot-dns/src/knot/server/server.c:833,1
    - Dst: worker_pool_destroy
      Src: /src/knot-dns/src/knot/server/server.c:839,1
    - Dst: evsched_deinit
      Src: /src/knot-dns/src/knot/server/server.c:840,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/server/server.c:843,1
    - Dst: pthread_rwlock_init
      Src: /src/knot-dns/src/knot/server/server.c:845,1
    - Dst: zone_backups_init
      Src: /src/knot-dns/src/knot/server/server.c:847,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:850,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:850,1
    - Dst: catalog_init
      Src: /src/knot-dns/src/knot/server/server.c:851,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/server/server.c:851,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:852,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:853,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:856,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:856,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:857,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:857,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/server/server.c:858,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/server/server.c:858,1
    - Dst: journal_env_flags
      Src: /src/knot-dns/src/knot/server/server.c:858,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/server/server.c:858,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:859,1
    - Dst: kasp_db_ensure_init
      Src: /src/knot-dns/src/knot/server/server.c:861,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:861,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:864,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:864,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/server/server.c:865,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/server/server.c:865,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - server
    - bg_workers
    argTypes:
    - server_t*
    - int
    constantsTouched: []
    func_position:
      end: 869
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 869
    functionName: server_init
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 3
    functionsReached:
    - evsched_deinit
    - worker_pool_destroy
    - conf_db_param
    - pthread_rwlock_init
    - conf_int
    - free
    - conf
    - journal_env_flags
    - zone_backups_init
    - catalog_init
    - kasp_db_ensure_init
    - memset
    - conf_opt
    - worker_pool_create
    - evsched_init
    - ATOMIC_INIT
    - knot_lmdb_init
    linkageType: ''
    returnType: int
    signature: int server_init(server_t *server, int bg_workers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_backups_deinit
      Src: /src/knot-dns/src/knot/server/server.c:877,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:881,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:884,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:885,1
    - Dst: server_deinit_iface_list
      Src: /src/knot-dns/src/knot/server/server.c:890,1
    - Dst: worker_pool_destroy
      Src: /src/knot-dns/src/knot/server/server.c:893,1
    - Dst: knot_zonedb_deep_free
      Src: /src/knot-dns/src/knot/server/server.c:896,1
    - Dst: evsched_deinit
      Src: /src/knot-dns/src/knot/server/server.c:899,1
    - Dst: pthread_rwlock_destroy
      Src: /src/knot-dns/src/knot/server/server.c:902,1
    - Dst: catalog_update_clear
      Src: /src/knot-dns/src/knot/server/server.c:905,1
    - Dst: catalog_update_deinit
      Src: /src/knot-dns/src/knot/server/server.c:906,1
    - Dst: catalog_deinit
      Src: /src/knot-dns/src/knot/server/server.c:907,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/server/server.c:908,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/server/server.c:911,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/server/server.c:914,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/server/server.c:917,1
    - Dst: conn_pool_deinit
      Src: /src/knot-dns/src/knot/server/server.c:920,1
    - Dst: conn_pool_deinit
      Src: /src/knot-dns/src/knot/server/server.c:922,1
    - Dst: knot_unreachables_deinit
      Src: /src/knot-dns/src/knot/server/server.c:924,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/knot/server/server.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 927
      start: 871
    functionDepth: 4
    functionLinenumber: 871
    functionLinenumberEnd: 927
    functionName: server_deinit
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 3
    functionsReached:
    - evsched_deinit
    - worker_pool_destroy
    - log_warning
    - log_info
    - knot_unreachables_deinit
    - knot_strerror
    - catalog_deinit
    - knot_creds_free
    - ATOMIC_DEINIT
    - pthread_rwlock_destroy
    - conn_pool_deinit
    - zone_backups_deinit
    - server_deinit_iface_list
    - catalog_update_deinit
    - catalog_update_clear
    - knot_zonedb_deep_free
    - knot_lmdb_deinit
    linkageType: ''
    returnType: void
    signature: void server_deinit(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/server/server.c:934,1
    - Dst: dt_create
      Src: /src/knot-dns/src/knot/server/server.c:936,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:941,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/server/server.c:943,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/server.c:947,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:949,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/server/server.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - server
    - index
    - thread_count
    - runnable
    - destructor
    argTypes:
    - server_t*
    - int
    - int
    - runnable_t
    - runnable_t
    constantsTouched: []
    func_position:
      end: 955
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 955
    functionName: server_init_handler
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - dt_delete
    - calloc
    - dt_create
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: "int server_init_handler(server_t *server, int index, int thread_count,\n
      \                              runnable_t runnable, runnable_t destructor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_stop
      Src: /src/knot-dns/src/knot/server/server.c:965,1
    - Dst: dt_join
      Src: /src/knot-dns/src/knot/server/server.c:966,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/knot/server/server.c:970,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:971,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - iohandler_t*
    constantsTouched: []
    func_position:
      end: 973
      start: 957
    functionDepth: 3
    functionLinenumber: 957
    functionLinenumberEnd: 973
    functionName: server_free_handler
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - free
    - dt_join
    - dt_stop
    - dt_delete
    linkageType: ''
    returnType: void
    signature: void server_free_handler(iohandler_t *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: systemd_zone_load_timeout_notify
      Src: /src/knot-dns/src/knot/server/server.c:977,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/server/server.c:980,1
    - Dst: worker_pool_status
      Src: /src/knot-dns/src/knot/server/server.c:985,1
    - Dst: systemd_tasks_status_notify
      Src: /src/knot-dns/src/knot/server/server.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - worker_pool_t*
    constantsTouched: []
    func_position:
      end: 989
      start: 975
    functionDepth: 3
    functionLinenumber: 975
    functionLinenumberEnd: 989
    functionName: worker_wait_cb
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - worker_pool_status
    - systemd_tasks_status_notify
    - time_now
    - systemd_zone_load_timeout_notify
    linkageType: ''
    returnType: void
    signature: void worker_wait_cb(worker_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: worker_pool_start
      Src: /src/knot-dns/src/knot/server/server.c:998,1
    - Dst: worker_pool_wait_cb
      Src: /src/knot-dns/src/knot/server/server.c:1002,1
    - Dst: systemd_tasks_status_notify
      Src: /src/knot-dns/src/knot/server/server.c:1003,1
    - Dst: evsched_start
      Src: /src/knot-dns/src/knot/server/server.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - server
    - async
    argTypes:
    - server_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1021
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1021
    functionName: server_start
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 4
    functionsReached:
    - worker_pool_wait_cb
    - systemd_tasks_status_notify
    - worker_pool_start
    - evsched_start
    linkageType: ''
    returnType: int
    signature: int server_start(server_t *server, bool async)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: evsched_join
      Src: /src/knot-dns/src/knot/server/server.c:1029,1
    - Dst: worker_pool_join
      Src: /src/knot-dns/src/knot/server/server.c:1030,1
    - Dst: server_free_handler
      Src: /src/knot-dns/src/knot/server/server.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1023
    functionDepth: 4
    functionLinenumber: 1023
    functionLinenumberEnd: 1037
    functionName: server_wait
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 1
    functionsReached:
    - server_free_handler
    - evsched_join
    - worker_pool_join
    linkageType: ''
    returnType: void
    signature: void server_wait(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_purge_dynamic
      Src: /src/knot-dns/src/knot/server/server.c:1041,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1052,1
    - Dst: conf_import
      Src: /src/knot-dns/src/knot/server/server.c:1055,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1057,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1058,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1062,1
    - Dst: knot_db_lmdb_get_path
      Src: /src/knot-dns/src/knot/server/server.c:1063,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/server/server.c:1066,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/server/server.c:1067,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/server/server.c:1068,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/server/server.c:1069,1
    - Dst: conf_mod_load_extra
      Src: /src/knot-dns/src/knot/server/server.c:1070,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/server/server.c:1070,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/server/server.c:1070,1
    - Dst: conf_iter_finish
      Src: /src/knot-dns/src/knot/server/server.c:1073,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/server/server.c:1079,1
    - Dst: conf_migrate
      Src: /src/knot-dns/src/knot/server/server.c:1082,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1084,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - new_conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1088
    functionName: reload_conf
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - conf_mod_load_extra
    - conf_iter_next
    - conf_migrate
    - log_info
    - conf_id_get
    - knot_strerror
    - conf_import
    - conf_iter_id
    - conf_str
    - knot_db_lmdb_get_path
    - conf_iter_finish
    - conf_mod_load_purge
    - log_error
    - conf_iter
    - yp_schema_purge_dynamic
    linkageType: ''
    returnType: int
    signature: int reload_conf(conf_t *new_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/server.c:1093,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1095,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1096,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1097,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1098,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1106,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:1112,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/server/server.c:1116,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:1126,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:1129,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/server/server.c:1133,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:1143,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:1146,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/server/server.c:1150,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:1160,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:1162,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/server/server.c:1165,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/server/server.c:1169,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/server/server.c:1179,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 59
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1183
    functionName: listen_changed
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_addr
    - free
    - sockaddr_cmp
    - conf_val_next
    - conf_get
    linkageType: ''
    returnType: bool
    signature: bool listen_changed(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1205,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1206,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1210,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1211,1
    - Dst: conf_udp_threads
      Src: /src/knot-dns/src/knot/server/server.c:1215,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1216,1
    - Dst: conf_tcp_threads
      Src: /src/knot-dns/src/knot/server/server.c:1220,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1221,1
    - Dst: conf_bg_threads
      Src: /src/knot-dns/src/knot/server/server.c:1225,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1226,1
    - Dst: listen_changed
      Src: /src/knot-dns/src/knot/server/server.c:1230,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1231,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1235,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1236,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1240,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1241,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1245,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1246,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/server/server.c:1251,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1252,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/server/server.c:1256,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1257,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/server/server.c:1261,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1262,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/server/server.c:1266,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1267,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/server/server.c:1271,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1272,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/server/server.c:1277,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1278,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1281
    functionName: warn_server_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - conf_get_int
    - log_warning
    - conf_udp_threads
    - conf_tcp_threads
    - conf_bg_threads
    - conf_get_bool
    - listen_changed
    linkageType: ''
    returnType: void
    signature: void warn_server_reconfigure(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: systemd_reloading_notify
      Src: /src/knot-dns/src/knot/server/server.c:1289,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1292,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1293,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/knot/server/server.c:1294,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1301,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1302,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/knot/server/server.c:1303,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1307,1
    - Dst: reload_conf
      Src: /src/knot-dns/src/knot/server/server.c:1313,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/server/server.c:1315,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/knot/server/server.c:1316,1
    - Dst: conf_activate_modules
      Src: /src/knot-dns/src/knot/server/server.c:1320,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/server/server.c:1323,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/knot/server/server.c:1324,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/server/server.c:1328,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/server/server.c:1329,1
    - Dst: conf_update
      Src: /src/knot-dns/src/knot/server/server.c:1341,1
    - Dst: log_reconfigure
      Src: /src/knot-dns/src/knot/server/server.c:1345,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1345,1
    - Dst: server_reconfigure
      Src: /src/knot-dns/src/knot/server/server.c:1348,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1348,1
    - Dst: warn_server_reconfigure
      Src: /src/knot-dns/src/knot/server/server.c:1349,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1349,1
    - Dst: stats_reconfigure
      Src: /src/knot-dns/src/knot/server/server.c:1350,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1350,1
    - Dst: server_update_zones
      Src: /src/knot-dns/src/knot/server/server.c:1353,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1353,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/server/server.c:1357,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1360,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1363,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1364,1
    - Dst: trie_clear
      Src: /src/knot-dns/src/knot/server/server.c:1365,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/server.c:1365,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/knot/server/server.c:1369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - server
    - mode
    argTypes:
    - server_t*
    - reload_t
    constantsTouched: []
    func_position:
      end: 1372
      start: 1283
    functionDepth: 5
    functionLinenumber: 1283
    functionLinenumberEnd: 1372
    functionName: server_reload
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 2
    functionsReached:
    - conf_update
    - log_warning
    - log_info
    - knot_strerror
    - server_update_zones
    - conf
    - warn_server_reconfigure
    - systemd_reloading_notify
    - reload_conf
    - server_reconfigure
    - conf_free
    - ATOMIC_SET
    - stats_reconfigure
    - systemd_ready_notify
    - log_reconfigure
    - trie_clear
    - log_error
    - conf_activate_modules
    linkageType: ''
    returnType: int
    signature: int server_reload(server_t *server, reload_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1376,1
    - Dst: systemd_stopping_notify
      Src: /src/knot-dns/src/knot/server/server.c:1377,1
    - Dst: evsched_stop
      Src: /src/knot-dns/src/knot/server/server.c:1380,1
    - Dst: worker_pool_stop
      Src: /src/knot-dns/src/knot/server/server.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1386
    functionName: server_stop
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 4
    functionsReached:
    - evsched_stop
    - log_info
    - systemd_stopping_notify
    - worker_pool_stop
    linkageType: ''
    returnType: void
    signature: void server_stop(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - server
    - index
    - size
    - run
    argTypes:
    - server_t*
    - int
    - unsigned
    - runnable_t
    constantsTouched: []
    func_position:
      end: 1399
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1399
    functionName: set_handler
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_handler(server_t *server, int index, unsigned size, runnable_t
      run)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_handler
      Src: /src/knot-dns/src/knot/server/server.c:1409,1
    - Dst: set_handler
      Src: /src/knot-dns/src/knot/server/server.c:1415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1416
    functionName: configure_threads
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - set_handler
    linkageType: ''
    returnType: int
    signature: int configure_threads(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:1421,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:1422,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1426,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1426,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1431
    functionName: reconfigure_journal_db
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - free
    - conf_db_param
    - log_warning
    linkageType: ''
    returnType: int
    signature: int reconfigure_journal_db(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:1436,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1439,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1439,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:1441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1444
    functionName: reconfigure_kasp_db
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - free
    - conf_db_param
    - log_warning
    linkageType: ''
    returnType: int
    signature: int reconfigure_kasp_db(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/server/server.c:1449,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/server.c:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1453
    functionName: reconfigure_timer_db
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - free
    - conf_db_param
    linkageType: ''
    returnType: int
    signature: int reconfigure_timer_db(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_session_load
      Src: /src/knot-dns/src/knot/server/server.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - intptr_t
    constantsTouched: []
    func_position:
      end: 1460
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1460
    functionName: free_sess_ticket
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_tls_session_load
    linkageType: ''
    returnType: void
    signature: void free_sess_ticket(intptr_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1464,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1466,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/server/server.c:1467,1
    - Dst: conn_pool_init
      Src: /src/knot-dns/src/knot/server/server.c:1469,1
    - Dst: conn_pool_timeout
      Src: /src/knot-dns/src/knot/server/server.c:1477,1
    - Dst: conn_pool_init
      Src: /src/knot-dns/src/knot/server/server.c:1485,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/server.c:1494,1
    - Dst: knot_unreachables_init
      Src: /src/knot-dns/src/knot/server/server.c:1497,1
    - Dst: knot_unreachables_ttl
      Src: /src/knot-dns/src/knot/server/server.c:1499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1503
    functionName: reconfigure_remote_pool
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - conn_pool_init
    - knot_unreachables_init
    - knot_unreachables_ttl
    - conf_int
    - conn_pool_timeout
    - conf_get
    linkageType: ''
    returnType: int
    signature: int reconfigure_remote_pool(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1515,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1519,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/server/server.c:1522,1
    - Dst: knot_db_lmdb_get_path
      Src: /src/knot-dns/src/knot/server/server.c:1523,1
    - Dst: configure_threads
      Src: /src/knot-dns/src/knot/server/server.c:1527,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1528,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1529,1
    - Dst: configure_sockets
      Src: /src/knot-dns/src/knot/server/server.c:1534,1
    - Dst: conf_lmdb_readers
      Src: /src/knot-dns/src/knot/server/server.c:1538,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/server/server.c:1539,1
    - Dst: init_creds
      Src: /src/knot-dns/src/knot/server/server.c:1544,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1545,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1546,1
    - Dst: reconfigure_journal_db
      Src: /src/knot-dns/src/knot/server/server.c:1551,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1552,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1553,1
    - Dst: reconfigure_kasp_db
      Src: /src/knot-dns/src/knot/server/server.c:1557,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1558,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1559,1
    - Dst: reconfigure_timer_db
      Src: /src/knot-dns/src/knot/server/server.c:1563,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1564,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1565,1
    - Dst: reconfigure_remote_pool
      Src: /src/knot-dns/src/knot/server/server.c:1569,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/server/server.c:1570,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/server/server.c:1571,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - conf
    - server
    argTypes:
    - conf_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1505
    functionDepth: 5
    functionLinenumber: 1505
    functionLinenumberEnd: 1575
    functionName: server_reconfigure
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 2
    functionsReached:
    - conf_lmdb_readers
    - log_warning
    - log_info
    - reconfigure_kasp_db
    - knot_strerror
    - reconfigure_timer_db
    - knot_db_lmdb_get_path
    - configure_sockets
    - reconfigure_remote_pool
    - init_creds
    - configure_threads
    - log_error
    - reconfigure_journal_db
    linkageType: ''
    returnType: int
    signature: int server_reconfigure(conf_t *conf, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/server/server.c:1585,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/server.c:1589,1
    - Dst: evsched_pause
      Src: /src/knot-dns/src/knot/server/server.c:1590,1
    - Dst: worker_pool_wait
      Src: /src/knot-dns/src/knot/server/server.c:1591,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/server.c:1592,1
    - Dst: zonedb_reload
      Src: /src/knot-dns/src/knot/server/server.c:1595,1
    - Dst: mem_trim
      Src: /src/knot-dns/src/knot/server/server.c:1598,1
    - Dst: evsched_resume
      Src: /src/knot-dns/src/knot/server/server.c:1601,1
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/server/server.c:1603,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/server.c:1605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - conf
    - server
    - mode
    argTypes:
    - conf_t*
    - server_t*
    - reload_t
    constantsTouched: []
    func_position:
      end: 1606
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1606
    functionName: server_update_zones
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 1
    functionsReached:
    - zonedb_reload
    - evsched_pause
    - knot_zonedb_foreach
    - log_debug
    - evsched_resume
    - worker_pool_wait
    - mem_trim
    linkageType: ''
    returnType: void
    signature: void server_update_zones(conf_t *conf, server_t *server, reload_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_creds_cert
      Src: /src/knot-dns/src/knot/server/server.c:1616,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/knot-dns/src/knot/server/server.c:1617,1
    - Dst: knot_base64_encode
      Src: /src/knot-dns/src/knot/server/server.c:1619,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/knot/server/server.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - server
    - out
    - out_size
    argTypes:
    - server_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1624
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1624
    functionName: server_cert_pin
    functionSourceFile: /src/knot-dns/src/knot/server/server.c
    functionUses: 0
    functionsReached:
    - knot_base64_encode
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_get_key_id
    - knot_creds_cert
    linkageType: ''
    returnType: size_t
    signature: size_t server_cert_pin(server_t *server, uint8_t *out, size_t out_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: update_sweep_timer
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - time_now
    linkageType: ''
    returnType: void
    signature: void update_sweep_timer(struct timespec *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:63,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:64,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:66,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tcp
    argTypes:
    - tcp_context_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: update_tcp_conf
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - conf
    - rcu_read_unlock
    - MAX
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void update_tcp_conf(tcp_context_t *tcp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_conn_del
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - set
    - idx
    argTypes:
    - fdset_t*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: free_tls_ctx
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - knot_tls_conn_del
    linkageType: ''
    returnType: void
    signature: void free_tls_ctx(fdset_t *set, int idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:88,1
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:91,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:93,1
    - Dst: getpeername
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:97,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:99,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:100,1
    - Dst: free_tls_ctx
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - set
    - idx
    - data
    argTypes:
    - fdset_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: tcp_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 4
    functionsReached:
    - log_enabled_debug
    - assert
    - free_tls_ctx
    - ATOMIC_ADD
    - log_debug
    - sockaddr_tostr
    - getpeername
    linkageType: ''
    returnType: fdset_sweep_state_t
    signature: fdset_sweep_state_t tcp_sweep(fdset_t *set, int idx, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:117,1
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:119,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:121,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ss
    - operation
    - ret
    - server
    argTypes:
    - struct sockaddr_storage*
    - char*
    - int
    - server_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: tcp_log_error
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - sockaddr_tostr
    - ATOMIC_ADD
    - log_debug
    linkageType: ''
    returnType: void
    signature: "void tcp_log_error(const struct sockaddr_storage *ss, const char *operation,\n
      \                         int ret, server_t *server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:141,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:143,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - ifaces
    - n_ifaces
    - fds
    - thread_id
    - tls
    argTypes:
    - iface_t*
    - size_t
    - fdset_t*
    - int
    - bool*
    constantsTouched: []
    func_position:
      end: 159
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 159
    functionName: tcp_set_ifaces
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - conf
    - assert
    - fdset_get_length
    linkageType: ''
    returnType: unsigned
    signature: "unsigned tcp_set_ifaces(const iface_t *ifaces, size_t n_ifaces,\n
      \                              fdset_t *fds, int thread_id, bool *tls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_recv
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:175,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:178,1
    - Dst: net_dns_tcp_recv
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:183,1
    - Dst: tcp_log_error
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:188,1
    - Dst: handle_query
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:192,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:195,1
    - Dst: active_state
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:196,1
    - Dst: knot_layer_produce
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:197,1
    - Dst: send_state
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:199,1
    - Dst: knot_tls_send
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:202,1
    - Dst: net_dns_tcp_send
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:204,1
    - Dst: tcp_log_error
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:208,1
    - Dst: handle_finish
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:209,1
    - Dst: handle_finish
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - tcp
    - params
    - rx
    - tx
    argTypes:
    - tcp_context_t*
    - knotd_qdata_params_t*
    - struct iovec*
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 227
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 227
    functionName: tcp_handle
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - tcp_log_error
    - assert
    - handle_query
    - send_state
    - active_state
    - knot_tls_recv
    - handle_finish
    - knot_pkt_new
    - knot_layer_produce
    - net_dns_tcp_recv
    - knot_tls_send
    - net_dns_tcp_send
    linkageType: ''
    returnType: int
    signature: "int tcp_handle(tcp_context_t *tcp, knotd_qdata_params_t *params,\n
      \                     struct iovec *rx, struct iovec *tx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:238,1
    - Dst: fdset_set_watchdog
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tcp
    - i
    - iface
    argTypes:
    - tcp_context_t*
    - unsigned
    - iface_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: tcp_event_accept
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - fdset_set_watchdog
    - close
    linkageType: ''
    returnType: void
    signature: void tcp_event_accept(tcp_context_t *tcp, unsigned i, const iface_t
      *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:256,1
    - Dst: getpeername
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:266,1
    - Dst: params_init
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:271,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:281,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:287,1
    - Dst: fdset_ctx2
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:288,1
    - Dst: knot_tls_conn_new
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:290,1
    - Dst: fdset_ctx2
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:294,1
    - Dst: params_update_tls
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:296,1
    - Dst: fdset_set_watchdog
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:302,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - tcp
    - i
    - iface
    argTypes:
    - tcp_context_t*
    - unsigned
    - iface_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 308
    functionName: tcp_event_serve
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - assert
    - params_init
    - fdset_ctx2
    - fdset_set_watchdog
    - getsockname
    - params_update_tls
    - knot_tls_conn_new
    - process_query_proto
    - getpeername
    linkageType: ''
    returnType: int
    signature: int tcp_event_serve(tcp_context_t *tcp, unsigned i, const iface_t *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:315,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:315,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:316,1
    - Dst: fdset_poll
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:323,1
    - Dst: time_now
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:326,1
    - Dst: fdset_it_is_done
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:329,1
    - Dst: fdset_it_next
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:329,1
    - Dst: fdset_it_is_error
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:332,1
    - Dst: fdset_it_is_pollin
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:334,1
    - Dst: fdset_it_get_ctx
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:335,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:336,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:340,1
    - Dst: tcp_event_accept
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:341,1
    - Dst: tcp_event_serve
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:345,1
    - Dst: free_tls_ctx
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:352,1
    - Dst: fdset_it_remove
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:353,1
    - Dst: fdset_it_commit
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - tcp
    argTypes:
    - tcp_context_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 357
    functionName: tcp_wait_for_events
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - fdset_it_commit
    - assert
    - free_tls_ctx
    - fdset_get_length
    - fdset_it_is_pollin
    - time_now
    - fdset_it_get_ctx
    - tcp_event_accept
    - fdset_it_remove
    - fdset_it_is_done
    - fdset_it_next
    - tcp_event_serve
    - fdset_it_is_error
    - fdset_poll
    linkageType: ''
    returnType: void
    signature: void tcp_wait_for_events(tcp_context_t *tcp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:370,1
    - Dst: dt_setaffinity
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:374,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:383,1
    - Dst: knot_layer_init
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:391,1
    - Dst: process_query_layer
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:391,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:396,1
    - Dst: fdset_init
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:404,1
    - Dst: tcp_set_ifaces
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:411,1
    - Dst: update_sweep_timer
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:420,1
    - Dst: update_tcp_conf
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:421,1
    - Dst: knot_tls_ctx_new
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:426,1
    - Dst: dt_is_cancelled
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:437,1
    - Dst: tcp_wait_for_events
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:442,1
    - Dst: fdset_sweep
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:446,1
    - Dst: update_sweep_timer
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:447,1
    - Dst: update_tcp_conf
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:448,1
    - Dst: knot_tls_ctx_free
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:453,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:454,1
    - Dst: free
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:455,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:456,1
    - Dst: free_tls_ctx
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:459,1
    - Dst: fdset_clear
      Src: /src/knot-dns/src/knot/server/tcp-handler.c:461,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 464
    functionName: tcp_master
    functionSourceFile: /src/knot-dns/src/knot/server/tcp-handler.c
    functionUses: 0
    functionsReached:
    - conf
    - tcp_wait_for_events
    - tcp_set_ifaces
    - dt_is_cancelled
    - update_tcp_conf
    - free_tls_ctx
    - knot_layer_init
    - free
    - knot_tls_ctx_new
    - mp_delete
    - dt_setaffinity
    - fdset_sweep
    - knot_tls_ctx_free
    - fdset_clear
    - update_sweep_timer
    - process_query_layer
    - malloc
    - mm_ctx_mempool
    - fdset_init
    linkageType: ''
    returnType: int
    signature: int tcp_master(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/udp-handler.c:65,1
    - Dst: handle_udp_reply
      Src: /src/knot-dns/src/knot/server/udp-handler.c:71,1
    - Dst: process_query_proto
      Src: /src/knot-dns/src/knot/server/udp-handler.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - udp
    - params
    - rx
    - tx
    argTypes:
    - udp_context_t*
    - knotd_qdata_params_t*
    - struct iovec*
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: udp_handler
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 1
    functionsReached:
    - process_query_proto
    - handle_udp_reply
    linkageType: ''
    returnType: void
    signature: "void udp_handler(udp_context_t *udp, knotd_qdata_params_t *params,\n
      \                       struct iovec *rx, struct iovec *tx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - local_storage
    - iface
    argTypes:
    - sockaddr_t*
    - iface_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: local_addr
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: sockaddr_t
    signature: sockaddr_t *local_addr(sockaddr_t *local_storage, const iface_t *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_ecn
    - cmsg
    argTypes:
    - int**
    - struct cmsghdr*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: cmsg_handle_ecn
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmsg_handle_ecn(int **p_ecn, struct cmsghdr *cmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_FIRSTHDR
      Src: /src/knot-dns/src/knot/server/udp-handler.c:150,1
    - Dst: cmsg_handle_ecn
      Src: /src/knot-dns/src/knot/server/udp-handler.c:154,1
    - Dst: cmsg_handle_pktinfo
      Src: /src/knot-dns/src/knot/server/udp-handler.c:155,1
    - Dst: CMSG_NXTHDR
      Src: /src/knot-dns/src/knot/server/udp-handler.c:156,1
    - Dst: cmsg_handle_pktinfo
      Src: /src/knot-dns/src/knot/server/udp-handler.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - rx
    - tx
    - local
    - p_ecn
    - iface
    argTypes:
    - struct msghdr*
    - struct msghdr*
    - sockaddr_t*
    - int**
    - iface_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 163
    functionName: cmsg_handle
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - cmsg_handle_pktinfo
    - cmsg_handle_ecn
    - CMSG_NXTHDR
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: void
    signature: "void cmsg_handle(const struct msghdr *rx, struct msghdr *tx,\n                 sockaddr_t
      *local, int **p_ecn, const iface_t *iface)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_sweep_table
      Src: /src/knot-dns/src/knot/server/udp-handler.c:169,1
    - Dst: quic_reconfigure_table
      Src: /src/knot-dns/src/knot/server/udp-handler.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - d
    argTypes:
    - udp_context_t*
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: udp_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - quic_sweep_table
    - quic_reconfigure_table
    linkageType: ''
    returnType: void
    signature: void udp_sweep(udp_context_t *ctx, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/udp-handler.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - udp_context_t *ctx
    - xdp_sock
    argTypes:
    - _unused_
    - _unused_*
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: udp_msg_init
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *udp_msg_init(_unused_ udp_context_t *ctx, _unused_ void *xdp_sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/server/udp-handler.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: udp_msg_deinit
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void udp_msg_deinit(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - d
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: udp_msg_recv
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int udp_msg_recv(int fd, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmsg_handle
      Src: /src/knot-dns/src/knot/server/udp-handler.c:239,1
    - Dst: local_addr
      Src: /src/knot-dns/src/knot/server/udp-handler.c:240,1
    - Dst: params_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:243,1
    - Dst: quic_handler
      Src: /src/knot-dns/src/knot/server/udp-handler.c:248,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:251,1
    - Dst: udp_handler
      Src: /src/knot-dns/src/knot/server/udp-handler.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - iface
    - d
    argTypes:
    - udp_context_t*
    - iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 256
    functionName: udp_msg_handle
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - params_init
    - assert
    - udp_handler
    - quic_handler
    - cmsg_handle
    - local_addr
    linkageType: ''
    returnType: void
    signature: void udp_msg_handle(udp_context_t *ctx, const iface_t *iface, void
      *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/udp-handler.c:264,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/udp-handler.c:265,1
    - Dst: strerror
      Src: /src/knot-dns/src/knot/server/udp-handler.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: udp_msg_send
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - strerror
    - log_debug
    linkageType: ''
    returnType: void
    signature: void udp_msg_send(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/server/udp-handler.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - udp_context_t *ctx
    - xdp_sock
    argTypes:
    - _unused_
    - _unused_*
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: udp_mmsg_init
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *udp_mmsg_init(_unused_ udp_context_t *ctx, _unused_ void *xdp_sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/server/udp-handler.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: udp_mmsg_deinit
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void udp_mmsg_deinit(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - d
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: udp_mmsg_recv
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int udp_mmsg_recv(int fd, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmsg_handle
      Src: /src/knot-dns/src/knot/server/udp-handler.c:351,1
    - Dst: local_addr
      Src: /src/knot-dns/src/knot/server/udp-handler.c:352,1
    - Dst: params_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:354,1
    - Dst: quic_handler
      Src: /src/knot-dns/src/knot/server/udp-handler.c:359,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:362,1
    - Dst: udp_handler
      Src: /src/knot-dns/src/knot/server/udp-handler.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - iface
    - d
    argTypes:
    - udp_context_t*
    - iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 382
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 382
    functionName: udp_mmsg_handle
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - params_init
    - assert
    - udp_handler
    - quic_handler
    - cmsg_handle
    - local_addr
    linkageType: ''
    returnType: void
    signature: void udp_mmsg_handle(udp_context_t *ctx, const iface_t *iface, void
      *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_enabled_debug
      Src: /src/knot-dns/src/knot/server/udp-handler.c:389,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/server/udp-handler.c:390,1
    - Dst: strerror
      Src: /src/knot-dns/src/knot/server/udp-handler.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: udp_mmsg_send
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - log_enabled_debug
    - strerror
    - log_debug
    linkageType: ''
    returnType: void
    signature: void udp_mmsg_send(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xdp_handle_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - xdp_sock
    argTypes:
    - udp_context_t*
    - void*
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: xdp_mmsg_init
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - xdp_handle_init
    linkageType: ''
    returnType: void
    signature: void *xdp_mmsg_init(udp_context_t *ctx, void *xdp_sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xdp_handle_free
      Src: /src/knot-dns/src/knot/server/udp-handler.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: xdp_mmsg_deinit
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - xdp_handle_free
    linkageType: ''
    returnType: void
    signature: void xdp_mmsg_deinit(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xdp_handle_recv
      Src: /src/knot-dns/src/knot/server/udp-handler.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - int
    - d
    argTypes:
    - _unused_
    - void*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: xdp_mmsg_recv
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - xdp_handle_recv
    linkageType: ''
    returnType: int
    signature: int xdp_mmsg_recv(_unused_ int fd, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:430,1
    - Dst: xdp_handle_msgs
      Src: /src/knot-dns/src/knot/server/udp-handler.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - iface
    - d
    argTypes:
    - udp_context_t*
    - _unused_*
    - void*
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 6
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: xdp_mmsg_handle
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - assert
    - xdp_handle_msgs
    linkageType: ''
    returnType: void
    signature: void xdp_mmsg_handle(udp_context_t *ctx, _unused_ const iface_t *iface,
      void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xdp_handle_send
      Src: /src/knot-dns/src/knot/server/udp-handler.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: xdp_mmsg_send
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - xdp_handle_send
    linkageType: ''
    returnType: void
    signature: void xdp_mmsg_send(void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xdp_handle_reconfigure
      Src: /src/knot-dns/src/knot/server/udp-handler.c:441,1
    - Dst: xdp_handle_sweep
      Src: /src/knot-dns/src/knot/server/udp-handler.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - udp_context_t *ctx
    - d
    argTypes:
    - _unused_
    - void*
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: xdp_mmsg_sweep
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - xdp_handle_sweep
    - xdp_handle_reconfigure
    linkageType: ''
    returnType: void
    signature: void xdp_mmsg_sweep(_unused_ udp_context_t *ctx, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - server
    - thread_id
    argTypes:
    - server_t*
    - int
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: is_xdp_thread
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_xdp_thread(const server_t *server, int thread_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:471,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:475,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - iface
    - thread_id
    - xdp_thread
    - xdp_socket
    argTypes:
    - iface_t*
    - int
    - bool
    - void**
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: iface_udp_fd
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int iface_udp_fd(const iface_t *iface, int thread_id, bool xdp_thread,\n
      \                       void **xdp_socket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:523,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/udp-handler.c:523,1
    - Dst: fdset_get_length
      Src: /src/knot-dns/src/knot/server/udp-handler.c:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - server
    - n_ifaces
    - fds
    - thread_id
    - xdp_socket
    - quic
    argTypes:
    - server_t*
    - size_t
    - fdset_t*
    - int
    - void**
    - bool*
    constantsTouched: []
    func_position:
      end: 525
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 525
    functionName: udp_set_ifaces
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - assert
    - fdset_get_length
    linkageType: ''
    returnType: unsigned
    signature: "unsigned udp_set_ifaces(const server_t *server, size_t n_ifaces, fdset_t
      *fds,\n                               int thread_id, void **xdp_socket, bool
      *quic)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_setaffinity
      Src: /src/knot-dns/src/knot/server/udp-handler.c:544,1
    - Dst: is_xdp_thread
      Src: /src/knot-dns/src/knot/server/udp-handler.c:549,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:553,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/knot/server/udp-handler.c:566,1
    - Dst: knot_layer_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:573,1
    - Dst: process_query_layer
      Src: /src/knot-dns/src/knot/server/udp-handler.c:573,1
    - Dst: fdset_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:580,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/udp-handler.c:591,1
    - Dst: quic_make_table
      Src: /src/knot-dns/src/knot/server/udp-handler.c:592,1
    - Dst: udp_api_t*::udp_init
      Src: /src/knot-dns/src/knot/server/udp-handler.c:600,1
    - Dst: dt_is_cancelled
      Src: /src/knot-dns/src/knot/server/udp-handler.c:608,1
    - Dst: fdset_poll
      Src: /src/knot-dns/src/knot/server/udp-handler.c:614,1
    - Dst: fdset_it_is_done
      Src: /src/knot-dns/src/knot/server/udp-handler.c:617,1
    - Dst: fdset_it_next
      Src: /src/knot-dns/src/knot/server/udp-handler.c:617,1
    - Dst: fdset_it_is_pollin
      Src: /src/knot-dns/src/knot/server/udp-handler.c:618,1
    - Dst: udp_api_t*::udp_recv
      Src: /src/knot-dns/src/knot/server/udp-handler.c:621,1
    - Dst: fdset_it_get_fd
      Src: /src/knot-dns/src/knot/server/udp-handler.c:621,1
    - Dst: fdset_it_get_ctx
      Src: /src/knot-dns/src/knot/server/udp-handler.c:622,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/server/udp-handler.c:623,1
    - Dst: udp_api_t*::udp_handle
      Src: /src/knot-dns/src/knot/server/udp-handler.c:624,1
    - Dst: udp_api_t*::udp_send
      Src: /src/knot-dns/src/knot/server/udp-handler.c:625,1
    - Dst: udp_api_t*::udp_sweep
      Src: /src/knot-dns/src/knot/server/udp-handler.c:630,1
    - Dst: udp_api_t*::udp_deinit
      Src: /src/knot-dns/src/knot/server/udp-handler.c:634,1
    - Dst: quic_unmake_table
      Src: /src/knot-dns/src/knot/server/udp-handler.c:636,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/knot/server/udp-handler.c:638,1
    - Dst: fdset_clear
      Src: /src/knot-dns/src/knot/server/udp-handler.c:639,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - thread
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 642
    functionName: udp_master
    functionSourceFile: /src/knot-dns/src/knot/server/udp-handler.c
    functionUses: 0
    functionsReached:
    - udp_api_t*::udp_sweep
    - udp_api_t*::udp_deinit
    - conf
    - fdset_it_is_done
    - fdset_it_next
    - udp_api_t*::udp_recv
    - dt_is_cancelled
    - knot_layer_init
    - udp_api_t*::udp_send
    - quic_unmake_table
    - fdset_it_get_ctx
    - mp_delete
    - assert
    - dt_setaffinity
    - udp_api_t*::udp_init
    - fdset_it_is_pollin
    - fdset_clear
    - quic_make_table
    - process_query_layer
    - mm_ctx_mempool
    - is_xdp_thread
    - fdset_init
    - fdset_it_get_fd
    - udp_api_t*::udp_handle
    - fdset_poll
    linkageType: ''
    returnType: int
    signature: int udp_master(dthread_t *thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/server/proxyv2.c:15,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/server/proxyv2.c:32,1
    - Dst: conf_addr_range_match
      Src: /src/knot-dns/src/knot/server/proxyv2.c:33,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/server/proxyv2.c:50,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/knot/server/proxyv2.c:54,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/knot/server/proxyv2.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - query
    - remote
    - new_remote
    argTypes:
    - knot_pkt_t**
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 58
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 58
    functionName: proxyv2_header_strip
    functionSourceFile: /src/knot-dns/src/knot/server/proxyv2.c
    functionUses: 1
    functionsReached:
    - knot_pkt_parse
    - conf_addr_range_match
    - conf
    - knot_pkt_free
    - knot_pkt_new
    - conf_get
    linkageType: ''
    returnType: int
    signature: "int proxyv2_header_strip(knot_pkt_t **query,\n                         const
      struct sockaddr_storage *remote,\n                         struct sockaddr_storage
      *new_remote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/updates/apply.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: replace_rdataset_with_copy
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int replace_rdataset_with_copy(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/apply.c:52,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/updates/apply.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: clear_new_rrs
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - node_rdataset
    linkageType: ''
    returnType: void
    signature: void clear_new_rrs(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/updates/apply.c:71,1
    - Dst: knot_rrset_txt_dump_data
      Src: /src/knot-dns/src/knot/updates/apply.c:72,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/updates/apply.c:73,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - rrset
    - pos
    - ctx
    - remove
    argTypes:
    - knot_rrset_t*
    - int
    - apply_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: can_log_rrset
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - free
    - knot_rrtype_to_string
    - log_zone_debug
    - knot_rrset_txt_dump_data
    linkageType: ''
    returnType: void
    signature: void can_log_rrset(const knot_rrset_t *rrset, int pos, apply_ctx_t
      *ctx, bool remove)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: can_log_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:84,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/apply.c:88,1
    - Dst: can_log_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:91,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/knot/updates/apply.c:97,1
    - Dst: can_log_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:99,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/updates/apply.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - node
    - rrset
    - ctx
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - apply_ctx_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 106
    functionName: can_remove
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - can_log_rrset
    - node_rdataset
    - knot_rdataset_next
    - knot_rdataset_member
    linkageType: ''
    returnType: bool
    signature: bool can_remove(const zone_node_t *node, const knot_rrset_t *rrset,
      apply_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/apply.c:115,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/knot/updates/apply.c:123,1
    - Dst: can_log_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:125,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/updates/apply.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - node
    - rrset
    - ctx
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - apply_ctx_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: can_add
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - can_log_rrset
    - node_rdataset
    - knot_rdataset_next
    - knot_rdataset_member
    linkageType: ''
    returnType: bool
    signature: bool can_add(const zone_node_t *node, const knot_rrset_t *rrset, apply_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/updates/apply.c:142,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/updates/apply.c:148,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:150,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/updates/apply.c:155,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:157,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - contents
    - flags
    argTypes:
    - apply_ctx_t*
    - zone_contents_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 166
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: apply_init_ctx
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - zone_tree_free
    - zone_tree_create
    linkageType: ''
    returnType: int
    signature: int apply_init_ctx(apply_ctx_t *ctx, zone_contents_t *contents, uint32_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/updates/apply.c:171,1
    - Dst: node_new_for_tree
      Src: /src/knot-dns/src/knot/updates/apply.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - owner
    - ctx
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: add_node_cb
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - zone_tree_get
    - node_new_for_tree
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *add_node_cb(const knot_dname_t *owner, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_tree_for_rr
      Src: /src/knot-dns/src/knot/updates/apply.c:185,1
    - Dst: can_add
      Src: /src/knot-dns/src/knot/updates/apply.c:197,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/apply.c:201,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/apply.c:202,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/updates/apply.c:203,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/apply.c:204,1
    - Dst: zone_tree_insert_with_parents
      Src: /src/knot-dns/src/knot/updates/apply.c:210,1
    - Dst: binode_rdata_shared
      Src: /src/knot-dns/src/knot/updates/apply.c:215,1
    - Dst: replace_rdataset_with_copy
      Src: /src/knot-dns/src/knot/updates/apply.c:217,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - rr
    argTypes:
    - apply_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 230
    functionName: apply_add_rr
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - knot_rrset_empty
    - zone_tree_insert_with_parents
    - knot_rdataset_subtract
    - node_add_rrset
    - binode_rdata_shared
    - zone_contents_tree_for_rr
    - replace_rdataset_with_copy
    - can_add
    linkageType: ''
    returnType: int
    signature: int apply_add_rr(apply_ctx_t *ctx, knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_tree_for_rr
      Src: /src/knot-dns/src/knot/updates/apply.c:237,1
    - Dst: zone_contents_find_node_for_rr
      Src: /src/knot-dns/src/knot/updates/apply.c:243,1
    - Dst: can_remove
      Src: /src/knot-dns/src/knot/updates/apply.c:244,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/apply.c:249,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/apply.c:254,1
    - Dst: binode_rdata_shared
      Src: /src/knot-dns/src/knot/updates/apply.c:265,1
    - Dst: replace_rdataset_with_copy
      Src: /src/knot-dns/src/knot/updates/apply.c:266,1
    - Dst: node_remove_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:272,1
    - Dst: clear_new_rrs
      Src: /src/knot-dns/src/knot/updates/apply.c:274,1
    - Dst: zone_tree_del_node
      Src: /src/knot-dns/src/knot/updates/apply.c:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - rr
    argTypes:
    - apply_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 283
    functionName: apply_remove_rr
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - clear_new_rrs
    - can_remove
    - node_rdataset
    - knot_rrset_empty
    - node_remove_rrset
    - zone_tree_del_node
    - binode_rdata_shared
    - zone_contents_tree_for_rr
    - replace_rdataset_with_copy
    - zone_contents_find_node_for_rr
    linkageType: ''
    returnType: int
    signature: int apply_remove_rr(apply_ctx_t *ctx, knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/apply.c:289,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/apply.c:293,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/apply.c:301,1
    - Dst: apply_add_rr
      Src: /src/knot-dns/src/knot/updates/apply.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - rr
    argTypes:
    - apply_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 306
    functionName: apply_replace_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - apply_add_rr
    - node_rrset
    - node_rrtype_exists
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int apply_replace_soa(apply_ctx_t *ctx, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_trees_unify_binodes
      Src: /src/knot-dns/src/knot/updates/apply.c:315,1
    - Dst: zone_trees_unify_binodes
      Src: /src/knot-dns/src/knot/updates/apply.c:317,1
    - Dst: zone_trees_unify_binodes
      Src: /src/knot-dns/src/knot/updates/apply.c:318,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:321,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:322,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:323,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/apply.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - apply_ctx_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: apply_cleanup
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - knot_sem_post
    - zone_tree_free
    - zone_trees_unify_binodes
    linkageType: ''
    returnType: void
    signature: void apply_cleanup(apply_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_trees_unify_binodes
      Src: /src/knot-dns/src/knot/updates/apply.c:342,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:344,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:345,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:346,1
    - Dst: trie_cow_rollback
      Src: /src/knot-dns/src/knot/updates/apply.c:348,1
    - Dst: trie_cow_rollback
      Src: /src/knot-dns/src/knot/updates/apply.c:351,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/updates/apply.c:354,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:358,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:359,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/updates/apply.c:361,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:363,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/apply.c:366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - apply_ctx_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 368
    functionName: apply_rollback
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - knot_sem_post
    - free
    - zone_trees_unify_binodes
    - zone_tree_free
    - trie_cow_rollback
    - dnssec_nsec3_params_free
    linkageType: ''
    returnType: void
    signature: void apply_rollback(apply_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_cow_commit
      Src: /src/knot-dns/src/knot/updates/apply.c:376,1
    - Dst: trie_cow_commit
      Src: /src/knot-dns/src/knot/updates/apply.c:379,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:383,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:384,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/updates/apply.c:386,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/apply.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: update_free_zone
    functionSourceFile: /src/knot-dns/src/knot/updates/apply.c
    functionUses: 0
    functionsReached:
    - trie_cow_commit
    - free
    - dnssec_nsec3_params_free
    linkageType: ''
    returnType: void
    signature: void update_free_zone(zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/updates/ddns.c:19,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/ddns.c:22,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/ddns.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: rrset_list_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - free
    - knot_rrset_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void rrset_list_clear(list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/updates/ddns.c:31,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:34,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/src/knot/updates/ddns.c:35,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/ddns.c:39,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/updates/ddns.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - l
    - rr
    argTypes:
    - list_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: add_rr_to_list
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - knot_rdataset_merge
    - knot_rrset_copy
    - ptrlist_add
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int add_rr_to_list(list_t *l, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:50,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:52,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:53,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:57,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:58,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:58,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - update
    - rrset
    - rcode
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: check_rrset_exists
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - node_rrset
    - node_rrtype_exists
    - knot_rrset_equal
    - zone_update_get_node
    linkageType: ''
    returnType: int
    signature: "int check_rrset_exists(zone_update_t *update, const knot_rrset_t *rrset,\n
      \                             uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/updates/ddns.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - l
    - update
    - rcode
    argTypes:
    - list_t*
    - zone_update_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: check_stored_rrsets
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    linkageType: ''
    returnType: int
    signature: "int check_stored_rrsets(list_t *l, zone_update_t *update,\n                               uint16_t
      *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:88,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:89,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - update
    - rrset
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: check_type
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_update_get_node
    - node_rrtype_exists
    linkageType: ''
    returnType: bool
    signature: bool check_type(zone_update_t *update, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:101,1
    - Dst: check_type
      Src: /src/knot-dns/src/knot/updates/ddns.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - update
    - rrset
    - rcode
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: check_type_exist
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - assert
    - check_type
    linkageType: ''
    returnType: int
    signature: "int check_type_exist(zone_update_t *update,\n                            const
      knot_rrset_t *rrset, uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:114,1
    - Dst: check_type
      Src: /src/knot-dns/src/knot/updates/ddns.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - update
    - rrset
    - rcode
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: check_type_not_exist
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - assert
    - check_type
    linkageType: ''
    returnType: int
    signature: "int check_type_not_exist(zone_update_t *update,\n                                const
      knot_rrset_t *rrset, uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - update
    - dname
    - rcode
    argTypes:
    - zone_update_t*
    - knot_dname_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: check_in_use
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - zone_update_get_node
    linkageType: ''
    returnType: int
    signature: "int check_in_use(zone_update_t *update,\n                        const
      knot_dname_t *dname, uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - update
    - dname
    - rcode
    argTypes:
    - zone_update_t*
    - knot_dname_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: check_not_in_use
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - zone_update_get_node
    linkageType: ''
    returnType: int
    signature: "int check_not_in_use(zone_update_t *update,\n                            const
      knot_dname_t *dname, uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: rrset_empty
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rrset_empty(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/updates/ddns.c:172,1
    - Dst: rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:178,1
    - Dst: check_in_use
      Src: /src/knot-dns/src/knot/updates/ddns.c:183,1
    - Dst: check_type_exist
      Src: /src/knot-dns/src/knot/updates/ddns.c:185,1
    - Dst: rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:188,1
    - Dst: check_not_in_use
      Src: /src/knot-dns/src/knot/updates/ddns.c:193,1
    - Dst: check_type_not_exist
      Src: /src/knot-dns/src/knot/updates/ddns.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - rrset
    - qclass
    - update
    - rcode
    - rrset_list
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - zone_update_t*
    - uint16_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 208
    functionName: process_prereq
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - check_in_use
    - rrset_empty
    - check_type_not_exist
    - check_type_exist
    - check_not_in_use
    - knot_dname_in_bailiwick
    linkageType: ''
    returnType: int
    signature: "int process_prereq(const knot_rrset_t *rrset, uint16_t qclass,\n                          zone_update_t
      *update, uint16_t *rcode,\n                          list_t *rrset_list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: is_addition
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addition(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: is_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_removal(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: is_rr_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_rr_removal(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: is_rrset_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_rrset_removal(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: is_node_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_node_removal(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: should_replace
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_replace(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/ddns.c:247,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:249,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/knot/updates/ddns.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - rrset
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: node_contains_rr
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 1
    functionsReached:
    - node_rdataset
    - assert
    - knot_rdataset_member
    linkageType: ''
    returnType: bool
    signature: "bool node_contains_rr(const zone_node_t *node,\n                             const
      knot_rrset_t *rrset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/updates/ddns.c:265,1
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:266,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:269,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:270,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:279,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:280,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:286,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - owner
    - update
    - node
    argTypes:
    - knot_dname_t*
    - zone_update_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 294
    functionName: adding_to_cname
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - zone_update_get_node
    - knot_dname_next_label
    - node_rrset
    - knot_rrset_empty
    linkageType: ''
    returnType: bool
    signature: "bool adding_to_cname(const knot_dname_t *owner,\n                            zone_update_t
      *update,\n                            const zone_node_t *node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/updates/ddns.c:301,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/updates/ddns.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - rr
    - sn
    argTypes:
    - knot_rrset_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: skip_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - serial_compare
    - knot_soa_serial
    linkageType: ''
    returnType: bool
    signature: bool skip_soa(const knot_rrset_t *rr, int64_t sn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: should_replace
      Src: /src/knot-dns/src/knot/updates/ddns.c:311,1
    - Dst: zone_update_remove_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - update
    - rr
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: singleton_replaced
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - zone_update_remove_rrset
    - should_replace
    linkageType: ''
    returnType: bool
    signature: bool singleton_replaced(zone_update_t *update, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: singleton_replaced
      Src: /src/knot-dns/src/knot/updates/ddns.c:321,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/updates/ddns.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rr
    - update
    argTypes:
    - knot_rrset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: add_rr_to_changeset
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - singleton_replaced
    - zone_update_add
    linkageType: ''
    returnType: int
    signature: int add_rr_to_changeset(const knot_rrset_t *rr, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - _unused_*
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: node_empty_cb
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - node_empty
    linkageType: ''
    returnType: int
    signature: int node_empty_cb(zone_node_t *node, _unused_ void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - node
    argTypes:
    - zone_contents_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: subtree_empty
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool subtree_empty(zone_contents_t *zone, const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:348,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:350,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:351,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:353,1
    - Dst: add_rr_to_changeset
      Src: /src/knot-dns/src/knot/updates/ddns.c:362,1
    - Dst: node_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:363,1
    - Dst: subtree_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:366,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:369,1
    - Dst: adding_to_cname
      Src: /src/knot-dns/src/knot/updates/ddns.c:372,1
    - Dst: add_rr_to_changeset
      Src: /src/knot-dns/src/knot/updates/ddns.c:377,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - node
    - rr
    - type
    - update
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - uint16_t
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: process_add_cname
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - assert
    - node_empty
    - knot_rrset_empty
    - knot_rrset_equal
    - node_rrset
    - add_rr_to_changeset
    - subtree_empty
    - node_rrtype_exists
    - adding_to_cname
    linkageType: ''
    returnType: int
    signature: "int process_add_cname(const zone_node_t *node,\n                             const
      knot_rrset_t *rr,\n                             uint16_t type,\n                             zone_update_t
      *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:391,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:397,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:398,1
    - Dst: add_rr_to_changeset
      Src: /src/knot-dns/src/knot/updates/ddns.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - node
    - rr
    - update
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: process_add_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - knot_rrset_equal
    - add_rr_to_changeset
    - node_rrset
    - node_rrtype_exists
    linkageType: ''
    returnType: int
    signature: "int process_add_soa(const zone_node_t *node,\n                           const
      knot_rrset_t *rr,\n                           zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adding_to_cname
      Src: /src/knot-dns/src/knot/updates/ddns.c:412,1
    - Dst: node_contains_rr
      Src: /src/knot-dns/src/knot/updates/ddns.c:417,1
    - Dst: add_rr_to_changeset
      Src: /src/knot-dns/src/knot/updates/ddns.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - node
    - rr
    - update
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: process_add_normal
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - node_contains_rr
    - add_rr_to_changeset
    - adding_to_cname
    linkageType: ''
    returnType: int
    signature: "int process_add_normal(const zone_node_t *node,\n                              const
      knot_rrset_t *rr,\n                              zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_add_cname
      Src: /src/knot-dns/src/knot/updates/ddns.c:433,1
    - Dst: process_add_soa
      Src: /src/knot-dns/src/knot/updates/ddns.c:435,1
    - Dst: process_add_normal
      Src: /src/knot-dns/src/knot/updates/ddns.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rr
    - node
    - update
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: process_add
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - process_add_normal
    - process_add_cname
    - process_add_soa
    linkageType: ''
    returnType: int
    signature: "int process_add(const knot_rrset_t *rr,\n                       const
      zone_node_t *node,\n                       zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/ddns.c:455,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:466,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:467,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/ddns.c:472,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/knot/updates/ddns.c:473,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/updates/ddns.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - rr
    - node
    - update
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 482
    functionName: process_rem_rr
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_rrset_empty
    - node_rrset
    - zone_update_remove
    - knot_rdataset_member
    linkageType: ''
    returnType: int
    signature: "int process_rem_rr(const knot_rrset_t *rr,\n                          const
      zone_node_t *node,\n                          zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:501,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:506,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/updates/ddns.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rrset
    - node
    - update
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: process_rem_rrset
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - zone_update_remove
    - node_rrset
    - node_rrtype_exists
    linkageType: ''
    returnType: int
    signature: "int process_rem_rrset(const knot_rrset_t *rrset,\n                             const
      zone_node_t *node,\n                             zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/updates/ddns.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rr
    - node
    - update
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: process_rem_node
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    linkageType: ''
    returnType: int
    signature: "int process_rem_node(const knot_rrset_t *rr,\n                            const
      zone_node_t *node, zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_rr_removal
      Src: /src/knot-dns/src/knot/updates/ddns.c:536,1
    - Dst: process_rem_rr
      Src: /src/knot-dns/src/knot/updates/ddns.c:537,1
    - Dst: is_rrset_removal
      Src: /src/knot-dns/src/knot/updates/ddns.c:538,1
    - Dst: process_rem_rrset
      Src: /src/knot-dns/src/knot/updates/ddns.c:539,1
    - Dst: is_node_removal
      Src: /src/knot-dns/src/knot/updates/ddns.c:540,1
    - Dst: process_rem_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - rr
    - node
    - update
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 545
    functionName: process_remove
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - process_rem_rr
    - is_node_removal
    - process_rem_rrset
    - is_rr_removal
    - process_rem_node
    - is_rrset_removal
    linkageType: ''
    returnType: int
    signature: "int process_remove(const knot_rrset_t *rr,\n                          const
      zone_node_t *node,\n                          zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/knot/updates/ddns.c:553,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:554,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:554,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/ddns.c:562,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/updates/ddns.c:563,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/ddns.c:566,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/updates/ddns.c:567,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/knot/updates/ddns.c:573,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/src/knot/updates/ddns.c:574,1
    - Dst: rrset_empty
      Src: /src/knot-dns/src/knot/updates/ddns.c:579,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/src/knot/updates/ddns.c:580,1
    - Dst: knot_rrtype_is_metatype
      Src: /src/knot-dns/src/knot/updates/ddns.c:586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - rrset
    - query
    - zone
    - rcode
    argTypes:
    - knot_rrset_t*
    - knot_pkt_t*
    - zone_contents_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 596
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 596
    functionName: check_update
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 2
    functionsReached:
    - knot_pkt_qname
    - assert
    - log_warning
    - knot_pkt_qclass
    - rrset_empty
    - node_rrtype_exists
    - knot_rrtype_is_metatype
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int check_update(const knot_rrset_t *rrset, const knot_pkt_t *query,\n
      \                       const zone_contents_t *zone, uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_get_node
      Src: /src/knot-dns/src/knot/updates/ddns.c:601,1
    - Dst: is_addition
      Src: /src/knot-dns/src/knot/updates/ddns.c:603,1
    - Dst: process_add
      Src: /src/knot-dns/src/knot/updates/ddns.c:604,1
    - Dst: is_removal
      Src: /src/knot-dns/src/knot/updates/ddns.c:605,1
    - Dst: process_remove
      Src: /src/knot-dns/src/knot/updates/ddns.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rr
    - update
    argTypes:
    - knot_rrset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 610
      start: 599
    functionDepth: 5
    functionLinenumber: 599
    functionLinenumberEnd: 610
    functionName: process_rr
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - process_remove
    - process_add
    - is_addition
    - zone_update_get_node
    - is_removal
    linkageType: ''
    returnType: int
    signature: int process_rr(const knot_rrset_t *rr, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: ret_to_rcode
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ret_to_rcode(int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/knot/updates/ddns.c:633,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/updates/ddns.c:635,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/updates/ddns.c:636,1
    - Dst: process_prereq
      Src: /src/knot-dns/src/knot/updates/ddns.c:639,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/knot/updates/ddns.c:639,1
    - Dst: rrset_list_clear
      Src: /src/knot-dns/src/knot/updates/ddns.c:642,1
    - Dst: check_stored_rrsets
      Src: /src/knot-dns/src/knot/updates/ddns.c:648,1
    - Dst: rrset_list_clear
      Src: /src/knot-dns/src/knot/updates/ddns.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - query
    - update
    - rcode
    argTypes:
    - knot_pkt_t*
    - zone_update_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 651
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 651
    functionName: ddns_process_prereqs
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qclass
    - rrset_list_clear
    - process_prereq
    - knot_pkt_section
    - knot_pkt_rr
    - check_stored_rrsets
    - init_list
    linkageType: ''
    returnType: int
    signature: "int ddns_process_prereqs(const knot_pkt_t *query, zone_update_t *update,\n
      \                        uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/updates/ddns.c:661,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/updates/ddns.c:662,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/ddns.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - query
    - update
    - rcode
    argTypes:
    - knot_pkt_t*
    - zone_update_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 672
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 672
    functionName: ddns_precheck_update
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 1
    functionsReached:
    - knot_pkt_rr
    - knot_pkt_section
    - assert
    linkageType: ''
    returnType: int
    signature: "int ddns_precheck_update(const knot_pkt_t *query, zone_update_t *update,\n
      \                        uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ret_to_rcode
      Src: /src/knot-dns/src/knot/updates/ddns.c:679,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/updates/ddns.c:688,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/updates/ddns.c:689,1
    - Dst: skip_soa
      Src: /src/knot-dns/src/knot/updates/ddns.c:692,1
    - Dst: ret_to_rcode
      Src: /src/knot-dns/src/knot/updates/ddns.c:698,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - query
    - update
    - rcode
    argTypes:
    - knot_pkt_t*
    - zone_update_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 705
    functionName: ddns_process_update
    functionSourceFile: /src/knot-dns/src/knot/updates/ddns.c
    functionUses: 0
    functionsReached:
    - knot_pkt_rr
    - knot_pkt_section
    - ret_to_rcode
    - skip_soa
    linkageType: ''
    returnType: int
    signature: "int ddns_process_update(const knot_pkt_t *query, zone_update_t *update,\n
      \                       uint16_t *rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_time_memcmp
      Src: /src/knot-dns/src/knot/updates/acl.c:24,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - session_pin
    - session_pin_size
    - pins
    argTypes:
    - uint8_t*
    - size_t
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 31
    functionName: cert_pin_check
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - const_time_memcmp
    - conf_val_next
    linkageType: ''
    returnType: bool
    signature: "bool cert_pin_check(const uint8_t *session_pin, size_t session_pin_size,\n
      \                          conf_val_t *pins)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_val_reset
      Src: /src/knot-dns/src/knot/updates/acl.c:39,1
    - Dst: knot_wire_read_u64
      Src: /src/knot-dns/src/knot/updates/acl.c:41,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - types
    argTypes:
    - uint16_t
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: match_type
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - conf_val_reset
    - knot_wire_read_u64
    - conf_val_next
    linkageType: ''
    returnType: bool
    signature: bool match_type(uint16_t type, conf_val_t *types)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/acl.c:63,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/updates/acl.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - rr_owner
    - name
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: match_pattern
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 2
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match_pattern(const knot_dname_t *rr_owner, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: match_pattern
      Src: /src/knot-dns/src/knot/updates/acl.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - rr_owner
    - name
    - match
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - acl_update_owner_match_t
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: match_name
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - match_pattern
    linkageType: ''
    returnType: bool
    signature: "bool match_name(const knot_dname_t *rr_owner, const knot_dname_t *name,\n
      \                      acl_update_owner_match_t match)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_val_reset
      Src: /src/knot-dns/src/knot/updates/acl.c:105,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/updates/acl.c:112,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/updates/acl.c:113,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/updates/acl.c:114,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/updates/acl.c:114,1
    - Dst: match_name
      Src: /src/knot-dns/src/knot/updates/acl.c:120,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - rr_owner
    - zone_name
    - names
    - match
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - conf_val_t*
    - acl_update_owner_match_t
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: match_names
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - conf_val_reset
    - wire_ctx_init
    - knot_dname_size
    - conf_val_next
    - wire_ctx_write
    - match_name
    linkageType: ''
    returnType: bool
    signature: "bool match_names(const knot_dname_t *rr_owner, const knot_dname_t
      *zone_name,\n                        conf_val_t *names, acl_update_owner_match_t
      match)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:136,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/updates/acl.c:137,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:139,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:140,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:149,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:150,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:156,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/updates/acl.c:157,1
    - Dst: match_type
      Src: /src/knot-dns/src/knot/updates/acl.c:170,1
    - Dst: match_names
      Src: /src/knot-dns/src/knot/updates/acl.c:176,1
    - Dst: match_name
      Src: /src/knot-dns/src/knot/updates/acl.c:181,1
    - Dst: match_name
      Src: /src/knot-dns/src/knot/updates/acl.c:186,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 5
    argNames:
    - conf
    - acl
    - key_name
    - zone_name
    - query
    argTypes:
    - conf_t*
    - conf_val_t*
    - knot_dname_t*
    - knot_dname_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 196
    functionName: update_match
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - conf_id_get
    - match_names
    - conf_opt
    - conf_val_count
    - match_name
    - match_type
    linkageType: ''
    returnType: bool
    signature: "bool update_match(conf_t *conf, conf_val_t *acl, knot_dname_t *key_name,\n
      \                        const knot_dname_t *zone_name, knot_pkt_t *query)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:200,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/updates/acl.c:201,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:205,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/updates/acl.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - proto
    - rmt_id
    argTypes:
    - conf_t*
    - knotd_query_proto_t
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: check_proto_rmt
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - conf_bool
    - conf_id_get
    linkageType: ''
    returnType: bool
    signature: bool check_proto_rmt(conf_t *conf, knotd_query_proto_t proto, conf_val_t
      *rmt_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/acl.c:230,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:235,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - proto
    - proto_val
    argTypes:
    - knotd_query_proto_t
    - conf_val_t
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: check_proto
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_val_next
    - conf_opt
    linkageType: ''
    returnType: bool
    signature: bool check_proto(knotd_query_proto_t proto, conf_val_t proto_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_addr_match
      Src: /src/knot-dns/src/knot/updates/acl.c:252,1
    - Dst: conf_addr_range_match
      Src: /src/knot-dns/src/knot/updates/acl.c:256,1
    - Dst: cert_pin_check
      Src: /src/knot-dns/src/knot/updates/acl.c:263,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/updates/acl.c:275,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/acl.c:276,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:281,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:282,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/acl.c:289,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/acl.c:293,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:294,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 11
    argNames:
    - conf
    - addr_val
    - key_val
    - remote
    - addr
    - tsig
    - pin_val
    - session_pin
    - session_pin_size
    - deny
    - forward
    argTypes:
    - conf_t*
    - conf_val_t*
    - conf_val_t*
    - bool
    - struct sockaddr_storage*
    - knot_tsig_key_t*
    - conf_val_t*
    - uint8_t*
    - size_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 312
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 312
    functionName: check_addr_key
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_addr_range_match
    - conf_id_get
    - conf_addr_match
    - conf_val_next
    - conf_opt
    - cert_pin_check
    - conf_dname
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: "bool check_addr_key(conf_t *conf, conf_val_t *addr_val, conf_val_t
      *key_val,\n                           bool remote, const struct sockaddr_storage
      *addr,\n                           const knot_tsig_key_t *tsig, conf_val_t *pin_val,\n
      \                          const uint8_t *session_pin, size_t session_pin_size,\n
      \                          bool deny, bool forward)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_pin
      Src: /src/knot-dns/src/knot/updates/acl.c:326,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/acl.c:330,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/acl.c:332,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/updates/acl.c:333,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:340,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:342,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/updates/acl.c:348,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:350,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:351,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:352,1
    - Dst: check_addr_key
      Src: /src/knot-dns/src/knot/updates/acl.c:353,1
    - Dst: check_proto_rmt
      Src: /src/knot-dns/src/knot/updates/acl.c:356,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/updates/acl.c:359,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:366,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:367,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:368,1
    - Dst: check_addr_key
      Src: /src/knot-dns/src/knot/updates/acl.c:369,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:376,1
    - Dst: check_proto
      Src: /src/knot-dns/src/knot/updates/acl.c:377,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:384,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:386,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:387,1
    - Dst: update_match
      Src: /src/knot-dns/src/knot/updates/acl.c:405,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:416,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/updates/acl.c:417,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/updates/acl.c:422,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 9
    argNames:
    - conf
    - acl
    - action
    - addr
    - tsig
    - zone_name
    - query
    - tls_session
    - proto
    argTypes:
    - conf_t*
    - conf_val_t*
    - acl_action_t
    - struct sockaddr_storage*
    - knot_tsig_key_t*
    - knot_dname_t*
    - knot_pkt_t*
    - struct gnutls_session_int*
    - knotd_query_proto_t
    constantsTouched: []
    func_position:
      end: 426
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 426
    functionName: acl_allowed
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 3
    functionsReached:
    - conf_zone_get
    - check_addr_key
    - check_proto_rmt
    - conf_id_get
    - conf_mix_iter_init
    - conf_bin
    - conf_mix_iter_next
    - knot_tls_pin
    - conf_val_next
    - conf_opt
    - conf_str
    - check_proto
    - update_match
    linkageType: ''
    returnType: bool
    signature: "bool acl_allowed(conf_t *conf, conf_val_t *acl, acl_action_t action,\n
      \                const struct sockaddr_storage *addr, knot_tsig_key_t *tsig,\n
      \                const knot_dname_t *zone_name, knot_pkt_t *query,\n                 struct
      gnutls_session_int *tls_session,\n                 knotd_query_proto_t proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_pin
      Src: /src/knot-dns/src/knot/updates/acl.c:438,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/updates/acl.c:441,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:443,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/updates/acl.c:444,1
    - Dst: check_proto_rmt
      Src: /src/knot-dns/src/knot/updates/acl.c:448,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:452,1
    - Dst: cert_pin_check
      Src: /src/knot-dns/src/knot/updates/acl.c:453,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:457,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/updates/acl.c:465,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/acl.c:466,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:471,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/acl.c:472,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:481,1
    - Dst: conf_addr_match
      Src: /src/knot-dns/src/knot/updates/acl.c:482,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/updates/acl.c:488,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/updates/acl.c:489,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/updates/acl.c:494,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 6
    argNames:
    - conf
    - rmts
    - addr
    - tsig
    - tls_session
    - proto
    argTypes:
    - conf_t*
    - conf_val_t*
    - struct sockaddr_storage*
    - knot_tsig_key_t*
    - struct gnutls_session_int*
    - knotd_query_proto_t
    constantsTouched: []
    func_position:
      end: 498
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 498
    functionName: rmt_allowed
    functionSourceFile: /src/knot-dns/src/knot/updates/acl.c
    functionUses: 1
    functionsReached:
    - check_proto_rmt
    - conf_id_get
    - conf_mix_iter_init
    - conf_bool
    - conf_bin
    - conf_mix_iter_next
    - knot_tls_pin
    - conf_addr_match
    - conf_opt
    - cert_pin_check
    - conf_dname
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: "bool rmt_allowed(conf_t *conf, conf_val_t *rmts, const struct sockaddr_storage
      *addr,\n                 knot_tsig_key_t *tsig, struct gnutls_session_int *tls_session,\n
      \                knotd_query_proto_t proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:19,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:20,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:23,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - soa
    - rrset
    argTypes:
    - knot_rrset_t**
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: handle_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - knot_rrset_copy
    - assert
    - knot_rrset_free
    linkageType: ''
    returnType: int
    signature: int handle_soa(knot_rrset_t **soa, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - rrset
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: add_rr_to_contents
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int add_rr_to_contents(zone_contents_t *z, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/changesets.c:47,1
    - Dst: va_start
      Src: /src/knot-dns/src/knot/updates/changesets.c:50,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:52,1
    - Dst: va_arg
      Src: /src/knot-dns/src/knot/updates/changesets.c:54,1
    - Dst: va_end
      Src: /src/knot-dns/src/knot/updates/changesets.c:62,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:64,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/updates/changesets.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ch_it
    - tries
    argTypes:
    - changeset_iter_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: changeset_iter_init
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - assert
    - va_start
    - va_end
    - zone_tree_it_begin
    - memset
    - va_arg
    linkageType: ''
    returnType: int
    signature: int changeset_iter_init(changeset_iter_t *ch_it, size_t tries, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:73,1
    - Dst: zone_contents_find_node_for_rr
      Src: /src/knot-dns/src/knot/updates/changesets.c:76,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/changesets.c:81,1
    - Dst: knot_rrset_is_nsec3rel
      Src: /src/knot-dns/src/knot/updates/changesets.c:104,1
    - Dst: zone_tree_del_node
      Src: /src/knot-dns/src/knot/updates/changesets.c:106,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - counterpart
    - rr
    - fixed_rr
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - knot_rrset_t**
    constantsTouched: []
    func_position:
      end: 110
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 110
    functionName: check_redundancy
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - knot_rrset_copy
    - node_rrtype_exists
    - zone_tree_del_node
    - knot_rrset_is_nsec3rel
    - zone_contents_find_node_for_rr
    linkageType: ''
    returnType: void
    signature: void check_redundancy(zone_contents_t *counterpart, const knot_rrset_t
      *rr, knot_rrset_t **fixed_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/changesets.c:114,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/updates/changesets.c:117,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/updates/changesets.c:121,1
    - Dst: zone_contents_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ch
    - apex
    argTypes:
    - changeset_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: changeset_init
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 2
    functionsReached:
    - zone_contents_free
    - zone_contents_new
    - memset
    linkageType: ''
    returnType: int
    signature: int changeset_init(changeset_t *ch, const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/updates/changesets.c:132,1
    - Dst: changeset_init
      Src: /src/knot-dns/src/knot/updates/changesets.c:137,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/changesets.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - apex
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: changeset_new
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 6
    functionsReached:
    - free
    - malloc
    - changeset_init
    linkageType: ''
    returnType: changeset_t
    signature: changeset_t *changeset_new(const knot_dname_t *apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:151,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:152,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/updates/changesets.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: changeset_empty
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 3
    functionsReached:
    - knot_rrset_equal
    - zone_contents_is_empty
    linkageType: ''
    returnType: bool
    signature: bool changeset_empty(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_all
      Src: /src/knot-dns/src/knot/updates/changesets.c:172,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:175,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:176,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:178,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:180,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:182,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 190
    functionName: changeset_size
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 2
    functionsReached:
    - changeset_iter_next
    - knot_rrset_empty
    - changeset_iter_clear
    - changeset_iter_all
    linkageType: ''
    returnType: size_t
    signature: size_t changeset_size(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_soa
      Src: /src/knot-dns/src/knot/updates/changesets.c:200,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:209,1
    - Dst: check_redundancy
      Src: /src/knot-dns/src/knot/updates/changesets.c:214,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:221,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ch
    - rrset
    - flags
    argTypes:
    - changeset_t*
    - knot_rrset_t*
    - changeset_flag_t
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: changeset_add_addition
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 6
    functionsReached:
    - knot_rrset_copy
    - knot_rrset_free
    - handle_soa
    - check_redundancy
    linkageType: ''
    returnType: int
    signature: int changeset_add_addition(changeset_t *ch, const knot_rrset_t *rrset,
      changeset_flag_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_soa
      Src: /src/knot-dns/src/knot/updates/changesets.c:236,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:245,1
    - Dst: check_redundancy
      Src: /src/knot-dns/src/knot/updates/changesets.c:250,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:257,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ch
    - rrset
    - flags
    argTypes:
    - changeset_t*
    - knot_rrset_t*
    - changeset_flag_t
    constantsTouched: []
    func_position:
      end: 262
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 262
    functionName: changeset_add_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 5
    functionsReached:
    - knot_rrset_copy
    - knot_rrset_free
    - handle_soa
    - check_redundancy
    linkageType: ''
    returnType: int
    signature: int changeset_add_removal(changeset_t *ch, const knot_rrset_t *rrset,
      changeset_flag_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:269,1
    - Dst: zone_contents_remove_rr
      Src: /src/knot-dns/src/knot/updates/changesets.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ch
    - rrset
    argTypes:
    - changeset_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: changeset_remove_addition
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - zone_contents_remove_rr
    - knot_rrset_free
    linkageType: ''
    returnType: int
    signature: int changeset_remove_addition(changeset_t *ch, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:284,1
    - Dst: zone_contents_remove_rr
      Src: /src/knot-dns/src/knot/updates/changesets.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ch
    - rrset
    argTypes:
    - changeset_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: changeset_remove_removal
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - zone_contents_remove_rr
    - knot_rrset_free
    linkageType: ''
    returnType: int
    signature: int changeset_remove_removal(changeset_t *ch, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_rem
      Src: /src/knot-dns/src/knot/updates/changesets.c:297,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:299,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:300,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:303,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:306,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:308,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/updates/changesets.c:310,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:312,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:313,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:316,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:319,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:321,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:329,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ch1
    - ch2
    - flags
    argTypes:
    - changeset_t*
    - changeset_t*
    - int
    constantsTouched: []
    func_position:
      end: 337
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 337
    functionName: changeset_merge
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 1
    functionsReached:
    - knot_rrset_empty
    - knot_rrset_free
    - changeset_iter_add
    - knot_rrset_copy
    - changeset_iter_rem
    - changeset_iter_next
    - changeset_iter_clear
    linkageType: ''
    returnType: int
    signature: int changeset_merge(changeset_t *ch1, const changeset_t *ch2, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/updates/changesets.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: changeset_from
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 3
    functionsReached:
    - knot_soa_serial
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t changeset_from(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/updates/changesets.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: changeset_to
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 4
    functionsReached:
    - knot_soa_serial
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t changeset_to(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:355,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/updates/changesets.c:356,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/updates/changesets.c:356,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:359,1
    - Dst: changeset_iter_all
      Src: /src/knot-dns/src/knot/updates/changesets.c:362,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:364,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:365,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:381,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - ch
    - ignore_zonemd
    argTypes:
    - changeset_t*
    - bool
    constantsTouched: []
    func_position:
      end: 386
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 386
    functionName: changeset_differs_just_serial
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 1
    functionsReached:
    - knot_rrset_free
    - knot_rrset_empty
    - changeset_iter_all
    - knot_rrset_copy
    - knot_soa_serial
    - changeset_iter_next
    - changeset_iter_clear
    - knot_soa_serial_set
    linkageType: ''
    returnType: bool
    signature: bool changeset_differs_just_serial(const changeset_t *ch, bool ignore_zonemd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/updates/changesets.c:392,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:393,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/updates/changesets.c:394,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/updates/changesets.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - chgs
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: changesets_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 1
    functionsReached:
    - rem_node
    - changeset_clear
    - init_list
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void changesets_clear(list_t *chgs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/updates/changesets.c:404,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/updates/changesets.c:405,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:406,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/updates/changesets.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - chgs
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: changesets_free
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 4
    functionsReached:
    - rem_node
    - changeset_free
    - init_list
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void changesets_free(list_t *chgs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:419,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:420,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:424,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:425,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/changesets.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: changeset_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 6
    functionsReached:
    - free
    - knot_rrset_free
    - zone_contents_deep_free
    linkageType: ''
    returnType: void
    signature: void changeset_clear(changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_new
      Src: /src/knot-dns/src/knot/updates/changesets.c:439,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:444,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/changesets.c:445,1
    - Dst: changeset_iter_rem
      Src: /src/knot-dns/src/knot/updates/changesets.c:452,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:453,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:454,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/updates/changesets.c:455,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:456,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:458,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/updates/changesets.c:461,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:462,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:463,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/updates/changesets.c:464,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:465,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:467,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:472,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 477
    functionName: changeset_clone
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 1
    functionsReached:
    - changeset_add_addition
    - knot_rrset_empty
    - changeset_new
    - changeset_iter_add
    - knot_rrset_copy
    - changeset_add_removal
    - changeset_free
    - changeset_iter_next
    - changeset_iter_clear
    - changeset_iter_rem
    linkageType: ''
    returnType: changeset_t
    signature: changeset_t *changeset_clone(const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:481,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/changesets.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: changeset_free
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 8
    functionsReached:
    - free
    - changeset_clear
    linkageType: ''
    returnType: void
    signature: void changeset_free(changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:487,1
    - Dst: changeset_iter_init
      Src: /src/knot-dns/src/knot/updates/changesets.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - itt
    - ch
    argTypes:
    - changeset_iter_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: changeset_iter_add
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 7
    functionsReached:
    - changeset_iter_init
    - assert
    linkageType: ''
    returnType: int
    signature: int changeset_iter_add(changeset_iter_t *itt, const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:493,1
    - Dst: changeset_iter_init
      Src: /src/knot-dns/src/knot/updates/changesets.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - itt
    - ch
    argTypes:
    - changeset_iter_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: changeset_iter_rem
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 5
    functionsReached:
    - changeset_iter_init
    - assert
    linkageType: ''
    returnType: int
    signature: int changeset_iter_rem(changeset_iter_t *itt, const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:499,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:500,1
    - Dst: changeset_iter_init
      Src: /src/knot-dns/src/knot/updates/changesets.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - itt
    - ch
    argTypes:
    - changeset_iter_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: changeset_iter_all
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 5
    functionsReached:
    - changeset_iter_init
    - assert
    linkageType: ''
    returnType: int
    signature: int changeset_iter_all(changeset_iter_t *itt, const changeset_t *ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:507,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:512,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/updates/changesets.c:514,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:515,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/updates/changesets.c:520,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:522,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/updates/changesets.c:526,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/updates/changesets.c:529,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/changesets.c:530,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - it
    argTypes:
    - changeset_iter_t*
    constantsTouched: []
    func_position:
      end: 532
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 532
    functionName: changeset_iter_next
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 10
    functionsReached:
    - assert
    - knot_rrset_empty
    - node_rrset_at
    - knot_rrset_init_empty
    - zone_tree_it_begin
    - zone_tree_it_free
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t changeset_iter_next(changeset_iter_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/updates/changesets.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - it
    argTypes:
    - changeset_iter_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: changeset_iter_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 11
    functionsReached:
    - zone_tree_it_free
    linkageType: ''
    returnType: void
    signature: void changeset_iter_clear(changeset_iter_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:551,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:552,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/updates/changesets.c:553,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:555,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:558,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:560,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/updates/changesets.c:563,1
    - Dst: changeset_iter_add
      Src: /src/knot-dns/src/knot/updates/changesets.c:569,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:574,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:575,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/updates/changesets.c:576,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:578,1
    - Dst: changeset_iter_next
      Src: /src/knot-dns/src/knot/updates/changesets.c:581,1
    - Dst: changeset_iter_clear
      Src: /src/knot-dns/src/knot/updates/changesets.c:583,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/updates/changesets.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - changeset
    - callback
    - ctx
    argTypes:
    - changeset_t*
    - changeset_walk_callback
    - void*
    constantsTouched: []
    func_position:
      end: 593
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 593
    functionName: changeset_walk
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - changeset_iter_add
    - callback
    - changeset_iter_next
    - changeset_iter_clear
    linkageType: ''
    returnType: int
    signature: int changeset_walk(const changeset_t *changeset, changeset_walk_callback
      callback, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/updates/changesets.c:601,1
    - Dst: COL_RED
      Src: /src/knot-dns/src/knot/updates/changesets.c:603,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:604,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/updates/changesets.c:605,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/knot/updates/changesets.c:605,1
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/knot/updates/changesets.c:608,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/updates/changesets.c:609,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/knot/updates/changesets.c:609,1
    - Dst: zone_dump_text
      Src: /src/knot-dns/src/knot/updates/changesets.c:611,1
    - Dst: COL_GRN
      Src: /src/knot-dns/src/knot/updates/changesets.c:613,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/updates/changesets.c:614,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/updates/changesets.c:615,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/knot/updates/changesets.c:615,1
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/knot/updates/changesets.c:618,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/updates/changesets.c:619,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/knot/updates/changesets.c:619,1
    - Dst: zone_dump_text
      Src: /src/knot-dns/src/knot/updates/changesets.c:621,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/changesets.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - changeset
    - outfile
    - color
    argTypes:
    - changeset_t*
    - FILE*
    - bool
    constantsTouched: []
    func_position:
      end: 624
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 624
    functionName: changeset_print
    functionSourceFile: /src/knot-dns/src/knot/updates/changesets.c
    functionUses: 0
    functionsReached:
    - COL_GRN
    - COL_RED
    - free
    - COL_RST
    - zone_dump_text
    - knot_rrset_txt_dump
    - fprintf
    - knot_time
    - zone_contents_is_empty
    linkageType: ''
    returnType: void
    signature: void changeset_print(const changeset_t *changeset, FILE *outfile, bool
      color)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_cow
      Src: /src/knot-dns/src/knot/updates/zone-update.c:42,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:44,1
    - Dst: apply_init_ctx
      Src: /src/knot-dns/src/knot/updates/zone-update.c:51,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:53,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:59,1
    - Dst: zone_contents_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:61,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - update
    - zone
    - old_contents
    argTypes:
    - zone_update_t*
    - zone_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: init_incremental
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - zone_contents_free
    - zone_contents_cow
    - node_create_rrset
    - changeset_clear
    - apply_init_ctx
    linkageType: ''
    returnType: int
    signature: int init_incremental(zone_update_t *update, zone_t *zone, zone_contents_t
      *old_contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/updates/zone-update.c:71,1
    - Dst: zone_contents_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - update
    - zone
    argTypes:
    - zone_update_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: init_full
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - zone_contents_free
    - zone_contents_new
    linkageType: ''
    returnType: int
    signature: int init_full(zone_update_t *update, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/updates/zone-update.c:88,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:92,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/updates/zone-update.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - contents
    - rr
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: replace_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - zone_contents_add_rr
    - node_rrset
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int replace_soa(zone_contents_t *contents, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:114,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/updates/zone-update.c:118,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/updates/zone-update.c:124,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/updates/zone-update.c:127,1
    - Dst: init_incremental
      Src: /src/knot-dns/src/knot/updates/zone-update.c:136,1
    - Dst: init_full
      Src: /src/knot-dns/src/knot/updates/zone-update.c:138,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/zone-update.c:141,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - update
    - zone
    - old_contents
    - flags
    argTypes:
    - zone_update_t*
    - zone_t*
    - zone_contents_t*
    - zone_update_flags_t
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: init_base
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - init_incremental
    - calloc
    - knot_sem_post
    - free
    - knot_sem_wait
    - memset
    - init_full
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: "int init_base(zone_update_t *update, zone_t *zone, zone_contents_t
      *old_contents,\n                     zone_update_flags_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_base
      Src: /src/knot-dns/src/knot/updates/zone-update.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - update
    - zone
    - flags
    argTypes:
    - zone_update_t*
    - zone_t*
    - zone_update_flags_t
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: zone_update_init
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 2
    functionsReached:
    - init_base
    linkageType: ''
    returnType: int
    signature: int zone_update_init(zone_update_t *update, zone_t *zone, zone_update_flags_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_base
      Src: /src/knot-dns/src/knot/updates/zone-update.c:170,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:172,1
    - Dst: zone_contents_diff
      Src: /src/knot-dns/src/knot/updates/zone-update.c:180,1
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:187,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:193,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:194,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:198,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:199,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 6
    argNames:
    - update
    - zone
    - old_cont
    - new_cont
    - flags
    - skip
    argTypes:
    - zone_update_t*
    - zone_t*
    - zone_contents_t*
    - zone_contents_t*
    - zone_update_flags_t
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 207
    functionName: zone_update_from_differences
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 2
    functionsReached:
    - zone_update_clear
    - init_base
    - changeset_clear
    - zone_update_apply_changeset
    - zone_contents_diff
    - additionals_tree_free
    linkageType: ''
    returnType: int
    signature: "int zone_update_from_differences(zone_update_t *update, zone_t *zone,
      zone_contents_t *old_cont,\n                                 zone_contents_t
      *new_cont, zone_update_flags_t flags,\n                                 zone_skip_t
      *skip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:216,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/updates/zone-update.c:221,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/updates/zone-update.c:227,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/updates/zone-update.c:231,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:237,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/zone-update.c:239,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:243,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:245,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:246,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/zone-update.c:248,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:256,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:257,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/updates/zone-update.c:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - update
    - zone_without_contents
    - new_cont
    - flags
    argTypes:
    - zone_update_t*
    - zone_t*
    - zone_contents_t*
    - zone_update_flags_t
    constantsTouched: []
    func_position:
      end: 264
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 264
    functionName: zone_update_from_contents
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 2
    functionsReached:
    - node_create_rrset
    - calloc
    - knot_sem_post
    - free
    - changeset_clear
    - knot_sem_wait
    - memset
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: "int zone_update_from_contents(zone_update_t *update, zone_t *zone_without_contents,\n
      \                             zone_contents_t *new_cont, zone_update_flags_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:268,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/updates/zone-update.c:276,1
    - Dst: zone_contents_diff
      Src: /src/knot-dns/src/knot/updates/zone-update.c:281,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:287,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/updates/zone-update.c:292,1
    - Dst: node_create_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - update
    - conf
    argTypes:
    - zone_update_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 305
    functionName: zone_update_start_extra
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 1
    functionsReached:
    - assert
    - zone_contents_diff
    - node_create_rrset
    - zone_update_increment_soa
    linkageType: ''
    returnType: int
    signature: int zone_update_start_extra(zone_update_t *update, conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/updates/zone-update.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - update
    - dname
    argTypes:
    - zone_update_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: zone_update_get_node
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 8
    functionsReached:
    - zone_contents_node_or_nsec3
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_update_get_node(zone_update_t *update, const knot_dname_t
      *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/updates/zone-update.c:320,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: zone_update_current_serial
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - knot_soa_serial
    - node_rdataset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_update_current_serial(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_nsec3_params_match
      Src: /src/knot-dns/src/knot/updates/zone-update.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: zone_update_changed_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec3_params_match
    linkageType: ''
    returnType: bool
    signature: bool zone_update_changed_nsec3param(const zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: zone_update_from
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    linkageType: ''
    returnType: knot_rdataset_t
    signature: knot_rdataset_t *zone_update_from(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_diff_to
      Src: /src/knot-dns/src/knot/updates/zone-update.c:359,1
    - Dst: zone_diff_from
      Src: /src/knot-dns/src/knot/updates/zone-update.c:359,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:360,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: zone_update_to
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 5
    functionsReached:
    - zone_diff_to
    - node_rdataset
    - zone_diff_from
    linkageType: ''
    returnType: knot_rdataset_t
    signature: knot_rdataset_t *zone_update_to(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:381,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:386,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:387,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:390,1
    - Dst: apply_cleanup
      Src: /src/knot-dns/src/knot/updates/zone-update.c:393,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:394,1
    - Dst: apply_rollback
      Src: /src/knot-dns/src/knot/updates/zone-update.c:396,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:399,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 401
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 401
    functionName: zone_update_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 6
    functionsReached:
    - apply_rollback
    - free
    - apply_cleanup
    - changeset_clear
    - memset
    - zone_contents_deep_free
    - additionals_tree_free
    linkageType: ''
    returnType: void
    signature: void zone_update_clear(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - update
    - rrtype
    argTypes:
    - zone_update_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: update_affected_rrtype
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_affected_rrtype(zone_update_t *update, uint16_t rrtype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/updates/zone-update.c:419,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:420,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/zone-update.c:421,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/updates/zone-update.c:431,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/updates/zone-update.c:432,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/zone-update.c:435,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/updates/zone-update.c:442,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - update
    - add
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 446
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 446
    functionName: solve_add_different_ttl
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - log_zone_notice
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_copy
    - node_rrset
    - zone_contents_find_node
    - zone_update_add
    - knot_rrtype_to_string
    linkageType: ''
    returnType: int
    signature: int solve_add_different_ttl(zone_update_t *update, const knot_rrset_t
      *add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/zone-update.c:453,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/zone-update.c:458,1
    - Dst: apply_replace_soa
      Src: /src/knot-dns/src/knot/updates/zone-update.c:468,1
    - Dst: apply_add_rr
      Src: /src/knot-dns/src/knot/updates/zone-update.c:470,1
    - Dst: update_affected_rrtype
      Src: /src/knot-dns/src/knot/updates/zone-update.c:472,1
    - Dst: replace_soa
      Src: /src/knot-dns/src/knot/updates/zone-update.c:478,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/updates/zone-update.c:483,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/updates/zone-update.c:491,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/updates/zone-update.c:492,1
    - Dst: solve_add_different_ttl
      Src: /src/knot-dns/src/knot/updates/zone-update.c:503,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/updates/zone-update.c:505,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:508,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/updates/zone-update.c:509,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:513,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - update
    - rrset
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 515
    functionName: zone_update_add
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 7
    functionsReached:
    - apply_replace_soa
    - assert
    - log_zone_notice
    - knot_rrset_empty
    - zone_contents_add_rr
    - changeset_add_addition
    - knot_rrset_free
    - knot_rrset_copy
    - apply_add_rr
    - knot_rrtype_to_string
    - solve_add_different_ttl
    - update_affected_rrtype
    - replace_soa
    linkageType: ''
    returnType: int
    signature: int zone_update_add(zone_update_t *update, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/updates/zone-update.c:522,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/updates/zone-update.c:528,1
    - Dst: apply_remove_rr
      Src: /src/knot-dns/src/knot/updates/zone-update.c:539,1
    - Dst: update_affected_rrtype
      Src: /src/knot-dns/src/knot/updates/zone-update.c:541,1
    - Dst: zone_contents_remove_rr
      Src: /src/knot-dns/src/knot/updates/zone-update.c:546,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/updates/zone-update.c:554,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:556,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/updates/zone-update.c:557,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:561,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - update
    - rrset
    argTypes:
    - zone_update_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 563
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 563
    functionName: zone_update_remove
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 6
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_copy
    - changeset_add_removal
    - update_affected_rrtype
    - apply_remove_rr
    - zone_contents_remove_rr
    linkageType: ''
    returnType: int
    signature: int zone_update_remove(zone_update_t *update, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/updates/zone-update.c:571,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:576,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/updates/zone-update.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - update
    - owner
    - type
    argTypes:
    - zone_update_t*
    - knot_dname_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 582
      start: 565
    functionDepth: 5
    functionLinenumber: 565
    functionLinenumberEnd: 582
    functionName: zone_update_remove_rrset
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 2
    functionsReached:
    - zone_update_remove
    - zone_contents_node_or_nsec3
    - node_rrset
    linkageType: ''
    returnType: int
    signature: int zone_update_remove_rrset(zone_update_t *update, knot_dname_t *owner,
      uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_node_or_nsec3
      Src: /src/knot-dns/src/knot/updates/zone-update.c:590,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/updates/zone-update.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - update
    - owner
    argTypes:
    - zone_update_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: zone_update_remove_node
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 3
    functionsReached:
    - node_rrset_at
    - zone_contents_node_or_nsec3
    linkageType: ''
    returnType: int
    signature: int zone_update_remove_node(zone_update_t *update, const knot_dname_t
      *owner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/updates/zone-update.c:611,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/updates/zone-update.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rrset
    - addition
    - ctx
    argTypes:
    - knot_rrset_t*
    - bool
    - void*
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: update_chset_step
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - zone_update_remove
    - zone_update_add
    linkageType: ''
    returnType: int
    signature: int update_chset_step(const knot_rrset_t *rrset, bool addition, void
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_walk
      Src: /src/knot-dns/src/knot/updates/zone-update.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - update
    - changes
    argTypes:
    - zone_update_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: zone_update_apply_changeset
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 3
    functionsReached:
    - changeset_walk
    linkageType: ''
    returnType: int
    signature: int zone_update_apply_changeset(zone_update_t *update, const changeset_t
      *changes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - update
    - changes
    argTypes:
    - zone_update_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: zone_update_apply_changeset_reverse
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 1
    functionsReached:
    - zone_update_apply_changeset
    linkageType: ''
    returnType: int
    signature: int zone_update_apply_changeset_reverse(zone_update_t *update, const
      changeset_t *changes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_create_rrset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:638,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:646,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/updates/zone-update.c:653,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/updates/zone-update.c:654,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/updates/zone-update.c:659,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/updates/zone-update.c:661,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - update
    - conf
    argTypes:
    - zone_update_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 666
      start: 632
    functionDepth: 6
    functionLinenumber: 632
    functionLinenumberEnd: 666
    functionName: zone_update_increment_soa
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 5
    functionsReached:
    - serial_compare
    - knot_rrset_free
    - node_create_rrset
    - zone_update_add
    - log_zone_warning
    - knot_soa_serial_set
    linkageType: ''
    returnType: int
    signature: int zone_update_increment_soa(zone_update_t *update, conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zdiff
    - up
    argTypes:
    - zone_diff_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: get_zone_diff
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_zone_diff(zone_diff_t *zdiff, zone_update_t *up)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:677,1
    - Dst: get_zone_diff
      Src: /src/knot-dns/src/knot/updates/zone-update.c:682,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/updates/zone-update.c:683,1
    - Dst: zone_diff_store
      Src: /src/knot-dns/src/knot/updates/zone-update.c:684,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/updates/zone-update.c:689,1
    - Dst: zone_change_store
      Src: /src/knot-dns/src/knot/updates/zone-update.c:690,1
    - Dst: zone_in_journal_store
      Src: /src/knot-dns/src/knot/updates/zone-update.c:694,1
    - Dst: zone_changes_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 700
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 700
    functionName: commit_journal
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - zone_update_no_change
    - zone_diff_store
    - zone_in_journal_store
    - zone_change_store
    - zone_changes_clear
    - get_zone_diff
    linkageType: ''
    returnType: int
    signature: int commit_journal(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:704,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/updates/zone-update.c:706,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/updates/zone-update.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: commit_incremental
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_update_to
    - zone_update_no_change
    linkageType: ''
    returnType: int
    signature: int commit_incremental(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:719,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/zone-update.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 729
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 729
    functionName: commit_full
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - assert
    - node_rrtype_exists
    linkageType: ''
    returnType: int
    signature: int commit_full(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:733,1
    - Dst: get_zone_diff
      Src: /src/knot-dns/src/knot/updates/zone-update.c:746,1
    - Dst: catalog_update_from_zone
      Src: /src/knot-dns/src/knot/updates/zone-update.c:747,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:747,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/updates/zone-update.c:749,1
    - Dst: catalog_update_from_zone
      Src: /src/knot-dns/src/knot/updates/zone-update.c:751,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:751,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/updates/zone-update.c:753,1
    - Dst: catalog_update_from_zone
      Src: /src/knot-dns/src/knot/updates/zone-update.c:755,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:755,1
    - Dst: catalog_update_del_all
      Src: /src/knot-dns/src/knot/updates/zone-update.c:760,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:760,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/updates/zone-update.c:761,1
    - Dst: catalog_update_from_zone
      Src: /src/knot-dns/src/knot/updates/zone-update.c:764,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:764,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/updates/zone-update.c:771,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/updates/zone-update.c:772,1
    - Dst: kill
      Src: /src/knot-dns/src/knot/updates/zone-update.c:773,1
    - Dst: getpid
      Src: /src/knot-dns/src/knot/updates/zone-update.c:773,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/updates/zone-update.c:774,1
    - Dst: catalog_update_del_all
      Src: /src/knot-dns/src/knot/updates/zone-update.c:778,1
    - Dst: zone_catalog_upd
      Src: /src/knot-dns/src/knot/updates/zone-update.c:778,1
    - Dst: zone_catalog
      Src: /src/knot-dns/src/knot/updates/zone-update.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 784
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 784
    functionName: update_catalog
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - catalog_update_from_zone
    - kill
    - getpid
    - knot_map_errno
    - zone_catalog_upd
    - log_zone_info
    - ATOMIC_SET
    - zone_catalog
    - get_zone_diff
    - catalog_update_del_all
    linkageType: ''
    returnType: int
    signature: int update_catalog(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/updates/zone-update.c:794,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/updates/zone-update.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - counter
    - increment
    - limit
    argTypes:
    - counter_reach_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: counter_reach
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: bool
    signature: bool counter_reach(counter_reach_t *counter, size_t increment, size_t
      limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/knot-dns/src/knot/updates/zone-update.c:829,1
    - Dst: pthread_create
      Src: /src/knot-dns/src/knot/updates/zone-update.c:831,1
    - Dst: log_zone_debug
      Src: /src/knot-dns/src/knot/updates/zone-update.c:834,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/knot/updates/zone-update.c:836,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/updates/zone-update.c:838,1
    - Dst: update_clear_ctx_t*::free_method
      Src: /src/knot-dns/src/knot/updates/zone-update.c:841,1
    - Dst: apply_cleanup
      Src: /src/knot-dns/src/knot/updates/zone-update.c:842,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:843,1
    - Dst: counter_reach
      Src: /src/knot-dns/src/knot/updates/zone-update.c:845,1
    - Dst: mem_trim
      Src: /src/knot-dns/src/knot/updates/zone-update.c:846,1
    - Dst: free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - struct rcu_head*
    constantsTouched: []
    func_position:
      end: 850
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 850
    functionName: update_clear
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 7
    functionsReached:
    - pthread_rwlock_trywrlock
    - update_clear_ctx_t*::free_method
    - free
    - pthread_rwlock_wrlock
    - pthread_create
    - apply_cleanup
    - pthread_rwlock_unlock
    - mem_trim
    - counter_reach
    - log_zone_debug
    linkageType: ''
    returnType: void
    signature: void update_clear(struct rcu_head *param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: update_clear_retry
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - update_clear
    linkageType: ''
    returnType: void
    signature: void *update_clear_retry(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 862
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 862
    functionName: discard_adds_tree
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - additionals_tree_free
    linkageType: ''
    returnType: void
    signature: void discard_adds_tree(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:884,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/updates/zone-update.c:885,1
    - Dst: sem_checks_process
      Src: /src/knot-dns/src/knot/updates/zone-update.c:888,1
    - Dst: time
      Src: /src/knot-dns/src/knot/updates/zone-update.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 895
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 895
    functionName: zone_update_semcheck
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 2
    functionsReached:
    - sem_checks_process
    - conf_zone_get
    - time
    - conf_opt
    linkageType: ''
    returnType: int
    signature: int zone_update_semcheck(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:899,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/updates/zone-update.c:900,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/updates/zone-update.c:906,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/updates/zone-update.c:907,1
    - Dst: dbus_emit_zone_invalid
      Src: /src/knot-dns/src/knot/updates/zone-update.c:909,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/updates/zone-update.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 916
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 916
    functionName: zone_update_verify_digest
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 4
    functionsReached:
    - conf_zone_get
    - knot_strerror
    - log_zone_error
    - conf_bool
    - log_zone_info
    - dbus_emit_zone_invalid
    linkageType: ''
    returnType: int
    signature: int zone_update_verify_digest(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:926,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/updates/zone-update.c:929,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/updates/zone-update.c:931,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:933,1
    - Dst: commit_incremental
      Src: /src/knot-dns/src/knot/updates/zone-update.c:938,1
    - Dst: commit_full
      Src: /src/knot-dns/src/knot/updates/zone-update.c:940,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:946,1
    - Dst: zone_adjust_full
      Src: /src/knot-dns/src/knot/updates/zone-update.c:948,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/updates/zone-update.c:948,1
    - Dst: zone_adjust_incremental_update
      Src: /src/knot-dns/src/knot/updates/zone-update.c:950,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/updates/zone-update.c:950,1
    - Dst: discard_adds_tree
      Src: /src/knot-dns/src/knot/updates/zone-update.c:953,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:958,1
    - Dst: discard_adds_tree
      Src: /src/knot-dns/src/knot/updates/zone-update.c:962,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:966,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/updates/zone-update.c:967,1
    - Dst: knot_dnssec_validate_zone
      Src: /src/knot-dns/src/knot/updates/zone-update.c:973,1
    - Dst: discard_adds_tree
      Src: /src/knot-dns/src/knot/updates/zone-update.c:975,1
    - Dst: update_catalog
      Src: /src/knot-dns/src/knot/updates/zone-update.c:980,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/updates/zone-update.c:982,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/updates/zone-update.c:982,1
    - Dst: discard_adds_tree
      Src: /src/knot-dns/src/knot/updates/zone-update.c:983,1
    - Dst: commit_journal
      Src: /src/knot-dns/src/knot/updates/zone-update.c:987,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/updates/zone-update.c:989,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/updates/zone-update.c:989,1
    - Dst: discard_adds_tree
      Src: /src/knot-dns/src/knot/updates/zone-update.c:990,1
    - Dst: zone_set_lastsigned_serial
      Src: /src/knot-dns/src/knot/updates/zone-update.c:995,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/updates/zone-update.c:995,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/updates/zone-update.c:998,1
    - Dst: zone_switch_contents
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1004,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1007,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1008,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1010,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1012,1
    - Dst: call_rcu
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1023,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1025,1
    - Dst: zone_local_notify
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1028,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1031,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1032,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1033,1
    - Dst: dbus_emit_zone_updated
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1037,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1038,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1041,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 2
    argNames:
    - conf
    - update
    argTypes:
    - conf_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 1044
      start: 918
    functionDepth: 4
    functionLinenumber: 918
    functionLinenumberEnd: 1044
    functionName: zone_update_commit
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 8
    functionsReached:
    - call_rcu
    - calloc
    - log_zone_error
    - zone_contents_serial
    - changeset_clear
    - zone_contents_deep_free
    - zone_local_notify
    - discard_adds_tree
    - zone_update_clear
    - knot_strerror
    - dbus_emit_zone_updated
    - memset
    - zone_set_lastsigned_serial
    - commit_journal
    - conf_zone_get
    - commit_full
    - zone_events_schedule_now
    - knot_dnssec_validate_zone
    - update_catalog
    - zone_update_no_change
    - conf_bool
    - zone_switch_contents
    - zone_set_flag
    - conf_int
    - zone_adjust_full
    - zone_adjust_incremental_update
    - commit_incremental
    linkageType: ''
    returnType: int
    signature: int zone_update_commit(conf_t *conf, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_zone_diff
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1054,1
    - Dst: zone_diff_serialized_size
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1055,1
    - Dst: changeset_empty
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1063
    functionName: zone_update_no_change
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 5
    functionsReached:
    - get_zone_diff
    - changeset_empty
    - zone_diff_serialized_size
    linkageType: ''
    returnType: bool
    signature: bool zone_update_no_change(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1067,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1067,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1068,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - c
    - rrtype
    argTypes:
    - zone_contents_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1074
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    functionName: zone_diff_rdataset
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_eq
    - node_rdataset
    - binode_counterpart
    linkageType: ''
    returnType: bool
    signature: bool zone_diff_rdataset(const zone_contents_t *c, uint16_t rrtype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1081,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1082,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1083,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1085
    functionName: contents_have_dnskey
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - assert
    - node_rrtype_exists
    linkageType: ''
    returnType: bool
    signature: bool contents_have_dnskey(const zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_diff_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1090,1
    - Dst: zone_diff_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1091,1
    - Dst: zone_diff_rdataset
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1092,1
    - Dst: contents_have_dnskey
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1094,1
    - Dst: contents_have_dnskey
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1096,1
    - Dst: contents_have_dnskey
      Src: /src/knot-dns/src/knot/updates/zone-update.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1087
    functionDepth: 2
    functionLinenumber: 1087
    functionLinenumberEnd: 1099
    functionName: zone_update_changes_dnskey
    functionSourceFile: /src/knot-dns/src/knot/updates/zone-update.c
    functionUses: 0
    functionsReached:
    - contents_have_dnskey
    - zone_diff_rdataset
    linkageType: ''
    returnType: bool
    signature: bool zone_update_changes_dnskey(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/module.c:44,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/module.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - conf
    - name
    - len
    - temporary
    argTypes:
    - conf_t*
    - char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: conf_mod_find
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 1
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: module_t
    signature: "module_t *conf_mod_find(\n\tconf_t *conf,\n\tconst char *name,\n\tsize_t
      len,\n\tbool temporary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_merge
      Src: /src/knot-dns/src/knot/conf/module.c:76,1
    - Dst: yp_schema_copy
      Src: /src/knot-dns/src/knot/conf/module.c:78,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/module.c:91,1
    - Dst: yp_schema_merge
      Src: /src/knot-dns/src/knot/conf/module.c:101,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/src/knot/conf/module.c:102,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/conf/module.c:109,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/conf/module.c:110,1
    - Dst: old_schema_dynarray_add
      Src: /src/knot-dns/src/knot/conf/module.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - conf
    - mod
    argTypes:
    - conf_t*
    - module_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 114
    functionName: mod_load
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 0
    functionsReached:
    - yp_schema_copy
    - rcu_xchg_pointer
    - yp_schema_free
    - synchronize_rcu
    - yp_schema_merge
    - old_schema_dynarray_add
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int mod_load(\n\tconf_t *conf,\n\tmodule_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mod_load
      Src: /src/knot-dns/src/knot/conf/module.c:127,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:129,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:130,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/conf/module.c:134,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/module.c:138,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/conf/module.c:145,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/knot/conf/module.c:146,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:151,1
    - Dst: access
      Src: /src/knot-dns/src/knot/conf/module.c:155,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:156,1
    - Dst: glob
      Src: /src/knot-dns/src/knot/conf/module.c:160,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:162,1
    - Dst: conf_mod_load_extra
      Src: /src/knot-dns/src/knot/conf/module.c:172,1
    - Dst: globfree
      Src: /src/knot-dns/src/knot/conf/module.c:176,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:177,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/conf/module.c:180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 183
    functionName: conf_mod_load_common
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - strlen
    - log_debug
    - knot_strerror
    - free
    - globfree
    - conf_mod_load_purge
    - mod_load
    - stat
    - log_error
    - conf_mod_load_extra
    - glob
    - access
    linkageType: ''
    returnType: int
    signature: "int conf_mod_load_common(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/conf/module.c:198,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/module.c:199,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:209,1
    - Dst: dlerror
      Src: /src/knot-dns/src/knot/conf/module.c:209,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:210,1
    - Dst: dlerror
      Src: /src/knot-dns/src/knot/conf/module.c:213,1
    - Dst: dlsym
      Src: /src/knot-dns/src/knot/conf/module.c:215,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:221,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:222,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:223,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:226,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:229,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:230,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/conf/module.c:234,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:235,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:236,1
    - Dst: conf_mod_find
      Src: /src/knot-dns/src/knot/conf/module.c:241,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/module.c:241,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:244,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:245,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/conf/module.c:249,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:251,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/conf/module.c:260,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:261,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:262,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:263,1
    - Dst: mod_dynarray_add
      Src: /src/knot-dns/src/knot/conf/module.c:267,1
    - Dst: log_debug
      Src: /src/knot-dns/src/knot/conf/module.c:269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 4
    argNames:
    - conf
    - mod_name
    - file_name
    - type
    argTypes:
    - conf_t*
    - char*
    - char*
    - module_type_t
    constantsTouched: []
    func_position:
      end: 272
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 272
    functionName: conf_mod_load_extra
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 2
    functionsReached:
    - mod_dynarray_add
    - dlclose
    - strlen
    - log_debug
    - calloc
    - knot_strerror
    - sprintf_alloc
    - free
    - dlerror
    - dlsym
    - strcmp
    - conf_mod_find
    - log_error
    linkageType: ''
    returnType: int
    signature: "int conf_mod_load_extra(\n\tconf_t *conf,\n\tconst char *mod_name,\n\tconst
      char *file_name,\n\tmodule_type_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/module.c:278,1
    - Dst: dlclose
      Src: /src/knot-dns/src/knot/conf/module.c:279,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/module.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mod
    argTypes:
    - module_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: unload_shared
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - dlclose
    linkageType: ''
    returnType: void
    signature: "void unload_shared(\n\tmodule_t *mod)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::old_schemas::arr
      Src: /src/knot-dns/src/knot/conf/module.c:295,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/conf/module.c:297,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/conf/module.c:298,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/src/knot/conf/module.c:303,1
    - Dst: old_schema_dynarray_free
      Src: /src/knot-dns/src/knot/conf/module.c:305,1
    - Dst: unload_shared
      Src: /src/knot-dns/src/knot/conf/module.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - temporary
    argTypes:
    - conf_t*
    - bool
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: conf_mod_load_purge
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 2
    functionsReached:
    - rcu_xchg_pointer
    - old_schema_dynarray_free
    - yp_schema_free
    - synchronize_rcu
    - conf_t*::old_schemas::arr
    - unload_shared
    linkageType: ''
    returnType: void
    signature: "void conf_mod_load_purge(\n\tconf_t *conf,\n\tbool temporary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unload_shared
      Src: /src/knot-dns/src/knot/conf/module.c:323,1
    - Dst: mod_dynarray_free
      Src: /src/knot-dns/src/knot/conf/module.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: conf_mod_unload_shared
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 0
    functionsReached:
    - unload_shared
    - mod_dynarray_free
    linkageType: ''
    returnType: void
    signature: "void conf_mod_unload_shared(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/conf/module.c:356,1
    - Dst: conf_default_get
      Src: /src/knot-dns/src/knot/conf/module.c:358,1
    - Dst: query_plan_create
      Src: /src/knot-dns/src/knot/conf/module.c:373,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/conf/module.c:380,1
    - Dst: conf_mod_id
      Src: /src/knot-dns/src/knot/conf/module.c:384,1
    - Dst: query_module_open
      Src: /src/knot-dns/src/knot/conf/module.c:391,1
    - Dst: MOD_ID_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:394,1
    - Dst: conf_free_mod_id
      Src: /src/knot-dns/src/knot/conf/module.c:395,1
    - Dst: MOD_ID_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:403,1
    - Dst: query_module_close
      Src: /src/knot-dns/src/knot/conf/module.c:404,1
    - Dst: MOD_ID_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:411,1
    - Dst: query_module_close
      Src: /src/knot-dns/src/knot/conf/module.c:412,1
    - Dst: knotd_mod_t*::api::load
      Src: /src/knot-dns/src/knot/conf/module.c:418,1
    - Dst: MOD_ID_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:420,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:421,1
    - Dst: query_module_close
      Src: /src/knot-dns/src/knot/conf/module.c:422,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/conf/module.c:428,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/module.c:429,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:434,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:434,1
    - Dst: conf_deactivate_modules
      Src: /src/knot-dns/src/knot/conf/module.c:435,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 5
    argNames:
    - conf
    - server
    - zone_name
    - query_modules
    - query_plan
    argTypes:
    - conf_t*
    - struct server*
    - knot_dname_t*
    - list_t*
    - struct query_plan**
    constantsTouched: []
    func_position:
      end: 437
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 437
    functionName: conf_activate_modules
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 1
    functionsReached:
    - conf_mod_id
    - MOD_ID_LOG
    - conf_zone_get
    - CONF_LOG
    - knot_strerror
    - conf_deactivate_modules
    - conf_default_get
    - conf_free_mod_id
    - add_tail
    - knotd_mod_t*::api::load
    - conf_val_next
    - query_plan_create
    - query_module_open
    - init_list
    - query_module_close
    linkageType: ''
    returnType: int
    signature: "int conf_activate_modules(\n\tconf_t *conf,\n\tstruct server *server,\n\tconst
      knot_dname_t *zone_name,\n\tlist_t *query_modules,\n\tstruct query_plan **query_plan)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_plan_free
      Src: /src/knot-dns/src/knot/conf/module.c:448,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/conf/module.c:453,1
    - Dst: knotd_mod_t*::api::unload
      Src: /src/knot-dns/src/knot/conf/module.c:455,1
    - Dst: query_module_close
      Src: /src/knot-dns/src/knot/conf/module.c:457,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/conf/module.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - query_modules
    - query_plan
    argTypes:
    - list_t*
    - struct query_plan**
    constantsTouched: []
    func_position:
      end: 460
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 460
    functionName: conf_deactivate_modules
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 1
    functionsReached:
    - query_plan_free
    - WALK_LIST_DELSAFE
    - query_module_close
    - init_list
    - knotd_mod_t*::api::unload
    linkageType: ''
    returnType: void
    signature: "void conf_deactivate_modules(\n\tlist_t *query_modules,\n\tstruct
      query_plan **query_plan)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_plan_create
      Src: /src/knot-dns/src/knot/conf/module.c:471,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:473,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:473,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/conf/module.c:477,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/conf/module.c:478,1
    - Dst: query_plan_free
      Src: /src/knot-dns/src/knot/conf/module.c:479,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/conf/module.c:482,1
    - Dst: knotd_mod_t*::api::unload
      Src: /src/knot-dns/src/knot/conf/module.c:484,1
    - Dst: query_module_reset
      Src: /src/knot-dns/src/knot/conf/module.c:486,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/conf/module.c:490,1
    - Dst: MOD_ID_LOG
      Src: /src/knot-dns/src/knot/conf/module.c:493,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/module.c:494,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/conf/module.c:495,1
    - Dst: query_module_close
      Src: /src/knot-dns/src/knot/conf/module.c:496,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/conf/module.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - conf
    - query_modules
    - query_plan
    argTypes:
    - conf_t*
    - list_t*
    - struct query_plan**
    constantsTouched: []
    func_position:
      end: 503
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 503
    functionName: conf_reset_modules
    functionSourceFile: /src/knot-dns/src/knot/conf/module.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - MOD_ID_LOG
    - rcu_xchg_pointer
    - CONF_LOG
    - rem_node
    - knot_strerror
    - query_plan_free
    - synchronize_rcu
    - WALK_LIST_DELSAFE
    - query_module_reset
    - query_plan_create
    - query_module_close
    - knotd_mod_t*::api::unload
    linkageType: ''
    returnType: void
    signature: "void conf_reset_modules(\n\tconf_t *conf,\n\tlist_t *query_modules,\n\tstruct
      query_plan **query_plan)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: legacy_item
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - CONF_LOG
    linkageType: ''
    returnType: int
    signature: "int legacy_item(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/conf/tools.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - id
    - id_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: is_default_id
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool is_default_id(\n\tconst uint8_t *id,\n\tsize_t id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: conf_exec_callbacks
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conf_exec_callbacks(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/conf/tools.c:107,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/tools.c:108,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:109,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: mod_id_to_bin
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    - wire_ctx_write
    - wire_ctx_write_u8
    linkageType: ''
    returnType: int
    signature: "int mod_id_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/tools.c:133,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:134,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/conf/tools.c:137,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/conf/tools.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 149
    functionName: mod_id_to_txt
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u8
    - wire_ctx_skip
    - wire_ctx_available
    - wire_ctx_write
    linkageType: ''
    returnType: int
    signature: "int mod_id_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write_u64
      Src: /src/knot-dns/src/knot/conf/tools.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: rrtype_to_bin
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u64
    linkageType: ''
    returnType: int
    signature: "int rrtype_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: rrtype_to_txt
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: "int rrtype_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: rdname_to_bin
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: "int rdname_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_dname_to_txt
      Src: /src/knot-dns/src/knot/conf/tools.c:202,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/conf/tools.c:206,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/tools.c:207,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/tools.c:208,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/knot/conf/tools.c:209,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/tools.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: rdname_to_txt
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write
    - wire_ctx_set_offset
    - yp_dname_to_txt
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: "int rdname_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/conf/tools.c:233,1
    - Dst: conf_rawid_exists_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:238,1
    - Dst: conf_rawid_exists_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: check_ref
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 1
    functionsReached:
    - conf_rawid_exists_txn
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int check_ref(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_ref
      Src: /src/knot-dns/src/knot/conf/tools.c:262,1
    - Dst: is_default_id
      Src: /src/knot-dns/src/knot/conf/tools.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: check_ref_dflt
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - is_default_id
    - check_ref
    linkageType: ''
    returnType: int
    signature: "int check_ref_dflt(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_ref
      Src: /src/knot-dns/src/knot/conf/tools.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: check_ref_empty
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - check_ref
    linkageType: ''
    returnType: int
    signature: "int check_ref_empty(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:285,1
    - Dst: sockaddr_port
      Src: /src/knot-dns/src/knot/conf/tools.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: check_listen
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - yp_addr
    - sockaddr_port
    linkageType: ''
    returnType: int
    signature: "int check_listen(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:302,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:313,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:317,1
    - Dst: conf_xdp_iface
      Src: /src/knot-dns/src/knot/conf/tools.c:319,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/conf/tools.c:323,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 332
    functionName: check_xdp_listen
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_addr
    - conf_xdp_iface
    - yp_addr
    - conf_val_next
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int check_xdp_listen(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/conf/tools.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: check_cert_pin
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int check_cert_pin(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_modulo_parse
      Src: /src/knot-dns/src/knot/conf/tools.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: check_modulo
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 1
    functionsReached:
    - serial_modulo_parse
    linkageType: ''
    returnType: int
    signature: "int check_modulo(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_modulo_parse
      Src: /src/knot-dns/src/knot/conf/tools.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: check_modulo_shift
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - serial_modulo_parse
    linkageType: ''
    returnType: int
    signature: "int check_modulo_shift(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_skip_add
      Src: /src/knot-dns/src/knot/conf/tools.c:380,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/conf/tools.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: check_zonefile_skip
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - zone_skip_add
    - zone_skip_free
    linkageType: ''
    returnType: int
    signature: "int check_zonefile_skip(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:391,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: check_ctl_listen
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_val_count
    linkageType: ''
    returnType: int
    signature: "int check_ctl_listen(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/knot-dns/src/knot/conf/tools.c:404,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/conf/tools.c:405,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/knot/conf/tools.c:406,1
    - Dst: access
      Src: /src/knot-dns/src/knot/conf/tools.c:408,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/conf/tools.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 413
    functionName: dir_exists
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - S_ISDIR
    - stat
    - access
    linkageType: ''
    returnType: int
    signature: int dir_exists(const char *dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: dir_can_create
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dir_can_create(const char *dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:432,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:443,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/tools.c:444,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/tools.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - args
    - db_type
    - desc
    argTypes:
    - knotd_conf_check_args_t*
    - yp_name_t*
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: check_db
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - conf_get_txn
    - free
    - CONF_LOG
    linkageType: ''
    returnType: void
    signature: "void check_db(\n\tknotd_conf_check_args_t *args,\n\tconst yp_name_t
      *db_type,\n\tint (*check_fun)(const char *),\n\tconst char *desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_db
      Src: /src/knot-dns/src/knot/conf/tools.c:452,1
    - Dst: check_db
      Src: /src/knot-dns/src/knot/conf/tools.c:453,1
    - Dst: check_db
      Src: /src/knot-dns/src/knot/conf/tools.c:454,1
    - Dst: check_db
      Src: /src/knot-dns/src/knot/conf/tools.c:455,1
    - Dst: check_db
      Src: /src/knot-dns/src/knot/conf/tools.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: check_database
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - check_db
    linkageType: ''
    returnType: int
    signature: "int check_database(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_mod_find
      Src: /src/knot-dns/src/knot/conf/tools.c:469,1
    - Dst: conf_rawid_exists_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: check_modref
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_mod_find
    - conf_rawid_exists_txn
    linkageType: ''
    returnType: int
    signature: "int check_modref(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/tools.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: check_module_id
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int check_module_id(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:534,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:537,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:543,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:546,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:553,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:558,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:562,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:567,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:573,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - args
    - xdp_listen
    argTypes:
    - knotd_conf_check_args_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 579
    functionName: check_mtu
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_addr
    - CONF_LOG
    - conf_val_next
    linkageType: ''
    returnType: void
    signature: void check_mtu(knotd_conf_check_args_t *args, conf_val_t *xdp_listen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/src/knot/conf/tools.c:584,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/src/knot/conf/tools.c:584,1
    - Dst: sockaddr_port
      Src: /src/knot-dns/src/knot/conf/tools.c:586,1
    - Dst: sockaddr_port
      Src: /src/knot-dns/src/knot/conf/tools.c:586,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/conf/tools.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ss1
    - ss2
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: listen_hit
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - sockaddr_cmp
    - sockaddr_is_any
    - sockaddr_port
    linkageType: ''
    returnType: bool
    signature: "bool listen_hit(const struct sockaddr_storage *ss1,\n                       const
      struct sockaddr_storage *ss2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:597,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:602,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:605,1
    - Dst: listen_hit
      Src: /src/knot-dns/src/knot/conf/tools.c:606,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:609,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/tools.c:612,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - args
    - chk_listen
    - chk_listen_count
    argTypes:
    - knotd_conf_check_args_t*
    - conf_val_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 617
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 617
    functionName: listen_overlaps
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_addr
    - conf_val
    - conf_val_next
    - listen_hit
    linkageType: ''
    returnType: bool
    signature: "bool listen_overlaps(\n\tknotd_conf_check_args_t *args,\n\tconf_val_t
      *chk_listen,\n\tsize_t chk_listen_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:622,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:624,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:631,1
    - Dst: listen_overlaps
      Src: /src/knot-dns/src/knot/conf/tools.c:635,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:642,1
    - Dst: listen_overlaps
      Src: /src/knot-dns/src/knot/conf/tools.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 659
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 659
    functionName: check_server
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - listen_overlaps
    - conf_get_txn
    linkageType: ''
    returnType: int
    signature: "int check_server(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:664,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:666,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:668,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:670,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:672,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:675,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:675,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:675,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:681,1
    - Dst: check_mtu
      Src: /src/knot-dns/src/knot/conf/tools.c:683,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:686,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:688,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/tools.c:694,1
    - Dst: conf_xdp_iface
      Src: /src/knot-dns/src/knot/conf/tools.c:695,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 708
    functionName: check_xdp
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_addr
    - CONF_LOG
    - check_mtu
    - conf_xdp_iface
    - conf_bool
    - conf_val_next
    linkageType: ''
    returnType: int
    signature: "int check_xdp(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:713,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:715,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:717,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:719,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/tools.c:719,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:723,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: check_keystore
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_bool
    - conf_str
    - conf_rawid_get_txn
    - conf_opt
    linkageType: ''
    returnType: int
    signature: "int check_keystore(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:734,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:736,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:738,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:740,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:742,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:744,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:746,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:748,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:750,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:752,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:754,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:756,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:758,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:760,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/src/knot/conf/tools.c:766,1
    - Dst: dnssec_algorithm_key_size_check
      Src: /src/knot-dns/src/knot/conf/tools.c:772,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:816,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:818,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:821,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:821,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:826,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:829,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:834,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:836,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:838,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:840,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:841,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/tools.c:845,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 852
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 852
    functionName: check_policy
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - CONF_LOG
    - conf_bool
    - conf_opt
    - conf_int
    - conf_val_count
    - conf_rawid_get_txn
    - dnssec_algorithm_key_size_check
    linkageType: ''
    returnType: int
    signature: "int check_policy(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:857,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 865
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 865
    functionName: check_key
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 1
    functionsReached:
    - conf_val_count
    - conf_rawid_get_txn
    linkageType: ''
    returnType: int
    signature: "int check_key(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:870,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:872,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:874,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:876,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:884,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:886,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:888,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:891,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 902
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 902
    functionName: check_acl
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_rawid_get_txn
    - CONF_LOG
    - conf_opt
    linkageType: ''
    returnType: int
    signature: "int check_acl(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:907,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:909,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:914,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:916,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:920,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 932
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 932
    functionName: check_remote
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_bool
    - conf_val_count
    - conf_rawid_get_txn
    linkageType: ''
    returnType: int
    signature: "int check_remote(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 945
    functionName: check_remotes
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_rawid_get_txn
    linkageType: ''
    returnType: int
    signature: "int check_remotes(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:950,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 958
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 958
    functionName: check_dnskey_sync
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_val_count
    - conf_rawid_get_txn
    linkageType: ''
    returnType: int
    signature: "int check_dnskey_sync(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/tools.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 979
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 979
    functionName: check_catalog_group
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int check_catalog_group(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_default_id
      Src: /src/knot-dns/src/knot/conf/tools.c:984,1
    - Dst: CHECK_DFLT
      Src: /src/knot-dns/src/knot/conf/tools.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 989
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 989
    functionName: check_template
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - is_default_id
    - CHECK_DFLT
    linkageType: ''
    returnType: int
    signature: "int check_template(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:996,1
    - Dst: yp_dname
      Src: /src/knot-dns/src/knot/conf/tools.c:997,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/tools.c:999,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - args
    - item_name
    argTypes:
    - knotd_conf_check_args_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 1004
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1004
    functionName: conf_get_wrap
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_zone_get_txn
    - yp_dname
    - assert
    - conf_rawid_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_get_wrap(\n\tknotd_conf_check_args_t *args,\n\tconst
      yp_name_t *item_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:1035,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:1037,1
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:1039,1
    - Dst: CHECK_CATZ_TPL
      Src: /src/knot-dns/src/knot/conf/tools.c:1045,1
    - Dst: CHECK_CATZ_TPL
      Src: /src/knot-dns/src/knot/conf/tools.c:1054,1
    - Dst: CHECK_CATZ_TPL
      Src: /src/knot-dns/src/knot/conf/tools.c:1055,1
    - Dst: CHECK_CATZ_TPL
      Src: /src/knot-dns/src/knot/conf/tools.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - args
    - tpl
    argTypes:
    - knotd_conf_check_args_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1059
    functionName: sub_check_catalog_tpl
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - CHECK_CATZ_TPL
    - conf_rawid_get_txn
    - conf_opt
    linkageType: ''
    returnType: int
    signature: "int sub_check_catalog_tpl(\n\tknotd_conf_check_args_t *args,\n\tconf_val_t
      *tpl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_ZONE_INTERVALS
      Src: /src/knot-dns/src/knot/conf/tools.c:1064,1
    - Dst: CHECK_ZONE_INTERVALS
      Src: /src/knot-dns/src/knot/conf/tools.c:1065,1
    - Dst: CHECK_ZONE_INTERVALS
      Src: /src/knot-dns/src/knot/conf/tools.c:1066,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1068,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1069,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:1072,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:1077,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1078,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1082,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:1083,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1084,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:1085,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1090,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/tools.c:1091,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1097,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/tools.c:1103,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1114,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1115,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1116,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1117,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:1129,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/tools.c:1135,1
    - Dst: sub_check_catalog_tpl
      Src: /src/knot-dns/src/knot/conf/tools.c:1137,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/tools.c:1140,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1144,1
    - Dst: conf_get_wrap
      Src: /src/knot-dns/src/knot/conf/tools.c:1146,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:1148,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/tools.c:1151,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/tools.c:1151,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1159
    functionName: check_zone_or_tpl
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - CONF_LOG
    - conf_val
    - conf_bool
    - conf_id_get_txn
    - conf_val_count
    - conf_val_next
    - conf_opt
    - CHECK_ZONE_INTERVALS
    - conf_str
    - conf_get_wrap
    - sub_check_catalog_tpl
    linkageType: ''
    returnType: int
    signature: "int check_zone_or_tpl(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_zone_or_tpl
      Src: /src/knot-dns/src/knot/conf/tools.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: check_zone
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - check_zone_or_tpl
    linkageType: ''
    returnType: int
    signature: "int check_zone(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_zone_or_tpl
      Src: /src/knot-dns/src/knot/conf/tools.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 3
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: check_catalog_tpl
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 1
    functionsReached:
    - check_zone_or_tpl
    linkageType: ''
    returnType: int
    signature: "int check_catalog_tpl(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1177,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/tools.c:1178,1
    - Dst: knot_map_errno_code
      Src: /src/knot-dns/src/knot/conf/tools.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - epath
    - eerrno
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1181
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1181
    functionName: glob_error
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - CONF_LOG
    - knot_map_errno_code
    linkageType: ''
    returnType: int
    signature: "int glob_error(\n\tconst char *epath,\n\tint eerrno)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1198,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/conf/tools.c:1205,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/conf/tools.c:1215,1
    - Dst: dirname
      Src: /src/knot-dns/src/knot/conf/tools.c:1215,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/tools.c:1217,1
    - Dst: glob
      Src: /src/knot-dns/src/knot/conf/tools.c:1225,1
    - Dst: strchr
      Src: /src/knot-dns/src/knot/conf/tools.c:1226,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/conf/tools.c:1235,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1236,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/knot/conf/tools.c:1242,1
    - Dst: S_ISREG
      Src: /src/knot-dns/src/knot/conf/tools.c:1244,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1245,1
    - Dst: conf_parse
      Src: /src/knot-dns/src/knot/conf/tools.c:1251,1
    - Dst: globfree
      Src: /src/knot-dns/src/knot/conf/tools.c:1260,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/tools.c:1261,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1265
    functionName: include_file
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - CONF_LOG
    - sprintf_alloc
    - free
    - dirname
    - globfree
    - strchr
    - stat
    - S_ISREG
    - S_ISDIR
    - glob
    - conf_parse
    linkageType: ''
    returnType: int
    signature: "int include_file(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/tools.c:1270,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/tools.c:1281,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/knot/conf/tools.c:1287,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/tools.c:1288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1292
    functionName: load_module
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 2
    functionsReached:
    - free
    - conf_rawid_get_txn
    - assert
    - yp_schema_find
    linkageType: ''
    returnType: int
    signature: "int load_module(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - extra
    - section
    - id
    - id_len
    - purge
    argTypes:
    - knotd_conf_check_extra_t*
    - yp_item_t*
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 1316
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1316
    functionName: clear_conf_section_data
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int clear_conf_section_data(\n\tknotd_conf_check_extra_t *extra,\n\tconst
      yp_item_t *section,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tbool purge)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/tools.c:1335,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/tools.c:1337,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/tools.c:1340,1
    - Dst: clear_conf_section_data
      Src: /src/knot-dns/src/knot/conf/tools.c:1342,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/tools.c:1344,1
    - Dst: conf_db_iter_del
      Src: /src/knot-dns/src/knot/conf/tools.c:1349,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/tools.c:1351,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/tools.c:1355,1
    - Dst: conf_db_unset
      Src: /src/knot-dns/src/knot/conf/tools.c:1372,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - extra
    - section
    argTypes:
    - knotd_conf_check_extra_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1374
    functionName: clear_conf_section
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - conf_db_iter_del
    - clear_conf_section_data
    - conf_db_iter_next
    - conf_db_iter_id
    - memcpy
    - conf_db_unset
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int clear_conf_section(\n\tknotd_conf_check_extra_t *extra,\n\tconst
      yp_item_t *section)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fnmatch
      Src: /src/knot-dns/src/knot/conf/tools.c:1390,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1396,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/tools.c:1398,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/tools.c:1399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - args
    argTypes:
    - knotd_conf_check_args_t*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1404
    functionName: clear_conf
    functionSourceFile: /src/knot-dns/src/knot/conf/tools.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - fnmatch
    - CONF_LOG
    linkageType: ''
    returnType: int
    signature: "int clear_conf(\n\tknotd_conf_check_args_t *args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: conf_migrate
    functionSourceFile: /src/knot-dns/src/knot/conf/migration.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conf_migrate(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/conf/conf.c:45,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/conf/conf.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - db_dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: conf_db_exists
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - stat
    linkageType: ''
    returnType: bool
    signature: "bool conf_db_exists(\n\tconst char *db_dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:59,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:63,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:66,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - conf
    - txn
    - key0_name
    - key1_name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: conf_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 11
    functionsReached:
    - conf_db_get
    - DBG_LOG
    - CONF_LOG
    - knot_strerror
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name,\n\tconst yp_name_t *key1_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:87,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:91,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:94,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - conf
    - txn
    - key0_name
    - key1_name
    - id
    - id_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: conf_rawid_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 11
    functionsReached:
    - conf_db_get
    - DBG_LOG
    - CONF_LOG
    - knot_strerror
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_rawid_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name,\n\tconst yp_name_t *key1_name,\n\tconst uint8_t *id,\n\tsize_t
      id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:116,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:120,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:122,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:125,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - conf
    - txn
    - key0_name
    - key1_name
    - id
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: conf_id_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - CONF_LOG
    - conf_db_get
    - knot_strerror
    - conf_val
    - DBG_LOG
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_id_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name,\n\tconst yp_name_t *key1_name,\n\tconf_val_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:145,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:149,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:153,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - conf
    - txn
    - key1_name
    - mod_id
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - conf_mod_id_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: conf_mod_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - DBG_LOG
    - CONF_LOG
    - knot_strerror
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_mod_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key1_name,\n\tconst conf_mod_id_t *mod_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:173,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:180,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:189,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:190,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:198,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:202,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:203,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:206,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:207,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:221,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:223,1
    - Dst: strmemcmp
      Src: /src/knot-dns/src/knot/conf/conf.c:225,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:228,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:230,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:231,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:233,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:237,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:239,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:240,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:246,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:252,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 4
    argNames:
    - conf
    - txn
    - key1_name
    - dname
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 262
    functionName: conf_zone_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 4
    functionsReached:
    - conf_zone_get_txn
    - strmemcmp
    - conf_db_get
    - knot_strerror
    - CONF_LOG_ZONE
    - free
    - conf_val
    - DBG_LOG
    - conf_val_next
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_zone_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key1_name,\n\tconst knot_dname_t *dname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:273,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/conf.c:277,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:281,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - conf
    - txn
    - key1_name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 291
    functionName: conf_default_get_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - DBG_LOG
    - CONF_LOG
    - knot_strerror
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_default_get_txn(\n\tconf_t *conf,\n\tknot_db_txn_t
      *txn,\n\tconst yp_name_t *key1_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:301,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:310,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - conf
    - txn
    - key0_name
    - id
    - id_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: conf_rawid_exists_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 2
    functionsReached:
    - knot_strerror
    - DBG_LOG
    - CONF_LOG
    linkageType: ''
    returnType: bool
    signature: "bool conf_rawid_exists_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name,\n\tconst uint8_t *id,\n\tsize_t id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:326,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:330,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:337,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - conf
    - txn
    - key0_name
    - id
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 344
    functionName: conf_id_exists_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - CONF_LOG
    - DBG_LOG
    - conf_val
    linkageType: ''
    returnType: bool
    signature: "bool conf_id_exists_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name,\n\tconf_val_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_iter_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:353,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/conf/conf.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - txn
    - key0_name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: conf_id_count_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_iter_txn
    - conf_iter_next
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_id_count_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/conf.c:368,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:371,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - txn
    - key0_name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: conf_iter_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - knot_strerror
    - conf_db_iter_begin
    - CONF_LOG
    linkageType: ''
    returnType: conf_iter_t
    signature: "conf_iter_t conf_iter_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/conf.c:384,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:387,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: conf_iter_next
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 4
    functionsReached:
    - knot_strerror
    - conf_db_iter_next
    - CONF_LOG
    linkageType: ''
    returnType: void
    signature: "void conf_iter_next(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/conf.c:402,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:405,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/conf.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: conf_iter_id
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 3
    functionsReached:
    - knot_strerror
    - CONF_LOG
    - conf_db_iter_id
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_iter_id(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/conf.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: conf_iter_finish
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - conf_db_iter_finish
    linkageType: ''
    returnType: void
    signature: "void conf_iter_finish(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:433,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:436,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 446
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 446
    functionName: conf_val_count
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 9
    functionsReached:
    - conf_val_next
    - conf_val
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_val_count(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:451,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:452,1
    - Dst: conf_val_reset
      Src: /src/knot-dns/src/knot/conf/conf.c:460,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 475
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 475
    functionName: conf_val
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 9
    functionsReached:
    - conf_val_reset
    - assert
    linkageType: ''
    returnType: void
    signature: "void conf_val(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:480,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:481,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:482,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:486,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/conf/conf.c:491,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/conf.c:493,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 505
    functionName: conf_val_next
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 20
    functionsReached:
    - assert
    - wire_ctx_init_const
    - conf_val
    - wire_ctx_skip
    linkageType: ''
    returnType: void
    signature: "void conf_val_next(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:509,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:510,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:511,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:513,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/conf/conf.c:514,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: conf_val_reset
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 3
    functionsReached:
    - assert
    - wire_ctx_init_const
    linkageType: ''
    returnType: void
    signature: void conf_val_reset(conf_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/conf/conf.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - conf_val_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 533
    functionName: conf_val_equal
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool conf_val_equal(\n\tconf_val_t *val1,\n\tconf_val_t *val2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:540,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:541,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:556,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - conf
    - mix_id
    - iter
    argTypes:
    - conf_t*
    - conf_val_t*
    - conf_mix_iter_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: conf_mix_iter_init
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 7
    functionsReached:
    - conf_id_get_txn
    - assert
    - conf_val
    linkageType: ''
    returnType: void
    signature: "void conf_mix_iter_init(\n\tconf_t *conf,\n\tconf_val_t *mix_id,\n\tconf_mix_iter_t
      *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:570,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:575,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:576,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:584,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - iter
    argTypes:
    - conf_mix_iter_t*
    constantsTouched: []
    func_position:
      end: 596
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 596
    functionName: conf_mix_iter_next
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 6
    functionsReached:
    - conf_id_get_txn
    - assert
    - conf_val_next
    - conf_val
    linkageType: ''
    returnType: void
    signature: "void conf_mix_iter_next(\n\tconf_mix_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:602,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:603,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:608,1
    - Dst: yp_int
      Src: /src/knot-dns/src/knot/conf/conf.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - val
    - alternative
    argTypes:
    - conf_val_t*
    - bool
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: conf_int_alt
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - yp_int
    - assert
    - conf_val
    linkageType: ''
    returnType: int64_t
    signature: "int64_t conf_int_alt(\n\tconf_val_t *val,\n\tbool alternative)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:618,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:619,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:624,1
    - Dst: yp_bool
      Src: /src/knot-dns/src/knot/conf/conf.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: conf_bool
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 21
    functionsReached:
    - assert
    - conf_val
    - yp_bool
    linkageType: ''
    returnType: bool
    signature: "bool conf_bool(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:634,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:635,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:640,1
    - Dst: yp_opt
      Src: /src/knot-dns/src/knot/conf/conf.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 645
    functionName: conf_opt
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 19
    functionsReached:
    - assert
    - conf_val
    - yp_opt
    linkageType: ''
    returnType: unsigned
    signature: "unsigned conf_opt(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:650,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:651,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:656,1
    - Dst: yp_str
      Src: /src/knot-dns/src/knot/conf/conf.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 661
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 661
    functionName: conf_str
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 9
    functionsReached:
    - assert
    - yp_str
    - conf_val
    linkageType: ''
    returnType: char
    signature: "char * conf_str(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:666,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:667,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:672,1
    - Dst: yp_dname
      Src: /src/knot-dns/src/knot/conf/conf.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 677
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 677
    functionName: conf_dname
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 4
    functionsReached:
    - yp_dname
    - assert
    - conf_val
    linkageType: ''
    returnType: knot_dname_t
    signature: "knot_dname_t * conf_dname(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:683,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:684,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:690,1
    - Dst: yp_bin_len
      Src: /src/knot-dns/src/knot/conf/conf.c:691,1
    - Dst: yp_bin
      Src: /src/knot-dns/src/knot/conf/conf.c:692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - val
    - len
    argTypes:
    - conf_val_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 697
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 697
    functionName: conf_bin
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 3
    functionsReached:
    - yp_bin
    - assert
    - conf_val
    - yp_bin_len
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * conf_bin(\n\tconf_val_t *val,\n\tsize_t *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:703,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:704,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - val
    - len
    argTypes:
    - conf_val_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 716
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 716
    functionName: conf_data
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 3
    functionsReached:
    - assert
    - conf_val
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * conf_data(\n\tconf_val_t *val,\n\tsize_t *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:723,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:724,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:732,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:733,1
    - Dst: yp_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:734,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/conf/conf.c:741,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:742,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/knot/conf/conf.c:745,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/conf/conf.c:753,1
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/knot/conf/conf.c:758,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - val
    - sock_base_dir
    - alternative
    argTypes:
    - conf_val_t*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 765
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 765
    functionName: conf_addr_alt
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - assert
    - sockaddr_port_set
    - free
    - conf_val
    - yp_addr
    - sockaddr_set
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: "struct sockaddr_storage conf_addr_alt(\n\tconf_val_t *val,\n\tconst
      char *sock_base_dir,\n\tbool alternative)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:776,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/knot/conf/conf.c:777,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - match
    - addr
    argTypes:
    - conf_val_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 785
    functionName: conf_addr_match
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 2
    functionsReached:
    - conf_val_next
    - sockaddr_cmp
    - conf_addr
    linkageType: ''
    returnType: bool
    signature: "bool conf_addr_match(\n\tconf_val_t *match,\n\tconst struct sockaddr_storage
      *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:792,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:794,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:801,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:802,1
    - Dst: yp_addr_noport
      Src: /src/knot-dns/src/knot/conf/conf.c:804,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/conf.c:813,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/conf.c:815,1
    - Dst: yp_int
      Src: /src/knot-dns/src/knot/conf/conf.c:821,1
    - Dst: yp_addr_noport
      Src: /src/knot-dns/src/knot/conf/conf.c:824,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - val
    - max_ss
    - prefix_len
    argTypes:
    - conf_val_t*
    - struct sockaddr_storage*
    - int*
    constantsTouched: []
    func_position:
      end: 838
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 838
    functionName: conf_addr_range
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - assert
    - strlen
    - yp_int
    - conf_val
    - yp_addr_noport
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: "struct sockaddr_storage conf_addr_range(\n\tconf_val_t *val,\n\tstruct
      sockaddr_storage *max_ss,\n\tint *prefix_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_addr_range
      Src: /src/knot-dns/src/knot/conf/conf.c:852,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/conf/conf.c:854,1
    - Dst: sockaddr_range_match
      Src: /src/knot-dns/src/knot/conf/conf.c:858,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - range
    - addr
    argTypes:
    - conf_val_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 867
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 867
    functionName: conf_addr_range_match
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 6
    functionsReached:
    - conf_addr_range
    - sockaddr_net_match
    - conf_val_next
    - sockaddr_range_match
    linkageType: ''
    returnType: bool
    signature: "bool conf_addr_range_match(\n\tconf_val_t *range,\n\tconst struct
      sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abs_path
      Src: /src/knot-dns/src/knot/conf/conf.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - base_dir
    argTypes:
    - conf_val_t*
    - char*
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: conf_abs_path
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - abs_path
    linkageType: ''
    returnType: char
    signature: "char * conf_abs_path(\n\tconf_val_t *val,\n\tconst char *base_dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:880,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:881,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:888,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:889,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/conf.c:891,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/conf.c:898,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:900,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/conf.c:903,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/conf.c:908,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:910,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:911,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/conf.c:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 918
    functionName: conf_mod_id
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - assert
    - free
    - conf_val
    - memcpy
    - malloc
    linkageType: ''
    returnType: conf_mod_id_t
    signature: "conf_mod_id_t * conf_mod_id(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:927,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:928,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mod_id
    argTypes:
    - conf_mod_id_t*
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: conf_free_mod_id
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void conf_free_mod_id(\n\tconf_mod_id_t *mod_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/conf/conf.c:939,1
    - Dst: strchr
      Src: /src/knot-dns/src/knot/conf/conf.c:944,1
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/conf/conf.c:946,1
    - Dst: strchr
      Src: /src/knot-dns/src/knot/conf/conf.c:959,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - start
    - end
    - index1
    - index2
    argTypes:
    - char**
    - char*
    - unsigned*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 963
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 963
    functionName: get_index
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strchr
    linkageType: ''
    returnType: int
    signature: "int get_index(\n\tconst char **start,\n\tconst char *end,\n\tunsigned
      *index1,\n\tunsigned *index2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - name
    - remove_dot
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 982
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 982
    functionName: replace_slashes
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void replace_slashes(\n\tchar *name,\n\tbool remove_dot)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:991,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/conf/conf.c:993,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:998,1
    - Dst: memmove
      Src: /src/knot-dns/src/knot/conf/conf.c:1014,1
    - Dst: replace_slashes
      Src: /src/knot-dns/src/knot/conf/conf.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - zone
    - buff
    - buff_len
    - index1
    - index2
    argTypes:
    - knot_dname_t*
    - char*
    - size_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1021
      start: 984
    functionDepth: 2
    functionLinenumber: 984
    functionLinenumberEnd: 1021
    functionName: str_char
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - assert
    - replace_slashes
    - memmove
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: "int str_char(\n\tconst knot_dname_t *zone,\n\tchar *buff,\n\tsize_t
      buff_len,\n\tunsigned index1,\n\tunsigned index2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1028,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/conf/conf.c:1030,1
    - Dst: replace_slashes
      Src: /src/knot-dns/src/knot/conf/conf.c:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - zone
    - buff
    - buff_len
    argTypes:
    - knot_dname_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1038
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1038
    functionName: str_zone
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - assert
    - replace_slashes
    - knot_dname_to_str
    linkageType: ''
    returnType: int
    signature: "int str_zone(\n\tconst knot_dname_t *zone,\n\tchar *buff,\n\tsize_t
      buff_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_zone
      Src: /src/knot-dns/src/knot/conf/conf.c:1050,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1061,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/conf.c:1067,1
    - Dst: str_zone
      Src: /src/knot-dns/src/knot/conf/conf.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - zone
    - buff
    - buff_len
    - right_index
    argTypes:
    - knot_dname_t*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1071
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1071
    functionName: str_label
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - str_zone
    - assert
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int str_label(\n\tconst knot_dname_t *zone,\n\tchar *buff,\n\tsize_t
      buff_len,\n\tsize_t right_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1079,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/conf/conf.c:1090,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1091,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/conf/conf.c:1100,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1101,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1102,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1105,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/conf/conf.c:1117,1
    - Dst: get_index
      Src: /src/knot-dns/src/knot/conf/conf.c:1120,1
    - Dst: str_char
      Src: /src/knot-dns/src/knot/conf/conf.c:1121,1
    - Dst: get_index
      Src: /src/knot-dns/src/knot/conf/conf.c:1126,1
    - Dst: str_label
      Src: /src/knot-dns/src/knot/conf/conf.c:1127,1
    - Dst: str_zone
      Src: /src/knot-dns/src/knot/conf/conf.c:1132,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1137,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1141,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1147,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/conf/conf.c:1152,1
    - Dst: CONF_LOG_ZONE
      Src: /src/knot-dns/src/knot/conf/conf.c:1153,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/conf/conf.c:1160,1
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1162,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1168,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 4
    argNames:
    - conf
    - txn
    - zone
    - name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1073
    functionDepth: 4
    functionLinenumber: 1073
    functionLinenumberEnd: 1171
    functionName: get_filename
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 1
    functionsReached:
    - strdup
    - strlcat
    - assert
    - str_label
    - conf_zone_get_txn
    - CONF_LOG_ZONE
    - free
    - get_index
    - str_char
    - str_zone
    linkageType: ''
    returnType: char
    signature: "char * get_filename(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      knot_dname_t *zone,\n\tconst char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1182,1
    - Dst: get_filename
      Src: /src/knot-dns/src/knot/conf/conf.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - txn
    - zone
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1173
    functionDepth: 5
    functionLinenumber: 1173
    functionLinenumberEnd: 1191
    functionName: conf_zonefile_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_zone_get_txn
    - get_filename
    linkageType: ''
    returnType: char
    signature: "char * conf_zonefile_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      knot_dname_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1198,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1205,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - txn
    - db_type
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1210
    functionName: conf_db_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - free
    linkageType: ''
    returnType: char
    signature: "char * conf_db_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *db_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1217,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/conf.c:1218,1
    - Dst: conf_abs_path
      Src: /src/knot-dns/src/knot/conf/conf.c:1222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - txn
    - tls_item
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1223
    functionName: conf_tls_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_str
    - conf_abs_path
    linkageType: ''
    returnType: char
    signature: "char *conf_tls_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *tls_item)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1229,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1231,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/conf/conf.c:1233,1
    - Dst: dt_optimal_size
      Src: /src/knot-dns/src/knot/conf/conf.c:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1237
    functionName: conf_udp_threads_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - assert
    - MIN
    - dt_optimal_size
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_udp_threads_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1243,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1245,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/conf/conf.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1252
    functionName: conf_tcp_threads_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - assert
    - MIN
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_tcp_threads_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1260,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:1262,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1272
    functionName: conf_xdp_threads_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - conf_addr
    - conf_val_next
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_xdp_threads_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1278,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1280,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1282,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/conf/conf.c:1283,1
    - Dst: dt_optimal_size
      Src: /src/knot-dns/src/knot/conf/conf.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1287
    functionName: conf_bg_threads_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - assert
    - MIN
    - dt_optimal_size
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_bg_threads_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1293,1
    - Dst: getrlimit
      Src: /src/knot-dns/src/knot/conf/conf.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1309
    functionName: conf_tcp_max_clients_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - conf_get_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_tcp_max_clients_txn(\n\tconf_t *conf,\n\tknot_db_txn_t
      *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1321,1
    - Dst: getgrnam
      Src: /src/knot-dns/src/knot/conf/conf.c:1329,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:1333,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1335,1
    - Dst: getgid
      Src: /src/knot-dns/src/knot/conf/conf.c:1342,1
    - Dst: getpwnam
      Src: /src/knot-dns/src/knot/conf/conf.c:1346,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/conf.c:1350,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1351,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1355,1
    - Dst: getuid
      Src: /src/knot-dns/src/knot/conf/conf.c:1358,1
    - Dst: getgid
      Src: /src/knot-dns/src/knot/conf/conf.c:1359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - conf
    - txn
    - uid
    - gid
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1364
    functionName: conf_user_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - CONF_LOG
    - free
    - getgrnam
    - getgid
    - getuid
    - getpwnam
    linkageType: ''
    returnType: int
    signature: "int conf_user_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tint
      *uid,\n\tint *gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1372,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1373,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1379,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/conf.c:1380,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1381,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/conf.c:1382,1
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1384,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1389,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/conf.c:1392,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:1395,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1396,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:1399,1
    - Dst: conf_addr_alt
      Src: /src/knot-dns/src/knot/conf/conf.c:1402,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1406,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:1408,1
    - Dst: conf_addr
      Src: /src/knot-dns/src/knot/conf/conf.c:1410,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/conf.c:1415,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1418,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/conf/conf.c:1419,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1422,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/conf/conf.c:1424,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1426,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/conf.c:1427,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1429,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/conf/conf.c:1430,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/conf.c:1433,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1435,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/conf.c:1436,1
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.c:1438,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/conf.c:1439,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - conf
    - txn
    - id
    - index
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - conf_val_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1442
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1442
    functionName: conf_remote_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get_txn
    - assert
    - conf_addr
    - free
    - conf_val
    - conf_id_get_txn
    - conf_bool
    - conf_addr_alt
    - conf_bin
    - conf_val_next
    - conf_opt
    - conf_dname
    linkageType: ''
    returnType: conf_remote_t
    signature: "conf_remote_t conf_remote_txn(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconf_val_t
      *id,\n\tsize_t index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/knot-dns/src/knot/conf/conf.c:1457,1
    - Dst: sockaddr_port
      Src: /src/knot-dns/src/knot/conf/conf.c:1476,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/conf.c:1485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - addr
    - iface
    argTypes:
    - struct sockaddr_storage*
    - conf_xdp_iface_t*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1492
    functionName: conf_xdp_iface
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.c
    functionUses: 2
    functionsReached:
    - assert
    - strlcpy
    - sockaddr_port
    linkageType: ''
    returnType: int
    signature: "int conf_xdp_iface(\n\tstruct sockaddr_storage *addr,\n\tconf_xdp_iface_t
      *iface)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - io
    - key0
    - key1
    - id
    - id_len
    - id_as_data
    - val
    argTypes:
    - conf_io_t*
    - yp_item_t*
    - yp_item_t*
    - uint8_t*
    - size_t
    - bool
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: io_reset_val
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void io_reset_val(\n\tconf_io_t *io,\n\tconst yp_item_t *key0,\n\tconst
      yp_item_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tbool id_as_data,\n\tconf_val_t
      *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - io
    - key0
    - key1
    - id
    - id_len
    - bin
    - bin_len
    argTypes:
    - conf_io_t*
    - yp_item_t*
    - yp_item_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: io_reset_bin
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - io_reset_val
    linkageType: ''
    returnType: void
    signature: "void io_reset_bin(\n\tconf_io_t *io,\n\tconst yp_item_t *key0,\n\tconst
      yp_item_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tconst uint8_t *bin,\n\tsize_t
      bin_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:50,1
    - Dst: pthread_equal
      Src: /src/knot-dns/src/knot/conf/confio.c:51,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:51,1
    - Dst: pthread_self
      Src: /src/knot-dns/src/knot/conf/confio.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: same_thread
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf
    - pthread_equal
    - pthread_self
    linkageType: ''
    returnType: bool
    signature: bool same_thread(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:58,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:58,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:60,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:62,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:67,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:68,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:69,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:73,1
    - Dst: log_ctl_notice
      Src: /src/knot-dns/src/knot/conf/confio.c:74,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:84,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:85,1
    - Dst: pthread_self
      Src: /src/knot-dns/src/knot/conf/confio.c:85,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:89,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:90,1
    - Dst: trie_clear
      Src: /src/knot-dns/src/knot/conf/confio.c:91,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - child
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: conf_io_begin
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 10
    functionsReached:
    - assert
    - log_ctl_notice
    - conf
    - pthread_self
    - trie_clear
    linkageType: ''
    returnType: int
    signature: "int conf_io_begin(\n\tbool child)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:101,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:101,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:103,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:104,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:104,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:109,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:109,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: conf_io_commit
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 6
    functionsReached:
    - assert
    - conf
    linkageType: ''
    returnType: int
    signature: "int conf_io_commit(\n\tbool child)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:122,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:122,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:124,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:125,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:125,1
    - Dst: same_thread
      Src: /src/knot-dns/src/knot/conf/confio.c:128,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:132,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:132,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:135,1
    - Dst: txn_abort
      Src: /src/knot-dns/src/knot/conf/confio.c:135,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:136,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:140,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:141,1
    - Dst: trie_clear
      Src: /src/knot-dns/src/knot/conf/confio.c:142,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - child
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 147
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 147
    functionName: conf_io_abort
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 10
    functionsReached:
    - same_thread
    - assert
    - txn_abort
    - conf
    - trie_clear
    linkageType: ''
    returnType: int
    signature: "int conf_io_abort(\n\tbool child)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - items
    - item
    - io
    argTypes:
    - yp_item_t*
    - yp_item_t**
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: list_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int list_section(\n\tconst yp_item_t *items,\n\tconst yp_item_t **item,\n\tconf_io_t
      *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:176,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:176,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:178,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:185,1
    - Dst: list_section
      Src: /src/knot-dns/src/knot/conf/confio.c:187,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:187,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/confio.c:190,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:190,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:201,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:201,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:213,1
    - Dst: list_section
      Src: /src/knot-dns/src/knot/conf/confio.c:215,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:225,1
    - Dst: FCN
      Src: /src/knot-dns/src/knot/conf/confio.c:227,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:240,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:243,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:243,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:256,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:256,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:258,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:258,1
    - Dst: FCN
      Src: /src/knot-dns/src/knot/conf/confio.c:262,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:264,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:264,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:268,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:268,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:273,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:278,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:278,1
    - Dst: FCN
      Src: /src/knot-dns/src/knot/conf/confio.c:292,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/confio.c:298,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 104
    argCount: 6
    argNames:
    - key0
    - key1
    - id
    - list_schema
    - get_current
    - io
    argTypes:
    - char*
    - char*
    - char*
    - bool
    - bool
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 301
    functionName: conf_io_list
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 3
    functionsReached:
    - yp_schema_check_init
    - assert
    - io_reset_bin
    - yp_schema_check_deinit
    - conf_db_get
    - conf
    - io_reset_val
    - FCN
    - conf_db_iter_next
    - conf_db_iter_id
    - conf_db_iter_begin
    - list_section
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_io_list(\n\tconst char *key0,\n\tconst char *key1,\n\tconst
      char *id,\n\tbool list_schema,\n\tbool get_current,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:326,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:326,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:326,1
    - Dst: FCN
      Src: /src/knot-dns/src/knot/conf/confio.c:350,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:367,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:367,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:367,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:380,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:380,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:380,1
    - Dst: conf_val_equal
      Src: /src/knot-dns/src/knot/conf/confio.c:410,1
    - Dst: FCN
      Src: /src/knot-dns/src/knot/conf/confio.c:420,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 431
    functionName: diff_item
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - conf_val_equal
    - conf
    - FCN
    linkageType: ''
    returnType: int
    signature: "int diff_item(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: diff_item
      Src: /src/knot-dns/src/knot/conf/confio.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: diff_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - diff_item
    linkageType: ''
    returnType: int
    signature: "int diff_section(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:477,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:477,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:479,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:479,1
    - Dst: diff_section
      Src: /src/knot-dns/src/knot/conf/confio.c:483,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:485,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:485,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:489,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:489,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:496,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:496,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:496,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:507,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:507,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:509,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:509,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:514,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:514,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:514,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:518,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:518,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:524,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:524,1
    - Dst: diff_section
      Src: /src/knot-dns/src/knot/conf/confio.c:528,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:530,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:530,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:534,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:534,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 541
    functionName: diff_iter_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - conf
    - diff_section
    - conf_db_iter_next
    - conf_db_iter_id
    - conf_db_iter_begin
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int diff_iter_section(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:546,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:548,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:552,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:552,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/conf/confio.c:553,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/conf/confio.c:553,1
    - Dst: trie_it_key
      Src: /src/knot-dns/src/knot/conf/confio.c:554,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/conf/confio.c:559,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/conf/confio.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 566
    functionName: diff_zone_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - assert
    - conf
    - trie_it_next
    - trie_it_key
    - trie_it_begin
    - trie_it_free
    - trie_it_finished
    linkageType: ''
    returnType: int
    signature: "int diff_zone_section(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:578,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:578,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:580,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:587,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:596,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/confio.c:606,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:606,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:622,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/confio.c:625,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:626,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:629,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:633,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:648,1
    - Dst: diff_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:649,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:651,1
    - Dst: diff_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:652,1
    - Dst: diff_zone_section
      Src: /src/knot-dns/src/knot/conf/confio.c:655,1
    - Dst: diff_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:658,1
    - Dst: diff_section
      Src: /src/knot-dns/src/knot/conf/confio.c:665,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/confio.c:667,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 4
    argNames:
    - key0
    - key1
    - id
    - io
    argTypes:
    - char*
    - char*
    - char*
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 670
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 670
    functionName: conf_io_diff
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 3
    functionsReached:
    - yp_schema_check_init
    - assert
    - yp_schema_check_deinit
    - strlen
    - diff_iter_section
    - conf
    - diff_zone_section
    - diff_section
    - io_reset_val
    linkageType: ''
    returnType: int
    signature: "int conf_io_diff(\n\tconst char *key0,\n\tconst char *key1,\n\tconst
      char *id,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:682,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:682,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:710,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:710,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:739,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:739,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - txn
    - io
    argTypes:
    - knot_db_txn_t*
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 766
    functionName: get_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - conf
    linkageType: ''
    returnType: int
    signature: "int get_section(\n\tknot_db_txn_t *txn,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:779,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:779,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:781,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:788,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:797,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/confio.c:806,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:806,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:822,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/confio.c:825,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:826,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:829,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:833,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:837,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:837,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:848,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:848,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:861,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:861,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:863,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:863,1
    - Dst: get_section
      Src: /src/knot-dns/src/knot/conf/confio.c:867,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:869,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:869,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:873,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:873,1
    - Dst: get_section
      Src: /src/knot-dns/src/knot/conf/confio.c:881,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/confio.c:883,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 5
    argNames:
    - key0
    - key1
    - id
    - get_current
    - io
    argTypes:
    - char*
    - char*
    - char*
    - bool
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 886
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 886
    functionName: conf_io_get
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 3
    functionsReached:
    - yp_schema_check_init
    - assert
    - get_section
    - yp_schema_check_deinit
    - strlen
    - conf
    - io_reset_val
    - conf_db_iter_next
    - conf_db_iter_id
    - conf_db_iter_begin
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_io_get(\n\tconst char *key0,\n\tconst char *key1,\n\tconst
      char *id,\n\tbool get_current,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:895,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:905,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:909,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:920,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:924,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:930,1
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/conf/confio.c:932,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:936,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/conf/confio.c:940,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:950,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/conf/confio.c:958,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:973,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - io
    - type
    - flags
    - any_id
    argTypes:
    - conf_io_t*
    - conf_io_type_t
    - yp_flag_t
    - bool
    constantsTouched: []
    func_position:
      end: 975
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 975
    functionName: upd_changes
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - assert
    - conf
    - trie_del
    - trie_create
    - trie_get_ins
    linkageType: ''
    returnType: void
    signature: "void upd_changes(\n\tconst conf_io_t *io,\n\tconf_io_type_t type,\n\typ_flag_t
      flags,\n\tbool any_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:993,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:994,1
    - Dst: conf_exec_callbacks
      Src: /src/knot-dns/src/knot/conf/confio.c:1007,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/confio.c:1009,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/confio.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1014
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1014
    functionName: set_item
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - conf
    - CONF_LOG
    - conf_exec_callbacks
    linkageType: ''
    returnType: int
    signature: "int set_item(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1022,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1022,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1024,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/confio.c:1034,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1034,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:1061,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1076,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:1077,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:1081,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:1092,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1092,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1092,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:1109,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1109,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1111,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1111,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confio.c:1114,1
    - Dst: set_item
      Src: /src/knot-dns/src/knot/conf/confio.c:1117,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1119,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1119,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1123,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1123,1
    - Dst: upd_changes
      Src: /src/knot-dns/src/knot/conf/confio.c:1129,1
    - Dst: set_item
      Src: /src/knot-dns/src/knot/conf/confio.c:1136,1
    - Dst: upd_changes
      Src: /src/knot-dns/src/knot/conf/confio.c:1139,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/confio.c:1142,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 4
    argNames:
    - key0
    - key1
    - id
    - data
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1145
    functionName: conf_io_set
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 8
    functionsReached:
    - yp_schema_check_init
    - assert
    - io_reset_bin
    - yp_schema_check_deinit
    - upd_changes
    - conf
    - conf_db_iter_next
    - conf_db_iter_id
    - set_item
    - memcpy
    - conf_db_iter_begin
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_io_set(\n\tconst char *key0,\n\tconst char *key1,\n\tconst
      char *id,\n\tconst char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_unset
      Src: /src/knot-dns/src/knot/conf/confio.c:1152,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1152,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1177
    functionName: unset_section_data
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf
    - conf_db_unset
    linkageType: ''
    returnType: int
    signature: "int unset_section_data(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - key0
    argTypes:
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1210
    functionName: unset_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int unset_section(\n\tconst yp_item_t *key0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1218,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1218,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1220,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1227,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/confio.c:1246,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1246,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:1269,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1277,1
    - Dst: io_reset_bin
      Src: /src/knot-dns/src/knot/conf/confio.c:1278,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:1289,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1289,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1289,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:1306,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1306,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1308,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1308,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confio.c:1311,1
    - Dst: unset_section_data
      Src: /src/knot-dns/src/knot/conf/confio.c:1314,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1320,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1320,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1324,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1324,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:1332,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1332,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1332,1
    - Dst: conf_db_iter_del
      Src: /src/knot-dns/src/knot/conf/confio.c:1345,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1345,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1347,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1347,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1351,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1351,1
    - Dst: unset_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1358,1
    - Dst: upd_changes
      Src: /src/knot-dns/src/knot/conf/confio.c:1364,1
    - Dst: unset_section_data
      Src: /src/knot-dns/src/knot/conf/confio.c:1371,1
    - Dst: conf_db_unset
      Src: /src/knot-dns/src/knot/conf/confio.c:1379,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1379,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1379,1
    - Dst: unset_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1386,1
    - Dst: upd_changes
      Src: /src/knot-dns/src/knot/conf/confio.c:1394,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/confio.c:1397,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 147
    argCount: 4
    argNames:
    - key0
    - key1
    - id
    - data
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1400
    functionName: conf_io_unset
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 5
    functionsReached:
    - yp_schema_check_init
    - assert
    - io_reset_bin
    - unset_section_data
    - yp_schema_check_deinit
    - conf_db_iter_del
    - upd_changes
    - unset_section
    - conf
    - conf_db_iter_next
    - conf_db_iter_id
    - memcpy
    - conf_db_iter_begin
    - conf_db_unset
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_io_unset(\n\tconst char *key0,\n\tconst char *key1,\n\tconst
      char *id,\n\tconst char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1409,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1410,1
    - Dst: conf_exec_callbacks
      Src: /src/knot-dns/src/knot/conf/confio.c:1427,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:1429,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/confio.c:1436,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1436,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1436,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/confio.c:1449,1
    - Dst: conf_exec_callbacks
      Src: /src/knot-dns/src/knot/conf/confio.c:1453,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:1455,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1462,1
    - Dst: conf_exec_callbacks
      Src: /src/knot-dns/src/knot/conf/confio.c:1473,1
    - Dst: io_reset_val
      Src: /src/knot-dns/src/knot/conf/confio.c:1475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - group
    - id
    - id_len
    - io
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1489
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1489
    functionName: check_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - conf
    - conf_val
    - io_reset_val
    - conf_val_next
    - conf_exec_callbacks
    linkageType: ''
    returnType: int
    signature: "int check_section(\n\tconst yp_item_t *group,\n\tconst uint8_t *id,\n\tsize_t
      id_len,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/confio.c:1510,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1510,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1512,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1512,1
    - Dst: check_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1517,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confio.c:1519,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1519,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1523,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - item
    - io
    argTypes:
    - yp_item_t*
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1491
    functionDepth: 4
    functionLinenumber: 1491
    functionLinenumberEnd: 1530
    functionName: check_iter_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - conf
    - conf_db_iter_next
    - conf_db_iter_id
    - check_section
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int check_iter_section(\n\tconst yp_item_t *item,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1536,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1538,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/conf/confio.c:1542,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1542,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/conf/confio.c:1543,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/conf/confio.c:1543,1
    - Dst: conf_io_trie_val
      Src: /src/knot-dns/src/knot/conf/confio.c:1547,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/conf/confio.c:1556,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/conf/confio.c:1560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - item
    - io
    argTypes:
    - yp_item_t*
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1563
    functionName: check_zone_section
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 0
    functionsReached:
    - assert
    - conf
    - trie_it_next
    - trie_it_begin
    - trie_it_free
    - trie_it_finished
    - conf_io_trie_val
    linkageType: ''
    returnType: int
    signature: "int check_zone_section(\n\tconst yp_item_t *item,\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confio.c:1572,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1572,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1574,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1582,1
    - Dst: check_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1590,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1600,1
    - Dst: check_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1601,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1603,1
    - Dst: check_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1604,1
    - Dst: check_zone_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1607,1
    - Dst: check_iter_section
      Src: /src/knot-dns/src/knot/conf/confio.c:1610,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/conf/confio.c:1619,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/conf/confio.c:1619,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - io
    argTypes:
    - conf_io_t*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1565
    functionDepth: 5
    functionLinenumber: 1565
    functionLinenumberEnd: 1622
    functionName: conf_io_check
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.c
    functionUses: 3
    functionsReached:
    - assert
    - check_zone_section
    - conf
    - check_iter_section
    - conf_mod_load_purge
    - check_section
    linkageType: ''
    returnType: int
    signature: "int conf_io_check(\n\tconf_io_t *io)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: conf
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: conf_t
    signature: conf_t * conf(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_init
      Src: /src/knot-dns/src/knot/conf/base.c:47,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:49,1
    - Dst: conf_db_check
      Src: /src/knot-dns/src/knot/conf/base.c:56,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:58,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:64,1
    - Dst: conf_t*::api::txn_commit
      Src: /src/knot-dns/src/knot/conf/base.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - conf
    - flags
    argTypes:
    - conf_t*
    - conf_flag_t
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: init_and_check
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - conf_db_init
    - conf_t*::api::txn_abort
    - conf_t*::api::txn_commit
    - conf_db_check
    linkageType: ''
    returnType: int
    signature: "int init_and_check(\n\tconf_t *conf,\n\tconf_flag_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:79,1
    - Dst: conf_t*::api::txn_begin
      Src: /src/knot-dns/src/knot/conf/base.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: conf_refresh_txn
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 1
    functionsReached:
    - conf_t*::api::txn_begin
    - conf_t*::api::txn_abort
    linkageType: ''
    returnType: int
    signature: "int conf_refresh_txn(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:91,1
    - Dst: sockaddr_hostname
      Src: /src/knot-dns/src/knot/conf/base.c:92,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/conf/base.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: refresh_hostname
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - free
    - sockaddr_hostname
    - strdup
    linkageType: ''
    returnType: void
    signature: "void refresh_hostname(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: infinite_adjust
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int infinite_adjust(\n\tint timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:134,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:135,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:136,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:137,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:139,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:140,1
    - Dst: conf_get_bool
      Src: /src/knot-dns/src/knot/conf/base.c:142,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:143,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:144,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:145,1
    - Dst: conf_udp_threads
      Src: /src/knot-dns/src/knot/conf/base.c:146,1
    - Dst: conf_tcp_threads
      Src: /src/knot-dns/src/knot/conf/base.c:147,1
    - Dst: conf_xdp_threads
      Src: /src/knot-dns/src/knot/conf/base.c:148,1
    - Dst: conf_bg_threads
      Src: /src/knot-dns/src/knot/conf/base.c:149,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:150,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:151,1
    - Dst: conf_get_int
      Src: /src/knot-dns/src/knot/conf/base.c:152,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:157,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:159,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:161,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:163,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:165,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:167,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:169,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:170,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:172,1
    - Dst: infinite_adjust
      Src: /src/knot-dns/src/knot/conf/base.c:173,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:173,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:175,1
    - Dst: infinite_adjust
      Src: /src/knot-dns/src/knot/conf/base.c:176,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:176,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:178,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/base.c:179,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:191,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/conf/base.c:193,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/base.c:194,1
    - Dst: conf_tcp_max_clients
      Src: /src/knot-dns/src/knot/conf/base.c:205,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:207,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:208,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:210,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:211,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:213,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:214,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:216,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:217,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:219,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:220,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:222,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:223,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:239,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/base.c:240,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:243,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/base.c:250,1
    - Dst: conf_bin
      Src: /src/knot-dns/src/knot/conf/base.c:253,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:256,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/base.c:257,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:259,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/base.c:260,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:262,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/base.c:263,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:265,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/conf/base.c:266,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:268,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/base.c:270,1
    - Dst: conf_get
      Src: /src/knot-dns/src/knot/conf/base.c:275,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/base.c:278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 111
    argCount: 2
    argNames:
    - conf
    - reinit_cache
    argTypes:
    - conf_t*
    - bool
    constantsTouched: []
    func_position:
      end: 283
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 283
    functionName: init_cache
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - conf_get_int
    - conf_xdp_threads
    - infinite_adjust
    - strlen
    - conf_str
    - conf_udp_threads
    - conf_tcp_threads
    - conf_bg_threads
    - conf_bool
    - conf_bin
    - conf_val_next
    - conf_opt
    - conf_int
    - conf_val_count
    - conf_get_bool
    - conf_tcp_max_clients
    - conf_get
    linkageType: ''
    returnType: void
    signature: "void init_cache(\n\tconf_t *conf,\n\tbool reinit_cache)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/base.c:296,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/conf/base.c:300,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/base.c:309,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/conf/base.c:314,1
    - Dst: knot_db_lmdb_api
      Src: /src/knot-dns/src/knot/conf/base.c:318,1
    - Dst: mkdtemp
      Src: /src/knot-dns/src/knot/conf/base.c:328,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/base.c:330,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:331,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/conf/base.c:331,1
    - Dst: conf_t*::api::init
      Src: /src/knot-dns/src/knot/conf/base.c:336,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/base.c:341,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:342,1
    - Dst: conf_t*::api::init
      Src: /src/knot-dns/src/knot/conf/base.c:353,1
    - Dst: init_and_check
      Src: /src/knot-dns/src/knot/conf/base.c:360,1
    - Dst: conf_refresh_txn
      Src: /src/knot-dns/src/knot/conf/base.c:366,1
    - Dst: refresh_hostname
      Src: /src/knot-dns/src/knot/conf/base.c:373,1
    - Dst: init_cache
      Src: /src/knot-dns/src/knot/conf/base.c:377,1
    - Dst: conf_mod_load_common
      Src: /src/knot-dns/src/knot/conf/base.c:381,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/conf/base.c:386,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/conf/base.c:387,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/conf/base.c:388,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/conf/base.c:389,1
    - Dst: conf_mod_load_extra
      Src: /src/knot-dns/src/knot/conf/base.c:390,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/base.c:390,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/conf/base.c:390,1
    - Dst: conf_iter_finish
      Src: /src/knot-dns/src/knot/conf/base.c:393,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/conf/base.c:398,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/conf/base.c:405,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 5
    argNames:
    - conf
    - schema
    - db_dir
    - max_conf_size
    - flags
    argTypes:
    - conf_t**
    - yp_item_t*
    - char*
    - size_t
    - conf_flag_t
    constantsTouched: []
    func_position:
      end: 408
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 408
    functionName: conf_new
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - refresh_hostname
    - conf_t*::api::init
    - conf_mod_load_extra
    - conf_iter
    - init_list
    - conf_id_get
    - knot_strerror
    - init_and_check
    - memset
    - conf_str
    - init_cache
    - mkdtemp
    - conf_iter_next
    - conf_refresh_txn
    - conf_iter_finish
    - conf_mod_load_purge
    - malloc
    - conf_mod_load_common
    - CONF_LOG
    - knot_db_lmdb_api
    - conf_iter_id
    - conf_free
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: "int conf_new(\n\tconf_t **conf,\n\tconst yp_item_t *schema,\n\tconst
      char *db_dir,\n\tsize_t max_conf_size,\n\tconf_flag_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/base.c:417,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/conf/base.c:421,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:426,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/base.c:435,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/src/knot/conf/base.c:437,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:438,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/conf/base.c:441,1
    - Dst: conf_refresh_txn
      Src: /src/knot-dns/src/knot/conf/base.c:444,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:446,1
    - Dst: yp_schema_free
      Src: /src/knot-dns/src/knot/conf/base.c:447,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:448,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/conf/base.c:454,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/conf/base.c:459,1
    - Dst: init_cache
      Src: /src/knot-dns/src/knot/conf/base.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t**
    constantsTouched: []
    func_position:
      end: 472
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 472
    functionName: conf_clone
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - strdup
    - init_cache
    - free
    - yp_schema_free
    - conf_refresh_txn
    - memset
    - malloc
    - init_list
    linkageType: ''
    returnType: int
    signature: "int conf_clone(\n\tconf_t **conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:487,1
    - Dst: mod_dynarray_add
      Src: /src/knot-dns/src/knot/conf/base.c:491,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/conf/base.c:497,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/conf/base.c:499,1
    - Dst: conf_free
      Src: /src/knot-dns/src/knot/conf/base.c:514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - conf
    - flags
    argTypes:
    - conf_t*
    - conf_update_flag_t
    constantsTouched: []
    func_position:
      end: 520
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 520
    functionName: conf_update
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 4
    functionsReached:
    - mod_dynarray_add
    - rcu_xchg_pointer
    - free
    - synchronize_rcu
    - conf_free
    linkageType: ''
    returnType: conf_t
    signature: "conf_t *conf_update(\n\tconf_t *conf,\n\tconf_update_flag_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_free
      Src: /src/knot-dns/src/knot/conf/base.c:529,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:530,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:531,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:533,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:537,1
    - Dst: trie_free
      Src: /src/knot-dns/src/knot/conf/base.c:540,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/conf/base.c:543,1
    - Dst: conf_deactivate_modules
      Src: /src/knot-dns/src/knot/conf/base.c:544,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:545,1
    - Dst: conf_mod_unload_shared
      Src: /src/knot-dns/src/knot/conf/base.c:546,1
    - Dst: conf_t*::api::deinit
      Src: /src/knot-dns/src/knot/conf/base.c:550,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 555
    functionName: conf_free
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 25
    functionsReached:
    - free
    - trie_free
    - yp_schema_free
    - conf_mod_unload_shared
    - conf_t*::api::txn_abort
    - conf_t*::api::deinit
    - conf_mod_load_purge
    - conf_deactivate_modules
    linkageType: ''
    returnType: void
    signature: "void conf_free(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONF_LOG_LINE
      Src: /src/knot-dns/src/knot/conf/base.c:568,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:569,1
    - Dst: CONF_LOG_LINE
      Src: /src/knot-dns/src/knot/conf/base.c:571,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - ret
    argTypes:
    - yp_parser_t*
    - int
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: log_parser_err
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - CONF_LOG_LINE
    linkageType: ''
    returnType: void
    signature: "void log_parser_err(\n\typ_parser_t *parser,\n\tint ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/base.c:587,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/base.c:587,1
    - Dst: CONF_LOG_LINE
      Src: /src/knot-dns/src/knot/conf/base.c:588,1
    - Dst: log_parser_err
      Src: /src/knot-dns/src/knot/conf/base.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - ret
    argTypes:
    - yp_parser_t*
    - int
    constantsTouched: []
    func_position:
      end: 593
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 593
    functionName: log_parser_schema_err
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - log_parser_err
    - CONF_LOG_LINE
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void log_parser_schema_err(\n\typ_parser_t *parser,\n\tint ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONF_LOG_LINE
      Src: /src/knot-dns/src/knot/conf/base.c:600,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parser
    - args
    - ret
    argTypes:
    - yp_parser_t*
    - knotd_conf_check_args_t*
    - int
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: log_call_err
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - CONF_LOG_LINE
    linkageType: ''
    returnType: void
    signature: "void log_call_err(\n\typ_parser_t *parser,\n\tknotd_conf_check_args_t
      *args,\n\tint ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/src/knot/conf/base.c:617,1
    - Dst: CONF_LOG_LINE
      Src: /src/knot-dns/src/knot/conf/base.c:623,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - args
    - ret
    argTypes:
    - knotd_conf_check_args_t*
    - int
    constantsTouched: []
    func_position:
      end: 629
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 629
    functionName: log_prev_err
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - CONF_LOG_LINE
    - yp_item_to_txt
    linkageType: ''
    returnType: void
    signature: "void log_prev_err(\n\tknotd_conf_check_args_t *args,\n\tint ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_prev_err
      Src: /src/knot-dns/src/knot/conf/base.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - conf
    - txn
    - parser
    - ctx
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_parser_t*
    - yp_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: finalize_previous_section
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - log_prev_err
    linkageType: ''
    returnType: int
    signature: "int finalize_previous_section(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\typ_parser_t
      *parser,\n\typ_check_ctx_t *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_call_err
      Src: /src/knot-dns/src/knot/conf/base.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - conf
    - txn
    - parser
    - ctx
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_parser_t*
    - yp_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 702
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 702
    functionName: finalize_item
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - log_call_err
    linkageType: ''
    returnType: int
    signature: "int finalize_item(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\typ_parser_t
      *parser,\n\typ_check_ctx_t *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/conf/base.c:714,1
    - Dst: yp_init
      Src: /src/knot-dns/src/knot/conf/base.c:718,1
    - Dst: yp_set_input_file
      Src: /src/knot-dns/src/knot/conf/base.c:724,1
    - Dst: yp_set_input_string
      Src: /src/knot-dns/src/knot/conf/base.c:726,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/conf/base.c:726,1
    - Dst: CONF_LOG
      Src: /src/knot-dns/src/knot/conf/base.c:729,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/conf/base.c:730,1
    - Dst: yp_schema_check_init
      Src: /src/knot-dns/src/knot/conf/base.c:735,1
    - Dst: yp_parse
      Src: /src/knot-dns/src/knot/conf/base.c:744,1
    - Dst: finalize_previous_section
      Src: /src/knot-dns/src/knot/conf/base.c:746,1
    - Dst: yp_schema_check_parser
      Src: /src/knot-dns/src/knot/conf/base.c:752,1
    - Dst: log_parser_schema_err
      Src: /src/knot-dns/src/knot/conf/base.c:754,1
    - Dst: conf_db_set
      Src: /src/knot-dns/src/knot/conf/base.c:762,1
    - Dst: conf_db_set
      Src: /src/knot-dns/src/knot/conf/base.c:766,1
    - Dst: log_parser_err
      Src: /src/knot-dns/src/knot/conf/base.c:772,1
    - Dst: finalize_item
      Src: /src/knot-dns/src/knot/conf/base.c:776,1
    - Dst: finalize_previous_section
      Src: /src/knot-dns/src/knot/conf/base.c:783,1
    - Dst: log_parser_err
      Src: /src/knot-dns/src/knot/conf/base.c:785,1
    - Dst: yp_schema_check_deinit
      Src: /src/knot-dns/src/knot/conf/base.c:790,1
    - Dst: yp_deinit
      Src: /src/knot-dns/src/knot/conf/base.c:792,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:793,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 4
    argNames:
    - conf
    - txn
    - input
    - is_file
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 796
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 796
    functionName: conf_parse
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 1
    functionsReached:
    - yp_schema_check_init
    - finalize_previous_section
    - yp_schema_check_deinit
    - strlen
    - CONF_LOG
    - yp_init
    - knot_strerror
    - log_parser_err
    - free
    - yp_parse
    - yp_set_input_file
    - yp_set_input_string
    - conf_db_set
    - log_parser_schema_err
    - malloc
    - finalize_item
    - yp_deinit
    - yp_schema_check_parser
    linkageType: ''
    returnType: int
    signature: "int conf_parse(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst char
      *input,\n\tbool is_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::txn_begin
      Src: /src/knot-dns/src/knot/conf/base.c:810,1
    - Dst: conf_db_init
      Src: /src/knot-dns/src/knot/conf/base.c:816,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:818,1
    - Dst: conf_parse
      Src: /src/knot-dns/src/knot/conf/base.c:823,1
    - Dst: conf_t*::api::txn_abort
      Src: /src/knot-dns/src/knot/conf/base.c:825,1
    - Dst: conf_mod_load_purge
      Src: /src/knot-dns/src/knot/conf/base.c:829,1
    - Dst: conf_t*::api::txn_commit
      Src: /src/knot-dns/src/knot/conf/base.c:832,1
    - Dst: conf_refresh_txn
      Src: /src/knot-dns/src/knot/conf/base.c:838,1
    - Dst: init_cache
      Src: /src/knot-dns/src/knot/conf/base.c:844,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:847,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/conf/base.c:850,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - conf
    - input
    - flags
    argTypes:
    - conf_t*
    - char*
    - import_flag_t
    constantsTouched: []
    func_position:
      end: 857
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 857
    functionName: conf_import
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 2
    functionsReached:
    - strdup
    - free
    - conf_t*::api::txn_begin
    - conf_refresh_txn
    - conf_db_init
    - conf_t*::api::txn_abort
    - conf_mod_load_purge
    - init_cache
    - conf_t*::api::txn_commit
    - conf_parse
    linkageType: ''
    returnType: int
    signature: "int conf_import(\n\tconf_t *conf,\n\tconst char *input,\n\timport_flag_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/base.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - fp
    - group
    - out
    - out_len
    - style
    argTypes:
    - FILE*
    - yp_item_t*
    - char*
    - size_t
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 874
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 874
    functionName: export_group_name
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int export_group_name(\n\tFILE *fp,\n\tconst yp_item_t *group,\n\tchar
      *out,\n\tsize_t out_len,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/base.c:905,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/knot/conf/base.c:910,1
    - Dst: conf_val
      Src: /src/knot-dns/src/knot/conf/base.c:930,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/base.c:937,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/conf/base.c:940,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/base.c:946,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 9
    argNames:
    - conf
    - fp
    - group
    - id
    - id_len
    - out
    - out_len
    - style
    - exported
    argTypes:
    - conf_t*
    - FILE*
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - yp_style_t
    - bool*
    constantsTouched: []
    func_position:
      end: 950
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 950
    functionName: export_group
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - conf_val_next
    - fprintf
    - conf_val
    linkageType: ''
    returnType: int
    signature: "int export_group(\n\tconf_t *conf,\n\tFILE *fp,\n\tconst yp_item_t
      *group,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tchar *out,\n\tsize_t out_len,\n\typ_style_t
      style,\n\tbool *exported)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_group
      Src: /src/knot-dns/src/knot/conf/base.c:969,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/knot/conf/base.c:988,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/base.c:990,1
    - Dst: export_group
      Src: /src/knot-dns/src/knot/conf/base.c:995,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/base.c:998,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/knot/conf/base.c:1002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - conf
    - fp
    - item
    - buff
    - buff_len
    - style
    argTypes:
    - conf_t*
    - FILE*
    - yp_item_t*
    - char*
    - size_t
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 1009
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 1009
    functionName: export_item
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - conf_db_iter_finish
    - conf_db_iter_next
    - conf_db_iter_id
    - export_group
    linkageType: ''
    returnType: int
    signature: "int export_item(\n\tconf_t *conf,\n\tFILE *fp,\n\tconst yp_item_t
      *item,\n\tchar *buff,\n\tsize_t buff_len,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/knot/conf/base.c:1027,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:1029,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/conf/base.c:1030,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/base.c:1033,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/base.c:1043,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/conf/base.c:1048,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/conf/base.c:1051,1
    - Dst: export_item
      Src: /src/knot-dns/src/knot/conf/base.c:1056,1
    - Dst: export_item
      Src: /src/knot-dns/src/knot/conf/base.c:1064,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/conf/base.c:1073,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/base.c:1075,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - conf
    - file_name
    - style
    argTypes:
    - conf_t*
    - char*
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 1078
      start: 1011
    functionDepth: 5
    functionLinenumber: 1011
    functionLinenumberEnd: 1078
    functionName: conf_export
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - export_item
    - free
    - strcmp
    - strncmp
    - knot_map_errno
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int conf_export(\n\tconf_t *conf,\n\tconst char *file_name,\n\typ_style_t
      style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1109,1
    - Dst: switch
      Src: /src/knot-dns/src/knot/conf/base.c:1110,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1112,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1115,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1118,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1124,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1125,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1129,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1130,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1131,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1134,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1136,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1140,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1141,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1145,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1146,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1150,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1151,1
    - Dst: export_group_items
      Src: /src/knot-dns/src/knot/conf/base.c:1155,1
    - Dst: SINGLE_OR_ARRAY
      Src: /src/knot-dns/src/knot/conf/base.c:1162,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1163,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/base.c:1167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - w
    - item
    argTypes:
    - jsonw_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1170
    functionName: export_type
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - assert
    - jsonw_list
    - jsonw_str
    - SINGLE_OR_ARRAY
    - switch
    - jsonw_end
    - export_group_items
    linkageType: ''
    returnType: void
    signature: void export_type(jsonw_t *w, const yp_item_t *item)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/base.c:1174,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1177,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1178,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1179,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1180,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1181,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1184,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1185,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1186,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1187,1
    - Dst: jsonw_bool
      Src: /src/knot-dns/src/knot/conf/base.c:1188,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1189,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1191,1
    - Dst: export_type
      Src: /src/knot-dns/src/knot/conf/base.c:1192,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1193,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1195,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - w
    - item
    - array
    argTypes:
    - jsonw_t*
    - yp_item_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1202
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1202
    functionName: export_group_items
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 1
    functionsReached:
    - assert
    - jsonw_object
    - jsonw_list
    - jsonw_str
    - jsonw_bool
    - export_type
    - jsonw_end
    linkageType: ''
    returnType: int
    signature: int export_group_items(jsonw_t *w, const yp_item_t *item, bool array)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/knot/conf/base.c:1212,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/conf/base.c:1214,1
    - Dst: jsonw_new
      Src: /src/knot-dns/src/knot/conf/base.c:1217,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1218,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1221,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1222,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1223,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1224,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1227,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1229,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1230,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1231,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1232,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1233,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1234,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1235,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1236,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1237,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1238,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1239,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1240,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1241,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1242,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1243,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1244,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1246,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1247,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1248,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1249,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1251,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1252,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1253,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1254,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1256,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1257,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1258,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1259,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1260,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1261,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1262,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1263,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1264,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1265,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1266,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1268,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1269,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1270,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1271,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1272,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1273,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1274,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1275,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1276,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1277,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1278,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1280,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/knot/conf/base.c:1281,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1282,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1283,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1284,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/knot/conf/base.c:1285,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1286,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/knot/conf/base.c:1287,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1288,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1289,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1290,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1292,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/knot/conf/base.c:1297,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/knot/conf/base.c:1298,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/conf/base.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 77
    argCount: 2
    argNames:
    - conf
    - file_name
    argTypes:
    - conf_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1305
    functionName: conf_export_schema
    functionSourceFile: /src/knot-dns/src/knot/conf/base.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - jsonw_object
    - jsonw_list
    - jsonw_str
    - jsonw_new
    - jsonw_free
    - knot_map_errno
    - jsonw_end
    linkageType: ''
    returnType: int
    signature: "int conf_export_schema(\n\tconf_t *conf,\n\tconst char *file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: db_check_version
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int db_check_version(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::insert
      Src: /src/knot-dns/src/knot/conf/confdb.c:116,1
    - Dst: conf_t*::api::clear
      Src: /src/knot-dns/src/knot/conf/confdb.c:120,1
    - Dst: conf_db_init
      Src: /src/knot-dns/src/knot/conf/confdb.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - conf
    - txn
    - purge
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: conf_db_init
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 3
    functionsReached:
    - conf_t*::api::clear
    - conf_t*::api::insert
    - conf_db_init
    linkageType: ''
    returnType: int
    signature: "int conf_db_init(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tbool
      purge)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db_check_version
      Src: /src/knot-dns/src/knot/conf/confdb.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conf
    - txn
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: conf_db_check
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 1
    functionsReached:
    - db_check_version
    linkageType: ''
    returnType: int
    signature: "int conf_db_check(\n\tconf_t *conf,\n\tknot_db_txn_t *txn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:171,1
    - Dst: conf_t*::api::del
      Src: /src/knot-dns/src/knot/conf/confdb.c:181,1
    - Dst: conf_t*::api::iter_begin
      Src: /src/knot-dns/src/knot/conf/confdb.c:202,1
    - Dst: conf_t*::api::iter_seek
      Src: /src/knot-dns/src/knot/conf/confdb.c:203,1
    - Dst: conf_t*::api::iter_key
      Src: /src/knot-dns/src/knot/conf/confdb.c:206,1
    - Dst: conf_t*::api::iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:208,1
    - Dst: conf_t*::api::iter_val
      Src: /src/knot-dns/src/knot/conf/confdb.c:220,1
    - Dst: conf_t*::api::iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:222,1
    - Dst: conf_t*::api::iter_next
      Src: /src/knot-dns/src/knot/conf/confdb.c:228,1
    - Dst: conf_t*::api::iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:230,1
    - Dst: conf_t*::api::insert
      Src: /src/knot-dns/src/knot/conf/confdb.c:249,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 6
    argNames:
    - conf
    - txn
    - section_code
    - name
    - action
    - code
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - uint8_t
    - yp_name_t*
    - db_action_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 259
    functionName: db_code
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 5
    functionsReached:
    - conf_t*::api::del
    - conf_t*::api::iter_seek
    - conf_t*::api::iter_val
    - conf_t*::api::iter_next
    - conf_t*::api::iter_key
    - conf_t*::api::iter_finish
    - memcpy
    - conf_t*::api::insert
    - conf_t*::api::iter_begin
    linkageType: ''
    returnType: int
    signature: "int db_code(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tuint8_t section_code,\n\tconst
      yp_name_t *name,\n\tdb_action_t action,\n\tuint8_t *code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/conf/confdb.c:265,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/conf/confdb.c:268,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:270,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/conf/confdb.c:274,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/confdb.c:275,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:276,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/conf/confdb.c:279,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:282,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/conf/confdb.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - value
    - current
    argTypes:
    - knot_db_val_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: find_data
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - wire_ctx_init_const
    - memcmp
    - wire_ctx_skip
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *find_data(\n\tconst knot_db_val_t *value,\n\tconst knot_db_val_t
      *current)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::insert
      Src: /src/knot-dns/src/knot/conf/confdb.c:300,1
    - Dst: find_data
      Src: /src/knot-dns/src/knot/conf/confdb.c:314,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/conf/confdb.c:332,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/confdb.c:335,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/conf/confdb.c:337,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/conf/confdb.c:339,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:341,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/conf/confdb.c:341,1
    - Dst: conf_t*::api::insert
      Src: /src/knot-dns/src/knot/conf/confdb.c:347,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/confdb.c:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - conf
    - txn
    - key
    - data
    - multi
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - bool
    constantsTouched: []
    func_position:
      end: 352
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 352
    functionName: db_set
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 3
    functionsReached:
    - assert
    - find_data
    - wire_ctx_init
    - wire_ctx_available
    - wire_ctx_write
    - free
    - wire_ctx_write_u16
    - conf_t*::api::insert
    linkageType: ''
    returnType: int
    signature: "int db_set(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tknot_db_val_t
      *key,\n\tknot_db_val_t *data,\n\tbool multi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/knot/conf/confdb.c:370,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:402,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/src/knot/conf/confdb.c:410,1
    - Dst: db_set
      Src: /src/knot-dns/src/knot/conf/confdb.c:414,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/src/knot/conf/confdb.c:420,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:430,1
    - Dst: db_set
      Src: /src/knot-dns/src/knot/conf/confdb.c:436,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 8
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - data
    - data_len
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 443
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 443
    functionName: conf_db_set
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 3
    functionsReached:
    - conf_t*::api::find
    - yp_schema_find
    - memcpy
    - db_code
    - db_set
    linkageType: ''
    returnType: int
    signature: "int conf_db_set(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tconst
      uint8_t *data,\n\tsize_t data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::del
      Src: /src/knot-dns/src/knot/conf/confdb.c:454,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/conf/confdb.c:467,1
    - Dst: conf_t*::api::del
      Src: /src/knot-dns/src/knot/conf/confdb.c:470,1
    - Dst: conf_t*::api::del
      Src: /src/knot-dns/src/knot/conf/confdb.c:482,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:493,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:496,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:503,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:506,1
    - Dst: conf_t*::api::insert
      Src: /src/knot-dns/src/knot/conf/confdb.c:514,1
    - Dst: free
      Src: /src/knot-dns/src/knot/conf/confdb.c:516,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - conf
    - txn
    - key
    - data
    - multi
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - bool
    constantsTouched: []
    func_position:
      end: 519
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 519
    functionName: db_unset
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 6
    functionsReached:
    - conf_t*::api::del
    - assert
    - free
    - memcmp
    - memcpy
    - conf_t*::api::insert
    linkageType: ''
    returnType: int
    signature: "int db_unset(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tknot_db_val_t
      *key,\n\tknot_db_val_t *data,\n\tbool multi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/knot/conf/confdb.c:538,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:547,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:570,1
    - Dst: conf_t*::api::del
      Src: /src/knot-dns/src/knot/conf/confdb.c:578,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/src/knot/conf/confdb.c:581,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:590,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:597,1
    - Dst: db_unset
      Src: /src/knot-dns/src/knot/conf/confdb.c:604,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 9
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - data
    - data_len
    - delete_key1
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 612
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 612
    functionName: conf_db_unset
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 6
    functionsReached:
    - conf_t*::api::del
    - conf_t*::api::find
    - db_unset
    - yp_schema_find
    - memcpy
    - db_code
    linkageType: ''
    returnType: int
    signature: "int conf_db_unset(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tconst
      uint8_t *data,\n\tsize_t data_len,\n\tbool delete_key1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/knot/conf/confdb.c:632,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:657,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/conf/confdb.c:671,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/src/knot/conf/confdb.c:677,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:686,1
    - Dst: conf_t*::api::find
      Src: /src/knot-dns/src/knot/conf/confdb.c:693,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 7
    argNames:
    - conf
    - txn
    - key0
    - key1
    - id
    - id_len
    - data
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 705
    functionName: conf_db_get
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 14
    functionsReached:
    - memcpy
    - conf_t*::api::find
    - db_code
    - yp_schema_find
    linkageType: ''
    returnType: int
    signature: "int conf_db_get(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconst yp_name_t *key1,\n\tconst uint8_t *id,\n\tsize_t id_len,\n\tconf_val_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 726
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 726
    functionName: check_iter
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int check_iter(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/knot/conf/confdb.c:742,1
    - Dst: db_code
      Src: /src/knot-dns/src/knot/conf/confdb.c:754,1
    - Dst: conf_t*::api::iter_begin
      Src: /src/knot-dns/src/knot/conf/confdb.c:764,1
    - Dst: conf_t*::api::iter_seek
      Src: /src/knot-dns/src/knot/conf/confdb.c:765,1
    - Dst: check_iter
      Src: /src/knot-dns/src/knot/conf/confdb.c:768,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:771,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - conf
    - txn
    - key0
    - iter
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - yp_name_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 782
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 782
    functionName: conf_db_iter_begin
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 7
    functionsReached:
    - yp_schema_find
    - conf_t*::api::iter_seek
    - check_iter
    - conf_t*::api::iter_begin
    - db_code
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_db_iter_begin(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      yp_name_t *key0,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/conf/confdb.c:795,1
    - Dst: conf_t*::api::iter_next
      Src: /src/knot-dns/src/knot/conf/confdb.c:798,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:800,1
    - Dst: check_iter
      Src: /src/knot-dns/src/knot/conf/confdb.c:806,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 813
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 813
    functionName: conf_db_iter_next
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 10
    functionsReached:
    - conf_t*::api::iter_next
    - assert
    - check_iter
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: "int conf_db_iter_next(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - conf
    - iter
    - data
    - data_len
    argTypes:
    - conf_t*
    - conf_iter_t*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 836
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 836
    functionName: conf_db_iter_id
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conf_db_iter_id(\n\tconf_t *conf,\n\tconf_iter_t *iter,\n\tconst
      uint8_t **data,\n\tsize_t *data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_db_lmdb_iter_del
      Src: /src/knot-dns/src/knot/conf/confdb.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 847
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 847
    functionName: conf_db_iter_del
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 3
    functionsReached:
    - knot_db_lmdb_iter_del
    linkageType: ''
    returnType: int
    signature: "int conf_db_iter_del(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_t*::api::iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - iter
    argTypes:
    - conf_t*
    - conf_iter_t*
    constantsTouched: []
    func_position:
      end: 861
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 861
    functionName: conf_db_iter_finish
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 11
    functionsReached:
    - conf_t*::api::iter_finish
    linkageType: ''
    returnType: void
    signature: "void conf_db_iter_finish(\n\tconf_t *conf,\n\tconf_iter_t *iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/knot/conf/confdb.c:879,1
    - Dst: conf_t*::api::iter_begin
      Src: /src/knot-dns/src/knot/conf/confdb.c:887,1
    - Dst: conf_t*::api::iter_key
      Src: /src/knot-dns/src/knot/conf/confdb.c:890,1
    - Dst: conf_t*::api::iter_val
      Src: /src/knot-dns/src/knot/conf/confdb.c:896,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:904,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:906,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:908,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:910,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:912,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:914,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:916,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:918,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:920,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:922,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:924,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/conf/confdb.c:926,1
    - Dst: conf_t*::api::iter_next
      Src: /src/knot-dns/src/knot/conf/confdb.c:929,1
    - Dst: conf_t*::api::iter_finish
      Src: /src/knot-dns/src/knot/conf/confdb.c:931,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/conf/confdb.c:934,1
    - Dst: fflush
      Src: /src/knot-dns/src/knot/conf/confdb.c:936,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - conf
    - txn
    - file_name
    argTypes:
    - conf_t*
    - knot_db_txn_t*
    - char*
    constantsTouched: []
    func_position:
      end: 940
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 940
    functionName: conf_db_raw_dump
    functionSourceFile: /src/knot-dns/src/knot/conf/confdb.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - conf_t*::api::iter_val
    - conf_t*::api::iter_next
    - fflush
    - conf_t*::api::iter_key
    - conf_t*::api::iter_finish
    - conf_t*::api::iter_begin
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int conf_db_raw_dump(\n\tconf_t *conf,\n\tknot_db_txn_t *txn,\n\tconst
      char *file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - key0_name
    - key1_name
    argTypes:
    - conf_t*
    - yp_name_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: conf_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 9
    functionsReached:
    - conf_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_get(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name,\n\tconst
      yp_name_t *key1_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - conf
    - key0_name
    - key1_name
    - id
    - id_len
    argTypes:
    - conf_t*
    - yp_name_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: conf_rawid_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 3
    functionsReached:
    - conf_rawid_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_rawid_get(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name,\n\tconst
      yp_name_t *key1_name,\n\tconst uint8_t *id,\n\tsize_t id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - key0_name
    - key1_name
    - id
    argTypes:
    - conf_t*
    - yp_name_t*
    - yp_name_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: conf_id_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 16
    functionsReached:
    - conf_id_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_id_get(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name,\n\tconst
      yp_name_t *key1_name,\n\tconf_val_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_mod_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - key1_name
    - mod_id
    argTypes:
    - conf_t*
    - yp_name_t*
    - conf_mod_id_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: conf_mod_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_mod_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_mod_get(\n\tconf_t *conf,\n\tconst yp_name_t *key1_name,\n\tconst
      conf_mod_id_t *mod_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - key1_name
    - dname
    argTypes:
    - conf_t*
    - yp_name_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: conf_zone_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 41
    functionsReached:
    - conf_zone_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_zone_get(\n\tconf_t *conf,\n\tconst yp_name_t *key1_name,\n\tconst
      knot_dname_t *dname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_default_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - key1_name
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: conf_default_get
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_default_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_default_get(\n\tconf_t *conf,\n\tconst yp_name_t *key1_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_exists_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - key0_name
    - id
    - id_len
    argTypes:
    - conf_t*
    - yp_name_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: conf_rawid_exists
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_rawid_exists_txn
    linkageType: ''
    returnType: bool
    signature: "bool conf_rawid_exists(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name,\n\tconst
      uint8_t *id,\n\tsize_t id_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_exists_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - key0_name
    - id
    argTypes:
    - conf_t*
    - yp_name_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: conf_id_exists
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 0
    functionsReached:
    - conf_id_exists_txn
    linkageType: ''
    returnType: bool
    signature: "bool conf_id_exists(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name,\n\tconf_val_t
      *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_count_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - key0_name
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: conf_id_count
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_id_count_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_id_count(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_iter_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - key0_name
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: conf_iter
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 4
    functionsReached:
    - conf_iter_txn
    linkageType: ''
    returnType: conf_iter_t
    signature: "conf_iter_t conf_iter(\n\tconf_t *conf,\n\tconst yp_name_t *key0_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_int_alt
      Src: /src/knot-dns/src/knot/conf/conf.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: conf_int
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 16
    functionsReached:
    - conf_int_alt
    linkageType: ''
    returnType: int64_t
    signature: "int64_t conf_int(\n\tconf_val_t *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_addr_alt
      Src: /src/knot-dns/src/knot/conf/conf.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - sock_base_dir
    argTypes:
    - conf_val_t*
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: conf_addr
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 10
    functionsReached:
    - conf_addr_alt
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: "struct sockaddr_storage conf_addr(\n\tconf_val_t *val,\n\tconst char
      *sock_base_dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: conf_id_fix_default
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void conf_id_fix_default(conf_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zonefile_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 6
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: conf_zonefile
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_zonefile_txn
    linkageType: ''
    returnType: char
    signature: "char * conf_zonefile(\n\tconf_t *conf,\n\tconst knot_dname_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - db_type
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: conf_db
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 0
    functionsReached:
    - conf_db_txn
    linkageType: ''
    returnType: char
    signature: "char * conf_db(\n\tconf_t *conf,\n\tconst yp_name_t *db_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_tls_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - tls_item
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: conf_tls
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 0
    functionsReached:
    - conf_tls_txn
    linkageType: ''
    returnType: char
    signature: "char * conf_tls(\n\tconf_t *conf,\n\tconst yp_name_t *tls_item)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - param
    argTypes:
    - conf_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: conf_db_param
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 5
    functionsReached:
    - conf_get_txn
    linkageType: ''
    returnType: conf_val_t
    signature: "conf_val_t conf_db_param(\n\tconf_t *conf,\n\tconst yp_name_t *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:763,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/conf/conf.h:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - param
    argTypes:
    - conf_t*
    - yp_name_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: conf_get_bool
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_bool
    - conf_get_txn
    linkageType: ''
    returnType: bool
    signature: "bool conf_get_bool(\n\tconf_t *conf,\n\tconst yp_name_t *section,\n\tconst
      yp_name_t *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:781,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/conf/conf.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - param
    argTypes:
    - conf_t*
    - yp_name_t*
    - yp_name_t*
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 4
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: conf_get_int
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_get_txn
    - conf_int
    linkageType: ''
    returnType: int64_t
    signature: "int64_t conf_get_int(\n\tconf_t *conf,\n\tconst yp_name_t *section,\n\tconst
      yp_name_t *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_udp_threads_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 801
    functionName: conf_udp_threads
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_udp_threads_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_udp_threads(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_tcp_threads_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: conf_tcp_threads
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_tcp_threads_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_tcp_threads(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_xdp_threads_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 4
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: conf_xdp_threads
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_xdp_threads_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_xdp_threads(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_bg_threads_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: conf_bg_threads
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_bg_threads_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_bg_threads(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_udp_threads
      Src: /src/knot-dns/src/knot/conf/conf.h:875,1
    - Dst: conf_tcp_threads
      Src: /src/knot-dns/src/knot/conf/conf.h:875,1
    - Dst: conf_bg_threads
      Src: /src/knot-dns/src/knot/conf/conf.h:876,1
    - Dst: conf_xdp_threads
      Src: /src/knot-dns/src/knot/conf/conf.h:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 877
      start: 869
    functionDepth: 5
    functionLinenumber: 869
    functionLinenumberEnd: 877
    functionName: conf_lmdb_readers
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 2
    functionsReached:
    - conf_bg_threads
    - conf_xdp_threads
    - conf_udp_threads
    - conf_tcp_threads
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_lmdb_readers(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_tcp_max_clients_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - conf_t*
    constantsTouched: []
    func_position:
      end: 895
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 895
    functionName: conf_tcp_max_clients
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_tcp_max_clients_txn
    linkageType: ''
    returnType: size_t
    signature: "size_t conf_tcp_max_clients(\n\tconf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_user_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - uid
    - gid
    argTypes:
    - conf_t*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 919
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 919
    functionName: conf_user
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 1
    functionsReached:
    - conf_user_txn
    linkageType: ''
    returnType: int
    signature: "int conf_user(\n\tconf_t *conf,\n\tint *uid,\n\tint *gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_remote_txn
      Src: /src/knot-dns/src/knot/conf/conf.h:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - id
    - index
    argTypes:
    - conf_t*
    - conf_val_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: conf_remote
    functionSourceFile: /src/knot-dns/src/knot/conf/conf.h
    functionUses: 6
    functionsReached:
    - conf_remote_txn
    linkageType: ''
    returnType: conf_remote_t
    signature: "conf_remote_t conf_remote(\n\tconf_t *conf,\n\tconf_val_t *id,\n\tsize_t
      index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/conf/confio.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: conf_io_trie_val
    functionSourceFile: /src/knot-dns/src/knot/conf/confio.h
    functionUses: 1
    functionsReached:
    - trie_it_val
    linkageType: ''
    returnType: conf_io_type_t
    signature: conf_io_type_t conf_io_trie_val(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - flags
    argTypes:
    - kdnssec_generate_flags_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: normalize_generate_flags
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalize_generate_flags(kdnssec_generate_flags_t *flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:56,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:61,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:66,1
    - Dst: dnskey_flags
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:66,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:67,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:69,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:77,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:78,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 8
    argNames:
    - keystore
    - zone_name
    - key_label
    - alg
    - size
    - flags
    - id
    - key
    argTypes:
    - dnssec_keystore_t*
    - knot_dname_t*
    - char*
    - dnssec_key_algorithm_t
    - unsigned
    - kdnssec_generate_flags_t
    - char**
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 83
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 83
    functionName: generate_dnssec_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - dnssec_keystore_remove
    - dnssec_key_set_flags
    - dnssec_key_set_algorithm
    - dnssec_key_new
    - dnssec_key_free
    - dnssec_keystore_get_private
    - free
    - dnskey_flags
    - dnssec_key_set_dname
    linkageType: ''
    returnType: int
    signature: "int generate_dnssec_key(dnssec_keystore_t *keystore,\n                               const
      knot_dname_t *zone_name,\n                               const char *key_label,\n
      \                              dnssec_key_algorithm_t alg,\n                               unsigned
      size,\n                               kdnssec_generate_flags_t flags,\n                               char
      **id,\n                               dnssec_key_t **key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - keytag
    argTypes:
    - kdnssec_ctx_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: keytag_in_use
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool keytag_in_use(kdnssec_ctx_t *ctx, uint16_t keytag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:110,1
    - Dst: strlcat
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:112,1
    - Dst: keytag_in_use
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:124,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:129,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:130,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:131,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:134,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - flags
    - id
    - key
    argTypes:
    - kdnssec_ctx_t*
    - kdnssec_generate_flags_t
    - char**
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: generate_keytag_unconflict
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - strlcat
    - dnssec_keystore_remove
    - free
    - knot_dname_to_str
    - dnssec_key_get_keytag
    - keytag_in_use
    - log_zone_notice
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int generate_keytag_unconflict(kdnssec_ctx_t *ctx,\n                                      kdnssec_generate_flags_t
      flags,\n                                      char **id,\n                                      dnssec_key_t
      **key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:142,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:143,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:144,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:145,1
    - Dst: normalize_generate_flags
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:147,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:159,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:161,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:162,1
    - Dst: kasp_zone_append
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:172,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:173,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:175,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:176,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - flags
    - key_ptr
    argTypes:
    - kdnssec_ctx_t*
    - kdnssec_generate_flags_t
    - knot_kasp_key_t**
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: kdnssec_generate_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_keystore_remove
    - calloc
    - free
    - normalize_generate_flags
    - kasp_zone_append
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int kdnssec_generate_key(kdnssec_ctx_t *ctx, kdnssec_generate_flags_t
      flags,\n\t\t\t knot_kasp_key_t **key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:190,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:197,1
    - Dst: kasp_db_share_key
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:201,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:203,1
    - Dst: kasp_zone_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:207,1
    - Dst: kasp_zone_load
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:208,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - from_zone
    - key_id
    argTypes:
    - kdnssec_ctx_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 212
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 212
    functionName: kdnssec_share_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - kasp_zone_clear
    - kasp_db_share_key
    - free
    - knot_dname_copy
    - kasp_zone_load
    linkageType: ''
    returnType: int
    signature: int kdnssec_share_key(kdnssec_ctx_t *ctx, const knot_dname_t *from_zone,
      const char *key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:216,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:217,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:218,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:219,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:234,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:240,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:241,1
    - Dst: memmove
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - key_ptr
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 245
    functionName: kdnssec_delete_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_keystore_remove
    - memmove
    - free
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: int kdnssec_delete_key(kdnssec_ctx_t *ctx, knot_kasp_key_t *key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:249,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:250,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - timing
    - now
    argTypes:
    - knot_kasp_key_timing_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: is_published
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool is_published(knot_kasp_key_timing_t *timing, knot_time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:256,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - timing
    - now
    argTypes:
    - knot_kasp_key_timing_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: is_ready
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool is_ready(knot_kasp_key_timing_t *timing, knot_time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:262,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:263,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:264,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - timing
    - now
    argTypes:
    - knot_kasp_key_timing_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: is_active
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool is_active(knot_kasp_key_timing_t *timing, knot_time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:272,1
    - Dst: is_active
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - kdnssec_ctx_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: alg_has_active_zsk
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - is_active
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: bool
    signature: bool alg_has_active_zsk(kdnssec_ctx_t *ctx, uint8_t alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: fix_revoked_flag
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - dnssec_key_set_flags
    linkageType: ''
    returnType: void
    signature: void fix_revoked_flag(knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:294,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:295,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:319,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:319,1
    - Dst: is_published
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:329,1
    - Dst: is_ready
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:330,1
    - Dst: is_active
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:331,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:335,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:336,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:337,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:338,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:342,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:343,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:347,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:348,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:349,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:353,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:354,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:359,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:360,1
    - Dst: fix_revoked_flag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:366,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 4
    argNames:
    - kasp_key
    - now
    - zone_key
    - same_alg_act_zsk
    argTypes:
    - knot_kasp_key_t*
    - knot_time_t
    - zone_key_t*
    - bool
    constantsTouched: []
    func_position:
      end: 374
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 374
    functionName: set_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 1
    functionsReached:
    - fix_revoked_flag
    - assert
    - is_published
    - knot_time_cmp
    - is_ready
    - is_active
    linkageType: ''
    returnType: void
    signature: "void set_key(knot_kasp_key_t *kasp_key, knot_time_t now,\n                    zone_key_t
      *zone_key, bool same_alg_act_zsk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: is_nsec3_allowed
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_nsec3_allowed(uint8_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_nsec3_allowed
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:405,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:406,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:408,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - keyset
    argTypes:
    - kdnssec_ctx_t*
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 448
    functionName: walk_algorithms
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_keytag
    - log_zone_warning
    - is_nsec3_allowed
    linkageType: ''
    returnType: int
    signature: int walk_algorithms(kdnssec_ctx_t *ctx, zone_keyset_t *keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:455,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:456,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:469,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:470,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:472,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - keyset
    argTypes:
    - kdnssec_ctx_t*
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 478
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 478
    functionName: load_private_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_strerror
    - log_zone_error
    - dnssec_key_get_keytag
    - knot_error_from_libdnssec
    linkageType: ''
    returnType: int
    signature: int load_private_keys(kdnssec_ctx_t *ctx, zone_keyset_t *keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:485,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:486,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:489,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:493,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:496,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - key
    - out
    - out_len
    argTypes:
    - zone_key_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: log_key_info
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - snprintf
    - dnssec_key_get_keytag
    - knot_lookup_by_id
    linkageType: ''
    returnType: void
    signature: void log_key_info(const zone_key_t *key, char *out, size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: log_key_sort
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: int
    signature: int log_key_sort(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:524,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:529,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:531,1
    - Dst: set_key
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:540,1
    - Dst: log_key_info
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:542,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:543,1
    - Dst: qsort
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:553,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:555,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:561,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:562,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:563,1
    - Dst: load_private_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:567,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:569,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - ctx
    - keyset_ptr
    - verbose
    argTypes:
    - kdnssec_ctx_t*
    - zone_keyset_t*
    - bool
    constantsTouched: []
    func_position:
      end: 576
      start: 515
    functionDepth: 5
    functionLinenumber: 515
    functionLinenumberEnd: 576
    functionName: load_zone_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - load_private_keys
    - free_zone_keys
    - calloc
    - knot_strerror
    - log_zone_error
    - set_key
    - log_zone_info
    - knot_time_cmp
    - log_key_info
    - qsort
    linkageType: ''
    returnType: int
    signature: int load_zone_keys(kdnssec_ctx_t *ctx, zone_keyset_t *keyset_ptr, bool
      verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:588,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:591,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: free_zone_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 4
    functionsReached:
    - free
    - dnssec_binary_free
    - memset
    linkageType: ''
    returnType: void
    signature: void free_zone_keys(zone_keyset_t *keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:601,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 613
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: knot_get_next_zone_key_event
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 2
    functionsReached:
    - knot_time_cmp
    - assert
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_get_next_zone_key_event(const zone_keyset_t *keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:621,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:622,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:627,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:628,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - for_key
    - digesttype
    - out_donotfree
    argTypes:
    - zone_key_t*
    - dnssec_key_digest_t
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 635
    functionName: zone_key_calculate_ds
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 1
    functionsReached:
    - dnssec_key_create_ds
    - assert
    - dnssec_binary_free
    - knot_error_from_libdnssec
    linkageType: ''
    returnType: int
    signature: "int zone_key_calculate_ds(zone_key_t *for_key, dnssec_key_digest_t
      digesttype,\n                          dnssec_binary_t *out_donotfree)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:639,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:640,1
    - Dst: dnssec_key_dup
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - zone_key_t*
    - zone_key_t*
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: dup_zone_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_key_dup
    linkageType: ''
    returnType: int
    signature: int dup_zone_key(const zone_key_t *src, zone_key_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:654,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:661,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:663,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:673,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:677,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - keyset
    - dnssec_ctx
    argTypes:
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 685
    functionName: zone_sign_ctx
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 2
    functionsReached:
    - zone_sign_ctx_free
    - dnssec_sign_new
    - calloc
    linkageType: ''
    returnType: zone_sign_ctx_t
    signature: zone_sign_ctx_t *zone_sign_ctx(const zone_keyset_t *keyset, const kdnssec_ctx_t
      *dnssec_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:690,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dnssec_ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 708
    functionName: zone_validation_ctx
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - zone_sign_ctx_free
    - calloc
    linkageType: ''
    returnType: zone_sign_ctx_t
    signature: zone_sign_ctx_t *zone_validation_ctx(const kdnssec_ctx_t *dnssec_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:715,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:717,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:719,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_sign_ctx_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 722
    functionName: zone_sign_ctx_free
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 5
    functionsReached:
    - free
    - dnssec_sign_free
    - dnssec_key_free
    linkageType: ''
    returnType: void
    signature: void zone_sign_ctx_free(zone_sign_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:739,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:741,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:743,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:744,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:747,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:749,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - key
    - owner
    - rdata
    - rdlen
    argTypes:
    - dnssec_key_t**
    - knot_dname_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 756
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 756
    functionName: dnssec_key_from_rdata
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - knot_error_from_libdnssec
    - dnssec_key_set_dname
    - dnssec_key_set_rdata
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int dnssec_key_from_rdata(dnssec_key_t **key, const knot_dname_t *owner,\n
      \                         const uint8_t *rdata, size_t rdlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:760,1
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:768,1
    - Dst: knot_rrsig_key_tag
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:769,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - key
    - apex_rrsig
    argTypes:
    - zone_key_t*
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 776
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 776
    functionName: soa_signed_by_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rdataset_next
    - knot_rrsig_type_covered
    - knot_rrsig_key_tag
    linkageType: ''
    returnType: bool
    signature: bool soa_signed_by_key(const zone_key_t *key, const knot_rdataset_t
      *apex_rrsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: soa_signed_by_key
      Src: /src/knot-dns/src/knot/dnssec/zone-keys.c:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - keyset
    - apex_rrsig
    argTypes:
    - zone_keyset_t*
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 794
    functionName: is_soa_signed_by_all_zsks
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.c
    functionUses: 0
    functionsReached:
    - soa_signed_by_key
    linkageType: ''
    returnType: int
    signature: "int is_soa_signed_by_all_zsks(const zone_keyset_t *keyset,\n                              const
      knot_rdataset_t *apex_rrsig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:27,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:28,1
    - Dst: knot_get_next_zone_key_event
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:30,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - kctx
    - keyset
    - keys_expire
    - rrsigs_expire
    argTypes:
    - kdnssec_ctx_t*
    - zone_keyset_t*
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: schedule_next
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 0
    functionsReached:
    - knot_get_next_zone_key_event
    - knot_time_min
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: "knot_time_t schedule_next(kdnssec_ctx_t *kctx, const zone_keyset_t
      *keyset,\n\t\t\t\t knot_time_t keys_expire, knot_time_t rrsigs_expire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:38,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:44,1
    - Dst: dnssec_random_binary
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:47,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:49,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:50,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - salt
    - length
    argTypes:
    - dnssec_binary_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: generate_salt
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 0
    functionsReached:
    - knot_error_from_libdnssec
    - assert
    - dnssec_random_binary
    - dnssec_binary_free
    linkageType: ''
    returnType: int
    signature: int generate_salt(dnssec_binary_t *salt, uint16_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:73,1
    - Dst: knot_time_plus
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:76,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:79,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:85,1
    - Dst: generate_salt
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:88,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:91,1
    - Dst: knot_time_plus
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - soa_rrsigs_ok
    - salt_changed
    - when_resalt
    argTypes:
    - kdnssec_ctx_t*
    - bool
    - knot_time_t*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: knot_dnssec_nsec3resalt
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    - generate_salt
    - knot_time_plus
    - kdnssec_ctx_commit
    linkageType: ''
    returnType: int
    signature: "int knot_dnssec_nsec3resalt(kdnssec_ctx_t *ctx, bool soa_rrsigs_ok,\n
      \                           knot_time_t *salt_changed, knot_time_t *when_resalt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:112,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:120,1
    - Dst: key_records_last_timestamp
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:123,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:124,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:126,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:127,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: check_offline_records
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 0
    functionsReached:
    - knot_time_diff
    - key_records_last_timestamp
    - knot_strerror
    - log_zone_error
    - log_zone_notice
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int check_offline_records(kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_unset_flag
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:151,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:155,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:156,1
    - Dst: update_policy_from_zone
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:164,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:167,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:170,1
    - Dst: knot_dnssec_key_rollover
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:176,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:178,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:179,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:188,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:191,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:193,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:194,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:200,1
    - Dst: zone_get_master_serial
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:200,1
    - Dst: zone_set_master_serial
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:202,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:202,1
    - Dst: load_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:205,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:207,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:208,1
    - Dst: knot_dnssec_nsec3resalt
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:217,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:219,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:220,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:225,1
    - Dst: knot_zone_sign_update_dnskeys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:227,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:229,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:230,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:234,1
    - Dst: knot_zone_create_nsec_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:240,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:242,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:244,1
    - Dst: check_offline_records
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:248,1
    - Dst: knot_zone_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:253,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:255,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:256,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:262,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:263,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:269,1
    - Dst: zone_update_to
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:276,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:277,1
    - Dst: knot_zone_sign_apex_rr
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:279,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:282,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:283,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:291,1
    - Dst: knot_zone_sign_apex_rr
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:293,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:296,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:297,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:302,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:303,1
    - Dst: schedule_next
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:307,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:309,1
    - Dst: knot_dnssec_failover_delay
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:312,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:316,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:317,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 6
    argNames:
    - update
    - conf
    - flags
    - roll_flags
    - adjust_now
    - reschedule
    argTypes:
    - zone_update_t*
    - conf_t*
    - zone_sign_flags_t
    - zone_sign_roll_flags_t
    - knot_time_t
    - zone_sign_reschedule_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 136
    functionDepth: 7
    functionLinenumber: 136
    functionLinenumberEnd: 320
    functionName: knot_dnssec_zone_sign
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 5
    functionsReached:
    - zone_set_master_serial
    - zone_update_increment_soa
    - zone_is_slave
    - log_zone_error
    - zone_contents_serial
    - knot_dnssec_key_rollover
    - log_zone_info
    - knot_zone_create_nsec_chain
    - ATOMIC_SET
    - zone_update_to
    - load_zone_keys
    - free_zone_keys
    - knot_strerror
    - zone_adjust_contents
    - zone_update_add_digest
    - schedule_next
    - knot_zone_sign_apex_rr
    - knot_zone_sign
    - update_policy_from_zone
    - zone_get_master_serial
    - knot_zone_sign_update_dnskeys
    - kdnssec_ctx_deinit
    - knot_dnssec_failover_delay
    - knot_dnssec_nsec3resalt
    - conf_zone_get
    - zone_update_no_change
    - zone_unset_flag
    - check_offline_records
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: "int knot_dnssec_zone_sign(zone_update_t *update,\n                          conf_t
      *conf,\n                          zone_sign_flags_t flags,\n                          zone_sign_roll_flags_t
      roll_flags,\n                          knot_time_t adjust_now,\n                          zone_sign_reschedule_t
      *reschedule)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:334,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:335,1
    - Dst: update_policy_from_zone
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:339,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:344,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:347,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:349,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:350,1
    - Dst: load_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:355,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:357,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:358,1
    - Dst: zone_update_changes_dnskey
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:362,1
    - Dst: knot_zone_sign_update_dnskeys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:363,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:365,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:366,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:371,1
    - Dst: check_offline_records
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:377,1
    - Dst: knot_zone_sign_update
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:382,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:384,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:385,1
    - Dst: knot_zone_fix_nsec_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:389,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:391,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:393,1
    - Dst: zone_update_no_change
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:400,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:401,1
    - Dst: zone_update_increment_soa
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:410,1
    - Dst: knot_zone_sign_apex_rr
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:413,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:416,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:417,1
    - Dst: zone_update_add_digest
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:424,1
    - Dst: knot_zone_sign_apex_rr
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:426,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:429,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:430,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:435,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:436,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:437,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:438,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:443,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:445,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:448,1
    - Dst: time
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:449,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:451,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:452,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:452,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:456,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:457,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 99
    argCount: 2
    argNames:
    - update
    - conf
    argTypes:
    - zone_update_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 322
    functionDepth: 7
    functionLinenumber: 322
    functionLinenumberEnd: 460
    functionName: knot_dnssec_sign_update
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 3
    functionsReached:
    - zone_update_increment_soa
    - log_zone_error
    - time
    - zone_update_changes_dnskey
    - zone_contents_serial
    - log_zone_info
    - ATOMIC_SET
    - load_zone_keys
    - knot_time_min
    - free_zone_keys
    - knot_strerror
    - zone_adjust_contents
    - zone_update_add_digest
    - ATOMIC_GET
    - knot_zone_sign_apex_rr
    - knot_zone_fix_nsec_chain
    - update_policy_from_zone
    - knot_zone_sign_update_dnskeys
    - kdnssec_ctx_deinit
    - knot_zone_sign_update
    - zone_get_flag
    - conf_zone_get
    - zone_update_no_change
    - zone_events_schedule_at
    - check_offline_records
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int knot_dnssec_sign_update(zone_update_t *update, conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: knot_dnssec_failover_delay
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_dnssec_failover_delay(const kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fmt_zone
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:476,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:477,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:481,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:482,1
    - Dst: log_fmt_zone
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - update
    - msg_valid
    - ret
    - warning
    argTypes:
    - zone_update_t*
    - char*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 486
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 486
    functionName: log_validation_error
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 0
    functionsReached:
    - log_fmt_zone
    - knot_rrtype_to_string
    - knot_dname_to_str
    - knot_strerror
    linkageType: ''
    returnType: void
    signature: "void log_validation_error(zone_update_t *update, const char *msg_valid,\n
      \                                int ret, bool warning)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zone_check_nsec_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:504,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:506,1
    - Dst: knot_zone_sign_update
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:508,1
    - Dst: knot_zone_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:510,1
    - Dst: log_validation_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:517,1
    - Dst: dbus_emit_zone_invalid
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:519,1
    - Dst: log_validation_error
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:522,1
    - Dst: dbus_emit_zone_invalid
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:524,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:527,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:531,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:537,1
    - Dst: knot_time_geq
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:537,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:540,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:544,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:546,1
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:547,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/dnssec/zone-events.c:551,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - update
    - val_conf
    argTypes:
    - zone_update_t*
    - validation_conf_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 554
    functionName: knot_dnssec_validate_zone
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-events.c
    functionUses: 2
    functionsReached:
    - assert
    - conf_zone_get
    - zone_events_schedule_now
    - knot_zone_sign
    - log_validation_error
    - kdnssec_ctx_deinit
    - knot_zone_sign_update
    - log_zone_info
    - knot_zone_check_nsec_chain
    - knot_time_add
    - zone_events_schedule_at
    - knot_time_geq
    - dbus_emit_zone_invalid
    linkageType: ''
    returnType: int
    signature: int knot_dnssec_validate_zone(zone_update_t *update, validation_conf_t
      *val_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: knot_is_nsec3_enabled
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_is_nsec3_enabled(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.h:29,1
    - Dst: dnssec_nsec3_hash_length
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: zone_nsec3_hash_len
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.h
    functionUses: 0
    functionsReached:
    - dnssec_nsec3_hash_length
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: size_t
    signature: size_t zone_nsec3_hash_len(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_nsec3_hash_len
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.h:34,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: zone_nsec3_name_len
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.h
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - zone_nsec3_hash_len
    linkageType: ''
    returnType: size_t
    signature: size_t zone_nsec3_name_len(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:20,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:21,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - ksk
    - zsk
    argTypes:
    - kdnssec_ctx_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: key_present
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    linkageType: ''
    returnType: bool
    signature: bool key_present(const kdnssec_ctx_t *ctx, bool ksk, bool zsk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:34,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:35,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:38,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - keyid
    - want_ksk
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: key_id_present
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool key_id_present(const kdnssec_ctx_t *ctx, const char *keyid, bool
      want_ksk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:49,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:50,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:54,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:55,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:55,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:56,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - kdnssec_ctx_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: algorithm_present
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_time_min
    - dnssec_key_get_algorithm
    - get_key_state
    - knot_time_cmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned algorithm_present(const kdnssec_ctx_t *ctx, uint8_t alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:67,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:67,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:67,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:69,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: signing_scheme_present
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - key_present
    linkageType: ''
    returnType: bool
    signature: bool signing_scheme_present(const kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:75,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:76,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - keyid
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: key_get_by_id
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    linkageType: ''
    returnType: knot_kasp_key_t
    signature: knot_kasp_key_t *key_get_by_id(kdnssec_ctx_t *ctx, const char *keyid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timer
    - now
    argTypes:
    - knot_time_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: clear_future_timer
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clear_future_timer(knot_time_t *timer, knot_time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:100,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:101,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:102,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:103,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:104,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:106,1
    - Dst: clear_future_timer
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:107,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:113,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:114,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - knot_kasp_key_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 117
    functionName: clear_future_timers
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - log_zone_notice
    - clear_future_timer
    - dnssec_key_get_keytag
    - kdnssec_ctx_commit
    linkageType: ''
    returnType: void
    signature: void clear_future_timers(knot_kasp_key_t *key, kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - flags
    - when_active
    - pre_active
    argTypes:
    - kdnssec_ctx_t*
    - kdnssec_generate_flags_t
    - knot_time_t
    - bool
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: generate_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int generate_key(kdnssec_ctx_t *ctx, kdnssec_generate_flags_t flags,\n\t\t\tknot_time_t
      when_active, bool pre_active)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:143,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:155,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:156,1
    - Dst: key_id_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:161,1
    - Dst: kasp_db_get_key_algorithm
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:162,1
    - Dst: kdnssec_generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:164,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:175,1
    - Dst: kasp_db_set_policy_last
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:180,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:182,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:183,1
    - Dst: kdnssec_delete_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:191,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:193,1
    - Dst: kasp_db_get_policy_last
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:199,1
    - Dst: kdnssec_share_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:205,1
    - Dst: key_get_by_id
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:207,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:208,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:219,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:220,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - flags
    - when_active
    - pre_active
    argTypes:
    - kdnssec_ctx_t*
    - kdnssec_generate_flags_t
    - knot_time_t
    - bool
    constantsTouched: []
    func_position:
      end: 222
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 222
    functionName: share_or_generate_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - kdnssec_delete_key
    - assert
    - kasp_db_get_policy_last
    - key_id_present
    - free
    - key_get_by_id
    - kdnssec_ctx_commit
    - kasp_db_set_policy_last
    - kdnssec_generate_key
    - kdnssec_share_key
    - kasp_db_get_key_algorithm
    linkageType: ''
    returnType: int
    signature: "int share_or_generate_key(kdnssec_ctx_t *ctx, kdnssec_generate_flags_t
      flags,\n\t\t\t\t knot_time_t when_active, bool pre_active)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: share_or_generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:229,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - when_active
    - pre_active
    argTypes:
    - kdnssec_ctx_t*
    - knot_time_t
    - bool
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: generate_ksk
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - share_or_generate_key
    - generate_key
    linkageType: ''
    returnType: int
    signature: int generate_ksk(kdnssec_ctx_t *ctx, knot_time_t when_active, bool
      pre_active)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 273
    functionName: running_rollover
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - get_key_state
    linkageType: ''
    returnType: bool
    signature: bool running_rollover(const kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - roll_action_type_t
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: roll_action_name
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *roll_action_name(roll_action_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_plus
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - active_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: zsk_rollover_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_plus
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t zsk_rollover_time(knot_time_t active_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - publish_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: zsk_active_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t zsk_active_time(knot_time_t publish_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - retire_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: zsk_remove_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t zsk_remove_time(knot_time_t retire_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_plus
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - created_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: ksk_rollover_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_plus
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_rollover_time(knot_time_t created_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - publish_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: ksk_ready_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_ready_time(knot_time_t publish_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_plus
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ready_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: ksk_sbm_max_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_plus
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_sbm_max_time(knot_time_t ready_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - retire_active_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: ksk_retire_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_retire_time(knot_time_t retire_active_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - retire_time
    - is_csk
    - ctx
    argTypes:
    - knot_time_t
    - bool
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: ksk_remove_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_remove_time(knot_time_t retire_time, bool is_csk, const
      kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - remove_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: ksk_really_remove_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t ksk_really_remove_time(knot_time_t remove_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - remove_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: zsk_really_remove_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t zsk_really_remove_time(knot_time_t remove_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pre_active_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: alg_publish_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t alg_publish_time(knot_time_t pre_active_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_add
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - post_active_time
    - ctx
    argTypes:
    - knot_time_t
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: alg_remove_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - knot_time_add
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t alg_remove_time(knot_time_t post_active_time, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_future_timers
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:425,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:428,1
    - Dst: alg_publish_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:430,1
    - Dst: ksk_ready_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:434,1
    - Dst: ksk_sbm_max_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:438,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:441,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:444,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:445,1
    - Dst: ksk_rollover_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:449,1
    - Dst: ksk_retire_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:456,1
    - Dst: alg_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:461,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:465,1
    - Dst: ksk_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:466,1
    - Dst: ksk_really_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:470,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:471,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:480,1
    - Dst: alg_publish_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:482,1
    - Dst: zsk_active_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:486,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:490,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:491,1
    - Dst: zsk_rollover_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:492,1
    - Dst: alg_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:500,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:504,1
    - Dst: zsk_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:505,1
    - Dst: zsk_really_remove_time
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:509,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:510,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:520,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 103
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - kdnssec_ctx_t*
    - zone_sign_roll_flags_t
    constantsTouched: []
    func_position:
      end: 530
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 530
    functionName: next_action
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - zsk_active_time
    - clear_future_timers
    - ksk_sbm_max_time
    - ksk_rollover_time
    - alg_remove_time
    - knot_time_min
    - dnssec_key_get_algorithm
    - alg_publish_time
    - get_key_state
    - ksk_really_remove_time
    - ksk_ready_time
    - running_rollover
    - knot_time_cmp
    - ksk_retire_time
    - dnssec_key_get_keytag
    - zsk_rollover_time
    - zsk_remove_time
    - ksk_remove_time
    - zsk_really_remove_time
    linkageType: ''
    returnType: roll_action_t
    signature: roll_action_t next_action(kdnssec_ctx_t *ctx, zone_sign_roll_flags_t
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:534,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:534,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:535,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - newkey
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 548
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 548
    functionName: submit_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    linkageType: ''
    returnType: int
    signature: int submit_key(kdnssec_ctx_t *ctx, knot_kasp_key_t *newkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - newkey
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: knot_dnssec_key2retire
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - get_key_state
    linkageType: ''
    returnType: knot_kasp_key_t
    signature: knot_kasp_key_t *knot_dnssec_key2retire(kdnssec_ctx_t *ctx, knot_kasp_key_t
      *newkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - newksk
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: zsk2retire
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - get_key_state
    linkageType: ''
    returnType: knot_kasp_key_t
    signature: knot_kasp_key_t *zsk2retire(kdnssec_ctx_t *ctx, knot_kasp_key_t *newksk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:586,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:587,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:592,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:597,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:598,1
    - Dst: roll_action_name
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - next
    argTypes:
    - kdnssec_ctx_t*
    - roll_action_t*
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: log_next_event
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - dnssec_key_get_keytag
    - roll_action_name
    - log_zone_info
    - strftime
    linkageType: ''
    returnType: void
    signature: void log_next_event(kdnssec_ctx_t *ctx, roll_action_t *next)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:607,1
    - Dst: knot_dnssec_key2retire
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:610,1
    - Dst: zsk2retire
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:640,1
    - Dst: log_next_event
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:649,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:654,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:654,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:656,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:656,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - newkey
    - active_retire_delay
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 661
      start: 604
    functionDepth: 5
    functionLinenumber: 604
    functionLinenumberEnd: 661
    functionName: exec_new_signatures
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - zsk2retire
    - assert
    - knot_time_min
    - get_key_state
    - knot_dnssec_key2retire
    - log_zone_notice
    - log_next_event
    linkageType: ''
    returnType: int
    signature: int exec_new_signatures(kdnssec_ctx_t *ctx, knot_kasp_key_t *newkey,
      uint32_t active_retire_delay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:665,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: exec_publish
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    linkageType: ''
    returnType: int
    signature: int exec_publish(kdnssec_ctx_t *ctx, knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:679,1
    - Dst: algorithm_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:680,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:680,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:686,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: exec_ksk_retire
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_algorithm
    - assert
    - get_key_state
    - algorithm_present
    linkageType: ''
    returnType: int
    signature: int exec_ksk_retire(kdnssec_ctx_t *ctx, knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:700,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:700,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:701,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: exec_remove_old_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    linkageType: ''
    returnType: int
    signature: int exec_remove_old_key(kdnssec_ctx_t *ctx, knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:709,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:709,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:710,1
    - Dst: kdnssec_delete_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: exec_really_remove
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - kdnssec_delete_key
    - assert
    - get_key_state
    linkageType: ''
    returnType: int
    signature: int exec_really_remove(kdnssec_ctx_t *ctx, knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:722,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:733,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:733,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:734,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:734,1
    - Dst: share_or_generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:737,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:739,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:744,1
    - Dst: key_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:750,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:751,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:758,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:759,1
    - Dst: generate_ksk
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:762,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:765,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:772,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:773,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:776,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:779,1
    - Dst: algorithm_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:784,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:785,1
    - Dst: generate_ksk
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:786,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:788,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:790,1
    - Dst: signing_scheme_present
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:796,1
    - Dst: running_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:797,1
    - Dst: generate_ksk
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:798,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:800,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:802,1
    - Dst: next_action
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:811,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:815,1
    - Dst: generate_ksk
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:820,1
    - Dst: generate_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:822,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:825,1
    - Dst: exec_publish
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:831,1
    - Dst: submit_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:834,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:838,1
    - Dst: exec_new_signatures
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:842,1
    - Dst: exec_ksk_retire
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:845,1
    - Dst: exec_remove_old_key
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:848,1
    - Dst: exec_really_remove
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:851,1
    - Dst: next_action
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:860,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:864,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:865,1
    - Dst: roll_action_name
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:866,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:866,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:868,1
    - Dst: roll_action_name
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:869,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:869,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:881,1
    - Dst: knot_dnssec_key_rollover
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:882,1
    - Dst: log_next_event
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:886,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:890,1
    - Dst: dbus_emit_keys_updated
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:892,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:898,1
    - Dst: log_fmt_zone
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:899,1
    - Dst: dbus_emit_zone_submission
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:902,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 155
    argCount: 3
    argNames:
    - ctx
    - flags
    - reschedule
    argTypes:
    - kdnssec_ctx_t*
    - zone_sign_roll_flags_t
    - zone_sign_reschedule_t*
    constantsTouched: []
    func_position:
      end: 907
      start: 714
    functionDepth: 6
    functionLinenumber: 714
    functionLinenumberEnd: 907
    functionName: knot_dnssec_key_rollover
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 4
    functionsReached:
    - exec_really_remove
    - key_present
    - algorithm_present
    - exec_publish
    - snprintf
    - knot_dnssec_key_rollover
    - log_zone_info
    - dbus_emit_keys_updated
    - generate_key
    - exec_new_signatures
    - knot_strerror
    - dbus_emit_zone_submission
    - running_rollover
    - knot_time_cmp
    - log_zone_notice
    - submit_key
    - generate_ksk
    - dnssec_key_get_keytag
    - kdnssec_ctx_commit
    - log_fmt_zone
    - share_or_generate_key
    - signing_scheme_present
    - log_next_event
    - exec_remove_old_key
    - roll_action_name
    - next_action
    - exec_ksk_retire
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: "int knot_dnssec_key_rollover(kdnssec_ctx_t *ctx, zone_sign_roll_flags_t
      flags,\n                             zone_sign_reschedule_t *reschedule)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:912,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:920,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - retire_delay
    argTypes:
    - kdnssec_ctx_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 929
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 929
    functionName: knot_dnssec_ksk_sbm_confirm
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 1
    functionsReached:
    - get_key_state
    - kdnssec_ctx_commit
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: int knot_dnssec_ksk_sbm_confirm(kdnssec_ctx_t *ctx, uint32_t retire_delay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:933,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:938,1
    - Dst: get_key_state
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: zone_has_key_sbm
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - assert
    - get_key_state
    linkageType: ''
    returnType: bool
    signature: bool zone_has_key_sbm(const kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:948,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:949,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:950,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/knot/dnssec/key-events.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 960
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 960
    functionName: dnskey_sync_jitter
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key-events.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - conf_id_fix_default
    - dnssec_random_uint16_t
    - conf_id_get
    linkageType: ''
    returnType: unsigned
    signature: unsigned dnskey_sync_jitter(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:25,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:26,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:40,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key
    - ds
    argTypes:
    - knot_kasp_key_t*
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: match_key_ds
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_binary_free
    - dnssec_binary_cmp
    linkageType: ''
    returnType: bool
    signature: bool match_key_ds(knot_kasp_key_t *key, knot_rdata_t *ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: match_key_ds
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:52,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - key
    - rr
    argTypes:
    - knot_kasp_key_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: match_key_ds_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - match_key_ds
    linkageType: ''
    returnType: bool
    signature: bool match_key_ds_rrset(knot_kasp_key_t *key, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - layer
    - params
    argTypes:
    - knot_layer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ds_query_begin
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ds_query_begin(knot_layer_t *layer, void *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_init_pkt
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:88,1
    - Dst: knot_wire_set_rd
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: ds_query_produce
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_rd
    - query_init_pkt
    linkageType: ''
    returnType: int
    signature: int ds_query_produce(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DS_CHECK_LOG
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:107,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:109,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:113,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:118,1
    - Dst: match_key_ds_rrset
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:121,1
    - Dst: match_key_ds_rrset
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:127,1
    - Dst: knot_rrsig_original_ttl
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:132,1
    - Dst: DS_CHECK_LOG
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - layer
    - pkt
    argTypes:
    - knot_layer_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 150
    functionName: ds_query_consume
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_pkt_ext_rcode_name
    - knot_rrsig_original_ttl
    - knot_pkt_section
    - DS_CHECK_LOG
    - match_key_ds_rrset
    - knot_pkt_rr
    linkageType: ''
    returnType: int
    signature: int ds_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:166,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:167,1
    - Dst: query_edns_data_init
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:174,1
    - Dst: knot_requestor_init
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:181,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:183,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:185,1
    - Dst: knot_request_make
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:189,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:191,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:196,1
    - Dst: knot_requestor_clear
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:197,1
    - Dst: DS_CHECK_LOG
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:205,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 8
    argNames:
    - conf
    - zone_name
    - parent
    - key
    - not_key
    - server
    - timeout
    - ds_ttl
    argTypes:
    - conf_t*
    - knot_dname_t*
    - conf_remote_t*
    - knot_kasp_key_t*
    - knot_kasp_key_t*
    - server_t*
    - size_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 212
    functionName: try_ds
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - assert
    - knot_strerror
    - knot_requestor_init
    - knot_request_make
    - knot_pkt_new
    - DS_CHECK_LOG
    - knot_requestor_clear
    - query_edns_data_init
    linkageType: ''
    returnType: int
    signature: "int try_ds(conf_t *conf, const knot_dname_t *zone_name, const conf_remote_t
      *parent,\n                  knot_kasp_key_t *key, knot_kasp_key_t *not_key,
      server_t *server,\n                  size_t timeout, uint32_t *ds_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dnssec_key2retire
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:216,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:218,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - kctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: get_not_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_dnssec_key2retire
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: knot_kasp_key_t
    signature: knot_kasp_key_t *get_not_key(kdnssec_ctx_t *kctx, knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dynarray_foreach
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:229,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - conf
    - kctx
    - key
    - server
    - timeout
    - max_ds_ttl
    argTypes:
    - conf_t*
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    - server_t*
    - size_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: parents_have_ds
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 0
    functionsReached:
    - knot_dynarray_foreach
    - MAX
    linkageType: ''
    returnType: bool
    signature: "bool parents_have_ds(conf_t *conf, kdnssec_ctx_t *kctx, knot_kasp_key_t
      *key,\n                            server_t *server, size_t timeout, uint32_t
      *max_ds_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:260,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:261,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:262,1
    - Dst: parents_have_ds
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:263,1
    - Dst: knot_dnssec_ksk_sbm_confirm
      Src: /src/knot-dns/src/knot/dnssec/ds_query.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - conf
    - kctx
    - server
    - timeout
    argTypes:
    - conf_t*
    - kdnssec_ctx_t*
    - struct server*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: knot_parent_ds_query
    functionSourceFile: /src/knot-dns/src/knot/dnssec/ds_query.c
    functionUses: 2
    functionsReached:
    - knot_time_cmp
    - assert
    - knot_dnssec_ksk_sbm_confirm
    - parents_have_ds
    linkageType: ''
    returnType: int
    signature: "int knot_parent_ds_query(conf_t *conf, kdnssec_ctx_t *kctx, struct
      server *server,\n                         size_t timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/dnssec/context.c:23,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/context.c:24,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/context.c:26,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/dnssec/context.c:26,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:29,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:30,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:32,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:33,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:36,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/dnssec/context.c:37,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:39,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:40,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:42,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/src/knot/dnssec/context.c:45,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:47,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:48,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/src/knot/dnssec/context.c:50,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:52,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:56,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:57,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:60,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:61,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:63,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:64,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:66,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:67,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:69,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:70,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:72,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:73,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:75,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:76,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:82,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:83,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:85,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:86,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:88,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:89,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:91,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:92,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:94,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:95,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:97,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:98,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:100,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:101,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:103,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/dnssec/context.c:104,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:106,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/dnssec/context.c:107,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:109,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/dnssec/context.c:110,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:112,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:114,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:115,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:117,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:118,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:120,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/dnssec/context.c:122,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:124,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/dnssec/context.c:125,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/context.c:126,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/dnssec/context.c:129,1
    - Dst: parent_dynarray_add
      Src: /src/knot-dns/src/knot/dnssec/context.c:131,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/dnssec/context.c:133,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:136,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:137,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:140,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:141,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:143,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:145,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/knot/dnssec/context.c:147,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:149,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:152,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/context.c:153,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:156,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/dnssec/context.c:158,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/dnssec/context.c:159,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:163,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/context.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 101
    argCount: 4
    argNames:
    - policy
    - conf
    - id
    - zone_name
    argTypes:
    - knot_kasp_policy_t*
    - conf_t*
    - conf_val_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 169
    functionName: policy_load
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    - conf_zone_get
    - conf_id_get
    - parent_dynarray_add
    - conf_mix_iter_init
    - conf_bool
    - dnssec_algorithm_key_size_default
    - conf_val_count
    - conf_mix_iter_next
    - conf_val_next
    - conf_opt
    - conf_int
    - conf_str
    - malloc
    - conf_remote
    linkageType: ''
    returnType: void
    signature: "void policy_load(knot_kasp_policy_t *policy, conf_t *conf, conf_val_t
      *id,\n                        const knot_dname_t *zone_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/context.c:180,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/context.c:182,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/dnssec/context.c:189,1
    - Dst: kasp_zone_load
      Src: /src/knot-dns/src/knot/dnssec/context.c:194,1
    - Dst: conf_db
      Src: /src/knot-dns/src/knot/dnssec/context.c:200,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/context.c:206,1
    - Dst: knot_spin_init
      Src: /src/knot-dns/src/knot/dnssec/context.c:212,1
    - Dst: kasp_db_get_saved_ttls
      Src: /src/knot-dns/src/knot/dnssec/context.c:214,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:223,1
    - Dst: conf_mod_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:225,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/context.c:227,1
    - Dst: policy_load
      Src: /src/knot-dns/src/knot/dnssec/context.c:228,1
    - Dst: zone_init_keystore
      Src: /src/knot-dns/src/knot/dnssec/context.c:230,1
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/dnssec/context.c:238,1
    - Dst: key_records_init
      Src: /src/knot-dns/src/knot/dnssec/context.c:240,1
    - Dst: kasp_db_load_offline_records
      Src: /src/knot-dns/src/knot/dnssec/context.c:242,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/dnssec/context.c:252,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 5
    argNames:
    - conf
    - ctx
    - zone_name
    - kaspdb
    - from_module
    argTypes:
    - conf_t*
    - kdnssec_ctx_t*
    - knot_dname_t*
    - knot_lmdb_db_t*
    - conf_mod_id_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 254
    functionName: kdnssec_ctx_init
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 0
    functionsReached:
    - kasp_db_get_saved_ttls
    - conf_zone_get
    - conf_mod_get
    - policy_load
    - calloc
    - zone_init_keystore
    - kdnssec_ctx_deinit
    - knot_spin_init
    - kasp_zone_load
    - conf_id_fix_default
    - memset
    - key_records_init
    - knot_lmdb_open
    - conf_db
    - knot_time
    - kasp_db_load_offline_records
    linkageType: ''
    returnType: int
    signature: "int kdnssec_ctx_init(conf_t *conf, kdnssec_ctx_t *ctx, const knot_dname_t
      *zone_name,\n\t\t     knot_lmdb_db_t *kaspdb, const conf_mod_id_t *from_module)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_zone_save
      Src: /src/knot-dns/src/knot/dnssec/context.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: kdnssec_ctx_commit
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 5
    functionsReached:
    - kasp_zone_save
    linkageType: ''
    returnType: int
    signature: int kdnssec_ctx_commit(kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_spin_destroy
      Src: /src/knot-dns/src/knot/dnssec/context.c:282,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/context.c:283,1
    - Dst: knot_dynarray_foreach
      Src: /src/knot-dns/src/knot/dnssec/context.c:284,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/context.c:285,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/context.c:287,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/knot/dnssec/context.c:289,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/dnssec/context.c:290,1
    - Dst: kasp_zone_free
      Src: /src/knot-dns/src/knot/dnssec/context.c:291,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/context.c:292,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/context.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 295
    functionName: kdnssec_ctx_deinit
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 7
    functionsReached:
    - knot_spin_destroy
    - knot_dynarray_foreach
    - key_records_clear
    - kasp_zone_free
    - free
    - dnssec_keystore_deinit
    - memset
    linkageType: ''
    returnType: void
    signature: void kdnssec_ctx_deinit(kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/context.c:300,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/context.c:301,1
    - Dst: knot_nsec3param_iters
      Src: /src/knot-dns/src/knot/dnssec/context.c:308,1
    - Dst: knot_nsec3param_salt_len
      Src: /src/knot-dns/src/knot/dnssec/context.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - policy
    - zone
    argTypes:
    - knot_kasp_policy_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: policy_from_zone
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 3
    functionsReached:
    - node_rdataset
    - knot_nsec3param_salt_len
    - knot_nsec3param_iters
    linkageType: ''
    returnType: void
    signature: void policy_from_zone(knot_kasp_policy_t *policy, const zone_contents_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/context.c:321,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/context.c:323,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/context.c:328,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/context.c:330,1
    - Dst: knot_spin_init
      Src: /src/knot-dns/src/knot/dnssec/context.c:334,1
    - Dst: policy_from_zone
      Src: /src/knot-dns/src/knot/dnssec/context.c:336,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:338,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/context.c:339,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:340,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/context.c:341,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/context.c:342,1
    - Dst: conf_int_alt
      Src: /src/knot-dns/src/knot/dnssec/context.c:343,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/dnssec/context.c:347,1
    - Dst: dt_optimal_size
      Src: /src/knot-dns/src/knot/dnssec/context.c:347,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/context.c:354,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/knot/dnssec/context.c:355,1
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/dnssec/context.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - conf
    - ctx
    - zone
    - threads
    argTypes:
    - conf_t*
    - kdnssec_ctx_t*
    - zone_contents_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 362
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 362
    functionName: kdnssec_validation_ctx
    functionSourceFile: /src/knot-dns/src/knot/dnssec/context.c
    functionUses: 0
    functionsReached:
    - conf_int_alt
    - policy_from_zone
    - conf_zone_get
    - calloc
    - conf_id_get
    - free
    - conf_int
    - MAX
    - kdnssec_ctx_deinit
    - knot_spin_init
    - conf_id_fix_default
    - memset
    - knot_time
    - dt_optimal_size
    linkageType: ''
    returnType: int
    signature: "int kdnssec_validation_ctx(conf_t *conf, kdnssec_ctx_t *ctx, const
      zone_contents_t *zone,\n                           uint16_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:39,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:41,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:42,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:43,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - out
    - out_size
    - hash
    - hash_size
    - zone_apex
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: knot_nsec3_hash_to_dname
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - wire_ctx_init
    - wire_ctx_write
    - wire_ctx_write_u8
    linkageType: ''
    returnType: int
    signature: "int knot_nsec3_hash_to_dname(uint8_t *out, size_t out_size, const
      uint8_t *hash,\n                             size_t hash_size, const knot_dname_t
      *zone_apex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:58,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:65,1
    - Dst: knot_nsec3_hash_to_dname
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:68,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - out
    - out_size
    - owner
    - zone_apex
    - params
    argTypes:
    - uint8_t*
    - size_t
    - knot_dname_t*
    - knot_dname_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 73
    functionName: knot_create_nsec3_owner
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - knot_error_from_libdnssec
    - knot_dname_size
    - dnssec_binary_free
    - knot_nsec3_hash_to_dname
    linkageType: ''
    returnType: int
    signature: "int knot_create_nsec3_owner(uint8_t *out, size_t out_size,\n                            const
      knot_dname_t *owner, const knot_dname_t *zone_apex,\n                            const
      dnssec_nsec3_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:77,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:78,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:80,1
    - Dst: knot_create_nsec3_owner
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:84,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - node
    - zone
    argTypes:
    - zone_node_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: node_nsec3_hash
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - knot_is_nsec3_enabled
    - knot_create_nsec3_owner
    - malloc
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *node_nsec3_hash(zone_node_t *node, const zone_contents_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:101,1
    - Dst: node_nsec3_hash
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:102,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:103,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:105,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:106,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - node
    - zone
    argTypes:
    - zone_node_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: node_update_nsec3_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - free
    - node_nsec3_hash
    - binode_counterpart
    - zone_tree_get
    - knot_is_nsec3_enabled
    - binode_first
    linkageType: ''
    returnType: void
    signature: void node_update_nsec3_node(zone_node_t *node, const zone_contents_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:116,1
    - Dst: node_update_nsec3_node
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:118,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:121,1
    - Dst: binode_node_as
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:125,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:126,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:128,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:134,1
    - Dst: node_update_nsec3_node
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - node
    - zone
    argTypes:
    - zone_node_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: binode_fix_nsec3_pointer
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - assert
    - binode_node_as
    - binode_counterpart
    - knot_dname_copy
    - node_update_nsec3_node
    linkageType: ''
    returnType: int
    signature: int binode_fix_nsec3_pointer(zone_node_t *node, const zone_contents_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:146,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:147,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - rrs
    - params
    argTypes:
    - knot_rdataset_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 178
    functionName: nsec3param_valid
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_nsec3_params_free
    linkageType: ''
    returnType: bool
    signature: "bool nsec3param_valid(const knot_rdataset_t *rrs,\n                             const
      dnssec_nsec3_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:182,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:185,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:186,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:188,1
    - Dst: knot_synth_rrsig
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:190,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:192,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - update
    - also_rrsig
    argTypes:
    - zone_update_t*
    - bool
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: remove_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - knot_rrset_empty
    - node_rrset
    - zone_update_remove
    - knot_rrset_init
    - knot_synth_rrsig
    linkageType: ''
    returnType: int
    signature: int remove_nsec3param(zone_update_t *update, bool also_rrsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:202,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:203,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:208,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:210,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:211,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:212,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:213,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:214,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:220,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:220,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - rrset
    - params
    argTypes:
    - knot_rrset_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionName: set_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_init
    - wire_ctx_available
    - wire_ctx_write
    - wire_ctx_write_u8
    - wire_ctx_write_u16
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: int set_nsec3param(knot_rrset_t *rrset, const dnssec_nsec3_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:229,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:230,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:233,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:241,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - update
    - params
    - ttl
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: add_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - assert
    - knot_rrset_free
    - zone_update_add
    linkageType: ''
    returnType: int
    signature: "int add_nsec3param(zone_update_t *update,\n                          const
      dnssec_nsec3_params_t *params,\n                          uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:250,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:251,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:253,1
    - Dst: nsec3param_valid
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - params
    argTypes:
    - zone_contents_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: knot_nsec3param_uptodate
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - nsec3param_valid
    linkageType: ''
    returnType: bool
    signature: "bool knot_nsec3param_uptodate(const zone_contents_t *zone,\n                              const
      dnssec_nsec3_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:262,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:263,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:265,1
    - Dst: add_nsec3param
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - update
    - params
    - ttl
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: knot_nsec3param_update
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - add_nsec3param
    linkageType: ''
    returnType: int
    signature: "int knot_nsec3param_update(zone_update_t *update,\n                           const
      dnssec_nsec3_params_t *params,\n                           uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:290,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - policy
    - zone
    argTypes:
    - knot_kasp_policy_t*
    - knot_kasp_zone_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: nsec3param_init
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: dnssec_nsec3_params_t
    signature: "dnssec_nsec3_params_t nsec3param_init(const knot_kasp_policy_t *policy,\n
      \                                            const knot_kasp_zone_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:307,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:308,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:312,1
    - Dst: knot_soa_minimum
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: zone_nsec_ttl
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 0
    functionsReached:
    - knot_soa_minimum
    - knot_rrset_empty
    - node_rrset
    - MIN
    linkageType: ''
    returnType: int
    signature: int zone_nsec_ttl(zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec3param_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:330,1
    - Dst: knot_nsec3_create_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:338,1
    - Dst: knot_nsec_create_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:341,1
    - Dst: delete_nsec3_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - update
    - ctx
    argTypes:
    - zone_update_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: knot_zone_create_nsec_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 1
    functionsReached:
    - knot_nsec_create_chain
    - nsec3param_init
    - knot_nsec3_create_chain
    - delete_nsec3_chain
    linkageType: ''
    returnType: int
    signature: int knot_zone_create_nsec_chain(zone_update_t *update, const kdnssec_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:364,1
    - Dst: nsec3param_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:367,1
    - Dst: knot_nsec3_fix_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:373,1
    - Dst: knot_nsec_fix_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:375,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:378,1
    - Dst: knot_nsec3_create_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:381,1
    - Dst: knot_nsec_create_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:384,1
    - Dst: knot_zone_sign_nsecs_in_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - update
    - zone_keys
    - ctx
    argTypes:
    - zone_update_t*
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 391
    functionName: knot_zone_fix_nsec_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 1
    functionsReached:
    - knot_nsec3_create_chain
    - knot_zone_sign_nsecs_in_changeset
    - knot_nsec_fix_chain
    - log_zone_info
    - MIN
    - knot_nsec_create_chain
    - knot_nsec3_fix_chain
    - nsec3param_init
    linkageType: ''
    returnType: int
    signature: "int knot_zone_fix_nsec_chain(zone_update_t *update,\n                             const
      zone_keyset_t *zone_keys,\n                             const kdnssec_ctx_t
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec3param_init
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:397,1
    - Dst: knot_nsec3_check_chain_fix
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:401,1
    - Dst: knot_nsec_check_chain_fix
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:402,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:405,1
    - Dst: knot_nsec3_check_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:414,1
    - Dst: knot_nsec_check_chain
      Src: /src/knot-dns/src/knot/dnssec/zone-nsec.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - update
    - ctx
    - incremental
    argTypes:
    - zone_update_t*
    - kdnssec_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: knot_zone_check_nsec_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-nsec.c
    functionUses: 1
    functionsReached:
    - knot_nsec3_check_chain_fix
    - knot_nsec_check_chain
    - knot_nsec3_check_chain
    - log_zone_info
    - knot_nsec_check_chain_fix
    - nsec3param_init
    linkageType: ''
    returnType: int
    signature: "int knot_zone_check_nsec_chain(zone_update_t *update, const kdnssec_ctx_t
      *ctx,\n                               bool incremental)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - params
    argTypes:
    - zone_node_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: nsec3_empty
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nsec3_empty(const zone_node_t *node, const dnssec_nsec3_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:35,1
    - Dst: knot_zone_sign_rr_should_be_signed
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: node_should_be_signed_nsec3
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - knot_zone_sign_rr_should_be_signed
    linkageType: ''
    returnType: bool
    signature: bool node_should_be_signed_nsec3(const zone_node_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:55,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:58,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:58,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:58,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:59,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:61,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:62,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:63,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:64,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:65,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:68,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: free_nsec3_tree
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - node_rdataset
    - assert
    - node_free
    - zone_tree_free
    - zone_tree_it_begin
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: void
    signature: void free_nsec3_tree(zone_tree_t *nodes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:80,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:81,1
    - Dst: dnssec_nsec3_hash_length
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:84,1
    - Dst: dnssec_nsec_bitmap_size
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - params
    - rr_types
    argTypes:
    - dnssec_nsec3_params_t*
    - dnssec_nsec_bitmap_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: nsec3_rdata_size
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - dnssec_nsec_bitmap_size
    - assert
    - dnssec_nsec3_hash_length
    linkageType: ''
    returnType: size_t
    signature: "size_t nsec3_rdata_size(const dnssec_nsec3_params_t *params,\n                               const
      dnssec_nsec_bitmap_t *rr_types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:98,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:99,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:100,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:104,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:106,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:107,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:108,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:109,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:110,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:111,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:114,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:116,1
    - Dst: dnssec_nsec_bitmap_write
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - rdata
    - rdata_len
    - params
    - rr_types
    - next_hashed
    argTypes:
    - uint8_t*
    - size_t
    - dnssec_nsec3_params_t*
    - dnssec_nsec_bitmap_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: nsec3_fill_rdata
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_init
    - wire_ctx_write
    - dnssec_nsec_bitmap_write
    - wire_ctx_write_u8
    - wire_ctx_write_u16
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: "int nsec3_fill_rdata(uint8_t *rdata, size_t rdata_len,\n                            const
      dnssec_nsec3_params_t *params,\n                            const dnssec_nsec_bitmap_t
      *rr_types,\n                            const uint8_t *next_hashed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:146,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:147,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:148,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:149,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:151,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:155,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:159,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:163,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:167,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - rrset
    - owner
    - params
    - rr_types
    - next_hashed
    - ttl
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - dnssec_nsec3_params_t*
    - dnssec_nsec_bitmap_t*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 174
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 174
    functionName: create_nsec3_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_copy
    - knot_dname_free
    - memset
    - knot_rrset_init
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int create_nsec3_rrset(knot_rrset_t *rrset,\n                              const
      knot_dname_t *owner,\n                              const dnssec_nsec3_params_t
      *params,\n                              const dnssec_nsec_bitmap_t *rr_types,\n
      \                             const uint8_t *next_hashed,\n                              uint32_t
      ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:185,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:186,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:187,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:188,1
    - Dst: node_new
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:190,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:199,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:203,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:204,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - owner
    - nsec3_params
    - apex_node
    - rr_types
    - ttl
    argTypes:
    - knot_dname_t*
    - dnssec_nsec3_params_t*
    - zone_node_t*
    - dnssec_nsec_bitmap_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: create_nsec3_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - node_free
    - assert
    - node_add_rrset
    - node_new
    - knot_rrset_clear
    linkageType: ''
    returnType: zone_node_t
    signature: "zone_node_t *create_nsec3_node(const knot_dname_t *owner,\n                                      const
      dnssec_nsec3_params_t *nsec3_params,\n                                      zone_node_t
      *apex_node,\n                                      const dnssec_nsec_bitmap_t
      *rr_types,\n                                      uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:228,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:229,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:230,1
    - Dst: dnssec_nsec_bitmap_new
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:239,1
    - Dst: bitmap_add_node_rrsets
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:244,1
    - Dst: node_should_be_signed_nsec3
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:245,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:246,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:249,1
    - Dst: create_nsec3_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:252,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - node
    - apex
    - params
    - ttl
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: create_nsec3_node_for_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - create_nsec3_node
    - bitmap_add_node_rrsets
    - dnssec_nsec_bitmap_new
    - dnssec_nsec_bitmap_add
    - node_should_be_signed_nsec3
    - dnssec_nsec_bitmap_free
    linkageType: ''
    returnType: zone_node_t
    signature: "zone_node_t *create_nsec3_node_for_node(const zone_node_t *node,\n
      \                                              zone_node_t *apex,\n                                               const
      dnssec_nsec3_params_t *params,\n                                               uint32_t
      ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:264,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:271,1
    - Dst: dnssec_nsec3_hash_length
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:271,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a_rrs
    - b_name
    argTypes:
    - knot_rdataset_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: connect_nsec3_base
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_nsec3_hash_length
    linkageType: ''
    returnType: int
    signature: int connect_nsec3_base(knot_rdataset_t *a_rrs, const knot_dname_t *b_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:300,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:301,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:302,1
    - Dst: connect_nsec3_base
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:304,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - nsec_chain_iterate_data_t *data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - _unused_
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: connect_nsec3_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - connect_nsec3_base
    - node_rdataset
    - assert
    linkageType: ''
    returnType: int
    signature: "int connect_nsec3_nodes(zone_node_t *a, zone_node_t *b,\n                               _unused_
      nsec_chain_iterate_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:319,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:321,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:322,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:322,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:325,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:332,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:333,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:338,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:340,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 316
    functionDepth: 6
    functionLinenumber: 316
    functionLinenumberEnd: 344
    functionName: connect_nsec3_nodes2
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_copy
    - knot_rrset_equal
    - node_rrset
    - zone_update_add
    - zone_update_remove
    linkageType: ''
    returnType: int
    signature: "int connect_nsec3_nodes2(zone_node_t *a, zone_node_t *b,\n                                nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:358,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:360,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:361,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:361,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:363,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:364,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:364,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:367,1
    - Dst: knot_nsec3_next_len
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:376,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:377,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:380,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:384,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 388
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 388
    functionName: reconnect_nsec3_nodes2
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_copy
    - node_rrset
    - zone_update_add
    - knot_nsec3_next_len
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int reconnect_nsec3_nodes2(zone_node_t *a, zone_node_t *b,\n\t\t\t\t
      \ nsec_chain_iterate_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:408,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:409,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:410,1
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:415,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:416,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:422,1
    - Dst: nsec3_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:426,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:427,1
    - Dst: create_nsec3_node_for_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:432,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:439,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:444,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - zone
    - params
    - ttl
    - nsec3_nodes
    - update
    argTypes:
    - zone_contents_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    - zone_tree_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 450
    functionName: create_nsec3_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - create_nsec3_node_for_node
    - zone_tree_insert
    - zone_tree_delsafe_it_finished
    - zone_tree_delsafe_it_free
    - zone_tree_delsafe_it_val
    - knot_nsec_changeset_remove
    - zone_tree_delsafe_it_next
    - nsec3_empty
    linkageType: ''
    returnType: int
    signature: "int create_nsec3_nodes(const zone_contents_t *zone,\n                              const
      dnssec_nsec3_params_t *params,\n                              uint32_t ttl,\n
      \                             zone_tree_t *nsec3_nodes,\n                              zone_update_t
      *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:467,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:468,1
    - Dst: node_bitmap_equal
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:473,1
    - Dst: zone_contents_find_nsec3_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:489,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:490,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:492,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:493,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:494,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:495,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:496,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:497,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:499,1
    - Dst: knot_nsec3_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:500,1
    - Dst: knot_nsec3_next_len
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:501,1
    - Dst: create_nsec3_node_for_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:507,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:511,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:512,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:512,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:518,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:522,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:526,1
    - Dst: binode_unify
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:528,1
    - Dst: node_free_rrsets
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:529,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:530,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - update
    - params
    - ttl
    - for_node
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 534
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 534
    functionName: fix_nsec3_for_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - node_free
    - knot_rrset_empty
    - create_nsec3_node_for_node
    - node_rrset
    - zone_contents_find_node
    - zone_update_add
    - memcpy
    - node_bitmap_equal
    - knot_nsec3_next
    - knot_nsec3_next_len
    - node_free_rrsets
    - zone_update_remove
    - binode_unify
    - zone_contents_find_nsec3_node
    linkageType: ''
    returnType: int
    signature: "int fix_nsec3_for_node(zone_update_t *update, const dnssec_nsec3_params_t
      *params,\n                              uint32_t ttl, const knot_dname_t *for_node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:539,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:544,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:545,1
    - Dst: fix_nsec3_for_node
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:546,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:547,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - update
    - params
    - ttl
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 7
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: fix_nsec3_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - fix_nsec3_for_node
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: "int fix_nsec3_nodes(zone_update_t *update, const dnssec_nsec3_params_t
      *params,\n                           uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_delsafe_it_begin
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:562,1
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:563,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:564,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:565,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:566,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:567,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:568,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:569,1
    - Dst: node_remove_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:570,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:572,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:574,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:575,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:577,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:579,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:585,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:586,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:587,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:588,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:589,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:590,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:592,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - up
    - nsec3n
    argTypes:
    - zone_update_t*
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 596
      start: 554
    functionDepth: 6
    functionLinenumber: 554
    functionLinenumberEnd: 596
    functionName: zone_update_nsec3_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 0
    functionsReached:
    - zone_tree_delsafe_it_next
    - knot_rrset_empty
    - zone_tree_it_val
    - node_rrset
    - knot_rrset_equal
    - node_rrtype_exists
    - zone_tree_delsafe_it_finished
    - zone_update_add
    - zone_tree_it_begin
    - zone_tree_it_next
    - zone_tree_get
    - zone_tree_it_finished
    - zone_tree_delsafe_it_free
    - zone_tree_delsafe_it_begin
    - zone_tree_delsafe_it_val
    - zone_tree_it_free
    - knot_nsec_changeset_remove
    - node_remove_rdataset
    linkageType: ''
    returnType: int
    signature: int zone_update_nsec3_nodes(zone_update_t *up, zone_tree_t *nsec3n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:602,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - up
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: delete_nsec3_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 1
    functionsReached:
    - zone_tree_free
    - zone_tree_create
    linkageType: ''
    returnType: int
    signature: int delete_nsec3_chain(zone_update_t *up)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:619,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:620,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:622,1
    - Dst: free_nsec3_tree
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:629,1
    - Dst: knot_nsec_chain_iterate_create
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:633,1
    - Dst: free_nsec3_tree
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:636,1
    - Dst: zone_update_nsec3_nodes
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:640,1
    - Dst: free_nsec3_tree
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - zone
    - params
    - ttl
    - update
    argTypes:
    - zone_contents_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 614
    functionDepth: 7
    functionLinenumber: 614
    functionLinenumberEnd: 645
    functionName: knot_nsec3_create_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 2
    functionsReached:
    - assert
    - free_nsec3_tree
    - zone_tree_create
    - knot_nsec_chain_iterate_create
    - zone_update_nsec3_nodes
    linkageType: ''
    returnType: int
    signature: "int knot_nsec3_create_chain(const zone_contents_t *zone,\n                            const
      dnssec_nsec3_params_t *params,\n                            uint32_t ttl,\n
      \                           zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:651,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:652,1
    - Dst: knot_nsec3param_uptodate
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:655,1
    - Dst: knot_nsec3_create_chain
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:660,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:668,1
    - Dst: zone_contents_find_nsec3_for_name
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:675,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:677,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:678,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:679,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:679,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:680,1
    - Dst: knot_nsec_chain_iterate_fix
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - update
    - params
    - ttl
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 692
      start: 647
    functionDepth: 8
    functionLinenumber: 647
    functionLinenumberEnd: 692
    functionName: knot_nsec3_fix_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_nsec3_create_chain
    - zone_adjust_contents
    - binode_counterpart
    - zone_tree_insert
    - knot_nsec_chain_iterate_fix
    - zone_contents_find_nsec3_for_name
    - knot_nsec3param_uptodate
    linkageType: ''
    returnType: int
    signature: "int knot_nsec3_fix_chain(zone_update_t *update,\n                         const
      dnssec_nsec3_params_t *params,\n                         uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_nsec_chain_iterate_create
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - update
    - params
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 705
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 705
    functionName: knot_nsec3_check_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 1
    functionsReached:
    - knot_nsec_chain_iterate_create
    linkageType: ''
    returnType: int
    signature: int knot_nsec3_check_chain(zone_update_t *update, const dnssec_nsec3_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nsec_check_bitmaps
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:716,1
    - Dst: nsec_check_new_connects
      Src: /src/knot-dns/src/knot/dnssec/nsec3-chain.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - update
    - params
    argTypes:
    - zone_update_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 722
    functionName: knot_nsec3_check_chain_fix
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec3-chain.c
    functionUses: 1
    functionsReached:
    - nsec_check_new_connects
    - nsec_check_bitmaps
    linkageType: ''
    returnType: int
    signature: int knot_nsec3_check_chain_fix(zone_update_t *update, const dnssec_nsec3_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/policy.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: zone_soa_ttl
    functionSourceFile: /src/knot-dns/src/knot/dnssec/policy.c
    functionUses: 0
    functionsReached:
    - node_rrset
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_soa_ttl(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/policy.c:20,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/policy.c:21,1
    - Dst: zone_soa_ttl
      Src: /src/knot-dns/src/knot/dnssec/policy.c:24,1
    - Dst: MIN
      Src: /src/knot-dns/src/knot/dnssec/policy.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - policy
    - zone
    argTypes:
    - knot_kasp_policy_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: update_policy_from_zone
    functionSourceFile: /src/knot-dns/src/knot/dnssec/policy.c
    functionUses: 3
    functionsReached:
    - assert
    - MIN
    - zone_soa_ttl
    linkageType: ''
    returnType: void
    signature: "void update_policy_from_zone(knot_kasp_policy_t *policy,\n                             const
      zone_contents_t *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dnskey_flags
    argTypes:
    - "enum {\n\tDNSKEY_FLAGS_ZSK     = KNOT_DNSKEY_FLAG_ZONE,\n\tDNSKEY_FLAGS_KSK
      \    = KNOT_DNSKEY_FLAG_ZONE | KNOT_DNSKEY_FLAG_SEP,\n\tDNSKEY_FLAGS_REVOKED
      = KNOT_DNSKEY_FLAG_ZONE | KNOT_DNSKEY_FLAG_SEP | KNOT_DNSKEY_FLAG_REVOKE,\n}"
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: knot_dynarray_declare
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-keys.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void knot_dynarray_declare(keyptr, zone_key_t *, DYNARRAY_VISIBILITY_NORMAL,
      1)\n\ntypedef struct {\n\tsize_t count;\n\tzone_key_t *keys;\n} zone_keyset_t;\n\n/*!\n
      * \\brief Signing context used for single signing thread.\n */\ntypedef struct
      {\n\tsize_t count;                     // number of keys in keyset\n\tzone_key_t
      *keys;                 // keys in keyset\n\tdnssec_sign_ctx_t **sign_ctxs;    //
      signing buffers for keys in keyset\n\tconst kdnssec_ctx_t *dnssec_ctx;  // dnssec
      context\n} zone_sign_ctx_t;\n\n/*!\n * \\brief Flags determining key type\n
      */\nenum {\n\tDNSKEY_FLAGS_ZSK     = KNOT_DNSKEY_FLAG_ZONE,\n\tDNSKEY_FLAGS_KSK
      \    = KNOT_DNSKEY_FLAG_ZONE | KNOT_DNSKEY_FLAG_SEP,\n\tDNSKEY_FLAGS_REVOKED
      = KNOT_DNSKEY_FLAG_ZONE | KNOT_DNSKEY_FLAG_SEP | KNOT_DNSKEY_FLAG_REVOKE,\n};\n\ninline
      static uint16_t dnskey_flags(bool is_ksk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:20,1
    - Dst: rrsig_covers_type
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:26,1
    - Dst: rrsig_covers_type
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:27,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:35,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 3
    argNames:
    - bitmap
    - node
    - exact
    argTypes:
    - dnssec_nsec_bitmap_t*
    - zone_node_t*
    - bool
    constantsTouched: []
    func_position:
      end: 37
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 37
    functionName: bitmap_add_node_rrsets
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - node_rrset_at
    - rrsig_covers_type
    - dnssec_nsec_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void bitmap_add_node_rrsets(dnssec_nsec_bitmap_t *bitmap, const zone_node_t
      *node,\n                            bool exact)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:45,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:50,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - rrset
    - from_owner
    - to_owner
    - ttl
    - bitmap_size
    - bitmap_writeto
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - knot_dname_t*
    - uint32_t
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: create_nsec_base
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_rrset_init
    - assert
    linkageType: ''
    returnType: int
    signature: "int create_nsec_base(knot_rrset_t *rrset, knot_dname_t *from_owner,\n
      \                           const knot_dname_t *to_owner, uint32_t ttl,\n                            size_t
      bitmap_size, uint8_t **bitmap_writeto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:73,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:74,1
    - Dst: dnssec_nsec_bitmap_new
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:76,1
    - Dst: bitmap_add_node_rrsets
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:81,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:82,1
    - Dst: dnssec_nsec_bitmap_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:83,1
    - Dst: dnssec_nsec_bitmap_write
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:89,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - rrset
    - from
    - to
    - ttl
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - knot_dname_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: create_nsec_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_nsec_bitmap_write
    - bitmap_add_node_rrsets
    - dnssec_nsec_bitmap_new
    - dnssec_nsec_bitmap_add
    - dnssec_nsec_bitmap_free
    linkageType: ''
    returnType: int
    signature: "int create_nsec_rrset(knot_rrset_t *rrset, const zone_node_t *from,\n
      \                            const knot_dname_t *to, uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:112,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:113,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:122,1
    - Dst: knot_nsec_empty_nsec_and_rrsigs_in_node
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:123,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:124,1
    - Dst: create_nsec_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:138,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:143,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:145,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:147,1
    - Dst: knot_rrset_rr_to_canonical
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:148,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:150,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:155,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:159,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:163,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:165,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:171,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 174
    functionName: connect_nsec_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - create_nsec_rrset
    - knot_rrset_copy
    - node_rrset
    - node_rrtype_exists
    - zone_update_add
    - knot_rrset_rr_to_canonical
    - knot_nsec_changeset_remove
    - knot_nsec_empty_nsec_and_rrsigs_in_node
    linkageType: ''
    returnType: int
    signature: "int connect_nsec_nodes(zone_node_t *a, zone_node_t *b,\n                              nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:188,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:189,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:190,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:192,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:193,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:193,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:195,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:196,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:196,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:205,1
    - Dst: knot_nsec_bitmap
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:205,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:208,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:210,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 215
    functionName: reconnect_nsec_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - assert
    - knot_rrset_empty
    - knot_nsec_bitmap
    - node_rrset
    - zone_update_add
    - memcpy
    - zone_update_remove
    linkageType: ''
    returnType: int
    signature: "int reconnect_nsec_nodes(zone_node_t *a, zone_node_t *b,\n                                nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: node_no_nsec
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool node_no_nsec(zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_no_nsec
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:235,1
    - Dst: knot_nsec_empty_nsec_and_rrsigs_in_node
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:235,1
    - Dst: knot_nsec_changeset_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:236,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:239,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:240,1
    - Dst: knot_nsec_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:242,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:246,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:247,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:250,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: nsec_update_bitmap
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - knot_rrset_empty
    - knot_nsec_next
    - node_rrset
    - zone_update_add
    - node_no_nsec
    - zone_update_remove
    - knot_nsec_changeset_remove
    - knot_nsec_empty_nsec_and_rrsigs_in_node
    linkageType: ''
    returnType: int
    signature: "int nsec_update_bitmap(zone_node_t *node,\n\t\t\t      nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:264,1
    - Dst: nsec_update_bitmap
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:265,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:265,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:266,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - node_ptrs
    - data
    argTypes:
    - zone_tree_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: nsec_update_bitmaps
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - nsec_update_bitmap
    - zone_tree_delsafe_it_finished
    - zone_tree_delsafe_it_free
    - zone_tree_delsafe_it_val
    - zone_tree_delsafe_it_next
    linkageType: ''
    returnType: int
    signature: "int nsec_update_bitmaps(zone_tree_t *node_ptrs,\n                               nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:274,1
    - Dst: knot_nsec3_alg
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:280,1
    - Dst: knot_nsec3_iters
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:281,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:282,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:283,1
    - Dst: knot_nsec3_salt
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:283,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - node
    - params
    argTypes:
    - zone_node_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: node_nsec3_unmatching
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_nsec3_iters
    - knot_rdataset_next
    - memcmp
    - knot_nsec3_alg
    - knot_nsec3_salt_len
    - knot_nsec3_salt
    linkageType: ''
    returnType: bool
    signature: bool node_nsec3_unmatching(const zone_node_t *node, const dnssec_nsec3_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_no_nsec
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:294,1
    - Dst: node_nsec3_unmatching
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:294,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:297,1
    - Dst: knot_nsec_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:304,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:305,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:315,1
    - Dst: knot_nsec3_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - a
    - b
    - data
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: nsec_check_connect_nodes
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_nsec_next
    - node_nsec3_unmatching
    - knot_dname_is_case_equal
    - memcmp
    - node_no_nsec
    - knot_nsec3_next
    linkageType: ''
    returnType: int
    signature: "int nsec_check_connect_nodes(zone_node_t *a, zone_node_t *b,\n                             nsec_chain_iterate_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:328,1
    - Dst: node_nsec3_unmatching
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:331,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:332,1
    - Dst: knot_nsec_empty_nsec_and_rrsigs_in_node
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - node
    - matching_params
    argTypes:
    - zone_node_t*
    - dnssec_nsec3_params_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: nsec_prev
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_nsec_empty_nsec_and_rrsigs_in_node
    - node_nsec3_unmatching
    - node_prev
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *nsec_prev(zone_node_t *node, const dnssec_nsec3_params_t
      *matching_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_no_nsec
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:338,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:352,1
    - Dst: knot_dname_store
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:361,1
    - Dst: knot_nsec_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:361,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:364,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:365,1
    - Dst: knot_nsec3_hash_to_dname
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:367,1
    - Dst: knot_nsec3_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:368,1
    - Dst: knot_nsec3_next_len
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:369,1
    - Dst: zone_contents_find_nsec3_node
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:374,1
    - Dst: nsec_prev
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 387
    functionName: nsec_check_prev_next
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_nsec_next
    - nsec_prev
    - knot_dname_store
    - zone_contents_find_node
    - knot_nsec3_hash_to_dname
    - node_no_nsec
    - knot_nsec3_next
    - knot_nsec3_next_len
    - knot_dname_to_lower
    - zone_contents_find_nsec3_node
    linkageType: ''
    returnType: int
    signature: int nsec_check_prev_next(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - data
    argTypes:
    - zone_tree_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: nsec_check_new_connects
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: int nsec_check_new_connects(zone_tree_t *tree, nsec_chain_iterate_data_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:400,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:401,1
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: check_subtree_optout
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - node_nsec3_get
    linkageType: ''
    returnType: int
    signature: int check_subtree_optout(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:410,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:415,1
    - Dst: node_nsec3_get
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:419,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:424,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:446,1
    - Dst: zone_contents_find_nsec3
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:449,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:458,1
    - Dst: knot_nsec3param_flags
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:462,1
    - Dst: dnssec_nsec_bitmap_new
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:470,1
    - Dst: bitmap_add_node_rrsets
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:474,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:479,1
    - Dst: dnssec_nsec_bitmap_write
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:482,1
    - Dst: dnssec_nsec_bitmap_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:483,1
    - Dst: knot_nsec_bitmap
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:488,1
    - Dst: knot_nsec_bitmap_len
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:489,1
    - Dst: knot_nsec3_bitmap
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:491,1
    - Dst: knot_nsec3_bitmap_len
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:492,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:496,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:497,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:502,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 504
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 504
    functionName: check_nsec_bitmap
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - assert
    - knot_nsec3_bitmap_len
    - dnssec_nsec_bitmap_write
    - knot_nsec_bitmap
    - free
    - bitmap_add_node_rrsets
    - dnssec_nsec_bitmap_new
    - node_rrtype_exists
    - memcmp
    - knot_nsec3param_flags
    - node_nsec3_get
    - knot_nsec3_bitmap
    - zone_contents_find_nsec3
    - dnssec_nsec_bitmap_free
    - knot_nsec_bitmap_len
    linkageType: ''
    returnType: int
    signature: int check_nsec_bitmap(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nsec_ptrs
    - data
    argTypes:
    - zone_tree_t*
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: nsec_check_bitmaps
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: int nsec_check_bitmaps(zone_tree_t *nsec_ptrs, nsec_chain_iterate_data_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - a
    - b
    - ref
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 528
    functionName: node_nearer
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_nearer(zone_node_t *a, zone_node_t *b, zone_node_t
      *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:539,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:540,1
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:548,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:549,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:553,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:557,1
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:559,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:560,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:562,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:569,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:572,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:575,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:577,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - nodes
    - callback
    - data
    argTypes:
    - zone_tree_t*
    - chain_iterate_create_cb
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 579
    functionName: knot_nsec_chain_iterate_create
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 2
    functionsReached:
    - assert
    - callback
    - zone_tree_delsafe_it_finished
    - zone_tree_delsafe_it_free
    - zone_tree_delsafe_it_val
    - zone_tree_delsafe_it_next
    linkageType: ''
    returnType: int
    signature: "int knot_nsec_chain_iterate_create(zone_tree_t *nodes,\n                                   chain_iterate_create_cb
      callback,\n                                   nsec_chain_iterate_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:595,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:596,1
    - Dst: zone_tree_delsafe_it_restart
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:597,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:600,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:601,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:606,1
    - Dst: nsec_prev
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:618,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:619,1
    - Dst: node_no_nsec
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:620,1
    - Dst: node_nearer
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:622,1
    - Dst: cb_reconn
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:623,1
    - Dst: nsec_prev
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:626,1
    - Dst: cb_reconn
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:627,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:629,1
    - Dst: zone_tree_delsafe_it_next
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:634,1
    - Dst: zone_tree_delsafe_it_free
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - node_ptrs
    - callback
    - cb_reconn
    - data
    argTypes:
    - zone_tree_t*
    - chain_iterate_create_cb
    - chain_iterate_create_cb
    - nsec_chain_iterate_data_t*
    constantsTouched: []
    func_position:
      end: 638
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 638
    functionName: knot_nsec_chain_iterate_fix
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - assert
    - zone_tree_delsafe_it_restart
    - nsec_prev
    - node_nearer
    - callback
    - binode_counterpart
    - zone_tree_delsafe_it_finished
    - node_no_nsec
    - zone_tree_delsafe_it_free
    - zone_tree_delsafe_it_val
    - zone_tree_delsafe_it_next
    - cb_reconn
    linkageType: ''
    returnType: int
    signature: "int knot_nsec_chain_iterate_fix(zone_tree_t *node_ptrs,\n                                chain_iterate_create_cb
      callback,\n                                chain_iterate_create_cb cb_reconn,\n
      \                               nsec_chain_iterate_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:652,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:653,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:654,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:656,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:657,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:659,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:660,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:662,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:664,1
    - Dst: knot_synth_rrsig
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:666,1
    - Dst: knot_synth_rrsig
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:670,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:675,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:683,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - n
    - update
    argTypes:
    - zone_node_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 688
      start: 645
    functionDepth: 5
    functionLinenumber: 645
    functionLinenumberEnd: 688
    functionName: knot_nsec_changeset_remove
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 4
    functionsReached:
    - knot_rdataset_clear
    - knot_rrset_empty
    - node_rrset
    - zone_update_remove
    - knot_rrset_init
    - knot_synth_rrsig
    linkageType: ''
    returnType: int
    signature: int knot_nsec_changeset_remove(const zone_node_t *n, zone_update_t
      *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:696,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 706
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 706
    functionName: knot_nsec_empty_nsec_and_rrsigs_in_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 3
    functionsReached:
    - node_rrset_at
    - assert
    linkageType: ''
    returnType: bool
    signature: bool knot_nsec_empty_nsec_and_rrsigs_in_node(const zone_node_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:715,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:716,1
    - Dst: knot_nsec_chain_iterate_create
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - update
    - ttl
    argTypes:
    - zone_update_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 722
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 722
    functionName: knot_nsec_create_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 2
    functionsReached:
    - assert
    - knot_nsec_chain_iterate_create
    linkageType: ''
    returnType: int
    signature: int knot_nsec_create_chain(zone_update_t *update, uint32_t ttl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:726,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:727,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:728,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:737,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:743,1
    - Dst: knot_nsec_chain_iterate_fix
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - update
    - ttl
    argTypes:
    - zone_update_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 750
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 750
    functionName: knot_nsec_fix_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - assert
    - zone_adjust_contents
    - knot_nsec_chain_iterate_fix
    - zone_tree_insert
    linkageType: ''
    returnType: int
    signature: int knot_nsec_fix_chain(zone_update_t *update, uint32_t ttl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:754,1
    - Dst: knot_nsec_chain_iterate_create
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 769
    functionName: knot_nsec_check_chain
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - zone_tree_is_empty
    - knot_nsec_chain_iterate_create
    linkageType: ''
    returnType: int
    signature: int knot_nsec_check_chain(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:773,1
    - Dst: nsec_check_new_connects
      Src: /src/knot-dns/src/knot/dnssec/nsec-chain.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: knot_nsec_check_chain_fix
    functionSourceFile: /src/knot-dns/src/knot/dnssec/nsec-chain.c
    functionUses: 1
    functionsReached:
    - nsec_check_new_connects
    - zone_tree_is_empty
    linkageType: ''
    returnType: int
    signature: int knot_nsec_check_chain_fix(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:41,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - type
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: rrset_init_from
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_init
    - assert
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t rrset_init_from(const knot_rrset_t *src, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:52,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:52,1
    - Dst: rrset_init_from
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - covered
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: create_empty_rrsigs_for
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - rrset_init_from
    - assert
    - knot_rrset_empty
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t create_empty_rrsigs_for(const knot_rrset_t *covered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:60,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:61,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:62,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:63,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - old_apex
    - new_apex
    - type
    argTypes:
    - zone_node_t*
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: apex_rr_changed
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_equal
    - assert
    - node_rrset
    linkageType: ''
    returnType: bool
    signature: "bool apex_rr_changed(const zone_node_t *old_apex,\n                            const
      zone_node_t *new_apex,\n                            uint16_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: apex_rr_changed
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:73,1
    - Dst: apex_rr_changed
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - update
    argTypes:
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: apex_dnssec_changed
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - apex_rr_changed
    linkageType: ''
    returnType: bool
    signature: bool apex_dnssec_changed(zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:110,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:112,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 9
    argNames:
    - covered
    - rrsigs
    - key
    - ctx
    - dnssec_ctx
    - refresh
    - skip_crypto
    - invalid_map
    - at
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - dnssec_key_t*
    - dnssec_sign_ctx_t*
    - kdnssec_ctx_t*
    - knot_timediff_t
    - bool
    - uint8_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: valid_signature_exists
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rdataset_next
    linkageType: ''
    returnType: bool
    signature: "bool valid_signature_exists(const knot_rrset_t *covered,\n\t\t\t\t
      \  const knot_rrset_t *rrsigs,\n\t\t\t\t   const dnssec_key_t *key,\n\t\t\t\t
      \  dnssec_sign_ctx_t *ctx,\n\t\t\t\t   const kdnssec_ctx_t *dnssec_ctx,\n\t\t\t\t
      \  knot_timediff_t refresh,\n\t\t\t\t   bool skip_crypto,\n\t\t\t\t   uint8_t
      *invalid_map,\n\t\t\t\t   uint16_t *at)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:163,1
    - Dst: knot_time_from_u32
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:169,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rrsig
    - now
    - expires_at
    argTypes:
    - knot_rdata_t*
    - knot_time_t
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: note_earliest_expiration
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_time_min
    - knot_time_from_u32
    linkageType: ''
    returnType: void
    signature: "void note_earliest_expiration(const knot_rdata_t *rrsig, knot_time_t
      now,\n                                     knot_time_t *expires_at)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:176,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:179,1
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:182,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rrsig
    - type
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: rrsig_covers_type
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_rrset_empty
    - knot_rdataset_next
    - knot_rrsig_type_covered
    linkageType: ''
    returnType: bool
    signature: bool rrsig_covers_type(const knot_rrset_t *rrsig, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:211,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:211,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:212,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:213,1
    - Dst: create_empty_rrsigs_for
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:215,1
    - Dst: create_empty_rrsigs_for
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:216,1
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:221,1
    - Dst: rrsig_covers_type
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:222,1
    - Dst: knot_synth_rrsig
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:223,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:227,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:229,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:231,1
    - Dst: knot_zone_sign_use_key
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:237,1
    - Dst: valid_signature_exists
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:244,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:246,1
    - Dst: knot_rdataset_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:247,1
    - Dst: knot_spin_lock
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:248,1
    - Dst: note_earliest_expiration
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:249,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:251,1
    - Dst: knot_sign_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:254,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:258,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:260,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:262,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:266,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:268,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:270,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:274,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:275,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 6
    argNames:
    - covered
    - rrsigs
    - sign_ctx
    - skip_crypto
    - changeset
    - update
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - zone_sign_ctx_t*
    - bool
    - changeset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 278
    functionName: add_missing_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - changeset_add_addition
    - knot_rrset_empty
    - note_earliest_expiration
    - zone_update_add
    - knot_rdataset_remove
    - create_empty_rrsigs_for
    - knot_dname_cmp
    - knot_rdataset_at
    - assert
    - changeset_add_removal
    - knot_spin_unlock
    - knot_rdataset_subtract
    - zone_update_remove
    - knot_spin_lock
    - valid_signature_exists
    - knot_rdataset_clear
    - rrsig_covers_type
    - knot_sign_rrset
    - knot_zone_sign_use_key
    - knot_synth_rrsig
    linkageType: ''
    returnType: int
    signature: "int add_missing_rrsigs(const knot_rrset_t *covered,\n                              const
      knot_rrset_t *rrsigs,\n                              zone_sign_ctx_t *sign_ctx,\n
      \                             bool skip_crypto,\n                              changeset_t
      *changeset,\n                              zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ksk
    - zsk
    - type
    - owner
    - zone_apex
    argTypes:
    - bool
    - bool
    - uint16_t
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: key_used
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_dname_cmp
    linkageType: ''
    returnType: bool
    signature: "bool key_used(bool ksk, bool zsk, uint16_t type,\n                     const
      knot_dname_t *owner, const knot_dname_t *zone_apex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:307,1
    - Dst: key_used
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:312,1
    - Dst: valid_signature_exists
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:318,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:321,1
    - Dst: note_earliest_expiration
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:322,1
    - Dst: knot_spin_lock
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:325,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:327,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - covered
    - rrsigs
    - sign_ctx
    - skip_crypto
    - valid_until
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - zone_sign_ctx_t*
    - bool
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 341
    functionName: knot_validate_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - valid_signature_exists
    - knot_time_min
    - key_used
    - note_earliest_expiration
    - knot_spin_unlock
    - memset
    - knot_spin_lock
    - knot_rdataset_at
    linkageType: ''
    returnType: int
    signature: "int knot_validate_rrsigs(const knot_rrset_t *covered,\n                         const
      knot_rrset_t *rrsigs,\n                         zone_sign_ctx_t *sign_ctx,\n
      \                        bool skip_crypto,\n                         knot_time_t
      *valid_until)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:355,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:356,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:358,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:368,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - owner
    - type
    - rrsigs
    - changeset
    argTypes:
    - knot_dname_t*
    - uint16_t
    - knot_rrset_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: remove_rrset_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - changeset_add_removal
    - knot_rrset_init
    - assert
    - knot_rdataset_clear
    linkageType: ''
    returnType: int
    signature: "int remove_rrset_rrsigs(const knot_dname_t *owner, uint16_t type,\n
      \                              const knot_rrset_t *rrsigs,\n                               changeset_t
      *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:389,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:389,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:391,1
    - Dst: add_missing_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - covered
    - rrsigs
    - sign_ctx
    - changeset
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - zone_sign_ctx_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 7
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: force_resign_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - add_missing_rrsigs
    linkageType: ''
    returnType: int
    signature: "int force_resign_rrset(const knot_rrset_t *covered,\n                              const
      knot_rrset_t *rrsigs,\n                              zone_sign_ctx_t *sign_ctx,\n
      \                             changeset_t *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:419,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:419,1
    - Dst: add_missing_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - covered
    - rrsigs
    - sign_ctx
    - skip_crypto
    - changeset
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - zone_sign_ctx_t*
    - bool
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 7
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: resign_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - add_missing_rrsigs
    linkageType: ''
    returnType: int
    signature: "int resign_rrset(const knot_rrset_t *covered,\n                        const
      knot_rrset_t *rrsigs,\n                        zone_sign_ctx_t *sign_ctx,\n
      \                       bool skip_crypto,\n                        changeset_t
      *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:436,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:438,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:444,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:445,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - node
    - rrsigs
    - changeset
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 454
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 454
    functionName: remove_standalone_rrsigs
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - changeset_add_removal
    - knot_rdataset_next
    - node_rrtype_exists
    - knot_rrset_init
    linkageType: ''
    returnType: int
    signature: "int remove_standalone_rrsigs(const zone_node_t *node,\n                                    const
      knot_rrset_t *rrsigs,\n                                    changeset_t *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:471,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:472,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:475,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:480,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:481,1
    - Dst: knot_zone_sign_rr_should_be_signed
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:483,1
    - Dst: remove_rrset_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:485,1
    - Dst: knot_synth_rrsig_exists
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:487,1
    - Dst: knot_validate_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:498,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:499,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:507,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:508,1
    - Dst: force_resign_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:511,1
    - Dst: resign_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:514,1
    - Dst: remove_standalone_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - node
    - sign_ctx
    - changeset
    - hint
    argTypes:
    - zone_node_t*
    - zone_sign_ctx_t*
    - changeset_t*
    - dnssec_validation_hint_t*
    constantsTouched: []
    func_position:
      end: 523
      start: 466
    functionDepth: 8
    functionLinenumber: 466
    functionLinenumberEnd: 523
    functionName: sign_node_rrsets
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - resign_rrset
    - knot_time_diff
    - assert
    - knot_validate_rrsigs
    - remove_standalone_rrsigs
    - node_rrset_at
    - node_rrset
    - knot_synth_rrsig_exists
    - MAX
    - force_resign_rrset
    - remove_rrset_rrsigs
    - knot_zone_sign_rr_should_be_signed
    linkageType: ''
    returnType: int
    signature: "int sign_node_rrsets(const zone_node_t *node,\n                            zone_sign_ctx_t
      *sign_ctx,\n                            changeset_t *changeset,\n                            dnssec_validation_hint_t
      *hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:549,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:550,1
    - Dst: sign_node_rrsets
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 9
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: sign_node
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - sign_node_rrsets
    linkageType: ''
    returnType: int
    signature: int sign_node(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: tree_sign_thread
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: void
    signature: void *tree_sign_thread(void *_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - _unused_*
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: set_signed
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_signed(zone_node_t *node, _unused_ void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:595,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:596,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:597,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:601,1
    - Dst: zone_validation_ctx
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:607,1
    - Dst: zone_sign_ctx
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:608,1
    - Dst: changeset_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:613,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:626,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:627,1
    - Dst: tree_sign_thread
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:634,1
    - Dst: pthread_create
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:639,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:645,1
    - Dst: knot_map_errno_code
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:654,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:658,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:662,1
    - Dst: changeset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:662,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:663,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:664,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 5
    argNames:
    - tree
    - num_threads
    - zone_keys
    - dnssec_ctx
    - update
    argTypes:
    - zone_tree_t*
    - size_t
    - zone_keyset_t*
    - kdnssec_ctx_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 668
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 668
    functionName: zone_tree_sign
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_sign_ctx_free
    - tree_sign_thread
    - pthread_join
    - pthread_create
    - zone_validation_ctx
    - changeset_clear
    - changeset_empty
    - changeset_init
    - memset
    - zone_sign_ctx
    - zone_update_apply_changeset
    - knot_map_errno_code
    linkageType: ''
    returnType: int
    signature: "int zone_tree_sign(zone_tree_t *tree,\n                          size_t
      num_threads,\n                          zone_keyset_t *zone_keys,\n                          const
      kdnssec_ctx_t *dnssec_ctx,\n                          zone_update_t *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:679,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rrset
    - zone_key
    argTypes:
    - knot_rrset_t*
    - zone_key_t*
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: rrset_add_zone_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_add_rdata
    - dnssec_key_get_rdata
    linkageType: ''
    returnType: int
    signature: int rrset_add_zone_key(knot_rrset_t *rrset, zone_key_t *zone_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:686,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:687,1
    - Dst: zone_key_calculate_ds
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:690,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rrset
    - zone_key
    - dt
    argTypes:
    - knot_rrset_t*
    - zone_key_t*
    - dnssec_key_digest_t
    constantsTouched: []
    func_position:
      end: 693
      start: 684
    functionDepth: 4
    functionLinenumber: 684
    functionLinenumberEnd: 693
    functionName: rrset_add_zone_ds
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_add_rdata
    - assert
    - zone_key_calculate_ds
    linkageType: ''
    returnType: int
    signature: int rrset_add_zone_ds(knot_rrset_t *rrset, zone_key_t *zone_key, dnssec_key_digest_t
      dt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:707,1
    - Dst: zone_tree_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:713,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:720,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - update
    - zone_keys
    - dnssec_ctx
    argTypes:
    - zone_update_t*
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 726
      start: 695
    functionDepth: 6
    functionLinenumber: 695
    functionLinenumberEnd: 726
    functionName: knot_zone_sign
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - zone_tree_apply
    - zone_tree_sign
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign(zone_update_t *update,\n                   zone_keyset_t
      *zone_keys,\n                   const kdnssec_ctx_t *dnssec_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:742,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:743,1
    - Dst: keyptr_dynarray_add
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:744,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:757,1
    - Dst: keyptr_dynarray_add
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:758,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:765,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - zone_keys
    argTypes:
    - kdnssec_ctx_t*
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 770
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 770
    functionName: knot_zone_sign_get_cdnskeys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - assert
    - keyptr_dynarray_add
    - dnssec_key_get_algorithm
    - log_zone_warning
    linkageType: ''
    returnType: keyptr_dynarray_t
    signature: "keyptr_dynarray_t knot_zone_sign_get_cdnskeys(const kdnssec_ctx_t
      *ctx,\n\t\t\t\t\t      zone_keyset_t *zone_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrset_add_zone_key
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:786,1
    - Dst: rrset_add_zone_key
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:788,1
    - Dst: rrset_add_zone_key
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:793,1
    - Dst: rrset_add_zone_ds
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:796,1
    - Dst: knot_zone_sign_get_cdnskeys
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:804,1
    - Dst: rrset_add_zone_key
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:806,1
    - Dst: rrset_add_zone_ds
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:808,1
    - Dst: key_records_subtract
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:813,1
    - Dst: key_records_intersect
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:815,1
    - Dst: key_records_subtract
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:818,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:825,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:827,1
    - Dst: keyptr_dynarray_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:831,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 5
    argNames:
    - zone_keys
    - dnssec_ctx
    - add_r
    - rem_r
    - orig_r
    argTypes:
    - zone_keyset_t*
    - kdnssec_ctx_t*
    - key_records_t*
    - key_records_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 833
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 833
    functionName: knot_zone_sign_add_dnskeys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - key_records_intersect
    - key_records_subtract
    - rrset_add_zone_ds
    - knot_zone_sign_get_cdnskeys
    - rrset_add_zone_key
    - keyptr_dynarray_free
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign_add_dnskeys(zone_keyset_t *zone_keys, const kdnssec_ctx_t
      *dnssec_ctx,\n                               key_records_t *add_r, key_records_t
      *rem_r, key_records_t *orig_r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:848,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:849,1
    - Dst: key_records_from_apex
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:854,1
    - Dst: key_records_to_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:864,1
    - Dst: key_records_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:871,1
    - Dst: key_records_init
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:872,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:878,1
    - Dst: key_records_to_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:881,1
    - Dst: knot_zone_sign_add_dnskeys
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:884,1
    - Dst: key_records_to_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:886,1
    - Dst: key_records_to_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:888,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:892,1
    - Dst: time
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:894,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:895,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:898,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:903,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:904,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - update
    - zone_keys
    - dnssec_ctx
    argTypes:
    - zone_update_t*
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 907
      start: 835
    functionDepth: 6
    functionLinenumber: 835
    functionLinenumberEnd: 907
    functionName: knot_zone_sign_update_dnskeys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - key_records_clear
    - knot_rrset_empty
    - key_records_from_apex
    - knot_zone_sign_add_dnskeys
    - time
    - node_rrset
    - node_rrtype_exists
    - changeset_clear
    - log_zone_info
    - key_records_init
    - key_records_to_changeset
    - zone_events_schedule_at
    - zone_update_apply_changeset
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign_update_dnskeys(zone_update_t *update,\n                                  zone_keyset_t
      *zone_keys,\n                                  kdnssec_ctx_t *dnssec_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:921,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - key
    - covered
    argTypes:
    - zone_key_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 937
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 937
    functionName: knot_zone_sign_use_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool knot_zone_sign_use_key(const zone_key_t *key, const knot_rrset_t
      *covered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:946,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:947,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:950,1
    - Dst: add_missing_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - node
    - rrtype
    - sign_ctx
    - ret_prev
    - skip_crypto
    - up
    argTypes:
    - zone_node_t*
    - uint16_t
    - zone_sign_ctx_t*
    - int
    - bool
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 952
      start: 939
    functionDepth: 7
    functionLinenumber: 939
    functionLinenumberEnd: 952
    functionName: sign_in_changeset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - node_rrset
    - add_missing_rrsigs
    linkageType: ''
    returnType: int
    signature: "int sign_in_changeset(zone_node_t *node, uint16_t rrtype,\n                             zone_sign_ctx_t
      *sign_ctx, int ret_prev,\n                             bool skip_crypto, zone_update_t
      *up)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_sign_ctx
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:962,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:970,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:971,1
    - Dst: sign_in_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:974,1
    - Dst: sign_in_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:975,1
    - Dst: sign_in_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:976,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:982,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:984,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:985,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - zone_keys
    - dnssec_ctx
    - update
    argTypes:
    - zone_keyset_t*
    - kdnssec_ctx_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 988
      start: 954
    functionDepth: 8
    functionLinenumber: 954
    functionLinenumberEnd: 988
    functionName: knot_zone_sign_nsecs_in_changeset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 1
    functionsReached:
    - zone_sign_ctx_free
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_sign_ctx
    - zone_tree_it_next
    - sign_in_changeset
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign_nsecs_in_changeset(const zone_keyset_t *zone_keys,\n
      \                                     const kdnssec_ctx_t *dnssec_ctx,\n                                      zone_update_t
      *update)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - node
    - rrset
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 1010
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1010
    functionName: knot_zone_sign_rr_should_be_signed
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - knot_rrset_empty
    linkageType: ''
    returnType: bool
    signature: "bool knot_zone_sign_rr_should_be_signed(const zone_node_t *node,\n
      \                                       const knot_rrset_t *rrset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zone_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1028,1
    - Dst: zone_tree_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1030,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1033,1
    - Dst: zone_tree_sign
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1036,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - update
    - zone_keys
    - dnssec_ctx
    argTypes:
    - zone_update_t*
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1012
    functionDepth: 7
    functionLinenumber: 1012
    functionLinenumberEnd: 1045
    functionName: knot_zone_sign_update
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - knot_zone_sign
    - zone_tree_apply
    - zone_tree_sign
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign_update(zone_update_t *update,\n                          zone_keyset_t
      *zone_keys,\n                          const kdnssec_ctx_t *dnssec_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1051,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1052,1
    - Dst: zone_sign_ctx
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1056,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1058,1
    - Dst: force_resign_rrset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1061,1
    - Dst: zone_update_apply_changeset
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1063,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1065,1
    - Dst: changeset_clear
      Src: /src/knot-dns/src/knot/dnssec/zone-sign.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - update
    - rrtype
    - zone_keys
    - dnssec_ctx
    argTypes:
    - zone_update_t*
    - uint16_t
    - zone_keyset_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1047
    functionDepth: 8
    functionLinenumber: 1047
    functionLinenumberEnd: 1069
    functionName: knot_zone_sign_apex_rr
    functionSourceFile: /src/knot-dns/src/knot/dnssec/zone-sign.c
    functionUses: 2
    functionsReached:
    - zone_sign_ctx_free
    - node_rrset
    - changeset_clear
    - force_resign_rrset
    - zone_sign_ctx
    - zone_update_apply_changeset
    linkageType: ''
    returnType: int
    signature: "int knot_zone_sign_apex_rr(zone_update_t *update, uint16_t rrtype,\n
      \                          const zone_keyset_t *zone_keys,\n                           const
      kdnssec_ctx_t *dnssec_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:16,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:16,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:18,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:18,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:20,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:20,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:22,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - kdnssec_ctx_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: key_records_init
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 2
    functionsReached:
    - knot_rrset_init
    - knot_dname_copy
    linkageType: ''
    returnType: void
    signature: void key_records_init(const kdnssec_ctx_t *ctx, key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:28,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:29,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:30,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - apex
    - r
    argTypes:
    - zone_node_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: key_records_from_apex
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 1
    functionsReached:
    - knot_rrset_init_empty
    - node_rrset
    linkageType: ''
    returnType: void
    signature: void key_records_from_apex(const zone_node_t *apex, key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - r
    - rrtype
    - rdata
    - rdlen
    - ttl
    argTypes:
    - key_records_t*
    - uint16_t
    - uint8_t*
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: key_records_add_rdata
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key_records_add_rdata(key_records_t *r, uint16_t rrtype, uint8_t
      *rdata, uint16_t rdlen, uint32_t ttl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:63,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:64,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:65,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: key_records_clear
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 3
    functionsReached:
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void key_records_clear(key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:71,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:72,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:73,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: key_records_clear_rdatasets
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    linkageType: ''
    returnType: void
    signature: void key_records_clear_rdatasets(key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:80,1
    - Dst: changeset_add_removal
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:82,1
    - Dst: changeset_add_addition
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - rr
    - ch
    - rem
    - fl
    - ret
    argTypes:
    - knot_rrset_t*
    - changeset_t*
    - bool
    - changeset_flag_t
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: add_one
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - changeset_add_removal
    - changeset_add_addition
    - knot_rrset_empty
    linkageType: ''
    returnType: int
    signature: "int add_one(const knot_rrset_t *rr, changeset_t *ch,\n                   bool
      rem, changeset_flag_t fl, int ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:94,1
    - Dst: add_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:95,1
    - Dst: add_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - r
    - ch
    - rem
    - chfl
    argTypes:
    - key_records_t*
    - changeset_t*
    - bool
    - changeset_flag_t
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: key_records_to_changeset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 1
    functionsReached:
    - add_one
    linkageType: ''
    returnType: int
    signature: "int key_records_to_changeset(const key_records_t *r, changeset_t *ch,\n
      \                            bool rem, changeset_flag_t chfl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:104,1
    - Dst: fcn
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - from
    - what
    - ret
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: subtract_one
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - fcn
    - knot_rrset_empty
    linkageType: ''
    returnType: int
    signature: "int subtract_one(knot_rrset_t *from, const knot_rrset_t *what,\n                        int
      (*fcn)(knot_rdataset_t *, const knot_rdataset_t *, knot_mm_t *),\n                        int
      ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:113,1
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:114,1
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - against
    argTypes:
    - key_records_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: key_records_subtract
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 1
    functionsReached:
    - subtract_one
    linkageType: ''
    returnType: int
    signature: int key_records_subtract(key_records_t *r, const key_records_t *against)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:122,1
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:123,1
    - Dst: subtract_one
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - against
    argTypes:
    - key_records_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: key_records_intersect
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 1
    functionsReached:
    - subtract_one
    linkageType: ''
    returnType: int
    signature: int key_records_intersect(key_records_t *r, const key_records_t *against)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:134,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:154,1
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:155,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:161,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:163,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:172,1
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:173,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - buf
    - buf_size
    - r
    - verbose
    argTypes:
    - char**
    - size_t*
    - key_records_t*
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 179
    functionName: key_records_dump
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - free
    - knot_rrset_txt_dump
    - malloc
    linkageType: ''
    returnType: int
    signature: int key_records_dump(char **buf, size_t *buf_size, const key_records_t
      *r, bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:186,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:189,1
    - Dst: knot_zone_sign_use_key
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:189,1
    - Dst: knot_sign_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:190,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:192,1
    - Dst: knot_zone_sign_use_key
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:192,1
    - Dst: knot_sign_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:193,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:195,1
    - Dst: knot_zone_sign_use_key
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:195,1
    - Dst: knot_sign_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:196,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - key
    - r
    - kctx
    argTypes:
    - zone_key_t*
    - key_records_t*
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: key_records_sign
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - knot_sign_rrset
    - dnssec_sign_free
    - knot_zone_sign_use_key
    - knot_error_from_libdnssec
    linkageType: ''
    returnType: int
    signature: int key_records_sign(const zone_key_t *key, key_records_t *r, const
      kdnssec_ctx_t *kctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_validation_ctx
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:211,1
    - Dst: knot_validate_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:217,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:218,1
    - Dst: knot_validate_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:219,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:221,1
    - Dst: knot_validate_rrsigs
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:222,1
    - Dst: knot_time_lt
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:225,1
    - Dst: zone_sign_ctx_free
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - r
    - kctx
    - timestamp
    - min_valid
    argTypes:
    - key_records_t*
    - kdnssec_ctx_t*
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 231
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 231
    functionName: key_records_verify
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - zone_sign_ctx_free
    - knot_validate_rrsigs
    - knot_rrset_empty
    - zone_validation_ctx
    - knot_time_lt
    linkageType: ''
    returnType: int
    signature: int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t
      timestamp, knot_time_t min_valid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrset_serialized_size
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:235,1
    - Dst: rrset_serialized_size
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:235,1
    - Dst: rrset_serialized_size
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:236,1
    - Dst: rrset_serialized_size
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: key_records_serialized_size
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - rrset_serialized_size
    linkageType: ''
    returnType: size_t
    signature: size_t key_records_serialized_size(const key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:243,1
    - Dst: serialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:246,1
    - Dst: serialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wire
    - r
    argTypes:
    - wire_ctx_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: key_records_serialize
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - serialize_rrset
    linkageType: ''
    returnType: int
    signature: int key_records_serialize(wire_ctx_t *wire, const key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deserialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:258,1
    - Dst: deserialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:261,1
    - Dst: deserialize_rrset
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - wire
    - r
    argTypes:
    - wire_ctx_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: key_records_deserialize
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 0
    functionsReached:
    - deserialize_rrset
    linkageType: ''
    returnType: int
    signature: int key_records_deserialize(wire_ctx_t *wire, key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_records_clear
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:277,1
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/dnssec/key_records.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - last
    argTypes:
    - kdnssec_ctx_t*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 294
    functionName: key_records_last_timestamp
    functionSourceFile: /src/knot-dns/src/knot/dnssec/key_records.c
    functionUses: 1
    functionsReached:
    - key_records_clear
    - knot_time
    linkageType: ''
    returnType: int
    signature: int key_records_last_timestamp(kdnssec_ctx_t *ctx, knot_time_t *last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:42,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:46,1
    - Dst: dnssec_key_get_dname
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: rrsig_rdata_header_size
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - assert
    - dnssec_key_get_dname
    linkageType: ''
    returnType: size_t
    signature: size_t rrsig_rdata_header_size(const dnssec_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:70,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:77,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:79,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:81,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:82,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:83,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:84,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:85,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:86,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:87,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:88,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:88,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:89,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - rdata
    - rdata_len
    - key
    - covered_type
    - owner_labels
    - owner_ttl
    - sig_incepted
    - sig_expires
    argTypes:
    - uint8_t*
    - size_t
    - dnssec_key_t*
    - uint16_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: rrsig_write_rdata
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - serial_compare
    - assert
    - wire_ctx_init
    - wire_ctx_write
    - knot_dname_size
    - wire_ctx_offset
    - wire_ctx_write_u8
    - wire_ctx_write_u32
    - wire_ctx_write_u16
    linkageType: ''
    returnType: int
    signature: "int rrsig_write_rdata(uint8_t *rdata, size_t rdata_len,\n                             const
      dnssec_key_t *key,\n                             uint16_t covered_type, uint8_t
      owner_labels,\n                             uint32_t owner_ttl,  uint32_t sig_incepted,\n
      \                            uint32_t sig_expires)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:108,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:109,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:119,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:128,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:129,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:131,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - rdata
    argTypes:
    - dnssec_sign_ctx_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: sign_ctx_add_self
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - knot_dname_size
    - dnssec_sign_add
    - knot_dname_copy
    linkageType: ''
    returnType: int
    signature: int sign_ctx_add_self(dnssec_sign_ctx_t *ctx, const uint8_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:157,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - covered
    argTypes:
    - dnssec_sign_ctx_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: sign_ctx_add_records
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int sign_ctx_add_records(dnssec_sign_ctx_t *ctx, const knot_rrset_t
      *covered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:174,1
    - Dst: sign_ctx_add_records
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - rrsig_rdata
    - covered
    argTypes:
    - dnssec_sign_ctx_t*
    - uint8_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: knot_sign_ctx_add_data
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrset_empty
    - sign_ctx_add_records
    linkageType: ''
    returnType: int
    signature: "int knot_sign_ctx_add_data(dnssec_sign_ctx_t *ctx,\n                           const
      uint8_t *rrsig_rdata,\n                           const knot_rrset_t *covered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:207,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:208,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:209,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:209,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:210,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:213,1
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:216,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:224,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:226,1
    - Dst: knot_sign_ctx_add_data
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:231,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:237,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:241,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:245,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:246,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:248,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 8
    argNames:
    - rrsigs
    - ctx
    - covered
    - key
    - sig_incepted
    - sig_expires
    - sign_flags
    - mm
    argTypes:
    - knot_rrset_t*
    - dnssec_sign_ctx_t*
    - knot_rrset_t*
    - dnssec_key_t*
    - uint32_t
    - uint32_t
    - dnssec_sign_flags_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 251
    functionName: rrsigs_create_rdata
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_binary_free
    - knot_rrset_empty
    - dnssec_sign_init
    - dnssec_sign_write
    - knot_dname_is_wildcard
    - knot_sign_ctx_add_data
    - memcpy
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int rrsigs_create_rdata(knot_rrset_t *rrsigs, dnssec_sign_ctx_t *ctx,\n
      \                              const knot_rrset_t *covered,\n                               const
      dnssec_key_t *key,\n                               uint32_t sig_incepted, uint32_t
      sig_expires,\n                               dnssec_sign_flags_t sign_flags,\n
      \                              knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:257,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:259,1
    - Dst: knot_spin_lock
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:272,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:274,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - rrsigs
    - covered
    - key
    - sign_ctx
    - dnssec_ctx
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - dnssec_key_t*
    - dnssec_sign_ctx_t*
    - kdnssec_ctx_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: knot_sign_rrset
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 2
    functionsReached:
    - knot_time_min
    - knot_rrset_empty
    - knot_spin_unlock
    - knot_spin_lock
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int knot_sign_rrset(knot_rrset_t *rrsigs, const knot_rrset_t *covered,\n
      \                   const dnssec_key_t *key, dnssec_sign_ctx_t *sign_ctx,\n
      \                   const kdnssec_ctx_t *dnssec_ctx, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zone_sign_use_key
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - rrsigs
    - rrset
    - sign_ctx
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - zone_sign_ctx_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: knot_sign_rrset2
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 1
    functionsReached:
    - knot_zone_sign_use_key
    linkageType: ''
    returnType: int
    signature: "int knot_sign_rrset2(knot_rrset_t *rrsigs, const knot_rrset_t *rrset,\n
      \                    zone_sign_ctx_t *sign_ctx, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:318,1
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:320,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:323,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - type
    - rrsig_rrs
    - out_sig
    - mm
    argTypes:
    - uint16_t
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 331
    functionName: knot_synth_rrsig
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 3
    functionsReached:
    - knot_rdataset_clear
    - knot_rdataset_next
    - knot_rrsig_type_covered
    linkageType: ''
    returnType: int
    signature: "int knot_synth_rrsig(uint16_t type, const knot_rdataset_t *rrsig_rrs,\n
      \                    knot_rdataset_t *out_sig, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:341,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - type
    - rrsig_rrs
    argTypes:
    - uint16_t
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: knot_synth_rrsig_exists
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 1
    functionsReached:
    - knot_rdataset_next
    - knot_rrsig_type_covered
    linkageType: ''
    returnType: bool
    signature: bool knot_synth_rrsig_exists(uint16_t type, const knot_rdataset_t *rrsig_rrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:355,1
    - Dst: knot_time_from_u32
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:359,1
    - Dst: knot_time_from_u32
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rrsig
    - now
    - refresh_before
    argTypes:
    - knot_rdata_t*
    - knot_time_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: is_expired_signature
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_time_from_u32
    linkageType: ''
    returnType: bool
    signature: "bool is_expired_signature(const knot_rdata_t *rrsig, knot_time_t now,\n
      \                                uint32_t refresh_before)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:373,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:373,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:378,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:379,1
    - Dst: is_expired_signature
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:382,1
    - Dst: knot_rrsig_signature_len
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:393,1
    - Dst: knot_rrsig_signature
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:394,1
    - Dst: knot_sign_ctx_add_data
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:407,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/src/knot/dnssec/rrset-sign.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 8
    argNames:
    - covered
    - rrsigs
    - pos
    - key
    - sign_ctx
    - dnssec_ctx
    - refresh
    - skip_crypto
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - size_t
    - dnssec_key_t*
    - dnssec_sign_ctx_t*
    - kdnssec_ctx_t*
    - knot_timediff_t
    - bool
    constantsTouched: []
    func_position:
      end: 417
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 417
    functionName: knot_check_signature
    functionSourceFile: /src/knot-dns/src/knot/dnssec/rrset-sign.c
    functionUses: 0
    functionsReached:
    - knot_rrsig_signature_len
    - dnssec_sign_verify
    - assert
    - knot_rrset_empty
    - knot_sign_ctx_add_data
    - knot_rrsig_signature
    - is_expired_signature
    - knot_rdataset_at
    linkageType: ''
    returnType: int
    signature: "int knot_check_signature(const knot_rrset_t *covered,\n                    const
      knot_rrset_t *rrsigs, size_t pos,\n                    const dnssec_key_t *key,\n
      \                   dnssec_sign_ctx_t *sign_ctx,\n                    const
      kdnssec_ctx_t *dnssec_ctx,\n                    knot_timediff_t refresh,\n                    bool
      skip_crypto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - params
    argTypes:
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: key_params_check
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int key_params_check(key_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:34,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:35,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:39,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:40,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:44,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - keytag
    argTypes:
    - dnssec_key_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: dnskey_guess_flags
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_keytag
    - dnssec_key_set_flags
    linkageType: ''
    returnType: int
    signature: int dnskey_guess_flags(dnssec_key_t *key, uint16_t keytag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:55,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:56,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:57,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:65,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:67,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:70,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:72,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:73,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:76,1
    - Dst: dnssec_key_set_pubkey
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:78,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:80,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:81,1
    - Dst: dnskey_guess_flags
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:84,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - dname
    - params
    - key_ptr
    argTypes:
    - knot_dname_t*
    - key_params_t*
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 93
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 93
    functionName: params2dnskey
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_key_set_dname
    - dnssec_key_new
    - dnssec_key_set_algorithm
    - dnskey_guess_flags
    - dnssec_key_set_pubkey
    - knot_error_from_libdnssec
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int params2dnskey(const knot_dname_t *dname, key_params_t *params,\n\t\t\t
      dnssec_key_t **key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:98,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:99,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:100,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:107,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:109,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dname
    - params
    - key
    argTypes:
    - knot_dname_t*
    - key_params_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: params2kaspkey
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int params2kaspkey(const knot_dname_t *dname, key_params_t *params,\n\t\t\t
      \ knot_kasp_key_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:123,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:124,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:127,1
    - Dst: dnssec_key_get_pubkey
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:128,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - knot_kasp_key_t*
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: kaspkey2params
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_key_get_keytag
    - dnssec_key_get_algorithm
    - dnssec_key_get_pubkey
    linkageType: ''
    returnType: void
    signature: void kaspkey2params(knot_kasp_key_t *key, key_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - zone
    - kt_cfl
    argTypes:
    - knot_kasp_zone_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: detect_keytag_conflict
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_keytag
    linkageType: ''
    returnType: void
    signature: void detect_keytag_conflict(knot_kasp_zone_t *zone, bool *kt_cfl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:169,1
    - Dst: list_size
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:180,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:181,1
    - Dst: params2kaspkey
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:190,1
    - Dst: free_key_params
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:191,1
    - Dst: kasp_db_load_nsec3salt
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:198,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:201,1
    - Dst: detect_keytag_conflict
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:211,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:214,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - zone
    - zone_name
    - kdb
    - kt_cfl
    argTypes:
    - knot_kasp_zone_t*
    - knot_dname_t*
    - knot_lmdb_db_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 219
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 219
    functionName: kasp_zone_load
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 2
    functionsReached:
    - params2kaspkey
    - calloc
    - free_key_params
    - list_size
    - free
    - kasp_db_load_nsec3salt
    - knot_dname_copy
    - ptrlist_deep_free
    - detect_keytag_conflict
    - init_list
    linkageType: ''
    returnType: int
    signature: "int kasp_zone_load(knot_kasp_zone_t *zone,\n                   const
      knot_dname_t *zone_name,\n                   knot_lmdb_db_t *kdb,\n                   bool
      *kt_cfl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:228,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:233,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:235,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - zone
    - appkey
    argTypes:
    - knot_kasp_zone_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: kasp_zone_append
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - memcpy
    - free
    - calloc
    linkageType: ''
    returnType: int
    signature: int kasp_zone_append(knot_kasp_zone_t *zone, const knot_kasp_key_t
      *appkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kaspkey2params
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:252,1
    - Dst: kasp_db_store_nsec3salt
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - zone
    - zone_name
    - kdb
    argTypes:
    - knot_kasp_zone_t*
    - knot_dname_t*
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: kasp_zone_save
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - kaspkey2params
    - kasp_db_store_nsec3salt
    linkageType: ''
    returnType: int
    signature: "int kasp_zone_save(const knot_kasp_zone_t *zone,\n\t\t   const knot_dname_t
      *zone_name,\n\t\t   knot_lmdb_db_t *kdb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:269,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:270,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - knot_kasp_zone_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: kasp_zone_clear_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - free
    - dnssec_key_free
    linkageType: ''
    returnType: void
    signature: void kasp_zone_clear_keys(knot_kasp_zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:282,1
    - Dst: kasp_zone_clear_keys
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:283,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:284,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - knot_kasp_zone_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: kasp_zone_clear
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - kasp_zone_clear_keys
    - free
    - knot_dname_free
    - memset
    linkageType: ''
    returnType: void
    signature: void kasp_zone_clear(knot_kasp_zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_zone_clear
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:291,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - knot_kasp_zone_t**
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: kasp_zone_free
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - free
    - kasp_zone_clear
    linkageType: ''
    returnType: void
    signature: void kasp_zone_free(knot_kasp_zone_t **zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:300,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:301,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parm
    argTypes:
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: free_key_params
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - free
    - dnssec_binary_free
    - memset
    linkageType: ''
    returnType: void
    signature: void free_key_params(key_params_t *parm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:316,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:318,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:319,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:322,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:325,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:328,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:332,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:333,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - conf
    - policy_id
    - keystore_id
    - keystore
    - backend
    - key_label
    argTypes:
    - conf_t*
    - conf_val_t*
    - conf_val_t*
    - dnssec_keystore_t**
    - unsigned*
    - bool*
    constantsTouched: []
    func_position:
      end: 344
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 344
    functionName: zone_init_keystore
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 1
    functionsReached:
    - conf_bool
    - free
    - conf_id_fix_default
    - conf_id_get
    linkageType: ''
    returnType: int
    signature: "int zone_init_keystore(conf_t *conf, conf_val_t *policy_id, conf_val_t
      *keystore_id,\n                       dnssec_keystore_t **keystore, unsigned
      *backend, bool *key_label)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_zone_clear_keys
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:355,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:358,1
    - Dst: dnssec_key_get_keyid
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:369,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:372,1
    - Dst: knot_dnskey_flags
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:379,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:385,1
    - Dst: detect_keytag_conflict
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - zone
    - zone_dnskey
    - policy_single_type_signing
    - keytag_conflict
    argTypes:
    - knot_kasp_zone_t*
    - knot_rdataset_t*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 390
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 390
    functionName: kasp_zone_keys_from_rr
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - kasp_zone_clear_keys
    - knot_dnskey_flags
    - calloc
    - free
    - knot_rdataset_next
    - detect_keytag_conflict
    - dnssec_key_get_keyid
    linkageType: ''
    returnType: int
    signature: "int kasp_zone_keys_from_rr(knot_kasp_zone_t *zone,\n                           const
      knot_rdataset_t *zone_dnskey,\n                           bool policy_single_type_signing,\n
      \                          bool *keytag_conflict)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:403,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:404,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:409,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:411,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:417,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:423,1
    - Dst: kasp_zone_clear
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:425,1
    - Dst: knot_nsec3param_salt_len
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:428,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:429,1
    - Dst: kasp_zone_clear
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:431,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:434,1
    - Dst: knot_nsec3param_salt
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:435,1
    - Dst: knot_nsec3param_iters
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c:438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 6
    argNames:
    - zone
    - contents
    - policy_single_type_signing
    - policy_nsec3
    - policy_nsec3_iters
    - keytag_conflict
    argTypes:
    - knot_kasp_zone_t*
    - zone_contents_t*
    - bool
    - bool
    - uint16_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 442
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 442
    functionName: kasp_zone_from_contents
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_zone.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - kasp_zone_clear
    - free
    - knot_dname_copy
    - knot_nsec3param_salt
    - knot_nsec3param_iters
    - memset
    - memcpy
    - malloc
    - knot_nsec3param_salt_len
    linkageType: ''
    returnType: int
    signature: "int kasp_zone_from_contents(knot_kasp_zone_t *zone,\n                            const
      zone_contents_t *contents,\n                            bool policy_single_type_signing,\n
      \                           bool policy_nsec3,\n                            uint16_t
      *policy_nsec3_iters,\n                            bool *keytag_conflict)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:17,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:18,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:23,1
    - Dst: asprintf
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - config
    - base_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: fix_path
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/keystore.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *fix_path(const char *config, const char *base_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_init_pkcs8
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:41,1
    - Dst: fix_path
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:42,1
    - Dst: dnssec_keystore_init_pkcs11
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:45,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:46,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:49,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:52,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:53,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:56,1
    - Dst: dnssec_keystore_init
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:61,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:63,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:64,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:66,1
    - Dst: dnssec_keystore_open
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:69,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:70,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:72,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/dnssec/kasp/keystore.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - config
    - backend
    - kasp_base_path
    - keystore
    argTypes:
    - char*
    - unsigned
    - char*
    - dnssec_keystore_t**
    constantsTouched: []
    func_position:
      end: 78
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 78
    functionName: keystore_load
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/keystore.c
    functionUses: 0
    functionsReached:
    - fix_path
    - strdup
    - assert
    - dnssec_keystore_init_pkcs11
    - dnssec_keystore_init_pkcs8
    - free
    - dnssec_keystore_deinit
    - dnssec_keystore_init
    - knot_error_from_libdnssec
    - dnssec_keystore_open
    linkageType: ''
    returnType: int
    signature: "int keystore_load(const char *config, unsigned backend,\n                  const
      char *kasp_base_path, dnssec_keystore_t **keystore)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - class
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: is_zone_related_class
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_zone_related_class(uint8_t class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zone_related_class
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: is_zone_related
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - is_zone_related_class
    linkageType: ''
    returnType: bool
    signature: bool is_zone_related(const MDB_val *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:61,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:62,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:68,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:69,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:72,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:74,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:76,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - kclass
    - dname
    - str
    argTypes:
    - keyclass_t
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: make_key_str
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val make_key_str(keyclass_t kclass, const knot_dname_t *dname,
      const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:88,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - kclass
    - dname
    - time
    argTypes:
    - keyclass_t
    - knot_dname_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: make_key_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - snprintf
    - make_key_str
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val make_key_time(keyclass_t kclass, const knot_dname_t *dname,
      knot_time_t time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_unmake_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:97,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - keyv
    - str
    argTypes:
    - MDB_val*
    - char**
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: unmake_key_str
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - strdup
    - knot_lmdb_unmake_key
    linkageType: ''
    returnType: bool
    signature: bool unmake_key_str(const MDB_val *keyv, char **str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_unmake_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:106,1
    - Dst: str_to_u64
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - keyv
    - time
    argTypes:
    - MDB_val*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: unmake_key_time
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - str_to_u64
    - knot_lmdb_unmake_key
    linkageType: ''
    returnType: bool
    signature: bool unmake_key_time(const MDB_val *keyv, knot_time_t *time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: params_serialize
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    linkageType: ''
    returnType: MDB_val
    signature: MDB_val params_serialize(const key_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:135,1
    - Dst: knot_lmdb_unmake_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:139,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:153,1
    - Dst: knot_wire_read_u64
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:158,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - val
    - params
    argTypes:
    - MDB_val*
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 168
    functionName: params_deserialize
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - knot_lmdb_unmake_key
    - knot_wire_read_u64
    linkageType: ''
    returnType: bool
    signature: bool params_deserialize(const MDB_val *val, key_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:172,1
    - Dst: params_deserialize
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:176,1
    - Dst: unmake_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:177,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: txn2params
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - free
    - params_deserialize
    - unmake_key_str
    - calloc
    linkageType: ''
    returnType: key_params_t
    signature: key_params_t *txn2params(knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:188,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:190,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:191,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:192,1
    - Dst: txn2params
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:193,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:195,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:198,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:199,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:201,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - db
    - zone_name
    - dst
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 205
    functionName: kasp_db_list_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_abort
    - knot_lmdb_foreach
    - knot_lmdb_begin
    - free
    - txn2params
    - EMPTY_LIST
    - ptrlist_deep_free
    - init_list
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int kasp_db_list_keys(knot_lmdb_db_t *db, const knot_dname_t *zone_name,
      list_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:211,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:212,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:214,1
    - Dst: params_deserialize
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:216,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:217,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:219,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - db
    - zone_name
    - key_id
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: kasp_db_get_key_algorithm
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_abort
    - params_deserialize
    - knot_lmdb_begin
    - free
    - knot_lmdb_find
    linkageType: ''
    returnType: int
    signature: "int kasp_db_get_key_algorithm(knot_lmdb_db_t *db, const knot_dname_t
      *zone_name,\n                              const char *key_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:228,1
    - Dst: unmake_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:230,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:231,1
    - Dst: txn2params
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:233,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:235,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - txn
    - key_id
    - params
    argTypes:
    - knot_lmdb_txn_t*
    - char*
    - key_params_t**
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: keyid_inuse
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - unmake_key_str
    - knot_lmdb_foreach
    - free
    - txn2params
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool keyid_inuse(knot_lmdb_txn_t *txn, const char *key_id, key_params_t
      **params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:246,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:248,1
    - Dst: knot_lmdb_del_prefix
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:249,1
    - Dst: keyid_inuse
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:251,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:253,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - db
    - zone_name
    - key_id
    - still_used
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: kasp_db_delete_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - keyid_inuse
    - knot_lmdb_del_prefix
    linkageType: ''
    returnType: int
    signature: int kasp_db_delete_key(knot_lmdb_db_t *db, const knot_dname_t *zone_name,
      const char *key_id, bool *still_used)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:261,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:263,1
    - Dst: knot_lmdb_del_prefix
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:266,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:268,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - db
    - zone
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: kasp_db_delete_all
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - knot_lmdb_del_prefix
    linkageType: ''
    returnType: int
    signature: int kasp_db_delete_all(knot_lmdb_db_t *db, const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:275,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:283,1
    - Dst: is_zone_related
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:285,1
    - Dst: keep_zone
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:286,1
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:287,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - db
    - keep_zone
    - cb_data
    argTypes:
    - knot_lmdb_db_t*
    - sweep_cb
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: kasp_db_sweep
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - knot_lmdb_commit
    - knot_lmdb_begin
    - is_zone_related
    - knot_lmdb_exists
    - knot_lmdb_del_cur
    - keep_zone
    linkageType: ''
    returnType: int
    signature: int kasp_db_sweep(knot_lmdb_db_t *db, sweep_cb keep_zone, void *cb_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:296,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:304,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:308,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:310,1
    - Dst: TAIL
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:310,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:311,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:312,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:313,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:314,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:319,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - db
    - zones
    argTypes:
    - knot_lmdb_db_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 324
    functionName: kasp_db_list_zones
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_abort
    - knot_lmdb_foreach
    - knot_lmdb_begin
    - free
    - TAIL
    - knot_dname_copy
    - knot_lmdb_exists
    - ptrlist_deep_free
    - ptrlist_add
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int kasp_db_list_zones(knot_lmdb_db_t *db, list_t *zones)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_serialize
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:328,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:329,1
    - Dst: knot_lmdb_quick_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - zone_name
    - params
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - key_params_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: kasp_db_add_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - params_serialize
    - make_key_str
    - knot_lmdb_quick_insert
    linkageType: ''
    returnType: int
    signature: int kasp_db_add_key(knot_lmdb_db_t *db, const knot_dname_t *zone_name,
      const key_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:336,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:337,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:339,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:340,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:341,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:343,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:344,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - db
    - zone_from
    - zone_to
    - key_id
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: kasp_db_share_key
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - knot_lmdb_insert
    - knot_lmdb_find
    linkageType: ''
    returnType: int
    signature: "int kasp_db_share_key(knot_lmdb_db_t *db, const knot_dname_t *zone_from,\n
      \                     const knot_dname_t *zone_to, const char *key_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:352,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:357,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:358,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:362,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:363,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - db
    - zone_name
    - nsec3salt
    - salt_created
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - dnssec_binary_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: kasp_db_store_nsec3salt
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - knot_lmdb_insert
    linkageType: ''
    returnType: int
    signature: "int kasp_db_store_nsec3salt(knot_lmdb_db_t *db, const knot_dname_t
      *zone_name,\n\t\t\t    const dnssec_binary_t *nsec3salt, knot_time_t salt_created)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:371,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:373,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:375,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:376,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:378,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:382,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:387,1
    - Dst: knot_lmdb_unmake_curval
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:388,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:390,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:391,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - db
    - zone_name
    - nsec3salt
    - salt_created
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - dnssec_binary_t*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 396
    functionName: kasp_db_load_nsec3salt
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 3
    functionsReached:
    - make_key_str
    - knot_lmdb_abort
    - knot_lmdb_begin
    - free
    - knot_lmdb_find
    - knot_lmdb_unmake_curval
    - memset
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int kasp_db_load_nsec3salt(knot_lmdb_db_t *db, const knot_dname_t
      *zone_name,\n\t\t\t   dnssec_binary_t *nsec3salt, knot_time_t *salt_created)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:405,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:406,1
    - Dst: knot_lmdb_quick_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - db
    - zone_name
    - serial_type
    - serial
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - kaspdb_serial_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: kasp_db_store_serial
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - knot_lmdb_make_key
    - make_key_str
    - knot_lmdb_quick_insert
    linkageType: ''
    returnType: int
    signature: "int kasp_db_store_serial(knot_lmdb_db_t *db, const knot_dname_t *zone_name,\n\t\t\t
      kaspdb_serial_t serial_type, uint32_t serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:413,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:420,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:422,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:423,1
    - Dst: knot_lmdb_unmake_curval
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:424,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:426,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - db
    - zone_name
    - serial_type
    - serial
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - kaspdb_serial_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: kasp_db_load_serial
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_abort
    - knot_lmdb_begin
    - free
    - knot_lmdb_find
    - knot_lmdb_unmake_curval
    - knot_lmdb_exists
    linkageType: ''
    returnType: int
    signature: "int kasp_db_load_serial(knot_lmdb_db_t *db, const knot_dname_t *zone_name,\n\t\t\tkaspdb_serial_t
      serial_type, uint32_t *serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:434,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:439,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:440,1
    - Dst: knot_lmdb_unmake_curval
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:441,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:442,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:443,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:444,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:451,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:454,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - db
    - policy_string
    - lp_zone
    - lp_keyid
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - knot_dname_t**
    - char**
    constantsTouched: []
    func_position:
      end: 458
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 458
    functionName: kasp_db_get_policy_last
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - strdup
    - assert
    - make_key_str
    - knot_lmdb_abort
    - knot_lmdb_begin
    - free
    - knot_lmdb_find
    - knot_dname_copy
    - knot_lmdb_unmake_curval
    linkageType: ''
    returnType: int
    signature: "int kasp_db_get_policy_last(knot_lmdb_db_t *db, const char *policy_string,\n
      \                           knot_dname_t **lp_zone, char **lp_keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:463,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:465,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:466,1
    - Dst: knot_lmdb_unmake_curval
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:470,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:471,1
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:475,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:476,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:477,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:478,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - db
    - policy_string
    - last_lp_keyid
    - new_lp_zone
    - new_lp_keyid
    argTypes:
    - knot_lmdb_db_t*
    - char*
    - char*
    - knot_dname_t*
    - char*
    constantsTouched: []
    func_position:
      end: 481
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 481
    functionName: kasp_db_set_policy_last
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_begin
    - free
    - knot_lmdb_insert
    - knot_lmdb_find
    - knot_lmdb_unmake_curval
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int kasp_db_set_policy_last(knot_lmdb_db_t *db, const char *policy_string,
      const char *last_lp_keyid,\n\t\t\t    const knot_dname_t *new_lp_zone, const
      char *new_lp_keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_time
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:485,1
    - Dst: key_records_serialized_size
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:486,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:488,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:489,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:490,1
    - Dst: key_records_serialize
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:491,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:493,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - for_time
    - r
    argTypes:
    - knot_lmdb_db_t*
    - knot_time_t
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 496
    functionName: kasp_db_store_offline_records
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - wire_ctx_init
    - knot_lmdb_commit
    - key_records_serialized_size
    - knot_lmdb_begin
    - free
    - make_key_time
    - key_records_serialize
    - knot_lmdb_insert
    linkageType: ''
    returnType: int
    signature: int kasp_db_store_offline_records(knot_lmdb_db_t *db, knot_time_t for_time,
      const key_records_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:502,1
    - Dst: make_key_time
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:511,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:514,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:515,1
    - Dst: knot_lmdb_is_prefix_of
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:516,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:517,1
    - Dst: key_records_deserialize
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:518,1
    - Dst: unmake_key_time
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:520,1
    - Dst: knot_lmdb_next
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:522,1
    - Dst: knot_lmdb_is_prefix_of
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:522,1
    - Dst: unmake_key_time
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:523,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:529,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:531,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - db
    - for_dname
    - for_time
    - next_time
    - r
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - knot_time_t*
    - knot_time_t*
    - key_records_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 535
    functionName: kasp_db_load_offline_records
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - make_key_str
    - wire_ctx_init
    - knot_lmdb_abort
    - knot_lmdb_begin
    - free
    - make_key_time
    - knot_lmdb_next
    - key_records_deserialize
    - knot_lmdb_find
    - knot_lmdb_is_prefix_of
    - unmake_key_time
    linkageType: ''
    returnType: int
    signature: "int kasp_db_load_offline_records(knot_lmdb_db_t *db, const knot_dname_t
      *for_dname,\n                                 knot_time_t *for_time, knot_time_t
      *next_time,\n                                 key_records_t *r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:540,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:542,1
    - Dst: knot_lmdb_foreach
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:543,1
    - Dst: unmake_key_time
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:545,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:546,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:547,1
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:548,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:551,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - db
    - zone
    - from_time
    - to_time
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 554
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 554
    functionName: kasp_db_delete_offline_records
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_commit
    - knot_lmdb_foreach
    - knot_lmdb_begin
    - free
    - knot_time_cmp
    - knot_lmdb_del_cur
    - unmake_key_time
    linkageType: ''
    returnType: int
    signature: "int kasp_db_delete_offline_records(knot_lmdb_db_t *db, const knot_dname_t
      *zone,\n                                   knot_time_t from_time, knot_time_t
      to_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:559,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:561,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:562,1
    - Dst: knot_lmdb_unmake_curval
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:563,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:565,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - db
    - zone
    - max_ttl
    - key_ttl
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: kasp_db_get_saved_ttls
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 1
    functionsReached:
    - make_key_str
    - knot_lmdb_abort
    - knot_lmdb_begin
    - free
    - knot_lmdb_find
    - knot_lmdb_unmake_curval
    linkageType: ''
    returnType: int
    signature: "int kasp_db_get_saved_ttls(knot_lmdb_db_t *db, const knot_dname_t
      *zone,\n                           uint32_t *max_ttl, uint32_t *key_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:573,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:574,1
    - Dst: knot_lmdb_quick_insert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - zone
    - max_ttl
    - key_ttl
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 5
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: kasp_db_set_saved_ttls
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_make_key
    - make_key_str
    - knot_lmdb_quick_insert
    linkageType: ''
    returnType: int
    signature: "int kasp_db_set_saved_ttls(knot_lmdb_db_t *db, const knot_dname_t
      *zone,\n                           uint32_t max_ttl, uint32_t key_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_param
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:582,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:583,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:583,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:584,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db
    - conf
    argTypes:
    - knot_lmdb_db_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: kasp_db_ensure_init
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 2
    functionsReached:
    - assert
    - conf_db_param
    - free
    - conf_int
    - knot_lmdb_init
    linkageType: ''
    returnType: void
    signature: void kasp_db_ensure_init(knot_lmdb_db_t *db, conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key_str
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:598,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:603,1
    - Dst: free
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - zone
    - db
    - backup_db
    - classes
    - classes_size
    argTypes:
    - knot_dname_t*
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    - keyclass_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: kasp_db_backup_generic
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - free
    - knot_lmdb_make_key
    - make_key_str
    linkageType: ''
    returnType: int
    signature: "int kasp_db_backup_generic(const knot_dname_t *zone, knot_lmdb_db_t
      *db, knot_lmdb_db_t *backup_db,\n                                  const keyclass_t
      *classes, const size_t classes_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_backup_generic
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zone
    - db
    - backup_db
    argTypes:
    - knot_dname_t*
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: kasp_db_backup
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - kasp_db_backup_generic
    linkageType: ''
    returnType: int
    signature: int kasp_db_backup(const knot_dname_t *zone, knot_lmdb_db_t *db, knot_lmdb_db_t
      *backup_db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_backup_generic
      Src: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zone
    - db
    - backup_db
    argTypes:
    - knot_dname_t*
    - knot_lmdb_db_t*
    - knot_lmdb_db_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: kasp_db_backup_keys
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/kasp_db.c
    functionUses: 0
    functionsReached:
    - kasp_db_backup_generic
    linkageType: ''
    returnType: int
    signature: int kasp_db_backup_keys(const knot_dname_t *zone, knot_lmdb_db_t *db,
      knot_lmdb_db_t *backup_db)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - key
    - moment
    argTypes:
    - knot_kasp_key_t*
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 63
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 63
    functionName: get_key_state
    functionSourceFile: /src/knot-dns/src/knot/dnssec/kasp/keystate.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: key_state_t
    signature: key_state_t get_key_state(const knot_kasp_key_t *key, knot_time_t moment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_unify
      Src: /src/knot-dns/src/knot/zone/contents.c:26,1
    - Dst: node_free_rrsets
      Src: /src/knot-dns/src/knot/zone/contents.c:27,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/zone/contents.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - _unused_*
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: destroy_node_rrsets_from_tree
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - node_free
    - binode_unify
    - node_free_rrsets
    linkageType: ''
    returnType: int
    signature: int destroy_node_rrsets_from_tree(zone_node_t *node, _unused_ void
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:53,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:54,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:55,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:56,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - tree
    - name
    - node
    - previous
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    - zone_node_t**
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: find_in_tree
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool find_in_tree(zone_tree_t *tree, const knot_dname_t *name,\n                         zone_node_t
      **node, zone_node_t **previous)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:77,1
    - Dst: node_new_for_tree
      Src: /src/knot-dns/src/knot/zone/contents.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - owner
    - contents
    argTypes:
    - knot_dname_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: node_new_for_contents
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - assert
    - node_new_for_tree
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_new_for_contents(const knot_dname_t *owner, const
      zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:83,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:84,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/zone/contents.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: get_node
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 8
    functionsReached:
    - assert
    - zone_tree_get
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *get_node(const zone_contents_t *zone, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:92,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:93,1
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/zone/contents.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: get_nsec3_node
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_tree_get
    linkageType: ''
    returnType: zone_node_t
    signature: "zone_node_t *get_nsec3_node(const zone_contents_t *zone,\n                                   const
      knot_dname_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_new_for_contents
      Src: /src/knot-dns/src/knot/zone/contents.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - owner
    - contents
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: node_new_for_contents_wrap
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - node_new_for_contents
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_new_for_contents_wrap(const uint8_t *owner, void
      *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/contents.c:106,1
    - Dst: node_add_rrset
      Src: /src/knot-dns/src/knot/zone/contents.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - z
    - rr
    - n
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: insert_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - node_add_rrset
    - knot_rrset_empty
    linkageType: ''
    returnType: int
    signature: int insert_rr(zone_contents_t *z, const knot_rrset_t *rr, zone_node_t
      **n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/contents.c:124,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/contents.c:129,1
    - Dst: get_nsec3_node
      Src: /src/knot-dns/src/knot/zone/contents.c:135,1
    - Dst: get_node
      Src: /src/knot-dns/src/knot/zone/contents.c:135,1
    - Dst: zone_tree_del_node
      Src: /src/knot-dns/src/knot/zone/contents.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - z
    - rr
    - n
    - nsec3
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - zone_node_t**
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: remove_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 4
    functionsReached:
    - knot_rrset_empty
    - get_node
    - zone_tree_del_node
    - get_nsec3_node
    - knot_dname_in_bailiwick
    linkageType: ''
    returnType: int
    signature: "int remove_rr(zone_contents_t *z, const knot_rrset_t *rr,\n                     zone_node_t
      **n, bool nsec3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/contents.c:164,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/zone/contents.c:169,1
    - Dst: node_new_for_contents
      Src: /src/knot-dns/src/knot/zone/contents.c:174,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/contents.c:179,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/zone/contents.c:184,1
    - Dst: pthread_rwlock_init
      Src: /src/knot-dns/src/knot/zone/contents.c:185,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/zone/contents.c:190,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:191,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - apex_name
    - use_binodes
    argTypes:
    - knot_dname_t*
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: zone_contents_new
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 8
    functionsReached:
    - node_free
    - pthread_rwlock_init
    - calloc
    - free
    - node_new_for_contents
    - zone_tree_insert
    - zone_tree_create
    - ATOMIC_INIT
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *zone_contents_new(const knot_dname_t *apex_name, bool
      use_binodes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/zone/contents.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - contents
    - rr
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: zone_contents_tree_for_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 2
    functionsReached:
    - zone_tree_create
    linkageType: ''
    returnType: zone_tree_t
    signature: zone_tree_t *zone_contents_tree_for_rr(zone_contents_t *contents, const
      knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_rr
      Src: /src/knot-dns/src/knot/zone/contents.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - z
    - rr
    - n
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: zone_contents_add_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 9
    functionsReached:
    - insert_rr
    linkageType: ''
    returnType: int
    signature: int zone_contents_add_rr(zone_contents_t *z, const knot_rrset_t *rr,
      zone_node_t **n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove_rr
      Src: /src/knot-dns/src/knot/zone/contents.c:234,1
    - Dst: knot_rrset_is_nsec3rel
      Src: /src/knot-dns/src/knot/zone/contents.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - z
    - rr
    - n
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: zone_contents_remove_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 4
    functionsReached:
    - remove_rr
    - knot_rrset_is_nsec3rel
    linkageType: ''
    returnType: int
    signature: int zone_contents_remove_rr(zone_contents_t *z, const knot_rrset_t
      *rr, zone_node_t **n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/knot-dns/src/knot/zone/contents.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: zone_contents_find_node
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 6
    functionsReached:
    - get_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_contents_find_node(const zone_contents_t *zone, const
      knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_node
      Src: /src/knot-dns/src/knot/zone/contents.c:252,1
    - Dst: get_nsec3_node
      Src: /src/knot-dns/src/knot/zone/contents.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: zone_contents_node_or_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 6
    functionsReached:
    - get_nsec3_node
    - get_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_contents_node_or_nsec3(const zone_contents_t *zone,
      const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_nsec3_node
      Src: /src/knot-dns/src/knot/zone/contents.c:266,1
    - Dst: get_node
      Src: /src/knot-dns/src/knot/zone/contents.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - contents
    - rrset
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: zone_contents_find_node_for_rr
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 4
    functionsReached:
    - get_nsec3_node
    - get_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_contents_find_node_for_rr(zone_contents_t *contents,
      const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/zone/contents.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - node
    - name
    - name_nullbyte
    argTypes:
    - zone_node_t*
    - knot_dname_t*
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: null_byte_mismatch
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - knot_dname_is_equal
    linkageType: ''
    returnType: bool
    signature: "bool null_byte_mismatch(const zone_node_t *node, const knot_dname_t
      *name,\n                               bool name_nullbyte)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/contents.c:301,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:314,1
    - Dst: null_byte_mismatch
      Src: /src/knot-dns/src/knot/zone/contents.c:318,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:319,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:324,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/knot/zone/contents.c:328,1
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/zone/contents.c:329,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - zone
    - name
    - match
    - closest
    - previous
    - name_nullbyte
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - zone_node_t**
    - zone_node_t**
    - zone_node_t**
    - bool
    constantsTouched: []
    func_position:
      end: 335
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 335
    functionName: zone_contents_find_dname
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_in_bailiwick
    - null_byte_mismatch
    - node_parent
    - knot_dname_labels
    linkageType: ''
    returnType: int
    signature: "int zone_contents_find_dname(const zone_contents_t *zone,\n                             const
      knot_dname_t *name,\n                             const zone_node_t **match,\n
      \                            const zone_node_t **closest,\n                             const
      zone_node_t **previous,\n                             bool name_nullbyte)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_nsec3_node
      Src: /src/knot-dns/src/knot/zone/contents.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: zone_contents_find_nsec3_node
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 2
    functionsReached:
    - get_nsec3_node
    linkageType: ''
    returnType: zone_node_t
    signature: "zone_node_t *zone_contents_find_nsec3_node(const zone_contents_t *zone,\n
      \                                                const knot_dname_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/contents.c:361,1
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/zone/contents.c:364,1
    - Dst: zone_contents_find_nsec3
      Src: /src/knot-dns/src/knot/zone/contents.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - zone
    - name
    - nsec3_node
    - nsec3_previous
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - zone_node_t**
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 376
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 376
    functionName: zone_contents_find_nsec3_for_name
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 1
    functionsReached:
    - zone_contents_find_nsec3
    - zone_tree_is_empty
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int zone_contents_find_nsec3_for_name(const zone_contents_t *zone,\n
      \                                     const knot_dname_t *name,\n                                      const
      zone_node_t **nsec3_node,\n                                      const zone_node_t
      **nsec3_previous)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:392,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:393,1
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/zone/contents.c:394,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:395,1
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/zone/contents.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - zone
    - nsec3_name
    - nsec3_node
    - nsec3_previous
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - zone_node_t**
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 412
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 412
    functionName: zone_contents_find_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 3
    functionsReached:
    - assert
    - node_prev
    linkageType: ''
    returnType: int
    signature: "int zone_contents_find_nsec3(const zone_contents_t *zone,\n                             const
      knot_dname_t *nsec3_name,\n                             const zone_node_t **nsec3_node,\n
      \                            const zone_node_t **nsec3_previous)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/knot/zone/contents.c:422,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/zone/contents.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - contents
    - parent
    argTypes:
    - zone_contents_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: zone_contents_find_wildcard_child
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 1
    functionsReached:
    - knot_dname_to_wire
    - zone_contents_find_node
    linkageType: ''
    returnType: zone_node_t
    signature: "zone_node_t *zone_contents_find_wildcard_child(const zone_contents_t
      *contents,\n                                                     const zone_node_t
      *parent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_find_dname
      Src: /src/knot-dns/src/knot/zone/contents.c:432,1
    - Dst: knot_dname_with_null
      Src: /src/knot-dns/src/knot/zone/contents.c:432,1
    - Dst: zone_contents_find_wildcard_child
      Src: /src/knot-dns/src/knot/zone/contents.c:434,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/contents.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - contents
    - find
    - found
    argTypes:
    - zone_contents_t*
    - knot_dname_t*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: zone_contents_find_node_or_wildcard
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - knot_dname_with_null
    - zone_contents_find_dname
    - assert
    - zone_contents_find_wildcard_child
    linkageType: ''
    returnType: bool
    signature: "bool zone_contents_find_node_or_wildcard(const zone_contents_t *contents,\n
      \                                        const knot_dname_t *find,\n                                         const
      zone_node_t **found)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/contents.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - contents
    - function
    - data
    argTypes:
    - zone_contents_t*
    - zone_tree_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: zone_contents_apply
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 1
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: "int zone_contents_apply(zone_contents_t *contents,\n                        zone_tree_apply_cb_t
      function, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/contents.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - contents
    - function
    - data
    argTypes:
    - zone_contents_t*
    - zone_tree_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: zone_contents_nsec3_apply
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 1
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: "int zone_contents_nsec3_apply(zone_contents_t *contents,\n                              zone_tree_apply_cb_t
      function, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/contents.c:473,1
    - Dst: zone_tree_cow
      Src: /src/knot-dns/src/knot/zone/contents.c:478,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:480,1
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/contents.c:483,1
    - Dst: zone_tree_cow
      Src: /src/knot-dns/src/knot/zone/contents.c:486,1
    - Dst: trie_cow_rollback
      Src: /src/knot-dns/src/knot/zone/contents.c:488,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:489,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - zone_contents_t*
    - zone_contents_t**
    constantsTouched: []
    func_position:
      end: 501
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 501
    functionName: zone_contents_cow
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 1
    functionsReached:
    - calloc
    - free
    - zone_tree_cow
    - zone_tree_fix_get
    - trie_cow_rollback
    linkageType: ''
    returnType: int
    signature: int zone_contents_cow(zone_contents_t *from, zone_contents_t **to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/zone/contents.c:510,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/zone/contents.c:511,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/zone/contents.c:513,1
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/zone/contents.c:514,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/zone/contents.c:516,1
    - Dst: pthread_rwlock_destroy
      Src: /src/knot-dns/src/knot/zone/contents.c:517,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/contents.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: zone_contents_free
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 3
    functionsReached:
    - free
    - zone_tree_free
    - ATOMIC_DEINIT
    - pthread_rwlock_destroy
    - dnssec_nsec3_params_free
    - additionals_tree_free
    linkageType: ''
    returnType: void
    signature: void zone_contents_free(zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/knot/zone/contents.c:528,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/contents.c:532,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/contents.c:536,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/knot/zone/contents.c:540,1
    - Dst: zone_contents_free
      Src: /src/knot-dns/src/knot/zone/contents.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: zone_contents_deep_free
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 12
    functionsReached:
    - zone_contents_free
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - zone_tree_apply
    linkageType: ''
    returnType: void
    signature: void zone_contents_deep_free(zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/contents.c:551,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/zone/contents.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: zone_contents_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 13
    functionsReached:
    - node_rdataset
    - knot_soa_serial
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_contents_serial(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/contents.c:562,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/knot/zone/contents.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - new_serial
    argTypes:
    - zone_contents_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: zone_contents_set_soa_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 2
    functionsReached:
    - node_rdataset
    - knot_soa_serial_set
    linkageType: ''
    returnType: void
    signature: void zone_contents_set_soa_serial(zone_contents_t *zone, uint32_t new_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/contents.c:578,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/zone/contents.c:580,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/knot/zone/contents.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 602
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 602
    functionName: zone_contents_load_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - dnssec_nsec3_params_free
    linkageType: ''
    returnType: int
    signature: int zone_contents_load_nsec3param(zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: zone_contents_is_empty
    functionSourceFile: /src/knot-dns/src/knot/zone/contents.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool zone_contents_is_empty(const zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone-load.c:25,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone-load.c:32,1
    - Dst: zonefile_open
      Src: /src/knot-dns/src/knot/zone/zone-load.c:36,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone-load.c:37,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:38,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:40,1
    - Dst: zonefile_load
      Src: /src/knot-dns/src/knot/zone/zone-load.c:51,1
    - Dst: zonefile_close
      Src: /src/knot-dns/src/knot/zone/zone-load.c:52,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:53,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - conf
    - zone_name
    - contents
    - semcheck_mode
    - fail_on_warning
    argTypes:
    - conf_t*
    - knot_dname_t*
    - zone_contents_t**
    - semcheck_optional_t
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 64
    functionName: zone_load_contents
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-load.c
    functionUses: 1
    functionsReached:
    - conf_zone_get
    - free
    - time
    - zone_skip_free
    - zonefile_close
    - zonefile_open
    - zonefile_load
    - zone_contents_deep_free
    linkageType: ''
    returnType: int
    signature: "int zone_load_contents(conf_t *conf, const knot_dname_t *zone_name,\n
      \                      zone_contents_t **contents, semcheck_optional_t semcheck_mode,\n
      \                      bool fail_on_warning)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_is_dnssec
      Src: /src/knot-dns/src/knot/zone/zone-load.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - remove
    - rr
    - ctx
    argTypes:
    - bool
    - knot_rrset_t*
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: apply_one_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-load.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_is_dnssec
    linkageType: ''
    returnType: int
    signature: int apply_one_cb(bool remove, const knot_rrset_t *rr, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/zone/zone-load.c:90,1
    - Dst: journal_read_rrsets
      Src: /src/knot-dns/src/knot/zone/zone-load.c:106,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone-load.c:108,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone-load.c:109,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zone-load.c:111,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone-load.c:112,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zone-load.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - conf
    - zone
    - contents
    argTypes:
    - conf_t*
    - zone_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 117
    functionName: zone_load_journal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-load.c
    functionUses: 1
    functionsReached:
    - knot_strerror
    - log_zone_error
    - journal_read_rrsets
    - zone_contents_serial
    - log_zone_info
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int zone_load_journal(conf_t *conf, zone_t *zone, zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/zone/zone-load.c:125,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:133,1
    - Dst: journal_read_rrset
      Src: /src/knot-dns/src/knot/zone/zone-load.c:139,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/zone/zone-load.c:141,1
    - Dst: journal_read_clear_rrset
      Src: /src/knot-dns/src/knot/zone/zone-load.c:142,1
    - Dst: journal_read_rrsets
      Src: /src/knot-dns/src/knot/zone/zone-load.c:146,1
    - Dst: journal_read_end
      Src: /src/knot-dns/src/knot/zone/zone-load.c:148,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone-load.c:152,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone-load.c:153,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zone-load.c:155,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone-load.c:156,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zone-load.c:156,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zone-load.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - conf
    - zone
    - contents
    argTypes:
    - conf_t*
    - zone_t*
    - zone_contents_t**
    constantsTouched: []
    func_position:
      end: 162
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 162
    functionName: zone_load_from_journal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-load.c
    functionUses: 1
    functionsReached:
    - zone_contents_add_rr
    - knot_strerror
    - log_zone_error
    - journal_read_clear_rrset
    - journal_read_rrsets
    - zone_contents_serial
    - journal_read_end
    - journal_read_rrset
    - log_zone_info
    - zone_contents_deep_free
    - zone_contents_new
    linkageType: ''
    returnType: int
    signature: int zone_load_from_journal(conf_t *conf, zone_t *zone, zone_contents_t
      **contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone-load.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - zone_name
    argTypes:
    - conf_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: zone_load_can_bootstrap
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-load.c
    functionUses: 2
    functionsReached:
    - conf_zone_get
    linkageType: ''
    returnType: bool
    signature: bool zone_load_can_bootstrap(conf_t *conf, const knot_dname_t *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - sem_error_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: sem_error_msg
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sem_error_msg(sem_error_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:151,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:153,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:154,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:161,1
    - Dst: knot_ns_name
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:162,1
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:178,1
    - Dst: zone_contents_find_node
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:180,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:191,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:192,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 199
    functionName: check_delegation
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - knot_ns_name
    - node_rdataset
    - assert
    - zone_contents_find_node
    - node_rrtype_exists
    - knot_dname_to_wire
    - knot_rdataset_at
    - semchecks_data_t*::handler::cb
    linkageType: ''
    returnType: int
    signature: int check_delegation(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:203,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:204,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:208,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:212,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:217,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:220,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:230,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:233,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:240,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:242,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:248,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:255,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:259,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:266,1
    - Dst: dnssec_key_create_ds
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:277,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:279,1
    - Dst: dnssec_binary_cmp
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:283,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:284,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:285,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:292,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:300,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:306,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 311
    functionName: check_submission
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - dnssec_binary_free
    - knot_rdata_cmp
    - memcmp
    - dnssec_key_create_ds
    - knot_rdataset_at
    - dnssec_binary_cmp
    - semchecks_data_t*::handler::cb
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: int check_submission(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:315,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:322,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:332,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:351,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 359
    functionName: check_ds
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_rdataset_at
    - snprintf
    - semchecks_data_t*::handler::cb
    linkageType: ''
    returnType: int
    signature: int check_ds(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:367,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: check_soa
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - semchecks_data_t*::handler::cb
    linkageType: ''
    returnType: int
    signature: int check_soa(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:379,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:386,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:389,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:395,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 405
    functionName: check_cname
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - semchecks_data_t*::handler::cb
    - node_rrtype_exists
    linkageType: ''
    returnType: int
    signature: int check_cname(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:409,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:416,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:418,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:426,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 437
    functionName: check_dname
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - semchecks_data_t*::handler::cb
    - node_rrtype_exists
    linkageType: ''
    returnType: int
    signature: int check_dname(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:445,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:452,1
    - Dst: knot_nsec3param_alg
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:456,1
    - Dst: semchecks_data_t*::handler::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - semchecks_data_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 463
    functionName: check_nsec3param
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - knot_nsec3param_alg
    - node_rdataset
    - semchecks_data_t*::handler::cb
    linkageType: ''
    returnType: int
    signature: int check_nsec3param(const zone_node_t *node, semchecks_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: function
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: do_checks_in_tree
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - function
    linkageType: ''
    returnType: int
    signature: int do_checks_in_tree(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:491,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - ret
    - rrtype
    - info
    - len
    argTypes:
    - int
    - uint16_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 510
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 510
    functionName: err_dnssec2sem
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_to_string
    - snprintf
    linkageType: ''
    returnType: sem_error_t
    signature: sem_error_t err_dnssec2sem(int ret, uint16_t rrtype, char *info, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_dnssec2sem
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:524,1
    - Dst: sem_handler_t*::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:525,1
    - Dst: sem_handler_t*::cb
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - zone
    - handler
    - time
    - threads
    argTypes:
    - zone_contents_t*
    - sem_handler_t*
    - time_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 533
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 533
    functionName: verify_dnssec
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 0
    functionsReached:
    - err_dnssec2sem
    - sem_handler_t*::cb
    linkageType: ''
    returnType: int
    signature: "int verify_dnssec(zone_contents_t *zone, sem_handler_t *handler, time_t
      time,\n                         uint16_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_dnssec
      Src: /src/knot-dns/src/knot/zone/semantic-check.c:584,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - zone
    - optional
    - handler
    - time
    - threads
    argTypes:
    - zone_contents_t*
    - semcheck_optional_t
    - sem_handler_t*
    - time_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 588
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 588
    functionName: sem_checks_process
    functionSourceFile: /src/knot-dns/src/knot/zone/semantic-check.c
    functionUses: 1
    functionsReached:
    - verify_dnssec
    linkageType: ''
    returnType: int
    signature: "int sem_checks_process(zone_contents_t *zone, semcheck_optional_t
      optional, sem_handler_t *handler,\n                       time_t time, uint16_t
      threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_journaldb
      Src: /src/knot-dns/src/knot/zone/zone.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: zone_journal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.h
    functionUses: 1
    functionsReached:
    - zone_journaldb
    linkageType: ''
    returnType: zone_journal_t
    signature: zone_journal_t zone_journal(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tree
    argTypes:
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: zone_tree_count
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.h
    functionUses: 0
    functionsReached:
    - trie_weight
    linkageType: ''
    returnType: size_t
    signature: size_t zone_tree_count(const zone_tree_t *tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_count
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: zone_tree_is_empty
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.h
    functionUses: 5
    functionsReached:
    - zone_tree_count
    linkageType: ''
    returnType: bool
    signature: bool zone_tree_is_empty(const zone_tree_t *tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:99,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:100,1
    - Dst: binode_node
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - node
    - tree
    argTypes:
    - zone_node_t*
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: zone_tree_fix_get
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.h
    functionUses: 1
    functionsReached:
    - assert
    - binode_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_tree_fix_get(zone_node_t *node, const zone_tree_t
      *tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:106,1
    - Dst: node_new
      Src: /src/knot-dns/src/knot/zone/zone-tree.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - owner
    - tree
    - mm
    argTypes:
    - knot_dname_t*
    - zone_tree_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: node_new_for_tree
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.h
    functionUses: 2
    functionsReached:
    - assert
    - node_new
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_new_for_tree(const knot_dname_t *owner, const zone_tree_t
      *tree, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:32,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:35,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:42,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:48,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:49,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - node
    - params
    argTypes:
    - zone_node_t*
    - dump_params_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: apex_node_dump_text
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-dump.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - fprintf
    - node_rrset
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: int apex_node_dump_text(zone_node_t *node, dump_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: apex_node_dump_text
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:83,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:89,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:90,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:118,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 133
    functionName: node_dump_text
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-dump.c
    functionUses: 1
    functionsReached:
    - apex_node_dump_text
    - fprintf
    - node_rrset_at
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: int node_dump_text(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:152,1
    - Dst: knot_time
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:158,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:174,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:182,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:184,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:192,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:194,1
    - Dst: zone_contents_nsec3_apply
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:202,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:204,1
    - Dst: zone_contents_nsec3_apply
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:211,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:213,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:219,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:221,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:223,1
    - Dst: fprintf
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:226,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-dump.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 5
    argNames:
    - zone
    - skip
    - file
    - comments
    - color
    argTypes:
    - zone_contents_t*
    - zone_skip_t*
    - FILE*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 234
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 234
    functionName: zone_dump_text
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-dump.c
    functionUses: 1
    functionsReached:
    - zone_contents_nsec3_apply
    - localtime_r
    - free
    - time
    - zone_contents_apply
    - strftime
    - fprintf
    - knot_time
    linkageType: ''
    returnType: int
    signature: int zone_dump_text(zone_contents_t *zone, zone_skip_t *skip, FILE *file,
      bool comments, const char *color)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/reverse.c:26,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/reverse.c:28,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/reverse.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in_addr_raw
    argTypes:
    - knot_dname_storage_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: reverse_owner4
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - snprintf
    linkageType: ''
    returnType: void
    signature: void reverse_owner4(knot_dname_storage_t out, uint8_t *in_addr_raw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/reverse.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in6_addr_raw
    argTypes:
    - knot_dname_storage_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: reverse_owner6
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void reverse_owner6(knot_dname_storage_t out, uint8_t *in6_addr_raw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_init
      Src: /src/knot-dns/src/knot/zone/reverse.c:49,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/knot/zone/reverse.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rrset
    - data
    - len
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: set_rdata
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 11
    functionsReached:
    - knot_rdata_size
    - knot_rdata_init
    linkageType: ''
    returnType: void
    signature: void set_rdata(knot_rrset_t *rrset, uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/reverse.c:66,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/reverse.c:71,1
    - Dst: reverse_owner6
      Src: /src/knot-dns/src/knot/zone/reverse.c:79,1
    - Dst: reverse_owner4
      Src: /src/knot-dns/src/knot/zone/reverse.c:81,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/reverse.c:84,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/reverse.c:85,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/knot/zone/reverse.c:89,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/zone/reverse.c:89,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/zone/reverse.c:93,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/zone/reverse.c:95,1
    - Dst: zone_contents_add_rr
      Src: /src/knot-dns/src/knot/zone/reverse.c:99,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/reverse.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 106
    functionName: reverse_from_node
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 0
    functionsReached:
    - reverse_owner4
    - zone_contents_add_rr
    - knot_dname_size
    - node_rrset
    - knot_rdataset_next
    - set_rdata
    - zone_update_add
    - zone_update_remove
    - knot_rrset_init
    - reverse_owner6
    - knot_dname_in_bailiwick
    linkageType: ''
    returnType: int
    signature: int reverse_from_node(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/reverse.c:123,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/knot/zone/reverse.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - from
    - to_conts
    - to_upd
    - to_upd_rem
    argTypes:
    - zone_contents_t*
    - zone_contents_t*
    - zone_update_t*
    - bool
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: zone_reverse
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 0
    functionsReached:
    - zone_contents_apply
    - knot_dname_in_bailiwick
    linkageType: ''
    returnType: int
    signature: "int zone_reverse(zone_contents_t *from, zone_contents_t *to_conts,\n
      \                zone_update_t *to_upd, bool to_upd_rem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/zone/reverse.c:133,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/zone/reverse.c:135,1
    - Dst: zone_reverse
      Src: /src/knot-dns/src/knot/zone/reverse.c:139,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/zone/reverse.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - zones
    - to_conts
    - fail_fwd
    argTypes:
    - list_t*
    - zone_contents_t*
    - knot_dname_t**
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: zones_reverse
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - rcu_read_unlock
    - zone_reverse
    - rcu_read_lock
    linkageType: ''
    returnType: int
    signature: int zones_reverse(list_t *zones, zone_contents_t *to_conts, const knot_dname_t
      **fail_fwd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:27,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:28,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - old_zone
    - zone_name
    argTypes:
    - conf_t*
    - zone_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: zone_file_updated
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool zone_file_updated(conf_t *conf, const zone_t *old_zone,\n                              const
      knot_dname_t *zone_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:50,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: zone_get_catalog_group
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - conf_str
    - conf_zone_get
    linkageType: ''
    returnType: void
    signature: void zone_get_catalog_group(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_new
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:58,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - server
    argTypes:
    - knot_dname_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: create_zone_from
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - zone_new
    - zone_free
    linkageType: ''
    returnType: zone_t
    signature: zone_t *create_zone_from(const knot_dname_t *name, server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:78,1
    - Dst: zone_contents_digest_exists
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:79,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:79,1
    - Dst: zone_file_updated
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:84,1
    - Dst: zone_expired
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:84,1
    - Dst: replan_load_updated
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:85,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:88,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:89,1
    - Dst: replan_load_current
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - conf
    - zone
    - old_zone
    argTypes:
    - conf_t*
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: replan_events
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - zone_expired
    - replan_load_current
    - memcpy
    - replan_load_updated
    - conf_opt
    - memset
    - zone_file_updated
    - zone_contents_digest_exists
    linkageType: ''
    returnType: void
    signature: void replan_events(conf_t *conf, zone_t *zone, zone_t *old_zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_zone_from
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:97,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:103,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:103,1
    - Dst: zone_timers_sanitize
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:106,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:109,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - conf
    - name
    - server
    - old_zone
    argTypes:
    - conf_t*
    - knot_dname_t*
    - server_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: create_zone_reload
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - create_zone_from
    - zone_set_flag
    - zone_control_clear
    - zone_get_flag
    - zone_timers_sanitize
    - log_zone_warning
    linkageType: ''
    returnType: zone_t
    signature: "zone_t *create_zone_reload(conf_t *conf, const knot_dname_t *name,\n
      \                                 server_t *server, zone_t *old_zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_zone_from
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:125,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:132,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:133,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:134,1
    - Dst: zone_timers_sanitize
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:138,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:140,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:143,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:144,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:145,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:145,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:147,1
    - Dst: zone_timers_write
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:148,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:152,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:153,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:154,1
    - Dst: catalog_update_new
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:158,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:160,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:161,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:162,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:165,1
    - Dst: catalog_open
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:167,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:169,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:169,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:171,1
    - Dst: zone_expired
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:174,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:176,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:177,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:177,1
    - Dst: replan_load_bootstrap
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:178,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:180,1
    - Dst: replan_load_new
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:182,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - conf
    - name
    - server
    argTypes:
    - conf_t*
    - knot_dname_t*
    - server_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 186
    functionName: create_zone_new
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - zone_is_slave
    - log_zone_error
    - catalog_update_new
    - time
    - log_zone_info
    - log_error
    - knot_strerror
    - create_zone_from
    - zone_timers_sanitize
    - catalog_open
    - assert
    - zone_free
    - knot_dname_copy
    - replan_load_bootstrap
    - conf_dname
    - conf_zone_get
    - replan_load_new
    - zone_timers_write
    - zone_expired
    - zone_set_flag
    linkageType: ''
    returnType: zone_t
    signature: "zone_t *create_zone_new(conf_t *conf, const knot_dname_t *name,\n
      \                              server_t *server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:200,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:201,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:202,1
    - Dst: create_zone_reload
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:207,1
    - Dst: create_zone_new
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:209,1
    - Dst: zone_get_catalog_group
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - conf
    - name
    - server
    - old_zone
    argTypes:
    - conf_t*
    - knot_dname_t*
    - server_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 197
    functionDepth: 8
    functionLinenumber: 197
    functionLinenumberEnd: 217
    functionName: create_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - assert
    - create_zone_new
    - zone_get_catalog_group
    - create_zone_reload
    linkageType: ''
    returnType: zone_t
    signature: "zone_t *create_zone(conf_t *conf, const knot_dname_t *name, server_t
      *server,\n                           zone_t *old_zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:225,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:226,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:226,1
    - Dst: trie_it_key
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:228,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:230,1
    - Dst: conf_io_trie_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:232,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:233,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - zonedb
    - changed
    argTypes:
    - knot_zonedb_t*
    - trie_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: mark_changed_zones
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - assert
    - trie_it_next
    - knot_zonedb_find
    - trie_it_key
    - trie_it_begin
    - trie_it_free
    - trie_it_finished
    - conf_io_trie_val
    linkageType: ''
    returnType: void
    signature: void mark_changed_zones(knot_zonedb_t *zonedb, trie_t *changed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: selective_zone_purge
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: zone_purge
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 3
    functionsReached:
    - selective_zone_purge
    linkageType: ''
    returnType: void
    signature: void zone_purge(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:247,1
    - Dst: zone_switch_contents
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: zone_expire
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - time
    - zone_switch_contents
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *zone_expire(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_open
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:259,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: check_open_catalog
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - log_error
    - catalog_open
    linkageType: ''
    returnType: bool
    signature: bool check_open_catalog(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:273,1
    - Dst: catalog_update_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:277,1
    - Dst: zone_purge
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:281,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:282,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:283,1
    - Dst: zone_expire
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:283,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:284,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:296,1
    - Dst: create_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:303,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:305,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:307,1
    - Dst: zone_get_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:307,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:312,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:313,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - zone
    - server
    - conf
    - mode
    - expired_contents
    argTypes:
    - zone_t*
    - server_t*
    - conf_t*
    - reload_t
    - list_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 270
    functionDepth: 9
    functionLinenumber: 270
    functionLinenumberEnd: 321
    functionName: reuse_member_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_sem_post
    - knot_strerror
    - log_zone_error
    - zone_free
    - create_zone
    - zone_purge
    - knot_sem_wait
    - zone_get_flag
    - zone_expire
    - catalog_update_get
    - ptrlist_add
    linkageType: ''
    returnType: zone_t
    signature: "zone_t *reuse_member_zone(zone_t *zone, server_t *server, conf_t *conf,\n
      \                                reload_t mode, list_t *expired_contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_update_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:326,1
    - Dst: create_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:331,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:333,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:335,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:340,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:341,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - zname
    - server
    - conf
    argTypes:
    - knot_dname_t*
    - server_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 324
    functionDepth: 9
    functionLinenumber: 324
    functionLinenumberEnd: 349
    functionName: reuse_cold_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - zone_free
    - knot_strerror
    - log_zone_error
    - create_zone
    - zone_set_flag
    - catalog_update_get
    linkageType: ''
    returnType: zone_t
    signature: zone_t *reuse_cold_zone(const knot_dname_t *zname, server_t *server,
      conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:363,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:365,1
    - Dst: reuse_cold_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:369,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - member
    - knot_dname_t *owner
    - catz
    - group
    - ctx
    argTypes:
    - knot_dname_t*
    - _unused_
    - knot_dname_t*
    - _unused_*
    - void*
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 10
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: reuse_cold_zone_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - knot_zonedb_insert
    - reuse_cold_zone
    - knot_zonedb_find
    - log_zone_warning
    linkageType: ''
    returnType: int
    signature: "int reuse_cold_zone_cb(const knot_dname_t *member, _unused_ const
      knot_dname_t *owner,\n                              const knot_dname_t *catz,
      _unused_ const char *group,\n                              void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:383,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:384,1
    - Dst: create_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:388,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:390,1
    - Dst: zone_set_flag
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:392,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:397,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:398,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:400,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - val
    - check
    - server
    - conf
    argTypes:
    - catalog_upd_val_t*
    - knot_zonedb_t*
    - server_t*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 376
    functionDepth: 9
    functionLinenumber: 376
    functionLinenumberEnd: 407
    functionName: add_member_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - zone_free
    - knot_strerror
    - log_zone_error
    - create_zone
    - knot_zonedb_find
    - zone_set_flag
    - log_zone_info
    linkageType: ''
    returnType: zone_t
    signature: "zone_t *add_member_zone(catalog_upd_val_t *val, knot_zonedb_t *check,\n
      \                              server_t *server, conf_t *conf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:425,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:426,1
    - Dst: knot_zonedb_new
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:429,1
    - Dst: mark_changed_zones
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:436,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:440,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:441,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:442,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:443,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:445,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:449,1
    - Dst: create_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:454,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:456,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:463,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:464,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:466,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:471,1
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:475,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:476,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:477,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:479,1
    - Dst: zone_purge
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:482,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:485,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:487,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:491,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:491,1
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:497,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:498,1
    - Dst: reuse_member_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:499,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:499,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:503,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:505,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:507,1
    - Dst: check_open_catalog
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:508,1
    - Dst: catalog_apply
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:510,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:512,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:512,1
    - Dst: catalog_it_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:517,1
    - Dst: catalog_it_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:518,1
    - Dst: catalog_it_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:519,1
    - Dst: add_member_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:520,1
    - Dst: knot_zonedb_insert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:522,1
    - Dst: catalog_it_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:524,1
    - Dst: catalog_it_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:526,1
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:528,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:529,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:530,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:531,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:533,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:534,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:537,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:538,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:541,1
    - Dst: zone_local_notify_subscribe
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:542,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:544,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:546,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:548,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 4
    argNames:
    - conf
    - server
    - mode
    - expired_contents
    argTypes:
    - conf_t*
    - server_t*
    - reload_t
    - list_t*
    constantsTouched: []
    func_position:
      end: 551
      start: 422
    functionDepth: 10
    functionLinenumber: 422
    functionLinenumberEnd: 551
    functionName: create_zonedb
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - catalog_it_free
    - log_zone_error
    - catalog_it_val
    - knot_zonedb_iter_finished
    - conf_val_next
    - log_error
    - zone_local_notify_subscribe
    - conf_iter
    - knot_strerror
    - knot_zonedb_iter_next
    - check_open_catalog
    - knot_zonedb_insert
    - zone_purge
    - catalog_it_next
    - knot_zonedb_iter_free
    - ptrlist_add
    - conf_iter_next
    - assert
    - catalog_it_begin
    - zone_free
    - create_zone
    - catalog_it_finished
    - knot_zonedb_find
    - knot_zonedb_iter_begin
    - reuse_member_zone
    - conf_dname
    - catalog_apply
    - conf_zone_get
    - conf_iter_id
    - knot_dname_to_str
    - mark_changed_zones
    - knot_zonedb_iter_val
    - knot_zonedb_new
    - add_member_zone
    - log_zone_warning
    linkageType: ''
    returnType: knot_zonedb_t
    signature: "knot_zonedb_t *create_zonedb(conf_t *conf, server_t *server, reload_t
      mode,\n                                    list_t *expired_contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catalog_commit_cleanup
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:566,1
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:574,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:575,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:576,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:579,1
    - Dst: replan_events
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:581,1
    - Dst: knot_zonedb_find
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:588,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:589,1
    - Dst: replan_events
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:590,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:592,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:595,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:599,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:601,1
    - Dst: catalog_update_clear
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:607,1
    - Dst: knot_zonedb_deep_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:610,1
    - Dst: knot_zonedb_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - conf
    - db_old
    - server
    - mode
    argTypes:
    - conf_t*
    - knot_zonedb_t*
    - server_t*
    - reload_t
    constantsTouched: []
    func_position:
      end: 614
      start: 563
    functionDepth: 5
    functionLinenumber: 563
    functionLinenumberEnd: 614
    functionName: remove_old_zonedb
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - assert
    - catalog_commit_cleanup
    - zone_free
    - knot_zonedb_iter_next
    - knot_zonedb_iter_begin
    - knot_zonedb_iter_finished
    - knot_zonedb_find
    - knot_zonedb_iter_val
    - replan_events
    - catalog_update_clear
    - knot_zonedb_deep_free
    - knot_zonedb_iter_free
    - knot_zonedb_free
    linkageType: ''
    returnType: void
    signature: "void remove_old_zonedb(conf_t *conf, knot_zonedb_t *db_old,\n                              server_t
      *server, reload_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contents
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: zone_contents_deep_free_wrap
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 0
    functionsReached:
    - zone_contents_deep_free
    linkageType: ''
    returnType: void
    signature: void zone_contents_deep_free_wrap(void *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:629,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:636,1
    - Dst: catalog_update_finalize
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:638,1
    - Dst: log_info
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:641,1
    - Dst: create_zonedb
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:645,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:647,1
    - Dst: catalogs_generate
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:651,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:655,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:658,1
    - Dst: ptrlist_free_custom
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:660,1
    - Dst: remove_old_zonedb
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - conf
    - server
    - mode
    argTypes:
    - conf_t*
    - server_t*
    - reload_t
    constantsTouched: []
    func_position:
      end: 664
      start: 622
    functionDepth: 11
    functionLinenumber: 622
    functionLinenumberEnd: 664
    functionName: zonedb_reload
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 1
    functionsReached:
    - assert
    - rcu_xchg_pointer
    - catalog_update_finalize
    - log_info
    - catalogs_generate
    - synchronize_rcu
    - remove_old_zonedb
    - create_zonedb
    - ptrlist_free_custom
    - log_error
    - init_list
    linkageType: ''
    returnType: void
    signature: void zonedb_reload(conf_t *conf, server_t *server, reload_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_find_ptr
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:668,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:672,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:672,1
    - Dst: zone_events_freeze_blocking
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:674,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:675,1
    - Dst: create_zone
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:677,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:679,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:682,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:687,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:688,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:689,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:690,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:692,1
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:696,1
    - Dst: synchronize_rcu
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:697,1
    - Dst: replan_events
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:699,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:701,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:704,1
    - Dst: knot_sem_post
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:705,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb-load.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - conf
    - server
    - zone_name
    argTypes:
    - conf_t*
    - server_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 709
      start: 666
    functionDepth: 9
    functionLinenumber: 666
    functionLinenumberEnd: 709
    functionName: zone_reload_modules
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb-load.c
    functionUses: 1
    functionsReached:
    - assert
    - rcu_xchg_pointer
    - knot_sem_post
    - knot_strerror
    - log_zone_error
    - zone_free
    - create_zone
    - synchronize_rcu
    - knot_sem_wait
    - replan_events
    - zone_events_freeze_blocking
    - knot_zonedb_find_ptr
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int zone_reload_modules(conf_t *conf, server_t *server, const knot_dname_t
      *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrtype_dynarray_bsearch
      Src: /src/knot-dns/src/knot/zone/skip.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - zone_skip_type
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: knot_dynarray_declare
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.h
    functionUses: 0
    functionsReached:
    - rrtype_dynarray_bsearch
    linkageType: ''
    returnType: void
    signature: "void knot_dynarray_declare(rrtype, uint16_t, DYNARRAY_VISIBILITY_NORMAL,
      64)\ntypedef rrtype_dynarray_t zone_skip_t;\n\n/*!\n * \\brief Add single type
      (or \"dnssec\") to given list of skip types.\n */\nint zone_skip_add(zone_skip_t
      *skip, const char *type_str);\n\n/*!\n * \\brief Add DNSSEC types relevant for
      zone diff computation to skip.\n *\n * \\note This inclused RRSIGs and NSECs
      due to zone being signed, but DNSKEYs\n *       might be partially managed from
      outside in the case of incremental policy.\n */\nint zone_skip_add_dnssec_diff(zone_skip_t
      *skip);\n\n/*!\n * \\brief Fill in zone_skip structure according to a configuration
      option.\n */\nint zone_skip_from_conf(zone_skip_t *skip, conf_val_t *val);\n\n/*!\n
      * \\brief Should we skip loading/dumping this type according to zone_skip structure?\n
      */\ninline static bool zone_skip_type(zone_skip_t *skip, uint16_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrtype_dynarray_free
      Src: /src/knot-dns/src/knot/zone/skip.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skip
    argTypes:
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: zone_skip_free
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.h
    functionUses: 4
    functionsReached:
    - rrtype_dynarray_free
    linkageType: ''
    returnType: void
    signature: void zone_skip_free(zone_skip_t *skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:23,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:24,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:25,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:33,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:34,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:35,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:35,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:47,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:51,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:55,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:59,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:61,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - zone1
    - zone2
    - changeset
    argTypes:
    - zone_contents_t*
    - zone_contents_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 66
    functionName: load_soas
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - serial_compare
    - assert
    - knot_rrset_empty
    - knot_rrset_free
    - knot_rrset_copy
    - node_rrset
    linkageType: ''
    returnType: int
    signature: "int load_soas(const zone_contents_t *zone1, const zone_contents_t
      *zone2,\n                     changeset_t *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:73,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - node
    - changeset
    - skip
    argTypes:
    - zone_node_t*
    - changeset_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: add_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: "int add_node(const zone_node_t *node, changeset_t *changeset,\n                    zone_skip_t
      *skip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:93,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - node
    - changeset
    - skip
    argTypes:
    - zone_node_t*
    - changeset_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: remove_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 3
    functionsReached:
    - node_rrset_at
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: "int remove_node(const zone_node_t *node, changeset_t *changeset,\n
      \                      zone_skip_t *skip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:117,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:129,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:136,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - rrset1
    - rrset2
    - changes
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: rdata_return_changes
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - knot_rrset_init
    - knot_rdataset_next
    - knot_rdataset_member
    linkageType: ''
    returnType: int
    signature: "int rdata_return_changes(const knot_rrset_t *rrset1,\n                                const
      knot_rrset_t *rrset2,\n                                knot_rrset_t *changes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rdata_return_changes
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:165,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:171,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:173,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:175,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:180,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - rrset1
    - rrset2
    - changeset
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: diff_rrsets
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - rdata_return_changes
    - knot_rrset_empty
    - knot_rdataset_clear
    linkageType: ''
    returnType: int
    signature: "int diff_rrsets(const knot_rrset_t *rrset1, const knot_rrset_t *rrset2,\n
      \                      changeset_t *changeset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:205,1
    - Dst: remove_node
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:207,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:210,1
    - Dst: add_node
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:218,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:223,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:230,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:235,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:236,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:255,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:262,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:266,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:267,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 278
    functionName: knot_zone_diff_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrset_empty
    - node_rrset_at
    - add_node
    - node_rrset
    - zone_tree_get
    - remove_node
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: int knot_zone_diff_node(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:297,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:299,1
    - Dst: add_node
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: add_new_nodes
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - assert
    - add_node
    - zone_tree_get
    linkageType: ''
    returnType: int
    signature: int add_new_nodes(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:309,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - nodes1
    - nodes2
    - changeset
    - skip
    argTypes:
    - zone_tree_t*
    - zone_tree_t*
    - changeset_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: load_trees
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: "int load_trees(zone_tree_t *nodes1, zone_tree_t *nodes2,\n                      changeset_t
      *changeset, zone_skip_t *skip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_trees
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:349,1
    - Dst: changeset_empty
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - zone1
    - zone2
    - changeset
    - skip
    argTypes:
    - zone_contents_t*
    - zone_contents_t*
    - changeset_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 359
    functionName: zone_contents_diff
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 2
    functionsReached:
    - changeset_empty
    - load_trees
    linkageType: ''
    returnType: int
    signature: "int zone_contents_diff(const zone_contents_t *zone1, const zone_contents_t
      *zone2,\n                       changeset_t *changeset, zone_skip_t *skip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_trees
      Src: /src/knot-dns/src/knot/zone/zone-diff.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t1
    - t2
    - changeset
    argTypes:
    - zone_tree_t*
    - zone_tree_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: zone_tree_add_diff
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-diff.c
    functionUses: 0
    functionsReached:
    - load_trees
    linkageType: ''
    returnType: int
    signature: int zone_tree_add_diff(zone_tree_t *t1, zone_tree_t *t2, changeset_t
      *changeset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/zone/zone.c:41,1
    - Dst: knot_request_free
      Src: /src/knot-dns/src/knot/zone/zone.c:42,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/zone/zone.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: free_ddns_queue
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - knot_request_free
    - ptrlist_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void free_ddns_queue(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:56,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:59,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:64,1
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/zone/zone.c:67,1
    - Dst: journal_is_existing
      Src: /src/knot-dns/src/knot/zone/zone.c:68,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/src/knot/zone/zone.c:69,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zone.c:79,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:86,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:93,1
    - Dst: zonefile_write_skip
      Src: /src/knot-dns/src/knot/zone/zone.c:100,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:101,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zone.c:103,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zone.c:104,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:105,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone.c:110,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone.c:113,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/zone.c:119,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zone.c:120,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zone.c:121,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/zone.c:121,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:122,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:127,1
    - Dst: journal_is_existing
      Src: /src/knot-dns/src/knot/zone/zone.c:137,1
    - Dst: journal_set_flushed
      Src: /src/knot-dns/src/knot/zone/zone.c:138,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone.c:143,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/zone/zone.c:146,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 4
    argNames:
    - conf
    - zone
    - allow_empty_zone
    - verbose
    argTypes:
    - conf_t*
    - zone_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 151
      start: 52
    functionDepth: 8
    functionLinenumber: 52
    functionLinenumberEnd: 151
    functionName: flush_journal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - assert
    - conf_zone_get
    - rcu_read_unlock
    - zonefile_write_skip
    - knot_strerror
    - free
    - journal_set_flushed
    - time
    - rcu_read_lock
    - zone_journal
    - journal_is_existing
    - log_zone_info
    - stat
    - zone_events_schedule_at
    - log_zone_warning
    - knot_map_errno
    - zone_contents_is_empty
    linkageType: ''
    returnType: int
    signature: int flush_journal(conf_t *conf, zone_t *zone, bool allow_empty_zone,
      bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/zone.c:155,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zone.c:159,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/zone.c:161,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:163,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/zone/zone.c:168,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/zone.c:170,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/zone/zone.c:172,1
    - Dst: knot_sem_init
      Src: /src/knot-dns/src/knot/zone/zone.c:173,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/zone/zone.c:176,1
    - Dst: zone_events_init
      Src: /src/knot-dns/src/knot/zone/zone.c:179,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/zone.c:182,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/zone.c:184,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/zone.c:185,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/knot/zone/zone.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 190
    functionName: zone_new
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 5
    functionsReached:
    - knot_sem_init
    - ATOMIC_INIT
    - zone_events_init
    - free
    - knot_dname_copy
    - pthread_mutex_init
    - memset
    - malloc
    - init_list
    linkageType: ''
    returnType: zone_t
    signature: zone_t * zone_new(const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/knot/zone/zone.c:198,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: zone_control_clear
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 4
    functionsReached:
    - zone_update_clear
    - free
    linkageType: ''
    returnType: void
    signature: void zone_control_clear(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_events_deinit
      Src: /src/knot-dns/src/knot/zone/zone.c:211,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/zone/zone.c:214,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zone.c:218,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/zone/zone.c:220,1
    - Dst: free_ddns_queue
      Src: /src/knot-dns/src/knot/zone/zone.c:222,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/zone/zone.c:223,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/zone/zone.c:225,1
    - Dst: knot_sem_destroy
      Src: /src/knot-dns/src/knot/zone/zone.c:226,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/zone/zone.c:229,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:231,1
    - Dst: catalog_update_free
      Src: /src/knot-dns/src/knot/zone/zone.c:232,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/zone/zone.c:235,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:236,1
    - Dst: conf_deactivate_modules
      Src: /src/knot-dns/src/knot/zone/zone.c:238,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/zone/zone.c:240,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/knot/zone/zone.c:241,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/knot/zone/zone.c:243,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - zone_ptr
    argTypes:
    - zone_t**
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: zone_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 11
    functionsReached:
    - zone_events_deinit
    - zone_contents_deep_free
    - catalog_update_free
    - pthread_join
    - free
    - knot_sem_destroy
    - ATOMIC_DEINIT
    - zone_control_clear
    - knot_dname_free
    - pthread_mutex_destroy
    - free_ddns_queue
    - ptrlist_free
    - conf_deactivate_modules
    linkageType: ''
    returnType: void
    signature: void zone_free(zone_t **zone_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_switch_contents
      Src: /src/knot-dns/src/knot/zone/zone.c:255,1
    - Dst: conf_reset_modules
      Src: /src/knot-dns/src/knot/zone/zone.c:256,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zone.c:257,1
    - Dst: zone_expired
      Src: /src/knot-dns/src/knot/zone/zone.c:258,1
    - Dst: replan_from_timers
      Src: /src/knot-dns/src/knot/zone/zone.c:259,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/zone/zone.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: zone_reset
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - zone_events_schedule_now
    - zone_expired
    - conf_reset_modules
    - replan_from_timers
    - zone_switch_contents
    - zone_contents_deep_free
    linkageType: ''
    returnType: void
    signature: void zone_reset(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_cmp
      Src: /src/knot-dns/src/knot/zone/zone.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - data
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: dname_cmp_sweep_wrap
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - knot_dname_cmp
    linkageType: ''
    returnType: bool
    signature: bool dname_cmp_sweep_wrap(const uint8_t *zone, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_timers_write
      Src: /src/knot-dns/src/knot/zone/zone.c:300,1
    - Dst: zone_timers_sweep
      Src: /src/knot-dns/src/knot/zone/zone.c:303,1
    - Dst: zone_timers_sanitize
      Src: /src/knot-dns/src/knot/zone/zone.c:306,1
    - Dst: RETURN_IF_FAILED
      Src: /src/knot-dns/src/knot/zone/zone.c:308,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:315,1
    - Dst: conf_int
      Src: /src/knot-dns/src/knot/zone/zone.c:316,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/zone.c:318,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/zone.c:318,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:319,1
    - Dst: RETURN_IF_FAILED
      Src: /src/knot-dns/src/knot/zone/zone.c:320,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/src/knot/zone/zone.c:326,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:326,1
    - Dst: RETURN_IF_FAILED
      Src: /src/knot-dns/src/knot/zone/zone.c:327,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/zone/zone.c:332,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/zone.c:332,1
    - Dst: kasp_db_delete_all
      Src: /src/knot-dns/src/knot/zone/zone.c:334,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/zone.c:334,1
    - Dst: RETURN_IF_FAILED
      Src: /src/knot-dns/src/knot/zone/zone.c:336,1
    - Dst: catalog_zone_purge
      Src: /src/knot-dns/src/knot/zone/zone.c:341,1
    - Dst: RETURN_IF_FAILED
      Src: /src/knot-dns/src/knot/zone/zone.c:342,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/zone/zone.c:351,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - conf
    - zone
    - params
    argTypes:
    - conf_t*
    - zone_t*
    - purge_flag_t
    constantsTouched: []
    func_position:
      end: 355
      start: 283
    functionDepth: 7
    functionLinenumber: 283
    functionLinenumberEnd: 355
    functionName: selective_zone_purge
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - conf_zone_get
    - journal_scrape_with_md
    - zone_timers_sweep
    - zone_timers_write
    - RETURN_IF_FAILED
    - free
    - catalog_zone_purge
    - unlink
    - knot_map_errno
    - zone_journal
    - kasp_db_delete_all
    - conf_int
    - zone_timers_sanitize
    - log_zone_notice
    - knot_lmdb_open
    - zone_kaspdb
    linkageType: ''
    returnType: int
    signature: int selective_zone_purge(conf_t *conf, zone_t *zone, purge_flag_t params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: zone_journaldb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: knot_lmdb_db_t
    signature: knot_lmdb_db_t *zone_journaldb(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: zone_kaspdb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: knot_lmdb_db_t
    signature: knot_lmdb_db_t *zone_kaspdb(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: zone_catalog
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: catalog_t
    signature: catalog_t *zone_catalog(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: zone_catalog_upd
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: catalog_update_t
    signature: catalog_update_t *zone_catalog_upd(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_journaldb
      Src: /src/knot-dns/src/knot/zone/zone.c:381,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/zone/zone.c:385,1
    - Dst: flush_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:388,1
    - Dst: journal_insert
      Src: /src/knot-dns/src/knot/zone/zone.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - conf
    - zone
    - change
    - extra
    - diff
    argTypes:
    - conf_t*
    - zone_t*
    - changeset_t*
    - changeset_t*
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 377
    functionDepth: 9
    functionLinenumber: 377
    functionLinenumberEnd: 395
    functionName: journal_insert_flush
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - journal_insert
    - log_zone_notice
    - flush_journal
    - zone_journaldb
    linkageType: ''
    returnType: int
    signature: "int journal_insert_flush(conf_t *conf, zone_t *zone,\n                                changeset_t
      *change, changeset_t *extra,\n                                const zone_diff_t
      *diff)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_insert_flush
      Src: /src/knot-dns/src/knot/zone/zone.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - zone
    - change
    - extra
    argTypes:
    - conf_t*
    - zone_t*
    - changeset_t*
    - changeset_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 10
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: zone_change_store
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - journal_insert_flush
    linkageType: ''
    returnType: int
    signature: int zone_change_store(conf_t *conf, zone_t *zone, changeset_t *change,
      changeset_t *extra)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_insert_flush
      Src: /src/knot-dns/src/knot/zone/zone.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - zone
    - diff
    argTypes:
    - conf_t*
    - zone_t*
    - zone_diff_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 10
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: zone_diff_store
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - journal_insert_flush
    linkageType: ''
    returnType: int
    signature: int zone_diff_store(conf_t *conf, zone_t *zone, const zone_diff_t *diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/src/knot/zone/zone.c:421,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 7
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: zone_changes_clear
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - zone_journal
    - journal_scrape_with_md
    linkageType: ''
    returnType: int
    signature: int zone_changes_clear(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_journaldb
      Src: /src/knot-dns/src/knot/zone/zone.c:434,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone.c:438,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - conf
    - zone
    - new_contents
    argTypes:
    - conf_t*
    - zone_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 443
    functionName: zone_in_journal_store
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - log_zone_info
    - zone_journaldb
    - zone_contents_serial
    linkageType: ''
    returnType: int
    signature: int zone_in_journal_store(conf_t *conf, zone_t *zone, zone_contents_t
      *new_contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - zone
    - verbose
    argTypes:
    - conf_t*
    - zone_t*
    - bool
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 9
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: zone_flush_journal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - flush_journal
    linkageType: ''
    returnType: int
    signature: int zone_flush_journal(conf_t *conf, zone_t *zone, bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: journal_info
      Src: /src/knot-dns/src/knot/zone/zone.c:457,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/zone.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 7
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: zone_journal_has_zij
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - zone_journal
    - journal_info
    linkageType: ''
    returnType: bool
    signature: bool zone_journal_has_zij(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:463,1
    - Dst: notifailed_rmt_dynarray_free
      Src: /src/knot-dns/src/knot/zone/zone.c:464,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: zone_notifailed_clear
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - notifailed_rmt_dynarray_free
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_notifailed_clear(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_notifailed_clear
      Src: /src/knot-dns/src/knot/zone/zone.c:470,1
    - Dst: zone_events_schedule_at
      Src: /src/knot-dns/src/knot/zone/zone.c:471,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - delay
    argTypes:
    - zone_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: zone_schedule_notify
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 5
    functionsReached:
    - zone_events_schedule_at
    - zone_notifailed_clear
    - time
    linkageType: ''
    returnType: void
    signature: void zone_schedule_notify(zone_t *zone, time_t delay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rcu_xchg_pointer
      Src: /src/knot-dns/src/knot/zone/zone.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - new_contents
    argTypes:
    - zone_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: zone_switch_contents
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 5
    functionsReached:
    - rcu_xchg_pointer
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *zone_switch_contents(zone_t *zone, zone_contents_t
      *new_contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: zone_is_slave
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 7
    functionsReached:
    - conf_zone_get
    linkageType: ''
    returnType: bool
    signature: bool zone_is_slave(conf_t *conf, const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:503,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:504,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/zone.c:505,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/zone.c:506,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/knot/zone/zone.c:506,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - addr
    argTypes:
    - zone_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: zone_set_preferred_master
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - sockaddr_len
    - pthread_mutex_lock
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void zone_set_preferred_master(zone_t *zone, const struct sockaddr_storage
      *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:516,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:517,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: zone_clear_preferred_master
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_clear_preferred_master(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zone.c:529,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/zone.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - addr
    argTypes:
    - zone_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: zone_set_last_master
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 3
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void zone_set_last_master(zone_t *zone, const struct sockaddr_storage
      *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:542,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - zone
    - flag
    - remove
    argTypes:
    - zone_t*
    - zone_flag_t
    - bool
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: set_flag
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 12
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void set_flag(zone_t *zone, zone_flag_t flag, bool remove)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_flag
      Src: /src/knot-dns/src/knot/zone/zone.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - zone_t*
    - zone_flag_t
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: zone_set_flag
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 10
    functionsReached:
    - set_flag
    linkageType: ''
    returnType: void
    signature: void zone_set_flag(zone_t *zone, zone_flag_t flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_flag
      Src: /src/knot-dns/src/knot/zone/zone.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - zone_t*
    - zone_flag_t
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: zone_unset_flag
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - set_flag
    linkageType: ''
    returnType: void
    signature: void zone_unset_flag(zone_t *zone, zone_flag_t flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:567,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:572,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - zone
    - flag
    - clear
    argTypes:
    - zone_t*
    - zone_flag_t
    - bool
    constantsTouched: []
    func_position:
      end: 576
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 576
    functionName: zone_get_flag
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 8
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: zone_flag_t
    signature: zone_flag_t zone_get_flag(zone_t *zone, zone_flag_t flag, bool clear)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_contents_is_empty
      Src: /src/knot-dns/src/knot/zone/zone.c:580,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/zone.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: zone_soa
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - node_rdataset
    - zone_contents_is_empty
    linkageType: ''
    returnType: knot_rdataset_t
    signature: knot_rdataset_t *zone_soa(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_soa
      Src: /src/knot-dns/src/knot/zone/zone.c:589,1
    - Dst: knot_soa_expire
      Src: /src/knot-dns/src/knot/zone/zone.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: zone_soa_expire
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - knot_soa_expire
    - zone_soa
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zone_soa_expire(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: zone_expired
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 5
    functionsReached:
    - time
    linkageType: ''
    returnType: bool
    signature: bool zone_expired(const zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - time
    - value
    argTypes:
    - time_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: time_set_default
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void time_set_default(time_t *time, time_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:615,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:616,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/zone.c:618,1
    - Dst: time_set_default
      Src: /src/knot-dns/src/knot/zone/zone.c:621,1
    - Dst: zone_is_slave
      Src: /src/knot-dns/src/knot/zone/zone.c:623,1
    - Dst: time_set_default
      Src: /src/knot-dns/src/knot/zone/zone.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 636
      start: 613
    functionDepth: 4
    functionLinenumber: 613
    functionLinenumberEnd: 636
    functionName: zone_timers_sanitize
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 3
    functionsReached:
    - assert
    - time
    - time_set_default
    - zone_is_slave
    linkageType: ''
    returnType: void
    signature: void zone_timers_sanitize(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/zone/zone.c:645,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:647,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:648,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/zone/zone.c:651,1
    - Dst: callback
      Src: /src/knot-dns/src/knot/zone/zone.c:652,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/knot/zone/zone.c:658,1
    - Dst: log_zone_info
      Src: /src/knot-dns/src/knot/zone/zone.c:659,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zone.c:660,1
    - Dst: log_zone_warning
      Src: /src/knot-dns/src/knot/zone/zone.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 9
    argNames:
    - conf
    - zone
    - callback
    - callback_data
    - err_str
    - remote_id
    - remote
    - fallback
    - remote_prefix
    argTypes:
    - conf_t*
    - zone_t*
    - zone_master_cb
    - void*
    - char*
    - char*
    - conf_val_t*
    - zone_master_fallback_t*
    - char*
    constantsTouched: []
    func_position:
      end: 667
      start: 638
    functionDepth: 5
    functionLinenumber: 638
    functionLinenumberEnd: 667
    functionName: try_remote
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_id_get
    - knot_strerror
    - sockaddr_tostr
    - callback
    - log_zone_info
    - log_zone_warning
    - conf_remote
    linkageType: ''
    returnType: int
    signature: "int try_remote(conf_t *conf, zone_t *zone, zone_master_cb callback,\n
      \                     void *callback_data, const char *err_str, const char *remote_id,\n
      \                     conf_val_t *remote, zone_master_fallback_t *fallback,\n
      \                     const char *remote_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:676,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:685,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/zone/zone.c:687,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/zone.c:688,1
    - Dst: conf_id_get
      Src: /src/knot-dns/src/knot/zone/zone.c:690,1
    - Dst: conf_remote
      Src: /src/knot-dns/src/knot/zone/zone.c:694,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/zone/zone.c:696,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/zone.c:697,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/knot/zone/zone.c:702,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/zone.c:703,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/zone/zone.c:710,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/zone.c:712,1
    - Dst: try_remote
      Src: /src/knot-dns/src/knot/zone/zone.c:722,1
    - Dst: try_remote
      Src: /src/knot-dns/src/knot/zone/zone.c:735,1
    - Dst: conf_val_reset
      Src: /src/knot-dns/src/knot/zone/zone.c:744,1
    - Dst: conf_mix_iter_init
      Src: /src/knot-dns/src/knot/zone/zone.c:745,1
    - Dst: try_remote
      Src: /src/knot-dns/src/knot/zone/zone.c:751,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/zone.c:752,1
    - Dst: conf_mix_iter_next
      Src: /src/knot-dns/src/knot/zone/zone.c:757,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 5
    argNames:
    - conf
    - zone
    - callback
    - callback_data
    - err_str
    argTypes:
    - conf_t*
    - zone_t*
    - zone_master_cb
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 761
      start: 669
    functionDepth: 6
    functionLinenumber: 669
    functionLinenumberEnd: 761
    functionName: zone_master_try
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - conf_val_reset
    - conf_zone_get
    - pthread_mutex_unlock
    - conf_id_get
    - pthread_mutex_lock
    - try_remote
    - sockaddr_net_match
    - conf_mix_iter_init
    - conf_mix_iter_next
    - conf_str
    - conf_remote
    linkageType: ''
    returnType: int
    signature: "int zone_master_try(conf_t *conf, zone_t *zone, zone_master_cb callback,\n
      \                   void *callback_data, const char *err_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/zone.c:782,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/zone/zone.c:783,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:784,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone.c:787,1
    - Dst: zonefile_write_skip
      Src: /src/knot-dns/src/knot/zone/zone.c:789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - conf
    - zone
    - dir
    argTypes:
    - conf_t*
    - zone_t*
    - char*
    constantsTouched: []
    func_position:
      end: 790
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 790
    functionName: zone_dump_to_dir
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 0
    functionsReached:
    - free
    - zonefile_write_skip
    - snprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int zone_dump_to_dir(conf_t *conf, zone_t *zone, const char *dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/knot/zone/zone.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - subscribe
    argTypes:
    - zone_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: zone_local_notify_subscribe
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - ptrlist_add
    linkageType: ''
    returnType: void
    signature: void zone_local_notify_subscribe(zone_t *zone, zone_t *subscribe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/knot/zone/zone.c:800,1
    - Dst: zone_events_schedule_now
      Src: /src/knot-dns/src/knot/zone/zone.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - zone_t*
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: zone_local_notify
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - zone_events_schedule_now
    linkageType: ''
    returnType: void
    signature: void zone_local_notify(zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_store_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:807,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/zone.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - zone_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 6
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: zone_set_master_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 3
    functionsReached:
    - zone_kaspdb
    - kasp_db_store_serial
    linkageType: ''
    returnType: int
    signature: int zone_set_master_serial(zone_t *zone, uint32_t serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_load_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:812,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/zone.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - zone_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: zone_get_master_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached:
    - zone_kaspdb
    - kasp_db_load_serial
    linkageType: ''
    returnType: int
    signature: int zone_get_master_serial(zone_t *zone, uint32_t *serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - zone_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: zone_set_lastsigned_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zone_set_lastsigned_serial(zone_t *zone, uint32_t serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_load_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:825,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/zone.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - zone_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 821
    functionDepth: 5
    functionLinenumber: 821
    functionLinenumberEnd: 832
    functionName: zone_get_lastsigned_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 2
    functionsReached:
    - zone_kaspdb
    - kasp_db_load_serial
    linkageType: ''
    returnType: int
    signature: int zone_get_lastsigned_serial(zone_t *zone, uint32_t *serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone.c:837,1
    - Dst: zone_contents_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:838,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/zone.c:840,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/knot/zone/zone.c:841,1
    - Dst: zone_get_master_serial
      Src: /src/knot-dns/src/knot/zone/zone.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - zone
    - conf
    - serial
    argTypes:
    - zone_t*
    - conf_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 846
      start: 834
    functionDepth: 6
    functionLinenumber: 834
    functionLinenumberEnd: 846
    functionName: slave_zone_serial
    functionSourceFile: /src/knot-dns/src/knot/zone/zone.c
    functionUses: 5
    functionsReached:
    - assert
    - conf_zone_get
    - zone_get_master_serial
    - zone_contents_serial
    - conf_bool
    linkageType: ''
    returnType: int
    signature: int slave_zone_serial(zone_t *zone, conf_t *conf, uint32_t *serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/knot/zone/node.h:151,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.h:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - node
    - second
    argTypes:
    - zone_node_t*
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: binode_node
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 2
    functionsReached:
    - assert
    - unlikely
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *binode_node(zone_node_t *node, bool second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node
      Src: /src/knot-dns/src/knot/zone/node.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: binode_first
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 1
    functionsReached:
    - binode_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *binode_first(zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.h:165,1
    - Dst: binode_node
      Src: /src/knot-dns/src/knot/zone/node.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - node
    - as
    argTypes:
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: binode_node_as
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 1
    functionsReached:
    - assert
    - binode_node
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *binode_node_as(zone_node_t *node, const zone_node_t *as)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node_as
      Src: /src/knot-dns/src/knot/zone/node.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: node_parent
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 5
    functionsReached:
    - binode_node_as
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_parent(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node_as
      Src: /src/knot-dns/src/knot/zone/node.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: node_prev
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 3
    functionsReached:
    - binode_node_as
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_prev(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node_as
      Src: /src/knot-dns/src/knot/zone/node.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - glue
    - another_zone_node
    argTypes:
    - glue_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: glue_node
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 2
    functionsReached:
    - binode_node_as
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *glue_node(const glue_t *glue, const zone_node_t *another_zone_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/zone/node.h:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - node
    - fl
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: node_set_flag_hierarch
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 0
    functionsReached:
    - node_parent
    linkageType: ''
    returnType: void
    signature: void node_set_flag_hierarch(zone_node_t *node, uint16_t fl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: node_rrtype_exists
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 23
    functionsReached:
    - node_rdataset
    linkageType: ''
    returnType: bool
    signature: bool node_rrtype_exists(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: node_empty
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool node_empty(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/node.h:364,1
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/zone/node.h:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: node_rrset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 53
    functionsReached:
    - knot_rrset_init_empty
    - knot_rrset_init
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t node_rrset(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init_empty
      Src: /src/knot-dns/src/knot/zone/node.h:388,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/node.h:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - pos
    argTypes:
    - zone_node_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: node_rrset_at
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 18
    functionsReached:
    - knot_rrset_init_empty
    - knot_rrset_init
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t node_rrset_at(const zone_node_t *node, size_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_node_as
      Src: /src/knot-dns/src/knot/zone/node.h:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: node_nsec3_get
    functionSourceFile: /src/knot-dns/src/knot/zone/node.h
    functionUses: 5
    functionsReached:
    - binode_node_as
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_nsec3_get(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - filename
    - full_path
    - full_path_size
    argTypes:
    - zone_backup_ctx_t*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: get_full_path
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void get_full_path(zone_backup_ctx_t *ctx, const char *filename,\n
      \                         char *full_path, size_t full_path_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: path_size
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t path_size(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - params
    argTypes:
    - char*
    - knot_backup_params_t
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: print_params
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void print_params(char *buf, knot_backup_params_t params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:85,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:89,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:90,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: parse_params
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - strchr
    linkageType: ''
    returnType: knot_backup_params_t
    signature: knot_backup_params_t parse_params(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PREPARE_PATH
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:107,1
    - Dst: fopen
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:109,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:111,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:121,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:122,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:124,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:125,1
    - Dst: strftime
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:126,1
    - Dst: mdb_version
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:129,1
    - Dst: print_params
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:133,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:152,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: make_label_file
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - localtime_r
    - time
    - PREPARE_PATH
    - mdb_version
    - knot_map_errno
    - strftime
    - print_params
    linkageType: ''
    returnType: int
    signature: int make_label_file(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PREPARE_PATH
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:160,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:165,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:166,1
    - Dst: S_ISREG
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:184,1
    - Dst: fopen
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:188,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:190,1
    - Dst: knot_getline
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:197,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:198,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:202,1
    - Dst: knot_getline
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:208,1
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:211,1
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:224,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:225,1
    - Dst: strncmp
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:229,1
    - Dst: parse_params
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:230,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:238,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:239,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 241
    functionName: get_backup_format
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - free
    - strncmp
    - sscanf
    - PREPARE_PATH
    - parse_params
    - stat
    - S_ISREG
    - knot_getline
    - knot_map_errno
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_backup_format(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:250,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:251,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:253,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:258,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:264,1
    - Dst: lstat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:265,1
    - Dst: S_ISLNK
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:265,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:267,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:268,1
    - Dst: make_dir
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:273,1
    - Dst: get_backup_format
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:284,1
    - Dst: get_full_path
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:289,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:290,1
    - Dst: get_full_path
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:296,1
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:299,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:308,1
    - Dst: close
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:310,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 314
    functionName: backupdir_init
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - make_dir
    - lstat
    - close
    - get_full_path
    - unlink
    - stat
    - S_ISLNK
    - knot_map_errno
    - S_ISDIR
    - get_backup_format
    linkageType: ''
    returnType: int
    signature: int backupdir_init(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_label_file
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:322,1
    - Dst: PREPARE_PATH
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:325,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:326,1
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/backup_dir.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: backupdir_deinit
    functionSourceFile: /src/knot-dns/src/knot/zone/backup_dir.c
    functionUses: 0
    functionsReached:
    - log_error
    - PREPARE_PATH
    - make_label_file
    - unlink
    linkageType: ''
    returnType: int
    signature: int backupdir_deinit(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/knot/zone/timers.c:72,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/zone/timers.c:73,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/knot/zone/timers.c:76,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/zone/timers.c:101,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/timers.c:105,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - timers_ptr
    - data
    - size
    argTypes:
    - zone_timers_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 109
    functionName: deserialize_timers
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read
    - assert
    - wire_ctx_init_const
    - wire_ctx_available
    linkageType: ''
    returnType: int
    signature: "int deserialize_timers(zone_timers_t *timers_ptr,\n                              const
      uint8_t *data, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/zone/timers.c:119,1
    - Dst: knot_lmdb_make_key
      Src: /src/knot-dns/src/knot/zone/timers.c:120,1
    - Dst: knot_lmdb_insert
      Src: /src/knot-dns/src/knot/zone/timers.c:132,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/timers.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - txn
    - zone
    - timers
    argTypes:
    - knot_lmdb_txn_t*
    - knot_dname_t*
    - zone_timers_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: txn_write_timers
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_insert
    - free
    - knot_dname_size
    - knot_lmdb_make_key
    linkageType: ''
    returnType: void
    signature: "void txn_write_timers(knot_lmdb_txn_t *txn, const knot_dname_t *zone,\n
      \                            const zone_timers_t *timers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_db_lmdb_api
      Src: /src/knot-dns/src/knot/zone/timers.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - db
    - mapsize
    argTypes:
    - char*
    - knot_db_t**
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: zone_timers_open
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - knot_db_lmdb_api
    linkageType: ''
    returnType: int
    signature: int zone_timers_open(const char *path, knot_db_t **db, size_t mapsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_db_lmdb_api
      Src: /src/knot-dns/src/knot/zone/timers.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: zone_timers_close
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - knot_db_lmdb_api
    linkageType: ''
    returnType: void
    signature: void zone_timers_close(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/zone/timers.c:162,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/zone/timers.c:170,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/zone/timers.c:171,1
    - Dst: knot_lmdb_find
      Src: /src/knot-dns/src/knot/zone/timers.c:172,1
    - Dst: deserialize_timers
      Src: /src/knot-dns/src/knot/zone/timers.c:173,1
    - Dst: knot_lmdb_abort
      Src: /src/knot-dns/src/knot/zone/timers.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - db
    - zone
    - timers
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - zone_timers_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: zone_timers_read
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 1
    functionsReached:
    - knot_lmdb_abort
    - knot_lmdb_begin
    - knot_dname_size
    - knot_lmdb_find
    - knot_lmdb_exists
    - deserialize_timers
    linkageType: ''
    returnType: int
    signature: "int zone_timers_read(knot_lmdb_db_t *db, const knot_dname_t *zone,\n
      \                    zone_timers_t *timers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/zone/timers.c:194,1
    - Dst: txn_write_timers
      Src: /src/knot-dns/src/knot/zone/timers.c:195,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/zone/timers.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - zone
    - timers
    argTypes:
    - knot_lmdb_db_t*
    - knot_dname_t*
    - zone_timers_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: zone_timers_write
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 3
    functionsReached:
    - knot_lmdb_begin
    - knot_lmdb_commit
    - txn_write_timers
    linkageType: ''
    returnType: int
    signature: "int zone_timers_write(knot_lmdb_db_t *db, const knot_dname_t *zone,\n
      \                     const zone_timers_t *timers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: txn_write_timers
      Src: /src/knot-dns/src/knot/zone/timers.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - txn
    argTypes:
    - zone_t*
    - knot_lmdb_txn_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: txn_zone_write
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - txn_write_timers
    linkageType: ''
    returnType: void
    signature: void txn_zone_write(zone_t *z, knot_lmdb_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/zone/timers.c:212,1
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/zone/timers.c:213,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/zone/timers.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - db
    - zonedb
    argTypes:
    - knot_lmdb_db_t*
    - knot_zonedb_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: zone_timers_write_all
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 0
    functionsReached:
    - knot_lmdb_begin
    - knot_lmdb_commit
    - knot_zonedb_foreach
    linkageType: ''
    returnType: int
    signature: int zone_timers_write_all(knot_lmdb_db_t *db, knot_zonedb_t *zonedb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/zone/timers.c:220,1
    - Dst: knot_lmdb_begin
      Src: /src/knot-dns/src/knot/zone/timers.c:228,1
    - Dst: keep_zone
      Src: /src/knot-dns/src/knot/zone/timers.c:230,1
    - Dst: knot_lmdb_del_cur
      Src: /src/knot-dns/src/knot/zone/timers.c:231,1
    - Dst: knot_lmdb_commit
      Src: /src/knot-dns/src/knot/zone/timers.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - db
    - keep_zone
    - cb_data
    argTypes:
    - knot_lmdb_db_t*
    - sweep_cb
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: zone_timers_sweep
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 3
    functionsReached:
    - knot_lmdb_commit
    - knot_lmdb_begin
    - knot_lmdb_exists
    - knot_lmdb_del_cur
    - keep_zone
    linkageType: ''
    returnType: int
    signature: int zone_timers_sweep(knot_lmdb_db_t *db, sweep_cb keep_zone, void
      *cb_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - timers
    - serial
    argTypes:
    - zone_timers_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: zone_timers_serial_notified
    functionSourceFile: /src/knot-dns/src/knot/zone/timers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool zone_timers_serial_notified(const zone_timers_t *timers, uint32_t
      serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_exists
      Src: /src/knot-dns/src/knot/zone/zonedb.c:19,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/zone/zonedb.c:19,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/knot/zone/zonedb.c:19,1
    - Dst: catalog_has_member
      Src: /src/knot-dns/src/knot/zone/zonedb.c:20,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/zone/zonedb.c:20,1
    - Dst: journal_info
      Src: /src/knot-dns/src/knot/zone/zonedb.c:25,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/zonedb.c:26,1
    - Dst: zone_flush_journal
      Src: /src/knot-dns/src/knot/zone/zonedb.c:28,1
    - Dst: conf
      Src: /src/knot-dns/src/knot/zone/zonedb.c:28,1
    - Dst: zone_control_clear
      Src: /src/knot-dns/src/knot/zone/zonedb.c:33,1
    - Dst: zone_free
      Src: /src/knot-dns/src/knot/zone/zonedb.c:35,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - abort_txn
    argTypes:
    - zone_t*
    - bool
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 10
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: discard_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 0
    functionsReached:
    - catalog_has_member
    - zone_free
    - knot_dname_size
    - conf
    - zone_journal
    - zone_flush_journal
    - zone_control_clear
    - conf_rawid_exists
    - journal_info
    linkageType: ''
    returnType: void
    signature: void discard_zone(zone_t *zone, bool abort_txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/zonedb.c:40,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/knot/zone/zonedb.c:45,1
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/zone/zonedb.c:47,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/knot/zone/zonedb.c:49,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonedb.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: knot_zonedb_new
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 3
    functionsReached:
    - mm_ctx_mempool
    - calloc
    - free
    - trie_create
    - mp_delete
    linkageType: ''
    returnType: knot_zonedb_t
    signature: knot_zonedb_t *knot_zonedb_new(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:63,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:66,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/zone/zonedb.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - db
    - zone
    argTypes:
    - knot_zonedb_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: knot_zonedb_insert
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 4
    functionsReached:
    - assert
    - trie_get_ins
    linkageType: ''
    returnType: int
    signature: int knot_zonedb_insert(knot_zonedb_t *db, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:81,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zonedb.c:83,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/zone/zonedb.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - db
    - zone_name
    argTypes:
    - knot_zonedb_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: knot_zonedb_del
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 1
    functionsReached:
    - assert
    - trie_get_try
    - trie_del
    linkageType: ''
    returnType: int
    signature: int knot_zonedb_del(knot_zonedb_t *db, const knot_dname_t *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:99,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zonedb.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - db
    - zone_name
    argTypes:
    - knot_zonedb_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: knot_zonedb_find
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 13
    functionsReached:
    - assert
    - trie_get_try
    linkageType: ''
    returnType: zone_t
    signature: zone_t *knot_zonedb_find(knot_zonedb_t *db, const knot_dname_t *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:117,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zonedb.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: knot_zonedb_find_ptr
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 1
    functionsReached:
    - assert
    - trie_get_try
    linkageType: ''
    returnType: zone_t
    signature: zone_t **knot_zonedb_find_ptr(knot_zonedb_t *db, const knot_dname_t
      *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonedb.c:136,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zonedb.c:138,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/zone/zonedb.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - db
    - zone_name
    argTypes:
    - knot_zonedb_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: knot_zonedb_find_suffix
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 2
    functionsReached:
    - assert
    - trie_get_try
    - knot_dname_next_label
    linkageType: ''
    returnType: zone_t
    signature: zone_t *knot_zonedb_find_suffix(knot_zonedb_t *db, const knot_dname_t
      *zone_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_weight
      Src: /src/knot-dns/src/knot/zone/zonedb.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_zonedb_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: knot_zonedb_size
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 1
    functionsReached:
    - trie_weight
    linkageType: ''
    returnType: size_t
    signature: size_t knot_zonedb_size(const knot_zonedb_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_delete
      Src: /src/knot-dns/src/knot/zone/zonedb.c:164,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonedb.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_zonedb_t**
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: knot_zonedb_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 2
    functionsReached:
    - free
    - mp_delete
    linkageType: ''
    returnType: void
    signature: void knot_zonedb_free(knot_zonedb_t **db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonedb_foreach
      Src: /src/knot-dns/src/knot/zone/zonedb.c:175,1
    - Dst: knot_zonedb_free
      Src: /src/knot-dns/src/knot/zone/zonedb.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - db
    - abort_txn
    argTypes:
    - knot_zonedb_t**
    - bool
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: knot_zonedb_deep_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zonedb.c
    functionUses: 3
    functionsReached:
    - knot_zonedb_foreach
    - knot_zonedb_free
    linkageType: ''
    returnType: void
    signature: void knot_zonedb_deep_free(knot_zonedb_t **db, bool abort_txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:15,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - additional
    argTypes:
    - additional_t*
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: additional_clear
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void additional_clear(additional_t *additional)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/node.c:27,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/node.c:27,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - additional_t*
    - additional_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: additional_equal
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - binode_first
    linkageType: ''
    returnType: bool
    signature: bool additional_equal(additional_t *a, additional_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rr_insert_ttl
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rr_insert_ttl(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/node.c:42,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/node.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - mm
    argTypes:
    - struct rr_data*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: rr_data_clear
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - memset
    linkageType: ''
    returnType: void
    signature: void rr_data_clear(struct rr_data *data, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_insert_ttl
      Src: /src/knot-dns/src/knot/zone/node.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rrset
    - data
    - mm
    argTypes:
    - knot_rrset_t*
    - struct rr_data*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: rr_data_from
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - rr_insert_ttl
    linkageType: ''
    returnType: int
    signature: int rr_data_from(const knot_rrset_t *rrset, struct rr_data *data, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/knot/zone/node.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - node
    - rrset
    - mm
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: add_rrset_no_merge
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: "int add_rrset_no_merge(zone_node_t *node, const knot_rrset_t *rrset,\n
      \                             knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - node_data
    - rrset
    argTypes:
    - struct rr_data*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: ttl_changed
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ttl_changed(struct rr_data *node_data, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/zone/node.c:104,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/node.c:108,1
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/node.c:111,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/zone/node.c:113,1
    - Dst: knot_dname_with_null
      Src: /src/knot-dns/src/knot/zone/node.c:121,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/node.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - owner
    - binode
    - second
    - mm
    argTypes:
    - knot_dname_t*
    - bool
    - bool
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: node_new
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 3
    functionsReached:
    - mm_free
    - memcpy
    - knot_dname_with_null
    - knot_dname_copy
    - memset
    - mm_alloc
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *node_new(const knot_dname_t *owner, bool binode, bool
      second, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:141,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:145,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:148,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: binode_counterpart
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 11
    functionsReached:
    - assert
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *binode_counterpart(zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/node.c:158,1
    - Dst: binode_additional_shared
      Src: /src/knot-dns/src/knot/zone/node.c:162,1
    - Dst: additional_clear
      Src: /src/knot-dns/src/knot/zone/node.c:163,1
    - Dst: binode_rdata_shared
      Src: /src/knot-dns/src/knot/zone/node.c:165,1
    - Dst: rr_data_clear
      Src: /src/knot-dns/src/knot/zone/node.c:166,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/zone/node.c:169,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:172,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:175,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:177,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/node.c:178,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/zone/node.c:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - node
    - free_deleted
    - mm
    argTypes:
    - zone_node_t*
    - bool
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 185
    functionName: binode_unify
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 2
    functionsReached:
    - assert
    - node_free
    - mm_free
    - free
    - additional_clear
    - rr_data_clear
    - binode_counterpart
    - binode_rdata_shared
    - memcpy
    - binode_additional_shared
    linkageType: ''
    returnType: void
    signature: void binode_unify(zone_node_t *node, bool free_deleted, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/node.c:189,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/knot/zone/node.c:192,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/node.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - node
    - mm
    argTypes:
    - zone_node_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: binode_prepare_change
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - memcpy
    - binode_counterpart
    linkageType: ''
    returnType: int
    signature: int binode_prepare_change(zone_node_t *node, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:210,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: binode_rdata_shared
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 3
    functionsReached:
    - node_rdataset
    linkageType: ''
    returnType: bool
    signature: bool binode_rdata_shared(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: node_type2addit
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: additional_t
    signature: additional_t *node_type2addit(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_type2addit
      Src: /src/knot-dns/src/knot/zone/node.c:233,1
    - Dst: node_type2addit
      Src: /src/knot-dns/src/knot/zone/node.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: binode_additional_shared
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 1
    functionsReached:
    - node_type2addit
    linkageType: ''
    returnType: bool
    signature: bool binode_additional_shared(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/src/knot/zone/node.c:247,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:248,1
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/src/knot/zone/node.c:256,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - node
    - counterpart
    argTypes:
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: binode_additionals_unchanged
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_rrtype_additional_needed
    linkageType: ''
    returnType: bool
    signature: bool binode_additionals_unchanged(zone_node_t *node, zone_node_t *counterpart)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: additional_clear
      Src: /src/knot-dns/src/knot/zone/node.c:273,1
    - Dst: rr_data_clear
      Src: /src/knot-dns/src/knot/zone/node.c:274,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/zone/node.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - mm
    argTypes:
    - zone_node_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: node_free_rrsets
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 3
    functionsReached:
    - mm_free
    - additional_clear
    - rr_data_clear
    linkageType: ''
    returnType: void
    signature: void node_free_rrsets(zone_node_t *node, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/zone/node.c:288,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:290,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/node.c:291,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/node.c:291,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/node.c:292,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:294,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/node.c:296,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/zone/node.c:300,1
    - Dst: mm_free
      Src: /src/knot-dns/src/knot/zone/node.c:303,1
    - Dst: binode_node
      Src: /src/knot-dns/src/knot/zone/node.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - node
    - mm
    argTypes:
    - zone_node_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 304
    functionName: node_free
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 7
    functionsReached:
    - assert
    - mm_free
    - free
    - binode_counterpart
    - knot_dname_free
    - binode_node
    linkageType: ''
    returnType: void
    signature: void node_free(zone_node_t *node, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_insert_ttl
      Src: /src/knot-dns/src/knot/zone/node.c:318,1
    - Dst: add_rrset_no_merge
      Src: /src/knot-dns/src/knot/zone/node.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - node
    - rrset
    - mm
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: node_add_rrset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 5
    functionsReached:
    - add_rrset_no_merge
    - rr_insert_ttl
    linkageType: ''
    returnType: int
    signature: int node_add_rrset(zone_node_t *node, const knot_rrset_t *rrset, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_additional_shared
      Src: /src/knot-dns/src/knot/zone/node.c:344,1
    - Dst: additional_clear
      Src: /src/knot-dns/src/knot/zone/node.c:345,1
    - Dst: binode_rdata_shared
      Src: /src/knot-dns/src/knot/zone/node.c:347,1
    - Dst: rr_data_clear
      Src: /src/knot-dns/src/knot/zone/node.c:348,1
    - Dst: memmove
      Src: /src/knot-dns/src/knot/zone/node.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 356
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 356
    functionName: node_remove_rdataset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 2
    functionsReached:
    - memmove
    - additional_clear
    - rr_data_clear
    - binode_rdata_shared
    - binode_additional_shared
    linkageType: ''
    returnType: void
    signature: void node_remove_rdataset(zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:364,1
    - Dst: node_remove_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - node
    - rrset
    - mm
    argTypes:
    - zone_node_t*
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 381
    functionName: node_remove_rrset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 1
    functionsReached:
    - node_rdataset
    - node_remove_rdataset
    linkageType: ''
    returnType: int
    signature: int node_remove_rrset(zone_node_t *node, const knot_rrset_t *rrset,
      knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/node.c:391,1
    - Dst: knot_rrset_copy
      Src: /src/knot-dns/src/knot/zone/node.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: node_create_rrset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 5
    functionsReached:
    - node_rrset_at
    - knot_rrset_copy
    linkageType: ''
    returnType: knot_rrset_t
    signature: knot_rrset_t *node_create_rrset(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: node_rdataset
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: knot_rdataset_t
    signature: knot_rdataset_t *node_rdataset(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:420,1
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/knot/zone/node.c:428,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/node.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - node
    - type
    argTypes:
    - zone_node_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: node_rrtype_is_signed
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 1
    functionsReached:
    - node_rdataset
    - knot_rdataset_next
    - knot_rrsig_type_covered
    linkageType: ''
    returnType: bool
    signature: bool node_rrtype_is_signed(const zone_node_t *node, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/node.c:455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 460
    functionName: node_bitmap_equal
    functionSourceFile: /src/knot-dns/src/knot/zone/node.c
    functionUses: 1
    functionsReached:
    - node_rdataset
    linkageType: ''
    returnType: bool
    signature: bool node_bitmap_equal(const zone_node_t *a, const zone_node_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/zone/serial.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: serial_equal
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.h
    functionUses: 1
    functionsReached:
    - serial_compare
    linkageType: ''
    returnType: bool
    signature: bool serial_equal(uint32_t a, uint32_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kserial_cmp
      Src: /src/knot-dns/src/knot/zone/serial.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - kserial_t
    - kserial_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: kserial_equal
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.h
    functionUses: 0
    functionsReached:
    - kserial_cmp
    linkageType: ''
    returnType: bool
    signature: bool kserial_equal(kserial_t a, kserial_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:25,1
    - Dst: nodeptr_dynarray_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:27,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - free_a_t_node
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 30
    functionName: knot_dynarray_declare
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - nodeptr_dynarray_free
    linkageType: ''
    returnType: void
    signature: "void knot_dynarray_declare(nodeptr, zone_node_t *, DYNARRAY_VISIBILITY_STATIC,
      2)\nknot_dynarray_define(nodeptr, zone_node_t *, DYNARRAY_VISIBILITY_STATIC)\n\ntypedef
      struct {\n\tnodeptr_dynarray_t array;\n\tbool deduplicated;\n} a_t_node_t;\n\nstatic
      int free_a_t_node(trie_val_t *val, void *null)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_apply
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:35,1
    - Dst: trie_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a_t
    argTypes:
    - additionals_tree_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: additionals_tree_free
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 4
    functionsReached:
    - trie_free
    - trie_apply
    linkageType: ''
    returnType: void
    signature: void additionals_tree_free(additionals_tree_t *a_t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:46,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:49,1
    - Dst: knot_rdata_name
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:51,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:52,1
    - Dst: cb
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:53,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - node
    - zone_apex
    - cb
    - ctx
    argTypes:
    - zone_node_t*
    - knot_dname_t*
    - zone_node_additionals_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: zone_node_additionals_foreach
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - knot_rdata_name
    - knot_dname_in_bailiwick
    - knot_rdataset_at
    - knot_rrtype_additional_needed
    - cb
    linkageType: ''
    returnType: int
    signature: "int zone_node_additionals_foreach(const zone_node_t *node, const knot_dname_t
      *zone_apex,\n                                  zone_node_additionals_cb_t cb,
      void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:73,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:80,1
    - Dst: nodeptr_dynarray_remove
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:84,1
    - Dst: nodeptr_dynarray_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:87,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:88,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - name
    - a_ctx
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: remove_node_from_a_t
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - nodeptr_dynarray_remove
    - free
    - trie_del
    - nodeptr_dynarray_free
    - trie_get_try
    linkageType: ''
    returnType: int
    signature: int remove_node_from_a_t(const knot_dname_t *name, void *a_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:102,1
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:104,1
    - Dst: nodeptr_dynarray_add
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - a_ctx
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: add_node_to_a_t
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - nodeptr_dynarray_add
    - trie_get_ins
    - calloc
    linkageType: ''
    returnType: int
    signature: int add_node_to_a_t(const knot_dname_t *name, void *a_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_additionals_unchanged
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:126,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:132,1
    - Dst: zone_node_additionals_foreach
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:133,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:138,1
    - Dst: zone_node_additionals_foreach
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - a_t
    - zone_apex
    - old_node
    - new_node
    argTypes:
    - additionals_tree_t*
    - knot_dname_t*
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: additionals_tree_update_node
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - binode_first
    - zone_node_additionals_foreach
    - binode_additionals_unchanged
    linkageType: ''
    returnType: int
    signature: "int additionals_tree_update_node(additionals_tree_t *a_t, const knot_dname_t
      *zone_apex,\n                                 zone_node_t *old_node, zone_node_t
      *new_node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:147,1
    - Dst: node_nsec3_hash
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:156,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:160,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - a_t
    - zone
    - old_node
    - new_node
    argTypes:
    - additionals_tree_t*
    - zone_contents_t*
    - zone_node_t*
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: additionals_tree_update_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - node_nsec3_hash
    - binode_first
    - knot_is_nsec3_enabled
    linkageType: ''
    returnType: int
    signature: "int additionals_tree_update_nsec3(additionals_tree_t *a_t, const zone_contents_t
      *zone,\n                                  zone_node_t *old_node, zone_node_t
      *new_node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: additionals_tree_new
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:166,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:175,1
    - Dst: additionals_tree_update_node
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:176,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:176,1
    - Dst: additionals_tree_update_nsec3
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:178,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:179,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:181,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:183,1
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - a_t
    - zone
    argTypes:
    - additionals_tree_t**
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: additionals_tree_from_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - additionals_tree_new
    - additionals_tree_update_node
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_free
    - zone_tree_it_next
    - additionals_tree_update_nsec3
    - additionals_tree_free
    linkageType: ''
    returnType: int
    signature: int additionals_tree_from_zone(additionals_tree_t **a_t, const zone_contents_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:197,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:198,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:198,1
    - Dst: additionals_tree_update_node
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:199,1
    - Dst: additionals_tree_update_nsec3
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:201,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:203,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - a_t
    - tree
    - zone
    argTypes:
    - additionals_tree_t*
    - zone_tree_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: additionals_tree_update_from_binodes
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - binode_counterpart
    - additionals_tree_update_node
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_free
    - zone_tree_it_next
    - additionals_tree_update_nsec3
    linkageType: ''
    returnType: int
    signature: "int additionals_tree_update_from_binodes(additionals_tree_t *a_t,
      const zone_tree_t *tree,\n                                         const zone_contents_t
      *zone)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeptr_dynarray_sort_dedup
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - nodes
    - cb
    - ctx
    argTypes:
    - a_t_node_t*
    - node_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: reverse_apply_nodes
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - nodeptr_dynarray_sort_dedup
    linkageType: ''
    returnType: int
    signature: int reverse_apply_nodes(a_t_node_t *nodes, node_apply_cb_t cb, void
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:236,1
    - Dst: reverse_apply_nodes
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - a_t
    - name
    - cb
    - ctx
    argTypes:
    - additionals_tree_t*
    - knot_dname_t*
    - node_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: additionals_reverse_apply
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - reverse_apply_nodes
    - trie_get_try
    linkageType: ''
    returnType: int
    signature: "int additionals_reverse_apply(additionals_tree_t *a_t, const knot_dname_t
      *name,\n                              node_apply_cb_t cb, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - root_key
    - root_len
    - sub_key
    - sub_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: key_in_bailiwick
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool key_in_bailiwick(const uint8_t *root_key, size_t root_len,\n
      \                            const uint8_t *sub_key, size_t sub_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - root_key
    - root_len
    argTypes:
    - trie_it_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: it_in_bailiwick
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - key_in_bailiwick
    linkageType: ''
    returnType: bool
    signature: bool it_in_bailiwick(trie_it_t *it, const uint8_t *root_key, size_t
      root_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:264,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:270,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:271,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:272,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:275,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:278,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:282,1
    - Dst: it_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:282,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:283,1
    - Dst: reverse_apply_nodes
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:284,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:285,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - a_t
    - name
    - cb
    - ctx
    argTypes:
    - additionals_tree_t*
    - knot_dname_t*
    - node_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: reverse_apply_subtree
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - assert
    - it_in_bailiwick
    - reverse_apply_nodes
    - trie_it_next
    - trie_it_begin
    - trie_it_free
    - trie_it_val
    - trie_it_finished
    linkageType: ''
    returnType: int
    signature: "int reverse_apply_subtree(additionals_tree_t *a_t, const knot_dname_t
      *name,\n                                 node_apply_cb_t cb, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:297,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:298,1
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:299,1
    - Dst: reverse_apply_subtree
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:301,1
    - Dst: additionals_reverse_apply
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:303,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:305,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/adds_tree.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - a_t
    - tree
    - cb
    - ctx
    argTypes:
    - additionals_tree_t*
    - zone_tree_t*
    - node_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: additionals_reverse_apply_multi
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.c
    functionUses: 0
    functionsReached:
    - additionals_reverse_apply
    - reverse_apply_subtree
    - knot_dname_is_wildcard
    - zone_tree_it_finished
    - zone_tree_it_free
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: "int additionals_reverse_apply_multi(additionals_tree_t *a_t, const
      zone_tree_t *tree,\n                                    node_apply_cb_t cb,
      void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrtype_dynarray_add
      Src: /src/knot-dns/src/knot/zone/skip.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - skip
    - type
    argTypes:
    - zone_skip_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: skip_add
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 2
    functionsReached:
    - rrtype_dynarray_add
    linkageType: ''
    returnType: int
    signature: int skip_add(zone_skip_t *skip, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_add
      Src: /src/knot-dns/src/knot/zone/skip.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - skip
    - types
    argTypes:
    - zone_skip_t*
    - uint16_t[]
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: skip_add_dnssec
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 0
    functionsReached:
    - skip_add
    linkageType: ''
    returnType: int
    signature: int skip_add_dnssec(zone_skip_t *skip, const uint16_t types[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/knot-dns/src/knot/zone/skip.c:47,1
    - Dst: skip_add_dnssec
      Src: /src/knot-dns/src/knot/zone/skip.c:48,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/knot/zone/skip.c:51,1
    - Dst: skip_add
      Src: /src/knot-dns/src/knot/zone/skip.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - skip
    - type_str
    argTypes:
    - zone_skip_t*
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: skip_add_string
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - skip_add_dnssec
    - knot_rrtype_from_string
    - skip_add
    linkageType: ''
    returnType: int
    signature: int skip_add_string(zone_skip_t *skip, const char *type_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrtype_dynarray_sort_dedup
      Src: /src/knot-dns/src/knot/zone/skip.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skip
    argTypes:
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: skip_add_finish
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 0
    functionsReached:
    - rrtype_dynarray_sort_dedup
    linkageType: ''
    returnType: void
    signature: void skip_add_finish(zone_skip_t *skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_add_finish
      Src: /src/knot-dns/src/knot/zone/skip.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - skip
    - type_str
    argTypes:
    - zone_skip_t*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: zone_skip_add
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 2
    functionsReached:
    - skip_add_finish
    linkageType: ''
    returnType: int
    signature: int zone_skip_add(zone_skip_t *skip, const char *type_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_add_finish
      Src: /src/knot-dns/src/knot/zone/skip.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skip
    argTypes:
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: zone_skip_add_dnssec_diff
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 2
    functionsReached:
    - skip_add_finish
    linkageType: ''
    returnType: int
    signature: int zone_skip_add_dnssec_diff(zone_skip_t *skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip_add_string
      Src: /src/knot-dns/src/knot/zone/skip.c:83,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/skip.c:83,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/zone/skip.c:84,1
    - Dst: conf_val_reset
      Src: /src/knot-dns/src/knot/zone/skip.c:88,1
    - Dst: skip_add_finish
      Src: /src/knot-dns/src/knot/zone/skip.c:90,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/zone/skip.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - skip
    - val
    argTypes:
    - zone_skip_t*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: zone_skip_from_conf
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 1
    functionsReached:
    - conf_val_reset
    - skip_add_string
    - zone_skip_free
    - conf_val_next
    - conf_str
    - skip_add_finish
    linkageType: ''
    returnType: int
    signature: int zone_skip_from_conf(zone_skip_t *skip, conf_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/skip.c:101,1
    - Dst: zonefile_write
      Src: /src/knot-dns/src/knot/zone/skip.c:105,1
    - Dst: zone_skip_free
      Src: /src/knot-dns/src/knot/zone/skip.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - path
    - zone
    - conf
    argTypes:
    - char*
    - struct zone_contents*
    - conf_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: zonefile_write_skip
    functionSourceFile: /src/knot-dns/src/knot/zone/skip.c
    functionUses: 2
    functionsReached:
    - conf_zone_get
    - zone_skip_free
    - zonefile_write
    linkageType: ''
    returnType: int
    signature: int zonefile_write_skip(const char *path, struct zone_contents *zone,
      conf_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:37,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: process_error
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - zs_strerror
    - ERROR
    linkageType: ''
    returnType: void
    signature: void process_error(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARNING
      Src: /src/knot-dns/src/knot/zone/zonefile.c:52,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/knot/zone/zonefile.c:56,1
    - Dst: NOTICE
      Src: /src/knot-dns/src/knot/zone/zonefile.c:57,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - zname
    - rr
    - ret
    argTypes:
    - knot_dname_t*
    - knot_rrset_t*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: handle_err
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_to_string
    - ERROR
    - WARNING
    - NOTICE
    linkageType: ''
    returnType: bool
    signature: bool handle_err(const knot_dname_t *zname, const knot_rrset_t *rr,
      int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:68,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:69,1
    - Dst: zone_skip_type
      Src: /src/knot-dns/src/knot/zone/zonefile.c:71,1
    - Dst: handle_err
      Src: /src/knot-dns/src/knot/zone/zonefile.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - contents
    - rr
    - skip
    argTypes:
    - zone_contents_t*
    - knot_rrset_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: zcreator_step
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 2
    functionsReached:
    - assert
    - handle_err
    - zone_skip_type
    linkageType: ''
    returnType: int
    signature: int zcreator_step(zone_contents_t *contents, const knot_rrset_t *rr,
      zone_skip_t *skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/zonefile.c:96,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/zonefile.c:103,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/zone/zonefile.c:107,1
    - Dst: knot_rrset_rr_to_canonical
      Src: /src/knot-dns/src/knot/zone/zonefile.c:113,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/zone/zonefile.c:115,1
    - Dst: zcreator_step
      Src: /src/knot-dns/src/knot/zone/zonefile.c:120,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/knot/zone/zonefile.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: process_data
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - knot_dname_copy
    - knot_rrset_rr_to_canonical
    - knot_rrset_init
    - knot_rrset_clear
    - zcreator_step
    linkageType: ''
    returnType: void
    signature: void process_data(zs_scanner_t *scanner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:128,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/zonefile.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: check_origin
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void check_origin(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/knot/zone/zonefile.c:137,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: error_origin
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - zs_strerror
    - log_error
    linkageType: ''
    returnType: void
    signature: void error_origin(zs_scanner_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zonefile.c:148,1
    - Dst: access
      Src: /src/knot-dns/src/knot/zone/zonefile.c:150,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/zonefile.c:151,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/zonefile.c:154,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zonefile.c:158,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/zone/zonefile.c:164,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/zonefile.c:164,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/zonefile.c:164,1
    - Dst: strndup
      Src: /src/knot-dns/src/knot/zone/zonefile.c:165,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/zonefile.c:165,1
    - Dst: strlen
      Src: /src/knot-dns/src/knot/zone/zonefile.c:165,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/zone/zonefile.c:167,1
    - Dst: zs_init
      Src: /src/knot-dns/src/knot/zone/zonefile.c:173,1
    - Dst: zs_set_input_file
      Src: /src/knot-dns/src/knot/zone/zonefile.c:174,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/src/knot/zone/zonefile.c:175,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:176,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:177,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:178,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:181,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/knot/zone/zonefile.c:182,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:183,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:184,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:187,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:190,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/zone/zonefile.c:197,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:198,1
    - Dst: zs_init
      Src: /src/knot-dns/src/knot/zone/zonefile.c:202,1
    - Dst: zs_set_input_file
      Src: /src/knot-dns/src/knot/zone/zonefile.c:203,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/src/knot/zone/zonefile.c:204,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:205,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:206,1
    - Dst: zone_contents_new
      Src: /src/knot-dns/src/knot/zone/zonefile.c:210,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:212,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:213,1
    - Dst: strdup
      Src: /src/knot-dns/src/knot/zone/zonefile.c:217,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 6
    argNames:
    - loader
    - source
    - origin
    - dflt_ttl
    - semantic_checks
    - time
    argTypes:
    - zloader_t*
    - char*
    - knot_dname_t*
    - uint32_t
    - semcheck_optional_t
    - time_t
    constantsTouched: []
    func_position:
      end: 223
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 223
    functionName: zonefile_open
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 1
    functionsReached:
    - strdup
    - zs_deinit
    - strlen
    - strndup
    - free
    - zs_set_processing
    - knot_dname_to_str
    - zs_parse_all
    - zs_set_input_file
    - strcmp
    - memset
    - knot_map_errno
    - zs_init
    - malloc
    - zone_contents_new
    - access
    linkageType: ''
    returnType: int
    signature: "int zonefile_open(zloader_t *loader, const char *source, const knot_dname_t
      *origin,\n                  uint32_t dflt_ttl, semcheck_optional_t semantic_checks,
      time_t time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:234,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:237,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:238,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:243,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:244,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:249,1
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/zonefile.c:254,1
    - Dst: zloader_t*::err_handler::cb
      Src: /src/knot-dns/src/knot/zone/zonefile.c:258,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/zone/zonefile.c:262,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:265,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:266,1
    - Dst: sem_checks_process
      Src: /src/knot-dns/src/knot/zone/zonefile.c:270,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:274,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:275,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/zone/zonefile.c:281,1
    - Dst: ERROR
      Src: /src/knot-dns/src/knot/zone/zonefile.c:284,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/zonefile.c:285,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:292,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - loader
    - threads
    argTypes:
    - zloader_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 294
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 294
    functionName: zonefile_load
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 1
    functionsReached:
    - node_rdataset
    - assert
    - sem_checks_process
    - knot_strerror
    - zone_adjust_contents
    - ERROR
    - zone_contents_deep_free
    - zs_strerror
    - zloader_t*::err_handler::cb
    linkageType: ''
    returnType: zone_contents_t
    signature: zone_contents_t *zonefile_load(zloader_t *loader, uint16_t threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/zonefile.c:303,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/zonefile.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - path
    - mtime
    argTypes:
    - char*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: zonefile_exists
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - stat
    linkageType: ''
    returnType: int
    signature: int zonefile_exists(const char *path, struct timespec *mtime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_tmp_file
      Src: /src/knot-dns/src/knot/zone/zonefile.c:332,1
    - Dst: zone_dump_text
      Src: /src/knot-dns/src/knot/zone/zonefile.c:338,1
    - Dst: fclose
      Src: /src/knot-dns/src/knot/zone/zonefile.c:339,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/zonefile.c:341,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:342,1
    - Dst: rename
      Src: /src/knot-dns/src/knot/zone/zonefile.c:347,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/zonefile.c:349,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/zonefile.c:350,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:351,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - path
    - zone
    - skip
    argTypes:
    - char*
    - zone_contents_t*
    - zone_skip_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 358
    functionName: zonefile_write
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 1
    functionsReached:
    - fclose
    - free
    - zone_dump_text
    - unlink
    - open_tmp_file
    - knot_map_errno
    - rename
    linkageType: ''
    returnType: int
    signature: int zonefile_write(const char *path, zone_contents_t *zone, zone_skip_t
      *skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_deinit
      Src: /src/knot-dns/src/knot/zone/zonefile.c:366,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:367,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zonefile.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - loader
    argTypes:
    - zloader_t*
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: zonefile_close
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 1
    functionsReached:
    - free
    - zs_deinit
    linkageType: ''
    returnType: void
    signature: void zonefile_close(zloader_t *loader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:374,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zonefile.c:375,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/knot/zone/zonefile.c:385,1
    - Dst: log_fmt_zone
      Src: /src/knot-dns/src/knot/zone/zonefile.c:393,1
    - Dst: sem_error_msg
      Src: /src/knot-dns/src/knot/zone/zonefile.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - handler
    - zone
    - node
    - error
    - data
    argTypes:
    - sem_handler_t*
    - zone_contents_t*
    - knot_dname_t*
    - sem_error_t
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 402
    functionName: err_handler_logger
    functionSourceFile: /src/knot-dns/src/knot/zone/zonefile.c
    functionUses: 0
    functionsReached:
    - log_fmt_zone
    - assert
    - sem_error_msg
    - knot_dname_to_str
    linkageType: ''
    returnType: void
    signature: "void err_handler_logger(sem_handler_t *handler, const zone_contents_t
      *zone,\n                        const knot_dname_t *node, sem_error_t error,
      const char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_reverse
      Src: /src/knot-dns/src/knot/zone/reverse.h:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - changeset_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: changeset_reverse
    functionSourceFile: /src/knot-dns/src/knot/zone/reverse.h
    functionUses: 1
    functionsReached:
    - zone_reverse
    linkageType: ''
    returnType: int
    signature: int changeset_reverse(changeset_t *from, zone_update_t *to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_synth_rrsig
      Src: /src/knot-dns/src/knot/zone/digest.c:41,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/knot/zone/digest.c:43,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/digest.c:44,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/digest.c:47,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/digest.c:67,1
    - Dst: dnssec_digest
      Src: /src/knot-dns/src/knot/zone/digest.c:76,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - rrset
    - node
    - vctx
    argTypes:
    - knot_rrset_t*
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 77
    functionName: digest_rrset
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - dnssec_digest
    - knot_rdataset_subtract
    - knot_synth_rrsig
    linkageType: ''
    returnType: int
    signature: int digest_rrset(knot_rrset_t *rrset, const zone_node_t *node, void
      *vctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/digest.c:83,1
    - Dst: digest_rrset
      Src: /src/knot-dns/src/knot/zone/digest.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: digest_node
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - digest_rrset
    linkageType: ''
    returnType: int
    signature: int digest_node(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/digest.c:102,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/digest.c:111,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/zone/digest.c:112,1
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/digest.c:116,1
    - Dst: zone_tree_shallow_copy
      Src: /src/knot-dns/src/knot/zone/digest.c:117,1
    - Dst: zone_tree_merge
      Src: /src/knot-dns/src/knot/zone/digest.c:122,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/digest.c:127,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/zone/digest.c:131,1
    - Dst: dnssec_digest_finish
      Src: /src/knot-dns/src/knot/zone/digest.c:136,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/digest.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - contents
    - algorithm
    - out_digest
    - out_size
    argTypes:
    - zone_contents_t*
    - int
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 142
    functionName: zone_contents_digest
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - zone_tree_apply
    - free
    - zone_tree_shallow_copy
    - zone_tree_is_empty
    - dnssec_digest_finish
    - zone_tree_merge
    - zone_tree_free
    - knot_error_from_libdnssec
    - malloc
    linkageType: ''
    returnType: int
    signature: "int zone_contents_digest(const zone_contents_t *contents, int algorithm,\n
      \                        uint8_t **out_digest, size_t *out_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/digest.c:153,1
    - Dst: knot_zonemd_digest_size
      Src: /src/knot-dns/src/knot/zone/digest.c:155,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/zone/digest.c:157,1
    - Dst: knot_zonemd_digest
      Src: /src/knot-dns/src/knot/zone/digest.c:157,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/digest.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - zonemd
    - contents
    argTypes:
    - knot_rdata_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: verify_zonemd
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_zonemd_digest
    - free
    - memcmp
    - knot_zonemd_digest_size
    linkageType: ''
    returnType: int
    signature: int verify_zonemd(const knot_rdata_t *zonemd, const zone_contents_t
      *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/digest.c:170,1
    - Dst: knot_zonemd_algorithm
      Src: /src/knot-dns/src/knot/zone/digest.c:176,1
    - Dst: verify_zonemd
      Src: /src/knot-dns/src/knot/zone/digest.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - contents
    - alg
    - no_verify
    argTypes:
    - zone_contents_t*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: zone_contents_digest_exists
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 2
    functionsReached:
    - node_rdataset
    - verify_zonemd
    - knot_zonemd_algorithm
    linkageType: ''
    returnType: bool
    signature: bool zone_contents_digest_exists(const zone_contents_t *contents, int
      alg, bool no_verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/digest.c:191,1
    - Dst: knot_zonemd_scheme
      Src: /src/knot-dns/src/knot/zone/digest.c:193,1
    - Dst: knot_zonemd_algorithm
      Src: /src/knot-dns/src/knot/zone/digest.c:194,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/digest.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - zonemd
    - check_upto
    - scheme
    - alg
    argTypes:
    - knot_rdataset_t*
    - int
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: check_duplicate_schalg
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - assert
    - knot_zonemd_scheme
    - knot_zonemd_algorithm
    linkageType: ''
    returnType: bool
    signature: "bool check_duplicate_schalg(const knot_rdataset_t *zonemd, int check_upto,\n
      \                                  uint8_t scheme, uint8_t alg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/digest.c:208,1
    - Dst: knot_zonemd_scheme
      Src: /src/knot-dns/src/knot/zone/digest.c:217,1
    - Dst: knot_zonemd_digest_size
      Src: /src/knot-dns/src/knot/zone/digest.c:218,1
    - Dst: knot_zonemd_soa_serial
      Src: /src/knot-dns/src/knot/zone/digest.c:219,1
    - Dst: check_duplicate_schalg
      Src: /src/knot-dns/src/knot/zone/digest.c:222,1
    - Dst: knot_zonemd_scheme
      Src: /src/knot-dns/src/knot/zone/digest.c:222,1
    - Dst: knot_zonemd_algorithm
      Src: /src/knot-dns/src/knot/zone/digest.c:223,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/digest.c:226,1
    - Dst: verify_zonemd
      Src: /src/knot-dns/src/knot/zone/digest.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - contents
    argTypes:
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 230
    functionName: zone_contents_digest_verify
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - knot_zonemd_soa_serial
    - verify_zonemd
    - knot_rdataset_next
    - check_duplicate_schalg
    - knot_zonemd_scheme
    - knot_zonemd_digest_size
    - knot_zonemd_algorithm
    linkageType: ''
    returnType: int
    signature: int zone_contents_digest_verify(const zone_contents_t *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonemd_digest
      Src: /src/knot-dns/src/knot/zone/digest.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: zonemd_hash_offs
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 0
    functionsReached:
    - knot_zonemd_digest
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t zonemd_hash_offs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/digest.c:247,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/zone/digest.c:249,1
    - Dst: knot_rrset_empty
      Src: /src/knot-dns/src/knot/zone/digest.c:252,1
    - Dst: check_duplicate_schalg
      Src: /src/knot-dns/src/knot/zone/digest.c:253,1
    - Dst: zone_update_remove
      Src: /src/knot-dns/src/knot/zone/digest.c:263,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/digest.c:265,1
    - Dst: node_rrset
      Src: /src/knot-dns/src/knot/zone/digest.c:270,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/knot/zone/digest.c:273,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/knot/zone/digest.c:274,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/knot/zone/digest.c:274,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/zone/digest.c:275,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/knot/zone/digest.c:276,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/knot/zone/digest.c:277,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/digest.c:278,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/knot/zone/digest.c:278,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/digest.c:280,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/knot/zone/digest.c:282,1
    - Dst: zone_update_add
      Src: /src/knot-dns/src/knot/zone/digest.c:289,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/knot/zone/digest.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - update
    - algorithm
    - placeholder
    argTypes:
    - struct zone_update*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 292
      start: 238
    functionDepth: 6
    functionLinenumber: 238
    functionLinenumberEnd: 292
    functionName: zone_update_add_digest
    functionSourceFile: /src/knot-dns/src/knot/zone/digest.c
    functionUses: 7
    functionsReached:
    - knot_rdataset_clear
    - assert
    - knot_rrset_empty
    - wire_ctx_init
    - wire_ctx_write_u32
    - wire_ctx_write
    - wire_ctx_available
    - free
    - node_rrset
    - check_duplicate_schalg
    - zone_update_add
    - wire_ctx_write_u8
    - zone_update_remove
    - knot_soa_serial
    - knot_rrset_init
    linkageType: ''
    returnType: int
    signature: int zone_update_add_digest(struct zone_update *update, int algorithm,
      bool placeholder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/measure.c:10,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - measure_whole
    - measure_diff
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: knot_measure_init
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: measure_t
    signature: measure_t knot_measure_init(bool measure_whole, bool measure_diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/knot-dns/src/knot/zone/measure.c:32,1
    - Dst: knot_rrsig_original_ttl
      Src: /src/knot-dns/src/knot/zone/measure.c:32,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/measure.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct rr_data*
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: rrset_max_ttl
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - knot_rrsig_original_ttl
    - MAX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rrset_max_ttl(const struct rr_data *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/measure.c:48,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/zone/measure.c:49,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/zone/measure.c:52,1
    - Dst: rrset_max_ttl
      Src: /src/knot-dns/src/knot/zone/measure.c:52,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/measure.c:60,1
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/knot/zone/measure.c:64,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/knot/zone/measure.c:65,1
    - Dst: MAX
      Src: /src/knot-dns/src/knot/zone/measure.c:68,1
    - Dst: rrset_max_ttl
      Src: /src/knot-dns/src/knot/zone/measure.c:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - node
    - m
    argTypes:
    - zone_node_t*
    - measure_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: knot_measure_node
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - MAX
    - binode_counterpart
    - rrset_max_ttl
    - knot_rrset_size
    linkageType: ''
    returnType: bool
    signature: bool knot_measure_node(zone_node_t *node, measure_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/measure.c:87,1
    - Dst: knot_measure_node
      Src: /src/knot-dns/src/knot/zone/measure.c:87,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/measure.c:87,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/measure.c:88,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/measure.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - limit
    argTypes:
    - zone_contents_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: re_measure_max_ttl
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - knot_measure_node
    - zone_tree_it_free
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t re_measure_max_ttl(zone_contents_t *zone, uint32_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/measure.c:97,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/measure.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - m
    - zone
    argTypes:
    - measure_t*
    - zone_contents_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: knot_measure_finish_zone
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_measure_finish_zone(measure_t *m, zone_contents_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_measure_max_ttl
      Src: /src/knot-dns/src/knot/zone/measure.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - m
    - update
    argTypes:
    - measure_t*
    - zone_update_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: knot_measure_finish_update
    functionSourceFile: /src/knot-dns/src/knot/zone/measure.c
    functionUses: 0
    functionsReached:
    - re_measure_max_ttl
    linkageType: ''
    returnType: void
    signature: void knot_measure_finish_update(measure_t *m, zone_update_t *update)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - local
    - remote
    argTypes:
    - zone_backup_ctx_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: _backup_swap
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _backup_swap(zone_backup_ctx_t *ctx, void **local, void **remote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/backup.c:70,1
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/backup.c:83,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/backup.c:86,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:92,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:99,1
    - Dst: MISSING_FROM_BACKUP
      Src: /src/knot-dns/src/knot/zone/backup.c:107,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/zone/backup.c:116,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup.c:119,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/zone/backup.c:120,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup.c:122,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/zone/backup.c:123,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup.c:125,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/zone/backup.c:126,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup.c:128,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/knot/zone/backup.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 9
    argNames:
    - restore_mode
    - filters
    - forced
    - backup_dir
    - kasp_db_size
    - timer_db_size
    - journal_db_size
    - catalog_db_size
    - out_ctx
    argTypes:
    - bool
    - knot_backup_params_t
    - bool
    - char*
    - size_t
    - size_t
    - size_t
    - size_t
    - zone_backup_ctx_t**
    constantsTouched: []
    func_position:
      end: 133
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 133
    functionName: zone_backup_init
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - free
    - MISSING_FROM_BACKUP
    - time
    - snprintf
    - pthread_mutex_init
    - memcpy
    - malloc
    - knot_lmdb_init
    linkageType: ''
    returnType: int
    signature: "int zone_backup_init(bool restore_mode, knot_backup_params_t filters,
      bool forced,\n                     const char *backup_dir,\n                     size_t
      kasp_db_size, size_t timer_db_size, size_t journal_db_size,\n                     size_t
      catalog_db_size, zone_backup_ctx_t **out_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/backup.c:143,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/backup.c:144,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/backup.c:146,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:149,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:150,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:151,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:152,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/zone/backup.c:153,1
    - Dst: backupdir_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:155,1
    - Dst: zone_backups_rem
      Src: /src/knot-dns/src/knot/zone/backup.c:156,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: zone_backup_deinit
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 2
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - free
    - zone_backups_rem
    - pthread_mutex_destroy
    - knot_lmdb_deinit
    - backupdir_deinit
    linkageType: ''
    returnType: int
    signature: int zone_backup_deinit(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/backup.c:165,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/knot/zone/backup.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctxs
    argTypes:
    - zone_backup_ctxs_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: zone_backups_init
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - init_list
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void zone_backups_init(zone_backup_ctxs_t *ctxs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/knot/zone/backup.c:172,1
    - Dst: log_warning
      Src: /src/knot-dns/src/knot/zone/backup.c:173,1
    - Dst: zone_backup_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:177,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/knot/zone/backup.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctxs
    argTypes:
    - zone_backup_ctxs_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: zone_backups_deinit
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - zone_backup_deinit
    - log_warning
    - pthread_mutex_destroy
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void zone_backups_deinit(zone_backup_ctxs_t *ctxs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/backup.c:184,1
    - Dst: add_tail
      Src: /src/knot-dns/src/knot/zone/backup.c:185,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/backup.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctxs
    - ctx
    argTypes:
    - zone_backup_ctxs_t*
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: zone_backups_add
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - add_tail
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_backups_add(zone_backup_ctxs_t *ctxs, zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: get_ctxs_trick
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: zone_backup_ctxs_t
    signature: zone_backup_ctxs_t *get_ctxs_trick(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ctxs_trick
      Src: /src/knot-dns/src/knot/zone/backup.c:200,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/knot/zone/backup.c:201,1
    - Dst: rem_node
      Src: /src/knot-dns/src/knot/zone/backup.c:202,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/knot/zone/backup.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: zone_backups_rem
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - get_ctxs_trick
    - rem_node
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void zone_backups_rem(zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/zone/backup.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dir_name
    - file_name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: dir_file
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - sprintf_alloc
    linkageType: ''
    returnType: char
    signature: char *dir_file(const char *dir_name, const char *file_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/zone/backup.c:223,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/knot/zone/backup.c:225,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/knot/zone/backup.c:227,1
    - Dst: dnssec_keystore_set_private
      Src: /src/knot-dns/src/knot/zone/backup.c:229,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/knot/zone/backup.c:232,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/knot/zone/backup.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - parm
    - from
    - to
    argTypes:
    - key_params_t*
    - dnssec_keystore_t*
    - dnssec_keystore_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: backup_key
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - dnssec_key_set_algorithm
    - dnssec_keystore_get_private
    - dnssec_keystore_set_private
    - knot_error_from_libdnssec
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: int backup_key(key_params_t *parm, dnssec_keystore_t *from, dnssec_keystore_t
      *to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/backup.c:241,1
    - Dst: conf_mod_id
      Src: /src/knot-dns/src/knot/zone/backup.c:243,1
    - Dst: strcmp
      Src: /src/knot-dns/src/knot/zone/backup.c:244,1
    - Dst: conf_mod_get
      Src: /src/knot-dns/src/knot/zone/backup.c:245,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/zone/backup.c:246,1
    - Dst: conf_free_mod_id
      Src: /src/knot-dns/src/knot/zone/backup.c:247,1
    - Dst: conf_free_mod_id
      Src: /src/knot-dns/src/knot/zone/backup.c:250,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/knot/zone/backup.c:251,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/backup.c:255,1
    - Dst: conf_id_fix_default
      Src: /src/knot-dns/src/knot/zone/backup.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: get_zone_policy
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - conf_mod_id
    - conf_zone_get
    - conf_mod_get
    - conf_free_mod_id
    - conf_val_next
    - conf_id_fix_default
    - strcmp
    linkageType: ''
    returnType: conf_val_t
    signature: conf_val_t get_zone_policy(conf_t *conf, const knot_dname_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/knot-dns/src/knot/zone/backup.c:265,1
    - Dst: make_path
      Src: /src/knot-dns/src/knot/zone/backup.c:266,1
    - Dst: copy_file
      Src: /src/knot-dns/src/knot/zone/backup.c:268,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/knot/zone/backup.c:271,1
    - Dst: unlink
      Src: /src/knot-dns/src/knot/zone/backup.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: backup_file
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - make_path
    - copy_file
    - unlink
    - stat
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int backup_file(char *dst, char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dir_file
      Src: /src/knot-dns/src/knot/zone/backup.c:300,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:301,1
    - Dst: dir_file
      Src: /src/knot-dns/src/knot/zone/backup.c:305,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:306,1
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/src/knot/zone/backup.c:307,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:308,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/knot/zone/backup.c:309,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:310,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:311,1
    - Dst: backup_file
      Src: /src/knot-dns/src/knot/zone/backup.c:315,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/backup.c:318,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/backup.c:323,1
    - Dst: make_dir
      Src: /src/knot-dns/src/knot/zone/backup.c:325,1
    - Dst: zonefile_write_skip
      Src: /src/knot-dns/src/knot/zone/backup.c:329,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/zone/backup.c:331,1
    - Dst: copy_file
      Src: /src/knot-dns/src/knot/zone/backup.c:335,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:341,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:342,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:343,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/zone/backup.c:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - conf
    - zone
    - ctx
    argTypes:
    - conf_t*
    - zone_t*
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 351
    functionName: backup_zonefile
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - assert
    - conf_zone_get
    - zonefile_write_skip
    - make_dir
    - free
    - sprintf_alloc
    - ABORT_IF_ENOMEM
    - knot_dname_to_str_alloc
    - copy_file
    - backup_file
    - dir_file
    - log_zone_notice
    linkageType: ''
    returnType: int
    signature: int backup_zonefile(conf_t *conf, zone_t *zone, zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_zone_policy
      Src: /src/knot-dns/src/knot/zone/backup.c:357,1
    - Dst: LOG_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:362,1
    - Dst: log_zone_notice
      Src: /src/knot-dns/src/knot/zone/backup.c:366,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:367,1
    - Dst: snprintf
      Src: /src/knot-dns/src/knot/zone/backup.c:372,1
    - Dst: keystore_load
      Src: /src/knot-dns/src/knot/zone/backup.c:373,1
    - Dst: LOG_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:375,1
    - Dst: BACKUP_SWAP
      Src: /src/knot-dns/src/knot/zone/backup.c:379,1
    - Dst: init_list
      Src: /src/knot-dns/src/knot/zone/backup.c:382,1
    - Dst: kasp_db_list_keys
      Src: /src/knot-dns/src/knot/zone/backup.c:383,1
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/backup.c:383,1
    - Dst: LOG_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:386,1
    - Dst: backup_key
      Src: /src/knot-dns/src/knot/zone/backup.c:393,1
    - Dst: free_key_params
      Src: /src/knot-dns/src/knot/zone/backup.c:395,1
    - Dst: LOG_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:398,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/knot/zone/backup.c:400,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:403,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/knot/zone/backup.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - conf
    - zone
    - ctx
    argTypes:
    - conf_t*
    - zone_t*
    - zone_backup_ctx_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 406
    functionName: backup_keystore
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - keystore_load
    - BACKUP_SWAP
    - backup_key
    - free_key_params
    - snprintf
    - dnssec_keystore_deinit
    - get_zone_policy
    - LOG_FAIL
    - ptrlist_deep_free
    - log_zone_notice
    - zone_kaspdb
    - init_list
    - kasp_db_list_keys
    linkageType: ''
    returnType: int
    signature: int backup_keystore(conf_t *conf, zone_t *zone, zone_backup_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_kaspdb
      Src: /src/knot-dns/src/knot/zone/backup.c:412,1
    - Dst: BACKUP_SWAP
      Src: /src/knot-dns/src/knot/zone/backup.c:413,1
    - Dst: knot_lmdb_exists
      Src: /src/knot-dns/src/knot/zone/backup.c:415,1
    - Dst: LOG_MARK_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:418,1
    - Dst: backup_keystore
      Src: /src/knot-dns/src/knot/zone/backup.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - conf
    - zone
    argTypes:
    - zone_backup_ctx_t*
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 408
    functionDepth: 6
    functionLinenumber: 408
    functionLinenumberEnd: 431
    functionName: backup_kaspdb
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - BACKUP_SWAP
    - backup_keystore
    - LOG_MARK_FAIL
    - knot_lmdb_exists
    - zone_kaspdb
    linkageType: ''
    returnType: int
    signature: "int backup_kaspdb(zone_backup_ctx_t *ctx, conf_t *conf, zone_t *zone,\n
      \                        int (*kaspdb_backup_cb)(const knot_dname_t *zone,\n
      \                                                knot_lmdb_db_t *db, knot_lmdb_db_t
      *backup_db))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/knot/zone/backup.c:435,1
    - Dst: backup_zonefile
      Src: /src/knot-dns/src/knot/zone/backup.c:443,1
    - Dst: LOG_MARK_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:445,1
    - Dst: backup_kaspdb
      Src: /src/knot-dns/src/knot/zone/backup.c:451,1
    - Dst: zone_journaldb
      Src: /src/knot-dns/src/knot/zone/backup.c:459,1
    - Dst: BACKUP_SWAP
      Src: /src/knot-dns/src/knot/zone/backup.c:460,1
    - Dst: journal_copy_with_md
      Src: /src/knot-dns/src/knot/zone/backup.c:462,1
    - Dst: journal_scrape_with_md
      Src: /src/knot-dns/src/knot/zone/backup.c:464,1
    - Dst: zone_journal
      Src: /src/knot-dns/src/knot/zone/backup.c:464,1
    - Dst: LOG_MARK_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:467,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/knot/zone/backup.c:472,1
    - Dst: LOG_MARK_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:474,1
    - Dst: zone_timers_read
      Src: /src/knot-dns/src/knot/zone/backup.c:478,1
    - Dst: zone_timers_sanitize
      Src: /src/knot-dns/src/knot/zone/backup.c:479,1
    - Dst: zone_timers_write
      Src: /src/knot-dns/src/knot/zone/backup.c:482,1
    - Dst: LOG_MARK_FAIL
      Src: /src/knot-dns/src/knot/zone/backup.c:485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - conf
    - zone
    argTypes:
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 433
    functionDepth: 7
    functionLinenumber: 433
    functionLinenumberEnd: 491
    functionName: zone_backup
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - journal_scrape_with_md
    - BACKUP_SWAP
    - zone_timers_write
    - knot_lmdb_open
    - zone_timers_read
    - LOG_MARK_FAIL
    - backup_kaspdb
    - ATOMIC_GET
    - zone_journal
    - backup_zonefile
    - zone_journaldb
    - zone_timers_sanitize
    - journal_copy_with_md
    linkageType: ''
    returnType: int
    signature: int zone_backup(conf_t *conf, zone_t *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BACKUP_SWAP
      Src: /src/knot-dns/src/knot/zone/backup.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - catalog
    - zone_only
    argTypes:
    - zone_backup_ctx_t*
    - catalog_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 507
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 507
    functionName: global_backup
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 2
    functionsReached:
    - BACKUP_SWAP
    linkageType: ''
    returnType: int
    signature: "int global_backup(zone_backup_ctx_t *ctx, catalog_t *catalog,\n                  const
      knot_dname_t *zone_only)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: backup_kaspdb
      Src: /src/knot-dns/src/knot/zone/backup.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - conf
    - zone
    argTypes:
    - zone_backup_ctx_t*
    - conf_t*
    - zone_t*
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: zone_backup_keysonly
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - backup_kaspdb
    linkageType: ''
    returnType: int
    signature: int zone_backup_keysonly(zone_backup_ctx_t *ctx, conf_t *conf, zone_t
      *zone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dir_file
      Src: /src/knot-dns/src/knot/zone/backup.c:520,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:521,1
    - Dst: dir_file
      Src: /src/knot-dns/src/knot/zone/backup.c:522,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:523,1
    - Dst: BACKUP_SWAP
      Src: /src/knot-dns/src/knot/zone/backup.c:525,1
    - Dst: backup_file
      Src: /src/knot-dns/src/knot/zone/backup.c:526,1
    - Dst: log_ctl_error
      Src: /src/knot-dns/src/knot/zone/backup.c:532,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/backup.c:534,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:537,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - file
    - subdir
    - desc
    - required
    - success
    argTypes:
    - zone_backup_ctx_t*
    - char*
    - char*
    - char*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 540
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 540
    functionName: backup_quic_file
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 0
    functionsReached:
    - BACKUP_SWAP
    - knot_strerror
    - free
    - ABORT_IF_ENOMEM
    - backup_file
    - dir_file
    - log_ctl_error
    linkageType: ''
    returnType: int
    signature: "int backup_quic_file(zone_backup_ctx_t *ctx, char *file, char *subdir,\n
      \                           const char *desc, bool required, bool *success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:567,1
    - Dst: ABORT_IF_ENOMEM
      Src: /src/knot-dns/src/knot/zone/backup.c:568,1
    - Dst: backup_quic_file
      Src: /src/knot-dns/src/knot/zone/backup.c:572,1
    - Dst: backup_quic_file
      Src: /src/knot-dns/src/knot/zone/backup.c:580,1
    - Dst: backup_quic_file
      Src: /src/knot-dns/src/knot/zone/backup.c:584,1
    - Dst: log_ctl_info
      Src: /src/knot-dns/src/knot/zone/backup.c:590,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:601,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:602,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/backup.c:603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - quic_on
    argTypes:
    - zone_backup_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 610
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 610
    functionName: backup_quic
    functionSourceFile: /src/knot-dns/src/knot/zone/backup.c
    functionUses: 1
    functionsReached:
    - backup_quic_file
    - free
    - ABORT_IF_ENOMEM
    - log_ctl_info
    linkageType: ''
    returnType: int
    signature: int backup_quic(zone_backup_ctx_t *ctx, bool quic_on)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - zone_node_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 29
    functionName: node_non_dnssec_exists
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool node_non_dnssec_exists(const zone_node_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/zone/adjust.c:33,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:38,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/adjust.c:44,1
    - Dst: node_rrtype_exists
      Src: /src/knot-dns/src/knot/zone/adjust.c:46,1
    - Dst: node_set_flag_hierarch
      Src: /src/knot-dns/src/knot/zone/adjust.c:54,1
    - Dst: node_set_flag_hierarch
      Src: /src/knot-dns/src/knot/zone/adjust.c:57,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: adjust_cb_flags
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    - node_set_flag_hierarch
    - node_rrtype_exists
    - zone_tree_insert
    - node_parent
    linkageType: ''
    returnType: int
    signature: int adjust_cb_flags(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/adjust.c:71,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: unadjust_cb_point_to_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_copy
    linkageType: ''
    returnType: int
    signature: int unadjust_cb_point_to_nsec3(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_is_nsec3_enabled
      Src: /src/knot-dns/src/knot/zone/adjust.c:80,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:82,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/adjust.c:102,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:108,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:112,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/adjust.c:113,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/adjust.c:114,1
    - Dst: knot_create_nsec3_owner
      Src: /src/knot-dns/src/knot/zone/adjust.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 117
    functionName: adjust_cb_wildcard_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_tree_insert
    - knot_is_nsec3_enabled
    - memcpy
    - knot_create_nsec3_owner
    - malloc
    linkageType: ''
    returnType: int
    signature: int adjust_cb_wildcard_nsec3(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:123,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:124,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/adjust.c:126,1
    - Dst: knot_nsec3_alg
      Src: /src/knot-dns/src/knot/zone/adjust.c:128,1
    - Dst: knot_nsec3_iters
      Src: /src/knot-dns/src/knot/zone/adjust.c:129,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/knot/zone/adjust.c:130,1
    - Dst: memcmp
      Src: /src/knot-dns/src/knot/zone/adjust.c:131,1
    - Dst: knot_nsec3_salt
      Src: /src/knot-dns/src/knot/zone/adjust.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - rrs
    - params
    - rdata_pos
    argTypes:
    - knot_rdataset_t*
    - dnssec_nsec3_params_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: nsec3_params_match
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_nsec3_iters
    - memcmp
    - knot_nsec3_salt_len
    - knot_nsec3_alg
    - knot_nsec3_salt
    - knot_rdataset_at
    linkageType: ''
    returnType: bool
    signature: "bool nsec3_params_match(const knot_rdataset_t *rrs,\n                               const
      dnssec_nsec3_params_t *params,\n                               size_t rdata_pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rdataset
      Src: /src/knot-dns/src/knot/zone/adjust.c:141,1
    - Dst: nsec3_params_match
      Src: /src/knot-dns/src/knot/zone/adjust.c:143,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: adjust_cb_nsec3_flags
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - node_rdataset
    - nsec3_params_match
    - zone_tree_insert
    linkageType: ''
    returnType: int
    signature: int adjust_cb_nsec3_flags(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/adjust.c:162,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/adjust.c:163,1
    - Dst: node_update_nsec3_node
      Src: /src/knot-dns/src/knot/zone/adjust.c:167,1
    - Dst: binode_fix_nsec3_pointer
      Src: /src/knot-dns/src/knot/zone/adjust.c:169,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 6
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: adjust_cb_nsec3_pointer
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - binode_fix_nsec3_pointer
    - free
    - zone_tree_insert
    - binode_counterpart
    - node_update_nsec3_node
    linkageType: ''
    returnType: int
    signature: int adjust_cb_nsec3_pointer(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:183,1
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/knot/zone/adjust.c:186,1
    - Dst: knot_rdata_name
      Src: /src/knot-dns/src/knot/zone/adjust.c:196,1
    - Dst: zone_contents_find_node_or_wildcard
      Src: /src/knot-dns/src/knot/zone/adjust.c:199,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/adjust.c:200,1
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/adjust.c:207,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/knot/zone/adjust.c:216,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/adjust.c:223,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/adjust.c:230,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/adjust.c:232,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/adjust.c:237,1
    - Dst: memcpy
      Src: /src/knot-dns/src/knot/zone/adjust.c:238,1
    - Dst: additional_equal
      Src: /src/knot-dns/src/knot/zone/adjust.c:243,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:245,1
    - Dst: binode_additional_shared
      Src: /src/knot-dns/src/knot/zone/adjust.c:248,1
    - Dst: additional_clear
      Src: /src/knot-dns/src/knot/zone/adjust.c:250,1
    - Dst: additional_clear
      Src: /src/knot-dns/src/knot/zone/adjust.c:261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - adjn
    - rr_at
    - ctx
    argTypes:
    - zone_node_t*
    - uint16_t
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 179
    functionDepth: 5
    functionLinenumber: 179
    functionLinenumberEnd: 265
    functionName: discover_additionals
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - additional_equal
    - additional_clear
    - knot_rdataset_next
    - zone_tree_insert
    - knot_rdata_name
    - memcpy
    - knot_rdataset_at
    - malloc
    - zone_contents_find_node_or_wildcard
    - knot_dname_in_bailiwick
    - binode_additional_shared
    linkageType: ''
    returnType: int
    signature: "int discover_additionals(zone_node_t *adjn, uint16_t rr_at,\n                                adjust_ctx_t
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_additional_needed
      Src: /src/knot-dns/src/knot/zone/adjust.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: adjust_cb_additionals
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - knot_rrtype_additional_needed
    linkageType: ''
    returnType: int
    signature: int adjust_cb_additionals(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adjust_cb_nsec3_pointer
      Src: /src/knot-dns/src/knot/zone/adjust.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 7
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: adjust_cb_flags_and_nsec3
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - adjust_cb_nsec3_pointer
    linkageType: ''
    returnType: int
    signature: int adjust_cb_flags_and_nsec3(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adjust_cb_wildcard_nsec3
      Src: /src/knot-dns/src/knot/zone/adjust.c:295,1
    - Dst: adjust_cb_additionals
      Src: /src/knot-dns/src/knot/zone/adjust.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: adjust_cb_nsec3_and_additionals
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - adjust_cb_wildcard_nsec3
    - adjust_cb_additionals
    linkageType: ''
    returnType: int
    signature: int adjust_cb_nsec3_and_additionals(zone_node_t *node, adjust_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adjust_cb_nsec3_pointer
      Src: /src/knot-dns/src/knot/zone/adjust.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - adjust_ctx_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 7
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: adjust_cb_nsec3_and_wildcard
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - adjust_cb_nsec3_pointer
    linkageType: ''
    returnType: int
    signature: int adjust_cb_nsec3_and_wildcard(zone_node_t *node, adjust_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone_node_t *node
    - adjust_ctx_t *ctx
    argTypes:
    - _unused_
    - _unused_
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: adjust_cb_void
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int adjust_cb_void(_unused_ zone_node_t *node, _unused_ adjust_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:336,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:337,1
    - Dst: knot_measure_node
      Src: /src/knot-dns/src/knot/zone/adjust.c:349,1
    - Dst: binode_counterpart
      Src: /src/knot-dns/src/knot/zone/adjust.c:364,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:365,1
    - Dst: zone_adjust_arg_t*::adjust_cb
      Src: /src/knot-dns/src/knot/zone/adjust.c:374,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 375
    functionName: adjust_single
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - assert
    - zone_adjust_arg_t*::adjust_cb
    - zone_tree_insert
    - knot_measure_node
    - binode_counterpart
    linkageType: ''
    returnType: int
    signature: int adjust_single(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/adjust.c:380,1
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/adjust.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - tree
    - ctx
    - adjust_cb
    - adjust_prevs
    - measure_ctx
    argTypes:
    - zone_tree_t*
    - adjust_ctx_t*
    - adjust_cb_t
    - bool
    - measure_t*
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: zone_adjust_tree
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - zone_tree_is_empty
    - zone_tree_insert
    linkageType: ''
    returnType: int
    signature: "int zone_adjust_tree(zone_tree_t *tree, adjust_ctx_t *ctx, adjust_cb_t
      adjust_cb,\n                            bool adjust_prevs, measure_t *measure_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/adjust.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: adjust_tree_thread
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: void
    signature: void *adjust_tree_thread(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/adjust.c:415,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/adjust.c:420,1
    - Dst: zone_tree_create
      Src: /src/knot-dns/src/knot/zone/adjust.c:435,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/zone/adjust.c:445,1
    - Dst: pthread_create
      Src: /src/knot-dns/src/knot/zone/adjust.c:451,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/knot/zone/adjust.c:456,1
    - Dst: knot_map_errno_code
      Src: /src/knot-dns/src/knot/zone/adjust.c:459,1
    - Dst: zone_tree_merge
      Src: /src/knot-dns/src/knot/zone/adjust.c:462,1
    - Dst: zone_tree_free
      Src: /src/knot-dns/src/knot/zone/adjust.c:464,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - tree
    - ctx
    - adjust_cb
    - threads
    argTypes:
    - zone_tree_t*
    - adjust_ctx_t*
    - adjust_cb_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 468
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 468
    functionName: zone_adjust_tree_parallel
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_create
    - zone_tree_free
    - zone_tree_is_empty
    - memset
    - zone_tree_merge
    - zone_tree_create
    - knot_map_errno_code
    linkageType: ''
    returnType: int
    signature: "int zone_adjust_tree_parallel(zone_tree_t *tree, adjust_ctx_t *ctx,\n
      \                                    adjust_cb_t adjust_cb, unsigned threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_zone_error
      Src: /src/knot-dns/src/knot/zone/adjust.c:476,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/knot/zone/adjust.c:478,1
    - Dst: node_rrtype_is_signed
      Src: /src/knot-dns/src/knot/zone/adjust.c:481,1
    - Dst: knot_measure_init
      Src: /src/knot-dns/src/knot/zone/adjust.c:483,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:491,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:494,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/adjust.c:495,1
    - Dst: zone_adjust_tree_parallel
      Src: /src/knot-dns/src/knot/zone/adjust.c:497,1
    - Dst: zone_adjust_tree_parallel
      Src: /src/knot-dns/src/knot/zone/adjust.c:500,1
    - Dst: zone_adjust_tree
      Src: /src/knot-dns/src/knot/zone/adjust.c:504,1
    - Dst: zone_adjust_tree
      Src: /src/knot-dns/src/knot/zone/adjust.c:507,1
    - Dst: knot_measure_finish_zone
      Src: /src/knot-dns/src/knot/zone/adjust.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - zone
    - nodes_cb
    - nsec3_cb
    - measure_zone
    - adjust_prevs
    - threads
    - add_changed
    argTypes:
    - zone_contents_t*
    - adjust_cb_t
    - adjust_cb_t
    - bool
    - bool
    - unsigned
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 515
    functionName: zone_adjust_contents
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 5
    functionsReached:
    - zone_adjust_tree
    - node_rrtype_is_signed
    - assert
    - zone_adjust_tree_parallel
    - knot_strerror
    - log_zone_error
    - knot_measure_init
    - knot_measure_finish_zone
    linkageType: ''
    returnType: int
    signature: "int zone_adjust_contents(zone_contents_t *zone, adjust_cb_t nodes_cb,
      adjust_cb_t nsec3_cb,\n                         bool measure_zone, bool adjust_prevs,
      unsigned threads,\n                         zone_tree_t *add_changed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_measure_init
      Src: /src/knot-dns/src/knot/zone/adjust.c:520,1
    - Dst: zone_update_changed_nsec3param
      Src: /src/knot-dns/src/knot/zone/adjust.c:524,1
    - Dst: zone_adjust_tree
      Src: /src/knot-dns/src/knot/zone/adjust.c:528,1
    - Dst: zone_adjust_tree
      Src: /src/knot-dns/src/knot/zone/adjust.c:531,1
    - Dst: knot_measure_finish_update
      Src: /src/knot-dns/src/knot/zone/adjust.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - update
    - nodes_cb
    - nsec3_cb
    - measure_diff
    argTypes:
    - zone_update_t*
    - adjust_cb_t
    - adjust_cb_t
    - bool
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: zone_adjust_update
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - zone_adjust_tree
    - knot_measure_finish_update
    - knot_measure_init
    - zone_update_changed_nsec3param
    linkageType: ''
    returnType: int
    signature: int zone_adjust_update(zone_update_t *update, adjust_cb_t nodes_cb,
      adjust_cb_t nsec3_cb, bool measure_diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/zone/adjust.c:544,1
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/zone/adjust.c:548,1
    - Dst: additionals_tree_from_zone
      Src: /src/knot-dns/src/knot/zone/adjust.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - threads
    argTypes:
    - zone_contents_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 6
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: zone_adjust_full
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 3
    functionsReached:
    - additionals_tree_from_zone
    - zone_adjust_contents
    - additionals_tree_free
    linkageType: ''
    returnType: int
    signature: int zone_adjust_full(zone_contents_t *zone, unsigned threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/adjust.c:557,1
    - Dst: adjust_cb_additionals
      Src: /src/knot-dns/src/knot/zone/adjust.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: adjust_additionals_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - zone_tree_fix_get
    - adjust_cb_additionals
    linkageType: ''
    returnType: int
    signature: int adjust_additionals_cb(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/adjust.c:564,1
    - Dst: adjust_cb_nsec3_pointer
      Src: /src/knot-dns/src/knot/zone/adjust.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 7
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: adjust_point_to_nsec3_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 0
    functionsReached:
    - adjust_cb_nsec3_pointer
    - zone_tree_fix_get
    linkageType: ''
    returnType: int
    signature: int adjust_point_to_nsec3_cb(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/zone/adjust.c:581,1
    - Dst: zone_adjust_contents
      Src: /src/knot-dns/src/knot/zone/adjust.c:585,1
    - Dst: zone_adjust_update
      Src: /src/knot-dns/src/knot/zone/adjust.c:589,1
    - Dst: zone_adjust_update
      Src: /src/knot-dns/src/knot/zone/adjust.c:592,1
    - Dst: additionals_tree_update_from_binodes
      Src: /src/knot-dns/src/knot/zone/adjust.c:597,1
    - Dst: additionals_tree_free
      Src: /src/knot-dns/src/knot/zone/adjust.c:603,1
    - Dst: additionals_tree_from_zone
      Src: /src/knot-dns/src/knot/zone/adjust.c:604,1
    - Dst: additionals_reverse_apply_multi
      Src: /src/knot-dns/src/knot/zone/adjust.c:608,1
    - Dst: zone_adjust_update
      Src: /src/knot-dns/src/knot/zone/adjust.c:616,1
    - Dst: additionals_reverse_apply_multi
      Src: /src/knot-dns/src/knot/zone/adjust.c:620,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - update
    - threads
    argTypes:
    - zone_update_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 629
      start: 568
    functionDepth: 6
    functionLinenumber: 568
    functionLinenumberEnd: 629
    functionName: zone_adjust_incremental_update
    functionSourceFile: /src/knot-dns/src/knot/zone/adjust.c
    functionUses: 1
    functionsReached:
    - zone_adjust_update
    - additionals_tree_update_from_binodes
    - zone_adjust_contents
    - additionals_reverse_apply_multi
    - additionals_tree_from_zone
    - additionals_tree_free
    linkageType: ''
    returnType: int
    signature: int zone_adjust_incremental_update(zone_update_t *update, unsigned
      threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:24,1
    - Dst: zone_tree_func_t*::func
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - trie_val_t*
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: tree_apply_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - zone_tree_func_t*::func
    - assert
    linkageType: ''
    returnType: int
    signature: int tree_apply_cb(trie_val_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:30,1
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:35,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - use_binodes
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: zone_tree_create
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 7
    functionsReached:
    - free
    - trie_create
    - calloc
    linkageType: ''
    returnType: zone_tree_t
    signature: zone_tree_t *zone_tree_create(bool use_binodes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:46,1
    - Dst: trie_cow
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:51,1
    - Dst: trie_cow_new
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:53,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - from
    argTypes:
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: zone_tree_cow
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - trie_cow_new
    - free
    - trie_cow
    - calloc
    linkageType: ''
    returnType: zone_tree_t
    signature: zone_tree_t *zone_tree_cow(zone_tree_t *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - mm
    argTypes:
    - trie_val_t
    - _unused_*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: nocopy
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t nocopy(const trie_val_t val, _unused_ knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:68,1
    - Dst: trie_dup
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:73,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - from
    argTypes:
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: zone_tree_shallow_copy
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - free
    - trie_dup
    - calloc
    linkageType: ''
    returnType: zone_tree_t
    signature: zone_tree_t *zone_tree_shallow_copy(zone_tree_t *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:87,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:90,1
    - Dst: trie_get_cow
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:93,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:93,1
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:95,1
    - Dst: binode_first
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:95,1
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tree
    - node
    argTypes:
    - zone_tree_t*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: zone_tree_insert
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 12
    functionsReached:
    - assert
    - trie_get_cow
    - zone_tree_fix_get
    - trie_get_ins
    - binode_first
    linkageType: ''
    returnType: int
    signature: int zone_tree_insert(zone_tree_t *tree, zone_node_t **node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - tree
    - node
    - without_parents
    argTypes:
    - zone_tree_t*
    - zone_node_t*
    - bool
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: zone_tree_insert_with_parents
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - zone_tree_insert
    linkageType: ''
    returnType: int
    signature: int zone_tree_insert_with_parents(zone_tree_t *tree, zone_node_t *node,
      bool without_parents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:119,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:125,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:127,1
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tree
    - owner
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: zone_tree_get
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 9
    functionsReached:
    - assert
    - zone_tree_is_empty
    - trie_get_try
    - zone_tree_fix_get
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_tree_get(zone_tree_t *tree, const knot_dname_t *owner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:144,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:150,1
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:155,1
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:161,1
    - Dst: zone_tree_it_begin
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:174,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:178,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:179,1
    - Dst: zone_tree_fix_get
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:180,1
    - Dst: node_prev
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:181,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - tree
    - owner
    - found
    - previous
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    - zone_node_t**
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 187
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 187
    functionName: zone_tree_get_less_or_equal
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - assert
    - node_prev
    - zone_tree_fix_get
    - zone_tree_it_begin
    - zone_tree_is_empty
    - zone_tree_it_free
    - zone_tree_it_val
    linkageType: ''
    returnType: int
    signature: "int zone_tree_get_less_or_equal(zone_tree_t *tree,\n                                const
      knot_dname_t *owner,\n                                zone_node_t **found,\n
      \                               zone_node_t **previous)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:192,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:198,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:200,1
    - Dst: trie_del_cow
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:203,1
    - Dst: trie_del
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - tree
    - owner
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: zone_tree_remove_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - assert
    - trie_del
    - zone_tree_is_empty
    - trie_del_cow
    - trie_get_try
    linkageType: ''
    returnType: void
    signature: void zone_tree_remove_node(zone_tree_t *tree, const knot_dname_t *owner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_get
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:221,1
    - Dst: new_cb
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:223,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:228,1
    - Dst: zone_tree_add_node
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:233,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:233,1
    - Dst: knot_dname_is_wildcard
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 6
    argNames:
    - tree
    - apex
    - dname
    - new_cb
    - new_cb_ctx
    - new_node
    argTypes:
    - zone_tree_t*
    - zone_node_t*
    - knot_dname_t*
    - zone_tree_new_node_cb_t
    - void*
    - zone_node_t**
    constantsTouched: []
    func_position:
      end: 246
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 246
    functionName: zone_tree_add_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - assert
    - new_cb
    - knot_dname_is_wildcard
    - zone_tree_get
    - knot_dname_next_label
    - zone_tree_add_node
    linkageType: ''
    returnType: int
    signature: "int zone_tree_add_node(zone_tree_t *tree, zone_node_t *apex, const
      knot_dname_t *dname,\n                       zone_tree_new_node_cb_t new_cb,
      void *new_cb_ctx, zone_node_t **new_node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_parent
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:250,1
    - Dst: zone_tree_remove_node
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:255,1
    - Dst: node_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:258,1
    - Dst: zone_tree_del_node
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - tree
    - node
    - free_deleted
    argTypes:
    - zone_tree_t*
    - zone_node_t*
    - bool
    constantsTouched: []
    func_position:
      end: 273
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 273
    functionName: zone_tree_del_node
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 4
    functionsReached:
    - node_free
    - zone_tree_del_node
    - zone_tree_remove_node
    - node_parent
    linkageType: ''
    returnType: int
    signature: int zone_tree_del_node(zone_tree_t *tree, zone_node_t *node, bool free_deleted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_is_empty
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:281,1
    - Dst: trie_apply
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - function
    - data
    argTypes:
    - zone_tree_t*
    - zone_tree_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: zone_tree_apply
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 12
    functionsReached:
    - zone_tree_is_empty
    - trie_apply
    linkageType: ''
    returnType: int
    signature: int zone_tree_apply(zone_tree_t *tree, zone_tree_apply_cb_t function,
      void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:299,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:300,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:302,1
    - Dst: function
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:303,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:303,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:304,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - tree
    - sub_root
    - excl_root
    - function
    - data
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    - bool
    - zone_tree_apply_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: zone_tree_sub_apply
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 2
    functionsReached:
    - function
    - zone_tree_it_free
    - zone_tree_it_finished
    - zone_tree_it_val
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: "int zone_tree_sub_apply(zone_tree_t *tree, const knot_dname_t *sub_root,\n
      \                       bool excl_root, zone_tree_apply_cb_t function, void
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_it_double_begin
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - it
    argTypes:
    - zone_tree_t*
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: zone_tree_it_begin
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 6
    functionsReached:
    - zone_tree_it_double_begin
    linkageType: ''
    returnType: int
    signature: int zone_tree_it_begin(zone_tree_t *tree, zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:325,1
    - Dst: trie_it_get_leq
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:328,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - tree
    - sub_root
    - it
    argTypes:
    - zone_tree_t*
    - knot_dname_t*
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 334
    functionName: zone_tree_it_sub_begin
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - trie_it_get_leq
    - knot_dname_copy
    - zone_tree_it_free
    linkageType: ''
    returnType: int
    signature: "int zone_tree_it_sub_begin(zone_tree_t *tree, const knot_dname_t *sub_root,\n
      \                          zone_tree_it_t *it)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:339,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:343,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:344,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - first
    - second
    - it
    argTypes:
    - zone_tree_t*
    - zone_tree_t*
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 355
    functionName: zone_tree_it_double_begin
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 2
    functionsReached:
    - trie_it_free
    - trie_it_finished
    - trie_it_begin
    linkageType: ''
    returnType: int
    signature: int zone_tree_it_double_begin(zone_tree_t *first, zone_tree_t *second,
      zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_in_bailiwick
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:360,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: sub_done
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - knot_dname_in_bailiwick
    - zone_tree_it_val
    linkageType: ''
    returnType: bool
    signature: bool sub_done(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:365,1
    - Dst: sub_done
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: zone_tree_it_finished
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 14
    functionsReached:
    - trie_it_finished
    - sub_done
    linkageType: ''
    returnType: bool
    signature: bool zone_tree_it_finished(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:370,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: zone_tree_it_val
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 16
    functionsReached:
    - trie_it_val
    - assert
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_tree_it_val(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_del
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: zone_tree_it_del
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - trie_it_del
    linkageType: ''
    returnType: void
    signature: void zone_tree_it_del(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_next
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:382,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:383,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:384,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:388,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: zone_tree_it_next
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 14
    functionsReached:
    - assert
    - trie_it_next
    - trie_it_begin
    - trie_it_free
    - trie_it_finished
    linkageType: ''
    returnType: void
    signature: void zone_tree_it_next(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:395,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:396,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_it_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: zone_tree_it_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 19
    functionsReached:
    - trie_it_free
    - knot_dname_free
    - memset
    linkageType: ''
    returnType: void
    signature: void zone_tree_it_free(zone_tree_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_count
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:403,1
    - Dst: malloc
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:409,1
    - Dst: zone_tree_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:420,1
    - Dst: zone_tree_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:421,1
    - Dst: zone_tree_it_next
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:422,1
    - Dst: zone_tree_it_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:424,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:425,1
    - Dst: zone_tree_delsafe_it_restart
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tree
    - it
    - include_deleted
    argTypes:
    - zone_tree_t*
    - zone_tree_delsafe_it_t*
    - bool
    constantsTouched: []
    func_position:
      end: 430
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 430
    functionName: zone_tree_delsafe_it_begin
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 1
    functionsReached:
    - assert
    - zone_tree_count
    - zone_tree_delsafe_it_restart
    - zone_tree_it_finished
    - malloc
    - zone_tree_it_val
    - zone_tree_it_free
    - zone_tree_it_next
    linkageType: ''
    returnType: int
    signature: int zone_tree_delsafe_it_begin(zone_tree_t *tree, zone_tree_delsafe_it_t
      *it, bool include_deleted)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_delsafe_it_t*
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: zone_tree_delsafe_it_finished
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool zone_tree_delsafe_it_finished(zone_tree_delsafe_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:441,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_delsafe_it_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: zone_tree_delsafe_it_restart
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 2
    functionsReached:
    - zone_tree_delsafe_it_finished
    - zone_tree_delsafe_it_val
    linkageType: ''
    returnType: void
    signature: void zone_tree_delsafe_it_restart(zone_tree_delsafe_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_delsafe_it_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: zone_tree_delsafe_it_val
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: zone_node_t
    signature: zone_node_t *zone_tree_delsafe_it_val(zone_tree_delsafe_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_delsafe_it_finished
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:456,1
    - Dst: zone_tree_delsafe_it_val
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_delsafe_it_t*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: zone_tree_delsafe_it_next
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 5
    functionsReached:
    - zone_tree_delsafe_it_finished
    - zone_tree_delsafe_it_val
    linkageType: ''
    returnType: void
    signature: void zone_tree_delsafe_it_next(zone_tree_delsafe_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:462,1
    - Dst: memset
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - zone_tree_delsafe_it_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: zone_tree_delsafe_it_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 5
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void zone_tree_delsafe_it_free(zone_tree_delsafe_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_insert
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 4
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: merge_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - zone_tree_insert
    linkageType: ''
    returnType: int
    signature: int merge_cb(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - into
    - what
    argTypes:
    - zone_tree_t*
    - zone_tree_t*
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: zone_tree_merge
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 2
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: int
    signature: int zone_tree_merge(zone_tree_t *into, zone_tree_t *what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binode_unify
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: binode_unify_cb
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 0
    functionsReached:
    - binode_unify
    linkageType: ''
    returnType: int
    signature: int binode_unify_cb(zone_node_t *node, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:485,1
    - Dst: zone_tree_apply
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - nodes
    - nsec3_nodes
    - free_deleted
    argTypes:
    - zone_tree_t*
    - zone_tree_t*
    - bool
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: zone_trees_unify_binodes
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 2
    functionsReached:
    - zone_tree_apply
    linkageType: ''
    returnType: void
    signature: void zone_trees_unify_binodes(zone_tree_t *nodes, zone_tree_t *nsec3_nodes,
      bool free_deleted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:498,1
    - Dst: free
      Src: /src/knot-dns/src/knot/zone/zone-tree.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - zone_tree_t**
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: zone_tree_free
    functionSourceFile: /src/knot-dns/src/knot/zone/zone-tree.c
    functionUses: 9
    functionsReached:
    - trie_free
    - free
    linkageType: ''
    returnType: void
    signature: void zone_tree_free(zone_tree_t **tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_create
      Src: /src/knot-dns/src/knot/zone/adds_tree.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: additionals_tree_new
    functionSourceFile: /src/knot-dns/src/knot/zone/adds_tree.h
    functionUses: 1
    functionsReached:
    - trie_create
    linkageType: ''
    returnType: additionals_tree_t
    signature: additionals_tree_t *additionals_tree_new(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: serial_compare
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 11
    functionsReached:
    - assert
    linkageType: ''
    returnType: serial_cmp_result_t
    signature: serial_cmp_result_t serial_compare(uint32_t s1, uint32_t s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/serial.c:29,1
    - Dst: gmtime_r
      Src: /src/knot-dns/src/knot/zone/serial.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - current
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: serial_dateserial
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - time
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t serial_dateserial(uint32_t current)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/knot/zone/serial.c:49,1
    - Dst: serial_dateserial
      Src: /src/knot-dns/src/knot/zone/serial.c:52,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:55,1
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/zone/serial.c:58,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:65,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - current
    - policy
    - must_increment
    - rem
    - mod
    - add
    argTypes:
    - uint32_t
    - unsigned
    - uint32_t
    - uint8_t
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: serial_next_generic
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 0
    functionsReached:
    - serial_dateserial
    - serial_compare
    - assert
    - time
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t serial_next_generic(uint32_t current, unsigned policy, uint32_t
      must_increment,\n                             uint8_t rem, uint8_t mod, int
      add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:81,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:82,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/serial.c:85,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/knot/zone/serial.c:86,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/knot/zone/serial.c:91,1
    - Dst: serial_modulo_parse
      Src: /src/knot-dns/src/knot/zone/serial.c:92,1
    - Dst: conf_str
      Src: /src/knot-dns/src/knot/zone/serial.c:92,1
    - Dst: assert
      Src: /src/knot-dns/src/knot/zone/serial.c:93,1
    - Dst: serial_next_generic
      Src: /src/knot-dns/src/knot/zone/serial.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - current
    - conf
    - zone
    - policy
    - must_increment
    argTypes:
    - uint32_t
    - conf_t*
    - knot_dname_t*
    - unsigned
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: serial_next
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 2
    functionsReached:
    - assert
    - conf_zone_get
    - serial_modulo_parse
    - serial_next_generic
    - conf_opt
    - conf_str
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t serial_next(uint32_t current, conf_t *conf, const knot_dname_t
      *zone,\n                     unsigned policy, uint32_t must_increment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_compare
      Src: /src/knot-dns/src/knot/zone/serial.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - kserial_t
    - kserial_t
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: kserial_cmp
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 1
    functionsReached:
    - serial_compare
    linkageType: ''
    returnType: serial_cmp_result_t
    signature: serial_cmp_result_t kserial_cmp(kserial_t a, kserial_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/zone/serial.c:118,1
    - Dst: sscanf
      Src: /src/knot-dns/src/knot/zone/serial.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - str
    - rem
    - mod
    - add
    argTypes:
    - char*
    - uint32_t*
    - uint32_t*
    - int*
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: serial_modulo_parse
    functionSourceFile: /src/knot-dns/src/knot/zone/serial.c
    functionUses: 3
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int serial_modulo_parse(const char *str, uint32_t *rem, uint32_t *mod,
      int *add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kzonesign/main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/utils/kzonesign/main.c:67,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:67,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:69,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/utils/kzonesign/main.c:73,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:73,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:75,1
    - Dst: zone_new
      Src: /src/knot-dns/src/utils/kzonesign/main.c:79,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:81,1
    - Dst: zone_load_contents
      Src: /src/knot-dns/src/utils/kzonesign/main.c:86,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:86,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:89,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:89,1
    - Dst: zone_update_from_contents
      Src: /src/knot-dns/src/utils/kzonesign/main.c:93,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:95,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:95,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/utils/kzonesign/main.c:96,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/utils/kzonesign/main.c:101,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:101,1
    - Dst: zone_adjust_full
      Src: /src/knot-dns/src/utils/kzonesign/main.c:102,1
    - Dst: conf_int
      Src: /src/knot-dns/src/utils/kzonesign/main.c:102,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:104,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:104,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/utils/kzonesign/main.c:105,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:110,1
    - Dst: knot_dnssec_validate_zone
      Src: /src/knot-dns/src/utils/kzonesign/main.c:115,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:117,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:117,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/kzonesign/main.c:120,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/kzonesign/main.c:121,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:122,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:125,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/utils/kzonesign/main.c:127,1
    - Dst: kasp_db_ensure_init
      Src: /src/knot-dns/src/utils/kzonesign/main.c:131,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:131,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/utils/kzonesign/main.c:134,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:134,1
    - Dst: knot_dnssec_zone_sign
      Src: /src/knot-dns/src/utils/kzonesign/main.c:138,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:138,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:142,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:142,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/utils/kzonesign/main.c:143,1
    - Dst: conf_zonefile
      Src: /src/knot-dns/src/utils/kzonesign/main.c:148,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:148,1
    - Dst: zonefile_write_skip
      Src: /src/knot-dns/src/utils/kzonesign/main.c:149,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:149,1
    - Dst: zone_dump_to_dir
      Src: /src/knot-dns/src/utils/kzonesign/main.c:153,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/kzonesign/main.c:153,1
    - Dst: zone_update_clear
      Src: /src/knot-dns/src/utils/kzonesign/main.c:156,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:159,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:160,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:162,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonesign/main.c:163,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:169,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:171,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:173,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:176,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/kzonesign/main.c:182,1
    - Dst: zone_free
      Src: /src/knot-dns/src/utils/kzonesign/main.c:184,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kzonesign/main.c:185,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 1
    argNames:
    - params
    argTypes:
    - sign_params_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 188
    functionName: zonesign
    functionSourceFile: /src/knot-dns/src/utils/kzonesign/main.c
    functionUses: 0
    functionsReached:
    - zone_load_contents
    - zone_update_from_contents
    - conf
    - kasp_db_ensure_init
    - zone_contents_deep_free
    - zone_new
    - zone_update_clear
    - zonefile_write_skip
    - knot_strerror
    - free
    - INFO2
    - zone_dump_to_dir
    - zone_free
    - ERR2
    - conf_zonefile
    - knot_lmdb_deinit
    - WARN2
    - conf_zone_get
    - knot_dnssec_validate_zone
    - knot_dnssec_zone_sign
    - knot_dname_to_str
    - conf_int
    - zone_adjust_full
    - knot_rrtype_to_string
    linkageType: ''
    returnType: int
    signature: int zonesign(sign_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/kzonesign/main.c:206,1
    - Dst: signal_init_std
      Src: /src/knot-dns/src/utils/kzonesign/main.c:207,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/kzonesign/main.c:210,1
    - Dst: util_conf_init_file
      Src: /src/knot-dns/src/utils/kzonesign/main.c:213,1
    - Dst: util_conf_init_confdb
      Src: /src/knot-dns/src/utils/kzonesign/main.c:218,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/kzonesign/main.c:233,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonesign/main.c:234,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonesign/main.c:240,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kzonesign/main.c:243,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonesign/main.c:246,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:251,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonesign/main.c:252,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/utils/kzonesign/main.c:256,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonesign/main.c:258,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonesign/main.c:259,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/kzonesign/main.c:262,1
    - Dst: util_conf_init_default
      Src: /src/knot-dns/src/utils/kzonesign/main.c:264,1
    - Dst: zonesign
      Src: /src/knot-dns/src/utils/kzonesign/main.c:268,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kzonesign/main.c:273,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kzonesign/main.c:276,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 278
      start: 190
    functionDepth: 9
    functionLinenumber: 190
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kzonesign/main.c
    functionUses: 3
    functionsReached:
    - getopt_long
    - print_version
    - knot_dname_from_str
    - str_to_u32
    - signal_init_std
    - print_help
    - zonesign
    - ERR2
    - util_conf_init_default
    - util_conf_init_confdb
    - tzset
    - util_conf_init_file
    - knot_dname_to_lower
    - util_conf_deinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: opt_multiline
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_multiline(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: opt_nomultiline
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nomultiline(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: opt_short
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_short(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: opt_noshort
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noshort(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: opt_generic
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_generic(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: opt_nogeneric
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nogeneric(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: opt_aaflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_aaflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: opt_noaaflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noaaflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: opt_tcflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_tcflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: opt_notcflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_notcflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: opt_rdflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_rdflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: opt_nordflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nordflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: opt_raflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_raflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: opt_noraflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noraflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: opt_zflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_zflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: opt_nozflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nozflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: opt_adflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_adflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: opt_noadflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noadflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: opt_cdflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_cdflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: opt_nocdflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nocdflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: opt_doflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_doflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: opt_nodoflag
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nodoflag(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: opt_all
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_all(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: opt_noall
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noall(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: opt_qr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_qr(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: opt_noqr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noqr(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: opt_header
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_header(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: opt_noheader
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noheader(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: opt_comments
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_comments(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: opt_nocomments
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nocomments(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: opt_opt
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_opt(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: opt_noopt
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noopt(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: opt_opttext
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_opttext(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: opt_noopttext
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noopttext(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: opt_question
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_question(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: opt_noquestion
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noquestion(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: opt_optpresent
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_optpresent(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: opt_nooptpresent
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nooptpresent(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: opt_answer
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_answer(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: opt_noanswer
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noanswer(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: opt_authority
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_authority(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 476
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: opt_noauthority
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noauthority(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: opt_additional
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_additional(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: opt_noadditional
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noadditional(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: opt_tsig
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_tsig(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: opt_notsig
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_notsig(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: opt_stats
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_stats(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: opt_nostats
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nostats(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: opt_class
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_class(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: opt_noclass
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noclass(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: opt_ttl
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_ttl(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: opt_nottl
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nottl(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: opt_ignore
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_ignore(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: opt_noignore
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noignore(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: opt_crypto
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_crypto(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: opt_nocrypto
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nocrypto(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: opt_tcp
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_tcp(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_ignore
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: opt_notcp
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_ignore
    linkageType: ''
    returnType: int
    signature: int opt_notcp(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_tcp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 630
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 630
    functionName: opt_fastopen
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_tcp
    linkageType: ''
    returnType: int
    signature: int opt_fastopen(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 639
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 639
    functionName: opt_nofastopen
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nofastopen(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 648
    functionName: opt_keepopen
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_keepopen(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 657
    functionName: opt_nokeepopen
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nokeepopen(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_tcp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: opt_tls
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_tcp
    linkageType: ''
    returnType: int
    signature: int opt_tls(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:674,1
    - Dst: tls_params_init
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: opt_notls
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - tls_params_clean
    - tls_params_init
    linkageType: ''
    returnType: int
    signature: int opt_notls(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:686,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:688,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:688,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 693
    functionName: opt_tls_ca
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - strdup
    - opt_tls
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int opt_tls_ca(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:702,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:703,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: opt_notls_ca
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - ptrlist_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: int
    signature: int opt_notls_ca(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:718,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:721,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:730,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:732,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 737
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 737
    functionName: opt_tls_pin
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - opt_tls
    - ERR
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int opt_tls_pin(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:744,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:745,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 750
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 750
    functionName: opt_notls_pin
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - ptrlist_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: int
    signature: int opt_notls_pin(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:756,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:757,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 760
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 760
    functionName: opt_tls_hostname
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - opt_tls
    - strdup
    linkageType: ''
    returnType: int
    signature: int opt_tls_hostname(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 770
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 770
    functionName: opt_notls_hostname
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int opt_notls_hostname(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:776,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:777,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 780
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 780
    functionName: opt_tls_sni
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - opt_tls
    - strdup
    linkageType: ''
    returnType: int
    signature: int opt_tls_sni(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 790
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 790
    functionName: opt_notls_sni
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int opt_notls_sni(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:796,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:797,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: opt_tls_keyfile
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - opt_tls
    - strdup
    linkageType: ''
    returnType: int
    signature: int opt_tls_keyfile(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: opt_notls_keyfile
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int opt_notls_keyfile(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:816,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:817,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 820
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 820
    functionName: opt_tls_certfile
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - opt_tls
    - strdup
    linkageType: ''
    returnType: int
    signature: int opt_tls_certfile(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 830
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 830
    functionName: opt_notls_certfile
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int opt_notls_certfile(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:838,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:841,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:842,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 849
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 849
    functionName: opt_tls_ocsp_stapling
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_tls
    - str_to_u32
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_tls_ocsp_stapling(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 858
    functionName: opt_notls_ocsp_stapling
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_notls_ocsp_stapling(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:874,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:881,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:882,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:885,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:886,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:888,1
    - Dst: opt_tls_hostname
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:890,1
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 900
      start: 860
    functionDepth: 3
    functionLinenumber: 860
    functionLinenumberEnd: 900
    functionName: opt_https
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - strdup
    - ERR
    - free
    - opt_tls_hostname
    - opt_tls
    - strndup
    linkageType: ''
    returnType: int
    signature: int opt_https(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: https_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:907,1
    - Dst: opt_notls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: opt_nohttps
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - https_params_clean
    - opt_notls
    linkageType: ''
    returnType: int
    signature: int opt_nohttps(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_https
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 926
      start: 915
    functionDepth: 4
    functionLinenumber: 915
    functionLinenumberEnd: 926
    functionName: opt_https_get
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_https
    linkageType: ''
    returnType: int
    signature: int opt_https_get(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 939
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 939
    functionName: opt_nohttps_get
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nohttps_get(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_tls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:948,1
    - Dst: opt_notcp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 955
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 955
    functionName: opt_quic
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_notcp
    - opt_tls
    linkageType: ''
    returnType: int
    signature: int opt_quic(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:962,1
    - Dst: opt_notls
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: opt_noquic
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_notls
    - quic_params_clean
    linkageType: ''
    returnType: int
    signature: int opt_noquic(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: opt_nsid
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nsid(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 986
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 986
    functionName: opt_nonsid
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nonsid(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 995
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 995
    functionName: opt_zoneversion
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_zoneversion(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1004
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1004
    functionName: opt_nozoneversion
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nozoneversion(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1011,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1026
    functionName: opt_bufsize
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u16
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_bufsize(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: opt_nobufsize
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nobufsize(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1047,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1052,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1053,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1057,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1062,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1063,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1067,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1068,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1072,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1075,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1081,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1086
    functionName: opt_cookie
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - knot_error_from_libdnssec
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_cookie(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: opt_nocookie
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nocookie(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: opt_badcookie
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_badcookie(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1108
    functionName: opt_nobadcookie
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nobadcookie(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1119,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1127
    functionName: opt_padding
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u16
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_padding(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1136
    functionName: opt_nopadding
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nopadding(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1147,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1155
    functionName: opt_alignment
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u16
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_alignment(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1164
    functionName: opt_noalignment
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noalignment(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1176,1
    - Dst: getaddrinfo
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1189,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1190,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1191,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1195,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1196,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1197,1
    - Dst: knot_edns_client_subnet_set_addr
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1199,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1200,1
    - Dst: str_to_u8
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1209,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1217
    functionName: opt_subnet
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u8
    - ERR
    - freeaddrinfo
    - free
    - strchr
    - getaddrinfo
    - knot_edns_client_subnet_set_addr
    - memcpy
    linkageType: ''
    returnType: int
    signature: int opt_subnet(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1226
    functionName: opt_nosubnet
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nosubnet(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u8
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1237,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1245
    functionName: opt_edns
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u8
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_edns(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opt_nodoflag
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1252,1
    - Dst: opt_nonsid
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1253,1
    - Dst: opt_nozoneversion
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1254,1
    - Dst: opt_nobufsize
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1255,1
    - Dst: opt_nocookie
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1256,1
    - Dst: opt_nopadding
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1257,1
    - Dst: opt_noalignment
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1258,1
    - Dst: opt_nosubnet
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1262
    functionName: opt_noedns
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - opt_nobufsize
    - opt_nonsid
    - opt_nopadding
    - opt_noalignment
    - opt_nosubnet
    - opt_nodoflag
    - opt_nozoneversion
    - opt_nocookie
    linkageType: ''
    returnType: int
    signature: int opt_noedns(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1268,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1274
    functionName: opt_msgdelay
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u32
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_msgdelay(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1283
    functionName: opt_nomsgdelay
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nomsgdelay(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_parse_wait
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1289,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1295
    functionName: opt_timeout
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - ERR
    - params_parse_wait
    linkageType: ''
    returnType: int
    signature: int opt_timeout(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_parse_wait
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1304
    functionName: opt_notimeout
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - params_parse_wait
    linkageType: ''
    returnType: int
    signature: int opt_notimeout(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1310,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1316
    functionName: opt_retry
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - str_to_u32
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_retry(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1325
    functionName: opt_noretry
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noretry(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ednsopt_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1331,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1335
    functionName: opt_expire
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - ednsopt_create
    - add_tail
    linkageType: ''
    returnType: int
    signature: int opt_expire(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1342,1
    - Dst: rem_node
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1345,1
    - Dst: ednsopt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1351
    functionName: opt_noexpire
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - rem_node
    - ednsopt_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: int
    signature: int opt_noexpire(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1371,1
    - Dst: ednsopt_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1379,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - arg
    - opt_ptr
    argTypes:
    - char*
    - ednsopt_t**
    constantsTouched: []
    func_position:
      end: 1387
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1387
    functionName: parse_ednsopt
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - ednsopt_create
    linkageType: ''
    returnType: int
    signature: int parse_ednsopt(const char *arg, ednsopt_t **opt_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1396,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1403
    functionName: opt_ednsopt
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - add_tail
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_ednsopt(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ednsopt_list_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1412
    functionName: opt_noednsopt
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - ednsopt_list_deinit
    linkageType: ''
    returnType: int
    signature: int opt_noednsopt(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: opt_noidn
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noidn(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1431
    functionName: opt_json
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_json(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1440
    functionName: opt_nojson
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_nojson(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_nameserver
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1444,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1451,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1456,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - addr
    - arg
    - def_port
    argTypes:
    - struct sockaddr_storage*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1460
    functionName: parse_addr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - parse_nameserver
    - freeaddrinfo
    - srv_info_free
    linkageType: ''
    returnType: int
    signature: int parse_addr(struct sockaddr_storage *addr, const char *arg, const
      char *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1468,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1475,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1476,1
    - Dst: parse_addr
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1481,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1483,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1484,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1489,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1490,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1496
    functionName: opt_proxy
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - parse_addr
    - ERR
    linkageType: ''
    returnType: int
    signature: int opt_proxy(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - query
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1506
    functionName: opt_noproxy
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_noproxy(const char *arg, void *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1702,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1717,1
    - Dst: knot_time
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1728,1
    - Dst: tls_params_init
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1738,1
    - Dst: ednsopt_list_init
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1741,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1750,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1753,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1759,1
    - Dst: tls_params_copy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1760,1
    - Dst: https_params_copy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1761,1
    - Dst: quic_params_copy
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1762,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1767,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1774,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1785,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1789,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1790,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1797,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 79
    argCount: 2
    argNames:
    - owner
    - conf
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1802
    functionName: query_create
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - query_free
    - strdup
    - init_list
    - tls_params_init
    - srv_info_create
    - calloc
    - ednsopt_list_init
    - tls_params_copy
    - https_params_copy
    - knot_time
    - quic_params_copy
    linkageType: ''
    returnType: query_t
    signature: query_t *query_create(const char *owner, const query_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1814,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1815,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1820,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1823,1
    - Dst: https_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1824,1
    - Dst: quic_params_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1825,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1828,1
    - Dst: ednsopt_list_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1831,1
    - Dst: dt_reader_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1835,1
    - Dst: dt_writer_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1841,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1846,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1847,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - query
    argTypes:
    - query_t*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1849
    functionName: query_free
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - https_params_clean
    - dt_writer_free
    - tls_params_clean
    - free
    - dt_reader_free
    - srv_info_free
    - knot_tsig_key_deinit
    - ednsopt_list_deinit
    - WALK_LIST_DELSAFE
    - quic_params_clean
    linkageType: ''
    returnType: void
    signature: void query_free(query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - code
    - length
    - data
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1863
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1863
    functionName: ednsopt_create
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: ednsopt_t
    signature: ednsopt_t *ednsopt_create(uint16_t code, uint16_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1867,1
    - Dst: memdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1874,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - opt
    argTypes:
    - ednsopt_t*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1881
    functionName: ednsopt_dup
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - memdup
    - calloc
    linkageType: ''
    returnType: ednsopt_t
    signature: ednsopt_t *ednsopt_dup(const ednsopt_t *opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1889,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - opt
    argTypes:
    - ednsopt_t*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1891
    functionName: ednsopt_free
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ednsopt_free(ednsopt_t *opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1896
    functionName: ednsopt_list_init
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - init_list
    linkageType: ''
    returnType: void
    signature: void ednsopt_list_init(list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1901,1
    - Dst: ednsopt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1903,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 1907
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1907
    functionName: ednsopt_list_deinit
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 2
    functionsReached:
    - init_list
    - ednsopt_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void ednsopt_list_deinit(list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1912,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1915,1
    - Dst: ednsopt_dup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1917,1
    - Dst: ednsopt_list_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1919,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - list_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1928
    functionName: ednsopt_list_dup
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - add_tail
    - ednsopt_list_deinit
    - ednsopt_dup
    - init_list
    linkageType: ''
    returnType: int
    signature: int ednsopt_list_dup(list_t *dest, const list_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 1933
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1933
    functionName: ednsopt_list_empty
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - EMPTY_LIST
    linkageType: ''
    returnType: bool
    signature: bool ednsopt_list_empty(const list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1942,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1947,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 1955
      start: 1935
    functionDepth: 2
    functionLinenumber: 1935
    functionLinenumberEnd: 1955
    functionName: kdig_init
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - init_list
    - query_create
    - memset
    linkageType: ''
    returnType: int
    signature: int kdig_init(kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1967,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1968,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1972,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - params
    argTypes:
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1957
    functionDepth: 2
    functionLinenumber: 1957
    functionLinenumberEnd: 1976
    functionName: kdig_clean
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - query_free
    - memset
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void kdig_clean(kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_parse_class
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1978
    functionDepth: 1
    functionLinenumber: 1978
    functionLinenumberEnd: 1989
    functionName: parse_class
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - params_parse_class
    linkageType: ''
    returnType: int
    signature: int parse_class(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1993,1
    - Dst: knot_tsig_key_init_file
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:1995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1991
    functionDepth: 1
    functionLinenumber: 1991
    functionLinenumberEnd: 2000
    functionName: parse_keyfile
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - knot_tsig_key_init_file
    - knot_tsig_key_deinit
    linkageType: ''
    returnType: int
    signature: int parse_keyfile(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_nameserver
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2004,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2016
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2016
    functionName: parse_local
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - parse_nameserver
    - srv_info_free
    linkageType: ''
    returnType: int
    signature: int parse_local(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_from_idn
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2026,1
    - Dst: get_fqd_name
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2033,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2036,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2041,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2043,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - value
    - queries
    - conf
    argTypes:
    - char*
    - list_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2053
      start: 2018
    functionDepth: 2
    functionLinenumber: 2018
    functionLinenumberEnd: 2053
    functionName: parse_name
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - get_fqd_name
    - query_create
    - free
    - add_tail
    - name_from_idn
    linkageType: ''
    returnType: int
    signature: int parse_name(const char *value, list_t *queries, const query_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2060,1
    - Dst: TAIL
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2061,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2055
    functionDepth: 1
    functionLinenumber: 2055
    functionLinenumberEnd: 2079
    functionName: parse_port
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - list_size
    - TAIL
    linkageType: ''
    returnType: int
    signature: int parse_port(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: query_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2093,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2095,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - value
    - queries
    - conf
    argTypes:
    - char*
    - list_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2108
    functionName: parse_reverse
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - free
    - add_tail
    - query_create
    linkageType: ''
    returnType: int
    signature: int parse_reverse(const char *value, list_t *queries, const query_t
      *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2115,1
    - Dst: TAIL
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2116,1
    - Dst: params_parse_server
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2121,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - params
    argTypes:
    - char*
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2127
    functionName: parse_server
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - params_parse_server
    - list_size
    - ERR
    - TAIL
    linkageType: ''
    returnType: int
    signature: int parse_server(const char *value, kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2131,1
    - Dst: knot_tsig_key_init_str
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2138
    functionName: parse_tsig
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - knot_tsig_key_deinit
    - knot_tsig_key_init_str
    linkageType: ''
    returnType: int
    signature: int parse_tsig(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_parse_type
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 1
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: parse_type
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - params_parse_type
    linkageType: ''
    returnType: int
    signature: int parse_type(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_writer_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2168,1
    - Dst: dt_writer_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2178
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2178
    functionName: parse_dnstap_output
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - dt_writer_create
    - dt_writer_free
    linkageType: ''
    returnType: int
    signature: int parse_dnstap_output(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_reader_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2184,1
    - Dst: dt_reader_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - value
    - query
    argTypes:
    - char*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2193
    functionName: parse_dnstap_input
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - dt_reader_free
    - dt_reader_create
    linkageType: ''
    returnType: int
    signature: int parse_dnstap_input(const char *value, query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2202,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2204,1
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2217,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2218,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2222,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2223,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2224,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2226,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2233,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2234,1
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2238,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2239,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2244,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2248,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2250,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2254,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2258,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2259,1
    - Dst: get_nameservers
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2264,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - query
    - conf
    argTypes:
    - query_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2196
    functionDepth: 1
    functionLinenumber: 2196
    functionLinenumberEnd: 2266
    functionName: complete_servers
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - get_nameservers
    - WALK_LIST
    - strdup
    - strlen
    - srv_info_create
    - free
    - list_size
    - WARN
    - EMPTY_LIST
    - add_tail
    linkageType: ''
    returnType: void
    signature: void complete_servers(query_t *query, const query_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2270,1
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2270,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2274,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2275,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2277,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - list_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 2285
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2285
    functionName: compare_servers
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - list_size
    - HEAD
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool compare_servers(list_t *s1, list_t *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2297,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2298,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2300,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2305,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2308,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2310,1
    - Dst: complete_servers
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2344,1
    - Dst: get_socktype
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2348,1
    - Dst: get_socktype
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2349,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2352,1
    - Dst: compare_servers
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2353,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2355,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - queries
    - conf
    argTypes:
    - list_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 2360
      start: 2287
    functionDepth: 2
    functionLinenumber: 2287
    functionLinenumberEnd: 2360
    functionName: complete_queries
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - query_create
    - get_socktype
    - list_size
    - compare_servers
    - WARN
    - HEAD
    - add_tail
    - strcmp
    - complete_servers
    linkageType: ''
    returnType: void
    signature: void complete_queries(list_t *queries, const query_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2441
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2452,1
    - Dst: TAIL
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2453,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2467,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2475,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2483,1
    - Dst: parse_local
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2487,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2488,1
    - Dst: msg_enable_debug
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2494,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2498,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2502,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2507,1
    - Dst: parse_class
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2511,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2512,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2519,1
    - Dst: parse_keyfile
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2523,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2524,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2531,1
    - Dst: parse_port
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2535,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2536,1
    - Dst: parse_name
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2543,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2545,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2552,1
    - Dst: parse_type
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2556,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2557,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2563,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2568,1
    - Dst: parse_reverse
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2572,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2574,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2581,1
    - Dst: parse_tsig
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2585,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2586,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2594,1
    - Dst: parse_dnstap_output
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2598,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2599,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2604,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2611,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2615,1
    - Dst: parse_dnstap_input
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2620,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2621,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2622,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2627,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2631,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2636,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2637,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2639,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2640,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2640,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2643,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2648,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 175
    argCount: 4
    argNames:
    - opt
    - value
    - params
    - index
    argTypes:
    - char*
    - char*
    - kdig_params_t*
    - int*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2443
    functionDepth: 3
    functionLinenumber: 2443
    functionLinenumberEnd: 2653
    functionName: parse_opt1
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - parse_name
    - print_version
    - print_help
    - TAIL
    - add_tail
    - strcmp
    - msg_enable_debug
    - query_create
    - parse_type
    - parse_local
    - parse_port
    - query_free
    - parse_reverse
    - ERR
    - strlen
    - strncmp
    - parse_dnstap_output
    - parse_dnstap_input
    - parse_keyfile
    - list_size
    - parse_class
    - parse_tsig
    linkageType: ''
    returnType: int
    signature: "int parse_opt1(const char *opt, const char *value, kdig_params_t *params,\n
      \                     int *index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2660,1
    - Dst: TAIL
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2661,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2670,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2677,1
    - Dst: strspn
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2678,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2685,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2688,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2696,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2701,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2707,1
    - Dst: handler
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2714,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - value
    - params
    argTypes:
    - char*
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 2715
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2715
    functionName: parse_opt2
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - strlen
    - ERR
    - list_size
    - strspn
    - WARN
    - TAIL
    - handler
    linkageType: ''
    returnType: int
    signature: int parse_opt2(const char *value, kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_size
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2722,1
    - Dst: TAIL
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2723,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2729,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2730,1
    - Dst: parse_type
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2731,1
    - Dst: parse_class
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2733,1
    - Dst: parse_name
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2735,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - value
    - params
    argTypes:
    - char*
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2742
    functionName: parse_token
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - parse_name
    - ERR
    - strlen
    - parse_type
    - list_size
    - TAIL
    - parse_class
    linkageType: ''
    returnType: int
    signature: int parse_token(const char *value, kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kdig_init
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2752,1
    - Dst: setlocale
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2758,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2759,1
    - Dst: parse_server
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2772,1
    - Dst: parse_opt1
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2775,1
    - Dst: parse_opt2
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2778,1
    - Dst: parse_token
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2781,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2793,1
    - Dst: complete_queries
      Src: /src/knot-dns/src/utils/kdig/kdig_params.c:2800,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - params
    - argc
    - argv
    argTypes:
    - kdig_params_t*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 2803
      start: 2744
    functionDepth: 4
    functionLinenumber: 2744
    functionLinenumberEnd: 2803
    functionName: kdig_parse
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_params.c
    functionUses: 0
    functionsReached:
    - parse_opt1
    - parse_server
    - setlocale
    - kdig_init
    - parse_opt2
    - print_help
    - WARN
    - parse_token
    - complete_queries
    linkageType: ''
    returnType: int
    signature: int kdig_parse(kdig_params_t *params, int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:17,1
    - Dst: kdig_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:20,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:22,1
    - Dst: kdig_exec
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:23,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:26,1
    - Dst: kdig_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_main.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 34
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_main.c
    functionUses: 3
    functionsReached:
    - kdig_clean
    - kdig_parse
    - kdig_exec
    - dnssec_crypto_init
    - tzset
    - dnssec_crypto_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_set_local_info
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:45,1
    - Dst: dt_message_fill
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:57,1
    - Dst: dt_writer_write
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - writer
    - is_query
    - wire
    - wire_len
    - net
    - mtime
    argTypes:
    - dt_writer_t*
    - bool
    - uint8_t*
    - size_t
    - net_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: write_dnstap
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - dt_writer_write
    - net_set_local_info
    - dt_message_fill
    linkageType: ''
    returnType: int
    signature: "int write_dnstap(dt_writer_t           *writer,\n                        const
      bool            is_query,\n                        const uint8_t         *wire,\n
      \                       const size_t          wire_len,\n                        net_t
      \                *net,\n                        const struct timespec *mtime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - frame
    argTypes:
    - Dnstap__Dnstap*
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: get_query_time
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - time_diff_ms
    linkageType: ''
    returnType: float
    signature: float get_query_time(const Dnstap__Dnstap *frame)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_protocol_decode
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:102,1
    - Dst: sockaddr_set_raw
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:114,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:115,1
    - Dst: get_addr_str
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - net
    - message
    - is_initiator
    argTypes:
    - net_t*
    - Dnstap__Message*
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: fill_remote_addr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - get_addr_str
    - sockaddr_port_set
    - sockaddr_set_raw
    - dt_protocol_decode
    linkageType: ''
    returnType: void
    signature: void fill_remote_addr(net_t *net, Dnstap__Message *message, bool is_initiator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:142,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:150,1
    - Dst: dt_reader_free_frame
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:151,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:163,1
    - Dst: dt_reader_free_frame
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:164,1
    - Dst: dt_reader_free_frame
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:170,1
    - Dst: dt_message_role_is_initiator
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:175,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:178,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:180,1
    - Dst: dt_reader_free_frame
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:181,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:186,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:193,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:193,1
    - Dst: get_query_time
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:204,1
    - Dst: fill_remote_addr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:208,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:213,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:216,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:219,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:221,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:224,1
    - Dst: dt_reader_free_frame
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:225,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 1
    argNames:
    - query
    argTypes:
    - query_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 229
    functionName: process_dnstap
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - fill_remote_addr
    - knot_pkt_parse
    - print_packet
    - dt_message_role_is_initiator
    - ERR
    - knot_strerror
    - get_query_time
    - WARN
    - knot_pkt_new
    - net_clean
    - knot_pkt_free
    - printf
    - dt_reader_free_frame
    linkageType: ''
    returnType: int
    signature: int process_dnstap(const query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_set_do
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:243,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:248,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:251,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:258,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:261,1
    - Dst: knot_edns_client_subnet_write
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:271,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:273,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:277,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:280,1
    - Dst: knot_edns_cookie_write
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:290,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:292,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:296,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:299,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:307,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:308,1
    - Dst: knot_pkt_default_padding_size
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:311,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:315,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:317,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:320,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:327,1
    - Dst: knot_edns_add_option
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:329,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:332,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:338,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:340,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 3
    argNames:
    - packet
    - query
    - max_size
    argTypes:
    - knot_pkt_t*
    - query_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 344
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 344
    functionName: add_query_edns
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - knot_edns_cookie_write
    - knot_edns_set_do
    - knot_edns_client_subnet_write
    - knot_pkt_default_padding_size
    - knot_edns_alignment_size
    - memset
    - knot_pkt_put
    - knot_edns_add_option
    - knot_rrset_clear
    - knot_rrset_size
    linkageType: ''
    returnType: int
    signature: int add_query_edns(knot_pkt_t *packet, const query_t *query, uint16_t
      max_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - query
    argTypes:
    - query_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: do_padding
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool do_padding(const query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_padding
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:358,1
    - Dst: ednsopt_list_empty
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - query
    argTypes:
    - query_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: use_edns
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - do_padding
    - ednsopt_list_empty
    linkageType: ''
    returnType: bool
    signature: bool use_edns(const query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_edns
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:367,1
    - Dst: create_empty_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:377,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:386,1
    - Dst: knot_wire_set_aa
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:392,1
    - Dst: knot_wire_set_tc
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:395,1
    - Dst: knot_wire_set_rd
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:398,1
    - Dst: knot_wire_set_ra
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:401,1
    - Dst: knot_wire_set_z
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:404,1
    - Dst: knot_wire_set_ad
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:407,1
    - Dst: knot_wire_set_cd
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:410,1
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:415,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:421,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:423,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:424,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:431,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:432,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:440,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:442,1
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:449,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:454,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:456,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:463,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:464,1
    - Dst: knot_soa_serial_set
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:469,1
    - Dst: knot_pkt_put
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:471,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:473,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:474,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:478,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:480,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:484,1
    - Dst: use_edns
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:487,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:490,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:491,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 1
    argNames:
    - query
    argTypes:
    - query_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 497
    functionName: create_query_packet
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - create_empty_packet
    - knot_rrset_free
    - knot_pkt_begin
    - knot_pkt_free
    - use_edns
    - knot_wire_set_rd
    - knot_pkt_put
    - knot_wire_set_id
    - knot_rrset_new
    - free
    - knot_dname_from_str_alloc
    - knot_wire_set_z
    - knot_wire_set_cd
    - ERR
    - knot_wire_set_ad
    - knot_dname_free
    - knot_wire_set_opcode
    - knot_wire_set_ra
    - knot_wire_set_tc
    - knot_wire_set_aa
    - knot_soa_serial_set
    linkageType: ''
    returnType: knot_pkt_t
    signature: knot_pkt_t *create_query_packet(const query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - reply
    - query
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: check_reply_id
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - WARN
    linkageType: ''
    returnType: bool
    signature: "bool check_reply_id(const knot_pkt_t *reply,\n                           const
      knot_pkt_t *query)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:516,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reply
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: check_reply_qr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - WARN
    - knot_wire_get_qr
    linkageType: ''
    returnType: void
    signature: void check_reply_qr(const knot_pkt_t *reply)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:524,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:525,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:529,1
    - Dst: knot_pkt_wire_qname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:529,1
    - Dst: knot_pkt_wire_qname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:529,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:530,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:530,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:531,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:531,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - reply
    - query
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 535
    functionName: check_reply_question
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qclass
    - knot_pkt_qtype
    - knot_wire_get_qdcount
    - WARN
    - knot_pkt_wire_qname
    - knot_dname_is_equal
    linkageType: ''
    returnType: void
    signature: "void check_reply_question(const knot_pkt_t *reply,\n                                 const
      knot_pkt_t *query)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:539,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:545,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:550,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:550,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:551,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - reply
    - query
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 556
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 556
    functionName: first_serial_check
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - knot_dname_is_case_equal
    - WARN
    - knot_pkt_section
    - knot_soa_serial
    - knot_pkt_rr
    linkageType: ''
    returnType: int64_t
    signature: int64_t first_serial_check(const knot_pkt_t *reply, const knot_pkt_t
      *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:561,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:567,1
    - Dst: knot_dname_is_case_equal
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:574,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:574,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:575,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - serial
    - reply
    - query
    - msg_count
    - is_ixfr
    argTypes:
    - uint32_t
    - knot_pkt_t*
    - knot_pkt_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 580
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 580
    functionName: finished_xfr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qname
    - knot_dname_is_case_equal
    - WARN
    - knot_pkt_section
    - knot_soa_serial
    - knot_pkt_rr
    linkageType: ''
    returnType: bool
    signature: "bool finished_xfr(const uint32_t serial, const knot_pkt_t *reply,\n
      \                        const knot_pkt_t *query, const size_t msg_count, bool
      is_ixfr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:593,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pkt
    - query
    - ctx
    argTypes:
    - knot_pkt_t*
    - query_t*
    - sign_context_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: sign_query
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - sign_context_deinit
    - sign_packet
    linkageType: ''
    returnType: int
    signature: int sign_query(knot_pkt_t *pkt, const query_t *query, sign_context_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - net
    - query
    argTypes:
    - net_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 607
    functionName: net_close_keepopen
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - net_close
    linkageType: ''
    returnType: void
    signature: void net_close_keepopen(net_t *net, const query_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:624,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:625,1
    - Dst: net_connect
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:629,1
    - Dst: net_send
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:636,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:638,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:643,1
    - Dst: time_diff
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:646,1
    - Dst: write_dnstap
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:650,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:657,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:659,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:660,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:661,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:664,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:666,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:668,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:671,1
    - Dst: net_receive
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:679,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:680,1
    - Dst: time_diff
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:686,1
    - Dst: write_dnstap
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:690,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:695,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:697,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:697,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:702,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:704,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:704,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:706,1
    - Dst: check_reply_id
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:711,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:714,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:718,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:722,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:724,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:725,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:727,1
    - Dst: net_close_keepopen
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:728,1
    - Dst: process_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:732,1
    - Dst: check_reply_question
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:737,1
    - Dst: check_reply_qr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:740,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:745,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:745,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:748,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:749,1
    - Dst: print_packets_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:750,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:751,1
    - Dst: verify_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:756,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:758,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:759,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:764,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:765,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:766,1
    - Dst: net_close_keepopen
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:768,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:775,1
    - Dst: knot_edns_cookie_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:781,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:783,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:786,1
    - Dst: create_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:793,1
    - Dst: process_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:794,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:796,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:801,1
    - Dst: net_close_keepopen
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:802,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:809,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:809,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:812,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:813,1
    - Dst: print_packets_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:814,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:815,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:818,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:819,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 124
    argCount: 6
    argNames:
    - query
    - net
    - query_ctx
    - ignore_tc
    - sign_ctx
    - style
    argTypes:
    - knot_pkt_t*
    - net_t*
    - query_t*
    - bool
    - sign_context_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 822
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 822
    functionName: process_query_packet
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 1
    functionsReached:
    - net_close
    - knot_pkt_parse
    - net_receive
    - time
    - net_close_keepopen
    - knot_pkt_free
    - net_send
    - knot_wire_get_tc
    - printf
    - print_packet
    - time_diff
    - knot_strerror
    - knot_edns_cookie_parse
    - verify_packet
    - write_dnstap
    - WARN
    - process_query_packet
    - print_packets_json
    - ERR
    - check_reply_qr
    - check_reply_id
    - net_connect
    - time_diff_ms
    - check_reply_question
    - create_query_packet
    - time_now
    - knot_pkt_ext_rcode
    - knot_pkt_new
    linkageType: ''
    returnType: int
    signature: "int process_query_packet(const knot_pkt_t      *query,\n                                net_t
      \                *net,\n                                const query_t         *query_ctx,\n
      \                               const bool            ignore_tc,\n                                const
      sign_context_t  *sign_ctx,\n                                const style_t         *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:831,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:833,1
    - Dst: sign_query
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:839,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:841,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:841,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:847,1
    - Dst: process_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:850,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:860,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:864,1
    - Dst: get_sockname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:867,1
    - Dst: net_init
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:872,1
    - Dst: net_init_crypto
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:887,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:890,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:891,1
    - Dst: process_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:895,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:904,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:919,1
    - Dst: get_sockname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:921,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:924,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:928,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:931,1
    - Dst: get_sockname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:932,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:936,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:943,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:945,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:946,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:949,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 2
    argNames:
    - query
    - net
    argTypes:
    - query_t*
    - net_t*
    constantsTouched: []
    func_position:
      end: 953
      start: 824
    functionDepth: 4
    functionLinenumber: 824
    functionLinenumberEnd: 953
    functionName: process_query
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 2
    functionsReached:
    - create_query_packet
    - WALK_LIST
    - ERR
    - sign_context_deinit
    - knot_strerror
    - get_sockname
    - net_init_crypto
    - DBG
    - sign_query
    - net_clean
    - knot_pkt_free
    - WARN
    - process_query_packet
    - printf
    - net_init
    linkageType: ''
    returnType: int
    signature: int process_query(const query_t *query, net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:974,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:975,1
    - Dst: net_connect
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:979,1
    - Dst: net_send
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:986,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:988,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:993,1
    - Dst: time_diff
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:996,1
    - Dst: write_dnstap
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1000,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1007,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1009,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1010,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1011,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1014,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1016,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1018,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1021,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1028,1
    - Dst: net_receive
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1031,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1032,1
    - Dst: time_diff
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1038,1
    - Dst: write_dnstap
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1042,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1047,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1049,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1049,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1054,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1056,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1056,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1058,1
    - Dst: check_reply_id
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1063,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1064,1
    - Dst: print_header_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1071,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1073,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1074,1
    - Dst: print_header_xfr_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1075,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1076,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1081,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1082,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1083,1
    - Dst: verify_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1091,1
    - Dst: print_data_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1099,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1102,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1103,1
    - Dst: first_serial_check
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1109,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1112,1
    - Dst: check_reply_question
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1118,1
    - Dst: check_reply_qr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1121,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1125,1
    - Dst: print_data_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1130,1
    - Dst: print_data_xfr_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1132,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1136,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1137,1
    - Dst: finished_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1142,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1143,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1147,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1152,1
    - Dst: print_footer_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1154,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1155,1
    - Dst: print_footer_xfr_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1157,1
    - Dst: net_close_keepopen
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1160,1
    - Dst: time_now
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1166,1
    - Dst: print_data_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1168,1
    - Dst: print_footer_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1169,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1170,1
    - Dst: print_data_xfr_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1172,1
    - Dst: print_footer_xfr_json
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1173,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1176,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1177,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1178,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 138
    argCount: 5
    argNames:
    - query
    - net
    - query_ctx
    - sign_ctx
    - style
    argTypes:
    - knot_pkt_t*
    - net_t*
    - query_t*
    - sign_context_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 1181
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 1181
    functionName: process_xfr_packet
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - net_close
    - knot_pkt_parse
    - net_receive
    - first_serial_check
    - time
    - net_close_keepopen
    - knot_pkt_free
    - knot_wire_get_ancount
    - usleep
    - net_send
    - knot_wire_get_tc
    - printf
    - knot_pkt_ext_rcode_name
    - print_footer_xfr_json
    - print_packet
    - time_diff
    - knot_strerror
    - free
    - print_data_xfr
    - verify_packet
    - write_dnstap
    - WARN
    - print_header_xfr_json
    - print_footer_xfr
    - print_header_xfr
    - ERR
    - check_reply_qr
    - check_reply_id
    - net_connect
    - time_diff_ms
    - check_reply_question
    - print_data_xfr_json
    - time_now
    - knot_pkt_ext_rcode
    - knot_pkt_new
    - finished_xfr
    linkageType: ''
    returnType: int
    signature: "int process_xfr_packet(const knot_pkt_t      *query,\n                              net_t
      \                *net,\n                              const query_t         *query_ctx,\n
      \                             const sign_context_t  *sign_ctx,\n                              const
      style_t         *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_query_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1189,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1191,1
    - Dst: sign_query
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1197,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1199,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1199,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1205,1
    - Dst: process_xfr_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1208,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1218,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1221,1
    - Dst: get_sockname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1224,1
    - Dst: net_init
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1227,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1232,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1233,1
    - Dst: net_init_crypto
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1239,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1242,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1243,1
    - Dst: process_xfr_packet
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1247,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1261,1
    - Dst: get_sockname
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1262,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1266,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1268,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1269,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - query
    - net
    argTypes:
    - query_t*
    - net_t*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1272
    functionName: process_xfr
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 0
    functionsReached:
    - create_query_packet
    - ERR
    - sign_context_deinit
    - knot_strerror
    - get_sockname
    - net_init_crypto
    - DBG
    - sign_query
    - knot_pkt_free
    - net_clean
    - HEAD
    - process_xfr_packet
    - net_init
    linkageType: ''
    returnType: int
    signature: int process_xfr(const query_t *query, net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1287,1
    - Dst: process_query
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1293,1
    - Dst: process_xfr
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1296,1
    - Dst: process_dnstap
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1300,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1304,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1315,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1320,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/kdig/kdig_exec.c:1321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - params
    argTypes:
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1274
    functionDepth: 5
    functionLinenumber: 1274
    functionLinenumberEnd: 1325
    functionName: kdig_exec
    functionSourceFile: /src/knot-dns/src/utils/kdig/kdig_exec.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - net_close
    - ERR
    - process_xfr
    - net_clean
    - printf
    - process_dnstap
    - process_query
    linkageType: ''
    returnType: int
    signature: int kdig_exec(const kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: clear_stats
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_stats(kxdpgun_stats_t *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect_periodic_stats
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - into
    - what
    argTypes:
    - kxdpgun_stats_t*
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: collect_stats
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - collect_periodic_stats
    linkageType: ''
    returnType: size_t
    signature: size_t collect_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - into
    - what
    argTypes:
    - kxdpgun_stats_t*
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: collect_periodic_stats
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void collect_periodic_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t
      *what)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:53,1
    - Dst: knot_eth_xdp_mode
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:58,1
    - Dst: if_nametoindex
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:58,1
    - Dst: puts
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: plain_stats_header
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - puts
    - INFO2
    - if_nametoindex
    - knot_eth_xdp_mode
    linkageType: ''
    returnType: void
    signature: void plain_stats_header(const xdp_gun_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:70,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:72,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:73,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:74,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:75,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:76,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:78,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:81,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:84,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:86,1
    - Dst: jsonw_double
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:88,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:92,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:94,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:95,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:96,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:97,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:98,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:101,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:103,1
    - Dst: knot_eth_xdp_mode
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:103,1
    - Dst: if_nametoindex
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:103,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:107,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:109,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 112
    functionName: json_stats_header
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - jsonw_int
    - knot_eth_xdp_mode
    - jsonw_object
    - jsonw_list
    - jsonw_str
    - if_nametoindex
    - jsonw_double
    - jsonw_ulong
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: void json_stats_header(const xdp_gun_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:116,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:120,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:123,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:126,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:128,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - st
    argTypes:
    - xdp_gun_ctx_t*
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: plain_thrd_summary
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - INFO2
    - snprintf
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void plain_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t
      *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:136,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:140,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:142,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:143,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:144,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:145,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:146,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:147,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:148,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:150,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - st
    argTypes:
    - xdp_gun_ctx_t*
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: json_thrd_summary
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - jsonw_object
    - jsonw_str
    - jsonw_ulong
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: void json_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t
      *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - num
    - output
    argTypes:
    - uint64_t
    - char[]
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: format_with_separators
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void format_with_separators(uint64_t num, char output[static 64])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:174,1
    - Dst: format_with_separators
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:186,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:186,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:187,1
    - Dst: format_with_separators
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:192,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:192,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:193,1
    - Dst: pct
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:194,1
    - Dst: format_with_separators
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:196,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:196,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:197,1
    - Dst: pct
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:198,1
    - Dst: format_with_separators
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:200,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:200,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:201,1
    - Dst: pct
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:202,1
    - Dst: format_with_separators
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:205,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:205,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:206,1
    - Dst: pct
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:207,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:209,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:211,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:212,1
    - Dst: ps
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:212,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:216,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:219,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:225,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - st
    - stt
    argTypes:
    - xdp_gun_ctx_t*
    - kxdpgun_stats_t*
    - stats_type_t
    constantsTouched: []
    func_position:
      end: 229
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 229
    functionName: plain_stats
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - knot_lookup_by_id
    - format_with_separators
    - pct
    - ps
    - printf
    linkageType: ''
    returnType: void
    signature: void plain_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t
      stt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:235,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:239,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:241,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:242,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:243,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:244,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:245,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:246,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:249,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:253,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:254,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:258,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:261,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:263,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:264,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:265,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:266,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:268,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:275,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/stats.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - st
    - stt
    argTypes:
    - xdp_gun_ctx_t*
    - kxdpgun_stats_t*
    - stats_type_t
    constantsTouched: []
    func_position:
      end: 278
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 278
    functionName: json_stats
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/stats.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_lookup_by_id
    - jsonw_object
    - jsonw_str
    - jsonw_ulong
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: void json_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t
      stt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: addr_len
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t addr_len(int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ip
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: send_dummy_pkt
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int send_dummy_pkt(const struct sockaddr_storage *ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_socket_open
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:68,1
    - Dst: mnl_socket_bind
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:72,1
    - Dst: mnl_socket_close
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:73,1
    - Dst: mnl_nlmsg_put_header
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:81,1
    - Dst: mnl_nlmsg_put_extra_header
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:90,1
    - Dst: mnl_attr_put
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:99,1
    - Dst: mnl_socket_sendto
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:104,1
    - Dst: mnl_socket_recvfrom
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:111,1
    - Dst: mnl_cb_run
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:112,1
    - Dst: mnl_socket_close
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:123,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 7
    argNames:
    - family
    - type
    - cb
    - data
    - qextra
    - qextra_len
    - qextra_type
    argTypes:
    - int
    - uint16_t
    - mnl_cb_t
    - void*
    - void*
    - size_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 125
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 125
    functionName: netlink_query
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_socket_open
    - mnl_socket_bind
    - mnl_socket_sendto
    - mnl_nlmsg_put_extra_header
    - mnl_attr_put
    - mnl_socket_recvfrom
    - mnl_nlmsg_put_header
    - mnl_cb_run
    - mnl_socket_close
    linkageType: ''
    returnType: int
    signature: "int netlink_query(int family, uint16_t type, mnl_cb_t cb, void *data,\n
      \                        void *qextra, size_t qextra_len, uint16_t qextra_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_attr_type_valid
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:142,1
    - Dst: mnl_attr_validate
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:154,1
    - Dst: mnl_attr_validate2
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:162,1
    - Dst: addr_len
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:162,1
    - Dst: mnl_attr_validate
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - attr
    - data
    argTypes:
    - struct nlattr*
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 174
    functionName: validate_attr_route
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_attr_validate2
    - mnl_attr_validate
    - addr_len
    - mnl_attr_type_valid
    linkageType: ''
    returnType: int
    signature: int validate_attr_route(const struct nlattr *attr, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_attr_get_payload
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:184,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:185,1
    - Dst: mnl_attr_get_payload
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:187,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attr
    - family
    - out
    argTypes:
    - struct nlattr*
    - int
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: attr2addr
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mnl_attr_get_payload
    linkageType: ''
    returnType: void
    signature: void attr2addr(const struct nlattr *attr, int family, struct sockaddr_storage
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_indextoname
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:197,1
    - Dst: mnl_attr_get_u32
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - out
    argTypes:
    - struct nlattr*
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: attr2dev
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_attr_get_u32
    - if_indextoname
    linkageType: ''
    returnType: void
    signature: void attr2dev(const struct nlattr *attr, char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_attr_get_u32
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct nlattr*
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: attr2prio
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_attr_get_u32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t attr2prio(const struct nlattr *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_nlmsg_get_payload
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:212,1
    - Dst: mnl_attr_parse
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:217,1
    - Dst: attr2prio
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:220,1
    - Dst: attr2addr
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:226,1
    - Dst: sockaddr_net_match
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:229,1
    - Dst: attr2addr
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:230,1
    - Dst: attr2addr
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:231,1
    - Dst: attr2dev
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:232,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - nlh
    - data
    argTypes:
    - struct nlmsghdr*
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: ip_route_get_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - attr2prio
    - mnl_nlmsg_get_payload
    - attr2dev
    - sockaddr_net_match
    - attr2addr
    - mnl_attr_parse
    - memset
    linkageType: ''
    returnType: int
    signature: int ip_route_get_cb(const struct nlmsghdr *nlh, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ip
    - via
    - src
    - dev
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: ip_route_get
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ip_route_get(const struct sockaddr_storage *ip,\n                 struct
      sockaddr_storage *via,\n                 struct sockaddr_storage *src,\n                 char
      *dev)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_attr_type_valid
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:284,1
    - Dst: mnl_attr_validate2
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:293,1
    - Dst: addr_len
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:293,1
    - Dst: mnl_attr_validate2
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - attr
    - data
    argTypes:
    - struct nlattr*
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 306
    functionName: validate_attr_neigh
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_attr_validate2
    - addr_len
    - mnl_attr_type_valid
    linkageType: ''
    returnType: int
    signature: int validate_attr_neigh(const struct nlattr *attr, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mnl_nlmsg_get_payload
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:311,1
    - Dst: mnl_attr_parse
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:316,1
    - Dst: attr2addr
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:319,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:321,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:323,1
    - Dst: mnl_attr_get_payload
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:323,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nlh
    - data
    argTypes:
    - struct nlmsghdr*
    - void*
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: ip_neigh_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - mnl_nlmsg_get_payload
    - sockaddr_cmp
    - attr2addr
    - mnl_attr_parse
    - mnl_attr_get_payload
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ip_neigh_cb(const struct nlmsghdr *nlh, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/ip_route.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ip
    - dummy_sendto
    - mac
    argTypes:
    - struct sockaddr_storage*
    - bool
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: ip_neigh_get
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/ip_route.c
    functionUses: 0
    functionsReached:
    - usleep
    linkageType: ''
    returnType: int
    signature: int ip_neigh_get(const struct sockaddr_storage *ip, bool dummy_sendto,
      uint8_t *mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: sigterm_handler
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void sigterm_handler(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:81,1
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: sigusr_handler
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - assert
    - ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: void sigusr_handler(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ipv6
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: addr_bits
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned addr_bits(bool ipv6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:95,1
    - Dst: htobe32
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:97,1
    - Dst: be32toh
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - increment
    argTypes:
    - struct sockaddr_in*
    - struct sockaddr_in*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: shuffle_sockaddr4
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe32
    - be32toh
    linkageType: ''
    returnType: void
    signature: "void shuffle_sockaddr4(struct sockaddr_in *dst, struct sockaddr_in
      *src,\n                              uint64_t increment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:104,1
    - Dst: htobe64
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:108,1
    - Dst: be64toh
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - increment
    argTypes:
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: shuffle_sockaddr6
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - be64toh
    - htobe64
    linkageType: ''
    returnType: void
    signature: "void shuffle_sockaddr6(struct sockaddr_in6 *dst, struct sockaddr_in6
      *src,\n                              uint64_t increment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:116,1
    - Dst: shuffle_sockaddr6
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:118,1
    - Dst: shuffle_sockaddr4
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - src
    - port
    - increment
    argTypes:
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    - uint16_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: shuffle_sockaddr
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - shuffle_sockaddr6
    - htobe16
    - shuffle_sockaddr4
    linkageType: ''
    returnType: void
    signature: "void shuffle_sockaddr(struct sockaddr_in6 *dst, struct sockaddr_in6
      *src,\n                             uint16_t port, uint64_t increment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - payload
    - increment
    argTypes:
    - struct pkt_payload**
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: next_payload
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void next_payload(struct pkt_payload **payload, int increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:145,1
    - Dst: next_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - put_into
    - zero_copy
    - ctx
    - payl
    argTypes:
    - struct iovec*
    - bool
    - xdp_gun_ctx_t*
    - struct pkt_payload**
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: put_dns_payload
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - next_payload
    linkageType: ''
    returnType: void
    signature: "void put_dns_payload(struct iovec *put_into, bool zero_copy, xdp_gun_ctx_t
      *ctx,\n                            struct pkt_payload **payl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:154,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:163,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:164,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:167,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:168,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:172,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - local_port
    argTypes:
    - xdp_gun_ctx_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: get_rss_id
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_rss_id(xdp_gun_ctx_t *ctx, uint16_t local_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:184,1
    - Dst: get_rss_id
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - local_port
    argTypes:
    - xdp_gun_ctx_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: adjust_port
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - assert
    - get_rss_id
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t adjust_port(xdp_gun_ctx_t *ctx, uint16_t local_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shuffle_sockaddr
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:232,1
    - Dst: shuffle_sockaddr
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:233,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:235,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pkts
    - xsk
    - ctx
    - tick
    argTypes:
    - knot_xdp_msg_t*
    - struct knot_xdp_socket*
    - xdp_gun_ctx_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 243
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 243
    functionName: alloc_pkts
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - shuffle_sockaddr
    linkageType: ''
    returnType: unsigned
    signature: "unsigned alloc_pkts(knot_xdp_msg_t *pkts, struct knot_xdp_socket *xsk,\n
      \                          xdp_gun_ctx_t *ctx, uint64_t tick)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - payl
    - ctx
    - st
    argTypes:
    - struct iovec*
    - xdp_gun_ctx_t*
    - kxdpgun_stats_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: check_dns_payload
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool check_dns_payload(struct iovec *payl, xdp_gun_ctx_t *ctx,\n                                     kxdpgun_stats_t
      *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:274,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:275,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:276,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 282
    functionName: quic_alloc_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int quic_alloc_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_reply_alloc
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: quic_reply_alloc_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - knot_xdp_reply_alloc
    linkageType: ''
    returnType: int
    signature: int quic_reply_alloc_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: quic_send_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - knot_xdp_send
    linkageType: ''
    returnType: int
    signature: int quic_send_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_xdp_send_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rpl
    argTypes:
    - knot_quic_reply_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: quic_free_cb
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - knot_xdp_send_free
    linkageType: ''
    returnType: void
    signature: void quic_free_cb(knot_quic_reply_t *rpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: timestamp_ns
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t timestamp_ns(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: timer_start
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void timer_start(struct timespec *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - start
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: timer_end_ns
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t timer_end_ns(const struct timespec *start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:337,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:340,1
    - Dst: knot_tcp_table_new
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:344,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:346,1
    - Dst: knot_creds_init_peer
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:352,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:354,1
    - Dst: knot_quic_table_new
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:357,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:360,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:366,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:376,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:379,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:381,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:382,1
    - Dst: STATS_HDR
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:387,1
    - Dst: knot_xdp_socket_fd
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:390,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:393,1
    - Dst: next_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:398,1
    - Dst: htobe16
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:420,1
    - Dst: adjust_port
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:426,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:428,1
    - Dst: timestamp_ns
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:433,1
    - Dst: timer_start
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:434,1
    - Dst: knot_xdp_send_prepare
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:441,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:454,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:455,1
    - Dst: rem_node
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:457,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:458,1
    - Dst: put_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:460,1
    - Dst: knot_tcp_reply_data
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:461,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:465,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:471,1
    - Dst: htobe16
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:477,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:481,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:482,1
    - Dst: rem_node
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:484,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:485,1
    - Dst: HEAD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:485,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:486,1
    - Dst: knot_quic_conn_local_port
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:490,1
    - Dst: knot_quic_client
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:495,1
    - Dst: knot_quic_stream_add_data
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:500,1
    - Dst: put_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:504,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:506,1
    - Dst: rem_node
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:510,1
    - Dst: knot_quic_session_load
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:511,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:514,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:521,1
    - Dst: put_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:526,1
    - Dst: knot_xdp_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:532,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:536,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:545,1
    - Dst: knot_xdp_recv
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:556,1
    - Dst: knot_tcp_recv
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:565,1
    - Dst: put_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:578,1
    - Dst: knot_tcp_reply_data
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:579,1
    - Dst: check_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:596,1
    - Dst: malloc
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:600,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:601,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:602,1
    - Dst: knot_tcp_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:610,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:614,1
    - Dst: knot_tcp_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:616,1
    - Dst: knot_quic_handle
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:628,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:631,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:635,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:640,1
    - Dst: knot_quic_session_available
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:644,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:647,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:656,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:657,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:664,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:667,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:668,1
    - Dst: knot_quic_stream_get_process
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:674,1
    - Dst: check_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:676,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:680,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:681,1
    - Dst: knot_quic_conn_stream_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:687,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:689,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:692,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:702,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:704,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:705,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:706,1
    - Dst: knot_xdp_send_finish
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:712,1
    - Dst: check_dns_payload
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:716,1
    - Dst: knot_xdp_recv_finish
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:720,1
    - Dst: knot_quic_table_sweep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:727,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:737,1
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:738,1
    - Dst: collect_periodic_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:752,1
    - Dst: clear_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:753,1
    - Dst: collect_periodic_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:756,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:760,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:762,1
    - Dst: STATS_FMT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:764,1
    - Dst: JSON_MODE
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:765,1
    - Dst: puts
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:766,1
    - Dst: clear_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:768,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:769,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:771,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:774,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:777,1
    - Dst: timer_end_ns
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:781,1
    - Dst: collect_periodic_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:782,1
    - Dst: STATS_THRD
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:784,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:786,1
    - Dst: collect_stats
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:787,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:788,1
    - Dst: knot_xdp_deinit
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:791,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:794,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:796,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:798,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:798,1
    - Dst: knot_tcp_table_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:800,1
    - Dst: knot_quic_table_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:803,1
    - Dst: knot_quic_session_load
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:806,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:808,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 343
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 812
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 812
    functionName: xdp_gun_thread
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - knot_quic_table_sweep
    - STATS_THRD
    - knot_tcp_send
    - pthread_mutex_unlock
    - knot_quic_send
    - knot_tcp_recv
    - collect_periodic_stats
    - knot_quic_stream_get_process
    - knot_tcp_cleanup
    - knot_quic_conn_stream_free
    - knot_creds_init_peer
    - usleep
    - knot_quic_handle
    - add_tail
    - ATOMIC_SET
    - ptrlist_deep_free
    - knot_quic_session_load
    - knot_xdp_socket_fd
    - init_list
    - knot_quic_client
    - knot_strerror
    - free
    - knot_creds_free
    - timestamp_ns
    - knot_quic_table_free
    - timer_end_ns
    - ptrlist_free
    - knot_quic_table_rem
    - htobe16
    - collect_stats
    - ptrlist_add
    - knot_quic_session_available
    - assert
    - knot_tcp_reply_data
    - ATOMIC_ADD
    - knot_xdp_send_prepare
    - pthread_mutex_lock
    - next_payload
    - rem_node
    - knot_xdp_send_finish
    - adjust_port
    - STATS_FMT
    - STATS_HDR
    - ERR2
    - HEAD
    - EMPTY_LIST
    - malloc
    - knot_quic_stream_add_data
    - check_dns_payload
    - knot_tcp_table_new
    - timer_start
    - knot_xdp_send
    - knot_quic_cleanup
    - knot_xdp_recv_finish
    - knot_tcp_table_free
    - knot_quic_conn_local_port
    - JSON_MODE
    - puts
    - put_dns_payload
    - poll
    - knot_quic_table_new
    - knot_xdp_deinit
    - memcpy
    - knot_xdp_recv
    - clear_stats
    linkageType: ''
    returnType: void
    signature: void *xdp_gun_thread(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:817,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:822,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:826,1
    - Dst: close
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dev
    - mac
    argTypes:
    - char*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 832
    functionName: dev2mac
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - close
    - strlcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int dev2mac(const char *dev, uint8_t *mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: mac_empty
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool mac_empty(const uint8_t *mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: mac_sscan
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int mac_sscan(const char *src, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:864,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:865,1
    - Dst: gai_strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:865,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:874,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:875,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - target_str
    - ctx
    argTypes:
    - char*
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 888
    functionName: resolve_name
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - assert
    - freeaddrinfo
    - ERR2
    - getaddrinfo
    - gai_strerror
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool resolve_name(char *target_str, xdp_gun_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:894,1
    - Dst: resolve_name
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:899,1
    - Dst: mac_empty
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:904,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:911,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:911,1
    - Dst: addr_bits
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:916,1
    - Dst: strrchr
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:918,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:919,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:925,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:926,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:930,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:931,1
    - Dst: mac_empty
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:937,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:943,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:944,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:945,1
    - Dst: mac_empty
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:950,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:953,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:953,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:962,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:963,1
    - Dst: knot_eth_rss
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:968,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:970,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:971,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - target_str
    - local_ip
    - ctx
    argTypes:
    - char*
    - char*
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 976
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 976
    functionName: configure_target
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - mac_empty
    - addr_bits
    - resolve_name
    - inet_pton
    - knot_strerror
    - sockaddr_tostr
    - atoi
    - ERR2
    - strrchr
    - knot_eth_rss
    - strerror
    - WARN2
    linkageType: ''
    returnType: bool
    signature: bool configure_target(char *target_str, char *local_ip, xdp_gun_ctx_t
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1015
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1022,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1073,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1076,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - char*
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1078
    functionName: sending_mode
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - ERR2
    linkageType: ''
    returnType: bool
    signature: bool sending_mode(const char *arg, xdp_gun_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1082,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1083,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1085,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1091,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - arg
    - config
    argTypes:
    - char*
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1104
    functionName: set_mode
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_mode(const char *arg, knot_xdp_config_t *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1140,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1143,1
    - Dst: exit
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1144,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1146,1
    - Dst: exit
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1147,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1149,1
    - Dst: atof
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1150,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1153,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1155,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1160,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1161,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1165,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1170,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1171,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1176,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1185,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1186,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1190,1
    - Dst: sending_mode
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1202,1
    - Dst: sending_mode
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1218,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1222,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1227,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1228,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1231,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1232,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1237,1
    - Dst: mac_sscan
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1249,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1250,1
    - Dst: mac_sscan
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1255,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1256,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1261,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1262,1
    - Dst: htobe16
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1265,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1267,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1272,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1273,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1277,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1282,1
    - Dst: set_mode
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1283,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1284,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1292,1
    - Dst: atoi
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1293,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1297,1
    - Dst: jsonw_new
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1302,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1303,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1308,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1313,1
    - Dst: load_queries
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1317,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1321,1
    - Dst: configure_target
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1329,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1334,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 192
    argCount: 3
    argNames:
    - argc
    - argv
    - ctx
    argTypes:
    - int
    - char*[]
    - xdp_gun_ctx_t*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1106
    functionDepth: 3
    functionLinenumber: 1106
    functionLinenumberEnd: 1340
    functionName: get_opts
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 0
    functionsReached:
    - exit
    - getopt_long
    - assert
    - mac_sscan
    - strlcpy
    - print_version
    - set_mode
    - print_help
    - load_queries
    - atoi
    - ERR2
    - strchr
    - sending_mode
    - jsonw_new
    - configure_target
    - htobe16
    - WARN2
    - atof
    linkageType: ''
    returnType: bool
    signature: bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1345,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1346,1
    - Dst: time
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1349,1
    - Dst: timestamp_ns
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1350,1
    - Dst: get_opts
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1354,1
    - Dst: JSON_MODE
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1358,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1359,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1362,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1363,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1365,1
    - Dst: linux_at_least
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1373,1
    - Dst: getrlimit
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1375,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1380,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1380,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1387,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1388,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1389,1
    - Dst: CPU_ZERO
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1394,1
    - Dst: CPU_SET
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1395,1
    - Dst: pthread_create
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1396,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1399,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1401,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1403,1
    - Dst: usleep
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1405,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1408,1
    - Dst: DURATION_US
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1410,1
    - Dst: JSON_MODE
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1411,1
    - Dst: puts
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1412,1
    - Dst: STATS_FMT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1414,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1416,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1421,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1422,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1423,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1424,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1425,1
    - Dst: free_global_payloads
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1426,1
    - Dst: JSON_MODE
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1427,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1428,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/utils/kxdpgun/main.c:1429,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1432
      start: 1342
    functionDepth: 4
    functionLinenumber: 1342
    functionLinenumberEnd: 1432
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/main.c
    functionUses: 3
    functionsReached:
    - calloc
    - time
    - linux_at_least
    - pthread_create
    - ATOMIC_DEINIT
    - usleep
    - getrlimit
    - CPU_ZERO
    - jsonw_list
    - free
    - jsonw_free
    - timestamp_ns
    - strerror
    - free_global_payloads
    - DURATION_US
    - get_opts
    - STATS_FMT
    - sigaction
    - pthread_join
    - ERR2
    - ATOMIC_INIT
    - WARN2
    - jsonw_end
    - CPU_SET
    - JSON_MODE
    - puts
    - pthread_mutex_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: free_global_payloads
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/load_queries.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_global_payloads(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:53,1
    - Dst: fgets
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:55,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:62,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:63,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:69,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:74,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:76,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:93,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:103,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:105,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:109,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 5
    argNames:
    - g_payloads_top_p
    - f
    - bufs
    - edns_size
    - msgid
    argTypes:
    - struct pkt_payload**
    - FILE*
    - txt_bufs_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 133
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 133
    functionName: read_txt
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/load_queries.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrtype_from_string
    - calloc
    - ERR2
    - strcspn
    - memcpy
    - fgets
    linkageType: ''
    returnType: int
    signature: "int read_txt(struct pkt_payload **g_payloads_top_p, FILE *f, txt_bufs_t
      *bufs,\n                    uint16_t edns_size, uint16_t msgid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:138,1
    - Dst: fread
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:141,1
    - Dst: ntohs
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:144,1
    - Dst: fread
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:145,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:148,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:150,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:154,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - g_payloads_top_p
    - f
    - bufs
    - msgid
    argTypes:
    - struct pkt_payload**
    - FILE*
    - bin_bufs_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: read_bin
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/load_queries.c
    functionUses: 0
    functionsReached:
    - assert
    - calloc
    - fread
    - ntohs
    - ERR2
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int read_bin(struct pkt_payload **g_payloads_top_p, FILE *f, bin_bufs_t
      *bufs,\n                    uint16_t msgid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:171,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:173,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:173,1
    - Dst: malloc
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:180,1
    - Dst: malloc
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:183,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:186,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:190,1
    - Dst: read_txt
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:199,1
    - Dst: read_bin
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:202,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:217,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:221,1
    - Dst: fclose
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:222,1
    - Dst: free_global_payloads
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:226,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:227,1
    - Dst: fclose
      Src: /src/knot-dns/src/utils/kxdpgun/load_queries.c:228,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - input
    - edns_size
    - msgid
    - maxcount
    argTypes:
    - input_t*
    - uint16_t
    - uint16_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 230
    functionName: load_queries
    functionSourceFile: /src/knot-dns/src/utils/kxdpgun/load_queries.c
    functionUses: 1
    functionsReached:
    - fopen
    - assert
    - fclose
    - free
    - ERR2
    - free_global_payloads
    - read_txt
    - strerror
    - malloc
    - read_bin
    linkageType: ''
    returnType: bool
    signature: bool load_queries(const input_t *input, uint16_t edns_size, uint16_t
      msgid, size_t maxcount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:141,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lp
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: dname_isvalid
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_dname_free
    - knot_dname_from_str_alloc
    linkageType: ''
    returnType: bool
    signature: bool dname_isvalid(const char *lp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:152,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:152,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:153,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:154,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:154,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:161,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - lp
    argTypes:
    - zs_scanner_t*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: parse_full_rr
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - ERR
    - strlen
    - knot_rrclass_to_string
    - zs_parse_all
    - zs_strerror
    linkageType: ''
    returnType: int
    signature: int parse_full_rr(zs_scanner_t *s, const char* lp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:175,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:190,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:194,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:195,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:205,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:210,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:225,1
    - Dst: is_space
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:233,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:234,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:236,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:240,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:249,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:251,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:254,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:257,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:258,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:264,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:265,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:270,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:272,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:275,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:279,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:280,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:283,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:287,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:288,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:294,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:295,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:299,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:299,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:300,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:301,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:301,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:302,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:305,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 96
    argCount: 3
    argNames:
    - s
    - lp
    - flags
    argTypes:
    - zs_scanner_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 308
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 308
    functionName: parse_partial_rr
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - zs_set_input_string
    - ERR
    - knot_rrclass_from_string
    - knot_rrtype_from_string
    - strlen
    - knot_dname_from_str
    - knot_dname_size
    - free
    - DBG
    - WARN
    - zs_parse_all
    - zs_strerror
    - strcspn
    - memcpy
    - tok_skipspace
    - is_space
    - strndup
    linkageType: ''
    returnType: int
    signature: int parse_partial_rr(zs_scanner_t *s, const char *lp, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:317,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:320,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:322,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:323,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:327,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:330,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:333,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:336,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:337,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - lp
    - default_port
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 340
    functionName: parse_host
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - srv_info_create
    - free
    - DBG
    - strcspn
    - tok_skipspace
    linkageType: ''
    returnType: srv_info_t
    signature: srv_info_t *parse_host(const char *lp, const char* default_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:345,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:348,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:355,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:356,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:357,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:361,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - s
    - target_list
    - mm
    argTypes:
    - zs_scanner_t*
    - list_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 367
    functionName: rr_list_append
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_strerror
    - knot_rrset_new
    - DBG
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int rr_list_append(zs_scanner_t *s, list_t *target_list, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:372,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:373,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - list
    argTypes:
    - knot_pkt_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: rr_list_to_packet
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - assert
    linkageType: ''
    returnType: int
    signature: int rr_list_to_packet(knot_pkt_t *dst, list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:392,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:395,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:395,1
    - Dst: knot_wire_set_opcode
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:396,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:397,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:400,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:406,1
    - Dst: rr_list_to_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:412,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:418,1
    - Dst: rr_list_to_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 425
    functionName: build_query
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_id
    - rr_list_to_packet
    - dnssec_random_uint16_t
    - knot_pkt_clear
    - knot_pkt_begin
    - knot_dname_free
    - knot_dname_from_str_alloc
    - knot_wire_set_opcode
    linkageType: ''
    returnType: int
    signature: int build_query(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:432,1
    - Dst: get_iptype
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:434,1
    - Dst: get_socktype
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:435,1
    - Dst: net_init_crypto
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:445,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:447,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:447,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:448,1
    - Dst: net_connect
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:452,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:454,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:454,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:455,1
    - Dst: net_send
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:459,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:461,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:461,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:462,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:463,1
    - Dst: knot_pkt_clear
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:468,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:473,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:473,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:474,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:475,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:481,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 485
    functionName: pkt_sendrecv
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - net_close
    - ERR
    - get_socktype
    - get_iptype
    - knot_strerror
    - net_init_crypto
    - knot_pkt_clear
    - net_clean
    - net_connect
    - net_send
    - net_init
    linkageType: ''
    returnType: int
    signature: int pkt_sendrecv(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:504,1
    - Dst: TOK_S
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:505,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - line
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: knsupdate_process_line
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - DBG
    - TOK_S
    linkageType: ''
    returnType: int
    signature: int knsupdate_process_line(const char *line, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:514,1
    - Dst: isatty
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: is_terminal
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - assert
    - isatty
    linkageType: ''
    returnType: bool
    signature: bool is_terminal(FILE *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_terminal
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:522,1
    - Dst: interactive_loop
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:523,1
    - Dst: knot_getline
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:528,1
    - Dst: knsupdate_process_line
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:531,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:532,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:532,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:533,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:540,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - params
    - input
    argTypes:
    - knsupdate_params_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 545
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 545
    functionName: process_lines
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knsupdate_process_line
    - strlen
    - free
    - is_terminal
    - interactive_loop
    - memset
    - knot_getline
    linkageType: ''
    returnType: int
    signature: int process_lines(knsupdate_params_t *params, FILE *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:556,1
    - Dst: process_lines
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:557,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:562,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:564,1
    - Dst: process_lines
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:565,1
    - Dst: fopen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:572,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:574,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:575,1
    - Dst: process_lines
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:579,1
    - Dst: fclose
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 587
    functionName: knsupdate_exec
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - fopen
    - WALK_LIST
    - fclose
    - ERR
    - process_lines
    - EMPTY_LIST
    - strcmp
    - strerror
    linkageType: ''
    returnType: int
    signature: int knsupdate_exec(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:591,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:600,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:605,1
    - Dst: TOK_L
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 606
    functionName: cmd_update
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - TOK_L
    - tok_skipspace
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_update(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:610,1
    - Dst: parse_full_rr
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:612,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: cmd_add
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - parse_full_rr
    - rr_list_append
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_add(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:621,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:631,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 645
    functionName: cmd_del
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - rr_list_append
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_del(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:649,1
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:653,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 662
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 662
    functionName: cmd_class
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_rrclass_from_string
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_class(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:666,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:670,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:671,1
    - Dst: knsupdate_set_ttl
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 676
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 676
    functionName: cmd_ttl
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - str_to_u32
    - ERR
    - DBG
    - knsupdate_set_ttl
    linkageType: ''
    returnType: int
    signature: int cmd_ttl(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:680,1
    - Dst: msg_enable_debug
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - knsupdate_params_t *params
    argTypes:
    - char*
    - _unused_
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: cmd_debug
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - msg_enable_debug
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_debug(const char* lp, _unused_ knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:689,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: cmd_nxdomain
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - rr_list_append
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_nxdomain(const char *lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:705,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 717
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 717
    functionName: cmd_yxdomain
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - rr_list_append
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_yxdomain(const char *lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:721,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:731,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 739
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 739
    functionName: cmd_nxrrset
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - rr_list_append
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_nxrrset(const char *lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:743,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:753,1
    - Dst: rr_list_append
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: cmd_yxrrset
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - rr_list_append
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_yxrrset(const char *lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:769,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:778,1
    - Dst: TOK_S
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:778,1
    - Dst: tok_skipspace
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:779,1
    - Dst: TOK_L
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:779,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:780,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:781,1
    - Dst: cmd_nxdomain
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:788,1
    - Dst: cmd_yxdomain
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:791,1
    - Dst: cmd_nxrrset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:794,1
    - Dst: cmd_yxrrset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 804
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 804
    functionName: cmd_prereq
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - strlen
    - ERR
    - TOK_L
    - DBG
    - cmd_yxdomain
    - cmd_nxdomain
    - cmd_yxrrset
    - tok_skipspace
    - cmd_nxrrset
    - TOK_S
    linkageType: ''
    returnType: int
    signature: int cmd_prereq(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: cmd_exit
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_exit(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:817,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:818,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:821,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:828,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:828,1
    - Dst: sign_context_init_tsig
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:835,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:837,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:838,1
    - Dst: sign_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:842,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:844,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:845,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:846,1
    - Dst: pkt_sendrecv
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:855,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:863,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:868,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:870,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:870,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:871,1
    - Dst: verify_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:877,1
    - Dst: sign_context_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:878,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:880,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:882,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:882,1
    - Dst: knsupdate_reset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:888,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:891,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:892,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:893,1
    - Dst: knot_pkt_ext_rcode_name
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:894,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:897,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 901
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 901
    functionName: cmd_send
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knot_pkt_ext_rcode_name
    - knot_pkt_parse
    - print_packet
    - ERR
    - sign_context_deinit
    - sign_packet
    - knot_strerror
    - sign_context_init_tsig
    - DBG
    - verify_packet
    - knot_pkt_ext_rcode
    - pkt_sendrecv
    - knsupdate_reset
    linkageType: ''
    returnType: int
    signature: int cmd_send(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:905,1
    - Dst: dname_isvalid
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:908,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:909,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:913,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: cmd_zone
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - strdup
    - ERR
    - free
    - DBG
    - dname_isvalid
    linkageType: ''
    returnType: int
    signature: int cmd_zone(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:921,1
    - Dst: parse_host
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:924,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:926,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: cmd_server
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - parse_host
    - ERR
    - DBG
    - srv_info_free
    linkageType: ''
    returnType: int
    signature: int cmd_server(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:938,1
    - Dst: parse_host
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:941,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:943,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: cmd_local
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - parse_host
    - ERR
    - DBG
    - srv_info_free
    linkageType: ''
    returnType: int
    signature: int cmd_local(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:955,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:961,1
    - Dst: build_query
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:962,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:963,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 967
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 967
    functionName: cmd_show
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - printf
    - build_query
    - print_packet
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_show(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:971,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:977,1
    - Dst: print_packet
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 981
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 981
    functionName: cmd_answer
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - printf
    - print_packet
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_answer(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:985,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1003,1
    - Dst: knot_tsig_key_init_str
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1005,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1007,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 1013
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1013
    functionName: cmd_key
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - ERR
    - knot_tsig_key_init_str
    - free
    - DBG
    - knot_tsig_key_deinit
    linkageType: ''
    returnType: int
    signature: int cmd_key(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1017,1
    - Dst: dname_isvalid
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1020,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1021,1
    - Dst: knsupdate_set_origin
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lp
    - params
    argTypes:
    - char*
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1026
    functionName: cmd_origin
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - knsupdate_set_origin
    - ERR
    - DBG
    - dname_isvalid
    linkageType: ''
    returnType: int
    signature: int cmd_origin(const char* lp, knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1034,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - knsupdate_params_t *params
    argTypes:
    - char*
    - _unused_
    constantsTouched: []
    func_position:
      end: 1039
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1039
    functionName: cmd_gsstsig
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_gsstsig(const char* lp, _unused_ knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1043,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - knsupdate_params_t *params
    argTypes:
    - char*
    - _unused_
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: cmd_oldgsstsig
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_oldgsstsig(const char* lp, _unused_ knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1052,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - knsupdate_params_t *params
    argTypes:
    - char*
    - _unused_
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: cmd_realm
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_exec.c
    functionUses: 0
    functionsReached:
    - ERR
    - DBG
    linkageType: ''
    returnType: int
    signature: int cmd_realm(const char* lp, _unused_ knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:18,1
    - Dst: knsupdate_parse
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:21,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:23,1
    - Dst: knsupdate_exec
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:24,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:27,1
    - Dst: knsupdate_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_main.c
    functionUses: 4
    functionsReached:
    - knsupdate_clean
    - dnssec_crypto_init
    - tzset
    - dnssec_crypto_cleanup
    - knsupdate_parse
    - knsupdate_exec
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - EditLine*
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: prompt
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *prompt(EditLine *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:23,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: print_commands
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_commands(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:40,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:46,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - el
    - str
    - str_len
    argTypes:
    - EditLine*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: cmds_lookup
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c
    functionUses: 0
    functionsReached:
    - lookup_insert
    - lookup_complete
    - lookup_deinit
    linkageType: ''
    returnType: void
    signature: void cmds_lookup(EditLine *el, const char *str, size_t str_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: el_line
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:57,1
    - Dst: tok_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:58,1
    - Dst: print_commands
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:68,1
    - Dst: cmds_lookup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:74,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:80,1
    - Dst: tok_reset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:88,1
    - Dst: tok_end
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - el
    - ch
    argTypes:
    - EditLine*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: complete
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c
    functionUses: 1
    functionsReached:
    - el_line
    - tok_reset
    - tok_end
    - strcmp
    - cmds_lookup
    - print_commands
    - tok_init
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char complete(EditLine *el, int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:99,1
    - Dst: INFO
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:102,1
    - Dst: el_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:105,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:107,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:108,1
    - Dst: history_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:112,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:114,1
    - Dst: el_end
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:115,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:116,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:121,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:122,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:123,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:124,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:126,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:127,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:128,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:129,1
    - Dst: el_source
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:130,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:134,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:136,1
    - Dst: el_gets
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:140,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:142,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:149,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:150,1
    - Dst: knsupdate_process_line
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:154,1
    - Dst: history_end
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:160,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:161,1
    - Dst: el_end
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 166
    functionName: interactive_loop
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_interactive.c
    functionUses: 1
    functionsReached:
    - knsupdate_process_line
    - el_init
    - ERR
    - sprintf_alloc
    - free
    - memcpy
    - INFO
    - el_end
    - history_end
    - history_init
    - el_gets
    - history
    - el_set
    - el_source
    linkageType: ''
    returnType: int
    signature: int interactive_loop(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:57,1
    - Dst: va_end
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:59,1
    - Dst: zs_set_input_string
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:66,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - zs_scanner_t*
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: parser_set_default
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 0
    functionsReached:
    - zs_parse_all
    - zs_set_input_string
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int parser_set_default(zs_scanner_t *s, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:76,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:79,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:80,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:81,1
    - Dst: tls_params_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:83,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:86,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:89,1
    - Dst: zs_init
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:101,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:102,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:103,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:111,1
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 115
    functionName: knsupdate_init
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 0
    functionsReached:
    - zs_deinit
    - mm_ctx_mempool
    - srv_info_create
    - tls_params_init
    - zs_set_processing
    - knot_pkt_new
    - zs_init
    - memset
    - init_list
    linkageType: ''
    returnType: int
    signature: int knsupdate_init(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knsupdate_reset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:124,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:127,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:129,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:130,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:131,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:132,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:133,1
    - Dst: knot_pkt_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:134,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:135,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:137,1
    - Dst: quic_params_clean
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:138,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:141,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: knsupdate_clean
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 1
    functionsReached:
    - zs_deinit
    - free
    - tls_params_clean
    - quic_params_clean
    - mp_delete
    - srv_info_free
    - knot_pkt_free
    - knot_tsig_key_deinit
    - ptrlist_free
    - memset
    - knsupdate_reset
    linkageType: ''
    returnType: void
    signature: void knsupdate_clean(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:148,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:149,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:152,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:154,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - list
    - mm
    argTypes:
    - list_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: rr_list_free
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - assert
    - knot_rrset_free
    - ptrlist_free
    linkageType: ''
    returnType: void
    signature: void rr_list_free(list_t *list, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_list_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:162,1
    - Dst: rr_list_free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - knsupdate_params_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: knsupdate_reset
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 2
    functionsReached:
    - rr_list_free
    linkageType: ''
    returnType: void
    signature: void knsupdate_reset(knsupdate_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:233,1
    - Dst: msg_enable_debug
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:236,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:239,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:252,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:253,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:263,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:264,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:268,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:272,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:274,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:275,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:278,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:280,1
    - Dst: params_parse_wait
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:285,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:287,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:292,1
    - Dst: knot_tsig_key_init_str
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:293,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:295,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:300,1
    - Dst: knot_tsig_key_init_file
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:301,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:303,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:308,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:309,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:310,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:313,1
    - Dst: knot_base64_decode
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:315,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:315,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:317,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:320,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:329,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:331,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:341,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:341,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:342,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:347,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:348,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:349,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:352,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:353,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:354,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:357,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:358,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:359,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:362,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:382,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 145
    argCount: 3
    argNames:
    - params
    - argc
    - argv
    argTypes:
    - knsupdate_params_t*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 386
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 386
    functionName: knsupdate_parse
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 1
    functionsReached:
    - msg_enable_debug
    - strdup
    - assert
    - getopt_long
    - knot_tsig_key_init_file
    - ERR
    - strlen
    - knot_tsig_key_init_str
    - free
    - print_version
    - print_help
    - str_to_u32
    - knot_base64_decode
    - params_parse_wait
    - knot_tsig_key_deinit
    - memcpy
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:392,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - params
    - ttl
    argTypes:
    - knsupdate_params_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: knsupdate_set_ttl
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 1
    functionsReached:
    - zs_strerror
    - ERR
    linkageType: ''
    returnType: int
    signature: int knsupdate_set_ttl(knsupdate_params_t *params, const uint32_t ttl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:403,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:406,1
    - Dst: zs_strerror
      Src: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - params
    - origin
    argTypes:
    - knsupdate_params_t*
    - char*
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: knsupdate_set_origin
    functionSourceFile: /src/knot-dns/src/utils/knsupdate/knsupdate_params.c
    functionUses: 1
    functionsReached:
    - zs_strerror
    - free
    - ERR
    linkageType: ''
    returnType: int
    signature: int knsupdate_set_origin(knsupdate_params_t *params, const char *origin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:45,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: print_dname
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_dname_to_str
    linkageType: ''
    returnType: void
    signature: void print_dname(const knot_dname_t *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:52,1
    - Dst: print_dname
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:55,1
    - Dst: print_dname
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:56,1
    - Dst: print_dname
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:57,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - mem
    - ow
    - cz
    - group
    - ctx
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - knot_dname_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: catalog_print_cb
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 0
    functionsReached:
    - printf
    - print_dname
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: "int catalog_print_cb(const knot_dname_t *mem, const knot_dname_t *ow,\n
      \                           const knot_dname_t *cz, const char *group, void
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:67,1
    - Dst: catalog_apply
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:72,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:75,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:75,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cat
    argTypes:
    - catalog_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: catalog_print
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - printf
    - catalog_apply
    - ERR2
    linkageType: ''
    returnType: void
    signature: void catalog_print(catalog_t *cat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:85,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: params_cleanup
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void params_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal_init_std
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:105,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:108,1
    - Dst: util_conf_init_file
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:111,1
    - Dst: util_conf_init_confdb
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:116,1
    - Dst: util_conf_init_justdb
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:121,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:126,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:127,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:128,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:131,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:132,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:133,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:136,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:139,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:142,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:148,1
    - Dst: util_conf_init_default
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:152,1
    - Dst: catalog_init
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:157,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:158,1
    - Dst: catalog_print
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:159,1
    - Dst: catalog_deinit
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:160,1
    - Dst: params_cleanup
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:163,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:164,1
    - Dst: params_cleanup
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:167,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kcatalogprint/main.c:168,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 170
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kcatalogprint/main.c
    functionUses: 4
    functionsReached:
    - getopt_long
    - free
    - print_version
    - print_help
    - signal_init_std
    - catalog_deinit
    - util_conf_init_justdb
    - util_conf_init_default
    - util_conf_init_confdb
    - catalog_init
    - catalog_print
    - params_cleanup
    - knot_dname_from_str_alloc
    - util_conf_init_file
    - knot_dname_to_lower
    - util_conf_deinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:28,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:29,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:30,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:39,1
    - Dst: hex_to_bin
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - str
    - salt
    argTypes:
    - char*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: str_to_salt
    functionSourceFile: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c
    functionUses: 0
    functionsReached:
    - hex_to_bin
    - strcmp
    linkageType: ''
    returnType: int
    signature: int str_to_salt(const char *str, dnssec_binary_t *salt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:57,1
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:62,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:64,1
    - Dst: str_to_salt
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:69,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:71,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:71,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:76,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - params
    - salt_str
    - algorithm_str
    - iterations_str
    argTypes:
    - dnssec_nsec3_params_t*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: parse_nsec3_params
    functionSourceFile: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_free
    - str_to_salt
    - knot_strerror
    - ERR2
    - str_to_u16
    linkageType: ''
    returnType: bool
    signature: "bool parse_nsec3_params(dnssec_nsec3_params_t *params, const char
      *salt_str,\n\t\t\t       const char *algorithm_str, const char *iterations_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:101,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:104,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:107,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:110,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:121,1
    - Dst: parse_nsec3_params
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:133,1
    - Dst: parse_nsec3_params
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:137,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:142,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:144,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:147,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:148,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:152,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:152,1
    - Dst: knot_base32hex_encode_alloc
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:156,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:158,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:158,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:165,1
    - Dst: dnssec_nsec3_params_free
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:170,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:171,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:172,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c:173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 176
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/knsec3hash/knsec3hash.c
    functionUses: 4
    functionsReached:
    - getopt_long
    - dnssec_binary_free
    - knot_strerror
    - print_version
    - knot_dname_size
    - print_help
    - ERR2
    - parse_nsec3_params
    - knot_base32hex_encode_alloc
    - knot_dname_from_str_alloc
    - dnssec_nsec3_params_free
    - printf
    - knot_dname_to_lower
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/utils/common/util_conf.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: util_conf_initialized
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 0
    functionsReached:
    - conf
    linkageType: ''
    returnType: bool
    signature: bool util_conf_initialized(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_conf_initialized
      Src: /src/knot-dns/src/utils/common/util_conf.c:24,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/common/util_conf.c:25,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/common/util_conf.c:26,1
    - Dst: log_init
      Src: /src/knot-dns/src/utils/common/util_conf.c:37,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/common/util_conf.c:38,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/common/util_conf.c:39,1
    - Dst: LOG_UPTO
      Src: /src/knot-dns/src/utils/common/util_conf.c:39,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/common/util_conf.c:40,1
    - Dst: log_flag_set
      Src: /src/knot-dns/src/utils/common/util_conf.c:41,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/common/util_conf.c:46,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/util_conf.c:47,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/common/util_conf.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - confdb
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: util_conf_init_confdb
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 2
    functionsReached:
    - conf_update
    - util_conf_deinit
    - knot_strerror
    - ERR2
    - LOG_UPTO
    - util_conf_initialized
    - log_levels_set
    - log_flag_set
    - log_init
    linkageType: ''
    returnType: int
    signature: int util_conf_init_confdb(const char *confdb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/common/util_conf.c:61,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/common/util_conf.c:61,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/common/util_conf.c:63,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/util_conf.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conffile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: util_conf_init_file
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 2
    functionsReached:
    - knot_strerror
    - conf_import
    - conf
    - ERR2
    linkageType: ''
    returnType: int
    signature: int util_conf_init_file(const char *conffile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/common/util_conf.c:83,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/common/util_conf.c:83,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/util_conf.c:84,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/common/util_conf.c:86,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/util_conf.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - db_type
    - db_path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: util_conf_init_justdb
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 1
    functionsReached:
    - knot_strerror
    - conf_import
    - conf
    - free
    - ERR2
    linkageType: ''
    returnType: int
    signature: int util_conf_init_justdb(const char *db_type, const char *db_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util_conf_initialized
      Src: /src/knot-dns/src/utils/common/util_conf.c:94,1
    - Dst: conf_db_exists
      Src: /src/knot-dns/src/utils/common/util_conf.c:96,1
    - Dst: util_conf_init_confdb
      Src: /src/knot-dns/src/utils/common/util_conf.c:97,1
    - Dst: stat
      Src: /src/knot-dns/src/utils/common/util_conf.c:98,1
    - Dst: util_conf_init_file
      Src: /src/knot-dns/src/utils/common/util_conf.c:99,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/common/util_conf.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - allow_db
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: util_conf_init_default
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 2
    functionsReached:
    - ERR2
    - util_conf_init_confdb
    - util_conf_initialized
    - stat
    - conf_db_exists
    - util_conf_init_file
    linkageType: ''
    returnType: int
    signature: int util_conf_init_default(bool allow_db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_user
      Src: /src/knot-dns/src/utils/common/util_conf.c:110,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/common/util_conf.c:110,1
    - Dst: getgid
      Src: /src/knot-dns/src/utils/common/util_conf.c:116,1
    - Dst: setregid
      Src: /src/knot-dns/src/utils/common/util_conf.c:117,1
    - Dst: getuid
      Src: /src/knot-dns/src/utils/common/util_conf.c:119,1
    - Dst: setreuid
      Src: /src/knot-dns/src/utils/common/util_conf.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: util_update_privileges
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 0
    functionsReached:
    - conf_user
    - conf
    - getgid
    - getuid
    - setreuid
    - setregid
    linkageType: ''
    returnType: void
    signature: void util_update_privileges(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_close
      Src: /src/knot-dns/src/utils/common/util_conf.c:126,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/common/util_conf.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: util_conf_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/util_conf.c
    functionUses: 3
    functionsReached:
    - conf_update
    - log_close
    linkageType: ''
    returnType: void
    signature: void util_conf_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/https.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - https_params_t*
    - https_params_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: https_params_copy
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 1
    functionsReached:
    - strdup
    linkageType: ''
    returnType: int
    signature: int https_params_copy(https_params_t *dst, const https_params_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - https_params_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: https_params_clean
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void https_params_clean(https_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: https_status_is_redirect
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool https_status_is_redirect(unsigned long status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:93,1
    - Dst: gnutls_record_cork
      Src: /src/knot-dns/src/utils/common/https.c:98,1
    - Dst: gnutls_record_send
      Src: /src/knot-dns/src/utils/common/https.c:99,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - session
    - data
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: https_send_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - WARN
    - assert
    - gnutls_record_send
    - gnutls_record_cork
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t https_send_callback(nghttp2_session *session, const uint8_t
      *data,\n                                   size_t length, int flags, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:109,1
    - Dst: gnutls_record_check_corked
      Src: /src/knot-dns/src/utils/common/https.c:112,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/https.c:114,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:115,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/https.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: https_on_frame_send_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_strerror
    - WARN
    - gnutls_error_is_fatal
    - gnutls_record_check_corked
    linkageType: ''
    returnType: int
    signature: "int https_on_frame_send_callback(nghttp2_session *session, const nghttp2_frame
      *frame,\n                                        void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:125,1
    - Dst: gnutls_record_recv
      Src: /src/knot-dns/src/utils/common/https.c:135,1
    - Dst: is_read
      Src: /src/knot-dns/src/utils/common/https.c:136,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:140,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/https.c:142,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:143,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/https.c:144,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/https.c:146,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - session
    - data
    - length
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: https_recv_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - is_read
    - assert
    - gnutls_strerror
    - WARN
    - poll
    - gnutls_record_recv
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t https_recv_callback(nghttp2_session *session, uint8_t *data,
      size_t length,\n                                   int flags, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:158,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/https.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - data
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: https_on_data_chunk_recv_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: "int https_on_data_chunk_recv_callback(nghttp2_session *session, uint8_t
      flags, int32_t stream_id,\n                                             const
      uint8_t *data, size_t len, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: https_on_stream_close_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int https_on_stream_close_callback(nghttp2_session *session, int32_t
      stream_id, uint32_t error_code, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:186,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/utils/common/https.c:189,1
    - Dst: strtoul
      Src: /src/knot-dns/src/utils/common/https.c:192,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/utils/common/https.c:197,1
    - Dst: https_status_is_redirect
      Src: /src/knot-dns/src/utils/common/https.c:198,1
    - Dst: http_parser_parse_url
      Src: /src/knot-dns/src/utils/common/https.c:200,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/common/https.c:207,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/common/https.c:211,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/https.c:214,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:216,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:219,1
    - Dst: https_send_dns_query
      Src: /src/knot-dns/src/utils/common/https.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 224
    functionName: https_on_header_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - assert
    - strndup
    - free
    - WARN
    - http_parser_parse_url
    - https_status_is_redirect
    - https_send_dns_query
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int https_on_header_callback(nghttp2_session *session, const nghttp2_frame
      *frame,\n                                    const uint8_t *name, size_t namelen,\n
      \                                   const uint8_t *value, size_t valuelen,\n
      \                                   uint8_t flags, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_callbacks_new
      Src: /src/knot-dns/src/utils/common/https.c:239,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/knot-dns/src/utils/common/https.c:240,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/knot-dns/src/utils/common/https.c:241,1
    - Dst: nghttp2_session_callbacks_set_recv_callback
      Src: /src/knot-dns/src/utils/common/https.c:242,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/knot-dns/src/utils/common/https.c:243,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/knot-dns/src/utils/common/https.c:244,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/knot-dns/src/utils/common/https.c:245,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/knot-dns/src/utils/common/https.c:252,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/utils/common/https.c:254,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/https.c:260,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/https.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - tls_ctx
    - params
    argTypes:
    - https_ctx_t*
    - tls_ctx_t*
    - https_params_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 265
    functionName: https_ctx_init
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - strdup
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_set_send_callback
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_del
    - nghttp2_session_callbacks_set_recv_callback
    - nghttp2_session_callbacks_set_on_header_callback
    - pthread_mutex_init
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    linkageType: ''
    returnType: int
    signature: int https_ctx_init(https_ctx_t *ctx, tls_ctx_t *tls_ctx, const https_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/utils/common/https.c:284,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/https.c:289,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/utils/common/https.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - buf_len
    - ss
    argTypes:
    - char*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 310
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 310
    functionName: sockaddr_to_authority
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - knot_inet_ntop
    - strlen
    linkageType: ''
    returnType: int
    signature: int sockaddr_to_authority(char *buf, const size_t buf_len, const struct
      sockaddr_storage *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_settings
      Src: /src/knot-dns/src/utils/common/https.c:326,1
    - Dst: nghttp2_session_send
      Src: /src/knot-dns/src/utils/common/https.c:331,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/common/https.c:338,1
    - Dst: sockaddr_to_authority
      Src: /src/knot-dns/src/utils/common/https.c:339,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - fastopen
    - addr
    argTypes:
    - https_ctx_t*
    - int
    - bool
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 348
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 348
    functionName: https_ctx_connect
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - calloc
    - nghttp2_session_send
    - free
    - nghttp2_submit_settings
    - sockaddr_to_authority
    linkageType: ''
    returnType: int
    signature: "int https_ctx_connect(https_ctx_t *ctx, int sockfd, bool fastopen,\n
      \                     struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:352,1
    - Dst: nghttp2_submit_request
      Src: /src/knot-dns/src/utils/common/https.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - hdrs
    - hdrs_len
    - data_provider
    argTypes:
    - https_ctx_t*
    - nghttp2_nv*
    - size_t
    - nghttp2_data_provider*
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: https_send_dns_query_common
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - assert
    - nghttp2_submit_request
    linkageType: ''
    returnType: int
    signature: int https_send_dns_query_common(https_ctx_t *ctx, nghttp2_nv *hdrs,
      size_t hdrs_len, nghttp2_data_provider *data_provider)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/common/https.c:373,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/https.c:374,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:384,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:385,1
    - Dst: MAKE_NV
      Src: /src/knot-dns/src/utils/common/https.c:386,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/https.c:386,1
    - Dst: MAKE_NV
      Src: /src/knot-dns/src/utils/common/https.c:387,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:388,1
    - Dst: https_send_dns_query_common
      Src: /src/knot-dns/src/utils/common/https.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - https_ctx_t*
    constantsTouched: []
    func_position:
      end: 393
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 393
    functionName: https_send_dns_query_get
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - strlcat
    - strlen
    - strlcpy
    - MAKE_STATIC_NV
    - https_send_dns_query_common
    - MAKE_NV
    linkageType: ''
    returnType: int
    signature: int https_send_dns_query_get(https_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/https.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: https_send_data_callback
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t https_send_data_callback(nghttp2_session *session, int32_t
      stream_id,\n                                        uint8_t *buf, size_t length,
      uint32_t *data_flags,\n                                        nghttp2_data_source
      *source, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:419,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:422,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:423,1
    - Dst: MAKE_NV
      Src: /src/knot-dns/src/utils/common/https.c:424,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/https.c:424,1
    - Dst: MAKE_NV
      Src: /src/knot-dns/src/utils/common/https.c:425,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/https.c:425,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:426,1
    - Dst: MAKE_STATIC_NV
      Src: /src/knot-dns/src/utils/common/https.c:427,1
    - Dst: MAKE_NV
      Src: /src/knot-dns/src/utils/common/https.c:428,1
    - Dst: https_send_dns_query_common
      Src: /src/knot-dns/src/utils/common/https.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - https_ctx_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 443
    functionName: https_send_dns_query_post
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - MAKE_STATIC_NV
    - https_send_dns_query_common
    - MAKE_NV
    linkageType: ''
    returnType: int
    signature: int https_send_dns_query_post(https_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:454,1
    - Dst: https_send_dns_query_post
      Src: /src/knot-dns/src/utils/common/https.c:457,1
    - Dst: https_send_dns_query_get
      Src: /src/knot-dns/src/utils/common/https.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - https_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 461
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 461
    functionName: https_send_dns_query
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 1
    functionsReached:
    - https_send_dns_query_post
    - assert
    - https_send_dns_query_get
    linkageType: ''
    returnType: int
    signature: int https_send_dns_query(https_ctx_t *ctx, const uint8_t *buf, const
      size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/utils/common/https.c:469,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/common/https.c:475,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/utils/common/https.c:480,1
    - Dst: print_https
      Src: /src/knot-dns/src/utils/common/https.c:483,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/https.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - https_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 489
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 489
    functionName: https_recv_dns_response
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - print_https
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int https_recv_dns_response(https_ctx_t *ctx, uint8_t *buf, const size_t
      buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/knot-dns/src/utils/common/https.c:497,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/utils/common/https.c:499,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:500,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/https.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - https_ctx_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 504
    functionName: https_ctx_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 0
    functionsReached:
    - free
    - nghttp2_session_del
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void https_ctx_deinit(https_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/https.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - https_ctx_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: print_https
    functionSourceFile: /src/knot-dns/src/utils/common/https.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_https(const https_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_space
      Src: /src/knot-dns/src/utils/common/token.c:27,1
    - Dst: TOK_L
      Src: /src/knot-dns/src/utils/common/token.c:28,1
    - Dst: TOK_L
      Src: /src/knot-dns/src/utils/common/token.c:38,1
    - Dst: TOK_L
      Src: /src/knot-dns/src/utils/common/token.c:52,1
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/common/token.c:53,1
    - Dst: TOK_S
      Src: /src/knot-dns/src/utils/common/token.c:53,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 3
    argNames:
    - lp
    - tbl
    - lpm
    argTypes:
    - char*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 67
    functionName: tok_scan
    functionSourceFile: /src/knot-dns/src/utils/common/token.c
    functionUses: 0
    functionsReached:
    - TOK_S
    - TOK_L
    - is_space
    - memcmp
    linkageType: ''
    returnType: int
    signature: int tok_scan(const char* lp, const char **tbl, int *lpm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tok_scan
      Src: /src/knot-dns/src/utils/common/token.c:78,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/common/token.c:80,1
    - Dst: TOK_S
      Src: /src/knot-dns/src/utils/common/token.c:81,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/common/token.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - lp
    - tbl
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: tok_find
    functionSourceFile: /src/knot-dns/src/utils/common/token.c
    functionUses: 0
    functionsReached:
    - ERR
    - TOK_S
    - tok_scan
    linkageType: ''
    returnType: int
    signature: int tok_find(const char *lp, const char **tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_space
      Src: /src/knot-dns/src/utils/common/token.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - lp
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: tok_skipspace
    functionSourceFile: /src/knot-dns/src/utils/common/token.c
    functionUses: 4
    functionsReached:
    - is_space
    linkageType: ''
    returnType: char
    signature: char *tok_skipspace(const char *lp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: hex_to_num
    functionSourceFile: /src/knot-dns/src/utils/common/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex_to_num(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_xdigit
      Src: /src/knot-dns/src/utils/common/hex.c:44,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/hex.c:52,1
    - Dst: hex_to_num
      Src: /src/knot-dns/src/utils/common/hex.c:64,1
    - Dst: hex_to_num
      Src: /src/knot-dns/src/utils/common/hex.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - input
    - output
    - output_size
    argTypes:
    - char*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 71
    functionName: hex_decode
    functionSourceFile: /src/knot-dns/src/utils/common/hex.c
    functionUses: 1
    functionsReached:
    - assert
    - hex_to_num
    - is_xdigit
    linkageType: ''
    returnType: int
    signature: int hex_decode(const char *input, uint8_t **output, size_t *output_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:67,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:73,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:77,1
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/utils/common/exec.c:84,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:85,1
    - Dst: knot_wire_get_aa
      Src: /src/knot-dns/src/utils/common/exec.c:87,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:88,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/utils/common/exec.c:90,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:91,1
    - Dst: knot_wire_get_rd
      Src: /src/knot-dns/src/utils/common/exec.c:93,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:94,1
    - Dst: knot_wire_get_ra
      Src: /src/knot-dns/src/utils/common/exec.c:96,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:97,1
    - Dst: knot_wire_get_z
      Src: /src/knot-dns/src/utils/common/exec.c:99,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:100,1
    - Dst: knot_wire_get_ad
      Src: /src/knot-dns/src/utils/common/exec.c:102,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:103,1
    - Dst: knot_wire_get_cd
      Src: /src/knot-dns/src/utils/common/exec.c:105,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:106,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/src/utils/common/exec.c:110,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/utils/common/exec.c:111,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/src/utils/common/exec.c:112,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/utils/common/exec.c:113,1
    - Dst: knot_pkt_has_tsig
      Src: /src/knot-dns/src/utils/common/exec.c:115,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:123,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:130,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - packet
    - style
    argTypes:
    - knot_pkt_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 137
    functionName: print_header
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - strlcat
    - knot_wire_get_z
    - knot_wire_get_nscount
    - knot_wire_get_aa
    - knot_lookup_by_id
    - snprintf
    - knot_wire_get_ra
    - printf
    - knot_wire_get_qr
    - knot_wire_get_ancount
    - knot_wire_get_arcount
    - knot_wire_get_ad
    - knot_wire_get_rd
    - knot_wire_get_tc
    - knot_wire_get_cd
    - knot_pkt_has_tsig
    - knot_wire_get_qdcount
    linkageType: ''
    returnType: void
    signature: void print_header(const knot_pkt_t *packet, const style_t *style)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/utils/common/exec.c:152,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/utils/common/exec.c:156,1
    - Dst: strftime
      Src: /src/knot-dns/src/utils/common/exec.c:157,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:161,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:163,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:168,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:170,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:173,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:178,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:180,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:184,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 7
    argNames:
    - total_len
    - msg_count
    - rr_count
    - net
    - elapsed
    - exec_time
    - incoming
    argTypes:
    - size_t
    - size_t
    - size_t
    - net_t*
    - float
    - time_t
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 189
    functionName: print_footer
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - printf
    - time
    - strftime
    linkageType: ''
    returnType: void
    signature: "void print_footer(const size_t total_len,\n                         const
      size_t msg_count,\n                         const size_t rr_count,\n                         const
      net_t  *net,\n                         const float  elapsed,\n                         time_t
      \      exec_time,\n                         const bool   incoming)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: print_hex
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_hex(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_hex
      Src: /src/knot-dns/src/utils/common/exec.c:204,1
    - Dst: is_print
      Src: /src/knot-dns/src/utils/common/exec.c:208,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: print_nsid
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - print_hex
    - printf
    - is_print
    linkageType: ''
    returnType: void
    signature: void print_nsid(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_print
      Src: /src/knot-dns/src/utils/common/exec.c:223,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: print_text
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - printf
    - is_print
    linkageType: ''
    returnType: bool
    signature: bool print_text(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_client_subnet_get_addr
      Src: /src/knot-dns/src/utils/common/exec.c:240,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/exec.c:241,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/utils/common/exec.c:244,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: print_edns_client_subnet
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_edns_client_subnet_get_addr
    - assert
    - sockaddr_tostr
    linkageType: ''
    returnType: void
    signature: void print_edns_client_subnet(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:252,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/exec.c:258,1
    - Dst: be16toh
      Src: /src/knot-dns/src/utils/common/exec.c:259,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:261,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:265,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: print_ede
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - be16toh
    - knot_lookup_by_id
    linkageType: ''
    returnType: void
    signature: void print_ede(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:274,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:276,1
    - Dst: knot_time_print_human
      Src: /src/knot-dns/src/utils/common/exec.c:280,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:281,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: print_expire
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_time_print_human
    linkageType: ''
    returnType: void
    signature: void print_expire(const uint8_t *data, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/common/exec.c:296,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:299,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - len
    - qname
    argTypes:
    - uint8_t*
    - uint16_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 303
    functionName: print_zoneversion
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_dname_to_str
    linkageType: ''
    returnType: void
    signature: void print_zoneversion(const uint8_t *data, uint16_t len, const knot_dname_t
      *qname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:314,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/exec.c:314,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:316,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:318,1
    - Dst: knot_edns_whole_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:327,1
    - Dst: knot_wire_get_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:328,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:331,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:335,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:339,1
    - Dst: knot_edns_get_version
      Src: /src/knot-dns/src/utils/common/exec.c:340,1
    - Dst: knot_edns_do
      Src: /src/knot-dns/src/utils/common/exec.c:341,1
    - Dst: knot_edns_get_payload
      Src: /src/knot-dns/src/utils/common/exec.c:342,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/exec.c:345,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/utils/common/exec.c:347,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/utils/common/exec.c:349,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:355,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:361,1
    - Dst: print_nsid
      Src: /src/knot-dns/src/utils/common/exec.c:362,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:365,1
    - Dst: print_edns_client_subnet
      Src: /src/knot-dns/src/utils/common/exec.c:366,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:369,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:372,1
    - Dst: print_hex
      Src: /src/knot-dns/src/utils/common/exec.c:373,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:376,1
    - Dst: print_ede
      Src: /src/knot-dns/src/utils/common/exec.c:377,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:380,1
    - Dst: print_expire
      Src: /src/knot-dns/src/utils/common/exec.c:381,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:384,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/common/exec.c:385,1
    - Dst: print_zoneversion
      Src: /src/knot-dns/src/utils/common/exec.c:386,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:389,1
    - Dst: print_text
      Src: /src/knot-dns/src/utils/common/exec.c:391,1
    - Dst: print_hex
      Src: /src/knot-dns/src/utils/common/exec.c:392,1
    - Dst: print_hex
      Src: /src/knot-dns/src/utils/common/exec.c:395,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:398,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/utils/common/exec.c:400,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/utils/common/exec.c:403,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:404,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 2
    argNames:
    - packet
    - style
    argTypes:
    - knot_pkt_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 406
    functionName: print_section_opt
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - snprintf
    - printf
    - print_expire
    - knot_edns_get_payload
    - knot_pkt_qname
    - knot_strerror
    - free
    - knot_wire_get_rcode
    - print_hex
    - WARN
    - wire_ctx_init_const
    - print_text
    - assert
    - knot_lookup_by_id
    - knot_edns_whole_rcode
    - print_zoneversion
    - print_nsid
    - print_edns_client_subnet
    - knot_edns_get_version
    - print_ede
    - knot_edns_do
    - wire_ctx_skip
    linkageType: ''
    returnType: void
    signature: void print_section_opt(const knot_pkt_t *packet, const style_t *style)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/utils/common/exec.c:420,1
    - Dst: knot_rrset_txt_dump_header
      Src: /src/knot-dns/src/utils/common/exec.c:422,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:423,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:426,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/common/exec.c:428,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - owner
    - qclass
    - qtype
    - style
    argTypes:
    - knot_dname_t*
    - uint16_t
    - uint16_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 430
    functionName: print_section_question
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - knot_rrset_free
    - knot_rrset_txt_dump_header
    - knot_rrset_new
    - free
    - WARN
    - printf
    linkageType: ''
    returnType: void
    signature: "void print_section_question(const knot_dname_t *owner,\n                                   const
      uint16_t     qclass,\n                                   const uint16_t     qtype,\n
      \                                  const style_t      *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/utils/common/exec.c:451,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:453,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:456,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - rrsets
    - count
    - style
    - no_tsig
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - style_t*
    - bool
    constantsTouched: []
    func_position:
      end: 460
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 460
    functionName: print_section_full
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - WARN
    - printf
    - free
    - knot_rrset_txt_dump
    linkageType: ''
    returnType: void
    signature: "void print_section_full(const knot_rrset_t *rrsets,\n                               const
      uint16_t     count,\n                               const style_t      *style,\n
      \                              const bool         no_tsig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_txt_dump_data
      Src: /src/knot-dns/src/utils/common/exec.c:473,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:478,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:484,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:489,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - rrsets
    - count
    - style
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 494
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 494
    functionName: print_section_dig
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - WARN
    - knot_rrset_txt_dump_data
    - printf
    - free
    linkageType: ''
    returnType: void
    signature: "void print_section_dig(const knot_rrset_t *rrsets,\n                              const
      uint16_t     count,\n                              const style_t      *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str_alloc
      Src: /src/knot-dns/src/utils/common/exec.c:509,1
    - Dst: style_t*::style::ascii_to_idn
      Src: /src/knot-dns/src/utils/common/exec.c:511,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:513,1
    - Dst: knot_rrset_txt_dump_data
      Src: /src/knot-dns/src/utils/common/exec.c:522,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:527,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/exec.c:533,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:540,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:542,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:543,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:547,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:550,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - rrsets
    - count
    - style
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 551
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 551
    functionName: print_section_host
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - knot_rrset_txt_dump_data
    - knot_lookup_by_id
    - free
    - knot_dname_to_str_alloc
    - WARN
    - knot_rrtype_to_string
    - printf
    - style_t*::style::ascii_to_idn
    linkageType: ''
    returnType: void
    signature: "void print_section_host(const knot_rrset_t *rrsets,\n                               const
      uint16_t     count,\n                               const style_t      *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:558,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:558,1
    - Dst: style_t*::style::ascii_to_idn
      Src: /src/knot-dns/src/utils/common/exec.c:569,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:572,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:573,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:575,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - packet
    - style
    argTypes:
    - knot_pkt_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 579
    functionName: print_error_host
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - knot_pkt_qtype
    - free
    - knot_pkt_ext_rcode
    - knot_rrtype_to_string
    - printf
    - style_t*::style::ascii_to_idn
    linkageType: ''
    returnType: void
    signature: void print_error_host(const knot_pkt_t *packet, const style_t *style)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/common/exec.c:584,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - dname
    argTypes:
    - jsonw_t*
    - char*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: json_dname
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - knot_dname_to_str
    - jsonw_str
    linkageType: ''
    returnType: void
    signature: void json_dname(jsonw_t *w, const char *key, const knot_dname_t *dname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:592,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/common/exec.c:593,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/common/exec.c:598,1
    - Dst: knot_rrset_txt_dump_data
      Src: /src/knot-dns/src/utils/common/exec.c:602,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - w
    - rrset
    argTypes:
    - jsonw_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: json_rdata
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - knot_rrset_txt_dump_data
    - strlcat
    - jsonw_str
    - strncmp
    - knot_rrtype_to_string
    linkageType: ''
    returnType: void
    signature: void json_rdata(jsonw_t *w, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:611,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/common/exec.c:617,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:621,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:626,1
    - Dst: json_dname
      Src: /src/knot-dns/src/utils/common/exec.c:627,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:628,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:629,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:630,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:632,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:634,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:635,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:637,1
    - Dst: json_rdata
      Src: /src/knot-dns/src/utils/common/exec.c:639,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:641,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:643,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:645,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - w
    - name
    - section
    argTypes:
    - jsonw_t*
    - char*
    - knot_pktsection_t*
    constantsTouched: []
    func_position:
      end: 649
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 649
    functionName: json_print_section
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - json_dname
    - jsonw_int
    - jsonw_object
    - jsonw_list
    - knot_rrclass_to_string
    - jsonw_str
    - json_rdata
    - knot_rrtype_to_string
    - knot_pkt_rr
    - jsonw_end
    - jsonw_hex
    linkageType: ''
    returnType: void
    signature: "void json_print_section(jsonw_t *w, const char *name,\n                               const
      knot_pktsection_t *section)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:653,1
    - Dst: json_dname
      Src: /src/knot-dns/src/utils/common/exec.c:654,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:655,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:656,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:658,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:659,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - w
    - rr
    argTypes:
    - jsonw_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: json_print_edns_generic
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - json_dname
    - jsonw_int
    - jsonw_object
    - jsonw_end
    - jsonw_hex
    linkageType: ''
    returnType: void
    signature: void json_print_edns_generic(jsonw_t *w, const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:667,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - w
    - optdata
    - optype
    - optlen
    argTypes:
    - jsonw_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: json_edns_unknown
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - snprintf
    - jsonw_hex
    linkageType: ''
    returnType: void
    signature: void json_edns_unknown(jsonw_t *w, uint8_t *optdata, uint16_t optype,
      uint16_t optlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: all_zero
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_zero(const uint8_t * const str, const size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_print
      Src: /src/knot-dns/src/utils/common/exec.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: all_print
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - is_print
    linkageType: ''
    returnType: bool
    signature: bool all_print(const uint8_t * const str, const size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_client_subnet_get_addr
      Src: /src/knot-dns/src/utils/common/exec.c:699,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/utils/common/exec.c:702,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/exec.c:703,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:705,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:708,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - w
    - optdata
    - optlen
    - tmps
    - tmps_size
    argTypes:
    - jsonw_t*
    - uint8_t*
    - uint16_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 712
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 712
    functionName: json_edns_ecs
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - assert
    - sockaddr_tostr
    - snprintf
    - jsonw_str
    - knot_edns_client_subnet_get_addr
    - jsonw_hex
    linkageType: ''
    returnType: void
    signature: "void json_edns_ecs(jsonw_t *w, uint8_t *optdata, uint16_t optlen,\n
      \                         char *tmps, size_t tmps_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/common/exec.c:717,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:728,1
    - Dst: json_dname
      Src: /src/knot-dns/src/utils/common/exec.c:730,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:732,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:734,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/common/exec.c:736,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - w
    - optdata
    - optlen
    - pkt
    argTypes:
    - jsonw_t*
    - uint8_t*
    - uint16_t
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 741
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 741
    functionName: json_edns_zoneversion
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - json_dname
    - knot_pkt_qname
    - jsonw_int
    - jsonw_object
    - jsonw_str
    - jsonw_ulong
    - jsonw_end
    linkageType: ''
    returnType: int
    signature: "int json_edns_zoneversion(jsonw_t *w, uint8_t *optdata, uint16_t optlen,\n
      \                                const knot_pkt_t *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:752,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:753,1
    - Dst: all_print
      Src: /src/knot-dns/src/utils/common/exec.c:754,1
    - Dst: jsonw_str_len
      Src: /src/knot-dns/src/utils/common/exec.c:755,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:757,1
    - Dst: json_edns_ecs
      Src: /src/knot-dns/src/utils/common/exec.c:760,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:764,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/utils/common/exec.c:766,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:767,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:768,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:770,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/common/exec.c:774,1
    - Dst: MIN
      Src: /src/knot-dns/src/utils/common/exec.c:775,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:776,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:778,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:780,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/utils/common/exec.c:784,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:785,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:787,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:791,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:792,1
    - Dst: all_zero
      Src: /src/knot-dns/src/utils/common/exec.c:793,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:794,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:796,1
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/src/utils/common/exec.c:799,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/common/exec.c:800,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:801,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:803,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:808,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/utils/common/exec.c:810,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:811,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:812,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:813,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:815,1
    - Dst: jsonw_str_len
      Src: /src/knot-dns/src/utils/common/exec.c:818,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:820,1
    - Dst: json_edns_zoneversion
      Src: /src/knot-dns/src/utils/common/exec.c:824,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:825,1
    - Dst: json_edns_unknown
      Src: /src/knot-dns/src/utils/common/exec.c:829,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 5
    argNames:
    - w
    - optdata
    - optype
    - optlen
    - pkt
    argTypes:
    - jsonw_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 832
    functionName: json_edns_opt
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - jsonw_int
    - knot_wire_read_u32
    - snprintf
    - jsonw_str
    - all_print
    - jsonw_list
    - MIN
    - knot_lookup_by_id
    - all_zero
    - jsonw_object
    - jsonw_str_len
    - json_edns_ecs
    - json_edns_unknown
    - knot_wire_read_u16
    - jsonw_end
    - jsonw_hex
    - knot_dname_to_str
    - json_edns_zoneversion
    - knot_dname_wire_check
    linkageType: ''
    returnType: void
    signature: "void json_edns_opt(jsonw_t *w, uint8_t *optdata, uint16_t optype,\n
      \                         uint16_t optlen, const knot_pkt_t *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/exec.c:836,1
    - Dst: json_print_edns_generic
      Src: /src/knot-dns/src/utils/common/exec.c:839,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:845,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:848,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/common/exec.c:849,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:853,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:855,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:856,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:861,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/common/exec.c:863,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:863,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/exec.c:864,1
    - Dst: knot_pkt_ext_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:864,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:865,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:866,1
    - Dst: knot_edns_get_payload
      Src: /src/knot-dns/src/utils/common/exec.c:866,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/exec.c:868,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/utils/common/exec.c:869,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/utils/common/exec.c:870,1
    - Dst: wire_ctx_can_read
      Src: /src/knot-dns/src/utils/common/exec.c:873,1
    - Dst: json_edns_opt
      Src: /src/knot-dns/src/utils/common/exec.c:874,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/utils/common/exec.c:875,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - w
    - pkt
    argTypes:
    - jsonw_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 879
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 879
    functionName: json_print_edns
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - jsonw_int
    - assert
    - json_print_edns_generic
    - knot_edns_get_payload
    - wire_ctx_init
    - knot_lookup_by_id
    - wire_ctx_available
    - jsonw_object
    - json_edns_opt
    - jsonw_list
    - snprintf
    - knot_pkt_ext_rcode
    - jsonw_str
    - wire_ctx_can_read
    - wire_ctx_skip
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: void json_print_edns(jsonw_t *w, const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/knot-dns/src/utils/common/exec.c:891,1
    - Dst: strftime
      Src: /src/knot-dns/src/utils/common/exec.c:892,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:893,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/common/exec.c:894,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:896,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:899,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/utils/common/exec.c:899,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:900,1
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/utils/common/exec.c:900,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:901,1
    - Dst: knot_wire_get_opcode
      Src: /src/knot-dns/src/utils/common/exec.c:901,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:902,1
    - Dst: knot_wire_get_aa
      Src: /src/knot-dns/src/utils/common/exec.c:902,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:903,1
    - Dst: knot_wire_get_tc
      Src: /src/knot-dns/src/utils/common/exec.c:903,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:904,1
    - Dst: knot_wire_get_rd
      Src: /src/knot-dns/src/utils/common/exec.c:904,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:905,1
    - Dst: knot_wire_get_ra
      Src: /src/knot-dns/src/utils/common/exec.c:905,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:906,1
    - Dst: knot_wire_get_ad
      Src: /src/knot-dns/src/utils/common/exec.c:906,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:907,1
    - Dst: knot_wire_get_cd
      Src: /src/knot-dns/src/utils/common/exec.c:907,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:908,1
    - Dst: knot_wire_get_rcode
      Src: /src/knot-dns/src/utils/common/exec.c:908,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:909,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/src/utils/common/exec.c:909,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:910,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/utils/common/exec.c:910,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:911,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/src/utils/common/exec.c:911,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:912,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/utils/common/exec.c:912,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/src/utils/common/exec.c:914,1
    - Dst: json_dname
      Src: /src/knot-dns/src/utils/common/exec.c:915,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/common/exec.c:915,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:916,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:916,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:917,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:917,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:918,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/common/exec.c:920,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/common/exec.c:920,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/src/utils/common/exec.c:921,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/common/exec.c:921,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/common/exec.c:922,1
    - Dst: json_print_section
      Src: /src/knot-dns/src/utils/common/exec.c:926,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:926,1
    - Dst: json_print_section
      Src: /src/knot-dns/src/utils/common/exec.c:927,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:927,1
    - Dst: json_print_section
      Src: /src/knot-dns/src/utils/common/exec.c:928,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:928,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/utils/common/exec.c:930,1
    - Dst: json_print_edns
      Src: /src/knot-dns/src/utils/common/exec.c:931,1
    - Dst: jsonw_hex
      Src: /src/knot-dns/src/utils/common/exec.c:934,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - w
    - pkt
    - time
    argTypes:
    - jsonw_t*
    - knot_pkt_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 936
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 936
    functionName: print_packet_json
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 0
    functionsReached:
    - json_print_section
    - jsonw_int
    - knot_wire_get_nscount
    - knot_rrclass_to_string
    - jsonw_str
    - knot_pkt_has_edns
    - knot_wire_get_ancount
    - knot_wire_get_arcount
    - knot_wire_get_tc
    - strftime
    - knot_pkt_qname
    - knot_wire_get_aa
    - knot_pkt_qtype
    - knot_wire_get_rcode
    - knot_pkt_section
    - knot_wire_get_rd
    - knot_wire_get_id
    - jsonw_ulong
    - knot_wire_get_opcode
    - knot_wire_get_qdcount
    - json_dname
    - knot_wire_get_qr
    - json_print_edns
    - knot_wire_get_cd
    - jsonw_hex
    - knot_pkt_qclass
    - localtime_r
    - knot_wire_get_ra
    - knot_wire_get_ad
    - knot_rrtype_to_string
    linkageType: ''
    returnType: void
    signature: void print_packet_json(jsonw_t *w, const knot_pkt_t *pkt, time_t time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_new
      Src: /src/knot-dns/src/utils/common/exec.c:941,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/utils/common/exec.c:948,1
    - Dst: dnssec_random_uint16_t
      Src: /src/knot-dns/src/utils/common/exec.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 951
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 951
    functionName: create_empty_packet
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - knot_wire_set_id
    - knot_pkt_new
    - dnssec_random_uint16_t
    linkageType: ''
    returnType: knot_pkt_t
    signature: knot_pkt_t *create_empty_packet(const uint16_t max_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_new
      Src: /src/knot-dns/src/utils/common/exec.c:962,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:968,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:969,1
    - Dst: print_packet_json
      Src: /src/knot-dns/src/utils/common/exec.c:970,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:971,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/common/exec.c:972,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/common/exec.c:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - query
    - exec_time
    - style
    argTypes:
    - knot_pkt_t*
    - time_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 978
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 978
    functionName: print_header_xfr_json
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - jsonw_object
    - jsonw_list
    - jsonw_new
    - print_packet_json
    - jsonw_end
    linkageType: ''
    returnType: jsonw_t
    signature: "jsonw_t *print_header_xfr_json(const knot_pkt_t *query,\n                               const
      time_t     exec_time,\n                               const style_t    *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:989,1
    - Dst: print_packet_json
      Src: /src/knot-dns/src/utils/common/exec.c:990,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - w
    - reply
    - exec_time
    argTypes:
    - jsonw_t*
    - knot_pkt_t*
    - time_t
    constantsTouched: []
    func_position:
      end: 992
      start: 980
    functionDepth: 6
    functionLinenumber: 980
    functionLinenumberEnd: 992
    functionName: print_data_xfr_json
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - jsonw_object
    - jsonw_end
    - print_packet_json
    linkageType: ''
    returnType: void
    signature: "void print_data_xfr_json(jsonw_t          *w,\n                         const
      knot_pkt_t *reply,\n                         const time_t     exec_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:1002,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:1004,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/utils/common/exec.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - w
    - style
    argTypes:
    - jsonw_t**
    - style_t*
    constantsTouched: []
    func_position:
      end: 1009
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1009
    functionName: print_footer_xfr_json
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - jsonw_free
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: "void print_footer_xfr_json(jsonw_t       **w,\n                           const
      style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:1020,1
    - Dst: style_t*::style::ascii_to_idn
      Src: /src/knot-dns/src/utils/common/exec.c:1033,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1036,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/exec.c:1037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - packet
    - style
    argTypes:
    - knot_pkt_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1040
    functionName: print_header_xfr
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - knot_pkt_qtype
    - printf
    - style_t*::style::ascii_to_idn
    - free
    linkageType: ''
    returnType: void
    signature: void print_header_xfr(const knot_pkt_t *packet, const style_t *style)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:1050,1
    - Dst: print_section_dig
      Src: /src/knot-dns/src/utils/common/exec.c:1056,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1056,1
    - Dst: print_section_host
      Src: /src/knot-dns/src/utils/common/exec.c:1061,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1061,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1066,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1066,1
    - Dst: knot_pkt_has_tsig
      Src: /src/knot-dns/src/utils/common/exec.c:1070,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1071,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - packet
    - style
    argTypes:
    - knot_pkt_t*
    - style_t*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1077
    functionName: print_data_xfr
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - print_section_full
    - print_section_host
    - print_section_dig
    - knot_pkt_section
    - knot_pkt_has_tsig
    - knot_pkt_rr
    linkageType: ''
    returnType: void
    signature: "void print_data_xfr(const knot_pkt_t *packet,\n                    const
      style_t    *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_footer
      Src: /src/knot-dns/src/utils/common/exec.c:1093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - total_len
    - msg_count
    - rr_count
    - net
    - elapsed
    - exec_time
    - style
    argTypes:
    - size_t
    - size_t
    - size_t
    - net_t*
    - float
    - time_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1096
    functionName: print_footer_xfr
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - print_footer
    linkageType: ''
    returnType: void
    signature: "void print_footer_xfr(const size_t  total_len,\n                      const
      size_t  msg_count,\n                      const size_t  rr_count,\n                      const
      net_t   *net,\n                      const float   elapsed,\n                      const
      time_t  exec_time,\n                      const style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_new
      Src: /src/knot-dns/src/utils/common/exec.c:1109,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:1113,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:1116,1
    - Dst: print_packet_json
      Src: /src/knot-dns/src/utils/common/exec.c:1117,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:1118,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/common/exec.c:1119,1
    - Dst: print_packet_json
      Src: /src/knot-dns/src/utils/common/exec.c:1122,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:1125,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/common/exec.c:1128,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/utils/common/exec.c:1129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - query
    - reply
    - net
    - exec_time
    - style
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    - net_t*
    - time_t
    - style_t*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1098
    functionDepth: 6
    functionLinenumber: 1098
    functionLinenumberEnd: 1130
    functionName: print_packets_json
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 1
    functionsReached:
    - jsonw_object
    - jsonw_free
    - jsonw_new
    - print_packet_json
    - jsonw_end
    linkageType: ''
    returnType: void
    signature: "void print_packets_json(const knot_pkt_t *query,\n                        const
      knot_pkt_t *reply,\n                        const net_t      *net,\n                        const
      time_t     exec_time,\n                        const style_t    *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:1145,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:1147,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/utils/common/exec.c:1149,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/utils/common/exec.c:1160,1
    - Dst: print_quic
      Src: /src/knot-dns/src/utils/common/exec.c:1169,1
    - Dst: print_tls
      Src: /src/knot-dns/src/utils/common/exec.c:1173,1
    - Dst: print_https
      Src: /src/knot-dns/src/utils/common/exec.c:1175,1
    - Dst: print_header
      Src: /src/knot-dns/src/utils/common/exec.c:1179,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/utils/common/exec.c:1183,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1184,1
    - Dst: print_section_opt
      Src: /src/knot-dns/src/utils/common/exec.c:1185,1
    - Dst: knot_wire_get_opcode
      Src: /src/knot-dns/src/utils/common/exec.c:1189,1
    - Dst: print_section_dig
      Src: /src/knot-dns/src/utils/common/exec.c:1194,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1194,1
    - Dst: print_section_host
      Src: /src/knot-dns/src/utils/common/exec.c:1199,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1199,1
    - Dst: print_error_host
      Src: /src/knot-dns/src/utils/common/exec.c:1201,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1206,1
    - Dst: print_section_question
      Src: /src/knot-dns/src/utils/common/exec.c:1207,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/utils/common/exec.c:1207,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/common/exec.c:1208,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:1209,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1214,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1215,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1215,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1219,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1220,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1220,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1224,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1225,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1225,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1230,1
    - Dst: print_section_question
      Src: /src/knot-dns/src/utils/common/exec.c:1231,1
    - Dst: knot_pkt_wire_qname
      Src: /src/knot-dns/src/utils/common/exec.c:1231,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/utils/common/exec.c:1232,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/utils/common/exec.c:1233,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1238,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1239,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1239,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1243,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1244,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1244,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1248,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1249,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/utils/common/exec.c:1249,1
    - Dst: knot_pkt_has_tsig
      Src: /src/knot-dns/src/utils/common/exec.c:1257,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1258,1
    - Dst: print_section_full
      Src: /src/knot-dns/src/utils/common/exec.c:1259,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/exec.c:1264,1
    - Dst: print_footer
      Src: /src/knot-dns/src/utils/common/exec.c:1265,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 7
    argNames:
    - packet
    - net
    - size
    - elapsed
    - exec_time
    - incoming
    - style
    argTypes:
    - knot_pkt_t*
    - net_t*
    - size_t
    - float
    - time_t
    - bool
    - style_t*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1132
    functionDepth: 3
    functionLinenumber: 1132
    functionLinenumberEnd: 1267
    functionName: print_packet
    functionSourceFile: /src/knot-dns/src/utils/common/exec.c
    functionUses: 6
    functionsReached:
    - print_section_full
    - knot_pkt_has_edns
    - print_https
    - printf
    - print_section_question
    - knot_pkt_qname
    - print_footer
    - knot_pkt_qtype
    - print_section_dig
    - print_section_host
    - knot_pkt_section
    - knot_wire_get_opcode
    - print_quic
    - print_header
    - knot_pkt_has_tsig
    - print_error_host
    - knot_pkt_wire_qname
    - knot_pkt_qclass
    - print_tls
    - print_section_opt
    - knot_pkt_rr
    linkageType: ''
    returnType: void
    signature: "void print_packet(const knot_pkt_t *packet,\n                  const
      net_t      *net,\n                  const size_t     size,\n                  const
      float      elapsed,\n                  const time_t     exec_time,\n                  const
      bool       incoming,\n                  const style_t    *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - quic_params_t*
    - quic_params_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: quic_params_copy
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_params_copy(quic_params_t *dst, const quic_params_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - quic_params_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: quic_params_clean
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quic_params_clean(quic_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_application_error
      Src: /src/knot-dns/src/utils/common/quic.c:74,1
    - Dst: set_application_error
      Src: /src/knot-dns/src/utils/common/quic.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - conn
    - flags
    - stream_id
    - offset
    - data
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: recv_stream_data_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - set_application_error
    linkageType: ''
    returnType: int
    signature: "int recv_stream_data_cb(ngtcp2_conn *conn, uint32_t flags,\n\tint64_t
      stream_id, uint64_t offset, const uint8_t *data,\n\tsize_t datalen, void *user_data,
      void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_application_error
      Src: /src/knot-dns/src/utils/common/quic.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - stream_id
    - user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: stream_open_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - set_application_error
    linkageType: ''
    returnType: int
    signature: "int stream_open_cb(ngtcp2_conn *conn, int64_t stream_id,\n\tvoid *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - conn
    - stream_id
    - offset
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: acked_stream_data_offset_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int acked_stream_data_offset_cb(ngtcp2_conn *conn, int64_t stream_id,\n\tuint64_t
      offset, uint64_t datalen, void *user_data,\n\tvoid *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: stream_close_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int stream_close_cb(ngtcp2_conn *conn, uint32_t flags,\n\tint64_t
      stream_id, uint64_t app_error_code, void *user_data,\n\tvoid *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - quic_ctx_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: quic_open_bidi_stream
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_open_bidi_stream(quic_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/utils/common/quic.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - destlen
    - rand_ctx
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_rand_ctx*
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: rand_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - dnssec_random_buffer
    linkageType: ''
    returnType: void
    signature: "void rand_cb(uint8_t *dest, size_t destlen,\n\tconst ngtcp2_rand_ctx
      *rand_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/utils/common/quic.c:165,1
    - Dst: ngtcp2_crypto_generate_stateless_reset_token
      Src: /src/knot-dns/src/utils/common/quic.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - conn
    - cid
    - token
    - cidlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: get_new_connection_id_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_generate_stateless_reset_token
    - dnssec_random_buffer
    linkageType: ''
    returnType: int
    signature: "int get_new_connection_id_cb(ngtcp2_conn *conn, ngtcp2_cid *cid,\n\tuint8_t
      *token, size_t cidlen, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_transport_error
      Src: /src/knot-dns/src/utils/common/quic.c:185,1
    - Dst: quic_ctx_close
      Src: /src/knot-dns/src/utils/common/quic.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - conn
    - stream_id
    - final_size
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: stream_reset_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - quic_ctx_close
    - set_transport_error
    linkageType: ''
    returnType: int
    signature: "int stream_reset_cb(ngtcp2_conn *conn, int64_t stream_id,\n\tuint64_t
      final_size, uint64_t app_error_code, void *user_data,\n\tvoid *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: handshake_confirmed_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handshake_confirmed_cb(ngtcp2_conn *conn, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - level
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: recv_rx_key_cb
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int recv_rx_key_cb(ngtcp2_conn *conn, ngtcp2_encryption_level level,\n\tvoid
      *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: hook_func
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hook_func(gnutls_session_t session, unsigned int htype,\n\tunsigned
      when, unsigned int incoming, const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_writev_stream
      Src: /src/knot-dns/src/utils/common/quic.c:288,1
    - Dst: ngtcp2_conn_get_path
      Src: /src/knot-dns/src/utils/common/quic.c:289,1
    - Dst: ngtcp2_conn_update_pkt_tx_time
      Src: /src/knot-dns/src/utils/common/quic.c:295,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/quic.c:298,1
    - Dst: set_transport_error
      Src: /src/knot-dns/src/utils/common/quic.c:301,1
    - Dst: ngtcp2_err_infer_quic_transport_error_code
      Src: /src/knot-dns/src/utils/common/quic.c:302,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/utils/common/quic.c:304,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/quic.c:319,1
    - Dst: set_transport_error
      Src: /src/knot-dns/src/utils/common/quic.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - sockfd
    - family
    - datav
    - datavlen
    argTypes:
    - quic_ctx_t*
    - int
    - int
    - ngtcp2_vec*
    - size_t
    constantsTouched: []
    func_position:
      end: 329
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 329
    functionName: quic_send_data
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn_update_pkt_tx_time
    - ngtcp2_conn_get_path
    - ngtcp2_conn_writev_stream
    - ngtcp2_err_infer_quic_transport_error_code
    - set_transport_error
    - ngtcp2_err_is_fatal
    - sendmsg
    linkageType: ''
    returnType: int
    signature: "int quic_send_data(quic_ctx_t *ctx, int sockfd, int family,\n\tngtcp2_vec
      *datav, size_t datavlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:352,1
    - Dst: net_cmsg_ecn
      Src: /src/knot-dns/src/utils/common/quic.c:355,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/utils/common/quic.c:361,1
    - Dst: set_transport_error
      Src: /src/knot-dns/src/utils/common/quic.c:362,1
    - Dst: ngtcp2_err_infer_quic_transport_error_code
      Src: /src/knot-dns/src/utils/common/quic.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - sockfd
    argTypes:
    - quic_ctx_t*
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 368
    functionName: quic_recv
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_err_infer_quic_transport_error_code
    - net_cmsg_ecn
    - set_transport_error
    - ngtcp2_err_is_fatal
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int quic_recv(quic_ctx_t *ctx, int sockfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/quic.c:372,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/quic.c:380,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/quic.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - quic_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: quic_respcpy
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - assert
    linkageType: ''
    returnType: int
    signature: int quic_respcpy(quic_ctx_t *ctx, uint8_t *buf, const size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/common/quic.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: quic_timestamp
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t quic_timestamp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/quic.c:403,1
    - Dst: gnutls_hash_fast
      Src: /src/knot-dns/src/utils/common/quic.c:409,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/quic.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: quic_generate_secret
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_hash_fast
    linkageType: ''
    returnType: int
    signature: int quic_generate_secret(uint8_t *buf, size_t buflen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/utils/common/quic.c:419,1
    - Dst: tls_certificate_verification
      Src: /src/knot-dns/src/utils/common/quic.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: verify_certificate
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - tls_certificate_verification
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: int verify_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_ref
    argTypes:
    - ngtcp2_crypto_conn_ref*
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: get_conn
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_conn
    signature: ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_application_error
      Src: /src/knot-dns/src/utils/common/quic.c:442,1
    - Dst: quic_generate_secret
      Src: /src/knot-dns/src/utils/common/quic.c:443,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/knot-dns/src/utils/common/quic.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - tls_ctx
    - params
    argTypes:
    - quic_ctx_t*
    - tls_ctx_t*
    - quic_params_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 452
    functionName: quic_ctx_init
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_verify_function
    - quic_generate_secret
    - set_application_error
    linkageType: ''
    returnType: int
    signature: int quic_ctx_init(quic_ctx_t *ctx, tls_ctx_t *tls_ctx, const quic_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:456,1
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/knot-dns/src/utils/common/quic.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 465
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 465
    functionName: get_expiry
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_get_expiry
    - quic_timestamp
    linkageType: ''
    returnType: int
    signature: int get_expiry(ngtcp2_conn *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/knot-dns/src/utils/common/quic.c:469,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:472,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/utils/common/quic.c:482,1
    - Dst: ngtcp2_settings_default
      Src: /src/knot-dns/src/utils/common/quic.c:488,1
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:489,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/knot-dns/src/utils/common/quic.c:493,1
    - Dst: getsockname
      Src: /src/knot-dns/src/utils/common/quic.c:503,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:505,1
    - Dst: ngtcp2_conn_del
      Src: /src/knot-dns/src/utils/common/quic.c:520,1
    - Dst: ngtcp2_conn_client_new
      Src: /src/knot-dns/src/utils/common/quic.c:524,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/knot-dns/src/utils/common/quic.c:529,1
    - Dst: ngtcp2_crypto_gnutls_configure_client_session
      Src: /src/knot-dns/src/utils/common/quic.c:532,1
    - Dst: gnutls_session_set_ptr
      Src: /src/knot-dns/src/utils/common/quic.c:536,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/knot-dns/src/utils/common/quic.c:537,1
    - Dst: quic_send
      Src: /src/knot-dns/src/utils/common/quic.c:547,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/quic.c:553,1
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/knot-dns/src/utils/common/quic.c:555,1
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:555,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:557,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:561,1
    - Dst: quic_recv
      Src: /src/knot-dns/src/utils/common/quic.c:564,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 3
    argNames:
    - ctx
    - sockfd
    - dst_addr
    argTypes:
    - quic_ctx_t*
    - int
    - struct addrinfo*
    constantsTouched: []
    func_position:
      end: 571
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 571
    functionName: quic_ctx_connect
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_gnutls_configure_client_session
    - ngtcp2_conn_del
    - gnutls_session_set_ptr
    - ngtcp2_conn_client_new
    - connect
    - quic_send
    - ngtcp2_conn_handle_expiry
    - gnutls_handshake_set_hook_function
    - WARN
    - ngtcp2_settings_default
    - getsockname
    - poll
    - ngtcp2_transport_params_default
    - quic_recv
    - dnssec_random_buffer
    - knot_map_errno
    - ngtcp2_conn_set_tls_native_handle
    - quic_timestamp
    linkageType: ''
    returnType: int
    signature: int quic_ctx_connect(quic_ctx_t *ctx, int sockfd, struct addrinfo *dst_addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - vec
    - veclen
    - sub
    argTypes:
    - ngtcp2_vec**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 594
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 594
    functionName: offset_span
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int offset_span(ngtcp2_vec **vec, size_t *veclen, size_t sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/quic.c:621,1
    - Dst: quic_send_data
      Src: /src/knot-dns/src/utils/common/quic.c:633,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:635,1
    - Dst: offset_span
      Src: /src/knot-dns/src/utils/common/quic.c:638,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/quic.c:648,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:650,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:651,1
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/knot-dns/src/utils/common/quic.c:653,1
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:653,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:655,1
    - Dst: quic_recv
      Src: /src/knot-dns/src/utils/common/quic.c:660,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:662,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 5
    argNames:
    - ctx
    - sockfd
    - srv
    - buf
    - buf_len
    argTypes:
    - quic_ctx_t*
    - int
    - struct addrinfo*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 668
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 668
    functionName: quic_send_dns_query
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn_handle_expiry
    - WARN
    - poll
    - quic_recv
    - knot_map_errno
    - quic_send_data
    - quic_timestamp
    - offset_span
    linkageType: ''
    returnType: int
    signature: "int quic_send_dns_query(quic_ctx_t *ctx, int sockfd, struct addrinfo
      *srv,\n\tconst uint8_t *buf, const size_t buf_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/quic.c:694,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:696,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/quic.c:697,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/common/quic.c:698,1
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/knot-dns/src/utils/common/quic.c:700,1
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:700,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:702,1
    - Dst: quic_recv
      Src: /src/knot-dns/src/utils/common/quic.c:708,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:710,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/quic.c:711,1
    - Dst: quic_respcpy
      Src: /src/knot-dns/src/utils/common/quic.c:714,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:717,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/quic.c:718,1
    - Dst: quic_send
      Src: /src/knot-dns/src/utils/common/quic.c:726,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:728,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/common/quic.c:729,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/quic.c:734,1
    - Dst: set_application_error
      Src: /src/knot-dns/src/utils/common/quic.c:736,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_len
    - srv
    argTypes:
    - quic_ctx_t*
    - uint8_t*
    - size_t
    - struct addrinfo*
    constantsTouched: []
    func_position:
      end: 739
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 739
    functionName: quic_recv_dns_response
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_handle_expiry
    - knot_strerror
    - quic_send
    - quic_respcpy
    - WARN
    - poll
    - quic_recv
    - set_application_error
    - knot_map_errno
    - quic_timestamp
    linkageType: ''
    returnType: int
    signature: "int quic_recv_dns_response(quic_ctx_t *ctx, uint8_t *buf, const size_t
      buf_len,\n\tstruct addrinfo *srv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_ctx_write_close
      Src: /src/knot-dns/src/utils/common/quic.c:761,1
    - Dst: quic_timestamp
      Src: /src/knot-dns/src/utils/common/quic.c:762,1
    - Dst: getsockname
      Src: /src/knot-dns/src/utils/common/quic.c:771,1
    - Dst: net_ecn_set
      Src: /src/knot-dns/src/utils/common/quic.c:772,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/quic.c:775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - quic_ctx_t*
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: quic_ctx_close
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 1
    functionsReached:
    - quic_ctx_write_close
    - getsockname
    - net_ecn_set
    - sendmsg
    - quic_timestamp
    linkageType: ''
    returnType: void
    signature: void quic_ctx_close(quic_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_del
      Src: /src/knot-dns/src/utils/common/quic.c:786,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/quic.c:791,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/quic.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - quic_ctx_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 800
    functionName: quic_ctx_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_del
    - free
    linkageType: ''
    returnType: void
    signature: void quic_ctx_deinit(quic_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/quic.c:809,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/knot-dns/src/utils/common/quic.c:809,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/utils/common/quic.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - quic_ctx_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 811
    functionName: print_quic
    functionSourceFile: /src/knot-dns/src/utils/common/quic.c
    functionUses: 1
    functionsReached:
    - printf
    - gnutls_free
    - ngtcp2_conn_get_negotiated_version
    linkageType: ''
    returnType: void
    signature: void print_quic(const quic_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/netio.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: get_protocol
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_probe_proto_t
    signature: knot_probe_proto_t get_protocol(const net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - proto
    argTypes:
    - knot_probe_proto_t
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: get_protocol_str
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_protocol_str(const knot_probe_proto_t proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/utils/common/netio.c:77,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/netio.c:85,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/netio.c:86,1
    - Dst: srv_info_free
      Src: /src/knot-dns/src/utils/common/netio.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - name
    - service
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: srv_info_create
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 4
    functionsReached:
    - strdup
    - srv_info_free
    - calloc
    linkageType: ''
    returnType: srv_info_t
    signature: srv_info_t *srv_info_create(const char *name, const char *service)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:104,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:105,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - server
    argTypes:
    - srv_info_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: srv_info_free
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 7
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void srv_info_free(srv_info_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ip
    - server
    argTypes:
    - ip_t
    - srv_info_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: get_iptype
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_iptype(const ip_t ip, const srv_info_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - proto
    - type
    argTypes:
    - protocol_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: get_socktype
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_socktype(const protocol_t proto, const uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - socktype
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: get_sockname
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_sockname(const int socktype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/netio.c:159,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/common/netio.c:179,1
    - Dst: gai_strerror
      Src: /src/knot-dns/src/utils/common/netio.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - server
    - iptype
    - socktype
    - info
    argTypes:
    - srv_info_t*
    - int
    - int
    - struct addrinfo**
    constantsTouched: []
    func_position:
      end: 182
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 182
    functionName: get_addr
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 3
    functionsReached:
    - ERR
    - gai_strerror
    - memset
    linkageType: ''
    returnType: int
    signature: "int get_addr(const srv_info_t *server,\n                    const
      int        iptype,\n                    const int        socktype,\n                    struct
      addrinfo  **info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/utils/common/netio.c:192,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:198,1
    - Dst: malloc
      Src: /src/knot-dns/src/utils/common/netio.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ss
    - protocol
    - dst
    argTypes:
    - struct sockaddr_storage*
    - knot_probe_proto_t
    - char**
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: get_addr_str
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 1
    functionsReached:
    - free
    - sockaddr_tostr
    - malloc
    linkageType: ''
    returnType: void
    signature: "void get_addr_str(const struct sockaddr_storage *ss,\n                  const
      knot_probe_proto_t      protocol,\n                  char                          **dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/netio.c:224,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/common/netio.c:228,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/common/netio.c:229,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:237,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:238,1
    - Dst: get_addr
      Src: /src/knot-dns/src/utils/common/netio.c:244,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:245,1
    - Dst: get_addr
      Src: /src/knot-dns/src/utils/common/netio.c:255,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:256,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 9
    argNames:
    - local
    - remote
    - iptype
    - socktype
    - wait
    - flags
    - proxy_src
    - proxy_dst
    - net
    argTypes:
    - srv_info_t*
    - srv_info_t*
    - int
    - int
    - int
    - net_flags_t
    - struct sockaddr*
    - struct sockaddr*
    - net_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 279
    functionName: net_init
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 3
    functionsReached:
    - calloc
    - free
    - net_clean
    - memset
    - get_addr
    linkageType: ''
    returnType: int
    signature: "int net_init(const srv_info_t      *local,\n             const srv_info_t
      \     *remote,\n             const int             iptype,\n             const
      int             socktype,\n             const int             wait,\n             const
      net_flags_t     flags,\n             const struct sockaddr *proxy_src,\n             const
      struct sockaddr *proxy_dst,\n             net_t                 *net)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:295,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:302,1
    - Dst: https_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:305,1
    - Dst: https_ctx_init
      Src: /src/knot-dns/src/utils/common/netio.c:306,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:308,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:319,1
    - Dst: quic_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:322,1
    - Dst: quic_ctx_init
      Src: /src/knot-dns/src/utils/common/netio.c:323,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:325,1
    - Dst: net_clean
      Src: /src/knot-dns/src/utils/common/netio.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - net
    - tls_params
    - https_params
    - quic_params
    argTypes:
    - net_t*
    - tls_params_t*
    - https_params_t*
    - quic_params_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 340
    functionName: net_init_crypto
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 3
    functionsReached:
    - https_ctx_deinit
    - https_ctx_init
    - net_clean
    - quic_ctx_init
    - tls_ctx_deinit
    - quic_ctx_deinit
    linkageType: ''
    returnType: int
    signature: "int net_init_crypto(net_t                 *net,\n                    const
      tls_params_t    *tls_params,\n                    const https_params_t  *https_params,\n
      \                   const quic_params_t   *quic_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/utils/common/netio.c:349,1
    - Dst: connectx
      Src: /src/knot-dns/src/utils/common/netio.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - sockfd
    - srv
    argTypes:
    - int
    - struct addrinfo*
    constantsTouched: []
    func_position:
      end: 365
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 365
    functionName: fastopen_connect
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 0
    functionsReached:
    - connectx
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int fastopen_connect(int sockfd, const struct addrinfo *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/netio.c:373,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/netio.c:382,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/netio.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - sockfd
    - msg
    - timeout
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: fastopen_send
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - poll
    linkageType: ''
    returnType: int
    signature: int fastopen_send(int sockfd, const struct msghdr *msg, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/utils/common/netio.c:401,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/common/netio.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 409
    functionName: net_get_remote
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    linkageType: ''
    returnType: char
    signature: char *net_get_remote(const net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_addr_str
      Src: /src/knot-dns/src/utils/common/netio.c:419,1
    - Dst: get_protocol
      Src: /src/knot-dns/src/utils/common/netio.c:420,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:425,1
    - Dst: fcntl
      Src: /src/knot-dns/src/utils/common/netio.c:437,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:438,1
    - Dst: bind
      Src: /src/knot-dns/src/utils/common/netio.c:444,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:446,1
    - Dst: bind
      Src: /src/knot-dns/src/utils/common/netio.c:452,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/utils/common/netio.c:452,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/utils/common/netio.c:462,1
    - Dst: fastopen_connect
      Src: /src/knot-dns/src/utils/common/netio.c:468,1
    - Dst: connect
      Src: /src/knot-dns/src/utils/common/netio.c:470,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:473,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:474,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/netio.c:479,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:480,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:481,1
    - Dst: getsockopt
      Src: /src/knot-dns/src/utils/common/netio.c:486,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:488,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:489,1
    - Dst: tls_ctx_setup_remote_endpoint
      Src: /src/knot-dns/src/utils/common/netio.c:499,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:502,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/netio.c:506,1
    - Dst: https_ctx_connect
      Src: /src/knot-dns/src/utils/common/netio.c:508,1
    - Dst: tls_ctx_setup_remote_endpoint
      Src: /src/knot-dns/src/utils/common/netio.c:514,1
    - Dst: knot_tls_priority
      Src: /src/knot-dns/src/utils/common/netio.c:515,1
    - Dst: net_get_remote
      Src: /src/knot-dns/src/utils/common/netio.c:515,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:517,1
    - Dst: tls_ctx_connect
      Src: /src/knot-dns/src/utils/common/netio.c:520,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:524,1
    - Dst: net_cmsg_ecn_enable
      Src: /src/knot-dns/src/utils/common/netio.c:533,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:535,1
    - Dst: tls_ctx_setup_remote_endpoint
      Src: /src/knot-dns/src/utils/common/netio.c:538,1
    - Dst: knot_tls_priority
      Src: /src/knot-dns/src/utils/common/netio.c:539,1
    - Dst: net_get_remote
      Src: /src/knot-dns/src/utils/common/netio.c:539,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:541,1
    - Dst: quic_ctx_connect
      Src: /src/knot-dns/src/utils/common/netio.c:544,1
    - Dst: net_close
      Src: /src/knot-dns/src/utils/common/netio.c:547,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 558
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 558
    functionName: net_connect
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 3
    functionsReached:
    - net_close
    - get_protocol
    - tls_ctx_setup_remote_endpoint
    - https_ctx_connect
    - get_addr_str
    - connect
    - WARN
    - knot_tls_priority
    - setsockopt
    - quic_ctx_connect
    - getsockopt
    - bind
    - net_get_remote
    - strdup
    - fcntl
    - tls_ctx_connect
    - net_cmsg_ecn_enable
    - fastopen_connect
    - poll
    - sockaddr_len
    linkageType: ''
    returnType: int
    signature: int net_connect(net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/utils/common/netio.c:569,1
    - Dst: getsockname
      Src: /src/knot-dns/src/utils/common/netio.c:580,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:581,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:582,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:588,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/common/netio.c:590,1
    - Dst: get_addr_str
      Src: /src/knot-dns/src/utils/common/netio.c:596,1
    - Dst: get_protocol
      Src: /src/knot-dns/src/utils/common/netio.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: net_set_local_info
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 1
    functionsReached:
    - freeaddrinfo
    - get_protocol
    - calloc
    - get_addr_str
    - free
    - WARN
    - getsockname
    linkageType: ''
    returnType: int
    signature: int net_set_local_info(net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:615,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:640,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/netio.c:650,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:651,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:659,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:667,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:698,1
    - Dst: fastopen_send
      Src: /src/knot-dns/src/utils/common/netio.c:710,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/utils/common/netio.c:712,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:715,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - net
    - buf
    - buf_len
    argTypes:
    - net_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 721
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 721
    functionName: net_send
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 3
    functionsReached:
    - WARN
    - sendmsg
    - fastopen_send
    linkageType: ''
    returnType: int
    signature: int net_send(const net_t *net, const uint8_t *buf, const size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:743,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/netio.c:752,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/netio.c:759,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:760,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:769,1
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/common/netio.c:776,1
    - Dst: get_addr_str
      Src: /src/knot-dns/src/utils/common/netio.c:778,1
    - Dst: get_protocol
      Src: /src/knot-dns/src/utils/common/netio.c:778,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:779,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:780,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:791,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:800,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/netio.c:811,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:812,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:821,1
    - Dst: ntohs
      Src: /src/knot-dns/src/utils/common/netio.c:829,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/netio.c:838,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:839,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/netio.c:847,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 3
    argNames:
    - net
    - buf
    - buf_len
    argTypes:
    - net_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 858
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 858
    functionName: net_receive
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 2
    functionsReached:
    - get_protocol
    - get_addr_str
    - ntohs
    - free
    - memcmp
    - WARN
    - poll
    - memset
    linkageType: ''
    returnType: int
    signature: int net_receive(const net_t *net, uint8_t *buf, const size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_ctx_close
      Src: /src/knot-dns/src/utils/common/netio.c:869,1
    - Dst: tls_ctx_close
      Src: /src/knot-dns/src/utils/common/netio.c:872,1
    - Dst: close
      Src: /src/knot-dns/src/utils/common/netio.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 875
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 875
    functionName: net_close
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 6
    functionsReached:
    - tls_ctx_close
    - quic_ctx_close
    - close
    linkageType: ''
    returnType: void
    signature: void net_close(net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:884,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:885,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:891,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/common/netio.c:893,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:900,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/netio.c:901,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/utils/common/netio.c:903,1
    - Dst: https_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:909,1
    - Dst: quic_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:912,1
    - Dst: tls_ctx_deinit
      Src: /src/knot-dns/src/utils/common/netio.c:914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - net
    argTypes:
    - net_t*
    constantsTouched: []
    func_position:
      end: 915
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 915
    functionName: net_clean
    functionSourceFile: /src/knot-dns/src/utils/common/netio.c
    functionUses: 7
    functionsReached:
    - freeaddrinfo
    - https_ctx_deinit
    - free
    - tls_ctx_deinit
    - quic_ctx_deinit
    linkageType: ''
    returnType: void
    signature: void net_clean(net_t *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: msg_enable_debug
    functionSourceFile: /src/knot-dns/src/utils/common/msg.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int msg_enable_debug(int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/utils/common/msg.c:24,1
    - Dst: vprintf
      Src: /src/knot-dns/src/utils/common/msg.c:25,1
    - Dst: va_end
      Src: /src/knot-dns/src/utils/common/msg.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: msg_debug
    functionSourceFile: /src/knot-dns/src/utils/common/msg.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vprintf
    linkageType: ''
    returnType: int
    signature: int msg_debug(int level, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/params.h:114,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/params.h:116,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/params.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prog_name
    - verbose
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: print_version
    functionSourceFile: /src/knot-dns/src/utils/common/params.h
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(const char *prog_name, bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - sign_context_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 33
    functionName: sign_context_init_tsig
    functionSourceFile: /src/knot-dns/src/utils/common/sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sign_context_init_tsig(sign_context_t *ctx, const knot_tsig_key_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/common/sign.c:41,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/sign.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - sign_context_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: sign_context_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/sign.c
    functionUses: 4
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void sign_context_deinit(sign_context_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_sign
      Src: /src/knot-dns/src/utils/common/sign.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - sign_ctx
    argTypes:
    - knot_pkt_t*
    - sign_context_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: sign_packet
    functionSourceFile: /src/knot-dns/src/utils/common/sign.c
    functionUses: 3
    functionsReached:
    - knot_tsig_sign
    linkageType: ''
    returnType: int
    signature: int sign_packet(knot_pkt_t *pkt, sign_context_t *sign_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_error
      Src: /src/knot-dns/src/utils/common/sign.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pkt
    - sign_ctx
    argTypes:
    - knot_pkt_t*
    - sign_context_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: verify_packet
    functionSourceFile: /src/knot-dns/src/utils/common/sign.c
    functionUses: 4
    functionsReached:
    - knot_tsig_rdata_error
    linkageType: ''
    returnType: int
    signature: int verify_packet(const knot_pkt_t *pkt, const sign_context_t *sign_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR
      Src: /src/knot-dns/src/utils/common/params.c:35,1
    - Dst: idna_strerror
      Src: /src/knot-dns/src/utils/common/params.c:35,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/utils/common/params.c:39,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/params.c:40,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/params.c:41,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/params.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - idn_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: name_from_idn
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 1
    functionsReached:
    - strdup
    - idna_strerror
    - ERR
    - free
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *name_from_idn(const char *idn_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/common/params.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: name_to_idn
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void name_to_idn(char **name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pref
    - pref_len
    - str
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: cmp_prefix
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmp_prefix(const char *pref, const size_t pref_len,\n                      const
      char *str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - str
    - str_len
    - tbl
    - unique
    argTypes:
    - char*
    - size_t
    - param_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 138
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 138
    functionName: best_param
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int best_param(const char *str, const size_t str_len, const param_t
      *tbl,\n               bool *unique)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/knot-dns/src/utils/common/params.c:153,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/params.c:157,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/params.c:165,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/utils/common/params.c:166,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/params.c:176,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/common/params.c:186,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/params.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: get_reverse_name
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 0
    functionsReached:
    - strdup
    - snprintf
    - inet_pton
    linkageType: ''
    returnType: char
    signature: char *get_reverse_name(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/params.c:210,1
    - Dst: malloc
      Src: /src/knot-dns/src/utils/common/params.c:214,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/common/params.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: get_fqd_name
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 1
    functionsReached:
    - strdup
    - malloc
    - strlcpy
    linkageType: ''
    returnType: char
    signature: char *get_fqd_name(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrclass_from_string
      Src: /src/knot-dns/src/utils/common/params.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - value
    - rclass
    argTypes:
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: params_parse_class
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 1
    functionsReached:
    - knot_rrclass_from_string
    linkageType: ''
    returnType: int
    signature: int params_parse_class(const char *value, uint16_t *rclass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/utils/common/params.c:251,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/utils/common/params.c:253,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/params.c:257,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/params.c:264,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/params.c:267,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/params.c:270,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/params.c:286,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/params.c:292,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - value
    - rtype
    - serial
    - notify
    argTypes:
    - char*
    - uint16_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 298
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 298
    functionName: params_parse_type
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strlen
    - knot_rrtype_from_string
    - free
    - DBG
    linkageType: ''
    returnType: int
    signature: "int params_parse_type(const char *value, uint16_t *rtype, int64_t
      *serial,\n                      bool *notify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_nameserver
      Src: /src/knot-dns/src/utils/common/params.c:308,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/common/params.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - servers
    - def_port
    argTypes:
    - char*
    - list_t*
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: params_parse_server
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 1
    functionsReached:
    - parse_nameserver
    - add_tail
    linkageType: ''
    returnType: int
    signature: int params_parse_server(const char *value, list_t *servers, const char
      *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - value
    - dst
    argTypes:
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 337
    functionName: params_parse_wait
    functionSourceFile: /src/knot-dns/src/utils/common/params.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int params_parse_wait(const char *value, int32_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/tls.c:36,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/common/tls.c:38,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/common/tls.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - tls_params_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: tls_params_init
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 3
    functionsReached:
    - init_list
    - memset
    linkageType: ''
    returnType: void
    signature: void tls_params_init(tls_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_params_init
      Src: /src/knot-dns/src/utils/common/tls.c:48,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/tls.c:53,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:55,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/tls.c:61,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:63,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/tls.c:69,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:71,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/tls.c:77,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:79,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:87,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/common/tls.c:90,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:91,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:95,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/common/tls.c:98,1
    - Dst: tls_params_clean
      Src: /src/knot-dns/src/utils/common/tls.c:99,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/tls.c:102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - tls_params_t*
    - tls_params_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 106
    functionName: tls_params_copy
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - strdup
    - tls_params_init
    - tls_params_clean
    - memcpy
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int tls_params_copy(tls_params_t *dst, const tls_params_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/common/tls.c:115,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:116,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/common/tls.c:118,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/utils/common/tls.c:120,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:121,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/utils/common/tls.c:123,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:125,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:126,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:127,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:128,1
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/tls.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - tls_params_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: tls_params_clean
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 4
    functionsReached:
    - free
    - memset
    - ptrlist_free
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void tls_params_clean(tls_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:135,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:140,1
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/common/tls.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cert_pin
    - cert_pin_len
    - pins
    argTypes:
    - uint8_t*
    - size_t
    - list_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: check_pin
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - EMPTY_LIST
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool check_pin(const uint8_t *cert_pin, size_t cert_pin_len, const
      list_t *pins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/knot-dns/src/utils/common/tls.c:168,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:169,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/knot-dns/src/utils/common/tls.c:172,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:173,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/knot-dns/src/utils/common/tls.c:177,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:178,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/knot-dns/src/utils/common/tls.c:183,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:185,1
    - Dst: gnutls_x509_crt_init
      Src: /src/knot-dns/src/utils/common/tls.c:188,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:189,1
    - Dst: gnutls_x509_crt_import
      Src: /src/knot-dns/src/utils/common/tls.c:193,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:194,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/knot-dns/src/utils/common/tls.c:198,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:199,1
    - Dst: gnutls_certificate_get_issuer
      Src: /src/knot-dns/src/utils/common/tls.c:204,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:206,1
    - Dst: gnutls_x509_crt_init
      Src: /src/knot-dns/src/utils/common/tls.c:209,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:210,1
    - Dst: gnutls_x509_crt_import
      Src: /src/knot-dns/src/utils/common/tls.c:214,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:215,1
    - Dst: time
      Src: /src/knot-dns/src/utils/common/tls.c:221,1
    - Dst: gnutls_ocsp_resp_check_crt
      Src: /src/knot-dns/src/utils/common/tls.c:222,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:223,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/knot-dns/src/utils/common/tls.c:226,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:227,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:231,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/knot-dns/src/utils/common/tls.c:234,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:236,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:240,1
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/utils/common/tls.c:244,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/tls.c:245,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/common/tls.c:246,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:248,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:253,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:263,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/utils/common/tls.c:266,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:269,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:272,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 113
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 276
    functionName: verify_ocsp
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - assert
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_session_get_ptr
    - gnutls_certificate_allocate_credentials
    - time
    - gnutls_certificate_get_issuer
    - gnutls_ocsp_resp_import
    - gnutls_certificate_free_credentials
    - WARN
    - gnutls_ocsp_resp_init
    - gnutls_certificate_get_peers
    - gnutls_ocsp_resp_get_single
    - gnutls_ocsp_resp_verify_direct
    - gnutls_ocsp_status_request_get
    - gnutls_ocsp_resp_check_crt
    linkageType: ''
    returnType: bool
    signature: bool verify_ocsp(gnutls_session_t *session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_type_get
      Src: /src/knot-dns/src/utils/common/tls.c:280,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:281,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/knot-dns/src/utils/common/tls.c:287,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:289,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:295,1
    - Dst: gnutls_x509_crt_import
      Src: /src/knot-dns/src/utils/common/tls.c:303,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:305,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/knot-dns/src/utils/common/tls.c:310,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:311,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/utils/common/tls.c:312,1
    - Dst: gnutls_x509_crt_print
      Src: /src/knot-dns/src/utils/common/tls.c:314,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:316,1
    - Dst: DBG2
      Src: /src/knot-dns/src/utils/common/tls.c:321,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/common/tls.c:323,1
    - Dst: DBG2
      Src: /src/knot-dns/src/utils/common/tls.c:325,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/utils/common/tls.c:329,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/knot-dns/src/utils/common/tls.c:333,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:336,1
    - Dst: knot_base64_encode_alloc
      Src: /src/knot-dns/src/utils/common/tls.c:347,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:349,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:352,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/tls.c:353,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:355,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:360,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:361,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 2
    argNames:
    - session
    - pins
    argTypes:
    - gnutls_session_t
    - list_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 367
    functionName: check_certificates
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - free
    - gnutls_x509_crt_get_key_id
    - gnutls_x509_crt_get_dn3
    - DBG
    - EMPTY_LIST
    - gnutls_certificate_get_peers
    - strncmp
    - knot_base64_encode_alloc
    - gnutls_certificate_type_get
    - DBG2
    linkageType: ''
    returnType: int
    signature: int check_certificates(gnutls_session_t session, const list_t *pins)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - tls_params_t*
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: do_verification
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - EMPTY_LIST
    linkageType: ''
    returnType: bool
    signature: bool do_verification(const tls_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_verification
      Src: /src/knot-dns/src/utils/common/tls.c:384,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:385,1
    - Dst: verify_ocsp
      Src: /src/knot-dns/src/utils/common/tls.c:389,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:390,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:403,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/knot-dns/src/utils/common/tls.c:407,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:409,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/knot-dns/src/utils/common/tls.c:414,1
    - Dst: gnutls_certificate_type_get
      Src: /src/knot-dns/src/utils/common/tls.c:415,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:417,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/utils/common/tls.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tls_ctx_t*
    constantsTouched: []
    func_position:
      end: 426
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 426
    functionName: tls_certificate_verification
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 1
    functionsReached:
    - gnutls_certificate_verification_status_print
    - gnutls_free
    - do_verification
    - gnutls_certificate_verify_peers
    - DBG
    - WARN
    - verify_ocsp
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: int
    signature: int tls_certificate_verification(tls_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/utils/common/tls.c:430,1
    - Dst: tls_certificate_verification
      Src: /src/knot-dns/src/utils/common/tls.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: verify_certificate
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - tls_certificate_verification
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: int verify_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/tls.c:442,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:454,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/knot-dns/src/utils/common/tls.c:455,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:457,1
    - Dst: gnutls_strerror_name
      Src: /src/knot-dns/src/utils/common/tls.c:458,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:461,1
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/utils/common/tls.c:467,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/knot-dns/src/utils/common/tls.c:469,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:472,1
    - Dst: gnutls_strerror_name
      Src: /src/knot-dns/src/utils/common/tls.c:473,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:476,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/knot-dns/src/utils/common/tls.c:480,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/knot-dns/src/utils/common/tls.c:485,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/knot-dns/src/utils/common/tls.c:489,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:494,1
    - Dst: DBG
      Src: /src/knot-dns/src/utils/common/tls.c:498,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:502,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:505,1
    - Dst: gnutls_init
      Src: /src/knot-dns/src/utils/common/tls.c:509,1
    - Dst: gnutls_credentials_set
      Src: /src/knot-dns/src/utils/common/tls.c:514,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - params
    - flags
    - wait
    argTypes:
    - tls_ctx_t*
    - tls_params_t*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 521
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 521
    functionName: tls_ctx_init
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - WALK_LIST
    - gnutls_certificate_set_x509_system_trust
    - gnutls_credentials_set
    - gnutls_certificate_set_x509_trust_file
    - gnutls_strerror_name
    - DBG
    - WARN
    - gnutls_init
    - EMPTY_LIST
    - memset
    - gnutls_certificate_set_x509_key_file
    - gnutls_certificate_set_verify_function
    linkageType: ''
    returnType: int
    signature: "int tls_ctx_init(tls_ctx_t *ctx, const tls_params_t *params,\n        unsigned
      int flags, int wait)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alpn_set_protocols
      Src: /src/knot-dns/src/utils/common/tls.c:531,1
    - Dst: gnutls_set_default_priority_append
      Src: /src/knot-dns/src/utils/common/tls.c:538,1
    - Dst: gnutls_set_default_priority
      Src: /src/knot-dns/src/utils/common/tls.c:541,1
    - Dst: gnutls_server_name_set
      Src: /src/knot-dns/src/utils/common/tls.c:548,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/tls.c:549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - alpn
    - alpn_size
    - priority
    - remote
    argTypes:
    - tls_ctx_t*
    - gnutls_datum_t*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 555
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 555
    functionName: tls_ctx_setup_remote_endpoint
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 1
    functionsReached:
    - strlen
    - gnutls_set_default_priority_append
    - gnutls_server_name_set
    - gnutls_set_default_priority
    - gnutls_alpn_set_protocols
    linkageType: ''
    returnType: int
    signature: "int tls_ctx_setup_remote_endpoint(tls_ctx_t *ctx, const gnutls_datum_t
      *alpn,\n        size_t alpn_size, const char *priority, const char *remote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_ptr
      Src: /src/knot-dns/src/utils/common/tls.c:565,1
    - Dst: gnutls_transport_set_fastopen
      Src: /src/knot-dns/src/utils/common/tls.c:569,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/utils/common/tls.c:570,1
    - Dst: gnutls_transport_set_int
      Src: /src/knot-dns/src/utils/common/tls.c:575,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/knot-dns/src/utils/common/tls.c:578,1
    - Dst: gnutls_handshake
      Src: /src/knot-dns/src/utils/common/tls.c:589,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/tls.c:590,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/tls.c:591,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:592,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/tls.c:596,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:598,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/tls.c:598,1
    - Dst: tls_ctx_close
      Src: /src/knot-dns/src/utils/common/tls.c:599,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - sockfd
    - fastopen
    - addr
    argTypes:
    - tls_ctx_t*
    - int
    - bool
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 607
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 607
    functionName: tls_ctx_connect
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - tls_ctx_close
    - gnutls_session_set_ptr
    - gnutls_handshake_set_timeout
    - gnutls_handshake
    - WARN
    - poll
    - gnutls_error_is_fatal
    - sockaddr_len
    - gnutls_transport_set_fastopen
    - gnutls_transport_set_int
    linkageType: ''
    returnType: int
    signature: "int tls_ctx_connect(tls_ctx_t *ctx, int sockfd, bool fastopen,\n        struct
      sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_cork
      Src: /src/knot-dns/src/utils/common/tls.c:617,1
    - Dst: gnutls_record_send
      Src: /src/knot-dns/src/utils/common/tls.c:619,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:620,1
    - Dst: gnutls_record_send
      Src: /src/knot-dns/src/utils/common/tls.c:623,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:624,1
    - Dst: gnutls_record_check_corked
      Src: /src/knot-dns/src/utils/common/tls.c:628,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/tls.c:630,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:631,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/tls.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - tls_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 637
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 637
    functionName: tls_ctx_send
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_record_send
    - gnutls_record_cork
    - WARN
    - gnutls_error_is_fatal
    - gnutls_record_check_corked
    linkageType: ''
    returnType: int
    signature: int tls_ctx_send(tls_ctx_t *ctx, const uint8_t *buf, const size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:663,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/tls.c:665,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:666,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/tls.c:667,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/tls.c:669,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:670,1
    - Dst: ntohs
      Src: /src/knot-dns/src/utils/common/tls.c:676,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:690,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/utils/common/tls.c:692,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:693,1
    - Dst: gnutls_strerror
      Src: /src/knot-dns/src/utils/common/tls.c:694,1
    - Dst: poll
      Src: /src/knot-dns/src/utils/common/tls.c:696,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:697,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - ctx
    - buf
    - buf_len
    argTypes:
    - tls_ctx_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 703
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 703
    functionName: tls_ctx_receive
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - ntohs
    - WARN
    - poll
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int tls_ctx_receive(tls_ctx_t *ctx, uint8_t *buf, const size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/knot-dns/src/utils/common/tls.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tls_ctx_t*
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: tls_ctx_close
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 2
    functionsReached:
    - gnutls_bye
    linkageType: ''
    returnType: void
    signature: void tls_ctx_close(tls_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/utils/common/tls.c:721,1
    - Dst: gnutls_deinit
      Src: /src/knot-dns/src/utils/common/tls.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tls_ctx_t*
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: tls_ctx_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 2
    functionsReached:
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void tls_ctx_deinit(tls_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/tls.c:737,1
    - Dst: strstr
      Src: /src/knot-dns/src/utils/common/tls.c:738,1
    - Dst: WARN
      Src: /src/knot-dns/src/utils/common/tls.c:739,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/utils/common/tls.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - tls_ctx_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 742
    functionName: print_tls
    functionSourceFile: /src/knot-dns/src/utils/common/tls.c
    functionUses: 1
    functionsReached:
    - WARN
    - printf
    - gnutls_free
    - strstr
    linkageType: ''
    returnType: void
    signature: void print_tls(const tls_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigaddset
      Src: /src/knot-dns/src/utils/common/signal.c:22,1
    - Dst: sigprocmask
      Src: /src/knot-dns/src/utils/common/signal.c:23,1
    - Dst: abort
      Src: /src/knot-dns/src/utils/common/signal.c:26,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/signal.c:29,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/common/signal.c:29,1
    - Dst: strsignal
      Src: /src/knot-dns/src/utils/common/signal.c:30,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/common/signal.c:32,1
    - Dst: conf_t*::api::deinit
      Src: /src/knot-dns/src/utils/common/signal.c:34,1
    - Dst: knot_lmdb_close
      Src: /src/knot-dns/src/utils/common/signal.c:38,1
    - Dst: exit
      Src: /src/knot-dns/src/utils/common/signal.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 42
    functionName: signal_handler
    functionSourceFile: /src/knot-dns/src/utils/common/signal.c
    functionUses: 0
    functionsReached:
    - abort
    - exit
    - COL_RST
    - conf
    - strsignal
    - knot_lmdb_close
    - sigaddset
    - sigprocmask
    - conf_t*::api::deinit
    - printf
    linkageType: ''
    returnType: void
    signature: void signal_handler(int signum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:48,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:49,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:50,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:51,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:52,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:53,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/common/signal.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: signal_init_std
    functionSourceFile: /src/knot-dns/src/utils/common/signal.c
    functionUses: 2
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: void
    signature: void signal_init_std(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/common/lookup.c:18,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/utils/common/lookup.c:20,1
    - Dst: trie_create
      Src: /src/knot-dns/src/utils/common/lookup.c:21,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/utils/common/lookup.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - lookup_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 28
    functionName: lookup_init
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - mp_delete
    - trie_create
    - mm_ctx_mempool
    - memset
    linkageType: ''
    returnType: int
    signature: int lookup_init(lookup_t *lookup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/knot-dns/src/utils/common/lookup.c:36,1
    - Dst: mm_free
      Src: /src/knot-dns/src/utils/common/lookup.c:42,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/utils/common/lookup.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - lookup_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: reset_output
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - mm_free
    - trie_it_free
    linkageType: ''
    returnType: void
    signature: void reset_output(lookup_t *lookup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_output
      Src: /src/knot-dns/src/utils/common/lookup.c:55,1
    - Dst: trie_free
      Src: /src/knot-dns/src/utils/common/lookup.c:57,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/utils/common/lookup.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - lookup_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: lookup_deinit
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 3
    functionsReached:
    - trie_free
    - reset_output
    - mp_delete
    linkageType: ''
    returnType: void
    signature: void lookup_deinit(lookup_t *lookup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/utils/common/lookup.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - lookup
    - str
    - data
    argTypes:
    - lookup_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: lookup_insert
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 2
    functionsReached:
    - trie_get_ins
    linkageType: ''
    returnType: int
    signature: int lookup_insert(lookup_t *lookup, const char *str, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_del
      Src: /src/knot-dns/src/utils/common/lookup.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - lookup
    - str
    argTypes:
    - lookup_t*
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: lookup_remove
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - trie_del
    linkageType: ''
    returnType: int
    signature: int lookup_remove(lookup_t *lookup, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/knot-dns/src/utils/common/lookup.c:98,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/utils/common/lookup.c:100,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/common/lookup.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - lookup
    - dst
    - key
    - key_len
    argTypes:
    - lookup_t*
    - char**
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: set_key
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 2
    functionsReached:
    - mm_free
    - memcpy
    - mm_alloc
    linkageType: ''
    returnType: int
    signature: int set_key(lookup_t *lookup, char **dst, const char *key, size_t key_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_output
      Src: /src/knot-dns/src/utils/common/lookup.c:121,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/utils/common/lookup.c:124,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/utils/common/lookup.c:125,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/utils/common/lookup.c:125,1
    - Dst: set_key
      Src: /src/knot-dns/src/utils/common/lookup.c:146,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/utils/common/lookup.c:150,1
    - Dst: memcmp
      Src: /src/knot-dns/src/utils/common/lookup.c:157,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/utils/common/lookup.c:166,1
    - Dst: set_key
      Src: /src/knot-dns/src/utils/common/lookup.c:175,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/lookup.c:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - lookup
    - str
    - str_len
    argTypes:
    - lookup_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 184
    functionName: lookup_search
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - strlen
    - set_key
    - trie_it_next
    - memcmp
    - trie_it_begin
    - reset_output
    - trie_it_free
    - trie_it_val
    - trie_it_finished
    linkageType: ''
    returnType: int
    signature: int lookup_search(lookup_t *lookup, const char *str, size_t str_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/utils/common/lookup.c:193,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/utils/common/lookup.c:194,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/utils/common/lookup.c:199,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/utils/common/lookup.c:206,1
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/utils/common/lookup.c:211,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/utils/common/lookup.c:212,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/common/lookup.c:216,1
    - Dst: trie_it_val
      Src: /src/knot-dns/src/utils/common/lookup.c:219,1
    - Dst: trie_it_next
      Src: /src/knot-dns/src/utils/common/lookup.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - lookup_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: lookup_list
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - trie_it_next
    - trie_it_begin
    - strncmp
    - trie_it_free
    - trie_it_val
    - trie_it_finished
    linkageType: ''
    returnType: void
    signature: void lookup_list(lookup_t *lookup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: el_get
      Src: /src/knot-dns/src/utils/common/lookup.c:231,1
    - Dst: lookup_list
      Src: /src/knot-dns/src/utils/common/lookup.c:236,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/lookup.c:237,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/lookup.c:240,1
    - Dst: el_getc
      Src: /src/knot-dns/src/utils/common/lookup.c:243,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/common/lookup.c:250,1
    - Dst: fflush
      Src: /src/knot-dns/src/utils/common/lookup.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - lookup
    - el
    argTypes:
    - lookup_t*
    - EditLine*
    constantsTouched: []
    func_position:
      end: 252
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 252
    functionName: print_options
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 0
    functionsReached:
    - lookup_list
    - fflush
    - printf
    - el_getc
    - el_get
    linkageType: ''
    returnType: void
    signature: void print_options(lookup_t *lookup, EditLine *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: el_deletestr
      Src: /src/knot-dns/src/utils/common/lookup.c:265,1
    - Dst: el_insertstr
      Src: /src/knot-dns/src/utils/common/lookup.c:266,1
    - Dst: el_insertstr
      Src: /src/knot-dns/src/utils/common/lookup.c:268,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/lookup.c:272,1
    - Dst: el_deletestr
      Src: /src/knot-dns/src/utils/common/lookup.c:273,1
    - Dst: el_insertstr
      Src: /src/knot-dns/src/utils/common/lookup.c:274,1
    - Dst: print_options
      Src: /src/knot-dns/src/utils/common/lookup.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - lookup
    - str
    - str_len
    - el
    - add_space
    argTypes:
    - lookup_t*
    - char*
    - size_t
    - EditLine*
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 284
    functionName: lookup_complete
    functionSourceFile: /src/knot-dns/src/utils/common/lookup.c
    functionUses: 1
    functionsReached:
    - print_options
    - strlen
    - el_insertstr
    - el_deletestr
    linkageType: ''
    returnType: int
    signature: "int lookup_complete(lookup_t *lookup, const char *str, size_t str_len,\n
      \                   EditLine *el, bool add_space)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/common/resolv.c:35,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/common/resolv.c:47,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/common/resolv.c:53,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/common/resolv.c:59,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/common/resolv.c:62,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/resolv.c:89,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/common/resolv.c:91,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/common/resolv.c:94,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/common/resolv.c:97,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/resolv.c:99,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/resolv.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 2
    argNames:
    - str
    - def_port
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 103
    functionName: parse_nameserver
    functionSourceFile: /src/knot-dns/src/utils/common/resolv.c
    functionUses: 3
    functionsReached:
    - strdup
    - srv_info_create
    - free
    - strchr
    - strndup
    linkageType: ''
    returnType: srv_info_t
    signature: srv_info_t * parse_nameserver(const char *str, const char *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/utils/common/resolv.c:110,1
    - Dst: fgets
      Src: /src/knot-dns/src/utils/common/resolv.c:116,1
    - Dst: strspn
      Src: /src/knot-dns/src/utils/common/resolv.c:122,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/common/resolv.c:129,1
    - Dst: strspn
      Src: /src/knot-dns/src/utils/common/resolv.c:138,1
    - Dst: strndup
      Src: /src/knot-dns/src/utils/common/resolv.c:147,1
    - Dst: strcspn
      Src: /src/knot-dns/src/utils/common/resolv.c:147,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/common/resolv.c:150,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/common/resolv.c:150,1
    - Dst: parse_nameserver
      Src: /src/knot-dns/src/utils/common/resolv.c:153,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/common/resolv.c:157,1
    - Dst: free
      Src: /src/knot-dns/src/utils/common/resolv.c:162,1
    - Dst: fclose
      Src: /src/knot-dns/src/utils/common/resolv.c:166,1
    - Dst: list_size
      Src: /src/knot-dns/src/utils/common/resolv.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - servers
    - def_port
    argTypes:
    - list_t*
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 170
    functionName: get_resolv_nameservers
    functionSourceFile: /src/knot-dns/src/utils/common/resolv.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - strlen
    - free
    - list_size
    - strspn
    - add_tail
    - strcspn
    - strncmp
    - parse_nameserver
    - fgets
    - strndup
    linkageType: ''
    returnType: size_t
    signature: size_t get_resolv_nameservers(list_t *servers, const char *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/utils/common/resolv.c:180,1
    - Dst: get_resolv_nameservers
      Src: /src/knot-dns/src/utils/common/resolv.c:183,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/common/resolv.c:187,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/common/resolv.c:190,1
    - Dst: srv_info_create
      Src: /src/knot-dns/src/utils/common/resolv.c:194,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/common/resolv.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - servers
    - def_port
    argTypes:
    - list_t*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: get_nameservers
    functionSourceFile: /src/knot-dns/src/utils/common/resolv.c
    functionUses: 1
    functionsReached:
    - srv_info_create
    - init_list
    - get_resolv_nameservers
    - add_tail
    linkageType: ''
    returnType: void
    signature: void get_nameservers(list_t *servers, const char *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/main.c
    functionUses: 7
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:49,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: str2bool
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/main.c
    functionUses: 0
    functionsReached:
    - knot_tolower
    linkageType: ''
    returnType: bool
    signature: bool str2bool(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:67,1
    - Dst: tzset
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:84,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:88,1
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:97,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:98,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:106,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:109,1
    - Dst: str2bool
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:112,1
    - Dst: knot_time_parse
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:118,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:120,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:125,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:132,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:133,1
    - Dst: strncmp
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:138,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:145,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:146,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:149,1
    - Dst: log_init
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:153,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:154,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:155,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:156,1
    - Dst: log_flag_set
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:157,1
    - Dst: log_levels_add
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:159,1
    - Dst: LOG_UPTO
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:159,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:164,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kzonecheck/main.c:167,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 173
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/main.c
    functionUses: 4
    functionsReached:
    - print_version
    - knot_dname_from_str
    - time
    - print_help
    - log_close
    - tzset
    - knot_dname_to_lower
    - str_to_u16
    - log_levels_set
    - log_flag_set
    - INFO2
    - getopt_long
    - ERR2
    - str2bool
    - strncmp
    - log_levels_add
    - knot_time_parse
    - LOG_UPTO
    - log_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:27,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:28,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:38,1
    - Dst: sem_error_msg
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - handler
    - zone
    - node
    - error
    - data
    argTypes:
    - sem_handler_t*
    - zone_contents_t*
    - knot_dname_t*
    - sem_error_t
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: err_callback
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/zone_check.c
    functionUses: 0
    functionsReached:
    - assert
    - sem_error_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void err_callback(sem_handler_t *handler, const zone_contents_t *zone,\n
      \                        const knot_dname_t *node, sem_error_t error, const
      char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:48,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:51,1
    - Dst: sem_error_msg
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stats
    argTypes:
    - err_handler_stats_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: print_statistics
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/zone_check.c
    functionUses: 0
    functionsReached:
    - sem_error_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_statistics(err_handler_stats_t *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:71,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:74,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:77,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:77,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:84,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:85,1
    - Dst: zonefile_load
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:89,1
    - Dst: zonefile_close
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:90,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:92,1
    - Dst: print_statistics
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:97,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:99,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:100,1
    - Dst: zone_contents_digest_verify
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:108,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:111,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:113,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:119,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:121,1
    - Dst: zone_dump_text
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:122,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/utils/kzonecheck/zone_check.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 8
    argNames:
    - zone_file
    - zone_name
    - zonemd
    - dflt_ttl
    - optional
    - time
    - print
    - threads
    argTypes:
    - char*
    - knot_dname_t*
    - bool
    - uint32_t
    - semcheck_optional_t
    - time_t
    - bool
    - uint16_t
    constantsTouched: []
    func_position:
      end: 128
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 128
    functionName: zone_check
    functionSourceFile: /src/knot-dns/src/utils/kzonecheck/zone_check.c
    functionUses: 0
    functionsReached:
    - zone_contents_digest_verify
    - log_debug
    - knot_strerror
    - knot_dname_to_str
    - zone_dump_text
    - zonefile_close
    - ERR2
    - zonefile_load
    - print_statistics
    - zone_contents_deep_free
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int zone_check(const char *zone_file, const knot_dname_t *zone_name,
      bool zonemd,\n               uint32_t dflt_ttl, semcheck_optional_t optional,
      time_t time,\n               bool print, uint16_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:41,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:47,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - el
    - str
    - str_len
    argTypes:
    - EditLine*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: cmds_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 1
    functionsReached:
    - lookup_insert
    - lookup_complete
    - lookup_deinit
    linkageType: ''
    returnType: void
    signature: void cmds_lookup(EditLine *el, const char *str, size_t str_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:64,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:65,1
    - Dst: lookup_remove
      Src: /src/knot-dns/src/utils/knotc/interactive.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - lookup
    - check_ctx
    argTypes:
    - lookup_t*
    - dup_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: remove_duplicates
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - strlcat
    - lookup_remove
    linkageType: ''
    returnType: void
    signature: void remove_duplicates(lookup_t *lookup, dup_check_ctx_t *check_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_iter
      Src: /src/knot-dns/src/utils/knotc/interactive.c:84,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:84,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/utils/knotc/interactive.c:85,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:85,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/utils/knotc/interactive.c:86,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:86,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:89,1
    - Dst: conf_iter_finish
      Src: /src/knot-dns/src/utils/knotc/interactive.c:91,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:91,1
    - Dst: remove_duplicates
      Src: /src/knot-dns/src/utils/knotc/interactive.c:96,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:97,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - el
    - str
    - str_len
    - check_ctx
    argTypes:
    - EditLine*
    - char*
    - size_t
    - dup_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: local_zones_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - conf_iter_next
    - lookup_insert
    - remove_duplicates
    - lookup_complete
    - conf_iter_id
    - conf
    - conf_iter_finish
    - lookup_deinit
    - conf_iter
    linkageType: ''
    returnType: void
    signature: "void local_zones_lookup(EditLine *el, const char *str, size_t str_len,\n
      \                              dup_check_ctx_t *check_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:106,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:113,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:115,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - el
    - separators
    argTypes:
    - EditLine*
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: list_separators
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - lookup_insert
    - lookup_complete
    - lookup_init
    - lookup_deinit
    linkageType: ''
    returnType: void
    signature: void list_separators(EditLine *el, const char *separators)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:129,1
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/interactive.c:132,1
    - Dst: set_ctl
      Src: /src/knot-dns/src/utils/knotc/interactive.c:143,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/utils/knotc/interactive.c:144,1
    - Dst: knot_ctl_send
      Src: /src/knot-dns/src/utils/knotc/interactive.c:145,1
    - Dst: lookup_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:146,1
    - Dst: unset_ctl
      Src: /src/knot-dns/src/utils/knotc/interactive.c:147,1
    - Dst: knot_ctl_receive
      Src: /src/knot-dns/src/utils/knotc/interactive.c:155,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:165,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:170,1
    - Dst: remove_duplicates
      Src: /src/knot-dns/src/utils/knotc/interactive.c:175,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:176,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:177,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:182,1
    - Dst: unset_ctl
      Src: /src/knot-dns/src/utils/knotc/interactive.c:183,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 10
    argNames:
    - el
    - str
    - str_len
    - section
    - item
    - id
    - check_ctx
    - add_space
    - filters
    - idx
    argTypes:
    - EditLine*
    - char*
    - size_t
    - char*
    - char*
    - char*
    - dup_check_ctx_t*
    - bool
    - char*
    - knot_ctl_idx_t
    constantsTouched: []
    func_position:
      end: 186
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 186
    functionName: rmt_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - assert
    - lookup_insert
    - unset_ctl
    - remove_duplicates
    - lookup_complete
    - knot_ctl_send
    - ctl_cmd_to_str
    - lookup_deinit
    - lookup_init
    - strcmp
    - printf
    - set_ctl
    - knot_ctl_receive
    linkageType: ''
    returnType: bool
    signature: "bool rmt_lookup(EditLine *el, const char *str, size_t str_len,\n                       const
      char *section, const char *item, const char *id,\n                       dup_check_ctx_t
      *check_ctx, bool add_space, const char *filters,\n                       knot_ctl_idx_t
      idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:194,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:196,1
    - Dst: rmt_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - el
    - str
    - str_len
    - section
    - cmd_desc
    - ctx
    - add_space
    - zones
    argTypes:
    - EditLine*
    - char*
    - size_t
    - char*
    - cmd_desc_t*
    - dup_check_ctx_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: id_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - rmt_lookup
    - strlcat
    linkageType: ''
    returnType: bool
    signature: "bool id_lookup(EditLine *el, const char *str, size_t str_len,\n                      const
      char *section, const cmd_desc_t *cmd_desc,\n                      dup_check_ctx_t
      *ctx, bool add_space, bool zones)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:209,1
    - Dst: rmt_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - el
    - str
    - str_len
    - section
    - item
    - id
    - ctx
    - list_schema
    argTypes:
    - EditLine*
    - char*
    - size_t
    - char*
    - char*
    - char*
    - dup_check_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: val_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - rmt_lookup
    - strlcat
    linkageType: ''
    returnType: void
    signature: "void val_lookup(EditLine *el, const char *str, size_t str_len,\n                       const
      char *section, const char *item, const char *id,\n                       dup_check_ctx_t
      *ctx, bool list_schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rmt_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:221,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/interactive.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - el
    - str
    - section
    argTypes:
    - EditLine*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: list_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - rmt_lookup
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool list_lookup(EditLine *el, const char *str, const char *section)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:229,1
    - Dst: list_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:243,1
    - Dst: list_separators
      Src: /src/knot-dns/src/utils/knotc/interactive.c:245,1
    - Dst: id_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:249,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/interactive.c:249,1
    - Dst: list_separators
      Src: /src/knot-dns/src/utils/knotc/interactive.c:251,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:255,1
    - Dst: list_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:262,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:263,1
    - Dst: list_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:266,1
    - Dst: list_separators
      Src: /src/knot-dns/src/utils/knotc/interactive.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - el
    - str
    - cmd_desc
    argTypes:
    - EditLine*
    - char*
    - cmd_desc_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 271
    functionName: item_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - strlen
    - list_lookup
    - list_separators
    - id_lookup
    - free
    linkageType: ''
    returnType: void
    signature: void item_lookup(EditLine *el, const char *str, const cmd_desc_t *cmd_desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:282,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:283,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:284,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:285,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:286,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:287,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:288,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:289,1
    - Dst: lookup_search
      Src: /src/knot-dns/src/utils/knotc/interactive.c:293,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/interactive.c:293,1
    - Dst: lookup_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:296,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:302,1
    - Dst: remove_duplicates
      Src: /src/knot-dns/src/utils/knotc/interactive.c:308,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:309,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/interactive.c:309,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:311,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - el
    - str
    - cmd
    - dup_ctx
    argTypes:
    - EditLine*
    - char*
    - cmd_desc_t*
    - dup_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 316
    functionName: filter_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - remove_duplicates
    - lookup_insert
    - strlen
    - lookup_complete
    - lookup_search
    - lookup_deinit
    - lookup_init
    linkageType: ''
    returnType: void
    signature: "void filter_lookup(EditLine *el, const char *str, const cmd_desc_t
      *cmd,\n\t\t\t  dup_check_ctx_t *dup_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/knotc/interactive.c:325,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/knotc/interactive.c:353,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/knotc/interactive.c:360,1
    - Dst: stat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:361,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/utils/knotc/interactive.c:361,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:364,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:364,1
    - Dst: snprintf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:366,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:367,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:374,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/interactive.c:374,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/utils/knotc/interactive.c:376,1
    - Dst: stat
      Src: /src/knot-dns/src/utils/knotc/interactive.c:377,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/utils/knotc/interactive.c:377,1
    - Dst: el_insertstr
      Src: /src/knot-dns/src/utils/knotc/interactive.c:378,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:383,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:386,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:388,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - el
    - str
    - dirsonly
    argTypes:
    - EditLine*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 389
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 389
    functionName: path_lookup
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached:
    - lookup_insert
    - lookup_complete
    - strlcpy
    - strlen
    - free
    - snprintf
    - stat
    - lookup_deinit
    - strcmp
    - el_insertstr
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: void path_lookup(EditLine *el, const char *str, bool dirsonly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: el_line
      Src: /src/knot-dns/src/utils/knotc/interactive.c:396,1
    - Dst: tok_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:397,1
    - Dst: print_commands
      Src: /src/knot-dns/src/utils/knotc/interactive.c:407,1
    - Dst: cmds_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:413,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:419,1
    - Dst: set_config
      Src: /src/knot-dns/src/utils/knotc/interactive.c:432,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:440,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:440,1
    - Dst: path_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:441,1
    - Dst: filter_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:447,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:453,1
    - Dst: path_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:454,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/interactive.c:460,1
    - Dst: path_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:461,1
    - Dst: lookup_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:473,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:476,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:477,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:478,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:480,1
    - Dst: local_zones_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:492,1
    - Dst: id_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:494,1
    - Dst: item_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:500,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:506,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:507,1
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:508,1
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/knotc/interactive.c:509,1
    - Dst: val_lookup
      Src: /src/knot-dns/src/utils/knotc/interactive.c:511,1
    - Dst: lookup_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:519,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:522,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:523,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:524,1
    - Dst: lookup_insert
      Src: /src/knot-dns/src/utils/knotc/interactive.c:525,1
    - Dst: lookup_complete
      Src: /src/knot-dns/src/utils/knotc/interactive.c:526,1
    - Dst: lookup_deinit
      Src: /src/knot-dns/src/utils/knotc/interactive.c:528,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/knotc/interactive.c:533,1
    - Dst: tok_reset
      Src: /src/knot-dns/src/utils/knotc/interactive.c:534,1
    - Dst: tok_end
      Src: /src/knot-dns/src/utils/knotc/interactive.c:535,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 119
    argCount: 2
    argNames:
    - el
    - ch
    argTypes:
    - EditLine*
    - int
    constantsTouched: []
    func_position:
      end: 538
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 538
    functionName: complete
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 8
    functionsReached:
    - set_config
    - strcmp
    - val_lookup
    - sscanf
    - path_lookup
    - filter_lookup
    - print_commands
    - assert
    - lookup_complete
    - item_lookup
    - el_line
    - tok_reset
    - lookup_deinit
    - tok_init
    - conf_update
    - lookup_insert
    - id_lookup
    - local_zones_lookup
    - tok_end
    - lookup_init
    - cmds_lookup
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char complete(EditLine *el, int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - EditLine*
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: prompt
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *prompt(EditLine *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/utils/knotc/interactive.c:550,1
    - Dst: log_notice
      Src: /src/knot-dns/src/utils/knotc/interactive.c:553,1
    - Dst: el_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:556,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/interactive.c:558,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:559,1
    - Dst: history_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:563,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/interactive.c:565,1
    - Dst: el_end
      Src: /src/knot-dns/src/utils/knotc/interactive.c:566,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:567,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knotc/interactive.c:572,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knotc/interactive.c:573,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:574,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knotc/interactive.c:575,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:577,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:578,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:579,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:580,1
    - Dst: el_source
      Src: /src/knot-dns/src/utils/knotc/interactive.c:581,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:585,1
    - Dst: el_set
      Src: /src/knot-dns/src/utils/knotc/interactive.c:587,1
    - Dst: el_gets
      Src: /src/knot-dns/src/utils/knotc/interactive.c:591,1
    - Dst: tok_init
      Src: /src/knot-dns/src/utils/knotc/interactive.c:592,1
    - Dst: el_line
      Src: /src/knot-dns/src/utils/knotc/interactive.c:597,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knotc/interactive.c:600,1
    - Dst: history
      Src: /src/knot-dns/src/utils/knotc/interactive.c:601,1
    - Dst: process_cmd
      Src: /src/knot-dns/src/utils/knotc/interactive.c:604,1
    - Dst: tok_reset
      Src: /src/knot-dns/src/utils/knotc/interactive.c:607,1
    - Dst: tok_end
      Src: /src/knot-dns/src/utils/knotc/interactive.c:608,1
    - Dst: history_end
      Src: /src/knot-dns/src/utils/knotc/interactive.c:616,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/interactive.c:617,1
    - Dst: el_end
      Src: /src/knot-dns/src/utils/knotc/interactive.c:619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - process_params
    argTypes:
    - params_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 622
    functionName: interactive_loop
    functionSourceFile: /src/knot-dns/src/utils/knotc/interactive.c
    functionUses: 1
    functionsReached:
    - el_init
    - log_notice
    - sprintf_alloc
    - free
    - el_line
    - history
    - tok_reset
    - process_cmd
    - tok_end
    - el_end
    - history_end
    - history_init
    - el_gets
    - log_error
    - el_set
    - el_source
    - tok_init
    linkageType: ''
    returnType: int
    signature: int interactive_loop(params_t *process_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/main.c:25,1
    - Dst: print_commands
      Src: /src/knot-dns/src/utils/knotc/main.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/knotc/main.c
    functionUses: 8
    functionsReached:
    - printf
    - print_commands
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/knotc/main.c:79,1
    - Dst: signal_init_std
      Src: /src/knot-dns/src/utils/knotc/main.c:82,1
    - Dst: isatty
      Src: /src/knot-dns/src/utils/knotc/main.c:84,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/knotc/main.c:89,1
    - Dst: str_to_size
      Src: /src/knot-dns/src/utils/knotc/main.c:98,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotc/main.c:99,1
    - Dst: str_to_int
      Src: /src/knot-dns/src/utils/knotc/main.c:109,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotc/main.c:110,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotc/main.c:136,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/knotc/main.c:139,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotc/main.c:142,1
    - Dst: log_init
      Src: /src/knot-dns/src/utils/knotc/main.c:150,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/knotc/main.c:151,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/knotc/main.c:152,1
    - Dst: LOG_UPTO
      Src: /src/knot-dns/src/utils/knotc/main.c:152,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/knotc/main.c:153,1
    - Dst: log_flag_set
      Src: /src/knot-dns/src/utils/knotc/main.c:154,1
    - Dst: log_levels_add
      Src: /src/knot-dns/src/utils/knotc/main.c:156,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/utils/knotc/main.c:156,1
    - Dst: interactive_loop
      Src: /src/knot-dns/src/utils/knotc/main.c:161,1
    - Dst: process_cmd
      Src: /src/knot-dns/src/utils/knotc/main.c:163,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotc/main.c:166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 169
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/knotc/main.c
    functionUses: 4
    functionsReached:
    - getopt_long
    - log_levels_add
    - print_version
    - log_close
    - print_help
    - str_to_size
    - signal_init_std
    - LOG_UPTO
    - process_cmd
    - log_levels_set
    - interactive_loop
    - str_to_int
    - tzset
    - log_flag_set
    - LOG_MASK
    - isatty
    - log_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/process.c:20,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: get_cmd_desc
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 0
    functionsReached:
    - log_error
    - strcmp
    linkageType: ''
    returnType: cmd_desc_t
    signature: cmd_desc_t *get_cmd_desc(const char *command)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/process.c:35,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/process.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: get_cmd_force_flag
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool get_cmd_force_flag(const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/process.c:43,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/process.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: get_cmd_blocking_flag
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool get_cmd_blocking_flag(const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/knotc/process.c:56,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/utils/knotc/process.c:57,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/utils/knotc/process.c:57,1
    - Dst: log_levels_set
      Src: /src/knot-dns/src/utils/knotc/process.c:59,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:63,1
    - Dst: conf_db_exists
      Src: /src/knot-dns/src/utils/knotc/process.c:84,1
    - Dst: stat
      Src: /src/knot-dns/src/utils/knotc/process.c:87,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:91,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/process.c:96,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:115,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/process.c:117,1
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/knotc/process.c:123,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:125,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/process.c:126,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotc/process.c:127,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/knotc/process.c:133,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - desc
    - params
    - compl
    argTypes:
    - cmd_desc_t*
    - params_t*
    - bool
    constantsTouched: []
    func_position:
      end: 136
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 136
    functionName: set_config
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 1
    functionsReached:
    - conf_update
    - log_debug
    - knot_strerror
    - conf_import
    - log_levels_set
    - stat
    - conf_free
    - conf_db_exists
    - log_error
    - LOG_MASK
    linkageType: ''
    returnType: int
    signature: int set_config(const cmd_desc_t *desc, params_t *params, bool compl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/utils/knotc/process.c:157,1
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotc/process.c:159,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/process.c:159,1
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotc/process.c:160,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/process.c:160,1
    - Dst: conf_abs_path
      Src: /src/knot-dns/src/utils/knotc/process.c:162,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/process.c:163,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:166,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/process.c:170,1
    - Dst: knot_ctl_alloc
      Src: /src/knot-dns/src/utils/knotc/process.c:172,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/process.c:174,1
    - Dst: knot_ctl_set_timeout
      Src: /src/knot-dns/src/utils/knotc/process.c:178,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/utils/knotc/process.c:182,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:184,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/process.c:185,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/process.c:186,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotc/process.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - ctl
    - socket
    - timeout
    - desc
    argTypes:
    - knot_ctl_t**
    - char*
    - int
    - cmd_desc_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 193
    functionName: set_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 1
    functionsReached:
    - strdup
    - knot_ctl_free
    - log_debug
    - knot_strerror
    - free
    - conf
    - conf_abs_path
    - knot_ctl_set_timeout
    - knot_ctl_alloc
    - log_error
    - conf_get
    linkageType: ''
    returnType: int
    signature: int set_ctl(knot_ctl_t **ctl, const char *socket, int timeout, const
      cmd_desc_t *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/process.c:203,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/process.c:203,1
    - Dst: knot_ctl_close
      Src: /src/knot-dns/src/utils/knotc/process.c:206,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/utils/knotc/process.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctl
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: unset_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 1
    functionsReached:
    - knot_strerror
    - log_error
    - knot_ctl_close
    - knot_ctl_free
    linkageType: ''
    returnType: void
    signature: void unset_ctl(knot_ctl_t *ctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cmd_desc
      Src: /src/knot-dns/src/utils/knotc/process.c:217,1
    - Dst: get_cmd_force_flag
      Src: /src/knot-dns/src/utils/knotc/process.c:247,1
    - Dst: get_cmd_blocking_flag
      Src: /src/knot-dns/src/utils/knotc/process.c:251,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/process.c:262,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/process.c:265,1
    - Dst: set_ctl
      Src: /src/knot-dns/src/utils/knotc/process.c:273,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/knotc/process.c:275,1
    - Dst: cmd_desc_t*::fcn
      Src: /src/knot-dns/src/utils/knotc/process.c:280,1
    - Dst: unset_ctl
      Src: /src/knot-dns/src/utils/knotc/process.c:283,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/knotc/process.c:284,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - argc
    - argv
    - params
    argTypes:
    - int
    - char**
    - params_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 287
    functionName: process_cmd
    functionSourceFile: /src/knot-dns/src/utils/knotc/process.c
    functionUses: 2
    functionsReached:
    - conf_update
    - strlcat
    - unset_ctl
    - cmd_desc_t*::fcn
    - get_cmd_desc
    - get_cmd_blocking_flag
    - get_cmd_force_flag
    - set_ctl
    linkageType: ''
    returnType: int
    signature: int process_cmd(int argc, const char **argv, params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:41,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:44,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:47,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - args
    - min
    - max
    argTypes:
    - cmd_args_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: check_args
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: int
    signature: int check_args(cmd_args_t *args, int min, int max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: check_conf_args
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_error
    linkageType: ''
    returnType: int
    signature: int check_conf_args(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/utils/knotc/commands.c:99,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:109,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:120,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - char*
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 142
    functionName: get_conf_key
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_error
    - strchr
    linkageType: ''
    returnType: int
    signature: int get_conf_key(const char *key, knot_ctl_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/utils/knotc/commands.c:164,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/utils/knotc/commands.c:166,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:173,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:177,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:187,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/utils/knotc/commands.c:194,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:195,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/knotc/commands.c:195,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/utils/knotc/commands.c:197,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:198,1
    - Dst: COL_RED
      Src: /src/knot-dns/src/utils/knotc/commands.c:198,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:200,1
    - Dst: COL_GRN
      Src: /src/knot-dns/src/utils/knotc/commands.c:200,1
    - Dst: ctl_has_flag
      Src: /src/knot-dns/src/utils/knotc/commands.c:202,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:203,1
    - Dst: COL_UNDR
      Src: /src/knot-dns/src/utils/knotc/commands.c:203,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:225,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/knotc/commands.c:231,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:243,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:244,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:248,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/knotc/commands.c:250,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/knotc/commands.c:250,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:262,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:278,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:286,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:306,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:325,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 104
    argCount: 4
    argNames:
    - args
    - data_type
    - data
    - empty
    argTypes:
    - cmd_args_t*
    - knot_ctl_type_t
    - knot_ctl_data_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 327
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 327
    functionName: format_data
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - COL_UNDR
    - strlcat
    - assert
    - COL_GRN
    - COL_RED
    - COL_BOLD
    - COL_RST
    - ctl_has_flag
    - strcmp
    - printf
    linkageType: ''
    returnType: void
    signature: "void format_data(cmd_args_t *args, knot_ctl_type_t data_type,\n                        knot_ctl_data_t
      *data, bool *empty)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:333,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:336,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:339,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:368,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:380,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - cmd
    - failed
    - empty
    argTypes:
    - ctl_cmd_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 385
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 385
    functionName: format_block
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: void format_block(ctl_cmd_t cmd, bool failed, bool empty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:398,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:398,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:404,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:404,1
    - Dst: format_block
      Src: /src/knot-dns/src/utils/knotc/commands.c:407,1
    - Dst: format_data
      Src: /src/knot-dns/src/utils/knotc/commands.c:411,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 424
    functionName: ctl_receive
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 8
    functionsReached:
    - assert
    - knot_strerror
    - format_block
    - log_error
    - format_data
    linkageType: ''
    returnType: int
    signature: int ctl_receive(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: cmd_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - ctl_cmd_to_str
    linkageType: ''
    returnType: int
    signature: int cmd_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:452,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - args
    - data
    argTypes:
    - cmd_args_t*
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 484
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 484
    functionName: set_stats_items
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_stats_items(cmd_args_t *args, knot_ctl_data_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: cmd_stats_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - ctl_cmd_to_str
    linkageType: ''
    returnType: int
    signature: int cmd_stats_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:514,1
    - Dst: log_zone_str_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:515,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/knotc/commands.c:519,1
    - Dst: conf_rawid_exists
      Src: /src/knot-dns/src/utils/knotc/commands.c:521,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:521,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/utils/knotc/commands.c:521,1
    - Dst: log_zone_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:522,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:522,1
    - Dst: fcn
      Src: /src/knot-dns/src/utils/knotc/commands.c:527,1
    - Dst: conf_iter
      Src: /src/knot-dns/src/utils/knotc/commands.c:533,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:533,1
    - Dst: conf_iter_next
      Src: /src/knot-dns/src/utils/knotc/commands.c:534,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:534,1
    - Dst: conf_iter_id
      Src: /src/knot-dns/src/utils/knotc/commands.c:535,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:535,1
    - Dst: conf_dname
      Src: /src/knot-dns/src/utils/knotc/commands.c:536,1
    - Dst: fcn
      Src: /src/knot-dns/src/utils/knotc/commands.c:538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - args
    - data
    argTypes:
    - cmd_args_t*
    - void*
    constantsTouched: []
    func_position:
      end: 545
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 545
    functionName: zone_exec
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - conf_iter_next
    - knot_strerror
    - knot_dname_from_str
    - conf
    - knot_dname_size
    - log_zone_error
    - fcn
    - conf_iter_id
    - conf_rawid_exists
    - log_zone_str_error
    - conf_iter
    - knot_dname_to_lower
    - conf_dname
    linkageType: ''
    returnType: int
    signature: "int zone_exec(cmd_args_t *args, int (*fcn)(const knot_dname_t *, void
      *),\n                     void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/utils/knotc/commands.c:551,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:551,1
    - Dst: conf_opt
      Src: /src/knot-dns/src/utils/knotc/commands.c:552,1
    - Dst: conf_zone_get
      Src: /src/knot-dns/src/utils/knotc/commands.c:557,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:557,1
    - Dst: zone_contents_deep_free
      Src: /src/knot-dns/src/utils/knotc/commands.c:559,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:562,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:563,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dname
    - data
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 567
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 567
    functionName: zone_check
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - conf_zone_get
    - knot_strerror
    - conf
    - knot_dname_to_str
    - conf_opt
    - zone_contents_deep_free
    - log_error
    linkageType: ''
    returnType: int
    signature: int zone_check(const knot_dname_t *dname, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zone_exec
      Src: /src/knot-dns/src/utils/knotc/commands.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 4
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: cmd_zone_check
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - zone_exec
    linkageType: ''
    returnType: int
    signature: int cmd_zone_check(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: cmd_zone_key_roll_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - ctl_cmd_to_str
    linkageType: ''
    returnType: int
    signature: int cmd_zone_key_roll_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - cmd
    - filter_name
    argTypes:
    - ctl_cmd_t
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 687
    functionName: get_filter
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: filter_desc_t
    signature: filter_desc_t *get_filter(ctl_cmd_t cmd, const char *filter_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:692,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:697,1
    - Dst: get_filter
      Src: /src/knot-dns/src/utils/knotc/commands.c:709,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:711,1
    - Dst: strchr
      Src: /src/knot-dns/src/utils/knotc/commands.c:715,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:716,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/knotc/commands.c:716,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:717,1
    - Dst: get_filter
      Src: /src/knot-dns/src/utils/knotc/commands.c:719,1
    - Dst: get_filter
      Src: /src/knot-dns/src/utils/knotc/commands.c:732,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:738,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:748,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 758
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 758
    functionName: cmd_zone_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - strlcat
    - strlen
    - strchr
    - ctl_cmd_to_str
    - strcmp
    - log_error
    - get_filter
    linkageType: ''
    returnType: int
    signature: int cmd_zone_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:765,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - args
    - pos
    - rdata
    - rdata_len
    argTypes:
    - cmd_args_t*
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 774
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 774
    functionName: set_rdata
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 12
    functionsReached:
    - strlcat
    linkageType: ''
    returnType: int
    signature: int set_rdata(cmd_args_t *args, int pos, char *rdata, size_t rdata_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:787,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/knotc/commands.c:800,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:801,1
    - Dst: knot_rrtype_from_string
      Src: /src/knot-dns/src/utils/knotc/commands.c:816,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/knotc/commands.c:817,1
    - Dst: set_rdata
      Src: /src/knot-dns/src/utils/knotc/commands.c:838,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 4
    argNames:
    - args
    - data
    - rdata
    - rdata_len
    argTypes:
    - cmd_args_t*
    - knot_ctl_data_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 846
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 846
    functionName: set_node_items
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_rrtype_from_string
    - str_to_u32
    - set_rdata
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int set_node_items(cmd_args_t *args, knot_ctl_data_t *data, char *rdata,\n
      \                         size_t rdata_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 866
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 866
    functionName: cmd_zone_node_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - ctl_cmd_to_str
    linkageType: ''
    returnType: int
    signature: int cmd_zone_node_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_db_check
      Src: /src/knot-dns/src/utils/knotc/commands.c:875,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:875,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:875,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:878,1
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/knotc/commands.c:883,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:883,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotc/commands.c:887,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:889,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 893
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 893
    functionName: cmd_conf_init
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_info
    - conf_db_check
    - knot_strerror
    - conf_import
    - conf
    - log_error
    linkageType: ''
    returnType: int
    signature: int cmd_conf_init(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:898,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:899,1
    - Dst: conf_db_get
      Src: /src/knot-dns/src/utils/knotc/commands.c:916,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:916,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:916,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:921,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:922,1
    - Dst: conf_val
      Src: /src/knot-dns/src/utils/knotc/commands.c:931,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:937,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/utils/knotc/commands.c:947,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:960,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - group
    - id
    - id_len
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 971
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 971
    functionName: conf_check_group
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - conf_db_get
    - knot_strerror
    - conf
    - conf_val
    - conf_val_next
    - log_error
    linkageType: ''
    returnType: int
    signature: int conf_check_group(const yp_item_t *group, const uint8_t *id, size_t
      id_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:980,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:981,1
    - Dst: conf_check_group
      Src: /src/knot-dns/src/utils/knotc/commands.c:989,1
    - Dst: conf_db_iter_begin
      Src: /src/knot-dns/src/utils/knotc/commands.c:997,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:997,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:997,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1001,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:1002,1
    - Dst: conf_db_iter_id
      Src: /src/knot-dns/src/utils/knotc/commands.c:1009,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1009,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/utils/knotc/commands.c:1011,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1011,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1012,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:1013,1
    - Dst: conf_check_group
      Src: /src/knot-dns/src/utils/knotc/commands.c:1018,1
    - Dst: conf_db_iter_finish
      Src: /src/knot-dns/src/utils/knotc/commands.c:1020,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1020,1
    - Dst: conf_db_iter_next
      Src: /src/knot-dns/src/utils/knotc/commands.c:1024,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1024,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1027,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:1028,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotc/commands.c:1034,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 1037
      start: 973
    functionDepth: 4
    functionLinenumber: 973
    functionLinenumberEnd: 1037
    functionName: cmd_conf_check
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_info
    - knot_strerror
    - conf
    - conf_db_iter_next
    - conf_db_iter_id
    - log_error
    - conf_db_iter_begin
    - conf_check_group
    - conf_db_iter_finish
    linkageType: ''
    returnType: int
    signature: int cmd_conf_check(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:1049,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1052,1
    - Dst: conf_db_check
      Src: /src/knot-dns/src/utils/knotc/commands.c:1057,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1057,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1057,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1060,1
    - Dst: conf_clone
      Src: /src/knot-dns/src/utils/knotc/commands.c:1067,1
    - Dst: yp_schema_purge_dynamic
      Src: /src/knot-dns/src/utils/knotc/commands.c:1069,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/commands.c:1070,1
    - Dst: conf_mod_load_common
      Src: /src/knot-dns/src/utils/knotc/commands.c:1071,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/commands.c:1073,1
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/knotc/commands.c:1074,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotc/commands.c:1076,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotc/commands.c:1081,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1083,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:1083,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1039
    functionDepth: 5
    functionLinenumber: 1039
    functionLinenumberEnd: 1087
    functionName: cmd_conf_import
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - conf_mod_load_common
    - log_info
    - conf_clone
    - conf_db_check
    - log_debug
    - conf_import
    - conf
    - knot_strerror
    - conf_free
    - strcmp
    - log_error
    - yp_schema_purge_dynamic
    linkageType: ''
    returnType: int
    signature: int cmd_conf_import(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/knotc/commands.c:1101,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1104,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1110,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/commands.c:1117,1
    - Dst: log_debug
      Src: /src/knot-dns/src/utils/knotc/commands.c:1119,1
    - Dst: conf_export_schema
      Src: /src/knot-dns/src/utils/knotc/commands.c:1124,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1124,1
    - Dst: conf_export
      Src: /src/knot-dns/src/utils/knotc/commands.c:1126,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1126,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotc/commands.c:1130,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotc/commands.c:1133,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotc/commands.c:1133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1089
    functionDepth: 6
    functionLinenumber: 1089
    functionLinenumberEnd: 1137
    functionName: cmd_conf_export
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - log_info
    - log_debug
    - knot_strerror
    - conf
    - conf_export_schema
    - strcmp
    - conf_export
    - log_error
    linkageType: ''
    returnType: int
    signature: int cmd_conf_export(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:1148,1
    - Dst: strlcat
      Src: /src/knot-dns/src/utils/knotc/commands.c:1150,1
    - Dst: ctl_cmd_to_str
      Src: /src/knot-dns/src/utils/knotc/commands.c:1154,1
    - Dst: get_conf_key
      Src: /src/knot-dns/src/utils/knotc/commands.c:1163,1
    - Dst: get_conf_key
      Src: /src/knot-dns/src/utils/knotc/commands.c:1179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - args
    argTypes:
    - cmd_args_t*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1191
    functionName: cmd_conf_ctl
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 0
    functionsReached:
    - strlcat
    - get_conf_key
    - ctl_cmd_to_str
    linkageType: ''
    returnType: int
    signature: int cmd_conf_ctl(cmd_args_t *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1303,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1306,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotc/commands.c:1309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1317
    functionName: print_commands
    functionSourceFile: /src/knot-dns/src/utils/knotc/commands.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_commands(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: both_dash_undersc
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool both_dash_undersc(const char a, const char b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:49,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:49,1
    - Dst: both_dash_undersc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - cmd
    - prefix
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: same_command
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - both_dash_undersc
    - knot_tolower
    linkageType: ''
    returnType: bool
    signature: bool same_command(const char *arg, const char *cmd, bool prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - stamp
    argTypes:
    - char*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: parse_timestamp
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - ERR2
    linkageType: ''
    returnType: int
    signature: int parse_timestamp(char *arg, knot_time_t *stamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:73,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:75,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:77,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:79,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:81,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:83,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:85,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:87,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:89,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:91,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - arg
    - timing
    argTypes:
    - char*
    - knot_kasp_key_timing_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: init_timestamps
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - same_command
    linkageType: ''
    returnType: bool
    signature: bool init_timestamps(char *arg, knot_kasp_key_timing_t *timing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: str2bool
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 1
    functionsReached:
    - knot_tolower
    linkageType: ''
    returnType: bool
    signature: bool str2bool(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bitmap
    - flag
    - onoff
    argTypes:
    - kdnssec_generate_flags_t*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: bitmap_set
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bitmap_set(kdnssec_generate_flags_t *bitmap, int flag, bool onoff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:147,1
    - Dst: str_to_int
      Src: /src/knot-dns/src/utils/keymgr/functions.c:149,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:152,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:157,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:161,1
    - Dst: bitmap_set
      Src: /src/knot-dns/src/utils/keymgr/functions.c:162,1
    - Dst: str2bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:162,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:163,1
    - Dst: bitmap_set
      Src: /src/knot-dns/src/utils/keymgr/functions.c:164,1
    - Dst: str2bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:164,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:165,1
    - Dst: bitmap_set
      Src: /src/knot-dns/src/utils/keymgr/functions.c:166,1
    - Dst: bitmap_set
      Src: /src/knot-dns/src/utils/keymgr/functions.c:167,1
    - Dst: str2bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:167,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:168,1
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/keymgr/functions.c:169,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:170,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:173,1
    - Dst: init_timestamps
      Src: /src/knot-dns/src/utils/keymgr/functions.c:175,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 8
    argNames:
    - argc
    - argv
    - just_timing
    - flags
    - algorithm
    - keysize
    - timing
    - addtopolicy
    argTypes:
    - int
    - char*[]
    - bool
    - kdnssec_generate_flags_t*
    - dnssec_key_algorithm_t*
    - uint16_t*
    - knot_kasp_key_timing_t*
    - char**
    constantsTouched: []
    func_position:
      end: 182
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 182
    functionName: genkeyargs
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - init_timestamps
    - ERR2
    - str_to_u16
    - bitmap_set
    - str_to_int
    - str2bool
    - same_command
    linkageType: ''
    returnType: bool
    signature: "bool genkeyargs(int argc, char *argv[], bool just_timing,\n                       kdnssec_generate_flags_t
      *flags, dnssec_key_algorithm_t *algorithm,\n                       uint16_t
      *keysize, knot_kasp_key_timing_t *timing,\n                       const char
      **addtopolicy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:187,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - a_name
    - b_name
    argTypes:
    - knot_time_t
    - knot_time_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: _check_lower
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    - ERR2
    linkageType: ''
    returnType: bool
    signature: "bool _check_lower(knot_time_t a, knot_time_t b,\n\t\t\t const char
      *a_name, const char *b_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:199,1
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:201,1
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:202,1
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:203,1
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:204,1
    - Dst: check_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - knot_kasp_key_timing_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: check_timers
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - check_lower
    linkageType: ''
    returnType: int
    signature: int check_timers(const knot_kasp_key_timing_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/utils/keymgr/functions.c:216,1
    - Dst: genkeyargs
      Src: /src/knot-dns/src/utils/keymgr/functions.c:221,1
    - Dst: dnssec_algorithm_key_size_default
      Src: /src/knot-dns/src/utils/keymgr/functions.c:236,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/utils/keymgr/functions.c:247,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:248,1
    - Dst: kdnssec_generate_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:255,1
    - Dst: kasp_db_get_policy_last
      Src: /src/knot-dns/src/utils/keymgr/functions.c:266,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:268,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:270,1
    - Dst: kasp_db_set_policy_last
      Src: /src/knot-dns/src/utils/keymgr/functions.c:274,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:276,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:282,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:285,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - kdnssec_ctx_t*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 289
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 289
    functionName: keymgr_generate_key
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - kasp_db_get_policy_last
    - dnssec_key_get_algorithm
    - free
    - kdnssec_ctx_commit
    - dnssec_algorithm_key_size_default
    - kasp_db_set_policy_last
    - genkeyargs
    - kdnssec_generate_key
    - knot_dname_free
    - printf
    - knot_time
    - WARN2
    linkageType: ''
    returnType: int
    signature: int keymgr_generate_key(kdnssec_ctx_t *ctx, int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_dname
      Src: /src/knot-dns/src/utils/keymgr/functions.c:295,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/utils/keymgr/functions.c:305,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/src/utils/keymgr/functions.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: parse_record
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 4
    functionsReached:
    - dnssec_key_get_dname
    - dnssec_key_set_rdata
    - dnssec_key_set_dname
    linkageType: ''
    returnType: void
    signature: void parse_record(zs_scanner_t *scanner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:319,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:321,1
    - Dst: zs_init
      Src: /src/knot-dns/src/utils/keymgr/functions.c:325,1
    - Dst: zs_set_input_file
      Src: /src/knot-dns/src/utils/keymgr/functions.c:326,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/src/utils/keymgr/functions.c:327,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/utils/keymgr/functions.c:328,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:341,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:342,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:343,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:346,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:347,1
    - Dst: dnssec_key_get_dname
      Src: /src/knot-dns/src/utils/keymgr/functions.c:349,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - key_ptr
    argTypes:
    - char*
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 356
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 356
    functionName: bind_pubkey_parse
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - zs_deinit
    - free
    - zs_set_processing
    - zs_parse_all
    - zs_set_input_file
    - zs_init
    - dnssec_key_get_dname
    - malloc
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: int bind_pubkey_parse(const char *filename, dnssec_key_t **key_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:360,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:364,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/keymgr/functions.c:365,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:366,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:367,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - orig
    - wantsuff
    - altsuff
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: gen_keyfilename
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - strdup
    - assert
    - sprintf_alloc
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *gen_keyfilename(const char *orig, const char *wantsuff, const
      char *altsuff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:389,1
    - Dst: bind_privkey_parse
      Src: /src/knot-dns/src/utils/keymgr/functions.c:402,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:403,1
    - Dst: bind_privkey_to_pem
      Src: /src/knot-dns/src/utils/keymgr/functions.c:409,1
    - Dst: bind_privkey_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:411,1
    - Dst: bind_privkey_to_timing
      Src: /src/knot-dns/src/utils/keymgr/functions.c:415,1
    - Dst: bind_privkey_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:417,1
    - Dst: dnssec_keystore_import
      Src: /src/knot-dns/src/utils/keymgr/functions.c:419,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:420,1
    - Dst: dnssec_key_get_keyid
      Src: /src/knot-dns/src/utils/keymgr/functions.c:427,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:434,1
    - Dst: dnssec_key_get_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:444,1
    - Dst: kasp_zone_append
      Src: /src/knot-dns/src/utils/keymgr/functions.c:448,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:449,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:453,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:455,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:459,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:460,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:461,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - import_file
    - pub_only
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 462
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 462
    functionName: keymgr_import_bind
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_free
    - calloc
    - knot_error_from_libdnssec
    - bind_privkey_parse
    - free
    - dnssec_key_get_flags
    - kdnssec_ctx_commit
    - dnssec_keystore_import
    - bind_privkey_to_timing
    - bind_privkey_free
    - bind_privkey_to_pem
    - printf
    - kasp_zone_append
    - dnssec_key_get_keyid
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: int keymgr_import_bind(kdnssec_ctx_t *ctx, const char *import_file,
      bool pub_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keyid
    - file
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: err_import_key
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - ERR2
    linkageType: ''
    returnType: void
    signature: void err_import_key(char *keyid, const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/utils/keymgr/functions.c:479,1
    - Dst: genkeyargs
      Src: /src/knot-dns/src/utils/keymgr/functions.c:483,1
    - Dst: normalize_generate_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:493,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:502,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/keymgr/functions.c:503,1
    - Dst: lseek
      Src: /src/knot-dns/src/utils/keymgr/functions.c:507,1
    - Dst: close
      Src: /src/knot-dns/src/utils/keymgr/functions.c:509,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:510,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/keymgr/functions.c:511,1
    - Dst: lseek
      Src: /src/knot-dns/src/utils/keymgr/functions.c:513,1
    - Dst: close
      Src: /src/knot-dns/src/utils/keymgr/functions.c:514,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:515,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/keymgr/functions.c:516,1
    - Dst: dnssec_binary_alloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:521,1
    - Dst: close
      Src: /src/knot-dns/src/utils/keymgr/functions.c:523,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:524,1
    - Dst: close
      Src: /src/knot-dns/src/utils/keymgr/functions.c:530,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:532,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/utils/keymgr/functions.c:533,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:534,1
    - Dst: dnssec_keystore_import
      Src: /src/knot-dns/src/utils/keymgr/functions.c:539,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:540,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:542,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:546,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/keymgr/functions.c:547,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/utils/keymgr/functions.c:551,1
    - Dst: dnssec_key_set_dname
      Src: /src/knot-dns/src/utils/keymgr/functions.c:555,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:559,1
    - Dst: dnskey_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:559,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/utils/keymgr/functions.c:560,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/utils/keymgr/functions.c:563,1
    - Dst: err_import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:565,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:570,1
    - Dst: kasp_zone_append
      Src: /src/knot-dns/src/utils/keymgr/functions.c:582,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:583,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:587,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:589,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:593,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:594,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:595,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 96
    argCount: 5
    argNames:
    - ctx
    - backend
    - param
    - argc
    - argv
    argTypes:
    - kdnssec_ctx_t*
    - unsigned
    - char*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 596
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 596
    functionName: import_key
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 4
    functionsReached:
    - calloc
    - genkeyargs
    - dnskey_flags
    - printf
    - knot_error_from_libdnssec
    - lseek
    - knot_time
    - dnssec_key_free
    - dnssec_binary_free
    - free
    - close
    - err_import_key
    - dnssec_keystore_import
    - kasp_zone_append
    - assert
    - dnssec_key_set_algorithm
    - kdnssec_ctx_commit
    - strdup
    - dnssec_key_new
    - dnssec_binary_alloc
    - dnssec_key_set_flags
    - dnssec_keystore_get_private
    - normalize_generate_flags
    - knot_map_errno
    - dnssec_key_set_dname
    linkageType: ''
    returnType: int
    signature: "int import_key(kdnssec_ctx_t *ctx, unsigned backend, const char *param,\n
      \                     int argc, char *argv[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - import_file
    - argc
    - argv
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: keymgr_import_pem
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - import_key
    linkageType: ''
    returnType: int
    signature: int keymgr_import_pem(kdnssec_ctx_t *ctx, const char *import_file,
      int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keyid_is_valid
      Src: /src/knot-dns/src/utils/keymgr/functions.c:605,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:611,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:612,1
    - Dst: dnssec_keyid_normalize
      Src: /src/knot-dns/src/utils/keymgr/functions.c:616,1
    - Dst: import_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key_id
    - argc
    - argv
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: keymgr_import_pkcs11
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - dnssec_keyid_normalize
    - dnssec_keyid_is_valid
    - knot_dname_to_str
    - ERR2
    - import_key
    linkageType: ''
    returnType: int
    signature: int keymgr_import_pkcs11(kdnssec_ctx_t *ctx, char *key_id, int argc,
      char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:628,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:630,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:633,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:635,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:636,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 644
    functionName: keymgr_nsec3_salt_print
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    linkageType: ''
    returnType: int
    signature: int keymgr_nsec3_salt_print(kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:648,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:651,1
    - Dst: hex_to_bin
      Src: /src/knot-dns/src/utils/keymgr/functions.c:652,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:658,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - new_salt
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 667
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 667
    functionName: keymgr_nsec3_salt_set
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - hex_to_bin
    - assert
    - free
    - strcmp
    - WARN2
    linkageType: ''
    returnType: int
    signature: int keymgr_nsec3_salt_set(kdnssec_ctx_t *ctx, const char *new_salt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:676,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - kdnssec_ctx_t*
    - kaspdb_serial_t
    constantsTouched: []
    func_position:
      end: 684
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 684
    functionName: keymgr_serial_print
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int keymgr_serial_print(kdnssec_ctx_t *ctx, kaspdb_serial_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kasp_db_store_serial
      Src: /src/knot-dns/src/utils/keymgr/functions.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - type
    - new_serial
    argTypes:
    - kdnssec_ctx_t*
    - kaspdb_serial_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 6
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: keymgr_serial_set
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - kasp_db_store_serial
    linkageType: ''
    returnType: int
    signature: int keymgr_serial_set(kdnssec_ctx_t *ctx, kaspdb_serial_t type, uint32_t
      new_serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:695,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:696,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:699,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:702,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:705,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:706,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:707,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mac
    - name
    - secret
    argTypes:
    - dnssec_tsig_algorithm_t
    - char*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 709
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 709
    functionName: print_tsig
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: "void print_tsig(dnssec_tsig_algorithm_t mac, const char *name,\n\t\t
      \      const dnssec_binary_t *secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_algorithm_from_name
      Src: /src/knot-dns/src/utils/keymgr/functions.c:713,1
    - Dst: WARN2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:727,1
    - Dst: dnssec_tsig_algorithm_to_name
      Src: /src/knot-dns/src/utils/keymgr/functions.c:728,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/functions.c:730,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:735,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:736,1
    - Dst: gnutls_rnd
      Src: /src/knot-dns/src/utils/keymgr/functions.c:739,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:741,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:742,1
    - Dst: dnssec_binary_to_base64
      Src: /src/knot-dns/src/utils/keymgr/functions.c:746,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:748,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:749,1
    - Dst: print_tsig
      Src: /src/knot-dns/src/utils/keymgr/functions.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - tsig_name
    - alg_name
    - bits
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 755
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 755
    functionName: keymgr_generate_tsig
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - assert
    - dnssec_tsig_algorithm_from_name
    - dnssec_binary_to_base64
    - print_tsig
    - gnutls_rnd
    - ERR2
    - knot_error_from_libdnssec
    - dnssec_tsig_algorithm_to_name
    - WARN2
    linkageType: ''
    returnType: int
    signature: int keymgr_generate_tsig(const char *tsig_name, const char *alg_name,
      int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_xdigit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: is_hex
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 1
    functionsReached:
    - is_xdigit
    linkageType: ''
    returnType: bool
    signature: bool is_hex(const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:771,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/functions.c:774,1
    - Dst: is_hex
      Src: /src/knot-dns/src/utils/keymgr/functions.c:785,1
    - Dst: is_hex
      Src: /src/knot-dns/src/utils/keymgr/functions.c:786,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:787,1
    - Dst: strlen
      Src: /src/knot-dns/src/utils/keymgr/functions.c:800,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:811,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:817,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - key_spec
    - key
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - knot_kasp_key_t**
    constantsTouched: []
    func_position:
      end: 821
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 821
    functionName: keymgr_get_key
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - same_command
    - strlen
    - ERR2
    - is_hex
    linkageType: ''
    returnType: int
    signature: int keymgr_get_key(kdnssec_ctx_t *ctx, const char *key_spec, knot_kasp_key_t
      **key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/keymgr/functions.c:825,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/keymgr/functions.c:829,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:834,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/functions.c:834,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:835,1
    - Dst: keymgr_get_key
      Src: /src/knot-dns/src/utils/keymgr/functions.c:840,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/keymgr/functions.c:842,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/utils/keymgr/functions.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - argv
    - kaspdb
    - key_zone
    - key_id
    argTypes:
    - char*[]
    - knot_lmdb_db_t*
    - knot_dname_t**
    - char**
    constantsTouched: []
    func_position:
      end: 849
      start: 823
    functionDepth: 3
    functionLinenumber: 823
    functionLinenumberEnd: 849
    functionName: keymgr_foreign_key_id
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - keymgr_get_key
    - strdup
    - knot_strerror
    - free
    - ERR2
    - kdnssec_ctx_deinit
    - knot_dname_from_str_alloc
    - knot_dname_to_lower
    linkageType: ''
    returnType: int
    signature: int keymgr_foreign_key_id(char *argv[], knot_lmdb_db_t *kaspdb, knot_dname_t
      **key_zone, char **key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: genkeyargs
      Src: /src/knot-dns/src/utils/keymgr/functions.c:856,1
    - Dst: normalize_generate_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:865,1
    - Dst: dnssec_key_set_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:868,1
    - Dst: dnskey_flags
      Src: /src/knot-dns/src/utils/keymgr/functions.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - argc
    - argv
    argTypes:
    - knot_kasp_key_t*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 873
      start: 851
    functionDepth: 4
    functionLinenumber: 851
    functionLinenumberEnd: 873
    functionName: keymgr_set_timing
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - dnskey_flags
    - genkeyargs
    - normalize_generate_flags
    - dnssec_key_set_flags
    linkageType: ''
    returnType: int
    signature: int keymgr_set_timing(knot_kasp_key_t *key, int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:899,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/keymgr/functions.c:900,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/utils/keymgr/functions.c:900,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:900,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:902,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/keymgr/functions.c:903,1
    - Dst: COL_YELW
      Src: /src/knot-dns/src/utils/keymgr/functions.c:904,1
    - Dst: COL_RED
      Src: /src/knot-dns/src/utils/keymgr/functions.c:904,1
    - Dst: COL_GRN
      Src: /src/knot-dns/src/utils/keymgr/functions.c:904,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:906,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/keymgr/functions.c:909,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:911,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:913,1
    - Dst: COL_DIM
      Src: /src/knot-dns/src/utils/keymgr/functions.c:913,1
    - Dst: dnssec_key_get_size
      Src: /src/knot-dns/src/utils/keymgr/functions.c:913,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:913,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:916,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:920,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/keymgr/functions.c:920,1
    - Dst: COL_MGNT
      Src: /src/knot-dns/src/utils/keymgr/functions.c:920,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:920,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:924,1
    - Dst: COL_BOLD
      Src: /src/knot-dns/src/utils/keymgr/functions.c:924,1
    - Dst: COL_YELW
      Src: /src/knot-dns/src/utils/keymgr/functions.c:924,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:924,1
    - Dst: knot_time
      Src: /src/knot-dns/src/utils/keymgr/functions.c:928,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:939,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/keymgr/functions.c:944,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:945,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:945,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/functions.c:945,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:947,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - key
    - missing
    - params
    argTypes:
    - knot_kasp_key_t*
    - bool
    - keymgr_list_params_t*
    constantsTouched: []
    func_position:
      end: 948
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 948
    functionName: print_key_brief
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - COL_YELW
    - COL_GRN
    - COL_BOLD
    - COL_RED
    - knot_lookup_by_id
    - COL_RST
    - dnssec_key_get_keytag
    - COL_DIM
    - knot_time_print
    - knot_time
    - knot_time_cmp
    - printf
    - dnssec_key_get_size
    - COL_MGNT
    linkageType: ''
    returnType: void
    signature: "void print_key_brief(const knot_kasp_key_t *key, bool missing,\n                            keymgr_list_params_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:953,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/utils/keymgr/functions.c:955,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/utils/keymgr/functions.c:955,1
    - Dst: dnssec_key_get_size
      Src: /src/knot-dns/src/utils/keymgr/functions.c:956,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:957,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/keymgr/functions.c:962,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:963,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - missing
    - format
    argTypes:
    - knot_kasp_key_t*
    - bool
    - knot_time_print_t
    constantsTouched: []
    func_position:
      end: 966
      start: 950
    functionDepth: 4
    functionLinenumber: 950
    functionLinenumberEnd: 966
    functionName: print_key_full
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - dnssec_key_get_algorithm
    - dnssec_key_get_keytag
    - knot_time_print
    - printf
    - dnssec_key_get_size
    linkageType: ''
    returnType: void
    signature: "void print_key_full(const knot_kasp_key_t *key, bool missing,\n                           knot_time_print_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:972,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:973,1
    - Dst: jsonw_bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:974,1
    - Dst: jsonw_bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:975,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/keymgr/functions.c:976,1
    - Dst: dnssec_key_get_keytag
      Src: /src/knot-dns/src/utils/keymgr/functions.c:976,1
    - Dst: jsonw_ulong
      Src: /src/knot-dns/src/utils/keymgr/functions.c:977,1
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/utils/keymgr/functions.c:977,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/keymgr/functions.c:978,1
    - Dst: dnssec_key_get_size
      Src: /src/knot-dns/src/utils/keymgr/functions.c:978,1
    - Dst: jsonw_bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:979,1
    - Dst: jsonw_bool
      Src: /src/knot-dns/src/utils/keymgr/functions.c:980,1
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/keymgr/functions.c:985,1
    - Dst: jsonw_int
      Src: /src/knot-dns/src/utils/keymgr/functions.c:988,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - key
    - missing
    - format
    - w
    - zone_name
    argTypes:
    - knot_kasp_key_t*
    - bool
    - knot_time_print_t
    - jsonw_t*
    - char*
    constantsTouched: []
    func_position:
      end: 993
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 993
    functionName: print_key_json
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - jsonw_int
    - dnssec_key_get_algorithm
    - dnssec_key_get_keytag
    - jsonw_str
    - jsonw_bool
    - knot_time_print
    - jsonw_ulong
    - dnssec_key_get_size
    linkageType: ''
    returnType: void
    signature: "void print_key_json(const knot_kasp_key_t *key, bool missing,\n                           knot_time_print_t
      format,\n                           jsonw_t *w, const char *zone_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: key_sort
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 2
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: int
    signature: int key_sort(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - kdnssec_ctx_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 4
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: key_missing
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - dnssec_keystore_get_private
    linkageType: ''
    returnType: bool
    signature: bool key_missing(kdnssec_ctx_t *ctx, const knot_kasp_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_key_full
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1023,1
    - Dst: jsonw_new
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1026,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1032,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1034,1
    - Dst: jsonw_object
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1037,1
    - Dst: print_key_json
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1039,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1040,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1042,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1043,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1049,1
    - Dst: qsort
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1055,1
    - Dst: print_key_brief
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1059,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - kdnssec_ctx_t*
    - keymgr_list_params_t*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1013
    functionDepth: 5
    functionLinenumber: 1013
    functionLinenumberEnd: 1063
    functionName: keymgr_list_keys
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - print_key_brief
    - print_key_json
    - jsonw_object
    - knot_dname_to_str
    - jsonw_list
    - qsort
    - print_key_full
    - jsonw_new
    - jsonw_free
    - knot_time_cmp
    - jsonw_end
    linkageType: ''
    returnType: int
    signature: int keymgr_list_keys(kdnssec_ctx_t *ctx, keymgr_list_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1067,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1068,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1083,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1085,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1087,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dname
    - rdata
    argTypes:
    - knot_dname_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1091
    functionName: print_ds
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - printf
    - free
    - wire_ctx_init
    linkageType: ''
    returnType: int
    signature: int print_ds(const knot_dname_t *dname, const dnssec_binary_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1099,1
    - Dst: print_ds
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - zone_name
    - key
    - digest
    argTypes:
    - knot_dname_t*
    - dnssec_key_t*
    - dnssec_key_digest_t
    constantsTouched: []
    func_position:
      end: 1103
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1103
    functionName: create_and_print_ds
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - knot_error_from_libdnssec
    - print_ds
    linkageType: ''
    returnType: int
    signature: "int create_and_print_ds(const knot_dname_t *zone_name,\n\t\t\t       const
      dnssec_key_t *key, dnssec_key_digest_t digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_and_print_ds
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dname
    - key
    argTypes:
    - knot_dname_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1119
    functionName: keymgr_generate_ds
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - create_and_print_ds
    linkageType: ''
    returnType: int
    signature: int keymgr_generate_ds(const knot_dname_t *dname, const knot_kasp_key_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1136,1
    - Dst: knot_error_from_libdnssec
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1137,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1143,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1147,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1149,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - dname
    - key
    argTypes:
    - knot_dname_t*
    - knot_kasp_key_t*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1152
    functionName: keymgr_generate_dnskey
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - free
    - knot_error_from_libdnssec
    - printf
    linkageType: ''
    returnType: int
    signature: int keymgr_generate_dnskey(const knot_dname_t *dname, const knot_kasp_key_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_list
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1158,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1161,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1161,1
    - Dst: jsonw_new
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1169,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1171,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1172,1
    - Dst: jsonw_list
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1175,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1178,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1180,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1182,1
    - Dst: jsonw_end
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1186,1
    - Dst: jsonw_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1187,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/utils/keymgr/functions.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - kaspdb
    - json
    argTypes:
    - knot_lmdb_db_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1192
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1192
    functionName: keymgr_list_zones
    functionSourceFile: /src/knot-dns/src/utils/keymgr/functions.c
    functionUses: 0
    functionsReached:
    - knot_strerror
    - jsonw_list
    - knot_dname_to_str
    - jsonw_str
    - jsonw_new
    - ERR2
    - jsonw_free
    - ptrlist_deep_free
    - printf
    - init_list
    - jsonw_end
    linkageType: ''
    returnType: int
    signature: int keymgr_list_zones(knot_lmdb_db_t *kaspdb, bool json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/main.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 120
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/keymgr/main.c
    functionUses: 9
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/main.c:126,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/keymgr/main.c:127,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/keymgr/main.c:134,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/keymgr/main.c:138,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/main.c:144,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/main.c:144,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:163,1
    - Dst: keymgr_generate_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:164,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:166,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:167,1
    - Dst: keymgr_import_bind
      Src: /src/knot-dns/src/utils/keymgr/main.c:168,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:169,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:170,1
    - Dst: keymgr_import_bind
      Src: /src/knot-dns/src/utils/keymgr/main.c:171,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:172,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:173,1
    - Dst: keymgr_import_pem
      Src: /src/knot-dns/src/utils/keymgr/main.c:174,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:175,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:176,1
    - Dst: keymgr_import_pkcs11
      Src: /src/knot-dns/src/utils/keymgr/main.c:177,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:178,1
    - Dst: keymgr_nsec3_salt_set
      Src: /src/knot-dns/src/utils/keymgr/main.c:180,1
    - Dst: keymgr_nsec3_salt_print
      Src: /src/knot-dns/src/utils/keymgr/main.c:182,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:185,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:185,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/keymgr/main.c:189,1
    - Dst: keymgr_serial_set
      Src: /src/knot-dns/src/utils/keymgr/main.c:190,1
    - Dst: keymgr_serial_print
      Src: /src/knot-dns/src/utils/keymgr/main.c:193,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:196,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:197,1
    - Dst: keymgr_get_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:199,1
    - Dst: keymgr_set_timing
      Src: /src/knot-dns/src/utils/keymgr/main.c:201,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/utils/keymgr/main.c:203,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:206,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:208,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:210,1
    - Dst: keymgr_list_keys
      Src: /src/knot-dns/src/utils/keymgr/main.c:213,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:215,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:215,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:217,1
    - Dst: generate_rr
      Src: /src/knot-dns/src/utils/keymgr/main.c:223,1
    - Dst: keymgr_get_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:228,1
    - Dst: generate_rr
      Src: /src/knot-dns/src/utils/keymgr/main.c:230,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:234,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:235,1
    - Dst: CHECK_MISSING_ARG2
      Src: /src/knot-dns/src/utils/keymgr/main.c:236,1
    - Dst: keymgr_foreign_key_id
      Src: /src/knot-dns/src/utils/keymgr/main.c:239,1
    - Dst: kasp_db_share_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:241,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/main.c:243,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/main.c:244,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:245,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:246,1
    - Dst: keymgr_get_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:248,1
    - Dst: kdnssec_delete_key
      Src: /src/knot-dns/src/utils/keymgr/main.c:250,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:252,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:253,1
    - Dst: keymgr_pregenerate_zsks
      Src: /src/knot-dns/src/utils/keymgr/main.c:254,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:256,1
    - Dst: keymgr_print_offline_records
      Src: /src/knot-dns/src/utils/keymgr/main.c:257,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:260,1
    - Dst: CHECK_MISSING_ARG2
      Src: /src/knot-dns/src/utils/keymgr/main.c:261,1
    - Dst: keymgr_delete_offline_records
      Src: /src/knot-dns/src/utils/keymgr/main.c:262,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:263,1
    - Dst: keymgr_del_all_old
      Src: /src/knot-dns/src/utils/keymgr/main.c:264,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:265,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:266,1
    - Dst: keymgr_print_ksr
      Src: /src/knot-dns/src/utils/keymgr/main.c:267,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:270,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:271,1
    - Dst: keymgr_sign_ksr
      Src: /src/knot-dns/src/utils/keymgr/main.c:272,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:274,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:275,1
    - Dst: keymgr_validate_skr
      Src: /src/knot-dns/src/utils/keymgr/main.c:276,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:277,1
    - Dst: CHECK_MISSING_ARG
      Src: /src/knot-dns/src/utils/keymgr/main.c:278,1
    - Dst: keymgr_import_skr
      Src: /src/knot-dns/src/utils/keymgr/main.c:279,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:280,1
    - Dst: keymgr_keystore_test
      Src: /src/knot-dns/src/utils/keymgr/main.c:281,1
    - Dst: same_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:283,1
    - Dst: str_to_u16
      Src: /src/knot-dns/src/utils/keymgr/main.c:286,1
    - Dst: keymgr_keystore_bench
      Src: /src/knot-dns/src/utils/keymgr/main.c:289,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/main.c:295,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/main.c:302,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/main.c:304,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/main.c:304,1
    - Dst: kdnssec_ctx_deinit
      Src: /src/knot-dns/src/utils/keymgr/main.c:308,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/main.c:309,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 173
    argCount: 5
    argNames:
    - argc
    - argv
    - opt_ind
    - kaspdb
    - list_params
    argTypes:
    - int
    - char*[]
    - int
    - knot_lmdb_db_t*
    - keymgr_list_params_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 312
    functionName: key_command
    functionSourceFile: /src/knot-dns/src/utils/keymgr/main.c
    functionUses: 0
    functionsReached:
    - keymgr_nsec3_salt_print
    - keymgr_import_pem
    - keymgr_sign_ksr
    - print_help
    - keymgr_del_all_old
    - printf
    - knot_dname_to_lower
    - keymgr_list_keys
    - keymgr_get_key
    - generate_rr
    - knot_strerror
    - keymgr_nsec3_salt_set
    - free
    - str_to_u32
    - keymgr_validate_skr
    - keymgr_keystore_test
    - str_to_u16
    - knot_dname_from_str_alloc
    - keymgr_print_ksr
    - keymgr_foreign_key_id
    - keymgr_import_bind
    - same_command
    - keymgr_serial_set
    - CHECK_MISSING_ARG
    - kdnssec_delete_key
    - ERR2
    - kdnssec_ctx_commit
    - keymgr_print_offline_records
    - kdnssec_ctx_deinit
    - keymgr_serial_print
    - keymgr_pregenerate_zsks
    - keymgr_set_timing
    - keymgr_import_skr
    - keymgr_keystore_bench
    - kasp_db_share_key
    - keymgr_import_pkcs11
    - CHECK_MISSING_ARG2
    - keymgr_delete_offline_records
    - keymgr_generate_key
    linkageType: ''
    returnType: int
    signature: "int key_command(int argc, char *argv[], int opt_ind, knot_lmdb_db_t
      *kaspdb,\n                       keymgr_list_params_t *list_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/keymgr/main.c:333,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/src/utils/keymgr/main.c:335,1
    - Dst: signal_init_std
      Src: /src/knot-dns/src/utils/keymgr/main.c:338,1
    - Dst: sigaction
      Src: /src/knot-dns/src/utils/keymgr/main.c:340,1
    - Dst: isatty
      Src: /src/knot-dns/src/utils/keymgr/main.c:346,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/keymgr/main.c:349,1
    - Dst: util_conf_init_file
      Src: /src/knot-dns/src/utils/keymgr/main.c:352,1
    - Dst: util_conf_init_confdb
      Src: /src/knot-dns/src/utils/keymgr/main.c:357,1
    - Dst: util_conf_init_justdb
      Src: /src/knot-dns/src/utils/keymgr/main.c:362,1
    - Dst: str_to_int
      Src: /src/knot-dns/src/utils/keymgr/main.c:368,1
    - Dst: keymgr_generate_tsig
      Src: /src/knot-dns/src/utils/keymgr/main.c:370,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/main.c:372,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/main.c:372,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/keymgr/main.c:392,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/keymgr/main.c:395,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/keymgr/main.c:398,1
    - Dst: util_conf_init_default
      Src: /src/knot-dns/src/utils/keymgr/main.c:405,1
    - Dst: util_update_privileges
      Src: /src/knot-dns/src/utils/keymgr/main.c:409,1
    - Dst: conf_db_param
      Src: /src/knot-dns/src/utils/keymgr/main.c:411,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/keymgr/main.c:411,1
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/utils/keymgr/main.c:413,1
    - Dst: conf_int
      Src: /src/knot-dns/src/utils/keymgr/main.c:413,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/main.c:414,1
    - Dst: keymgr_list_zones
      Src: /src/knot-dns/src/utils/keymgr/main.c:417,1
    - Dst: key_command
      Src: /src/knot-dns/src/utils/keymgr/main.c:419,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/keymgr/main.c:421,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/keymgr/main.c:427,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/keymgr/main.c:428,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/keymgr/main.c:431,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/keymgr/main.c:432,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 434
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 434
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/keymgr/main.c
    functionUses: 4
    functionsReached:
    - keymgr_generate_tsig
    - print_version
    - conf
    - print_help
    - tzset
    - knot_lmdb_init
    - isatty
    - util_conf_deinit
    - conf_db_param
    - knot_strerror
    - free
    - key_command
    - keymgr_list_zones
    - str_to_int
    - getopt_long
    - sigaction
    - ERR2
    - util_conf_init_default
    - util_conf_init_confdb
    - dnssec_crypto_init
    - util_conf_init_file
    - util_update_privileges
    - knot_lmdb_deinit
    - signal_init_std
    - util_conf_init_justdb
    - conf_int
    - dnssec_crypto_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:44,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:45,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:46,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:47,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:53,1
    - Dst: dnssec_key_get_rdata
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:54,1
    - Dst: dnssec_key_set_rdata
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:55,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:56,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - keystore
    - id
    - algorithm
    - test_key_ptr
    - ref_key_ptr
    argTypes:
    - dnssec_keystore_t*
    - char*
    - dnssec_key_algorithm_t
    - dnssec_key_t**
    - dnssec_key_t**
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: create_dnskeys
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - dnssec_key_get_rdata
    - dnssec_key_set_rdata
    - dnssec_key_set_algorithm
    - dnssec_key_new
    - dnssec_keystore_get_private
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int create_dnskeys(dnssec_keystore_t *keystore, const char *id,\n
      \                         dnssec_key_algorithm_t algorithm,\n                          dnssec_key_t
      **test_key_ptr, dnssec_key_t **ref_key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:77,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:78,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:79,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:80,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:81,1
    - Dst: dnssec_sign_init
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:85,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:86,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:87,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:88,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:89,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:93,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:96,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:97,1
    - Dst: dnssec_sign_verify
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:98,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:99,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:100,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:104,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - test_key
    - ref_key
    argTypes:
    - dnssec_key_t*
    - dnssec_key_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 108
    functionName: test_sign
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - dnssec_sign_verify
    - dnssec_binary_free
    - dnssec_sign_new
    - dnssec_sign_init
    - dnssec_sign_write
    - dnssec_sign_free
    - dnssec_sign_add
    linkageType: ''
    returnType: int
    signature: int test_sign(dnssec_key_t *test_key, dnssec_key_t *ref_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_dnskeys
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:116,1
    - Dst: test_sign
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:120,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:121,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:122,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:126,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - store
    - keyid
    - algorithm
    argTypes:
    - dnssec_keystore_t*
    - char*
    - dnssec_key_algorithm_t
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: test_key_use
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - test_sign
    - create_dnskeys
    - dnssec_key_free
    linkageType: ''
    returnType: int
    signature: "int test_key_use(dnssec_keystore_t *store, const char *keyid,\n                        dnssec_key_algorithm_t
      algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_key_use
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:148,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:151,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:153,1
    - Dst: dnssec_keystore_import
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:156,1
    - Dst: test_key_use
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:160,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:167,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:173,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:176,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:178,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - store
    - params
    argTypes:
    - dnssec_keystore_t*
    - key_parameters_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 186
    functionName: test_algorithm
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - assert
    - dnssec_keystore_remove
    - knot_lookup_by_id
    - free
    - dnssec_keystore_import
    - test_key_use
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_algorithm(dnssec_keystore_t *store,\n                           const
      key_parameters_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_rawid_get
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:192,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:192,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:194,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:195,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:206,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:206,1
    - Dst: strcmp
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:210,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:211,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:213,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:215,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:217,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - store
    - keystore_id
    - threads
    argTypes:
    - dnssec_keystore_t**
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 222
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 222
    functionName: init_keystore
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - knot_strerror
    - conf
    - conf_rawid_get
    - ERR2
    - strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: "int init_keystore(dnssec_keystore_t **store, const char *keystore_id,\n
      \                        unsigned threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:234,1
    - Dst: COL_UNDR
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:235,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:237,1
    - Dst: test_algorithm
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:239,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - keystore_id
    - params
    argTypes:
    - char*
    - keymgr_list_params_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: keymgr_keystore_test
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - test_algorithm
    - COL_UNDR
    - COL_RST
    - dnssec_keystore_deinit
    - printf
    linkageType: ''
    returnType: int
    signature: int keymgr_keystore_test(const char *keystore_id, keymgr_list_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:261,1
    - Dst: dt_get_id
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:266,1
    - Dst: knot_spin_lock
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:273,1
    - Dst: dnssec_key_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:277,1
    - Dst: dnssec_key_set_algorithm
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:278,1
    - Dst: dnssec_keystore_get_private
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:279,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:282,1
    - Dst: dnssec_random_binary
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:289,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:292,1
    - Dst: dnssec_sign_new
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:297,1
    - Dst: dnssec_sign_add
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:298,1
    - Dst: dnssec_sign_write
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:299,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:300,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:301,1
    - Dst: memcpy
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:305,1
    - Dst: MIN
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:305,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:306,1
    - Dst: dnssec_sign_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:307,1
    - Dst: clock_gettime
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:309,1
    - Dst: time_diff_ms
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:310,1
    - Dst: knot_spin_unlock
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:315,1
    - Dst: dnssec_key_free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:316,1
    - Dst: dnssec_keystore_remove
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:317,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dthread_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: bench
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - dt_get_id
    - dnssec_keystore_remove
    - dnssec_sign_write
    - dnssec_random_binary
    - dnssec_sign_add
    - dnssec_key_free
    - dnssec_binary_free
    - dnssec_sign_new
    - free
    - MIN
    - assert
    - dnssec_key_set_algorithm
    - knot_spin_unlock
    - dnssec_sign_free
    - clock_gettime
    - time_diff_ms
    - knot_spin_lock
    - dnssec_key_new
    - dnssec_keystore_get_private
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bench(dthread_t *dt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:334,1
    - Dst: COL_UNDR
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:335,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:337,1
    - Dst: knot_spin_init
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:346,1
    - Dst: dt_create
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:348,1
    - Dst: dt_start
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:350,1
    - Dst: dt_join
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:351,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:352,1
    - Dst: knot_spin_destroy
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:353,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:354,1
    - Dst: dt_delete
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:357,1
    - Dst: knot_spin_destroy
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:358,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:369,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:371,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:375,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:377,1
    - Dst: dnssec_keystore_deinit
      Src: /src/knot-dns/src/utils/keymgr/keystore.c:381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - keystore_id
    - params
    - threads
    argTypes:
    - char*
    - keymgr_list_params_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 384
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 384
    functionName: keymgr_keystore_bench
    functionSourceFile: /src/knot-dns/src/utils/keymgr/keystore.c
    functionUses: 1
    functionsReached:
    - knot_spin_destroy
    - COL_UNDR
    - assert
    - dt_delete
    - knot_lookup_by_id
    - dt_start
    - dt_create
    - COL_RST
    - dnssec_keystore_deinit
    - knot_spin_init
    - printf
    - dt_join
    linkageType: ''
    returnType: int
    signature: "int keymgr_keystore_bench(const char *keystore_id, keymgr_list_params_t
      *params,\n                          uint16_t threads)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _binary
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: binary_free
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 32
    functionsReached:
    - dnssec_binary_free
    linkageType: ''
    returnType: void
    signature: void binary_free(void *_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_space
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - string
    - _algorithm
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: parse_algorithm
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - is_space
    linkageType: ''
    returnType: int
    signature: int parse_algorithm(char *string, void *_algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:95,1
    - Dst: dnssec_binary_from_base64
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - _binary
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: parse_binary
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - dnssec_binary_from_base64
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse_binary(char *string, void *_binary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - string
    - _time
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: parse_time
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - timegm
    linkageType: ''
    returnType: int
    signature: int parse_time(char *string, void *_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_space
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:136,1
    - Dst: is_space
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: strip
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 3
    functionsReached:
    - is_space
    linkageType: ''
    returnType: void
    signature: void strip(char **value, size_t *length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:151,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:152,1
    - Dst: strip
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:154,1
    - Dst: strip
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:166,1
    - Dst: strip
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:170,1
    - Dst: strcasecmp
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:185,1
    - Dst: param_t*::parse_cb
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - params
    - line
    - length
    argTypes:
    - bind_privkey_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 195
    functionName: parse_line
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - param_t*::parse_cb
    - strip
    - assert
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int parse_line(bind_privkey_t *params, char *line, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:199,1
    - Dst: getline
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:209,1
    - Dst: bind_privkey_free
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - params_ptr
    argTypes:
    - char*
    - bind_privkey_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: bind_privkey_parse
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 1
    functionsReached:
    - fopen
    - bind_privkey_free
    - getline
    linkageType: ''
    returnType: int
    signature: int bind_privkey_parse(const char *filename, bind_privkey_t *params_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: param_t*::free_cb
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:235,1
    - Dst: clear_struct
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - params
    argTypes:
    - bind_privkey_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: bind_privkey_free
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 2
    functionsReached:
    - clear_struct
    - param_t*::free_cb
    linkageType: ''
    returnType: void
    signature: void bind_privkey_free(bind_privkey_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:252,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:253,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:254,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:255,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:256,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:257,1
    - Dst: gnutls_x509_privkey_import_rsa_raw
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:259,1
    - Dst: dnssec_pem_from_x509
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - params
    - pem
    argTypes:
    - bind_privkey_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: rsa_params_to_pem
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - binary_to_datum
    - dnssec_pem_from_x509
    - gnutls_x509_privkey_import_rsa_raw
    linkageType: ''
    returnType: int
    signature: int rsa_params_to_pem(const bind_privkey_t *params, dnssec_binary_t
      *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pubkey_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: choose_ecdsa_curve
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t choose_ecdsa_curve(size_t pubkey_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_pubkey
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:287,1
    - Dst: choose_ecdsa_curve
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - curve
    - x
    - y
    argTypes:
    - dnssec_key_t*
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: ecdsa_extract_public_params
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - choose_ecdsa_curve
    - dnssec_key_get_pubkey
    linkageType: ''
    returnType: void
    signature: "void ecdsa_extract_public_params(dnssec_key_t *key, gnutls_ecc_curve_t
      *curve,\n\t\t\t\t\tgnutls_datum_t *x, gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_extract_public_params
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:310,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:312,1
    - Dst: gnutls_x509_privkey_import_ecc_raw
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:314,1
    - Dst: gnutls_x509_privkey_fix
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:319,1
    - Dst: dnssec_pem_from_x509
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dnskey
    - params
    - pem
    argTypes:
    - dnssec_key_t*
    - bind_privkey_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 322
    functionName: ecdsa_params_to_pem
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - binary_to_datum
    - ecdsa_extract_public_params
    - dnssec_pem_from_x509
    - gnutls_x509_privkey_import_ecc_raw
    - gnutls_x509_privkey_fix
    linkageType: ''
    returnType: int
    signature: "int ecdsa_params_to_pem(dnssec_key_t *dnskey, const bind_privkey_t
      *params,\n\t\t\t       dnssec_binary_t *pem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_pubkey
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:328,1
    - Dst: choose_ecdsa_curve
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - curve
    - x
    argTypes:
    - dnssec_key_t*
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: eddsa_extract_public_params
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - choose_ecdsa_curve
    - dnssec_key_get_pubkey
    linkageType: ''
    returnType: void
    signature: "void eddsa_extract_public_params(dnssec_key_t *key, gnutls_ecc_curve_t
      *curve,\n\t\t\t\t\tgnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_extract_public_params
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:347,1
    - Dst: binary_to_datum
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:349,1
    - Dst: gnutls_x509_privkey_import_ecc_raw
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:351,1
    - Dst: gnutls_x509_privkey_fix
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:356,1
    - Dst: dnssec_pem_from_x509
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dnskey
    - params
    - pem
    argTypes:
    - dnssec_key_t*
    - bind_privkey_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 359
    functionName: eddsa_params_to_pem
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 0
    functionsReached:
    - binary_to_datum
    - eddsa_extract_public_params
    - dnssec_pem_from_x509
    - gnutls_x509_privkey_import_ecc_raw
    - gnutls_x509_privkey_fix
    linkageType: ''
    returnType: int
    signature: "int eddsa_params_to_pem(dnssec_key_t *dnskey, const bind_privkey_t
      *params,\n\t\t\t       dnssec_binary_t *pem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_key_get_algorithm
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:363,1
    - Dst: rsa_params_to_pem
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:369,1
    - Dst: ecdsa_params_to_pem
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:372,1
    - Dst: eddsa_params_to_pem
      Src: /src/knot-dns/src/utils/keymgr/bind_privkey.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - key
    - params
    - pem
    argTypes:
    - dnssec_key_t*
    - bind_privkey_t*
    - dnssec_binary_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: bind_privkey_to_pem
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 1
    functionsReached:
    - rsa_params_to_pem
    - eddsa_params_to_pem
    - ecdsa_params_to_pem
    - dnssec_key_get_algorithm
    linkageType: ''
    returnType: int
    signature: int bind_privkey_to_pem(dnssec_key_t *key, bind_privkey_t *params,
      dnssec_binary_t *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - params
    - timing
    argTypes:
    - bind_privkey_t*
    - knot_kasp_key_timing_t*
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: bind_privkey_to_timing
    functionSourceFile: /src/knot-dns/src/utils/keymgr/bind_privkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bind_privkey_to_timing(bind_privkey_t *params, knot_kasp_key_timing_t
      *timing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:29,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - next
    argTypes:
    - kdnssec_ctx_t*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: pregenerate_once
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - ERR2
    - memset
    linkageType: ''
    returnType: int
    signature: int pregenerate_once(kdnssec_ctx_t *ctx, knot_time_t *next)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:48,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:57,1
    - Dst: rrset_add_zone_key
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:64,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - _dnskey
    - keyset
    argTypes:
    - kdnssec_ctx_t*
    - knot_rrset_t**
    - zone_keyset_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: load_dnskey_rrset
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - rrset_add_zone_key
    - ERR2
    linkageType: ''
    returnType: int
    signature: int load_dnskey_rrset(kdnssec_ctx_t *ctx, knot_rrset_t **_dnskey, zone_keyset_t
      *keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_timestamp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:83,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:97,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:101,1
    - Dst: pregenerate_once
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - arg_from
    - arg_to
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: keymgr_pregenerate_zsks
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - knot_time_cmp
    - parse_timestamp
    - pregenerate_once
    - ERR2
    linkageType: ''
    returnType: int
    signature: int keymgr_pregenerate_zsks(kdnssec_ctx_t *ctx, char *arg_from, char
      *arg_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:112,1
    - Dst: knot_rrset_txt_dump
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rrset
    - buf
    - buf_size
    argTypes:
    - knot_rrset_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: dump_rrset_to_buf
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - malloc
    - knot_rrset_txt_dump
    linkageType: ''
    returnType: int
    signature: int dump_rrset_to_buf(const knot_rrset_t *rrset, char **buf, size_t
      *buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:131,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - of_what
    - timestamp
    - contents
    argTypes:
    - char*
    - knot_time_t
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: print_header
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - printf
    - knot_time_print
    linkageType: ''
    returnType: void
    signature: void print_header(const char *of_what, knot_time_t timestamp, const
      char *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:156,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:166,1
    - Dst: key_records_dump
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:170,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:171,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:173,1
    - Dst: print_header
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:176,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:184,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:191,1
    - Dst: keymgr_print_offline_records
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:192,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - arg_from
    - arg_to
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 196
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 196
    functionName: keymgr_print_offline_records
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 2
    functionsReached:
    - key_records_clear
    - free
    - keymgr_print_offline_records
    - print_header
    - knot_time_cmp
    - key_records_dump
    linkageType: ''
    returnType: int
    signature: int keymgr_print_offline_records(kdnssec_ctx_t *ctx, char *arg_from,
      char *arg_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_timestamp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:205,1
    - Dst: kasp_db_delete_offline_records
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - arg_from
    - arg_to
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: keymgr_delete_offline_records
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - kasp_db_delete_offline_records
    - parse_timestamp
    linkageType: ''
    returnType: int
    signature: int keymgr_delete_offline_records(kdnssec_ctx_t *ctx, char *arg_from,
      char *arg_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:216,1
    - Dst: kdnssec_ctx_commit
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - kdnssec_ctx_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: keymgr_del_all_old
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - knot_time_cmp
    - kdnssec_ctx_commit
    linkageType: ''
    returnType: int
    signature: int keymgr_del_all_old(kdnssec_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:231,1
    - Dst: knot_time
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:231,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: print_generated_message
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_time_print
    - knot_time
    linkageType: ''
    returnType: void
    signature: void print_generated_message(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:240,1
    - Dst: dump_rrset_to_buf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:246,1
    - Dst: print_header
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:248,1
    - Dst: knot_get_next_zone_key_event
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:254,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:256,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_size
    - next_ksr
    argTypes:
    - kdnssec_ctx_t*
    - char**
    - size_t*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: ksr_once
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - free_zone_keys
    - knot_rrset_free
    - print_header
    - knot_get_next_zone_key_event
    - memset
    - dump_rrset_to_buf
    linkageType: ''
    returnType: int
    signature: int ksr_once(kdnssec_ctx_t *ctx, char **buf, size_t *buf_size, knot_time_t
      *next_ksr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_records_last_timestamp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:277,1
    - Dst: parse_timestamp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:279,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:287,1
    - Dst: ksr_once
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:289,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:292,1
    - Dst: ksr_once
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:297,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:299,1
    - Dst: print_generated_message
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:300,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - arg_from
    - arg_to
    argTypes:
    - kdnssec_ctx_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 304
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 304
    functionName: keymgr_print_ksr
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - parse_timestamp
    - key_records_last_timestamp
    - ksr_once
    - free
    - print_generated_message
    - knot_time_cmp
    - printf
    linkageType: ''
    returnType: int
    signature: int keymgr_print_ksr(kdnssec_ctx_t *ctx, char *arg_from, char *arg_to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:322,1
    - Dst: key_records_init
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:335,1
    - Dst: knot_zone_sign_add_dnskeys
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:337,1
    - Dst: knot_rdataset_merge
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:342,1
    - Dst: key_records_sign
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:349,1
    - Dst: key_records_dump
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:354,1
    - Dst: print_header
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:356,1
    - Dst: knot_time_min
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:357,1
    - Dst: knot_get_next_zone_key_event
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:358,1
    - Dst: knot_time_add
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:359,1
    - Dst: free
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:364,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:365,1
    - Dst: free_zone_keys
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - zsk
    - now
    - next_sign
    argTypes:
    - kdnssec_ctx_t*
    - knot_rrset_t*
    - knot_time_t
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: ksr_sign_dnskey
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - key_records_clear
    - knot_time_min
    - free_zone_keys
    - key_records_sign
    - knot_rdataset_merge
    - knot_zone_sign_add_dnskeys
    - free
    - print_header
    - knot_get_next_zone_key_event
    - key_records_init
    - knot_time_add
    - memset
    - key_records_dump
    linkageType: ''
    returnType: int
    signature: "int ksr_sign_dnskey(kdnssec_ctx_t *ctx, knot_rrset_t *zsk, knot_time_t
      now,\n                           knot_time_t *next_sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - from
    - to
    argTypes:
    - ksr_sign_ctx_t*
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: process_skr_between_ksrs
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int process_skr_between_ksrs(ksr_sign_ctx_t *ctx, knot_time_t from,
      knot_time_t to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:389,1
    - Dst: str_to_u64
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:395,1
    - Dst: ksr_sign_dnskey
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:403,1
    - Dst: process_skr_between_ksrs
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:406,1
    - Dst: key_records_clear_rdatasets
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - sc
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 381
    functionDepth: 7
    functionLinenumber: 381
    functionLinenumberEnd: 414
    functionName: ksr_sign_header
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - str_to_u64
    - key_records_clear_rdatasets
    - ksr_sign_dnskey
    - sscanf
    - process_skr_between_ksrs
    linkageType: ''
    returnType: void
    signature: void ksr_sign_header(zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: ksr_sign_once
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: void
    signature: void ksr_sign_once(zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:433,1
    - Dst: str_to_u64
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:439,1
    - Dst: kasp_db_delete_offline_records
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:446,1
    - Dst: key_records_verify
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:452,1
    - Dst: kasp_db_store_offline_records
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:457,1
    - Dst: key_records_clear_rdatasets
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - sc
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 425
    functionDepth: 5
    functionLinenumber: 425
    functionLinenumberEnd: 464
    functionName: skr_import_header
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - str_to_u64
    - key_records_verify
    - kasp_db_store_offline_records
    - key_records_clear_rdatasets
    - sscanf
    - kasp_db_delete_offline_records
    linkageType: ''
    returnType: void
    signature: void skr_import_header(zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:473,1
    - Dst: str_to_u64
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:479,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:488,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:489,1
    - Dst: key_records_clear_rdatasets
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - sc
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 495
    functionName: skr_validate_header
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - str_to_u64
    - key_records_clear_rdatasets
    - knot_strerror
    - sscanf
    - ERR2
    linkageType: ''
    returnType: void
    signature: void skr_validate_header(zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_records_add_rdata
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - zs_scanner_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: skr_import_once
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - key_records_add_rdata
    linkageType: ''
    returnType: void
    signature: void skr_import_once(zs_scanner_t *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zs_set_input_file
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:515,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:517,1
    - Dst: key_records_init
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:522,1
    - Dst: zs_set_processing
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:524,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:526,1
    - Dst: zs_parse_all
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:531,1
    - Dst: key_records_clear
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:541,1
    - Dst: zs_deinit
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - infile
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 544
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 544
    functionName: read_ksr_skr
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 0
    functionsReached:
    - zs_deinit
    - key_records_clear
    - zs_set_processing
    - zs_parse_all
    - zs_set_input_file
    - key_records_init
    linkageType: ''
    returnType: int
    signature: "int read_ksr_skr(kdnssec_ctx_t *ctx, const char *infile,\n                        void
      (*cb_header)(zs_scanner_t *), void (*cb_record)(zs_scanner_t *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_ksr_skr
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:550,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:551,1
    - Dst: print_generated_message
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - ksr_file
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: keymgr_sign_ksr
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - printf
    - print_generated_message
    - read_ksr_skr
    linkageType: ''
    returnType: int
    signature: int keymgr_sign_ksr(kdnssec_ctx_t *ctx, const char *ksr_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - skr_file
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: keymgr_import_skr
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keymgr_import_skr(kdnssec_ctx_t *ctx, const char *skr_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_ksr_skr
      Src: /src/knot-dns/src/utils/keymgr/offline_ksk.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - skr_file
    argTypes:
    - kdnssec_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: keymgr_validate_skr
    functionSourceFile: /src/knot-dns/src/utils/keymgr/offline_ksk.c
    functionUses: 1
    functionsReached:
    - read_ksr_skr
    linkageType: ''
    returnType: int
    signature: int keymgr_validate_skr(kdnssec_ctx_t *ctx, const char *skr_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:61,1
    - Dst: strdup
      Src: /src/knot-dns/src/utils/khost/khost_params.c:62,1
    - Dst: query_free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - params
    argTypes:
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: khost_init
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 0
    functionsReached:
    - query_free
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: int khost_init(kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kdig_clean
      Src: /src/knot-dns/src/utils/khost/khost_params.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - kdig_params_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: khost_clean
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 0
    functionsReached:
    - kdig_clean
    linkageType: ''
    returnType: void
    signature: void khost_clean(kdig_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params_parse_server
      Src: /src/knot-dns/src/utils/khost/khost_params.c:90,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - value
    - servers
    - def_port
    argTypes:
    - char*
    - list_t*
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: parse_server
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 3
    functionsReached:
    - params_parse_server
    - ERR
    linkageType: ''
    returnType: int
    signature: int parse_server(const char *value, list_t *servers, const char *def_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_from_idn
      Src: /src/knot-dns/src/utils/khost/khost_params.c:105,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:107,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:116,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:122,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:126,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:131,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:132,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:136,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:138,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:141,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:142,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:146,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:152,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:154,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:158,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:161,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:163,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:168,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:171,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:173,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:176,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:179,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:181,1
    - Dst: query_create
      Src: /src/knot-dns/src/utils/khost/khost_params.c:184,1
    - Dst: free
      Src: /src/knot-dns/src/utils/khost/khost_params.c:185,1
    - Dst: add_tail
      Src: /src/knot-dns/src/utils/khost/khost_params.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 3
    argNames:
    - value
    - queries
    - conf
    argTypes:
    - char*
    - list_t*
    - query_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 195
    functionName: parse_name
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 2
    functionsReached:
    - ERR
    - query_create
    - free
    - add_tail
    - name_from_idn
    linkageType: ''
    returnType: int
    signature: int parse_name(const char *value, list_t *queries, const query_t *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/khost/khost_params.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 11
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: khost_init
      Src: /src/knot-dns/src/utils/khost/khost_params.c:225,1
    - Dst: setlocale
      Src: /src/knot-dns/src/utils/khost/khost_params.c:231,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/khost/khost_params.c:250,1
    - Dst: msg_enable_debug
      Src: /src/knot-dns/src/utils/khost/khost_params.c:267,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/khost/khost_params.c:270,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/khost/khost_params.c:286,1
    - Dst: params_parse_class
      Src: /src/knot-dns/src/utils/khost/khost_params.c:293,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:294,1
    - Dst: params_parse_type
      Src: /src/knot-dns/src/utils/khost/khost_params.c:300,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:302,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/khost/khost_params.c:315,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:316,1
    - Dst: params_parse_wait
      Src: /src/knot-dns/src/utils/khost/khost_params.c:321,1
    - Dst: ERR
      Src: /src/knot-dns/src/utils/khost/khost_params.c:322,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/khost/khost_params.c:327,1
    - Dst: parse_server
      Src: /src/knot-dns/src/utils/khost/khost_params.c:335,1
    - Dst: parse_name
      Src: /src/knot-dns/src/utils/khost/khost_params.c:340,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/khost/khost_params.c:346,1
    - Dst: complete_queries
      Src: /src/knot-dns/src/utils/khost/khost_params.c:351,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 104
    argCount: 3
    argNames:
    - params
    - argc
    - argv
    argTypes:
    - kdig_params_t*
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 354
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 354
    functionName: khost_parse
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_params.c
    functionUses: 0
    functionsReached:
    - msg_enable_debug
    - parse_name
    - getopt_long
    - params_parse_class
    - ERR
    - setlocale
    - params_parse_type
    - print_version
    - parse_server
    - print_help
    - str_to_u32
    - params_parse_wait
    - khost_init
    - complete_queries
    linkageType: ''
    returnType: int
    signature: int khost_parse(kdig_params_t *params, int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/khost/khost_main.c:17,1
    - Dst: khost_parse
      Src: /src/knot-dns/src/utils/khost/khost_main.c:20,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/src/utils/khost/khost_main.c:22,1
    - Dst: kdig_exec
      Src: /src/knot-dns/src/utils/khost/khost_main.c:23,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/khost/khost_main.c:26,1
    - Dst: khost_clean
      Src: /src/knot-dns/src/utils/khost/khost_main.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 34
      start: 13
    functionDepth: 6
    functionLinenumber: 13
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/khost/khost_main.c
    functionUses: 4
    functionsReached:
    - kdig_exec
    - dnssec_crypto_init
    - tzset
    - dnssec_crypto_cleanup
    - khost_clean
    - khost_parse
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:77,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:81,1
    - Dst: COL_YELW
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:82,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:83,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:86,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:88,1
    - Dst: COL_YELW
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:89,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:90,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:91,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:94,1
    - Dst: changeset_print
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - chs
    - timestamp
    - params
    argTypes:
    - changeset_t*
    - uint64_t
    - print_params_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: print_changeset
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - knot_soa_serial
    - COL_YELW
    - COL_RST
    - changeset_print
    - knot_time_print
    - printf
    linkageType: ''
    returnType: void
    signature: void print_changeset(const changeset_t *chs, uint64_t timestamp, print_params_t
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rrtype_dynarray_add
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - arr
    - add_type
    argTypes:
    - rrtype_dynarray_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: rrtypelist_add
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - rrtype_dynarray_add
    linkageType: ''
    returnType: void
    signature: void rrtypelist_add(rrtype_dynarray_t *arr, uint16_t add_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node_rrset_at
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:122,1
    - Dst: rrtypelist_add
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - zone_node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: rrtypelist_callback
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - node_rrset_at
    - rrtypelist_add
    linkageType: ''
    returnType: int
    signature: int rrtypelist_callback(zone_node_t *node, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_print
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:132,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:138,1
    - Dst: zone_contents_nsec3_apply
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:139,1
    - Dst: zone_contents_apply
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:140,1
    - Dst: zone_contents_nsec3_apply
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:141,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:144,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:144,1
    - Dst: changeset_serialized_size
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:145,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:147,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:147,1
    - Dst: knot_soa_serial
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:148,1
    - Dst: changeset_serialized_size
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:148,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:153,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:154,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - chs
    - timestamp
    argTypes:
    - changeset_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: print_changeset_debugmode
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - knot_soa_serial
    - changeset_serialized_size
    - zone_contents_nsec3_apply
    - zone_contents_apply
    - knot_rrtype_to_string
    - knot_time_print
    - printf
    linkageType: ''
    returnType: void
    signature: void print_changeset_debugmode(const changeset_t *chs, uint64_t timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - special
    - ch
    - timestamp
    - ctx
    argTypes:
    - _unused_
    - changeset_t*
    - _unused_
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: count_changeset_cb
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_changeset_cb(_unused_ bool special, const changeset_t *ch,
      _unused_ uint64_t timestamp, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: changeset_clone
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:177,1
    - Dst: knot_rrset_equal
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - special
    - ch
    - timestamp
    - ctx
    argTypes:
    - bool
    - changeset_t*
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: merge_changeset_cb
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - changeset_clone
    - knot_rrset_equal
    linkageType: ''
    returnType: int
    signature: int merge_changeset_cb(bool special, const changeset_t *ch, uint64_t
      timestamp, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: merge_changeset_cb
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:203,1
    - Dst: print_changeset_debugmode
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:205,1
    - Dst: print_changeset
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:208,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - special
    - ch
    - timestamp
    - ctx
    argTypes:
    - bool
    - changeset_t*
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: print_changeset_cb
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - merge_changeset_cb
    - printf
    - print_changeset_debugmode
    - print_changeset
    linkageType: ''
    returnType: int
    signature: int print_changeset_cb(bool special, const changeset_t *ch, uint64_t
      timestamp, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:223,1
    - Dst: journal_env_flags
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:223,1
    - Dst: knot_lmdb_open
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:226,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:229,1
    - Dst: journal_info
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:233,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:235,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:236,1
    - Dst: journal_sem_check
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:241,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:243,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:245,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:245,1
    - Dst: journal_walk_from
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:251,1
    - Dst: journal_walk
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:253,1
    - Dst: journal_walk_from
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:264,1
    - Dst: journal_walk
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:266,1
    - Dst: print_changeset_cb
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:271,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:276,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:277,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:278,1
    - Dst: changeset_free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:281,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:283,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - path
    - name
    - params
    argTypes:
    - char*
    - knot_dname_t*
    - print_params_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 217
    functionDepth: 9
    functionLinenumber: 217
    functionLinenumberEnd: 285
    functionName: print_journal
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - print_changeset_cb
    - journal_walk_from
    - journal_walk
    - knot_strerror
    - journal_sem_check
    - journal_env_flags
    - changeset_free
    - ERR2
    - journal_info
    - printf
    - knot_lmdb_open
    - knot_lmdb_init
    - knot_lmdb_deinit
    linkageType: ''
    returnType: int
    signature: int print_journal(char *path, knot_dname_t *name, print_params_t *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:289,1
    - Dst: ptrlist_add
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - list
    argTypes:
    - knot_dname_t*
    - void*
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: add_zone_to_list
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - knot_dname_copy
    - ptrlist_add
    linkageType: ''
    returnType: int
    signature: int add_zone_to_list(const knot_dname_t *zone, void *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:299,1
    - Dst: assert
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:314,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:315,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - zone
    - detailed
    - jdb
    - occupied_all
    argTypes:
    - knot_dname_t*
    - bool
    - knot_lmdb_db_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: list_zone
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 0
    functionsReached:
    - printf
    - knot_dname_to_str
    - assert
    linkageType: ''
    returnType: int
    signature: int list_zone(const knot_dname_t *zone, bool detailed, knot_lmdb_db_t
      *jdb, uint64_t *occupied_all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lmdb_init
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:325,1
    - Dst: journal_env_flags
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:325,1
    - Dst: init_list
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:328,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:338,1
    - Dst: list_zone
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:341,1
    - Dst: knot_lmdb_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:344,1
    - Dst: ptrlist_deep_free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:345,1
    - Dst: printf
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - path
    - detailed
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 351
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 351
    functionName: list_zones
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 2
    functionsReached:
    - journal_env_flags
    - list_zone
    - knot_lmdb_deinit
    - ptrlist_deep_free
    - printf
    - knot_lmdb_init
    - init_list
    linkageType: ''
    returnType: int
    signature: int list_zones(char *path, bool detailed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:359,1
    - Dst: signal_init_std
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:383,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:386,1
    - Dst: util_conf_init_file
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:389,1
    - Dst: util_conf_init_confdb
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:394,1
    - Dst: util_conf_init_justdb
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:399,1
    - Dst: str_to_int
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:404,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:405,1
    - Dst: str_to_u32
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:410,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:411,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:435,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:438,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:441,1
    - Dst: util_conf_init_default
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:448,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:456,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:459,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:464,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:467,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:470,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:470,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:475,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:476,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:479,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:480,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:483,1
    - Dst: free
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:484,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:488,1
    - Dst: INFO2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:490,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:494,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:497,1
    - Dst: ERR2
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:502,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:502,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:508,1
    - Dst: util_conf_deinit
      Src: /src/knot-dns/src/utils/kjournalprint/main.c:511,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 138
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 513
      start: 353
    functionDepth: 7
    functionLinenumber: 353
    functionLinenumberEnd: 513
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/kjournalprint/main.c
    functionUses: 4
    functionsReached:
    - getopt_long
    - knot_strerror
    - print_version
    - free
    - print_help
    - signal_init_std
    - str_to_u32
    - util_conf_init_justdb
    - util_conf_init_default
    - util_conf_init_confdb
    - ERR2
    - str_to_int
    - knot_dname_from_str_alloc
    - INFO2
    - util_conf_init_file
    - knot_dname_to_lower
    - isatty
    - util_conf_deinit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/knot-dns/src/utils/knotd/main.c:47,1
    - Dst: _exit
      Src: /src/knot-dns/src/utils/knotd/main.c:56,1
    - Dst: setsid
      Src: /src/knot-dns/src/utils/knotd/main.c:59,1
    - Dst: chdir
      Src: /src/knot-dns/src/utils/knotd/main.c:64,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:70,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:71,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:72,1
    - Dst: dup2
      Src: /src/knot-dns/src/utils/knotd/main.c:82,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:83,1
    - Dst: dup2
      Src: /src/knot-dns/src/utils/knotd/main.c:86,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:87,1
    - Dst: dup2
      Src: /src/knot-dns/src/utils/knotd/main.c:90,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:91,1
    - Dst: close
      Src: /src/knot-dns/src/utils/knotd/main.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - nochdir
    - noclose
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 98
    functionName: make_daemon
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - fork
    - chdir
    - setsid
    - close
    - dup2
    - _exit
    linkageType: ''
    returnType: int
    signature: int make_daemon(int nochdir, int noclose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: capng_have_capability
      Src: /src/knot-dns/src/utils/knotd/main.c:105,1
    - Dst: capng_clear
      Src: /src/knot-dns/src/utils/knotd/main.c:106,1
    - Dst: capng_apply
      Src: /src/knot-dns/src/utils/knotd/main.c:109,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotd/main.c:110,1
    - Dst: strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:111,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: drop_capabilities
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - log_info
    - capng_have_capability
    - capng_clear
    - log_error
    - capng_apply
    - strerror
    linkageType: ''
    returnType: void
    signature: void drop_capabilities(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/knot-dns/src/utils/knotd/main.c:128,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:134,1
    - Dst: rcu_read_lock
      Src: /src/knot-dns/src/utils/knotd/main.c:139,1
    - Dst: knot_zonedb_iter_begin
      Src: /src/knot-dns/src/utils/knotd/main.c:140,1
    - Dst: knot_zonedb_iter_finished
      Src: /src/knot-dns/src/utils/knotd/main.c:141,1
    - Dst: knot_zonedb_iter_val
      Src: /src/knot-dns/src/utils/knotd/main.c:142,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/utils/knotd/main.c:144,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/utils/knotd/main.c:145,1
    - Dst: knot_zonedb_iter_next
      Src: /src/knot-dns/src/utils/knotd/main.c:148,1
    - Dst: knot_zonedb_iter_free
      Src: /src/knot-dns/src/utils/knotd/main.c:150,1
    - Dst: rcu_read_unlock
      Src: /src/knot-dns/src/utils/knotd/main.c:151,1
    - Dst: dbus_emit_running
      Src: /src/knot-dns/src/utils/knotd/main.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - server
    argTypes:
    - server_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: check_loaded
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - rcu_read_unlock
    - conf
    - time_now
    - knot_zonedb_iter_next
    - knot_zonedb_iter_begin
    - knot_zonedb_iter_finished
    - rcu_read_lock
    - knot_zonedb_iter_val
    - dbus_emit_running
    - knot_zonedb_iter_free
    linkageType: ''
    returnType: void
    signature: void check_loaded(server_t *server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_ctl_unbind
      Src: /src/knot-dns/src/utils/knotd/main.c:160,1
    - Dst: knot_ctl_free
      Src: /src/knot-dns/src/utils/knotd/main.c:161,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotd/main.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctls
    - count
    argTypes:
    - knot_ctl_t**
    - unsigned
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: deinit_ctls
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - free
    - knot_ctl_free
    - knot_ctl_unbind
    linkageType: ''
    returnType: void
    signature: void deinit_ctls(knot_ctl_t **ctls, unsigned count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/knot-dns/src/utils/knotd/main.c:168,1
    - Dst: conf_val_count
      Src: /src/knot-dns/src/utils/knotd/main.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - socket
    - listen_val
    argTypes:
    - char*
    - conf_val_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: count_ctls
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - conf_val_count
    - MAX
    linkageType: ''
    returnType: unsigned
    signature: unsigned count_ctls(const char *socket, conf_val_t *listen_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotd/main.c:173,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:173,1
    - Dst: calloc
      Src: /src/knot-dns/src/utils/knotd/main.c:176,1
    - Dst: knot_ctl_alloc
      Src: /src/knot-dns/src/utils/knotd/main.c:178,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:180,1
    - Dst: deinit_ctls
      Src: /src/knot-dns/src/utils/knotd/main.c:181,1
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotd/main.c:187,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:187,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:195,1
    - Dst: knot_ctl_set_timeout
      Src: /src/knot-dns/src/utils/knotd/main.c:198,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:198,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:199,1
    - Dst: knot_ctl_bind
      Src: /src/knot-dns/src/utils/knotd/main.c:200,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:202,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:203,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotd/main.c:205,1
    - Dst: conf_val_next
      Src: /src/knot-dns/src/utils/knotd/main.c:208,1
    - Dst: deinit_ctls
      Src: /src/knot-dns/src/utils/knotd/main.c:212,1
    - Dst: free
      Src: /src/knot-dns/src/utils/knotd/main.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 218
    functionName: init_ctls
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 1
    functionsReached:
    - log_info
    - calloc
    - log_fatal
    - deinit_ctls
    - conf
    - knot_ctl_bind
    - knot_ctl_set_timeout
    - knot_strerror
    - free
    - knot_ctl_alloc
    - conf_val_next
    - conf_get
    linkageType: ''
    returnType: knot_ctl_t
    signature: knot_ctl_t **init_ctls(const char *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_ctls
      Src: /src/knot-dns/src/utils/knotd/main.c:224,1
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotd/main.c:229,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:229,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:239,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:240,1
    - Dst: signals_enable
      Src: /src/knot-dns/src/utils/knotd/main.c:244,1
    - Dst: systemd_ready_notify
      Src: /src/knot-dns/src/utils/knotd/main.c:247,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:249,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:251,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/utils/knotd/main.c:258,1
    - Dst: server_reload
      Src: /src/knot-dns/src/utils/knotd/main.c:259,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/utils/knotd/main.c:260,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/utils/knotd/main.c:264,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/knot-dns/src/utils/knotd/main.c:266,1
    - Dst: ATOMIC_SET
      Src: /src/knot-dns/src/utils/knotd/main.c:267,1
    - Dst: server_update_zones
      Src: /src/knot-dns/src/utils/knotd/main.c:268,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:268,1
    - Dst: pthread_rwlock_unlock
      Src: /src/knot-dns/src/utils/knotd/main.c:269,1
    - Dst: check_loaded
      Src: /src/knot-dns/src/utils/knotd/main.c:279,1
    - Dst: sleep
      Src: /src/knot-dns/src/utils/knotd/main.c:281,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:284,1
    - Dst: dbus_emit_running
      Src: /src/knot-dns/src/utils/knotd/main.c:285,1
    - Dst: ctl_socket_thr_end
      Src: /src/knot-dns/src/utils/knotd/main.c:288,1
    - Dst: deinit_ctls
      Src: /src/knot-dns/src/utils/knotd/main.c:289,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - server
    - socket
    - daemonize
    - pid
    argTypes:
    - server_t*
    - char*
    - bool
    - unsigned long
    constantsTouched: []
    func_position:
      end: 290
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 290
    functionName: event_loop
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 0
    functionsReached:
    - server_update_zones
    - conf
    - ATOMIC_SET
    - systemd_ready_notify
    - dbus_emit_running
    - log_fatal
    - knot_strerror
    - sleep
    - ATOMIC_GET
    - signals_enable
    - deinit_ctls
    - pthread_rwlock_wrlock
    - ctl_socket_thr_end
    - check_loaded
    - log_info
    - pthread_rwlock_unlock
    - server_reload
    - conf_get
    - init_ctls
    linkageType: ''
    returnType: void
    signature: "void event_loop(server_t *server, const char *socket, bool daemonize,\n
      \                      unsigned long pid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/knot-dns/src/utils/knotd/main.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: print_help
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 13
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_help(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:317,1
    - Dst: conf_db_exists
      Src: /src/knot-dns/src/utils/knotd/main.c:327,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:339,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:340,1
    - Dst: conf_import
      Src: /src/knot-dns/src/utils/knotd/main.c:346,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:348,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:349,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:350,1
    - Dst: conf_migrate
      Src: /src/knot-dns/src/utils/knotd/main.c:356,1
    - Dst: log_error
      Src: /src/knot-dns/src/utils/knotd/main.c:358,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:358,1
    - Dst: conf_update
      Src: /src/knot-dns/src/utils/knotd/main.c:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - confdb
    - config
    - max_conf_size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 365
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 365
    functionName: set_config
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 1
    functionsReached:
    - conf_update
    - log_fatal
    - conf_import
    - knot_strerror
    - conf_free
    - conf_db_exists
    - log_error
    - conf_migrate
    linkageType: ''
    returnType: int
    signature: int set_config(const char *confdb, const char *config, size_t max_conf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/knot-dns/src/utils/knotd/main.c:391,1
    - Dst: getopt_long
      Src: /src/knot-dns/src/utils/knotd/main.c:395,1
    - Dst: str_to_size
      Src: /src/knot-dns/src/utils/knotd/main.c:404,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotd/main.c:405,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotd/main.c:424,1
    - Dst: print_version
      Src: /src/knot-dns/src/utils/knotd/main.c:427,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotd/main.c:430,1
    - Dst: print_help
      Src: /src/knot-dns/src/utils/knotd/main.c:437,1
    - Dst: umask
      Src: /src/knot-dns/src/utils/knotd/main.c:442,1
    - Dst: make_daemon
      Src: /src/knot-dns/src/utils/knotd/main.c:446,1
    - Dst: fprintf
      Src: /src/knot-dns/src/utils/knotd/main.c:447,1
    - Dst: signals_setup
      Src: /src/knot-dns/src/utils/knotd/main.c:453,1
    - Dst: dnssec_crypto_init
      Src: /src/knot-dns/src/utils/knotd/main.c:456,1
    - Dst: srand
      Src: /src/knot-dns/src/utils/knotd/main.c:459,1
    - Dst: time
      Src: /src/knot-dns/src/utils/knotd/main.c:459,1
    - Dst: log_init
      Src: /src/knot-dns/src/utils/knotd/main.c:462,1
    - Dst: log_levels_add
      Src: /src/knot-dns/src/utils/knotd/main.c:464,1
    - Dst: LOG_MASK
      Src: /src/knot-dns/src/utils/knotd/main.c:464,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:470,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:471,1
    - Dst: log_reconfigure
      Src: /src/knot-dns/src/utils/knotd/main.c:476,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:476,1
    - Dst: server_init
      Src: /src/knot-dns/src/utils/knotd/main.c:480,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:480,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:482,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:482,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:483,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:483,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:484,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:485,1
    - Dst: server_reconfigure
      Src: /src/knot-dns/src/utils/knotd/main.c:491,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:491,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:493,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:494,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:495,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:496,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:496,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:497,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:498,1
    - Dst: conf_user
      Src: /src/knot-dns/src/utils/knotd/main.c:504,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:504,1
    - Dst: log_update_privileges
      Src: /src/knot-dns/src/utils/knotd/main.c:505,1
    - Dst: proc_update_privileges
      Src: /src/knot-dns/src/utils/knotd/main.c:506,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:507,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:508,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:509,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:510,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:510,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:511,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:512,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:517,1
    - Dst: dbus_open
      Src: /src/knot-dns/src/utils/knotd/main.c:518,1
    - Dst: sleep
      Src: /src/knot-dns/src/utils/knotd/main.c:520,1
    - Dst: drop_capabilities
      Src: /src/knot-dns/src/utils/knotd/main.c:524,1
    - Dst: conf_activate_modules
      Src: /src/knot-dns/src/utils/knotd/main.c:527,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:527,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:527,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:528,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:530,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:530,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:531,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:532,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:533,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:533,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/utils/knotd/main.c:534,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:535,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:536,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:543,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:544,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:545,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:545,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/utils/knotd/main.c:546,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:547,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:548,1
    - Dst: chdir
      Src: /src/knot-dns/src/utils/knotd/main.c:553,1
    - Dst: log_warning
      Src: /src/knot-dns/src/utils/knotd/main.c:554,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:557,1
    - Dst: rcu_register_thread
      Src: /src/knot-dns/src/utils/knotd/main.c:562,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:565,1
    - Dst: conf_id_count
      Src: /src/knot-dns/src/utils/knotd/main.c:565,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:565,1
    - Dst: server_update_zones
      Src: /src/knot-dns/src/utils/knotd/main.c:566,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:566,1
    - Dst: knot_zonedb_size
      Src: /src/knot-dns/src/utils/knotd/main.c:569,1
    - Dst: log_warning
      Src: /src/knot-dns/src/utils/knotd/main.c:570,1
    - Dst: stats_reconfigure
      Src: /src/knot-dns/src/utils/knotd/main.c:573,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:573,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:576,1
    - Dst: conf_get
      Src: /src/knot-dns/src/utils/knotd/main.c:577,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:577,1
    - Dst: server_start
      Src: /src/knot-dns/src/utils/knotd/main.c:578,1
    - Dst: conf_bool
      Src: /src/knot-dns/src/utils/knotd/main.c:578,1
    - Dst: log_fatal
      Src: /src/knot-dns/src/utils/knotd/main.c:580,1
    - Dst: knot_strerror
      Src: /src/knot-dns/src/utils/knotd/main.c:580,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:581,1
    - Dst: stats_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:582,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:583,1
    - Dst: rcu_unregister_thread
      Src: /src/knot-dns/src/utils/knotd/main.c:584,1
    - Dst: pid_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:585,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:586,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:586,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/utils/knotd/main.c:587,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:588,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:589,1
    - Dst: event_loop
      Src: /src/knot-dns/src/utils/knotd/main.c:594,1
    - Dst: server_stop
      Src: /src/knot-dns/src/utils/knotd/main.c:597,1
    - Dst: server_wait
      Src: /src/knot-dns/src/utils/knotd/main.c:598,1
    - Dst: stats_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:599,1
    - Dst: pid_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:602,1
    - Dst: server_deinit
      Src: /src/knot-dns/src/utils/knotd/main.c:605,1
    - Dst: conf_free
      Src: /src/knot-dns/src/utils/knotd/main.c:606,1
    - Dst: conf
      Src: /src/knot-dns/src/utils/knotd/main.c:606,1
    - Dst: rcu_unregister_thread
      Src: /src/knot-dns/src/utils/knotd/main.c:609,1
    - Dst: dbus_close
      Src: /src/knot-dns/src/utils/knotd/main.c:611,1
    - Dst: log_info
      Src: /src/knot-dns/src/utils/knotd/main.c:613,1
    - Dst: log_close
      Src: /src/knot-dns/src/utils/knotd/main.c:614,1
    - Dst: dnssec_crypto_cleanup
      Src: /src/knot-dns/src/utils/knotd/main.c:616,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 157
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 619
      start: 367
    functionDepth: 7
    functionLinenumber: 367
    functionLinenumberEnd: 619
    functionName: main
    functionSourceFile: /src/knot-dns/src/utils/knotd/main.c
    functionUses: 4
    functionsReached:
    - conf_user
    - server_init
    - log_warning
    - print_version
    - log_close
    - print_help
    - time
    - conf
    - rcu_register_thread
    - server_update_zones
    - knot_zonedb_size
    - server_start
    - pid_cleanup
    - srand
    - log_reconfigure
    - tzset
    - server_stop
    - dbus_open
    - log_fatal
    - knot_strerror
    - proc_update_privileges
    - conf_id_count
    - rcu_unregister_thread
    - server_wait
    - sleep
    - umask
    - stats_deinit
    - conf_activate_modules
    - signals_setup
    - getopt_long
    - log_update_privileges
    - event_loop
    - str_to_size
    - server_reconfigure
    - drop_capabilities
    - dnssec_crypto_init
    - server_deinit
    - log_levels_add
    - dbus_close
    - make_daemon
    - log_info
    - chdir
    - conf_bool
    - conf_free
    - stats_reconfigure
    - dnssec_crypto_cleanup
    - LOG_MASK
    - fprintf
    - conf_get
    - log_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc_trim
      Src: /src/knot-dns/src/contrib/trim.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: mem_trim
    functionSourceFile: /src/knot-dns/src/contrib/trim.h
    functionUses: 2
    functionsReached:
    - malloc_trim
    linkageType: ''
    returnType: void
    signature: void mem_trim(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/knot-dns/src/contrib/threads.c:13,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/contrib/threads.c:14,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/contrib/threads.c:15,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/contrib/threads.c:16,1
    - Dst: sigdelset
      Src: /src/knot-dns/src/contrib/threads.c:17,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/contrib/threads.c:18,1
    - Dst: pthread_sigmask
      Src: /src/knot-dns/src/contrib/threads.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - thr
    - (*cb)(void*)
    - ctx
    argTypes:
    - pthread_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 25
    functionName: thread_create_nosignal
    functionSourceFile: /src/knot-dns/src/contrib/threads.c
    functionUses: 2
    functionsReached:
    - pthread_sigmask
    - sigfillset
    - sigdelset
    linkageType: ''
    returnType: int
    signature: int thread_create_nosignal(pthread_t *thr, void *(*cb)(void*), void
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/knot-dns/src/contrib/os.h:17,1
    - Dst: sscanf
      Src: /src/knot-dns/src/contrib/os.h:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - version_first
    - version_second
    argTypes:
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: linux_at_least
    functionSourceFile: /src/knot-dns/src/contrib/os.h
    functionUses: 2
    functionsReached:
    - uname
    - sscanf
    linkageType: ''
    returnType: bool
    signature: bool linux_at_least(unsigned version_first, unsigned version_second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/knot-dns/src/contrib/spinlock.h:33,1
    - Dst: pthread_spin_init
      Src: /src/knot-dns/src/contrib/spinlock.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - knot_spin_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: knot_spin_init
    functionSourceFile: /src/knot-dns/src/contrib/spinlock.h
    functionUses: 4
    functionsReached:
    - atomic_init
    - pthread_spin_init
    linkageType: ''
    returnType: void
    signature: void knot_spin_init(knot_spin_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_spin_destroy
      Src: /src/knot-dns/src/contrib/spinlock.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - knot_spin_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: knot_spin_destroy
    functionSourceFile: /src/knot-dns/src/contrib/spinlock.h
    functionUses: 3
    functionsReached:
    - pthread_spin_destroy
    linkageType: ''
    returnType: void
    signature: void knot_spin_destroy(knot_spin_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/knot-dns/src/contrib/spinlock.h:54,1
    - Dst: pthread_spin_lock
      Src: /src/knot-dns/src/contrib/spinlock.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - knot_spin_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: knot_spin_lock
    functionSourceFile: /src/knot-dns/src/contrib/spinlock.h
    functionUses: 5
    functionsReached:
    - atomic_compare_exchange_strong
    - pthread_spin_lock
    linkageType: ''
    returnType: void
    signature: void knot_spin_lock(knot_spin_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/knot-dns/src/contrib/spinlock.h:66,1
    - Dst: pthread_spin_unlock
      Src: /src/knot-dns/src/contrib/spinlock.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - knot_spin_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: knot_spin_unlock
    functionSourceFile: /src/knot-dns/src/contrib/spinlock.h
    functionUses: 5
    functionsReached:
    - atomic_store
    - pthread_spin_unlock
    linkageType: ''
    returnType: void
    signature: void knot_spin_unlock(knot_spin_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/sockaddr.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ss
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: sockaddr_len
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 7
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int sockaddr_len(const struct sockaddr_storage *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - ignore_port
    argTypes:
    - struct sockaddr_in*
    - struct sockaddr_in*
    - bool
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: cmp_ipv4
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmp_ipv4(const struct sockaddr_in *a, const struct sockaddr_in
      *b,\n                    bool ignore_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - ignore_port
    argTypes:
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    - bool
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: cmp_ipv6
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmp_ipv6(const struct sockaddr_in6 *a, const struct sockaddr_in6
      *b,\n                    bool ignore_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_un*
    - struct sockaddr_un*
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: cmp_unix
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_unix(const struct sockaddr_un *a, const struct sockaddr_un
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/sockaddr.c:80,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/sockaddr.c:81,1
    - Dst: cmp_ipv4
      Src: /src/knot-dns/src/contrib/sockaddr.c:90,1
    - Dst: cmp_ipv6
      Src: /src/knot-dns/src/contrib/sockaddr.c:93,1
    - Dst: cmp_unix
      Src: /src/knot-dns/src/contrib/sockaddr.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - ignore_port
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - bool
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: sockaddr_cmp
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 10
    functionsReached:
    - assert
    - cmp_ipv4
    - cmp_unix
    - cmp_ipv6
    linkageType: ''
    returnType: int
    signature: "int sockaddr_cmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b,\n                 bool ignore_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/sockaddr.c:109,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/contrib/sockaddr.c:111,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/contrib/sockaddr.c:116,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/contrib/sockaddr.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - ss
    - family
    - straddr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 136
    functionName: sockaddr_set
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 17
    functionsReached:
    - sockaddr_port_set
    - inet_pton
    - memset
    linkageType: ''
    returnType: int
    signature: int sockaddr_set(struct sockaddr_storage *ss, int family, const char
      *straddr, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/sockaddr.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ss
    - addr_size
    argTypes:
    - struct sockaddr_storage*
    - size_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: sockaddr_raw
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void *sockaddr_raw(const struct sockaddr_storage *ss, size_t *addr_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/sockaddr.c:168,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/sockaddr.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - ss
    - family
    - raw_addr
    - raw_addr_size
    argTypes:
    - struct sockaddr_storage*
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: sockaddr_set_raw
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int sockaddr_set_raw(struct sockaddr_storage *ss, int family,\n                     const
      uint8_t *raw_addr, size_t raw_addr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/contrib/sockaddr.c:195,1
    - Dst: if_indextoname
      Src: /src/knot-dns/src/contrib/sockaddr.c:198,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/sockaddr.c:199,1
    - Dst: strlcat
      Src: /src/knot-dns/src/contrib/sockaddr.c:201,1
    - Dst: strlcat
      Src: /src/knot-dns/src/contrib/sockaddr.c:202,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/contrib/sockaddr.c:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - maxlen
    - ss
    argTypes:
    - char*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 236
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 236
    functionName: sockaddr_tostr
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 10
    functionsReached:
    - knot_inet_ntop
    - strlcat
    - snprintf
    - if_indextoname
    linkageType: ''
    returnType: int
    signature: int sockaddr_tostr(char *buf, size_t maxlen, const struct sockaddr_storage
      *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/sockaddr.c:245,1
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/sockaddr.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ss
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: sockaddr_port
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 3
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: int sockaddr_port(const struct sockaddr_storage *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/knot-dns/src/contrib/sockaddr.c:260,1
    - Dst: htons
      Src: /src/knot-dns/src/contrib/sockaddr.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ss
    - port
    argTypes:
    - struct sockaddr_storage*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: sockaddr_port_set
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 3
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void sockaddr_port_set(struct sockaddr_storage *ss, uint16_t port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/knot-dns/src/contrib/sockaddr.c:270,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/sockaddr.c:280,1
    - Dst: getaddrinfo
      Src: /src/knot-dns/src/contrib/sockaddr.c:284,1
    - Dst: strdup
      Src: /src/knot-dns/src/contrib/sockaddr.c:288,1
    - Dst: freeaddrinfo
      Src: /src/knot-dns/src/contrib/sockaddr.c:292,1
    - Dst: strdup
      Src: /src/knot-dns/src/contrib/sockaddr.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 296
    functionName: sockaddr_hostname
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 1
    functionsReached:
    - strdup
    - freeaddrinfo
    - gethostname
    - getaddrinfo
    - memset
    linkageType: ''
    returnType: char
    signature: char *sockaddr_hostname(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/sockaddr.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: sockaddr_is_any
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sockaddr_is_any(const struct sockaddr_storage *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/knot-dns/src/contrib/sockaddr.c:332,1
    - Dst: MIN
      Src: /src/knot-dns/src/contrib/sockaddr.c:338,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/sockaddr.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ss1
    - ss2
    - prefix
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - unsigned
    constantsTouched: []
    func_position:
      end: 351
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 351
    functionName: sockaddr_net_match
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 7
    functionsReached:
    - MIN
    - strcmp
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool sockaddr_net_match(const struct sockaddr_storage *ss1,\n                        const
      struct sockaddr_storage *ss2,\n                        unsigned prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/contrib/sockaddr.c:367,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/contrib/sockaddr.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - ss
    - ss_min
    - ss_max
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: sockaddr_range_match
    functionSourceFile: /src/knot-dns/src/contrib/sockaddr.c
    functionUses: 4
    functionsReached:
    - sockaddr_cmp
    linkageType: ''
    returnType: bool
    signature: "bool sockaddr_range_match(const struct sockaddr_storage *ss,\n                          const
      struct sockaddr_storage *ss_min,\n                          const struct sockaddr_storage
      *ss_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - w
    - type
    argTypes:
    - jsonw_t*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: start_block
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void start_block(jsonw_t *w, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - jsonw_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: cur_block
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct block
    signature: struct block *cur_block(jsonw_t *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:74,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - w
    argTypes:
    - jsonw_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: wrap
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 1
    functionsReached:
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void wrap(jsonw_t *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - w
    argTypes:
    - jsonw_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: end_block
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void end_block(jsonw_t *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:91,1
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:96,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:98,1
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:101,1
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - w
    - str
    - maxlen
    - quote
    argTypes:
    - jsonw_t*
    - char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: escaped_print
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void escaped_print(jsonw_t *w, const char *str, size_t maxlen, bool
      quote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cur_block
      Src: /src/knot-dns/src/contrib/json.c:110,1
    - Dst: fputc
      Src: /src/knot-dns/src/contrib/json.c:112,1
    - Dst: wrap
      Src: /src/knot-dns/src/contrib/json.c:115,1
    - Dst: escaped_print
      Src: /src/knot-dns/src/contrib/json.c:118,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - jsonw_t*
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: align_key
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached:
    - cur_block
    - escaped_print
    - fputc
    - wrap
    - fprintf
    linkageType: ''
    returnType: void
    signature: void align_key(jsonw_t *w, const char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:125,1
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/json.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - out
    - indent
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: jsonw_new
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 6
    functionsReached:
    - assert
    - calloc
    linkageType: ''
    returnType: jsonw_t
    signature: jsonw_t *jsonw_new(FILE *out, const char *indent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap
      Src: /src/knot-dns/src/contrib/json.c:145,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/json.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - w
    argTypes:
    - jsonw_t**
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: jsonw_free
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 6
    functionsReached:
    - free
    - wrap
    linkageType: ''
    returnType: void
    signature: void jsonw_free(jsonw_t **w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:153,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:155,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - jsonw_t*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: jsonw_null
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_null(jsonw_t *w, const char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:161,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:163,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:164,1
    - Dst: start_block
      Src: /src/knot-dns/src/contrib/json.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - jsonw_t*
    - char*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: jsonw_object
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 14
    functionsReached:
    - assert
    - fprintf
    - start_block
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_object(jsonw_t *w, const char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:170,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:172,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:173,1
    - Dst: start_block
      Src: /src/knot-dns/src/contrib/json.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - w
    - key
    argTypes:
    - jsonw_t*
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: jsonw_list
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 11
    functionsReached:
    - assert
    - fprintf
    - start_block
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_list(jsonw_t *w, const char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:179,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:181,1
    - Dst: escaped_print
      Src: /src/knot-dns/src/contrib/json.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - value
    argTypes:
    - jsonw_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: jsonw_str
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 16
    functionsReached:
    - escaped_print
    - assert
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_str(jsonw_t *w, const char *key, const char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:187,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:189,1
    - Dst: escaped_print
      Src: /src/knot-dns/src/contrib/json.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - w
    - key
    - value
    - len
    - quote
    argTypes:
    - jsonw_t*
    - char*
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: jsonw_str_len
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 1
    functionsReached:
    - escaped_print
    - assert
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_str_len(jsonw_t *w, const char *key, const uint8_t *value,
      size_t len, bool quote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:195,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:197,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - value
    argTypes:
    - jsonw_t*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: jsonw_ulong
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 6
    functionsReached:
    - assert
    - fprintf
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_ulong(jsonw_t *w, const char *key, unsigned long value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:203,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:205,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - value
    argTypes:
    - jsonw_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: jsonw_int
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 8
    functionsReached:
    - assert
    - fprintf
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_int(jsonw_t *w, const char *key, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:211,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:213,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - value
    argTypes:
    - jsonw_t*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: jsonw_double
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 1
    functionsReached:
    - assert
    - fprintf
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_double(jsonw_t *w, const char *key, double value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:219,1
    - Dst: align_key
      Src: /src/knot-dns/src/contrib/json.c:221,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - key
    - value
    argTypes:
    - jsonw_t*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: jsonw_bool
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 2
    functionsReached:
    - assert
    - fprintf
    - align_key
    linkageType: ''
    returnType: void
    signature: void jsonw_bool(jsonw_t *w, const char *key, bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:227,1
    - Dst: jsonw_str
      Src: /src/knot-dns/src/contrib/json.c:231,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/json.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - w
    - key
    - data
    - len
    argTypes:
    - jsonw_t*
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: jsonw_hex
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 6
    functionsReached:
    - free
    - assert
    - jsonw_str
    linkageType: ''
    returnType: void
    signature: void jsonw_hex(jsonw_t *w, const char *key, const uint8_t *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/json.c:238,1
    - Dst: cur_block
      Src: /src/knot-dns/src/contrib/json.c:240,1
    - Dst: end_block
      Src: /src/knot-dns/src/contrib/json.c:245,1
    - Dst: wrap
      Src: /src/knot-dns/src/contrib/json.c:246,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:250,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/json.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - w
    argTypes:
    - jsonw_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: jsonw_end
    functionSourceFile: /src/knot-dns/src/contrib/json.c
    functionUses: 18
    functionsReached:
    - assert
    - cur_block
    - end_block
    - wrap
    - fprintf
    linkageType: ''
    returnType: void
    signature: void jsonw_end(jsonw_t *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/string.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: memdup
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *memdup(const uint8_t *data, size_t data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/string.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - str
    - mem
    - mem_size
    argTypes:
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: strmemcmp
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strmemcmp(const char *str, const uint8_t *mem, size_t mem_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/contrib/string.c:52,1
    - Dst: va_end
      Src: /src/knot-dns/src/contrib/string.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: sprintf_alloc
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 9
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: char
    signature: char *sprintf_alloc(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/string.c:77,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/string.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: strcdup
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *strcdup(const char *s1, const char *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_space
      Src: /src/knot-dns/src/contrib/string.c:86,1
    - Dst: is_space
      Src: /src/knot-dns/src/contrib/string.c:92,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/string.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: strstrip
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 2
    functionsReached:
    - memcpy
    - is_space
    linkageType: ''
    returnType: char
    signature: char *strstrip(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/contrib/string.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: strtolower
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 3
    functionsReached:
    - knot_tolower
    linkageType: ''
    returnType: void
    signature: void strtolower(char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: const_time_memcmp
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int const_time_memcmp(const void *s1, const void *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __has_feature
      Src: /src/knot-dns/src/contrib/string.c:136,1
    - Dst: bzero
      Src: /src/knot-dns/src/contrib/string.c:138,1
    - Dst: explicit_bzero
      Src: /src/knot-dns/src/contrib/string.c:140,1
    - Dst: explicit_bzero
      Src: /src/knot-dns/src/contrib/string.c:143,1
    - Dst: explicit_memset
      Src: /src/knot-dns/src/contrib/string.c:147,1
    - Dst: gnutls_memset
      Src: /src/knot-dns/src/contrib/string.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: memzero
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 3
    functionsReached:
    - explicit_bzero
    - __has_feature
    - bzero
    - explicit_memset
    - gnutls_memset
    linkageType: ''
    returnType: void
    signature: void *memzero(void *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bin
    - bin_len
    - upper_case
    argTypes:
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: bin_to_hex
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bin_to_hex(const uint8_t *bin, size_t bin_len, bool upper_case)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/string.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: hex_to_number
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex_to_number(const char hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_xdigit
      Src: /src/knot-dns/src/contrib/string.c:214,1
    - Dst: is_xdigit
      Src: /src/knot-dns/src/contrib/string.c:214,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/string.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - hex
    - out_len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: hex_to_bin
    functionSourceFile: /src/knot-dns/src/contrib/string.c
    functionUses: 2
    functionsReached:
    - free
    - is_xdigit
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *hex_to_bin(const char *hex, size_t *out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: mm_nofree
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mm_nofree(void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/mempattern.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: mm_malloc
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *mm_malloc(void *ctx, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_mm_t*::alloc
      Src: /src/knot-dns/src/contrib/mempattern.c:26,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/mempattern.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mm
    - size
    argTypes:
    - knot_mm_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mm_alloc
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 10
    functionsReached:
    - knot_mm_t*::alloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void *mm_alloc(knot_mm_t *mm, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memzero
      Src: /src/knot-dns/src/contrib/mempattern.c:46,1
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/mempattern.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mm
    - nmemb
    - size
    argTypes:
    - knot_mm_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: mm_calloc
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 1
    functionsReached:
    - memzero
    - calloc
    linkageType: ''
    returnType: void
    signature: void *mm_calloc(knot_mm_t *mm, size_t nmemb, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/mempattern.c:60,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/mempattern.c:63,1
    - Dst: realloc
      Src: /src/knot-dns/src/contrib/mempattern.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - mm
    - what
    - size
    - prev_size
    argTypes:
    - knot_mm_t*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: mm_realloc
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_free
    - realloc
    linkageType: ''
    returnType: void
    signature: void *mm_realloc(knot_mm_t *mm, void *what, size_t size, size_t prev_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/mempattern.c:82,1
    - Dst: strdup
      Src: /src/knot-dns/src/contrib/mempattern.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mm
    - s
    argTypes:
    - knot_mm_t*
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: mm_strdup
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strdup
    linkageType: ''
    returnType: char
    signature: char *mm_strdup(knot_mm_t *mm, const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_mm_t*::free
      Src: /src/knot-dns/src/contrib/mempattern.c:92,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/mempattern.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mm
    - what
    argTypes:
    - knot_mm_t*
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: mm_free
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 16
    functionsReached:
    - free
    - knot_mm_t*::free
    linkageType: ''
    returnType: void
    signature: void mm_free(knot_mm_t *mm, void *what)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mm
    argTypes:
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: mm_ctx_init
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mm_ctx_init(knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_alloc
      Src: /src/knot-dns/src/contrib/mempattern.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: mp_alloc_wrap
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 0
    functionsReached:
    - mp_alloc
    linkageType: ''
    returnType: void
    signature: void *mp_alloc_wrap(void *ctx, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_new
      Src: /src/knot-dns/src/contrib/mempattern.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mm
    - chunk_size
    argTypes:
    - knot_mm_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: mm_ctx_mempool
    functionSourceFile: /src/knot-dns/src/contrib/mempattern.c
    functionUses: 9
    functionsReached:
    - mp_new
    linkageType: ''
    returnType: void
    signature: void mm_ctx_mempool(knot_mm_t *mm, size_t chunk_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: knot_base64_encode
    functionSourceFile: /src/knot-dns/src/contrib/base64.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64_encode(const uint8_t  *in,\n                           const
      uint32_t in_len,\n                           uint8_t        *out,\n                           const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base64.c:137,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base64.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: knot_base64_encode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base64.c
    functionUses: 2
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64_encode_alloc(const uint8_t  *in,\n                                 const
      uint32_t in_len,\n                                 uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 233
    functionName: knot_base64_decode
    functionSourceFile: /src/knot-dns/src/contrib/base64.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64_decode(const uint8_t  *in,\n                           const
      uint32_t in_len,\n                           uint8_t        *out,\n                           const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base64.c:248,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base64.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 261
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 261
    functionName: knot_base64_decode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base64.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64_decode_alloc(const uint8_t  *in,\n                                 const
      uint32_t in_len,\n                                 uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:40,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/conn_pool.c:45,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/conn_pool.c:49,1
    - Dst: pool_pop
      Src: /src/knot-dns/src/contrib/conn_pool.c:50,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/conn_pool.c:51,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/conn_pool.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pool
    - older_than
    - next_oldest
    argTypes:
    - conn_pool_t*
    - knot_time_t
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: get_old
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pool_pop
    - knot_time_cmp
    linkageType: ''
    returnType: conn_pool_fd_t
    signature: "conn_pool_fd_t get_old(conn_pool_t *pool,\n                              knot_time_t
      older_than,\n                              knot_time_t *next_oldest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/conn_pool.c:65,1
    - Dst: conn_pool_timeout
      Src: /src/knot-dns/src/contrib/conn_pool.c:66,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:67,1
    - Dst: get_old
      Src: /src/knot-dns/src/contrib/conn_pool.c:70,1
    - Dst: conn_pool_t*::close_cb
      Src: /src/knot-dns/src/contrib/conn_pool.c:72,1
    - Dst: sleep
      Src: /src/knot-dns/src/contrib/conn_pool.c:79,1
    - Dst: sleep
      Src: /src/knot-dns/src/contrib/conn_pool.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - _arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: closing_thread
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached:
    - assert
    - get_old
    - sleep
    - conn_pool_timeout
    - conn_pool_t*::close_cb
    - knot_time
    linkageType: ''
    returnType: void
    signature: void *closing_thread(void *_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/conn_pool.c:96,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/contrib/conn_pool.c:100,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/conn_pool.c:101,1
    - Dst: thread_create_nosignal
      Src: /src/knot-dns/src/contrib/conn_pool.c:104,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/contrib/conn_pool.c:105,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/conn_pool.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - capacity
    - timeout
    - close_cb
    - invalid_cb
    argTypes:
    - size_t
    - knot_timediff_t
    - conn_pool_close_cb_t
    - conn_pool_invalid_cb_t
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: conn_pool_init
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 1
    functionsReached:
    - calloc
    - free
    - thread_create_nosignal
    - pthread_mutex_destroy
    - pthread_mutex_init
    linkageType: ''
    returnType: conn_pool_t
    signature: "conn_pool_t *conn_pool_init(size_t capacity, knot_timediff_t timeout,\n
      \                           conn_pool_close_cb_t close_cb,\n                            conn_pool_invalid_cb_t
      invalid_cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cancel
      Src: /src/knot-dns/src/contrib/conn_pool.c:118,1
    - Dst: pthread_join
      Src: /src/knot-dns/src/contrib/conn_pool.c:119,1
    - Dst: get_old
      Src: /src/knot-dns/src/contrib/conn_pool.c:123,1
    - Dst: conn_pool_t*::close_cb
      Src: /src/knot-dns/src/contrib/conn_pool.c:124,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/contrib/conn_pool.c:127,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/conn_pool.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - conn_pool_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: conn_pool_deinit
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 1
    functionsReached:
    - get_old
    - pthread_join
    - free
    - pthread_mutex_destroy
    - pthread_cancel
    - conn_pool_t*::close_cb
    linkageType: ''
    returnType: void
    signature: void conn_pool_deinit(conn_pool_t *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/conn_pool.c:139,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/conn_pool.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pool
    - new_timeout
    argTypes:
    - conn_pool_t*
    - knot_timediff_t
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: conn_pool_timeout
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: knot_timediff_t
    signature: "knot_timediff_t conn_pool_timeout(conn_pool_t *pool,\n                                  knot_timediff_t
      new_timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:154,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/conn_pool.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pool
    - i
    argTypes:
    - conn_pool_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: pool_pop
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 1
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: conn_pool_fd_t
    signature: conn_pool_fd_t pool_pop(conn_pool_t *pool, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/conn_pool.c:170,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/contrib/conn_pool.c:174,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/contrib/conn_pool.c:175,1
    - Dst: pool_pop
      Src: /src/knot-dns/src/contrib/conn_pool.c:176,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/conn_pool.c:181,1
    - Dst: conn_pool_t*::invalid_cb
      Src: /src/knot-dns/src/contrib/conn_pool.c:183,1
    - Dst: conn_pool_t*::close_cb
      Src: /src/knot-dns/src/contrib/conn_pool.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pool
    - src
    - dst
    argTypes:
    - conn_pool_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: conn_pool_get
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - sockaddr_cmp
    - conn_pool_t*::invalid_cb
    - pool_pop
    - conn_pool_t*::close_cb
    linkageType: ''
    returnType: conn_pool_fd_t
    signature: "conn_pool_fd_t conn_pool_get(conn_pool_t *pool,\n                             const
      struct sockaddr_storage *src,\n                             const struct sockaddr_storage
      *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:197,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:198,1
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/conn_pool.c:199,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/conn_pool.c:201,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/conn_pool.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - pool
    - i
    - src
    - dst
    - fd
    argTypes:
    - conn_pool_t*
    - size_t
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - conn_pool_fd_t
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: pool_push
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - knot_time
    linkageType: ''
    returnType: void
    signature: "void pool_push(conn_pool_t *pool, size_t i,\n                      const
      struct sockaddr_storage *src,\n                      const struct sockaddr_storage
      *dst,\n                      conn_pool_fd_t fd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/conn_pool.c:218,1
    - Dst: pool_push
      Src: /src/knot-dns/src/contrib/conn_pool.c:223,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/conn_pool.c:224,1
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/conn_pool.c:226,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/conn_pool.c:232,1
    - Dst: pool_pop
      Src: /src/knot-dns/src/contrib/conn_pool.c:233,1
    - Dst: pool_push
      Src: /src/knot-dns/src/contrib/conn_pool.c:234,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/conn_pool.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pool
    - src
    - dst
    - fd
    argTypes:
    - conn_pool_t*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - conn_pool_fd_t
    constantsTouched: []
    func_position:
      end: 237
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 237
    functionName: conn_pool_put
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 1
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pool_pop
    - knot_time_cmp
    - pool_push
    linkageType: ''
    returnType: conn_pool_fd_t
    signature: "conn_pool_fd_t conn_pool_put(conn_pool_t *pool,\n                             const
      struct sockaddr_storage *src,\n                             const struct sockaddr_storage
      *dst,\n                             conn_pool_fd_t fd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/contrib/conn_pool.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - conn_pool_fd_t
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: conn_pool_close_cb_dflt
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void conn_pool_close_cb_dflt(conn_pool_fd_t fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - conn_pool_fd_t
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: conn_pool_invalid_cb_dflt
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool conn_pool_invalid_cb_dflt(conn_pool_fd_t fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - conn_pool_fd_t
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: conn_pool_invalid_cb_allvalid
    functionSourceFile: /src/knot-dns/src/contrib/conn_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool conn_pool_invalid_cb_allvalid(conn_pool_fd_t fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: knot_tolower
    functionSourceFile: /src/knot-dns/src/contrib/tolower.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_tolower(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/knot-dns/src/contrib/files.c:30,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/contrib/files.c:35,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:36,1
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/contrib/files.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - base_dir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: abs_path
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 4
    functionsReached:
    - strdup
    - free
    - sprintf_alloc
    linkageType: ''
    returnType: char
    signature: char * abs_path(const char *path, const char *base_dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/knot-dns/src/contrib/files.c:50,1
    - Dst: stat
      Src: /src/knot-dns/src/contrib/files.c:52,1
    - Dst: strcmp
      Src: /src/knot-dns/src/contrib/files.c:69,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:73,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - path1
    - path2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: same_path
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 1
    functionsReached:
    - free
    - stat
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool same_path(const char *path1, const char *path2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/knot-dns/src/contrib/files.c:89,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/files.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - path
    - stat
    - type
    - ftw
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: remove_file
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 0
    functionsReached:
    - rmdir
    - unlink
    linkageType: ''
    returnType: int
    signature: int remove_file(const char *path, const struct stat *stat, int type,
      struct FTW *ftw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove_file
      Src: /src/knot-dns/src/contrib/files.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path
    - stat
    - type
    - ftw
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: remove_in_dir
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 0
    functionsReached:
    - remove_file
    linkageType: ''
    returnType: int
    signature: int remove_in_dir(const char *path, const struct stat *stat, int type,
      struct FTW *ftw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nftw
      Src: /src/knot-dns/src/contrib/files.c:102,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - keep_apex
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: remove_path
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - nftw
    linkageType: ''
    returnType: int
    signature: int remove_path(const char *path, bool keep_apex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkdir
      Src: /src/knot-dns/src/contrib/files.c:111,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:116,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/files.c:119,1
    - Dst: stat
      Src: /src/knot-dns/src/contrib/files.c:122,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:123,1
    - Dst: S_ISDIR
      Src: /src/knot-dns/src/contrib/files.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - path
    - mode
    - ignore_existing
    argTypes:
    - char*
    - mode_t
    - bool
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: make_dir
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 5
    functionsReached:
    - assert
    - stat
    - knot_map_errno
    - S_ISDIR
    - mkdir
    linkageType: ''
    returnType: int
    signature: int make_dir(const char *path, mode_t mode, bool ignore_existing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/contrib/files.c:144,1
    - Dst: mkdir
      Src: /src/knot-dns/src/contrib/files.c:146,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:147,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:148,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: make_path
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 2
    functionsReached:
    - knot_map_errno
    - free
    - mkdir
    - strchr
    linkageType: ''
    returnType: int
    signature: int make_path(const char *path, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf_alloc
      Src: /src/knot-dns/src/contrib/files.c:162,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:170,1
    - Dst: fchmod
      Src: /src/knot-dns/src/contrib/files.c:174,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:175,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/files.c:176,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/files.c:177,1
    - Dst: fdopen
      Src: /src/knot-dns/src/contrib/files.c:181,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:183,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/files.c:184,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/files.c:185,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:191,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/files.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - path
    - tmp_name
    - file
    - mode
    argTypes:
    - char*
    - char**
    - FILE**
    - mode_t
    constantsTouched: []
    func_position:
      end: 197
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 197
    functionName: open_tmp_file
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 1
    functionsReached:
    - assert
    - sprintf_alloc
    - free
    - close
    - unlink
    - fdopen
    - knot_map_errno
    - fchmod
    linkageType: ''
    returnType: int
    signature: int open_tmp_file(const char *path, char **tmp_name, FILE **file, mode_t
      mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/contrib/files.c:209,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:211,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/files.c:215,1
    - Dst: open_tmp_file
      Src: /src/knot-dns/src/contrib/files.c:221,1
    - Dst: fread
      Src: /src/knot-dns/src/contrib/files.c:228,1
    - Dst: fwrite
      Src: /src/knot-dns/src/contrib/files.c:229,1
    - Dst: ferror
      Src: /src/knot-dns/src/contrib/files.c:232,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:234,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/files.c:235,1
    - Dst: rename
      Src: /src/knot-dns/src/contrib/files.c:239,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/files.c:241,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/files.c:242,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:248,1
    - Dst: fclose
      Src: /src/knot-dns/src/contrib/files.c:250,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/files.c:252,1
    - Dst: fclose
      Src: /src/knot-dns/src/contrib/files.c:254,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 257
    functionName: copy_file
    functionSourceFile: /src/knot-dns/src/contrib/files.c
    functionUses: 2
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - fread
    - free
    - unlink
    - open_tmp_file
    - ferror
    - knot_map_errno
    - rename
    - malloc
    linkageType: ''
    returnType: int
    signature: int copy_file(const char *dest, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: is_alnum
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_alnum(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: is_alpha
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: is_digit
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_digit(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: is_xdigit
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_xdigit(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: is_lower
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_lower(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: is_upper
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_upper(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: is_print
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_print(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: is_punct
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_punct(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: is_space
    functionSourceFile: /src/knot-dns/src/contrib/ctype.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_space(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/toeplitz.h:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - key
    - key_len
    - data
    - data_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: toeplitz_hash
    functionSourceFile: /src/knot-dns/src/contrib/toeplitz.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t toeplitz_hash(const uint8_t *key, const size_t key_len,\n
      \                                    const uint8_t *data, const size_t data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/toeplitz.h:67,1
    - Dst: be32toh
      Src: /src/knot-dns/src/contrib/toeplitz.h:73,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/toeplitz.h:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - ctx
    - count
    - key
    - key_len
    - data
    - data_len
    argTypes:
    - toeplitz_ctx_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 90
    functionName: toeplitz_init
    functionSourceFile: /src/knot-dns/src/contrib/toeplitz.h
    functionUses: 1
    functionsReached:
    - assert
    - be32toh
    linkageType: ''
    returnType: void
    signature: "void toeplitz_init(toeplitz_ctx_t *ctx, uint8_t count,\n                                 const
      uint8_t *key, const uint8_t key_len,\n                                 const
      uint8_t *data, const uint8_t data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - toeplitz_ctx_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: toeplitz_finish
    functionSourceFile: /src/knot-dns/src/contrib/toeplitz.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t toeplitz_finish(toeplitz_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 119
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 119
    functionName: knot_base64url_encode
    functionSourceFile: /src/knot-dns/src/contrib/base64url.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64url_encode(const uint8_t  *in,\n                              const
      uint32_t in_len,\n                              uint8_t        *out,\n                              const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base64url.c:137,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base64url.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: knot_base64url_encode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base64url.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64url_encode_alloc(const uint8_t  *in,\n                                    const
      uint32_t in_len,\n                                    uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/knot-dns/src/contrib/base64url.c:166,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 248
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 248
    functionName: knot_base64url_decode
    functionSourceFile: /src/knot-dns/src/contrib/base64url.c
    functionUses: 1
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64url_decode(const uint8_t  *in,\n                              uint32_t
      \      in_len,\n                              uint8_t        *out,\n                              const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base64url.c:263,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base64url.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: knot_base64url_decode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base64url.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base64url_decode_alloc(const uint8_t  *in,\n                                    const
      uint32_t in_len,\n                                    uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/knot-dns/src/contrib/strtonum.h:21,1
    - Dst: strtoimax
      Src: /src/knot-dns/src/contrib/strtonum.h:27,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - src
    - dst
    - min
    - max
    argTypes:
    - char*
    - intmax_t*
    - intmax_t
    - intmax_t
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: intmax_from_str
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 0
    functionsReached:
    - strtoimax
    - is_digit
    linkageType: ''
    returnType: int
    signature: "int intmax_from_str(const char *src, intmax_t *dst,\n                                  intmax_t
      min, intmax_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/knot-dns/src/contrib/strtonum.h:48,1
    - Dst: strtoumax
      Src: /src/knot-dns/src/contrib/strtonum.h:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - src
    - dst
    - min
    - max
    argTypes:
    - char*
    - uintmax_t*
    - uintmax_t
    - uintmax_t
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: uintmax_from_str
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 0
    functionsReached:
    - strtoumax
    - is_digit
    linkageType: ''
    returnType: int
    signature: "int uintmax_from_str(const char *src, uintmax_t *dst,\n                                   uintmax_t
      min, uintmax_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - min
    - max
    argTypes:
    - char*
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: str_to_int
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_int(const char *src, int *dst, int min, int max)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: str_to_u8
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_u8(const char *src, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: str_to_u16
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_u16(const char *src, uint16_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: str_to_u32
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_u32(const char *src, uint32_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: str_to_u64
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_u64(const char *src, uint64_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - min
    - max
    argTypes:
    - char*
    - size_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: str_to_size
    functionSourceFile: /src/knot-dns/src/contrib/strtonum.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int str_to_size(const char *src, size_t *dst, size_t min, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/contrib/time.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: knot_time
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 17
    functionsReached:
    - time
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_time(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: knot_time_cmp
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int knot_time_cmp(knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/time.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: knot_time_lt
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 1
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool knot_time_lt (knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/time.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: knot_time_leq
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool knot_time_leq(knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/time.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: knot_time_eq
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool knot_time_eq (knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/time.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: knot_time_geq
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 1
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool knot_time_geq(knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time_cmp
      Src: /src/knot-dns/src/contrib/time.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: knot_time_gt
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 0
    functionsReached:
    - knot_time_cmp
    linkageType: ''
    returnType: bool
    signature: bool knot_time_gt (knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: knot_time_min
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_time_min(knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: knot_time_diff
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: knot_timediff_t
    signature: knot_timediff_t knot_time_diff(knot_time_t to, knot_time_t from)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - since
    - howlong
    argTypes:
    - knot_time_t
    - knot_timediff_t
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: knot_time_add
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_time_add(knot_time_t since, knot_timediff_t howlong)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - knot_time_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: knot_time_plus
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_time_plus(knot_time_t a, knot_time_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/time.h:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - u32time
    - now
    argTypes:
    - uint32_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: knot_time_from_u32
    functionSourceFile: /src/knot-dns/src/contrib/time.h
    functionUses: 2
    functionsReached:
    - knot_time
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t knot_time_from_u32(uint32_t u32time, knot_time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 152
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 152
    functionName: knot_base32hex_encode
    functionSourceFile: /src/knot-dns/src/contrib/base32hex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base32hex_encode(const uint8_t  *in,\n                              const
      uint32_t in_len,\n                              uint8_t        *out,\n                              const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base32hex.c:170,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base32hex.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 183
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 183
    functionName: knot_base32hex_encode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base32hex.c
    functionUses: 2
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base32hex_encode_alloc(const uint8_t  *in,\n                                    const
      uint32_t in_len,\n                                    uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 92
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 314
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 314
    functionName: knot_base32hex_decode
    functionSourceFile: /src/knot-dns/src/contrib/base32hex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base32hex_decode(const uint8_t  *in,\n                              const
      uint32_t in_len,\n                              uint8_t        *out,\n                              const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/base32hex.c:329,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/base32hex.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: knot_base32hex_decode_alloc
    functionSourceFile: /src/knot-dns/src/contrib/base32hex.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t knot_base32hex_decode_alloc(const uint8_t  *in,\n                                    const
      uint32_t in_len,\n                                    uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/knot-dns/src/contrib/getline.c:20,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/getline.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - lineptr
    - n
    - stream
    argTypes:
    - char**
    - size_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 49
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 49
    functionName: knot_getline
    functionSourceFile: /src/knot-dns/src/contrib/getline.c
    functionUses: 2
    functionsReached:
    - memcpy
    - getline
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t knot_getline(char **lineptr, size_t *n, FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/contrib/time.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: time_now
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 19
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec time_now(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: time_diff
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec time_diff(const struct timespec *begin, const struct
      timespec *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_diff
      Src: /src/knot-dns/src/contrib/time.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: time_diff_ms
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 8
    functionsReached:
    - time_diff
    linkageType: ''
    returnType: double
    signature: double time_diff_ms(const struct timespec *begin, const struct timespec
      *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/time.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ind
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: calendar_index
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int calendar_index(char ind)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: calendar_digits
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t calendar_digits(int index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - unit
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: unit_value
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t unit_value(char unit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unit_value
      Src: /src/knot-dns/src/contrib/time.c:105,1
    - Dst: knot_time_add
      Src: /src/knot-dns/src/contrib/time.c:106,1
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/time.c:106,1
    - Dst: putenv
      Src: /src/knot-dns/src/contrib/time.c:114,1
    - Dst: tzset
      Src: /src/knot-dns/src/contrib/time.c:115,1
    - Dst: mktime
      Src: /src/knot-dns/src/contrib/time.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: time_ctx_finalize
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - putenv
    - unit_value
    - mktime
    - knot_time_add
    - tzset
    - knot_time
    linkageType: ''
    returnType: knot_time_t
    signature: knot_time_t time_ctx_finalize(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/time.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: time_ctx_reset
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void time_ctx_reset(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: parse_quote
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_quote(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/knot-dns/src/contrib/time.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: parse_offset
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - is_digit
    linkageType: ''
    returnType: void
    signature: void parse_offset(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calendar_digits
      Src: /src/knot-dns/src/contrib/time.c:162,1
    - Dst: is_digit
      Src: /src/knot-dns/src/contrib/time.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - time_ctx_t*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: parse_calendar
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - calendar_digits
    - is_digit
    linkageType: ''
    returnType: void
    signature: void parse_calendar(time_ctx_t *ctx, int index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/time.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: parse_sign
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void parse_sign(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: parse_unit1
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_unit1(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/knot-dns/src/contrib/time.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - time_ctx_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: parse_unit2
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: void parse_unit2(time_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_ctx_finalize
      Src: /src/knot-dns/src/contrib/time.c:256,1
    - Dst: time_ctx_reset
      Src: /src/knot-dns/src/contrib/time.c:259,1
    - Dst: parse_quote
      Src: /src/knot-dns/src/contrib/time.c:263,1
    - Dst: parse_offset
      Src: /src/knot-dns/src/contrib/time.c:266,1
    - Dst: parse_calendar
      Src: /src/knot-dns/src/contrib/time.c:274,1
    - Dst: calendar_index
      Src: /src/knot-dns/src/contrib/time.c:274,1
    - Dst: parse_sign
      Src: /src/knot-dns/src/contrib/time.c:278,1
    - Dst: parse_unit1
      Src: /src/knot-dns/src/contrib/time.c:281,1
    - Dst: parse_unit2
      Src: /src/knot-dns/src/contrib/time.c:284,1
    - Dst: time_ctx_reset
      Src: /src/knot-dns/src/contrib/time.c:294,1
    - Dst: time_ctx_finalize
      Src: /src/knot-dns/src/contrib/time.c:300,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - format
    - timespec
    - time
    argTypes:
    - char*
    - char*
    - knot_time_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 304
    functionName: knot_time_parse
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 2
    functionsReached:
    - parse_calendar
    - parse_offset
    - parse_unit2
    - parse_quote
    - parse_unit1
    - time_ctx_finalize
    - time_ctx_reset
    - calendar_index
    - parse_sign
    linkageType: ''
    returnType: int
    signature: int knot_time_parse(const char *format, const char *timespec, knot_time_t
      *time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/time.c:316,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/src/contrib/time.c:319,1
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/time.c:319,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/time.c:327,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/time.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - dst
    - dst_len
    - unit_names
    - max_units
    - time
    argTypes:
    - char*
    - size_t
    - char*[]
    - size_t
    - knot_time_t
    constantsTouched: []
    func_position:
      end: 347
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 347
    functionName: print_unit
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 0
    functionsReached:
    - knot_time_diff
    - snprintf
    - knot_time
    linkageType: ''
    returnType: int
    signature: "int print_unit(char *dst, size_t dst_len, char *unit_names[unit_count],\n
      \                     size_t max_units, knot_time_t time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/time.c:358,1
    - Dst: putenv
      Src: /src/knot-dns/src/contrib/time.c:366,1
    - Dst: tzset
      Src: /src/knot-dns/src/contrib/time.c:367,1
    - Dst: localtime_r
      Src: /src/knot-dns/src/contrib/time.c:371,1
    - Dst: strftime
      Src: /src/knot-dns/src/contrib/time.c:372,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/time.c:375,1
    - Dst: knot_time_diff
      Src: /src/knot-dns/src/contrib/time.c:376,1
    - Dst: knot_time
      Src: /src/knot-dns/src/contrib/time.c:376,1
    - Dst: print_unit
      Src: /src/knot-dns/src/contrib/time.c:379,1
    - Dst: print_unit
      Src: /src/knot-dns/src/contrib/time.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - format
    - time
    - dst
    - dst_len
    argTypes:
    - knot_time_print_t
    - knot_time_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 385
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 385
    functionName: knot_time_print
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 9
    functionsReached:
    - putenv
    - knot_time_diff
    - localtime_r
    - snprintf
    - print_unit
    - knot_time
    - tzset
    - strftime
    linkageType: ''
    returnType: int
    signature: int knot_time_print(knot_time_print_t format, knot_time_t time, char
      *dst, size_t dst_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tths_process
      Src: /src/knot-dns/src/contrib/time.c:411,1
    - Dst: tths_process
      Src: /src/knot-dns/src/contrib/time.c:412,1
    - Dst: tths_process
      Src: /src/knot-dns/src/contrib/time.c:413,1
    - Dst: tths_process
      Src: /src/knot-dns/src/contrib/time.c:414,1
    - Dst: tths_process
      Src: /src/knot-dns/src/contrib/time.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - time
    - dst
    - dst_len
    - condensed
    argTypes:
    - knot_time_t
    - char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 420
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 420
    functionName: knot_time_print_human
    functionSourceFile: /src/knot-dns/src/contrib/time.c
    functionUses: 1
    functionsReached:
    - tths_process
    linkageType: ''
    returnType: int
    signature: int knot_time_print_human(knot_time_t time, char *dst, size_t dst_len,
      bool condensed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/contrib/net.c:30,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sock
    - level
    - optname
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: sockopt_enable
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int sockopt_enable(int sock, int level, int optname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:50,1
    - Dst: fcntl
      Src: /src/knot-dns/src/contrib/net.c:54,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - family
    - type
    - proto
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: socket_create
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - close
    - fcntl
    linkageType: ''
    returnType: int
    signature: int socket_create(int family, int type, int proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket_create
      Src: /src/knot-dns/src/contrib/net.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - addr
    argTypes:
    - int
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: net_unbound_socket
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - socket_create
    linkageType: ''
    returnType: int
    signature: int net_unbound_socket(int type, const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 122
    functionName: nonlocal_option
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct option
    signature: struct option *nonlocal_option(int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nonlocal_option
      Src: /src/knot-dns/src/contrib/net.c:126,1
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - family
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: enable_nonlocal
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - sockopt_enable
    - nonlocal_option
    linkageType: ''
    returnType: int
    signature: int enable_nonlocal(int sock, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:138,1
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: enable_reuseport
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - sockopt_enable
    linkageType: ''
    returnType: int
    signature: int enable_reuseport(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/contrib/net.c:150,1
    - Dst: unlink
      Src: /src/knot-dns/src/contrib/net.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: unlink_unix_socket
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - sockaddr_tostr
    - unlink
    linkageType: ''
    returnType: void
    signature: void unlink_unix_socket(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink_unix_socket
      Src: /src/knot-dns/src/contrib/net.c:165,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:171,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/contrib/net.c:179,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:180,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:181,1
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:189,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:191,1
    - Dst: enable_nonlocal
      Src: /src/knot-dns/src/contrib/net.c:198,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:200,1
    - Dst: enable_reuseport
      Src: /src/knot-dns/src/contrib/net.c:207,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:209,1
    - Dst: bind
      Src: /src/knot-dns/src/contrib/net.c:215,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/contrib/net.c:215,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:217,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:218,1
    - Dst: chmod
      Src: /src/knot-dns/src/contrib/net.c:224,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:225,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:226,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - type
    - addr
    - flags
    - unix_mode
    argTypes:
    - int
    - struct sockaddr_storage*
    - net_bind_flag_t
    - mode_t
    constantsTouched: []
    func_position:
      end: 232
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 232
    functionName: net_bound_socket
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 2
    functionsReached:
    - setsockopt
    - sockaddr_len
    - close
    - unlink_unix_socket
    - enable_reuseport
    - bind
    - knot_map_errno
    - enable_nonlocal
    - sockopt_enable
    - chmod
    linkageType: ''
    returnType: int
    signature: "int net_bound_socket(int type, const struct sockaddr_storage *addr,\n
      \                    net_bind_flag_t flags, mode_t unix_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:240,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/contrib/net.c:245,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - addr
    argTypes:
    - int
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: tfo_connect
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - sockaddr_len
    - sockopt_enable
    linkageType: ''
    returnType: int
    signature: int tfo_connect(int sock, const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_port
      Src: /src/knot-dns/src/contrib/net.c:264,1
    - Dst: net_bound_socket
      Src: /src/knot-dns/src/contrib/net.c:271,1
    - Dst: net_unbound_socket
      Src: /src/knot-dns/src/contrib/net.c:273,1
    - Dst: net_is_stream
      Src: /src/knot-dns/src/contrib/net.c:280,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:283,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:290,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - type
    - dst_addr
    - src_addr
    - tfo
    argTypes:
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - bool
    constantsTouched: []
    func_position:
      end: 297
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 297
    functionName: net_connected_socket
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 4
    functionsReached:
    - sockaddr_port
    - net_bound_socket
    - close
    - net_unbound_socket
    - knot_map_errno
    - net_is_stream
    linkageType: ''
    returnType: int
    signature: "int net_connected_socket(int type, const struct sockaddr_storage *dst_addr,\n
      \                        const struct sockaddr_storage *src_addr, bool tfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/contrib/net.c:307,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sock
    - backlog
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: net_bound_tfo
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 2
    functionsReached:
    - knot_map_errno
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int net_bound_tfo(int sock, int backlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:321,1
    - Dst: sockopt_enable
      Src: /src/knot-dns/src/contrib/net.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sock
    - family
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: net_cmsg_ecn_enable
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 3
    functionsReached:
    - sockopt_enable
    linkageType: ''
    returnType: int
    signature: int net_cmsg_ecn_enable(int sock, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/contrib/net.c:340,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/contrib/net.c:342,1
    - Dst: CMSG_DATA
      Src: /src/knot-dns/src/contrib/net.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - cmsg
    argTypes:
    - struct cmsghdr*
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: net_cmsg_ecn_ptr
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    linkageType: ''
    returnType: int
    signature: int *net_cmsg_ecn_ptr(struct cmsghdr *cmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_FIRSTHDR
      Src: /src/knot-dns/src/contrib/net.c:355,1
    - Dst: CMSG_NXTHDR
      Src: /src/knot-dns/src/contrib/net.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct msghdr*
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: net_cmsg_ecn
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 2
    functionsReached:
    - CMSG_NXTHDR
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t net_cmsg_ecn(struct msghdr *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/contrib/net.c:370,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:371,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/contrib/net.c:379,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - sock
    - family
    - ecn
    argTypes:
    - int
    - int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 390
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 390
    functionName: net_ecn_set
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int net_ecn_set(int sock, int family, uint8_t ecn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/knot-dns/src/contrib/net.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: net_is_connected
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 2
    functionsReached:
    - getpeername
    linkageType: ''
    returnType: bool
    signature: bool net_is_connected(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/knot-dns/src/contrib/net.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: net_socktype
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int net_socktype(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_socktype
      Src: /src/knot-dns/src/contrib/net.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: net_is_stream
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 4
    functionsReached:
    - net_socktype
    linkageType: ''
    returnType: bool
    signature: bool net_is_stream(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/knot-dns/src/contrib/net.c:424,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/contrib/net.c:426,1
    - Dst: accept
      Src: /src/knot-dns/src/contrib/net.c:429,1
    - Dst: fcntl
      Src: /src/knot-dns/src/contrib/net.c:430,1
    - Dst: close
      Src: /src/knot-dns/src/contrib/net.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sock
    - addr
    argTypes:
    - int
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 438
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 438
    functionName: net_accept
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - fcntl
    - accept
    - accept4
    - close
    - knot_map_errno
    linkageType: ''
    returnType: int
    signature: int net_accept(int sock, struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/knot-dns/src/contrib/net.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: net_reset
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void net_reset(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/knot-dns/src/contrib/net.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - timeout_ms
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: poll_one
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: int poll_one(int fd, int events, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: io_should_wait
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool io_should_wait(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: wait_should_retry
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wait_should_retry(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct msghdr*
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    functionName: msg_iov_len
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t msg_iov_len(const struct msghdr *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/net.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - done
    argTypes:
    - struct msghdr*
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 540
    functionName: msg_iov_shift
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void msg_iov_shift(struct msghdr *msg, size_t done)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_iov_shift
      Src: /src/knot-dns/src/contrib/net.c:577,1
    - Dst: io_should_wait
      Src: /src/knot-dns/src/contrib/net.c:581,1
    - Dst: struct io*::wait
      Src: /src/knot-dns/src/contrib/net.c:585,1
    - Dst: wait_should_retry
      Src: /src/knot-dns/src/contrib/net.c:591,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/net.c:602,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/net.c:603,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - io
    - fd
    - msg
    - oneshot
    - timeout_ptr
    argTypes:
    - struct io*
    - int
    - struct msghdr*
    - bool
    - int*
    constantsTouched: []
    func_position:
      end: 615
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 615
    functionName: io_exec
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - assert
    - io_should_wait
    - msg_iov_shift
    - wait_should_retry
    - struct io*::wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t io_exec(const struct io *io, int fd, struct msghdr *msg,\n
      \                      bool oneshot, int *timeout_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recvmsg
      Src: /src/knot-dns/src/contrib/net.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - msg
    - timeout_ms
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: recv_process
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - recvmsg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t recv_process(int fd, struct msghdr *msg, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll_one
      Src: /src/knot-dns/src/contrib/net.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - timeout_ms
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: recv_wait
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - poll_one
    linkageType: ''
    returnType: int
    signature: int recv_wait(int fd, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io_exec
      Src: /src/knot-dns/src/contrib/net.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - msg
    - oneshot
    - timeout_ptr
    argTypes:
    - int
    - struct msghdr*
    - bool
    - int*
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: recv_data
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - io_exec
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t recv_data(int sock, struct msghdr *msg, bool oneshot, int *timeout_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll_one
      Src: /src/knot-dns/src/contrib/net.c:642,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/contrib/net.c:646,1
    - Dst: sendmsg
      Src: /src/knot-dns/src/contrib/net.c:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - msg
    - timeout_ms
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: send_process_tfo
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - poll_one
    - sendmsg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t send_process_tfo(int fd, struct msghdr *msg, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendmsg
      Src: /src/knot-dns/src/contrib/net.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - msg
    - timeout_ms
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: send_process
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - sendmsg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t send_process(int fd, struct msghdr *msg, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll_one
      Src: /src/knot-dns/src/contrib/net.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - timeout_ms
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: send_wait
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - poll_one
    linkageType: ''
    returnType: int
    signature: int send_wait(int fd, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io_exec
      Src: /src/knot-dns/src/contrib/net.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - msg
    - timeout_ptr
    - tfo
    argTypes:
    - int
    - struct msghdr*
    - int*
    - bool
    constantsTouched: []
    func_position:
      end: 676
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 676
    functionName: send_data
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - io_exec
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t send_data(int sock, struct msghdr *msg, int *timeout_ptr, bool
      tfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/contrib/net.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - sock
    - buffer
    - size
    - addr
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 706
    functionName: net_base_send
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - sockaddr_len
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t net_base_send(int sock, const uint8_t *buffer, size_t size,\n
      \                     const struct sockaddr_storage *addr, int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv_data
      Src: /src/knot-dns/src/contrib/net.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - sock
    - buffer
    - size
    - addr
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 727
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 727
    functionName: net_base_recv
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached:
    - recv_data
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t net_base_recv(int sock, uint8_t *buffer, size_t size,\n                      struct
      sockaddr_storage *addr, int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sock
    - msg
    - timeout_ms
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 742
    functionName: net_msg_send
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_msg_send(int sock, struct msghdr *msg, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv_data
      Src: /src/knot-dns/src/contrib/net.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - msg
    - timeout_ms
    argTypes:
    - int
    - struct msghdr*
    - int
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: net_msg_recv
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 1
    functionsReached:
    - recv_data
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_msg_recv(int sock, struct msghdr *msg, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_base_send
      Src: /src/knot-dns/src/contrib/net.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - size
    - addr
    argTypes:
    - int
    - uint8_t*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: net_dgram_send
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 4
    functionsReached:
    - net_base_send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t net_dgram_send(int sock, const uint8_t *buffer, size_t size,\n
      \                      const struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_base_recv
      Src: /src/knot-dns/src/contrib/net.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - size
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: net_dgram_recv
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 3
    functionsReached:
    - net_base_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_dgram_recv(int sock, uint8_t *buffer, size_t size, int
      timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_base_send
      Src: /src/knot-dns/src/contrib/net.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - size
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: net_stream_send
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 7
    functionsReached:
    - net_base_send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_stream_send(int sock, const uint8_t *buffer, size_t size,
      int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_base_recv
      Src: /src/knot-dns/src/contrib/net.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sock
    - buffer
    - size
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: net_stream_recv
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 5
    functionsReached:
    - net_base_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_stream_recv(int sock, uint8_t *buffer, size_t size, int
      timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - sock
    - buffer
    - size
    - timeout_ms
    - tfo_addr
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 803
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 803
    functionName: net_dns_tcp_send
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t net_dns_tcp_send(int sock, const uint8_t *buffer, size_t size,
      int timeout_ms,\n                         struct sockaddr_storage *tfo_addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/net.c:827,1
    - Dst: recv_data
      Src: /src/knot-dns/src/contrib/net.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sock
    - buffer
    - size
    - timeout_ms
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 839
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 839
    functionName: net_dns_tcp_recv
    functionSourceFile: /src/knot-dns/src/contrib/net.c
    functionUses: 4
    functionsReached:
    - ntohs
    - recv_data
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net_dns_tcp_recv(int sock, uint8_t *buffer, size_t size, int
      timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:20,1
    - Dst: knot_sem_init_nonposix
      Src: /src/knot-dns/src/contrib/semaphore.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - sem
    - value
    argTypes:
    - knot_sem_t*
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: knot_sem_init
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_sem_init_nonposix
    linkageType: ''
    returnType: void
    signature: void knot_sem_init(knot_sem_t *sem, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:35,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/semaphore.c:37,1
    - Dst: pthread_mutex_init
      Src: /src/knot-dns/src/contrib/semaphore.c:38,1
    - Dst: pthread_cond_init
      Src: /src/knot-dns/src/contrib/semaphore.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sem
    - value
    argTypes:
    - knot_sem_t*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: knot_sem_init_nonposix
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 2
    functionsReached:
    - pthread_cond_init
    - assert
    - malloc
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void knot_sem_init_nonposix(knot_sem_t *sem, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:44,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:45,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/contrib/semaphore.c:47,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sem
    - value
    argTypes:
    - knot_sem_t*
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: knot_sem_reset
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void knot_sem_reset(knot_sem_t *sem, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:53,1
    - Dst: sem_wait
      Src: /src/knot-dns/src/contrib/semaphore.c:57,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:60,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/contrib/semaphore.c:62,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: knot_sem_wait
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 7
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - sem_wait
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void knot_sem_wait(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:71,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:72,1
    - Dst: pthread_cond_wait
      Src: /src/knot-dns/src/contrib/semaphore.c:74,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/contrib/semaphore.c:76,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: knot_sem_wait_post
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 1
    functionsReached:
    - assert
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void knot_sem_wait_post(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:82,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:83,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: knot_sem_get_ahead
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 1
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void knot_sem_get_ahead(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:90,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:91,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:92,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: knot_sem_get_assert
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void knot_sem_get_assert(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:99,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:103,1
    - Dst: pthread_mutex_lock
      Src: /src/knot-dns/src/contrib/semaphore.c:105,1
    - Dst: pthread_cond_signal
      Src: /src/knot-dns/src/contrib/semaphore.c:107,1
    - Dst: pthread_mutex_unlock
      Src: /src/knot-dns/src/contrib/semaphore.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: knot_sem_post
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 10
    functionsReached:
    - assert
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void knot_sem_post(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/semaphore.c:114,1
    - Dst: knot_sem_wait
      Src: /src/knot-dns/src/contrib/semaphore.c:115,1
    - Dst: sem_destroy
      Src: /src/knot-dns/src/contrib/semaphore.c:117,1
    - Dst: pthread_cond_destroy
      Src: /src/knot-dns/src/contrib/semaphore.c:119,1
    - Dst: pthread_mutex_destroy
      Src: /src/knot-dns/src/contrib/semaphore.c:120,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/semaphore.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sem
    argTypes:
    - knot_sem_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: knot_sem_destroy
    functionSourceFile: /src/knot-dns/src/contrib/semaphore.c
    functionUses: 2
    functionsReached:
    - assert
    - sem_destroy
    - free
    - pthread_mutex_destroy
    - knot_sem_wait
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void knot_sem_destroy(knot_sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: wire_ctx_init
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 23
    functionsReached:
    - assert
    linkageType: ''
    returnType: wire_ctx_t
    signature: wire_ctx_t wire_ctx_init(uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:58,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/contrib/wire_ctx.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: wire_ctx_init_const
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 8
    functionsReached:
    - assert
    - wire_ctx_init
    linkageType: ''
    returnType: wire_ctx_t
    signature: wire_ctx_t wire_ctx_init_const(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: wire_ctx_offset
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 17
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t wire_ctx_offset(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - offset
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: wire_ctx_set_offset
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 14
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void wire_ctx_set_offset(wire_ctx_t *ctx, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:108,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/contrib/wire_ctx.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: wire_ctx_available
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 28
    functionsReached:
    - assert
    - wire_ctx_offset
    linkageType: ''
    returnType: size_t
    signature: size_t wire_ctx_available(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:120,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/contrib/wire_ctx.h:128,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/contrib/wire_ctx.h:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - offset
    argTypes:
    - wire_ctx_t*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: wire_ctx_skip
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 19
    functionsReached:
    - assert
    - wire_ctx_offset
    - wire_ctx_available
    linkageType: ''
    returnType: void
    signature: void wire_ctx_skip(wire_ctx_t *ctx, ssize_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:147,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/contrib/wire_ctx.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: wire_ctx_can_read
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 1
    functionsReached:
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: int
    signature: int wire_ctx_can_read(wire_ctx_t *ctx, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:165,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/contrib/wire_ctx.h:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: wire_ctx_can_write
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    linkageType: ''
    returnType: int
    signature: int wire_ctx_can_write(wire_ctx_t *ctx, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:185,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:186,1
    - Dst: memzero
      Src: /src/knot-dns/src/contrib/wire_ctx.h:190,1
    - Dst: memzero
      Src: /src/knot-dns/src/contrib/wire_ctx.h:197,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/wire_ctx.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - wire_ctx_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: wire_ctx_read
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - memzero
    linkageType: ''
    returnType: void
    signature: void wire_ctx_read(wire_ctx_t *ctx, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: wire_ctx_read_u8
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 6
    functionsReached:
    - wire_ctx_read
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t wire_ctx_read_u8(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:216,1
    - Dst: be16toh
      Src: /src/knot-dns/src/contrib/wire_ctx.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: wire_ctx_read_u16
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 4
    functionsReached:
    - wire_ctx_read
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t wire_ctx_read_u16(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:224,1
    - Dst: be32toh
      Src: /src/knot-dns/src/contrib/wire_ctx.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: wire_ctx_read_u32
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 1
    functionsReached:
    - wire_ctx_read
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t wire_ctx_read_u32(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:233,1
    - Dst: be64toh
      Src: /src/knot-dns/src/contrib/wire_ctx.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: wire_ctx_read_u48
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 0
    functionsReached:
    - wire_ctx_read
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t wire_ctx_read_u48(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:241,1
    - Dst: be64toh
      Src: /src/knot-dns/src/contrib/wire_ctx.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - wire_ctx_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: wire_ctx_read_u64
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 1
    functionsReached:
    - wire_ctx_read
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t wire_ctx_read_u64(wire_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:249,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:259,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/wire_ctx.h:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - wire_ctx_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: wire_ctx_write
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 19
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write(wire_ctx_t *ctx, const void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/contrib/wire_ctx.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - wire_ctx_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: wire_ctx_write_u8
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 15
    functionsReached:
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write_u8(wire_ctx_t *ctx, uint8_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/contrib/wire_ctx.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - wire_ctx_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: wire_ctx_write_u16
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 10
    functionsReached:
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write_u16(wire_ctx_t *ctx, uint16_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/contrib/wire_ctx.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - wire_ctx_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: wire_ctx_write_u32
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 6
    functionsReached:
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write_u32(wire_ctx_t *ctx, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/contrib/wire_ctx.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - wire_ctx_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: wire_ctx_write_u48
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 0
    functionsReached:
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write_u48(wire_ctx_t *ctx, uint64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/contrib/wire_ctx.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - wire_ctx_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: wire_ctx_write_u64
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 2
    functionsReached:
    - wire_ctx_write
    linkageType: ''
    returnType: void
    signature: void wire_ctx_write_u64(wire_ctx_t *ctx, uint64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/contrib/wire_ctx.h:305,1
    - Dst: va_end
      Src: /src/knot-dns/src/contrib/wire_ctx.h:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - wire_ctx_t*
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: wire_ctx_printf
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int wire_ctx_printf(wire_ctx_t *ctx, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:318,1
    - Dst: memzero
      Src: /src/knot-dns/src/contrib/wire_ctx.h:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: wire_ctx_clear
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 2
    functionsReached:
    - assert
    - memzero
    linkageType: ''
    returnType: void
    signature: void wire_ctx_clear(wire_ctx_t *ctx, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:340,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/wire_ctx.h:341,1
    - Dst: wire_ctx_can_read
      Src: /src/knot-dns/src/contrib/wire_ctx.h:347,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/wire_ctx.h:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - wire_ctx_t*
    - wire_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 361
    functionName: wire_ctx_copy
    functionSourceFile: /src/knot-dns/src/contrib/wire_ctx.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - wire_ctx_can_read
    linkageType: ''
    returnType: void
    signature: void wire_ctx_copy(wire_ctx_t *dst, wire_ctx_t *src, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: page_alloc
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: 'void *

      page_alloc(uint64_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:56,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:57,1
    - Dst: munmap
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - len
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: page_free
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - assert
    - munmap
    linkageType: ''
    returnType: void
    signature: void page_free(void *start, uint64_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_TO
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:71,1
    - Dst: ALIGN_TO
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: mp_align_size
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - ALIGN_TO
    linkageType: ''
    returnType: unsigned
    signature: unsigned mp_align_size(unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_align_size
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:80,1
    - Dst: MAX
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - chunk_size
    argTypes:
    - struct mempool*
    - unsigned
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: mp_init
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - mp_align_size
    - MAX
    linkageType: ''
    returnType: void
    signature: void mp_init(struct mempool *pool, unsigned chunk_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mp_new_big_chunk
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_new_big_chunk(unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:105,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mempool_chunk*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: mp_free_big_chunk
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - free
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void mp_free_big_chunk(struct mempool_chunk *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:117,1
    - Dst: mp_new_big_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: mp_new_chunk
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - ASAN_POISON_MEMORY_REGION
    - mp_new_big_chunk
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_new_chunk(unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:131,1
    - Dst: page_free
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:132,1
    - Dst: mp_free_big_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mempool_chunk*
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: mp_free_chunk
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - page_free
    - ASAN_UNPOISON_MEMORY_REGION
    - mp_free_big_chunk
    linkageType: ''
    returnType: void
    signature: void mp_free_chunk(struct mempool_chunk *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_align_size
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:141,1
    - Dst: MAX
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:141,1
    - Dst: mp_new_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:142,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:144,1
    - Dst: DBG
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:145,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - chunk_size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: mp_new
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 1
    functionsReached:
    - ASAN_UNPOISON_MEMORY_REGION
    - mp_align_size
    - mp_new_chunk
    - MAX
    - DBG
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: struct mempool
    signature: 'struct mempool *

      mp_new(unsigned chunk_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:161,1
    - Dst: mp_free_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mempool_chunk*
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: mp_free_chain
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - mp_free_chunk
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void mp_free_chain(struct mempool_chunk *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:172,1
    - Dst: mp_free_big_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mempool_chunk*
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: mp_free_big_chain
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - ASAN_UNPOISON_MEMORY_REGION
    - mp_free_big_chunk
    linkageType: ''
    returnType: void
    signature: void mp_free_big_chain(struct mempool_chunk *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:185,1
    - Dst: mp_free_big_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:186,1
    - Dst: mp_free_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:187,1
    - Dst: mp_free_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mempool*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: mp_delete
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 11
    functionsReached:
    - mp_free_big_chain
    - DBG
    - mp_free_chain
    linkageType: ''
    returnType: void
    signature: void mp_delete(struct mempool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_free_big_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:194,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:197,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:203,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mempool*
    constantsTouched: []
    func_position:
      end: 217
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 217
    functionName: mp_flush
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 1
    functionsReached:
    - mp_free_big_chain
    - ASAN_UNPOISON_MEMORY_REGION
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void mp_flush(struct mempool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:224,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - chunk
    - stats
    - idx
    argTypes:
    - struct mempool_chunk*
    - struct mempool_stats*
    - unsigned
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: mp_stats_chain
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - ASAN_POISON_MEMORY_REGION
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void mp_stats_chain(struct mempool_chunk *chunk, struct mempool_stats
      *stats, unsigned idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bzero
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:237,1
    - Dst: mp_stats_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:238,1
    - Dst: mp_stats_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:239,1
    - Dst: mp_stats_chain
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - stats
    argTypes:
    - struct mempool*
    - struct mempool_stats*
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: mp_stats
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 1
    functionsReached:
    - mp_stats_chain
    - bzero
    linkageType: ''
    returnType: void
    signature: void mp_stats(struct mempool *pool, struct mempool_stats *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_stats
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct mempool*
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: mp_total_size
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - mp_stats
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mp_total_size(struct mempool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:259,1
    - Dst: mp_new_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:262,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:265,1
    - Dst: mp_new_big_chunk
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:272,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:277,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:282,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - pool
    - size
    argTypes:
    - struct mempool*
    - unsigned
    constantsTouched: []
    func_position:
      end: 286
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 286
    functionName: mp_alloc_internal
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - assert
    - ASAN_UNPOISON_MEMORY_REGION
    - mp_new_big_chunk
    - mp_new_chunk
    - ASAN_POISON_MEMORY_REGION
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_alloc_internal(struct mempool *pool, unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_alloc_internal
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:297,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - size
    argTypes:
    - struct mempool*
    - unsigned
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: mp_alloc
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 1
    functionsReached:
    - mp_alloc_internal
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_alloc(struct mempool *pool, unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_alloc_internal
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:311,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - size
    argTypes:
    - struct mempool*
    - unsigned
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: mp_alloc_noalign
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - mp_alloc_internal
    - ASAN_UNPOISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_alloc_noalign(struct mempool *pool, unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bzero
      Src: /src/knot-dns/src/contrib/ucw/mempool.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - size
    argTypes:
    - struct mempool*
    - unsigned
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: mp_alloc_zero
    functionSourceFile: /src/knot-dns/src/contrib/ucw/mempool.c
    functionUses: 0
    functionsReached:
    - bzero
    linkageType: ''
    returnType: void
    signature: 'void *

      mp_alloc_zero(struct mempool *pool, unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - heap_val_t**
    - heap_val_t**
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: heap_swap
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void heap_swap(heap_val_t **e1, heap_val_t **e2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/ucw/heap.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h
    - init_size
    argTypes:
    - struct heap*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: heap_init
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 2
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int heap_init(struct heap *h, int (*cmp)(void *, void *), int init_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/contrib/ucw/heap.c:64,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/ucw/heap.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct heap*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: heap_deinit
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 2
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void heap_deinit(struct heap *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:74,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:74,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:74,1
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:75,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:75,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:75,1
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:76,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:76,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:76,1
    - Dst: heap_swap
      Src: /src/knot-dns/src/contrib/ucw/heap.c:77,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:77,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct heap*
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: _heap_bubble_down
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 0
    functionsReached:
    - heap_swap
    - struct heap*::cmp
    - HELEMENT
    linkageType: ''
    returnType: void
    signature: void _heap_bubble_down(struct heap *h, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:87,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:87,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:87,1
    - Dst: heap_swap
      Src: /src/knot-dns/src/contrib/ucw/heap.c:88,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:88,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct heap*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: _heap_bubble_up
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 0
    functionsReached:
    - heap_swap
    - struct heap*::cmp
    - HELEMENT
    linkageType: ''
    returnType: void
    signature: void _heap_bubble_up(struct heap *h, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:95,1
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:98,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:98,1
    - Dst: _heap_bubble_down
      Src: /src/knot-dns/src/contrib/ucw/heap.c:99,1
    - Dst: _heap_bubble_up
      Src: /src/knot-dns/src/contrib/ucw/heap.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - h
    - pos
    - e
    argTypes:
    - struct heap*
    - int
    - heap_val_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: heap_replace
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 2
    functionsReached:
    - struct heap*::cmp
    - _heap_bubble_down
    - HELEMENT
    - _heap_bubble_up
    linkageType: ''
    returnType: void
    signature: void heap_replace(struct heap *h, int pos, heap_val_t *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: heap_swap
      Src: /src/knot-dns/src/contrib/ucw/heap.c:109,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/contrib/ucw/heap.c:109,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:109,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:111,1
    - Dst: _heap_bubble_down
      Src: /src/knot-dns/src/contrib/ucw/heap.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct heap*
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: heap_delmin
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 3
    functionsReached:
    - HELEMENT
    - HHEAD
    - heap_swap
    - _heap_bubble_down
    linkageType: ''
    returnType: void
    signature: void heap_delmin(struct heap *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/knot-dns/src/contrib/ucw/heap.c:120,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:127,1
    - Dst: _heap_bubble_up
      Src: /src/knot-dns/src/contrib/ucw/heap.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct heap*
    - heap_val_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: heap_insert
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 2
    functionsReached:
    - HELEMENT
    - realloc
    - _heap_bubble_up
    linkageType: ''
    returnType: int
    signature: int heap_insert(struct heap *h, heap_val_t *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - elm
    argTypes:
    - struct heap*
    - heap_val_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: heap_find
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int heap_find(struct heap *h, heap_val_t *elm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: heap_swap
      Src: /src/knot-dns/src/contrib/ucw/heap.c:140,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:140,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:140,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:141,1
    - Dst: struct heap*::cmp
      Src: /src/knot-dns/src/contrib/ucw/heap.c:143,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:143,1
    - Dst: HELEMENT
      Src: /src/knot-dns/src/contrib/ucw/heap.c:143,1
    - Dst: _heap_bubble_up
      Src: /src/knot-dns/src/contrib/ucw/heap.c:144,1
    - Dst: _heap_bubble_down
      Src: /src/knot-dns/src/contrib/ucw/heap.c:146,1
    - Dst: realloc
      Src: /src/knot-dns/src/contrib/ucw/heap.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct heap*
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: heap_delete
    functionSourceFile: /src/knot-dns/src/contrib/ucw/heap.c
    functionUses: 2
    functionsReached:
    - struct heap*::cmp
    - _heap_bubble_down
    - heap_swap
    - HELEMENT
    - realloc
    - _heap_bubble_up
    linkageType: ''
    returnType: void
    signature: void heap_delete(struct heap *h, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:95,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:95,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:95,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:96,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:97,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:97,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:97,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:99,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:100,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:100,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:100,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:101,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:103,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:106,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:106,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:108,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:108,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:112,1
    - Dst: MIN
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:167,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:170,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:170,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:170,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:172,1
    - Dst: ASORT_LT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:178,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:178,1
    - Dst: ASORT_ELT
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:178,1
    - Dst: ASORT_SWAP
      Src: /src/knot-dns/src/contrib/ucw/array-sort.h:182,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 1
    argNames:
    - array_size ASORT_EXTRA_ARGS
    argTypes:
    - ASORT_ARRAY_ARG unsigned
    constantsTouched: []
    func_position:
      end: 186
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 186
    functionName: ASORT_PREFIX
    functionSourceFile: /src/knot-dns/src/contrib/ucw/array-sort.h
    functionUses: 0
    functionsReached:
    - ASORT_ELT
    - ASORT_LT
    - MIN
    - ASORT_SWAP
    linkageType: ''
    returnType: void
    signature: void ASORT_PREFIX(sort)(ASORT_ARRAY_ARG unsigned array_size ASORT_EXTRA_ARGS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/lists.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - list_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: add_tail
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 21
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void add_tail(list_t *l, node_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/lists.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - list_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: add_head
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void add_head(list_t *l, node_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - n
    - after
    argTypes:
    - node_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: insert_node
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_node(node_t *n, node_t *after)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: rem_node
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rem_node(node_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: init_list
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_list(list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - l
    argTypes:
    - list_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: add_tail_list
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_tail_list(list_t *to, list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/contrib/ucw/lists.c:158,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/ucw/lists.c:159,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/ucw/lists.c:160,1
    - Dst: add_tail
      Src: /src/knot-dns/src/contrib/ucw/lists.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - itemsz
    argTypes:
    - list_t*
    - list_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: list_dup
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 0
    functionsReached:
    - memcpy
    - WALK_LIST
    - malloc
    - add_tail
    linkageType: ''
    returnType: void
    signature: void list_dup(list_t *dst, list_t *src, size_t itemsz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/contrib/ucw/lists.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: list_size
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 17
    functionsReached:
    - WALK_LIST
    linkageType: ''
    returnType: size_t
    signature: size_t list_size(const list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HEAD
      Src: /src/knot-dns/src/contrib/ucw/lists.c:191,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/lists.c:192,1
    - Dst: TAIL
      Src: /src/knot-dns/src/contrib/ucw/lists.c:195,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/ucw/lists.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: fix_list
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 0
    functionsReached:
    - assert
    - HEAD
    - TAIL
    linkageType: ''
    returnType: void
    signature: void fix_list(list_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/ucw/lists.c:208,1
    - Dst: add_tail
      Src: /src/knot-dns/src/contrib/ucw/lists.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - to
    - val
    - mm
    argTypes:
    - list_t*
    - void*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: ptrlist_add
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 19
    functionsReached:
    - mm_alloc
    - add_tail
    linkageType: ''
    returnType: ptrnode_t
    signature: ptrnode_t *ptrlist_add(list_t *to, void *val, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/contrib/ucw/lists.c:226,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/ucw/lists.c:227,1
    - Dst: init_list
      Src: /src/knot-dns/src/contrib/ucw/lists.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - mm
    argTypes:
    - list_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: ptrlist_free
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 15
    functionsReached:
    - mm_free
    - init_list
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: void
    signature: void ptrlist_free(list_t *list, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rem_node
      Src: /src/knot-dns/src/contrib/ucw/lists.c:239,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/ucw/lists.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - mm
    argTypes:
    - ptrnode_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: ptrlist_rem
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 0
    functionsReached:
    - mm_free
    - rem_node
    linkageType: ''
    returnType: void
    signature: void ptrlist_rem(ptrnode_t *node, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/contrib/ucw/lists.c:251,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/ucw/lists.c:252,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/contrib/ucw/lists.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - l
    - mm
    argTypes:
    - list_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: ptrlist_deep_free
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 8
    functionsReached:
    - mm_free
    - WALK_LIST
    - ptrlist_free
    linkageType: ''
    returnType: void
    signature: void ptrlist_deep_free(list_t *l, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST
      Src: /src/knot-dns/src/contrib/ucw/lists.c:260,1
    - Dst: free_cb
      Src: /src/knot-dns/src/contrib/ucw/lists.c:261,1
    - Dst: ptrlist_free
      Src: /src/knot-dns/src/contrib/ucw/lists.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - l
    - mm
    - free_cb
    argTypes:
    - list_t*
    - knot_mm_t*
    - ptrlist_free_cb
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: ptrlist_free_custom
    functionSourceFile: /src/knot-dns/src/contrib/ucw/lists.c
    functionUses: 1
    functionsReached:
    - WALK_LIST
    - ptrlist_free
    - free_cb
    linkageType: ''
    returnType: void
    signature: void ptrlist_free_custom(list_t *l, knot_mm_t *mm, ptrlist_free_cb
      free_cb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aead
    argTypes:
    - ngtcp2_crypto_aead*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ngtcp2_crypto_aead_aes_128_gcm
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_init
    linkageType: ''
    returnType: ngtcp2_crypto_aead
    signature: ngtcp2_crypto_aead *ngtcp2_crypto_aead_aes_128_gcm(ngtcp2_crypto_aead
      *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - ngtcp2_crypto_md*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ngtcp2_crypto_md_sha256
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_crypto_md
    signature: ngtcp2_crypto_md *ngtcp2_crypto_md_sha256(ngtcp2_crypto_md *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ngtcp2_crypto_ctx*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ngtcp2_crypto_ctx_initial
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_init
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: ngtcp2_crypto_ctx *ngtcp2_crypto_ctx_initial(ngtcp2_crypto_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - aead
    - aead_native_handle
    argTypes:
    - ngtcp2_crypto_aead*
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: ngtcp2_crypto_aead_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 2
    functionsReached:
    - gnutls_cipher_get_tag_size
    linkageType: ''
    returnType: ngtcp2_crypto_aead
    signature: "ngtcp2_crypto_aead *ngtcp2_crypto_aead_init(ngtcp2_crypto_aead *aead,\n
      \                                           void *aead_native_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aead
    argTypes:
    - ngtcp2_crypto_aead*
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ngtcp2_crypto_aead_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_init
    linkageType: ''
    returnType: ngtcp2_crypto_aead
    signature: ngtcp2_crypto_aead *ngtcp2_crypto_aead_retry(ngtcp2_crypto_aead *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: crypto_get_hp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t crypto_get_hp(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: crypto_get_aead_max_encryption
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t crypto_get_aead_max_encryption(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: crypto_get_aead_max_decryption_failure
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t crypto_get_aead_max_decryption_failure(gnutls_cipher_algorithm_t
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: supported_cipher
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int supported_cipher(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:138,1
    - Dst: supported_cipher
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:143,1
    - Dst: gnutls_prf_hash_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:147,1
    - Dst: crypto_get_hp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:152,1
    - Dst: ngtcp2_crypto_aead_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:157,1
    - Dst: crypto_get_aead_max_encryption
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:160,1
    - Dst: crypto_get_aead_max_decryption_failure
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - tls_native_handle
    argTypes:
    - ngtcp2_crypto_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 164
    functionName: ngtcp2_crypto_ctx_tls
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - supported_cipher
    - ngtcp2_crypto_aead_init
    - crypto_get_aead_max_encryption
    - crypto_get_hp
    - gnutls_prf_hash_get
    - crypto_get_aead_max_decryption_failure
    - gnutls_cipher_get
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: "ngtcp2_crypto_ctx *ngtcp2_crypto_ctx_tls(ngtcp2_crypto_ctx *ctx,\n
      \                                        void *tls_native_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_early_cipher_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:173,1
    - Dst: supported_cipher
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:178,1
    - Dst: gnutls_early_prf_hash_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:182,1
    - Dst: crypto_get_hp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:187,1
    - Dst: ngtcp2_crypto_aead_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:192,1
    - Dst: crypto_get_aead_max_encryption
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:195,1
    - Dst: crypto_get_aead_max_decryption_failure
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - tls_native_handle
    argTypes:
    - ngtcp2_crypto_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 199
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 199
    functionName: ngtcp2_crypto_ctx_tls_early
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - supported_cipher
    - ngtcp2_crypto_aead_init
    - gnutls_early_prf_hash_get
    - crypto_get_aead_max_encryption
    - crypto_get_hp
    - gnutls_early_cipher_get
    - crypto_get_aead_max_decryption_failure
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: "ngtcp2_crypto_ctx *ngtcp2_crypto_ctx_tls_early(ngtcp2_crypto_ctx *ctx,\n
      \                                              void *tls_native_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_get_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - ngtcp2_crypto_md*
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: ngtcp2_crypto_md_hashlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_crypto_md_hashlen(const ngtcp2_crypto_md *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aead
    argTypes:
    - ngtcp2_crypto_aead*
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: ngtcp2_crypto_aead_keylen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_crypto_aead_keylen(const ngtcp2_crypto_aead *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aead
    argTypes:
    - ngtcp2_crypto_aead*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: ngtcp2_crypto_aead_noncelen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_iv_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_crypto_aead_noncelen(const ngtcp2_crypto_aead *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:227,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aead_ctx
    - aead
    - key
    - noncelen
    argTypes:
    - ngtcp2_crypto_aead_ctx*
    - ngtcp2_crypto_aead*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: ngtcp2_crypto_aead_ctx_encrypt_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_init
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_aead_ctx_encrypt_init(ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                                       const ngtcp2_crypto_aead *aead,\n                                        const
      uint8_t *key, size_t noncelen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:249,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aead_ctx
    - aead
    - key
    - noncelen
    argTypes:
    - ngtcp2_crypto_aead_ctx*
    - ngtcp2_crypto_aead*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: ngtcp2_crypto_aead_ctx_decrypt_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_init
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_aead_ctx_decrypt_init(ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                                       const ngtcp2_crypto_aead *aead,\n                                        const
      uint8_t *key, size_t noncelen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aead_ctx
    argTypes:
    - ngtcp2_crypto_aead_ctx*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: ngtcp2_crypto_aead_ctx_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void ngtcp2_crypto_aead_ctx_free(ngtcp2_crypto_aead_ctx *aead_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:275,1
    - Dst: gnutls_cipher_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher_ctx
    - cipher
    - key
    argTypes:
    - ngtcp2_crypto_cipher_ctx*
    - ngtcp2_crypto_cipher*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: ngtcp2_crypto_cipher_ctx_encrypt_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_init
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_cipher_ctx_encrypt_init(ngtcp2_crypto_cipher_ctx
      *cipher_ctx,\n                                          const ngtcp2_crypto_cipher
      *cipher,\n                                          const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_deinit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher_ctx
    argTypes:
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ngtcp2_crypto_cipher_ctx_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void ngtcp2_crypto_cipher_ctx_free(ngtcp2_crypto_cipher_ctx *cipher_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hkdf_extract
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - dest
    - md
    - secret
    - secretlen
    - salt
    - saltlen
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: ngtcp2_crypto_hkdf_extract
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hkdf_extract(uint8_t *dest, const ngtcp2_crypto_md
      *md,\n                               const uint8_t *secret, size_t secretlen,\n
      \                              const uint8_t *salt, size_t saltlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hkdf_expand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - dest
    - destlen
    - md
    - secret
    - secretlen
    - info
    - infolen
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: ngtcp2_crypto_hkdf_expand
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hkdf_expand(uint8_t *dest, size_t destlen,\n                              const
      ngtcp2_crypto_md *md, const uint8_t *secret,\n                              size_t
      secretlen, const uint8_t *info,\n                              size_t infolen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:336,1
    - Dst: gnutls_hkdf_extract
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:338,1
    - Dst: gnutls_hkdf_expand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - dest
    - destlen
    - md
    - secret
    - secretlen
    - salt
    - saltlen
    - info
    - infolen
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 347
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 347
    functionName: ngtcp2_crypto_hkdf
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_hkdf_expand
    - assert
    - gnutls_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hkdf(uint8_t *dest, size_t destlen,\n                       const
      ngtcp2_crypto_md *md, const uint8_t *secret,\n                       size_t
      secretlen, const uint8_t *salt, size_t saltlen,\n                       const
      uint8_t *info, size_t infolen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - dest
    - aead
    - aead_ctx
    - plaintext
    - plaintextlen
    - nonce
    - noncelen
    - aad
    - aadlen
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: ngtcp2_crypto_encrypt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_encrypt(uint8_t *dest, const ngtcp2_crypto_aead
      *aead,\n                          const ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                         const uint8_t *plaintext, size_t plaintextlen,\n                          const
      uint8_t *nonce, size_t noncelen,\n                          const uint8_t *aad,
      size_t aadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - dest
    - aead
    - aead_ctx
    - ciphertext
    - ciphertextlen
    - nonce
    - noncelen
    - aad
    - aadlen
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 393
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 393
    functionName: ngtcp2_crypto_decrypt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_decrypt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_decrypt(uint8_t *dest, const ngtcp2_crypto_aead
      *aead,\n                          const ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                         const uint8_t *ciphertext, size_t ciphertextlen,\n
      \                         const uint8_t *nonce, size_t noncelen,\n                          const
      uint8_t *aad, size_t aadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:409,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:411,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:413,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:417,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:425,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:427,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:432,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - dest
    - hp
    - hp_ctx
    - sample
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_cipher*
    - ngtcp2_crypto_cipher_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 439
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 439
    functionName: ngtcp2_crypto_hp_mask
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_cipher_set_iv
    - memset
    - memcpy
    - gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hp_mask(uint8_t *dest, const ngtcp2_crypto_cipher
      *hp,\n                          const ngtcp2_crypto_cipher_ctx *hp_ctx,\n                          const
      uint8_t *sample)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:454,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - gtls_level
    argTypes:
    - gnutls_record_encryption_level_t
    constantsTouched: []
    func_position:
      end: 457
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 457
    functionName: ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    linkageType: ''
    returnType: ngtcp2_encryption_level
    signature: "ngtcp2_encryption_level ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level(\n
      \ gnutls_record_encryption_level_t gtls_level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:472,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - encryption_level
    argTypes:
    - ngtcp2_encryption_level
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: ngtcp2_crypto_gnutls_from_ngtcp2_encryption_level
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    linkageType: ''
    returnType: gnutls_record_encryption_level_t
    signature: "gnutls_record_encryption_level_t ngtcp2_crypto_gnutls_from_ngtcp2_encryption_level(\n
      \ ngtcp2_encryption_level encryption_level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_tls_native_handle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:480,1
    - Dst: gnutls_handshake_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:484,1
    - Dst: ngtcp2_crypto_gnutls_from_ngtcp2_encryption_level
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:486,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:489,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:492,1
    - Dst: ngtcp2_conn_get_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:497,1
    - Dst: gnutls_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:498,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:500,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:503,1
    - Dst: ngtcp2_conn_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - conn
    - encryption_level
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 511
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 511
    functionName: ngtcp2_crypto_read_write_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_tls_handshake_completed
    - ngtcp2_conn_get_tls_native_handle
    - gnutls_handshake_write
    - gnutls_alert_send_appropriate
    - gnutls_handshake
    - ngtcp2_crypto_gnutls_from_ngtcp2_encryption_level
    - ngtcp2_conn_get_handshake_completed
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_read_write_crypto_data(\n  ngtcp2_conn *conn, ngtcp2_encryption_level
      encryption_level,\n  const uint8_t *data, size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - tls
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: ngtcp2_crypto_set_remote_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_crypto_set_remote_transport_params(ngtcp2_conn *conn, void
      *tls)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tls
    - buf
    - len
    argTypes:
    - void*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: ngtcp2_crypto_set_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_set_local_transport_params(void *tls, const uint8_t
      *buf,\n                                             size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - data
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: ngtcp2_crypto_get_path_challenge_data_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_get_path_challenge_data_cb(ngtcp2_conn *conn, uint8_t
      *data,\n                                             void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 551
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 551
    functionName: ngtcp2_crypto_random
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int ngtcp2_crypto_random(uint8_t *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:557,1
    - Dst: ngtcp2_crypto_conn_ref*::get_conn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:558,1
    - Dst: ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:560,1
    - Dst: ngtcp2_crypto_derive_and_install_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:563,1
    - Dst: ngtcp2_crypto_derive_and_install_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - session
    - gtls_level
    - rx_secret
    - tx_secret
    - secretlen
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: secret_func
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - ngtcp2_crypto_derive_and_install_rx_key
    - ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level
    - ngtcp2_crypto_derive_and_install_tx_key
    - ngtcp2_crypto_conn_ref*::get_conn
    linkageType: ''
    returnType: int
    signature: "int secret_func(gnutls_session_t session,\n                       gnutls_record_encryption_level_t
      gtls_level,\n                       const void *rx_secret, const void *tx_secret,\n
      \                      size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:581,1
    - Dst: ngtcp2_crypto_conn_ref*::get_conn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:582,1
    - Dst: ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:584,1
    - Dst: ngtcp2_conn_submit_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:591,1
    - Dst: ngtcp2_conn_set_tls_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - session
    - gtls_level
    - htype
    - data
    - datalen
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_handshake_description_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 598
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 598
    functionName: read_func
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - ngtcp2_conn_set_tls_error
    - ngtcp2_crypto_gnutls_from_gnutls_record_encryption_level
    - ngtcp2_conn_submit_crypto_data
    - ngtcp2_crypto_conn_ref*::get_conn
    linkageType: ''
    returnType: int
    signature: "int read_func(gnutls_session_t session,\n                     gnutls_record_encryption_level_t
      gtls_level,\n                     gnutls_handshake_description_t htype, const
      void *data,\n                     size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:604,1
    - Dst: ngtcp2_crypto_conn_ref*::get_conn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:605,1
    - Dst: ngtcp2_conn_set_tls_alert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - session
    - gtls_level
    - alert_level
    - alert_desc
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_alert_level_t
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: alert_read_func
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_conn_ref*::get_conn
    - gnutls_session_get_ptr
    - ngtcp2_conn_set_tls_alert
    linkageType: ''
    returnType: int
    signature: "int alert_read_func(gnutls_session_t session,\n                           gnutls_record_encryption_level_t
      gtls_level,\n                           gnutls_alert_level_t alert_level,\n
      \                          gnutls_alert_description_t alert_desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:616,1
    - Dst: ngtcp2_crypto_conn_ref*::get_conn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:617,1
    - Dst: ngtcp2_conn_decode_and_set_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:620,1
    - Dst: ngtcp2_conn_set_tls_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - data
    - datalen
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 627
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionName: tp_recv_func
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_decode_and_set_remote_transport_params
    - ngtcp2_crypto_conn_ref*::get_conn
    - ngtcp2_conn_set_tls_error
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int tp_recv_func(gnutls_session_t session, const uint8_t *data,\n
      \                       size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:630,1
    - Dst: ngtcp2_crypto_conn_ref*::get_conn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:631,1
    - Dst: ngtcp2_conn_encode_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:636,1
    - Dst: gnutls_buffer_append_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 647
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 647
    functionName: tp_send_func
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_encode_local_transport_params
    - ngtcp2_crypto_conn_ref*::get_conn
    - gnutls_buffer_append_data
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: int tp_send_func(gnutls_session_t session, gnutls_buffer_t extdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_set_secret_function
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:652,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:653,1
    - Dst: gnutls_alert_set_read_function
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:654,1
    - Dst: gnutls_session_ext_register
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 666
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 666
    functionName: crypto_gnutls_configure_session
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_session_ext_register
    - gnutls_alert_set_read_function
    - gnutls_handshake_set_secret_function
    - gnutls_handshake_set_read_function
    linkageType: ''
    returnType: int
    signature: int crypto_gnutls_configure_session(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_gnutls_configure_session
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: ngtcp2_crypto_gnutls_configure_server_session
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 0
    functionsReached:
    - crypto_gnutls_configure_session
    linkageType: ''
    returnType: int
    signature: int ngtcp2_crypto_gnutls_configure_server_session(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto_gnutls_configure_session
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: ngtcp2_crypto_gnutls_configure_client_session
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/gnutls.c
    functionUses: 1
    functionsReached:
    - crypto_gnutls_configure_session
    linkageType: ''
    returnType: int
    signature: int ngtcp2_crypto_gnutls_configure_client_session(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - md_native_handle
    argTypes:
    - ngtcp2_crypto_md*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ngtcp2_crypto_md_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_crypto_md
    signature: "ngtcp2_crypto_md *ngtcp2_crypto_md_init(ngtcp2_crypto_md *md,\n                                        void
      *md_native_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:57,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:59,1
    - Dst: ngtcp2_crypto_hkdf_expand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - dest
    - destlen
    - md
    - secret
    - secretlen
    - label
    - labellen
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: ngtcp2_crypto_hkdf_expand_label
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_crypto_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hkdf_expand_label(uint8_t *dest, size_t destlen,\n
      \                                   const ngtcp2_crypto_md *md,\n                                    const
      uint8_t *secret, size_t secretlen,\n                                    const
      uint8_t *label, size_t labellen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_ctx_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:85,1
    - Dst: ngtcp2_crypto_hkdf_extract
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:99,1
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:112,1
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - rx_secret
    - tx_secret
    - initial_secret
    - version
    - client_dcid
    - side
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - ngtcp2_cid*
    - ngtcp2_crypto_side
    constantsTouched: []
    func_position:
      end: 122
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 122
    functionName: ngtcp2_crypto_derive_initial_secrets
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_hkdf_extract
    - ngtcp2_crypto_hkdf_expand_label
    - ngtcp2_crypto_ctx_initial
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_initial_secrets(uint8_t *rx_secret, uint8_t
      *tx_secret,\n                                         uint8_t *initial_secret,\n
      \                                        uint32_t version,\n                                         const
      ngtcp2_cid *client_dcid,\n                                         ngtcp2_crypto_side
      side)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aead
    argTypes:
    - ngtcp2_crypto_aead*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: ngtcp2_crypto_packet_protection_ivlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_crypto_packet_protection_ivlen(const ngtcp2_crypto_aead
      *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:166,1
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:171,1
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 8
    argNames:
    - key
    - iv
    - hp_key
    - version
    - aead
    - md
    - secret
    - secretlen
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 183
    functionName: ngtcp2_crypto_derive_packet_protection_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_packet_protection_key(\n  uint8_t *key, uint8_t
      *iv, uint8_t *hp_key, uint32_t version,\n  const ngtcp2_crypto_aead *aead, const
      ngtcp2_crypto_md *md,\n  const uint8_t *secret, size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_hkdf_expand_label
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - dest
    - version
    - md
    - secret
    - secretlen
    argTypes:
    - uint8_t*
    - uint32_t
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: ngtcp2_crypto_update_traffic_secret
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_update_traffic_secret(uint8_t *dest, uint32_t version,\n
      \                                       const ngtcp2_crypto_md *md,\n                                        const
      uint8_t *secret,\n                                        size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:230,1
    - Dst: ngtcp2_crypto_ctx_tls_early
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:246,1
    - Dst: ngtcp2_conn_set_0rtt_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:250,1
    - Dst: ngtcp2_conn_get_0rtt_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:251,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:252,1
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:255,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:256,1
    - Dst: ngtcp2_crypto_set_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:257,1
    - Dst: ngtcp2_conn_get_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:264,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:265,1
    - Dst: ngtcp2_crypto_ctx_tls
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:268,1
    - Dst: ngtcp2_conn_set_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:272,1
    - Dst: ngtcp2_conn_get_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:273,1
    - Dst: ngtcp2_crypto_packet_protection_ivlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:283,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:285,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:290,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:294,1
    - Dst: ngtcp2_conn_install_0rtt_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:300,1
    - Dst: ngtcp2_conn_install_rx_handshake_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:307,1
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:313,1
    - Dst: ngtcp2_crypto_set_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:314,1
    - Dst: ngtcp2_conn_install_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:320,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:334,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:335,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 7
    argNames:
    - conn
    - key
    - iv
    - hp_key
    - level
    - secret
    - secretlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - ngtcp2_encryption_level
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 338
    functionName: ngtcp2_crypto_derive_and_install_rx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_install_0rtt_key
    - ngtcp2_conn_get_0rtt_crypto_ctx
    - ngtcp2_crypto_cipher_ctx_encrypt_init
    - ngtcp2_conn_get_client_chosen_version
    - ngtcp2_conn_install_rx_key
    - ngtcp2_crypto_ctx_tls_early
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_conn_get_negotiated_version
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_conn_set_0rtt_crypto_ctx
    - ngtcp2_conn_is_server
    - ngtcp2_crypto_set_remote_transport_params
    - ngtcp2_conn_get_crypto_ctx
    - ngtcp2_conn_set_crypto_ctx
    - ngtcp2_crypto_cipher_ctx_free
    - ngtcp2_crypto_packet_protection_ivlen
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_crypto_ctx_tls
    - ngtcp2_conn_install_rx_handshake_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_and_install_rx_key(ngtcp2_conn *conn, uint8_t
      *key,\n                                            uint8_t *iv, uint8_t *hp_key,\n
      \                                           ngtcp2_encryption_level level,\n
      \                                           const uint8_t *secret,\n                                            size_t
      secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_encode_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:350,1
    - Dst: ngtcp2_crypto_set_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - tls
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: crypto_set_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_encode_local_transport_params
    - ngtcp2_crypto_set_local_transport_params
    linkageType: ''
    returnType: int
    signature: int crypto_set_local_transport_params(ngtcp2_conn *conn, void *tls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:380,1
    - Dst: ngtcp2_crypto_ctx_tls_early
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:396,1
    - Dst: ngtcp2_conn_set_0rtt_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:400,1
    - Dst: ngtcp2_conn_get_0rtt_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:401,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:402,1
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:405,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:406,1
    - Dst: ngtcp2_crypto_set_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:407,1
    - Dst: ngtcp2_conn_get_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:414,1
    - Dst: ngtcp2_conn_get_negotiated_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:415,1
    - Dst: ngtcp2_crypto_ctx_tls
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:418,1
    - Dst: ngtcp2_conn_set_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:422,1
    - Dst: ngtcp2_conn_get_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:423,1
    - Dst: ngtcp2_crypto_packet_protection_ivlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:433,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:435,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:440,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:444,1
    - Dst: ngtcp2_conn_install_0rtt_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:450,1
    - Dst: ngtcp2_conn_install_tx_handshake_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:457,1
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:462,1
    - Dst: crypto_set_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:463,1
    - Dst: ngtcp2_conn_install_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:469,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:483,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:484,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 7
    argNames:
    - conn
    - key
    - iv
    - hp_key
    - level
    - secret
    - secretlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - ngtcp2_encryption_level
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 487
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 487
    functionName: ngtcp2_crypto_derive_and_install_tx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 1
    functionsReached:
    - crypto_set_local_transport_params
    - ngtcp2_conn_install_0rtt_key
    - ngtcp2_conn_get_0rtt_crypto_ctx
    - ngtcp2_crypto_cipher_ctx_encrypt_init
    - ngtcp2_conn_get_client_chosen_version
    - ngtcp2_crypto_ctx_tls_early
    - ngtcp2_conn_get_negotiated_version
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_conn_install_tx_handshake_key
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_conn_set_0rtt_crypto_ctx
    - ngtcp2_conn_is_server
    - ngtcp2_crypto_set_remote_transport_params
    - ngtcp2_conn_get_crypto_ctx
    - ngtcp2_conn_set_crypto_ctx
    - ngtcp2_conn_install_tx_key
    - ngtcp2_crypto_cipher_ctx_free
    - ngtcp2_crypto_packet_protection_ivlen
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_crypto_ctx_tls
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_and_install_tx_key(ngtcp2_conn *conn, uint8_t
      *key,\n                                            uint8_t *iv, uint8_t *hp_key,\n
      \                                           ngtcp2_encryption_level level,\n
      \                                           const uint8_t *secret,\n                                            size_t
      secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_ctx_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:515,1
    - Dst: ngtcp2_conn_set_initial_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:546,1
    - Dst: ngtcp2_crypto_derive_initial_secrets
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:548,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:554,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:560,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:566,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:571,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:576,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:581,1
    - Dst: ngtcp2_conn_after_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:586,1
    - Dst: ngtcp2_crypto_aead_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:587,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:601,1
    - Dst: ngtcp2_conn_install_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:607,1
    - Dst: ngtcp2_conn_set_retry_aead
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:615,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:621,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:622,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:623,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:624,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:625,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 12
    argNames:
    - conn
    - rx_secret
    - tx_secret
    - initial_secret
    - rx_key
    - rx_iv
    - rx_hp_key
    - tx_key
    - tx_iv
    - tx_hp_key
    - version
    - client_dcid
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 628
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 628
    functionName: ngtcp2_crypto_derive_and_install_initial_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_install_initial_key
    - ngtcp2_crypto_cipher_ctx_free
    - ngtcp2_crypto_cipher_ctx_encrypt_init
    - ngtcp2_crypto_derive_initial_secrets
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_conn_after_retry
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_ctx_initial
    - ngtcp2_crypto_aead_retry
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_conn_set_retry_aead
    - ngtcp2_conn_set_initial_crypto_ctx
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_and_install_initial_key(\n  ngtcp2_conn *conn,
      uint8_t *rx_secret, uint8_t *tx_secret,\n  uint8_t *initial_secret, uint8_t
      *rx_key, uint8_t *rx_iv, uint8_t *rx_hp_key,\n  uint8_t *tx_key, uint8_t *tx_iv,
      uint8_t *tx_hp_key, uint32_t version,\n  const ngtcp2_cid *client_dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_initial_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:644,1
    - Dst: ngtcp2_crypto_derive_initial_secrets
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:681,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:687,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:693,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:699,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:704,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:709,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:714,1
    - Dst: ngtcp2_conn_install_vneg_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:719,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:729,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:730,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:731,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:732,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 12
    argNames:
    - conn
    - rx_secret
    - tx_secret
    - initial_secret
    - rx_key
    - rx_iv
    - rx_hp_key
    - tx_key
    - tx_iv
    - tx_hp_key
    - version
    - client_dcid
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 735
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 735
    functionName: ngtcp2_crypto_derive_and_install_vneg_initial_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_cipher_ctx_free
    - ngtcp2_crypto_cipher_ctx_encrypt_init
    - ngtcp2_crypto_derive_initial_secrets
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_conn_install_vneg_initial_key
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_conn_get_initial_crypto_ctx
    - ngtcp2_crypto_aead_ctx_encrypt_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_derive_and_install_vneg_initial_key(\n  ngtcp2_conn
      *conn, uint8_t *rx_secret, uint8_t *tx_secret,\n  uint8_t *initial_secret, uint8_t
      *rx_key, uint8_t *rx_iv, uint8_t *rx_hp_key,\n  uint8_t *tx_key, uint8_t *tx_iv,
      uint8_t *tx_hp_key, uint32_t version,\n  const ngtcp2_cid *client_dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_crypto_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:743,1
    - Dst: ngtcp2_crypto_update_traffic_secret
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:749,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:754,1
    - Dst: ngtcp2_crypto_update_traffic_secret
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:759,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:764,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:769,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:774,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 12
    argNames:
    - conn
    - rx_secret
    - tx_secret
    - rx_aead_ctx
    - rx_key
    - rx_iv
    - tx_aead_ctx
    - tx_key
    - tx_iv
    - current_rx_secret
    - current_tx_secret
    - secretlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 782
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 782
    functionName: ngtcp2_crypto_update_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_update_traffic_secret
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_conn_get_crypto_ctx
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_aead_ctx_encrypt_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_update_key(\n  ngtcp2_conn *conn, uint8_t *rx_secret,
      uint8_t *tx_secret,\n  ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t *rx_key,
      uint8_t *rx_iv,\n  ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_key, uint8_t
      *tx_iv,\n  const uint8_t *current_rx_secret, const uint8_t *current_tx_secret,\n
      \ size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - dest
    - aead
    - aead_ctx
    - plaintext
    - plaintextlen
    - nonce
    - noncelen
    - aad
    - aadlen
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 794
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 794
    functionName: ngtcp2_crypto_encrypt_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_encrypt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_encrypt_cb(uint8_t *dest, const ngtcp2_crypto_aead
      *aead,\n                             const ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                            const uint8_t *plaintext, size_t plaintextlen,\n
      \                            const uint8_t *nonce, size_t noncelen,\n                             const
      uint8_t *aad, size_t aadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 9
    argNames:
    - dest
    - aead
    - aead_ctx
    - ciphertext
    - ciphertextlen
    - nonce
    - noncelen
    - aad
    - aadlen
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: ngtcp2_crypto_decrypt_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_decrypt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_decrypt_cb(uint8_t *dest, const ngtcp2_crypto_aead
      *aead,\n                             const ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                            const uint8_t *ciphertext, size_t ciphertextlen,\n
      \                            const uint8_t *nonce, size_t noncelen,\n                             const
      uint8_t *aad, size_t aadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_hp_mask
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dest
    - hp
    - hp_ctx
    - sample
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_cipher*
    - ngtcp2_crypto_cipher_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 815
    functionName: ngtcp2_crypto_hp_mask_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_hp_mask
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_hp_mask_cb(uint8_t *dest, const ngtcp2_crypto_cipher
      *hp,\n                             const ngtcp2_crypto_cipher_ctx *hp_ctx,\n
      \                            const uint8_t *sample)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 11
    argNames:
    - conn
    - rx_secret
    - tx_secret
    - rx_aead_ctx
    - rx_iv
    - tx_aead_ctx
    - tx_iv
    - current_rx_secret
    - current_tx_secret
    - secretlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 834
      start: 817
    functionDepth: 5
    functionLinenumber: 817
    functionLinenumberEnd: 834
    functionName: ngtcp2_crypto_update_key_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_update_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_update_key_cb(\n  ngtcp2_conn *conn, uint8_t *rx_secret,
      uint8_t *tx_secret,\n  ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t *rx_iv,\n
      \ ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_iv,\n  const uint8_t *current_rx_secret,
      const uint8_t *current_tx_secret,\n  size_t secretlen, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_hkdf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:843,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - token
    - secret
    - secretlen
    - cid
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 851
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 851
    functionName: ngtcp2_crypto_generate_stateless_reset_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 1
    functionsReached:
    - ngtcp2_crypto_hkdf
    - ngtcp2_crypto_md_sha256
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_generate_stateless_reset_token(uint8_t *token,\n
      \                                                const uint8_t *secret,\n                                                 size_t
      secretlen,\n                                                 const ngtcp2_cid
      *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:865,1
    - Dst: ngtcp2_crypto_md_hashlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:865,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:866,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:867,1
    - Dst: ngtcp2_crypto_hkdf_extract
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:869,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:874,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:877,1
    - Dst: ngtcp2_crypto_hkdf_expand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:880,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:887,1
    - Dst: ngtcp2_crypto_hkdf_expand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 11
    argNames:
    - key
    - keylen
    - iv
    - ivlen
    - md
    - secret
    - secretlen
    - salt
    - saltlen
    - info_prefix
    - info_prefixlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - ngtcp2_crypto_md*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 896
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 896
    functionName: crypto_derive_token_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_md_hashlen
    - ngtcp2_crypto_hkdf_expand
    - assert
    - ngtcp2_crypto_hkdf_extract
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int crypto_derive_token_key(uint8_t *key, size_t keylen, uint8_t *iv,\n
      \                                  size_t ivlen, const ngtcp2_crypto_md *md,\n
      \                                  const uint8_t *secret, size_t secretlen,\n
      \                                  const uint8_t *salt, size_t saltlen,\n                                   const
      uint8_t *info_prefix,\n                                   size_t info_prefixlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:904,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:905,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:907,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - dest
    - version
    - sa
    - salen
    - retry_scid
    argTypes:
    - uint8_t*
    - uint32_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 913
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 913
    functionName: crypto_generate_retry_token_aad
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_htonl
    linkageType: ''
    returnType: size_t
    signature: "size_t crypto_generate_retry_token_aad(uint8_t *dest, uint32_t version,\n
      \                                             const ngtcp2_sockaddr *sa,\n                                              ngtcp2_socklen
      salen,\n                                              const ngtcp2_cid *retry_scid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:936,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:939,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:941,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:944,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:946,1
    - Dst: ngtcp2_crypto_random
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:951,1
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:955,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:956,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:958,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:959,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:961,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:962,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:964,1
    - Dst: crypto_generate_retry_token_aad
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:971,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:977,1
    - Dst: ngtcp2_crypto_encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:981,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:984,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 9
    argNames:
    - token
    - secret
    - secretlen
    - version
    - remote_addr
    - remote_addrlen
    - retry_scid
    - odcid
    - ts
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 995
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 995
    functionName: ngtcp2_crypto_generate_retry_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - ngtcp2_crypto_random
    - crypto_derive_token_key
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_encrypt
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_crypto_aead_noncelen
    - ngtcp2_htonl64
    - crypto_generate_retry_token_aad
    - memset
    - memcpy
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_crypto_generate_retry_token(\n  uint8_t *token,
      const uint8_t *secret, size_t secretlen, uint32_t version,\n  const ngtcp2_sockaddr
      *remote_addr, ngtcp2_socklen remote_addrlen,\n  const ngtcp2_cid *retry_scid,
      const ngtcp2_cid *odcid, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1021,1
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1032,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1033,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1035,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1036,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1038,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1039,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1041,1
    - Dst: crypto_generate_retry_token_aad
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1048,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1051,1
    - Dst: ngtcp2_crypto_decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1055,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1058,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1070,1
    - Dst: ngtcp2_ntohl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1073,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 11
    argNames:
    - odcid
    - token
    - tokenlen
    - secret
    - secretlen
    - version
    - remote_addr
    - remote_addrlen
    - dcid
    - timeout
    - ts
    argTypes:
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_cid*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1081
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1081
    functionName: ngtcp2_crypto_verify_retry_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - crypto_derive_token_key
    - ngtcp2_ntohl64
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_aead_noncelen
    - crypto_generate_retry_token_aad
    - ngtcp2_cid_init
    - memcpy
    - ngtcp2_crypto_decrypt
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_verify_retry_token(\n  ngtcp2_cid *odcid, const
      uint8_t *token, size_t tokenlen,\n  const uint8_t *secret, size_t secretlen,
      uint32_t version,\n  const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen,\n
      \ const ngtcp2_cid *dcid, ngtcp2_duration timeout, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1087,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1088,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - version
    - retry_scid
    argTypes:
    - uint8_t*
    - uint32_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1094
    functionName: crypto_generate_retry_token_aad2
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_htonl
    linkageType: ''
    returnType: size_t
    signature: "size_t crypto_generate_retry_token_aad2(uint8_t *dest, uint32_t version,\n
      \                                              const ngtcp2_cid *retry_scid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1115,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1118,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1120,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1122,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1125,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1127,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1129,1
    - Dst: ngtcp2_crypto_random
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1131,1
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1135,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1136,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1138,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1139,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1141,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1142,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1144,1
    - Dst: crypto_generate_retry_token_aad2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1151,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1156,1
    - Dst: ngtcp2_crypto_encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1160,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1163,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 9
    argNames:
    - token
    - secret
    - secretlen
    - version
    - remote_addr
    - remote_addrlen
    - retry_scid
    - odcid
    - ts
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1174
      start: 1098
    functionDepth: 3
    functionLinenumber: 1098
    functionLinenumberEnd: 1174
    functionName: ngtcp2_crypto_generate_retry_token2
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - ngtcp2_crypto_random
    - crypto_derive_token_key
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_encrypt
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_crypto_aead_noncelen
    - ngtcp2_htonl64
    - memset
    - memcpy
    - crypto_generate_retry_token_aad2
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_crypto_generate_retry_token2(\n  uint8_t *token,
      const uint8_t *secret, size_t secretlen, uint32_t version,\n  const ngtcp2_sockaddr
      *remote_addr, ngtcp2_socklen remote_addrlen,\n  const ngtcp2_cid *retry_scid,
      const ngtcp2_cid *odcid, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1202,1
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1213,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1214,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1216,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1217,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1219,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1220,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1222,1
    - Dst: crypto_generate_retry_token_aad2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1229,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1231,1
    - Dst: ngtcp2_crypto_decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1235,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1238,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1246,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1260,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1271,1
    - Dst: ngtcp2_ntohl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1273,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 11
    argNames:
    - odcid
    - token
    - tokenlen
    - secret
    - secretlen
    - version
    - remote_addr
    - remote_addrlen
    - dcid
    - timeout
    - ts
    argTypes:
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_cid*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1281
      start: 1176
    functionDepth: 3
    functionLinenumber: 1176
    functionLinenumberEnd: 1281
    functionName: ngtcp2_crypto_verify_retry_token2
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - crypto_derive_token_key
    - ngtcp2_ntohl64
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_crypto_aead_ctx_free
    - memcmp
    - ngtcp2_crypto_aead_noncelen
    - ngtcp2_cid_init
    - memcpy
    - ngtcp2_crypto_decrypt
    - crypto_generate_retry_token_aad2
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_verify_retry_token2(\n  ngtcp2_cid *odcid, const
      uint8_t *token, size_t tokenlen,\n  const uint8_t *secret, size_t secretlen,
      uint32_t version,\n  const ngtcp2_sockaddr *remote_addr, ngtcp2_socklen remote_addrlen,\n
      \ const ngtcp2_cid *dcid, ngtcp2_duration timeout, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1299,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1300,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - dest
    - sa
    argTypes:
    - uint8_t*
    - ngtcp2_sockaddr*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1306
    functionName: crypto_generate_regular_token_aad
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t crypto_generate_regular_token_aad(uint8_t *dest,\n                                                const
      ngtcp2_sockaddr *sa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1327,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1331,1
    - Dst: ngtcp2_crypto_random
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1336,1
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1340,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1341,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1343,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1344,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1346,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1347,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1349,1
    - Dst: crypto_generate_regular_token_aad
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1356,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1361,1
    - Dst: ngtcp2_crypto_encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1365,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1368,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - token
    - secret
    - secretlen
    - remote_addr
    - remote_addrlen
    - ts
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1379
      start: 1310
    functionDepth: 3
    functionLinenumber: 1310
    functionLinenumberEnd: 1379
    functionName: ngtcp2_crypto_generate_regular_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - ngtcp2_crypto_random
    - crypto_derive_token_key
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_encrypt
    - ngtcp2_crypto_aead_ctx_free
    - crypto_generate_regular_token_aad
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_crypto_aead_noncelen
    - ngtcp2_htonl64
    - memcpy
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_crypto_generate_regular_token(\n  uint8_t *token,
      const uint8_t *secret, size_t secretlen,\n  const ngtcp2_sockaddr *remote_addr,
      ngtcp2_socklen remote_addrlen,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_aes_128_gcm
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1413,1
    - Dst: ngtcp2_crypto_md_sha256
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1414,1
    - Dst: ngtcp2_crypto_aead_keylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1416,1
    - Dst: ngtcp2_crypto_aead_noncelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1417,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1419,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1420,1
    - Dst: crypto_derive_token_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1422,1
    - Dst: crypto_generate_regular_token_aad
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1429,1
    - Dst: ngtcp2_crypto_aead_ctx_decrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1431,1
    - Dst: ngtcp2_crypto_decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1435,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1438,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1444,1
    - Dst: ngtcp2_ntohl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 8
    argNames:
    - token
    - tokenlen
    - secret
    - secretlen
    - remote_addr
    - remote_addrlen
    - timeout
    - ts
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1452
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1452
    functionName: ngtcp2_crypto_verify_regular_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_aes_128_gcm
    - assert
    - crypto_derive_token_key
    - ngtcp2_ntohl64
    - ngtcp2_crypto_md_sha256
    - ngtcp2_crypto_aead_ctx_decrypt_init
    - ngtcp2_crypto_aead_ctx_free
    - crypto_generate_regular_token_aad
    - ngtcp2_crypto_aead_noncelen
    - memcpy
    - ngtcp2_crypto_decrypt
    - ngtcp2_crypto_aead_keylen
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_verify_regular_token(const uint8_t *token, size_t
      tokenlen,\n                                       const uint8_t *secret, size_t
      secretlen,\n                                       const ngtcp2_sockaddr *remote_addr,\n
      \                                      ngtcp2_socklen remote_addrlen,\n                                       ngtcp2_duration
      timeout,\n                                       ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_ctx_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1469,1
    - Dst: ngtcp2_crypto_derive_initial_secrets
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1471,1
    - Dst: ngtcp2_crypto_derive_packet_protection_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1477,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1483,1
    - Dst: ngtcp2_crypto_cipher_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1489,1
    - Dst: ngtcp2_pkt_write_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1494,1
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1503,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 8
    argNames:
    - dest
    - destlen
    - version
    - dcid
    - scid
    - error_code
    - reason
    - reasonlen
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_cid*
    - ngtcp2_cid*
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1507
      start: 1454
    functionDepth: 4
    functionLinenumber: 1454
    functionLinenumberEnd: 1507
    functionName: ngtcp2_crypto_write_connection_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_cipher_ctx_free
    - ngtcp2_crypto_cipher_ctx_encrypt_init
    - ngtcp2_crypto_derive_initial_secrets
    - ngtcp2_crypto_derive_packet_protection_key
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_crypto_ctx_initial
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_pkt_write_connection_close
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_crypto_write_connection_close(\n  uint8_t *dest,
      size_t destlen, uint32_t version, const ngtcp2_cid *dcid,\n  const ngtcp2_cid
      *scid, uint64_t error_code, const uint8_t *reason,\n  size_t reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1520,1
    - Dst: ngtcp2_crypto_aead_ctx_encrypt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1534,1
    - Dst: ngtcp2_pkt_write_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1539,1
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - dest
    - destlen
    - version
    - dcid
    - scid
    - odcid
    - token
    - tokenlen
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1549
      start: 1509
    functionDepth: 3
    functionLinenumber: 1509
    functionLinenumberEnd: 1549
    functionName: ngtcp2_crypto_write_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_ctx_encrypt_init
    - ngtcp2_crypto_aead_ctx_free
    - ngtcp2_pkt_write_retry
    - ngtcp2_crypto_aead_retry
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_crypto_write_retry(uint8_t *dest, size_t destlen,\n
      \                                      uint32_t version, const ngtcp2_cid *dcid,\n
      \                                      const ngtcp2_cid *scid,\n                                       const
      ngtcp2_cid *odcid,\n                                       const uint8_t *token,
      size_t tokenlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1552,1
    - Dst: ngtcp2_crypto_derive_and_install_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1556,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1558,1
    - Dst: crypto_set_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1562,1
    - Dst: ngtcp2_crypto_read_write_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1551
    functionDepth: 5
    functionLinenumber: 1551
    functionLinenumberEnd: 1572
    functionName: ngtcp2_crypto_client_initial_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_client_chosen_version
    - ngtcp2_conn_get_dcid
    - crypto_set_local_transport_params
    - ngtcp2_crypto_read_write_crypto_data
    - ngtcp2_crypto_derive_and_install_initial_key
    linkageType: ''
    returnType: int
    signature: int ngtcp2_crypto_client_initial_cb(ngtcp2_conn *conn, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_derive_and_install_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1578,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - hd
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - void*
    constantsTouched: []
    func_position:
      end: 1585
      start: 1574
    functionDepth: 5
    functionLinenumber: 1574
    functionLinenumberEnd: 1585
    functionName: ngtcp2_crypto_recv_retry_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_client_chosen_version
    - ngtcp2_crypto_derive_and_install_initial_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_recv_retry_cb(ngtcp2_conn *conn, const ngtcp2_pkt_hd
      *hd,\n                                void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_derive_and_install_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1592,1
    - Dst: ngtcp2_conn_get_client_chosen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - dcid
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - void*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1587
    functionDepth: 5
    functionLinenumber: 1587
    functionLinenumberEnd: 1599
    functionName: ngtcp2_crypto_recv_client_initial_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_client_chosen_version
    - ngtcp2_crypto_derive_and_install_initial_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_recv_client_initial_cb(ngtcp2_conn *conn,\n                                         const
      ngtcp2_cid *dcid,\n                                         void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_derive_and_install_vneg_initial_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - version
    - client_dcid
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - ngtcp2_cid*
    - void*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1601
    functionDepth: 5
    functionLinenumber: 1601
    functionLinenumberEnd: 1613
    functionName: ngtcp2_crypto_version_negotiation_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_derive_and_install_vneg_initial_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_version_negotiation_cb(ngtcp2_conn *conn, uint32_t
      version,\n                                         const ngtcp2_cid *client_dcid,\n
      \                                        void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_aead_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - aead_ctx
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1622
    functionName: ngtcp2_crypto_delete_crypto_aead_ctx_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_aead_ctx_free
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_crypto_delete_crypto_aead_ctx_cb(ngtcp2_conn *conn,\n
      \                                            ngtcp2_crypto_aead_ctx *aead_ctx,\n
      \                                            void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_cipher_ctx_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - cipher_ctx
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_cipher_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1630
    functionName: ngtcp2_crypto_delete_crypto_cipher_ctx_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_cipher_ctx_free
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_crypto_delete_crypto_cipher_ctx_cb(\n  ngtcp2_conn *conn,
      ngtcp2_crypto_cipher_ctx *cipher_ctx, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_read_write_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1640,1
    - Dst: ngtcp2_conn_get_tls_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c:1642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - conn
    - encryption_level
    - offset
    - data
    - datalen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1632
    functionDepth: 3
    functionLinenumber: 1632
    functionLinenumberEnd: 1650
    functionName: ngtcp2_crypto_recv_crypto_data_cb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/crypto/shared.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_read_write_crypto_data
    - ngtcp2_conn_get_tls_error
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_recv_crypto_data_cb(ngtcp2_conn *conn,\n                                      ngtcp2_encryption_level
      encryption_level,\n                                      uint64_t offset, const
      uint8_t *data,\n                                      size_t datalen, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:36,1
    - Dst: ngtcp2_ntohl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ngtcp2_get_uint64be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_ntohl64
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uint64be(uint64_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:42,1
    - Dst: ngtcp2_ntohl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ngtcp2_get_uint32be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_ntohl
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uint32be(uint32_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:49,1
    - Dst: ngtcp2_ntohl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ngtcp2_get_uint24be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_ntohl
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uint24be(uint32_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:55,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint16_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ngtcp2_get_uint16be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_ntohs
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uint16be(uint16_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint16_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ngtcp2_get_uint16
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uint16(uint16_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:78,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:80,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:84,1
    - Dst: ngtcp2_ntohl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:86,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:90,1
    - Dst: ngtcp2_ntohl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:92,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: get_uvarint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_unreachable
    - ngtcp2_ntohl
    - ngtcp2_ntohs
    - memcpy
    - ngtcp2_ntohl64
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *get_uvarint(uint64_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: ngtcp2_get_uvarint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - get_uvarint
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_uvarint(uint64_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - p
    argTypes:
    - int64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ngtcp2_get_varint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - get_uvarint
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_get_varint(int64_t *dest, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uint16be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:116,1
    - Dst: ngtcp2_get_uint24be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:119,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:122,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - p
    - pkt_numlen
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: ngtcp2_get_pkt_num
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_get_uint32be
    - ngtcp2_get_uint16be
    - ngtcp2_get_uint24be
    - ngtcp2_unreachable
    linkageType: ''
    returnType: int64_t
    signature: int64_t ngtcp2_get_pkt_num(const uint8_t *p, size_t pkt_numlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:130,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ngtcp2_put_uint64be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_htonl64
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uint64be(uint8_t *p, uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:135,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: ngtcp2_put_uint32be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_htonl
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uint32be(uint8_t *p, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:140,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: ngtcp2_put_uint24be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_htonl
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uint24be(uint8_t *p, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_htons
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:145,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: ngtcp2_put_uint16be
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cpymem
    - ngtcp2_htons
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uint16be(uint8_t *p, uint16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: ngtcp2_put_uint16
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uint16(uint8_t *p, uint16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uint16be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:160,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:165,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:169,1
    - Dst: ngtcp2_put_uint64be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: ngtcp2_put_uvarint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uint64be
    - ngtcp2_put_uint16be
    - assert
    - ngtcp2_put_uint32be
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uvarint(uint8_t *p, uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:178,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: ngtcp2_put_uvarint30
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_put_uint32be
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_uvarint30(uint8_t *p, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uint16be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:192,1
    - Dst: ngtcp2_put_uint24be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:194,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:196,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p
    - pkt_num
    - len
    argTypes:
    - uint8_t*
    - int64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: ngtcp2_put_pkt_num
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uint16be
    - ngtcp2_unreachable
    - ngtcp2_put_uint24be
    - ngtcp2_put_uint32be
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_put_pkt_num(uint8_t *p, int64_t pkt_num, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: ngtcp2_get_uvarintlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_get_uvarintlen(const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: ngtcp2_put_uvarintlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_put_uvarintlen(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: ngtcp2_ord_stream_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_ord_stream_id(int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ent
    - pkt_num
    - tstamp
    argTypes:
    - ngtcp2_acktr_entry*
    - int64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: acktr_entry_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void acktr_entry_init(ngtcp2_acktr_entry *ent, int64_t pkt_num,\n
      \                            ngtcp2_tstamp tstamp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_acktr_entry_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:45,1
    - Dst: acktr_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ent
    - pkt_num
    - tstamp
    - objalloc
    argTypes:
    - ngtcp2_acktr_entry**
    - int64_t
    - ngtcp2_tstamp
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: ngtcp2_acktr_entry_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - acktr_entry_init
    - ngtcp2_objalloc_acktr_entry_get
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_acktr_entry_objalloc_new(ngtcp2_acktr_entry **ent, int64_t
      pkt_num,\n                                    ngtcp2_tstamp tstamp,\n                                    ngtcp2_objalloc
      *objalloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_acktr_entry_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ent
    - objalloc
    argTypes:
    - ngtcp2_acktr_entry*
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ngtcp2_acktr_entry_objalloc_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_acktr_entry_release
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_acktr_entry_objalloc_del(ngtcp2_acktr_entry *ent,\n                                     ngtcp2_objalloc
      *objalloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_acktr_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:62,1
    - Dst: ngtcp2_static_ringbuf_acks_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:65,1
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:67,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - acktr
    - log
    - mem
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_log*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: ngtcp2_acktr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_init
    - ngtcp2_objalloc_acktr_entry_init
    - ngtcp2_static_ringbuf_acks_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_acktr_init(ngtcp2_acktr *acktr, ngtcp2_log *log,\n                       const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:89,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:89,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:90,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:91,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:91,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:95,1
    - Dst: ngtcp2_objalloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - acktr
    argTypes:
    - ngtcp2_acktr*
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: ngtcp2_acktr_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_free
    - ngtcp2_objalloc_free
    - ngtcp2_acktr_entry_objalloc_del
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_acktr_free(ngtcp2_acktr *acktr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:107,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:108,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:109,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:110,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:113,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:120,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:122,1
    - Dst: ngtcp2_ksl_it_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:124,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:126,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:134,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:135,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:137,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:142,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:143,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:146,1
    - Dst: ngtcp2_acktr_entry_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:161,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:165,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:167,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:179,1
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:180,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:181,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:182,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:183,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:184,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 4
    argNames:
    - acktr
    - pkt_num
    - active_ack
    - ts
    argTypes:
    - ngtcp2_acktr*
    - int64_t
    - int
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 193
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 193
    functionName: ngtcp2_acktr_add
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_ksl_remove_hint
    - ngtcp2_acktr_entry_objalloc_new
    - ngtcp2_acktr_entry_objalloc_del
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_begin
    - ngtcp2_ksl_it_get
    - ngtcp2_ksl_update_key
    - ngtcp2_ksl_insert
    - ngtcp2_ksl_end
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_acktr_add(ngtcp2_acktr *acktr, int64_t pkt_num, int active_ack,\n
      \                    ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:198,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:199,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:199,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:201,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:202,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:203,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - acktr
    - ent
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_acktr_entry*
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: ngtcp2_acktr_forget
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_remove_hint
    - ngtcp2_acktr_entry_objalloc_del
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_acktr_forget(ngtcp2_acktr *acktr, ngtcp2_acktr_entry *ent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acktr
    argTypes:
    - ngtcp2_acktr*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: ngtcp2_acktr_get
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_begin
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: ngtcp2_ksl_it ngtcp2_acktr_get(const ngtcp2_acktr *acktr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:213,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acktr
    argTypes:
    - ngtcp2_acktr*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: ngtcp2_acktr_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_it_end
    linkageType: ''
    returnType: int
    signature: int ngtcp2_acktr_empty(const ngtcp2_acktr *acktr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_push_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - acktr
    - pkt_num
    - largest_ack
    argTypes:
    - ngtcp2_acktr*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: ngtcp2_acktr_add_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_push_front
    linkageType: ''
    returnType: ngtcp2_acktr_ack_entry
    signature: "ngtcp2_acktr_ack_entry *ngtcp2_acktr_add_ack(ngtcp2_acktr *acktr,\n
      \                                            int64_t pkt_num,\n                                             int64_t
      largest_ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:235,1
    - Dst: ngtcp2_acktr_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - acktr
    - it
    - ent
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_ksl_it*
    - ngtcp2_acktr_entry*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: acktr_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_acktr_entry_objalloc_del
    - ngtcp2_ksl_remove_hint
    linkageType: ''
    returnType: void
    signature: "void acktr_remove(ngtcp2_acktr *acktr, ngtcp2_ksl_it *it,\n                         ngtcp2_acktr_entry
      *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:245,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:245,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:247,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:250,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:251,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:252,1
    - Dst: acktr_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:253,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:256,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:257,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:257,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:259,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:260,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:262,1
    - Dst: ngtcp2_ringbuf_resize
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - acktr
    - rb
    - ack_ent_offset
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_ringbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 270
    functionName: acktr_on_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_ringbuf_len
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - ngtcp2_ringbuf_resize
    - ngtcp2_ringbuf_get
    - acktr_remove
    linkageType: ''
    returnType: void
    signature: "void acktr_on_ack(ngtcp2_acktr *acktr, ngtcp2_ringbuf *rb,\n                         size_t
      ack_ent_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:281,1
    - Dst: acktr_on_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:293,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:306,1
    - Dst: acktr_on_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - acktr
    - fr
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_ack*
    constantsTouched: []
    func_position:
      end: 316
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 316
    functionName: ngtcp2_acktr_recv_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - acktr_on_ack
    linkageType: ''
    returnType: void
    signature: void ngtcp2_acktr_recv_ack(ngtcp2_acktr *acktr, const ngtcp2_ack *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - acktr
    argTypes:
    - ngtcp2_acktr*
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: ngtcp2_acktr_commit_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_acktr_commit_ack(ngtcp2_acktr *acktr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acktr
    - max_ack_delay
    - ts
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: ngtcp2_acktr_require_active_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_acktr_require_active_ack(const ngtcp2_acktr *acktr,\n                                    ngtcp2_duration
      max_ack_delay,\n                                    ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acktr
    argTypes:
    - ngtcp2_acktr*
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: ngtcp2_acktr_immediate_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_acktr_immediate_ack(ngtcp2_acktr *acktr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_acktr_require_active_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:353,1
    - Dst: ngtcp2_acktr_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:357,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:358,1
    - Dst: ngtcp2_acktr_commit_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:359,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:363,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:375,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:383,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:391,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:394,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:411,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:413,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 6
    argNames:
    - acktr
    - fr
    - type
    - ts
    - ack_delay
    - ack_delay_exponent
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_frame*
    - uint8_t
    - ngtcp2_tstamp
    - ngtcp2_duration
    - uint64_t
    constantsTouched: []
    func_position:
      end: 424
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 424
    functionName: ngtcp2_acktr_create_ack_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_acktr_commit_ack
    - ngtcp2_ksl_len
    - ngtcp2_ksl_it_next
    - ngtcp2_acktr_get
    - ngtcp2_min_size
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - ngtcp2_acktr_require_active_ack
    linkageType: ''
    returnType: ngtcp2_frame
    signature: "ngtcp2_frame *ngtcp2_acktr_create_ack_frame(ngtcp2_acktr *acktr,\n
      \                                           ngtcp2_frame *fr, uint8_t type,\n
      \                                           ngtcp2_tstamp ts,\n                                            ngtcp2_duration
      ack_delay,\n                                            uint64_t ack_delay_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - acktr
    - pi
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_pkt_info*
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: ngtcp2_acktr_increase_ecn_counts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_acktr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_acktr_increase_ecn_counts(ngtcp2_acktr *acktr,\n                                      const
      ngtcp2_pkt_info *pi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_frame_chain_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:34,1
    - Dst: ngtcp2_frame_chain_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pfrc
    - objalloc
    argTypes:
    - ngtcp2_frame_chain**
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: ngtcp2_frame_chain_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_frame_chain_get
    - ngtcp2_frame_chain_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_frame_chain_objalloc_new(ngtcp2_frame_chain **pfrc,\n                                    ngtcp2_objalloc
      *objalloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:46,1
    - Dst: ngtcp2_frame_chain_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfrc
    - extralen
    - mem
    argTypes:
    - ngtcp2_frame_chain**
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: ngtcp2_frame_chain_extralen_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - ngtcp2_frame_chain_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_frame_chain_extralen_new(ngtcp2_frame_chain **pfrc, size_t
      extralen,\n                                    const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_extralen_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:61,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pfrc
    - datacnt
    - objalloc
    - mem
    argTypes:
    - ngtcp2_frame_chain**
    - size_t
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: ngtcp2_frame_chain_stream_datacnt_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_objalloc_new
    - ngtcp2_frame_chain_extralen_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_frame_chain_stream_datacnt_objalloc_new(ngtcp2_frame_chain
      **pfrc,\n                                                   size_t datacnt,\n
      \                                                  ngtcp2_objalloc *objalloc,\n
      \                                                  const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_extralen_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:80,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:83,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - pfrc
    - token
    - tokenlen
    - objalloc
    - mem
    argTypes:
    - ngtcp2_frame_chain**
    - uint8_t*
    - size_t
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: ngtcp2_frame_chain_new_token_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_frame_chain_objalloc_new
    - ngtcp2_frame_chain_extralen_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_frame_chain_new_token_objalloc_new(ngtcp2_frame_chain **pfrc,\n
      \                                             const uint8_t *token,\n                                              size_t
      tokenlen,\n                                              ngtcp2_objalloc *objalloc,\n
      \                                             const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:110,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - frc
    - mem
    argTypes:
    - ngtcp2_frame_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: ngtcp2_frame_chain_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_frame_chain_del(ngtcp2_frame_chain *frc, const ngtcp2_mem
      *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:129,1
    - Dst: ngtcp2_frame_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:137,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:147,1
    - Dst: ngtcp2_objalloc_frame_chain_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - frc
    - objalloc
    - mem
    argTypes:
    - ngtcp2_frame_chain*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 153
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 153
    functionName: ngtcp2_frame_chain_objalloc_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    - ngtcp2_frame_chain_del
    - ngtcp2_objalloc_frame_chain_release
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_frame_chain_objalloc_del(ngtcp2_frame_chain *frc,\n                                     ngtcp2_objalloc
      *objalloc,\n                                     const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - frc
    argTypes:
    - ngtcp2_frame_chain*
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ngtcp2_frame_chain_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_frame_chain_init(ngtcp2_frame_chain *frc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - frc
    - objalloc
    - mem
    argTypes:
    - ngtcp2_frame_chain*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: ngtcp2_frame_chain_list_objalloc_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_objalloc_del
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_frame_chain_list_objalloc_del(ngtcp2_frame_chain *frc,\n
      \                                         ngtcp2_objalloc *objalloc,\n                                          const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pbinder
    - mem
    argTypes:
    - ngtcp2_frame_chain_binder**
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: ngtcp2_frame_chain_binder_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_calloc
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_frame_chain_binder_new(ngtcp2_frame_chain_binder **pbinder,\n
      \                                 const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:187,1
    - Dst: ngtcp2_frame_chain_binder_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b
    - mem
    argTypes:
    - ngtcp2_frame_chain*
    - ngtcp2_frame_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: ngtcp2_bind_frame_chains
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_binder_new
    - assert
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_bind_frame_chains(ngtcp2_frame_chain *a, ngtcp2_frame_chain
      *b,\n                             const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gaptr
    - mem
    argTypes:
    - ngtcp2_gaptr*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: ngtcp2_gaptr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_gaptr_init(ngtcp2_gaptr *gaptr, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gaptr
    argTypes:
    - ngtcp2_gaptr*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: gaptr_gap_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_insert
    linkageType: ''
    returnType: int
    signature: int gaptr_gap_init(ngtcp2_gaptr *gaptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gaptr
    argTypes:
    - ngtcp2_gaptr*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: ngtcp2_gaptr_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_gaptr_free(ngtcp2_gaptr *gaptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:62,1
    - Dst: gaptr_gap_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:63,1
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:69,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:72,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:73,1
    - Dst: ngtcp2_range_intersect
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:74,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:75,1
    - Dst: ngtcp2_range_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:79,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:80,1
    - Dst: ngtcp2_range_cut
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:84,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:86,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:87,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:89,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:90,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:95,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:96,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:99,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - gaptr
    - offset
    - datalen
    argTypes:
    - ngtcp2_gaptr*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: ngtcp2_gaptr_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    - gaptr_gap_init
    - ngtcp2_ksl_len
    - ngtcp2_ksl_it_next
    - ngtcp2_range_cut
    - ngtcp2_range_len
    - ngtcp2_ksl_remove_hint
    - ngtcp2_range_intersect
    - ngtcp2_ksl_insert
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    - ngtcp2_ksl_update_key
    - ngtcp2_range_eq
    linkageType: ''
    returnType: int
    signature: int ngtcp2_gaptr_push(ngtcp2_gaptr *gaptr, uint64_t offset, uint64_t
      datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:108,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:112,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gaptr
    argTypes:
    - ngtcp2_gaptr*
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: ngtcp2_gaptr_first_gap_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_it_key
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_gaptr_first_gap_offset(const ngtcp2_gaptr *gaptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:125,1
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:132,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:135,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:135,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gaptr
    - offset
    argTypes:
    - ngtcp2_gaptr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: ngtcp2_gaptr_get_first_gap_after
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    linkageType: ''
    returnType: ngtcp2_range
    signature: "ngtcp2_range ngtcp2_gaptr_get_first_gap_after(const ngtcp2_gaptr *gaptr,\n
      \                                             uint64_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:149,1
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:156,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:156,1
    - Dst: ngtcp2_range_intersect
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:158,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:158,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - gaptr
    - offset
    - datalen
    argTypes:
    - ngtcp2_gaptr*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 161
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 161
    functionName: ngtcp2_gaptr_is_pushed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_range_len
    - ngtcp2_range_intersect
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_gaptr_is_pushed(const ngtcp2_gaptr *gaptr, uint64_t offset,\n
      \                          uint64_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:167,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:171,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:173,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:173,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:175,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - gaptr
    argTypes:
    - ngtcp2_gaptr*
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: ngtcp2_gaptr_drop_first_gap
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    linkageType: ''
    returnType: void
    signature: void ngtcp2_gaptr_drop_first_gap(ngtcp2_gaptr *gaptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - map
    - mem
    argTypes:
    - ngtcp2_map*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ngtcp2_map_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_map_init(ngtcp2_map *map, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - ngtcp2_map*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ngtcp2_map_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_map_free(ngtcp2_map *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - map
    - ptr
    argTypes:
    - ngtcp2_map*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: ngtcp2_map_each
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_map_each(const ngtcp2_map *map, int (*func)(void *data,
      void *ptr),\n                    void *ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - ngtcp2_map_key_type
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: hash
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash(ngtcp2_map_key_type key, size_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_map_bucket*
    - ngtcp2_map_bucket*
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: map_bucket_swap
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void map_bucket_swap(ngtcp2_map_bucket *a, ngtcp2_map_bucket *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:108,1
    - Dst: hash
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:112,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:113,1
    - Dst: hash
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - map
    argTypes:
    - ngtcp2_map*
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: ngtcp2_map_print_distance
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - hash
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ngtcp2_map_print_distance(const ngtcp2_map *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_bucket_swap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - table
    - hashbits
    - key
    - data
    argTypes:
    - ngtcp2_map_bucket*
    - size_t
    - ngtcp2_map_key_type
    - void*
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: insert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 58
    functionsReached:
    - map_bucket_swap
    linkageType: ''
    returnType: int
    signature: "int insert(ngtcp2_map_bucket *table, size_t hashbits,\n                  ngtcp2_map_key_type
      key, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:161,1
    - Dst: insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:175,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:177,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - map
    - new_hashbits
    argTypes:
    - ngtcp2_map*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: map_resize
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_calloc
    - assert
    - ngtcp2_mem_free
    - insert
    linkageType: ''
    returnType: int
    signature: int map_resize(ngtcp2_map *map, size_t new_hashbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:191,1
    - Dst: map_resize
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:198,1
    - Dst: map_resize
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:203,1
    - Dst: insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - map
    - key
    - data
    argTypes:
    - ngtcp2_map*
    - ngtcp2_map_key_type
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 218
    functionName: ngtcp2_map_insert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - insert
    - map_resize
    - assert
    linkageType: ''
    returnType: int
    signature: int ngtcp2_map_insert(ngtcp2_map *map, ngtcp2_map_key_type key, void
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - ngtcp2_map*
    - ngtcp2_map_key_type
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: ngtcp2_map_find
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_map_find(const ngtcp2_map *map, ngtcp2_map_key_type key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - ngtcp2_map*
    - ngtcp2_map_key_type
    constantsTouched: []
    func_position:
      end: 295
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 295
    functionName: ngtcp2_map_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: int
    signature: int ngtcp2_map_remove(ngtcp2_map *map, ngtcp2_map_key_type key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - ngtcp2_map*
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: ngtcp2_map_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_map_clear(ngtcp2_map *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - ngtcp2_map*
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: ngtcp2_map_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_map_size(const ngtcp2_map *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ksl_nodelen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t ksl_nodelen(size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodelen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ksl_blklen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ksl_blklen(size_t nodelen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ksl
    - node
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_node*
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ksl_node_set_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ksl_node_set_key(ngtcp2_ksl *ksl, ngtcp2_ksl_node *node,\n                             const
      void *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:65,1
    - Dst: ksl_blklen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ksl
    - compar
    - search
    - keylen
    - mem
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_compar
    - ngtcp2_ksl_search
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: ngtcp2_ksl_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 2
    functionsReached:
    - ngtcp2_objalloc_init
    - ksl_blklen
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ksl_init(ngtcp2_ksl *ksl, ngtcp2_ksl_compar compar,\n
      \                    ngtcp2_ksl_search search, size_t keylen,\n                     const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_ksl_blk_len_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:78,1
    - Dst: ksl_blklen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ksl_blk_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_blklen
    - ngtcp2_objalloc_ksl_blk_len_get
    linkageType: ''
    returnType: ngtcp2_ksl_blk
    signature: ngtcp2_ksl_blk *ksl_blk_objalloc_new(ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_ksl_blk_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ksl
    - blk
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ksl_blk_objalloc_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_ksl_blk_release
    linkageType: ''
    returnType: void
    signature: void ksl_blk_objalloc_del(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_blk_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: ksl_head_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_blk_objalloc_new
    linkageType: ''
    returnType: int
    signature: int ksl_head_init(ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_free_blk
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:112,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:112,1
    - Dst: ksl_blk_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ksl
    - blk
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: ksl_free_blk
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 1
    functionsReached:
    - ksl_blk_objalloc_del
    - ksl_free_blk
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: void ksl_free_blk(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_free_blk
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:126,1
    - Dst: ngtcp2_objalloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: ngtcp2_ksl_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 2
    functionsReached:
    - ksl_free_blk
    - ngtcp2_objalloc_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ksl_free(ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_blk_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:143,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:163,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:166,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ksl
    - blk
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    constantsTouched: []
    func_position:
      end: 170
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 170
    functionName: ksl_split_blk
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ksl_blk_objalloc_new
    linkageType: ''
    returnType: ngtcp2_ksl_blk
    signature: ngtcp2_ksl_blk *ksl_split_blk(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:185,1
    - Dst: ksl_split_blk
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:187,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:192,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:196,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:199,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:199,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:201,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:202,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: ksl_split_node
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_node_set_key
    - ngtcp2_ksl_nth_node
    - ksl_split_blk
    - memmove
    linkageType: ''
    returnType: int
    signature: int ksl_split_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_split_blk
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:221,1
    - Dst: ksl_blk_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:228,1
    - Dst: ksl_blk_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:231,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:239,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:240,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:240,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:243,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:244,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 250
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 250
    functionName: ksl_split_head
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_blk_objalloc_del
    - ksl_node_set_key
    - ksl_split_blk
    - ngtcp2_ksl_nth_node
    - ksl_blk_objalloc_new
    linkageType: ''
    returnType: int
    signature: int ksl_split_head(ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:262,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:264,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:267,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ksl
    - blk
    - i
    - key
    - data
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    - ngtcp2_ksl_key*
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: ksl_insert_node
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - assert
    - ksl_node_set_key
    - memmove
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: "void ksl_insert_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t
      i,\n                            const ngtcp2_ksl_key *key, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_head_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:282,1
    - Dst: ksl_split_head
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:289,1
    - Dst: ngtcp2_ksl*::search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:298,1
    - Dst: ngtcp2_ksl*::compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:302,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:302,1
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:304,1
    - Dst: ksl_insert_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:310,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:314,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:323,1
    - Dst: ksl_split_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:325,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:330,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:333,1
    - Dst: ksl_insert_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:337,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:341,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:347,1
    - Dst: ksl_split_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:350,1
    - Dst: ngtcp2_ksl*::compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:355,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:356,1
    - Dst: ngtcp2_ksl*::compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:358,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:359,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 4
    argNames:
    - ksl
    - it
    - key
    - data
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_it*
    - ngtcp2_ksl_key*
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 366
    functionName: ngtcp2_ksl_insert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 3
    functionsReached:
    - ksl_split_node
    - ngtcp2_ksl*::compar
    - ksl_insert_node
    - ngtcp2_ksl*::search
    - ksl_head_init
    - ngtcp2_ksl_it_init
    - ngtcp2_ksl_end
    - ksl_node_set_key
    - ksl_split_head
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,\n                      const
      ngtcp2_ksl_key *key, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ksl_remove_node
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ksl_remove_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:394,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:396,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:399,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:401,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:403,1
    - Dst: ksl_blk_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:415,1
    - Dst: ksl_blk_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:418,1
    - Dst: ksl_remove_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:421,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:422,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 427
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 427
    functionName: ksl_merge_node
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_blk_objalloc_del
    - assert
    - ksl_node_set_key
    - ksl_remove_node
    - memcpy
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: ngtcp2_ksl_blk
    signature: "ngtcp2_ksl_blk *ksl_merge_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,\n
      \                                     size_t i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:439,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:441,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:442,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:447,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:448,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:452,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:453,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:454,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:456,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:461,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:462,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: ksl_shift_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - ksl_node_set_key
    - memcpy
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: void ksl_shift_left(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:477,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:479,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:480,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:485,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:486,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:490,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:491,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:492,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:494,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:499,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:501,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 503
    functionName: ksl_shift_right
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - ksl_node_set_key
    - memcpy
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: void ksl_shift_right(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:511,1
    - Dst: compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - compar
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_compar
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: key_equal
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - compar
    linkageType: ''
    returnType: int
    signature: "int key_equal(ngtcp2_ksl_compar compar, const ngtcp2_ksl_key *lhs,\n
      \                    const ngtcp2_ksl_key *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:519,1
    - Dst: ngtcp2_ksl_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:522,1
    - Dst: ksl_remove_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:525,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:531,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ksl
    - it
    - hint
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_it*
    - ngtcp2_ksl_it*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 538
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 538
    functionName: ngtcp2_ksl_remove_hint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 5
    functionsReached:
    - ngtcp2_ksl_remove
    - ngtcp2_ksl_it_init
    - assert
    - ksl_remove_node
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_remove_hint(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,\n                           const
      ngtcp2_ksl_it *hint,\n                           const ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:551,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:552,1
    - Dst: ksl_merge_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:553,1
    - Dst: ngtcp2_ksl*::search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:557,1
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:561,1
    - Dst: ngtcp2_ksl*::compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:568,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:568,1
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:570,1
    - Dst: ksl_remove_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:576,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:581,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:583,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:590,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:597,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:600,1
    - Dst: ksl_shift_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:601,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:608,1
    - Dst: ksl_shift_right
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:609,1
    - Dst: ksl_merge_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:616,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:620,1
    - Dst: ksl_merge_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:622,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - ksl
    - it
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_it*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 624
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 624
    functionName: ngtcp2_ksl_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_ksl*::compar
    - ksl_shift_right
    - ksl_merge_node
    - ksl_shift_left
    - ngtcp2_ksl*::search
    - ngtcp2_ksl_it_init
    - ngtcp2_ksl_end
    - ksl_remove_node
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,\n                      const
      ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ksl
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: ngtcp2_ksl_lower_bound
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 3
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: "ngtcp2_ksl_it ngtcp2_ksl_lower_bound(const ngtcp2_ksl *ksl,\n                                     const
      ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:639,1
    - Dst: search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:644,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:652,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:660,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:670,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:675,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ksl
    - key
    - search
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_search
    constantsTouched: []
    func_position:
      end: 677
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 677
    functionName: ngtcp2_ksl_lower_bound_search
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 4
    functionsReached:
    - ngtcp2_ksl_it_init
    - search
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: "ngtcp2_ksl_it ngtcp2_ksl_lower_bound_search(const ngtcp2_ksl *ksl,\n
      \                                           const ngtcp2_ksl_key *key,\n                                            ngtcp2_ksl_search
      search)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:685,1
    - Dst: ngtcp2_ksl*::search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:688,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:690,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:691,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:694,1
    - Dst: key_equal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:694,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:695,1
    - Dst: key_equal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:700,1
    - Dst: ngtcp2_ksl*::compar
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:701,1
    - Dst: ksl_node_set_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ksl
    - old_key
    - new_key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 707
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 707
    functionName: ngtcp2_ksl_update_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_ksl*::compar
    - ngtcp2_ksl*::search
    - ksl_node_set_key
    - key_equal
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ksl_update_key(ngtcp2_ksl *ksl, const ngtcp2_ksl_key *old_key,\n
      \                          const ngtcp2_ksl_key *new_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: ngtcp2_ksl_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_ksl_len(const ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_free_blk
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:717,1
    - Dst: ngtcp2_objalloc_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 724
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 724
    functionName: ngtcp2_ksl_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_free_blk
    - ngtcp2_objalloc_clear
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ksl_clear(ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:732,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:736,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:737,1
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:740,1
    - Dst: ksl_print
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:746,1
    - Dst: ngtcp2_ksl_nth_node
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ksl
    - blk
    - level
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 748
    functionName: ksl_print
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 1
    functionsReached:
    - ksl_print
    - fprintf
    - ngtcp2_ksl_nth_node
    linkageType: ''
    returnType: void
    signature: "void ksl_print(const ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,\n                      size_t
      level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_print
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: ngtcp2_ksl_print
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_print
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ksl_print(const ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:763,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 769
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 769
    functionName: ngtcp2_ksl_begin
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 5
    functionsReached:
    - ngtcp2_ksl_it_init
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: ngtcp2_ksl_it ngtcp2_ksl_begin(const ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:775,1
    - Dst: ngtcp2_ksl_it_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ksl
    argTypes:
    - ngtcp2_ksl*
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: ngtcp2_ksl_end
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 3
    functionsReached:
    - ngtcp2_ksl_it_init
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: ngtcp2_ksl_it ngtcp2_ksl_end(const ngtcp2_ksl *ksl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - it
    - ksl
    - blk
    - i
    argTypes:
    - ngtcp2_ksl_it*
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - size_t
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: ngtcp2_ksl_it_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ksl_it_init(ngtcp2_ksl_it *it, const ngtcp2_ksl *ksl,\n
      \                       ngtcp2_ksl_blk *blk, size_t i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:791,1
    - Dst: ngtcp2_ksl_it_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - ngtcp2_ksl_it*
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: ngtcp2_ksl_it_prev
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_ksl_it_begin
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ksl_it_prev(ngtcp2_ksl_it *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - ngtcp2_ksl_it*
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: ngtcp2_ksl_it_begin
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_ksl_it_begin(const ngtcp2_ksl_it *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: ngtcp2_ksl_range_compar
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_range_compar(const ngtcp2_ksl_key *lhs,\n                            const
      ngtcp2_ksl_key *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_range_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ksl
    - blk
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: ngtcp2_ksl_range_search
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_range_search
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_ksl_range_search(const ngtcp2_ksl *ksl, ngtcp2_ksl_blk
      *blk,\n                               const ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:821,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: ngtcp2_ksl_range_exclusive_compar
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_range_exclusive_compar(const ngtcp2_ksl_key *lhs,\n
      \                                     const ngtcp2_ksl_key *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_range_exclusive_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ksl
    - blk
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: ngtcp2_ksl_range_exclusive_search
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_range_exclusive_search
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_ksl_range_exclusive_search(const ngtcp2_ksl *ksl,\n
      \                                        ngtcp2_ksl_blk *blk,\n                                         const
      ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: ngtcp2_ksl_uint64_less
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_uint64_less(const ngtcp2_ksl_key *lhs,\n                           const
      ngtcp2_ksl_key *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_uint64_less_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ksl
    - blk
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: ngtcp2_ksl_uint64_less_search
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_uint64_less_search
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_ksl_uint64_less_search(const ngtcp2_ksl *ksl, ngtcp2_ksl_blk
      *blk,\n                                     const ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: ngtcp2_ksl_int64_greater
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ksl_int64_greater(const ngtcp2_ksl_key *lhs,\n                             const
      ngtcp2_ksl_key *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ksl_int64_greater_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ksl
    - blk
    - key
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_ksl_blk*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: ngtcp2_ksl_int64_greater_search
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
    functionUses: 0
    functionsReached:
    - ksl_int64_greater_search
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_ksl_int64_greater_search(const ngtcp2_ksl *ksl,\n                                       ngtcp2_ksl_blk
      *blk,\n                                       const ngtcp2_ksl_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - base
    - d
    - ts
    argTypes:
    - ngtcp2_tstamp
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ngtcp2_tstamp_elapsed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_tstamp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_tstamp_elapsed(ngtcp2_tstamp base, ngtcp2_duration d,\n
      \                                       ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - base
    - d
    - ts
    argTypes:
    - ngtcp2_tstamp
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ngtcp2_tstamp_not_elapsed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_tstamp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_tstamp_not_elapsed(ngtcp2_tstamp base,\n                                            ngtcp2_duration
      d,\n                                            ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_window_filter_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:274,1
    - Dst: ngtcp2_window_filter_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:275,1
    - Dst: bbr_reset_congestion_signals
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:290,1
    - Dst: bbr_reset_lower_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:291,1
    - Dst: bbr_init_round_counting
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:292,1
    - Dst: bbr_reset_full_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:293,1
    - Dst: bbr_init_pacing_rate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:294,1
    - Dst: bbr_enter_startup
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 3
    argNames:
    - bbr
    - cstat
    - initial_ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 339
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 339
    functionName: bbr_on_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_window_filter_init
    - bbr_init_round_counting
    - bbr_enter_startup
    - bbr_reset_congestion_signals
    - bbr_init_pacing_rate
    - bbr_reset_lower_bounds
    - bbr_reset_full_bw
    linkageType: ''
    returnType: void
    signature: "void bbr_on_init(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n                        ngtcp2_tstamp
      initial_ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: bbr_reset_congestion_signals
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_reset_congestion_signals(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: bbr_reset_lower_bounds
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_reset_lower_bounds(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: bbr_init_round_counting
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_init_round_counting(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: bbr_reset_full_bw
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_reset_full_bw(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_full_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:371,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: bbr_check_full_bw_reached
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - bbr_reset_full_bw
    linkageType: ''
    returnType: void
    signature: "void bbr_check_full_bw_reached(ngtcp2_cc_bbr *bbr,\n                                      ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_inflight_too_high
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:394,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:399,1
    - Dst: bbr_bdp_multiple
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 401
    functionName: bbr_check_startup_high_loss
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_is_inflight_too_high
    - bbr_bdp_multiple
    linkageType: ''
    returnType: void
    signature: void bbr_check_startup_high_loss(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: bbr_init_pacing_rate
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_init_pacing_rate(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - bbr
    - cstat
    - pacing_gain_h
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: bbr_set_pacing_rate_with_gain
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: "void bbr_set_pacing_rate_with_gain(ngtcp2_cc_bbr *bbr,\n                                          ngtcp2_conn_stat
      *cstat,\n                                          uint64_t pacing_gain_h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_set_pacing_rate_with_gain
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: bbr_set_pacing_rate
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_set_pacing_rate_with_gain
    linkageType: ''
    returnType: void
    signature: void bbr_set_pacing_rate(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: bbr_enter_startup
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void bbr_enter_startup(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_check_startup_high_loss
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:442,1
    - Dst: bbr_enter_drain
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: bbr_check_startup_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_check_startup_high_loss
    - bbr_enter_drain
    linkageType: ''
    returnType: void
    signature: void bbr_check_startup_done(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_handle_restart_from_idle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: bbr_on_transmit
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_handle_restart_from_idle
    linkageType: ''
    returnType: void
    signature: "void bbr_on_transmit(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                           ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_model_and_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:456,1
    - Dst: bbr_update_control_parameters
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bbr
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: bbr_update_on_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_update_model_and_state
    - bbr_update_control_parameters
    linkageType: ''
    returnType: void
    signature: "void bbr_update_on_ack(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                             const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_latest_delivery_signals
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:464,1
    - Dst: bbr_update_congestion_signals
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:465,1
    - Dst: bbr_update_ack_aggregation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:466,1
    - Dst: bbr_check_full_bw_reached
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:467,1
    - Dst: bbr_check_startup_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:468,1
    - Dst: bbr_check_drain_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:469,1
    - Dst: bbr_update_probe_bw_cycle_phase
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:470,1
    - Dst: bbr_update_min_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:471,1
    - Dst: bbr_check_probe_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:472,1
    - Dst: bbr_advance_latest_delivery_signals
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:473,1
    - Dst: bbr_bound_bw_for_model
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - bbr
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 475
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 475
    functionName: bbr_update_model_and_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_update_congestion_signals
    - bbr_check_drain_done
    - bbr_update_probe_bw_cycle_phase
    - bbr_check_full_bw_reached
    - bbr_check_probe_rtt
    - bbr_update_ack_aggregation
    - bbr_advance_latest_delivery_signals
    - bbr_bound_bw_for_model
    - bbr_check_startup_done
    - bbr_update_latest_delivery_signals
    - bbr_update_min_rtt
    linkageType: ''
    returnType: void
    signature: "void bbr_update_model_and_state(ngtcp2_cc_bbr *bbr,\n                                       ngtcp2_conn_stat
      *cstat,\n                                       const ngtcp2_cc_ack *ack,\n
      \                                      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_set_pacing_rate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:480,1
    - Dst: bbr_set_send_quantum
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:481,1
    - Dst: bbr_set_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: bbr_update_control_parameters
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_set_pacing_rate
    - bbr_set_cwnd
    - bbr_set_send_quantum
    linkageType: ''
    returnType: void
    signature: "void bbr_update_control_parameters(ngtcp2_cc_bbr *bbr,\n                                          ngtcp2_conn_stat
      *cstat,\n                                          const ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_handle_lost_packet
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cc
    - cstat
    - pkt
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_pkt*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: bbr_update_on_loss
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_handle_lost_packet
    linkageType: ''
    returnType: void
    signature: "void bbr_update_on_loss(ngtcp2_cc_bbr *cc, ngtcp2_conn_stat *cstat,\n
      \                              const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:493,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: bbr_update_latest_delivery_signals
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: "void bbr_update_latest_delivery_signals(ngtcp2_cc_bbr *bbr,\n                                               ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: bbr_advance_latest_delivery_signals
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bbr_advance_latest_delivery_signals(ngtcp2_cc_bbr *bbr,\n                                                ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_max_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:514,1
    - Dst: bbr_adapt_lower_bounds_from_congestion
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: bbr_update_congestion_signals
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_update_max_bw
    - bbr_adapt_lower_bounds_from_congestion
    linkageType: ''
    returnType: void
    signature: "void bbr_update_congestion_signals(ngtcp2_cc_bbr *bbr,\n                                          ngtcp2_conn_stat
      *cstat,\n                                          const ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_probing_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:532,1
    - Dst: bbr_init_lower_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:537,1
    - Dst: bbr_loss_lower_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: bbr_adapt_lower_bounds_from_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_init_lower_bounds
    - bbr_loss_lower_bounds
    - bbr_is_probing_bw
    linkageType: ''
    returnType: void
    signature: "void bbr_adapt_lower_bounds_from_congestion(ngtcp2_cc_bbr *bbr,\n
      \                                                  ngtcp2_conn_stat *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: bbr_init_lower_bounds
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_init_lower_bounds(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:553,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: bbr_loss_lower_bounds
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: void bbr_loss_lower_bounds(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: bbr_bound_bw_for_model
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: void
    signature: void bbr_bound_bw_for_model(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:567,1
    - Dst: ngtcp2_window_filter_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:570,1
    - Dst: ngtcp2_window_filter_get_best
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 575
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 575
    functionName: bbr_update_max_bw
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_update_round
    - ngtcp2_window_filter_update
    - ngtcp2_window_filter_get_best
    linkageType: ''
    returnType: void
    signature: "void bbr_update_max_bw(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                             const ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bbr
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: bbr_update_round
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: void bbr_update_round(ngtcp2_cc_bbr *bbr, const ngtcp2_cc_ack *ack)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: bbr_start_round
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_start_round(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 610
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 610
    functionName: bbr_is_in_probe_bw_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bbr_is_in_probe_bw_state(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: bbr_is_probing_bw
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bbr_is_probing_bw(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:643,1
    - Dst: ngtcp2_window_filter_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:652,1
    - Dst: ngtcp2_window_filter_get_best
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - bbr
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 656
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 656
    functionName: bbr_update_ack_aggregation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_min_uint64
    - ngtcp2_window_filter_update
    - ngtcp2_window_filter_get_best
    linkageType: ''
    returnType: void
    signature: "void bbr_update_ack_aggregation(ngtcp2_cc_bbr *bbr,\n                                       ngtcp2_conn_stat
      *cstat,\n                                       const ngtcp2_cc_ack *ack,\n
      \                                      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: bbr_enter_drain
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void bbr_enter_drain(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_inflight
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:669,1
    - Dst: bbr_enter_probe_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: bbr_check_drain_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_inflight
    - bbr_enter_probe_bw
    linkageType: ''
    returnType: void
    signature: "void bbr_check_drain_done(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_start_probe_bw_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: bbr_enter_probe_bw
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_start_probe_bw_down
    linkageType: ''
    returnType: void
    signature: void bbr_enter_probe_bw(ngtcp2_cc_bbr *bbr, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:679,1
    - Dst: bbr_reset_congestion_signals
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:681,1
    - Dst: bbr_pick_probe_wait
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:685,1
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - bbr
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: bbr_start_probe_bw_down
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_log_info
    - bbr_pick_probe_wait
    - bbr_start_round
    - bbr_reset_congestion_signals
    linkageType: ''
    returnType: void
    signature: void bbr_start_probe_bw_down(ngtcp2_cc_bbr *bbr, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: bbr_start_probe_bw_cruise
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void bbr_start_probe_bw_cruise(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:707,1
    - Dst: bbr_reset_lower_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:710,1
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 721
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 721
    functionName: bbr_start_probe_bw_refill
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_reset_lower_bounds
    - ngtcp2_log_info
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: void bbr_start_probe_bw_refill(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:724,1
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:728,1
    - Dst: bbr_reset_full_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:729,1
    - Dst: bbr_raise_inflight_longterm_slope
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 737
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 737
    functionName: bbr_start_probe_bw_up
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_raise_inflight_longterm_slope
    - ngtcp2_log_info
    - bbr_reset_full_bw
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: void bbr_start_probe_bw_up(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_adapt_upper_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:747,1
    - Dst: bbr_is_in_probe_bw_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:749,1
    - Dst: bbr_is_time_to_probe_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:755,1
    - Dst: bbr_is_time_to_cruise
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:759,1
    - Dst: bbr_start_probe_bw_cruise
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:760,1
    - Dst: bbr_is_time_to_probe_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:765,1
    - Dst: bbr_start_probe_bw_up
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:773,1
    - Dst: bbr_is_time_to_go_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:778,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:779,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - bbr
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 786
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 786
    functionName: bbr_update_probe_bw_cycle_phase
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_is_time_to_cruise
    - bbr_is_time_to_probe_bw
    - bbr_start_probe_bw_cruise
    - bbr_is_in_probe_bw_state
    - bbr_start_probe_bw_down
    - bbr_is_time_to_go_down
    - bbr_start_probe_bw_up
    - bbr_adapt_upper_bounds
    linkageType: ''
    returnType: void
    signature: "void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,\n                                            ngtcp2_conn_stat
      *cstat,\n                                            const ngtcp2_cc_ack *ack,\n
      \                                           ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_inflight_with_headroom
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:792,1
    - Dst: bbr_inflight
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 801
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 801
    functionName: bbr_is_time_to_cruise
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_inflight_with_headroom
    - bbr_inflight
    linkageType: ''
    returnType: int
    signature: "int bbr_is_time_to_cruise(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_full_bw
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 812
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 812
    functionName: bbr_is_time_to_go_down
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_reset_full_bw
    linkageType: ''
    returnType: int
    signature: int bbr_is_time_to_go_down(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bbr
    - interval
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: bbr_has_elapsed_in_phase
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bbr_has_elapsed_in_phase(ngtcp2_cc_bbr *bbr,\n                                    ngtcp2_duration
      interval,\n                                    ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:829,1
    - Dst: min_pipe_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:832,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 839
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 839
    functionName: bbr_inflight_with_headroom
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - min_pipe_cwnd
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_inflight_with_headroom(ngtcp2_cc_bbr *bbr,\n                                           ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:846,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: bbr_raise_inflight_longterm_slope
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_size
    linkageType: ''
    returnType: void
    signature: "void bbr_raise_inflight_longterm_slope(ngtcp2_cc_bbr *bbr,\n                                              ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_raise_inflight_longterm_slope
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 872
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 872
    functionName: bbr_probe_inflight_longterm_upward
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_raise_inflight_longterm_slope
    linkageType: ''
    returnType: void
    signature: "void bbr_probe_inflight_longterm_upward(ngtcp2_cc_bbr *bbr,\n                                               ngtcp2_conn_stat
      *cstat,\n                                               const ngtcp2_cc_ack
      *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_in_probe_bw_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:883,1
    - Dst: bbr_advance_max_bw_filter
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:884,1
    - Dst: bbr_is_inflight_too_high
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:888,1
    - Dst: bbr_probe_inflight_longterm_upward
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:898,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 901
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 901
    functionName: bbr_adapt_upper_bounds
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_is_inflight_too_high
    - bbr_is_in_probe_bw_state
    - bbr_probe_inflight_longterm_upward
    - bbr_advance_max_bw_filter
    linkageType: ''
    returnType: void
    signature: "void bbr_adapt_upper_bounds(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                  const ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_has_elapsed_in_phase
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:905,1
    - Dst: bbr_is_reno_coexistence_probe_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:906,1
    - Dst: bbr_start_probe_bw_refill
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 913
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 913
    functionName: bbr_is_time_to_probe_bw
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_is_reno_coexistence_probe_time
    - bbr_start_probe_bw_refill
    - bbr_has_elapsed_in_phase
    linkageType: ''
    returnType: int
    signature: "int bbr_is_time_to_probe_bw(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cc_bbr*::rand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:918,1
    - Dst: ngtcp2_cc_bbr*::rand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 925
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 925
    functionName: bbr_pick_probe_wait
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_cc_bbr*::rand
    linkageType: ''
    returnType: void
    signature: void bbr_pick_probe_wait(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: bbr_is_reno_coexistence_probe_time
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: int
    signature: "int bbr_is_reno_coexistence_probe_time(ngtcp2_cc_bbr *bbr,\n                                              ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: bbr_target_inflight
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_target_inflight(ngtcp2_cc_bbr *bbr,\n                                    ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: bbr_is_inflight_too_high
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bbr_is_inflight_too_high(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:954,1
    - Dst: bbr_target_inflight
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:955,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 962
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 962
    functionName: bbr_handle_inflight_too_high
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_target_inflight
    - bbr_start_probe_bw_down
    linkageType: ''
    returnType: void
    signature: "void bbr_handle_inflight_too_high(ngtcp2_cc_bbr *bbr,\n                                         ngtcp2_conn_stat
      *cstat,\n                                         ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 970
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 970
    functionName: bbr_note_loss
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_note_loss(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_note_loss
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:976,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:984,1
    - Dst: bbr_is_inflight_too_high
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:988,1
    - Dst: bbr_inflight_longterm_from_lost_packet
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:989,1
    - Dst: bbr_handle_inflight_too_high
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - bbr
    - cstat
    - pkt
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_pkt*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 993
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 993
    functionName: bbr_handle_lost_packet
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - assert
    - bbr_is_inflight_too_high
    - bbr_handle_inflight_too_high
    - bbr_inflight_longterm_from_lost_packet
    - bbr_note_loss
    linkageType: ''
    returnType: void
    signature: "void bbr_handle_lost_packet(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                  const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1002,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - bbr
    - pkt
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_cc_pkt*
    constantsTouched: []
    func_position:
      end: 1020
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1020
    functionName: bbr_inflight_longterm_from_lost_packet
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_inflight_longterm_from_lost_packet(ngtcp2_cc_bbr *bbr,\n
      \                                      const ngtcp2_cc_pkt *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - bbr
    - ack
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1044
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1044
    functionName: bbr_update_min_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: "void bbr_update_min_rtt(ngtcp2_cc_bbr *bbr, const ngtcp2_cc_ack *ack,\n
      \                              ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_enter_probe_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1050,1
    - Dst: bbr_save_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1051,1
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1056,1
    - Dst: bbr_handle_probe_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1066
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1066
    functionName: bbr_check_probe_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_enter_probe_rtt
    - bbr_save_cwnd
    - bbr_handle_probe_rtt
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: "void bbr_check_probe_rtt(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                               ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: bbr_enter_probe_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void bbr_enter_probe_rtt(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_mark_connection_app_limited
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1078,1
    - Dst: bbr_probe_rtt_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1081,1
    - Dst: bbr_start_round
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1085,1
    - Dst: bbr_check_probe_rtt_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1099
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1099
    functionName: bbr_handle_probe_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_mark_connection_app_limited
    - bbr_check_probe_rtt_done
    - bbr_start_round
    - bbr_probe_rtt_cwnd
    linkageType: ''
    returnType: void
    signature: "void bbr_handle_probe_rtt(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_restore_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1107,1
    - Dst: bbr_exit_probe_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: bbr_check_probe_rtt_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_restore_cwnd
    - bbr_exit_probe_rtt
    linkageType: ''
    returnType: void
    signature: "void bbr_check_probe_rtt_done(ngtcp2_cc_bbr *bbr,\n                                     ngtcp2_conn_stat
      *cstat,\n                                     ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1121
    functionName: bbr_mark_connection_app_limited
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bbr_mark_connection_app_limited(ngtcp2_cc_bbr *bbr,\n                                            ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_lower_bounds
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1124,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1127,1
    - Dst: bbr_start_probe_bw_cruise
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1128,1
    - Dst: bbr_enter_startup
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: bbr_exit_probe_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_reset_lower_bounds
    - bbr_enter_startup
    - bbr_start_probe_bw_cruise
    - bbr_start_probe_bw_down
    linkageType: ''
    returnType: void
    signature: void bbr_exit_probe_rtt(ngtcp2_cc_bbr *bbr, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1138,1
    - Dst: bbr_is_in_probe_bw_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1143,1
    - Dst: bbr_set_pacing_rate_with_gain
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1144,1
    - Dst: bbr_check_probe_rtt_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1149
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1149
    functionName: bbr_handle_restart_from_idle
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - bbr_check_probe_rtt_done
    - ngtcp2_log_info
    - bbr_is_in_probe_bw_state
    - bbr_set_pacing_rate_with_gain
    linkageType: ''
    returnType: void
    signature: "void bbr_handle_restart_from_idle(ngtcp2_cc_bbr *bbr,\n                                         ngtcp2_conn_stat
      *cstat,\n                                         ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - gain_h
    argTypes:
    - ngtcp2_cc_bbr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1159
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1159
    functionName: bbr_bdp_multiple
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bbr_bdp_multiple(ngtcp2_cc_bbr *bbr, uint64_t gain_h)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_udp_payload_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1163
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1163
    functionName: min_pipe_cwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t min_pipe_cwnd(size_t max_udp_payload_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_offload_budget
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1168,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1170,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1172,1
    - Dst: min_pipe_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - bbr
    - cstat
    - inflight
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1179
    functionName: bbr_quantization_budget
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_update_offload_budget
    - min_pipe_cwnd
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_quantization_budget(ngtcp2_cc_bbr *bbr,\n                                        ngtcp2_conn_stat
      *cstat,\n                                        uint64_t inflight)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_quantization_budget
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bbr
    - cstat
    - gain_h
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1186
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1186
    functionName: bbr_inflight
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 2
    functionsReached:
    - bbr_quantization_budget
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_inflight(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                            uint64_t gain_h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_bdp_multiple
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1192,1
    - Dst: bbr_quantization_budget
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1194
    functionName: bbr_update_max_inflight
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_quantization_budget
    - bbr_bdp_multiple
    linkageType: ''
    returnType: void
    signature: "void bbr_update_max_inflight(ngtcp2_cc_bbr *bbr,\n                                    ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: bbr_update_offload_budget
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bbr_update_offload_budget(ngtcp2_cc_bbr *bbr,\n                                      ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - ngtcp2_cc_bbr*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1203
    functionName: bbr_advance_max_bw_filter
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbr_advance_max_bw_filter(ngtcp2_cc_bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1212
    functionName: bbr_save_cwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: void bbr_save_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: bbr_restore_cwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: void bbr_restore_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: bbr_probe_rtt_cwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bbr_probe_rtt_cwnd(ngtcp2_cc_bbr *bbr,\n                                   ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_probe_rtt_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1232,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: bbr_bound_cwnd_for_probe_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    - bbr_probe_rtt_cwnd
    linkageType: ''
    returnType: void
    signature: "void bbr_bound_cwnd_for_probe_rtt(ngtcp2_cc_bbr *bbr,\n                                         ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_max_inflight
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1242,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1246,1
    - Dst: min_pipe_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1252,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1253,1
    - Dst: bbr_bound_cwnd_for_probe_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1255,1
    - Dst: bbr_bound_cwnd_for_model
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1257
    functionName: bbr_set_cwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_uint64
    - bbr_bound_cwnd_for_model
    - bbr_update_max_inflight
    - bbr_bound_cwnd_for_probe_rtt
    - min_pipe_cwnd
    linkageType: ''
    returnType: void
    signature: "void bbr_set_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n                         const
      ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_in_probe_bw_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1264,1
    - Dst: bbr_inflight_with_headroom
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1269,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1272,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1273,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1276
    functionName: bbr_bound_cwnd_for_model
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_inflight_with_headroom
    - ngtcp2_min_uint64
    - bbr_is_in_probe_bw_state
    linkageType: ''
    returnType: void
    signature: "void bbr_bound_cwnd_for_model(ngtcp2_cc_bbr *bbr,\n                                     ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1283,1
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bbr
    - cstat
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1288
    functionName: bbr_set_send_quantum
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 1
    functionsReached:
    - ngtcp2_min_size
    - ngtcp2_max_size
    linkageType: ''
    returnType: void
    signature: void bbr_set_send_quantum(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cstat
    - sent_time
    argTypes:
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1294
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1294
    functionName: in_congestion_recovery
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int in_congestion_recovery(const ngtcp2_conn_stat *cstat,\n                                  ngtcp2_tstamp
      sent_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1300,1
    - Dst: bbr_restore_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1303,1
    - Dst: bbr_save_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1313,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - bbr
    - cstat
    - ack
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1321
    functionName: bbr_handle_recovery
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_save_cwnd
    - bbr_restore_cwnd
    - in_congestion_recovery
    linkageType: ''
    returnType: void
    signature: "void bbr_handle_recovery(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,\n
      \                               const ngtcp2_cc_ack *ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1325,1
    - Dst: bbr_update_on_loss
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cc
    - cstat
    - pkt
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_pkt*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1328
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1328
    functionName: bbr_cc_on_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_update_on_loss
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_on_pkt_lost(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                              const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1333,1
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - cc
    - cstat
    - sent_ts
    - bytes_lost
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1343
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1343
    functionName: bbr_cc_congestion_event
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - in_congestion_recovery
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_congestion_event(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                                   ngtcp2_tstamp sent_ts, uint64_t bytes_lost,\n
      \                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1348,1
    - Dst: bbr_restore_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1359
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1359
    functionName: bbr_cc_on_spurious_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_restore_cwnd
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_on_spurious_congestion(ngtcp2_cc *cc,\n                                          ngtcp2_conn_stat
      *cstat,\n                                          ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1364,1
    - Dst: bbr_save_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1372,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1374,1
    - Dst: min_pipe_cwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1376
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1376
    functionName: bbr_cc_on_persistent_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - bbr_save_cwnd
    - min_pipe_cwnd
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_on_persistent_congestion(ngtcp2_cc *cc,\n                                            ngtcp2_conn_stat
      *cstat,\n                                            ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1380,1
    - Dst: bbr_handle_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1382,1
    - Dst: bbr_update_on_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cc
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1384
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1384
    functionName: bbr_cc_on_ack_recv
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_handle_recovery
    - bbr_update_on_ack
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_on_ack_recv(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                              const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1388,1
    - Dst: bbr_on_transmit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cc
    - cstat
    - pkt
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_pkt*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1391
    functionName: bbr_cc_on_pkt_sent
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_on_transmit
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_on_pkt_sent(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                              const ngtcp2_cc_pkt *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1395,1
    - Dst: bbr_on_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1398
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1398
    functionName: bbr_cc_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_on_init
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void bbr_cc_reset(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n                         ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1404,1
    - Dst: bbr_on_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 7
    argNames:
    - bbr
    - log
    - cstat
    - rst
    - initial_ts
    - rand
    - rand_ctx
    argTypes:
    - ngtcp2_cc_bbr*
    - ngtcp2_log*
    - ngtcp2_conn_stat*
    - ngtcp2_rst*
    - ngtcp2_tstamp
    - ngtcp2_rand
    - ngtcp2_rand_ctx*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1421
    functionName: ngtcp2_cc_bbr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_on_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_bbr_init(ngtcp2_cc_bbr *bbr, ngtcp2_log *log,\n                        ngtcp2_conn_stat
      *cstat, ngtcp2_rst *rst,\n                        ngtcp2_tstamp initial_ts,
      ngtcp2_rand rand,\n                        const ngtcp2_rand_ctx *rand_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - addr
    - addrlen
    argTypes:
    - ngtcp2_addr*
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ngtcp2_addr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_addr
    signature: "ngtcp2_addr *ngtcp2_addr_init(ngtcp2_addr *dest, const ngtcp2_sockaddr
      *addr,\n                              ngtcp2_socklen addrlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_addr*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ngtcp2_addr_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_addr_copy(ngtcp2_addr *dest, const ngtcp2_addr *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - addr
    - addrlen
    argTypes:
    - ngtcp2_addr*
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ngtcp2_addr_copy_byte
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_addr_copy_byte(ngtcp2_addr *dest, const ngtcp2_sockaddr
      *addr,\n                           ngtcp2_socklen addrlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:64,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:70,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_sockaddr*
    - ngtcp2_sockaddr*
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: ngtcp2_sockaddr_eq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_unreachable
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ngtcp2_sockaddr_eq(const ngtcp2_sockaddr *a, const ngtcp2_sockaddr
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_sockaddr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_addr*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: ngtcp2_addr_eq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_sockaddr_eq
    linkageType: ''
    returnType: int
    signature: int ngtcp2_addr_eq(const ngtcp2_addr *a, const ngtcp2_addr *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:94,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:105,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - aa
    - bb
    argTypes:
    - ngtcp2_addr*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: ngtcp2_addr_cmp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_unreachable
    - memcmp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ngtcp2_addr_cmp(const ngtcp2_addr *aa, const ngtcp2_addr *bb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ngtcp2_addr_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_addr_empty(const ngtcp2_addr *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - base
    - len
    argTypes:
    - ngtcp2_vec*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ngtcp2_vec_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_vec
    signature: ngtcp2_vec *ngtcp2_vec_init(ngtcp2_vec *vec, const uint8_t *base, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - n
    argTypes:
    - ngtcp2_vec*
    - size_t
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ngtcp2_vec_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_vec_len(const ngtcp2_vec *vec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vec
    - n
    argTypes:
    - ngtcp2_vec*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: ngtcp2_vec_len_varint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ngtcp2_vec_len_varint(const ngtcp2_vec *vec, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:100,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:102,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - dst
    - pdstcnt
    - src
    - psrccnt
    - left
    - maxcnt
    argTypes:
    - ngtcp2_vec*
    - size_t*
    - ngtcp2_vec*
    - size_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 117
    functionName: ngtcp2_vec_split
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_vec_len
    - memmove
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_vec_split(ngtcp2_vec *dst, size_t *pdstcnt, ngtcp2_vec
      *src,\n                              size_t *psrccnt, size_t left, size_t maxcnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:125,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 6
    argNames:
    - dst
    - pdstcnt
    - src
    - psrccnt
    - left
    - maxcnt
    argTypes:
    - ngtcp2_vec*
    - size_t*
    - ngtcp2_vec*
    - size_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 188
    functionName: ngtcp2_vec_merge
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_vec_merge(ngtcp2_vec *dst, size_t *pdstcnt, ngtcp2_vec
      *src,\n                        size_t *psrccnt, size_t left, size_t maxcnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - dst
    - dstcnt
    - src
    - srccnt
    - left
    argTypes:
    - ngtcp2_vec*
    - size_t
    - ngtcp2_vec*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: ngtcp2_vec_copy_at_most
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_vec_copy_at_most(ngtcp2_vec *dst, size_t dstcnt,\n                               const
      ngtcp2_vec *src, size_t srccnt,\n                               size_t left)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - cnt
    argTypes:
    - ngtcp2_vec*
    - ngtcp2_vec*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: ngtcp2_vec_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_vec.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_vec_copy(ngtcp2_vec *dst, const ngtcp2_vec *src, size_t
      cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hostlong
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: ngtcp2_htonl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_net.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: STIN
    signature: STIN ngtcp2_htonl(uint32_t hostlong)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hostshort
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: ngtcp2_htons
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: STIN
    signature: STIN ngtcp2_htons(uint16_t hostshort)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - netlong
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: ngtcp2_ntohl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_net.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: STIN
    signature: STIN ngtcp2_ntohl(uint32_t netlong)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - netshort
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: ngtcp2_ntohs
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_net.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: STIN
    signature: STIN ngtcp2_ntohs(uint16_t netshort)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pg
    - begin
    - end
    - mem
    argTypes:
    - ngtcp2_rob_gap**
    - uint64_t
    - uint64_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: ngtcp2_rob_gap_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rob_gap_new(ngtcp2_rob_gap **pg, uint64_t begin, uint64_t
      end,\n                       const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - mem
    argTypes:
    - ngtcp2_rob_gap*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: ngtcp2_rob_gap_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rob_gap_del(ngtcp2_rob_gap *g, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pd
    - offset
    - chunk
    - mem
    argTypes:
    - ngtcp2_rob_data**
    - uint64_t
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: ngtcp2_rob_data_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rob_data_new(ngtcp2_rob_data **pd, uint64_t offset, size_t
      chunk,\n                        const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - mem
    argTypes:
    - ngtcp2_rob_data*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ngtcp2_rob_data_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rob_data_del(ngtcp2_rob_data *d, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:71,1
    - Dst: ngtcp2_rob_gap_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:74,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:79,1
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:84,1
    - Dst: ngtcp2_rob_gap_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:93,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - rob
    - chunk
    - mem
    argTypes:
    - ngtcp2_rob*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: ngtcp2_rob_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_gap_del
    - ngtcp2_ksl_free
    - ngtcp2_ksl_init
    - ngtcp2_rob_gap_new
    - ngtcp2_ksl_insert
    linkageType: ''
    returnType: int
    signature: int ngtcp2_rob_init(ngtcp2_rob *rob, size_t chunk, const ngtcp2_mem
      *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:106,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:106,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:107,1
    - Dst: ngtcp2_rob_data_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:108,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:108,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:111,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:111,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:112,1
    - Dst: ngtcp2_rob_gap_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:113,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:113,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:116,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - rob
    argTypes:
    - ngtcp2_rob*
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: ngtcp2_rob_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_data_del
    - ngtcp2_rob_gap_del
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_free
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rob_free(ngtcp2_rob *rob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:131,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:133,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:134,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:137,1
    - Dst: ngtcp2_rob_data_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:141,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:147,1
    - Dst: ngtcp2_rob_data_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:149,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:154,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - rob
    - offset
    - data
    - len
    argTypes:
    - ngtcp2_rob*
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 163
    functionName: rob_write_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    - ngtcp2_rob_data_new
    - ngtcp2_rob_data_del
    - ngtcp2_ksl_it_next
    - ngtcp2_min_uint64
    - ngtcp2_ksl_insert
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int rob_write_data(ngtcp2_rob *rob, uint64_t offset, const uint8_t
      *data,\n                          size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_lower_bound_search
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:176,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:179,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:180,1
    - Dst: ngtcp2_range_intersect
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:182,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:183,1
    - Dst: ngtcp2_range_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:187,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:188,1
    - Dst: ngtcp2_rob_gap_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:189,1
    - Dst: rob_write_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:191,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:192,1
    - Dst: ngtcp2_range_cut
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:200,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:202,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:203,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:206,1
    - Dst: ngtcp2_rob_gap_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:209,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:214,1
    - Dst: ngtcp2_rob_gap_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:216,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:220,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:221,1
    - Dst: rob_write_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:225,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:226,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - rob
    - offset
    - data
    - datalen
    argTypes:
    - ngtcp2_rob*
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 165
    functionDepth: 6
    functionLinenumber: 165
    functionLinenumberEnd: 235
    functionName: ngtcp2_rob_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_lower_bound_search
    - ngtcp2_rob_gap_del
    - ngtcp2_ksl_it_next
    - ngtcp2_range_cut
    - ngtcp2_range_len
    - ngtcp2_ksl_remove_hint
    - rob_write_data
    - ngtcp2_range_intersect
    - ngtcp2_rob_gap_new
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_insert
    - ngtcp2_ksl_it_get
    - ngtcp2_ksl_update_key
    - ngtcp2_range_eq
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rob_push(ngtcp2_rob *rob, uint64_t offset, const uint8_t
      *data,\n                    size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:242,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:244,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:245,1
    - Dst: ngtcp2_ksl_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:253,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:259,1
    - Dst: ngtcp2_rob_gap_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:260,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:263,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:265,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:266,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:271,1
    - Dst: ngtcp2_rob_data_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - rob
    - offset
    argTypes:
    - ngtcp2_rob*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: ngtcp2_rob_remove_prefix
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_data_del
    - ngtcp2_rob_gap_del
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - ngtcp2_ksl_update_key
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rob_remove_prefix(ngtcp2_rob *rob, uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:282,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:283,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:287,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:293,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:294,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:296,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:297,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:298,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - rob
    - pdest
    - offset
    argTypes:
    - ngtcp2_rob*
    - uint8_t**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 305
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 305
    functionName: ngtcp2_rob_data_at
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_begin
    - ngtcp2_min_uint64
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_rob_data_at(const ngtcp2_rob *rob, const uint8_t **pdest,\n
      \                         uint64_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:311,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:312,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:314,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:320,1
    - Dst: ngtcp2_rob_data_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rob
    - offset
    - len
    argTypes:
    - ngtcp2_rob*
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 322
    functionName: ngtcp2_rob_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_data_del
    - assert
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rob_pop(ngtcp2_rob *rob, uint64_t offset, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:325,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:328,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rob
    argTypes:
    - ngtcp2_rob*
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: ngtcp2_rob_first_gap_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_rob_first_gap_offset(const ngtcp2_rob *rob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rob
    argTypes:
    - ngtcp2_rob*
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: ngtcp2_rob_data_buffered
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: int
    signature: int ngtcp2_rob_data_buffered(const ngtcp2_rob *rob)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 8
    argNames:
    - strm
    - stream_id
    - flags
    - max_rx_offset
    - max_tx_offset
    - stream_user_data
    - frc_objalloc
    - mem
    argTypes:
    - ngtcp2_strm*
    - int64_t
    - uint32_t
    - uint64_t
    - uint64_t
    - void*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: ngtcp2_strm_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_strm_init(ngtcp2_strm *strm, int64_t stream_id, uint32_t
      flags,\n                      uint64_t max_rx_offset, uint64_t max_tx_offset,\n
      \                     void *stream_user_data, ngtcp2_objalloc *frc_objalloc,\n
      \                     const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:73,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:73,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:74,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:75,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:75,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:79,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:80,1
    - Dst: ngtcp2_rob_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:84,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:85,1
    - Dst: ngtcp2_gaptr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:89,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: ngtcp2_strm_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_free
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_free
    - ngtcp2_mem_free
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - ngtcp2_rob_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_strm_free(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:96,1
    - Dst: ngtcp2_rob_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:102,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: strm_rob_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - ngtcp2_rob_init
    - ngtcp2_mem_free
    linkageType: ''
    returnType: int
    signature: int strm_rob_init(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rob_first_gap_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ngtcp2_strm_rx_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_first_gap_offset
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_strm_rx_offset(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rob
    argTypes:
    - ngtcp2_rob*
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: strm_rob_heavily_fragmented
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: int
    signature: int strm_rob_heavily_fragmented(const ngtcp2_rob *rob)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_rob_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:131,1
    - Dst: ngtcp2_rob_remove_prefix
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:137,1
    - Dst: strm_rob_heavily_fragmented
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:141,1
    - Dst: ngtcp2_rob_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - strm
    - data
    - datalen
    - offset
    argTypes:
    - ngtcp2_strm*
    - uint8_t*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: ngtcp2_strm_recv_reordering
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_push
    - strm_rob_init
    - strm_rob_heavily_fragmented
    - ngtcp2_rob_remove_prefix
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_strm_recv_reordering(ngtcp2_strm *strm, const uint8_t *data,\n
      \                               size_t datalen, uint64_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rob_remove_prefix
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - strm
    - offset
    argTypes:
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: ngtcp2_strm_update_rx_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rob_remove_prefix
    linkageType: ''
    returnType: void
    signature: void ngtcp2_strm_update_rx_offset(ngtcp2_strm *strm, uint64_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:162,1
    - Dst: ngtcp2_rob_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:164,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: ngtcp2_strm_discard_reordered_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    - ngtcp2_rob_free
    - ngtcp2_strm_rx_offset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_strm_discard_reordered_data(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - flags
    argTypes:
    - ngtcp2_strm*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: ngtcp2_strm_shutdown
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_strm_shutdown(ngtcp2_strm *strm, uint32_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:174,1
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: strm_streamfrq_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - ngtcp2_ksl_init
    linkageType: ''
    returnType: int
    signature: int strm_streamfrq_init(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:190,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:192,1
    - Dst: strm_streamfrq_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:195,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - strm
    - frc
    argTypes:
    - ngtcp2_strm*
    - ngtcp2_frame_chain*
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: ngtcp2_strm_streamfrq_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - strm_streamfrq_init
    - assert
    - ngtcp2_ksl_insert
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_streamfrq_push(ngtcp2_strm *strm, ngtcp2_frame_chain
      *frc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:219,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:220,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:220,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:222,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:222,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:223,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:226,1
    - Dst: ngtcp2_strm_get_unacked_range_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:232,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:250,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:251,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:251,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:255,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:270,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:275,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:297,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:299,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:311,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:314,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:319,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:322,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:333,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:335,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:335,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:336,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:337,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:346,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:348,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:355,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 109
    argCount: 2
    argNames:
    - strm
    - pfrc
    argTypes:
    - ngtcp2_strm*
    - ngtcp2_frame_chain**
    constantsTouched: []
    func_position:
      end: 368
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 368
    functionName: strm_streamfrq_unacked_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_frame_chain_objalloc_del
    - memmove
    - ngtcp2_ksl_len
    - ngtcp2_strm_get_unacked_range_after
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_err_is_fatal
    - ngtcp2_vec_len
    - ngtcp2_ksl_insert
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - memcpy
    - ngtcp2_frame_chain_stream_datacnt_objalloc_new
    linkageType: ''
    returnType: int
    signature: "int strm_streamfrq_unacked_pop(ngtcp2_strm *strm,\n                                      ngtcp2_frame_chain
      **pfrc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:382,1
    - Dst: strm_streamfrq_unacked_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:387,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:398,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:402,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:404,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:404,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:405,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:415,1
    - Dst: ngtcp2_vec_split
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:419,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:421,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:422,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:424,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:427,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:427,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:428,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:439,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:441,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:443,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:443,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:444,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:445,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:450,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:453,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:453,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:454,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:462,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:464,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:473,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:476,1
    - Dst: ngtcp2_strm_streamfrq_unacked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:477,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:479,1
    - Dst: strm_streamfrq_unacked_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:483,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:485,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:485,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:486,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:497,1
    - Dst: ngtcp2_vec_merge
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:503,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:506,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:508,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:508,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:509,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:510,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:523,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:532,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:534,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:535,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:539,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:542,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:543,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:550,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:552,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:554,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:557,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:558,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:576,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:578,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:581,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:588,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:590,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 161
    argCount: 3
    argNames:
    - strm
    - pfrc
    - left
    argTypes:
    - ngtcp2_strm*
    - ngtcp2_frame_chain**
    - size_t
    constantsTouched: []
    func_position:
      end: 595
      start: 370
    functionDepth: 6
    functionLinenumber: 370
    functionLinenumberEnd: 595
    functionName: ngtcp2_strm_streamfrq_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_vec_merge
    - assert
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_ksl_len
    - strm_streamfrq_unacked_pop
    - ngtcp2_strm_streamfrq_unacked_offset
    - ngtcp2_vec_copy
    - ngtcp2_vec_len
    - ngtcp2_ksl_insert
    - ngtcp2_vec_split
    - ngtcp2_err_is_fatal
    - ngtcp2_frame_chain_stream_datacnt_objalloc_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain
      **pfrc,\n                              size_t left)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:604,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:605,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:605,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:607,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:607,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:608,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:609,1
    - Dst: ngtcp2_strm_get_unacked_range_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:612,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 631
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 631
    functionName: ngtcp2_strm_streamfrq_unacked_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_len
    - ngtcp2_strm_get_unacked_range_after
    - ngtcp2_ksl_begin
    - ngtcp2_vec_len
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_strm_streamfrq_unacked_offset(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:636,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:637,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:637,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:639,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: ngtcp2_strm_streamfrq_top
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_get
    - assert
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: ngtcp2_frame_chain
    signature: ngtcp2_frame_chain *ngtcp2_strm_streamfrq_top(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: ngtcp2_strm_streamfrq_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_streamfrq_empty(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:656,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:656,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:657,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:658,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:659,1
    - Dst: ngtcp2_ksl_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 663
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 663
    functionName: ngtcp2_strm_streamfrq_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_clear
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_strm_streamfrq_clear(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: ngtcp2_strm_is_tx_queued
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_is_tx_queued(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_first_gap_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: ngtcp2_strm_is_all_tx_data_acked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_first_gap_offset
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_is_all_tx_data_acked(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_all_tx_data_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 681
    functionName: ngtcp2_strm_is_all_tx_data_fin_acked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_is_all_tx_data_acked
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_is_all_tx_data_fin_acked(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_get_first_gap_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - offset
    argTypes:
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 694
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 694
    functionName: ngtcp2_strm_get_unacked_range_after
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 2
    functionsReached:
    - ngtcp2_gaptr_get_first_gap_after
    linkageType: ''
    returnType: ngtcp2_range
    signature: "ngtcp2_range ngtcp2_strm_get_unacked_range_after(const ngtcp2_strm
      *strm,\n                                                 uint64_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_first_gap_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: ngtcp2_strm_get_acked_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_first_gap_offset
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_strm_get_acked_offset(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:706,1
    - Dst: ngtcp2_gaptr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 717
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 717
    functionName: strm_acked_offset_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_init
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: int strm_acked_offset_init(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_acked_offset_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:728,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:734,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - strm
    - offset
    - len
    argTypes:
    - ngtcp2_strm*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 741
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 741
    functionName: ngtcp2_strm_ack_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - strm_acked_offset_init
    - ngtcp2_gaptr_push
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_ack_data(ngtcp2_strm *strm, uint64_t offset, uint64_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - app_error_code
    argTypes:
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 753
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 753
    functionName: ngtcp2_strm_set_app_error_code
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_strm_set_app_error_code(ngtcp2_strm *strm,\n                                    uint64_t
      app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_all_tx_data_fin_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 757
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 757
    functionName: ngtcp2_strm_require_retransmit_reset_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_is_all_tx_data_fin_acked
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_require_retransmit_reset_stream(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: ngtcp2_strm_require_retransmit_stop_sending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_rx_offset
    linkageType: ''
    returnType: int
    signature: int ngtcp2_strm_require_retransmit_stop_sending(const ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - fr
    argTypes:
    - ngtcp2_strm*
    - ngtcp2_max_stream_data*
    constantsTouched: []
    func_position:
      end: 769
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 769
    functionName: ngtcp2_strm_require_retransmit_max_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_strm_require_retransmit_max_stream_data(\n  const ngtcp2_strm
      *strm, const ngtcp2_max_stream_data *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - fr
    argTypes:
    - ngtcp2_strm*
    - ngtcp2_stream_data_blocked*
    constantsTouched: []
    func_position:
      end: 775
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 775
    functionName: ngtcp2_strm_require_retransmit_stream_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_strm_require_retransmit_stream_data_blocked(\n  const ngtcp2_strm
      *strm, const ngtcp2_stream_data_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opl
    argTypes:
    - ngtcp2_opl*
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ngtcp2_opl_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_opl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_opl_init(ngtcp2_opl *opl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opl
    - ent
    argTypes:
    - ngtcp2_opl*
    - ngtcp2_opl_entry*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ngtcp2_opl_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_opl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_opl_push(ngtcp2_opl *opl, ngtcp2_opl_entry *ent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - opl
    argTypes:
    - ngtcp2_opl*
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: ngtcp2_opl_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_opl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_opl_entry
    signature: ngtcp2_opl_entry *ngtcp2_opl_pop(ngtcp2_opl *opl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opl
    argTypes:
    - ngtcp2_opl*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ngtcp2_opl_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_opl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_opl_clear(ngtcp2_opl *opl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - qlog
    - write
    - ts
    - user_data
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_qlog_write
    - ngtcp2_tstamp
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ngtcp2_qlog_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_init(ngtcp2_qlog *qlog, ngtcp2_qlog_write write,\n
      \                     ngtcp2_tstamp ts, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - data
    - datalen
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: write_string_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_string_impl(uint8_t *p, const uint8_t *data,\n                                  size_t
      datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p
    - data
    - datalen
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: write_hex
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_hex(uint8_t *p, const uint8_t *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - cid
    argTypes:
    - uint8_t*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: write_cid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_hex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_cid(uint8_t *p, const ngtcp2_cid *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: write_number
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_number(uint8_t *p, uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ts
    argTypes:
    - uint8_t*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: write_tstamp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_tstamp(uint8_t *p, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - duration
    argTypes:
    - uint8_t*
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: write_duration
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_duration(uint8_t *p, ngtcp2_duration duration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:104,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - b
    argTypes:
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: write_bool
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_bool(uint8_t *p, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:111,1
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - value
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_vec*
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: write_pair_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_string_impl
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_impl(uint8_t *p, const uint8_t *name, size_t namelen,\n
      \                               const ngtcp2_vec *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:122,1
    - Dst: write_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - p
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: write_pair_hex_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_string_impl
    - write_hex
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_hex_impl(uint8_t *p, const uint8_t *name,\n                                    size_t
      namelen, const uint8_t *value,\n                                    size_t valuelen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:133,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - value
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: write_pair_number_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_number
    - write_string_impl
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_number_impl(uint8_t *p, const uint8_t *name,\n
      \                                      size_t namelen, uint64_t value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:145,1
    - Dst: write_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - duration
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: write_pair_duration_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_string_impl
    - write_duration
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_duration_impl(uint8_t *p, const uint8_t *name,\n
      \                                        size_t namelen,\n                                         ngtcp2_duration
      duration)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:156,1
    - Dst: write_tstamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - ts
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: write_pair_tstamp_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_tstamp
    - write_string_impl
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_tstamp_impl(uint8_t *p, const uint8_t *name,\n
      \                                      size_t namelen, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:167,1
    - Dst: write_bool
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: write_pair_bool_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_bool
    - write_string_impl
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_bool_impl(uint8_t *p, const uint8_t *name,\n                                     size_t
      namelen, int b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_string_impl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:178,1
    - Dst: write_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - name
    - namelen
    - cid
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: write_pair_cid_impl
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_string_impl
    - write_cid
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_pair_cid_impl(uint8_t *p, const uint8_t *name,\n                                    size_t
      namelen, const ngtcp2_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:190,1
    - Dst: write_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - odcid
    argTypes:
    - uint8_t*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: write_common_fields
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_cid
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_common_fields(uint8_t *p, const ngtcp2_cid *odcid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:199,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:202,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:204,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:206,1
    - Dst: write_common_fields
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - server
    - odcid
    argTypes:
    - uint8_t*
    - int
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: write_trace
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_common_fields
    - write_string
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_trace(uint8_t *p, int server, const ngtcp2_cid *odcid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:220,1
    - Dst: write_trace
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:222,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:223,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - qlog
    - odcid
    - server
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_cid*
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: ngtcp2_qlog_start
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_trace
    - ngtcp2_qlog*::write
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_start(ngtcp2_qlog *qlog, const ngtcp2_cid *odcid,
      int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - ngtcp2_qlog*
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: ngtcp2_qlog_end
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_qlog*::write
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_end(ngtcp2_qlog *qlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - hd
    argTypes:
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: qlog_pkt_type
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_vec
    signature: ngtcp2_vec *qlog_pkt_type(const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_pair
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:285,1
    - Dst: qlog_pkt_type
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:285,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:287,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:289,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - hd
    argTypes:
    - uint8_t*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: write_pkt_hd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - qlog_pkt_type
    - write_pair
    - write_pair_hex
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_pkt_hd(uint8_t *p, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_padding*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: write_padding_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_padding_frame(uint8_t *p, const ngtcp2_padding *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_ping*
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: write_ping_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_ping_frame(uint8_t *p, const ngtcp2_ping *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:335,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:336,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:337,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:343,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:346,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:356,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:359,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:368,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:370,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_ack*
    constantsTouched: []
    func_position:
      end: 378
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 378
    functionName: write_ack_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_number
    - write_verbatim
    - write_pair_duration
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_ack_frame(uint8_t *p, const ngtcp2_ack *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:387,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:388,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:390,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_reset_stream*
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: write_reset_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_reset_stream_frame(uint8_t *p,\n                                         const
      ngtcp2_reset_stream *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:405,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:406,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_stop_sending*
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: write_stop_sending_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_stop_sending_frame(uint8_t *p,\n                                         const
      ngtcp2_stop_sending *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:420,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:421,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:423,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: write_crypto_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - ngtcp2_vec_len
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_crypto_frame(uint8_t *p, const ngtcp2_stream *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:435,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:436,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:437,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_new_token*
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: write_new_token_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_hex
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_new_token_frame(uint8_t *p, const ngtcp2_new_token *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:451,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:452,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:454,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:456,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:456,1
    - Dst: write_pair_bool
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 464
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 464
    functionName: write_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - ngtcp2_vec_len
    - write_pair_bool
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_stream_frame(uint8_t *p, const ngtcp2_stream *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:472,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_max_data*
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: write_max_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_max_data_frame(uint8_t *p, const ngtcp2_max_data *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:486,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:487,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_max_stream_data*
    constantsTouched: []
    func_position:
      end: 493
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 493
    functionName: write_max_stream_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_max_stream_data_frame(uint8_t *p,\n                                            const
      ngtcp2_max_stream_data *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:502,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:504,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:506,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_max_streams*
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: write_max_streams_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_string
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_max_streams_frame(uint8_t *p,\n                                        const
      ngtcp2_max_streams *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:522,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_data_blocked*
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: write_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_data_blocked_frame(uint8_t *p,\n                                         const
      ngtcp2_data_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:537,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:538,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_stream_data_blocked*
    constantsTouched: []
    func_position:
      end: 544
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 544
    functionName: write_stream_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nwrite_stream_data_blocked_frame(uint8_t *p,\n                                const
      ngtcp2_stream_data_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:553,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:555,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:557,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_streams_blocked*
    constantsTouched: []
    func_position:
      end: 564
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 564
    functionName: write_streams_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_string
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_streams_blocked_frame(uint8_t *p,\n                                            const
      ngtcp2_streams_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:573,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:574,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:576,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:578,1
    - Dst: write_pair_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:580,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:581,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_new_connection_id*
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: write_new_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_pair_cid
    - write_verbatim
    - write_pair_hex
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      write_new_connection_id_frame(uint8_t *p, const ngtcp2_new_connection_id *fr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:598,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_retire_connection_id*
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: write_retire_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nwrite_retire_connection_id_frame(uint8_t *p,\n                                 const
      ngtcp2_retire_connection_id *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:612,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_path_challenge*
    constantsTouched: []
    func_position:
      end: 617
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 617
    functionName: write_path_challenge_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_hex
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_path_challenge_frame(uint8_t *p,\n                                           const
      ngtcp2_path_challenge *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:626,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_path_response*
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: write_path_response_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_pair_hex
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_path_response_frame(uint8_t *p,\n                                          const
      ngtcp2_path_response *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:641,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:643,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:645,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:648,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_connection_close*
    constantsTouched: []
    func_position:
      end: 656
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 656
    functionName: write_connection_close_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - write_string
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      write_connection_close_frame(uint8_t *p, const ngtcp2_connection_close *fr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_handshake_done*
    constantsTouched: []
    func_position:
      end: 668
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 668
    functionName: write_handshake_done_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_handshake_done_frame(uint8_t *p,\n                                           const
      ngtcp2_handshake_done *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:676,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:677,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - fr
    argTypes:
    - uint8_t*
    - ngtcp2_datagram*
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: write_datagram_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - ngtcp2_vec_len
    - write_pair_number
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_datagram_frame(uint8_t *p, const ngtcp2_datagram *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_pair_tstamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qlog
    - p
    argTypes:
    - ngtcp2_qlog*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: qlog_write_time
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_pair_tstamp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *qlog_write_time(ngtcp2_qlog *qlog, uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:694,1
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:699,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:700,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:702,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:704,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - qlog
    - sent
    argTypes:
    - ngtcp2_qlog*
    - int
    constantsTouched: []
    func_position:
      end: 708
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 708
    functionName: qlog_pkt_write_start
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - qlog_write_time
    - ngtcp2_buf_reset
    - write_string
    linkageType: ''
    returnType: void
    signature: void qlog_pkt_write_start(ngtcp2_qlog *qlog, int sent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:726,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:731,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:731,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:738,1
    - Dst: write_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:739,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:740,1
    - Dst: write_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:741,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:742,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:746,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - qlog
    - hd
    - pktlen
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_hd*
    - size_t
    constantsTouched: []
    func_position:
      end: 748
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 748
    functionName: qlog_pkt_write_end
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_left
    - assert
    - write_pkt_hd
    - ngtcp2_qlog*::write
    - ngtcp2_buf_len
    - write_verbatim
    - write_number
    linkageType: ''
    returnType: void
    signature: "void qlog_pkt_write_end(ngtcp2_qlog *qlog, const ngtcp2_pkt_hd *hd,\n
      \                              size_t pktlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:759,1
    - Dst: write_padding_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:762,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:765,1
    - Dst: write_ping_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:768,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:772,1
    - Dst: write_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:780,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:783,1
    - Dst: write_reset_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:787,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:790,1
    - Dst: write_stop_sending_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:794,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:797,1
    - Dst: write_crypto_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:800,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:803,1
    - Dst: write_new_token_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:807,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:810,1
    - Dst: write_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:813,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:816,1
    - Dst: write_max_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:819,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:822,1
    - Dst: write_max_stream_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:826,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:830,1
    - Dst: write_max_streams_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:834,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:837,1
    - Dst: write_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:841,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:844,1
    - Dst: write_stream_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:848,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:852,1
    - Dst: write_streams_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:856,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:859,1
    - Dst: write_new_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:863,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:866,1
    - Dst: write_retire_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:870,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:873,1
    - Dst: write_path_challenge_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:877,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:880,1
    - Dst: write_path_response_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:884,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:888,1
    - Dst: write_connection_close_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:892,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:895,1
    - Dst: write_handshake_done_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:899,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:903,1
    - Dst: write_datagram_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:906,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:909,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 141
    argCount: 2
    argNames:
    - qlog
    - fr
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 915
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 915
    functionName: ngtcp2_qlog_write_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_max_streams_frame
    - ngtcp2_buf_left
    - write_reset_stream_frame
    - write_new_connection_id_frame
    - write_retire_connection_id_frame
    - write_datagram_frame
    - write_padding_frame
    - write_connection_close_frame
    - write_handshake_done_frame
    - write_stream_frame
    - write_data_blocked_frame
    - write_streams_blocked_frame
    - write_max_stream_data_frame
    - write_stop_sending_frame
    - write_crypto_frame
    - write_stream_data_blocked_frame
    - write_new_token_frame
    - write_max_data_frame
    - write_ack_frame
    - write_ping_frame
    - ngtcp2_unreachable
    - write_path_response_frame
    - write_path_challenge_frame
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_write_frame(ngtcp2_qlog *qlog, const ngtcp2_frame
      *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_pkt_write_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - ngtcp2_qlog*
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: ngtcp2_qlog_pkt_received_start
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - qlog_pkt_write_start
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_pkt_received_start(ngtcp2_qlog *qlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_pkt_write_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qlog
    - hd
    - pktlen
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_hd*
    - size_t
    constantsTouched: []
    func_position:
      end: 924
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 924
    functionName: ngtcp2_qlog_pkt_received_end
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - qlog_pkt_write_end
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_pkt_received_end(ngtcp2_qlog *qlog, const ngtcp2_pkt_hd
      *hd,\n                                  size_t pktlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_pkt_write_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - ngtcp2_qlog*
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: ngtcp2_qlog_pkt_sent_start
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - qlog_pkt_write_start
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_pkt_sent_start(ngtcp2_qlog *qlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_pkt_write_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qlog
    - hd
    - pktlen
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_hd*
    - size_t
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: ngtcp2_qlog_pkt_sent_end
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - qlog_pkt_write_end
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_pkt_sent_end(ngtcp2_qlog *qlog, const ngtcp2_pkt_hd
      *hd,\n                              size_t pktlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:950,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:951,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:955,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:957,1
    - Dst: write_pair_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:961,1
    - Dst: write_pair_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:964,1
    - Dst: write_pair_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:969,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:973,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:974,1
    - Dst: write_pair_bool
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:979,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:982,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:985,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:987,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:989,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:991,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:994,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:996,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:999,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1002,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1005,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1008,1
    - Dst: write_string
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1013,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1020,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1023,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1023,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1030,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1033,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1033,1
    - Dst: write_pair_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1037,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1038,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1039,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1045,1
    - Dst: write_pair_bool
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1048,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1049,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1051,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 85
    argCount: 4
    argNames:
    - qlog
    - params
    - server
    - side
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_transport_params*
    - int
    - ngtcp2_qlog_side
    constantsTouched: []
    func_position:
      end: 1053
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 1053
    functionName: ngtcp2_qlog_parameters_set_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_pair_duration
    - ngtcp2_qlog*::write
    - write_pair_hex
    - write_string
    - write_verbatim
    - write_pair_number
    - ngtcp2_ntohs
    - write_pair_cid
    - qlog_write_time
    - write_pair_bool
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_parameters_set_transport_params(\n  ngtcp2_qlog *qlog,
      const ngtcp2_transport_params *params, int server,\n  ngtcp2_qlog_side side)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1066,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1067,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1070,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1073,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1075,1
    - Dst: write_pair_duration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1077,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1079,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1081,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1083,1
    - Dst: write_pair_number
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1086,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1089,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - qlog
    - cstat
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1093
    functionName: ngtcp2_qlog_metrics_updated
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_qlog*::write
    - write_verbatim
    - write_pair_number
    - qlog_write_time
    - write_pair_duration
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_metrics_updated(ngtcp2_qlog *qlog,\n                                 const
      ngtcp2_conn_stat *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1106,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1107,1
    - Dst: write_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1114,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1115,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - qlog
    - ent
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_rtb_entry*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1119
    functionName: ngtcp2_qlog_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_verbatim
    - qlog_write_time
    - ngtcp2_qlog*::write
    - write_pkt_hd
    linkageType: ''
    returnType: void
    signature: void ngtcp2_qlog_pkt_lost(ngtcp2_qlog *qlog, ngtcp2_rtb_entry *ent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1130,1
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1134,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1135,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1138,1
    - Dst: write_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1144,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1145,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1146,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1147,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1149,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - qlog
    - hd
    - retry
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_hd*
    - ngtcp2_pkt_retry*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1151
    functionName: ngtcp2_qlog_retry_pkt_received
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_left
    - write_pkt_hd
    - ngtcp2_buf_init
    - ngtcp2_qlog*::write
    - ngtcp2_buf_len
    - write_pair_hex
    - write_verbatim
    - qlog_write_time
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_retry_pkt_received(ngtcp2_qlog *qlog, const ngtcp2_pkt_hd
      *hd,\n                                    const ngtcp2_pkt_retry *retry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1167,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1168,1
    - Dst: write_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1170,1
    - Dst: write_pair_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1172,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1174,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - qlog
    - sr
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_stateless_reset*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1178
    functionName: ngtcp2_qlog_stateless_reset_pkt_received
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - write_pkt_hd
    - ngtcp2_qlog*::write
    - write_pair_hex
    - write_verbatim
    - qlog_write_time
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_stateless_reset_pkt_received(\n  ngtcp2_qlog *qlog,
      const ngtcp2_pkt_stateless_reset *sr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1193,1
    - Dst: qlog_write_time
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1197,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1198,1
    - Dst: write_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1200,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1201,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1204,1
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1209,1
    - Dst: write_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1210,1
    - Dst: ngtcp2_htonl
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1214,1
    - Dst: write_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1215,1
    - Dst: write_verbatim
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1219,1
    - Dst: ngtcp2_qlog*::write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1221,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - qlog
    - hd
    - sv
    - nsv
    argTypes:
    - ngtcp2_qlog*
    - ngtcp2_pkt_hd*
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1223
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1223
    functionName: ngtcp2_qlog_version_negotiation_pkt_received
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_left
    - ngtcp2_htonl
    - write_pkt_hd
    - ngtcp2_buf_init
    - write_hex
    - ngtcp2_qlog*::write
    - ngtcp2_buf_len
    - write_verbatim
    - qlog_write_time
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_qlog_version_negotiation_pkt_received(ngtcp2_qlog *qlog,\n
      \                                                 const ngtcp2_pkt_hd *hd,\n
      \                                                 const uint32_t *sv,\n                                                  size_t
      nsv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_static_ringbuf_dcid_unused_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:33,1
    - Dst: ngtcp2_static_ringbuf_dcid_bound_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:34,1
    - Dst: ngtcp2_static_ringbuf_dcid_retired_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ngtcp2_dcidtr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_static_ringbuf_dcid_bound_init
    - ngtcp2_static_ringbuf_dcid_unused_init
    - ngtcp2_static_ringbuf_dcid_retired_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcidtr_init(ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_arraylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dtr
    - seq
    argTypes:
    - ngtcp2_dcidtr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ngtcp2_dcidtr_track_retired_seq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_arraylen
    linkageType: ''
    returnType: int
    signature: int ngtcp2_dcidtr_track_retired_seq(ngtcp2_dcidtr *dtr, uint64_t seq)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dtr
    - seq
    argTypes:
    - ngtcp2_dcidtr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: ngtcp2_dcidtr_untrack_retired_seq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcidtr_untrack_retired_seq(ngtcp2_dcidtr *dtr, uint64_t
      seq)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dtr
    - seq
    argTypes:
    - ngtcp2_dcidtr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: ngtcp2_dcidtr_check_retired_seq_tracked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_check_retired_seq_tracked(const ngtcp2_dcidtr *dtr,\n
      \                                           uint64_t seq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcidtr_check_retired_seq_tracked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:86,1
    - Dst: ngtcp2_dcidtr_track_retired_seq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:90,1
    - Dst: on_retire
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - dtr
    - dcid
    - on_retire
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid*
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: dcidtr_on_retire
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - on_retire
    - ngtcp2_dcidtr_track_retired_seq
    - ngtcp2_dcidtr_check_retired_seq_tracked
    linkageType: ''
    returnType: int
    signature: "int dcidtr_on_retire(ngtcp2_dcidtr *dtr, const ngtcp2_dcid *dcid,\n
      \                           ngtcp2_dcidtr_cb on_retire, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:109,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dtr
    - path
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: ngtcp2_dcidtr_find_bound_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_path_eq
    linkageType: ''
    returnType: ngtcp2_dcid
    signature: "ngtcp2_dcid *ngtcp2_dcidtr_find_bound_dcid(const ngtcp2_dcidtr *dtr,\n
      \                                          const ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_push_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:121,1
    - Dst: ngtcp2_cid_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:124,1
    - Dst: ngtcp2_dcid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:125,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dtr
    - path
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: ngtcp2_dcidtr_bind_zerolen_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cid_zero
    - ngtcp2_ringbuf_push_back
    - ngtcp2_dcid_set_path
    - ngtcp2_dcid_init
    linkageType: ''
    returnType: ngtcp2_dcid
    signature: "ngtcp2_dcid *ngtcp2_dcidtr_bind_zerolen_dcid(ngtcp2_dcidtr *dtr,\n
      \                                            const ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_full
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:138,1
    - Dst: dcidtr_on_retire
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:139,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:139,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:146,1
    - Dst: ngtcp2_ringbuf_push_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:147,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:149,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:151,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - dtr
    - pdest
    - path
    - ts
    - on_retire
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid**
    - ngtcp2_path*
    - ngtcp2_tstamp
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: ngtcp2_dcidtr_bind_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_push_back
    - dcidtr_on_retire
    - ngtcp2_dcid_set_path
    - ngtcp2_ringbuf_full
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_bind_dcid(ngtcp2_dcidtr *dtr, ngtcp2_dcid **pdest,\n
      \                           const ngtcp2_path *path, ngtcp2_tstamp ts,\n                            ngtcp2_dcidtr_cb
      on_retire, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:168,1
    - Dst: ngtcp2_dcid_verify_stateless_reset_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dtr
    - path
    - token
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_path*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: ngtcp2_dcidtr_verify_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_verify_stateless_reset_token
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_verify_stateless_reset(const ngtcp2_dcidtr *dtr,\n
      \                                        const ngtcp2_path *path,\n                                         const
      uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:185,1
    - Dst: ngtcp2_dcid_verify_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:186,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - rb
    - pfound
    - seq
    - cid
    - token
    argTypes:
    - ngtcp2_ringbuf*
    - int*
    - uint64_t
    - ngtcp2_cid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: verify_token_uniqueness
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcid_verify_uniqueness
    - ngtcp2_ringbuf_get
    - ngtcp2_cid_eq
    linkageType: ''
    returnType: int
    signature: "int verify_token_uniqueness(const ngtcp2_ringbuf *rb, int *pfound,\n
      \                                  uint64_t seq, const ngtcp2_cid *cid,\n                                   const
      uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_token_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:204,1
    - Dst: verify_token_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dtr
    - pfound
    - seq
    - cid
    - token
    argTypes:
    - ngtcp2_dcidtr*
    - int*
    - uint64_t
    - ngtcp2_cid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: ngtcp2_dcidtr_verify_token_uniqueness
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - verify_token_uniqueness
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_verify_token_uniqueness(const ngtcp2_dcidtr *dtr,
      int *pfound,\n                                          uint64_t seq, const
      ngtcp2_cid *cid,\n                                          const uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:217,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:221,1
    - Dst: ngtcp2_ringbuf_pop_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:222,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:226,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:226,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:227,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:229,1
    - Dst: ngtcp2_ringbuf_pop_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - rb
    - at
    argTypes:
    - ngtcp2_ringbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: remove_dcid_at
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_pop_back
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: void
    signature: void remove_dcid_at(ngtcp2_ringbuf *rb, size_t at)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:240,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:241,1
    - Dst: dcidtr_on_retire
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:247,1
    - Dst: remove_dcid_at
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dtr
    - rb
    - seq
    - on_retire
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_ringbuf*
    - uint64_t
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 256
    functionName: dcidtr_retire_dcid_prior_to
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - dcidtr_on_retire
    - ngtcp2_ringbuf_len
    - remove_dcid_at
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: int
    signature: "int dcidtr_retire_dcid_prior_to(ngtcp2_dcidtr *dtr, ngtcp2_ringbuf
      *rb,\n                                       uint64_t seq, ngtcp2_dcidtr_cb
      on_retire,\n                                       void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dcidtr_retire_dcid_prior_to
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:265,1
    - Dst: dcidtr_retire_dcid_prior_to
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dtr
    - seq
    - on_retire
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - uint64_t
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: ngtcp2_dcidtr_retire_inactive_dcid_prior_to
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - dcidtr_retire_dcid_prior_to
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_retire_inactive_dcid_prior_to(ngtcp2_dcidtr *dtr,\n
      \                                               uint64_t seq,\n                                                ngtcp2_dcidtr_cb
      on_retire,\n                                                void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:283,1
    - Dst: ngtcp2_ringbuf_full
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:285,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:286,1
    - Dst: on_deactivate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:287,1
    - Dst: ngtcp2_ringbuf_push_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:293,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:294,1
    - Dst: dcidtr_on_retire
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - dtr
    - dcid
    - ts
    - on_deactivate
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid*
    - ngtcp2_tstamp
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 298
    functionName: ngtcp2_dcidtr_retire_active_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ringbuf_push_back
    - dcidtr_on_retire
    - on_deactivate
    - ngtcp2_ringbuf_full
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_retire_active_dcid(ngtcp2_dcidtr *dtr,\n                                     const
      ngtcp2_dcid *dcid, ngtcp2_tstamp ts,\n                                     ngtcp2_dcidtr_cb
      on_deactivate,\n                                     void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:309,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:310,1
    - Dst: ngtcp2_tstamp_not_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:311,1
    - Dst: on_deactivate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:315,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - dtr
    - timeout
    - ts
    - on_deactivate
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_duration
    - ngtcp2_tstamp
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 324
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 324
    functionName: ngtcp2_dcidtr_remove_stale_retired_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_tstamp_not_elapsed
    - ngtcp2_ringbuf_len
    - on_deactivate
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_remove_stale_retired_dcid(ngtcp2_dcidtr *dtr,\n
      \                                           ngtcp2_duration timeout,\n                                            ngtcp2_tstamp
      ts,\n                                            ngtcp2_dcidtr_cb on_deactivate,\n
      \                                           void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:334,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:335,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:336,1
    - Dst: remove_dcid_at
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dtr
    - dest
    - path
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 344
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 344
    functionName: ngtcp2_dcidtr_pop_bound_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_copy
    - ngtcp2_path_eq
    - remove_dcid_at
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_pop_bound_dcid(ngtcp2_dcidtr *dtr, ngtcp2_dcid *dest,\n
      \                                const ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:356,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:357,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:359,1
    - Dst: ngtcp2_tstamp_not_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:361,1
    - Dst: dcidtr_on_retire
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:366,1
    - Dst: remove_dcid_at
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - dtr
    - timeout
    - ts
    - on_retire
    - user_data
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_duration
    - ngtcp2_tstamp
    - ngtcp2_dcidtr_cb
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 375
    functionName: ngtcp2_dcidtr_retire_stale_bound_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - assert
    - dcidtr_on_retire
    - ngtcp2_tstamp_not_elapsed
    - remove_dcid_at
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_retire_stale_bound_dcid(ngtcp2_dcidtr *dtr,\n                                          ngtcp2_duration
      timeout,\n                                          ngtcp2_tstamp ts,\n                                          ngtcp2_dcidtr_cb
      on_retire,\n                                          void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:384,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:386,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:387,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: ngtcp2_dcidtr_earliest_bound_ts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_min_uint64
    - assert
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_dcidtr_earliest_bound_ts(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:399,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: ngtcp2_dcidtr_earliest_retired_ts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_dcidtr_earliest_retired_ts(const ngtcp2_dcidtr
      *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_push_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:410,1
    - Dst: ngtcp2_dcid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dtr
    - seq
    - cid
    - token
    argTypes:
    - ngtcp2_dcidtr*
    - uint64_t
    - ngtcp2_cid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: ngtcp2_dcidtr_push_unused
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_push_back
    - ngtcp2_dcid_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_dcidtr_push_unused(ngtcp2_dcidtr *dtr, uint64_t seq,\n
      \                              const ngtcp2_cid *cid, const uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:419,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:419,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:421,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:424,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dtr
    - dest
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: ngtcp2_dcidtr_pop_unused_cid_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ringbuf_len
    - ngtcp2_dcid_copy_cid_token
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcidtr_pop_unused_cid_token(ngtcp2_dcidtr *dtr, ngtcp2_dcid
      *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:433,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:433,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:435,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:437,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dtr
    - dest
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: ngtcp2_dcidtr_pop_unused
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_ringbuf_get
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcidtr_pop_unused(ngtcp2_dcidtr *dtr, ngtcp2_dcid *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:449,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dtr
    - path
    argTypes:
    - ngtcp2_dcidtr*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: ngtcp2_dcidtr_check_path_retired
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_path_eq
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcidtr_check_path_retired(const ngtcp2_dcidtr *dtr,\n                                     const
      ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: ngtcp2_dcidtr_unused_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_dcidtr_unused_len(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: ngtcp2_dcidtr_bound_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_dcidtr_bound_len(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: ngtcp2_dcidtr_retired_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_dcidtr_retired_len(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:471,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: ngtcp2_dcidtr_inactive_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_dcidtr_inactive_len(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_full
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: ngtcp2_dcidtr_unused_full
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_full
    linkageType: ''
    returnType: int
    signature: int ngtcp2_dcidtr_unused_full(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: ngtcp2_dcidtr_unused_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: int
    signature: int ngtcp2_dcidtr_unused_empty(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_full
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dtr
    argTypes:
    - ngtcp2_dcidtr*
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: ngtcp2_dcidtr_bound_full
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_dcidtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_full
    linkageType: ''
    returnType: int
    signature: int ngtcp2_dcidtr_bound_full(const ngtcp2_dcidtr *dtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - settings_version
    - settings
    argTypes:
    - int
    - ngtcp2_settings*
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: ngtcp2_settings_default_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_settings_default_versioned(int settings_version,\n                                       ngtcp2_settings
      *settings)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:53,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:55,1
    - Dst: ngtcp2_settingslen_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - settings_version
    argTypes:
    - ngtcp2_settings*
    - ngtcp2_settings*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: settings_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - ngtcp2_settingslen_version
    linkageType: ''
    returnType: void
    signature: "void settings_copy(ngtcp2_settings *dest, const ngtcp2_settings *src,\n
      \                         int settings_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_settings_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:65,1
    - Dst: settings_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - settings_version
    - src
    argTypes:
    - ngtcp2_settings*
    - int
    - ngtcp2_settings*
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: ngtcp2_settings_convert_to_latest
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c
    functionUses: 0
    functionsReached:
    - ngtcp2_settings_default
    - settings_copy
    linkageType: ''
    returnType: ngtcp2_settings
    signature: "ngtcp2_settings *\nngtcp2_settings_convert_to_latest(ngtcp2_settings
      *dest, int settings_version,\n                                  const ngtcp2_settings
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:74,1
    - Dst: settings_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - settings_version
    - dest
    - src
    argTypes:
    - int
    - ngtcp2_settings*
    - ngtcp2_settings*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ngtcp2_settings_convert_to_old
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c
    functionUses: 0
    functionsReached:
    - assert
    - settings_copy
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_settings_convert_to_old(int settings_version, ngtcp2_settings
      *dest,\n                                    const ngtcp2_settings *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - settings_version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: ngtcp2_settingslen_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_settings.c
    functionUses: 1
    functionsReached:
    - ngtcp2_unreachable
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_settingslen_version(int settings_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pvent
    - data
    - expiry
    - flags
    argTypes:
    - ngtcp2_pv_entry*
    - uint8_t*
    - ngtcp2_tstamp
    - uint8_t
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ngtcp2_pv_entry_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_pv_entry_init(ngtcp2_pv_entry *pvent, const uint8_t *data,\n
      \                         ngtcp2_tstamp expiry, uint8_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:45,1
    - Dst: ngtcp2_static_ringbuf_pv_ents_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:50,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - ppv
    - dcid
    - timeout
    - flags
    - log
    - mem
    argTypes:
    - ngtcp2_pv**
    - ngtcp2_dcid*
    - ngtcp2_duration
    - uint8_t
    - ngtcp2_log*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: ngtcp2_pv_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_static_ringbuf_pv_ents_init
    - ngtcp2_mem_malloc
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pv_new(ngtcp2_pv **ppv, const ngtcp2_dcid *dcid,\n                  ngtcp2_duration
      timeout, uint8_t flags, ngtcp2_log *log,\n                  const ngtcp2_mem
      *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pv
    argTypes:
    - ngtcp2_pv*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: ngtcp2_pv_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pv_del(ngtcp2_pv *pv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:78,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:80,1
    - Dst: ngtcp2_ringbuf_push_back
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:84,1
    - Dst: ngtcp2_pv_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pv
    - data
    - expiry
    - flags
    - ts
    argTypes:
    - ngtcp2_pv*
    - uint8_t*
    - ngtcp2_tstamp
    - uint8_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: ngtcp2_pv_add_entry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pv_entry_init
    - assert
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_push_back
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_pv_add_entry(ngtcp2_pv *pv, const uint8_t *data,\n                         ngtcp2_tstamp
      expiry, uint8_t flags,\n                         ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:101,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:102,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pv
    - pflags
    - data
    argTypes:
    - ngtcp2_pv*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: ngtcp2_pv_validate
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - ngtcp2_log_info
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pv_validate(ngtcp2_pv *pv, uint8_t *pflags, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:115,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:119,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pv
    - ts
    argTypes:
    - ngtcp2_pv*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: ngtcp2_pv_handle_entry_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pv_handle_entry_expiry(ngtcp2_pv *pv, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pv
    argTypes:
    - ngtcp2_pv*
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: ngtcp2_pv_should_send_probe
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pv_should_send_probe(ngtcp2_pv *pv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:141,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:141,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:143,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:143,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pv
    - ts
    argTypes:
    - ngtcp2_pv*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: ngtcp2_pv_validation_timed_out
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - assert
    - ngtcp2_ringbuf_len
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pv_validation_timed_out(ngtcp2_pv *pv, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:155,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:159,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pv
    argTypes:
    - ngtcp2_pv*
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: ngtcp2_pv_next_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_pv_next_expiry(ngtcp2_pv *pv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pv_next_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pv
    - ts
    argTypes:
    - ngtcp2_pv*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: ngtcp2_pv_cancel_expired_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pv_next_expiry
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pv_cancel_expired_timer(ngtcp2_pv *pv, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pv
    - dcid
    - pto
    argTypes:
    - ngtcp2_pv*
    - ngtcp2_dcid*
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: ngtcp2_pv_set_fallback
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pv.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcid_copy
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_pv_set_fallback(ngtcp2_pv *pv, const ngtcp2_dcid *dcid,\n
      \                           ngtcp2_duration pto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ppe
    - out
    - outlen
    - dgram_offset
    - cc
    argTypes:
    - ngtcp2_ppe*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_crypto_cc*
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ngtcp2_ppe_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ppe_init(ngtcp2_ppe *ppe, uint8_t *out, size_t outlen,\n
      \                    size_t dgram_offset, ngtcp2_crypto_cc *cc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:61,1
    - Dst: ngtcp2_pkt_encode_hd_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:66,1
    - Dst: ngtcp2_pkt_encode_hd_short
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - ppe
    - hd
    argTypes:
    - ngtcp2_ppe*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: ngtcp2_ppe_encode_hd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_encode_hd_long
    - ngtcp2_pkt_encode_hd_short
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: int
    signature: int ngtcp2_ppe_encode_hd(ngtcp2_ppe *ppe, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_encode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ppe
    - fr
    argTypes:
    - ngtcp2_ppe*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: ngtcp2_ppe_encode_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_encode_frame
    linkageType: ''
    returnType: int
    signature: int ngtcp2_ppe_encode_frame(ngtcp2_ppe *ppe, ngtcp2_frame *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppe
    argTypes:
    - ngtcp2_ppe*
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: ppe_sample_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ppe_sample_offset(ngtcp2_ppe *ppe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:126,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:127,1
    - Dst: ngtcp2_put_uvarint30
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:130,1
    - Dst: ngtcp2_crypto_create_nonce
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:135,1
    - Dst: ngtcp2_crypto_cc*::encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:138,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:147,1
    - Dst: ppe_sample_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:147,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:147,1
    - Dst: ngtcp2_crypto_cc*::hp_mask
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:149,1
    - Dst: ppe_sample_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:150,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - ppe
    - ppkt
    argTypes:
    - ngtcp2_ppe*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 172
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 172
    functionName: ngtcp2_ppe_final
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ppe_sample_offset
    - assert
    - ngtcp2_put_uvarint30
    - ngtcp2_crypto_cc*::encrypt
    - ngtcp2_buf_len
    - ngtcp2_crypto_cc*::hp_mask
    - ngtcp2_crypto_create_nonce
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: ngtcp2_ssize ngtcp2_ppe_final(ngtcp2_ppe *ppe, const uint8_t **ppkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppe
    argTypes:
    - ngtcp2_ppe*
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: ngtcp2_ppe_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_ppe_left(const ngtcp2_ppe *ppe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:192,1
    - Dst: ngtcp2_buf_cap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:192,1
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:199,1
    - Dst: ppe_sample_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:199,1
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:202,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:205,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:205,1
    - Dst: ngtcp2_setmem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ppe
    - n
    argTypes:
    - ngtcp2_ppe*
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: ngtcp2_ppe_padding_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ppe_sample_offset
    - assert
    - ngtcp2_buf_left
    - ngtcp2_min_size
    - ngtcp2_buf_len
    - ngtcp2_buf_cap
    - ngtcp2_max_size
    - ngtcp2_setmem
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_ppe_padding_size(ngtcp2_ppe *ppe, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ppe_dgram_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppe
    argTypes:
    - ngtcp2_ppe*
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: ngtcp2_ppe_dgram_padding
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ppe_dgram_padding_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_ppe_dgram_padding(ngtcp2_ppe *ppe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:227,1
    - Dst: ngtcp2_buf_cap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:227,1
    - Dst: ngtcp2_setmem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ppe
    - n
    argTypes:
    - ngtcp2_ppe*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: ngtcp2_ppe_dgram_padding_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 1
    functionsReached:
    - ngtcp2_buf_cap
    - ngtcp2_setmem
    - ngtcp2_min_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_ppe_dgram_padding_size(ngtcp2_ppe *ppe, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppe
    argTypes:
    - ngtcp2_ppe*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: ngtcp2_ppe_ensure_hp_sample
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_left
    linkageType: ''
    returnType: int
    signature: int ngtcp2_ppe_ensure_hp_sample(ngtcp2_ppe *ppe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ngtcp2_cpymem
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 7
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_cpymem(void *dest, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - b
    - n
    argTypes:
    - uint8_t*
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ngtcp2_setmem
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_setmem(uint8_t *dest, uint8_t b, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ngtcp2_get_bytes
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_get_bytes(void *dest, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - data
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: ngtcp2_encode_hex
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_encode_hex(uint8_t *dest, const uint8_t *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - data
    - len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: ngtcp2_encode_printable_ascii
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *ngtcp2_encode_printable_ascii(char *dest, const uint8_t *data,\n
      \                                   size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: write_uint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_uint(uint8_t *p, uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_uint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:111,1
    - Dst: write_uint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - addr
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: ngtcp2_encode_ipv4
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached:
    - write_uint
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_encode_ipv4(uint8_t *dest, const uint8_t *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - dest
    - data
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 160
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 160
    functionName: write_hex_zsup
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_hex_zsup(uint8_t *dest, const uint8_t *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:171,1
    - Dst: write_hex_zsup
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:198,1
    - Dst: write_hex_zsup
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:202,1
    - Dst: write_hex_zsup
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c:214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - dest
    - addr
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 222
    functionName: ngtcp2_encode_ipv6
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached:
    - memcpy
    - write_hex_zsup
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ngtcp2_encode_ipv6(uint8_t *dest, const uint8_t *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: ngtcp2_cmemeq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_cmemeq(const uint8_t *a, const uint8_t *b, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idtr
    - mem
    argTypes:
    - ngtcp2_idtr*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ngtcp2_idtr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_idtr_init(ngtcp2_idtr *idtr, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idtr
    argTypes:
    - ngtcp2_idtr*
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: ngtcp2_idtr_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_idtr_free(ngtcp2_idtr *idtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: id_from_stream_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t id_from_stream_id(int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id_from_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:51,1
    - Dst: ngtcp2_gaptr_is_pushed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:53,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - idtr
    - stream_id
    argTypes:
    - ngtcp2_idtr*
    - int64_t
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ngtcp2_idtr_open
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_is_pushed
    - id_from_stream_id
    - ngtcp2_gaptr_push
    linkageType: ''
    returnType: int
    signature: int ngtcp2_idtr_open(ngtcp2_idtr *idtr, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id_from_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:63,1
    - Dst: ngtcp2_gaptr_is_pushed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idtr
    - stream_id
    argTypes:
    - ngtcp2_idtr*
    - int64_t
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ngtcp2_idtr_is_open
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_is_pushed
    - id_from_stream_id
    linkageType: ''
    returnType: int
    signature: int ngtcp2_idtr_is_open(const ngtcp2_idtr *idtr, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ngtcp2_cid_zero
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_cid_zero(ngtcp2_cid *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:36,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cid
    - data
    - datalen
    argTypes:
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ngtcp2_cid_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_cpymem
    linkageType: ''
    returnType: void
    signature: void ngtcp2_cid_init(ngtcp2_cid *cid, const uint8_t *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cid
    - other
    argTypes:
    - ngtcp2_cid*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ngtcp2_cid_eq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ngtcp2_cid_eq(const ngtcp2_cid *cid, const ngtcp2_cid *other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_cid*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ngtcp2_cid_less
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_cid_less(const ngtcp2_cid *lhs, const ngtcp2_cid *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ngtcp2_cid_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_cid_empty(const ngtcp2_cid *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - scid
    - seq
    - cid
    argTypes:
    - ngtcp2_scid*
    - uint64_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ngtcp2_scid_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_scid_init(ngtcp2_scid *scid, uint64_t seq, const ngtcp2_cid
      *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_scid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_scid*
    - ngtcp2_scid*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ngtcp2_scid_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached:
    - ngtcp2_scid_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_scid_copy(ngtcp2_scid *dest, const ngtcp2_scid *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:80,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - dcid
    - seq
    - cid
    - token
    argTypes:
    - ngtcp2_dcid*
    - uint64_t
    - ngtcp2_cid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: ngtcp2_dcid_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ngtcp2_path_storage_zero
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_dcid_init(ngtcp2_dcid *dcid, uint64_t seq, const ngtcp2_cid
      *cid,\n                      const uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:95,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dcid
    - token
    argTypes:
    - ngtcp2_dcid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ngtcp2_dcid_set_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcid_set_token(ngtcp2_dcid *dcid, const uint8_t *token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dcid
    - path
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: ngtcp2_dcid_set_path
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 2
    functionsReached:
    - ngtcp2_path_copy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcid_set_path(ngtcp2_dcid *dcid, const ngtcp2_path *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:106,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: ngtcp2_dcid_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 7
    functionsReached:
    - ngtcp2_path_copy
    - ngtcp2_dcid_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcid_copy(ngtcp2_dcid *dest, const ngtcp2_dcid *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: ngtcp2_dcid_copy_cid_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_dcid_copy_cid_token(ngtcp2_dcid *dest, const ngtcp2_dcid
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:133,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:135,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - dcid
    - seq
    - cid
    - token
    argTypes:
    - ngtcp2_dcid*
    - uint64_t
    - ngtcp2_cid*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: ngtcp2_dcid_verify_uniqueness
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 1
    functionsReached:
    - ngtcp2_cid_eq
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcid_verify_uniqueness(const ngtcp2_dcid *dcid, uint64_t
      seq,\n                                  const ngtcp2_cid *cid, const uint8_t
      *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:146,1
    - Dst: ngtcp2_cmemeq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - dcid
    - path
    - token
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_path*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: ngtcp2_dcid_verify_stateless_reset_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 1
    functionsReached:
    - ngtcp2_path_eq
    - ngtcp2_cmemeq
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_dcid_verify_stateless_reset_token(const ngtcp2_dcid *dcid,\n
      \                                            const ngtcp2_path *path,\n                                             const
      uint8_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dcid
    - ent
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_path_history_entry*
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: ngtcp2_dcid_apply_validated_path
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_dcid_apply_validated_path(ngtcp2_dcid *dcid,\n                                      const
      ngtcp2_path_history_entry *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:33,1
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - balloc
    - blklen
    - mem
    argTypes:
    - ngtcp2_balloc*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: ngtcp2_balloc_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_buf_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_balloc_init(ngtcp2_balloc *balloc, size_t blklen,\n                        const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_balloc_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - balloc
    argTypes:
    - ngtcp2_balloc*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: ngtcp2_balloc_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_balloc_clear
    linkageType: ''
    returnType: void
    signature: void ngtcp2_balloc_free(ngtcp2_balloc *balloc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:54,1
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - balloc
    argTypes:
    - ngtcp2_balloc*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: ngtcp2_balloc_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
    functionUses: 1
    functionsReached:
    - ngtcp2_mem_free
    - ngtcp2_buf_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_balloc_clear(ngtcp2_balloc *balloc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:65,1
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:67,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:68,1
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:77,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - balloc
    - pbuf
    - n
    argTypes:
    - ngtcp2_balloc*
    - void**
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: ngtcp2_balloc_get
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - assert
    - ngtcp2_buf_left
    - ngtcp2_buf_init
    linkageType: ''
    returnType: int
    signature: int ngtcp2_balloc_get(ngtcp2_balloc *balloc, void **pbuf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:43,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - pckm
    - secret
    - secretlen
    - aead_ctx
    - iv
    - ivlen
    - mem
    argTypes:
    - ngtcp2_crypto_km**
    - uint8_t*
    - size_t
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: ngtcp2_crypto_km_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_km_new(ngtcp2_crypto_km **pckm, const uint8_t *secret,\n
      \                        size_t secretlen,\n                         const ngtcp2_crypto_aead_ctx
      *aead_ctx,\n                         const uint8_t *iv, size_t ivlen,\n                         const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - pckm
    - secretlen
    - ivlen
    - mem
    argTypes:
    - ngtcp2_crypto_km**
    - size_t
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: ngtcp2_crypto_km_nocopy_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_crypto_km_nocopy_new(ngtcp2_crypto_km **pckm, size_t secretlen,\n
      \                               size_t ivlen, const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecureZeroMemory
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:88,1
    - Dst: explicit_bzero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:90,1
    - Dst: memset_s
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:92,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ckm
    - mem
    argTypes:
    - ngtcp2_crypto_km*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: ngtcp2_crypto_km_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    - explicit_bzero
    - SecureZeroMemory
    - memset_s
    linkageType: ''
    returnType: void
    signature: void ngtcp2_crypto_km_del(ngtcp2_crypto_km *ckm, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:103,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:105,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:109,1
    - Dst: ngtcp2_htonl64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:110,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - iv
    - ivlen
    - pkt_num
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: ngtcp2_crypto_create_nonce
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_crypto.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    - ngtcp2_htonl64
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_crypto_create_nonce(uint8_t *dest, const uint8_t *iv,
      size_t ivlen,\n                                int64_t pkt_num)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - ent
    - hd
    - frc
    - ts
    - pktlen
    - flags
    argTypes:
    - ngtcp2_rtb_entry*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame_chain*
    - ngtcp2_tstamp
    - size_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: rtb_entry_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void rtb_entry_init(ngtcp2_rtb_entry *ent, const ngtcp2_pkt_hd *hd,\n
      \                          ngtcp2_frame_chain *frc, ngtcp2_tstamp ts,\n                           size_t
      pktlen, uint16_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_objalloc_rtb_entry_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:63,1
    - Dst: rtb_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - pent
    - hd
    - frc
    - ts
    - pktlen
    - flags
    - objalloc
    argTypes:
    - ngtcp2_rtb_entry**
    - ngtcp2_pkt_hd*
    - ngtcp2_frame_chain*
    - ngtcp2_tstamp
    - size_t
    - uint16_t
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: ngtcp2_rtb_entry_objalloc_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_rtb_entry_get
    - rtb_entry_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rtb_entry_objalloc_new(ngtcp2_rtb_entry **pent,\n                                  const
      ngtcp2_pkt_hd *hd,\n                                  ngtcp2_frame_chain *frc,
      ngtcp2_tstamp ts,\n                                  size_t pktlen, uint16_t
      flags,\n                                  ngtcp2_objalloc *objalloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:77,1
    - Dst: ngtcp2_objalloc_rtb_entry_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ent
    - objalloc
    - frc_objalloc
    - mem
    argTypes:
    - ngtcp2_rtb_entry*
    - ngtcp2_objalloc*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ngtcp2_rtb_entry_objalloc_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_list_objalloc_del
    - ngtcp2_objalloc_rtb_entry_release
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_rtb_entry_objalloc_del(ngtcp2_rtb_entry *ent,\n                                   ngtcp2_objalloc
      *objalloc,\n                                   ngtcp2_objalloc *frc_objalloc,\n
      \                                  const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 9
    argNames:
    - rtb
    - rst
    - cc
    - cc_pkt_num
    - log
    - qlog
    - rtb_entry_objalloc
    - frc_objalloc
    - mem
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rst*
    - ngtcp2_cc*
    - int64_t
    - ngtcp2_log*
    - ngtcp2_qlog*
    - ngtcp2_objalloc*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: ngtcp2_rtb_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_rtb_init(ngtcp2_rtb *rtb, ngtcp2_rst *rst, ngtcp2_cc *cc,\n
      \                    int64_t cc_pkt_num, ngtcp2_log *log, ngtcp2_qlog *qlog,\n
      \                    ngtcp2_objalloc *rtb_entry_objalloc,\n                     ngtcp2_objalloc
      *frc_objalloc, const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:115,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:117,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:117,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:118,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:118,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rtb
    argTypes:
    - ngtcp2_rtb*
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: ngtcp2_rtb_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_free
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rtb_free(ngtcp2_rtb *rtb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rst_on_pkt_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:128,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:130,1
    - Dst: ngtcp2_rst_update_app_limited
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - rtb
    - ent
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: rtb_on_add
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_rst_on_pkt_sent
    - ngtcp2_rst_update_app_limited
    linkageType: ''
    returnType: void
    signature: "void rtb_on_add(ngtcp2_rtb *rtb, ngtcp2_rtb_entry *ent,\n                       ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:158,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:166,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:172,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:177,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:182,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - rtb
    - ent
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 198
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 198
    functionName: rtb_on_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t rtb_on_remove(ngtcp2_rtb *rtb, ngtcp2_rtb_entry *ent,\n                            ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:222,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:236,1
    - Dst: ngtcp2_strm_get_unacked_range_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:241,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:245,1
    - Dst: ngtcp2_range_intersect
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:246,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:248,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:266,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:273,1
    - Dst: ngtcp2_strm_streamfrq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:276,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:278,1
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:282,1
    - Dst: ngtcp2_conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:283,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:285,1
    - Dst: ngtcp2_strm_get_unacked_range_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:297,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:302,1
    - Dst: ngtcp2_range_intersect
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:303,1
    - Dst: ngtcp2_range_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:305,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:309,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:316,1
    - Dst: ngtcp2_strm_streamfrq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:319,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:321,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:321,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:322,1
    - Dst: ngtcp2_frame_chain_new_token_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:330,1
    - Dst: ngtcp2_bind_frame_chains
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:337,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:353,1
    - Dst: ngtcp2_strm_require_retransmit_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:354,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:360,1
    - Dst: ngtcp2_strm_require_retransmit_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:361,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:367,1
    - Dst: ngtcp2_strm_require_retransmit_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:368,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:375,1
    - Dst: ngtcp2_strm_require_retransmit_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:376,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:384,1
    - Dst: ngtcp2_bind_frame_chains
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:391,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 123
    argCount: 5
    argNames:
    - rtb
    - flags
    - conn
    - pktns
    - ent
    argTypes:
    - ngtcp2_rtb*
    - uint8_t
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_rtb_entry*
    constantsTouched: []
    func_position:
      end: 404
      start: 212
    functionDepth: 6
    functionLinenumber: 212
    functionLinenumberEnd: 404
    functionName: rtb_reclaim_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_require_retransmit_reset_stream
    - ngtcp2_strm_get_unacked_range_after
    - ngtcp2_conn_tx_strmq_first_cycle
    - ngtcp2_frame_chain_stream_datacnt_objalloc_new
    - ngtcp2_bind_frame_chains
    - ngtcp2_frame_chain_objalloc_new
    - ngtcp2_range_len
    - ngtcp2_vec_copy
    - ngtcp2_strm_require_retransmit_stop_sending
    - ngtcp2_strm_require_retransmit_max_stream_data
    - ngtcp2_strm_require_retransmit_stream_data_blocked
    - ngtcp2_conn_find_stream
    - ngtcp2_strm_is_tx_queued
    - assert
    - ngtcp2_vec_len
    - ngtcp2_range_intersect
    - ngtcp2_strm_streamfrq_push
    - ngtcp2_err_is_fatal
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_frame_chain_new_token_objalloc_new
    - ngtcp2_conn_tx_strmq_push
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize rtb_reclaim_frame(ngtcp2_rtb *rtb, uint8_t flags,\n                                      ngtcp2_conn
      *conn, ngtcp2_pktns *pktns,\n                                      ngtcp2_rtb_entry
      *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:419,1
    - Dst: ngtcp2_conn*::callbacks::lost_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - ent
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_rtb_entry*
    constantsTouched: []
    func_position:
      end: 432
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 432
    functionName: conn_process_lost_datagram
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::lost_datagram
    - assert
    linkageType: ''
    returnType: int
    signature: "int conn_process_lost_datagram(ngtcp2_conn *conn,\n                                      ngtcp2_rtb_entry
      *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:443,1
    - Dst: ngtcp2_qlog_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:447,1
    - Dst: ngtcp2_cc*::on_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:455,1
    - Dst: ngtcp2_cc_pkt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:456,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:464,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:467,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:468,1
    - Dst: conn_process_lost_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:472,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:479,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:480,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:481,1
    - Dst: rtb_reclaim_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:484,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - rtb
    - ent
    - cstat
    - conn
    - pktns
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 497
      start: 434
    functionDepth: 7
    functionLinenumber: 434
    functionLinenumberEnd: 497
    functionName: rtb_on_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_pkt_lost
    - assert
    - ngtcp2_log_info
    - conn_process_lost_datagram
    - rtb_reclaim_frame
    - ngtcp2_qlog_pkt_lost
    - ngtcp2_cc*::on_pkt_lost
    - ngtcp2_cc_pkt_init
    linkageType: ''
    returnType: int
    signature: "int rtb_on_pkt_lost(ngtcp2_rtb *rtb, ngtcp2_rtb_entry *ent,\n                           ngtcp2_conn_stat
      *cstat, ngtcp2_conn *conn,\n                           ngtcp2_pktns *pktns,
      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:503,1
    - Dst: rtb_on_add
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rtb
    - ent
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 5
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: ngtcp2_rtb_add
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - rtb_on_add
    - ngtcp2_ksl_insert
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rtb_add(ngtcp2_rtb *rtb, ngtcp2_rtb_entry *ent,\n                   ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtb
    argTypes:
    - ngtcp2_rtb*
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: ngtcp2_rtb_head
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_begin
    linkageType: ''
    returnType: ngtcp2_ksl_it
    signature: ngtcp2_ksl_it ngtcp2_rtb_head(const ngtcp2_rtb *rtb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:523,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:524,1
    - Dst: rtb_on_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:525,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:527,1
    - Dst: ngtcp2_list_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - rtb
    - it
    - pent
    - ent
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_ksl_it*
    - ngtcp2_rtb_entry**
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 530
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 530
    functionName: rtb_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - rtb_on_remove
    - ngtcp2_ksl_remove_hint
    - ngtcp2_list_insert
    linkageType: ''
    returnType: void
    signature: "void rtb_remove(ngtcp2_rtb *rtb, ngtcp2_ksl_it *it,\n                       ngtcp2_rtb_entry
      **pent, ngtcp2_rtb_entry *ent,\n                       ngtcp2_conn_stat *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:538,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:547,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - pktns
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: conn_ack_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_mem_free
    - ngtcp2_buf_len
    linkageType: ''
    returnType: void
    signature: "void conn_ack_crypto_data(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n
      \                                uint64_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pmtud_probe_success
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:572,1
    - Dst: ngtcp2_conn_get_path_max_tx_udp_payload_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:577,1
    - Dst: ngtcp2_pmtud_finished
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:580,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:581,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:596,1
    - Dst: ngtcp2_strm_get_acked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:607,1
    - Dst: ngtcp2_strm_ack_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:609,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:611,1
    - Dst: ngtcp2_strm_get_acked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:617,1
    - Dst: ngtcp2_conn*::callbacks::acked_stream_data_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:624,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:632,1
    - Dst: ngtcp2_strm_get_acked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:639,1
    - Dst: ngtcp2_strm_ack_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:641,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:643,1
    - Dst: ngtcp2_strm_get_acked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:648,1
    - Dst: conn_ack_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:655,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:659,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:666,1
    - Dst: ngtcp2_dcidtr_untrack_retired_seq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:673,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:677,1
    - Dst: ngtcp2_conn*::callbacks::ack_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:688,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 3
    argNames:
    - ent
    - conn
    - pktns
    argTypes:
    - ngtcp2_rtb_entry*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 699
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 699
    functionName: process_acked_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_close_stream_if_shut_rdwr
    - assert
    - ngtcp2_conn*::callbacks::ack_datagram
    - ngtcp2_strm_get_acked_offset
    - ngtcp2_pmtud_finished
    - ngtcp2_conn_get_path_max_tx_udp_payload_size
    - ngtcp2_conn_stop_pmtud
    - ngtcp2_vec_len
    - conn_ack_crypto_data
    - ngtcp2_dcidtr_untrack_retired_seq
    - ngtcp2_conn*::callbacks::acked_stream_data_offset
    - ngtcp2_strm_ack_data
    - ngtcp2_pmtud_probe_success
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int process_acked_pkt(ngtcp2_rtb_entry *ent, ngtcp2_conn *conn,\n
      \                            ngtcp2_pktns *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rst_update_rate_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:707,1
    - Dst: ngtcp2_cc*::on_pkt_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:710,1
    - Dst: ngtcp2_cc_pkt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - rtb
    - ent
    - cstat
    - pktns
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 722
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 722
    functionName: rtb_on_pkt_acked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rst_update_rate_sample
    - ngtcp2_cc*::on_pkt_acked
    - ngtcp2_cc_pkt_init
    linkageType: ''
    returnType: void
    signature: "void rtb_on_pkt_acked(ngtcp2_rtb *rtb, ngtcp2_rtb_entry *ent,\n                             ngtcp2_conn_stat
      *cstat, const ngtcp2_pktns *pktns,\n                             ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:742,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:750,1
    - Dst: ngtcp2_cc*::congestion_event
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 8
    argNames:
    - conn
    - pktns
    - cc
    - cstat
    - fr
    - ecn_acked
    - largest_pkt_sent_ts
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_ack*
    - size_t
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 764
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 764
    functionName: conn_verify_ecn
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cc*::congestion_event
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: "void conn_verify_ecn(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n                            ngtcp2_cc
      *cc, ngtcp2_conn_stat *cstat,\n                            const ngtcp2_ack
      *fr, size_t ecn_acked,\n                            ngtcp2_tstamp largest_pkt_sent_ts,\n
      \                           ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:800,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:809,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:810,1
    - Dst: conn_verify_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:812,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:821,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:822,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:824,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:830,1
    - Dst: rtb_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:845,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:853,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:854,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:858,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:859,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:864,1
    - Dst: rtb_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:875,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:882,1
    - Dst: ngtcp2_conn_update_rtt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:884,1
    - Dst: ngtcp2_cc*::new_rtt_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:886,1
    - Dst: process_acked_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:897,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:903,1
    - Dst: rtb_on_pkt_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:909,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:911,1
    - Dst: conn_verify_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:916,1
    - Dst: rtb_on_pkt_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:922,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:924,1
    - Dst: ngtcp2_rtb*::cc::on_spurious_congestion
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:931,1
    - Dst: ngtcp2_rst_on_ack_recv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:935,1
    - Dst: rtb_detect_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:938,1
    - Dst: ngtcp2_cc*::on_ack_recv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:949,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:957,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 127
    argCount: 7
    argNames:
    - rtb
    - fr
    - cstat
    - conn
    - pktns
    - pkt_ts
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_ack*
    - ngtcp2_conn_stat*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 962
      start: 770
    functionDepth: 5
    functionLinenumber: 770
    functionLinenumberEnd: 962
    functionName: ngtcp2_rtb_recv_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - rtb_remove
    - process_acked_pkt
    - assert
    - ngtcp2_log_info
    - ngtcp2_conn_update_rtt
    - ngtcp2_rtb*::cc::on_spurious_congestion
    - ngtcp2_cc*::new_rtt_sample
    - ngtcp2_max_uint64
    - rtb_on_pkt_acked
    - ngtcp2_rst_on_ack_recv
    - rtb_detect_lost_pkt
    - conn_verify_ecn
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    - ngtcp2_ksl_it_get
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_cc*::on_ack_recv
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_rtb_recv_ack(ngtcp2_rtb *rtb, const ngtcp2_ack
      *fr,\n                                 ngtcp2_conn_stat *cstat, ngtcp2_conn
      *conn,\n                                 ngtcp2_pktns *pktns, ngtcp2_tstamp
      pkt_ts,\n                                 ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:970,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - rtb
    - cstat
    - ent
    - loss_delay
    - pkt_thres
    - pktns
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn_stat*
    - ngtcp2_rtb_entry*
    - ngtcp2_duration
    - size_t
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 986
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 986
    functionName: rtb_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: int
    signature: "int rtb_pkt_lost(ngtcp2_rtb *rtb, ngtcp2_conn_stat *cstat,\n                        const
      ngtcp2_rtb_entry *ent, ngtcp2_duration loss_delay,\n                        size_t
      pkt_thres, const ngtcp2_pktns *pktns,\n                        ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:994,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstat
    argTypes:
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: compute_pkt_loss_delay
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: ngtcp2_duration
    signature: ngtcp2_duration compute_pkt_loss_delay(const ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1012
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1012
    functionName: conn_all_ecn_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_all_ecn_pkt_lost(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1029,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1033,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1034,1
    - Dst: compute_pkt_loss_delay
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1036,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1038,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1039,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1039,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1040,1
    - Dst: rtb_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1046,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1059,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1063,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1066,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1066,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1067,1
    - Dst: rtb_on_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1091,1
    - Dst: rtb_on_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1092,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1112,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1122,1
    - Dst: conn_all_ecn_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1124,1
    - Dst: ngtcp2_cc*::congestion_event
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1133,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1146,1
    - Dst: ngtcp2_cc*::on_persistent_congestion
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1159,1
    - Dst: ngtcp2_rtb_remove_excessive_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1167,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 6
    argNames:
    - rtb
    - ppkt_lost
    - conn
    - pktns
    - cstat
    - ts
    argTypes:
    - ngtcp2_rtb*
    - uint64_t*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1174
      start: 1014
    functionDepth: 8
    functionLinenumber: 1014
    functionLinenumberEnd: 1174
    functionName: rtb_detect_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_compute_pto
    - assert
    - ngtcp2_log_info
    - ngtcp2_cc*::on_persistent_congestion
    - conn_all_ecn_pkt_lost
    - ngtcp2_ksl_it_next
    - ngtcp2_max_uint64
    - ngtcp2_cc*::congestion_event
    - ngtcp2_min_uint64
    - rtb_on_pkt_lost
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - compute_pkt_loss_delay
    - rtb_on_remove
    - ngtcp2_rtb_remove_excessive_lost_pkt
    - rtb_pkt_lost
    linkageType: ''
    returnType: int
    signature: "int rtb_detect_lost_pkt(ngtcp2_rtb *rtb, uint64_t *ppkt_lost,\n                               ngtcp2_conn
      *conn, ngtcp2_pktns *pktns,\n                               ngtcp2_conn_stat
      *cstat, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rtb_detect_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rtb
    - conn
    - pktns
    - cstat
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1181
      start: 1176
    functionDepth: 9
    functionLinenumber: 1176
    functionLinenumberEnd: 1181
    functionName: ngtcp2_rtb_detect_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - rtb_detect_lost_pkt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rtb_detect_lost_pkt(ngtcp2_rtb *rtb, ngtcp2_conn *conn,\n
      \                              ngtcp2_pktns *pktns, ngtcp2_conn_stat *cstat,\n
      \                              ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1184,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1190,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1190,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1191,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1192,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1194,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1196,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1206,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1207,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - rtb
    - n
    argTypes:
    - ngtcp2_rtb*
    - size_t
    constantsTouched: []
    func_position:
      end: 1211
      start: 1183
    functionDepth: 5
    functionLinenumber: 1183
    functionLinenumberEnd: 1211
    functionName: ngtcp2_rtb_remove_excessive_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_ksl_remove_hint
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_end
    - ngtcp2_ksl_it_end
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rtb_remove_excessive_lost_pkt(ngtcp2_rtb *rtb, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1225,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1228,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1228,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1230,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1231,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1238,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1248,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1249,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - rtb
    - timeout
    - ts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1253
      start: 1213
    functionDepth: 5
    functionLinenumber: 1213
    functionLinenumberEnd: 1253
    functionName: ngtcp2_rtb_remove_expired_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_ksl_remove_hint
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_end
    - ngtcp2_ksl_it_end
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_rtb_remove_expired_lost_pkt(ngtcp2_rtb *rtb,\n                                        ngtcp2_duration
      timeout,\n                                        ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1259,1
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1263,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1264,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rtb
    argTypes:
    - ngtcp2_rtb*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1272
    functionName: ngtcp2_rtb_lost_pkt_ts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_get
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_end
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_rtb_lost_pkt_ts(const ngtcp2_rtb *rtb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1291,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1293,1
    - Dst: ngtcp2_strm_streamfrq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1297,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1299,1
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1303,1
    - Dst: ngtcp2_conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1304,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1305,1
    - Dst: ngtcp2_strm_streamfrq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1318,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1320,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1320,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1321,1
    - Dst: ngtcp2_conn*::callbacks::lost_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1331,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1340,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 4
    argNames:
    - rtb
    - conn
    - pktns
    - ent
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_rtb_entry*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1274
    functionDepth: 6
    functionLinenumber: 1274
    functionLinenumberEnd: 1353
    functionName: rtb_reclaim_frame_on_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_conn*::callbacks::lost_datagram
    - ngtcp2_conn_tx_strmq_first_cycle
    - ngtcp2_strm_streamfrq_push
    - ngtcp2_conn_tx_strmq_push
    - ngtcp2_err_is_fatal
    - ngtcp2_conn_find_stream
    - ngtcp2_strm_is_tx_queued
    linkageType: ''
    returnType: int
    signature: "int rtb_reclaim_frame_on_retry(ngtcp2_rtb *rtb, ngtcp2_conn *conn,\n
      \                                     ngtcp2_pktns *pktns,\n                                      ngtcp2_rtb_entry
      *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1358,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1361,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1362,1
    - Dst: rtb_on_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1364,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1365,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1366,1
    - Dst: ngtcp2_log_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1369,1
    - Dst: ngtcp2_qlog_pkt_lost
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1373,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1380,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1383,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1384,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1385,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1388,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1391,1
    - Dst: rtb_reclaim_frame_on_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1403,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - rtb
    - conn
    - pktns
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1355
    functionDepth: 7
    functionLinenumber: 1355
    functionLinenumberEnd: 1414
    functionName: ngtcp2_rtb_reclaim_on_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_pkt_lost
    - assert
    - ngtcp2_log_info
    - ngtcp2_qlog_pkt_lost
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - rtb_on_remove
    - rtb_reclaim_frame_on_retry
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_rtb_reclaim_on_retry(ngtcp2_rtb *rtb, ngtcp2_conn *conn,\n
      \                               ngtcp2_pktns *pktns, ngtcp2_conn_stat *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1422,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1424,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1425,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1428,1
    - Dst: rtb_on_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1432,1
    - Dst: ngtcp2_ksl_remove_hint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1433,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1434,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rtb
    - cstat
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1416
    functionDepth: 5
    functionLinenumber: 1416
    functionLinenumberEnd: 1439
    functionName: ngtcp2_rtb_remove_early_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_ksl_remove_hint
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - rtb_on_remove
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rtb_remove_early_data(ngtcp2_rtb *rtb, ngtcp2_conn_stat
      *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtb
    argTypes:
    - ngtcp2_rtb*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1443
    functionName: ngtcp2_rtb_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_len
    linkageType: ''
    returnType: int
    signature: int ngtcp2_rtb_empty(const ngtcp2_rtb *rtb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rtb
    - cc_pkt_num
    argTypes:
    - ngtcp2_rtb*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1448
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1448
    functionName: ngtcp2_rtb_reset_cc_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rtb_reset_cc_state(ngtcp2_rtb *rtb, int64_t cc_pkt_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1457,1
    - Dst: ngtcp2_ksl_it_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1458,1
    - Dst: ngtcp2_ksl_it_prev
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1459,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1460,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1468,1
    - Dst: rtb_reclaim_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1471,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1480,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c:1485,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - rtb
    - conn
    - pktns
    - num_pkts
    argTypes:
    - ngtcp2_rtb*
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - size_t
    constantsTouched: []
    func_position:
      end: 1495
      start: 1450
    functionDepth: 7
    functionLinenumber: 1450
    functionLinenumberEnd: 1495
    functionName: ngtcp2_rtb_reclaim_on_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_ksl_it_prev
    - ngtcp2_ksl_end
    - ngtcp2_ksl_it_begin
    - ngtcp2_ksl_it_get
    - rtb_reclaim_frame
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_rtb_reclaim_on_pto(ngtcp2_rtb *rtb, ngtcp2_conn
      *conn,\n                                       ngtcp2_pktns *pktns, size_t num_pkts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - ngtcp2_rs*
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: ngtcp2_rs_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rs_init(ngtcp2_rs *rs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rst_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rst
    argTypes:
    - ngtcp2_rst*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ngtcp2_rst_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rst_reset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rst_init(ngtcp2_rst *rst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rs_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - rst
    argTypes:
    - ngtcp2_rst*
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: ngtcp2_rst_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 1
    functionsReached:
    - ngtcp2_rs_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rst_reset(ngtcp2_rst *rst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - rst
    - ent
    - cstat
    argTypes:
    - ngtcp2_rst*
    - ngtcp2_rtb_entry*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: ngtcp2_rst_on_pkt_sent
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_rst_on_pkt_sent(ngtcp2_rst *rst, ngtcp2_rtb_entry *ent,\n
      \                           const ngtcp2_conn_stat *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - rst
    - cstat
    argTypes:
    - ngtcp2_rst*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: ngtcp2_rst_on_ack_recv
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rst_on_ack_recv(ngtcp2_rst *rst, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - rst
    - ent
    - rs
    argTypes:
    - ngtcp2_rst*
    - ngtcp2_rtb_entry*
    - ngtcp2_rs*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: rst_is_newest_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rst_is_newest_pkt(const ngtcp2_rst *rst, const ngtcp2_rtb_entry
      *ent,\n                             const ngtcp2_rs *rs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rst_is_newest_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - rst
    - ent
    - ts
    argTypes:
    - ngtcp2_rst*
    - ngtcp2_rtb_entry*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: ngtcp2_rst_update_rate_sample
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 1
    functionsReached:
    - rst_is_newest_pkt
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_rst_update_rate_sample(ngtcp2_rst *rst, const ngtcp2_rtb_entry
      *ent,\n                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rst
    - cstat
    argTypes:
    - ngtcp2_rst*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: ngtcp2_rst_update_app_limited
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_rst_update_app_limited(ngtcp2_rst *rst, ngtcp2_conn_stat
      *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:46,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:48,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:53,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:55,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:58,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:60,1
    - Dst: write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:64,1
    - Dst: _write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:67,1
    - Dst: _fileno
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:67,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:70,1
    - Dst: abort
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 74
    functionName: ngtcp2_unreachable_fail
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_unreachable.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - _write
    - snprintf
    - _fileno
    - malloc
    - write
    linkageType: ''
    returnType: void
    signature: void ngtcp2_unreachable_fail(const char *file, int line, const char
      *func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - log
    - scid
    - log_printf
    - ts
    - user_data
    argTypes:
    - ngtcp2_log*
    - ngtcp2_cid*
    - ngtcp2_printf
    - ngtcp2_tstamp
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: ngtcp2_log_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - ngtcp2_encode_hex
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_init(ngtcp2_log *log, const ngtcp2_cid *scid,\n                     ngtcp2_printf
      log_printf, ngtcp2_tstamp ts,\n                     void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 151
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 151
    functionName: strerrorcode
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strerrorcode(uint64_t error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - app_error_code
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: strapperrorcode
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strapperrorcode(uint64_t app_error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: strpkttype_long
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strpkttype_long(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strpkttype_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - hd
    argTypes:
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: strpkttype
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strpkttype_long
    linkageType: ''
    returnType: char
    signature: char *strpkttype(const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strpkttype
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: strpkttype_type_flags
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strpkttype
    linkageType: ''
    returnType: char
    signature: char *strpkttype_type_flags(uint8_t type, uint8_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ev
    argTypes:
    - ngtcp2_log_event
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: strevent
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strevent(ngtcp2_log_event ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: timestamp_cast
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t timestamp_cast(uint64_t ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:225,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:229,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: log_fr_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - ngtcp2_vec_len
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_stream(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                          const
      ngtcp2_stream *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:239,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:243,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:249,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:252,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:259,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:263,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:268,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_ack*
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 274
    functionName: log_fr_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_ack(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                       const
      ngtcp2_ack *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:278,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_padding*
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: log_fr_padding
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_padding(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                           const
      ngtcp2_padding *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:286,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:290,1
    - Dst: strapperrorcode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_reset_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: log_fr_reset_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strapperrorcode
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_reset_stream(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                               const ngtcp2_reset_stream *fr,\n                                const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:300,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:305,1
    - Dst: strerrorcode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:306,1
    - Dst: strapperrorcode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:307,1
    - Dst: ngtcp2_encode_printable_ascii
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_connection_close*
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: log_fr_connection_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - strapperrorcode
    - ngtcp2_encode_printable_ascii
    - ngtcp2_log*::log_printf
    - strerrorcode
    linkageType: ''
    returnType: void
    signature: "void log_fr_connection_close(ngtcp2_log *log, const ngtcp2_pkt_hd
      *hd,\n                                    const ngtcp2_connection_close *fr,\n
      \                                   const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:314,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_max_data*
    - char*
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: log_fr_max_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_max_data(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                            const
      ngtcp2_max_data *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:323,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_max_stream_data*
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: log_fr_max_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_max_stream_data(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                                  const ngtcp2_max_stream_data *fr,\n                                   const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:333,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_max_streams*
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: log_fr_max_streams
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_max_streams(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                              const ngtcp2_max_streams *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:341,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_ping*
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: log_fr_ping
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_ping(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                        const
      ngtcp2_ping *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:348,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_data_blocked*
    - char*
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: log_fr_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_data_blocked(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                               const ngtcp2_data_blocked *fr,\n                                const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:357,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_stream_data_blocked*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: log_fr_stream_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_stream_data_blocked(ngtcp2_log *log, const ngtcp2_pkt_hd
      *hd,\n                                       const ngtcp2_stream_data_blocked
      *fr,\n                                       const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:367,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_streams_blocked*
    - char*
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: log_fr_streams_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_streams_blocked(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                                  const ngtcp2_streams_blocked *fr,\n                                   const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:379,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:384,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:385,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_new_connection_id*
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: log_fr_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_encode_hex
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_new_connection_id(ngtcp2_log *log, const ngtcp2_pkt_hd
      *hd,\n                                     const ngtcp2_new_connection_id *fr,\n
      \                                    const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:394,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:397,1
    - Dst: strapperrorcode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_stop_sending*
    - char*
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: log_fr_stop_sending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strapperrorcode
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_stop_sending(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                               const ngtcp2_stop_sending *fr,\n                                const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:406,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:409,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_path_challenge*
    - char*
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: log_fr_path_challenge
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_encode_hex
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_path_challenge(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                                 const ngtcp2_path_challenge *fr,\n                                  const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:418,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:421,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_path_response*
    - char*
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: log_fr_path_response
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_encode_hex
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_path_response(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                                const ngtcp2_path_response *fr,\n                                 const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:427,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:430,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: log_fr_crypto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - ngtcp2_vec_len
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_crypto(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                          const
      ngtcp2_stream *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:442,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:446,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:448,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_new_token*
    - char*
    constantsTouched: []
    func_position:
      end: 452
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 452
    functionName: log_fr_new_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_encode_hex
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_new_token(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                            const ngtcp2_new_token *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:458,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_retire_connection_id*
    - char*
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: log_fr_retire_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_retire_connection_id(ngtcp2_log *log,\n                                        const
      ngtcp2_pkt_hd *hd,\n                                        const ngtcp2_retire_connection_id
      *fr,\n                                        const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:467,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_handshake_done*
    - char*
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: log_fr_handshake_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_handshake_done(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                                 const ngtcp2_handshake_done *fr,\n                                  const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:474,1
    - Dst: NGTCP2_LOG_FRM_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:476,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_datagram*
    - char*
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: log_fr_datagram
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - ngtcp2_vec_len
    - NGTCP2_LOG_FRM_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void log_fr_datagram(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                            const
      ngtcp2_datagram *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fr_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:484,1
    - Dst: log_fr_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:488,1
    - Dst: log_fr_padding
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:491,1
    - Dst: log_fr_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:494,1
    - Dst: log_fr_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:498,1
    - Dst: log_fr_max_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:501,1
    - Dst: log_fr_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:504,1
    - Dst: log_fr_max_streams
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:508,1
    - Dst: log_fr_ping
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:511,1
    - Dst: log_fr_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:514,1
    - Dst: log_fr_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:517,1
    - Dst: log_fr_streams_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:521,1
    - Dst: log_fr_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:524,1
    - Dst: log_fr_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:527,1
    - Dst: log_fr_path_challenge
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:530,1
    - Dst: log_fr_path_response
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:533,1
    - Dst: log_fr_crypto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:536,1
    - Dst: log_fr_new_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:539,1
    - Dst: log_fr_retire_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:542,1
    - Dst: log_fr_handshake_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:545,1
    - Dst: log_fr_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:549,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:552,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 4
    argNames:
    - log
    - hd
    - fr
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame*
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 554
    functionName: log_fr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - log_fr_path_response
    - log_fr_max_data
    - log_fr_max_stream_data
    - log_fr_retire_connection_id
    - log_fr_handshake_done
    - log_fr_streams_blocked
    - log_fr_stop_sending
    - log_fr_stream
    - log_fr_padding
    - log_fr_path_challenge
    - log_fr_crypto
    - log_fr_connection_close
    - log_fr_stream_data_blocked
    - log_fr_data_blocked
    - log_fr_ping
    - log_fr_reset_stream
    - log_fr_datagram
    - ngtcp2_unreachable
    - log_fr_new_connection_id
    - log_fr_max_streams
    - log_fr_new_token
    - log_fr_ack
    linkageType: ''
    returnType: void
    signature: "void log_fr(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                   const
      ngtcp2_frame *fr, const char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - log
    - hd
    - fr
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: ngtcp2_log_rx_fr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - log_fr
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_rx_fr(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                     const ngtcp2_frame *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - log
    - hd
    - fr
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: ngtcp2_log_tx_fr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - log_fr
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_tx_fr(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                     const ngtcp2_frame *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:583,1
    - Dst: NGTCP2_LOG_PKT_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - log
    - hd
    - sv
    - nsv
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: ngtcp2_log_rx_vn
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_PKT_HD_FIELDS
    - ngtcp2_log*::log_printf
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_rx_vn(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n
      \                     const uint32_t *sv, size_t nsv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:597,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:601,1
    - Dst: NGTCP2_LOG_PKT_HD_FIELDS
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:603,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - log
    - sr
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_stateless_reset*
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: ngtcp2_log_rx_sr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - NGTCP2_LOG_PKT_HD_FIELDS
    - ngtcp2_encode_hex
    - ngtcp2_log*::log_printf
    - memset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_log_rx_sr(ngtcp2_log *log, const ngtcp2_pkt_stateless_reset
      *sr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:625,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:628,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:636,1
    - Dst: ngtcp2_encode_ipv4
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:639,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:641,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:643,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:649,1
    - Dst: ngtcp2_encode_ipv6
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:652,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:654,1
    - Dst: ngtcp2_ntohs
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:656,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:659,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:662,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:664,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:668,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:674,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:678,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:683,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:686,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:691,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:694,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:698,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:702,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:706,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:709,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:711,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:714,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:717,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:720,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:723,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:726,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:729,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:732,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:735,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:738,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:742,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:747,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:752,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 2
    argNames:
    - log
    - params
    argTypes:
    - ngtcp2_log*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 760
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 760
    functionName: ngtcp2_log_remote_tp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_encode_hex
    - ngtcp2_encode_ipv4
    - ngtcp2_encode_ipv6
    - ngtcp2_log*::log_printf
    - ngtcp2_ntohs
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_remote_tp(ngtcp2_log *log,\n                          const
      ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:768,1
    - Dst: strpkttype_type_flags
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - log
    - pkt_num
    - type
    - flags
    - sent_ts
    argTypes:
    - ngtcp2_log*
    - int64_t
    - uint8_t
    - uint8_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 771
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 771
    functionName: ngtcp2_log_pkt_lost
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 2
    functionsReached:
    - strpkttype_type_flags
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_pkt_lost(ngtcp2_log *log, int64_t pkt_num, uint8_t
      type,\n                         uint8_t flags, ngtcp2_tstamp sent_ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:783,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:786,1
    - Dst: strpkttype
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:787,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:789,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:793,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:794,1
    - Dst: strpkttype
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - log
    - hd
    - dir
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    - char*
    constantsTouched: []
    func_position:
      end: 797
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 797
    functionName: log_pkt_hd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strpkttype
    - ngtcp2_log_info
    - ngtcp2_encode_hex
    linkageType: ''
    returnType: void
    signature: "void log_pkt_hd(ngtcp2_log *log, const ngtcp2_pkt_hd *hd,\n                       const
      char *dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - log
    - hd
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: ngtcp2_log_rx_pkt_hd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - log_pkt_hd
    linkageType: ''
    returnType: void
    signature: void ngtcp2_log_rx_pkt_hd(ngtcp2_log *log, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - log
    - hd
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: ngtcp2_log_tx_pkt_hd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - log_pkt_hd
    linkageType: ''
    returnType: void
    signature: void ngtcp2_log_tx_pkt_hd(ngtcp2_log *log, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:817,1
    - Dst: vsnprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:818,1
    - Dst: va_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:819,1
    - Dst: ngtcp2_log*::log_printf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:825,1
    - Dst: timestamp_cast
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:826,1
    - Dst: strevent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - log
    - ev
    - fmt
    argTypes:
    - ngtcp2_log*
    - ngtcp2_log_event
    - char*
    constantsTouched: []
    func_position:
      end: 828
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 828
    functionName: ngtcp2_log_info
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 20
    functionsReached:
    - va_start
    - va_end
    - ngtcp2_log*::log_printf
    - strevent
    - timestamp_cast
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_log_info(ngtcp2_log *log, ngtcp2_log_event ev, const char
      *fmt,\n                     ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:831,1
    - Dst: strpkttype
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - log
    - hd
    argTypes:
    - ngtcp2_log*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: ngtcp2_log_tx_cancel
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_log.c
    functionUses: 0
    functionsReached:
    - strpkttype
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void ngtcp2_log_tx_cancel(ngtcp2_log *log, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - begin
    - end
    argTypes:
    - ngtcp2_range*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ngtcp2_range_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_range_init(ngtcp2_range *r, uint64_t begin, uint64_t end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_range_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_range*
    - ngtcp2_range*
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: ngtcp2_range_intersect
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 4
    functionsReached:
    - ngtcp2_range_init
    linkageType: ''
    returnType: ngtcp2_range
    signature: "ngtcp2_range ngtcp2_range_intersect(const ngtcp2_range *a,\n                                    const
      ngtcp2_range *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ngtcp2_range*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ngtcp2_range_len
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_range_len(const ngtcp2_range *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_range*
    - ngtcp2_range*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: ngtcp2_range_eq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_range_eq(const ngtcp2_range *a, const ngtcp2_range *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - left
    - right
    - a
    - b
    argTypes:
    - ngtcp2_range*
    - ngtcp2_range*
    - ngtcp2_range*
    - ngtcp2_range*
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ngtcp2_range_cut
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_range_cut(ngtcp2_range *left, ngtcp2_range *right,\n                      const
      ngtcp2_range *a, const ngtcp2_range *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_range*
    - ngtcp2_range*
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ngtcp2_range_not_after
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_range_not_after(const ngtcp2_range *a, const ngtcp2_range
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:48,1
    - Dst: ngtcp2_arraylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 7
    argNames:
    - ppmtud
    - max_udp_payload_size
    - hard_max_udp_payload_size
    - tx_pkt_num
    - probes
    - probeslen
    - mem
    argTypes:
    - ngtcp2_pmtud**
    - size_t
    - size_t
    - int64_t
    - uint16_t*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: ngtcp2_pmtud_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached:
    - ngtcp2_arraylen
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pmtud_new(ngtcp2_pmtud **ppmtud, size_t max_udp_payload_size,\n
      \                    size_t hard_max_udp_payload_size, int64_t tx_pkt_num,\n
      \                    const uint16_t *probes, size_t probeslen,\n                     const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pmtud
    argTypes:
    - ngtcp2_pmtud*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: ngtcp2_pmtud_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pmtud_del(ngtcp2_pmtud *pmtud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmtud
    argTypes:
    - ngtcp2_pmtud*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ngtcp2_pmtud_probelen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_pmtud_probelen(ngtcp2_pmtud *pmtud)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pmtud
    - pto
    - ts
    argTypes:
    - ngtcp2_pmtud*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: ngtcp2_pmtud_probe_sent
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_pmtud_probe_sent(ngtcp2_pmtud *pmtud, ngtcp2_duration
      pto,\n                             ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmtud
    argTypes:
    - ngtcp2_pmtud*
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: ngtcp2_pmtud_require_probe
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pmtud_require_probe(ngtcp2_pmtud *pmtud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pmtud
    argTypes:
    - ngtcp2_pmtud*
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: pmtud_next_probe
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void pmtud_next_probe(ngtcp2_pmtud *pmtud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:137,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:139,1
    - Dst: pmtud_next_probe
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pmtud
    - payloadlen
    argTypes:
    - ngtcp2_pmtud*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: ngtcp2_pmtud_probe_success
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 1
    functionsReached:
    - assert
    - pmtud_next_probe
    - ngtcp2_max_size
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pmtud_probe_success(ngtcp2_pmtud *pmtud, size_t payloadlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:159,1
    - Dst: pmtud_next_probe
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pmtud
    - ts
    argTypes:
    - ngtcp2_pmtud*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: ngtcp2_pmtud_handle_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 0
    functionsReached:
    - pmtud_next_probe
    - ngtcp2_min_size
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pmtud_handle_expiry(ngtcp2_pmtud *pmtud, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmtud
    argTypes:
    - ngtcp2_pmtud*
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: ngtcp2_pmtud_finished
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pmtud.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pmtud_finished(ngtcp2_pmtud *pmtud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:42,1
    - Dst: ngtcp2_path_storage_init2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:47,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - ppc
    - path
    - pi
    - pkt
    - pktlen
    - dgramlen
    - ts
    - mem
    argTypes:
    - ngtcp2_pkt_chain**
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_tstamp
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: ngtcp2_pkt_chain_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_storage_init2
    - ngtcp2_mem_malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pkt_chain_new(ngtcp2_pkt_chain **ppc, const ngtcp2_path
      *path,\n                         const ngtcp2_pkt_info *pi, const uint8_t *pkt,\n
      \                        size_t pktlen, size_t dgramlen, ngtcp2_tstamp ts,\n
      \                        const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pc
    - mem
    argTypes:
    - ngtcp2_pkt_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: ngtcp2_pkt_chain_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pkt_chain_del(ngtcp2_pkt_chain *pc, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:71,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:98,1
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:100,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - dest
    - data
    - datalen
    - short_dcidlen
    argTypes:
    - ngtcp2_version_cid*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 144
    functionName: ngtcp2_pkt_decode_version_cid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_is_supported_version
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pkt_decode_version_cid(ngtcp2_version_cid *dest, const
      uint8_t *data,\n                                  size_t datalen, size_t short_dcidlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:155,1
    - Dst: ngtcp2_cid_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 8
    argNames:
    - hd
    - flags
    - type
    - dcid
    - scid
    - pkt_num
    - pkt_numlen
    - version
    argTypes:
    - ngtcp2_pkt_hd*
    - uint8_t
    - uint8_t
    - ngtcp2_cid*
    - ngtcp2_cid*
    - int64_t
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: ngtcp2_pkt_hd_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cid_zero
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_pkt_hd_init(ngtcp2_pkt_hd *hd, uint8_t flags, uint8_t
      type,\n                        const ngtcp2_cid *dcid, const ngtcp2_cid *scid,\n
      \                       int64_t pkt_num, size_t pkt_numlen, uint32_t version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:195,1
    - Dst: ngtcp2_pkt_get_type_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:209,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:227,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:266,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:273,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:293,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:299,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:306,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:323,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:325,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:338,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 109
    argCount: 3
    argNames:
    - dest
    - pkt
    - pktlen
    argTypes:
    - ngtcp2_pkt_hd*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 341
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 341
    functionName: ngtcp2_pkt_decode_hd_long
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_unreachable
    - ngtcp2_get_uvarint
    - ngtcp2_get_uvarintlen
    - ngtcp2_pkt_get_type_long
    - ngtcp2_cid_init
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_hd_long(ngtcp2_pkt_hd *dest, const
      uint8_t *pkt,\n                                       size_t pktlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:349,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:367,1
    - Dst: ngtcp2_cid_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:372,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - dest
    - pkt
    - pktlen
    - dcidlen
    argTypes:
    - ngtcp2_pkt_hd*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 385
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 385
    functionName: ngtcp2_pkt_decode_hd_short
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cid_zero
    - assert
    - ngtcp2_cid_init
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_hd_short(ngtcp2_pkt_hd *dest, const
      uint8_t *pkt,\n                                        size_t pktlen, size_t
      dcidlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:399,1
    - Dst: ngtcp2_pkt_versioned_type
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:409,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:418,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:422,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:428,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:432,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:435,1
    - Dst: ngtcp2_put_uvarint30
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:440,1
    - Dst: ngtcp2_put_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:441,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - out
    - outlen
    - hd
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 447
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 447
    functionName: ngtcp2_pkt_encode_hd_long
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint30
    - ngtcp2_put_pkt_num
    - ngtcp2_pkt_versioned_type
    - ngtcp2_cpymem
    - ngtcp2_put_uvarintlen
    - ngtcp2_put_uint32be
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_hd_long(uint8_t *out, size_t outlen,\n
      \                                      const ngtcp2_pkt_hd *hd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:473,1
    - Dst: ngtcp2_put_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:476,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - out
    - outlen
    - hd
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 481
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 481
    functionName: ngtcp2_pkt_encode_hd_short
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    - ngtcp2_put_pkt_num
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_hd_short(uint8_t *out, size_t outlen,\n
      \                                       const ngtcp2_pkt_hd *hd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_padding_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:495,1
    - Dst: ngtcp2_pkt_decode_reset_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:497,1
    - Dst: ngtcp2_pkt_decode_connection_close_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:501,1
    - Dst: ngtcp2_pkt_decode_max_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:504,1
    - Dst: ngtcp2_pkt_decode_max_stream_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:507,1
    - Dst: ngtcp2_pkt_decode_max_streams_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:511,1
    - Dst: ngtcp2_pkt_decode_ping_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:514,1
    - Dst: ngtcp2_pkt_decode_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:516,1
    - Dst: ngtcp2_pkt_decode_stream_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:519,1
    - Dst: ngtcp2_pkt_decode_streams_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:523,1
    - Dst: ngtcp2_pkt_decode_new_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:526,1
    - Dst: ngtcp2_pkt_decode_stop_sending_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:529,1
    - Dst: ngtcp2_pkt_decode_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:533,1
    - Dst: ngtcp2_pkt_decode_path_challenge_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:535,1
    - Dst: ngtcp2_pkt_decode_path_response_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:538,1
    - Dst: ngtcp2_pkt_decode_crypto_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:541,1
    - Dst: ngtcp2_pkt_decode_new_token_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:543,1
    - Dst: ngtcp2_pkt_decode_retire_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:546,1
    - Dst: ngtcp2_pkt_decode_handshake_done_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:549,1
    - Dst: ngtcp2_pkt_decode_datagram_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:553,1
    - Dst: ngtcp2_pkt_decode_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_frame*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 567
    functionName: ngtcp2_pkt_decode_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_decode_ping_frame
    - ngtcp2_pkt_decode_connection_close_frame
    - ngtcp2_pkt_decode_max_data_frame
    - ngtcp2_pkt_decode_retire_connection_id_frame
    - ngtcp2_pkt_decode_reset_stream_frame
    - ngtcp2_pkt_decode_path_challenge_frame
    - ngtcp2_pkt_decode_max_streams_frame
    - ngtcp2_pkt_decode_ack_frame
    - ngtcp2_pkt_decode_stream_data_blocked_frame
    - ngtcp2_pkt_decode_stop_sending_frame
    - ngtcp2_pkt_decode_new_token_frame
    - ngtcp2_pkt_decode_datagram_frame
    - ngtcp2_pkt_decode_stream_frame
    - ngtcp2_pkt_decode_streams_blocked_frame
    - ngtcp2_pkt_decode_path_response_frame
    - ngtcp2_pkt_decode_padding_frame
    - ngtcp2_pkt_decode_crypto_frame
    - ngtcp2_pkt_decode_handshake_done_frame
    - ngtcp2_pkt_decode_max_stream_data_frame
    - ngtcp2_pkt_decode_data_blocked_frame
    - ngtcp2_pkt_decode_new_connection_id_frame
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_frame(ngtcp2_frame *dest, const uint8_t
      *payload,\n                                     size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:588,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:603,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:619,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:626,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:642,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:645,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_stream*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 668
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 668
    functionName: ngtcp2_pkt_decode_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_get_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_stream_frame(ngtcp2_stream *dest,\n
      \                                           const uint8_t *payload,\n                                            size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:692,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:702,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:712,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:719,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:728,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:740,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:758,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:770,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:775,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:776,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:781,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:785,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:786,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:790,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:791,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:795,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:796,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:797,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:800,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_ack*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 803
      start: 670
    functionDepth: 3
    functionLinenumber: 670
    functionLinenumberEnd: 803
    functionName: ngtcp2_pkt_decode_ack_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_varint
    - ngtcp2_min_size
    - ngtcp2_get_uvarint
    - ngtcp2_get_uvarintlen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_ack_frame(ngtcp2_ack *dest,\n                                         const
      uint8_t *payload,\n                                         size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_padding*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 822
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 822
    functionName: ngtcp2_pkt_decode_padding_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_padding_frame(ngtcp2_padding *dest,\n
      \                                            const uint8_t *payload,\n                                             size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:837,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:845,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:853,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:863,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:864,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:865,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_reset_stream*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 870
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 870
    functionName: ngtcp2_pkt_decode_reset_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_get_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_reset_stream_frame(ngtcp2_reset_stream
      *dest,\n                                                  const uint8_t *payload,\n
      \                                                 size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:890,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:902,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:912,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:919,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:930,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:933,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:948,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_connection_close*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 951
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 951
    functionName: ngtcp2_pkt_decode_connection_close_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_connection_close_frame(\n  ngtcp2_connection_close
      *dest, const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:966,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:974,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_max_data*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 979
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 979
    functionName: ngtcp2_pkt_decode_max_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_max_data_frame(ngtcp2_max_data *dest,\n
      \                                             const uint8_t *payload,\n                                              size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:993,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1002,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1012,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1013,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_max_stream_data*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1018
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1018
    functionName: ngtcp2_pkt_decode_max_stream_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_get_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_max_stream_data_frame(\n  ngtcp2_max_stream_data
      *dest, const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1033,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1041,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_max_streams*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1046
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1046
    functionName: ngtcp2_pkt_decode_max_streams_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_max_streams_frame(ngtcp2_max_streams
      *dest,\n                                                 const uint8_t *payload,\n
      \                                                size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_ping*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: ngtcp2_pkt_decode_ping_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_ping_frame(ngtcp2_ping *dest,\n                                          const
      uint8_t *payload,\n                                          size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1071,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1079,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_data_blocked*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1084
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1084
    functionName: ngtcp2_pkt_decode_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_data_blocked_frame(ngtcp2_data_blocked
      *dest,\n                                                  const uint8_t *payload,\n
      \                                                 size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1098,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1107,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1117,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1118,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_stream_data_blocked*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1123
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1123
    functionName: ngtcp2_pkt_decode_stream_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_get_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_stream_data_blocked_frame(\n  ngtcp2_stream_data_blocked
      *dest, const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1137,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1145,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_streams_blocked*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1150
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1150
    functionName: ngtcp2_pkt_decode_streams_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_streams_blocked_frame(\n  ngtcp2_streams_blocked
      *dest, const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1165,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1174,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1196,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1197,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1199,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1201,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_new_connection_id*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1207
      start: 1152
    functionDepth: 3
    functionLinenumber: 1152
    functionLinenumberEnd: 1207
    functionName: ngtcp2_pkt_decode_new_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_bytes
    - ngtcp2_get_uvarint
    - ngtcp2_get_uvarintlen
    - ngtcp2_cid_init
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_new_connection_id_frame(\n  ngtcp2_new_connection_id
      *dest, const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1222,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1230,1
    - Dst: ngtcp2_get_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1240,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1241,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_stop_sending*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1246
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1246
    functionName: ngtcp2_pkt_decode_stop_sending_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_get_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_stop_sending_frame(ngtcp2_stop_sending
      *dest,\n                                                  const uint8_t *payload,\n
      \                                                 size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1261,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_path_challenge*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1267
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1267
    functionName: ngtcp2_pkt_decode_path_challenge_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_path_challenge_frame(ngtcp2_path_challenge
      *dest,\n                                                    const uint8_t *payload,\n
      \                                                   size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1282,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_path_response*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1288
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1288
    functionName: ngtcp2_pkt_decode_path_response_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_path_response_frame(ngtcp2_path_response
      *dest,\n                                                   const uint8_t *payload,\n
      \                                                  size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1306,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1315,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1322,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1336,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_stream*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1352
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1352
    functionName: ngtcp2_pkt_decode_crypto_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_crypto_frame(ngtcp2_stream *dest,\n
      \                                           const uint8_t *payload,\n                                            size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1369,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1376,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_new_token*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1392
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1392
    functionName: ngtcp2_pkt_decode_new_token_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_new_token_frame(ngtcp2_new_token *dest,\n
      \                                              const uint8_t *payload,\n                                               size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1408,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1416,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_retire_connection_id*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1421
      start: 1394
    functionDepth: 3
    functionLinenumber: 1394
    functionLinenumberEnd: 1421
    functionName: ngtcp2_pkt_decode_retire_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_retire_connection_id_frame(ngtcp2_retire_connection_id
      *dest,\n                                             const uint8_t *payload,\n
      \                                            size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_handshake_done*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1431
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1431
    functionName: ngtcp2_pkt_decode_handshake_done_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_handshake_done_frame(ngtcp2_handshake_done
      *dest,\n                                                    const uint8_t *payload,\n
      \                                                   size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1462,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1469,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1479,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_datagram*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1499
      start: 1433
    functionDepth: 3
    functionLinenumber: 1433
    functionLinenumberEnd: 1499
    functionName: ngtcp2_pkt_decode_datagram_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    - ngtcp2_unreachable
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_decode_datagram_frame(ngtcp2_datagram *dest,\n
      \                                             const uint8_t *payload,\n                                              size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_encode_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1505,1
    - Dst: ngtcp2_pkt_encode_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1508,1
    - Dst: ngtcp2_pkt_encode_padding_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1510,1
    - Dst: ngtcp2_pkt_encode_reset_stream_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1512,1
    - Dst: ngtcp2_pkt_encode_connection_close_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1515,1
    - Dst: ngtcp2_pkt_encode_max_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1518,1
    - Dst: ngtcp2_pkt_encode_max_stream_data_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1520,1
    - Dst: ngtcp2_pkt_encode_max_streams_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1524,1
    - Dst: ngtcp2_pkt_encode_ping_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1526,1
    - Dst: ngtcp2_pkt_encode_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1528,1
    - Dst: ngtcp2_pkt_encode_stream_data_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1530,1
    - Dst: ngtcp2_pkt_encode_streams_blocked_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1534,1
    - Dst: ngtcp2_pkt_encode_new_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1537,1
    - Dst: ngtcp2_pkt_encode_stop_sending_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1540,1
    - Dst: ngtcp2_pkt_encode_path_challenge_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1542,1
    - Dst: ngtcp2_pkt_encode_path_response_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1545,1
    - Dst: ngtcp2_pkt_encode_crypto_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1548,1
    - Dst: ngtcp2_pkt_encode_new_token_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1550,1
    - Dst: ngtcp2_pkt_encode_retire_connection_id_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1552,1
    - Dst: ngtcp2_pkt_encode_handshake_done_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1555,1
    - Dst: ngtcp2_pkt_encode_datagram_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1563
    functionName: ngtcp2_pkt_encode_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_encode_max_data_frame
    - ngtcp2_pkt_encode_ack_frame
    - ngtcp2_pkt_encode_path_challenge_frame
    - ngtcp2_pkt_encode_max_stream_data_frame
    - ngtcp2_pkt_encode_path_response_frame
    - ngtcp2_pkt_encode_reset_stream_frame
    - ngtcp2_pkt_encode_streams_blocked_frame
    - ngtcp2_pkt_encode_stop_sending_frame
    - ngtcp2_pkt_encode_handshake_done_frame
    - ngtcp2_pkt_encode_max_streams_frame
    - ngtcp2_pkt_encode_stream_data_blocked_frame
    - ngtcp2_pkt_encode_retire_connection_id_frame
    - ngtcp2_pkt_encode_datagram_frame
    - ngtcp2_pkt_encode_new_token_frame
    - ngtcp2_pkt_encode_padding_frame
    - ngtcp2_pkt_encode_new_connection_id_frame
    - ngtcp2_pkt_encode_crypto_frame
    - ngtcp2_pkt_encode_data_blocked_frame
    - ngtcp2_pkt_encode_ping_frame
    - ngtcp2_pkt_encode_stream_frame
    - ngtcp2_pkt_encode_connection_close_frame
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_frame(uint8_t *out, size_t outlen,\n
      \                                    ngtcp2_frame *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1579,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1582,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1588,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1601,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1604,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1607,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1610,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1611,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1612,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1565
    functionDepth: 3
    functionLinenumber: 1565
    functionLinenumberEnd: 1618
    functionName: ngtcp2_pkt_encode_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    - ngtcp2_put_uvarint
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_stream_frame(uint8_t *out, size_t outlen,\n
      \                                           ngtcp2_stream *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1632,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1633,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1637,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1638,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1639,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1649,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1650,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1651,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1652,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1656,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1657,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1661,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1662,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1663,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_ack*
    constantsTouched: []
    func_position:
      end: 1669
      start: 1620
    functionDepth: 3
    functionLinenumber: 1620
    functionLinenumberEnd: 1669
    functionName: ngtcp2_pkt_encode_ack_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_ack_frame(uint8_t *out, size_t outlen,\n
      \                                        const ngtcp2_ack *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_padding*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1680
    functionName: ngtcp2_pkt_encode_padding_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_padding_frame(uint8_t *out, size_t
      outlen,\n                                             const ngtcp2_padding *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1697,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1698,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1699,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_reset_stream*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1704
    functionName: ngtcp2_pkt_encode_reset_stream_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_reset_stream_frame(uint8_t *out, size_t
      outlen,\n                                     const ngtcp2_reset_stream *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1723,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1726,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1729,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1732,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_connection_close*
    constantsTouched: []
    func_position:
      end: 1738
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1738
    functionName: ngtcp2_pkt_encode_connection_close_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_connection_close_frame(uint8_t *out,
      size_t outlen,\n                                         const ngtcp2_connection_close
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1752,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_max_data*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1757
    functionName: ngtcp2_pkt_encode_max_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_max_data_frame(uint8_t *out, size_t
      outlen,\n                                              const ngtcp2_max_data
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1773,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1774,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_max_stream_data*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1759
    functionDepth: 3
    functionLinenumber: 1759
    functionLinenumberEnd: 1779
    functionName: ngtcp2_pkt_encode_max_stream_data_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_max_stream_data_frame(uint8_t *out,
      size_t outlen,\n                                        const ngtcp2_max_stream_data
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1793,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_max_streams*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1798
    functionName: ngtcp2_pkt_encode_max_streams_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_max_streams_frame(uint8_t *out, size_t
      outlen,\n                                                 const ngtcp2_max_streams
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_ping*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1811
    functionName: ngtcp2_pkt_encode_ping_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_ping_frame(uint8_t *out, size_t outlen,\n
      \                                         const ngtcp2_ping *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1826,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_data_blocked*
    constantsTouched: []
    func_position:
      end: 1831
      start: 1813
    functionDepth: 3
    functionLinenumber: 1813
    functionLinenumberEnd: 1831
    functionName: ngtcp2_pkt_encode_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_data_blocked_frame(uint8_t *out, size_t
      outlen,\n                                     const ngtcp2_data_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1846,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1847,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_stream_data_blocked*
    constantsTouched: []
    func_position:
      end: 1852
      start: 1833
    functionDepth: 3
    functionLinenumber: 1833
    functionLinenumberEnd: 1852
    functionName: ngtcp2_pkt_encode_stream_data_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_stream_data_blocked_frame(\n  uint8_t
      *out, size_t outlen, const ngtcp2_stream_data_blocked *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1867,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_streams_blocked*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1872
    functionName: ngtcp2_pkt_encode_streams_blocked_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_streams_blocked_frame(uint8_t *out,
      size_t outlen,\n                                        const ngtcp2_streams_blocked
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1889,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1890,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1892,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1893,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_new_connection_id*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1874
    functionDepth: 3
    functionLinenumber: 1874
    functionLinenumberEnd: 1899
    functionName: ngtcp2_pkt_encode_new_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_new_connection_id_frame(uint8_t *out,
      size_t outlen,\n                                          const ngtcp2_new_connection_id
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1915,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1916,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_stop_sending*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 1921
    functionName: ngtcp2_pkt_encode_stop_sending_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_stop_sending_frame(uint8_t *out, size_t
      outlen,\n                                     const ngtcp2_stop_sending *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1936,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_path_challenge*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1923
    functionDepth: 2
    functionLinenumber: 1923
    functionLinenumberEnd: 1941
    functionName: ngtcp2_pkt_encode_path_challenge_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_path_challenge_frame(uint8_t *out,
      size_t outlen,\n                                       const ngtcp2_path_challenge
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1956,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_path_response*
    constantsTouched: []
    func_position:
      end: 1961
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 1961
    functionName: ngtcp2_pkt_encode_path_response_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_path_response_frame(uint8_t *out, size_t
      outlen,\n                                      const ngtcp2_path_response *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1970,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1976,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1987,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1988,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1991,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1992,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1963
    functionDepth: 3
    functionLinenumber: 1963
    functionLinenumberEnd: 1998
    functionName: ngtcp2_pkt_encode_crypto_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_cpymem
    - ngtcp2_put_uvarint
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_crypto_frame(uint8_t *out, size_t outlen,\n
      \                                           const ngtcp2_stream *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2005,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2015,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2016,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_new_token*
    constantsTouched: []
    func_position:
      end: 2021
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2021
    functionName: ngtcp2_pkt_encode_new_token_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_new_token_frame(uint8_t *out, size_t
      outlen,\n                                               const ngtcp2_new_token
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2036,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_retire_connection_id*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2041
    functionName: ngtcp2_pkt_encode_retire_connection_id_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_retire_connection_id_frame(\n  uint8_t
      *out, size_t outlen, const ngtcp2_retire_connection_id *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_handshake_done*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2055
    functionName: ngtcp2_pkt_encode_handshake_done_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_handshake_done_frame(uint8_t *out,
      size_t outlen,\n                                       const ngtcp2_handshake_done
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2067,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2079,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2087,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - out
    - outlen
    - fr
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_datagram*
    constantsTouched: []
    func_position:
      end: 2093
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2093
    functionName: ngtcp2_pkt_encode_datagram_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_datagram_frame(uint8_t *out, size_t
      outlen,\n                                              const ngtcp2_datagram
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2103,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2104,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2113,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2117,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2123,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2127,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 9
    argNames:
    - dest
    - destlen
    - unused_random
    - dcid
    - dcidlen
    - scid
    - scidlen
    - sv
    - nsv
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2133
      start: 2095
    functionDepth: 2
    functionLinenumber: 2095
    functionLinenumberEnd: 2133
    functionName: ngtcp2_pkt_write_version_negotiation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_cpymem
    - ngtcp2_put_uint32be
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_write_version_negotiation(\n  uint8_t *dest,
      size_t destlen, uint8_t unused_random, const uint8_t *dcid,\n  size_t dcidlen,
      const uint8_t *scid, size_t scidlen, const uint32_t *sv,\n  size_t nsv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2140,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - uint32_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2147
      start: 2135
    functionDepth: 2
    functionLinenumber: 2135
    functionLinenumberEnd: 2147
    functionName: ngtcp2_pkt_decode_version_negotiation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_pkt_decode_version_negotiation(uint32_t *dest,\n                                             const
      uint8_t *payload,\n                                             size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sr
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_pkt_stateless_reset*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2165
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2165
    functionName: ngtcp2_pkt_decode_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pkt_decode_stateless_reset(ngtcp2_pkt_stateless_reset *sr,\n
      \                                     const uint8_t *payload,\n                                      size_t
      payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_pkt_retry*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2180
      start: 2167
    functionDepth: 2
    functionLinenumber: 2167
    functionLinenumberEnd: 2180
    functionName: ngtcp2_pkt_decode_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cpymem
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pkt_decode_retry(ngtcp2_pkt_retry *dest, const uint8_t
      *payload,\n                            size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - max_pkt_num
    - pkt_num
    - pkt_numlen
    argTypes:
    - int64_t
    - int64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2200
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2200
    functionName: ngtcp2_pkt_adjust_pkt_num
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int64_t
    signature: "int64_t ngtcp2_pkt_adjust_pkt_num(int64_t max_pkt_num, int64_t pkt_num,\n
      \                                 size_t pkt_numlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - fr
    - min_pkt_num
    argTypes:
    - ngtcp2_ack*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2235
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2235
    functionName: ngtcp2_pkt_validate_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pkt_validate_ack(const ngtcp2_ack *fr, int64_t min_pkt_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2254,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2256,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - dest
    - destlen
    - stateless_reset_token
    - rand
    - randlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2261
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2261
    functionName: ngtcp2_pkt_write_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_size
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_write_stateless_reset(uint8_t *dest, size_t
      destlen,\n                                 const uint8_t *stateless_reset_token,\n
      \                                const uint8_t *rand, size_t randlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2278,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2279,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2279,1
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2288,1
    - Dst: ngtcp2_pkt_encode_pseudo_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2292,1
    - Dst: encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2311,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2322,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 11
    argNames:
    - dest
    - destlen
    - version
    - dcid
    - scid
    - odcid
    - token
    - tokenlen
    - encrypt
    - aead
    - aead_ctx
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - ngtcp2_encrypt
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2263
    functionDepth: 3
    functionLinenumber: 2263
    functionLinenumberEnd: 2327
    functionName: ngtcp2_pkt_write_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_hd_init
    - assert
    - ngtcp2_cid_eq
    - ngtcp2_cpymem
    - ngtcp2_pkt_encode_pseudo_retry
    - encrypt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_write_retry(\n  uint8_t *dest, size_t destlen,
      uint32_t version, const ngtcp2_cid *dcid,\n  const ngtcp2_cid *scid, const ngtcp2_cid
      *odcid, const uint8_t *token,\n  size_t tokenlen, ngtcp2_encrypt encrypt, const
      ngtcp2_crypto_aead *aead,\n  const ngtcp2_crypto_aead_ctx *aead_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2340,1
    - Dst: ngtcp2_pkt_encode_hd_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2343,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - dest
    - destlen
    - hd
    - unused
    - odcid
    - token
    - tokenlen
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_pkt_hd*
    - uint8_t
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2360
      start: 2329
    functionDepth: 4
    functionLinenumber: 2329
    functionLinenumberEnd: 2360
    functionName: ngtcp2_pkt_encode_pseudo_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_encode_hd_long
    - ngtcp2_cpymem
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_encode_pseudo_retry(\n  uint8_t *dest, size_t
      destlen, const ngtcp2_pkt_hd *hd, uint8_t unused,\n  const ngtcp2_cid *odcid,
      const uint8_t *token, size_t tokenlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2375,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2383,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2384,1
    - Dst: encrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2401,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 7
    argNames:
    - version
    - retry
    - pkt
    - pktlen
    - encrypt
    - aead
    - aead_ctx
    argTypes:
    - uint32_t
    - ngtcp2_pkt_retry*
    - uint8_t*
    - size_t
    - ngtcp2_encrypt
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2362
    functionDepth: 2
    functionLinenumber: 2362
    functionLinenumberEnd: 2412
    functionName: ngtcp2_pkt_verify_retry_tag
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - memcmp
    - assert
    - ngtcp2_cpymem
    - encrypt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_pkt_verify_retry_tag(uint32_t version, const ngtcp2_pkt_retry
      *retry,\n                                const uint8_t *pkt, size_t pktlen,\n
      \                               ngtcp2_encrypt encrypt,\n                                const
      ngtcp2_crypto_aead *aead,\n                                const ngtcp2_crypto_aead_ctx
      *aead_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2426,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2427,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2431,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2432,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2436,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2437,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2440,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - stream_id
    - offset
    - len
    - left
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2442
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2442
    functionName: ngtcp2_pkt_stream_max_datalen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: size_t
    signature: "size_t ngtcp2_pkt_stream_max_datalen(int64_t stream_id, uint64_t offset,\n
      \                                    uint64_t len, size_t left)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2457,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2459,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2463,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2464,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2468,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2469,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2472,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - offset
    - len
    - left
    argTypes:
    - uint64_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2474
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2474
    functionName: ngtcp2_pkt_crypto_max_datalen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_pkt_crypto_max_datalen(uint64_t offset, size_t len, size_t
      left)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2478
      start: 2476
    functionDepth: 2
    functionLinenumber: 2476
    functionLinenumberEnd: 2478
    functionName: ngtcp2_pkt_datagram_framelen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_pkt_datagram_framelen(size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2488
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2488
    functionName: ngtcp2_is_supported_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_is_supported_version(uint32_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2493
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2493
    functionName: ngtcp2_is_reserved_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_is_reserved_version(uint32_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - version
    - c
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2530
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2530
    functionName: ngtcp2_pkt_get_type_long
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - ngtcp2_is_supported_version
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ngtcp2_pkt_get_type_long(uint32_t version, uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2545,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c:2562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - version
    - pkt_type
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2565
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2565
    functionName: ngtcp2_pkt_versioned_type
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 1
    functionsReached:
    - ngtcp2_unreachable
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ngtcp2_pkt_versioned_type(uint32_t version, uint32_t pkt_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2573
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2573
    functionName: ngtcp2_pkt_verify_reserved_bits
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pkt_verify_reserved_bits(uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - least_version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ngtcp2_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_info
    signature: ngtcp2_info *ngtcp2_version(int least_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: conn_local_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_local_stream(ngtcp2_conn *conn, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: bidi_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bidi_stream(int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:76,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: conn_update_timestamp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void conn_update_timestamp(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: conn_is_tls_handshake_completed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_is_tls_handshake_completed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:96,1
    - Dst: ngtcp2_conn*::callbacks::recv_client_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - dcid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: conn_call_recv_client_initial
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::recv_client_initial
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_client_initial(ngtcp2_conn *conn,\n                                         const
      ngtcp2_cid *dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: conn_call_handshake_completed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::handshake_completed
    linkageType: ''
    returnType: int
    signature: int conn_call_handshake_completed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - conn
    - strm
    - flags
    - offset
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint32_t
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: conn_call_recv_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_stream_data
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_stream_data(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                                     uint32_t flags, uint64_t offset,\n                                      const
      uint8_t *data, size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:146,1
    - Dst: ngtcp2_conn*::callbacks::recv_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - conn
    - encryption_level
    - offset
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 164
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 164
    functionName: conn_call_recv_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::recv_crypto_data
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_crypto_data(ngtcp2_conn *conn,\n                                      ngtcp2_encryption_level
      encryption_level,\n                                      uint64_t offset, const
      uint8_t *data,\n                                      size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: conn_call_stream_open
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::stream_open
    linkageType: ''
    returnType: int
    signature: int conn_call_stream_open(ngtcp2_conn *conn, ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::stream_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: conn_call_stream_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::stream_close
    linkageType: ''
    returnType: int
    signature: int conn_call_stream_close(ngtcp2_conn *conn, ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::stream_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - stream_id
    - final_size
    - app_error_code
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: conn_call_stream_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::stream_reset
    linkageType: ''
    returnType: int
    signature: "int conn_call_stream_reset(ngtcp2_conn *conn, int64_t stream_id,\n
      \                                 uint64_t final_size, uint64_t app_error_code,\n
      \                                 void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::extend_max_local_streams_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - max_streams
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: conn_call_extend_max_local_streams_bidi
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::extend_max_local_streams_bidi
    linkageType: ''
    returnType: int
    signature: "int conn_call_extend_max_local_streams_bidi(ngtcp2_conn *conn,\n                                                   uint64_t
      max_streams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::extend_max_local_streams_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - max_streams
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 253
    functionName: conn_call_extend_max_local_streams_uni
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::extend_max_local_streams_uni
    linkageType: ''
    returnType: int
    signature: "int conn_call_extend_max_local_streams_uni(ngtcp2_conn *conn,\n                                                  uint64_t
      max_streams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:259,1
    - Dst: ngtcp2_conn*::callbacks::get_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - conn
    - cid
    - token
    - cidlen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: conn_call_get_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::get_new_connection_id
    linkageType: ''
    returnType: int
    signature: "int conn_call_get_new_connection_id(ngtcp2_conn *conn, ngtcp2_cid
      *cid,\n                                           uint8_t *token, size_t cidlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::remove_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - cid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: conn_call_remove_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::remove_connection_id
    linkageType: ''
    returnType: int
    signature: "int conn_call_remove_connection_id(ngtcp2_conn *conn,\n                                          const
      ngtcp2_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_addr_cmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:305,1
    - Dst: ngtcp2_conn*::callbacks::path_validation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - conn
    - pv
    - res
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pv*
    - ngtcp2_path_validation_result
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: conn_call_path_validation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::path_validation
    - ngtcp2_addr_cmp
    linkageType: ''
    returnType: int
    signature: "int conn_call_path_validation(ngtcp2_conn *conn, const ngtcp2_pv *pv,\n
      \                                    ngtcp2_path_validation_result res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:327,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:328,1
    - Dst: ngtcp2_conn*::callbacks::select_preferred_addr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - dest
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: conn_call_select_preferred_addr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::select_preferred_addr
    linkageType: ''
    returnType: int
    signature: "int conn_call_select_preferred_addr(ngtcp2_conn *conn,\n                                           ngtcp2_path
      *dest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::extend_max_remote_streams_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - max_streams
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: conn_call_extend_max_remote_streams_bidi
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::extend_max_remote_streams_bidi
    linkageType: ''
    returnType: int
    signature: "int conn_call_extend_max_remote_streams_bidi(ngtcp2_conn *conn,\n
      \                                                   uint64_t max_streams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::extend_max_remote_streams_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - max_streams
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: conn_call_extend_max_remote_streams_uni
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::extend_max_remote_streams_uni
    linkageType: ''
    returnType: int
    signature: "int conn_call_extend_max_remote_streams_uni(ngtcp2_conn *conn,\n                                                   uint64_t
      max_streams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::extend_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - conn
    - strm
    - stream_id
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 391
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 391
    functionName: conn_call_extend_max_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::extend_max_stream_data
    linkageType: ''
    returnType: int
    signature: "int conn_call_extend_max_stream_data(ngtcp2_conn *conn,\n                                            ngtcp2_strm
      *strm,\n                                            int64_t stream_id,\n                                            uint64_t
      datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::dcid_status
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - type
    - dcid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_connection_id_status_type
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 411
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 411
    functionName: conn_call_dcid_status
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::dcid_status
    linkageType: ''
    returnType: int
    signature: "int conn_call_dcid_status(ngtcp2_conn *conn,\n                                 ngtcp2_connection_id_status_type
      type,\n                                 const ngtcp2_dcid *dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_dcid_status
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - dcid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: conn_call_activate_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_dcid_status
    linkageType: ''
    returnType: int
    signature: int conn_call_activate_dcid(ngtcp2_conn *conn, const ngtcp2_dcid *dcid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_dcid_status
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - dcid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: conn_call_deactivate_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_dcid_status
    linkageType: ''
    returnType: int
    signature: "int conn_call_deactivate_dcid(ngtcp2_conn *conn,\n                                     const
      ngtcp2_dcid *dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::stream_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - conn
    - stream_id
    - app_error_code
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: conn_call_stream_stop_sending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::stream_stop_sending
    linkageType: ''
    returnType: int
    signature: "int conn_call_stream_stop_sending(ngtcp2_conn *conn, int64_t stream_id,\n
      \                                        uint64_t app_error_code,\n                                         void
      *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:448,1
    - Dst: ngtcp2_conn*::callbacks::delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - aead_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: conn_call_delete_crypto_aead_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::delete_crypto_aead_ctx
    linkageType: ''
    returnType: void
    signature: "void conn_call_delete_crypto_aead_ctx(ngtcp2_conn *conn,\n                                             ngtcp2_crypto_aead_ctx
      *aead_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:460,1
    - Dst: ngtcp2_conn*::callbacks::delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - cipher_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: conn_call_delete_crypto_cipher_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::delete_crypto_cipher_ctx
    - assert
    linkageType: ''
    returnType: void
    signature: "void conn_call_delete_crypto_cipher_ctx(ngtcp2_conn *conn,\n                                   ngtcp2_crypto_cipher_ctx
      *cipher_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:468,1
    - Dst: ngtcp2_conn*::callbacks::client_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 476
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 476
    functionName: conn_call_client_initial
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::client_initial
    linkageType: ''
    returnType: int
    signature: int conn_call_client_initial(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:481,1
    - Dst: ngtcp2_conn*::callbacks::get_path_challenge_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - data
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 489
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 489
    functionName: conn_call_get_path_challenge_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::get_path_challenge_data
    linkageType: ''
    returnType: int
    signature: int conn_call_get_path_challenge_data(ngtcp2_conn *conn, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - conn
    - hd
    - sv
    - nsv
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: conn_call_recv_version_negotiation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_version_negotiation
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_version_negotiation(ngtcp2_conn *conn,\n                                              const
      ngtcp2_pkt_hd *hd,\n                                              const uint32_t
      *sv, size_t nsv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:512,1
    - Dst: ngtcp2_conn*::callbacks::recv_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - hd
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 520
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 520
    functionName: conn_call_recv_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_retry
    - assert
    linkageType: ''
    returnType: int
    signature: int conn_call_recv_retry(ngtcp2_conn *conn, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - sr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_stateless_reset*
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: conn_call_recv_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_stateless_reset
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_stateless_reset(ngtcp2_conn *conn,\n                               const
      ngtcp2_pkt_stateless_reset *sr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_new_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - token
    - tokenlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 553
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 553
    functionName: conn_call_recv_new_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_new_token
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_new_token(ngtcp2_conn *conn, const uint8_t *token,\n
      \                                   size_t tokenlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::handshake_confirmed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: conn_call_handshake_confirmed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::handshake_confirmed
    linkageType: ''
    returnType: int
    signature: int conn_call_handshake_confirmed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:582,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:591,1
    - Dst: ngtcp2_conn*::callbacks::recv_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_datagram*
    constantsTouched: []
    func_position:
      end: 602
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 602
    functionName: conn_call_recv_datagram
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_datagram
    - assert
    - conn_is_tls_handshake_completed
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_datagram(ngtcp2_conn *conn,\n                                   const
      ngtcp2_datagram *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:612,1
    - Dst: ngtcp2_conn*::callbacks::update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 10
    argNames:
    - conn
    - rx_secret
    - tx_secret
    - rx_aead_ctx
    - rx_iv
    - tx_aead_ctx
    - tx_iv
    - current_rx_secret
    - current_tx_secret
    - secretlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: conn_call_update_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::update_key
    linkageType: ''
    returnType: int
    signature: "int conn_call_update_key(ngtcp2_conn *conn, uint8_t *rx_secret, uint8_t
      *tx_secret,\n                     ngtcp2_crypto_aead_ctx *rx_aead_ctx, uint8_t
      *rx_iv,\n                     ngtcp2_crypto_aead_ctx *tx_aead_ctx, uint8_t *tx_iv,\n
      \                    const uint8_t *current_rx_secret,\n                     const
      uint8_t *current_tx_secret, size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:628,1
    - Dst: ngtcp2_conn*::callbacks::version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - version
    - dcid
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: conn_call_version_negotiation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn*::callbacks::version_negotiation
    linkageType: ''
    returnType: int
    signature: "int conn_call_version_negotiation(ngtcp2_conn *conn, uint32_t version,\n
      \                                        const ngtcp2_cid *dcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - level
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    constantsTouched: []
    func_position:
      end: 653
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 653
    functionName: conn_call_recv_rx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_rx_key
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_rx_key(ngtcp2_conn *conn,\n                                 ngtcp2_encryption_level
      level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::recv_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - level
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    constantsTouched: []
    func_position:
      end: 669
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 669
    functionName: conn_call_recv_tx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::recv_tx_key
    linkageType: ''
    returnType: int
    signature: "int conn_call_recv_tx_key(ngtcp2_conn *conn,\n                                 ngtcp2_encryption_level
      level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:676,1
    - Dst: ngtcp2_gaptr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:678,1
    - Dst: ngtcp2_acktr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:685,1
    - Dst: ngtcp2_strm_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:687,1
    - Dst: ngtcp2_rtb_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 10
    argNames:
    - pktns
    - pktns_id
    - rst
    - cc
    - initial_pkt_num
    - log
    - qlog
    - rtb_entry_objalloc
    - frc_objalloc
    - mem
    argTypes:
    - ngtcp2_pktns*
    - ngtcp2_pktns_id
    - ngtcp2_rst*
    - ngtcp2_cc*
    - int64_t
    - ngtcp2_log*
    - ngtcp2_qlog*
    - ngtcp2_objalloc*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 692
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 692
    functionName: pktns_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rtb_init
    - ngtcp2_strm_init
    - ngtcp2_gaptr_init
    - memset
    - ngtcp2_acktr_init
    linkageType: ''
    returnType: void
    signature: "void pktns_init(ngtcp2_pktns *pktns, ngtcp2_pktns_id pktns_id,\n                       ngtcp2_rst
      *rst, ngtcp2_cc *cc, int64_t initial_pkt_num,\n                       ngtcp2_log
      *log, ngtcp2_qlog *qlog,\n                       ngtcp2_objalloc *rtb_entry_objalloc,\n
      \                      ngtcp2_objalloc *frc_objalloc, const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:699,1
    - Dst: pktns_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 10
    argNames:
    - ppktns
    - pktns_id
    - rst
    - cc
    - initial_pkt_num
    - log
    - qlog
    - rtb_entry_objalloc
    - frc_objalloc
    - mem
    argTypes:
    - ngtcp2_pktns**
    - ngtcp2_pktns_id
    - ngtcp2_rst*
    - ngtcp2_cc*
    - int64_t
    - ngtcp2_log*
    - ngtcp2_qlog*
    - ngtcp2_objalloc*
    - ngtcp2_objalloc*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: pktns_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - pktns_init
    linkageType: ''
    returnType: int
    signature: "int pktns_new(ngtcp2_pktns **ppktns, ngtcp2_pktns_id pktns_id,\n                     ngtcp2_rst
      *rst, ngtcp2_cc *cc, int64_t initial_pkt_num,\n                     ngtcp2_log
      *log, ngtcp2_qlog *qlog,\n                     ngtcp2_objalloc *rtb_entry_objalloc,\n
      \                    ngtcp2_objalloc *frc_objalloc, const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:711,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_pq_entry*
    - ngtcp2_pq_entry*
    constantsTouched: []
    func_position:
      end: 719
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 719
    functionName: cycle_less
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_struct_of
    linkageType: ''
    returnType: int
    signature: int cycle_less(const ngtcp2_pq_entry *lhs, const ngtcp2_pq_entry *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pc
    - mem
    argTypes:
    - ngtcp2_pkt_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: delete_buffed_pkts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_chain_del
    linkageType: ''
    returnType: void
    signature: void delete_buffed_pkts(ngtcp2_pkt_chain *pc, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bufchain
    - mem
    argTypes:
    - ngtcp2_buf_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 740
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 740
    functionName: delete_buf_chain
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_chain_del
    linkageType: ''
    returnType: void
    signature: "void delete_buf_chain(ngtcp2_buf_chain *bufchain,\n                             const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delete_buf_chain
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:743,1
    - Dst: delete_buffed_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:745,1
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:747,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:750,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:751,1
    - Dst: ngtcp2_rtb_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:753,1
    - Dst: ngtcp2_strm_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:754,1
    - Dst: ngtcp2_acktr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:755,1
    - Dst: ngtcp2_gaptr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pktns
    - mem
    argTypes:
    - ngtcp2_pktns*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 6
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: pktns_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_free
    - ngtcp2_strm_free
    - ngtcp2_frame_chain_list_objalloc_del
    - ngtcp2_crypto_km_del
    - ngtcp2_rtb_free
    - delete_buffed_pkts
    - delete_buf_chain
    - ngtcp2_acktr_free
    linkageType: ''
    returnType: void
    signature: void pktns_free(ngtcp2_pktns *pktns, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pktns_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:764,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pktns
    - mem
    argTypes:
    - ngtcp2_pktns*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 7
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: pktns_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - pktns_free
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void pktns_del(ngtcp2_pktns *pktns, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_less
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_ksl_key*
    - ngtcp2_ksl_key*
    constantsTouched: []
    func_position:
      end: 771
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: cid_less
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_cid_less
    linkageType: ''
    returnType: int
    signature: int cid_less(const ngtcp2_ksl_key *lhs, const ngtcp2_ksl_key *rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:777,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ngtcp2_pq_entry*
    - ngtcp2_pq_entry*
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: retired_ts_less
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_struct_of
    linkageType: ''
    returnType: int
    signature: "int retired_ts_less(const ngtcp2_pq_entry *lhs,\n                           const
      ngtcp2_pq_entry *rhs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_path_max_tx_udp_payload_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:796,1
    - Dst: ngtcp2_cc_compute_initcwnd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - cstat
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 804
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 804
    functionName: conn_reset_conn_stat_cc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cc_compute_initcwnd
    - ngtcp2_conn_get_path_max_tx_udp_payload_size
    linkageType: ''
    returnType: void
    signature: "void conn_reset_conn_stat_cc(ngtcp2_conn *conn,\n                                    ngtcp2_conn_stat
      *cstat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:812,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cstat
    argTypes:
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: reset_conn_stat_recovery
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void reset_conn_stat_recovery(ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_reset_conn_stat_cc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:821,1
    - Dst: reset_conn_stat_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - cstat
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_conn_stat*
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: conn_reset_conn_stat
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - reset_conn_stat_recovery
    - conn_reset_conn_stat_cc
    linkageType: ''
    returnType: void
    signature: void conn_reset_conn_stat(ngtcp2_conn *conn, ngtcp2_conn_stat *cstat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:828,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:828,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:829,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:830,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scids
    - mem
    argTypes:
    - ngtcp2_ksl*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 832
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 832
    functionName: delete_scid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_mem_free
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: void
    signature: void delete_scid(ngtcp2_ksl *scids, const ngtcp2_mem *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - smoothed_rtt
    - rttvar
    - max_ack_delay
    argTypes:
    - ngtcp2_duration
    - ngtcp2_duration
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: compute_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: ngtcp2_duration
    signature: "ngtcp2_duration compute_pto(ngtcp2_duration smoothed_rtt,\n                                   ngtcp2_duration
      rttvar,\n                                   ngtcp2_duration max_ack_delay)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - pktns
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 859
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 859
    functionName: conn_compute_initial_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - compute_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: "ngtcp2_duration conn_compute_initial_pto(ngtcp2_conn *conn,\n                                                ngtcp2_pktns
      *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - pktns
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 876
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 876
    functionName: conn_compute_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - compute_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: "ngtcp2_duration conn_compute_pto(ngtcp2_conn *conn,\n                                        ngtcp2_pktns
      *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - pktns
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: ngtcp2_conn_compute_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - conn_compute_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: "ngtcp2_duration ngtcp2_conn_compute_pto(ngtcp2_conn *conn,\n                                        ngtcp2_pktns
      *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_initial_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:889,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - pto
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: conn_compute_pv_timeout_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - conn_compute_initial_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: "ngtcp2_duration conn_compute_pv_timeout_pto(ngtcp2_conn *conn,\n                                                   ngtcp2_duration
      pto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pv_timeout_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:898,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: conn_compute_pv_timeout
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_pv_timeout_pto
    - conn_compute_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: ngtcp2_duration conn_compute_pv_timeout(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:905,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:929,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:930,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:934,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:951,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:965,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - conn
    - pi
    - prtb_entry_flags
    - pktns
    - hd
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint16_t*
    - ngtcp2_pktns*
    - ngtcp2_pkt_hd*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 967
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 967
    functionName: conn_handle_tx_ecn
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_unreachable
    - assert
    - conn_compute_pto
    linkageType: ''
    returnType: void
    signature: "void conn_handle_tx_ecn(ngtcp2_conn *conn, ngtcp2_pkt_info *pi,\n
      \                              uint16_t *prtb_entry_flags, ngtcp2_pktns *pktns,\n
      \                              const ngtcp2_pkt_hd *hd, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 993
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 993
    functionName: conn_reset_ecn_validation_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void conn_reset_ecn_validation_state(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - versions
    - versionslen
    argTypes:
    - void*
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: available_versions_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uint32be
    linkageType: ''
    returnType: void
    signature: "void *available_versions_init(void *buf, const uint32_t *versions,\n
      \                                    size_t versionslen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - params
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1033
    functionName: conn_set_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void conn_set_local_transport_params(ngtcp2_conn *conn,\n                                const
      ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn*::callbacks::rand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1038,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - pktns
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1046
    functionName: conn_update_skip_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - ngtcp2_conn*::callbacks::rand
    linkageType: ''
    returnType: void
    signature: void conn_update_skip_pkt(ngtcp2_conn *conn, ngtcp2_pktns *pktns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1054,1
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1060,1
    - Dst: ngtcp2_rtb_entry_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1063,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1067,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1067,1
    - Dst: ngtcp2_rtb_add
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1071,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1073,1
    - Dst: conn_update_skip_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - conn
    - pktns
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1083
      start: 1048
    functionDepth: 6
    functionLinenumber: 1048
    functionLinenumberEnd: 1083
    functionName: conn_handle_skip_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_hd_init
    - assert
    - ngtcp2_rtb_add
    - conn_update_skip_pkt
    - ngtcp2_rtb_entry_objalloc_new
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_err_is_fatal
    linkageType: ''
    returnType: int
    signature: "int conn_handle_skip_pkt(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n
      \                               ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buflen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: buflen_align
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t buflen_align(size_t buflen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: buf_align
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *buf_align(void *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    functionName: buf_advance
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *buf_advance(void *buf, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_settings_convert_to_latest
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1116,1
    - Dst: ngtcp2_transport_params_convert_to_latest
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1117,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1120,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1121,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1122,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1123,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1124,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1125,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1126,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1128,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1130,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1131,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1132,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1133,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1134,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1136,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1137,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1138,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1139,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1140,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1141,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1142,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1143,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1144,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1145,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1146,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1147,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1148,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1149,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1150,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1151,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1152,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1154,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1155,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1155,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1158,1
    - Dst: ngtcp2_mem_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1162,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1167,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1172,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1177,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1183,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1188,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1192,1
    - Dst: buflen_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1193,1
    - Dst: ngtcp2_mem_calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1197,1
    - Dst: buf_advance
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1203,1
    - Dst: ngtcp2_objalloc_frame_chain_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1207,1
    - Dst: ngtcp2_objalloc_rtb_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1208,1
    - Dst: ngtcp2_objalloc_strm_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1209,1
    - Dst: ngtcp2_dcidtr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1211,1
    - Dst: ngtcp2_gaptr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1213,1
    - Dst: ngtcp2_ksl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1215,1
    - Dst: ngtcp2_pq_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1218,1
    - Dst: ngtcp2_map_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1220,1
    - Dst: ngtcp2_pq_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1222,1
    - Dst: ngtcp2_idtr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1224,1
    - Dst: ngtcp2_idtr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1226,1
    - Dst: ngtcp2_static_ringbuf_path_challenge_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1228,1
    - Dst: ngtcp2_log_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1230,1
    - Dst: ngtcp2_qlog_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1232,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1235,1
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1236,1
    - Dst: buf_advance
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1237,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1243,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1248,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1255,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1256,1
    - Dst: ngtcp2_dcid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1265,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1266,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1268,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1270,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1273,1
    - Dst: conn_reset_conn_stat
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1278,1
    - Dst: ngtcp2_rst_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1281,1
    - Dst: ngtcp2_cc_reno_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1287,1
    - Dst: ngtcp2_cc_cubic_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1291,1
    - Dst: ngtcp2_cc_bbr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1295,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1301,1
    - Dst: ngtcp2_static_ringbuf_path_history_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1304,1
    - Dst: pktns_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1308,1
    - Dst: pktns_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1316,1
    - Dst: pktns_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1324,1
    - Dst: conn_update_skip_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1329,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1331,1
    - Dst: ngtcp2_scid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1339,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1341,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1349,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1356,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1359,1
    - Dst: buf_advance
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1360,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1364,1
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1364,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1377,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1384,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1388,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1388,1
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1389,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1392,1
    - Dst: available_versions_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1396,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1401,1
    - Dst: available_versions_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1405,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1413,1
    - Dst: buf_align
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1414,1
    - Dst: available_versions_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1417,1
    - Dst: conn_set_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1426,1
    - Dst: ngtcp2_callbacks*::rand
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1428,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1448,1
    - Dst: ngtcp2_qlog_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1450,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1461,1
    - Dst: pktns_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1463,1
    - Dst: pktns_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1465,1
    - Dst: ngtcp2_gaptr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1467,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1469,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1471,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 264
    argCount: 14
    argNames:
    - pconn
    - dcid
    - scid
    - path
    - client_chosen_version
    - callbacks_version
    - callbacks
    - settings_version
    - settings
    - transport_params_version
    - params
    - mem
    - user_data
    - server
    argTypes:
    - ngtcp2_conn**
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_path*
    - uint32_t
    - int
    - ngtcp2_callbacks*
    - int
    - ngtcp2_settings*
    - int
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1474
      start: 1095
    functionDepth: 8
    functionLinenumber: 1095
    functionLinenumberEnd: 1474
    functionName: conn_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_pq_init
    - ngtcp2_gaptr_push
    - buf_align
    - ngtcp2_buf_init
    - ngtcp2_ksl_init
    - ngtcp2_cc_cubic_init
    - ngtcp2_map_init
    - ngtcp2_ksl_insert
    - buflen_align
    - conn_reset_ecn_validation_state
    - ngtcp2_objalloc_frame_chain_init
    - ngtcp2_settings_convert_to_latest
    - available_versions_init
    - ngtcp2_transport_params_convert_to_latest
    - ngtcp2_mem_calloc
    - buf_advance
    - ngtcp2_static_ringbuf_path_challenge_init
    - ngtcp2_dcidtr_init
    - conn_reset_conn_stat
    - ngtcp2_cpymem
    - ngtcp2_mem_free
    - ngtcp2_gaptr_init
    - pktns_del
    - ngtcp2_dcid_set_path
    - pktns_new
    - ngtcp2_objalloc_strm_init
    - ngtcp2_gaptr_free
    - assert
    - ngtcp2_static_ringbuf_path_history_init
    - ngtcp2_dcid_init
    - ngtcp2_idtr_init
    - conn_update_skip_pkt
    - ngtcp2_mem_malloc
    - ngtcp2_qlog_init
    - ngtcp2_is_supported_version
    - pktns_init
    - ngtcp2_mem_default
    - ngtcp2_scid_init
    - ngtcp2_cc_bbr_init
    - ngtcp2_rst_init
    - ngtcp2_unreachable
    - ngtcp2_callbacks*::rand
    - conn_set_local_transport_params
    - ngtcp2_qlog_start
    - ngtcp2_log_init
    - ngtcp2_objalloc_rtb_entry_init
    - ngtcp2_cc_reno_init
    - memcpy
    - ngtcp2_is_reserved_version
    linkageType: ''
    returnType: int
    signature: "int conn_new(ngtcp2_conn **pconn, const ngtcp2_cid *dcid,\n                    const
      ngtcp2_cid *scid, const ngtcp2_path *path,\n                    uint32_t client_chosen_version,
      int callbacks_version,\n                    const ngtcp2_callbacks *callbacks,
      int settings_version,\n                    const ngtcp2_settings *settings,\n
      \                   int transport_params_version,\n                    const
      ngtcp2_transport_params *params,\n                    const ngtcp2_mem *mem,
      void *user_data, int server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1485,1
    - Dst: ngtcp2_conn_commit_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1496,1
    - Dst: ngtcp2_conn_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 13
    argNames:
    - pconn
    - dcid
    - scid
    - path
    - client_chosen_version
    - callbacks_version
    - callbacks
    - settings_version
    - settings
    - transport_params_version
    - params
    - mem
    - user_data
    argTypes:
    - ngtcp2_conn**
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_path*
    - uint32_t
    - int
    - ngtcp2_callbacks*
    - int
    - ngtcp2_settings*
    - int
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    - void*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1503
    functionName: ngtcp2_conn_client_new_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_commit_local_transport_params
    - conn_new
    - ngtcp2_conn_del
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_client_new_versioned(\n  ngtcp2_conn **pconn, const
      ngtcp2_cid *dcid, const ngtcp2_cid *scid,\n  const ngtcp2_path *path, uint32_t
      client_chosen_version,\n  int callbacks_version, const ngtcp2_callbacks *callbacks,\n
      \ int settings_version, const ngtcp2_settings *settings,\n  int transport_params_version,
      const ngtcp2_transport_params *params,\n  const ngtcp2_mem *mem, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 13
    argNames:
    - pconn
    - dcid
    - scid
    - path
    - client_chosen_version
    - callbacks_version
    - callbacks
    - settings_version
    - settings
    - transport_params_version
    - params
    - mem
    - user_data
    argTypes:
    - ngtcp2_conn**
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_path*
    - uint32_t
    - int
    - ngtcp2_callbacks*
    - int
    - ngtcp2_settings*
    - int
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    - void*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1531
    functionName: ngtcp2_conn_server_new_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_server_new_versioned(\n  ngtcp2_conn **pconn, const
      ngtcp2_cid *dcid, const ngtcp2_cid *scid,\n  const ngtcp2_path *path, uint32_t
      client_chosen_version,\n  int callbacks_version, const ngtcp2_callbacks *callbacks,\n
      \ int settings_version, const ngtcp2_settings *settings,\n  int transport_params_version,
      const ngtcp2_transport_params *params,\n  const ngtcp2_mem *mem, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1541
    functionName: conn_fc_credits
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t conn_fc_credits(ngtcp2_conn *conn, ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - strm
    - len
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1552
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1552
    functionName: conn_enforce_flow_control
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t conn_enforce_flow_control(ngtcp2_conn *conn, ngtcp2_strm
      *strm,\n                                          uint64_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1558,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1562
      start: 1554
    functionDepth: 5
    functionLinenumber: 1554
    functionLinenumberEnd: 1562
    functionName: delete_strms_each
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_strm_release
    - ngtcp2_strm_free
    linkageType: ''
    returnType: int
    signature: int delete_strms_each(void *data, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1566,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1568,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1571,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1573,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1575,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1564
    functionDepth: 2
    functionLinenumber: 1564
    functionLinenumberEnd: 1577
    functionName: conn_vneg_crypto_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_km_del
    - conn_call_delete_crypto_aead_ctx
    - conn_call_delete_crypto_cipher_ctx
    linkageType: ''
    returnType: void
    signature: void conn_vneg_crypto_free(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_qlog_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1584,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1587,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1589,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1592,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1596,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1600,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1605,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1608,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1611,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1614,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1618,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1621,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1624,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1627,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1631,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1634,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1637,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1640,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1643,1
    - Dst: ngtcp2_transport_params_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1645,1
    - Dst: ngtcp2_transport_params_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1646,1
    - Dst: conn_vneg_crypto_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1648,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1650,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1651,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1652,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1654,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1655,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1656,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1657,1
    - Dst: pktns_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1659,1
    - Dst: pktns_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1660,1
    - Dst: pktns_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1661,1
    - Dst: ngtcp2_pmtud_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1663,1
    - Dst: ngtcp2_pv_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1664,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1666,1
    - Dst: ngtcp2_idtr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1668,1
    - Dst: ngtcp2_idtr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1669,1
    - Dst: ngtcp2_pq_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1670,1
    - Dst: ngtcp2_map_each
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1671,1
    - Dst: ngtcp2_map_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1672,1
    - Dst: ngtcp2_pq_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1674,1
    - Dst: delete_scid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1675,1
    - Dst: ngtcp2_ksl_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1676,1
    - Dst: ngtcp2_gaptr_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1677,1
    - Dst: ngtcp2_objalloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1679,1
    - Dst: ngtcp2_objalloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1680,1
    - Dst: ngtcp2_objalloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1681,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1683,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1579
    functionDepth: 8
    functionLinenumber: 1579
    functionLinenumberEnd: 1684
    functionName: ngtcp2_conn_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - ngtcp2_ksl_free
    - ngtcp2_qlog_end
    - ngtcp2_transport_params_del
    - ngtcp2_map_each
    - pktns_free
    - ngtcp2_crypto_km_del
    - ngtcp2_mem_free
    - ngtcp2_pv_del
    - delete_scid
    - conn_call_delete_crypto_cipher_ctx
    - pktns_del
    - ngtcp2_gaptr_free
    - conn_vneg_crypto_free
    - ngtcp2_objalloc_free
    - ngtcp2_idtr_free
    - ngtcp2_pmtud_del
    - ngtcp2_pq_free
    - conn_call_delete_crypto_aead_ctx
    - ngtcp2_map_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_del(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1691,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1694
    functionName: conn_compute_ack_delay
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: ngtcp2_duration
    signature: ngtcp2_duration conn_compute_ack_delay(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ppe_encode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1712,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1714,1
    - Dst: ngtcp2_log_tx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1720,1
    - Dst: ngtcp2_qlog_pkt_sent_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1721,1
    - Dst: ngtcp2_log_tx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1724,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - conn
    - ppe
    - hd_logged
    - hd
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_ppe*
    - int*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1707
    functionDepth: 4
    functionLinenumber: 1707
    functionLinenumberEnd: 1728
    functionName: conn_ppe_write_frame_hd_log
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_qlog_pkt_sent_start
    - ngtcp2_log_tx_fr
    - ngtcp2_log_tx_pkt_hd
    - ngtcp2_qlog_write_frame
    - ngtcp2_ppe_encode_frame
    linkageType: ''
    returnType: int
    signature: "int conn_ppe_write_frame_hd_log(ngtcp2_conn *conn, ngtcp2_ppe *ppe,\n
      \                                      int *hd_logged, const ngtcp2_pkt_hd *hd,\n
      \                                      ngtcp2_frame *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - ppe
    - hd
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_ppe*
    - ngtcp2_pkt_hd*
    - ngtcp2_frame*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 5
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: conn_ppe_write_frame
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_ppe_write_frame_hd_log
    linkageType: ''
    returnType: int
    signature: "int conn_ppe_write_frame(ngtcp2_conn *conn, ngtcp2_ppe *ppe,\n                                const
      ngtcp2_pkt_hd *hd, ngtcp2_frame *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rtb_add
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1760,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - pktns
    - ent
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_rtb_entry*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1753
    functionDepth: 6
    functionLinenumber: 1753
    functionLinenumberEnd: 1772
    functionName: conn_on_pkt_sent
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rtb_add
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: int
    signature: "int conn_on_pkt_sent(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n                            ngtcp2_rtb_entry
      *ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pktns
    argTypes:
    - ngtcp2_pktns*
    constantsTouched: []
    func_position:
      end: 1801
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1801
    functionName: pktns_select_pkt_numlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pktns_select_pkt_numlen(ngtcp2_pktns *pktns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1807
    functionDepth: 2
    functionLinenumber: 1807
    functionLinenumberEnd: 1818
    functionName: conn_cwnd_is_zero
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: int
    signature: int conn_cwnd_is_zero(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1834,1
    - Dst: ngtcp2_conn_tx_strmq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1835,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1836,1
    - Dst: ngtcp2_conn_tx_strmq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1837,1
    - Dst: ngtcp2_strm_streamfrq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1841,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1843,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1852
      start: 1825
    functionDepth: 3
    functionLinenumber: 1825
    functionLinenumberEnd: 1852
    functionName: conn_retry_early_payloadlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_tx_strmq_pop
    - ngtcp2_pq_empty
    - ngtcp2_strm_streamfrq_empty
    - ngtcp2_vec_len
    - ngtcp2_min_uint64
    - ngtcp2_strm_streamfrq_top
    - ngtcp2_conn_tx_strmq_top
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t conn_retry_early_payloadlen(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1875,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1876,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1880,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1881,1
    - Dst: ngtcp2_pq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - conn
    - pnew_cid_used
    - hd
    argTypes:
    - ngtcp2_conn*
    - int*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 1903
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1903
    functionName: conn_verify_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cid_eq
    - ngtcp2_pq_push
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: int
    signature: "int conn_verify_dcid(ngtcp2_conn *conn, int *pnew_cid_used,\n                            const
      ngtcp2_pkt_hd *hd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1924,1
    - Dst: ngtcp2_acktr_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1925,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1936,1
    - Dst: ngtcp2_acktr_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1937,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1946,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1952,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 6
    argNames:
    - conn
    - type
    - left
    - write_datalen
    - ack_eliciting
    - require_padding
    argTypes:
    - ngtcp2_conn*
    - uint8_t
    - size_t
    - uint64_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1971
      start: 1911
    functionDepth: 2
    functionLinenumber: 1911
    functionLinenumberEnd: 1971
    functionName: conn_should_pad_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_acktr_empty
    - assert
    - ngtcp2_strm_streamfrq_empty
    linkageType: ''
    returnType: int
    signature: "int conn_should_pad_pkt(ngtcp2_conn *conn, uint8_t type, size_t left,\n
      \                              uint64_t write_datalen, int ack_eliciting,\n
      \                              int require_padding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1976
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1976
    functionName: conn_restart_timer_on_write
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void conn_restart_timer_on_write(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1981
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1981
    functionName: conn_restart_timer_on_read
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void conn_restart_timer_on_read(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1989
    functionName: conn_keep_alive_enabled
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_keep_alive_enabled(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 1998
      start: 1995
    functionDepth: 1
    functionLinenumber: 1995
    functionLinenumberEnd: 1998
    functionName: conn_keep_alive_expired
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: int
    signature: int conn_keep_alive_expired(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_keep_alive_enabled
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2012
    functionName: conn_keep_alive_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_keep_alive_enabled
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp conn_keep_alive_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_keep_alive_expired
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2024
      start: 2018
    functionDepth: 2
    functionLinenumber: 2018
    functionLinenumberEnd: 2024
    functionName: conn_cancel_expired_keep_alive_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_keep_alive_expired
    linkageType: ''
    returnType: void
    signature: "void conn_cancel_expired_keep_alive_timer(ngtcp2_conn *conn,\n                                                 ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2034
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2034
    functionName: conn_update_keep_alive_last_ts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void conn_update_keep_alive_last_ts(ngtcp2_conn *conn,\n                                           ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - timeout
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_duration
    constantsTouched: []
    func_position:
      end: 2043
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2043
    functionName: ngtcp2_conn_set_keep_alive_timeout
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_keep_alive_timeout(ngtcp2_conn *conn,\n                                        ngtcp2_duration
      timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2060
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2060
    functionName: conn_cancel_expired_pkt_tx_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void conn_cancel_expired_pkt_tx_timer(ngtcp2_conn *conn,\n                                             ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2075
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2075
    functionName: conn_pacing_pkt_tx_allowed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_pacing_pkt_tx_allowed(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2085
    functionName: conn_pkt_flags
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t conn_pkt_flags(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_pkt_flags
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2089
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2089
    functionName: conn_pkt_flags_long
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_pkt_flags
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t conn_pkt_flags_long(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_pkt_flags
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2096
    functionName: conn_pkt_flags_short
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_pkt_flags
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t conn_pkt_flags_short(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2150,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2158,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2174,1
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2182,1
    - Dst: conn_pkt_flags_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2183,1
    - Dst: pktns_select_pkt_numlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2184,1
    - Dst: ngtcp2_ppe_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2192,1
    - Dst: ngtcp2_ppe_encode_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2194,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2196,1
    - Dst: ngtcp2_ppe_ensure_hp_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2200,1
    - Dst: ngtcp2_acktr_create_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2204,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2208,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2210,1
    - Dst: ngtcp2_acktr_commit_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2212,1
    - Dst: ngtcp2_acktr_add_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2213,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2223,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2224,1
    - Dst: ngtcp2_strm_streamfrq_unacked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2226,1
    - Dst: ngtcp2_strm_streamfrq_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2228,1
    - Dst: ngtcp2_pkt_crypto_max_datalen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2232,1
    - Dst: ngtcp2_strm_streamfrq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2237,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2239,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2239,1
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2240,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2249,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2251,1
    - Dst: ngtcp2_rtb_reclaim_on_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2265,1
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2267,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2284,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2294,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2296,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2306,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2310,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2312,1
    - Dst: conn_should_pad_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2333,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2334,1
    - Dst: ngtcp2_ppe_dgram_padding
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2338,1
    - Dst: ngtcp2_ppe_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2343,1
    - Dst: conn_min_pktlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2343,1
    - Dst: ngtcp2_log_tx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2352,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2353,1
    - Dst: ngtcp2_ppe_final
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2356,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2358,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2358,1
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2359,1
    - Dst: ngtcp2_qlog_pkt_sent_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2363,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2367,1
    - Dst: ngtcp2_rtb_entry_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2371,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2374,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2374,1
    - Dst: ngtcp2_frame_chain_list_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2375,1
    - Dst: conn_on_pkt_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2379,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2381,1
    - Dst: conn_restart_timer_on_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2388,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2391,1
    - Dst: conn_update_keep_alive_last_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2399,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2405,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 196
    argCount: 9
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - dgram_offset
    - type
    - flags
    - write_datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - uint8_t
    - uint8_t
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2410
      start: 2118
    functionDepth: 8
    functionLinenumber: 2118
    functionLinenumberEnd: 2410
    functionName: conn_write_handshake_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_hd_init
    - ngtcp2_acktr_commit_ack
    - ngtcp2_ppe_init
    - ngtcp2_strm_streamfrq_empty
    - conn_pkt_flags_long
    - ngtcp2_qlog_write_frame
    - ngtcp2_qlog_pkt_sent_end
    - ngtcp2_rtb_entry_objalloc_del
    - conn_on_pkt_sent
    - ngtcp2_strm_streamfrq_pop
    - conn_handle_tx_ecn
    - conn_min_pktlen
    - pktns_select_pkt_numlen
    - ngtcp2_ppe_ensure_hp_sample
    - conn_should_pad_pkt
    - ngtcp2_acktr_add_ack
    - ngtcp2_log_tx_fr
    - conn_update_keep_alive_last_ts
    - ngtcp2_pkt_crypto_max_datalen
    - ngtcp2_ppe_final
    - assert
    - ngtcp2_acktr_create_ack_frame
    - ngtcp2_frame_chain_list_objalloc_del
    - ngtcp2_ppe_dgram_padding
    - conn_restart_timer_on_write
    - ngtcp2_err_is_fatal
    - conn_ppe_write_frame_hd_log
    - ngtcp2_tstamp_elapsed
    - ngtcp2_unreachable
    - ngtcp2_ppe_encode_hd
    - ngtcp2_ppe_left
    - ngtcp2_strm_streamfrq_unacked_offset
    - ngtcp2_strm_streamfrq_clear
    - ngtcp2_rtb_entry_objalloc_new
    - ngtcp2_ppe_padding_size
    - ngtcp2_rtb_reclaim_on_pto
    - ngtcp2_qlog_metrics_updated
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_handshake_pkt(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi, uint8_t *dest,\n                         size_t destlen, size_t dgram_offset,
      uint8_t type,\n                         uint8_t flags, uint64_t write_datalen,\n
      \                        ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2435,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2439,1
    - Dst: conn_compute_ack_delay
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2451,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2455,1
    - Dst: ngtcp2_acktr_create_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2462,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 6
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - type
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2479
      start: 2425
    functionDepth: 3
    functionLinenumber: 2425
    functionLinenumberEnd: 2479
    functionName: conn_write_ack_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_acktr_create_ack_frame
    - ngtcp2_unreachable
    - ngtcp2_conn_write_single_frame_pkt
    - conn_compute_ack_delay
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_ack_pkt(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi,\n                                       uint8_t *dest, size_t destlen,\n
      \                                      uint8_t type, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2488,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2495,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2496,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2497,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2498,1
    - Dst: pktns_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2500,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - ppktns
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns**
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2504
      start: 2481
    functionDepth: 8
    functionLinenumber: 2481
    functionLinenumberEnd: 2504
    functionName: conn_discard_pktns
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - pktns_del
    - conn_call_delete_crypto_cipher_ctx
    - conn_call_delete_crypto_aead_ctx
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: void
    signature: "void conn_discard_pktns(ngtcp2_conn *conn, ngtcp2_pktns **ppktns,\n
      \                              ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2511,1
    - Dst: conn_discard_pktns
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2514,1
    - Dst: conn_vneg_crypto_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2516,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2518,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2520
      start: 2506
    functionDepth: 9
    functionLinenumber: 2506
    functionLinenumberEnd: 2520
    functionName: ngtcp2_conn_discard_initial_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_vneg_crypto_free
    - ngtcp2_log_info
    - conn_discard_pktns
    - memset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_discard_initial_state(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2527,1
    - Dst: conn_discard_pktns
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2531
      start: 2522
    functionDepth: 9
    functionLinenumber: 2522
    functionLinenumberEnd: 2531
    functionName: ngtcp2_conn_discard_handshake_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - conn_discard_pktns
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_discard_handshake_state(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2537,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2539,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2541,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2542,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2543,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2547
      start: 2536
    functionDepth: 2
    functionLinenumber: 2536
    functionLinenumberEnd: 2547
    functionName: conn_discard_early_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_crypto_km_del
    - conn_call_delete_crypto_cipher_ctx
    - memset
    - conn_call_delete_crypto_aead_ctx
    linkageType: ''
    returnType: void
    signature: void conn_discard_early_key(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_write_ack_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2568,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2570,1
    - Dst: conn_write_ack_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2581,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2583,1
    - Dst: ngtcp2_conn_discard_initial_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2595
      start: 2554
    functionDepth: 10
    functionLinenumber: 2554
    functionLinenumberEnd: 2595
    functionName: conn_write_handshake_ack_pkts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn_discard_initial_state
    - conn_write_ack_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_handshake_ack_pkts(ngtcp2_conn *conn,\n                                                  ngtcp2_pkt_info
      *pi,\n                                                  uint8_t *dest, size_t
      destlen,\n                                                  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_client_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2616,1
    - Dst: conn_write_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - early_datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2624
      start: 2609
    functionDepth: 9
    functionLinenumber: 2609
    functionLinenumberEnd: 2624
    functionName: conn_write_client_initial
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_write_handshake_pkt
    - conn_call_client_initial
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_client_initial(ngtcp2_conn *conn,\n                                              ngtcp2_pkt_info
      *pi,\n                                              uint8_t *dest, size_t destlen,\n
      \                                             uint64_t early_datalen,\n                                              ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dcid
    argTypes:
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 2640
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2640
    functionName: dcid_tx_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t dcid_tx_left(ngtcp2_dcid *dcid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2647,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2652,1
    - Dst: dcid_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2653,1
    - Dst: dcid_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - dcid
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 2657
      start: 2646
    functionDepth: 2
    functionLinenumber: 2646
    functionLinenumberEnd: 2657
    functionName: conn_server_tx_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - dcid_tx_left
    - assert
    - ngtcp2_path_eq
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t conn_server_tx_left(ngtcp2_conn *conn, ngtcp2_dcid *dcid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_acktr_require_active_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2696,1
    - Dst: ngtcp2_acktr_require_active_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2698,1
    - Dst: ngtcp2_conn_discard_initial_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2703,1
    - Dst: conn_write_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2706,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2709,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2716,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2718,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2720,1
    - Dst: ngtcp2_conn_cancel_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2723,1
    - Dst: ngtcp2_rtb_head
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2738,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2739,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2740,1
    - Dst: conn_write_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2753,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2756,1
    - Dst: ngtcp2_conn_discard_initial_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2766,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 6
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - write_datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2770
      start: 2671
    functionDepth: 10
    functionLinenumber: 2671
    functionLinenumberEnd: 2770
    functionName: conn_write_handshake_pkts
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - conn_server_tx_left
    - ngtcp2_conn_cancel_loss_detection_timer
    - ngtcp2_strm_streamfrq_empty
    - ngtcp2_ksl_it_end
    - ngtcp2_conn_discard_initial_state
    - ngtcp2_ksl_it_get
    - ngtcp2_acktr_require_active_ack
    - ngtcp2_rtb_head
    - conn_write_handshake_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_handshake_pkts(ngtcp2_conn *conn,\n                                              ngtcp2_pkt_info
      *pi,\n                                              uint8_t *dest, size_t destlen,\n
      \                                             uint64_t write_datalen,\n                                              ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2791
      start: 2776
    functionDepth: 1
    functionLinenumber: 2776
    functionLinenumberEnd: 2791
    functionName: conn_initial_stream_rx_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - bidi_stream
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t conn_initial_stream_rx_offset(ngtcp2_conn *conn,\n                                              int64_t
      stream_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 2803
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2803
    functionName: conn_should_send_max_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conn_should_send_max_stream_data(ngtcp2_conn *conn,\n                                            ngtcp2_strm
      *strm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2813
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2813
    functionName: conn_should_send_max_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_should_send_max_data(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2829,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2836,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2837,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2845,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2848
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2848
    functionName: conn_required_num_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: size_t
    signature: size_t conn_required_num_new_connection_id(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_get_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2875,1
    - Dst: ngtcp2_ksl_lower_bound
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2885,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2886,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2887,1
    - Dst: ngtcp2_ksl_it_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2887,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2893,1
    - Dst: ngtcp2_scid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2898,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2900,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2902,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2906,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2915,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2926
      start: 2862
    functionDepth: 5
    functionLinenumber: 2862
    functionLinenumberEnd: 2926
    functionName: conn_enqueue_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_mem_malloc
    - ngtcp2_cid_eq
    - ngtcp2_mem_free
    - conn_call_get_new_connection_id
    - ngtcp2_ksl_lower_bound
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_key
    - ngtcp2_ksl_insert
    - memcpy
    - ngtcp2_scid_init
    - ngtcp2_frame_chain_objalloc_new
    linkageType: ''
    returnType: int
    signature: int conn_enqueue_new_connection_id(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_deactivate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dcid
    - user_data
    argTypes:
    - ngtcp2_dcid*
    - void*
    constantsTouched: []
    func_position:
      end: 2930
      start: 2928
    functionDepth: 2
    functionLinenumber: 2928
    functionLinenumberEnd: 2930
    functionName: dcidtr_on_deactivate
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_deactivate_dcid
    linkageType: ''
    returnType: int
    signature: int dcidtr_on_deactivate(const ngtcp2_dcid *dcid, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2953,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2954,1
    - Dst: ngtcp2_pq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2954,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2956,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2960,1
    - Dst: conn_call_remove_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2962,1
    - Dst: ngtcp2_ksl_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2967,1
    - Dst: ngtcp2_pq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2968,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2969,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2971,1
    - Dst: ngtcp2_dcidtr_remove_stale_retired_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:2975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - conn
    - pto
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 2982
      start: 2946
    functionDepth: 4
    functionLinenumber: 2946
    functionLinenumberEnd: 2982
    functionName: conn_remove_retired_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_pq_top
    - ngtcp2_pq_pop
    - ngtcp2_pq_empty
    - ngtcp2_dcidtr_remove_stale_retired_dcid
    - ngtcp2_mem_free
    - ngtcp2_struct_of
    - conn_call_remove_connection_id
    - ngtcp2_ksl_remove
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: int
    signature: "int conn_remove_retired_connection_id(ngtcp2_conn *conn,\n                                             ngtcp2_duration
      pto,\n                                             ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 2991
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2991
    functionName: conn_min_pktlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t conn_min_pktlen(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - largest_ack
    - ts
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 3014
      start: 3001
    functionDepth: 2
    functionLinenumber: 3001
    functionLinenumberEnd: 3014
    functionName: conn_handle_unconfirmed_key_update_from_remote
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: "void conn_handle_unconfirmed_key_update_from_remote(ngtcp2_conn *conn,\n
      \                                                          int64_t largest_ack,\n
      \                                                          ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 3025
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3025
    functionName: strm_should_send_stream_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strm_should_send_stream_data_blocked(ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 3034
      start: 3031
    functionDepth: 0
    functionLinenumber: 3031
    functionLinenumberEnd: 3034
    functionName: conn_should_send_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_should_send_data_blocked(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 3044
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3044
    functionName: conn_reset_ppe_pending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void conn_reset_ppe_pending(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3132,1
    - Dst: conn_enforce_flow_control
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3133,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3142,1
    - Dst: conn_pkt_flags_short
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3160,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3171,1
    - Dst: conn_enqueue_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3172,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3180,1
    - Dst: conn_pkt_flags_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3184,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3194,1
    - Dst: conn_should_send_max_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3200,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3201,1
    - Dst: conn_handle_skip_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3237,1
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3242,1
    - Dst: pktns_select_pkt_numlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3244,1
    - Dst: ngtcp2_ppe_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3246,1
    - Dst: ngtcp2_ppe_encode_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3248,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3250,1
    - Dst: ngtcp2_ppe_ensure_hp_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3254,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3258,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3259,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3263,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3265,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3268,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3270,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3272,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3286,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3288,1
    - Dst: ngtcp2_acktr_create_ack_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3294,1
    - Dst: conn_compute_ack_delay
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3295,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3298,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3300,1
    - Dst: ngtcp2_acktr_commit_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3302,1
    - Dst: ngtcp2_acktr_add_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3303,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3305,1
    - Dst: conn_handle_unconfirmed_key_update_from_remote
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3306,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3318,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3325,1
    - Dst: ngtcp2_strm_require_retransmit_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3327,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3330,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3336,1
    - Dst: ngtcp2_strm_require_retransmit_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3338,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3341,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3346,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3352,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3361,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3367,1
    - Dst: ngtcp2_strm_require_retransmit_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3368,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3372,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3380,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3385,1
    - Dst: ngtcp2_strm_require_retransmit_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3387,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3391,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3399,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3404,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3407,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3409,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3421,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3422,1
    - Dst: ngtcp2_strm_streamfrq_unacked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3425,1
    - Dst: ngtcp2_strm_streamfrq_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3427,1
    - Dst: ngtcp2_pkt_crypto_max_datalen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3431,1
    - Dst: ngtcp2_strm_streamfrq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3437,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3439,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3439,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3447,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3449,1
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3463,1
    - Dst: ngtcp2_conn_tx_strmq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3464,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3467,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3482,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3484,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3498,1
    - Dst: conn_call_stream_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3501,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3505,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3505,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3510,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3524,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3526,1
    - Dst: strm_should_send_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3540,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3541,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3554,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3556,1
    - Dst: conn_should_send_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3570,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3571,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3573,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3573,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3610,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3612,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3623,1
    - Dst: ngtcp2_conn_tx_strmq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3624,1
    - Dst: ngtcp2_strm_streamfrq_unacked_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3628,1
    - Dst: ngtcp2_strm_streamfrq_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3630,1
    - Dst: ngtcp2_conn_tx_strmq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3631,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3635,1
    - Dst: ngtcp2_pkt_stream_max_datalen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3637,1
    - Dst: ngtcp2_strm_streamfrq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3644,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3646,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3646,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3655,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3657,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3668,1
    - Dst: ngtcp2_conn_tx_strmq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3669,1
    - Dst: ngtcp2_conn_tx_strmq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3673,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3675,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3677,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3677,1
    - Dst: conn_call_extend_max_remote_streams_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3687,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3690,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3690,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3694,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3696,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3696,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3705,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3707,1
    - Dst: conn_call_extend_max_remote_streams_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3719,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3722,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3722,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3726,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3728,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3728,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3737,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3739,1
    - Dst: ngtcp2_rtb_reclaim_on_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3752,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3765,1
    - Dst: conn_cwnd_is_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3767,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3780,1
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3782,1
    - Dst: ngtcp2_pkt_stream_max_datalen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3783,1
    - Dst: ngtcp2_vec_copy_at_most
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3787,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3790,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3792,1
    - Dst: ngtcp2_frame_chain_stream_datacnt_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3794,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3797,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3797,1
    - Dst: ngtcp2_vec_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3806,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3812,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3814,1
    - Dst: ngtcp2_strm_shutdown
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3830,1
    - Dst: conn_should_send_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3844,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3845,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3847,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3847,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3855,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3857,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3860,1
    - Dst: strm_should_send_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3876,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3877,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3879,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3879,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3888,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3890,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3893,1
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3895,1
    - Dst: conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3896,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3897,1
    - Dst: ngtcp2_pkt_datagram_framelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3917,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3919,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3921,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3921,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3930,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3931,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3947,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3948,1
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3966,1
    - Dst: conn_keep_alive_expired
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3980,1
    - Dst: conn_reset_ppe_pending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3984,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:3996,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4001,1
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4007,1
    - Dst: ngtcp2_ppe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4013,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4021,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4026,1
    - Dst: conn_ppe_write_frame_hd_log
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4031,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4033,1
    - Dst: ngtcp2_ppe_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4057,1
    - Dst: ngtcp2_ppe_dgram_padding
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4059,1
    - Dst: ngtcp2_ppe_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4061,1
    - Dst: ngtcp2_log_tx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4071,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4072,1
    - Dst: ngtcp2_ppe_final
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4075,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4077,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4077,1
    - Dst: ngtcp2_qlog_pkt_sent_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4083,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4089,1
    - Dst: ngtcp2_rtb_entry_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4093,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4096,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4096,1
    - Dst: ngtcp2_conn*::cc::event
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4108,1
    - Dst: conn_on_pkt_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4112,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4114,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4114,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4115,1
    - Dst: ngtcp2_conn*::cc::on_pkt_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4122,1
    - Dst: ngtcp2_cc_pkt_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4124,1
    - Dst: conn_restart_timer_on_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4130,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4134,1
    - Dst: conn_reset_ppe_pending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4137,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4143,1
    - Dst: conn_update_keep_alive_last_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4147,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4153,1
    CyclomaticComplexity: 235
    EdgeCount: 235
    ICount: 735
    argCount: 9
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - dgram_offset
    - vmsg
    - type
    - flags
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_vmsg*
    - uint8_t
    - uint8_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4158
      start: 3076
    functionDepth: 8
    functionLinenumber: 3076
    functionLinenumberEnd: 4158
    functionName: conn_write_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_hd_init
    - ngtcp2_acktr_commit_ack
    - conn_enqueue_new_connection_id
    - ngtcp2_strm_streamfrq_empty
    - conn_should_send_data_blocked
    - conn_call_extend_max_remote_streams_uni
    - ngtcp2_qlog_write_frame
    - ngtcp2_qlog_pkt_sent_end
    - conn_handle_tx_ecn
    - pktns_select_pkt_numlen
    - conn_cwnd_is_zero
    - conn_update_keep_alive_last_ts
    - conn_enforce_flow_control
    - ngtcp2_strm_is_tx_queued
    - ngtcp2_acktr_create_ack_frame
    - strm_should_send_stream_data_blocked
    - conn_call_extend_max_remote_streams_bidi
    - ngtcp2_unreachable
    - ngtcp2_strm_streamfrq_clear
    - ngtcp2_ppe_padding_size
    - ngtcp2_conn_tx_strmq_push
    - conn_should_send_max_data
    - conn_handle_unconfirmed_key_update_from_remote
    - conn_pkt_flags_long
    - conn_reset_ppe_pending
    - ngtcp2_strm_shutdown
    - conn_on_pkt_sent
    - ngtcp2_strm_streamfrq_pop
    - ngtcp2_log_tx_fr
    - ngtcp2_vec_copy
    - ngtcp2_conn*::cc::on_pkt_sent
    - ngtcp2_strm_require_retransmit_max_stream_data
    - ngtcp2_ppe_final
    - ngtcp2_conn_get_max_data_left
    - ngtcp2_vec_copy_at_most
    - conn_ppe_write_frame_hd_log
    - ngtcp2_qlog_metrics_updated
    - ngtcp2_rtb_entry_objalloc_new
    - ngtcp2_pkt_datagram_framelen
    - memcpy
    - conn_compute_ack_delay
    - conn_tx_strmq_first_cycle
    - ngtcp2_strm_require_retransmit_reset_stream
    - ngtcp2_ppe_init
    - ngtcp2_rtb_entry_objalloc_del
    - ngtcp2_strm_rx_offset
    - ngtcp2_frame_chain_stream_datacnt_objalloc_new
    - ngtcp2_frame_chain_objalloc_new
    - ngtcp2_ppe_ensure_hp_sample
    - ngtcp2_conn_tx_strmq_pop
    - ngtcp2_strm_require_retransmit_stop_sending
    - ngtcp2_conn_find_stream
    - assert
    - ngtcp2_log_info
    - ngtcp2_pq_empty
    - ngtcp2_ringbuf_pop_front
    - ngtcp2_err_is_fatal
    - ngtcp2_tstamp_elapsed
    - ngtcp2_strm_streamfrq_unacked_offset
    - ngtcp2_ppe_left
    - ngtcp2_ringbuf_len
    - ngtcp2_ringbuf_get
    - conn_handle_skip_pkt
    - ngtcp2_conn*::cc::event
    - conn_is_tls_handshake_completed
    - conn_keep_alive_expired
    - ngtcp2_cc_pkt_init
    - ngtcp2_acktr_add_ack
    - ngtcp2_strm_require_retransmit_stream_data_blocked
    - ngtcp2_pkt_crypto_max_datalen
    - ngtcp2_conn_tx_strmq_top
    - ngtcp2_ppe_dgram_padding
    - ngtcp2_vec_len
    - conn_restart_timer_on_write
    - conn_pkt_flags_short
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_ppe_encode_hd
    - conn_should_send_max_stream_data
    - ngtcp2_rtb_reclaim_on_pto
    - conn_call_stream_stop_sending
    - ngtcp2_pkt_stream_max_datalen
    - ngtcp2_path_eq
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_pkt(ngtcp2_conn *conn, ngtcp2_pkt_info *pi,\n
      \                                  uint8_t *dest, size_t destlen,\n                                   size_t
      dgram_offset, ngtcp2_vmsg *vmsg,\n                                   uint8_t
      type, uint8_t flags,\n                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_pkt_flags_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4180,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4188,1
    - Dst: conn_pkt_flags_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4196,1
    - Dst: conn_pkt_flags_short
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4204,1
    - Dst: conn_handle_skip_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4210,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4218,1
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4226,1
    - Dst: pktns_select_pkt_numlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4227,1
    - Dst: ngtcp2_ppe_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4230,1
    - Dst: ngtcp2_ppe_encode_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4232,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4234,1
    - Dst: ngtcp2_ppe_ensure_hp_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4238,1
    - Dst: ngtcp2_log_tx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4242,1
    - Dst: ngtcp2_qlog_pkt_sent_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4243,1
    - Dst: conn_ppe_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4245,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4247,1
    - Dst: ngtcp2_ppe_dgram_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4253,1
    - Dst: ngtcp2_ppe_dgram_padding
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4255,1
    - Dst: ngtcp2_ppe_dgram_padding
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4261,1
    - Dst: ngtcp2_ppe_padding_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4267,1
    - Dst: conn_min_pktlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4267,1
    - Dst: ngtcp2_log_tx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4272,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4273,1
    - Dst: ngtcp2_ppe_final
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4276,1
    - Dst: ngtcp2_qlog_pkt_sent_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4285,1
    - Dst: ngtcp2_acktr_commit_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4291,1
    - Dst: ngtcp2_acktr_add_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4292,1
    - Dst: conn_handle_unconfirmed_key_update_from_remote
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4294,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4307,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4310,1
    - Dst: ngtcp2_rtb_entry_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4314,1
    - Dst: conn_on_pkt_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4320,1
    - Dst: ngtcp2_rtb_entry_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4322,1
    - Dst: conn_restart_timer_on_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4329,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4333,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4336,1
    - Dst: conn_handle_tx_ecn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4341,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4344,1
    - Dst: conn_update_keep_alive_last_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4345,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4360,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 149
    argCount: 11
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - type
    - flags
    - dcid
    - fr
    - rtb_entry_flags
    - path
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t
    - ngtcp2_cid*
    - ngtcp2_frame*
    - uint16_t
    - ngtcp2_path*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4365
      start: 4160
    functionDepth: 7
    functionLinenumber: 4160
    functionLinenumberEnd: 4365
    functionName: ngtcp2_conn_write_single_frame_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_hd_init
    - ngtcp2_acktr_commit_ack
    - ngtcp2_ppe_init
    - conn_handle_unconfirmed_key_update_from_remote
    - conn_pkt_flags_long
    - ngtcp2_qlog_write_frame
    - ngtcp2_qlog_pkt_sent_end
    - ngtcp2_rtb_entry_objalloc_del
    - conn_on_pkt_sent
    - conn_handle_tx_ecn
    - conn_min_pktlen
    - pktns_select_pkt_numlen
    - ngtcp2_ppe_ensure_hp_sample
    - ngtcp2_log_tx_fr
    - ngtcp2_acktr_add_ack
    - conn_update_keep_alive_last_ts
    - ngtcp2_ppe_dgram_padding_size
    - ngtcp2_ppe_final
    - assert
    - ngtcp2_qlog_pkt_sent_start
    - ngtcp2_log_info
    - ngtcp2_ppe_dgram_padding
    - ngtcp2_log_tx_pkt_hd
    - conn_restart_timer_on_write
    - conn_pkt_flags_short
    - ngtcp2_unreachable
    - ngtcp2_ppe_encode_hd
    - conn_ppe_write_frame
    - ngtcp2_rtb_entry_objalloc_new
    - ngtcp2_ppe_padding_size
    - ngtcp2_qlog_metrics_updated
    - ngtcp2_path_eq
    - conn_handle_skip_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_single_frame_pkt(\n  ngtcp2_conn *conn,
      ngtcp2_pkt_info *pi, uint8_t *dest, size_t destlen,\n  uint8_t type, uint8_t
      flags, const ngtcp2_cid *dcid, ngtcp2_frame *fr,\n  uint16_t rtb_entry_flags,
      const ngtcp2_path *path, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rtb_head
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4375,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4375,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4376,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 4388
      start: 4370
    functionDepth: 3
    functionLinenumber: 4370
    functionLinenumberEnd: 4388
    functionName: conn_process_early_rtb
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_get
    - ngtcp2_rtb_head
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_next
    linkageType: ''
    returnType: void
    signature: void conn_process_early_rtb(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4399,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4401,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 4404
      start: 4395
    functionDepth: 2
    functionLinenumber: 4395
    functionLinenumberEnd: 4404
    functionName: conn_handshake_remnants_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_is_tls_handshake_completed
    - ngtcp2_strm_streamfrq_empty
    linkageType: ''
    returnType: int
    signature: int conn_handshake_remnants_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - seq
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 4432
      start: 4416
    functionDepth: 2
    functionLinenumber: 4416
    functionLinenumberEnd: 4432
    functionName: conn_enqueue_retire_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_objalloc_new
    linkageType: ''
    returnType: int
    signature: int conn_enqueue_retire_connection_id(ngtcp2_conn *conn, uint64_t seq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_enqueue_retire_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dcid
    - user_data
    argTypes:
    - ngtcp2_dcid*
    - void*
    constantsTouched: []
    func_position:
      end: 4436
      start: 4434
    functionDepth: 3
    functionLinenumber: 4434
    functionLinenumberEnd: 4436
    functionName: dcidtr_on_retire
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 4
    functionsReached:
    - conn_enqueue_retire_connection_id
    linkageType: ''
    returnType: int
    signature: int dcidtr_on_retire(const ngtcp2_dcid *dcid, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4451,1
    - Dst: ngtcp2_dcidtr_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4453,1
    - Dst: conn_enqueue_retire_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - dcid
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4460
      start: 4447
    functionDepth: 3
    functionLinenumber: 4447
    functionLinenumberEnd: 4460
    functionName: conn_retire_active_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcidtr_retire_active_dcid
    - assert
    - conn_enqueue_retire_connection_id
    linkageType: ''
    returnType: int
    signature: "int conn_retire_active_dcid(ngtcp2_conn *conn, const ngtcp2_dcid *dcid,\n
      \                                  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4478,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4478,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4479,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4479,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4480,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4481,1
    - Dst: ngtcp2_dcidtr_find_bound_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4483,1
    - Dst: ngtcp2_dcidtr_bind_zerolen_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4489,1
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4494,1
    - Dst: ngtcp2_dcidtr_bind_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - conn
    - pdcid
    - path
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid**
    - ngtcp2_path*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4500
      start: 4476
    functionDepth: 2
    functionLinenumber: 4476
    functionLinenumberEnd: 4500
    functionName: conn_bind_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcidtr_bind_zerolen_dcid
    - assert
    - ngtcp2_dcidtr_unused_empty
    - ngtcp2_dcidtr_find_bound_dcid
    - ngtcp2_dcidtr_bind_dcid
    - ngtcp2_path_eq
    linkageType: ''
    returnType: int
    signature: "int conn_bind_dcid(ngtcp2_conn *conn, ngtcp2_dcid **pdcid,\n                          const
      ngtcp2_path *path, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4506,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4507,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4508,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4508,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4509,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4510,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4513,1
    - Dst: ngtcp2_pmtud_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4518,1
    - Dst: ngtcp2_pmtud_finished
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4526,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4502
    functionDepth: 2
    functionLinenumber: 4502
    functionLinenumberEnd: 4531
    functionName: conn_start_pmtud
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_pmtud_new
    - ngtcp2_pmtud_finished
    - ngtcp2_conn_stop_pmtud
    - ngtcp2_min_uint64
    - conn_is_tls_handshake_completed
    linkageType: ''
    returnType: int
    signature: int conn_start_pmtud(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 4535
      start: 4533
    functionDepth: 3
    functionLinenumber: 4533
    functionLinenumberEnd: 4535
    functionName: ngtcp2_conn_start_pmtud
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_start_pmtud
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_start_pmtud(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pmtud_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 4545
      start: 4537
    functionDepth: 2
    functionLinenumber: 4537
    functionLinenumberEnd: 4545
    functionName: ngtcp2_conn_stop_pmtud
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_pmtud_del
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_stop_pmtud(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4554,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4555,1
    - Dst: ngtcp2_pmtud_finished
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4555,1
    - Dst: ngtcp2_pmtud_require_probe
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4557,1
    - Dst: ngtcp2_pmtud_probelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4561,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4566,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4571,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4581,1
    - Dst: ngtcp2_pmtud_probe_sent
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4583,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4587
      start: 4547
    functionDepth: 8
    functionLinenumber: 4547
    functionLinenumberEnd: 4587
    functionName: conn_write_pmtud_probe
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pmtud_require_probe
    - assert
    - ngtcp2_log_info
    - ngtcp2_pmtud_probelen
    - ngtcp2_pmtud_finished
    - conn_compute_pto
    - ngtcp2_conn_write_single_frame_pkt
    - ngtcp2_pmtud_probe_sent
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_pmtud_probe(ngtcp2_conn *conn,\n                                           ngtcp2_pkt_info
      *pi, uint8_t *dest,\n                                           size_t destlen,
      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4609,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4619,1
    - Dst: ngtcp2_pv_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4630
      start: 4600
    functionDepth: 4
    functionLinenumber: 4600
    functionLinenumberEnd: 4630
    functionName: conn_stop_pv
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pv_del
    - conn_retire_active_dcid
    linkageType: ''
    returnType: int
    signature: int conn_stop_pv(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4649,1
    - Dst: conn_call_path_validation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4652,1
    - Dst: conn_stop_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4660
      start: 4645
    functionDepth: 5
    functionLinenumber: 4645
    functionLinenumberEnd: 4660
    functionName: conn_abort_pv
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_call_path_validation
    - conn_stop_pv
    linkageType: ''
    returnType: int
    signature: int conn_abort_pv(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4666,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4669,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4675,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - dcid
    - payloadlen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    - size_t
    constantsTouched: []
    func_position:
      end: 4682
      start: 4662
    functionDepth: 1
    functionLinenumber: 4662
    functionLinenumberEnd: 4682
    functionName: conn_shape_udp_payload
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_min_size
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: size_t
    signature: "size_t conn_shape_udp_payload(ngtcp2_conn *conn, const ngtcp2_dcid
      *dcid,\n                                     size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_path_validation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4703,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4711,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4712,1
    - Dst: conn_stop_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - pv
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pv*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4716
      start: 4698
    functionDepth: 5
    functionLinenumber: 4698
    functionLinenumberEnd: 4716
    functionName: conn_on_path_validation_failed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_reset_congestion_state
    - ngtcp2_dcid_copy
    - conn_call_path_validation
    - conn_stop_pv
    linkageType: ''
    returnType: int
    signature: "int conn_on_path_validation_failed(ngtcp2_conn *conn, ngtcp2_pv *pv,\n
      \                                         ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pv_validation_timed_out
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4744,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4745,1
    - Dst: conn_on_path_validation_failed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4747,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4755,1
    - Dst: ngtcp2_pv_handle_entry_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4761,1
    - Dst: ngtcp2_pv_should_send_probe
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4763,1
    - Dst: conn_call_get_path_challenge_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4767,1
    - Dst: conn_compute_initial_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4774,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4775,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4776,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4779,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4783,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4784,1
    - Dst: ngtcp2_pv_add_entry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4799,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4801,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4811,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 6
    argNames:
    - conn
    - path
    - pi
    - dest
    - destlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4821
      start: 4730
    functionDepth: 8
    functionLinenumber: 4730
    functionLinenumberEnd: 4821
    functionName: conn_write_path_challenge
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pv_should_send_probe
    - ngtcp2_path_copy
    - ngtcp2_log_info
    - conn_server_tx_left
    - ngtcp2_max_uint64
    - ngtcp2_min_size
    - conn_compute_pto
    - ngtcp2_pv_handle_entry_expiry
    - conn_on_path_validation_failed
    - ngtcp2_pv_validation_timed_out
    - ngtcp2_min_uint64
    - ngtcp2_conn_write_single_frame_pkt
    - conn_call_get_path_challenge_data
    - conn_compute_initial_pto
    - ngtcp2_pv_add_entry
    - ngtcp2_path_eq
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_path_challenge(ngtcp2_conn *conn,\n                                              ngtcp2_path
      *path,\n                                              ngtcp2_pkt_info *pi,\n
      \                                             uint8_t *dest, size_t destlen,\n
      \                                             ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4847,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4848,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4850,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4856,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4861,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4873,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4884,1
    - Dst: conn_bind_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4886,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4888,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4895,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4898,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4899,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4906,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4908,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4916,1
    - Dst: ngtcp2_ringbuf_pop_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4919,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 6
    argNames:
    - conn
    - path
    - pi
    - dest
    - destlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4924
      start: 4835
    functionDepth: 8
    functionLinenumber: 4835
    functionLinenumberEnd: 4924
    functionName: conn_write_path_response
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_copy
    - assert
    - conn_server_tx_left
    - conn_bind_dcid
    - ngtcp2_min_size
    - ngtcp2_err_is_fatal
    - ngtcp2_conn_write_single_frame_pkt
    - ngtcp2_ringbuf_len
    - ngtcp2_min_uint64
    - ngtcp2_ringbuf_pop_front
    - memcpy
    - ngtcp2_path_eq
    - ngtcp2_ringbuf_get
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_path_response(ngtcp2_conn *conn,\n                                             ngtcp2_path
      *path,\n                                             ngtcp2_pkt_info *pi, uint8_t
      *dest,\n                                             size_t destlen, ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_writev_stream_versioned
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 4936
      start: 4926
    functionDepth: 1
    functionLinenumber: 4926
    functionLinenumberEnd: 4936
    functionName: ngtcp2_conn_write_pkt_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_writev_stream_versioned
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_pkt_versioned(ngtcp2_conn *conn,\n
      \                                            ngtcp2_path *path,\n                                             int
      pkt_info_version,\n                                             ngtcp2_pkt_info
      *pi, uint8_t *dest,\n                                             size_t destlen,
      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4975,1
    - Dst: ngtcp2_pkt_decode_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4983,1
    - Dst: ngtcp2_log_rx_vn
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4985,1
    - Dst: ngtcp2_qlog_version_negotiation_pkt_received
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4987,1
    - Dst: ngtcp2_is_reserved_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4989,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:4992,1
    - Dst: conn_call_recv_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5002,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5009,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - conn
    - hd
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5013
      start: 4954
    functionDepth: 3
    functionLinenumber: 4954
    functionLinenumberEnd: 5013
    functionName: conn_on_version_negotiation
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - ngtcp2_log_rx_vn
    - ngtcp2_mem_malloc
    - ngtcp2_mem_free
    - ngtcp2_qlog_version_negotiation_pkt_received
    - ngtcp2_pkt_decode_version_negotiation
    - ngtcp2_is_reserved_version
    - conn_call_recv_version_negotiation
    linkageType: ''
    returnType: int
    signature: "int conn_on_version_negotiation(ngtcp2_conn *conn,\n                                       const
      ngtcp2_pkt_hd *hd,\n                                       const uint8_t *payload,\n
      \                                      size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5018,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5022,1
    - Dst: ngtcp2_pq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 5024
      start: 5015
    functionDepth: 1
    functionLinenumber: 5015
    functionLinenumberEnd: 5024
    functionName: conn_tx_strmq_first_cycle
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - ngtcp2_pq_top
    - ngtcp2_pq_empty
    - ngtcp2_struct_of
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t conn_tx_strmq_first_cycle(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5029,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5033,1
    - Dst: ngtcp2_pq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 5035
      start: 5026
    functionDepth: 1
    functionLinenumber: 5026
    functionLinenumberEnd: 5035
    functionName: ngtcp2_conn_tx_strmq_first_cycle
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_pq_top
    - ngtcp2_pq_empty
    - ngtcp2_struct_of
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_conn_tx_strmq_first_cycle(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5072,1
    - Dst: ngtcp2_pkt_verify_retry_tag
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5079,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5083,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5088,1
    - Dst: ngtcp2_encode_hex
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5089,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5096,1
    - Dst: ngtcp2_qlog_retry_pkt_received
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5100,1
    - Dst: conn_call_recv_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5109,1
    - Dst: ngtcp2_rtb_reclaim_on_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5118,1
    - Dst: ngtcp2_rtb_reclaim_on_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5123,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5128,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5132,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5137,1
    - Dst: reset_conn_stat_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5142,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5143,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 6
    argNames:
    - conn
    - hd
    - hdpktlen
    - pkt
    - pktlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - size_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5147
      start: 5055
    functionDepth: 8
    functionLinenumber: 5055
    functionLinenumberEnd: 5147
    functionName: conn_on_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - ngtcp2_encode_hex
    - ngtcp2_qlog_retry_pkt_received
    - ngtcp2_mem_malloc
    - ngtcp2_pkt_decode_retry
    - ngtcp2_cid_eq
    - ngtcp2_mem_free
    - ngtcp2_cpymem
    - conn_call_recv_retry
    - ngtcp2_pkt_verify_retry_tag
    - ngtcp2_rtb_reclaim_on_retry
    - reset_conn_stat_recovery
    - conn_reset_congestion_state
    - conn_reset_ecn_validation_state
    linkageType: ''
    returnType: int
    signature: "int conn_on_retry(ngtcp2_conn *conn, const ngtcp2_pkt_hd *hd,\n                         size_t
      hdpktlen, const uint8_t *pkt, size_t pktlen,\n                         ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rtb_detect_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - pktns
    - cstat
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5152
      start: 5149
    functionDepth: 10
    functionLinenumber: 5149
    functionLinenumberEnd: 5152
    functionName: ngtcp2_conn_detect_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rtb_detect_lost_pkt
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_detect_lost_pkt(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n
      \                               ngtcp2_conn_stat *cstat, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_acktr_recv_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5180,1
    - Dst: ngtcp2_rtb_recv_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5183,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5198,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - conn
    - pktns
    - fr
    - pkt_ts
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_ack*
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5204
      start: 5171
    functionDepth: 6
    functionLinenumber: 5171
    functionLinenumberEnd: 5204
    functionName: conn_recv_ack
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rtb_recv_ack
    - ngtcp2_min_size
    - ngtcp2_acktr_recv_ack
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: int
    signature: "int conn_recv_ack(ngtcp2_conn *conn, ngtcp2_pktns *pktns, ngtcp2_ack
      *fr,\n                         ngtcp2_tstamp pkt_ts, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fr
    - ack_delay_exponent
    argTypes:
    - ngtcp2_ack*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 5221
      start: 5210
    functionDepth: 0
    functionLinenumber: 5210
    functionLinenumberEnd: 5221
    functionName: assign_recved_ack_delay_unscaled
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void assign_recved_ack_delay_unscaled(ngtcp2_ack *fr,\n                                             uint64_t
      ack_delay_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5253,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5266,1
    - Dst: ngtcp2_idtr_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5273,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5275,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5278,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5283,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5287,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5289,1
    - Dst: conn_call_stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5293,1
    - Dst: conn_call_extend_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5307,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_max_stream_data*
    constantsTouched: []
    func_position:
      end: 5315
      start: 5239
    functionDepth: 4
    functionLinenumber: 5239
    functionLinenumberEnd: 5315
    functionName: conn_recv_max_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_call_stream_open
    - ngtcp2_ord_stream_id
    - ngtcp2_idtr_open
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_init_stream
    - conn_call_extend_max_stream_data
    - ngtcp2_err_is_fatal
    - ngtcp2_objalloc_strm_get
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int conn_recv_max_stream_data(ngtcp2_conn *conn,\n                                     const
      ngtcp2_max_stream_data *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_max_data*
    constantsTouched: []
    func_position:
      end: 5322
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5322
    functionName: conn_recv_max_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    linkageType: ''
    returnType: void
    signature: void conn_recv_max_data(ngtcp2_conn *conn, const ngtcp2_max_data *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - pktlen
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 5333
      start: 5328
    functionDepth: 0
    functionLinenumber: 5328
    functionLinenumberEnd: 5333
    functionName: should_buffer_1rtt_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int should_buffer_1rtt_pkt(const uint8_t *pkt, size_t pktlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_chain_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - conn
    - pktns
    - path
    - pi
    - pkt
    - pktlen
    - dgramlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5369
      start: 5345
    functionDepth: 2
    functionLinenumber: 5345
    functionLinenumberEnd: 5369
    functionName: conn_buffer_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_chain_new
    linkageType: ''
    returnType: int
    signature: "int conn_buffer_pkt(ngtcp2_conn *conn, ngtcp2_pktns *pktns,\n                           const
      ngtcp2_path *path, const ngtcp2_pkt_info *pi,\n                           const
      uint8_t *pkt, size_t pktlen, size_t dgramlen,\n                           ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_realloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - vec
    - n
    - initial
    - mem
    argTypes:
    - ngtcp2_vec*
    - size_t
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 5391
      start: 5371
    functionDepth: 1
    functionLinenumber: 5371
    functionLinenumberEnd: 5391
    functionName: ensure_decrypt_buffer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_realloc
    linkageType: ''
    returnType: int
    signature: "int ensure_decrypt_buffer(ngtcp2_vec *vec, size_t n, size_t initial,\n
      \                                const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ensure_decrypt_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - n
    argTypes:
    - ngtcp2_conn*
    - size_t
    constantsTouched: []
    func_position:
      end: 5405
      start: 5403
    functionDepth: 2
    functionLinenumber: 5403
    functionLinenumberEnd: 5405
    functionName: conn_ensure_decrypt_hp_buffer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ensure_decrypt_buffer
    linkageType: ''
    returnType: int
    signature: int conn_ensure_decrypt_hp_buffer(ngtcp2_conn *conn, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ensure_decrypt_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - n
    argTypes:
    - ngtcp2_conn*
    - size_t
    constantsTouched: []
    func_position:
      end: 5419
      start: 5417
    functionDepth: 2
    functionLinenumber: 5417
    functionLinenumberEnd: 5419
    functionName: conn_ensure_decrypt_buffer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ensure_decrypt_buffer
    linkageType: ''
    returnType: int
    signature: int conn_ensure_decrypt_buffer(ngtcp2_conn *conn, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5446,1
    - Dst: ngtcp2_crypto_create_nonce
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5448,1
    - Dst: decrypt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5450,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 9
    argNames:
    - dest
    - aead
    - payload
    - payloadlen
    - aad
    - aadlen
    - pkt_num
    - ckm
    - decrypt
    argTypes:
    - uint8_t*
    - ngtcp2_crypto_aead*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int64_t
    - ngtcp2_crypto_km*
    - ngtcp2_decrypt
    constantsTouched: []
    func_position:
      end: 5463
      start: 5437
    functionDepth: 2
    functionLinenumber: 5437
    functionLinenumberEnd: 5463
    functionName: decrypt_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_create_nonce
    - assert
    - decrypt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize decrypt_pkt(uint8_t *dest, const ngtcp2_crypto_aead *aead,\n
      \                               const uint8_t *payload, size_t payloadlen,\n
      \                               const uint8_t *aad, size_t aadlen,\n                                int64_t
      pkt_num, ngtcp2_crypto_km *ckm,\n                                ngtcp2_decrypt
      decrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5490,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5496,1
    - Dst: hp_mask
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5500,1
    - Dst: ngtcp2_get_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 8
    argNames:
    - hd
    - dest
    - hp
    - pkt
    - pktlen
    - pkt_num_offset
    - hp_ctx
    - hp_mask
    argTypes:
    - ngtcp2_pkt_hd*
    - uint8_t*
    - ngtcp2_crypto_cipher*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    - ngtcp2_hp_mask
    constantsTouched: []
    func_position:
      end: 5525
      start: 5480
    functionDepth: 3
    functionLinenumber: 5480
    functionLinenumberEnd: 5525
    functionName: decrypt_hp
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - hp_mask
    - ngtcp2_cpymem
    - ngtcp2_get_pkt_num
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize decrypt_hp(ngtcp2_pkt_hd *hd, uint8_t *dest, const ngtcp2_crypto_cipher
      *hp,\n           const uint8_t *pkt, size_t pktlen, size_t pkt_num_offset,\n
      \          const ngtcp2_crypto_cipher_ctx *hp_ctx, ngtcp2_hp_mask hp_mask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rob_data_at
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5553,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5555,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5555,1
    - Dst: conn_call_recv_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5563,1
    - Dst: ngtcp2_rob_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - conn
    - encryption_level
    - strm
    - rx_offset
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 5570
      start: 5539
    functionDepth: 4
    functionLinenumber: 5539
    functionLinenumberEnd: 5570
    functionName: conn_emit_pending_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_rob_data_at
    - conn_call_recv_crypto_data
    - ngtcp2_strm_rx_offset
    - ngtcp2_rob_pop
    linkageType: ''
    returnType: int
    signature: "int conn_emit_pending_crypto_data(ngtcp2_conn *conn,\n                              ngtcp2_encryption_level
      encryption_level,\n                              ngtcp2_strm *strm, uint64_t
      rx_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5596,1
    - Dst: ngtcp2_min_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5602,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_connection_close*
    constantsTouched: []
    func_position:
      end: 5606
      start: 5576
    functionDepth: 2
    functionLinenumber: 5576
    functionLinenumberEnd: 5606
    functionName: conn_recv_connection_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_malloc
    - ngtcp2_min_size
    - ngtcp2_cpymem
    linkageType: ''
    returnType: int
    signature: "int conn_recv_connection_close(ngtcp2_conn *conn,\n                                      ngtcp2_connection_close
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5614,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5615,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5616,1
    - Dst: ngtcp2_ringbuf_push_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5622,1
    - Dst: ngtcp2_path_challenge_entry_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - path
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_path_challenge*
    constantsTouched: []
    func_position:
      end: 5624
      start: 5608
    functionDepth: 2
    functionLinenumber: 5608
    functionLinenumberEnd: 5624
    functionName: conn_recv_path_challenge
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_challenge_entry_init
    - ngtcp2_ringbuf_push_front
    - ngtcp2_path_eq
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: "void conn_recv_path_challenge(ngtcp2_conn *conn, const ngtcp2_path
      *path,\n                                     ngtcp2_path_challenge *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_reset_conn_stat_cc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5630,1
    - Dst: ngtcp2_conn*::cc::reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5633,1
    - Dst: ngtcp2_rtb_reset_cc_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5637,1
    - Dst: ngtcp2_rtb_reset_cc_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5640,1
    - Dst: ngtcp2_rst_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5645
      start: 5629
    functionDepth: 2
    functionLinenumber: 5629
    functionLinenumberEnd: 5645
    functionName: conn_reset_congestion_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - conn_reset_conn_stat_cc
    - ngtcp2_conn*::cc::reset
    - ngtcp2_rst_reset
    - ngtcp2_rtb_reset_cc_state
    linkageType: ''
    returnType: void
    signature: void conn_reset_congestion_state(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5655,1
    - Dst: ngtcp2_sockaddr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5669,1
    - Dst: ngtcp2_sockaddr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - conn
    - local_addr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 5681
      start: 5651
    functionDepth: 1
    functionLinenumber: 5651
    functionLinenumberEnd: 5681
    functionName: conn_server_preferred_addr_migration
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_sockaddr_eq
    - assert
    linkageType: ''
    returnType: int
    signature: "int conn_server_preferred_addr_migration(const ngtcp2_conn *conn,\n
      \                                               const ngtcp2_addr *local_addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pv_validate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5693,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5695,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5695,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5702,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5705,1
    - Dst: ngtcp2_conn_add_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5712,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5715,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5717,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5718,1
    - Dst: conn_server_preferred_addr_migration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5721,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5727,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5727,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5732,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5735,1
    - Dst: conn_call_path_validation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5743,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5752,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5755,1
    - Dst: conn_compute_pv_timeout
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5755,1
    - Dst: ngtcp2_pv_set_fallback
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5764,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5767,1
    - Dst: conn_compute_pv_timeout_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5768,1
    - Dst: conn_stop_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5781,1
    - Dst: ngtcp2_pv_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5783,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - conn
    - hd
    - fr
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - ngtcp2_path_response*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5790
      start: 5683
    functionDepth: 5
    functionLinenumber: 5683
    functionLinenumberEnd: 5790
    functionName: conn_recv_path_response
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_pv_timeout
    - conn_start_pmtud
    - ngtcp2_pv_validate
    - conn_reset_ecn_validation_state
    - conn_compute_pv_timeout_pto
    - ngtcp2_pv_del
    - conn_retire_active_dcid
    - ngtcp2_pv_new
    - assert
    - ngtcp2_pv_set_fallback
    - ngtcp2_conn_stop_pmtud
    - conn_reset_congestion_state
    - conn_call_path_validation
    - ngtcp2_err_is_fatal
    - conn_server_preferred_addr_migration
    - ngtcp2_dcid_copy
    - ngtcp2_conn_add_path_history
    - ngtcp2_path_eq
    - conn_stop_pv
    linkageType: ''
    returnType: int
    signature: "int conn_recv_path_response(ngtcp2_conn *conn, const ngtcp2_pkt_hd
      *hd,\n                                   ngtcp2_path_response *fr, ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_is_pushed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pktns
    - pkt_num
    argTypes:
    - ngtcp2_pktns*
    - int64_t
    constantsTouched: []
    func_position:
      end: 5798
      start: 5796
    functionDepth: 2
    functionLinenumber: 5796
    functionLinenumberEnd: 5798
    functionName: pktns_pkt_num_is_duplicate
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_gaptr_is_pushed
    linkageType: ''
    returnType: int
    signature: int pktns_pkt_num_is_duplicate(ngtcp2_pktns *pktns, int64_t pkt_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5821,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5826,1
    - Dst: ngtcp2_gaptr_drop_first_gap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5827,1
    - Dst: ngtcp2_acktr_immediate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5833,1
    - Dst: ngtcp2_gaptr_get_first_gap_after
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5835,1
    - Dst: ngtcp2_acktr_immediate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5839,1
    - Dst: ngtcp2_acktr_increase_ecn_counts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5849,1
    - Dst: ngtcp2_acktr_add
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5851,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - pktns
    - pkt_num
    - pi
    - require_ack
    - ts
    argTypes:
    - ngtcp2_pktns*
    - int64_t
    - ngtcp2_pkt_info*
    - int
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 5858
      start: 5814
    functionDepth: 3
    functionLinenumber: 5814
    functionLinenumberEnd: 5858
    functionName: pktns_commit_recv_pkt_num
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_acktr_add
    - assert
    - ngtcp2_gaptr_drop_first_gap
    - ngtcp2_gaptr_push
    - ngtcp2_gaptr_get_first_gap_after
    - ngtcp2_ksl_len
    - ngtcp2_acktr_increase_ecn_counts
    - ngtcp2_acktr_immediate_ack
    linkageType: ''
    returnType: int
    signature: "int pktns_commit_recv_pkt_num(ngtcp2_pktns *pktns, int64_t pkt_num,\n
      \                                    const ngtcp2_pkt_info *pi, int require_ack,\n
      \                                    ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cmemeq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - token
    - tokenlen
    - hd
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 5870
      start: 5864
    functionDepth: 1
    functionLinenumber: 5864
    functionLinenumberEnd: 5870
    functionName: verify_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_cmemeq
    linkageType: ''
    returnType: int
    signature: "int verify_token(const uint8_t *token, size_t tokenlen,\n                        const
      ngtcp2_pkt_hd *hd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5885,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:5892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - available_versions
    - available_versionslen
    - version
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 5900
      start: 5879
    functionDepth: 2
    functionLinenumber: 5879
    functionLinenumberEnd: 5900
    functionName: vneg_available_versions_includes
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: int
    signature: "int vneg_available_versions_includes(const uint8_t *available_versions,\n
      \                                           size_t available_versionslen,\n
      \                                           uint32_t version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - conn
    - hd
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 5940
      start: 5912
    functionDepth: 0
    functionLinenumber: 5912
    functionLinenumberEnd: 5940
    functionName: conn_verify_fixed_bit
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_verify_fixed_bit(ngtcp2_conn *conn, ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: should_buffer_1rtt_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6018,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6026,1
    - Dst: conn_buffer_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6030,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6032,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6032,1
    - Dst: ngtcp2_pkt_decode_hd_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6038,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6047,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6059,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6060,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6065,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6067,1
    - Dst: conn_on_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6072,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6074,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6083,1
    - Dst: conn_verify_fixed_bit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6089,1
    - Dst: conn_on_retry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6103,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6105,1
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6119,1
    - Dst: conn_verify_fixed_bit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6134,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6141,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6142,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6143,1
    - Dst: conn_recv_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6163,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6174,1
    - Dst: conn_buffer_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6177,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6180,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6180,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6187,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6193,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6197,1
    - Dst: verify_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6205,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6208,1
    - Dst: conn_call_recv_client_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6220,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6227,1
    - Dst: vneg_available_versions_includes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6234,1
    - Dst: conn_call_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6241,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6249,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6261,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6275,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6280,1
    - Dst: conn_buffer_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6283,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6286,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6286,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6300,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6308,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6309,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6310,1
    - Dst: conn_ensure_decrypt_hp_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6312,1
    - Dst: decrypt_hp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6317,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6320,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6323,1
    - Dst: ngtcp2_pkt_adjust_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6332,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6335,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6340,1
    - Dst: ngtcp2_pkt_verify_reserved_bits
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6342,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6346,1
    - Dst: pktns_pkt_num_is_duplicate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6352,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6353,1
    - Dst: conn_ensure_decrypt_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6358,1
    - Dst: decrypt_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6363,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6367,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6370,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6383,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6395,1
    - Dst: conn_verify_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6396,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6398,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6401,1
    - Dst: conn_verify_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6408,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6410,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6413,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6419,1
    - Dst: ngtcp2_qlog_pkt_received_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6438,1
    - Dst: ngtcp2_pkt_decode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6441,1
    - Dst: ngtcp2_pkt_validate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6456,1
    - Dst: ngtcp2_log_rx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6464,1
    - Dst: conn_recv_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6475,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6485,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6488,1
    - Dst: conn_recv_crypto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6493,1
    - Dst: conn_recv_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6500,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6512,1
    - Dst: ngtcp2_qlog_pkt_received_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6521,1
    - Dst: pktns_commit_recv_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6523,1
    - Dst: conn_restart_timer_on_read
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6531,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6533,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 365
    argCount: 8
    argNames:
    - conn
    - path
    - pi
    - pkt
    - pktlen
    - dgramlen
    - pkt_ts
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 6537
      start: 5987
    functionDepth: 9
    functionLinenumber: 5987
    functionLinenumberEnd: 6537
    functionName: conn_recv_handshake_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - decrypt_hp
    - decrypt_pkt
    - conn_verify_dcid
    - ngtcp2_pkt_decode_frame
    - ngtcp2_pkt_decode_hd_long
    - ngtcp2_pkt_adjust_pkt_num
    - ngtcp2_pkt_verify_reserved_bits
    - ngtcp2_qlog_write_frame
    - should_buffer_1rtt_pkt
    - conn_recv_ack
    - conn_call_version_negotiation
    - ngtcp2_log_rx_fr
    - ngtcp2_cid_eq
    - ngtcp2_qlog_pkt_received_end
    - conn_on_version_negotiation
    - pktns_pkt_num_is_duplicate
    - ngtcp2_qlog_pkt_received_start
    - assert
    - ngtcp2_log_info
    - conn_verify_fixed_bit
    - conn_restart_timer_on_read
    - pktns_commit_recv_pkt_num
    - conn_call_recv_client_initial
    - ngtcp2_is_supported_version
    - conn_ensure_decrypt_hp_buffer
    - ngtcp2_vec_len
    - verify_token
    - ngtcp2_err_is_fatal
    - conn_recv_connection_close
    - conn_ensure_decrypt_buffer
    - conn_recv_pkt
    - conn_on_retry
    - vneg_available_versions_includes
    - ngtcp2_unreachable
    - ngtcp2_pkt_validate_ack
    - conn_buffer_pkt
    - conn_recv_crypto
    - ngtcp2_log_rx_pkt_hd
    - ngtcp2_qlog_metrics_updated
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_recv_handshake_pkt(ngtcp2_conn *conn, const ngtcp2_path
      *path,\n                        const ngtcp2_pkt_info *pi, const uint8_t *pkt,\n
      \                       size_t pktlen, size_t dgramlen, ngtcp2_tstamp pkt_ts,\n
      \                       ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - liberr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 6550
      start: 6539
    functionDepth: 0
    functionLinenumber: 6539
    functionLinenumberEnd: 6550
    functionName: is_unrecoverable_error
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_unrecoverable_error(int liberr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6571,1
    - Dst: conn_recv_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6577,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6579,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6589,1
    - Dst: ngtcp2_pkt_get_type_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6590,1
    - Dst: is_unrecoverable_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6592,1
    - Dst: is_unrecoverable_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6610,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6627,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6631,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 6
    argNames:
    - conn
    - path
    - pi
    - pkt
    - pktlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 6640
      start: 6561
    functionDepth: 10
    functionLinenumber: 6561
    functionLinenumberEnd: 6640
    functionName: conn_recv_handshake_cpkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - conn_recv_handshake_pkt
    - ngtcp2_get_uint32be
    - ngtcp2_pkt_get_type_long
    - ngtcp2_err_is_fatal
    - ngtcp2_path_eq
    - is_unrecoverable_error
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_recv_handshake_cpkt(ngtcp2_conn *conn,\n                                             const
      ngtcp2_path *path,\n                                             const ngtcp2_pkt_info
      *pi,\n                                             const uint8_t *pkt, size_t
      pktlen,\n                                             ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6649,1
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6651,1
    - Dst: ngtcp2_strm_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6671,1
    - Dst: ngtcp2_map_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6676,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6678,1
    - Dst: ngtcp2_strm_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - conn
    - strm
    - stream_id
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 6687
      start: 6642
    functionDepth: 5
    functionLinenumber: 6642
    functionLinenumberEnd: 6687
    functionName: ngtcp2_conn_init_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_map_insert
    - assert
    - ngtcp2_strm_free
    - ngtcp2_strm_init
    - bidi_stream
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_init_stream(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                           int64_t stream_id, void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rob_data_at
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6726,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6728,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6728,1
    - Dst: conn_call_recv_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6744,1
    - Dst: ngtcp2_rob_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - conn
    - strm
    - rx_offset
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 6757
      start: 6705
    functionDepth: 4
    functionLinenumber: 6705
    functionLinenumberEnd: 6757
    functionName: conn_emit_pending_stream_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_call_recv_stream_data
    - ngtcp2_rob_data_at
    - ngtcp2_strm_rx_offset
    - ngtcp2_rob_pop
    linkageType: ''
    returnType: int
    signature: "int conn_emit_pending_stream_data(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                                        uint64_t rx_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6799,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6824,1
    - Dst: ngtcp2_strm_update_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6838,1
    - Dst: conn_call_recv_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6841,1
    - Dst: conn_emit_pending_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6847,1
    - Dst: ngtcp2_strm_recv_reordering
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6859,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - conn
    - encryption_level
    - crypto
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - ngtcp2_strm*
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 6861
      start: 6782
    functionDepth: 8
    functionLinenumber: 6782
    functionLinenumberEnd: 6861
    functionName: conn_recv_crypto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - conn_call_recv_crypto_data
    - ngtcp2_strm_update_rx_offset
    - ngtcp2_strm_rx_offset
    - conn_emit_pending_crypto_data
    - ngtcp2_strm_recv_reordering
    linkageType: ''
    returnType: int
    signature: "int conn_recv_crypto(ngtcp2_conn *conn,\n                            ngtcp2_encryption_level
      encryption_level,\n                            ngtcp2_strm *crypto, const ngtcp2_stream
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - datalen
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 6869
      start: 6867
    functionDepth: 0
    functionLinenumber: 6867
    functionLinenumberEnd: 6869
    functionName: conn_max_data_violated
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_max_data_violated(ngtcp2_conn *conn, uint64_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6905,1
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6906,1
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6914,1
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6923,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6934,1
    - Dst: ngtcp2_idtr_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6942,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6944,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6947,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6953,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6958,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6960,1
    - Dst: ngtcp2_strm_shutdown
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6965,1
    - Dst: conn_call_stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6969,1
    - Dst: conn_max_data_violated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6984,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6991,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:6995,1
    - Dst: ngtcp2_strm_shutdown
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7015,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7024,1
    - Dst: ngtcp2_strm_update_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7046,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7053,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7063,1
    - Dst: conn_call_recv_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7066,1
    - Dst: conn_emit_pending_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7072,1
    - Dst: ngtcp2_strm_recv_reordering
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7078,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7084,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 138
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_stream*
    constantsTouched: []
    func_position:
      end: 7085
      start: 6895
    functionDepth: 8
    functionLinenumber: 6895
    functionLinenumberEnd: 7085
    functionName: conn_recv_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_recv_stream_data
    - ngtcp2_strm_shutdown
    - conn_is_tls_handshake_completed
    - ngtcp2_strm_rx_offset
    - conn_call_stream_open
    - bidi_stream
    - ngtcp2_strm_update_rx_offset
    - ngtcp2_objalloc_strm_get
    - ngtcp2_conn_find_stream
    - assert
    - ngtcp2_max_uint64
    - ngtcp2_idtr_open
    - ngtcp2_err_is_fatal
    - ngtcp2_strm_recv_reordering
    - ngtcp2_conn_close_stream_if_shut_rdwr
    - ngtcp2_ord_stream_id
    - conn_emit_pending_stream_data
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_extend_max_offset
    - conn_max_data_violated
    - ngtcp2_conn_init_stream
    - conn_local_stream
    linkageType: ''
    returnType: int
    signature: int conn_recv_stream(ngtcp2_conn *conn, const ngtcp2_stream *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7102,1
    - Dst: conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7106,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - strm
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7109
      start: 7097
    functionDepth: 2
    functionLinenumber: 7097
    functionLinenumberEnd: 7109
    functionName: conn_reset_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_tx_strmq_first_cycle
    - ngtcp2_conn_tx_strmq_push
    - ngtcp2_strm_is_tx_queued
    linkageType: ''
    returnType: int
    signature: "int conn_reset_stream(ngtcp2_conn *conn, ngtcp2_strm *strm,\n                             uint64_t
      app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7126,1
    - Dst: conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7130,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - strm
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7133
      start: 7121
    functionDepth: 2
    functionLinenumber: 7121
    functionLinenumberEnd: 7133
    functionName: conn_stop_sending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_tx_strmq_first_cycle
    - ngtcp2_conn_tx_strmq_push
    - ngtcp2_strm_is_tx_queued
    linkageType: ''
    returnType: int
    signature: "int conn_stop_sending(ngtcp2_conn *conn, ngtcp2_strm *strm,\n                             uint64_t
      app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - punsent_max_remote_streams
    - n
    argTypes:
    - uint64_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7148
      start: 7139
    functionDepth: 0
    functionLinenumber: 7139
    functionLinenumberEnd: 7148
    functionName: handle_max_remote_streams_extension
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void handle_max_remote_streams_extension(uint64_t *punsent_max_remote_streams,\n
      \                                   size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7195,1
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7204,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7215,1
    - Dst: ngtcp2_idtr_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7221,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7223,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7226,1
    - Dst: conn_initial_stream_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7230,1
    - Dst: conn_max_data_violated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7231,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7236,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7240,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7242,1
    - Dst: conn_call_stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7246,1
    - Dst: conn_max_data_violated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7270,1
    - Dst: conn_call_stream_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7274,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7283,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7284,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7288,1
    - Dst: ngtcp2_strm_set_app_error_code
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7294,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7296,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_reset_stream*
    constantsTouched: []
    func_position:
      end: 7297
      start: 7179
    functionDepth: 6
    functionLinenumber: 7179
    functionLinenumberEnd: 7297
    functionName: conn_recv_reset_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_close_stream_if_shut_rdwr
    - assert
    - conn_call_stream_open
    - conn_call_stream_reset
    - ngtcp2_ord_stream_id
    - ngtcp2_idtr_open
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_extend_max_offset
    - conn_initial_stream_rx_offset
    - conn_max_data_violated
    - ngtcp2_conn_init_stream
    - ngtcp2_strm_rx_offset
    - ngtcp2_strm_set_app_error_code
    - ngtcp2_err_is_fatal
    - ngtcp2_objalloc_strm_get
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int conn_recv_reset_stream(ngtcp2_conn *conn,\n                                  const
      ngtcp2_reset_stream *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7331,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7344,1
    - Dst: ngtcp2_idtr_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7349,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7351,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7354,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7360,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7364,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7366,1
    - Dst: conn_call_stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7370,1
    - Dst: ngtcp2_strm_set_app_error_code
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7380,1
    - Dst: ngtcp2_strm_is_all_tx_data_fin_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7384,1
    - Dst: conn_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7388,1
    - Dst: ngtcp2_strm_streamfrq_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7397,1
    - Dst: ngtcp2_conn_close_stream_if_shut_rdwr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7399,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_stop_sending*
    constantsTouched: []
    func_position:
      end: 7400
      start: 7317
    functionDepth: 6
    functionLinenumber: 7317
    functionLinenumberEnd: 7400
    functionName: conn_recv_stop_sending
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_close_stream_if_shut_rdwr
    - assert
    - conn_call_stream_open
    - ngtcp2_ord_stream_id
    - conn_reset_stream
    - ngtcp2_idtr_open
    - ngtcp2_objalloc_strm_release
    - ngtcp2_strm_set_app_error_code
    - ngtcp2_strm_streamfrq_clear
    - ngtcp2_strm_is_all_tx_data_fin_acked
    - ngtcp2_conn_init_stream
    - ngtcp2_err_is_fatal
    - ngtcp2_objalloc_strm_get
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int conn_recv_stop_sending(ngtcp2_conn *conn,\n                                  const
      ngtcp2_stop_sending *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcid_verify_stateless_reset_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dcid
    - path
    - sr
    argTypes:
    - ngtcp2_dcid*
    - ngtcp2_path*
    - ngtcp2_pkt_stateless_reset*
    constantsTouched: []
    func_position:
      end: 7411
      start: 7406
    functionDepth: 2
    functionLinenumber: 7406
    functionLinenumberEnd: 7411
    functionName: check_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcid_verify_stateless_reset_token
    linkageType: ''
    returnType: int
    signature: "int check_stateless_reset(const ngtcp2_dcid *dcid,\n                                 const
      ngtcp2_path *path,\n                                 const ngtcp2_pkt_stateless_reset
      *sr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7436,1
    - Dst: check_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7441,1
    - Dst: check_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7442,1
    - Dst: check_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7444,1
    - Dst: ngtcp2_dcidtr_verify_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7445,1
    - Dst: ngtcp2_log_rx_sr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7454,1
    - Dst: ngtcp2_qlog_stateless_reset_pkt_received
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7456,1
    - Dst: conn_call_recv_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - conn
    - path
    - payload
    - payloadlen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 7459
      start: 7430
    functionDepth: 3
    functionLinenumber: 7430
    functionLinenumberEnd: 7459
    functionName: conn_on_stateless_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcidtr_verify_stateless_reset
    - ngtcp2_pkt_decode_stateless_reset
    - check_stateless_reset
    - conn_call_recv_stateless_reset
    - ngtcp2_qlog_stateless_reset_pkt_received
    - ngtcp2_log_rx_sr
    linkageType: ''
    returnType: int
    signature: "int conn_on_stateless_reset(ngtcp2_conn *conn, const ngtcp2_path *path,\n
      \                                  const uint8_t *payload, size_t payloadlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7481,1
    - Dst: conn_call_extend_max_local_streams_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7486,1
    - Dst: conn_call_extend_max_local_streams_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_max_streams*
    constantsTouched: []
    func_position:
      end: 7496
      start: 7473
    functionDepth: 1
    functionLinenumber: 7473
    functionLinenumberEnd: 7496
    functionName: conn_recv_max_streams
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_min_uint64
    - conn_call_extend_max_local_streams_bidi
    - conn_call_extend_max_local_streams_uni
    linkageType: ''
    returnType: int
    signature: "int conn_recv_max_streams(ngtcp2_conn *conn,\n                                 const
      ngtcp2_max_streams *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcid_verify_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7525,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7530,1
    - Dst: ngtcp2_dcid_verify_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7535,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7540,1
    - Dst: ngtcp2_dcidtr_verify_token_uniqueness
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7545,1
    - Dst: ngtcp2_dcidtr_retire_inactive_dcid_prior_to
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7554,1
    - Dst: ngtcp2_dcidtr_check_retired_seq_tracked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7568,1
    - Dst: ngtcp2_dcidtr_track_retired_seq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7572,1
    - Dst: conn_enqueue_retire_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7577,1
    - Dst: ngtcp2_gaptr_is_pushed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7584,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7588,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7593,1
    - Dst: ngtcp2_gaptr_drop_first_gap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7594,1
    - Dst: ngtcp2_dcidtr_inactive_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7597,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7620,1
    - Dst: ngtcp2_dcidtr_push_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7624,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_new_connection_id*
    constantsTouched: []
    func_position:
      end: 7628
      start: 7509
    functionDepth: 4
    functionLinenumber: 7509
    functionLinenumberEnd: 7628
    functionName: conn_recv_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcidtr_inactive_len
    - ngtcp2_gaptr_drop_first_gap
    - ngtcp2_gaptr_push
    - ngtcp2_log_info
    - ngtcp2_ksl_len
    - ngtcp2_dcidtr_push_unused
    - ngtcp2_cid_eq
    - conn_enqueue_retire_connection_id
    - ngtcp2_dcidtr_verify_token_uniqueness
    - ngtcp2_gaptr_is_pushed
    - ngtcp2_dcid_verify_uniqueness
    - ngtcp2_dcidtr_check_retired_seq_tracked
    - ngtcp2_dcidtr_retire_inactive_dcid_prior_to
    - ngtcp2_dcidtr_track_retired_seq
    linkageType: ''
    returnType: int
    signature: "int conn_recv_new_connection_id(ngtcp2_conn *conn,\n                                       const
      ngtcp2_new_connection_id *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7649,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7653,1
    - Dst: ngtcp2_dcidtr_pop_unused_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7658,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7662,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7666,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7670,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7672,1
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7680,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7681,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7685,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7688,1
    - Dst: ngtcp2_dcidtr_pop_unused_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7693,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7697,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7700,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7702,1
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7709,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7711,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7714,1
    - Dst: ngtcp2_dcidtr_pop_unused_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7719,1
    - Dst: ngtcp2_dcid_copy_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7720,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7722,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 7730
      start: 7642
    functionDepth: 6
    functionLinenumber: 7642
    functionLinenumberEnd: 7730
    functionName: conn_post_process_recv_new_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - ngtcp2_dcidtr_unused_empty
    - conn_retire_active_dcid
    - ngtcp2_dcid_copy_cid_token
    - ngtcp2_dcidtr_pop_unused_cid_token
    - conn_call_activate_dcid
    - conn_abort_pv
    linkageType: ''
    returnType: int
    signature: "int conn_post_process_recv_new_connection_id(ngtcp2_conn *conn,\n
      \                                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7758,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7758,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7759,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7760,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7762,1
    - Dst: ngtcp2_pq_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7772,1
    - Dst: ngtcp2_pq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - conn
    - hd
    - fr
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    - ngtcp2_retire_connection_id*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 7783
      start: 7747
    functionDepth: 2
    functionLinenumber: 7747
    functionLinenumberEnd: 7783
    functionName: conn_recv_retire_connection_id
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_begin
    - ngtcp2_cid_eq
    - ngtcp2_pq_push
    - ngtcp2_ksl_it_end
    - ngtcp2_pq_remove
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: int
    signature: "int conn_recv_retire_connection_id(ngtcp2_conn *conn,\n                                          const
      ngtcp2_pkt_hd *hd,\n                                          const ngtcp2_retire_connection_id
      *fr,\n                                          ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_recv_new_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_new_token*
    constantsTouched: []
    func_position:
      end: 7806
      start: 7796
    functionDepth: 1
    functionLinenumber: 7796
    functionLinenumberEnd: 7806
    functionName: conn_recv_new_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_recv_new_token
    linkageType: ''
    returnType: int
    signature: int conn_recv_new_token(ngtcp2_conn *conn, const ngtcp2_new_token *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_streams_blocked*
    constantsTouched: []
    func_position:
      end: 7825
      start: 7818
    functionDepth: 0
    functionLinenumber: 7818
    functionLinenumberEnd: 7825
    functionName: conn_recv_streams_blocked_bidi
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conn_recv_streams_blocked_bidi(ngtcp2_conn *conn,\n                                          ngtcp2_streams_blocked
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_streams_blocked*
    constantsTouched: []
    func_position:
      end: 7844
      start: 7837
    functionDepth: 0
    functionLinenumber: 7837
    functionLinenumberEnd: 7844
    functionName: conn_recv_streams_blocked_uni
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int conn_recv_streams_blocked_uni(ngtcp2_conn *conn,\n                                         ngtcp2_streams_blocked
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7883,1
    - Dst: ngtcp2_ord_stream_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7892,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7899,1
    - Dst: ngtcp2_idtr_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7905,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7907,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7910,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7915,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7919,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7921,1
    - Dst: ngtcp2_strm_shutdown
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7926,1
    - Dst: conn_call_stream_open
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7930,1
    - Dst: conn_max_data_violated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7950,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:7957,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_stream_data_blocked*
    constantsTouched: []
    func_position:
      end: 7964
      start: 7868
    functionDepth: 6
    functionLinenumber: 7868
    functionLinenumberEnd: 7964
    functionName: conn_recv_stream_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_call_stream_open
    - ngtcp2_ord_stream_id
    - ngtcp2_idtr_open
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_extend_max_offset
    - conn_max_data_violated
    - ngtcp2_conn_init_stream
    - ngtcp2_strm_shutdown
    - ngtcp2_err_is_fatal
    - ngtcp2_objalloc_strm_get
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int conn_recv_stream_data_blocked(ngtcp2_conn *conn,\n                                         ngtcp2_stream_data_blocked
      *fr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_data_blocked*
    constantsTouched: []
    func_position:
      end: 7982
      start: 7976
    functionDepth: 0
    functionLinenumber: 7976
    functionLinenumberEnd: 7982
    functionName: conn_recv_data_blocked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_recv_data_blocked(ngtcp2_conn *conn, ngtcp2_data_blocked *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8003,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8007,1
    - Dst: ngtcp2_addr_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8008,1
    - Dst: conn_call_select_preferred_addr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8010,1
    - Dst: ngtcp2_addr_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8015,1
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8016,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8020,1
    - Dst: ngtcp2_dcidtr_pop_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8022,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8023,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8025,1
    - Dst: conn_compute_pv_timeout
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8025,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 8034
      start: 7997
    functionDepth: 4
    functionLinenumber: 7997
    functionLinenumberEnd: 8034
    functionName: conn_select_preferred_addr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_pv_timeout
    - assert
    - ngtcp2_addr_empty
    - ngtcp2_dcidtr_unused_empty
    - ngtcp2_path_storage_zero
    - ngtcp2_addr_eq
    - ngtcp2_dcid_set_path
    - ngtcp2_pv_new
    - conn_call_activate_dcid
    - conn_call_select_preferred_addr
    - ngtcp2_dcidtr_pop_unused
    - ngtcp2_addr_copy
    linkageType: ''
    returnType: int
    signature: int conn_select_preferred_addr(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_discard_handshake_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8066,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8068,1
    - Dst: conn_select_preferred_addr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8071,1
    - Dst: conn_call_handshake_confirmed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8077,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8084,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 8087
      start: 8050
    functionDepth: 10
    functionLinenumber: 8050
    functionLinenumberEnd: 8087
    functionName: conn_recv_handshake_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_handshake_confirmed
    - assert
    - ngtcp2_conn_discard_handshake_state
    - conn_select_preferred_addr
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: int
    signature: int conn_recv_handshake_done(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8099,1
    - Dst: conn_call_recv_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - fr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_datagram*
    constantsTouched: []
    func_position:
      end: 8102
      start: 8098
    functionDepth: 2
    functionLinenumber: 8098
    functionLinenumberEnd: 8102
    functionName: conn_recv_datagram
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_call_recv_datagram
    linkageType: ''
    returnType: int
    signature: int conn_recv_datagram(ngtcp2_conn *conn, ngtcp2_datagram *fr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - hd
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_hd*
    constantsTouched: []
    func_position:
      end: 8113
      start: 8108
    functionDepth: 0
    functionLinenumber: 8108
    functionLinenumberEnd: 8113
    functionName: conn_key_phase_changed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_key_phase_changed(ngtcp2_conn *conn, const ngtcp2_pkt_hd *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8123,1
    - Dst: conn_initiate_key_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8133,1
    - Dst: ngtcp2_tstamp_not_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8138,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8144,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8145,1
    - Dst: ngtcp2_crypto_km_nocopy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8152,1
    - Dst: ngtcp2_crypto_km_nocopy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8158,1
    - Dst: conn_call_update_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8167,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8184,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 8191
      start: 8120
    functionDepth: 2
    functionLinenumber: 8120
    functionLinenumberEnd: 8191
    functionName: conn_prepare_key_update
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_km_nocopy_new
    - assert
    - conn_initiate_key_update
    - ngtcp2_crypto_km_del
    - ngtcp2_tstamp_not_elapsed
    - conn_compute_pto
    - conn_call_update_key
    - conn_call_delete_crypto_aead_ctx
    linkageType: ''
    returnType: int
    signature: int conn_prepare_key_update(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8202,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8203,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8204,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8205,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8213,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8215,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - conn
    - pkt_num
    - initiator
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 8226
      start: 8198
    functionDepth: 2
    functionLinenumber: 8198
    functionLinenumberEnd: 8226
    functionName: conn_rotate_keys
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_km_del
    - assert
    - conn_call_delete_crypto_aead_ctx
    linkageType: ''
    returnType: void
    signature: "void conn_rotate_keys(ngtcp2_conn *conn, int64_t pkt_num,\n                             int
      initiator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - path
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 8237
      start: 8232
    functionDepth: 1
    functionLinenumber: 8232
    functionLinenumberEnd: 8237
    functionName: conn_path_validation_in_progress
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_eq
    linkageType: ''
    returnType: int
    signature: "int conn_path_validation_in_progress(ngtcp2_conn *conn,\n                                            const
      ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8267,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8270,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8274,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8276,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8277,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8279,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8281,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8287,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8290,1
    - Dst: ngtcp2_addr_cmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8297,1
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8299,1
    - Dst: conn_server_preferred_addr_migration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8301,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8322,1
    - Dst: ngtcp2_dcidtr_pop_bound_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8325,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8326,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8332,1
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8339,1
    - Dst: ngtcp2_dcidtr_pop_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8343,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8345,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8352,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8358,1
    - Dst: ngtcp2_conn_find_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8363,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8365,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8367,1
    - Dst: conn_compute_pv_timeout_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8367,1
    - Dst: ngtcp2_pv_set_fallback
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8374,1
    - Dst: ngtcp2_pv_set_fallback
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8380,1
    - Dst: ngtcp2_conn_add_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8386,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8389,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8393,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8396,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8398,1
    - Dst: ngtcp2_dcid_apply_validated_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8401,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8404,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8413,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8416,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 5
    argNames:
    - conn
    - path
    - dgramlen
    - new_cid_used
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - size_t
    - int
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 8425
      start: 8252
    functionDepth: 6
    functionLinenumber: 8252
    functionLinenumberEnd: 8425
    functionName: conn_recv_non_probing_pkt_on_new_path
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_start_pmtud
    - ngtcp2_conn_find_path_history
    - ngtcp2_dcid_apply_validated_path
    - conn_reset_ecn_validation_state
    - conn_compute_pv_timeout_pto
    - ngtcp2_dcid_set_path
    - ngtcp2_pv_new
    - ngtcp2_dcidtr_pop_unused
    - ngtcp2_dcidtr_pop_bound_dcid
    - conn_abort_pv
    - assert
    - ngtcp2_log_info
    - ngtcp2_dcidtr_unused_empty
    - conn_compute_pto
    - ngtcp2_pv_set_fallback
    - ngtcp2_conn_stop_pmtud
    - conn_reset_congestion_state
    - ngtcp2_addr_eq
    - ngtcp2_addr_cmp
    - ngtcp2_dcid_copy
    - conn_call_activate_dcid
    - ngtcp2_conn_add_path_history
    - ngtcp2_path_eq
    - conn_server_preferred_addr_migration
    linkageType: ''
    returnType: int
    signature: "int conn_recv_non_probing_pkt_on_new_path(ngtcp2_conn *conn,\n                                                 const
      ngtcp2_path *path,\n                                                 size_t
      dgramlen,\n                                                 int new_cid_used,\n
      \                                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8450,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8456,1
    - Dst: conn_bind_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - conn
    - path
    - dgramlen
    - path_challenge_recved
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - size_t
    - int
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 8474
      start: 8441
    functionDepth: 3
    functionLinenumber: 8441
    functionLinenumberEnd: 8474
    functionName: conn_recv_pkt_from_new_path
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_eq
    - conn_bind_dcid
    linkageType: ''
    returnType: int
    signature: "int conn_recv_pkt_from_new_path(ngtcp2_conn *conn,\n                                       const
      ngtcp2_path *path, size_t dgramlen,\n                                       int
      path_challenge_recved,\n                                       ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8510,1
    - Dst: ngtcp2_qlog_pkt_received_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8519,1
    - Dst: ngtcp2_pkt_decode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8522,1
    - Dst: ngtcp2_pkt_validate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8537,1
    - Dst: ngtcp2_log_rx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8545,1
    - Dst: conn_recv_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8556,1
    - Dst: conn_recv_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8565,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8578,1
    - Dst: ngtcp2_qlog_pkt_received_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8581,1
    - Dst: pktns_commit_recv_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8583,1
    - Dst: conn_restart_timer_on_read
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8591,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8593,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 8
    argNames:
    - conn
    - pi
    - hd
    - pktlen
    - payload
    - payloadlen
    - pkt_ts
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - ngtcp2_pkt_hd*
    - size_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 8596
      start: 8497
    functionDepth: 7
    functionLinenumber: 8497
    functionLinenumberEnd: 8596
    functionName: conn_recv_delayed_handshake_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_recv_ack
    - conn_restart_timer_on_read
    - ngtcp2_pkt_validate_ack
    - ngtcp2_log_rx_fr
    - pktns_commit_recv_pkt_num
    - ngtcp2_pkt_decode_frame
    - ngtcp2_qlog_pkt_received_end
    - ngtcp2_qlog_metrics_updated
    - ngtcp2_qlog_write_frame
    - conn_recv_connection_close
    - ngtcp2_qlog_pkt_received_start
    linkageType: ''
    returnType: int
    signature: "int conn_recv_delayed_handshake_pkt(ngtcp2_conn *conn, const ngtcp2_pkt_info
      *pi,\n                                const ngtcp2_pkt_hd *hd, size_t pktlen,\n
      \                               const uint8_t *payload, size_t payloadlen,\n
      \                               ngtcp2_tstamp pkt_ts, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_hd_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8663,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8665,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8674,1
    - Dst: conn_verify_fixed_bit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8681,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8689,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8690,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8691,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8698,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8707,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8738,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8739,1
    - Dst: ngtcp2_pkt_decode_hd_short
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8744,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8746,1
    - Dst: conn_verify_fixed_bit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8751,1
    - Dst: conn_ensure_decrypt_hp_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8764,1
    - Dst: decrypt_hp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8769,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8772,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8775,1
    - Dst: ngtcp2_pkt_adjust_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8784,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8787,1
    - Dst: ngtcp2_log_rx_pkt_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8792,1
    - Dst: ngtcp2_sockaddr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8797,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8799,1
    - Dst: conn_key_phase_changed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8808,1
    - Dst: conn_ensure_decrypt_buffer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8811,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8817,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8819,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8823,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8830,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8832,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8836,1
    - Dst: decrypt_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8845,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8854,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8858,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8867,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8872,1
    - Dst: ngtcp2_pkt_verify_reserved_bits
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8877,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8879,1
    - Dst: pktns_pkt_num_is_duplicate
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8885,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8886,1
    - Dst: conn_verify_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8902,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8904,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8907,1
    - Dst: conn_recv_delayed_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8912,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8920,1
    - Dst: conn_verify_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8921,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8923,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8926,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8934,1
    - Dst: conn_verify_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8937,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8939,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8942,1
    - Dst: ngtcp2_qlog_pkt_received_start
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8948,1
    - Dst: ngtcp2_pkt_decode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8951,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8966,1
    - Dst: assign_recved_ack_delay_unscaled
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8967,1
    - Dst: ngtcp2_pkt_validate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8971,1
    - Dst: ngtcp2_log_rx_fr
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:8979,1
    - Dst: conn_recv_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9028,1
    - Dst: conn_recv_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9036,1
    - Dst: conn_recv_crypto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9043,1
    - Dst: conn_recv_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9051,1
    - Dst: conn_recv_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9058,1
    - Dst: conn_recv_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9065,1
    - Dst: conn_recv_max_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9072,1
    - Dst: conn_recv_max_streams
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9077,1
    - Dst: conn_recv_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9085,1
    - Dst: conn_recv_path_challenge
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9094,1
    - Dst: conn_recv_path_response
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9098,1
    - Dst: conn_recv_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9104,1
    - Dst: conn_recv_retire_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9111,1
    - Dst: conn_recv_new_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9119,1
    - Dst: conn_recv_handshake_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9126,1
    - Dst: conn_recv_streams_blocked_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9133,1
    - Dst: conn_recv_streams_blocked_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9140,1
    - Dst: conn_recv_stream_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9147,1
    - Dst: conn_recv_data_blocked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9154,1
    - Dst: conn_recv_datagram
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9166,1
    - Dst: ngtcp2_qlog_write_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9174,1
    - Dst: ngtcp2_qlog_pkt_received_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9177,1
    - Dst: conn_post_process_recv_new_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9180,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9187,1
    - Dst: conn_path_validation_in_progress
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9189,1
    - Dst: conn_recv_non_probing_pkt_on_new_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9190,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9193,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9198,1
    - Dst: conn_recv_pkt_from_new_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9201,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9204,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9209,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9216,1
    - Dst: conn_rotate_keys
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9217,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9227,1
    - Dst: conn_update_keep_alive_last_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9228,1
    - Dst: pktns_commit_recv_pkt_num
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9232,1
    - Dst: ngtcp2_acktr_immediate_ack
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9240,1
    - Dst: conn_restart_timer_on_read
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9243,1
    - Dst: ngtcp2_qlog_metrics_updated
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9245,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 473
    argCount: 8
    argNames:
    - conn
    - path
    - pi
    - pkt
    - pktlen
    - dgramlen
    - pkt_ts
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - ngtcp2_tstamp
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9249
      start: 8634
    functionDepth: 11
    functionLinenumber: 8634
    functionLinenumberEnd: 9249
    functionName: conn_recv_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - conn_rotate_keys
    - decrypt_hp
    - decrypt_pkt
    - conn_verify_dcid
    - ngtcp2_pkt_decode_frame
    - conn_recv_reset_stream
    - conn_path_validation_in_progress
    - ngtcp2_pkt_decode_hd_long
    - ngtcp2_pkt_adjust_pkt_num
    - ngtcp2_pkt_verify_reserved_bits
    - ngtcp2_qlog_write_frame
    - conn_recv_retire_connection_id
    - conn_recv_max_streams
    - conn_recv_ack
    - ngtcp2_log_rx_fr
    - ngtcp2_cid_eq
    - conn_recv_max_data
    - conn_recv_streams_blocked_uni
    - ngtcp2_qlog_pkt_received_end
    - conn_recv_new_connection_id
    - conn_recv_non_probing_pkt_on_new_path
    - conn_recv_pkt_from_new_path
    - conn_update_keep_alive_last_ts
    - pktns_pkt_num_is_duplicate
    - ngtcp2_qlog_pkt_received_start
    - conn_recv_stream
    - conn_recv_path_challenge
    - conn_recv_datagram
    - assert
    - ngtcp2_log_info
    - conn_verify_fixed_bit
    - conn_recv_delayed_handshake_pkt
    - conn_restart_timer_on_read
    - conn_recv_max_stream_data
    - conn_post_process_recv_new_connection_id
    - pktns_commit_recv_pkt_num
    - conn_ensure_decrypt_hp_buffer
    - conn_recv_handshake_done
    - conn_recv_stop_sending
    - ngtcp2_err_is_fatal
    - conn_key_phase_changed
    - conn_recv_connection_close
    - assign_recved_ack_delay_unscaled
    - conn_ensure_decrypt_buffer
    - conn_recv_path_response
    - conn_recv_streams_blocked_bidi
    - ngtcp2_unreachable
    - ngtcp2_sockaddr_eq
    - ngtcp2_pkt_validate_ack
    - conn_recv_crypto
    - ngtcp2_log_rx_pkt_hd
    - conn_recv_new_token
    - conn_recv_stream_data_blocked
    - ngtcp2_acktr_immediate_ack
    - ngtcp2_qlog_metrics_updated
    - ngtcp2_path_eq
    - conn_recv_data_blocked
    - ngtcp2_pkt_decode_hd_short
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_recv_pkt(ngtcp2_conn *conn, const ngtcp2_path *path,\n
      \                                 const ngtcp2_pkt_info *pi, const uint8_t *pkt,\n
      \                                 size_t pktlen, size_t dgramlen,\n                                  ngtcp2_tstamp
      pkt_ts, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9265,1
    - Dst: conn_recv_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9270,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9272,1
    - Dst: conn_on_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9276,1
    - Dst: ngtcp2_pkt_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9279,1
    - Dst: ngtcp2_pkt_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - conn
    - pktns
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pktns*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9296
      start: 9258
    functionDepth: 12
    functionLinenumber: 9258
    functionLinenumberEnd: 9296
    functionName: conn_process_buffered_protected_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - conn_recv_pkt
    - conn_on_stateless_reset
    - ngtcp2_err_is_fatal
    - ngtcp2_pkt_chain_del
    linkageType: ''
    returnType: int
    signature: "int conn_process_buffered_protected_pkt(ngtcp2_conn *conn,\n                                               ngtcp2_pktns
      *pktns,\n                                               ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9311,1
    - Dst: conn_recv_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9316,1
    - Dst: ngtcp2_pkt_chain_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9330
      start: 9305
    functionDepth: 10
    functionLinenumber: 9305
    functionLinenumberEnd: 9330
    functionName: conn_process_buffered_handshake_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_recv_handshake_pkt
    - ngtcp2_log_info
    - ngtcp2_pkt_chain_del
    linkageType: ''
    returnType: int
    signature: "int conn_process_buffered_handshake_pkt(ngtcp2_conn *conn,\n                                               ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9339
      start: 9332
    functionDepth: 1
    functionLinenumber: 9332
    functionLinenumberEnd: 9339
    functionName: conn_sync_stream_id_limit
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void conn_sync_stream_id_limit(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9348,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9350,1
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9354,1
    - Dst: conn_call_extend_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 9376
      start: 9341
    functionDepth: 1
    functionLinenumber: 9341
    functionLinenumberEnd: 9376
    functionName: strm_set_max_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_local_stream
    - conn_call_extend_max_stream_data
    - assert
    - bidi_stream
    linkageType: ''
    returnType: int
    signature: int strm_set_max_offset(void *data, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_map_each
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9380
      start: 9378
    functionDepth: 1
    functionLinenumber: 9378
    functionLinenumberEnd: 9380
    functionName: conn_sync_stream_data_limit
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_map_each
    linkageType: ''
    returnType: int
    signature: int conn_sync_stream_data_limit(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9397,1
    - Dst: conn_call_extend_max_local_streams_bidi
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9403,1
    - Dst: conn_call_extend_max_local_streams_uni
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9418
      start: 9392
    functionDepth: 1
    functionLinenumber: 9392
    functionLinenumberEnd: 9418
    functionName: conn_handshake_completed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_call_extend_max_local_streams_bidi
    - conn_call_extend_max_local_streams_uni
    - conn_call_handshake_completed
    linkageType: ''
    returnType: int
    signature: int conn_handshake_completed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9437,1
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9442,1
    - Dst: conn_server_preferred_addr_migration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9443,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9444,1
    - Dst: conn_recv_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9451,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9453,1
    - Dst: conn_on_stateless_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9462,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9473,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - conn
    - path
    - pi
    - pkt
    - pktlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9482
      start: 9429
    functionDepth: 12
    functionLinenumber: 9429
    functionLinenumberEnd: 9482
    functionName: conn_recv_cpkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - conn_recv_pkt
    - ngtcp2_addr_eq
    - conn_on_stateless_reset
    - ngtcp2_err_is_fatal
    - ngtcp2_path_eq
    - conn_server_preferred_addr_migration
    linkageType: ''
    returnType: int
    signature: "int conn_recv_cpkt(ngtcp2_conn *conn, const ngtcp2_path *path,\n                          const
      ngtcp2_pkt_info *pi, const uint8_t *pkt,\n                          size_t pktlen,
      ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9493,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9505
      start: 9488
    functionDepth: 2
    functionLinenumber: 9488
    functionLinenumberEnd: 9505
    functionName: conn_enqueue_handshake_done
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_frame_chain_objalloc_new
    linkageType: ''
    returnType: int
    signature: int conn_enqueue_handshake_done(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_recv_handshake_cpkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9536,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9546,1
    - Dst: conn_process_buffered_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9549,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9555,1
    - Dst: conn_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9557,1
    - Dst: conn_process_buffered_protected_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9562,1
    - Dst: conn_recv_handshake_cpkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9570,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9582,1
    - Dst: ngtcp2_rob_data_buffered
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9584,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9598,1
    - Dst: conn_process_buffered_protected_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9600,1
    - Dst: conn_recv_handshake_cpkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9608,1
    - Dst: conn_process_buffered_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9614,1
    - Dst: ngtcp2_conn_discard_initial_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9621,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9624,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9638,1
    - Dst: ngtcp2_conn_loss_detection_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9639,1
    - Dst: ngtcp2_conn_on_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9640,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9650,1
    - Dst: conn_buffer_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9654,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9657,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9657,1
    - Dst: conn_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9671,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9677,1
    - Dst: conn_process_buffered_protected_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9682,1
    - Dst: ngtcp2_conn_discard_handshake_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9687,1
    - Dst: conn_enqueue_handshake_done
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9689,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9695,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9705,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 124
    argCount: 6
    argNames:
    - conn
    - path
    - pi
    - pkt
    - pktlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9715
      start: 9523
    functionDepth: 13
    functionLinenumber: 9523
    functionLinenumberEnd: 9715
    functionName: conn_read_handshake
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_loss_detection_expiry
    - conn_start_pmtud
    - conn_process_buffered_handshake_pkt
    - conn_is_tls_handshake_completed
    - ngtcp2_strm_rx_offset
    - ngtcp2_conn_set_loss_detection_timer
    - conn_handshake_completed
    - conn_recv_handshake_cpkt
    - ngtcp2_conn_discard_initial_state
    - conn_process_buffered_protected_pkt
    - assert
    - ngtcp2_log_info
    - conn_enqueue_handshake_done
    - ngtcp2_rob_data_buffered
    - ngtcp2_err_is_fatal
    - ngtcp2_conn_on_loss_detection_timer
    - conn_buffer_pkt
    - conn_call_activate_dcid
    - ngtcp2_conn_discard_handshake_state
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_read_handshake(ngtcp2_conn *conn,\n                                        const
      ngtcp2_path *path,\n                                        const ngtcp2_pkt_info
      *pi,\n                                        const uint8_t *pkt, size_t pktlen,\n
      \                                       ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9727,1
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9729,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9731,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9739,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9740,1
    - Dst: ngtcp2_dcidtr_check_path_retired
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9741,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9742,1
    - Dst: conn_read_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9754,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9763,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9771,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9772,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9776,1
    - Dst: ngtcp2_rob_data_buffered
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9778,1
    - Dst: conn_read_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9785,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9794,1
    - Dst: conn_prepare_key_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9805,1
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9811,1
    - Dst: conn_recv_cpkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9814,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 7
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - pkt
    - pktlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9815
      start: 9717
    functionDepth: 14
    functionLinenumber: 9717
    functionLinenumberEnd: 9815
    functionName: ngtcp2_conn_read_pkt_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - conn_recv_cpkt
    - ngtcp2_unreachable
    - conn_update_timestamp
    - ngtcp2_strm_rx_offset
    - ngtcp2_rob_data_buffered
    - conn_read_handshake
    - conn_prepare_key_update
    - ngtcp2_path_eq
    - ngtcp2_dcidtr_check_path_retired
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_read_pkt_versioned(ngtcp2_conn *conn, const ngtcp2_path
      *path,\n                                   int pkt_info_version,\n                                   const
      ngtcp2_pkt_info *pi,\n                                   const uint8_t *pkt,
      size_t pktlen,\n                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9828
      start: 9821
    functionDepth: 0
    functionLinenumber: 9821
    functionLinenumberEnd: 9828
    functionName: conn_check_pkt_num_exhausted
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_check_pkt_num_exhausted(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_write_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - dgram_offset
    - flags
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - size_t
    - uint8_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 9840
      start: 9834
    functionDepth: 9
    functionLinenumber: 9834
    functionLinenumberEnd: 9840
    functionName: conn_retransmit_retry_early
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_write_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_retransmit_retry_early(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi,\n                            uint8_t *dest, size_t destlen, size_t dgram_offset,\n
      \                           uint8_t flags, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9850
      start: 9847
    functionDepth: 0
    functionLinenumber: 9847
    functionLinenumberEnd: 9850
    functionName: conn_handshake_probe_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_handshake_probe_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9861,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 9884
      start: 9858
    functionDepth: 1
    functionLinenumber: 9858
    functionLinenumberEnd: 9884
    functionName: conn_validate_early_transport_params_limits
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int conn_validate_early_transport_params_limits(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_retry_early_payloadlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9921,1
    - Dst: conn_write_client_initial
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9928,1
    - Dst: conn_write_handshake_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9934,1
    - Dst: conn_retransmit_retry_early
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9942,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9949,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9949,1
    - Dst: conn_handshake_probe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9962,1
    - Dst: conn_cwnd_is_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9962,1
    - Dst: conn_retry_early_payloadlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9966,1
    - Dst: conn_write_handshake_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9973,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9983,1
    - Dst: conn_retransmit_retry_early
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9986,1
    - Dst: ngtcp2_pkt_get_type_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:9989,1
    - Dst: conn_write_handshake_ack_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10004,1
    - Dst: conn_validate_early_transport_params_limits
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10024,1
    - Dst: conn_sync_stream_data_limit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10032,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10039,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10042,1
    - Dst: ngtcp2_dcidtr_unused_full
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10042,1
    - Dst: ngtcp2_dcidtr_push_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10045,1
    - Dst: ngtcp2_gaptr_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10048,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10055,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10056,1
    - Dst: ngtcp2_dcid_set_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10057,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10062,1
    - Dst: conn_process_early_rtb
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10067,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10070,1
    - Dst: conn_write_handshake_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10079,1
    - Dst: conn_handshake_probe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10090,1
    - Dst: conn_cwnd_is_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10090,1
    - Dst: conn_write_handshake_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10092,1
    - Dst: conn_write_handshake_ack_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10103,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 144
    argCount: 7
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - wflags
    - write_datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10121
      start: 9909
    functionDepth: 11
    functionLinenumber: 9909
    functionLinenumberEnd: 10121
    functionName: conn_write_handshake
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_sync_stream_data_limit
    - conn_start_pmtud
    - ngtcp2_gaptr_push
    - conn_write_handshake_ack_pkts
    - conn_validate_early_transport_params_limits
    - conn_retransmit_retry_early
    - conn_is_tls_handshake_completed
    - conn_write_handshake_pkt
    - ngtcp2_dcid_set_token
    - conn_cwnd_is_zero
    - conn_handshake_probe_left
    - conn_retry_early_payloadlen
    - assert
    - conn_write_handshake_pkts
    - conn_process_early_rtb
    - ngtcp2_err_is_fatal
    - conn_write_client_initial
    - ngtcp2_dcidtr_unused_full
    - ngtcp2_dcidtr_push_unused
    - ngtcp2_pkt_get_type_long
    - conn_call_activate_dcid
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_handshake(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi,\n                                         uint8_t *dest, size_t destlen,\n
      \                                        uint8_t wflags, uint64_t write_datalen,\n
      \                                        ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10159,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10166,1
    - Dst: conn_retry_early_payloadlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10167,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10169,1
    - Dst: ngtcp2_vec_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10180,1
    - Dst: conn_retry_early_payloadlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10181,1
    - Dst: conn_write_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10197,1
    - Dst: ngtcp2_pkt_get_type_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10213,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10217,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10218,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10219,1
    - Dst: conn_cwnd_is_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10227,1
    - Dst: conn_write_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10231,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 7
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - wflags
    - vmsg
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - ngtcp2_vmsg*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10252
      start: 10147
    functionDepth: 12
    functionLinenumber: 10147
    functionLinenumberEnd: 10252
    functionName: conn_client_write_handshake
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_cwnd_is_zero
    - conn_write_pkt
    - ngtcp2_vec_len
    - ngtcp2_min_uint64
    - ngtcp2_pkt_get_type_long
    - conn_retry_early_payloadlen
    - conn_write_handshake
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_client_write_handshake(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi,\n                            uint8_t *dest, size_t destlen, uint8_t wflags,\n
      \                           ngtcp2_vmsg *vmsg, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10259
      start: 10254
    functionDepth: 0
    functionLinenumber: 10254
    functionLinenumberEnd: 10259
    functionName: ngtcp2_conn_tls_handshake_completed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_tls_handshake_completed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10264
      start: 10261
    functionDepth: 1
    functionLinenumber: 10261
    functionLinenumberEnd: 10264
    functionName: ngtcp2_conn_get_handshake_completed
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - conn_is_tls_handshake_completed
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_get_handshake_completed(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_hd_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - dest
    - pkt
    - pktlen
    argTypes:
    - ngtcp2_pkt_hd*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 10306
      start: 10266
    functionDepth: 4
    functionLinenumber: 10266
    functionLinenumberEnd: 10306
    functionName: ngtcp2_accept
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pkt_decode_hd_long
    linkageType: ''
    returnType: int
    signature: int ngtcp2_accept(ngtcp2_pkt_hd *dest, const uint8_t *pkt, size_t pktlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10316,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10317,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10319,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10323,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10324,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10328,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10332,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10333,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10337,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 8
    argNames:
    - conn
    - rx_aead_ctx
    - rx_iv
    - rx_hp_ctx
    - tx_aead_ctx
    - tx_iv
    - tx_hp_ctx
    - ivlen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_cipher_ctx*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_cipher_ctx*
    - size_t
    constantsTouched: []
    func_position:
      end: 10357
      start: 10308
    functionDepth: 2
    functionLinenumber: 10308
    functionLinenumberEnd: 10357
    functionName: ngtcp2_conn_install_initial_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_crypto_km_del
    - conn_call_delete_crypto_cipher_ctx
    - ngtcp2_crypto_km_new
    - conn_call_delete_crypto_aead_ctx
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_initial_key(\n  ngtcp2_conn *conn, const ngtcp2_crypto_aead_ctx
      *rx_aead_ctx,\n  const uint8_t *rx_iv, const ngtcp2_crypto_cipher_ctx *rx_hp_ctx,\n
      \ const ngtcp2_crypto_aead_ctx *tx_aead_ctx, const uint8_t *tx_iv,\n  const
      ngtcp2_crypto_cipher_ctx *tx_hp_ctx, size_t ivlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10367,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10369,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10373,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10374,1
    - Dst: conn_call_delete_crypto_cipher_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10378,1
    - Dst: conn_call_delete_crypto_aead_ctx
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10382,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10383,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10387,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 9
    argNames:
    - conn
    - version
    - rx_aead_ctx
    - rx_iv
    - rx_hp_ctx
    - tx_aead_ctx
    - tx_iv
    - tx_hp_ctx
    - ivlen
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_cipher_ctx*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_crypto_cipher_ctx*
    - size_t
    constantsTouched: []
    func_position:
      end: 10408
      start: 10359
    functionDepth: 2
    functionLinenumber: 10359
    functionLinenumberEnd: 10408
    functionName: ngtcp2_conn_install_vneg_initial_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_crypto_km_del
    - conn_call_delete_crypto_cipher_ctx
    - ngtcp2_crypto_km_new
    - conn_call_delete_crypto_aead_ctx
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_vneg_initial_key(\n  ngtcp2_conn *conn, uint32_t
      version,\n  const ngtcp2_crypto_aead_ctx *rx_aead_ctx, const uint8_t *rx_iv,\n
      \ const ngtcp2_crypto_cipher_ctx *rx_hp_ctx,\n  const ngtcp2_crypto_aead_ctx
      *tx_aead_ctx, const uint8_t *tx_iv,\n  const ngtcp2_crypto_cipher_ctx *tx_hp_ctx,
      size_t ivlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10416,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10417,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10418,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10419,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10421,1
    - Dst: conn_call_recv_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10429,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10431,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - conn
    - aead_ctx
    - iv
    - ivlen
    - hp_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 10440
      start: 10410
    functionDepth: 2
    functionLinenumber: 10410
    functionLinenumberEnd: 10440
    functionName: ngtcp2_conn_install_rx_handshake_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_crypto_km_del
    - conn_call_recv_rx_key
    - ngtcp2_crypto_km_new
    - memset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_rx_handshake_key(\n  ngtcp2_conn *conn, const
      ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv,\n  size_t ivlen, const
      ngtcp2_crypto_cipher_ctx *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10448,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10449,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10450,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10451,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10453,1
    - Dst: ngtcp2_conn_commit_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10462,1
    - Dst: conn_call_recv_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10468,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10470,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - conn
    - aead_ctx
    - iv
    - ivlen
    - hp_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 10479
      start: 10442
    functionDepth: 2
    functionLinenumber: 10442
    functionLinenumberEnd: 10479
    functionName: ngtcp2_conn_install_tx_handshake_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - conn_call_recv_tx_key
    - ngtcp2_crypto_km_del
    - ngtcp2_crypto_km_new
    - memset
    - ngtcp2_conn_commit_local_transport_params
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_tx_handshake_key(\n  ngtcp2_conn *conn, const
      ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *iv,\n  size_t ivlen, const
      ngtcp2_crypto_cipher_ctx *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10487,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10488,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10489,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10491,1
    - Dst: conn_call_recv_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10502,1
    - Dst: conn_call_recv_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10504,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10507,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - conn
    - aead_ctx
    - iv
    - ivlen
    - hp_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 10516
      start: 10481
    functionDepth: 2
    functionLinenumber: 10481
    functionLinenumberEnd: 10516
    functionName: ngtcp2_conn_install_0rtt_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - conn_call_recv_tx_key
    - ngtcp2_crypto_km_del
    - conn_call_recv_rx_key
    - ngtcp2_crypto_km_new
    - memset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_0rtt_key(ngtcp2_conn *conn,\n                                 const
      ngtcp2_crypto_aead_ctx *aead_ctx,\n                                 const uint8_t
      *iv, size_t ivlen,\n                                 const ngtcp2_crypto_cipher_ctx
      *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10526,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10527,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10528,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10530,1
    - Dst: ngtcp2_transport_params_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10540,1
    - Dst: conn_sync_stream_id_limit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10544,1
    - Dst: conn_discard_early_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10549,1
    - Dst: conn_call_recv_rx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10553,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10555,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - secret
    - secretlen
    - aead_ctx
    - iv
    - ivlen
    - hp_ctx
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 10564
      start: 10518
    functionDepth: 3
    functionLinenumber: 10518
    functionLinenumberEnd: 10564
    functionName: ngtcp2_conn_install_rx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - conn_sync_stream_id_limit
    - ngtcp2_crypto_km_del
    - conn_discard_early_key
    - conn_call_recv_rx_key
    - ngtcp2_crypto_km_new
    - ngtcp2_transport_params_del
    - memset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_rx_key(ngtcp2_conn *conn, const uint8_t *secret,\n
      \                              size_t secretlen,\n                               const
      ngtcp2_crypto_aead_ctx *aead_ctx,\n                               const uint8_t
      *iv, size_t ivlen,\n                               const ngtcp2_crypto_cipher_ctx
      *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10574,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10575,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10576,1
    - Dst: ngtcp2_crypto_km_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10578,1
    - Dst: ngtcp2_transport_params_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10588,1
    - Dst: conn_sync_stream_id_limit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10592,1
    - Dst: conn_discard_early_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10596,1
    - Dst: conn_call_recv_tx_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10599,1
    - Dst: ngtcp2_crypto_km_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10601,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - secret
    - secretlen
    - aead_ctx
    - iv
    - ivlen
    - hp_ctx
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - size_t
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 10610
      start: 10566
    functionDepth: 3
    functionLinenumber: 10566
    functionLinenumberEnd: 10610
    functionName: ngtcp2_conn_install_tx_key
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - conn_sync_stream_id_limit
    - conn_call_recv_tx_key
    - ngtcp2_crypto_km_del
    - conn_discard_early_key
    - ngtcp2_crypto_km_new
    - ngtcp2_transport_params_del
    - memset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_install_tx_key(ngtcp2_conn *conn, const uint8_t *secret,\n
      \                              size_t secretlen,\n                               const
      ngtcp2_crypto_aead_ctx *aead_ctx,\n                               const uint8_t
      *iv, size_t ivlen,\n                               const ngtcp2_crypto_cipher_ctx
      *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10614,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10616,1
    - Dst: ngtcp2_tstamp_not_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10622,1
    - Dst: conn_rotate_keys
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10629
      start: 10612
    functionDepth: 3
    functionLinenumber: 10612
    functionLinenumberEnd: 10629
    functionName: conn_initiate_key_update
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - conn_rotate_keys
    - ngtcp2_tstamp_not_elapsed
    - conn_compute_pto
    linkageType: ''
    returnType: int
    signature: int conn_initiate_key_update(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10632,1
    - Dst: conn_initiate_key_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10635
      start: 10631
    functionDepth: 4
    functionLinenumber: 10631
    functionLinenumberEnd: 10635
    functionName: ngtcp2_conn_initiate_key_update
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_update_timestamp
    - conn_initiate_key_update
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_initiate_key_update(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10639
      start: 10637
    functionDepth: 0
    functionLinenumber: 10637
    functionLinenumberEnd: 10639
    functionName: ngtcp2_conn_loss_detection_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_loss_detection_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10643,1
    - Dst: ngtcp2_pv_next_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10647,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10651,1
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10654,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10655,1
    - Dst: ngtcp2_pq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10655,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10657,1
    - Dst: ngtcp2_dcidtr_earliest_retired_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10661,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10663,1
    - Dst: ngtcp2_dcidtr_earliest_bound_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10667,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10669,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10675,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10679
      start: 10641
    functionDepth: 2
    functionLinenumber: 10641
    functionLinenumberEnd: 10679
    functionName: ngtcp2_conn_internal_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pq_top
    - ngtcp2_pq_empty
    - ngtcp2_pv_next_expiry
    - conn_compute_pto
    - ngtcp2_struct_of
    - ngtcp2_min_uint64
    - ngtcp2_dcidtr_earliest_bound_ts
    - ngtcp2_dcidtr_earliest_retired_ts
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_internal_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_ack_delay
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10689
      start: 10681
    functionDepth: 1
    functionLinenumber: 10681
    functionLinenumberEnd: 10689
    functionName: ngtcp2_conn_ack_delay_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_ack_delay
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_ack_delay_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10701
      start: 10691
    functionDepth: 1
    functionLinenumber: 10691
    functionLinenumberEnd: 10701
    functionName: conn_handshake_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_is_tls_handshake_completed
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp conn_handshake_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10704,1
    - Dst: ngtcp2_conn_loss_detection_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10704,1
    - Dst: ngtcp2_conn_ack_delay_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10705,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10706,1
    - Dst: ngtcp2_conn_internal_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10706,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10707,1
    - Dst: ngtcp2_conn_lost_pkt_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10707,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10708,1
    - Dst: conn_keep_alive_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10708,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10709,1
    - Dst: conn_handshake_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10709,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10710,1
    - Dst: ngtcp2_conn_get_idle_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10710,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10712
      start: 10703
    functionDepth: 3
    functionLinenumber: 10703
    functionLinenumberEnd: 10712
    functionName: ngtcp2_conn_get_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_loss_detection_expiry
    - ngtcp2_conn_ack_delay_expiry
    - ngtcp2_conn_get_idle_expiry
    - ngtcp2_min_uint64
    - conn_handshake_expiry
    - ngtcp2_conn_lost_pkt_expiry
    - conn_keep_alive_expiry
    - ngtcp2_conn_internal_expiry
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_get_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10718,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10720,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10722,1
    - Dst: ngtcp2_conn_get_idle_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10724,1
    - Dst: ngtcp2_conn_cancel_expired_ack_delay_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10728,1
    - Dst: conn_cancel_expired_keep_alive_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10730,1
    - Dst: conn_cancel_expired_pkt_tx_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10732,1
    - Dst: ngtcp2_conn_remove_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10734,1
    - Dst: ngtcp2_pv_cancel_expired_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10737,1
    - Dst: ngtcp2_pmtud_handle_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10741,1
    - Dst: ngtcp2_pmtud_finished
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10742,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10743,1
    - Dst: ngtcp2_conn_loss_detection_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10747,1
    - Dst: ngtcp2_conn_on_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10748,1
    - Dst: ngtcp2_dcidtr_retire_stale_bound_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10755,1
    - Dst: conn_remove_retired_connection_id
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10762,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10768,1
    - Dst: conn_discard_early_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10769,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10772,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10779
      start: 10714
    functionDepth: 5
    functionLinenumber: 10714
    functionLinenumberEnd: 10779
    functionName: ngtcp2_conn_handle_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - ngtcp2_conn_loss_detection_expiry
    - ngtcp2_dcidtr_retire_stale_bound_dcid
    - conn_is_tls_handshake_completed
    - ngtcp2_conn_cancel_expired_ack_delay_timer
    - conn_update_timestamp
    - assert
    - ngtcp2_conn_remove_lost_pkt
    - conn_cancel_expired_keep_alive_timer
    - conn_cancel_expired_pkt_tx_timer
    - conn_compute_pto
    - ngtcp2_conn_stop_pmtud
    - conn_remove_retired_connection_id
    - ngtcp2_pmtud_handle_expiry
    - ngtcp2_conn_on_loss_detection_timer
    - ngtcp2_tstamp_elapsed
    - ngtcp2_conn_get_idle_expiry
    - ngtcp2_pv_cancel_expired_timer
    - ngtcp2_pmtud_finished
    - conn_discard_early_key
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_handle_expiry(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - acktr
    - max_ack_delay
    - ts
    argTypes:
    - ngtcp2_acktr*
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10788
      start: 10781
    functionDepth: 1
    functionLinenumber: 10781
    functionLinenumberEnd: 10788
    functionName: acktr_cancel_expired_ack_delay_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: void
    signature: "void acktr_cancel_expired_ack_delay_timer(ngtcp2_acktr *acktr,\n                                                 ngtcp2_duration
      max_ack_delay,\n                                                 ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_ack_delay
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10792,1
    - Dst: acktr_cancel_expired_ack_delay_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10795,1
    - Dst: acktr_cancel_expired_ack_delay_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10798,1
    - Dst: acktr_cancel_expired_ack_delay_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10801
      start: 10790
    functionDepth: 2
    functionLinenumber: 10790
    functionLinenumberEnd: 10801
    functionName: ngtcp2_conn_cancel_expired_ack_delay_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - conn_compute_ack_delay
    - acktr_cancel_expired_ack_delay_timer
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_cancel_expired_ack_delay_timer(ngtcp2_conn *conn,\n
      \                                               ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rtb_lost_pkt_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10807,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10809,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10810,1
    - Dst: ngtcp2_rtb_lost_pkt_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10815,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10817,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10818,1
    - Dst: ngtcp2_rtb_lost_pkt_ts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10822,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10824,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 10829
      start: 10803
    functionDepth: 3
    functionLinenumber: 10803
    functionLinenumberEnd: 10829
    functionName: ngtcp2_conn_lost_pkt_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_rtb_lost_pkt_ts
    - ngtcp2_min_uint64
    - conn_compute_pto
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_lost_pkt_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10835,1
    - Dst: ngtcp2_rtb_remove_expired_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10836,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10839,1
    - Dst: ngtcp2_rtb_remove_expired_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10840,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10842,1
    - Dst: ngtcp2_rtb_remove_expired_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 10844
      start: 10831
    functionDepth: 6
    functionLinenumber: 10831
    functionLinenumberEnd: 10844
    functionName: ngtcp2_conn_remove_lost_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_rtb_remove_expired_lost_pkt
    - conn_compute_pto
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_remove_lost_pkt(ngtcp2_conn *conn, ngtcp2_tstamp ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - preferred_versions
    - preferred_versionslen
    - chosen_version
    - available_versions
    - available_versionslen
    - fallback_version
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t
    - uint8_t*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 10883
      start: 10853
    functionDepth: 2
    functionLinenumber: 10853
    functionLinenumberEnd: 10883
    functionName: select_preferred_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_get_uint32be
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t select_preferred_version(const uint32_t *preferred_versions,\n
      \                                        size_t preferred_versionslen,\n                                         uint32_t
      chosen_version,\n                                         const uint8_t *available_versions,\n
      \                                        size_t available_versionslen,\n                                         uint32_t
      fallback_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10905,1
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10913,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10929,1
    - Dst: vneg_available_versions_includes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10929,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10939,1
    - Dst: select_preferred_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10967,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - conn
    - params
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 10978
      start: 10898
    functionDepth: 3
    functionLinenumber: 10898
    functionLinenumberEnd: 10978
    functionName: conn_client_validate_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_cid_eq
    - vneg_available_versions_includes
    - select_preferred_version
    linkageType: ''
    returnType: int
    signature: "int conn_client_validate_transport_params(ngtcp2_conn *conn,\n                                      const
      ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10983,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10984,1
    - Dst: select_preferred_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:10986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - version_info
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_version_info*
    constantsTouched: []
    func_position:
      end: 10990
      start: 10980
    functionDepth: 3
    functionLinenumber: 10980
    functionLinenumberEnd: 10990
    functionName: ngtcp2_conn_server_negotiate_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - select_preferred_version
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ngtcp2_conn_server_negotiate_version(ngtcp2_conn *conn,\n
      \                                    const ngtcp2_version_info *version_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11019,1
    - Dst: vneg_available_versions_includes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11035,1
    - Dst: ngtcp2_conn_server_negotiate_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11047,1
    - Dst: conn_call_version_negotiation
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11049,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11062,1
    - Dst: conn_client_validate_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11066,1
    - Dst: ngtcp2_log_remote_tp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11072,1
    - Dst: ngtcp2_qlog_parameters_set_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11074,1
    - Dst: ngtcp2_transport_params_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11079,1
    - Dst: ngtcp2_transport_params_copy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11082,1
    - Dst: conn_sync_stream_id_limit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11087,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11090,1
    - Dst: ngtcp2_transport_params_copy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11092,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - conn
    - params
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 11102
      start: 10992
    functionDepth: 4
    functionLinenumber: 10992
    functionLinenumberEnd: 11102
    functionName: ngtcp2_conn_set_remote_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_sync_stream_id_limit
    - ngtcp2_log_info
    - ngtcp2_log_remote_tp
    - vneg_available_versions_includes
    - assert
    - ngtcp2_conn_server_negotiate_version
    - conn_call_version_negotiation
    - ngtcp2_cid_eq
    - ngtcp2_transport_params_copy_new
    - ngtcp2_qlog_parameters_set_transport_params
    - ngtcp2_transport_params_del
    - conn_client_validate_transport_params
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_set_remote_transport_params(\n  ngtcp2_conn *conn,
      const ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_decode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11110,1
    - Dst: ngtcp2_conn_set_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 11116
      start: 11104
    functionDepth: 5
    functionLinenumber: 11104
    functionLinenumberEnd: 11116
    functionName: ngtcp2_conn_decode_and_set_remote_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_set_remote_transport_params
    - ngtcp2_transport_params_decode
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_decode_and_set_remote_transport_params(ngtcp2_conn
      *conn,\n                                                       const uint8_t
      *data,\n                                                       size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 11125
      start: 11118
    functionDepth: 0
    functionLinenumber: 11118
    functionLinenumberEnd: 11125
    functionName: ngtcp2_conn_get_remote_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_transport_params
    signature: 'ngtcp2_transport_params *

      ngtcp2_conn_get_remote_transport_params(ngtcp2_conn *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11135,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11140,1
    - Dst: ngtcp2_transport_params_encode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - conn
    - dest
    - destlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 11160
      start: 11127
    functionDepth: 1
    functionLinenumber: 11127
    functionLinenumberEnd: 11160
    functionName: ngtcp2_conn_encode_0rtt_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_transport_params_default
    - ngtcp2_transport_params_encode
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_encode_0rtt_transport_params(ngtcp2_conn
      *conn,\n                                                      uint8_t *dest,\n
      \                                                     size_t destlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_decode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11168,1
    - Dst: ngtcp2_conn_set_0rtt_remote_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 11174
      start: 11162
    functionDepth: 1
    functionLinenumber: 11162
    functionLinenumberEnd: 11174
    functionName: ngtcp2_conn_decode_and_set_0rtt_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_transport_params_decode
    - ngtcp2_conn_set_0rtt_remote_transport_params
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_decode_and_set_0rtt_transport_params(ngtcp2_conn *conn,\n
      \                                                    const uint8_t *data,\n
      \                                                    size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11180,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11181,1
    - Dst: ngtcp2_mem_calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11184,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11191,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11203,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11209,1
    - Dst: conn_sync_stream_id_limit
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11232,1
    - Dst: ngtcp2_qlog_parameters_set_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - conn
    - params
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 11240
      start: 11176
    functionDepth: 2
    functionLinenumber: 11176
    functionLinenumberEnd: 11240
    functionName: ngtcp2_conn_set_0rtt_remote_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - conn_sync_stream_id_limit
    - ngtcp2_mem_calloc
    - ngtcp2_max_uint64
    - ngtcp2_qlog_parameters_set_transport_params
    - ngtcp2_transport_params_default
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_set_0rtt_remote_transport_params(\n  ngtcp2_conn *conn,
      const ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_convert_to_latest
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11247,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11250,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11251,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11253,1
    - Dst: conn_set_local_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - transport_params_version
    - params
    argTypes:
    - ngtcp2_conn*
    - int
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 11263
      start: 11242
    functionDepth: 1
    functionLinenumber: 11242
    functionLinenumberEnd: 11263
    functionName: ngtcp2_conn_set_local_transport_params_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_transport_params_convert_to_latest
    - assert
    - conn_set_local_transport_params
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_set_local_transport_params_versioned(\n  ngtcp2_conn
      *conn, int transport_params_version,\n  const ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11271,1
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11271,1
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11281,1
    - Dst: ngtcp2_scid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11286,1
    - Dst: ngtcp2_ksl_insert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11288,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11290,1
    - Dst: ngtcp2_qlog_parameters_set_transport_params
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 11310
      start: 11265
    functionDepth: 5
    functionLinenumber: 11265
    functionLinenumberEnd: 11310
    functionName: ngtcp2_conn_commit_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_ksl_len
    - ngtcp2_mem_malloc
    - ngtcp2_mem_free
    - ngtcp2_qlog_parameters_set_transport_params
    - ngtcp2_ksl_insert
    - ngtcp2_scid_init
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_commit_local_transport_params(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 11315
      start: 11312
    functionDepth: 0
    functionLinenumber: 11312
    functionLinenumberEnd: 11315
    functionName: ngtcp2_conn_get_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_transport_params
    signature: 'ngtcp2_transport_params *

      ngtcp2_conn_get_local_transport_params(ngtcp2_conn *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_encode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - dest
    - destlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 11322
      start: 11317
    functionDepth: 0
    functionLinenumber: 11317
    functionLinenumberEnd: 11322
    functionName: ngtcp2_conn_encode_local_transport_params
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_transport_params_encode
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_encode_local_transport_params(ngtcp2_conn
      *conn,\n                                                       uint8_t *dest,\n
      \                                                      size_t destlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_streams_bidi_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11329,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11333,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11338,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - pstream_id
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t*
    - void*
    constantsTouched: []
    func_position:
      end: 11349
      start: 11324
    functionDepth: 6
    functionLinenumber: 11324
    functionLinenumberEnd: 11349
    functionName: ngtcp2_conn_open_bidi_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_init_stream
    - ngtcp2_conn_get_streams_bidi_left
    - ngtcp2_objalloc_strm_get
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_open_bidi_stream(ngtcp2_conn *conn, int64_t *pstream_id,\n
      \                                void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_streams_uni_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11356,1
    - Dst: ngtcp2_objalloc_strm_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11360,1
    - Dst: ngtcp2_conn_init_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11365,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11368,1
    - Dst: ngtcp2_strm_shutdown
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - pstream_id
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t*
    - void*
    constantsTouched: []
    func_position:
      end: 11377
      start: 11351
    functionDepth: 6
    functionLinenumber: 11351
    functionLinenumberEnd: 11377
    functionName: ngtcp2_conn_open_uni_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_strm_release
    - ngtcp2_conn_init_stream
    - ngtcp2_conn_get_streams_uni_left
    - ngtcp2_strm_shutdown
    - ngtcp2_objalloc_strm_get
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_open_uni_stream(ngtcp2_conn *conn, int64_t *pstream_id,\n
      \                               void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_map_find
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 11381
      start: 11379
    functionDepth: 1
    functionLinenumber: 11379
    functionLinenumberEnd: 11381
    functionName: ngtcp2_conn_find_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 9
    functionsReached:
    - ngtcp2_map_find
    linkageType: ''
    returnType: ngtcp2_strm
    signature: ngtcp2_strm *ngtcp2_conn_find_stream(ngtcp2_conn *conn, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_writev_stream_versioned
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 12
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - pdatalen
    - flags
    - stream_id
    - data
    - datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_ssize*
    - uint32_t
    - int64_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11404
      start: 11383
    functionDepth: 1
    functionLinenumber: 11383
    functionLinenumberEnd: 11404
    functionName: ngtcp2_conn_write_stream_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_writev_stream_versioned
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_stream_versioned(\n  ngtcp2_conn *conn,
      ngtcp2_path *path, int pkt_info_version,\n  ngtcp2_pkt_info *pi, uint8_t *dest,
      size_t destlen, ngtcp2_ssize *pdatalen,\n  uint32_t flags, int64_t stream_id,
      const uint8_t *data, size_t datalen,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_write_vmsg
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11414,1
    - Dst: conn_pacing_pkt_tx_allowed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 9
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - wflags
    - vmsg
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - ngtcp2_vmsg*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11434
      start: 11406
    functionDepth: 1
    functionLinenumber: 11406
    functionLinenumberEnd: 11434
    functionName: conn_write_vmsg_wrapper
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_write_vmsg
    - conn_pacing_pkt_tx_allowed
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_vmsg_wrapper(ngtcp2_conn *conn, ngtcp2_path
      *path,\n                        int pkt_info_version, ngtcp2_pkt_info *pi,\n
      \                       uint8_t *dest, size_t destlen, uint8_t wflags,\n                        ngtcp2_vmsg
      *vmsg, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11451,1
    - Dst: ngtcp2_vec_len_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11460,1
    - Dst: conn_write_vmsg_wrapper
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11493,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 12
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - pdatalen
    - flags
    - stream_id
    - datav
    - datavcnt
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_ssize*
    - uint32_t
    - int64_t
    - ngtcp2_vec*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11495
      start: 11436
    functionDepth: 2
    functionLinenumber: 11436
    functionLinenumberEnd: 11495
    functionName: ngtcp2_conn_writev_stream_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_conn_find_stream
    - conn_write_vmsg_wrapper
    - ngtcp2_vec_len_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_writev_stream_versioned(\n  ngtcp2_conn *conn,
      ngtcp2_path *path, int pkt_info_version,\n  ngtcp2_pkt_info *pi, uint8_t *dest,
      size_t destlen, ngtcp2_ssize *pdatalen,\n  uint32_t flags, int64_t stream_id,
      const ngtcp2_vec *datav, size_t datavcnt,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_writev_datagram_versioned
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 12
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - paccepted
    - flags
    - dgram_id
    - data
    - datalen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - int*
    - uint32_t
    - uint64_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11518
      start: 11497
    functionDepth: 1
    functionLinenumber: 11497
    functionLinenumberEnd: 11518
    functionName: ngtcp2_conn_write_datagram_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_writev_datagram_versioned
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_datagram_versioned(\n  ngtcp2_conn
      *conn, ngtcp2_path *path, int pkt_info_version,\n  ngtcp2_pkt_info *pi, uint8_t
      *dest, size_t destlen, int *paccepted,\n  uint32_t flags, uint64_t dgram_id,
      const uint8_t *data, size_t datalen,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_vec_len_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11538,1
    - Dst: ngtcp2_pkt_datagram_framelen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11548,1
    - Dst: conn_write_vmsg_wrapper
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 12
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - paccepted
    - flags
    - dgram_id
    - datav
    - datavcnt
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - int*
    - uint32_t
    - uint64_t
    - ngtcp2_vec*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11567
      start: 11520
    functionDepth: 3
    functionLinenumber: 11520
    functionLinenumberEnd: 11567
    functionName: ngtcp2_conn_writev_datagram_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_datagram_framelen
    - conn_write_vmsg_wrapper
    - ngtcp2_vec_len_varint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_writev_datagram_versioned(\n  ngtcp2_conn
      *conn, ngtcp2_path *path, int pkt_info_version,\n  ngtcp2_pkt_info *pi, uint8_t
      *dest, size_t destlen, int *paccepted,\n  uint32_t flags, uint64_t dgram_id,
      const ngtcp2_vec *datav, size_t datavcnt,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11587,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11590,1
    - Dst: conn_shape_udp_payload
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11594,1
    - Dst: conn_pacing_pkt_tx_allowed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11603,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11604,1
    - Dst: conn_write_handshake_ack_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11606,1
    - Dst: conn_client_write_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11610,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11621,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11622,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11623,1
    - Dst: ngtcp2_pkt_get_type_long
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11626,1
    - Dst: conn_pacing_pkt_tx_allowed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11638,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11639,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11642,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11647,1
    - Dst: conn_write_handshake_ack_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11650,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11655,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11658,1
    - Dst: ngtcp2_conn_cancel_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11661,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11667,1
    - Dst: ngtcp2_rtb_head
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11671,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11672,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11673,1
    - Dst: conn_write_handshake
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11678,1
    - Dst: ngtcp2_rtb_head
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11689,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11690,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11691,1
    - Dst: conn_pacing_pkt_tx_allowed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11704,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11705,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11709,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11714,1
    - Dst: conn_write_ack_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11717,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11729,1
    - Dst: conn_check_pkt_num_exhausted
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11731,1
    - Dst: conn_write_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11756,1
    - Dst: conn_prepare_key_update
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11764,1
    - Dst: conn_cwnd_is_zero
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11770,1
    - Dst: conn_write_path_response
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11775,1
    - Dst: conn_write_path_challenge
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11782,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11791,1
    - Dst: conn_write_pmtud_probe
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11792,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11802,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11803,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11804,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11808,1
    - Dst: ngtcp2_conn_cancel_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11811,1
    - Dst: conn_handshake_remnants_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11817,1
    - Dst: conn_handshake_probe_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11818,1
    - Dst: ngtcp2_strm_streamfrq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11826,1
    - Dst: conn_write_handshake_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11829,1
    - Dst: conn_write_handshake_ack_pkts
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11839,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11848,1
    - Dst: conn_write_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11852,1
    - Dst: conn_write_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11858,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11861,1
    - Dst: conn_write_ack_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11866,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 231
    argCount: 9
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - wflags
    - vmsg
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - ngtcp2_vmsg*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11891
      start: 11569
    functionDepth: 13
    functionLinenumber: 11569
    functionLinenumberEnd: 11891
    functionName: ngtcp2_conn_write_vmsg
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_path_copy
    - conn_write_pkt
    - conn_write_handshake_ack_pkts
    - ngtcp2_strm_streamfrq_empty
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    - ngtcp2_rtb_head
    - conn_check_pkt_num_exhausted
    - conn_write_handshake
    - conn_pacing_pkt_tx_allowed
    - conn_cwnd_is_zero
    - conn_update_timestamp
    - conn_write_pmtud_probe
    - conn_handshake_probe_left
    - conn_write_ack_pkt
    - assert
    - ngtcp2_log_info
    - conn_server_tx_left
    - conn_write_handshake_pkts
    - ngtcp2_conn_cancel_loss_detection_timer
    - conn_write_path_response
    - conn_client_write_handshake
    - ngtcp2_min_uint64
    - conn_write_path_challenge
    - conn_handshake_remnants_left
    - conn_shape_udp_payload
    - ngtcp2_pkt_get_type_long
    - conn_prepare_key_update
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_vmsg(ngtcp2_conn *conn, ngtcp2_path
      *path,\n                                    int pkt_info_version, ngtcp2_pkt_info
      *pi,\n                                    uint8_t *dest, size_t destlen,\n                                    uint8_t
      wflags, ngtcp2_vmsg *vmsg,\n                                    ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11913,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11927,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11945,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 9
    argNames:
    - conn
    - pi
    - dest
    - destlen
    - pkt_type
    - error_code
    - reason
    - reasonlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint8_t
    - uint64_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 11960
      start: 11893
    functionDepth: 8
    functionLinenumber: 11893
    functionLinenumberEnd: 11960
    functionName: conn_write_connection_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_write_single_frame_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize conn_write_connection_close(ngtcp2_conn *conn, ngtcp2_pkt_info
      *pi,\n                            uint8_t *dest, size_t destlen, uint8_t pkt_type,\n
      \                           uint64_t error_code, const uint8_t *reason,\n                            size_t
      reasonlen, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_check_pkt_num_exhausted
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11972,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11987,1
    - Dst: conn_shape_udp_payload
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11990,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11997,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:11998,1
    - Dst: conn_write_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12014,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 9
    argNames:
    - conn
    - path
    - pi
    - dest
    - destlen
    - error_code
    - reason
    - reasonlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint64_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12023
      start: 11962
    functionDepth: 9
    functionLinenumber: 11962
    functionLinenumberEnd: 12023
    functionName: ngtcp2_conn_write_connection_close_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_copy
    - conn_server_tx_left
    - conn_shape_udp_payload
    - conn_write_connection_close
    - ngtcp2_min_uint64
    - conn_check_pkt_num_exhausted
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_connection_close_pkt(\n  ngtcp2_conn
      *conn, ngtcp2_path *path, ngtcp2_pkt_info *pi, uint8_t *dest,\n  size_t destlen,
      uint64_t error_code, const uint8_t *reason, size_t reasonlen,\n  ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_check_pkt_num_exhausted
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12034,1
    - Dst: ngtcp2_path_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12049,1
    - Dst: conn_shape_udp_payload
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12052,1
    - Dst: conn_server_tx_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12059,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12060,1
    - Dst: conn_write_connection_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12064,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12081,1
    - Dst: ngtcp2_conn_write_single_frame_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12089,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 9
    argNames:
    - conn
    - path
    - pi
    - dest
    - destlen
    - app_error_code
    - reason
    - reasonlen
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - uint64_t
    - uint8_t*
    - size_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12106
      start: 12025
    functionDepth: 9
    functionLinenumber: 12025
    functionLinenumberEnd: 12106
    functionName: ngtcp2_conn_write_application_close_pkt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_path_copy
    - assert
    - conn_server_tx_left
    - conn_shape_udp_payload
    - conn_write_connection_close
    - ngtcp2_conn_write_single_frame_pkt
    - ngtcp2_min_uint64
    - conn_check_pkt_num_exhausted
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_application_close_pkt(\n  ngtcp2_conn
      *conn, ngtcp2_path *path, ngtcp2_pkt_info *pi, uint8_t *dest,\n  size_t destlen,
      uint64_t app_error_code, const uint8_t *reason,\n  size_t reasonlen, ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ccerr
    - type
    - error_code
    - reason
    - reasonlen
    argTypes:
    - ngtcp2_ccerr*
    - ngtcp2_ccerr_type
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12116
      start: 12108
    functionDepth: 0
    functionLinenumber: 12108
    functionLinenumberEnd: 12116
    functionName: ccerr_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ccerr_init(ngtcp2_ccerr *ccerr, ngtcp2_ccerr_type type,\n                       uint64_t
      error_code, const uint8_t *reason,\n                       size_t reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ccerr
    argTypes:
    - ngtcp2_ccerr*
    constantsTouched: []
    func_position:
      end: 12120
      start: 12118
    functionDepth: 1
    functionLinenumber: 12118
    functionLinenumberEnd: 12120
    functionName: ngtcp2_ccerr_default
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ccerr_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ccerr_default(ngtcp2_ccerr *ccerr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ccerr
    - error_code
    - reason
    - reasonlen
    argTypes:
    - ngtcp2_ccerr*
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12125
      start: 12122
    functionDepth: 1
    functionLinenumber: 12122
    functionLinenumberEnd: 12125
    functionName: ngtcp2_ccerr_set_transport_error
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ccerr_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ccerr_set_transport_error(ngtcp2_ccerr *ccerr, uint64_t
      error_code,\n                                      const uint8_t *reason, size_t
      reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12131,1
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12136,1
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12141,1
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12146,1
    - Dst: ngtcp2_ccerr_set_transport_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12152,1
    - Dst: ngtcp2_err_infer_quic_transport_error_code
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ccerr
    - liberr
    - reason
    - reasonlen
    argTypes:
    - ngtcp2_ccerr*
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12155
      start: 12127
    functionDepth: 2
    functionLinenumber: 12127
    functionLinenumberEnd: 12155
    functionName: ngtcp2_ccerr_set_liberr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ccerr_init
    - ngtcp2_err_infer_quic_transport_error_code
    - ngtcp2_ccerr_set_transport_error
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ccerr_set_liberr(ngtcp2_ccerr *ccerr, int liberr,\n                             const
      uint8_t *reason, size_t reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ccerr_set_transport_error
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ccerr
    - tls_alert
    - reason
    - reasonlen
    argTypes:
    - ngtcp2_ccerr*
    - uint8_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12161
      start: 12157
    functionDepth: 2
    functionLinenumber: 12157
    functionLinenumberEnd: 12161
    functionName: ngtcp2_ccerr_set_tls_alert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ccerr_set_transport_error
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ccerr_set_tls_alert(ngtcp2_ccerr *ccerr, uint8_t tls_alert,\n
      \                               const uint8_t *reason, size_t reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccerr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ccerr
    - error_code
    - reason
    - reasonlen
    argTypes:
    - ngtcp2_ccerr*
    - uint64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12169
      start: 12163
    functionDepth: 1
    functionLinenumber: 12163
    functionLinenumberEnd: 12169
    functionName: ngtcp2_ccerr_set_application_error
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ccerr_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ccerr_set_application_error(ngtcp2_ccerr *ccerr,\n                                        uint64_t
      error_code,\n                                        const uint8_t *reason,\n
      \                                       size_t reasonlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12177,1
    - Dst: ngtcp2_conn_write_connection_close_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12181,1
    - Dst: ngtcp2_conn_write_application_close_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - conn
    - path
    - pkt_info_version
    - pi
    - dest
    - destlen
    - ccerr
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - int
    - ngtcp2_pkt_info*
    - uint8_t*
    - size_t
    - ngtcp2_ccerr*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12191
      start: 12171
    functionDepth: 10
    functionLinenumber: 12171
    functionLinenumberEnd: 12191
    functionName: ngtcp2_conn_write_connection_close_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_write_connection_close_pkt
    - conn_update_timestamp
    - ngtcp2_conn_write_application_close_pkt
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_conn_write_connection_close_versioned(\n  ngtcp2_conn
      *conn, ngtcp2_path *path, int pkt_info_version,\n  ngtcp2_pkt_info *pi, uint8_t
      *dest, size_t destlen, const ngtcp2_ccerr *ccerr,\n  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12195
      start: 12193
    functionDepth: 0
    functionLinenumber: 12193
    functionLinenumberEnd: 12195
    functionName: ngtcp2_conn_in_closing_period
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_in_closing_period(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12199
      start: 12197
    functionDepth: 0
    functionLinenumber: 12197
    functionLinenumberEnd: 12199
    functionName: ngtcp2_conn_in_draining_period
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_in_draining_period(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_call_stream_close
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12204,1
    - Dst: ngtcp2_map_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12209,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12211,1
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12215,1
    - Dst: ngtcp2_pq_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12216,1
    - Dst: ngtcp2_strm_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12219,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 12223
      start: 12201
    functionDepth: 5
    functionLinenumber: 12201
    functionLinenumberEnd: 12223
    functionName: ngtcp2_conn_close_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_strm_free
    - conn_call_stream_close
    - ngtcp2_objalloc_strm_release
    - ngtcp2_pq_remove
    - ngtcp2_map_remove
    - ngtcp2_strm_is_tx_queued
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_close_stream(ngtcp2_conn *conn, ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12230,1
    - Dst: ngtcp2_strm_is_all_tx_data_fin_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12233,1
    - Dst: ngtcp2_conn_close_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 12237
      start: 12225
    functionDepth: 6
    functionLinenumber: 12225
    functionLinenumberEnd: 12237
    functionName: ngtcp2_conn_close_stream_if_shut_rdwr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 4
    functionsReached:
    - ngtcp2_conn_close_stream
    - ngtcp2_strm_is_all_tx_data_fin_acked
    - ngtcp2_strm_rx_offset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_close_stream_if_shut_rdwr(ngtcp2_conn *conn,\n                                          ngtcp2_strm
      *strm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_set_app_error_code
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12251,1
    - Dst: ngtcp2_strm_is_all_tx_data_fin_acked
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12254,1
    - Dst: ngtcp2_strm_streamfrq_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12262,1
    - Dst: conn_reset_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - strm
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12265
      start: 12249
    functionDepth: 4
    functionLinenumber: 12249
    functionLinenumberEnd: 12265
    functionName: conn_shutdown_stream_write
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_set_app_error_code
    - ngtcp2_strm_streamfrq_clear
    - ngtcp2_strm_is_all_tx_data_fin_acked
    - conn_reset_stream
    linkageType: ''
    returnType: int
    signature: "int conn_shutdown_stream_write(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                                     uint64_t app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_set_app_error_code
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12279,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12286,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12293,1
    - Dst: ngtcp2_strm_rx_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12294,1
    - Dst: ngtcp2_strm_discard_reordered_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12299,1
    - Dst: conn_stop_sending
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - strm
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12302
      start: 12277
    functionDepth: 5
    functionLinenumber: 12277
    functionLinenumberEnd: 12302
    functionName: conn_shutdown_stream_read
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_strm_set_app_error_code
    - ngtcp2_conn_extend_max_offset
    - conn_stop_sending
    - ngtcp2_strm_rx_offset
    - ngtcp2_strm_discard_reordered_data
    linkageType: ''
    returnType: int
    signature: "int conn_shutdown_stream_read(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                                    uint64_t app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12310,1
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12315,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12315,1
    - Dst: conn_shutdown_stream_read
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12316,1
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12322,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12322,1
    - Dst: conn_shutdown_stream_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12330
      start: 12304
    functionDepth: 6
    functionLinenumber: 12304
    functionLinenumberEnd: 12330
    functionName: ngtcp2_conn_shutdown_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_shutdown_stream_write
    - conn_shutdown_stream_read
    - bidi_stream
    - conn_local_stream
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_shutdown_stream(ngtcp2_conn *conn, uint32_t flags,\n
      \                               int64_t stream_id, uint64_t app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12338,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12338,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12342,1
    - Dst: conn_shutdown_stream_write
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12348
      start: 12332
    functionDepth: 5
    functionLinenumber: 12332
    functionLinenumberEnd: 12348
    functionName: ngtcp2_conn_shutdown_stream_write
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_local_stream
    - ngtcp2_conn_find_stream
    - bidi_stream
    - conn_shutdown_stream_write
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_shutdown_stream_write(ngtcp2_conn *conn, uint32_t
      flags,\n                                      int64_t stream_id,\n                                      uint64_t
      app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12356,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12356,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12360,1
    - Dst: conn_shutdown_stream_read
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12366
      start: 12350
    functionDepth: 6
    functionLinenumber: 12350
    functionLinenumberEnd: 12366
    functionName: ngtcp2_conn_shutdown_stream_read
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_local_stream
    - ngtcp2_conn_find_stream
    - bidi_stream
    - conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_shutdown_stream_read(ngtcp2_conn *conn, uint32_t flags,\n
      \                                    int64_t stream_id,\n                                     uint64_t
      app_error_code)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12391,1
    - Dst: conn_should_send_max_stream_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12392,1
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12393,1
    - Dst: ngtcp2_conn_tx_strmq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12394,1
    - Dst: conn_tx_strmq_first_cycle
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12397,1
    - Dst: ngtcp2_conn_tx_strmq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - strm
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12402
      start: 12378
    functionDepth: 2
    functionLinenumber: 12378
    functionLinenumberEnd: 12402
    functionName: conn_extend_max_stream_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_pq_empty
    - conn_should_send_max_stream_data
    - ngtcp2_conn_tx_strmq_push
    - conn_tx_strmq_first_cycle
    - ngtcp2_strm_is_tx_queued
    - ngtcp2_conn_tx_strmq_top
    linkageType: ''
    returnType: int
    signature: "int conn_extend_max_stream_offset(ngtcp2_conn *conn, ngtcp2_strm *strm,\n
      \                                        uint64_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12408,1
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12408,1
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12412,1
    - Dst: conn_extend_max_stream_offset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - stream_id
    - datalen
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12418
      start: 12404
    functionDepth: 3
    functionLinenumber: 12404
    functionLinenumberEnd: 12418
    functionName: ngtcp2_conn_extend_max_stream_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_local_stream
    - ngtcp2_conn_find_stream
    - bidi_stream
    - conn_extend_max_stream_offset
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_extend_max_stream_offset(ngtcp2_conn *conn, int64_t
      stream_id,\n                                         uint64_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - datalen
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 12428
      start: 12420
    functionDepth: 0
    functionLinenumber: 12420
    functionLinenumberEnd: 12428
    functionName: ngtcp2_conn_extend_max_offset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_extend_max_offset(ngtcp2_conn *conn, uint64_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_max_remote_streams_extension
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - n
    argTypes:
    - ngtcp2_conn*
    - size_t
    constantsTouched: []
    func_position:
      end: 12432
      start: 12430
    functionDepth: 1
    functionLinenumber: 12430
    functionLinenumberEnd: 12432
    functionName: ngtcp2_conn_extend_max_streams_bidi
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - handle_max_remote_streams_extension
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_extend_max_streams_bidi(ngtcp2_conn *conn, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_max_remote_streams_extension
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - n
    argTypes:
    - ngtcp2_conn*
    - size_t
    constantsTouched: []
    func_position:
      end: 12436
      start: 12434
    functionDepth: 1
    functionLinenumber: 12434
    functionLinenumberEnd: 12436
    functionName: ngtcp2_conn_extend_max_streams_uni
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - handle_max_remote_streams_extension
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_extend_max_streams_uni(ngtcp2_conn *conn, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12440
      start: 12438
    functionDepth: 0
    functionLinenumber: 12438
    functionLinenumberEnd: 12440
    functionName: ngtcp2_conn_get_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_cid
    signature: ngtcp2_cid *ngtcp2_conn_get_dcid(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12444
      start: 12442
    functionDepth: 0
    functionLinenumber: 12442
    functionLinenumberEnd: 12444
    functionName: ngtcp2_conn_get_client_initial_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_cid
    signature: ngtcp2_cid *ngtcp2_conn_get_client_initial_dcid(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12448
      start: 12446
    functionDepth: 0
    functionLinenumber: 12446
    functionLinenumberEnd: 12448
    functionName: ngtcp2_conn_get_client_chosen_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ngtcp2_conn_get_client_chosen_version(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12452
      start: 12450
    functionDepth: 0
    functionLinenumber: 12450
    functionLinenumberEnd: 12452
    functionName: ngtcp2_conn_get_negotiated_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ngtcp2_conn_get_negotiated_version(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_strm_is_tx_queued
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12458,1
    - Dst: ngtcp2_pq_remove
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12459,1
    - Dst: ngtcp2_strm_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12462,1
    - Dst: ngtcp2_objalloc_strm_release
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 12466
      start: 12454
    functionDepth: 5
    functionLinenumber: 12454
    functionLinenumberEnd: 12466
    functionName: delete_strms_pq_each
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_objalloc_strm_release
    - ngtcp2_strm_free
    - ngtcp2_pq_remove
    - ngtcp2_strm_is_tx_queued
    linkageType: ''
    returnType: int
    signature: int delete_strms_pq_each(void *data, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_rtb_remove_early_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12475,1
    - Dst: ngtcp2_map_each
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12477,1
    - Dst: ngtcp2_map_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12478,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12505
      start: 12472
    functionDepth: 6
    functionLinenumber: 12472
    functionLinenumberEnd: 12505
    functionName: conn_discard_early_data_state
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_rtb_remove_early_data
    - ngtcp2_map_clear
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_map_each
    linkageType: ''
    returnType: void
    signature: void conn_discard_early_data_state(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_discard_early_data_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12514,1
    - Dst: ngtcp2_conn*::callbacks::tls_early_data_rejected
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12517,1
    - Dst: conn_discard_early_key
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12525
      start: 12507
    functionDepth: 7
    functionLinenumber: 12507
    functionLinenumberEnd: 12525
    functionName: ngtcp2_conn_tls_early_data_rejected
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn*::callbacks::tls_early_data_rejected
    - conn_discard_early_key
    - conn_discard_early_data_state
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_tls_early_data_rejected(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12529
      start: 12527
    functionDepth: 0
    functionLinenumber: 12527
    functionLinenumberEnd: 12529
    functionName: ngtcp2_conn_get_tls_early_data_rejected
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_get_tls_early_data_rejected(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12535,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12545,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12547,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12553,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12563,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - conn
    - rtt
    - ack_delay
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_duration
    - ngtcp2_duration
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12586
      start: 12531
    functionDepth: 2
    functionLinenumber: 12531
    functionLinenumberEnd: 12586
    functionName: ngtcp2_conn_update_rtt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_update_rtt(ngtcp2_conn *conn, ngtcp2_duration rtt,\n
      \                          ngtcp2_duration ack_delay, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - conn_info_version
    - cinfo
    argTypes:
    - ngtcp2_conn*
    - int
    - ngtcp2_conn_info*
    constantsTouched: []
    func_position:
      end: 12601
      start: 12588
    functionDepth: 0
    functionLinenumber: 12588
    functionLinenumberEnd: 12601
    functionName: ngtcp2_conn_get_conn_info_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_get_conn_info_versioned(ngtcp2_conn *conn,\n                                         int
      conn_info_version,\n                                         ngtcp2_conn_info
      *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_arraylen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - ploss_time
    - ppktns
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp*
    - ngtcp2_pktns**
    constantsTouched: []
    func_position:
      end: 12628
      start: 12603
    functionDepth: 0
    functionLinenumber: 12603
    functionLinenumberEnd: 12628
    functionName: conn_get_loss_time_and_pktns
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_arraylen
    linkageType: ''
    returnType: void
    signature: "void conn_get_loss_time_and_pktns(ngtcp2_conn *conn,\n                                         ngtcp2_tstamp
      *ploss_time,\n                                         ngtcp2_pktns **ppktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12638,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12652,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12667
      start: 12630
    functionDepth: 1
    functionLinenumber: 12630
    functionLinenumberEnd: 12667
    functionName: conn_get_earliest_pto_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - compute_pto
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: "ngtcp2_tstamp conn_get_earliest_pto_expiry(ngtcp2_conn *conn,\n                                                  ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_loss_time_and_pktns
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12677,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12682,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12696,1
    - Dst: ngtcp2_conn_cancel_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12698,1
    - Dst: conn_get_earliest_pto_expiry
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12703,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12711
      start: 12669
    functionDepth: 2
    functionLinenumber: 12669
    functionLinenumberEnd: 12711
    functionName: ngtcp2_conn_set_loss_detection_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 7
    functionsReached:
    - conn_get_loss_time_and_pktns
    - conn_get_earliest_pto_expiry
    - ngtcp2_conn_cancel_loss_detection_timer
    - ngtcp2_log_info
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_set_loss_detection_timer(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12718
      start: 12713
    functionDepth: 0
    functionLinenumber: 12713
    functionLinenumberEnd: 12718
    functionName: ngtcp2_conn_cancel_loss_detection_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_cancel_loss_detection_timer(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_cancel_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12731,1
    - Dst: conn_get_loss_time_and_pktns
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12741,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12743,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12747,1
    - Dst: ngtcp2_conn_detect_lost_pkt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12749,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12753,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12757,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12767,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12782,1
    - Dst: ngtcp2_conn_set_loss_detection_timer
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12785,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 12788
      start: 12720
    functionDepth: 11
    functionLinenumber: 12720
    functionLinenumberEnd: 12788
    functionName: ngtcp2_conn_on_loss_detection_timer
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_conn_detect_lost_pkt
    - ngtcp2_conn_cancel_loss_detection_timer
    - conn_is_tls_handshake_completed
    - conn_get_loss_time_and_pktns
    - ngtcp2_conn_set_loss_detection_timer
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_on_loss_detection_timer(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_buf_left
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12800,1
    - Dst: ngtcp2_buf_chain_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12806,1
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12806,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - conn
    - pdata
    - pktns
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - uint8_t**
    - ngtcp2_pktns*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12817
      start: 12790
    functionDepth: 2
    functionLinenumber: 12790
    functionLinenumberEnd: 12817
    functionName: conn_buffer_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_buf_left
    - ngtcp2_buf_chain_new
    - ngtcp2_cpymem
    - ngtcp2_max_size
    linkageType: ''
    returnType: int
    signature: "int conn_buffer_crypto_data(ngtcp2_conn *conn, const uint8_t **pdata,\n
      \                                  ngtcp2_pktns *pktns, const uint8_t *data,\n
      \                                  size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12833,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12837,1
    - Dst: conn_buffer_crypto_data
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12847,1
    - Dst: ngtcp2_frame_chain_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12852,1
    - Dst: ngtcp2_strm_streamfrq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12868,1
    - Dst: ngtcp2_frame_chain_objalloc_del
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - conn
    - encryption_level
    - data
    - datalen
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12878
      start: 12819
    functionDepth: 6
    functionLinenumber: 12819
    functionLinenumberEnd: 12878
    functionName: ngtcp2_conn_submit_crypto_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - ngtcp2_frame_chain_objalloc_del
    - ngtcp2_strm_streamfrq_push
    - conn_buffer_crypto_data
    - ngtcp2_frame_chain_objalloc_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_submit_crypto_data(ngtcp2_conn *conn,\n                                   ngtcp2_encryption_level
      encryption_level,\n                                   const uint8_t *data, const
      size_t datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12885,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12886,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12887,1
    - Dst: ngtcp2_frame_chain_new_token_objalloc_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - token
    - tokenlen
    argTypes:
    - ngtcp2_conn*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 12899
      start: 12880
    functionDepth: 3
    functionLinenumber: 12880
    functionLinenumberEnd: 12899
    functionName: ngtcp2_conn_submit_new_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_frame_chain_new_token_objalloc_new
    - assert
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_submit_new_token(ngtcp2_conn *conn, const uint8_t
      *token,\n                                 size_t tokenlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12902,1
    - Dst: ngtcp2_pq_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12902,1
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12903,1
    - Dst: ngtcp2_pq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12904
      start: 12901
    functionDepth: 1
    functionLinenumber: 12901
    functionLinenumberEnd: 12904
    functionName: ngtcp2_conn_tx_strmq_top
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - assert
    - ngtcp2_pq_top
    - ngtcp2_pq_empty
    - ngtcp2_struct_of
    linkageType: ''
    returnType: ngtcp2_strm
    signature: ngtcp2_strm *ngtcp2_conn_tx_strmq_top(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_tx_strmq_top
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12907,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12908,1
    - Dst: ngtcp2_pq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12911
      start: 12906
    functionDepth: 2
    functionLinenumber: 12906
    functionLinenumberEnd: 12911
    functionName: ngtcp2_conn_tx_strmq_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - ngtcp2_pq_pop
    - ngtcp2_conn_tx_strmq_top
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_tx_strmq_pop(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq_push
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - strm
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_strm*
    constantsTouched: []
    func_position:
      end: 12915
      start: 12913
    functionDepth: 1
    functionLinenumber: 12913
    functionLinenumberEnd: 12915
    functionName: ngtcp2_conn_tx_strmq_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 6
    functionsReached:
    - ngtcp2_pq_push
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_tx_strmq_push(ngtcp2_conn *conn, ngtcp2_strm *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12922
      start: 12917
    functionDepth: 0
    functionLinenumber: 12917
    functionLinenumberEnd: 12922
    functionName: conn_has_uncommitted_preferred_addr_cid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conn_has_uncommitted_preferred_addr_cid(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ksl_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12930,1
    - Dst: conn_has_uncommitted_preferred_addr_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12931,1
    - Dst: ngtcp2_ksl_begin
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12934,1
    - Dst: ngtcp2_ksl_it_end
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12934,1
    - Dst: ngtcp2_ksl_it_next
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12935,1
    - Dst: ngtcp2_ksl_it_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12936,1
    - Dst: conn_has_uncommitted_preferred_addr_cid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - dest
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 12945
      start: 12924
    functionDepth: 2
    functionLinenumber: 12924
    functionLinenumberEnd: 12945
    functionName: ngtcp2_conn_get_scid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ksl_it_next
    - ngtcp2_ksl_len
    - ngtcp2_ksl_begin
    - conn_has_uncommitted_preferred_addr_cid
    - ngtcp2_ksl_it_end
    - ngtcp2_ksl_it_get
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_scid(ngtcp2_conn *conn, ngtcp2_cid *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcidtr_retired_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 12969
      start: 12947
    functionDepth: 1
    functionLinenumber: 12947
    functionLinenumberEnd: 12969
    functionName: conn_get_num_active_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_dcidtr_retired_len
    linkageType: ''
    returnType: size_t
    signature: size_t conn_get_num_active_dcid(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_storage_init2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12975,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_cid_token*
    - ngtcp2_dcid*
    constantsTouched: []
    func_position:
      end: 12980
      start: 12971
    functionDepth: 1
    functionLinenumber: 12971
    functionLinenumberEnd: 12980
    functionName: copy_dcid_to_cid_token
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ngtcp2_path_storage_init2
    linkageType: ''
    returnType: void
    signature: "void copy_dcid_to_cid_token(ngtcp2_cid_token *dest,\n                                   const
      ngtcp2_dcid *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_num_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12993,1
    - Dst: copy_dcid_to_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:12996,1
    - Dst: copy_dcid_to_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13005,1
    - Dst: copy_dcid_to_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13011,1
    - Dst: ngtcp2_ringbuf_len
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13016,1
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13018,1
    - Dst: copy_dcid_to_cid_token
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - conn
    - dest
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid_token*
    constantsTouched: []
    func_position:
      end: 13024
      start: 12982
    functionDepth: 2
    functionLinenumber: 12982
    functionLinenumberEnd: 13024
    functionName: ngtcp2_conn_get_active_dcid
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_get
    - conn_get_num_active_dcid
    - copy_dcid_to_cid_token
    - ngtcp2_ringbuf_len
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_active_dcid(ngtcp2_conn *conn, ngtcp2_cid_token
      *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13029,1
    - Dst: ngtcp2_addr_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - addr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 13032
      start: 13026
    functionDepth: 2
    functionLinenumber: 13026
    functionLinenumberEnd: 13032
    functionName: ngtcp2_conn_set_local_addr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_addr_copy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_set_local_addr(ngtcp2_conn *conn, const ngtcp2_addr
      *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - path_user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 13036
      start: 13034
    functionDepth: 0
    functionLinenumber: 13034
    functionLinenumberEnd: 13036
    functionName: ngtcp2_conn_set_path_user_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_set_path_user_data(ngtcp2_conn *conn, void *path_user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13040
      start: 13038
    functionDepth: 0
    functionLinenumber: 13038
    functionLinenumberEnd: 13040
    functionName: ngtcp2_conn_get_path
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_path
    signature: ngtcp2_path *ngtcp2_conn_get_path(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13044
      start: 13042
    functionDepth: 0
    functionLinenumber: 13042
    functionLinenumberEnd: 13044
    functionName: ngtcp2_conn_get_max_tx_udp_payload_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_max_tx_udp_payload_size(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_max_tx_udp_payload_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13052
      start: 13046
    functionDepth: 1
    functionLinenumber: 13046
    functionLinenumberEnd: 13052
    functionName: ngtcp2_conn_get_path_max_tx_udp_payload_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_conn_get_max_tx_udp_payload_size
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_path_max_tx_udp_payload_size(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_dcidtr_unused_empty
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13063,1
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - local_addr
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 13072
      start: 13054
    functionDepth: 2
    functionLinenumber: 13054
    functionLinenumberEnd: 13072
    functionName: conn_initiate_migration_precheck
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_addr_eq
    - ngtcp2_dcidtr_unused_empty
    linkageType: ''
    returnType: int
    signature: "int conn_initiate_migration_precheck(ngtcp2_conn *conn,\n                                            const
      ngtcp2_addr *local_addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13082,1
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13084,1
    - Dst: conn_initiate_migration_precheck
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13086,1
    - Dst: ngtcp2_conn_stop_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13091,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13094,1
    - Dst: conn_retire_active_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13100,1
    - Dst: ngtcp2_dcidtr_pop_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13105,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13106,1
    - Dst: ngtcp2_conn_add_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13109,1
    - Dst: ngtcp2_dcid_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13112,1
    - Dst: conn_reset_congestion_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13114,1
    - Dst: conn_reset_ecn_validation_state
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13115,1
    - Dst: ngtcp2_conn_find_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13117,1
    - Dst: ngtcp2_dcid_apply_validated_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13119,1
    - Dst: conn_start_pmtud
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13122,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13132,1
    - Dst: conn_compute_pv_timeout
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13132,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - conn
    - path
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 13142
      start: 13074
    functionDepth: 6
    functionLinenumber: 13074
    functionLinenumberEnd: 13142
    functionName: ngtcp2_conn_initiate_immediate_migration
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_pv_timeout
    - assert
    - ngtcp2_dcid_copy
    - conn_start_pmtud
    - ngtcp2_conn_find_path_history
    - conn_reset_ecn_validation_state
    - conn_initiate_migration_precheck
    - conn_update_timestamp
    - conn_retire_active_dcid
    - ngtcp2_conn_stop_pmtud
    - conn_reset_congestion_state
    - ngtcp2_dcid_apply_validated_path
    - ngtcp2_dcid_set_path
    - ngtcp2_pv_new
    - conn_call_activate_dcid
    - ngtcp2_conn_add_path_history
    - ngtcp2_dcidtr_pop_unused
    - conn_abort_pv
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_initiate_immediate_migration(ngtcp2_conn *conn,\n
      \                                            const ngtcp2_path *path,\n                                             ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13150,1
    - Dst: ngtcp2_conn_find_path_history
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13152,1
    - Dst: ngtcp2_conn_initiate_immediate_migration
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13153,1
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13156,1
    - Dst: conn_initiate_migration_precheck
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13158,1
    - Dst: conn_abort_pv
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13164,1
    - Dst: ngtcp2_dcidtr_pop_unused
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13170,1
    - Dst: ngtcp2_dcid_set_path
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13171,1
    - Dst: ngtcp2_pv_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13173,1
    - Dst: conn_compute_pv_timeout
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13173,1
    - Dst: conn_call_activate_dcid
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - conn
    - path
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 13182
      start: 13144
    functionDepth: 7
    functionLinenumber: 13144
    functionLinenumberEnd: 13182
    functionName: ngtcp2_conn_initiate_migration
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_compute_pv_timeout
    - assert
    - ngtcp2_conn_initiate_immediate_migration
    - ngtcp2_conn_find_path_history
    - conn_initiate_migration_precheck
    - conn_update_timestamp
    - ngtcp2_dcid_set_path
    - conn_call_activate_dcid
    - ngtcp2_pv_new
    - ngtcp2_dcidtr_pop_unused
    - conn_abort_pv
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_initiate_migration(ngtcp2_conn *conn, const ngtcp2_path
      *path,\n                                   ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13186
      start: 13184
    functionDepth: 0
    functionLinenumber: 13184
    functionLinenumberEnd: 13186
    functionName: ngtcp2_conn_get_max_data_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_conn_get_max_data_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 13197
      start: 13188
    functionDepth: 2
    functionLinenumber: 13188
    functionLinenumberEnd: 13197
    functionName: ngtcp2_conn_get_max_stream_data_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ngtcp2_conn_get_max_stream_data_left(ngtcp2_conn *conn,\n
      \                                             int64_t stream_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13205
      start: 13199
    functionDepth: 0
    functionLinenumber: 13199
    functionLinenumberEnd: 13205
    functionName: ngtcp2_conn_get_streams_bidi_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_conn_get_streams_bidi_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13212
      start: 13207
    functionDepth: 0
    functionLinenumber: 13207
    functionLinenumberEnd: 13212
    functionName: ngtcp2_conn_get_streams_uni_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_conn_get_streams_uni_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13223
      start: 13214
    functionDepth: 0
    functionLinenumber: 13214
    functionLinenumberEnd: 13223
    functionName: ngtcp2_conn_get_cwnd_left
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_conn_get_cwnd_left(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13232,1
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13246,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13246,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13257
      start: 13225
    functionDepth: 2
    functionLinenumber: 13225
    functionLinenumberEnd: 13257
    functionName: ngtcp2_conn_get_idle_expiry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - ngtcp2_max_uint64
    - conn_compute_pto
    - conn_is_tls_handshake_completed
    linkageType: ''
    returnType: ngtcp2_tstamp
    signature: ngtcp2_tstamp ngtcp2_conn_get_idle_expiry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_compute_pto
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13260,1
    - Dst: conn_is_tls_handshake_completed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13263
      start: 13259
    functionDepth: 2
    functionLinenumber: 13259
    functionLinenumberEnd: 13263
    functionName: ngtcp2_conn_get_pto
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_is_tls_handshake_completed
    - conn_compute_pto
    linkageType: ''
    returnType: ngtcp2_duration
    signature: ngtcp2_duration ngtcp2_conn_get_pto(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_ctx*
    constantsTouched: []
    func_position:
      end: 13269
      start: 13265
    functionDepth: 1
    functionLinenumber: 13265
    functionLinenumberEnd: 13269
    functionName: ngtcp2_conn_set_initial_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_initial_crypto_ctx(ngtcp2_conn *conn,\n                                        const
      ngtcp2_crypto_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13274
      start: 13271
    functionDepth: 1
    functionLinenumber: 13271
    functionLinenumberEnd: 13274
    functionName: ngtcp2_conn_get_initial_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: ngtcp2_crypto_ctx *ngtcp2_conn_get_initial_crypto_ctx(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - aead
    - aead_ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    constantsTouched: []
    func_position:
      end: 13283
      start: 13276
    functionDepth: 1
    functionLinenumber: 13276
    functionLinenumberEnd: 13283
    functionName: ngtcp2_conn_set_retry_aead
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_retry_aead(ngtcp2_conn *conn,\n                                const
      ngtcp2_crypto_aead *aead,\n                                const ngtcp2_crypto_aead_ctx
      *aead_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_ctx*
    constantsTouched: []
    func_position:
      end: 13290
      start: 13285
    functionDepth: 1
    functionLinenumber: 13285
    functionLinenumberEnd: 13290
    functionName: ngtcp2_conn_set_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_crypto_ctx(ngtcp2_conn *conn,\n                                const
      ngtcp2_crypto_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13294
      start: 13292
    functionDepth: 0
    functionLinenumber: 13292
    functionLinenumberEnd: 13294
    functionName: ngtcp2_conn_get_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: ngtcp2_crypto_ctx *ngtcp2_conn_get_crypto_ctx(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_crypto_ctx*
    constantsTouched: []
    func_position:
      end: 13299
      start: 13296
    functionDepth: 0
    functionLinenumber: 13296
    functionLinenumberEnd: 13299
    functionName: ngtcp2_conn_set_0rtt_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_0rtt_crypto_ctx(ngtcp2_conn *conn,\n                                     const
      ngtcp2_crypto_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13303
      start: 13301
    functionDepth: 0
    functionLinenumber: 13301
    functionLinenumberEnd: 13303
    functionName: ngtcp2_conn_get_0rtt_crypto_ctx
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_crypto_ctx
    signature: ngtcp2_crypto_ctx *ngtcp2_conn_get_0rtt_crypto_ctx(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13307
      start: 13305
    functionDepth: 0
    functionLinenumber: 13305
    functionLinenumberEnd: 13307
    functionName: ngtcp2_conn_get_tls_native_handle
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_conn_get_tls_native_handle(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - tls_native_handle
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 13312
      start: 13309
    functionDepth: 0
    functionLinenumber: 13309
    functionLinenumberEnd: 13312
    functionName: ngtcp2_conn_set_tls_native_handle
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_set_tls_native_handle(ngtcp2_conn *conn,\n                                       void
      *tls_native_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13316
      start: 13314
    functionDepth: 0
    functionLinenumber: 13314
    functionLinenumberEnd: 13316
    functionName: ngtcp2_conn_get_ccerr
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_ccerr
    signature: ngtcp2_ccerr *ngtcp2_conn_get_ccerr(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - liberr
    argTypes:
    - ngtcp2_conn*
    - int
    constantsTouched: []
    func_position:
      end: 13320
      start: 13318
    functionDepth: 0
    functionLinenumber: 13318
    functionLinenumberEnd: 13320
    functionName: ngtcp2_conn_set_tls_error
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_set_tls_error(ngtcp2_conn *conn, int liberr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13324
      start: 13322
    functionDepth: 0
    functionLinenumber: 13322
    functionLinenumberEnd: 13324
    functionName: ngtcp2_conn_get_tls_error
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_get_tls_error(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - alert
    argTypes:
    - ngtcp2_conn*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 13328
      start: 13326
    functionDepth: 0
    functionLinenumber: 13326
    functionLinenumberEnd: 13328
    functionName: ngtcp2_conn_set_tls_alert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_set_tls_alert(ngtcp2_conn *conn, uint8_t alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13332
      start: 13330
    functionDepth: 0
    functionLinenumber: 13330
    functionLinenumberEnd: 13332
    functionName: ngtcp2_conn_get_tls_alert
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ngtcp2_conn_get_tls_alert(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_local_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 13336
      start: 13334
    functionDepth: 1
    functionLinenumber: 13334
    functionLinenumberEnd: 13336
    functionName: ngtcp2_conn_is_local_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - conn_local_stream
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_is_local_stream(ngtcp2_conn *conn, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13338
      start: 13338
    functionDepth: 0
    functionLinenumber: 13338
    functionLinenumberEnd: 13338
    functionName: ngtcp2_conn_is_server
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_is_server(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13342
      start: 13340
    functionDepth: 0
    functionLinenumber: 13340
    functionLinenumberEnd: 13342
    functionName: ngtcp2_conn_after_retry
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_conn_after_retry(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - stream_id
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 13355
      start: 13344
    functionDepth: 2
    functionLinenumber: 13344
    functionLinenumberEnd: 13355
    functionName: ngtcp2_conn_set_stream_user_data
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_conn_set_stream_user_data(ngtcp2_conn *conn, int64_t stream_id,\n
      \                                    void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_update_timestamp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13361,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13377,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 13388
      start: 13357
    functionDepth: 2
    functionLinenumber: 13357
    functionLinenumberEnd: 13388
    functionName: ngtcp2_conn_update_pkt_tx_time
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_uint64
    - conn_update_timestamp
    linkageType: ''
    returnType: void
    signature: void ngtcp2_conn_update_pkt_tx_time(ngtcp2_conn *conn, ngtcp2_tstamp
      ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - ngtcp2_conn*
    constantsTouched: []
    func_position:
      end: 13392
      start: 13390
    functionDepth: 0
    functionLinenumber: 13390
    functionLinenumberEnd: 13392
    functionName: ngtcp2_conn_get_send_quantum
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_send_quantum(ngtcp2_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_find_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - ngtcp2_conn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 13402
      start: 13394
    functionDepth: 2
    functionLinenumber: 13394
    functionLinenumberEnd: 13402
    functionName: ngtcp2_conn_get_stream_loss_count
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_find_stream
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_conn_get_stream_loss_count(ngtcp2_conn *conn, int64_t
      stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_push_front
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13408,1
    - Dst: ngtcp2_path_storage_init2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - dcid
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_dcid*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 13412
      start: 13404
    functionDepth: 1
    functionLinenumber: 13404
    functionLinenumberEnd: 13412
    functionName: ngtcp2_conn_add_path_history
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - ngtcp2_path_storage_init2
    - ngtcp2_ringbuf_push_front
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_conn_add_path_history(ngtcp2_conn *conn, const ngtcp2_dcid
      *dcid,\n                                  ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_get
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13422,1
    - Dst: ngtcp2_tstamp_elapsed
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13423,1
    - Dst: ngtcp2_path_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - path
    - ts
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_path*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 13433
      start: 13414
    functionDepth: 1
    functionLinenumber: 13414
    functionLinenumberEnd: 13433
    functionName: ngtcp2_conn_find_path_history
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 3
    functionsReached:
    - ngtcp2_path_eq
    - ngtcp2_ringbuf_get
    - ngtcp2_tstamp_elapsed
    linkageType: ''
    returnType: ngtcp2_path_history_entry
    signature: "ngtcp2_path_history_entry *\nngtcp2_conn_find_path_history(ngtcp2_conn
      *conn, const ngtcp2_path *path,\n                              ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_storage_init2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13438,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcent
    - path
    - data
    argTypes:
    - ngtcp2_path_challenge_entry*
    - ngtcp2_path*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 13440
      start: 13435
    functionDepth: 1
    functionLinenumber: 13435
    functionLinenumberEnd: 13440
    functionName: ngtcp2_path_challenge_entry_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ngtcp2_path_storage_init2
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_path_challenge_entry_init(ngtcp2_path_challenge_entry
      *pcent,\n                                      const ngtcp2_path *path,\n                                      const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_hd_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13460,1
    - Dst: ngtcp2_vec_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13463,1
    - Dst: ngtcp2_vec_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13464,1
    - Dst: ngtcp2_ppe_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13476,1
    - Dst: ngtcp2_ppe_encode_hd
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13478,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13480,1
    - Dst: ngtcp2_ppe_ensure_hp_sample
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13484,1
    - Dst: ngtcp2_ppe_encode_frame
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13494,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13496,1
    - Dst: ngtcp2_ppe_final
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 15
    argNames:
    - dest
    - destlen
    - version
    - dcid
    - scid
    - error_code
    - reason
    - reasonlen
    - encrypt
    - aead
    - aead_ctx
    - iv
    - hp_mask
    - hp
    - hp_ctx
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - ngtcp2_cid*
    - ngtcp2_cid*
    - uint64_t
    - uint8_t*
    - size_t
    - ngtcp2_encrypt
    - ngtcp2_crypto_aead*
    - ngtcp2_crypto_aead_ctx*
    - uint8_t*
    - ngtcp2_hp_mask
    - ngtcp2_crypto_cipher*
    - ngtcp2_crypto_cipher_ctx*
    constantsTouched: []
    func_position:
      end: 13501
      start: 13446
    functionDepth: 4
    functionLinenumber: 13446
    functionLinenumberEnd: 13501
    functionName: ngtcp2_pkt_write_connection_close
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_pkt_hd_init
    - ngtcp2_ppe_final
    - assert
    - ngtcp2_ppe_ensure_hp_sample
    - ngtcp2_ppe_init
    - ngtcp2_vec_init
    - ngtcp2_ppe_encode_hd
    - ngtcp2_ppe_encode_frame
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_pkt_write_connection_close(\n  uint8_t *dest,
      size_t destlen, uint32_t version, const ngtcp2_cid *dcid,\n  const ngtcp2_cid
      *scid, uint64_t error_code, const uint8_t *reason,\n  size_t reasonlen, ngtcp2_encrypt
      encrypt, const ngtcp2_crypto_aead *aead,\n  const ngtcp2_crypto_aead_ctx *aead_ctx,
      const uint8_t *iv,\n  ngtcp2_hp_mask hp_mask, const ngtcp2_crypto_cipher *hp,\n
      \ const ngtcp2_crypto_cipher_ctx *hp_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_stream
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream_id
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 13503
      start: 13503
    functionDepth: 1
    functionLinenumber: 13503
    functionLinenumberEnd: 13503
    functionName: ngtcp2_is_bidi_stream
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - bidi_stream
    linkageType: ''
    returnType: int
    signature: int ngtcp2_is_bidi_stream(int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13516,1
    - Dst: ngtcp2_is_supported_version
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c:13516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - preferred_versions
    - preferred_versionslen
    - offered_versions
    - offered_versionslen
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 13526
      start: 13505
    functionDepth: 1
    functionLinenumber: 13505
    functionLinenumberEnd: 13526
    functionName: ngtcp2_select_version
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_is_supported_version
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ngtcp2_select_version(const uint32_t *preferred_versions,\n
      \                              size_t preferred_versionslen,\n                               const
      uint32_t *offered_versions,\n                               size_t offered_versionslen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:40,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max_udp_payload_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ngtcp2_cc_compute_initcwnd
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 1
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_min_uint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_cc_compute_initcwnd(size_t max_udp_payload_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - pkt
    - pkt_num
    - pktlen
    - pktns_id
    - sent_ts
    - lost
    - tx_in_flight
    - is_app_limited
    argTypes:
    - ngtcp2_cc_pkt*
    - int64_t
    - size_t
    - ngtcp2_pktns_id
    - ngtcp2_tstamp
    - uint64_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: ngtcp2_cc_pkt_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_cc_pkt
    signature: "ngtcp2_cc_pkt *ngtcp2_cc_pkt_init(ngtcp2_cc_pkt *pkt, int64_t pkt_num,\n
      \                                 size_t pktlen, ngtcp2_pktns_id pktns_id,\n
      \                                 ngtcp2_tstamp sent_ts, uint64_t lost,\n                                  uint64_t
      tx_in_flight, int is_app_limited)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reno
    argTypes:
    - ngtcp2_cc_reno*
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: reno_cc_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reno_cc_reset(ngtcp2_cc_reno *reno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:62,1
    - Dst: reno_cc_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - reno
    - log
    argTypes:
    - ngtcp2_cc_reno*
    - ngtcp2_log*
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: ngtcp2_cc_reno_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 1
    functionsReached:
    - reno_cc_reset
    - memset
    linkageType: ''
    returnType: void
    signature: void ngtcp2_cc_reno_init(ngtcp2_cc_reno *reno, ngtcp2_log *log)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cstat
    - sent_time
    argTypes:
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: in_congestion_recovery
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int in_congestion_recovery(const ngtcp2_conn_stat *cstat,\n                                  ngtcp2_tstamp
      sent_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:83,1
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:87,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cc
    - cstat
    - pkt
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_pkt*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: ngtcp2_cc_reno_cc_on_pkt_acked
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - in_congestion_recovery
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_reno_cc_on_pkt_acked(ngtcp2_cc *cc, ngtcp2_conn_stat
      *cstat,\n                                    const ngtcp2_cc_pkt *pkt,\n                                    ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:108,1
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:112,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:119,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - cc
    - cstat
    - sent_ts
    - bytes_lost
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: ngtcp2_cc_reno_cc_congestion_event
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_max_uint64
    - ngtcp2_log_info
    - in_congestion_recovery
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_reno_cc_congestion_event(ngtcp2_cc *cc, ngtcp2_conn_stat
      *cstat,\n                                        ngtcp2_tstamp sent_ts,\n                                        uint64_t
      bytes_lost, ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: ngtcp2_cc_reno_cc_on_persistent_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_reno_cc_on_persistent_congestion(ngtcp2_cc *cc,\n                                                ngtcp2_conn_stat
      *cstat,\n                                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:141,1
    - Dst: reno_cc_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: ngtcp2_cc_reno_cc_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - reno_cc_reset
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_reno_cc_reset(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                            ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - ngtcp2_cubic_vars*
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: cubic_vars_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cubic_vars_reset(ngtcp2_cubic_vars *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cubic_vars_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:162,1
    - Dst: cubic_vars_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - cubic
    argTypes:
    - ngtcp2_cc_cubic*
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: cubic_cc_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - cubic_vars_reset
    linkageType: ''
    returnType: void
    signature: void cubic_cc_reset(ngtcp2_cc_cubic *cubic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:179,1
    - Dst: cubic_cc_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - cubic
    - log
    - rst
    argTypes:
    - ngtcp2_cc_cubic*
    - ngtcp2_log*
    - ngtcp2_rst*
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: ngtcp2_cc_cubic_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 1
    functionsReached:
    - cubic_cc_reset
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_init(ngtcp2_cc_cubic *cubic, ngtcp2_log *log,\n
      \                         ngtcp2_rst *rst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: ngtcp2_cbrt
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_cbrt(uint64_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cubic
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc_cubic*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: cubic_cc_compute_w_cubic
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t cubic_cc_compute_w_cubic(ngtcp2_cc_cubic *cubic,\n                                        const
      ngtcp2_conn_stat *cstat,\n                                        ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:241,1
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:249,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:269,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:285,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:296,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:313,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:314,1
    - Dst: cubic_cc_compute_w_cubic
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:343,1
    - Dst: cubic_cc_compute_w_cubic
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:345,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:354,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:377,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 4
    argNames:
    - cc
    - cstat
    - ack
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_cc_ack*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 382
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 382
    functionName: ngtcp2_cc_cubic_cc_on_ack_recv
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_log_info
    - ngtcp2_max_uint64
    - ngtcp2_struct_of
    - ngtcp2_min_uint64
    - in_congestion_recovery
    - cubic_cc_compute_w_cubic
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_cc_on_ack_recv(ngtcp2_cc *cc, ngtcp2_conn_stat
      *cstat,\n                                    const ngtcp2_cc_ack *ack,\n                                    ngtcp2_tstamp
      ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:388,1
    - Dst: in_congestion_recovery
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:392,1
    - Dst: ngtcp2_min_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:420,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:422,1
    - Dst: ngtcp2_max_uint64
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:426,1
    - Dst: ngtcp2_cbrt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:439,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 5
    argNames:
    - cc
    - cstat
    - sent_ts
    - bytes_lost
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    - uint64_t
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 448
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 448
    functionName: ngtcp2_cc_cubic_cc_congestion_event
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - ngtcp2_max_uint64
    - ngtcp2_struct_of
    - ngtcp2_min_uint64
    - in_congestion_recovery
    - ngtcp2_cbrt
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_cc_congestion_event(ngtcp2_cc *cc, ngtcp2_conn_stat
      *cstat,\n                                         ngtcp2_tstamp sent_ts,\n                                         uint64_t
      bytes_lost,\n                                         ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:453,1
    - Dst: ngtcp2_log_info
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:463,1
    - Dst: cubic_vars_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 472
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 472
    functionName: ngtcp2_cc_cubic_cc_on_spurious_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - ngtcp2_log_info
    - cubic_vars_reset
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_cc_on_spurious_congestion(ngtcp2_cc *cc,\n                                               ngtcp2_conn_stat
      *cstat,\n                                               ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:477,1
    - Dst: cubic_cc_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: ngtcp2_cc_cubic_cc_on_persistent_congestion
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - cubic_cc_reset
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_cc_on_persistent_congestion(ngtcp2_cc *cc,\n
      \                                                ngtcp2_conn_stat *cstat,\n
      \                                                ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_struct_of
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:488,1
    - Dst: cubic_cc_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cc
    - cstat
    - ts
    argTypes:
    - ngtcp2_cc*
    - ngtcp2_conn_stat*
    - ngtcp2_tstamp
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: ngtcp2_cc_cubic_cc_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_cc.c
    functionUses: 0
    functionsReached:
    - cubic_cc_reset
    - ngtcp2_struct_of
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_cc_cubic_cc_reset(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,\n
      \                             ngtcp2_tstamp ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_unreachable
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:45,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - transport_params_version
    - params
    argTypes:
    - int
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: ngtcp2_transport_params_default_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_unreachable
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_transport_params_default_versioned(\n  int transport_params_version,
      ngtcp2_transport_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:68,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - param
    argTypes:
    - ngtcp2_transport_param_id
    - uint64_t
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: varint_paramlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: size_t
    signature: size_t varint_paramlen(ngtcp2_transport_param_id id, uint64_t param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:77,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:78,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:78,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - id
    - value
    argTypes:
    - uint8_t*
    - ngtcp2_transport_param_id
    - uint64_t
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: write_varint_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarint
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_varint_param(uint8_t *p, ngtcp2_transport_param_id
      id,\n                                   uint64_t value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - ngtcp2_transport_param_id
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: zero_paramlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: size_t
    signature: size_t zero_paramlen(ngtcp2_transport_param_id id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - uint8_t*
    - ngtcp2_transport_param_id
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: write_zero_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *write_zero_param(uint8_t *p, ngtcp2_transport_param_id id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:107,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - cid
    argTypes:
    - ngtcp2_transport_param_id
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: cid_paramlen
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_put_uvarintlen
    linkageType: ''
    returnType: size_t
    signature: "size_t cid_paramlen(ngtcp2_transport_param_id id,\n                           const
      ngtcp2_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:117,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:118,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:120,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:121,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p
    - id
    - cid
    argTypes:
    - uint8_t*
    - ngtcp2_transport_param_id
    - ngtcp2_cid*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: write_cid_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_put_uvarint
    - ngtcp2_cpymem
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *write_cid_param(uint8_t *p, ngtcp2_transport_param_id id,\n
      \                               const ngtcp2_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_convert_to_latest
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:142,1
    - Dst: cid_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:147,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:152,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:153,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:158,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:159,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:164,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:165,1
    - Dst: cid_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:168,1
    - Dst: cid_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:173,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:179,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:183,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:188,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:192,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:196,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:200,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:205,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:209,1
    - Dst: zero_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:213,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:216,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:220,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:226,1
    - Dst: varint_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:230,1
    - Dst: zero_paramlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:234,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:239,1
    - Dst: ngtcp2_put_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:240,1
    - Dst: write_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:254,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:260,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:261,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:262,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:267,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:268,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:272,1
    - Dst: ngtcp2_put_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:273,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:275,1
    - Dst: ngtcp2_put_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:276,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:281,1
    - Dst: ngtcp2_put_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:282,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:284,1
    - Dst: ngtcp2_put_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:285,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:290,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:293,1
    - Dst: write_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:298,1
    - Dst: write_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:303,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:308,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:314,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:321,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:326,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:331,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:336,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:342,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:347,1
    - Dst: write_zero_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:352,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:356,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:361,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:368,1
    - Dst: write_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:373,1
    - Dst: write_zero_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:378,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:382,1
    - Dst: ngtcp2_put_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:383,1
    - Dst: ngtcp2_put_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:384,1
    - Dst: ngtcp2_cpymem
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:386,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:391,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 164
    argCount: 4
    argNames:
    - dest
    - destlen
    - transport_params_version
    - params
    argTypes:
    - uint8_t*
    - size_t
    - int
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 394
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 394
    functionName: ngtcp2_transport_params_encode_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - write_varint_param
    - assert
    - ngtcp2_transport_params_convert_to_latest
    - varint_paramlen
    - zero_paramlen
    - ngtcp2_cpymem
    - write_cid_param
    - write_zero_param
    - ngtcp2_put_uvarintlen
    - ngtcp2_put_uint16
    - ngtcp2_put_uint32be
    - cid_paramlen
    - ngtcp2_put_uvarint
    linkageType: ''
    returnType: ngtcp2_ssize
    signature: "ngtcp2_ssize ngtcp2_transport_params_encode_versioned(\n  uint8_t
      *dest, size_t destlen, int transport_params_version,\n  const ngtcp2_transport_params
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:412,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pdest
    - pp
    - end
    argTypes:
    - uint64_t*
    - uint8_t**
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: decode_varint
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: int
    signature: "int decode_varint(uint64_t *pdest, const uint8_t **pp,\n                         const
      uint8_t *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:434,1
    - Dst: ngtcp2_get_uvarintlen
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:446,1
    - Dst: ngtcp2_get_uvarint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pdest
    - pp
    - end
    argTypes:
    - uint64_t*
    - uint8_t**
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: decode_varint_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - decode_varint
    - ngtcp2_get_uvarintlen
    - ngtcp2_get_uvarint
    linkageType: ''
    returnType: int
    signature: "int decode_varint_param(uint64_t *pdest, const uint8_t **pp,\n                               const
      uint8_t *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - end
    argTypes:
    - uint8_t**
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: decode_zero_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_zero_param(const uint8_t **pp, const uint8_t *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:487,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pdest
    - pp
    - end
    argTypes:
    - ngtcp2_cid*
    - uint8_t**
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: decode_cid_param
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - decode_varint
    - ngtcp2_cid_init
    linkageType: ''
    returnType: int
    signature: "int decode_cid_param(ngtcp2_cid *pdest, const uint8_t **pp,\n                            const
      uint8_t *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:526,1
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:540,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:546,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:552,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:558,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:564,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:569,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:578,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:586,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:592,1
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:597,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:607,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:613,1
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:621,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:636,1
    - Dst: ngtcp2_get_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:637,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:639,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:647,1
    - Dst: ngtcp2_get_uint16
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:648,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:650,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:665,1
    - Dst: ngtcp2_get_bytes
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:671,1
    - Dst: decode_zero_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:676,1
    - Dst: decode_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:682,1
    - Dst: decode_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:689,1
    - Dst: decode_cid_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:696,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:703,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:712,1
    - Dst: decode_varint_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:718,1
    - Dst: decode_zero_param
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:723,1
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:729,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:738,1
    - Dst: ngtcp2_get_uint32be
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:748,1
    - Dst: decode_varint
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:758,1
    - Dst: ngtcp2_transport_params_convert_to_old
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:774,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 220
    argCount: 4
    argNames:
    - transport_params_version
    - dest
    - data
    - datalen
    argTypes:
    - int
    - ngtcp2_transport_params*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 779
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 779
    functionName: ngtcp2_transport_params_decode_versioned
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - ngtcp2_get_bytes
    - memcmp
    - ngtcp2_transport_params_convert_to_old
    - decode_varint
    - decode_zero_param
    - decode_cid_param
    - memset
    - decode_varint_param
    - ngtcp2_get_uint32be
    - ngtcp2_get_uint16
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_transport_params_decode_versioned(int transport_params_version,\n
      \                                            ngtcp2_transport_params *dest,\n
      \                                            const uint8_t *data,\n                                             size_t
      datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:792,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pdest
    - src
    - mem
    argTypes:
    - ngtcp2_transport_params**
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 809
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 809
    functionName: transport_params_copy_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ngtcp2_mem_malloc
    linkageType: ''
    returnType: int
    signature: "int transport_params_copy_new(ngtcp2_transport_params **pdest,\n                                     const
      ngtcp2_transport_params *src,\n                                     const ngtcp2_mem
      *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_decode
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:817,1
    - Dst: ngtcp2_mem_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:823,1
    - Dst: transport_params_copy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pparams
    - data
    - datalen
    - mem
    argTypes:
    - ngtcp2_transport_params**
    - uint8_t*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 827
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 827
    functionName: ngtcp2_transport_params_decode_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - transport_params_copy_new
    - ngtcp2_transport_params_decode
    - ngtcp2_mem_default
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_transport_params_decode_new(ngtcp2_transport_params **pparams,\n
      \                                      const uint8_t *data, size_t datalen,\n
      \                                      const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:836,1
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: ngtcp2_transport_params_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 4
    functionsReached:
    - ngtcp2_mem_free
    - ngtcp2_mem_default
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_transport_params_del(ngtcp2_transport_params *params,\n
      \                                const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: transport_params_copy_new
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdest
    - src
    - mem
    argTypes:
    - ngtcp2_transport_params**
    - ngtcp2_transport_params*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 851
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 851
    functionName: ngtcp2_transport_params_copy_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 1
    functionsReached:
    - transport_params_copy_new
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_transport_params_copy_new(ngtcp2_transport_params **pdest,\n
      \                                    const ngtcp2_transport_params *src,\n                                     const
      ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:856,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - src
    - transport_params_version
    argTypes:
    - ngtcp2_transport_params*
    - ngtcp2_transport_params*
    - int
    constantsTouched: []
    func_position:
      end: 866
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 866
    functionName: transport_params_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: "void transport_params_copy(ngtcp2_transport_params *dest,\n                                  const
      ngtcp2_transport_params *src,\n                                  int transport_params_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_transport_params_default
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:876,1
    - Dst: transport_params_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - transport_params_version
    - src
    argTypes:
    - ngtcp2_transport_params*
    - int
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 881
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 881
    functionName: ngtcp2_transport_params_convert_to_latest
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 3
    functionsReached:
    - transport_params_copy
    - ngtcp2_transport_params_default
    linkageType: ''
    returnType: ngtcp2_transport_params
    signature: "ngtcp2_transport_params *\nngtcp2_transport_params_convert_to_latest(ngtcp2_transport_params
      *dest,\n                                          int transport_params_version,\n
      \                                         const ngtcp2_transport_params *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:886,1
    - Dst: transport_params_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - transport_params_version
    - dest
    - src
    argTypes:
    - int
    - ngtcp2_transport_params*
    - ngtcp2_transport_params*
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: ngtcp2_transport_params_convert_to_old
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_transport_params.c
    functionUses: 1
    functionsReached:
    - assert
    - transport_params_copy
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_transport_params_convert_to_old(\n  int transport_params_version,
      ngtcp2_transport_params *dest,\n  const ngtcp2_transport_params *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pq
    - less
    - mem
    argTypes:
    - ngtcp2_pq*
    - ngtcp2_pq_less
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ngtcp2_pq_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pq_init(ngtcp2_pq *pq, ngtcp2_pq_less less, const ngtcp2_mem
      *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pq
    argTypes:
    - ngtcp2_pq*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ngtcp2_pq_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 1
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pq_free(ngtcp2_pq *pq)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pq
    - i
    - j
    argTypes:
    - ngtcp2_pq*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: swap
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(ngtcp2_pq *pq, size_t i, size_t j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq*::less
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:63,1
    - Dst: swap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - index
    argTypes:
    - ngtcp2_pq*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: bubble_up
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 3
    functionsReached:
    - swap
    - ngtcp2_pq*::less
    linkageType: ''
    returnType: void
    signature: void bubble_up(ngtcp2_pq *pq, size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_max_size
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:77,1
    - Dst: ngtcp2_mem_realloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:80,1
    - Dst: bubble_up
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - item
    argTypes:
    - ngtcp2_pq*
    - ngtcp2_pq_entry*
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: ngtcp2_pq_push
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 3
    functionsReached:
    - bubble_up
    - ngtcp2_mem_realloc
    - ngtcp2_max_size
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pq_push(ngtcp2_pq *pq, ngtcp2_pq_entry *item)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pq
    argTypes:
    - ngtcp2_pq*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ngtcp2_pq_top
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: ngtcp2_pq_entry
    signature: ngtcp2_pq_entry *ngtcp2_pq_top(const ngtcp2_pq *pq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pq*::less
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:114,1
    - Dst: swap
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pq
    - index
    argTypes:
    - ngtcp2_pq*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: bubble_down
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 3
    functionsReached:
    - swap
    - ngtcp2_pq*::less
    linkageType: ''
    returnType: void
    signature: void bubble_down(ngtcp2_pq *pq, size_t index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:129,1
    - Dst: bubble_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - ngtcp2_pq*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ngtcp2_pq_pop
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 2
    functionsReached:
    - assert
    - bubble_down
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pq_pop(ngtcp2_pq *pq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:138,1
    - Dst: ngtcp2_pq_pop
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:141,1
    - Dst: ngtcp2_pq*::less
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:154,1
    - Dst: bubble_down
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:155,1
    - Dst: bubble_up
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pq
    - item
    argTypes:
    - ngtcp2_pq*
    - ngtcp2_pq_entry*
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: ngtcp2_pq_remove
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 3
    functionsReached:
    - bubble_up
    - assert
    - ngtcp2_pq_pop
    - ngtcp2_pq*::less
    - bubble_down
    linkageType: ''
    returnType: void
    signature: void ngtcp2_pq_remove(ngtcp2_pq *pq, ngtcp2_pq_entry *item)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - ngtcp2_pq*
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ngtcp2_pq_empty
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_pq_empty(const ngtcp2_pq *pq)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - ngtcp2_pq*
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ngtcp2_pq_size
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_pq_size(const ngtcp2_pq *pq)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 1
    argNames:
    - liberr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 114
    functionName: ngtcp2_strerror
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ngtcp2_strerror(int liberr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - liberr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: ngtcp2_err_is_fatal
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_err.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_err_is_fatal(int liberr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - liberr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 157
    functionName: ngtcp2_err_infer_quic_transport_error_code
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_err.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_err_infer_quic_transport_error_code(int liberr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wf
    - window_length
    argTypes:
    - ngtcp2_window_filter*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ngtcp2_window_filter_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_window_filter_init(ngtcp2_window_filter *wf,\n                               uint64_t
      window_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_window_filter_reset
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c:53,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - wf
    - new_sample
    - new_time
    argTypes:
    - ngtcp2_window_filter*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 105
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 105
    functionName: ngtcp2_window_filter_update
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c
    functionUses: 2
    functionsReached:
    - ngtcp2_window_filter_reset
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_window_filter_update(ngtcp2_window_filter *wf, uint64_t
      new_sample,\n                                 uint64_t new_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wf
    - new_sample
    - new_time
    argTypes:
    - ngtcp2_window_filter*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: ngtcp2_window_filter_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_window_filter_reset(ngtcp2_window_filter *wf, uint64_t
      new_sample,\n                                uint64_t new_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wf
    argTypes:
    - ngtcp2_window_filter*
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: ngtcp2_window_filter_get_best
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_window_filter.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ngtcp2_window_filter_get_best(ngtcp2_window_filter *wf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - user_data
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: default_malloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *default_malloc(size_t size, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - user_data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: default_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void default_free(void *ptr, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nmemb
    - size
    - user_data
    argTypes:
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: default_calloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *default_calloc(size_t nmemb, size_t size, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - user_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: default_realloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *default_realloc(void *ptr, size_t size, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ngtcp2_mem_default
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_mem
    signature: ngtcp2_mem *ngtcp2_mem_default(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem*::malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - ngtcp2_mem*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: ngtcp2_mem_malloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 19
    functionsReached:
    - ngtcp2_mem*::malloc
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_mem_malloc(const ngtcp2_mem *mem, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem*::free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - ngtcp2_mem*
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: ngtcp2_mem_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 26
    functionsReached:
    - ngtcp2_mem*::free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_mem_free(const ngtcp2_mem *mem, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem*::calloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nmemb
    - size
    argTypes:
    - ngtcp2_mem*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: ngtcp2_mem_calloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 4
    functionsReached:
    - ngtcp2_mem*::calloc
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_mem_calloc(const ngtcp2_mem *mem, size_t nmemb, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem*::realloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - ptr
    - size
    argTypes:
    - ngtcp2_mem*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: ngtcp2_mem_realloc
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 2
    functionsReached:
    - ngtcp2_mem*::realloc
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_mem_realloc(const ngtcp2_mem *mem, void *ptr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mem
    - size
    - func
    - file
    - line
    argTypes:
    - ngtcp2_mem*
    - size_t
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: ngtcp2_mem_malloc_debug
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void *ngtcp2_mem_malloc_debug(const ngtcp2_mem *mem, size_t size,\n
      \                             const char *func, const char *file, size_t line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:92,1
    - Dst: ngtcp2_mem*::free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mem
    - ptr
    - func
    - file
    - line
    argTypes:
    - ngtcp2_mem*
    - void*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: ngtcp2_mem_free_debug
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ngtcp2_mem*::free
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_mem_free_debug(const ngtcp2_mem *mem, void *ptr, const
      char *func,\n                           const char *file, size_t line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mem
    - nmemb
    - size
    - func
    - file
    - line
    argTypes:
    - ngtcp2_mem*
    - size_t
    - size_t
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: ngtcp2_mem_calloc_debug
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void *ngtcp2_mem_calloc_debug(const ngtcp2_mem *mem, size_t nmemb,
      size_t size,\n                              const char *func, const char *file,
      size_t line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mem
    - ptr
    - size
    - func
    - file
    - line
    argTypes:
    - ngtcp2_mem*
    - void*
    - size_t
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: ngtcp2_mem_realloc_debug
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void *ngtcp2_mem_realloc_debug(const ngtcp2_mem *mem, void *ptr, size_t
      size,\n                               const char *func, const char *file,\n
      \                              size_t line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_balloc_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c:29,1
    - Dst: ngtcp2_opl_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - objalloc
    - blklen
    - mem
    argTypes:
    - ngtcp2_objalloc*
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ngtcp2_objalloc_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c
    functionUses: 1
    functionsReached:
    - ngtcp2_balloc_init
    - ngtcp2_opl_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_objalloc_init(ngtcp2_objalloc *objalloc, size_t blklen,\n
      \                         const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_balloc_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objalloc
    argTypes:
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: ngtcp2_objalloc_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c
    functionUses: 3
    functionsReached:
    - ngtcp2_balloc_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_objalloc_free(ngtcp2_objalloc *objalloc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_opl_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c:38,1
    - Dst: ngtcp2_balloc_clear
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - objalloc
    argTypes:
    - ngtcp2_objalloc*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ngtcp2_objalloc_clear
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_objalloc.c
    functionUses: 1
    functionsReached:
    - ngtcp2_balloc_clear
    - ngtcp2_opl_clear
    linkageType: ''
    returnType: void
    signature: void ngtcp2_objalloc_clear(ngtcp2_objalloc *objalloc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __popcnt
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:40,1
    - Dst: __builtin_popcount
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: ispow2
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 0
    functionsReached:
    - __popcnt
    - __builtin_popcount
    linkageType: ''
    returnType: int
    signature: int ispow2(size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ringbuf_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rb
    - nmemb
    - size
    - mem
    argTypes:
    - ngtcp2_ringbuf*
    - size_t
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: ngtcp2_ringbuf_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 0
    functionsReached:
    - ngtcp2_ringbuf_buf_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_ringbuf_init(ngtcp2_ringbuf *rb, size_t nmemb, size_t size,\n
      \                       const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:64,1
    - Dst: ispow2
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - rb
    - nmemb
    - size
    - buf
    - mem
    argTypes:
    - ngtcp2_ringbuf*
    - size_t
    - size_t
    - uint8_t*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: ngtcp2_ringbuf_buf_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 1
    functionsReached:
    - assert
    - ispow2
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_ringbuf_buf_init(ngtcp2_ringbuf *rb, size_t nmemb, size_t
      size,\n                             uint8_t *buf, const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: ngtcp2_ringbuf_free
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 0
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ringbuf_free(ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: ngtcp2_ringbuf_push_front
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_ringbuf_push_front(ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ngtcp2_ringbuf_push_back
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_ringbuf_push_back(ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ngtcp2_ringbuf_pop_front
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ringbuf_pop_front(ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ngtcp2_ringbuf_pop_back
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ringbuf_pop_back(ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rb
    - len
    argTypes:
    - ngtcp2_ringbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: ngtcp2_ringbuf_resize
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ngtcp2_ringbuf_resize(ngtcp2_ringbuf *rb, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rb
    - offset
    argTypes:
    - ngtcp2_ringbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: ngtcp2_ringbuf_get
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 25
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void *ngtcp2_ringbuf_get(const ngtcp2_ringbuf *rb, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rb
    argTypes:
    - ngtcp2_ringbuf*
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: ngtcp2_ringbuf_full
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ngtcp2_ringbuf_full(const ngtcp2_ringbuf *rb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - begin
    - len
    argTypes:
    - ngtcp2_buf*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ngtcp2_buf_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_buf_init(ngtcp2_buf *buf, uint8_t *begin, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - ngtcp2_buf*
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ngtcp2_buf_reset
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ngtcp2_buf_reset(ngtcp2_buf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - ngtcp2_buf*
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ngtcp2_buf_cap
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ngtcp2_buf_cap(const ngtcp2_buf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_malloc
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c:41,1
    - Dst: ngtcp2_buf_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pbufchain
    - len
    - mem
    argTypes:
    - ngtcp2_buf_chain**
    - size_t
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: ngtcp2_buf_chain_new
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c
    functionUses: 1
    functionsReached:
    - ngtcp2_mem_malloc
    - ngtcp2_buf_init
    linkageType: ''
    returnType: int
    signature: "int ngtcp2_buf_chain_new(ngtcp2_buf_chain **pbufchain, size_t len,\n
      \                        const ngtcp2_mem *mem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_mem_free
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufchain
    - mem
    argTypes:
    - ngtcp2_buf_chain*
    - ngtcp2_mem*
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ngtcp2_buf_chain_del
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_buf.c
    functionUses: 1
    functionsReached:
    - ngtcp2_mem_free
    linkageType: ''
    returnType: void
    signature: void ngtcp2_buf_chain_del(ngtcp2_buf_chain *bufchain, const ngtcp2_mem
      *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - path
    - local
    - remote
    argTypes:
    - ngtcp2_path*
    - ngtcp2_addr*
    - ngtcp2_addr*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ngtcp2_path_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_path_init(ngtcp2_path *path, const ngtcp2_addr *local,\n
      \                     const ngtcp2_addr *remote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_addr_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:38,1
    - Dst: ngtcp2_addr_copy
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ngtcp2_path*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ngtcp2_path_copy
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 7
    functionsReached:
    - ngtcp2_addr_copy
    linkageType: ''
    returnType: void
    signature: void ngtcp2_path_copy(ngtcp2_path *dest, const ngtcp2_path *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:44,1
    - Dst: ngtcp2_addr_eq
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ngtcp2_path*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ngtcp2_path_eq
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 20
    functionsReached:
    - ngtcp2_addr_eq
    linkageType: ''
    returnType: int
    signature: int ngtcp2_path_eq(const ngtcp2_path *a, const ngtcp2_path *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_addr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:53,1
    - Dst: ngtcp2_addr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:55,1
    - Dst: ngtcp2_addr_copy_byte
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:58,1
    - Dst: ngtcp2_addr_copy_byte
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ps
    - local_addr
    - local_addrlen
    - remote_addr
    - remote_addrlen
    - user_data
    argTypes:
    - ngtcp2_path_storage*
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - ngtcp2_sockaddr*
    - ngtcp2_socklen
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: ngtcp2_path_storage_init
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 0
    functionsReached:
    - ngtcp2_addr_copy_byte
    - ngtcp2_addr_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_path_storage_init(ngtcp2_path_storage *ps,\n                              const
      ngtcp2_sockaddr *local_addr,\n                              ngtcp2_socklen local_addrlen,\n
      \                             const ngtcp2_sockaddr *remote_addr,\n                              ngtcp2_socklen
      remote_addrlen, void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_storage_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ps
    - path
    argTypes:
    - ngtcp2_path_storage*
    - ngtcp2_path*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ngtcp2_path_storage_init2
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 4
    functionsReached:
    - ngtcp2_path_storage_init
    linkageType: ''
    returnType: void
    signature: "void ngtcp2_path_storage_init2(ngtcp2_path_storage *ps,\n                               const
      ngtcp2_path *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_addr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:72,1
    - Dst: ngtcp2_addr_init
      Src: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ps
    argTypes:
    - ngtcp2_path_storage*
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: ngtcp2_path_storage_zero
    functionSourceFile: /src/knot-dns/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_path.c
    functionUses: 2
    functionsReached:
    - ngtcp2_addr_init
    linkageType: ''
    returnType: void
    signature: void ngtcp2_path_storage_zero(ngtcp2_path_storage *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_ALPHA
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:244,1
    - Dst: IS_ALPHA
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:251,1
    - Dst: IS_USERINFO_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:295,1
    - Dst: IS_URL_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:302,1
    - Dst: IS_URL_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:318,1
    - Dst: IS_URL_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:334,1
    - Dst: IS_URL_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:349,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 2
    argNames:
    - s
    - ch
    argTypes:
    - enum state
    - char
    constantsTouched: []
    func_position:
      end: 367
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 367
    functionName: parse_url_char
    functionSourceFile: /src/knot-dns/src/contrib/url-parser/url_parser.c
    functionUses: 0
    functionsReached:
    - IS_ALPHA
    - IS_USERINFO_CHAR
    - IS_URL_CHAR
    linkageType: ''
    returnType: enum state
    signature: enum state parse_url_char(enum state s, const char ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_USERINFO_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:378,1
    - Dst: IS_HOST_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:388,1
    - Dst: IS_HOST_CHAR
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:395,1
    - Dst: IS_HEX
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:414,1
    - Dst: IS_ALPHANUM
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:431,1
    - Dst: IS_NUM
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:439,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 2
    argNames:
    - s
    - ch
    argTypes:
    - enum http_host_state
    - char
    constantsTouched: []
    func_position:
      end: 449
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 449
    functionName: http_parse_host_char
    functionSourceFile: /src/knot-dns/src/contrib/url-parser/url_parser.c
    functionUses: 0
    functionsReached:
    - IS_HOST_CHAR
    - IS_USERINFO_CHAR
    - IS_HEX
    - IS_NUM
    - IS_ALPHANUM
    linkageType: ''
    returnType: enum http_host_state
    signature: enum http_host_state http_parse_host_char(enum http_host_state s, const
      char ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:453,1
    - Dst: http_parse_host_char
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:464,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - buf
    - u
    - found_at
    argTypes:
    - char*
    - struct http_parser_url*
    - int
    constantsTouched: []
    func_position:
      end: 530
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 530
    functionName: http_parse_host
    functionSourceFile: /src/knot-dns/src/contrib/url-parser/url_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - http_parse_host_char
    linkageType: ''
    returnType: int
    signature: int http_parse_host(const char * buf, struct http_parser_url *u, int
      found_at)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_url_char
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:547,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:587,1
    - Dst: http_parse_host
      Src: /src/knot-dns/src/contrib/url-parser/url_parser.c:612,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 4
    argNames:
    - buf
    - buflen
    - is_connect
    - u
    argTypes:
    - char*
    - size_t
    - int
    - struct http_parser_url*
    constantsTouched: []
    func_position:
      end: 635
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 635
    functionName: http_parser_parse_url
    functionSourceFile: /src/knot-dns/src/contrib/url-parser/url_parser.c
    functionUses: 1
    functionsReached:
    - http_parse_host
    - assert
    - parse_url_char
    linkageType: ''
    returnType: int
    signature: "int http_parser_parse_url(const char *buf, size_t buflen, int is_connect,\n
      \                     struct http_parser_url *u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mapping
    - real
    argTypes:
    - mapping_t*
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: encode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encode(const mapping_t *mapping, int real)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mapping
    - dnstap
    argTypes:
    - mapping_t*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: decode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode(const mapping_t *mapping, int dnstap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/knot-dns/src/contrib/dnstap/convert.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: dt_family_encode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Dnstap__SocketFamily
    signature: Dnstap__SocketFamily dt_family_encode(int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/knot-dns/src/contrib/dnstap/convert.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dnstap_family
    argTypes:
    - Dnstap__SocketFamily
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: dt_family_decode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 0
    functionsReached:
    - decode
    linkageType: ''
    returnType: int
    signature: int dt_family_decode(Dnstap__SocketFamily dnstap_family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/knot-dns/src/contrib/dnstap/convert.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: dt_protocol_encode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Dnstap__SocketProtocol
    signature: Dnstap__SocketProtocol dt_protocol_encode(int protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/knot-dns/src/contrib/dnstap/convert.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dnstap_protocol
    argTypes:
    - Dnstap__SocketProtocol
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: dt_protocol_decode
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 1
    functionsReached:
    - decode
    linkageType: ''
    returnType: int
    signature: int dt_protocol_decode(Dnstap__SocketProtocol dnstap_protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - Dnstap__Message__Type
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: dt_message_type_is_query
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dt_message_type_is_query(Dnstap__Message__Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - Dnstap__Message__Type
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: dt_message_type_is_response
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dt_message_type_is_response(Dnstap__Message__Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - Dnstap__Message__Type
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: dt_message_role_is_initiator
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/convert.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dt_message_role_is_initiator(Dnstap__Message__Type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:23,1
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:30,1
    - Dst: strdup
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:31,1
    - Dst: fstrm_file_options_init
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:38,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:39,1
    - Dst: fstrm_writer_options_init
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:40,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:41,1
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:43,1
    - Dst: fstrm_file_writer_init
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:44,1
    - Dst: fstrm_file_options_destroy
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:45,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:46,1
    - Dst: fstrm_writer_open
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:51,1
    - Dst: dt_writer_free
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - file_path
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: dt_writer_create
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/writer.c
    functionUses: 1
    functionsReached:
    - strdup
    - strlen
    - dt_writer_free
    - calloc
    - fstrm_writer_options_add_content_type
    - fstrm_file_options_init
    - fstrm_file_options_destroy
    - fstrm_writer_options_destroy
    - fstrm_file_options_set_file_path
    - fstrm_file_writer_init
    - fstrm_writer_options_init
    - fstrm_writer_open
    linkageType: ''
    returnType: dt_writer_t
    signature: dt_writer_t * dt_writer_create(const char *file_path, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_writer_destroy
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:68,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:69,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - dt_writer_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: dt_writer_free
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/writer.c
    functionUses: 3
    functionsReached:
    - free
    - fstrm_writer_destroy
    linkageType: ''
    returnType: void
    signature: void dt_writer_free(dt_writer_t *writer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:84,1
    - Dst: dt_pack
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:96,1
    - Dst: fstrm_writer_write
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:101,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/dnstap/writer.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - writer
    - msg
    argTypes:
    - dt_writer_t*
    - ProtobufCMessage*
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: dt_writer_write
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/writer.c
    functionUses: 1
    functionsReached:
    - dt_pack
    - assert
    - free
    - fstrm_writer_write
    linkageType: ''
    returnType: int
    signature: int dt_writer_write(dt_writer_t *writer, const ProtobufCMessage *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/dnstap/dnstap.c:21,1
    - Dst: dnstap__dnstap__pack_to_buffer
      Src: /src/knot-dns/src/contrib/dnstap/dnstap.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - d
    - buf
    - sz
    argTypes:
    - Dnstap__Dnstap*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: dt_pack
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/dnstap.c
    functionUses: 2
    functionsReached:
    - dnstap__dnstap__pack_to_buffer
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * dt_pack(const Dnstap__Dnstap *d, uint8_t **buf, size_t *sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:24,1
    - Dst: fstrm_file_options_init
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:30,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:31,1
    - Dst: fstrm_reader_options_init
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:32,1
    - Dst: fstrm_reader_options_add_content_type
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:33,1
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:35,1
    - Dst: fstrm_file_reader_init
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:36,1
    - Dst: fstrm_file_options_destroy
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:37,1
    - Dst: fstrm_reader_options_destroy
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:38,1
    - Dst: fstrm_reader_open
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:42,1
    - Dst: dt_reader_free
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - file_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: dt_reader_create
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/reader.c
    functionUses: 1
    functionsReached:
    - fstrm_reader_options_destroy
    - strlen
    - calloc
    - fstrm_file_options_init
    - dt_reader_free
    - fstrm_file_options_destroy
    - fstrm_reader_options_add_content_type
    - fstrm_file_options_set_file_path
    - fstrm_reader_options_init
    - fstrm_file_reader_init
    - fstrm_reader_open
    linkageType: ''
    returnType: dt_reader_t
    signature: dt_reader_t * dt_reader_create(const char *file_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_reader_destroy
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:59,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reader
    argTypes:
    - dt_reader_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: dt_reader_free
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/reader.c
    functionUses: 3
    functionsReached:
    - free
    - fstrm_reader_destroy
    linkageType: ''
    returnType: void
    signature: void dt_reader_free(dt_reader_t *reader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_reader_read
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:69,1
    - Dst: dnstap__dnstap__unpack
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - reader
    - d
    argTypes:
    - dt_reader_t*
    - Dnstap__Dnstap**
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: dt_reader_read
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/reader.c
    functionUses: 0
    functionsReached:
    - dnstap__dnstap__unpack
    - fstrm_reader_read
    linkageType: ''
    returnType: int
    signature: int dt_reader_read(dt_reader_t *reader, Dnstap__Dnstap **d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnstap__dnstap__free_unpacked
      Src: /src/knot-dns/src/contrib/dnstap/reader.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dt_reader_t *reader
    - frame_ptr
    argTypes:
    - _unused_
    - Dnstap__Dnstap**
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: dt_reader_free_frame
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/reader.c
    functionUses: 1
    functionsReached:
    - dnstap__dnstap__free_unpacked
    linkageType: ''
    returnType: void
    signature: void dt_reader_free_frame(_unused_ dt_reader_t *reader, Dnstap__Dnstap
      **frame_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/dnstap/message.c:37,1
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/dnstap/message.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - sockaddr
    - addr
    - has_addr
    - port
    - has_port
    argTypes:
    - struct sockaddr*
    - ProtobufCBinaryData*
    - protobuf_c_boolean*
    - uint32_t*
    - protobuf_c_boolean*
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: set_address
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/message.c
    functionUses: 1
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void set_address(const struct sockaddr *sockaddr,\n                        ProtobufCBinaryData
      \  *addr,\n                        protobuf_c_boolean    *has_addr,\n                        uint32_t
      \             *port,\n                        protobuf_c_boolean    *has_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dt_family_encode
      Src: /src/knot-dns/src/contrib/dnstap/message.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - query_sa
    - response_sa
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: get_family
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/message.c
    functionUses: 0
    functionsReached:
    - dt_family_encode
    linkageType: ''
    returnType: int
    signature: "int get_family(const struct sockaddr *query_sa,\n\t              const
      struct sockaddr *response_sa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/dnstap/message.c:71,1
    - Dst: get_family
      Src: /src/knot-dns/src/contrib/dnstap/message.c:79,1
    - Dst: dt_protocol_encode
      Src: /src/knot-dns/src/contrib/dnstap/message.c:83,1
    - Dst: set_address
      Src: /src/knot-dns/src/contrib/dnstap/message.c:87,1
    - Dst: set_address
      Src: /src/knot-dns/src/contrib/dnstap/message.c:89,1
    - Dst: dt_message_type_is_query
      Src: /src/knot-dns/src/contrib/dnstap/message.c:92,1
    - Dst: dt_message_type_is_response
      Src: /src/knot-dns/src/contrib/dnstap/message.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 8
    argNames:
    - m
    - type
    - query_sa
    - response_sa
    - protocol
    - wire
    - len_wire
    - mtime
    argTypes:
    - Dnstap__Message*
    - Dnstap__Message__Type
    - struct sockaddr*
    - struct sockaddr*
    - int
    - void*
    - size_t
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: dt_message_fill
    functionSourceFile: /src/knot-dns/src/contrib/dnstap/message.c
    functionUses: 1
    functionsReached:
    - get_family
    - dt_message_type_is_query
    - memset
    - dt_protocol_encode
    - dt_message_type_is_response
    - set_address
    linkageType: ''
    returnType: int
    signature: "int dt_message_fill(Dnstap__Message             *m,\n                    const
      Dnstap__Message__Type type,\n                    const struct sockaddr       *query_sa,\n
      \                   const struct sockaddr       *response_sa,\n                    const
      int                   protocol,\n                    const void                  *wire,\n
      \                   const size_t                len_wire,\n                    const
      struct timespec       *mtime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: knot_strlcpy
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/strlcpy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t knot_strlcpy(char *dst, const char *src, size_t siz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: le64toh
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:60,1
    - Dst: le64toh
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:61,1
    - Dst: memset
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - SIPHASH_CTX*
    - SIPHASH_KEY*
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: SipHash_Init
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 1
    functionsReached:
    - le64toh
    - memset
    linkageType: ''
    returnType: void
    signature: void SipHash_Init(SIPHASH_CTX *ctx, const SIPHASH_KEY *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:88,1
    - Dst: SipHash_CRounds
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:89,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:93,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:99,1
    - Dst: SipHash_CRounds
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:100,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - rc
    - rf
    - src
    - len
    argTypes:
    - SIPHASH_CTX*
    - int
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: SipHash_Update
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 1
    functionsReached:
    - memcpy
    - SipHash_CRounds
    linkageType: ''
    returnType: void
    signature: void SipHash_Update(SIPHASH_CTX *ctx, int rc, int rf, const void *src,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:117,1
    - Dst: SipHash_CRounds
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:120,1
    - Dst: SipHash_Rounds
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:122,1
    - Dst: memzero
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:125,1
    - Dst: htole64
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - rc
    - rf
    argTypes:
    - SIPHASH_CTX*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: SipHash_End
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 1
    functionsReached:
    - SipHash_Rounds
    - SipHash_CRounds
    - htole64
    - memzero
    - memset
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHash_End(SIPHASH_CTX *ctx, int rc, int rf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Init
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:134,1
    - Dst: SipHash_Update
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:135,1
    - Dst: SipHash_End
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - key
    - rc
    - rf
    - src
    - len
    argTypes:
    - SIPHASH_KEY*
    - int
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: SipHash
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 1
    functionsReached:
    - SipHash_Update
    - SipHash_Init
    - SipHash_End
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SipHash(const SIPHASH_KEY *key, int rc, int rf, const void
      *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:147,1
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:148,1
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:152,1
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:156,1
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:157,1
    - Dst: SIP_ROTL
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - rounds
    argTypes:
    - SIPHASH_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: SipHash_Rounds
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 1
    functionsReached:
    - SIP_ROTL
    linkageType: ''
    returnType: void
    signature: void SipHash_Rounds(SIPHASH_CTX *ctx, int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:170,1
    - Dst: SipHash_Rounds
      Src: /src/knot-dns/src/contrib/openbsd/siphash.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - rounds
    argTypes:
    - SIPHASH_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: SipHash_CRounds
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/siphash.c
    functionUses: 2
    functionsReached:
    - memcpy
    - SipHash_Rounds
    linkageType: ''
    returnType: void
    signature: void SipHash_CRounds(SIPHASH_CTX *ctx, int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/openbsd/strlcat.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: knot_strlcat
    functionSourceFile: /src/knot-dns/src/contrib/openbsd/strlcat.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t knot_strlcat(char *dst, const char *src, size_t siz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:40,1
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:44,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:45,1
    - Dst: snprintf
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:52,1
    - Dst: strspn
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:61,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:66,1
    - Dst: strlen
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:68,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/contrib/musl/inet_ntop.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - af
    - a0
    - s
    - l
    argTypes:
    - int
    - void*
    - char*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 79
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 79
    functionName: knot_inet_ntop
    functionSourceFile: /src/knot-dns/src/contrib/musl/inet_ntop.c
    functionUses: 3
    functionsReached:
    - strlen
    - memmove
    - strlcpy
    - snprintf
    - strspn
    - memcmp
    linkageType: ''
    returnType: char
    signature: char *knot_inet_ntop(int af, const void *restrict a0, char *restrict
      s, socklen_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct vpool*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: vpool_shift
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void vpool_shift(struct vpool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pool
    - datsize
    - size
    argTypes:
    - struct vpool*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: vpool_new_size
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vpool_new_size(struct vpool *pool, size_t datsize, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_new_size
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:80,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:86,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:92,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:94,1
    - Dst: vpool_shift
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - datsize
    argTypes:
    - struct vpool*
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 103
    functionName: vpool_resize
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - vpool_new_size
    - free
    - vpool_shift
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int vpool_resize(struct vpool *pool, size_t datsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pool
    - blksize
    - limit
    argTypes:
    - struct vpool*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: vpool_init
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vpool_init(struct vpool *pool, size_t blksize, size_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct vpool*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: vpool_final
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vpool_final(struct vpool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct vpool*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: vpool_reset
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vpool_reset(struct vpool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct vpool*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: vpool_wipe
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vpool_wipe(struct vpool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_resize
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:146,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:162,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pool
    - where
    - data
    - datsize
    argTypes:
    - struct vpool*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 169
    functionName: vpool_insert
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memmove
    - vpool_resize
    linkageType: ''
    returnType: void
    signature: 'void *

      vpool_insert(struct vpool *pool, size_t where, void *data, size_t datsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_resize
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:177,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - where
    - size
    argTypes:
    - struct vpool*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 199
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 199
    functionName: vpool_expand
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - memmove
    - vpool_resize
    linkageType: ''
    returnType: void
    signature: 'void *

      vpool_expand(struct vpool *pool, size_t where, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pool
    - where
    - size
    - how
    argTypes:
    - struct vpool*
    - size_t
    - size_t
    - enum vpool_trunc
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: vpool_truncate
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: "int vpool_truncate(struct vpool *pool,\n    size_t where, size_t size,
      enum vpool_trunc how)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpool_shift
      Src: /src/knot-dns/src/contrib/vpool/vpool.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pool
    - buf
    - size
    argTypes:
    - struct vpool*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: vpool_export
    functionSourceFile: /src/knot-dns/src/contrib/vpool/vpool.c
    functionUses: 0
    functionsReached:
    - vpool_shift
    linkageType: ''
    returnType: void
    signature: void vpool_export(struct vpool *pool, void **buf, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:148,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:150,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:151,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:155,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - leaf
    - key
    - len
    - mm
    argTypes:
    - node_t*
    - trie_key_t*
    - uint32_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: mkleaf
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - assert
    - memcpy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int mkleaf(node_t *leaf, const trie_key_t *key, uint32_t len, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:167,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - index
    - bmp
    - twigs
    argTypes:
    - trie_index_t
    - bitmap_t
    - node_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: mkbranch
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: node_t
    signature: node_t mkbranch(trie_index_t index, bitmap_t bmp, node_t *twigs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: empty_root
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - mkbranch
    linkageType: ''
    returnType: node_t
    signature: node_t empty_root(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: isbranch
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isbranch(const node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:195,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: tkey
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    linkageType: ''
    returnType: tkey_t
    signature: tkey_t *tkey(const node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:201,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: tvalp
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t *tvalp(node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:208,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: branch_index
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    linkageType: ''
    returnType: trie_index_t
    signature: trie_index_t branch_index(const node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:214,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: branch_bmp
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    linkageType: ''
    returnType: bitmap_t
    signature: bitmap_t branch_bmp(const node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:225,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:225,1
    - Dst: __builtin_popcount
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:226,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: branch_weight
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    - __builtin_popcount
    linkageType: ''
    returnType: uint
    signature: uint branch_weight(const node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:234,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:234,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:235,1
    - Dst: __builtin_popcount
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:235,1
    - Dst: __builtin_popcount
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - bit
    argTypes:
    - node_t*
    - bitmap_t
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: twigoff
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    - __builtin_popcount
    linkageType: ''
    returnType: uint
    signature: uint twigoff(const node_t *t, bitmap_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ni
    - key
    - len
    argTypes:
    - trie_index_t
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: keybit
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitmap_t
    signature: bitmap_t keybit(trie_index_t ni, const trie_key_t *key, uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:257,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:257,1
    - Dst: keybit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:258,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - key
    - len
    argTypes:
    - node_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: twigbit
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - keybit
    - assert
    - branch_index
    - isbranch
    linkageType: ''
    returnType: bitmap_t
    signature: bitmap_t twigbit(const node_t *t, const trie_key_t *key, uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:264,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:264,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:265,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:266,1
    - Dst: __builtin_popcount
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - t
    - bit
    argTypes:
    - node_t*
    - bitmap_t
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: hastwig
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    - __builtin_popcount
    linkageType: ''
    returnType: bool
    signature: bool hastwig(const node_t *t, bitmap_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:273,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: twigs
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - isbranch
    linkageType: ''
    returnType: node_t
    signature: node_t * twigs(node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:280,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:280,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - i
    argTypes:
    - node_t*
    - uint
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: twig
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twigs
    - assert
    - branch_weight
    linkageType: ''
    returnType: node_t
    signature: node_t * twig(node_t *t, uint i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:289,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - child
    - parent
    argTypes:
    - node_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: twig_number
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - branch_weight
    linkageType: ''
    returnType: uint
    signature: uint twig_number(node_t *child, node_t *parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - k1
    - k1_len
    - k2
    - k2_len
    argTypes:
    - trie_key_t*
    - uint32_t
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: key_cmp
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int key_cmp(const trie_key_t *k1, uint32_t k1_len,\n\t\t   const trie_key_t
      *k2, uint32_t k2_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:314,1
    - Dst: empty_root
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:316,1
    - Dst: mm_ctx_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mm
    argTypes:
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: trie_create
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 11
    functionsReached:
    - mm_alloc
    - empty_root
    - mm_ctx_init
    linkageType: ''
    returnType: trie_t
    signature: trie_t * trie_create(knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:329,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:330,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:330,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:332,1
    - Dst: clear_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:334,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:334,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:335,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - trie
    - mm
    argTypes:
    - node_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: clear_trie
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - branch_weight
    - mm_free
    - twigs
    - clear_trie
    - twig
    - tkey
    - isbranch
    linkageType: ''
    returnType: void
    signature: void clear_trie(node_t *trie, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:344,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - trie_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: trie_free
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 10
    functionsReached:
    - mm_free
    - clear_trie
    linkageType: ''
    returnType: void
    signature: void trie_free(trie_t *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:350,1
    - Dst: clear_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:353,1
    - Dst: empty_root
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - trie_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: trie_clear
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 5
    functionsReached:
    - empty_root
    - assert
    - clear_trie
    linkageType: ''
    returnType: void
    signature: void trie_clear(trie_t *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:360,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:361,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:362,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:366,1
    - Dst: dup_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:368,1
    - Dst: clear_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:370,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:372,1
    - Dst: mkbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:376,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:376,1
    - Dst: branch_bmp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:376,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:378,1
    - Dst: mkleaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:379,1
    - Dst: dup_cb
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:382,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:383,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - copy
    - orig
    - dup_cb
    - mm
    argTypes:
    - node_t*
    - node_t*
    - trie_dup_cb
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 388
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 388
    functionName: dup_trie
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - dup_trie
    - branch_weight
    - mm_free
    - twigs
    - clear_trie
    - mkleaf
    - mkbranch
    - branch_bmp
    - tkey
    - isbranch
    - branch_index
    - dup_cb
    - mm_alloc
    linkageType: ''
    returnType: bool
    signature: bool dup_trie(node_t *copy, const node_t *orig, trie_dup_cb dup_cb,
      knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:395,1
    - Dst: mm_ctx_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:403,1
    - Dst: dup_trie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:406,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - orig
    - dup_cb
    - mm
    argTypes:
    - trie_t*
    - trie_dup_cb
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 412
    functionName: trie_dup
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - mm_alloc
    - mm_ctx_init
    - mm_free
    - dup_trie
    linkageType: ''
    returnType: trie_t
    signature: trie_t * trie_dup(const trie_t *orig, trie_dup_cb dup_cb, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - trie_t*
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: trie_weight
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t trie_weight(const trie_t *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:422,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:426,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:427,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:427,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:428,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:429,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:431,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:431,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:433,1
    - Dst: key_cmp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:434,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tbl
    - key
    - len
    argTypes:
    - trie_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: trie_get_try
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 11
    functionsReached:
    - assert
    - hastwig
    - twigoff
    - twigs
    - twig
    - key_cmp
    - twigbit
    - tkey
    - isbranch
    - __builtin_prefetch
    - tvalp
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t * trie_get_try(trie_t *tbl, const trie_key_t *key, uint32_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:444,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:449,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:450,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:450,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:451,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:452,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:452,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:453,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:455,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:464,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:467,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:472,1
    - Dst: trie_get_try
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - tbl
    - key
    - len
    argTypes:
    - trie_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 476
      start: 442
    functionDepth: 4
    functionLinenumber: 442
    functionLinenumberEnd: 476
    functionName: trie_get_try_wildcard
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - assert
    - hastwig
    - twigoff
    - twigs
    - twig
    - twigbit
    - tkey
    - isbranch
    - __builtin_prefetch
    - memcpy
    - trie_get_try
    - tvalp
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t * trie_get_try_wildcard(trie_t *tbl, const trie_key_t *key,
      uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:482,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:482,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:483,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:483,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:485,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:487,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:488,1
    - Dst: empty_root
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:489,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:493,1
    - Dst: twig_number
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:494,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:495,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:500,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:503,1
    - Dst: mm_realloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:505,1
    - Dst: likely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - tbl
    - t
    - p
    - b
    - val
    argTypes:
    - trie_t*
    - node_t*
    - node_t*
    - bitmap_t
    - trie_val_t*
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: del_found
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twig_number
    - assert
    - branch_weight
    - memmove
    - likely
    - mm_free
    - twigs
    - tkey
    - unlikely
    - empty_root
    - mm_realloc
    - tvalp
    linkageType: ''
    returnType: void
    signature: void del_found(trie_t *tbl, node_t *t, node_t *p, bitmap_t b, trie_val_t
      *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:516,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:522,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:523,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:523,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:524,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:525,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:528,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:528,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:530,1
    - Dst: key_cmp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:531,1
    - Dst: del_found
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - tbl
    - key
    - len
    - val
    argTypes:
    - trie_t*
    - trie_key_t*
    - uint32_t
    - trie_val_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: trie_del
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 6
    functionsReached:
    - assert
    - hastwig
    - twigoff
    - twigs
    - twig
    - key_cmp
    - twigbit
    - tkey
    - isbranch
    - __builtin_prefetch
    - del_found
    linkageType: ''
    returnType: int
    signature: int trie_del(trie_t *tbl, const trie_key_t *key, uint32_t len, trie_val_t
      *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ns
    - tbl
    argTypes:
    - nstack_t*
    - trie_t*
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: ns_init
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ns_init(nstack_t *ns, trie_t *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: ns_gettrie
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: trie_t
    signature: trie_t * ns_gettrie(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:572,1
    - Dst: likely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:573,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: ns_cleanup
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - likely
    linkageType: ''
    returnType: void
    signature: void ns_cleanup(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:589,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:591,1
    - Dst: realloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 599
    functionName: ns_longer_alloc
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - realloc
    linkageType: ''
    returnType: int
    signature: int ns_longer_alloc(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:605,1
    - Dst: ns_longer_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: ns_longer
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - ns_longer_alloc
    - likely
    linkageType: ''
    returnType: int
    signature: int ns_longer(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:629,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:631,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:632,1
    - Dst: ns_longer
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:632,1
    - Dst: __builtin_prefetch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:634,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:634,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:635,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:641,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:641,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:642,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:644,1
    - Dst: MIN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:648,1
    - Dst: likely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:658,1
    - Dst: MIN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:658,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:667,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:670,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:677,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:679,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:679,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:683,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:683,1
    - Dst: keybit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:687,1
    - Dst: keybit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:688,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - ns
    - key
    - len
    - idiff
    - tbit
    - kbit
    argTypes:
    - nstack_t*
    - trie_key_t*
    - uint32_t
    - trie_index_t*
    - bitmap_t*
    - bitmap_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 690
    functionName: ns_find_branch
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - hastwig
    - twigoff
    - likely
    - ERR_RETURN
    - twigs
    - twig
    - twigbit
    - tkey
    - isbranch
    - MIN
    - __builtin_prefetch
    - ns_longer
    - unlikely
    - branch_index
    - keybit
    linkageType: ''
    returnType: int
    signature: "int ns_find_branch(nstack_t *ns, const trie_key_t *key, uint32_t len,\n
      \                         trie_index_t *idiff, bitmap_t *tbit, bitmap_t *kbit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:699,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:701,1
    - Dst: ns_longer
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:701,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:703,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:705,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: ns_last_leaf
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - branch_weight
    - ERR_RETURN
    - twig
    - isbranch
    - ns_longer
    linkageType: ''
    returnType: int
    signature: int ns_last_leaf(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:717,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:719,1
    - Dst: ns_longer
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:719,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:721,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: ns_first_leaf
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - ERR_RETURN
    - twig
    - isbranch
    - ns_longer
    linkageType: ''
    returnType: int
    signature: int ns_first_leaf(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:735,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:739,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:739,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:740,1
    - Dst: ns_longer
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:740,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:741,1
    - Dst: twig_number
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:748,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:752,1
    - Dst: ns_last_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 756
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 756
    functionName: ns_prev_leaf
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twig_number
    - assert
    - hastwig
    - ERR_RETURN
    - twig
    - ns_last_leaf
    - isbranch
    - ns_longer
    linkageType: ''
    returnType: int
    signature: int ns_prev_leaf(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:767,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:770,1
    - Dst: ns_first_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:771,1
    - Dst: twig_number
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:775,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:776,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:782,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:783,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:789,1
    - Dst: ns_first_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:790,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ns
    - skip_pefixed
    argTypes:
    - nstack_t*
    - bool
    constantsTouched: []
    func_position:
      end: 793
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 793
    functionName: ns_next_leaf
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twig_number
    - assert
    - hastwig
    - branch_weight
    - twig
    - ns_first_leaf
    - isbranch
    linkageType: ''
    returnType: int
    signature: int ns_next_leaf(nstack_t *ns, const bool skip_pefixed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:798,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:803,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ns
    argTypes:
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 815
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 815
    functionName: ns_prefix
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - hastwig
    - twig
    linkageType: ''
    returnType: int
    signature: int ns_prefix(nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:827,1
    - Dst: ns_find_branch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:827,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:833,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:833,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:842,1
    - Dst: ns_last_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:842,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:847,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:855,1
    - Dst: ns_longer
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:855,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:856,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:857,1
    - Dst: ns_last_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:857,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:859,1
    - Dst: ns_prev_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ns
    - key
    - len
    argTypes:
    - nstack_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 862
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 862
    functionName: ns_get_leq
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - ERR_RETURN
    - ns_find_branch
    - twig
    - ns_last_leaf
    - twigbit
    - branch_index
    - isbranch
    - ns_longer
    - ns_prev_leaf
    linkageType: ''
    returnType: int
    signature: int ns_get_leq(nstack_t *ns, const trie_key_t *key, uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:866,1
    - Dst: ns_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:873,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:878,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:878,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:879,1
    - Dst: ns_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - tbl
    - key
    - len
    - val
    argTypes:
    - trie_t*
    - trie_key_t*
    - uint32_t
    - trie_val_t**
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: trie_get_leq
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - ns_cleanup
    - assert
    - ns_init
    - isbranch
    - tvalp
    linkageType: ''
    returnType: int
    signature: int trie_get_leq(trie_t *tbl, const trie_key_t *key, uint32_t len,
      trie_val_t **val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:889,1
    - Dst: ns_gettrie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:890,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:898,1
    - Dst: trie_it_key
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - it
    - key
    - len
    argTypes:
    - trie_it_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 903
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 903
    functionName: trie_it_get_leq
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - ns_gettrie
    - assert
    - trie_it_key
    linkageType: ''
    returnType: int
    signature: int trie_it_get_leq(trie_it_t *it, const trie_key_t *key, uint32_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:912,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:914,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:915,1
    - Dst: mkleaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:915,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:918,1
    - Dst: cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:922,1
    - Dst: ns_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:924,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:928,1
    - Dst: ns_find_branch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:928,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:930,1
    - Dst: cow_pushdown
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:930,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:934,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:936,1
    - Dst: mkleaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:936,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:939,1
    - Dst: branch_index
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:939,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:941,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:941,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:943,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:944,1
    - Dst: mm_realloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:945,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:945,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:947,1
    - Dst: memmove
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:949,1
    - Dst: mkbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:951,1
    - Dst: branch_bmp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:951,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:958,1
    - Dst: hastwig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:958,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:958,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:961,1
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:962,1
    - Dst: mkbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:965,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:966,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:966,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:967,1
    - Dst: twigoff
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:967,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:971,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:973,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:973,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - cow
    - tbl
    - key
    - len
    argTypes:
    - trie_cow_t*
    - trie_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 976
      start: 909
    functionDepth: 4
    functionLinenumber: 909
    functionLinenumberEnd: 976
    functionName: cow_get_ins
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - ns_init
    - branch_weight
    - ns_find_branch
    - branch_bmp
    - mm_alloc
    - mm_realloc
    - memmove
    - mm_free
    - twigs
    - mkleaf
    - tkey
    - unlikely
    - mkbranch
    - cleanup
    - tvalp
    - assert
    - twigoff
    - twig
    - isbranch
    - cow_pushdown
    - hastwig
    - twigbit
    - branch_index
    linkageType: ''
    returnType: trie_val_t
    signature: "trie_val_t * cow_get_ins(trie_cow_t *cow, trie_t *tbl,\n\t\t\t       const
      trie_key_t *key, uint32_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_get_ins
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tbl
    - key
    - len
    argTypes:
    - trie_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 5
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: trie_get_ins
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 10
    functionsReached:
    - cow_get_ins
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t * trie_get_ins(trie_t *tbl, const trie_key_t *key, uint32_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:986,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:987,1
    - Dst: f
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:988,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:988,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:989,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:991,1
    - Dst: apply_nodes
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:991,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - t
    - d
    argTypes:
    - node_t*
    - void*
    constantsTouched: []
    func_position:
      end: 993
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 993
    functionName: apply_nodes
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 3
    functionsReached:
    - assert
    - branch_weight
    - apply_nodes
    - ERR_RETURN
    - twig
    - f
    - isbranch
    - tvalp
    linkageType: ''
    returnType: int
    signature: int apply_nodes(node_t *t, int (*f)(trie_val_t *, void *), void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:997,1
    - Dst: apply_nodes
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - tbl
    - d
    argTypes:
    - trie_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 4
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: trie_apply
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 3
    functionsReached:
    - assert
    - apply_nodes
    linkageType: ''
    returnType: int
    signature: int trie_apply(trie_t *tbl, int (*f)(trie_val_t *, void *), void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1006,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1007,1
    - Dst: ns_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1010,1
    - Dst: ns_first_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1013,1
    - Dst: ns_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1014,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - trie_t*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1004
    functionDepth: 4
    functionLinenumber: 1004
    functionLinenumberEnd: 1019
    functionName: trie_it_begin
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 13
    functionsReached:
    - ns_cleanup
    - assert
    - ns_init
    - free
    - ns_first_leaf
    - malloc
    linkageType: ''
    returnType: trie_it_t
    signature: trie_it_t * trie_it_begin(trie_t *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    functionName: trie_it_finished
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 14
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool trie_it_finished(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1031,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1033
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1033
    functionName: trie_it_free
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 14
    functionsReached:
    - ns_cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void trie_it_free(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1039,1
    - Dst: likely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1044,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1046,1
    - Dst: malloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1048,1
    - Dst: free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1050,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: trie_it_clone
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - likely
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: trie_it_t
    signature: trie_it_t *trie_it_clone(const trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1060,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1062,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1062,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - it
    - len
    argTypes:
    - trie_it_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1067
    functionName: trie_it_key
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 3
    functionsReached:
    - assert
    - tkey
    - isbranch
    linkageType: ''
    returnType: trie_key_t
    signature: trie_key_t * trie_it_key(trie_it_t *it, size_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1071,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1073,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1073,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: trie_it_val
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 9
    functionsReached:
    - assert
    - isbranch
    - tvalp
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t * trie_it_val(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1079,1
    - Dst: ns_next_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1077
    functionDepth: 5
    functionLinenumber: 1077
    functionLinenumberEnd: 1082
    functionName: trie_it_next
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 11
    functionsReached:
    - assert
    - ns_next_leaf
    linkageType: ''
    returnType: void
    signature: void trie_it_next(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1086,1
    - Dst: ns_first_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 4
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: trie_it_next_loop
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - ns_first_leaf
    linkageType: ''
    returnType: void
    signature: void trie_it_next_loop(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1098,1
    - Dst: ns_next_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: trie_it_next_nosuffix
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - ns_next_leaf
    linkageType: ''
    returnType: void
    signature: void trie_it_next_nosuffix(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1105,1
    - Dst: ns_prev_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1103
    functionDepth: 5
    functionLinenumber: 1103
    functionLinenumberEnd: 1108
    functionName: trie_it_prev
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - ns_prev_leaf
    linkageType: ''
    returnType: void
    signature: void trie_it_prev(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1112,1
    - Dst: ns_last_leaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1120
    functionName: trie_it_prev_loop
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - ns_last_leaf
    - assert
    linkageType: ''
    returnType: void
    signature: void trie_it_prev_loop(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1124,1
    - Dst: ns_prefix
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1127
    functionName: trie_it_parent
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - assert
    - ns_prefix
    linkageType: ''
    returnType: void
    signature: void trie_it_parent(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1131,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1135,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1135,1
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1143,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1143,1
    - Dst: trie_it_key
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1145,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1146,1
    - Dst: del_found
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1150,1
    - Dst: ns_gettrie
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - it
    argTypes:
    - trie_it_t*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1151
    functionName: trie_it_del
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - ns_gettrie
    - assert
    - trie_it_key
    - twigbit
    - isbranch
    - del_found
    linkageType: ''
    returnType: void
    signature: void trie_it_del(trie_it_t *it)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1244,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    functionName: cow_marked
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twigs
    - isbranch
    linkageType: ''
    returnType: bool
    signature: bool cow_marked(node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1250,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: cow_key
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - tkey
    - isbranch
    linkageType: ''
    returnType: bool
    signature: bool cow_key(node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1256,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1256,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - node_t*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1258
    functionName: clear_cow
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twigs
    - assert
    - isbranch
    linkageType: ''
    returnType: void
    signature: void clear_cow(node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1268,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1269,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1272,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1275,1
    - Dst: trie_cow_t*::mark_shared
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cow
    - t
    argTypes:
    - trie_cow_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1266
    functionDepth: 2
    functionLinenumber: 1266
    functionLinenumberEnd: 1279
    functionName: mark_cow
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - twigs
    - tkey
    - trie_cow_t*::mark_shared
    - isbranch
    - tvalp
    linkageType: ''
    returnType: void
    signature: void mark_cow(trie_cow_t *cow, node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1284,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1285,1
    - Dst: mark_cow
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1290,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1290,1
    - Dst: clear_cow
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1292,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1293,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cow
    - t
    argTypes:
    - trie_cow_t*
    - node_t*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1282
    functionDepth: 3
    functionLinenumber: 1282
    functionLinenumberEnd: 1295
    functionName: cow_pushdown_one
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 0
    functionsReached:
    - branch_weight
    - twigs
    - twig
    - mark_cow
    - memcpy
    - mm_alloc
    - clear_cow
    linkageType: ''
    returnType: int
    signature: int cow_pushdown_one(trie_cow_t *cow, node_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_marked
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1308,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1309,1
    - Dst: cow_pushdown_one
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1310,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1312,1
    - Dst: cow_key
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1317,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1319,1
    - Dst: mkleaf
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cow
    - ns
    argTypes:
    - trie_cow_t*
    - nstack_t*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1298
    functionDepth: 4
    functionLinenumber: 1298
    functionLinenumberEnd: 1329
    functionName: cow_pushdown
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - cow_pushdown_one
    - cow_marked
    - cow_key
    - twigs
    - mkleaf
    - tkey
    linkageType: ''
    returnType: int
    signature: int cow_pushdown(trie_cow_t *cow, nstack_t *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1334,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1335,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1338,1
    - Dst: cow::cow
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1345,1
    - Dst: mark_cow
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - old
    - mark_shared
    - d
    argTypes:
    - trie_t*
    - trie_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1331
    functionDepth: 3
    functionLinenumber: 1331
    functionLinenumberEnd: 1351
    functionName: trie_cow
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 2
    functionsReached:
    - mm_alloc
    - mm_free
    - mark_cow
    - cow::cow
    linkageType: ''
    returnType: trie_cow_t
    signature: trie_cow_t * trie_cow(trie_t *old, trie_cb *mark_shared, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cow
    argTypes:
    - trie_cow_t*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1357
    functionName: trie_cow_new
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: trie_t
    signature: trie_t * trie_cow_new(trie_cow_t *cow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_get_ins
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cow
    - key
    - len
    argTypes:
    - trie_cow_t*
    - trie_key_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 5
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: trie_get_cow
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 2
    functionsReached:
    - cow_get_ins
    linkageType: ''
    returnType: trie_val_t
    signature: trie_val_t * trie_get_cow(trie_cow_t *cow, const trie_key_t *key, uint32_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1367,1
    - Dst: cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1371,1
    - Dst: ns_init
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1373,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1377,1
    - Dst: ns_find_branch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1377,1
    - Dst: ERR_RETURN
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1380,1
    - Dst: cow_pushdown
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1380,1
    - Dst: del_found
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1383,1
    - Dst: twigbit
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cow
    - key
    - len
    - val
    argTypes:
    - trie_cow_t*
    - trie_key_t*
    - uint32_t
    - trie_val_t*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1364
    functionDepth: 5
    functionLinenumber: 1364
    functionLinenumberEnd: 1386
    functionName: trie_del_cow
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 2
    functionsReached:
    - cow_pushdown
    - ns_init
    - ERR_RETURN
    - ns_find_branch
    - twigbit
    - unlikely
    - cleanup
    - del_found
    linkageType: ''
    returnType: int
    signature: int trie_del_cow(trie_cow_t *cow, const trie_key_t *key, uint32_t len,
      trie_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_marked
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1391,1
    - Dst: clear_cow
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1393,1
    - Dst: isbranch
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1395,1
    - Dst: branch_weight
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1397,1
    - Dst: cow_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1399,1
    - Dst: twig
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1399,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1400,1
    - Dst: twigs
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1400,1
    - Dst: tkey
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1404,1
    - Dst: tvalp
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1406,1
    - Dst: cb
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1407,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - cow
    - t
    - cb
    - d
    argTypes:
    - trie_cow_t*
    - node_t*
    - trie_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1389
    functionDepth: 3
    functionLinenumber: 1389
    functionLinenumberEnd: 1416
    functionName: cow_cleanup
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 1
    functionsReached:
    - cow_cleanup
    - cow_marked
    - branch_weight
    - mm_free
    - twigs
    - twig
    - tkey
    - cb
    - isbranch
    - tvalp
    - clear_cow
    linkageType: ''
    returnType: void
    signature: void cow_cleanup(trie_cow_t *cow, node_t *t, trie_cb *cb, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1422,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1423,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cow
    - cb
    - d
    argTypes:
    - trie_cow_t*
    - trie_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1418
    functionDepth: 4
    functionLinenumber: 1418
    functionLinenumberEnd: 1426
    functionName: trie_cow_commit
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 2
    functionsReached:
    - mm_free
    - cow_cleanup
    linkageType: ''
    returnType: trie_t
    signature: trie_t * trie_cow_commit(trie_cow_t *cow, trie_cb *cb, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cow_cleanup
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1432,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1433,1
    - Dst: mm_free
      Src: /src/knot-dns/src/contrib/qp-trie/trie.c:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cow
    - cb
    - d
    argTypes:
    - trie_cow_t*
    - trie_cb*
    - void*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1436
    functionName: trie_cow_rollback
    functionSourceFile: /src/knot-dns/src/contrib/qp-trie/trie.c
    functionUses: 3
    functionsReached:
    - mm_free
    - cow_cleanup
    linkageType: ''
    returnType: trie_t
    signature: trie_t * trie_cow_rollback(trie_cow_t *cow, trie_cb *cb, void *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - base
    - len_base
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: proxyv2_header_offset
    functionSourceFile: /src/knot-dns/src/contrib/proxyv2/proxyv2.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int proxyv2_header_offset(void *base, size_t len_base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_set_raw
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:167,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:171,1
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:171,1
    - Dst: sockaddr_set_raw
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:189,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:193,1
    - Dst: ntohs
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - base
    - len_base
    - ss
    argTypes:
    - void*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 202
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 202
    functionName: proxyv2_addr_store
    functionSourceFile: /src/knot-dns/src/contrib/proxyv2/proxyv2.c
    functionUses: 0
    functionsReached:
    - ntohs
    - sockaddr_set_raw
    - sockaddr_port_set
    linkageType: ''
    returnType: int
    signature: int proxyv2_addr_store(void *base, size_t len_base, struct sockaddr_storage
      *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:232,1
    - Dst: htons
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:233,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:237,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:239,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:246,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:247,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:252,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:258,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:259,1
    - Dst: memcpy
      Src: /src/knot-dns/src/contrib/proxyv2/proxyv2.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 5
    argNames:
    - buf
    - buflen
    - socktype
    - src
    - dst
    argTypes:
    - char*
    - size_t
    - int
    - struct sockaddr*
    - struct sockaddr*
    constantsTouched: []
    func_position:
      end: 269
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 269
    functionName: proxyv2_write_header
    functionSourceFile: /src/knot-dns/src/contrib/proxyv2/proxyv2.c
    functionUses: 0
    functionsReached:
    - htons
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int proxyv2_write_header(char *buf, size_t buflen, int socktype, const
      struct sockaddr *src,\n                         const struct sockaddr *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tsig_rcode
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: knot_tsig_can_sign
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_tsig_can_sign(uint16_t tsig_rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/libknot/lookup.h:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - table
    - name
    argTypes:
    - knot_lookup_t*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: knot_lookup_by_name
    functionSourceFile: /src/knot-dns/src/libknot/lookup.h
    functionUses: 2
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: knot_lookup_t
    signature: knot_lookup_t *knot_lookup_by_name(const knot_lookup_t *table, const
      char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - id
    argTypes:
    - knot_lookup_t*
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: knot_lookup_by_id
    functionSourceFile: /src/knot-dns/src/libknot/lookup.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: knot_lookup_t
    signature: knot_lookup_t *knot_lookup_by_id(const knot_lookup_t *table, int id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/libknot/rrset.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - rrset
    - owner
    - type
    - rclass
    - ttl
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - uint16_t
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: knot_rrset_init
    functionSourceFile: /src/knot-dns/src/libknot/rrset.h
    functionUses: 34
    functionsReached:
    - knot_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void knot_rrset_init(knot_rrset_t *rrset, knot_dname_t *owner,\n                                   uint16_t
      type, uint16_t rclass, uint32_t ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/libknot/rrset.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: knot_rrset_init_empty
    functionSourceFile: /src/knot-dns/src/libknot/rrset.h
    functionUses: 10
    functionsReached:
    - knot_rrset_init
    linkageType: ''
    returnType: void
    signature: void knot_rrset_init_empty(knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: knot_rrset_empty
    functionSourceFile: /src/knot-dns/src/libknot/rrset.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_rrset_empty(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: knot_rrset_size_estimate
    functionSourceFile: /src/knot-dns/src/libknot/rrset.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t knot_rrset_size_estimate(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/tsig-op.c:33,1
    - Dst: dnssec_tsig_algorithm_from_dname
      Src: /src/knot-dns/src/libknot/tsig-op.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tsig_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: check_algorithm
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - knot_tsig_rdata_alg_name
    - dnssec_tsig_algorithm_from_dname
    linkageType: ''
    returnType: int
    signature: int check_algorithm(const knot_rrset_t *tsig_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/libknot/tsig-op.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tsig_rr
    - tsig_key
    argTypes:
    - knot_rrset_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: check_key
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 1
    functionsReached:
    - knot_dname_is_equal
    linkageType: ''
    returnType: int
    signature: int check_key(const knot_rrset_t *tsig_rr, const knot_tsig_key_t *tsig_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_add
      Src: /src/knot-dns/src/libknot/tsig-op.c:83,1
    - Dst: dnssec_tsig_size
      Src: /src/knot-dns/src/libknot/tsig-op.c:85,1
    - Dst: dnssec_tsig_write
      Src: /src/knot-dns/src/libknot/tsig-op.c:86,1
    - Dst: dnssec_tsig_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - wire
    - wire_len
    - digest
    - digest_len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: compute_digest
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - dnssec_tsig_free
    - dnssec_tsig_add
    - dnssec_tsig_write
    - dnssec_tsig_size
    linkageType: ''
    returnType: int
    signature: "int compute_digest(const uint8_t *wire, size_t wire_len,\n                          uint8_t
      *digest, size_t *digest_len,\n                          const knot_tsig_key_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/knot-dns/src/libknot/tsig-op.c:109,1
    - Dst: difftime
      Src: /src/knot-dns/src/libknot/tsig-op.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - tsig_rr
    - prev_time_signed
    argTypes:
    - knot_rrset_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: check_time_signed
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - time
    - difftime
    linkageType: ''
    returnType: int
    signature: int check_time_signed(const knot_rrset_t *tsig_rr, uint64_t prev_time_signed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/libknot/tsig-op.c:141,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:146,1
    - Dst: knot_wire_write_u32
      Src: /src/knot-dns/src/libknot/tsig-op.c:150,1
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/tsig-op.c:154,1
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/libknot/tsig-op.c:161,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/libknot/tsig-op.c:162,1
    - Dst: knot_wire_write_u48
      Src: /src/knot-dns/src/libknot/tsig-op.c:166,1
    - Dst: knot_tsig_rdata_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:166,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:169,1
    - Dst: knot_tsig_rdata_fudge
      Src: /src/knot-dns/src/libknot/tsig-op.c:169,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:172,1
    - Dst: knot_tsig_rdata_error
      Src: /src/knot-dns/src/libknot/tsig-op.c:172,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:186,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - wire
    - tsig_rr
    argTypes:
    - uint8_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 193
    functionName: write_tsig_variables
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - knot_tsig_rdata_fudge
    - knot_tsig_rdata_error
    - knot_wire_write_u48
    - knot_tsig_rdata_time_signed
    - knot_tsig_rdata_alg_name
    - memcpy
    - knot_wire_write_u16
    - knot_dname_to_wire
    - knot_wire_write_u32
    - knot_dname_to_lower
    linkageType: ''
    returnType: int
    signature: int write_tsig_variables(uint8_t *wire, const knot_rrset_t *tsig_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u48
      Src: /src/knot-dns/src/libknot/tsig-op.c:202,1
    - Dst: knot_tsig_rdata_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:202,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:204,1
    - Dst: knot_tsig_rdata_fudge
      Src: /src/knot-dns/src/libknot/tsig-op.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wire
    - tsig_rr
    argTypes:
    - uint8_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: wire_write_timers
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - knot_wire_write_u48
    - knot_wire_write_u16
    - knot_tsig_rdata_time_signed
    - knot_tsig_rdata_fudge
    linkageType: ''
    returnType: int
    signature: int wire_write_timers(uint8_t *wire, const knot_rrset_t *tsig_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/tsig-op.c:233,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:239,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:241,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:245,1
    - Dst: write_tsig_variables
      Src: /src/knot-dns/src/libknot/tsig-op.c:248,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:250,1
    - Dst: compute_digest
      Src: /src/knot-dns/src/libknot/tsig-op.c:255,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:258,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 8
    argNames:
    - msg
    - msg_len
    - request_mac
    - request_mac_len
    - digest
    - digest_len
    - tmp_tsig
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - knot_rrset_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 265
    functionName: create_sign_wire
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - compute_digest
    - free
    - write_tsig_variables
    - memset
    - memcpy
    - knot_wire_write_u16
    linkageType: ''
    returnType: int
    signature: "int create_sign_wire(const uint8_t *msg, size_t msg_len,\n                            const
      uint8_t *request_mac, size_t request_mac_len,\n                            uint8_t
      *digest, size_t *digest_len,\n                            const knot_rrset_t
      *tmp_tsig,\n                            const knot_tsig_key_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/tsig-op.c:290,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:293,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:294,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:296,1
    - Dst: wire_write_timers
      Src: /src/knot-dns/src/libknot/tsig-op.c:299,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:301,1
    - Dst: compute_digest
      Src: /src/knot-dns/src/libknot/tsig-op.c:306,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:309,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 8
    argNames:
    - msg
    - msg_len
    - prev_mac
    - prev_mac_len
    - digest
    - digest_len
    - tmp_tsig
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - knot_rrset_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 316
    functionName: create_sign_wire_next
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - compute_digest
    - free
    - wire_write_timers
    - memset
    - memcpy
    - knot_wire_write_u16
    linkageType: ''
    returnType: int
    signature: "int create_sign_wire_next(const uint8_t *msg, size_t msg_len,\n                                 const
      uint8_t *prev_mac, size_t prev_mac_len,\n                                 uint8_t
      *digest, size_t *digest_len,\n                                 const knot_rrset_t
      *tmp_tsig,\n                                 const knot_tsig_key_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/libknot/tsig-op.c:329,1
    - Dst: knot_tsig_create_rdata
      Src: /src/knot-dns/src/libknot/tsig-op.c:343,1
    - Dst: knot_tsig_rdata_set_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:348,1
    - Dst: time
      Src: /src/knot-dns/src/libknot/tsig-op.c:352,1
    - Dst: knot_wire_write_u48
      Src: /src/knot-dns/src/libknot/tsig-op.c:353,1
    - Dst: knot_tsig_rdata_set_other_data
      Src: /src/knot-dns/src/libknot/tsig-op.c:355,1
    - Dst: knot_tsig_rdata_set_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:357,1
    - Dst: time
      Src: /src/knot-dns/src/libknot/tsig-op.c:357,1
    - Dst: knot_tsig_rdata_set_other_data
      Src: /src/knot-dns/src/libknot/tsig-op.c:360,1
    - Dst: knot_tsig_rdata_set_fudge
      Src: /src/knot-dns/src/libknot/tsig-op.c:363,1
    - Dst: knot_tsig_rdata_set_orig_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:366,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:366,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:375,1
    - Dst: knot_tsig_rdata_set_mac
      Src: /src/knot-dns/src/libknot/tsig-op.c:380,1
    - Dst: knot_rrset_to_wire
      Src: /src/knot-dns/src/libknot/tsig-op.c:383,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:387,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:393,1
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/tsig-op.c:398,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 10
    argNames:
    - msg
    - msg_len
    - msg_max_len
    - request_mac
    - request_mac_len
    - digest
    - digest_len
    - key
    - tsig_rcode
    - request_time_signed
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - knot_tsig_key_t*
    - uint16_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 405
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 405
    functionName: knot_tsig_sign
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 3
    functionsReached:
    - knot_rrset_free
    - knot_rrset_to_wire
    - knot_wire_write_u48
    - knot_rrset_new
    - time
    - knot_tsig_rdata_set_orig_id
    - knot_tsig_rdata_set_time_signed
    - knot_tsig_create_rdata
    - knot_tsig_rdata_set_other_data
    - knot_wire_get_id
    - memcpy
    - knot_tsig_rdata_set_mac
    - knot_wire_set_arcount
    - knot_tsig_rdata_set_fudge
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_sign(uint8_t *msg, size_t *msg_len, size_t msg_max_len,\n
      \                  const uint8_t *request_mac, size_t request_mac_len,\n                   uint8_t
      *digest, size_t *digest_len,\n                   const knot_tsig_key_t *key,
      uint16_t tsig_rcode,\n                   uint64_t request_time_signed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/libknot/tsig-op.c:420,1
    - Dst: knot_tsig_create_rdata
      Src: /src/knot-dns/src/libknot/tsig-op.c:429,1
    - Dst: knot_tsig_rdata_set_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:430,1
    - Dst: time
      Src: /src/knot-dns/src/libknot/tsig-op.c:430,1
    - Dst: knot_tsig_rdata_set_fudge
      Src: /src/knot-dns/src/libknot/tsig-op.c:431,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:437,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/tsig-op.c:440,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/tsig-op.c:443,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:445,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:447,1
    - Dst: wire_write_timers
      Src: /src/knot-dns/src/libknot/tsig-op.c:449,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:452,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:454,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:460,1
    - Dst: knot_tsig_rdata_set_mac
      Src: /src/knot-dns/src/libknot/tsig-op.c:466,1
    - Dst: knot_tsig_rdata_set_orig_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:469,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:469,1
    - Dst: knot_tsig_rdata_set_other_data
      Src: /src/knot-dns/src/libknot/tsig-op.c:472,1
    - Dst: knot_rrset_to_wire
      Src: /src/knot-dns/src/libknot/tsig-op.c:474,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:477,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:484,1
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/tsig-op.c:488,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 10
    argNames:
    - msg
    - msg_len
    - msg_max_len
    - prev_digest
    - prev_digest_len
    - digest
    - digest_len
    - key
    - to_sign
    - to_sign_len
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - knot_tsig_key_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 494
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 494
    functionName: knot_tsig_sign_next
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 2
    functionsReached:
    - knot_rrset_free
    - knot_wire_get_id
    - knot_rrset_to_wire
    - knot_rrset_new
    - free
    - time
    - wire_write_timers
    - knot_tsig_rdata_set_orig_id
    - knot_tsig_rdata_set_time_signed
    - knot_tsig_create_rdata
    - knot_tsig_rdata_set_other_data
    - memset
    - memcpy
    - knot_wire_write_u16
    - knot_tsig_rdata_set_mac
    - knot_wire_set_arcount
    - knot_tsig_rdata_set_fudge
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_sign_next(uint8_t *msg, size_t *msg_len, size_t
      msg_max_len,\n                        const uint8_t *prev_digest, size_t prev_digest_len,\n
      \                       uint8_t *digest, size_t *digest_len,\n                        const
      knot_tsig_key_t *key, uint8_t *to_sign,\n                        size_t to_sign_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_key
      Src: /src/knot-dns/src/libknot/tsig-op.c:518,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/tsig-op.c:528,1
    - Dst: knot_wire_set_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:531,1
    - Dst: knot_tsig_rdata_orig_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:531,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/tsig-op.c:535,1
    - Dst: create_sign_wire_next
      Src: /src/knot-dns/src/libknot/tsig-op.c:539,1
    - Dst: create_sign_wire
      Src: /src/knot-dns/src/libknot/tsig-op.c:544,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/tsig-op.c:550,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig-op.c:551,1
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/tsig-op.c:560,1
    - Dst: dnssec_tsig_algorithm_from_dname
      Src: /src/knot-dns/src/libknot/tsig-op.c:561,1
    - Dst: dnssec_tsig_algorithm_size
      Src: /src/knot-dns/src/libknot/tsig-op.c:567,1
    - Dst: const_time_memcmp
      Src: /src/knot-dns/src/libknot/tsig-op.c:571,1
    - Dst: check_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 8
    argNames:
    - tsig_rr
    - wire
    - size
    - request_mac
    - request_mac_len
    - tsig_key
    - prev_time_signed
    - use_times
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - knot_tsig_key_t*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 582
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 582
    functionName: check_digest
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - knot_wire_set_id
    - assert
    - free
    - check_key
    - dnssec_tsig_algorithm_from_dname
    - create_sign_wire_next
    - const_time_memcmp
    - knot_tsig_rdata_orig_id
    - create_sign_wire
    - dnssec_tsig_algorithm_size
    - memcpy
    - check_time_signed
    - knot_tsig_rdata_alg_name
    linkageType: ''
    returnType: int
    signature: "int check_digest(const knot_rrset_t *tsig_rr,\n                        const
      uint8_t *wire, size_t size,\n                        const uint8_t *request_mac,
      size_t request_mac_len,\n                        const knot_tsig_key_t *tsig_key,\n
      \                       uint64_t prev_time_signed, int use_times)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_digest
      Src: /src/knot-dns/src/libknot/tsig-op.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tsig_rr
    - wire
    - size
    - tsig_key
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - size_t
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: knot_tsig_server_check
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 0
    functionsReached:
    - check_digest
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_server_check(const knot_rrset_t *tsig_rr,\n                           const
      uint8_t *wire, size_t size,\n                           const knot_tsig_key_t
      *tsig_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_digest
      Src: /src/knot-dns/src/libknot/tsig-op.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - tsig_rr
    - wire
    - size
    - request_mac
    - request_mac_len
    - tsig_key
    - prev_time_signed
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - knot_tsig_key_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: knot_tsig_client_check
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 1
    functionsReached:
    - check_digest
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_client_check(const knot_rrset_t *tsig_rr,\n                           const
      uint8_t *wire, size_t size,\n                           const uint8_t *request_mac,
      size_t request_mac_len,\n                           const knot_tsig_key_t *tsig_key,\n
      \                          uint64_t prev_time_signed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_digest
      Src: /src/knot-dns/src/libknot/tsig-op.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - tsig_rr
    - wire
    - size
    - prev_digest
    - prev_digest_len
    - tsig_key
    - prev_time_signed
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - knot_tsig_key_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: knot_tsig_client_check_next
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 1
    functionsReached:
    - check_digest
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_client_check_next(const knot_rrset_t *tsig_rr,\n
      \                               const uint8_t *wire, size_t size,\n                                const
      uint8_t *prev_digest,\n                                size_t prev_digest_len,\n
      \                               const knot_tsig_key_t *tsig_key,\n                                uint64_t
      prev_time_signed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/libknot/tsig-op.c:626,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/tsig-op.c:632,1
    - Dst: knot_tsig_create_rdata
      Src: /src/knot-dns/src/libknot/tsig-op.c:633,1
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/tsig-op.c:633,1
    - Dst: knot_tsig_rdata_set_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:634,1
    - Dst: knot_tsig_rdata_time_signed
      Src: /src/knot-dns/src/libknot/tsig-op.c:634,1
    - Dst: knot_tsig_rdata_set_fudge
      Src: /src/knot-dns/src/libknot/tsig-op.c:639,1
    - Dst: knot_tsig_rdata_set_orig_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:642,1
    - Dst: knot_wire_get_id
      Src: /src/knot-dns/src/libknot/tsig-op.c:642,1
    - Dst: knot_tsig_rdata_set_other_data
      Src: /src/knot-dns/src/libknot/tsig-op.c:645,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/tsig-op.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - msg
    - msg_len
    - msg_max_len
    - tsig_rcode
    - tsig_rr
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - uint16_t
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 654
    functionName: knot_tsig_add
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_rrset_free
    - knot_tsig_rdata_time_signed
    - knot_rrset_new
    - knot_tsig_rdata_set_orig_id
    - knot_tsig_rdata_set_time_signed
    - knot_tsig_create_rdata
    - knot_tsig_rdata_set_other_data
    - knot_wire_get_id
    - knot_tsig_rdata_alg_name
    - knot_tsig_rdata_set_fudge
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_add(uint8_t *msg, size_t *msg_len, size_t msg_max_len,\n
      \                 uint16_t tsig_rcode, const knot_rrset_t *tsig_rr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/tsig-op.c:669,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/libknot/tsig-op.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - msg
    - msg_len
    - msg_max_len
    - tsig_rr
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: knot_tsig_append
    functionSourceFile: /src/knot-dns/src/libknot/tsig-op.c
    functionUses: 3
    functionsReached:
    - knot_wire_get_arcount
    - knot_wire_set_arcount
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_append(uint8_t *msg, size_t *msg_len, size_t msg_max_len,\n
      \                    const knot_rrset_t *tsig_rr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:200,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:201,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:202,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:203,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:204,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:205,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:206,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:207,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:208,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:209,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:210,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:211,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:212,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:213,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:214,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:215,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:216,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:217,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:218,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:219,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:220,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:221,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:222,1
    - Dst: ERR_ITEM
      Src: /src/knot-dns/src/libknot/errcode.h:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - code
    - dflt_error
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 237
    functionName: knot_map_errno_code_def
    functionSourceFile: /src/knot-dns/src/libknot/errcode.h
    functionUses: 0
    functionsReached:
    - ERR_ITEM
    linkageType: ''
    returnType: int
    signature: int knot_map_errno_code_def(int code, int dflt_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno_code_def
      Src: /src/knot-dns/src/libknot/errcode.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: knot_map_errno_code
    functionSourceFile: /src/knot-dns/src/libknot/errcode.h
    functionUses: 4
    functionsReached:
    - knot_map_errno_code_def
    linkageType: ''
    returnType: int
    signature: int knot_map_errno_code(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno_code_def
      Src: /src/knot-dns/src/libknot/errcode.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dflt_error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: knot_map_errno_def
    functionSourceFile: /src/knot-dns/src/libknot/errcode.h
    functionUses: 0
    functionsReached:
    - knot_map_errno_code_def
    linkageType: ''
    returnType: int
    signature: int knot_map_errno_def(int dflt_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno_code_def
      Src: /src/knot-dns/src/libknot/errcode.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: knot_map_errno
    functionSourceFile: /src/knot-dns/src/libknot/errcode.h
    functionUses: 45
    functionsReached:
    - knot_map_errno_code_def
    linkageType: ''
    returnType: int
    signature: int knot_map_errno(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: lookup_message
    functionSourceFile: /src/knot-dns/src/libknot/error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *lookup_message(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - libdnssec_errcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 213
    functionName: knot_error_from_libdnssec
    functionSourceFile: /src/knot-dns/src/libknot/error.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_error_from_libdnssec(int libdnssec_errcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lookup_message
      Src: /src/knot-dns/src/libknot/error.c:225,1
    - Dst: dnssec_strerror
      Src: /src/knot-dns/src/libknot/error.c:227,1
    - Dst: mdb_strerror
      Src: /src/knot-dns/src/libknot/error.c:229,1
    - Dst: strerror
      Src: /src/knot-dns/src/libknot/error.c:238,1
    - Dst: abs
      Src: /src/knot-dns/src/libknot/error.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: knot_strerror
    functionSourceFile: /src/knot-dns/src/libknot/error.c
    functionUses: 157
    functionsReached:
    - lookup_message
    - dnssec_strerror
    - mdb_strerror
    - strerror
    - abs
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_strerror(int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: knot_rdata_descriptor_t *knot_get_rdata_descriptor(const uint16_t
      type)
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdata_descriptor_t *knot_get_rdata_descriptor(const uint16_t
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: knot_rdata_descriptor_t *knot_get_obsolete_rdata_descriptor(const
      uint16_t type)
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdata_descriptor_t *knot_get_obsolete_rdata_descriptor(const
      uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/src/libknot/descriptor.c:205,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:208,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - rrtype
    - out
    - out_len
    argTypes:
    - uint16_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 218
    functionName: knot_rrtype_to_string
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 20
    functionsReached:
    - knot_get_rdata_descriptor
    - snprintf
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrtype_to_string(const uint16_t rrtype,\n                          char
      \          *out,\n                          const size_t   out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/libknot/descriptor.c:234,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/descriptor.c:241,1
    - Dst: strtoul
      Src: /src/knot-dns/src/libknot/descriptor.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - name
    - num
    argTypes:
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 255
    functionName: knot_rrtype_from_string
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 10
    functionsReached:
    - strncasecmp
    - strcasecmp
    - strtoul
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrtype_from_string(const char *name, uint16_t *num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:269,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - rrclass
    - out
    - out_len
    argTypes:
    - uint16_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: knot_rrclass_to_string
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 5
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrclass_to_string(const uint16_t rrclass,\n                           char
      \          *out,\n                           const size_t   out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/knot-dns/src/libknot/descriptor.c:295,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/descriptor.c:302,1
    - Dst: strtoul
      Src: /src/knot-dns/src/libknot/descriptor.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - name
    - num
    argTypes:
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 316
    functionName: knot_rrclass_from_string
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 4
    functionsReached:
    - strncasecmp
    - strcasecmp
    - strtoul
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrclass_from_string(const char *name, uint16_t *num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: knot_rrtype_is_metatype
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrtype_is_metatype(const uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: knot_rrtype_is_dnssec
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrtype_is_dnssec(const uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: knot_rrtype_additional_needed
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrtype_additional_needed(const uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 378
    functionName: knot_rrtype_should_be_lowercased
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrtype_should_be_lowercased(const uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:408,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/descriptor.c:410,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - code
    - out
    - out_len
    argTypes:
    - uint16_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 418
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 418
    functionName: knot_opt_code_to_string
    functionSourceFile: /src/knot-dns/src/libknot/descriptor.c
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_opt_code_to_string(const uint16_t code, char *out, const
      size_t out_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libknot/dname.c:29,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libknot/dname.c:29,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/dname.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - lb1
    - lb2
    - no_case
    argTypes:
    - uint8_t*
    - uint8_t*
    - bool
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: label_is_equal
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - memcmp
    - knot_tolower
    linkageType: ''
    returnType: bool
    signature: bool label_is_equal(const uint8_t *lb1, const uint8_t *lb2, bool no_case)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:51,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:54,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - d1
    - d1_labels
    - d2
    - d2_labels
    argTypes:
    - uint8_t**
    - uint8_t
    - uint8_t**
    - uint8_t
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: dname_align
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_dname_next_label
    linkageType: ''
    returnType: int
    signature: "int dname_align(const uint8_t **d1, uint8_t d1_labels,\n                       const
      uint8_t **d2, uint8_t d2_labels)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/dname.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - name
    - endp
    - pkt
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 129
    functionName: knot_dname_wire_check
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 4
    functionsReached:
    - knot_wire_is_pointer
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_dname_wire_check(const uint8_t *name, const uint8_t
      *endp,\n                          const uint8_t *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:139,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - name
    argTypes:
    - knot_dname_storage_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: knot_dname_store
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 3
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_store(knot_dname_storage_t dst, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/dname.c:153,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: knot_dname_t *knot_dname_copy(const knot_dname_t *name, knot_mm_t
      *mm)
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_t *knot_dname_copy(const knot_dname_t *name, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - maxlen
    argTypes:
    - uint8_t*
    - knot_dname_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: knot_dname_to_wire
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_to_wire(uint8_t *dst, const knot_dname_t *src,
      size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_seek_label
      Src: /src/knot-dns/src/libknot/dname.c:187,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:196,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/dname.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - dst
    - src
    - maxlen
    - pkt
    argTypes:
    - uint8_t*
    - knot_dname_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 208
    functionName: knot_dname_unpack
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 1
    functionsReached:
    - knot_wire_seek_label
    - knot_wire_next_label
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_dname_unpack(uint8_t *dst, const knot_dname_t *src,\n
      \                     size_t maxlen, const uint8_t *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_alnum
      Src: /src/knot-dns/src/libknot/dname.c:251,1
    - Dst: is_punct
      Src: /src/knot-dns/src/libknot/dname.c:257,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:309,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/dname.c:317,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 3
    argNames:
    - dst
    - name
    - maxlen
    argTypes:
    - char*
    - knot_dname_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 321
    functionName: knot_dname_to_str
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 34
    functionsReached:
    - is_alnum
    - assert
    - free
    - is_punct
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_dname_to_str(char *dst, const knot_dname_t *name, size_t
      maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/knot-dns/src/libknot/dname.c:405,1
    - Dst: is_digit
      Src: /src/knot-dns/src/libknot/dname.c:408,1
    - Dst: is_digit
      Src: /src/knot-dns/src/libknot/dname.c:409,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/dname.c:457,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 461
    functionName: knot_dname_t *knot_dname_from_str(uint8_t *dst, const char *name,
      size_t maxlen)
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - free
    - is_digit
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_t *knot_dname_from_str(uint8_t *dst, const char
      *name, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libknot/dname.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: knot_dname_to_lower
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 14
    functionsReached:
    - knot_tolower
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_to_lower(knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libknot/dname.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - name
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: knot_dname_copy_lower
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - knot_tolower
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_copy_lower(knot_dname_t *dst, const knot_dname_t
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/dname.c:507,1
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/dname.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: knot_dname_size
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 32
    functionsReached:
    - knot_wire_is_pointer
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_size(const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_seek_label
      Src: /src/knot-dns/src/libknot/dname.c:530,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/dname.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - pkt
    argTypes:
    - knot_dname_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 540
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 540
    functionName: knot_dname_realsize
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - knot_wire_seek_label
    - knot_wire_next_label
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_realsize(const knot_dname_t *name, const uint8_t
      *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: label_is_equal
      Src: /src/knot-dns/src/libknot/dname.c:558,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:565,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 571
    functionName: knot_dname_matched_labels
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - knot_dname_next_label
    - label_is_equal
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_matched_labels(const knot_dname_t *d1, const knot_dname_t
      *d2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/dname.c:596,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:604,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:606,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:612,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 619
    functionName: "knot_dname_t *knot_dname_replace_suffix(const knot_dname_t *name,
      unsigned labels,\n                                        const knot_dname_t
      *suffix, knot_mm_t *mm)"
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - knot_dname_next_label
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_dname_t *knot_dname_replace_suffix(const knot_dname_t
      *name, unsigned labels,\n                                        const knot_dname_t
      *suffix, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/dname.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - mm
    argTypes:
    - knot_dname_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 629
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 629
    functionName: knot_dname_free
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 37
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_free(knot_dname_t *name, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:646,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: knot_dname_cmp
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_cmp(const knot_dname_t *d1, const knot_dname_t
      *d2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: label_is_equal
      Src: /src/knot-dns/src/libknot/dname.c:675,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:676,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - d1
    - d2
    - no_case
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - bool
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: dname_is_equal
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 35
    functionsReached:
    - knot_dname_next_label
    - label_is_equal
    linkageType: ''
    returnType: bool
    signature: bool dname_is_equal(const knot_dname_t *d1, const knot_dname_t *d2,
      bool no_case)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dname_is_equal
      Src: /src/knot-dns/src/libknot/dname.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: knot_dname_is_equal
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 35
    functionsReached:
    - dname_is_equal
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_is_equal(const knot_dname_t *d1, const knot_dname_t
      *d2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dname_is_equal
      Src: /src/knot-dns/src/libknot/dname.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: knot_dname_is_case_equal
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 5
    functionsReached:
    - dname_is_equal
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_is_case_equal(const knot_dname_t *d1, const knot_dname_t
      *d2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/knot-dns/src/libknot/dname.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 707
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 707
    functionName: knot_dname_with_null
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 2
    functionsReached:
    - strnlen
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_with_null(const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - name
    - nlabels
    argTypes:
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 731
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 731
    functionName: knot_dname_prefixlen
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 1
    functionsReached:
    - knot_dname_next_label
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_prefixlen(const uint8_t *name, unsigned nlabels)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:743,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/dname.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - pkt
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 751
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 751
    functionName: knot_dname_labels
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 5
    functionsReached:
    - knot_wire_next_label
    - knot_dname_next_label
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_labels(const uint8_t *name, const uint8_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:766,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/dname.c:771,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/dname.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - src
    - storage
    argTypes:
    - knot_dname_t*
    - knot_dname_storage_t
    constantsTouched: []
    func_position:
      end: 780
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 780
    functionName: knot_dname_lf
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_dname_lf(const knot_dname_t *src, knot_dname_storage_t
      storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/dname.c:795,1
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/libknot/dname.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - bailiwick
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 799
    functionName: knot_dname_in_bailiwick
    functionSourceFile: /src/knot-dns/src/libknot/dname.c
    functionUses: 10
    functionsReached:
    - knot_dname_next_label
    - knot_dname_is_equal
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_in_bailiwick(const knot_dname_t *name, const knot_dname_t
      *bailiwick)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:32,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:34,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/wire.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: knot_wire_read_u16
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_read_u16(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:47,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:49,1
    - Dst: be32toh
      Src: /src/knot-dns/src/libknot/wire.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: knot_wire_read_u32
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 3
    functionsReached:
    - memcpy
    - assert
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_wire_read_u32(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:62,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:64,1
    - Dst: be64toh
      Src: /src/knot-dns/src/libknot/wire.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: knot_wire_read_u48
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t knot_wire_read_u48(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:77,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:79,1
    - Dst: be64toh
      Src: /src/knot-dns/src/libknot/wire.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: knot_wire_read_u64
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 4
    functionsReached:
    - memcpy
    - assert
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t knot_wire_read_u64(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:93,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - data
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: knot_wire_write_u16
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 7
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_write_u16(uint8_t *pos, uint16_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:108,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - data
    argTypes:
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: knot_wire_write_u32
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_write_u32(uint8_t *pos, uint32_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:123,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - data
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: knot_wire_write_u48
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 3
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_write_u48(uint8_t *pos, uint64_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/wire.h:138,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/wire.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pos
    - data
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: knot_wire_write_u64
    functionSourceFile: /src/knot-dns/src/libknot/wire.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_write_u64(uint8_t *pos, uint64_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rrs
    argTypes:
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: knot_rdataset_init
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void knot_rdataset_init(knot_rdataset_t *rrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.h:60,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/libknot/rdataset.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: knot_rdataset_next
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.h
    functionUses: 24
    functionsReached:
    - knot_rdata_size
    - assert
    linkageType: ''
    returnType: knot_rdata_t
    signature: knot_rdata_t *knot_rdataset_next(knot_rdata_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/libknot/rdataset.h:217,1
    - Dst: knot_rdataset_subtract
      Src: /src/knot-dns/src/libknot/rdataset.h:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rrs
    - rr
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdata_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: knot_rdataset_remove
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.h
    functionUses: 1
    functionsReached:
    - knot_rdata_size
    - knot_rdataset_subtract
    linkageType: ''
    returnType: int
    signature: "int knot_rdataset_remove(knot_rdataset_t *rrs, const knot_rdata_t
      *rr,\n                                       knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:26,1
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/libknot/cookies.c:27,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:31,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/cookies.c:32,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/cookies.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - out
    - params
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_params_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 39
    functionName: knot_edns_cookie_client_generate
    functionSourceFile: /src/knot-dns/src/libknot/cookies.c
    functionUses: 0
    functionsReached:
    - SipHash24_Update
    - assert
    - memcpy
    - SipHash24_Init
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_client_generate(knot_edns_cookie_t *out,\n
      \                                    const knot_edns_cookie_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:54,1
    - Dst: const_time_memcmp
      Src: /src/knot-dns/src/libknot/cookies.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_params_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: knot_edns_cookie_client_check
    functionSourceFile: /src/knot-dns/src/libknot/cookies.c
    functionUses: 0
    functionsReached:
    - const_time_memcmp
    - assert
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_client_check(const knot_edns_cookie_t *cc,\n
      \                                 const knot_edns_cookie_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:68,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:78,1
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/libknot/cookies.c:79,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/cookies.c:81,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/cookies.c:82,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/cookies.c:86,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/cookies.c:87,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/cookies.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - out
    - cc
    - params
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - knot_edns_cookie_params_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: cookie_server_generate
    functionSourceFile: /src/knot-dns/src/libknot/cookies.c
    functionUses: 1
    functionsReached:
    - SipHash24_Update
    - assert
    - memcpy
    - SipHash24_Init
    linkageType: ''
    returnType: int
    signature: "int cookie_server_generate(knot_edns_cookie_t *out,\n                                  const
      knot_edns_cookie_t *cc,\n                                  const knot_edns_cookie_params_t
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/cookies.c:113,1
    - Dst: cookie_server_generate
      Src: /src/knot-dns/src/libknot/cookies.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - out
    - cc
    - params
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - knot_edns_cookie_params_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: knot_edns_cookie_server_generate
    functionSourceFile: /src/knot-dns/src/libknot/cookies.c
    functionUses: 1
    functionsReached:
    - memcpy
    - cookie_server_generate
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_server_generate(knot_edns_cookie_t *out,\n
      \                                    const knot_edns_cookie_t *cc,\n                                     const
      knot_edns_cookie_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/cookies.c:129,1
    - Dst: be32toh
      Src: /src/knot-dns/src/libknot/cookies.c:130,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/cookies.c:140,1
    - Dst: const_time_memcmp
      Src: /src/knot-dns/src/libknot/cookies.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - cc
    - params
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - knot_edns_cookie_params_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 159
    functionName: knot_edns_cookie_server_check
    functionSourceFile: /src/knot-dns/src/libknot/cookies.c
    functionUses: 1
    functionsReached:
    - memcpy
    - const_time_memcmp
    - be32toh
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_server_check(const knot_edns_cookie_t *sc,\n
      \                                 const knot_edns_cookie_t *cc,\n                                  const
      knot_edns_cookie_params_t *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:96,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - str
    argTypes:
    - rrset_dump_params_t*
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: dump_string
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void dump_string(rrset_dump_params_t *p, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - str
    - num
    argTypes:
    - rrset_dump_params_t*
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: dump_str_uint
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void dump_str_uint(rrset_dump_params_t *p, const char *str, uint64_t
      num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - num
    argTypes:
    - rrset_dump_params_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: dump_uint
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_str_uint
    linkageType: ''
    returnType: void
    signature: void dump_uint(rrset_dump_params_t *p, uint64_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:140,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: wire_num8_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_uint
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_num8_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:155,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrset-dump.c:157,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: wire_num16_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_uint
    - knot_wire_read_u16
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_num16_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:172,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrset-dump.c:174,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: wire_num32_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u32
    - dump_uint
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_num32_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:189,1
    - Dst: knot_wire_read_u48
      Src: /src/knot-dns/src/libknot/rrset-dump.c:191,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: wire_num48_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_uint
    - knot_wire_read_u48
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_num48_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:207,1
    - Dst: FILL_IN_INPUT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:209,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/rrset-dump.c:212,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: wire_ipv4_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - knot_inet_ntop
    - strlen
    - FILL_IN_INPUT
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_ipv4_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:234,1
    - Dst: FILL_IN_INPUT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:236,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/rrset-dump.c:239,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: wire_ipv6_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - knot_inet_ntop
    - strlen
    - FILL_IN_INPUT
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_ipv6_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:262,1
    - Dst: FILL_IN_INPUT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:264,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: wire_type_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - FILL_IN_INPUT
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_type_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: hex_encode
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hex_encode(const uint8_t  *in,\n                      const uint32_t
      in_len,\n                      uint8_t        *out,\n                      const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/rrset-dump.c:309,1
    - Dst: hex_encode
      Src: /src/knot-dns/src/libknot/rrset-dump.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: hex_encode_alloc
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 2
    functionsReached:
    - hex_encode
    - malloc
    linkageType: ''
    returnType: int
    signature: "int hex_encode_alloc(const uint8_t  *in,\n                            const
      uint32_t in_len,\n                            uint8_t        **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: num48_encode
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int num48_encode(const uint8_t  *in,\n                        const
      uint32_t in_len,\n                        uint8_t        *out,\n                        const
      uint32_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/knot-dns/src/libknot/rrset-dump.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - rrset_dump_params_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: wire_data_to_hex
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - hex_encode
    linkageType: ''
    returnType: void
    signature: void wire_data_to_hex(rrset_dump_params_t *p, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc
      Src: /src/knot-dns/src/libknot/rrset-dump.c:371,1
    - Dst: enc_alloc
      Src: /src/knot-dns/src/libknot/rrset-dump.c:383,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:390,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:392,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:402,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:408,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - p
    - enc
    - enc_alloc
    argTypes:
    - rrset_dump_params_t*
    - encode_t
    - encode_alloc_t
    constantsTouched: []
    func_position:
      end: 424
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 424
    functionName: wire_data_encode_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - enc
    - free
    - dump_string
    - memcpy
    - enc_alloc
    linkageType: ''
    returnType: void
    signature: "void wire_data_encode_to_str(rrset_dump_params_t *p,\n                                    encode_t
      enc, encode_alloc_t enc_alloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:437,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrset-dump.c:445,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrset-dump.c:448,1
    - Dst: wire_num8_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:459,1
    - Dst: wire_num16_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:462,1
    - Dst: wire_num32_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:465,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:473,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - p
    - enc
    - len_len
    - print_len
    - empty_str
    argTypes:
    - rrset_dump_params_t*
    - encode_t
    - size_t
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 498
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 498
    functionName: wire_len_data_encode_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_num8_to_str
    - CHECK_INMAX
    - knot_wire_read_u32
    - wire_num32_to_str
    - dump_string
    - wire_num16_to_str
    - knot_wire_read_u16
    linkageType: ''
    returnType: void
    signature: "void wire_len_data_encode_to_str(rrset_dump_params_t *p,\n                                        encode_t
      \           enc,\n                                        const size_t        len_len,\n
      \                                       const bool          print_len,\n                                        const
      char          *empty_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:509,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrset-dump.c:517,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrset-dump.c:526,1
    - Dst: wire_num16_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:527,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:532,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - p
    - len_len
    - print_len
    argTypes:
    - rrset_dump_params_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 557
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 557
    functionName: wire_data_omit
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_INMAX
    - dump_string
    - memcpy
    - wire_num16_to_str
    - knot_wire_read_u16
    linkageType: ''
    returnType: void
    signature: "void wire_data_omit(rrset_dump_params_t *p,\n                           const
      size_t        len_len,\n                           const bool          print_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keytag
      Src: /src/knot-dns/src/libknot/rrset-dump.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: wire_dnskey_to_tag
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dnssec_keytag
    linkageType: ''
    returnType: void
    signature: void wire_dnskey_to_tag(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:637,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:642,1
    - Dst: is_print
      Src: /src/knot-dns/src/libknot/rrset-dump.c:650,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:653,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:657,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:684,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - p
    - in_len
    - prefix
    - quote
    - alpn_mode
    argTypes:
    - rrset_dump_params_t*
    - size_t
    - char*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 693
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 693
    functionName: wire_text_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    - is_print
    linkageType: ''
    returnType: void
    signature: "void wire_text_to_str(rrset_dump_params_t *p, size_t in_len,\n                             const
      char *prefix, bool quote, bool alpn_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:740,1
    - Dst: ntohl
      Src: /src/knot-dns/src/libknot/rrset-dump.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 746
    functionName: wire_time_to_val
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ntohl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t wire_time_to_val(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:757,1
    - Dst: FILL_IN_INPUT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:759,1
    - Dst: knot_time_print_human
      Src: /src/knot-dns/src/libknot/rrset-dump.c:763,1
    - Dst: ntohl
      Src: /src/knot-dns/src/libknot/rrset-dump.c:763,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:767,1
    - Dst: ntohl
      Src: /src/knot-dns/src/libknot/rrset-dump.c:767,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:815,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:820,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 840
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 840
    functionName: wire_ttl_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - CHECK_INMAX
    - snprintf
    - ntohl
    - knot_rrtype_to_string
    - FILL_IN_INPUT
    - knot_time_print_human
    linkageType: ''
    returnType: void
    signature: void wire_ttl_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrset-dump.c:846,1
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:849,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:858,1
    - Dst: rrset_dump_params_t*::style::ascii_to_idn
      Src: /src/knot-dns/src/libknot/rrset-dump.c:861,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 875
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 875
    functionName: wire_dname_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_INMAX
    - free
    - knot_dname_size
    - rrset_dump_params_t*::style::ascii_to_idn
    linkageType: ''
    returnType: void
    signature: void wire_dname_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:887,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:899,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:904,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/rrset-dump.c:913,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:920,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/rrset-dump.c:926,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:930,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/rrset-dump.c:934,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:941,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/rrset-dump.c:947,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/rrset-dump.c:951,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:964,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:972,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:984,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:990,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:992,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:998,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1009,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1012,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1014,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1016,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1026,1
    - Dst: is_print
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1042,1
    - Dst: knot_edns_client_subnet_get_addr
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1055,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1057,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1060,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1067,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1070,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1073,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1086,1
    - Dst: all_print
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1090,1
    - Dst: wire_text_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1093,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1095,1
    - Dst: wire_ecs_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1099,1
    - Dst: wire_num32_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1104,1
    - Dst: knot_time_print_human
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1108,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1109,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1112,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1117,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1119,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1128,1
    - Dst: wire_num16_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1130,1
    - Dst: dump_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1134,1
    - Dst: all_zero
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1138,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1139,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1144,1
    - Dst: wire_dname_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1147,1
    - Dst: wire_num16_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1150,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1154,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1155,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1157,1
    - Dst: wire_data_to_hex
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1165,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1168,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 173
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1171
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 1171
    functionName: wire_apl_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - wire_data_to_hex
    - wire_dname_to_str
    - all_print
    - wire_num32_to_str
    - dump_uint
    - knot_inet_ntop
    - is_print
    - memset
    - wire_num16_to_str
    - knot_time_print_human
    - assert
    - strlen
    - knot_lookup_by_id
    - all_zero
    - dump_string
    - wire_text_to_str
    - wire_ecs_to_str
    - dump_str_uint
    - knot_edns_client_subnet_get_addr
    - knot_wire_read_u16
    - CHECK_INMAX
    - sockaddr_tostr
    - memcpy
    linkageType: ''
    returnType: void
    signature: void wire_apl_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1184,1
    - Dst: dump_str_uint
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1186,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1198
    functionName: wire_ednsopt_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    - knot_lookup_by_id
    - dump_str_uint
    linkageType: ''
    returnType: void
    signature: void wire_ednsopt_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1205,1
    - Dst: wire_unknown_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1210,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1229,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1230,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1304
    functionName: wire_loc_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - snprintf
    - wire_ctx_init_const
    - wire_ctx_offset
    - wire_unknown_to_str
    linkageType: ''
    returnType: void
    signature: void wire_loc_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_num8_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1317,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1335,1
    - Dst: wire_ipv4_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1338,1
    - Dst: wire_ipv6_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1341,1
    - Dst: wire_dname_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1344,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1354,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1364
    functionName: wire_gateway_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_num8_to_str
    - wire_ipv4_to_str
    - wire_dname_to_str
    - wire_ipv6_to_str
    - dump_string
    linkageType: ''
    returnType: void
    signature: void wire_gateway_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1392
    functionName: wire_l64_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    linkageType: ''
    returnType: void
    signature: void wire_l64_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1416
    functionName: wire_eui_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    linkageType: ''
    returnType: void
    signature: void wire_eui_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1426,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1429,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1433,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1435,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1448
    functionName: wire_tsig_rcode_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    - knot_wire_read_u16
    - knot_lookup_by_id
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_tsig_rcode_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1453,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1456,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1466
    functionName: wire_svcb_paramkey_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_string
    - knot_lookup_by_id
    linkageType: ''
    returnType: void
    signature: void wire_svcb_paramkey_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1492,1
    - Dst: wire_text_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - quote
    - alpn_mode
    argTypes:
    - rrset_dump_params_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1497
      start: 1490
    functionDepth: 3
    functionLinenumber: 1490
    functionLinenumberEnd: 1497
    functionName: wire_text_to_str1
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_text_to_str
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_text_to_str1(rrset_dump_params_t *p, bool quote, bool alpn_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_text_to_str1
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 4
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: wire_text_to_str_alpn
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_text_to_str1
    linkageType: ''
    returnType: void
    signature: void wire_text_to_str_alpn(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - ech_len
    argTypes:
    - rrset_dump_params_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1519
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1519
    functionName: wire_ech_to_base64
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - CHECK_INMAX
    linkageType: ''
    returnType: void
    signature: void wire_ech_to_base64(rrset_dump_params_t *p, unsigned ech_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_svcb_paramkey_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1531,1
    - Dst: CHECK_INMAX
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1535,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1538,1
    - Dst: wire_value_list_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1543,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1546,1
    - Dst: dump_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1549,1
    - Dst: wire_num16_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1559,1
    - Dst: wire_value_list_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1563,1
    - Dst: wire_ech_to_base64
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1566,1
    - Dst: wire_value_list_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1569,1
    - Dst: wire_text_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1572,1
    - Dst: wire_text_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - p
    argTypes:
    - rrset_dump_params_t*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1521
    functionDepth: 4
    functionLinenumber: 1521
    functionLinenumberEnd: 1581
    functionName: wire_svcparam_to_str
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - wire_svcb_paramkey_to_str
    - wire_ech_to_base64
    - CHECK_INMAX
    - wire_num16_to_str
    - dump_string
    - wire_text_to_str
    - wire_value_list_to_str
    linkageType: ''
    returnType: void
    signature: void wire_svcparam_to_str(rrset_dump_params_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1610,1
    - Dst: ntohs
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - rdata
    - rdata_len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1633
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1633
    functionName: dnskey_len
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ntohs
    linkageType: ''
    returnType: size_t
    signature: "size_t dnskey_len(const uint8_t *rdata,\n                         const
      size_t  rdata_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1640,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1641,1
    - Dst: SNPRINTF_CHECK
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1666
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1666
    functionName: ber_to_oid
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - assert
    - SNPRINTF_CHECK
    linkageType: ''
    returnType: int
    signature: "int ber_to_oid(char *dst,\n                      size_t dst_len,\n
      \                     const uint8_t *src,\n                      const size_t
      src_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_keytag
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1685,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1687,1
    - Dst: ber_to_oid
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1695,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1696,1
    - Dst: knot_dname_wire_check
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1702,1
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1703,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1704,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - rdata
    - rdata_len
    - out
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1723
      start: 1668
    functionDepth: 3
    functionLinenumber: 1668
    functionLinenumberEnd: 1723
    functionName: dnskey_info
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - ber_to_oid
    - knot_lookup_by_id
    - knot_dname_to_str
    - snprintf
    - dnssec_keytag
    - knot_dname_wire_check
    linkageType: ''
    returnType: void
    signature: "void dnskey_info(const uint8_t *rdata,\n                        const
      size_t  rdata_len,\n                        char          *out,\n                        const
      size_t  out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1811
    functionName: dump_unknown
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_unknown(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1818
    functionName: dump_a
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_a(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1825
    functionName: dump_ns
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_ns(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: COMMENT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1833,1
    - Dst: COMMENT_TIME
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1834,1
    - Dst: COMMENT_TIME
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1835,1
    - Dst: COMMENT_TIME
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1836,1
    - Dst: COMMENT_TIME
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1849
    functionName: dump_soa
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - COMMENT
    - COMMENT_TIME
    linkageType: ''
    returnType: int
    signature: int dump_soa(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1857
    functionName: dump_hinfo
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_hinfo(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1865
    functionName: dump_minfo
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_minfo(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1873
    functionName: dump_mx
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_mx(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1886
    functionName: dump_txt
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_txt(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnskey_info
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1892,1
    - Dst: COMMENT
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1888
    functionDepth: 4
    functionLinenumber: 1888
    functionLinenumberEnd: 1918
    functionName: dump_dnskey
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - COMMENT
    - dnskey_info
    linkageType: ''
    returnType: int
    signature: int dump_dnskey(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1925
    functionName: dump_aaaa
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_aaaa(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1932
    functionName: dump_loc
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_loc(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1942
    functionName: dump_srv
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_srv(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1954
    functionName: dump_naptr
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_naptr(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1973
    functionName: dump_cert
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_cert(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_unknown
      Src: /src/knot-dns/src/libknot/rrset-dump.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 2001
    functionName: dump_opt
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - dump_unknown
    linkageType: ''
    returnType: int
    signature: int dump_opt(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2014
    functionName: dump_apl
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_apl(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2024
    functionName: dump_ds
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_ds(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2033
    functionName: dump_sshfp
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_sshfp(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2047
    functionName: dump_ipseckey
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_ipseckey(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2076
    functionName: dump_rrsig
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_rrsig(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2084
    functionName: dump_nsec
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_nsec(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2099
    functionName: dump_dhcid
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_dhcid(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2121
    functionName: dump_nsec3
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_nsec3(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2131
    functionName: dump_nsec3param
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_nsec3param(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2141
    functionName: dump_tlsa
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_tlsa(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2150
    functionName: dump_csync
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_csync(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2160
    functionName: dump_zonemd
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_zonemd(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2168
    functionName: dump_l64
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_l64(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2176
    functionName: dump_l32
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_l32(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2183
    functionName: dump_eui
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_eui(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2215
    functionName: dump_tsig
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_tsig(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2224
    functionName: dump_uri
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_uri(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2233
    functionName: dump_caa
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_caa(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2257
    functionName: dump_svcb
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_svcb(DUMP_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_a
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2263,1
    - Dst: dump_ns
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2268,1
    - Dst: dump_soa
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2270,1
    - Dst: dump_hinfo
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2272,1
    - Dst: dump_minfo
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2275,1
    - Dst: dump_mx
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2281,1
    - Dst: dump_txt
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2285,1
    - Dst: dump_dnskey
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2289,1
    - Dst: dump_aaaa
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2291,1
    - Dst: dump_loc
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2293,1
    - Dst: dump_srv
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2295,1
    - Dst: dump_naptr
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2297,1
    - Dst: dump_cert
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2299,1
    - Dst: dump_opt
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2301,1
    - Dst: dump_apl
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2303,1
    - Dst: dump_ds
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2306,1
    - Dst: dump_sshfp
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2308,1
    - Dst: dump_ipseckey
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2310,1
    - Dst: dump_rrsig
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2312,1
    - Dst: dump_nsec
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2314,1
    - Dst: dump_dhcid
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2317,1
    - Dst: dump_nsec3
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2319,1
    - Dst: dump_nsec3param
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2321,1
    - Dst: dump_tlsa
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2324,1
    - Dst: dump_csync
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2326,1
    - Dst: dump_zonemd
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2328,1
    - Dst: dump_l64
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2331,1
    - Dst: dump_l32
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2333,1
    - Dst: dump_eui
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2336,1
    - Dst: dump_tsig
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2338,1
    - Dst: dump_uri
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2340,1
    - Dst: dump_caa
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2342,1
    - Dst: dump_svcb
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2345,1
    - Dst: dump_unknown
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 2
    argNames:
    - p
    - type
    argTypes:
    - rrset_dump_params_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 2349
      start: 2259
    functionDepth: 5
    functionLinenumber: 2259
    functionLinenumberEnd: 2349
    functionName: txt_dump_data
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 4
    functionsReached:
    - dump_uri
    - dump_tsig
    - dump_soa
    - dump_l64
    - dump_apl
    - dump_a
    - dump_sshfp
    - dump_opt
    - dump_mx
    - dump_cert
    - dump_nsec
    - dump_srv
    - dump_tlsa
    - dump_naptr
    - dump_csync
    - dump_ns
    - dump_svcb
    - dump_zonemd
    - dump_eui
    - dump_unknown
    - dump_ipseckey
    - dump_nsec3param
    - dump_loc
    - dump_minfo
    - dump_ds
    - dump_nsec3
    - dump_l32
    - dump_txt
    - dump_aaaa
    - dump_rrsig
    - dump_dnskey
    - dump_hinfo
    - dump_dhcid
    - dump_caa
    linkageType: ''
    returnType: int
    signature: int txt_dump_data(rrset_dump_params_t *p, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2362,1
    - Dst: dump_unknown
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2386,1
    - Dst: txt_dump_data
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - rrset
    - pos
    - dst
    - maxlen
    - style
    argTypes:
    - knot_rrset_t*
    - size_t
    - char*
    - size_t
    - knot_dump_style_t*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2351
    functionDepth: 6
    functionLinenumber: 2351
    functionLinenumberEnd: 2398
    functionName: knot_rrset_txt_dump_data
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 4
    functionsReached:
    - knot_rdataset_at
    - txt_dump_data
    - dump_unknown
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_txt_dump_data(const knot_rrset_t      *rrset,\n
      \                            const size_t            pos,\n                             char
      \                   *dst,\n                             const size_t            maxlen,\n
      \                            const knot_dump_style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2411,1
    - Dst: dump_unknown
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2438,1
    - Dst: txt_dump_data
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - rrset
    - hdr_rcode
    - dst
    - maxlen
    - style
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - char*
    - size_t
    - knot_dump_style_t*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2400
    functionDepth: 6
    functionLinenumber: 2400
    functionLinenumberEnd: 2450
    functionName: knot_rrset_txt_dump_edns
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_at
    - txt_dump_data
    - dump_unknown
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_txt_dump_edns(const knot_rrset_t      *rrset,\n
      \                            const uint16_t          hdr_rcode,\n                             char
      \                   *dst,\n                             const size_t            maxlen,\n
      \                            const knot_dump_style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dump_style_t*::ascii_to_idn
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2470,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2473,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2474,1
    - Dst: SNPRINTF_CHECK
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2475,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2484,1
    - Dst: knot_time_print_human
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2487,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2490,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2493,1
    - Dst: SNPRINTF_CHECK
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2495,1
    - Dst: knot_rrclass_to_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2501,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2504,1
    - Dst: SNPRINTF_CHECK
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2505,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2511,1
    - Dst: knot_rrtype_to_string
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2514,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2518,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2520,1
    - Dst: SNPRINTF_CHECK
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2522,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 5
    argNames:
    - rrset
    - ttl
    - dst
    - maxlen
    - style
    argTypes:
    - knot_rrset_t*
    - uint32_t
    - char*
    - size_t
    - knot_dump_style_t*
    constantsTouched: []
    func_position:
      end: 2526
      start: 2452
    functionDepth: 2
    functionLinenumber: 2452
    functionLinenumberEnd: 2526
    functionName: knot_rrset_txt_dump_header
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 1
    functionsReached:
    - free
    - knot_rrclass_to_string
    - snprintf
    - knot_rrtype_to_string
    - SNPRINTF_CHECK
    - knot_time_print_human
    - knot_dump_style_t*::ascii_to_idn
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_txt_dump_header(const knot_rrset_t      *rrset,\n
      \                              const uint32_t          ttl,\n                               char
      \                   *dst,\n                               const size_t            maxlen,\n
      \                              const knot_dump_style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2552,1
    - Dst: knot_rrset_txt_dump_data
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2568,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2580,1
    - Dst: COL_RST
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2580,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2591,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - rrset
    - dst
    - maxlen
    - style
    argTypes:
    - knot_rrset_t*
    - char*
    - size_t
    - knot_dump_style_t*
    constantsTouched: []
    func_position:
      end: 2595
      start: 2528
    functionDepth: 7
    functionLinenumber: 2528
    functionLinenumberEnd: 2595
    functionName: rrset_txt_dump
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 4
    functionsReached:
    - memcpy
    - knot_rrset_txt_dump_data
    - COL_RST
    - knot_rdataset_next
    linkageType: ''
    returnType: int
    signature: "int rrset_txt_dump(const knot_rrset_t      *rrset,\n                          char
      \                   *dst,\n                          const size_t            maxlen,\n
      \                         const knot_dump_style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/rrset-dump.c:2623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - rrset
    - dst
    - dst_size
    - style
    argTypes:
    - knot_rrset_t*
    - char**
    - size_t*
    - knot_dump_style_t*
    constantsTouched: []
    func_position:
      end: 2627
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2627
    functionName: knot_rrset_txt_dump
    functionSourceFile: /src/knot-dns/src/libknot/rrset-dump.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_txt_dump(const knot_rrset_t      *rrset,\n                        char
      \                   **dst,\n                        size_t                  *dst_size,\n
      \                       const knot_dump_style_t *style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/libknot/dname.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: knot_dname_to_str_alloc
    functionSourceFile: /src/knot-dns/src/libknot/dname.h
    functionUses: 5
    functionsReached:
    - knot_dname_to_str
    linkageType: ''
    returnType: _mustcheck_
    signature: _mustcheck_ *knot_dname_to_str_alloc(const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/libknot/dname.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: knot_dname_t *knot_dname_from_str_alloc(const char *name)
    functionSourceFile: /src/knot-dns/src/libknot/dname.h
    functionUses: 0
    functionsReached:
    - knot_dname_from_str
    linkageType: ''
    returnType: _mustcheck_
    signature: _mustcheck_ knot_dname_t *knot_dname_from_str_alloc(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: knot_dname_is_wildcard
    functionSourceFile: /src/knot-dns/src/libknot/dname.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_dname_is_wildcard(const knot_dname_t *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/tsig.c:23,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/tsig.c:26,1
    - Dst: dnssec_binary_free
      Src: /src/knot-dns/src/libknot/tsig.c:28,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/tsig.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: knot_tsig_key_deinit
    functionSourceFile: /src/knot-dns/src/libknot/tsig.c
    functionUses: 7
    functionsReached:
    - dnssec_binary_free
    - knot_dname_free
    - memzero
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_key_deinit(knot_tsig_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_tsig_algorithm_from_name
      Src: /src/knot-dns/src/libknot/tsig.c:43,1
    - Dst: knot_dname_from_str_alloc
      Src: /src/knot-dns/src/libknot/tsig.c:49,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/libknot/tsig.c:53,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/tsig.c:57,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/tsig.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - key
    - algorithm_name
    - name
    - secret_b64
    argTypes:
    - knot_tsig_key_t*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: knot_tsig_key_init
    functionSourceFile: /src/knot-dns/src/libknot/tsig.c
    functionUses: 0
    functionsReached:
    - dnssec_tsig_algorithm_from_name
    - strlen
    - knot_dname_free
    - knot_dname_from_str_alloc
    - knot_dname_to_lower
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_key_init(knot_tsig_key_t *key, const char *algorithm_name,\n
      \                      const char *name, const char *secret_b64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/tsig.c:100,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig.c:101,1
    - Dst: strchr
      Src: /src/knot-dns/src/libknot/tsig.c:107,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/tsig.c:118,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - knot_tsig_key_t*
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: knot_tsig_key_init_str
    functionSourceFile: /src/knot-dns/src/libknot/tsig.c
    functionUses: 3
    functionsReached:
    - free
    - memzero
    - strchr
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_key_init_str(knot_tsig_key_t *key, const char *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/knot-dns/src/libknot/tsig.c:131,1
    - Dst: fclose
      Src: /src/knot-dns/src/libknot/tsig.c:140,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/tsig.c:148,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/tsig.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - filename
    argTypes:
    - knot_tsig_key_t*
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 152
    functionName: knot_tsig_key_init_file
    functionSourceFile: /src/knot-dns/src/libknot/tsig.c
    functionUses: 2
    functionsReached:
    - fopen
    - free
    - fclose
    - memzero
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_key_init_file(knot_tsig_key_t *key, const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/libknot/tsig.c:164,1
    - Dst: dnssec_binary_dup
      Src: /src/knot-dns/src/libknot/tsig.c:169,1
    - Dst: knot_tsig_key_deinit
      Src: /src/knot-dns/src/libknot/tsig.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - knot_tsig_key_t*
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: knot_tsig_key_copy
    functionSourceFile: /src/knot-dns/src/libknot/tsig.c
    functionUses: 1
    functionsReached:
    - dnssec_binary_dup
    - knot_dname_copy
    - knot_tsig_key_deinit
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_key_copy(knot_tsig_key_t *dst, const knot_tsig_key_t
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdata.h:43,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdata.h:46,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rdata.h:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - rdata
    - len
    - data
    argTypes:
    - knot_rdata_t*
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: knot_rdata_init
    functionSourceFile: /src/knot-dns/src/libknot/rdata.h
    functionUses: 4
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_rdata_init(knot_rdata_t *rdata, uint16_t len, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: knot_rdata_size
    functionSourceFile: /src/knot-dns/src/libknot/rdata.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t knot_rdata_size(uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdata.h:78,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdata.h:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - knot_rdata_t*
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: knot_rdata_cmp
    functionSourceFile: /src/knot-dns/src/libknot/rdata.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int knot_rdata_cmp(const knot_rdata_t *rdata1, const knot_rdata_t *rdata2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:16,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:17,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:18,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/libknot/rdataset.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rrs
    - pos
    argTypes:
    - knot_rdataset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: rr_seek
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 1
    functionsReached:
    - knot_rdata_size
    - assert
    linkageType: ''
    returnType: knot_rdata_t
    signature: knot_rdata_t *rr_seek(const knot_rdataset_t *rrs, uint16_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/src/libknot/rdataset.c:32,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rrs
    - rr
    argTypes:
    - knot_rdataset_t*
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: find_rr_pos
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_next
    - knot_rdata_cmp
    linkageType: ''
    returnType: int
    signature: int find_rr_pos(const knot_rdataset_t *rrs, const knot_rdata_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:44,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:45,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:47,1
    - Dst: knot_rdata_size
      Src: /src/knot-dns/src/libknot/rdataset.c:51,1
    - Dst: mm_realloc
      Src: /src/knot-dns/src/libknot/rdataset.c:58,1
    - Dst: memmove
      Src: /src/knot-dns/src/libknot/rdataset.c:68,1
    - Dst: knot_rdata_init
      Src: /src/knot-dns/src/libknot/rdataset.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - rrs
    - rr
    - ins_pos
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdata_t*
    - knot_rdata_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: add_rr_at
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - knot_rdata_size
    - mm_realloc
    - knot_rdata_init
    linkageType: ''
    returnType: int
    signature: "int add_rr_at(knot_rdataset_t *rrs, const knot_rdata_t *rr, knot_rdata_t
      *ins_pos,\n                     knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:81,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:82,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:83,1
    - Dst: rr_seek
      Src: /src/knot-dns/src/libknot/rdataset.c:85,1
    - Dst: rr_seek
      Src: /src/knot-dns/src/libknot/rdataset.c:86,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:93,1
    - Dst: memmove
      Src: /src/knot-dns/src/libknot/rdataset.c:94,1
    - Dst: mm_realloc
      Src: /src/knot-dns/src/libknot/rdataset.c:98,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/rdataset.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - rrs
    - pos
    - mm
    argTypes:
    - knot_rdataset_t*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 114
    functionName: knot_rdataset_remove_at
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 1
    functionsReached:
    - assert
    - memmove
    - mm_free
    - rr_seek
    - mm_realloc
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_remove_at(knot_rdataset_t *rrs, uint16_t pos,
      knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/rdataset.c:123,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/libknot/rdataset.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rrs
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: knot_rdataset_clear
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 24
    functionsReached:
    - mm_free
    - knot_rdataset_init
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_clear(knot_rdataset_t *rrs, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:138,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/rdataset.c:139,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rdataset.c:143,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dst
    - src
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: knot_rdataset_copy
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 4
    functionsReached:
    - mm_alloc
    - assert
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_copy(knot_rdataset_t *dst, const knot_rdataset_t
      *src, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_seek
      Src: /src/knot-dns/src/libknot/rdataset.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: knot_rdata_t *knot_rdataset_at(const knot_rdataset_t *rrs, uint16_t
      pos)
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 0
    functionsReached:
    - rr_seek
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdata_t *knot_rdataset_at(const knot_rdataset_t *rrs,
      uint16_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rr_seek
      Src: /src/knot-dns/src/libknot/rdataset.c:171,1
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/src/libknot/rdataset.c:172,1
    - Dst: add_rr_at
      Src: /src/knot-dns/src/libknot/rdataset.c:173,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:173,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:179,1
    - Dst: add_rr_at
      Src: /src/knot-dns/src/libknot/rdataset.c:186,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rdataset.c:190,1
    - Dst: add_rr_at
      Src: /src/knot-dns/src/libknot/rdataset.c:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - rrs
    - rr
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdata_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: knot_rdataset_add
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 1
    functionsReached:
    - assert
    - add_rr_at
    - knot_rdataset_next
    - knot_rdata_cmp
    - rr_seek
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_add(knot_rdataset_t *rrs, const knot_rdata_t
      *rr, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_cmp
      Src: /src/knot-dns/src/libknot/rdataset.c:206,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:209,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rrs1
    - rrs2
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: knot_rdataset_eq
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 3
    functionsReached:
    - knot_rdataset_next
    - knot_rdata_cmp
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_eq(const knot_rdataset_t *rrs1, const knot_rdataset_t
      *rrs2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - rrs
    - rr
    argTypes:
    - knot_rdataset_t*
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 237
    functionName: knot_rdataset_member
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 7
    functionsReached:
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_member(const knot_rdataset_t *rrs, const knot_rdata_t
      *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/libknot/rdataset.c:248,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - subset
    - of
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: knot_rdataset_subset
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 3
    functionsReached:
    - knot_rdataset_next
    - knot_rdataset_member
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rdataset_subset(const knot_rdataset_t *subset, const
      knot_rdataset_t *of)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rrs1
    - rrs2
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: knot_rdataset_merge
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 4
    functionsReached:
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rdataset_merge(knot_rdataset_t *rrs1, const knot_rdataset_t
      *rrs2,\n                        knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/libknot/rdataset.c:285,1
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/libknot/rdataset.c:288,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/libknot/rdataset.c:292,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - rrs1
    - rrs2
    - out
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: knot_rdataset_intersect
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 1
    functionsReached:
    - knot_rdataset_clear
    - knot_rdataset_init
    - knot_rdataset_member
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rdataset_intersect(const knot_rdataset_t *rrs1, const
      knot_rdataset_t *rrs2,\n                            knot_rdataset_t *out, knot_mm_t
      *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_member
      Src: /src/knot-dns/src/libknot/rdataset.c:316,1
    - Dst: rr_seek
      Src: /src/knot-dns/src/libknot/rdataset.c:323,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - from
    - what
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 332
    functionName: knot_rdataset_intersect2
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 1
    functionsReached:
    - knot_rdataset_next
    - rr_seek
    - knot_rdataset_member
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rdataset_intersect2(knot_rdataset_t *from, const knot_rdataset_t
      *what,\n                             knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/libknot/rdataset.c:343,1
    - Dst: knot_rdataset_init
      Src: /src/knot-dns/src/libknot/rdataset.c:344,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rdataset.c:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - from
    - what
    - mm
    argTypes:
    - knot_rdataset_t*
    - knot_rdataset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 361
    functionName: knot_rdataset_subtract
    functionSourceFile: /src/knot-dns/src/libknot/rdataset.c
    functionUses: 7
    functionsReached:
    - knot_rdataset_clear
    - knot_rdataset_init
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rdataset_subtract(knot_rdataset_t *from, const knot_rdataset_t
      *what,\n                           knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/libknot/rrset.c:21,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/rrset.c:26,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/rrset.c:28,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/libknot/rrset.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: "knot_rrset_t *knot_rrset_new(const knot_dname_t *owner, uint16_t
      type,\n                             uint16_t rclass, uint32_t ttl, knot_mm_t
      *mm)"
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - knot_rrset_init
    - knot_dname_copy
    - knot_dname_free
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_t *knot_rrset_new(const knot_dname_t *owner, uint16_t
      type,\n                             uint16_t rclass, uint32_t ttl, knot_mm_t
      *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_new
      Src: /src/knot-dns/src/libknot/rrset.c:44,1
    - Dst: knot_rrset_free
      Src: /src/knot-dns/src/libknot/rrset.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: knot_rrset_t *knot_rrset_copy(const knot_rrset_t *src, knot_mm_t
      *mm)
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 0
    functionsReached:
    - knot_rrset_new
    - knot_rrset_free
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_t *knot_rrset_copy(const knot_rrset_t *src, knot_mm_t
      *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/libknot/rrset.c:66,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/rrset.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rrset
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: knot_rrset_free
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 52
    functionsReached:
    - mm_free
    - knot_rrset_clear
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_free(knot_rrset_t *rrset, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/libknot/rrset.c:77,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/rrset.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rrset
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: knot_rrset_clear
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 23
    functionsReached:
    - knot_rdataset_clear
    - knot_dname_free
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_clear(knot_rrset_t *rrset, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdata_init
      Src: /src/knot-dns/src/libknot/rrset.c:92,1
    - Dst: knot_rdataset_add
      Src: /src/knot-dns/src/libknot/rrset.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - rrset
    - data
    - len
    - mm
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: knot_rrset_add_rdata
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 25
    functionsReached:
    - knot_rdataset_add
    - knot_rdata_init
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_add_rdata(knot_rrset_t *rrset, const uint8_t *data,
      uint16_t len,\n                         knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_is_equal
      Src: /src/knot-dns/src/libknot/rrset.c:108,1
    - Dst: knot_rdataset_eq
      Src: /src/knot-dns/src/libknot/rrset.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - r1
    - r2
    - incl_ttl
    argTypes:
    - knot_rrset_t*
    - knot_rrset_t*
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: knot_rrset_equal
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 16
    functionsReached:
    - knot_rdataset_eq
    - knot_dname_is_equal
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_equal(const knot_rrset_t *r1,\n                      const
      knot_rrset_t *r2,\n                      bool incl_ttl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrsig_type_covered
      Src: /src/knot-dns/src/libknot/rrset.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: knot_rrset_is_nsec3rel
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 2
    functionsReached:
    - knot_rrsig_type_covered
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_is_nsec3rel(const knot_rrset_t *rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/libknot/rrset.c:136,1
    - Dst: knot_rrtype_should_be_lowercased
      Src: /src/knot-dns/src/libknot/rrset.c:139,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/src/libknot/rrset.c:143,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/src/libknot/rrset.c:145,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/libknot/rrset.c:164,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrset.c:165,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrset.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 185
    functionName: knot_rrset_rr_to_canonical
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 4
    functionsReached:
    - assert
    - knot_dname_size
    - knot_get_obsolete_rdata_descriptor
    - knot_get_rdata_descriptor
    - knot_rrtype_should_be_lowercased
    - knot_dname_to_lower
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_rr_to_canonical(knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/rrset.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: knot_rrset_size
    functionSourceFile: /src/knot-dns/src/libknot/rrset.c
    functionUses: 7
    functionsReached:
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_rrset_size(const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: lmdb_error_to_knot
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int
    signature: int lmdb_error_to_knot(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - env
    - map_size
    argTypes:
    - MDB_env*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: set_mapsize
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 1
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int set_mapsize(MDB_env *env, size_t map_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dbi_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:89,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - env
    argTypes:
    - struct lmdb_env*
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: dbase_close
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_dbi_close
    - mdb_env_close
    linkageType: ''
    returnType: void
    signature: void dbase_close(struct lmdb_env *env)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:101,1
    - Dst: make_dir
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:104,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:106,1
    - Dst: set_mapsize
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:110,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:112,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:116,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:118,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:119,1
    - Dst: mdb_env_set_maxreaders
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:122,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:124,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:125,1
    - Dst: mdb_env_open
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:147,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:149,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - env
    - opts
    argTypes:
    - struct lmdb_env*
    - struct knot_db_lmdb_opts*
    constantsTouched: []
    func_position:
      end: 157
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 157
    functionName: dbase_open_env
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_env_set_maxdbs
    - make_dir
    - mdb_env_close
    - mdb_env_set_maxreaders
    - set_mapsize
    - lmdb_error_to_knot
    - mdb_env_open
    linkageType: ''
    returnType: int
    signature: int dbase_open_env(struct lmdb_env *env, struct knot_db_lmdb_opts *opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_reader_check
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:171,1
    - Dst: mdb_txn_begin
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:173,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:177,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:178,1
    - Dst: mdb_dbi_open
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:181,1
    - Dst: mdb_txn_abort
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:183,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:184,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:185,1
    - Dst: mdb_txn_commit
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:188,1
    - Dst: mdb_env_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:190,1
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - env
    - opts
    argTypes:
    - struct lmdb_env*
    - struct knot_db_lmdb_opts*
    constantsTouched: []
    func_position:
      end: 195
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 195
    functionName: dbase_open
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_dbi_open
    - mdb_txn_commit
    - mdb_env_close
    - mdb_txn_abort
    - mdb_txn_begin
    - lmdb_error_to_knot
    - mdb_reader_check
    linkageType: ''
    returnType: int
    signature: int dbase_open(struct lmdb_env *env, struct knot_db_lmdb_opts *opts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:203,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:208,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:216,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - db_ptr
    - mm
    - arg
    argTypes:
    - knot_db_t**
    - knot_mm_t*
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 236
    functionName: init
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 444
    functionsReached:
    - mm_alloc
    - mm_free
    - memset
    linkageType: ''
    returnType: int
    signature: int init(knot_db_t **db_ptr, knot_mm_t *mm, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbase_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:243,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: deinit
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 128
    functionsReached:
    - dbase_close
    - mm_free
    linkageType: ''
    returnType: void
    signature: void deinit(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - db
    - txn
    - parent
    - flags
    argTypes:
    - knot_db_t*
    - knot_db_txn_t*
    - knot_db_txn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: knot_db_lmdb_txn_begin
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_db_lmdb_txn_begin(knot_db_t *db, knot_db_txn_t *txn,
      knot_db_txn_t *parent,\n                           unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_db_lmdb_txn_begin
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - txn
    - flags
    argTypes:
    - knot_db_t*
    - knot_db_txn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: txn_begin
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 8
    functionsReached:
    - knot_db_lmdb_txn_begin
    linkageType: ''
    returnType: int
    signature: int txn_begin(knot_db_t *db, knot_db_txn_t *txn, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: txn_commit
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 6
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int txn_commit(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_txn_abort
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: txn_abort
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 11
    functionsReached:
    - mdb_txn_abort
    linkageType: ''
    returnType: void
    signature: void txn_abort(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: count
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 36
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int count(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: clear
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 149
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int clear(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_set
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:345,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:349,1
    - Dst: iter_set
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:350,1
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - iter
    - key
    - flags
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 360
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 360
    functionName: iter_set
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 1
    functionsReached:
    - iter_set
    - mdb_cursor_close
    - memcmp
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_set(knot_db_iter_t *iter, knot_db_val_t *key,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_set
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txn
    - flags
    argTypes:
    - knot_db_txn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: iter_begin
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 17
    functionsReached:
    - iter_set
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_begin(knot_db_txn_t *txn, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_set
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - knot_db_iter_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: iter_next
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 46
    functionsReached:
    - iter_set
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_next(knot_db_iter_t *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - knot_db_iter_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: knot_db_lmdb_iter_del
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 2
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_lmdb_iter_del(knot_db_iter_t *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iter
    - key
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: iter_key
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 3
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int iter_key(knot_db_iter_t *iter, knot_db_val_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iter
    - val
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: iter_val
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 7
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int iter_val(knot_db_iter_t *iter, knot_db_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_close
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - knot_db_iter_t*
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: iter_finish
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 19
    functionsReached:
    - mdb_cursor_close
    linkageType: ''
    returnType: void
    signature: void iter_finish(knot_db_iter_t *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_begin
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:438,1
    - Dst: iter_set
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:444,1
    - Dst: iter_val
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:447,1
    - Dst: iter_finish
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - txn
    - key
    - val
    - flags
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 452
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 452
    functionName: find
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 46
    functionsReached:
    - iter_val
    - iter_set
    - iter_begin
    - iter_finish
    linkageType: ''
    returnType: int
    signature: int find(knot_db_txn_t *txn, knot_db_val_t *key, knot_db_val_t *val,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - txn
    - key
    - val
    - flags
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 477
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 477
    functionName: insert
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 72
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int insert(knot_db_txn_t *txn, knot_db_val_t *key, knot_db_val_t *val,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - txn
    - key
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: del
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 86
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: int
    signature: int del(knot_db_txn_t *txn, knot_db_val_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lmdb_error_to_knot
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - txn
    - key
    - val
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: knot_db_lmdb_del_exact
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - lmdb_error_to_knot
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_lmdb_del_exact(knot_db_txn_t *txn, knot_db_val_t *key,
      knot_db_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_info
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 517
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 517
    functionName: knot_db_lmdb_get_mapsize
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - mdb_env_info
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_lmdb_get_mapsize(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_db_lmdb_txn_begin
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:525,1
    - Dst: mdb_stat
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:527,1
    - Dst: txn_abort
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:528,1
    - Dst: txn_abort
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: knot_db_lmdb_get_usage
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached:
    - txn_abort
    - mdb_stat
    - knot_db_lmdb_txn_begin
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_lmdb_get_usage(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_get_path
      Src: /src/knot-dns/src/libknot/db/db_lmdb.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: knot_db_lmdb_get_path
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 2
    functionsReached:
    - mdb_env_get_path
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_db_lmdb_get_path(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 563
    functionName: knot_db_api_t *knot_db_lmdb_api(void)
    functionSourceFile: /src/knot-dns/src/libknot/db/db_lmdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_api_t *knot_db_lmdb_api(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_create
      Src: /src/knot-dns/src/libknot/db/db_trie.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - db
    - mm
    - arg
    argTypes:
    - knot_db_t**
    - knot_mm_t*
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 29
    functionName: init
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 444
    functionsReached:
    - trie_create
    linkageType: ''
    returnType: int
    signature: int init(knot_db_t **db, knot_mm_t *mm, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_free
      Src: /src/knot-dns/src/libknot/db/db_trie.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - knot_db_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: deinit
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 128
    functionsReached:
    - trie_free
    linkageType: ''
    returnType: void
    signature: void deinit(knot_db_t *db)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - db
    - txn
    - flags
    argTypes:
    - knot_db_t*
    - knot_db_txn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: txn_begin
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int txn_begin(knot_db_t *db, knot_db_txn_t *txn, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: txn_commit
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int txn_commit(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: txn_abort
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void txn_abort(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_weight
      Src: /src/knot-dns/src/libknot/db/db_trie.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: count
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 36
    functionsReached:
    - trie_weight
    linkageType: ''
    returnType: int
    signature: int count(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_clear
      Src: /src/knot-dns/src/libknot/db/db_trie.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - knot_db_txn_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: clear
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 150
    functionsReached:
    - trie_clear
    linkageType: ''
    returnType: int
    signature: int clear(knot_db_txn_t *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_try
      Src: /src/knot-dns/src/libknot/db/db_trie.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - txn
    - key
    - val
    - flags
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: find
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 46
    functionsReached:
    - trie_get_try
    linkageType: ''
    returnType: int
    signature: int find(knot_db_txn_t *txn, knot_db_val_t *key, knot_db_val_t *val,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_get_ins
      Src: /src/knot-dns/src/libknot/db/db_trie.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - txn
    - key
    - val
    - flags
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: insert
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 72
    functionsReached:
    - trie_get_ins
    linkageType: ''
    returnType: int
    signature: int insert(knot_db_txn_t *txn, knot_db_val_t *key, knot_db_val_t *val,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_del
      Src: /src/knot-dns/src/libknot/db/db_trie.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txn
    - key
    argTypes:
    - knot_db_txn_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: del
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 87
    functionsReached:
    - trie_del
    linkageType: ''
    returnType: int
    signature: int del(knot_db_txn_t *txn, knot_db_val_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_begin
      Src: /src/knot-dns/src/libknot/db/db_trie.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txn
    - flags
    argTypes:
    - knot_db_txn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: iter_begin
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 18
    functionsReached:
    - trie_it_begin
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_begin(knot_db_txn_t *txn, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/db/db_trie.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iter
    - key
    - flags
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: iter_seek
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_seek(knot_db_iter_t *iter, knot_db_val_t *key,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_next
      Src: /src/knot-dns/src/libknot/db/db_trie.c:117,1
    - Dst: trie_it_finished
      Src: /src/knot-dns/src/libknot/db/db_trie.c:118,1
    - Dst: trie_it_free
      Src: /src/knot-dns/src/libknot/db/db_trie.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - knot_db_iter_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: iter_next
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 46
    functionsReached:
    - trie_it_free
    - trie_it_finished
    - trie_it_next
    linkageType: ''
    returnType: knot_db_iter_t
    signature: knot_db_iter_t *iter_next(knot_db_iter_t *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_key
      Src: /src/knot-dns/src/libknot/db/db_trie.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iter
    - val
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: iter_key
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 3
    functionsReached:
    - trie_it_key
    linkageType: ''
    returnType: int
    signature: int iter_key(knot_db_iter_t *iter, knot_db_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_val
      Src: /src/knot-dns/src/libknot/db/db_trie.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iter
    - val
    argTypes:
    - knot_db_iter_t*
    - knot_db_val_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: iter_val
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 8
    functionsReached:
    - trie_it_val
    linkageType: ''
    returnType: int
    signature: int iter_val(knot_db_iter_t *iter, knot_db_val_t *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trie_it_free
      Src: /src/knot-dns/src/libknot/db/db_trie.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - knot_db_iter_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: iter_finish
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 20
    functionsReached:
    - trie_it_free
    linkageType: ''
    returnType: void
    signature: void iter_finish(knot_db_iter_t *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: knot_db_api_t *knot_db_trie_api(void)
    functionSourceFile: /src/knot-dns/src/libknot/db/db_trie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_db_api_t *knot_db_trie_api(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - knot_ctl_type_t
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: type_to_code
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int type_to_code(knot_ctl_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: code_to_type
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int code_to_type(uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - knot_ctl_type_t
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: is_data_type
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_data_type(knot_ctl_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - knot_ctl_idx_t
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: idx_to_code
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idx_to_code(knot_ctl_idx_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: code_to_idx
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int code_to_idx(uint8_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/control/control.c:116,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/control/control.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: reset_buffers
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    linkageType: ''
    returnType: void
    signature: void reset_buffers(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_flush
      Src: /src/knot-dns/src/libknot/control/control.c:122,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/control/control.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: clean_data
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - mp_flush
    - memzero
    linkageType: ''
    returnType: void
    signature: void clean_data(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/libknot/control/control.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: close_sock
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_sock(int *sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/control/control.c:139,1
    - Dst: mm_ctx_mempool
      Src: /src/knot-dns/src/libknot/control/control.c:144,1
    - Dst: reset_buffers
      Src: /src/knot-dns/src/libknot/control/control.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: knot_ctl_alloc
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 4
    functionsReached:
    - reset_buffers
    - mm_ctx_mempool
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ * knot_ctl_alloc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_ctl_alloc
      Src: /src/knot-dns/src/libknot/control/control.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: knot_ctl_clone
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 1
    functionsReached:
    - knot_ctl_alloc
    linkageType: ''
    returnType: _public_
    signature: _public_ * knot_ctl_clone(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_sock
      Src: /src/knot-dns/src/libknot/control/control.c:173,1
    - Dst: close_sock
      Src: /src/knot-dns/src/libknot/control/control.c:174,1
    - Dst: clean_data
      Src: /src/knot-dns/src/libknot/control/control.c:176,1
    - Dst: mp_delete
      Src: /src/knot-dns/src/libknot/control/control.c:178,1
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/control/control.c:180,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/control/control.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: knot_ctl_free
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 8
    functionsReached:
    - free
    - close_sock
    - clean_data
    - memzero
    - mp_delete
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_free(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - timeout_ms
    argTypes:
    - knot_ctl_t*
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: knot_ctl_set_timeout
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_set_timeout(knot_ctl_t *ctx, int timeout_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_bound_socket
      Src: /src/knot-dns/src/libknot/control/control.c:210,1
    - Dst: listen
      Src: /src/knot-dns/src/libknot/control/control.c:216,1
    - Dst: close_sock
      Src: /src/knot-dns/src/libknot/control/control.c:217,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/control/control.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - path
    - backlog
    argTypes:
    - knot_ctl_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: knot_ctl_bind
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 1
    functionsReached:
    - net_bound_socket
    - knot_map_errno
    - listen
    - close_sock
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_bind(knot_ctl_t *ctx, const char *path, unsigned
      backlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/knot-dns/src/libknot/control/control.c:234,1
    - Dst: sockaddr_tostr
      Src: /src/knot-dns/src/libknot/control/control.c:236,1
    - Dst: unlink
      Src: /src/knot-dns/src/libknot/control/control.c:237,1
    - Dst: close_sock
      Src: /src/knot-dns/src/libknot/control/control.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: knot_ctl_unbind
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 2
    functionsReached:
    - getsockname
    - sockaddr_tostr
    - close_sock
    - unlink
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_unbind(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_ctl_close
      Src: /src/knot-dns/src/libknot/control/control.c:252,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/control/control.c:258,1
    - Dst: reset_buffers
      Src: /src/knot-dns/src/libknot/control/control.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: knot_ctl_accept
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - reset_buffers
    - knot_ctl_close
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_accept(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: net_connected_socket
      Src: /src/knot-dns/src/libknot/control/control.c:288,1
    - Dst: reset_buffers
      Src: /src/knot-dns/src/libknot/control/control.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - knot_ctl_t*
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: knot_ctl_connect
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - net_connected_socket
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_connect(knot_ctl_t *ctx, const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_sock
      Src: /src/knot-dns/src/libknot/control/control.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_ctl_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: knot_ctl_close
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 6
    functionsReached:
    - close_sock
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_close(knot_ctl_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/control/control.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - knot_ctl_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: ensure_output
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    linkageType: ''
    returnType: int
    signature: int ensure_output(knot_ctl_t *ctx, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/control/control.c:339,1
    - Dst: ensure_output
      Src: /src/knot-dns/src/libknot/control/control.c:353,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/control/control.c:357,1
    - Dst: ensure_output
      Src: /src/knot-dns/src/libknot/control/control.c:363,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/control/control.c:367,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/control/control.c:374,1
    - Dst: net_stream_send
      Src: /src/knot-dns/src/libknot/control/control.c:375,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/control/control.c:375,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/control/control.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - code
    - data
    - flush
    argTypes:
    - knot_ctl_t*
    - uint8_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 385
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 385
    functionName: send_item
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write_u8
    - ensure_output
    - wire_ctx_offset
    - wire_ctx_write
    - wire_ctx_write_u16
    - net_stream_send
    linkageType: ''
    returnType: int
    signature: int send_item(knot_ctl_t *ctx, uint8_t code, const char *data, bool
      flush)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_data_type
      Src: /src/knot-dns/src/libknot/control/control.c:407,1
    - Dst: send_item
      Src: /src/knot-dns/src/libknot/control/control.c:415,1
    - Dst: idx_to_code
      Src: /src/knot-dns/src/libknot/control/control.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - type
    - data
    argTypes:
    - knot_ctl_t*
    - knot_ctl_type_t
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 423
    functionName: knot_ctl_send
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 11
    functionsReached:
    - send_item
    - idx_to_code
    - is_data_type
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_send(knot_ctl_t *ctx, knot_ctl_type_t type, knot_ctl_data_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/knot-dns/src/libknot/control/control.c:436,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/control/control.c:436,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/control/control.c:446,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/control/control.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - knot_ctl_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 453
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 453
    functionName: ensure_input
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_offset
    - wire_ctx_init
    - memmove
    linkageType: ''
    returnType: int
    signature: int ensure_input(knot_ctl_t *ctx, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/control/control.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - knot_ctl_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 470
    functionName: receive_item_code
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    linkageType: ''
    returnType: int
    signature: int receive_item_code(knot_ctl_t *ctx, uint8_t *code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ensure_input
      Src: /src/knot-dns/src/libknot/control/control.c:487,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/control/control.c:491,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/libknot/control/control.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - knot_ctl_t*
    - char**
    constantsTouched: []
    func_position:
      end: 502
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 502
    functionName: receive_item_value
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - wire_ctx_read
    - ensure_input
    linkageType: ''
    returnType: int
    signature: int receive_item_value(knot_ctl_t *ctx, char **value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clean_data
      Src: /src/knot-dns/src/libknot/control/control.c:515,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/control/control.c:531,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/control/control.c:532,1
    - Dst: is_data_type
      Src: /src/knot-dns/src/libknot/control/control.c:539,1
    - Dst: receive_item_value
      Src: /src/knot-dns/src/libknot/control/control.c:554,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/control/control.c:562,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - type
    - data
    argTypes:
    - knot_ctl_t*
    - knot_ctl_type_t*
    - knot_ctl_data_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 566
    functionName: knot_ctl_receive
    functionSourceFile: /src/knot-dns/src/libknot/control/control.c
    functionUses: 8
    functionsReached:
    - assert
    - is_data_type
    - clean_data
    - memcpy
    - receive_item_value
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_ctl_receive(knot_ctl_t *ctx, knot_ctl_type_t *type, knot_ctl_data_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - struct sockaddr_in6*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: addr_len
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned addr_len(const struct sockaddr_in6 *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_flags
      Src: /src/knot-dns/src/libknot/quic/quic.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: knot_quic_session_available
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 2
    functionsReached:
    - gnutls_session_get_flags
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_session_available(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_session_available
      Src: /src/knot-dns/src/libknot/quic/quic.c:68,1
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/quic/quic.c:72,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic.c:79,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/knot-dns/src/libknot/quic/quic.c:85,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 94
    functionName: knot_quic_session_save
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - ngtcp2_conn_encode_0rtt_transport_params
    - knot_quic_session_available
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_quic_session_save(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_data
      Src: /src/knot-dns/src/libknot/quic/quic.c:108,1
    - Dst: ngtcp2_conn_decode_and_set_0rtt_transport_params
      Src: /src/knot-dns/src/libknot/quic/quic.c:115,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libknot/quic/quic.c:122,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - session
    argTypes:
    - knot_quic_conn_t*
    - struct knot_tls_session*
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: knot_quic_session_load
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 2
    functionsReached:
    - gnutls_session_set_data
    - free
    - gnutls_free
    - ngtcp2_conn_decode_and_set_0rtt_transport_params
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_session_load(knot_quic_conn_t *conn, struct knot_tls_session
      *session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_ref
    argTypes:
    - ngtcp2_crypto_conn_ref*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: get_conn
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_conn
    signature: ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_gnutls_configure_server_session
      Src: /src/knot-dns/src/libknot/quic/quic.c:143,1
    - Dst: ngtcp2_crypto_gnutls_configure_client_session
      Src: /src/knot-dns/src/libknot/quic/quic.c:145,1
    - Dst: _Static_assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:156,1
    - Dst: gnutls_session_set_ptr
      Src: /src/knot-dns/src/libknot/quic/quic.c:158,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/knot-dns/src/libknot/quic/quic.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - server
    argTypes:
    - knot_quic_conn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: tls_init_conn_session
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_crypto_gnutls_configure_client_session
    - gnutls_session_set_ptr
    - ngtcp2_crypto_gnutls_configure_server_session
    - _Static_assert
    - ngtcp2_conn_set_tls_native_handle
    linkageType: ''
    returnType: int
    signature: int tls_init_conn_session(knot_quic_conn_t *conn, bool server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/libknot/quic/quic.c:168,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: get_timestamp
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 1
    functionsReached:
    - assert
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_timestamp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/knot-dns/src/libknot/quic/quic.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: quic_conn_get_timeout
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_expiry
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t quic_conn_get_timeout(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_timestamp
      Src: /src/knot-dns/src/libknot/quic/quic.c:183,1
    - Dst: quic_conn_get_timeout
      Src: /src/knot-dns/src/libknot/quic/quic.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - now
    argTypes:
    - knot_quic_conn_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: quic_conn_timeout
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - get_timestamp
    - quic_conn_get_timeout
    linkageType: ''
    returnType: bool
    signature: bool quic_conn_timeout(knot_quic_conn_t *conn, uint64_t *now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_conn_get_timeout
      Src: /src/knot-dns/src/libknot/quic/quic.c:191,1
    - Dst: get_timestamp
      Src: /src/knot-dns/src/libknot/quic/quic.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: knot_quic_conn_next_timeout
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - quic_conn_get_timeout
    - get_timestamp
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_conn_next_timeout(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/knot-dns/src/libknot/quic/quic.c:197,1
    - Dst: get_timestamp
      Src: /src/knot-dns/src/libknot/quic/quic.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 6
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: knot_quic_hanle_expiry
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 1
    functionsReached:
    - get_timestamp
    - ngtcp2_conn_handle_expiry
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_hanle_expiry(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_conn_info
      Src: /src/knot-dns/src/libknot/quic/quic.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: knot_quic_conn_rtt
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_get_conn_info
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_conn_rtt(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_path
      Src: /src/knot-dns/src/libknot/quic/quic.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: knot_quic_conn_local_port
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 1
    functionsReached:
    - ngtcp2_conn_get_path
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_conn_local_port(knot_quic_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libknot/quic/quic.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - destlen
    - rand_ctx
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_rand_ctx*
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: knot_quic_rand_cb
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - dnssec_random_buffer
    linkageType: ''
    returnType: void
    signature: void knot_quic_rand_cb(uint8_t *dest, size_t destlen, const ngtcp2_rand_ctx
      *rand_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libknot/quic/quic.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cid
    - len
    argTypes:
    - ngtcp2_cid*
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: init_random_cid
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - dnssec_random_buffer
    linkageType: ''
    returnType: void
    signature: void init_random_cid(ngtcp2_cid *cid, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_random_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:237,1
    - Dst: quic_table_lookup
      Src: /src/knot-dns/src/libknot/quic/quic.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cid
    - len
    - table
    argTypes:
    - ngtcp2_cid*
    - size_t
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: init_unique_cid
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - quic_table_lookup
    - init_random_cid
    linkageType: ''
    returnType: bool
    signature: bool init_unique_cid(ngtcp2_cid *cid, size_t len, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:249,1
    - Dst: init_unique_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:251,1
    - Dst: quic_table_insert
      Src: /src/knot-dns/src/libknot/quic/quic.c:255,1
    - Dst: ngtcp2_crypto_generate_stateless_reset_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - conn
    - cid
    - token
    - cidlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: get_new_connection_id
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 2
    functionsReached:
    - assert
    - quic_table_insert
    - ngtcp2_crypto_generate_stateless_reset_token
    - init_unique_cid
    linkageType: ''
    returnType: int
    signature: "int get_new_connection_id(ngtcp2_conn *conn, ngtcp2_cid *cid,\n                                 uint8_t
      *token, size_t cidlen,\n                                 void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:272,1
    - Dst: quic_table_lookup2
      Src: /src/knot-dns/src/libknot/quic/quic.c:274,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:276,1
    - Dst: quic_table_rem2
      Src: /src/knot-dns/src/libknot/quic/quic.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - cid
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: remove_connection_id
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 2
    functionsReached:
    - assert
    - quic_table_lookup2
    - quic_table_rem2
    linkageType: ''
    returnType: int
    signature: "int remove_connection_id(ngtcp2_conn *conn, const ngtcp2_cid *cid,\n
      \                               void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:286,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:288,1
    - Dst: ngtcp2_conn_is_server
      Src: /src/knot-dns/src/libknot/quic/quic.c:291,1
    - Dst: knot_tls_pin_check
      Src: /src/knot-dns/src/libknot/quic/quic.c:292,1
    - Dst: gnutls_session_ticket_send
      Src: /src/knot-dns/src/libknot/quic/quic.c:296,1
    - Dst: ngtcp2_conn_get_path
      Src: /src/knot-dns/src/libknot/quic/quic.c:301,1
    - Dst: ngtcp2_crypto_generate_regular_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:303,1
    - Dst: ngtcp2_conn_submit_new_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: handshake_completed_cb
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_session_ticket_send
    - ngtcp2_conn_get_path
    - ngtcp2_conn_is_server
    - ngtcp2_conn_submit_new_token
    - knot_tls_pin_check
    - ngtcp2_crypto_generate_regular_token
    linkageType: ''
    returnType: int
    signature: int handshake_completed_cb(ngtcp2_conn *conn, void *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - conn
    - flags
    - stream_id
    - offset
    - data
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: recv_stream_data
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int recv_stream_data(ngtcp2_conn *conn, uint32_t flags,\n                            int64_t
      stream_id, uint64_t offset,\n                            const uint8_t *data,
      size_t datalen,\n                            void *user_data, void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_stream_ack_data
      Src: /src/knot-dns/src/libknot/quic/quic.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - conn
    - stream_id
    - offset
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: acked_stream_data_offset_cb
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - knot_quic_stream_ack_data
    linkageType: ''
    returnType: int
    signature: "int acked_stream_data_offset_cb(ngtcp2_conn *conn, int64_t stream_id,\n
      \                                   uint64_t offset, uint64_t datalen,\n                                    void
      *user_data, void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:352,1
    - Dst: knot_quic_conn_stream_free
      Src: /src/knot-dns/src/libknot/quic/quic.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - conn
    - flags
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: stream_closed
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_quic_conn_stream_free
    linkageType: ''
    returnType: int
    signature: "int stream_closed(ngtcp2_conn *conn, uint32_t flags, int64_t stream_id,\n\t\t\t
      uint64_t app_error_code, void *user_data, void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:372,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic.c:374,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/libknot/quic/quic.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - sr
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_pkt_stateless_reset*
    - void*
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: recv_stateless_rst
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - knot_quic_table_rem
    - assert
    - knot_quic_cleanup
    linkageType: ''
    returnType: int
    signature: "int recv_stateless_rst(ngtcp2_conn *conn, const ngtcp2_pkt_stateless_reset
      *sr,\n                              void *user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_closed
      Src: /src/knot-dns/src/libknot/quic/quic.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - conn
    - stream_id
    - final_size
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: recv_stream_rst
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - stream_closed
    linkageType: ''
    returnType: int
    signature: "int recv_stream_rst(ngtcp2_conn *conn, int64_t stream_id, uint64_t
      final_size,\n                           uint64_t app_error_code, void *user_data,
      void *stream_user_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/knot-dns/src/libknot/quic/quic.c:394,1
    - Dst: vsnprintf
      Src: /src/knot-dns/src/libknot/quic/quic.c:395,1
    - Dst: va_end
      Src: /src/knot-dns/src/libknot/quic/quic.c:396,1
    - Dst: knot_quic_conn_t*::quic_table::log_cb
      Src: /src/knot-dns/src/libknot/quic/quic.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - user_data
    - format
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: user_printf
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - va_start
    - knot_quic_conn_t*::quic_table::log_cb
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void user_printf(void *user_data, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: hex_encode
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hex_encode(const uint8_t  *in, const uint32_t in_len, char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_client_initial_dcid
      Src: /src/knot-dns/src/libknot/quic/quic.c:416,1
    - Dst: ngtcp2_conn_get_dcid
      Src: /src/knot-dns/src/libknot/quic/quic.c:418,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/quic.c:423,1
    - Dst: hex_encode
      Src: /src/knot-dns/src/libknot/quic/quic.c:425,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/quic.c:426,1
    - Dst: open
      Src: /src/knot-dns/src/libknot/quic/quic.c:428,1
    - Dst: write
      Src: /src/knot-dns/src/libknot/quic/quic.c:431,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/quic/quic.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - user_data
    - flags
    - data
    - datalen
    argTypes:
    - void*
    - uint32_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 438
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 438
    functionName: user_qlog
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - hex_encode
    - ngtcp2_conn_get_dcid
    - open
    - close
    - memcpy
    - ngtcp2_conn_get_client_initial_dcid
    - write
    linkageType: ''
    returnType: void
    signature: void user_qlog(void *user_data, uint32_t flags, const void *data, size_t
      datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_settings_default
      Src: /src/knot-dns/src/libknot/quic/quic.c:492,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/knot-dns/src/libknot/quic/quic.c:509,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:527,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libknot/quic/quic.c:531,1
    - Dst: ngtcp2_conn_server_new
      Src: /src/knot-dns/src/libknot/quic/quic.c:536,1
    - Dst: ngtcp2_conn_client_new
      Src: /src/knot-dns/src/libknot/quic/quic.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 11
    argNames:
    - pconn
    - path
    - scid
    - dcid
    - odcid
    - version
    - now
    - idle_timeout_ns
    - qconn
    - server
    - retry_sent
    argTypes:
    - ngtcp2_conn**
    - ngtcp2_path*
    - ngtcp2_cid*
    - ngtcp2_cid*
    - ngtcp2_cid*
    - uint32_t
    - uint64_t
    - uint64_t
    - knot_quic_conn_t*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 542
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 542
    functionName: conn_new
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 4
    functionsReached:
    - assert
    - ngtcp2_conn_client_new
    - ngtcp2_settings_default
    - ngtcp2_transport_params_default
    - dnssec_random_buffer
    - ngtcp2_conn_server_new
    linkageType: ''
    returnType: int
    signature: "int conn_new(ngtcp2_conn **pconn, const ngtcp2_path *path, const ngtcp2_cid
      *scid,\n                    const ngtcp2_cid *dcid, const ngtcp2_cid *odcid,
      uint32_t version,\n                    uint64_t now, uint64_t idle_timeout_ns,\n
      \                   knot_quic_conn_t *qconn, bool server, bool retry_sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_random_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:556,1
    - Dst: init_random_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:557,1
    - Dst: quic_table_add
      Src: /src/knot-dns/src/libknot/quic/quic.c:559,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:566,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:568,1
    - Dst: tls_init_conn_session
      Src: /src/knot-dns/src/libknot/quic/quic.c:573,1
    - Dst: gnutls_server_name_set
      Src: /src/knot-dns/src/libknot/quic/quic.c:576,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/quic/quic.c:577,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic.c:580,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/libknot/quic/quic.c:581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - table
    - dest
    - via
    - server_name
    - out_conn
    argTypes:
    - knot_quic_table_t*
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    - char*
    - knot_quic_conn_t**
    constantsTouched: []
    func_position:
      end: 587
      start: 544
    functionDepth: 4
    functionLinenumber: 544
    functionLinenumberEnd: 587
    functionName: knot_quic_client
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 1
    functionsReached:
    - addr_len
    - strlen
    - init_random_cid
    - tls_init_conn_session
    - knot_quic_cleanup
    - gnutls_server_name_set
    - quic_table_add
    - knot_quic_table_rem
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_client(knot_quic_table_t *table, struct sockaddr_in6
      *dest,\n                     struct sockaddr_in6 *via, const char *server_name,\n
      \                    knot_quic_conn_t **out_conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/libknot/quic/quic.c:616,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/libknot/quic/quic.c:617,1
    - Dst: quic_table_lookup
      Src: /src/knot-dns/src/libknot/quic/quic.c:619,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:638,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:640,1
    - Dst: ngtcp2_accept
      Src: /src/knot-dns/src/libknot/quic/quic.c:646,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:656,1
    - Dst: quic_require_retry
      Src: /src/knot-dns/src/libknot/quic/quic.c:657,1
    - Dst: ngtcp2_crypto_verify_retry_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:664,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:669,1
    - Dst: ngtcp2_crypto_verify_regular_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:673,1
    - Dst: addr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:678,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/quic.c:687,1
    - Dst: init_unique_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:691,1
    - Dst: quic_table_add
      Src: /src/knot-dns/src/libknot/quic/quic.c:696,1
    - Dst: conn_new
      Src: /src/knot-dns/src/libknot/quic/quic.c:702,1
    - Dst: tls_init_conn_session
      Src: /src/knot-dns/src/libknot/quic/quic.c:705,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic.c:708,1
    - Dst: ngtcp2_conn_read_pkt
      Src: /src/knot-dns/src/libknot/quic/quic.c:716,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic.c:721,1
    - Dst: ngtcp2_err_is_fatal
      Src: /src/knot-dns/src/libknot/quic/quic.c:724,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic.c:730,1
    - Dst: quic_conn_mark_used
      Src: /src/knot-dns/src/libknot/quic/quic.c:737,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 120
    argCount: 4
    argNames:
    - table
    - reply
    - idle_timeout
    - out_conn
    argTypes:
    - knot_quic_table_t*
    - knot_quic_reply_t*
    - uint64_t
    - knot_quic_conn_t**
    constantsTouched: []
    func_position:
      end: 743
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 743
    functionName: knot_quic_handle
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 4
    functionsReached:
    - ngtcp2_crypto_verify_retry_token
    - assert
    - addr_len
    - init_unique_cid
    - tls_init_conn_session
    - conn_new
    - ngtcp2_err_is_fatal
    - ngtcp2_accept
    - quic_require_retry
    - quic_conn_mark_used
    - ngtcp2_cid_init
    - quic_table_add
    - memcpy
    - knot_quic_table_rem
    - quic_table_lookup
    - ngtcp2_crypto_verify_regular_token
    - ngtcp2_conn_read_pkt
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_handle(knot_quic_table_t *table, knot_quic_reply_t
      *reply,\n                     uint64_t idle_timeout, knot_quic_conn_t **out_conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_set_stream_user_data
      Src: /src/knot-dns/src/libknot/quic/quic.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: stream_exists
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_set_stream_user_data
    linkageType: ''
    returnType: bool
    signature: bool stream_exists(knot_quic_conn_t *conn, int64_t stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:756,1
    - Dst: stream_exists
      Src: /src/knot-dns/src/libknot/quic/quic.c:758,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:764,1
    - Dst: stream_exists
      Src: /src/knot-dns/src/libknot/quic/quic.c:764,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:782,1
    - Dst: ngtcp2_conn_writev_stream
      Src: /src/knot-dns/src/libknot/quic/quic.c:784,1
    - Dst: get_timestamp
      Src: /src/knot-dns/src/libknot/quic/quic.c:787,1
    - Dst: knot_quic_reply_t*::free_reply
      Src: /src/knot-dns/src/libknot/quic/quic.c:789,1
    - Dst: knot_quic_reply_t*::send_reply
      Src: /src/knot-dns/src/libknot/quic/quic.c:802,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 8
    argNames:
    - quic_table
    - rpl
    - relay
    - stream_id
    - data
    - len
    - fin
    - sent
    argTypes:
    - knot_quic_table_t*
    - knot_quic_reply_t*
    - knot_quic_conn_t*
    - int64_t
    - uint8_t*
    - size_t
    - bool
    - ngtcp2_ssize*
    constantsTouched: []
    func_position:
      end: 811
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 811
    functionName: send_stream
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn_writev_stream
    - stream_exists
    - knot_quic_reply_t*::send_reply
    - knot_quic_reply_t*::free_reply
    - get_timestamp
    linkageType: ''
    returnType: int
    signature: "int send_stream(knot_quic_table_t *quic_table, knot_quic_reply_t *rpl,\n
      \                      knot_quic_conn_t *relay, int64_t stream_id,\n                       uint8_t
      *data, size_t len, bool fin, ngtcp2_ssize *sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_pkt_decode_version_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:829,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libknot/quic/quic.c:835,1
    - Dst: dnssec_random_buffer
      Src: /src/knot-dns/src/libknot/quic/quic.c:841,1
    - Dst: ngtcp2_ccerr_default
      Src: /src/knot-dns/src/libknot/quic/quic.c:843,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:851,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic.c:852,1
    - Dst: knot_quic_reply_t*::free_reply
      Src: /src/knot-dns/src/libknot/quic/quic.c:857,1
    - Dst: ngtcp2_pkt_write_version_negotiation
      Src: /src/knot-dns/src/libknot/quic/quic.c:860,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/libknot/quic/quic.c:868,1
    - Dst: ngtcp2_cid_init
      Src: /src/knot-dns/src/libknot/quic/quic.c:869,1
    - Dst: init_random_cid
      Src: /src/knot-dns/src/libknot/quic/quic.c:871,1
    - Dst: ngtcp2_crypto_generate_retry_token
      Src: /src/knot-dns/src/libknot/quic/quic.c:873,1
    - Dst: sockaddr_len
      Src: /src/knot-dns/src/libknot/quic/quic.c:876,1
    - Dst: ngtcp2_crypto_write_retry
      Src: /src/knot-dns/src/libknot/quic/quic.c:881,1
    - Dst: ngtcp2_pkt_write_stateless_reset
      Src: /src/knot-dns/src/libknot/quic/quic.c:889,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/knot-dns/src/libknot/quic/quic.c:895,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/knot-dns/src/libknot/quic/quic.c:903,1
    - Dst: knot_quic_reply_t*::free_reply
      Src: /src/knot-dns/src/libknot/quic/quic.c:914,1
    - Dst: knot_quic_reply_t*::send_reply
      Src: /src/knot-dns/src/libknot/quic/quic.c:922,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - quic_table
    - rpl
    - relay
    argTypes:
    - knot_quic_table_t*
    - knot_quic_reply_t*
    - knot_quic_conn_t*
    constantsTouched: []
    func_position:
      end: 929
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 929
    functionName: send_special
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 0
    functionsReached:
    - assert
    - ngtcp2_conn_write_connection_close
    - ngtcp2_pkt_decode_version_cid
    - init_random_cid
    - knot_quic_reply_t*::send_reply
    - ngtcp2_pkt_write_version_negotiation
    - knot_quic_reply_t*::free_reply
    - ngtcp2_ccerr_default
    - dnssec_random_buffer
    - ngtcp2_cid_init
    - ngtcp2_crypto_write_retry
    - ngtcp2_pkt_write_stateless_reset
    - sockaddr_len
    - ngtcp2_crypto_generate_retry_token
    linkageType: ''
    returnType: int
    signature: "int send_special(knot_quic_table_t *quic_table, knot_quic_reply_t
      *rpl,\n\t\t\tknot_quic_conn_t *relay /* only for connection close */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_special
      Src: /src/knot-dns/src/libknot/quic/quic.c:943,1
    - Dst: send_stream
      Src: /src/knot-dns/src/libknot/quic/quic.c:968,1
    - Dst: knot_quic_stream_mark_sent
      Src: /src/knot-dns/src/libknot/quic/quic.c:981,1
    - Dst: send_stream
      Src: /src/knot-dns/src/libknot/quic/quic.c:992,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 5
    argNames:
    - quic_table
    - conn
    - reply
    - max_msgs
    - flags
    argTypes:
    - knot_quic_table_t*
    - knot_quic_conn_t*
    - knot_quic_reply_t*
    - unsigned
    - knot_quic_send_flag_t
    constantsTouched: []
    func_position:
      end: 996
      start: 931
    functionDepth: 5
    functionLinenumber: 931
    functionLinenumberEnd: 996
    functionName: knot_quic_send
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic.c
    functionUses: 6
    functionsReached:
    - send_stream
    - send_special
    - knot_quic_stream_mark_sent
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_send(knot_quic_table_t *quic_table, knot_quic_conn_t
      *conn,\n                   knot_quic_reply_t *reply, unsigned max_msgs,\n                   knot_quic_send_flag_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls12
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: knot_tls_priority
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_tls_priority(bool tls12)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dbf
    - exp_time
    - key
    - data
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: tls_anti_replay_db_add_func
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_anti_replay_db_add_func(void *dbf, time_t exp_time,\n                                       const
      gnutls_datum_t *key,\n                                       const gnutls_datum_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memzero
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:62,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tls_session_ticket_key_free
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memzero
    linkageType: ''
    returnType: void
    signature: void tls_session_ticket_key_free(gnutls_datum_t *ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:78,1
    - Dst: gnutls_malloc
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:79,1
    - Dst: read
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:80,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:86,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:92,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:93,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:98,1
    - Dst: open
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:101,1
    - Dst: fchown
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:102,1
    - Dst: write
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:103,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:111,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:113,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - privkey
    - key_file
    - uid
    - gid
    argTypes:
    - gnutls_x509_privkey_t*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 119
    functionName: self_key
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_privkey_generate
    - open
    - gnutls_malloc
    - write
    - close
    - gnutls_x509_privkey_export2_pkcs8
    - GNUTLS_CURVE_TO_BITS
    - gnutls_x509_privkey_deinit
    - fchown
    - read
    - gnutls_x509_privkey_import_pkcs8
    - fstat
    linkageType: ''
    returnType: int
    signature: int self_key(gnutls_x509_privkey_t *privkey, const char *key_file,
      int uid, int gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_hostname
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:130,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:135,1
    - Dst: gnutls_rnd
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:139,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:146,1
    - Dst: self_key
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:146,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:148,1
    - Dst: gnutls_x509_crt_init
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:148,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:149,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:149,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:150,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:150,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:151,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:151,1
    - Dst: NOW_DAYS
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:151,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:152,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:152,1
    - Dst: NOW_DAYS
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:152,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:153,1
    - Dst: gnutls_x509_crt_set_issuer_dn_by_oid
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:153,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:156,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:156,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:157,1
    - Dst: gnutls_subject_alt_names_set
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:157,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:158,1
    - Dst: gnutls_x509_ext_export_subject_alt_names
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:158,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:159,1
    - Dst: gnutls_x509_crt_set_extension_by_oid
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:159,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:162,1
    - Dst: gnutls_x509_crt_set_key
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:162,1
    - Dst: CHK
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:163,1
    - Dst: gnutls_x509_crt_sign2
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:163,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:165,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:168,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:169,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:170,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:171,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 4
    argNames:
    - tls_cert
    - key_file
    - uid
    - gid
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 175
    functionName: self_signed_cert
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_set_serial
    - gnutls_subject_alt_names_deinit
    - gnutls_rnd
    - gnutls_x509_crt_set_expiration_time
    - gnutls_x509_privkey_deinit
    - free
    - self_key
    - gnutls_x509_ext_export_subject_alt_names
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - gnutls_subject_alt_names_set
    - gnutls_x509_crt_set_extension_by_oid
    - gnutls_x509_crt_sign2
    - gnutls_x509_crt_set_version
    - gnutls_x509_crt_set_issuer_dn_by_oid
    - CHK
    - NOW_DAYS
    - gnutls_free
    - sockaddr_hostname
    - gnutls_x509_crt_set_key
    - gnutls_certificate_set_x509_key
    - gnutls_x509_crt_set_activation_time
    - gnutls_subject_alt_names_init
    linkageType: ''
    returnType: int
    signature: "int self_signed_cert(gnutls_certificate_credentials_t tls_cert,\n
      \                           const char *key_file, int uid, int gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:181,1
    - Dst: gnutls_anti_replay_init
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:191,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:195,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:196,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:198,1
    - Dst: knot_creds_free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - key_file
    - cert_file
    - uid
    - gid
    argTypes:
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: knot_creds_init
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached:
    - calloc
    - gnutls_session_ticket_key_generate
    - knot_creds_free
    - gnutls_anti_replay_init
    - gnutls_anti_replay_set_ptr
    - gnutls_anti_replay_set_add_function
    linkageType: ''
    returnType: _public_
    signature: "_public_ *knot_creds_init(const char *key_file, const char *cert_file,\n
      \                                  int uid, int gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:214,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:221,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:221,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:226,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:229,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - local_creds
    - peer_pin
    - peer_pin_len
    argTypes:
    - struct knot_creds*
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: knot_creds_init_peer
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 3
    functionsReached:
    - calloc
    - free
    - ATOMIC_GET
    - memcpy
    - ATOMIC_INIT
    linkageType: ''
    returnType: _public_
    signature: "_public_ *knot_creds_init_peer(const struct knot_creds *local_creds,\n
      \                                       const uint8_t *peer_pin,\n                                        uint8_t
      peer_pin_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:248,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - creds
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - struct gnutls_x509_crt_int**
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: creds_cert
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached:
    - free
    - gnutls_x509_crt_deinit
    linkageType: ''
    returnType: int
    signature: "int creds_cert(gnutls_certificate_credentials_t creds,\n                      struct
      gnutls_x509_crt_int **cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: creds_cert
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:273,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:282,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:287,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:294,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:296,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:301,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:302,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - creds
    - prev
    - self_cert
    - changed
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 305
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 305
    functionName: creds_changed
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached:
    - creds_cert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_get_key_id
    - memcmp
    - gnutls_x509_crt_equals
    linkageType: ''
    returnType: int
    signature: "int creds_changed(gnutls_certificate_credentials_t creds,\n                         gnutls_certificate_credentials_t
      prev,\n                         bool self_cert, bool *changed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:322,1
    - Dst: self_signed_cert
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:326,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:329,1
    - Dst: creds_changed
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:334,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:334,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:337,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:343,1
    - Dst: ATOMIC_XCHG
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:345,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - creds
    - key_file
    - cert_file
    - uid
    - gid
    argTypes:
    - struct knot_creds*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 351
    functionName: knot_creds_update
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached:
    - self_signed_cert
    - creds_changed
    - gnutls_certificate_free_credentials
    - ATOMIC_GET
    - ATOMIC_XCHG
    - gnutls_certificate_set_x509_key_file
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_creds_update(struct knot_creds *creds, const char *key_file,
      const char *cert_file,\n                      int uid, int gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: creds_cert
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:360,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - creds
    - cert
    argTypes:
    - struct knot_creds*
    - struct gnutls_x509_crt_int**
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: knot_creds_cert
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached:
    - creds_cert
    - ATOMIC_GET
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_creds_cert(struct knot_creds *creds, struct gnutls_x509_crt_int
      **cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:370,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:371,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:371,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:372,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:374,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:377,1
    - Dst: tls_session_ticket_key_free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:379,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - creds
    argTypes:
    - struct knot_creds*
    constantsTouched: []
    func_position:
      end: 382
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 382
    functionName: knot_creds_free
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 7
    functionsReached:
    - tls_session_ticket_key_free
    - free
    - gnutls_anti_replay_deinit
    - ATOMIC_DEINIT
    - gnutls_certificate_free_credentials
    - ATOMIC_GET
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_creds_free(struct knot_creds *creds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_send_x509_rdn_sequence
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:415,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:416,1
    - Dst: gnutls_priority_set
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:417,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:420,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:425,1
    - Dst: gnutls_record_set_max_early_data_size
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:428,1
    - Dst: gnutls_anti_replay_enable
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:431,1
    - Dst: gnutls_credentials_set
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:433,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:434,1
    - Dst: gnutls_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:437,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - session
    - creds
    - priority
    - flags
    argTypes:
    - struct gnutls_session_int**
    - struct knot_creds*
    - struct gnutls_priority_st*
    - knot_tls_flag_t
    constantsTouched: []
    func_position:
      end: 441
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 441
    functionName: knot_tls_session
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_priority_set
    - gnutls_anti_replay_enable
    - ATOMIC_GET
    - gnutls_certificate_send_x509_rdn_sequence
    - gnutls_alpn_set_protocols
    - gnutls_record_set_max_early_data_size
    - gnutls_certificate_server_set_request
    - gnutls_session_ticket_enable_server
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tls_session(struct gnutls_session_int **session,\n                     struct
      knot_creds *creds,\n                     struct gnutls_priority_st *priority,\n
      \                    knot_tls_flag_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_ours
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:453,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:456,1
    - Dst: gnutls_x509_crt_import
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:471,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:473,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:477,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:479,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:483,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - session
    - pin
    - pin_size
    - local
    argTypes:
    - struct gnutls_session_int*
    - uint8_t*
    - size_t*
    - bool
    constantsTouched: []
    func_position:
      end: 490
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 490
    functionName: knot_tls_pin
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_get_key_id
    - gnutls_certificate_get_peers
    - gnutls_certificate_get_ours
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tls_pin(struct gnutls_session_int *session, uint8_t
      *pin,\n                  size_t *pin_size, bool local)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_pin
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:502,1
    - Dst: const_time_memcmp
      Src: /src/knot-dns/src/libknot/quic/tls_common.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - session
    - creds
    argTypes:
    - struct gnutls_session_int*
    - struct knot_creds*
    constantsTouched: []
    func_position:
      end: 509
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 509
    functionName: knot_tls_pin_check
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls_common.c
    functionUses: 1
    functionsReached:
    - const_time_memcmp
    - knot_tls_pin
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tls_pin_check(struct gnutls_session_int *session,\n
      \                      struct knot_creds *creds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: cmp_expiry_heap_nodes
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_expiry_heap_nodes(void *c1, void *c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:42,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:44,1
    - Dst: ATOMIC_INIT
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:52,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:58,1
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:62,1
    - Dst: heap_init
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:63,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:64,1
    - Dst: gnutls_priority_deinit
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:65,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:66,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:72,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:73,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:74,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: "knot_quic_table_t *knot_quic_table_new(size_t max_conns, size_t
      max_ibufs, size_t max_obufs,\n                                       size_t
      udp_payload, struct knot_creds *creds)"
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - heap_init
    - dnssec_random_uint64_t
    - calloc
    - free
    - gnutls_priority_deinit
    - malloc
    - ATOMIC_INIT
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_table_t *knot_quic_table_new(size_t max_conns,
      size_t max_ibufs, size_t max_obufs,\n                                       size_t
      udp_payload, struct knot_creds *creds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:84,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:85,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:86,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:87,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:89,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:90,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:91,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:92,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:92,1
    - Dst: ATOMIC_DEINIT
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:94,1
    - Dst: gnutls_priority_deinit
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:96,1
    - Dst: heap_deinit
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:97,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:98,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: knot_quic_table_free
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 3
    functionsReached:
    - assert
    - knot_quic_cleanup
    - free
    - HHEAD
    - gnutls_priority_deinit
    - ATOMIC_DEINIT
    - ATOMIC_GET
    - EMPTY_HEAP
    - knot_quic_table_rem
    - heap_deinit
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_table_free(knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - reply
    - table
    argTypes:
    - knot_quic_conn_t*
    - struct knot_quic_reply*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: send_excessive_load
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - knot_quic_send
    linkageType: ''
    returnType: void
    signature: "void send_excessive_load(knot_quic_conn_t *conn, struct knot_quic_reply
      *reply,\n                                knot_quic_table_t *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_HEAP
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:121,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:122,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:126,1
    - Dst: send_excessive_load
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:127,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:128,1
    - Dst: ATOMIC_GET
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:129,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:130,1
    - Dst: send_excessive_load
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:131,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:132,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:134,1
    - Dst: send_excessive_load
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:135,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:136,1
    - Dst: quic_conn_timeout
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:137,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:140,1
    - Dst: knot_quic_table_rem
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:141,1
    - Dst: knot_quic_send
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:145,1
    - Dst: quic_conn_mark_used
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:147,1
    - Dst: knot_quic_cleanup
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:150,1
    - Dst: HHEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - table
    - sweep_reply
    - stats
    argTypes:
    - knot_quic_table_t*
    - struct knot_quic_reply*
    - struct knot_sweep_stats*
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 7
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: knot_quic_table_sweep
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 3
    functionsReached:
    - quic_conn_timeout
    - send_excessive_load
    - knot_quic_send
    - knot_quic_cleanup
    - HHEAD
    - ATOMIC_GET
    - quic_conn_mark_used
    - EMPTY_HEAP
    - knot_quic_table_rem
    - knot_sweep_stats_incr
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_table_sweep(knot_quic_table_t *table, struct knot_quic_reply
      *sweep_reply,\n                           struct knot_sweep_stats *stats)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:161,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:162,1
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cid
    - table
    argTypes:
    - ngtcp2_cid*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: cid2hash
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - SipHash24_Update
    - MIN
    - SipHash24_Init
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cid2hash(const ngtcp2_cid *cid, knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:172,1
    - Dst: _Static_assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:176,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: quic_table_insert
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 1
    functionsReached:
    - _Static_assert
    - malloc
    - memcpy
    linkageType: ''
    returnType: knot_quic_cid_t
    signature: "knot_quic_cid_t **quic_table_insert(knot_quic_conn_t *conn, const
      ngtcp2_cid *cid,\n                                    knot_quic_table_t *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:192,1
    - Dst: heap_insert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:203,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:204,1
    - Dst: quic_table_insert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:208,1
    - Dst: heap_delete
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:210,1
    - Dst: heap_find
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:210,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ngconn
    - cid
    - table
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 217
    functionName: quic_table_add
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - quic_table_insert
    - calloc
    - free
    - heap_insert
    - heap_delete
    - heap_find
    linkageType: ''
    returnType: knot_quic_conn_t
    signature: "knot_quic_conn_t *quic_table_add(ngtcp2_conn *ngconn, const ngtcp2_cid
      *cid,\n                                 knot_quic_table_t *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_cid_eq
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: quic_table_lookup2
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 1
    functionsReached:
    - ngtcp2_cid_eq
    linkageType: ''
    returnType: knot_quic_cid_t
    signature: knot_quic_cid_t **quic_table_lookup2(const ngtcp2_cid *cid, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_table_lookup2
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:232,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cid
    - table
    argTypes:
    - ngtcp2_cid*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: quic_table_lookup
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - quic_table_lookup2
    linkageType: ''
    returnType: knot_quic_conn_t
    signature: knot_quic_conn_t *quic_table_lookup(const ngtcp2_cid *cid, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: heap_replace
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:239,1
    - Dst: heap_find
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - table
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: conn_heap_reschedule
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - heap_find
    - heap_replace
    linkageType: ''
    returnType: void
    signature: void conn_heap_reschedule(knot_quic_conn_t *conn, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_conn_get_timeout
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:244,1
    - Dst: conn_heap_reschedule
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - table
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: quic_conn_mark_used
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - quic_conn_get_timeout
    - conn_heap_reschedule
    linkageType: ''
    returnType: void
    signature: void quic_conn_mark_used(knot_quic_conn_t *conn, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcid
    - table
    argTypes:
    - knot_quic_cid_t**
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: quic_table_rem2
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void quic_table_rem2(knot_quic_cid_t **pcid, knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:259,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:261,1
    - Dst: buffer_alloc_size
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:262,1
    - Dst: buffer_alloc_size
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:263,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:264,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:269,1
    - Dst: knot_quic_stream_ack_data
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: knot_quic_conn_stream_free
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - knot_quic_stream_ack_data
    - free
    - memset
    - buffer_alloc_size
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_conn_stream_free(knot_quic_conn_t *conn, int64_t
      stream_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_stream_free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:285,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:287,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:288,1
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:291,1
    - Dst: ngtcp2_conn_get_scid
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:292,1
    - Dst: quic_table_lookup2
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:295,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:296,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:300,1
    - Dst: quic_table_rem2
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:301,1
    - Dst: heap_delete
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:305,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:307,1
    - Dst: gnutls_deinit
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:309,1
    - Dst: ngtcp2_conn_del
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - conn
    - table
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 274
    functionDepth: 9
    functionLinenumber: 274
    functionLinenumberEnd: 314
    functionName: knot_quic_table_rem
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 7
    functionsReached:
    - assert
    - quic_table_lookup2
    - quic_table_rem2
    - calloc
    - gnutls_deinit
    - free
    - knot_quic_conn_stream_free
    - heap_delete
    - ngtcp2_conn_del
    - ngtcp2_conn_get_scid
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_table_rem(knot_quic_conn_t *conn, knot_quic_table_t
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:337,1
    - Dst: realloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:348,1
    - Dst: init_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:357,1
    - Dst: fix_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:359,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:365,1
    - Dst: init_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:366,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 374
    functionName: "knot_quic_stream_t *knot_quic_conn_get_stream(knot_quic_conn_t
      *conn,\n                                              int64_t stream_id, bool
      create)"
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - memset
    - fix_list
    - malloc
    - init_list
    - realloc
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_stream_t *knot_quic_conn_get_stream(knot_quic_conn_t
      *conn,\n                                              int64_t stream_id, bool
      create)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: knot_quic_stream_t *knot_quic_conn_new_stream(knot_quic_conn_t *conn)
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_stream_t *knot_quic_conn_new_stream(knot_quic_conn_t
      *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:386,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - stream
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_stream_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: stream_inprocess
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void stream_inprocess(knot_quic_conn_t *conn, knot_quic_stream_t *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - stream
    argTypes:
    - knot_quic_conn_t*
    - knot_quic_stream_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: stream_outprocess
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stream_outprocess(knot_quic_conn_t *conn, knot_quic_stream_t *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:416,1
    - Dst: stream_inprocess
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - conn
    - stream_id
    - data
    - len
    - fin
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    - uint8_t*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: knot_quic_stream_recv_data
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - stream_inprocess
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: int
    signature: "int knot_quic_stream_recv_data(knot_quic_conn_t *conn, int64_t stream_id,\n
      \                              const uint8_t *data, size_t len, bool fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_outprocess
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 452
    functionName: "knot_quic_stream_t *knot_quic_stream_get_process(knot_quic_conn_t
      *conn,\n                                                 int64_t *stream_id)"
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 0
    functionsReached:
    - stream_outprocess
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_quic_stream_t *knot_quic_stream_get_process(knot_quic_conn_t
      *conn,\n                                                 int64_t *stream_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:458,1
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:465,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:471,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:473,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:477,1
    - Dst: add_tail
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:480,1
    - Dst: ATOMIC_ADD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - conn
    - stream_id
    - data
    - len
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 486
    functionName: knot_quic_stream_add_data
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 3
    functionsReached:
    - ATOMIC_ADD
    - EMPTY_LIST
    - add_tail
    - memcpy
    - knot_wire_write_u16
    - malloc
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: _public_
    signature: "_public_ *knot_quic_stream_add_data(knot_quic_conn_t *conn, int64_t
      stream_id,\n                                   uint8_t *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:491,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:499,1
    - Dst: HEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:499,1
    - Dst: rem_node
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:500,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:501,1
    - Dst: HEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:501,1
    - Dst: ATOMIC_SUB
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:504,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:506,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:508,1
    - Dst: HEAD
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:508,1
    - Dst: EMPTY_LIST
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:513,1
    - Dst: stream_outprocess
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:514,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:515,1
    - Dst: init_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:516,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:518,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:522,1
    - Dst: memmove
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:529,1
    - Dst: init_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:533,1
    - Dst: fix_list
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - conn
    - stream_id
    - end_acked
    - keep_stream
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 541
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 541
    functionName: knot_quic_stream_ack_data
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - assert
    - memmove
    - stream_outprocess
    - rem_node
    - free
    - ATOMIC_SUB
    - HEAD
    - EMPTY_LIST
    - memset
    - fix_list
    - init_list
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: void
    signature: "void knot_quic_stream_ack_data(knot_quic_conn_t *conn, int64_t stream_id,\n
      \                              size_t end_acked, bool keep_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_quic_conn_get_stream
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:546,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - conn
    - stream_id
    - amount_sent
    argTypes:
    - knot_quic_conn_t*
    - int64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 560
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 560
    functionName: knot_quic_stream_mark_sent
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_quic_conn_get_stream
    linkageType: ''
    returnType: void
    signature: "void knot_quic_stream_mark_sent(knot_quic_conn_t *conn, int64_t stream_id,\n
      \                               size_t amount_sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_heap_reschedule
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:568,1
    - Dst: quic_conn_mark_used
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - block
    argTypes:
    - knot_quic_conn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: knot_quic_conn_block
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 2
    functionsReached:
    - quic_conn_mark_used
    - conn_heap_reschedule
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_conn_block(knot_quic_conn_t *conn, bool block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/quic_conn.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - conns
    - n_conns
    argTypes:
    - knot_quic_conn_t*[]
    - size_t
    constantsTouched: []
    func_position:
      end: 588
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 588
    functionName: knot_quic_cleanup
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 9
    functionsReached:
    - free
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_quic_cleanup(knot_quic_conn_t *conns[], size_t n_conns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_quic_table_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: quic_require_retry
    functionSourceFile: /src/knot-dns/src/libknot/quic/quic_conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool quic_require_retry(knot_quic_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/tls.c:34,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: "knot_tls_ctx_t *knot_tls_ctx_new(struct knot_creds *creds, unsigned
      io_timeout,\n                                 unsigned hs_timeout, knot_tls_flag_t
      flags)"
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tls_ctx_t *knot_tls_ctx_new(struct knot_creds *creds,
      unsigned io_timeout,\n                                 unsigned hs_timeout,
      knot_tls_flag_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_deinit
      Src: /src/knot-dns/src/libknot/quic/tls.c:58,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - knot_tls_ctx_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: knot_tls_ctx_free
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 2
    functionsReached:
    - free
    - gnutls_priority_deinit
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_ctx_free(knot_tls_ctx_t *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/tls.c:66,1
    - Dst: gnutls_transport_set_int
      Src: /src/knot-dns/src/libknot/quic/tls.c:79,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/knot-dns/src/libknot/quic/tls.c:80,1
    - Dst: gnutls_deinit
      Src: /src/knot-dns/src/libknot/quic/tls.c:84,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: knot_tls_conn_t *knot_tls_conn_new(knot_tls_ctx_t *ctx, int sock_fd)
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_deinit
    - calloc
    - free
    - gnutls_handshake_set_timeout
    - gnutls_transport_set_int
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_conn_t *knot_tls_conn_new(knot_tls_ctx_t *ctx, int
      sock_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/knot-dns/src/libknot/quic/tls.c:93,1
    - Dst: gnutls_deinit
      Src: /src/knot-dns/src/libknot/quic/tls.c:94,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tls_conn_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: knot_tls_conn_del
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 2
    functionsReached:
    - free
    - gnutls_bye
    - gnutls_deinit
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_conn_del(knot_tls_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_flags
      Src: /src/knot-dns/src/libknot/quic/tls.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tls_conn_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: knot_tls_session_available
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 1
    functionsReached:
    - gnutls_session_get_flags
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_session_available(knot_tls_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tls_session_available
      Src: /src/knot-dns/src/libknot/quic/tls.c:109,1
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/quic/tls.c:113,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tls_conn_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: knot_tls_session_save
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 0
    functionsReached:
    - free
    - knot_tls_session_available
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_tls_session_save(knot_tls_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_data
      Src: /src/knot-dns/src/libknot/quic/tls.c:137,1
    - Dst: gnutls_free
      Src: /src/knot-dns/src/libknot/quic/tls.c:144,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/quic/tls.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - session
    argTypes:
    - knot_tls_conn_t*
    - struct knot_tls_session*
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: knot_tls_session_load
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 1
    functionsReached:
    - gnutls_session_set_data
    - free
    - gnutls_free
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_session_load(knot_tls_conn_t *conn, struct knot_tls_session
      *session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_set_timeout
      Src: /src/knot-dns/src/libknot/quic/tls.c:165,1
    - Dst: gnutls_handshake
      Src: /src/knot-dns/src/libknot/quic/tls.c:167,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/libknot/quic/tls.c:168,1
    - Dst: knot_tls_pin_check
      Src: /src/knot-dns/src/libknot/quic/tls.c:173,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/libknot/quic/tls.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - conn
    - oneshot
    argTypes:
    - knot_tls_conn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: knot_tls_handshake
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 0
    functionsReached:
    - gnutls_error_is_fatal
    - knot_tls_pin_check
    - gnutls_record_set_timeout
    - gnutls_handshake
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_handshake(knot_tls_conn_t *conn, bool oneshot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_set_timeout
      Src: /src/knot-dns/src/libknot/quic/tls.c:201,1
    - Dst: gnutls_record_recv
      Src: /src/knot-dns/src/libknot/quic/tls.c:207,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/libknot/quic/tls.c:215,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/quic/tls.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - conn
    - data
    - size
    - timeout_ptr
    - oneshot
    argTypes:
    - knot_tls_conn_t*
    - void*
    - size_t
    - int*
    - bool
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: recv_data
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 3
    functionsReached:
    - gnutls_error_is_fatal
    - assert
    - gnutls_record_set_timeout
    - gnutls_record_recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recv_data(knot_tls_conn_t *conn, void *data, size_t size,\n
      \                        int *timeout_ptr, bool oneshot)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv_data
      Src: /src/knot-dns/src/libknot/quic/tls.c:246,1
    - Dst: ntohs
      Src: /src/knot-dns/src/libknot/quic/tls.c:251,1
    - Dst: recv_data
      Src: /src/knot-dns/src/libknot/quic/tls.c:256,1
    - Dst: recv_data
      Src: /src/knot-dns/src/libknot/quic/tls.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - conn
    - data
    - size
    argTypes:
    - knot_tls_conn_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 265
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 265
    functionName: knot_tls_recv
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 2
    functionsReached:
    - ntohs
    - recv_data
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_recv(knot_tls_conn_t *conn, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_cork
      Src: /src/knot-dns/src/libknot/quic/tls.c:280,1
    - Dst: gnutls_record_send
      Src: /src/knot-dns/src/libknot/quic/tls.c:284,1
    - Dst: gnutls_record_send
      Src: /src/knot-dns/src/libknot/quic/tls.c:290,1
    - Dst: gnutls_record_set_timeout
      Src: /src/knot-dns/src/libknot/quic/tls.c:296,1
    - Dst: gnutls_record_check_corked
      Src: /src/knot-dns/src/libknot/quic/tls.c:299,1
    - Dst: gnutls_record_uncork
      Src: /src/knot-dns/src/libknot/quic/tls.c:301,1
    - Dst: gnutls_error_is_fatal
      Src: /src/knot-dns/src/libknot/quic/tls.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - conn
    - data
    - size
    argTypes:
    - knot_tls_conn_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 311
    functionName: knot_tls_send
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 3
    functionsReached:
    - gnutls_record_uncork
    - gnutls_record_send
    - gnutls_record_cork
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - gnutls_record_check_corked
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_send(knot_tls_conn_t *conn, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - block
    argTypes:
    - knot_tls_conn_t*
    - bool
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: knot_tls_conn_block
    functionSourceFile: /src/knot-dns/src/libknot/quic/tls.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tls_conn_block(knot_tls_conn_t *conn, bool block)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: knot_tcp_next_seqno
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_tcp_next_seqno(const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - relay
    argTypes:
    - knot_tcp_relay_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: knot_tcp_relay_empty
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool knot_tcp_relay_empty(const knot_tcp_relay_t *relay)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - config
    argTypes:
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: valid_config
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_config(const knot_xdp_config_t *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: ring_size
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ring_size(const knot_xdp_config_t *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:62,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:79,1
    - Dst: xsk_umem__create
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:90,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:93,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:94,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:107,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:109,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:112,1
    - Dst: xsk_ring_prod__fill_addr
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:114,1
    - Dst: xsk_ring_prod__submit
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - out_umem
    - ring_size
    argTypes:
    - struct kxsk_umem**
    - uint32_t
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: configure_xsk_umem
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - xsk_umem__create
    - assert
    - calloc
    - free
    - xsk_ring_prod__submit
    - xsk_ring_prod__reserve
    - xsk_ring_prod__fill_addr
    linkageType: ''
    returnType: int
    signature: int configure_xsk_umem(struct kxsk_umem **out_umem, uint32_t ring_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xsk_umem__delete
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:123,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:124,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - umem
    argTypes:
    - struct kxsk_umem*
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: deconfigure_xsk_umem
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - free
    - xsk_umem__delete
    linkageType: ''
    returnType: void
    signature: void deconfigure_xsk_umem(struct kxsk_umem *umem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:132,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:134,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:138,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:140,1
    - Dst: setsockopt
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:144,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - socket
    - timeout_us
    - budget
    argTypes:
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: enable_busypoll
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int enable_busypoll(int socket, unsigned timeout_us, unsigned budget)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:160,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:183,1
    - Dst: enable_busypoll
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:188,1
    - Dst: xsk_socket__fd
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:188,1
    - Dst: xsk_socket__delete
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:191,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - umem
    - iface
    - out_sock
    - config
    argTypes:
    - struct kxsk_umem*
    - struct kxsk_iface*
    - knot_xdp_socket_t**
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 200
    functionName: configure_xsk_socket
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - xsk_socket__fd
    - xsk_socket__delete
    - enable_busypoll
    - calloc
    - free
    linkageType: ''
    returnType: int
    signature: "int configure_xsk_socket(struct kxsk_umem *umem,\n                                const
      struct kxsk_iface *iface,\n                                knot_xdp_socket_t
      **out_sock,\n                                const knot_xdp_config_t *config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: valid_config
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:207,1
    - Dst: configure_xsk_umem
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:222,1
    - Dst: ring_size
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:222,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:224,1
    - Dst: configure_xsk_socket
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:228,1
    - Dst: deconfigure_xsk_umem
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:230,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:231,1
    - Dst: knot_eth_mtu
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:236,1
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:238,1
    - Dst: knot_eth_vlans
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:242,1
    - Dst: xsk_socket__delete
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:244,1
    - Dst: deconfigure_xsk_umem
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:245,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:246,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:247,1
    - Dst: kxsk_socket_start
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:253,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:255,1
    - Dst: xsk_socket__delete
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:256,1
    - Dst: deconfigure_xsk_umem
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:257,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:258,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 8
    argNames:
    - socket
    - if_name
    - if_queue
    - flags
    - udp_port
    - quic_port
    - load_bpf
    - xdp_config
    argTypes:
    - knot_xdp_socket_t**
    - char*
    - int
    - knot_xdp_filter_flag_t
    - uint16_t
    - uint16_t
    - knot_xdp_load_bpf_t
    - knot_xdp_config_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 265
    functionName: knot_xdp_init
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 1
    functionsReached:
    - xsk_socket__delete
    - knot_eth_vlans
    - free
    - ring_size
    - configure_xsk_socket
    - knot_eth_mtu
    - deconfigure_xsk_umem
    - kxsk_iface_free
    - MIN
    - kxsk_socket_start
    - valid_config
    - configure_xsk_umem
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_init(knot_xdp_socket_t **socket, const char *if_name,
      int if_queue,\n                  knot_xdp_filter_flag_t flags, uint16_t udp_port,
      uint16_t quic_port,\n                  knot_xdp_load_bpf_t load_bpf, const knot_xdp_config_t
      *xdp_config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:273,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:274,1
    - Dst: kxsk_socket_stop
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:278,1
    - Dst: xsk_socket__delete
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:279,1
    - Dst: deconfigure_xsk_umem
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:280,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:282,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:283,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - socket
    argTypes:
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 285
    functionName: knot_xdp_deinit
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 3
    functionsReached:
    - xsk_socket__delete
    - free
    - kxsk_socket_stop
    - unlikely
    - kxsk_iface_free
    - deconfigure_xsk_umem
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_deinit(knot_xdp_socket_t *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xsk_socket__fd
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - socket
    argTypes:
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: knot_xdp_socket_fd
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 3
    functionsReached:
    - xsk_socket__fd
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_socket_fd(knot_xdp_socket_t *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - umem
    - addr_relative
    argTypes:
    - struct kxsk_umem*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: tx_free_relative
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void tx_free_relative(struct kxsk_umem *umem, uint64_t addr_relative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:308,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:320,1
    - Dst: tx_free_relative
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:324,1
    - Dst: xsk_ring_cons__release
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - socket
    argTypes:
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: knot_xdp_send_prepare
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 4
    functionsReached:
    - assert
    - xsk_ring_cons__release
    - unlikely
    - tx_free_relative
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_send_prepare(knot_xdp_socket_t *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:332,1
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:333,1
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:339,1
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:340,1
    - Dst: sendto
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:341,1
    - Dst: xsk_socket__fd
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:341,1
    - Dst: nanosleep
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:344,1
    - Dst: knot_xdp_send_prepare
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - socket
    argTypes:
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 350
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 350
    functionName: alloc_tx_frame
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - xsk_socket__fd
    - nanosleep
    - knot_xdp_send_prepare
    - xsk_ring_prod__needs_wakeup
    - unlikely
    - malloc
    - sendto
    linkageType: ''
    returnType: struct umem_frame
    signature: struct umem_frame *alloc_tx_frame(knot_xdp_socket_t *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - uframe
    argTypes:
    - knot_xdp_msg_t*
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: prepare_payload
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepare_payload(knot_xdp_msg_t *msg, void *uframe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_tx_frame
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:367,1
    - Dst: msg_init
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:372,1
    - Dst: prepare_payload
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - socket
    - flags
    - out
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_flag_t
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: knot_xdp_send_alloc
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - prepare_payload
    - msg_init
    - alloc_tx_frame
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_send_alloc(knot_xdp_socket_t *socket, knot_xdp_msg_flag_t
      flags,\n                        knot_xdp_msg_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_tx_frame
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:386,1
    - Dst: msg_init_reply
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:391,1
    - Dst: prepare_payload
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - socket
    - query
    - out
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: knot_xdp_reply_alloc
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 3
    functionsReached:
    - prepare_payload
    - msg_init_reply
    - alloc_tx_frame
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_reply_alloc(knot_xdp_socket_t *socket, const knot_xdp_msg_t
      *query,\n                         knot_xdp_msg_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:399,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:400,1
    - Dst: prot_write_hdrs_len
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:400,1
    - Dst: tx_free_relative
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - socket
    - msg
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: free_unsent
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - free
    - prot_write_hdrs_len
    - unlikely
    - tx_free_relative
    linkageType: ''
    returnType: void
    signature: void free_unsent(knot_xdp_socket_t *socket, const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:415,1
    - Dst: knot_xdp_send_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:417,1
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:428,1
    - Dst: xsk_prod_nb_free
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:428,1
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:429,1
    - Dst: sendto
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:430,1
    - Dst: xsk_socket__fd
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:430,1
    - Dst: nanosleep
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:433,1
    - Dst: empty_msg
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:440,1
    - Dst: free_unsent
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:441,1
    - Dst: prot_write_eth
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:447,1
    - Dst: xsk_ring_prod__tx_desc
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:449,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:457,1
    - Dst: xsk_ring_prod__submit
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:459,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - socket
    - msgs
    - count
    - sent
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t[]
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 462
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 462
    functionName: knot_xdp_send
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 3
    functionsReached:
    - xsk_socket__fd
    - assert
    - nanosleep
    - xsk_ring_prod__tx_desc
    - free_unsent
    - xsk_ring_prod__submit
    - xsk_ring_prod__needs_wakeup
    - unlikely
    - prot_write_eth
    - knot_xdp_send_free
    - xsk_prod_nb_free
    - empty_msg
    - sendto
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_send(knot_xdp_socket_t *socket, const knot_xdp_msg_t
      msgs[],\n                  uint32_t count, uint32_t *sent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_unsent
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - socket
    - msgs
    - count
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: knot_xdp_send_free
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 3
    functionsReached:
    - free_unsent
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_send_free(knot_xdp_socket_t *socket, const knot_xdp_msg_t
      msgs[],\n                        uint32_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - socket
    argTypes:
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: knot_xdp_send_finish
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 4
    functionsReached:
    - xsk_ring_prod__needs_wakeup
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_send_finish(knot_xdp_socket_t *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:509,1
    - Dst: xsk_ring_cons__rx_desc
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:513,1
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:522,1
    - Dst: xsk_ring_cons__release
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - socket
    - msgs
    - max_count
    - count
    - wire_size
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t[]
    - uint32_t
    - uint32_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 533
    functionName: knot_xdp_recv
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 1
    functionsReached:
    - assert
    - xsk_ring_cons__release
    - xsk_ring_cons__rx_desc
    - MIN
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_recv(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[],\n
      \                 uint32_t max_count, uint32_t *count, size_t *wire_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: msg_uframe_ptr
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *msg_uframe_ptr(const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:553,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:553,1
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:554,1
    - Dst: recvfrom
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:555,1
    - Dst: xsk_socket__fd
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:555,1
    - Dst: nanosleep
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:558,1
    - Dst: xsk_ring_prod__fill_addr
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:564,1
    - Dst: xsk_ring_prod__submit
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - socket
    - msgs
    - count
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_msg_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 569
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 569
    functionName: knot_xdp_recv_finish
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 2
    functionsReached:
    - xsk_socket__fd
    - nanosleep
    - recvfrom
    - xsk_ring_prod__submit
    - xsk_ring_prod__needs_wakeup
    - unlikely
    - xsk_ring_prod__reserve
    - xsk_ring_prod__fill_addr
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_xdp_recv_finish(knot_xdp_socket_t *socket, const knot_xdp_msg_t
      msgs[],\n                          uint32_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:588,1
    - Dst: fprintf
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:592,1
    - Dst: RING_PRINFO
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:594,1
    - Dst: RING_PRINFO
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:595,1
    - Dst: RING_PRINFO
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:596,1
    - Dst: RING_PRINFO
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:597,1
    - Dst: fprintf
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - socket
    - file
    argTypes:
    - knot_xdp_socket_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 599
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 599
    functionName: knot_xdp_socket_info
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 0
    functionsReached:
    - RING_PRINFO
    - fprintf
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE
      *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:608,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:620,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:626,1
    - Dst: RING_BUSY
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:629,1
    - Dst: RING_BUSY
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:630,1
    - Dst: RING_BUSY
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:631,1
    - Dst: RING_BUSY
      Src: /src/knot-dns/src/libknot/xdp/xdp.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - socket
    - stats
    argTypes:
    - knot_xdp_socket_t*
    - knot_xdp_stats_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 635
    functionName: knot_xdp_socket_stats
    functionSourceFile: /src/knot-dns/src/libknot/xdp/xdp.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - RING_BUSY
    - memcpy
    - memset
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_socket_stats(knot_xdp_socket_t *socket, knot_xdp_stats_t
      *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_lookup_elem
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:54,1
    - Dst: bpf_xdp_adjust_meta
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:66,1
    - Dst: bpf_htons
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:95,1
    - Dst: __builtin_memcpy
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:101,1
    - Dst: bpf_htons
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:110,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:121,1
    - Dst: bpf_htons
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:127,1
    - Dst: bpf_htons
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:134,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:145,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:210,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:227,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:231,1
    - Dst: bpf_ntohs
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:238,1
    - Dst: __builtin_memcpy
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:300,1
    - Dst: bpf_redirect_map
      Src: /src/knot-dns/src/libknot/xdp/bpf-kernel.c:312,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 173
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct xdp_md*
    constantsTouched: []
    func_position:
      end: 313
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 313
    functionName: xdp_redirect_dns_func
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-kernel.c
    functionUses: 0
    functionsReached:
    - bpf_htons
    - bpf_xdp_adjust_meta
    - bpf_ntohs
    - __builtin_memcpy
    - bpf_map_lookup_elem
    - bpf_redirect_map
    linkageType: ''
    returnType: int
    signature: int xdp_redirect_dns_func(struct xdp_md *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:36,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:45,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:52,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - devname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: knot_eth_queues
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - close
    - strlcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_eth_queues(const char *devname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:79,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:88,1
    - Dst: ioctl
      Src: /src/knot-dns/src/libknot/xdp/eth.c:90,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:92,1
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/eth.c:99,1
    - Dst: ioctl
      Src: /src/knot-dns/src/libknot/xdp/eth.c:109,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:111,1
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/eth.c:115,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:123,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/eth.c:128,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - devname
    - rss_conf
    argTypes:
    - char*
    - knot_eth_rss_conf_t**
    constantsTouched: []
    func_position:
      end: 131
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 131
    functionName: knot_eth_rss
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - calloc
    - free
    - close
    - ioctl
    - memcpy
    - knot_map_errno
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_eth_rss(const char *devname, knot_eth_rss_conf_t **rss_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:142,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:146,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:153,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - devname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 161
    functionName: knot_eth_mtu
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - close
    - strlcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_eth_mtu(const char *devname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:172,1
    - Dst: sockaddr_is_any
      Src: /src/knot-dns/src/libknot/xdp/eth.c:185,1
    - Dst: sockaddr_cmp
      Src: /src/knot-dns/src/libknot/xdp/eth.c:186,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:194,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - addr
    - out
    - out_len
    argTypes:
    - struct sockaddr_storage*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 200
    functionName: knot_eth_name_from_addr
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 0
    functionsReached:
    - freeifaddrs
    - sockaddr_cmp
    - sockaddr_is_any
    - getifaddrs
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_eth_name_from_addr(const struct sockaddr_storage *addr,
      char *out,\n                            size_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:210,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:211,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:221,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/eth.c:227,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:228,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:229,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:239,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/eth.c:240,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:241,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:242,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:248,1
    - Dst: ioctl
      Src: /src/knot-dns/src/libknot/xdp/eth.c:250,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/eth.c:251,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/eth.c:253,1
    - Dst: ioctl
      Src: /src/knot-dns/src/libknot/xdp/eth.c:255,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:256,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/eth.c:257,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:258,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/xdp/eth.c:259,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/eth.c:262,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/eth.c:266,1
    - Dst: freeifaddrs
      Src: /src/knot-dns/src/libknot/xdp/eth.c:267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - vlan_map
    - vlan_map_max
    argTypes:
    - uint16_t*[]
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 273
    functionName: knot_eth_vlans
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - free
    - close
    - ioctl
    - freeifaddrs
    - getifaddrs
    - memset
    - knot_map_errno
    - htobe16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_eth_vlans(uint16_t *vlan_map[], uint16_t *vlan_map_max)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - if_index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: knot_xdp_mode_t::knot_eth_xdp_mode
    functionSourceFile: /src/knot-dns/src/libknot/xdp/eth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_xdp_mode_t knot_eth_xdp_mode(int if_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - src_port
    - dst_port
    argTypes:
    - void*
    - uint16_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: prot_read_udp
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *prot_read_udp(void *data, uint16_t *src_port, uint16_t *dst_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:68,1
    - Dst: be32toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:69,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:70,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:89,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:90,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - data
    - msg
    - src_port
    - dst_port
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - uint16_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 102
    functionName: prot_read_tcp
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - memcpy
    - be16toh
    - be32toh
    linkageType: ''
    returnType: void
    signature: void *prot_read_tcp(void *data, knot_xdp_msg_t *msg, uint16_t *src_port,
      uint16_t *dst_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:109,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:110,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:110,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:115,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:116,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:122,1
    - Dst: prot_read_tcp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:126,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:128,1
    - Dst: prot_read_udp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - data
    - msg
    - data_end
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void**
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: prot_read_ipv4
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - assert
    - __constant_htons
    - prot_read_udp
    - be16toh
    - prot_read_tcp
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *prot_read_ipv4(void *data, knot_xdp_msg_t *msg, void **data_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:140,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:144,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:145,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:155,1
    - Dst: prot_read_tcp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:158,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:160,1
    - Dst: prot_read_udp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - data
    - msg
    - data_end
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void**
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: prot_read_ipv6
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - assert
    - prot_read_udp
    - be16toh
    - prot_read_tcp
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *prot_read_ipv6(void *data, knot_xdp_msg_t *msg, void **data_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:171,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:172,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:175,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:177,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:180,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:188,1
    - Dst: prot_read_ipv6
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:189,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:191,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:191,1
    - Dst: prot_read_ipv4
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - data
    - msg
    - data_end
    - vlan_map
    - vlan_map_max
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void**
    - uint16_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 194
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 194
    functionName: prot_read_eth
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - assert
    - __constant_htons
    - prot_read_ipv6
    - prot_read_ipv4
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void *prot_read_eth(void *data, knot_xdp_msg_t *msg, void **data_end,\n
      \                                 const uint16_t *vlan_map, unsigned vlan_map_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - msg
    argTypes:
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 220
    functionName: prot_write_hdrs_len
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t prot_write_hdrs_len(const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - result
    - _data
    - _data_len
    argTypes:
    - uint32_t*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: checksum
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void checksum(uint32_t *result, const void *_data, uint32_t _data_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - x
    argTypes:
    - uint32_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: checksum_uint16
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - checksum
    linkageType: ''
    returnType: void
    signature: void checksum_uint16(uint32_t *result, uint16_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - result
    - payload
    - pay_len
    argTypes:
    - uint32_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: checksum_payload
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - checksum
    linkageType: ''
    returnType: void
    signature: void checksum_payload(uint32_t *result, void *payload, size_t pay_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - result
    - nonzero
    argTypes:
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: checksum_finish
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t checksum_finish(uint32_t result, bool nonzero)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:269,1
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:275,1
    - Dst: checksum_uint16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:276,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:276,1
    - Dst: checksum_payload
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:277,1
    - Dst: checksum_finish
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:278,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - data
    - msg
    - data_end
    - src_port
    - dst_port
    - chksum
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void*
    - uint16_t
    - uint16_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 284
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 284
    functionName: prot_write_udp
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - checksum
    - assert
    - checksum_payload
    - checksum_uint16
    - htobe16
    - checksum_finish
    linkageType: ''
    returnType: void
    signature: "void prot_write_udp(void *data, const knot_xdp_msg_t *msg, void *data_end,\n
      \                                 uint16_t src_port, uint16_t dst_port, uint32_t
      chksum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:294,1
    - Dst: htobe32
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:295,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:296,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:319,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:322,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:328,1
    - Dst: checksum_uint16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:330,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:330,1
    - Dst: checksum_uint16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:331,1
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:331,1
    - Dst: checksum_payload
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:332,1
    - Dst: checksum_finish
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:333,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 7
    argNames:
    - data
    - msg
    - data_end
    - src_port
    - dst_port
    - chksum
    - mss
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void*
    - uint16_t
    - uint16_t
    - uint32_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 336
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 336
    functionName: prot_write_tcp
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - assert
    - htobe32
    - memcpy
    - checksum_payload
    - checksum_uint16
    - htobe16
    - checksum_finish
    linkageType: ''
    returnType: void
    signature: "void prot_write_tcp(void *data, const knot_xdp_msg_t *msg, void *data_end,\n
      \                                 uint16_t src_port, uint16_t dst_port, uint32_t
      chksum,\n                                  uint16_t mss)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sum
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: from32to16
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t from32to16(uint32_t sum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from32to16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ipv4_hdr
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: ipv4_checksum
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - from32to16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ipv4_checksum(const uint16_t *ipv4_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:364,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:372,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:373,1
    - Dst: ipv4_checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:375,1
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:381,1
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:382,1
    - Dst: prot_write_tcp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:384,1
    - Dst: prot_write_udp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - data
    - msg
    - data_end
    - tcp_mss
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 388
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 388
    functionName: prot_write_ipv4
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - ipv4_checksum
    - checksum
    - prot_write_udp
    - prot_write_tcp
    - memcpy
    - htobe16
    linkageType: ''
    returnType: void
    signature: "void prot_write_ipv4(void *data, const knot_xdp_msg_t *msg,\n                                   void
      *data_end, uint16_t tcp_mss)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:398,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:402,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:406,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:407,1
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:412,1
    - Dst: checksum
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:413,1
    - Dst: prot_write_tcp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:416,1
    - Dst: prot_write_udp
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - data
    - msg
    - data_end
    - tcp_mss
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 420
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 420
    functionName: prot_write_ipv6
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 0
    functionsReached:
    - checksum
    - prot_write_udp
    - memset
    - prot_write_tcp
    - memcpy
    - htobe16
    linkageType: ''
    returnType: void
    signature: "void prot_write_ipv6(void *data, const knot_xdp_msg_t *msg,\n                                   void
      *data_end, uint16_t tcp_mss)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:427,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:428,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:431,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:432,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:440,1
    - Dst: prot_write_ipv6
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:441,1
    - Dst: __constant_htons
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:443,1
    - Dst: prot_write_ipv4
      Src: /src/knot-dns/src/libknot/xdp/protocols.h:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - data
    - msg
    - data_end
    - tcp_mss
    argTypes:
    - void*
    - knot_xdp_msg_t*
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 446
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 446
    functionName: prot_write_eth
    functionSourceFile: /src/knot-dns/src/libknot/xdp/protocols.h
    functionUses: 1
    functionsReached:
    - memcpy
    - prot_write_ipv4
    - prot_write_ipv6
    - __constant_htons
    linkageType: ''
    returnType: void
    signature: "void prot_write_eth(void *data, const knot_xdp_msg_t *msg,\n                                  void
      *data_end, uint16_t tcp_mss)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: empty_msg
    functionSourceFile: /src/knot-dns/src/libknot/xdp/msg_init.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty_msg(const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - flags
    argTypes:
    - knot_xdp_msg_t*
    - knot_xdp_msg_flag_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: msg_init_base
    functionSourceFile: /src/knot-dns/src/libknot/xdp/msg_init.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void msg_init_base(knot_xdp_msg_t *msg, knot_xdp_msg_flag_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_init_base
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:32,1
    - Dst: dnssec_random_uint32_t
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - flags
    argTypes:
    - knot_xdp_msg_t*
    - knot_xdp_msg_flag_t
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: msg_init
    functionSourceFile: /src/knot-dns/src/libknot/xdp/msg_init.h
    functionUses: 2
    functionsReached:
    - dnssec_random_uint32_t
    - msg_init_base
    linkageType: ''
    returnType: void
    signature: void msg_init(knot_xdp_msg_t *msg, knot_xdp_msg_flag_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg_init_base
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:45,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:48,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:49,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:51,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:52,1
    - Dst: knot_tcp_next_seqno
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:57,1
    - Dst: dnssec_random_uint32_t
      Src: /src/knot-dns/src/libknot/xdp/msg_init.h:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - query
    argTypes:
    - knot_xdp_msg_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: msg_init_reply
    functionSourceFile: /src/knot-dns/src/libknot/xdp/msg_init.h
    functionUses: 1
    functionsReached:
    - memcpy
    - dnssec_random_uint32_t
    - knot_tcp_next_seqno
    - msg_init_base
    linkageType: ''
    returnType: void
    signature: void msg_init_reply(knot_xdp_msg_t *msg, const knot_xdp_msg_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: get_timestamp
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 5
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_timestamp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:32,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rem
    - loc
    argTypes:
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: sockaddr_data_len
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t sockaddr_data_len(const struct sockaddr_in6 *rem, const struct
      sockaddr_in6 *loc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SipHash24_Init
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:46,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:47,1
    - Dst: SipHash24_Update
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:48,1
    - Dst: SipHash24_End
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rem
    - loc
    - table
    argTypes:
    - struct sockaddr_in6*
    - struct sockaddr_in6*
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: hash_four_tuple
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - SipHash24_Update
    - SipHash24_Init
    - SipHash24_End
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t hash_four_tuple(const struct sockaddr_in6 *rem, const struct
      sockaddr_in6 *loc,\n                                knot_tcp_table_t *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tcp_table_timeout
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: list_t
    signature: list_t *tcp_table_timeout(knot_tcp_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tcp_conn_node
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: node_t
    signature: node_t *tcp_conn_node(knot_tcp_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_conn_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: conn_removed
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - tcp_conn_node
    linkageType: ''
    returnType: bool
    signature: bool conn_removed(knot_tcp_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:70,1
    - Dst: conn_removed
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - knot_tcp_conn_t**
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: next_node_ptr
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_removed
    linkageType: ''
    returnType: void
    signature: void next_node_ptr(knot_tcp_conn_t **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_node_ptr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - knot_tcp_conn_t**
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: next_ptr_ibuf
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - next_node_ptr
    linkageType: ''
    returnType: void
    signature: void next_ptr_ibuf(knot_tcp_conn_t **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_node_ptr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:89,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - knot_tcp_conn_t**
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: next_ptr_obuf
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - knot_tcp_outbufs_usage
    - next_node_ptr
    linkageType: ''
    returnType: void
    signature: void next_ptr_obuf(knot_tcp_conn_t **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:96,1
    - Dst: init_list
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:103,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:103,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:105,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:107,1
    - Dst: dnssec_random_uint64_t
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: knot_tcp_table_t *knot_tcp_table_new(size_t size, knot_tcp_table_t
      *secret_share)
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - dnssec_random_uint64_t
    - assert
    - calloc
    - tcp_table_timeout
    - init_list
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tcp_table_t *knot_tcp_table_new(size_t size, knot_tcp_table_t
      *secret_share)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:120,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:123,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: del_conn
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void del_conn(knot_tcp_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:135,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:135,1
    - Dst: del_conn
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:136,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: knot_tcp_table_free
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 3
    functionsReached:
    - del_conn
    - free
    - tcp_table_timeout
    - WALK_LIST_DELSAFE
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tcp_table_free(knot_tcp_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_four_tuple
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:147,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:152,1
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: tcp_table_lookup
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 1
    functionsReached:
    - memcmp
    - hash_four_tuple
    linkageType: ''
    returnType: knot_tcp_conn_t
    signature: "knot_tcp_conn_t **tcp_table_lookup(const struct sockaddr_in6 *rem,\n
      \                                         const struct sockaddr_in6 *loc,\n
      \                                         uint64_t *hash, knot_tcp_table_t *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_table_lookup
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:165,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: tcp_table_re_lookup
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 1
    functionsReached:
    - assert
    - tcp_table_lookup
    linkageType: ''
    returnType: knot_tcp_conn_t
    signature: "knot_tcp_conn_t **tcp_table_re_lookup(knot_tcp_conn_t *conn,\n                                             knot_tcp_table_t
      *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:173,1
    - Dst: conn_removed
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:173,1
    - Dst: next_node_ptr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:175,1
    - Dst: next_ptr_ibuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:178,1
    - Dst: next_ptr_obuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:181,1
    - Dst: next_ptr_obuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - to_rem
    - table
    argTypes:
    - knot_tcp_conn_t*
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: rem_align_pointers
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - conn_removed
    - next_ptr_ibuf
    - next_ptr_obuf
    - next_node_ptr
    linkageType: ''
    returnType: void
    signature: void rem_align_pointers(knot_tcp_conn_t *to_rem, knot_tcp_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rem_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:190,1
    - Dst: tcp_conn_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - todel
    argTypes:
    - knot_tcp_conn_t**
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: tcp_table_remove_conn
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - tcp_conn_node
    - rem_node
    linkageType: ''
    returnType: void
    signature: void tcp_table_remove_conn(knot_tcp_conn_t **todel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:196,1
    - Dst: rem_align_pointers
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:197,1
    - Dst: buffer_alloc_size
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:198,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:199,1
    - Dst: tcp_table_remove_conn
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - todel
    - table
    argTypes:
    - knot_tcp_conn_t**
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: tcp_table_remove
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 1
    functionsReached:
    - knot_tcp_outbufs_usage
    - assert
    - rem_align_pointers
    - buffer_alloc_size
    - tcp_table_remove_conn
    linkageType: ''
    returnType: void
    signature: void tcp_table_remove(knot_tcp_conn_t **todel, knot_tcp_table_t *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:206,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:207,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:209,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:210,1
    - Dst: get_timestamp
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:216,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:221,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - msg
    argTypes:
    - knot_tcp_conn_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: conn_init_from_msg
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - get_timestamp
    - memset
    linkageType: ''
    returnType: void
    signature: void conn_init_from_msg(knot_tcp_conn_t *conn, knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_tail
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:229,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:229,1
    - Dst: tcp_conn_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - conn
    - hash
    - table
    argTypes:
    - knot_tcp_conn_t*
    - uint64_t
    - knot_tcp_table_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: tcp_table_insert
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - add_tail
    - tcp_table_timeout
    - tcp_conn_node
    linkageType: ''
    returnType: void
    signature: "void tcp_table_insert(knot_tcp_conn_t *conn, uint64_t hash,\n                             knot_tcp_table_t
      *table)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:242,1
    - Dst: conn_init_from_msg
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:246,1
    - Dst: tcp_table_insert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - msg
    - hash
    - table
    - res
    argTypes:
    - knot_xdp_msg_t*
    - uint64_t
    - knot_tcp_table_t*
    - knot_tcp_conn_t**
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: tcp_table_add
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - malloc
    - conn_init_from_msg
    - tcp_table_insert
    linkageType: ''
    returnType: int
    signature: "int tcp_table_add(knot_xdp_msg_t *msg, uint64_t hash, knot_tcp_table_t
      *table,\n                         knot_tcp_conn_t **res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - knot_xdp_msg_t*
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: check_seq_ack
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_seq_ack(const knot_xdp_msg_t *msg, const knot_tcp_conn_t
      *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tcp_next_seqno
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:267,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:268,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - msg
    argTypes:
    - knot_tcp_conn_t*
    - knot_xdp_msg_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: conn_update
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_tcp_next_seqno
    linkageType: ''
    returnType: void
    signature: void conn_update(knot_tcp_conn_t *conn, const knot_xdp_msg_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:287,1
    - Dst: tcp_table_lookup
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:296,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:301,1
    - Dst: conn_update
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:302,1
    - Dst: rem_align_pointers
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:304,1
    - Dst: rem_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:305,1
    - Dst: tcp_conn_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:305,1
    - Dst: add_tail
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:306,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:306,1
    - Dst: tcp_conn_node
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:306,1
    - Dst: knot_tcp_outbufs_ack
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:310,1
    - Dst: knot_tcp_inbufs_upd
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:322,1
    - Dst: tcp_table_lookup
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:346,1
    - Dst: tcp_table_add
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:351,1
    - Dst: MAX
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:360,1
    - Dst: conn_update
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:362,1
    - Dst: dnssec_random_uint32_t
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:364,1
    - Dst: tcp_table_lookup
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:375,1
    - Dst: check_seq_ack
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:376,1
    - Dst: tcp_table_remove
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:378,1
    - Dst: tcp_table_insert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:379,1
    - Dst: conn_update
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:383,1
    - Dst: tcp_table_remove
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:396,1
    - Dst: tcp_table_remove
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:417,1
    - Dst: tcp_table_remove
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:428,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 131
    argCount: 5
    argNames:
    - relay
    - msg
    - tcp_table
    - syn_table
    - ignore
    argTypes:
    - knot_tcp_relay_t*
    - knot_xdp_msg_t*
    - knot_tcp_table_t*
    - knot_tcp_table_t*
    - knot_tcp_ignore_t
    constantsTouched: []
    func_position:
      end: 439
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 439
    functionName: knot_tcp_recv
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 6
    functionsReached:
    - assert
    - tcp_table_add
    - dnssec_random_uint32_t
    - tcp_conn_node
    - rem_node
    - tcp_table_insert
    - conn_update
    - check_seq_ack
    - tcp_table_timeout
    - MAX
    - rem_align_pointers
    - tcp_table_remove
    - add_tail
    - knot_tcp_inbufs_upd
    - memset
    - knot_tcp_outbufs_ack
    - tcp_table_lookup
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_recv(knot_tcp_relay_t *relay, knot_xdp_msg_t *msg,\n
      \                 knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,\n
      \                 knot_tcp_ignore_t ignore)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_removed
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:445,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:451,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - relay
    - tcp_table
    - ignore_lastbyte
    - data
    - len
    argTypes:
    - knot_tcp_relay_t*
    - knot_tcp_table_t*
    - bool
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 458
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 458
    functionName: knot_tcp_reply_data
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 2
    functionsReached:
    - knot_tcp_outbufs_usage
    - conn_removed
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_reply_data(knot_tcp_relay_t *relay, knot_tcp_table_t
      *tcp_table,\n                        bool ignore_lastbyte, uint8_t *data, uint32_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msgs
    - n_msgs
    argTypes:
    - knot_xdp_msg_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: first_msg
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: knot_xdp_msg_t
    signature: knot_xdp_msg_t *first_msg(knot_xdp_msg_t *msgs, uint32_t n_msgs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:468,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:469,1
    - Dst: knot_xdp_send
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - msgs
    - n_msgs
    - socket
    argTypes:
    - knot_xdp_msg_t*
    - uint32_t
    - knot_xdp_socket_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 4
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: send_msgs
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - assert
    - knot_xdp_send
    linkageType: ''
    returnType: int
    signature: int send_msgs(knot_xdp_msg_t *msgs, uint32_t n_msgs, knot_xdp_socket_t
      *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:481,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:482,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:483,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - knot_xdp_msg_t*
    - knot_tcp_conn_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 493
    functionName: msg_init_from_conn
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void msg_init_from_conn(knot_xdp_msg_t *msg, knot_tcp_conn_t *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first_msg
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:504,1
    - Dst: msg_init_from_conn
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - msgs
    - n_msgs
    - cur
    - socket
    - rl
    argTypes:
    - knot_xdp_msg_t*
    - uint32_t
    - knot_xdp_msg_t**
    - knot_xdp_socket_t*
    - knot_tcp_relay_t*
    constantsTouched: []
    func_position:
      end: 526
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 526
    functionName: next_msg
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - first_msg
    - msg_init_from_conn
    linkageType: ''
    returnType: int
    signature: "int next_msg(knot_xdp_msg_t *msgs, uint32_t n_msgs, knot_xdp_msg_t
      **cur,\n                    knot_xdp_socket_t *socket, knot_tcp_relay_t *rl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first_msg
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:539,1
    - Dst: knot_tcp_outbufs_can_send
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:584,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:591,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:594,1
    - Dst: send_msgs
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - socket
    - relays
    - relay_count
    - max_at_once
    argTypes:
    - knot_xdp_socket_t*
    - knot_tcp_relay_t[]
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 610
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 610
    functionName: knot_tcp_send
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 12
    functionsReached:
    - assert
    - first_msg
    - send_msgs
    - knot_tcp_outbufs_can_send
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_send(knot_xdp_socket_t *socket, knot_tcp_relay_t
      relays[],\n                  uint32_t relay_count, uint32_t max_at_once)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_table_remove
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:617,1
    - Dst: tcp_table_re_lookup
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:617,1
    - Dst: buffer_alloc_size
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:620,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:621,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - tcp_table
    - rl
    - free_conns
    - free_inbuf
    - free_outbuf
    - stats
    - counter
    argTypes:
    - knot_tcp_table_t*
    - knot_tcp_relay_t*
    - ssize_t*
    - ssize_t*
    - ssize_t*
    - knot_sweep_stats_t*
    - knot_sweep_counter_t
    constantsTouched: []
    func_position:
      end: 624
      start: 612
    functionDepth: 6
    functionLinenumber: 612
    functionLinenumberEnd: 624
    functionName: sweep_reset
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 0
    functionsReached:
    - knot_tcp_outbufs_usage
    - tcp_table_re_lookup
    - tcp_table_remove
    - buffer_alloc_size
    - knot_sweep_stats_incr
    linkageType: ''
    returnType: void
    signature: "void sweep_reset(knot_tcp_table_t *tcp_table, knot_tcp_relay_t *rl,\n
      \                       ssize_t *free_conns, ssize_t *free_inbuf, ssize_t *free_outbuf,\n
      \                       knot_sweep_stats_t *stats, knot_sweep_counter_t counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:639,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:648,1
    - Dst: next_ptr_ibuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:650,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:652,1
    - Dst: sweep_reset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:654,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:661,1
    - Dst: knot_tcp_outbufs_usage
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:662,1
    - Dst: next_ptr_obuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:663,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:665,1
    - Dst: sweep_reset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:667,1
    - Dst: WALK_LIST_DELSAFE
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:674,1
    - Dst: tcp_table_timeout
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:674,1
    - Dst: sweep_reset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:683,1
    - Dst: knot_sweep_stats_incr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:695,1
    - Dst: next_node_ptr
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:698,1
    - Dst: next_ptr_obuf
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:708,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 10
    argNames:
    - tcp_table
    - close_timeout
    - reset_timeout
    - resend_timeout
    - limit_conn_count
    - limit_ibuf_size
    - limit_obuf_size
    - relays
    - max_relays
    - stats
    argTypes:
    - knot_tcp_table_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - size_t
    - size_t
    - knot_tcp_relay_t*
    - uint32_t
    - struct knot_sweep_stats*
    constantsTouched: []
    func_position:
      end: 712
      start: 626
    functionDepth: 7
    functionLinenumber: 626
    functionLinenumberEnd: 712
    functionName: knot_tcp_sweep
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 4
    functionsReached:
    - knot_tcp_outbufs_usage
    - assert
    - WALK_LIST_DELSAFE
    - tcp_table_timeout
    - sweep_reset
    - next_ptr_ibuf
    - memset
    - next_ptr_obuf
    - next_node_ptr
    - knot_sweep_stats_incr
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_sweep(knot_tcp_table_t *tcp_table,\n                   uint32_t
      close_timeout, uint32_t reset_timeout,\n                   uint32_t resend_timeout,
      uint32_t limit_conn_count,\n                   size_t limit_ibuf_size, size_t
      limit_obuf_size,\n                   knot_tcp_relay_t *relays, uint32_t max_relays,\n
      \                  struct knot_sweep_stats *stats)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:721,1
    - Dst: conn_removed
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:721,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:722,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:723,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:724,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:725,1
    - Dst: del_conn
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:727,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:729,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - tcp_table
    - relays
    - relay_count
    argTypes:
    - knot_tcp_table_t*
    - knot_tcp_relay_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 732
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 732
    functionName: knot_tcp_cleanup
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp.c
    functionUses: 13
    functionsReached:
    - del_conn
    - assert
    - conn_removed
    - free
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_cleanup(knot_tcp_table_t *tcp_table, knot_tcp_relay_t
      relays[],\n                      uint32_t relay_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:20,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iov
    argTypes:
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: iov_clear
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void iov_clear(struct iovec *iov)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iov
    - shift
    argTypes:
    - struct iovec*
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: iov_inc
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void iov_inc(struct iovec *iov, size_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - payload
    argTypes:
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: tcp_payload_len
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: size_t
    signature: size_t tcp_payload_len(const struct iovec *payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - what
    - with
    argTypes:
    - struct iovec*
    - struct iovec*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: iov_append
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void iov_append(struct iovec *what, const struct iovec *with)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - inbuf_count
    - first_inbuf
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: tinbufu_alloc
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: knot_tcp_inbufs_upd_res_t
    signature: knot_tcp_inbufs_upd_res_t *tinbufu_alloc(size_t inbuf_count, size_t
      first_inbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - buffer_len
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: buffer_alloc_size
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t buffer_alloc_size(uint64_t buffer_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:86,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:88,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:91,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:107,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:112,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:120,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:123,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:127,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:129,1
    - Dst: tinbufu_alloc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:136,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:152,1
    - Dst: iov_append
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:153,1
    - Dst: iov_append
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:154,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:155,1
    - Dst: buffer_alloc_size
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:158,1
    - Dst: iov_clear
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:159,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:166,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:167,1
    - Dst: iov_append
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:169,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:170,1
    - Dst: tcp_payload_len
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:175,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:176,1
    - Dst: iov_inc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:178,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:190,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:192,1
    - Dst: iov_append
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:198,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 5
    argNames:
    - buffer
    - data
    - alloc_bufs
    - result
    - buffers_total
    argTypes:
    - struct iovec*
    - struct iovec
    - bool
    - knot_tcp_inbufs_upd_res_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 204
    functionName: knot_tcp_inbufs_upd
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 1
    functionsReached:
    - assert
    - iov_append
    - free
    - tcp_payload_len
    - tinbufu_alloc
    - buffer_alloc_size
    - iov_clear
    - iov_inc
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_inbufs_upd(struct iovec *buffer, struct iovec data,
      bool alloc_bufs,\n                        knot_tcp_inbufs_upd_res_t **result,
      size_t *buffers_total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:220,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:229,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - bufs
    - data
    - len
    - ignore_lastbyte
    - mss
    - outbufs_total
    argTypes:
    - knot_tcp_outbuf_t**
    - uint8_t*
    - size_t
    - bool
    - uint32_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 241
    functionName: knot_tcp_outbufs_add
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_outbufs_add(knot_tcp_outbuf_t **bufs, uint8_t *data,
      size_t len,\n                         bool ignore_lastbyte, uint32_t mss, size_t
      *outbufs_total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - seqno
    - ackno
    - ackno_min
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: seqno_lower
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool seqno_lower(uint32_t seqno, uint32_t ackno, uint32_t ackno_min)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seqno_lower
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:256,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - bufs
    - ackno
    - outbufs_total
    argTypes:
    - knot_tcp_outbuf_t**
    - uint32_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: knot_tcp_outbufs_ack
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 1
    functionsReached:
    - free
    - seqno_lower
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tcp_outbufs_ack(knot_tcp_outbuf_t **bufs, uint32_t ackno,
      size_t *outbufs_total)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - bufs
    - window_size
    - resend
    - send_start
    - send_count
    argTypes:
    - knot_tcp_outbuf_t*
    - ssize_t
    - bool
    - knot_tcp_outbuf_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: knot_tcp_outbufs_can_send
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tcp_outbufs_can_send(knot_tcp_outbuf_t *bufs, ssize_t
      window_size, bool resend,\n                               knot_tcp_outbuf_t
      **send_start, size_t *send_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bufs
    argTypes:
    - knot_tcp_outbuf_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: knot_tcp_outbufs_usage
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tcp_outbufs_usage(knot_tcp_outbuf_t *bufs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: IS_ERR_OR_NULL
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IS_ERR_OR_NULL(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpf_object__open_mem
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:32,1
    - Dst: IS_ERR_OR_NULL
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:33,1
    - Dst: bpf_program__set_type
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:38,1
    - Dst: bpf_object__close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:45,1
    - Dst: bpf_object__close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:51,1
    - Dst: bpf_program__fd
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pobj
    - prog_fd
    argTypes:
    - struct bpf_object**
    - int*
    constantsTouched: []
    func_position:
      end: 59
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 59
    functionName: prog_load
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 0
    functionsReached:
    - IS_ERR_OR_NULL
    - bpf_object__close
    - bpf_object__open_mem
    - bpf_program__fd
    - bpf_program__set_type
    linkageType: ''
    returnType: int
    signature: int prog_load(struct bpf_object **pobj, int *prog_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpf_xdp_attach
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:84,1
    - Dst: bpf_set_link_xdp_fd
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:86,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:89,1
    - Dst: bpf_xdp_query_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:94,1
    - Dst: bpf_get_link_xdp_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:96,1
    - Dst: bpf_prog_get_fd_by_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:99,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - iface
    - overwrite
    - generic_xdp
    argTypes:
    - struct kxsk_iface*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: ensure_prog
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 0
    functionsReached:
    - bpf_xdp_query_id
    - bpf_xdp_attach
    - bpf_set_link_xdp_fd
    - close
    - bpf_get_link_xdp_id
    - bpf_prog_get_fd_by_id
    linkageType: ''
    returnType: int
    signature: int ensure_prog(struct kxsk_iface *iface, bool overwrite, bool generic_xdp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:112,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct kxsk_iface*
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: unget_bpf_maps
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void unget_bpf_maps(struct kxsk_iface *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:140,1
    - Dst: bpf_obj_get_info_by_fd
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:152,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:154,1
    - Dst: strcmp
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:158,1
    - Dst: strcmp
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:163,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:168,1
    - Dst: unget_bpf_maps
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:172,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:173,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:177,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - prog_fd
    - iface
    argTypes:
    - int
    - struct kxsk_iface*
    constantsTouched: []
    func_position:
      end: 179
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 179
    functionName: get_bpf_maps
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 1
    functionsReached:
    - bpf_obj_get_info_by_fd
    - free
    - close
    - strcmp
    - unget_bpf_maps
    linkageType: ''
    returnType: int
    signature: int get_bpf_maps(int prog_fd, struct kxsk_iface *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_update_elem
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:200,1
    - Dst: bpf_map_delete_elem
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - iface
    - flags
    - udp_port
    - quic_port
    - xsk
    argTypes:
    - struct kxsk_iface*
    - knot_xdp_filter_flag_t
    - uint16_t
    - uint16_t
    - struct xsk_socket*
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: kxsk_socket_start
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 1
    functionsReached:
    - bpf_map_delete_elem
    - bpf_map_update_elem
    linkageType: ''
    returnType: int
    signature: "int kxsk_socket_start(const struct kxsk_iface *iface, knot_xdp_filter_flag_t
      flags,\n                      uint16_t udp_port, uint16_t quic_port, struct
      xsk_socket *xsk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bpf_map_update_elem
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:216,1
    - Dst: bpf_map_delete_elem
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct kxsk_iface*
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: kxsk_socket_stop
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 1
    functionsReached:
    - bpf_map_delete_elem
    - bpf_map_update_elem
    linkageType: ''
    returnType: void
    signature: void kxsk_socket_stop(const struct kxsk_iface *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:227,1
    - Dst: strlcpy
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:232,1
    - Dst: if_nametoindex
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:233,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:235,1
    - Dst: bpf_xdp_query_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:247,1
    - Dst: bpf_get_link_xdp_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:249,1
    - Dst: bpf_prog_get_fd_by_id
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:255,1
    - Dst: bpf_xdp_detach
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:261,1
    - Dst: bpf_set_link_xdp_fd
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:263,1
    - Dst: sleep
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:265,1
    - Dst: ensure_prog
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:268,1
    - Dst: ensure_prog
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:271,1
    - Dst: get_bpf_maps
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:278,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:281,1
    - Dst: knot_eth_xdp_mode
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:285,1
    - Dst: kxsk_iface_free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 5
    argNames:
    - if_name
    - if_queue
    - load_bpf
    - generic_xdp
    - out_iface
    argTypes:
    - char*
    - unsigned
    - knot_xdp_load_bpf_t
    - bool
    - struct kxsk_iface**
    constantsTouched: []
    func_position:
      end: 293
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 293
    functionName: kxsk_iface_new
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 0
    functionsReached:
    - bpf_xdp_query_id
    - ensure_prog
    - strlcpy
    - calloc
    - bpf_set_link_xdp_fd
    - free
    - bpf_get_link_xdp_id
    - sleep
    - get_bpf_maps
    - bpf_xdp_detach
    - bpf_prog_get_fd_by_id
    - kxsk_iface_free
    - knot_eth_xdp_mode
    - if_nametoindex
    linkageType: ''
    returnType: int
    signature: "int kxsk_iface_new(const char *if_name, unsigned if_queue, knot_xdp_load_bpf_t
      load_bpf,\n                   bool generic_xdp, struct kxsk_iface **out_iface)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unget_bpf_maps
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:301,1
    - Dst: bpf_object__close
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:304,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/xdp/bpf-user.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iface
    argTypes:
    - struct kxsk_iface*
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: kxsk_iface_free
    functionSourceFile: /src/knot-dns/src/libknot/xdp/bpf-user.c
    functionUses: 3
    functionsReached:
    - bpf_object__close
    - free
    - unget_bpf_maps
    linkageType: ''
    returnType: void
    signature: void kxsk_iface_free(struct kxsk_iface *iface)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - knot_sweep_stats_t*
    - knot_sweep_counter_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: knot_sweep_stats_incr
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void knot_sweep_stats_incr(knot_sweep_stats_t *stats, knot_sweep_counter_t
      counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/xdp/tcp_iobuf.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stats
    argTypes:
    - knot_sweep_stats_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: knot_sweep_stats_reset
    functionSourceFile: /src/knot-dns/src/libknot/xdp/tcp_iobuf.h
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void knot_sweep_stats_reset(knot_sweep_stats_t *stats)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: knot_cname_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_cname_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: knot_dname_target
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_dname_target(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: knot_ns_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_ns_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: knot_ptr_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_ptr_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: knot_mx_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_mx_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: knot_srv_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_srv_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:65,1
    - Dst: knot_ns_name
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:68,1
    - Dst: knot_ptr_name
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:70,1
    - Dst: knot_mx_name
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:72,1
    - Dst: knot_srv_name
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:74,1
    - Dst: knot_cname_name
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:76,1
    - Dst: knot_dname_target
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:78,1
    - Dst: knot_svcb_target
      Src: /src/knot-dns/src/libknot/rrtype/rdname.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - knot_rdata_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: knot_rdata_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rdname.h
    functionUses: 2
    functionsReached:
    - knot_ns_name
    - assert
    - knot_ptr_name
    - knot_dname_target
    - knot_srv_name
    - knot_cname_name
    - knot_mx_name
    - knot_svcb_target
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_rdata_name(const knot_rdata_t *rdata, uint16_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:29,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: knot_dnskey_flags
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/dnskey.h
    functionUses: 1
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_dnskey_flags(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: knot_dnskey_proto
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/dnskey.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_dnskey_proto(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: knot_dnskey_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/dnskey.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_dnskey_alg(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: knot_dnskey_key_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/dnskey.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_dnskey_key_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/dnskey.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: knot_dnskey_key
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/dnskey.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_dnskey_key(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:21,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: knot_ds_key_tag
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/ds.h
    functionUses: 0
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_ds_key_tag(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: knot_ds_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/ds.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_ds_alg(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: knot_ds_digest_type
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/ds.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_ds_digest_type(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: knot_ds_digest_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/ds.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_ds_digest_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/ds.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: knot_ds_digest
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/ds.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_ds_digest(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: knot_nsec3_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3_alg(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: knot_nsec3_flags
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3_flags(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:41,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: knot_nsec3_iters
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 2
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_nsec3_iters(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: knot_nsec3_salt_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3_salt_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: knot_nsec3_salt
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_nsec3_salt(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:62,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: knot_nsec3_next_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 3
    functionsReached:
    - knot_nsec3_salt_len
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3_next_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:69,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: knot_nsec3_next
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 3
    functionsReached:
    - knot_nsec3_salt_len
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_nsec3_next(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:76,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:77,1
    - Dst: knot_nsec3_next_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: knot_nsec3_bitmap_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 1
    functionsReached:
    - knot_nsec3_salt_len
    - assert
    - knot_nsec3_next_len
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_nsec3_bitmap_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:83,1
    - Dst: knot_nsec3_salt_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:84,1
    - Dst: knot_nsec3_next_len
      Src: /src/knot-dns/src/libknot/rrtype/nsec3.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: knot_nsec3_bitmap
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3.h
    functionUses: 1
    functionsReached:
    - knot_nsec3_salt_len
    - assert
    - knot_nsec3_next_len
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_nsec3_bitmap(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:48,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:53,1
    - Dst: knot_edns_set_ext_rcode
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:58,1
    - Dst: knot_edns_set_version
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - opt_rr
    - max_pld
    - ext_rcode
    - ver
    - mm
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint8_t
    - uint8_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: knot_edns_init
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - knot_edns_set_version
    - knot_rrset_init
    - knot_dname_copy
    - knot_edns_set_ext_rcode
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_init(knot_rrset_t *opt_rr, uint16_t max_pld,\n
      \                  uint8_t ext_rcode, uint8_t ver, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:68,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:70,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:72,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:73,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: knot_edns_get_ext_rcode
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - wire_ctx_read_u8
    - assert
    - wire_ctx_init
    - wire_ctx_set_offset
    - wire_ctx_write_u32
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_get_ext_rcode(const knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:80,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:82,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:84,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:85,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - opt_rr
    - offset
    - value
    argTypes:
    - knot_rrset_t*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: set_value_to_ttl
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u32
    - wire_ctx_write_u8
    - wire_ctx_init
    - wire_ctx_set_offset
    linkageType: ''
    returnType: void
    signature: void set_value_to_ttl(knot_rrset_t *opt_rr, size_t offset, uint8_t
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:96,1
    - Dst: set_value_to_ttl
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opt_rr
    - ext_rcode
    argTypes:
    - knot_rrset_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: knot_edns_set_ext_rcode
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached:
    - assert
    - set_value_to_ttl
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_set_ext_rcode(knot_rrset_t *opt_rr, uint8_t ext_rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:103,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:105,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:107,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:108,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: knot_edns_get_version
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 3
    functionsReached:
    - wire_ctx_read_u8
    - assert
    - wire_ctx_init
    - wire_ctx_set_offset
    - wire_ctx_write_u32
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_get_version(const knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:115,1
    - Dst: set_value_to_ttl
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opt_rr
    - version
    argTypes:
    - knot_rrset_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: knot_edns_set_version
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached:
    - assert
    - set_value_to_ttl
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_set_version(knot_rrset_t *opt_rr, uint8_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:132,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:144,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:145,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:146,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:147,1
    - Dst: wire_ctx_clear
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:152,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:154,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:154,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:155,1
    - Dst: knot_rdataset_clear
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:159,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - opt
    - code
    - size
    - mm
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: edns_add
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_clear
    - assert
    - wire_ctx_init
    - wire_ctx_available
    - wire_ctx_write
    - wire_ctx_write_u16
    - knot_rrset_add_rdata
    - wire_ctx_clear
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *edns_add(knot_rrset_t *opt, uint16_t code, uint16_t size,\n
      \                        knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - opt_rr
    - code
    - size
    - wire_ptr
    - mm
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint16_t
    - uint8_t**
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: knot_edns_reserve_option
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_reserve_option(knot_rrset_t *opt_rr, uint16_t code,\n
      \                            uint16_t size, uint8_t **wire_ptr, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - opt_rr
    - code
    - size
    - data
    - mm
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint16_t
    - uint8_t*
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: knot_edns_add_option
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 6
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_add_option(knot_rrset_t *opt_rr, uint16_t code,\n
      \                        uint16_t size, const uint8_t *data, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:220,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:225,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:227,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:230,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - opt_rr
    - code
    - previous
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 241
    functionName: knot_edns_get_option
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - wire_ctx_available
    - wire_ctx_init_const
    - wire_ctx_skip
    - wire_ctx_set_offset
    linkageType: ''
    returnType: _public_
    signature: "_public_ *knot_edns_get_option(const knot_rrset_t *opt_rr, uint16_t
      code,\n                              const uint8_t *previous)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:256,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:258,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:260,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:264,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - opt_rr
    - out
    - mm
    argTypes:
    - knot_rrset_t*
    - knot_edns_options_t**
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: knot_edns_get_options
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - mm_free
    - mm_calloc
    - wire_ctx_init_const
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_get_options(knot_rrset_t *opt_rr, knot_edns_options_t
      **out,\n                          knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - current_pkt_size
    - current_opt_size
    - block_size
    argTypes:
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: knot_edns_alignment_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_alignment_size(size_t current_pkt_size,\n                             size_t
      current_opt_size,\n                             size_t block_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: ecs_family_by_platform
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ecs_family_t
    signature: ecs_family_t *ecs_family_by_platform(int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: ecs_family_by_iana
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ecs_family_t
    signature: ecs_family_t *ecs_family_by_iana(uint16_t family)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: ecs_prefix_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ecs_prefix_size(uint8_t prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: ecs_prefix_lsb_mask
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ecs_prefix_lsb_mask(uint8_t prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_copy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:377,1
    - Dst: wire_ctx_clear
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - prefix
    argTypes:
    - wire_ctx_t*
    - wire_ctx_t*
    - int8_t
    constantsTouched: []
    func_position:
      end: 386
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 386
    functionName: ecs_write_address
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - wire_ctx_copy
    - wire_ctx_clear
    linkageType: ''
    returnType: void
    signature: void ecs_write_address(wire_ctx_t *dst, wire_ctx_t *src, int8_t prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecs_family_by_iana
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ecs
    argTypes:
    - knot_edns_client_subnet_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: ecs_is_valid
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - ecs_family_by_iana
    linkageType: ''
    returnType: bool
    signature: bool ecs_is_valid(const knot_edns_client_subnet_t *ecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecs_is_valid
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:407,1
    - Dst: ecs_prefix_size
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ecs
    argTypes:
    - knot_edns_client_subnet_t*
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: knot_edns_client_subnet_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - ecs_is_valid
    - ecs_prefix_size
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_client_subnet_size(const knot_edns_client_subnet_t
      *ecs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecs_is_valid
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:425,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:429,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:430,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:432,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:433,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:434,1
    - Dst: ecs_write_address
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - option
    - option_len
    - ecs
    argTypes:
    - uint8_t*
    - uint16_t
    - knot_edns_client_subnet_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 442
    functionName: knot_edns_client_subnet_write
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached:
    - ecs_write_address
    - wire_ctx_init
    - wire_ctx_init_const
    - wire_ctx_write_u8
    - ecs_is_valid
    - wire_ctx_write_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_client_subnet_write(uint8_t *option, uint16_t option_len,\n
      \                                 const knot_edns_client_subnet_t *ecs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:454,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:455,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:457,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:458,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:459,1
    - Dst: ecs_write_address
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:460,1
    - Dst: ecs_is_valid
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ecs
    - option
    - option_len
    argTypes:
    - knot_edns_client_subnet_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 472
      start: 444
    functionDepth: 6
    functionLinenumber: 444
    functionLinenumberEnd: 472
    functionName: knot_edns_client_subnet_parse
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - ecs_write_address
    - wire_ctx_read_u8
    - wire_ctx_init
    - ecs_is_valid
    - wire_ctx_init_const
    - wire_ctx_read_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_client_subnet_parse(knot_edns_client_subnet_t *ecs,\n
      \                                 const uint8_t *option, uint16_t option_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecs_family_by_platform
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:482,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:491,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:492,1
    - Dst: ecs_write_address
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:493,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ecs
    - addr
    argTypes:
    - knot_edns_client_subnet_t*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 498
      start: 474
    functionDepth: 6
    functionLinenumber: 474
    functionLinenumberEnd: 498
    functionName: knot_edns_client_subnet_set_addr
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached:
    - ecs_write_address
    - assert
    - wire_ctx_init
    - ecs_family_by_platform
    - wire_ctx_init_const
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_client_subnet_set_addr(knot_edns_client_subnet_t
      *ecs,\n                                     const struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecs_family_by_iana
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:508,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:515,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:516,1
    - Dst: ecs_write_address
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:517,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - addr
    - ecs
    argTypes:
    - struct sockaddr_storage*
    - knot_edns_client_subnet_t*
    constantsTouched: []
    func_position:
      end: 522
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 522
    functionName: knot_edns_client_subnet_get_addr
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 4
    functionsReached:
    - ecs_write_address
    - assert
    - wire_ctx_init
    - ecs_family_by_iana
    - wire_ctx_init_const
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_client_subnet_get_addr(struct sockaddr_storage
      *addr,\n                                     const knot_edns_client_subnet_t
      *ecs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: knot_edns_keepalive_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_keepalive_size(uint16_t timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:541,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - option
    - option_len
    - timeout
    argTypes:
    - uint8_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: knot_edns_keepalive_write
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_keepalive_write(uint8_t *option, uint16_t option_len,
      uint16_t timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:558,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - timeout
    - option
    - option_len
    argTypes:
    - uint16_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 567
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 567
    functionName: knot_edns_keepalive_parse
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - wire_ctx_init_const
    - wire_ctx_read_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_keepalive_parse(uint16_t *timeout, const uint8_t
      *option,\n                              uint16_t option_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: knot_edns_chain_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - knot_dname_size
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_edns_chain_size(const knot_dname_t *point)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:583,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:584,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - option
    - option_len
    - point
    argTypes:
    - uint8_t*
    - uint16_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: knot_edns_chain_write
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - knot_dname_size
    - wire_ctx_init
    - wire_ctx_write
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_chain_write(uint8_t *option, uint16_t option_len,\n
      \                         const knot_dname_t *point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - point
    - option
    - option_len
    - mm
    argTypes:
    - knot_dname_t**
    - uint8_t*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: knot_edns_chain_parse
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - knot_dname_copy
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_chain_parse(knot_dname_t **point, const uint8_t
      *option,\n                          uint16_t option_len, knot_mm_t *mm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - cc
    - sc
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: knot_edns_cookie_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_size(const knot_edns_cookie_t *cc,\n                               const
      knot_edns_cookie_t *sc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:635,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:636,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - option
    - option_len
    - cc
    - sc
    argTypes:
    - uint8_t*
    - uint16_t
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    constantsTouched: []
    func_position:
      end: 647
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 647
    functionName: knot_edns_cookie_write
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 2
    functionsReached:
    - wire_ctx_init
    - wire_ctx_write
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_write(uint8_t *option, uint16_t option_len,\n
      \                          const knot_edns_cookie_t *cc,\n                           const
      knot_edns_cookie_t *sc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:662,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:664,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - cc
    - sc
    - option
    - option_len
    argTypes:
    - knot_edns_cookie_t*
    - knot_edns_cookie_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 676
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 676
    functionName: knot_edns_cookie_parse
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_cookie_parse(knot_edns_cookie_t *cc, knot_edns_cookie_t
      *sc,\n                           const uint8_t *option, uint16_t option_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:694,1
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:696,1
    - Dst: wire_ctx_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:697,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - zone
    - type
    - version
    - option
    - option_len
    - qname
    argTypes:
    - knot_dname_storage_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - uint16_t
    - knot_dname_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 708
    functionName: knot_edns_zoneversion_parse
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - wire_ctx_read_u8
    - wire_ctx_init_const
    - wire_ctx_read_u32
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_zoneversion_parse(knot_dname_storage_t zone, uint8_t
      *type,\n                                uint32_t *version, const uint8_t *option,\n
      \                               uint16_t option_len, const knot_dname_t *qname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:720,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:721,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:722,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/rrtype/opt.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - option
    - option_len
    - type
    - zone
    - version
    argTypes:
    - uint8_t*
    - uint16_t
    - uint8_t
    - knot_dname_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: knot_edns_zoneversion_write
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.c
    functionUses: 1
    functionsReached:
    - wire_ctx_write_u32
    - wire_ctx_init
    - wire_ctx_write_u8
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_edns_zoneversion_write(uint8_t *option, uint16_t option_len,
      uint8_t type,\n                                const knot_dname_t *zone, uint32_t
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: knot_soa_primary
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_soa_primary(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:29,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:30,1
    - Dst: knot_soa_primary
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: knot_soa_mailbox
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - assert
    - knot_soa_primary
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_soa_mailbox(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:36,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:37,1
    - Dst: knot_soa_primary
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:37,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:38,1
    - Dst: knot_soa_mailbox
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: knot_soa_names_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - assert
    - knot_soa_primary
    - knot_soa_mailbox
    linkageType: ''
    returnType: size_t
    signature: size_t knot_soa_names_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:44,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:45,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: knot_soa_serial
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 20
    functionsReached:
    - knot_wire_read_u32
    - assert
    - knot_soa_names_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_soa_serial(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:51,1
    - Dst: knot_wire_write_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:52,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rdata
    - serial
    argTypes:
    - knot_rdata_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: knot_soa_serial_set
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 7
    functionsReached:
    - assert
    - knot_wire_write_u32
    - knot_soa_names_len
    linkageType: ''
    returnType: void
    signature: void knot_soa_serial_set(knot_rdata_t *rdata, uint32_t serial)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:58,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:59,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: knot_soa_refresh
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 0
    functionsReached:
    - knot_wire_read_u32
    - assert
    - knot_soa_names_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_soa_refresh(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:65,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:66,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: knot_soa_retry
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 1
    functionsReached:
    - knot_wire_read_u32
    - assert
    - knot_soa_names_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_soa_retry(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:72,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:73,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: knot_soa_expire
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 2
    functionsReached:
    - knot_wire_read_u32
    - assert
    - knot_soa_names_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_soa_expire(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:79,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:80,1
    - Dst: knot_soa_names_len
      Src: /src/knot-dns/src/libknot/rrtype/soa.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: knot_soa_minimum
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/soa.h
    functionUses: 3
    functionsReached:
    - knot_wire_read_u32
    - assert
    - knot_soa_names_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_soa_minimum(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:25,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: knot_zonemd_soa_serial
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/zonemd.h
    functionUses: 1
    functionsReached:
    - knot_wire_read_u32
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_zonemd_soa_serial(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: knot_zonemd_scheme
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/zonemd.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_zonemd_scheme(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: knot_zonemd_algorithm
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/zonemd.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_zonemd_algorithm(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_zonemd_algorithm
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: knot_zonemd_digest_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/zonemd.h
    functionUses: 2
    functionsReached:
    - knot_zonemd_algorithm
    linkageType: ''
    returnType: size_t
    signature: size_t knot_zonemd_digest_size(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/zonemd.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: knot_zonemd_digest
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/zonemd.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_zonemd_digest(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/svcb.h:22,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/svcb.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: knot_svcb_priority
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/svcb.h
    functionUses: 0
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_svcb_priority(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/svcb.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: knot_svcb_target
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/svcb.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_svcb_target(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/naptr.c:20,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/naptr.c:23,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/naptr.c:28,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/rrtype/naptr.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - naptr
    - maxp
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 36
    functionName: knot_naptr_header_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/naptr.c
    functionUses: 0
    functionsReached:
    - wire_ctx_init_const
    - wire_ctx_offset
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_naptr_header_size(const uint8_t *naptr, const uint8_t
      *maxp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:22,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: knot_rrsig_type_covered
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 6
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_rrsig_type_covered(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: knot_rrsig_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_rrsig_alg(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: knot_rrsig_labels
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_rrsig_labels(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:43,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: knot_rrsig_original_ttl
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 2
    functionsReached:
    - knot_wire_read_u32
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_rrsig_original_ttl(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:50,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: knot_rrsig_sig_expiration
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 0
    functionsReached:
    - knot_wire_read_u32
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_rrsig_sig_expiration(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:57,1
    - Dst: knot_wire_read_u32
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: knot_rrsig_sig_inception
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 0
    functionsReached:
    - knot_wire_read_u32
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knot_rrsig_sig_inception(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:64,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: knot_rrsig_key_tag
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 1
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_rrsig_key_tag(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: knot_rrsig_signer_name
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_rrsig_signer_name(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:78,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:79,1
    - Dst: knot_rrsig_signer_name
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: knot_rrsig_signature_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 1
    functionsReached:
    - knot_dname_size
    - assert
    - knot_rrsig_signer_name
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_rrsig_signature_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:85,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:86,1
    - Dst: knot_rrsig_signer_name
      Src: /src/knot-dns/src/libknot/rrtype/rrsig.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: knot_rrsig_signature
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/rrsig.h
    functionUses: 1
    functionsReached:
    - knot_dname_size
    - assert
    - knot_rrsig_signer_name
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_rrsig_signature(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:51,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:56,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:65,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:67,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:70,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:73,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:76,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:77,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:77,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:80,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:81,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:81,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:82,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:85,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:86,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:86,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:87,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:90,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:91,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:91,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:92,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:93,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:94,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:95,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - rr
    - id
    - nb
    argTypes:
    - knot_rrset_t*
    - tsig_off_t
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: rdata_seek
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - knot_rdataset_at
    - wire_ctx_init_const
    - wire_ctx_read_u16
    - wire_ctx_skip
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * rdata_seek(const knot_rrset_t *rr, tsig_off_t id, size_t
      nb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tsig
    - tsig_error
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: rdata_set_tsig_error
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_wire_write_u16
    linkageType: ''
    returnType: int
    signature: int rdata_set_tsig_error(knot_rrset_t *tsig, uint16_t tsig_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:139,1
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:142,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:146,1
    - Dst: rdata_set_tsig_error
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - rr
    - alg
    - maclen
    - tsig_err
    argTypes:
    - knot_rrset_t*
    - knot_dname_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: knot_tsig_create_rdata
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - knot_wire_write_u16
    - knot_dname_to_wire
    - rdata_set_tsig_error
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_create_rdata(knot_rrset_t *rr, const knot_dname_t
      *alg,\n                           uint16_t maclen, uint16_t tsig_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u48
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tsig
    - time
    argTypes:
    - knot_rrset_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: knot_tsig_rdata_set_time_signed
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - knot_wire_write_u48
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_set_time_signed(knot_rrset_t *tsig, uint64_t
      time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tsig
    - fudge
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: knot_tsig_rdata_set_fudge
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - knot_wire_write_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_set_fudge(knot_rrset_t *tsig, uint16_t fudge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tsig
    - length
    - mac
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: knot_tsig_rdata_set_mac
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_set_mac(knot_rrset_t *tsig, uint16_t length,
      const uint8_t *mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tsig
    - id
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: knot_tsig_rdata_set_orig_id
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - knot_wire_write_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_set_orig_id(knot_rrset_t *tsig, uint16_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:225,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tsig
    - len
    - other_data
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: knot_tsig_rdata_set_other_data
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - memcpy
    - knot_wire_write_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_tsig_rdata_set_other_data(knot_rrset_t *tsig, uint16_t
      len,\n                                   const uint8_t *other_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: knot_dname_t *knot_tsig_rdata_alg_name(const knot_rrset_t *tsig)
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_at
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_dname_t *knot_tsig_rdata_alg_name(const knot_rrset_t
      *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:248,1
    - Dst: dnssec_tsig_algorithm_t::dnssec_tsig_algorithm_from_dname
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: dnssec_tsig_algorithm_t::knot_tsig_rdata_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_tsig_rdata_alg_name
    - dnssec_tsig_algorithm_t::dnssec_tsig_algorithm_from_dname
    linkageType: ''
    returnType: _public_
    signature: _public_ dnssec_tsig_algorithm_t knot_tsig_rdata_alg(const knot_rrset_t
      *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u48
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: knot_tsig_rdata_time_signed
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 5
    functionsReached:
    - knot_wire_read_u48
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_time_signed(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: knot_tsig_rdata_fudge
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 2
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_fudge(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: knot_tsig_rdata_mac
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_tsig_rdata_mac(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: knot_tsig_rdata_mac_length
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 3
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_mac_length(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: knot_tsig_rdata_orig_id
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 1
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_orig_id(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: knot_tsig_rdata_error
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 2
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_error(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: knot_tsig_rdata_other_data
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_tsig_rdata_other_data(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: knot_tsig_rdata_other_data_length
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_other_data_length(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:349,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:356,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: knot_tsig_rdata_tsig_variables_length
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_dname_size
    - knot_tsig_rdata_alg_name
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_tsig_variables_length(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: knot_tsig_rdata_tsig_timers_length
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_tsig_timers_length(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:374,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:379,1
    - Dst: dnssec_tsig_algorithm_to_dname
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:379,1
    - Dst: dnssec_tsig_algorithm_size
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: knot_tsig_wire_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 1
    functionsReached:
    - dnssec_tsig_algorithm_to_dname
    - knot_dname_size
    - dnssec_tsig_algorithm_size
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_wire_size(const knot_tsig_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - knot_tsig_key_t*
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: knot_tsig_wire_maxsize
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_wire_maxsize(const knot_tsig_key_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:399,1
    - Dst: rdata_seek
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:400,1
    - Dst: knot_tsig_rdata_alg_name
      Src: /src/knot-dns/src/libknot/rrtype/tsig.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tsig
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: knot_tsig_rdata_is_ok
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/tsig.c
    functionUses: 0
    functionsReached:
    - knot_rdataset_at
    - knot_tsig_rdata_alg_name
    - rdata_seek
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_tsig_rdata_is_ok(const knot_rrset_t *tsig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: knot_nsec3param_alg
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3param.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3param_alg(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: knot_nsec3param_flags
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3param.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3param_flags(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:35,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: knot_nsec3param_iters
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3param.h
    functionUses: 2
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_nsec3param_iters(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: knot_nsec3param_salt_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3param.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_nsec3param_salt_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec3param.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: knot_nsec3param_salt
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec3param.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_nsec3param_salt(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: knot_nsec_next
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_nsec_next(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:28,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:29,1
    - Dst: knot_nsec_next
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: knot_nsec_bitmap_len
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec.h
    functionUses: 1
    functionsReached:
    - knot_dname_size
    - assert
    - knot_nsec_next
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_nsec_bitmap_len(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:35,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:36,1
    - Dst: knot_nsec_next
      Src: /src/knot-dns/src/libknot/rrtype/nsec.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - knot_rdata_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: knot_nsec_bitmap
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/nsec.h
    functionUses: 2
    functionsReached:
    - knot_dname_size
    - assert
    - knot_nsec_next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_nsec_bitmap(const knot_rdata_t *rdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: knot_edns_wire_size
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t knot_edns_wire_size(knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: knot_edns_get_payload
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_edns_get_payload(const knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opt_rr
    - payload
    argTypes:
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: knot_edns_set_payload
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_edns_set_payload(knot_rrset_t *opt_rr, uint16_t payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ext_rcode
    - rcode
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: knot_edns_whole_rcode
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_edns_whole_rcode(uint8_t ext_rcode, uint8_t rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opt_rr
    - ext_rcode
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: knot_edns_set_ext_rcode_wire
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_edns_set_ext_rcode_wire(uint8_t *opt_rr, uint8_t ext_rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: knot_edns_do
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool knot_edns_do(const knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt_rr
    argTypes:
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: knot_edns_set_do
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_edns_set_do(knot_rrset_t *opt_rr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:353,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: knot_edns_opt_get_code
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 0
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_edns_opt_get_code(const uint8_t *opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:366,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/rrtype/opt.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: knot_edns_opt_get_length
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 4
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_edns_opt_get_length(const uint8_t *opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: knot_edns_opt_get_data
    functionSourceFile: /src/knot-dns/src/libknot/rrtype/opt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_edns_opt_get_data(uint8_t *opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 230
    argCount: 1
    argNames:
    - parser
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 452
    functionName: _yp_parse
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypbody.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _yp_parse(\n\typ_parser_t *parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: schema_count
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t schema_count(\n\tconst yp_item_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:37,1
    - Dst: yp_schema_find
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - schema
    argTypes:
    - yp_item_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: set_ref_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - yp_schema_find
    linkageType: ''
    returnType: int
    signature: "int set_ref_item(\n\typ_item_t *dst,\n\tconst yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:67,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:71,1
    - Dst: set_ref_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:87,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:100,1
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:107,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:109,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - dst
    - src
    - schema
    argTypes:
    - yp_item_t*
    - yp_item_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 117
    functionName: set_grp_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - set_ref_item
    - free
    - memset
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int set_grp_item(\n\typ_item_t *dst,\n\tconst yp_item_t *src,\n\tconst
      yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:134,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:138,1
    - Dst: set_ref_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:146,1
    - Dst: set_grp_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:149,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - dst
    - src
    - schema
    argTypes:
    - yp_item_t*
    - yp_item_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: set_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 1
    functionsReached:
    - set_grp_item
    - set_ref_item
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int set_item(\n\typ_item_t *dst,\n\tconst yp_item_t *src,\n\tconst
      yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:166,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:169,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:171,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - item
    argTypes:
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: unset_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: "void unset_item(\n\typ_item_t *item)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - src
    - schema
    argTypes:
    - yp_item_t*
    - yp_item_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: schema_copy
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int schema_copy(\n\typ_item_t *dst,\n\tconst yp_item_t *src,\n\tconst
      yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:205,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:209,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - yp_item_t**
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 221
    functionName: yp_schema_copy
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_copy(\n\typ_item_t **dst,\n\tconst yp_item_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:238,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:242,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:247,1
    - Dst: schema_copy
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:252,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - dst
    - src1
    - src2
    argTypes:
    - yp_item_t**
    - yp_item_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: yp_schema_merge
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 2
    functionsReached:
    - free
    - schema_copy
    - malloc
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_merge(\n\typ_item_t **dst,\n\tconst yp_item_t *src1,\n\tconst
      yp_item_t *src2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unset_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - schema
    argTypes:
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: yp_schema_purge_dynamic
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 2
    functionsReached:
    - unset_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_purge_dynamic(\n\typ_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unset_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:287,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - schema
    argTypes:
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: yp_schema_free
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 8
    functionsReached:
    - free
    - unset_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_free(\n\typ_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - name
    - name_len
    - schema
    argTypes:
    - char*
    - size_t
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: find_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: yp_item_t
    signature: "yp_item_t * find_item(\n\tconst char *name,\n\tsize_t name_len,\n\tconst
      yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:325,1
    - Dst: find_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:327,1
    - Dst: find_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - name
    - parent_name
    - schema
    argTypes:
    - yp_name_t*
    - yp_name_t*
    - yp_item_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: yp_schema_find
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 8
    functionsReached:
    - find_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ * yp_schema_find(\n\tconst yp_name_t *name,\n\tconst yp_name_t
      *parent_name,\n\tconst yp_item_t *schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:344,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: "yp_check_ctx_t* yp_schema_check_init(\n\typ_item_t **schema)"
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_check_ctx_t* yp_schema_check_init(\n\typ_item_t **schema)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - yp_check_ctx_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: reset_ctx
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void reset_ctx(\n\typ_check_ctx_t *ctx,\n\tsize_t index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:395,1
    - Dst: find_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:397,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 6
    argNames:
    - key
    - key_len
    - data
    - data_len
    - ctx
    - allow_key1_without_id
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - yp_check_ctx_t*
    - bool
    constantsTouched: []
    func_position:
      end: 451
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 451
    functionName: check_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 8
    functionsReached:
    - find_item
    linkageType: ''
    returnType: int
    signature: "int check_item(\n\tconst char *key,\n\tsize_t key_len,\n\tconst char
      *data,\n\tsize_t data_len,\n\typ_check_ctx_t *ctx,\n\tbool allow_key1_without_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:466,1
    - Dst: check_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:467,1
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:471,1
    - Dst: check_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:472,1
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:485,1
    - Dst: check_item
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:486,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - parser
    argTypes:
    - yp_check_ctx_t*
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 504
    functionName: yp_schema_check_parser
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 1
    functionsReached:
    - reset_ctx
    - check_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_check_parser(\n\typ_check_ctx_t *ctx,\n\tconst
      yp_parser_t *parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:529,1
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:550,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:557,1
    - Dst: reset_ctx
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - key0
    - key1
    - id
    - data
    argTypes:
    - yp_check_ctx_t*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 580
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 580
    functionName: yp_schema_check_str
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 0
    functionsReached:
    - reset_ctx
    - assert
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_check_str(\n\typ_check_ctx_t *ctx,\n\tconst char
      *key0,\n\tconst char *key1,\n\tconst char *id,\n\tconst char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/ypschema.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - yp_check_ctx_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: yp_schema_check_deinit
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypschema.c
    functionUses: 8
    functionsReached:
    - free
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_schema_check_deinit(\n\typ_check_ctx_t* ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/src/libknot/yparser/ypformat.c:47,1
    - Dst: snprintf
      Src: /src/knot-dns/src/libknot/yparser/ypformat.c:55,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 9
    argNames:
    - item
    - data
    - data_len
    - out
    - out_len
    - style
    - prefix
    - first_value
    - last_value
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - yp_style_t
    - char*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 63
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 63
    functionName: format_item
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypformat.c
    functionUses: 0
    functionsReached:
    - snprintf
    - yp_item_to_txt
    linkageType: ''
    returnType: int
    signature: "int format_item(\n\tconst yp_item_t *item,\n\tconst uint8_t *data,\n\tsize_t
      data_len,\n\tchar *out,\n\tsize_t out_len,\n\typ_style_t style,\n\tconst char
      *prefix,\n\tbool first_value,\n\tbool last_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_item
      Src: /src/knot-dns/src/libknot/yparser/ypformat.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - item
    - data
    - data_len
    - out
    - out_len
    - style
    - first_value
    - last_value
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - yp_style_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: yp_format_key0
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypformat.c
    functionUses: 0
    functionsReached:
    - format_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_format_key0(\n\tconst yp_item_t *item,\n\tconst uint8_t
      *data,\n\tsize_t data_len,\n\tchar *out,\n\tsize_t out_len,\n\typ_style_t style,\n\tbool
      first_value,\n\tbool last_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_item
      Src: /src/knot-dns/src/libknot/yparser/ypformat.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - item
    - data
    - data_len
    - out
    - out_len
    - style
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: yp_format_id
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypformat.c
    functionUses: 0
    functionsReached:
    - format_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_format_id(\n\tconst yp_item_t *item,\n\tconst uint8_t
      *data,\n\tsize_t data_len,\n\tchar *out,\n\tsize_t out_len,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format_item
      Src: /src/knot-dns/src/libknot/yparser/ypformat.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - item
    - data
    - data_len
    - out
    - out_len
    - style
    - first_value
    - last_value
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - yp_style_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: yp_format_key1
    functionSourceFile: /src/knot-dns/src/libknot/yparser/ypformat.c
    functionUses: 0
    functionsReached:
    - format_item
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_format_key1(\n\tconst yp_item_t *item,\n\tconst uint8_t
      *data,\n\tsize_t data_len,\n\tchar *out,\n\tsize_t out_len,\n\typ_style_t style,\n\tbool
      first_value,\n\tbool last_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: yp_str
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * yp_str(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: yp_bool
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool yp_bool(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u64
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: yp_int
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 5
    functionsReached:
    - knot_wire_read_u64
    linkageType: ''
    returnType: int64_t
    signature: "int64_t yp_int(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: yp_opt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned yp_opt(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: yp_dname
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * yp_dname(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: yp_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * yp_bin(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: yp_bin_len
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.h
    functionUses: 5
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: size_t
    signature: "size_t yp_bin_len(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: is_addr_unix
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_unix(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: is_addr_ipv4
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_ipv4(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: is_addr_ipv6
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_ipv6(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: is_addr_ipv6_linklocal
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_addr_ipv6_linklocal(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_addr_ipv4
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:81,1
    - Dst: is_addr_ipv6
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:81,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: is_ip_addr
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - is_addr_ipv6_linklocal
    - is_addr_ipv6
    - is_addr_ipv4
    linkageType: ''
    returnType: bool
    signature: bool is_ip_addr(uint8_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:90,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:91,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:92,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:94,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - in
    - in_len
    - buf
    - buf_len
    argTypes:
    - wire_ctx_t*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: copy_in
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u8
    - wire_ctx_skip
    - wire_ctx_init
    - wire_ctx_write
    linkageType: ''
    returnType: wire_ctx_t
    signature: "wire_ctx_t copy_in(\n\twire_ctx_t *in,\n\tsize_t in_len,\n\tchar *buf,\n\tsize_t
      buf_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:105,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:106,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: yp_str_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u8
    - wire_ctx_skip
    - wire_ctx_write
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_str_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:121,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:122,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: yp_str_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    - wire_ctx_write
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_str_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:135,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:136,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:137,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:138,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:139,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:140,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 148
    functionName: yp_bool_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - wire_ctx_skip
    - wire_ctx_write_u8
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_bool_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_read_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:158,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:171,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: yp_bool_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_read_u8
    - wire_ctx_skip
    - wire_ctx_available
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_bool_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - number
    - unit
    - style
    argTypes:
    - int64_t*
    - char
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 242
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 242
    functionName: remove_unit
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int remove_unit(\n\tint64_t *number,\n\tchar unit,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_in
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:255,1
    - Dst: wire_ctx_write_u64
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:293,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - min
    - max
    - style
    argTypes:
    - int64_t
    - int64_t
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 296
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 296
    functionName: yp_int_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u64
    - copy_in
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_int_to_bin(\n\tYP_TXT_BIN_PARAMS,\n\tint64_t min,\n\tint64_t
      max,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - number
    - unit
    - style
    argTypes:
    - int64_t*
    - char*
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 358
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 358
    functionName: add_unit
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void add_unit(\n\tint64_t *number,\n\tchar *unit,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_unit
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:369,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:373,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - style
    argTypes:
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: yp_int_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - add_unit
    - wire_ctx_skip
    - wire_ctx_available
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_int_to_txt(\n\tYP_BIN_TXT_PARAMS,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:394,1
    - Dst: strchr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - str
    - len
    - if_name
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 410
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 410
    functionName: sock_type_guess
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - is_digit
    - strchr
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t sock_type_guess(\n\tconst uint8_t *str,\n\tsize_t len,\n\tconst
      uint8_t **if_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ip_addr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:427,1
    - Dst: copy_in
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:436,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:443,1
    - Dst: is_addr_ipv4
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:446,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:446,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:447,1
    - Dst: is_addr_ipv6
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:449,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:449,1
    - Dst: inet_pton
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:450,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:451,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:454,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:454,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:455,1
    - Dst: yp_str_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:456,1
    - Dst: is_addr_unix
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:458,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - allow_unix
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 468
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 468
    functionName: yp_addr_noport_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - assert
    - inet_pton
    - is_addr_ipv6
    - wire_ctx_write
    - is_addr_unix
    - is_addr_ipv4
    - copy_in
    - is_ip_addr
    - is_addr_ipv6_linklocal
    - yp_str_to_bin
    - wire_ctx_write_u8
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_noport_to_bin(\n\tYP_TXT_BIN_PARAMS,\n\tbool allow_unix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_str_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:484,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:490,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:491,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:492,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:495,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:495,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:499,1
    - Dst: knot_inet_ntop
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:500,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:501,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:504,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:504,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:506,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:507,1
    - Dst: yp_str_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 519
    functionName: yp_addr_noport_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - strlen
    - wire_ctx_read
    - knot_inet_ntop
    - is_addr_ipv6_linklocal
    - wire_ctx_write_u8
    - yp_str_to_txt
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_noport_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_addr_unix
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:544,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:546,1
    - Dst: yp_str_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:548,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:551,1
    - Dst: yp_int_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:554,1
    - Dst: is_ip_addr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:559,1
    - Dst: wire_ctx_write_u64
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 521
    functionDepth: 6
    functionLinenumber: 521
    functionLinenumberEnd: 564
    functionName: yp_addr_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_write_u64
    - is_addr_unix
    - yp_int_to_bin
    - is_ip_addr
    - yp_str_to_bin
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ip_addr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:582,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:587,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:590,1
    - Dst: yp_int_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 599
    functionName: yp_addr_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_int_to_txt
    - wire_ctx_write_u8
    - wire_ctx_skip
    - is_ip_addr
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:615,1
    - Dst: strchr
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:624,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:643,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:648,1
    - Dst: yp_int_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:651,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:659,1
    - Dst: yp_addr_noport_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:665,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 680
    functionName: yp_addr_range_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_int_to_bin
    - strchr
    - yp_addr_noport_to_bin
    - wire_ctx_write_u8
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_range_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:699,1
    - Dst: yp_int_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:702,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:709,1
    - Dst: yp_addr_noport_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 682
    functionDepth: 6
    functionLinenumber: 682
    functionLinenumberEnd: 722
    functionName: yp_addr_range_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - yp_int_to_txt
    - yp_addr_noport_to_txt
    - wire_ctx_write_u8
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_range_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:732,1
    - Dst: strncasecmp
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:733,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:734,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - opts
    argTypes:
    - knot_lookup_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 742
    functionName: yp_option_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - wire_ctx_skip
    - strlen
    - wire_ctx_write_u8
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_option_to_bin(\n\tYP_TXT_BIN_PARAMS,\n\tconst knot_lookup_t
      *opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:756,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - opts
    argTypes:
    - knot_lookup_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 744
    functionDepth: 4
    functionLinenumber: 744
    functionLinenumberEnd: 766
    functionName: yp_option_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    - wire_ctx_available
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_option_to_txt(\n\tYP_BIN_TXT_PARAMS,\n\tconst knot_lookup_t
      *opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_in
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:776,1
    - Dst: knot_dname_from_str
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:782,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:782,1
    - Dst: knot_dname_to_lower
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:795,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 800
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 800
    functionName: yp_dname_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - knot_dname_from_str
    - copy_in
    - wire_ctx_skip
    - knot_dname_to_lower
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_dname_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_to_str
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:808,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:809,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:813,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 802
    functionDepth: 4
    functionLinenumber: 802
    functionLinenumberEnd: 816
    functionName: yp_dname_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 1
    functionsReached:
    - knot_dname_to_str
    - wire_ctx_skip
    - wire_ctx_available
    - strlen
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_dname_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: hex_to_num
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hex_to_num(char hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:832,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:834,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:841,1
    - Dst: wire_ctx_read
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:846,1
    - Dst: is_xdigit
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:848,1
    - Dst: is_xdigit
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:849,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:853,1
    - Dst: hex_to_num
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:853,1
    - Dst: hex_to_num
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:854,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:858,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:861,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 866
      start: 825
    functionDepth: 4
    functionLinenumber: 825
    functionLinenumberEnd: 866
    functionName: yp_hex_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_available
    - wire_ctx_write
    - wire_ctx_read
    - wire_ctx_write_u8
    - wire_ctx_write_u16
    - wire_ctx_skip
    - hex_to_num
    - is_xdigit
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_hex_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_print
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:880,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:887,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:888,1
    - Dst: wire_ctx_write
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:894,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:894,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:899,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:900,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:905,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 909
    functionName: yp_hex_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - strlen
    - wire_ctx_write
    - is_print
    - wire_ctx_write_u8
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_hex_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:918,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:925,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:928,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:929,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 933
    functionName: yp_base64_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    - wire_ctx_write_u16
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_base64_to_bin(\n\tYP_TXT_BIN_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:949,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:952,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 956
    functionName: yp_base64_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 0
    functionsReached:
    - wire_ctx_skip
    - wire_ctx_write_u8
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_base64_to_txt(\n\tYP_BIN_TXT_PARAMS)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:970,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:971,1
    - Dst: yp_int_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:978,1
    - Dst: yp_bool_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:982,1
    - Dst: yp_option_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:985,1
    - Dst: yp_str_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:988,1
    - Dst: yp_addr_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:991,1
    - Dst: yp_addr_range_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:994,1
    - Dst: yp_dname_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:997,1
    - Dst: yp_hex_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1000,1
    - Dst: yp_base64_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1003,1
    - Dst: yp_item_t*::var::d::to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1006,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1009,1
    - Dst: yp_item_to_bin
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1010,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1011,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1013,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1027,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - item
    - txt
    - txt_len
    - bin
    - bin_len
    argTypes:
    - yp_item_t*
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1030
      start: 958
    functionDepth: 7
    functionLinenumber: 958
    functionLinenumberEnd: 1030
    functionName: yp_item_to_bin
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 19
    functionsReached:
    - wire_ctx_init
    - yp_option_to_bin
    - yp_item_t*::var::d::to_bin
    - wire_ctx_available
    - yp_int_to_bin
    - yp_bool_to_bin
    - yp_item_to_bin
    - yp_addr_range_to_bin
    - yp_addr_to_bin
    - yp_str_to_bin
    - yp_dname_to_bin
    - wire_ctx_offset
    - yp_hex_to_bin
    - wire_ctx_init_const
    - yp_base64_to_bin
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_item_to_bin(\n\tconst yp_item_t *item,\n\tconst char *txt,\n\tsize_t
      txt_len,\n\tuint8_t *bin,\n\tsize_t *bin_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1045,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1046,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1050,1
    - Dst: yp_int_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1058,1
    - Dst: yp_bool_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1061,1
    - Dst: yp_option_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1064,1
    - Dst: yp_str_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1067,1
    - Dst: yp_addr_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1070,1
    - Dst: yp_addr_range_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1073,1
    - Dst: yp_dname_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1076,1
    - Dst: yp_hex_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1079,1
    - Dst: yp_base64_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1082,1
    - Dst: yp_item_t*::var::d::to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1085,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1088,1
    - Dst: yp_item_to_txt
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1089,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1090,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1093,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1101,1
    - Dst: wire_ctx_write_u8
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1105,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1106,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1116,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 6
    argNames:
    - item
    - bin
    - bin_len
    - txt
    - txt_len
    - style
    argTypes:
    - yp_item_t*
    - uint8_t*
    - size_t
    - char*
    - size_t*
    - yp_style_t
    constantsTouched: []
    func_position:
      end: 1119
      start: 1032
    functionDepth: 7
    functionLinenumber: 1032
    functionLinenumberEnd: 1119
    functionName: yp_item_to_txt
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 15
    functionsReached:
    - yp_item_t*::var::d::to_txt
    - wire_ctx_init
    - wire_ctx_available
    - yp_hex_to_txt
    - yp_addr_to_txt
    - yp_option_to_txt
    - yp_int_to_txt
    - yp_item_to_txt
    - wire_ctx_offset
    - yp_base64_to_txt
    - wire_ctx_write_u8
    - yp_str_to_txt
    - yp_dname_to_txt
    - wire_ctx_init_const
    - yp_addr_range_to_txt
    - yp_bool_to_txt
    - wire_ctx_skip
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_item_to_txt(\n\tconst yp_item_t *item,\n\tconst uint8_t
      *bin,\n\tsize_t bin_len,\n\tchar *txt,\n\tsize_t *txt_len,\n\typ_style_t style)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_set
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1136,1
    - Dst: sockaddr_set_raw
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1140,1
    - Dst: sockaddr_set_raw
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1145,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1146,1
    - Dst: if_nametoindex
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1155
    functionName: yp_addr_noport
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 1
    functionsReached:
    - is_addr_ipv6_linklocal
    - if_nametoindex
    - sockaddr_set_raw
    - sockaddr_set
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr_noport(\n\tconst uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_addr_noport
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1163,1
    - Dst: is_addr_ipv6_linklocal
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1183,1
    - Dst: strlen
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1184,1
    - Dst: sockaddr_port_set
      Src: /src/knot-dns/src/libknot/yparser/yptrafo.c:1188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - no_port
    argTypes:
    - uint8_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1196
    functionName: yp_addr
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yptrafo.c
    functionUses: 4
    functionsReached:
    - is_addr_ipv6_linklocal
    - yp_addr_noport
    - strlen
    - sockaddr_port_set
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_addr(\n\tconst uint8_t *data,\n\tbool *no_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: yp_init
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yparser.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_init(\n\typ_parser_t *parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:44,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:46,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - parser
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: yp_deinit
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yparser.c
    functionUses: 4
    functionsReached:
    - free
    - munmap
    - close
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_deinit(\n\typ_parser_t *parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_deinit
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:62,1
    - Dst: yp_init
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - parser
    - input
    - size
    argTypes:
    - yp_parser_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: yp_set_input_string
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yparser.c
    functionUses: 1
    functionsReached:
    - yp_deinit
    - yp_init
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_set_input_string(\n\typ_parser_t *parser,\n\tconst char
      *input,\n\tsize_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yp_deinit
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:84,1
    - Dst: yp_init
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:85,1
    - Dst: open
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:88,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:90,1
    - Dst: fstat
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:95,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:96,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:97,1
    - Dst: S_ISREG
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:98,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:99,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:109,1
    - Dst: madvise
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:115,1
    - Dst: posix_madvise
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:118,1
    - Dst: strdup
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - parser
    - file_name
    argTypes:
    - yp_parser_t*
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 135
    functionName: yp_set_input_file
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yparser.c
    functionUses: 2
    functionsReached:
    - strdup
    - yp_init
    - open
    - close
    - posix_madvise
    - S_ISREG
    - knot_map_errno
    - madvise
    - yp_deinit
    - fstat
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_set_input_file(\n\typ_parser_t *parser,\n\tconst char
      *file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _yp_parse
      Src: /src/knot-dns/src/libknot/yparser/yparser.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - parser
    argTypes:
    - yp_parser_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 165
    functionName: yp_parse
    functionSourceFile: /src/knot-dns/src/libknot/yparser/yparser.c
    functionUses: 7
    functionsReached:
    - _yp_parse
    linkageType: ''
    returnType: _public_
    signature: "_public_ yp_parse(\n\typ_parser_t *parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/knot-dns/src/libknot/probe/probe.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: knot_probe_t *knot_probe_alloc(void)
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_t *knot_probe_alloc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/knot-dns/src/libknot/probe/probe.c:49,1
    - Dst: unlink
      Src: /src/knot-dns/src/libknot/probe/probe.c:51,1
    - Dst: free
      Src: /src/knot-dns/src/libknot/probe/probe.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - probe
    argTypes:
    - knot_probe_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: knot_probe_free
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 2
    functionsReached:
    - free
    - close
    - unlink
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_free(knot_probe_t *probe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/knot-dns/src/libknot/probe/probe.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - probe
    argTypes:
    - knot_probe_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: probe_connect
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: int
    signature: int probe_connect(knot_probe_t *probe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/knot-dns/src/libknot/probe/probe.c:75,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:77,1
    - Dst: fcntl
      Src: /src/knot-dns/src/libknot/probe/probe.c:80,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/probe/probe.c:81,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - probe
    - dir
    - idx
    argTypes:
    - knot_probe_t*
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: probe_init
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 0
    functionsReached:
    - knot_map_errno
    - socket
    - close
    - fcntl
    linkageType: ''
    returnType: int
    signature: int probe_init(knot_probe_t *probe, const char *dir, uint16_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: probe_connect
      Src: /src/knot-dns/src/libknot/probe/probe.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - probe
    - dir
    - idx
    argTypes:
    - knot_probe_t*
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: knot_probe_set_producer
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 1
    functionsReached:
    - probe_connect
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_set_producer(knot_probe_t *probe, const char *dir,
      uint16_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/knot-dns/src/libknot/probe/probe.c:115,1
    - Dst: bind
      Src: /src/knot-dns/src/libknot/probe/probe.c:117,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:120,1
    - Dst: chmod
      Src: /src/knot-dns/src/libknot/probe/probe.c:123,1
    - Dst: close
      Src: /src/knot-dns/src/libknot/probe/probe.c:124,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - probe
    - dir
    - idx
    argTypes:
    - knot_probe_t*
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: knot_probe_set_consumer
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 1
    functionsReached:
    - close
    - unlink
    - bind
    - knot_map_errno
    - chmod
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_set_consumer(knot_probe_t *probe, const char *dir,
      uint16_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - probe
    argTypes:
    - knot_probe_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: knot_probe_fd
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_fd(knot_probe_t *probe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/knot-dns/src/libknot/probe/probe.c:149,1
    - Dst: time_now
      Src: /src/knot-dns/src/libknot/probe/probe.c:150,1
    - Dst: probe_connect
      Src: /src/knot-dns/src/libknot/probe/probe.c:154,1
    - Dst: send
      Src: /src/knot-dns/src/libknot/probe/probe.c:155,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - probe
    - data
    - count
    argTypes:
    - knot_probe_t*
    - knot_probe_data_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: knot_probe_produce
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 2
    functionsReached:
    - knot_map_errno
    - send
    - time_now
    - probe_connect
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_produce(knot_probe_t *probe, const knot_probe_data_t
      *data, uint8_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/probe.c:177,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:198,1
    - Dst: recvmmsg
      Src: /src/knot-dns/src/libknot/probe/probe.c:204,1
    - Dst: recvmsg
      Src: /src/knot-dns/src/libknot/probe/probe.c:206,1
    - Dst: knot_map_errno
      Src: /src/knot-dns/src/libknot/probe/probe.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - probe
    - data
    - count
    - timeout_ms
    argTypes:
    - knot_probe_t*
    - knot_probe_data_t*
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 217
    functionName: knot_probe_consume
    functionSourceFile: /src/knot-dns/src/libknot/probe/probe.c
    functionUses: 1
    functionsReached:
    - knot_map_errno
    - recvmmsg
    - recvmsg
    - memset
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_probe_consume(knot_probe_t *probe, knot_probe_data_t
      *data, uint8_t count,\n                       int timeout_ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:34,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:35,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/probe/data.c:37,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:40,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:41,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/probe/data.c:43,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:45,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:53,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/probe/data.c:54,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:57,1
    - Dst: be16toh
      Src: /src/knot-dns/src/libknot/probe/data.c:58,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:60,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:65,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:66,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:72,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/libknot/probe/data.c:73,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:76,1
    - Dst: knot_edns_get_payload
      Src: /src/knot-dns/src/libknot/probe/data.c:84,1
    - Dst: knot_edns_get_version
      Src: /src/knot-dns/src/libknot/probe/data.c:85,1
    - Dst: knot_edns_do
      Src: /src/knot-dns/src/libknot/probe/data.c:87,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:97,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:100,1
    - Dst: knot_pkt_size
      Src: /src/knot-dns/src/libknot/probe/data.c:101,1
    - Dst: knot_pkt_qclass
      Src: /src/knot-dns/src/libknot/probe/data.c:102,1
    - Dst: knot_pkt_qtype
      Src: /src/knot-dns/src/libknot/probe/data.c:103,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/probe/data.c:104,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/libknot/probe/data.c:104,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/probe/data.c:105,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/libknot/probe/data.c:105,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/probe/data.c:106,1
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/probe/data.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 7
    argNames:
    - data
    - proto
    - local_addr
    - remote_addr
    - query
    - reply
    - rcode
    argTypes:
    - knot_probe_data_t*
    - knot_probe_proto_t
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - knot_pkt_t*
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 110
      start: 17
    functionDepth: 5
    functionLinenumber: 17
    functionLinenumberEnd: 110
    functionName: knot_probe_data_set
    functionSourceFile: /src/knot-dns/src/libknot/probe/data.c
    functionUses: 1
    functionsReached:
    - knot_edns_get_payload
    - knot_pkt_qname
    - knot_edns_get_version
    - knot_pkt_qclass
    - knot_pkt_qtype
    - knot_pkt_size
    - knot_dname_size
    - be16toh
    - MIN
    - memset
    - memcpy
    - knot_edns_do
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_probe_data_set(knot_probe_data_t *data, knot_probe_proto_t
      proto,\n                        const struct sockaddr_storage *local_addr,\n
      \                       const struct sockaddr_storage *remote_addr,\n                        const
      knot_pkt_t *query, const knot_pkt_t *reply,\n                        uint16_t
      rcode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/knot-dns/src/libknot/probe/data.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: knot_probe_tcp_rtt
    functionSourceFile: /src/knot-dns/src/libknot/probe/data.c
    functionUses: 1
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_probe_tcp_rtt(int sockfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:30,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - packet
    - rrset
    argTypes:
    - knot_pkt_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: pkt_contains
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool pkt_contains(const knot_pkt_t *packet, const knot_rrset_t *rrset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:47,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/libknot/packet/pkt.c:52,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: pkt_free_data
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - mm_free
    - assert
    - knot_rrset_clear
    linkageType: ''
    returnType: void
    signature: void pkt_free_data(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:65,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:71,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: pkt_wire_alloc
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - assert
    - memset
    linkageType: ''
    returnType: int
    signature: int pkt_wire_alloc(knot_pkt_t *pkt, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - wire
    - len
    argTypes:
    - knot_pkt_t*
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: pkt_wire_set
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void pkt_wire_set(knot_pkt_t *pkt, void *wire, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: pkt_remaining
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t pkt_remaining(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:107,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:109,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:110,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - section_id
    argTypes:
    - knot_pkt_t*
    - knot_section_t
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: pkt_rr_wirecount
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_arcount
    - assert
    - knot_wire_get_nscount
    - knot_wire_get_ancount
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t pkt_rr_wirecount(knot_pkt_t *pkt, knot_section_t section_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:120,1
    - Dst: knot_wire_add_ancount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:122,1
    - Dst: knot_wire_add_nscount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:123,1
    - Dst: knot_wire_add_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pkt
    - section_id
    - val
    argTypes:
    - knot_pkt_t*
    - knot_section_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: pkt_rr_wirecount_add
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - knot_wire_add_nscount
    - assert
    - knot_wire_add_arcount
    - knot_wire_add_ancount
    linkageType: ''
    returnType: void
    signature: "void pkt_rr_wirecount_add(knot_pkt_t *pkt, knot_section_t section_id,\n
      \                                int16_t val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:138,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:143,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:145,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:151,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:152,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:153,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pkt
    - count
    argTypes:
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: pkt_rr_array_alloc
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - mm_free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pkt_rr_array_alloc(knot_pkt_t *pkt, uint16_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - compr
    argTypes:
    - knot_compr_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: compr_clear
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compr_clear(knot_compr_t *compr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:173,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:175,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:179,1
    - Dst: pkt_wire_alloc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:184,1
    - Dst: pkt_wire_set
      Src: /src/knot-dns/src/libknot/packet/pkt.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pkt
    - wire
    - len
    - mm
    argTypes:
    - knot_pkt_t*
    - void*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: pkt_init
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 3
    functionsReached:
    - pkt_wire_set
    - assert
    - pkt_wire_alloc
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pkt_init(knot_pkt_t *pkt, void *wire, uint16_t len, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:199,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/libknot/packet/pkt.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: sections_reset
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - knot_pkt_begin
    - memset
    linkageType: ''
    returnType: void
    signature: void sections_reset(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:206,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:208,1
    - Dst: pkt_init
      Src: /src/knot-dns/src/libknot/packet/pkt.c:213,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - wire
    - len
    - mm
    argTypes:
    - void*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: pkt_new_mm
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - mm_alloc
    - assert
    - pkt_init
    - mm_free
    linkageType: ''
    returnType: knot_pkt_t
    signature: knot_pkt_t *pkt_new_mm(void *wire, uint16_t len, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mm_ctx_init
      Src: /src/knot-dns/src/libknot/packet/pkt.c:227,1
    - Dst: pkt_new_mm
      Src: /src/knot-dns/src/libknot/packet/pkt.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wire
    - len
    - mm
    argTypes:
    - void*
    - uint16_t
    - knot_mm_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: knot_pkt_new
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 28
    functionsReached:
    - mm_ctx_init
    - pkt_new_mm
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_pkt_new(void *wire, uint16_t len, knot_mm_t *mm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:241,1
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:246,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:247,1
    - Dst: knot_tsig_append
      Src: /src/knot-dns/src/libknot/packet/pkt.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: append_tsig
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - knot_tsig_append
    - knot_wire_get_arcount
    - knot_wire_set_arcount
    linkageType: ''
    returnType: int
    signature: int append_tsig(knot_pkt_t *dst, const knot_pkt_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:266,1
    - Dst: knot_pkt_parse
      Src: /src/knot-dns/src/libknot/packet/pkt.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: knot_pkt_copy
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 2
    functionsReached:
    - memcpy
    - knot_pkt_parse
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_copy(knot_pkt_t *dst, const knot_pkt_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:289,1
    - Dst: pkt_free_data
      Src: /src/knot-dns/src/libknot/packet/pkt.c:296,1
    - Dst: sections_reset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: payload_clear
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - assert
    - sections_reset
    - pkt_free_data
    linkageType: ''
    returnType: void
    signature: void payload_clear(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:324,1
    - Dst: knot_wire_set_qdcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:330,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:332,1
    - Dst: knot_wire_set_ancount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:335,1
    - Dst: knot_wire_set_nscount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:336,1
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:337,1
    - Dst: knot_wire_set_qr
      Src: /src/knot-dns/src/libknot/packet/pkt.c:339,1
    - Dst: knot_wire_clear_tc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:340,1
    - Dst: knot_wire_clear_ad
      Src: /src/knot-dns/src/libknot/packet/pkt.c:341,1
    - Dst: knot_wire_clear_ra
      Src: /src/knot-dns/src/libknot/packet/pkt.c:342,1
    - Dst: knot_wire_clear_aa
      Src: /src/knot-dns/src/libknot/packet/pkt.c:343,1
    - Dst: knot_wire_clear_z
      Src: /src/knot-dns/src/libknot/packet/pkt.c:344,1
    - Dst: payload_clear
      Src: /src/knot-dns/src/libknot/packet/pkt.c:347,1
    - Dst: compr_clear
      Src: /src/knot-dns/src/libknot/packet/pkt.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pkt
    - query
    argTypes:
    - knot_pkt_t*
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 353
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 353
    functionName: knot_pkt_init_response
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 2
    functionsReached:
    - knot_wire_set_nscount
    - knot_wire_set_qdcount
    - knot_wire_set_ancount
    - knot_wire_set_qr
    - knot_wire_clear_ad
    - knot_wire_clear_aa
    - compr_clear
    - knot_wire_clear_z
    - payload_clear
    - memcpy
    - knot_wire_clear_ra
    - knot_wire_clear_tc
    - knot_wire_set_arcount
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_init_response(knot_pkt_t *pkt, const knot_pkt_t *query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:364,1
    - Dst: payload_clear
      Src: /src/knot-dns/src/libknot/packet/pkt.c:367,1
    - Dst: compr_clear
      Src: /src/knot-dns/src/libknot/packet/pkt.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 355
    functionDepth: 5
    functionLinenumber: 355
    functionLinenumberEnd: 374
    functionName: knot_pkt_clear
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 5
    functionsReached:
    - compr_clear
    - payload_clear
    - memset
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_clear(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkt_free_data
      Src: /src/knot-dns/src/libknot/packet/pkt.c:384,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:387,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:388,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:392,1
    - Dst: mm_free
      Src: /src/knot-dns/src/libknot/packet/pkt.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: knot_pkt_free
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 17
    functionsReached:
    - mm_free
    - pkt_free_data
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_free(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkt_remaining
      Src: /src/knot-dns/src/libknot/packet/pkt.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: knot_pkt_reserve
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 4
    functionsReached:
    - pkt_remaining
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_reserve(knot_pkt_t *pkt, uint16_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: knot_pkt_reclaim
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_reclaim(knot_pkt_t *pkt, uint16_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - section_id
    argTypes:
    - knot_pkt_t*
    - knot_section_t
    constantsTouched: []
    func_position:
      end: 445
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 445
    functionName: knot_pkt_begin
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_begin(knot_pkt_t *pkt, knot_section_t section_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:454,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:455,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/packet/pkt.c:458,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:459,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/packet/pkt.c:466,1
    - Dst: knot_dname_copy_lower
      Src: /src/knot-dns/src/libknot/packet/pkt.c:469,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/packet/pkt.c:472,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/packet/pkt.c:473,1
    - Dst: knot_wire_set_qdcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:481,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:482,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/libknot/packet/pkt.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pkt
    - qname
    - qclass
    - qtype
    argTypes:
    - knot_pkt_t*
    - knot_dname_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 487
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 487
    functionName: knot_pkt_put_question
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 7
    functionsReached:
    - assert
    - wire_ctx_init
    - knot_wire_set_qdcount
    - knot_dname_copy_lower
    - knot_pkt_begin
    - wire_ctx_offset
    - wire_ctx_set_offset
    - wire_ctx_skip
    - wire_ctx_write_u16
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_put_question(knot_pkt_t *pkt, const knot_dname_t
      *qname, uint16_t qclass, uint16_t qtype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkt_contains
      Src: /src/knot-dns/src/libknot/packet/pkt.c:504,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:509,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/pkt.c:513,1
    - Dst: knot_pkt_qname
      Src: /src/knot-dns/src/libknot/packet/pkt.c:517,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/libknot/packet/pkt.c:523,1
    - Dst: knot_rrset_to_wire_extra
      Src: /src/knot-dns/src/libknot/packet/pkt.c:534,1
    - Dst: knot_wire_set_tc
      Src: /src/knot-dns/src/libknot/packet/pkt.c:538,1
    - Dst: pkt_rr_wirecount_add
      Src: /src/knot-dns/src/libknot/packet/pkt.c:555,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - pkt
    - compr_hint
    - rr
    - rotate
    - flags
    argTypes:
    - knot_pkt_t*
    - uint16_t
    - knot_rrset_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 559
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 559
    functionName: knot_pkt_put_rotate
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 2
    functionsReached:
    - knot_rrset_to_wire_extra
    - knot_pkt_qname
    - pkt_rr_wirecount_add
    - knot_wire_set_tc
    - pkt_contains
    - memset
    - memcpy
    - knot_dname_labels
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_pkt_put_rotate(knot_pkt_t *pkt, uint16_t compr_hint,
      const knot_rrset_t *rr,\n                        uint16_t rotate, uint16_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_dname_copy_lower
      Src: /src/knot-dns/src/libknot/packet/pkt.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 614
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 614
    functionName: knot_pkt_parse_question
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 1
    functionsReached:
    - knot_dname_copy_lower
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_parse_question(knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_tsig_rdata_is_ok
      Src: /src/knot-dns/src/libknot/packet/pkt.c:625,1
    - Dst: knot_wire_set_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:635,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/libknot/packet/pkt.c:635,1
    - Dst: knot_edns_get_options
      Src: /src/knot-dns/src/libknot/packet/pkt.c:642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pkt
    - rr
    - rr_size
    - flags
    argTypes:
    - knot_pkt_t*
    - knot_rrset_t*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 653
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 653
    functionName: check_rr_constraints
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_arcount
    - knot_tsig_rdata_is_ok
    - knot_wire_set_arcount
    - knot_edns_get_options
    linkageType: ''
    returnType: int
    signature: "int check_rr_constraints(knot_pkt_t *pkt, knot_rrset_t *rr, size_t
      rr_size,\n                                unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:657,1
    - Dst: memset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:670,1
    - Dst: knot_rrset_rr_from_wire
      Src: /src/knot-dns/src/libknot/packet/pkt.c:677,1
    - Dst: check_rr_constraints
      Src: /src/knot-dns/src/libknot/packet/pkt.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - knot_pkt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 692
      start: 655
    functionDepth: 7
    functionLinenumber: 655
    functionLinenumberEnd: 692
    functionName: parse_rr
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 1
    functionsReached:
    - knot_rrset_rr_from_wire
    - assert
    - check_rr_constraints
    - memset
    linkageType: ''
    returnType: int
    signature: int parse_rr(knot_pkt_t *pkt, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - knot_pkt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 710
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 710
    functionName: parse_section
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int parse_section(knot_pkt_t *pkt, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:714,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:715,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.c:716,1
    - Dst: knot_pkt_begin
      Src: /src/knot-dns/src/libknot/packet/pkt.c:733,1
    - Dst: parse_section
      Src: /src/knot-dns/src/libknot/packet/pkt.c:737,1
    - Dst: knot_pkt_section
      Src: /src/knot-dns/src/libknot/packet/pkt.c:744,1
    - Dst: knot_pkt_rr
      Src: /src/knot-dns/src/libknot/packet/pkt.c:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - knot_pkt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 758
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 758
    functionName: parse_payload
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 1
    functionsReached:
    - assert
    - knot_pkt_begin
    - parse_section
    - knot_pkt_section
    - knot_pkt_rr
    linkageType: ''
    returnType: int
    signature: int parse_payload(knot_pkt_t *pkt, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sections_reset
      Src: /src/knot-dns/src/libknot/packet/pkt.c:768,1
    - Dst: parse_payload
      Src: /src/knot-dns/src/libknot/packet/pkt.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - knot_pkt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 776
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 776
    functionName: knot_pkt_parse
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 10
    functionsReached:
    - sections_reset
    - parse_payload
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_parse(knot_pkt_t *pkt, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_edns_whole_rcode
      Src: /src/knot-dns/src/libknot/packet/pkt.c:791,1
    - Dst: knot_tsig_rdata_error
      Src: /src/knot-dns/src/libknot/packet/pkt.c:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 811
    functionName: knot_pkt_ext_rcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 11
    functionsReached:
    - knot_edns_whole_rcode
    - knot_tsig_rdata_error
    linkageType: ''
    returnType: _public_
    signature: _public_ knot_pkt_ext_rcode(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/packet/pkt.c:824,1
    - Dst: knot_lookup_by_id
      Src: /src/knot-dns/src/libknot/packet/pkt.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 831
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 831
    functionName: knot_pkt_ext_rcode_name
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.c
    functionUses: 8
    functionsReached:
    - knot_lookup_by_id
    linkageType: ''
    returnType: _public_
    signature: _public_ *knot_pkt_ext_rcode_name(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:59,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: knot_wire_get_id
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 7
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_id(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:71,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - id
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: knot_wire_set_id
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 7
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_id(uint8_t *packet, uint16_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: knot_wire_get_flags1
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_flags1(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - flags1
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: knot_wire_set_flags1
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_set_flags1(uint8_t *packet, uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: knot_wire_get_flags2
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_flags2(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - flags2
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: knot_wire_set_flags2
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_set_flags2(uint8_t *packet, uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:135,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: knot_wire_get_qdcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 4
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_qdcount(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:148,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - qdcount
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: knot_wire_set_qdcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_qdcount(uint8_t *packet, uint16_t qdcount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:157,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:158,1
    - Dst: knot_wire_get_qdcount
      Src: /src/knot-dns/src/libknot/packet/wire.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - n
    argTypes:
    - uint8_t*
    - int16_t
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: knot_wire_add_qdcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - knot_wire_write_u16
    - assert
    - knot_wire_get_qdcount
    linkageType: ''
    returnType: void
    signature: void knot_wire_add_qdcount(uint8_t *packet, int16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:172,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: knot_wire_get_ancount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_ancount(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:185,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - ancount
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: knot_wire_set_ancount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_ancount(uint8_t *packet, uint16_t ancount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:194,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:195,1
    - Dst: knot_wire_get_ancount
      Src: /src/knot-dns/src/libknot/packet/wire.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - n
    argTypes:
    - uint8_t*
    - int16_t
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: knot_wire_add_ancount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - knot_wire_write_u16
    - assert
    - knot_wire_get_ancount
    linkageType: ''
    returnType: void
    signature: void knot_wire_add_ancount(uint8_t *packet, int16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:209,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: knot_wire_get_nscount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 5
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_nscount(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:222,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - nscount
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: knot_wire_set_nscount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_nscount(uint8_t *packet, uint16_t nscount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:231,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:232,1
    - Dst: knot_wire_get_nscount
      Src: /src/knot-dns/src/libknot/packet/wire.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - n
    argTypes:
    - uint8_t*
    - int16_t
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: knot_wire_add_nscount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - knot_wire_write_u16
    - assert
    - knot_wire_get_nscount
    linkageType: ''
    returnType: void
    signature: void knot_wire_add_nscount(uint8_t *packet, int16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:246,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: knot_wire_get_arcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 7
    functionsReached:
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_arcount(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:259,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - arcount
    argTypes:
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: knot_wire_set_arcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_arcount(uint8_t *packet, uint16_t arcount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:268,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:269,1
    - Dst: knot_wire_get_arcount
      Src: /src/knot-dns/src/libknot/packet/wire.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - n
    argTypes:
    - uint8_t*
    - int16_t
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: knot_wire_add_arcount
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - knot_wire_get_arcount
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_add_arcount(uint8_t *packet, int16_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: knot_wire_get_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_rd(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: knot_wire_set_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_rd(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: knot_wire_clear_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_rd(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: knot_wire_get_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_tc(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: knot_wire_set_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_tc(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: knot_wire_clear_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_tc(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: knot_wire_get_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_aa(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: knot_wire_set_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_aa(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: knot_wire_clear_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_aa(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: knot_wire_get_opcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_opcode(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - opcode
    argTypes:
    - uint8_t*
    - short
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: knot_wire_set_opcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_opcode(uint8_t *packet, short opcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: knot_wire_get_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_qr(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: knot_wire_set_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_qr(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: knot_wire_clear_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_qr(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: knot_wire_get_rcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_rcode(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - rcode
    argTypes:
    - uint8_t*
    - short
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: knot_wire_set_rcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_rcode(uint8_t *packet, short rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: knot_wire_get_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_cd(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: knot_wire_set_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_cd(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: knot_wire_clear_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_cd(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: knot_wire_get_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_ad(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: knot_wire_set_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_ad(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: knot_wire_clear_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_ad(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 584
    functionName: knot_wire_get_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_z(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: knot_wire_set_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_z(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: knot_wire_clear_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_z(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: knot_wire_get_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_get_ra(const uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: knot_wire_set_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_set_ra(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packet
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: knot_wire_clear_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_clear_ra(uint8_t *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: knot_wire_flags_get_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_rd(uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: knot_wire_flags_set_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_rd(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: knot_wire_flags_clear_rd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_rd(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: knot_wire_flags_get_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_tc(uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: knot_wire_flags_set_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_tc(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: knot_wire_flags_clear_tc
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_tc(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: knot_wire_flags_get_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_aa(uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: knot_wire_flags_set_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_aa(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: knot_wire_flags_clear_aa
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_aa(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: knot_wire_flags_get_opcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_opcode(uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flags1
    - opcode
    argTypes:
    - uint8_t*
    - short
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: knot_wire_flags_set_opcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_opcode(uint8_t *flags1, short opcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: knot_wire_flags_get_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_qr(uint8_t flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: knot_wire_flags_set_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_qr(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags1
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 811
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 811
    functionName: knot_wire_flags_clear_qr
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_qr(uint8_t *flags1)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: knot_wire_flags_get_rcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_rcode(uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flags2
    - rcode
    argTypes:
    - uint8_t*
    - short
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: knot_wire_flags_set_rcode
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_rcode(uint8_t *flags2, short rcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: knot_wire_flags_get_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_cd(uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: knot_wire_flags_set_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_cd(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: knot_wire_flags_clear_cd
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_cd(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: knot_wire_flags_get_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_ad(uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 894
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 894
    functionName: knot_wire_flags_set_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_ad(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: knot_wire_flags_clear_ad
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_ad(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: knot_wire_flags_get_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_z(uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 929
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 929
    functionName: knot_wire_flags_set_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_z(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: knot_wire_flags_clear_z
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_z(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: knot_wire_flags_get_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t knot_wire_flags_get_ra(uint8_t flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: knot_wire_flags_set_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_set_ra(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags2
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 975
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 975
    functionName: knot_wire_flags_clear_ra
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_flags_clear_ra(uint8_t *flags2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: knot_wire_is_pointer
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int knot_wire_is_pointer(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1005,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:1006,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wire
    - pos
    - ptr
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: knot_wire_put_pointer
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: void
    signature: void knot_wire_put_pointer(const uint8_t *wire, uint8_t *pos, uint16_t
      ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1013,1
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/packet/wire.h:1013,1
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/wire.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: knot_wire_get_pointer
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 0
    functionsReached:
    - knot_wire_is_pointer
    - assert
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_wire_get_pointer(const uint8_t *pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1020,1
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/packet/wire.h:1021,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lp
    - wire
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: knot_wire_seek_label
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 2
    functionsReached:
    - knot_wire_is_pointer
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_wire_seek_label(const uint8_t *lp, const uint8_t *wire)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1035,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1036,1
    - Dst: knot_wire_seek_label
      Src: /src/knot-dns/src/libknot/packet/wire.h:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lp
    - wire
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: knot_wire_next_label
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 3
    functionsReached:
    - knot_wire_seek_label
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_wire_next_label(const uint8_t *lp, const uint8_t *wire)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1043,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1044,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/wire.h:1045,1
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/packet/wire.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lp
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1047
    functionName: knot_dname_next_label
    functionSourceFile: /src/knot-dns/src/libknot/packet/wire.h
    functionUses: 15
    functionsReached:
    - knot_wire_is_pointer
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_dname_next_label(const uint8_t *lp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wire_avail
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: dname_max
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - MIN
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dname_max(size_t wire_avail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:40,1
    - Dst: knot_tolower
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - label1
    - label2
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: label_is_equal
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 2
    functionsReached:
    - assert
    - knot_tolower
    linkageType: ''
    returnType: bool
    signature: bool label_is_equal(const uint8_t *label1, const uint8_t *label2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:63,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:64,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:65,1
    - Dst: knot_wire_seek_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:67,1
    - Dst: label_is_equal
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:70,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:73,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - d1
    - d2
    - wire
    argTypes:
    - knot_dname_t*
    - knot_dname_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: dname_equal_wire
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - knot_wire_seek_label
    - assert
    - label_is_equal
    - knot_wire_next_label
    - knot_dname_next_label
    linkageType: ''
    returnType: bool
    signature: "bool dname_equal_wire(const knot_dname_t *d1, const knot_dname_t *d2,\n
      \                            const uint8_t *wire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_compr_hint
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - compr
    - hint
    argTypes:
    - knot_compr_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: compr_get_ptr
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - knot_compr_hint
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t compr_get_ptr(knot_compr_t *compr, uint16_t hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:96,1
    - Dst: knot_wire_is_pointer
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:100,1
    - Dst: knot_wire_get_pointer
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:101,1
    - Dst: knot_compr_hint_set
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - compr
    - hint
    - written_at
    - written_size
    argTypes:
    - knot_compr_t*
    - uint16_t
    - uint8_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: compr_set_ptr
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - knot_wire_get_pointer
    - knot_wire_is_pointer
    - assert
    - knot_compr_hint_set
    linkageType: ''
    returnType: void
    signature: "void compr_set_ptr(knot_compr_t *compr, uint16_t hint,\n                          const
      uint8_t *written_at, uint16_t written_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:110,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:111,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:112,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:113,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    - size
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: write_rdata_fixed
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: "int write_rdata_fixed(const uint8_t **src, size_t *src_avail,\n                             uint8_t
      **dst, size_t *dst_avail, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:140,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:141,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:142,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:143,1
    - Dst: write_rdata_fixed
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: write_rdata_naptr_header
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - write_rdata_fixed
    - assert
    linkageType: ''
    returnType: int
    signature: "int write_rdata_naptr_header(const uint8_t **src, size_t *src_avail,\n
      \                                   uint8_t **dst, size_t *dst_avail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:178,1
    - Dst: knot_dname_to_wire
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:182,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:187,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:193,1
    - Dst: CHECK_WIRE_NEXT_LABEL
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:194,1
    - Dst: WRITE_LABEL
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:202,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:203,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:208,1
    - Dst: knot_dname_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:213,1
    - Dst: knot_wire_next_label
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:214,1
    - Dst: CHECK_WIRE_NEXT_LABEL
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:215,1
    - Dst: label_is_equal
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:218,1
    - Dst: WRITE_LABEL
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:221,1
    - Dst: WRITE_LABEL
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:234,1
    - Dst: knot_wire_put_pointer
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:240,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:244,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - dname
    - dst
    - max
    - compr
    argTypes:
    - knot_dname_t*
    - uint8_t*
    - uint16_t
    - knot_compr_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 255
    functionName: compr_put_dname
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - label_is_equal
    - knot_wire_next_label
    - CHECK_WIRE_NEXT_LABEL
    - knot_wire_put_pointer
    - WRITE_LABEL
    - knot_dname_next_label
    - knot_dname_to_wire
    linkageType: ''
    returnType: int
    signature: "int compr_put_dname(const knot_dname_t *dname, uint8_t *dst, uint16_t
      max,\n                           knot_compr_t *compr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:269,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:270,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:271,1
    - Dst: compr_get_ptr
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:276,1
    - Dst: WRITE_OWNER_CHECK
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:281,1
    - Dst: knot_wire_put_pointer
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:282,1
    - Dst: WRITE_OWNER_INCR
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:283,1
    - Dst: dname_equal_wire
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:286,1
    - Dst: WRITE_OWNER_CHECK
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:288,1
    - Dst: knot_wire_put_pointer
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:289,1
    - Dst: compr_set_ptr
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:290,1
    - Dst: knot_dname_size
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:292,1
    - Dst: WRITE_OWNER_INCR
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:293,1
    - Dst: knot_dname_labels
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:298,1
    - Dst: compr_set_ptr
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:308,1
    - Dst: WRITE_OWNER_INCR
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - rrset
    - dst
    - dst_avail
    - compr
    argTypes:
    - knot_rrset_t*
    - uint8_t**
    - size_t*
    - knot_compr_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 313
    functionName: write_owner
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - WRITE_OWNER_CHECK
    - dname_equal_wire
    - knot_dname_size
    - knot_wire_put_pointer
    - compr_get_ptr
    - WRITE_OWNER_INCR
    - compr_set_ptr
    - knot_dname_labels
    linkageType: ''
    returnType: int
    signature: "int write_owner(const knot_rrset_t *rrset, uint8_t **dst, size_t *dst_avail,\n
      \                      knot_compr_t *compr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:318,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:319,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:320,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:321,1
    - Dst: wire_ctx_init
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:324,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:326,1
    - Dst: wire_ctx_write_u16
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:327,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:330,1
    - Dst: knot_rrsig_original_ttl
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:330,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:332,1
    - Dst: MIN
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:332,1
    - Dst: knot_soa_minimum
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:332,1
    - Dst: wire_ctx_write_u32
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:334,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - rrset
    - rdata
    - dst
    - dst_avail
    - flags
    argTypes:
    - knot_rrset_t*
    - knot_rdata_t*
    - uint8_t**
    - size_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 5
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: write_fixed_header
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_init
    - knot_soa_minimum
    - wire_ctx_available
    - knot_rrsig_original_ttl
    - MIN
    - wire_ctx_write_u16
    - wire_ctx_write_u32
    linkageType: ''
    returnType: int
    signature: "int write_fixed_header(const knot_rrset_t *rrset, const knot_rdata_t
      *rdata,\n                              uint8_t **dst, size_t *dst_avail, uint16_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:354,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:355,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:356,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:357,1
    - Dst: compr_get_ptr
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:370,1
    - Dst: compr_set_ptr
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    - put_compr
    - compr
    - hint
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - knot_compr_t*
    - knot_compr_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 382
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 382
    functionName: compress_rdata_dname
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - compr_set_ptr
    - compr_get_ptr
    linkageType: ''
    returnType: int
    signature: "int compress_rdata_dname(const uint8_t **src, size_t *src_avail,\n
      \                               uint8_t **dst, size_t *dst_avail,\n                                knot_compr_t
      *put_compr, knot_compr_t *compr,\n                                uint16_t hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_rdata_dname
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:398,1
    - Dst: write_rdata_naptr_header
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:402,1
    - Dst: write_rdata_fixed
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:405,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:409,1
    - Dst: write_rdata_fixed
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 7
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    - desc
    - compr
    - hint
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - knot_rdata_descriptor_t*
    - knot_compr_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 419
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 419
    functionName: rdata_traverse_write
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - write_rdata_fixed
    - assert
    - write_rdata_naptr_header
    - compress_rdata_dname
    linkageType: ''
    returnType: int
    signature: "int rdata_traverse_write(const uint8_t **src, size_t *src_avail,\n
      \                               uint8_t **dst, size_t *dst_avail,\n                                const
      knot_rdata_descriptor_t *desc,\n                                knot_compr_t
      *compr, uint16_t hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:425,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:426,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:427,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:428,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:429,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:447,1
    - Dst: knot_wire_write_u16
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - rrset
    - rrset_index
    - rdata
    - dst
    - dst_avail
    - compr
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - knot_rdata_t*
    - uint8_t**
    - size_t*
    - knot_compr_t*
    constantsTouched: []
    func_position:
      end: 465
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 465
    functionName: write_rdata
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - knot_get_rdata_descriptor
    - knot_wire_write_u16
    - assert
    linkageType: ''
    returnType: int
    signature: "int write_rdata(const knot_rrset_t *rrset, uint16_t rrset_index,\n
      \                      const knot_rdata_t *rdata, uint8_t **dst, size_t *dst_avail,\n
      \                      knot_compr_t *compr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_fixed_header
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:476,1
    - Dst: write_rdata
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - rrset
    - rrset_index
    - rdata
    - dst
    - dst_avail
    - compr
    - flags
    argTypes:
    - knot_rrset_t*
    - uint16_t
    - knot_rdata_t*
    - uint8_t**
    - size_t*
    - knot_compr_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 482
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 482
    functionName: write_rr
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - write_fixed_header
    - write_rdata
    linkageType: ''
    returnType: int
    signature: "int write_rr(const knot_rrset_t *rrset, uint16_t rrset_index,\n                    const
      knot_rdata_t *rdata, uint8_t **dst,\n                    size_t *dst_avail,
      knot_compr_t *compr, uint16_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rdataset_at
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:503,1
    - Dst: knot_rdataset_next
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - rrset
    - wire
    - max_size
    - rotate
    - compr
    - flags
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - uint32_t
    - uint16_t
    - knot_compr_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 514
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 514
    functionName: knot_rrset_to_wire_extra
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 1
    functionsReached:
    - knot_rdataset_at
    - knot_rdataset_next
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_to_wire_extra(const knot_rrset_t *rrset, uint8_t
      *wire,\n                             uint32_t max_size, uint16_t rotate,\n                             knot_compr_t
      *compr, uint16_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:519,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:520,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:521,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:522,1
    - Dst: wire_ctx_init_const
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:524,1
    - Dst: wire_ctx_set_offset
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:525,1
    - Dst: mm_alloc
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:538,1
    - Dst: memcpy
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:542,1
    - Dst: wire_ctx_skip
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:543,1
    - Dst: wire_ctx_read_u16
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:548,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:551,1
    - Dst: wire_ctx_available
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:555,1
    - Dst: knot_dname_free
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:556,1
    - Dst: wire_ctx_offset
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:560,1
    - Dst: knot_rrset_init
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 6
    argNames:
    - wire
    - pos
    - pkt_size
    - mm
    - rrset
    - rdlen
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - knot_mm_t*
    - knot_rrset_t*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 565
    functionName: parse_header
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - wire_ctx_available
    - memcpy
    - wire_ctx_offset
    - knot_dname_free
    - wire_ctx_set_offset
    - mm_alloc
    - knot_rrset_init
    - wire_ctx_init_const
    - wire_ctx_read_u16
    - wire_ctx_skip
    linkageType: ''
    returnType: int
    signature: "int parse_header(const uint8_t *wire, size_t *pos, size_t pkt_size,\n
      \                       knot_mm_t *mm, knot_rrset_t *rrset, uint16_t *rdlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:571,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:572,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:573,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    - pkt_wire
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 594
    functionName: decompress_rdata_dname
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int decompress_rdata_dname(const uint8_t **src, size_t *src_avail,\n
      \                                 uint8_t **dst, size_t *dst_avail,\n                                  const
      uint8_t *pkt_wire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decompress_rdata_dname
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:607,1
    - Dst: write_rdata_naptr_header
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:611,1
    - Dst: write_rdata_fixed
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:614,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:618,1
    - Dst: write_rdata_fixed
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - src
    - src_avail
    - dst
    - dst_avail
    - desc
    - pkt_wire
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - knot_rdata_descriptor_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 628
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 628
    functionName: rdata_traverse_parse
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - write_rdata_fixed
    - assert
    - decompress_rdata_dname
    - write_rdata_naptr_header
    linkageType: ''
    returnType: int
    signature: "int rdata_traverse_parse(const uint8_t **src, size_t *src_avail,\n
      \                               uint8_t **dst, size_t *dst_avail,\n                                const
      knot_rdata_descriptor_t *desc,\n                                const uint8_t
      *pkt_wire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rr
    - desc
    argTypes:
    - knot_rrset_t*
    - knot_rdata_descriptor_t*
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: allow_zero_rdata
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool allow_zero_rdata(const knot_rrset_t *rr,\n                             const
      knot_rdata_descriptor_t *desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:642,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:643,1
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:644,1
    - Dst: knot_get_rdata_descriptor
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:646,1
    - Dst: knot_get_obsolete_rdata_descriptor
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:648,1
    - Dst: allow_zero_rdata
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:652,1
    - Dst: knot_rrset_add_rdata
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:653,1
    - Dst: knot_rdataset_add
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - pkt_wire
    - pos
    - pkt_size
    - mm
    - rdlength
    - rrset
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - knot_mm_t*
    - uint16_t
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 692
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 692
    functionName: parse_rdata
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 0
    functionsReached:
    - assert
    - allow_zero_rdata
    - knot_get_obsolete_rdata_descriptor
    - knot_rdataset_add
    - knot_get_rdata_descriptor
    - knot_rrset_add_rdata
    linkageType: ''
    returnType: int
    signature: "int parse_rdata(const uint8_t *pkt_wire, size_t *pos, size_t pkt_size,\n
      \                      knot_mm_t *mm, uint16_t rdlength, knot_rrset_t *rrset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_rdata
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:708,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:710,1
    - Dst: knot_rrset_rr_to_canonical
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:716,1
    - Dst: knot_rrset_clear
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.c:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 6
    argNames:
    - wire
    - pos
    - max_size
    - rrset
    - mm
    - canonical
    argTypes:
    - uint8_t*
    - size_t*
    - size_t
    - knot_rrset_t*
    - knot_mm_t*
    - bool
    constantsTouched: []
    func_position:
      end: 723
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 723
    functionName: knot_rrset_rr_from_wire
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.c
    functionUses: 1
    functionsReached:
    - parse_rdata
    - knot_rrset_rr_to_canonical
    - knot_rrset_clear
    linkageType: ''
    returnType: _public_
    signature: "_public_ knot_rrset_rr_from_wire(const uint8_t *wire, size_t *pos,
      size_t max_size,\n                            knot_rrset_t *rrset, knot_mm_t
      *mm, bool canonical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - hint_id
    argTypes:
    - knot_rrinfo_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: knot_compr_hint
    functionSourceFile: /src/knot-dns/src/libknot/packet/compr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_compr_hint(const knot_rrinfo_t *info, uint16_t hint_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - info
    - hint_id
    - val
    - len
    argTypes:
    - knot_rrinfo_t*
    - uint16_t
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: knot_compr_hint_set
    functionSourceFile: /src/knot-dns/src/libknot/packet/compr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void knot_compr_hint_set(knot_rrinfo_t *info, uint16_t hint_id,\n
      \                                      uint16_t val, uint16_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: knot_pkt_question_size
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_pkt_question_size(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: knot_pkt_qname
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_pkt_qname(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: knot_pkt_wire_qname
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: knot_dname_t
    signature: knot_dname_t *knot_pkt_wire_qname(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/pkt.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: knot_pkt_qtype
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 12
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_pkt_qtype(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_read_u16
      Src: /src/knot-dns/src/libknot/packet/pkt.h:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: knot_pkt_qclass
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 7
    functionsReached:
    - knot_wire_read_u16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t knot_pkt_qclass(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_pkt_put_rotate
      Src: /src/knot-dns/src/libknot/packet/pkt.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pkt
    - compr_hint
    - rr
    - flags
    argTypes:
    - knot_pkt_t*
    - uint16_t
    - knot_rrset_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: knot_pkt_put
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 17
    functionsReached:
    - knot_pkt_put_rotate
    linkageType: ''
    returnType: int
    signature: "int knot_pkt_put(knot_pkt_t *pkt, uint16_t compr_hint,\n                               const
      knot_rrset_t *rr, uint16_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - section_id
    argTypes:
    - knot_pkt_t*
    - knot_section_t
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: knot_pkt_section
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 22
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_pktsection_t
    signature: "knot_pktsection_t *knot_pkt_section(const knot_pkt_t *pkt,\n                                                        knot_section_t
      section_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - section
    - i
    argTypes:
    - knot_pktsection_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: knot_pkt_rr
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 23
    functionsReached:
    - assert
    linkageType: ''
    returnType: knot_rrset_t
    signature: "knot_rrset_t *knot_pkt_rr(const knot_pktsection_t *section,\n                                              uint16_t
      i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - section
    - i
    argTypes:
    - knot_pktsection_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: knot_pkt_rr_offset
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t knot_pkt_rr_offset(const knot_pktsection_t *section,\n                                          uint16_t
      i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: knot_pkt_has_edns
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool knot_pkt_has_edns(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: knot_pkt_has_tsig
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool knot_pkt_has_tsig(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:363,1
    - Dst: knot_pkt_has_edns
      Src: /src/knot-dns/src/libknot/packet/pkt.h:364,1
    - Dst: knot_edns_do
      Src: /src/knot-dns/src/libknot/packet/pkt.h:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: knot_pkt_has_dnssec
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 5
    functionsReached:
    - assert
    - knot_pkt_has_edns
    - knot_edns_do
    linkageType: ''
    returnType: bool
    signature: bool knot_pkt_has_dnssec(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - code
    argTypes:
    - knot_pkt_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: knot_pkt_edns_option
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *knot_pkt_edns_option(const knot_pkt_t *pkt, uint16_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_wire_get_qr
      Src: /src/knot-dns/src/libknot/packet/pkt.h:391,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/src/libknot/packet/pkt.h:392,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/libknot/packet/pkt.h:393,1
    - Dst: knot_edns_alignment_size
      Src: /src/knot-dns/src/libknot/packet/pkt.h:396,1
    - Dst: knot_rrset_size
      Src: /src/knot-dns/src/libknot/packet/pkt.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - opt_rr
    argTypes:
    - knot_pkt_t*
    - knot_rrset_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: knot_pkt_default_padding_size
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 1
    functionsReached:
    - knot_edns_alignment_size
    - knot_wire_get_qr
    - knot_rrset_size
    linkageType: ''
    returnType: int
    signature: "int knot_pkt_default_padding_size(const knot_pkt_t *pkt,\n                                                const
      knot_rrset_t *opt_rr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/knot-dns/src/libknot/packet/pkt.h:404,1
    - Dst: knot_pkt_has_tsig
      Src: /src/knot-dns/src/libknot/packet/pkt.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - knot_pkt_t*
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: knot_pkt_size
    functionSourceFile: /src/knot-dns/src/libknot/packet/pkt.h
    functionUses: 2
    functionsReached:
    - assert
    - knot_pkt_has_tsig
    linkageType: ''
    returnType: size_t
    signature: size_t knot_pkt_size(const knot_pkt_t *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knot_rrset_to_wire_extra
      Src: /src/knot-dns/src/libknot/packet/rrset-wire.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rrset
    - wire
    - max_size
    - compr
    argTypes:
    - knot_rrset_t*
    - uint8_t*
    - uint32_t
    - knot_compr_t*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: knot_rrset_to_wire
    functionSourceFile: /src/knot-dns/src/libknot/packet/rrset-wire.h
    functionUses: 2
    functionsReached:
    - knot_rrset_to_wire_extra
    linkageType: ''
    returnType: int
    signature: "int knot_rrset_to_wire(const knot_rrset_t *rrset, uint8_t *wire,\n
      \                                    uint32_t max_size, knot_compr_t *compr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_wait
      Src: /src/lmdb/libraries/liblmdb/mdb.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: mdb_sem_wait
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - sem_wait
    linkageType: ''
    returnType: int
    signature: int mdb_sem_wait(sem_t *sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: semop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sem
    argTypes:
    - mdb_mutexref_t
    constantsTouched: []
    func_position:
      end: 439
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 439
    functionName: mdb_sem_wait
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - semop
    linkageType: ''
    returnType: int
    signature: int mdb_sem_wait(mdb_mutexref_t sem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - major
    - minor
    - patch
    argTypes:
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1728
    functionName: mdb_version
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char * ESECT

      mdb_version(int *major, int *minor, int *patch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1790,1
    - Dst: FormatMessageA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1795,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1804
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1804
    functionName: mdb_strerror
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - strerror
    - FormatMessageA
    linkageType: ''
    returnType: char
    signature: 'char *

      mdb_strerror(int err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1822,1
    - Dst: MDB_env*::me_assert_func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1825,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1826,1
    - Dst: abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - env
    - expr_txt
    - func
    - file
    - line
    argTypes:
    - MDB_env*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1828
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1828
    functionName: mdb_assert_fail
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fprintf
    - abort
    - MDB_env*::me_assert_func
    linkageType: ''
    returnType: void
    signature: "void mdb_assert_fail(MDB_env *env, const char *expr_txt,\n\tconst
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: COPY_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1839,1
    - Dst: MP_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1841
    functionName: mdb_dbg_pgno
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - COPY_PGNO
    - MP_PGNO
    linkageType: ''
    returnType: pgno_t
    signature: pgno_t mdb_dbg_pgno(MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1866,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - MDB_val*
    - char*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1871
    functionName: mdb_dkey
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      mdb_dkey(MDB_val *key, char *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dkey
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1877,1
    - Dst: strcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - txn
    - dbi
    - data
    - buf
    argTypes:
    - MDB_txn*
    - MDB_dbi
    - MDB_val*
    - char*
    constantsTouched: []
    func_position:
      end: 1883
      start: 1873
    functionDepth: 2
    functionLinenumber: 1873
    functionLinenumberEnd: 1883
    functionName: mdb_dval
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_dkey
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      mdb_dval(MDB_txn *txn, MDB_dbi dbi, MDB_val *data, char *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1889,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1890,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - MDB_node*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1891
    functionName: mdb_leafnode_type
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - F_ISSET
    linkageType: ''
    returnType: char
    signature: 'char *

      mdb_leafnode_type(MDB_node *n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1897,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1904,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1911,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1915,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1916,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1919,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1919,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1923,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1924,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1927,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1929,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1931,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1931,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1934,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1938,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1939,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1939,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1940,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1943,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1946,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1949,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1950,1
    - Dst: mdb_leafnode_type
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1950,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1952,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1954,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1955,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1955,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1955,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1956
    functionName: mdb_page_list
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - NUMKEYS
    - SIZELEFT
    - EVEN
    - NODEDSZ
    - DKEY
    - MP_LOWER
    - NODEPTR
    - mdb_dbg_pgno
    - IS_BRANCH
    - METADATA
    - NODEPGNO
    - LEAF2KEY
    - mdb_leafnode_type
    - MP_FLAGS
    - fprintf
    - IS_LEAF2
    - F_ISSET
    linkageType: ''
    returnType: void
    signature: void mdb_page_list(MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1968,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1969,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1970,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1972,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1973,1
    - Dst: XCURSOR_INITED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1974,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1975,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1977,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - mc
    argTypes:
    - MDB_cursor*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1981
    functionName: mdb_cursor_chk
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - NUMKEYS
    - XCURSOR_INITED
    - NODEPGNO
    - printf
    - NODEPTR
    - NODEDATA
    linkageType: ''
    returnType: void
    signature: void mdb_cursor_chk(MDB_cursor *mc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:1999,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2000,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2002,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2009,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2016,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2017,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2021,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2022,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2025,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2025,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2031,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 2039
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2039
    functionName: mdb_audit
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - NUMKEYS
    - mdb_tassert
    - mdb_cursor_sibling
    - mdb_cursor_get
    - mdb_cursor_init
    - mdb_page_search
    - memcpy
    - NODEPTR
    - fprintf
    - NODEDATA
    linkageType: ''
    returnType: void
    signature: void mdb_audit(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - txn
    - dbi
    - a
    - b
    argTypes:
    - MDB_txn*
    - MDB_dbi
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2046
    functionName: mdb_cmp
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - md_cmp
    linkageType: ''
    returnType: int
    signature: int mdb_cmp(MDB_txn *txn, MDB_dbi dbi, const MDB_val *a, const MDB_val
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NEED_CMP_CLONG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2052,1
    - Dst: dcmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - txn
    - dbi
    - a
    - b
    argTypes:
    - MDB_txn*
    - MDB_dbi
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2055
    functionName: mdb_dcmp
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - NEED_CMP_CLONG
    - dcmp
    linkageType: ''
    returnType: int
    signature: int mdb_dcmp(MDB_txn *txn, MDB_dbi dbi, const MDB_val *a, const MDB_val
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VGMEMP_ALLOC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2074,1
    - Dst: VGMEMP_DEFINED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2075,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2084,1
    - Dst: VGMEMP_ALLOC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2085,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - txn
    - num
    argTypes:
    - MDB_txn*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2094
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2094
    functionName: mdb_page_malloc
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - VGMEMP_DEFINED
    - VGMEMP_ALLOC
    - malloc
    - memset
    linkageType: ''
    returnType: MDB_page
    signature: 'MDB_page *

      mdb_page_malloc(MDB_txn *txn, unsigned num)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VGMEMP_FREE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - env
    - mp
    argTypes:
    - MDB_env*
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 2105
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2105
    functionName: mdb_page_free
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - VGMEMP_FREE
    linkageType: ''
    returnType: void
    signature: void mdb_page_free(MDB_env *env, MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2111,1
    - Dst: mdb_page_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2112,1
    - Dst: VGMEMP_FREE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2115,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - env
    - dp
    argTypes:
    - MDB_env*
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 2118
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2118
    functionName: mdb_dpage_free
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - IS_OVERFLOW
    - free
    - mdb_page_free
    - VGMEMP_FREE
    linkageType: ''
    returnType: void
    signature: void mdb_dpage_free(MDB_env *env, MDB_page *dp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dpage_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 2132
      start: 2121
    functionDepth: 2
    functionLinenumber: 2121
    functionLinenumberEnd: 2132
    functionName: mdb_dlist_free
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_dpage_free
    linkageType: ''
    returnType: void
    signature: void mdb_dlist_free(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - txn
    - mp
    argTypes:
    - MDB_txn*
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2150
    functionName: mdb_page_unref
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_mid3l_search
    linkageType: ''
    returnType: void
    signature: void mdb_page_unref(MDB_txn *txn, MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_SUBP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2158,1
    - Dst: mdb_page_unref
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2161,1
    - Dst: mdb_page_unref
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - mc
    argTypes:
    - MDB_cursor*
    constantsTouched: []
    func_position:
      end: 2170
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2170
    functionName: mdb_cursor_unref
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_page_unref
    - IS_SUBP
    linkageType: ''
    returnType: void
    signature: void mdb_cursor_unref(MDB_cursor *mc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2222,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2222,1
    - Dst: NEXT_LOOSE_PAGE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - mc
    - mp
    argTypes:
    - MDB_cursor*
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 2234
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2234
    functionName: mdb_page_loose
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - DDBI
    - NEXT_LOOSE_PAGE
    - DPRINTF
    linkageType: ''
    returnType: int
    signature: int mdb_page_loose(MDB_cursor *mc, MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2271,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2290,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 3
    argNames:
    - mc
    - pflags
    - all
    argTypes:
    - MDB_cursor*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 2299
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2299
    functionName: mdb_pages_xkeep
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - NODEPTR
    - mdb_page_get
    linkageType: ''
    returnType: int
    signature: int mdb_pages_xkeep(MDB_cursor *mc, unsigned pflags, int all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LEAFSIZE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2354,1
    - Dst: mdb_midl_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2362,1
    - Dst: mdb_pages_xkeep
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2378,1
    - Dst: mdb_midl_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2405,1
    - Dst: mdb_midl_append
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2415,1
    - Dst: mdb_midl_sort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2419,1
    - Dst: mdb_page_flush
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2422,1
    - Dst: mdb_pages_xkeep
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2426,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 3
    argNames:
    - m0
    - key
    - data
    argTypes:
    - MDB_cursor*
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 2431
      start: 2335
    functionDepth: 1
    functionLinenumber: 2335
    functionLinenumberEnd: 2431
    functionName: mdb_page_spill
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - LEAFSIZE
    - mdb_midl_sort
    - mdb_page_flush
    - mdb_midl_search
    - mdb_midl_alloc
    - mdb_pages_xkeep
    - mdb_midl_append
    linkageType: ''
    returnType: int
    signature: int mdb_page_spill(MDB_cursor *m0, MDB_val *key, MDB_val *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2450
    functionName: mdb_find_oldest
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: txnid_t
    signature: txnid_t mdb_find_oldest(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2470,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - txn
    - mp
    argTypes:
    - MDB_txn*
    - MDB_page*
    constantsTouched: []
    func_position:
      end: 2473
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2473
    functionName: mdb_page_dirty
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - insert
    - mdb_tassert
    linkageType: ''
    returnType: void
    signature: void mdb_page_dirty(MDB_txn *txn, MDB_page *mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_LOOSE_PAGE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2520,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2522,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2522,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2558,1
    - Dst: mdb_find_oldest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2582,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2589,1
    - Dst: mdb_find_oldest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2598,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2606,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2607,1
    - Dst: mdb_midl_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2613,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2618,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2624,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2627,1
    - Dst: mdb_midl_xmerge
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2630,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2638,1
    - Dst: VirtualAlloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2646,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2650,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2651,1
    - Dst: mdb_page_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2661,1
    - Dst: mdb_page_dirty
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2675,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 141
    argCount: 3
    argNames:
    - mc
    - num
    - mp
    argTypes:
    - MDB_cursor*
    - int
    - MDB_page**
    constantsTouched: []
    func_position:
      end: 2683
      start: 2492
    functionDepth: 2
    functionLinenumber: 2492
    functionLinenumberEnd: 2683
    functionName: mdb_page_alloc
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_midl_need
    - ErrCode
    - mdb_midl_xmerge
    - mdb_page_dirty
    - mdb_cursor_get
    - NEXT_LOOSE_PAGE
    - mdb_find_oldest
    - mdb_midl_alloc
    - mdb_page_malloc
    - DDBI
    - mdb_cursor_init
    - DPRINTF
    - DPUTS
    - mdb_node_read
    - NODEPTR
    - VirtualAlloc
    linkageType: ''
    returnType: int
    signature: int mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2699,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2701,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2702,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - psize
    argTypes:
    - MDB_page*
    - MDB_page*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2707
      start: 2690
    functionDepth: 1
    functionLinenumber: 2690
    functionLinenumberEnd: 2707
    functionName: mdb_page_copy
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_LEAF2
    linkageType: ''
    returnType: void
    signature: void mdb_page_copy(MDB_page *dst, MDB_page *src, unsigned int psize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_midl_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2728,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2734,1
    - Dst: mdb_page_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2741,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2745,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2747,1
    - Dst: mdb_page_dirty
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2762,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - txn
    - mp
    - ret
    argTypes:
    - MDB_txn*
    - MDB_page*
    - MDB_page**
    constantsTouched: []
    func_position:
      end: 2769
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2769
    functionName: mdb_page_unspill
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - IS_OVERFLOW
    - mdb_page_dirty
    - mdb_midl_search
    - mdb_page_malloc
    - mdb_page_copy
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mdb_page_unspill(MDB_txn *txn, MDB_page *mp, MDB_page **ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2785,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2785,1
    - Dst: mdb_page_unspill
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2788,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2794,1
    - Dst: mdb_page_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2795,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2798,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2798,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2800,1
    - Dst: mdb_midl_xappend
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2801,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2805,1
    - Dst: SETPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2806,1
    - Dst: IS_SUBP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2810,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2827,1
    - Dst: mdb_page_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2829,1
    - Dst: mdb_mid2l_insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2834,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2835,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2840,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2861,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2862,1
    - Dst: MDB_PAGE_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2866,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 1
    argNames:
    - mc
    argTypes:
    - MDB_cursor*
    constantsTouched: []
    func_position:
      end: 2872
      start: 2776
    functionDepth: 3
    functionLinenumber: 2776
    functionLinenumberEnd: 2872
    functionName: mdb_page_touch
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_midl_need
    - MDB_PAGE_UNREF
    - mdb_page_unspill
    - IS_SUBP
    - mdb_page_alloc
    - mdb_midl_xappend
    - mdb_page_malloc
    - IS_LEAF
    - NODEPTR
    - DDBI
    - DPRINTF
    - mdb_cassert
    - mdb_page_copy
    - SETPGNO
    - XCURSOR_REFRESH
    - MP_FLAGS
    - mdb_mid2l_insert
    - F_ISSET
    linkageType: ''
    returnType: int
    signature: int mdb_page_touch(MDB_cursor *mc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MDB_MSYNC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2888,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2889,1
    - Dst: MDB_FDATASYNC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2891,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2892,1
    - Dst: fsync
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2897,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2898,1
    - Dst: MDB_FDATASYNC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2901,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - env
    - force
    - numpgs
    argTypes:
    - MDB_env*
    - int
    - pgno_t
    constantsTouched: []
    func_position:
      end: 2906
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2906
    functionName: mdb_env_sync0
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - fsync
    - ErrCode
    - MDB_MSYNC
    - MDB_FDATASYNC
    linkageType: ''
    returnType: int
    signature: int mdb_env_sync0(MDB_env *env, int force, pgno_t numpgs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2911,1
    - Dst: mdb_env_sync0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env
    - force
    argTypes:
    - MDB_env*
    - int
    constantsTouched: []
    func_position:
      end: 2913
      start: 2908
    functionDepth: 2
    functionLinenumber: 2908
    functionLinenumberEnd: 2913
    functionName: mdb_env_sync
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_env_sync0
    - mdb_env_pick_meta
    linkageType: ''
    returnType: int
    signature: int mdb_env_sync(MDB_env *env, int force)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - MDB_txn*
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 2952
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2952
    functionName: mdb_cursor_shadow
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int mdb_cursor_shadow(MDB_txn *src, MDB_txn *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:2988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - txn
    - merge
    argTypes:
    - MDB_txn*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2992
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2992
    functionName: mdb_cursors_close
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mdb_cursors_close(MDB_txn *txn, unsigned merge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3019,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3022,1
    - Dst: WaitForSingleObject
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3024,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3025,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3032,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3037,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - env
    - op
    - pid
    argTypes:
    - MDB_env*
    - enum Pidlock_op
    - MDB_PID_T
    constantsTouched: []
    func_position:
      end: 3046
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3046
    functionName: mdb_reader_pid
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - ErrCode
    - fcntl
    - OpenProcess
    - CloseHandle
    - memset
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int mdb_reader_pid(MDB_env *env, enum Pidlock_op op, MDB_PID_T pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3064,1
    - Dst: pthread_getspecific
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3069,1
    - Dst: pthread_self
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3075,1
    - Dst: mdb_reader_pid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3079,1
    - Dst: LOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3085,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3092,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3109,1
    - Dst: pthread_setspecific
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3112,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3121,1
    - Dst: LOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3133,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3138,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3156,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3160,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3181,1
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3188,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3190
      start: 3052
    functionDepth: 2
    functionLinenumber: 3052
    functionLinenumberEnd: 3190
    functionName: mdb_txn_renew0
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_reader_pid
    - mdb_env_pick_meta
    - mdb_txn_end
    - memcpy
    - pthread_setspecific
    - pthread_self
    - pthread_getspecific
    - LOCK_MUTEX
    - UNLOCK_MUTEX
    - DPUTS
    linkageType: ''
    returnType: int
    signature: int mdb_txn_renew0(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3197,1
    - Dst: mdb_txn_renew0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3200,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3207
      start: 3192
    functionDepth: 3
    functionLinenumber: 3192
    functionLinenumberEnd: 3207
    functionName: mdb_txn_renew
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_txn_renew0
    - DPRINTF
    - F_ISSET
    linkageType: ''
    returnType: int
    signature: int mdb_txn_renew(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3241,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3242,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3242,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3247,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3249,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3266,1
    - Dst: mdb_midl_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3268,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3270,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3271,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3286,1
    - Dst: MDB_IDL_SIZEOF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3294,1
    - Dst: mdb_midl_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3295,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3297,1
    - Dst: mdb_cursor_shadow
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3302,1
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3304,1
    - Dst: mdb_txn_renew0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3308,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3313,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3314,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3319,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 4
    argNames:
    - env
    - parent
    - flags
    - ret
    argTypes:
    - MDB_env*
    - MDB_txn*
    - unsigned int
    - MDB_txn**
    constantsTouched: []
    func_position:
      end: 3326
      start: 3209
    functionDepth: 3
    functionLinenumber: 3209
    functionLinenumberEnd: 3326
    functionName: mdb_txn_begin
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 5
    functionsReached:
    - calloc
    - mdb_txn_renew0
    - free
    - mdb_midl_alloc
    - mdb_txn_end
    - MDB_TRACE
    - DPRINTF
    - memcpy
    - strerror
    - mdb_cursor_shadow
    - malloc
    - MDB_IDL_SIZEOF
    linkageType: ''
    returnType: int
    signature: int mdb_txn_begin(MDB_env *env, MDB_txn *parent, unsigned int flags,
      MDB_txn **ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3333
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3333
    functionName: mdb_txn_env
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MDB_env
    signature: 'MDB_env *

      mdb_txn_env(MDB_txn *txn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3340
    functionName: mdb_txn_id
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mdb_size_t
    signature: mdb_size_t mdb_txn_id(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - txn
    - keep
    argTypes:
    - MDB_txn*
    - int
    constantsTouched: []
    func_position:
      end: 3369
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3369
    functionName: mdb_dbis_update
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mdb_dbis_update(MDB_txn *txn, int keep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dbis_update
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3385,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3387,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3392,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3405,1
    - Dst: mdb_cursors_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3409,1
    - Dst: mdb_dlist_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3411,1
    - Dst: mdb_midl_shrink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3418,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3429,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3434,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3435,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3437,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3439,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3445,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3449,1
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3451,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3456,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3460,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3463,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - txn
    - mode
    argTypes:
    - MDB_txn*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3468
      start: 3376
    functionDepth: 3
    functionLinenumber: 3376
    functionLinenumberEnd: 3468
    functionName: mdb_txn_end
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 2
    functionsReached:
    - mdb_dbis_update
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - free
    - mdb_midl_shrink
    - munmap
    - mdb_midl_free
    - mdb_cursors_close
    - DPRINTF
    - mdb_dlist_free
    - mdb_mid3l_search
    - UNLOCK_MUTEX
    - F_ISSET
    linkageType: ''
    returnType: void
    signature: void mdb_txn_end(MDB_txn *txn, unsigned mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3470
    functionDepth: 4
    functionLinenumber: 3470
    functionLinenumberEnd: 3481
    functionName: mdb_txn_reset
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_txn_end
    linkageType: ''
    returnType: void
    signature: void mdb_txn_reset(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3490,1
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3493
      start: 3483
    functionDepth: 4
    functionLinenumber: 3483
    functionLinenumberEnd: 3493
    functionName: _mdb_txn_abort
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - _mdb_txn_abort
    - mdb_txn_end
    linkageType: ''
    returnType: void
    signature: void _mdb_txn_abort(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3498,1
    - Dst: _mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3500
      start: 3495
    functionDepth: 5
    functionLinenumber: 3495
    functionLinenumberEnd: 3500
    functionName: mdb_txn_abort
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 6
    functionsReached:
    - _mdb_txn_abort
    - MDB_TRACE
    linkageType: ''
    returnType: void
    signature: void mdb_txn_abort(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3522,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3526,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3538,1
    - Dst: NEXT_LOOSE_PAGE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3540,1
    - Dst: mdb_midl_xappend
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3541,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3547,1
    - Dst: mdb_mid2l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3549,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3550,1
    - Dst: mdb_dpage_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3551,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3589,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3594,1
    - Dst: _mdb_cursor_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3595,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3604,1
    - Dst: MDB_IDL_SIZEOF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3614,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3615,1
    - Dst: mdb_midl_sort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3621,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3622,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3626,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3629,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3664,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3684,1
    - Dst: MDB_IDL_ALLOCLEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3687,1
    - Dst: NEXT_LOOSE_PAGE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3688,1
    - Dst: mdb_midl_sort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3691,1
    - Dst: mdb_midl_xmerge
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3692,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3704,1
    - Dst: mdb_cursor_next
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3705,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3710,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3719,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 147
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 3726
      start: 3508
    functionDepth: 2
    functionLinenumber: 3508
    functionLinenumberEnd: 3726
    functionName: mdb_freelist_save
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - mdb_midl_need
    - mdb_tassert
    - mdb_dpage_free
    - mdb_midl_xmerge
    - mdb_midl_sort
    - NEXT_LOOSE_PAGE
    - mdb_midl_xappend
    - _mdb_cursor_del
    - mdb_cursor_init
    - MDB_IDL_ALLOCLEN
    - mdb_page_search
    - mdb_cursor_first
    - DPRINTF
    - memcpy
    - mdb_cursor_next
    - _mdb_cursor_put
    - mdb_mid2l_search
    - MDB_IDL_SIZEOF
    linkageType: ''
    returnType: int
    signature: int mdb_freelist_save(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3784,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3788,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3790,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3792,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3815,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3836,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3843,1
    - Dst: CreateEvent
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3844,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3846,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3847,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3847,1
    - Dst: WriteFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3852,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3853,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3855,1
    - Dst: pwritev
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3862,1
    - Dst: pwrite
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3865,1
    - Dst: lseek
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3868,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3869,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3872,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3872,1
    - Dst: writev
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3875,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3880,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3883,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3883,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3886,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3905,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 110
    argCount: 2
    argNames:
    - txn
    - keep
    argTypes:
    - MDB_txn*
    - int
    constantsTouched: []
    func_position:
      end: 3909
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3909
    functionName: mdb_page_flush
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - ErrCode
    - WriteFile
    - pwrite
    - IS_OVERFLOW
    - free
    - CreateEvent
    - lseek
    - pwritev
    - writev
    - DPRINTF
    - DPUTS
    - memset
    - memcpy
    - strerror
    - malloc
    - F_ISSET
    linkageType: ''
    returnType: int
    signature: int mdb_page_flush(MDB_txn *txn, int keep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3980,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3987,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:3992,1
    - Dst: mdb_midl_append_list
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4007,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4010,1
    - Dst: mdb_cursors_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4019,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4022,1
    - Dst: mdb_mid2l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4062,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4064,1
    - Dst: mdb_mid2l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4079,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4099,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4101,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4103,1
    - Dst: mdb_midl_append_list
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4108,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4111,1
    - Dst: mdb_midl_sort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4112,1
    - Dst: NEXT_LOOSE_PAGE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4119,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4125,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4126,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4131,1
    - Dst: mdb_cursors_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4136,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4142,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4152,1
    - Dst: TXN_DBI_CHANGED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4155,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4160,1
    - Dst: mdb_freelist_save
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4168,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4172,1
    - Dst: mdb_midl_shrink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4174,1
    - Dst: mdb_audit
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4177,1
    - Dst: mdb_page_flush
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4180,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4182,1
    - Dst: mdb_env_sync0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4183,1
    - Dst: mdb_env_write_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4185,1
    - Dst: mdb_env_share_locks
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4191,1
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4199,1
    - Dst: _mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4203,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 185
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 4205
      start: 3966
    functionDepth: 5
    functionLinenumber: 3966
    functionLinenumberEnd: 4205
    functionName: _mdb_txn_commit
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - mdb_tassert
    - mdb_midl_sort
    - mdb_page_flush
    - mdb_env_sync0
    - mdb_txn_end
    - mdb_cursor_init
    - mdb_env_share_locks
    - _mdb_txn_abort
    - free
    - TXN_DBI_CHANGED
    - mdb_midl_shrink
    - mdb_midl_free
    - mdb_cursors_close
    - DPUTS
    - _mdb_cursor_put
    - _mdb_txn_commit
    - mdb_midl_append_list
    - DPRINTF
    - mdb_freelist_save
    - mdb_env_write_meta
    - mdb_audit
    - NEXT_LOOSE_PAGE
    - memcpy
    - mdb_mid2l_search
    - F_ISSET
    linkageType: ''
    returnType: int
    signature: int _mdb_txn_commit(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4210,1
    - Dst: _mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 4212
      start: 4207
    functionDepth: 6
    functionLinenumber: 4207
    functionLinenumberEnd: 4212
    functionName: mdb_txn_commit
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 5
    functionsReached:
    - MDB_TRACE
    - _mdb_txn_commit
    linkageType: ''
    returnType: int
    signature: int mdb_txn_commit(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4238,1
    - Dst: ReadFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4240,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4241,1
    - Dst: pread
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4244,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4249,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4250,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4250,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4256,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4257,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4261,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4263,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - env
    - prev
    - meta
    argTypes:
    - MDB_env*
    - int
    - MDB_meta*
    constantsTouched: []
    func_position:
      end: 4277
      start: 4221
    functionDepth: 1
    functionLinenumber: 4221
    functionLinenumberEnd: 4277
    functionName: mdb_env_read_header
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - ErrCode
    - F_ISSET
    - mdb_strerror
    - DPRINTF
    - METADATA
    - memset
    - ReadFile
    - DPUTS
    - pread
    linkageType: ''
    returnType: int
    signature: int mdb_env_read_header(MDB_env *env, int prev, MDB_meta *meta)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - env
    - meta
    argTypes:
    - MDB_env*
    - MDB_meta*
    constantsTouched: []
    func_position:
      end: 4292
      start: 4280
    functionDepth: 0
    functionLinenumber: 4280
    functionLinenumberEnd: 4292
    functionName: mdb_env_init_meta0
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mdb_env_init_meta0(MDB_env *env, MDB_meta *meta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4308,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4319,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4323,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4328,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4333,1
    - Dst: DO_PWRITE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4335,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4337,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - env
    - meta
    argTypes:
    - MDB_env*
    - MDB_meta*
    constantsTouched: []
    func_position:
      end: 4344
      start: 4299
    functionDepth: 1
    functionLinenumber: 4299
    functionLinenumberEnd: 4344
    functionName: mdb_env_init_meta
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - ErrCode
    - calloc
    - free
    - DO_PWRITE
    - METADATA
    - DPUTS
    - memset
    linkageType: ''
    returnType: int
    signature: int mdb_env_init_meta(MDB_env *env, MDB_meta *meta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4368,1
    - Dst: __sync_synchronize
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4388,1
    - Dst: MDB_MSYNC
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4399,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4400,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4428,1
    - Dst: WriteFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4430,1
    - Dst: pwrite
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4435,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4438,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4443,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4451,1
    - Dst: WriteFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4453,1
    - Dst: pwrite
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4455,1
    - Dst: CACHEFLUSH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 1
    argNames:
    - txn
    argTypes:
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 4475
      start: 4350
    functionDepth: 1
    functionLinenumber: 4350
    functionLinenumberEnd: 4475
    functionName: mdb_env_write_meta
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - ErrCode
    - WriteFile
    - pwrite
    - __sync_synchronize
    - CACHEFLUSH
    - DPRINTF
    - DPUTS
    - memset
    - MDB_MSYNC
    linkageType: ''
    returnType: int
    signature: int mdb_env_write_meta(MDB_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - MDB_env*
    constantsTouched: []
    func_position:
      end: 4487
      start: 4481
    functionDepth: 0
    functionLinenumber: 4481
    functionLinenumberEnd: 4487
    functionName: mdb_env_pick_meta
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MDB_meta
    signature: 'MDB_meta *

      mdb_env_pick_meta(const MDB_env *env)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4494,1
    - Dst: getpid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4510,1
    - Dst: GET_PAGESIZE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4511,1
    - Dst: VGMEMP_CREATE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4512,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - env
    argTypes:
    - MDB_env**
    constantsTouched: []
    func_position:
      end: 4516
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4516
    functionName: mdb_env_create
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - calloc
    - getpid
    - MDB_TRACE
    - GET_PAGESIZE
    - VGMEMP_CREATE
    linkageType: ''
    returnType: int
    signature: int mdb_env_create(MDB_env **env)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappedResult
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4526,1
    - Dst: GetLastError
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - NTSTATUS
    constantsTouched: []
    func_position:
      end: 4528
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4528
    functionName: mdb_nt2win32
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - GetOverlappedResult
    - GetLastError
    linkageType: ''
    returnType: DWORD
    signature: DWORD mdb_nt2win32(NTSTATUS st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NtCreateSection
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4567,1
    - Dst: NtCreateSection
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4569,1
    - Dst: mdb_nt2win32
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4572,1
    - Dst: NtMapViewOfSection
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4577,1
    - Dst: GetCurrentProcess
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4577,1
    - Dst: NtClose
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4581,1
    - Dst: mdb_nt2win32
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4584,1
    - Dst: mmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4595,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4599,1
    - Dst: ftruncate
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4604,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4605,1
    - Dst: mmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4607,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4611,1
    - Dst: madvise
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4617,1
    - Dst: posix_madvise
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4620,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - env
    - addr
    argTypes:
    - MDB_env*
    - void*
    constantsTouched: []
    func_position:
      end: 4640
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4640
    functionName: mdb_env_map
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - ErrCode
    - ftruncate
    - mdb_nt2win32
    - NtCreateSection
    - NtClose
    - mmap
    - NtMapViewOfSection
    - posix_madvise
    - METADATA
    - madvise
    - GetCurrentProcess
    linkageType: ''
    returnType: int
    signature: int mdb_env_map(MDB_env *env, void *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4656,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4669,1
    - Dst: mdb_env_map
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4672,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - env
    - size
    argTypes:
    - MDB_env*
    - mdb_size_t
    constantsTouched: []
    func_position:
      end: 4682
      start: 4642
    functionDepth: 2
    functionLinenumber: 4642
    functionLinenumberEnd: 4682
    functionName: mdb_env_set_mapsize
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - munmap
    - mdb_env_map
    - MDB_TRACE
    - mdb_env_pick_meta
    linkageType: ''
    returnType: int
    signature: int mdb_env_set_mapsize(MDB_env *env, mdb_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - env
    - dbs
    argTypes:
    - MDB_env*
    - MDB_dbi
    constantsTouched: []
    func_position:
      end: 4692
      start: 4684
    functionDepth: 0
    functionLinenumber: 4684
    functionLinenumberEnd: 4692
    functionName: mdb_env_set_maxdbs
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 2
    functionsReached:
    - MDB_TRACE
    linkageType: ''
    returnType: int
    signature: int mdb_env_set_maxdbs(MDB_env *env, MDB_dbi dbs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - readers
    argTypes:
    - MDB_env*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4702
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4702
    functionName: mdb_env_set_maxreaders
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 2
    functionsReached:
    - MDB_TRACE
    linkageType: ''
    returnType: int
    signature: int mdb_env_set_maxreaders(MDB_env *env, unsigned int readers)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - env
    - readers
    argTypes:
    - MDB_env*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 4711
      start: 4704
    functionDepth: 0
    functionLinenumber: 4704
    functionLinenumberEnd: 4711
    functionName: mdb_env_get_maxreaders
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mdb_env_get_maxreaders(MDB_env *env, unsigned int *readers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSizeEx
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4719,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4720,1
    - Dst: fstat
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4726,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - HANDLE
    - mdb_size_t*
    constantsTouched: []
    func_position:
      end: 4732
      start: 4713
    functionDepth: 0
    functionLinenumber: 4713
    functionLinenumberEnd: 4732
    functionName: mdb_fsize
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - GetFileSizeEx
    - ErrCode
    - fstat
    linkageType: ''
    returnType: int
    signature: int mdb_fsize(HANDLE fd, mdb_size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_utf16
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4775,1
    - Dst: strlen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4777,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4780,1
    - Dst: strcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - path
    - envflags
    - fname
    argTypes:
    - char*
    - unsigned
    - MDB_name*
    constantsTouched: []
    func_position:
      end: 4788
      start: 4769
    functionDepth: 0
    functionLinenumber: 4769
    functionLinenumberEnd: 4788
    functionName: mdb_fname_init
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 0
    functionsReached:
    - utf8_to_utf16
    - malloc
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int mdb_fname_init(const char *path, unsigned envflags, MDB_name *fname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_name_cpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4841,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4842,1
    - Dst: CreateFileW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4886,1
    - Dst: open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4888,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4892,1
    - Dst: if
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4895,1
    - Dst: if
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4897,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4897,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4898,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4905,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4910,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4911,1
    - Dst: mdb_env_open2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4930,1
    - Dst: GetVersion
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4938,1
    - Dst: GetModuleHandleW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4945,1
    - Dst: GetProcAddress
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4948,1
    - Dst: GetProcAddress
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4951,1
    - Dst: GetProcAddress
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4954,1
    - Dst: fstatfs
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4972,1
    - Dst: uname
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4976,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4978,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4979,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4982,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4983,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4988,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4992,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb.c:4996,1
    - Dst: mdb_env_read_header
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5009,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5012,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5017,1
    - Dst: mdb_env_init_meta0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5018,1
    - Dst: mdb_env_init_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5046,1
    - Dst: WriteFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5056,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5058,1
    - Dst: mdb_env_map
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5064,1
    - Dst: mdb_env_init_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5071,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5090,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5093,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5095,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5096,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5097,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5098,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5099,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5100,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5101,1
    - Dst: getpid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5119,1
    - Dst: pthread_getspecific
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5145,1
    - Dst: mdb_env_reader_dest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5147,1
    - Dst: comment
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5166,1
    - Dst: comment
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5167,1
    - Dst: const_seg
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5168,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5187,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5197,1
    - Dst: LockFileEx
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5198,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5199,1
    - Dst: UnlockFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5201,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5209,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5214,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5215,1
    - Dst: LockFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5231,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5235,1
    - Dst: LockFileEx
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5236,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5239,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5244,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5249,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5250,1
    - Dst: fcntl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5259,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5260,1
    - Dst: strcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5346,1
    - Dst: mdb_pack85
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5347,1
    - Dst: mdb_fopen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5379,1
    - Dst: pthread_key_create
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5389,1
    - Dst: mdb_env_excl_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5406,1
    - Dst: GetFileSize
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5409,1
    - Dst: lseek
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5411,1
    - Dst: SetFilePointer
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5417,1
    - Dst: SetEndOfFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5418,1
    - Dst: ftruncate
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5421,1
    - Dst: CreateFileMapping
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5431,1
    - Dst: MapViewOfFileEx
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5434,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5435,1
    - Dst: InitializeSecurityDescriptor
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5454,1
    - Dst: SetSecurityDescriptorDacl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5456,1
    - Dst: GetFileInformationByHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5462,1
    - Dst: mdb_hash
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5466,1
    - Dst: mdb_env_mname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5467,1
    - Dst: CreateMutexA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5468,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5468,1
    - Dst: CreateMutexA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5470,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5470,1
    - Dst: fstat
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5482,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5483,1
    - Dst: mdb_hash
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5486,1
    - Dst: mdb_env_mname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5494,1
    - Dst: sem_unlink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5498,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5498,1
    - Dst: sem_unlink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5499,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5499,1
    - Dst: sem_open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5500,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5500,1
    - Dst: sem_open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5502,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5502,1
    - Dst: ftok
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5506,1
    - Dst: semget
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5509,1
    - Dst: semctl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5513,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5525,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5526,1
    - Dst: pthread_mutexattr_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5528,1
    - Dst: pthread_mutexattr_setpshared
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5530,1
    - Dst: pthread_mutexattr_setrobust
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5532,1
    - Dst: pthread_mutex_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5534,1
    - Dst: pthread_mutex_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5535,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5536,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5551,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5556,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5561,1
    - Dst: mdb_env_mname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5566,1
    - Dst: OpenMutexA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5567,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5567,1
    - Dst: OpenMutexA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5569,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5569,1
    - Dst: mdb_env_mname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5572,1
    - Dst: sem_open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5573,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5573,1
    - Dst: sem_open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5575,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5575,1
    - Dst: semctl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5581,1
    - Dst: semctl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5584,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5600,1
    - Dst: mdb_fname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5638,1
    - Dst: CreateMutex
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5644,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5646,1
    - Dst: pthread_mutex_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5650,1
    - Dst: mdb_midl_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5661,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5662,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5672,1
    - Dst: strdup
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5682,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5683,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5684,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5685,1
    - Dst: mdb_env_setup_locks
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5694,1
    - Dst: mdb_fopen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5703,1
    - Dst: mdb_fopen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5709,1
    - Dst: mdb_env_setup_locks
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5715,1
    - Dst: mdb_env_open2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5720,1
    - Dst: mdb_fopen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5725,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5729,1
    - Dst: mdb_env_share_locks
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5731,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5739,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5740,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5748,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5750,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5767,1
    - Dst: mdb_env_close0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5769,1
    - Dst: mdb_fname_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5771,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5787,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5788,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5791,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5792,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5793,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5794,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5795,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5798,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5803,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5804,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5807,1
    - Dst: mdb_midl_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5808,1
    - Dst: pthread_key_delete
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5811,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5825,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5827,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5831,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5835,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5837,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5840,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5843,1
    - Dst: getpid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5845,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5858,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5859,1
    - Dst: sem_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5866,1
    - Dst: sem_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5868,1
    - Dst: mdb_env_excl_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5873,1
    - Dst: sem_unlink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5875,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5875,1
    - Dst: sem_unlink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5876,1
    - Dst: MUTEXNAME
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5876,1
    - Dst: mdb_env_excl_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5885,1
    - Dst: semctl
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5887,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5890,1
    - Dst: UnlockFile
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5898,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5901,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5905,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5906,1
    - Dst: pthread_mutex_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5908,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5923,1
    - Dst: VGMEMP_DESTROY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5924,1
    - Dst: VGMEMP_DEFINED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5926,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5928,1
    - Dst: mdb_env_close0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5931,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:5932,1
    - Dst: memcmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6000,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6049,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6051,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6052,1
    - Dst: IS_SUBP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6052,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6053,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6055,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6062,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6063,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6069,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6071,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6074,1
    - Dst: cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6075,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6076,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6077,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6089,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6090,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6091,1
    - Dst: cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6093,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6095,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6096,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6097,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6099,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6100,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6100,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6113,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6114,1
    - Dst: func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6136,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6147,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6148,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6165,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6166,1
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6266,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6272,1
    - Dst: SET_OFF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6275,1
    - Dst: MAP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6276,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6281,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6295,1
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6296,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6299,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6306,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6320,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6328,1
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6331,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6335,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6372,1
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6373,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6379,1
    - Dst: SET_OFF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6382,1
    - Dst: MAP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6383,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6387,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6392,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6397,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6406,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6417,1
    - Dst: SET_OFF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6432,1
    - Dst: MAP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6433,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6436,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6441,1
    - Dst: munmap
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6443,1
    - Dst: MAP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6445,1
    - Dst: mdb_mid3l_insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6449,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6450,1
    - Dst: mdb_mid3l_insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6452,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6459,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6460,1
    - Dst: mdb_midl_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6496,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6513,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6551,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6555,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6555,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6560,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6560,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6561,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6561,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6561,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6566,1
    - Dst: mdb_node_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6578,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6580,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6584,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6588,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6588,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6591,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6591,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6592,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6594,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6594,1
    - Dst: mdb_cursor_push
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6598,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6603,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6609,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6610,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6616,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6617,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6634,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6637,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6637,1
    - Dst: mdb_cursor_push
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6641,1
    - Dst: mdb_page_search_root
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6643,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6667,1
    - Dst: TXN_DBI_CHANGED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6673,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6675,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6676,1
    - Dst: mdb_node_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6683,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6689,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6692,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6699,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6706,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6711,1
    - Dst: MDB_PAGE_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6715,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6717,1
    - Dst: MDB_PAGE_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6725,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6731,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6732,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6735,1
    - Dst: mdb_page_search_root
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6742,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6756,1
    - Dst: mdb_midl_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6768,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6773,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6793,1
    - Dst: mdb_dpage_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6802,1
    - Dst: mdb_midl_append_range
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6813,1
    - Dst: MC_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6838,1
    - Dst: MDB_PAGE_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6839,1
    - Dst: MC_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6839,1
    - Dst: MC_SET_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6840,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6842,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6843,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6844,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6850,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6851,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6851,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6852,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6853,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6856,1
    - Dst: MC_SET_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6857,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6871,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6871,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6873,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6879,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6880,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6884,1
    - Dst: mdb_cursor_pop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6913,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6914,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6917,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6919,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6921,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6932,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6935,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6935,1
    - Dst: MDB_PAGE_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6937,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6939,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6940,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6940,1
    - Dst: mdb_cursor_push
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6946,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6948,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6965,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6970,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6976,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6977,1
    - Dst: mdb_cursor_next
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6979,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6982,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6987,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6996,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:6997,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7003,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7004,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7005,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7010,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7015,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7016,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7016,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7018,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7020,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7024,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7024,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7025,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7027,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7028,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7029,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7033,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7037,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7050,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7059,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7060,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7061,1
    - Dst: mdb_cursor_prev
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7063,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7066,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7073,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7082,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7083,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7088,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7089,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7093,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7094,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7098,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7099,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7099,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7101,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7104,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7106,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7110,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7112,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7113,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7114,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7118,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7122,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7140,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7149,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7153,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7155,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7157,1
    - Dst: MDB_GET_KEY2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7158,1
    - Dst: MDB_cursor::mc_dbx::md_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7160,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7174,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7175,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7178,1
    - Dst: MDB_GET_KEY2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7179,1
    - Dst: MDB_cursor::mc_dbx::md_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7181,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7190,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7192,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7193,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7196,1
    - Dst: MDB_GET_KEY2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7197,1
    - Dst: MDB_cursor::mc_dbx::md_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7199,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7217,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7238,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7243,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7243,1
    - Dst: mdb_node_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7246,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7253,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7254,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7259,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7259,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7260,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7267,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7270,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7275,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7276,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7278,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7287,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7295,1
    - Dst: NEED_CMP_CLONG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7298,1
    - Dst: dcmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7300,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7311,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7318,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7319,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7319,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7332,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7337,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7341,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7341,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7343,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7349,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7352,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7357,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7358,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7359,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7363,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7367,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7379,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7384,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7388,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7388,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7390,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7392,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7394,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7397,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7402,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7403,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7404,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7408,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7412,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7443,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7445,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7447,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7448,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7450,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7451,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7453,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7476,1
    - Dst: mdb_cursor_next
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7503,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7509,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7511,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7512,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7528,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7534,1
    - Dst: mdb_cursor_next
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7545,1
    - Dst: mdb_cursor_prev
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7550,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7553,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7566,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7567,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7573,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7574,1
    - Dst: MDB_GET_KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7575,1
    - Dst: mdb_node_read
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7576,1
    - Dst: mfunc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7584,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7587,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7593,1
    - Dst: TXN_DBI_CHANGED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7617,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7619,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7620,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7628,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7666,1
    - Dst: ENV_MAXKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7676,1
    - Dst: ENV_MAXKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7680,1
    - Dst: ENV_MAXKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7683,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7687,1
    - Dst: DDBI
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7688,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7688,1
    - Dst: mdb_cursor_last
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7707,1
    - Dst: MDB_cursor::mc_dbx::md_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7709,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7719,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7722,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7722,1
    - Dst: mdb_page_spill
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7741,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7748,1
    - Dst: mdb_page_new
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7749,1
    - Dst: mdb_cursor_push
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7752,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7758,1
    - Dst: mdb_cursor_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7762,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7770,1
    - Dst: LEAFSIZE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7772,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7780,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7780,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7786,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7791,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7792,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7806,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7817,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7818,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7819,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7822,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7833,1
    - Dst: NEED_CMP_CLONG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7839,1
    - Dst: dcmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7842,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7851,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7854,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7855,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7858,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7865,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7877,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7882,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7888,1
    - Dst: COPY_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7889,1
    - Dst: MP_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7889,1
    - Dst: MP_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7889,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7897,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7898,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7916,1
    - Dst: mdb_page_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7919,1
    - Dst: MP_FLAGS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7927,1
    - Dst: MP_PAD
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7928,1
    - Dst: MP_PAD
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7928,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7929,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7929,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7930,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7930,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7932,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7932,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7932,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7932,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7934,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7934,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7934,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7935,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7936,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7936,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7936,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7936,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7937,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7946,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7954,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7959,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7960,1
    - Dst: mdb_page_unspill
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7969,1
    - Dst: mdb_page_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7983,1
    - Dst: mdb_mid2l_insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7990,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:7991,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8002,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8006,1
    - Dst: SETDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8009,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8010,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8011,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8013,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8013,1
    - Dst: mdb_ovpage_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8017,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8024,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8027,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8029,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8031,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8031,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8037,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8044,1
    - Dst: mdb_leaf_size
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8044,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8045,1
    - Dst: mdb_page_split
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8050,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8053,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8070,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8087,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8091,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8100,1
    - Dst: mdb_xcursor_init2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8118,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8120,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8128,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8131,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8175,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8176,1
    - Dst: mdb_dval
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8177,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8194,1
    - Dst: mdb_page_spill
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8197,1
    - Dst: mdb_cursor_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8200,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8205,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8207,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8209,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8211,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8217,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8218,1
    - Dst: _mdb_cursor_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8220,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8228,1
    - Dst: mdb_node_shrink
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8232,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8233,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8234,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8240,1
    - Dst: mdb_drop0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8254,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8266,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8270,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8270,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8271,1
    - Dst: mdb_ovpage_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8272,1
    - Dst: mdb_cursor_del0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8277,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8287,1
    - Dst: _mdb_cursor_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8289,1
    - Dst: mdb_page_alloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8307,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8309,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8315,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8317,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8319,1
    - Dst: LEAFSIZE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8344,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8350,1
    - Dst: INDXSIZE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8368,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8408,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8408,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8408,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8410,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8411,1
    - Dst: IS_SUBP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8412,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8413,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8414,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8416,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8420,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8422,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8424,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8427,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8428,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8432,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8435,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8436,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8437,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8444,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8446,1
    - Dst: mdb_page_new
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8449,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8451,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8458,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8464,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8465,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8465,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8468,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8469,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8469,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8470,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8471,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8472,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8475,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8478,1
    - Dst: SETDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8479,1
    - Dst: SETPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8481,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8484,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8484,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8486,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8487,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8489,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8490,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8491,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8494,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8496,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8497,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8498,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8501,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8508,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8509,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8509,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8510,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8510,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8510,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8511,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8531,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8532,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8532,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8533,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8534,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8536,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8538,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8540,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8541,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8542,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8546,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8548,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8549,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8552,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8554,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8556,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8559,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8559,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8560,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8561,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8566,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8567,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8567,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8569,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8570,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8586,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8587,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8588,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8589,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8592,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8598,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8599,1
    - Dst: MP_PTRS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8599,1
    - Dst: MP_UPPER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8602,1
    - Dst: MP_LOWER
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8602,1
    - Dst: COPY_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8603,1
    - Dst: MP_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8603,1
    - Dst: SETDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8604,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8608,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8611,1
    - Dst: MC_SET_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8640,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8662,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8662,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8667,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8674,1
    - Dst: COPY_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8675,1
    - Dst: MP_PGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8675,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8688,1
    - Dst: NEED_CMP_CLONG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8691,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8723,1
    - Dst: MC_SET_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8742,1
    - Dst: mdb_tassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8745,1
    - Dst: mdb_xcursor_init0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8747,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8752,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8762,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8768,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8774,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8775,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8785,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8794,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8803,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8829,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8834,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8835,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8849,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8851,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8864,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8900,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8906,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8908,1
    - Dst: mdb_dkey
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8910,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8911,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8917,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8918,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8923,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8926,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8927,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8928,1
    - Dst: mdb_page_split
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8929,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8932,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8940,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8943,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8951,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8951,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8990,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8991,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8994,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:8996,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9002,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9003,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9004,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9006,1
    - Dst: mdb_page_search_lowest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9010,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9013,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9015,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9017,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9018,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9019,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9024,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9025,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9027,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9028,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9031,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9036,1
    - Dst: mdb_page_search_lowest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9037,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9040,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9042,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9044,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9045,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9046,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9051,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9056,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9057,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9059,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9065,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9071,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9102,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9103,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9124,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9125,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9135,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9136,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9138,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9139,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9140,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9142,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9143,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9144,1
    - Dst: WITH_CURSOR_TRACKING
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9148,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9149,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9153,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9158,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9160,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9166,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9167,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9169,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9170,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9171,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9173,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9174,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9175,1
    - Dst: WITH_CURSOR_TRACKING
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9179,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9180,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9184,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9189,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9191,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9219,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9221,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9222,1
    - Dst: mdb_page_touch
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9225,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9233,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9234,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9236,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9237,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9238,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9244,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9245,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9246,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9249,1
    - Dst: mdb_page_search_lowest
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9252,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9255,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9257,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9259,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9260,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9261,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9265,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9268,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9269,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9270,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9270,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9276,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9277,1
    - Dst: PAGEFILL
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9278,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9283,1
    - Dst: mdb_update_key
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9286,1
    - Dst: mdb_page_loose
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9298,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9301,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9326,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9327,1
    - Dst: mdb_cursor_pop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9333,1
    - Dst: mdb_rebalance
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9334,1
    - Dst: MC_SET_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9360,1
    - Dst: MC_OVPG
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9360,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9382,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9389,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9390,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9391,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9391,1
    - Dst: PAGEFILL
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9392,1
    - Dst: PAGEFILL
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9394,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9395,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9396,1
    - Dst: mdb_dbg_pgno
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9397,1
    - Dst: IS_SUBP
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9403,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9404,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9407,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9408,1
    - Dst: mdb_midl_append
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9412,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9437,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9437,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9439,1
    - Dst: mdb_midl_append
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9440,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9443,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9443,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9444,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9478,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9486,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9486,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9495,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9502,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9504,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9505,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9505,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9509,1
    - Dst: DPUTS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9514,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9516,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9517,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9517,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9520,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9525,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9526,1
    - Dst: PAGEFILL
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9527,1
    - Dst: PAGEFILL
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9533,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9533,1
    - Dst: mdb_node_move
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9534,1
    - Dst: mdb_page_merge
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9541,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9543,1
    - Dst: WITH_CURSOR_TRACKING
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9546,1
    - Dst: mdb_page_merge
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9547,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9548,1
    - Dst: mdb_node_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9569,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9590,1
    - Dst: mdb_rebalance
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9594,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9608,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9621,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9631,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9641,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9643,1
    - Dst: mdb_cursor_first
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9644,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9668,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9674,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9679,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9680,1
    - Dst: mdb_dval
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9681,1
    - Dst: mdb_del0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9682,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9696,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9696,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9698,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9709,1
    - Dst: _mdb_cursor_del
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9721,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9758,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9760,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9761,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9762,1
    - Dst: mdb_page_new
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9765,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9768,1
    - Dst: mdb_page_new
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9776,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9786,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9790,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9803,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9806,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9820,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9827,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9841,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9842,1
    - Dst: memmove
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9844,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9845,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9850,1
    - Dst: LEAF2KEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9851,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9852,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9853,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9866,1
    - Dst: mdb_leaf_size
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9867,1
    - Dst: mdb_branch_size
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9869,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9870,1
    - Dst: mdb_page_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9873,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9911,1
    - Dst: NODEKSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9922,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9923,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9924,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9927,1
    - Dst: EVEN
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9929,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9943,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9948,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9948,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9952,1
    - Dst: mdb_branch_size
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9952,1
    - Dst: WITH_CURSOR_TRACKING
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9958,1
    - Dst: mdb_page_split
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9959,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9971,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9982,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9987,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:9998,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10003,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10012,1
    - Dst: NODEKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10021,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10023,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10024,1
    - Dst: NODEDSZ
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10025,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10028,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10032,1
    - Dst: mdb_node_add
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10037,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10050,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10055,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10055,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10055,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10067,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10075,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10077,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10086,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10099,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10144,1
    - Dst: XCURSOR_REFRESH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10145,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10148,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10148,1
    - Dst: SIZELEFT
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10148,1
    - Dst: mdb_page_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10152,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10168,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10177,1
    - Dst: DKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10178,1
    - Dst: mdb_dval
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10178,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10179,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10182,1
    - Dst: sigemptyset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10228,1
    - Dst: sigaddset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10229,1
    - Dst: pthread_sigmask
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10230,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10235,1
    - Dst: pthread_cond_wait
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10238,1
    - Dst: DO_WRITE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10246,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10248,1
    - Dst: sigwait
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10255,1
    - Dst: pthread_cond_signal
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10283,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10285,1
    - Dst: pthread_mutex_lock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10298,1
    - Dst: pthread_cond_signal
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10300,1
    - Dst: pthread_cond_wait
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10302,1
    - Dst: pthread_mutex_unlock
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10303,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10334,1
    - Dst: mdb_page_search_root
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10337,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10342,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10347,1
    - Dst: NUMKEYS
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10359,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10361,1
    - Dst: IS_LEAF2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10362,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10364,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10372,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10374,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10377,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10377,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10378,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10378,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10379,1
    - Dst: mdb_env_cthr_toggle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10383,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10389,1
    - Dst: mdb_env_cthr_toggle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10396,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10407,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10409,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10412,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10412,1
    - Dst: mdb_env_cwalk
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10414,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10418,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10418,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10427,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10428,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10429,1
    - Dst: IS_BRANCH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10435,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10439,1
    - Dst: mdb_env_cthr_toggle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10447,1
    - Dst: mdb_page_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10453,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10458,1
    - Dst: SETPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10459,1
    - Dst: mdb_cursor_pop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10460,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10468,1
    - Dst: CreateMutex
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10485,1
    - Dst: CreateEvent
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10486,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10487,1
    - Dst: _aligned_malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10490,1
    - Dst: pthread_mutex_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10497,1
    - Dst: pthread_cond_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10499,1
    - Dst: memalign
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10502,1
    - Dst: posix_memalign
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10510,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10516,1
    - Dst: THREAD_CREATE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10521,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10525,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10530,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10533,1
    - Dst: mdb_env_init_meta0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10534,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10540,1
    - Dst: METADATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10541,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10552,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10553,1
    - Dst: mdb_env_cwalk
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10577,1
    - Dst: mdb_env_cthr_toggle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10585,1
    - Dst: THREAD_FINISH
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10586,1
    - Dst: _mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10587,1
    - Dst: _aligned_free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10591,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10592,1
    - Dst: CloseHandle
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10593,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10595,1
    - Dst: pthread_cond_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10596,1
    - Dst: pthread_mutex_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10598,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10624,1
    - Dst: mdb_txn_end
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10630,1
    - Dst: LOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10634,1
    - Dst: mdb_txn_renew0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10637,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10639,1
    - Dst: DO_WRITE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10648,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10650,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10664,1
    - Dst: mdb_fsize
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10672,1
    - Dst: DO_WRITE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10683,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10685,1
    - Dst: _mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10699,1
    - Dst: mdb_env_copyfd1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10707,1
    - Dst: mdb_env_copyfd0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10709,1
    - Dst: mdb_env_copyfd2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10715,1
    - Dst: mdb_fname_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10725,1
    - Dst: mdb_fopen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10727,1
    - Dst: mdb_fname_destroy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10728,1
    - Dst: mdb_env_copyfd2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10731,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10732,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10733,1
    - Dst: mdb_env_copy2
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10741,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10839,1
    - Dst: mdb_stat0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10841,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10852,1
    - Dst: mdb_default_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10913,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10914,1
    - Dst: mdb_default_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10919,1
    - Dst: strlen
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10923,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10931,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10950,1
    - Dst: mdb_cursor_set
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10951,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10954,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10960,1
    - Dst: strdup
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10965,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10972,1
    - Dst: WITH_CURSOR_TRACKING
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10975,1
    - Dst: _mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10976,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10981,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10995,1
    - Dst: mdb_default_cmp
      Src: /src/lmdb/libraries/liblmdb/mdb.c:10997,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11001,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11010,1
    - Dst: mdb_cursor_init
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11020,1
    - Dst: mdb_stat0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11022,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11033,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11038,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11045,1
    - Dst: mdb_page_search
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11061,1
    - Dst: mdb_cursor_pop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11075,1
    - Dst: mdb_cursor_copy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11077,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11081,1
    - Dst: IS_LEAF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11086,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11088,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11092,1
    - Dst: NODEDATA
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11092,1
    - Dst: mdb_page_get
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11093,1
    - Dst: mdb_cassert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11096,1
    - Dst: IS_OVERFLOW
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11096,1
    - Dst: mdb_midl_append_range
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11097,1
    - Dst: mdb_xcursor_init1
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11105,1
    - Dst: mdb_drop0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11106,1
    - Dst: mdb_midl_need
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11114,1
    - Dst: NODEPTR
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11118,1
    - Dst: NODEPGNO
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11119,1
    - Dst: mdb_midl_xappend
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11121,1
    - Dst: mdb_cursor_sibling
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11127,1
    - Dst: mdb_cursor_pop
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11135,1
    - Dst: mdb_midl_append
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11144,1
    - Dst: MDB_CURSOR_UNREF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11149,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11162,1
    - Dst: F_ISSET
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11165,1
    - Dst: TXN_DBI_CHANGED
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11168,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11171,1
    - Dst: MDB_TRACE
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11175,1
    - Dst: mdb_drop0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11176,1
    - Dst: mdb_del0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11185,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11188,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11205,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11211,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11220,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11229,1
    - Dst: TXN_DBI_EXIST
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11238,1
    - Dst: ENV_MAXKEY
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11248,1
    - Dst: func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11262,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11269,1
    - Dst: func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11274,1
    - Dst: func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11278,1
    - Dst: func
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11284,1
    - Dst: mdb_reader_check0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11336,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11350,1
    - Dst: mdb_pid_insert
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11358,1
    - Dst: mdb_reader_pid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11359,1
    - Dst: LOCK_MUTEX0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11363,1
    - Dst: mdb_mutex_failed
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11364,1
    - Dst: mdb_reader_pid
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11369,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11375,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11381,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11386,1
    - Dst: mdb_env_pick_meta
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11414,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11423,1
    - Dst: mdb_reader_check0
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11425,1
    - Dst: mdb_mutex_consistent
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11427,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11429,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11429,1
    - Dst: UNLOCK_MUTEX
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11430,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11434,1
    - Dst: DPRINTF
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11436,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11436,1
    - Dst: MultiByteToWideChar
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11451,1
    - Dst: ErrCode
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11453,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11454,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb.c:11458,1
    CyclomaticComplexity: 1309
    EdgeCount: 1309
    ICount: 4268
    argCount: 5
    argNames:
    - env
    - fname
    - which
    - mode
    - res
    argTypes:
    - MDB_env*
    - MDB_name*
    - enum mdb_fopen_type
    - mdb_mode_t
    - HANDLE*
    constantsTouched: []
    func_position:
      end: 11470
      start: 4827
    functionDepth: 5
    functionLinenumber: 4827
    functionLinenumberEnd: 11470
    functionName: mdb_fopen
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb.c
    functionUses: 1
    functionsReached:
    - SETDSZ
    - WriteFile
    - mdb_fopen
    - NODEKSZ
    - calloc
    - IS_OVERFLOW
    - IS_LEAF
    - mdb_page_split
    - SET_OFF
    - mdb_page_spill
    - mdb_node_shrink
    - mdb_cursor_init
    - COPY_PGNO
    - CreateMutexA
    - sigaddset
    - mdb_env_share_locks
    - mdb_node_read
    - mdb_env_copy2
    - mdb_page_free
    - pthread_cond_init
    - mdb_page_unspill
    - mdb_env_pick_meta
    - strcpy
    - const_seg
    - DO_WRITE
    - pthread_key_delete
    - OpenMutexA
    - mdb_hash
    - mdb_cursor_touch
    - mdb_strerror
    - MDB_cursor::mc_dbx::md_cmp
    - if
    - pthread_getspecific
    - memset
    - pthread_mutexattr_setpshared
    - MDB_GET_KEY
    - WITH_CURSOR_TRACKING
    - mdb_midl_append
    - mdb_midl_need
    - mdb_reader_check0
    - pthread_mutex_lock
    - mdb_env_read_header
    - atoi
    - INDXSIZE
    - mdb_branch_size
    - sigemptyset
    - mdb_dkey
    - comment
    - pthread_cond_wait
    - GetFileSize
    - mdb_env_copyfd2
    - mdb_env_copyfd0
    - mdb_node_move
    - mdb_del0
    - mdb_midl_append_range
    - mdb_page_search_root
    - MDB_GET_KEY2
    - MP_FLAGS
    - mdb_page_search_lowest
    - CreateFileMapping
    - NUMKEYS
    - NEED_CMP_CLONG
    - ftruncate
    - mdb_drop0
    - pthread_key_create
    - open
    - posix_memalign
    - CloseHandle
    - MDB_TRACE
    - mdb_page_search
    - MAP
    - _mdb_txn_abort
    - mdb_mid3l_search
    - fstat
    - mdb_reader_pid
    - pthread_mutexattr_destroy
    - free
    - EVEN
    - mdb_midl_alloc
    - mdb_cursor_copy
    - GetVersion
    - _mdb_cursor_del
    - mdb_env_copyfd1
    - mdb_pid_insert
    - mdb_cursor_push
    - CreateMutex
    - UNLOCK_MUTEX
    - mdb_mid2l_insert
    - mdb_fsize
    - VGMEMP_DEFINED
    - MUTEXNAME
    - strlen
    - NODEKEY
    - mdb_env_excl_lock
    - sprintf
    - mdb_txn_begin
    - METADATA
    - MP_PTRS
    - strncmp
    - mdb_page_touch
    - LockFile
    - LOCK_MUTEX
    - mdb_dbi_close
    - IS_LEAF2
    - ErrCode
    - sem_unlink
    - memalign
    - mdb_env_close0
    - fcntl
    - MP_PGNO
    - THREAD_CREATE
    - MC_OVPG
    - semget
    - mdb_dval
    - MultiByteToWideChar
    - SetFilePointer
    - mdb_xcursor_init2
    - mdb_cassert
    - LEAF2KEY
    - memcpy
    - mdb_name_cpy
    - IS_BRANCH
    - dcmp
    - mdb_mutex_failed
    - mdb_tassert
    - MDB_PAGE_UNREF
    - pthread_mutexattr_init
    - TXN_DBI_EXIST
    - getpid
    - sigwait
    - mdb_cursor_pop
    - mdb_env_init_meta
    - lseek
    - NODEPTR
    - SIZELEFT
    - mdb_ovpage_free
    - _aligned_malloc
    - LOCK_MUTEX0
    - mdb_cursor_del0
    - pthread_sigmask
    - mdb_txn_renew0
    - mdb_cursor_prev
    - CreateEvent
    - TXN_DBI_CHANGED
    - LockFileEx
    - GetProcAddress
    - mdb_midl_free
    - mdb_cursor_close
    - pthread_mutexattr_setrobust
    - DPUTS
    - MDB_CURSOR_UNREF
    - cmp
    - mdb_cursor_first
    - SETPGNO
    - mdb_cursor_set
    - ENV_MAXKEY
    - XCURSOR_REFRESH
    - _mdb_cursor_put
    - PAGEFILL
    - THREAD_FINISH
    - UnlockFile
    - mdb_env_map
    - mdb_rebalance
    - pthread_cond_signal
    - LEAFSIZE
    - mdb_page_merge
    - sem_open
    - mdb_midl_search
    - mdb_node_add
    - mdb_env_open2
    - SetEndOfFile
    - MapViewOfFileEx
    - VGMEMP_DESTROY
    - DPRINTF
    - InitializeSecurityDescriptor
    - mdb_node_del
    - func
    - strdup
    - mdb_leaf_size
    - mdb_xcursor_init0
    - munmap
    - DKEY
    - mdb_mid3l_insert
    - NODEPGNO
    - mdb_stat0
    - mdb_xcursor_init1
    - mdb_fname_init
    - mdb_node_search
    - mdb_pack85
    - F_ISSET
    - IS_SUBP
    - mdb_page_new
    - pthread_mutex_unlock
    - mfunc
    - mdb_midl_xappend
    - mdb_env_init_meta0
    - MP_LOWER
    - mdb_page_loose
    - mdb_cursor_last
    - mdb_txn_end
    - MP_PAD
    - mdb_update_key
    - NODEDATA
    - mdb_cursor_open
    - mdb_dpage_free
    - sem_close
    - memmove
    - mdb_cursor_sibling
    - uname
    - mdb_env_setup_locks
    - mdb_cursor_get
    - close
    - memcmp
    - MP_UPPER
    - DDBI
    - mdb_dbg_pgno
    - mdb_mutex_consistent
    - mdb_cursor_next
    - mdb_page_copy
    - pthread_cond_destroy
    - ftok
    - mdb_default_cmp
    - mdb_page_alloc
    - _aligned_free
    - mdb_page_malloc
    - GetModuleHandleW
    - mdb_env_mname_init
    - mdb_env_reader_dest
    - mdb_page_get
    - pthread_mutex_init
    - malloc
    - mdb_fname_destroy
    - CreateFileW
    - SetSecurityDescriptorDacl
    - NODEDSZ
    - semctl
    - mdb_env_cthr_toggle
    - pthread_mutex_destroy
    - MC_SET_OVPG
    - fstatfs
    - mdb_env_cwalk
    - GetFileInformationByHandle
    linkageType: ''
    returnType: int
    signature: "int mdb_fopen(const MDB_env *env, MDB_name *fname,\n\tenum mdb_fopen_type
      which, mdb_mode_t mode,\n\tHANDLE *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c2
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: unhex
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unhex(unsigned char *c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/lmdb/libraries/liblmdb/mplay.c:101,1
    - Dst: unhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: inhex
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - unhex
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int inhex(char *in, char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tenv
    - renv
    argTypes:
    - void*
    - MDB_env*
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: addenv
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void addenv(void *tenv, MDB_env *renv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tenv
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: findenv
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: envpair
    signature: envpair *findenv(void *tenv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ep
    argTypes:
    - envpair*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: delenv
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delenv(envpair *ep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:145,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - tenv
    - ttxn
    - rtxn
    argTypes:
    - void*
    - void*
    - MDB_txn*
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: addtxn
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    - findenv
    linkageType: ''
    returnType: void
    signature: void addtxn(void *tenv, void *ttxn, MDB_txn *rtxn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ttxn
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: findtxn
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: txnpair
    signature: txnpair *findtxn(void *ttxn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tp
    argTypes:
    - txnpair*
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: deltxn
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deltxn(txnpair *tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tp
    - tcrs
    - rcrs
    argTypes:
    - txnpair*
    - void*
    - MDB_cursor*
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: addcrs
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void addcrs(txnpair *tp, void *tcrs, MDB_cursor *rcrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:244,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - tcrs
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 245
    functionName: findcrs
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: crspair
    signature: crspair *findcrs(void *tcrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: findcrs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:250,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mplay.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tcrs
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: delcrs
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - findcrs
    - mdb_cursor_close
    linkageType: ''
    returnType: void
    signature: void delcrs(void *tcrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mplay.c:264,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:266,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:266,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:269,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:269,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:272,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:272,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:273,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mplay.c:273,1
    - Dst: addenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:274,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:275,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:275,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:279,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:279,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:280,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:281,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:281,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:282,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:282,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:286,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:286,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:287,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:288,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mplay.c:288,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:289,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:289,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:295,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:295,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:296,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:297,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:299,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:300,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:301,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mplay.c:301,1
    - Dst: mdb_env_get_maxkeysize
      Src: /src/lmdb/libraries/liblmdb/mplay.c:303,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mplay.c:304,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mplay.c:305,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:308,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:308,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:311,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:311,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:312,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mplay.c:313,1
    - Dst: delenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:314,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:317,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:317,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:322,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:322,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:323,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:324,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mplay.c:324,1
    - Dst: addtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:325,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:326,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:326,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:329,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:329,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:330,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:331,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mplay.c:331,1
    - Dst: deltxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:332,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:333,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:333,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:336,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:336,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:337,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mplay.c:338,1
    - Dst: deltxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:339,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:340,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:340,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:347,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:347,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:348,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:348,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:350,1
    - Dst: strcmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:352,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:354,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:355,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:356,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mplay.c:356,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:357,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:357,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:361,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:361,1
    - Dst: findenv
      Src: /src/lmdb/libraries/liblmdb/mplay.c:362,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mplay.c:363,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:364,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:364,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:369,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:369,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:370,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:371,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mplay.c:371,1
    - Dst: addcrs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:372,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:373,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:373,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:375,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:375,1
    - Dst: delcrs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:376,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:377,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:377,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:382,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:382,1
    - Dst: findcrs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:383,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:384,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:384,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:385,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:387,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:388,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:392,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:393,1
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/mplay.c:395,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:396,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:401,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:405,1
    - Dst: mdb_txn_id
      Src: /src/lmdb/libraries/liblmdb/mplay.c:405,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:407,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:408,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mplay.c:408,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:409,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:409,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:413,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:413,1
    - Dst: findcrs
      Src: /src/lmdb/libraries/liblmdb/mplay.c:414,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mplay.c:415,1
    - Dst: mdb_cursor_del
      Src: /src/lmdb/libraries/liblmdb/mplay.c:415,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:416,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:416,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:421,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:421,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:422,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:423,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:423,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:424,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:427,1
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/mplay.c:429,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:430,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:435,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:438,1
    - Dst: mdb_txn_id
      Src: /src/lmdb/libraries/liblmdb/mplay.c:438,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:441,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mplay.c:442,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mplay.c:442,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:443,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:443,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:448,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:448,1
    - Dst: findtxn
      Src: /src/lmdb/libraries/liblmdb/mplay.c:449,1
    - Dst: strchr
      Src: /src/lmdb/libraries/liblmdb/mplay.c:450,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:450,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:451,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:454,1
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/mplay.c:456,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:457,1
    - Dst: inhex
      Src: /src/lmdb/libraries/liblmdb/mplay.c:462,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:464,1
    - Dst: mdb_txn_id
      Src: /src/lmdb/libraries/liblmdb/mplay.c:464,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mplay.c:467,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mplay.c:467,1
    - Dst: write
      Src: /src/lmdb/libraries/liblmdb/mplay.c:469,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mplay.c:471,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 171
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 472
    functionName: child
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 2
    functionsReached:
    - addcrs
    - findenv
    - mdb_txn_id
    - RES
    - strchr
    - strcmp
    - mdb_env_open
    - mdb_cursor_open
    - inhex
    - mdb_env_set_maxdbs
    - findtxn
    - delcrs
    - findcrs
    - sscanf
    - SCMP
    - mdb_env_set_mapsize
    - mdb_cursor_del
    - mdb_txn_abort
    - sprintf
    - deltxn
    - realloc
    - addtxn
    - assert
    - exit
    - mdb_cursor_put
    - mdb_txn_commit
    - addenv
    - mdb_del
    - mdb_env_get_maxkeysize
    - mdb_txn_begin
    - strncmp
    - mdb_env_create
    - SOFF
    - mdb_dbi_close
    - malloc
    - delenv
    - fgets
    - mdb_put
    - E
    - mdb_dbi_open
    - write
    - mdb_env_close
    linkageType: ''
    returnType: void
    signature: void child()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:478,1
    - Dst: pipe
      Src: /src/lmdb/libraries/liblmdb/mplay.c:480,1
    - Dst: pipe
      Src: /src/lmdb/libraries/liblmdb/mplay.c:481,1
    - Dst: fork
      Src: /src/lmdb/libraries/liblmdb/mplay.c:482,1
    - Dst: fflush
      Src: /src/lmdb/libraries/liblmdb/mplay.c:484,1
    - Dst: fflush
      Src: /src/lmdb/libraries/liblmdb/mplay.c:485,1
    - Dst: dup2
      Src: /src/lmdb/libraries/liblmdb/mplay.c:486,1
    - Dst: dup2
      Src: /src/lmdb/libraries/liblmdb/mplay.c:487,1
    - Dst: child
      Src: /src/lmdb/libraries/liblmdb/mplay.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - tpid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 498
      start: 474
    functionDepth: 8
    functionLinenumber: 474
    functionLinenumberEnd: 498
    functionName: addpid
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    - fork
    - child
    - dup2
    - fflush
    - pipe
    linkageType: ''
    returnType: pidpair
    signature: pidpair *addpid(int tpid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - tpid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: findpid
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pidpair
    signature: pidpair *findpid(int tpid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: findpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:518,1
    - Dst: write
      Src: /src/lmdb/libraries/liblmdb/mplay.c:522,1
    - Dst: usleep
      Src: /src/lmdb/libraries/liblmdb/mplay.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tpid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: delpid
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - usleep
    - write
    - findpid
    linkageType: ''
    returnType: void
    signature: void delpid(int tpid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:531,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:533,1
    - Dst: WIFEXITED
      Src: /src/lmdb/libraries/liblmdb/mplay.c:533,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/mplay.c:537,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mplay.c:538,1
    - Dst: close
      Src: /src/lmdb/libraries/liblmdb/mplay.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 545
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 545
    functionName: reaper
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 0
    functionsReached:
    - assert
    - WIFEXITED
    - close
    - waitpid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void reaper(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mplay.c:549,1
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mplay.c:551,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mplay.c:557,1
    - Dst: SCMP
      Src: /src/lmdb/libraries/liblmdb/mplay.c:557,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:558,1
    - Dst: SOFF
      Src: /src/lmdb/libraries/liblmdb/mplay.c:558,1
    - Dst: delpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:559,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mplay.c:566,1
    - Dst: findpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:567,1
    - Dst: addpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:569,1
    - Dst: strlen
      Src: /src/lmdb/libraries/liblmdb/mplay.c:572,1
    - Dst: write
      Src: /src/lmdb/libraries/liblmdb/mplay.c:573,1
    - Dst: read
      Src: /src/lmdb/libraries/liblmdb/mplay.c:574,1
    - Dst: delpid
      Src: /src/lmdb/libraries/liblmdb/mplay.c:577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 578
      start: 547
    functionDepth: 9
    functionLinenumber: 547
    functionLinenumberEnd: 578
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mplay.c
    functionUses: 4
    functionsReached:
    - strlen
    - signal
    - sscanf
    - SCMP
    - write
    - findpid
    - strncmp
    - SOFF
    - delpid
    - read
    - addpid
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: sighandle
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sighandle(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:46,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:47,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:53,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:54,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:58,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:61,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:63,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:64,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:67,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:69,1
    - Dst: mdb_env_copyfd2
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:74,1
    - Dst: mdb_env_copy2
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:76,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:79,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:80,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mdb_copy.c:81,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_copy.c
    functionUses: 4
    functionsReached:
    - exit
    - mdb_env_copyfd2
    - signal
    - mdb_env_close
    - mdb_env_open
    - mdb_strerror
    - mdb_env_create
    - printf
    - mdb_env_copy2
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: dumpsig
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_drop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dumpsig( int sig )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:32,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: usage
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_drop.c
    functionUses: 10
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(char *prog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:48,1
    - Dst: getopt
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:57,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:60,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:61,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:73,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:78,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:81,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:84,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:86,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:87,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:90,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:92,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:92,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:96,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:98,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:100,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:100,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:104,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:106,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:106,1
    - Dst: mdb_open
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:110,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:112,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:112,1
    - Dst: mdb_drop
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:116,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:118,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:118,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:121,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:123,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:123,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:130,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mdb_drop.c:132,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 135
      start: 36
    functionDepth: 7
    functionLinenumber: 36
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_drop.c
    functionUses: 4
    functionsReached:
    - exit
    - mdb_env_set_maxdbs
    - mdb_txn_commit
    - signal
    - mdb_drop
    - mdb_env_close
    - mdb_env_open
    - mdb_strerror
    - mdb_txn_abort
    - mdb_txn_begin
    - getopt
    - mdb_env_create
    - printf
    - mdb_open
    - fprintf
    - usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:40,1
    - Dst: time
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:40,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:42,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:43,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:46,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:49,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:49,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:50,1
    - Dst: mdb_env_set_maxreaders
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:50,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:51,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:51,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:52,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:53,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:53,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:55,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:55,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:56,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:56,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:61,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:63,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:66,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:66,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:69,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:70,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:70,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:71,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:71,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:73,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:73,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:74,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:74,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:75,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:76,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:80,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:81,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:82,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:86,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:89,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:89,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:90,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:91,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:91,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:93,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:95,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:95,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:98,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:99,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:101,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:101,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:102,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:102,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:103,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:103,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:104,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:105,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:106,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:110,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:111,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:112,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:113,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:117,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:118,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:119,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:121,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest2.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 124
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest2.c
    functionUses: 4
    functionsReached:
    - time
    - RES
    - srand
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - free
    - rand
    - mdb_cursor_get
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_txn_commit
    - mdb_del
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - mdb_put
    - E
    - mdb_dbi_open
    - mdb_env_close
    - mdb_env_set_maxreaders
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:43,1
    - Dst: time
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:43,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:45,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:45,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:46,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:46,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:47,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:47,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:48,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:48,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:50,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:50,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:51,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:51,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:52,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:53,1
    - Dst: mdb_stat
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:53,1
    - Dst: calloc
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:55,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:61,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:64,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:66,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:66,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:68,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:71,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:73,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:73,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:75,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:78,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:80,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:80,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:82,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:82,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:85,1
    - Dst: mdb_dkey
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:86,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:88,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:89,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:90,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:91,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:96,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:99,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:99,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:100,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:101,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:106,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:106,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:108,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:110,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:110,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:113,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:114,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:116,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:116,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:117,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:117,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:118,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:118,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:119,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:120,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:121,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:125,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:126,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:127,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:128,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:132,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:133,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:134,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:136,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest6.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 141
      start: 29
    functionDepth: 7
    functionLinenumber: 29
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest6.c
    functionUses: 4
    functionsReached:
    - calloc
    - time
    - RES
    - srand
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - free
    - mdb_cursor_get
    - rand
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_cursor_put
    - mdb_txn_commit
    - mdb_del
    - mdb_stat
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dkey
    - mdb_dbi_close
    - E
    - mdb_dbi_open
    - mdb_env_close
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:26,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:28,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:29,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:30,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:31,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ms
    argTypes:
    - MDB_stat*
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: prstat
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_stat.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void prstat(MDB_stat *ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:37,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: usage
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_stat.c
    functionUses: 11
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(char *prog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:55,1
    - Dst: getopt
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:68,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:71,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:72,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:76,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:96,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:100,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:105,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:108,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:110,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:110,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:115,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:118,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:120,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:120,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:125,1
    - Dst: mdb_env_info
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:126,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:127,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:128,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:129,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:130,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:131,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:132,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:133,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:134,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:135,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:139,1
    - Dst: mdb_reader_list
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:140,1
    - Dst: mdb_reader_check
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:143,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:144,1
    - Dst: mdb_reader_list
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:145,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:151,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:153,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:153,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:162,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:164,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:166,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:166,1
    - Dst: mdb_stat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:169,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:171,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:171,1
    - Dst: prstat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:174,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:175,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:191,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:197,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:203,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:204,1
    - Dst: mdb_open
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:207,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:209,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:209,1
    - Dst: mdb_stat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:213,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:215,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:215,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:218,1
    - Dst: prstat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:219,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:225,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:227,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:227,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:230,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:233,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:235,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:236,1
    - Dst: mdb_open
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:238,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:240,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:241,1
    - Dst: mdb_stat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:243,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:245,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:245,1
    - Dst: prstat
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:248,1
    - Dst: mdb_close
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:249,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:251,1
    - Dst: mdb_close
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:257,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:259,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mdb_stat.c:261,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 185
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 264
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_stat.c
    functionUses: 4
    functionsReached:
    - getopt
    - mdb_env_open
    - printf
    - mdb_env_info
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - mdb_reader_list
    - free
    - mdb_cursor_get
    - mdb_cursor_close
    - mdb_strerror
    - mdb_txn_abort
    - mdb_env_stat
    - mdb_open
    - mdb_reader_check
    - usage
    - exit
    - mdb_stat
    - prstat
    - mdb_txn_begin
    - mdb_env_create
    - malloc
    - mdb_env_close
    - memcpy
    - memchr
    - mdb_close
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:41,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:44,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:50,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:50,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:51,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:51,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:52,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:53,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:53,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:55,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:55,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:56,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:56,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:63,1
    - Dst: strcpy
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:64,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:66,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:67,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:67,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:70,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:71,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:71,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:72,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:72,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:76,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:76,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:77,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:77,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:78,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:79,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:83,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:84,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:85,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:98,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:99,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:99,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:100,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:100,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:101,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:103,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:104,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:104,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:105,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:105,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:106,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:108,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:109,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:109,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:110,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:110,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:111,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:111,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:114,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:114,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:115,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:115,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:116,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:117,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:121,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:122,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:123,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:126,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:129,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:129,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:130,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:135,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:135,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:137,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:139,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:139,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:142,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:143,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:145,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:145,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:146,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:146,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:147,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:147,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:148,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:149,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:150,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:154,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:155,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:156,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:157,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:161,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:162,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:163,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:165,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest4.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 168
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest4.c
    functionUses: 4
    functionsReached:
    - RES
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - strcpy
    - free
    - mdb_cursor_get
    - rand
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - memset
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_txn_commit
    - mdb_del
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - mdb_put
    - E
    - mdb_dbi_open
    - mdb_env_close
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:69,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:71,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:71,1
    - Dst: atoi
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:72,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:72,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:74,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:76,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:78,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:78,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:80,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:80,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:81,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:81,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:81,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:83,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:83,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:83,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:84,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:85,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:86,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:88,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:88,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:89,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:91,1
    - Dst: strdup
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:92,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:92,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:93,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:93,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:94,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:94,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:94,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:95,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:96,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:97,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:99,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:99,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:101,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:103,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:103,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:105,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:106,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:107,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:109,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:109,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:111,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:113,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:113,1
    - Dst: MDB_SCNy
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:114,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:116,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:117,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:118,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:120,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:120,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:122,1
    - Dst: sscanf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:124,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:124,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:126,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:127,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:128,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:133,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:140,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:142,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:144,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:147,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 153
    functionName: readhdr
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 0
    functionsReached:
    - strdup
    - exit
    - free
    - sscanf
    - atoi
    - MDB_SCNy
    - STRLENOF
    - strncmp
    - memchr
    - fprintf
    - fgets
    linkageType: ''
    returnType: void
    signature: void readhdr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: badend
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void badend(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - c2
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: unhex
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unhex(unsigned char *c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:182,1
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:189,1
    - Dst: badend
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:192,1
    - Dst: strncmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:195,1
    - Dst: STRLENOF
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:195,1
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:200,1
    - Dst: strlen
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:207,1
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:212,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:215,1
    - Dst: fgets
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:221,1
    - Dst: badend
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:223,1
    - Dst: strlen
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:227,1
    - Dst: isxdigit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:241,1
    - Dst: isxdigit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:241,1
    - Dst: badend
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:243,1
    - Dst: unhex
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:246,1
    - Dst: badend
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:258,1
    - Dst: isxdigit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:262,1
    - Dst: isxdigit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:262,1
    - Dst: badend
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:264,1
    - Dst: unhex
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:267,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 2
    argNames:
    - out
    - buf
    argTypes:
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 275
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 275
    functionName: readline
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 0
    functionsReached:
    - isxdigit
    - fgetc
    - strlen
    - unhex
    - badend
    - STRLENOF
    - strncmp
    - realloc
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int readline(MDB_val *out, MDB_val *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:279,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: usage
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 12
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MDB_val*
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: greater
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int greater(const MDB_val *a, const MDB_val *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:303,1
    - Dst: getopt
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:315,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:318,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:319,1
    - Dst: freopen
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:325,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:326,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:327,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:328,1
    - Dst: strdup
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:335,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:347,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:352,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:355,1
    - Dst: readhdr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:358,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:361,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:363,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:363,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:367,1
    - Dst: mdb_env_set_maxreaders
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:370,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:373,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:378,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:380,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:380,1
    - Dst: mdb_env_get_maxkeysize
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:384,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:385,1
    - Dst: readhdr
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:398,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:400,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:402,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:402,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:406,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:408,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:408,1
    - Dst: mdb_set_compare
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:413,1
    - Dst: mdb_set_dupsort
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:415,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:418,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:420,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:420,1
    - Dst: readline
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:425,1
    - Dst: readline
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:429,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:431,1
    - Dst: memcmp
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:438,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:441,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:448,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:452,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:452,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:457,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:459,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:460,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:463,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:465,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:465,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:468,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:470,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:470,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:475,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:476,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:482,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:485,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:486,1
    - Dst: mdb_env_sync
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:490,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:492,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:492,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:496,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:500,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mdb_load.c:502,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 181
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 505
      start: 288
    functionDepth: 7
    functionLinenumber: 288
    functionLinenumberEnd: 505
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_load.c
    functionUses: 4
    functionsReached:
    - mdb_set_dupsort
    - getopt
    - mdb_env_open
    - printf
    - freopen
    - mdb_env_sync
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - mdb_cursor_get
    - mdb_set_compare
    - mdb_env_set_mapsize
    - memcmp
    - mdb_strerror
    - mdb_txn_abort
    - strerror
    - usage
    - exit
    - readhdr
    - mdb_cursor_put
    - mdb_txn_commit
    - mdb_env_get_maxkeysize
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - mdb_dbi_open
    - strdup
    - mdb_env_close
    - mdb_env_set_maxreaders
    - memcpy
    - fprintf
    - readline
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:41,1
    - Dst: time
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:41,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:43,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:45,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:46,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:49,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:52,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:53,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:53,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:54,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:54,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:55,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:55,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:57,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:57,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:58,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:58,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:59,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:59,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:66,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:69,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:70,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:71,1
    - Dst: mdb_cursor_put
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:71,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:74,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:75,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:76,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:76,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:77,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:77,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:79,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:79,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:80,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:80,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:81,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:82,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:86,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:87,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:88,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:92,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:95,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:95,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:96,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:97,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:102,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:102,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:104,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:106,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:106,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:109,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:110,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:112,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:112,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:113,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:113,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:114,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:114,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:115,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:116,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:117,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:121,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:122,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:123,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:124,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:128,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:129,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:130,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:132,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest5.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 135
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest5.c
    functionUses: 4
    functionsReached:
    - time
    - RES
    - srand
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - free
    - rand
    - mdb_cursor_get
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - memset
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_cursor_put
    - mdb_txn_commit
    - mdb_del
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - E
    - mdb_dbi_open
    - mdb_env_close
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMP
      Src: /src/lmdb/libraries/liblmdb/midl.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_IDL
    - MDB_ID
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: mdb_midl_search
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 3
    functionsReached:
    - CMP
    linkageType: ''
    returnType: unsigned
    signature: unsigned mdb_midl_search( MDB_IDL ids, MDB_ID id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_midl_search
      Src: /src/lmdb/libraries/liblmdb/midl.c:74,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/midl.c:75,1
    - Dst: assert
      Src: /src/lmdb/libraries/liblmdb/midl.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_IDL
    - MDB_ID
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: mdb_midl_insert
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 0
    functionsReached:
    - mdb_midl_search
    - assert
    linkageType: ''
    returnType: int
    signature: int mdb_midl_insert( MDB_IDL ids, MDB_ID id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/midl.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: mdb_midl_alloc
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 4
    functionsReached:
    - malloc
    linkageType: ''
    returnType: MDB_IDL
    signature: MDB_IDL mdb_midl_alloc(int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/midl.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ids
    argTypes:
    - MDB_IDL
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: mdb_midl_free
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mdb_midl_free(MDB_IDL ids)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/midl.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - idp
    argTypes:
    - MDB_IDL*
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: mdb_midl_shrink
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 2
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void mdb_midl_shrink( MDB_IDL *idp )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/midl.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - idp
    - num
    argTypes:
    - MDB_IDL*
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: mdb_midl_grow
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int mdb_midl_grow( MDB_IDL *idp, int num )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/lmdb/libraries/liblmdb/midl.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - idp
    - num
    argTypes:
    - MDB_IDL*
    - unsigned
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: mdb_midl_need
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 4
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int mdb_midl_need( MDB_IDL *idp, unsigned num )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_midl_grow
      Src: /src/lmdb/libraries/liblmdb/midl.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - idp
    - id
    argTypes:
    - MDB_IDL*
    - MDB_ID
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: mdb_midl_append
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 2
    functionsReached:
    - mdb_midl_grow
    linkageType: ''
    returnType: int
    signature: int mdb_midl_append( MDB_IDL *idp, MDB_ID id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_midl_grow
      Src: /src/lmdb/libraries/liblmdb/midl.c:176,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/midl.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - idp
    - app
    argTypes:
    - MDB_IDL*
    - MDB_IDL
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: mdb_midl_append_list
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 1
    functionsReached:
    - memcpy
    - mdb_midl_grow
    linkageType: ''
    returnType: int
    signature: int mdb_midl_append_list( MDB_IDL *idp, MDB_IDL app )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_midl_grow
      Src: /src/lmdb/libraries/liblmdb/midl.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - idp
    - id
    - n
    argTypes:
    - MDB_IDL*
    - MDB_ID
    - unsigned
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: mdb_midl_append_range
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 1
    functionsReached:
    - mdb_midl_grow
    linkageType: ''
    returnType: int
    signature: int mdb_midl_append_range( MDB_IDL *idp, MDB_ID id, unsigned n )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - idl
    - merge
    argTypes:
    - MDB_IDL
    - MDB_IDL
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: mdb_midl_xmerge
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mdb_midl_xmerge( MDB_IDL idl, MDB_IDL merge )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIDL_SWAP
      Src: /src/lmdb/libraries/liblmdb/midl.c:246,1
    - Dst: MIDL_SWAP
      Src: /src/lmdb/libraries/liblmdb/midl.c:248,1
    - Dst: MIDL_SWAP
      Src: /src/lmdb/libraries/liblmdb/midl.c:251,1
    - Dst: MIDL_SWAP
      Src: /src/lmdb/libraries/liblmdb/midl.c:254,1
    - Dst: MIDL_SWAP
      Src: /src/lmdb/libraries/liblmdb/midl.c:263,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - ids
    argTypes:
    - MDB_IDL
    constantsTouched: []
    func_position:
      end: 279
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 279
    functionName: mdb_midl_sort
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 3
    functionsReached:
    - MIDL_SWAP
    linkageType: ''
    returnType: void
    signature: void mdb_midl_sort( MDB_IDL ids )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMP
      Src: /src/lmdb/libraries/liblmdb/midl.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_ID2L
    - MDB_ID
    constantsTouched: []
    func_position:
      end: 314
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 314
    functionName: mdb_mid2l_search
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 2
    functionsReached:
    - CMP
    linkageType: ''
    returnType: unsigned
    signature: unsigned mdb_mid2l_search( MDB_ID2L ids, MDB_ID id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_mid2l_search
      Src: /src/lmdb/libraries/liblmdb/midl.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_ID2L
    - MDB_ID2*
    constantsTouched: []
    func_position:
      end: 345
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 345
    functionName: mdb_mid2l_insert
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 2
    functionsReached:
    - mdb_mid2l_search
    linkageType: ''
    returnType: int
    signature: int mdb_mid2l_insert( MDB_ID2L ids, MDB_ID2 *id )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_ID2L
    - MDB_ID2*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: mdb_mid2l_append
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mdb_mid2l_append( MDB_ID2L ids, MDB_ID2 *id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMP
      Src: /src/lmdb/libraries/liblmdb/midl.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_ID3L
    - MDB_ID
    constantsTouched: []
    func_position:
      end: 392
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 392
    functionName: mdb_mid3l_search
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 3
    functionsReached:
    - CMP
    linkageType: ''
    returnType: unsigned
    signature: unsigned mdb_mid3l_search( MDB_ID3L ids, MDB_ID id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_mid3l_search
      Src: /src/lmdb/libraries/liblmdb/midl.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ids
    - id
    argTypes:
    - MDB_ID3L
    - MDB_ID3*
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: mdb_mid3l_insert
    functionSourceFile: /src/lmdb/libraries/liblmdb/midl.c
    functionUses: 1
    functionsReached:
    - mdb_mid3l_search
    linkageType: ''
    returnType: int
    signature: int mdb_mid3l_insert( MDB_ID3L ids, MDB_ID3 *id )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:41,1
    - Dst: time
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:41,1
    - Dst: memset
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:43,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:45,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:46,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:49,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:52,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:53,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:53,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:54,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:54,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:55,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:55,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:57,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:57,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:58,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:58,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:65,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:68,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:69,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:70,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:70,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:73,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:74,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:74,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:75,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:75,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:77,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:77,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:78,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:78,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:79,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:80,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:84,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:85,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:86,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:90,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:93,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:93,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:94,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:95,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:100,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:100,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:102,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:104,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:104,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:107,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:108,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:110,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:110,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:111,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:111,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:112,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:112,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:113,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:114,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:115,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:119,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:120,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:121,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:122,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:126,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:127,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:128,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:130,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest3.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 133
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest3.c
    functionUses: 4
    functionsReached:
    - time
    - RES
    - srand
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - free
    - rand
    - mdb_cursor_get
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - memset
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_txn_commit
    - mdb_del
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - mdb_put
    - E
    - mdb_dbi_open
    - mdb_env_close
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/lmdb/libraries/liblmdb/mtest.c:38,1
    - Dst: time
      Src: /src/lmdb/libraries/liblmdb/mtest.c:38,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest.c:40,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mtest.c:41,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest.c:44,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:47,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mtest.c:47,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:48,1
    - Dst: mdb_env_set_maxreaders
      Src: /src/lmdb/libraries/liblmdb/mtest.c:48,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:49,1
    - Dst: mdb_env_set_mapsize
      Src: /src/lmdb/libraries/liblmdb/mtest.c:49,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:50,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:50,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:52,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:52,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:53,1
    - Dst: mdb_dbi_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:53,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:58,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:60,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest.c:64,1
    - Dst: mdb_put
      Src: /src/lmdb/libraries/liblmdb/mtest.c:64,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:70,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:71,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest.c:71,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:72,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest.c:72,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:74,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:74,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:75,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:75,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:76,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:77,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest.c:81,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:82,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest.c:83,1
    - Dst: rand
      Src: /src/lmdb/libraries/liblmdb/mtest.c:87,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:90,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:90,1
    - Dst: sprintf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:91,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest.c:92,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest.c:92,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest.c:94,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:96,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest.c:96,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mtest.c:99,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:100,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:102,1
    - Dst: mdb_env_stat
      Src: /src/lmdb/libraries/liblmdb/mtest.c:102,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:103,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:103,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:104,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:104,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:105,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:106,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:107,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest.c:111,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:112,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:113,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:113,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:114,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:117,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:118,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:119,1
    - Dst: CHECK
      Src: /src/lmdb/libraries/liblmdb/mtest.c:123,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:124,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:125,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:125,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:126,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:129,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:129,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:130,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:134,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest.c:135,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:137,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:138,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:138,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:139,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:139,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest.c:141,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:141,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:143,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:146,1
    - Dst: mdb_del
      Src: /src/lmdb/libraries/liblmdb/mtest.c:146,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:149,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest.c:151,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:151,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:153,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:157,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:158,1
    - Dst: mdb_txn_commit
      Src: /src/lmdb/libraries/liblmdb/mtest.c:158,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:160,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:161,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mtest.c:161,1
    - Dst: E
      Src: /src/lmdb/libraries/liblmdb/mtest.c:162,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mtest.c:162,1
    - Dst: RES
      Src: /src/lmdb/libraries/liblmdb/mtest.c:164,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mtest.c:164,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mtest.c:166,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:170,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mtest.c:171,1
    - Dst: mdb_dbi_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:173,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mtest.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 177
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mtest.c
    functionUses: 4
    functionsReached:
    - time
    - RES
    - srand
    - mdb_env_open
    - printf
    - mdb_cursor_open
    - free
    - rand
    - mdb_cursor_get
    - mdb_cursor_close
    - mdb_env_set_mapsize
    - mdb_txn_abort
    - sprintf
    - mdb_env_stat
    - CHECK
    - mdb_txn_commit
    - mdb_del
    - mdb_txn_begin
    - mdb_env_create
    - mdb_dbi_close
    - malloc
    - mdb_put
    - E
    - mdb_dbi_open
    - mdb_env_close
    - mdb_env_set_maxreaders
    linkageType: ''
    returnType: int
    signature: int main(int argc,char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: dumpsig
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dumpsig( int sig )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:54,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: hex
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 41
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void hex(unsigned char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:62,1
    - Dst: isprint
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:66,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:68,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:69,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:71,1
    - Dst: hex
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:72,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - v
    argTypes:
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: text
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 8
    functionsReached:
    - putchar
    - hex
    - isprint
    linkageType: ''
    returnType: void
    signature: void text(MDB_val *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:83,1
    - Dst: hex
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:87,1
    - Dst: putchar
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - MDB_val*
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: byte
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 1
    functionsReached:
    - putchar
    - hex
    linkageType: ''
    returnType: void
    signature: void byte(MDB_val *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mdb_dbi_flags
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:102,1
    - Dst: mdb_stat
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:105,1
    - Dst: mdb_env_info
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:108,1
    - Dst: mdb_txn_env
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:108,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:111,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:112,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:114,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:115,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:116,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:118,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:119,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:122,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:126,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:128,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:129,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:131,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:134,1
    - Dst: text
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:140,1
    - Dst: text
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:141,1
    - Dst: byte
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:143,1
    - Dst: byte
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:144,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - txn
    - dbi
    - name
    argTypes:
    - MDB_txn*
    - MDB_dbi
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 152
    functionName: dumpit
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 0
    functionsReached:
    - mdb_cursor_open
    - byte
    - mdb_txn_env
    - mdb_cursor_get
    - mdb_stat
    - mdb_dbi_flags
    - printf
    - mdb_env_info
    - text
    linkageType: ''
    returnType: int
    signature: int dumpit(MDB_txn *txn, MDB_dbi dbi, char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:156,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: usage
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 13
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(char *prog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:172,1
    - Dst: getopt
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:184,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:187,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:188,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:195,1
    - Dst: freopen
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:199,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:200,1
    - Dst: strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:201,1
    - Dst: exit
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:202,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:216,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:220,1
    - Dst: usage
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:225,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:228,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:231,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:233,1
    - Dst: signal
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:234,1
    - Dst: mdb_env_create
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:237,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:239,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:239,1
    - Dst: mdb_env_set_maxdbs
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:244,1
    - Dst: mdb_env_open
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:247,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:249,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:249,1
    - Dst: mdb_txn_begin
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:253,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:255,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:255,1
    - Dst: mdb_open
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:259,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:261,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:261,1
    - Dst: mdb_cursor_open
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:270,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:272,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:272,1
    - Dst: mdb_cursor_get
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:275,1
    - Dst: memchr
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:278,1
    - Dst: malloc
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:281,1
    - Dst: memcpy
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:282,1
    - Dst: mdb_open
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:284,1
    - Dst: printf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:287,1
    - Dst: dumpit
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:290,1
    - Dst: mdb_close
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:294,1
    - Dst: free
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:296,1
    - Dst: mdb_cursor_close
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:299,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:301,1
    - Dst: dumpit
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:307,1
    - Dst: fprintf
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:310,1
    - Dst: mdb_strerror
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:310,1
    - Dst: mdb_close
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:312,1
    - Dst: mdb_txn_abort
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:314,1
    - Dst: mdb_env_close
      Src: /src/lmdb/libraries/liblmdb/mdb_dump.c:316,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 125
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 319
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 319
    functionName: main
    functionSourceFile: /src/lmdb/libraries/liblmdb/mdb_dump.c
    functionUses: 4
    functionsReached:
    - memchr
    - getopt
    - mdb_env_open
    - printf
    - freopen
    - mdb_cursor_open
    - mdb_env_set_maxdbs
    - signal
    - mdb_cursor_get
    - free
    - mdb_cursor_close
    - mdb_strerror
    - mdb_txn_abort
    - strerror
    - mdb_open
    - usage
    - exit
    - mdb_txn_begin
    - mdb_env_create
    - malloc
    - dumpit
    - mdb_env_close
    - memcpy
    - mdb_close
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509cert.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509cert.c:81,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509cert.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509cert.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509cert.c:87,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509cert.c:88,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/x509cert.c:91,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/tests/x509cert.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:104,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:105,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/tests/x509cert.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:112,1
    - Dst: gnutls_certificate_get_issuer
      Src: /src/gnutls/tests/x509cert.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:117,1
    - Dst: gnutls_certificate_get_issuer
      Src: /src/gnutls/tests/x509cert.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:122,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/gnutls/tests/x509cert.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:127,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:128,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509cert.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509cert.c:136,1
    - Dst: gnutls_certificate_get_x509_key
      Src: /src/gnutls/tests/x509cert.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:142,1
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/tests/x509cert.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:147,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:151,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509cert.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:157,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509cert.c:158,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert.c:161,1
    - Dst: gnutls_x509_privkey_export
      Src: /src/gnutls/tests/x509cert.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:167,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509cert.c:169,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:171,1
    - Dst: gnutls_certificate_get_x509_crt
      Src: /src/gnutls/tests/x509cert.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:180,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509cert.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:186,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:191,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert.c:196,1
    - Dst: gnutls_certificate_get_trust_list
      Src: /src/gnutls/tests/x509cert.c:199,1
    - Dst: gnutls_x509_trust_list_iter_get_ca
      Src: /src/gnutls/tests/x509cert.c:203,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509cert.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:209,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:214,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:219,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:228,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/x509cert.c:230,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:232,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert.c:233,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:236,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509cert.c:237,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509cert.c:240,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/tests/x509cert.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:246,1
    - Dst: gnutls_certificate_set_x509_trust
      Src: /src/gnutls/tests/x509cert.c:249,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:251,1
    - Dst: gnutls_certificate_get_trust_list
      Src: /src/gnutls/tests/x509cert.c:254,1
    - Dst: gnutls_x509_trust_list_iter_get_ca
      Src: /src/gnutls/tests/x509cert.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:258,1
    - Dst: gnutls_x509_trust_list_iter_deinit
      Src: /src/gnutls/tests/x509cert.c:260,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509cert.c:262,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:265,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert.c:269,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:274,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert.c:275,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert.c:278,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509cert.c:280,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509cert.c:281,1
    - Dst: success
      Src: /src/gnutls/tests/x509cert.c:284,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 285
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509cert.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_get_x509_crt
    - gnutls_certificate_get_issuer
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_x509_crt_export2
    - gnutls_certificate_get_trust_list
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_x509_crt_get_dn
    - gnutls_x509_crt_list_import
    - memcmp
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - gnutls_x509_crt_deinit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_x509_privkey_export
    - gnutls_x509_trust_list_iter_get_ca
    - gnutls_x509_trust_list_iter_deinit
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_certificate_set_x509_trust
    - gnutls_certificate_get_x509_key
    - global_init
    - fprintf
    - fail
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:74,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:76,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - data
    - data_size
    argTypes:
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: dump
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, uint8_t *data, unsigned data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/mini-key-material.c:85,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-key-material.c:86,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 0
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-key-material.c:106,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-key-material.c:109,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-key-material.c:110,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-key-material.c:113,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-key-material.c:117,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-key-material.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-key-material.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:127,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-key-material.c:132,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-key-material.c:134,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-key-material.c:139,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-key-material.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:143,1
    - Dst: strerror
      Src: /src/gnutls/tests/mini-key-material.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/mini-key-material.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/mini-key-material.c:151,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-key-material.c:152,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-key-material.c:153,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/mini-key-material.c:155,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:157,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/mini-key-material.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:159,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/mini-key-material.c:162,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:164,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/mini-key-material.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:166,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/mini-key-material.c:174,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:177,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-key-material.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:179,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/mini-key-material.c:184,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:187,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-key-material.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:189,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:192,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:195,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/mini-key-material.c:198,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:201,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-key-material.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:203,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:206,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:207,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:209,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:213,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:214,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:215,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:217,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:222,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:223,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:224,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:225,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:226,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:231,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:233,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:238,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:239,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:240,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:244,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:246,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:250,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:251,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:252,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-key-material.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-key-material.c:259,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/mini-key-material.c:263,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:266,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-key-material.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:268,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:271,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:272,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:274,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/mini-key-material.c:277,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:280,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-key-material.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:282,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-key-material.c:285,1
    - Dst: dump
      Src: /src/gnutls/tests/mini-key-material.c:286,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-key-material.c:287,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:288,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-key-material.c:290,1
    - Dst: close
      Src: /src/gnutls/tests/mini-key-material.c:292,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-key-material.c:294,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-key-material.c:296,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-key-material.c:298,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 136
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 299
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 3
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_record_get_state
    - strerror
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - dump
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_prf
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/mini-key-material.c:308,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-key-material.c:312,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-key-material.c:315,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-key-material.c:316,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-key-material.c:319,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/mini-key-material.c:320,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/mini-key-material.c:321,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/mini-key-material.c:322,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-key-material.c:324,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-key-material.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:333,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-key-material.c:334,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-key-material.c:335,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-key-material.c:338,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-key-material.c:340,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-key-material.c:343,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-key-material.c:344,1
    - Dst: close
      Src: /src/gnutls/tests/mini-key-material.c:346,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-key-material.c:347,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:348,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-key-material.c:349,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-key-material.c:350,1
    - Dst: success
      Src: /src/gnutls/tests/mini-key-material.c:353,1
    - Dst: success
      Src: /src/gnutls/tests/mini-key-material.c:356,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-key-material.c:357,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-key-material.c:358,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-key-material.c:361,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:365,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-key-material.c:365,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-key-material.c:370,1
    - Dst: close
      Src: /src/gnutls/tests/mini-key-material.c:372,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-key-material.c:373,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-key-material.c:375,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/mini-key-material.c:376,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-key-material.c:378,1
    - Dst: success
      Src: /src/gnutls/tests/mini-key-material.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 382
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 382
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 14
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - close
    - gnutls_init
    - gnutls_anon_set_server_dh_params
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-key-material.c:389,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-key-material.c:391,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:392,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-key-material.c:395,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-key-material.c:397,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-key-material.c:398,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:399,1
    - Dst: server
      Src: /src/gnutls/tests/mini-key-material.c:406,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-key-material.c:407,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-key-material.c:408,1
    - Dst: close
      Src: /src/gnutls/tests/mini-key-material.c:410,1
    - Dst: client
      Src: /src/gnutls/tests/mini-key-material.c:411,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-key-material.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 414
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 61
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-key-material.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-key-material.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ext_send
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: int ext_send(gnutls_session_t session, gnutls_buffer_t extdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ext_recv
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_recv(gnutls_session_t session, const unsigned char *buf,\n\t\t
      \   size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:96,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:96,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:98,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:100,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:102,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:102,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:105,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:113,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:113,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:123,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:125,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:125,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:130,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:132,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:135,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:139,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:141,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:143,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:145,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - type
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 148
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_init
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_session_ext_register
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: parse_ext
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int parse_ext(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t
      \    unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:174,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:177,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - extno
    argTypes:
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: find_client_extension
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_ext_raw_parse
    - memset
    linkageType: ''
    returnType: unsigned
    signature: unsigned find_client_extension(const gnutls_datum_t *msg, int extno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:196,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:199,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:202,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:206,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - fail
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:221,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:221,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:225,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:225,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:226,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:226,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:230,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:230,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:234,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:234,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:235,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:238,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:239,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:239,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:244,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:246,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:249,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:253,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:255,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:256,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:258,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - fd
    - type
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 261
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 261
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 15
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_init
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:266,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:278,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:280,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:282,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:283,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:286,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:290,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:295,1
    - Dst: server
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:296,1
    - Dst: kill
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:299,1
    - Dst: client
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:300,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 62
    functionsReached:
    - success
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:307,1
    - Dst: start
      Src: /src/gnutls/tests/tls-ext-not-in-dtls.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-ext-not-in-dtls.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:40,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:42,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:45,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:48,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:52,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:57,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:61,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:67,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:72,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:77,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:83,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:87,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:91,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:95,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:99,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:105,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:113,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:118,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:125,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:129,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:133,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls12-cert-key-exchange.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 145
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls12-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - dtls_try_cli
    - global_init
    - dtls_try_with_key
    - dtls_try
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/crt_type-neg-common.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:71,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/crt_type-neg-common.c:71,1
    - Dst: success
      Src: /src/gnutls/tests/crt_type-neg-common.c:74,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:78,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/crt_type-neg-common.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:81,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/crt_type-neg-common.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:85,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/crt_type-neg-common.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:88,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/crt_type-neg-common.c:88,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/crt_type-neg-common.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:99,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:105,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:105,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/crt_type-neg-common.c:113,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/crt_type-neg-common.c:119,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:124,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:129,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:134,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:134,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/crt_type-neg-common.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:144,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/crt_type-neg-common.c:144,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/crt_type-neg-common.c:152,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/crt_type-neg-common.c:157,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/crt_type-neg-common.c:158,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/crt_type-neg-common.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:160,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/crt_type-neg-common.c:160,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/crt_type-neg-common.c:163,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/crt_type-neg-common.c:167,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/crt_type-neg-common.c:168,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/crt_type-neg-common.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:170,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/crt_type-neg-common.c:170,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/crt_type-neg-common.c:176,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/crt_type-neg-common.c:181,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:184,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:186,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:188,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/crt_type-neg-common.c:195,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:196,1
    - Dst: success
      Src: /src/gnutls/tests/crt_type-neg-common.c:198,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:199,1
    - Dst: success
      Src: /src/gnutls/tests/crt_type-neg-common.c:201,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:202,1
    - Dst: success
      Src: /src/gnutls/tests/crt_type-neg-common.c:204,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:213,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:215,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:222,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:224,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:231,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:233,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:240,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:242,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:250,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:252,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:259,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:261,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:268,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:270,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_type-neg-common.c:277,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:279,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/tests/crt_type-neg-common.c:281,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:286,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:287,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:289,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:290,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:292,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:293,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_type-neg-common.c:295,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/tests/crt_type-neg-common.c:296,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/crt_type-neg-common.c:302,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/crt_type-neg-common.c:303,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/crt_type-neg-common.c:304,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/crt_type-neg-common.c:305,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/crt_type-neg-common.c:307,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 100
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_case_st*
    constantsTouched: []
    func_position:
      end: 308
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 308
    functionName: try
    functionSourceFile: /src/gnutls/tests/crt_type-neg-common.c
    functionUses: 26
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_certificate_set_rawpk_key_mem
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_certificate_type_get_name
    - gnutls_certificate_type_get2
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(test_case_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/insecure_key.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/insecure_key.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/insecure_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/insecure_key.c:75,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/insecure_key.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/insecure_key.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/insecure_key.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/insecure_key.c:83,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/insecure_key.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/insecure_key.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/insecure_key.c:84,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/insecure_key.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/insecure_key.c:89,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/insecure_key.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/gnutls/tests/insecure_key.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/insecure_key.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/insecure_key.c:96,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/gnutls/tests/insecure_key.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/insecure_key.c:102,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/insecure_key.c:102,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/insecure_key.c:104,1
    - Dst: test_cli_serv_vf
      Src: /src/gnutls/tests/insecure_key.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/insecure_key.c:108,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/insecure_key.c:111,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/insecure_key.c:112,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/insecure_key.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/insecure_key.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 118
    functionName: doit
    functionSourceFile: /src/gnutls/tests/insecure_key.c
    functionUses: 0
    functionsReached:
    - test_cli_serv_vf
    - assert
    - gnutls_strerror
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_global_set_time_function
    - gnutls_certificate_set_x509_key_mem2
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-with-seccomp.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-with-seccomp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-with-seccomp.c:74,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-with-seccomp.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-with-seccomp.c:78,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-with-seccomp.c:81,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-with-seccomp.c:85,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-with-seccomp.c:86,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-with-seccomp.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-with-seccomp.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-with-seccomp.c:88,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-with-seccomp.c:90,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-with-seccomp.c:92,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-with-seccomp.c:97,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-with-seccomp.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:101,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-with-seccomp.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:103,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:106,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:110,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-with-seccomp.c:111,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-with-seccomp.c:112,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-with-seccomp.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:123,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-with-seccomp.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:124,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-with-seccomp.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-with-seccomp.c:130,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:135,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:137,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-with-seccomp.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 142
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 5
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-with-seccomp.c:150,1
    - Dst: kill
      Src: /src/gnutls/tests/tls-with-seccomp.c:151,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-with-seccomp.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 1
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-with-seccomp.c:165,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-with-seccomp.c:168,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-with-seccomp.c:169,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-with-seccomp.c:172,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-with-seccomp.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:177,1
    - Dst: disable_system_calls
      Src: /src/gnutls/tests/tls-with-seccomp.c:179,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-with-seccomp.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:182,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-with-seccomp.c:185,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-with-seccomp.c:186,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-with-seccomp.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-with-seccomp.c:188,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-with-seccomp.c:188,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-with-seccomp.c:190,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-with-seccomp.c:192,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-with-seccomp.c:195,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-with-seccomp.c:196,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:198,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:200,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-with-seccomp.c:201,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-with-seccomp.c:202,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:205,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:208,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-with-seccomp.c:209,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-with-seccomp.c:210,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-with-seccomp.c:215,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-with-seccomp.c:217,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:221,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-with-seccomp.c:224,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-with-seccomp.c:225,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-with-seccomp.c:228,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:230,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-with-seccomp.c:231,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:234,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:235,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-with-seccomp.c:237,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-with-seccomp.c:239,1
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 243
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 243
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 16
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - disable_system_calls
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-with-seccomp.c:250,1
    - Dst: signal
      Src: /src/gnutls/tests/tls-with-seccomp.c:251,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-with-seccomp.c:253,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-with-seccomp.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:256,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-with-seccomp.c:259,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-with-seccomp.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-with-seccomp.c:262,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:263,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:270,1
    - Dst: client
      Src: /src/gnutls/tests/tls-with-seccomp.c:271,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-with-seccomp.c:273,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-with-seccomp.c:274,1
    - Dst: close
      Src: /src/gnutls/tests/tls-with-seccomp.c:276,1
    - Dst: server
      Src: /src/gnutls/tests/tls-with-seccomp.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-with-seccomp.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 280
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 280
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 5
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/tls-with-seccomp.c:284,1
    - Dst: run
      Src: /src/gnutls/tests/tls-with-seccomp.c:285,1
    - Dst: run
      Src: /src/gnutls/tests/tls-with-seccomp.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/keylog-func.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/keylog-func.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:86,1
    - Dst: strcmp
      Src: /src/gnutls/tests/keylog-func.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:89,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - session
    - label
    - secret
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: keylog_func
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 0
    functionsReached:
    - success
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int keylog_func(gnutls_session_t session, const char *label,\n\t\t
      \      const gnutls_datum_t *secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/keylog-func.c:107,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/keylog-func.c:110,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/keylog-func.c:111,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/keylog-func.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/keylog-func.c:118,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/keylog-func.c:120,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/keylog-func.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-func.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:127,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/keylog-func.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:133,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/keylog-func.c:135,1
    - Dst: gnutls_session_set_keylog_function
      Src: /src/gnutls/tests/keylog-func.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/keylog-func.c:138,1
    - Dst: gnutls_session_get_keylog_function
      Src: /src/gnutls/tests/keylog-func.c:138,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/keylog-func.c:143,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/keylog-func.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-func.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:150,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:154,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/keylog-func.c:155,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/keylog-func.c:156,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/keylog-func.c:158,1
    - Dst: strlen
      Src: /src/gnutls/tests/keylog-func.c:158,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/keylog-func.c:161,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-func.c:167,1
    - Dst: printf
      Src: /src/gnutls/tests/keylog-func.c:171,1
    - Dst: fputc
      Src: /src/gnutls/tests/keylog-func.c:173,1
    - Dst: fputs
      Src: /src/gnutls/tests/keylog-func.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:179,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/keylog-func.c:182,1
    - Dst: close
      Src: /src/gnutls/tests/keylog-func.c:184,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/keylog-func.c:186,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/keylog-func.c:188,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/keylog-func.c:190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - fd
    - prio
    - exp_call_count
    argTypes:
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 191
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 191
    functionName: client
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 6
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_session_set_keylog_function
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - strlen
    - gnutls_session_get_keylog_function
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned int exp_call_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/keylog-func.c:203,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/keylog-func.c:206,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/keylog-func.c:207,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/keylog-func.c:210,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/keylog-func.c:212,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/keylog-func.c:214,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/keylog-func.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:224,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-func.c:225,1
    - Dst: terminate
      Src: /src/gnutls/tests/keylog-func.c:226,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/keylog-func.c:229,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/keylog-func.c:231,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/keylog-func.c:233,1
    - Dst: gnutls_session_set_keylog_function
      Src: /src/gnutls/tests/keylog-func.c:235,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/keylog-func.c:238,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/keylog-func.c:239,1
    - Dst: close
      Src: /src/gnutls/tests/keylog-func.c:241,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/keylog-func.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-func.c:244,1
    - Dst: terminate
      Src: /src/gnutls/tests/keylog-func.c:245,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:248,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:251,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/keylog-func.c:252,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/keylog-func.c:253,1
    - Dst: memset
      Src: /src/gnutls/tests/keylog-func.c:255,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/keylog-func.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:265,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/keylog-func.c:269,1
    - Dst: strlen
      Src: /src/gnutls/tests/keylog-func.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:273,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/keylog-func.c:278,1
    - Dst: close
      Src: /src/gnutls/tests/keylog-func.c:280,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/keylog-func.c:281,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/keylog-func.c:283,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/keylog-func.c:285,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-func.c:288,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - fd
    - prio
    - exp_call_count
    argTypes:
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 289
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 289
    functionName: server
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 17
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_session_set_keylog_function
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned int exp_call_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/keylog-func.c:296,1
    - Dst: wait
      Src: /src/gnutls/tests/keylog-func.c:297,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 3
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/keylog-func.c:307,1
    - Dst: socketpair
      Src: /src/gnutls/tests/keylog-func.c:309,1
    - Dst: perror
      Src: /src/gnutls/tests/keylog-func.c:311,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:312,1
    - Dst: fork
      Src: /src/gnutls/tests/keylog-func.c:315,1
    - Dst: perror
      Src: /src/gnutls/tests/keylog-func.c:317,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-func.c:318,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:319,1
    - Dst: server
      Src: /src/gnutls/tests/keylog-func.c:326,1
    - Dst: wait
      Src: /src/gnutls/tests/keylog-func.c:327,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/keylog-func.c:328,1
    - Dst: close
      Src: /src/gnutls/tests/keylog-func.c:330,1
    - Dst: client
      Src: /src/gnutls/tests/keylog-func.c:331,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-func.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - prio
    - exp_call_count
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 334
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 334
    functionName: run
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 6
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *prio, unsigned int exp_call_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/keylog-func.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: doit
    functionSourceFile: /src/gnutls/tests/keylog-func.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls10-cipher-neg.c:114,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls10-cipher-neg.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls10-cipher-neg.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify.c:97,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify.c:103,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify.c:104,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/sign-verify.c:114,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:116,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/sign-verify.c:118,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:121,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify.c:123,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:125,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify.c:127,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:129,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/sign-verify.c:131,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:133,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify.c:135,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:139,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/sign-verify.c:141,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:145,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/sign-verify.c:147,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:149,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/sign-verify.c:151,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:154,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/sign-verify.c:156,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:158,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:160,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:165,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:167,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:172,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:176,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:181,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify.c:184,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify.c:185,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:188,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:192,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:196,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:200,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify.c:204,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify.c:206,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify.c:208,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify.c:214,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify.c:216,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify.c:217,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:220,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:225,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify.c:228,1
    - Dst: gnutls_privkey_sign_raw_data
      Src: /src/gnutls/tests/sign-verify.c:230,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify.c:234,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify.c:236,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify.c:241,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify.c:244,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify.c:245,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/sign-verify.c:246,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/sign-verify.c:247,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify.c:248,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify.c:249,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify.c:252,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 253
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_verify_hash2
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_import_x509
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pk_to_sign
    - gnutls_privkey_sign_data
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_sign_hash
    - testfail
    - success
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_sign_algorithm_get_name
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_x509_privkey_import
    - gnutls_privkey_sign_raw_data
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_strerror
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tlsext-decoding.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tlsext-decoding.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/tlsext-decoding.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 117
    functionName: odd_push
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tlsext-decoding.c:128,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tlsext-decoding.c:131,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tlsext-decoding.c:132,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tlsext-decoding.c:135,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tlsext-decoding.c:139,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tlsext-decoding.c:140,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tlsext-decoding.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsext-decoding.c:142,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tlsext-decoding.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tlsext-decoding.c:144,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tlsext-decoding.c:146,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tlsext-decoding.c:147,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tlsext-decoding.c:152,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tlsext-decoding.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/tlsext-decoding.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:157,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:160,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tlsext-decoding.c:162,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tlsext-decoding.c:164,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tlsext-decoding.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 167
    functionName: client
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 7
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tlsext-decoding.c:175,1
    - Dst: kill
      Src: /src/gnutls/tests/tlsext-decoding.c:176,1
    - Dst: wait
      Src: /src/gnutls/tests/tlsext-decoding.c:177,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 3
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tlsext-decoding.c:189,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tlsext-decoding.c:192,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tlsext-decoding.c:193,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tlsext-decoding.c:196,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tlsext-decoding.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:201,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tlsext-decoding.c:203,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tlsext-decoding.c:204,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tlsext-decoding.c:204,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsext-decoding.c:209,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tlsext-decoding.c:209,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tlsext-decoding.c:211,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tlsext-decoding.c:213,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tlsext-decoding.c:216,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tlsext-decoding.c:217,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:220,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tlsext-decoding.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/tlsext-decoding.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tlsext-decoding.c:223,1
    - Dst: terminate
      Src: /src/gnutls/tests/tlsext-decoding.c:224,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:227,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tlsext-decoding.c:228,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tlsext-decoding.c:230,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tlsext-decoding.c:232,1
    - Dst: success
      Src: /src/gnutls/tests/tlsext-decoding.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 236
    functionName: server
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 18
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tlsext-decoding.c:243,1
    - Dst: signal
      Src: /src/gnutls/tests/tlsext-decoding.c:244,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tlsext-decoding.c:246,1
    - Dst: perror
      Src: /src/gnutls/tests/tlsext-decoding.c:248,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:249,1
    - Dst: fork
      Src: /src/gnutls/tests/tlsext-decoding.c:252,1
    - Dst: perror
      Src: /src/gnutls/tests/tlsext-decoding.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/tlsext-decoding.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:256,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:263,1
    - Dst: server
      Src: /src/gnutls/tests/tlsext-decoding.c:264,1
    - Dst: wait
      Src: /src/gnutls/tests/tlsext-decoding.c:266,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tlsext-decoding.c:267,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/tlsext-decoding.c:270,1
    - Dst: client
      Src: /src/gnutls/tests/tlsext-decoding.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/tlsext-decoding.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 274
    functionName: start
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 63
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tlsext-decoding.c:278,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:279,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:280,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:281,1
    - Dst: success
      Src: /src/gnutls/tests/tlsext-decoding.c:283,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:285,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:286,1
    - Dst: start
      Src: /src/gnutls/tests/tlsext-decoding.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tlsext-decoding.c
    functionUses: 0
    functionsReached:
    - success
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-set-prio.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:65,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:65,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:67,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:72,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:76,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:78,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:81,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:81,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:85,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:86,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:90,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:97,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:101,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:102,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:103,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:105,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:112,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:115,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:118,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:118,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:121,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:125,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:126,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:128,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:129,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:131,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:132,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 135
    functionName: test_rehandshake
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-set-prio.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_init
    - HANDSHAKE
    linkageType: ''
    returnType: void
    signature: void test_rehandshake(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-set-prio.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-set-prio.c
    functionUses: 0
    functionsReached:
    - test_rehandshake
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/parse_ca.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/parse_ca.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/parse_ca.c:68,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/parse_ca.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/parse_ca.c:73,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/parse_ca.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/parse_ca.c:81,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/parse_ca.c:83,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/parse_ca.c:85,1
    - Dst: success
      Src: /src/gnutls/tests/parse_ca.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: doit
    functionSourceFile: /src/gnutls/tests/parse_ca.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_trust_mem
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/global-init-override.c:52,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/tests/global-init-override.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sans
    argTypes:
    - gnutls_subject_alt_names_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: gnutls_subject_alt_names_init
    functionSourceFile: /src/gnutls/tests/global-init-override.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t *sans)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/global-init-override.c:70,1
    - Dst: exit
      Src: /src/gnutls/tests/global-init-override.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init-override.c:75,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init-override.c:78,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/global-init-override.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init-override.c:82,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/global-init-override.c:84,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init-override.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: doit
    functionSourceFile: /src/gnutls/tests/global-init-override.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - gnutls_global_init
    - fail
    linkageType: ''
    returnType: GNUTLS_SKIP_GLOBAL_INIT
    signature: GNUTLS_SKIP_GLOBAL_INIT doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:38,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:44,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:48,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:49,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:50,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_pkcs12_key.c
    functionUses: 14
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:65,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:66,1
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:70,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:76,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:77,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:81,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:82,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:82,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:87,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:89,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:95,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:95,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:96,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:97,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:102,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:103,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:109,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:112,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:114,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:116,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:119,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:120,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_pkcs12_key.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 122
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_pkcs12_key.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_get_crt_raw
    - gnutls_certificate_free_credentials
    - compare
    - fclose
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - exit
    - assert
    - strlen
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - remove
    - gnutls_strerror
    - fwrite
    - gnutls_fips140_mode_enabled
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:60,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:63,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:64,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:66,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:69,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:70,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:72,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:73,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:74,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:76,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:77,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:78,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:81,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:82,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:83,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:84,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:85,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:86,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:87,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:89,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:92,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:94,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:96,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:97,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:98,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:107,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:111,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:113,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:114,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:116,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:117,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:119,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:120,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:122,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 125
    functionName: server_initiated_handshake
    functionSourceFile: /src/gnutls/tests/tls13-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server_initiated_handshake(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:140,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:143,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:144,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:146,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:149,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:150,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:152,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:153,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:154,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:156,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:157,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:158,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:161,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:162,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:163,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:164,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:165,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:166,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:167,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:169,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:172,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:174,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:176,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:178,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:179,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:181,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:182,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:184,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:185,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:187,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 190
    functionName: client_initiated_handshake
    functionSourceFile: /src/gnutls/tests/tls13-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client_initiated_handshake(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_initiated_handshake
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:194,1
    - Dst: client_initiated_handshake
      Src: /src/gnutls/tests/tls13-rehandshake-cert.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - client_initiated_handshake
    - server_initiated_handshake
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:41,1
    - Dst: try_x509
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:42,1
    - Dst: try_x509
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:45,1
    - Dst: try_x509
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:49,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:52,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:56,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:61,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:65,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:69,1
    - Dst: exit
      Src: /src/gnutls/tests/ssl30-cert-key-exchange.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ssl30-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_global_deinit
    - global_init
    - try_x509
    - try_x509_cli
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-psk-id.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:50,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-psk-id.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:67,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:78,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:80,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:83,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:85,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:87,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:88,1
    - Dst: gnutls_psk_set_server_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:89,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:95,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:97,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:98,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:99,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:100,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:106,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:108,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:113,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:115,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:124,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:128,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:130,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:131,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:132,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:134,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:137,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:138,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:138,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:140,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:146,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:149,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:151,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:155,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:156,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:158,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:159,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:160,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - prio
    - kx
    - allow_change
    argTypes:
    - char*
    - gnutls_kx_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 162
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 162
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-psk-id.c
    functionUses: 26
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - exit
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_set_server_dh_params
    - gnutls_kx_get_name
    - gnutls_psk_free_client_credentials
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_psk_set_client_credentials
    - gnutls_psk_allocate_client_credentials
    - gnutls_psk_set_server_credentials_function
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: "void try(const char *prio, gnutls_kx_algorithm_t kx,\n\t\tunsigned
      allow_change)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:166,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:170,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:173,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:176,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:180,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:183,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:186,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-psk-id.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 188
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-psk-id.c
    functionUses: 0
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/psk-file.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnutls/tests/psk-file.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: hexchar
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: char hexchar(unsigned int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hexchar
      Src: /src/gnutls/tests/psk-file.c:77,1
    - Dst: hexchar
      Src: /src/gnutls/tests/psk-file.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - bufsize
    - dest
    - destsize
    argTypes:
    - void*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: hex_encode
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 4
    functionsReached:
    - hexchar
    linkageType: ''
    returnType: bool
    signature: "bool hex_encode(const void *buf, size_t bufsize, char *dest,\n\t\t
      \      size_t destsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/psk-file.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/psk-file.c:110,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/psk-file.c:111,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/psk-file.c:113,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/psk-file.c:117,1
    - Dst: gnutls_psk_set_client_credentials2
      Src: /src/gnutls/tests/psk-file.c:120,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/psk-file.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/psk-file.c:128,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/psk-file.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/psk-file.c:131,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/psk-file.c:131,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/psk-file.c:135,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/psk-file.c:137,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/psk-file.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:154,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/psk-file.c:159,1
    - Dst: strcmp
      Src: /src/gnutls/tests/psk-file.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:161,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/psk-file.c:162,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/psk-file.c:167,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-file.c:167,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/psk-file.c:169,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:175,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/psk-file.c:179,1
    - Dst: printf
      Src: /src/gnutls/tests/psk-file.c:182,1
    - Dst: fputc
      Src: /src/gnutls/tests/psk-file.c:184,1
    - Dst: fputs
      Src: /src/gnutls/tests/psk-file.c:186,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/psk-file.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:195,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/psk-file.c:196,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/psk-file.c:196,1
    - Dst: close
      Src: /src/gnutls/tests/psk-file.c:201,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/psk-file.c:203,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/psk-file.c:205,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/psk-file.c:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 8
    argNames:
    - sd
    - prio
    - user
    - key
    - expect_hint
    - expect_fail
    - exp_kx
    - binary_user
    argTypes:
    - int
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 208
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 208
    functionName: client
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 8
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_psk_client_get_hint
    - gnutls_bye
    - strcmp
    - gnutls_record_recv
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_psk_set_client_credentials2
    - global_init
    - gnutls_handshake
    - gnutls_psk_allocate_client_credentials
    - gnutls_kx_get
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int sd, const char *prio, const gnutls_datum_t *user,\n\t\t
      \  const gnutls_datum_t *key, unsigned expect_hint,\n\t\t   int expect_fail,
      int exp_kx, unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/psk-file.c:230,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/psk-file.c:231,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/psk-file.c:233,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/psk-file.c:240,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/tests/psk-file.c:241,1
    - Dst: gnutls_psk_set_server_credentials_file
      Src: /src/gnutls/tests/psk-file.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:245,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/psk-file.c:249,1
    - Dst: assert
      Src: /src/gnutls/tests/psk-file.c:251,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/psk-file.c:251,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/psk-file.c:254,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/psk-file.c:256,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/psk-file.c:257,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/tests/psk-file.c:260,1
    - Dst: gnutls_session_force_valid
      Src: /src/gnutls/tests/psk-file.c:265,1
    - Dst: gnutls_record_recv_seq
      Src: /src/gnutls/tests/psk-file.c:266,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:272,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:273,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:274,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:279,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:281,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/psk-file.c:282,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:287,1
    - Dst: memset
      Src: /src/gnutls/tests/psk-file.c:293,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/psk-file.c:294,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/psk-file.c:295,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:302,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/psk-file.c:308,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-file.c:308,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/psk-file.c:312,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/tests/psk-file.c:314,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:315,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/psk-file.c:316,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/psk-file.c:319,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:322,1
    - Dst: gnutls_psk_server_get_username2
      Src: /src/gnutls/tests/psk-file.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:330,1
    - Dst: memcmp
      Src: /src/gnutls/tests/psk-file.c:332,1
    - Dst: hex_encode
      Src: /src/gnutls/tests/psk-file.c:334,1
    - Dst: hex_encode
      Src: /src/gnutls/tests/psk-file.c:336,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:338,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/tests/psk-file.c:342,1
    - Dst: strcmp
      Src: /src/gnutls/tests/psk-file.c:344,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:345,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:352,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/psk-file.c:353,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/psk-file.c:353,1
    - Dst: close
      Src: /src/gnutls/tests/psk-file.c:357,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/psk-file.c:358,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/psk-file.c:360,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/psk-file.c:362,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:365,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 7
    argNames:
    - sd
    - prio
    - user
    - no_cred
    - expect_fail
    - exp_kx
    - binary_user
    argTypes:
    - int
    - char*
    - gnutls_datum_t*
    - bool
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 366
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 366
    functionName: server
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 19
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_psk_server_get_username
    - strcmp
    - gnutls_record_recv
    - gnutls_psk_set_server_credentials_file
    - gnutls_global_set_log_function
    - hex_encode
    - gnutls_record_recv_seq
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_alert_send_appropriate
    - memcmp
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_session_force_valid
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_psk_set_server_credentials_hint
    - gnutls_psk_server_get_username2
    - gnutls_handshake
    - global_init
    - gnutls_session_get_desc
    - gnutls_record_set_timeout
    - gnutls_kx_get
    - fail
    linkageType: ''
    returnType: void
    signature: "void server(int sd, const char *prio, const gnutls_datum_t *user,\n\t\t
      \  bool no_cred, int expect_fail, int exp_kx,\n\t\t   unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_encode
      Src: /src/gnutls/tests/psk-file.c:374,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:375,1
    - Dst: success
      Src: /src/gnutls/tests/psk-file.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - caption
    - prio
    - user
    - binary_user
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: print_user
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - hex_encode
    - success
    linkageType: ''
    returnType: void
    signature: "void print_user(const char *caption, const char *prio,\n\t\t       const
      gnutls_datum_t *user, unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/psk-file.c:391,1
    - Dst: print_user
      Src: /src/gnutls/tests/psk-file.c:394,1
    - Dst: print_user
      Src: /src/gnutls/tests/psk-file.c:396,1
    - Dst: socketpair
      Src: /src/gnutls/tests/psk-file.c:398,1
    - Dst: perror
      Src: /src/gnutls/tests/psk-file.c:400,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:401,1
    - Dst: fork
      Src: /src/gnutls/tests/psk-file.c:405,1
    - Dst: perror
      Src: /src/gnutls/tests/psk-file.c:407,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-file.c:408,1
    - Dst: close
      Src: /src/gnutls/tests/psk-file.c:413,1
    - Dst: server
      Src: /src/gnutls/tests/psk-file.c:416,1
    - Dst: wait
      Src: /src/gnutls/tests/psk-file.c:418,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/psk-file.c:419,1
    - Dst: close
      Src: /src/gnutls/tests/psk-file.c:421,1
    - Dst: client
      Src: /src/gnutls/tests/psk-file.c:422,1
    - Dst: exit
      Src: /src/gnutls/tests/psk-file.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 10
    argNames:
    - prio
    - sprio
    - user
    - key
    - no_cred
    - expect_hint
    - exp_kx
    - expect_fail_cli
    - expect_fail_serv
    - binary_user
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - bool
    - unsigned
    - int
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 426
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 426
    functionName: run_test3
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - print_user
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void run_test3(const char *prio, const char *sprio,\n\t\t      const
      gnutls_datum_t *user, const gnutls_datum_t *key,\n\t\t      bool no_cred, unsigned
      expect_hint, int exp_kx,\n\t\t      int expect_fail_cli, int expect_fail_serv,\n\t\t
      \     unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test3
      Src: /src/gnutls/tests/psk-file.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - prio
    - sprio
    - user
    - key
    - expect_hint
    - exp_kx
    - expect_fail_cli
    - expect_fail_serv
    - binary_user
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: run_test2
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - run_test3
    linkageType: ''
    returnType: void
    signature: "void run_test2(const char *prio, const char *sprio,\n\t\t      const
      gnutls_datum_t *user, const gnutls_datum_t *key,\n\t\t      unsigned expect_hint,
      int exp_kx, int expect_fail_cli,\n\t\t      int expect_fail_serv, unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - prio
    - user
    - key
    - expect_hint
    - expect_fail
    - binary_user
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 4
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: run_test_ok
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - run_test2
    linkageType: ''
    returnType: void
    signature: "void run_test_ok(const char *prio, const gnutls_datum_t *user,\n\t\t\tconst
      gnutls_datum_t *key, unsigned expect_hint,\n\t\t\tint expect_fail, unsigned
      binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - prio
    - user
    - key
    - expect_hint
    - expect_fail
    - binary_user
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: run_ectest_ok
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - run_test2
    linkageType: ''
    returnType: void
    signature: "void run_ectest_ok(const char *prio, const gnutls_datum_t *user,\n\t\t\t
      \ const gnutls_datum_t *key, unsigned expect_hint,\n\t\t\t  int expect_fail,
      unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - prio
    - user
    - key
    - expect_hint
    - expect_fail
    - binary_user
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: run_dhtest_ok
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - run_test2
    linkageType: ''
    returnType: void
    signature: "void run_dhtest_ok(const char *prio, const gnutls_datum_t *user,\n\t\t\t
      \ const gnutls_datum_t *key, unsigned expect_hint,\n\t\t\t  int expect_fail,
      unsigned binary_user)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/psk-file.c:465,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-file.c:467,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-file.c:469,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:481,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:483,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:485,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:487,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:489,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:491,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:493,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:495,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:497,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:499,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:501,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:503,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:505,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:508,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:511,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:514,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:517,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:520,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:524,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:526,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:527,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:528,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:529,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:530,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:533,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:536,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:539,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:542,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:545,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:548,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:550,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:552,1
    - Dst: run_dhtest_ok
      Src: /src/gnutls/tests/psk-file.c:554,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:556,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:558,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:560,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:562,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:566,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:569,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:572,1
    - Dst: run_ectest_ok
      Src: /src/gnutls/tests/psk-file.c:575,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:578,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:581,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:584,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:587,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:590,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:594,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:598,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:602,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:607,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:611,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:615,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:619,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:624,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:626,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:628,1
    - Dst: run_test_ok
      Src: /src/gnutls/tests/psk-file.c:630,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:633,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:637,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:641,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:645,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:649,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:653,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:657,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:661,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:667,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:670,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:673,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:676,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:679,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:682,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:687,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:691,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:695,1
    - Dst: run_test2
      Src: /src/gnutls/tests/psk-file.c:699,1
    - Dst: run_test3
      Src: /src/gnutls/tests/psk-file.c:705,1
    - Dst: run_test3
      Src: /src/gnutls/tests/psk-file.c:708,1
    - Dst: run_test3
      Src: /src/gnutls/tests/psk-file.c:711,1
    - Dst: run_test3
      Src: /src/gnutls/tests/psk-file.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 717
    functionName: doit
    functionSourceFile: /src/gnutls/tests/psk-file.c
    functionUses: 0
    functionsReached:
    - run_dhtest_ok
    - strlen
    - run_ectest_ok
    - run_test3
    - run_test_ok
    - run_test2
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-retvals.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-retvals.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-retvals.c:121,1
    - Dst: memset
      Src: /src/gnutls/tests/record-retvals.c:122,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-retvals.c:125,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-retvals.c:126,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/record-retvals.c:129,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-retvals.c:130,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-retvals.c:134,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-retvals.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:140,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-retvals.c:145,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-retvals.c:146,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-retvals.c:148,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-retvals.c:153,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-retvals.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:157,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:166,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/record-retvals.c:167,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/record-retvals.c:168,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-retvals.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:185,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-retvals.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:197,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:200,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:202,1
    - Dst: memset
      Src: /src/gnutls/tests/record-retvals.c:205,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-retvals.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:210,1
    - Dst: memset
      Src: /src/gnutls/tests/record-retvals.c:213,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/record-retvals.c:214,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-retvals.c:219,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:229,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:229,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:230,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-retvals.c:234,1
    - Dst: close
      Src: /src/gnutls/tests/record-retvals.c:238,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-retvals.c:240,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/record-retvals.c:242,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-retvals.c:243,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-retvals.c:245,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 246
    functionName: client
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 9
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/record-retvals.c:253,1
    - Dst: kill
      Src: /src/gnutls/tests/record-retvals.c:254,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 4
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-retvals.c:270,1
    - Dst: memset
      Src: /src/gnutls/tests/record-retvals.c:271,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-retvals.c:274,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-retvals.c:275,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-retvals.c:278,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/record-retvals.c:279,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/record-retvals.c:282,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-retvals.c:284,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-retvals.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:292,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-retvals.c:295,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-retvals.c:296,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-retvals.c:298,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-retvals.c:301,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-retvals.c:302,1
    - Dst: close
      Src: /src/gnutls/tests/record-retvals.c:304,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-retvals.c:305,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:306,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:307,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-retvals.c:308,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:311,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:314,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/record-retvals.c:315,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/record-retvals.c:316,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-retvals.c:326,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:332,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:340,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:340,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:341,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-retvals.c:347,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:351,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:352,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-retvals.c:353,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-retvals.c:360,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:364,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-retvals.c:365,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-retvals.c:366,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:368,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-retvals.c:370,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-retvals.c:375,1
    - Dst: close
      Src: /src/gnutls/tests/record-retvals.c:377,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-retvals.c:378,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/record-retvals.c:380,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-retvals.c:381,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-retvals.c:383,1
    - Dst: success
      Src: /src/gnutls/tests/record-retvals.c:386,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 387
    functionName: server
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 20
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/record-retvals.c:394,1
    - Dst: perror
      Src: /src/gnutls/tests/record-retvals.c:396,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:397,1
    - Dst: fork
      Src: /src/gnutls/tests/record-retvals.c:400,1
    - Dst: perror
      Src: /src/gnutls/tests/record-retvals.c:402,1
    - Dst: fail
      Src: /src/gnutls/tests/record-retvals.c:403,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:404,1
    - Dst: close
      Src: /src/gnutls/tests/record-retvals.c:409,1
    - Dst: server
      Src: /src/gnutls/tests/record-retvals.c:410,1
    - Dst: close
      Src: /src/gnutls/tests/record-retvals.c:412,1
    - Dst: client
      Src: /src/gnutls/tests/record-retvals.c:413,1
    - Dst: exit
      Src: /src/gnutls/tests/record-retvals.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - prio
    - ign
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 416
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 416
    functionName: start
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 64
    functionsReached:
    - exit
    - fork
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/record-retvals.c:438,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/record-retvals.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/record-retvals.c:445,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:447,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:448,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:449,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:450,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/record-retvals.c:452,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:453,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:455,1
    - Dst: start
      Src: /src/gnutls/tests/record-retvals.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-retvals.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:59,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:61,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - buf
    - buf_size
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: dump
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, unsigned char *buf, int buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_export_x509
      Src: /src/gnutls/tests/key-import-export.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/key-import-export.c:157,1
    - Dst: gnutls_x509_privkey_fix
      Src: /src/gnutls/tests/key-import-export.c:157,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:159,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - key
    - f
    - password
    - flags
    - out
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: _gnutls_privkey_export2_pkcs8
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_privkey_export_x509
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_fix
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_export2_pkcs8(gnutls_privkey_t key,\n\t\t\t\t\t
      gnutls_x509_crt_fmt_t f,\n\t\t\t\t\t const char *password, unsigned flags,\n\t\t\t\t\t
      gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:170,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:171,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:173,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-import-export.c:176,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:177,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:178,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - name
    - line
    - v1
    - v2
    - size
    argTypes:
    - char*
    - int
    - gnutls_datum_t*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: cmp
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 309
    functionsReached:
    - exit
    - dump
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cmp(const char *name, int line, gnutls_datum_t *v1,\n\t       unsigned
      char *v2, unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:200,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:201,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:203,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-import-export.c:206,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:207,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:208,1
    - Dst: dump
      Src: /src/gnutls/tests/key-import-export.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - name
    - line
    - v1
    - i2
    - size
    argTypes:
    - char*
    - int
    - gnutls_datum_t*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: cmp_no_lz
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - exit
    - dump
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cmp_no_lz(const char *name, int line, gnutls_datum_t *v1,\n\t\t
      \    unsigned char *i2, unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-import-export.c:223,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:227,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/key-import-export.c:229,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:231,1
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/tests/key-import-export.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:235,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:237,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:238,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:239,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:240,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:241,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:242,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:243,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:244,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:245,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:246,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:247,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:252,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/key-import-export.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:256,1
    - Dst: gnutls_x509_privkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:261,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:263,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:264,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:265,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:266,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:267,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:268,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:269,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:270,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:271,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:272,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:273,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:274,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:275,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:276,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:277,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:278,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:279,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:284,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/key-import-export.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:289,1
    - Dst: gnutls_x509_privkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:293,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:297,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:299,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:300,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:301,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:302,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:303,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:304,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 308
    functionName: check_x509_privkey
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_privkey_export_rsa_raw2
    - gnutls_x509_privkey_export_ecc_raw
    - exit
    - CMP
    - global_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    - gnutls_x509_privkey_export_dsa_raw
    linkageType: ''
    returnType: int
    signature: int check_x509_privkey(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-import-export.c:331,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:333,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:335,1
    - Dst: gnutls_privkey_import_dsa_raw
      Src: /src/gnutls/tests/key-import-export.c:337,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:340,1
    - Dst: gnutls_privkey_export_dsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:342,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:344,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-import-export.c:344,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:346,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:347,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:348,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:349,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:350,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:351,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:352,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:353,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:354,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:355,1
    - Dst: gnutls_privkey_export_dsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:357,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:360,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-import-export.c:360,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:362,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:363,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:364,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:365,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:366,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:367,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:368,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:369,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:370,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:371,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:372,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:375,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:377,1
    - Dst: gnutls_privkey_import_dsa_raw
      Src: /src/gnutls/tests/key-import-export.c:379,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:382,1
    - Dst: gnutls_privkey_export_dsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:384,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:386,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-import-export.c:386,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:388,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:389,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:390,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:391,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:392,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:393,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:394,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:395,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:396,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:397,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:398,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:404,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:406,1
    - Dst: gnutls_privkey_import_rsa_raw
      Src: /src/gnutls/tests/key-import-export.c:408,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:414,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:416,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:420,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:422,1
    - Dst: gnutls_privkey_import_rsa_raw
      Src: /src/gnutls/tests/key-import-export.c:424,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:427,1
    - Dst: gnutls_privkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:429,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:432,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:434,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:435,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:436,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:437,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:438,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:439,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:440,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:441,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:442,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:443,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:444,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:445,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:446,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:447,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:448,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:449,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:451,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:453,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:455,1
    - Dst: gnutls_privkey_import_rsa_raw
      Src: /src/gnutls/tests/key-import-export.c:458,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:462,1
    - Dst: gnutls_privkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:464,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:467,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:469,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:470,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:471,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:472,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:473,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:474,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:475,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:476,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:477,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:478,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:479,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:480,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:481,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:482,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:483,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:484,1
    - Dst: gnutls_privkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:486,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:489,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:491,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:492,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:493,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:494,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:495,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:496,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:497,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:498,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:499,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:500,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:501,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:502,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:503,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:504,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:505,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:506,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:507,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:510,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:512,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:514,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:517,1
    - Dst: gnutls_privkey_export_ecc_raw2
      Src: /src/gnutls/tests/key-import-export.c:519,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:521,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:524,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:525,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:527,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:528,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:529,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:530,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:531,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:532,1
    - Dst: gnutls_privkey_export_ecc_raw2
      Src: /src/gnutls/tests/key-import-export.c:534,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:537,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:540,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:541,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:543,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:544,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:545,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:546,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:547,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:548,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:549,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:552,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:554,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:557,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:560,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:562,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:565,1
    - Dst: gnutls_privkey_verify_params
      Src: /src/gnutls/tests/key-import-export.c:567,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:569,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-import-export.c:569,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:571,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:573,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:576,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:578,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:579,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:580,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:581,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:582,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:585,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:587,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:589,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:593,1
    - Dst: gnutls_privkey_verify_params
      Src: /src/gnutls/tests/key-import-export.c:595,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:597,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-import-export.c:597,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:599,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:603,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:605,1
    - Dst: gnutls_privkey_import_gost_raw
      Src: /src/gnutls/tests/key-import-export.c:607,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:612,1
    - Dst: gnutls_privkey_export_gost_raw2
      Src: /src/gnutls/tests/key-import-export.c:614,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:617,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:620,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:621,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:624,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:625,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:628,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:630,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:632,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:633,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:634,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:635,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:636,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:637,1
    - Dst: gnutls_privkey_export_gost_raw2
      Src: /src/gnutls/tests/key-import-export.c:639,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:643,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:646,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:647,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:650,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:651,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:654,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:656,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:658,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:659,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:660,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:661,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:662,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:663,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:664,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 251
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 668
    functionName: check_privkey_import_export
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_export_gost_raw2
    - CMP_NO_LZ
    - gnutls_privkey_import_dsa_raw
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_privkey_verify_params
    - gnutls_privkey_export_dsa_raw2
    - gnutls_privkey_export_ecc_raw2
    - exit
    - CMP
    - gnutls_privkey_import_rsa_raw
    - gnutls_strerror
    - gnutls_free
    - gnutls_privkey_import_gost_raw
    - global_init
    - gnutls_privkey_import_ecc_raw
    - gnutls_privkey_export_ecc_raw
    - gnutls_privkey_export_rsa_raw2
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int check_privkey_import_export(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-import-export.c:677,1
    - Dst: success
      Src: /src/gnutls/tests/key-import-export.c:679,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:681,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:683,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/key-import-export.c:685,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:687,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-import-export.c:689,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:692,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/key-import-export.c:694,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:696,1
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:698,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:700,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:702,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:703,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:704,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:705,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:706,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:707,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:708,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:709,1
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:711,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:714,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:716,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:717,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:718,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:719,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:720,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:721,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:722,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:723,1
    - Dst: gnutls_privkey_export_dsa_raw
      Src: /src/gnutls/tests/key-import-export.c:725,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:727,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:728,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:729,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:730,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:731,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:732,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:733,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:734,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:735,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:736,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:737,1
    - Dst: _gnutls_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:739,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:742,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:743,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:745,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 749
    functionName: check_dsa
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - _gnutls_privkey_export2_pkcs8
    - success
    - gnutls_free
    - CMP_NO_LZ
    - CMP
    - gnutls_pubkey_import_privkey
    - global_init
    - gnutls_pubkey_export_dsa_raw2
    - gnutls_privkey_export_dsa_raw
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: int
    signature: int check_dsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-import-export.c:758,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:761,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:763,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/key-import-export.c:765,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:767,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-import-export.c:769,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:772,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/key-import-export.c:774,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:776,1
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:778,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:780,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:782,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:783,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:784,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:785,1
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/tests/key-import-export.c:787,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:790,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:792,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:793,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:794,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:795,1
    - Dst: gnutls_privkey_export_rsa_raw
      Src: /src/gnutls/tests/key-import-export.c:797,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:800,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:802,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:803,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:804,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:805,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:806,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:807,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:808,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:809,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:810,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:811,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:812,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:813,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:814,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:815,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:816,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:817,1
    - Dst: _gnutls_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:819,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:822,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:823,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:825,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 829
    functionName: check_rsa
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - _gnutls_privkey_export2_pkcs8
    - success
    - gnutls_free
    - gnutls_privkey_export_rsa_raw
    - CMP_NO_LZ
    - CMP
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - gnutls_pubkey_export_rsa_raw2
    - fail
    linkageType: ''
    returnType: int
    signature: int check_rsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-import-export.c:839,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:842,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:844,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/key-import-export.c:846,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:848,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-import-export.c:850,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:853,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/key-import-export.c:855,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:857,1
    - Dst: gnutls_pubkey_export_ecc_raw2
      Src: /src/gnutls/tests/key-import-export.c:859,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:861,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:864,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:865,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:867,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:868,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:869,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:870,1
    - Dst: gnutls_pubkey_export_ecc_raw2
      Src: /src/gnutls/tests/key-import-export.c:872,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:875,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:878,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:879,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:881,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:882,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:883,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:884,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:887,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:889,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:892,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:893,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:895,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:896,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:897,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:898,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:899,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:900,1
    - Dst: _gnutls_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:902,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:905,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:906,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:908,1
    - Dst: gnutls_pubkey_export_ecc_x962
      Src: /src/gnutls/tests/key-import-export.c:912,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:914,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:916,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:917,1
    - Dst: gnutls_pubkey_import_ecc_x962
      Src: /src/gnutls/tests/key-import-export.c:919,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:921,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:922,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:923,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:926,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:928,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:931,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:932,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:934,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:935,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:936,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:937,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:939,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 942
    functionName: check_ecc
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - CMP_NO_LZ
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - _gnutls_privkey_export2_pkcs8
    - gnutls_pubkey_import_ecc_x962
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_export_ecc_x962
    - gnutls_pubkey_deinit
    - gnutls_pubkey_export_ecc_raw2
    - success
    - exit
    - CMP
    - gnutls_pubkey_export_ecc_raw
    - gnutls_free
    - gnutls_privkey_export_ecc_raw
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int check_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-import-export.c:952,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:955,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:957,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/key-import-export.c:959,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:961,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-import-export.c:963,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:966,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/key-import-export.c:968,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:970,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:972,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:974,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:975,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:977,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:979,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:982,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:984,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:987,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:989,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:992,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:994,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:995,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:996,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/tests/key-import-export.c:998,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1000,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1003,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1005,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1006,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1007,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1008,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1011,1
    - Dst: _gnutls_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:1014,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1017,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1018,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:1020,1
    - Dst: gnutls_pubkey_export_ecc_x962
      Src: /src/gnutls/tests/key-import-export.c:1024,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1026,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:1028,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 1031
    functionName: check_ed25519
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - _gnutls_privkey_export2_pkcs8
    - success
    - gnutls_free
    - CMP
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_export_ecc_raw
    - gnutls_privkey_init
    - gnutls_privkey_export_ecc_raw
    - gnutls_pubkey_export_ecc_x962
    - gnutls_pubkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-import-export.c:1044,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-import-export.c:1047,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1049,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/key-import-export.c:1051,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1053,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-import-export.c:1055,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1058,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/key-import-export.c:1060,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1062,1
    - Dst: gnutls_pubkey_export_gost_raw2
      Src: /src/gnutls/tests/key-import-export.c:1064,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1067,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1070,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1071,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1074,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1075,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1078,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1080,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1082,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1083,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1084,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1085,1
    - Dst: gnutls_pubkey_export_gost_raw2
      Src: /src/gnutls/tests/key-import-export.c:1087,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1090,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1093,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1094,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1097,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1098,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1101,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1103,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:1105,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/key-import-export.c:1106,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1107,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1108,1
    - Dst: gnutls_privkey_export_gost_raw2
      Src: /src/gnutls/tests/key-import-export.c:1111,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1114,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1117,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1118,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1121,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1122,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-import-export.c:1125,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1127,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1129,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1130,1
    - Dst: CMP
      Src: /src/gnutls/tests/key-import-export.c:1131,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1132,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1133,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1134,1
    - Dst: _gnutls_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-import-export.c:1136,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1139,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-import-export.c:1140,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:1142,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/key-import-export.c:1144,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1148
    functionName: check_gost
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_export_gost_raw2
    - _gnutls_privkey_export2_pkcs8
    - success
    - exit
    - gnutls_free
    - gnutls_pubkey_export_gost_raw2
    - CMP_NO_LZ
    - CMP
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int check_gost(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_x509_privkey
      Src: /src/gnutls/tests/key-import-export.c:1152,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1153,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1154,1
    - Dst: check_privkey_import_export
      Src: /src/gnutls/tests/key-import-export.c:1157,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1158,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1159,1
    - Dst: check_dsa
      Src: /src/gnutls/tests/key-import-export.c:1162,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1163,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1164,1
    - Dst: check_rsa
      Src: /src/gnutls/tests/key-import-export.c:1167,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1168,1
    - Dst: exit
      Src: /src/gnutls/tests/key-import-export.c:1169,1
    - Dst: check_ecc
      Src: /src/gnutls/tests/key-import-export.c:1172,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1173,1
    - Dst: check_ed25519
      Src: /src/gnutls/tests/key-import-export.c:1176,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1177,1
    - Dst: check_gost
      Src: /src/gnutls/tests/key-import-export.c:1180,1
    - Dst: fail
      Src: /src/gnutls/tests/key-import-export.c:1181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1183
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-import-export.c
    functionUses: 0
    functionsReached:
    - exit
    - check_rsa
    - check_ecc
    - check_gost
    - check_ed25519
    - check_x509_privkey
    - fail
    - check_privkey_import_export
    - check_dsa
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/client_dsa_key.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/client_dsa_key.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/client_dsa_key.c:62,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/client_dsa_key.c:64,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/client_dsa_key.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/client_dsa_key.c:68,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/client_dsa_key.c:68,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/client_dsa_key.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/client_dsa_key.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client_dsa_key.c:73,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/client_dsa_key.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/client_dsa_key.c:79,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client_dsa_key.c:79,1
    - Dst: exit
      Src: /src/gnutls/tests/client_dsa_key.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/client_dsa_key.c:84,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/client_dsa_key.c:85,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/client_dsa_key.c:87,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/client_dsa_key.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/client_dsa_key.c:93,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client_dsa_key.c:93,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/client_dsa_key.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/client_dsa_key.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/client_dsa_key.c:100,1
    - Dst: test_cli_serv_cert
      Src: /src/gnutls/tests/client_dsa_key.c:103,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/client_dsa_key.c:108,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/client_dsa_key.c:109,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/client_dsa_key.c:111,1
    - Dst: success
      Src: /src/gnutls/tests/client_dsa_key.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 115
    functionName: doit
    functionSourceFile: /src/gnutls/tests/client_dsa_key.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_flags
    - assert
    - gnutls_strerror
    - exit
    - test_cli_serv_cert
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_set_verify_flags
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/common-cert-key-exchange.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:70,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/common-cert-key-exchange.c:72,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/common-cert-key-exchange.c:74,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:76,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:76,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:81,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:91,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:91,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:94,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:95,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:101,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:104,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:112,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:116,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:118,1
    - Dst: fprintf
      Src: /src/gnutls/tests/common-cert-key-exchange.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:122,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/common-cert-key-exchange.c:130,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/common-cert-key-exchange.c:131,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:133,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:134,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:136,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 8
    argNames:
    - name
    - client_prio
    - server_err
    - client_err
    - serv_cert
    - serv_key
    - cli_cert
    - cli_key
    argTypes:
    - char*
    - char*
    - int
    - int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 138
    functionName: try_with_key_fail
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_key_fail(const char *name, const char *client_prio,\n\t\t
      \      int server_err, int client_err,\n\t\t       const gnutls_datum_t *serv_cert,\n\t\t
      \      const gnutls_datum_t *serv_key,\n\t\t       const gnutls_datum_t *cli_cert,\n\t\t
      \      const gnutls_datum_t *cli_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:159,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/common-cert-key-exchange.c:161,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/common-cert-key-exchange.c:163,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:165,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:174,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:176,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:176,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:179,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:179,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:182,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:184,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:185,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:186,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:189,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:191,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:198,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:199,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:200,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:206,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:208,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:209,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:210,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:212,1
    - Dst: fprintf
      Src: /src/gnutls/tests/common-cert-key-exchange.c:215,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:216,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:219,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:222,1
    - Dst: success
      Src: /src/gnutls/tests/common-cert-key-exchange.c:224,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/common-cert-key-exchange.c:225,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:227,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:228,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:230,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 10
    argNames:
    - name
    - client_prio
    - server_err
    - client_err
    - serv_cert
    - serv_key
    - server_ku
    - cli_cert
    - cli_key
    - client_ku
    argTypes:
    - char*
    - char*
    - int
    - int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 232
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 232
    functionName: try_with_rawpk_key_fail
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_rawpk_key_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_rawpk_key_fail(const char *name, const char *client_prio,\n\t\t\t
      \    int server_err, int client_err,\n\t\t\t     const gnutls_datum_t *serv_cert,\n\t\t\t
      \    const gnutls_datum_t *serv_key, unsigned server_ku,\n\t\t\t     const gnutls_datum_t
      *cli_cert,\n\t\t\t     const gnutls_datum_t *cli_key, unsigned client_ku)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:251,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:262,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/common-cert-key-exchange.c:264,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/common-cert-key-exchange.c:266,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:268,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:268,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:269,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:269,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:274,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:288,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:288,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:291,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/common-cert-key-exchange.c:292,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/common-cert-key-exchange.c:293,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/common-cert-key-exchange.c:294,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:296,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:296,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:297,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:297,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:299,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:299,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:303,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:303,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:306,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:306,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:310,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:311,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:312,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:315,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:317,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:323,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:333,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:336,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:339,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:344,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:347,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:349,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:351,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:353,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:353,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:354,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:354,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:356,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:359,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:361,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:362,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:363,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:365,1
    - Dst: fprintf
      Src: /src/gnutls/tests/common-cert-key-exchange.c:368,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:369,1
    - Dst: success
      Src: /src/gnutls/tests/common-cert-key-exchange.c:371,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/common-cert-key-exchange.c:372,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:374,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:375,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:376,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:376,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:377,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:378,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/common-cert-key-exchange.c:382,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:384,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:386,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:387,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:388,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/common-cert-key-exchange.c:391,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:393,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:394,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:395,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:398,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:400,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:401,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:402,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/common-cert-key-exchange.c:405,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:407,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:408,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:409,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:414,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:416,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:417,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:420,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:422,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:423,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/common-cert-key-exchange.c:427,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:427,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/common-cert-key-exchange.c:429,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:431,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:432,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:434,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:434,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:435,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:438,1
    - Dst: memcmp
      Src: /src/gnutls/tests/common-cert-key-exchange.c:438,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:439,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:440,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:441,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/common-cert-key-exchange.c:444,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/common-cert-key-exchange.c:445,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:447,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:448,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:450,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:451,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:452,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:453,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:454,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 134
    argCount: 13
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - serv_key
    - client_cert
    - client_key
    - cert_flags
    - exp_group
    - server_ctype
    - client_ctype
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - unsigned
    - gnutls_certificate_type_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 455
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 455
    functionName: try_with_key_ks
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_sign_get_name
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - reset_buffers
    - gnutls_dh_params_init
    - gnutls_record_send
    - gnutls_sign_algorithm_get
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_anon_set_server_dh_params
    - gnutls_certificate_set_rawpk_key_mem
    - gnutls_group_get
    - gnutls_sign_algorithm_get_client
    - assert
    - exit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_group_get_name
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_key_ks(const char *name, const char *client_prio,\n\t\t
      \    gnutls_kx_algorithm_t client_kx,\n\t\t     gnutls_sign_algorithm_t server_sign_algo,\n\t\t
      \    gnutls_sign_algorithm_t client_sign_algo,\n\t\t     const gnutls_datum_t
      *serv_cert,\n\t\t     const gnutls_datum_t *serv_key,\n\t\t     const gnutls_datum_t
      *client_cert,\n\t\t     const gnutls_datum_t *client_key, unsigned cert_flags,\n\t\t
      \    unsigned exp_group, gnutls_certificate_type_t server_ctype,\n\t\t     gnutls_certificate_type_t
      client_ctype)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:473,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:483,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/common-cert-key-exchange.c:485,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/common-cert-key-exchange.c:487,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:489,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:490,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:492,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:495,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:495,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:498,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/common-cert-key-exchange.c:499,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/common-cert-key-exchange.c:500,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/common-cert-key-exchange.c:501,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:503,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:503,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:505,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:505,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:507,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:507,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:510,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:510,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:514,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:515,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:516,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:518,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/common-cert-key-exchange.c:520,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:524,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:526,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:529,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:534,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:535,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:537,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/common-cert-key-exchange.c:540,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/common-cert-key-exchange.c:545,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:548,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/common-cert-key-exchange.c:551,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:554,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:556,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:556,1
    - Dst: assert
      Src: /src/gnutls/tests/common-cert-key-exchange.c:557,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:557,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/common-cert-key-exchange.c:559,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:562,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:564,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:565,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/common-cert-key-exchange.c:566,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/common-cert-key-exchange.c:569,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/common-cert-key-exchange.c:571,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/common-cert-key-exchange.c:573,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:575,1
    - Dst: success
      Src: /src/gnutls/tests/common-cert-key-exchange.c:577,1
    - Dst: HANDSHAKE_DTLS
      Src: /src/gnutls/tests/common-cert-key-exchange.c:578,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:580,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:581,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:582,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:582,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:583,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:584,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/common-cert-key-exchange.c:588,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:590,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:592,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:593,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:594,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/common-cert-key-exchange.c:597,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:599,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:600,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:601,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/common-cert-key-exchange.c:604,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:606,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:607,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:608,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/common-cert-key-exchange.c:611,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:613,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/common-cert-key-exchange.c:614,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:615,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/common-cert-key-exchange.c:619,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:619,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/common-cert-key-exchange.c:621,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:623,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:624,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:626,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/common-cert-key-exchange.c:626,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:627,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:630,1
    - Dst: memcmp
      Src: /src/gnutls/tests/common-cert-key-exchange.c:630,1
    - Dst: fail
      Src: /src/gnutls/tests/common-cert-key-exchange.c:631,1
    - Dst: strlen
      Src: /src/gnutls/tests/common-cert-key-exchange.c:632,1
    - Dst: exit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:633,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/common-cert-key-exchange.c:636,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/common-cert-key-exchange.c:637,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:639,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:640,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:642,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:643,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:644,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/common-cert-key-exchange.c:645,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/common-cert-key-exchange.c:646,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 111
    argCount: 11
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - serv_key
    - client_cert
    - client_key
    - cert_flags
    - smtu
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 647
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 647
    functionName: dtls_try_with_key_mtu
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_sign_get_name
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - reset_buffers
    - gnutls_dh_params_init
    - gnutls_record_send
    - gnutls_sign_algorithm_get
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_anon_set_server_dh_params
    - gnutls_sign_algorithm_get_client
    - assert
    - exit
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE_DTLS
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - fail
    linkageType: ''
    returnType: void
    signature: "void dtls_try_with_key_mtu(const char *name, const char *client_prio,\n\t\t\t
      \  gnutls_kx_algorithm_t client_kx,\n\t\t\t   gnutls_sign_algorithm_t server_sign_algo,\n\t\t\t
      \  gnutls_sign_algorithm_t client_sign_algo,\n\t\t\t   const gnutls_datum_t
      *serv_cert,\n\t\t\t   const gnutls_datum_t *serv_key,\n\t\t\t   const gnutls_datum_t
      *client_cert,\n\t\t\t   const gnutls_datum_t *client_key,\n\t\t\t   unsigned
      cert_flags, unsigned smtu)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fallback-scsv.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fallback-scsv.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/fallback-scsv.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/fallback-scsv.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/fallback-scsv.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/fallback-scsv.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/fallback-scsv.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/fallback-scsv.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/fallback-scsv.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/fallback-scsv.c:96,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/fallback-scsv.c:98,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/fallback-scsv.c:103,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/fallback-scsv.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:111,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/fallback-scsv.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:116,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:120,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/fallback-scsv.c:121,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/fallback-scsv.c:122,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/fallback-scsv.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/fallback-scsv.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:137,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/fallback-scsv.c:141,1
    - Dst: close
      Src: /src/gnutls/tests/fallback-scsv.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/fallback-scsv.c:147,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/fallback-scsv.c:149,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/fallback-scsv.c:151,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - fd
    - prio
    - expect_fail
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 152
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 152
    functionName: client
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 12
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned expect_fail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fallback-scsv.c:159,1
    - Dst: kill
      Src: /src/gnutls/tests/fallback-scsv.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 5
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/fallback-scsv.c:174,1
    - Dst: memset
      Src: /src/gnutls/tests/fallback-scsv.c:175,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/fallback-scsv.c:178,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/fallback-scsv.c:179,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/fallback-scsv.c:182,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/fallback-scsv.c:183,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/fallback-scsv.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/fallback-scsv.c:191,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/fallback-scsv.c:191,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/fallback-scsv.c:193,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/fallback-scsv.c:195,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/fallback-scsv.c:198,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/fallback-scsv.c:199,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/fallback-scsv.c:208,1
    - Dst: close
      Src: /src/gnutls/tests/fallback-scsv.c:213,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/fallback-scsv.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/fallback-scsv.c:216,1
    - Dst: terminate
      Src: /src/gnutls/tests/fallback-scsv.c:217,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:221,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:224,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/fallback-scsv.c:225,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/fallback-scsv.c:226,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/fallback-scsv.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:235,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/fallback-scsv.c:236,1
    - Dst: terminate
      Src: /src/gnutls/tests/fallback-scsv.c:237,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/fallback-scsv.c:245,1
    - Dst: close
      Src: /src/gnutls/tests/fallback-scsv.c:247,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/fallback-scsv.c:248,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/fallback-scsv.c:250,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/fallback-scsv.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/fallback-scsv.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - fd
    - prio
    - expect_fail
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 256
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 256
    functionName: server
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 21
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned expect_fail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/fallback-scsv.c:264,1
    - Dst: perror
      Src: /src/gnutls/tests/fallback-scsv.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:267,1
    - Dst: fork
      Src: /src/gnutls/tests/fallback-scsv.c:270,1
    - Dst: perror
      Src: /src/gnutls/tests/fallback-scsv.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/fallback-scsv.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:274,1
    - Dst: close
      Src: /src/gnutls/tests/fallback-scsv.c:279,1
    - Dst: server
      Src: /src/gnutls/tests/fallback-scsv.c:280,1
    - Dst: waitpid
      Src: /src/gnutls/tests/fallback-scsv.c:281,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/fallback-scsv.c:282,1
    - Dst: close
      Src: /src/gnutls/tests/fallback-scsv.c:284,1
    - Dst: client
      Src: /src/gnutls/tests/fallback-scsv.c:285,1
    - Dst: exit
      Src: /src/gnutls/tests/fallback-scsv.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - server_prio
    - cli_prio
    - expect_fail
    argTypes:
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 288
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 288
    functionName: start
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 65
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *server_prio, const char *cli_prio,\n\t\t  unsigned
      expect_fail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/fallback-scsv.c:297,1
    - Dst: signal
      Src: /src/gnutls/tests/fallback-scsv.c:298,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:300,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:301,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:303,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:306,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:307,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:309,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:311,1
    - Dst: start
      Src: /src/gnutls/tests/fallback-scsv.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 316
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fallback-scsv.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_psk.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:59,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_psk.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:83,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:84,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:84,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:88,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:91,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:93,1
    - Dst: test_cli_serv_psk
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:96,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:98,1
    - Dst: test_cli_serv_psk
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:98,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:101,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:103,1
    - Dst: test_cli_serv_psk
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:106,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:108,1
    - Dst: test_cli_serv_psk
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:108,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:111,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:112,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/set_known_dh_params_psk.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 118
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_psk.c
    functionUses: 0
    functionsReached:
    - gnutls_psk_free_server_credentials
    - assert
    - success
    - gnutls_global_deinit
    - gnutls_psk_set_server_known_dh_params
    - gnutls_psk_allocate_server_credentials
    - gnutls_psk_set_client_credentials
    - global_init
    - test_cli_serv_psk
    - gnutls_psk_allocate_client_credentials
    - gnutls_psk_free_client_credentials
    - gnutls_psk_set_server_credentials_function
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dtls1-2-mtu-check.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:63,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:65,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:67,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:69,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:71,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:75,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:75,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:79,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:84,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:85,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:97,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:100,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:103,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:104,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:105,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:115,1
    - Dst: HANDSHAKE_DTLS
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:116,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:118,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:127,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:128,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:129,1
    - Dst: myfail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:131,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:135,1
    - Dst: myfail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:137,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:141,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:142,1
    - Dst: myfail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:144,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:149,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:151,1
    - Dst: gnutls_dtls_set_data_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:154,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:155,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:161,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:165,1
    - Dst: gnutls_dtls_get_mtu
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:168,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:172,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:173,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:175,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:176,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:178,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:179,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 4
    argNames:
    - name
    - client_prio
    - link_mtu
    - tunnel_mtu
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 180
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 180
    functionName: dtls_mtu_try
    functionSourceFile: /src/gnutls/tests/dtls1-2-mtu-check.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_dtls_get_data_mtu
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_dtls_set_data_mtu
    - gnutls_transport_set_pull_timeout_function
    - myfail
    - HANDSHAKE_DTLS
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_dtls_get_mtu
    - fail
    linkageType: ''
    returnType: void
    signature: "void dtls_mtu_try(const char *name, const char *client_prio,\n\t\t\t
      unsigned link_mtu, unsigned tunnel_mtu)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:184,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:187,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:191,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:195,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:199,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:203,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:207,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:211,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:215,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:219,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:223,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:227,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:231,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:235,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:239,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:243,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:247,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:251,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:255,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:259,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:263,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:267,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:271,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:275,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:279,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:283,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:287,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:291,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:295,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:300,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:304,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:305,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:311,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:314,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:315,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:321,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:325,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:329,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:333,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:337,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:341,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:345,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:349,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:353,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:357,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:361,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:365,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:369,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:373,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:377,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:381,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:385,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:389,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:393,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:398,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:402,1
    - Dst: dtls_mtu_try
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:403,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls1-2-mtu-check.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 409
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls1-2-mtu-check.c
    functionUses: 0
    functionsReached:
    - global_init
    - dtls_mtu_try
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_anon.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:62,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:64,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:68,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:69,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:71,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:73,1
    - Dst: test_cli_serv_anon
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:76,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:78,1
    - Dst: test_cli_serv_anon
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:81,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:83,1
    - Dst: test_cli_serv_anon
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:86,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:88,1
    - Dst: test_cli_serv_anon
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:88,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:91,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:92,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:94,1
    - Dst: success
      Src: /src/gnutls/tests/set_known_dh_params_anon.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 98
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_anon.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - assert
    - success
    - gnutls_global_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - global_init
    - gnutls_anon_set_server_known_dh_params
    - test_cli_serv_anon
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnutls/tests/x509-verify-duplicate.c:172,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-verify-duplicate.c:172,1
    - Dst: CHECK
      Src: /src/gnutls/tests/x509-verify-duplicate.c:174,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/x509-verify-duplicate.c:174,1
    - Dst: CHECK
      Src: /src/gnutls/tests/x509-verify-duplicate.c:175,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/x509-verify-duplicate.c:175,1
    - Dst: CHECK
      Src: /src/gnutls/tests/x509-verify-duplicate.c:176,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/x509-verify-duplicate.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-duplicate.c:180,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/x509-verify-duplicate.c:182,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-verify-duplicate.c:184,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-verify-duplicate.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-verify-duplicate.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_list_import2
    - gnutls_x509_trust_list_verify_crt
    - gnutls_x509_trust_list_add_cas
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:117,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:118,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:119,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:120,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:121,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:122,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:123,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:124,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:125,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:126,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:127,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:128,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:129,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:130,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:131,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:132,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:133,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:134,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:135,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:136,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:137,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:138,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:139,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:140,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:141,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-unicode.c:142,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/str-unicode.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/gnutls/tests/str-unicode.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-overhead.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-overhead.c:119,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-overhead.c:122,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-overhead.c:123,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-overhead.c:126,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-overhead.c:127,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-overhead.c:131,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-overhead.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-overhead.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:137,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-overhead.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-overhead.c:143,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-overhead.c:145,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-overhead.c:150,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-overhead.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-overhead.c:154,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-overhead.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/mini-overhead.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/mini-overhead.c:163,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-overhead.c:164,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-overhead.c:165,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-overhead.c:167,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-overhead.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-overhead.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:173,1
    - Dst: close
      Src: /src/gnutls/tests/mini-overhead.c:176,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-overhead.c:178,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-overhead.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-overhead.c:181,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-overhead.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - fd
    - prio
    - overhead
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 184
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 184
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 13
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_dtls_get_data_mtu
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned overhead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-overhead.c:195,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-overhead.c:200,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-overhead.c:202,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-overhead.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: initialize_tls_session
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 0
    functionsReached:
    - gnutls_init
    - gnutls_credentials_set
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t initialize_tls_session(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-overhead.c:210,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-overhead.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 6
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-overhead.c:223,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-overhead.c:224,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-overhead.c:227,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-overhead.c:228,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-overhead.c:231,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-overhead.c:232,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-overhead.c:235,1
    - Dst: initialize_tls_session
      Src: /src/gnutls/tests/mini-overhead.c:237,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-overhead.c:239,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-overhead.c:242,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-overhead.c:243,1
    - Dst: close
      Src: /src/gnutls/tests/mini-overhead.c:245,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-overhead.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-overhead.c:247,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-overhead.c:248,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-overhead.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/mini-overhead.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/mini-overhead.c:255,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-overhead.c:256,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-overhead.c:257,1
    - Dst: close
      Src: /src/gnutls/tests/mini-overhead.c:258,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-overhead.c:259,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-overhead.c:261,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-overhead.c:262,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-overhead.c:264,1
    - Dst: success
      Src: /src/gnutls/tests/mini-overhead.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 268
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 22
    functionsReached:
    - gnutls_global_deinit
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - initialize_tls_session
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-overhead.c:275,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-overhead.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:278,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-overhead.c:281,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-overhead.c:283,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-overhead.c:284,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:285,1
    - Dst: close
      Src: /src/gnutls/tests/mini-overhead.c:290,1
    - Dst: server
      Src: /src/gnutls/tests/mini-overhead.c:291,1
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-overhead.c:292,1
    - Dst: close
      Src: /src/gnutls/tests/mini-overhead.c:295,1
    - Dst: client
      Src: /src/gnutls/tests/mini-overhead.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-overhead.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - prio
    - overhead
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 66
    functionsReached:
    - exit
    - fork
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned overhead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-overhead.c:305,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-overhead.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - waitpid
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-overhead.c:312,1
    - Dst: start
      Src: /src/gnutls/tests/mini-overhead.c:317,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/mini-overhead.c:321,1
    - Dst: start
      Src: /src/gnutls/tests/mini-overhead.c:322,1
    - Dst: start
      Src: /src/gnutls/tests/mini-overhead.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-overhead.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/spki-abstract.c:47,1
    - Dst: fail
      Src: /src/gnutls/tests/spki-abstract.c:49,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:49,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:50,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki-abstract.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:54,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/spki-abstract.c:56,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki-abstract.c:58,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:59,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:60,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/spki-abstract.c:63,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki-abstract.c:66,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:67,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:68,1
    - Dst: gnutls_pubkey_get_spki
      Src: /src/gnutls/tests/spki-abstract.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:74,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:74,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:77,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/spki-abstract.c:79,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki-abstract.c:80,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/spki-abstract.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: pubkey_check
    functionSourceFile: /src/gnutls/tests/spki-abstract.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - assert
    - gnutls_x509_spki_deinit
    - gnutls_global_deinit
    - gnutls_x509_spki_init
    - gnutls_pubkey_get_spki
    - gnutls_x509_spki_get_rsa_pss_params
    - global_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_import_x509_raw
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void pubkey_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/spki-abstract.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/spki-abstract.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:95,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki-abstract.c:98,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:99,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/spki-abstract.c:101,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki-abstract.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:105,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/spki-abstract.c:108,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki-abstract.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki-abstract.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/spki-abstract.c:113,1
    - Dst: gnutls_privkey_get_spki
      Src: /src/gnutls/tests/spki-abstract.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:119,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:119,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:122,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:126,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:132,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:132,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:135,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki-abstract.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/spki-abstract.c:136,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/spki-abstract.c:138,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki-abstract.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 140
    functionName: key_check
    functionSourceFile: /src/gnutls/tests/spki-abstract.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - assert
    - gnutls_privkey_get_spki
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_init
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_get_rsa_pss_params
    - global_init
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void key_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_check
      Src: /src/gnutls/tests/spki-abstract.c:144,1
    - Dst: key_check
      Src: /src/gnutls/tests/spki-abstract.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: doit
    functionSourceFile: /src/gnutls/tests/spki-abstract.c
    functionUses: 0
    functionsReached:
    - pubkey_check
    - key_check
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/no-extensions.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/no-extensions.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:58,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/no-extensions.c:60,1
    - Dst: fprintf
      Src: /src/gnutls/tests/no-extensions.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/no-extensions.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: server_handshake_callback
    functionSourceFile: /src/gnutls/tests/no-extensions.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    - fail
    - SKIP8
    linkageType: ''
    returnType: int
    signature: "int server_handshake_callback(gnutls_session_t session,\n\t\t\t\t
      \    unsigned int htype, unsigned post,\n\t\t\t\t     unsigned int incoming,\n\t\t\t\t
      \    const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:89,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/no-extensions.c:91,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/no-extensions.c:92,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/no-extensions.c:93,1
    - Dst: fprintf
      Src: /src/gnutls/tests/no-extensions.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/no-extensions.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: client_handshake_callback
    functionSourceFile: /src/gnutls/tests/no-extensions.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP16
    - SKIP8
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: "int client_handshake_callback(gnutls_session_t session,\n\t\t\t\t
      \    unsigned int htype, unsigned post,\n\t\t\t\t     unsigned int incoming,\n\t\t\t\t
      \    const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/no-extensions.c:122,1
    - Dst: global_init
      Src: /src/gnutls/tests/no-extensions.c:125,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/no-extensions.c:126,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/no-extensions.c:128,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/no-extensions.c:131,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/no-extensions.c:132,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-extensions.c:135,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-extensions.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:137,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-extensions.c:137,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/no-extensions.c:138,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/no-extensions.c:139,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/no-extensions.c:140,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/no-extensions.c:142,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/no-extensions.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:150,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/no-extensions.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:155,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-extensions.c:157,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:159,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-extensions.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:164,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-extensions.c:166,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/no-extensions.c:167,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/no-extensions.c:168,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/no-extensions.c:169,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/no-extensions.c:171,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/no-extensions.c:176,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/no-extensions.c:182,1
    - Dst: fail
      Src: /src/gnutls/tests/no-extensions.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:189,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/no-extensions.c:189,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:191,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/no-extensions.c:191,1
    - Dst: assert
      Src: /src/gnutls/tests/no-extensions.c:192,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/no-extensions.c:192,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/no-extensions.c:194,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/no-extensions.c:195,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-extensions.c:197,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-extensions.c:198,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/no-extensions.c:200,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/no-extensions.c:201,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/no-extensions.c:203,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/no-extensions.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 2
    argNames:
    - prio
    - exp_version
    argTypes:
    - char*
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 206
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 206
    functionName: start
    functionSourceFile: /src/gnutls/tests/no-extensions.c
    functionUses: 67
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_certificate_get_ours
    - gnutls_global_set_log_level
    - global_init
    - gnutls_certificate_type_get
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, gnutls_protocol_t exp_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/no-extensions.c:213,1
    - Dst: exit
      Src: /src/gnutls/tests/no-extensions.c:214,1
    - Dst: start
      Src: /src/gnutls/tests/no-extensions.c:217,1
    - Dst: start
      Src: /src/gnutls/tests/no-extensions.c:218,1
    - Dst: start
      Src: /src/gnutls/tests/no-extensions.c:219,1
    - Dst: start
      Src: /src/gnutls/tests/no-extensions.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: doit
    functionSourceFile: /src/gnutls/tests/no-extensions.c
    functionUses: 0
    functionsReached:
    - exit
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_session_set_id.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:51,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/gnutls_session_set_id.c:56,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:57,1
    - Dst: memcpy
      Src: /src/gnutls/tests/gnutls_session_set_id.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dbf
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: wrap_db_store
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_session_set_id.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_session_set_id.c:71,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/gnutls_session_set_id.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:77,1
    - Dst: memcpy
      Src: /src/gnutls/tests/gnutls_session_set_id.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: wrap_db_fetch
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    - memcmp
    - memcpy
    - fail
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: wrap_db_delete
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wrap_db_delete(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/gnutls_session_set_id.c:102,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/gnutls_session_set_id.c:103,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:105,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_session_set_id.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:109,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_session_set_id.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:110,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/gnutls_session_set_id.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_session_set_id.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_session_set_id.c:115,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/gnutls_session_set_id.c:116,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:117,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:118,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:119,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:121,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:122,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:123,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:126,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_session_set_id.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:127,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/gnutls_session_set_id.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:130,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_session_set_id.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:131,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_session_set_id.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:134,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_session_set_id.c:134,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:136,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:137,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:138,1
    - Dst: memset
      Src: /src/gnutls/tests/gnutls_session_set_id.c:140,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/gnutls_session_set_id.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_session_set_id.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_session_set_id.c:143,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/gnutls_session_set_id.c:146,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/gnutls_session_set_id.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_session_set_id.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_session_set_id.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_session_set_id.c:153,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_session_set_id.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:156,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_session_set_id.c:156,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_session_set_id.c:157,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/gnutls_session_set_id.c:158,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:159,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:160,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:161,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:163,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:164,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:165,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:166,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:168,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_session_set_id.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:170,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_session_set_id.c:170,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:173,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_session_set_id.c:173,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:175,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/gnutls_session_set_id.c:176,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/gnutls_session_set_id.c:177,1
    - Dst: memset
      Src: /src/gnutls/tests/gnutls_session_set_id.c:179,1
    - Dst: gnutls_session_set_id
      Src: /src/gnutls/tests/gnutls_session_set_id.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_session_set_id.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_session_set_id.c:182,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_session_set_id.c:184,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/gnutls_session_set_id.c:187,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/gnutls_session_set_id.c:190,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_session_set_id.c:193,1
    - Dst: gnutls_session_resumption_requested
      Src: /src/gnutls/tests/gnutls_session_set_id.c:193,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_session_set_id.c:195,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_session_set_id.c:196,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_session_set_id.c:198,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_session_set_id.c:199,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_session_set_id.c:201,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_session_set_id.c:202,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_session_set_id.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 74
    argCount: 2
    argNames:
    - test
    - try_resume
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 206
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 206
    functionName: start
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 68
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_session_set_id
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_session_set_data
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_session_resumption_requested
    - gnutls_session_get_data2
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_db_set_store_function
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - HANDSHAKE_EXPECT
    - fail
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: void
    signature: void start(const char *test, unsigned try_resume)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/gnutls_session_set_id.c:210,1
    - Dst: start
      Src: /src/gnutls/tests/gnutls_session_set_id.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_session_set_id.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/server_ecdsa_key.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/server_ecdsa_key.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/server_ecdsa_key.c:62,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/server_ecdsa_key.c:64,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/server_ecdsa_key.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/server_ecdsa_key.c:68,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/server_ecdsa_key.c:68,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/server_ecdsa_key.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/server_ecdsa_key.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/server_ecdsa_key.c:73,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/server_ecdsa_key.c:76,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/server_ecdsa_key.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/server_ecdsa_key.c:81,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/server_ecdsa_key.c:81,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server_ecdsa_key.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/server_ecdsa_key.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/server_ecdsa_key.c:88,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/server_ecdsa_key.c:91,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/server_ecdsa_key.c:94,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/server_ecdsa_key.c:99,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/server_ecdsa_key.c:100,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/server_ecdsa_key.c:102,1
    - Dst: success
      Src: /src/gnutls/tests/server_ecdsa_key.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 106
    functionName: doit
    functionSourceFile: /src/gnutls/tests/server_ecdsa_key.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_strerror
    - exit
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - test_cli_serv_expect
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ok.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-ok.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-ok.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached:
    - success
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/status-request-ok.c:122,1
    - Dst: memcpy
      Src: /src/gnutls/tests/status-request-ok.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: status_func
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int status_func(gnutls_session_t session, void *ptr,\n\t\t       gnutls_datum_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-ok.c:141,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-ok.c:144,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-ok.c:145,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-ok.c:148,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-ok.c:152,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-ok.c:155,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/status-request-ok.c:157,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-ok.c:164,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-ok.c:166,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-ok.c:171,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-ok.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ok.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/status-request-ok.c:180,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:183,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:187,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-ok.c:188,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-ok.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ok.c:192,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-ok.c:195,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ok.c:199,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-ok.c:201,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-ok.c:203,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-ok.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 206
    functionName: client
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 14
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-ok.c:217,1
    - Dst: memset
      Src: /src/gnutls/tests/status-request-ok.c:218,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-ok.c:221,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-ok.c:222,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-ok.c:225,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/status-request-ok.c:226,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/gnutls/tests/status-request-ok.c:229,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-ok.c:232,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-ok.c:237,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-ok.c:240,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-ok.c:242,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-ok.c:245,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-ok.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:253,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:257,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-ok.c:258,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-ok.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ok.c:262,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ok.c:263,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-ok.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ok.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-ok.c:272,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-ok.c:274,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-ok.c:276,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ok.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 280
    functionName: server
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 23
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/status-request-ok.c:293,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request-ok.c:294,1
    - Dst: socketpair
      Src: /src/gnutls/tests/status-request-ok.c:296,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-ok.c:298,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ok.c:299,1
    - Dst: fork
      Src: /src/gnutls/tests/status-request-ok.c:302,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-ok.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ok.c:305,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ok.c:306,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ok.c:311,1
    - Dst: client
      Src: /src/gnutls/tests/status-request-ok.c:312,1
    - Dst: waitpid
      Src: /src/gnutls/tests/status-request-ok.c:313,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/status-request-ok.c:314,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ok.c:316,1
    - Dst: server
      Src: /src/gnutls/tests/status-request-ok.c:317,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ok.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 322
    functionName: doit
    functionSourceFile: /src/gnutls/tests/status-request-ok.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:52,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:67,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:68,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:71,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:72,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:73,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:75,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:76,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:77,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:79,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:81,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:82,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:83,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:94,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:99,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:103,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:105,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:109,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:123,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:128,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:130,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:131,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:132,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:134,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:137,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:138,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:139,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:143,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:149,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:153,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 155
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:159,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-fork.c:58,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-fork.c:59,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-fork.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 7
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-fork.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-fork.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-fork.c:118,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-fork.c:119,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-fork.c:120,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/mini-dtls-fork.c:121,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-fork.c:123,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-dtls-fork.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:127,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-fork.c:131,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-fork.c:134,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-dtls-fork.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-fork.c:143,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-fork.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:150,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-fork.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:156,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-fork.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:162,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:163,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/mini-dtls-fork.c:165,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-fork.c:166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 168
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 168
    functionName: do_fork_stuff
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - success
    - sec_sleep
    - gnutls_strerror
    - gnutls_bye
    - gnutls_record_send
    - gnutls_protocol_get_version
    - memcmp
    - gnutls_record_recv
    - gnutls_protocol_get_name
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void do_fork_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-fork.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:179,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-fork.c:180,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-fork.c:188,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-fork.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:194,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-fork.c:195,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-fork.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: do_reflect_stuff
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - terminate
    - gnutls_record_send
    - gnutls_bye
    - gnutls_record_recv
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void do_reflect_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-fork.c:211,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-fork.c:215,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-fork.c:216,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-fork.c:219,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-fork.c:223,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-fork.c:224,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-fork.c:225,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-fork.c:225,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-fork.c:226,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-fork.c:230,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-fork.c:237,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-fork.c:239,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-fork.c:244,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-fork.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:248,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-fork.c:249,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-fork.c:253,1
    - Dst: do_fork_stuff
      Src: /src/gnutls/tests/mini-dtls-fork.c:257,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/mini-dtls-fork.c:259,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-fork.c:261,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-fork.c:263,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-fork.c:265,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-fork.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - fd
    - do_fork
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 269
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 269
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 15
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - do_reflect_stuff
    - do_fork_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned do_fork)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-fork.c:279,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-fork.c:284,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-fork.c:285,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-fork.c:289,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-dtls-fork.c:290,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-fork.c:293,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-fork.c:294,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-fork.c:294,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-fork.c:295,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-fork.c:296,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-fork.c:301,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-fork.c:306,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-fork.c:308,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-fork.c:311,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-fork.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-fork.c:314,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-fork.c:315,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:316,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-fork.c:317,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-fork.c:318,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-fork.c:321,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-fork.c:324,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-fork.c:325,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-fork.c:326,1
    - Dst: do_fork_stuff
      Src: /src/gnutls/tests/mini-dtls-fork.c:329,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/mini-dtls-fork.c:331,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-fork.c:333,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-fork.c:334,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-fork.c:336,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-fork.c:338,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-fork.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - fd
    - do_fork
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 342
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 342
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 24
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - do_reflect_stuff
    - do_fork_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned do_fork)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-fork.c:349,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-fork.c:351,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:352,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-fork.c:355,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-fork.c:357,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-fork.c:358,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:359,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-fork.c:366,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-fork.c:367,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-fork.c:368,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-fork.c:369,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-fork.c:371,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-fork.c:372,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-fork.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - do_fork
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: run
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 7
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(unsigned do_fork)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-fork.c:379,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls-fork.c:380,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls-fork.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-fork.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int client_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/mini-x509-callbacks.c:55,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/mini-x509-callbacks.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:59,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-callbacks.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:61,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-x509-callbacks.c:64,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-x509-callbacks.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:66,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:68,1
    - Dst: success
      Src: /src/gnutls/tests/mini-x509-callbacks.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: verify_alpn
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - gnutls_strerror
    - exit
    - success
    - strlen
    - snprintf
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void verify_alpn(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_alpn
      Src: /src/gnutls/tests/mini-x509-callbacks.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: post_client_hello_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - verify_alpn
    linkageType: ''
    returnType: int
    signature: int post_client_hello_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:104,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-x509-callbacks.c:106,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-x509-callbacks.c:107,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:108,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/mini-x509-callbacks.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:117,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/mini-x509-callbacks.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - rawmsg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_handshake_get_last_out
    - gnutls_handshake_get_last_in
    - gnutls_handshake_description_get_name
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *rawmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-x509-callbacks.c:135,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/mini-x509-callbacks.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:139,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/mini-x509-callbacks.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: server_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_handshake_get_last_out
    - gnutls_handshake_get_last_in
    - gnutls_protocol_get_version
    - fail
    linkageType: ''
    returnType: int
    signature: int server_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-callbacks.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/mini-x509-callbacks.c:201,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-x509-callbacks.c:204,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/mini-x509-callbacks.c:206,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-x509-callbacks.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: append_alpn
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - gnutls_perror
    - exit
    - strlen
    - snprintf
    - gnutls_alpn_set_protocols
    linkageType: ''
    returnType: void
    signature: void append_alpn(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-x509-callbacks.c:224,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509-callbacks.c:231,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:232,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509-callbacks.c:234,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks.c:237,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509-callbacks.c:238,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-callbacks.c:240,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-callbacks.c:241,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-callbacks.c:242,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:243,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:244,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-callbacks.c:245,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:246,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-x509-callbacks.c:247,1
    - Dst: gnutls_handshake_set_post_client_hello_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:248,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:251,1
    - Dst: append_alpn
      Src: /src/gnutls/tests/mini-x509-callbacks.c:254,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks.c:257,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-callbacks.c:258,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-callbacks.c:259,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-callbacks.c:260,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:261,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:262,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-callbacks.c:263,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/tests/mini-x509-callbacks.c:264,1
    - Dst: append_alpn
      Src: /src/gnutls/tests/mini-x509-callbacks.c:265,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509-callbacks.c:267,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-callbacks.c:269,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-callbacks.c:270,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:272,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:273,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks.c:275,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks.c:276,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:284,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks.c:287,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-x509-callbacks.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 2
    argNames:
    - prio
    - check_order
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 290
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 290
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 69
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - append_alpn
    - gnutls_certificate_set_verify_function
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - gnutls_handshake_set_post_client_hello_function
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned check_order)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks.c:294,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks.c:295,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/key-material-set-dtls.c:74,1
    - Dst: wait
      Src: /src/gnutls/tests/key-material-set-dtls.c:75,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 9
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-material-set-dtls.c:92,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-material-set-dtls.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-material-set-dtls.c:96,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/key-material-set-dtls.c:99,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-material-set-dtls.c:103,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/key-material-set-dtls.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-material-set-dtls.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-material-set-dtls.c:119,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/key-material-set-dtls.c:121,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/key-material-set-dtls.c:126,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/key-material-set-dtls.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:130,1
    - Dst: strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:134,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:138,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/key-material-set-dtls.c:139,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/key-material-set-dtls.c:140,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/key-material-set-dtls.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:144,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/key-material-set-dtls.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:146,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/key-material-set-dtls.c:149,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:151,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/key-material-set-dtls.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:153,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:157,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:160,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:162,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:165,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:168,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:170,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-set-dtls.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:177,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/key-material-set-dtls.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:182,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-set-dtls.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:188,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:191,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:193,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:195,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:198,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-set-dtls.c:200,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:202,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-set-dtls.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:207,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/key-material-set-dtls.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:212,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-set-dtls.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:216,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/key-material-set-dtls.c:219,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-set-dtls.c:221,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:223,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/key-material-set-dtls.c:225,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:227,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 228
    functionName: client
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 16
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_set_state
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_record_get_state
    - strerror
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/key-material-set-dtls.c:239,1
    - Dst: global_init
      Src: /src/gnutls/tests/key-material-set-dtls.c:243,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-material-set-dtls.c:246,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-material-set-dtls.c:247,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/key-material-set-dtls.c:250,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/key-material-set-dtls.c:251,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/key-material-set-dtls.c:252,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/key-material-set-dtls.c:253,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-material-set-dtls.c:255,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/key-material-set-dtls.c:256,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-material-set-dtls.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:264,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:265,1
    - Dst: terminate
      Src: /src/gnutls/tests/key-material-set-dtls.c:266,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-material-set-dtls.c:269,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/key-material-set-dtls.c:271,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/key-material-set-dtls.c:274,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/key-material-set-dtls.c:275,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-set-dtls.c:277,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:279,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:280,1
    - Dst: terminate
      Src: /src/gnutls/tests/key-material-set-dtls.c:281,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:284,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:287,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/key-material-set-dtls.c:288,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/key-material-set-dtls.c:289,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:295,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:301,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/key-material-set-dtls.c:305,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-set-dtls.c:308,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:310,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-set-dtls.c:314,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:319,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:324,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/key-material-set-dtls.c:327,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:329,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/key-material-set-dtls.c:332,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-set-dtls.c:334,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-set-dtls.c:335,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:337,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:339,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-set-dtls.c:339,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/key-material-set-dtls.c:344,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-set-dtls.c:346,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:347,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/key-material-set-dtls.c:349,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:350,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-material-set-dtls.c:352,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-set-dtls.c:355,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 356
    functionName: server
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 25
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_set_state
    - gnutls_dh_params_init
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_record_get_state
    - gnutls_anon_set_server_dh_params
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/key-material-set-dtls.c:363,1
    - Dst: socketpair
      Src: /src/gnutls/tests/key-material-set-dtls.c:365,1
    - Dst: perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:367,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:368,1
    - Dst: fork
      Src: /src/gnutls/tests/key-material-set-dtls.c:371,1
    - Dst: perror
      Src: /src/gnutls/tests/key-material-set-dtls.c:373,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-set-dtls.c:374,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:375,1
    - Dst: server
      Src: /src/gnutls/tests/key-material-set-dtls.c:382,1
    - Dst: wait
      Src: /src/gnutls/tests/key-material-set-dtls.c:383,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/key-material-set-dtls.c:384,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-set-dtls.c:386,1
    - Dst: client
      Src: /src/gnutls/tests/key-material-set-dtls.c:387,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-set-dtls.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 390
    functionName: start
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 70
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/key-material-set-dtls.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-material-set-dtls.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:83,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:87,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/rsa-illegal-import.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:91,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:91,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/rsa-illegal-import.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: check_x509_privkey
    functionSourceFile: /src/gnutls/tests/rsa-illegal-import.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - global_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_x509_privkey(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:103,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:107,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/tests/rsa-illegal-import.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:112,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/rsa-illegal-import.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: check_pkcs8_privkey1
    functionSourceFile: /src/gnutls/tests/rsa-illegal-import.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - fail
    - global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: int
    signature: int check_pkcs8_privkey1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:124,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/rsa-illegal-import.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:128,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/rsa-illegal-import.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-illegal-import.c:133,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-illegal-import.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: check_pkcs8_privkey2
    functionSourceFile: /src/gnutls/tests/rsa-illegal-import.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - global_init
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: int
    signature: int check_pkcs8_privkey2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/rsa-illegal-import.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-illegal-import.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-illegal-import.c:148,1
    - Dst: check_x509_privkey
      Src: /src/gnutls/tests/rsa-illegal-import.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:151,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-illegal-import.c:152,1
    - Dst: check_pkcs8_privkey1
      Src: /src/gnutls/tests/rsa-illegal-import.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-illegal-import.c:157,1
    - Dst: check_pkcs8_privkey2
      Src: /src/gnutls/tests/rsa-illegal-import.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-illegal-import.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-illegal-import.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rsa-illegal-import.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_fips140_mode_enabled
    - check_pkcs8_privkey1
    - check_x509_privkey
    - check_pkcs8_privkey2
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cve-2008-4989.c:158,1
    - Dst: printf
      Src: /src/gnutls/tests/cve-2008-4989.c:160,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:160,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/cve-2008-4989.c:165,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:169,1
    - Dst: strlen
      Src: /src/gnutls/tests/cve-2008-4989.c:173,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/cve-2008-4989.c:175,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:180,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/cve-2008-4989.c:184,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:187,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:188,1
    - Dst: strlen
      Src: /src/gnutls/tests/cve-2008-4989.c:192,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/cve-2008-4989.c:194,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:197,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:198,1
    - Dst: gnutls_x509_crt_list_verify
      Src: /src/gnutls/tests/cve-2008-4989.c:201,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:206,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:207,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:208,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:213,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:214,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/cve-2008-4989.c:217,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/cve-2008-4989.c:219,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/cve-2008-4989.c:224,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:226,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:227,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:228,1
    - Dst: strlen
      Src: /src/gnutls/tests/cve-2008-4989.c:232,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/cve-2008-4989.c:234,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:237,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:238,1
    - Dst: gnutls_x509_crt_list_verify
      Src: /src/gnutls/tests/cve-2008-4989.c:240,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cve-2008-4989.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:246,1
    - Dst: fprintf
      Src: /src/gnutls/tests/cve-2008-4989.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/cve-2008-4989.c:251,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/cve-2008-4989.c:254,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cve-2008-4989.c:256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 259
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/gnutls/tests/cve-2008-4989.c
    functionUses: 4
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_list_verify
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - global_init
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/eagain.c:64,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/eagain.c:65,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/eagain.c:66,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:69,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/eagain.c:70,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:71,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/eagain.c:71,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/eagain.c:75,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:76,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/eagain.c:78,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:79,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/eagain.c:81,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:83,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/eagain.c:85,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/eagain.c:86,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/eagain.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/eagain.c:91,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/eagain.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/eagain.c:95,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/eagain.c:98,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain.c:100,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/eagain.c:102,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/eagain.c:103,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/eagain.c:104,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/eagain.c:106,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/eagain.c:113,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/eagain.c:117,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/eagain.c:120,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/eagain.c:125,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/eagain.c:129,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/eagain.c:131,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/eagain.c:134,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/eagain.c:139,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/eagain.c:141,1
    - Dst: strlen
      Src: /src/gnutls/tests/eagain.c:144,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/eagain.c:145,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/eagain.c:147,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/eagain.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/eagain.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/eagain.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/eagain.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/eagain.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/eagain.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 3
    argNames:
    - glob_state
    - prio
    - rehsk
    argTypes:
    - void**
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 157
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 157
    functionName: async_handshake
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - assert_int_equal
    - gnutls_global_init
    - HANDSHAKE
    - assert_return_code
    - gnutls_handshake
    linkageType: ''
    returnType: void
    signature: void async_handshake(void **glob_state, const char *prio, unsigned
      rehsk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: tls12_async_handshake
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_async_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: tls12_async_rehandshake_client
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_async_rehandshake_client(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tls12_async_rehandshake_server
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_async_rehandshake_server(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tls12_async_rehandshake_server_appdata
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_async_rehandshake_server_appdata(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: tls13_async_handshake
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls13_async_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain.c:187,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain.c:188,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain.c:189,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain.c:190,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain.c:191,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/eagain.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/gnutls/tests/eagain.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/ssl2-hello.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnutls/tests/ssl2-hello.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/ssl2-hello.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/ssl2-hello.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/ssl2-hello.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:88,1
    - Dst: recv
      Src: /src/gnutls/tests/ssl2-hello.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:92,1
    - Dst: send
      Src: /src/gnutls/tests/ssl2-hello.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:96,1
    - Dst: close
      Src: /src/gnutls/tests/ssl2-hello.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: client
    functionSourceFile: /src/gnutls/tests/ssl2-hello.c
    functionUses: 17
    functionsReached:
    - send
    - recv
    - fail
    - close
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ssl2-hello.c:109,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/ssl2-hello.c:111,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/ssl2-hello.c:113,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ssl2-hello.c:115,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/ssl2-hello.c:116,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/ssl2-hello.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/ssl2-hello.c:125,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/ssl2-hello.c:127,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/ssl2-hello.c:132,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/ssl2-hello.c:134,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/ssl2-hello.c:136,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/ssl2-hello.c:137,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/tests/ssl2-hello.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ssl2-hello.c:141,1
    - Dst: success
      Src: /src/gnutls/tests/ssl2-hello.c:146,1
    - Dst: close
      Src: /src/gnutls/tests/ssl2-hello.c:149,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/ssl2-hello.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ssl2-hello.c:152,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ssl2-hello.c:154,1
    - Dst: success
      Src: /src/gnutls/tests/ssl2-hello.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 158
    functionName: server
    functionSourceFile: /src/gnutls/tests/ssl2-hello.c
    functionUses: 26
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_alert_get
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/ssl2-hello.c:165,1
    - Dst: perror
      Src: /src/gnutls/tests/ssl2-hello.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:168,1
    - Dst: fork
      Src: /src/gnutls/tests/ssl2-hello.c:172,1
    - Dst: perror
      Src: /src/gnutls/tests/ssl2-hello.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/ssl2-hello.c:175,1
    - Dst: close
      Src: /src/gnutls/tests/ssl2-hello.c:182,1
    - Dst: server
      Src: /src/gnutls/tests/ssl2-hello.c:183,1
    - Dst: wait
      Src: /src/gnutls/tests/ssl2-hello.c:184,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/ssl2-hello.c:185,1
    - Dst: close
      Src: /src/gnutls/tests/ssl2-hello.c:187,1
    - Dst: client
      Src: /src/gnutls/tests/ssl2-hello.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/ssl2-hello.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ssl2-hello.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crq_key_id.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crq_key_id.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crq_key_id.c:56,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:58,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crq_key_id.c:60,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crq_key_id.c:62,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/crq_key_id.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:68,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:69,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crq_key_id.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:74,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/crq_key_id.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:79,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:80,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/crq_key_id.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:85,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/crq_key_id.c:86,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:87,1
    - Dst: success
      Src: /src/gnutls/tests/crq_key_id.c:89,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/crq_key_id.c:90,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/tests/crq_key_id.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:98,1
    - Dst: malloc
      Src: /src/gnutls/tests/crq_key_id.c:101,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/tests/crq_key_id.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:106,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/tests/crq_key_id.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:112,1
    - Dst: gnutls_x509_crq_set_key
      Src: /src/gnutls/tests/crq_key_id.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:118,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/tests/crq_key_id.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:125,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/crq_key_id.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:131,1
    - Dst: gnutls_x509_crq_privkey_sign
      Src: /src/gnutls/tests/crq_key_id.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:138,1
    - Dst: gnutls_x509_crq_verify
      Src: /src/gnutls/tests/crq_key_id.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:144,1
    - Dst: gnutls_x509_crq_get_key_id
      Src: /src/gnutls/tests/crq_key_id.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:152,1
    - Dst: malloc
      Src: /src/gnutls/tests/crq_key_id.c:155,1
    - Dst: gnutls_x509_crq_get_key_id
      Src: /src/gnutls/tests/crq_key_id.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_key_id.c:160,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_key_id.c:164,1
    - Dst: success
      Src: /src/gnutls/tests/crq_key_id.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_key_id.c:172,1
    - Dst: free
      Src: /src/gnutls/tests/crq_key_id.c:177,1
    - Dst: free
      Src: /src/gnutls/tests/crq_key_id.c:182,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/crq_key_id.c:186,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crq_key_id.c:187,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/crq_key_id.c:188,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crq_key_id.c:191,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 192
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crq_key_id.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_privkey_generate
    - gnutls_x509_crq_set_key
    - gnutls_x509_crq_deinit
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_import_x509
    - gnutls_x509_privkey_get_key_id
    - gnutls_global_set_log_function
    - gnutls_pk_algorithm_get_name
    - gnutls_x509_crq_set_version
    - free
    - gnutls_x509_crq_privkey_sign
    - gnutls_x509_crq_get_key_id
    - gnutls_x509_crq_set_dn_by_oid
    - memcmp
    - gnutls_x509_crq_init
    - gnutls_x509_privkey_init
    - success
    - gnutls_x509_crq_verify
    - malloc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls0-9.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls0-9.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls0-9.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls0-9.c:91,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls0-9.c:94,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls0-9.c:95,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls0-9.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls0-9.c:102,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls0-9.c:103,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls0-9.c:104,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls0-9.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls0-9.c:107,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/mini-dtls0-9.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls0-9.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls0-9.c:121,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls0-9.c:123,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls0-9.c:124,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls0-9.c:129,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls0-9.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:133,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls0-9.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:135,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:142,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls0-9.c:143,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls0-9.c:144,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls0-9.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls0-9.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:156,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls0-9.c:159,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:163,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:165,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls0-9.c:167,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - fd
    - proto
    - cipher
    - mac
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 170
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 18
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_session_set_premaster
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int proto, int cipher, int mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls0-9.c:178,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls0-9.c:179,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls0-9.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 10
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls0-9.c:193,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:195,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/mini-dtls0-9.c:195,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/mini-dtls0-9.c:196,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls0-9.c:199,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls0-9.c:200,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls0-9.c:203,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls0-9.c:205,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls0-9.c:206,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls0-9.c:206,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls0-9.c:207,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls0-9.c:212,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/mini-dtls0-9.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls0-9.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:223,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls0-9.c:226,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls0-9.c:228,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls0-9.c:229,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls0-9.c:232,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls0-9.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:235,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls0-9.c:238,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls0-9.c:239,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:245,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls0-9.c:246,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls0-9.c:247,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls0-9.c:252,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls0-9.c:254,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:258,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls0-9.c:261,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls0-9.c:262,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls0-9.c:267,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:269,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:270,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls0-9.c:272,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls0-9.c:274,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls0-9.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - fd
    - proto
    - cipher
    - mac
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 278
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - exit
    - gnutls_dtls_set_mtu
    - gnutls_cipher_get_name
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_error_is_fatal
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_session_set_premaster
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int proto, int cipher, int mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls0-9.c:285,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls0-9.c:287,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:288,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls0-9.c:291,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls0-9.c:293,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls0-9.c:294,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:295,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:302,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls0-9.c:303,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls0-9.c:304,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls0-9.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:306,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:308,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls0-9.c:309,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls0-9.c:310,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls0-9.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - proto
    - cipher
    - mac
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: run
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 8
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(int proto, int cipher, int mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls0-9.c:317,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls0-9.c:319,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls0-9.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls0-9.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ext4.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - key
    - flags
    - userdata
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: key_cb_info_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int key_cb_info_func(gnutls_privkey_t key, unsigned int flags,\n\t\t\t
      \   void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ext4.c:100,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/sign-verify-ext4.c:101,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/sign-verify-ext4.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - key
    - sig
    - userdata
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: key_cb_sign_data_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_sign_data2
    - gnutls_sign_get_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_data_func(gnutls_privkey_t key,\n\t\t\t\t gnutls_sign_algorithm_t
      sig, void *userdata,\n\t\t\t\t unsigned int flags, const gnutls_datum_t *data,\n\t\t\t\t
      gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ext4.c:114,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext4.c:115,1
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ext4.c:120,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/sign-verify-ext4.c:121,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/sign-verify-ext4.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key
    - sig
    - userdata
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: key_cb_sign_hash_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_get_name
    - fprintf
    - gnutls_privkey_sign_hash
    - gnutls_privkey_sign_hash2
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_hash_func(gnutls_privkey_t key,\n\t\t\t\t gnutls_sign_algorithm_t
      sig, void *userdata,\n\t\t\t\t unsigned int flags, const gnutls_datum_t *data,\n\t\t\t\t
      gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext4.c:130,1
    - Dst: free
      Src: /src/gnutls/tests/sign-verify-ext4.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: key_cb_deinit_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/sign-verify-ext4.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext4.c:144,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-ext4.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext4.c:149,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-ext4.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext4.c:153,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-ext4.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext4.c:158,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-ext4.c:160,1
    - Dst: gnutls_privkey_import_ext4
      Src: /src/gnutls/tests/sign-verify-ext4.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext4.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - txtkey
    - pk
    - sig
    argTypes:
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 174
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 174
    functionName: load_virt_privkey
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_ext4
    - gnutls_privkey_get_pk_algorithm
    - calloc
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t load_virt_privkey(const gnutls_datum_t *txtkey,\n\t\t\t\t\t
      \ gnutls_pk_algorithm_t pk,\n\t\t\t\t\t  gnutls_sign_algorithm_t sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-ext4.c:190,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-ext4.c:192,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-ext4.c:194,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-ext4.c:198,1
    - Dst: load_virt_privkey
      Src: /src/gnutls/tests/sign-verify-ext4.c:206,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-ext4.c:209,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:211,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/sign-verify-ext4.c:213,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:217,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-ext4.c:219,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:222,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-ext4.c:224,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:229,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext4.c:231,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext4.c:234,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:238,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext4.c:240,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:245,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext4.c:248,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-ext4.c:251,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext4.c:253,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:258,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-ext4.c:259,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify-ext4.c:261,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-ext4.c:262,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext4.c:265,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:270,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext4.c:273,1
    - Dst: gnutls_privkey_sign_raw_data
      Src: /src/gnutls/tests/sign-verify-ext4.c:275,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-ext4.c:279,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext4.c:281,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext4.c:286,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext4.c:289,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext4.c:290,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext4.c:291,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext4.c:292,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-ext4.c:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 296
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-ext4.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_verify_hash2
    - gnutls_privkey_deinit
    - gnutls_pubkey_import_x509_raw
    - gnutls_global_set_log_function
    - gnutls_pubkey_verify_data2
    - gnutls_pk_to_sign
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_sign_hash
    - testfail
    - success
    - gnutls_privkey_sign_data2
    - load_virt_privkey
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_privkey_sign_raw_data
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_strerror
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init.c:44,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:48,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:49,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:50,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:51,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init.c:53,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init.c:55,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init.c:61,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init.c:66,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:69,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:70,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:71,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:72,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:73,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/global-init.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/global-init.c:78,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/global-init.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: doit
    functionSourceFile: /src/gnutls/tests/global-init.c
    functionUses: 0
    functionsReached:
    - gnutls_global_init
    - fail
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:100,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:104,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:108,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:113,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:117,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:121,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:125,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:129,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:134,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:138,1
    - Dst: gnutls_pubkey_encrypt_data
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:142,1
    - Dst: gnutls_privkey_decrypt_data
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:149,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:152,1
    - Dst: memset
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:155,1
    - Dst: gnutls_privkey_decrypt_data2
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:159,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:162,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:164,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:165,1
    - Dst: gnutls_pubkey_encrypt_data
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:169,1
    - Dst: gnutls_privkey_decrypt_data
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:176,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:179,1
    - Dst: memset
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:182,1
    - Dst: gnutls_privkey_decrypt_data2
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:186,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:189,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:192,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:194,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:195,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:196,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:197,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:198,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:199,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-encrypt-decrypt.c:202,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 203
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rsa-encrypt-decrypt.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_init
    - gnutls_privkey_import_x509
    - gnutls_x509_crt_import
    - memcmp
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - memset
    - gnutls_pubkey_init
    - success
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pubkey_encrypt_data
    - gnutls_privkey_decrypt_data2
    - gnutls_x509_privkey_import
    - gnutls_privkey_decrypt_data
    - gnutls_free
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509-ipaddr.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/mini-x509-ipaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:74,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:75,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:77,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:82,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:82,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:91,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:93,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:93,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:94,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:95,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:101,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:110,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:115,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:117,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:117,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:118,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:119,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:120,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:122,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:127,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:144,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:148,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:166,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:170,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:182,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:183,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:187,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:189,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:197,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:202,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:204,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:210,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:224,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:227,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:238,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:244,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:248,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:260,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:261,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:265,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:267,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:271,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:272,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:274,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:275,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:277,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:278,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509-ipaddr.c:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 281
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509-ipaddr.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_set_verify_flags
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_set_default_priority
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_certificate_verification_status_print
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_verify_peers3
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_verify_peers
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/x509dn.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509dn.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:83,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:89,1
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/tests/x509dn.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:93,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/tests/x509dn.c:97,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:102,1
    - Dst: gnutls_x509_dn_get_rdn_ava
      Src: /src/gnutls/tests/x509dn.c:104,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:106,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509dn.c:108,1
    - Dst: strncmp
      Src: /src/gnutls/tests/x509dn.c:109,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:119,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/tests/x509dn.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509dn.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 130
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_strerror
    - strlen
    - gnutls_x509_dn_init
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_get_rdn_ava
    - gnutls_x509_dn_import
    - strncmp
    - fail
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509dn.c:139,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509dn.c:141,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509dn.c:143,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509dn.c:145,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509dn.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:152,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/x509dn.c:156,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509dn.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/x509dn.c:162,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509dn.c:162,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509dn.c:166,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/x509dn.c:168,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509dn.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:175,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/x509dn.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:180,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:184,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/x509dn.c:185,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509dn.c:186,1
    - Dst: print_info
      Src: /src/gnutls/tests/x509dn.c:190,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/x509dn.c:192,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509dn.c:192,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/x509dn.c:194,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:197,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:200,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509dn.c:200,1
    - Dst: printf
      Src: /src/gnutls/tests/x509dn.c:205,1
    - Dst: fputc
      Src: /src/gnutls/tests/x509dn.c:207,1
    - Dst: fputs
      Src: /src/gnutls/tests/x509dn.c:209,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509dn.c:212,1
    - Dst: close
      Src: /src/gnutls/tests/x509dn.c:216,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509dn.c:218,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509dn.c:220,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509dn.c:222,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 223
    functionName: client
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 19
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_set_retrieve_function2
    - fputs
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509dn.c:238,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509dn.c:240,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509dn.c:242,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509dn.c:244,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509dn.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:248,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/x509dn.c:251,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509dn.c:256,1
    - Dst: assert
      Src: /src/gnutls/tests/x509dn.c:258,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509dn.c:258,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509dn.c:260,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509dn.c:264,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/x509dn.c:266,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/x509dn.c:267,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/x509dn.c:267,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509dn.c:269,1
    - Dst: close
      Src: /src/gnutls/tests/x509dn.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509dn.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:273,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509dn.c:274,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:278,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:281,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/x509dn.c:282,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509dn.c:283,1
    - Dst: print_info
      Src: /src/gnutls/tests/x509dn.c:287,1
    - Dst: memset
      Src: /src/gnutls/tests/x509dn.c:290,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/x509dn.c:291,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:295,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:298,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/x509dn.c:304,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509dn.c:304,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509dn.c:309,1
    - Dst: close
      Src: /src/gnutls/tests/x509dn.c:311,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509dn.c:312,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509dn.c:314,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509dn.c:316,1
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:319,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 320
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 320
    functionName: server
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 28
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509dn.c:327,1
    - Dst: signal
      Src: /src/gnutls/tests/x509dn.c:329,1
    - Dst: socketpair
      Src: /src/gnutls/tests/x509dn.c:331,1
    - Dst: perror
      Src: /src/gnutls/tests/x509dn.c:333,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:334,1
    - Dst: fork
      Src: /src/gnutls/tests/x509dn.c:338,1
    - Dst: perror
      Src: /src/gnutls/tests/x509dn.c:340,1
    - Dst: fail
      Src: /src/gnutls/tests/x509dn.c:341,1
    - Dst: close
      Src: /src/gnutls/tests/x509dn.c:348,1
    - Dst: server
      Src: /src/gnutls/tests/x509dn.c:349,1
    - Dst: wait
      Src: /src/gnutls/tests/x509dn.c:350,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/x509dn.c:351,1
    - Dst: close
      Src: /src/gnutls/tests/x509dn.c:353,1
    - Dst: client
      Src: /src/gnutls/tests/x509dn.c:354,1
    - Dst: exit
      Src: /src/gnutls/tests/x509dn.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 357
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 357
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 71
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509dn.c:361,1
    - Dst: start
      Src: /src/gnutls/tests/x509dn.c:362,1
    - Dst: start
      Src: /src/gnutls/tests/x509dn.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509dn.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_RND_EAGAIN
      Src: /src/gnutls/tests/eagain-common.h:195,1
    - Dst: min
      Src: /src/gnutls/tests/eagain-common.h:197,1
    - Dst: memcpy
      Src: /src/gnutls/tests/eagain-common.h:200,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: client_push
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    - fprintf
    - RETURN_RND_EAGAIN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t client_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_RND_EAGAIN
      Src: /src/gnutls/tests/eagain-common.h:213,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:217,1
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/eagain-common.h:221,1
    - Dst: min
      Src: /src/gnutls/tests/eagain-common.h:225,1
    - Dst: memcpy
      Src: /src/gnutls/tests/eagain-common.h:227,1
    - Dst: memmove
      Src: /src/gnutls/tests/eagain-common.h:229,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: client_pull
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_errno
    - RETURN_RND_EAGAIN
    - memmove
    - memcpy
    - min
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t client_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_RND_EAGAIN
      Src: /src/gnutls/tests/eagain-common.h:241,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:245,1
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/eagain-common.h:249,1
    - Dst: min
      Src: /src/gnutls/tests/eagain-common.h:253,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:255,1
    - Dst: memcpy
      Src: /src/gnutls/tests/eagain-common.h:258,1
    - Dst: memmove
      Src: /src/gnutls/tests/eagain-common.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: server_pull
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_errno
    - RETURN_RND_EAGAIN
    - memmove
    - memcpy
    - min
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t server_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_RND_EAGAIN
      Src: /src/gnutls/tests/eagain-common.h:271,1
    - Dst: min
      Src: /src/gnutls/tests/eagain-common.h:275,1
    - Dst: memcpy
      Src: /src/gnutls/tests/eagain-common.h:278,1
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 289
    functionName: server_push
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    - fprintf
    - RETURN_RND_EAGAIN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t server_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: server_pull_timeout_func
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int server_pull_timeout_func(gnutls_transport_ptr_t ptr,\n\t\t\t\t\t
      \  unsigned int ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-common.h:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: client_pull_timeout_func
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int client_pull_timeout_func(gnutls_transport_ptr_t ptr,\n\t\t\t\t\t
      \  unsigned int ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: reset_buffers
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_buffers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/eagain-common.h:353,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/eagain-common.h:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - session
    - data
    - sizeofdata
    - use_null_on_retry
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionName: record_send_loop
    functionSourceFile: /src/gnutls/tests/eagain-common.h
    functionUses: 0
    functionsReached:
    - gnutls_record_send
    linkageType: ''
    returnType: int
    signature: "int record_send_loop(gnutls_session_t session, const void *data,\n\t\t\t\t
      \  size_t sizeofdata, int use_null_on_retry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:56,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:60,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:64,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:69,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:73,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:76,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_status_request_get2
    - gnutls_protocol_get_version
    - fail
    - memcmp
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:108,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:109,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:111,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:115,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:115,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:116,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:116,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:118,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:121,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:126,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:126,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:128,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:128,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:128,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:130,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:135,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:139,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:144,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:144,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:145,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:146,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:146,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:146,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:148,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:153,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:157,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:161,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:161,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:163,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:168,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:171,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:175,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:175,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:177,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:182,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:185,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:188,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:189,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:189,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:191,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:197,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:203,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:209,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:214,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:215,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:215,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:217,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:222,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:227,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:229,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:232,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:232,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:235,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:239,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:244,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:248,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:253,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:254,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:255,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:256,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:257,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:258,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:259,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:260,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 261
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_ocsp_status_request_file
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_unknown.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-repro-20170915.c:40,1
    - Dst: dtls_try_with_key_mtu
      Src: /src/gnutls/tests/dtls-repro-20170915.c:42,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-repro-20170915.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-repro-20170915.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    - dtls_try_with_key_mtu
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/server-sign-md5-rep.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/server-sign-md5-rep.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/server-sign-md5-rep.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/server-sign-md5-rep.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/server-sign-md5-rep.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:110,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/server-sign-md5-rep.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:118,1
    - Dst: poll
      Src: /src/gnutls/tests/server-sign-md5-rep.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/server-sign-md5-rep.c:128,1
    - Dst: recv
      Src: /src/gnutls/tests/server-sign-md5-rep.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/server-sign-md5-rep.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:139,1
    - Dst: success
      Src: /src/gnutls/tests/server-sign-md5-rep.c:141,1
    - Dst: close
      Src: /src/gnutls/tests/server-sign-md5-rep.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: client
    functionSourceFile: /src/gnutls/tests/server-sign-md5-rep.c
    functionUses: 20
    functionsReached:
    - success
    - get_timeout
    - close
    - send
    - poll
    - recv
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/server-sign-md5-rep.c:154,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/server-sign-md5-rep.c:156,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/server-sign-md5-rep.c:158,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/server-sign-md5-rep.c:160,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/server-sign-md5-rep.c:161,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-sign-md5-rep.c:164,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/server-sign-md5-rep.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/server-sign-md5-rep.c:174,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/server-sign-md5-rep.c:174,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/server-sign-md5-rep.c:177,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/server-sign-md5-rep.c:177,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-sign-md5-rep.c:179,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/server-sign-md5-rep.c:181,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/server-sign-md5-rep.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/server-sign-md5-rep.c:188,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/tests/server-sign-md5-rep.c:191,1
    - Dst: close
      Src: /src/gnutls/tests/server-sign-md5-rep.c:193,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/server-sign-md5-rep.c:194,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/server-sign-md5-rep.c:196,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/server-sign-md5-rep.c:198,1
    - Dst: success
      Src: /src/gnutls/tests/server-sign-md5-rep.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 202
    functionName: server
    functionSourceFile: /src/gnutls/tests/server-sign-md5-rep.c
    functionUses: 29
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_alert_send_appropriate
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/server-sign-md5-rep.c:209,1
    - Dst: socketpair
      Src: /src/gnutls/tests/server-sign-md5-rep.c:211,1
    - Dst: perror
      Src: /src/gnutls/tests/server-sign-md5-rep.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:214,1
    - Dst: fork
      Src: /src/gnutls/tests/server-sign-md5-rep.c:218,1
    - Dst: perror
      Src: /src/gnutls/tests/server-sign-md5-rep.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/server-sign-md5-rep.c:221,1
    - Dst: close
      Src: /src/gnutls/tests/server-sign-md5-rep.c:228,1
    - Dst: client
      Src: /src/gnutls/tests/server-sign-md5-rep.c:229,1
    - Dst: wait
      Src: /src/gnutls/tests/server-sign-md5-rep.c:230,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/server-sign-md5-rep.c:231,1
    - Dst: close
      Src: /src/gnutls/tests/server-sign-md5-rep.c:233,1
    - Dst: server
      Src: /src/gnutls/tests/server-sign-md5-rep.c:234,1
    - Dst: _exit
      Src: /src/gnutls/tests/server-sign-md5-rep.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: doit
    functionSourceFile: /src/gnutls/tests/server-sign-md5-rep.c
    functionUses: 0
    functionsReached:
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - _exit
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_rdn_get2
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:45,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:47,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:47,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:50,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:51,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:53,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:56,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:57,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:66,1
    - Dst: gnutls_x509_rdn_get2
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:69,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:71,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:71,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:74,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:75,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:77,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:80,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:81,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:87,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:90,1
    - Dst: gnutls_x509_rdn_get
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:94,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:96,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:101,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:102,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:104,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:107,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:108,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - test_name
    - raw
    - expected
    - expected_compat
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 118
    functionName: decode
    functionSourceFile: /src/gnutls/tests/x509-dn-decode-compat.c
    functionUses: 10
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - strlen
    - test_fail
    - memcmp
    - gnutls_x509_rdn_get
    - gnutls_x509_rdn_get2
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected, const char *expected_compat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/gnutls/tests/x509-dn-decode-compat.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-dn-decode-compat.c
    functionUses: 0
    functionsReached:
    - decode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/init_roundtrip.c:36,1
    - Dst: fail
      Src: /src/gnutls/tests/init_roundtrip.c:38,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/init_roundtrip.c:40,1
    - Dst: global_init
      Src: /src/gnutls/tests/init_roundtrip.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/init_roundtrip.c:44,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/init_roundtrip.c:46,1
    - Dst: success
      Src: /src/gnutls/tests/init_roundtrip.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: doit
    functionSourceFile: /src/gnutls/tests/init_roundtrip.c
    functionUses: 0
    functionsReached:
    - global_init
    - success
    - fail
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/recv-data-before-handshake.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/recv-data-before-handshake.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/recv-data-before-handshake.c:79,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/recv-data-before-handshake.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/recv-data-before-handshake.c:84,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/recv-data-before-handshake.c:85,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/recv-data-before-handshake.c:86,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:88,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/recv-data-before-handshake.c:89,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/recv-data-before-handshake.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - success
    - gnutls_handshake_description_get_name
    - gnutls_record_set_timeout
    - gnutls_record_recv
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/recv-data-before-handshake.c:107,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/recv-data-before-handshake.c:110,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/recv-data-before-handshake.c:111,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/recv-data-before-handshake.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/recv-data-before-handshake.c:118,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/recv-data-before-handshake.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/recv-data-before-handshake.c:120,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/recv-data-before-handshake.c:120,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/recv-data-before-handshake.c:122,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/recv-data-before-handshake.c:125,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/recv-data-before-handshake.c:127,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/recv-data-before-handshake.c:132,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/recv-data-before-handshake.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/recv-data-before-handshake.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/recv-data-before-handshake.c:141,1
    - Dst: terminate
      Src: /src/gnutls/tests/recv-data-before-handshake.c:142,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:145,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:149,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/recv-data-before-handshake.c:150,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/recv-data-before-handshake.c:151,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/recv-data-before-handshake.c:155,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/recv-data-before-handshake.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/recv-data-before-handshake.c:164,1
    - Dst: terminate
      Src: /src/gnutls/tests/recv-data-before-handshake.c:165,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/recv-data-before-handshake.c:168,1
    - Dst: close
      Src: /src/gnutls/tests/recv-data-before-handshake.c:172,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/recv-data-before-handshake.c:176,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:178,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 179
    functionName: client
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 21
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/recv-data-before-handshake.c:186,1
    - Dst: kill
      Src: /src/gnutls/tests/recv-data-before-handshake.c:187,1
    - Dst: exit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 12
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/recv-data-before-handshake.c:200,1
    - Dst: memset
      Src: /src/gnutls/tests/recv-data-before-handshake.c:201,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/recv-data-before-handshake.c:204,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/recv-data-before-handshake.c:205,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/recv-data-before-handshake.c:208,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/recv-data-before-handshake.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/recv-data-before-handshake.c:212,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/recv-data-before-handshake.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/recv-data-before-handshake.c:217,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/recv-data-before-handshake.c:217,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/recv-data-before-handshake.c:219,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/recv-data-before-handshake.c:221,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/recv-data-before-handshake.c:224,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/recv-data-before-handshake.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:232,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:236,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/recv-data-before-handshake.c:237,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/recv-data-before-handshake.c:238,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/recv-data-before-handshake.c:242,1
    - Dst: close
      Src: /src/gnutls/tests/recv-data-before-handshake.c:245,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:246,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/recv-data-before-handshake.c:248,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 254
    functionName: server
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 30
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/recv-data-before-handshake.c:266,1
    - Dst: signal
      Src: /src/gnutls/tests/recv-data-before-handshake.c:267,1
    - Dst: signal
      Src: /src/gnutls/tests/recv-data-before-handshake.c:268,1
    - Dst: socketpair
      Src: /src/gnutls/tests/recv-data-before-handshake.c:270,1
    - Dst: perror
      Src: /src/gnutls/tests/recv-data-before-handshake.c:272,1
    - Dst: exit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:273,1
    - Dst: fork
      Src: /src/gnutls/tests/recv-data-before-handshake.c:276,1
    - Dst: perror
      Src: /src/gnutls/tests/recv-data-before-handshake.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/recv-data-before-handshake.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:280,1
    - Dst: close
      Src: /src/gnutls/tests/recv-data-before-handshake.c:285,1
    - Dst: client
      Src: /src/gnutls/tests/recv-data-before-handshake.c:286,1
    - Dst: waitpid
      Src: /src/gnutls/tests/recv-data-before-handshake.c:287,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/recv-data-before-handshake.c:288,1
    - Dst: close
      Src: /src/gnutls/tests/recv-data-before-handshake.c:290,1
    - Dst: server
      Src: /src/gnutls/tests/recv-data-before-handshake.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/recv-data-before-handshake.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 294
    functionName: start
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 72
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/recv-data-before-handshake.c:298,1
    - Dst: start
      Src: /src/gnutls/tests/recv-data-before-handshake.c:299,1
    - Dst: start
      Src: /src/gnutls/tests/recv-data-before-handshake.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: doit
    functionSourceFile: /src/gnutls/tests/recv-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/crlverify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crlverify.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:223,1
    - Dst: global_init
      Src: /src/gnutls/tests/crlverify.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/crlverify.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:228,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:229,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crlverify.c:232,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crlverify.c:233,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crlverify.c:235,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:239,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:243,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/tests/crlverify.c:245,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:247,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:248,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:249,1
    - Dst: strlen
      Src: /src/gnutls/tests/crlverify.c:253,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/tests/crlverify.c:255,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:257,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:260,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:261,1
    - Dst: gnutls_x509_crl_print
      Src: /src/gnutls/tests/crlverify.c:264,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:266,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crlverify.c:267,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:270,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crlverify.c:272,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:274,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:275,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:276,1
    - Dst: strlen
      Src: /src/gnutls/tests/crlverify.c:280,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crlverify.c:282,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:284,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:285,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:286,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:290,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/crlverify.c:292,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:294,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crlverify.c:295,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:298,1
    - Dst: gnutls_x509_crl_verify
      Src: /src/gnutls/tests/crlverify.c:300,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:303,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:305,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/crlverify.c:310,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/crlverify.c:312,1
    - Dst: fail
      Src: /src/gnutls/tests/crlverify.c:315,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crlverify.c:318,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crlverify.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:322,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:324,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/crlverify.c:326,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/crlverify.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/crlverify.c:330,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:331,1
    - Dst: gnutls_x509_trust_list_add_crls
      Src: /src/gnutls/tests/crlverify.c:335,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:339,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crlverify.c:341,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:342,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crlverify.c:345,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:348,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:352,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/crlverify.c:354,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crlverify.c:355,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crlverify.c:356,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:359,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crlverify.c:362,1
    - Dst: printf
      Src: /src/gnutls/tests/crlverify.c:365,1
    - Dst: exit
      Src: /src/gnutls/tests/crlverify.c:367,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 368
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crlverify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_crl_init
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crl_deinit
    - gnutls_x509_crl_print
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_trust_list_add_cas
    - gnutls_certificate_verification_status_print
    - exit
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_trust_list_init
    - gnutls_x509_crl_import
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crl_verify
    - global_init
    - gnutls_x509_trust_list_add_crls
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-emsgsize-dtls.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:57,1
    - Dst: min
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:61,1
    - Dst: memcpy
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:64,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: client_push_300
    functionSourceFile: /src/gnutls/tests/mini-emsgsize-dtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    - gnutls_transport_set_errno
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t client_push_300(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:79,1
    - Dst: min
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:83,1
    - Dst: memcpy
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:86,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: server_push_300
    functionSourceFile: /src/gnutls/tests/mini-emsgsize-dtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    - gnutls_transport_set_errno
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t server_push_300(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:100,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:112,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:113,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:115,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:118,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:119,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:120,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:121,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:122,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:129,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:130,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:131,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:132,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:134,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:137,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:138,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:144,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:145,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:146,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:147,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:148,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:150,1
    - Dst: HANDSHAKE_DTLS
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:153,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:157,1
    - Dst: success
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:162,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:165,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:165,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:168,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:169,1
    - Dst: fputs
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:172,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:174,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:175,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:177,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:178,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:180,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:181,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-emsgsize-dtls.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 186
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-emsgsize-dtls.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - TRANSFER
    - gnutls_dh_params_init
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_anon_set_server_dh_params
    - exit
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE_DTLS
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - fputs
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509-dn.c:66,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-dn.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:69,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-dn.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:72,1
    - Dst: gnutls_x509_crt_get_subject
      Src: /src/gnutls/tests/x509-dn.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:75,1
    - Dst: gnutls_x509_dn_export
      Src: /src/gnutls/tests/x509-dn.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:80,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn.c:81,1
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/tests/x509-dn.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:84,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/tests/x509-dn.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:90,1
    - Dst: gnutls_x509_dn_export
      Src: /src/gnutls/tests/x509-dn.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn.c:96,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-dn.c:99,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/tests/x509-dn.c:101,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-dn.c:103,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-dn.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-dn.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - gnutls_x509_dn_init
    - memcmp
    - global_init
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_import
    - gnutls_x509_dn_export
    - gnutls_x509_crt_get_subject
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-global-load.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-global-load.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-global-load.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-global-load.c:96,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-global-load.c:98,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-global-load.c:101,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-global-load.c:102,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-global-load.c:104,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-global-load.c:105,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-global-load.c:106,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-global-load.c:107,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-global-load.c:108,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-global-load.c:109,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-global-load.c:112,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-global-load.c:113,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-global-load.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-global-load.c:115,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-global-load.c:116,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-global-load.c:117,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-global-load.c:118,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-global-load.c:120,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-global-load.c:122,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-global-load.c:123,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-global-load.c:125,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-global-load.c:126,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-global-load.c:128,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-global-load.c:129,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-global-load.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 132
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-global-load.c
    functionUses: 73
    functionsReached:
    - reset_buffers
    - success
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - HANDSHAKE
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-global-load.c:136,1
    - Dst: start
      Src: /src/gnutls/tests/mini-global-load.c:137,1
    - Dst: start
      Src: /src/gnutls/tests/mini-global-load.c:138,1
    - Dst: start
      Src: /src/gnutls/tests/mini-global-load.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-global-load.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-record-size-limit.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit.c:115,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls-record-size-limit.c:117,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls-record-size-limit.c:118,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls-record-size-limit.c:119,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/tls-record-size-limit.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit.c:125,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/tls-record-size-limit.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit.c:133,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls-record-size-limit.c:135,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/tls-record-size-limit.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP16
    - SKIP8
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - exp
    - data
    argTypes:
    - struct test_exp_st*
    - struct handshake_cb_data_st*
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: check_exts
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: "void check_exts(const struct test_exp_st *exp,\n\t\t       struct
      handshake_cb_data_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/tls-record-size-limit.c:195,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-record-size-limit.c:196,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls-record-size-limit.c:198,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:201,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-record-size-limit.c:203,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-record-size-limit.c:206,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-record-size-limit.c:207,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-record-size-limit.c:210,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-record-size-limit.c:211,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-record-size-limit.c:213,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/tests/tls-record-size-limit.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:217,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:223,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:224,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:225,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-record-size-limit.c:227,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:230,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-record-size-limit.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:238,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls-record-size-limit.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:243,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-record-size-limit.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:247,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-record-size-limit.c:249,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:252,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-record-size-limit.c:254,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:256,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/tests/tls-record-size-limit.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:260,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:266,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:267,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:268,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-record-size-limit.c:270,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls-record-size-limit.c:273,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls-record-size-limit.c:277,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-record-size-limit.c:279,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit.c:280,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit.c:282,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:283,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:286,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit.c:288,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit.c:291,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:294,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit.c:296,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit.c:299,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit.c:301,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:302,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit.c:305,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit.c:307,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit.c:310,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit.c:312,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit.c:313,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit.c:315,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-record-size-limit.c:318,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-record-size-limit.c:319,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-record-size-limit.c:321,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-record-size-limit.c:322,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-record-size-limit.c:324,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-record-size-limit.c:325,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-record-size-limit.c:327,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-record-size-limit.c:329,1
    - Dst: check_exts
      Src: /src/gnutls/tests/tls-record-size-limit.c:331,1
    - Dst: check_exts
      Src: /src/gnutls/tests/tls-record-size-limit.c:332,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 91
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 333
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 333
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 74
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_perror
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - check_exts
    - gnutls_record_set_max_size
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls-record-size-limit.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-max-record.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-max-record.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-max-record.c:52,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-max-record.c:66,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-max-record.c:68,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-max-record.c:71,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-max-record.c:72,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-max-record.c:75,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-max-record.c:76,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-max-record.c:78,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-max-record.c:80,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-max-record.c:81,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls12-max-record.c:82,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-max-record.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-max-record.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:90,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls12-max-record.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-max-record.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-max-record.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-max-record.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:109,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/tests/tls12-max-record.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-max-record.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-max-record.c:113,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls12-max-record.c:114,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-max-record.c:116,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-max-record.c:118,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-max-record.c:120,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-max-record.c:121,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls12-max-record.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:124,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-max-record.c:126,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-max-record.c:128,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls12-max-record.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-max-record.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-max-record.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-max-record.c:135,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-max-record.c:136,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-max-record.c:138,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-max-record.c:139,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-max-record.c:141,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-max-record.c:142,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-max-record.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 145
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-max-record.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_record_set_max_size
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:88,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:91,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:95,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:99,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:100,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:104,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:106,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:108,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:109,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:114,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:118,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:120,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:127,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:128,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:129,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:134,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:136,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:142,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:157,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:159,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:165,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:170,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:170,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:172,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:176,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:178,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:180,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:182,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 3
    argNames:
    - fd
    - server_init
    - prio
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 183
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 183
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 22
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - snprintf
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - sec_sleep
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int server_init, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:191,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:192,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:193,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 12
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:205,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:208,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:212,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:213,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:213,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:217,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:218,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:224,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:224,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:226,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:228,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:229,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:232,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:235,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:238,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:239,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:245,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:246,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:254,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:257,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:257,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:262,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:264,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:268,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:269,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:270,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:275,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:278,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:283,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:288,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:290,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:297,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:298,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:299,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:304,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:305,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:313,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:315,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:316,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:318,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:323,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 3
    argNames:
    - fd
    - server_init
    - prio
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 324
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 324
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 31
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - snprintf
    - gnutls_rehandshake
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int server_init, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:331,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:334,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:337,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:339,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:340,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:341,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:348,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:349,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:350,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:352,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:353,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - server_initiated
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 75
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int server_initiated, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:360,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-cert.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:78,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:80,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:82,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:86,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:91,1
    - Dst: gnutls_privkey_verify_params
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:95,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:100,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:105,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:109,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:114,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:116,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:121,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:126,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:131,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:133,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:135,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:136,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 139
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-ed25519-rfc8080.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_import_ecc_raw
    - gnutls_strerror
    - gnutls_free
    - gnutls_global_deinit
    - gnutls_pubkey_verify_data2
    - gnutls_privkey_verify_params
    - gnutls_pubkey_import_privkey
    - global_init
    - gnutls_privkey_sign_data
    - gnutls_privkey_import_ecc_raw
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/duplicate-extensions.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/duplicate-extensions.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/duplicate-extensions.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/duplicate-extensions.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/duplicate-extensions.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:100,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/duplicate-extensions.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:108,1
    - Dst: poll
      Src: /src/gnutls/tests/duplicate-extensions.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/duplicate-extensions.c:118,1
    - Dst: recv
      Src: /src/gnutls/tests/duplicate-extensions.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/duplicate-extensions.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/duplicate-extensions.c:131,1
    - Dst: close
      Src: /src/gnutls/tests/duplicate-extensions.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: client
    functionSourceFile: /src/gnutls/tests/duplicate-extensions.c
    functionUses: 23
    functionsReached:
    - success
    - get_timeout
    - close
    - send
    - poll
    - recv
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/duplicate-extensions.c:144,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/duplicate-extensions.c:146,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/duplicate-extensions.c:148,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/duplicate-extensions.c:150,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/duplicate-extensions.c:151,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/duplicate-extensions.c:154,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/duplicate-extensions.c:159,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/duplicate-extensions.c:164,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/duplicate-extensions.c:168,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/duplicate-extensions.c:168,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/duplicate-extensions.c:170,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/duplicate-extensions.c:172,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/duplicate-extensions.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:178,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/tests/duplicate-extensions.c:181,1
    - Dst: close
      Src: /src/gnutls/tests/duplicate-extensions.c:183,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/duplicate-extensions.c:184,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/duplicate-extensions.c:186,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/duplicate-extensions.c:188,1
    - Dst: success
      Src: /src/gnutls/tests/duplicate-extensions.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 192
    functionName: server
    functionSourceFile: /src/gnutls/tests/duplicate-extensions.c
    functionUses: 32
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_alert_send_appropriate
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/duplicate-extensions.c:199,1
    - Dst: socketpair
      Src: /src/gnutls/tests/duplicate-extensions.c:201,1
    - Dst: perror
      Src: /src/gnutls/tests/duplicate-extensions.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:204,1
    - Dst: fork
      Src: /src/gnutls/tests/duplicate-extensions.c:208,1
    - Dst: perror
      Src: /src/gnutls/tests/duplicate-extensions.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/duplicate-extensions.c:211,1
    - Dst: close
      Src: /src/gnutls/tests/duplicate-extensions.c:218,1
    - Dst: client
      Src: /src/gnutls/tests/duplicate-extensions.c:219,1
    - Dst: wait
      Src: /src/gnutls/tests/duplicate-extensions.c:220,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/duplicate-extensions.c:221,1
    - Dst: close
      Src: /src/gnutls/tests/duplicate-extensions.c:223,1
    - Dst: server
      Src: /src/gnutls/tests/duplicate-extensions.c:224,1
    - Dst: _exit
      Src: /src/gnutls/tests/duplicate-extensions.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 227
    functionName: doit
    functionSourceFile: /src/gnutls/tests/duplicate-extensions.c
    functionUses: 0
    functionsReached:
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - _exit
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-etm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-etm.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-etm.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-etm.c:85,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-etm.c:86,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls-etm.c:89,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-etm.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-etm.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-etm.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-etm.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-etm.c:101,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-etm.c:102,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-etm.c:104,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-etm.c:109,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-etm.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:113,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-etm.c:114,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-etm.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-etm.c:124,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-etm.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:128,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-etm.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:131,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-etm.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:137,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-etm.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:141,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-etm.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-etm.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:157,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-etm.c:161,1
    - Dst: close
      Src: /src/gnutls/tests/tls-etm.c:165,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-etm.c:167,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls-etm.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-etm.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-etm.c:172,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - fd
    - prio
    - etm
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 24
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-etm.c:180,1
    - Dst: kill
      Src: /src/gnutls/tests/tls-etm.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 13
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-etm.c:196,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-etm.c:197,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-etm.c:200,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-etm.c:201,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-etm.c:204,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-etm.c:205,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls-etm.c:208,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-etm.c:210,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-etm.c:215,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-etm.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-etm.c:217,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-etm.c:218,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-etm.c:220,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-etm.c:223,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-etm.c:224,1
    - Dst: close
      Src: /src/gnutls/tests/tls-etm.c:226,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-etm.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-etm.c:229,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-etm.c:230,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-etm.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:235,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-etm.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:237,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:238,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-etm.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:244,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-etm.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:248,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:255,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-etm.c:256,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-etm.c:257,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-etm.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-etm.c:267,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-etm.c:268,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-etm.c:276,1
    - Dst: close
      Src: /src/gnutls/tests/tls-etm.c:278,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-etm.c:279,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls-etm.c:281,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-etm.c:282,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-etm.c:284,1
    - Dst: success
      Src: /src/gnutls/tests/tls-etm.c:287,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - fd
    - prio
    - etm
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 288
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 288
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 33
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - exit
    - gnutls_session_get_flags
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-etm.c:295,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-etm.c:297,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:298,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-etm.c:301,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-etm.c:303,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-etm.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/tls-etm.c:310,1
    - Dst: server
      Src: /src/gnutls/tests/tls-etm.c:311,1
    - Dst: kill
      Src: /src/gnutls/tests/tls-etm.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/tls-etm.c:314,1
    - Dst: client
      Src: /src/gnutls/tests/tls-etm.c:315,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-etm.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - prio
    - etm
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 318
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 318
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 76
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls-etm.c:330,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-etm.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-etm.c:337,1
    - Dst: start
      Src: /src/gnutls/tests/tls-etm.c:339,1
    - Dst: start
      Src: /src/gnutls/tests/tls-etm.c:340,1
    - Dst: start
      Src: /src/gnutls/tests/tls-etm.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-etm.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-supplemental.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-supplemental.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:81,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-supplemental.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: supp_client_recv_func
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int supp_client_recv_func(gnutls_session_t session,\n\t\t\t\t const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-supplemental.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: supp_client_send_func
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:102,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-supplemental.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: supp_server_recv_func
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int supp_server_recv_func(gnutls_session_t session,\n\t\t\t\t const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-supplemental.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: supp_server_send_func
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-supplemental.c:124,1
    - Dst: gnutls_supplemental_register
      Src: /src/gnutls/tests/tls-supplemental.c:124,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-supplemental.c:133,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-supplemental.c:135,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-supplemental.c:135,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-supplemental.c:138,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-supplemental.c:140,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-supplemental.c:142,1
    - Dst: gnutls_supplemental_recv
      Src: /src/gnutls/tests/tls-supplemental.c:145,1
    - Dst: gnutls_supplemental_send
      Src: /src/gnutls/tests/tls-supplemental.c:146,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-supplemental.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:154,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-supplemental.c:155,1
    - Dst: success
      Src: /src/gnutls/tests/tls-supplemental.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-supplemental.c:171,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-supplemental.c:171,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-supplemental.c:174,1
    - Dst: close
      Src: /src/gnutls/tests/tls-supplemental.c:177,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-supplemental.c:179,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-supplemental.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - sd
    - prio
    - server_only
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 182
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 182
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 25
    functionsReached:
    - assert
    - success
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_supplemental_send
    - gnutls_bye
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - close
    - gnutls_supplemental_recv
    - gnutls_certificate_free_credentials
    - gnutls_supplemental_register
    - gnutls_perror
    - fail
    - gnutls_transport_set_int
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-supplemental.c:194,1
    - Dst: gnutls_supplemental_register
      Src: /src/gnutls/tests/tls-supplemental.c:194,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-supplemental.c:202,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-supplemental.c:203,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-supplemental.c:206,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-supplemental.c:208,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-supplemental.c:208,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-supplemental.c:210,1
    - Dst: gnutls_supplemental_recv
      Src: /src/gnutls/tests/tls-supplemental.c:213,1
    - Dst: gnutls_supplemental_send
      Src: /src/gnutls/tests/tls-supplemental.c:214,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-supplemental.c:217,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-supplemental.c:218,1
    - Dst: close
      Src: /src/gnutls/tests/tls-supplemental.c:220,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-supplemental.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-supplemental.c:223,1
    - Dst: success
      Src: /src/gnutls/tests/tls-supplemental.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:232,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-supplemental.c:237,1
    - Dst: close
      Src: /src/gnutls/tests/tls-supplemental.c:239,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-supplemental.c:240,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-supplemental.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/tls-supplemental.c:245,1
    - Dst: _gnutls_supplemental_deinit
      Src: /src/gnutls/tests/tls-supplemental.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - sd
    - prio
    - server_only
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 248
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 248
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 34
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - _gnutls_supplemental_deinit
    - close
    - gnutls_init
    - gnutls_supplemental_register
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_supplemental_send
    - gnutls_priority_set_direct
    - gnutls_supplemental_recv
    - gnutls_strerror
    - gnutls_handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-supplemental.c:260,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-supplemental.c:262,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-supplemental.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:265,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-supplemental.c:269,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-supplemental.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-supplemental.c:272,1
    - Dst: close
      Src: /src/gnutls/tests/tls-supplemental.c:279,1
    - Dst: server
      Src: /src/gnutls/tests/tls-supplemental.c:280,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-supplemental.c:281,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-supplemental.c:282,1
    - Dst: close
      Src: /src/gnutls/tests/tls-supplemental.c:284,1
    - Dst: client
      Src: /src/gnutls/tests/tls-supplemental.c:285,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-supplemental.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - prio
    - server_only
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 77
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-supplemental.c:292,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-supplemental.c:294,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-supplemental.c:296,1
    - Dst: start
      Src: /src/gnutls/tests/tls-supplemental.c:298,1
    - Dst: start
      Src: /src/gnutls/tests/tls-supplemental.c:299,1
    - Dst: start
      Src: /src/gnutls/tests/tls-supplemental.c:300,1
    - Dst: start
      Src: /src/gnutls/tests/tls-supplemental.c:301,1
    - Dst: start
      Src: /src/gnutls/tests/tls-supplemental.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-supplemental.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - signal
    - start
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/iov.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - buffer
    - src
    - iovcnt
    argTypes:
    - giovec_t*
    - uint8_t*
    - giovec_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: copy
    functionSourceFile: /src/gnutls/tests/iov.c
    functionUses: 111
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void copy(giovec_t *dst, uint8_t *buffer, const giovec_t *src,\n\t\t
      size_t iovcnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: translate
    functionSourceFile: /src/gnutls/tests/iov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void translate(uint8_t *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy
      Src: /src/gnutls/tests/iov.c:175,1
    - Dst: success
      Src: /src/gnutls/tests/iov.c:177,1
    - Dst: assert
      Src: /src/gnutls/tests/iov.c:178,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/tests/iov.c:178,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/tests/iov.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:185,1
    - Dst: success
      Src: /src/gnutls/tests/iov.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:194,1
    - Dst: success
      Src: /src/gnutls/tests/iov.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:202,1
    - Dst: success
      Src: /src/gnutls/tests/iov.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:210,1
    - Dst: success
      Src: /src/gnutls/tests/iov.c:213,1
    - Dst: translate
      Src: /src/gnutls/tests/iov.c:216,1
    - Dst: _gnutls_iov_iter_sync
      Src: /src/gnutls/tests/iov.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:220,1
    - Dst: translate
      Src: /src/gnutls/tests/iov.c:225,1
    - Dst: memcmp
      Src: /src/gnutls/tests/iov.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/iov.c:229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 236
    functionName: doit
    functionSourceFile: /src/gnutls/tests/iov.c
    functionUses: 0
    functionsReached:
    - success
    - assert
    - translate
    - _gnutls_iov_iter_init
    - _gnutls_iov_iter_next
    - memcmp
    - copy
    - _gnutls_iov_iter_sync
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/alerts.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/alerts.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/alerts.c:77,1
    - Dst: memset
      Src: /src/gnutls/tests/alerts.c:78,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/alerts.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/alerts.c:82,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/alerts.c:85,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/alerts.c:89,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/alerts.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/alerts.c:100,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/alerts.c:102,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/alerts.c:107,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/alerts.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/alerts.c:116,1
    - Dst: success
      Src: /src/gnutls/tests/alerts.c:120,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/alerts.c:121,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/alerts.c:122,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/tests/alerts.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:129,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/tests/alerts.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:137,1
    - Dst: close
      Src: /src/gnutls/tests/alerts.c:140,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alerts.c:142,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/alerts.c:144,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/alerts.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 147
    functionName: client
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 26
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_alert_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/alerts.c:154,1
    - Dst: kill
      Src: /src/gnutls/tests/alerts.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 14
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/alerts.c:169,1
    - Dst: memset
      Src: /src/gnutls/tests/alerts.c:170,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/alerts.c:173,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/alerts.c:174,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/alerts.c:177,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/alerts.c:178,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/alerts.c:181,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/alerts.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:189,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/alerts.c:192,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/alerts.c:194,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/alerts.c:197,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/alerts.c:198,1
    - Dst: close
      Src: /src/gnutls/tests/alerts.c:200,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alerts.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:203,1
    - Dst: terminate
      Src: /src/gnutls/tests/alerts.c:204,1
    - Dst: success
      Src: /src/gnutls/tests/alerts.c:207,1
    - Dst: success
      Src: /src/gnutls/tests/alerts.c:210,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/alerts.c:211,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/alerts.c:212,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/alerts.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:220,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/tests/alerts.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:225,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:225,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/alerts.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:234,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/tests/alerts.c:238,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alerts.c:239,1
    - Dst: close
      Src: /src/gnutls/tests/alerts.c:242,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alerts.c:243,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/alerts.c:245,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/alerts.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/alerts.c:250,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 251
    functionName: server
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 35
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_alert_get
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/alerts.c:258,1
    - Dst: perror
      Src: /src/gnutls/tests/alerts.c:260,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:261,1
    - Dst: fork
      Src: /src/gnutls/tests/alerts.c:264,1
    - Dst: perror
      Src: /src/gnutls/tests/alerts.c:266,1
    - Dst: fail
      Src: /src/gnutls/tests/alerts.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/alerts.c:273,1
    - Dst: server
      Src: /src/gnutls/tests/alerts.c:274,1
    - Dst: close
      Src: /src/gnutls/tests/alerts.c:276,1
    - Dst: client
      Src: /src/gnutls/tests/alerts.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/alerts.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - prio
    - ign
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 280
    functionName: start
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 78
    functionsReached:
    - exit
    - fork
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/alerts.c:288,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/alerts.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/alerts.c:295,1
    - Dst: start
      Src: /src/gnutls/tests/alerts.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: doit
    functionSourceFile: /src/gnutls/tests/alerts.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/hostname-check-utf8.c:108,1
    - Dst: global_init
      Src: /src/gnutls/tests/hostname-check-utf8.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:113,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/hostname-check-utf8.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check-utf8.c:120,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check-utf8.c:122,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check-utf8.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:126,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:130,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:134,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:138,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:142,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:146,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:150,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:156,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:160,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:164,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:169,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:174,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:179,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check-utf8.c:183,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check-utf8.c:185,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check-utf8.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:189,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:193,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:197,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:201,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:205,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:209,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:213,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:218,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:223,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:229,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check-utf8.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check-utf8.c:234,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/hostname-check-utf8.c:238,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/hostname-check-utf8.c:240,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 241
    functionName: doit
    functionSourceFile: /src/gnutls/tests/hostname-check-utf8.c
    functionUses: 0
    functionsReached:
    - success
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_check_hostname
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/tests/hex.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/hex.c:45,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:46,1
    - Dst: strlen
      Src: /src/gnutls/tests/hex.c:49,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:50,1
    - Dst: strlen
      Src: /src/gnutls/tests/hex.c:51,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:52,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/hex.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:58,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/hex.c:61,1
    - Dst: strlen
      Src: /src/gnutls/tests/hex.c:64,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/hex.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:67,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/hex.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:73,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:75,1
    - Dst: memcmp
      Src: /src/gnutls/tests/hex.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:79,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/hex.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - test_name
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: encode
    functionSourceFile: /src/gnutls/tests/hex.c
    functionUses: 17
    functionsReached:
    - strncasecmp
    - gnutls_strerror
    - gnutls_hex_encode2
    - exit
    - strlen
    - gnutls_free
    - gnutls_hex_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/hex.c:96,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/hex.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/hex.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:107,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:115,1
    - Dst: memcmp
      Src: /src/gnutls/tests/hex.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:121,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/hex.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - test_name
    - raw
    - hex
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 127
    functionName: decode
    functionSourceFile: /src/gnutls/tests/hex.c
    functionUses: 11
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - gnutls_hex_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *hex, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hex2bin
      Src: /src/gnutls/tests/hex.c:137,1
    - Dst: strlen
      Src: /src/gnutls/tests/hex.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/hex.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:153,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:155,1
    - Dst: memcmp
      Src: /src/gnutls/tests/hex.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/hex.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/hex.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - test_name
    - raw
    - hex
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: decode2
    functionSourceFile: /src/gnutls/tests/hex.c
    functionUses: 3
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - memcmp
    - gnutls_hex2bin
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode2(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \   const char *hex, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/hex.c:224,1
    - Dst: decode
      Src: /src/gnutls/tests/hex.c:229,1
    - Dst: decode2
      Src: /src/gnutls/tests/hex.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: doit
    functionSourceFile: /src/gnutls/tests/hex.c
    functionUses: 0
    functionsReached:
    - decode
    - encode
    - decode2
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-allow.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:53,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:67,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:68,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:69,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:71,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:74,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:75,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:76,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:78,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:81,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:84,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:91,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:105,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:107,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:110,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:114,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:116,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:119,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:120,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:121,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:125,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:127,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:129,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:130,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:132,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:133,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:134,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 136
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-allow.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_kx_get
    - fail
    linkageType: ''
    returnType: void
    signature: void try(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:140,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-allow.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-allow.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:155,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:157,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - data
    - data_size
    argTypes:
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: dump
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 9
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, const uint8_t *data, unsigned data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRY
      Src: /src/gnutls/tests/prf.c:213,1
    - Dst: TRY
      Src: /src/gnutls/tests/prf.c:215,1
    - Dst: TRY
      Src: /src/gnutls/tests/prf.c:217,1
    - Dst: TRY
      Src: /src/gnutls/tests/prf.c:219,1
    - Dst: TRY_OLD
      Src: /src/gnutls/tests/prf.c:222,1
    - Dst: TRY_OLD
      Src: /src/gnutls/tests/prf.c:224,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/prf.c:228,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:231,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/prf.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:233,1
    - Dst: gnutls_prf_rfc5705
      Src: /src/gnutls/tests/prf.c:236,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:239,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/prf.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:241,1
    - Dst: memcmp
      Src: /src/gnutls/tests/prf.c:244,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:245,1
    - Dst: dump
      Src: /src/gnutls/tests/prf.c:247,1
    - Dst: dump
      Src: /src/gnutls/tests/prf.c:248,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 251
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 251
    functionName: check_prfs
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 0
    functionsReached:
    - gnutls_prf
    - exit
    - TRY_OLD
    - TRY
    - memcmp
    - gnutls_prf_rfc5705
    - dump
    - gnutls_perror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_prfs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/prf.c:261,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/prf.c:264,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/prf.c:265,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/prf.c:268,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/prf.c:272,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/prf.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/prf.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:282,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/prf.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:291,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/prf.c:292,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:293,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/prf.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:299,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/prf.c:301,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/prf.c:302,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/prf.c:304,1
    - Dst: gnutls_prf_rfc5705
      Src: /src/gnutls/tests/prf.c:306,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:308,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:309,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/prf.c:315,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/prf.c:316,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:319,1
    - Dst: strerror
      Src: /src/gnutls/tests/prf.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/prf.c:323,1
    - Dst: success
      Src: /src/gnutls/tests/prf.c:327,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/prf.c:328,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/prf.c:329,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/prf.c:331,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:333,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/prf.c:334,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:335,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/prf.c:338,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:340,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/prf.c:341,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:342,1
    - Dst: gnutls_prf_hash_get
      Src: /src/gnutls/tests/prf.c:345,1
    - Dst: fprintf
      Src: /src/gnutls/tests/prf.c:347,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/tests/prf.c:348,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:349,1
    - Dst: check_prfs
      Src: /src/gnutls/tests/prf.c:352,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/prf.c:354,1
    - Dst: close
      Src: /src/gnutls/tests/prf.c:356,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/prf.c:358,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/prf.c:360,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/prf.c:362,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 363
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 363
    functionName: client
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_certificate_free_credentials
    - gnutls_digest_get_name
    - gnutls_session_set_premaster
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - close
    - gnutls_init
    - gnutls_prf_rfc5705
    - gnutls_prf_hash_get
    - strerror
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - check_prfs
    - gnutls_strerror
    - gnutls_prf
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/prf.c:370,1
    - Dst: wait
      Src: /src/gnutls/tests/prf.c:371,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 15
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/prf.c:384,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/prf.c:387,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/prf.c:388,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/prf.c:391,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/prf.c:393,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/prf.c:398,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:401,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/prf.c:402,1
    - Dst: terminate
      Src: /src/gnutls/tests/prf.c:403,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/prf.c:406,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:412,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/prf.c:413,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:414,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/prf.c:417,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/prf.c:419,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/prf.c:421,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/prf.c:422,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/prf.c:425,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/prf.c:426,1
    - Dst: close
      Src: /src/gnutls/tests/prf.c:428,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/prf.c:429,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:430,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/prf.c:431,1
    - Dst: terminate
      Src: /src/gnutls/tests/prf.c:432,1
    - Dst: success
      Src: /src/gnutls/tests/prf.c:435,1
    - Dst: success
      Src: /src/gnutls/tests/prf.c:438,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/prf.c:439,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/prf.c:440,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/prf.c:444,1
    - Dst: close
      Src: /src/gnutls/tests/prf.c:446,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/prf.c:447,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/prf.c:449,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/prf.c:451,1
    - Dst: success
      Src: /src/gnutls/tests/prf.c:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 455
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 455
    functionName: server
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 36
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_session_set_premaster
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/prf.c:462,1
    - Dst: socketpair
      Src: /src/gnutls/tests/prf.c:464,1
    - Dst: perror
      Src: /src/gnutls/tests/prf.c:466,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:467,1
    - Dst: fork
      Src: /src/gnutls/tests/prf.c:470,1
    - Dst: perror
      Src: /src/gnutls/tests/prf.c:472,1
    - Dst: fail
      Src: /src/gnutls/tests/prf.c:473,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:474,1
    - Dst: server
      Src: /src/gnutls/tests/prf.c:481,1
    - Dst: wait
      Src: /src/gnutls/tests/prf.c:482,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/prf.c:483,1
    - Dst: close
      Src: /src/gnutls/tests/prf.c:485,1
    - Dst: client
      Src: /src/gnutls/tests/prf.c:486,1
    - Dst: exit
      Src: /src/gnutls/tests/prf.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 489
    functionName: start
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 79
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/prf.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: doit
    functionSourceFile: /src/gnutls/tests/prf.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-loss-time.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:59,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:61,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:63,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:65,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:67,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:69,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:71,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:73,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: print_type
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_type(const unsigned char *buf, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:104,1
    - Dst: print_type
      Src: /src/gnutls/tests/mini-loss-time.c:105,1
    - Dst: send
      Src: /src/gnutls/tests/mini-loss-time.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 20
    functionsReached:
    - print_type
    - fprintf
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-loss-time.c:122,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-loss-time.c:125,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-loss-time.c:126,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-loss-time.c:129,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-loss-time.c:133,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-loss-time.c:134,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-loss-time.c:135,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-loss-time.c:138,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-loss-time.c:145,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-loss-time.c:149,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-loss-time.c:154,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-loss-time.c:158,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-loss-time.c:159,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-loss-time.c:160,1
    - Dst: success
      Src: /src/gnutls/tests/mini-loss-time.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-loss-time.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - fd
    - timeout
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 28
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - success
    - gnutls_strerror
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_dtls_set_mtu
    - gnutls_anon_free_client_credentials
    - gnutls_dtls_set_timeouts
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_init
    - gnutls_transport_set_int
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-loss-time.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-loss-time.c:188,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-loss-time.c:189,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-loss-time.c:192,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-loss-time.c:194,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-loss-time.c:195,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-loss-time.c:196,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-loss-time.c:201,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-loss-time.c:206,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-loss-time.c:211,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-loss-time.c:212,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-loss-time.c:215,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-loss-time.c:219,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-loss-time.c:220,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-loss-time.c:221,1
    - Dst: success
      Src: /src/gnutls/tests/mini-loss-time.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:229,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-loss-time.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - packet
    - timeout
    argTypes:
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 238
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 238
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 37
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_dtls_set_mtu
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_dtls_set_timeouts
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_anon_allocate_server_credentials
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server(int fd, int packet, unsigned timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-loss-time.c:246,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-loss-time.c:250,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-loss-time.c:252,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-loss-time.c:253,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-loss-time.c:256,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-loss-time.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:259,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-loss-time.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/mini-loss-time.c:265,1
    - Dst: server
      Src: /src/gnutls/tests/mini-loss-time.c:267,1
    - Dst: client
      Src: /src/gnutls/tests/mini-loss-time.c:269,1
    - Dst: close
      Src: /src/gnutls/tests/mini-loss-time.c:270,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-loss-time.c:271,1
    - Dst: close
      Src: /src/gnutls/tests/mini-loss-time.c:273,1
    - Dst: client
      Src: /src/gnutls/tests/mini-loss-time.c:275,1
    - Dst: server
      Src: /src/gnutls/tests/mini-loss-time.c:277,1
    - Dst: close
      Src: /src/gnutls/tests/mini-loss-time.c:278,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-loss-time.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - server_packet
    - wait_server
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 281
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 80
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fprintf
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int server_packet, int wait_server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/mini-loss-time.c:286,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-loss-time.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-loss-time.c:297,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-loss-time.c:298,1
    - Dst: time
      Src: /src/gnutls/tests/mini-loss-time.c:301,1
    - Dst: start
      Src: /src/gnutls/tests/mini-loss-time.c:302,1
    - Dst: time
      Src: /src/gnutls/tests/mini-loss-time.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:310,1
    - Dst: success
      Src: /src/gnutls/tests/mini-loss-time.c:313,1
    - Dst: time
      Src: /src/gnutls/tests/mini-loss-time.c:320,1
    - Dst: start
      Src: /src/gnutls/tests/mini-loss-time.c:321,1
    - Dst: time
      Src: /src/gnutls/tests/mini-loss-time.c:323,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-loss-time.c:329,1
    - Dst: success
      Src: /src/gnutls/tests/mini-loss-time.c:332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 337
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-loss-time.c
    functionUses: 0
    functionsReached:
    - success
    - signal
    - time
    - fail
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/client-sign-md5-rep.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/client-sign-md5-rep.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/client-sign-md5-rep.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/client-sign-md5-rep.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/client-sign-md5-rep.c:526,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:528,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/client-sign-md5-rep.c:534,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:536,1
    - Dst: poll
      Src: /src/gnutls/tests/client-sign-md5-rep.c:539,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:543,1
    - Dst: success
      Src: /src/gnutls/tests/client-sign-md5-rep.c:546,1
    - Dst: recv
      Src: /src/gnutls/tests/client-sign-md5-rep.c:547,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:549,1
    - Dst: success
      Src: /src/gnutls/tests/client-sign-md5-rep.c:551,1
    - Dst: close
      Src: /src/gnutls/tests/client-sign-md5-rep.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 554
    functionName: server
    functionSourceFile: /src/gnutls/tests/client-sign-md5-rep.c
    functionUses: 38
    functionsReached:
    - success
    - get_timeout
    - close
    - send
    - poll
    - recv
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/client-sign-md5-rep.c:564,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/client-sign-md5-rep.c:566,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/client-sign-md5-rep.c:568,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/client-sign-md5-rep.c:570,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/client-sign-md5-rep.c:571,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/client-sign-md5-rep.c:574,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/client-sign-md5-rep.c:579,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/client-sign-md5-rep.c:584,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/client-sign-md5-rep.c:588,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/client-sign-md5-rep.c:588,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/client-sign-md5-rep.c:589,1
    - Dst: strlen
      Src: /src/gnutls/tests/client-sign-md5-rep.c:590,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/client-sign-md5-rep.c:592,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/client-sign-md5-rep.c:594,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/client-sign-md5-rep.c:596,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:600,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-sign-md5-rep.c:601,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/tests/client-sign-md5-rep.c:604,1
    - Dst: close
      Src: /src/gnutls/tests/client-sign-md5-rep.c:606,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/client-sign-md5-rep.c:607,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/client-sign-md5-rep.c:609,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/client-sign-md5-rep.c:611,1
    - Dst: success
      Src: /src/gnutls/tests/client-sign-md5-rep.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 615
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 615
    functionName: client
    functionSourceFile: /src/gnutls/tests/client-sign-md5-rep.c
    functionUses: 29
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_alert_send_appropriate
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/client-sign-md5-rep.c:624,1
    - Dst: exit
      Src: /src/gnutls/tests/client-sign-md5-rep.c:625,1
    - Dst: signal
      Src: /src/gnutls/tests/client-sign-md5-rep.c:627,1
    - Dst: socketpair
      Src: /src/gnutls/tests/client-sign-md5-rep.c:629,1
    - Dst: perror
      Src: /src/gnutls/tests/client-sign-md5-rep.c:631,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:632,1
    - Dst: fork
      Src: /src/gnutls/tests/client-sign-md5-rep.c:636,1
    - Dst: perror
      Src: /src/gnutls/tests/client-sign-md5-rep.c:638,1
    - Dst: fail
      Src: /src/gnutls/tests/client-sign-md5-rep.c:639,1
    - Dst: close
      Src: /src/gnutls/tests/client-sign-md5-rep.c:646,1
    - Dst: client
      Src: /src/gnutls/tests/client-sign-md5-rep.c:647,1
    - Dst: wait
      Src: /src/gnutls/tests/client-sign-md5-rep.c:648,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/client-sign-md5-rep.c:649,1
    - Dst: close
      Src: /src/gnutls/tests/client-sign-md5-rep.c:651,1
    - Dst: server
      Src: /src/gnutls/tests/client-sign-md5-rep.c:652,1
    - Dst: _exit
      Src: /src/gnutls/tests/client-sign-md5-rep.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 655
    functionName: doit
    functionSourceFile: /src/gnutls/tests/client-sign-md5-rep.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - gnutls_fips140_mode_enabled
    - wait
    - client
    - _exit
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dhex509self.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dhex509self.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dhex509self.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dhex509self.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dhex509self.c:83,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dhex509self.c:85,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/dhex509self.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dhex509self.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dhex509self.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dhex509self.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dhex509self.c:105,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dhex509self.c:107,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhex509self.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:114,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dhex509self.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dhex509self.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dhex509self.c:124,1
    - Dst: print_info
      Src: /src/gnutls/tests/dhex509self.c:128,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/dhex509self.c:130,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/dhex509self.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dhex509self.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:139,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dhex509self.c:142,1
    - Dst: strlen
      Src: /src/gnutls/tests/dhex509self.c:142,1
    - Dst: strlen
      Src: /src/gnutls/tests/dhex509self.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:148,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dhex509self.c:149,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dhex509self.c:153,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:160,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhex509self.c:161,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:164,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dhex509self.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:167,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:176,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dhex509self.c:176,1
    - Dst: printf
      Src: /src/gnutls/tests/dhex509self.c:181,1
    - Dst: fputc
      Src: /src/gnutls/tests/dhex509self.c:183,1
    - Dst: fputs
      Src: /src/gnutls/tests/dhex509self.c:185,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dhex509self.c:188,1
    - Dst: close
      Src: /src/gnutls/tests/dhex509self.c:192,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhex509self.c:194,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dhex509self.c:196,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dhex509self.c:198,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 199
    functionName: client
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 30
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - print_dh_params_info
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_credentials_get
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dhex509self.c:214,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dhex509self.c:219,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dhex509self.c:222,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dhex509self.c:222,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dhex509self.c:224,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/tests/dhex509self.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: initialize_tls_session
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 1
    functionsReached:
    - gnutls_dh_set_prime_bits
    - gnutls_credentials_set
    - get_timeout
    - gnutls_handshake_set_timeout
    - gnutls_priority_set_direct
    - gnutls_init
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t initialize_tls_session(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/dhex509self.c:240,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dhex509self.c:241,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/dhex509self.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: generate_dh_params
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_init
    - gnutls_dh_params_import_pkcs3
    - strlen
    linkageType: ''
    returnType: int
    signature: int generate_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dhex509self.c:257,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dhex509self.c:259,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dhex509self.c:261,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dhex509self.c:263,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/dhex509self.c:264,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dhex509self.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:273,1
    - Dst: generate_dh_params
      Src: /src/gnutls/tests/dhex509self.c:275,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/dhex509self.c:277,1
    - Dst: initialize_tls_session
      Src: /src/gnutls/tests/dhex509self.c:279,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dhex509self.c:281,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhex509self.c:282,1
    - Dst: close
      Src: /src/gnutls/tests/dhex509self.c:284,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhex509self.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:286,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dhex509self.c:287,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:291,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:292,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dhex509self.c:293,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dhex509self.c:294,1
    - Dst: print_info
      Src: /src/gnutls/tests/dhex509self.c:299,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/dhex509self.c:301,1
    - Dst: memset
      Src: /src/gnutls/tests/dhex509self.c:304,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dhex509self.c:305,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:309,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:312,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/dhex509self.c:316,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:320,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/dhex509self.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:324,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dhex509self.c:325,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhex509self.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:331,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dhex509self.c:332,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:337,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dhex509self.c:341,1
    - Dst: strlen
      Src: /src/gnutls/tests/dhex509self.c:341,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dhex509self.c:347,1
    - Dst: close
      Src: /src/gnutls/tests/dhex509self.c:349,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhex509self.c:350,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dhex509self.c:352,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dhex509self.c:354,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dhex509self.c:356,1
    - Dst: success
      Src: /src/gnutls/tests/dhex509self.c:359,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 360
    functionName: server
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 39
    functionsReached:
    - gnutls_global_deinit
    - gnutls_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - print_dh_params_info
    - gnutls_record_send
    - close
    - initialize_tls_session
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - generate_dh_params
    - gnutls_protocol_get_version
    - print_info
    - gnutls_protocol_get_name
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dhex509self.c:366,1
    - Dst: perror
      Src: /src/gnutls/tests/dhex509self.c:368,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:369,1
    - Dst: fork
      Src: /src/gnutls/tests/dhex509self.c:373,1
    - Dst: perror
      Src: /src/gnutls/tests/dhex509self.c:375,1
    - Dst: fail
      Src: /src/gnutls/tests/dhex509self.c:376,1
    - Dst: close
      Src: /src/gnutls/tests/dhex509self.c:383,1
    - Dst: server
      Src: /src/gnutls/tests/dhex509self.c:384,1
    - Dst: wait
      Src: /src/gnutls/tests/dhex509self.c:385,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dhex509self.c:386,1
    - Dst: close
      Src: /src/gnutls/tests/dhex509self.c:388,1
    - Dst: client
      Src: /src/gnutls/tests/dhex509self.c:389,1
    - Dst: exit
      Src: /src/gnutls/tests/dhex509self.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dhex509self.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/long-session-id.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: doit
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/long-session-id.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/long-session-id.c:108,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/long-session-id.c:111,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/long-session-id.c:112,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/long-session-id.c:115,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/long-session-id.c:119,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/long-session-id.c:122,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/long-session-id.c:124,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/long-session-id.c:126,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/long-session-id.c:131,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/long-session-id.c:132,1
    - Dst: gnutls_ecc_curve_get
      Src: /src/gnutls/tests/long-session-id.c:134,1
    - Dst: fprintf
      Src: /src/gnutls/tests/long-session-id.c:136,1
    - Dst: kill
      Src: /src/gnutls/tests/long-session-id.c:137,1
    - Dst: getpid
      Src: /src/gnutls/tests/long-session-id.c:137,1
    - Dst: fprintf
      Src: /src/gnutls/tests/long-session-id.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/long-session-id.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/tests/long-session-id.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/long-session-id.c:147,1
    - Dst: kill
      Src: /src/gnutls/tests/long-session-id.c:148,1
    - Dst: getpid
      Src: /src/gnutls/tests/long-session-id.c:148,1
    - Dst: close
      Src: /src/gnutls/tests/long-session-id.c:152,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/long-session-id.c:154,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/long-session-id.c:156,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/long-session-id.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 159
    functionName: client
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 31
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - kill
    - gnutls_global_deinit
    - getpid
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_init
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_ecc_curve_get
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnutls/tests/long-session-id.c:176,1
    - Dst: abort
      Src: /src/gnutls/tests/long-session-id.c:178,1
    - Dst: write
      Src: /src/gnutls/tests/long-session-id.c:181,1
    - Dst: memset
      Src: /src/gnutls/tests/long-session-id.c:186,1
    - Dst: write
      Src: /src/gnutls/tests/long-session-id.c:187,1
    - Dst: memset
      Src: /src/gnutls/tests/long-session-id.c:192,1
    - Dst: write
      Src: /src/gnutls/tests/long-session-id.c:193,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/long-session-id.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 200
    functionName: server
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 40
    functionsReached:
    - abort
    - sec_sleep
    - memset
    - read
    - write
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/long-session-id.c:207,1
    - Dst: perror
      Src: /src/gnutls/tests/long-session-id.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/long-session-id.c:210,1
    - Dst: fork
      Src: /src/gnutls/tests/long-session-id.c:213,1
    - Dst: perror
      Src: /src/gnutls/tests/long-session-id.c:215,1
    - Dst: exit
      Src: /src/gnutls/tests/long-session-id.c:216,1
    - Dst: close
      Src: /src/gnutls/tests/long-session-id.c:221,1
    - Dst: server
      Src: /src/gnutls/tests/long-session-id.c:222,1
    - Dst: kill
      Src: /src/gnutls/tests/long-session-id.c:223,1
    - Dst: close
      Src: /src/gnutls/tests/long-session-id.c:225,1
    - Dst: client
      Src: /src/gnutls/tests/long-session-id.c:226,1
    - Dst: exit
      Src: /src/gnutls/tests/long-session-id.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 229
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 229
    functionName: start
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 81
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/long-session-id.c:234,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/long-session-id.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/long-session-id.c:241,1
    - Dst: signal
      Src: /src/gnutls/tests/long-session-id.c:242,1
    - Dst: start
      Src: /src/gnutls/tests/long-session-id.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: doit
    functionSourceFile: /src/gnutls/tests/long-session-id.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/hostname-check.c:813,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:815,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/hostname-check.c:817,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:819,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:822,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:824,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:826,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:828,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:830,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:832,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:834,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:836,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:838,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:840,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:844,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:846,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:848,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:850,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:852,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:854,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:857,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:859,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:861,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:863,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:865,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:867,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:869,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:871,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:874,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:876,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:879,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:881,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:883,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:885,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:887,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:889,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:891,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:893,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:896,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:898,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:901,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:903,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:905,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:907,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:909,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:911,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:913,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:915,1
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/tests/hostname-check.c:918,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:921,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:923,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:925,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:928,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:930,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:934,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:936,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:938,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:940,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:942,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:944,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:946,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:948,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:952,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:954,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:956,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:958,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:960,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:962,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:964,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:966,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:968,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:970,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:973,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:975,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:980,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:982,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:984,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:986,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:991,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:993,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:995,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:997,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1002,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1004,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1006,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1008,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1011,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1013,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1015,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1017,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1019,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1021,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1023,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1025,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1029,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1031,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1033,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1035,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1037,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1039,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1042,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1044,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1046,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1048,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1050,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1053,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1057,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1059,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1061,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1063,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1065,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1067,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1069,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1071,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1073,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1075,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1078,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1080,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1083,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1085,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1088,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1090,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1095,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1097,1
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/tests/hostname-check.c:1100,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1103,1
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/tests/hostname-check.c:1105,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1108,1
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/tests/hostname-check.c:1110,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1113,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1116,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1118,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1120,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1122,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1124,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1126,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1128,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1130,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1132,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1134,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1136,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1138,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1141,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1143,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1145,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1147,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1149,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1151,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1153,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1155,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1157,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1159,1
    - Dst: success
      Src: /src/gnutls/tests/hostname-check.c:1162,1
    - Dst: strlen
      Src: /src/gnutls/tests/hostname-check.c:1164,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/hostname-check.c:1166,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1168,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1170,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1172,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/hostname-check.c:1174,1
    - Dst: fail
      Src: /src/gnutls/tests/hostname-check.c:1176,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/hostname-check.c:1178,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/hostname-check.c:1180,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 258
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 1181
    functionName: doit
    functionSourceFile: /src/gnutls/tests/hostname-check.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_x509_crt_import
    - gnutls_x509_crt_check_hostname2
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_check_hostname
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/multi-alerts.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnutls/tests/multi-alerts.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/multi-alerts.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/multi-alerts.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/multi-alerts.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:118,1
    - Dst: recv
      Src: /src/gnutls/tests/multi-alerts.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:122,1
    - Dst: send
      Src: /src/gnutls/tests/multi-alerts.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:127,1
    - Dst: close
      Src: /src/gnutls/tests/multi-alerts.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: client
    functionSourceFile: /src/gnutls/tests/multi-alerts.c
    functionUses: 32
    functionsReached:
    - send
    - recv
    - fail
    - close
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/multi-alerts.c:142,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/multi-alerts.c:144,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/multi-alerts.c:146,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/multi-alerts.c:148,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/multi-alerts.c:149,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/multi-alerts.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/multi-alerts.c:158,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/multi-alerts.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/multi-alerts.c:165,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/multi-alerts.c:165,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/multi-alerts.c:168,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/multi-alerts.c:170,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/multi-alerts.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:181,1
    - Dst: close
      Src: /src/gnutls/tests/multi-alerts.c:184,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/multi-alerts.c:185,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/multi-alerts.c:187,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/multi-alerts.c:189,1
    - Dst: success
      Src: /src/gnutls/tests/multi-alerts.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 193
    functionName: server
    functionSourceFile: /src/gnutls/tests/multi-alerts.c
    functionUses: 41
    functionsReached:
    - success
    - assert
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - close
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/multi-alerts.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/multi-alerts.c:205,1
    - Dst: socketpair
      Src: /src/gnutls/tests/multi-alerts.c:208,1
    - Dst: perror
      Src: /src/gnutls/tests/multi-alerts.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:211,1
    - Dst: fork
      Src: /src/gnutls/tests/multi-alerts.c:215,1
    - Dst: perror
      Src: /src/gnutls/tests/multi-alerts.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/multi-alerts.c:218,1
    - Dst: server
      Src: /src/gnutls/tests/multi-alerts.c:225,1
    - Dst: wait
      Src: /src/gnutls/tests/multi-alerts.c:226,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/multi-alerts.c:227,1
    - Dst: client
      Src: /src/gnutls/tests/multi-alerts.c:229,1
    - Dst: exit
      Src: /src/gnutls/tests/multi-alerts.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 232
    functionName: doit
    functionSourceFile: /src/gnutls/tests/multi-alerts.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - socketpair
    - gnutls_fips140_mode_enabled
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rng-op.c:52,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/rng-op.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-op.c:57,1
    - Dst: exit
      Src: /src/gnutls/tests/rng-op.c:59,1
    - Dst: malloc
      Src: /src/gnutls/tests/rng-op.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-op.c:66,1
    - Dst: exit
      Src: /src/gnutls/tests/rng-op.c:67,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/rng-op.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-op.c:73,1
    - Dst: exit
      Src: /src/gnutls/tests/rng-op.c:75,1
    - Dst: free
      Src: /src/gnutls/tests/rng-op.c:78,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-op.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - rnd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: try
    functionSourceFile: /src/gnutls/tests/rng-op.c
    functionUses: 27
    functionsReached:
    - exit
    - gnutls_global_deinit
    - free
    - gnutls_rnd
    - global_init
    - malloc
    - fail
    linkageType: ''
    returnType: void
    signature: void try(int rnd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sig_handler
    functionSourceFile: /src/gnutls/tests/rng-sigint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sig_handler(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/rng-sigint.c:71,1
    - Dst: sigemptyset
      Src: /src/gnutls/tests/rng-sigint.c:73,1
    - Dst: sigaction
      Src: /src/gnutls/tests/rng-sigint.c:74,1
    - Dst: memset
      Src: /src/gnutls/tests/rng-sigint.c:76,1
    - Dst: _rnd_system_entropy_init
      Src: /src/gnutls/tests/rng-sigint.c:80,1
    - Dst: setitimer
      Src: /src/gnutls/tests/rng-sigint.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-sigint.c:84,1
    - Dst: strerror
      Src: /src/gnutls/tests/rng-sigint.c:84,1
    - Dst: memset
      Src: /src/gnutls/tests/rng-sigint.c:87,1
    - Dst: memset
      Src: /src/gnutls/tests/rng-sigint.c:89,1
    - Dst: _rnd_get_system_entropy
      Src: /src/gnutls/tests/rng-sigint.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-sigint.c:92,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rng-sigint.c:93,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rng-sigint.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-sigint.c:98,1
    - Dst: _rnd_system_entropy_deinit
      Src: /src/gnutls/tests/rng-sigint.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-sigint.c
    functionUses: 0
    functionsReached:
    - _rnd_get_system_entropy
    - gnutls_strerror
    - sigaction
    - memcmp
    - sigemptyset
    - memset
    - strerror
    - setitimer
    - _rnd_system_entropy_init
    - fail
    - _rnd_system_entropy_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rng-sigint.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-sigint.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_hmac_fast.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:40,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:41,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:43,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:45,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:48,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:50,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:55,1
    - Dst: hexprint
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:58,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:63,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:64,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:70,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:72,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:77,1
    - Dst: hexprint
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:80,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:90,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:92,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:101,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:103,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:114,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:122,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:124,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:134,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_hmac_fast.c:136,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 137
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_hmac_fast.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_fast
    - success
    - gnutls_global_deinit
    - gnutls_fips140_set_mode
    - memcmp
    - global_init
    - gnutls_fips140_mode_enabled
    - hexprint
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/priorities.c:45,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priorities.c:47,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priorities.c:49,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priorities.c:49,1
    - Dst: exit
      Src: /src/gnutls/tests/priorities.c:50,1
    - Dst: gnutls_priority_get_cipher_suite_index
      Src: /src/gnutls/tests/priorities.c:54,1
    - Dst: gnutls_priority_cipher_list
      Src: /src/gnutls/tests/priorities.c:65,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priorities.c:69,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/priorities.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities.c:71,1
    - Dst: exit
      Src: /src/gnutls/tests/priorities.c:73,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priorities.c:76,1
    - Dst: success
      Src: /src/gnutls/tests/priorities.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities.c:84,1
    - Dst: exit
      Src: /src/gnutls/tests/priorities.c:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - prio
    - expected_cs
    - expected_ciphers
    - line
    argTypes:
    - char*
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 88
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 88
    functionName: try_prio
    functionSourceFile: /src/gnutls/tests/priorities.c
    functionUses: 0
    functionsReached:
    - gnutls_priority_cipher_list
    - exit
    - gnutls_strerror
    - success
    - gnutls_cipher_get_name
    - gnutls_priority_deinit
    - global_init
    - gnutls_priority_init
    - gnutls_priority_get_cipher_suite_index
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_prio(const char *prio, unsigned expected_cs,\n\t\t     unsigned
      expected_ciphers, unsigned line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priorities.c:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priorities.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priorities.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/priorities.c:98,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priorities.c:102,1
    - Dst: success
      Src: /src/gnutls/tests/priorities.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - prio
    - err
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: try_prio_err
    functionSourceFile: /src/gnutls/tests/priorities.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - success
    - gnutls_priority_deinit
    - gnutls_priority_init
    - fprintf
    linkageType: ''
    returnType: void
    signature: void try_prio_err(const char *prio, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/priorities.c:118,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:126,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:127,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/priorities.c:130,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:131,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:132,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:134,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:136,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:138,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:142,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:146,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:147,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:148,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:149,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:151,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:153,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:154,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities.c:156,1
    - Dst: try_prio_err
      Src: /src/gnutls/tests/priorities.c:159,1
    - Dst: try_prio_err
      Src: /src/gnutls/tests/priorities.c:162,1
    - Dst: try_prio_err
      Src: /src/gnutls/tests/priorities.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priorities.c
    functionUses: 0
    functionsReached:
    - try_prio
    - try_prio_err
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:79,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:84,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:88,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:92,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:93,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:93,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:103,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:105,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:110,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:114,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:116,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:123,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:124,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:128,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:135,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:140,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:157,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:158,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:169,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:180,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:184,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:186,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:188,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:190,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:191,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:193,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 2
    argNames:
    - fd
    - test
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 194
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 194
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 33
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:201,1
    - Dst: kill
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 16
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:216,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:217,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:220,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:221,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:224,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:225,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:228,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:230,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:231,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:231,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:236,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:240,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:241,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:243,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:246,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:247,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:249,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:251,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:252,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:253,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:256,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:259,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:260,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:264,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:276,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:277,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:278,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:287,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:288,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:289,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:294,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:296,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:298,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:299,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:300,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:304,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:306,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:309,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:310,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:311,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:315,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:316,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:327,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:331,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:332,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:333,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:339,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:341,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:342,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:344,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:345,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:347,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:350,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - fd
    - test
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 351
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 351
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 42
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_rehandshake
    - gnutls_handshake_set_timeout
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:359,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:361,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:362,1
    - Dst: fork
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:365,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:367,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:368,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:369,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:374,1
    - Dst: server
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:375,1
    - Dst: wait
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:376,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:377,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:379,1
    - Dst: client
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:380,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - test
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 383
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 383
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 82
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(unsigned test)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:392,1
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:393,1
    - Dst: start
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:395,1
    - Dst: start
      Src: /src/gnutls/tests/tls12-rehandshake-cert-2.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-2.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:265,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:273,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:277,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:280,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:284,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:288,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:296,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:300,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:308,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:312,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:317,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:321,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:325,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:331,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:335,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pcert-list.c:336,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:340,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:346,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:350,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pcert-list.c:351,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:355,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pcert-list.c:361,1
    - Dst: fail
      Src: /src/gnutls/tests/pcert-list.c:365,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pcert-list.c:366,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pcert-list.c:370,1
    - Dst: success
      Src: /src/gnutls/tests/pcert-list.c:372,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 373
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pcert-list.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_pcert_deinit
    - gnutls_pcert_list_import_x509_raw
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pathbuf_init
      Src: /src/gnutls/tests/pathbuf.c:38,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:39,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:40,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pathbuf.c:40,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:41,1
    - Dst: _gnutls_pathbuf_append
      Src: /src/gnutls/tests/pathbuf.c:43,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:44,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:45,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pathbuf.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:46,1
    - Dst: _gnutls_pathbuf_deinit
      Src: /src/gnutls/tests/pathbuf.c:47,1
    - Dst: memset
      Src: /src/gnutls/tests/pathbuf.c:50,1
    - Dst: _gnutls_pathbuf_init
      Src: /src/gnutls/tests/pathbuf.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:55,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pathbuf.c:55,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:56,1
    - Dst: _gnutls_pathbuf_append
      Src: /src/gnutls/tests/pathbuf.c:58,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:60,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pathbuf.c:60,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:62,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pathbuf.c:62,1
    - Dst: assert
      Src: /src/gnutls/tests/pathbuf.c:64,1
    - Dst: _gnutls_pathbuf_deinit
      Src: /src/gnutls/tests/pathbuf.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pathbuf.c
    functionUses: 0
    functionsReached:
    - _gnutls_pathbuf_deinit
    - assert
    - memcmp
    - _gnutls_pathbuf_init
    - _gnutls_pathbuf_append
    - strcmp
    - memset
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-termination.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-termination.c:119,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-termination.c:122,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-termination.c:123,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-termination.c:126,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-termination.c:127,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-termination.c:131,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-termination.c:134,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-termination.c:138,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-termination.c:139,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-termination.c:141,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-termination.c:146,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-termination.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-termination.c:150,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-termination.c:151,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:155,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:159,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-termination.c:160,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-termination.c:161,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-termination.c:164,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-termination.c:173,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-termination.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:175,1
    - Dst: close
      Src: /src/gnutls/tests/mini-termination.c:179,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-termination.c:181,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-termination.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-termination.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-termination.c:186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 187
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 34
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-termination.c:194,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-termination.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 17
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-termination.c:209,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-termination.c:210,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-termination.c:213,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-termination.c:214,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-termination.c:217,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-termination.c:218,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-termination.c:221,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-termination.c:223,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-termination.c:228,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-termination.c:230,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-termination.c:231,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-termination.c:233,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-termination.c:236,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-termination.c:237,1
    - Dst: close
      Src: /src/gnutls/tests/mini-termination.c:239,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-termination.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-termination.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-termination.c:242,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-termination.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:249,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-termination.c:250,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-termination.c:251,1
    - Dst: close
      Src: /src/gnutls/tests/mini-termination.c:252,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-termination.c:253,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-termination.c:255,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-termination.c:256,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-termination.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/mini-termination.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 43
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-termination.c:269,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-termination.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:272,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-termination.c:275,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-termination.c:277,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-termination.c:278,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:279,1
    - Dst: close
      Src: /src/gnutls/tests/mini-termination.c:284,1
    - Dst: server
      Src: /src/gnutls/tests/mini-termination.c:285,1
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-termination.c:286,1
    - Dst: close
      Src: /src/gnutls/tests/mini-termination.c:289,1
    - Dst: client
      Src: /src/gnutls/tests/mini-termination.c:290,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-termination.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 293
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 83
    functionsReached:
    - exit
    - fork
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-termination.c:299,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-termination.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - waitpid
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-termination.c:306,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-termination.c:307,1
    - Dst: start
      Src: /src/gnutls/tests/mini-termination.c:309,1
    - Dst: start
      Src: /src/gnutls/tests/mini-termination.c:310,1
    - Dst: start
      Src: /src/gnutls/tests/mini-termination.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-termination.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509sign-verify-common.h:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509sign-verify-common.h
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-common.h:70,1
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/tests/x509sign-verify-common.h:72,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-common.h:74,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509sign-verify-common.h:76,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509sign-verify-common.h:77,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/tests/x509sign-verify-common.h:79,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-common.h:81,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509sign-verify-common.h:83,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509sign-verify-common.h:84,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/x509sign-verify-common.h:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - privkey
    - pubkey
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: print_keys
    functionSourceFile: /src/gnutls/tests/x509sign-verify-common.h
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pubkey_export2
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: void
    signature: void print_keys(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnutls/tests/x509sign-verify-common.h:117,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/x509sign-verify-common.h:119,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/x509sign-verify-common.h:122,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/x509sign-verify-common.h:126,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/x509sign-verify-common.h:130,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/x509sign-verify-common.h:134,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/x509sign-verify-common.h:139,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/x509sign-verify-common.h:144,1
    - Dst: print_keys
      Src: /src/gnutls/tests/x509sign-verify-common.h:147,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/x509sign-verify-common.h:152,1
    - Dst: print_keys
      Src: /src/gnutls/tests/x509sign-verify-common.h:156,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/x509sign-verify-common.h:160,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/x509sign-verify-common.h:161,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/x509sign-verify-common.h:163,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/x509sign-verify-common.h:169,1
    - Dst: print_keys
      Src: /src/gnutls/tests/x509sign-verify-common.h:173,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509sign-verify-common.h:178,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/x509sign-verify-common.h:182,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/x509sign-verify-common.h:189,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/x509sign-verify-common.h:190,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/x509sign-verify-common.h:193,1
    - Dst: print_keys
      Src: /src/gnutls/tests/x509sign-verify-common.h:198,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509sign-verify-common.h:202,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/x509sign-verify-common.h:203,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/x509sign-verify-common.h:204,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - pk
    - hash
    - bits
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 206
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 206
    functionName: test_sig
    functionSourceFile: /src/gnutls/tests/x509sign-verify-common.h
    functionUses: 0
    functionsReached:
    - abort
    - gnutls_privkey_generate
    - gnutls_free
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pk_to_sign
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_verify_hash2
    - print_keys
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: void
    signature: void test_sig(gnutls_pk_algorithm_t pk, unsigned hash, unsigned bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs7-cat-parse.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:96,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:98,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:104,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:110,1
    - Dst: gnutls_pkcs7_get_embedded_data_oid
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:119,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:119,1
    - Dst: gnutls_pkcs7_get_embedded_data
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:130,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:130,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-cat-parse.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs7-cat-parse.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - assert
    - gnutls_pkcs7_get_embedded_data
    - gnutls_free
    - memcmp
    - gnutls_pkcs7_init
    - gnutls_pkcs7_get_embedded_data_oid
    - strcmp
    - gnutls_pkcs7_import
    - gnutls_pkcs7_deinit
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/infoaccess.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:82,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:83,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/infoaccess.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:89,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/infoaccess.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:95,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:102,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:109,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:118,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:132,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:135,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:144,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:151,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:153,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:162,1
    - Dst: memcmp
      Src: /src/gnutls/tests/infoaccess.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:166,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:167,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/infoaccess.c:169,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:175,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:177,1
    - Dst: memcmp
      Src: /src/gnutls/tests/infoaccess.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:182,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/infoaccess.c:184,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:191,1
    - Dst: memcmp
      Src: /src/gnutls/tests/infoaccess.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:197,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/infoaccess.c:199,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/infoaccess.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:205,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:206,1
    - Dst: memcmp
      Src: /src/gnutls/tests/infoaccess.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/infoaccess.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/infoaccess.c:212,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/infoaccess.c:214,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/infoaccess.c:216,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/infoaccess.c:218,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 219
    functionName: doit
    functionSourceFile: /src/gnutls/tests/infoaccess.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_authority_info_access
    - exit
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - memcmp
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prev_key
    - new_key
    - t
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: stek_rotation_callback
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 0
    functionsReached:
    - success
    linkageType: ''
    returnType: void
    signature: "void stek_rotation_callback(const gnutls_datum_t *prev_key,\n\t\t\t\t
      \  const gnutls_datum_t *new_key, uint64_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:75,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:80,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:82,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:87,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:92,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:94,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:97,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:100,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - session
    - session_data
    - resumption_should_succeed
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: handshake
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 71
    functionsReached:
    - gnutls_session_get_data2
    - gnutls_perror
    - success
    - gnutls_bye
    - gnutls_handshake
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake(gnutls_session_t session, gnutls_datum_t *session_data,\n\t\t
      \    int resumption_should_succeed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:116,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:120,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:124,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:130,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:135,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:140,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:142,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - session
    - session_data
    - resumption_should_succeed
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: resume_and_close
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - success
    - gnutls_session_is_resumed
    - gnutls_bye
    - gnutls_handshake
    - gnutls_error_is_fatal
    - gnutls_session_set_data
    - gnutls_perror
    - fail
    linkageType: ''
    returnType: int
    signature: "int resume_and_close(gnutls_session_t session,\n\t\t\t    gnutls_datum_t
      *session_data,\n\t\t\t    int resumption_should_succeed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:159,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:162,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:163,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:166,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:168,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:169,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:169,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:171,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:175,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:176,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:179,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:183,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:183,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:184,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:184,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:187,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:190,1
    - Dst: resume_and_close
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:192,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:197,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - fd
    - resumption_should_succeed
    - num_sessions
    - prio
    argTypes:
    - int
    - int*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 200
    functionName: client
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 35
    functionsReached:
    - resume_and_close
    - assert
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_timeout
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_init
    - handshake
    - gnutls_transport_set_int
    linkageType: ''
    returnType: void
    signature: "void client(int fd, int *resumption_should_succeed,\n\t\t   unsigned
      num_sessions, const char *prio)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:210,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:213,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:216,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:218,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:221,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:221,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:223,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:227,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:227,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:229,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:232,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:236,1
    - Dst: gnutls_db_set_cache_expiration
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:239,1
    - Dst: _gnutls_set_session_ticket_key_rotation_callback
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:241,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:244,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:245,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:245,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:253,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:254,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:256,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:268,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:272,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:273,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:277,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:281,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:284,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - fd
    - resumption_should_succeed
    - num_sessions
    - prio
    argTypes:
    - int
    - int*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 286
    functionName: server
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 45
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - virt_sec_sleep
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_perror
    - gnutls_db_set_cache_expiration
    - gnutls_init
    - gnutls_transport_set_int
    - virt_time_init
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - _gnutls_set_session_ticket_key_rotation_callback
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: void
    signature: "void server(int fd, int *resumption_should_succeed,\n\t\t   unsigned
      num_sessions, const char *prio)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:294,1
    - Dst: socketpair
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:296,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:299,1
    - Dst: fork
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:302,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:310,1
    - Dst: server
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:311,1
    - Dst: waitpid
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:312,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:313,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:316,1
    - Dst: client
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:317,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - name
    - prio
    - resumption_should_succeed
    - rounds
    argTypes:
    - char*
    - char*
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 320
    functionName: run
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 9
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void run(const char *name, const char *prio,\n\t\tint resumption_should_succeed[],
      int rounds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:326,1
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:327,1
    - Dst: run
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:330,1
    - Dst: run
      Src: /src/gnutls/tests/resume-with-stek-expiration.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 337
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-with-stek-expiration.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/spki.c:49,1
    - Dst: fail
      Src: /src/gnutls/tests/spki.c:51,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:51,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:52,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:55,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/spki.c:55,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/spki.c:57,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:58,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:60,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki.c:60,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:62,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/spki.c:64,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki.c:66,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:67,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:71,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/tests/spki.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:72,1
    - Dst: gnutls_x509_crq_set_key
      Src: /src/gnutls/tests/spki.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:73,1
    - Dst: gnutls_x509_crq_set_spki
      Src: /src/gnutls/tests/spki.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:75,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/tests/spki.c:75,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:79,1
    - Dst: gnutls_x509_crq_sign2
      Src: /src/gnutls/tests/spki.c:79,1
    - Dst: gnutls_x509_crq_print
      Src: /src/gnutls/tests/spki.c:82,1
    - Dst: printf
      Src: /src/gnutls/tests/spki.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/spki.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:89,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki.c:89,1
    - Dst: gnutls_x509_crq_get_spki
      Src: /src/gnutls/tests/spki.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:94,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:97,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:101,1
    - Dst: gnutls_x509_crq_set_spki
      Src: /src/gnutls/tests/spki.c:101,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/spki.c:104,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki.c:105,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/spki.c:106,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/spki.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 108
    functionName: crq_check
    functionSourceFile: /src/gnutls/tests/spki.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_privkey_generate
    - gnutls_x509_crq_set_key
    - gnutls_x509_spki_get_rsa_pss_params
    - gnutls_x509_crq_deinit
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_x509_crq_print
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_deinit
    - gnutls_x509_crq_set_version
    - gnutls_x509_spki_init
    - gnutls_x509_crq_set_dn_by_oid
    - gnutls_x509_crq_init
    - gnutls_x509_privkey_init
    - exit
    - assert
    - gnutls_x509_crq_sign2
    - gnutls_x509_crq_set_spki
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_crq_get_spki
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void crq_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/spki.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/spki.c:121,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:122,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:126,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/spki.c:128,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:132,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/spki.c:135,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:140,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/spki.c:144,1
    - Dst: printf
      Src: /src/gnutls/tests/spki.c:146,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/spki.c:147,1
    - Dst: gnutls_x509_crt_get_spki
      Src: /src/gnutls/tests/spki.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:153,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:156,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:160,1
    - Dst: gnutls_x509_crt_set_spki
      Src: /src/gnutls/tests/spki.c:160,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/spki.c:163,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki.c:164,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/spki.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 166
    functionName: cert_check
    functionSourceFile: /src/gnutls/tests/spki.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_spki_get_rsa_pss_params
    - gnutls_x509_crt_set_spki
    - printf
    - gnutls_x509_crt_import
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_init
    - exit
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_crt_get_spki
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void cert_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/spki.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/spki.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:179,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/spki.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:183,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/spki.c:185,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki.c:187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:189,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/spki.c:192,1
    - Dst: fprintf
      Src: /src/gnutls/tests/spki.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/spki.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/spki.c:197,1
    - Dst: gnutls_x509_privkey_get_spki
      Src: /src/gnutls/tests/spki.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:203,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:203,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:206,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:210,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:210,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:213,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/spki.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/spki.c:217,1
    - Dst: gnutls_x509_privkey_set_spki
      Src: /src/gnutls/tests/spki.c:217,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/spki.c:220,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/spki.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 222
    functionName: key_check
    functionSourceFile: /src/gnutls/tests/spki.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - assert
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_init
    - gnutls_x509_privkey_get_spki
    - gnutls_x509_spki_get_rsa_pss_params
    - global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_set_spki
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void key_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cert_check
      Src: /src/gnutls/tests/spki.c:226,1
    - Dst: key_check
      Src: /src/gnutls/tests/spki.c:227,1
    - Dst: crq_check
      Src: /src/gnutls/tests/spki.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: doit
    functionSourceFile: /src/gnutls/tests/spki.c
    functionUses: 0
    functionsReached:
    - crq_check
    - key_check
    - cert_check
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-tls-nonblock.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/tests/mini-tls-nonblock.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: my_pull
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t my_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-tls-nonblock.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: my_push
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t my_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/mini-tls-nonblock.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: my_pull_timeout
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - exit
    - fail
    linkageType: ''
    returnType: int
    signature: int my_pull_timeout(gnutls_transport_ptr_t tr, unsigned ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-tls-nonblock.c:139,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-tls-nonblock.c:143,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-tls-nonblock.c:144,1
    - Dst: fcntl
      Src: /src/gnutls/tests/mini-tls-nonblock.c:148,1
    - Dst: fcntl
      Src: /src/gnutls/tests/mini-tls-nonblock.c:149,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:151,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:152,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-tls-nonblock.c:156,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-tls-nonblock.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-tls-nonblock.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:162,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-tls-nonblock.c:167,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-tls-nonblock.c:168,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-tls-nonblock.c:170,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-tls-nonblock.c:171,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-tls-nonblock.c:172,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-tls-nonblock.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-tls-nonblock.c:178,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-tls-nonblock.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-tls-nonblock.c:182,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-tls-nonblock.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:184,1
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:187,1
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:191,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-tls-nonblock.c:192,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-tls-nonblock.c:193,1
    - Dst: close
      Src: /src/gnutls/tests/mini-tls-nonblock.c:195,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:197,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:199,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:200,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - fd
    - msg
    - prio
    - expl
    argTypes:
    - int
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 203
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 203
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 36
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - fcntl
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *msg, const char *prio, unsigned expl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-tls-nonblock.c:210,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-tls-nonblock.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 18
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-tls-nonblock.c:225,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-tls-nonblock.c:226,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-tls-nonblock.c:229,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-tls-nonblock.c:230,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:233,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-tls-nonblock.c:234,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:237,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-tls-nonblock.c:240,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-tls-nonblock.c:242,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-tls-nonblock.c:247,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-tls-nonblock.c:249,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-tls-nonblock.c:250,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-tls-nonblock.c:252,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-tls-nonblock.c:255,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-tls-nonblock.c:256,1
    - Dst: close
      Src: /src/gnutls/tests/mini-tls-nonblock.c:258,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-tls-nonblock.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-tls-nonblock.c:261,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-tls-nonblock.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:265,1
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:268,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-tls-nonblock.c:269,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-tls-nonblock.c:270,1
    - Dst: close
      Src: /src/gnutls/tests/mini-tls-nonblock.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:272,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:274,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-tls-nonblock.c:275,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - fd
    - prio
    - expl
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 281
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 281
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 46
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned expl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-tls-nonblock.c:288,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-tls-nonblock.c:290,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-tls-nonblock.c:292,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-tls-nonblock.c:294,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:295,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-tls-nonblock.c:298,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-tls-nonblock.c:300,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-tls-nonblock.c:301,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:302,1
    - Dst: close
      Src: /src/gnutls/tests/mini-tls-nonblock.c:307,1
    - Dst: client
      Src: /src/gnutls/tests/mini-tls-nonblock.c:308,1
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-tls-nonblock.c:309,1
    - Dst: close
      Src: /src/gnutls/tests/mini-tls-nonblock.c:312,1
    - Dst: server
      Src: /src/gnutls/tests/mini-tls-nonblock.c:313,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-tls-nonblock.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - msg
    - prio
    - expl
    argTypes:
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 84
    functionsReached:
    - success
    - exit
    - fork
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *msg, const char *prio, unsigned expl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-tls-nonblock.c:322,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-tls-nonblock.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - waitpid
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-tls-nonblock.c:333,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:335,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:337,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:339,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:340,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:342,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:344,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:345,1
    - Dst: start
      Src: /src/gnutls/tests/mini-tls-nonblock.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-tls-nonblock.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/privkey-keygen.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/privkey-keygen.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/privkey-keygen.c:67,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/privkey-keygen.c:67,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/privkey-keygen.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/privkey-keygen.c:73,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/privkey-keygen.c:73,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/privkey-keygen.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:77,1
    - Dst: gnutls_pubkey_get_preferred_hash_algorithm
      Src: /src/gnutls/tests/privkey-keygen.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:81,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/privkey-keygen.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:90,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/privkey-keygen.c:93,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/privkey-keygen.c:95,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/privkey-keygen.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:99,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:101,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:102,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/privkey-keygen.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - algorithm
    - pkey
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 104
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 104
    functionName: sign_verify_data
    functionSourceFile: /src/gnutls/tests/privkey-keygen.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pk_to_sign
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_sign_data
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - gnutls_pubkey_get_preferred_hash_algorithm
    - fail
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: void
    signature: "void sign_verify_data(gnutls_pk_algorithm_t algorithm,\n\t\t\t     gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: is_approved_pk_algo
    functionSourceFile: /src/gnutls/tests/privkey-keygen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int is_approved_pk_algo(gnutls_pk_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/privkey-keygen.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:126,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/privkey-keygen.c:128,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/privkey-keygen.c:130,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/privkey-keygen.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:134,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/privkey-keygen.c:153,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/privkey-keygen.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:162,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/privkey-keygen.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:167,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:170,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/privkey-keygen.c:171,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/tests/privkey-keygen.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:177,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:178,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/tests/privkey-keygen.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-keygen.c:181,1
    - Dst: success
      Src: /src/gnutls/tests/privkey-keygen.c:183,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:184,1
    - Dst: is_approved_pk_algo
      Src: /src/gnutls/tests/privkey-keygen.c:187,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:188,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:190,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/tests/privkey-keygen.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:195,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-keygen.c:197,1
    - Dst: gnutls_x509_privkey_cpy
      Src: /src/gnutls/tests/privkey-keygen.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:203,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-keygen.c:205,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/tests/privkey-keygen.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-keygen.c:210,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-keygen.c:212,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:215,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-keygen.c:216,1
    - Dst: is_approved_pk_algo
      Src: /src/gnutls/tests/privkey-keygen.c:217,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:218,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:220,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:223,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-keygen.c:224,1
    - Dst: is_approved_pk_algo
      Src: /src/gnutls/tests/privkey-keygen.c:225,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:226,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/privkey-keygen.c:228,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:231,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:232,1
    - Dst: success
      Src: /src/gnutls/tests/privkey-keygen.c:233,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/privkey-keygen.c:234,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/tests/privkey-keygen.c:235,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:240,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/privkey-keygen.c:241,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 242
    functionName: doit
    functionSourceFile: /src/gnutls/tests/privkey-keygen.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_privkey_generate
    - gnutls_sec_param_to_pk_bits
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_verify_params
    - gnutls_x509_privkey_cpy
    - FIPS_POP_CONTEXT
    - gnutls_global_set_log_function
    - gnutls_pk_algorithm_get_name
    - gnutls_fips140_context_init
    - sign_verify_data
    - gnutls_x509_privkey_init
    - is_approved_pk_algo
    - success
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_fips140_mode_enabled
    - global_init
    - FIPS_PUSH_CONTEXT
    - gnutls_fips140_context_deinit
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509cert-dntypes.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509cert-dntypes.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509cert-dntypes.c:102,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509cert-dntypes.c:104,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509cert-dntypes.c:106,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-dntypes.c:108,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-dntypes.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-dntypes.c:112,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-dntypes.c:114,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-dntypes.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-dntypes.c:118,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/tests/x509cert-dntypes.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-dntypes.c:122,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-dntypes.c:124,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-dntypes.c:125,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509cert-dntypes.c:127,1
    - Dst: success
      Src: /src/gnutls/tests/x509cert-dntypes.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 131
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509cert-dntypes.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_check_issuer
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/virt-time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:55,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:56,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13-compat-mode.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-compat-mode.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-compat-mode.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-compat-mode.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/tls13-compat-mode.c
    functionUses: 0
    functionsReached:
    - assert
    - fail
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13-compat-mode.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:89,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-compat-mode.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-compat-mode.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:93,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-compat-mode.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-compat-mode.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-compat-mode.c:96,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-compat-mode.c:99,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-compat-mode.c:100,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-compat-mode.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:104,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-compat-mode.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:105,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-compat-mode.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-compat-mode.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-compat-mode.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-compat-mode.c:109,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-compat-mode.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-compat-mode.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-compat-mode.c:114,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13-compat-mode.c:116,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13-compat-mode.c:117,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-compat-mode.c:122,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-compat-mode.c:124,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-compat-mode.c:125,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-compat-mode.c:127,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-compat-mode.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - name
    - client_compat
    - server_compat
    argTypes:
    - char*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 129
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 129
    functionName: test
    functionSourceFile: /src/gnutls/tests/tls13-compat-mode.c
    functionUses: 17
    functionsReached:
    - success
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_session_set_ptr
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - HANDSHAKE
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    linkageType: ''
    returnType: void
    signature: void test(const char *name, bool client_compat, bool server_compat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/gnutls/tests/tls13-compat-mode.c:133,1
    - Dst: test
      Src: /src/gnutls/tests/tls13-compat-mode.c:134,1
    - Dst: test
      Src: /src/gnutls/tests/tls13-compat-mode.c:135,1
    - Dst: test
      Src: /src/gnutls/tests/tls13-compat-mode.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-compat-mode.c
    functionUses: 0
    functionsReached:
    - test
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:74,1
    - Dst: memcpy
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:77,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:90,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:91,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:96,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:97,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:102,1
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:103,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 20
    functionsReached:
    - abort
    - gnutls_handshake_description_get_name
    - send
    - memcpy
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:148,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:152,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:153,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:156,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:160,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:161,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:162,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:162,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:163,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:167,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:174,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:176,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:180,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:187,1
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:190,1
    - Dst: poll
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:197,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:203,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:209,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:211,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:214,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:218,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:219,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:220,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:222,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:224,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:226,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:228,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - fd
    - cache
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 231
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 231
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 37
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_get_direction
    - gnutls_perror
    - gnutls_global_set_log_function
    - perror
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - poll
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:239,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:240,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 19
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:253,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:258,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:259,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:263,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:264,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:267,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:268,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:268,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:269,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:270,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:272,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:277,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:282,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:284,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:287,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:288,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:290,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:292,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:293,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:294,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:297,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:300,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:301,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:302,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:306,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:308,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:309,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:311,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:313,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - fd
    - cache
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 317
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 317
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 47
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:324,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:326,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:327,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:330,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:332,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:334,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:341,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:342,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:343,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:344,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:346,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:347,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - cache
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 350
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 350
    functionName: run
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 10
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(unsigned cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:354,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:355,1
    - Dst: run
      Src: /src/gnutls/tests/mini-dtls-record-asym.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-record-asym.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-etm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-etm.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-etm.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-etm.c:85,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-etm.c:86,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/dtls-etm.c:89,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-etm.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-etm.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-etm.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-etm.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-etm.c:101,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-etm.c:102,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-etm.c:104,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-etm.c:109,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-etm.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:113,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-etm.c:114,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-etm.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-etm.c:124,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/dtls-etm.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:128,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/dtls-etm.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:131,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/dtls-etm.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:137,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/dtls-etm.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:141,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-etm.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-etm.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:157,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-etm.c:161,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-etm.c:165,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-etm.c:167,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/dtls-etm.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-etm.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-etm.c:172,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - fd
    - prio
    - etm
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 38
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-etm.c:180,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-etm.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 20
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-etm.c:196,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-etm.c:197,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-etm.c:200,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-etm.c:201,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-etm.c:204,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-etm.c:205,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/dtls-etm.c:208,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-etm.c:210,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-etm.c:215,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-etm.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-etm.c:217,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-etm.c:218,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-etm.c:220,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-etm.c:223,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-etm.c:224,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-etm.c:226,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-etm.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-etm.c:229,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-etm.c:230,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/dtls-etm.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:235,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/dtls-etm.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:237,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:238,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/dtls-etm.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:244,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/dtls-etm.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:248,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:255,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-etm.c:256,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-etm.c:257,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-etm.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-etm.c:267,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-etm.c:268,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-etm.c:276,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-etm.c:278,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-etm.c:279,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/dtls-etm.c:281,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-etm.c:282,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-etm.c:284,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-etm.c:287,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - fd
    - prio
    - etm
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 288
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 288
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 48
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - exit
    - gnutls_session_get_flags
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-etm.c:295,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-etm.c:297,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:298,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-etm.c:301,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-etm.c:303,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-etm.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-etm.c:310,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-etm.c:311,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-etm.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-etm.c:314,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-etm.c:315,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-etm.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - prio
    - etm
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 318
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 318
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 85
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned etm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/dtls-etm.c:330,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-etm.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/dtls-etm.c:337,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-etm.c:339,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-etm.c:340,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-etm.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-etm.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_decode_rs_value
      Src: /src/gnutls/tests/dss-sig-val.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/dss-sig-val.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dss-sig-val.c:45,1
    - Dst: exit
      Src: /src/gnutls/tests/dss-sig-val.c:46,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dss-sig-val.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/dss-sig-val.c:51,1
    - Dst: exit
      Src: /src/gnutls/tests/dss-sig-val.c:53,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dss-sig-val.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/dss-sig-val.c:58,1
    - Dst: exit
      Src: /src/gnutls/tests/dss-sig-val.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dss-sig-val.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dss-sig-val.c:64,1
    - Dst: gnutls_encode_rs_value
      Src: /src/gnutls/tests/dss-sig-val.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/dss-sig-val.c:69,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dss-sig-val.c:70,1
    - Dst: exit
      Src: /src/gnutls/tests/dss-sig-val.c:71,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dss-sig-val.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/dss-sig-val.c:76,1
    - Dst: exit
      Src: /src/gnutls/tests/dss-sig-val.c:78,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dss-sig-val.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - test_name
    - sig
    - r
    - s
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: encode
    functionSourceFile: /src/gnutls/tests/dss-sig-val.c
    functionUses: 18
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_free
    - memcmp
    - gnutls_decode_rs_value
    - fail
    - gnutls_encode_rs_value
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *sig,\n\t\t
      \  const gnutls_datum_t *r, const gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/dss-sig-val.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dss-sig-val.c
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-missing.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rfc7633-missing.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rfc7633-missing.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/rfc7633-missing.c:137,1
    - Dst: global_init
      Src: /src/gnutls/tests/rfc7633-missing.c:138,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rfc7633-missing.c:141,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rfc7633-missing.c:142,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rfc7633-missing.c:145,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rfc7633-missing.c:149,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rfc7633-missing.c:152,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/rfc7633-missing.c:154,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rfc7633-missing.c:161,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rfc7633-missing.c:163,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rfc7633-missing.c:168,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/rfc7633-missing.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rfc7633-missing.c:177,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:180,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:184,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/rfc7633-missing.c:185,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/rfc7633-missing.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:189,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/rfc7633-missing.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rfc7633-missing.c:195,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:200,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rfc7633-missing.c:205,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-missing.c:209,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rfc7633-missing.c:211,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rfc7633-missing.c:213,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rfc7633-missing.c:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 216
    functionName: client
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 39
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_verify_peers2
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rfc7633-missing.c:227,1
    - Dst: memset
      Src: /src/gnutls/tests/rfc7633-missing.c:228,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rfc7633-missing.c:231,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rfc7633-missing.c:232,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rfc7633-missing.c:235,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rfc7633-missing.c:236,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rfc7633-missing.c:239,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rfc7633-missing.c:244,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rfc7633-missing.c:246,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rfc7633-missing.c:248,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rfc7633-missing.c:251,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/rfc7633-missing.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:259,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:263,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/rfc7633-missing.c:264,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/rfc7633-missing.c:265,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rfc7633-missing.c:269,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-missing.c:272,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rfc7633-missing.c:273,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rfc7633-missing.c:275,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rfc7633-missing.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 281
    functionName: server
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 49
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/rfc7633-missing.c:294,1
    - Dst: signal
      Src: /src/gnutls/tests/rfc7633-missing.c:295,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-missing.c:298,1
    - Dst: socketpair
      Src: /src/gnutls/tests/rfc7633-missing.c:300,1
    - Dst: perror
      Src: /src/gnutls/tests/rfc7633-missing.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-missing.c:303,1
    - Dst: fork
      Src: /src/gnutls/tests/rfc7633-missing.c:306,1
    - Dst: perror
      Src: /src/gnutls/tests/rfc7633-missing.c:308,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-missing.c:309,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-missing.c:310,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-missing.c:315,1
    - Dst: client
      Src: /src/gnutls/tests/rfc7633-missing.c:316,1
    - Dst: waitpid
      Src: /src/gnutls/tests/rfc7633-missing.c:317,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/rfc7633-missing.c:318,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-missing.c:320,1
    - Dst: server
      Src: /src/gnutls/tests/rfc7633-missing.c:321,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-missing.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 326
    functionName: start
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 86
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-missing.c:330,1
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-missing.c:331,1
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-missing.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rfc7633-missing.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/x509self.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509self.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509self.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509self.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509self.c:81,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509self.c:83,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509self.c:87,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/x509self.c:89,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509self.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/x509self.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509self.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509self.c:100,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/x509self.c:102,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509self.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:109,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/x509self.c:110,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:117,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/x509self.c:118,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509self.c:119,1
    - Dst: print_info
      Src: /src/gnutls/tests/x509self.c:123,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/x509self.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509self.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:132,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/x509self.c:135,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509self.c:135,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509self.c:137,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:141,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/x509self.c:142,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/x509self.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:151,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:155,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509self.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:159,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/x509self.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509self.c:171,1
    - Dst: printf
      Src: /src/gnutls/tests/x509self.c:176,1
    - Dst: fputc
      Src: /src/gnutls/tests/x509self.c:178,1
    - Dst: fputs
      Src: /src/gnutls/tests/x509self.c:180,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509self.c:183,1
    - Dst: close
      Src: /src/gnutls/tests/x509self.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509self.c:189,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509self.c:191,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509self.c:193,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 194
    functionName: client
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 40
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_credentials_get
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509self.c:209,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509self.c:211,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509self.c:213,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509self.c:215,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509self.c:216,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/x509self.c:219,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:225,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509self.c:227,1
    - Dst: assert
      Src: /src/gnutls/tests/x509self.c:229,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509self.c:229,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509self.c:231,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/tests/x509self.c:238,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/x509self.c:240,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509self.c:241,1
    - Dst: close
      Src: /src/gnutls/tests/x509self.c:243,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509self.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509self.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:251,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/x509self.c:252,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509self.c:253,1
    - Dst: print_info
      Src: /src/gnutls/tests/x509self.c:258,1
    - Dst: memset
      Src: /src/gnutls/tests/x509self.c:261,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/x509self.c:263,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:271,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509self.c:272,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509self.c:275,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:279,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/x509self.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:283,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/x509self.c:284,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/x509self.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:290,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/x509self.c:291,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:296,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/x509self.c:300,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509self.c:300,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509self.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/x509self.c:307,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509self.c:308,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509self.c:310,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509self.c:312,1
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:315,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 316
    functionName: server
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 50
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - gnutls_dh_set_prime_bits
    - success
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509self.c:323,1
    - Dst: signal
      Src: /src/gnutls/tests/x509self.c:325,1
    - Dst: socketpair
      Src: /src/gnutls/tests/x509self.c:327,1
    - Dst: perror
      Src: /src/gnutls/tests/x509self.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:330,1
    - Dst: fork
      Src: /src/gnutls/tests/x509self.c:334,1
    - Dst: perror
      Src: /src/gnutls/tests/x509self.c:336,1
    - Dst: fail
      Src: /src/gnutls/tests/x509self.c:337,1
    - Dst: close
      Src: /src/gnutls/tests/x509self.c:344,1
    - Dst: server
      Src: /src/gnutls/tests/x509self.c:345,1
    - Dst: wait
      Src: /src/gnutls/tests/x509self.c:346,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/x509self.c:347,1
    - Dst: close
      Src: /src/gnutls/tests/x509self.c:349,1
    - Dst: client
      Src: /src/gnutls/tests/x509self.c:350,1
    - Dst: exit
      Src: /src/gnutls/tests/x509self.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 353
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 87
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509self.c:357,1
    - Dst: start
      Src: /src/gnutls/tests/x509self.c:358,1
    - Dst: start
      Src: /src/gnutls/tests/x509self.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509self.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/simple.c:50,1
    - Dst: printf
      Src: /src/gnutls/tests/simple.c:51,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/tests/simple.c:52,1
    - Dst: gnutls_check_version_numeric
      Src: /src/gnutls/tests/simple.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:58,1
    - Dst: exit
      Src: /src/gnutls/tests/simple.c:59,1
    - Dst: CHECK_FAIL
      Src: /src/gnutls/tests/simple.c:62,1
    - Dst: CHECK_FAIL
      Src: /src/gnutls/tests/simple.c:63,1
    - Dst: CHECK_FAIL
      Src: /src/gnutls/tests/simple.c:64,1
    - Dst: CHECK_OK
      Src: /src/gnutls/tests/simple.c:65,1
    - Dst: CHECK_OK
      Src: /src/gnutls/tests/simple.c:66,1
    - Dst: CHECK_OK
      Src: /src/gnutls/tests/simple.c:67,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/tests/simple.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:69,1
    - Dst: gnutls_pk_list
      Src: /src/gnutls/tests/simple.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:78,1
    - Dst: printf
      Src: /src/gnutls/tests/simple.c:82,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:84,1
    - Dst: gnutls_pk_get_id
      Src: /src/gnutls/tests/simple.c:85,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:86,1
    - Dst: gnutls_pk_get_id
      Src: /src/gnutls/tests/simple.c:88,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:90,1
    - Dst: gnutls_pk_get_id
      Src: /src/gnutls/tests/simple.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:95,1
    - Dst: success
      Src: /src/gnutls/tests/simple.c:98,1
    - Dst: gnutls_sign_list
      Src: /src/gnutls/tests/simple.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:108,1
    - Dst: printf
      Src: /src/gnutls/tests/simple.c:114,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:116,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/tests/simple.c:117,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:118,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/tests/simple.c:120,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:122,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:123,1
    - Dst: gnutls_sign_get_hash_algorithm
      Src: /src/gnutls/tests/simple.c:125,1
    - Dst: gnutls_digest_get_id
      Src: /src/gnutls/tests/simple.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:136,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/simple.c:137,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/tests/simple.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/simple.c:145,1
    - Dst: success
      Src: /src/gnutls/tests/simple.c:148,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 150
    functionName: doit
    functionSourceFile: /src/gnutls/tests/simple.c
    functionUses: 0
    functionsReached:
    - exit
    - success
    - gnutls_check_version
    - CHECK_OK
    - gnutls_pk_algorithm_get_name
    - gnutls_sign_algorithm_get_name
    - gnutls_sign_get_id
    - gnutls_sign_get_hash_algorithm
    - gnutls_digest_get_id
    - gnutls_pk_list
    - gnutls_sign_list
    - gnutls_check_version_numeric
    - CHECK_FAIL
    - gnutls_pk_get_id
    - printf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/privkey-derive.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:77,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-derive.c:77,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/privkey-derive.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:86,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-derive.c:86,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/privkey-derive.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:91,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-derive.c:91,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/privkey-derive.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-derive.c:98,1
    - Dst: gnutls_privkey_derive_secret
      Src: /src/gnutls/tests/privkey-derive.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-derive.c:103,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/tests/privkey-derive.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-derive.c:108,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/privkey-derive.c:111,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/privkey-derive.c:112,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/privkey-derive.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: doit
    functionSourceFile: /src/gnutls/tests/privkey-derive.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_privkey_derive_secret
    - gnutls_free
    - gnutls_memcmp
    - gnutls_privkey_import_ecc_raw
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    - gnutls_pubkey_import_ecc_raw
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rng-pthread.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-pthread.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/rng-pthread.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-pthread.c:71,1
    - Dst: hexprint
      Src: /src/gnutls/tests/rng-pthread.c:74,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/rng-pthread.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: start_thread
    functionSourceFile: /src/gnutls/tests/rng-pthread.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    - fail
    - gnutls_rnd
    - hexprint
    linkageType: ''
    returnType: void
    signature: void *start_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/rng-pthread.c:87,1
    - Dst: abort
      Src: /src/gnutls/tests/rng-pthread.c:89,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/rng-pthread.c:93,1
    - Dst: abort
      Src: /src/gnutls/tests/rng-pthread.c:95,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/rng-pthread.c:100,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rng-pthread.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-pthread.c:105,1
    - Dst: free
      Src: /src/gnutls/tests/rng-pthread.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - level
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: do_thread_stuff
    functionSourceFile: /src/gnutls/tests/rng-pthread.c
    functionUses: 0
    functionsReached:
    - abort
    - calloc
    - pthread_join
    - free
    - pthread_create
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void do_thread_stuff(unsigned level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/rng-pthread.c:117,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-pthread.c:118,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/rng-pthread.c:120,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/rng-pthread.c:121,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-pthread.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-pthread.c
    functionUses: 0
    functionsReached:
    - signal
    - gnutls_global_init
    - gnutls_global_deinit
    - do_thread_stuff
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-rdn-read.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/session-rdn-read.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/session-rdn-read.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/session-rdn-read.c:69,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-rdn-read.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/session-rdn-read.c:74,1
    - Dst: success
      Src: /src/gnutls/tests/session-rdn-read.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/session-rdn-read.c
    functionUses: 0
    functionsReached:
    - success
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *pk_algos,\n\t\t\t
      int pk_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/session-rdn-read.c:99,1
    - Dst: global_init
      Src: /src/gnutls/tests/session-rdn-read.c:102,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-rdn-read.c:103,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-rdn-read.c:105,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-rdn-read.c:108,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:110,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/session-rdn-read.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:114,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/session-rdn-read.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:116,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/session-rdn-read.c:116,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-rdn-read.c:119,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-rdn-read.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:121,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-rdn-read.c:121,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/session-rdn-read.c:122,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/session-rdn-read.c:123,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/session-rdn-read.c:124,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/session-rdn-read.c:125,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-rdn-read.c:129,1
    - Dst: exit
      Src: /src/gnutls/tests/session-rdn-read.c:131,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/session-rdn-read.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/session-rdn-read.c:136,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/session-rdn-read.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-rdn-read.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/session-rdn-read.c:143,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-rdn-read.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/session-rdn-read.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:150,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-rdn-read.c:150,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/session-rdn-read.c:151,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/session-rdn-read.c:152,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/session-rdn-read.c:153,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/session-rdn-read.c:155,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-rdn-read.c:157,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-rdn-read.c:158,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-rdn-read.c:160,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-rdn-read.c:161,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-rdn-read.c:163,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-rdn-read.c:164,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-rdn-read.c:166,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/session-rdn-read.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 169
    functionName: start
    functionSourceFile: /src/gnutls/tests/session-rdn-read.c
    functionUses: 88
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_certificate_set_retrieve_function2
    - global_init
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:175,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/session-rdn-read.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:176,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/session-rdn-read.c:176,1
    - Dst: assert
      Src: /src/gnutls/tests/session-rdn-read.c:177,1
    - Dst: gnutls_x509_crt_get_raw_dn
      Src: /src/gnutls/tests/session-rdn-read.c:177,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/session-rdn-read.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: find_dn
    functionSourceFile: /src/gnutls/tests/session-rdn-read.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_raw_dn
    linkageType: ''
    returnType: void
    signature: void find_dn(const gnutls_datum_t *cert, gnutls_datum_t *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_dn
      Src: /src/gnutls/tests/session-rdn-read.c:183,1
    - Dst: find_dn
      Src: /src/gnutls/tests/session-rdn-read.c:184,1
    - Dst: start
      Src: /src/gnutls/tests/session-rdn-read.c:185,1
    - Dst: start
      Src: /src/gnutls/tests/session-rdn-read.c:186,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/session-rdn-read.c:187,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/session-rdn-read.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: doit
    functionSourceFile: /src/gnutls/tests/session-rdn-read.c
    functionUses: 0
    functionsReached:
    - find_dn
    - gnutls_free
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/hex.h:35,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/hex.h:37,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/hex.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: SHEX
    functionSourceFile: /src/gnutls/tests/hex.h
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - strlen
    - gnutls_hex_decode2
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t SHEX(const char *hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/tests/hex.h:45,1
    - Dst: strlen
      Src: /src/gnutls/tests/hex.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: SDATA
    functionSourceFile: /src/gnutls/tests/hex.h
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    - strlen
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t SDATA(const char *txt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mpi.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mpi.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mpi.c:47,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mpi.c:49,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mpi.c:51,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/tests/mpi.c:53,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:55,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/tests/mpi.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:59,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/tests/mpi.c:61,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:63,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/tests/mpi.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:67,1
    - Dst: _gnutls_mpi_addm
      Src: /src/gnutls/tests/mpi.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:71,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/tests/mpi.c:73,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/tests/mpi.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/mpi.c:74,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/tests/mpi.c:76,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/tests/mpi.c:77,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/tests/mpi.c:78,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/tests/mpi.c:79,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mpi.c:81,1
    - Dst: success
      Src: /src/gnutls/tests/mpi.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_addm
    - success
    - gnutls_global_deinit
    - _gnutls_mpi_init_multi
    - global_init
    - _gnutls_mpi_cmp_ui
    - _gnutls_mpi_set_ui
    - _gnutls_mpi_release
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/handshake-large-packet.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-large-packet.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: ext_recv_client_params
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: int
    signature: "int ext_recv_client_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/handshake-large-packet.c:92,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/handshake-large-packet.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: ext_send_client_params
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_client_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ext_recv_server_params
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_recv_server_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/handshake-large-packet.c:111,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/handshake-large-packet.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: ext_send_server_params
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_server_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-large-packet.c:122,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-large-packet.c:123,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-large-packet.c:125,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-large-packet.c:129,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-large-packet.c:133,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-packet.c:136,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-large-packet.c:136,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-large-packet.c:140,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-large-packet.c:142,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/handshake-large-packet.c:143,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/handshake-large-packet.c:143,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:145,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:149,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:153,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:157,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:161,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-large-packet.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:173,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/handshake-large-packet.c:174,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-packet.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:182,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-large-packet.c:184,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-packet.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-packet.c:189,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-large-packet.c:191,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-large-packet.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 194
    functionName: client
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 41
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_session_ext_register
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-large-packet.c:204,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-large-packet.c:205,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-large-packet.c:207,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-large-packet.c:211,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-large-packet.c:212,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-large-packet.c:215,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-packet.c:220,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-large-packet.c:220,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-large-packet.c:222,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:224,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:228,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:232,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:236,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/handshake-large-packet.c:240,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-large-packet.c:245,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/handshake-large-packet.c:246,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/handshake-large-packet.c:246,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-large-packet.c:249,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-packet.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-packet.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:255,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-large-packet.c:256,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-packet.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:263,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-large-packet.c:267,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-packet.c:269,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-packet.c:270,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-large-packet.c:272,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-large-packet.c:274,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-packet.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 278
    functionName: server
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 51
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_session_ext_register
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/handshake-large-packet.c:286,1
    - Dst: socketpair
      Src: /src/gnutls/tests/handshake-large-packet.c:290,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-large-packet.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:293,1
    - Dst: fork
      Src: /src/gnutls/tests/handshake-large-packet.c:297,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-large-packet.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-packet.c:300,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-packet.c:307,1
    - Dst: client
      Src: /src/gnutls/tests/handshake-large-packet.c:308,1
    - Dst: wait
      Src: /src/gnutls/tests/handshake-large-packet.c:309,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/handshake-large-packet.c:310,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-packet.c:312,1
    - Dst: server
      Src: /src/gnutls/tests/handshake-large-packet.c:313,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-large-packet.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 316
    functionName: start
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 89
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-packet.c:320,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-packet.c:321,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-packet.c:322,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-packet.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-large-packet.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-test.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-test.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:90,1
    - Dst: getenv
      Src: /src/gnutls/tests/fips-test.c:92,1
    - Dst: snprintf
      Src: /src/gnutls/tests/fips-test.c:96,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/fips-test.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:99,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/fips-test.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:103,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:105,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-test.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:109,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/fips-test.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:114,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:116,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/fips-test.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:120,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/fips-test.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - privkey
    - pubkey
    - filename
    argTypes:
    - gnutls_privkey_t*
    - gnutls_pubkey_t*
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: import_keypair
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - gnutls_free
    - snprintf
    - fail
    - gnutls_pubkey_import_privkey
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - getenv
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: void
    signature: "void import_keypair(gnutls_privkey_t *privkey, gnutls_pubkey_t *pubkey,\n\t\t\t
      \  const char *filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:135,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:137,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/fips-test.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:140,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:141,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:143,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: test_aead_cipher_approved
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_name
    - gnutls_aead_cipher_init
    - FIPS_PUSH_CONTEXT
    - gnutls_aead_cipher_deinit
    - fail
    - gnutls_memset
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void test_aead_cipher_approved(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:155,1
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:156,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:158,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:161,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:162,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:164,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: test_cipher_approved
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_deinit
    - gnutls_cipher_get_name
    - gnutls_cipher_init
    - FIPS_PUSH_CONTEXT
    - fail
    - gnutls_memset
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void test_cipher_approved(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:176,1
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:177,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:179,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:182,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:183,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:185,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: test_cipher_allowed
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_deinit
    - gnutls_cipher_get_name
    - gnutls_cipher_init
    - FIPS_PUSH_CONTEXT
    - fail
    - gnutls_memset
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void test_cipher_allowed(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:197,1
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:198,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:200,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:201,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:205,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:207,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: test_cipher_disallowed
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_deinit
    - gnutls_cipher_get_name
    - gnutls_cipher_init
    - FIPS_PUSH_CONTEXT
    - fail
    - gnutls_memset
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void test_cipher_disallowed(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/fips-test.c:222,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:224,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/fips-test.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:227,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:228,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:230,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/fips-test.c:232,1
    - Dst: memset
      Src: /src/gnutls/tests/fips-test.c:233,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/tests/fips-test.c:235,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/fips-test.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:241,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:247,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:248,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/fips-test.c:250,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/fips-test.c:252,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/tests/fips-test.c:254,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/fips-test.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:260,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:262,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:266,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/fips-test.c:267,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/fips-test.c:269,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - cipher
    - tag_length
    - expect_encryption_fail
    - expected_state
    argTypes:
    - gnutls_cipher_algorithm_t
    - size_t
    - bool
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 272
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 272
    functionName: test_ccm_cipher
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - fips_pop_context
    - gnutls_aead_cipher_encrypt
    - gnutls_cipher_get_name
    - fips_push_context
    - gnutls_aead_cipher_decrypt
    - gnutls_aead_cipher_init
    - FIPS_PUSH_CONTEXT
    - memset
    - gnutls_cipher_get_iv_size
    - gnutls_aead_cipher_deinit
    - fail
    - gnutls_memset
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void test_ccm_cipher(gnutls_cipher_algorithm_t cipher, size_t tag_length,\n\t\t\t
      \   bool expect_encryption_fail,\n\t\t\t    gnutls_fips140_operation_state_t
      expected_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:278,1
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:279,1
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:280,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:284,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:286,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:289,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:291,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:293,1
    - Dst: test_ccm_cipher
      Src: /src/gnutls/tests/fips-test.c:295,1
    - Dst: test_aead_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:298,1
    - Dst: test_aead_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:299,1
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:300,1
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:301,1
    - Dst: test_cipher_approved
      Src: /src/gnutls/tests/fips-test.c:302,1
    - Dst: test_cipher_allowed
      Src: /src/gnutls/tests/fips-test.c:303,1
    - Dst: test_cipher_allowed
      Src: /src/gnutls/tests/fips-test.c:304,1
    - Dst: test_cipher_allowed
      Src: /src/gnutls/tests/fips-test.c:305,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:306,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:307,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:308,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:309,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:310,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:311,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:312,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:313,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:314,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:315,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:316,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:317,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:318,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:319,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:320,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:321,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:322,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:323,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:324,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:325,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:326,1
    - Dst: test_cipher_disallowed
      Src: /src/gnutls/tests/fips-test.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 328
    functionName: test_ciphers
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - test_cipher_disallowed
    - test_ccm_cipher
    - test_cipher_allowed
    - test_aead_cipher_approved
    - test_cipher_approved
    linkageType: ''
    returnType: void
    signature: void test_ciphers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-test.c:351,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/fips-test.c:354,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/fips-test.c:356,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-test.c:358,1
    - Dst: success
      Src: /src/gnutls/tests/fips-test.c:360,1
    - Dst: exit
      Src: /src/gnutls/tests/fips-test.c:361,1
    - Dst: global_init
      Src: /src/gnutls/tests/fips-test.c:364,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:366,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-test.c:369,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:371,1
    - Dst: gnutls_fips140_get_operation_state
      Src: /src/gnutls/tests/fips-test.c:373,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:375,1
    - Dst: gnutls_fips140_pop_context
      Src: /src/gnutls/tests/fips-test.c:377,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:379,1
    - Dst: test_ciphers
      Src: /src/gnutls/tests/fips-test.c:383,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:385,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:386,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:388,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-test.c:390,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:391,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:393,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:394,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:396,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:398,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-test.c:400,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:402,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/tests/fips-test.c:404,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-test.c:406,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:408,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:412,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-test.c:413,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:415,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/tests/fips-test.c:417,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:418,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:421,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-test.c:422,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:424,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/tests/fips-test.c:426,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:427,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:430,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/fips-test.c:431,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:434,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:436,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:439,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/fips-test.c:440,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:443,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:445,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:448,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/fips-test.c:449,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:452,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:454,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:457,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/fips-test.c:459,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:462,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:465,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:468,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/fips-test.c:469,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:472,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:474,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:477,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/fips-test.c:479,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:482,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:485,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:488,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/fips-test.c:489,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:491,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:493,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/fips-test.c:495,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:497,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:501,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/tests/fips-test.c:502,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:504,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:506,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:507,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:510,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/tests/fips-test.c:511,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:513,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:515,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:516,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/fips-test.c:518,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:520,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-test.c:522,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-test.c:524,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:526,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:528,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/fips-test.c:530,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:532,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/fips-test.c:534,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:537,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-test.c:538,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:540,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/tests/fips-test.c:542,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-test.c:544,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:546,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:549,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:550,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:553,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-test.c:554,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:556,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-test.c:558,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:560,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:563,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:564,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:567,1
    - Dst: import_keypair
      Src: /src/gnutls/tests/fips-test.c:568,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:569,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:572,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-test.c:573,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:576,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:578,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:581,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-test.c:582,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:585,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:587,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:588,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:591,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-test.c:592,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:595,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:597,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:600,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-test.c:601,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:605,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:607,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:608,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-test.c:609,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:610,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:613,1
    - Dst: import_keypair
      Src: /src/gnutls/tests/fips-test.c:614,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:615,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:618,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-test.c:619,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:622,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:624,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:627,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-test.c:628,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:631,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:633,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:634,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-test.c:635,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:636,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:639,1
    - Dst: import_keypair
      Src: /src/gnutls/tests/fips-test.c:640,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:641,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:644,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/fips-test.c:645,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:648,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:650,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:653,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-test.c:654,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:657,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:659,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:660,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:663,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-test.c:664,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:667,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:669,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:673,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/tests/fips-test.c:674,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:676,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:680,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:683,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/fips-test.c:684,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:687,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:689,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:690,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:693,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/fips-test.c:694,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:697,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:699,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:700,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:703,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/fips-test.c:704,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:707,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:709,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:712,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-test.c:713,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:717,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:719,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:720,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:723,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-test.c:724,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:727,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:729,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:730,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:734,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/tests/fips-test.c:735,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:737,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:741,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:744,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/fips-test.c:745,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:748,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:750,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:751,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:754,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/fips-test.c:755,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:758,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:760,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-test.c:761,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-test.c:763,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-test.c:764,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:767,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/fips-test.c:768,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:770,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:772,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:775,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/fips-test.c:776,1
    - Dst: gnutls_fips140_run_self_tests
      Src: /src/gnutls/tests/fips-test.c:777,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:779,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-test.c:781,1
    - Dst: _gnutls_lib_simulate_error
      Src: /src/gnutls/tests/fips-test.c:784,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-test.c:787,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:789,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-test.c:792,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:794,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/fips-test.c:797,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:799,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/fips-test.c:802,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:804,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-test.c:807,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:809,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-test.c:812,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:814,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/fips-test.c:817,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-test.c:819,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-test.c:822,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/fips-test.c:824,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 347
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 826
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fips-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_deinit
    - gnutls_x509_privkey_generate
    - gnutls_rnd
    - gnutls_cipher_init
    - gnutls_sec_param_to_pk_bits
    - gnutls_privkey_deinit
    - gnutls_fips140_run_self_tests
    - gnutls_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - FIPS_POP_CONTEXT
    - _gnutls_lib_simulate_error
    - gnutls_hmac_deinit
    - gnutls_cipher_deinit
    - gnutls_pubkey_verify_data2
    - gnutls_fips140_context_init
    - test_ciphers
    - gnutls_init
    - gnutls_privkey_sign_data
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pbkdf2
    - gnutls_fips140_pop_context
    - gnutls_privkey_sign_hash
    - gnutls_key_generate
    - success
    - exit
    - gnutls_hmac_init
    - gnutls_privkey_sign_data2
    - gnutls_fips140_get_operation_state
    - gnutls_hash_fast
    - gnutls_global_set_log_level
    - gnutls_privkey_sign_hash2
    - gnutls_hmac_fast
    - gnutls_free
    - import_keypair
    - gnutls_fips140_mode_enabled
    - global_init
    - FIPS_PUSH_CONTEXT
    - gnutls_fips140_context_deinit
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-compute.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:52,1
    - Dst: gnutls_dh_params_import_raw3
      Src: /src/gnutls/tests/dh-compute.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dh_params
    - p
    - q
    - g
    argTypes:
    - gnutls_dh_params_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: params
    functionSourceFile: /src/gnutls/tests/dh-compute.c
    functionUses: 47
    functionsReached:
    - gnutls_dh_params_init
    - fail
    - gnutls_dh_params_import_raw3
    linkageType: ''
    returnType: void
    signature: "void params(gnutls_dh_params_t *dh_params, const gnutls_datum_t *p,\n\t\t
      \  const gnutls_datum_t *q, const gnutls_datum_t *g)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dh_generate_key
      Src: /src/gnutls/tests/dh-compute.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dh_params
    - priv_key
    - pub_key
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: genkey
    functionSourceFile: /src/gnutls/tests/dh-compute.c
    functionUses: 0
    functionsReached:
    - _gnutls_dh_generate_key
    - fail
    linkageType: ''
    returnType: void
    signature: "void genkey(const gnutls_dh_params_t dh_params, gnutls_datum_t *priv_key,\n\t\t
      \  gnutls_datum_t *pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dh_compute_key
      Src: /src/gnutls/tests/dh-compute.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:82,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dh-compute.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:88,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - name
    - dh_params
    - priv_key
    - pub_key
    - peer_key
    - expect_error
    - result
    - expect_success
    argTypes:
    - char*
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    - gnutls_datum_t*
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: compute_key
    functionSourceFile: /src/gnutls/tests/dh-compute.c
    functionUses: 1
    functionsReached:
    - _gnutls_dh_compute_key
    - gnutls_free
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void compute_key(const char *name, const gnutls_dh_params_t dh_params,\n\t\t\tconst
      gnutls_datum_t *priv_key,\n\t\t\tconst gnutls_datum_t *pub_key,\n\t\t\tconst
      gnutls_datum_t *peer_key, int expect_error,\n\t\t\tgnutls_datum_t *result, bool
      expect_success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dh-compute.c:167,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/dh-compute.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute.c:170,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute.c:174,1
    - Dst: params
      Src: /src/gnutls/tests/dh-compute.c:175,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute.c:177,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute.c:179,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute.c:181,1
    - Dst: genkey
      Src: /src/gnutls/tests/dh-compute.c:182,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute.c:183,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute.c:185,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute.c:187,1
    - Dst: compute_key
      Src: /src/gnutls/tests/dh-compute.c:188,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute.c:191,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-compute.c:194,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute.c:195,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute.c:196,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dh-compute.c:198,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/dh-compute.c:199,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 204
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dh-compute.c
    functionUses: 0
    functionsReached:
    - fips_pop_context
    - compute_key
    - success
    - gnutls_free
    - fips_push_context
    - gnutls_fips140_context_init
    - params
    - gnutls_fips140_mode_enabled
    - gnutls_dh_params_deinit
    - gnutls_fips140_context_deinit
    - genkey
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dh-compute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/status-request.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/status-request.c:71,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached:
    - exit
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/status-request.c:82,1
    - Dst: memcpy
      Src: /src/gnutls/tests/status-request.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: status_func
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int status_func(gnutls_session_t session, void *ptr,\n\t\t       gnutls_datum_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request.c:100,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request.c:103,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request.c:104,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request.c:111,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request.c:118,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request.c:120,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request.c:125,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/status-request.c:134,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request.c:140,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/status-request.c:140,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:144,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request.c:145,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request.c:146,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/status-request.c:150,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/status-request.c:159,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request.c:162,1
    - Dst: close
      Src: /src/gnutls/tests/status-request.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request.c:168,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 42
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request.c:184,1
    - Dst: memset
      Src: /src/gnutls/tests/status-request.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request.c:188,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request.c:189,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request.c:192,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/status-request.c:193,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/gnutls/tests/status-request.c:196,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request.c:199,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/status-request.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request.c:205,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request.c:205,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request.c:207,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request.c:209,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request.c:212,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request.c:213,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request.c:219,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/status-request.c:219,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:223,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:227,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request.c:228,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request.c:229,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/status-request.c:236,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request.c:237,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request.c:239,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:244,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 245
    functionName: server
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 52
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/status-request.c:258,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request.c:260,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request.c:261,1
    - Dst: socketpair
      Src: /src/gnutls/tests/status-request.c:263,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request.c:265,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request.c:266,1
    - Dst: fork
      Src: /src/gnutls/tests/status-request.c:269,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request.c:272,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request.c:273,1
    - Dst: close
      Src: /src/gnutls/tests/status-request.c:278,1
    - Dst: client
      Src: /src/gnutls/tests/status-request.c:279,1
    - Dst: waitpid
      Src: /src/gnutls/tests/status-request.c:280,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/status-request.c:281,1
    - Dst: close
      Src: /src/gnutls/tests/status-request.c:283,1
    - Dst: server
      Src: /src/gnutls/tests/status-request.c:284,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: start
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 90
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/status-request.c:295,1
    - Dst: start
      Src: /src/gnutls/tests/status-request.c:296,1
    - Dst: start
      Src: /src/gnutls/tests/status-request.c:298,1
    - Dst: start
      Src: /src/gnutls/tests/status-request.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: doit
    functionSourceFile: /src/gnutls/tests/status-request.c
    functionUses: 0
    functionsReached:
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file.c:50,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key_file.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:56,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:56,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_file.c:60,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:61,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file.c:62,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_file.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_key_file.c
    functionUses: 15
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file.c:75,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:80,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:81,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file.c:81,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file.c:82,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - xcred
    - key
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: set_cert
    functionSourceFile: /src/gnutls/tests/set_x509_key_file.c
    functionUses: 0
    functionsReached:
    - fopen
    - assert
    - fclose
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_x509_key_file2
    - fail
    - get_tmpname
    linkageType: ''
    returnType: unsigned
    signature: "unsigned set_cert(gnutls_certificate_credentials_t xcred,\n\t\t\t
      const gnutls_datum_t *key, const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_file.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file.c:104,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_file.c:107,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_file.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file.c:114,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_file.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - xcred
    - idx
    - cert
    - ncerts
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: verify_written_cert
    functionSourceFile: /src/gnutls/tests/set_x509_key_file.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_certificate_get_crt_raw
    - compare
    - fail
    linkageType: ''
    returnType: void
    signature: "void verify_written_cert(gnutls_certificate_credentials_t xcred,\n\t\t\t\tunsigned
      idx, const gnutls_datum_t *cert,\n\t\t\t\tunsigned ncerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:131,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:131,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key_file.c:132,1
    - Dst: track_temp_files
      Src: /src/gnutls/tests/set_x509_key_file.c:133,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:139,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:143,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:144,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:144,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_file.c:146,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file.c:151,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file.c:153,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:155,1
    - Dst: verify_written_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:158,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file.c:160,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:162,1
    - Dst: verify_written_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:164,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file.c:166,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file.c:168,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:171,1
    - Dst: verify_written_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:173,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file.c:175,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:178,1
    - Dst: verify_written_cert
      Src: /src/gnutls/tests/set_x509_key_file.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file.c:180,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file.c:181,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:184,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file.c:185,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file.c:186,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/set_x509_key_file.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 188
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_flags
    - delete_temp_files
    - assert
    - gnutls_strerror
    - success
    - verify_written_cert
    - test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_key_file2
    - fail
    - gnutls_certificate_free_credentials
    - global_init
    - set_cert
    - gnutls_certificate_set_x509_trust_mem
    - track_temp_files
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-export-funcs.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/session-export-funcs.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/session-export-funcs.c:62,1
    - Dst: success
      Src: /src/gnutls/tests/session-export-funcs.c:64,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:66,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:67,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-export-funcs.c:70,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-export-funcs.c:72,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-export-funcs.c:75,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/session-export-funcs.c:76,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-export-funcs.c:79,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-export-funcs.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/session-export-funcs.c:82,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-export-funcs.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/session-export-funcs.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/session-export-funcs.c:84,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/session-export-funcs.c:85,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/session-export-funcs.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-export-funcs.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/session-export-funcs.c:93,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/session-export-funcs.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/session-export-funcs.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-export-funcs.c:100,1
    - Dst: exit
      Src: /src/gnutls/tests/session-export-funcs.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-export-funcs.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/session-export-funcs.c:107,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-export-funcs.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/session-export-funcs.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/session-export-funcs.c:113,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/session-export-funcs.c:114,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/session-export-funcs.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/session-export-funcs.c:117,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/session-export-funcs.c:121,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/session-export-funcs.c:125,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:127,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:128,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/session-export-funcs.c:130,1
    - Dst: gnutls_session_get_random
      Src: /src/gnutls/tests/session-export-funcs.c:132,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-export-funcs.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:134,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-export-funcs.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:138,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:141,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:142,1
    - Dst: gnutls_session_get_random
      Src: /src/gnutls/tests/session-export-funcs.c:144,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-export-funcs.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:146,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-export-funcs.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:150,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:153,1
    - Dst: memset
      Src: /src/gnutls/tests/session-export-funcs.c:154,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/session-export-funcs.c:156,1
    - Dst: gnutls_session_get_master_secret
      Src: /src/gnutls/tests/session-export-funcs.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:160,1
    - Dst: gnutls_session_get_master_secret
      Src: /src/gnutls/tests/session-export-funcs.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:165,1
    - Dst: memcmp
      Src: /src/gnutls/tests/session-export-funcs.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/session-export-funcs.c:170,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-export-funcs.c:174,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-export-funcs.c:175,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-export-funcs.c:177,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-export-funcs.c:178,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-export-funcs.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-export-funcs.c:181,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-export-funcs.c:183,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/session-export-funcs.c:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 185
    functionName: start
    functionSourceFile: /src/gnutls/tests/session-export-funcs.c
    functionUses: 91
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_handshake_set_random
    - gnutls_session_get_master_secret
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_session_get_random
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/session-export-funcs.c:189,1
    - Dst: start
      Src: /src/gnutls/tests/session-export-funcs.c:190,1
    - Dst: start
      Src: /src/gnutls/tests/session-export-funcs.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: doit
    functionSourceFile: /src/gnutls/tests/session-export-funcs.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnutls/tests/protocol-set-allowlist.c:76,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:77,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - port_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: parse_port
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 1
    functionsReached:
    - _assert
    - strtoul
    linkageType: ''
    returnType: unsigned
    signature: unsigned parse_port(const char *port_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_id
      Src: /src/gnutls/tests/protocol-set-allowlist.c:85,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: parse_protocol
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_protocol_get_id
    - _assert
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t parse_protocol(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/protocol-set-allowlist.c:99,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:102,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:102,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:105,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/protocol-set-allowlist.c:108,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:111,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:114,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:115,1
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/tests/protocol-set-allowlist.c:115,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:117,1
    - Dst: memcmp
      Src: /src/gnutls/tests/protocol-set-allowlist.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: test_echo_server
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_record_check_pending
    - gnutls_record_send
    - memcmp
    - _assert
    - gnutls_record_recv
    linkageType: ''
    returnType: void
    signature: void test_echo_server(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:128,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/protocol-set-allowlist.c:128,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/protocol-set-allowlist.c:129,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:131,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/protocol-set-allowlist.c:132,1
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:136,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/protocol-set-allowlist.c:136,1
    - Dst: strlen
      Src: /src/gnutls/tests/protocol-set-allowlist.c:137,1
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:138,1
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:140,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/protocol-set-allowlist.c:140,1
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:141,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/tests/protocol-set-allowlist.c:141,1
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:143,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/protocol-set-allowlist.c:143,1
    - Dst: tcp_connect
      Src: /src/gnutls/tests/protocol-set-allowlist.c:146,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:147,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:148,1
    - Dst: setsockopt
      Src: /src/gnutls/tests/protocol-set-allowlist.c:148,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/protocol-set-allowlist.c:152,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/protocol-set-allowlist.c:153,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/protocol-set-allowlist.c:155,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/protocol-set-allowlist.c:156,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/tests/protocol-set-allowlist.c:159,1
    - Dst: _check
      Src: /src/gnutls/tests/protocol-set-allowlist.c:160,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:161,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/protocol-set-allowlist.c:162,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:164,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/protocol-set-allowlist.c:167,1
    - Dst: shutdown
      Src: /src/gnutls/tests/protocol-set-allowlist.c:168,1
    - Dst: close
      Src: /src/gnutls/tests/protocol-set-allowlist.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/protocol-set-allowlist.c:170,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/protocol-set-allowlist.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - ca_file
    - port
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 172
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 172
    functionName: cmd_connect
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - printf
    - shutdown
    - gnutls_session_set_verify_cert
    - close
    - gnutls_init
    - gnutls_set_default_priority
    - _assert
    - gnutls_transport_set_int
    - strlen
    - setsockopt
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - _check
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void cmd_connect(const char *ca_file, unsigned port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_set_enabled
      Src: /src/gnutls/tests/protocol-set-allowlist.c:177,1
    - Dst: parse_protocol
      Src: /src/gnutls/tests/protocol-set-allowlist.c:177,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: cmd_protocol_set_disabled
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - parse_protocol
    - gnutls_protocol_set_enabled
    - printf
    - gnutls_strerror
    linkageType: ''
    returnType: void
    signature: void cmd_protocol_set_disabled(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_set_enabled
      Src: /src/gnutls/tests/protocol-set-allowlist.c:187,1
    - Dst: parse_protocol
      Src: /src/gnutls/tests/protocol-set-allowlist.c:187,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: cmd_protocol_set_enabled
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - parse_protocol
    - gnutls_protocol_set_enabled
    - printf
    - gnutls_strerror
    linkageType: ''
    returnType: void
    signature: void cmd_protocol_set_enabled(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/protocol-set-allowlist.c:197,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/protocol-set-allowlist.c:198,1
    - Dst: printf
      Src: /src/gnutls/tests/protocol-set-allowlist.c:199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/protocol-set-allowlist.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: cmd_reinit
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_strerror
    - gnutls_global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void cmd_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: unprefix
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *unprefix(const char *s, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/protocol-set-allowlist.c:220,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:221,1
    - Dst: getenv
      Src: /src/gnutls/tests/protocol-set-allowlist.c:222,1
    - Dst: _assert
      Src: /src/gnutls/tests/protocol-set-allowlist.c:223,1
    - Dst: parse_port
      Src: /src/gnutls/tests/protocol-set-allowlist.c:224,1
    - Dst: feof
      Src: /src/gnutls/tests/protocol-set-allowlist.c:226,1
    - Dst: memset
      Src: /src/gnutls/tests/protocol-set-allowlist.c:227,1
    - Dst: fgets
      Src: /src/gnutls/tests/protocol-set-allowlist.c:228,1
    - Dst: strchr
      Src: /src/gnutls/tests/protocol-set-allowlist.c:229,1
    - Dst: strcmp
      Src: /src/gnutls/tests/protocol-set-allowlist.c:234,1
    - Dst: cmd_connect
      Src: /src/gnutls/tests/protocol-set-allowlist.c:235,1
    - Dst: unprefix
      Src: /src/gnutls/tests/protocol-set-allowlist.c:236,1
    - Dst: cmd_protocol_set_disabled
      Src: /src/gnutls/tests/protocol-set-allowlist.c:237,1
    - Dst: unprefix
      Src: /src/gnutls/tests/protocol-set-allowlist.c:238,1
    - Dst: cmd_protocol_set_enabled
      Src: /src/gnutls/tests/protocol-set-allowlist.c:239,1
    - Dst: strcmp
      Src: /src/gnutls/tests/protocol-set-allowlist.c:240,1
    - Dst: cmd_reinit
      Src: /src/gnutls/tests/protocol-set-allowlist.c:241,1
    - Dst: unprefix
      Src: /src/gnutls/tests/protocol-set-allowlist.c:242,1
    - Dst: _fail
      Src: /src/gnutls/tests/protocol-set-allowlist.c:243,1
    - Dst: _fail
      Src: /src/gnutls/tests/protocol-set-allowlist.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/protocol-set-allowlist.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 250
    functionName: doit
    functionSourceFile: /src/gnutls/tests/protocol-set-allowlist.c
    functionUses: 0
    functionsReached:
    - exit
    - cmd_protocol_set_disabled
    - feof
    - strchr
    - unprefix
    - _assert
    - strcmp
    - memset
    - cmd_connect
    - cmd_reinit
    - parse_port
    - cmd_protocol_set_enabled
    - getenv
    - fgets
    - _fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/privkey-verify-broken.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/privkey-verify-broken.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/privkey-verify-broken.c:56,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/privkey-verify-broken.c:56,1
    - Dst: gnutls_sign_get_pk_algorithm
      Src: /src/gnutls/tests/privkey-verify-broken.c:58,1
    - Dst: gnutls_sign_get_hash_algorithm
      Src: /src/gnutls/tests/privkey-verify-broken.c:59,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/privkey-verify-broken.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:66,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/privkey-verify-broken.c:76,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/privkey-verify-broken.c:76,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/privkey-verify-broken.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:80,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/privkey-verify-broken.c:82,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/privkey-verify-broken.c:92,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/privkey-verify-broken.c:93,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/privkey-verify-broken.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pkey
    - algo
    - vflags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_sign_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 97
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 97
    functionName: sign_verify_data
    functionSourceFile: /src/gnutls/tests/privkey-verify-broken.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_pubkey_verify_data2
    - gnutls_sign_get_hash_algorithm
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_sign_data
    - gnutls_sign_get_pk_algorithm
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int sign_verify_data(gnutls_x509_privkey_t pkey,\n\t\t\t    gnutls_sign_algorithm_t
      algo, unsigned vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/privkey-verify-broken.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:106,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/privkey-verify-broken.c:108,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/privkey-verify-broken.c:110,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/privkey-verify-broken.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:114,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/privkey-verify-broken.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/privkey-verify-broken.c:119,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:123,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:126,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/privkey-verify-broken.c:128,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:131,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:135,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:139,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:142,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:145,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/privkey-verify-broken.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/privkey-verify-broken.c:148,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/privkey-verify-broken.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/privkey-verify-broken.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 153
    functionName: doit
    functionSourceFile: /src/gnutls/tests/privkey-verify-broken.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    - global_init
    - sign_verify_data
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_deinit
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/utils.h:61,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/utils.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: global_init
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 133
    functionsReached:
    - gnutls_pkcs11_init
    - gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/utils.h:149,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/utils.h:150,1
    - Dst: WTERMSIG
      Src: /src/gnutls/tests/utils.h:150,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/utils.h:151,1
    - Dst: fail
      Src: /src/gnutls/tests/utils.h:152,1
    - Dst: WTERMSIG
      Src: /src/gnutls/tests/utils.h:152,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/utils.h:155,1
    - Dst: _exit
      Src: /src/gnutls/tests/utils.h:156,1
    - Dst: fail
      Src: /src/gnutls/tests/utils.h:157,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/utils.h:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - status
    - sigonly
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: _check_wait_status
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - _exit
    - WEXITSTATUS
    - fail
    - WTERMSIG
    linkageType: ''
    returnType: void
    signature: void _check_wait_status(int status, unsigned sigonly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _check_wait_status
      Src: /src/gnutls/tests/utils.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: check_wait_status
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 39
    functionsReached:
    - _check_wait_status
    linkageType: ''
    returnType: void
    signature: void check_wait_status(int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _check_wait_status
      Src: /src/gnutls/tests/utils.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: check_wait_status_for_sig
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 0
    functionsReached:
    - _check_wait_status
    linkageType: ''
    returnType: void
    signature: void check_wait_status_for_sig(int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/utils.h:180,1
    - Dst: strtoul
      Src: /src/gnutls/tests/utils.h:184,1
    - Dst: assert
      Src: /src/gnutls/tests/utils.h:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: get_timeout
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 29
    functionsReached:
    - assert
    - getenv
    - strtoul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_timeout(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/utils.h:195,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/utils.h:197,1
    - Dst: strtoul
      Src: /src/gnutls/tests/utils.h:199,1
    - Dst: assert
      Src: /src/gnutls/tests/utils.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: get_dtls_retransmit_timeout
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 4
    functionsReached:
    - strtoul
    - assert
    - getenv
    - get_timeout
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_dtls_retransmit_timeout(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/utils.h:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: fips_operation_state_to_string
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      fips_operation_state_to_string(gnutls_fips140_operation_state_t state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/utils.h:225,1
    - Dst: gnutls_fips140_push_context
      Src: /src/gnutls/tests/utils.h:228,1
    - Dst: fail
      Src: /src/gnutls/tests/utils.h:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - gnutls_fips140_context_t
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: fips_push_context
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 2
    functionsReached:
    - gnutls_fips140_push_context
    - fail
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void fips_push_context(gnutls_fips140_context_t context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/utils.h:241,1
    - Dst: gnutls_fips140_pop_context
      Src: /src/gnutls/tests/utils.h:244,1
    - Dst: fail
      Src: /src/gnutls/tests/utils.h:246,1
    - Dst: gnutls_fips140_get_operation_state
      Src: /src/gnutls/tests/utils.h:248,1
    - Dst: fail
      Src: /src/gnutls/tests/utils.h:250,1
    - Dst: fips_operation_state_to_string
      Src: /src/gnutls/tests/utils.h:251,1
    - Dst: fips_operation_state_to_string
      Src: /src/gnutls/tests/utils.h:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - context
    - expected_state
    argTypes:
    - gnutls_fips140_context_t
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: fips_pop_context
    functionSourceFile: /src/gnutls/tests/utils.h
    functionUses: 2
    functionsReached:
    - fips_operation_state_to_string
    - gnutls_fips140_mode_enabled
    - gnutls_fips140_get_operation_state
    - fail
    - gnutls_fips140_pop_context
    linkageType: ''
    returnType: void
    signature: "void fips_pop_context(gnutls_fips140_context_t context,\n\t\t gnutls_fips140_operation_state_t
      expected_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-mtu.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/tests/mini-dtls-mtu.c:98,1
    - Dst: FD_SET
      Src: /src/gnutls/tests/mini-dtls-mtu.c:99,1
    - Dst: select
      Src: /src/gnutls/tests/mini-dtls-mtu.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: client_pull_timeout
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 0
    functionsReached:
    - select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int client_pull_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/tests/mini-dtls-mtu.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-mtu.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: client_pull
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 0
    functionsReached:
    - recv
    - exit
    - fail
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t client_pull(gnutls_transport_ptr_t ptr, void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-mtu.c:133,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-mtu.c:137,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-mtu.c:138,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-mtu.c:141,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-mtu.c:145,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-mtu.c:146,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-mtu.c:147,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-mtu.c:147,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-mtu.c:150,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-mtu.c:157,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-mtu.c:159,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-dtls-mtu.c:160,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-dtls-mtu.c:161,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-mtu.c:167,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-mtu.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-mtu.c:171,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-mtu.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:173,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-mtu.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-mtu.c:180,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-mtu.c:181,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-mtu.c:182,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-mtu.c:184,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-mtu.c:186,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:188,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-mtu.c:190,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 193
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 43
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-mtu.c:201,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-mtu.c:202,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-mtu.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 21
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-mtu.c:215,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-mtu.c:219,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-mtu.c:220,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-mtu.c:223,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-dtls-mtu.c:224,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-mtu.c:227,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-mtu.c:228,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-mtu.c:228,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-mtu.c:229,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-mtu.c:234,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-mtu.c:239,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-mtu.c:241,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-mtu.c:244,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-mtu.c:245,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-mtu.c:247,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-mtu.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-mtu.c:250,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-mtu.c:251,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-mtu.c:254,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-mtu.c:257,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-mtu.c:258,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-mtu.c:259,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-mtu.c:263,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-mtu.c:265,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:266,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-mtu.c:268,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:270,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-mtu.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 274
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 53
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-mtu.c:281,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-mtu.c:283,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-mtu.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-mtu.c:286,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-mtu.c:289,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-mtu.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-mtu.c:292,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:293,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-mtu.c:300,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-mtu.c:301,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-mtu.c:302,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-mtu.c:303,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-mtu.c:305,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-mtu.c:306,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-mtu.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-mtu.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/cert-status.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cert-status.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cert-status.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cert-status.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cert-status.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cert-status.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cert-status.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/cert-status.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:90,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cert-status.c:93,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/cert-status.c:95,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/cert-status.c:100,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/cert-status.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/cert-status.c:105,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/cert-status.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:108,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:111,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:115,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/cert-status.c:116,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/cert-status.c:117,1
    - Dst: close
      Src: /src/gnutls/tests/cert-status.c:119,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cert-status.c:121,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cert-status.c:123,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cert-status.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 126
    functionName: client
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 44
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cert-status.c:137,1
    - Dst: memset
      Src: /src/gnutls/tests/cert-status.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cert-status.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/cert-status.c:142,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cert-status.c:142,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cert-status.c:145,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cert-status.c:146,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cert-status.c:149,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cert-status.c:150,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cert-status.c:153,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/cert-status.c:155,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/cert-status.c:156,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/cert-status.c:159,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/cert-status.c:160,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/cert-status.c:168,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:172,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:175,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/cert-status.c:176,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/cert-status.c:177,1
    - Dst: close
      Src: /src/gnutls/tests/cert-status.c:179,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cert-status.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cert-status.c:182,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cert-status.c:184,1
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - fd
    - prio
    - status
    - expected
    argTypes:
    - int
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 188
    functionName: server
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 54
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned status, int expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/cert-status.c:197,1
    - Dst: socketpair
      Src: /src/gnutls/tests/cert-status.c:199,1
    - Dst: perror
      Src: /src/gnutls/tests/cert-status.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:202,1
    - Dst: fork
      Src: /src/gnutls/tests/cert-status.c:205,1
    - Dst: perror
      Src: /src/gnutls/tests/cert-status.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/cert-status.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:209,1
    - Dst: close
      Src: /src/gnutls/tests/cert-status.c:214,1
    - Dst: server
      Src: /src/gnutls/tests/cert-status.c:215,1
    - Dst: waitpid
      Src: /src/gnutls/tests/cert-status.c:216,1
    - Dst: check_wait_status_for_sig
      Src: /src/gnutls/tests/cert-status.c:217,1
    - Dst: close
      Src: /src/gnutls/tests/cert-status.c:219,1
    - Dst: client
      Src: /src/gnutls/tests/cert-status.c:220,1
    - Dst: exit
      Src: /src/gnutls/tests/cert-status.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - prio
    - status
    - expected
    argTypes:
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 223
    functionName: start
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 92
    functionsReached:
    - exit
    - success
    - fork
    - server
    - close
    - socketpair
    - client
    - check_wait_status_for_sig
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned status, int expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/cert-status.c:232,1
    - Dst: signal
      Src: /src/gnutls/tests/cert-status.c:233,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:235,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:237,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:239,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:242,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:243,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:244,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:247,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:248,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:249,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:252,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:253,1
    - Dst: start
      Src: /src/gnutls/tests/cert-status.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: doit
    functionSourceFile: /src/gnutls/tests/cert-status.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-set2.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/priority-set2.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/priority-set2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/priority-set2.c:72,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/priority-set2.c:73,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/priority-set2.c:75,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/priority-set2.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-set2.c:79,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priority-set2.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-set2.c:82,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/priority-set2.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-set2.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-set2.c:87,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/tests/priority-set2.c:88,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-set2.c:90,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-set2.c:91,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-set2.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-set2.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set2.c:97,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/priority-set2.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set2.c:102,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-set2.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set2.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-set2.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set2.c:111,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/tests/priority-set2.c:113,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-set2.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-set2.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-set2.c:116,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/priority-set2.c:118,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-set2.c:120,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-set2.c:121,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-set2.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-set2.c:123,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priority-set2.c:124,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/priority-set2.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 127
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priority-set2.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_priority_deinit
    - gnutls_priority_set
    - global_init
    - gnutls_priority_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:86,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:89,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:90,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:93,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:97,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:98,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:99,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:99,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:109,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:112,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:117,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:121,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:130,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:131,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:132,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:135,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:144,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:147,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:151,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:153,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 158
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 45
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:166,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:167,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 22
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:186,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:189,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:190,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:195,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:196,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:199,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:201,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:202,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:202,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:203,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:208,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:213,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:215,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:216,1
    - Dst: recv
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:221,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:222,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:225,1
    - Dst: gnutls_dtls_cookie_verify
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:226,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:231,1
    - Dst: gnutls_dtls_cookie_send
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:237,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:238,1
    - Dst: recv
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:246,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:247,1
    - Dst: gnutls_dtls_prestate_set
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:257,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:260,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:261,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:263,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:265,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:266,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:270,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:273,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:274,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:275,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:281,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:285,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:287,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:288,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:289,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:294,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:296,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:297,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:299,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:300,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:302,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:305,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 306
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 306
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 55
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_global_deinit
    - gnutls_dtls_cookie_send
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - gnutls_key_generate
    - success
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_error_is_fatal
    - gnutls_dtls_cookie_verify
    - gnutls_protocol_get_name
    - gnutls_dtls_prestate_set
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - global_init
    - recv
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:313,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:315,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:317,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:318,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:321,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:323,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:324,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:325,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:332,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:333,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:334,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:336,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:337,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 340
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/priority-init2.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/priority-init2.c:70,1
    - Dst: success
      Src: /src/gnutls/tests/priority-init2.c:72,1
    - Dst: global_init
      Src: /src/gnutls/tests/priority-init2.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/priority-init2.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/priority-init2.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-init2.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-init2.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-init2.c:86,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/priority-init2.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-init2.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-init2.c:90,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-init2.c:91,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priority-init2.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priority-init2.c:95,1
    - Dst: gnutls_priority_init2
      Src: /src/gnutls/tests/priority-init2.c:97,1
    - Dst: strchr
      Src: /src/gnutls/tests/priority-init2.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:104,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:121,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priority-init2.c:121,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/tests/priority-init2.c:124,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-init2.c:126,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-init2.c:127,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-init2.c:128,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-init2.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:133,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/priority-init2.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-init2.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-init2.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:147,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/priority-init2.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:151,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-init2.c:153,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-init2.c:154,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-init2.c:155,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/priority-init2.c:157,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/priority-init2.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:166,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/priority-init2.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-init2.c:172,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/priority-init2.c:173,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/priority-init2.c:174,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/priority-init2.c:175,1
    - Dst: memset
      Src: /src/gnutls/tests/priority-init2.c:185,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/priority-init2.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:197,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/priority-init2.c:200,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priority-init2.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:204,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:209,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/priority-init2.c:215,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priority-init2.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:219,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:225,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/priority-init2.c:230,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:235,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/priority-init2.c:238,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-init2.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-init2.c:243,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/priority-init2.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/priority-init2.c:248,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-init2.c:250,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-init2.c:251,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priority-init2.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-init2.c:254,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-init2.c:256,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/priority-init2.c:258,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/priority-init2.c:259,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 127
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 260
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 260
    functionName: start
    functionSourceFile: /src/gnutls/tests/priority-init2.c
    functionUses: 93
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - strchr
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - gnutls_priority_init2
    - gnutls_transport_set_ptr
    - gnutls_session_ext_master_secret_status
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_get_ours
    - gnutls_strerror
    - gnutls_certificate_verify_peers
    - gnutls_priority_deinit
    - gnutls_priority_set
    - global_init
    - gnutls_priority_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void start(struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/priority-init2.c:297,1
    - Dst: start
      Src: /src/gnutls/tests/priority-init2.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priority-init2.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:85,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:86,1
    - Dst: virt_time_init
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:99,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:100,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:103,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:109,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:112,1
    - Dst: gnutls_record_send_early_data
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:112,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:119,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:119,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:121,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:129,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:136,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:140,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:143,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:143,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:154,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:157,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:159,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:161,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:165,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 167
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 167
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 46
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_send_early_data
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - virt_time_init
    - gnutls_session_get_data2
    - assert
    - success
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:187,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:200,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - expires
    - key
    - value
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 209
    functionName: storage_add
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,\n\t\t
      \      const gnutls_datum_t *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - storage
    argTypes:
    - struct storage_st*
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: storage_clear
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void storage_clear(struct storage_st *storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:233,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:234,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:235,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:238,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:239,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:242,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:243,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:248,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:249,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:255,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:257,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:261,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:261,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:264,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:269,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:271,1
    - Dst: gnutls_anti_replay_enable
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:274,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:276,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:279,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:280,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:283,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:284,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:285,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:288,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:290,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:291,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:296,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:301,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:302,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:306,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:309,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:310,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:315,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:316,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:321,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:323,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:325,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:327,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:330,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:332,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:334,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:337,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 338
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 338
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 57
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - kill
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - assert
    - gnutls_session_get_flags
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - storage_clear
    - gnutls_anti_replay_enable
    - gnutls_error_is_fatal
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_anti_replay_deinit
    - gnutls_anti_replay_init
    - global_init
    - gnutls_anti_replay_set_ptr
    - gnutls_handshake
    - gnutls_anti_replay_set_add_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:346,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:347,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:352,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:354,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:355,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:362,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:364,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:365,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:366,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:372,1
    - Dst: server
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:373,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:374,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:375,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:378,1
    - Dst: client
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:379,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg2.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 382
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg2.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-pthread.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-pthread.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:84,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-pthread.c:85,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-pthread.c:86,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-pthread.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:94,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-pthread.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:97,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:102,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-pthread.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:110,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-pthread.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:114,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-pthread.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:124,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:125,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/tls-pthread.c:128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 129
    functionName: recv_thread
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_protocol_get_version
    - memcmp
    - pthread_exit
    - gnutls_record_recv
    - fail
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: void
    signature: void *recv_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls-pthread.c:138,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/tls-pthread.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:142,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-pthread.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:150,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-pthread.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:158,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:162,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-pthread.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:170,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/tls-pthread.c:170,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 172
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 172
    functionName: do_thread_stuff
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - success
    - sec_sleep
    - assert
    - pthread_join
    - gnutls_bye
    - gnutls_record_send
    - pthread_create
    - fail
    linkageType: ''
    returnType: void
    signature: void do_thread_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-pthread.c:182,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:185,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:185,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:194,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-pthread.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:201,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:204,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-pthread.c:208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: do_reflect_stuff
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 2
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_bye
    - gnutls_record_send
    - gnutls_record_recv
    - fail
    linkageType: ''
    returnType: void
    signature: void do_reflect_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-pthread.c:219,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-pthread.c:223,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-pthread.c:224,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:227,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-pthread.c:227,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:232,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-pthread.c:232,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-pthread.c:233,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-pthread.c:233,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:235,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-pthread.c:235,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:237,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-pthread.c:237,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-pthread.c:240,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-pthread.c:245,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-pthread.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:252,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/tls-pthread.c:256,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/tls-pthread.c:258,1
    - Dst: close
      Src: /src/gnutls/tests/tls-pthread.c:260,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-pthread.c:262,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-pthread.c:264,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-pthread.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - fd
    - prio
    - flags
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 267
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 267
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 47
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - do_thread_stuff
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - do_reflect_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-pthread.c:278,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-pthread.c:283,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-pthread.c:284,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:288,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-pthread.c:288,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:289,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-pthread.c:289,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:296,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-pthread.c:296,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-pthread.c:297,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-pthread.c:297,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-pthread.c:299,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-pthread.c:299,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-pthread.c:301,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-pthread.c:303,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-pthread.c:306,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-pthread.c:307,1
    - Dst: close
      Src: /src/gnutls/tests/tls-pthread.c:309,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-pthread.c:310,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:311,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-pthread.c:312,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:315,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:318,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-pthread.c:319,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-pthread.c:320,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/tls-pthread.c:323,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/tls-pthread.c:325,1
    - Dst: close
      Src: /src/gnutls/tests/tls-pthread.c:327,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-pthread.c:328,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-pthread.c:330,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-pthread.c:332,1
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - fd
    - prio
    - flags
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 336
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 336
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 58
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - do_thread_stuff
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - do_reflect_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-pthread.c:345,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-pthread.c:347,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-pthread.c:349,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-pthread.c:350,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-pthread.c:353,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-pthread.c:355,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-pthread.c:356,1
    - Dst: close
      Src: /src/gnutls/tests/tls-pthread.c:363,1
    - Dst: client
      Src: /src/gnutls/tests/tls-pthread.c:364,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-pthread.c:365,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-pthread.c:366,1
    - Dst: close
      Src: /src/gnutls/tests/tls-pthread.c:368,1
    - Dst: server
      Src: /src/gnutls/tests/tls-pthread.c:369,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-pthread.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - str
    - prio
    - flags
    argTypes:
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 372
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 372
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 11
    functionsReached:
    - exit
    - success
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *str, const char *prio, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-pthread.c:376,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:377,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:378,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:379,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:381,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:382,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:385,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:387,1
    - Dst: run
      Src: /src/gnutls/tests/tls-pthread.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-pthread.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-op-random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs7-gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs7-gen.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs7-gen.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs7-gen.c:102,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs7-gen.c:103,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs7-gen.c:105,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs7-gen.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:110,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs7-gen.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:116,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/pkcs7-gen.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:122,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:123,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs7-gen.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:129,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/tests/pkcs7-gen.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:136,1
    - Dst: gnutls_pkcs7_add_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:143,1
    - Dst: gnutls_pkcs7_add_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:149,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:150,1
    - Dst: gnutls_pkcs7_add_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:157,1
    - Dst: gnutls_pkcs7_sign
      Src: /src/gnutls/tests/pkcs7-gen.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:163,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:164,1
    - Dst: gnutls_pkcs7_export2
      Src: /src/gnutls/tests/pkcs7-gen.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:170,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:173,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/tests/pkcs7-gen.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:179,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/tests/pkcs7-gen.c:182,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:185,1
    - Dst: gnutls_pkcs7_get_signature_info
      Src: /src/gnutls/tests/pkcs7-gen.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:191,1
    - Dst: gnutls_pkcs7_get_signature_count
      Src: /src/gnutls/tests/pkcs7-gen.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:197,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:200,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:203,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:207,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:208,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-gen.c:210,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:215,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:216,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:219,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:222,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-gen.c:224,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:229,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:229,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:230,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:233,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:236,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-gen.c:238,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/tests/pkcs7-gen.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:244,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:247,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs7-gen.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:249,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:250,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-gen.c:252,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:254,1
    - Dst: gnutls_pkcs7_verify_direct
      Src: /src/gnutls/tests/pkcs7-gen.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7-gen.c:258,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7-gen.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs7-gen.c:259,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7-gen.c:262,1
    - Dst: gnutls_pkcs7_attrs_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:263,1
    - Dst: gnutls_pkcs7_attrs_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:264,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:265,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:266,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs7-gen.c:267,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 268
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs7-gen.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_deinit
    - strcmp
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_pkcs7_export2
    - memcmp
    - gnutls_pkcs7_attrs_deinit
    - gnutls_pkcs7_init
    - gnutls_privkey_import_x509_raw
    - gnutls_pkcs7_import
    - gnutls_pkcs7_signature_info_deinit
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs7_get_attr
    - gnutls_pkcs7_add_attr
    - gnutls_pkcs7_deinit
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs7_verify_direct
    - gnutls_pkcs7_sign
    - gnutls_pkcs7_get_signature_count
    - gnutls_pkcs7_get_signature_info
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/no-status-request.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/no-status-request.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/no-status-request.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/no-status-request.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/no-status-request.c:82,1
    - Dst: memcpy
      Src: /src/gnutls/tests/no-status-request.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: status_func
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int status_func(gnutls_session_t session, void *ptr,\n\t\t       gnutls_datum_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/no-status-request.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/no-status-request.c:101,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/no-status-request.c:102,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/no-status-request.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/no-status-request.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-status-request.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/no-status-request.c:107,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-status-request.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-status-request.c:108,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/no-status-request.c:109,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/no-status-request.c:112,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/no-status-request.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/no-status-request.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/no-status-request.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/no-status-request.c:123,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/no-status-request.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:127,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/no-status-request.c:128,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/no-status-request.c:129,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/no-status-request.c:133,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/no-status-request.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/no-status-request.c:142,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/no-status-request.c:144,1
    - Dst: close
      Src: /src/gnutls/tests/no-status-request.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-status-request.c:149,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/no-status-request.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/no-status-request.c:151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - fd
    - prio
    - flags
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 152
    functionName: client
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 48
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/no-status-request.c:161,1
    - Dst: memset
      Src: /src/gnutls/tests/no-status-request.c:162,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/no-status-request.c:165,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/no-status-request.c:166,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/no-status-request.c:169,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/no-status-request.c:170,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/gnutls/tests/no-status-request.c:172,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-status-request.c:174,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/no-status-request.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/no-status-request.c:178,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-status-request.c:178,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-status-request.c:179,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/no-status-request.c:180,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/no-status-request.c:183,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/no-status-request.c:184,1
    - Dst: assert
      Src: /src/gnutls/tests/no-status-request.c:188,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/no-status-request.c:188,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:192,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:195,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/no-status-request.c:196,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/no-status-request.c:197,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/no-status-request.c:199,1
    - Dst: close
      Src: /src/gnutls/tests/no-status-request.c:202,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-status-request.c:203,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/no-status-request.c:204,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/no-status-request.c:205,1
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 209
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 209
    functionName: server
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 59
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/no-status-request.c:221,1
    - Dst: signal
      Src: /src/gnutls/tests/no-status-request.c:223,1
    - Dst: signal
      Src: /src/gnutls/tests/no-status-request.c:224,1
    - Dst: socketpair
      Src: /src/gnutls/tests/no-status-request.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/no-status-request.c:228,1
    - Dst: fork
      Src: /src/gnutls/tests/no-status-request.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/no-status-request.c:232,1
    - Dst: close
      Src: /src/gnutls/tests/no-status-request.c:235,1
    - Dst: client
      Src: /src/gnutls/tests/no-status-request.c:236,1
    - Dst: waitpid
      Src: /src/gnutls/tests/no-status-request.c:237,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/no-status-request.c:238,1
    - Dst: close
      Src: /src/gnutls/tests/no-status-request.c:240,1
    - Dst: server
      Src: /src/gnutls/tests/no-status-request.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/no-status-request.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - prio
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: start
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 94
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:248,1
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:249,1
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:250,1
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:252,1
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:253,1
    - Dst: start
      Src: /src/gnutls/tests/no-status-request.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: doit
    functionSourceFile: /src/gnutls/tests/no-status-request.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecdh_generate_key
      Src: /src/gnutls/tests/ecdh-compute.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - key
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: genkey
    functionSourceFile: /src/gnutls/tests/ecdh-compute.c
    functionUses: 1
    functionsReached:
    - _gnutls_ecdh_generate_key
    - fail
    linkageType: ''
    returnType: void
    signature: "void genkey(gnutls_ecc_curve_t curve, gnutls_datum_t *x,\n\t\t   gnutls_datum_t
      *y, gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecdh_compute_key
      Src: /src/gnutls/tests/ecdh-compute.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute.c:67,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ecdh-compute.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 9
    argNames:
    - curve
    - x
    - y
    - key
    - peer_x
    - peer_y
    - expect_error
    - result
    - expect_success
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    - gnutls_datum_t*
    - bool
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: compute_key
    functionSourceFile: /src/gnutls/tests/ecdh-compute.c
    functionUses: 3
    functionsReached:
    - _gnutls_ecdh_compute_key
    - gnutls_free
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,\n\t\t\tconst
      gnutls_datum_t *y, const gnutls_datum_t *key,\n\t\t\tconst gnutls_datum_t *peer_x,\n\t\t\tconst
      gnutls_datum_t *peer_y, int expect_error,\n\t\t\tgnutls_datum_t *result, bool
      expect_success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: genkey
      Src: /src/gnutls/tests/ecdh-compute.c:193,1
    - Dst: compute_key
      Src: /src/gnutls/tests/ecdh-compute.c:200,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute.c:205,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute.c:206,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute.c:207,1
    - Dst: success
      Src: /src/gnutls/tests/ecdh-compute.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 212
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ecdh-compute.c
    functionUses: 0
    functionsReached:
    - genkey
    - gnutls_free
    - success
    - compute_key
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ecdh-compute.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-false-start.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/handshake-false-start.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/handshake-false-start.c:73,1
    - Dst: strlen
      Src: /src/gnutls/tests/handshake-false-start.c:75,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-false-start.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-false-start.c:88,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/handshake-false-start.c:90,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/handshake-false-start.c:93,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/handshake-false-start.c:96,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:101,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/handshake-false-start.c:102,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-false-start.c:105,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-false-start.c:107,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/handshake-false-start.c:110,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-false-start.c:112,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-false-start.c:113,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-false-start.c:115,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-false-start.c:117,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-false-start.c:118,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-false-start.c:119,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/handshake-false-start.c:120,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-false-start.c:122,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:126,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:129,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/handshake-false-start.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:134,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-false-start.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:139,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-false-start.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:144,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-false-start.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:148,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-false-start.c:150,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:152,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-false-start.c:154,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-false-start.c:155,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/handshake-false-start.c:156,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-false-start.c:158,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/handshake-false-start.c:160,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/handshake-false-start.c:162,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:164,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/handshake-false-start.c:167,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:169,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/handshake-false-start.c:174,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:179,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/handshake-false-start.c:184,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:187,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:191,1
    - Dst: memcmp
      Src: /src/gnutls/tests/handshake-false-start.c:194,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:195,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/handshake-false-start.c:199,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:204,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/handshake-false-start.c:209,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:214,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/handshake-false-start.c:218,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:223,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/handshake-false-start.c:228,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:230,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:231,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:235,1
    - Dst: memcmp
      Src: /src/gnutls/tests/handshake-false-start.c:238,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:239,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-false-start.c:243,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:246,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-false-start.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-false-start.c:254,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:256,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-false-start.c:260,1
    - Dst: myfail
      Src: /src/gnutls/tests/handshake-false-start.c:262,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-false-start.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-false-start.c:265,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-false-start.c:267,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-false-start.c:268,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/handshake-false-start.c:270,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:271,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:272,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:273,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-false-start.c:274,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 137
    argCount: 6
    argNames:
    - name
    - testno
    - fs
    - prio
    - dhsize
    - dtls
    argTypes:
    - char*
    - unsigned
    - unsigned
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 275
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 275
    functionName: try
    functionSourceFile: /src/gnutls/tests/handshake-false-start.c
    functionUses: 27
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_dh_params_deinit
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_anon_set_server_dh_params
    - exit
    - success
    - gnutls_session_get_flags
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - myfail
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    linkageType: ''
    returnType: void
    signature: "void try(const char *name, unsigned testno, unsigned fs,\n\t\tconst
      char *prio, unsigned dhsize, unsigned dtls)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-false-start.c:281,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:288,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:292,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:296,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:300,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:304,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:308,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:312,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:320,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-false-start.c:323,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-false-start.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 326
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-false-start.c
    functionUses: 0
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crt_apis.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crt_apis.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/crt_apis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crt_apis.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:90,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crt_apis.c:92,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crt_apis.c:93,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crt_apis.c:95,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crt_apis.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:99,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crt_apis.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:103,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crt_apis.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:108,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crt_apis.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:112,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/crt_apis.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:116,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/crt_apis.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:122,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/gnutls/tests/crt_apis.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:126,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/tests/crt_apis.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:130,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/tests/crt_apis.c:132,1
    - Dst: mytime
      Src: /src/gnutls/tests/crt_apis.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:134,1
    - Dst: gnutls_x509_crt_set_key
      Src: /src/gnutls/tests/crt_apis.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:138,1
    - Dst: gnutls_x509_crt_set_basic_constraints
      Src: /src/gnutls/tests/crt_apis.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:142,1
    - Dst: gnutls_x509_crt_set_key_usage
      Src: /src/gnutls/tests/crt_apis.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:147,1
    - Dst: gnutls_x509_crt_set_dn
      Src: /src/gnutls/tests/crt_apis.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:152,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:152,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:159,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:161,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:165,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:167,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:172,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:177,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:184,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:189,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:191,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:196,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:198,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:203,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/crt_apis.c:205,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:213,1
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/tests/crt_apis.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:219,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/tests/crt_apis.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:225,1
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/tests/crt_apis.c:228,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:230,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/tests/crt_apis.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:236,1
    - Dst: gnutls_x509_crt_set_issuer_dn
      Src: /src/gnutls/tests/crt_apis.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:244,1
    - Dst: gnutls_x509_crt_set_issuer_unique_id
      Src: /src/gnutls/tests/crt_apis.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:251,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:251,1
    - Dst: gnutls_x509_crt_set_subject_unique_id
      Src: /src/gnutls/tests/crt_apis.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:256,1
    - Dst: gnutls_x509_crt_sign2
      Src: /src/gnutls/tests/crt_apis.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:261,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:261,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/crt_apis.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:265,1
    - Dst: printf
      Src: /src/gnutls/tests/crt_apis.c:267,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crt_apis.c:268,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/tests/crt_apis.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:274,1
    - Dst: strerror
      Src: /src/gnutls/tests/crt_apis.c:275,1
    - Dst: gnutls_x509_crt_get_extension_data
      Src: /src/gnutls/tests/crt_apis.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:280,1
    - Dst: strerror
      Src: /src/gnutls/tests/crt_apis.c:280,1
    - Dst: gnutls_x509_crt_get_raw_issuer_dn
      Src: /src/gnutls/tests/crt_apis.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:284,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:285,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:288,1
    - Dst: hexprint
      Src: /src/gnutls/tests/crt_apis.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:292,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crt_apis.c:294,1
    - Dst: gnutls_x509_crt_get_issuer_unique_id
      Src: /src/gnutls/tests/crt_apis.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:299,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:299,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:302,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:303,1
    - Dst: gnutls_x509_crt_get_subject_unique_id
      Src: /src/gnutls/tests/crt_apis.c:307,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:309,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:309,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:312,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:313,1
    - Dst: gnutls_x509_crt_get_raw_dn
      Src: /src/gnutls/tests/crt_apis.c:316,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:318,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:318,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:321,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:324,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crt_apis.c:326,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/crt_apis.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:330,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/crt_apis.c:333,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:335,1
    - Dst: gnutls_x509_crt_verify
      Src: /src/gnutls/tests/crt_apis.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:340,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:344,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:347,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/crt_apis.c:347,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crt_apis.c:350,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:352,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:353,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:353,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:358,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/tests/crt_apis.c:358,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:360,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:362,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/tests/crt_apis.c:362,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:364,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:368,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/tests/crt_apis.c:368,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:370,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:371,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:371,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crt_apis.c:372,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:376,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/tests/crt_apis.c:376,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:378,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/crt_apis.c:378,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:380,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:381,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:381,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crt_apis.c:384,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crt_apis.c:385,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:387,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crt_apis.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:391,1
    - Dst: gnutls_x509_crt_get_subject_alt_name2
      Src: /src/gnutls/tests/crt_apis.c:396,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_apis.c:399,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_apis.c:400,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:403,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:404,1
    - Dst: strlen
      Src: /src/gnutls/tests/crt_apis.c:404,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_apis.c:405,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crt_apis.c:405,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crt_apis.c:407,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crt_apis.c:409,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crt_apis.c:410,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crt_apis.c:411,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crt_apis.c:413,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 208
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 414
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crt_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_set_serial
    - gnutls_x509_crt_set_key_purpose_oid
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_crt_verify
    - gnutls_x509_crt_set_basic_constraints
    - gnutls_x509_crt_export2
    - gnutls_x509_crt_set_expiration_time
    - hexprint
    - printf
    - gnutls_x509_crt_get_subject_alt_name2
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_crt_get_extension_data
    - memcmp
    - gnutls_x509_crt_set_issuer_dn
    - gnutls_x509_privkey_init
    - gnutls_x509_crt_equals
    - gnutls_x509_crt_get_extension_info
    - gnutls_x509_crt_set_dn
    - strerror
    - gnutls_x509_crt_export
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_set_issuer_unique_id
    - gnutls_x509_crt_get_key_purpose_oid
    - gnutls_x509_crt_get_subject_unique_id
    - gnutls_x509_crt_sign2
    - gnutls_x509_crt_get_raw_issuer_dn
    - gnutls_x509_crt_set_version
    - gnutls_x509_privkey_import
    - mytime
    - gnutls_x509_crt_get_issuer_unique_id
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_crt_set_key_usage
    - gnutls_x509_crt_set_subject_alt_name
    - gnutls_x509_crt_set_key
    - gnutls_x509_crt_set_activation_time
    - fprintf
    - fail
    - gnutls_x509_crt_get_raw_dn
    - gnutls_x509_crt_set_subject_unique_id
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seccomp_init
      Src: /src/gnutls/tests/seccomp.c:39,1
    - Dst: fprintf
      Src: /src/gnutls/tests/seccomp.c:41,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:56,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:57,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:58,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:59,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:60,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:62,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:65,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:70,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:71,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:72,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:73,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:74,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:75,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:78,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:80,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:84,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:85,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:88,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:91,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:95,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:96,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:97,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:100,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:101,1
    - Dst: ADD_SYSCALL
      Src: /src/gnutls/tests/seccomp.c:104,1
    - Dst: seccomp_load
      Src: /src/gnutls/tests/seccomp.c:106,1
    - Dst: fprintf
      Src: /src/gnutls/tests/seccomp.c:108,1
    - Dst: seccomp_release
      Src: /src/gnutls/tests/seccomp.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 118
    functionName: disable_system_calls
    functionSourceFile: /src/gnutls/tests/seccomp.c
    functionUses: 1
    functionsReached:
    - seccomp_release
    - seccomp_load
    - ADD_SYSCALL
    - fprintf
    - seccomp_init
    linkageType: ''
    returnType: int
    signature: int disable_system_calls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: disable_system_calls
    functionSourceFile: /src/gnutls/tests/seccomp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int disable_system_calls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13-without-timeout-func.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/tls13-without-timeout-func.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: server_pull_fail
    functionSourceFile: /src/gnutls/tests/tls13-without-timeout-func.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t server_pull_fail(gnutls_transport_ptr_t tr, void *data,\n\t\t\t\tsize_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:83,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:88,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:92,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:94,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:94,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:95,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:96,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:99,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:101,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:104,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:109,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:111,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:112,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:113,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:115,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:119,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:122,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:126,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:128,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:129,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:136,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:137,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:139,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:140,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:142,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:143,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-without-timeout-func.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 146
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-without-timeout-func.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_session_get_data2
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file-late.c:49,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file-late.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file-late.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:54,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file-late.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:55,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file-late.c:55,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file-late.c:56,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file-late.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file-late.c:61,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file-late.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - xcred
    - key
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: set_cert
    functionSourceFile: /src/gnutls/tests/set_x509_key_file-late.c
    functionUses: 1
    functionsReached:
    - fopen
    - assert
    - fclose
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_x509_key_file2
    - fail
    - get_tmpname
    linkageType: ''
    returnType: unsigned
    signature: "unsigned set_cert(gnutls_certificate_credentials_t xcred,\n\t\t\t
      const gnutls_datum_t *key, const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:74,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:75,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:76,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file-late.c:76,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_file-late.c:78,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:81,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:84,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/set_x509_key_file-late.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: handshake_hook_func
    functionSourceFile: /src/gnutls/tests/set_x509_key_file-late.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_flags
    - assert
    - gnutls_credentials_set
    - gnutls_certificate_allocate_credentials
    - set_cert
    linkageType: ''
    returnType: int
    signature: "int handshake_hook_func(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \      unsigned when, unsigned int incoming,\n\t\t\t       const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file-late.c:97,1
    - Dst: track_temp_files
      Src: /src/gnutls/tests/set_x509_key_file-late.c:98,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:100,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file-late.c:100,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file-late.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file-late.c:105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file-late.c:105,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file-late.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:109,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/set_x509_key_file-late.c:109,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/set_x509_key_file-late.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/set_x509_key_file-late.c:114,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/set_x509_key_file-late.c:115,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/set_x509_key_file-late.c:116,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/set_x509_key_file-late.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:119,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/set_x509_key_file-late.c:119,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:121,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/set_x509_key_file-late.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file-late.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:126,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/set_x509_key_file-late.c:126,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/set_x509_key_file-late.c:127,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/set_x509_key_file-late.c:128,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/set_x509_key_file-late.c:129,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/set_x509_key_file-late.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file-late.c:133,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/set_x509_key_file-late.c:133,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/set_x509_key_file-late.c:136,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/set_x509_key_file-late.c:137,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file-late.c:139,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file-late.c:140,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file-late.c:141,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/set_x509_key_file-late.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: start
    functionSourceFile: /src/gnutls/tests/set_x509_key_file-late.c
    functionUses: 95
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - gnutls_deinit
    - track_temp_files
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - delete_temp_files
    - gnutls_strerror
    - gnutls_credentials_get
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/set_x509_key_file-late.c:147,1
    - Dst: start
      Src: /src/gnutls/tests/set_x509_key_file-late.c:148,1
    - Dst: start
      Src: /src/gnutls/tests/set_x509_key_file-late.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file-late.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-force-ems.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-force-ems.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-force-ems.c:51,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:53,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-force-ems.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:55,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-force-ems.c:55,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:59,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-force-ems.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:61,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls-force-ems.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:64,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-force-ems.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:65,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-force-ems.c:65,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-ems.c:67,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-ems.c:68,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-force-ems.c:70,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-force-ems.c:71,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-force-ems.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:73,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-force-ems.c:73,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-force-ems.c:75,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-force-ems.c:76,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-force-ems.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:78,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-force-ems.c:78,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/tls-force-ems.c:80,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-force-ems.c:82,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-force-ems.c:83,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-force-ems.c:84,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-force-ems.c:85,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-force-ems.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - name
    - sprio
    - cprio
    - serr
    - cerr
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 88
    functionName: try
    functionSourceFile: /src/gnutls/tests/tls-force-ems.c
    functionUses: 27
    functionsReached:
    - reset_buffers
    - success
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_trust_mem
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: "void try(const char *name, const char *sprio, const char *cprio,\n\t\tint
      serr, int cerr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-force-ems.c:96,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-force-ems.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-force-ems.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-ems.c:103,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/tls-force-ems.c:103,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/tls-force-ems.c:108,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/tls-force-ems.c:110,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/tls-force-ems.c:112,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/tls-force-ems.c:115,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls-force-ems.c:117,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls-force-ems.c:132,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/tls-force-ems.c:145,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-force-ems.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-force-ems.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_global_deinit
    - gnutls_fips140_context_init
    - gnutls_fips140_mode_enabled
    - global_init
    - FIPS_PUSH_CONTEXT
    - gnutls_fips140_context_deinit
    - FIPS_POP_CONTEXT
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-ocsp.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:70,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:82,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:87,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:92,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:94,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 8
    argNames:
    - session
    - info
    - pcert
    - pcert_length
    - ocsp
    - ocsp_length
    - pkey
    - flags
    argTypes:
    - gnutls_session_t
    - struct gnutls_cert_retr_st*
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_ocsp_data_st**
    - unsigned int*
    - gnutls_privkey_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 120
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 120
    functionName: server_cert_callback
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pcert_import_x509_list
    - gnutls_malloc
    - gnutls_x509_crt_list_import2
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    linkageType: ''
    returnType: int
    signature: "int server_cert_callback(gnutls_session_t session,\n\t\t\t\tconst
      struct gnutls_cert_retr_st *info,\n\t\t\t\tgnutls_pcert_st **pcert,\n\t\t\t\tunsigned
      int *pcert_length,\n\t\t\t\tgnutls_ocsp_data_st **ocsp,\n\t\t\t\tunsigned int
      *ocsp_length,\n\t\t\t\tgnutls_privkey_t *pkey, unsigned int *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:135,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:138,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:139,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:141,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:144,1
    - Dst: gnutls_certificate_set_retrieve_function3
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:146,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:148,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:150,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:150,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:151,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:152,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:153,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:154,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:157,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:159,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:161,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:167,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:171,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:173,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:177,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:177,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:178,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:179,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:180,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:184,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:184,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:186,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:186,1
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:191,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:193,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:194,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:194,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:196,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:197,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:202,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:203,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:203,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:208,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:211,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:212,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:214,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:215,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:217,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:218,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:220,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 223
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-ocsp.c
    functionUses: 96
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_verify_flags
    - gnutls_transport_set_ptr
    - gnutls_ocsp_status_request_get
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_ocsp_status_request_get2
    - gnutls_protocol_get_version
    - gnutls_certificate_set_retrieve_function3
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:227,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:228,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:229,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-ocsp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-ocsp.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/chainverify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/chainverify.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:73,1
    - Dst: global_init
      Src: /src/gnutls/tests/chainverify.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:78,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:79,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/chainverify.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/chainverify.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/chainverify.c:85,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:88,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/chainverify.c:90,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:92,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:98,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/chainverify.c:100,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:102,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:105,1
    - Dst: strlen
      Src: /src/gnutls/tests/chainverify.c:109,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/chainverify.c:111,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:120,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/chainverify.c:123,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:126,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:128,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:132,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/chainverify.c:134,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:138,1
    - Dst: strlen
      Src: /src/gnutls/tests/chainverify.c:142,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/chainverify.c:144,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:148,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:152,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/chainverify.c:154,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:156,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:157,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:160,1
    - Dst: gnutls_x509_crt_list_verify
      Src: /src/gnutls/tests/chainverify.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:175,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:180,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify.c:186,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:191,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:203,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:205,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/chainverify.c:208,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/chainverify.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:213,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/chainverify.c:221,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify.c:225,1
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify.c:230,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:233,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:239,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify.c:245,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:248,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:249,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:255,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/chainverify.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify.c:261,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:265,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify.c:266,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:271,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/chainverify.c:273,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify.c:274,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify.c:276,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:279,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/chainverify.c:282,1
    - Dst: printf
      Src: /src/gnutls/tests/chainverify.c:285,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify.c:287,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 288
    functionName: doit
    functionSourceFile: /src/gnutls/tests/chainverify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_x509_crt_list_verify
    - gnutls_global_deinit
    - gnutls_x509_trust_list_deinit
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_trust_list_add_cas
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_certificate_verification_status_print
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_init
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_x509_trust_list_verify_crt
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-override-test.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/fips-override-test.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - str
    argTypes:
    - gnutls_session_t
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: audit_log_func
    functionSourceFile: /src/gnutls/tests/fips-override-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void audit_log_func(gnutls_session_t session, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-override-test.c:40,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:42,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-override-test.c:44,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/fips-override-test.c:46,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:48,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/fips-override-test.c:50,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-override-test.c:52,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:54,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/tests/fips-override-test.c:56,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/tests/fips-override-test.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:60,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/tests/fips-override-test.c:62,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/fips-override-test.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-override-test.c:69,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-override-test.c:69,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-override-test.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:72,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-override-test.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: try_crypto
    functionSourceFile: /src/gnutls/tests/fips-override-test.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_deinit
    - gnutls_cipher_deinit
    - assert
    - gnutls_hmac_init
    - gnutls_x509_privkey_generate
    - gnutls_rnd
    - gnutls_cipher_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: void
    signature: void try_crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-override-test.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/fips-override-test.c:85,1
    - Dst: gnutls_global_set_audit_log_function
      Src: /src/gnutls/tests/fips-override-test.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/fips-override-test.c:88,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-override-test.c:90,1
    - Dst: success
      Src: /src/gnutls/tests/fips-override-test.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/fips-override-test.c:93,1
    - Dst: global_init
      Src: /src/gnutls/tests/fips-override-test.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:98,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-override-test.c:102,1
    - Dst: try_crypto
      Src: /src/gnutls/tests/fips-override-test.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:108,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-override-test.c:111,1
    - Dst: try_crypto
      Src: /src/gnutls/tests/fips-override-test.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:117,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-override-test.c:120,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-override-test.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:122,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-override-test.c:124,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-override-test.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:126,1
    - Dst: GNUTLS_FIPS140_SET_LAX_MODE
      Src: /src/gnutls/tests/fips-override-test.c:128,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-override-test.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:130,1
    - Dst: GNUTLS_FIPS140_SET_STRICT_MODE
      Src: /src/gnutls/tests/fips-override-test.c:132,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-override-test.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-override-test.c:134,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/fips-override-test.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 138
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fips-override-test.c
    functionUses: 0
    functionsReached:
    - success
    - exit
    - try_crypto
    - gnutls_global_deinit
    - gnutls_fips140_set_mode
    - GNUTLS_FIPS140_SET_LAX_MODE
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_global_set_audit_log_function
    - GNUTLS_FIPS140_SET_STRICT_MODE
    - fprintf
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509cert-invalid.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509cert-invalid.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/x509cert-invalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509cert-invalid.c:109,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/x509cert-invalid.c:111,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509cert-invalid.c:112,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509cert-invalid.c:114,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-invalid.c:116,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-invalid.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-invalid.c:120,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-invalid.c:122,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-invalid.c:124,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-invalid.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-invalid.c:128,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-invalid.c:130,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509cert-invalid.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/x509cert-invalid.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 136
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509cert-invalid.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - global_init
    - gnutls_global_set_time_function
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/openconnect-dtls12.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/openconnect-dtls12.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/openconnect-dtls12.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: push
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/openconnect-dtls12.c:89,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/openconnect-dtls12.c:92,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/openconnect-dtls12.c:93,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/openconnect-dtls12.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/openconnect-dtls12.c:98,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/openconnect-dtls12.c:99,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/openconnect-dtls12.c:100,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/openconnect-dtls12.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/openconnect-dtls12.c:102,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/openconnect-dtls12.c:102,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/openconnect-dtls12.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/openconnect-dtls12.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:110,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/openconnect-dtls12.c:113,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/openconnect-dtls12.c:115,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/openconnect-dtls12.c:116,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/openconnect-dtls12.c:121,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/openconnect-dtls12.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:125,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/openconnect-dtls12.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:127,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:130,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/tests/openconnect-dtls12.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:135,1
    - Dst: strcmp
      Src: /src/gnutls/tests/openconnect-dtls12.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:141,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/openconnect-dtls12.c:142,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:145,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/openconnect-dtls12.c:146,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/openconnect-dtls12.c:147,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/openconnect-dtls12.c:150,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/openconnect-dtls12.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:159,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/openconnect-dtls12.c:162,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:168,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/openconnect-dtls12.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 7
    argNames:
    - fd
    - prio
    - proto
    - cipher
    - kx
    - mac
    - exp_desc
    argTypes:
    - int
    - char*
    - int
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 49
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - strcmp
    - gnutls_record_recv
    - gnutls_session_set_premaster
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - global_init
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *prio, int proto, int cipher, int kx,\n\t\t
      \  int mac, const char *exp_desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/openconnect-dtls12.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/openconnect-dtls12.c:188,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/openconnect-dtls12.c:189,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/openconnect-dtls12.c:192,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/openconnect-dtls12.c:194,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/openconnect-dtls12.c:195,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/openconnect-dtls12.c:195,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/openconnect-dtls12.c:196,1
    - Dst: assert
      Src: /src/gnutls/tests/openconnect-dtls12.c:201,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/openconnect-dtls12.c:201,1
    - Dst: gnutls_session_set_premaster
      Src: /src/gnutls/tests/openconnect-dtls12.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/openconnect-dtls12.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:209,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/openconnect-dtls12.c:212,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/openconnect-dtls12.c:214,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/openconnect-dtls12.c:215,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/openconnect-dtls12.c:218,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/openconnect-dtls12.c:219,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:221,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/openconnect-dtls12.c:224,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:227,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:230,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/openconnect-dtls12.c:231,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/openconnect-dtls12.c:232,1
    - Dst: memset
      Src: /src/gnutls/tests/openconnect-dtls12.c:237,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/openconnect-dtls12.c:239,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:243,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/openconnect-dtls12.c:246,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/openconnect-dtls12.c:251,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:254,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/openconnect-dtls12.c:256,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/openconnect-dtls12.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 6
    argNames:
    - fd
    - prio
    - proto
    - cipher
    - kx
    - mac
    argTypes:
    - int
    - char*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 262
    functionName: server
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 60
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_session_set_premaster
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void server(int fd, const char *prio, int proto, int cipher, int kx,\n\t\t
      \  int mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/openconnect-dtls12.c:271,1
    - Dst: socketpair
      Src: /src/gnutls/tests/openconnect-dtls12.c:273,1
    - Dst: perror
      Src: /src/gnutls/tests/openconnect-dtls12.c:275,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:276,1
    - Dst: fork
      Src: /src/gnutls/tests/openconnect-dtls12.c:279,1
    - Dst: perror
      Src: /src/gnutls/tests/openconnect-dtls12.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/openconnect-dtls12.c:282,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:283,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:290,1
    - Dst: server
      Src: /src/gnutls/tests/openconnect-dtls12.c:291,1
    - Dst: wait
      Src: /src/gnutls/tests/openconnect-dtls12.c:292,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/openconnect-dtls12.c:293,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:294,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:296,1
    - Dst: client
      Src: /src/gnutls/tests/openconnect-dtls12.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/openconnect-dtls12.c:298,1
    - Dst: exit
      Src: /src/gnutls/tests/openconnect-dtls12.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - name
    - prio
    - proto
    - cipher
    - kx
    - mac
    - exp_desc
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 301
    functionName: run
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 12
    functionsReached:
    - exit
    - success
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void run(const char *name, const char *prio, int proto, int cipher,\n\t\tint
      kx, int mac, const char *exp_desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/openconnect-dtls12.c:305,1
    - Dst: run
      Src: /src/gnutls/tests/openconnect-dtls12.c:307,1
    - Dst: run
      Src: /src/gnutls/tests/openconnect-dtls12.c:311,1
    - Dst: run
      Src: /src/gnutls/tests/openconnect-dtls12.c:315,1
    - Dst: run
      Src: /src/gnutls/tests/openconnect-dtls12.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: doit
    functionSourceFile: /src/gnutls/tests/openconnect-dtls12.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-ok.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rfc7633-ok.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rfc7633-ok.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/rfc7633-ok.c:153,1
    - Dst: global_init
      Src: /src/gnutls/tests/rfc7633-ok.c:154,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rfc7633-ok.c:157,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rfc7633-ok.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:161,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rfc7633-ok.c:161,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:162,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rfc7633-ok.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:165,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rfc7633-ok.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:167,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rfc7633-ok.c:167,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/rfc7633-ok.c:169,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rfc7633-ok.c:174,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rfc7633-ok.c:176,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rfc7633-ok.c:179,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/rfc7633-ok.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rfc7633-ok.c:182,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:185,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:189,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/rfc7633-ok.c:190,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/rfc7633-ok.c:191,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/rfc7633-ok.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:195,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/rfc7633-ok.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:200,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rfc7633-ok.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:205,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/rfc7633-ok.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:207,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rfc7633-ok.c:212,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-ok.c:214,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rfc7633-ok.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rfc7633-ok.c:218,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rfc7633-ok.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 221
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 221
    functionName: client
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 50
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_verify_peers2
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - gnutls_certificate_verification_status_print
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rfc7633-ok.c:226,1
    - Dst: memcpy
      Src: /src/gnutls/tests/rfc7633-ok.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: status_func
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int status_func(gnutls_session_t session, void *ptr,\n\t\t       gnutls_datum_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rfc7633-ok.c:244,1
    - Dst: memset
      Src: /src/gnutls/tests/rfc7633-ok.c:245,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rfc7633-ok.c:248,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rfc7633-ok.c:249,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:252,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rfc7633-ok.c:252,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:253,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rfc7633-ok.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:257,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rfc7633-ok.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/rfc7633-ok.c:259,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rfc7633-ok.c:259,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/gnutls/tests/rfc7633-ok.c:261,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rfc7633-ok.c:264,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rfc7633-ok.c:266,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rfc7633-ok.c:269,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/rfc7633-ok.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:273,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rfc7633-ok.c:273,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:281,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/rfc7633-ok.c:282,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/rfc7633-ok.c:283,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rfc7633-ok.c:287,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-ok.c:289,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rfc7633-ok.c:290,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rfc7633-ok.c:292,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rfc7633-ok.c:294,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 298
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 298
    functionName: server
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 61
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/rfc7633-ok.c:311,1
    - Dst: signal
      Src: /src/gnutls/tests/rfc7633-ok.c:312,1
    - Dst: success
      Src: /src/gnutls/tests/rfc7633-ok.c:315,1
    - Dst: socketpair
      Src: /src/gnutls/tests/rfc7633-ok.c:317,1
    - Dst: perror
      Src: /src/gnutls/tests/rfc7633-ok.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-ok.c:320,1
    - Dst: fork
      Src: /src/gnutls/tests/rfc7633-ok.c:323,1
    - Dst: perror
      Src: /src/gnutls/tests/rfc7633-ok.c:325,1
    - Dst: fail
      Src: /src/gnutls/tests/rfc7633-ok.c:326,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-ok.c:327,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-ok.c:332,1
    - Dst: client
      Src: /src/gnutls/tests/rfc7633-ok.c:333,1
    - Dst: waitpid
      Src: /src/gnutls/tests/rfc7633-ok.c:334,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/rfc7633-ok.c:335,1
    - Dst: close
      Src: /src/gnutls/tests/rfc7633-ok.c:337,1
    - Dst: server
      Src: /src/gnutls/tests/rfc7633-ok.c:338,1
    - Dst: exit
      Src: /src/gnutls/tests/rfc7633-ok.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 343
    functionName: start
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 97
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-ok.c:347,1
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-ok.c:348,1
    - Dst: start
      Src: /src/gnutls/tests/rfc7633-ok.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rfc7633-ok.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/dane-strcodes.c:43,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dane-strcodes.c:45,1
    - Dst: fail
      Src: /src/gnutls/tests/dane-strcodes.c:46,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dane-strcodes.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - line
    - i
    - val
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: _check_unique_non_null
    functionSourceFile: /src/gnutls/tests/dane-strcodes.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void _check_unique_non_null(int line, int i, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dane-strcodes.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/dane-strcodes.c:61,1
    - Dst: exit
      Src: /src/gnutls/tests/dane-strcodes.c:62,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/dane-strcodes.c:66,1
    - Dst: dane_cert_usage_name
      Src: /src/gnutls/tests/dane-strcodes.c:66,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/dane-strcodes.c:69,1
    - Dst: dane_cert_type_name
      Src: /src/gnutls/tests/dane-strcodes.c:69,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/dane-strcodes.c:72,1
    - Dst: dane_match_type_name
      Src: /src/gnutls/tests/dane-strcodes.c:72,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/dane-strcodes.c:75,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane-strcodes.c:75,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dane-strcodes.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dane-strcodes.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_global_deinit
    - check_unique_non_null
    - dane_cert_usage_name
    - dane_match_type_name
    - global_init
    - dane_cert_type_name
    - dane_strerror
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:251,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:253,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:258,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:263,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:265,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:267,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:271,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs12_s2k_pem.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs12_s2k_pem.c
    functionUses: 4
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - printf
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/anonself.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/anonself.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/anonself.c:72,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/anonself.c:74,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/anonself.c:76,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/anonself.c:78,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/anonself.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/anonself.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/anonself.c:85,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/anonself.c:89,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/anonself.c:91,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/anonself.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:98,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/anonself.c:99,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:103,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/anonself.c:107,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:110,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/anonself.c:111,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/anonself.c:112,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/anonself.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/anonself.c:117,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/anonself.c:120,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/anonself.c:126,1
    - Dst: memcmp
      Src: /src/gnutls/tests/anonself.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:131,1
    - Dst: strlen
      Src: /src/gnutls/tests/anonself.c:132,1
    - Dst: printf
      Src: /src/gnutls/tests/anonself.c:137,1
    - Dst: fputc
      Src: /src/gnutls/tests/anonself.c:139,1
    - Dst: fputs
      Src: /src/gnutls/tests/anonself.c:141,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/anonself.c:144,1
    - Dst: close
      Src: /src/gnutls/tests/anonself.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/anonself.c:150,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/anonself.c:152,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/anonself.c:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 155
    functionName: client
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 51
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - print_dh_params_info
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/anonself.c:161,1
    - Dst: global_init
      Src: /src/gnutls/tests/anonself.c:170,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/anonself.c:172,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/anonself.c:174,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/anonself.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/anonself.c:181,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/anonself.c:181,1
    - Dst: assert
      Src: /src/gnutls/tests/anonself.c:182,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/anonself.c:182,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/anonself.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/anonself.c:187,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/anonself.c:187,1
    - Dst: assert
      Src: /src/gnutls/tests/anonself.c:189,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/anonself.c:189,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/anonself.c:191,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/anonself.c:191,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/anonself.c:192,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/tests/anonself.c:194,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/anonself.c:196,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/anonself.c:197,1
    - Dst: close
      Src: /src/gnutls/tests/anonself.c:199,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/anonself.c:200,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/anonself.c:202,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:206,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:209,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/anonself.c:210,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/anonself.c:211,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/anonself.c:214,1
    - Dst: gnutls_record_recv_packet
      Src: /src/gnutls/tests/anonself.c:217,1
    - Dst: gnutls_packet_deinit
      Src: /src/gnutls/tests/anonself.c:220,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:225,1
    - Dst: gnutls_packet_get
      Src: /src/gnutls/tests/anonself.c:231,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/anonself.c:234,1
    - Dst: gnutls_packet_deinit
      Src: /src/gnutls/tests/anonself.c:235,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/anonself.c:240,1
    - Dst: close
      Src: /src/gnutls/tests/anonself.c:242,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/anonself.c:243,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/anonself.c:245,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/anonself.c:247,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/anonself.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:252,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 253
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 253
    functionName: server
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 62
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_dh_params_deinit
    - gnutls_record_recv_packet
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - print_dh_params_info
    - gnutls_dh_params_init
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_anon_set_server_dh_params
    - gnutls_transport_set_int
    - gnutls_dh_set_prime_bits
    - success
    - assert
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_packet_get
    - gnutls_protocol_get_name
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_packet_deinit
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/anonself.c:260,1
    - Dst: socketpair
      Src: /src/gnutls/tests/anonself.c:261,1
    - Dst: perror
      Src: /src/gnutls/tests/anonself.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:264,1
    - Dst: fork
      Src: /src/gnutls/tests/anonself.c:268,1
    - Dst: perror
      Src: /src/gnutls/tests/anonself.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/anonself.c:271,1
    - Dst: close
      Src: /src/gnutls/tests/anonself.c:278,1
    - Dst: server
      Src: /src/gnutls/tests/anonself.c:279,1
    - Dst: wait
      Src: /src/gnutls/tests/anonself.c:280,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/anonself.c:281,1
    - Dst: close
      Src: /src/gnutls/tests/anonself.c:283,1
    - Dst: client
      Src: /src/gnutls/tests/anonself.c:284,1
    - Dst: exit
      Src: /src/gnutls/tests/anonself.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 287
    functionName: start
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 98
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:291,1
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:293,1
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:295,1
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:297,1
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:299,1
    - Dst: start
      Src: /src/gnutls/tests/anonself.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: doit
    functionSourceFile: /src/gnutls/tests/anonself.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls10-server-kx-neg.c:353,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls10-server-kx-neg.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls10-server-kx-neg.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnutls/tests/no-signal.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sigpipe
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void sigpipe(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/no-signal.c:74,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/no-signal.c:77,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/no-signal.c:80,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-signal.c:84,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/no-signal.c:85,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/no-signal.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-signal.c:88,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-signal.c:95,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/no-signal.c:97,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/no-signal.c:102,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/no-signal.c:106,1
    - Dst: kill
      Src: /src/gnutls/tests/no-signal.c:108,1
    - Dst: getppid
      Src: /src/gnutls/tests/no-signal.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/no-signal.c:109,1
    - Dst: success
      Src: /src/gnutls/tests/no-signal.c:112,1
    - Dst: memset
      Src: /src/gnutls/tests/no-signal.c:114,1
    - Dst: memcmp
      Src: /src/gnutls/tests/no-signal.c:115,1
    - Dst: kill
      Src: /src/gnutls/tests/no-signal.c:116,1
    - Dst: getppid
      Src: /src/gnutls/tests/no-signal.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/no-signal.c:117,1
    - Dst: close
      Src: /src/gnutls/tests/no-signal.c:120,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-signal.c:121,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/no-signal.c:122,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/no-signal.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/no-signal.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/no-signal.c:127,1
    - Dst: success
      Src: /src/gnutls/tests/no-signal.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 132
    functionName: client
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 52
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - kill
    - gnutls_anon_free_client_credentials
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_record_recv
    - close
    - memcmp
    - gnutls_init
    - memset
    - getppid
    - gnutls_transport_set_int
    - success
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/no-signal.c:146,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/no-signal.c:149,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/no-signal.c:152,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/no-signal.c:154,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/no-signal.c:159,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/no-signal.c:164,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/no-signal.c:166,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/no-signal.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/no-signal.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/no-signal.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:175,1
    - Dst: memset
      Src: /src/gnutls/tests/no-signal.c:178,1
    - Dst: sleep
      Src: /src/gnutls/tests/no-signal.c:180,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/no-signal.c:181,1
    - Dst: sleep
      Src: /src/gnutls/tests/no-signal.c:186,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/no-signal.c:188,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/no-signal.c:189,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/no-signal.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 191
    functionName: server
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 63
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_record_send
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_init
    - sleep
    - memset
    - gnutls_anon_allocate_server_credentials
    - fail
    - gnutls_global_set_log_level
    - gnutls_transport_set_int
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/no-signal.c:199,1
    - Dst: perror
      Src: /src/gnutls/tests/no-signal.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:202,1
    - Dst: fork
      Src: /src/gnutls/tests/no-signal.c:205,1
    - Dst: perror
      Src: /src/gnutls/tests/no-signal.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/no-signal.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:209,1
    - Dst: close
      Src: /src/gnutls/tests/no-signal.c:214,1
    - Dst: server
      Src: /src/gnutls/tests/no-signal.c:215,1
    - Dst: close
      Src: /src/gnutls/tests/no-signal.c:216,1
    - Dst: kill
      Src: /src/gnutls/tests/no-signal.c:217,1
    - Dst: close
      Src: /src/gnutls/tests/no-signal.c:219,1
    - Dst: client
      Src: /src/gnutls/tests/no-signal.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/no-signal.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/no-signal.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 224
    functionName: start
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 99
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/no-signal.c:229,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/no-signal.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/no-signal.c:236,1
    - Dst: signal
      Src: /src/gnutls/tests/no-signal.c:237,1
    - Dst: start
      Src: /src/gnutls/tests/no-signal.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: doit
    functionSourceFile: /src/gnutls/tests/no-signal.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-with-seccomp.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-with-seccomp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/dtls-with-seccomp.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-with-seccomp.c:81,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-with-seccomp.c:84,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-with-seccomp.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-with-seccomp.c:88,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-with-seccomp.c:92,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-with-seccomp.c:93,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dtls-with-seccomp.c:94,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-with-seccomp.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-with-seccomp.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-with-seccomp.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-with-seccomp.c:98,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-with-seccomp.c:100,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-with-seccomp.c:101,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-with-seccomp.c:106,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-with-seccomp.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:110,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:119,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-with-seccomp.c:120,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-with-seccomp.c:121,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-with-seccomp.c:124,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:132,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-with-seccomp.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:139,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:144,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:146,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-with-seccomp.c:148,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 151
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 53
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-with-seccomp.c:159,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-with-seccomp.c:160,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-with-seccomp.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 23
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-with-seccomp.c:174,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-with-seccomp.c:177,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-with-seccomp.c:178,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-with-seccomp.c:181,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-with-seccomp.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:186,1
    - Dst: disable_system_calls
      Src: /src/gnutls/tests/dtls-with-seccomp.c:188,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-with-seccomp.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:191,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-with-seccomp.c:194,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dtls-with-seccomp.c:195,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-with-seccomp.c:195,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-with-seccomp.c:196,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-with-seccomp.c:198,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-with-seccomp.c:198,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-with-seccomp.c:200,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-with-seccomp.c:202,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-with-seccomp.c:203,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-with-seccomp.c:206,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-with-seccomp.c:207,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:209,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:212,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-with-seccomp.c:213,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:219,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-with-seccomp.c:220,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-with-seccomp.c:221,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-with-seccomp.c:226,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-with-seccomp.c:228,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:232,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:234,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:235,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-with-seccomp.c:236,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-with-seccomp.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:242,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:245,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:246,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-with-seccomp.c:248,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 254
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 64
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - disable_system_calls
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-with-seccomp.c:261,1
    - Dst: signal
      Src: /src/gnutls/tests/dtls-with-seccomp.c:262,1
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-with-seccomp.c:264,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:267,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-with-seccomp.c:270,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-with-seccomp.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-with-seccomp.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:274,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:281,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-with-seccomp.c:282,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-with-seccomp.c:284,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-with-seccomp.c:285,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-with-seccomp.c:287,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-with-seccomp.c:288,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-with-seccomp.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 291
    functionName: run
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 13
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/dtls-with-seccomp.c:295,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-with-seccomp.c:296,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-with-seccomp.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-with-seccomp.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/system-prio-file.c:47,1
    - Dst: _gnutls_resolve_priorities
      Src: /src/gnutls/tests/system-prio-file.c:49,1
    - Dst: assert
      Src: /src/gnutls/tests/system-prio-file.c:53,1
    - Dst: strstr
      Src: /src/gnutls/tests/system-prio-file.c:53,1
    - Dst: gnutls_get_system_config_file
      Src: /src/gnutls/tests/system-prio-file.c:53,1
    - Dst: strcmp
      Src: /src/gnutls/tests/system-prio-file.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/system-prio-file.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/system-prio-file.c:58,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/system-prio-file.c:62,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/system-prio-file.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - prio
    - expected_str
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: try_prio
    functionSourceFile: /src/gnutls/tests/system-prio-file.c
    functionUses: 1
    functionsReached:
    - assert
    - exit
    - gnutls_free
    - gnutls_global_deinit
    - strstr
    - global_init
    - strcmp
    - _gnutls_resolve_priorities
    - fail
    - gnutls_get_system_config_file
    linkageType: ''
    returnType: void
    signature: void try_prio(const char *prio, const char *expected_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:68,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:69,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:70,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:71,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:72,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:73,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:76,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:77,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:78,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:79,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:80,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:81,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:82,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:83,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:84,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:85,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:87,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:88,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:89,1
    - Dst: try_prio
      Src: /src/gnutls/tests/system-prio-file.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: doit
    functionSourceFile: /src/gnutls/tests/system-prio-file.c
    functionUses: 0
    functionsReached:
    - try_prio
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-op-nonce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/fips-mode-pthread.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fips-mode-pthread.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:73,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-mode-pthread.c:77,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:82,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-mode-pthread.c:87,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:90,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/fips-mode-pthread.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:98,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-mode-pthread.c:102,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/fips-mode-pthread.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: test_set_per_thread
    functionSourceFile: /src/gnutls/tests/fips-mode-pthread.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_fast
    - gnutls_fips140_set_mode
    - gnutls_fips140_mode_enabled
    - pthread_exit
    - fail
    linkageType: ''
    returnType: void
    signature: void *test_set_per_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/fips-mode-pthread.c:116,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/fips-mode-pthread.c:121,1
    - Dst: calloc
      Src: /src/gnutls/tests/fips-mode-pthread.c:124,1
    - Dst: abort
      Src: /src/gnutls/tests/fips-mode-pthread.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:128,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/fips-mode-pthread.c:143,1
    - Dst: abort
      Src: /src/gnutls/tests/fips-mode-pthread.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:150,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/fips-mode-pthread.c:152,1
    - Dst: abort
      Src: /src/gnutls/tests/fips-mode-pthread.c:154,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:157,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:161,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:164,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-mode-pthread.c:167,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/fips-mode-pthread.c:173,1
    - Dst: abort
      Src: /src/gnutls/tests/fips-mode-pthread.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/fips-mode-pthread.c:179,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/fips-mode-pthread.c:181,1
    - Dst: abort
      Src: /src/gnutls/tests/fips-mode-pthread.c:183,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:187,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:188,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-mode-pthread.c:190,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-mode-pthread.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-mode-pthread.c:192,1
    - Dst: free
      Src: /src/gnutls/tests/fips-mode-pthread.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 195
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fips-mode-pthread.c
    functionUses: 0
    functionsReached:
    - abort
    - success
    - exit
    - gnutls_fips140_set_mode
    - calloc
    - signal
    - pthread_join
    - free
    - pthread_create
    - gnutls_fips140_mode_enabled
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pskself.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pskself.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pskself.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pskself.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pskself.c:79,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/pskself.c:83,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/pskself.c:84,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pskself.c:89,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pskself.c:92,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pskself.c:96,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pskself.c:98,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pskself.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:105,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/pskself.c:106,1
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:110,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/pskself.c:115,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pskself.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:117,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/pskself.c:118,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/pskself.c:123,1
    - Dst: strlen
      Src: /src/gnutls/tests/pskself.c:123,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/pskself.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pskself.c:131,1
    - Dst: printf
      Src: /src/gnutls/tests/pskself.c:136,1
    - Dst: fputc
      Src: /src/gnutls/tests/pskself.c:138,1
    - Dst: fputs
      Src: /src/gnutls/tests/pskself.c:140,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pskself.c:143,1
    - Dst: close
      Src: /src/gnutls/tests/pskself.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself.c:149,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/pskself.c:151,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pskself.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - sd
    - prio
    - exp_hint
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 154
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 154
    functionName: client
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 54
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_psk_client_get_hint
    - gnutls_bye
    - strcmp
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio, unsigned exp_hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/pskself.c:167,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/pskself.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/pskself.c:181,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/pskself.c:187,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/pskself.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: generate_dh_params
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 1
    functionsReached:
    - gnutls_dh_params_init
    - gnutls_dh_params_import_pkcs3
    - strlen
    linkageType: ''
    returnType: int
    signature: int generate_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pskself.c:201,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pskself.c:202,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pskself.c:204,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/pskself.c:208,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/tests/pskself.c:209,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/pskself.c:210,1
    - Dst: gnutls_psk_set_server_dh_params
      Src: /src/gnutls/tests/pskself.c:212,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pskself.c:214,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pskself.c:219,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pskself.c:221,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pskself.c:223,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pskself.c:224,1
    - Dst: close
      Src: /src/gnutls/tests/pskself.c:226,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pskself.c:229,1
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:233,1
    - Dst: memset
      Src: /src/gnutls/tests/pskself.c:239,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/pskself.c:240,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/pskself.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:248,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/pskself.c:254,1
    - Dst: strlen
      Src: /src/gnutls/tests/pskself.c:254,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pskself.c:259,1
    - Dst: close
      Src: /src/gnutls/tests/pskself.c:261,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself.c:262,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/pskself.c:264,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pskself.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 270
    functionName: server
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 65
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_set_server_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_psk_set_server_credentials_hint
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_psk_set_server_credentials_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/pskself.c:278,1
    - Dst: socketpair
      Src: /src/gnutls/tests/pskself.c:280,1
    - Dst: perror
      Src: /src/gnutls/tests/pskself.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:283,1
    - Dst: fork
      Src: /src/gnutls/tests/pskself.c:287,1
    - Dst: perror
      Src: /src/gnutls/tests/pskself.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself.c:290,1
    - Dst: close
      Src: /src/gnutls/tests/pskself.c:297,1
    - Dst: server
      Src: /src/gnutls/tests/pskself.c:298,1
    - Dst: wait
      Src: /src/gnutls/tests/pskself.c:299,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/pskself.c:300,1
    - Dst: close
      Src: /src/gnutls/tests/pskself.c:302,1
    - Dst: client
      Src: /src/gnutls/tests/pskself.c:303,1
    - Dst: exit
      Src: /src/gnutls/tests/pskself.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - prio
    - exp_hint
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 306
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 306
    functionName: run_test
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 0
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run_test(const char *prio, unsigned exp_hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_dh_params
      Src: /src/gnutls/tests/pskself.c:310,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:312,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:313,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:314,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:316,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:317,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:320,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:324,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:326,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:327,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself.c:328,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/pskself.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pskself.c
    functionUses: 0
    functionsReached:
    - run_test
    - generate_dh_params
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs12_encode.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs12_encode.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:96,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs12_encode.c:98,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:100,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:101,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs12_encode.c:104,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs12_encode.c:106,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/pkcs12_encode.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_encode.c:110,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs12_encode.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:117,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs12_encode.c:120,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:123,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs12_encode.c:126,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:129,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs12_encode.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:135,1
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/tests/pkcs12_encode.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:142,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs12_encode.c:156,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/tests/pkcs12_encode.c:166,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:170,1
    - Dst: gnutls_pkcs12_bag_set_crt
      Src: /src/gnutls/tests/pkcs12_encode.c:173,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:177,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/tests/pkcs12_encode.c:182,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:185,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:186,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:187,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/tests/pkcs12_encode.c:191,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:196,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/tests/pkcs12_encode.c:202,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:205,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:206,1
    - Dst: gnutls_pkcs12_bag_encrypt
      Src: /src/gnutls/tests/pkcs12_encode.c:209,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:216,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/tests/pkcs12_encode.c:219,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:223,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:226,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:229,1
    - Dst: gnutls_pkcs12_generate_mac2
      Src: /src/gnutls/tests/pkcs12_encode.c:232,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:234,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:236,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:239,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:241,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/tests/pkcs12_encode.c:243,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:247,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:250,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:252,1
    - Dst: gnutls_pkcs12_generate_mac2
      Src: /src/gnutls/tests/pkcs12_encode.c:254,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:258,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:261,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:263,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/tests/pkcs12_encode.c:265,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:267,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:269,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:272,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:274,1
    - Dst: gnutls_pkcs12_generate_mac2
      Src: /src/gnutls/tests/pkcs12_encode.c:276,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:280,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:283,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:285,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/tests/pkcs12_encode.c:287,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:289,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:291,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:294,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:296,1
    - Dst: gnutls_pkcs12_export
      Src: /src/gnutls/tests/pkcs12_encode.c:299,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_encode.c:301,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_encode.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_encode.c:303,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/pkcs12_encode.c:306,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs12_encode.c:309,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:312,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:313,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:314,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:315,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs12_encode.c:316,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 155
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 317
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs12_encode.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs12_export
    - gnutls_global_deinit
    - gnutls_pkcs12_generate_mac2
    - gnutls_pkcs12_verify_mac
    - gnutls_pkcs12_bag_set_crt
    - gnutls_global_set_log_function
    - FIPS_POP_CONTEXT
    - gnutls_x509_crt_import
    - gnutls_fips140_context_init
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_bag_set_friendly_name
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs12_bag_set_key_id
    - gnutls_pkcs12_bag_encrypt
    - gnutls_global_set_log_level
    - gnutls_pkcs12_bag_init
    - gnutls_strerror
    - fwrite
    - gnutls_pkcs12_set_bag
    - gnutls_x509_crt_get_key_id
    - gnutls_fips140_mode_enabled
    - global_init
    - FIPS_PUSH_CONTEXT
    - gnutls_fips140_context_deinit
    - gnutls_pkcs12_deinit
    - fprintf
    - fail
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:85,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:88,1
    - Dst: send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:93,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:96,1
    - Dst: send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 20
    functionsReached:
    - memcpy
    - send
    - success
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:112,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:115,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:119,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:119,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:120,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:120,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:124,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:125,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:128,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:130,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:131,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:133,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:134,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:135,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:135,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:136,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:141,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:145,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:150,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:154,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:155,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:156,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:160,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:160,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:163,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:168,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:175,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:181,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:186,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:186,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:188,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:192,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:194,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:196,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:197,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:199,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 200
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 55
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - snprintf
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - gnutls_record_send
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:208,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:209,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 24
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:223,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:226,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:227,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:230,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:231,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:231,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:232,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:232,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:236,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:237,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:242,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:243,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:243,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:245,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:246,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:248,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:249,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:252,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:255,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:257,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:258,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:259,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:265,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:266,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:267,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:270,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:277,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:280,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:281,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:285,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:287,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:291,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:292,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:293,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:297,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:300,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:305,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:308,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:309,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:310,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:315,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:316,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:323,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:328,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:330,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:331,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:333,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:334,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:336,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:339,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 340
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 66
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - snprintf
    - gnutls_rehandshake
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:347,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:349,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:350,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:353,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:355,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:356,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:357,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:365,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:366,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:367,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:369,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:370,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 373
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 100
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-cert-3.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-3.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: main
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ktls.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ktls.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ktls.c:55,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ktls.c:58,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ktls.c:59,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ktls.c:62,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ktls.c:64,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ktls.c:65,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ktls.c:67,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ktls.c:67,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ktls.c:69,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ktls.c:71,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ktls.c:74,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ktls.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:78,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:82,1
    - Dst: gnutls_transport_is_ktls_enabled
      Src: /src/gnutls/tests/gnutls_ktls.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:86,1
    - Dst: memset
      Src: /src/gnutls/tests/gnutls_ktls.c:91,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/gnutls_ktls.c:93,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:100,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:100,1
    - Dst: strncmp
      Src: /src/gnutls/tests/gnutls_ktls.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:105,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:110,1
    - Dst: memset
      Src: /src/gnutls/tests/gnutls_ktls.c:113,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/gnutls_ktls.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:122,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:122,1
    - Dst: strncmp
      Src: /src/gnutls/tests/gnutls_ktls.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:127,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:132,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ktls.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:137,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ktls.c:143,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ktls.c:145,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ktls.c:147,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ktls.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:152,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 153
    functionName: client
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 56
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_transport_is_ktls_enabled
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - strncmp
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ktls.c:158,1
    - Dst: kill
      Src: /src/gnutls/tests/gnutls_ktls.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 25
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ktls.c:169,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ktls.c:172,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ktls.c:173,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ktls.c:176,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/gnutls_ktls.c:177,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:180,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ktls.c:182,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ktls.c:183,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ktls.c:185,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ktls.c:185,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ktls.c:187,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ktls.c:189,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ktls.c:192,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ktls.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:197,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:201,1
    - Dst: gnutls_transport_is_ktls_enabled
      Src: /src/gnutls/tests/gnutls_ktls.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:205,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/gnutls_ktls.c:209,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ktls.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:214,1
    - Dst: tmpfile
      Src: /src/gnutls/tests/gnutls_ktls.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:222,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ktls.c:223,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:225,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:226,1
    - Dst: fputs
      Src: /src/gnutls/tests/gnutls_ktls.c:230,1
    - Dst: rewind
      Src: /src/gnutls/tests/gnutls_ktls.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:235,1
    - Dst: gnutls_record_send_file
      Src: /src/gnutls/tests/gnutls_ktls.c:240,1
    - Dst: fileno
      Src: /src/gnutls/tests/gnutls_ktls.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:246,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ktls.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ktls.c:257,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ktls.c:258,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ktls.c:260,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ktls.c:262,1
    - Dst: terminate
      Src: /src/gnutls/tests/gnutls_ktls.c:265,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:269,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 270
    functionName: server
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 67
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - rewind
    - gnutls_handshake_set_timeout
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_is_ktls_enabled
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_record_send_file
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - tmpfile
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - fileno
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ktls.c:285,1
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ktls.c:287,1
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ktls.c:288,1
    - Dst: socket
      Src: /src/gnutls/tests/gnutls_ktls.c:290,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:292,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:292,1
    - Dst: memset
      Src: /src/gnutls/tests/gnutls_ktls.c:295,1
    - Dst: htonl
      Src: /src/gnutls/tests/gnutls_ktls.c:297,1
    - Dst: bind
      Src: /src/gnutls/tests/gnutls_ktls.c:300,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:302,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:302,1
    - Dst: getsockname
      Src: /src/gnutls/tests/gnutls_ktls.c:306,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:308,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:308,1
    - Dst: fork
      Src: /src/gnutls/tests/gnutls_ktls.c:311,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:313,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:313,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:314,1
    - Dst: listen
      Src: /src/gnutls/tests/gnutls_ktls.c:320,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:322,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:322,1
    - Dst: accept
      Src: /src/gnutls/tests/gnutls_ktls.c:325,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:327,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:327,1
    - Dst: server
      Src: /src/gnutls/tests/gnutls_ktls.c:329,1
    - Dst: wait
      Src: /src/gnutls/tests/gnutls_ktls.c:331,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/gnutls_ktls.c:332,1
    - Dst: socket
      Src: /src/gnutls/tests/gnutls_ktls.c:334,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ktls.c:336,1
    - Dst: strerror
      Src: /src/gnutls/tests/gnutls_ktls.c:336,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:337,1
    - Dst: usleep
      Src: /src/gnutls/tests/gnutls_ktls.c:339,1
    - Dst: connect
      Src: /src/gnutls/tests/gnutls_ktls.c:340,1
    - Dst: client
      Src: /src/gnutls/tests/gnutls_ktls.c:341,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ktls.c:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 344
    functionName: run
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 14
    functionsReached:
    - fork
    - usleep
    - socket
    - accept
    - htonl
    - signal
    - connect
    - client
    - memset
    - strerror
    - success
    - exit
    - check_wait_status
    - listen
    - bind
    - server
    - wait
    - getsockname
    - fail
    linkageType: ''
    returnType: void
    signature: void run(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:348,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:349,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:350,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:351,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:352,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:353,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:355,1
    - Dst: run
      Src: /src/gnutls/tests/gnutls_ktls.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_ktls.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_key_utf8.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_key_utf8.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key_utf8.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_utf8.c:69,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key_utf8.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:75,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:75,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_utf8.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:80,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_utf8.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_key_utf8.c
    functionUses: 16
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_utf8.c:96,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/set_x509_key_utf8.c:96,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/set_x509_key_utf8.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:102,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/set_x509_key_utf8.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:107,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/set_x509_key_utf8.c:110,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_utf8.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:114,1
    - Dst: MIN
      Src: /src/gnutls/tests/set_x509_key_utf8.c:123,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_utf8.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:128,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_utf8.c:131,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:135,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:137,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_utf8.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - xcred
    - skey
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 142
    functionName: import_key
    functionSourceFile: /src/gnutls/tests/set_x509_key_utf8.c
    functionUses: 6
    functionsReached:
    - gnutls_strerror
    - assert
    - success
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_free
    - gnutls_certificate_get_crt_raw
    - gnutls_x509_privkey_deinit
    - gnutls_x509_crt_list_import2
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - MIN
    - compare
    - gnutls_certificate_set_x509_key
    - fail
    linkageType: ''
    returnType: int
    signature: "int import_key(gnutls_certificate_credentials_t xcred,\n\t\t      const
      gnutls_datum_t *skey, const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:152,1
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_utf8.c:157,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key_utf8.c:159,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_key_utf8.c:161,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_key_utf8.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_utf8.c:165,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_utf8.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_utf8.c:166,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_utf8.c:166,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_utf8.c:168,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_utf8.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_utf8.c:173,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_utf8.c:173,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_x509_key_utf8.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_utf8.c:177,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_x509_key_utf8.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_utf8.c:181,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_utf8.c:183,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_utf8.c:185,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_utf8.c:187,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_utf8.c:189,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/set_x509_key_utf8.c:193,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_utf8.c:197,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_utf8.c:198,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_utf8.c:200,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_utf8.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 204
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_utf8.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_flags
    - exit
    - assert
    - gnutls_strerror
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_global_set_time_function
    - test_cli_serv_expect
    - import_key
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crl-basic.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crl-basic.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crl-basic.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl-basic.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:148,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crl-basic.c:151,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crl-basic.c:153,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:157,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:161,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/tests/crl-basic.c:163,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl-basic.c:165,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl-basic.c:166,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:167,1
    - Dst: strlen
      Src: /src/gnutls/tests/crl-basic.c:171,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/tests/crl-basic.c:173,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:175,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl-basic.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl-basic.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:179,1
    - Dst: gnutls_x509_crl_print
      Src: /src/gnutls/tests/crl-basic.c:182,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:184,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl-basic.c:185,1
    - Dst: gnutls_x509_crl_get_signature_algorithm
      Src: /src/gnutls/tests/crl-basic.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl-basic.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:191,1
    - Dst: gnutls_x509_crl_get_signature_oid
      Src: /src/gnutls/tests/crl-basic.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:197,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl-basic.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:199,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crl-basic.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:205,1
    - Dst: gnutls_x509_crl_get_crt_count
      Src: /src/gnutls/tests/crl-basic.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:212,1
    - Dst: gnutls_x509_crl_get_crt_serial
      Src: /src/gnutls/tests/crl-basic.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:223,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:228,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl-basic.c:232,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl-basic.c:235,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl-basic.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:238,1
    - Dst: gnutls_x509_crl_get_this_update
      Src: /src/gnutls/tests/crl-basic.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:247,1
    - Dst: gnutls_x509_crl_get_next_update
      Src: /src/gnutls/tests/crl-basic.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/crl-basic.c:252,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:254,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crl-basic.c:257,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:260,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crl-basic.c:263,1
    - Dst: printf
      Src: /src/gnutls/tests/crl-basic.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/crl-basic.c:268,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 269
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crl-basic.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_crl_init
    - strcmp
    - gnutls_x509_crl_deinit
    - gnutls_x509_crl_print
    - printf
    - gnutls_global_set_log_function
    - gnutls_x509_crl_get_signature_algorithm
    - memcmp
    - gnutls_x509_crl_get_signature_oid
    - exit
    - gnutls_x509_crl_get_crt_count
    - strlen
    - gnutls_x509_crl_get_this_update
    - gnutls_x509_crl_get_next_update
    - gnutls_x509_crl_import
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crl_get_crt_serial
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-force-etm.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-force-etm.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-force-etm.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-force-etm.c:80,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-force-etm.c:81,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-etm.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-force-etm.c:87,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-force-etm.c:88,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-force-etm.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-etm.c:91,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-force-etm.c:91,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-etm.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-etm.c:96,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-force-etm.c:98,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-force-etm.c:103,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-force-etm.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-force-etm.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-force-etm.c:124,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-force-etm.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:128,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-force-etm.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:131,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-force-etm.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:137,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-force-etm.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:141,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-force-etm.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:157,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-force-etm.c:161,1
    - Dst: close
      Src: /src/gnutls/tests/tls-force-etm.c:165,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-force-etm.c:167,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-force-etm.c:172,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 4
    argNames:
    - fd
    - prio
    - etm
    - eret
    argTypes:
    - int
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 57
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned etm, int eret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-force-etm.c:186,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-force-etm.c:187,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-force-etm.c:190,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-force-etm.c:191,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:194,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-force-etm.c:195,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-etm.c:200,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-force-etm.c:200,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-force-etm.c:201,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-force-etm.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-force-etm.c:206,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-force-etm.c:206,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-etm.c:208,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-force-etm.c:209,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-force-etm.c:211,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-force-etm.c:214,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-force-etm.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:219,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/tls-force-etm.c:226,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-force-etm.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:229,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-force-etm.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:233,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:234,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/tls-force-etm.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:237,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-force-etm.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:242,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:243,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls-force-etm.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:246,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:251,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:254,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-force-etm.c:255,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-force-etm.c:256,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-force-etm.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:265,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-force-etm.c:266,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-force-etm.c:274,1
    - Dst: close
      Src: /src/gnutls/tests/tls-force-etm.c:276,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-force-etm.c:277,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:279,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-force-etm.c:280,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-force-etm.c:282,1
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:285,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 4
    argNames:
    - fd
    - prio
    - etm
    - eret
    argTypes:
    - int
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 286
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 68
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - exit
    - gnutls_session_get_flags
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned etm, int eret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-force-etm.c:303,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-force-etm.c:304,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-force-etm.c:306,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:307,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-force-etm.c:310,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-force-etm.c:312,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-force-etm.c:313,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:314,1
    - Dst: close
      Src: /src/gnutls/tests/tls-force-etm.c:319,1
    - Dst: server
      Src: /src/gnutls/tests/tls-force-etm.c:320,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-force-etm.c:321,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-force-etm.c:322,1
    - Dst: close
      Src: /src/gnutls/tests/tls-force-etm.c:324,1
    - Dst: client
      Src: /src/gnutls/tests/tls-force-etm.c:325,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-force-etm.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 328
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 328
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 101
    functionsReached:
    - exit
    - success
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-force-etm.c:379,1
    - Dst: start
      Src: /src/gnutls/tests/tls-force-etm.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-force-etm.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/x509sign-verify-gost.c:50,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509sign-verify-gost.c:52,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509sign-verify-gost.c:53,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509sign-verify-gost.c:55,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-gost.c:57,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-gost.c:58,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-gost.c:59,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-gost.c:60,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-gost.c:61,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-gost.c:62,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-gost.c:63,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-gost.c:64,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-gost.c:65,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-gost.c:66,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509sign-verify-gost.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509sign-verify-gost.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_global_deinit
    - test_sig
    - global_init
    - GNUTLS_CURVE_TO_BITS
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rsa-rsa-pss.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/rsa-rsa-pss.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:57,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/tests/rsa-rsa-pss.c:58,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/tests/rsa-rsa-pss.c:59,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/rsa-rsa-pss.c:60,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-rsa-pss.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-rsa-pss.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sigalgo
    - privkey
    - exp_error
    argTypes:
    - unsigned
    - gnutls_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: inv_sign_check
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - gnutls_privkey_sign_data2
    - gnutls_sign_get_name
    - gnutls_pk_get_name
    - fail
    linkageType: ''
    returnType: void
    signature: "void inv_sign_check(unsigned sigalgo, gnutls_privkey_t privkey,\n\t\t\t
      \  int exp_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:73,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:73,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/rsa-rsa-pss.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:77,1
    - Dst: gnutls_pubkey_encrypt_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:81,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/tests/rsa-rsa-pss.c:82,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-rsa-pss.c:82,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - privkey
    - exp_error
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: inv_encryption_check
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_strerror
    - gnutls_pubkey_encrypt_data
    - gnutls_pk_get_name
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void inv_encryption_check(gnutls_pk_algorithm_t algorithm,\n\t\t\t\t
      gnutls_privkey_t privkey, int exp_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips_push_context
      Src: /src/gnutls/tests/rsa-rsa-pss.c:95,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/rsa-rsa-pss.c:96,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/rsa-rsa-pss.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:100,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-rsa-pss.c:101,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-rsa-pss.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:109,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:109,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/rsa-rsa-pss.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:113,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/rsa-rsa-pss.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-rsa-pss.c:119,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:121,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-rsa-pss.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - sigalgo
    - privkey
    - sign_flags
    - verify_flags
    - sign_exp_error
    - verify_exp_error
    - sign_exp_state
    argTypes:
    - unsigned
    - gnutls_privkey_t
    - unsigned int
    - unsigned int
    - int
    - int
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: sign_verify_data
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 2
    functionsReached:
    - fips_pop_context
    - gnutls_strerror
    - success
    - assert
    - gnutls_free
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_verify_data2
    - fips_push_context
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void sign_verify_data(unsigned sigalgo, gnutls_privkey_t privkey,\n\t\t\t
      \    unsigned int sign_flags, unsigned int verify_flags,\n\t\t\t     int sign_exp_error,
      int verify_exp_error,\n\t\t\t     gnutls_fips140_operation_state_t sign_exp_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:137,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:139,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:139,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/rsa-rsa-pss.c:141,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/rsa-rsa-pss.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-rsa-pss.c:145,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:148,1
    - Dst: gnutls_privkey_set_spki
      Src: /src/gnutls/tests/rsa-rsa-pss.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:149,1
    - Dst: gnutls_privkey_export_x509
      Src: /src/gnutls/tests/rsa-rsa-pss.c:149,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:150,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/rsa-rsa-pss.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:156,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:156,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:157,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/rsa-rsa-pss.c:157,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-rsa-pss.c:160,1
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/tests/rsa-rsa-pss.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:164,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:164,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:165,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/rsa-rsa-pss.c:165,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rsa-rsa-pss.c:169,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - pkey_rsa_pss
    - pkey_rsa
    - dig
    - salt_size
    argTypes:
    - gnutls_privkey_t*
    - gnutls_privkey_t*
    - gnutls_digest_algorithm_t
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 171
    functionName: prepare_keys
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_generate
    - assert
    - gnutls_strerror
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_deinit
    - gnutls_free
    - gnutls_x509_spki_init
    - gnutls_privkey_export_x509
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_deinit
    - gnutls_privkey_set_spki
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: void
    signature: "void prepare_keys(gnutls_privkey_t *pkey_rsa_pss,\n\t\t\t gnutls_privkey_t
      *pkey_rsa,\n\t\t\t gnutls_digest_algorithm_t dig, size_t salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-rsa-pss.c:182,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rsa-rsa-pss.c:184,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rsa-rsa-pss.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:188,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:188,1
    - Dst: prepare_keys
      Src: /src/gnutls/tests/rsa-rsa-pss.c:190,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:192,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:194,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:196,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-rsa-pss.c:200,1
    - Dst: inv_encryption_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:203,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:205,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:207,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:209,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:211,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:213,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:215,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:219,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:220,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:221,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:222,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:227,1
    - Dst: inv_sign_check
      Src: /src/gnutls/tests/rsa-rsa-pss.c:228,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:230,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:231,1
    - Dst: prepare_keys
      Src: /src/gnutls/tests/rsa-rsa-pss.c:236,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:238,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:241,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:242,1
    - Dst: prepare_keys
      Src: /src/gnutls/tests/rsa-rsa-pss.c:245,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:247,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:249,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:256,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:261,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/tests/rsa-rsa-pss.c:261,1
    - Dst: gnutls_x509_spki_set_rsa_pss_params
      Src: /src/gnutls/tests/rsa-rsa-pss.c:262,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-rsa-pss.c:263,1
    - Dst: gnutls_privkey_set_spki
      Src: /src/gnutls/tests/rsa-rsa-pss.c:263,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:265,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:267,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/rsa-rsa-pss.c:274,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:279,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:280,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:281,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:283,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-rsa-pss.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 286
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rsa-rsa-pss.c
    functionUses: 0
    functionsReached:
    - assert
    - success
    - gnutls_x509_spki_set_rsa_pss_params
    - gnutls_x509_spki_deinit
    - inv_sign_check
    - gnutls_x509_spki_init
    - gnutls_global_deinit
    - gnutls_fips140_context_init
    - inv_encryption_check
    - global_init
    - prepare_keys
    - sign_verify_data
    - gnutls_privkey_deinit
    - gnutls_fips140_context_deinit
    - gnutls_privkey_set_spki
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs7-verify-double-free.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:186,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:187,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:190,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:190,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:191,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:191,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:193,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:193,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:194,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:194,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:195,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:195,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:196,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:196,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:199,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:199,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:200,1
    - Dst: gnutls_x509_trust_list_add_named_crt
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:200,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:202,1
    - Dst: gnutls_x509_trust_list_add_named_crt
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:202,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:203,1
    - Dst: gnutls_x509_trust_list_add_named_crt
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:203,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:206,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:206,1
    - Dst: CHECK
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:207,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:207,1
    - Dst: gnutls_pkcs7_verify
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:210,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:212,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:213,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:214,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:215,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/tests/pkcs7-verify-double-free.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs7-verify-double-free.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs7_verify
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_trust_list_add_named_crt
    - gnutls_pkcs7_init
    - gnutls_pkcs7_import
    - gnutls_pkcs7_deinit
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints-merge.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/name-constraints-merge.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: check_for_error
    functionSourceFile: /src/gnutls/tests/name-constraints-merge.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - fail
    linkageType: ''
    returnType: void
    signature: void check_for_error(int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints-merge.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints-merge.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - suite
    - ret
    - expected_outcome
    - tested_data
    argTypes:
    - int
    - int
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: check_test_result
    functionSourceFile: /src/gnutls/tests/name-constraints-merge.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: "void check_test_result(int suite, int ret, int expected_outcome,\n\t\t\t
      \     gnutls_datum_t *tested_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/name-constraints-merge.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - datum
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: set_name
    functionSourceFile: /src/gnutls/tests/name-constraints-merge.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_name(const char *name, gnutls_datum_t *datum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/name-constraints-merge.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/name-constraints-merge.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/name-constraints-merge.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/name-constraints-merge.c:83,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:94,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:95,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:97,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:98,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:100,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:101,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:103,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:105,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:106,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:108,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:110,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:111,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:113,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:115,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:116,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:118,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:120,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:121,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:123,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-merge.c:125,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:126,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:129,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:130,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:132,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:134,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:135,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:137,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:139,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:140,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:142,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:144,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:145,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:147,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:149,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:150,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:152,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:155,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:156,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:158,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:160,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:161,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:163,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:165,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:166,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:168,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:170,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:171,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:173,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:175,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:176,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:178,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:180,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:181,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:183,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:185,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:186,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:188,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:190,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:191,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:199,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:200,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:202,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:203,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:205,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-merge.c:206,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:208,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:210,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-merge.c:211,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:213,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-merge.c:215,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:216,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:218,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:219,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:221,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:223,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:224,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:226,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:228,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:229,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:231,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:233,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:234,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:236,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:238,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:239,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:241,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:243,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:244,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:253,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:254,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:256,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:257,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:259,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:260,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:262,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:264,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:265,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:267,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-merge.c:269,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:270,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:272,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:273,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:275,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:277,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:278,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:280,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:282,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:283,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:285,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:287,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:288,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:290,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:292,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:293,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:295,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:297,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:298,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:308,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:309,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:311,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:312,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:314,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:315,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:317,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:319,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:320,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:322,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:324,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:325,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:327,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-merge.c:329,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:330,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:332,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:333,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:335,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:337,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:338,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:340,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:342,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:343,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:345,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:347,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:348,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:350,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:352,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:353,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:355,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:357,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:358,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:369,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:370,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-merge.c:372,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:373,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:375,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:376,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:378,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:380,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:381,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:383,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:385,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-merge.c:386,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:388,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-merge.c:390,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-merge.c:391,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:393,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:394,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:396,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:398,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:399,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:401,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:403,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:404,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:406,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:408,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:409,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:411,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints-merge.c:413,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-merge.c:414,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-merge.c:416,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:418,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-merge.c:419,1
    - Dst: success
      Src: /src/gnutls/tests/name-constraints-merge.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 425
    functionName: doit
    functionSourceFile: /src/gnutls/tests/name-constraints-merge.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - success
    - set_name
    - gnutls_x509_name_constraints_init
    - gnutls_x509_name_constraints_check
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_name_constraints_add_excluded
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/trust-store.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/trust-store.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/trust-store.c:48,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/trust-store.c:50,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/trust-store.c:52,1
    - Dst: assert
      Src: /src/gnutls/tests/trust-store.c:54,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/trust-store.c:54,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/gnutls/tests/trust-store.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/trust-store.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/trust-store.c:60,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trust-store.c:61,1
    - Dst: fail
      Src: /src/gnutls/tests/trust-store.c:63,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/trust-store.c:66,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/trust-store.c:68,1
    - Dst: success
      Src: /src/gnutls/tests/trust-store.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 72
    functionName: doit
    functionSourceFile: /src/gnutls/tests/trust-store.c
    functionUses: 0
    functionsReached:
    - assert
    - exit
    - gnutls_certificate_set_x509_system_trust
    - gnutls_strerror
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - gnutls_global_init
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crq-basic.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crq-basic.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crq-basic.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:119,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crq-basic.c:122,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crq-basic.c:124,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:128,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:132,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/crq-basic.c:134,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crq-basic.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:138,1
    - Dst: strlen
      Src: /src/gnutls/tests/crq-basic.c:142,1
    - Dst: gnutls_x509_crq_import
      Src: /src/gnutls/tests/crq-basic.c:144,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crq-basic.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:150,1
    - Dst: gnutls_x509_crq_print
      Src: /src/gnutls/tests/crq-basic.c:153,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq-basic.c:156,1
    - Dst: gnutls_x509_crq_get_signature_algorithm
      Src: /src/gnutls/tests/crq-basic.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:160,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:162,1
    - Dst: gnutls_x509_crq_get_signature_oid
      Src: /src/gnutls/tests/crq-basic.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:170,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crq-basic.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:176,1
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/tests/crq-basic.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:184,1
    - Dst: gnutls_x509_crq_get_pk_oid
      Src: /src/gnutls/tests/crq-basic.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq-basic.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:192,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crq-basic.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:198,1
    - Dst: gnutls_x509_crq_get_version
      Src: /src/gnutls/tests/crq-basic.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/crq-basic.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:205,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/crq-basic.c:208,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:211,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crq-basic.c:214,1
    - Dst: printf
      Src: /src/gnutls/tests/crq-basic.c:217,1
    - Dst: exit
      Src: /src/gnutls/tests/crq-basic.c:219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 220
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crq-basic.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_import
    - gnutls_global_deinit
    - gnutls_x509_crq_deinit
    - strcmp
    - gnutls_x509_crq_get_pk_oid
    - printf
    - gnutls_global_set_log_function
    - gnutls_x509_crq_print
    - gnutls_x509_crq_init
    - exit
    - strlen
    - gnutls_x509_crq_get_version
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crq_get_pk_algorithm
    - gnutls_x509_crq_get_signature_algorithm
    - global_init
    - gnutls_x509_crq_get_signature_oid
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-deterministic.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-deterministic.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-deterministic.c:147,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-deterministic.c:149,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-deterministic.c:151,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-deterministic.c:154,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify-deterministic.c:155,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-deterministic.c:157,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:159,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-deterministic.c:161,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:163,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-deterministic.c:168,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:171,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/sign-verify-deterministic.c:173,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/sign-verify-deterministic.c:176,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:179,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-deterministic.c:181,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:185,1
    - Dst: memcmp
      Src: /src/gnutls/tests/sign-verify-deterministic.c:189,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:191,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/sign-verify-deterministic.c:193,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:195,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-deterministic.c:197,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-deterministic.c:200,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-deterministic.c:201,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-deterministic.c:204,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-deterministic.c:205,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-deterministic.c:206,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-deterministic.c:209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 210
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-deterministic.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_free
    - testfail
    - gnutls_sign_algorithm_get_name
    - gnutls_global_deinit
    - gnutls_pubkey_verify_data2
    - gnutls_fips140_mode_enabled
    - global_init
    - memcmp
    - gnutls_privkey_sign_data
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:112,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:115,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:116,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:119,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:120,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:124,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:132,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:133,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:135,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:140,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:153,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:154,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:155,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:170,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:174,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:178,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:180,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:182,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 186
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 58
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:193,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 26
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:208,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:209,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:212,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:213,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:216,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:217,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:220,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:222,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:223,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:228,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:230,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:231,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:233,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:236,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:237,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:239,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:242,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:249,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:250,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:251,1
    - Dst: gnutls_dtls_get_mtu
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:252,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:255,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:259,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:260,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:265,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:267,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:268,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:270,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:271,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:273,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 277
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 69
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_dtls_get_data_mtu
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_dtls_get_mtu
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:284,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:286,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:287,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:290,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:294,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:299,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:300,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:301,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:303,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 102
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:315,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:322,1
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-lowmtu.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-lowmtu.c
    functionUses: 0
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/setcredcrash.c:37,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/setcredcrash.c:39,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/setcredcrash.c:40,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/setcredcrash.c:41,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/setcredcrash.c:46,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/setcredcrash.c:47,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/setcredcrash.c:49,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/setcredcrash.c:50,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/setcredcrash.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnutls/tests/setcredcrash.c
    functionUses: 4
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_priority_set_direct
    - global_init
    - gnutls_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-cipher-neg.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-cipher-neg.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-cipher-neg.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-timeouts.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/record-timeouts.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/record-timeouts.c:57,1
    - Dst: exit
      Src: /src/gnutls/tests/record-timeouts.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/record-timeouts.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/record-timeouts.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: pull_timeout_func
    functionSourceFile: /src/gnutls/tests/record-timeouts.c
    functionUses: 0
    functionsReached:
    - exit
    - fail
    linkageType: ''
    returnType: int
    signature: int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/record-timeouts.c:82,1
    - Dst: global_init
      Src: /src/gnutls/tests/record-timeouts.c:85,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-timeouts.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-timeouts.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-timeouts.c:91,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/record-timeouts.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-timeouts.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-timeouts.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/record-timeouts.c:98,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-timeouts.c:98,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-timeouts.c:99,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-timeouts.c:100,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-timeouts.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/record-timeouts.c:104,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-timeouts.c:104,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-timeouts.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/record-timeouts.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-timeouts.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/record-timeouts.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-timeouts.c:107,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-timeouts.c:109,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-timeouts.c:110,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/record-timeouts.c:111,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-timeouts.c:112,1
    - Dst: memset
      Src: /src/gnutls/tests/record-timeouts.c:114,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/record-timeouts.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/record-timeouts.c:118,1
    - Dst: memset
      Src: /src/gnutls/tests/record-timeouts.c:120,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/record-timeouts.c:125,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/record-timeouts.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/record-timeouts.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/record-timeouts.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/record-timeouts.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/record-timeouts.c:137,1
    - Dst: fputs
      Src: /src/gnutls/tests/record-timeouts.c:141,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-timeouts.c:143,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-timeouts.c:144,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-timeouts.c:146,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-timeouts.c:147,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-timeouts.c:149,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-timeouts.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-timeouts.c:152,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/record-timeouts.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 154
    functionName: start
    functionSourceFile: /src/gnutls/tests/record-timeouts.c
    functionUses: 103
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - fputs
    - global_init
    - gnutls_record_set_timeout
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/record-timeouts.c:158,1
    - Dst: start
      Src: /src/gnutls/tests/record-timeouts.c:159,1
    - Dst: start
      Src: /src/gnutls/tests/record-timeouts.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-timeouts.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:73,1
    - Dst: OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:73,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:76,1
    - Dst: MAX_OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: check_aes_gcm
    functionSourceFile: /src/gnutls/tests/gnutls_record_overhead.c
    functionUses: 0
    functionsReached:
    - MAX_OVERHEAD
    - OVERHEAD
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void check_aes_gcm(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:85,1
    - Dst: OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:85,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:88,1
    - Dst: MAX_OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: check_tls13_aes_gcm
    functionSourceFile: /src/gnutls/tests/gnutls_record_overhead.c
    functionUses: 0
    functionsReached:
    - MAX_OVERHEAD
    - OVERHEAD
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void check_tls13_aes_gcm(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:97,1
    - Dst: OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: check_aes_sha1_min
    functionSourceFile: /src/gnutls/tests/gnutls_record_overhead.c
    functionUses: 0
    functionsReached:
    - OVERHEAD
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void check_aes_sha1_min(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/gnutls_record_overhead.c:107,1
    - Dst: MAX_OVERHEAD
      Src: /src/gnutls/tests/gnutls_record_overhead.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: check_aes_sha1_max
    functionSourceFile: /src/gnutls/tests/gnutls_record_overhead.c
    functionUses: 0
    functionsReached:
    - MAX_OVERHEAD
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void check_aes_sha1_max(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/gnutls_record_overhead.c:115,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/gnutls_record_overhead.c:116,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/gnutls_record_overhead.c:117,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/gnutls_record_overhead.c:118,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/gnutls_record_overhead.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/gnutls/tests/gnutls_record_overhead.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:82,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gnutls_ocsp_status_request_get
    - fail
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:96,1
    - Dst: memcpy
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - session
    - ptr
    - ocsp_response
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: ocsp_func
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int ocsp_func(gnutls_session_t session, void *ptr,\n\t\t     gnutls_datum_t
      *ocsp_response)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:123,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:124,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:126,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:130,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:131,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:131,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:133,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:135,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:141,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:141,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:142,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:143,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:143,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:143,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:145,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:150,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:154,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:159,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:159,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:161,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:161,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:161,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:163,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:168,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:173,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:174,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:174,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:176,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:176,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:176,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:178,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:181,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:186,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:186,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:187,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:187,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:187,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:188,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:193,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:193,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:199,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:199,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:201,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:201,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:201,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:203,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:209,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:215,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:221,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:224,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:224,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:230,1
    - Dst: gnutls_certificate_get_verify_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:234,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:239,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:242,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:246,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:250,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:251,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:256,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:257,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:260,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:264,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:265,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:270,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:271,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:272,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:273,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:274,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 276
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_get_verify_flags
    - gnutls_certificate_set_verify_flags
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - success
    - strlen
    - gnutls_certificate_set_ocsp_status_request_function2
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp_multi2.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-session-ext-register.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-session-ext-register.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: reset_vars
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_vars(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls-session-ext-register.c:89,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:92,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-ext-register.c:94,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:95,1
    - Dst: gnutls_ext_set_data
      Src: /src/gnutls/tests/tls-session-ext-register.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: ext_recv_client_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_ext_set_data
    - myfail
    - gnutls_session_get_ptr
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_client_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-ext-register.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: ext_send_client_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_client_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ext_recv_client_ign_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_recv_client_ign_params(gnutls_session_t session,\n\t\t\t\t
      \     const unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: ext_send_client_ign_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_send_client_ign_params(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_t extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls-session-ext-register.c:130,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:133,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-ext-register.c:135,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: ext_recv_server_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached:
    - myfail
    - gnutls_session_get_ptr
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_server_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-ext-register.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ext_send_server_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_server_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:162,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-ext-register.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:166,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-ext-register.c:166,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls-session-ext-register.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:170,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-ext-register.c:170,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-ext-register.c:174,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-ext-register.c:176,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-ext-register.c:177,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-ext-register.c:177,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-register.c:179,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:185,1
    - Dst: gnutls_ext_get_name2
      Src: /src/gnutls/tests/tls-session-ext-register.c:188,1
    - Dst: strcmp
      Src: /src/gnutls/tests/tls-session-ext-register.c:189,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:190,1
    - Dst: gnutls_ext_get_name2
      Src: /src/gnutls/tests/tls-session-ext-register.c:193,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:196,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-register.c:199,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:205,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-ext-register.c:209,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-register.c:215,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-register.c:218,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:223,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:228,1
    - Dst: gnutls_ext_get_data
      Src: /src/gnutls/tests/tls-session-ext-register.c:234,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-register.c:236,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:240,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:244,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-ext-register.c:247,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:250,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-register.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-register.c:255,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-ext-register.c:257,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - sd
    - name
    - prio
    - flags
    - expected_ok
    argTypes:
    - int
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 258
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 258
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 59
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - strcmp
    - close
    - gnutls_init
    - gnutls_ext_get_name2
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - myfail
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_session_ext_register
    - gnutls_ext_get_data
    linkageType: ''
    returnType: void
    signature: "void client(int sd, const char *name, const char *prio, unsigned flags,\n\t\t
      \  unsigned expected_ok)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:269,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-ext-register.c:269,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:270,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-session-ext-register.c:270,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:274,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-ext-register.c:274,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls-session-ext-register.c:275,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:280,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-ext-register.c:280,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-ext-register.c:282,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-ext-register.c:284,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-register.c:284,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-ext-register.c:289,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-ext-register.c:290,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-ext-register.c:290,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-ext-register.c:292,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:296,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-register.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-register.c:300,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-register.c:301,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:302,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-register.c:303,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:308,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:312,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-ext-register.c:319,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:322,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-register.c:325,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-register.c:326,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-ext-register.c:328,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - sd
    - name
    - prio
    - flags
    - expected_ok
    argTypes:
    - int
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 332
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 332
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 70
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - myfail
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_session_ext_register
    linkageType: ''
    returnType: void
    signature: "void server(int sd, const char *name, const char *prio, unsigned flags,\n\t\t
      \  unsigned expected_ok)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:344,1
    - Dst: reset_vars
      Src: /src/gnutls/tests/tls-session-ext-register.c:345,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-session-ext-register.c:347,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-ext-register.c:349,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:350,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-session-ext-register.c:354,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-ext-register.c:356,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls-session-ext-register.c:357,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-register.c:364,1
    - Dst: server
      Src: /src/gnutls/tests/tls-session-ext-register.c:365,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-session-ext-register.c:366,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-session-ext-register.c:367,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:368,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-register.c:370,1
    - Dst: client
      Src: /src/gnutls/tests/tls-session-ext-register.c:371,1
    - Dst: _exit
      Src: /src/gnutls/tests/tls-session-ext-register.c:372,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - name
    - prio
    - server_flags
    - client_flags
    - server_ok
    - client_ok
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 376
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 376
    functionName: try
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 27
    functionsReached:
    - success
    - fork
    - reset_vars
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - myfail
    - _exit
    - perror
    linkageType: ''
    returnType: void
    signature: "void try(const char *name, const char *prio, unsigned server_flags,\n\t\tunsigned
      client_flags, unsigned server_ok, unsigned client_ok)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-session-ext-register.c:383,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls-session-ext-register.c:385,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-session-ext-register.c:386,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-session-ext-register.c:388,1
    - Dst: try_common
      Src: /src/gnutls/tests/tls-session-ext-register.c:390,1
    - Dst: try_common
      Src: /src/gnutls/tests/tls-session-ext-register.c:392,1
    - Dst: try_common
      Src: /src/gnutls/tests/tls-session-ext-register.c:398,1
    - Dst: try_common
      Src: /src/gnutls/tests/tls-session-ext-register.c:401,1
    - Dst: try_common
      Src: /src/gnutls/tests/tls-session-ext-register.c:406,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:420,1
    - Dst: gnutls_ext_register
      Src: /src/gnutls/tests/tls-session-ext-register.c:422,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-register.c:427,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-session-ext-register.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 434
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-session-ext-register.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_global_deinit
    - signal
    - try_common
    - global_init
    - gnutls_ext_register
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-ext.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - userdata
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: key_cb_sign_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_func(gnutls_privkey_t key, void *userdata,\n\t\t\t
      \   const gnutls_datum_t *data,\n\t\t\t    gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext.c:81,1
    - Dst: free
      Src: /src/gnutls/tests/sign-verify-ext.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: key_cb_deinit_func
    functionSourceFile: /src/gnutls/tests/sign-verify-ext.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/sign-verify-ext.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext.c:94,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-ext.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext.c:99,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-ext.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext.c:103,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-ext.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext.c:108,1
    - Dst: gnutls_privkey_import_ext2
      Src: /src/gnutls/tests/sign-verify-ext.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/sign-verify-ext.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - txtkey
    - pk
    argTypes:
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: load_virt_privkey
    functionSourceFile: /src/gnutls/tests/sign-verify-ext.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_import_ext2
    - calloc
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t load_virt_privkey(const gnutls_datum_t *txtkey,\n\t\t\t\t\t
      \ gnutls_pk_algorithm_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-ext.c:134,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-ext.c:136,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-ext.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-ext.c:145,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify-ext.c:146,1
    - Dst: load_virt_privkey
      Src: /src/gnutls/tests/sign-verify-ext.c:154,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-ext.c:156,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:158,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext.c:160,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:164,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/sign-verify-ext.c:166,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:170,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-ext.c:172,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:175,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext.c:177,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:182,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext.c:184,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:189,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext.c:193,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext.c:194,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-ext.c:196,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/sign-verify-ext.c:198,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:203,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-ext.c:204,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify-ext.c:206,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-ext.c:207,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext.c:210,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:215,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext.c:218,1
    - Dst: gnutls_privkey_sign_raw_data
      Src: /src/gnutls/tests/sign-verify-ext.c:220,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-ext.c:224,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-ext.c:226,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-ext.c:231,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext.c:234,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-ext.c:235,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext.c:236,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-ext.c:237,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-ext.c:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 241
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-ext.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_verify_hash2
    - gnutls_privkey_deinit
    - gnutls_pubkey_import_x509_raw
    - gnutls_global_set_log_function
    - gnutls_pk_to_sign
    - gnutls_privkey_sign_data
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_sign_hash
    - testfail
    - success
    - gnutls_sign_algorithm_get_name
    - load_virt_privkey
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_privkey_sign_raw_data
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_strerror
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume-lifetime.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ext_hook_func
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_hook_func(void *ctx, unsigned tls_id, const unsigned char
      *data,\n\t\t\t unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/resume-lifetime.c:67,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume-lifetime.c:71,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/resume-lifetime.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 0
    functionsReached:
    - virt_sec_sleep
    - gnutls_session_get_ptr
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-lifetime.c:102,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-lifetime.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:106,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-lifetime.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:107,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-lifetime.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:111,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-lifetime.c:111,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-lifetime.c:112,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:113,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-lifetime.c:113,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/resume-lifetime.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/resume-lifetime.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/resume-lifetime.c:116,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/resume-lifetime.c:117,1
    - Dst: gnutls_db_set_cache_expiration
      Src: /src/gnutls/tests/resume-lifetime.c:119,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:120,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume-lifetime.c:120,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/resume-lifetime.c:122,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:125,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-lifetime.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:126,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/resume-lifetime.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:128,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-lifetime.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:130,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-lifetime.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:133,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-lifetime.c:133,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/resume-lifetime.c:134,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/resume-lifetime.c:135,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/resume-lifetime.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:139,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-lifetime.c:139,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:143,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-lifetime.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-lifetime.c:146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-lifetime.c:146,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/resume-lifetime.c:149,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-lifetime.c:151,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-lifetime.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-lifetime.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-lifetime.c:156,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-lifetime.c:160,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-lifetime.c:162,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-lifetime.c:163,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-lifetime.c:165,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-lifetime.c:166,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/resume-lifetime.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 6
    argNames:
    - prio
    - t
    - sdata
    - ndata
    - skey
    - h
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - struct hsk_st*
    constantsTouched: []
    func_position:
      end: 170
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 170
    functionName: handshake
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 124
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_session_set_ptr
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_db_set_cache_expiration
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - memset
    - gnutls_session_set_data
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_session_get_data2
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: unsigned
    signature: "unsigned handshake(const char *prio, unsigned t,\n\t\t\t  const gnutls_datum_t
      *sdata, gnutls_datum_t *ndata,\n\t\t\t  gnutls_datum_t *skey, struct hsk_st
      *h)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:179,1
    - Dst: success
      Src: /src/gnutls/tests/resume-lifetime.c:181,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:183,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-lifetime.c:183,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:187,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:188,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:189,1
    - Dst: success
      Src: /src/gnutls/tests/resume-lifetime.c:192,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume-lifetime.c:195,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:199,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:200,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:201,1
    - Dst: success
      Src: /src/gnutls/tests/resume-lifetime.c:207,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume-lifetime.c:210,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-lifetime.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:219,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:222,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:223,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - name
    - prio
    - t
    - s
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 225
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 225
    functionName: start
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 104
    functionsReached:
    - success
    - assert
    - gnutls_free
    - virt_sec_sleep
    - gnutls_session_ticket_key_generate
    - memset
    - handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio, unsigned t, unsigned
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:239,1
    - Dst: success
      Src: /src/gnutls/tests/resume-lifetime.c:241,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:243,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-lifetime.c:243,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:246,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:247,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:248,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:249,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:252,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:254,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-lifetime.c:255,1
    - Dst: handshake
      Src: /src/gnutls/tests/resume-lifetime.c:263,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-lifetime.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-lifetime.c:267,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:269,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:270,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-lifetime.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - name
    - prio
    - t
    - s
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 272
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 272
    functionName: start2
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 0
    functionsReached:
    - success
    - assert
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - memset
    - handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void start2(const char *name, const char *prio, unsigned t, unsigned
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/resume-lifetime.c:276,1
    - Dst: start
      Src: /src/gnutls/tests/resume-lifetime.c:278,1
    - Dst: start
      Src: /src/gnutls/tests/resume-lifetime.c:279,1
    - Dst: start2
      Src: /src/gnutls/tests/resume-lifetime.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-lifetime.c
    functionUses: 0
    functionsReached:
    - virt_time_init
    - start
    - start2
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:81,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:84,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:88,1
    - Dst: disable_system_calls
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:90,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:93,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:98,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:99,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:100,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:103,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:103,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:105,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:107,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:108,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:113,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:117,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:122,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:126,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:127,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:128,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:140,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:146,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:151,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 158
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 60
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - disable_system_calls
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:166,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:167,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 27
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:181,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:184,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:185,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:188,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:193,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:195,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:196,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:196,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:202,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:202,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:204,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:206,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:207,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:210,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:211,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:213,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:216,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:217,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:220,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:223,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:224,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:225,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:230,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:232,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:236,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:238,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:239,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:240,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:246,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:249,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:250,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:252,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:254,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 258
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 258
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 72
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:265,1
    - Dst: signal
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:266,1
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:268,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:271,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:274,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:278,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:285,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:286,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:288,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:289,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:291,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:292,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 295
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 295
    functionName: run
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 15
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/dtls-client-with-seccomp.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-client-with-seccomp.c
    functionUses: 0
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:80,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:91,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:95,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:95,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:95,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached:
    - success
    - assert
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:128,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:131,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:132,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:135,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:139,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:140,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:142,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:145,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:148,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:148,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:149,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:154,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:163,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:166,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:170,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:171,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:172,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:174,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:178,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:182,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 185
    functionName: client
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 61
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:195,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:198,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:199,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:202,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:203,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:206,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:207,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:207,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:214,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:214,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:217,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:219,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:222,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:223,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:230,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:233,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:234,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:235,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:237,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:238,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:240,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:243,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:244,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:246,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:248,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 252
    functionName: server
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 73
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:265,1
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:266,1
    - Dst: socketpair
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:268,1
    - Dst: perror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:271,1
    - Dst: fork
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:274,1
    - Dst: perror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:278,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:283,1
    - Dst: server
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:284,1
    - Dst: waitpid
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:285,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:286,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:288,1
    - Dst: client
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 294
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse_dtls.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:111,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:112,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:113,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:114,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:115,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:117,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-prf.c:118,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/tls12-prf.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls12-prf.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priorities-groups.c:43,1
    - Dst: fprintf
      Src: /src/gnutls/tests/priorities-groups.c:45,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priorities-groups.c:45,1
    - Dst: exit
      Src: /src/gnutls/tests/priorities-groups.c:46,1
    - Dst: gnutls_priority_group_list
      Src: /src/gnutls/tests/priorities-groups.c:49,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities-groups.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities-groups.c:57,1
    - Dst: gnutls_priority_ecc_curve_list
      Src: /src/gnutls/tests/priorities-groups.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities-groups.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/priorities-groups.c:70,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priorities-groups.c:75,1
    - Dst: success
      Src: /src/gnutls/tests/priorities-groups.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - prio
    - group_size
    - group_list
    - curve_size
    - curve_list
    argTypes:
    - char*
    - unsigned
    - unsigned int*
    - unsigned
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: try_prio
    functionSourceFile: /src/gnutls/tests/priorities-groups.c
    functionUses: 2
    functionsReached:
    - exit
    - gnutls_strerror
    - success
    - gnutls_priority_ecc_curve_list
    - gnutls_priority_deinit
    - gnutls_priority_init
    - gnutls_priority_group_list
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_prio(const char *prio, unsigned group_size,\n\t\t     const
      unsigned int *group_list, unsigned curve_size,\n\t\t     const unsigned int
      *curve_list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/priorities-groups.c:89,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:91,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:92,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities-groups.c:95,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:97,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:98,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities-groups.c:104,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:108,1
    - Dst: memset
      Src: /src/gnutls/tests/priorities-groups.c:109,1
    - Dst: try_prio
      Src: /src/gnutls/tests/priorities-groups.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priorities-groups.c
    functionUses: 0
    functionsReached:
    - global_init
    - try_prio
    - memset
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:57,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:58,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:64,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:66,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:67,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:68,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:70,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/oids.c:72,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:74,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:75,1
    - Dst: SELF_TEST_SIG
      Src: /src/gnutls/tests/oids.c:76,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:80,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:81,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:82,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:83,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:84,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/oids.c:86,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:88,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:89,1
    - Dst: SELF_TEST_PK
      Src: /src/gnutls/tests/oids.c:90,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:94,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:95,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:96,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:97,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:98,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:99,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:100,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:101,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/oids.c:103,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:105,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:106,1
    - Dst: SELF_TEST_DIG
      Src: /src/gnutls/tests/oids.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 110
    functionName: doit
    functionSourceFile: /src/gnutls/tests/oids.c
    functionUses: 0
    functionsReached:
    - SELF_TEST_PK
    - SELF_TEST_DIG
    - SELF_TEST_SIG
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/naked-alerts.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/naked-alerts.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/naked-alerts.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/naked-alerts.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/naked-alerts.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/naked-alerts.c:76,1
    - Dst: close
      Src: /src/gnutls/tests/naked-alerts.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: client
    functionSourceFile: /src/gnutls/tests/naked-alerts.c
    functionUses: 62
    functionsReached:
    - send
    - fail
    - close
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/naked-alerts.c:91,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/naked-alerts.c:93,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/naked-alerts.c:95,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/naked-alerts.c:97,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/naked-alerts.c:98,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/naked-alerts.c:101,1
    - Dst: success
      Src: /src/gnutls/tests/naked-alerts.c:107,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/naked-alerts.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/naked-alerts.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/naked-alerts.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/naked-alerts.c:117,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/naked-alerts.c:119,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/naked-alerts.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/naked-alerts.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/naked-alerts.c:130,1
    - Dst: close
      Src: /src/gnutls/tests/naked-alerts.c:134,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/naked-alerts.c:135,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/naked-alerts.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/naked-alerts.c:139,1
    - Dst: success
      Src: /src/gnutls/tests/naked-alerts.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 143
    functionName: server
    functionSourceFile: /src/gnutls/tests/naked-alerts.c
    functionUses: 74
    functionsReached:
    - success
    - assert
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - close
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/naked-alerts.c:150,1
    - Dst: perror
      Src: /src/gnutls/tests/naked-alerts.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/naked-alerts.c:153,1
    - Dst: fork
      Src: /src/gnutls/tests/naked-alerts.c:157,1
    - Dst: perror
      Src: /src/gnutls/tests/naked-alerts.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/naked-alerts.c:160,1
    - Dst: close
      Src: /src/gnutls/tests/naked-alerts.c:167,1
    - Dst: server
      Src: /src/gnutls/tests/naked-alerts.c:168,1
    - Dst: wait
      Src: /src/gnutls/tests/naked-alerts.c:169,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/naked-alerts.c:170,1
    - Dst: close
      Src: /src/gnutls/tests/naked-alerts.c:172,1
    - Dst: client
      Src: /src/gnutls/tests/naked-alerts.c:173,1
    - Dst: exit
      Src: /src/gnutls/tests/naked-alerts.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: doit
    functionSourceFile: /src/gnutls/tests/naked-alerts.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:44,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:44,1
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-rsa-sizes.c:46,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:49,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:50,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:50,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:53,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:54,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:55,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:57,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:58,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:58,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:61,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:62,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:64,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:64,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:65,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/fips-rsa-sizes.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:69,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:70,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - privkey
    - pubkey
    - size
    argTypes:
    - gnutls_privkey_t*
    - gnutls_pubkey_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: generate_successfully
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_generate
    - assert
    - gnutls_x509_privkey_generate
    - gnutls_fips140_context_init
    - gnutls_pubkey_import_privkey
    - gnutls_x509_privkey_init
    - FIPS_PUSH_CONTEXT
    - gnutls_privkey_init
    - gnutls_pubkey_init
    - gnutls_fips140_context_deinit
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void generate_successfully(gnutls_privkey_t *privkey, gnutls_pubkey_t
      *pubkey,\n\t\t\t   unsigned int size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:81,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:81,1
    - Dst: fprintf
      Src: /src/gnutls/tests/fips-rsa-sizes.c:83,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:87,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:87,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:90,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:91,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:92,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:96,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:96,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:99,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:100,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:101,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-rsa-sizes.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:105,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-rsa-sizes.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:107,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:107,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:110,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:113,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:113,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/fips-rsa-sizes.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:118,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:118,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/fips-rsa-sizes.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:122,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-rsa-sizes.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:125,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-rsa-sizes.c:125,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - privkey
    - pubkey
    - size
    argTypes:
    - gnutls_privkey_t*
    - gnutls_pubkey_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 128
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 128
    functionName: generate_unsuccessfully
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_generate
    - assert
    - gnutls_fips140_set_mode
    - gnutls_x509_privkey_generate
    - gnutls_fips140_context_init
    - gnutls_fips140_mode_enabled
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_init
    - gnutls_x509_privkey_init
    - FIPS_PUSH_CONTEXT
    - gnutls_privkey_init
    - gnutls_privkey_deinit
    - gnutls_fips140_context_deinit
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void generate_unsuccessfully(gnutls_privkey_t *privkey, gnutls_pubkey_t
      *pubkey,\n\t\t\t     unsigned int size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:139,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:139,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:142,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-rsa-sizes.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:146,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:147,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:150,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-rsa-sizes.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:154,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-rsa-sizes.c:157,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - privkey
    - pubkey
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: sign_verify_successfully
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_pubkey_verify_data2
    - gnutls_fips140_context_init
    - gnutls_privkey_sign_data
    - FIPS_PUSH_CONTEXT
    - gnutls_fips140_context_deinit
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void sign_verify_successfully(gnutls_privkey_t privkey, gnutls_pubkey_t
      pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:171,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:171,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:174,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-rsa-sizes.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:178,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:179,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:182,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-rsa-sizes.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:186,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:187,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-rsa-sizes.c:189,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:190,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:191,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - privkey
    - pubkey
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: sign_verify_unsuccessfully
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_pubkey_verify_data2
    - gnutls_fips140_context_init
    - gnutls_privkey_sign_data
    - gnutls_privkey_deinit
    - FIPS_PUSH_CONTEXT
    - gnutls_pubkey_deinit
    - gnutls_fips140_context_deinit
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void sign_verify_unsuccessfully(gnutls_privkey_t privkey,\n\t\t\t\tgnutls_pubkey_t
      pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:204,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:204,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:207,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-rsa-sizes.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:211,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:212,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-rsa-sizes.c:215,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:216,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-rsa-sizes.c:216,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/fips-rsa-sizes.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:221,1
    - Dst: gnutls_fips140_set_mode
      Src: /src/gnutls/tests/fips-rsa-sizes.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:224,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-rsa-sizes.c:224,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:227,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/fips-rsa-sizes.c:228,1
    - Dst: fail
      Src: /src/gnutls/tests/fips-rsa-sizes.c:231,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/fips-rsa-sizes.c:232,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/fips-rsa-sizes.c:234,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:235,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:236,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - privkey
    - pubkey
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 238
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 238
    functionName: nosign_verify
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_fips140_set_mode
    - gnutls_pubkey_verify_data2
    - gnutls_fips140_context_init
    - gnutls_fips140_mode_enabled
    - gnutls_privkey_sign_data
    - gnutls_privkey_deinit
    - FIPS_PUSH_CONTEXT
    - gnutls_pubkey_deinit
    - gnutls_fips140_context_deinit
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: void nosign_verify(gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/fips-rsa-sizes.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/fips-rsa-sizes.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:248,1
    - Dst: assert
      Src: /src/gnutls/tests/fips-rsa-sizes.c:251,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/fips-rsa-sizes.c:251,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:254,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:255,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:257,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:258,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:260,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:261,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:264,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:265,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:267,1
    - Dst: nosign_verify
      Src: /src/gnutls/tests/fips-rsa-sizes.c:268,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:270,1
    - Dst: nosign_verify
      Src: /src/gnutls/tests/fips-rsa-sizes.c:271,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:273,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:274,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:276,1
    - Dst: nosign_verify
      Src: /src/gnutls/tests/fips-rsa-sizes.c:277,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:279,1
    - Dst: nosign_verify
      Src: /src/gnutls/tests/fips-rsa-sizes.c:280,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:282,1
    - Dst: sign_verify_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:283,1
    - Dst: generate_successfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:286,1
    - Dst: sign_verify_successfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:287,1
    - Dst: generate_unsuccessfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:289,1
    - Dst: sign_verify_successfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:290,1
    - Dst: generate_successfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:292,1
    - Dst: sign_verify_successfully
      Src: /src/gnutls/tests/fips-rsa-sizes.c:293,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/fips-rsa-sizes.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 296
    functionName: doit
    functionSourceFile: /src/gnutls/tests/fips-rsa-sizes.c
    functionUses: 0
    functionsReached:
    - generate_successfully
    - generate_unsuccessfully
    - exit
    - success
    - assert
    - sign_verify_successfully
    - sign_verify_unsuccessfully
    - gnutls_fips140_context_init
    - gnutls_fips140_mode_enabled
    - gnutls_fips140_context_deinit
    - nosign_verify
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs7.c:52,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs7.c:56,1
    - Dst: opendir
      Src: /src/gnutls/tests/pkcs7.c:59,1
    - Dst: readdir
      Src: /src/gnutls/tests/pkcs7.c:65,1
    - Dst: strstr
      Src: /src/gnutls/tests/pkcs7.c:71,1
    - Dst: strstr
      Src: /src/gnutls/tests/pkcs7.c:73,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs7.c:75,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs7.c:78,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/pkcs7.c:79,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs7.c:84,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs7.c:86,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/pkcs7.c:87,1
    - Dst: atoi
      Src: /src/gnutls/tests/pkcs7.c:91,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs7.c:92,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7.c:93,1
    - Dst: closedir
      Src: /src/gnutls/tests/pkcs7.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - dirp
    - der
    - exp_ret
    argTypes:
    - DIR**
    - gnutls_datum_t*
    - int*
    constantsTouched: []
    func_position:
      end: 102
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 102
    functionName: getnextfile
    functionSourceFile: /src/gnutls/tests/pkcs7.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - closedir
    - success
    - gnutls_free
    - readdir
    - snprintf
    - atoi
    - strstr
    - opendir
    - getenv
    linkageType: ''
    returnType: int
    signature: int getnextfile(DIR **dirp, gnutls_datum_t *der, int *exp_ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs7.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7.c:113,1
    - Dst: getnextfile
      Src: /src/gnutls/tests/pkcs7.c:115,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/tests/pkcs7.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7.c:118,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/tests/pkcs7.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7.c:122,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7.c:122,1
    - Dst: gnutls_pkcs7_print
      Src: /src/gnutls/tests/pkcs7.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs7.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs7.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7.c:133,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/tests/pkcs7.c:136,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs7.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs7.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 143
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs7.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_global_deinit
    - gnutls_pkcs7_print
    - fail
    - global_init
    - gnutls_pkcs7_init
    - gnutls_pkcs7_import
    - gnutls_pkcs7_deinit
    - getnextfile
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:37,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:37,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:39,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:39,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:41,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:41,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:43,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:43,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:45,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:47,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:47,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls-ids.c:49,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/tests/gnutls-ids.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls-ids.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_certificate_verification_profile_get_id
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:53,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:67,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:68,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:69,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:71,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:74,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:75,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:76,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:78,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:81,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:84,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:91,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:105,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:107,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:110,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:114,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:116,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:119,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:120,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:121,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:125,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:127,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:130,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:131,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:133,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:134,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:135,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 137
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:141,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert.c
    functionUses: 0
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:57,1
    - Dst: global_init
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:60,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:62,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:62,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:66,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:68,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:69,1
    - Dst: gnutls_certificate_set_x509_crl_mem
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:73,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:76,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:80,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:82,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:83,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:87,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:89,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:90,1
    - Dst: gnutls_certificate_set_x509_crl
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:94,1
    - Dst: printf
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:97,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:101,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:103,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/certificate_set_x509_crl.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/gnutls/tests/certificate_set_x509_crl.c
    functionUses: 4
    functionsReached:
    - gnutls_strerror
    - strlen
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_crl_mem
    - gnutls_x509_crl_init
    - global_init
    - gnutls_certificate_free_credentials
    - gnutls_x509_crl_deinit
    - printf
    - gnutls_x509_crl_import
    - gnutls_certificate_set_x509_crl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:47,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: post_client_hello_callback
    functionSourceFile: /src/gnutls/tests/post-client-hello-change-prio.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: int
    signature: int post_client_hello_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/post-client-hello-change-prio.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:71,1
    - Dst: global_init
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:82,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:83,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:86,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:88,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:89,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:90,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:91,1
    - Dst: gnutls_handshake_set_post_client_hello_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:95,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:98,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:98,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:99,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:100,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:101,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:106,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:108,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:109,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:112,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:114,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:118,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:119,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:121,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:124,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:125,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:130,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 4
    argNames:
    - name
    - client_prio
    - server_prio
    - expected
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 133
    functionName: start
    functionSourceFile: /src/gnutls/tests/post-client-hello-change-prio.c
    functionUses: 105
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - assert
    - gnutls_handshake_set_post_client_hello_function
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, const char *client_prio,\n\t\t  const
      char *server_prio, int expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:138,1
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:140,1
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:142,1
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:144,1
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:147,1
    - Dst: start
      Src: /src/gnutls/tests/post-client-hello-change-prio.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: doit
    functionSourceFile: /src/gnutls/tests/post-client-hello-change-prio.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-start.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-start.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-start.c:71,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-start.c:73,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13-early-start.c:75,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:77,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-start.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:82,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:84,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-start.c:84,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-start.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:87,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-start.c:87,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-early-start.c:89,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-early-start.c:90,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-early-start.c:91,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:96,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-start.c:99,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13-early-start.c:101,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-start.c:105,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-start.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:112,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-early-start.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-early-start.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-early-start.c:116,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-start.c:118,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-start.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:122,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-start.c:125,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-early-start.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:128,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-start.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:129,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-start.c:129,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13-early-start.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:132,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-start.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:135,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-start.c:135,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:135,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-start.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:143,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:146,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-start.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:147,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:149,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-start.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:153,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-start.c:153,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:153,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-start.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:159,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:162,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-start.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:163,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:165,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-start.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-start.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:171,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:172,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 7
    argNames:
    - name
    - client_prio
    - serv_cert
    - serv_key
    - cli_cert
    - cli_key
    - init_flags
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 173
    functionName: try_with_key_fail
    functionSourceFile: /src/gnutls/tests/tls13-early-start.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - assert
    - exit
    - success
    - gnutls_session_get_flags
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_key_fail(const char *name, const char *client_prio,\n\t\t\t
      \     const gnutls_datum_t *serv_cert,\n\t\t\t      const gnutls_datum_t *serv_key,\n\t\t\t
      \     const gnutls_datum_t *cli_cert,\n\t\t\t      const gnutls_datum_t *cli_key,\n\t\t\t
      \     unsigned init_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-start.c:195,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-start.c:197,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13-early-start.c:199,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:201,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-start.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:206,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:206,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:209,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-start.c:209,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-start.c:210,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:212,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-start.c:212,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-early-start.c:214,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-early-start.c:215,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-early-start.c:216,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:220,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:222,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-start.c:225,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13-early-start.c:228,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13-early-start.c:231,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-start.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:237,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-start.c:239,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:242,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13-early-start.c:244,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13-early-start.c:245,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13-early-start.c:246,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-start.c:248,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-start.c:251,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:252,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-start.c:254,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13-early-start.c:255,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:257,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-start.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:258,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-start.c:258,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13-early-start.c:260,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:261,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-start.c:263,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:264,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-start.c:264,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:264,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-start.c:266,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:268,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:271,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:272,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:275,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-start.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:276,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:278,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-start.c:281,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-start.c:282,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-start.c:282,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:282,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-start.c:284,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:288,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-start.c:288,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:291,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-start.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-start.c:292,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-start.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-start.c:294,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-start.c:297,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-start.c:298,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-start.c:300,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-start.c:301,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:303,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-start.c:304,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 8
    argNames:
    - name
    - client_prio
    - serv_cert
    - serv_key
    - client_cert
    - client_key
    - cert_flags
    - init_flags
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 305
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 305
    functionName: try_with_key_ks
    functionSourceFile: /src/gnutls/tests/tls13-early-start.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - assert
    - exit
    - success
    - gnutls_session_get_flags
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_key_ks(const char *name, const char *client_prio,\n\t\t\t
      \   const gnutls_datum_t *serv_cert,\n\t\t\t    const gnutls_datum_t *serv_key,\n\t\t\t
      \   const gnutls_datum_t *client_cert,\n\t\t\t    const gnutls_datum_t *client_key,\n\t\t\t
      \   unsigned cert_flags, unsigned init_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-early-start.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - name
    - client_prio
    - serv_cert
    - serv_key
    - cli_cert
    - cli_key
    - cert_flags
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/tls13-early-start.c
    functionUses: 1
    functionsReached:
    - try_with_key_ks
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *client_prio,\n\t\t\t
      const gnutls_datum_t *serv_cert,\n\t\t\t const gnutls_datum_t *serv_key,\n\t\t\t
      const gnutls_datum_t *cli_cert,\n\t\t\t const gnutls_datum_t *cli_key, unsigned
      cert_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_ok
      Src: /src/gnutls/tests/tls13-early-start.c:322,1
    - Dst: try_ok
      Src: /src/gnutls/tests/tls13-early-start.c:324,1
    - Dst: try_ok
      Src: /src/gnutls/tests/tls13-early-start.c:326,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-early-start.c:329,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-early-start.c:336,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-early-start.c:341,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-early-start.c:346,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-early-start.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 357
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-early-start.c
    functionUses: 0
    functionsReached:
    - try_ok
    - try_with_key_fail
    - try_with_key_ks
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-previous-stek.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prev_key
    - new_key
    - t
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: stek_rotation_callback
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 0
    functionsReached:
    - success
    linkageType: ''
    returnType: void
    signature: "void stek_rotation_callback(const gnutls_datum_t *prev_key,\n\t\t\t\t
      \  const gnutls_datum_t *new_key, uint64_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-with-previous-stek.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:66,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-previous-stek.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:75,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:77,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-previous-stek.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:81,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:83,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-with-previous-stek.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:88,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-previous-stek.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - session
    - session_data
    - resume
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: client_handshake
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_data2
    - success
    - gnutls_bye
    - gnutls_handshake
    - gnutls_session_set_data
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: int
    signature: "int client_handshake(gnutls_session_t session,\n\t\t\t    gnutls_datum_t
      *session_data, int resume)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:106,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-previous-stek.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:109,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-previous-stek.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:110,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-previous-stek.c:110,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-previous-stek.c:112,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-previous-stek.c:115,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-previous-stek.c:116,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-previous-stek.c:116,1
    - Dst: client_handshake
      Src: /src/gnutls/tests/resume-with-previous-stek.c:119,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-previous-stek.c:123,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-previous-stek.c:127,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-previous-stek.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - fd
    - resume
    - rounds
    - prio
    argTypes:
    - int
    - int*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 131
    functionName: client
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 63
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_timeout
    - gnutls_priority_set_direct
    - client_handshake
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    linkageType: ''
    returnType: void
    signature: void client(int fd, int *resume, unsigned rounds, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/resume-with-previous-stek.c:146,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-with-previous-stek.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:153,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-previous-stek.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:155,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-previous-stek.c:155,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-with-previous-stek.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-previous-stek.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-previous-stek.c:164,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-previous-stek.c:164,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-previous-stek.c:165,1
    - Dst: gnutls_db_set_cache_expiration
      Src: /src/gnutls/tests/resume-with-previous-stek.c:168,1
    - Dst: _gnutls_set_session_ticket_key_rotation_callback
      Src: /src/gnutls/tests/resume-with-previous-stek.c:169,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume-with-previous-stek.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-previous-stek.c:176,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-previous-stek.c:179,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-previous-stek.c:180,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-previous-stek.c:180,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume-with-previous-stek.c:182,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-previous-stek.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-previous-stek.c:191,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:193,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-previous-stek.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:197,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:199,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-previous-stek.c:201,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-previous-stek.c:202,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-previous-stek.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:208,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-previous-stek.c:212,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-previous-stek.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - fd
    - rounds
    - prio
    argTypes:
    - int
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 214
    functionName: server
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 76
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - virt_sec_sleep
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_db_set_cache_expiration
    - gnutls_init
    - gnutls_transport_set_int
    - virt_time_init
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - _gnutls_set_session_ticket_key_rotation_callback
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned rounds, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-with-previous-stek.c:221,1
    - Dst: socketpair
      Src: /src/gnutls/tests/resume-with-previous-stek.c:223,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-previous-stek.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:226,1
    - Dst: fork
      Src: /src/gnutls/tests/resume-with-previous-stek.c:230,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-previous-stek.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-previous-stek.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-previous-stek.c:239,1
    - Dst: server
      Src: /src/gnutls/tests/resume-with-previous-stek.c:240,1
    - Dst: waitpid
      Src: /src/gnutls/tests/resume-with-previous-stek.c:241,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/resume-with-previous-stek.c:242,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-previous-stek.c:245,1
    - Dst: client
      Src: /src/gnutls/tests/resume-with-previous-stek.c:246,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-previous-stek.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - name
    - prio
    - resume
    - rounds
    argTypes:
    - char*
    - char*
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 249
    functionName: run
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 16
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio, int resume[], int rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-previous-stek.c:255,1
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-previous-stek.c:256,1
    - Dst: run
      Src: /src/gnutls/tests/resume-with-previous-stek.c:259,1
    - Dst: run
      Src: /src/gnutls/tests/resume-with-previous-stek.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-with-previous-stek.c
    functionUses: 0
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:122,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:123,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:124,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:125,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:126,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:127,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:128,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:129,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:130,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:131,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:132,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:133,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:135,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:136,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:137,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:138,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:139,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:140,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:142,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:143,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:144,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:145,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:146,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:147,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:148,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:149,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:150,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:151,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/ip-utils.c:152,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/ip-utils.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnutls/tests/ip-utils.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/ip-utils.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/gnutls/tests/ip-utils.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509-2.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-x509-2.c:192,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509-2.c:195,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509-2.c:196,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509-2.c:198,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/mini-x509-2.c:200,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:205,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/mini-x509-2.c:208,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:211,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/mini-x509-2.c:214,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:217,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:218,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-2.c:222,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/mini-x509-2.c:223,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:224,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:226,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/mini-x509-2.c:227,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-2.c:229,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-2.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-2.c:231,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-2.c:231,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-2.c:232,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-2.c:233,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-2.c:234,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-x509-2.c:235,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-2.c:239,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:241,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/mini-x509-2.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:246,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509-2.c:248,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-2.c:251,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:253,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-2.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:258,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-2.c:260,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-2.c:261,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-2.c:262,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-2.c:263,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509-2.c:265,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/mini-x509-2.c:273,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:275,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:276,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/mini-x509-2.c:279,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/mini-x509-2.c:280,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:283,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:284,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:285,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/mini-x509-2.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:290,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:292,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-2.c:294,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:295,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-x509-2.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:299,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:300,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/mini-x509-2.c:302,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-2.c:304,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/mini-x509-2.c:304,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/mini-x509-2.c:313,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:315,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:316,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/mini-x509-2.c:319,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/mini-x509-2.c:320,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:323,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:324,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:325,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/mini-x509-2.c:328,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:330,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:331,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:332,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-2.c:334,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:335,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-x509-2.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-2.c:339,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:340,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/mini-x509-2.c:342,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-2.c:344,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/mini-x509-2.c:344,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509-2.c:353,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/mini-x509-2.c:362,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:364,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:366,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-2.c:369,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:371,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:372,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:373,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:377,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:378,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/mini-x509-2.c:388,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:390,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:392,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-2.c:395,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:397,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:398,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:399,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:403,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:404,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509-2.c:414,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:416,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-2.c:417,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:418,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:422,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:424,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/mini-x509-2.c:427,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:429,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:432,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/mini-x509-2.c:435,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:438,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:441,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/mini-x509-2.c:444,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-2.c:446,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-2.c:449,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-2.c:453,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-2.c:454,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:456,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:457,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-2.c:459,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-2.c:460,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509-2.c:462,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-x509-2.c:464,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 176
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 465
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 465
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-x509-2.c
    functionUses: 106
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_x509_crt_list_import2
    - gnutls_x509_crt_export2
    - gnutls_transport_set_ptr
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - gnutls_certificate_type_get
    - gnutls_ocsp_status_request_is_checked
    - reset_buffers
    - gnutls_x509_crt_import
    - memcmp
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - exit
    - gnutls_x509_crt_deinit
    - assert
    - gnutls_x509_crt_init
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_x509_privkey_import
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_global_set_log_level
    - gnutls_certificate_get_ours
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_verify_peers
    - global_init
    - gnutls_certificate_set_x509_key
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-2.c:469,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-2.c:470,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-2.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509-2.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - key
    - flags
    - userdata
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: key_cb_info_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int key_cb_info_func(gnutls_privkey_t key, unsigned int flags,\n\t\t\t
      \   void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:89,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:90,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - key
    - sig
    - userdata
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: key_cb_sign_data_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_sign_data2
    - gnutls_sign_get_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_data_func(gnutls_privkey_t key,\n\t\t\t\t gnutls_sign_algorithm_t
      sig, void *userdata,\n\t\t\t\t unsigned int flags, const gnutls_datum_t *data,\n\t\t\t\t
      gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:103,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:104,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:109,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:110,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key
    - sig
    - userdata
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: key_cb_sign_hash_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_get_name
    - fprintf
    - gnutls_privkey_sign_hash
    - gnutls_privkey_sign_hash2
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_hash_func(gnutls_privkey_t key,\n\t\t\t\t gnutls_sign_algorithm_t
      sig, void *userdata,\n\t\t\t\t unsigned int flags, const gnutls_datum_t *data,\n\t\t\t\t
      gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_decrypt_data
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - userdata
    - ciphertext
    - plaintext
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: key_cb_decrypt_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_decrypt_data
    linkageType: ''
    returnType: int
    signature: "int key_cb_decrypt_func(gnutls_privkey_t key, void *userdata,\n\t\t\t
      \      const gnutls_datum_t *ciphertext,\n\t\t\t       gnutls_datum_t *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:128,1
    - Dst: free
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: key_cb_deinit_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:144,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:146,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:149,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:151,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:153,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:155,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:157,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:160,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:162,1
    - Dst: gnutls_privkey_import_ext4
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:167,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:173,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:174,1
    - Dst: free
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:175,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - name
    - txtkey
    - pk
    - sig
    - exp_ret
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    - gnutls_sign_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 183
    functionName: load_virt_privkey
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 2
    functionsReached:
    - gnutls_privkey_import_ext4
    - gnutls_strerror
    - gnutls_privkey_get_pk_algorithm
    - calloc
    - free
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - testfail
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t load_virt_privkey(const char *name,\n\t\t\t\t\t  const
      gnutls_datum_t *txtkey,\n\t\t\t\t\t  gnutls_pk_algorithm_t pk,\n\t\t\t\t\t  gnutls_sign_algorithm_t
      sig,\n\t\t\t\t\t  int exp_ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:206,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:208,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:210,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:212,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:215,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:219,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:220,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:223,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:226,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:226,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:229,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:232,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:232,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:233,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:234,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:235,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:239,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:241,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:248,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:252,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:254,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:256,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:258,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:259,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:260,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:262,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:265,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:266,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:269,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:272,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:275,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:276,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:278,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:278,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:280,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:284,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:286,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:288,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:290,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:291,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:294,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:296,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:298,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:299,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:302,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:304,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:306,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:307,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:310,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:312,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:314,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:315,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:319,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:320,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:323,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:324,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:326,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:327,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 8
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - key
    - exp_serv_err
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 328
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_sign_get_name
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_sign_algorithm_get
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - testfail
    - gnutls_sign_algorithm_get_client
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_pcert_list_import_x509_raw
    - gnutls_kx_get_name
    - HANDSHAKE
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *client_prio,\n\t\t\t
      gnutls_kx_algorithm_t client_kx,\n\t\t\t gnutls_sign_algorithm_t server_sign_algo,\n\t\t\t
      gnutls_sign_algorithm_t client_sign_algo,\n\t\t\t const gnutls_datum_t *serv_cert,
      gnutls_privkey_t key,\n\t\t\t int exp_serv_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:484,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:486,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:488,1
    - Dst: success
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:491,1
    - Dst: load_virt_privkey
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:493,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:498,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:500,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-neg-ext4-key.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 505
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-neg-ext4-key.c
    functionUses: 0
    functionsReached:
    - success
    - assert
    - try_with_key
    - gnutls_global_deinit
    - load_virt_privkey
    - global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:85,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:88,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:89,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:96,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:97,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:98,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:98,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:101,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:108,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:110,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:111,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:116,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:120,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:124,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:129,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:131,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 134
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 65
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:152,1
    - Dst: FD_SET
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:153,1
    - Dst: select
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:156,1
    - Dst: recv
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - sockfd
    - buf
    - len
    - flags
    - sec
    argTypes:
    - int
    - void*
    - size_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: recv_timeout
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 0
    functionsReached:
    - select
    - recv
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recv_timeout(int sockfd, void *buf, size_t len, unsigned flags,\n\t\t\t
      \   unsigned sec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:181,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:184,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:185,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:191,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:194,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:196,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:197,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:198,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:203,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:208,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:210,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:211,1
    - Dst: recv_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:214,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:222,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:227,1
    - Dst: gnutls_dtls_cookie_verify
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:230,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:235,1
    - Dst: gnutls_dtls_cookie_send
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:242,1
    - Dst: recv_timeout
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:251,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:252,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:262,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:263,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:265,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:266,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:268,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 271
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 77
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_dtls_cookie_send
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - gnutls_key_generate
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_priority_set_direct
    - gnutls_dtls_cookie_verify
    - recv_timeout
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:278,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:280,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:282,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:283,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:286,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:290,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:297,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:298,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:299,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:301,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-hello-verify-48.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 305
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-hello-verify-48.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/status-request-revoked.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-revoked.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-revoked.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - success
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/status-request-revoked.c:246,1
    - Dst: memcpy
      Src: /src/gnutls/tests/status-request-revoked.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - session
    - ptr
    - resp
    argTypes:
    - gnutls_session_t
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: status_func
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int status_func(gnutls_session_t session, void *ptr,\n\t\t       gnutls_datum_t
      *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/status-request-revoked.c:263,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/status-request-revoked.c:264,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-revoked.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: cert_verify_callback
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_certificate_verify_peers2
    - fail
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: int
    signature: int cert_verify_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-revoked.c:282,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-revoked.c:285,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-revoked.c:286,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-revoked.c:289,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-revoked.c:293,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request-revoked.c:295,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-revoked.c:295,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/status-request-revoked.c:297,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-revoked.c:304,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/tests/status-request-revoked.c:306,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/status-request-revoked.c:308,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-revoked.c:311,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-revoked.c:316,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-revoked.c:317,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-revoked.c:320,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/status-request-revoked.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:323,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:327,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-revoked.c:328,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-revoked.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-revoked.c:332,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-revoked.c:335,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-revoked.c:337,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-revoked.c:339,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-revoked.c:341,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-revoked.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 344
    functionName: client
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 66
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_verify_function
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-revoked.c:355,1
    - Dst: memset
      Src: /src/gnutls/tests/status-request-revoked.c:356,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-revoked.c:359,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-revoked.c:360,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-revoked.c:363,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/status-request-revoked.c:364,1
    - Dst: gnutls_certificate_set_ocsp_status_request_function
      Src: /src/gnutls/tests/status-request-revoked.c:367,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-revoked.c:370,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/status-request-revoked.c:372,1
    - Dst: assert
      Src: /src/gnutls/tests/status-request-revoked.c:376,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-revoked.c:376,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-revoked.c:378,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-revoked.c:380,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-revoked.c:383,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-revoked.c:384,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:391,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:395,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-revoked.c:396,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-revoked.c:397,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-revoked.c:400,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-revoked.c:401,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-revoked.c:406,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-revoked.c:409,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-revoked.c:410,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-revoked.c:412,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-revoked.c:414,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 418
    functionName: server
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 78
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_set_ocsp_status_request_function
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/status-request-revoked.c:431,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request-revoked.c:433,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request-revoked.c:434,1
    - Dst: socketpair
      Src: /src/gnutls/tests/status-request-revoked.c:436,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-revoked.c:438,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-revoked.c:439,1
    - Dst: fork
      Src: /src/gnutls/tests/status-request-revoked.c:442,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-revoked.c:444,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-revoked.c:445,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-revoked.c:446,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-revoked.c:451,1
    - Dst: client
      Src: /src/gnutls/tests/status-request-revoked.c:452,1
    - Dst: waitpid
      Src: /src/gnutls/tests/status-request-revoked.c:453,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/status-request-revoked.c:454,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-revoked.c:456,1
    - Dst: server
      Src: /src/gnutls/tests/status-request-revoked.c:457,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-revoked.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: start
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 107
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/status-request-revoked.c:464,1
    - Dst: start
      Src: /src/gnutls/tests/status-request-revoked.c:465,1
    - Dst: start
      Src: /src/gnutls/tests/status-request-revoked.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: doit
    functionSourceFile: /src/gnutls/tests/status-request-revoked.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:65,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:69,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: check_dtls_window_uninit_0
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - _dtls_record_check
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_uninit_0(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:81,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: check_dtls_window_uninit_large
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - _dtls_record_check
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_uninit_large(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:93,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: check_dtls_window_uninit_very_large
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - _dtls_record_check
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_uninit_very_large(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:102,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:103,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:107,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: check_dtls_window_12
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_12(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:116,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:117,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:121,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: check_dtls_window_19
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_19(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:131,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:132,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:136,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: check_dtls_window_skip1
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_skip1(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:147,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:148,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:152,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: check_dtls_window_skip3
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_skip3(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:162,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:163,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:167,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: check_dtls_window_21
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_21(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:176,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:177,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:181,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: check_dtls_window_91
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_91(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:190,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:191,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:195,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: check_dtls_window_large_21
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_large_21(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:204,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:205,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:209,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: check_dtls_window_large_12
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_large_12(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:218,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:219,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:223,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: check_dtls_window_large_91
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_large_91(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:232,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:233,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:237,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: check_dtls_window_large_19
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_large_19(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:246,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:247,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:251,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: check_dtls_window_very_large_12
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_very_large_12(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:260,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:261,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:265,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: check_dtls_window_very_large_91
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_very_large_91(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:274,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:275,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:279,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: check_dtls_window_very_large_19
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_very_large_19(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:288,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:289,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:293,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: check_dtls_window_outside
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_outside(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:302,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:303,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:307,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: check_dtls_window_large_outside
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_large_outside(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:316,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:317,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:321,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: check_dtls_window_very_large_outside
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_very_large_outside(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:330,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:331,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:334,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:334,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:337,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:337,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:340,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:340,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:343,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: check_dtls_window_dup1
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_dup1(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:352,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:353,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:356,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:356,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:359,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:359,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:362,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:362,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:365,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 366
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 366
    functionName: check_dtls_window_dup2
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_dup2(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:374,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:375,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:378,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:378,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:381,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:381,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:384,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:384,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:387,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:387,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:390,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:390,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:393,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: check_dtls_window_dup3
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_dup3(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:402,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:403,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:406,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:406,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:409,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:409,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:412,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:412,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:415,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:415,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:418,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:418,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:421,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:421,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:424,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:424,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:427,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:427,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:430,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:430,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:433,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: check_dtls_window_out_of_order
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_out_of_order(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:442,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:443,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:446,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:446,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:449,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 450
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 450
    functionName: check_dtls_window_epoch_higher
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_epoch_higher(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_WINDOW_NEXT
      Src: /src/gnutls/tests/dtls-sliding-window.c:461,1
    - Dst: SET_WINDOW_LAST_RECV
      Src: /src/gnutls/tests/dtls-sliding-window.c:462,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:465,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:465,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:468,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:468,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/dtls-sliding-window.c:471,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/tests/dtls-sliding-window.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 472
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 472
    functionName: check_dtls_window_epoch_lower
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 0
    functionsReached:
    - _dtls_record_check
    - assert_int_equal
    - SET_WINDOW_LAST_RECV
    - SET_WINDOW_NEXT
    linkageType: ''
    returnType: void
    signature: void check_dtls_window_epoch_lower(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:477,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:478,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:479,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:480,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:481,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:482,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:483,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:484,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:485,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:486,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:487,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:488,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:489,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:490,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:491,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:492,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:493,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:494,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:495,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:496,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:497,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:498,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:499,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:500,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/dtls-sliding-window.c:501,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/dtls-sliding-window.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-sliding-window.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-srtp.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-srtp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-srtp.c:83,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-srtp.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-srtp.c:87,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-srtp.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-srtp.c:94,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-srtp.c:95,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-srtp.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:99,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:104,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:107,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:111,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-srtp.c:116,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-srtp.c:118,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-srtp.c:123,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-srtp.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-srtp.c:127,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:136,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-srtp.c:137,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-srtp.c:138,1
    - Dst: gnutls_srtp_get_keys
      Src: /src/gnutls/tests/mini-dtls-srtp.c:140,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:144,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:150,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:153,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:154,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:157,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:158,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:161,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:162,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-srtp.c:165,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-srtp.c:167,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:169,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-srtp.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - fd
    - profile
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 174
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 67
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_srtp_set_profile_direct
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_srtp_get_keys
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_hex_encode
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-srtp.c:179,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-srtp.c:180,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-srtp.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 28
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-srtp.c:196,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-srtp.c:199,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-srtp.c:200,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-srtp.c:203,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-srtp.c:205,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-srtp.c:206,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-srtp.c:207,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:212,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:218,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/tests/mini-dtls-srtp.c:221,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:224,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:225,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-srtp.c:228,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-srtp.c:230,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-srtp.c:233,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-srtp.c:234,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-srtp.c:236,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-srtp.c:238,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:239,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-srtp.c:240,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:246,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-srtp.c:247,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-srtp.c:248,1
    - Dst: gnutls_srtp_get_keys
      Src: /src/gnutls/tests/mini-dtls-srtp.c:250,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:253,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:254,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:259,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:260,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:263,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:264,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:268,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/tests/mini-dtls-srtp.c:271,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:272,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-srtp.c:277,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-srtp.c:279,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:280,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-srtp.c:282,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:284,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-srtp.c:287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - fd
    - profile
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 288
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 288
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 79
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_srtp_set_profile_direct
    - gnutls_perror
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_srtp_get_keys
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_hex_encode
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-srtp.c:295,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-srtp.c:297,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:299,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:300,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-srtp.c:303,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-srtp.c:305,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-srtp.c:306,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:307,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-srtp.c:314,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-srtp.c:315,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-srtp.c:316,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-srtp.c:318,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-srtp.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-srtp.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - profile
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 108
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-srtp.c:326,1
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-srtp.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-srtp.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/send-client-cert.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/send-client-cert.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/send-client-cert.c:63,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/send-client-cert.c:73,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/send-client-cert.c:75,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/send-client-cert.c:78,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/send-client-cert.c:79,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/send-client-cert.c:84,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/send-client-cert.c:85,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/send-client-cert.c:86,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/send-client-cert.c:88,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/send-client-cert.c:89,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/send-client-cert.c:92,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/send-client-cert.c:95,1
    - Dst: abort
      Src: /src/gnutls/tests/send-client-cert.c:100,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:104,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/send-client-cert.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/send-client-cert.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/send-client-cert.c:108,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/send-client-cert.c:109,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/send-client-cert.c:110,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/send-client-cert.c:111,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/send-client-cert.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:117,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/send-client-cert.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:124,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/send-client-cert.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:129,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/send-client-cert.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:137,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/send-client-cert.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:142,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/send-client-cert.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:146,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/send-client-cert.c:148,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/send-client-cert.c:149,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/send-client-cert.c:150,1
    - Dst: success
      Src: /src/gnutls/tests/send-client-cert.c:152,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/send-client-cert.c:155,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/send-client-cert.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/send-client-cert.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:161,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/send-client-cert.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/send-client-cert.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/send-client-cert.c:167,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/send-client-cert.c:171,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/send-client-cert.c:172,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/send-client-cert.c:174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/send-client-cert.c:175,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/send-client-cert.c:176,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 3
    argNames:
    - prio
    - expect
    - ca_type
    argTypes:
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 177
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 177
    functionName: try
    functionSourceFile: /src/gnutls/tests/send-client-cert.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - abort
    - gnutls_certificate_get_ours
    - fail
    linkageType: ''
    returnType: void
    signature: void try(const char *prio, unsigned expect, unsigned ca_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/send-client-cert.c:181,1
    - Dst: success
      Src: /src/gnutls/tests/send-client-cert.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/send-client-cert.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: start
    functionSourceFile: /src/gnutls/tests/send-client-cert.c
    functionUses: 109
    functionsReached:
    - global_init
    - success
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/send-client-cert.c:194,1
    - Dst: start
      Src: /src/gnutls/tests/send-client-cert.c:195,1
    - Dst: start
      Src: /src/gnutls/tests/send-client-cert.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: doit
    functionSourceFile: /src/gnutls/tests/send-client-cert.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int client_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: post_client_hello_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int post_client_hello_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:59,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:60,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:62,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:63,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: server_callback
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_handshake_get_last_out
    - gnutls_handshake_get_last_in
    - gnutls_protocol_get_version
    - fail
    linkageType: ''
    returnType: int
    signature: int server_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:130,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:136,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:137,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:139,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:142,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:143,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:145,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:146,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:147,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:148,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:149,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:150,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:151,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:152,1
    - Dst: gnutls_handshake_set_post_client_hello_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:153,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:157,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:158,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:159,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:160,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:161,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:162,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:163,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:164,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:166,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:168,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:169,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:171,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:172,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:175,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:186,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 189
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 189
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 110
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_verify_function
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - gnutls_handshake_set_post_client_hello_function
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:193,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:194,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-callbacks-intr.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509-callbacks-intr.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/tests/base64.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64.c:45,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:46,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64.c:49,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:50,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64.c:51,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:52,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/base64.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:58,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64.c:61,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64.c:64,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/base64.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:67,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:73,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:75,1
    - Dst: memcmp
      Src: /src/gnutls/tests/base64.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:79,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - test_name
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: encode
    functionSourceFile: /src/gnutls/tests/base64.c
    functionUses: 21
    functionsReached:
    - strncasecmp
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - gnutls_pem_base64_encode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/base64.c:97,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/base64.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:119,1
    - Dst: memcmp
      Src: /src/gnutls/tests/base64.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64.c:128,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64.c:132,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/base64.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:151,1
    - Dst: memcmp
      Src: /src/gnutls/tests/base64.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/base64.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/base64.c:157,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64.c:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - test_name
    - raw
    - hex
    - hex_size
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 163
    functionName: decode
    functionSourceFile: /src/gnutls/tests/base64.c
    functionUses: 12
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *hex, unsigned hex_size, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/base64.c:249,1
    - Dst: decode
      Src: /src/gnutls/tests/base64.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: doit
    functionSourceFile: /src/gnutls/tests/base64.c
    functionUses: 0
    functionsReached:
    - decode
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/cipher-padding.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/cipher-padding.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/cipher-padding.c:51,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/cipher-padding.c:51,1
    - Dst: gnutls_cipher_get_block_size
      Src: /src/gnutls/tests/cipher-padding.c:54,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/cipher-padding.c:57,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-padding.c:58,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/cipher-padding.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-padding.c:62,1
    - Dst: memset
      Src: /src/gnutls/tests/cipher-padding.c:64,1
    - Dst: memset
      Src: /src/gnutls/tests/cipher-padding.c:65,1
    - Dst: memset
      Src: /src/gnutls/tests/cipher-padding.c:66,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/cipher-padding.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:70,1
    - Dst: gnutls_cipher_encrypt3
      Src: /src/gnutls/tests/cipher-padding.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:78,1
    - Dst: gnutls_cipher_encrypt3
      Src: /src/gnutls/tests/cipher-padding.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:91,1
    - Dst: CLAMP
      Src: /src/gnutls/tests/cipher-padding.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:94,1
    - Dst: CLAMP
      Src: /src/gnutls/tests/cipher-padding.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:99,1
    - Dst: gnutls_cipher_encrypt3
      Src: /src/gnutls/tests/cipher-padding.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:108,1
    - Dst: gnutls_cipher_decrypt3
      Src: /src/gnutls/tests/cipher-padding.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:119,1
    - Dst: memcmp
      Src: /src/gnutls/tests/cipher-padding.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:124,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/cipher-padding.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 3
    argNames:
    - algo
    - plaintext_size
    - flags
    argTypes:
    - gnutls_cipher_algorithm_t
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 128
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 128
    functionName: start
    functionSourceFile: /src/gnutls/tests/cipher-padding.c
    functionUses: 111
    functionsReached:
    - assert
    - success
    - gnutls_cipher_deinit
    - CLAMP
    - gnutls_cipher_get_name
    - fail
    - memcmp
    - gnutls_cipher_init
    - gnutls_cipher_decrypt3
    - memset
    - gnutls_cipher_get_iv_size
    - gnutls_cipher_encrypt3
    - gnutls_cipher_get_block_size
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: "void start(gnutls_cipher_algorithm_t algo, size_t plaintext_size,\n\t\t
      \ unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cipher-padding.c:134,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cipher-padding.c:136,1
    - Dst: global_init
      Src: /src/gnutls/tests/cipher-padding.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-padding.c:141,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:144,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:145,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:146,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:147,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:149,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-padding.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cipher-padding.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: doit
    functionSourceFile: /src/gnutls/tests/cipher-padding.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - fail
    - global_init
    - start
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-cas.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509-cas.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-x509-cas.c:58,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509-cas.c:61,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509-cas.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509-cas.c:64,1
    - Dst: getenv
      Src: /src/gnutls/tests/mini-x509-cas.c:66,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-cas.c:72,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509-cas.c:73,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/tests/mini-x509-cas.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509-cas.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509-cas.c:78,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509-cas.c:79,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-cas.c:82,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-cas.c:83,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-x509-cas.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-cas.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-cas.c:85,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-cas.c:86,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-cas.c:87,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-cas.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509-cas.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509-cas.c:92,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509-cas.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509-cas.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509-cas.c:94,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509-cas.c:95,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509-cas.c:96,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509-cas.c:97,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509-cas.c:99,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-cas.c:101,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509-cas.c:102,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-cas.c:104,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509-cas.c:105,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-cas.c:107,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509-cas.c:108,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509-cas.c:110,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-x509-cas.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 113
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-x509-cas.c
    functionUses: 112
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - exit
    - assert
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-cas.c:117,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-cas.c:118,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509-cas.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509-cas.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/eagain-auto-auth.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/eagain-auto-auth.c:81,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/eagain-auto-auth.c:83,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/eagain-auto-auth.c:84,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/eagain-auto-auth.c:88,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/eagain-auto-auth.c:89,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/eagain-auto-auth.c:93,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/eagain-auto-auth.c:96,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/eagain-auto-auth.c:99,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:101,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/eagain-auto-auth.c:103,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/eagain-auto-auth.c:104,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/eagain-auto-auth.c:105,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/eagain-auto-auth.c:109,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:110,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/eagain-auto-auth.c:112,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/eagain-auto-auth.c:115,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/eagain-auto-auth.c:117,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/eagain-auto-auth.c:120,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:122,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/eagain-auto-auth.c:124,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/eagain-auto-auth.c:125,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/eagain-auto-auth.c:126,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/eagain-auto-auth.c:128,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/eagain-auto-auth.c:135,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:138,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:139,1
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/tests/eagain-auto-auth.c:139,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/eagain-auto-auth.c:144,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:152,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/eagain-auto-auth.c:156,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:159,1
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/tests/eagain-auto-auth.c:165,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/eagain-auto-auth.c:170,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:174,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:177,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/eagain-auto-auth.c:181,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/eagain-auto-auth.c:185,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:188,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/eagain-auto-auth.c:193,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/eagain-auto-auth.c:199,1
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/tests/eagain-auto-auth.c:205,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:210,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:211,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/eagain-auto-auth.c:212,1
    - Dst: strlen
      Src: /src/gnutls/tests/eagain-auto-auth.c:214,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/eagain-auto-auth.c:215,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:217,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/eagain-auto-auth.c:217,1
    - Dst: assert_true
      Src: /src/gnutls/tests/eagain-auto-auth.c:218,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/eagain-auto-auth.c:218,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/eagain-auto-auth.c:220,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/eagain-auto-auth.c:221,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/eagain-auto-auth.c:223,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/eagain-auto-auth.c:224,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/eagain-auto-auth.c:226,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 3
    argNames:
    - glob_state
    - prio
    - rehsk
    argTypes:
    - void**
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 227
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 227
    functionName: async_handshake
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 5
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_record_get_direction
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_transport_set_pull_function
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_init
    - HANDSHAKE
    - assert_true
    - gnutls_certificate_set_retrieve_function2
    - assert_return_code
    - gnutls_reauth
    - gnutls_handshake
    linkageType: ''
    returnType: void
    signature: void async_handshake(void **glob_state, const char *prio, unsigned
      rehsk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain-auto-auth.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: tls12_async_handshake
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_async_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: async_handshake
      Src: /src/gnutls/tests/eagain-auto-auth.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: tls13_async_handshake
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 0
    functionsReached:
    - async_handshake
    linkageType: ''
    returnType: void
    signature: void tls13_async_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain-auto-auth.c:242,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/eagain-auto-auth.c:243,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/eagain-auto-auth.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/gnutls/tests/eagain-auto-auth.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/empty_retrieve_function.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - retr
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_retr2_st*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: cert_cb1
    functionSourceFile: /src/gnutls/tests/empty_retrieve_function.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: "int cert_cb1(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,\n\t\t
      \   int nreqs, const gnutls_pk_algorithm_t *pk_algos,\n\t\t    int pk_algos_length,
      gnutls_retr2_st *retr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - pcert
    - pcert_length
    - privkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: cert_cb2
    functionSourceFile: /src/gnutls/tests/empty_retrieve_function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_cb2(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,\n\t\t
      \   int nreqs, const gnutls_pk_algorithm_t *pk_algos,\n\t\t    int pk_algos_length,
      gnutls_pcert_st **pcert,\n\t\t    unsigned int *pcert_length, gnutls_privkey_t
      *privkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - session
    - info
    - certs
    - pcert_length
    - ocsp
    - ocsp_length
    - privkey
    - flags
    argTypes:
    - gnutls_session_t
    - struct gnutls_cert_retr_st*
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_ocsp_data_st**
    - unsigned int*
    - gnutls_privkey_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: cert_cb3
    functionSourceFile: /src/gnutls/tests/empty_retrieve_function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_cb3(gnutls_session_t session,\n\t\t    const struct gnutls_cert_retr_st
      *info,\n\t\t    gnutls_pcert_st **certs, unsigned int *pcert_length,\n\t\t    gnutls_ocsp_data_st
      **ocsp, unsigned int *ocsp_length,\n\t\t    gnutls_privkey_t *privkey, unsigned
      int *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/empty_retrieve_function.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/empty_retrieve_function.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/empty_retrieve_function.c:84,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/empty_retrieve_function.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/empty_retrieve_function.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:90,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/empty_retrieve_function.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/empty_retrieve_function.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/empty_retrieve_function.c:97,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:100,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/tests/empty_retrieve_function.c:101,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/empty_retrieve_function.c:102,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:105,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:107,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/empty_retrieve_function.c:108,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/empty_retrieve_function.c:109,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:112,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:114,1
    - Dst: gnutls_certificate_set_retrieve_function3
      Src: /src/gnutls/tests/empty_retrieve_function.c:115,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/empty_retrieve_function.c:116,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:119,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/empty_retrieve_function.c:121,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/empty_retrieve_function.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/empty_retrieve_function.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 127
    functionName: doit
    functionSourceFile: /src/gnutls/tests/empty_retrieve_function.c
    functionUses: 0
    functionsReached:
    - exit
    - success
    - _test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_set_retrieve_function2
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_retrieve_function3
    - gnutls_certificate_set_retrieve_function
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/send-data-before-handshake.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/send-data-before-handshake.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/send-data-before-handshake.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/send-data-before-handshake.c:80,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/send-data-before-handshake.c:81,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/send-data-before-handshake.c:82,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:84,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/send-data-before-handshake.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_record_send
    - gnutls_handshake_description_get_name
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/send-data-before-handshake.c:101,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/send-data-before-handshake.c:104,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/send-data-before-handshake.c:105,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/send-data-before-handshake.c:108,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/send-data-before-handshake.c:112,1
    - Dst: assert
      Src: /src/gnutls/tests/send-data-before-handshake.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/send-data-before-handshake.c:114,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/send-data-before-handshake.c:116,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/send-data-before-handshake.c:119,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/send-data-before-handshake.c:121,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/send-data-before-handshake.c:126,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/send-data-before-handshake.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/send-data-before-handshake.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/send-data-before-handshake.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:136,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:139,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:143,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/send-data-before-handshake.c:144,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/send-data-before-handshake.c:145,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/send-data-before-handshake.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/send-data-before-handshake.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/send-data-before-handshake.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:159,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/send-data-before-handshake.c:162,1
    - Dst: close
      Src: /src/gnutls/tests/send-data-before-handshake.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/send-data-before-handshake.c:168,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/send-data-before-handshake.c:170,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/send-data-before-handshake.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 173
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 173
    functionName: client
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 68
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/send-data-before-handshake.c:187,1
    - Dst: memset
      Src: /src/gnutls/tests/send-data-before-handshake.c:188,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/send-data-before-handshake.c:191,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/send-data-before-handshake.c:192,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/send-data-before-handshake.c:195,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/send-data-before-handshake.c:196,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/send-data-before-handshake.c:199,1
    - Dst: assert
      Src: /src/gnutls/tests/send-data-before-handshake.c:201,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/send-data-before-handshake.c:201,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/send-data-before-handshake.c:203,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/send-data-before-handshake.c:205,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/send-data-before-handshake.c:208,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/send-data-before-handshake.c:209,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:220,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/send-data-before-handshake.c:221,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/send-data-before-handshake.c:222,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/send-data-before-handshake.c:226,1
    - Dst: close
      Src: /src/gnutls/tests/send-data-before-handshake.c:229,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/send-data-before-handshake.c:230,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/send-data-before-handshake.c:232,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/send-data-before-handshake.c:234,1
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 238
    functionName: server
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 80
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/send-data-before-handshake.c:250,1
    - Dst: signal
      Src: /src/gnutls/tests/send-data-before-handshake.c:252,1
    - Dst: signal
      Src: /src/gnutls/tests/send-data-before-handshake.c:253,1
    - Dst: socketpair
      Src: /src/gnutls/tests/send-data-before-handshake.c:255,1
    - Dst: perror
      Src: /src/gnutls/tests/send-data-before-handshake.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:258,1
    - Dst: fork
      Src: /src/gnutls/tests/send-data-before-handshake.c:261,1
    - Dst: perror
      Src: /src/gnutls/tests/send-data-before-handshake.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/send-data-before-handshake.c:264,1
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:265,1
    - Dst: close
      Src: /src/gnutls/tests/send-data-before-handshake.c:270,1
    - Dst: client
      Src: /src/gnutls/tests/send-data-before-handshake.c:271,1
    - Dst: waitpid
      Src: /src/gnutls/tests/send-data-before-handshake.c:272,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/send-data-before-handshake.c:273,1
    - Dst: close
      Src: /src/gnutls/tests/send-data-before-handshake.c:275,1
    - Dst: server
      Src: /src/gnutls/tests/send-data-before-handshake.c:276,1
    - Dst: exit
      Src: /src/gnutls/tests/send-data-before-handshake.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 279
    functionName: start
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 113
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/send-data-before-handshake.c:283,1
    - Dst: start
      Src: /src/gnutls/tests/send-data-before-handshake.c:284,1
    - Dst: start
      Src: /src/gnutls/tests/send-data-before-handshake.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: doit
    functionSourceFile: /src/gnutls/tests/send-data-before-handshake.c
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/tests/utils.c:93,1
    - Dst: vasprintf
      Src: /src/gnutls/tests/utils.c:96,1
    - Dst: fputs
      Src: /src/gnutls/tests/utils.c:99,1
    - Dst: vsnprintf
      Src: /src/gnutls/tests/utils.c:104,1
    - Dst: fputs
      Src: /src/gnutls/tests/utils.c:105,1
    - Dst: va_end
      Src: /src/gnutls/tests/utils.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/utils.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: _fail
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 3
    functionsReached:
    - exit
    - fputs
    - va_start
    - va_end
    - vasprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void _fail(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/tests/utils.c:118,1
    - Dst: vsnprintf
      Src: /src/gnutls/tests/utils.c:119,1
    - Dst: va_end
      Src: /src/gnutls/tests/utils.c:120,1
    - Dst: fputs
      Src: /src/gnutls/tests/utils.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/utils.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: fail_ignore
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 0
    functionsReached:
    - exit
    - fputs
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void fail_ignore(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/gnutls/tests/utils.c:135,1
    - Dst: abort
      Src: /src/gnutls/tests/utils.c:138,1
    - Dst: sleep
      Src: /src/gnutls/tests/utils.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sec
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: sec_sleep
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 8
    functionsReached:
    - abort
    - sleep
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void sec_sleep(int sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/tests/utils.c:151,1
    - Dst: vsnprintf
      Src: /src/gnutls/tests/utils.c:152,1
    - Dst: va_end
      Src: /src/gnutls/tests/utils.c:153,1
    - Dst: fputs
      Src: /src/gnutls/tests/utils.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: success
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 250
    functionsReached:
    - fputs
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void success(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:161,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:167,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:169,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:171,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:173,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: escapeprint
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void escapeprint(const char *str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:180,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:182,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:184,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: c_print
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void c_print(const unsigned char *str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:194,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:196,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:198,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:200,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - _str
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 203
    functionName: hexprint
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void hexprint(const void *_str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:210,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:212,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:221,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:223,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - _str
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: binprint
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void binprint(const void *_str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:231,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:232,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:234,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:235,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:237,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:238,1
    - Dst: strcmp
      Src: /src/gnutls/tests/utils.c:239,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:240,1
    - Dst: doit
      Src: /src/gnutls/tests/utils.c:246,1
    - Dst: printf
      Src: /src/gnutls/tests/utils.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 4
    functionsReached:
    - printf
    - doit
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/utils.c:269,1
    - Dst: assert
      Src: /src/gnutls/tests/utils.c:271,1
    - Dst: snprintf
      Src: /src/gnutls/tests/utils.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: append
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 22
    functionsReached:
    - assert
    - snprintf
    - calloc
    linkageType: ''
    returnType: void
    signature: void append(const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/utils.c:285,1
    - Dst: getenv
      Src: /src/gnutls/tests/utils.c:289,1
    - Dst: snprintf
      Src: /src/gnutls/tests/utils.c:298,1
    - Dst: append
      Src: /src/gnutls/tests/utils.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 305
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 305
    functionName: get_tmpname
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 5
    functionsReached:
    - append
    - snprintf
    - getenv
    - gnutls_rnd
    linkageType: ''
    returnType: char
    signature: char *get_tmpname(char s[TMPNAME_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: track_temp_files
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void track_temp_files(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/tests/utils.c:321,1
    - Dst: free
      Src: /src/gnutls/tests/utils.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: delete_temp_files
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 2
    functionsReached:
    - remove
    - free
    linkageType: ''
    returnType: void
    signature: void delete_temp_files(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/utils.c:333,1
    - Dst: socket
      Src: /src/gnutls/tests/utils.c:334,1
    - Dst: htons
      Src: /src/gnutls/tests/utils.c:339,1
    - Dst: inet_pton
      Src: /src/gnutls/tests/utils.c:340,1
    - Dst: close
      Src: /src/gnutls/tests/utils.c:341,1
    - Dst: connect
      Src: /src/gnutls/tests/utils.c:344,1
    - Dst: close
      Src: /src/gnutls/tests/utils.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: tcp_connect
    functionSourceFile: /src/gnutls/tests/utils.c
    functionUses: 1
    functionsReached:
    - socket
    - inet_pton
    - connect
    - close
    - memset
    - htons
    linkageType: ''
    returnType: int
    signature: int tcp_connect(const char *addr, unsigned port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-cipher-neg.c:220,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-cipher-neg.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-cipher-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-pthread.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-pthread.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:83,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-pthread.c:84,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-pthread.c:85,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-pthread.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:93,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:93,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dtls-pthread.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:96,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:101,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-pthread.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:109,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dtls-pthread.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:118,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/dtls-pthread.c:121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 122
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 122
    functionName: recv_thread
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_protocol_get_version
    - memcmp
    - pthread_exit
    - gnutls_record_recv
    - fail
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: void
    signature: void *recv_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sec_sleep
      Src: /src/gnutls/tests/dtls-pthread.c:131,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/dtls-pthread.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:135,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-pthread.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:143,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-pthread.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:151,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:156,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/dtls-pthread.c:156,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:157,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-pthread.c:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 162
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 162
    functionName: do_thread_stuff
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - success
    - sec_sleep
    - assert
    - pthread_join
    - gnutls_bye
    - gnutls_record_send
    - pthread_create
    - fail
    linkageType: ''
    returnType: void
    signature: void do_thread_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-pthread.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:175,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:184,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-pthread.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:191,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:194,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-pthread.c:198,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 200
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 200
    functionName: do_reflect_stuff
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 4
    functionsReached:
    - success
    - gnutls_strerror
    - gnutls_bye
    - gnutls_record_send
    - gnutls_record_recv
    - fail
    linkageType: ''
    returnType: void
    signature: void do_reflect_stuff(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-pthread.c:210,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-pthread.c:214,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-pthread.c:215,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:218,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-pthread.c:218,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:223,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-pthread.c:223,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-pthread.c:224,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/dtls-pthread.c:225,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/dtls-pthread.c:225,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-pthread.c:226,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:228,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-pthread.c:228,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:230,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-pthread.c:230,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-pthread.c:233,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-pthread.c:236,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-pthread.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:240,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:240,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:243,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/dtls-pthread.c:247,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/dtls-pthread.c:249,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-pthread.c:251,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-pthread.c:253,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-pthread.c:255,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-pthread.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - fd
    - prio
    - do_thread
    - false_start
    argTypes:
    - int
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 258
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 258
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 69
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - do_thread_stuff
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - do_reflect_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *prio, unsigned do_thread,\n\t\t   unsigned
      false_start)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-pthread.c:266,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-pthread.c:271,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-pthread.c:272,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:276,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-pthread.c:276,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:277,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-pthread.c:277,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:281,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-pthread.c:281,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/dtls-pthread.c:282,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/dtls-pthread.c:282,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dtls-pthread.c:283,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-pthread.c:284,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-pthread.c:286,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-pthread.c:286,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-pthread.c:288,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-pthread.c:290,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-pthread.c:293,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-pthread.c:294,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-pthread.c:296,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-pthread.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:298,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-pthread.c:299,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:302,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:305,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-pthread.c:306,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-pthread.c:307,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/dtls-pthread.c:310,1
    - Dst: do_reflect_stuff
      Src: /src/gnutls/tests/dtls-pthread.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-pthread.c:314,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-pthread.c:315,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-pthread.c:317,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-pthread.c:319,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - fd
    - prio
    - do_thread
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 323
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 323
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 81
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - do_thread_stuff
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - do_reflect_stuff
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned do_thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-pthread.c:332,1
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-pthread.c:334,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-pthread.c:336,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-pthread.c:337,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-pthread.c:340,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-pthread.c:342,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-pthread.c:343,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-pthread.c:344,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-pthread.c:351,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-pthread.c:352,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-pthread.c:353,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-pthread.c:354,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-pthread.c:356,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-pthread.c:357,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-pthread.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - str
    - prio
    - do_thread
    - false_start
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 360
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 360
    functionName: run
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 17
    functionsReached:
    - exit
    - success
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void run(const char *str, const char *prio, unsigned do_thread,\n\t\tunsigned
      false_start)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/dtls-pthread.c:364,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:365,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:366,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:367,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:368,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:369,1
    - Dst: run
      Src: /src/gnutls/tests/dtls-pthread.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-pthread.c
    functionUses: 1
    functionsReached:
    - signal
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/urls.c:40,1
    - Dst: assert
      Src: /src/gnutls/tests/urls.c:43,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/tests/urls.c:43,1
    - Dst: assert
      Src: /src/gnutls/tests/urls.c:47,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/tests/urls.c:47,1
    - Dst: assert
      Src: /src/gnutls/tests/urls.c:50,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/tests/urls.c:50,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/urls.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: doit
    functionSourceFile: /src/gnutls/tests/urls.c
    functionUses: 1
    functionsReached:
    - global_init
    - assert
    - gnutls_url_is_supported
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_simple.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs12_simple.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs12_simple.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:53,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs12_simple.c:55,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs12_simple.c:57,1
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/tests/pkcs12_simple.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:61,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:61,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs12_simple.c:63,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs12_simple.c:69,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/pkcs12_simple.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:74,1
    - Dst: gnutls_pkcs12_import
      Src: /src/gnutls/tests/pkcs12_simple.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:79,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs12_simple.c:82,1
    - Dst: gnutls_pkcs12_simple_parse
      Src: /src/gnutls/tests/pkcs12_simple.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:95,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/gnutls/tests/pkcs12_simple.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:104,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:105,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs12_simple.c:107,1
    - Dst: gnutls_x509_crt_get_issuer_dn
      Src: /src/gnutls/tests/pkcs12_simple.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs12_simple.c:115,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:118,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:119,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs12_simple.c:123,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:126,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs12_simple.c:127,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs12_simple.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:133,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/pkcs12_simple.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_simple.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs12_simple.c:139,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:140,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs12_simple.c:142,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs12_simple.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs12_simple.c:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 148
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs12_simple.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_privkey_import2
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_x509_crt_get_issuer_dn
    - gnutls_x509_crt_get_dn
    - free
    - gnutls_x509_privkey_init
    - gnutls_load_file
    - success
    - gnutls_x509_crt_deinit
    - gnutls_pkcs12_simple_parse
    - exit
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fail
    - gnutls_pkcs12_import
    - global_init
    - gnutls_pkcs12_deinit
    - getenv
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rsa-psk.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rsa-psk.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-psk.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rsa-psk.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rsa-psk.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rsa-psk.c:83,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/rsa-psk.c:85,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/rsa-psk.c:86,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rsa-psk.c:91,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rsa-psk.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk.c:101,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/rsa-psk.c:103,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/rsa-psk.c:103,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rsa-psk.c:104,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rsa-psk.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:111,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/rsa-psk.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk.c:116,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/rsa-psk.c:119,1
    - Dst: strlen
      Src: /src/gnutls/tests/rsa-psk.c:119,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/rsa-psk.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-psk.c:127,1
    - Dst: printf
      Src: /src/gnutls/tests/rsa-psk.c:132,1
    - Dst: fputc
      Src: /src/gnutls/tests/rsa-psk.c:134,1
    - Dst: fputs
      Src: /src/gnutls/tests/rsa-psk.c:136,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rsa-psk.c:139,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk.c:143,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk.c:145,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/rsa-psk.c:147,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rsa-psk.c:148,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-psk.c:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 151
    functionName: client
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 70
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/rsa-psk.c:162,1
    - Dst: strcmp
      Src: /src/gnutls/tests/rsa-psk.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:165,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rsa-psk.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: psk_server_func
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    - strcmp
    - printf
    - fail
    linkageType: ''
    returnType: int
    signature: "int psk_server_func(gnutls_session_t session, const char *username,\n\t\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-psk.c:191,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rsa-psk.c:192,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rsa-psk.c:194,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/rsa-psk.c:198,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/rsa-psk.c:199,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/tests/rsa-psk.c:201,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rsa-psk.c:202,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rsa-psk.c:203,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rsa-psk.c:206,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rsa-psk.c:211,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk.c:216,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/rsa-psk.c:218,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/rsa-psk.c:218,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rsa-psk.c:219,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rsa-psk.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk.c:222,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk.c:223,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:224,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-psk.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk.c:229,1
    - Dst: memset
      Src: /src/gnutls/tests/rsa-psk.c:235,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/rsa-psk.c:236,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:243,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/rsa-psk.c:249,1
    - Dst: strlen
      Src: /src/gnutls/tests/rsa-psk.c:249,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rsa-psk.c:254,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk.c:256,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk.c:257,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/rsa-psk.c:259,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rsa-psk.c:260,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-psk.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk.c:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 266
    functionName: server
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 82
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_psk_set_server_credentials_hint
    - gnutls_handshake
    - global_init
    - gnutls_psk_set_server_credentials_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/rsa-psk.c:273,1
    - Dst: perror
      Src: /src/gnutls/tests/rsa-psk.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:276,1
    - Dst: fork
      Src: /src/gnutls/tests/rsa-psk.c:280,1
    - Dst: perror
      Src: /src/gnutls/tests/rsa-psk.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk.c:283,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk.c:290,1
    - Dst: server
      Src: /src/gnutls/tests/rsa-psk.c:291,1
    - Dst: wait
      Src: /src/gnutls/tests/rsa-psk.c:292,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/rsa-psk.c:293,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk.c:295,1
    - Dst: client
      Src: /src/gnutls/tests/rsa-psk.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-psk.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rsa-psk.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_key.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:77,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key.c:77,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:84,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:90,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key.c:98,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_key.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key.c:110,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_key.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - xcred
    - skey
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 123
    functionName: import_key
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 7
    functionsReached:
    - assert
    - gnutls_strerror
    - exit
    - gnutls_certificate_get_crt_raw
    - gnutls_certificate_set_key
    - gnutls_pcert_list_import_x509_raw
    - memcmp
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: unsigned
    signature: "unsigned import_key(gnutls_certificate_credentials_t xcred,\n\t\t\t
      \  const gnutls_datum_t *skey,\n\t\t\t   const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_key.c:134,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_key.c:136,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_key.c:138,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_key.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:142,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key.c:142,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:143,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key.c:143,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_key.c:145,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_key.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:150,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_key.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:153,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key.c:155,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_key.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:161,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key.c:164,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key.c:165,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_key.c:167,1
    - Dst: success
      Src: /src/gnutls/tests/set_key.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 171
    functionName: basic
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_flags
    - assert
    - gnutls_strerror
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_global_set_time_function
    - import_key
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void basic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_key.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_key.c:187,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_key.c:189,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:191,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key.c:191,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:192,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key.c:192,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:200,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:206,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:206,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key.c:209,1
    - Dst: success
      Src: /src/gnutls/tests/set_key.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:217,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/set_key.c:221,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/set_key.c:223,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key.c:224,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_key.c:226,1
    - Dst: success
      Src: /src/gnutls/tests/set_key.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 230
    functionName: failure_mode
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_strerror
    - success
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_pcert_list_import_x509_raw
    - global_init
    - gnutls_pcert_deinit
    - gnutls_certificate_free_credentials
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void failure_mode(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_key.c:244,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_key.c:246,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_key.c:248,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_key.c:250,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:252,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key.c:252,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:253,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:255,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key.c:255,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_key.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:260,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:267,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:268,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:274,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:274,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key.c:277,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key.c:282,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key.c:286,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key.c:286,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:293,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:294,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:300,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:300,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key.c:303,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key.c:306,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key.c:307,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key.c:308,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key.c:311,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key.c:313,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key.c:315,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key.c:318,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key.c:319,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_key.c:321,1
    - Dst: success
      Src: /src/gnutls/tests/set_key.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 325
    functionName: auto_parse
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_strerror
    - exit
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_pcert_list_import_x509_raw
    - global_init
    - gnutls_global_set_time_function
    - gnutls_certificate_free_credentials
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void auto_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic
      Src: /src/gnutls/tests/set_key.c:329,1
    - Dst: failure_mode
      Src: /src/gnutls/tests/set_key.c:330,1
    - Dst: auto_parse
      Src: /src/gnutls/tests/set_key.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_key.c
    functionUses: 1
    functionsReached:
    - basic
    - failure_mode
    - auto_parse
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:41,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:41,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:42,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:42,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:45,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:46,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/tests/system-override-sig.c:46,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:48,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:48,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:49,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/tests/system-override-sig.c:49,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:51,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:51,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:52,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/tests/system-override-sig.c:52,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig.c:54,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-sig.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: doit
    functionSourceFile: /src/gnutls/tests/system-override-sig.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_sign_is_secure2
    - gnutls_sign_is_secure
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs12_s2k.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs12_s2k.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs12_s2k.c:107,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs12_s2k.c:109,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs12_s2k.c:111,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/tests/pkcs12_s2k.c:116,1
    - Dst: mac_to_entry
      Src: /src/gnutls/tests/pkcs12_s2k.c:117,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs12_s2k.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_s2k.c:121,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs12_s2k.c:124,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/tests/pkcs12_s2k.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_s2k.c:127,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs12_s2k.c:130,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/tests/pkcs12_s2k.c:131,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs12_s2k.c:137,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/tests/pkcs12_s2k.c:140,1
    - Dst: mac_to_entry
      Src: /src/gnutls/tests/pkcs12_s2k.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_s2k.c:145,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs12_s2k.c:148,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/tests/pkcs12_s2k.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs12_s2k.c:151,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs12_s2k.c:154,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/tests/pkcs12_s2k.c:155,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs12_s2k.c:159,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs12_s2k.c:161,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs12_s2k.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 165
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs12_s2k.c
    functionUses: 1
    functionsReached:
    - _gnutls_pkcs12_string_to_key
    - success
    - strlen
    - gnutls_global_deinit
    - mac_to_entry
    - memcmp
    - global_init
    - strcmp
    - printf
    - _gnutls_bin2hex
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:41,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:41,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:42,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:42,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:45,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:46,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:46,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:47,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:47,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:48,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:48,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:49,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:49,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:50,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:50,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-hash.c:51,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/tests/system-override-hash.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: doit
    functionSourceFile: /src/gnutls/tests/system-override-hash.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_sign_is_secure
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-server-kx-neg.c:323,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-server-kx-neg.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-server-kx-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_der.c:38,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key_file_der.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_der.c:44,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_file_der.c:48,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:49,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_der.c:50,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_file_der.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_der.c
    functionUses: 17
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_der.c:58,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key_file_der.c:63,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:65,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_der.c:65,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_der.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_der.c:72,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_der.c:72,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_der.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_file_der.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - file
    - header
    - ipem
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: write_der
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_der.c
    functionUses: 0
    functionsReached:
    - fopen
    - gnutls_strerror
    - assert
    - fclose
    - strlen
    - fwrite
    - gnutls_free
    - gnutls_pem_base64_decode2
    - fail
    linkageType: ''
    returnType: void
    signature: void write_der(const char *file, const char *header, const char *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file_der.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_der.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_der.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_der.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_der.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_der.c:92,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file_der.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_der.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_der.c:99,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_der.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_der.c:100,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_der.c:100,1
    - Dst: write_der
      Src: /src/gnutls/tests/set_x509_key_file_der.c:102,1
    - Dst: write_der
      Src: /src/gnutls/tests/set_x509_key_file_der.c:103,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_der.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_der.c:108,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_file_der.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_der.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_der.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_der.c:114,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_file_der.c:117,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_der.c:119,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_der.c:120,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_der.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_der.c:125,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_der.c:126,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file_der.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 128
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_der.c
    functionUses: 1
    functionsReached:
    - write_der
    - remove
    - exit
    - assert
    - gnutls_strerror
    - test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_get_crt_raw
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_free_credentials
    - global_init
    - compare
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - get_tmpname
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:90,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:93,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:97,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:98,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:102,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:103,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:108,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:109,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:112,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:117,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:121,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:130,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:131,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:132,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:136,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:136,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:139,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:141,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:143,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:149,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:153,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:164,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:166,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:172,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:177,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:177,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:179,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:183,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:185,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:187,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:188,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 3
    argNames:
    - fd
    - server_init
    - prio
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 191
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 191
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 71
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - snprintf
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - sec_sleep
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int server_init, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:199,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:200,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 29
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:214,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:217,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:218,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:221,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:221,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:222,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:222,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:223,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:223,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:227,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:228,1
    - Dst: snprintf
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:233,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:234,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:234,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:236,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:237,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:239,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:240,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:243,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:244,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:246,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:248,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:249,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:253,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:256,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:257,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:258,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:269,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:272,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:272,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:273,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:277,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:279,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:280,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:283,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:284,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:285,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:290,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:293,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:298,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:303,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:305,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:307,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:312,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:313,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:314,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:319,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:320,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:326,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:327,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:332,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:334,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:335,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:337,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:338,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:340,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:343,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 3
    argNames:
    - fd
    - server_init
    - prio
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 344
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 83
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - snprintf
    - gnutls_rehandshake
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int server_init, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:351,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:353,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:354,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:357,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:359,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:360,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:361,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:368,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:369,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:370,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:372,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:373,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - server_initiated
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 117
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int server_initiated, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:380,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-cert-2.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-cert-2.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/cipher-neg-common.c:40,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-neg-common.c:41,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-neg-common.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:47,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cipher-neg-common.c:47,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:48,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cipher-neg-common.c:48,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:50,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cipher-neg-common.c:50,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:51,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cipher-neg-common.c:51,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cipher-neg-common.c:53,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/cipher-neg-common.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:57,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cipher-neg-common.c:57,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:60,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cipher-neg-common.c:60,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:63,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cipher-neg-common.c:63,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cipher-neg-common.c:67,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/cipher-neg-common.c:69,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/cipher-neg-common.c:70,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/cipher-neg-common.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:72,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cipher-neg-common.c:72,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/cipher-neg-common.c:74,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/cipher-neg-common.c:75,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/cipher-neg-common.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-neg-common.c:77,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cipher-neg-common.c:77,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/cipher-neg-common.c:79,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/cipher-neg-common.c:81,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/cipher-neg-common.c:82,1
    - Dst: strcmp
      Src: /src/gnutls/tests/cipher-neg-common.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:89,1
    - Dst: strcmp
      Src: /src/gnutls/tests/cipher-neg-common.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:93,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cipher-neg-common.c:95,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cipher-neg-common.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:100,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:101,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:106,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:107,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:108,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/cipher-neg-common.c:112,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/cipher-neg-common.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:116,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:117,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-neg-common.c:122,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:123,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/cipher-neg-common.c:124,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cipher-neg-common.c:128,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cipher-neg-common.c:129,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cipher-neg-common.c:130,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cipher-neg-common.c:131,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/cipher-neg-common.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_case_st*
    constantsTouched: []
    func_position:
      end: 134
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 134
    functionName: try
    functionSourceFile: /src/gnutls/tests/cipher-neg-common.c
    functionUses: 28
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - strcmp
    - gnutls_transport_set_ptr
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_group_get
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_priority_set_direct
    - gnutls_group_get_name
    - HANDSHAKE
    - gnutls_cipher_get
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - fail
    linkageType: ''
    returnType: void
    signature: void try(test_case_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-alpn.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-alpn.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-alpn.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-alpn.c:82,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-alpn.c:83,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-alpn.c:86,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-alpn.c:90,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-alpn.c:93,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:100,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:102,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:104,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/mini-alpn.c:106,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-alpn.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:109,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-alpn.c:115,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-alpn.c:117,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-alpn.c:122,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-alpn.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-alpn.c:126,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-alpn.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:135,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-alpn.c:136,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-alpn.c:137,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/mini-alpn.c:139,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-alpn.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-alpn.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-alpn.c:150,1
    - Dst: close
      Src: /src/gnutls/tests/mini-alpn.c:152,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-alpn.c:154,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-alpn.c:156,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-alpn.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - fd
    - protocol0
    - protocol2
    - protocol1
    argTypes:
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 159
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 72
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_alpn_get_selected_protocol
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_alpn_set_protocols
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *protocol0, const char *protocol2,\n\t\t
      \  const char *protocol1)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-alpn.c:164,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-alpn.c:165,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-alpn.c:166,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 30
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-alpn.c:180,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-alpn.c:183,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-alpn.c:184,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-alpn.c:187,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-alpn.c:189,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-alpn.c:194,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:200,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:202,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/mini-alpn.c:204,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-alpn.c:206,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:207,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-alpn.c:210,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-alpn.c:212,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-alpn.c:215,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-alpn.c:216,1
    - Dst: close
      Src: /src/gnutls/tests/mini-alpn.c:218,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-alpn.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-alpn.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-alpn.c:221,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-alpn.c:222,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:228,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-alpn.c:229,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-alpn.c:230,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/mini-alpn.c:232,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-alpn.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:239,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-alpn.c:242,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-alpn.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-alpn.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:246,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-alpn.c:251,1
    - Dst: close
      Src: /src/gnutls/tests/mini-alpn.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-alpn.c:254,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-alpn.c:256,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-alpn.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/mini-alpn.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - fd
    - protocol1
    - protocol2
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 262
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 84
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_perror
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - memcmp
    - gnutls_init
    - gnutls_alpn_set_protocols
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *protocol1, const char *protocol2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-alpn.c:269,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-alpn.c:271,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-alpn.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:274,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-alpn.c:277,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-alpn.c:279,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-alpn.c:280,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:281,1
    - Dst: server
      Src: /src/gnutls/tests/mini-alpn.c:288,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-alpn.c:289,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-alpn.c:290,1
    - Dst: close
      Src: /src/gnutls/tests/mini-alpn.c:292,1
    - Dst: client
      Src: /src/gnutls/tests/mini-alpn.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-alpn.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 118
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *p1, const char *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-alpn.c:300,1
    - Dst: start
      Src: /src/gnutls/tests/mini-alpn.c:301,1
    - Dst: start
      Src: /src/gnutls/tests/mini-alpn.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-alpn.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_list_import2
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:48,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:52,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:53,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:57,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:58,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - name
    - txt
    - nocsps
    - format
    - flags
    - exp_err
    argTypes:
    - char*
    - gnutls_datum_t*
    - unsigned int
    - int
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: load_list
    functionSourceFile: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_resp_list_import2
    - testfail
    linkageType: ''
    returnType: void
    signature: "void load_list(const char *name, const gnutls_datum_t *txt,\n\t\t
      \     unsigned int nocsps, int format, unsigned flags,\n\t\t      int exp_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:246,1
    - Dst: load_list
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:248,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_ocsp_resp_list_import2.c
    functionUses: 1
    functionsReached:
    - load_list
    - success
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rsa-psk-cb.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rsa-psk-cb.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rsa-psk-cb.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk-cb.c:67,1
    - Dst: strcpy
      Src: /src/gnutls/tests/rsa-psk-cb.c:68,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rsa-psk-cb.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk-cb.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char**
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: psk_cli_func
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int psk_cli_func(gnutls_session_t session, char **username,\n\t\t\tgnutls_datum_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-psk-cb.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rsa-psk-cb.c:94,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rsa-psk-cb.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:100,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:102,1
    - Dst: gnutls_psk_set_client_credentials_function
      Src: /src/gnutls/tests/rsa-psk-cb.c:103,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rsa-psk-cb.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk-cb.c:110,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rsa-psk-cb.c:110,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk-cb.c:117,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk-cb.c:118,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/rsa-psk-cb.c:120,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/rsa-psk-cb.c:120,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rsa-psk-cb.c:121,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rsa-psk-cb.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:128,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/rsa-psk-cb.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk-cb.c:133,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/rsa-psk-cb.c:136,1
    - Dst: strlen
      Src: /src/gnutls/tests/rsa-psk-cb.c:136,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/rsa-psk-cb.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk-cb.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-psk-cb.c:144,1
    - Dst: printf
      Src: /src/gnutls/tests/rsa-psk-cb.c:149,1
    - Dst: fputc
      Src: /src/gnutls/tests/rsa-psk-cb.c:151,1
    - Dst: fputs
      Src: /src/gnutls/tests/rsa-psk-cb.c:153,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rsa-psk-cb.c:156,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk-cb.c:160,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk-cb.c:162,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:164,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:165,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-psk-cb.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 168
    functionName: client
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 73
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_psk_set_client_credentials_function
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/rsa-psk-cb.c:179,1
    - Dst: strcmp
      Src: /src/gnutls/tests/rsa-psk-cb.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:182,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rsa-psk-cb.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk-cb.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: psk_server_func
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    - strcmp
    - printf
    - fail
    linkageType: ''
    returnType: int
    signature: "int psk_server_func(gnutls_session_t session, const char *username,\n\t\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rsa-psk-cb.c:208,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rsa-psk-cb.c:209,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rsa-psk-cb.c:211,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:215,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/rsa-psk-cb.c:216,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/tests/rsa-psk-cb.c:218,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:219,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rsa-psk-cb.c:220,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rsa-psk-cb.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/rsa-psk-cb.c:228,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rsa-psk-cb.c:228,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk-cb.c:233,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rsa-psk-cb.c:234,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/rsa-psk-cb.c:236,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/rsa-psk-cb.c:236,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/rsa-psk-cb.c:237,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/rsa-psk-cb.c:238,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk-cb.c:240,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk-cb.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:242,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rsa-psk-cb.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk-cb.c:247,1
    - Dst: memset
      Src: /src/gnutls/tests/rsa-psk-cb.c:253,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/rsa-psk-cb.c:254,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk-cb.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:261,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/rsa-psk-cb.c:267,1
    - Dst: strlen
      Src: /src/gnutls/tests/rsa-psk-cb.c:267,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/rsa-psk-cb.c:272,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk-cb.c:274,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rsa-psk-cb.c:275,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:277,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rsa-psk-cb.c:278,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rsa-psk-cb.c:280,1
    - Dst: success
      Src: /src/gnutls/tests/rsa-psk-cb.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 284
    functionName: server
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 85
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_psk_set_server_credentials_hint
    - gnutls_handshake
    - global_init
    - gnutls_psk_set_server_credentials_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/rsa-psk-cb.c:291,1
    - Dst: perror
      Src: /src/gnutls/tests/rsa-psk-cb.c:293,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:294,1
    - Dst: fork
      Src: /src/gnutls/tests/rsa-psk-cb.c:298,1
    - Dst: perror
      Src: /src/gnutls/tests/rsa-psk-cb.c:300,1
    - Dst: fail
      Src: /src/gnutls/tests/rsa-psk-cb.c:301,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk-cb.c:308,1
    - Dst: server
      Src: /src/gnutls/tests/rsa-psk-cb.c:309,1
    - Dst: wait
      Src: /src/gnutls/tests/rsa-psk-cb.c:310,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/rsa-psk-cb.c:311,1
    - Dst: close
      Src: /src/gnutls/tests/rsa-psk-cb.c:313,1
    - Dst: client
      Src: /src/gnutls/tests/rsa-psk-cb.c:314,1
    - Dst: exit
      Src: /src/gnutls/tests/rsa-psk-cb.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rsa-psk-cb.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ssl30-server-kx-neg.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ssl30-server-kx-neg.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/ssl30-server-kx-neg.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ssl30-server-kx-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - exit
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-legacy.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:58,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:68,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:69,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:74,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:75,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:81,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - st
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_retr2_st*
    constantsTouched: []
    func_position:
      end: 92
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 92
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-legacy.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_certificate_client_get_request_status
    - gnutls_x509_crt_list_import2
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - fail
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *pk_algos,\n\t\t\t
      int pk_algos_length, gnutls_retr2_st *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:111,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:117,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:123,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - st
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_retr2_st*
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: server_cert_callback
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-legacy.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_list_import2
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - fail
    linkageType: ''
    returnType: int
    signature: "int server_cert_callback(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_datum_t *req_ca_rdn, int nreqs,\n\t\t\t\tconst gnutls_pk_algorithm_t
      *pk_algos,\n\t\t\t\tint pk_algos_length, gnutls_retr2_st *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:148,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:151,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:152,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:154,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:157,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:159,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:162,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:164,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:164,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:165,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:166,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:167,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:168,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:174,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:179,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:181,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:185,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:187,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:190,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:192,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:192,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:193,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:194,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:195,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:197,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:200,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:201,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:213,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:216,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:223,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:229,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:230,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:232,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:237,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:239,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:251,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:254,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:258,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:259,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:260,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:265,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:267,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:269,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:274,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:276,1
    - Dst: memset
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:285,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:294,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:298,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:301,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:303,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:305,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:309,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:310,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:320,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:322,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:324,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:327,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:329,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:330,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:331,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:335,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:336,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:346,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:348,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:349,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:350,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:354,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:356,1
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:360,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:361,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:362,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:365,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:366,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:368,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:369,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:371,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:372,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:374,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:376,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 146
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 377
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 377
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-legacy.c
    functionUses: 119
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_set_retrieve_function
    - gnutls_certificate_free_credentials
    - gnutls_x509_crt_export2
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_x509_crt_import
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_client_get_request_status
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_certificate_get_ours
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_verify_peers
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:381,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:382,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:383,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback-legacy.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-cert-callback-legacy.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - retr
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_retr2_st*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: cert_cb1
    functionSourceFile: /src/gnutls/tests/null_retrieve_function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_cb1(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,\n\t\t
      \   int nreqs, const gnutls_pk_algorithm_t *pk_algos,\n\t\t    int pk_algos_length,
      gnutls_retr2_st *retr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - pk_algos
    - pk_algos_length
    - pcert
    - pcert_length
    - privkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: cert_cb2
    functionSourceFile: /src/gnutls/tests/null_retrieve_function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_cb2(gnutls_session_t session, const gnutls_datum_t *req_ca_rdn,\n\t\t
      \   int nreqs, const gnutls_pk_algorithm_t *pk_algos,\n\t\t    int pk_algos_length,
      gnutls_pcert_st **pcert,\n\t\t    unsigned int *pcert_length, gnutls_privkey_t
      *privkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - session
    - info
    - certs
    - pcert_length
    - ocsp
    - ocsp_length
    - privkey
    - flags
    argTypes:
    - gnutls_session_t
    - struct gnutls_cert_retr_st*
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_ocsp_data_st**
    - unsigned int*
    - gnutls_privkey_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: cert_cb3
    functionSourceFile: /src/gnutls/tests/null_retrieve_function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_cb3(gnutls_session_t session,\n\t\t    const struct gnutls_cert_retr_st
      *info,\n\t\t    gnutls_pcert_st **certs, unsigned int *pcert_length,\n\t\t    gnutls_ocsp_data_st
      **ocsp, unsigned int *ocsp_length,\n\t\t    gnutls_privkey_t *privkey, unsigned
      int *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/null_retrieve_function.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/null_retrieve_function.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/null_retrieve_function.c:75,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/null_retrieve_function.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/null_retrieve_function.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:81,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/null_retrieve_function.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/null_retrieve_function.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/null_retrieve_function.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:91,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/tests/null_retrieve_function.c:92,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/tests/null_retrieve_function.c:93,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/null_retrieve_function.c:94,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:97,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:99,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/null_retrieve_function.c:100,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/null_retrieve_function.c:101,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/null_retrieve_function.c:102,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:105,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:107,1
    - Dst: gnutls_certificate_set_retrieve_function3
      Src: /src/gnutls/tests/null_retrieve_function.c:108,1
    - Dst: gnutls_certificate_set_retrieve_function3
      Src: /src/gnutls/tests/null_retrieve_function.c:109,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/null_retrieve_function.c:110,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:113,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/null_retrieve_function.c:115,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/null_retrieve_function.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/null_retrieve_function.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 121
    functionName: doit
    functionSourceFile: /src/gnutls/tests/null_retrieve_function.c
    functionUses: 1
    functionsReached:
    - exit
    - success
    - _test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_set_retrieve_function2
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_retrieve_function3
    - gnutls_certificate_set_retrieve_function
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/dh-params.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - d1
    - d2
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: compare
    functionSourceFile: /src/gnutls/tests/dh-params.c
    functionUses: 18
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare(gnutls_datum_t *d1, gnutls_datum_t *d2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dh-params.c:72,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-params.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-params.c:73,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-params.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-params.c:74,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/dh-params.c:74,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/dh-params.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:79,1
    - Dst: gnutls_dh_params_import_dsa
      Src: /src/gnutls/tests/dh-params.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-params.c:85,1
    - Dst: gnutls_dh_params_cpy
      Src: /src/gnutls/tests/dh-params.c:85,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-params.c:86,1
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/tests/dh-params.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:90,1
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/tests/dh-params.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:98,1
    - Dst: compare
      Src: /src/gnutls/tests/dh-params.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:101,1
    - Dst: compare
      Src: /src/gnutls/tests/dh-params.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-params.c:104,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-params.c:106,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-params.c:107,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-params.c:108,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-params.c:109,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-params.c:110,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-params.c:112,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/dh-params.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/dh-params.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dh-params.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_dh_params_import_dsa
    - gnutls_free
    - success
    - gnutls_dh_params_init
    - gnutls_dh_params_deinit
    - gnutls_dh_params_export_raw
    - gnutls_dh_params_cpy
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - compare
    - gnutls_x509_privkey_deinit
    - fail
    - gnutls_x509_privkey_export_dsa_raw
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/x509-verify-with-crl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-verify-with-crl.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509-verify-with-crl.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:151,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509-verify-with-crl.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:157,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/x509-verify-with-crl.c:160,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509-verify-with-crl.c:161,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509-verify-with-crl.c:163,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-verify-with-crl.c:165,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-verify-with-crl.c:166,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-verify-with-crl.c:167,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/x509-verify-with-crl.c:168,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-verify-with-crl.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:173,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-verify-with-crl.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:179,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-verify-with-crl.c:182,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:185,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/tests/x509-verify-with-crl.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:192,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:193,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/tests/x509-verify-with-crl.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:200,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:201,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/x509-verify-with-crl.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:209,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/x509-verify-with-crl.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:217,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/x509-verify-with-crl.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-verify-with-crl.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-verify-with-crl.c:224,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:225,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:228,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:229,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:230,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:231,1
    - Dst: printf
      Src: /src/gnutls/tests/x509-verify-with-crl.c:234,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-verify-with-crl.c:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 239
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-verify-with-crl.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_log_level
    - gnutls_strerror
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - gnutls_x509_trust_list_add_trust_mem
    - gnutls_x509_trust_list_init
    - global_init
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_trust_list_verify_crt2
    - printf
    - fail
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/chainverify-unsorted.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/chainverify-unsorted.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/chainverify-unsorted.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/chainverify-unsorted.c:617,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/chainverify-unsorted.c:619,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/chainverify-unsorted.c:620,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/chainverify-unsorted.c:622,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/chainverify-unsorted.c:625,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/tests/chainverify-unsorted.c:627,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:630,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:631,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:637,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:640,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:641,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:642,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify-unsorted.c:645,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:648,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:649,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:653,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify-unsorted.c:654,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:662,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:666,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:667,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:668,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:671,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:674,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:675,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:676,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify-unsorted.c:679,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:682,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:683,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:687,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify-unsorted.c:688,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:693,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:696,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:697,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:698,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify-unsorted.c:701,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:704,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:705,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:709,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify-unsorted.c:710,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:715,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:718,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:719,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:720,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify-unsorted.c:723,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:726,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:727,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:731,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify-unsorted.c:732,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/chainverify-unsorted.c:737,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:740,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/chainverify-unsorted.c:741,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:742,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/chainverify-unsorted.c:745,1
    - Dst: fail
      Src: /src/gnutls/tests/chainverify-unsorted.c:748,1
    - Dst: exit
      Src: /src/gnutls/tests/chainverify-unsorted.c:749,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:753,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/chainverify-unsorted.c:754,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:756,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/chainverify-unsorted.c:758,1
    - Dst: success
      Src: /src/gnutls/tests/chainverify-unsorted.c:761,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 762
    functionName: doit
    functionSourceFile: /src/gnutls/tests/chainverify-unsorted.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_free
    - gnutls_global_deinit
    - success
    - gnutls_x509_trust_list_add_trust_mem
    - gnutls_x509_trust_list_init
    - global_init
    - gnutls_global_set_time_function
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_list_import2
    - gnutls_x509_trust_list_verify_crt
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-compute2.c:41,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:43,1
    - Dst: gnutls_dh_params_import_raw3
      Src: /src/gnutls/tests/dh-compute2.c:45,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - dh_params
    - p
    - q
    - g
    - expect_error
    argTypes:
    - gnutls_dh_params_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: params
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 57
    functionsReached:
    - gnutls_dh_params_init
    - fail
    - gnutls_dh_params_import_raw3
    linkageType: ''
    returnType: void
    signature: "void params(gnutls_dh_params_t *dh_params, const gnutls_datum_t *p,\n\t\t
      \  const gnutls_datum_t *q, const gnutls_datum_t *g,\n\t\t   int expect_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/tests/dh-compute2.c:60,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:61,1
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/tests/dh-compute2.c:62,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:63,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dh-compute2.c:66,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dh-compute2.c:68,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:71,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:72,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gnutls_dh_params_t
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 77
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 77
    functionName: dh_params_equal
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_export_raw
    - assert
    - gnutls_free
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool dh_params_equal(const gnutls_dh_params_t a,\n\t\t\t    const
      gnutls_dh_params_t b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/dh-compute2.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:90,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/dh-compute2.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:93,1
    - Dst: gnutls_privkey_generate2
      Src: /src/gnutls/tests/dh-compute2.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:99,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/dh-compute2.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:102,1
    - Dst: gnutls_privkey_export_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dh-compute2.c:108,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:110,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-compute2.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:114,1
    - Dst: gnutls_privkey_export_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dh-compute2.c:120,1
    - Dst: dh_params_equal
      Src: /src/gnutls/tests/dh-compute2.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:125,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-compute2.c:128,1
    - Dst: gnutls_pubkey_export_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dh-compute2.c:133,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:135,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dh-compute2.c:138,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:139,1
    - Dst: gnutls_pubkey_export_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dh-compute2.c:143,1
    - Dst: dh_params_equal
      Src: /src/gnutls/tests/dh-compute2.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:148,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-compute2.c:151,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/dh-compute2.c:152,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/dh-compute2.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 4
    argNames:
    - dh_params
    - priv_key
    - pub_key
    - expect_error
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 154
    functionName: genkey
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 2
    functionsReached:
    - gnutls_privkey_generate2
    - assert
    - gnutls_strerror
    - gnutls_free
    - gnutls_dh_params_init
    - gnutls_pubkey_export_dh_raw
    - gnutls_pubkey_import_privkey
    - gnutls_dh_params_deinit
    - gnutls_privkey_deinit
    - gnutls_privkey_export_dh_raw
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - dh_params_equal
    - fail
    linkageType: ''
    returnType: void
    signature: "void genkey(const gnutls_dh_params_t dh_params, gnutls_datum_t *priv_key,\n\t\t
      \  gnutls_datum_t *pub_key, int expect_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/dh-compute2.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:169,1
    - Dst: gnutls_privkey_import_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:172,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/dh-compute2.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:175,1
    - Dst: gnutls_pubkey_import_dh_raw
      Src: /src/gnutls/tests/dh-compute2.c:177,1
    - Dst: assert
      Src: /src/gnutls/tests/dh-compute2.c:178,1
    - Dst: gnutls_privkey_derive_secret
      Src: /src/gnutls/tests/dh-compute2.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dh-compute2.c:182,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dh-compute2.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:189,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:191,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/dh-compute2.c:192,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/dh-compute2.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - name
    - dh_params
    - priv_key
    - pub_key
    - peer_key
    - expect_error
    - result
    - expect_success
    argTypes:
    - char*
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    - gnutls_datum_t*
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: compute_key
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_privkey_derive_secret
    - gnutls_strerror
    - gnutls_free
    - memcmp
    - gnutls_pubkey_import_dh_raw
    - gnutls_privkey_import_dh_raw
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void compute_key(const char *name, const gnutls_dh_params_t dh_params,\n\t\t\tconst
      gnutls_datum_t *priv_key,\n\t\t\tconst gnutls_datum_t *pub_key,\n\t\t\tconst
      gnutls_datum_t *peer_key, int expect_error,\n\t\t\tgnutls_datum_t *result, bool
      expect_success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dh-compute2.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expected
    argTypes:
    - struct dh_test_data_expected*
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: get_expected
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 0
    functionsReached:
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: int
    signature: int get_expected(struct dh_test_data_expected *expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dh-compute2.c:250,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/dh-compute2.c:251,1
    - Dst: fail
      Src: /src/gnutls/tests/dh-compute2.c:253,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute2.c:257,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute2.c:259,1
    - Dst: params
      Src: /src/gnutls/tests/dh-compute2.c:260,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:262,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute2.c:263,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute2.c:270,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute2.c:272,1
    - Dst: genkey
      Src: /src/gnutls/tests/dh-compute2.c:273,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:274,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute2.c:275,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:278,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute2.c:282,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/dh-compute2.c:284,1
    - Dst: compute_key
      Src: /src/gnutls/tests/dh-compute2.c:285,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:287,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/dh-compute2.c:289,1
    - Dst: get_expected
      Src: /src/gnutls/tests/dh-compute2.c:292,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dh-compute2.c:297,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:298,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dh-compute2.c:299,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/dh-compute2.c:301,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/dh-compute2.c:302,1
    - Dst: success
      Src: /src/gnutls/tests/dh-compute2.c:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 307
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dh-compute2.c
    functionUses: 1
    functionsReached:
    - fips_pop_context
    - compute_key
    - success
    - gnutls_free
    - fips_push_context
    - gnutls_fips140_context_init
    - params
    - gnutls_fips140_mode_enabled
    - gnutls_dh_params_deinit
    - gnutls_fips140_context_deinit
    - genkey
    - get_expected
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/gnutls/tests/buffer.c:63,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/tests/buffer.c:68,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/tests/buffer.c:70,1
    - Dst: strlen
      Src: /src/gnutls/tests/buffer.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/buffer.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/buffer.c:74,1
    - Dst: _gnutls_buffer_unescape
      Src: /src/gnutls/tests/buffer.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/buffer.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/buffer.c:79,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/tests/buffer.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/buffer.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/buffer.c:84,1
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/tests/buffer.c:89,1
    - Dst: strlen
      Src: /src/gnutls/tests/buffer.c:89,1
    - Dst: strcmp
      Src: /src/gnutls/tests/buffer.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/buffer.c:92,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/tests/buffer.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 97
    functionName: doit
    functionSourceFile: /src/gnutls/tests/buffer.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_strerror
    - _gnutls_buffer_unescape
    - strlen
    - _gnutls_buffer_pop_datum
    - countof
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - strcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509sign-verify.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509sign-verify.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509sign-verify.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509sign-verify.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509sign-verify.c:81,1
    - Dst: success
      Src: /src/gnutls/tests/x509sign-verify.c:88,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/x509sign-verify.c:89,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/x509sign-verify.c:91,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:93,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/x509sign-verify.c:95,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:98,1
    - Dst: gnutls_x509_privkey_sign_data
      Src: /src/gnutls/tests/x509sign-verify.c:101,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:106,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509sign-verify.c:108,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:110,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509sign-verify.c:112,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:115,1
    - Dst: gnutls_x509_crt_verify_data2
      Src: /src/gnutls/tests/x509sign-verify.c:120,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:123,1
    - Dst: gnutls_x509_crt_verify_data2
      Src: /src/gnutls/tests/x509sign-verify.c:126,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:130,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/x509sign-verify.c:133,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/tests/x509sign-verify.c:134,1
    - Dst: gnutls_x509_crt_verify_data2
      Src: /src/gnutls/tests/x509sign-verify.c:136,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:139,1
    - Dst: gnutls_x509_crt_verify_data2
      Src: /src/gnutls/tests/x509sign-verify.c:143,1
    - Dst: testfail
      Src: /src/gnutls/tests/x509sign-verify.c:146,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509sign-verify.c:149,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/x509sign-verify.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509sign-verify.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 154
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509sign-verify.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_x509_privkey_sign_data
    - gnutls_x509_crt_import
    - testfail
    - gnutls_sign_algorithm_get_name
    - gnutls_x509_crt_init
    - gnutls_x509_crt_verify_data2
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - gnutls_pk_to_sign
    - global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_deinit
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-newapi.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-newapi.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-newapi.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-newapi.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-newapi.c:97,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-newapi.c:103,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify-newapi.c:104,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/sign-verify-newapi.c:114,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:116,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/sign-verify-newapi.c:118,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:121,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-newapi.c:123,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:125,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-newapi.c:127,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:129,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/sign-verify-newapi.c:131,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:133,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:135,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:138,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/sign-verify-newapi.c:140,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:143,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/sign-verify-newapi.c:145,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:147,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/sign-verify-newapi.c:149,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:152,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/sign-verify-newapi.c:154,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:156,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:158,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:163,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:166,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:170,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:173,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:178,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:182,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:187,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify-newapi.c:190,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-newapi.c:191,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:194,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:198,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:202,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:206,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-newapi.c:210,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-newapi.c:213,1
    - Dst: gnutls_privkey_sign_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:215,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-newapi.c:221,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:223,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:228,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-newapi.c:230,1
    - Dst: gnutls_privkey_sign_raw_data
      Src: /src/gnutls/tests/sign-verify-newapi.c:232,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:235,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/sign-verify-newapi.c:236,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/sign-verify-newapi.c:238,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-newapi.c:243,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-newapi.c:246,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-newapi.c:247,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-newapi.c:248,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/sign-verify-newapi.c:249,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-newapi.c:250,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-newapi.c:251,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-newapi.c:254,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 255
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-newapi.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_verify_hash2
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_import_x509
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pk_to_sign
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - testfail
    - success
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_sign_algorithm_get_name
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_x509_privkey_import
    - gnutls_privkey_sign_raw_data
    - gnutls_global_set_log_level
    - gnutls_privkey_sign_hash2
    - gnutls_free
    - gnutls_strerror
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/server-kx-neg-common.c:52,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: serv_psk_func
    functionSourceFile: /src/gnutls/tests/server-kx-neg-common.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int serv_psk_func(gnutls_session_t session, const char *username,\n\t\t\t
      gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/server-kx-neg-common.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/server-kx-neg-common.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/server-kx-neg-common.c:90,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/server-kx-neg-common.c:92,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/server-kx-neg-common.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/server-kx-neg-common.c:98,1
    - Dst: strcmp
      Src: /src/gnutls/tests/server-kx-neg-common.c:100,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/server-kx-neg-common.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/server-kx-neg-common.c:103,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/server-kx-neg-common.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/server-kx-neg-common.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/server-kx-neg-common.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - session
    - username
    - salt
    - verifier
    - generator
    - prime
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: serv_srp_func
    functionSourceFile: /src/gnutls/tests/server-kx-neg-common.c
    functionUses: 0
    functionsReached:
    - gnutls_malloc
    - gnutls_srp_base64_decode2
    - strcmp
    - printf
    - fail
    linkageType: ''
    returnType: int
    signature: "int serv_srp_func(gnutls_session_t session, const char *username,\n\t\t\t
      gnutls_datum_t *salt, gnutls_datum_t *verifier,\n\t\t\t gnutls_datum_t *generator,
      gnutls_datum_t *prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/server-kx-neg-common.c:130,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/server-kx-neg-common.c:136,1
    - Dst: success
      Src: /src/gnutls/tests/server-kx-neg-common.c:137,1
    - Dst: success
      Src: /src/gnutls/tests/server-kx-neg-common.c:141,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:144,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/server-kx-neg-common.c:146,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:148,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:149,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:150,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:151,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:153,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:154,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:156,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:156,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:157,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:158,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/server-kx-neg-common.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:160,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/server-kx-neg-common.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:161,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/server-kx-neg-common.c:161,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:164,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:166,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/server-kx-neg-common.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:171,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:172,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:178,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:181,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/server-kx-neg-common.c:184,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:186,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:187,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:193,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:195,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/server-kx-neg-common.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:200,1
    - Dst: gnutls_psk_set_server_dh_params
      Src: /src/gnutls/tests/server-kx-neg-common.c:201,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:204,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:209,1
    - Dst: gnutls_srp_set_server_credentials_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:211,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:217,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:217,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:224,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:224,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:230,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:237,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:237,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:243,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:243,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:250,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/server-kx-neg-common.c:250,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:257,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:258,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:259,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/server-kx-neg-common.c:261,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:264,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:264,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:268,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:268,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:272,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:273,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/server-kx-neg-common.c:274,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:275,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/server-kx-neg-common.c:275,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:277,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/server-kx-neg-common.c:278,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/server-kx-neg-common.c:279,1
    - Dst: assert
      Src: /src/gnutls/tests/server-kx-neg-common.c:280,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/server-kx-neg-common.c:280,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/server-kx-neg-common.c:282,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/server-kx-neg-common.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/server-kx-neg-common.c:287,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/server-kx-neg-common.c:288,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/server-kx-neg-common.c:289,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/server-kx-neg-common.c:290,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/server-kx-neg-common.c:293,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/server-kx-neg-common.c:294,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:295,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:296,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:297,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:298,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:300,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:301,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:303,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/server-kx-neg-common.c:304,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/server-kx-neg-common.c:306,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/server-kx-neg-common.c:308,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_case_st*
    constantsTouched: []
    func_position:
      end: 309
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 309
    functionName: try
    functionSourceFile: /src/gnutls/tests/server-kx-neg-common.c
    functionUses: 28
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_set_server_known_dh_params
    - gnutls_dh_params_deinit
    - gnutls_srp_set_client_credentials
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_psk_allocate_server_credentials
    - gnutls_dh_params_init
    - gnutls_srp_allocate_client_credentials
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_anon_set_server_dh_params
    - gnutls_srp_free_server_credentials
    - success
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_psk_set_server_dh_params
    - gnutls_psk_free_client_credentials
    - gnutls_protocol_get_name
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_certificate_set_dh_params
    - gnutls_psk_set_server_known_dh_params
    - gnutls_srp_free_client_credentials
    - gnutls_psk_set_client_credentials
    - gnutls_fips140_mode_enabled
    - gnutls_srp_allocate_server_credentials
    - gnutls_psk_allocate_client_credentials
    - gnutls_srp_set_server_credentials_function
    - gnutls_psk_set_server_credentials_function
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(test_case_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509_altname.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:76,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509_altname.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:80,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509_altname.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:84,1
    - Dst: gnutls_x509_crt_get_issuer_alt_name
      Src: /src/gnutls/tests/x509_altname.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:93,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509_altname.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:98,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509_altname.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/x509_altname.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/x509_altname.c:117,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509_altname.c:119,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509_altname.c:120,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 121
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509_altname.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - global_init
    - strcmp
    - gnutls_x509_crt_get_issuer_alt_name
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/utils-adv.c:61,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:64,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:65,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:68,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:70,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:71,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:72,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/utils-adv.c:75,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:78,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:80,1
    - Dst: strncmp
      Src: /src/gnutls/tests/utils-adv.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/utils-adv.c:84,1
    - Dst: _gnutls_server_name_set_raw
      Src: /src/gnutls/tests/utils-adv.c:84,1
    - Dst: strlen
      Src: /src/gnutls/tests/utils-adv.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/utils-adv.c:89,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/utils-adv.c:89,1
    - Dst: strlen
      Src: /src/gnutls/tests/utils-adv.c:90,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:101,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:103,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:104,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:105,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/utils-adv.c:108,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/utils-adv.c:110,1
    - Dst: memset
      Src: /src/gnutls/tests/utils-adv.c:119,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/utils-adv.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/utils-adv.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:138,1
    - Dst: assert
      Src: /src/gnutls/tests/utils-adv.c:143,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/utils-adv.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:145,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/utils-adv.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:148,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/utils-adv.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/utils-adv.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:156,1
    - Dst: assert
      Src: /src/gnutls/tests/utils-adv.c:161,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/utils-adv.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:163,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/utils-adv.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:166,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:171,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:173,1
    - Dst: client_cb
      Src: /src/gnutls/tests/utils-adv.c:178,1
    - Dst: server_cb
      Src: /src/gnutls/tests/utils-adv.c:180,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:182,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:183,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 12
    argNames:
    - server_cred
    - client_cred
    - serv_prio
    - cli_prio
    - host
    - priv
    - client_cb
    - server_cb
    - expect_verification_failure
    - require_cert
    - serv_err
    - cli_err
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - char*
    - void*
    - callback_func*
    - callback_func*
    - unsigned
    - unsigned
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 186
    functionName: _test_cli_serv
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 2
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_server_name_set
    - gnutls_transport_set_ptr
    - client_cb
    - gnutls_certificate_server_set_request
    - _gnutls_server_name_set_raw
    - reset_buffers
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_certificate_verification_status_print
    - exit
    - assert
    - strlen
    - gnutls_priority_set_direct
    - gnutls_certificate_verify_peers3
    - HANDSHAKE
    - strncmp
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_verify_peers
    - server_cb
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: int
    signature: "int _test_cli_serv(gnutls_certificate_credentials_t server_cred,\n\t\t
      \  gnutls_certificate_credentials_t client_cred,\n\t\t   const char *serv_prio,
      const char *cli_prio,\n\t\t   const char *host, void *priv, callback_func *client_cb,\n\t\t
      \  callback_func *server_cb,\n\t\t   unsigned expect_verification_failure, unsigned
      require_cert,\n\t\t   int serv_err, int cli_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/utils-adv.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - server_cred
    - client_cred
    - prio
    - host
    - priv
    - client_cb
    - server_cb
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - void*
    - callback_func*
    - callback_func*
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: test_cli_serv
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 12
    functionsReached:
    - _test_cli_serv
    linkageType: ''
    returnType: void
    signature: "void test_cli_serv(gnutls_certificate_credentials_t server_cred,\n\t\t
      \  gnutls_certificate_credentials_t client_cred,\n\t\t   const char *prio, const
      char *host, void *priv,\n\t\t   callback_func *client_cb, callback_func *server_cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/utils-adv.c:211,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:214,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:215,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:216,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:217,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:218,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:219,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:223,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:225,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:227,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:229,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:230,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:231,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:232,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/utils-adv.c:234,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:238,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:239,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:241,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - server_cred
    - client_cred
    - prio
    argTypes:
    - gnutls_anon_server_credentials_t
    - gnutls_anon_client_credentials_t
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 245
    functionName: test_cli_serv_anon
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - exit
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_init
    - HANDSHAKE
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    linkageType: ''
    returnType: int
    signature: "int test_cli_serv_anon(gnutls_anon_server_credentials_t server_cred,\n\t\t
      \      gnutls_anon_client_credentials_t client_cred,\n\t\t       const char
      *prio)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/utils-adv.c:260,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:263,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:264,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:265,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:266,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:267,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:268,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/utils-adv.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:272,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/utils-adv.c:274,1
    - Dst: exit
      Src: /src/gnutls/tests/utils-adv.c:276,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/utils-adv.c:278,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/utils-adv.c:279,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/utils-adv.c:280,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/utils-adv.c:281,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/utils-adv.c:283,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:287,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/utils-adv.c:288,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:290,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/utils-adv.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - server_cred
    - client_cred
    - prio
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_psk_client_credentials_t
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 294
    functionName: test_cli_serv_psk
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - exit
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_init
    - HANDSHAKE
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    linkageType: ''
    returnType: int
    signature: "int test_cli_serv_psk(gnutls_psk_server_credentials_t server_cred,\n\t\t
      \     gnutls_psk_client_credentials_t client_cred,\n\t\t      const char *prio)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/utils-adv.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - server_cred
    - client_cred
    - serv_prio
    - cli_prio
    - host
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: test_cli_serv_cert
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 1
    functionsReached:
    - _test_cli_serv
    linkageType: ''
    returnType: void
    signature: "void test_cli_serv_cert(gnutls_certificate_credentials_t server_cred,\n\t\t\tgnutls_certificate_credentials_t
      client_cred,\n\t\t\tconst char *serv_prio, const char *cli_prio,\n\t\t\tconst
      char *host)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/utils-adv.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - server_cred
    - client_cred
    - serv_prio
    - cli_prio
    - host
    - serv_err
    - cli_err
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: test_cli_serv_expect
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 2
    functionsReached:
    - _test_cli_serv
    linkageType: ''
    returnType: void
    signature: "void test_cli_serv_expect(gnutls_certificate_credentials_t server_cred,\n\t\t\t
      \ gnutls_certificate_credentials_t client_cred,\n\t\t\t  const char *serv_prio,
      const char *cli_prio,\n\t\t\t  const char *host, int serv_err, int cli_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/utils-adv.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - server_cred
    - client_cred
    - prio
    - host
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_credentials_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: test_cli_serv_vf
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 1
    functionsReached:
    - _test_cli_serv
    linkageType: ''
    returnType: unsigned
    signature: "unsigned test_cli_serv_vf(gnutls_certificate_credentials_t server_cred,\n\t\t\t
      \ gnutls_certificate_credentials_t client_cred,\n\t\t\t  const char *prio, const
      char *host)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/tests/utils-adv.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:331,1
    - Dst: gnutls_dh_get_secret_bits
      Src: /src/gnutls/tests/utils-adv.c:334,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:336,1
    - Dst: gnutls_dh_get_pubkey
      Src: /src/gnutls/tests/utils-adv.c:339,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:341,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:345,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:348,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:350,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:352,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/utils-adv.c:354,1
    - Dst: gnutls_dh_get_group
      Src: /src/gnutls/tests/utils-adv.c:356,1
    - Dst: fail
      Src: /src/gnutls/tests/utils-adv.c:358,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:361,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:363,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:365,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:367,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:369,1
    - Dst: printf
      Src: /src/gnutls/tests/utils-adv.c:371,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/utils-adv.c:372,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/utils-adv.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 374
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 374
    functionName: print_dh_params_info
    functionSourceFile: /src/gnutls/tests/utils-adv.c
    functionUses: 4
    functionsReached:
    - gnutls_dh_get_prime_bits
    - gnutls_free
    - gnutls_dh_get_pubkey
    - gnutls_dh_get_group
    - gnutls_dh_get_secret_bits
    - printf
    - fail
    linkageType: ''
    returnType: void
    signature: void print_dh_params_info(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-export-pkcs8.c:116,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-export-pkcs8.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:120,1
    - Dst: gnutls_x509_privkey_import_dsa_raw
      Src: /src/gnutls/tests/key-export-pkcs8.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:125,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-export-pkcs8.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:130,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-export-pkcs8.c:131,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-export-pkcs8.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: check_dsa
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_privkey_import_dsa_raw
    - success
    - gnutls_free
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_dsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-export-pkcs8.c:144,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-export-pkcs8.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:149,1
    - Dst: gnutls_x509_privkey_import_rsa_raw2
      Src: /src/gnutls/tests/key-export-pkcs8.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:155,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-export-pkcs8.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:160,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-export-pkcs8.c:161,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-export-pkcs8.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: check_rsa
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_free
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import_rsa_raw2
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_rsa(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-export-pkcs8.c:174,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-export-pkcs8.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:179,1
    - Dst: gnutls_x509_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-export-pkcs8.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:184,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-export-pkcs8.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:189,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-export-pkcs8.c:190,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-export-pkcs8.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: check_ed25519
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_free
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_import_ecc_raw
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_ed25519(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-export-pkcs8.c:204,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-export-pkcs8.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:209,1
    - Dst: gnutls_x509_privkey_import_gost_raw
      Src: /src/gnutls/tests/key-export-pkcs8.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:215,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-export-pkcs8.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:220,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-export-pkcs8.c:221,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-export-pkcs8.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 227
    functionName: check_gost
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_free
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import_gost_raw
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int check_gost(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/key-export-pkcs8.c:235,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-export-pkcs8.c:238,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:240,1
    - Dst: gnutls_x509_privkey_import_ecc_raw
      Src: /src/gnutls/tests/key-export-pkcs8.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:245,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/tests/key-export-pkcs8.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:250,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-export-pkcs8.c:252,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-export-pkcs8.c:253,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-export-pkcs8.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 258
    functionName: check_ecc
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_free
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_x509_privkey_import_ecc_raw
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int check_ecc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dsa
      Src: /src/gnutls/tests/key-export-pkcs8.c:262,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/key-export-pkcs8.c:264,1
    - Dst: check_rsa
      Src: /src/gnutls/tests/key-export-pkcs8.c:267,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:268,1
    - Dst: exit
      Src: /src/gnutls/tests/key-export-pkcs8.c:269,1
    - Dst: check_ecc
      Src: /src/gnutls/tests/key-export-pkcs8.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:273,1
    - Dst: check_ed25519
      Src: /src/gnutls/tests/key-export-pkcs8.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:277,1
    - Dst: check_gost
      Src: /src/gnutls/tests/key-export-pkcs8.c:280,1
    - Dst: fail
      Src: /src/gnutls/tests/key-export-pkcs8.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 283
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-export-pkcs8.c
    functionUses: 1
    functionsReached:
    - exit
    - check_rsa
    - check_gost
    - check_dsa
    - check_ed25519
    - fail
    - check_ecc
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_ct_scts_init
      Src: /src/gnutls/tests/x509cert-ct.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:190,1
    - Dst: gnutls_x509_ext_ct_import_scts
      Src: /src/gnutls/tests/x509cert-ct.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:194,1
    - Dst: gnutls_x509_ct_sct_get_version
      Src: /src/gnutls/tests/x509cert-ct.c:197,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:203,1
    - Dst: gnutls_x509_ct_sct_get
      Src: /src/gnutls/tests/x509cert-ct.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:208,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert-ct.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:215,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert-ct.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:217,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert-ct.c:219,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert-ct.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:226,1
    - Dst: gnutls_x509_ext_ct_export_scts
      Src: /src/gnutls/tests/x509cert-ct.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:232,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509cert-ct.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:238,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert-ct.c:240,1
    - Dst: gnutls_x509_ext_ct_scts_deinit
      Src: /src/gnutls/tests/x509cert-ct.c:242,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ext
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 243
    functionName: check_scts
    functionSourceFile: /src/gnutls/tests/x509cert-ct.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_ct_sct_get
    - gnutls_x509_ext_ct_export_scts
    - gnutls_x509_ext_ct_scts_init
    - memcmp
    - gnutls_x509_ext_ct_scts_deinit
    - gnutls_x509_ct_sct_get_version
    - gnutls_x509_ext_ct_import_scts
    - fail
    linkageType: ''
    returnType: void
    signature: void check_scts(const gnutls_datum_t *ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509cert-ct.c:256,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509cert-ct.c:258,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-ct.c:260,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-ct.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:263,1
    - Dst: gnutls_x509_crt_get_extension_oid
      Src: /src/gnutls/tests/x509cert-ct.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:272,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509cert-ct.c:274,1
    - Dst: gnutls_x509_crt_get_extension_data2
      Src: /src/gnutls/tests/x509cert-ct.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:278,1
    - Dst: check_scts
      Src: /src/gnutls/tests/x509cert-ct.c:279,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509cert-ct.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-ct.c:287,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-ct.c:289,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509cert-ct.c:291,1
    - Dst: success
      Src: /src/gnutls/tests/x509cert-ct.c:293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 294
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509cert-ct.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_extension_oid
    - gnutls_global_deinit
    - success
    - global_init
    - check_scts
    - strcmp
    - gnutls_x509_crt_get_extension_data2
    - fail
    - gnutls_global_set_log_level
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/gnutls-strcodes.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - line
    - i
    - val
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: _check_non_null
    functionSourceFile: /src/gnutls/tests/gnutls-strcodes.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void _check_non_null(int line, int i, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/gnutls-strcodes.c:51,1
    - Dst: strcmp
      Src: /src/gnutls/tests/gnutls-strcodes.c:53,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls-strcodes.c:54,1
    - Dst: snprintf
      Src: /src/gnutls/tests/gnutls-strcodes.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - line
    - i
    - val
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: _check_unique_non_null
    functionSourceFile: /src/gnutls/tests/gnutls-strcodes.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void _check_unique_non_null(int line, int i, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/gnutls-strcodes.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls-strcodes.c:70,1
    - Dst: snprintf
      Src: /src/gnutls/tests/gnutls-strcodes.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - line
    - i
    - val
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: _check_unique
    functionSourceFile: /src/gnutls/tests/gnutls-strcodes.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void _check_unique(int line, int i, const char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls-strcodes.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls-strcodes.c:86,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls-strcodes.c:87,1
    - Dst: check_unique
      Src: /src/gnutls/tests/gnutls-strcodes.c:91,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls-strcodes.c:91,1
    - Dst: check_unique
      Src: /src/gnutls/tests/gnutls-strcodes.c:92,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:92,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:96,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:96,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:99,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:99,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:104,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:104,1
    - Dst: check_unique
      Src: /src/gnutls/tests/gnutls-strcodes.c:108,1
    - Dst: gnutls_alert_get_strname
      Src: /src/gnutls/tests/gnutls-strcodes.c:108,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:112,1
    - Dst: gnutls_sec_param_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:112,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:115,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:115,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:117,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:117,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:119,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:119,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:121,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:121,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:123,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:123,1
    - Dst: check_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:125,1
    - Dst: gnutls_certificate_verification_profile_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:125,1
    - Dst: _gnutls_ecc_curve_is_supported
      Src: /src/gnutls/tests/gnutls-strcodes.c:129,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:132,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/tests/gnutls-strcodes.c:132,1
    - Dst: check_unique_non_null
      Src: /src/gnutls/tests/gnutls-strcodes.c:137,1
    - Dst: gnutls_ecc_curve_get_oid
      Src: /src/gnutls/tests/gnutls-strcodes.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls-strcodes.c:140,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 141
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls-strcodes.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_pk_algorithm_get_name
    - gnutls_sign_algorithm_get_name
    - check_unique_non_null
    - gnutls_ecc_curve_get_oid
    - gnutls_global_deinit
    - check_unique
    - gnutls_strerror_name
    - check_non_null
    - gnutls_handshake_description_get_name
    - global_init
    - gnutls_certificate_verification_profile_get_name
    - gnutls_alert_get_strname
    - _gnutls_ecc_curve_is_supported
    - gnutls_sec_param_get_name
    - fail
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/tests/x509-extensions.c:107,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:109,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: basic_constraints
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 2
    functionsReached:
    - fprintf
    - gnutls_x509_ext_import_basic_constraints
    linkageType: ''
    returnType: int
    signature: int basic_constraints(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:130,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-extensions.c:134,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:135,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - type
    - name
    - expected_type
    - expected_name
    argTypes:
    - unsigned
    - gnutls_datum_t*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: cmp_name
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int cmp_name(unsigned type, gnutls_datum_t *name, unsigned expected_type,\n\t\t
      \   const char *expected_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/tests/x509-extensions.c:154,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:156,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/tests/x509-extensions.c:160,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:162,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:166,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:168,1
    - Dst: cmp_name
      Src: /src/gnutls/tests/x509-extensions.c:181,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:183,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:187,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:189,1
    - Dst: cmp_name
      Src: /src/gnutls/tests/x509-extensions.c:192,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:194,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:198,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:200,1
    - Dst: cmp_name
      Src: /src/gnutls/tests/x509-extensions.c:203,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:206,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:210,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:212,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:216,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:220,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:222,1
    - Dst: cmp_name
      Src: /src/gnutls/tests/x509-extensions.c:225,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:227,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:231,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:233,1
    - Dst: cmp_name
      Src: /src/gnutls/tests/x509-extensions.c:236,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:238,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/tests/x509-extensions.c:242,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:244,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/tests/x509-extensions.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 251
    functionName: subject_alt_name
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 1
    functionsReached:
    - gnutls_subject_alt_names_deinit
    - cmp_name
    - gnutls_subject_alt_names_get
    - gnutls_subject_alt_names_init
    - gnutls_x509_ext_import_subject_alt_names
    - fprintf
    linkageType: ''
    returnType: int
    signature: int subject_alt_name(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_key_purpose_init
      Src: /src/gnutls/tests/x509-extensions.c:264,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:266,1
    - Dst: gnutls_x509_ext_import_key_purposes
      Src: /src/gnutls/tests/x509-extensions.c:270,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:272,1
    - Dst: gnutls_x509_key_purpose_get
      Src: /src/gnutls/tests/x509-extensions.c:276,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:278,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:282,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:283,1
    - Dst: gnutls_x509_key_purpose_get
      Src: /src/gnutls/tests/x509-extensions.c:288,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:290,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:294,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:295,1
    - Dst: gnutls_x509_key_purpose_get
      Src: /src/gnutls/tests/x509-extensions.c:300,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:302,1
    - Dst: gnutls_x509_key_purpose_deinit
      Src: /src/gnutls/tests/x509-extensions.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 309
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 309
    functionName: ext_key_usage
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_key_purpose_deinit
    - gnutls_x509_key_purpose_init
    - gnutls_x509_key_purpose_get
    - strcmp
    - fprintf
    - gnutls_x509_ext_import_key_purposes
    linkageType: ''
    returnType: int
    signature: int ext_key_usage(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_policies_init
      Src: /src/gnutls/tests/x509-extensions.c:318,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:320,1
    - Dst: gnutls_x509_ext_import_policies
      Src: /src/gnutls/tests/x509-extensions.c:324,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:326,1
    - Dst: gnutls_x509_policies_get
      Src: /src/gnutls/tests/x509-extensions.c:330,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:332,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:344,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:346,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:352,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-extensions.c:358,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:359,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:361,1
    - Dst: gnutls_x509_policies_get
      Src: /src/gnutls/tests/x509-extensions.c:366,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:368,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:371,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:373,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:379,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-extensions.c:385,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:386,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:388,1
    - Dst: gnutls_x509_policies_get
      Src: /src/gnutls/tests/x509-extensions.c:392,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:394,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/tests/x509-extensions.c:398,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 401
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 401
    functionName: crt_policies
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_policies_get
    - gnutls_x509_policies_deinit
    - strlen
    - gnutls_x509_policies_init
    - gnutls_x509_ext_import_policies
    - strcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int crt_policies(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/tests/x509-extensions.c:412,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:414,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 424
    functionName: key_usage
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_ext_import_key_usage
    - fprintf
    linkageType: ''
    returnType: int
    signature: int key_usage(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_subject_key_id
      Src: /src/gnutls/tests/x509-extensions.c:435,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:437,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-extensions.c:442,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:445,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-extensions.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 451
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 451
    functionName: subject_key_id
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - fprintf
    - gnutls_x509_ext_import_subject_key_id
    - memcmp
    linkageType: ''
    returnType: int
    signature: int subject_key_id(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_dist_points_init
      Src: /src/gnutls/tests/x509-extensions.c:469,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:471,1
    - Dst: gnutls_x509_ext_import_crl_dist_points
      Src: /src/gnutls/tests/x509-extensions.c:475,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:477,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/tests/x509-extensions.c:481,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:483,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:488,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:489,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/tests/x509-extensions.c:493,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:495,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:500,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:501,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/tests/x509-extensions.c:505,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:507,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:512,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:513,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/tests/x509-extensions.c:517,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:519,1
    - Dst: gnutls_x509_crl_dist_points_deinit
      Src: /src/gnutls/tests/x509-extensions.c:523,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: crl_dist_points
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crl_dist_points_deinit
    - gnutls_x509_crl_dist_points_get
    - gnutls_x509_ext_import_crl_dist_points
    - strcmp
    - gnutls_x509_crl_dist_points_init
    - fprintf
    linkageType: ''
    returnType: int
    signature: int crl_dist_points(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/x509-extensions.c:546,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:548,1
    - Dst: gnutls_x509_ext_import_name_constraints
      Src: /src/gnutls/tests/x509-extensions.c:552,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:554,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/x509-extensions.c:558,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:560,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:565,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:566,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/x509-extensions.c:570,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:572,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:577,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:578,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/x509-extensions.c:582,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:584,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/x509-extensions.c:589,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:591,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:596,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:597,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/x509-extensions.c:601,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:603,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:608,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:609,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/x509-extensions.c:613,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:615,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/x509-extensions.c:619,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 622
    functionName: name_constraints
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_name_constraints_get_permitted
    - gnutls_x509_name_constraints_init
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_ext_import_name_constraints
    - strcmp
    - gnutls_x509_name_constraints_get_excluded
    - fprintf
    linkageType: ''
    returnType: int
    signature: int name_constraints(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_aia_init
      Src: /src/gnutls/tests/x509-extensions.c:637,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:639,1
    - Dst: gnutls_x509_ext_import_aia
      Src: /src/gnutls/tests/x509-extensions.c:643,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:645,1
    - Dst: gnutls_x509_aia_get
      Src: /src/gnutls/tests/x509-extensions.c:649,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:651,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:655,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:656,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:661,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:662,1
    - Dst: gnutls_x509_aia_get
      Src: /src/gnutls/tests/x509-extensions.c:666,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-extensions.c:668,1
    - Dst: gnutls_x509_aia_deinit
      Src: /src/gnutls/tests/x509-extensions.c:672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 675
    functionName: ext_aia
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_aia_deinit
    - gnutls_x509_aia_init
    - gnutls_x509_ext_import_aia
    - gnutls_x509_aia_get
    - strcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ext_aia(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509-extensions.c:703,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:705,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-extensions.c:707,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:709,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-extensions.c:711,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:713,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-extensions.c:715,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-extensions.c:717,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:719,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-extensions.c:721,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:723,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/tests/x509-extensions.c:727,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:731,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:738,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-extensions.c:739,1
    - Dst: gnutls_x509_crt_get_extension_data2
      Src: /src/gnutls/tests/x509-extensions.c:742,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:744,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-extensions.c:745,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:751,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509-extensions.c:756,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:758,1
    - Dst: handler
      Src: /src/gnutls/tests/x509-extensions.c:762,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-extensions.c:764,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-extensions.c:765,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-extensions.c:770,1
    - Dst: success
      Src: /src/gnutls/tests/x509-extensions.c:774,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-extensions.c:776,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-extensions.c:777,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 778
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-extensions.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_free
    - success
    - gnutls_global_deinit
    - gnutls_x509_crt_get_extension_data2
    - global_init
    - strcmp
    - gnutls_x509_crt_get_extension_info
    - fail
    - handler
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-write.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/handshake-write.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: error_push
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t error_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \ size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/handshake-write.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: error_pull
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t error_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/handshake-write.c:71,1
    - Dst: gnutls_handshake_write
      Src: /src/gnutls/tests/handshake-write.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - session
    - level
    - htype
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_handshake_description_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: handshake_read_func
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake_write
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int handshake_read_func(gnutls_session_t session,\n\t\t\t       gnutls_record_encryption_level_t
      level,\n\t\t\t       gnutls_handshake_description_t htype,\n\t\t\t       const
      void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/handshake-write.c:91,1
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-write.c:94,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-write.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-write.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:100,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-write.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:101,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-write.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:105,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-write.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-write.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-write.c:108,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-write.c:109,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-write.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:113,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-write.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:114,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/handshake-write.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-write.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:118,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-write.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-write.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-write.c:120,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-write.c:123,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-write.c:124,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/handshake-write.c:126,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/handshake-write.c:127,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/tests/handshake-write.c:129,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/tests/handshake-write.c:130,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/handshake-write.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-write.c:134,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-write.c:136,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-write.c:137,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-write.c:138,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-write.c:140,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-write.c:141,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-write.c:142,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/handshake-write.c:144,1
    - Dst: strlen
      Src: /src/gnutls/tests/handshake-write.c:144,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/handshake-write.c:145,1
    - Dst: strlen
      Src: /src/gnutls/tests/handshake-write.c:145,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-write.c:147,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-write.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-write.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-write.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-write.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-write.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-write.c:156,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-write.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 158
    functionName: run
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 18
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_session_set_ptr
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_handshake_set_read_function
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/handshake-write.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-write.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/keylog-env.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/keylog-env.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/tests/keylog-env.c:75,1
    - Dst: fgets
      Src: /src/gnutls/tests/keylog-env.c:78,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-env.c:79,1
    - Dst: strncmp
      Src: /src/gnutls/tests/keylog-env.c:80,1
    - Dst: strlen
      Src: /src/gnutls/tests/keylog-env.c:80,1
    - Dst: strlen
      Src: /src/gnutls/tests/keylog-env.c:81,1
    - Dst: fclose
      Src: /src/gnutls/tests/keylog-env.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-env.c:84,1
    - Dst: fclose
      Src: /src/gnutls/tests/keylog-env.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-env.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - filename
    - label
    - excluded
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: search_for_str
    functionSourceFile: /src/gnutls/tests/keylog-env.c
    functionUses: 0
    functionsReached:
    - fopen
    - success
    - fclose
    - strlen
    - strncmp
    - fail
    - fgets
    linkageType: ''
    returnType: void
    signature: "void search_for_str(const char *filename, const char *label,\n\t\t\t
      \  bool excluded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/keylog-env.c:104,1
    - Dst: _putenv
      Src: /src/gnutls/tests/keylog-env.c:105,1
    - Dst: setenv
      Src: /src/gnutls/tests/keylog-env.c:108,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/keylog-env.c:112,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/keylog-env.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/keylog-env.c:117,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/keylog-env.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/keylog-env.c:118,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/keylog-env.c:118,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/keylog-env.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-env.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-env.c:125,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/keylog-env.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-env.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/keylog-env.c:131,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/keylog-env.c:133,1
    - Dst: access
      Src: /src/gnutls/tests/keylog-env.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/keylog-env.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/keylog-env.c:137,1
    - Dst: search_for_str
      Src: /src/gnutls/tests/keylog-env.c:141,1
    - Dst: search_for_str
      Src: /src/gnutls/tests/keylog-env.c:143,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/keylog-env.c:145,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/keylog-env.c:146,1
    - Dst: success
      Src: /src/gnutls/tests/keylog-env.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - filename
    - prio
    - included
    - excluded
    argTypes:
    - char*
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 150
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 150
    functionName: run
    functionSourceFile: /src/gnutls/tests/keylog-env.c
    functionUses: 19
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - exit
    - gnutls_strerror
    - test_cli_serv
    - success
    - gnutls_certificate_allocate_credentials
    - snprintf
    - setenv
    - gnutls_certificate_set_x509_key_mem
    - _putenv
    - gnutls_certificate_free_credentials
    - search_for_str
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_function
    - access
    linkageType: ''
    returnType: void
    signature: "void run(const char *filename, const char *prio, const char **included,\n\t\tconst
      char **excluded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/keylog-env.c:156,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/keylog-env.c:156,1
    - Dst: remove
      Src: /src/gnutls/tests/keylog-env.c:158,1
    - Dst: global_init
      Src: /src/gnutls/tests/keylog-env.c:159,1
    - Dst: run
      Src: /src/gnutls/tests/keylog-env.c:161,1
    - Dst: truncate
      Src: /src/gnutls/tests/keylog-env.c:169,1
    - Dst: run
      Src: /src/gnutls/tests/keylog-env.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/keylog-env.c:175,1
    - Dst: remove
      Src: /src/gnutls/tests/keylog-env.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: doit
    functionSourceFile: /src/gnutls/tests/keylog-env.c
    functionUses: 1
    functionsReached:
    - remove
    - assert
    - gnutls_global_deinit
    - global_init
    - truncate
    - run
    - get_tmpname
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/nul-in-x509-names.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/nul-in-x509-names.c:99,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/nul-in-x509-names.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/nul-in-x509-names.c:105,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/nul-in-x509-names.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/nul-in-x509-names.c:111,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/nul-in-x509-names.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/nul-in-x509-names.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:119,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/nul-in-x509-names.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/nul-in-x509-names.c:125,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/nul-in-x509-names.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/nul-in-x509-names.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/nul-in-x509-names.c:133,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/nul-in-x509-names.c:136,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/nul-in-x509-names.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 139
    functionName: doit
    functionSourceFile: /src/gnutls/tests/nul-in-x509-names.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_x509_crt_import
    - success
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_check_hostname
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-chain-unsorted.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-chain-unsorted.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-chain-unsorted.c:188,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-chain-unsorted.c:189,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-chain-unsorted.c:192,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-chain-unsorted.c:196,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-chain-unsorted.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-chain-unsorted.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:205,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-chain-unsorted.c:210,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-chain-unsorted.c:212,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-chain-unsorted.c:217,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-chain-unsorted.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-chain-unsorted.c:222,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-chain-unsorted.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/mini-chain-unsorted.c:228,1
    - Dst: success
      Src: /src/gnutls/tests/mini-chain-unsorted.c:232,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-chain-unsorted.c:233,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-chain-unsorted.c:234,1
    - Dst: close
      Src: /src/gnutls/tests/mini-chain-unsorted.c:236,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:238,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-chain-unsorted.c:240,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 243
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 74
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-chain-unsorted.c:257,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-chain-unsorted.c:258,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-chain-unsorted.c:260,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-chain-unsorted.c:265,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-chain-unsorted.c:271,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-chain-unsorted.c:274,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-chain-unsorted.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-chain-unsorted.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-chain-unsorted.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:280,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-chain-unsorted.c:283,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-chain-unsorted.c:285,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-chain-unsorted.c:288,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-chain-unsorted.c:289,1
    - Dst: success
      Src: /src/gnutls/tests/mini-chain-unsorted.c:292,1
    - Dst: success
      Src: /src/gnutls/tests/mini-chain-unsorted.c:295,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-chain-unsorted.c:296,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-chain-unsorted.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/mini-chain-unsorted.c:298,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:299,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-chain-unsorted.c:301,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:303,1
    - Dst: success
      Src: /src/gnutls/tests/mini-chain-unsorted.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 307
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 86
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-chain-unsorted.c:314,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-chain-unsorted.c:316,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:317,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-chain-unsorted.c:320,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-chain-unsorted.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-chain-unsorted.c:323,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:324,1
    - Dst: close
      Src: /src/gnutls/tests/mini-chain-unsorted.c:329,1
    - Dst: client
      Src: /src/gnutls/tests/mini-chain-unsorted.c:330,1
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-chain-unsorted.c:331,1
    - Dst: close
      Src: /src/gnutls/tests/mini-chain-unsorted.c:334,1
    - Dst: server
      Src: /src/gnutls/tests/mini-chain-unsorted.c:335,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-chain-unsorted.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 120
    functionsReached:
    - exit
    - fork
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/gnutls/tests/mini-chain-unsorted.c:344,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-chain-unsorted.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - waitpid
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-chain-unsorted.c:351,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-chain-unsorted.c:352,1
    - Dst: start
      Src: /src/gnutls/tests/mini-chain-unsorted.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-chain-unsorted.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-record.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/tests/mini-dtls-record.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-record.c:111,1
    - Dst: memcpy
      Src: /src/gnutls/tests/mini-dtls-record.c:112,1
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-record.c:119,1
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-record.c:130,1
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-record.c:139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: odd_push
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 0
    functionsReached:
    - memcpy
    - send
    - assert
    - malloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t odd_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-record.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: n_push
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t n_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls-record.c:173,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-record.c:178,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-record.c:181,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-record.c:182,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-record.c:185,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-record.c:189,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-record.c:190,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-record.c:190,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-record.c:191,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-record.c:192,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-record.c:193,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-record.c:196,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-record.c:203,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-record.c:205,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-record.c:210,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-record.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:214,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-record.c:215,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:219,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-record.c:222,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:225,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-record.c:226,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-record.c:227,1
    - Dst: gnutls_record_recv_seq
      Src: /src/gnutls/tests/mini-dtls-record.c:229,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-record.c:255,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record.c:257,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record.c:259,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-record.c:261,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-record.c:263,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 264
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 75
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_recv_seq
    - gnutls_dtls_set_timeouts
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-record.c:269,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-record.c:270,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-record.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 31
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-record.c:282,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-record.c:285,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-record.c:286,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-record.c:289,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-record.c:291,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/mini-dtls-record.c:292,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/mini-dtls-record.c:292,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-record.c:293,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-record.c:294,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-record.c:295,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-record.c:296,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-record.c:301,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-record.c:305,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-record.c:307,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-record.c:310,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-record.c:311,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record.c:313,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record.c:314,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:315,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-record.c:316,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-record.c:317,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:323,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-record.c:324,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-record.c:325,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-record.c:327,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-record.c:330,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:334,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-record.c:334,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-record.c:335,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-record.c:339,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-record.c:341,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record.c:344,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-record.c:345,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-record.c:347,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-record.c:349,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-record.c:352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 353
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 87
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - terminate
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - gnutls_record_send
    - close
    - gnutls_init
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-record.c:360,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-record.c:362,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-record.c:364,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:365,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-record.c:368,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-record.c:370,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-record.c:371,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:372,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record.c:378,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-record.c:379,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-record.c:380,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-record.c:381,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-record.c:383,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-record.c:384,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-record.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 387
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 121
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-record.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-record.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls11-cipher-neg.c:114,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls11-cipher-neg.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls11-cipher-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509sign-verify-error.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509sign-verify-error.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509sign-verify-error.c:149,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509sign-verify-error.c:151,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509sign-verify-error.c:153,1
    - Dst: success
      Src: /src/gnutls/tests/x509sign-verify-error.c:157,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/x509sign-verify-error.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-error.c:161,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/x509sign-verify-error.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-error.c:166,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/x509sign-verify-error.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-error.c:171,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509sign-verify-error.c:173,1
    - Dst: _gnutls_lib_simulate_error
      Src: /src/gnutls/tests/x509sign-verify-error.c:175,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/x509sign-verify-error.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/x509sign-verify-error.c:179,1
    - Dst: _gnutls_lib_force_operational
      Src: /src/gnutls/tests/x509sign-verify-error.c:181,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/x509sign-verify-error.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509sign-verify-error.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 187
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509sign-verify-error.c
    functionUses: 1
    functionsReached:
    - _gnutls_lib_simulate_error
    - success
    - gnutls_free
    - _gnutls_lib_force_operational
    - gnutls_global_deinit
    - gnutls_privkey_sign_hash
    - global_init
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sendfile.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sendfile.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-sendfile.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-sendfile.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-sendfile.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-sendfile.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sendfile.c:85,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/record-sendfile.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/record-sendfile.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sendfile.c:88,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sendfile.c:90,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-sendfile.c:92,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-sendfile.c:95,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-sendfile.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:99,1
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:103,1
    - Dst: memset
      Src: /src/gnutls/tests/record-sendfile.c:105,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-sendfile.c:107,1
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:114,1
    - Dst: strncmp
      Src: /src/gnutls/tests/record-sendfile.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:124,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sendfile.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:129,1
    - Dst: close
      Src: /src/gnutls/tests/record-sendfile.c:135,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sendfile.c:137,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-sendfile.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-sendfile.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:144,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 145
    functionName: client
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 76
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - strncmp
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-sendfile.c:153,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-sendfile.c:156,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-sendfile.c:157,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-sendfile.c:160,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/record-sendfile.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:164,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sendfile.c:166,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/record-sendfile.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/record-sendfile.c:169,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sendfile.c:169,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sendfile.c:171,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-sendfile.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-sendfile.c:176,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-sendfile.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:181,1
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:186,1
    - Dst: tmpfile
      Src: /src/gnutls/tests/record-sendfile.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:190,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sendfile.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:193,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:194,1
    - Dst: fputs
      Src: /src/gnutls/tests/record-sendfile.c:198,1
    - Dst: rewind
      Src: /src/gnutls/tests/record-sendfile.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:203,1
    - Dst: gnutls_record_send_file
      Src: /src/gnutls/tests/record-sendfile.c:208,1
    - Dst: fileno
      Src: /src/gnutls/tests/record-sendfile.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:214,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sendfile.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sendfile.c:221,1
    - Dst: close
      Src: /src/gnutls/tests/record-sendfile.c:225,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sendfile.c:226,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-sendfile.c:228,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-sendfile.c:230,1
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:233,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 234
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 234
    functionName: server
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 88
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - rewind
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_record_send_file
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - tmpfile
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - fileno
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/record-sendfile.c:242,1
    - Dst: socketpair
      Src: /src/gnutls/tests/record-sendfile.c:244,1
    - Dst: perror
      Src: /src/gnutls/tests/record-sendfile.c:246,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:247,1
    - Dst: fork
      Src: /src/gnutls/tests/record-sendfile.c:250,1
    - Dst: perror
      Src: /src/gnutls/tests/record-sendfile.c:252,1
    - Dst: fail
      Src: /src/gnutls/tests/record-sendfile.c:253,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:254,1
    - Dst: close
      Src: /src/gnutls/tests/record-sendfile.c:259,1
    - Dst: server
      Src: /src/gnutls/tests/record-sendfile.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/record-sendfile.c:262,1
    - Dst: client
      Src: /src/gnutls/tests/record-sendfile.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sendfile.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 266
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 266
    functionName: run
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 20
    functionsReached:
    - exit
    - success
    - fork
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/record-sendfile.c:270,1
    - Dst: run
      Src: /src/gnutls/tests/record-sendfile.c:271,1
    - Dst: run
      Src: /src/gnutls/tests/record-sendfile.c:272,1
    - Dst: run
      Src: /src/gnutls/tests/record-sendfile.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-sendfile.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/rawpk-api.c:49,1
    - Dst: snprintf
      Src: /src/gnutls/tests/rawpk-api.c:54,1
    - Dst: snprintf
      Src: /src/gnutls/tests/rawpk-api.c:56,1
    - Dst: global_init
      Src: /src/gnutls/tests/rawpk-api.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/rawpk-api.c:62,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rawpk-api.c:62,1
    - Dst: assert
      Src: /src/gnutls/tests/rawpk-api.c:63,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/tests/rawpk-api.c:63,1
    - Dst: assert
      Src: /src/gnutls/tests/rawpk-api.c:64,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/rawpk-api.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/rawpk-api.c:65,1
    - Dst: gnutls_pubkey_import
      Src: /src/gnutls/tests/rawpk-api.c:65,1
    - Dst: success
      Src: /src/gnutls/tests/rawpk-api.c:69,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/rawpk-api.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:76,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/rawpk-api.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:84,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/rawpk-api.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:91,1
    - Dst: success
      Src: /src/gnutls/tests/rawpk-api.c:96,1
    - Dst: gnutls_certificate_set_rawpk_key_file
      Src: /src/gnutls/tests/rawpk-api.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:103,1
    - Dst: gnutls_certificate_set_rawpk_key_file
      Src: /src/gnutls/tests/rawpk-api.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:110,1
    - Dst: gnutls_certificate_set_rawpk_key_file
      Src: /src/gnutls/tests/rawpk-api.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/rawpk-api.c:122,1
    - Dst: gnutls_pcert_import_rawpk
      Src: /src/gnutls/tests/rawpk-api.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:126,1
    - Dst: gnutls_pcert_import_rawpk
      Src: /src/gnutls/tests/rawpk-api.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:132,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/rawpk-api.c:136,1
    - Dst: success
      Src: /src/gnutls/tests/rawpk-api.c:139,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/tests/rawpk-api.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:144,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/tests/rawpk-api.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/rawpk-api.c:151,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/rawpk-api.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/rawpk-api.c:158,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rawpk-api.c:159,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rawpk-api.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 162
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rawpk-api.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - assert
    - success
    - gnutls_free
    - gnutls_global_deinit
    - gnutls_pcert_import_rawpk_raw
    - gnutls_certificate_allocate_credentials
    - snprintf
    - fail
    - gnutls_pcert_deinit
    - global_init
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_rawpk_key_mem
    - gnutls_certificate_set_rawpk_key_file
    - gnutls_pubkey_init
    - gnutls_pubkey_import
    - gnutls_pcert_import_rawpk
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/ciphersuite-name.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/ciphersuite-name.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/ciphersuite-name.c:48,1
    - Dst: global_init
      Src: /src/gnutls/tests/ciphersuite-name.c:50,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/ciphersuite-name.c:51,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/ciphersuite-name.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/ciphersuite-name.c:56,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ciphersuite-name.c:56,1
    - Dst: assert
      Src: /src/gnutls/tests/ciphersuite-name.c:57,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/ciphersuite-name.c:57,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/ciphersuite-name.c:61,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/ciphersuite-name.c:63,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/ciphersuite-name.c:64,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/ciphersuite-name.c:65,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/ciphersuite-name.c:66,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/ciphersuite-name.c:67,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ciphersuite-name.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/ciphersuite-name.c:71,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/ciphersuite-name.c:71,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/ciphersuite-name.c:74,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/ciphersuite-name.c:76,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/ciphersuite-name.c:77,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/ciphersuite-name.c:78,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/ciphersuite-name.c:79,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/ciphersuite-name.c:80,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/ciphersuite-name.c:82,1
    - Dst: success
      Src: /src/gnutls/tests/ciphersuite-name.c:84,1
    - Dst: gnutls_ciphersuite_get
      Src: /src/gnutls/tests/ciphersuite-name.c:86,1
    - Dst: strcmp
      Src: /src/gnutls/tests/ciphersuite-name.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/ciphersuite-name.c:88,1
    - Dst: gnutls_ciphersuite_get
      Src: /src/gnutls/tests/ciphersuite-name.c:92,1
    - Dst: strcmp
      Src: /src/gnutls/tests/ciphersuite-name.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/ciphersuite-name.c:94,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/ciphersuite-name.c:98,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/ciphersuite-name.c:99,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/ciphersuite-name.c:101,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/ciphersuite-name.c:102,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ciphersuite-name.c:104,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ciphersuite-name.c:105,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ciphersuite-name.c:107,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/ciphersuite-name.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 3
    argNames:
    - test_name
    - prio
    - expected_name
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 109
    functionName: start
    functionSourceFile: /src/gnutls/tests/ciphersuite-name.c
    functionUses: 122
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - strcmp
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_ciphersuite_get
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void start(const char *test_name, const char *prio,\n\t\t  const char
      *expected_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/ciphersuite-name.c:113,1
    - Dst: start
      Src: /src/gnutls/tests/ciphersuite-name.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ciphersuite-name.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ext.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-ext.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/status-request-ext.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:121,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/status-request-ext.c:128,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/status-request-ext.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:145,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/status-request-ext.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 0
    functionsReached:
    - SKIP16
    - fail
    - SKIP8
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-ext.c:169,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-ext.c:172,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-ext.c:173,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-ext.c:176,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-ext.c:180,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-ext.c:183,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-ext.c:187,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-ext.c:189,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-ext.c:194,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-ext.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:203,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/status-request-ext.c:203,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:206,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:210,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-ext.c:211,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-ext.c:212,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-ext.c:214,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ext.c:218,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-ext.c:220,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-ext.c:222,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-ext.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 225
    functionName: client
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 77
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/status-request-ext.c:236,1
    - Dst: memset
      Src: /src/gnutls/tests/status-request-ext.c:237,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/status-request-ext.c:240,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/status-request-ext.c:241,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/status-request-ext.c:244,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/status-request-ext.c:245,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/status-request-ext.c:248,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/status-request-ext.c:250,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/status-request-ext.c:258,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/status-request-ext.c:260,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/status-request-ext.c:262,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/status-request-ext.c:265,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/status-request-ext.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:273,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:277,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/status-request-ext.c:278,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/status-request-ext.c:279,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/status-request-ext.c:283,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ext.c:286,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/status-request-ext.c:287,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/status-request-ext.c:289,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/status-request-ext.c:291,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 295
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 295
    functionName: server
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 89
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/status-request-ext.c:308,1
    - Dst: signal
      Src: /src/gnutls/tests/status-request-ext.c:309,1
    - Dst: success
      Src: /src/gnutls/tests/status-request-ext.c:311,1
    - Dst: socketpair
      Src: /src/gnutls/tests/status-request-ext.c:313,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-ext.c:315,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ext.c:316,1
    - Dst: fork
      Src: /src/gnutls/tests/status-request-ext.c:319,1
    - Dst: perror
      Src: /src/gnutls/tests/status-request-ext.c:321,1
    - Dst: fail
      Src: /src/gnutls/tests/status-request-ext.c:322,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ext.c:323,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ext.c:328,1
    - Dst: server
      Src: /src/gnutls/tests/status-request-ext.c:329,1
    - Dst: waitpid
      Src: /src/gnutls/tests/status-request-ext.c:330,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/status-request-ext.c:331,1
    - Dst: close
      Src: /src/gnutls/tests/status-request-ext.c:333,1
    - Dst: client
      Src: /src/gnutls/tests/status-request-ext.c:334,1
    - Dst: exit
      Src: /src/gnutls/tests/status-request-ext.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 337
    functionName: start
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 123
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/status-request-ext.c:341,1
    - Dst: start
      Src: /src/gnutls/tests/status-request-ext.c:342,1
    - Dst: start
      Src: /src/gnutls/tests/status-request-ext.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: doit
    functionSourceFile: /src/gnutls/tests/status-request-ext.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:48,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:49,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:51,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:53,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:54,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:55,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:56,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:57,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:58,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:59,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:60,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509sign-verify-ecdsa.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509sign-verify-ecdsa.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - test_sig
    - global_init
    - GNUTLS_CURVE_TO_BITS
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tlsfeature-crt.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/tlsfeature-crt.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:61,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-crt.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:62,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/tlsfeature-crt.c:62,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:64,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/tlsfeature-crt.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:67,1
    - Dst: gnutls_x509_crt_get_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-crt.c:67,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:70,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-crt.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:73,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-crt.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:76,1
    - Dst: gnutls_x509_tlsfeatures_check_crt
      Src: /src/gnutls/tests/tlsfeature-crt.c:76,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:79,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-crt.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:80,1
    - Dst: gnutls_x509_tlsfeatures_check_crt
      Src: /src/gnutls/tests/tlsfeature-crt.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:82,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-crt.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:83,1
    - Dst: gnutls_x509_tlsfeatures_check_crt
      Src: /src/gnutls/tests/tlsfeature-crt.c:83,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-crt.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:88,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-crt.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:90,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-crt.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-crt.c:91,1
    - Dst: gnutls_x509_tlsfeatures_check_crt
      Src: /src/gnutls/tests/tlsfeature-crt.c:91,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-crt.c:93,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/tlsfeature-crt.c:94,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tlsfeature-crt.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tlsfeature-crt.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - assert
    - gnutls_x509_crt_import
    - gnutls_x509_tlsfeatures_add
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_crt_get_tlsfeatures
    - global_init
    - gnutls_x509_tlsfeatures_check_crt
    - gnutls_x509_tlsfeatures_get
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-failure.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-failure.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-record-failure.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:82,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:83,1
    - Dst: send
      Src: /src/gnutls/tests/mini-record-failure.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: client_push
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 0
    functionsReached:
    - send
    - exit
    - fail
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t client_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-failure.c:102,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record-failure.c:103,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-failure.c:106,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-failure.c:107,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:110,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:111,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-failure.c:115,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-record-failure.c:117,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-failure.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:122,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-failure.c:127,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-failure.c:128,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-failure.c:130,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-failure.c:135,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-failure.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-failure.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:141,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:148,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-failure.c:149,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-failure.c:150,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record-failure.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-failure.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:161,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record-failure.c:164,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-failure.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-failure.c:168,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:170,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-failure.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 174
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 78
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-record-failure.c:181,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-record-failure.c:182,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 32
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-failure.c:197,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record-failure.c:198,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-failure.c:201,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-failure.c:202,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:205,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-record-failure.c:206,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:209,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-failure.c:211,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-failure.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:219,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-failure.c:222,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-failure.c:223,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-failure.c:225,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-failure.c:228,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-failure.c:229,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-failure.c:231,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-failure.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-failure.c:234,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-failure.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:238,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:241,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-failure.c:242,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-failure.c:243,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/mini-record-failure.c:250,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-record-failure.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-failure.c:263,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-failure.c:264,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:266,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-failure.c:267,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-failure.c:269,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 273
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 90
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-record-failure.c:280,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-failure.c:282,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:283,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-record-failure.c:286,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-failure.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-failure.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:290,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-failure.c:295,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-failure.c:296,1
    - Dst: server
      Src: /src/gnutls/tests/mini-record-failure.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-failure.c:299,1
    - Dst: client
      Src: /src/gnutls/tests/mini-record-failure.c:300,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-failure.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - name
    - prio
    - ign
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 303
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 124
    functionsReached:
    - exit
    - fork
    - success
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/mini-record-failure.c:336,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-record-failure.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-record-failure.c:343,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-record-failure.c:344,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:346,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:347,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:348,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:349,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:350,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/mini-record-failure.c:352,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:353,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:355,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:356,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:359,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:360,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:361,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/mini-record-failure.c:363,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:364,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:366,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:367,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:368,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:371,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-failure.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-record-failure.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:53,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:54,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:62,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:74,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:78,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:81,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:85,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 7
    argNames:
    - name
    - txt
    - ncerts
    - max1
    - max2
    - flags
    - exp_err
    argTypes:
    - char*
    - gnutls_datum_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 90
    functionName: load_list
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crt_list_import.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_list_import
    - testfail
    linkageType: ''
    returnType: void
    signature: "void load_list(const char *name, const gnutls_datum_t *txt,\n\t\t
      \     unsigned int ncerts, unsigned int max1, unsigned int max2,\n\t\t      unsigned
      flags, int exp_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:355,1
    - Dst: load_list
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:357,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_list_import.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crt_list_import.c
    functionUses: 1
    functionsReached:
    - load_list
    - success
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/version-checks.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/version-checks.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/version-checks.c:72,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/version-checks.c:74,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/version-checks.c:77,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/version-checks.c:78,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/version-checks.c:84,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/version-checks.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/version-checks.c:87,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/version-checks.c:87,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/version-checks.c:88,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/version-checks.c:89,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/version-checks.c:90,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/version-checks.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/version-checks.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:98,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/version-checks.c:100,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:103,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/version-checks.c:105,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/version-checks.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:112,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/version-checks.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/version-checks.c:115,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/version-checks.c:116,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/version-checks.c:118,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/version-checks.c:120,1
    - Dst: fprintf
      Src: /src/gnutls/tests/version-checks.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/version-checks.c:127,1
    - Dst: HANDSHAKE_DTLS
      Src: /src/gnutls/tests/version-checks.c:129,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/version-checks.c:131,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/version-checks.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/version-checks.c:136,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/version-checks.c:137,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/version-checks.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/version-checks.c:139,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/version-checks.c:142,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/version-checks.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/version-checks.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/version-checks.c:149,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/version-checks.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/version-checks.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/version-checks.c:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - client_prio
    - expected
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 154
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 154
    functionName: try
    functionSourceFile: /src/gnutls/tests/version-checks.c
    functionUses: 28
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - HANDSHAKE_EXPECT
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - HANDSHAKE_DTLS
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void try(const char *client_prio, int expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/version-checks.c:158,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:161,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:163,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:165,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:167,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:169,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:172,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:174,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:181,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:184,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:187,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:189,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/version-checks.c:194,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/version-checks.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 196
    functionName: doit
    functionSourceFile: /src/gnutls/tests/version-checks.c
    functionUses: 1
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:52,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: check_cli
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_session_get_flags
    linkageType: ''
    returnType: void
    signature: void check_cli(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:63,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:63,1
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:74,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:79,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:83,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:86,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:92,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:98,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:103,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 110
    functionName: check_serv
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_status_request_is_checked
    - assert
    - gnutls_strerror
    - gnutls_session_get_flags
    - gnutls_certificate_verify_peers2
    - gnutls_ocsp_status_request_get2
    - fail
    - gnutls_protocol_get_version
    - memcmp
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: void
    signature: void check_serv(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:129,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:130,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:132,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:136,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:137,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:137,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:139,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:141,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:146,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:147,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:147,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:149,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:149,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:149,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:151,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:156,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:161,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:165,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:169,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:171,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:173,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:173,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:175,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:180,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:183,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:187,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:187,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:189,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:189,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:191,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:196,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:201,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:206,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:210,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:214,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:217,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:221,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:222,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:223,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:224,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 226
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 1
    functionsReached:
    - _test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_get_ocsp_expiration
    - gnutls_certificate_set_ocsp_status_request_file2
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_cli.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_cli.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/dane.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/dane.c:467,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/dane.c:469,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:471,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dane.c:471,1
    - Dst: exit
      Src: /src/gnutls/tests/dane.c:472,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/dane.c:475,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:477,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dane.c:477,1
    - Dst: exit
      Src: /src/gnutls/tests/dane.c:478,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/dane.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - chain
    - pem
    - size
    argTypes:
    - gnutls_datum_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 482
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 482
    functionName: crt_to_der
    functionSourceFile: /src/gnutls/tests/dane.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_export2
    - fail
    linkageType: ''
    returnType: void
    signature: void crt_to_der(gnutls_datum_t *chain, const char *pem, unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/dane.c:495,1
    - Dst: dane_state_init
      Src: /src/gnutls/tests/dane.c:497,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:499,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:499,1
    - Dst: success
      Src: /src/gnutls/tests/dane.c:504,1
    - Dst: dane_raw_tlsa
      Src: /src/gnutls/tests/dane.c:507,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:512,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:513,1
    - Dst: dane_query_to_raw_tlsa
      Src: /src/gnutls/tests/dane.c:516,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:519,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:520,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:524,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:527,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:530,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:534,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:535,1
    - Dst: memcmp
      Src: /src/gnutls/tests/dane.c:537,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:539,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:540,1
    - Dst: crt_to_der
      Src: /src/gnutls/tests/dane.c:548,1
    - Dst: strlen
      Src: /src/gnutls/tests/dane.c:549,1
    - Dst: crt_to_der
      Src: /src/gnutls/tests/dane.c:552,1
    - Dst: strlen
      Src: /src/gnutls/tests/dane.c:553,1
    - Dst: dane_verify_crt_raw
      Src: /src/gnutls/tests/dane.c:557,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:562,1
    - Dst: dane_strerror
      Src: /src/gnutls/tests/dane.c:563,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:567,1
    - Dst: free
      Src: /src/gnutls/tests/dane.c:571,1
    - Dst: free
      Src: /src/gnutls/tests/dane.c:573,1
    - Dst: success
      Src: /src/gnutls/tests/dane.c:577,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dane.c:580,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dane.c:581,1
    - Dst: dane_query_deinit
      Src: /src/gnutls/tests/dane.c:583,1
    - Dst: dane_state_deinit
      Src: /src/gnutls/tests/dane.c:585,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 586
    functionName: dane_raw_check
    functionSourceFile: /src/gnutls/tests/dane.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_free
    - strlen
    - dane_raw_tlsa
    - free
    - memcmp
    - dane_verify_crt_raw
    - dane_strerror
    - dane_query_deinit
    - dane_query_to_raw_tlsa
    - dane_state_init
    - crt_to_der
    - dane_state_deinit
    - fail
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void dane_raw_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dane.c:592,1
    - Dst: fail
      Src: /src/gnutls/tests/dane.c:594,1
    - Dst: exit
      Src: /src/gnutls/tests/dane.c:595,1
    - Dst: dane_raw_check
      Src: /src/gnutls/tests/dane.c:598,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dane.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dane.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_global_deinit
    - global_init
    - dane_raw_check
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:73,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:76,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:77,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:80,1
    - Dst: disable_system_calls
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:82,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:84,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:85,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:90,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:91,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:96,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:98,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:103,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:107,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:109,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:116,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:117,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:118,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:129,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:130,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:136,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:141,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:143,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:145,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 148
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 79
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - disable_system_calls
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:156,1
    - Dst: kill
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:157,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 33
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:171,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:174,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:175,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:178,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:183,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:185,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:186,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:191,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:191,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:193,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:195,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:198,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:199,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:201,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:203,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:204,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:205,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:208,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:211,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:212,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:213,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:218,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:224,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:226,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:227,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:228,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:234,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:237,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:238,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:240,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 246
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 91
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:253,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:255,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:258,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:261,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:264,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:265,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:272,1
    - Dst: server
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:273,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:275,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:276,1
    - Dst: close
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:278,1
    - Dst: client
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 282
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 21
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:286,1
    - Dst: run
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:287,1
    - Dst: run
      Src: /src/gnutls/tests/tls-client-with-seccomp.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-client-with-seccomp.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_legacy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:50,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:56,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:56,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:60,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:61,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:62,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_legacy.c
    functionUses: 19
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:75,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:80,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:81,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:81,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:82,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - xcred
    - key
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: set_cert
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_legacy.c
    functionUses: 2
    functionsReached:
    - fopen
    - assert
    - fclose
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_x509_key_file2
    - fail
    - get_tmpname
    linkageType: ''
    returnType: unsigned
    signature: "unsigned set_cert(gnutls_certificate_credentials_t xcred,\n\t\t\t
      const gnutls_datum_t *key, const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:104,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:107,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:114,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - xcred
    - idx
    - cert
    - ncerts
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: verify_written_cert
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_legacy.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_certificate_get_crt_raw
    - compare
    - fail
    linkageType: ''
    returnType: void
    signature: "void verify_written_cert(gnutls_certificate_credentials_t xcred,\n\t\t\t\tunsigned
      idx, const gnutls_datum_t *cert,\n\t\t\t\tunsigned ncerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:131,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:131,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:132,1
    - Dst: track_temp_files
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:133,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:139,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:143,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:144,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:144,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:149,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:151,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:153,1
    - Dst: verify_written_cert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:158,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:161,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:163,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:165,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:169,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:171,1
    - Dst: set_cert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:175,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:176,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:179,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:180,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:181,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/set_x509_key_file_legacy.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 183
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_legacy.c
    functionUses: 1
    functionsReached:
    - delete_temp_files
    - assert
    - gnutls_strerror
    - success
    - verify_written_cert
    - test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_key_file2
    - fail
    - gnutls_certificate_free_credentials
    - global_init
    - set_cert
    - gnutls_certificate_set_x509_trust_mem
    - track_temp_files
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume-with-false-start.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/resume-with-false-start.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/resume-with-false-start.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/resume-with-false-start.c:68,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-with-false-start.c:69,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-with-false-start.c:71,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/resume-with-false-start.c:73,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-false-start.c:76,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-with-false-start.c:77,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-false-start.c:80,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-false-start.c:81,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/resume-with-false-start.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/resume-with-false-start.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/resume-with-false-start.c:84,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/resume-with-false-start.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-false-start.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-false-start.c:90,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/resume-with-false-start.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-false-start.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-false-start.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-false-start.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-false-start.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-false-start.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-false-start.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-false-start.c:106,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/resume-with-false-start.c:108,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/resume-with-false-start.c:109,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/resume-with-false-start.c:110,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-with-false-start.c:112,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-with-false-start.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-false-start.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-false-start.c:115,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/resume-with-false-start.c:118,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-with-false-start.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-false-start.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-false-start.c:124,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-with-false-start.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-false-start.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-false-start.c:129,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-with-false-start.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-false-start.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-false-start.c:134,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-false-start.c:136,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-false-start.c:138,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-false-start.c:139,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-false-start.c:141,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-false-start.c:142,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-false-start.c:144,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-false-start.c:145,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/resume-with-false-start.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 148
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-with-false-start.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_set_default_priority
    - memset
    - gnutls_session_set_data
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_session_get_data2
    - exit
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:40,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:44,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:54,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:58,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:62,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:66,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:70,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:74,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:78,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:83,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:92,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:99,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:106,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:113,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:121,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:128,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:137,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:144,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:151,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:158,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:172,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:176,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:180,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:184,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:188,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:192,1
    - Dst: try_x509_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:195,1
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:203,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:210,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:215,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:224,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:229,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:234,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:239,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:244,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:249,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:254,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:262,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:268,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:276,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:282,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:289,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:295,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:301,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:308,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:315,1
    - Dst: try_with_rawpk_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:322,1
    - Dst: try_with_rawpk_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:328,1
    - Dst: try_with_rawpk_key_fail
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:335,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-cert-key-exchange.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 347
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - try_with_key
    - try_with_key_ks
    - gnutls_global_deinit
    - global_init
    - try_with_rawpk_key_fail
    - try_rawpk
    - try_x509
    - try_with_key_fail
    - try_x509_ks
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/conv-utf8.c:48,1
    - Dst: printf
      Src: /src/gnutls/tests/conv-utf8.c:50,1
    - Dst: printf
      Src: /src/gnutls/tests/conv-utf8.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str
    - val
    - size
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: PRINT
    functionSourceFile: /src/gnutls/tests/conv-utf8.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PRINT(const char *str, unsigned char *val, unsigned int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:131,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:132,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:133,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:134,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:135,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:136,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:137,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:138,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:139,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:140,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/conv-utf8.c:141,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/conv-utf8.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnutls/tests/conv-utf8.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/aead-cipher-vec.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/aead-cipher-vec.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/aead-cipher-vec.c:55,1
    - Dst: assert
      Src: /src/gnutls/tests/aead-cipher-vec.c:56,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/aead-cipher-vec.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/aead-cipher-vec.c:60,1
    - Dst: memset
      Src: /src/gnutls/tests/aead-cipher-vec.c:62,1
    - Dst: memset
      Src: /src/gnutls/tests/aead-cipher-vec.c:63,1
    - Dst: memset
      Src: /src/gnutls/tests/aead-cipher-vec.c:64,1
    - Dst: memset
      Src: /src/gnutls/tests/aead-cipher-vec.c:65,1
    - Dst: success
      Src: /src/gnutls/tests/aead-cipher-vec.c:79,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/aead-cipher-vec.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/aead-cipher-vec.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/aead-cipher-vec.c:83,1
    - Dst: gnutls_aead_cipher_encryptv2
      Src: /src/gnutls/tests/aead-cipher-vec.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/aead-cipher-vec.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/aead-cipher-vec.c:91,1
    - Dst: gnutls_aead_cipher_decryptv2
      Src: /src/gnutls/tests/aead-cipher-vec.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/aead-cipher-vec.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/aead-cipher-vec.c:98,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/aead-cipher-vec.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - name
    - algo
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 102
    functionName: start
    functionSourceFile: /src/gnutls/tests/aead-cipher-vec.c
    functionUses: 125
    functionsReached:
    - success
    - assert
    - gnutls_strerror
    - gnutls_aead_cipher_decryptv2
    - gnutls_aead_cipher_encryptv2
    - gnutls_aead_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - gnutls_aead_cipher_deinit
    - fail
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void start(const char *name, int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/aead-cipher-vec.c:108,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/aead-cipher-vec.c:110,1
    - Dst: global_init
      Src: /src/gnutls/tests/aead-cipher-vec.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/aead-cipher-vec.c:114,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:117,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:118,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:119,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:120,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/aead-cipher-vec.c:121,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:122,1
    - Dst: start
      Src: /src/gnutls/tests/aead-cipher-vec.c:123,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/aead-cipher-vec.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: doit
    functionSourceFile: /src/gnutls/tests/aead-cipher-vec.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - fail
    - gnutls_fips140_mode_enabled
    - global_init
    - start
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crq_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:88,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:92,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:96,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:100,1
    - Dst: gnutls_x509_crq_set_key
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:104,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:109,1
    - Dst: gnutls_x509_crq_set_basic_constraints
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:113,1
    - Dst: gnutls_x509_crq_set_key_usage
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:117,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:122,1
    - Dst: gnutls_x509_crq_sign
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:126,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 131
    functionName: generate_crq
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crq_sign.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crq_set_version
    - gnutls_x509_crq_set_key
    - gnutls_x509_crq_set_basic_constraints
    - gnutls_x509_crq_set_key_usage
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crq_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_crq_sign
    - gnutls_x509_crq_get_extension_info
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: gnutls_x509_crq_t
    signature: gnutls_x509_crq_t generate_crq(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:137,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:138,1
    - Dst: gnutls_x509_crq_import
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:138,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:139,1
    - Dst: gnutls_x509_crq_verify
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:139,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pem
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: verify_crq
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crq_sign.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_import
    - assert
    - gnutls_x509_crq_verify
    - gnutls_x509_crq_deinit
    - gnutls_x509_crq_init
    linkageType: ''
    returnType: void
    signature: void verify_crq(const gnutls_datum_t *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:148,1
    - Dst: generate_crq
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:152,1
    - Dst: gnutls_x509_crq_export2
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:152,1
    - Dst: printf
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:158,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:158,1
    - Dst: verify_crq
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:160,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:162,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/gnutls_x509_crq_sign.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crq_sign.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_x509_crq_deinit
    - memcmp
    - generate_crq
    - verify_crq
    - gnutls_x509_crq_export2
    - printf
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-session-ext-override.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-session-ext-override.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:75,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-ext-override.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:78,1
    - Dst: gnutls_ext_set_data
      Src: /src/gnutls/tests/tls-session-ext-override.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: ext_recv_client_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 0
    functionsReached:
    - gnutls_ext_set_data
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_client_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-ext-override.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: ext_send_client_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_client_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:99,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-ext-override.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: ext_recv_server_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_server_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-ext-override.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ext_send_server_params
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_server_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-session-ext-override.c:124,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-session-ext-override.c:125,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-session-ext-override.c:127,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-ext-override.c:131,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-ext-override.c:135,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-ext-override.c:138,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-ext-override.c:143,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-ext-override.c:145,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-ext-override.c:146,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-ext-override.c:146,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-override.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:154,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-override.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:162,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-override.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:169,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-ext-override.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:176,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-session-ext-override.c:177,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-override.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:185,1
    - Dst: gnutls_ext_get_data
      Src: /src/gnutls/tests/tls-session-ext-override.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-override.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:193,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-ext-override.c:196,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-override.c:199,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-override.c:201,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-ext-override.c:203,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-session-ext-override.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 206
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 80
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_session_ext_register
    - gnutls_ext_get_data
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-session-ext-override.c:216,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-session-ext-override.c:217,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-session-ext-override.c:219,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-ext-override.c:223,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-session-ext-override.c:224,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-ext-override.c:227,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-ext-override.c:232,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-ext-override.c:235,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-override.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:243,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls-session-ext-override.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:250,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-ext-override.c:252,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-ext-override.c:253,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-ext-override.c:253,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-ext-override.c:255,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-override.c:257,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-override.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-ext-override.c:260,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-override.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:267,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-ext-override.c:271,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-override.c:273,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-ext-override.c:274,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-ext-override.c:276,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-session-ext-override.c:278,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-ext-override.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 282
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 92
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_session_ext_register
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-session-ext-override.c:290,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-session-ext-override.c:292,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-ext-override.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:295,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-session-ext-override.c:305,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-ext-override.c:307,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-ext-override.c:308,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-override.c:315,1
    - Dst: server
      Src: /src/gnutls/tests/tls-session-ext-override.c:316,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-session-ext-override.c:317,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-session-ext-override.c:318,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-ext-override.c:320,1
    - Dst: client
      Src: /src/gnutls/tests/tls-session-ext-override.c:321,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-session-ext-override.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - extension
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 324
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 324
    functionName: override_ext
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void override_ext(unsigned extension)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: override_ext
      Src: /src/gnutls/tests/tls-session-ext-override.c:328,1
    - Dst: override_ext
      Src: /src/gnutls/tests/tls-session-ext-override.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-session-ext-override.c
    functionUses: 1
    functionsReached:
    - override_ext
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:40,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:42,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:45,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:48,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:51,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:55,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:58,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:65,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:68,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:72,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:76,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:80,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:87,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:91,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:95,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:99,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls10-cert-key-exchange.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 107
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls10-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - try_with_key
    - gnutls_global_deinit
    - global_init
    - try_x509
    - try_x509_cli
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-sig-tls.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/system-override-sig-tls.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/system-override-sig-tls.c:85,1
    - Dst: memcmp
      Src: /src/gnutls/tests/system-override-sig-tls.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/system-override-sig-tls.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/system-override-sig-tls.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig-tls.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig-tls.c:106,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/system-override-sig-tls.c:108,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/system-override-sig-tls.c:109,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/system-override-sig-tls.c:110,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/system-override-sig-tls.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/system-override-sig-tls.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/system-override-sig-tls.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP16
    - SKIP8
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/system-override-sig-tls.c:132,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:135,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/system-override-sig-tls.c:137,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/system-override-sig-tls.c:140,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/system-override-sig-tls.c:141,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/system-override-sig-tls.c:144,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/system-override-sig-tls.c:145,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/system-override-sig-tls.c:147,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:149,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:150,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:151,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/system-override-sig-tls.c:153,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/system-override-sig-tls.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-sig-tls.c:158,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/system-override-sig-tls.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-sig-tls.c:163,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/system-override-sig-tls.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-sig-tls.c:167,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/system-override-sig-tls.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-sig-tls.c:172,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/system-override-sig-tls.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-sig-tls.c:176,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:178,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:179,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:180,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/system-override-sig-tls.c:182,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/system-override-sig-tls.c:184,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/system-override-sig-tls.c:188,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/system-override-sig-tls.c:190,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/system-override-sig-tls.c:191,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/system-override-sig-tls.c:193,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/system-override-sig-tls.c:194,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/system-override-sig-tls.c:196,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/system-override-sig-tls.c:197,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/system-override-sig-tls.c:199,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/system-override-sig-tls.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 202
    functionName: doit
    functionSourceFile: /src/gnutls/tests/system-override-sig-tls.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: doit
    functionSourceFile: /src/gnutls/tests/atfork.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_register_fork_handler
      Src: /src/gnutls/tests/atfork.c:58,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/tests/atfork.c:60,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/tests/atfork.c:61,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:62,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:63,1
    - Dst: fork
      Src: /src/gnutls/tests/atfork.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:69,1
    - Dst: fork
      Src: /src/gnutls/tests/atfork.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:75,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:76,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/tests/atfork.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:82,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:84,1
    - Dst: waitpid
      Src: /src/gnutls/tests/atfork.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:89,1
    - Dst: WIFEXITED
      Src: /src/gnutls/tests/atfork.c:92,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/atfork.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:94,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/tests/atfork.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:102,1
    - Dst: waitpid
      Src: /src/gnutls/tests/atfork.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:107,1
    - Dst: WIFEXITED
      Src: /src/gnutls/tests/atfork.c:110,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/atfork.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:112,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/tests/atfork.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/atfork.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/atfork.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/atfork.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 122
    functionName: doit
    functionSourceFile: /src/gnutls/tests/atfork.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - success
    - WIFEXITED
    - _gnutls_register_fork_handler
    - WEXITSTATUS
    - _gnutls_get_forkid
    - waitpid
    - fail
    - _gnutls_detect_fork
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/srp.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/srp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/srp.c:113,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/srp.c:116,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/srp.c:117,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/tests/srp.c:120,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/srp.c:121,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/tests/srp.c:123,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/srp.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/srp.c:130,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/srp.c:130,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/srp.c:131,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/srp.c:131,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/srp.c:135,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/srp.c:136,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/srp.c:138,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/srp.c:143,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/srp.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/srp.c:153,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/srp.c:154,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:155,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:158,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:162,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/srp.c:163,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/srp.c:164,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/srp.c:166,1
    - Dst: close
      Src: /src/gnutls/tests/srp.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/srp.c:170,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/tests/srp.c:172,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/srp.c:173,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/srp.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 5
    argNames:
    - fd
    - prio
    - user
    - pass
    - exp_err
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: client
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 81
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_srp_set_client_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_srp_allocate_client_credentials
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_srp_free_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *prio, const char *user, const char
      *pass,\n\t\t   int exp_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/srp.c:184,1
    - Dst: kill
      Src: /src/gnutls/tests/srp.c:185,1
    - Dst: wait
      Src: /src/gnutls/tests/srp.c:186,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 34
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/srp.c:199,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/srp.c:202,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/srp.c:203,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/tests/srp.c:206,1
    - Dst: gnutls_srp_set_server_credentials_file
      Src: /src/gnutls/tests/srp.c:207,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/srp.c:210,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/srp.c:211,1
    - Dst: assert
      Src: /src/gnutls/tests/srp.c:214,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/srp.c:214,1
    - Dst: assert
      Src: /src/gnutls/tests/srp.c:219,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/srp.c:219,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/srp.c:221,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/srp.c:222,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/srp.c:224,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/srp.c:225,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/srp.c:225,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/srp.c:228,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/srp.c:229,1
    - Dst: close
      Src: /src/gnutls/tests/srp.c:231,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/srp.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/srp.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/srp.c:234,1
    - Dst: terminate
      Src: /src/gnutls/tests/srp.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:238,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:241,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/srp.c:242,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/srp.c:243,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/srp.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/srp.c:248,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/srp.c:249,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/srp.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/srp.c:255,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/srp.c:256,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/tests/srp.c:258,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/srp.c:259,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/srp.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/srp.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 265
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 265
    functionName: server
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 93
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_srp_free_server_credentials
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - gnutls_srp_set_server_credentials_file
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - gnutls_handshake
    - global_init
    - gnutls_srp_allocate_server_credentials
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/srp.c:273,1
    - Dst: signal
      Src: /src/gnutls/tests/srp.c:275,1
    - Dst: socketpair
      Src: /src/gnutls/tests/srp.c:277,1
    - Dst: perror
      Src: /src/gnutls/tests/srp.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:280,1
    - Dst: fork
      Src: /src/gnutls/tests/srp.c:283,1
    - Dst: perror
      Src: /src/gnutls/tests/srp.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/srp.c:286,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:287,1
    - Dst: close
      Src: /src/gnutls/tests/srp.c:293,1
    - Dst: client
      Src: /src/gnutls/tests/srp.c:294,1
    - Dst: kill
      Src: /src/gnutls/tests/srp.c:296,1
    - Dst: wait
      Src: /src/gnutls/tests/srp.c:297,1
    - Dst: wait
      Src: /src/gnutls/tests/srp.c:299,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/srp.c:300,1
    - Dst: close
      Src: /src/gnutls/tests/srp.c:303,1
    - Dst: server
      Src: /src/gnutls/tests/srp.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - name
    - prio
    - user
    - pass
    - exp_err
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 307
    functionName: start
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 126
    functionsReached:
    - success
    - exit
    - fork
    - kill
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, const char *prio, const char *user,\n\t\t
      \ const char *pass, int exp_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/tests/srp.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:335,1
    - Dst: fwrite
      Src: /src/gnutls/tests/srp.c:337,1
    - Dst: strlen
      Src: /src/gnutls/tests/srp.c:337,1
    - Dst: fclose
      Src: /src/gnutls/tests/srp.c:338,1
    - Dst: fopen
      Src: /src/gnutls/tests/srp.c:340,1
    - Dst: exit
      Src: /src/gnutls/tests/srp.c:342,1
    - Dst: fwrite
      Src: /src/gnutls/tests/srp.c:344,1
    - Dst: strlen
      Src: /src/gnutls/tests/srp.c:344,1
    - Dst: fclose
      Src: /src/gnutls/tests/srp.c:345,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:347,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:349,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:351,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:353,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:355,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:357,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:359,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:362,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:367,1
    - Dst: start
      Src: /src/gnutls/tests/srp.c:372,1
    - Dst: remove
      Src: /src/gnutls/tests/srp.c:374,1
    - Dst: remove
      Src: /src/gnutls/tests/srp.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 376
    functionName: doit
    functionSourceFile: /src/gnutls/tests/srp.c
    functionUses: 1
    functionsReached:
    - fopen
    - remove
    - exit
    - fclose
    - strlen
    - fwrite
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/key-usage-ecdhe-rsa.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:118,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:119,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:121,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:124,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:125,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:129,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:130,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:133,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:134,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:135,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:140,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:145,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:149,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:151,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:154,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:156,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:158,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:159,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:160,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:171,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:172,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 175
    functionName: server_check
    functionSourceFile: /src/gnutls/tests/key-usage-ecdhe-rsa.c
    functionUses: 2
    functionsReached:
    - exit
    - success
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_trust_mem
    - HANDSHAKE_EXPECT
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:191,1
    - Dst: gnutls_pcert_import_x509_raw
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:195,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:200,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 221
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/key-usage-ecdhe-rsa.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - gnutls_pcert_import_x509_raw
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:236,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:237,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:239,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:242,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:243,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:246,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:247,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:248,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:252,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:253,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:254,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:259,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:261,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:264,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:268,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:273,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:275,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:277,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:278,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:279,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:281,1
    - Dst: success
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:285,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:286,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:288,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:289,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:291,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:292,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 295
    functionName: client_check
    functionSourceFile: /src/gnutls/tests/key-usage-ecdhe-rsa.c
    functionUses: 2
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_set_retrieve_function2
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void client_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_check
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:299,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:300,1
    - Dst: client_check
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:301,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:304,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:305,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-usage-ecdhe-rsa.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-usage-ecdhe-rsa.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - gnutls_free
    - client_check
    - gnutls_pcert_deinit
    - gnutls_privkey_deinit
    - server_check
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/ktls_keyupdate.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/ktls_keyupdate.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ktls_keyupdate.c:144,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/ktls_keyupdate.c:147,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/ktls_keyupdate.c:148,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ktls_keyupdate.c:151,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/ktls_keyupdate.c:153,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/ktls_keyupdate.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/ktls_keyupdate.c:156,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/ktls_keyupdate.c:156,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/ktls_keyupdate.c:158,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/ktls_keyupdate.c:160,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/ktls_keyupdate.c:162,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:164,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:166,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:167,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:168,1
    - Dst: read
      Src: /src/gnutls/tests/ktls_keyupdate.c:170,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:171,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:172,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:173,1
    - Dst: read
      Src: /src/gnutls/tests/ktls_keyupdate.c:175,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:176,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:177,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:178,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/ktls_keyupdate.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:182,1
    - Dst: close
      Src: /src/gnutls/tests/ktls_keyupdate.c:188,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/ktls_keyupdate.c:190,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ktls_keyupdate.c:192,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ktls_keyupdate.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - fd
    - prio
    - pipe
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 198
    functionName: client
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 82
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - RECV_MSG
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - CHECK_KTLS_ENABLED
    - close
    - gnutls_init
    - read
    - gnutls_transport_set_int
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - SEND_MSG
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/ktls_keyupdate.c:203,1
    - Dst: kill
      Src: /src/gnutls/tests/ktls_keyupdate.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 35
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ktls_keyupdate.c:217,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/ktls_keyupdate.c:220,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/ktls_keyupdate.c:221,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ktls_keyupdate.c:224,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/ktls_keyupdate.c:225,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:228,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/ktls_keyupdate.c:230,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/ktls_keyupdate.c:231,1
    - Dst: assert
      Src: /src/gnutls/tests/ktls_keyupdate.c:233,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/ktls_keyupdate.c:233,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/ktls_keyupdate.c:235,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/ktls_keyupdate.c:237,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/ktls_keyupdate.c:239,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:240,1
    - Dst: success
      Src: /src/gnutls/tests/ktls_keyupdate.c:241,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:242,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:243,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:244,1
    - Dst: success
      Src: /src/gnutls/tests/ktls_keyupdate.c:245,1
    - Dst: KEY_UPDATE
      Src: /src/gnutls/tests/ktls_keyupdate.c:246,1
    - Dst: write
      Src: /src/gnutls/tests/ktls_keyupdate.c:247,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:248,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:249,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/ktls_keyupdate.c:251,1
    - Dst: KEY_UPDATE
      Src: /src/gnutls/tests/ktls_keyupdate.c:252,1
    - Dst: write
      Src: /src/gnutls/tests/ktls_keyupdate.c:253,1
    - Dst: SEND_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:254,1
    - Dst: RECV_MSG
      Src: /src/gnutls/tests/ktls_keyupdate.c:255,1
    - Dst: CHECK_KTLS_ENABLED
      Src: /src/gnutls/tests/ktls_keyupdate.c:256,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/ktls_keyupdate.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/ktls_keyupdate.c:265,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/ktls_keyupdate.c:266,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ktls_keyupdate.c:268,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ktls_keyupdate.c:270,1
    - Dst: terminate
      Src: /src/gnutls/tests/ktls_keyupdate.c:273,1
    - Dst: success
      Src: /src/gnutls/tests/ktls_keyupdate.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 3
    argNames:
    - fd
    - prio
    - pipe
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 278
    functionName: server
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 94
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - RECV_MSG
    - gnutls_bye
    - terminate
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - CHECK_KTLS_ENABLED
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - KEY_UPDATE
    - HANDSHAKE
    - write
    - gnutls_global_set_log_level
    - gnutls_strerror
    - SEND_MSG
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, int pipe)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnutls/tests/ktls_keyupdate.c:294,1
    - Dst: success
      Src: /src/gnutls/tests/ktls_keyupdate.c:296,1
    - Dst: signal
      Src: /src/gnutls/tests/ktls_keyupdate.c:298,1
    - Dst: signal
      Src: /src/gnutls/tests/ktls_keyupdate.c:299,1
    - Dst: socket
      Src: /src/gnutls/tests/ktls_keyupdate.c:301,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:303,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:303,1
    - Dst: memset
      Src: /src/gnutls/tests/ktls_keyupdate.c:306,1
    - Dst: htonl
      Src: /src/gnutls/tests/ktls_keyupdate.c:308,1
    - Dst: bind
      Src: /src/gnutls/tests/ktls_keyupdate.c:311,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:313,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:313,1
    - Dst: getsockname
      Src: /src/gnutls/tests/ktls_keyupdate.c:317,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:319,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:319,1
    - Dst: fork
      Src: /src/gnutls/tests/ktls_keyupdate.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:324,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:324,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:325,1
    - Dst: listen
      Src: /src/gnutls/tests/ktls_keyupdate.c:331,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:333,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:333,1
    - Dst: accept
      Src: /src/gnutls/tests/ktls_keyupdate.c:336,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:338,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:338,1
    - Dst: close
      Src: /src/gnutls/tests/ktls_keyupdate.c:341,1
    - Dst: server
      Src: /src/gnutls/tests/ktls_keyupdate.c:342,1
    - Dst: wait
      Src: /src/gnutls/tests/ktls_keyupdate.c:344,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/ktls_keyupdate.c:345,1
    - Dst: socket
      Src: /src/gnutls/tests/ktls_keyupdate.c:347,1
    - Dst: fail
      Src: /src/gnutls/tests/ktls_keyupdate.c:349,1
    - Dst: strerror
      Src: /src/gnutls/tests/ktls_keyupdate.c:349,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:350,1
    - Dst: usleep
      Src: /src/gnutls/tests/ktls_keyupdate.c:353,1
    - Dst: connect
      Src: /src/gnutls/tests/ktls_keyupdate.c:354,1
    - Dst: close
      Src: /src/gnutls/tests/ktls_keyupdate.c:356,1
    - Dst: client
      Src: /src/gnutls/tests/ktls_keyupdate.c:357,1
    - Dst: exit
      Src: /src/gnutls/tests/ktls_keyupdate.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 360
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 360
    functionName: run
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 22
    functionsReached:
    - fork
    - usleep
    - socket
    - accept
    - htonl
    - signal
    - connect
    - close
    - pipe
    - client
    - memset
    - strerror
    - success
    - exit
    - check_wait_status
    - listen
    - bind
    - server
    - wait
    - getsockname
    - fail
    linkageType: ''
    returnType: void
    signature: void run(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/ktls_keyupdate.c:364,1
    - Dst: run
      Src: /src/gnutls/tests/ktls_keyupdate.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ktls_keyupdate.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/missingissuer_aia.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/missingissuer_aia.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/missingissuer_aia.c:69,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer_aia.c:69,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:72,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:74,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/tests/missingissuer_aia.c:76,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:79,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:79,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:85,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer_aia.c:90,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/missingissuer_aia.c:92,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/missingissuer_aia.c:100,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer_aia.c:100,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:105,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - tlist
    - crt
    - issuers
    - issuers_size
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 111
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 111
    functionName: getissuer_callback
    functionSourceFile: /src/gnutls/tests/missingissuer_aia.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_x509_crt_get_authority_info_access
    - assert
    - gnutls_free
    - gnutls_strerror
    - strlen
    - gnutls_x509_crt_list_import2
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int getissuer_callback(gnutls_x509_trust_list_t tlist,\n\t\t\t      const
      gnutls_x509_crt_t crt,\n\t\t\t      gnutls_x509_crt_t **issuers,\n\t\t\t      unsigned
      int *issuers_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:128,1
    - Dst: global_init
      Src: /src/gnutls/tests/missingissuer_aia.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer_aia.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:133,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/missingissuer_aia.c:136,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/missingissuer_aia.c:137,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/missingissuer_aia.c:140,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:144,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/missingissuer_aia.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:150,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer_aia.c:154,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/missingissuer_aia.c:156,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:159,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:162,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:163,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer_aia.c:166,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:170,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:174,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/missingissuer_aia.c:176,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:180,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer_aia.c:184,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/missingissuer_aia.c:186,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer_aia.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:189,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:190,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:194,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer_aia.c:196,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:198,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:199,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:202,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/missingissuer_aia.c:204,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/missingissuer_aia.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer_aia.c:208,1
    - Dst: gnutls_x509_trust_list_set_getissuer_function
      Src: /src/gnutls/tests/missingissuer_aia.c:211,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/missingissuer_aia.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer_aia.c:216,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer_aia.c:216,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/missingissuer_aia.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer_aia.c:223,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer_aia.c:224,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:228,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/missingissuer_aia.c:230,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/missingissuer_aia.c:233,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:236,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/missingissuer_aia.c:238,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer_aia.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer_aia.c:243,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 244
    functionName: doit
    functionSourceFile: /src/gnutls/tests/missingissuer_aia.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_trust_list_deinit
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_trust_list_add_cas
    - gnutls_certificate_verification_status_print
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_set_getissuer_function
    - gnutls_x509_trust_list_init
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_trust_list_verify_crt
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:40,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:43,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:46,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:49,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:53,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:58,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:62,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:68,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:75,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:82,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:89,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:96,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:104,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:109,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:116,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:119,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:127,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:131,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:135,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:139,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:145,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:150,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:159,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:168,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:172,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:176,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:180,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:188,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:192,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:197,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:201,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:206,1
    - Dst: try_rawpk
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:211,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:215,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:220,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:225,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:229,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:234,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:239,1
    - Dst: try_rawpk_cli
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:244,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:251,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:258,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:264,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:271,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:277,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:284,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:291,1
    - Dst: try_with_rawpk_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:298,1
    - Dst: try_with_rawpk_key_fail
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:305,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:313,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:322,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:328,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:334,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:341,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:347,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:353,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:360,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-cert-key-exchange.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 372
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - try_with_key
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    - global_init
    - try_with_rawpk_key_fail
    - try_rawpk_cli
    - try_rawpk
    - try_x509
    - try_x509_cli
    - try_with_key_fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:85,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:86,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:89,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:93,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:94,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:95,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:98,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:105,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:107,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:112,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:116,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:125,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:126,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:127,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:131,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:136,1
    - Dst: gnutls_heartbeat_pong
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:149,1
    - Dst: gnutls_heartbeat_ping
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:153,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:162,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:166,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:170,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:172,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - fd
    - server_init
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 175
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 83
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_heartbeat_pong
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_heartbeat_ping
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int server_init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:181,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:182,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:183,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: initialize_tls_session
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 2
    functionsReached:
    - gnutls_init
    - gnutls_heartbeat_enable
    - gnutls_dtls_set_mtu
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t initialize_tls_session(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:199,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:200,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 36
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:213,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:216,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:217,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:220,1
    - Dst: initialize_tls_session
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:222,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:223,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:225,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:228,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:229,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:231,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:234,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:238,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:241,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:242,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:243,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:250,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:255,1
    - Dst: gnutls_heartbeat_pong
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:258,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:259,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:260,1
    - Dst: gnutls_heartbeat_ping
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:275,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:275,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:276,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:282,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:284,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:285,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:287,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:289,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:292,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - fd
    - server_init
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 293
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 293
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 95
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - initialize_tls_session
    - gnutls_transport_set_int
    - success
    - gnutls_protocol_get_version
    - gnutls_protocol_get_name
    - gnutls_heartbeat_pong
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_heartbeat_ping
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int server_init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:300,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:302,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:305,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:308,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:310,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:311,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:312,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:319,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:320,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:321,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:323,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:324,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - server_initiated
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 327
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 327
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 127
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int server_initiated)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:331,1
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-heartbeat.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-heartbeat.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/custom-urls.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/custom-urls.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:68,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/custom-urls.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - url
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: url_import_key
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_x509_raw
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int url_import_key(gnutls_privkey_t pkey, const char *url,\n\t\t\t
      \ unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/custom-urls.c:78,1
    - Dst: abort
      Src: /src/gnutls/tests/custom-urls.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:80,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/custom-urls.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - crt
    - url
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: url_import_crt
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 0
    functionsReached:
    - abort
    - gnutls_x509_crt_import
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int url_import_crt(gnutls_x509_crt_t crt, const char *url,\n\t\t\t
      \ unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/custom-urls.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/custom-urls.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls.c:99,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/custom-urls.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/custom-urls.c:102,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/custom-urls.c:104,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/custom-urls.c:109,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/custom-urls.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:113,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/custom-urls.c:114,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/custom-urls.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/custom-urls.c:124,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/custom-urls.c:126,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls.c:128,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls.c:130,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/custom-urls.c:132,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/custom-urls.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 135
    functionName: client
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 84
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls.c:142,1
    - Dst: kill
      Src: /src/gnutls/tests/custom-urls.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 37
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/custom-urls.c:155,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/tests/custom-urls.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls.c:160,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls.c:161,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/tests/custom-urls.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls.c:168,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls.c:169,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/custom-urls.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls.c:177,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/custom-urls.c:177,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/custom-urls.c:180,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/custom-urls.c:182,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/custom-urls.c:185,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/custom-urls.c:186,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls.c:188,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls.c:191,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls.c:192,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls.c:195,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls.c:198,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/custom-urls.c:199,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/custom-urls.c:200,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/custom-urls.c:204,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls.c:206,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls.c:207,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/custom-urls.c:209,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/custom-urls.c:211,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 215
    functionName: server
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 96
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_file
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/custom-urls.c:227,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/custom-urls.c:230,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/custom-urls.c:231,1
    - Dst: gnutls_register_custom_url
      Src: /src/gnutls/tests/custom-urls.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:237,1
    - Dst: socketpair
      Src: /src/gnutls/tests/custom-urls.c:240,1
    - Dst: perror
      Src: /src/gnutls/tests/custom-urls.c:242,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:243,1
    - Dst: fork
      Src: /src/gnutls/tests/custom-urls.c:246,1
    - Dst: perror
      Src: /src/gnutls/tests/custom-urls.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls.c:249,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:250,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls.c:255,1
    - Dst: client
      Src: /src/gnutls/tests/custom-urls.c:256,1
    - Dst: kill
      Src: /src/gnutls/tests/custom-urls.c:257,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls.c:259,1
    - Dst: server
      Src: /src/gnutls/tests/custom-urls.c:260,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 263
    functionName: start
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 128
    functionsReached:
    - gnutls_strerror
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - global_init
    - client
    - perror
    - gnutls_register_custom_url
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/custom-urls.c:268,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/custom-urls.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/custom-urls.c:275,1
    - Dst: signal
      Src: /src/gnutls/tests/custom-urls.c:276,1
    - Dst: start
      Src: /src/gnutls/tests/custom-urls.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: doit
    functionSourceFile: /src/gnutls/tests/custom-urls.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/cve-2009-1416.c:54,1
    - Dst: global_init
      Src: /src/gnutls/tests/cve-2009-1416.c:59,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/cve-2009-1416.c:61,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/tests/cve-2009-1416.c:65,1
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/tests/cve-2009-1416.c:69,1
    - Dst: memcmp
      Src: /src/gnutls/tests/cve-2009-1416.c:73,1
    - Dst: printf
      Src: /src/gnutls/tests/cve-2009-1416.c:74,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cve-2009-1416.c:78,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cve-2009-1416.c:79,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cve-2009-1416.c:80,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cve-2009-1416.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cve-2009-1416.c:82,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/cve-2009-1416.c:84,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cve-2009-1416.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnutls/tests/cve-2009-1416.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - gnutls_global_deinit
    - gnutls_x509_privkey_generate
    - gnutls_fips140_mode_enabled
    - global_init
    - memcmp
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_init
    - printf
    - gnutls_x509_privkey_export_dsa_raw
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-register.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-ext-register.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:77,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-ext-register.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:80,1
    - Dst: gnutls_ext_set_data
      Src: /src/gnutls/tests/tls-ext-register.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: ext_recv_client_params
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_ext_set_data
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_client_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-ext-register.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: ext_send_client_params
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_client_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:101,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-ext-register.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: ext_recv_server_params
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_server_params(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-ext-register.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: ext_send_server_params
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_server_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-ext-register.c:126,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-ext-register.c:128,1
    - Dst: gnutls_ext_register
      Src: /src/gnutls/tests/tls-ext-register.c:133,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-register.c:136,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-ext-register.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-ext-register.c:142,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-register.c:144,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-ext-register.c:144,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-ext-register.c:148,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-ext-register.c:150,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-ext-register.c:151,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-ext-register.c:151,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-ext-register.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:158,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-ext-register.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-register.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:167,1
    - Dst: gnutls_ext_get_data
      Src: /src/gnutls/tests/tls-ext-register.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-ext-register.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:175,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-ext-register.c:178,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-register.c:181,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-ext-register.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-ext-register.c:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 186
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 85
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_ext_register
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_ext_get_data
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-ext-register.c:237,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-ext-register.c:239,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-ext-register.c:243,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-ext-register.c:244,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-ext-register.c:247,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-register.c:249,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-ext-register.c:249,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-ext-register.c:251,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-ext-register.c:253,1
    - Dst: gnutls_ext_register
      Src: /src/gnutls/tests/tls-ext-register.c:253,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-ext-register.c:258,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-ext-register.c:259,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-ext-register.c:259,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-ext-register.c:261,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-register.c:263,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-ext-register.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:265,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-ext-register.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-register.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:273,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-ext-register.c:277,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-register.c:279,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-ext-register.c:280,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-ext-register.c:282,1
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-register.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 286
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 97
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_ext_register
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-register.c:294,1
    - Dst: signal
      Src: /src/gnutls/tests/tls-ext-register.c:296,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-ext-register.c:302,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-ext-register.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:305,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-ext-register.c:309,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-ext-register.c:311,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-register.c:318,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-ext-register.c:320,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-ext-register.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-ext-register.c:323,1
    - Dst: waitpid
      Src: /src/gnutls/tests/tls-ext-register.c:327,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-ext-register.c:328,1
    - Dst: waitpid
      Src: /src/gnutls/tests/tls-ext-register.c:330,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-ext-register.c:331,1
    - Dst: server
      Src: /src/gnutls/tests/tls-ext-register.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-register.c:334,1
    - Dst: close
      Src: /src/gnutls/tests/tls-ext-register.c:337,1
    - Dst: client
      Src: /src/gnutls/tests/tls-ext-register.c:338,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-ext-register.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 341
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 341
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 129
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls-ext-register.c:348,1
    - Dst: start
      Src: /src/gnutls/tests/tls-ext-register.c:349,1
    - Dst: start
      Src: /src/gnutls/tests/tls-ext-register.c:350,1
    - Dst: gnutls_ext_register
      Src: /src/gnutls/tests/tls-ext-register.c:354,1
    - Dst: success
      Src: /src/gnutls/tests/tls-ext-register.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 364
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-ext-register.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_ext_register
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-mix.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/priority-mix.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/priority-mix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/priority-mix.c:70,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/priority-mix.c:71,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/priority-mix.c:73,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/priority-mix.c:75,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-mix.c:78,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/priority-mix.c:79,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-mix.c:82,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-mix.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-mix.c:84,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/priority-mix.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-mix.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/priority-mix.c:85,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-mix.c:86,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-mix.c:87,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-mix.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-mix.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:93,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/priority-mix.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-mix.c:100,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-mix.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-mix.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/priority-mix.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-mix.c:111,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/priority-mix.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-mix.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-mix.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-mix.c:114,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/priority-mix.c:116,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/priority-mix.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-mix.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:125,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/priority-mix.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-mix.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/priority-mix.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/priority-mix.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-mix.c:143,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/priority-mix.c:147,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/priority-mix.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-mix.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-mix.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-mix.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-mix.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/priority-mix.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 157
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priority-mix.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_verify_peers3
    - HANDSHAKE
    - gnutls_certificate_get_ours
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_pem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:56,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:60,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:64,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:69,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:73,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:76,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:82,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:86,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:88,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 96
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_pem.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_status_request_is_checked
    - gnutls_ocsp_status_request_get2
    - gnutls_protocol_get_version
    - fail
    - memcmp
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_pem.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:115,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:116,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:118,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:122,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:122,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:123,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:123,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:125,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:127,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:132,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:133,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:133,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:135,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:135,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:135,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:137,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:142,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:146,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:150,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:152,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:154,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:154,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:156,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:161,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:164,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:168,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:170,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:170,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:172,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:177,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:182,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:187,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:191,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:195,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:197,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:201,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:206,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:207,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:208,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:209,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 211
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_pem.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_get_ocsp_expiration
    - gnutls_certificate_set_ocsp_status_request_file2
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_pem.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_pem.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-tickets-ok.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-tickets-ok.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 0
    functionsReached:
    - success
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/session-tickets-ok.c:91,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-tickets-ok.c:94,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-tickets-ok.c:95,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-tickets-ok.c:98,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:100,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-tickets-ok.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:102,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-tickets-ok.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-tickets-ok.c:104,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/session-tickets-ok.c:106,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/session-tickets-ok.c:109,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/session-tickets-ok.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-ok.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/session-tickets-ok.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:121,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/session-tickets-ok.c:122,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/session-tickets-ok.c:123,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-tickets-ok.c:125,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-ok.c:127,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-tickets-ok.c:129,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-tickets-ok.c:131,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-tickets-ok.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 134
    functionName: client
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 86
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:141,1
    - Dst: kill
      Src: /src/gnutls/tests/session-tickets-ok.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 38
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/session-tickets-ok.c:156,1
    - Dst: memset
      Src: /src/gnutls/tests/session-tickets-ok.c:157,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-tickets-ok.c:160,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-tickets-ok.c:161,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:164,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-tickets-ok.c:164,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:165,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/session-tickets-ok.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:169,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-tickets-ok.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:171,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/session-tickets-ok.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:172,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/session-tickets-ok.c:172,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/session-tickets-ok.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-ok.c:182,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-tickets-ok.c:182,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-tickets-ok.c:184,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/session-tickets-ok.c:186,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/session-tickets-ok.c:189,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/session-tickets-ok.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:197,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:201,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/session-tickets-ok.c:202,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/session-tickets-ok.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-ok.c:206,1
    - Dst: terminate
      Src: /src/gnutls/tests/session-tickets-ok.c:207,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-tickets-ok.c:212,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-ok.c:215,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-tickets-ok.c:216,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/session-tickets-ok.c:217,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-tickets-ok.c:219,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-tickets-ok.c:221,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 225
    functionName: server
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 99
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-ok.c:238,1
    - Dst: signal
      Src: /src/gnutls/tests/session-tickets-ok.c:239,1
    - Dst: signal
      Src: /src/gnutls/tests/session-tickets-ok.c:240,1
    - Dst: socketpair
      Src: /src/gnutls/tests/session-tickets-ok.c:242,1
    - Dst: perror
      Src: /src/gnutls/tests/session-tickets-ok.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:245,1
    - Dst: fork
      Src: /src/gnutls/tests/session-tickets-ok.c:248,1
    - Dst: perror
      Src: /src/gnutls/tests/session-tickets-ok.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-ok.c:251,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:252,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-ok.c:257,1
    - Dst: server
      Src: /src/gnutls/tests/session-tickets-ok.c:258,1
    - Dst: waitpid
      Src: /src/gnutls/tests/session-tickets-ok.c:259,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/session-tickets-ok.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-ok.c:262,1
    - Dst: client
      Src: /src/gnutls/tests/session-tickets-ok.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-ok.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 268
    functionName: start
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 130
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-ok.c:272,1
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-ok.c:273,1
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-ok.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: doit
    functionSourceFile: /src/gnutls/tests/session-tickets-ok.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_with_key_ks
      Src: /src/gnutls/tests/common-cert-key-exchange.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - serv_key
    - cli_cert
    - cli_key
    - client_cert
    - server_ctype
    - client_ctype
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - gnutls_certificate_type_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/common-cert-key-exchange.h
    functionUses: 5
    functionsReached:
    - try_with_key_ks
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *client_prio,\n\t     gnutls_kx_algorithm_t
      client_kx,\n\t     gnutls_sign_algorithm_t server_sign_algo,\n\t     gnutls_sign_algorithm_t
      client_sign_algo,\n\t     const gnutls_datum_t *serv_cert, const gnutls_datum_t
      *serv_key,\n\t     const gnutls_datum_t *cli_cert, const gnutls_datum_t *cli_key,\n\t
      \    unsigned client_cert, gnutls_certificate_type_t server_ctype,\n\t     gnutls_certificate_type_t
      client_ctype)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/tests/base64-raw.c:44,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:46,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:47,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:48,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:52,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:53,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:54,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/base64-raw.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:58,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:63,1
    - Dst: gnutls_base64_encode2
      Src: /src/gnutls/tests/base64-raw.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:67,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:69,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:73,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:75,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/base64-raw.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:79,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - test_name
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: encode
    functionSourceFile: /src/gnutls/tests/base64-raw.c
    functionUses: 22
    functionsReached:
    - strncasecmp
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - gnutls_base64_encode2
    - gnutls_pem_base64_encode2
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_base64_encode2
      Src: /src/gnutls/tests/base64-raw.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:99,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:103,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:105,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/base64-raw.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:111,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:114,1
    - Dst: gnutls_base64_encode2
      Src: /src/gnutls/tests/base64-raw.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:120,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:124,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:126,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/base64-raw.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:135,1
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:138,1
    - Dst: gnutls_base64_decode2
      Src: /src/gnutls/tests/base64-raw.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:149,1
    - Dst: memcmp
      Src: /src/gnutls/tests/base64-raw.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:153,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - test_name
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 161
    functionName: encode_new
    functionSourceFile: /src/gnutls/tests/base64-raw.c
    functionUses: 0
    functionsReached:
    - gnutls_base64_encode2
    - gnutls_strerror
    - exit
    - strncasecmp
    - strlen
    - gnutls_free
    - gnutls_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode_new(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \      const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/base64-raw.c:170,1
    - Dst: gnutls_base64_decode2
      Src: /src/gnutls/tests/base64-raw.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/base64-raw.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:187,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:189,1
    - Dst: memcmp
      Src: /src/gnutls/tests/base64-raw.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/base64-raw.c:193,1
    - Dst: exit
      Src: /src/gnutls/tests/base64-raw.c:195,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/base64-raw.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - test_name
    - raw
    - hex
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 201
    functionName: decode_new
    functionSourceFile: /src/gnutls/tests/base64-raw.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - gnutls_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode_new(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \      const char *hex, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/base64-raw.c:265,1
    - Dst: encode_new
      Src: /src/gnutls/tests/base64-raw.c:267,1
    - Dst: decode_new
      Src: /src/gnutls/tests/base64-raw.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: doit
    functionSourceFile: /src/gnutls/tests/base64-raw.c
    functionUses: 1
    functionsReached:
    - encode
    - encode_new
    - decode_new
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set-default-prio.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/set-default-prio.c:69,1
    - Dst: success
      Src: /src/gnutls/tests/set-default-prio.c:71,1
    - Dst: global_init
      Src: /src/gnutls/tests/set-default-prio.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set-default-prio.c:80,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set-default-prio.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/set-default-prio.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set-default-prio.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/set-default-prio.c:85,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/set-default-prio.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/set-default-prio.c:89,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/set-default-prio.c:89,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/set-default-prio.c:90,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/set-default-prio.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set-default-prio.c:94,1
    - Dst: gnutls_set_default_priority_append
      Src: /src/gnutls/tests/set-default-prio.c:96,1
    - Dst: strchr
      Src: /src/gnutls/tests/set-default-prio.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:105,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:122,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set-default-prio.c:122,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/set-default-prio.c:126,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/set-default-prio.c:127,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/set-default-prio.c:128,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set-default-prio.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:133,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set-default-prio.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/set-default-prio.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/set-default-prio.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:147,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/tests/set-default-prio.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:151,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/set-default-prio.c:153,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/set-default-prio.c:154,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/set-default-prio.c:155,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/set-default-prio.c:157,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/set-default-prio.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:166,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/set-default-prio.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/set-default-prio.c:172,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/set-default-prio.c:173,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/set-default-prio.c:174,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/set-default-prio.c:175,1
    - Dst: memset
      Src: /src/gnutls/tests/set-default-prio.c:185,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/set-default-prio.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:197,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/set-default-prio.c:200,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set-default-prio.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:204,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:208,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:209,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/set-default-prio.c:215,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set-default-prio.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:219,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:225,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/set-default-prio.c:230,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:235,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/set-default-prio.c:238,1
    - Dst: fprintf
      Src: /src/gnutls/tests/set-default-prio.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/set-default-prio.c:243,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/set-default-prio.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/set-default-prio.c:248,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/set-default-prio.c:250,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set-default-prio.c:251,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/set-default-prio.c:253,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set-default-prio.c:255,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set-default-prio.c:257,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/set-default-prio.c:258,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 125
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 259
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 259
    functionName: start
    functionSourceFile: /src/gnutls/tests/set-default-prio.c
    functionUses: 131
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - strchr
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_session_ext_master_secret_status
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_certificate_get_ours
    - gnutls_strerror
    - gnutls_set_default_priority_append
    - gnutls_certificate_verify_peers
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void start(struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/set-default-prio.c:296,1
    - Dst: start
      Src: /src/gnutls/tests/set-default-prio.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set-default-prio.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:60,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:61,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:62,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:67,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:68,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:70,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:72,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:74,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:75,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:77,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:81,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:83,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:85,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:86,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:90,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:93,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:96,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:98,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:100,1
    - Dst: assert_return_code
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:102,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:104,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:105,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:106,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:108,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:116,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:120,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:123,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:127,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:131,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:133,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:136,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:139,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:145,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:147,1
    - Dst: assert_int_equal
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:148,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:150,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:154,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:155,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:157,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:158,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:160,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:161,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 2
    argNames:
    - glob_state
    - appdata
    argTypes:
    - void**
    - unsigned
    constantsTouched: []
    func_position:
      end: 164
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 164
    functionName: test_rehandshake
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - assert_int_equal
    - gnutls_global_init
    - HANDSHAKE
    - assert_return_code
    - gnutls_handshake
    linkageType: ''
    returnType: void
    signature: void test_rehandshake(void **glob_state, unsigned appdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: tls12_rehandshake_server
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - test_rehandshake
    linkageType: ''
    returnType: void
    signature: void tls12_rehandshake_server(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tls12_rehandshake_server_appdata
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert.c
    functionUses: 0
    functionsReached:
    - test_rehandshake
    linkageType: ''
    returnType: void
    signature: void tls12_rehandshake_server_appdata(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:179,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:180,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/tls12-rehandshake-cert.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:81,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:92,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:96,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:96,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:96,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 0
    functionsReached:
    - success
    - assert
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:115,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:121,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:123,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:124,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:125,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP16
    - SKIP8
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:143,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:146,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:147,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:150,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:154,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:155,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:155,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:158,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:161,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:164,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:164,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:165,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:170,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:179,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:182,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:186,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:187,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:188,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:190,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:194,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:196,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:198,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 201
    functionName: client
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 87
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:211,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:214,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:215,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:218,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:219,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:222,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:223,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:223,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:225,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:233,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:236,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:238,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:241,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:252,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:253,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:254,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:256,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:257,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:259,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:262,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:263,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:265,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 271
    functionName: server
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 100
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:284,1
    - Dst: signal
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:285,1
    - Dst: socketpair
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:289,1
    - Dst: perror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:292,1
    - Dst: fork
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:295,1
    - Dst: perror
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:298,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:299,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:304,1
    - Dst: server
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:305,1
    - Dst: waitpid
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:306,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:307,1
    - Dst: close
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:309,1
    - Dst: client
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:310,1
    - Dst: exit
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: start
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 132
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(unsigned val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:319,1
    - Dst: start
      Src: /src/gnutls/tests/gnutls_ext_raw_parse.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_ext_raw_parse.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:58,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:60,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - buf
    - buf_size
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: dump
    functionSourceFile: /src/gnutls/tests/pubkey-import-export.c
    functionUses: 10
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, unsigned char *buf, int buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:138,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:139,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:141,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pubkey-import-export.c:144,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:145,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:146,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - name
    - line
    - v1
    - v2
    - size
    argTypes:
    - char*
    - int
    - gnutls_datum_t*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: cmp
    functionSourceFile: /src/gnutls/tests/pubkey-import-export.c
    functionUses: 423
    functionsReached:
    - exit
    - dump
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cmp(const char *name, int line, gnutls_datum_t *v1,\n\t       unsigned
      char *v2, unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:168,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:169,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:170,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:171,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pubkey-import-export.c:174,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:175,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:176,1
    - Dst: dump
      Src: /src/gnutls/tests/pubkey-import-export.c:177,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - name
    - line
    - v1
    - i2
    - size
    argTypes:
    - char*
    - int
    - gnutls_datum_t*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: cmp_no_lz
    functionSourceFile: /src/gnutls/tests/pubkey-import-export.c
    functionUses: 0
    functionsReached:
    - exit
    - dump
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cmp_no_lz(const char *name, int line, gnutls_datum_t *v1,\n\t\t
      \    unsigned char *i2, unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pubkey-import-export.c:192,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pubkey-import-export.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:196,1
    - Dst: gnutls_pubkey_import_dsa_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:201,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pubkey-import-export.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:206,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:206,1
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:210,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:212,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:213,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:214,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:215,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:216,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:217,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:218,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:219,1
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:224,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:224,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:226,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:227,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:228,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:229,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:230,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:231,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:232,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:233,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pubkey-import-export.c:234,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pubkey-import-export.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:239,1
    - Dst: gnutls_pubkey_import_rsa_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:243,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pubkey-import-export.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:248,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:248,1
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:252,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:254,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:255,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:256,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:257,1
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:262,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:264,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:265,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:266,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:267,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pubkey-import-export.c:268,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pubkey-import-export.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:273,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:278,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pubkey-import-export.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:283,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:283,1
    - Dst: gnutls_pubkey_export_ecc_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:287,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:290,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:291,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:293,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:294,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:295,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:296,1
    - Dst: gnutls_pubkey_export_ecc_raw2
      Src: /src/gnutls/tests/pubkey-import-export.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:301,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pubkey-import-export.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:305,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:307,1
    - Dst: CMP_NO_LZ
      Src: /src/gnutls/tests/pubkey-import-export.c:308,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:309,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:310,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pubkey-import-export.c:311,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pubkey-import-export.c:314,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:316,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:319,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:322,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:324,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:327,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pubkey-import-export.c:330,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:332,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:332,1
    - Dst: gnutls_pubkey_verify_params
      Src: /src/gnutls/tests/pubkey-import-export.c:334,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:336,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pubkey-import-export.c:336,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/tests/pubkey-import-export.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:340,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:343,1
    - Dst: CMP
      Src: /src/gnutls/tests/pubkey-import-export.c:345,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pubkey-import-export.c:346,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pubkey-import-export.c:347,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 350
    functionName: check_pubkey_import_export
    functionSourceFile: /src/gnutls/tests/pubkey-import-export.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_import_dsa_raw
    - CMP_NO_LZ
    - gnutls_pubkey_export_dsa_raw2
    - gnutls_pubkey_verify_params
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_export_rsa_raw2
    - gnutls_pubkey_export_ecc_raw2
    - gnutls_pubkey_import_ecc_raw
    - exit
    - CMP
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pubkey_export_ecc_raw
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_pubkey_import_rsa_raw
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int check_pubkey_import_export(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_pubkey_import_export
      Src: /src/gnutls/tests/pubkey-import-export.c:354,1
    - Dst: fail
      Src: /src/gnutls/tests/pubkey-import-export.c:355,1
    - Dst: exit
      Src: /src/gnutls/tests/pubkey-import-export.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pubkey-import-export.c
    functionUses: 1
    functionsReached:
    - check_pubkey_import_export
    - exit
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/resume-dtls.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume-dtls.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-dtls.c:108,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-dtls.c:109,1
    - Dst: global_init
      Src: /src/gnutls/tests/resume-dtls.c:111,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/resume-dtls.c:113,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-dtls.c:120,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-dtls.c:124,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-dtls.c:129,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-dtls.c:136,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-dtls.c:140,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-dtls.c:142,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-dtls.c:145,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/resume-dtls.c:149,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/resume-dtls.c:149,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-dtls.c:150,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-dtls.c:152,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume-dtls.c:153,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-dtls.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:157,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:161,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-dtls.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:168,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-dtls.c:172,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:180,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:183,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume-dtls.c:188,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume-dtls.c:188,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-dtls.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-dtls.c:196,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:201,1
    - Dst: fputc
      Src: /src/gnutls/tests/resume-dtls.c:203,1
    - Dst: fputs
      Src: /src/gnutls/tests/resume-dtls.c:205,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-dtls.c:208,1
    - Dst: close
      Src: /src/gnutls/tests/resume-dtls.c:210,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-dtls.c:212,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/resume-dtls.c:216,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - sds
    - params
    argTypes:
    - int[]
    - struct params_res*
    constantsTouched: []
    func_position:
      end: 217
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 217
    functionName: client
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 88
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_session_set_data
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - success
    - gnutls_session_is_resumed
    - strlen
    - gnutls_priority_set_direct
    - fputc
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[], struct params_res *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/resume-dtls.c:230,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/resume-dtls.c:236,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/resume-dtls.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: generate_dh_params
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 2
    functionsReached:
    - gnutls_dh_params_init
    - gnutls_dh_params_import_pkcs3
    - strlen
    linkageType: ''
    returnType: int
    signature: int generate_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:246,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/resume-dtls.c:248,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/resume-dtls.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: global_stop
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_global_deinit
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void global_stop(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-dtls.c:264,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-dtls.c:265,1
    - Dst: global_init
      Src: /src/gnutls/tests/resume-dtls.c:268,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/resume-dtls.c:269,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:272,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/resume-dtls.c:274,1
    - Dst: wrap_db_init
      Src: /src/gnutls/tests/resume-dtls.c:277,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-dtls.c:281,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-dtls.c:286,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-dtls.c:288,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-dtls.c:293,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/tests/resume-dtls.c:294,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/resume-dtls.c:297,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/resume-dtls.c:298,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/resume-dtls.c:299,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/resume-dtls.c:300,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume-dtls.c:304,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-dtls.c:307,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/resume-dtls.c:308,1
    - Dst: get_dtls_retransmit_timeout
      Src: /src/gnutls/tests/resume-dtls.c:308,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-dtls.c:309,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-dtls.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/resume-dtls.c:316,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-dtls.c:317,1
    - Dst: kill
      Src: /src/gnutls/tests/resume-dtls.c:318,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-dtls.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:324,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-dtls.c:330,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-dtls.c:331,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:335,1
    - Dst: kill
      Src: /src/gnutls/tests/resume-dtls.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:339,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume-dtls.c:345,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume-dtls.c:346,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-dtls.c:351,1
    - Dst: close
      Src: /src/gnutls/tests/resume-dtls.c:353,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-dtls.c:355,1
    - Dst: wrap_db_deinit
      Src: /src/gnutls/tests/resume-dtls.c:359,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-dtls.c:362,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/resume-dtls.c:363,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:366,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 2
    argNames:
    - sds
    - params
    argTypes:
    - int[]
    - struct params_res*
    constantsTouched: []
    func_position:
      end: 367
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 367
    functionName: server
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 102
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - kill
    - gnutls_anon_free_server_credentials
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dtls_set_timeouts
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_anon_set_server_dh_params
    - get_dtls_retransmit_timeout
    - gnutls_transport_set_int
    - gnutls_dh_set_prime_bits
    - success
    - strlen
    - gnutls_priority_set_direct
    - wrap_db_deinit
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_db_set_store_function
    - gnutls_session_ticket_key_generate
    - fail
    - gnutls_handshake
    - global_init
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - wrap_db_init
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: void
    signature: void server(int sds[], struct params_res *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/resume-dtls.c:373,1
    - Dst: signal
      Src: /src/gnutls/tests/resume-dtls.c:374,1
    - Dst: generate_dh_params
      Src: /src/gnutls/tests/resume-dtls.c:376,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:382,1
    - Dst: socketpair
      Src: /src/gnutls/tests/resume-dtls.c:387,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-dtls.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:390,1
    - Dst: fork
      Src: /src/gnutls/tests/resume-dtls.c:398,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-dtls.c:400,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-dtls.c:401,1
    - Dst: close
      Src: /src/gnutls/tests/resume-dtls.c:409,1
    - Dst: server
      Src: /src/gnutls/tests/resume-dtls.c:410,1
    - Dst: wait
      Src: /src/gnutls/tests/resume-dtls.c:411,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/resume-dtls.c:412,1
    - Dst: close
      Src: /src/gnutls/tests/resume-dtls.c:415,1
    - Dst: client
      Src: /src/gnutls/tests/resume-dtls.c:416,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/resume-dtls.c:417,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-dtls.c:418,1
    - Dst: global_stop
      Src: /src/gnutls/tests/resume-dtls.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 422
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - gnutls_global_deinit
    - check_wait_status
    - signal
    - server
    - generate_dh_params
    - close
    - socketpair
    - wait
    - client
    - printf
    - fail
    - global_stop
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/resume-dtls.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: wrap_db_init
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void wrap_db_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/resume-dtls.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: wrap_db_deinit
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void wrap_db_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:459,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:463,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:465,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:467,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:469,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:470,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:472,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:474,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:476,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume-dtls.c:488,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume-dtls.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - dbf
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 498
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 498
    functionName: wrap_db_store
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - success
    linkageType: ''
    returnType: int
    signature: int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:506,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:508,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:510,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:512,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:514,1
    - Dst: memcmp
      Src: /src/gnutls/tests/resume-dtls.c:522,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:524,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/resume-dtls.c:528,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume-dtls.c:532,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:536,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:538,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:540,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-dtls.c:542,1
    - Dst: success
      Src: /src/gnutls/tests/resume-dtls.c:550,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 552
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 552
    functionName: wrap_db_fetch
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_malloc
    - memcmp
    - memcpy
    - printf
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/resume-dtls.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: wrap_db_delete
    functionSourceFile: /src/gnutls/tests/resume-dtls.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int wrap_db_delete(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-ext-secret.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:61,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:67,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:68,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:70,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:71,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:72,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:74,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:75,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:76,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:79,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:80,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:81,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:84,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:85,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:86,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:88,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:91,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:96,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:102,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:113,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:117,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:121,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:123,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:124,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:125,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:131,1
    - Dst: abort
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:133,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:137,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:140,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:144,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:145,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:147,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:148,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - onclient
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 151
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 151
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-ext-secret.c
    functionUses: 28
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_session_ext_master_secret_status
    - gnutls_global_set_log_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - global_init
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(unsigned onclient)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:160,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-ext-secret.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-ext-secret.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - exit
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509-cert-callback.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/tests/x509-cert-callback.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:63,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/x509-cert-callback.c:68,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-cert-callback.c:72,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/tests/x509-cert-callback.c:77,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback.c:82,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/x509-cert-callback.c:84,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/x509-cert-callback.c:88,1
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/tests/x509-cert-callback.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 111
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/x509-cert-callback.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_certificate_client_get_request_status
    - gnutls_pcert_import_x509_list
    - gnutls_malloc
    - gnutls_x509_crt_list_import2
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/x509-cert-callback.c:130,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/x509-cert-callback.c:134,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/tests/x509-cert-callback.c:139,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:143,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback.c:144,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/x509-cert-callback.c:146,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/x509-cert-callback.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 168
    functionName: server_cert_callback
    functionSourceFile: /src/gnutls/tests/x509-cert-callback.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pcert_import_x509_list
    - gnutls_malloc
    - gnutls_x509_crt_list_import2
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    linkageType: ''
    returnType: int
    signature: "int server_cert_callback(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_datum_t *req_ca_rdn, int nreqs,\n\t\t\t\tconst gnutls_pk_algorithm_t
      *sign_algos,\n\t\t\t\tint sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t\tunsigned
      int *pcert_length,\n\t\t\t\tgnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509-cert-callback.c:182,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509-cert-callback.c:185,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509-cert-callback.c:186,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509-cert-callback.c:188,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback.c:191,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/x509-cert-callback.c:193,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback.c:196,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback.c:198,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback.c:198,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback.c:199,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback.c:200,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback.c:201,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509-cert-callback.c:202,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-cert-callback.c:206,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:208,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-cert-callback.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:213,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/x509-cert-callback.c:215,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-cert-callback.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:220,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-cert-callback.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:225,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-cert-callback.c:227,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-cert-callback.c:227,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-cert-callback.c:228,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-cert-callback.c:229,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-cert-callback.c:230,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/x509-cert-callback.c:232,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:236,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:248,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-cert-callback.c:251,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-cert-callback.c:252,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:255,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:256,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:257,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509-cert-callback.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:262,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:264,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:266,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:271,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback.c:273,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/x509-cert-callback.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:284,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:285,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-cert-callback.c:288,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-cert-callback.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:292,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:294,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/x509-cert-callback.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:299,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:300,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:301,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:303,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-cert-callback.c:306,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:307,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:308,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-cert-callback.c:310,1
    - Dst: memset
      Src: /src/gnutls/tests/x509-cert-callback.c:319,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/x509-cert-callback.c:328,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:330,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:332,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback.c:335,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:337,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:338,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:339,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:343,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:344,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/x509-cert-callback.c:354,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:356,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:358,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback.c:361,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:363,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:364,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:365,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:369,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:370,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/x509-cert-callback.c:380,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:382,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-cert-callback.c:383,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:384,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-cert-callback.c:388,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:390,1
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/tests/x509-cert-callback.c:394,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-cert-callback.c:395,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-cert-callback.c:396,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback.c:399,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-cert-callback.c:400,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:402,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:403,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback.c:405,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-cert-callback.c:406,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-cert-callback.c:408,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/x509-cert-callback.c:410,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 146
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 411
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 411
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509-cert-callback.c
    functionUses: 133
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_x509_crt_export2
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_x509_crt_import
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - exit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_client_get_request_status
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_certificate_get_ours
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_set_retrieve_function2
    - gnutls_certificate_verify_peers
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback.c:415,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback.c:416,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback.c:417,1
    - Dst: start
      Src: /src/gnutls/tests/x509-cert-callback.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-cert-callback.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-2.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-2.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-2.c:121,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record-2.c:122,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-2.c:125,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-2.c:126,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-record-2.c:129,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-2.c:130,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-2.c:134,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-2.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:140,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-2.c:145,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-2.c:146,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-2.c:148,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-2.c:153,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-2.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:157,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:159,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:166,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-2.c:167,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-2.c:168,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record-2.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:179,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record-2.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:196,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record-2.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:202,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/mini-record-2.c:206,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-record-2.c:211,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:222,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-2.c:228,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-2.c:230,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-record-2.c:232,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-2.c:233,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-2.c:235,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 236
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 89
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-record-2.c:243,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-record-2.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 39
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-2.c:260,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record-2.c:261,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-2.c:264,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-2.c:265,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-2.c:268,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-record-2.c:269,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-record-2.c:272,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-2.c:274,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-2.c:279,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:282,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-2.c:285,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-2.c:286,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-2.c:288,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-2.c:291,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-2.c:292,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-2.c:294,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-2.c:295,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:296,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:297,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-2.c:298,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:301,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:304,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-2.c:305,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-2.c:306,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-record-2.c:315,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:320,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:320,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:321,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:325,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record-2.c:331,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:335,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:336,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-2.c:337,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record-2.c:344,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:348,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-2.c:349,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-2.c:350,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:352,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-2.c:354,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record-2.c:359,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-2.c:361,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-2.c:362,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-record-2.c:364,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-2.c:365,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-2.c:367,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:370,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - fd
    - prio
    - ign
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 371
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 103
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-record-2.c:379,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-2.c:381,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:382,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-record-2.c:385,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-2.c:387,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-2.c:388,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:389,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-2.c:394,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-2.c:395,1
    - Dst: server
      Src: /src/gnutls/tests/mini-record-2.c:396,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-record-2.c:397,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-record-2.c:398,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-2.c:400,1
    - Dst: client
      Src: /src/gnutls/tests/mini-record-2.c:401,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-2.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - name
    - prio
    - ign
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 404
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 134
    functionsReached:
    - exit
    - fork
    - success
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio, int ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-record-2.c:442,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:444,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:445,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:446,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:447,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:448,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/mini-record-2.c:450,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:451,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:453,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:454,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:455,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:456,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:459,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-2.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 461
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-record-2.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int client_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-session-verify-function.c:54,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/mini-session-verify-function.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:57,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-session-verify-function.c:58,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/mini-session-verify-function.c:59,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-session-verify-function.c:60,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/mini-session-verify-function.c:63,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:65,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/mini-session-verify-function.c:66,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/mini-session-verify-function.c:67,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-session-verify-function.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: server_callback
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_handshake_get_last_out
    - gnutls_handshake_get_last_in
    - gnutls_protocol_get_version
    - gnutls_handshake_description_get_name
    - fail
    linkageType: ''
    returnType: int
    signature: int server_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-session-verify-function.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:136,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-session-verify-function.c:137,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:139,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-session-verify-function.c:141,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:141,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:142,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:143,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:144,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:145,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-session-verify-function.c:146,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:149,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:150,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:151,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:152,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:153,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:154,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:155,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:156,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-session-verify-function.c:158,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-session-verify-function.c:160,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-session-verify-function.c:161,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:163,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:164,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:166,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 174
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 174
    functionName: test_success1
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - HANDSHAKE
    - gnutls_session_set_verify_function
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - fail
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: void
    signature: void test_success1(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:197,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-session-verify-function.c:198,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:200,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-session-verify-function.c:202,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:202,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:203,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:204,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:205,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:206,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-session-verify-function.c:207,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:210,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:211,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:212,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:213,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:214,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:215,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:216,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:217,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/mini-session-verify-function.c:219,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:222,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:223,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:225,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 231
    functionName: test_failure_client
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_session_set_verify_function
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - HANDSHAKE_EXPECT
    - fail
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: void
    signature: void test_failure_client(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:254,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-session-verify-function.c:255,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:257,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:258,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-session-verify-function.c:259,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:259,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:260,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:261,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:262,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:263,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/mini-session-verify-function.c:264,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:267,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:268,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-session-verify-function.c:269,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-session-verify-function.c:270,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:271,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:272,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-session-verify-function.c:273,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:274,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/mini-session-verify-function.c:276,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:278,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:279,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:281,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-session-verify-function.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-session-verify-function.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 287
    functionName: test_failure_server
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_session_set_verify_function
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - HANDSHAKE_EXPECT
    - fail
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: void
    signature: void test_failure_server(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-session-verify-function.c:291,1
    - Dst: test_failure_client
      Src: /src/gnutls/tests/mini-session-verify-function.c:298,1
    - Dst: test_failure_server
      Src: /src/gnutls/tests/mini-session-verify-function.c:299,1
    - Dst: test_success1
      Src: /src/gnutls/tests/mini-session-verify-function.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 135
    functionsReached:
    - test_failure_server
    - success
    - test_failure_client
    - test_success1
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-session-verify-function.c:305,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-session-verify-function.c:306,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-session-verify-function.c:308,1
    - Dst: start
      Src: /src/gnutls/tests/mini-session-verify-function.c:310,1
    - Dst: start
      Src: /src/gnutls/tests/mini-session-verify-function.c:311,1
    - Dst: start
      Src: /src/gnutls/tests/mini-session-verify-function.c:312,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-session-verify-function.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-session-verify-function.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - global_init
    - start
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dn2.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/dn2.c:78,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/dn2.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/dn2.c:82,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/dn2.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/dn2.c:86,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/dn2.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/dn2.c:90,1
    - Dst: strlen
      Src: /src/gnutls/tests/dn2.c:94,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/dn2.c:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dn2.c:96,1
    - Dst: strlen
      Src: /src/gnutls/tests/dn2.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/dn2.c:99,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/dn2.c:103,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dn2.c:104,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dn2.c:105,1
    - Dst: success
      Src: /src/gnutls/tests/dn2.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dn2.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_global_deinit
    - success
    - global_init
    - strcasecmp
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_encode_ber_digest_info
      Src: /src/gnutls/tests/pkcs1-digest-info.c:47,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:49,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs1-digest-info.c:50,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:51,1
    - Dst: hexprint
      Src: /src/gnutls/tests/pkcs1-digest-info.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:58,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs1-digest-info.c:61,1
    - Dst: hexprint
      Src: /src/gnutls/tests/pkcs1-digest-info.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:63,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:65,1
    - Dst: gnutls_decode_ber_digest_info
      Src: /src/gnutls/tests/pkcs1-digest-info.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:71,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs1-digest-info.c:72,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:77,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:83,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:85,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs1-digest-info.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs1-digest-info.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - test_name
    - hash
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 97
    functionName: encode
    functionSourceFile: /src/gnutls/tests/pkcs1-digest-info.c
    functionUses: 23
    functionsReached:
    - gnutls_encode_ber_digest_info
    - exit
    - gnutls_strerror
    - gnutls_free
    - gnutls_decode_ber_digest_info
    - memcmp
    - hexprint
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, gnutls_digest_algorithm_t hash,\n\t\t
      \  const gnutls_datum_t *raw, const gnutls_datum_t *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_decode_ber_digest_info
      Src: /src/gnutls/tests/pkcs1-digest-info.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs1-digest-info.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:128,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs1-digest-info.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs1-digest-info.c:132,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs1-digest-info.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - test_name
    - hash
    - raw
    - di
    - res
    argTypes:
    - char*
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 138
    functionName: decode
    functionSourceFile: /src/gnutls/tests/pkcs1-digest-info.c
    functionUses: 13
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_decode_ber_digest_info
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, gnutls_digest_algorithm_t hash,\n\t\t
      \  const gnutls_datum_t *raw, const gnutls_datum_t *di, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/pkcs1-digest-info.c:217,1
    - Dst: decode
      Src: /src/gnutls/tests/pkcs1-digest-info.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs1-digest-info.c
    functionUses: 1
    functionsReached:
    - decode
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_pkcs12_cred.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_pkcs12_cred.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/set_pkcs12_cred.c:54,1
    - Dst: exit
      Src: /src/gnutls/tests/set_pkcs12_cred.c:55,1
    - Dst: global_init
      Src: /src/gnutls/tests/set_pkcs12_cred.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/set_pkcs12_cred.c:60,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_pkcs12_cred.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_pkcs12_cred.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_pkcs12_cred.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/set_pkcs12_cred.c:69,1
    - Dst: getenv
      Src: /src/gnutls/tests/set_pkcs12_cred.c:72,1
    - Dst: snprintf
      Src: /src/gnutls/tests/set_pkcs12_cred.c:76,1
    - Dst: success
      Src: /src/gnutls/tests/set_pkcs12_cred.c:79,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/gnutls/tests/set_pkcs12_cred.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/set_pkcs12_cred.c:84,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_pkcs12_cred.c:85,1
    - Dst: success
      Src: /src/gnutls/tests/set_pkcs12_cred.c:88,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_pkcs12_cred.c:90,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_pkcs12_cred.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 94
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_pkcs12_cred.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - success
    - gnutls_strerror
    - gnutls_global_deinit
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gnutls_certificate_allocate_credentials
    - snprintf
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_certificate_free_credentials
    - getenv
    - fail
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/x509-upnconstraint.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:123,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-upnconstraint.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:130,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/x509-upnconstraint.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:144,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-upnconstraint.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:151,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/x509-upnconstraint.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:157,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:163,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:165,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-upnconstraint.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:170,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:172,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/x509-upnconstraint.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:186,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-upnconstraint.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:193,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - name_constraints
    argTypes:
    - gnutls_x509_name_constraints_t
    constantsTouched: []
    func_position:
      end: 195
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 195
    functionName: verify_upn_constraints
    functionSourceFile: /src/gnutls/tests/x509-upnconstraint.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_name_constraints_get_permitted
    - memcmp
    - gnutls_x509_name_constraints_get_excluded
    - fail
    linkageType: ''
    returnType: void
    signature: void verify_upn_constraints(gnutls_x509_name_constraints_t name_constraints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-upnconstraint.c:206,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-upnconstraint.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:213,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/tests/x509-upnconstraint.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:219,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:221,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-upnconstraint.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - name_constraints
    argTypes:
    - gnutls_x509_name_constraints_t
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: verify_non_upn_leaf
    functionSourceFile: /src/gnutls/tests/x509-upnconstraint.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_x509_name_constraints_check_crt
    - fail
    linkageType: ''
    returnType: void
    signature: void verify_non_upn_leaf(gnutls_x509_name_constraints_t name_constraints)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509-upnconstraint.c:235,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509-upnconstraint.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:240,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:242,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/x509-upnconstraint.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-upnconstraint.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:251,1
    - Dst: gnutls_x509_crt_get_name_constraints
      Src: /src/gnutls/tests/x509-upnconstraint.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-upnconstraint.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/x509-upnconstraint.c:259,1
    - Dst: verify_upn_constraints
      Src: /src/gnutls/tests/x509-upnconstraint.c:262,1
    - Dst: verify_non_upn_leaf
      Src: /src/gnutls/tests/x509-upnconstraint.c:264,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/x509-upnconstraint.c:266,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509-upnconstraint.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/x509-upnconstraint.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-upnconstraint.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - success
    - gnutls_x509_name_constraints_init
    - gnutls_x509_name_constraints_deinit
    - verify_upn_constraints
    - gnutls_x509_crt_get_name_constraints
    - verify_non_upn_leaf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:46,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:47,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:48,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:49,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:50,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:51,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:52,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:55,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:56,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:57,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:59,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:60,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:61,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:64,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:65,1
    - Dst: ALGO_MATCHES
      Src: /src/gnutls/tests/sign-pk-api.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-pk-api.c
    functionUses: 1
    functionsReached:
    - ALGO_MATCHES
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:40,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:42,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:45,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:48,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:51,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:55,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:58,1
    - Dst: try_x509
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:65,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:69,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:73,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:77,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:81,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:88,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:92,1
    - Dst: try_x509_cli
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:96,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:100,1
    - Dst: try_with_key_fail
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:109,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls11-cert-key-exchange.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 116
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls11-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - try_with_key
    - gnutls_global_deinit
    - global_init
    - try_x509
    - try_x509_cli
    - try_with_key_fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-srp-id.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-srp-id.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:86,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:88,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:94,1
    - Dst: strcmp
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:96,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:99,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:103,1
    - Dst: strcmp
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:104,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:107,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 6
    argNames:
    - session
    - username
    - salt
    - verifier
    - generator
    - prime
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: srpfunc
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-srp-id.c
    functionUses: 0
    functionsReached:
    - gnutls_malloc
    - gnutls_srp_base64_decode2
    - strcmp
    - printf
    - fail
    linkageType: ''
    returnType: int
    signature: "int srpfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *salt, gnutls_datum_t *verifier,\n\t\t   gnutls_datum_t *generator,
      gnutls_datum_t *prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:127,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:138,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:140,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:143,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:145,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:146,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:149,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:150,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:151,1
    - Dst: gnutls_srp_set_server_credentials_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:153,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:156,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:158,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:159,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:160,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:163,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:164,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:165,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:166,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:170,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:171,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:173,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:174,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:178,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:182,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:186,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:191,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:193,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:196,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:200,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:202,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:203,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:204,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:206,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:209,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:210,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:210,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:212,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:218,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:221,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:223,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:227,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:228,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:230,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:231,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:233,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:234,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:235,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 3
    argNames:
    - prio
    - kx
    - allow_change
    argTypes:
    - char*
    - gnutls_kx_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 237
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 237
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-srp-id.c
    functionUses: 28
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_srp_set_client_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_srp_allocate_client_credentials
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_srp_free_server_credentials
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_srp_free_client_credentials
    - gnutls_srp_allocate_server_credentials
    - gnutls_srp_set_server_credentials_function
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: "void try(const char *prio, gnutls_kx_algorithm_t kx,\n\t\tunsigned
      allow_change)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:241,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:244,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:247,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:251,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:254,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-srp-id.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-srp-id.c
    functionUses: 1
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_random_art
      Src: /src/gnutls/tests/random-art.c:45,1
    - Dst: fail
      Src: /src/gnutls/tests/random-art.c:48,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/random-art.c:49,1
    - Dst: exit
      Src: /src/gnutls/tests/random-art.c:50,1
    - Dst: strlen
      Src: /src/gnutls/tests/random-art.c:53,1
    - Dst: fail
      Src: /src/gnutls/tests/random-art.c:54,1
    - Dst: strlen
      Src: /src/gnutls/tests/random-art.c:55,1
    - Dst: exit
      Src: /src/gnutls/tests/random-art.c:56,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/random-art.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/random-art.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/random-art.c:62,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/random-art.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - test_name
    - type
    - key_size
    - input
    - input_size
    - expected
    argTypes:
    - char*
    - char*
    - unsigned
    - unsigned char*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: encode
    functionSourceFile: /src/gnutls/tests/random-art.c
    functionUses: 24
    functionsReached:
    - strncasecmp
    - exit
    - gnutls_strerror
    - gnutls_random_art
    - strlen
    - gnutls_free
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const char *type, unsigned key_size,\n\t\t
      \  unsigned char *input, unsigned input_size,\n\t\t   const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/random-art.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: doit
    functionSourceFile: /src/gnutls/tests/random-art.c
    functionUses: 1
    functionsReached:
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/psk-importer.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/psk-importer.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/psk-importer.c:71,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/psk-importer.c:73,1
    - Dst: gnutls_psk_format_imported_identity
      Src: /src/gnutls/tests/psk-importer.c:80,1
    - Dst: memcmp
      Src: /src/gnutls/tests/psk-importer.c:89,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/psk-importer.c:91,1
    - Dst: printf
      Src: /src/gnutls/tests/psk-importer.c:92,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/psk-importer.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - session
    - username
    - key
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: server_pskfunc
    functionSourceFile: /src/gnutls/tests/psk-importer.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_psk_format_imported_identity
    - gnutls_malloc
    - memcmp
    - printf
    linkageType: ''
    returnType: int
    signature: "int server_pskfunc(gnutls_session_t session,\n\t\t\t  const gnutls_datum_t
      *username, gnutls_datum_t *key,\n\t\t\t  gnutls_psk_key_flags *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_format_imported_identity
      Src: /src/gnutls/tests/psk-importer.c:109,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/psk-importer.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - session
    - username
    - key
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: client_pskfunc
    functionSourceFile: /src/gnutls/tests/psk-importer.c
    functionUses: 0
    functionsReached:
    - gnutls_psk_format_imported_identity
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int client_pskfunc(gnutls_session_t session, gnutls_datum_t *username,\n\t\t\t
      \ gnutls_datum_t *key, gnutls_psk_key_flags *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/psk-importer.c:145,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/psk-importer.c:147,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/psk-importer.c:149,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/psk-importer.c:152,1
    - Dst: gnutls_psk_set_server_credentials_function3
      Src: /src/gnutls/tests/psk-importer.c:153,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/psk-importer.c:155,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/psk-importer.c:156,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/psk-importer.c:157,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/psk-importer.c:158,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/psk-importer.c:159,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/psk-importer.c:160,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/psk-importer.c:163,1
    - Dst: gnutls_psk_set_client_credentials_function3
      Src: /src/gnutls/tests/psk-importer.c:164,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/psk-importer.c:166,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/psk-importer.c:167,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/psk-importer.c:168,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/psk-importer.c:169,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/psk-importer.c:170,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/psk-importer.c:171,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/psk-importer.c:173,1
    - Dst: success
      Src: /src/gnutls/tests/psk-importer.c:176,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/tests/psk-importer.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-importer.c:179,1
    - Dst: gnutls_psk_server_get_username2
      Src: /src/gnutls/tests/psk-importer.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-importer.c:181,1
    - Dst: memcmp
      Src: /src/gnutls/tests/psk-importer.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/psk-importer.c:186,1
    - Dst: success
      Src: /src/gnutls/tests/psk-importer.c:188,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/psk-importer.c:191,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-importer.c:191,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/psk-importer.c:192,1
    - Dst: strlen
      Src: /src/gnutls/tests/psk-importer.c:192,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/psk-importer.c:194,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/psk-importer.c:195,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/psk-importer.c:197,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/psk-importer.c:198,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/psk-importer.c:200,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/psk-importer.c:201,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/psk-importer.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 204
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 204
    functionName: run_test
    functionSourceFile: /src/gnutls/tests/psk-importer.c
    functionUses: 1
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_psk_server_get_username
    - gnutls_transport_set_ptr
    - gnutls_psk_set_server_credentials_function3
    - gnutls_psk_set_client_credentials_function3
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_psk_allocate_server_credentials
    - TRANSFER
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_psk_server_get_username2
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void run_test(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/psk-importer.c:208,1
    - Dst: run_test
      Src: /src/gnutls/tests/psk-importer.c:209,1
    - Dst: run_test
      Src: /src/gnutls/tests/psk-importer.c:210,1
    - Dst: run_test
      Src: /src/gnutls/tests/psk-importer.c:212,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/psk-importer.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: doit
    functionSourceFile: /src/gnutls/tests/psk-importer.c
    functionUses: 1
    functionsReached:
    - global_init
    - run_test
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crq_apis.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crq_apis.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:105,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/crq_apis.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:109,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/tests/crq_apis.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:113,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/tests/crq_apis.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:117,1
    - Dst: gnutls_x509_crq_set_key
      Src: /src/gnutls/tests/crq_apis.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:121,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/tests/crq_apis.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:126,1
    - Dst: gnutls_x509_crq_set_basic_constraints
      Src: /src/gnutls/tests/crq_apis.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:130,1
    - Dst: gnutls_x509_crq_set_key_usage
      Src: /src/gnutls/tests/crq_apis.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:134,1
    - Dst: gnutls_x509_crq_get_challenge_password
      Src: /src/gnutls/tests/crq_apis.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:139,1
    - Dst: gnutls_x509_crq_set_dn
      Src: /src/gnutls/tests/crq_apis.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:144,1
    - Dst: gnutls_x509_crq_set_challenge_password
      Src: /src/gnutls/tests/crq_apis.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:150,1
    - Dst: gnutls_x509_crq_get_challenge_password
      Src: /src/gnutls/tests/crq_apis.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:156,1
    - Dst: gnutls_x509_crq_get_challenge_password
      Src: /src/gnutls/tests/crq_apis.c:159,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crq_apis.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:161,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/tests/crq_apis.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:167,1
    - Dst: gnutls_x509_crq_get_extension_data
      Src: /src/gnutls/tests/crq_apis.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:172,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:177,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:182,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:187,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:192,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:194,1
    - Dst: strlen
      Src: /src/gnutls/tests/crq_apis.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:200,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:205,1
    - Dst: gnutls_x509_crq_get_key_purpose_oid
      Src: /src/gnutls/tests/crq_apis.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:211,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/tests/crq_apis.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:217,1
    - Dst: gnutls_x509_crq_get_key_purpose_oid
      Src: /src/gnutls/tests/crq_apis.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:222,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/tests/crq_apis.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:228,1
    - Dst: gnutls_x509_crq_set_extension_by_oid
      Src: /src/gnutls/tests/crq_apis.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:238,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:239,1
    - Dst: gnutls_x509_crq_set_extension_by_oid
      Src: /src/gnutls/tests/crq_apis.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:245,1
    - Dst: gnutls_x509_crq_set_private_key_usage_period
      Src: /src/gnutls/tests/crq_apis.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:249,1
    - Dst: gnutls_x509_crq_print
      Src: /src/gnutls/tests/crq_apis.c:251,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:253,1
    - Dst: printf
      Src: /src/gnutls/tests/crq_apis.c:255,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:256,1
    - Dst: gnutls_x509_crq_sign2
      Src: /src/gnutls/tests/crq_apis.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:260,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crq_apis.c:262,1
    - Dst: gnutls_x509_crq_get_extension_by_oid2
      Src: /src/gnutls/tests/crq_apis.c:266,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:269,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:270,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:273,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:277,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:279,1
    - Dst: gnutls_x509_crq_get_extension_by_oid2
      Src: /src/gnutls/tests/crq_apis.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:285,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:286,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:290,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:293,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:296,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 299
    functionName: generate_crq
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_get_extension_data
    - gnutls_x509_crq_set_key_purpose_oid
    - gnutls_x509_crq_set_key
    - gnutls_x509_crq_set_dn
    - gnutls_x509_crq_set_challenge_password
    - strcmp
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_x509_crq_get_extension_by_oid2
    - gnutls_x509_crq_get_challenge_password
    - gnutls_x509_crq_print
    - gnutls_x509_crq_set_version
    - memcmp
    - gnutls_x509_crq_set_key_usage
    - gnutls_x509_crq_init
    - gnutls_x509_privkey_init
    - gnutls_x509_crq_set_extension_by_oid
    - gnutls_x509_crq_sign2
    - strlen
    - gnutls_x509_crq_set_basic_constraints
    - gnutls_x509_crq_get_key_purpose_oid
    - gnutls_x509_privkey_import
    - gnutls_x509_crq_get_extension_info
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crq_set_private_key_usage_period
    - gnutls_x509_crq_set_subject_alt_name
    - fail
    linkageType: ''
    returnType: gnutls_x509_crq_t
    signature: gnutls_x509_crq_t generate_crq(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_dn2
      Src: /src/gnutls/tests/crq_apis.c:311,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:312,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:313,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:314,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:314,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:317,1
    - Dst: gnutls_x509_crq_get_dn3
      Src: /src/gnutls/tests/crq_apis.c:319,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:320,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:321,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:322,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:322,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:325,1
    - Dst: gnutls_x509_crq_get_dn3
      Src: /src/gnutls/tests/crq_apis.c:327,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:328,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:329,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:330,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:330,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:333,1
    - Dst: gnutls_x509_crq_get_basic_constraints
      Src: /src/gnutls/tests/crq_apis.c:335,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:336,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:337,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:338,1
    - Dst: gnutls_x509_crq_get_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:341,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:343,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:344,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:345,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:345,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:346,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:347,1
    - Dst: gnutls_x509_crq_get_subject_alt_name
      Src: /src/gnutls/tests/crq_apis.c:350,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:352,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:353,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:354,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:354,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:355,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:356,1
    - Dst: gnutls_x509_crq_get_private_key_usage_period
      Src: /src/gnutls/tests/crq_apis.c:358,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:361,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:362,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:363,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:364,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:365,1
    - Dst: gnutls_x509_crq_get_attribute_info
      Src: /src/gnutls/tests/crq_apis.c:369,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:370,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:371,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:372,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:372,1
    - Dst: gnutls_x509_crq_get_attribute_data
      Src: /src/gnutls/tests/crq_apis.c:376,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:377,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:378,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:379,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 380
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 380
    functionName: test_crq
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_get_private_key_usage_period
    - assert
    - gnutls_free
    - gnutls_strerror
    - memcmp
    - gnutls_x509_crq_get_attribute_info
    - gnutls_x509_crq_get_dn2
    - gnutls_x509_crq_get_basic_constraints
    - gnutls_x509_crq_get_subject_alt_name
    - gnutls_x509_crq_get_attribute_data
    - fail
    - gnutls_x509_crq_get_dn3
    linkageType: ''
    returnType: void
    signature: void test_crq(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crq_apis.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:391,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crq_apis.c:393,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crq_apis.c:395,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crq_apis.c:397,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:399,1
    - Dst: gnutls_x509_crt_set_crq
      Src: /src/gnutls/tests/crq_apis.c:401,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:403,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:403,1
    - Dst: gnutls_x509_crt_set_issuer_dn
      Src: /src/gnutls/tests/crq_apis.c:405,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:408,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:409,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/crq_apis.c:412,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:414,1
    - Dst: gnutls_x509_crt_set_crq_extensions
      Src: /src/gnutls/tests/crq_apis.c:416,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:418,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/crq_apis.c:420,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:422,1
    - Dst: printf
      Src: /src/gnutls/tests/crq_apis.c:424,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:425,1
    - Dst: gnutls_x509_crt_get_raw_issuer_dn
      Src: /src/gnutls/tests/crq_apis.c:427,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:429,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:430,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:433,1
    - Dst: hexprint
      Src: /src/gnutls/tests/crq_apis.c:436,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:437,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:439,1
    - Dst: gnutls_x509_crt_get_raw_dn
      Src: /src/gnutls/tests/crq_apis.c:441,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:443,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:443,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:446,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:449,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:451,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crq_apis.c:453,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crq_apis.c:455,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 456
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 456
    functionName: run_set_extensions
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - hexprint
    - printf
    - gnutls_global_set_log_function
    - memcmp
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_raw_issuer_dn
    - gnutls_x509_crt_set_version
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_set_crq
    - global_init
    - gnutls_x509_crt_set_issuer_dn
    - gnutls_x509_crt_set_crq_extensions
    - fail
    - gnutls_x509_crt_get_raw_dn
    linkageType: ''
    returnType: void
    signature: void run_set_extensions(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crq_apis.c:468,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:470,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crq_apis.c:472,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crq_apis.c:474,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crq_apis.c:476,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:478,1
    - Dst: gnutls_x509_crt_set_crq
      Src: /src/gnutls/tests/crq_apis.c:480,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:482,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:482,1
    - Dst: gnutls_x509_crt_set_issuer_dn
      Src: /src/gnutls/tests/crq_apis.c:484,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:487,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:488,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/crq_apis.c:491,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:493,1
    - Dst: gnutls_x509_crt_set_crq_extension_by_oid
      Src: /src/gnutls/tests/crq_apis.c:495,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:498,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/tests/crq_apis.c:501,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:503,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crq_apis.c:505,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:506,1
    - Dst: gnutls_x509_crt_get_extension_data2
      Src: /src/gnutls/tests/crq_apis.c:508,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:510,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/tests/crq_apis.c:514,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:517,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:517,1
    - Dst: strcmp
      Src: /src/gnutls/tests/crq_apis.c:518,1
    - Dst: gnutls_x509_crq_get_extension_data2
      Src: /src/gnutls/tests/crq_apis.c:519,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:522,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:528,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:529,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:532,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:533,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/tests/crq_apis.c:536,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:538,1
    - Dst: gnutls_x509_crt_get_raw_dn
      Src: /src/gnutls/tests/crq_apis.c:540,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:542,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crq_apis.c:542,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:545,1
    - Dst: fail
      Src: /src/gnutls/tests/crq_apis.c:548,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:550,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crq_apis.c:552,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crq_apis.c:554,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 555
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 555
    functionName: run_set_extension_by_oid
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - strcmp
    - gnutls_global_set_log_function
    - gnutls_x509_crt_set_crq_extension_by_oid
    - memcmp
    - gnutls_x509_crt_get_extension_info
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_set_version
    - gnutls_x509_crq_get_extension_info
    - gnutls_global_set_log_level
    - gnutls_x509_crq_get_extension_data2
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_set_crq
    - global_init
    - gnutls_x509_crt_get_extension_data2
    - gnutls_x509_crt_set_issuer_dn
    - fail
    - gnutls_x509_crt_get_raw_dn
    linkageType: ''
    returnType: void
    signature: void run_set_extension_by_oid(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crq_apis.c:562,1
    - Dst: generate_crq
      Src: /src/gnutls/tests/crq_apis.c:564,1
    - Dst: test_crq
      Src: /src/gnutls/tests/crq_apis.c:566,1
    - Dst: run_set_extensions
      Src: /src/gnutls/tests/crq_apis.c:568,1
    - Dst: run_set_extension_by_oid
      Src: /src/gnutls/tests/crq_apis.c:569,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:571,1
    - Dst: gnutls_x509_crq_export2
      Src: /src/gnutls/tests/crq_apis.c:571,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:574,1
    - Dst: assert
      Src: /src/gnutls/tests/crq_apis.c:575,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crq_apis.c:575,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crq_apis.c:578,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/tests/crq_apis.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crq_apis.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_free
    - run_set_extensions
    - gnutls_x509_crq_deinit
    - memcmp
    - run_set_extension_by_oid
    - test_crq
    - generate_crq
    - gnutls_x509_crq_export2
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/ecdh-compute2.c:41,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:43,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/ecdh-compute2.c:45,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/ecdh-compute2.c:46,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:48,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/tests/ecdh-compute2.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:52,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/ecdh-compute2.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - key
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: genkey
    functionSourceFile: /src/gnutls/tests/ecdh-compute2.c
    functionUses: 3
    functionsReached:
    - gnutls_privkey_generate
    - gnutls_privkey_deinit
    - gnutls_privkey_export_ecc_raw
    - GNUTLS_CURVE_TO_BITS
    - gnutls_privkey_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void genkey(gnutls_ecc_curve_t curve, gnutls_datum_t *x,\n\t\t   gnutls_datum_t
      *y, gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/ecdh-compute2.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:71,1
    - Dst: gnutls_privkey_import_ecc_raw
      Src: /src/gnutls/tests/ecdh-compute2.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:75,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/ecdh-compute2.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:79,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/tests/ecdh-compute2.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:83,1
    - Dst: gnutls_privkey_derive_secret
      Src: /src/gnutls/tests/ecdh-compute2.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:87,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ecdh-compute2.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/ecdh-compute2.c:93,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute2.c:95,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/ecdh-compute2.c:97,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/ecdh-compute2.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 9
    argNames:
    - curve
    - x
    - y
    - key
    - peer_x
    - peer_y
    - expect_error
    - result
    - expect_success
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    - gnutls_datum_t*
    - bool
    constantsTouched: []
    func_position:
      end: 99
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 99
    functionName: compute_key
    functionSourceFile: /src/gnutls/tests/ecdh-compute2.c
    functionUses: 5
    functionsReached:
    - gnutls_free
    - gnutls_privkey_derive_secret
    - memcmp
    - gnutls_privkey_import_ecc_raw
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    - gnutls_pubkey_import_ecc_raw
    linkageType: ''
    returnType: void
    signature: "void compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t *x,\n\t\t\tconst
      gnutls_datum_t *y, const gnutls_datum_t *key,\n\t\t\tconst gnutls_datum_t *peer_x,\n\t\t\tconst
      gnutls_datum_t *peer_y, int expect_error,\n\t\t\tgnutls_datum_t *result, bool
      expect_success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: genkey
      Src: /src/gnutls/tests/ecdh-compute2.c:176,1
    - Dst: compute_key
      Src: /src/gnutls/tests/ecdh-compute2.c:183,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute2.c:188,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute2.c:189,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ecdh-compute2.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/ecdh-compute2.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 195
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ecdh-compute2.c
    functionUses: 1
    functionsReached:
    - genkey
    - gnutls_free
    - success
    - compute_key
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:53,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:53,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:57,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:67,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:67,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:71,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:73,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:84,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:85,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pkey
    - algo
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: sign_verify_data
    functionSourceFile: /src/gnutls/tests/gnutls_x509_privkey_import.c
    functionUses: 3
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - fail
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int sign_verify_data(gnutls_x509_privkey_t pkey,\n\t\t\t    gnutls_sign_algorithm_t
      algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:98,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:100,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:102,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:105,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:109,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:112,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:113,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:116,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:119,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:121,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - name
    - txtkey
    - pk
    - sig
    - exp_key_err
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    - gnutls_sign_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: load_privkey
    functionSourceFile: /src/gnutls/tests/gnutls_x509_privkey_import.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_privkey_get_pk_algorithm
    - sign_verify_data
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_verify_params
    - testfail
    linkageType: ''
    returnType: void
    signature: "void load_privkey(const char *name, const gnutls_datum_t *txtkey,\n\t\t\t
      gnutls_pk_algorithm_t pk, gnutls_sign_algorithm_t sig,\n\t\t\t int exp_key_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:136,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:138,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:140,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:143,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:146,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:147,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:151,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:155,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:158,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:159,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:162,1
    - Dst: testfail
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:165,1
    - Dst: sign_verify_data
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:167,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - name
    - txtkey
    - pk
    - sig
    - exp_key_err
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    - gnutls_sign_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 172
    functionName: load_privkey_in_der
    functionSourceFile: /src/gnutls/tests/gnutls_x509_privkey_import.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_privkey_get_pk_algorithm
    - gnutls_pem_base64_decode2
    - sign_verify_data
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_verify_params
    - testfail
    linkageType: ''
    returnType: void
    signature: "void load_privkey_in_der(const char *name, const gnutls_datum_t *txtkey,\n\t\t\t\tgnutls_pk_algorithm_t
      pk,\n\t\t\t\tgnutls_sign_algorithm_t sig, int exp_key_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:218,1
    - Dst: load_privkey
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:220,1
    - Dst: success
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:223,1
    - Dst: load_privkey_in_der
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:224,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_x509_privkey_import.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_x509_privkey_import.c
    functionUses: 1
    functionsReached:
    - success
    - load_privkey_in_der
    - gnutls_global_deinit
    - load_privkey
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/strict-der.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/strict-der.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/strict-der.c:94,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/strict-der.c:96,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/strict-der.c:98,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/strict-der.c:100,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/strict-der.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/strict-der.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/strict-der.c:105,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/strict-der.c:107,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/strict-der.c:109,1
    - Dst: success
      Src: /src/gnutls/tests/strict-der.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: doit
    functionSourceFile: /src/gnutls/tests/strict-der.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - success
    - global_init
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/ocsp-filename-memleak.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnutls/tests/ocsp-filename-memleak.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/ocsp-filename-memleak.c:49,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/ocsp-filename-memleak.c:52,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/ocsp-filename-memleak.c:54,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/ocsp-filename-memleak.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ocsp-filename-memleak.c
    functionUses: 1
    functionsReached:
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_ocsp_status_request_file
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/trustdb-tofu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/trustdb-tofu.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/trustdb-tofu.c:100,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/trustdb-tofu.c:101,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/trustdb-tofu.c:103,1
    - Dst: gnutls_pem_base64_decode_alloc
      Src: /src/gnutls/tests/trustdb-tofu.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:109,1
    - Dst: gnutls_pem_base64_decode_alloc
      Src: /src/gnutls/tests/trustdb-tofu.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:116,1
    - Dst: gnutls_pem_base64_decode_alloc
      Src: /src/gnutls/tests/trustdb-tofu.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:123,1
    - Dst: gnutls_pem_base64_decode_alloc
      Src: /src/gnutls/tests/trustdb-tofu.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:130,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:134,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:135,1
    - Dst: gnutls_store_commitment
      Src: /src/gnutls/tests/trustdb-tofu.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:142,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:147,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:149,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:154,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:159,1
    - Dst: setenv
      Src: /src/gnutls/tests/trustdb-tofu.c:163,1
    - Dst: getcwd
      Src: /src/gnutls/tests/trustdb-tofu.c:163,1
    - Dst: gnutls_store_commitment
      Src: /src/gnutls/tests/trustdb-tofu.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:170,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:170,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:175,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:181,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:186,1
    - Dst: gnutls_store_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:194,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:199,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:205,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:216,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:221,1
    - Dst: gnutls_store_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:227,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:232,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:238,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/tests/trustdb-tofu.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/trustdb-tofu.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/trustdb-tofu.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/trustdb-tofu.c:254,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:256,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:257,1
    - Dst: rmdir
      Src: /src/gnutls/tests/trustdb-tofu.c:258,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/trustdb-tofu.c:260,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/trustdb-tofu.c:261,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/trustdb-tofu.c:262,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/trustdb-tofu.c:263,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/trustdb-tofu.c:264,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:268,1
    - Dst: remove
      Src: /src/gnutls/tests/trustdb-tofu.c:269,1
    - Dst: rmdir
      Src: /src/gnutls/tests/trustdb-tofu.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/trustdb-tofu.c:271,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 136
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 272
    functionName: doit
    functionSourceFile: /src/gnutls/tests/trustdb-tofu.c
    functionUses: 1
    functionsReached:
    - remove
    - gnutls_strerror
    - success
    - gnutls_free
    - gnutls_global_deinit
    - rmdir
    - exit
    - getcwd
    - gnutls_store_commitment
    - global_init
    - setenv
    - gnutls_pem_base64_decode_alloc
    - gnutls_verify_stored_pubkey
    - gnutls_store_pubkey
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/alpn-server-prec.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/alpn-server-prec.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/alpn-server-prec.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/alpn-server-prec.c:80,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/alpn-server-prec.c:81,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/alpn-server-prec.c:84,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/alpn-server-prec.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/alpn-server-prec.c:91,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:98,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:100,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:102,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/alpn-server-prec.c:104,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/alpn-server-prec.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/alpn-server-prec.c:113,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/alpn-server-prec.c:115,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/alpn-server-prec.c:120,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/alpn-server-prec.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/alpn-server-prec.c:124,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/alpn-server-prec.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:133,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/alpn-server-prec.c:134,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/alpn-server-prec.c:135,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/alpn-server-prec.c:137,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/alpn-server-prec.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:140,1
    - Dst: fprintf
      Src: /src/gnutls/tests/alpn-server-prec.c:144,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/alpn-server-prec.c:148,1
    - Dst: close
      Src: /src/gnutls/tests/alpn-server-prec.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alpn-server-prec.c:152,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/alpn-server-prec.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/alpn-server-prec.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - fd
    - protocol0
    - protocol1
    - protocol2
    argTypes:
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 157
    functionName: client
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 91
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_alpn_get_selected_protocol
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_alpn_set_protocols
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *protocol0, const char *protocol1,\n\t\t
      \  const char *protocol2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/alpn-server-prec.c:162,1
    - Dst: kill
      Src: /src/gnutls/tests/alpn-server-prec.c:163,1
    - Dst: wait
      Src: /src/gnutls/tests/alpn-server-prec.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 40
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/alpn-server-prec.c:179,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/alpn-server-prec.c:182,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/alpn-server-prec.c:183,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/alpn-server-prec.c:186,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/alpn-server-prec.c:188,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/alpn-server-prec.c:193,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:199,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:201,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/alpn-server-prec.c:203,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/alpn-server-prec.c:206,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:207,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/alpn-server-prec.c:210,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/alpn-server-prec.c:212,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/alpn-server-prec.c:215,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/alpn-server-prec.c:216,1
    - Dst: close
      Src: /src/gnutls/tests/alpn-server-prec.c:218,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alpn-server-prec.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/alpn-server-prec.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/alpn-server-prec.c:221,1
    - Dst: terminate
      Src: /src/gnutls/tests/alpn-server-prec.c:222,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:228,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/alpn-server-prec.c:229,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/alpn-server-prec.c:230,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/alpn-server-prec.c:232,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/alpn-server-prec.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:239,1
    - Dst: strlen
      Src: /src/gnutls/tests/alpn-server-prec.c:242,1
    - Dst: memcmp
      Src: /src/gnutls/tests/alpn-server-prec.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/alpn-server-prec.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:246,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/alpn-server-prec.c:251,1
    - Dst: close
      Src: /src/gnutls/tests/alpn-server-prec.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/alpn-server-prec.c:254,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/alpn-server-prec.c:256,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/alpn-server-prec.c:258,1
    - Dst: success
      Src: /src/gnutls/tests/alpn-server-prec.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - fd
    - protocol1
    - protocol2
    - expected
    argTypes:
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 262
    functionName: server
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 105
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_perror
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - memcmp
    - gnutls_init
    - gnutls_alpn_set_protocols
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void server(int fd, const char *protocol1, const char *protocol2,\n\t\t
      \  const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/alpn-server-prec.c:270,1
    - Dst: socketpair
      Src: /src/gnutls/tests/alpn-server-prec.c:272,1
    - Dst: perror
      Src: /src/gnutls/tests/alpn-server-prec.c:274,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:275,1
    - Dst: fork
      Src: /src/gnutls/tests/alpn-server-prec.c:278,1
    - Dst: perror
      Src: /src/gnutls/tests/alpn-server-prec.c:280,1
    - Dst: fail
      Src: /src/gnutls/tests/alpn-server-prec.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:282,1
    - Dst: server
      Src: /src/gnutls/tests/alpn-server-prec.c:289,1
    - Dst: wait
      Src: /src/gnutls/tests/alpn-server-prec.c:290,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/alpn-server-prec.c:291,1
    - Dst: close
      Src: /src/gnutls/tests/alpn-server-prec.c:293,1
    - Dst: client
      Src: /src/gnutls/tests/alpn-server-prec.c:294,1
    - Dst: exit
      Src: /src/gnutls/tests/alpn-server-prec.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - p1
    - p2
    - cp1
    - cp2
    - expected
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 297
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 297
    functionName: start
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 136
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *p1, const char *p2, const char *cp1,\n\t\t
      \ const char *cp2, const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/alpn-server-prec.c:302,1
    - Dst: start
      Src: /src/gnutls/tests/alpn-server-prec.c:305,1
    - Dst: start
      Src: /src/gnutls/tests/alpn-server-prec.c:308,1
    - Dst: start
      Src: /src/gnutls/tests/alpn-server-prec.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: doit
    functionSourceFile: /src/gnutls/tests/alpn-server-prec.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/rng-fork.c:44,1
    - Dst: printf
      Src: /src/gnutls/tests/rng-fork.c:46,1
    - Dst: printf
      Src: /src/gnutls/tests/rng-fork.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - buf
    - buf_size
    argTypes:
    - char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: dump
    functionSourceFile: /src/gnutls/tests/rng-fork.c
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, unsigned char *buf, int buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rng-fork.c:61,1
    - Dst: fork
      Src: /src/gnutls/tests/rng-fork.c:64,1
    - Dst: fopen
      Src: /src/gnutls/tests/rng-fork.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-fork.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/rng-fork.c:70,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/rng-fork.c:70,1
    - Dst: dump
      Src: /src/gnutls/tests/rng-fork.c:72,1
    - Dst: fwrite
      Src: /src/gnutls/tests/rng-fork.c:74,1
    - Dst: fclose
      Src: /src/gnutls/tests/rng-fork.c:75,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-fork.c:76,1
    - Dst: exit
      Src: /src/gnutls/tests/rng-fork.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/rng-fork.c:80,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/rng-fork.c:80,1
    - Dst: dump
      Src: /src/gnutls/tests/rng-fork.c:82,1
    - Dst: waitpid
      Src: /src/gnutls/tests/rng-fork.c:83,1
    - Dst: fopen
      Src: /src/gnutls/tests/rng-fork.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-fork.c:87,1
    - Dst: fread
      Src: /src/gnutls/tests/rng-fork.c:89,1
    - Dst: fclose
      Src: /src/gnutls/tests/rng-fork.c:91,1
    - Dst: remove
      Src: /src/gnutls/tests/rng-fork.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-fork.c:95,1
    - Dst: memcmp
      Src: /src/gnutls/tests/rng-fork.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-fork.c:101,1
    - Dst: success
      Src: /src/gnutls/tests/rng-fork.c:106,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-fork.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 111
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-fork.c
    functionUses: 1
    functionsReached:
    - fopen
    - remove
    - fork
    - assert
    - fclose
    - gnutls_global_deinit
    - fwrite
    - exit
    - fread
    - success
    - gnutls_rnd
    - memcmp
    - global_init
    - dump
    - waitpid
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rng-fork.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-fork.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:43,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:46,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:47,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:47,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:53,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:53,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:60,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:60,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:63,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: test_decode
    functionSourceFile: /src/gnutls/tests/pkcs8-key-decode-encrypted.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - success
    - strlen
    - fail
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: int
    signature: int test_decode(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_decode
      Src: /src/gnutls/tests/pkcs8-key-decode-encrypted.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs8-key-decode-encrypted.c
    functionUses: 1
    functionsReached:
    - test_decode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/handshake-large-cert.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-large-cert.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-large-cert.c:68,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-large-cert.c:69,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-large-cert.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:75,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-large-cert.c:75,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:77,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-large-cert.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-large-cert.c:79,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-large-cert.c:83,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-large-cert.c:85,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/handshake-large-cert.c:86,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/handshake-large-cert.c:86,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-large-cert.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-cert.c:93,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-cert.c:96,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/handshake-large-cert.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:102,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-cert.c:104,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-cert.c:106,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-large-cert.c:108,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-large-cert.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 111
    functionName: client
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 92
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-large-cert.c:156,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-large-cert.c:157,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-large-cert.c:159,1
    - Dst: snprintf
      Src: /src/gnutls/tests/handshake-large-cert.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:165,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/handshake-large-cert.c:165,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:167,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-large-cert.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:168,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-large-cert.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/handshake-large-cert.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:173,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-large-cert.c:173,1
    - Dst: assert
      Src: /src/gnutls/tests/handshake-large-cert.c:175,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-large-cert.c:175,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-large-cert.c:177,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-large-cert.c:179,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/handshake-large-cert.c:180,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/handshake-large-cert.c:180,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-large-cert.c:183,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-cert.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-cert.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-cert.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-large-cert.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-cert.c:194,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-large-cert.c:196,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-cert.c:198,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-large-cert.c:199,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-large-cert.c:201,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-large-cert.c:203,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-cert.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 207
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 207
    functionName: server
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 106
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - snprintf
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_load_file
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_free
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/handshake-large-cert.c:215,1
    - Dst: signal
      Src: /src/gnutls/tests/handshake-large-cert.c:217,1
    - Dst: signal
      Src: /src/gnutls/tests/handshake-large-cert.c:218,1
    - Dst: socketpair
      Src: /src/gnutls/tests/handshake-large-cert.c:220,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-large-cert.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-cert.c:223,1
    - Dst: fork
      Src: /src/gnutls/tests/handshake-large-cert.c:227,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-large-cert.c:229,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-large-cert.c:230,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-cert.c:237,1
    - Dst: client
      Src: /src/gnutls/tests/handshake-large-cert.c:238,1
    - Dst: wait
      Src: /src/gnutls/tests/handshake-large-cert.c:239,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/handshake-large-cert.c:240,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-large-cert.c:242,1
    - Dst: server
      Src: /src/gnutls/tests/handshake-large-cert.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-large-cert.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 246
    functionName: start
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 137
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-cert.c:250,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-cert.c:251,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-large-cert.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-large-cert.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-handshake-versions.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dtls-handshake-versions.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:63,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-handshake-versions.c:65,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-handshake-versions.c:68,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-handshake-versions.c:69,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-handshake-versions.c:72,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-handshake-versions.c:73,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-handshake-versions.c:75,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:76,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:77,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:78,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls-handshake-versions.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-handshake-versions.c:84,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:86,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/dtls-handshake-versions.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-handshake-versions.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-handshake-versions.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:101,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-handshake-versions.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:105,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:107,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:108,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls-handshake-versions.c:109,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls-handshake-versions.c:111,1
    - Dst: _gnutls_hello_set_default_version
      Src: /src/gnutls/tests/dtls-handshake-versions.c:112,1
    - Dst: HANDSHAKE_DTLS_EXPECT
      Src: /src/gnutls/tests/dtls-handshake-versions.c:114,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-handshake-versions.c:116,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-handshake-versions.c:117,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:119,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:120,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-handshake-versions.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-handshake-versions.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - major
    - minor
    - ret1
    - ret2
    argTypes:
    - unsigned char
    - unsigned char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 124
    functionName: try
    functionSourceFile: /src/gnutls/tests/dtls-handshake-versions.c
    functionUses: 28
    functionsReached:
    - exit
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - _gnutls_hello_set_default_version
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_bye
    - HANDSHAKE_DTLS_EXPECT
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void try(unsigned char major, unsigned char minor, int ret1, int ret2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-handshake-versions.c:128,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/dtls-handshake-versions.c:131,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/dtls-handshake-versions.c:133,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/dtls-handshake-versions.c:135,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/dtls-handshake-versions.c:137,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-handshake-versions.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-handshake-versions.c
    functionUses: 1
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/tls13-early-data.c:111,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:116,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 11
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:269,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:273,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:275,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:277,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:279,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:284,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:286,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:288,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - out
    - secret
    argTypes:
    - FILE*
    - struct secret*
    constantsTouched: []
    func_position:
      end: 292
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 292
    functionName: print_secret
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - fputs
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_secret(FILE *out, struct secret *secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data.c:299,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:302,1
    - Dst: print_secret
      Src: /src/gnutls/tests/tls13-early-data.c:303,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:304,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13-early-data.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - out
    - side
    - name
    - t
    - secrets
    - count
    argTypes:
    - FILE*
    - char*
    - char*
    - int
    - struct secret*
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: print_secrets
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - fputs
    - fprintf
    - print_secret
    linkageType: ''
    returnType: void
    signature: "void print_secrets(FILE *out, const char *side, const char *name,
      int t,\n\t\t\t  struct secret *secrets, size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:316,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:327,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:333,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:341,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:345,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data.c:350,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - secrets
    - count
    - expected
    argTypes:
    - struct secret*
    - size_t
    - struct secrets_expected*
    constantsTouched: []
    func_position:
      end: 356
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 356
    functionName: check_secrets
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void check_secrets(const struct secret *secrets, size_t count,\n\t\t\t
      \ const struct secrets_expected *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13-early-data.c:369,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:374,1
    - Dst: gnutls_early_cipher_get
      Src: /src/gnutls/tests/tls13-early-data.c:381,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:383,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:384,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:385,1
    - Dst: gnutls_early_prf_hash_get
      Src: /src/gnutls/tests/tls13-early-data.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:391,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:392,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:393,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:399,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data.c:405,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data.c:409,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - session
    - level
    - secret_read
    - secret_write
    - secret_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 419
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 419
    functionName: secret_callback
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - gnutls_cipher_get_name
    - gnutls_early_prf_hash_get
    - gnutls_digest_get_name
    - gnutls_early_cipher_get
    - memcpy
    - fail
    linkageType: ''
    returnType: int
    signature: "int secret_callback(gnutls_session_t session,\n\t\t\t   gnutls_record_encryption_level_t
      level,\n\t\t\t   const void *secret_read, const void *secret_write,\n\t\t\t
      \  size_t secret_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-early-data.c:430,1
    - Dst: virt_time_init_at
      Src: /src/gnutls/tests/tls13-early-data.c:433,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data.c:436,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data.c:437,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data.c:440,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:446,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data.c:446,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:448,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data.c:448,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data.c:454,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data.c:457,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:458,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13-early-data.c:458,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:460,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13-early-data.c:462,1
    - Dst: gnutls_handshake_set_secret_function
      Src: /src/gnutls/tests/tls13-early-data.c:463,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:466,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13-early-data.c:466,1
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/gnutls/tests/tls13-early-data.c:470,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:472,1
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/gnutls/tests/tls13-early-data.c:473,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:476,1
    - Dst: gnutls_record_send_early_data
      Src: /src/gnutls/tests/tls13-early-data.c:476,1
    - Dst: MIN
      Src: /src/gnutls/tests/tls13-early-data.c:478,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13-early-data.c:484,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13-early-data.c:484,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data.c:486,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data.c:487,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:490,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:491,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:494,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:498,1
    - Dst: print_secrets
      Src: /src/gnutls/tests/tls13-early-data.c:501,1
    - Dst: check_secrets
      Src: /src/gnutls/tests/tls13-early-data.c:505,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/tls13-early-data.c:510,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:513,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:514,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13-early-data.c:519,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:521,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data.c:525,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:526,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data.c:531,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data.c:531,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data.c:534,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:539,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:542,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:542,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data.c:545,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data.c:547,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:549,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data.c:553,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data.c:554,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:556,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - sds
    - fixture
    argTypes:
    - int[]
    - struct fixture*
    constantsTouched: []
    func_position:
      end: 557
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 557
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 93
    functionsReached:
    - gnutls_credentials_set
    - gnutls_session_set_ptr
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_send_early_data
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_get_max_early_data_size
    - gnutls_handshake_set_random
    - gnutls_handshake_set_secret_function
    - gnutls_record_send
    - close
    - gnutls_init
    - MIN
    - memset
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - assert
    - success
    - gnutls_session_is_resumed
    - check_secrets
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_priority_set_direct
    - virt_time_init_at
    - gnutls_cipher_get
    - print_secrets
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[], const struct fixture *fixture)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data.c:577,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13-early-data.c:590,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - expires
    - key
    - value
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 599
    functionName: storage_add
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,\n\t\t
      \      const gnutls_datum_t *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - storage
    argTypes:
    - struct storage_st*
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: storage_clear
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void storage_clear(struct storage_st *storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-early-data.c:623,1
    - Dst: virt_time_init_at
      Src: /src/gnutls/tests/tls13-early-data.c:626,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:628,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:629,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data.c:632,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data.c:633,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data.c:636,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-data.c:637,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13-early-data.c:640,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13-early-data.c:642,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:644,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13-early-data.c:646,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13-early-data.c:647,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:653,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data.c:653,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:657,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data.c:657,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data.c:663,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13-early-data.c:666,1
    - Dst: gnutls_anti_replay_enable
      Src: /src/gnutls/tests/tls13-early-data.c:669,1
    - Dst: gnutls_record_set_max_early_data_size
      Src: /src/gnutls/tests/tls13-early-data.c:675,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data.c:678,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13-early-data.c:678,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data.c:679,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:681,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13-early-data.c:683,1
    - Dst: gnutls_handshake_set_secret_function
      Src: /src/gnutls/tests/tls13-early-data.c:684,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data.c:687,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data.c:688,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data.c:690,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:691,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:692,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:693,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:696,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data.c:699,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:700,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:706,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/tls13-early-data.c:710,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:713,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13-early-data.c:714,1
    - Dst: print_secrets
      Src: /src/gnutls/tests/tls13-early-data.c:717,1
    - Dst: check_secrets
      Src: /src/gnutls/tests/tls13-early-data.c:721,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data.c:729,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:731,1
    - Dst: gnutls_record_recv_early_data
      Src: /src/gnutls/tests/tls13-early-data.c:735,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:742,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:743,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:746,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:747,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:752,1
    - Dst: MIN
      Src: /src/gnutls/tests/tls13-early-data.c:755,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data.c:757,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:760,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data.c:765,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:767,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data.c:777,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data.c:778,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:782,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13-early-data.c:785,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:786,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data.c:787,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data.c:791,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data.c:792,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data.c:797,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data.c:799,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:801,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:804,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13-early-data.c:806,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data.c:808,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data.c:810,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13-early-data.c:812,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data.c:815,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 2
    argNames:
    - sds
    - fixture
    argTypes:
    - int[]
    - struct fixture*
    constantsTouched: []
    func_position:
      end: 816
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 816
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 108
    functionsReached:
    - gnutls_credentials_set
    - gnutls_session_set_ptr
    - gnutls_deinit
    - kill
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_record_set_max_early_data_size
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - gnutls_handshake_set_secret_function
    - gnutls_record_send
    - close
    - gnutls_record_recv_early_data
    - memcmp
    - gnutls_init
    - MIN
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_session_is_resumed
    - check_secrets
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_priority_set_direct
    - storage_clear
    - gnutls_anti_replay_enable
    - gnutls_error_is_fatal
    - virt_time_init_at
    - gnutls_cipher_get
    - print_secrets
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_anti_replay_deinit
    - gnutls_anti_replay_init
    - global_init
    - gnutls_anti_replay_set_ptr
    - gnutls_handshake
    - gnutls_anti_replay_set_add_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sds[], const struct fixture *fixture)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data.c:825,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data.c:826,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13-early-data.c:831,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data.c:833,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data.c:834,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13-early-data.c:841,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data.c:843,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data.c:844,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data.c:850,1
    - Dst: server
      Src: /src/gnutls/tests/tls13-early-data.c:851,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13-early-data.c:852,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data.c:855,1
    - Dst: client
      Src: /src/gnutls/tests/tls13-early-data.c:856,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - struct fixture*
    constantsTouched: []
    func_position:
      end: 859
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 859
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 138
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const struct fixture *fixture)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls13-early-data.c:866,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data.c:867,1
    - Dst: SIZEOF
      Src: /src/gnutls/tests/tls13-early-data.c:870,1
    - Dst: start
      Src: /src/gnutls/tests/tls13-early-data.c:871,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 877
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-early-data.c
    functionUses: 1
    functionsReached:
    - exit
    - start
    - SIZEOF
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:49,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:50,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:52,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:54,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:62,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:63,1
    - Dst: test_sig
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:64,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509sign-verify-rsa.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509sign-verify-rsa.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - test_sig
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ip-check.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:149,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ip-check.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:153,1
    - Dst: strlen
      Src: /src/gnutls/tests/ip-check.c:156,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ip-check.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:160,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:164,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:168,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:172,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:175,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:177,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:182,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/tests/ip-check.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:187,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/tests/ip-check.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:193,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/tests/ip-check.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:198,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/tests/ip-check.c:200,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:203,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/tests/ip-check.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:211,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/tests/ip-check.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/ip-check.c:219,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ip-check.c:221,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ip-check.c:223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 224
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ip-check.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_check_hostname
    - gnutls_x509_crt_check_ip
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_base64_encode2
      Src: /src/gnutls/tests/srpbase64.c:44,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:46,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/srpbase64.c:47,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:48,1
    - Dst: strlen
      Src: /src/gnutls/tests/srpbase64.c:51,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:52,1
    - Dst: strlen
      Src: /src/gnutls/tests/srpbase64.c:53,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:54,1
    - Dst: strncasecmp
      Src: /src/gnutls/tests/srpbase64.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:58,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/srpbase64.c:63,1
    - Dst: strlen
      Src: /src/gnutls/tests/srpbase64.c:66,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/srpbase64.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:69,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/srpbase64.c:70,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:75,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:77,1
    - Dst: memcmp
      Src: /src/gnutls/tests/srpbase64.c:80,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:83,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/srpbase64.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - test_name
    - raw
    - expected
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 89
    functionName: encode
    functionSourceFile: /src/gnutls/tests/srpbase64.c
    functionUses: 25
    functionsReached:
    - strncasecmp
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - memcmp
    - gnutls_srp_base64_decode2
    - gnutls_srp_base64_encode2
    - fail
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/srpbase64.c:98,1
    - Dst: gnutls_srp_base64_decode2
      Src: /src/gnutls/tests/srpbase64.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/srpbase64.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:117,1
    - Dst: memcmp
      Src: /src/gnutls/tests/srpbase64.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/srpbase64.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:123,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/srpbase64.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - test_name
    - raw
    - hex
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: decode
    functionSourceFile: /src/gnutls/tests/srpbase64.c
    functionUses: 15
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - memcmp
    - gnutls_srp_base64_decode2
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *hex, int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/gnutls/tests/srpbase64.c:178,1
    - Dst: decode
      Src: /src/gnutls/tests/srpbase64.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: doit
    functionSourceFile: /src/gnutls/tests/srpbase64.c
    functionUses: 1
    functionsReached:
    - decode
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/srpbase64.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: doit
    functionSourceFile: /src/gnutls/tests/srpbase64.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:40,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:42,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:45,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:48,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:52,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:57,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:61,1
    - Dst: dtls_try
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:67,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:70,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:74,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:78,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:82,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:89,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:93,1
    - Dst: dtls_try_cli
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:97,1
    - Dst: dtls_try_with_key
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:101,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls10-cert-key-exchange.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 109
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls10-cert-key-exchange.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - dtls_try_cli
    - global_init
    - dtls_try_with_key
    - dtls_try
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit-asym.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:79,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:83,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:91,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:92,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:100,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:100,1
    - Dst: gnutls_record_set_max_recv_size
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:104,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:106,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:107,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:108,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:113,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:115,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:115,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:118,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:123,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:123,1
    - Dst: gnutls_record_set_max_recv_size
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:127,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:129,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:130,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:131,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:133,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:135,1
    - Dst: memset
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:137,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:138,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:146,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:149,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:151,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:154,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:157,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:163,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:165,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:168,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:170,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:171,1
    - Dst: success
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:173,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:176,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:177,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:179,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:182,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:185,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 188
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 188
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit-asym.c
    functionUses: 139
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - printf
    - gnutls_perror
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_send
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - gnutls_record_set_max_recv_size
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls-record-size-limit-asym.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-record-size-limit-asym.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext-key.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/tls-neg-ext-key.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - userdata
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: key_cb_sign_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: int
    signature: "int key_cb_sign_func(gnutls_privkey_t key, void *userdata,\n\t\t\t
      \   const gnutls_datum_t *data,\n\t\t\t    gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:83,1
    - Dst: free
      Src: /src/gnutls/tests/tls-neg-ext-key.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: key_cb_deinit_func
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void key_cb_deinit_func(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/tls-neg-ext-key.c:97,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:99,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/tls-neg-ext-key.c:102,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:104,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/tls-neg-ext-key.c:106,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:108,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/tls-neg-ext-key.c:110,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:113,1
    - Dst: gnutls_privkey_import_ext2
      Src: /src/gnutls/tests/tls-neg-ext-key.c:115,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:121,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:122,1
    - Dst: free
      Src: /src/gnutls/tests/tls-neg-ext-key.c:123,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext-key.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - name
    - txtkey
    - pk
    - exp_ret
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_pk_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: load_virt_privkey
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - gnutls_privkey_import_ext2
    - calloc
    - free
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - testfail
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t load_virt_privkey(const char *name,\n\t\t\t\t\t  const
      gnutls_datum_t *txtkey,\n\t\t\t\t\t  gnutls_pk_algorithm_t pk, int exp_ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:154,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-neg-ext-key.c:156,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-neg-ext-key.c:158,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-neg-ext-key.c:160,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/tls-neg-ext-key.c:163,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext-key.c:168,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/tls-neg-ext-key.c:171,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-neg-ext-key.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-neg-ext-key.c:177,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-neg-ext-key.c:177,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-neg-ext-key.c:178,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-neg-ext-key.c:180,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-neg-ext-key.c:180,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:184,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:185,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-neg-ext-key.c:186,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-neg-ext-key.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:192,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls-neg-ext-key.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:199,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-neg-ext-key.c:201,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:203,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-neg-ext-key.c:205,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:207,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:209,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:210,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-neg-ext-key.c:211,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-neg-ext-key.c:213,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-neg-ext-key.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:217,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/tls-neg-ext-key.c:220,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls-neg-ext-key.c:223,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls-neg-ext-key.c:226,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:227,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:229,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls-neg-ext-key.c:229,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:230,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:231,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-neg-ext-key.c:235,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/tls-neg-ext-key.c:237,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:239,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:241,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:242,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/tls-neg-ext-key.c:245,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:247,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:249,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:250,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/tls-neg-ext-key.c:253,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:255,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:258,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/tls-neg-ext-key.c:261,1
    - Dst: testfail
      Src: /src/gnutls/tests/tls-neg-ext-key.c:263,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/tls-neg-ext-key.c:265,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:266,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-neg-ext-key.c:270,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-neg-ext-key.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:274,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:275,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-neg-ext-key.c:277,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-neg-ext-key.c:278,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 8
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - key
    - exp_serv_err
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 279
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 7
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_sign_get_name
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_sign_algorithm_get
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - testfail
    - gnutls_sign_algorithm_get_client
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_pcert_list_import_x509_raw
    - gnutls_kx_get_name
    - HANDSHAKE
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *client_prio,\n\t\t\t
      gnutls_kx_algorithm_t client_kx,\n\t\t\t gnutls_sign_algorithm_t server_sign_algo,\n\t\t\t
      gnutls_sign_algorithm_t client_sign_algo,\n\t\t\t const gnutls_datum_t *serv_cert,
      gnutls_privkey_t key,\n\t\t\t int exp_serv_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-neg-ext-key.c:352,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-neg-ext-key.c:354,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-neg-ext-key.c:356,1
    - Dst: success
      Src: /src/gnutls/tests/tls-neg-ext-key.c:359,1
    - Dst: load_virt_privkey
      Src: /src/gnutls/tests/tls-neg-ext-key.c:361,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-neg-ext-key.c:365,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls-neg-ext-key.c:367,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-neg-ext-key.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 372
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-neg-ext-key.c
    functionUses: 1
    functionsReached:
    - success
    - assert
    - try_with_key
    - gnutls_global_deinit
    - load_virt_privkey
    - global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:90,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crl_apis.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:91,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crl_apis.c:91,1
    - Dst: gnutls_x509_crl_set_crt
      Src: /src/gnutls/tests/crl_apis.c:92,1
    - Dst: mytime
      Src: /src/gnutls/tests/crl_apis.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl_apis.c:94,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crl_apis.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - crl
    - pem
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: append_crt
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crl_set_crt
    - assert
    - gnutls_x509_crt_import
    - gnutls_strerror
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - mytime
    - fail
    linkageType: ''
    returnType: void
    signature: void append_crt(gnutls_x509_crl_t crl, const gnutls_datum_t *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:106,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crl_apis.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:107,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crl_apis.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:110,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/tests/crl_apis.c:110,1
    - Dst: gnutls_x509_crl_set_authority_key_id
      Src: /src/gnutls/tests/crl_apis.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl_apis.c:116,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crl_apis.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - crl
    - pem
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: append_aki
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_x509_crt_import
    - gnutls_strerror
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_x509_crl_set_authority_key_id
    - gnutls_x509_crt_get_subject_key_id
    - fail
    linkageType: ''
    returnType: void
    signature: void append_aki(gnutls_x509_crl_t crl, const gnutls_datum_t *pem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:128,1
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/tests/crl_apis.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:130,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/tests/crl_apis.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:131,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/tests/crl_apis.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:133,1
    - Dst: gnutls_x509_crl_verify
      Src: /src/gnutls/tests/crl_apis.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl_apis.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:140,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crl_apis.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - _crl
    - crt
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: verify_crl
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_strerror
    - gnutls_x509_crl_verify
    - gnutls_x509_crl_export2
    - fail
    - gnutls_x509_crl_init
    - gnutls_x509_crl_deinit
    - gnutls_x509_crl_import
    linkageType: ''
    returnType: void
    signature: void verify_crl(gnutls_x509_crl_t _crl, gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:151,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crl_apis.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:152,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crl_apis.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:154,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crl_apis.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:155,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/crl_apis.c:155,1
    - Dst: gnutls_x509_crl_sign
      Src: /src/gnutls/tests/crl_apis.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl_apis.c:159,1
    - Dst: verify_crl
      Src: /src/gnutls/tests/crl_apis.c:163,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crl_apis.c:165,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crl_apis.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - crl
    - cert
    - key
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: sign_crl
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_x509_crt_import
    - gnutls_strerror
    - gnutls_x509_crt_init
    - gnutls_x509_crl_sign
    - verify_crl
    - gnutls_x509_crt_deinit
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: void
    signature: "void sign_crl(gnutls_x509_crl_t crl, const gnutls_datum_t *cert,\n\t\t
      \    const gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/crl_apis.c:174,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/tests/crl_apis.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:178,1
    - Dst: gnutls_x509_crl_set_version
      Src: /src/gnutls/tests/crl_apis.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:182,1
    - Dst: gnutls_x509_crl_set_this_update
      Src: /src/gnutls/tests/crl_apis.c:184,1
    - Dst: mytime
      Src: /src/gnutls/tests/crl_apis.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:186,1
    - Dst: gnutls_x509_crl_set_next_update
      Src: /src/gnutls/tests/crl_apis.c:189,1
    - Dst: mytime
      Src: /src/gnutls/tests/crl_apis.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:191,1
    - Dst: gnutls_x509_crl_set_crt_serial
      Src: /src/gnutls/tests/crl_apis.c:194,1
    - Dst: mytime
      Src: /src/gnutls/tests/crl_apis.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:196,1
    - Dst: append_crt
      Src: /src/gnutls/tests/crl_apis.c:198,1
    - Dst: append_crt
      Src: /src/gnutls/tests/crl_apis.c:199,1
    - Dst: append_aki
      Src: /src/gnutls/tests/crl_apis.c:201,1
    - Dst: gnutls_x509_crl_set_number
      Src: /src/gnutls/tests/crl_apis.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/crl_apis.c:205,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crl_apis.c:206,1
    - Dst: sign_crl
      Src: /src/gnutls/tests/crl_apis.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - skip_optional
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 211
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 211
    functionName: generate_crl
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - sign_crl
    - append_crt
    - success
    - append_aki
    - gnutls_strerror
    - gnutls_x509_crl_set_version
    - fail
    - gnutls_x509_crl_set_number
    - gnutls_x509_crl_init
    - mytime
    - gnutls_x509_crl_set_next_update
    - gnutls_x509_crl_set_this_update
    - gnutls_x509_crl_set_crt_serial
    linkageType: ''
    returnType: gnutls_x509_crl_t
    signature: gnutls_x509_crl_t generate_crl(unsigned skip_optional)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:219,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:221,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crl_apis.c:221,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:222,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crl_apis.c:222,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:224,1
    - Dst: gnutls_x509_crt_get_issuer_dn
      Src: /src/gnutls/tests/crl_apis.c:224,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:228,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:230,1
    - Dst: gnutls_x509_crl_get_issuer_dn
      Src: /src/gnutls/tests/crl_apis.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:232,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:233,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:238,1
    - Dst: gnutls_x509_crl_get_issuer_dn2
      Src: /src/gnutls/tests/crl_apis.c:238,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:239,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:240,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:241,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:245,1
    - Dst: gnutls_x509_crl_get_issuer_dn3
      Src: /src/gnutls/tests/crl_apis.c:245,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:246,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:247,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:248,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:252,1
    - Dst: gnutls_x509_crl_get_issuer_dn3
      Src: /src/gnutls/tests/crl_apis.c:252,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:255,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:256,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:257,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:261,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:262,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crl_apis.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - crl
    - issuer_cert
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 264
    functionName: verify_issuer
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_issuer_dn
    - assert
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_x509_crl_get_issuer_dn
    - gnutls_x509_crl_get_issuer_dn3
    - memcmp
    - gnutls_x509_crl_get_issuer_dn2
    linkageType: ''
    returnType: void
    signature: "void verify_issuer(gnutls_x509_crl_t crl,\n\t\t\t  const gnutls_datum_t
      *issuer_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:270,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crl_apis.c:270,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:271,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/crl_apis.c:271,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/tests/crl_apis.c:276,1
    - Dst: gnutls_x509_crl_get_issuer_dn_by_oid
      Src: /src/gnutls/tests/crl_apis.c:281,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:284,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:285,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:287,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:288,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crl_apis.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - crl
    - issuer_cert
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: get_dn_by_oid
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crl_get_issuer_dn_by_oid
    - assert
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - memcmp
    - gnutls_x509_crt_get_issuer_dn_by_oid
    linkageType: ''
    returnType: void
    signature: "void get_dn_by_oid(gnutls_x509_crl_t crl,\n\t\t\t  const gnutls_datum_t
      *issuer_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:295,1
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/tests/crl_apis.c:295,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:299,1
    - Dst: gnutls_x509_crl_list_import
      Src: /src/gnutls/tests/crl_apis.c:299,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:302,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crl_apis.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: import_der_crl_list
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_x509_crl_export2
    - gnutls_x509_crl_list_import
    - gnutls_x509_crl_deinit
    linkageType: ''
    returnType: void
    signature: void import_der_crl_list(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crl_apis.c:311,1
    - Dst: generate_crl
      Src: /src/gnutls/tests/crl_apis.c:313,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:315,1
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/tests/crl_apis.c:315,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl_apis.c:317,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:319,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:320,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:320,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:322,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crl_apis.c:323,1
    - Dst: generate_crl
      Src: /src/gnutls/tests/crl_apis.c:326,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:328,1
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/tests/crl_apis.c:328,1
    - Dst: fprintf
      Src: /src/gnutls/tests/crl_apis.c:330,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:332,1
    - Dst: assert
      Src: /src/gnutls/tests/crl_apis.c:333,1
    - Dst: memcmp
      Src: /src/gnutls/tests/crl_apis.c:333,1
    - Dst: verify_issuer
      Src: /src/gnutls/tests/crl_apis.c:336,1
    - Dst: get_dn_by_oid
      Src: /src/gnutls/tests/crl_apis.c:339,1
    - Dst: import_der_crl_list
      Src: /src/gnutls/tests/crl_apis.c:342,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/crl_apis.c:344,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/tests/crl_apis.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 346
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crl_apis.c
    functionUses: 1
    functionsReached:
    - assert
    - generate_crl
    - gnutls_free
    - verify_issuer
    - import_der_crl_list
    - gnutls_x509_crl_export2
    - memcmp
    - get_dn_by_oid
    - gnutls_x509_crl_deinit
    - fprintf
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-usage-rsa.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/key-usage-rsa.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-usage-rsa.c:153,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-usage-rsa.c:154,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-usage-rsa.c:156,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:159,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/key-usage-rsa.c:160,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-rsa.c:163,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-rsa.c:164,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-rsa.c:165,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-rsa.c:167,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-rsa.c:168,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-rsa.c:169,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:174,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/key-usage-rsa.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:179,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-rsa.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:183,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-rsa.c:185,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:188,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-rsa.c:190,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-rsa.c:192,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-rsa.c:193,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-rsa.c:194,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/key-usage-rsa.c:196,1
    - Dst: success
      Src: /src/gnutls/tests/key-usage-rsa.c:200,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:202,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:203,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:205,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:206,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 209
    functionName: server_check
    functionSourceFile: /src/gnutls/tests/key-usage-rsa.c
    functionUses: 3
    functionsReached:
    - exit
    - success
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_trust_mem
    - HANDSHAKE_EXPECT
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/key-usage-rsa.c:225,1
    - Dst: gnutls_pcert_import_x509_raw
      Src: /src/gnutls/tests/key-usage-rsa.c:229,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/key-usage-rsa.c:234,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/key-usage-rsa.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 255
    functionName: cert_callback
    functionSourceFile: /src/gnutls/tests/key-usage-rsa.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - gnutls_pcert_import_x509_raw
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-usage-rsa.c:270,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-usage-rsa.c:271,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-usage-rsa.c:273,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:276,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/tests/key-usage-rsa.c:277,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-rsa.c:280,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-rsa.c:281,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-rsa.c:282,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-rsa.c:286,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-rsa.c:287,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-rsa.c:288,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:293,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/key-usage-rsa.c:295,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:298,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-usage-rsa.c:300,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:302,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-usage-rsa.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/key-usage-rsa.c:307,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-usage-rsa.c:309,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/key-usage-rsa.c:311,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/key-usage-rsa.c:312,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/key-usage-rsa.c:313,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/key-usage-rsa.c:315,1
    - Dst: success
      Src: /src/gnutls/tests/key-usage-rsa.c:319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-usage-rsa.c:320,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:322,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:323,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:325,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/key-usage-rsa.c:326,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 329
    functionName: client_check
    functionSourceFile: /src/gnutls/tests/key-usage-rsa.c
    functionUses: 3
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_set_retrieve_function2
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void client_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_check
      Src: /src/gnutls/tests/key-usage-rsa.c:333,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/key-usage-rsa.c:334,1
    - Dst: client_check
      Src: /src/gnutls/tests/key-usage-rsa.c:335,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:338,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/key-usage-rsa.c:339,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/key-usage-rsa.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-usage-rsa.c
    functionUses: 1
    functionsReached:
    - reset_buffers
    - gnutls_free
    - client_check
    - gnutls_pcert_deinit
    - gnutls_privkey_deinit
    - server_check
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-ticket.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:58,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:59,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:65,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:65,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:68,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:71,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:71,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:73,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:73,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:77,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:78,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:79,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:80,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:82,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:86,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:87,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:90,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:98,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:98,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:101,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:102,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:103,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:105,1
    - Dst: switch_side
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:108,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:114,1
    - Dst: _gnutls_session_ticket_disable_server
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:117,1
    - Dst: switch_side
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:120,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:130,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:135,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:136,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:138,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:139,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:141,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:142,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:144,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:146,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 148
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-ticket.c
    functionUses: 23
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - switch_side
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - _gnutls_session_ticket_disable_server
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/tls12-rehandshake-ticket.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-ticket.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data-neg.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13-early-data-neg.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/tls13-early-data-neg.c:82,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg.c:87,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 11
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:102,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13-early-data-neg.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:105,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data-neg.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data-neg.c:133,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data-neg.c:134,1
    - Dst: virt_time_init
      Src: /src/gnutls/tests/tls13-early-data-neg.c:140,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg.c:142,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:147,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data-neg.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:148,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data-neg.c:148,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data-neg.c:151,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data-neg.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:157,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13-early-data-neg.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:160,1
    - Dst: gnutls_record_send_early_data
      Src: /src/gnutls/tests/tls13-early-data-neg.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:163,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13-early-data-neg.c:163,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13-early-data-neg.c:166,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13-early-data-neg.c:173,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13-early-data-neg.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data-neg.c:175,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data-neg.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:179,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:181,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:184,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13-early-data-neg.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:191,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data-neg.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:196,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data-neg.c:201,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data-neg.c:201,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data-neg.c:204,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:212,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data-neg.c:216,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:218,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:220,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:223,1
    - Dst: send
      Src: /src/gnutls/tests/tls13-early-data-neg.c:225,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:227,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg.c:230,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg.c:231,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg.c:232,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 233
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 233
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 95
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_send_early_data
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - virt_time_init
    - gnutls_session_get_data2
    - assert
    - exit
    - success
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - send
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data-neg.c:253,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13-early-data-neg.c:266,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13-early-data-neg.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - expires
    - key
    - value
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 275
    functionName: storage_add
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,\n\t\t
      \      const gnutls_datum_t *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - storage
    argTypes:
    - struct storage_st*
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: storage_clear
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void storage_clear(struct storage_st *storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13-early-data-neg.c:299,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg.c:300,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg.c:301,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13-early-data-neg.c:304,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13-early-data-neg.c:305,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg.c:308,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13-early-data-neg.c:309,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13-early-data-neg.c:312,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13-early-data-neg.c:314,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:316,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13-early-data-neg.c:317,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13-early-data-neg.c:318,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:323,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:325,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13-early-data-neg.c:325,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13-early-data-neg.c:329,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13-early-data-neg.c:329,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13-early-data-neg.c:332,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13-early-data-neg.c:335,1
    - Dst: gnutls_anti_replay_enable
      Src: /src/gnutls/tests/tls13-early-data-neg.c:338,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13-early-data-neg.c:340,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13-early-data-neg.c:343,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13-early-data-neg.c:344,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data-neg.c:348,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:350,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:351,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:352,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:355,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:361,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:362,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:363,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:364,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:368,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13-early-data-neg.c:371,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:372,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data-neg.c:380,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:382,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:386,1
    - Dst: gnutls_record_recv_early_data
      Src: /src/gnutls/tests/tls13-early-data-neg.c:390,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:393,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:394,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13-early-data-neg.c:398,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:399,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13-early-data-neg.c:402,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:404,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:408,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13-early-data-neg.c:415,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13-early-data-neg.c:416,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:420,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13-early-data-neg.c:423,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:424,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13-early-data-neg.c:430,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13-early-data-neg.c:431,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13-early-data-neg.c:436,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:438,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:440,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:444,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13-early-data-neg.c:446,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13-early-data-neg.c:448,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13-early-data-neg.c:450,1
    - Dst: success
      Src: /src/gnutls/tests/tls13-early-data-neg.c:453,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 454
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 454
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 111
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - kill
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_record_recv_early_data
    - memcmp
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - assert
    - gnutls_session_get_flags
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - storage_clear
    - gnutls_anti_replay_enable
    - gnutls_error_is_fatal
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_anti_replay_deinit
    - gnutls_anti_replay_init
    - global_init
    - gnutls_anti_replay_set_ptr
    - gnutls_handshake
    - gnutls_anti_replay_set_add_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data-neg.c:462,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13-early-data-neg.c:463,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13-early-data-neg.c:468,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:470,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:471,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13-early-data-neg.c:478,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13-early-data-neg.c:480,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13-early-data-neg.c:481,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:482,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:488,1
    - Dst: server
      Src: /src/gnutls/tests/tls13-early-data-neg.c:489,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13-early-data-neg.c:490,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13-early-data-neg.c:491,1
    - Dst: close
      Src: /src/gnutls/tests/tls13-early-data-neg.c:494,1
    - Dst: client
      Src: /src/gnutls/tests/tls13-early-data-neg.c:495,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13-early-data-neg.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 498
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13-early-data-neg.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_key_utf8.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_key_utf8.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_key_utf8.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_key_utf8.c:78,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_key_utf8.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_key_utf8.c:82,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_key_utf8.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key_utf8.c:86,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key_utf8.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key_utf8.c:87,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key_utf8.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key_utf8.c:89,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_key_utf8.c:89,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_key_utf8.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:94,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key_utf8.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:102,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key_utf8.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:108,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key_utf8.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key_utf8.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/set_key_utf8.c:120,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/set_key_utf8.c:120,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/set_key_utf8.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:128,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/set_key_utf8.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:134,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/set_key_utf8.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/set_key_utf8.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_key_utf8.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/set_key_utf8.c:142,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key_utf8.c:145,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key_utf8.c:147,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_key_utf8.c:149,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/set_key_utf8.c:155,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key_utf8.c:159,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_key_utf8.c:160,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_key_utf8.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/set_key_utf8.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 166
    functionName: auto_parse
    functionSourceFile: /src/gnutls/tests/set_key_utf8.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - test_cli_serv_expect
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_privkey_import_x509_raw
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_pcert_list_import_x509_raw
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void auto_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_key_utf8.c:171,1
    - Dst: auto_parse
      Src: /src/gnutls/tests/set_key_utf8.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_key_utf8.c
    functionUses: 1
    functionsReached:
    - exit
    - auto_parse
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs8-key-decode.c:54,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs8-key-decode.c:57,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs8-key-decode.c:58,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs8-key-decode.c:58,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs8-key-decode.c:59,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs8-key-decode.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs8-key-decode.c:64,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs8-key-decode.c:64,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs8-key-decode.c:65,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs8-key-decode.c:68,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs8-key-decode.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: test_load
    functionSourceFile: /src/gnutls/tests/pkcs8-key-decode.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - success
    - strlen
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_deinit
    - fail
    linkageType: ''
    returnType: int
    signature: int test_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_load
      Src: /src/gnutls/tests/pkcs8-key-decode.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs8-key-decode.c
    functionUses: 1
    functionsReached:
    - test_load
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/tests/x509-dn-decode.c:43,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:45,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:45,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/tests/x509-dn-decode.c:48,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:50,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:50,1
    - Dst: gnutls_x509_dn_get_str2
      Src: /src/gnutls/tests/x509-dn-decode.c:53,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:55,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:55,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode.c:58,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:59,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode.c:61,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode.c:64,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:65,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:71,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-dn-decode.c:74,1
    - Dst: gnutls_x509_dn_get_str
      Src: /src/gnutls/tests/x509-dn-decode.c:77,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:79,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:79,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode.c:82,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:83,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509-dn-decode.c:85,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode.c:88,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:89,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:95,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-dn-decode.c:98,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/tests/x509-dn-decode.c:99,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - test_name
    - raw
    - expected
    - expected_compat
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 102
    functionName: decode
    functionSourceFile: /src/gnutls/tests/x509-dn-decode.c
    functionUses: 16
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_dn_get_str
    - strlen
    - gnutls_x509_dn_init
    - test_fail
    - gnutls_x509_dn_get_str2
    - memcmp
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_import
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *expected, const char *expected_compat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/tests/x509-dn-decode.c:112,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:114,1
    - Dst: gnutls_x509_dn_set_str
      Src: /src/gnutls/tests/x509-dn-decode.c:117,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:124,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:126,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:130,1
    - Dst: gnutls_x509_dn_export2
      Src: /src/gnutls/tests/x509-dn-decode.c:134,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-dn-decode.c:136,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:144,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:146,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:148,1
    - Dst: memcmp
      Src: /src/gnutls/tests/x509-dn-decode.c:153,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:156,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-dn-decode.c:160,1
    - Dst: test_fail
      Src: /src/gnutls/tests/x509-dn-decode.c:162,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/x509-dn-decode.c:165,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/tests/x509-dn-decode.c:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - test_name
    - raw
    - str
    - exp_error
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 170
    functionName: encode
    functionSourceFile: /src/gnutls/tests/x509-dn-decode.c
    functionUses: 26
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_dn_set_str
    - gnutls_x509_dn_init
    - gnutls_x509_dn_export2
    - test_fail
    - memcmp
    - gnutls_x509_dn_deinit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void encode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const char *str, int exp_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/gnutls/tests/x509-dn-decode.c:294,1
    - Dst: encode
      Src: /src/gnutls/tests/x509-dn-decode.c:300,1
    - Dst: encode
      Src: /src/gnutls/tests/x509-dn-decode.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-dn-decode.c
    functionUses: 1
    functionsReached:
    - decode
    - encode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/missingissuer.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/missingissuer.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_get_ptr
      Src: /src/gnutls/tests/missingissuer.c:74,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:78,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer.c:83,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/missingissuer.c:87,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/missingissuer.c:94,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer.c:94,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:97,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/missingissuer.c:102,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer.c:102,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:107,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - tlist
    - crt
    - issuers
    - issuers_size
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 113
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 113
    functionName: getissuer_callback
    functionSourceFile: /src/gnutls/tests/missingissuer.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_strerror
    - assert
    - gnutls_free
    - strlen
    - gnutls_x509_trust_list_get_ptr
    - gnutls_x509_crt_list_import2
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int getissuer_callback(gnutls_x509_trust_list_t tlist,\n\t\t\t      const
      gnutls_x509_crt_t crt,\n\t\t\t      gnutls_x509_crt_t **issuers,\n\t\t\t      unsigned
      int *issuers_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:130,1
    - Dst: global_init
      Src: /src/gnutls/tests/missingissuer.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:136,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/missingissuer.c:139,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/missingissuer.c:140,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/missingissuer.c:143,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/missingissuer.c:151,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:154,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/missingissuer.c:156,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:160,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:161,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer.c:165,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/missingissuer.c:167,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:170,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:175,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer.c:178,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:181,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:183,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:187,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/missingissuer.c:189,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:192,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:193,1
    - Dst: strlen
      Src: /src/gnutls/tests/missingissuer.c:197,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/missingissuer.c:199,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:203,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:207,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/missingissuer.c:209,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:211,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:212,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:215,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/missingissuer.c:217,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/missingissuer.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:222,1
    - Dst: gnutls_x509_trust_list_set_ptr
      Src: /src/gnutls/tests/missingissuer.c:228,1
    - Dst: gnutls_x509_trust_list_set_getissuer_function
      Src: /src/gnutls/tests/missingissuer.c:229,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/missingissuer.c:232,1
    - Dst: fprintf
      Src: /src/gnutls/tests/missingissuer.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/missingissuer.c:238,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:239,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/missingissuer.c:244,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/missingissuer.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/missingissuer.c:249,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:252,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/missingissuer.c:253,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:256,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:259,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/missingissuer.c:261,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/missingissuer.c:262,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/missingissuer.c:264,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:267,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/missingissuer.c:270,1
    - Dst: printf
      Src: /src/gnutls/tests/missingissuer.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/missingissuer.c:275,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 276
    functionName: doit
    functionSourceFile: /src/gnutls/tests/missingissuer.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_trust_list_deinit
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_trust_list_add_cas
    - gnutls_certificate_verification_status_print
    - exit
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_set_getissuer_function
    - gnutls_x509_trust_list_init
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_trust_list_verify_crt
    - gnutls_x509_trust_list_set_ptr
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/crt_inv_write.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/crt_inv_write.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/crt_inv_write.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crt_inv_write.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:64,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crt_inv_write.c:66,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crt_inv_write.c:67,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crt_inv_write.c:69,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crt_inv_write.c:71,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:73,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crt_inv_write.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:77,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/crt_inv_write.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:81,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/crt_inv_write.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:87,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/gnutls/tests/crt_inv_write.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:91,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/tests/crt_inv_write.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:95,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/tests/crt_inv_write.c:97,1
    - Dst: mytime
      Src: /src/gnutls/tests/crt_inv_write.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:99,1
    - Dst: gnutls_x509_crt_set_key
      Src: /src/gnutls/tests/crt_inv_write.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:103,1
    - Dst: gnutls_x509_crt_set_basic_constraints
      Src: /src/gnutls/tests/crt_inv_write.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:108,1
    - Dst: gnutls_x509_crt_set_key_usage
      Src: /src/gnutls/tests/crt_inv_write.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:114,1
    - Dst: gnutls_x509_crt_set_dn
      Src: /src/gnutls/tests/crt_inv_write.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_inv_write.c:119,1
    - Dst: gnutls_x509_crt_sign2
      Src: /src/gnutls/tests/crt_inv_write.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_inv_write.c:126,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/crt_inv_write.c:126,1
    - Dst: printf
      Src: /src/gnutls/tests/crt_inv_write.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_inv_write.c:130,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:133,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:134,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - version
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 137
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 137
    functionName: do_crt_with_exts
    functionSourceFile: /src/gnutls/tests/crt_inv_write.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_set_serial
    - gnutls_global_deinit
    - gnutls_x509_crt_set_basic_constraints
    - gnutls_x509_crt_export2
    - gnutls_x509_crt_set_expiration_time
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_privkey_init
    - gnutls_x509_crt_set_dn
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_sign2
    - gnutls_x509_crt_set_version
    - gnutls_x509_privkey_import
    - mytime
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - gnutls_x509_crt_set_key_usage
    - gnutls_x509_crt_set_key
    - gnutls_x509_crt_set_activation_time
    - fail
    linkageType: ''
    returnType: void
    signature: void do_crt_with_exts(unsigned version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/crt_inv_write.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:149,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/crt_inv_write.c:151,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/crt_inv_write.c:152,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/crt_inv_write.c:154,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/crt_inv_write.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:158,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/crt_inv_write.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:162,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/crt_inv_write.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:166,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/crt_inv_write.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:172,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/gnutls/tests/crt_inv_write.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:176,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/tests/crt_inv_write.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:180,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/tests/crt_inv_write.c:182,1
    - Dst: mytime
      Src: /src/gnutls/tests/crt_inv_write.c:182,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:184,1
    - Dst: gnutls_x509_crt_set_key
      Src: /src/gnutls/tests/crt_inv_write.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:188,1
    - Dst: gnutls_x509_crt_set_issuer_unique_id
      Src: /src/gnutls/tests/crt_inv_write.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:192,1
    - Dst: gnutls_x509_crt_set_dn
      Src: /src/gnutls/tests/crt_inv_write.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:198,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_inv_write.c:198,1
    - Dst: gnutls_x509_crt_sign2
      Src: /src/gnutls/tests/crt_inv_write.c:202,1
    - Dst: assert
      Src: /src/gnutls/tests/crt_inv_write.c:205,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/crt_inv_write.c:205,1
    - Dst: printf
      Src: /src/gnutls/tests/crt_inv_write.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/crt_inv_write.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/crt_inv_write.c:209,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:212,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:213,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/crt_inv_write.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 216
    functionName: do_v1_invalid_crt
    functionSourceFile: /src/gnutls/tests/crt_inv_write.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_set_serial
    - gnutls_global_deinit
    - gnutls_x509_crt_export2
    - gnutls_x509_crt_set_expiration_time
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_privkey_init
    - gnutls_x509_crt_set_dn
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_set_issuer_unique_id
    - gnutls_x509_crt_sign2
    - gnutls_x509_crt_set_version
    - gnutls_x509_privkey_import
    - mytime
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - gnutls_x509_crt_set_key
    - gnutls_x509_crt_set_activation_time
    - fail
    linkageType: ''
    returnType: void
    signature: void do_v1_invalid_crt(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_crt_with_exts
      Src: /src/gnutls/tests/crt_inv_write.c:220,1
    - Dst: do_crt_with_exts
      Src: /src/gnutls/tests/crt_inv_write.c:221,1
    - Dst: do_v1_invalid_crt
      Src: /src/gnutls/tests/crt_inv_write.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: doit
    functionSourceFile: /src/gnutls/tests/crt_inv_write.c
    functionUses: 1
    functionsReached:
    - do_v1_invalid_crt
    - do_crt_with_exts
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/record-sizes.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/record-sizes.c:53,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/record-sizes.c:64,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:65,1
    - Dst: global_init
      Src: /src/gnutls/tests/record-sizes.c:69,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-sizes.c:70,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-sizes.c:72,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/record-sizes.c:75,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/record-sizes.c:76,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/record-sizes.c:77,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/record-sizes.c:78,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sizes.c:79,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sizes.c:80,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sizes.c:84,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-sizes.c:85,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-sizes.c:86,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-sizes.c:87,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/record-sizes.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sizes.c:91,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sizes.c:92,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sizes.c:96,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-sizes.c:97,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-sizes.c:98,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-sizes.c:99,1
    - Dst: memset
      Src: /src/gnutls/tests/record-sizes.c:101,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/record-sizes.c:102,1
    - Dst: success
      Src: /src/gnutls/tests/record-sizes.c:105,1
    - Dst: memset
      Src: /src/gnutls/tests/record-sizes.c:107,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/record-sizes.c:110,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sizes.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:119,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-sizes.c:122,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sizes.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:126,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:132,1
    - Dst: memcmp
      Src: /src/gnutls/tests/record-sizes.c:135,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes.c:137,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/record-sizes.c:142,1
    - Dst: fputs
      Src: /src/gnutls/tests/record-sizes.c:145,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sizes.c:147,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sizes.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sizes.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sizes.c:151,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/record-sizes.c:153,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/record-sizes.c:154,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/record-sizes.c:156,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-sizes.c:158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 159
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-sizes.c
    functionUses: 1
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - TRANSFER
    - gnutls_dh_params_init
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_anon_set_server_dh_params
    - exit
    - success
    - strlen
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-timeout.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-timeout.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-timeout.c:71,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-timeout.c:74,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-timeout.c:75,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/handshake-timeout.c:78,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-timeout.c:82,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/handshake-timeout.c:83,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-timeout.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-timeout.c:91,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-timeout.c:93,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-timeout.c:98,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/handshake-timeout.c:99,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-timeout.c:101,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/handshake-timeout.c:102,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-timeout.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-timeout.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/handshake-timeout.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:110,1
    - Dst: success
      Src: /src/gnutls/tests/handshake-timeout.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-timeout.c:116,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/handshake-timeout.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:118,1
    - Dst: shutdown
      Src: /src/gnutls/tests/handshake-timeout.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - fd
    - tmo_ms
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 124
    functionName: client
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 96
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_handshake_set_timeout
    - gnutls_perror
    - gnutls_global_set_log_function
    - shutdown
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int tmo_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-timeout.c:134,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-timeout.c:137,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-timeout.c:138,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/handshake-timeout.c:141,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-timeout.c:143,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-timeout.c:148,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-timeout.c:151,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/handshake-timeout.c:153,1
    - Dst: read
      Src: /src/gnutls/tests/handshake-timeout.c:159,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/handshake-timeout.c:163,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/handshake-timeout.c:164,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-timeout.c:167,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-timeout.c:170,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/handshake-timeout.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-timeout.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - fd
    - tmo_ms
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 173
    functionName: server
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 112
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_error_is_fatal
    - gnutls_anon_allocate_server_credentials
    - read
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void server(int fd, int tmo_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-timeout.c:182,1
    - Dst: socketpair
      Src: /src/gnutls/tests/handshake-timeout.c:184,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-timeout.c:186,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:187,1
    - Dst: fork
      Src: /src/gnutls/tests/handshake-timeout.c:190,1
    - Dst: perror
      Src: /src/gnutls/tests/handshake-timeout.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/handshake-timeout.c:193,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:194,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-timeout.c:200,1
    - Dst: server
      Src: /src/gnutls/tests/handshake-timeout.c:201,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-timeout.c:202,1
    - Dst: wait
      Src: /src/gnutls/tests/handshake-timeout.c:204,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/handshake-timeout.c:205,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-timeout.c:207,1
    - Dst: client
      Src: /src/gnutls/tests/handshake-timeout.c:208,1
    - Dst: close
      Src: /src/gnutls/tests/handshake-timeout.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-timeout.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - tmo_ms
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 212
    functionName: start
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 140
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fprintf
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int tmo_ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/handshake-timeout.c:221,1
    - Dst: signal
      Src: /src/gnutls/tests/handshake-timeout.c:222,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-timeout.c:225,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-timeout.c:228,1
    - Dst: start
      Src: /src/gnutls/tests/handshake-timeout.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-timeout.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/openssl.c:38,1
    - Dst: exit
      Src: /src/gnutls/tests/openssl.c:39,1
    - Dst: global_init
      Src: /src/gnutls/tests/openssl.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/openssl.c:43,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/tests/openssl.c:45,1
    - Dst: success
      Src: /src/gnutls/tests/openssl.c:46,1
    - Dst: MD5_Init
      Src: /src/gnutls/tests/openssl.c:48,1
    - Dst: MD5_Update
      Src: /src/gnutls/tests/openssl.c:49,1
    - Dst: MD5_Final
      Src: /src/gnutls/tests/openssl.c:50,1
    - Dst: memcmp
      Src: /src/gnutls/tests/openssl.c:52,1
    - Dst: hexprint
      Src: /src/gnutls/tests/openssl.c:56,1
    - Dst: fail
      Src: /src/gnutls/tests/openssl.c:57,1
    - Dst: success
      Src: /src/gnutls/tests/openssl.c:59,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/openssl.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: doit
    functionSourceFile: /src/gnutls/tests/openssl.c
    functionUses: 1
    functionsReached:
    - MD5_Init
    - MD5_Final
    - exit
    - success
    - gnutls_check_version
    - gnutls_global_deinit
    - MD5_Update
    - gnutls_fips140_mode_enabled
    - global_init
    - memcmp
    - hexprint
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-data-newapi.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:77,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:81,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:87,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:88,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:90,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:92,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:94,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:96,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:98,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:101,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:103,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:106,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:108,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:110,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:112,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:115,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:117,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:119,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:121,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:124,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:127,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:131,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:134,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:137,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:140,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:141,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:143,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:146,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:150,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:157,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:160,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:161,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:162,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:163,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-data-newapi.c:166,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 167
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-data-newapi.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pubkey_verify_data2
    - gnutls_pk_to_sign
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - testfail
    - success
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_sign_algorithm_get_name
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_global_set_log_level
    - gnutls_free
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-record.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-record.c:91,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record.c:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record.c:96,1
    - Dst: send
      Src: /src/gnutls/tests/mini-record.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: push_crippled
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 0
    functionsReached:
    - send
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t push_crippled(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \    size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record.c:122,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record.c:125,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record.c:126,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-record.c:129,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record.c:130,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record.c:134,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-record.c:135,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:142,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record.c:147,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record.c:148,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record.c:150,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-record.c:151,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record.c:156,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:160,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-record.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:165,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:169,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record.c:170,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record.c:171,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/mini-record.c:174,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-record.c:178,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record.c:188,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:189,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record.c:193,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record.c:197,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record.c:199,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-record.c:201,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record.c:202,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record.c:204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 205
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 97
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-record.c:212,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-record.c:213,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 41
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record.c:227,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record.c:228,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record.c:231,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record.c:232,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record.c:235,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-record.c:236,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-record.c:239,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record.c:241,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-record.c:242,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:251,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record.c:254,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record.c:255,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record.c:257,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-record.c:258,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record.c:261,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record.c:262,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record.c:264,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record.c:267,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record.c:268,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:271,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:274,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record.c:275,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record.c:276,1
    - Dst: gnutls_dtls_get_mtu
      Src: /src/gnutls/tests/mini-record.c:277,1
    - Dst: usleep
      Src: /src/gnutls/tests/mini-record.c:280,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-record.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:287,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record.c:288,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record.c:289,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record.c:298,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record.c:300,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record.c:301,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-record.c:303,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record.c:304,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record.c:306,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 310
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 113
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - usleep
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_dtls_get_mtu
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-record.c:317,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:320,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-record.c:323,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record.c:325,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record.c:326,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:327,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record.c:332,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record.c:333,1
    - Dst: client
      Src: /src/gnutls/tests/mini-record.c:334,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-record.c:335,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-record.c:336,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record.c:338,1
    - Dst: server
      Src: /src/gnutls/tests/mini-record.c:339,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 342
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 141
    functionsReached:
    - exit
    - fork
    - success
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-record.c:364,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-record.c:365,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:367,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:368,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:369,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:370,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:371,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/mini-record.c:372,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-record.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:44,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/name-constraints.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: check_for_error
    functionSourceFile: /src/gnutls/tests/name-constraints.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - fail
    linkageType: ''
    returnType: void
    signature: void check_for_error(int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ret
    - expected_outcome
    - tested_data
    argTypes:
    - int
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: check_test_result
    functionSourceFile: /src/gnutls/tests/name-constraints.c
    functionUses: 1
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: "void check_test_result(int ret, int expected_outcome,\n\t\t\t      gnutls_datum_t
      *tested_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/name-constraints.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - datum
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: set_name
    functionSourceFile: /src/gnutls/tests/name-constraints.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void set_name(const char *name, gnutls_datum_t *datum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/name-constraints.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/name-constraints.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/name-constraints.c:129,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/name-constraints.c:131,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints.c:135,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:136,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/name-constraints.c:138,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:139,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/name-constraints.c:141,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:142,1
    - Dst: gnutls_x509_crt_get_name_constraints
      Src: /src/gnutls/tests/name-constraints.c:144,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:148,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/name-constraints.c:153,1
    - Dst: memcmp
      Src: /src/gnutls/tests/name-constraints.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:165,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints.c:169,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/name-constraints.c:170,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints.c:177,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:178,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/name-constraints.c:180,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:181,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/name-constraints.c:183,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:184,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints.c:187,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:189,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints.c:192,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:194,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints.c:197,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:199,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints.c:202,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:204,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints.c:207,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:209,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints.c:212,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:214,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints.c:217,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:219,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints.c:222,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:224,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints.c:227,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:229,1
    - Dst: gnutls_x509_crt_set_name_constraints
      Src: /src/gnutls/tests/name-constraints.c:231,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:232,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/name-constraints.c:238,1
    - Dst: memcmp
      Src: /src/gnutls/tests/name-constraints.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:251,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/name-constraints.c:257,1
    - Dst: memcmp
      Src: /src/gnutls/tests/name-constraints.c:262,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:263,1
    - Dst: memcmp
      Src: /src/gnutls/tests/name-constraints.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/name-constraints.c:277,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:285,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:286,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:287,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:290,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:291,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:293,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:295,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:296,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:298,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:300,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:301,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:303,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:305,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:306,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:308,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:310,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:311,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:313,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:315,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:316,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:318,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:322,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:323,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:324,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:326,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:327,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:328,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:330,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:331,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:332,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:334,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:335,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:336,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:338,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:339,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:340,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:342,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:343,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:344,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints.c:346,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/name-constraints.c:347,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints.c:353,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:354,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:356,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints.c:357,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints.c:359,1
    - Dst: set_name
      Src: /src/gnutls/tests/name-constraints.c:361,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints.c:362,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints.c:363,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints.c:365,1
    - Dst: success
      Src: /src/gnutls/tests/name-constraints.c:370,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 371
    functionName: doit
    functionSourceFile: /src/gnutls/tests/name-constraints.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_name_constraints_add_excluded
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_x509_name_constraints_init
    - gnutls_x509_name_constraints_check
    - memcmp
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_crt_deinit
    - success
    - gnutls_x509_crt_init
    - gnutls_x509_name_constraints_get_excluded
    - gnutls_global_set_log_level
    - set_name
    - gnutls_x509_name_constraints_get_permitted
    - fail
    - gnutls_x509_crt_get_name_constraints
    - check_test_result
    - check_for_error
    - gnutls_x509_crt_set_name_constraints
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: push
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:87,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:90,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:91,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:94,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:98,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:99,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:109,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:111,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:112,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:117,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:121,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:130,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:131,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:132,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:135,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:137,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:139,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:145,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:149,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:155,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:160,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:162,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:167,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:168,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:173,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:173,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:175,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:179,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:181,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:183,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:185,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - fd
    - server_init
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 186
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 98
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - sec_sleep
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int server_init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:194,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:195,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 42
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:208,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:211,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:212,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:215,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:217,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:218,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:223,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:228,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:230,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:231,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:234,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:235,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:237,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:238,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:240,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:244,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:247,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:248,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:256,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:259,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:259,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:260,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:264,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:266,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:267,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:271,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:272,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:277,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:280,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:285,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:290,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:292,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:299,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:300,1
    - Dst: terminate
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:301,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:306,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:307,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:315,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:317,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:318,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:320,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:322,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:325,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 2
    argNames:
    - fd
    - server_init
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 326
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 114
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_rehandshake
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int server_init)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:333,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:335,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:336,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:339,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:341,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:342,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:343,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:350,1
    - Dst: wait
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:351,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:352,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:354,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:355,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - server_initiated
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 142
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(int server_initiated)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:362,1
    - Dst: start
      Src: /src/gnutls/tests/dtls-rehandshake-anon.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-rehandshake-anon.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-range.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-record-range.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-record-range.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-range.c:92,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-range.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-range.c:96,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-record-range.c:99,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-range.c:100,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-range.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-range.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-range.c:111,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-range.c:112,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-range.c:114,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-range.c:119,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-range.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:123,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-record-range.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:132,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-range.c:133,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-range.c:134,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-record-range.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-range.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:149,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record-range.c:153,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-range.c:157,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-range.c:159,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-record-range.c:161,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-range.c:162,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-range.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 165
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 99
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-record-range.c:172,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-record-range.c:173,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 43
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HIGH
      Src: /src/gnutls/tests/mini-record-range.c:189,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-record-range.c:193,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-record-range.c:194,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-record-range.c:197,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-record-range.c:198,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-record-range.c:201,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-record-range.c:202,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-record-range.c:205,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-record-range.c:207,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-record-range.c:212,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-range.c:214,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-record-range.c:215,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-record-range.c:217,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-record-range.c:220,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-record-range.c:221,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-range.c:223,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-range.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:225,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-range.c:226,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-range.c:227,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:230,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:233,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-record-range.c:234,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-record-range.c:235,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-record-range.c:237,1
    - Dst: gnutls_record_can_use_length_hiding
      Src: /src/gnutls/tests/mini-record-range.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:240,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-range.c:241,1
    - Dst: gnutls_record_send_range
      Src: /src/gnutls/tests/mini-record-range.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-record-range.c:253,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-range.c:254,1
    - Dst: HIGH
      Src: /src/gnutls/tests/mini-record-range.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:257,1
    - Dst: HIGH
      Src: /src/gnutls/tests/mini-record-range.c:258,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-record-range.c:259,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-record-range.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-range.c:270,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-record-range.c:271,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-record-range.c:273,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-record-range.c:274,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-record-range.c:276,1
    - Dst: success
      Src: /src/gnutls/tests/mini-record-range.c:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 280
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 280
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 115
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_transport_set_push_function
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_can_use_length_hiding
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_record_send_range
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - HIGH
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-record-range.c:287,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-range.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:290,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-record-range.c:293,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-record-range.c:295,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-record-range.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:297,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-range.c:302,1
    - Dst: server
      Src: /src/gnutls/tests/mini-record-range.c:303,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-record-range.c:304,1
    - Dst: close
      Src: /src/gnutls/tests/mini-record-range.c:306,1
    - Dst: client
      Src: /src/gnutls/tests/mini-record-range.c:307,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-record-range.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 310
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 143
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/mini-record-range.c:319,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-record-range.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-record-range.c:326,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-range.c:328,1
    - Dst: start
      Src: /src/gnutls/tests/mini-record-range.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-record-range.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crt_sign.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crt_sign.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:85,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:87,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:88,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:90,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:94,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:98,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:103,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:107,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:111,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:117,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:121,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:125,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:127,1
    - Dst: mytime
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:129,1
    - Dst: gnutls_x509_crt_set_key
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:133,1
    - Dst: gnutls_x509_crt_set_basic_constraints
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:137,1
    - Dst: gnutls_x509_crt_set_key_usage
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:142,1
    - Dst: gnutls_x509_crt_set_dn
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:147,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:154,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:156,1
    - Dst: strlen
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:160,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:165,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:172,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:177,1
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:182,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:188,1
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:193,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:199,1
    - Dst: gnutls_x509_crt_set_issuer_dn
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:206,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:207,1
    - Dst: gnutls_x509_crt_sign
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:213,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:217,1
    - Dst: printf
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:219,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:220,1
    - Dst: gnutls_x509_crt_get_raw_dn
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:224,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:224,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:230,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:232,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:236,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:241,1
    - Dst: gnutls_x509_crt_verify
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:250,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:253,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:253,1
    - Dst: fprintf
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:256,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:258,1
    - Dst: memcmp
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:258,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:260,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:262,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:263,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:264,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/gnutls_x509_crt_sign.c:266,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 267
    functionName: doit
    functionSourceFile: /src/gnutls/tests/gnutls_x509_crt_sign.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_set_serial
    - gnutls_x509_crt_set_key_purpose_oid
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - gnutls_x509_crt_verify
    - gnutls_x509_crt_set_basic_constraints
    - gnutls_x509_crt_export2
    - gnutls_x509_crt_set_expiration_time
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - memcmp
    - gnutls_x509_crt_set_issuer_dn
    - gnutls_x509_privkey_init
    - gnutls_x509_crt_equals
    - gnutls_x509_crt_set_dn
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_get_key_purpose_oid
    - gnutls_x509_crt_set_version
    - gnutls_x509_privkey_import
    - mytime
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - gnutls_x509_crt_set_key_usage
    - gnutls_x509_crt_set_subject_alt_name
    - gnutls_x509_crt_set_key
    - gnutls_x509_crt_sign
    - gnutls_x509_crt_set_activation_time
    - fprintf
    - fail
    - gnutls_x509_crt_get_raw_dn
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls-session-supplemental.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-session-supplemental.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:76,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-supplemental.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: supp_client_recv_func
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int supp_client_recv_func(gnutls_session_t session,\n\t\t\t\t const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-supplemental.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: supp_client_send_func
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: int supp_client_send_func(gnutls_session_t session, gnutls_buffer_t
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:97,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls-session-supplemental.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: supp_server_recv_func
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int supp_server_recv_func(gnutls_session_t session,\n\t\t\t\t const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls-session-supplemental.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: supp_server_send_func
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: int supp_server_send_func(gnutls_session_t session, gnutls_buffer_t
      buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-session-supplemental.c:118,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-session-supplemental.c:119,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-session-supplemental.c:121,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-supplemental.c:125,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-supplemental.c:129,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-supplemental.c:130,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-supplemental.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-supplemental.c:132,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-supplemental.c:132,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-supplemental.c:136,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-supplemental.c:138,1
    - Dst: gnutls_supplemental_recv
      Src: /src/gnutls/tests/tls-session-supplemental.c:141,1
    - Dst: gnutls_supplemental_send
      Src: /src/gnutls/tests/tls-session-supplemental.c:142,1
    - Dst: gnutls_session_supplemental_register
      Src: /src/gnutls/tests/tls-session-supplemental.c:144,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-supplemental.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:155,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls-session-supplemental.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-supplemental.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:166,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-supplemental.c:170,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-session-supplemental.c:170,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-supplemental.c:173,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-supplemental.c:176,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-supplemental.c:178,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-supplemental.c:180,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-session-supplemental.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - sd
    - prio
    - server_only
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 183
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 183
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 100
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_supplemental_send
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_supplemental_recv
    - gnutls_global_set_log_level
    - gnutls_session_supplemental_register
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-session-supplemental.c:193,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-session-supplemental.c:194,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-session-supplemental.c:196,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-session-supplemental.c:200,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-session-supplemental.c:201,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-session-supplemental.c:204,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls-session-supplemental.c:205,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls-session-supplemental.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/tls-session-supplemental.c:207,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-session-supplemental.c:207,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-session-supplemental.c:209,1
    - Dst: gnutls_supplemental_recv
      Src: /src/gnutls/tests/tls-session-supplemental.c:212,1
    - Dst: gnutls_supplemental_send
      Src: /src/gnutls/tests/tls-session-supplemental.c:213,1
    - Dst: gnutls_session_supplemental_register
      Src: /src/gnutls/tests/tls-session-supplemental.c:216,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls-session-supplemental.c:221,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls-session-supplemental.c:222,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-supplemental.c:224,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-supplemental.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:226,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls-session-supplemental.c:227,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-supplemental.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:236,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-session-supplemental.c:241,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-supplemental.c:243,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-session-supplemental.c:244,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-session-supplemental.c:246,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-session-supplemental.c:248,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-supplemental.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - sd
    - prio
    - server_only
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 252
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 252
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 116
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_supplemental_send
    - gnutls_priority_set_direct
    - gnutls_supplemental_recv
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_session_supplemental_register
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls-session-supplemental.c:259,1
    - Dst: success
      Src: /src/gnutls/tests/tls-session-supplemental.c:265,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls-session-supplemental.c:267,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-supplemental.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:270,1
    - Dst: fork
      Src: /src/gnutls/tests/tls-session-supplemental.c:274,1
    - Dst: perror
      Src: /src/gnutls/tests/tls-session-supplemental.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-session-supplemental.c:277,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-supplemental.c:284,1
    - Dst: server
      Src: /src/gnutls/tests/tls-session-supplemental.c:285,1
    - Dst: wait
      Src: /src/gnutls/tests/tls-session-supplemental.c:286,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls-session-supplemental.c:287,1
    - Dst: close
      Src: /src/gnutls/tests/tls-session-supplemental.c:289,1
    - Dst: client
      Src: /src/gnutls/tests/tls-session-supplemental.c:290,1
    - Dst: exit
      Src: /src/gnutls/tests/tls-session-supplemental.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - prio
    - server_only
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 293
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 293
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 144
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned server_only)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls-session-supplemental.c:297,1
    - Dst: start
      Src: /src/gnutls/tests/tls-session-supplemental.c:298,1
    - Dst: start
      Src: /src/gnutls/tests/tls-session-supplemental.c:299,1
    - Dst: start
      Src: /src/gnutls/tests/tls-session-supplemental.c:302,1
    - Dst: start
      Src: /src/gnutls/tests/tls-session-supplemental.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-session-supplemental.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-max-record.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dtls-max-record.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dtls-max-record.c:54,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-max-record.c:68,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-max-record.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-max-record.c:73,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-max-record.c:74,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-max-record.c:77,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-max-record.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-max-record.c:80,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-max-record.c:80,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-max-record.c:81,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls-max-record.c:82,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls-max-record.c:83,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls-max-record.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-max-record.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:91,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/dtls-max-record.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-max-record.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:101,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-max-record.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-max-record.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:110,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/tests/dtls-max-record.c:112,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-max-record.c:113,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/dtls-max-record.c:114,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/dtls-max-record.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/dtls-max-record.c:117,1
    - Dst: HANDSHAKE_DTLS
      Src: /src/gnutls/tests/dtls-max-record.c:119,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls-max-record.c:121,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-max-record.c:122,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-max-record.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-max-record.c:127,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls-max-record.c:129,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dtls-max-record.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-max-record.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-max-record.c:134,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-max-record.c:136,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-max-record.c:137,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-max-record.c:139,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-max-record.c:140,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-max-record.c:142,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-max-record.c:143,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dtls-max-record.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 146
    functionName: run
    functionSourceFile: /src/gnutls/tests/dtls-max-record.c
    functionUses: 24
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE_DTLS
    - gnutls_global_set_log_level
    - gnutls_record_set_max_size
    - global_init
    linkageType: ''
    returnType: void
    signature: void run(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/dtls-max-record.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-max-record.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/sign-verify-data.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sign-verify-data.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/sign-verify-data.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sign-verify-data.c:78,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/sign-verify-data.c:80,1
    - Dst: success
      Src: /src/gnutls/tests/sign-verify-data.c:86,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-verify-data.c:87,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/sign-verify-data.c:89,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:91,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/sign-verify-data.c:93,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:95,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/sign-verify-data.c:97,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:100,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/sign-verify-data.c:102,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:106,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/sign-verify-data.c:108,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:110,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/sign-verify-data.c:112,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:115,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/sign-verify-data.c:117,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:119,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data.c:121,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:124,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data.c:127,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:130,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/sign-verify-data.c:133,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/sign-verify-data.c:134,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data.c:136,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:139,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/sign-verify-data.c:143,1
    - Dst: testfail
      Src: /src/gnutls/tests/sign-verify-data.c:146,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-data.c:150,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/sign-verify-data.c:152,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/sign-verify-data.c:153,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/sign-verify-data.c:154,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/sign-verify-data.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/sign-verify-data.c:158,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 159
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-verify-data.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pubkey_verify_data2
    - gnutls_pk_to_sign
    - gnutls_privkey_sign_data
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - testfail
    - success
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_sign_algorithm_get_name
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_global_set_log_level
    - gnutls_free
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/ocsp.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/tests/ocsp.c:504,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:506,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:507,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/tests/ocsp.c:509,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:511,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:512,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/tests/ocsp.c:515,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:516,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/tests/ocsp.c:518,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:520,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:521,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/tests/ocsp.c:524,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:526,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:527,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/tests/ocsp.c:530,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:532,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:533,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:536,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:538,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:539,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:542,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:544,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:545,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:548,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:550,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:551,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:554,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:556,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:557,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:560,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:562,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:563,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:566,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:568,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:569,1
    - Dst: gnutls_ocsp_resp_export
      Src: /src/gnutls/tests/ocsp.c:572,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:574,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:575,1
    - Dst: gnutls_ocsp_resp_export
      Src: /src/gnutls/tests/ocsp.c:578,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:580,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:581,1
    - Dst: gnutls_ocsp_resp_export
      Src: /src/gnutls/tests/ocsp.c:584,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:586,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:587,1
    - Dst: gnutls_ocsp_req_get_version
      Src: /src/gnutls/tests/ocsp.c:590,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:592,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:593,1
    - Dst: gnutls_ocsp_req_get_cert_id
      Src: /src/gnutls/tests/ocsp.c:596,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:598,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:599,1
    - Dst: gnutls_ocsp_req_get_cert_id
      Src: /src/gnutls/tests/ocsp.c:602,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:604,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:605,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:608,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:610,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:611,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:614,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:616,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:617,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:620,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:623,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:624,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:627,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:629,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:630,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:633,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:635,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:636,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:639,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:641,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:642,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:645,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:647,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:648,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:651,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:653,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:654,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:657,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:659,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:660,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/tests/ocsp.c:663,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:665,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:666,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/tests/ocsp.c:669,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:671,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:672,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/tests/ocsp.c:675,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:677,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:678,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/tests/ocsp.c:681,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:683,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:684,1
    - Dst: gnutls_ocsp_req_get_extension
      Src: /src/gnutls/tests/ocsp.c:687,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:689,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:690,1
    - Dst: gnutls_ocsp_req_get_extension
      Src: /src/gnutls/tests/ocsp.c:693,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:695,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:696,1
    - Dst: gnutls_ocsp_req_get_extension
      Src: /src/gnutls/tests/ocsp.c:699,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:701,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:702,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:705,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:707,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:708,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:711,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:713,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:714,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:717,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:719,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:720,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:723,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:725,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:726,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:729,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:731,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:732,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:735,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:737,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:738,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/tests/ocsp.c:741,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:743,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:744,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/tests/ocsp.c:747,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:749,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:750,1
    - Dst: gnutls_ocsp_req_randomize_nonce
      Src: /src/gnutls/tests/ocsp.c:753,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:755,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:756,1
    - Dst: gnutls_ocsp_resp_get_status
      Src: /src/gnutls/tests/ocsp.c:759,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:761,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:762,1
    - Dst: gnutls_ocsp_resp_get_status
      Src: /src/gnutls/tests/ocsp.c:765,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:767,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:768,1
    - Dst: gnutls_ocsp_resp_get_response
      Src: /src/gnutls/tests/ocsp.c:771,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:773,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:774,1
    - Dst: gnutls_ocsp_resp_get_response
      Src: /src/gnutls/tests/ocsp.c:777,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:779,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:780,1
    - Dst: gnutls_ocsp_resp_get_response
      Src: /src/gnutls/tests/ocsp.c:783,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:785,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:786,1
    - Dst: gnutls_ocsp_resp_get_version
      Src: /src/gnutls/tests/ocsp.c:789,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:791,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:792,1
    - Dst: gnutls_ocsp_resp_get_version
      Src: /src/gnutls/tests/ocsp.c:795,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:797,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:798,1
    - Dst: gnutls_ocsp_resp_get_responder
      Src: /src/gnutls/tests/ocsp.c:801,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:803,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:804,1
    - Dst: gnutls_ocsp_resp_get_responder
      Src: /src/gnutls/tests/ocsp.c:807,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:809,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:810,1
    - Dst: gnutls_ocsp_resp_get_responder
      Src: /src/gnutls/tests/ocsp.c:813,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:815,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:816,1
    - Dst: gnutls_ocsp_resp_get_responder_raw_id
      Src: /src/gnutls/tests/ocsp.c:819,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:822,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:823,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:824,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:827,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/tests/ocsp.c:829,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:830,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 271
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 831
    functionName: ocsp_invalid_calls
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_resp_get_responder
    - gnutls_ocsp_resp_get_responder_raw_id
    - gnutls_ocsp_req_add_cert_id
    - gnutls_ocsp_req_export
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_req_get_version
    - gnutls_ocsp_req_get_cert_id
    - exit
    - gnutls_ocsp_req_set_nonce
    - gnutls_ocsp_req_set_extension
    - gnutls_ocsp_resp_export
    - gnutls_ocsp_resp_deinit
    - gnutls_ocsp_req_import
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_req_get_extension
    - gnutls_ocsp_resp_get_response
    - gnutls_ocsp_req_randomize_nonce
    - gnutls_ocsp_resp_get_version
    - gnutls_ocsp_resp_get_status
    - gnutls_ocsp_req_add_cert
    - gnutls_ocsp_req_init
    - gnutls_ocsp_req_get_nonce
    - fail
    linkageType: ''
    returnType: void
    signature: void ocsp_invalid_calls(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/tests/ocsp.c:842,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:844,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:845,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/tests/ocsp.c:850,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:852,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:853,1
    - Dst: gnutls_ocsp_req_get_version
      Src: /src/gnutls/tests/ocsp.c:858,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:860,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:861,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:871,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:873,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:874,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:878,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:879,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:883,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:884,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:885,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:888,1
    - Dst: gnutls_ocsp_req_print
      Src: /src/gnutls/tests/ocsp.c:893,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:895,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:896,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:899,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:900,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:900,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:901,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:902,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:904,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:905,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:907,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:910,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:912,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:913,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:918,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:919,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:920,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:922,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/tests/ocsp.c:931,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:933,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:934,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:937,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:939,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:940,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:944,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:945,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:949,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:950,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:951,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:954,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/tests/ocsp.c:958,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:960,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:961,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:964,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:966,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:967,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:971,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:972,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:976,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:977,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:978,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:981,1
    - Dst: gnutls_ocsp_req_randomize_nonce
      Src: /src/gnutls/tests/ocsp.c:985,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:987,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:988,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:991,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:993,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:994,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:998,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:999,1
    - Dst: gnutls_ocsp_req_randomize_nonce
      Src: /src/gnutls/tests/ocsp.c:1002,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1004,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1005,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/tests/ocsp.c:1008,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1010,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1011,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1015,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1016,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1020,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1021,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1022,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1025,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1026,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/tests/ocsp.c:1031,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 1032
    functionName: req_parse
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_ocsp_req_import
    - gnutls_free
    - strlen
    - gnutls_ocsp_req_set_nonce
    - gnutls_ocsp_req_print
    - gnutls_ocsp_req_randomize_nonce
    - memcmp
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - gnutls_ocsp_req_get_version
    - printf
    - gnutls_ocsp_req_get_nonce
    - fail
    - gnutls_ocsp_req_export
    linkageType: ''
    returnType: void
    signature: void req_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/tests/ocsp.c:1044,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1046,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1047,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:1056,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1059,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1060,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/tests/ocsp.c:1073,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1078,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1079,1
    - Dst: gnutls_ocsp_req_print
      Src: /src/gnutls/tests/ocsp.c:1085,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1087,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1088,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1091,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1092,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1092,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:1093,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1094,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1096,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1097,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1099,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:1102,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1104,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1105,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1110,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1111,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1112,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1114,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/tests/ocsp.c:1118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1119
    functionName: req_addcert_id
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_free
    - strlen
    - memcmp
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - printf
    - gnutls_ocsp_req_set_extension
    - gnutls_ocsp_req_print
    - fail
    - gnutls_ocsp_req_add_cert_id
    - gnutls_ocsp_req_export
    linkageType: ''
    returnType: void
    signature: void req_addcert_id(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/tests/ocsp.c:1131,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1133,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1134,1
    - Dst: gnutls_ocsp_req_set_extension
      Src: /src/gnutls/tests/ocsp.c:1143,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1146,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1147,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1155,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1157,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1158,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1161,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1163,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1164,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1167,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1170,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1171,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1174,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1177,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1178,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/tests/ocsp.c:1181,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1184,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1185,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1188,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1189,1
    - Dst: gnutls_ocsp_req_print
      Src: /src/gnutls/tests/ocsp.c:1194,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1196,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1197,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1200,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1201,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1201,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:1202,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1203,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1205,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1206,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1208,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/tests/ocsp.c:1211,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1213,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1214,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1219,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1220,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1221,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1223,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/tests/ocsp.c:1227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1228
    functionName: req_addcert
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - strlen
    - gnutls_free
    - memcmp
    - gnutls_ocsp_req_add_cert
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - printf
    - gnutls_ocsp_req_set_extension
    - gnutls_ocsp_req_print
    - fail
    - gnutls_ocsp_req_export
    linkageType: ''
    returnType: void
    signature: void req_addcert(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/tests/ocsp.c:1245,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1251,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1252,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1255,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1256,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1257,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/tests/ocsp.c:1260,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1263,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1264,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/tests/ocsp.c:1267,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_t
    constantsTouched: []
    func_position:
      end: 1275
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1275
    functionName: check_ocsp_resp
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_ocsp_resp_get_single
    - gnutls_free
    - fail
    linkageType: ''
    returnType: void
    signature: void check_ocsp_resp(gnutls_ocsp_resp_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/tests/ocsp.c:1285,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1287,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1288,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:1293,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1295,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1296,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1297,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/tests/ocsp.c:1302,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1304,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1305,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1308,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1309,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1309,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:1310,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1311,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1313,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1314,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1316,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:1320,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1322,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1323,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1324,1
    - Dst: check_ocsp_resp
      Src: /src/gnutls/tests/ocsp.c:1327,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/tests/ocsp.c:1330,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1332,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1333,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1336,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1336,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:1337,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1338,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1340,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1341,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1343,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:1347,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/tests/ocsp.c:1351,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1353,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1354,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:1357,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1359,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1360,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1361,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/tests/ocsp.c:1366,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1368,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1369,1
    - Dst: memcmp
      Src: /src/gnutls/tests/ocsp.c:1372,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1372,1
    - Dst: printf
      Src: /src/gnutls/tests/ocsp.c:1373,1
    - Dst: strlen
      Src: /src/gnutls/tests/ocsp.c:1374,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1376,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1377,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/ocsp.c:1379,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:1383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1384
    functionName: resp_import
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 3
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_ocsp_resp_print
    - gnutls_ocsp_resp_import
    - memcmp
    - gnutls_ocsp_resp_init
    - check_ocsp_resp
    - printf
    - fail
    linkageType: ''
    returnType: void
    signature: void resp_import(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/tests/ocsp.c:1396,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1398,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1399,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:1404,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1406,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1407,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1410,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1412,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1413,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1416,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1418,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1419,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1422,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1424,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1425,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1428,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1431,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1432,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1435,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1438,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1439,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1442,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1445,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1446,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/tests/ocsp.c:1451,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1453,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1454,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1458,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1459,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/tests/ocsp.c:1464,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1467,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1468,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1472,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1473,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/ocsp.c:1478,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1480,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1481,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1484,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1486,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1487,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/tests/ocsp.c:1490,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1493,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1494,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1498,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1499,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/ocsp.c:1502,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/ocsp.c:1506,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1508,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1509,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1512,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1514,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1515,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/tests/ocsp.c:1518,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1520,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1521,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1525,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1526,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/ocsp.c:1529,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/ocsp.c:1533,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1535,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1536,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1539,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1541,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1542,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/tests/ocsp.c:1545,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1548,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1549,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1553,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1554,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/ocsp.c:1557,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/ocsp.c:1561,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1563,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1564,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1567,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1569,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1570,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1573,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1575,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1576,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/ocsp.c:1579,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1581,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1582,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/tests/ocsp.c:1585,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1587,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1588,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1592,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1593,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/ocsp.c:1596,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:1600,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1601,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1602,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1603,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 153
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1604
    functionName: resp_verify
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_ocsp_resp_verify
    - gnutls_ocsp_resp_import
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_deinit
    - gnutls_ocsp_resp_init
    - gnutls_x509_trust_list_add_cas
    - gnutls_ocsp_resp_verify_direct
    - fail
    linkageType: ''
    returnType: void
    signature: void resp_verify(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/tests/ocsp.c:1615,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1617,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1618,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/tests/ocsp.c:1623,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1625,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/ocsp.c:1626,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1627,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/ocsp.c:1630,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1632,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1633,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/ocsp.c:1636,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1639,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1640,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/tests/ocsp.c:1645,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1647,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1648,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1652,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1653,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/ocsp.c:1656,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/tests/ocsp.c:1657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1658
    functionName: long_resp_check
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - gnutls_strerror
    - exit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_resp_verify_direct
    - fail
    linkageType: ''
    returnType: void
    signature: void long_resp_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ocsp.c:1664,1
    - Dst: fail
      Src: /src/gnutls/tests/ocsp.c:1666,1
    - Dst: exit
      Src: /src/gnutls/tests/ocsp.c:1667,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/ocsp.c:1670,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/ocsp.c:1671,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/ocsp.c:1673,1
    - Dst: ocsp_invalid_calls
      Src: /src/gnutls/tests/ocsp.c:1675,1
    - Dst: req_parse
      Src: /src/gnutls/tests/ocsp.c:1676,1
    - Dst: resp_import
      Src: /src/gnutls/tests/ocsp.c:1677,1
    - Dst: req_addcert_id
      Src: /src/gnutls/tests/ocsp.c:1678,1
    - Dst: req_addcert
      Src: /src/gnutls/tests/ocsp.c:1679,1
    - Dst: resp_verify
      Src: /src/gnutls/tests/ocsp.c:1680,1
    - Dst: long_resp_check
      Src: /src/gnutls/tests/ocsp.c:1683,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ocsp.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1660
    functionDepth: 3
    functionLinenumber: 1660
    functionLinenumberEnd: 1688
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - req_addcert
    - gnutls_global_deinit
    - long_resp_check
    - ocsp_invalid_calls
    - req_parse
    - global_init
    - resp_import
    - resp_verify
    - req_addcert_id
    - fail
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:63,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:65,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:67,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:69,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:71,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:73,1
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: unlocked_ecc_curve_get_id
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t unlocked_ecc_curve_get_id(const char *curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:81,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: curve_name_to_pk
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t curve_name_to_pk(const char *curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:96,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:98,1
    - Dst: gnutls_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:98,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:99,1
    - Dst: unlocked_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:99,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:100,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:100,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:101,1
    - Dst: curve_name_to_pk
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:102,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:103,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:103,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:104,1
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: assert_unblocked
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_generate
    - gnutls_ecc_curve_get_id
    - _check
    - gnutls_privkey_deinit
    - GNUTLS_CURVE_TO_BITS
    - gnutls_privkey_init
    - fprintf
    - curve_name_to_pk
    - unlocked_ecc_curve_get_id
    linkageType: ''
    returnType: void
    signature: void assert_unblocked(const char *curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:115,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:117,1
    - Dst: gnutls_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:117,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:118,1
    - Dst: unlocked_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:118,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:120,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:120,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:120,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:121,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:121,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:122,1
    - Dst: curve_name_to_pk
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:123,1
    - Dst: _check
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:124,1
    - Dst: gnutls_privkey_generate
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:124,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:125,1
    - Dst: fprintf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: assert_blocked
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_generate
    - gnutls_ecc_curve_get_name
    - gnutls_ecc_curve_get_id
    - _check
    - gnutls_privkey_deinit
    - strcasecmp
    - GNUTLS_CURVE_TO_BITS
    - gnutls_privkey_init
    - fprintf
    - curve_name_to_pk
    - unlocked_ecc_curve_get_id
    linkageType: ''
    returnType: void
    signature: void assert_blocked(const char *curve_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _assert
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:132,1
    - Dst: getenv
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:132,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - envvar
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: envvarcpy
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    - _assert
    - getenv
    linkageType: ''
    returnType: char
    signature: char *envvarcpy(const char *envvar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: envvarcpy
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:142,1
    - Dst: strtok
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:143,1
    - Dst: strtok
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:143,1
    - Dst: unlocked_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:144,1
    - Dst: assert_unblocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:146,1
    - Dst: gnutls_ecc_curve_set_enabled
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:148,1
    - Dst: assert_blocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:149,1
    - Dst: gnutls_ecc_curve_set_enabled
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:151,1
    - Dst: assert_unblocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:152,1
    - Dst: printf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:154,1
    - Dst: free
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:156,1
    - Dst: envvarcpy
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:158,1
    - Dst: strtok
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:159,1
    - Dst: strtok
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:159,1
    - Dst: unlocked_ecc_curve_get_id
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:160,1
    - Dst: assert_blocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:162,1
    - Dst: gnutls_ecc_curve_set_enabled
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:164,1
    - Dst: assert_unblocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:165,1
    - Dst: gnutls_ecc_curve_set_enabled
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:167,1
    - Dst: assert_blocked
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:168,1
    - Dst: printf
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:170,1
    - Dst: free
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/system-override-curves-allowlist.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 175
    functionName: doit
    functionSourceFile: /src/gnutls/tests/system-override-curves-allowlist.c
    functionUses: 1
    functionsReached:
    - assert_blocked
    - exit
    - free
    - strtok
    - assert_unblocked
    - printf
    - envvarcpy
    - gnutls_ecc_curve_set_enabled
    - unlocked_ecc_curve_get_id
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-server-kx-neg.c:474,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-server-kx-neg.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-server-kx-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-crt_type-neg.c:419,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-crt_type-neg.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-crt_type-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_INSECURE_FOR_CERTS_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:82,1
    - Dst: CHECK_INSECURE_FOR_CERTS_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:83,1
    - Dst: CHECK_INSECURE_FOR_CERTS_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:84,1
    - Dst: CHECK_INSECURE_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:86,1
    - Dst: CHECK_INSECURE_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:87,1
    - Dst: CHECK_INSECURE_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:88,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/tests/sign-is-secure.c:100,1
    - Dst: CHECK_SECURE_SIG
      Src: /src/gnutls/tests/sign-is-secure.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: doit
    functionSourceFile: /src/gnutls/tests/sign-is-secure.c
    functionUses: 1
    functionsReached:
    - CHECK_INSECURE_SIG
    - CHECK_INSECURE_FOR_CERTS_SIG
    - CHECK_SECURE_SIG
    - gnutls_sign_algorithm_get_name
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/handshake-versions.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/handshake-versions.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/handshake-versions.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/handshake-versions.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-versions.c:67,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/handshake-versions.c:68,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-versions.c:71,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-versions.c:72,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-versions.c:74,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-versions.c:75,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-versions.c:76,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-versions.c:77,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/handshake-versions.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-versions.c:83,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/handshake-versions.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-versions.c:88,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/handshake-versions.c:90,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-versions.c:92,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/handshake-versions.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-versions.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/handshake-versions.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/handshake-versions.c:101,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/handshake-versions.c:103,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/handshake-versions.c:104,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/handshake-versions.c:105,1
    - Dst: _gnutls_hello_set_default_version
      Src: /src/gnutls/tests/handshake-versions.c:106,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/handshake-versions.c:108,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-versions.c:110,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/handshake-versions.c:111,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-versions.c:113,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/handshake-versions.c:114,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-versions.c:116,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/handshake-versions.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - major
    - minor
    - ret1
    - ret2
    argTypes:
    - unsigned char
    - unsigned char
    - int
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 118
    functionName: try
    functionSourceFile: /src/gnutls/tests/handshake-versions.c
    functionUses: 29
    functionsReached:
    - exit
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - _gnutls_hello_set_default_version
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_bye
    - gnutls_priority_set_direct
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_trust_mem
    - HANDSHAKE_EXPECT
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void try(unsigned char major, unsigned char minor, int ret1, int ret2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/handshake-versions.c:122,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:125,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:127,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:130,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:132,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:134,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/handshake-versions.c:136,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/handshake-versions.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: doit
    functionSourceFile: /src/gnutls/tests/handshake-versions.c
    functionUses: 1
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/id-on-xmppAddr.c:53,1
    - Dst: snprintf
      Src: /src/gnutls/tests/id-on-xmppAddr.c:57,1
    - Dst: global_init
      Src: /src/gnutls/tests/id-on-xmppAddr.c:59,1
    - Dst: fail
      Src: /src/gnutls/tests/id-on-xmppAddr.c:61,1
    - Dst: should_succeed
      Src: /src/gnutls/tests/id-on-xmppAddr.c:63,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/id-on-xmppAddr.c:63,1
    - Dst: should_succeed
      Src: /src/gnutls/tests/id-on-xmppAddr.c:64,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/id-on-xmppAddr.c:64,1
    - Dst: should_succeed
      Src: /src/gnutls/tests/id-on-xmppAddr.c:65,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/id-on-xmppAddr.c:66,1
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/gnutls/tests/id-on-xmppAddr.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/id-on-xmppAddr.c:70,1
    - Dst: strcmp
      Src: /src/gnutls/tests/id-on-xmppAddr.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/id-on-xmppAddr.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/id-on-xmppAddr.c:75,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/id-on-xmppAddr.c:76,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/id-on-xmppAddr.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 78
    functionName: doit
    functionSourceFile: /src/gnutls/tests/id-on-xmppAddr.c
    functionUses: 1
    functionsReached:
    - gnutls_load_file
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - snprintf
    - fail
    - global_init
    - strcmp
    - gnutls_x509_crt_get_subject_alt_name
    - should_succeed
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_get_rdn_ava
      Src: /src/gnutls/tests/dn.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:78,1
    - Dst: printf
      Src: /src/gnutls/tests/dn.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - dn
    argTypes:
    - gnutls_x509_dn_t
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: print_dn
    functionSourceFile: /src/gnutls/tests/dn.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_x509_dn_get_rdn_ava
    - fail
    linkageType: ''
    returnType: void
    signature: void print_dn(gnutls_x509_dn_t dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dn.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:96,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/dn.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:100,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/dn.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:104,1
    - Dst: gnutls_x509_crt_get_issuer
      Src: /src/gnutls/tests/dn.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:108,1
    - Dst: printf
      Src: /src/gnutls/tests/dn.c:111,1
    - Dst: print_dn
      Src: /src/gnutls/tests/dn.c:112,1
    - Dst: gnutls_x509_crt_get_subject
      Src: /src/gnutls/tests/dn.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:117,1
    - Dst: gnutls_x509_dn_get_str
      Src: /src/gnutls/tests/dn.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:122,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dn.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:127,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dn.c:130,1
    - Dst: gnutls_x509_dn_get_str2
      Src: /src/gnutls/tests/dn.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:135,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dn.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:139,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dn.c:142,1
    - Dst: gnutls_x509_dn_get_str2
      Src: /src/gnutls/tests/dn.c:145,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:147,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dn.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/dn.c:151,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dn.c:154,1
    - Dst: printf
      Src: /src/gnutls/tests/dn.c:157,1
    - Dst: print_dn
      Src: /src/gnutls/tests/dn.c:158,1
    - Dst: success
      Src: /src/gnutls/tests/dn.c:162,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/dn.c:164,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dn.c:165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 166
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dn.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_dn_get_str
    - gnutls_x509_crt_init
    - success
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - gnutls_x509_dn_get_str2
    - global_init
    - gnutls_x509_crt_get_issuer
    - strcmp
    - printf
    - gnutls_x509_crt_get_subject
    - print_dn
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/rng-no-onload.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-no-onload.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/rng-no-onload.c:49,1
    - Dst: memset
      Src: /src/gnutls/tests/rng-no-onload.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/tests/rng-no-onload.c
    functionUses: 11
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/rng-no-onload.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/rng-no-onload.c:61,1
    - Dst: global_init
      Src: /src/gnutls/tests/rng-no-onload.c:64,1
    - Dst: fail
      Src: /src/gnutls/tests/rng-no-onload.c:67,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rng-no-onload.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-no-onload.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/tests/time.c:65,1
    - Dst: fprintf
      Src: /src/gnutls/tests/time.c:68,1
    - Dst: fprintf
      Src: /src/gnutls/tests/time.c:70,1
    - Dst: _gnutls_utcTime2gtime
      Src: /src/gnutls/tests/time.c:77,1
    - Dst: fprintf
      Src: /src/gnutls/tests/time.c:79,1
    - Dst: fprintf
      Src: /src/gnutls/tests/time.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: doit
    functionSourceFile: /src/gnutls/tests/time.c
    functionUses: 1
    functionsReached:
    - _gnutls_utcTime2gtime
    - fprintf
    - _gnutls_x509_generalTime2gtime
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/cipher-alignment.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/cipher-alignment.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/cipher-alignment.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: myaes_init
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int myaes_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int
      enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/cipher-alignment.c:158,1
    - Dst: aes128_set_encrypt_key
      Src: /src/gnutls/tests/cipher-alignment.c:161,1
    - Dst: aes128_set_decrypt_key
      Src: /src/gnutls/tests/cipher-alignment.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: myaes_setkey
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    - assert
    - aes128_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: int myaes_setkey(void *_ctx, const void *userkey, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/cipher-alignment.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: myaes_setiv
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int myaes_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:189,1
    - Dst: cbc_encrypt
      Src: /src/gnutls/tests/cipher-alignment.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: myaes_encrypt
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - cbc_encrypt
    - fail
    linkageType: ''
    returnType: int
    signature: "int myaes_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:210,1
    - Dst: cbc_decrypt
      Src: /src/gnutls/tests/cipher-alignment.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: myaes_decrypt
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - fail
    - cbc_decrypt
    linkageType: ''
    returnType: int
    signature: "int myaes_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/cipher-alignment.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: myaes_deinit
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void myaes_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cipher-alignment.c:233,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cipher-alignment.c:235,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cipher-alignment.c:237,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/cipher-alignment.c:241,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cipher-alignment.c:242,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cipher-alignment.c:247,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-alignment.c:249,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cipher-alignment.c:249,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cipher-alignment.c:253,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/cipher-alignment.c:255,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/cipher-alignment.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:262,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/cipher-alignment.c:263,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:270,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/cipher-alignment.c:271,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/cipher-alignment.c:272,1
    - Dst: print_info
      Src: /src/gnutls/tests/cipher-alignment.c:276,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/cipher-alignment.c:278,1
    - Dst: strlen
      Src: /src/gnutls/tests/cipher-alignment.c:278,1
    - Dst: strlen
      Src: /src/gnutls/tests/cipher-alignment.c:280,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:282,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:284,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/cipher-alignment.c:285,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/cipher-alignment.c:289,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:292,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:296,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/cipher-alignment.c:297,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:300,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/cipher-alignment.c:301,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:303,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:309,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:312,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cipher-alignment.c:312,1
    - Dst: printf
      Src: /src/gnutls/tests/cipher-alignment.c:317,1
    - Dst: fputc
      Src: /src/gnutls/tests/cipher-alignment.c:319,1
    - Dst: fputs
      Src: /src/gnutls/tests/cipher-alignment.c:321,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/cipher-alignment.c:324,1
    - Dst: close
      Src: /src/gnutls/tests/cipher-alignment.c:328,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cipher-alignment.c:330,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cipher-alignment.c:332,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 333
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 333
    functionName: client
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 101
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cipher-alignment.c:389,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cipher-alignment.c:391,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cipher-alignment.c:393,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/cipher-alignment.c:394,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/cipher-alignment.c:397,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:401,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/cipher-alignment.c:403,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-alignment.c:408,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/cipher-alignment.c:408,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/cipher-alignment.c:410,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/cipher-alignment.c:412,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/cipher-alignment.c:413,1
    - Dst: close
      Src: /src/gnutls/tests/cipher-alignment.c:415,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cipher-alignment.c:416,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:417,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cipher-alignment.c:418,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:422,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:423,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/cipher-alignment.c:424,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/cipher-alignment.c:425,1
    - Dst: print_info
      Src: /src/gnutls/tests/cipher-alignment.c:430,1
    - Dst: memset
      Src: /src/gnutls/tests/cipher-alignment.c:433,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/cipher-alignment.c:434,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:438,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:441,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/cipher-alignment.c:447,1
    - Dst: strlen
      Src: /src/gnutls/tests/cipher-alignment.c:447,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/cipher-alignment.c:452,1
    - Dst: close
      Src: /src/gnutls/tests/cipher-alignment.c:454,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/cipher-alignment.c:455,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cipher-alignment.c:457,1
    - Dst: success
      Src: /src/gnutls/tests/cipher-alignment.c:460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 461
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 461
    functionName: server
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 117
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - success
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - print_info
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/cipher-alignment.c:468,1
    - Dst: perror
      Src: /src/gnutls/tests/cipher-alignment.c:470,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:471,1
    - Dst: fork
      Src: /src/gnutls/tests/cipher-alignment.c:475,1
    - Dst: perror
      Src: /src/gnutls/tests/cipher-alignment.c:477,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:478,1
    - Dst: close
      Src: /src/gnutls/tests/cipher-alignment.c:485,1
    - Dst: server
      Src: /src/gnutls/tests/cipher-alignment.c:486,1
    - Dst: wait
      Src: /src/gnutls/tests/cipher-alignment.c:487,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/cipher-alignment.c:488,1
    - Dst: close
      Src: /src/gnutls/tests/cipher-alignment.c:490,1
    - Dst: client
      Src: /src/gnutls/tests/cipher-alignment.c:491,1
    - Dst: exit
      Src: /src/gnutls/tests/cipher-alignment.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 494
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 494
    functionName: start
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 145
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cipher-alignment.c:500,1
    - Dst: _gnutls_crypto_register_cipher
      Src: /src/gnutls/tests/cipher-alignment.c:502,1
    - Dst: fail
      Src: /src/gnutls/tests/cipher-alignment.c:507,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-alignment.c:510,1
    - Dst: start
      Src: /src/gnutls/tests/cipher-alignment.c:511,1
    - Dst: assert
      Src: /src/gnutls/tests/cipher-alignment.c:513,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cipher-alignment.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 516
    functionName: doit
    functionSourceFile: /src/gnutls/tests/cipher-alignment.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_global_deinit
    - _gnutls_crypto_register_cipher
    - fail
    - global_init
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/tlsfeature-ext.c:71,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:75,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:75,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:77,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:78,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:79,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:80,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:81,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:83,1
    - Dst: gnutls_x509_ext_export_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-ext.c:83,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:89,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:91,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-ext.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:93,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:96,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:99,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:102,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:102,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:105,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:106,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:108,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tlsfeature-ext.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:112,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:112,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:114,1
    - Dst: gnutls_x509_ext_export_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-ext.c:114,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:118,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:120,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-ext.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:122,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/tests/tlsfeature-ext.c:122,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tlsfeature-ext.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:130,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:130,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/tests/tlsfeature-ext.c:133,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:136,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:143,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/tests/tlsfeature-ext.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/tlsfeature-ext.c:145,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/tests/tlsfeature-ext.c:145,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:148,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tlsfeature-ext.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 151
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tlsfeature-ext.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - assert
    - gnutls_free
    - gnutls_x509_tlsfeatures_add
    - gnutls_global_deinit
    - gnutls_x509_tlsfeatures_init
    - global_init
    - gnutls_x509_ext_export_tlsfeatures
    - gnutls_x509_tlsfeatures_get
    - gnutls_x509_ext_import_tlsfeatures
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/kdf-api.c:50,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/kdf-api.c:50,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:55,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/kdf-api.c:55,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:58,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:59,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/kdf-api.c:59,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:62,1
    - Dst: gnutls_hkdf_extract
      Src: /src/gnutls/tests/kdf-api.c:62,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:64,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:65,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:66,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:70,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/tests/kdf-api.c:70,1
    - Dst: strcmp
      Src: /src/gnutls/tests/kdf-api.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/kdf-api.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:76,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:81,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/kdf-api.c:81,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:84,1
    - Dst: gnutls_hkdf_expand
      Src: /src/gnutls/tests/kdf-api.c:84,1
    - Dst: gnutls_hmac_get_len
      Src: /src/gnutls/tests/kdf-api.c:85,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:87,1
    - Dst: FIPS_PUSH_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:90,1
    - Dst: gnutls_hkdf_expand
      Src: /src/gnutls/tests/kdf-api.c:90,1
    - Dst: FIPS_POP_CONTEXT
      Src: /src/gnutls/tests/kdf-api.c:92,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:94,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:98,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/tests/kdf-api.c:98,1
    - Dst: strcmp
      Src: /src/gnutls/tests/kdf-api.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/kdf-api.c:101,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 7
    argNames:
    - mac
    - ikm_hex
    - salt_hex
    - info_hex
    - length
    - prk_hex
    - okm_hex
    argTypes:
    - gnutls_mac_algorithm_t
    - char*
    - char*
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: test_hkdf
    functionSourceFile: /src/gnutls/tests/kdf-api.c
    functionUses: 0
    functionsReached:
    - assert
    - success
    - gnutls_free
    - strlen
    - gnutls_hex_decode2
    - gnutls_hex_encode2
    - gnutls_hkdf_expand
    - gnutls_mac_get_name
    - FIPS_PUSH_CONTEXT
    - gnutls_hkdf_extract
    - strcmp
    - gnutls_hmac_get_len
    - fail
    - FIPS_POP_CONTEXT
    linkageType: ''
    returnType: void
    signature: "void test_hkdf(gnutls_mac_algorithm_t mac, const char *ikm_hex,\n\t\t
      \     const char *salt_hex, const char *info_hex, size_t length,\n\t\t      const
      char *prk_hex, const char *okm_hex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: is_mac_algo_hmac_approved_in_fips
    functionSourceFile: /src/gnutls/tests/kdf-api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_mac_algo_hmac_approved_in_fips(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/kdf-api.c:137,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/kdf-api.c:137,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:141,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/kdf-api.c:141,1
    - Dst: strlen
      Src: /src/gnutls/tests/kdf-api.c:144,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:145,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/tests/kdf-api.c:145,1
    - Dst: fips_push_context
      Src: /src/gnutls/tests/kdf-api.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:148,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/tests/kdf-api.c:148,1
    - Dst: fips_pop_context
      Src: /src/gnutls/tests/kdf-api.c:149,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:150,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:155,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/tests/kdf-api.c:155,1
    - Dst: strcmp
      Src: /src/gnutls/tests/kdf-api.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/kdf-api.c:158,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/kdf-api.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 7
    argNames:
    - mac
    - ikm_hex
    - salt_hex
    - iter_count
    - length
    - okm_hex
    - expected_state
    argTypes:
    - gnutls_mac_algorithm_t
    - char*
    - char*
    - unsigned
    - size_t
    - char*
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 162
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 162
    functionName: test_pbkdf2
    functionSourceFile: /src/gnutls/tests/kdf-api.c
    functionUses: 0
    functionsReached:
    - fips_pop_context
    - assert
    - success
    - gnutls_free
    - strlen
    - gnutls_hex_decode2
    - gnutls_hex_encode2
    - fips_push_context
    - gnutls_mac_get_name
    - strcmp
    - gnutls_pbkdf2
    - fail
    linkageType: ''
    returnType: void
    signature: "void test_pbkdf2(gnutls_mac_algorithm_t mac, const char *ikm_hex,\n\t\t\tconst
      char *salt_hex, unsigned iter_count,\n\t\t\tsize_t length, const char *okm_hex,\n\t\t\tgnutls_fips140_operation_state_t
      expected_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/kdf-api.c:166,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/tests/kdf-api.c:166,1
    - Dst: test_hkdf
      Src: /src/gnutls/tests/kdf-api.c:170,1
    - Dst: test_pbkdf2
      Src: /src/gnutls/tests/kdf-api.c:182,1
    - Dst: test_pbkdf2
      Src: /src/gnutls/tests/kdf-api.c:189,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/tests/kdf-api.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: doit
    functionSourceFile: /src/gnutls/tests/kdf-api.c
    functionUses: 1
    functionsReached:
    - assert
    - test_pbkdf2
    - gnutls_fips140_context_init
    - gnutls_fips140_context_deinit
    - test_hkdf
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:183,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:185,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/auto-verify.c:188,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:192,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:195,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: print_verification_res
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_verification_status_print
    - success
    - exit
    - gnutls_strerror
    - gnutls_free
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_verification_res(unsigned int output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/tests/auto-verify.c:204,1
    - Dst: gnutls_x509_crt_get_signature_oid
      Src: /src/gnutls/tests/auto-verify.c:207,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/auto-verify.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: get_signature_algo
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_signature_oid
    - gnutls_sign_get_name
    - gnutls_x509_crt_get_signature_algorithm
    linkageType: ''
    returnType: char
    signature: char *get_signature_algo(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:226,1
    - Dst: gnutls_x509_crt_get_issuer_dn3
      Src: /src/gnutls/tests/auto-verify.c:228,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:230,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:231,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:232,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/tests/auto-verify.c:235,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:242,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:243,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:248,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:251,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/tests/auto-verify.c:252,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:254,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:256,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:259,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:262,1
    - Dst: get_signature_algo
      Src: /src/gnutls/tests/auto-verify.c:262,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:266,1
    - Dst: gnutls_x509_crl_get_issuer_dn3
      Src: /src/gnutls/tests/auto-verify.c:268,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:272,1
    - Dst: gnutls_x509_crl_get_number
      Src: /src/gnutls/tests/auto-verify.c:276,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/tests/auto-verify.c:278,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/tests/auto-verify.c:283,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:285,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:286,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:287,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:290,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:294,1
    - Dst: print_verification_res
      Src: /src/gnutls/tests/auto-verify.c:295,1
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:297,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:299,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:300,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:301,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 4
    argNames:
    - cert
    - issuer
    - crl
    - verification_output
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_x509_crl_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 304
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 304
    functionName: cert_out_callback
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - success
    - exit
    - gnutls_free
    - gnutls_hex_encode2
    - gnutls_x509_crl_get_number
    - print_verification_res
    - gnutls_x509_crt_get_dn3
    - gnutls_x509_crl_get_issuer_dn3
    - gnutls_strdup
    - get_signature_algo
    - fprintf
    - gnutls_x509_crt_get_issuer_dn3
    linkageType: ''
    returnType: int
    signature: "int cert_out_callback(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,\n\t\t\t
      \    gnutls_x509_crl_t crl,\n\t\t\t     unsigned int verification_output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:324,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/auto-verify.c:329,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:333,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:334,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/auto-verify.c:337,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:339,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:339,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:340,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/auto-verify.c:343,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:346,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:346,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:347,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:351,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/auto-verify.c:352,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/auto-verify.c:353,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/auto-verify.c:355,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:356,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:358,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:359,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:360,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:360,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:361,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:362,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:363,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/auto-verify.c:364,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:368,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:370,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/auto-verify.c:372,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:375,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/auto-verify.c:377,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:380,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:382,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:384,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:387,1
    - Dst: gnutls_session_set_verify_output_function
      Src: /src/gnutls/tests/auto-verify.c:389,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:390,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:390,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:391,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:392,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:393,1
    - Dst: memset
      Src: /src/gnutls/tests/auto-verify.c:395,1
    - Dst: gnutls_session_set_verify_cert2
      Src: /src/gnutls/tests/auto-verify.c:404,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/auto-verify.c:406,1
    - Dst: gnutls_session_get_verify_cert_status
      Src: /src/gnutls/tests/auto-verify.c:410,1
    - Dst: fail
      Src: /src/gnutls/tests/auto-verify.c:413,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:414,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:417,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:418,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:420,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 422
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 422
    functionName: test_failure
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_x509_crt_list_import2
    - gnutls_session_set_verify_cert2
    - gnutls_transport_set_ptr
    - gnutls_x509_privkey_deinit
    - gnutls_certificate_server_set_request
    - HANDSHAKE_EXPECT
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - exit
    - gnutls_x509_crt_deinit
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_x509_privkey_import
    - gnutls_session_get_verify_cert_status
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_set_verify_output_function
    - gnutls_certificate_set_x509_key
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void test_failure(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:442,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/auto-verify.c:447,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:451,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:451,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:452,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/auto-verify.c:455,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:457,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:457,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:458,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/auto-verify.c:461,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:464,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:464,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:465,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:469,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/auto-verify.c:470,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/auto-verify.c:471,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/auto-verify.c:473,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:474,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:476,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:477,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:478,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:478,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:479,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:480,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:481,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/auto-verify.c:482,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:486,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:488,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/auto-verify.c:490,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:493,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/auto-verify.c:495,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:498,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:500,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:502,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:505,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:507,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:507,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:508,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:509,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:510,1
    - Dst: memset
      Src: /src/gnutls/tests/auto-verify.c:512,1
    - Dst: gnutls_session_set_verify_cert2
      Src: /src/gnutls/tests/auto-verify.c:521,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/auto-verify.c:523,1
    - Dst: gnutls_session_get_verify_cert_status
      Src: /src/gnutls/tests/auto-verify.c:525,1
    - Dst: fail
      Src: /src/gnutls/tests/auto-verify.c:528,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:529,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:532,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:533,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:535,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 537
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 537
    functionName: test_success1
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_x509_crt_list_import2
    - gnutls_session_set_verify_cert2
    - gnutls_transport_set_ptr
    - gnutls_x509_privkey_deinit
    - gnutls_certificate_server_set_request
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - exit
    - gnutls_x509_crt_deinit
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_x509_privkey_import
    - HANDSHAKE
    - gnutls_session_get_verify_cert_status
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_set_x509_key
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void test_success1(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/auto-verify.c:556,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/auto-verify.c:561,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:565,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:565,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:566,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/auto-verify.c:569,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:571,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:571,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:572,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/auto-verify.c:575,1
    - Dst: fprintf
      Src: /src/gnutls/tests/auto-verify.c:578,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/auto-verify.c:578,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:579,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:583,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/auto-verify.c:584,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/auto-verify.c:585,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/auto-verify.c:587,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/auto-verify.c:588,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:590,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:591,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:592,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:592,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:593,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:594,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:595,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/auto-verify.c:596,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/auto-verify.c:600,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:602,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/auto-verify.c:604,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:607,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/auto-verify.c:609,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/auto-verify.c:612,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:614,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/auto-verify.c:616,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:619,1
    - Dst: assert
      Src: /src/gnutls/tests/auto-verify.c:621,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/auto-verify.c:621,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/auto-verify.c:622,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/auto-verify.c:623,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/auto-verify.c:624,1
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/tests/auto-verify.c:626,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/auto-verify.c:628,1
    - Dst: gnutls_session_get_verify_cert_status
      Src: /src/gnutls/tests/auto-verify.c:630,1
    - Dst: fail
      Src: /src/gnutls/tests/auto-verify.c:633,1
    - Dst: exit
      Src: /src/gnutls/tests/auto-verify.c:634,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:637,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/auto-verify.c:638,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:640,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/auto-verify.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 642
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 642
    functionName: test_success2
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_x509_crt_list_import2
    - gnutls_transport_set_ptr
    - gnutls_x509_privkey_deinit
    - gnutls_certificate_server_set_request
    - gnutls_session_set_verify_cert
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - exit
    - gnutls_x509_crt_deinit
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_x509_privkey_import
    - HANDSHAKE
    - gnutls_session_get_verify_cert_status
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_set_x509_key
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void test_success2(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/auto-verify.c:646,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/auto-verify.c:649,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/auto-verify.c:651,1
    - Dst: test_failure
      Src: /src/gnutls/tests/auto-verify.c:653,1
    - Dst: test_failure
      Src: /src/gnutls/tests/auto-verify.c:654,1
    - Dst: test_success1
      Src: /src/gnutls/tests/auto-verify.c:655,1
    - Dst: test_success1
      Src: /src/gnutls/tests/auto-verify.c:656,1
    - Dst: test_success2
      Src: /src/gnutls/tests/auto-verify.c:657,1
    - Dst: test_success2
      Src: /src/gnutls/tests/auto-verify.c:658,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/auto-verify.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 661
    functionName: doit
    functionSourceFile: /src/gnutls/tests/auto-verify.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - test_success1
    - global_init
    - test_failure
    - test_success2
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-anon-upgrade.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:149,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:159,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:161,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:164,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:165,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:166,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:169,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:170,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:171,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:173,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:174,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:175,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:177,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:181,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:182,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:183,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:187,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:189,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:194,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:198,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:200,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:201,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:205,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:207,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:212,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:214,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:215,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:216,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:218,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:221,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:222,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:223,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:227,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:229,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:231,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:234,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:235,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:235,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:236,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:237,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:246,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:247,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:255,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:257,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:259,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:263,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:263,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:271,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:274,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:275,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:276,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:277,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:280,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:281,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:283,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:284,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:286,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:287,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:288,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:289,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:290,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 2
    argNames:
    - client_prio
    - client_kx
    argTypes:
    - char*
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 291
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 291
    functionName: try
    functionSourceFile: /src/gnutls/tests/tls12-anon-upgrade.c
    functionUses: 29
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_certificate_get_ours
    - gnutls_strerror
    - gnutls_kx_get
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void try(const char *client_prio, gnutls_kx_algorithm_t client_kx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:295,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:299,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:302,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-anon-upgrade.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-anon-upgrade.c
    functionUses: 1
    functionsReached:
    - global_init
    - reset_buffers
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/xts-key-check.c:36,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/xts-key-check.c:37,1
    - Dst: fail
      Src: /src/gnutls/tests/xts-key-check.c:39,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/xts-key-check.c:39,1
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/xts-key-check.c:40,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/xts-key-check.c:42,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/xts-key-check.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/xts-key-check.c:45,1
    - Dst: fail
      Src: /src/gnutls/tests/xts-key-check.c:46,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/xts-key-check.c:46,1
    - Dst: gnutls_memset
      Src: /src/gnutls/tests/xts-key-check.c:48,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/xts-key-check.c:50,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/xts-key-check.c:52,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/xts-key-check.c:53,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/xts-key-check.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/xts-key-check.c:55,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/xts-key-check.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/xts-key-check.c:61,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/xts-key-check.c:62,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/xts-key-check.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/xts-key-check.c:67,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/xts-key-check.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - alg
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: test_xts_check
    functionSourceFile: /src/gnutls/tests/xts-key-check.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_cipher_deinit
    - gnutls_malloc
    - gnutls_cipher_init
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_memset
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_xts_check(gnutls_cipher_algorithm_t alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/xts-key-check.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/xts-key-check.c:75,1
    - Dst: test_xts_check
      Src: /src/gnutls/tests/xts-key-check.c:77,1
    - Dst: test_xts_check
      Src: /src/gnutls/tests/xts-key-check.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: doit
    functionSourceFile: /src/gnutls/tests/xts-key-check.c
    functionUses: 1
    functionsReached:
    - exit
    - test_xts_check
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenStore
      Src: /src/gnutls/tests/win-certopenstore.c:41,1
    - Dst: assert
      Src: /src/gnutls/tests/win-certopenstore.c:44,1
    - Dst: CertOpenSystemStore
      Src: /src/gnutls/tests/win-certopenstore.c:45,1
    - Dst: assert
      Src: /src/gnutls/tests/win-certopenstore.c:46,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/tests/win-certopenstore.c:54,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/tests/win-certopenstore.c:55,1
    - Dst: CertCompareIntegerBlob
      Src: /src/gnutls/tests/win-certopenstore.c:58,1
    - Dst: assert
      Src: /src/gnutls/tests/win-certopenstore.c:61,1
    - Dst: assert
      Src: /src/gnutls/tests/win-certopenstore.c:66,1
    - Dst: CertCloseStore
      Src: /src/gnutls/tests/win-certopenstore.c:68,1
    - Dst: CertCloseStore
      Src: /src/gnutls/tests/win-certopenstore.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: doit
    functionSourceFile: /src/gnutls/tests/win-certopenstore.c
    functionUses: 1
    functionsReached:
    - CertCloseStore
    - assert
    - CertOpenSystemStore
    - CertOpenStore
    - CertCompareIntegerBlob
    - CertEnumCertificatesInStore
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-eagain-dtls.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-eagain-dtls.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/mini-eagain-dtls.c:53,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-eagain-dtls.c:65,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:66,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-eagain-dtls.c:68,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-eagain-dtls.c:71,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/mini-eagain-dtls.c:72,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/mini-eagain-dtls.c:73,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/mini-eagain-dtls.c:74,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-eagain-dtls.c:75,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-eagain-dtls.c:76,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:81,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-eagain-dtls.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:84,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:85,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-eagain-dtls.c:87,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-eagain-dtls.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-eagain-dtls.c:91,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-eagain-dtls.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-eagain-dtls.c:98,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:99,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:100,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/mini-eagain-dtls.c:101,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-eagain-dtls.c:103,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-eagain-dtls.c:106,1
    - Dst: success
      Src: /src/gnutls/tests/mini-eagain-dtls.c:110,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-eagain-dtls.c:113,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-eagain-dtls.c:113,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-eagain-dtls.c:116,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/mini-eagain-dtls.c:117,1
    - Dst: fputs
      Src: /src/gnutls/tests/mini-eagain-dtls.c:120,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-eagain-dtls.c:122,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-eagain-dtls.c:123,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:125,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:126,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-eagain-dtls.c:128,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-eagain-dtls.c:129,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:131,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-eagain-dtls.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 134
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-eagain-dtls.c
    functionUses: 1
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - TRANSFER
    - gnutls_dh_params_init
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_anon_set_server_dh_params
    - exit
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - fputs
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cve-2009-1415.c:84,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/cve-2009-1415.c:86,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/cve-2009-1415.c:90,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/cve-2009-1415.c:94,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/cve-2009-1415.c:98,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/cve-2009-1415.c:102,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/cve-2009-1415.c:109,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/cve-2009-1415.c:110,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cve-2009-1415.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/gnutls/tests/cve-2009-1415.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - gnutls_pubkey_verify_data2
    - global_init
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/client-fastopen.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/client-fastopen.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/client-fastopen.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/client-fastopen.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/client-fastopen.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/client-fastopen.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/client-fastopen.c:91,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/client-fastopen.c:92,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/client-fastopen.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/client-fastopen.c:95,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/client-fastopen.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/client-fastopen.c:97,1
    - Dst: gnutls_transport_set_fastopen
      Src: /src/gnutls/tests/client-fastopen.c:99,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/client-fastopen.c:105,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/client-fastopen.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:110,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:117,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/client-fastopen.c:118,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/client-fastopen.c:119,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/client-fastopen.c:122,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:131,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/client-fastopen.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:137,1
    - Dst: close
      Src: /src/gnutls/tests/client-fastopen.c:142,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/client-fastopen.c:144,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/client-fastopen.c:146,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/client-fastopen.c:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - fd
    - connect_addr
    - connect_addrlen
    - prio
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 149
    functionName: client
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 102
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_transport_set_fastopen
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void client(int fd, struct sockaddr *connect_addr,\n\t\t   socklen_t
      connect_addrlen, const char *prio)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/client-fastopen.c:156,1
    - Dst: kill
      Src: /src/gnutls/tests/client-fastopen.c:157,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 44
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/client-fastopen.c:170,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/client-fastopen.c:173,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/client-fastopen.c:174,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/client-fastopen.c:177,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/client-fastopen.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:182,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/client-fastopen.c:184,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/client-fastopen.c:185,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/client-fastopen.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/client-fastopen.c:190,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/client-fastopen.c:190,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/client-fastopen.c:192,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/client-fastopen.c:194,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/client-fastopen.c:197,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/client-fastopen.c:198,1
    - Dst: close
      Src: /src/gnutls/tests/client-fastopen.c:200,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/client-fastopen.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:203,1
    - Dst: terminate
      Src: /src/gnutls/tests/client-fastopen.c:204,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:207,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:210,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/client-fastopen.c:211,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/client-fastopen.c:212,1
    - Dst: memset
      Src: /src/gnutls/tests/client-fastopen.c:217,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/client-fastopen.c:219,1
    - Dst: close
      Src: /src/gnutls/tests/client-fastopen.c:223,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/client-fastopen.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:225,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:226,1
    - Dst: terminate
      Src: /src/gnutls/tests/client-fastopen.c:227,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/client-fastopen.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:232,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/client-fastopen.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/client-fastopen.c:236,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/client-fastopen.c:237,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/client-fastopen.c:239,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/client-fastopen.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 245
    functionName: server
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 118
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/client-fastopen.c:260,1
    - Dst: signal
      Src: /src/gnutls/tests/client-fastopen.c:262,1
    - Dst: signal
      Src: /src/gnutls/tests/client-fastopen.c:263,1
    - Dst: socket
      Src: /src/gnutls/tests/client-fastopen.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:267,1
    - Dst: strerror
      Src: /src/gnutls/tests/client-fastopen.c:267,1
    - Dst: memset
      Src: /src/gnutls/tests/client-fastopen.c:269,1
    - Dst: htonl
      Src: /src/gnutls/tests/client-fastopen.c:271,1
    - Dst: bind
      Src: /src/gnutls/tests/client-fastopen.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:276,1
    - Dst: strerror
      Src: /src/gnutls/tests/client-fastopen.c:276,1
    - Dst: getsockname
      Src: /src/gnutls/tests/client-fastopen.c:279,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:281,1
    - Dst: strerror
      Src: /src/gnutls/tests/client-fastopen.c:281,1
    - Dst: fork
      Src: /src/gnutls/tests/client-fastopen.c:283,1
    - Dst: perror
      Src: /src/gnutls/tests/client-fastopen.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:286,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:287,1
    - Dst: listen
      Src: /src/gnutls/tests/client-fastopen.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:296,1
    - Dst: strerror
      Src: /src/gnutls/tests/client-fastopen.c:296,1
    - Dst: accept
      Src: /src/gnutls/tests/client-fastopen.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/client-fastopen.c:300,1
    - Dst: strerror
      Src: /src/gnutls/tests/client-fastopen.c:300,1
    - Dst: server
      Src: /src/gnutls/tests/client-fastopen.c:302,1
    - Dst: wait
      Src: /src/gnutls/tests/client-fastopen.c:304,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/client-fastopen.c:305,1
    - Dst: socket
      Src: /src/gnutls/tests/client-fastopen.c:307,1
    - Dst: usleep
      Src: /src/gnutls/tests/client-fastopen.c:309,1
    - Dst: client
      Src: /src/gnutls/tests/client-fastopen.c:310,1
    - Dst: exit
      Src: /src/gnutls/tests/client-fastopen.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 313
    functionName: run
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 25
    functionsReached:
    - fork
    - usleep
    - perror
    - socket
    - accept
    - htonl
    - signal
    - client
    - memset
    - strerror
    - success
    - exit
    - check_wait_status
    - listen
    - bind
    - server
    - wait
    - getsockname
    - fail
    linkageType: ''
    returnType: void
    signature: void run(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/client-fastopen.c:317,1
    - Dst: run
      Src: /src/gnutls/tests/client-fastopen.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: doit
    functionSourceFile: /src/gnutls/tests/client-fastopen.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_x509.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:63,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:65,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:67,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:69,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:70,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:75,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:75,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:85,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:85,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:90,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:90,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:95,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:95,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:97,1
    - Dst: assert
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:100,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:100,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:102,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:105,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:106,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:108,1
    - Dst: success
      Src: /src/gnutls/tests/set_known_dh_params_x509.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 112
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_known_dh_params_x509.c
    functionUses: 1
    functionsReached:
    - assert
    - gnutls_strerror
    - exit
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_set_known_dh_params
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-discard.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-discard.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/mini-dtls-discard.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: push
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-discard.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-discard.c:96,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-discard.c:97,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-discard.c:100,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-discard.c:104,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-discard.c:105,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-discard.c:106,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-discard.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-discard.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-discard.c:109,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-discard.c:113,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-discard.c:115,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-discard.c:120,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-discard.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-discard.c:124,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-discard.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:133,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-discard.c:134,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-discard.c:135,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-dtls-discard.c:137,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-discard.c:139,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:142,1
    - Dst: gnutls_record_discard_queued
      Src: /src/gnutls/tests/mini-dtls-discard.c:143,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-discard.c:149,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-discard.c:152,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-discard.c:154,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:156,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-discard.c:158,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 161
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 103
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - get_timeout
    - gnutls_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - gnutls_record_discard_queued
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-discard.c:169,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-discard.c:170,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-discard.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 45
    functionsReached:
    - exit
    - assert
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-discard.c:184,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-discard.c:187,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-discard.c:188,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-discard.c:191,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-discard.c:193,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/mini-dtls-discard.c:194,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/mini-dtls-discard.c:194,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-discard.c:195,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-dtls-discard.c:200,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-discard.c:200,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-discard.c:202,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-discard.c:204,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-discard.c:207,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-discard.c:208,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-discard.c:210,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-discard.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-discard.c:213,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-discard.c:214,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:217,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:220,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-discard.c:221,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-discard.c:222,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-discard.c:228,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-dtls-discard.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-discard.c:232,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-discard.c:233,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-discard.c:237,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:238,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-discard.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-discard.c:240,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-discard.c:241,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-discard.c:246,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-discard.c:248,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:249,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-discard.c:251,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-discard.c:253,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-discard.c:256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 257
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 119
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - memcmp
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-dtls-discard.c:264,1
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-discard.c:266,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-discard.c:268,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:269,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-discard.c:272,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-discard.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-discard.c:275,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:276,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-discard.c:283,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-discard.c:284,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-discard.c:285,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-discard.c:287,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-discard.c:288,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-discard.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 146
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-discard.c:295,1
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-discard.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-discard.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 0
    functionsReached:
    - assert
    - fail
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:122,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:125,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:127,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:132,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP8
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:154,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:155,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:160,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:167,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:167,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:171,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:174,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:182,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:187,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:190,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:196,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:200,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:200,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:202,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:206,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:207,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:211,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:218,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:223,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:227,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:227,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:230,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:234,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:237,1
    - Dst: printf
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:241,1
    - Dst: fputc
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:243,1
    - Dst: fputs
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:245,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:248,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:250,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:252,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:254,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:256,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 2
    argNames:
    - sds
    - prio
    argTypes:
    - int[]
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 257
    functionName: client
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 104
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - assert
    - success
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fputs
    - gnutls_record_set_max_size
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[], const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:267,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: global_stop
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void global_stop(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:280,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:285,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:286,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:289,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:290,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:290,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:294,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:299,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:299,1
    - Dst: assert
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:304,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:304,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:306,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:309,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:311,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:312,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:312,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:315,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:316,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:318,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:319,1
    - Dst: kill
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:320,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:321,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:322,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:326,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:329,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:331,1
    - Dst: memset
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:340,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:341,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:345,1
    - Dst: kill
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:348,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:349,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:355,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:356,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:361,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:363,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:365,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:368,1
    - Dst: success
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:372,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 2
    argNames:
    - sds
    - prio
    argTypes:
    - int[]
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 373
    functionName: server
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 121
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - kill
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - virt_time_init
    - assert
    - success
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sds[], const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:381,1
    - Dst: signal
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:382,1
    - Dst: socketpair
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:387,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:390,1
    - Dst: fork
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:398,1
    - Dst: perror
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:400,1
    - Dst: fail
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:401,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:409,1
    - Dst: server
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:410,1
    - Dst: waitpid
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:412,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:413,1
    - Dst: global_stop
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:414,1
    - Dst: close
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:417,1
    - Dst: client
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:418,1
    - Dst: exit
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 421
    functionName: run
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 26
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - global_stop
    - perror
    linkageType: ''
    returnType: void
    signature: void run(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:425,1
    - Dst: run
      Src: /src/gnutls/tests/resume-with-record-size-limit.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume-with-record-size-limit.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-large.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-dtls-large.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-large.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-large.c:83,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-large.c:84,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-dtls-large.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-large.c:91,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/tests/mini-dtls-large.c:92,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:93,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-large.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-large.c:103,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-large.c:105,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-large.c:110,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-large.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:114,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/mini-dtls-large.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:116,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-large.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-large.c:123,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-large.c:124,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-large.c:125,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/mini-dtls-large.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:134,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-large.c:137,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-large.c:139,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-dtls-large.c:141,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-large.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 144
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 105
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/mini-dtls-large.c:150,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-large.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 46
    functionsReached:
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-dtls-large.c:162,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-dtls-large.c:165,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-dtls-large.c:166,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-dtls-large.c:169,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-dtls-large.c:171,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:172,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-dtls-large.c:177,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-dtls-large.c:182,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-dtls-large.c:184,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-dtls-large.c:187,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-dtls-large.c:188,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-large.c:190,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-large.c:191,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:193,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:194,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-large.c:197,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-large.c:200,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-dtls-large.c:201,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-dtls-large.c:202,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-dtls-large.c:208,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:210,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:211,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:214,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:217,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:218,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:221,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:224,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:225,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:228,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:231,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:232,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:233,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:236,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:239,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:240,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:243,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:246,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:247,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:249,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:250,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:250,1
    - Dst: gnutls_record_cork
      Src: /src/gnutls/tests/mini-dtls-large.c:254,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:256,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:257,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:260,1
    - Dst: gnutls_record_uncork
      Src: /src/gnutls/tests/mini-dtls-large.c:263,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:266,1
    - Dst: gnutls_record_cork
      Src: /src/gnutls/tests/mini-dtls-large.c:269,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:271,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:272,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:274,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:275,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:275,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/mini-dtls-large.c:278,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/tests/mini-dtls-large.c:279,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:282,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:282,1
    - Dst: gnutls_record_uncork
      Src: /src/gnutls/tests/mini-dtls-large.c:285,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-dtls-large.c:287,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:288,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-dtls-large.c:288,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-dtls-large.c:293,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-large.c:295,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-dtls-large.c:296,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-dtls-large.c:298,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-dtls-large.c:300,1
    - Dst: success
      Src: /src/gnutls/tests/mini-dtls-large.c:303,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 91
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 304
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 122
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send
    - gnutls_record_uncork
    - close
    - gnutls_init
    - memset
    - gnutls_dtls_get_data_mtu
    - gnutls_transport_set_int
    - success
    - gnutls_dtls_set_mtu
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_record_cork
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-dtls-large.c:311,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-large.c:313,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:314,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-dtls-large.c:317,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-dtls-large.c:319,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-dtls-large.c:320,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:321,1
    - Dst: server
      Src: /src/gnutls/tests/mini-dtls-large.c:328,1
    - Dst: wait
      Src: /src/gnutls/tests/mini-dtls-large.c:329,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-dtls-large.c:330,1
    - Dst: close
      Src: /src/gnutls/tests/mini-dtls-large.c:332,1
    - Dst: client
      Src: /src/gnutls/tests/mini-dtls-large.c:333,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-dtls-large.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 336
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 147
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-dtls-large.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-dtls-large.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:283,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume.c:283,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/resume.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: post_client_hello_callback
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    - assert
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: int
    signature: int post_client_hello_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:297,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:306,1
    - Dst: memmem
      Src: /src/gnutls/tests/resume.c:313,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:314,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - _msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: hsk_hook_cb
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - exit
    - memmem
    - fail
    linkageType: ''
    returnType: int
    signature: "int hsk_hook_cb(gnutls_session_t session, unsigned int htype,\n\t\t
      \      unsigned post, unsigned int incoming,\n\t\t       const gnutls_datum_t
      *_msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/resume.c:330,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:333,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/tests/resume.c:335,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume.c:337,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - session
    - params
    - alpn_counter
    argTypes:
    - gnutls_session_t
    - struct params_res*
    - unsigned
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: append_alpn
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 1
    functionsReached:
    - gnutls_perror
    - exit
    - strlen
    - snprintf
    - gnutls_alpn_set_protocols
    linkageType: ''
    returnType: void
    signature: "void append_alpn(gnutls_session_t session, struct params_res *params,\n\t\t\tunsigned
      alpn_counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/resume.c:352,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/tests/resume.c:354,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume.c:356,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:357,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:360,1
    - Dst: memcmp
      Src: /src/gnutls/tests/resume.c:361,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:362,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:364,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - session
    - params
    - alpn_counter
    argTypes:
    - gnutls_session_t
    - struct params_res*
    - unsigned
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: verify_alpn
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 1
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - exit
    - success
    - strlen
    - snprintf
    - memcmp
    - gnutls_perror
    - fail
    linkageType: ''
    returnType: void
    signature: "void verify_alpn(gnutls_session_t session, struct params_res *params,\n\t\t\tunsigned
      alpn_counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/resume.c:375,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/resume.c:379,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:380,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/resume.c:381,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/resume.c:382,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/resume.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - session
    - group
    - counter
    argTypes:
    - gnutls_session_t
    - gnutls_group_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: verify_group
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - fail
    - gnutls_group_get_name
    - gnutls_group_get
    linkageType: ''
    returnType: void
    signature: "void verify_group(gnutls_session_t session, gnutls_group_t *group,\n\t\t\t
      unsigned counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/tests/resume.c:393,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:396,1
    - Dst: strcmp
      Src: /src/gnutls/tests/resume.c:398,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:399,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/resume.c:404,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:406,1
    - Dst: gnutls_session_resumption_requested
      Src: /src/gnutls/tests/resume.c:411,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:412,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/resume.c:417,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:419,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/resume.c:426,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:427,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/resume.c:428,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/resume.c:430,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:431,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/resume.c:433,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:434,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/resume.c:438,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:439,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:447,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/tests/resume.c:447,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:453,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:455,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/tests/resume.c:455,1
    - Dst: memcmp
      Src: /src/gnutls/tests/resume.c:457,1
    - Dst: hexprint
      Src: /src/gnutls/tests/resume.c:458,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:459,1
    - Dst: hexprint
      Src: /src/gnutls/tests/resume.c:460,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:461,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 3
    argNames:
    - session
    - counter
    - params
    argTypes:
    - gnutls_session_t
    - unsigned
    - struct params_res*
    constantsTouched: []
    func_position:
      end: 466
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 466
    functionName: verify_server_params
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_session_get_flags
    - gnutls_session_get_id
    - memcmp
    - gnutls_psk_server_get_username
    - gnutls_certificate_get_peers
    - strcmp
    - hexprint
    - printf
    - gnutls_certificate_type_get
    - fail
    - gnutls_certificate_get_ours
    - gnutls_session_resumption_requested
    linkageType: ''
    returnType: void
    signature: "void verify_server_params(gnutls_session_t session, unsigned counter,\n\t\t\t\t
      struct params_res *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/resume.c:472,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - session
    - counter
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: verify_client_params
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_get_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void verify_client_params(gnutls_session_t session, unsigned counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume.c:523,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume.c:524,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/resume.c:527,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/resume.c:528,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/resume.c:531,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume.c:533,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:536,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume.c:536,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:545,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume.c:545,1
    - Dst: snprintf
      Src: /src/gnutls/tests/resume.c:547,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:552,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:555,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:562,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:567,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:573,1
    - Dst: strcat
      Src: /src/gnutls/tests/resume.c:576,1
    - Dst: append_alpn
      Src: /src/gnutls/tests/resume.c:579,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume.c:581,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:583,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume.c:583,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:589,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:591,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:593,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/resume.c:599,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/resume.c:602,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:604,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/resume.c:606,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:608,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/resume.c:612,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:614,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/resume.c:618,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume.c:621,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume.c:625,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume.c:625,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume.c:627,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume.c:628,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:631,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/resume.c:632,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:636,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/resume.c:642,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume.c:646,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:648,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume.c:652,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/resume.c:653,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:656,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume.c:660,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:663,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:665,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:668,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:671,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/resume.c:677,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:679,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/resume.c:680,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/resume.c:681,1
    - Dst: verify_alpn
      Src: /src/gnutls/tests/resume.c:687,1
    - Dst: verify_group
      Src: /src/gnutls/tests/resume.c:688,1
    - Dst: verify_client_params
      Src: /src/gnutls/tests/resume.c:691,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume.c:693,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:693,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume.c:696,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:700,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:703,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume.c:703,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:708,1
    - Dst: fputc
      Src: /src/gnutls/tests/resume.c:710,1
    - Dst: fputs
      Src: /src/gnutls/tests/resume.c:712,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume.c:715,1
    - Dst: close
      Src: /src/gnutls/tests/resume.c:717,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume.c:719,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume.c:721,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/resume.c:727,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume.c:729,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 140
    argCount: 2
    argNames:
    - sds
    - params
    argTypes:
    - int[]
    - struct params_res*
    constantsTouched: []
    func_position:
      end: 731
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 731
    functionName: client
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 106
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - snprintf
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - strcat
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_session_ext_master_secret_status
    - append_alpn
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - verify_alpn
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - assert
    - success
    - strlen
    - gnutls_session_is_resumed
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - fputc
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - verify_group
    - gnutls_psk_allocate_client_credentials
    - gnutls_error_is_fatal
    - fail
    - verify_client_params
    linkageType: ''
    returnType: void
    signature: void client(int sds[], struct params_res *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:750,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/resume.c:756,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/resume.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 759
    functionName: generate_dh_params
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 3
    functionsReached:
    - gnutls_dh_params_init
    - gnutls_dh_params_import_pkcs3
    - strlen
    linkageType: ''
    returnType: int
    signature: int generate_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/resume.c:764,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/resume.c:767,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/resume.c:769,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/resume.c:771,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/resume.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: global_stop
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 2
    functionsReached:
    - gnutls_psk_free_server_credentials
    - success
    - gnutls_anon_free_server_credentials
    - gnutls_certificate_free_credentials
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void global_stop(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:781,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/resume.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 789
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/resume.c:801,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/resume.c:809,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/resume.c:810,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/resume.c:813,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/resume.c:814,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/resume.c:816,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/resume.c:818,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:819,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/resume.c:819,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:825,1
    - Dst: generate_dh_params
      Src: /src/gnutls/tests/resume.c:827,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/resume.c:830,1
    - Dst: wrap_db_init
      Src: /src/gnutls/tests/resume.c:834,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/resume.c:838,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:843,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/resume.c:843,1
    - Dst: assert
      Src: /src/gnutls/tests/resume.c:848,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/resume.c:848,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/resume.c:853,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/tests/resume.c:858,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/resume.c:861,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/resume.c:862,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/resume.c:863,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/resume.c:864,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/resume.c:868,1
    - Dst: append_alpn
      Src: /src/gnutls/tests/resume.c:871,1
    - Dst: gnutls_db_set_cache_expiration
      Src: /src/gnutls/tests/resume.c:874,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/resume.c:875,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:878,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:880,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/resume.c:882,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/resume.c:885,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/resume.c:886,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/resume.c:886,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/resume.c:889,1
    - Dst: gnutls_handshake_set_post_client_hello_function
      Src: /src/gnutls/tests/resume.c:890,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/resume.c:895,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/resume.c:896,1
    - Dst: close
      Src: /src/gnutls/tests/resume.c:898,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume.c:899,1
    - Dst: kill
      Src: /src/gnutls/tests/resume.c:900,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:901,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/resume.c:902,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:906,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/resume.c:909,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:911,1
    - Dst: verify_alpn
      Src: /src/gnutls/tests/resume.c:916,1
    - Dst: verify_group
      Src: /src/gnutls/tests/resume.c:917,1
    - Dst: verify_server_params
      Src: /src/gnutls/tests/resume.c:920,1
    - Dst: memset
      Src: /src/gnutls/tests/resume.c:926,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/resume.c:927,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:931,1
    - Dst: kill
      Src: /src/gnutls/tests/resume.c:934,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:935,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/resume.c:941,1
    - Dst: strlen
      Src: /src/gnutls/tests/resume.c:942,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/resume.c:947,1
    - Dst: close
      Src: /src/gnutls/tests/resume.c:949,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/resume.c:951,1
    - Dst: wrap_db_deinit
      Src: /src/gnutls/tests/resume.c:955,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/resume.c:958,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:961,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 2
    argNames:
    - sds
    - params
    argTypes:
    - int[]
    - struct params_res*
    constantsTouched: []
    func_position:
      end: 962
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 962
    functionName: server
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 124
    functionsReached:
    - gnutls_credentials_set
    - gnutls_session_set_ptr
    - get_timeout
    - virt_sec_sleep
    - gnutls_deinit
    - kill
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - append_alpn
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_db_set_cache_expiration
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - verify_alpn
    - memset
    - gnutls_anon_set_server_dh_params
    - verify_server_params
    - gnutls_transport_set_int
    - virt_time_init
    - gnutls_dh_set_prime_bits
    - assert
    - success
    - gnutls_handshake_set_post_client_hello_function
    - gnutls_session_is_resumed
    - strlen
    - gnutls_certificate_allocate_credentials
    - generate_dh_params
    - gnutls_priority_set_direct
    - wrap_db_deinit
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_db_set_store_function
    - gnutls_session_ticket_key_generate
    - fail
    - gnutls_handshake
    - verify_group
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - gnutls_psk_set_server_credentials_function
    - gnutls_error_is_fatal
    - wrap_db_init
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: void
    signature: void server(int sds[], struct params_res *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/resume.c:968,1
    - Dst: signal
      Src: /src/gnutls/tests/resume.c:969,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/resume.c:975,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:976,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:981,1
    - Dst: socketpair
      Src: /src/gnutls/tests/resume.c:986,1
    - Dst: perror
      Src: /src/gnutls/tests/resume.c:988,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:989,1
    - Dst: fork
      Src: /src/gnutls/tests/resume.c:997,1
    - Dst: perror
      Src: /src/gnutls/tests/resume.c:999,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:1000,1
    - Dst: close
      Src: /src/gnutls/tests/resume.c:1008,1
    - Dst: server
      Src: /src/gnutls/tests/resume.c:1009,1
    - Dst: waitpid
      Src: /src/gnutls/tests/resume.c:1011,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/resume.c:1012,1
    - Dst: global_stop
      Src: /src/gnutls/tests/resume.c:1013,1
    - Dst: close
      Src: /src/gnutls/tests/resume.c:1016,1
    - Dst: client
      Src: /src/gnutls/tests/resume.c:1017,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:1018,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 1021
    functionName: doit
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 1
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - gnutls_fips140_mode_enabled
    - waitpid
    - client
    - printf
    - fail
    - global_stop
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/resume.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: wrap_db_init
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void wrap_db_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/resume.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: wrap_db_deinit
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void wrap_db_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/tests/resume.c:1057,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1062,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1065,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1067,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1068,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1070,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1072,1
    - Dst: gnutls_db_check_entry_time
      Src: /src/gnutls/tests/resume.c:1077,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:1079,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:1080,1
    - Dst: gnutls_db_check_entry_expire_time
      Src: /src/gnutls/tests/resume.c:1084,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:1086,1
    - Dst: exit
      Src: /src/gnutls/tests/resume.c:1087,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:1094,1
    - Dst: fail
      Src: /src/gnutls/tests/resume.c:1099,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume.c:1103,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume.c:1106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - dbf
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 1113
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1113
    functionName: wrap_db_store
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - exit
    - time
    - memcpy
    - gnutls_db_check_entry_time
    - gnutls_db_check_entry_expire_time
    - fprintf
    - fail
    linkageType: ''
    returnType: int
    signature: int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1121,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1123,1
    - Dst: fprintf
      Src: /src/gnutls/tests/resume.c:1125,1
    - Dst: memcmp
      Src: /src/gnutls/tests/resume.c:1133,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:1135,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/resume.c:1139,1
    - Dst: memcpy
      Src: /src/gnutls/tests/resume.c:1143,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:1148,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:1150,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:1152,1
    - Dst: printf
      Src: /src/gnutls/tests/resume.c:1154,1
    - Dst: success
      Src: /src/gnutls/tests/resume.c:1162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 1164
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1164
    functionName: wrap_db_fetch
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_malloc
    - memcmp
    - memcpy
    - printf
    - fprintf
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/resume.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 1184
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1184
    functionName: wrap_db_delete
    functionSourceFile: /src/gnutls/tests/resume.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int wrap_db_delete(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_key.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key.c:69,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/set_x509_key.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:75,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:75,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:80,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key.c:81,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: compare
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 20
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:96,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/set_x509_key.c:96,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/set_x509_key.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:102,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/set_x509_key.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:107,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/tests/set_x509_key.c:110,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:114,1
    - Dst: MIN
      Src: /src/gnutls/tests/set_x509_key.c:123,1
    - Dst: gnutls_certificate_get_crt_raw
      Src: /src/gnutls/tests/set_x509_key.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key.c:128,1
    - Dst: compare
      Src: /src/gnutls/tests/set_x509_key.c:131,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/set_x509_key.c:135,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/set_x509_key.c:137,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/set_x509_key.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - xcred
    - skey
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 142
    functionName: import_key
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 8
    functionsReached:
    - gnutls_strerror
    - assert
    - success
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_free
    - gnutls_certificate_get_crt_raw
    - gnutls_x509_privkey_deinit
    - gnutls_x509_crt_list_import2
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import
    - MIN
    - compare
    - gnutls_certificate_set_x509_key
    - fail
    linkageType: ''
    returnType: int
    signature: "int import_key(gnutls_certificate_credentials_t xcred,\n\t\t      const
      gnutls_datum_t *skey, const gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key.c:153,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key.c:155,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_key.c:157,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_key.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:161,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key.c:161,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:162,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key.c:162,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key.c:164,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key.c:169,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_x509_key.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:172,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key.c:174,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_x509_key.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:180,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key.c:186,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 190
    functionName: basic
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 2
    functionsReached:
    - gnutls_certificate_set_flags
    - assert
    - gnutls_strerror
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_global_set_time_function
    - import_key
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void basic(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key.c:199,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key.c:201,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_key.c:203,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_key.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key.c:207,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key.c:207,1
    - Dst: import_key
      Src: /src/gnutls/tests/set_x509_key.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key.c:211,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key.c:214,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 220
    functionName: failure_mode
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 1
    functionsReached:
    - assert
    - success
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_global_set_time_function
    - import_key
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void failure_mode(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic
      Src: /src/gnutls/tests/set_x509_key.c:224,1
    - Dst: failure_mode
      Src: /src/gnutls/tests/set_x509_key.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key.c
    functionUses: 1
    functionsReached:
    - basic
    - failure_mode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-openssl.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/key-openssl.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/key-openssl.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - userdata
    - attempt
    - token_url
    - token_label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: good_pwd_cb
    functionSourceFile: /src/gnutls/tests/key-openssl.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int good_pwd_cb(void *userdata, int attempt, const char *token_url,\n\t\t
      \      const char *token_label, unsigned int flags, char *pin,\n\t\t       size_t
      pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/key-openssl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - userdata
    - attempt
    - token_url
    - token_label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: bad_pwd_cb
    functionSourceFile: /src/gnutls/tests/key-openssl.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int bad_pwd_cb(void *userdata, int attempt, const char *token_url,\n\t\t
      \     const char *token_label, unsigned int flags, char *pin,\n\t\t      size_t
      pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/key-openssl.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/key-openssl.c:134,1
    - Dst: global_init
      Src: /src/gnutls/tests/key-openssl.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:138,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-openssl.c:140,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-openssl.c:142,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:146,1
    - Dst: gnutls_x509_privkey_import_openssl
      Src: /src/gnutls/tests/key-openssl.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:152,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:153,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:155,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:159,1
    - Dst: gnutls_x509_privkey_import_openssl
      Src: /src/gnutls/tests/key-openssl.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:165,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:166,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:169,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:173,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:180,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:182,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:187,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:194,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:196,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:201,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:209,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:211,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:216,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:223,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:225,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:239,1
    - Dst: gnutls_x509_privkey_set_pin_function
      Src: /src/gnutls/tests/key-openssl.c:241,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:247,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:248,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:250,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:255,1
    - Dst: gnutls_x509_privkey_set_pin_function
      Src: /src/gnutls/tests/key-openssl.c:257,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:263,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:264,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:266,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/key-openssl.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:271,1
    - Dst: gnutls_x509_privkey_set_pin_function
      Src: /src/gnutls/tests/key-openssl.c:273,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/tests/key-openssl.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/key-openssl.c:279,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-openssl.c:280,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/key-openssl.c:282,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-openssl.c:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 285
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-openssl.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - gnutls_strerror
    - gnutls_global_deinit
    - gnutls_x509_privkey_import_openssl
    - gnutls_x509_privkey_set_pin_function
    - gnutls_x509_privkey_import2
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - fail
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes-range.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/record-sizes-range.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send_range
      Src: /src/gnutls/tests/record-sizes-range.c:57,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes-range.c:59,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sizes-range.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes-range.c:61,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes-range.c:65,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes-range.c:66,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-sizes-range.c:71,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes-range.c:73,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-sizes-range.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes-range.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/record-sizes-range.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/record-sizes-range.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - client
    - server
    - b1
    - b1_size
    - b2
    - b2_size
    - range
    argTypes:
    - gnutls_session_t
    - gnutls_session_t
    - void*
    - ssize_t
    - void*
    - ssize_t
    - gnutls_range_st*
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: try_send
    functionSourceFile: /src/gnutls/tests/record-sizes-range.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_record_send_range
    - gnutls_record_recv
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void try_send(gnutls_session_t client, gnutls_session_t server, void
      *b1,\n\t\t     ssize_t b1_size, void *b2, ssize_t b2_size,\n\t\t     gnutls_range_st
      *range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/record-sizes-range.c:91,1
    - Dst: global_init
      Src: /src/gnutls/tests/record-sizes-range.c:103,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-sizes-range.c:104,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-sizes-range.c:106,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/record-sizes-range.c:109,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/record-sizes-range.c:110,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/record-sizes-range.c:111,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/record-sizes-range.c:112,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sizes-range.c:113,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sizes-range.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sizes-range.c:118,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-sizes-range.c:119,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-sizes-range.c:120,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-sizes-range.c:121,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/record-sizes-range.c:124,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-sizes-range.c:125,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-sizes-range.c:126,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-sizes-range.c:130,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-sizes-range.c:131,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/record-sizes-range.c:132,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/record-sizes-range.c:133,1
    - Dst: memset
      Src: /src/gnutls/tests/record-sizes-range.c:135,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/record-sizes-range.c:136,1
    - Dst: success
      Src: /src/gnutls/tests/record-sizes-range.c:139,1
    - Dst: memset
      Src: /src/gnutls/tests/record-sizes-range.c:141,1
    - Dst: try_send
      Src: /src/gnutls/tests/record-sizes-range.c:146,1
    - Dst: try_send
      Src: /src/gnutls/tests/record-sizes-range.c:147,1
    - Dst: try_send
      Src: /src/gnutls/tests/record-sizes-range.c:148,1
    - Dst: fputs
      Src: /src/gnutls/tests/record-sizes-range.c:152,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sizes-range.c:154,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-sizes-range.c:155,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sizes-range.c:157,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-sizes-range.c:158,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/record-sizes-range.c:160,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/record-sizes-range.c:161,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/record-sizes-range.c:163,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-sizes-range.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 166
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-sizes-range.c
    functionUses: 1
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_global_deinit
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - memset
    - gnutls_transport_set_pull_function
    - gnutls_anon_set_server_dh_params
    - success
    - strlen
    - gnutls_priority_set_direct
    - try_send
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - fputs
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509cert-tl.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509cert-tl.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/x509cert-tl.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_signature_oid
      Src: /src/gnutls/tests/x509cert-tl.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:196,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509cert-tl.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:200,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:201,1
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/tests/x509cert-tl.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:206,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/x509cert-tl.c:207,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:208,1
    - Dst: gnutls_x509_crt_get_pk_oid
      Src: /src/gnutls/tests/x509cert-tl.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:215,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:216,1
    - Dst: strcmp
      Src: /src/gnutls/tests/x509cert-tl.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:220,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:221,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/tests/x509cert-tl.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:226,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/tests/x509cert-tl.c:227,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - server_crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 230
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 230
    functionName: check_stored_algos
    functionSourceFile: /src/gnutls/tests/x509cert-tl.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_sign_get_name
    - gnutls_pk_get_name
    - gnutls_x509_crt_get_pk_oid
    - gnutls_x509_crt_get_signature_algorithm
    - strcmp
    - gnutls_x509_crt_get_signature_oid
    - gnutls_x509_crt_get_pk_algorithm
    - fail
    linkageType: ''
    returnType: void
    signature: void check_stored_algos(gnutls_x509_crt_t server_crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/x509cert-tl.c:248,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/x509cert-tl.c:250,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509cert-tl.c:251,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509cert-tl.c:253,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/x509cert-tl.c:256,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-tl.c:258,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/x509cert-tl.c:259,1
    - Dst: getenv
      Src: /src/gnutls/tests/x509cert-tl.c:261,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-tl.c:265,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:267,1
    - Dst: check_stored_algos
      Src: /src/gnutls/tests/x509cert-tl.c:269,1
    - Dst: gnutls_x509_crt_get_preferred_hash_algorithm
      Src: /src/gnutls/tests/x509cert-tl.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:274,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:275,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:280,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/tests/x509cert-tl.c:281,1
    - Dst: exit
      Src: /src/gnutls/tests/x509cert-tl.c:282,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/x509cert-tl.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:287,1
    - Dst: gnutls_x509_trust_list_add_named_crt
      Src: /src/gnutls/tests/x509cert-tl.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:292,1
    - Dst: gnutls_x509_trust_list_verify_named_crt
      Src: /src/gnutls/tests/x509cert-tl.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:297,1
    - Dst: gnutls_x509_trust_list_verify_named_crt
      Src: /src/gnutls/tests/x509cert-tl.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:302,1
    - Dst: gnutls_x509_trust_list_verify_named_crt
      Src: /src/gnutls/tests/x509cert-tl.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:307,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/x509cert-tl.c:313,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:317,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/x509cert-tl.c:323,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:326,1
    - Dst: gnutls_x509_trust_list_add_trust_dir
      Src: /src/gnutls/tests/x509cert-tl.c:330,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:333,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/x509cert-tl.c:335,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:338,1
    - Dst: strlen
      Src: /src/gnutls/tests/x509cert-tl.c:342,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/tests/x509cert-tl.c:343,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:346,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:347,1
    - Dst: gnutls_x509_trust_list_remove_trust_mem
      Src: /src/gnutls/tests/x509cert-tl.c:349,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:352,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:353,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/tests/x509cert-tl.c:357,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:360,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:361,1
    - Dst: gnutls_x509_trust_list_remove_trust_mem
      Src: /src/gnutls/tests/x509cert-tl.c:363,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:366,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509cert-tl.c:367,1
    - Dst: gnutls_x509_trust_list_remove_cas
      Src: /src/gnutls/tests/x509cert-tl.c:369,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:371,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/tests/x509cert-tl.c:373,1
    - Dst: fail
      Src: /src/gnutls/tests/x509cert-tl.c:376,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/x509cert-tl.c:378,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/x509cert-tl.c:379,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509cert-tl.c:381,1
    - Dst: success
      Src: /src/gnutls/tests/x509cert-tl.c:384,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 385
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509cert-tl.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_x509_trust_list_remove_cas
    - gnutls_digest_get_name
    - check_stored_algos
    - gnutls_x509_trust_list_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_x509_trust_list_add_named_crt
    - gnutls_x509_trust_list_verify_crt2
    - getenv
    - exit
    - gnutls_x509_crt_deinit
    - success
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_init
    - gnutls_x509_crt_get_preferred_hash_algorithm
    - gnutls_x509_trust_list_remove_trust_mem
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_x509_trust_list_verify_named_crt
    - gnutls_x509_trust_list_add_trust_dir
    - gnutls_x509_trust_list_add_trust_mem
    - global_init
    - gnutls_x509_trust_list_verify_crt
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/x509-server-verify.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/x509-server-verify.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/x509-server-verify.c:63,1
    - Dst: global_init
      Src: /src/gnutls/tests/x509-server-verify.c:66,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/x509-server-verify.c:67,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/x509-server-verify.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:71,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-server-verify.c:71,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/gnutls/tests/x509-server-verify.c:72,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:75,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/x509-server-verify.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-server-verify.c:83,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-server-verify.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:85,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-server-verify.c:85,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-server-verify.c:86,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-server-verify.c:87,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-server-verify.c:88,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/x509-server-verify.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:91,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/x509-server-verify.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:92,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-server-verify.c:92,1
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/gnutls/tests/x509-server-verify.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:98,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/x509-server-verify.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:106,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-server-verify.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:109,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/x509-server-verify.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:111,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/x509-server-verify.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/x509-server-verify.c:114,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/x509-server-verify.c:115,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/x509-server-verify.c:116,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/x509-server-verify.c:117,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/x509-server-verify.c:119,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/x509-server-verify.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-server-verify.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-server-verify.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-server-verify.c:132,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:134,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/x509-server-verify.c:134,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/x509-server-verify.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-server-verify.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/x509-server-verify.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/x509-server-verify.c:145,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/x509-server-verify.c:148,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/x509-server-verify.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:151,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/x509-server-verify.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:154,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/x509-server-verify.c:156,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:158,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/x509-server-verify.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/x509-server-verify.c:161,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-server-verify.c:165,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/x509-server-verify.c:166,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-server-verify.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/x509-server-verify.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-server-verify.c:171,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/x509-server-verify.c:172,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/x509-server-verify.c:174,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/x509-server-verify.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 177
    functionName: start
    functionSourceFile: /src/gnutls/tests/x509-server-verify.c
    functionUses: 148
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_verify_peers2
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_ocsp_status_request_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_ocsp_status_request_is_checked
    - reset_buffers
    - gnutls_init
    - gnutls_certificate_set_x509_key_mem2
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/x509-server-verify.c:181,1
    - Dst: start
      Src: /src/gnutls/tests/x509-server-verify.c:182,1
    - Dst: start
      Src: /src/gnutls/tests/x509-server-verify.c:183,1
    - Dst: start
      Src: /src/gnutls/tests/x509-server-verify.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: doit
    functionSourceFile: /src/gnutls/tests/x509-server-verify.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/cert_verify_inv_utf8.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/cert_verify_inv_utf8.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:78,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:82,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:86,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:86,1
    - Dst: assert
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:87,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:89,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:89,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:94,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:102,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:108,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:120,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:120,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:128,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:134,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:142,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:145,1
    - Dst: test_cli_serv_vf
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:147,1
    - Dst: test_cli_serv_vf
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:148,1
    - Dst: test_cli_serv_expect
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:149,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 160
    functionName: auto_parse
    functionSourceFile: /src/gnutls/tests/cert_verify_inv_utf8.c
    functionUses: 2
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - test_cli_serv_expect
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - test_cli_serv_vf
    - gnutls_privkey_import_x509_raw
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_pcert_list_import_x509_raw
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void auto_parse(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:165,1
    - Dst: auto_parse
      Src: /src/gnutls/tests/cert_verify_inv_utf8.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: doit
    functionSourceFile: /src/gnutls/tests/cert_verify_inv_utf8.c
    functionUses: 1
    functionsReached:
    - exit
    - auto_parse
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:78,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:82,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:83,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:86,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:87,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:91,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:92,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:92,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:101,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:102,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:104,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:109,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:113,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:114,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:122,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:123,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:124,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:130,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:132,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:133,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:135,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:137,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:138,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 141
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 107
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:156,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:157,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:160,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:161,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:164,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:165,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:168,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:170,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:171,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:171,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:176,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:180,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:181,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:183,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:186,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:187,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:189,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:192,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:195,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:198,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:199,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:200,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:203,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:210,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:214,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:218,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:219,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:223,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:226,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:229,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:230,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:232,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:233,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:235,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:238,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 239
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 125
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:243,1
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:244,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:250,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:252,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:253,1
    - Dst: fork
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:256,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:259,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:265,1
    - Dst: server
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:266,1
    - Dst: wait
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:267,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:270,1
    - Dst: client
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:271,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-auto.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 274
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-auto.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:76,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:77,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:80,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:82,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:84,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:84,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:86,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:88,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:91,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:95,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:98,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:101,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:104,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:107,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:109,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 112
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 108
    functionsReached:
    - assert
    - gnutls_strerror
    - success
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_bye
    - close
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:122,1
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:123,1
    - Dst: send
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: server_push
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 0
    functionsReached:
    - send
    - success
    - gnutls_handshake_description_get_name
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t server_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:140,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:143,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:144,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:147,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:148,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:152,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:154,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:154,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:155,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:155,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:159,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:159,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:161,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:163,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:166,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:167,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:174,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:177,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:179,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:184,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:188,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:189,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:191,1
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 195
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 127
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:208,1
    - Dst: signal
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:209,1
    - Dst: signal
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:210,1
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:212,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:214,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:215,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:218,1
    - Dst: perror
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:220,1
    - Dst: fail
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:222,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:227,1
    - Dst: client
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:228,1
    - Dst: waitpid
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:229,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:230,1
    - Dst: close
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:232,1
    - Dst: server
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:233,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 238
    functionName: start
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 149
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/dtls-session-ticket-lost.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dtls-session-ticket-lost.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rng-op-key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/custom-urls-override.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/custom-urls-override.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:69,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/custom-urls-override.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - url
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: url_import_key
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_x509_raw
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int url_import_key(gnutls_privkey_t pkey, const char *url,\n\t\t\t
      \ unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/custom-urls-override.c:80,1
    - Dst: abort
      Src: /src/gnutls/tests/custom-urls-override.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:82,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/custom-urls-override.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - crt
    - url
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: url_import_crt
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 0
    functionsReached:
    - abort
    - gnutls_x509_crt_import
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int url_import_crt(gnutls_x509_crt_t crt, const char *url,\n\t\t\t
      \ unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/custom-urls-override.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/custom-urls-override.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls-override.c:102,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/custom-urls-override.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/custom-urls-override.c:105,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/custom-urls-override.c:107,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/custom-urls-override.c:112,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/custom-urls-override.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:116,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/custom-urls-override.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:118,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls-override.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls-override.c:125,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/custom-urls-override.c:126,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/custom-urls-override.c:127,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/custom-urls-override.c:129,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls-override.c:131,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls-override.c:133,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/custom-urls-override.c:135,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/custom-urls-override.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 138
    functionName: client
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 109
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_perror
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls-override.c:145,1
    - Dst: kill
      Src: /src/gnutls/tests/custom-urls-override.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 47
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/custom-urls-override.c:158,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/tests/custom-urls-override.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls-override.c:164,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls-override.c:165,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/custom-urls-override.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/custom-urls-override.c:173,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/custom-urls-override.c:173,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/custom-urls-override.c:176,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/custom-urls-override.c:178,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/custom-urls-override.c:181,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/custom-urls-override.c:182,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls-override.c:184,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls-override.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls-override.c:187,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls-override.c:188,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls-override.c:191,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls-override.c:194,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/custom-urls-override.c:195,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/custom-urls-override.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:199,1
    - Dst: terminate
      Src: /src/gnutls/tests/custom-urls-override.c:200,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/custom-urls-override.c:205,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls-override.c:207,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/custom-urls-override.c:208,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/custom-urls-override.c:210,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/custom-urls-override.c:212,1
    - Dst: success
      Src: /src/gnutls/tests/custom-urls-override.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 216
    functionName: server
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 128
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_file
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/custom-urls-override.c:228,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/custom-urls-override.c:231,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/custom-urls-override.c:232,1
    - Dst: gnutls_register_custom_url
      Src: /src/gnutls/tests/custom-urls-override.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/custom-urls-override.c:237,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:238,1
    - Dst: socketpair
      Src: /src/gnutls/tests/custom-urls-override.c:241,1
    - Dst: perror
      Src: /src/gnutls/tests/custom-urls-override.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:244,1
    - Dst: fork
      Src: /src/gnutls/tests/custom-urls-override.c:247,1
    - Dst: perror
      Src: /src/gnutls/tests/custom-urls-override.c:249,1
    - Dst: fail
      Src: /src/gnutls/tests/custom-urls-override.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:251,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls-override.c:256,1
    - Dst: client
      Src: /src/gnutls/tests/custom-urls-override.c:257,1
    - Dst: kill
      Src: /src/gnutls/tests/custom-urls-override.c:258,1
    - Dst: close
      Src: /src/gnutls/tests/custom-urls-override.c:260,1
    - Dst: server
      Src: /src/gnutls/tests/custom-urls-override.c:261,1
    - Dst: exit
      Src: /src/gnutls/tests/custom-urls-override.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 264
    functionName: start
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 150
    functionsReached:
    - gnutls_strerror
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - global_init
    - client
    - perror
    - gnutls_register_custom_url
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/custom-urls-override.c:269,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/custom-urls-override.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/custom-urls-override.c:276,1
    - Dst: signal
      Src: /src/gnutls/tests/custom-urls-override.c:277,1
    - Dst: start
      Src: /src/gnutls/tests/custom-urls-override.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: doit
    functionSourceFile: /src/gnutls/tests/custom-urls-override.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:52,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:62,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:64,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:67,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:68,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:71,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:72,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:73,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:75,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:76,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:77,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:79,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:81,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:82,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:83,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:94,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:99,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:103,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:105,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:109,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:123,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:128,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:130,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:131,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:132,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:134,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:137,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:138,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:139,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:143,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:148,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:152,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 154
    functionName: try
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c
    functionUses: 29
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_kx_get_name
    - HANDSHAKE
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_global_set_log_level
    - gnutls_kx_get
    - fail
    linkageType: ''
    returnType: void
    signature: void try(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:158,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: doit
    functionSourceFile: /src/gnutls/tests/rehandshake-switch-cert-client-allow.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/tests/sanity-cpp.cpp:59,1
    - Dst: memcpy
      Src: /src/gnutls/tests/sanity-cpp.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: client_push
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t client_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/sanity-cpp.cpp:72,1
    - Dst: MIN
      Src: /src/gnutls/tests/sanity-cpp.cpp:76,1
    - Dst: memcpy
      Src: /src/gnutls/tests/sanity-cpp.cpp:78,1
    - Dst: memmove
      Src: /src/gnutls/tests/sanity-cpp.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: client_pull
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_transport_set_errno
    - memmove
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t client_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/tests/sanity-cpp.cpp:89,1
    - Dst: MIN
      Src: /src/gnutls/tests/sanity-cpp.cpp:93,1
    - Dst: memcpy
      Src: /src/gnutls/tests/sanity-cpp.cpp:94,1
    - Dst: memmove
      Src: /src/gnutls/tests/sanity-cpp.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: server_pull
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_transport_set_errno
    - memmove
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t server_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/tests/sanity-cpp.cpp:107,1
    - Dst: memcpy
      Src: /src/gnutls/tests/sanity-cpp.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: server_push
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t server_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: reset_buffers
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_buffers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls::certificate_credentials::certificate_credentials
      Src: /src/gnutls/tests/sanity-cpp.cpp:126,1
    - Dst: gnutls::certificate_credentials::certificate_credentials
      Src: /src/gnutls/tests/sanity-cpp.cpp:128,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/sanity-cpp.cpp:133,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/sanity-cpp.cpp:134,1
    - Dst: gnutls::certificate_credentials::set_x509_key
      Src: /src/gnutls/tests/sanity-cpp.cpp:137,1
    - Dst: set_credentials
      Src: /src/gnutls/tests/sanity-cpp.cpp:138,1
    - Dst: set_priority
      Src: /src/gnutls/tests/sanity-cpp.cpp:140,1
    - Dst: set_transport_push_function
      Src: /src/gnutls/tests/sanity-cpp.cpp:142,1
    - Dst: set_transport_pull_function
      Src: /src/gnutls/tests/sanity-cpp.cpp:143,1
    - Dst: set_transport_ptr
      Src: /src/gnutls/tests/sanity-cpp.cpp:144,1
    - Dst: ptr
      Src: /src/gnutls/tests/sanity-cpp.cpp:144,1
    - Dst: set_priority
      Src: /src/gnutls/tests/sanity-cpp.cpp:146,1
    - Dst: set_credentials
      Src: /src/gnutls/tests/sanity-cpp.cpp:147,1
    - Dst: set_transport_push_function
      Src: /src/gnutls/tests/sanity-cpp.cpp:149,1
    - Dst: set_transport_pull_function
      Src: /src/gnutls/tests/sanity-cpp.cpp:150,1
    - Dst: set_transport_ptr
      Src: /src/gnutls/tests/sanity-cpp.cpp:151,1
    - Dst: ptr
      Src: /src/gnutls/tests/sanity-cpp.cpp:151,1
    - Dst: what
      Src: /src/gnutls/tests/sanity-cpp.cpp:154,1
    - Dst: fail
      Src: /src/gnutls/tests/sanity-cpp.cpp:155,1
    - Dst: handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:163,1
    - Dst: get_code
      Src: /src/gnutls/tests/sanity-cpp.cpp:165,1
    - Dst: handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:172,1
    - Dst: get_code
      Src: /src/gnutls/tests/sanity-cpp.cpp:174,1
    - Dst: fail
      Src: /src/gnutls/tests/sanity-cpp.cpp:184,1
    - Dst: send
      Src: /src/gnutls/tests/sanity-cpp.cpp:188,1
    - Dst: recv
      Src: /src/gnutls/tests/sanity-cpp.cpp:189,1
    - Dst: assert
      Src: /src/gnutls/tests/sanity-cpp.cpp:191,1
    - Dst: assert
      Src: /src/gnutls/tests/sanity-cpp.cpp:192,1
    - Dst: memcmp
      Src: /src/gnutls/tests/sanity-cpp.cpp:192,1
    - Dst: bye
      Src: /src/gnutls/tests/sanity-cpp.cpp:194,1
    - Dst: bye
      Src: /src/gnutls/tests/sanity-cpp.cpp:195,1
    - Dst: what
      Src: /src/gnutls/tests/sanity-cpp.cpp:198,1
    - Dst: fail
      Src: /src/gnutls/tests/sanity-cpp.cpp:199,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - glob_state
    - prio
    - ' server'
    - ' client'
    argTypes:
    - void**
    - char*
    - gnutls::server_session
    - gnutls::client_session
    constantsTouched: []
    func_position:
      end: 203
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 203
    functionName: test_handshake
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - set_priority
    - handshake
    - gnutls_global_set_log_function
    - reset_buffers
    - what
    - set_credentials
    - memcmp
    - gnutls::certificate_credentials::set_x509_key
    - set_transport_push_function
    - bye
    - assert
    - gnutls::certificate_credentials::certificate_credentials
    - set_transport_pull_function
    - get_code
    - set_transport_ptr
    - send
    - ptr
    - recv
    - fail
    linkageType: ''
    returnType: void
    signature: "void test_handshake(void **glob_state, const char *prio,\n\t\t\t   gnutls::server_session&
      server, gnutls::client_session& client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls::server_session::server_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:207,1
    - Dst: gnutls::client_session::client_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:208,1
    - Dst: test_handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: tls_handshake
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 203
    functionsReached:
    - gnutls::server_session::server_session
    - gnutls::client_session::client_session
    - test_handshake
    linkageType: ''
    returnType: void
    signature: void tls_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: tls_handshake_alt
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - test_handshake
    linkageType: ''
    returnType: void
    signature: void tls_handshake_alt(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls::server_session::server_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:223,1
    - Dst: gnutls::client_session::client_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:224,1
    - Dst: test_handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: tls12_handshake
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - gnutls::server_session::server_session
    - gnutls::client_session::client_session
    - test_handshake
    linkageType: ''
    returnType: void
    signature: void tls12_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls::server_session::server_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:231,1
    - Dst: gnutls::client_session::client_session
      Src: /src/gnutls/tests/sanity-cpp.cpp:232,1
    - Dst: test_handshake
      Src: /src/gnutls/tests/sanity-cpp.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: tls13_handshake
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 0
    functionsReached:
    - gnutls::server_session::server_session
    - gnutls::client_session::client_session
    - test_handshake
    linkageType: ''
    returnType: void
    signature: void tls13_handshake(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/sanity-cpp.cpp:240,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/sanity-cpp.cpp:241,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/sanity-cpp.cpp:242,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/sanity-cpp.cpp:243,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/sanity-cpp.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/gnutls/tests/sanity-cpp.cpp
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:77,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - data
    - data_size
    argTypes:
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: dump
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 13
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, uint8_t *data, unsigned data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/key-material-dtls.c:86,1
    - Dst: wait
      Src: /src/gnutls/tests/key-material-dtls.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 48
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/key-material-dtls.c:107,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-material-dtls.c:110,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-material-dtls.c:111,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/key-material-dtls.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-material-dtls.c:118,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-material-dtls.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-dtls.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-material-dtls.c:133,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/key-material-dtls.c:135,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/key-material-dtls.c:140,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/key-material-dtls.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:144,1
    - Dst: strerror
      Src: /src/gnutls/tests/key-material-dtls.c:144,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:145,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-dtls.c:148,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-dtls.c:152,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/key-material-dtls.c:153,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/key-material-dtls.c:154,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/key-material-dtls.c:156,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:158,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/key-material-dtls.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:160,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/key-material-dtls.c:163,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:165,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/key-material-dtls.c:166,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:167,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/key-material-dtls.c:175,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:178,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-dtls.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:180,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-dtls.c:185,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:188,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-dtls.c:189,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:190,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:193,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:194,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:196,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-dtls.c:199,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:202,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-dtls.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:204,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:207,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:208,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:210,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:214,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:215,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:216,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:217,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:218,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:223,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:224,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:225,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:226,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:227,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:232,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:233,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:234,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:239,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:241,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/key-material-dtls.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-dtls.c:249,1
    - Dst: memset
      Src: /src/gnutls/tests/key-material-dtls.c:253,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-dtls.c:254,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:257,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-dtls.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:259,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:262,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:263,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:264,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:265,1
    - Dst: memset
      Src: /src/gnutls/tests/key-material-dtls.c:268,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/key-material-dtls.c:269,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:272,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/key-material-dtls.c:273,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:274,1
    - Dst: memcmp
      Src: /src/gnutls/tests/key-material-dtls.c:277,1
    - Dst: dump
      Src: /src/gnutls/tests/key-material-dtls.c:278,1
    - Dst: fprintf
      Src: /src/gnutls/tests/key-material-dtls.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:280,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/key-material-dtls.c:282,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-dtls.c:284,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:286,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/key-material-dtls.c:288,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:290,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 129
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 291
    functionName: client
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 110
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_perror
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_record_get_state
    - memset
    - strerror
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - dump
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_prf
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/key-material-dtls.c:300,1
    - Dst: global_init
      Src: /src/gnutls/tests/key-material-dtls.c:304,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/key-material-dtls.c:307,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/key-material-dtls.c:308,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/key-material-dtls.c:311,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/key-material-dtls.c:312,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/key-material-dtls.c:313,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/key-material-dtls.c:314,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/key-material-dtls.c:316,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/key-material-dtls.c:321,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:324,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-dtls.c:325,1
    - Dst: terminate
      Src: /src/gnutls/tests/key-material-dtls.c:326,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/key-material-dtls.c:329,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/key-material-dtls.c:331,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/key-material-dtls.c:334,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/key-material-dtls.c:335,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-dtls.c:337,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:338,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:339,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-dtls.c:340,1
    - Dst: terminate
      Src: /src/gnutls/tests/key-material-dtls.c:341,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-dtls.c:344,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-dtls.c:347,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/key-material-dtls.c:348,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/key-material-dtls.c:349,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/key-material-dtls.c:352,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:357,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/key-material-dtls.c:357,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/key-material-dtls.c:362,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-dtls.c:364,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:365,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/key-material-dtls.c:367,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:368,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/key-material-dtls.c:370,1
    - Dst: success
      Src: /src/gnutls/tests/key-material-dtls.c:373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 374
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 374
    functionName: server
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 129
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_dh_params_init
    - close
    - gnutls_init
    - gnutls_anon_set_server_dh_params
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_dh_params_import_pkcs3
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/key-material-dtls.c:381,1
    - Dst: perror
      Src: /src/gnutls/tests/key-material-dtls.c:383,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:384,1
    - Dst: fork
      Src: /src/gnutls/tests/key-material-dtls.c:387,1
    - Dst: perror
      Src: /src/gnutls/tests/key-material-dtls.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/key-material-dtls.c:390,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:391,1
    - Dst: server
      Src: /src/gnutls/tests/key-material-dtls.c:398,1
    - Dst: wait
      Src: /src/gnutls/tests/key-material-dtls.c:399,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/key-material-dtls.c:400,1
    - Dst: close
      Src: /src/gnutls/tests/key-material-dtls.c:402,1
    - Dst: client
      Src: /src/gnutls/tests/key-material-dtls.c:403,1
    - Dst: exit
      Src: /src/gnutls/tests/key-material-dtls.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: start
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 151
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/key-material-dtls.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: doit
    functionSourceFile: /src/gnutls/tests/key-material-dtls.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:81,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:85,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:86,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:89,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:90,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:95,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:96,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:103,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:105,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:110,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:114,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:116,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:119,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:123,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:124,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:125,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:134,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:149,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:151,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:153,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 158
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 111
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:165,1
    - Dst: kill
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:166,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 49
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:180,1
    - Dst: memset
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:181,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:184,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:185,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:188,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:189,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:192,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:193,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:193,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:198,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:202,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:203,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:205,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:208,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:209,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:211,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:214,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:215,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:218,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:221,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:222,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:223,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:225,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:242,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:243,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:244,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:248,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:253,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:254,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:262,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:266,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:267,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:272,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:274,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:275,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:277,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:279,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 283
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 283
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 130
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:291,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:294,1
    - Dst: fork
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:297,1
    - Dst: perror
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:300,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:301,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:306,1
    - Dst: server
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:307,1
    - Dst: wait
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:308,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:309,1
    - Dst: close
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:311,1
    - Dst: client
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:312,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 315
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 152
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:324,1
    - Dst: signal
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:325,1
    - Dst: start
      Src: /src/gnutls/tests/tls12-rehandshake-cert-3.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-rehandshake-cert-3.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/cert.c:51,1
    - Dst: snprintf
      Src: /src/gnutls/tests/cert.c:55,1
    - Dst: opendir
      Src: /src/gnutls/tests/cert.c:58,1
    - Dst: readdir
      Src: /src/gnutls/tests/cert.c:64,1
    - Dst: strstr
      Src: /src/gnutls/tests/cert.c:70,1
    - Dst: strstr
      Src: /src/gnutls/tests/cert.c:72,1
    - Dst: snprintf
      Src: /src/gnutls/tests/cert.c:74,1
    - Dst: success
      Src: /src/gnutls/tests/cert.c:77,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/cert.c:78,1
    - Dst: snprintf
      Src: /src/gnutls/tests/cert.c:83,1
    - Dst: success
      Src: /src/gnutls/tests/cert.c:85,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/tests/cert.c:86,1
    - Dst: atoi
      Src: /src/gnutls/tests/cert.c:90,1
    - Dst: success
      Src: /src/gnutls/tests/cert.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cert.c:92,1
    - Dst: closedir
      Src: /src/gnutls/tests/cert.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - dirp
    - der
    - exp_ret
    argTypes:
    - DIR**
    - gnutls_datum_t*
    - int*
    constantsTouched: []
    func_position:
      end: 101
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 101
    functionName: getnextcert
    functionSourceFile: /src/gnutls/tests/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - closedir
    - success
    - gnutls_free
    - readdir
    - snprintf
    - atoi
    - strstr
    - opendir
    - getenv
    linkageType: ''
    returnType: int
    signature: int getnextcert(DIR **dirp, gnutls_datum_t *der, int *exp_ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/cert.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/cert.c:112,1
    - Dst: getnextcert
      Src: /src/gnutls/tests/cert.c:114,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/cert.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/cert.c:117,1
    - Dst: gnutls_x509_crt_set_flags
      Src: /src/gnutls/tests/cert.c:119,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/cert.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/cert.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert.c:124,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/cert.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/cert.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/cert.c:133,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cert.c:135,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/cert.c:138,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/cert.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/cert.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: doit
    functionSourceFile: /src/gnutls/tests/cert.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_deinit
    - global_init
    - gnutls_x509_crt_set_flags
    - fail
    - getnextcert
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls10-prf.c:82,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls10-prf.c:83,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls10-prf.c:84,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/tls10-prf.c:85,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/tls10-prf.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls10-prf.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls-channel-binding.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_channel_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:55,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:58,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:62,1
    - Dst: gnutls_session_channel_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:65,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:68,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:80,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/tests/tls-channel-binding.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:86,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls-channel-binding.c:89,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls-channel-binding.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - client
    - server
    - cbtype
    - cbname
    - negative
    argTypes:
    - gnutls_session_t
    - gnutls_session_t
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: check_binding_data
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - gnutls_memcmp
    - gnutls_session_channel_binding
    - fail
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int check_binding_data(gnutls_session_t client, gnutls_session_t server,\n\t\t\t
      \     int cbtype, const char *cbname, int negative)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls-channel-binding.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - session
    - user
    - pass
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: serv_psk_func
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int serv_psk_func(gnutls_session_t session, const char *user,\n\t\t\t
      gnutls_datum_t *pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls-channel-binding.c:120,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls-channel-binding.c:121,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls-channel-binding.c:123,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:126,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/tests/tls-channel-binding.c:128,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls-channel-binding.c:132,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:135,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:136,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/tls-channel-binding.c:137,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-channel-binding.c:138,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:139,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:140,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:141,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-channel-binding.c:142,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-channel-binding.c:143,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-channel-binding.c:144,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-channel-binding.c:145,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:148,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:149,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:150,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:151,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls-channel-binding.c:153,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:154,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:155,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls-channel-binding.c:156,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls-channel-binding.c:157,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls-channel-binding.c:158,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls-channel-binding.c:159,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls-channel-binding.c:160,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls-channel-binding.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 5
    argNames:
    - client
    - server
    - cprio
    - sprio
    - raw
    argTypes:
    - gnutls_session_t*
    - gnutls_session_t*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 163
    functionName: tls_setup_peers
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_rawpk_key_mem
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_psk_set_client_credentials
    - global_init
    - gnutls_psk_allocate_client_credentials
    - gnutls_psk_set_server_credentials_function
    linkageType: ''
    returnType: void
    signature: "void tls_setup_peers(gnutls_session_t *client, gnutls_session_t *server,\n\t\t\t
      \   const char *cprio, const char *sprio, int raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-channel-binding.c:168,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls-channel-binding.c:169,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:171,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:172,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:175,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:177,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:178,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:180,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:181,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:183,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:184,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/tests/tls-channel-binding.c:186,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/tls-channel-binding.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-channel-binding.c:189,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls-channel-binding.c:190,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls-channel-binding.c:192,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls-channel-binding.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - gnutls_session_t
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 195
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 195
    functionName: tls_clear_peers
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - gnutls_psk_free_server_credentials
    - reset_buffers
    - gnutls_global_deinit
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_credentials_get
    - gnutls_certificate_free_credentials
    - gnutls_psk_free_client_credentials
    linkageType: ''
    returnType: void
    signature: void tls_clear_peers(gnutls_session_t client, gnutls_session_t server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:204,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:206,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:210,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:212,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:215,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:217,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:220,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:221,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:224,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:226,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:229,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:231,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 234
    functionName: tlsv13_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void tlsv13_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:243,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:245,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:251,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:252,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:254,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:257,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:259,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:263,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:266,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:268,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:271,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:273,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: rawv13_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void rawv13_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:285,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:287,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:292,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:294,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:297,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:299,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:302,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:303,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:306,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:308,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:311,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:313,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 316
    functionName: pskv13_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void pskv13_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:325,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:327,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:331,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:332,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:334,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:337,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:339,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:342,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:343,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:346,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:348,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:351,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:353,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 356
    functionName: tlsv12_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void tlsv12_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:365,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:367,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:371,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:372,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:374,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:377,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:379,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:382,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:383,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:386,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:388,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:391,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:393,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: anon12_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void anon12_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:405,1
    - Dst: tls_setup_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:407,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls-channel-binding.c:411,1
    - Dst: fail
      Src: /src/gnutls/tests/tls-channel-binding.c:412,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls-channel-binding.c:414,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:417,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:419,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:422,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:423,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:426,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:428,1
    - Dst: check_binding_data
      Src: /src/gnutls/tests/tls-channel-binding.c:431,1
    - Dst: success
      Src: /src/gnutls/tests/tls-channel-binding.c:433,1
    - Dst: tls_clear_peers
      Src: /src/gnutls/tests/tls-channel-binding.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 436
    functionName: pskv12_binding
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 0
    functionsReached:
    - check_binding_data
    - success
    - tls_clear_peers
    - TRANSFER
    - gnutls_protocol_get_version
    - tls_setup_peers
    - fail
    linkageType: ''
    returnType: void
    signature: void pskv12_binding(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tlsv13_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:440,1
    - Dst: tlsv12_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:441,1
    - Dst: rawv13_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:442,1
    - Dst: anon12_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:443,1
    - Dst: pskv13_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:444,1
    - Dst: pskv12_binding
      Src: /src/gnutls/tests/tls-channel-binding.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls-channel-binding.c
    functionUses: 1
    functionsReached:
    - anon12_binding
    - pskv12_binding
    - pskv13_binding
    - tlsv13_binding
    - rawv13_binding
    - tlsv12_binding
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pskself2.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pskself2.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pskself2.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pskself2.c:80,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pskself2.c:82,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/pskself2.c:86,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/pskself2.c:93,1
    - Dst: gnutls_psk_set_client_credentials2
      Src: /src/gnutls/tests/pskself2.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:97,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/pskself2.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pskself2.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pskself2.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pskself2.c:111,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pskself2.c:113,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pskself2.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:120,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/pskself2.c:121,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:125,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/pskself2.c:130,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pskself2.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:132,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/tests/pskself2.c:133,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/pskself2.c:138,1
    - Dst: strlen
      Src: /src/gnutls/tests/pskself2.c:138,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/pskself2.c:140,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pskself2.c:146,1
    - Dst: printf
      Src: /src/gnutls/tests/pskself2.c:151,1
    - Dst: fputc
      Src: /src/gnutls/tests/pskself2.c:153,1
    - Dst: fputs
      Src: /src/gnutls/tests/pskself2.c:155,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pskself2.c:158,1
    - Dst: close
      Src: /src/gnutls/tests/pskself2.c:162,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself2.c:164,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pskself2.c:166,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/pskself2.c:167,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pskself2.c:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 3
    argNames:
    - sd
    - prio
    - exp_hint
    argTypes:
    - int
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 170
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 170
    functionName: client
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 112
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_psk_client_get_hint
    - gnutls_bye
    - gnutls_malloc
    - strcmp
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fputs
    - gnutls_psk_set_client_credentials2
    - global_init
    - gnutls_handshake
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio, unsigned exp_hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/pskself2.c:183,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/pskself2.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const gnutls_datum_t *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pskself2.c:206,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pskself2.c:207,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pskself2.c:209,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/pskself2.c:213,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/tests/pskself2.c:214,1
    - Dst: gnutls_psk_set_server_credentials_function2
      Src: /src/gnutls/tests/pskself2.c:215,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pskself2.c:217,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pskself2.c:222,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pskself2.c:224,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pskself2.c:226,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pskself2.c:227,1
    - Dst: close
      Src: /src/gnutls/tests/pskself2.c:229,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself2.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:231,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pskself2.c:232,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:237,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/tests/pskself2.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:240,1
    - Dst: gnutls_psk_server_get_username2
      Src: /src/gnutls/tests/pskself2.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:242,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pskself2.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:246,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:248,1
    - Dst: memset
      Src: /src/gnutls/tests/pskself2.c:255,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/pskself2.c:256,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/pskself2.c:257,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:261,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:264,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/pskself2.c:270,1
    - Dst: strlen
      Src: /src/gnutls/tests/pskself2.c:270,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pskself2.c:275,1
    - Dst: close
      Src: /src/gnutls/tests/pskself2.c:277,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pskself2.c:278,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/pskself2.c:280,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pskself2.c:282,1
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:285,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 286
    functionName: server
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 131
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_psk_server_get_username
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_set_server_credentials_function2
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_psk_set_server_credentials_hint
    - gnutls_psk_server_get_username2
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/pskself2.c:294,1
    - Dst: socketpair
      Src: /src/gnutls/tests/pskself2.c:296,1
    - Dst: perror
      Src: /src/gnutls/tests/pskself2.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:299,1
    - Dst: fork
      Src: /src/gnutls/tests/pskself2.c:303,1
    - Dst: perror
      Src: /src/gnutls/tests/pskself2.c:305,1
    - Dst: fail
      Src: /src/gnutls/tests/pskself2.c:306,1
    - Dst: close
      Src: /src/gnutls/tests/pskself2.c:313,1
    - Dst: server
      Src: /src/gnutls/tests/pskself2.c:314,1
    - Dst: wait
      Src: /src/gnutls/tests/pskself2.c:315,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/pskself2.c:316,1
    - Dst: close
      Src: /src/gnutls/tests/pskself2.c:318,1
    - Dst: client
      Src: /src/gnutls/tests/pskself2.c:319,1
    - Dst: exit
      Src: /src/gnutls/tests/pskself2.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - prio
    - exp_hint
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 322
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 322
    functionName: run_test
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 2
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run_test(const char *prio, unsigned exp_hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:326,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:327,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:328,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:330,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:331,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:334,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:337,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:338,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:341,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:345,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:347,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:348,1
    - Dst: run_test
      Src: /src/gnutls/tests/pskself2.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 350
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pskself2.c
    functionUses: 1
    functionsReached:
    - run_test
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:203,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:208,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:214,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 222
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_status_request_is_checked
    - memcmp
    - gnutls_ocsp_status_request_get
    - fail
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:235,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:236,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:238,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:238,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:239,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:239,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:241,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:245,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:246,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:246,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:247,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:248,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:248,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:248,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:250,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:256,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:260,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:261,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:261,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:262,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:263,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:263,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:263,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:265,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:267,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:271,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:274,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:275,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:275,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:276,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:281,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:281,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:283,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:285,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:287,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:289,1
    - Dst: gnutls_certificate_get_ocsp_expiration
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:293,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:297,1
    - Dst: gnutls_certificate_get_verify_flags
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:301,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:303,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:306,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:306,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:309,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:313,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:317,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:318,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:319,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:320,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 322
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_get_ocsp_expiration
    - gnutls_certificate_get_verify_flags
    - gnutls_certificate_set_verify_flags
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_ocsp_status_request_file
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_file_ocsp.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_file_ocsp.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-tickets-missing.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/session-tickets-missing.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-missing.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/session-tickets-missing.c:105,1
    - Dst: global_init
      Src: /src/gnutls/tests/session-tickets-missing.c:106,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-tickets-missing.c:109,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-tickets-missing.c:110,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-tickets-missing.c:113,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-tickets-missing.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:119,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-tickets-missing.c:119,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-tickets-missing.c:123,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/session-tickets-missing.c:125,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/session-tickets-missing.c:130,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/session-tickets-missing.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-missing.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/session-tickets-missing.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:140,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:143,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:147,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/session-tickets-missing.c:148,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/session-tickets-missing.c:149,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-tickets-missing.c:151,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-missing.c:155,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-tickets-missing.c:157,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-tickets-missing.c:159,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-tickets-missing.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - fd
    - prio
    - flags
    argTypes:
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 162
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 162
    functionName: client
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 113
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, const char *prio, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/session-tickets-missing.c:179,1
    - Dst: memset
      Src: /src/gnutls/tests/session-tickets-missing.c:180,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/session-tickets-missing.c:183,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/session-tickets-missing.c:184,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:187,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/session-tickets-missing.c:187,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:188,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/session-tickets-missing.c:188,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:192,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/session-tickets-missing.c:192,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:195,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/session-tickets-missing.c:195,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:196,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/session-tickets-missing.c:196,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/session-tickets-missing.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/session-tickets-missing.c:208,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/session-tickets-missing.c:208,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/session-tickets-missing.c:210,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/session-tickets-missing.c:212,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/session-tickets-missing.c:215,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/session-tickets-missing.c:216,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:223,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:227,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/session-tickets-missing.c:228,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/session-tickets-missing.c:229,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-missing.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:233,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/session-tickets-missing.c:238,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-missing.c:241,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/session-tickets-missing.c:242,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/session-tickets-missing.c:243,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/session-tickets-missing.c:245,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/session-tickets-missing.c:247,1
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - fd
    - prio
    - flags
    argTypes:
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 251
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 251
    functionName: server
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 133
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/session-tickets-missing.c:264,1
    - Dst: signal
      Src: /src/gnutls/tests/session-tickets-missing.c:267,1
    - Dst: signal
      Src: /src/gnutls/tests/session-tickets-missing.c:268,1
    - Dst: socketpair
      Src: /src/gnutls/tests/session-tickets-missing.c:270,1
    - Dst: perror
      Src: /src/gnutls/tests/session-tickets-missing.c:272,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:273,1
    - Dst: fork
      Src: /src/gnutls/tests/session-tickets-missing.c:276,1
    - Dst: perror
      Src: /src/gnutls/tests/session-tickets-missing.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/session-tickets-missing.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:280,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-missing.c:285,1
    - Dst: server
      Src: /src/gnutls/tests/session-tickets-missing.c:286,1
    - Dst: waitpid
      Src: /src/gnutls/tests/session-tickets-missing.c:287,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/session-tickets-missing.c:288,1
    - Dst: close
      Src: /src/gnutls/tests/session-tickets-missing.c:290,1
    - Dst: client
      Src: /src/gnutls/tests/session-tickets-missing.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/session-tickets-missing.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - prio
    - sprio
    - flags
    - sflags
    argTypes:
    - char*
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 296
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 296
    functionName: start2
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 1
    functionsReached:
    - success
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - client
    - waitpid
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start2(const char *prio, const char *sprio, unsigned int flags,\n\t\t
      \  unsigned int sflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start2
      Src: /src/gnutls/tests/session-tickets-missing.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - flags
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: start
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 153
    functionsReached:
    - start2
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-missing.c:305,1
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-missing.c:308,1
    - Dst: start2
      Src: /src/gnutls/tests/session-tickets-missing.c:310,1
    - Dst: start
      Src: /src/gnutls/tests/session-tickets-missing.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: doit
    functionSourceFile: /src/gnutls/tests/session-tickets-missing.c
    functionUses: 1
    functionsReached:
    - start
    - start2
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-server-name.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-server-name.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-server-name.c:84,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-server-name.c:87,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-server-name.c:88,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/mini-server-name.c:91,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-server-name.c:92,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-server-name.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-server-name.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-server-name.c:103,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-server-name.c:104,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-server-name.c:106,1
    - Dst: _gnutls_server_name_set_raw
      Src: /src/gnutls/tests/mini-server-name.c:108,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/mini-server-name.c:111,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-server-name.c:117,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-server-name.c:118,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:123,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:127,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:131,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-server-name.c:132,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-server-name.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-server-name.c:135,1
    - Dst: close
      Src: /src/gnutls/tests/mini-server-name.c:138,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-server-name.c:140,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/mini-server-name.c:142,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-server-name.c:143,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-server-name.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 7
    argNames:
    - test_name
    - prio
    - fd
    - raw
    - name
    - name_len
    - server_err
    argTypes:
    - char*
    - char*
    - int
    - unsigned
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 146
    functionName: client
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 114
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - _gnutls_server_name_set_raw
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - test_fail
    - gnutls_protocol_get_name
    - test_success
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: "void client(const char *test_name, const char *prio, int fd,\n\t\t
      \  unsigned raw, const char *name, unsigned name_len,\n\t\t   int server_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/mini-server-name.c:153,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-server-name.c:154,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 50
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/mini-server-name.c:171,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-server-name.c:172,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-server-name.c:175,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-server-name.c:176,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-server-name.c:179,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-server-name.c:180,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/mini-server-name.c:183,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-server-name.c:185,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-server-name.c:190,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-server-name.c:192,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-server-name.c:193,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/mini-server-name.c:195,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/mini-server-name.c:198,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/mini-server-name.c:199,1
    - Dst: close
      Src: /src/gnutls/tests/mini-server-name.c:203,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-server-name.c:204,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:205,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-server-name.c:206,1
    - Dst: terminate
      Src: /src/gnutls/tests/mini-server-name.c:207,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:210,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:213,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/mini-server-name.c:214,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-server-name.c:215,1
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/tests/mini-server-name.c:218,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:225,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-server-name.c:227,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:230,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:233,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:235,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:236,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:238,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:239,1
    - Dst: memcmp
      Src: /src/gnutls/tests/mini-server-name.c:242,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:243,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:246,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:249,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-server-name.c:254,1
    - Dst: close
      Src: /src/gnutls/tests/mini-server-name.c:256,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-server-name.c:257,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/mini-server-name.c:259,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-server-name.c:260,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-server-name.c:262,1
    - Dst: test_success
      Src: /src/gnutls/tests/mini-server-name.c:265,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 6
    argNames:
    - test_name
    - prio
    - fd
    - name
    - name_len
    - exp_err
    argTypes:
    - char*
    - char*
    - int
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 266
    functionName: server
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 134
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - close
    - memcmp
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_server_name_get
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - test_fail
    - gnutls_protocol_get_name
    - test_success
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: "void server(const char *test_name, const char *prio, int fd,\n\t\t
      \  const char *name, unsigned name_len, int exp_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/mini-server-name.c:278,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-server-name.c:280,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:281,1
    - Dst: fork
      Src: /src/gnutls/tests/mini-server-name.c:284,1
    - Dst: perror
      Src: /src/gnutls/tests/mini-server-name.c:286,1
    - Dst: test_fail
      Src: /src/gnutls/tests/mini-server-name.c:287,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:288,1
    - Dst: close
      Src: /src/gnutls/tests/mini-server-name.c:293,1
    - Dst: server
      Src: /src/gnutls/tests/mini-server-name.c:294,1
    - Dst: kill
      Src: /src/gnutls/tests/mini-server-name.c:296,1
    - Dst: close
      Src: /src/gnutls/tests/mini-server-name.c:298,1
    - Dst: client
      Src: /src/gnutls/tests/mini-server-name.c:299,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-server-name.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 8
    argNames:
    - test_name
    - prio
    - raw
    - name
    - len
    - server_exp
    - server_exp_len
    - server_error
    argTypes:
    - char*
    - char*
    - unsigned
    - char*
    - unsigned
    - char*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 302
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 154
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - test_fail
    - socketpair
    - client
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *test_name, const char *prio, unsigned raw,\n\t\t
      \ const char *name, unsigned len, const char *server_exp,\n\t\t  unsigned server_exp_len,
      int server_error)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/mini-server-name.c:307,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/mini-server-name.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/mini-server-name.c:318,1
    - Dst: signal
      Src: /src/gnutls/tests/mini-server-name.c:319,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:321,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:322,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:323,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:324,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:325,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:326,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:327,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:328,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:330,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:334,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:335,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:336,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:337,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:338,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:339,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:340,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:341,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:343,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:347,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:348,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:349,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:350,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:351,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:352,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:353,1
    - Dst: strlen
      Src: /src/gnutls/tests/mini-server-name.c:354,1
    - Dst: start
      Src: /src/gnutls/tests/mini-server-name.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 359
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-server-name.c
    functionUses: 1
    functionsReached:
    - strlen
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/certuniqueid.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:130,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/certuniqueid.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:134,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/certuniqueid.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:138,1
    - Dst: gnutls_x509_crt_get_issuer_unique_id
      Src: /src/gnutls/tests/certuniqueid.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:145,1
    - Dst: gnutls_x509_crt_get_issuer_unique_id
      Src: /src/gnutls/tests/certuniqueid.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:150,1
    - Dst: memcmp
      Src: /src/gnutls/tests/certuniqueid.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:152,1
    - Dst: gnutls_x509_crt_get_subject_unique_id
      Src: /src/gnutls/tests/certuniqueid.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:159,1
    - Dst: gnutls_x509_crt_get_subject_unique_id
      Src: /src/gnutls/tests/certuniqueid.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:164,1
    - Dst: memcmp
      Src: /src/gnutls/tests/certuniqueid.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/certuniqueid.c:166,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/certuniqueid.c:168,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/certuniqueid.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 171
    functionName: doit
    functionSourceFile: /src/gnutls/tests/certuniqueid.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_global_deinit
    - gnutls_x509_crt_get_subject_unique_id
    - memcmp
    - global_init
    - gnutls_x509_crt_get_issuer_unique_id
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:121,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:122,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:123,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:124,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:125,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:126,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:127,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:128,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:129,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:130,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:131,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:132,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:133,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:134,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:135,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:136,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:137,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:138,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:139,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:140,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:141,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:142,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:143,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:144,1
    - Dst: cmocka_unit_test
      Src: /src/gnutls/tests/str-idna.c:145,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/tests/str-idna.c:148,1
    - Dst: strlen
      Src: /src/gnutls/tests/str-idna.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/str-idna.c:150,1
    - Dst: fprintf
      Src: /src/gnutls/tests/str-idna.c:152,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/str-idna.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/str-idna.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/str-idna.c:155,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/str-idna.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnutls/tests/str-idna.c
    functionUses: 4
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_free
    - strlen
    - cmocka_unit_test
    - cmocka_run_group_tests
    - gnutls_idna_map
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-pad.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/record-pad.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/record-pad.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: push
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-pad.c:100,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-pad.c:103,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-pad.c:104,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/record-pad.c:107,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-pad.c:108,1
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:110,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-pad.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:111,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-pad.c:111,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-pad.c:115,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-pad.c:116,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-pad.c:118,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-pad.c:123,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-pad.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:127,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/record-pad.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:136,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/record-pad.c:137,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/record-pad.c:138,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/record-pad.c:142,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-pad.c:153,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:154,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-pad.c:158,1
    - Dst: close
      Src: /src/gnutls/tests/record-pad.c:162,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-pad.c:164,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/record-pad.c:166,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-pad.c:167,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-pad.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - fd
    - test
    argTypes:
    - int
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 170
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 170
    functionName: client
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 115
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:177,1
    - Dst: kill
      Src: /src/gnutls/tests/record-pad.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 51
    functionsReached:
    - exit
    - assert
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/record-pad.c:193,1
    - Dst: memset
      Src: /src/gnutls/tests/record-pad.c:194,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/record-pad.c:197,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/record-pad.c:198,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/record-pad.c:201,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/record-pad.c:202,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/record-pad.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:207,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/record-pad.c:207,1
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:209,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/record-pad.c:209,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-pad.c:211,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/record-pad.c:212,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/record-pad.c:214,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/record-pad.c:217,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/record-pad.c:218,1
    - Dst: close
      Src: /src/gnutls/tests/record-pad.c:220,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-pad.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-pad.c:223,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-pad.c:224,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:227,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:230,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/record-pad.c:231,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/record-pad.c:232,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/record-pad.c:234,1
    - Dst: assert
      Src: /src/gnutls/tests/record-pad.c:236,1
    - Dst: gnutls_record_send2
      Src: /src/gnutls/tests/record-pad.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:248,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-pad.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-pad.c:249,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:254,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/record-pad.c:254,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-pad.c:255,1
    - Dst: gnutls_record_overhead_size
      Src: /src/gnutls/tests/record-pad.c:259,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:261,1
    - Dst: terminate
      Src: /src/gnutls/tests/record-pad.c:263,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/record-pad.c:269,1
    - Dst: close
      Src: /src/gnutls/tests/record-pad.c:271,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/record-pad.c:272,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/record-pad.c:274,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/record-pad.c:275,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/record-pad.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - fd
    - test
    argTypes:
    - int
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 281
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 281
    functionName: server
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 135
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_transport_set_push_function
    - gnutls_anon_free_server_credentials
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_anon_allocate_server_credentials
    - gnutls_global_set_log_function
    - gnutls_record_send2
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_record_overhead_size
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/record-pad.c:288,1
    - Dst: socketpair
      Src: /src/gnutls/tests/record-pad.c:290,1
    - Dst: perror
      Src: /src/gnutls/tests/record-pad.c:292,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:293,1
    - Dst: fork
      Src: /src/gnutls/tests/record-pad.c:296,1
    - Dst: perror
      Src: /src/gnutls/tests/record-pad.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/record-pad.c:299,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:300,1
    - Dst: close
      Src: /src/gnutls/tests/record-pad.c:305,1
    - Dst: server
      Src: /src/gnutls/tests/record-pad.c:306,1
    - Dst: kill
      Src: /src/gnutls/tests/record-pad.c:307,1
    - Dst: close
      Src: /src/gnutls/tests/record-pad.c:309,1
    - Dst: client
      Src: /src/gnutls/tests/record-pad.c:310,1
    - Dst: exit
      Src: /src/gnutls/tests/record-pad.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: start
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 155
    functionsReached:
    - exit
    - success
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(struct test_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/record-pad.c:320,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/record-pad.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/record-pad.c:377,1
    - Dst: start
      Src: /src/gnutls/tests/record-pad.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: doit
    functionSourceFile: /src/gnutls/tests/record-pad.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls11-server-kx-neg.c:353,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls11-server-kx-neg.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls11-server-kx-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dhepskself.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dhepskself.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dhepskself.c:72,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dhepskself.c:74,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dhepskself.c:76,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/dhepskself.c:78,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/dhepskself.c:79,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dhepskself.c:84,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dhepskself.c:87,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dhepskself.c:92,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dhepskself.c:94,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhepskself.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:101,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/dhepskself.c:102,1
    - Dst: success
      Src: /src/gnutls/tests/dhepskself.c:106,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/dhepskself.c:109,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dhepskself.c:111,1
    - Dst: strlen
      Src: /src/gnutls/tests/dhepskself.c:111,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dhepskself.c:113,1
    - Dst: success
      Src: /src/gnutls/tests/dhepskself.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dhepskself.c:119,1
    - Dst: printf
      Src: /src/gnutls/tests/dhepskself.c:124,1
    - Dst: fputc
      Src: /src/gnutls/tests/dhepskself.c:126,1
    - Dst: fputs
      Src: /src/gnutls/tests/dhepskself.c:127,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dhepskself.c:130,1
    - Dst: close
      Src: /src/gnutls/tests/dhepskself.c:134,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhepskself.c:136,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/dhepskself.c:138,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dhepskself.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 141
    functionName: client
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 116
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - print_dh_params_info
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dhepskself.c:155,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dhepskself.c:160,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/dhepskself.c:163,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/dhepskself.c:163,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dhepskself.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: initialize_tls_session
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 3
    functionsReached:
    - gnutls_credentials_set
    - get_timeout
    - gnutls_handshake_set_timeout
    - gnutls_priority_set_direct
    - gnutls_init
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t initialize_tls_session(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/dhepskself.c:173,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/dhepskself.c:179,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/dhepskself.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: generate_dh_params
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 4
    functionsReached:
    - gnutls_dh_params_init
    - gnutls_dh_params_import_pkcs3
    - strlen
    linkageType: ''
    returnType: int
    signature: int generate_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/dhepskself.c:188,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/dhepskself.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/dhepskself.c:208,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dhepskself.c:210,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dhepskself.c:212,1
    - Dst: generate_dh_params
      Src: /src/gnutls/tests/dhepskself.c:214,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/dhepskself.c:216,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/dhepskself.c:217,1
    - Dst: gnutls_psk_set_server_dh_params
      Src: /src/gnutls/tests/dhepskself.c:218,1
    - Dst: initialize_tls_session
      Src: /src/gnutls/tests/dhepskself.c:220,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dhepskself.c:222,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dhepskself.c:223,1
    - Dst: close
      Src: /src/gnutls/tests/dhepskself.c:225,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhepskself.c:226,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dhepskself.c:228,1
    - Dst: success
      Src: /src/gnutls/tests/dhepskself.c:232,1
    - Dst: print_dh_params_info
      Src: /src/gnutls/tests/dhepskself.c:234,1
    - Dst: memset
      Src: /src/gnutls/tests/dhepskself.c:240,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dhepskself.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/dhepskself.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:248,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dhepskself.c:254,1
    - Dst: strlen
      Src: /src/gnutls/tests/dhepskself.c:254,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/dhepskself.c:259,1
    - Dst: close
      Src: /src/gnutls/tests/dhepskself.c:261,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dhepskself.c:262,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/dhepskself.c:264,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/dhepskself.c:266,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/dhepskself.c:268,1
    - Dst: success
      Src: /src/gnutls/tests/dhepskself.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 272
    functionName: server
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 136
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_global_deinit
    - gnutls_deinit
    - gnutls_bye
    - gnutls_dh_params_deinit
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - print_dh_params_info
    - gnutls_record_send
    - close
    - initialize_tls_session
    - memset
    - gnutls_transport_set_int
    - success
    - strlen
    - generate_dh_params
    - gnutls_psk_set_server_dh_params
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_psk_set_server_credentials_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dhepskself.c:279,1
    - Dst: perror
      Src: /src/gnutls/tests/dhepskself.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:282,1
    - Dst: fork
      Src: /src/gnutls/tests/dhepskself.c:286,1
    - Dst: perror
      Src: /src/gnutls/tests/dhepskself.c:288,1
    - Dst: fail
      Src: /src/gnutls/tests/dhepskself.c:289,1
    - Dst: close
      Src: /src/gnutls/tests/dhepskself.c:296,1
    - Dst: server
      Src: /src/gnutls/tests/dhepskself.c:297,1
    - Dst: wait
      Src: /src/gnutls/tests/dhepskself.c:298,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/dhepskself.c:299,1
    - Dst: close
      Src: /src/gnutls/tests/dhepskself.c:301,1
    - Dst: client
      Src: /src/gnutls/tests/dhepskself.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/dhepskself.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 305
    functionName: doit
    functionSourceFile: /src/gnutls/tests/dhepskself.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/mini-x509.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/mini-x509.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/mini-x509.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/mini-x509.c:65,1
    - Dst: global_init
      Src: /src/gnutls/tests/mini-x509.c:68,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/mini-x509.c:69,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/mini-x509.c:71,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/mini-x509.c:73,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509.c:76,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/mini-x509.c:77,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509.c:80,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509.c:82,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509.c:83,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509.c:84,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509.c:85,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/mini-x509.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:90,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/mini-x509.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/mini-x509.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:99,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/mini-x509.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:104,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/mini-x509.c:106,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/mini-x509.c:107,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/mini-x509.c:108,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/mini-x509.c:109,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/mini-x509.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509.c:113,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/mini-x509.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509.c:115,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/mini-x509.c:115,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/tests/mini-x509.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509.c:129,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/mini-x509.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/mini-x509.c:130,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/tests/mini-x509.c:130,1
    - Dst: memset
      Src: /src/gnutls/tests/mini-x509.c:138,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/mini-x509.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:150,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509.c:156,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:162,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/tests/mini-x509.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:170,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:177,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/mini-x509.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509.c:185,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:191,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/tests/mini-x509.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:197,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:204,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/mini-x509.c:208,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/mini-x509.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/mini-x509.c:217,1
    - Dst: gnutls_certificate_activation_time_peers
      Src: /src/gnutls/tests/mini-x509.c:225,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:227,1
    - Dst: gnutls_certificate_expiration_time_peers
      Src: /src/gnutls/tests/mini-x509.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:234,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-x509.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:243,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/mini-x509.c:247,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/mini-x509.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:250,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/tests/mini-x509.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/mini-x509.c:256,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509.c:261,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/mini-x509.c:262,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509.c:264,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/mini-x509.c:265,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509.c:267,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/mini-x509.c:268,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/mini-x509.c:270,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/mini-x509.c:272,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 134
    argCount: 2
    argNames:
    - prio
    - expect_max
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 273
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 273
    functionName: start
    functionSourceFile: /src/gnutls/tests/mini-x509.c
    functionUses: 156
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_verify_peers2
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_session_ext_master_secret_status
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - reset_buffers
    - gnutls_init
    - gnutls_certificate_expiration_time_peers
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_certificate_activation_time_peers
    - success
    - assert
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_certificate_verify_peers3
    - HANDSHAKE
    - gnutls_certificate_get_peers
    - gnutls_certificate_get_ours
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_certificate_verify_peers
    - global_init
    - gnutls_certificate_type_get
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned expect_max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/mini-x509.c:277,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509.c:278,1
    - Dst: start
      Src: /src/gnutls/tests/mini-x509.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: doit
    functionSourceFile: /src/gnutls/tests/mini-x509.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:76,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:80,1
    - Dst: memcmp
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gnutls_ocsp_status_request_get
    - fail
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:111,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:112,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:114,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:118,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:119,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:119,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:121,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:123,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:128,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:129,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:129,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:130,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:131,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:131,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:131,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:133,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:138,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:142,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:146,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:147,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:147,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:149,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:149,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:149,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:151,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:156,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:161,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:162,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:162,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:164,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:164,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:164,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:166,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:169,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:173,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:174,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:174,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:175,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:175,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:175,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:176,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:178,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:181,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:187,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:187,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:188,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:189,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:189,1
    - Dst: strlen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:189,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:191,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:194,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:195,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:198,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:198,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:199,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:205,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:207,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:214,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:217,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:220,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:221,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:221,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:222,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:224,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:227,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:230,1
    - Dst: fopen
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:233,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:234,1
    - Dst: fwrite
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:234,1
    - Dst: fclose
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:235,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:240,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:240,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:243,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:243,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:249,1
    - Dst: gnutls_certificate_get_verify_flags
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:251,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:253,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:258,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:258,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:261,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:264,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:267,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:272,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:275,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:278,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:283,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:284,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:285,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:286,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:287,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:288,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:289,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:290,1
    - Dst: remove
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 292
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_get_verify_flags
    - gnutls_certificate_set_verify_flags
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - gnutls_certificate_set_ocsp_status_request_file
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_ocsp_multi_invalid.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:57,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/name-constraints-ip.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: check_for_error
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 2
    functionsReached:
    - fail_msg
    - gnutls_strerror
    linkageType: ''
    returnType: void
    signature: void check_for_error(int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ip_to_string
      Src: /src/gnutls/tests/name-constraints-ip.c:68,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:71,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ret
    - expected_outcome
    - tested_ip
    argTypes:
    - int
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: check_test_result
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 2
    functionsReached:
    - fail_msg
    - _gnutls_ip_to_string
    linkageType: ''
    returnType: void
    signature: "void check_test_result(int ret, int expected_outcome,\n\t\t\t      gnutls_datum_t
      *tested_ip)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/name-constraints-ip.c:83,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cidr
    - datum
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: parse_cidr
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - check_for_error
    linkageType: ''
    returnType: void
    signature: void parse_cidr(const char *cidr, gnutls_datum_t *datum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/name-constraints-ip.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/name-constraints-ip.c:135,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/name-constraints-ip.c:136,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/name-constraints-ip.c:140,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:141,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/name-constraints-ip.c:143,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:144,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:148,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:149,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:152,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:154,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:155,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:158,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:160,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-ip.c:161,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:164,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:166,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-ip.c:167,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:170,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:174,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-ip.c:176,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:179,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:181,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:183,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:186,1
    - Dst: gnutls_x509_crt_set_name_constraints
      Src: /src/gnutls/tests/name-constraints-ip.c:188,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:189,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:195,1
    - Dst: _gnutls_cidr_to_string
      Src: /src/gnutls/tests/name-constraints-ip.c:198,1
    - Dst: printf
      Src: /src/gnutls/tests/name-constraints-ip.c:200,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:205,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/tests/name-constraints-ip.c:212,1
    - Dst: _gnutls_cidr_to_string
      Src: /src/gnutls/tests/name-constraints-ip.c:215,1
    - Dst: printf
      Src: /src/gnutls/tests/name-constraints-ip.c:217,1
    - Dst: fail_msg
      Src: /src/gnutls/tests/name-constraints-ip.c:222,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:229,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:231,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:232,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:234,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:236,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:237,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:239,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:241,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:242,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:244,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:246,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:247,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:249,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:251,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:252,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:254,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:256,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:257,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/name-constraints-ip.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 260
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 260
    functionName: check_generation_reading_basic_checking
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_name_constraints_get_permitted
    - gnutls_x509_name_constraints_check
    - fail_msg
    - gnutls_x509_name_constraints_add_excluded
    - gnutls_x509_crt_set_name_constraints
    - _gnutls_cidr_to_string
    - check_for_error
    - gnutls_x509_name_constraints_get_excluded
    - check_test_result
    - printf
    - parse_cidr
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void check_generation_reading_basic_checking(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:269,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/tests/name-constraints-ip.c:270,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:272,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:274,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:276,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:277,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:279,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:281,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 283
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 283
    functionName: check_universal_constraint_checking
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_check
    - gnutls_x509_name_constraints_add_excluded
    - check_test_result
    - check_for_error
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_universal_constraint_checking(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:297,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:298,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:300,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:301,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:302,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:304,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:305,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:306,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:308,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:310,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:311,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:313,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:315,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:316,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:318,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:320,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 322
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 322
    functionName: check_simple_intersection
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_simple_intersection(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:336,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:337,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:339,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:340,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:341,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:343,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:344,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:345,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:347,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:349,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:350,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:352,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:354,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:355,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:357,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:359,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 361
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 361
    functionName: check_empty_intersection
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_empty_intersection(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:375,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:376,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:378,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:379,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:380,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:382,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:383,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:384,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:386,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:387,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:388,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:390,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:392,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:393,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:395,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:397,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:398,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:400,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:402,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:403,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:405,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:407,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 409
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 409
    functionName: check_mediocre_intersection
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_mediocre_intersection(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:423,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:424,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:426,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:427,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:428,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:430,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:431,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:432,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:434,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:435,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:436,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:438,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:439,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:440,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:442,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:443,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:444,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:446,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:448,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:449,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:451,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:453,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:454,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:456,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:458,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:459,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:461,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:463,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:464,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:466,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:468,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:469,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:471,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:473,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:474,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:476,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:478,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:479,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:481,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:483,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 485
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 485
    functionName: check_difficult_intersection
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_difficult_intersection(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:499,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:500,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:502,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:503,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:504,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:506,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:507,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:508,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:510,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:511,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:512,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:514,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:516,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:517,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:519,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:521,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:522,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:524,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:526,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:527,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:529,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:531,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:532,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:534,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:536,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:537,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:539,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:541,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:542,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:544,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:546,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 548
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 548
    functionName: check_ipv6_intersection
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_ipv6_intersection(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:566,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:567,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:569,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:570,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:571,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:573,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:574,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:575,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:577,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:578,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:579,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:581,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:583,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:584,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:586,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:588,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:589,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:591,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:593,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:594,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:596,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:598,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:599,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:601,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:603,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 605
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 605
    functionName: check_empty_ipv4_intersection_ipv6_remains
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_empty_ipv4_intersection_ipv6_remains(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:624,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:625,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:627,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:628,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:629,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:631,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:632,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:633,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:635,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:636,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:637,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:639,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:640,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:641,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:643,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:645,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:646,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:648,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:650,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:651,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:653,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:655,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:656,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:658,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:660,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:661,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:663,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:665,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:666,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:668,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:670,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 672
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 672
    functionName: check_empty_ipv4v6_intersections
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_empty_ipv4v6_intersections(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:689,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:690,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:692,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:693,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/tests/name-constraints-ip.c:694,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:696,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/tests/name-constraints-ip.c:697,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:698,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:700,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:702,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:703,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:705,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:707,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:708,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:710,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:712,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:713,1
    - Dst: parse_cidr
      Src: /src/gnutls/tests/name-constraints-ip.c:715,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/tests/name-constraints-ip.c:717,1
    - Dst: check_test_result
      Src: /src/gnutls/tests/name-constraints-ip.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - glob_state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 719
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 719
    functionName: check_ipv4v6_single_constraint_each
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_add_permitted
    - gnutls_x509_name_constraints_check
    - check_test_result
    - check_for_error
    - _gnutls_x509_name_constraints_merge
    - parse_cidr
    linkageType: ''
    returnType: void
    signature: void check_ipv4v6_single_constraint_each(void **glob_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/name-constraints-ip.c:723,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-ip.c:730,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:731,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/tests/name-constraints-ip.c:732,1
    - Dst: check_for_error
      Src: /src/gnutls/tests/name-constraints-ip.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 737
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 737
    functionName: setup
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_name_constraints_init
    - check_for_error
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int setup(void **state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/name-constraints-ip.c:742,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-ip.c:743,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/tests/name-constraints-ip.c:744,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/name-constraints-ip.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: teardown
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_name_constraints_deinit
    linkageType: ''
    returnType: int
    signature: int teardown(void **state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:752,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:755,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:757,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:759,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:761,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:763,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:765,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:767,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:770,1
    - Dst: cmocka_unit_test_setup_teardown
      Src: /src/gnutls/tests/name-constraints-ip.c:772,1
    - Dst: cmocka_run_group_tests
      Src: /src/gnutls/tests/name-constraints-ip.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 776
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 776
    functionName: main
    functionSourceFile: /src/gnutls/tests/name-constraints-ip.c
    functionUses: 4
    functionsReached:
    - cmocka_run_group_tests
    - cmocka_unit_test_setup_teardown
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/set_x509_key_mem.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/set_x509_key_mem.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/set_x509_key_mem.c:63,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/set_x509_key_mem.c:65,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/set_x509_key_mem.c:67,1
    - Dst: assert
      Src: /src/gnutls/tests/set_x509_key_mem.c:69,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:69,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:70,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/set_x509_key_mem.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_mem.c:75,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/set_x509_key_mem.c:75,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/set_x509_key_mem.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_mem.c:80,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_mem.c:81,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:84,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:87,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/set_x509_key_mem.c:88,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/set_x509_key_mem.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_mem.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_mem.c:96,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/set_x509_key_mem.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/set_x509_key_mem.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/set_x509_key_mem.c:104,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_mem.c:107,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/set_x509_key_mem.c:109,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:112,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/set_x509_key_mem.c:113,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/set_x509_key_mem.c:115,1
    - Dst: success
      Src: /src/gnutls/tests/set_x509_key_mem.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 119
    functionName: doit
    functionSourceFile: /src/gnutls/tests/set_x509_key_mem.c
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_flags
    - assert
    - gnutls_strerror
    - exit
    - test_cli_serv
    - gnutls_global_deinit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_set_x509_trust_mem
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls12-ffdhe.c:59,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: serv_psk_func
    functionSourceFile: /src/gnutls/tests/tls12-ffdhe.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int serv_psk_func(gnutls_session_t session, const char *username,\n\t\t\t
      gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls12-ffdhe.c:82,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-ffdhe.c:83,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-ffdhe.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:89,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:90,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:91,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:92,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:93,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:94,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-ffdhe.c:96,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:97,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-ffdhe.c:97,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:104,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:109,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/tls12-ffdhe.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:116,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-ffdhe.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:123,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-ffdhe.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:129,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-ffdhe.c:129,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:135,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:136,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-ffdhe.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:139,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:139,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-ffdhe.c:142,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-ffdhe.c:143,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-ffdhe.c:144,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:145,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-ffdhe.c:145,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-ffdhe.c:147,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-ffdhe.c:148,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-ffdhe.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/tls12-ffdhe.c:150,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-ffdhe.c:150,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/tls12-ffdhe.c:152,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls12-ffdhe.c:154,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls12-ffdhe.c:154,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-ffdhe.c:155,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls12-ffdhe.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-ffdhe.c:159,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls12-ffdhe.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-ffdhe.c:170,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls12-ffdhe.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-ffdhe.c:176,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-ffdhe.c:181,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-ffdhe.c:182,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:183,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:184,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:185,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:186,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:187,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-ffdhe.c:188,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-ffdhe.c:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_case_st*
    constantsTouched: []
    func_position:
      end: 191
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 191
    functionName: try
    functionSourceFile: /src/gnutls/tests/tls12-ffdhe.c
    functionUses: 29
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - reset_buffers
    - gnutls_psk_allocate_server_credentials
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_group_get
    - success
    - assert
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - gnutls_psk_set_client_credentials
    - gnutls_fips140_mode_enabled
    - gnutls_psk_allocate_client_credentials
    - gnutls_psk_set_server_credentials_function
    - HANDSHAKE_EXPECT
    - fail
    linkageType: ''
    returnType: void
    signature: void try(test_case_st *test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-ffdhe.c:397,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-ffdhe.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-ffdhe.c
    functionUses: 1
    functionsReached:
    - global_init
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/ssl30-cipher-neg.c:113,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/ssl30-cipher-neg.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/ssl30-cipher-neg.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: doit
    functionSourceFile: /src/gnutls/tests/ssl30-cipher-neg.c
    functionUses: 1
    functionsReached:
    - global_init
    - exit
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls12-invalid-key-exchanges.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:59,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:69,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:71,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:72,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:77,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:77,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:80,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:81,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:82,1
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:85,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:87,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:89,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:93,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:96,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:97,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:98,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:107,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:110,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:113,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:121,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:123,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:125,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:127,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:129,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:132,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:134,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:135,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:136,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:138,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:142,1
    - Dst: success
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:144,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:148,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:151,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:152,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:153,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 10
    argNames:
    - name
    - server_prio
    - client_prio
    - serv_cert
    - serv_key
    - client_cert
    - client_key
    - cert_flags
    - exp_error_server
    - exp_error_client
    argTypes:
    - char*
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 155
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/tls12-invalid-key-exchanges.c
    functionUses: 8
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_deinit
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - gnutls_certificate_server_set_request
    - HANDSHAKE_EXPECT
    - reset_buffers
    - gnutls_dh_params_init
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_anon_set_server_dh_params
    - exit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_dh_params_import_pkcs3
    - gnutls_certificate_set_dh_params
    - gnutls_strerror
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *server_prio,\n\t\t\t
      const char *client_prio,\n\t\t\t const gnutls_datum_t *serv_cert,\n\t\t\t const
      gnutls_datum_t *serv_key,\n\t\t\t const gnutls_datum_t *client_cert,\n\t\t\t
      const gnutls_datum_t *client_key, unsigned cert_flags,\n\t\t\t int exp_error_server,
      int exp_error_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:159,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:161,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:163,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:167,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:173,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls12-invalid-key-exchanges.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls12-invalid-key-exchanges.c
    functionUses: 1
    functionsReached:
    - try_with_key
    - gnutls_global_deinit
    - global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/priority-set.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/priority-set.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/priority-set.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/priority-set.c:72,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/priority-set.c:73,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/priority-set.c:75,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/priority-set.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-set.c:79,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/tests/priority-set.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-set.c:82,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/priority-set.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-set.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-set.c:87,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/tests/priority-set.c:88,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/tests/priority-set.c:89,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-set.c:90,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-set.c:91,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-set.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/priority-set.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set.c:97,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/priority-set.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set.c:102,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/priority-set.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/priority-set.c:108,1
    - Dst: exit
      Src: /src/gnutls/tests/priority-set.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/priority-set.c:113,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/priority-set.c:113,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/priority-set.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/priority-set.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/priority-set.c:116,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/priority-set.c:118,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-set.c:120,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/priority-set.c:121,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-set.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/priority-set.c:123,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/priority-set.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 126
    functionName: doit
    functionSourceFile: /src/gnutls/tests/priority-set.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_priority_deinit
    - gnutls_priority_set
    - global_init
    - gnutls_priority_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_token_get_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: verify_rsa_pss_presence
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_token_get_mechanism
    linkageType: ''
    returnType: unsigned
    signature: unsigned verify_rsa_pss_presence(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:102,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:104,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:106,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:111,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:114,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:115,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:117,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:119,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:120,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:124,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:126,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:129,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:130,1
    - Dst: verify_rsa_pss_presence
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:133,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:136,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:143,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:149,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:150,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:151,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:155,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:157,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:158,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:161,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:165,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:173,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:180,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:186,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:187,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:195,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:205,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:206,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:207,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:210,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:211,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:214,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:214,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:216,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:222,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:225,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:225,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:226,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:226,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:228,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:228,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:229,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:229,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:238,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:241,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:244,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:247,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:248,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:251,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:254,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:255,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:257,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:260,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:261,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:262,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:264,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c:266,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 267
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-rsa-pss-privkey-test.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_privkey_import_pkcs11_url
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_init
    - gnutls_pubkey_import_x509_raw
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_token_set_pin
    - gnutls_pubkey_verify_data2
    - softhsm_bin
    - system
    - verify_rsa_pss_presence
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - assert
    - gnutls_privkey_sign_data2
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - myfail
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:73,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:75,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:80,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:81,1
    - Dst: gnutls_x509_crt_equals2
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:85,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pcert
    - i
    argTypes:
    - gnutls_pcert_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: comp_cert
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_crt_equals2
    linkageType: ''
    returnType: int
    signature: int comp_cert(gnutls_pcert_st *pcert, unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:103,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:106,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:109,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:111,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:117,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:119,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - url
    - i
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: load_cert
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_import
    - success
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - snprintf
    - gnutls_pkcs11_copy_x509_crt
    - fail
    linkageType: ''
    returnType: void
    signature: void load_cert(const char *url, unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:126,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:127,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:128,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:129,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: load_chain
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 0
    functionsReached:
    - load_cert
    linkageType: ''
    returnType: void
    signature: void load_chain(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:136,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:137,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:137,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:138,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:138,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:139,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:139,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:140,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:140,1
    - Dst: fwrite
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:141,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:141,1
    - Dst: fclose
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: write_certs
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 0
    functionsReached:
    - fopen
    - assert
    - fclose
    - strlen
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write_certs(const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:156,1
    - Dst: track_temp_files
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:158,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:159,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:161,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:165,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:166,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:169,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:170,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:172,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:174,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:175,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:179,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:181,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:183,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:184,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:190,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:196,1
    - Dst: load_chain
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:199,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:200,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:202,1
    - Dst: gnutls_pcert_list_import_x509_file
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:204,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:208,1
    - Dst: gnutls_pcert_list_import_x509_file
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:216,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:218,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:221,1
    - Dst: comp_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:221,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:224,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:228,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:229,1
    - Dst: write_certs
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:231,1
    - Dst: gnutls_pcert_list_import_x509_file
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:234,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:237,1
    - Dst: gnutls_pcert_list_import_x509_file
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:244,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:246,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:249,1
    - Dst: comp_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:249,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:252,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:254,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:255,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 258
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_pcert_list_import_x509_file.c
    functionUses: 1
    functionsReached:
    - gnutls_pcert_list_import_x509_file
    - load_chain
    - track_temp_files
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_global_set_log_function
    - gnutls_pkcs11_token_set_pin
    - softhsm_bin
    - system
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - write_certs
    - exit
    - success
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - assert
    - gnutls_global_set_log_level
    - comp_cert
    - get_tmpname
    - delete_temp_files
    - gnutls_strerror
    - remove
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_pcert_deinit
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:62,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:64,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:64,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:65,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:68,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:74,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:75,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:80,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:80,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:81,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:89,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:93,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:94,1
    - Dst: dlopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:105,1
    - Dst: dlsym
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:111,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:116,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:120,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:121,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:126,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:132,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 135
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-import-url-privkey.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_pkcs11_obj_deinit
    - gnutls_free
    - gnutls_global_deinit
    - dlopen
    - gnutls_pkcs11_init
    - fail
    - gnutls_pkcs11_obj_list_import_url4
    - dlsym
    - global_init
    - printf
    - gnutls_pkcs11_add_provider
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-is-known.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-is-known.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-is-known.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:353,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:354,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:360,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:362,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:364,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:366,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:368,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:368,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:369,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:372,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:373,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:374,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:376,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:378,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:379,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:383,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:385,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:387,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:388,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:389,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:394,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:396,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:398,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:399,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:400,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:404,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:406,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:409,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:411,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:412,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:413,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:416,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:418,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:420,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:424,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:426,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:428,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:429,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:430,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:434,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:436,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:438,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:439,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:440,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:444,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:446,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:448,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:450,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:452,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:452,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:453,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:453,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:456,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:458,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:460,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:461,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:462,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:466,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:468,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:470,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:471,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:472,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:476,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:479,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:481,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:482,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:488,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:489,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:495,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:496,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:502,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:504,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:506,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:508,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:512,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:515,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:516,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:518,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:520,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:524,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:526,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:529,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:530,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:534,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:537,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:538,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:540,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:542,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:547,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:548,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:551,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:556,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:557,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:560,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:565,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:566,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:573,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:576,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:577,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:581,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:584,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:585,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:590,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:592,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:593,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:597,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:599,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:600,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:604,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:609,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:610,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:613,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:618,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:619,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:623,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:626,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:627,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:630,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:634,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:635,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:638,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:643,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:644,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:647,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:652,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:653,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:656,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:660,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:662,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:663,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:664,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:666,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:669,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:671,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:674,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:675,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-is-known.c:677,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 202
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 678
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-is-known.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_x509_trust_list_deinit
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - softhsm_bin
    - system
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - gnutls_pkcs11_crt_is_known
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_get_issuer
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_x509_trust_list_add_trust_file
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:85,1
    - Dst: dlopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:96,1
    - Dst: dlsym
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:102,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:114,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:115,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:118,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:120,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:122,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:124,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:125,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:131,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:135,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:137,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:143,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:150,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:159,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:169,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:173,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:176,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:178,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:179,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c:180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 181
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-safenet-always-auth.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_deinit
    - printf
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - dlopen
    - gnutls_privkey_sign_hash
    - exit
    - assert
    - dlsym
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_token_get_mechanism
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: verify_eddsa_presence
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_token_get_mechanism
    linkageType: ''
    returnType: unsigned
    signature: unsigned verify_eddsa_presence(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:85,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:87,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:89,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:91,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:91,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:98,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:110,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:113,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:115,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:117,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:120,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:123,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:123,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - name
    - txtkey
    - exp_key_err
    - needs_decryption
    argTypes:
    - char*
    - gnutls_datum_t*
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 131
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 131
    functionName: load_virt_privkey
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 4
    functionsReached:
    - gnutls_strerror
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    - gnutls_privkey_init
    - gnutls_privkey_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_import_url
    - fail
    - testfail
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t load_virt_privkey(const char *name,\n\t\t\t\t\t  const
      gnutls_datum_t *txtkey,\n\t\t\t\t\t  int exp_key_err,\n\t\t\t\t\t  unsigned
      needs_decryption)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:154,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:156,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:158,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:160,1
    - Dst: gnutls_pcert_list_import_x509_raw
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:163,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:168,1
    - Dst: gnutls_certificate_set_key
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:171,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:174,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:177,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:178,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:180,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:180,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:184,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:185,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:186,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:192,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:194,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:196,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:200,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:202,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:203,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:204,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:206,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:209,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:210,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:213,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:216,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:219,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:220,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:222,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:222,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:224,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:228,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:230,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:232,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:235,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:238,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:240,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:242,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:243,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:246,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:248,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:251,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:254,1
    - Dst: testfail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:256,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:259,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:263,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:264,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:267,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:268,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:270,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:271,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 8
    argNames:
    - name
    - client_prio
    - client_kx
    - server_sign_algo
    - client_sign_algo
    - serv_cert
    - key
    - exp_serv_err
    argTypes:
    - char*
    - char*
    - gnutls_kx_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 272
    functionName: try_with_key
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 9
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_bye
    - gnutls_sign_get_name
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_sign_algorithm_get
    - gnutls_init
    - gnutls_transport_set_pull_function
    - testfail
    - gnutls_sign_algorithm_get_client
    - assert
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_key
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_pcert_list_import_x509_raw
    - gnutls_kx_get_name
    - HANDSHAKE
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: "void try_with_key(const char *name, const char *client_prio,\n\t\t\t
      gnutls_kx_algorithm_t client_kx,\n\t\t\t gnutls_sign_algorithm_t server_sign_algo,\n\t\t\t
      gnutls_sign_algorithm_t client_sign_algo,\n\t\t\t const gnutls_datum_t *serv_cert,
      gnutls_privkey_t key,\n\t\t\t int exp_serv_err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:431,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:432,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:435,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:437,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:439,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:441,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:443,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:445,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:448,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:449,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:450,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:454,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:456,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:458,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:458,1
    - Dst: verify_eddsa_presence
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:461,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:464,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:470,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:473,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:476,1
    - Dst: load_virt_privkey
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:482,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:487,1
    - Dst: try_with_key
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:489,1
    - Dst: gnutls_pkcs11_delete_url
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:492,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:494,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c:497,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 498
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-key.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_pkcs11_delete_url
    - gnutls_global_set_log_function
    - softhsm_bin
    - system
    - gnutls_pkcs11_add_provider
    - exit
    - success
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - assert
    - try_with_key
    - load_virt_privkey
    - verify_eddsa_presence
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_pkcs11_token_check_mechanism
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:75,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:75,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:81,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:83,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:87,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:89,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:90,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:96,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:100,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:102,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:104,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:110,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:116,1
    - Dst: gnutls_pubkey_export_rsa_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:121,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:122,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:125,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:126,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:130,1
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:135,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:136,1
    - Dst: gnutls_pubkey_export_rsa_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:142,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:145,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:146,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:147,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:148,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:148,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:150,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:151,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:152,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:154,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 157
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-export.c
    functionUses: 1
    functionsReached:
    - gnutls_pubkey_export_rsa_raw
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_privkey_set_pin_function
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - memcmp
    - gnutls_pubkey_import_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - exit
    - assert
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_C_GetMechanismInfo
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - slot_id
    - type
    - info
    argTypes:
    - CK_SLOT_ID
    - CK_MECHANISM_TYPE
    - CK_MECHANISM_INFO*
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: override_C_GetMechanismInfo
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock2.c
    functionUses: 0
    functionsReached:
    - base_C_GetMechanismInfo
    linkageType: ''
    returnType: CK_RV
    signature: "CK_RV override_C_GetMechanismInfo(CK_SLOT_ID slot_id,\n\t\t\t\t\t
      CK_MECHANISM_TYPE type,\n\t\t\t\t\t CK_MECHANISM_INFO *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:70,1
    - Dst: dlsym
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:72,1
    - Dst: func
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:77,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - function_list
    argTypes:
    - CK_FUNCTION_LIST**
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: C_GetFunctionList
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - func
    - dlsym
    linkageType: ''
    returnType: CK_RV
    signature: CK_RV C_GetFunctionList(CK_FUNCTION_LIST **function_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:94,1
    - Dst: dlopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: mock_init
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock2.c
    functionUses: 0
    functionsReached:
    - exit
    - softhsm_lib
    - dlopen
    linkageType: ''
    returnType: _CONSTRUCTOR
    signature: _CONSTRUCTOR mock_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock2.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: mock_deinit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock2.c
    functionUses: 0
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: _DESTRUCTOR
    signature: _DESTRUCTOR mock_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:54,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:56,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:57,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:60,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:65,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:66,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:69,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:71,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:71,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:72,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:75,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:77,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:77,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:78,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:81,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:81,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:88,1
    - Dst: gnutls_pkcs11_obj_get_exts
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:93,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:100,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:103,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:104,1
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:120,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:125,1
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:134,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:142,1
    - Dst: gnutls_x509_ext_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:148,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:150,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:152,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c:154,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 155
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-exts.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_x509_ext_deinit
    - strcmp
    - gnutls_pkcs11_obj_import_url
    - printf
    - gnutls_pkcs11_obj_deinit
    - getenv
    - gnutls_pkcs11_add_provider
    - exit
    - success
    - assert
    - gnutls_x509_ext_import_key_usage
    - gnutls_x509_ext_import_basic_constraints
    - gnutls_global_set_log_level
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - gnutls_free
    - global_init
    - fail
    - gnutls_pkcs11_obj_get_exts
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:63,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:65,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:65,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:66,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:69,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:71,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:73,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:79,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:79,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:80,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:85,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:86,1
    - Dst: gnutls_pkcs11_token_get_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:90,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:93,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:97,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:102,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:104,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:106,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:110,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:112,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 114
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - gnutls_strerror
    - success
    - gnutls_pkcs11_token_check_mechanism
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - printf
    - global_init
    - gnutls_pkcs11_deinit
    - gnutls_pkcs11_token_get_mechanism
    - getenv
    - gnutls_pkcs11_add_provider
    - fail
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mechanisms.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:63,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:65,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:65,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:66,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:69,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:73,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:75,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:76,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:79,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:81,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:82,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:87,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:91,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:92,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:92,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:99,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:106,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:107,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:112,1
    - Dst: gnutls_x509_crt_get_ca_status
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:122,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:123,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:134,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:137,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:138,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:140,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 143
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url-exts.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - printf
    - gnutls_x509_crt_get_ca_status
    - gnutls_global_set_time_function
    - gnutls_x509_crt_equals
    - getenv
    - gnutls_x509_crt_get_key_usage
    - gnutls_pkcs11_add_provider
    - exit
    - success
    - assert
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_x509_crt_import_url
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:99,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:102,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:104,1
    - Dst: pthread_exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: start_thread
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_sign_data
    - pthread_exit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void *start_thread(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:118,1
    - Dst: abort
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:120,1
    - Dst: pthread_create
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:126,1
    - Dst: pthread_join
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:133,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: do_thread_stuff
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 5
    functionsReached:
    - abort
    - calloc
    - pthread_join
    - free
    - pthread_create
    - fail
    linkageType: ''
    returnType: void
    signature: void do_thread_stuff(gnutls_privkey_t pkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:146,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:148,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:149,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:151,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:153,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:160,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:165,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:166,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:169,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:169,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:171,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:175,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:176,1
    - Dst: fork
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:182,1
    - Dst: waitpid
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:184,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:185,1
    - Dst: do_thread_stuff
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:189,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 193
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-pthread.c
    functionUses: 1
    functionsReached:
    - fork
    - do_thread_stuff
    - gnutls_pkcs11_init
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - signal
    - getenv
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - check_wait_status
    - gnutls_global_set_log_level
    - gnutls_strerror
    - waitpid
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:87,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:88,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:94,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:106,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:107,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:110,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:112,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:117,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:120,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:121,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:122,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:124,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:128,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:129,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:133,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:135,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:139,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:144,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:149,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:150,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:154,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:156,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:159,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:162,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:163,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:166,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:170,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:174,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:176,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:179,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:180,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:184,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:186,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:189,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:190,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:194,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:196,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:198,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:199,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:202,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:207,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:208,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:217,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:218,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:221,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:223,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:226,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:227,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:232,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:239,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:240,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:242,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:248,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:249,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:252,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:253,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:257,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:259,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:260,1
    - Dst: gnutls_x509_crt_get_raw_issuer_dn
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:267,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:268,1
    - Dst: gnutls_x509_trust_list_get_issuer_by_dn
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:271,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:272,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:274,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:278,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:279,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:281,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:284,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:286,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:287,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:289,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:291,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:293,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:296,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:297,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c:299,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 300
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-issuer.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_x509_trust_list_deinit
    - strcmp
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - softhsm_bin
    - system
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_x509_trust_list_get_issuer
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_x509_crt_get_raw_issuer_dn
    - gnutls_x509_trust_list_get_issuer_by_dn
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_x509_trust_list_add_trust_file
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c:50,1
    - Dst: gnutls_pkcs11_get_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c:52,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c:54,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pin-func.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_pkcs11_set_pin_function
    - gnutls_pkcs11_get_pin_function
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:95,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:95,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:96,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:101,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:103,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:110,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:119,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:119,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:121,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:127,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:132,1
    - Dst: gnutls_pkcs11_obj_get_ptr
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:134,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:139,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:142,1
    - Dst: struct ck_function_list*::C_GetInfo
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:154,1
    - Dst: struct ck_function_list*::C_GetTokenInfo
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:158,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:163,1
    - Dst: struct ck_function_list*::C_SignInit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:172,1
    - Dst: struct ck_function_list*::C_Sign
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:178,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:179,1
    - Dst: struct ck_function_list*::C_CloseSession
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:182,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 186
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c
    functionUses: 1
    functionsReached:
    - struct ck_function_list*::C_Sign
    - gnutls_global_deinit
    - gnutls_pkcs11_obj_set_pin_function
    - gnutls_pkcs11_init
    - gnutls_pkcs11_obj_import_url
    - struct ck_function_list*::C_CloseSession
    - gnutls_global_set_log_function
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_add_provider
    - exit
    - assert
    - struct ck_function_list*::C_SignInit
    - gnutls_pkcs11_obj_get_ptr
    - struct ck_function_list*::C_GetInfo
    - struct ck_function_list*::C_GetTokenInfo
    - gnutls_global_set_log_level
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-raw.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:80,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:81,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:87,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:90,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:92,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:97,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:100,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:101,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:102,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:104,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:106,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:107,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:111,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:113,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:116,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:117,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:134,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:136,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:138,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:144,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:150,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:151,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:155,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:157,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:160,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:162,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:166,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:169,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:172,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:174,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:178,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:180,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:182,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:184,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:188,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:190,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:192,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:193,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:194,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:198,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:200,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:202,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:203,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:206,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:212,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:216,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:223,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:226,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:228,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:231,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:232,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:237,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:238,1
    - Dst: gnutls_x509_trust_list_iter_get_ca
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:243,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:251,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:257,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:259,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:263,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:265,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:268,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:271,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:272,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:273,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:285,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:289,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:291,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:292,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:297,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:299,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:302,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:305,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:306,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:311,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:317,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:319,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:322,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:324,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:325,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:327,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:330,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:333,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:336,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:337,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c:339,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 154
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 340
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-chainverify.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_export2
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - softhsm_bin
    - memcmp
    - system
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - gnutls_certificate_verification_status_print
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_iter_get_ca
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_x509_trust_list_add_trust_file
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:92,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:99,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:101,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:110,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:110,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:112,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:112,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:117,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:122,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:124,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:129,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:133,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:136,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:138,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:142,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:145,1
    - Dst: close
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:148,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 153
    functionName: client
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 118
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - exit
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:167,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:170,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:171,1
    - Dst: setenv
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:175,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:177,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:179,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:185,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:185,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:186,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:191,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:191,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:192,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:195,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:197,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:199,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:202,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:205,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:206,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:207,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:211,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:213,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:214,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:219,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:220,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:221,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:224,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:228,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:229,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:235,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:236,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:239,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:242,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:242,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:243,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:250,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:250,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:251,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:261,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:262,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:263,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:266,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:267,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:269,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:269,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:271,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:273,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:273,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:275,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:275,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:281,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:286,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:289,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:292,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:293,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:296,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:296,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:299,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:301,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:303,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:305,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:308,1
    - Dst: close
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:311,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:312,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:314,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:316,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:319,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 96
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 320
    functionName: server
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 137
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_pkcs11_init
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_certificate_set_x509_key_file
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_token_set_pin
    - close
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_pkcs11_token_init
    - getenv
    - gnutls_pkcs11_add_provider
    - gnutls_transport_set_int
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - gnutls_x509_crt_init
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - setenv
    - global_init
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:331,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:332,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:335,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:338,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:340,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:341,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:345,1
    - Dst: signal
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:347,1
    - Dst: signal
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:348,1
    - Dst: socketpair
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:350,1
    - Dst: perror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:352,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:353,1
    - Dst: fork
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:356,1
    - Dst: perror
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:358,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:359,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:360,1
    - Dst: close
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:365,1
    - Dst: server
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:366,1
    - Dst: kill
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:367,1
    - Dst: wait
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:368,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:369,1
    - Dst: close
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:371,1
    - Dst: client
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:372,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 375
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/tls-neg-pkcs11-no-key.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - softhsm_lib
    - kill
    - check_wait_status
    - signal
    - softhsm_bin
    - set_softhsm_conf
    - snprintf
    - close
    - gnutls_fips140_mode_enabled
    - system
    - socketpair
    - server
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:72,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:74,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:74,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:77,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:78,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:80,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:80,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:83,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crt1
    - i
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: comp_cert
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_crt_equals
    - fail
    linkageType: ''
    returnType: void
    signature: void comp_cert(gnutls_x509_crt_t crt1, unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:96,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:98,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:101,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:104,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:104,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:106,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:114,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - url
    - i
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: load_cert
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_import
    - success
    - strlen
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - snprintf
    - gnutls_pkcs11_copy_x509_crt
    - fail
    linkageType: ''
    returnType: void
    signature: void load_cert(const char *url, unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:121,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:122,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:123,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:124,1
    - Dst: load_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: load_chain
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 1
    functionsReached:
    - load_cert
    linkageType: ''
    returnType: void
    signature: void load_chain(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:137,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:139,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:141,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:146,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:149,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:150,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:152,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:154,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:155,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:159,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:161,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:163,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:164,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:170,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:170,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:176,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:176,1
    - Dst: load_chain
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:179,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:180,1
    - Dst: gnutls_x509_crt_list_import_url
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:183,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:187,1
    - Dst: gnutls_x509_crt_list_import_url
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:190,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:195,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:197,1
    - Dst: comp_cert
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:200,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:203,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:204,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:206,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:207,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 210
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/gnutls_x509_crt_list_import_url.c
    functionUses: 1
    functionsReached:
    - load_chain
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_global_set_log_function
    - gnutls_x509_crt_list_import_url
    - gnutls_pkcs11_token_set_pin
    - softhsm_bin
    - system
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_deinit
    - gnutls_global_set_log_level
    - comp_cert
    - delete_temp_files
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:86,1
    - Dst: dlopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:96,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:97,1
    - Dst: dlsym
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:103,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:116,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:119,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:121,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:125,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:126,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:129,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:132,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:136,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:138,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:140,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:143,1
    - Dst: gnutls_pkcs11_obj_get_flags
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:145,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:149,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:151,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:153,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:154,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:156,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:162,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:174,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:178,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:183,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:183,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:188,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:192,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:195,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:197,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:198,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 200
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-always-auth.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_obj_set_pin_function
    - gnutls_pkcs11_init
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_deinit
    - gnutls_pkcs11_obj_get_flags
    - gnutls_pkcs11_obj_import_url
    - gnutls_privkey_init
    - printf
    - gnutls_global_set_log_function
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - dlopen
    - gnutls_privkey_sign_hash
    - exit
    - assert
    - dlsym
    - gnutls_global_set_log_level
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_token_get_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: verify_eddsa_presence
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_token_get_mechanism
    linkageType: ''
    returnType: unsigned
    signature: unsigned verify_eddsa_presence(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:103,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:107,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:111,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:114,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:116,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:117,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:122,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:122,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:125,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:127,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:134,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:145,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:149,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:150,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:150,1
    - Dst: gnutls_pkcs11_copy_pubkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:156,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:156,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:159,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:160,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:161,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:164,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:164,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:168,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:168,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:170,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:173,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:177,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:177,1
    - Dst: gnutls_pubkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:181,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:186,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:186,1
    - Dst: gnutls_pubkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:191,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:194,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:194,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:195,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:195,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:197,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:198,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:198,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:204,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:207,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:210,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:214,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:217,1
    - Dst: myfail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:221,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:223,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:227,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:228,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:229,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:230,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:231,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 4
    argNames:
    - name
    - cert_pem
    - key_pem
    - sigalgo
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 232
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 232
    functionName: test
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c
    functionUses: 31
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_privkey_import_pkcs11_url
    - snprintf
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - gnutls_x509_privkey_deinit
    - printf
    - gnutls_privkey_init
    - gnutls_pubkey_import_x509_raw
    - gnutls_x509_crt_import
    - gnutls_pkcs11_copy_pubkey
    - gnutls_pubkey_verify_data2
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_import_pkcs11_url
    - success
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_set_pin_function
    - gnutls_privkey_sign_data2
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - myfail
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_strerror
    - gnutls_free
    - fail
    linkageType: ''
    returnType: void
    signature: "void test(const char *name, const gnutls_datum_t *cert_pem,\n\t\t
      const gnutls_datum_t *key_pem, gnutls_sign_algorithm_t sigalgo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:240,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:242,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:246,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:246,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:249,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:250,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:254,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:255,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:257,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:259,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:260,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:260,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:264,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:266,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:268,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:268,1
    - Dst: verify_eddsa_presence
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:271,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:272,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:274,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:278,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:280,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:283,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:286,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:286,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:289,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:293,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:295,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:298,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 301
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-eddsa-privkey-test.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_global_set_log_function
    - gnutls_pkcs11_token_set_pin
    - softhsm_bin
    - system
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - assert
    - exit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - test
    - verify_eddsa_presence
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_C_GetAttributeValue
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:83,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:99,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - hSession
    - hObject
    - pTemplate
    - ulCount
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 113
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 113
    functionName: override_C_GetAttributeValue
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - base_C_GetAttributeValue
    linkageType: ''
    returnType: CK_RV
    signature: "CK_RV override_C_GetAttributeValue(CK_SESSION_HANDLE hSession,\n\t\t\t\t\t
      \ CK_OBJECT_HANDLE hObject,\n\t\t\t\t\t  CK_ATTRIBUTE_PTR pTemplate,\n\t\t\t\t\t
      \ CK_ULONG ulCount)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:120,1
    - Dst: dlsym
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:122,1
    - Dst: func
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:127,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - function_list
    argTypes:
    - CK_FUNCTION_LIST**
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: C_GetFunctionList
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - func
    - dlsym
    linkageType: ''
    returnType: CK_RV
    signature: CK_RV C_GetFunctionList(CK_FUNCTION_LIST **function_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:145,1
    - Dst: dlopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:147,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: mock_init
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock3.c
    functionUses: 0
    functionsReached:
    - exit
    - softhsm_lib
    - dlopen
    linkageType: ''
    returnType: _CONSTRUCTOR
    signature: _CONSTRUCTOR mock_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock3.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: mock_deinit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock3.c
    functionUses: 0
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: _DESTRUCTOR
    signature: _DESTRUCTOR mock_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:53,1
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:55,1
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:57,1
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:59,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:62,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/softhsm.h:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: softhsm_lib
    functionSourceFile: /src/gnutls/tests/pkcs11/softhsm.h
    functionUses: 11
    functionsReached:
    - exit
    - fprintf
    - access
    linkageType: ''
    returnType: char
    signature: char *softhsm_lib(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:73,1
    - Dst: access
      Src: /src/gnutls/tests/pkcs11/softhsm.h:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:78,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/softhsm.h:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: softhsm_bin
    functionSourceFile: /src/gnutls/tests/pkcs11/softhsm.h
    functionUses: 9
    functionsReached:
    - exit
    - fprintf
    - access
    linkageType: ''
    returnType: char
    signature: char *softhsm_bin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:91,1
    - Dst: unsetenv
      Src: /src/gnutls/tests/pkcs11/softhsm.h:93,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/softhsm.h:94,1
    - Dst: fopen
      Src: /src/gnutls/tests/pkcs11/softhsm.h:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:97,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/softhsm.h:98,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/softhsm.h:101,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:102,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/softhsm.h:103,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/softhsm.h:105,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/softhsm.h:106,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/softhsm.h:107,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/softhsm.h:108,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/softhsm.h:110,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:111,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/softhsm.h:112,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/softhsm.h:114,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/softhsm.h:115,1
    - Dst: mkdir
      Src: /src/gnutls/tests/pkcs11/softhsm.h:116,1
    - Dst: fclose
      Src: /src/gnutls/tests/pkcs11/softhsm.h:118,1
    - Dst: setenv
      Src: /src/gnutls/tests/pkcs11/softhsm.h:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: set_softhsm_conf
    functionSourceFile: /src/gnutls/tests/pkcs11/softhsm.h
    functionUses: 9
    functionsReached:
    - fopen
    - remove
    - exit
    - fclose
    - strlen
    - fputs
    - snprintf
    - unsetenv
    - setenv
    - system
    - fprintf
    - mkdir
    linkageType: ''
    returnType: void
    signature: void set_softhsm_conf(const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:76,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:77,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:79,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:81,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:85,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:86,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:89,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:90,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:92,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:94,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:95,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:99,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:101,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:105,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:108,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:112,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:115,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:120,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:124,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:126,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:127,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:130,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:134,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:137,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:142,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:149,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:155,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:156,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:163,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:164,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:175,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:176,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:179,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:180,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:181,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:183,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:183,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:185,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:190,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:191,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:194,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:194,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:195,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:195,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:201,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:205,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:206,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:206,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:209,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:209,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:210,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:214,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:214,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:215,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:218,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:220,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:221,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:222,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:224,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 90
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 227
    functionName: try
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import.c
    functionUses: 29
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_privkey_import_pkcs11_url
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_init
    - gnutls_pubkey_import_x509_raw
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_token_set_pin
    - gnutls_pubkey_verify_data2
    - softhsm_bin
    - gnutls_pk_to_sign
    - system
    - gnutls_privkey_sign_data
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - assert
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void try(int rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_generate3
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:98,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:101,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:101,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:104,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:105,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:108,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:108,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:111,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:114,1
    - Dst: gnutls_pkcs11_obj_get_flags
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:121,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:124,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - algo
    - bits
    - name
    - sensitive
    argTypes:
    - gnutls_pk_algorithm_t
    - size_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 126
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 126
    functionName: generate_keypair
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - success
    - gnutls_strerror
    - assert
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_set_pin_function
    - snprintf
    - gnutls_pk_get_name
    - gnutls_pkcs11_obj_get_flags
    - gnutls_pkcs11_privkey_generate3
    - gnutls_pkcs11_obj_import_url
    - fail
    linkageType: ''
    returnType: void
    signature: "void generate_keypair(gnutls_pk_algorithm_t algo, size_t bits,\n\t\t\t
      \    const char *name, bool sensitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:138,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:143,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:146,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:148,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:150,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:152,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:154,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:155,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:159,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:163,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:164,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:170,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:173,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:175,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:176,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:179,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:183,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:185,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:188,1
    - Dst: generate_keypair
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:190,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:196,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:197,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 199
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-generate.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_pkcs11_init
    - gnutls_global_set_log_function
    - softhsm_bin
    - system
    - generate_keypair
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_pkcs11_token_check_mechanism
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_pkcs11_deinit
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:67,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:69,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:69,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:70,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:73,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:79,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:80,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:85,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:86,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:89,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:91,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:95,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:96,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:96,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:102,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:102,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:103,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:115,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:121,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:126,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:130,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:133,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:134,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:138,1
    - Dst: gnutls_x509_crt_get_ca_status
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:143,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:149,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:154,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:160,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:163,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:164,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:166,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 169
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-cert-import-url4-exts.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - printf
    - gnutls_x509_crt_get_ca_status
    - gnutls_global_set_time_function
    - gnutls_pkcs11_obj_deinit
    - gnutls_x509_crt_equals
    - getenv
    - gnutls_x509_crt_get_key_usage
    - gnutls_pkcs11_add_provider
    - gnutls_x509_crt_import_pkcs11
    - exit
    - success
    - assert
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_obj_list_import_url4
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:70,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:72,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:72,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:73,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:76,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:78,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:80,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:84,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:86,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:86,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:87,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:92,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:92,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:93,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:102,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:106,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:106,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:111,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:112,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:115,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:115,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:119,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:122,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:123,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:123,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:124,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:124,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:126,1
    - Dst: gnutls_pkcs11_token_get_ptr
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:131,1
    - Dst: gnutls_pkcs11_token_get_ptr
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:136,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:137,1
    - Dst: struct ck_function_list*::C_GetInfo
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:142,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:146,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:147,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:150,1
    - Dst: struct ck_function_list*::C_GetTokenInfo
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:154,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:160,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:163,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:165,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 167
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - strcmp
    - printf
    - gnutls_global_set_log_function
    - gnutls_pkcs11_add_provider
    - exit
    - assert
    - gnutls_pkcs11_token_get_ptr
    - strlen
    - gnutls_realloc
    - struct ck_function_list*::C_GetInfo
    - struct ck_function_list*::C_GetTokenInfo
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_pkcs11_token_get_info
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-token-raw.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs11/distrust-after.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/distrust-after.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/distrust-after.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:132,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:134,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:137,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:138,1
    - Dst: setenv
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:142,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:144,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:148,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:154,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:157,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:160,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:160,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:163,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:168,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:171,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:177,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:186,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:196,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:204,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:207,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:209,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:211,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:213,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - provider
    - purpose
    - succeeds
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 214
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 214
    functionName: test
    functionSourceFile: /src/gnutls/tests/pkcs11/distrust-after.c
    functionUses: 32
    functionsReached:
    - gnutls_pkcs11_init
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_list_import2
    - gnutls_global_set_log_function
    - gnutls_pkcs11_token_set_pin
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - success
    - assert
    - gnutls_pkcs11_set_pin_function
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_x509_trust_list_add_trust_file
    - gnutls_strerror
    - gnutls_free
    - setenv
    - gnutls_pkcs11_deinit
    - fail
    linkageType: ''
    returnType: void
    signature: void test(const char *provider, const char *purpose, bool succeeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:223,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:226,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:229,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:232,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:235,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:237,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:238,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:242,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:244,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:246,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:247,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:251,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:253,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:257,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:260,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:261,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:265,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:267,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:269,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:270,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:274,1
    - Dst: test
      Src: /src/gnutls/tests/pkcs11/distrust-after.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 277
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/distrust-after.c
    functionUses: 1
    functionsReached:
    - exit
    - softhsm_lib
    - test
    - softhsm_bin
    - set_softhsm_conf
    - snprintf
    - fail
    - gnutls_fips140_mode_enabled
    - global_init
    - gnutls_pkcs11_deinit
    - system
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c:40,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c:42,1
    - Dst: try
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-ecdsa.c
    functionUses: 1
    functionsReached:
    - success
    - exit
    - try
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/list-objects.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/list-objects.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/list-objects.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/pkcs11/list-objects.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:77,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-objects.c:78,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:79,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/list-objects.c:82,1
    - Dst: getopt
      Src: /src/gnutls/tests/pkcs11/list-objects.c:84,1
    - Dst: strdup
      Src: /src/gnutls/tests/pkcs11/list-objects.c:87,1
    - Dst: p11_kit_override_system_files
      Src: /src/gnutls/tests/pkcs11/list-objects.c:88,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/list-objects.c:93,1
    - Dst: strcmp
      Src: /src/gnutls/tests/pkcs11/list-objects.c:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:100,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:105,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:110,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:111,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/list-objects.c:115,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/list-objects.c:119,1
    - Dst: gnutls_pkcs11_token_get_flags
      Src: /src/gnutls/tests/pkcs11/list-objects.c:122,1
    - Dst: gnutls_pkcs11_obj_list_import_url2
      Src: /src/gnutls/tests/pkcs11/list-objects.c:127,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-objects.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:132,1
    - Dst: gnutls_pkcs11_obj_export_url
      Src: /src/gnutls/tests/pkcs11/list-objects.c:138,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-objects.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-objects.c:145,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/list-objects.c:146,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/list-objects.c:149,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/list-objects.c:151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 152
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs11/list-objects.c
    functionUses: 4
    functionsReached:
    - strdup
    - exit
    - gnutls_strerror
    - gnutls_pkcs11_set_pin_function
    - gnutls_pkcs11_obj_list_import_url2
    - gnutls_free
    - gnutls_pkcs11_token_get_flags
    - gnutls_pkcs11_obj_deinit
    - gnutls_global_deinit
    - gnutls_pkcs11_obj_export_url
    - p11_kit_override_system_files
    - gnutls_global_init
    - strcmp
    - getopt
    - fprintf
    - getenv
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:83,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:84,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:87,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:89,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:91,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:98,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:104,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:108,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:110,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:116,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:121,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:125,1
    - Dst: fork
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:130,1
    - Dst: waitpid
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:130,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:133,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:135,1
    - Dst: gnutls_pkcs11_reinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:140,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:145,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:146,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:149,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:150,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:151,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:153,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:157,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:159,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:160,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 162
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c
    functionUses: 1
    functionsReached:
    - fork
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_privkey_set_pin_function
    - waitpid
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - printf
    - gnutls_global_set_log_function
    - WEXITSTATUS
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - gnutls_privkey_sign_hash
    - exit
    - assert
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - gnutls_pkcs11_reinit
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork-reinit.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-rsa.c:38,1
    - Dst: try
      Src: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-rsa.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-pubkey-import-rsa.c
    functionUses: 1
    functionsReached:
    - success
    - try
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-combo.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-combo.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-combo.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:220,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:221,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:227,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:229,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:231,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:235,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:235,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:236,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:239,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:240,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:241,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:243,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:245,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:246,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:250,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:252,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:254,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:256,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:261,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:263,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:265,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:266,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:267,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:271,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:273,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:276,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:279,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:280,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:283,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:285,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:287,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:291,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:293,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:295,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:296,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:297,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:301,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:303,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:305,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:306,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:307,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:310,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:312,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:313,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:315,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:317,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:318,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:319,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:323,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:325,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:327,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:328,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:329,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:332,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:334,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:335,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:338,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:341,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:344,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:346,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:347,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:353,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:354,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:359,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:360,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:361,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:365,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:367,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:370,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:371,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:374,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:376,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:377,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:381,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:384,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:385,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:387,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:389,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:394,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:395,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:398,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:402,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:403,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:407,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:409,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:413,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:415,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:416,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:417,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:419,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:422,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:424,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:427,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:428,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-combo.c:430,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 143
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 431
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-combo.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_x509_trust_list_deinit
    - printf
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - softhsm_bin
    - system
    - gnutls_x509_trust_list_add_cas
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - gnutls_pkcs11_crt_is_known
    - exit
    - gnutls_x509_trust_list_get_issuer
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_x509_trust_list_add_trust_file
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/list-tokens.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:66,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:68,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:69,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:70,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:73,1
    - Dst: getopt
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:76,1
    - Dst: strdup
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:79,1
    - Dst: p11_kit_override_system_files
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:80,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:85,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:89,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:90,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:95,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:98,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:109,1
    - Dst: gnutls_pkcs11_privkey_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:109,1
    - Dst: gnutls_pkcs11_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:110,1
    - Dst: gnutls_pkcs11_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:111,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:115,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:119,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:124,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:134,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:135,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:135,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:139,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:140,1
    - Dst: gnutls_x509_trust_list_add_system_trust
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:140,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:142,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:144,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:145,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:149,1
    - Dst: _gnutls_pkcs11_token_get_url
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:154,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:157,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:158,1
    - Dst: _gnutls_pkcs11_token_get_url
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:165,1
    - Dst: gnutls_pkcs11_token_get_flags
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:170,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:172,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:174,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/list-tokens.c:177,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 178
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnutls/tests/pkcs11/list-tokens.c
    functionUses: 4
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_x509_trust_list_deinit
    - getopt
    - printf
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_privkey_deinit
    - free
    - gnutls_pkcs11_privkey_init
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_pkcs11_add_provider
    - exit
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_privkey_import_url
    - gnutls_pkcs11_token_get_flags
    - _gnutls_pkcs11_token_get_url
    - gnutls_x509_trust_list_init
    - gnutls_global_init
    - gnutls_x509_trust_list_add_system_trust
    - p11_kit_override_system_files
    - strdup
    - gnutls_strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:86,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:88,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:90,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:95,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:101,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:103,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:104,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:108,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:110,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:113,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:114,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:117,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:121,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:124,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:128,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:129,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:133,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:135,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:136,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:142,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:143,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:149,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:150,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:151,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:157,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:157,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:158,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:164,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:165,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:168,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:173,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:183,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:189,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:189,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:190,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:190,1
    - Dst: gnutls_pkcs11_copy_pubkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:196,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:199,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:200,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:201,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:202,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:204,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:204,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:206,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:216,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:216,1
    - Dst: gnutls_pubkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:223,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:224,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:228,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:228,1
    - Dst: gnutls_pubkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:234,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:235,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:238,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:238,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:239,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:239,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:241,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:243,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:243,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:244,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:244,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:253,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:256,1
    - Dst: _gnutls_decode_ber_rs_raw
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:256,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:262,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:266,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:266,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:268,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:272,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:272,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:273,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:276,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:277,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:278,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:281,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:282,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:283,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:284,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:285,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:287,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c:289,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 290
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-ec-privkey-test.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_privkey_import_pkcs11_url
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_init
    - gnutls_pubkey_import_x509_raw
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_copy_pubkey
    - gnutls_pkcs11_token_set_pin
    - gnutls_pubkey_verify_data2
    - softhsm_bin
    - gnutls_pk_to_sign
    - system
    - gnutls_privkey_sign_data
    - gnutls_x509_privkey_init
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - gnutls_pubkey_import_pkcs11_url
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - _gnutls_decode_ber_rs_raw
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:66,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:68,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:68,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:69,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:72,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:76,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:78,1
    - Dst: success
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:79,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:82,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:84,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:84,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:85,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:90,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:94,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:95,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:95,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:101,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:102,1
    - Dst: gnutls_pkcs11_get_raw_issuer
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:105,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:110,1
    - Dst: gnutls_x509_crt_equals2
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:113,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:115,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:120,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:121,1
    - Dst: gnutls_x509_crt_get_ca_status
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:132,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:143,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:146,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:148,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c:152,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 153
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-get-raw-issuer-exts.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - printf
    - gnutls_x509_crt_get_ca_status
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_get_raw_issuer
    - gnutls_x509_crt_equals2
    - getenv
    - gnutls_x509_crt_get_key_usage
    - gnutls_pkcs11_add_provider
    - exit
    - success
    - assert
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_import_url
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:69,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:70,1
    - Dst: fputs
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:71,1
    - Dst: fclose
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file
    - pin
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: write_pin
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c
    functionUses: 0
    functionsReached:
    - fopen
    - fputs
    - assert
    - fclose
    linkageType: ''
    returnType: void
    signature: void write_pin(const char *file, const char *pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:86,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:88,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:90,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:92,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:94,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:95,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:101,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:103,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:104,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:108,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:110,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:112,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:113,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:116,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:119,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:120,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:123,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:127,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:134,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:141,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:152,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:153,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:156,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:159,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:159,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:163,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:169,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:172,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:172,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:176,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:186,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:186,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:188,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:189,1
    - Dst: track_temp_files
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:193,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:194,1
    - Dst: write_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:196,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:198,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:198,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:199,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:202,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:205,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:206,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:209,1
    - Dst: write_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:213,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:215,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:215,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:216,1
    - Dst: gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:219,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:221,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:227,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:227,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:229,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:230,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:232,1
    - Dst: delete_temp_files
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:233,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c:235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 236
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-import-with-pin.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_import_pkcs11_url
    - track_temp_files
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - write_pin
    - gnutls_privkey_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_privkey_init
    - gnutls_global_set_log_function
    - gnutls_pkcs11_token_set_pin
    - softhsm_bin
    - system
    - gnutls_privkey_sign_data
    - gnutls_x509_privkey_init
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_global_set_log_level
    - get_tmpname
    - delete_temp_files
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:127,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:133,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:135,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:137,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:142,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:145,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:146,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:147,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:149,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:151,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:152,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:156,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:160,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:162,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:165,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:168,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:169,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:172,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:175,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:176,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:180,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:182,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:183,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:186,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:189,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:190,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:197,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:203,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:203,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:204,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:210,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:211,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:214,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:218,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:219,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:229,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:230,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:231,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:234,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:235,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:236,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:244,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:245,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:253,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:254,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:257,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:259,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:262,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey.c:265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 266
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_certificate_free_credentials
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_token_set_pin
    - softhsm_bin
    - gnutls_certificate_set_x509_key_file2
    - system
    - gnutls_x509_privkey_init
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - gnutls_certificate_allocate_credentials
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:238,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: fork_handler
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fork_handler(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:250,1
    - Dst: __register_atfork
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pInitArgs
    argTypes:
    - CK_VOID_PTR
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - __register_atfork
    - IGNORE
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_Initialize)(CK_VOID_PTR pInitArgs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pReserved
    argTypes:
    - CK_VOID_PTR
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - IGNORE
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_Finalize)(CK_VOID_PTR pReserved)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:284,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:285,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:286,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:288,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:290,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - CK_INFO_PTR
    constantsTouched: []
    func_position:
      end: 297
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 297
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - memset
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_GetInfo)(CK_INFO_PTR pInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppFunctionList
    argTypes:
    - CK_FUNCTION_LIST_PTR_PTR
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetFunctionList)

      (CK_FUNCTION_LIST_PTR_PTR ppFunctionList)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tokenPresent
    - pSlotList
    - pulCount
    argTypes:
    - CK_BBOOL
    - CK_SLOT_ID_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 332
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - IGNORE
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetSlotList)

      (CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:346,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:347,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:349,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:350,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:351,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - slotID
    - pInfo
    argTypes:
    - CK_SLOT_ID
    - CK_SLOT_INFO_PTR
    constantsTouched: []
    func_position:
      end: 360
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 360
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - memset
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetSlotInfo)

      (CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:374,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:375,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:376,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:377,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:378,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:379,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:380,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:381,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:382,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:383,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:384,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:385,1
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - slotID
    - pInfo
    argTypes:
    - CK_SLOT_ID
    - CK_TOKEN_INFO_PTR
    constantsTouched: []
    func_position:
      end: 414
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 414
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - memset
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo)

      (CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - slotID
    - pMechanismList
    - pulCount
    argTypes:
    - CK_SLOT_ID
    - CK_MECHANISM_TYPE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 448
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 448
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismList)

      (CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 3
    argNames:
    - slotID
    - type
    - pInfo
    argTypes:
    - CK_SLOT_ID
    - CK_MECHANISM_TYPE
    - CK_MECHANISM_INFO_PTR
    constantsTouched: []
    func_position:
      end: 524
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 524
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetMechanismInfo)

      (CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - slotID
    - pPin
    - ulPinLen
    - pLabel
    argTypes:
    - CK_SLOT_ID
    - CK_UTF8CHAR_PTR
    - CK_ULONG
    - CK_UTF8CHAR_PTR
    constantsTouched: []
    func_position:
      end: 550
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_InitToken)\n(CK_SLOT_ID slotID, CK_UTF8CHAR_PTR
      pPin, CK_ULONG ulPinLen,\n CK_UTF8CHAR_PTR pLabel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - hSession
    - pPin
    - ulPinLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_UTF8CHAR_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 573
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 573
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_InitPIN)

      (CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - hSession
    - pOldPin
    - ulOldLen
    - pNewPin
    - ulNewLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_UTF8CHAR_PTR
    - CK_ULONG
    - CK_UTF8CHAR_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 605
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 605
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SetPIN)\n(CK_SESSION_HANDLE hSession,
      CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen,\n CK_UTF8CHAR_PTR pNewPin, CK_ULONG
      ulNewLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:622,1
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:624,1
    - Dst: calloc
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - slotID
    - flags
    - pApplication
    - Notify
    - phSession
    argTypes:
    - CK_SLOT_ID
    - CK_FLAGS
    - CK_VOID_PTR
    - CK_NOTIFY
    - CK_SESSION_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 645
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 645
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - IGNORE
    - calloc
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_OpenSession)\n(CK_SLOT_ID slotID,
      CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify,\n CK_SESSION_HANDLE_PTR
      phSession)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:660,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - hSession
    argTypes:
    - CK_SESSION_HANDLE
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_CloseSession)(CK_SESSION_HANDLE hSession)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_CloseSession
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slotID
    argTypes:
    - CK_SLOT_ID
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - C_CloseSession
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_CloseAllSessions)(CK_SLOT_ID slotID)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - hSession
    - pInfo
    argTypes:
    - CK_SESSION_HANDLE
    - CK_SESSION_INFO_PTR
    constantsTouched: []
    func_position:
      end: 694
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 694
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetSessionInfo)

      (CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - hSession
    - pOperationState
    - pulOperationStateLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 721
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 721
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_GetOperationState)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pOperationState,\n CK_ULONG_PTR pulOperationStateLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:741,1
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - hSession
    - pOperationState
    - ulOperationStateLen
    - hEncryptionKey
    - hAuthenticationKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 746
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 746
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - IGNORE
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SetOperationState)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pOperationState,\n CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE
      hEncryptionKey,\n CK_OBJECT_HANDLE hAuthenticationKey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 4
    argNames:
    - hSession
    - userType
    - pPin
    - ulPinLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_USER_TYPE
    - CK_UTF8CHAR_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 824
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 824
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Login)\n(CK_SESSION_HANDLE hSession,
      CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin,\n CK_ULONG ulPinLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - hSession
    argTypes:
    - CK_SESSION_HANDLE
    constantsTouched: []
    func_position:
      end: 840
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 840
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_Logout)(CK_SESSION_HANDLE hSession)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - hSession
    - pTemplate
    - ulCount
    - phObject
    argTypes:
    - CK_SESSION_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 875
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 875
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_CreateObject)\n(CK_SESSION_HANDLE
      hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,\n CK_OBJECT_HANDLE_PTR
      phObject)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - hSession
    - hObject
    - pTemplate
    - ulCount
    - phNewObject
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 909
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 909
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_CopyObject)\n(CK_SESSION_HANDLE hSession,
      CK_OBJECT_HANDLE hObject,\n CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR
      phNewObject)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - hSession
    - hObject
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 928
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 928
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DestroyObject)

      (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - hSession
    - hObject
    - pulSize
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 952
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 952
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GetObjectSize)

      (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:995,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1002,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1017,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1035,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1046,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1049,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1051,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1054,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1058,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1061,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1063,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1067,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1074,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1088,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1092,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1095,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1097,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1101,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1106,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1129,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1144,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1159,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1171,1
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1174,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1176,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1180,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 149
    argCount: 4
    argNames:
    - hSession
    - hObject
    - pTemplate
    - ulCount
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 1188
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 1188
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_GetAttributeValue)\n(CK_SESSION_HANDLE
      hSession, CK_OBJECT_HANDLE hObject,\n CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - hSession
    - hObject
    - pTemplate
    - ulCount
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 1229
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1229
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue)\n(CK_SESSION_HANDLE
      hSession, CK_OBJECT_HANDLE hObject,\n CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IGNORE
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1251,1
    - Dst: free
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1263,1
    - Dst: strndup
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1264,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 3
    argNames:
    - hSession
    - pTemplate
    - ulCount
    argTypes:
    - CK_SESSION_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 1310
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1310
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - free
    - IGNORE
    - strndup
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsInit)

      (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - hSession
    - phObject
    - ulMaxObjectCount
    - pulObjectCount
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE_PTR
    - CK_ULONG
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1370
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1370
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_FindObjects)\n(CK_SESSION_HANDLE
      hSession, CK_OBJECT_HANDLE_PTR phObject,\n CK_ULONG ulMaxObjectCount, CK_ULONG_PTR
      pulObjectCount)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - hSession
    argTypes:
    - CK_SESSION_HANDLE
    constantsTouched: []
    func_position:
      end: 1388
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1388
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_FindObjectsFinal)(CK_SESSION_HANDLE
      hSession)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 1481
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1481
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_EncryptInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - hSession
    - pData
    - ulDataLen
    - pEncryptedData
    - pulEncryptedDataLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1524
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1524
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Encrypt)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pData, CK_ULONG ulDataLen,\n CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR
      pulEncryptedDataLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pPart
    - ulPartLen
    - pEncryptedPart
    - pulEncryptedPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1564
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1564
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_EncryptUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,\n CK_BYTE_PTR pEncryptedPart,
      CK_ULONG_PTR pulEncryptedPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - hSession
    - pLastEncryptedPart
    - pulLastEncryptedPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1610
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1610
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_EncryptFinal)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pLastEncryptedPart,\n CK_ULONG_PTR pulLastEncryptedPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 1708
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1708
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DecryptInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - hSession
    - pEncryptedData
    - ulEncryptedDataLen
    - pData
    - pulDataLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1762
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1762
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Decrypt)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pEncryptedData,\n CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData,
      CK_ULONG_PTR pulDataLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pEncryptedPart
    - ulEncryptedPartLen
    - pPart
    - pulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1802
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1802
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_DecryptUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pEncryptedPart,\n CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR
      pPart, CK_ULONG_PTR pulPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - hSession
    - pLastPart
    - pulLastPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1847
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1847
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DecryptFinal)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - hSession
    - pMechanism
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    constantsTouched: []
    func_position:
      end: 1895
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1895
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DigestInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:1929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pData
    - ulDataLen
    - pDigest
    - pulDigestLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 1938
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1938
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Digest)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pData, CK_ULONG ulDataLen,\n CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - hSession
    - pPart
    - ulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 1961
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1961
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DigestUpdate)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - hSession
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 1981
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1981
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DigestKey)

      (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2012,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - hSession
    - pDigest
    - pulDigestLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2036
      start: 1983
    functionDepth: 1
    functionLinenumber: 1983
    functionLinenumberEnd: 2036
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_DigestFinal)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 2084
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2084
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_SignInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - hSession
    - pData
    - ulDataLen
    - pSignature
    - pulSignatureLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2138
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2138
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Sign)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pData, CK_ULONG ulDataLen,\n CK_BYTE_PTR pSignature, CK_ULONG_PTR
      pulSignatureLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - hSession
    - pPart
    - ulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2161
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2161
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_SignUpdate)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - hSession
    - pSignature
    - pulSignatureLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2205
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2205
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SignFinal)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pSignature,\n CK_ULONG_PTR pulSignatureLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 2239
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2239
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_SignRecoverInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - hSession
    - pData
    - ulDataLen
    - pSignature
    - pulSignatureLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2282
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2282
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SignRecover)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen,\n CK_BYTE_PTR pSignature, CK_ULONG_PTR
      pulSignatureLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 2324
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2324
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_VerifyInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - hSession
    - pData
    - ulDataLen
    - pSignature
    - ulSignatureLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2365
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2365
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_Verify)\n(CK_SESSION_HANDLE hSession,
      CK_BYTE_PTR pData, CK_ULONG ulDataLen,\n CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - hSession
    - pPart
    - ulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2388
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2388
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_VerifyUpdate)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2418,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - hSession
    - pSignature
    - ulSignatureLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2430
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2430
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_VerifyFinal)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - hSession
    - pMechanism
    - hKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    constantsTouched: []
    func_position:
      end: 2464
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2464
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecoverInit)

      (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - hSession
    - pSignature
    - ulSignatureLen
    - pData
    - pulDataLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2507
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2507
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_VerifyRecover)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen,\n CK_BYTE_PTR pData,
      CK_ULONG_PTR pulDataLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pPart
    - ulPartLen
    - pEncryptedPart
    - pulEncryptedPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2547
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2547
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_DigestEncryptUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,\n CK_BYTE_PTR pEncryptedPart,
      CK_ULONG_PTR pulEncryptedPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pEncryptedPart
    - ulEncryptedPartLen
    - pPart
    - pulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2587
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2587
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_DecryptDigestUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pEncryptedPart,\n CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR
      pPart, CK_ULONG_PTR pulPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pPart
    - ulPartLen
    - pEncryptedPart
    - pulEncryptedPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2627
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2627
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_SignEncryptUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen,\n CK_BYTE_PTR pEncryptedPart,
      CK_ULONG_PTR pulEncryptedPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hSession
    - pEncryptedPart
    - ulEncryptedPartLen
    - pPart
    - pulPartLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2667
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2667
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_DecryptVerifyUpdate)\n(CK_SESSION_HANDLE
      hSession, CK_BYTE_PTR pEncryptedPart,\n CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR
      pPart, CK_ULONG_PTR pulPartLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - hSession
    - pMechanism
    - pTemplate
    - ulCount
    - phKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 2712
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2712
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_GenerateKey)\n(CK_SESSION_HANDLE
      hSession, CK_MECHANISM_PTR pMechanism,\n CK_ATTRIBUTE_PTR pTemplate, CK_ULONG
      ulCount, CK_OBJECT_HANDLE_PTR phKey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 8
    argNames:
    - hSession
    - pMechanism
    - pPublicKeyTemplate
    - ulPublicKeyAttributeCount
    - pPrivateKeyTemplate
    - ulPrivateKeyAttributeCount
    - phPublicKey
    - phPrivateKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 2777
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2777
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_GenerateKeyPair)\n(CK_SESSION_HANDLE
      hSession, CK_MECHANISM_PTR pMechanism,\n CK_ATTRIBUTE_PTR pPublicKeyTemplate,
      CK_ULONG ulPublicKeyAttributeCount,\n CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
      CK_ULONG ulPrivateKeyAttributeCount,\n CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR
      phPrivateKey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - hSession
    - pMechanism
    - hWrappingKey
    - hKey
    - pWrappedKey
    - pulWrappedKeyLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    - CK_OBJECT_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG_PTR
    constantsTouched: []
    func_position:
      end: 2820
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2820
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_WrapKey)\n(CK_SESSION_HANDLE hSession,
      CK_MECHANISM_PTR pMechanism,\n CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE
      hKey, CK_BYTE_PTR pWrappedKey,\n CK_ULONG_PTR pulWrappedKeyLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 8
    argNames:
    - hSession
    - pMechanism
    - hUnwrappingKey
    - pWrappedKey
    - ulWrappedKeyLen
    - pTemplate
    - ulAttributeCount
    - phKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 2876
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2876
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_UnwrapKey)\n(CK_SESSION_HANDLE hSession,
      CK_MECHANISM_PTR pMechanism,\n CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR
      pWrappedKey,\n CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate,\n CK_ULONG
      ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hSession
    - pMechanism
    - hBaseKey
    - pTemplate
    - ulAttributeCount
    - phKey
    argTypes:
    - CK_SESSION_HANDLE
    - CK_MECHANISM_PTR
    - CK_OBJECT_HANDLE
    - CK_ATTRIBUTE_PTR
    - CK_ULONG
    - CK_OBJECT_HANDLE_PTR
    constantsTouched: []
    func_position:
      end: 2884
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2884
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CK_DEFINE_FUNCTION(CK_RV, C_DeriveKey)\n(CK_SESSION_HANDLE hSession,
      CK_MECHANISM_PTR pMechanism,\n CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate,\n
      CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - hSession
    - pSeed
    - ulSeedLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2903
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2903
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_SeedRandom)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/pkcs11/pkcs11-mock.c:2921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - hSession
    - RandomData
    - ulRandomLen
    argTypes:
    - CK_SESSION_HANDLE
    - CK_BYTE_PTR
    - CK_ULONG
    constantsTouched: []
    func_position:
      end: 2924
      start: 2905
    functionDepth: 1
    functionLinenumber: 2905
    functionLinenumberEnd: 2924
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_GenerateRandom)

      (CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, CK_ULONG ulRandomLen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hSession
    argTypes:
    - CK_SESSION_HANDLE
    constantsTouched: []
    func_position:
      end: 2936
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 2936
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_GetFunctionStatus)(CK_SESSION_HANDLE
      hSession)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hSession
    argTypes:
    - CK_SESSION_HANDLE
    constantsTouched: []
    func_position:
      end: 2948
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2948
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CK_DEFINE_FUNCTION(CK_RV, C_CancelFunction)(CK_SESSION_HANDLE
      hSession)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - flags
    - pSlot
    - pReserved
    argTypes:
    - CK_FLAGS
    - CK_SLOT_ID_PTR
    - CK_VOID_PTR
    constantsTouched: []
    func_position:
      end: 2966
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2966
    functionName: CK_DEFINE_FUNCTION
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CK_DEFINE_FUNCTION(CK_RV, C_WaitForSlotEvent)

      (CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:76,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:77,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:79,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:81,1
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:85,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:85,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:86,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:89,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:90,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:92,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:94,1
    - Dst: snprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:95,1
    - Dst: system
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:99,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:101,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:104,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:105,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:108,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:111,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:112,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:115,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:118,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:119,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:123,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:126,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:130,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:132,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:133,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:139,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:140,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:149,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:152,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:154,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:154,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:156,1
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:163,1
    - Dst: gnutls_pkcs11_obj_export_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:163,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:165,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:169,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:170,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:170,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:173,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:173,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:174,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:178,1
    - Dst: gnutls_pkcs11_obj_export
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:178,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:182,1
    - Dst: gnutls_pkcs11_obj_export
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:183,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:184,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:184,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:186,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:190,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:190,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:192,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:193,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:193,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:199,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:199,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:202,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:202,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:206,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:206,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:208,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:209,1
    - Dst: memcmp
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:213,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:213,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:215,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:216,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:220,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:220,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:222,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:223,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:223,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:227,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:227,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:231,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:231,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:235,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:235,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:237,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:241,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:241,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:244,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:245,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:245,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:249,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:249,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:252,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:253,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:257,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:260,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:261,1
    - Dst: strlen
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:261,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:263,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:264,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:266,1
    - Dst: remove
      Src: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 269
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-obj-import.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_global_deinit
    - snprintf
    - set_softhsm_conf
    - gnutls_x509_crt_export2
    - printf
    - gnutls_pkcs11_obj_import_url
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_token_set_pin
    - gnutls_pkcs11_obj_export
    - softhsm_bin
    - memcmp
    - system
    - gnutls_pkcs11_obj_export_url
    - gnutls_pkcs11_token_init
    - gnutls_pkcs11_obj_get_info
    - gnutls_pkcs11_add_provider
    - gnutls_pkcs11_obj_export3
    - exit
    - assert
    - gnutls_pkcs11_set_pin_function
    - softhsm_lib
    - gnutls_x509_crt_init
    - strlen
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_pkcs11_obj_init
    - remove
    - gnutls_strerror
    - gnutls_free
    - gnutls_fips140_mode_enabled
    - global_init
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:83,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:84,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:87,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:89,1
    - Dst: getenv
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:91,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:97,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:98,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:103,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:104,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:108,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:110,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:115,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:116,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:119,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:121,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:121,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:125,1
    - Dst: fork
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:130,1
    - Dst: waitpid
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:130,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:133,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:134,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:135,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:141,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:142,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:145,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:146,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:147,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:148,1
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:149,1
    - Dst: printf
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:153,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:155,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:156,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 158
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c
    functionUses: 1
    functionsReached:
    - fork
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - printf
    - gnutls_global_set_log_function
    - WEXITSTATUS
    - gnutls_pkcs11_add_provider
    - gnutls_privkey_import_url
    - gnutls_privkey_sign_hash
    - exit
    - assert
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fail
    - global_init
    - gnutls_pkcs11_deinit
    - waitpid
    - getenv
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: doit
    functionSourceFile: /src/gnutls/tests/pkcs11/pkcs11-privkey-fork.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - level
    - s
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: logfn
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void logfn(int level, const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - s
    argTypes:
    - gnutls_session_t
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: auditfn
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void auditfn(gnutls_session_t session, const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - packet
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: drop
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 1
    functionsReached:
    - log
    linkageType: ''
    returnType: void
    signature: void drop(const char *packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:286,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:287,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/dtls/dtls-stress.c:288,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:290,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - loc
    - code
    - die
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: _process_error
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - gnutls_error_is_fatal
    - gnutls_strerror
    - exit
    - fprintf
    linkageType: ''
    returnType: int
    signature: int _process_error(int loc, int code, int die)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:305,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:307,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - loc
    - err
    - tdiff
    argTypes:
    - int
    - int
    - time_t
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: _process_error_or_timeout
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - _process_error
    - log
    linkageType: ''
    returnType: void
    signature: void _process_error_or_timeout(int loc, int err, time_t tdiff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: rperror
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rperror(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/tests/dtls/dtls-stress.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - filter_permute_state_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: filter_permute_state_free_buffer
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void filter_permute_state_free_buffer(filter_permute_state_t *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:401,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:402,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:403,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:404,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:405,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:406,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:407,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:409,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:410,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:412,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:414,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:416,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:418,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:420,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:422,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:424,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:426,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:428,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:430,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:432,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:434,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:436,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:438,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:440,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:442,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:444,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 456
    functionName: filter_clear_state
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - filter_permute_state_free_buffer
    - memset
    linkageType: ''
    returnType: void
    signature: void filter_clear_state(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/gnutls/tests/dtls/dtls-stress.c:469,1
    - Dst: send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:471,1
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls/dtls-stress.c:477,1
    - Dst: send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:480,1
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls/dtls-stress.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 487
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 487
    functionName: filter_run_next
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - memcpy
    - send
    - fn
    linkageType: ''
    returnType: void
    signature: "void filter_run_next(gnutls_transport_ptr_t fd,\n\t\t\t    const unsigned
      char *buffer, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: match_ServerHello
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerHello(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: match_ServerCertificate
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerCertificate(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: match_ServerKeyExchange
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerKeyExchange(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: match_ServerCertificateRequest
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int match_ServerCertificateRequest(const unsigned char *buffer,\n\t\t\t\t\t
      \ size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: match_ServerHelloDone
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerHelloDone(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: match_ClientCertificate
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ClientCertificate(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: match_ClientKeyExchange
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ClientKeyExchange(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: match_ClientCertificateVerify
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int match_ClientCertificateVerify(const unsigned char *buffer,\n\t\t\t\t\t
      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: match_ClientChangeCipherSpec
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ClientChangeCipherSpec(const unsigned char *buffer, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: match_ClientFinished
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ClientFinished(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: match_ServerChangeCipherSpec
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerChangeCipherSpec(const unsigned char *buffer, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: match_ServerFinished
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int match_ServerFinished(const unsigned char *buffer, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:603,1
    - Dst: malloc
      Src: /src/gnutls/tests/dtls/dtls-stress.c:606,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls/dtls-stress.c:607,1
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls/dtls-stress.c:608,1
    - Dst: filter_run_next
      Src: /src/gnutls/tests/dtls/dtls-stress.c:615,1
    - Dst: filter_permute_state_free_buffer
      Src: /src/gnutls/tests/dtls/dtls-stress.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - state
    - packetCount
    - fd
    - buffer
    - len
    argTypes:
    - filter_permute_state_t*
    - int
    - gnutls_transport_ptr_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 621
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 621
    functionName: filter_permute_state_run
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - assert
    - log
    - filter_permute_state_free_buffer
    - memcpy
    - malloc
    - filter_run_next
    linkageType: ''
    returnType: void
    signature: "void filter_permute_state_run(filter_permute_state_t *state,\n\t\t\t\t
      \    int packetCount, gnutls_transport_ptr_t fd,\n\t\t\t\t     const unsigned
      char *buffer, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timer_delete
      Src: /src/gnutls/tests/dtls/dtls-stress.c:689,1
    - Dst: memset
      Src: /src/gnutls/tests/dtls/dtls-stress.c:692,1
    - Dst: timer_create
      Src: /src/gnutls/tests/dtls/dtls-stress.c:695,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:696,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:697,1
    - Dst: timer_settime
      Src: /src/gnutls/tests/dtls/dtls-stress.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 701
    functionName: killtimer_set
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - timer_delete
    - timer_settime
    - timer_create
    - rperror
    - memset
    linkageType: ''
    returnType: void
    signature: void killtimer_set(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_run_next
      Src: /src/gnutls/tests/dtls/dtls-stress.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - buffer
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 715
    functionName: writefn
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - filter_run_next
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t writefn(gnutls_transport_ptr_t fd, const void *buffer,\n\t\t
      \      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/gnutls/tests/dtls/dtls-stress.c:721,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:723,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - timeout
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: await
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - poll
    - rperror
    linkageType: ''
    returnType: void
    signature: void await(int fd, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/dtls/dtls-stress.c:731,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/dtls/dtls-stress.c:731,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/dtls/dtls-stress.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: cred_init
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_key_mem
    - assert
    - gnutls_certificate_allocate_credentials
    linkageType: ''
    returnType: void
    signature: void cred_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:739,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/dtls/dtls-stress.c:742,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/dtls/dtls-stress.c:743,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:746,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/dtls/dtls-stress.c:748,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls/dtls-stress.c:753,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/tests/dtls/dtls-stress.c:753,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:754,1
    - Dst: assert
      Src: /src/gnutls/tests/dtls/dtls-stress.c:757,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/tests/dtls/dtls-stress.c:757,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:758,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/tests/dtls/dtls-stress.c:761,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/tests/dtls/dtls-stress.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - sock
    - server
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 764
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 764
    functionName: session_init
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - assert
    - gnutls_credentials_set
    - gnutls_dtls_set_mtu
    - gnutls_dtls_set_timeouts
    - gnutls_priority_set_direct
    - gnutls_init
    - gnutls_anon_allocate_server_credentials
    - gnutls_certificate_server_set_request
    - gnutls_transport_set_int
    linkageType: ''
    returnType: void
    signature: void session_init(int sock, int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:769,1
    - Dst: session_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:775,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:777,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:781,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls/dtls-stress.c:781,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:784,1
    - Dst: process_error_or_timeout
      Src: /src/gnutls/tests/dtls/dtls-stress.c:787,1
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:787,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/dtls/dtls-stress.c:789,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:791,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:793,1
    - Dst: session_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:795,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/dtls/dtls-stress.c:796,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/dtls/dtls-stress.c:797,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:801,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:806,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:808,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:810,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls/dtls-stress.c:810,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:813,1
    - Dst: process_error_or_timeout
      Src: /src/gnutls/tests/dtls/dtls-stress.c:816,1
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:816,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:819,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:824,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:827,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:828,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls/dtls-stress.c:828,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:832,1
    - Dst: die_on_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:834,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:834,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:836,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:837,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:840,1
    - Dst: die_on_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:841,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:841,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls/dtls-stress.c:841,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:843,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:846,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:847,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls/dtls-stress.c:847,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:851,1
    - Dst: strncmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:853,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:854,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:856,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 859
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 859
    functionName: client
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 119
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - time
    - session_init
    - gnutls_record_recv
    - log
    - gnutls_record_send
    - die_on_error
    - gnutls_session_set_data
    - gnutls_session_get_data2
    - exit
    - strlen
    - strncmp
    - killtimer_set
    - process_error
    - gnutls_free
    - gnutls_handshake
    - process_error_or_timeout
    - fprintf
    - await
    linkageType: ''
    returnType: void
    signature: void client(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/tests/dtls/dtls-stress.c:866,1
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls/dtls-stress.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 873
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 873
    functionName: db_fetch
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t db_fetch(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: db_delete
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int db_delete(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/tests/dtls/dtls-stress.c:882,1
    - Dst: memcpy
      Src: /src/gnutls/tests/dtls/dtls-stress.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dbf
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 888
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 888
    functionName: db_store
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:894,1
    - Dst: session_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:898,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:900,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:902,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:904,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:905,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:906,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/dtls/dtls-stress.c:907,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:910,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls/dtls-stress.c:910,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:913,1
    - Dst: process_error_or_timeout
      Src: /src/gnutls/tests/dtls/dtls-stress.c:916,1
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:916,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:918,1
    - Dst: session_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:920,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:921,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:922,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:923,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/tests/dtls/dtls-stress.c:924,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:927,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:932,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:934,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:936,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:938,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/dtls/dtls-stress.c:938,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:941,1
    - Dst: process_error_or_timeout
      Src: /src/gnutls/tests/dtls/dtls-stress.c:944,1
    - Dst: time
      Src: /src/gnutls/tests/dtls/dtls-stress.c:944,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:946,1
    - Dst: free
      Src: /src/gnutls/tests/dtls/dtls-stress.c:949,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:954,1
    - Dst: die_on_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:955,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:955,1
    - Dst: strlen
      Src: /src/gnutls/tests/dtls/dtls-stress.c:955,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:957,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:960,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:961,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls/dtls-stress.c:961,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:965,1
    - Dst: strncmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:967,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:968,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:970,1
    - Dst: killtimer_set
      Src: /src/gnutls/tests/dtls/dtls-stress.c:973,1
    - Dst: await
      Src: /src/gnutls/tests/dtls/dtls-stress.c:976,1
    - Dst: process_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:977,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/dtls/dtls-stress.c:977,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:981,1
    - Dst: die_on_error
      Src: /src/gnutls/tests/dtls/dtls-stress.c:983,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/dtls/dtls-stress.c:983,1
    - Dst: log
      Src: /src/gnutls/tests/dtls/dtls-stress.c:985,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 989
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 989
    functionName: server
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 138
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - time
    - session_init
    - gnutls_record_recv
    - log
    - free
    - gnutls_record_send
    - die_on_error
    - exit
    - strlen
    - strncmp
    - killtimer_set
    - process_error
    - gnutls_db_set_store_function
    - gnutls_handshake
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - process_error_or_timeout
    - fprintf
    - await
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: void
    signature: void server(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/gnutls/tests/dtls/dtls-stress.c:999,1
    - Dst: htons
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1001,1
    - Dst: socket
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1003,1
    - Dst: socket
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1004,1
    - Dst: bind
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1006,1
    - Dst: bind
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1007,1
    - Dst: connect
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1009,1
    - Dst: connect
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - socks
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: udp_sockpair
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - htons
    - socket
    - connect
    - bind
    linkageType: ''
    returnType: void
    signature: void udp_sockpair(int *socks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1020,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1021,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1022,1
    - Dst: fcntl
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1026,1
    - Dst: fcntl
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1027,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1030,1
    - Dst: server
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1032,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1034,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1035,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1037,1
    - Dst: client
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1039,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1041,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1042,1
    - Dst: waitpid
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1044,1
    - Dst: kill
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1046,1
    - Dst: waitpid
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1047,1
    - Dst: close
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1050,1
    - Dst: close
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1051,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1053,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1053,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1054,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1058
    functionName: run_test
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 3
    functionsReached:
    - exit
    - fork
    - fcntl
    - kill
    - WIFSIGNALED
    - server
    - close
    - socketpair
    - client
    - rperror
    - WEXITSTATUS
    - waitpid
    linkageType: ''
    returnType: int
    signature: int run_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: filter_clear_state
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1129,1
    - Dst: run_test
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1175,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1179,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1182,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1185,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1188,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1195,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1197,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1203,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1205,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 4
    argNames:
    - dropMode
    - serverFinishedPermute
    - serverHelloPermute
    - clientFinishedPermute
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1213
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1213
    functionName: run_one_test
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - filter_clear_state
    - fprintf
    - run_test
    linkageType: ''
    returnType: int
    signature: "int run_one_test(int dropMode, int serverFinishedPermute,\n\t\t\tint
      serverHelloPermute, int clientFinishedPermute)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_one_test
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1234
      start: 1215
    functionDepth: 3
    functionLinenumber: 1215
    functionLinenumberEnd: 1234
    functionName: run_test_by_id
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - run_one_test
    linkageType: ''
    returnType: int
    signature: int run_test_by_id(int id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1251
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1251
    functionName: register_child
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void register_child(int pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1268,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1271,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - child_limit
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1288
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1288
    functionName: wait_children
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int wait_children(int child_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1296,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1300,1
    - Dst: fork
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1303,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1304,1
    - Dst: run_test_by_id
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1304,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1306,1
    - Dst: register_child
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1310,1
    - Dst: wait_children
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1311,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1316,1
    - Dst: wait_children
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - childcount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1322
      start: 1290
    functionDepth: 4
    functionLinenumber: 1290
    functionLinenumberEnd: 1322
    functionName: run_tests_from_id_list
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - wait_children
    - fscanf
    - register_child
    - rperror
    - run_test_by_id
    - fprintf
    linkageType: ''
    returnType: int
    signature: int run_tests_from_id_list(int childcount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1340,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1341,1
    - Dst: run_one_test
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1341,1
    - Dst: rperror
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1347,1
    - Dst: register_child
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1351,1
    - Dst: wait_children
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1352,1
    - Dst: wait_children
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - childcount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1360
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1360
    functionName: run_all_tests
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - exit
    - fork
    - wait_children
    - register_child
    - rperror
    - run_one_test
    linkageType: ''
    returnType: int
    signature: int run_all_tests(int childcount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - permutations
    - val
    argTypes:
    - char*
    - char*[]
    - int*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1376
    functionName: parse_permutation
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int parse_permutation(const char *arg, const char *permutations[],\n\t\t\t
      \    int *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1411,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1413,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1415,1
    - Dst: strtol
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1420,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1429,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1431,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1433,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1437,1
    - Dst: strtol
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1438,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1442,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1444,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1448,1
    - Dst: strtol
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1449,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1453,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1455,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1459,1
    - Dst: strtol
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1460,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1464,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1466,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1468,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1470,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1474,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1476,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1478,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1482,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1484,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1486,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1489,1
    - Dst: parse_permutation
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1490,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1494,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1497,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1499,1
    - Dst: parse_permutation
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1504,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1506,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1509,1
    - Dst: NEXT_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1511,1
    - Dst: parse_permutation
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1518,1
    - Dst: FAIL_ARG
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1520,1
    - Dst: strcmp
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1543,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1550,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1552,1
    - Dst: setlinebuf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1558,1
    - Dst: global_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1559,1
    - Dst: cred_init
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1560,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1561,1
    - Dst: gnutls_global_set_audit_log_function
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1562,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1563,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1567,1
    - Dst: run_one_test
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1568,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1572,1
    - Dst: fprintf
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1575,1
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1577,1
    - Dst: calloc
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1580,1
    - Dst: run_tests_from_id_list
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1582,1
    - Dst: run_all_tests
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1584,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 156
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1587
      start: 1378
    functionDepth: 5
    functionLinenumber: 1378
    functionLinenumberEnd: 1587
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 4
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - setlinebuf
    - run_tests_from_id_list
    - parse_permutation
    - run_all_tests
    - calloc
    - strtol
    - FAIL_ARG
    - global_init
    - gnutls_global_set_audit_log_function
    - cred_init
    - strcmp
    - NEXT_ARG
    - fprintf
    - gnutls_global_set_log_function
    - run_one_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/dtls/dtls-stress.c:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: main
    functionSourceFile: /src/gnutls/tests/dtls/dtls-stress.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_init_set_str_256_u
      Src: /src/gnutls/tests/suite/prime-check.c:33,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/prime-check.c:35,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/tests/suite/prime-check.c:35,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/prime-check.c:36,1
    - Dst: mpz_probab_prime_p
      Src: /src/gnutls/tests/suite/prime-check.c:36,1
    - Dst: nettle_mpz_init_set_str_256_u
      Src: /src/gnutls/tests/suite/prime-check.c:41,1
    - Dst: mpz_mul_ui
      Src: /src/gnutls/tests/suite/prime-check.c:42,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/tests/suite/prime-check.c:43,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/prime-check.c:44,1
    - Dst: mpz_cmp
      Src: /src/gnutls/tests/suite/prime-check.c:44,1
    - Dst: mpz_clear
      Src: /src/gnutls/tests/suite/prime-check.c:45,1
    - Dst: mpz_clear
      Src: /src/gnutls/tests/suite/prime-check.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - prime
    - _q
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: test_prime
    functionSourceFile: /src/gnutls/tests/suite/prime-check.c
    functionUses: 0
    functionsReached:
    - assert
    - nettle_mpz_init_set_str_256_u
    - mpz_add_ui
    - mpz_probab_prime_p
    - mpz_clear
    - mpz_cmp
    - mpz_mul_ui
    - mpz_sizeinbase
    linkageType: ''
    returnType: void
    signature: void test_prime(const gnutls_datum_t *prime, const gnutls_datum_t *_q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:53,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:54,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:55,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:56,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:57,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:58,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:60,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:61,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:62,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:63,1
    - Dst: test_prime
      Src: /src/gnutls/tests/suite/prime-check.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnutls/tests/suite/prime-check.c
    functionUses: 4
    functionsReached:
    - test_prime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_description_get_name
      Src: /src/gnutls/tests/suite/eagain-cli.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - gnutls_handshake_description_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake_description_get_name
    linkageType: ''
    returnType: char
    signature: 'char *

      SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(gnutls_handshake_description_t status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnutls/tests/suite/eagain-cli.c:62,1
    - Dst: setsockopt
      Src: /src/gnutls/tests/suite/eagain-cli.c:63,1
    - Dst: memset
      Src: /src/gnutls/tests/suite/eagain-cli.c:66,1
    - Dst: htons
      Src: /src/gnutls/tests/suite/eagain-cli.c:68,1
    - Dst: atoi
      Src: /src/gnutls/tests/suite/eagain-cli.c:68,1
    - Dst: inet_pton
      Src: /src/gnutls/tests/suite/eagain-cli.c:70,1
    - Dst: connect
      Src: /src/gnutls/tests/suite/eagain-cli.c:72,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:74,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/eagain-cli.c:75,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:79,1
    - Dst: setsockopt
      Src: /src/gnutls/tests/suite/eagain-cli.c:79,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:81,1
    - Dst: fcntl
      Src: /src/gnutls/tests/suite/eagain-cli.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: _tcp_connect_eagain
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - assert
    - inet_pton
    - fcntl
    - setsockopt
    - connect
    - atoi
    - memset
    - htons
    - fprintf
    linkageType: ''
    returnType: int
    signature: int _tcp_connect_eagain(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/gnutls/tests/suite/eagain-cli.c:88,1
    - Dst: close
      Src: /src/gnutls/tests/suite/eagain-cli.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: tcp_close
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - shutdown
    - close
    linkageType: ''
    returnType: void
    signature: void tcp_close(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:99,1
    - Dst: gettimeofday
      Src: /src/gnutls/tests/suite/eagain-cli.c:99,1
    - Dst: send
      Src: /src/gnutls/tests/suite/eagain-cli.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: _client_push
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - assert
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _client_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \   size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:113,1
    - Dst: gettimeofday
      Src: /src/gnutls/tests/suite/eagain-cli.c:113,1
    - Dst: recv
      Src: /src/gnutls/tests/suite/eagain-cli.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: _client_pull
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - assert
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _client_pull(gnutls_transport_ptr_t tr, void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_system_recv_timeout
      Src: /src/gnutls/tests/suite/eagain-cli.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: _client_pull_timeout
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - gnutls_system_recv_timeout
    linkageType: ''
    returnType: int
    signature: int _client_pull_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:140,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/suite/eagain-cli.c:145,1
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/tests/suite/eagain-cli.c:148,1
    - Dst: ev_io_stop
      Src: /src/gnutls/tests/suite/eagain-cli.c:149,1
    - Dst: ev_io_set
      Src: /src/gnutls/tests/suite/eagain-cli.c:150,1
    - Dst: gnutls_transport_get_int
      Src: /src/gnutls/tests/suite/eagain-cli.c:150,1
    - Dst: ev_io_start
      Src: /src/gnutls/tests/suite/eagain-cli.c:152,1
    - Dst: ev_io_stop
      Src: /src/gnutls/tests/suite/eagain-cli.c:155,1
    - Dst: ev_io_set
      Src: /src/gnutls/tests/suite/eagain-cli.c:156,1
    - Dst: gnutls_transport_get_int
      Src: /src/gnutls/tests/suite/eagain-cli.c:156,1
    - Dst: ev_io_start
      Src: /src/gnutls/tests/suite/eagain-cli.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:163,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/suite/eagain-cli.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/suite/eagain-cli.c:165,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:168,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/tests/suite/eagain-cli.c:169,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/tests/suite/eagain-cli.c:170,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:171,1
    - Dst: SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
      Src: /src/gnutls/tests/suite/eagain-cli.c:172,1
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/tests/suite/eagain-cli.c:173,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:174,1
    - Dst: SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
      Src: /src/gnutls/tests/suite/eagain-cli.c:175,1
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/tests/suite/eagain-cli.c:176,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/suite/eagain-cli.c:179,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/eagain-cli.c:180,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/eagain-cli.c:181,1
    - Dst: ev_io_stop
      Src: /src/gnutls/tests/suite/eagain-cli.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 194
    functionName: _process_data
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    - assert
    - gnutls_transport_get_int
    - gnutls_strerror
    - exit
    - gnutls_handshake_get_last_out
    - gnutls_strerror_name
    - SSL_GNUTLS_PRINT_HANDSHAKE_STATUS
    - ev_io_set
    - gnutls_handshake
    - gnutls_handshake_get_last_in
    - ev_io_start
    - gnutls_record_get_direction
    - gnutls_error_is_fatal
    - gnutls_alert_get_name
    - fprintf
    - ev_io_stop
    linkageType: ''
    returnType: void
    signature: void _process_data(EV_P_ ev_io *w, int revents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/suite/eagain-cli.c:201,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/suite/eagain-cli.c:203,1
    - Dst: printf
      Src: /src/gnutls/tests/suite/eagain-cli.c:205,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:211,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/suite/eagain-cli.c:211,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/suite/eagain-cli.c:212,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/suite/eagain-cli.c:213,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/tests/suite/eagain-cli.c:214,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/suite/eagain-cli.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/eagain-cli.c:219,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/suite/eagain-cli.c:219,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/suite/eagain-cli.c:220,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/tests/suite/eagain-cli.c:222,1
    - Dst: strlen
      Src: /src/gnutls/tests/suite/eagain-cli.c:223,1
    - Dst: _tcp_connect_eagain
      Src: /src/gnutls/tests/suite/eagain-cli.c:225,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/suite/eagain-cli.c:228,1
    - Dst: ev_io_init
      Src: /src/gnutls/tests/suite/eagain-cli.c:231,1
    - Dst: ev_io_start
      Src: /src/gnutls/tests/suite/eagain-cli.c:232,1
    - Dst: ev_loop
      Src: /src/gnutls/tests/suite/eagain-cli.c:235,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/suite/eagain-cli.c:238,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/suite/eagain-cli.c:241,1
    - Dst: tcp_close
      Src: /src/gnutls/tests/suite/eagain-cli.c:244,1
    - Dst: ev_loop_destroy
      Src: /src/gnutls/tests/suite/eagain-cli.c:247,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/suite/eagain-cli.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - name
    - prio
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: try
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 31
    functionsReached:
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - ev_io_start
    - printf
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_int
    - assert
    - strlen
    - ev_loop_destroy
    - gnutls_certificate_allocate_credentials
    - _tcp_connect_eagain
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - tcp_close
    - ev_loop
    - global_init
    - ev_io_init
    linkageType: ''
    returnType: void
    signature: void try(const char *name, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/gnutls/tests/suite/eagain-cli.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/suite/rng.c:41,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/rng.c:44,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/rng.c:47,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/suite/rng.c:50,1
    - Dst: strcasecmp
      Src: /src/gnutls/tests/suite/rng.c:52,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/rng.c:55,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/rng.c:56,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/rng.c:58,1
    - Dst: atoi
      Src: /src/gnutls/tests/suite/rng.c:61,1
    - Dst: fopen
      Src: /src/gnutls/tests/suite/rng.c:63,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/rng.c:65,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/rng.c:66,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/suite/rng.c:70,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/rng.c:71,1
    - Dst: fwrite
      Src: /src/gnutls/tests/suite/rng.c:73,1
    - Dst: fclose
      Src: /src/gnutls/tests/suite/rng.c:75,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/suite/rng.c:77,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/rng.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 79
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnutls/tests/suite/rng.c
    functionUses: 4
    functionsReached:
    - fopen
    - exit
    - fclose
    - gnutls_global_deinit
    - fwrite
    - atoi
    - gnutls_rnd
    - gnutls_global_init
    - strcasecmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/tests/suite/mini-record-timing.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - _data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: push
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 20
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t push(gnutls_transport_ptr_t tr, const void *_data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/suite/mini-record-timing.c:123,1
    - Dst: abort
      Src: /src/gnutls/tests/suite/mini-record-timing.c:128,1
    - Dst: memmove
      Src: /src/gnutls/tests/suite/mini-record-timing.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:139,1
    - Dst: memmove
      Src: /src/gnutls/tests/suite/mini-record-timing.c:140,1
    - Dst: send
      Src: /src/gnutls/tests/suite/mini-record-timing.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - tr
    - _data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 145
    functionName: push_crippled
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - memmove
    - gnutls_session_get_ptr
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t push_crippled(gnutls_transport_ptr_t tr, const void *_data,\n\t\t\t
      \    size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: timespec_sub_ns
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long timespec_sub_ns(struct timespec *a, struct timespec *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/suite/mini-record-timing.c:168,1
    - Dst: malloc
      Src: /src/gnutls/tests/suite/mini-record-timing.c:170,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:171,1
    - Dst: setpriority
      Src: /src/gnutls/tests/suite/mini-record-timing.c:173,1
    - Dst: getpid
      Src: /src/gnutls/tests/suite/mini-record-timing.c:173,1
    - Dst: memset
      Src: /src/gnutls/tests/suite/mini-record-timing.c:175,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/suite/mini-record-timing.c:178,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/suite/mini-record-timing.c:179,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/suite/mini-record-timing.c:182,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/suite/mini-record-timing.c:183,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:188,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/suite/mini-record-timing.c:188,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/suite/mini-record-timing.c:189,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/suite/mini-record-timing.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:195,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:196,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/suite/mini-record-timing.c:201,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/suite/mini-record-timing.c:202,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/suite/mini-record-timing.c:207,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/suite/mini-record-timing.c:208,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:213,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/suite/mini-record-timing.c:216,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:220,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/suite/mini-record-timing.c:223,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/suite/mini-record-timing.c:227,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/suite/mini-record-timing.c:232,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:239,1
    - Dst: printf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:245,1
    - Dst: memcpy
      Src: /src/gnutls/tests/suite/mini-record-timing.c:255,1
    - Dst: abort
      Src: /src/gnutls/tests/suite/mini-record-timing.c:269,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:273,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/suite/mini-record-timing.c:275,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/suite/mini-record-timing.c:277,1
    - Dst: fopen
      Src: /src/gnutls/tests/suite/mini-record-timing.c:283,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:284,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:286,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:288,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:291,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:293,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:295,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:300,1
    - Dst: printf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:302,1
    - Dst: fclose
      Src: /src/gnutls/tests/suite/mini-record-timing.c:304,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:308,1
    - Dst: close
      Src: /src/gnutls/tests/suite/mini-record-timing.c:310,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:312,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/suite/mini-record-timing.c:314,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:316,1
    - Dst: free
      Src: /src/gnutls/tests/suite/mini-record-timing.c:317,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 4
    argNames:
    - fd
    - prio
    - text_size
    - test
    argTypes:
    - int
    - char*
    - unsigned int
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 318
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 318
    functionName: client
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 120
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - getpid
    - gnutls_record_recv
    - printf
    - setpriority
    - gnutls_global_set_log_function
    - fclose
    - free
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - fopen
    - assert
    - exit
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_global_init
    - gnutls_psk_free_client_credentials
    - malloc
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - gnutls_psk_allocate_client_credentials
    - memcpy
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void client(int fd, const char *prio, unsigned int text_size,\n\t\t
      \  struct test_st *test)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/suite/mini-record-timing.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached:
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpriority
      Src: /src/gnutls/tests/suite/mini-record-timing.c:347,1
    - Dst: getpid
      Src: /src/gnutls/tests/suite/mini-record-timing.c:347,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/suite/mini-record-timing.c:349,1
    - Dst: memset
      Src: /src/gnutls/tests/suite/mini-record-timing.c:350,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/suite/mini-record-timing.c:353,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/suite/mini-record-timing.c:354,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:356,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/suite/mini-record-timing.c:356,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/suite/mini-record-timing.c:357,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:358,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/suite/mini-record-timing.c:358,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/suite/mini-record-timing.c:363,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:364,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:365,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:366,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/suite/mini-record-timing.c:369,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/suite/mini-record-timing.c:370,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/suite/mini-record-timing.c:373,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/suite/mini-record-timing.c:374,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:383,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:384,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:385,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:390,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/suite/mini-record-timing.c:390,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:392,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/tests/suite/mini-record-timing.c:392,1
    - Dst: recv
      Src: /src/gnutls/tests/suite/mini-record-timing.c:397,1
    - Dst: __rdtscp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:401,1
    - Dst: clock_gettime
      Src: /src/gnutls/tests/suite/mini-record-timing.c:403,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/suite/mini-record-timing.c:407,1
    - Dst: __rdtscp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:411,1
    - Dst: clock_gettime
      Src: /src/gnutls/tests/suite/mini-record-timing.c:414,1
    - Dst: timespec_sub_ns
      Src: /src/gnutls/tests/suite/mini-record-timing.c:415,1
    - Dst: gnutls_session_force_valid
      Src: /src/gnutls/tests/suite/mini-record-timing.c:419,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/suite/mini-record-timing.c:421,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:433,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/suite/mini-record-timing.c:437,1
    - Dst: close
      Src: /src/gnutls/tests/suite/mini-record-timing.c:440,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:441,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/suite/mini-record-timing.c:443,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:445,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 2
    argNames:
    - fd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 446
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 446
    functionName: server
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 139
    functionsReached:
    - timespec_sub_ns
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - getpid
    - gnutls_record_recv
    - setpriority
    - gnutls_session_etm_status
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - __rdtscp
    - assert
    - exit
    - gnutls_session_force_valid
    - gnutls_priority_set_direct
    - clock_gettime
    - gnutls_global_init
    - recv
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_psk_set_server_credentials_function
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server(int fd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/gnutls/tests/suite/mini-record-timing.c:454,1
    - Dst: perror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:456,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:457,1
    - Dst: fork
      Src: /src/gnutls/tests/suite/mini-record-timing.c:460,1
    - Dst: perror
      Src: /src/gnutls/tests/suite/mini-record-timing.c:462,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:463,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:464,1
    - Dst: close
      Src: /src/gnutls/tests/suite/mini-record-timing.c:469,1
    - Dst: server
      Src: /src/gnutls/tests/suite/mini-record-timing.c:470,1
    - Dst: kill
      Src: /src/gnutls/tests/suite/mini-record-timing.c:471,1
    - Dst: close
      Src: /src/gnutls/tests/suite/mini-record-timing.c:473,1
    - Dst: client
      Src: /src/gnutls/tests/suite/mini-record-timing.c:474,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - prio
    - text_size
    - p
    argTypes:
    - char*
    - unsigned int
    - struct test_st*
    constantsTouched: []
    func_position:
      end: 477
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 477
    functionName: start
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 159
    functionsReached:
    - exit
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fprintf
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *prio, unsigned int text_size, struct test_st
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/suite/mini-record-timing.c:482,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/suite/mini-record-timing.c:483,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/suite/mini-record-timing.c:484,1
    - Dst: WTERMSIG
      Src: /src/gnutls/tests/suite/mini-record-timing.c:484,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/suite/mini-record-timing.c:486,1
    - Dst: write
      Src: /src/gnutls/tests/suite/mini-record-timing.c:488,1
    - Dst: stpcpy
      Src: /src/gnutls/tests/suite/mini-record-timing.c:494,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/suite/mini-record-timing.c:496,1
    - Dst: write
      Src: /src/gnutls/tests/suite/mini-record-timing.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 512
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 512
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - wait
    - WEXITSTATUS
    - stpcpy
    - write
    - WTERMSIG
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:613,1
    - Dst: clock_getres
      Src: /src/gnutls/tests/suite/mini-record-timing.c:613,1
    - Dst: assert
      Src: /src/gnutls/tests/suite/mini-record-timing.c:614,1
    - Dst: signal
      Src: /src/gnutls/tests/suite/mini-record-timing.c:616,1
    - Dst: signal
      Src: /src/gnutls/tests/suite/mini-record-timing.c:617,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:620,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:623,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:626,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:629,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:632,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:635,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:638,1
    - Dst: strcmp
      Src: /src/gnutls/tests/suite/mini-record-timing.c:641,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:645,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:646,1
    - Dst: fprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:649,1
    - Dst: exit
      Src: /src/gnutls/tests/suite/mini-record-timing.c:651,1
    - Dst: memset
      Src: /src/gnutls/tests/suite/mini-record-timing.c:654,1
    - Dst: malloc
      Src: /src/gnutls/tests/suite/mini-record-timing.c:658,1
    - Dst: memset
      Src: /src/gnutls/tests/suite/mini-record-timing.c:662,1
    - Dst: remove
      Src: /src/gnutls/tests/suite/mini-record-timing.c:669,1
    - Dst: snprintf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:670,1
    - Dst: printf
      Src: /src/gnutls/tests/suite/mini-record-timing.c:679,1
    - Dst: start
      Src: /src/gnutls/tests/suite/mini-record-timing.c:680,1
    - Dst: signal
      Src: /src/gnutls/tests/suite/mini-record-timing.c:682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 685
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 685
    functionName: main
    functionSourceFile: /src/gnutls/tests/suite/mini-record-timing.c
    functionUses: 4
    functionsReached:
    - remove
    - assert
    - clock_getres
    - exit
    - signal
    - snprintf
    - strcmp
    - memset
    - printf
    - malloc
    - fprintf
    - start
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hKey
    - dwFlags
    argTypes:
    - NCRYPT_KEY_HANDLE
    - DWORD
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: NCryptDeleteKey
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - debug_func
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: SECURITY_STATUS NCryptDeleteKey(NCRYPT_KEY_HANDLE hKey, DWORD dwFlags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - phProvider
    - pszProviderName
    - dwFlags
    argTypes:
    - NCRYPT_PROV_HANDLE*
    - LPCWSTR
    - DWORD
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: NCryptOpenStorageProvider
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - debug_func
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: "SECURITY_STATUS NCryptOpenStorageProvider(NCRYPT_PROV_HANDLE *phProvider,\n\t\t\t\t
      \ LPCWSTR pszProviderName, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:71,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:72,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/windows/ncrypt.c:72,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:74,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/tests/windows/ncrypt.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - hProvider
    - phKey
    - pszKeyName
    - dwLegacyKeySpec
    - dwFlags
    argTypes:
    - NCRYPT_PROV_HANDLE
    - NCRYPT_KEY_HANDLE*
    - LPCWSTR
    - DWORD
    - DWORD
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: NCryptOpenKey
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - assert_int_nequal
    - debug_func
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: "SECURITY_STATUS NCryptOpenKey(NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE
      *phKey,\n\t\t      LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/ncrypt.c:89,1
    - Dst: memcpy
      Src: /src/gnutls/tests/windows/ncrypt.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - hObject
    - pszProperty
    - pbOutput
    - cbOutput
    - pcbResult
    - dwFlags
    argTypes:
    - NCRYPT_HANDLE
    - LPCWSTR
    - PBYTE
    - DWORD
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: NCryptGetProperty
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - debug_func
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: "SECURITY_STATUS NCryptGetProperty(NCRYPT_HANDLE hObject, LPCWSTR pszProperty,\n\t\t\t
      \ PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult,\n\t\t\t  DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:97,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/windows/ncrypt.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hObject
    argTypes:
    - NCRYPT_HANDLE
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: NCryptFreeObject
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_deinit
    - debug_func
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: SECURITY_STATUS NCryptFreeObject(NCRYPT_HANDLE hObject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:109,1
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:113,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:119,1
    - Dst: gnutls_privkey_decrypt_data
      Src: /src/gnutls/tests/windows/ncrypt.c:119,1
    - Dst: memcpy
      Src: /src/gnutls/tests/windows/ncrypt.c:124,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/ncrypt.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - hKey
    - pbInput
    - cbInput
    - pPaddingInfo
    - pbOutput
    - cbOutput
    - pcbResult
    - dwFlags
    argTypes:
    - NCRYPT_KEY_HANDLE
    - PBYTE
    - DWORD
    - VOID*
    - PBYTE
    - DWORD
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: NCryptDecrypt
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - assert_int_nequal
    - debug_func
    - memcpy
    - gnutls_privkey_decrypt_data
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: "SECURITY_STATUS NCryptDecrypt(NCRYPT_KEY_HANDLE hKey, PBYTE pbInput,
      DWORD cbInput,\n\t\t      VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput,\n\t\t
      \     DWORD *pcbResult, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - WCHAR*
    - WCHAR*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: StrCmpW
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int StrCmpW(const WCHAR *str1, const WCHAR *str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_func
      Src: /src/gnutls/tests/windows/ncrypt.c:149,1
    - Dst: StrCmpW
      Src: /src/gnutls/tests/windows/ncrypt.c:154,1
    - Dst: StrCmpW
      Src: /src/gnutls/tests/windows/ncrypt.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/ncrypt.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/ncrypt.c:169,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:172,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/windows/ncrypt.c:172,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/ncrypt.c:178,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/windows/ncrypt.c:178,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/ncrypt.c:185,1
    - Dst: memcpy
      Src: /src/gnutls/tests/windows/ncrypt.c:186,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/ncrypt.c:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 8
    argNames:
    - hKey
    - pPaddingInfo
    - pbHashValue
    - cbHashValue
    - pbSignature
    - cbSignature
    - pcbResult
    - dwFlags
    argTypes:
    - NCRYPT_KEY_HANDLE
    - VOID*
    - PBYTE
    - DWORD
    - PBYTE
    - DWORD
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 191
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 191
    functionName: NCryptSignHash
    functionSourceFile: /src/gnutls/tests/windows/ncrypt.c
    functionUses: 0
    functionsReached:
    - assert
    - assert_int_nequal
    - gnutls_free
    - debug_func
    - memcpy
    - gnutls_privkey_sign_hash
    - StrCmpW
    linkageType: ''
    returnType: SECURITY_STATUS
    signature: "SECURITY_STATUS NCryptSignHash(NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo,\n\t\t
      \      PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature,\n\t\t       DWORD
      cbSignature, DWORD *pcbResult, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/windows/cng-windows.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: doit
    functionSourceFile: /src/gnutls/tests/windows/cng-windows.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/windows/cng-windows.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/windows/cng-windows.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/cng-windows.c:94,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/tests/windows/cng-windows.c:94,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/cng-windows.c:96,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/tests/windows/cng-windows.c:96,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/cng-windows.c:98,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/tests/windows/cng-windows.c:98,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/cng-windows.c:102,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/tests/windows/cng-windows.c:102,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/cng-windows.c:106,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/windows/cng-windows.c:106,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/windows/cng-windows.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:113,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/windows/cng-windows.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:118,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/cng-windows.c:120,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/windows/cng-windows.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:127,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/windows/cng-windows.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/cng-windows.c:134,1
    - Dst: gnutls_encode_ber_digest_info
      Src: /src/gnutls/tests/windows/cng-windows.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:141,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/tests/windows/cng-windows.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:146,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/tests/windows/cng-windows.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/cng-windows.c:151,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/cng-windows.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/windows/cng-windows.c:154,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/tests/windows/cng-windows.c:155,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/tests/windows/cng-windows.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 157
    functionName: test_sig
    functionSourceFile: /src/gnutls/tests/windows/cng-windows.c
    functionUses: 3
    functionsReached:
    - gnutls_encode_ber_digest_info
    - gnutls_pubkey_import_x509_raw
    - assert_int_nequal
    - assert
    - gnutls_free
    - gnutls_pubkey_verify_hash2
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - gnutls_privkey_import_url
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: void
    signature: void test_sig(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/tests/windows/cng-windows.c:161,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/windows/cng-windows.c:162,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/windows/cng-windows.c:164,1
    - Dst: test_sig
      Src: /src/gnutls/tests/windows/cng-windows.c:166,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/windows/cng-windows.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: doit
    functionSourceFile: /src/gnutls/tests/windows/cng-windows.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - test_sig
    - gnutls_global_init
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hprov
    - szSubsystemProtocol
    argTypes:
    - HCRYPTPROV_LEGACY
    - LPCSTR
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: CertOpenSystemStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HCERTSTORE
    signature: HCERTSTORE CertOpenSystemStore(HCRYPTPROV_LEGACY hprov, LPCSTR szSubsystemProtocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - lpszStoreProvider
    - dwEncodingType
    - hCryptProv
    - dwFlags
    - pvPara
    argTypes:
    - LPCSTR
    - DWORD
    - HCRYPTPROV_LEGACY
    - DWORD
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: CertOpenStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HCERTSTORE
    signature: "HCERTSTORE CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwEncodingType,\n\t\t
      \     HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags,\n\t\t      const void *pvPara)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/crypt32.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hCertStore
    - dwFlags
    argTypes:
    - HCERTSTORE
    - DWORD
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: CertCloseStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 1
    functionsReached:
    - assert_int_nequal
    linkageType: ''
    returnType: BOOL
    signature: BOOL CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/crypt32.c:80,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/crypt32.c:82,1
    - Dst: assert_int_nequal
      Src: /src/gnutls/tests/windows/crypt32.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - hCertStore
    - dwCertEncodingType
    - dwFindFlags
    - dwFindType
    - pvFindPara
    - pPrevCertContext
    argTypes:
    - HCERTSTORE
    - DWORD
    - DWORD
    - DWORD
    - void*
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: CertFindCertificateInStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached:
    - assert_int_nequal
    linkageType: ''
    returnType: PCCERT_CONTEXT
    signature: "PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE hCertStore,\n\t\t\t\t
      \  DWORD dwCertEncodingType, DWORD dwFindFlags,\n\t\t\t\t   DWORD dwFindType,
      const void *pvFindPara,\n\t\t\t\t   PCCERT_CONTEXT pPrevCertContext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/tests/windows/crypt32.c:94,1
    - Dst: snprintf
      Src: /src/gnutls/tests/windows/crypt32.c:99,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/crypt32.c:112,1
    - Dst: memset
      Src: /src/gnutls/tests/windows/crypt32.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/windows/crypt32.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pCertContext
    - dwPropId
    - pvData
    - pcbData
    argTypes:
    - PCCERT_CONTEXT
    - DWORD
    - void*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: CertGetCertificateContextProperty
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached:
    - assert
    - snprintf
    - memset
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CertGetCertificateContextProperty(PCCERT_CONTEXT pCertContext,\n\t\t\t\t\t
      \ DWORD dwPropId, void *pvData,\n\t\t\t\t\t  DWORD *pcbData)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hCertStore
    - pPrevCrlContext
    argTypes:
    - HCERTSTORE
    - PCCRL_CONTEXT
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: CertEnumCRLsInStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCCRL_CONTEXT
    signature: "PCCRL_CONTEXT CertEnumCRLsInStore(HCERTSTORE hCertStore,\n\t\t\t    PCCRL_CONTEXT
      pPrevCrlContext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCertContext
    argTypes:
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: CertDeleteCertificateFromStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL CertDeleteCertificateFromStore(PCCERT_CONTEXT pCertContext)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPFX
    - szPassword
    - dwFlags
    argTypes:
    - CRYPT_DATA_BLOB*
    - LPCWSTR
    - DWORD
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: PFXImportCertStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HCERTSTORE
    signature: "HCERTSTORE PFXImportCertStore(CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword,\n\t\t\t
      \  DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hCertStore
    - pPrevCertContext
    argTypes:
    - HCERTSTORE
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: CertEnumCertificatesInStore
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PCCERT_CONTEXT
    signature: "PCCERT_CONTEXT CertEnumCertificatesInStore(HCERTSTORE hCertStore,\n\t\t\t\t
      \   PCCERT_CONTEXT pPrevCertContext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCertContext
    argTypes:
    - PCCERT_CONTEXT
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: CertFreeCertificateContext
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - hProv
    - dwParam
    - pbData
    - pdwDataLen
    - dwFlags
    argTypes:
    - HCRYPTPROV
    - DWORD
    - BYTE*
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: CryptGetProvParam
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,\n\t\t\t
      \ DWORD *pdwDataLen, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - phProv
    - szContainer
    - szProvider
    - dwProvType
    - dwFlags
    argTypes:
    - HCRYPTPROV*
    - LPCWSTR
    - LPCWSTR
    - DWORD
    - DWORD
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: CryptAcquireContextW
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR szContainer,\n\t\t\t
      \    LPCWSTR szProvider, DWORD dwProvType,\n\t\t\t     DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hKey
    - hHash
    - Final
    - dwFlags
    - pbData
    - pdwDataLen
    argTypes:
    - HCRYPTKEY
    - HCRYPTHASH
    - BOOL
    - DWORD
    - BYTE*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: CryptDecrypt
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final,\n\t\t
      \    DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hHash
    argTypes:
    - HCRYPTHASH
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: CryptDestroyHash
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL CryptDestroyHash(HCRYPTHASH hHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hHash
    - dwKeySpec
    - sDescription
    - dwFlags
    - pbSignature
    - pdwSigLen
    argTypes:
    - HCRYPTHASH
    - DWORD
    - LPCTSTR
    - DWORD
    - BYTE*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: CryptSignHash
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptSignHash(HCRYPTHASH hHash, DWORD dwKeySpec, LPCTSTR sDescription,\n\t\t
      \     DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - hHash
    - dwParam
    - pbData
    - pdwDataLen
    - dwFlags
    argTypes:
    - HCRYPTHASH
    - DWORD
    - BYTE*
    - DWORD*
    - DWORD
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: CryptGetHashParam
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData,\n\t\t\t
      \ DWORD *pdwDataLen, DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hHash
    - dwParam
    - pbData
    - dwFlags
    argTypes:
    - HCRYPTHASH
    - DWORD
    - BYTE*
    - DWORD
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: CryptSetHashParam
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptSetHashParam(HCRYPTHASH hHash, DWORD dwParam, const BYTE
      *pbData,\n\t\t\t  DWORD dwFlags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - hProv
    - Algid
    - hKey
    - dwFlags
    - phHash
    argTypes:
    - HCRYPTPROV
    - ALG_ID
    - HCRYPTKEY
    - DWORD
    - HCRYPTHASH*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: CryptCreateHash
    functionSourceFile: /src/gnutls/tests/windows/crypt32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: "BOOL CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey,\n\t\t\tDWORD
      dwFlags, HCRYPTHASH *phHash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/slow/hash-large.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: doit
    functionSourceFile: /src/gnutls/tests/slow/hash-large.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnutls/tests/slow/hash-large.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: exit_77
    functionSourceFile: /src/gnutls/tests/slow/hash-large.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void exit_77(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/gnutls/tests/slow/hash-large.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: get_mem
    functionSourceFile: /src/gnutls/tests/slow/hash-large.c
    functionUses: 0
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: void *get_mem(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/gnutls/tests/slow/hash-large.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: put_mem
    functionSourceFile: /src/gnutls/tests/slow/hash-large.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void put_mem(void *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/slow/hash-large.c:81,1
    - Dst: signal
      Src: /src/gnutls/tests/slow/hash-large.c:84,1
    - Dst: signal
      Src: /src/gnutls/tests/slow/hash-large.c:85,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/hash-large.c:88,1
    - Dst: get_mem
      Src: /src/gnutls/tests/slow/hash-large.c:91,1
    - Dst: exit
      Src: /src/gnutls/tests/slow/hash-large.c:93,1
    - Dst: exit
      Src: /src/gnutls/tests/slow/hash-large.c:96,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/tests/slow/hash-large.c:98,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:100,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/hash-large.c:104,1
    - Dst: success
      Src: /src/gnutls/tests/slow/hash-large.c:106,1
    - Dst: hexprint
      Src: /src/gnutls/tests/slow/hash-large.c:109,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:110,1
    - Dst: gnutls_hash_init
      Src: /src/gnutls/tests/slow/hash-large.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:116,1
    - Dst: MIN
      Src: /src/gnutls/tests/slow/hash-large.c:122,1
    - Dst: gnutls_hash
      Src: /src/gnutls/tests/slow/hash-large.c:123,1
    - Dst: gnutls_hash_output
      Src: /src/gnutls/tests/slow/hash-large.c:128,1
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/tests/slow/hash-large.c:129,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/hash-large.c:130,1
    - Dst: success
      Src: /src/gnutls/tests/slow/hash-large.c:132,1
    - Dst: hexprint
      Src: /src/gnutls/tests/slow/hash-large.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:136,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/tests/slow/hash-large.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:143,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/hash-large.c:147,1
    - Dst: success
      Src: /src/gnutls/tests/slow/hash-large.c:149,1
    - Dst: hexprint
      Src: /src/gnutls/tests/slow/hash-large.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:152,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/tests/slow/hash-large.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:159,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/hash-large.c:163,1
    - Dst: success
      Src: /src/gnutls/tests/slow/hash-large.c:165,1
    - Dst: hexprint
      Src: /src/gnutls/tests/slow/hash-large.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/hash-large.c:168,1
    - Dst: put_mem
      Src: /src/gnutls/tests/slow/hash-large.c:172,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/hash-large.c:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 174
    functionName: doit
    functionSourceFile: /src/gnutls/tests/slow/hash-large.c
    functionUses: 1
    functionsReached:
    - gnutls_hmac_fast
    - exit
    - success
    - gnutls_hash_output
    - gnutls_global_deinit
    - signal
    - gnutls_hash_init
    - put_mem
    - memcmp
    - global_init
    - gnutls_hash
    - gnutls_hash_deinit
    - gnutls_hash_fast
    - hexprint
    - MIN
    - get_mem
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/slow/cipher-api-test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:74,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:77,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:78,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:80,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:81,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:84,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:86,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:90,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:95,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:97,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:99,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:101,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 104
    functionName: test_cipher_happy
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_global_deinit
    - global_init
    - gnutls_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_cipher_happy(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:118,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:122,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:124,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:125,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:126,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:128,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:130,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:132,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:134,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:139,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:144,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:146,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/slow/cipher-api-test.c:148,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:150,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 153
    functionName: test_cipher_invalid_partial
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_global_deinit
    - gnutls_strerror_name
    - global_init
    - gnutls_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_cipher_invalid_partial(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:173,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:176,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:177,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:180,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:182,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:183,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:184,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:185,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:186,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:187,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:189,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:191,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:195,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:197,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:199,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:209,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/slow/cipher-api-test.c:215,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/cipher-api-test.c:217,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:218,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:220,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 224
    functionName: test_aead_happy
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_strerror
    - gnutls_global_deinit
    - gnutls_aead_cipher_encrypt
    - gnutls_cipher_get_tag_size
    - gnutls_aead_cipher_decrypt
    - memcmp
    - global_init
    - gnutls_aead_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - gnutls_aead_cipher_deinit
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_aead_happy(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:240,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:241,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:244,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:245,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:247,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:248,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:249,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:251,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:253,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:257,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:262,1
    - Dst: gnutls_cipher_add_auth
      Src: /src/gnutls/tests/slow/cipher-api-test.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:266,1
    - Dst: gnutls_cipher_add_auth
      Src: /src/gnutls/tests/slow/cipher-api-test.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:272,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/slow/cipher-api-test.c:274,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:276,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 280
    functionName: test_aead_invalid_add_auth
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_cipher_deinit
    - gnutls_global_deinit
    - gnutls_cipher_add_auth
    - gnutls_strerror_name
    - global_init
    - gnutls_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_aead_invalid_add_auth(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:293,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:294,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:297,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:298,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:300,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:301,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:302,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:304,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:306,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:308,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:310,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:313,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:315,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:318,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:320,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:324,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:326,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/slow/cipher-api-test.c:328,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:330,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 334
    functionName: test_aead_invalid_partial_encrypt
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_global_deinit
    - gnutls_strerror_name
    - global_init
    - gnutls_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_aead_invalid_partial_encrypt(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:352,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:353,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:356,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:357,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:359,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:361,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:362,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:363,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:364,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:365,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:367,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:369,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:371,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:373,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:375,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:377,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:380,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:384,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:387,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:390,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:394,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:396,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/slow/cipher-api-test.c:398,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:400,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 404
    functionName: test_aead_invalid_short_decrypt
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_global_deinit
    - gnutls_aead_cipher_encrypt
    - gnutls_strerror_name
    - gnutls_cipher_get_tag_size
    - gnutls_aead_cipher_decrypt
    - global_init
    - gnutls_aead_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - gnutls_aead_cipher_deinit
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_aead_invalid_short_decrypt(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:425,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:426,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-api-test.c:429,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-api-test.c:430,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:432,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:433,1
    - Dst: memset
      Src: /src/gnutls/tests/slow/cipher-api-test.c:434,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-api-test.c:436,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-api-test.c:438,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:440,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:442,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/tests/slow/cipher-api-test.c:445,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:447,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:450,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:452,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-api-test.c:459,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:461,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:463,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/tests/slow/cipher-api-test.c:465,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:467,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 471
    functionName: test_aead_invalid_too_long_encrypt
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - assert
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_global_deinit
    - gnutls_strerror_name
    - global_init
    - gnutls_cipher_init
    - memset
    - gnutls_cipher_get_iv_size
    - fail
    - gnutls_global_set_log_function
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: void
    signature: void test_aead_invalid_too_long_encrypt(int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/slow/cipher-api-test.c:476,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/slow/cipher-api-test.c:477,1
    - Dst: WTERMSIG
      Src: /src/gnutls/tests/slow/cipher-api-test.c:477,1
    - Dst: WIFSIGNALED
      Src: /src/gnutls/tests/slow/cipher-api-test.c:478,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:479,1
    - Dst: WTERMSIG
      Src: /src/gnutls/tests/slow/cipher-api-test.c:479,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:481,1
    - Dst: WEXITSTATUS
      Src: /src/gnutls/tests/slow/cipher-api-test.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: check_status
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - fail
    - WTERMSIG
    - WIFSIGNALED
    - WEXITSTATUS
    linkageType: ''
    returnType: void
    signature: void check_status(int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/gnutls/tests/slow/cipher-api-test.c:493,1
    - Dst: perror
      Src: /src/gnutls/tests/slow/cipher-api-test.c:495,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-api-test.c:496,1
    - Dst: wait
      Src: /src/gnutls/tests/slow/cipher-api-test.c:503,1
    - Dst: check_status
      Src: /src/gnutls/tests/slow/cipher-api-test.c:504,1
    - Dst: func
      Src: /src/gnutls/tests/slow/cipher-api-test.c:506,1
    - Dst: exit
      Src: /src/gnutls/tests/slow/cipher-api-test.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - func
    - algo
    argTypes:
    - subtest
    - int
    constantsTouched: []
    func_position:
      end: 509
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 509
    functionName: fork_subtest
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - check_status
    - wait
    - func
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void fork_subtest(subtest func, int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:513,1
    - Dst: signal
      Src: /src/gnutls/tests/slow/cipher-api-test.c:515,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:517,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:518,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:521,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:522,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:526,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:527,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:529,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:530,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:532,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:533,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:535,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:536,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-api-test.c:539,1
    - Dst: fork_subtest
      Src: /src/gnutls/tests/slow/cipher-api-test.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - name
    - algo
    - aead
    argTypes:
    - char*
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 544
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 544
    functionName: start
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 160
    functionsReached:
    - signal
    - success
    - fork_subtest
    linkageType: ''
    returnType: void
    signature: void start(const char *name, int algo, unsigned aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:548,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:549,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:550,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:551,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:552,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:553,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/slow/cipher-api-test.c:554,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:555,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:556,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:557,1
    - Dst: start
      Src: /src/gnutls/tests/slow/cipher-api-test.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 560
    functionName: doit
    functionSourceFile: /src/gnutls/tests/slow/cipher-api-test.c
    functionUses: 1
    functionsReached:
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:39,1
    - Dst: EVP_get_cipherbyname
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:46,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:51,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:56,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:56,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:58,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:58,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:60,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:60,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:61,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:61,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:64,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:65,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:65,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:68,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:71,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:71,1
    - Dst: success
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:78,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:89,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:90,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:96,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:100,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:102,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:107,1
    - Dst: EVP_CipherInit_ex
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:110,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:110,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:112,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:112,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:117,1
    - Dst: EVP_CipherInit_ex
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:121,1
    - Dst: EVP_CipherUpdate
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:126,1
    - Dst: EVP_CipherUpdate
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:126,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:131,1
    - Dst: EVP_CipherUpdate
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:131,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:147,1
    - Dst: EVP_CipherInit_ex
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:147,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:150,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:157,1
    - Dst: EVP_CipherUpdate
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:157,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:162,1
    - Dst: EVP_CipherUpdate
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:162,1
    - Dst: assert
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:168,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:168,1
    - Dst: memcmp
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:174,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 3
    argNames:
    - ocipher
    - gcipher
    - tag_size
    argTypes:
    - char*
    - gnutls_cipher_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 182
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 182
    functionName: cipher_test
    functionSourceFile: /src/gnutls/tests/slow/cipher-openssl-compat.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_encrypt
    - gnutls_rnd
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_ctrl
    - gnutls_cipher_get_iv_size
    - memcmp
    - gnutls_aead_cipher_init
    - success
    - assert
    - EVP_get_cipherbyname
    - EVP_CipherFinal_ex
    - EVP_CIPHER_CTX_free
    - gnutls_aead_cipher_deinit
    - EVP_CipherUpdate
    - gnutls_strerror
    - gnutls_aead_cipher_decrypt
    - EVP_CipherInit_ex
    - fprintf
    - fail
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: "int cipher_test(const char *ocipher, gnutls_cipher_algorithm_t gcipher,\n\t\t
      \      unsigned tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/slow/cipher-openssl-compat.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:191,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:193,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:195,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:196,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:199,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:200,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:201,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:203,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:204,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:207,1
    - Dst: cipher_test
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:208,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-openssl-compat.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: doit
    functionSourceFile: /src/gnutls/tests/slow/cipher-openssl-compat.c
    functionUses: 1
    functionsReached:
    - OpenSSL_add_all_algorithms
    - gnutls_global_deinit
    - gnutls_fips140_mode_enabled
    - global_init
    - cipher_test
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/slow/gendh.c:35,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/gendh.c:37,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/tests/slow/gendh.c:39,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/gendh.c:40,1
    - Dst: gnutls_dh_params_generate2
      Src: /src/gnutls/tests/slow/gendh.c:42,1
    - Dst: fail
      Src: /src/gnutls/tests/slow/gendh.c:43,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/tests/slow/gendh.c:45,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/gendh.c:47,1
    - Dst: success
      Src: /src/gnutls/tests/slow/gendh.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: doit
    functionSourceFile: /src/gnutls/tests/slow/gendh.c
    functionUses: 1
    functionsReached:
    - success
    - gnutls_global_deinit
    - gnutls_dh_params_generate2
    - gnutls_dh_params_init
    - gnutls_dh_params_deinit
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/slow/crypto.c:15,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/tests/slow/crypto.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/gnutls/tests/slow/crypto.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_hash_fast
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/slow/cipher-test.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/gnutls/tests/slow/cipher-test.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnutls/tests/slow/cipher-test.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: handle_sigill
    functionSourceFile: /src/gnutls/tests/slow/cipher-test.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void handle_sigill(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/slow/cipher-test.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/slow/cipher-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/slow/cipher-test.c:37,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/slow/cipher-test.c:39,1
    - Dst: global_init
      Src: /src/gnutls/tests/slow/cipher-test.c:41,1
    - Dst: signal
      Src: /src/gnutls/tests/slow/cipher-test.c:42,1
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/tests/slow/cipher-test.c:45,1
    - Dst: gnutls_digest_self_test
      Src: /src/gnutls/tests/slow/cipher-test.c:49,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/tests/slow/cipher-test.c:53,1
    - Dst: gnutls_pk_self_test
      Src: /src/gnutls/tests/slow/cipher-test.c:57,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/slow/cipher-test.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnutls/tests/slow/cipher-test.c
    functionUses: 4
    functionsReached:
    - gnutls_global_deinit
    - gnutls_cipher_self_test
    - signal
    - global_init
    - gnutls_digest_self_test
    - gnutls_mac_self_test
    - gnutls_pk_self_test
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:77,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:89,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: ticket_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_session_get_data2
    - assert
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int ticket_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:109,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:113,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:117,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:122,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:122,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:125,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:125,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:127,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:132,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:135,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:140,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:140,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:144,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:146,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:151,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:155,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:158,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:158,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:163,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:168,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:172,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:178,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:181,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:181,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:189,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:192,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:194,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:201,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:202,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:204,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:206,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - fd
    - tickets
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 207
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 207
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 121
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_is_resumed
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:211,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:217,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:217,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:221,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:222,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:223,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - der
    - ipem
    argTypes:
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: compare
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 21
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - strlen
    - gnutls_pem_base64_decode2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void compare(const gnutls_datum_t *der, const void *ipem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:240,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:242,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:242,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:245,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:246,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:249,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:250,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:253,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:253,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:256,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:256,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:257,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:259,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:259,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:262,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:264,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:267,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:268,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:271,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:271,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:273,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:277,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:281,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:282,1
    - Dst: gnutls_session_ticket_send
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:286,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:287,1
    - Dst: gnutls_session_ticket_send
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:291,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:296,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:298,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:302,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:302,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:305,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:305,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:306,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:306,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:307,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:307,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:310,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:312,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:315,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:316,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:319,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:321,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:321,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:325,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:326,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:327,1
    - Dst: compare
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:329,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:332,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:333,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:335,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:336,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:337,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:339,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:342,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - fd
    - tickets
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 343
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 343
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 141
    functionsReached:
    - gnutls_session_ticket_send
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - compare
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_is_resumed
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_certificate_get_peers
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:348,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:359,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:361,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:363,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:364,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:367,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:369,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:370,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:371,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:376,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:377,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:378,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:380,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:381,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - name
    - tickets
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 384
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 384
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 161
    functionsReached:
    - exit
    - success
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, unsigned tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:388,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:389,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:391,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:392,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:393,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-ticket.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/tls13/compress-cert.c:61,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert.c:62,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 52
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int client_callback(gnutls_session_t session, unsigned htype,\n\t\t\t
      \  unsigned post, unsigned incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: server_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int server_callback(gnutls_session_t session, unsigned htype,\n\t\t\t
      \  unsigned post, unsigned incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert.c:117,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert.c:120,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert.c:121,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:124,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert.c:124,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:125,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert.c:125,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:127,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert.c:127,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:130,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert.c:130,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:131,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert.c:131,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:133,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert.c:133,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:138,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:139,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert.c:140,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert.c:143,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert.c:146,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert.c:149,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:152,1
    - Dst: strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:156,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:158,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/compress-cert.c:159,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/compress-cert.c:160,1
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/tests/tls13/compress-cert.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:167,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/tls13/compress-cert.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:172,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:174,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:179,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert.c:182,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 186
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 122
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_verify_peers2
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - strerror
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_compress_certificate_get_selected_method
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert.c:201,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert.c:204,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert.c:205,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:208,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert.c:208,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:209,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert.c:209,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:211,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert.c:211,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:214,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert.c:214,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert.c:215,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert.c:217,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert.c:217,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert.c:219,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:223,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert.c:224,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert.c:227,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/compress-cert.c:230,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert.c:231,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert.c:234,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:237,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:238,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:244,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/compress-cert.c:245,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/compress-cert.c:246,1
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/tests/tls13/compress-cert.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:250,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:253,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/tls13/compress-cert.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:257,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:260,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert.c:262,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert.c:265,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert.c:268,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert.c:269,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert.c:270,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert.c:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 272
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 142
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_verify_peers2
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_compress_certificate_get_selected_method
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/compress-cert.c:279,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/compress-cert.c:281,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert.c:283,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert.c:284,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/compress-cert.c:287,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert.c:290,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert.c:291,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/compress-cert.c:297,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert.c:298,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/compress-cert.c:299,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert.c:301,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/compress-cert.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 305
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/psk-ke-modes.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: new_session_ticket_callback
    functionSourceFile: /src/gnutls/tests/tls13/psk-ke-modes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int new_session_ticket_callback(gnutls_session_t session,\n\t\t\t\t
      \      unsigned int htype, unsigned post,\n\t\t\t\t       unsigned int incoming,\n\t\t\t\t
      \      const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:86,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:88,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:89,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:94,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:95,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:95,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:99,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:101,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:105,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:107,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:109,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:110,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:110,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:112,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:113,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:114,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:115,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:118,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:119,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:119,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:122,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:124,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:126,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:130,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:132,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:133,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:134,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:136,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:138,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:140,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:140,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:141,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:141,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:145,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:148,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:149,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:151,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:154,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:157,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:159,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - name
    - prio
    - sprio
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 161
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/psk-ke-modes.c
    functionUses: 162
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - EMPTY_BUF
    - success
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - myfail
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio, const char *sprio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/psk-ke-modes.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/psk-ke-modes.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/tls13/prf.c:80,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/prf.c:85,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/prf.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 13
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:98,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:100,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - data
    - data_size
    argTypes:
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: dump
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 14
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, const uint8_t *data, unsigned data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:159,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:161,1
    - Dst: TRY_OLD
      Src: /src/gnutls/tests/tls13/prf.c:164,1
    - Dst: TRY_OLD
      Src: /src/gnutls/tests/tls13/prf.c:165,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf.c:167,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf.c:168,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf.c:169,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf.c:170,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/tls13/prf.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:177,1
    - Dst: gnutls_prf
      Src: /src/gnutls/tests/tls13/prf.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 183
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 183
    functionName: check_prfs
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_prf
    - TRY_OLD
    - TRY
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void check_prfs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/prf.c:193,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/prf.c:196,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/prf.c:197,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/prf.c:200,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/prf.c:204,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/prf.c:207,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf.c:214,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/prf.c:218,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:221,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13/prf.c:223,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/prf.c:224,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/prf.c:229,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/prf.c:230,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:233,1
    - Dst: strerror
      Src: /src/gnutls/tests/tls13/prf.c:233,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:234,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf.c:237,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf.c:241,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/prf.c:242,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/prf.c:243,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/tls13/prf.c:245,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:247,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13/prf.c:248,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:249,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/tls13/prf.c:252,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:254,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/tls13/prf.c:255,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:256,1
    - Dst: gnutls_prf_hash_get
      Src: /src/gnutls/tests/tls13/prf.c:259,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf.c:261,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/tests/tls13/prf.c:262,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:263,1
    - Dst: check_prfs
      Src: /src/gnutls/tests/tls13/prf.c:266,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/prf.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf.c:270,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf.c:272,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/prf.c:274,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/prf.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 277
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 123
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_certificate_free_credentials
    - gnutls_digest_get_name
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - close
    - gnutls_init
    - gnutls_prf_hash_get
    - strerror
    - gnutls_transport_set_int
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - check_prfs
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/tls13/prf.c:284,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/prf.c:285,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 54
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/prf.c:298,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/prf.c:301,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/prf.c:302,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/prf.c:305,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/prf.c:307,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/prf.c:312,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:317,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf.c:318,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/prf.c:319,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/prf.c:322,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/prf.c:324,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13/prf.c:326,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/prf.c:327,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/prf.c:330,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/prf.c:331,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf.c:333,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf.c:334,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:335,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf.c:336,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/prf.c:337,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf.c:340,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf.c:343,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/prf.c:344,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/prf.c:345,1
    - Dst: check_prfs
      Src: /src/gnutls/tests/tls13/prf.c:347,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/prf.c:351,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf.c:353,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf.c:354,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/prf.c:356,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/prf.c:358,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 362
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 362
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 144
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - check_prfs
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/prf.c:369,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/prf.c:371,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/prf.c:373,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:374,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/prf.c:377,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/prf.c:379,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf.c:380,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:381,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/prf.c:388,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/prf.c:389,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/prf.c:390,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf.c:392,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/prf.c:393,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 396
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/prf.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mytime
      Src: /src/gnutls/tests/tls13/anti_replay.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: mygettime
    functionSourceFile: /src/gnutls/tests/tls13/anti_replay.c
    functionUses: 0
    functionsReached:
    - mytime
    linkageType: ''
    returnType: void
    signature: void mygettime(struct timespec *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/anti_replay.c:57,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13/anti_replay.c:70,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13/anti_replay.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - expires
    - key
    - value
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: storage_add
    functionSourceFile: /src/gnutls/tests/tls13/anti_replay.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int storage_add(void *ptr, time_t expires, const gnutls_datum_t *key,\n\t\t
      \      const gnutls_datum_t *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/anti_replay.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - storage
    argTypes:
    - struct storage_st*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: storage_clear
    functionSourceFile: /src/gnutls/tests/tls13/anti_replay.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void storage_clear(struct storage_st *storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/tls13/anti_replay.c:98,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/anti_replay.c:99,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13/anti_replay.c:102,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/anti_replay.c:103,1
    - Dst: gnutls_anti_replay_set_window
      Src: /src/gnutls/tests/tls13/anti_replay.c:104,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13/anti_replay.c:105,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13/anti_replay.c:106,1
    - Dst: mygettime
      Src: /src/gnutls/tests/tls13/anti_replay.c:107,1
    - Dst: _gnutls_anti_replay_check
      Src: /src/gnutls/tests/tls13/anti_replay.c:108,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/anti_replay.c:111,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13/anti_replay.c:112,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13/anti_replay.c:113,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13/anti_replay.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/anti_replay.c:117,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13/anti_replay.c:118,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13/anti_replay.c:119,1
    - Dst: gnutls_anti_replay_set_window
      Src: /src/gnutls/tests/tls13/anti_replay.c:120,1
    - Dst: mygettime
      Src: /src/gnutls/tests/tls13/anti_replay.c:121,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/tls13/anti_replay.c:122,1
    - Dst: _gnutls_anti_replay_check
      Src: /src/gnutls/tests/tls13/anti_replay.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/anti_replay.c:126,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13/anti_replay.c:127,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13/anti_replay.c:128,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/tests/tls13/anti_replay.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/anti_replay.c:132,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/tests/tls13/anti_replay.c:133,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/tests/tls13/anti_replay.c:134,1
    - Dst: gnutls_anti_replay_set_window
      Src: /src/gnutls/tests/tls13/anti_replay.c:135,1
    - Dst: mygettime
      Src: /src/gnutls/tests/tls13/anti_replay.c:136,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/tls13/anti_replay.c:137,1
    - Dst: _gnutls_anti_replay_check
      Src: /src/gnutls/tests/tls13/anti_replay.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/anti_replay.c:141,1
    - Dst: _gnutls_anti_replay_check
      Src: /src/gnutls/tests/tls13/anti_replay.c:142,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/anti_replay.c:145,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/tests/tls13/anti_replay.c:146,1
    - Dst: storage_clear
      Src: /src/gnutls/tests/tls13/anti_replay.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 148
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/anti_replay.c
    functionUses: 1
    functionsReached:
    - virt_time_init
    - assert
    - _gnutls_anti_replay_check
    - virt_sec_sleep
    - gnutls_anti_replay_deinit
    - gnutls_anti_replay_init
    - gnutls_anti_replay_set_ptr
    - storage_clear
    - gnutls_anti_replay_set_window
    - mygettime
    - memset
    - gnutls_anti_replay_set_add_function
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:83,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:90,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:94,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:94,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:97,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:97,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:99,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:107,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:112,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:114,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:119,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:120,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:123,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:123,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:126,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:128,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:132,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:135,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:140,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:146,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:148,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:152,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:157,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:164,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:167,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:173,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - fd
    - send_cert
    - max_auths
    argTypes:
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 174
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 174
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 124
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned send_cert, unsigned max_auths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: parse_ext
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void parse_ext(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:196,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 212
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:224,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:225,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:228,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:229,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:232,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:233,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:236,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:238,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:238,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:239,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:245,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:247,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:249,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:252,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:256,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:260,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:268,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:272,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:274,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:281,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:287,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:293,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:294,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:297,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:306,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:307,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:307,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:309,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:310,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:315,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:320,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:321,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:322,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:324,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:325,1
    - Dst: waitpid
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:328,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:330,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:331,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:333,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:335,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:338,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 5
    argNames:
    - fd
    - err
    - type
    - max_auths
    - child
    argTypes:
    - int
    - int
    - int
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 339
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 145
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - waitpid
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - assert
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int err, int type, unsigned max_auths, int child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:344,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:356,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:361,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:362,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:364,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:366,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:367,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:370,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:372,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:373,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:374,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:379,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:380,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:382,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:383,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - name
    - err
    - type
    - max_auths
    - send_cert
    argTypes:
    - char*
    - int
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 386
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 386
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 163
    functionsReached:
    - success
    - exit
    - fork
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, int err, int type, unsigned max_auths,\n\t\t
      \ unsigned send_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:390,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:391,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/supported_versions.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/supported_versions.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/supported_versions.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/supported_versions.c:75,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/supported_versions.c:78,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/supported_versions.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/supported_versions.c:82,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/supported_versions.c:86,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/supported_versions.c:88,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/supported_versions.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/supported_versions.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/supported_versions.c:99,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/supported_versions.c:101,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/supported_versions.c:106,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/supported_versions.c:107,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/supported_versions.c:109,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/supported_versions.c:111,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/supported_versions.c:113,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/supported_versions.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 125
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_timeout
    - close
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    - gnutls_error_is_fatal
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:157,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/supported_versions.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:164,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:181,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/supported_versions.c:187,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/supported_versions.c:190,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/supported_versions.c:193,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:201,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/supported_versions.c:206,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/supported_versions.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:226,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/supported_versions.c:231,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:248,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:256,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 267
    functionName: client_hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 0
    functionsReached:
    - success
    - SKIP16
    - fail
    - SKIP8
    linkageType: ''
    returnType: int
    signature: "int client_hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t\t
      unsigned post, unsigned int incoming,\n\t\t\t\t const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/supported_versions.c:278,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/supported_versions.c:279,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/supported_versions.c:282,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/supported_versions.c:283,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/supported_versions.c:286,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/supported_versions.c:287,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/supported_versions.c:290,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/supported_versions.c:292,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/supported_versions.c:292,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/supported_versions.c:293,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/supported_versions.c:300,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/supported_versions.c:302,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/supported_versions.c:304,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/supported_versions.c:307,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/supported_versions.c:311,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:314,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:318,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/supported_versions.c:321,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/supported_versions.c:322,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/supported_versions.c:324,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/supported_versions.c:326,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/supported_versions.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 330
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 146
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/supported_versions.c:335,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/supported_versions.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/supported_versions.c:346,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/supported_versions.c:347,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/supported_versions.c:349,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/supported_versions.c:351,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/supported_versions.c:352,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/supported_versions.c:355,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/supported_versions.c:357,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/supported_versions.c:358,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/supported_versions.c:359,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/supported_versions.c:364,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/supported_versions.c:365,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/supported_versions.c:366,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/supported_versions.c:368,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/supported_versions.c:369,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/supported_versions.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 372
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/supported_versions.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/key_update_multiple.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:66,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: hsk_callback
    functionSourceFile: /src/gnutls/tests/tls13/key_update_multiple.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int hsk_callback(gnutls_session_t session, unsigned int htype,\n\t\t\tunsigned
      post, unsigned int incoming,\n\t\t\tconst gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:94,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:97,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:98,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:100,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:103,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:104,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:108,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:109,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:112,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:114,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:115,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:116,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:120,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:120,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:121,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:121,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:124,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:125,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:127,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:129,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:131,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:133,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:134,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:135,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:137,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:139,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:144,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:153,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:157,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:157,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:158,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:158,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:159,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:162,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:170,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:174,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:181,1
    - Dst: record_send_loop
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:185,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:185,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:186,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:186,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:189,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:192,1
    - Dst: virt_sec_sleep
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:195,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:202,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:202,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:205,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:205,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:206,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:206,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:207,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:210,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:211,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:213,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:214,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:217,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:219,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:220,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 2
    argNames:
    - name
    - exceed_limit
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 221
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 221
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls13/key_update_multiple.c
    functionUses: 27
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - virt_sec_sleep
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - TRANSFER
    - gnutls_init
    - gnutls_transport_set_pull_function
    - record_send_loop
    - gnutls_certificate_set_x509_trust_mem
    - EMPTY_BUF
    - success
    - assert
    - exit
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - gnutls_session_key_update
    - fail
    linkageType: ''
    returnType: void
    signature: void run(const char *name, bool exceed_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: virt_time_init
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:225,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:227,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update_multiple.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/key_update_multiple.c
    functionUses: 1
    functionsReached:
    - virt_time_init
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:75,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:77,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:82,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: ticket_callback
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_session_get_data2
    - assert
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int ticket_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:101,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:105,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:109,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:114,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:116,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:116,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:123,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:126,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:127,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:131,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:131,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:135,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:137,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:142,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:143,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:157,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:160,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:167,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:169,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - fd
    - flags
    - tickets
    argTypes:
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 172
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 172
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 126
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned flags, unsigned tickets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:184,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:186,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:186,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:189,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:190,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:193,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:194,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:197,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:197,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:199,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:199,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:200,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:202,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:202,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:205,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:207,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:210,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:211,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:214,1
    - Dst: gnutls_session_ticket_send
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:218,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:224,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:226,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:231,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:231,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:233,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:233,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:235,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:235,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:236,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:236,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:239,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:242,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:245,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:249,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:249,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:251,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:251,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:253,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:254,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:257,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:258,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:259,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:261,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:264,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 4
    argNames:
    - fd
    - flags
    - tickets_sent
    - tickets_expected
    argTypes:
    - int
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 265
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 265
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 148
    functionsReached:
    - gnutls_session_ticket_send
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_is_resumed
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: "void server(int fd, unsigned flags, unsigned tickets_sent,\n\t\t   unsigned
      tickets_expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:270,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:282,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:284,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:286,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:287,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:290,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:292,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:293,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:294,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:299,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:300,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:301,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:303,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:304,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - name
    - flags
    - tickets_sent
    - tickets_expected
    argTypes:
    - char*
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 307
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 164
    functionsReached:
    - exit
    - success
    - fork
    - kill
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, unsigned flags, unsigned tickets_sent,\n\t\t
      \ unsigned tickets_expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:311,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:312,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:314,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:315,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:316,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/no-auto-send-ticket.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/no-auto-send-ticket.c
    functionUses: 1
    functionsReached:
    - signal
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/key_share.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/key_share.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/key_share.c:74,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/key_share.c:78,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_share.c:88,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/key_share.c:95,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/key_share.c:99,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/key_share.c:103,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/tls13/key_share.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: check_ks_contents
    functionSourceFile: /src/gnutls/tests/tls13/key_share.c
    functionUses: 0
    functionsReached:
    - success
    - gnutls_session_get_ptr
    - gnutls_group_get_name
    - SKIP16
    - myfail
    linkageType: ''
    returnType: void
    signature: void check_ks_contents(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/key_share.c:114,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_share.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: client_hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/key_share.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int client_hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t\t
      unsigned post, unsigned int incoming,\n\t\t\t\t const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_share.c:131,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/key_share.c:133,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/key_share.c:134,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/key_share.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_share.c:139,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_share.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_share.c:140,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/key_share.c:140,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_share.c:144,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/key_share.c:146,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/key_share.c:151,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_share.c:156,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_share.c:158,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_share.c:159,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_share.c:160,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_share.c:161,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_share.c:164,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_share.c:165,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/key_share.c:165,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_share.c:168,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_share.c:170,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/key_share.c:172,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_share.c:176,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_share.c:178,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_share.c:179,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_share.c:180,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/key_share.c:182,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_share.c:184,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls13/key_share.c:186,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/key_share.c:187,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/tls13/key_share.c:188,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls13/key_share.c:188,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_share.c:190,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_share.c:191,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_share.c:193,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_share.c:194,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_share.c:196,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_share.c:197,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/key_share.c:199,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/key_share.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 5
    argNames:
    - name
    - prio
    - flag
    - group
    - ngroups
    argTypes:
    - char*
    - char*
    - unsigned
    - gnutls_group_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 201
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 201
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/key_share.c
    functionUses: 165
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_group_get
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_group_get_name
    - myfail
    - HANDSHAKE
    - gnutls_global_set_log_level
    - global_init
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, const char *prio, unsigned flag,\n\t\t
      \ gnutls_group_t group, unsigned ngroups)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:205,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:208,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:211,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:218,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:222,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:224,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:227,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:230,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:233,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:237,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:240,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:243,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:246,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:249,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:254,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:256,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:259,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_share.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 265
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/key_share.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:76,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:79,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:83,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:85,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:85,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:91,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:93,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:93,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:95,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:104,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:106,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:111,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:112,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:118,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:120,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:122,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:124,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 127
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:141,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:166,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:167,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:170,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:171,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:174,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:175,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:178,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:180,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:180,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:181,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:187,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:189,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:191,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:194,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:198,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:200,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:206,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:212,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:213,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:215,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:218,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:220,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 224
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 149
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:229,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:240,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:241,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:243,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:246,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:249,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:251,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:252,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:258,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:259,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:260,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:262,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:263,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-without-cert.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 266
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-without-cert.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:81,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:84,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:88,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:89,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:89,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:96,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:99,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:99,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:109,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:109,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:115,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:117,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:122,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:123,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:126,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:131,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:131,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:133,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:137,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:144,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:148,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:150,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:155,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:158,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:160,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:162,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:163,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - fd
    - send_cert
    - max_auths
    argTypes:
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 166
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 166
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 128
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_kx_get
    - gnutls_reauth
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned send_cert, unsigned max_auths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: parse_ext
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void parse_ext(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:188,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:210,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:231,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:232,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:235,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:236,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:239,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:239,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:240,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:242,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:242,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:243,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:243,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:247,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:247,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:250,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:250,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:251,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:254,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:254,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:258,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:260,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:263,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:264,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:267,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:267,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:269,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:279,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:283,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:285,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:286,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:291,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:296,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:297,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:300,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:301,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:305,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:308,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:309,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:311,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:312,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:314,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - fd
    - err
    - type
    - max_auths
    argTypes:
    - int
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 318
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 318
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 150
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - gnutls_psk_allocate_server_credentials
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_psk_set_server_credentials_function
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int err, int type, unsigned max_auths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:323,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:335,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:340,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:341,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:343,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:345,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:346,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:349,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:351,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:352,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:353,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:358,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:359,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:360,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:362,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:363,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - name
    - err
    - type
    - max_auths
    - send_cert
    argTypes:
    - char*
    - int
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 366
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 366
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 166
    functionsReached:
    - success
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, int err, int type, unsigned max_auths,\n\t\t
      \ unsigned send_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:370,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:371,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-psk.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-psk.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/key_limits.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/key_limits.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_limits.c:65,1
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/key_limits.c:67,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/key_limits.c:68,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/key_limits.c:70,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:73,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_limits.c:73,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:74,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/key_limits.c:74,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_limits.c:78,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_limits.c:83,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:85,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_limits.c:86,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_limits.c:89,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_limits.c:90,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_limits.c:91,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_limits.c:92,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_limits.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:96,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/key_limits.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_limits.c:99,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_limits.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:103,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_limits.c:105,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_limits.c:107,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_limits.c:108,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_limits.c:109,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/key_limits.c:112,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_limits.c:114,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:116,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/tls13/key_limits.c:116,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:117,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/tls13/key_limits.c:117,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:121,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/tests/tls13/key_limits.c:121,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_limits.c:122,1
    - Dst: gnutls_record_set_state
      Src: /src/gnutls/tests/tls13/key_limits.c:122,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/key_limits.c:126,1
    - Dst: usleep
      Src: /src/gnutls/tests/tls13/key_limits.c:129,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/key_limits.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_limits.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:142,1
    - Dst: gnutls_record_recv_seq
      Src: /src/gnutls/tests/tls13/key_limits.c:146,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/key_limits.c:151,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_limits.c:156,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_limits.c:157,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_limits.c:159,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_limits.c:160,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_limits.c:162,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_limits.c:163,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/key_limits.c:165,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/key_limits.c:166,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_limits.c:171,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_limits.c:174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 3
    argNames:
    - name
    - prio
    - exp_update
    argTypes:
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 176
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 176
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/key_limits.c
    functionUses: 167
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - usleep
    - gnutls_transport_set_ptr
    - gnutls_record_set_state
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_record_recv_seq
    - gnutls_record_send
    - memcmp
    - gnutls_init
    - gnutls_record_get_state
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_certificate_set_x509_trust_mem
    - success
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void start(const char *name, const char *prio, unsigned exp_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_limits.c:184,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls13/key_limits.c:185,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/key_limits.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/key_limits.c
    functionUses: 1
    functionsReached:
    - start
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-cli.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: ext_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_callback(void *ctx, unsigned tls_id, const unsigned char *data,\n\t\t\tunsigned
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:79,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:90,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-cli.c
    functionUses: 0
    functionsReached:
    - assert
    - SKIP8
    - gnutls_session_get_ptr
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:131,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:132,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:134,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:137,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:138,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:138,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:141,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:144,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:144,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:145,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:149,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:155,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:158,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:159,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:163,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:164,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:165,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:166,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:169,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:170,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:170,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:173,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:173,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:176,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:177,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:179,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:183,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:189,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:192,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:193,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:197,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:198,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:199,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:201,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:203,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:209,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:212,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:221,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:224,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:225,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:227,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:228,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:230,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:231,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:233,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 235
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-cli.c
    functionUses: 28
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - reset_buffers
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - assert
    - exit
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:240,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/compress-cert-cli.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-cli.c
    functionUses: 1
    functionsReached:
    - exit
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:73,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:76,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:77,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:80,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:81,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:86,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:88,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:88,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:90,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:99,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:101,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:106,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:110,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:111,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:114,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:116,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:118,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 121
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 129
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:153,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:156,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:157,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:160,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:161,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:164,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:166,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:166,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:169,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:169,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:171,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:176,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:180,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:182,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:185,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:187,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 191
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 151
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:196,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:207,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:208,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:210,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:212,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:213,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:216,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:218,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:219,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:225,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:226,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:227,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:229,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:230,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-rollback-detection.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 233
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/rnd-rollback-detection.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:92,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:95,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:96,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:99,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:100,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:106,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:108,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:110,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:112,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:115,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:120,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:122,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:127,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:128,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:135,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:135,1
    - Dst: gnutls_session_get_random
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:137,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:140,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:142,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:144,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:146,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:147,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:148,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:150,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:152,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:156,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:160,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:162,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:163,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:166,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:173,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:175,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:177,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:179,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 180
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 130
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - memcmp
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_error_is_fatal
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_get_random
    - gnutls_handshake
    - global_init
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:193,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:196,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:197,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:200,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:204,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:204,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:207,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:209,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:209,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:211,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:211,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:216,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:218,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:218,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:220,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:223,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:227,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:230,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:230,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:233,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:233,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:240,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:241,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:243,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:250,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:252,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:253,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:255,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 259
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 153
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_error_is_fatal
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_session_is_resumed
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:264,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:275,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:276,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:278,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:280,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:281,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:284,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:286,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:287,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:288,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:293,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:294,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:295,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:297,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:298,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/rnd-check-rollback-val.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 301
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/rnd-check-rollback-val.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/tls13/multi-ocsp.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:82,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:85,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:91,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:95,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:99,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:103,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:104,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/tls13/multi-ocsp.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_ocsp_status_request_get2
    - myfail
    - memcmp
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/multi-ocsp.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:132,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:133,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:135,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:137,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:139,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:139,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:140,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:140,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:142,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:145,1
    - Dst: fopen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:149,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:150,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:150,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:151,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:152,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:152,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:152,1
    - Dst: fclose
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:154,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:159,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:163,1
    - Dst: fopen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:168,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:168,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:169,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:170,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:170,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:170,1
    - Dst: fclose
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:172,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:174,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:177,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:184,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:187,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:190,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:190,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:195,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:199,1
    - Dst: gnutls_certificate_get_verify_flags
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:201,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:203,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:208,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:211,1
    - Dst: test_cli_serv
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:213,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:217,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:218,1
    - Dst: remove
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:219,1
    - Dst: remove
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 221
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/multi-ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_ocsp_status_request_mem
    - gnutls_certificate_get_verify_flags
    - gnutls_certificate_set_verify_flags
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - global_init
    - test_cli_serv
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/multi-ocsp.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/multi-ocsp.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/key_update.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/key_update.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:57,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: hsk_callback
    functionSourceFile: /src/gnutls/tests/tls13/key_update.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int hsk_callback(gnutls_session_t session, unsigned int htype,\n\t\t\tunsigned
      post, unsigned int incoming,\n\t\t\tconst gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/key_update.c:85,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/key_update.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/key_update.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:91,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_update.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:92,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/key_update.c:92,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:96,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_update.c:96,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_update.c:97,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/key_update.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_update.c:102,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_update.c:103,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_update.c:104,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_update.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:108,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/key_update.c:108,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:109,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/key_update.c:109,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/key_update.c:112,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/key_update.c:113,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:115,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/key_update.c:117,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/key_update.c:119,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/tls13/key_update.c:121,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/tls13/key_update.c:122,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/tls13/key_update.c:123,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/tls13/key_update.c:125,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:127,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:132,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:134,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:138,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:138,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:139,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:139,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:140,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls13/key_update.c:143,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:146,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:149,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:152,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:152,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:155,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:155,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:156,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:156,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:157,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls13/key_update.c:160,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:163,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:168,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:171,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:171,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:172,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:172,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:173,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls13/key_update.c:176,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:179,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:184,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:186,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:186,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:187,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:187,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:188,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls13/key_update.c:190,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:193,1
    - Dst: gnutls_record_cork
      Src: /src/gnutls/tests/tls13/key_update.c:194,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:198,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:201,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/key_update.c:205,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:205,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:208,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:211,1
    - Dst: gnutls_record_uncork
      Src: /src/gnutls/tests/tls13/key_update.c:215,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:218,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:218,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:220,1
    - Dst: sec_sleep
      Src: /src/gnutls/tests/tls13/key_update.c:222,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/key_update.c:228,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/key_update.c:230,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/key_update.c:232,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/tests/tls13/key_update.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/key_update.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/key_update.c:239,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:242,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:242,1
    - Dst: TRANSFER
      Src: /src/gnutls/tests/tls13/key_update.c:243,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/key_update.c:243,1
    - Dst: EMPTY_BUF
      Src: /src/gnutls/tests/tls13/key_update.c:244,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:246,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/key_update.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_update.c:251,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/key_update.c:252,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_update.c:254,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/key_update.c:255,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_update.c:257,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/key_update.c:258,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/key_update.c:260,1
    - Dst: reset_buffers
      Src: /src/gnutls/tests/tls13/key_update.c:261,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 131
    argCount: 2
    argNames:
    - name
    - test
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 262
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 262
    functionName: run
    functionSourceFile: /src/gnutls/tests/tls13/key_update.c
    functionUses: 29
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - reset_buffers
    - sec_sleep
    - TRANSFER
    - gnutls_record_send
    - gnutls_record_uncork
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_x509_trust_mem
    - EMPTY_BUF
    - assert
    - exit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_record_cork
    - global_init
    - gnutls_session_key_update
    - fail
    linkageType: ''
    returnType: void
    signature: void run(const char *name, unsigned test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:266,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:267,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:268,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:269,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:270,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:271,1
    - Dst: run
      Src: /src/gnutls/tests/tls13/key_update.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/key_update.c
    functionUses: 1
    functionsReached:
    - run
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:75,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:78,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:79,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:82,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:83,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:87,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:89,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:89,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:96,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:100,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:101,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:103,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:108,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:109,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:112,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:115,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:117,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:119,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:121,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:122,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 125
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 131
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:138,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:139,1
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:141,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:142,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:152,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:153,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:155,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 159
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:170,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:171,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:174,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:175,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:178,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:179,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:182,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:184,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:184,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:185,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:191,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:193,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:195,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:198,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:205,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:208,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:209,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:211,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:213,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 217
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 154
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:222,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:233,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:234,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:236,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:238,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:239,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:242,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:244,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:245,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:246,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:251,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:252,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:255,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:256,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/no-psk-exts.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 259
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/no-psk-exts.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:80,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:81,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:83,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:87,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:88,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:91,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:94,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:94,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:95,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:95,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:97,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:101,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:104,1
    - Dst: gnutls_perror
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:105,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:109,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:112,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:112,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:112,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:114,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:117,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:120,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:120,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:125,1
    - Dst: fputc
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:127,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:129,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:132,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:136,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:138,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:140,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 143
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 132
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_global_set_log_function
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_priority_set_direct
    - gnutls_psk_free_client_credentials
    - fputc
    - gnutls_global_set_log_level
    - gnutls_strerror
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - global_init
    - gnutls_psk_allocate_client_credentials
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:149,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: pskfunc
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: check_ext_pos
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_ext_pos(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:186,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:188,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:194,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:198,1
    - Dst: is_client_extension_last
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: client_hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - fail
    - is_client_extension_last
    linkageType: ''
    returnType: int
    signature: "int client_hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t\t
      unsigned post, unsigned int incoming,\n\t\t\t\t const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:217,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:218,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:220,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:224,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:224,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:225,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:227,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:227,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:229,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:229,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:230,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:232,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:236,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:237,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:239,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:241,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:242,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:246,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:249,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:250,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:251,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:258,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:264,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:264,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:268,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:270,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:271,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:273,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:275,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - sd
    - prio
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 279
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 155
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - success
    - strlen
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_psk_set_server_credentials_function
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd, const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:284,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:295,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:296,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:298,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:300,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:302,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:303,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:307,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:309,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:310,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:317,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:318,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:319,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:320,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:322,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:323,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - prio
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 326
    functionName: run_test
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 4
    functionsReached:
    - success
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void run_test(const char *prio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: run_test
      Src: /src/gnutls/tests/tls13/psk-dumbfw.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/psk-dumbfw.c
    functionUses: 1
    functionsReached:
    - run_test
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls13_psk_ext_parser_init
      Src: /src/gnutls/tests/tls13/psk-ext.c:50,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ext.c:54,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/psk-ext.c:55,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/psk-ext.c:56,1
    - Dst: _gnutls13_psk_ext_iter_init
      Src: /src/gnutls/tests/tls13/psk-ext.c:59,1
    - Dst: _gnutls13_psk_ext_iter_next_identity
      Src: /src/gnutls/tests/tls13/psk-ext.c:61,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/psk-ext.c:70,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-ext.c:73,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ext.c:77,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ext.c:84,1
    - Dst: _gnutls13_psk_ext_iter_init
      Src: /src/gnutls/tests/tls13/psk-ext.c:86,1
    - Dst: _gnutls13_psk_ext_iter_next_binder
      Src: /src/gnutls/tests/tls13/psk-ext.c:88,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ext.c:92,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/psk-ext.c:93,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/psk-ext.c:98,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/psk-ext.c:101,1
    - Dst: hexprint
      Src: /src/gnutls/tests/tls13/psk-ext.c:102,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/psk-ext.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 6
    argNames:
    - test_name
    - raw
    - id
    - b
    - idx
    - res
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 107
    functionName: decode
    functionSourceFile: /src/gnutls/tests/tls13/psk-ext.c
    functionUses: 17
    functionsReached:
    - exit
    - gnutls_strerror
    - success
    - _gnutls13_psk_ext_iter_next_identity
    - _gnutls13_psk_ext_iter_next_binder
    - memcmp
    - hexprint
    - _gnutls13_psk_ext_iter_init
    - _gnutls13_psk_ext_parser_init
    - fail
    linkageType: ''
    returnType: void
    signature: "void decode(const char *test_name, const gnutls_datum_t *raw,\n\t\t
      \  const gnutls_datum_t *id, const gnutls_datum_t *b,\n\t\t   unsigned idx,
      int res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/gnutls/tests/tls13/psk-ext.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/psk-ext.c
    functionUses: 1
    functionsReached:
    - decode
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:83,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:86,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:87,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:90,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:90,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:94,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:94,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:98,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:98,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:105,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:108,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:108,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:113,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:115,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:120,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:121,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:124,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:124,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:127,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:133,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:136,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:140,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:144,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:147,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:156,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - fd
    - send_cert
    - max_auths
    argTypes:
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 157
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 157
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 133
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned send_cert, unsigned max_auths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: parse_ext
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void parse_ext(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:179,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:189,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:207,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:208,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:211,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:212,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:215,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:216,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:219,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:221,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:221,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:222,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:228,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:230,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:232,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:235,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:236,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:239,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:239,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:241,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:251,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:255,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:257,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:264,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:270,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:276,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:277,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:280,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:281,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:289,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:290,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:290,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:292,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:293,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:298,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:303,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:304,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:305,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:307,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:308,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:312,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:315,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:316,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:318,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:320,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:323,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 4
    argNames:
    - fd
    - err
    - type
    - max_auths
    argTypes:
    - int
    - int
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 324
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 324
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 156
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - assert
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int err, int type, unsigned max_auths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:334,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:339,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:340,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:342,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:344,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:345,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:348,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:350,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:351,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:352,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:357,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:358,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:359,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:360,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:361,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:363,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:364,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 5
    argNames:
    - name
    - err
    - type
    - max_auths
    - send_cert
    argTypes:
    - char*
    - int
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 367
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 367
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 168
    functionsReached:
    - success
    - exit
    - fork
    - kill
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: "void start(const char *name, int err, int type, unsigned max_auths,\n\t\t
      \ unsigned send_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:371,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:372,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-auto.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/cookie.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/cookie.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:72,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/cookie.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - buf
    - buflen
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: ext_recv_server_cookie
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 0
    functionsReached:
    - fail
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ext_recv_server_cookie(gnutls_session_t session,\n\t\t\t\t  const
      unsigned char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ext_get_current_msg
      Src: /src/gnutls/tests/tls13/cookie.c:85,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/tests/tls13/cookie.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: ext_send_server_cookie
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 0
    functionsReached:
    - gnutls_ext_get_current_msg
    - gnutls_buffer_append_data
    linkageType: ''
    returnType: int
    signature: "int ext_send_server_cookie(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/cookie.c:100,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/cookie.c:101,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/cookie.c:103,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/cookie.c:107,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/cookie.c:111,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/cookie.c:114,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/cookie.c:114,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/cookie.c:119,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/cookie.c:121,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/cookie.c:122,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/cookie.c:122,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/cookie.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/cookie.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/cookie.c:133,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/cookie.c:136,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/cookie.c:139,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/cookie.c:141,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/cookie.c:143,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/cookie.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 146
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 134
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/cookie.c:156,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/cookie.c:157,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/cookie.c:159,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/cookie.c:163,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/cookie.c:164,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/cookie.c:167,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/cookie.c:171,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/cookie.c:171,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/cookie.c:177,1
    - Dst: gnutls_session_ext_register
      Src: /src/gnutls/tests/tls13/cookie.c:179,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/cookie.c:187,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/cookie.c:189,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/cookie.c:190,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/cookie.c:190,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/cookie.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/cookie.c:195,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/cookie.c:199,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:202,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:205,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/cookie.c:209,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/cookie.c:212,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/cookie.c:213,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/cookie.c:215,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/cookie.c:217,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/cookie.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 221
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 157
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_session_ext_register
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/cookie.c:229,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/cookie.c:231,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/cookie.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:234,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/cookie.c:241,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/cookie.c:243,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/cookie.c:244,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/cookie.c:251,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/cookie.c:252,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/cookie.c:253,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/cookie.c:255,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/cookie.c:256,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/cookie.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 259
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/cookie.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - url
    - label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: pin_func
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int pin_func(void *userdata, int attempt, const char *url,\n\t\t    const
      char *label, unsigned flags, char *pin,\n\t\t    size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:102,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:105,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:106,1
    - Dst: setenv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:110,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:112,1
    - Dst: getenv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:114,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:118,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:120,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:120,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:121,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:126,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:126,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:127,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:130,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:133,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:134,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:137,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:139,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:141,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:145,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:148,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:151,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:154,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:155,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:162,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:163,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:167,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:169,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:170,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:173,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:176,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:176,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:177,1
    - Dst: gnutls_pkcs11_copy_x509_crt
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:184,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:184,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:185,1
    - Dst: gnutls_pkcs11_copy_x509_privkey
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:188,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:196,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:197,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:200,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:201,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:203,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:203,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:207,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:207,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:211,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:211,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:213,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:217,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:219,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:219,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:225,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:227,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:232,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:233,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:236,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:239,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:241,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:244,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:247,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:253,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:255,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:256,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:259,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:262,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:264,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:266,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:268,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 2
    argNames:
    - fd
    - err
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 269
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 135
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_pkcs11_init
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - printf
    - gnutls_x509_privkey_deinit
    - gnutls_certificate_set_x509_key_file
    - gnutls_global_set_log_function
    - gnutls_x509_crt_import
    - gnutls_pkcs11_token_set_pin
    - close
    - gnutls_init
    - gnutls_x509_privkey_init
    - gnutls_pkcs11_token_init
    - getenv
    - gnutls_pkcs11_add_provider
    - gnutls_transport_set_int
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_set_pin_function
    - gnutls_x509_crt_init
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_pkcs11_copy_x509_privkey
    - gnutls_x509_privkey_import
    - gnutls_pkcs11_copy_x509_crt
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - setenv
    - global_init
    - gnutls_handshake
    - gnutls_record_set_timeout
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - msg
    argTypes:
    - void*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: parse_ext
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void parse_ext(void *priv, gnutls_datum_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_server_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:289,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:291,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:301,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: hellos_callback
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - find_server_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int hellos_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:318,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:319,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:322,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:323,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:326,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:327,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:330,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:332,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:332,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:333,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:339,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:342,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:344,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:347,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:348,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:351,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:351,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:353,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:355,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:359,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:363,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:367,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:369,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:373,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:378,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:379,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:379,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:381,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:382,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:385,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:388,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:389,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:391,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:393,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:396,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - fd
    - err
    - type
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 397
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 397
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 158
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - success
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, int err, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:406,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:411,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:412,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:414,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:416,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:417,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:420,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:422,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:423,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:424,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:429,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:430,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:431,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:432,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:433,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:435,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:436,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - name
    - err
    - cli_err
    - type
    argTypes:
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 439
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 169
    functionsReached:
    - success
    - exit
    - fork
    - kill
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(const char *name, int err, int cli_err, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:446,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:447,1
    - Dst: softhsm_lib
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:450,1
    - Dst: softhsm_bin
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:453,1
    - Dst: set_softhsm_conf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:455,1
    - Dst: snprintf
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:456,1
    - Dst: system
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:460,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:462,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/post-handshake-with-cert-pkcs11.c
    functionUses: 1
    functionsReached:
    - exit
    - softhsm_lib
    - softhsm_bin
    - set_softhsm_conf
    - snprintf
    - gnutls_fips140_mode_enabled
    - system
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/tests/tls13/prf-early.c:88,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/prf-early.c:93,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/prf-early.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 13
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:108,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:110,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - data
    - data_size
    argTypes:
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: dump
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 14
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *name, const uint8_t *data, unsigned data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/prf-early.c:152,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf-early.c:156,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf-early.c:157,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf-early.c:158,1
    - Dst: TRY
      Src: /src/gnutls/tests/tls13/prf-early.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: handshake_callback
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 0
    functionsReached:
    - TRY
    - assert
    linkageType: ''
    returnType: int
    signature: "int handshake_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \     unsigned post, unsigned int incoming,\n\t\t\t      const gnutls_datum_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/prf-early.c:174,1
    - Dst: virt_time_init_at
      Src: /src/gnutls/tests/tls13/prf-early.c:177,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/prf-early.c:180,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/prf-early.c:181,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/prf-early.c:184,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/prf-early.c:189,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/prf-early.c:192,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:197,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf-early.c:198,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:199,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/prf-early.c:202,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:205,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13/prf-early.c:207,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/prf-early.c:208,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13/prf-early.c:211,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/prf-early.c:213,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/prf-early.c:221,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/prf-early.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:225,1
    - Dst: strerror
      Src: /src/gnutls/tests/tls13/prf-early.c:225,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:226,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:229,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:233,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/prf-early.c:234,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/prf-early.c:235,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/tests/tls13/prf-early.c:237,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:239,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/tests/tls13/prf-early.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:241,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/tests/tls13/prf-early.c:244,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:246,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/tests/tls13/prf-early.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:248,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13/prf-early.c:253,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:255,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:258,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:261,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/prf-early.c:264,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/prf-early.c:264,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/prf-early.c:267,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:271,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:273,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf-early.c:273,1
    - Dst: printf
      Src: /src/gnutls/tests/tls13/prf-early.c:277,1
    - Dst: fputc
      Src: /src/gnutls/tests/tls13/prf-early.c:279,1
    - Dst: fputs
      Src: /src/gnutls/tests/tls13/prf-early.c:281,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/prf-early.c:284,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf-early.c:286,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf-early.c:288,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/prf-early.c:291,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/prf-early.c:292,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/prf-early.c:294,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 295
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 295
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 136
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_mac_get
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - printf
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_session_set_data
    - strerror
    - gnutls_transport_set_int
    - gnutls_session_get_data2
    - exit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - fputc
    - virt_time_init_at
    - gnutls_cipher_get
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - fputs
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/tls13/prf-early.c:302,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/prf-early.c:303,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 55
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/prf-early.c:318,1
    - Dst: virt_time_init_at
      Src: /src/gnutls/tests/tls13/prf-early.c:321,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/prf-early.c:324,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/prf-early.c:325,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/prf-early.c:328,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/prf-early.c:330,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/prf-early.c:333,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/prf-early.c:335,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/prf-early.c:341,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:346,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf-early.c:347,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/prf-early.c:348,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/prf-early.c:351,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/prf-early.c:354,1
    - Dst: gnutls_handshake_set_random
      Src: /src/gnutls/tests/tls13/prf-early.c:357,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/prf-early.c:358,1
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/prf-early.c:362,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:364,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/prf-early.c:366,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/prf-early.c:373,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/prf-early.c:374,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf-early.c:376,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf-early.c:377,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:378,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/prf-early.c:379,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/prf-early.c:380,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:383,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:386,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/prf-early.c:387,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/prf-early.c:388,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:392,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:395,1
    - Dst: memset
      Src: /src/gnutls/tests/tls13/prf-early.c:399,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/prf-early.c:400,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:404,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/prf-early.c:407,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:408,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/prf-early.c:414,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/prf-early.c:415,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/prf-early.c:421,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf-early.c:423,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/prf-early.c:424,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/prf-early.c:427,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/prf-early.c:429,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/prf-early.c:432,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/prf-early.c:435,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 1
    argNames:
    - sds
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 436
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 436
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 160
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - kill
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_handshake_set_random
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - success
    - strlen
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - virt_time_init_at
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fprintf
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int sds[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/prf-early.c:445,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/prf-early.c:450,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/prf-early.c:452,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:453,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/prf-early.c:461,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/prf-early.c:463,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/prf-early.c:464,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:465,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf-early.c:473,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/prf-early.c:474,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/prf-early.c:475,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/prf-early.c:476,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/prf-early.c:479,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/prf-early.c:480,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/prf-early.c:481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 483
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/prf-early.c
    functionUses: 1
    functionsReached:
    - fork
    - exit
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:84,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:85,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:95,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:100,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:102,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:107,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:109,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 120
    functionName: hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_session_get_ptr
    - memcmp
    - memcpy
    - fail
    linkageType: ''
    returnType: int
    signature: "int hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \ unsigned post, unsigned int incoming,\n\t\t\t  const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:129,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:132,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:133,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:136,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:136,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:138,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:138,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:141,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:141,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:142,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:144,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:149,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:151,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:153,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:156,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:159,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:160,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:162,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:164,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:166,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 169
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 137
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - myfail
    - gnutls_global_set_log_level
    - gnutls_handshake
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:178,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:179,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:182,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:182,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:183,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:183,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:187,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:189,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:189,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:192,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:192,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:197,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:199,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:202,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:206,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:209,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:211,1
    - Dst: myfail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:212,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:213,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:213,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:215,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 161
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_group_get
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_group_get_name
    - myfail
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:224,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:235,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:236,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:238,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:240,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:241,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:244,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:246,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:247,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:248,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:253,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:254,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:255,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:257,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:258,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:67,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:72,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:78,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:81,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:84,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:92,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:98,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:101,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:109,1
    - Dst: cb
      Src: /src/gnutls/tests/tls13/ext-parse.h:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - msg
    - extnr
    - priv
    - cb
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - void*
    - ext_parse_func
    constantsTouched: []
    func_position:
      end: 120
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 120
    functionName: find_client_extension
    functionSourceFile: /src/gnutls/tests/tls13/ext-parse.h
    functionUses: 9
    functionsReached:
    - success
    - SKIP16
    - SKIP8
    - fail
    - cb
    linkageType: ''
    returnType: unsigned
    signature: "unsigned find_client_extension(const gnutls_datum_t *msg, unsigned
      extnr,\n\t\t\t\t      void *priv, ext_parse_func cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:128,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:133,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:139,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:142,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:145,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:153,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:159,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:163,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:167,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - msg
    - extnr
    argTypes:
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 177
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 177
    functionName: is_client_extension_last
    functionSourceFile: /src/gnutls/tests/tls13/ext-parse.h
    functionUses: 1
    functionsReached:
    - success
    - SKIP16
    - fail
    - SKIP8
    linkageType: ''
    returnType: unsigned
    signature: "unsigned is_client_extension_last(const gnutls_datum_t *msg,\n\t\t\t\t\t
      unsigned extnr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:186,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:190,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:195,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:202,1
    - Dst: SKIP8
      Src: /src/gnutls/tests/tls13/ext-parse.h:208,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:216,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/ext-parse.h:221,1
    - Dst: SKIP16
      Src: /src/gnutls/tests/tls13/ext-parse.h:224,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ext-parse.h:232,1
    - Dst: cb
      Src: /src/gnutls/tests/tls13/ext-parse.h:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - msg
    - extnr
    - priv
    - cb
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - void*
    - ext_parse_func
    constantsTouched: []
    func_position:
      end: 244
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 244
    functionName: find_server_extension
    functionSourceFile: /src/gnutls/tests/tls13/ext-parse.h
    functionUses: 6
    functionsReached:
    - success
    - SKIP16
    - SKIP8
    - fail
    - cb
    linkageType: ''
    returnType: unsigned
    signature: "unsigned find_server_extension(const gnutls_datum_t *msg, unsigned
      extnr,\n\t\t\t\t      void *priv, ext_parse_func cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:74,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:77,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:78,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:81,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:82,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:87,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:89,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:89,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:91,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:94,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:98,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:100,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:105,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:106,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:108,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:110,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:112,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 115
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 138
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_timeout
    - close
    - gnutls_priority_set_direct
    - gnutls_handshake
    - global_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_int
    - gnutls_error_is_fatal
    - fail
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:128,1
    - Dst: find_client_extension
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:131,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: client_hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 0
    functionsReached:
    - find_client_extension
    - fail
    linkageType: ''
    returnType: int
    signature: "int client_hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t\t
      unsigned post, unsigned int incoming,\n\t\t\t\t const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:148,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:151,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:152,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:155,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:156,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:159,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:161,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:161,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:162,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:169,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:171,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:176,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:180,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:183,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:186,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:187,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:189,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:191,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 162
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - get_timeout
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:200,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:211,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:212,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:214,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:216,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:217,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:220,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:224,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:229,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:230,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:231,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:233,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:234,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 237
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/tls12-no-tls13-exts.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:59,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:60,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 56
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int client_callback(gnutls_session_t session, unsigned htype,\n\t\t\t
      \  unsigned post, unsigned incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:93,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:96,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:97,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:100,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:100,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:101,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:101,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:103,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:103,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:106,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:107,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:109,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:111,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:115,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:116,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:119,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:122,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:125,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:128,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:130,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:131,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:132,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:133,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 135
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 139
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:147,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:150,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:151,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:154,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:154,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:155,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:155,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:157,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:157,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:160,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:160,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:161,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:161,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:163,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:163,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:165,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:169,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:170,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:173,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:176,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:177,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:179,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:181,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:182,1
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:184,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:186,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:188,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:189,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:190,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:191,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 193
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 163
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - gnutls_alert_get
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_compress_certificate_get_selected_method
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:200,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:202,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:204,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:205,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:208,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:211,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:212,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:218,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:219,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:220,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:222,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:223,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg2.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg2.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:62,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:63,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: terminate
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 58
    functionsReached:
    - exit
    - wait
    - kill
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: client_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int client_callback(gnutls_session_t session, unsigned htype,\n\t\t\t
      \  unsigned post, unsigned incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: server_callback
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int server_callback(gnutls_session_t session, unsigned htype,\n\t\t\t
      \  unsigned post, unsigned incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:106,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:109,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:110,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:113,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:113,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:114,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:114,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:116,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:116,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:119,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:119,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:120,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:122,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:122,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:124,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:128,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:129,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:132,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:135,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:138,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:141,1
    - Dst: strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:141,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:145,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:147,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:148,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:149,1
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:151,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:153,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:156,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:158,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:160,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:161,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:163,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:165,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:168,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:171,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:172,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:173,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 175
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 140
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_verify_peers2
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - strerror
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_compress_certificate_get_selected_method
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:188,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:191,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:192,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:195,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:195,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:196,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:196,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:198,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:198,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:201,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:201,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:202,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:202,1
    - Dst: CHECK
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:204,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:204,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:206,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:210,1
    - Dst: terminate
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:211,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:214,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:217,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:218,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:221,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:222,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:224,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:225,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:229,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:231,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:232,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:233,1
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:235,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:237,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:240,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:242,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:245,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:247,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:249,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:252,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:255,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:256,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:257,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 259
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 164
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - terminate
    - gnutls_certificate_verify_peers2
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_server_set_request
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_compress_certificate_set_methods
    - gnutls_certificate_set_x509_trust_mem
    - gnutls_transport_set_int
    - CHECK
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - gnutls_protocol_get_name
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_compress_certificate_get_selected_method
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:266,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:268,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:270,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:271,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:274,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:276,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:277,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:278,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:284,1
    - Dst: wait
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:285,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:286,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:288,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:289,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/compress-cert-neg.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 292
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/compress-cert-neg.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - check_wait_status
    - signal
    - server
    - close
    - socketpair
    - wait
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: mytime
    functionSourceFile: /src/gnutls/tests/tls13/ocsp-client.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:71,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/tests/tls13/ocsp-client.c:74,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:80,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:81,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:85,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:89,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/ocsp-client.c:93,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:94,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - session
    - priv
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: check_response
    functionSourceFile: /src/gnutls/tests/tls13/ocsp-client.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - assert
    - gnutls_ocsp_status_request_get2
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void check_response(gnutls_session_t session, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/ocsp-client.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/tls13/ocsp-client.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/ocsp-client.c:124,1
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/tests/tls13/ocsp-client.c:125,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/ocsp-client.c:127,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/ocsp-client.c:129,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:131,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/ocsp-client.c:131,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:132,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/ocsp-client.c:132,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/tls13/ocsp-client.c:134,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/tls13/ocsp-client.c:136,1
    - Dst: fopen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:139,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:141,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:142,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:142,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:143,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:144,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:144,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:144,1
    - Dst: fclose
      Src: /src/gnutls/tests/tls13/ocsp-client.c:146,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/tls13/ocsp-client.c:148,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:151,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/tls13/ocsp-client.c:154,1
    - Dst: fopen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:156,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:158,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:159,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:159,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:159,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:160,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:160,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:160,1
    - Dst: fclose
      Src: /src/gnutls/tests/tls13/ocsp-client.c:161,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/tls13/ocsp-client.c:162,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:165,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:165,1
    - Dst: get_tmpname
      Src: /src/gnutls/tests/tls13/ocsp-client.c:168,1
    - Dst: fopen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:169,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:172,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:172,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:172,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/ocsp-client.c:173,1
    - Dst: fwrite
      Src: /src/gnutls/tests/tls13/ocsp-client.c:173,1
    - Dst: strlen
      Src: /src/gnutls/tests/tls13/ocsp-client.c:173,1
    - Dst: fclose
      Src: /src/gnutls/tests/tls13/ocsp-client.c:174,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/tests/tls13/ocsp-client.c:176,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:179,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/tests/tls13/ocsp-client.c:182,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/tls13/ocsp-client.c:185,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:188,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:188,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/tests/tls13/ocsp-client.c:191,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:194,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/tests/tls13/ocsp-client.c:198,1
    - Dst: gnutls_certificate_get_verify_flags
      Src: /src/gnutls/tests/tls13/ocsp-client.c:200,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:202,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/ocsp-client.c:204,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:207,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:207,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/tests/tls13/ocsp-client.c:210,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/ocsp-client.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/ocsp-client.c:213,1
    - Dst: _test_cli_serv
      Src: /src/gnutls/tests/tls13/ocsp-client.c:216,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/ocsp-client.c:220,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/ocsp-client.c:221,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/ocsp-client.c:222,1
    - Dst: remove
      Src: /src/gnutls/tests/tls13/ocsp-client.c:223,1
    - Dst: remove
      Src: /src/gnutls/tests/tls13/ocsp-client.c:224,1
    - Dst: remove
      Src: /src/gnutls/tests/tls13/ocsp-client.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 226
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/ocsp-client.c
    functionUses: 1
    functionsReached:
    - _test_cli_serv
    - gnutls_global_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_ocsp_status_request_mem
    - gnutls_certificate_get_verify_flags
    - gnutls_certificate_set_verify_flags
    - gnutls_global_set_log_function
    - gnutls_global_set_time_function
    - fclose
    - gnutls_certificate_set_x509_key_file2
    - gnutls_certificate_set_x509_trust_mem
    - fopen
    - assert
    - strlen
    - gnutls_certificate_allocate_credentials
    - get_tmpname
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - remove
    - gnutls_strerror
    - fwrite
    - global_init
    - fail
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/ocsp-client.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/ocsp-client.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:74,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:76,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:80,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:81,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:82,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: ticket_callback
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_session_get_data2
    - assert
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int ticket_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \  unsigned post, unsigned int incoming,\n\t\t\t   const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:99,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:102,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:103,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:106,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:106,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:111,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:111,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:113,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:113,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:115,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:120,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:123,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:124,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:128,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:128,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:132,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:134,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:139,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:140,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:143,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:143,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:146,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:160,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:161,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:162,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 165
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 141
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_free
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:175,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:176,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:178,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:180,1
    - Dst: memcpy
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: client_hello_callback
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_session_get_ptr
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int client_hello_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t\t
      unsigned post, unsigned int incoming,\n\t\t\t\t const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:198,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:200,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:200,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:203,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:204,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:207,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:208,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:212,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:212,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:214,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:214,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:215,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:215,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:218,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:218,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:223,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:225,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:228,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:230,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:233,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:239,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:240,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:243,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:246,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:246,1
    - Dst: memcmp
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:254,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:256,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:262,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:264,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:271,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:272,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:273,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:274,1
    - Dst: gnutls_free
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:275,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:277,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:280,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 281
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 166
    functionsReached:
    - gnutls_credentials_set
    - gnutls_session_set_ptr
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_global_set_log_function
    - close
    - memcmp
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_session_is_resumed
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_ticket_key_generate
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:286,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:297,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:298,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:300,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:302,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:303,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:306,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:308,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:309,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:310,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:315,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:316,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:317,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:319,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:320,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/hello_retry_request_resume.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/hello_retry_request_resume.c
    functionUses: 1
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 4
    functionsReached:
    - exit
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: server_log_func
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void server_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: client_log_func
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void client_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:82,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:87,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:88,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:91,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:95,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:97,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:98,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:98,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:100,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:106,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:111,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:113,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:118,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:120,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:125,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:126,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:129,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:130,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:133,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:138,1
    - Dst: send
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:142,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:147,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:151,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:155,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - fd
    - ccs_check
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 158
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 158
    functionName: client
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 142
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - send
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void client(int fd, unsigned ccs_check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:168,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:171,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:172,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:177,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 189
    functionName: cli_hsk_callback
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_handshake_set_hook_function
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int cli_hsk_callback(gnutls_session_t session, unsigned int htype,\n\t\t\t
      \   unsigned post, unsigned int incoming,\n\t\t\t    const gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:200,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:203,1
    - Dst: gnutls_transport_get_int
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:210,1
    - Dst: send
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:214,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - session
    - htype
    - post
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: hsk_callback
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 0
    functionsReached:
    - send
    - assert
    - gnutls_transport_get_int
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: int
    signature: "int hsk_callback(gnutls_session_t session, unsigned int htype,\n\t\t\tunsigned
      post, unsigned int incoming,\n\t\t\tconst gnutls_datum_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:234,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:240,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:241,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:244,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:245,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:248,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:250,1
    - Dst: get_timeout
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:250,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:253,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:257,1
    - Dst: assert
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:265,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:265,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:267,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:269,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:271,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:274,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:275,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:278,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:278,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:280,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:282,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:285,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:289,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:290,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:294,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:298,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:301,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:302,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:304,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:308,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:312,1
    - Dst: success
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - fd
    - ccs_check
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 316
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 316
    functionName: server
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 167
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - get_timeout
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_global_set_log_function
    - gnutls_certificate_server_set_request
    - gnutls_record_send
    - close
    - gnutls_init
    - gnutls_transport_set_int
    - assert
    - success
    - gnutls_certificate_allocate_credentials
    - gnutls_handshake_set_hook_function
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_handshake
    - global_init
    - gnutls_error_is_fatal
    - fail
    linkageType: ''
    returnType: void
    signature: void server(int fd, unsigned ccs_check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:321,1
    - Dst: check_wait_status
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: ch_handler
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 0
    functionsReached:
    - check_wait_status
    - wait
    linkageType: ''
    returnType: void
    signature: void ch_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:332,1
    - Dst: signal
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:333,1
    - Dst: socketpair
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:335,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:337,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:338,1
    - Dst: fork
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:341,1
    - Dst: perror
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:343,1
    - Dst: fail
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:344,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:345,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:350,1
    - Dst: server
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:351,1
    - Dst: kill
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:352,1
    - Dst: close
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:354,1
    - Dst: client
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:355,1
    - Dst: exit
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ccs_check
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 358
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 358
    functionName: start
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 170
    functionsReached:
    - exit
    - fork
    - kill
    - signal
    - server
    - close
    - socketpair
    - client
    - fail
    - perror
    linkageType: ''
    returnType: void
    signature: void start(unsigned ccs_check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:362,1
    - Dst: start
      Src: /src/gnutls/tests/tls13/change_cipher_spec.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: doit
    functionSourceFile: /src/gnutls/tests/tls13/change_cipher_spec.c
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn0.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:99,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:100,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:102,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:105,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:108,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:110,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:114,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:117,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:119,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:120,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:122,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:123,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:124,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:126,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:128,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:129,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:130,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:131,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:134,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:136,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:138,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:139,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:142,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:144,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:145,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:145,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:146,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:152,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:154,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:157,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:159,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:160,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:161,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:164,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:167,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:169,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:171,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:174,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:177,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:178,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:180,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:181,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:184,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:186,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn0.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 193
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn0.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - puts
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn5.c
    functionUses: 3
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:99,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:100,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:102,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:105,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:106,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:108,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:109,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:110,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:114,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:115,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:116,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:119,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:121,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:122,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:124,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:125,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:126,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:128,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:130,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:133,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:136,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:137,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:139,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:142,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:144,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:146,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:149,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:152,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:154,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:155,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:156,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:162,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:164,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:167,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:170,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:171,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:172,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:174,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:177,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:179,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:181,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:183,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:186,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:187,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:189,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:190,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:192,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:193,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:195,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn5.c:198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 202
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn5.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - puts
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn2.c
    functionUses: 4
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:96,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:97,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:99,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:102,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:103,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:105,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:106,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:107,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:109,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:110,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:111,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:114,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:115,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:116,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:117,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:119,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:120,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:121,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:124,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:125,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:126,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:127,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:130,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:132,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:134,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:135,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:138,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:141,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:142,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:143,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:144,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:147,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:149,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:151,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:152,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:155,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:157,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:158,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:159,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:165,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:167,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:170,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:173,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:174,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:175,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:176,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:179,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:181,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:183,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:184,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:191,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:193,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:194,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:194,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:195,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:201,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:203,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:206,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:211,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:213,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:214,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:215,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:221,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:223,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:226,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:228,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:229,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:231,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:232,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:234,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:235,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:237,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn2.c:240,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 244
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn2.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - puts
    - global_init
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn1.c
    functionUses: 5
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:101,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:105,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:109,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:112,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:113,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:114,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:117,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:118,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:119,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:120,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:124,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:125,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:126,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:129,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:130,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:131,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:132,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:135,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:137,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:139,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:140,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:143,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:149,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:153,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:155,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn1.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 162
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn1.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - abort
    - puts
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn4.c
    functionUses: 5
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:101,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:105,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:109,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:111,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:112,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:113,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:116,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:117,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:118,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:119,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:123,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:124,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:125,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:127,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:129,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:130,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:131,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:133,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:136,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:138,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:140,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:142,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:145,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:147,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:148,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:149,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:155,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:157,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:160,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:163,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:164,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:165,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:167,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:170,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:172,1
    - Dst: tls_log_func
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:174,1
    - Dst: exit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:176,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:179,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:180,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:182,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:183,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:185,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:186,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:188,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn4.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 195
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn4.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_rehandshake
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - exit
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - HANDSHAKE
    - tls_log_func
    - gnutls_global_set_log_level
    - abort
    - gnutls_strerror
    - puts
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn3.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:98,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:99,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:101,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:104,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:105,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:107,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:108,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:109,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:113,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:114,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:115,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:118,1
    - Dst: gnutls_init
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:119,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:120,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:121,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:124,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:125,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:126,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:129,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:130,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:131,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:132,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:135,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:137,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:139,1
    - Dst: abort
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:140,1
    - Dst: HANDSHAKE_EXPECT
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:143,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:147,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:149,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:153,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:155,1
    - Dst: puts
      Src: /src/gnutls/tests/safe-renegotiation/srn3.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 162
    functionName: doit
    functionSourceFile: /src/gnutls/tests/safe-renegotiation/srn3.c
    functionUses: 1
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - gnutls_global_set_log_function
    - gnutls_safe_renegotiation_status
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_session_get_flags
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_global_set_log_level
    - abort
    - puts
    - global_init
    - HANDSHAKE_EXPECT
    linkageType: ''
    returnType: void
    signature: void doit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: main_latex
      Src: /src/gnutls/doc/alert-printlist.c:38,1
    - Dst: main_texinfo
      Src: /src/gnutls/doc/alert-printlist.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnutls/doc/alert-printlist.c
    functionUses: 4
    functionsReached:
    - main_texinfo
    - main_latex
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:55,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:56,1
    - Dst: gnutls_alert_get_strname
      Src: /src/gnutls/doc/alert-printlist.c:58,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:60,1
    - Dst: escape_texi_string
      Src: /src/gnutls/doc/alert-printlist.c:61,1
    - Dst: gnutls_alert_get_strname
      Src: /src/gnutls/doc/alert-printlist.c:61,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/doc/alert-printlist.c:63,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: main_texinfo
    functionSourceFile: /src/gnutls/doc/alert-printlist.c
    functionUses: 1
    functionsReached:
    - printf
    - escape_texi_string
    - gnutls_alert_get_strname
    - gnutls_alert_get_name
    linkageType: ''
    returnType: void
    signature: void main_texinfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/gnutls/doc/alert-printlist.c:92,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:94,1
    - Dst: gnutls_alert_get_strname
      Src: /src/gnutls/doc/alert-printlist.c:105,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:107,1
    - Dst: escape_string
      Src: /src/gnutls/doc/alert-printlist.c:108,1
    - Dst: gnutls_alert_get_strname
      Src: /src/gnutls/doc/alert-printlist.c:108,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/doc/alert-printlist.c:110,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:111,1
    - Dst: printf
      Src: /src/gnutls/doc/alert-printlist.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: main_latex
    functionSourceFile: /src/gnutls/doc/alert-printlist.c
    functionUses: 1
    functionsReached:
    - puts
    - escape_string
    - gnutls_alert_get_strname
    - printf
    - gnutls_alert_get_name
    linkageType: ''
    returnType: void
    signature: void main_latex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/doc/errcodes.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _n1
    - _n2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: compar
    functionSourceFile: /src/gnutls/doc/errcodes.c
    functionUses: 4
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compar(const void *_n1, const void *_n2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: main_latex
      Src: /src/gnutls/doc/errcodes.c:70,1
    - Dst: main_texinfo
      Src: /src/gnutls/doc/errcodes.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnutls/doc/errcodes.c
    functionUses: 4
    functionsReached:
    - main_texinfo
    - main_latex
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:85,1
    - Dst: memset
      Src: /src/gnutls/doc/errcodes.c:87,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/doc/errcodes.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/errcodes.c:94,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:96,1
    - Dst: escape_texi_string
      Src: /src/gnutls/doc/errcodes.c:97,1
    - Dst: strcpy
      Src: /src/gnutls/doc/errcodes.c:99,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: main_texinfo
    functionSourceFile: /src/gnutls/doc/errcodes.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - strcpy
    - escape_texi_string
    - gnutls_strerror_name
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int main_texinfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/gnutls/doc/errcodes.c:118,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:120,1
    - Dst: memset
      Src: /src/gnutls/doc/errcodes.c:122,1
    - Dst: gnutls_strerror_name
      Src: /src/gnutls/doc/errcodes.c:125,1
    - Dst: strcpy
      Src: /src/gnutls/doc/errcodes.c:129,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/errcodes.c:138,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:142,1
    - Dst: escape_string
      Src: /src/gnutls/doc/errcodes.c:144,1
    - Dst: escape_string
      Src: /src/gnutls/doc/errcodes.c:145,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:146,1
    - Dst: printf
      Src: /src/gnutls/doc/errcodes.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 152
    functionName: main_latex
    functionSourceFile: /src/gnutls/doc/errcodes.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - strcpy
    - puts
    - gnutls_strerror_name
    - escape_string
    - memset
    - printf
    linkageType: ''
    returnType: void
    signature: void main_latex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - str
    - buffer
    - buffer_size
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 23
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 23
    functionName: escape_string
    functionSourceFile: /src/gnutls/doc/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *escape_string(const char *str, char *buffer, int buffer_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - str
    - buffer
    - buffer_size
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: escape_texi_string
    functionSourceFile: /src/gnutls/doc/common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *escape_texi_string(const char *str, char *buffer, int buffer_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: main_latex
      Src: /src/gnutls/doc/printlist.c:38,1
    - Dst: main_texinfo
      Src: /src/gnutls/doc/printlist.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnutls/doc/printlist.c
    functionUses: 4
    functionsReached:
    - main_texinfo
    - main_latex
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:56,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:57,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:58,1
    - Dst: gnutls_cipher_suite_info
      Src: /src/gnutls/doc/printlist.c:59,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:62,1
    - Dst: escape_texi_string
      Src: /src/gnutls/doc/printlist.c:63,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/doc/printlist.c:65,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:67,1
    - Dst: gnutls_certificate_type_list
      Src: /src/gnutls/doc/printlist.c:72,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:74,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:75,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:77,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/doc/printlist.c:78,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:80,1
    - Dst: gnutls_protocol_list
      Src: /src/gnutls/doc/printlist.c:84,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:86,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:88,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/doc/printlist.c:88,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:90,1
    - Dst: gnutls_cipher_list
      Src: /src/gnutls/doc/printlist.c:94,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:96,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:98,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/doc/printlist.c:98,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:100,1
    - Dst: gnutls_mac_list
      Src: /src/gnutls/doc/printlist.c:104,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:106,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:108,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/doc/printlist.c:108,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:110,1
    - Dst: gnutls_kx_list
      Src: /src/gnutls/doc/printlist.c:114,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:116,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:118,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/doc/printlist.c:118,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:120,1
    - Dst: gnutls_pk_list
      Src: /src/gnutls/doc/printlist.c:124,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:126,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:128,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/doc/printlist.c:128,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:130,1
    - Dst: gnutls_sign_list
      Src: /src/gnutls/doc/printlist.c:134,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:136,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:138,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/doc/printlist.c:138,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:140,1
    - Dst: gnutls_group_list
      Src: /src/gnutls/doc/printlist.c:144,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:146,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:148,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/doc/printlist.c:148,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 152
    functionName: main_texinfo
    functionSourceFile: /src/gnutls/doc/printlist.c
    functionUses: 3
    functionsReached:
    - gnutls_group_list
    - gnutls_mac_list
    - gnutls_sign_get_name
    - gnutls_sign_list
    - printf
    - gnutls_certificate_type_list
    - gnutls_pk_list
    - gnutls_protocol_list
    - gnutls_cipher_get_name
    - gnutls_pk_get_name
    - gnutls_group_get_name
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_certificate_type_get_name
    - escape_texi_string
    - gnutls_cipher_list
    - gnutls_cipher_suite_info
    - gnutls_kx_list
    linkageType: ''
    returnType: void
    signature: void main_texinfo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/gnutls/doc/printlist.c:177,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:179,1
    - Dst: gnutls_cipher_suite_info
      Src: /src/gnutls/doc/printlist.c:190,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:193,1
    - Dst: escape_string
      Src: /src/gnutls/doc/printlist.c:194,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/doc/printlist.c:196,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:197,1
    - Dst: printf
      Src: /src/gnutls/doc/printlist.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: main_latex
    functionSourceFile: /src/gnutls/doc/printlist.c
    functionUses: 3
    functionsReached:
    - puts
    - escape_string
    - gnutls_cipher_suite_info
    - gnutls_protocol_get_name
    - printf
    linkageType: ''
    returnType: void
    signature: void main_latex(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:52,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/doc/examples/ex-cert-select.c:52,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:54,1
    - Dst: gnutls_pcert_import_x509_raw
      Src: /src/gnutls/doc/examples/ex-cert-select.c:54,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-cert-select.c:57,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:59,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/doc/examples/ex-cert-select.c:59,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:61,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/doc/examples/ex-cert-select.c:61,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:63,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/doc/examples/ex-cert-select.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-cert-select.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: load_keys
    functionSourceFile: /src/gnutls/doc/examples/ex-cert-select.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_load_file
    - gnutls_free
    - gnutls_pcert_import_x509_raw
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    linkageType: ''
    returnType: void
    signature: void load_keys(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-cert-select.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:76,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-cert-select.c:78,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:82,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-cert-select.c:82,1
    - Dst: load_keys
      Src: /src/gnutls/doc/examples/ex-cert-select.c:84,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:87,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-cert-select.c:87,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:91,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-cert-select.c:91,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/doc/examples/ex-cert-select.c:94,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:98,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-cert-select.c:98,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:101,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-cert-select.c:101,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:105,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-cert-select.c:105,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-cert-select.c:109,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-cert-select.c:111,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-cert-select.c:115,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:118,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-cert-select.c:119,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-cert-select.c:124,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-cert-select.c:126,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:129,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-cert-select.c:129,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-cert-select.c:129,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-cert-select.c:131,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:133,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:136,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-cert-select.c:136,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:140,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-cert-select.c:142,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-cert-select.c:144,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select.c:146,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-cert-select.c:146,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-cert-select.c:150,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-cert-select.c:152,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-cert-select.c:154,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-cert-select.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-cert-select.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - load_keys
    - gnutls_transport_set_int
    - CHECK
    - exit
    - gnutls_check_version
    - strlen
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - gnutls_certificate_set_retrieve_function2
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:180,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:182,1
    - Dst: gnutls_x509_rdn_get
      Src: /src/gnutls/doc/examples/ex-cert-select.c:187,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:189,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select.c:190,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/ex-cert-select.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 208
    functionName: cert_callback
    functionSourceFile: /src/gnutls/doc/examples/ex-cert-select.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_certificate_type_get
    - gnutls_x509_rdn_get
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-client-psk.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:43,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-psk.c:45,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:48,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-psk.c:48,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:50,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-psk.c:50,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:51,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-psk.c:51,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:56,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-psk.c:56,1
    - Dst: gnutls_set_default_priority_append
      Src: /src/gnutls/doc/examples/ex-client-psk.c:58,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:66,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-psk.c:68,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:73,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-psk.c:73,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-psk.c:77,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-psk.c:79,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-psk.c:80,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-psk.c:85,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-psk.c:86,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:89,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-psk.c:90,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-psk.c:95,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:96,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-psk.c:97,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:100,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-psk.c:100,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-psk.c:100,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:102,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-psk.c:102,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:104,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-psk.c:106,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-psk.c:107,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-psk.c:109,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-psk.c:114,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-psk.c:116,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-psk.c:118,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-psk.c:121,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-psk.c:121,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-psk.c:125,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-psk.c:127,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-psk.c:129,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-psk.c:131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-psk.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - LOOP_CHECK
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_int
    - CHECK
    - exit
    - gnutls_check_version
    - strlen
    - tcp_connect
    - gnutls_global_init
    - gnutls_psk_free_client_credentials
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - gnutls_set_default_priority_append
    - fputs
    - gnutls_psk_set_client_credentials
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_psk_allocate_client_credentials
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alert_get
      Src: /src/gnutls/doc/examples/ex-alert.c:23,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-alert.c:30,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-alert.c:33,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/doc/examples/ex-alert.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - session
    - ret
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 36
    functionName: check_alert
    functionSourceFile: /src/gnutls/doc/examples/ex-alert.c
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    - printf
    - gnutls_alert_get_name
    linkageType: ''
    returnType: void
    signature: void check_alert(gnutls_session_t session, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/doc/examples/verify.c:26,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/doc/examples/verify.c:38,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/verify.c:40,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/verify.c:44,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/verify.c:46,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/verify.c:49,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/verify.c:53,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/verify.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 62
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 62
    functionName: verify_certificate_callback
    functionSourceFile: /src/gnutls/doc/examples/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_verification_status_print
    - gnutls_free
    - gnutls_session_get_ptr
    - gnutls_certificate_verify_peers
    - printf
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: int
    signature: int verify_certificate_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-anon.c:40,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-anon.c:42,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-anon.c:46,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/doc/examples/ex-client-anon.c:49,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-anon.c:54,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-anon.c:58,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-anon.c:60,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-anon.c:61,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-anon.c:66,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-anon.c:67,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:70,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-anon.c:71,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-anon.c:76,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:77,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-anon.c:78,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-anon.c:81,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-anon.c:81,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-anon.c:81,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-anon.c:83,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-anon.c:83,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:85,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-anon.c:87,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-anon.c:88,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:90,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-anon.c:90,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-anon.c:95,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-anon.c:97,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-anon.c:99,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-anon.c:102,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-anon.c:102,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-anon.c:106,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-anon.c:108,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-anon.c:110,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-anon.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-anon.c
    functionUses: 4
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - LOOP_CHECK
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_int
    - strlen
    - tcp_connect
    - gnutls_priority_set_direct
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:20,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:29,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:31,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:33,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:35,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:37,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:38,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:42,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-pkcs11-list.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 46
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-pkcs11-list.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_obj_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_obj_list_import_url4
    - fprintf
    - gnutls_x509_crt_import_pkcs11
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnutls/doc/examples/udp.c:35,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/udp.c:37,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/udp.c:39,1
    - Dst: atoi
      Src: /src/gnutls/doc/examples/udp.c:39,1
    - Dst: inet_pton
      Src: /src/gnutls/doc/examples/udp.c:40,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/udp.c:44,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/udp.c:48,1
    - Dst: connect
      Src: /src/gnutls/doc/examples/udp.c:52,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/udp.c:54,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/udp.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 59
    functionName: udp_connect
    functionSourceFile: /src/gnutls/doc/examples/udp.c
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - setsockopt
    - connect
    - atoi
    - memset
    - htons
    - fprintf
    linkageType: ''
    returnType: int
    signature: int udp_connect(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnutls/doc/examples/udp.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: udp_close
    functionSourceFile: /src/gnutls/doc/examples/udp.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void udp_close(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:53,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:58,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:60,1
    - Dst: load_cert
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:62,1
    - Dst: load_cert
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:63,1
    - Dst: load_cert
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:64,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:68,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:73,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:75,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:79,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:80,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:83,1
    - Dst: malloc
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:85,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:87,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:89,1
    - Dst: memcpy
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:94,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:103,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:104,1
    - Dst: _generate_request
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:106,1
    - Dst: curl_global_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:109,1
    - Dst: curl_easy_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:111,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:113,1
    - Dst: curl_slist_append
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:120,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:123,1
    - Dst: curl_easy_perform
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:125,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:127,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:131,1
    - Dst: _response_info
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:134,1
    - Dst: _verify_response
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:136,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:138,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:139,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:140,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 144
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 4
    functionsReached:
    - _response_info
    - gnutls_global_deinit
    - load_cert
    - gnutls_rnd
    - _verify_response
    - curl_slist_append
    - printf
    - curl_easy_perform
    - curl_global_init
    - curl_easy_setopt
    - _generate_request
    - memset
    - gnutls_x509_crt_get_authority_info_access
    - exit
    - gnutls_x509_crt_deinit
    - gnutls_global_init
    - malloc
    - gnutls_strerror
    - gnutls_free
    - curl_easy_cleanup
    - curl_easy_init
    - memcpy
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:152,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:154,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:156,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:158,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:160,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:162,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:164,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:165,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: _response_info
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - exit
    - gnutls_free
    - gnutls_ocsp_resp_print
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_init
    - printf
    linkageType: ''
    returnType: void
    signature: void _response_info(const gnutls_datum_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:177,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:179,1
    - Dst: read_file
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:181,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:185,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:186,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:189,1
    - Dst: free
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:190,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:192,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:193,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - cert_file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: load_cert
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 3
    functionsReached:
    - exit
    - gnutls_x509_crt_import
    - gnutls_strerror
    - gnutls_x509_crt_init
    - free
    - read_file
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: gnutls_x509_crt_t load_cert(const char *cert_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:206,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:208,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:210,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:212,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:214,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:216,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:218,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:220,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - rdata
    - cert
    - issuer
    - nonce
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: _generate_request
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_ocsp_req_set_nonce
    - gnutls_ocsp_req_add_cert
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - gnutls_ocsp_req_export
    linkageType: ''
    returnType: void
    signature: "void _generate_request(gnutls_datum_t *rdata, gnutls_x509_crt_t cert,\n\t\t\t
      \     gnutls_x509_crt_t issuer, gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:235,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:237,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:239,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:241,1
    - Dst: gnutls_ocsp_resp_check_crt
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:243,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:245,1
    - Dst: gnutls_ocsp_resp_get_nonce
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:247,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:249,1
    - Dst: memcmp
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:252,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:253,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:256,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:258,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:260,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:262,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:264,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:267,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:270,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:273,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:276,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:279,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:282,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:285,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:287,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:288,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - data
    - cert
    - signer
    - nonce
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 291
    functionName: _verify_response
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - exit
    - gnutls_free
    - gnutls_ocsp_resp_import
    - memcmp
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_resp_verify_direct
    - printf
    - gnutls_ocsp_resp_get_nonce
    - gnutls_ocsp_resp_check_crt
    linkageType: ''
    returnType: int
    signature: "int _verify_response(gnutls_datum_t *data, gnutls_x509_crt_t cert,\n\t\t\t
      \   gnutls_x509_crt_t signer, gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:299,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:301,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:302,1
    - Dst: memcpy
      Src: /src/gnutls/doc/examples/ex-ocsp-client.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: get_data
    functionSourceFile: /src/gnutls/doc/examples/ex-ocsp-client.c
    functionUses: 5
    functionsReached:
    - memcpy
    - exit
    - fprintf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t get_data(void *buffer, size_t size, size_t nmemb, void *userp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:54,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:57,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:59,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:61,1
    - Dst: getpass
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:63,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:66,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:67,1
    - Dst: MIN
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:70,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:70,1
    - Dst: memcpy
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 7
    argNames:
    - user
    - attempt
    - token_url
    - token_label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: pin_callback
    functionSourceFile: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c
    functionUses: 0
    functionsReached:
    - exit
    - getpass
    - strlen
    - MIN
    - memcpy
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int pin_callback(void *user, int attempt, const char *token_url,\n\t\t\tconst
      char *token_label, unsigned int flags, char *pin,\n\t\t\tsize_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:86,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:87,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:89,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:93,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:93,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:97,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:100,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:100,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:104,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:104,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:107,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:107,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:115,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:115,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:118,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:118,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:122,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:122,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:126,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:128,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:135,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:136,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:141,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:142,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:143,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:146,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:146,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:146,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:148,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:150,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:153,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:157,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:159,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:161,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:163,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:163,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:167,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:169,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:171,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-cert-select-pkcs11.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - gnutls_certificate_set_x509_key_file
    - printf
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_int
    - CHECK
    - exit
    - gnutls_pkcs11_set_pin_function
    - gnutls_check_version
    - strlen
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-client-x509.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:43,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-x509.c:45,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:49,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-x509.c:49,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:52,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-client-x509.c:52,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:55,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/gnutls/doc/examples/ex-client-x509.c:55,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:64,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-x509.c:64,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:66,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/doc/examples/ex-client-x509.c:66,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-x509.c:68,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:71,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-client-x509.c:71,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:75,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-x509.c:75,1
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/doc/examples/ex-client-x509.c:76,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-x509.c:80,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-x509.c:82,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-x509.c:83,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-x509.c:88,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-x509.c:89,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/ex-client-x509.c:93,1
    - Dst: gnutls_session_get_verify_cert_status
      Src: /src/gnutls/doc/examples/ex-client-x509.c:94,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:95,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/ex-client-x509.c:95,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:97,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-x509.c:98,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:100,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-x509.c:101,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-x509.c:104,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:105,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-x509.c:106,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:110,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-x509.c:110,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-x509.c:110,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:112,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-x509.c:112,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:114,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-x509.c:116,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-x509.c:117,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:119,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-x509.c:119,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509.c:124,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-x509.c:126,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-x509.c:128,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509.c:131,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-x509.c:131,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-x509.c:135,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-x509.c:137,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-client-x509.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-x509.c:141,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-x509.c
    functionUses: 4
    functionsReached:
    - gnutls_certificate_set_x509_system_trust
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - printf
    - LOOP_CHECK
    - gnutls_session_set_verify_cert
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_int
    - CHECK
    - gnutls_certificate_verification_status_print
    - exit
    - gnutls_check_version
    - strlen
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_global_init
    - gnutls_session_get_verify_cert_status
    - fputc
    - fprintf
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:43,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:45,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:48,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:48,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:51,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:51,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:55,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:55,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:57,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:69,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:69,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:71,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:73,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:74,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:77,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:77,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:80,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:83,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:85,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:91,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:91,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:95,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:97,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:98,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:103,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:104,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:107,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:108,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:113,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:114,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:115,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:118,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:118,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:118,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:120,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:120,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:122,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:124,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:125,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:125,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:127,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:127,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:132,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:134,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:136,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:139,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:139,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:143,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:145,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:147,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-x509-3.1.c
    functionUses: 4
    functionsReached:
    - gnutls_session_set_ptr
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_certificate_set_verify_function
    - LOOP_CHECK
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_int
    - CHECK
    - exit
    - gnutls_check_version
    - strlen
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_priority_set_direct
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:165,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:171,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:171,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:173,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:175,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:175,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:178,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-x509-3.1.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: _verify_certificate_callback
    functionSourceFile: /src/gnutls/doc/examples/ex-client-x509-3.1.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_certificate_verification_status_print
    - gnutls_free
    - gnutls_session_get_ptr
    - gnutls_certificate_verify_peers3
    - printf
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: int
    signature: int _verify_certificate_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnutls/doc/examples/tcp.c:32,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/tcp.c:34,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/tcp.c:36,1
    - Dst: atoi
      Src: /src/gnutls/doc/examples/tcp.c:36,1
    - Dst: inet_pton
      Src: /src/gnutls/doc/examples/tcp.c:37,1
    - Dst: connect
      Src: /src/gnutls/doc/examples/tcp.c:39,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tcp.c:41,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tcp.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: tcp_connect
    functionSourceFile: /src/gnutls/doc/examples/tcp.c
    functionUses: 7
    functionsReached:
    - socket
    - exit
    - inet_pton
    - connect
    - atoi
    - memset
    - htons
    - fprintf
    linkageType: ''
    returnType: int
    signature: int tcp_connect(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/gnutls/doc/examples/tcp.c:52,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tcp.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tcp_close
    functionSourceFile: /src/gnutls/doc/examples/tcp.c
    functionUses: 7
    functionsReached:
    - shutdown
    - close
    linkageType: ''
    returnType: void
    signature: void tcp_close(int sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:43,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: pskfunc
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-psk.c
    functionUses: 0
    functionsReached:
    - printf
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int pskfunc(gnutls_session_t session, const char *username,\n\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:69,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:70,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:72,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:76,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:78,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:79,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:82,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:85,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:88,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:89,1
    - Dst: gnutls_priority_init2
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:96,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:99,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:104,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:105,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:107,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:110,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:112,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:115,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:116,1
    - Dst: listen
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:117,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:118,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:120,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:124,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:125,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:126,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:128,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:132,1
    - Dst: accept
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:135,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:137,1
    - Dst: inet_ntop
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:138,1
    - Dst: ntohs
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:140,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:142,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:143,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:143,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:148,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:151,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:153,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:156,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:157,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:164,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:164,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:168,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:170,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:171,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:172,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:174,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:182,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:185,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:188,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:188,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:190,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:191,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:193,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:195,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:196,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:198,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-serv-psk.c:200,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 203
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-psk.c
    functionUses: 4
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - ntohs
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_psk_server_get_username
    - gnutls_priority_init2
    - gnutls_record_recv
    - gnutls_certificate_set_x509_key_file
    - printf
    - gnutls_certificate_server_set_request
    - LOOP_CHECK
    - socket
    - inet_ntop
    - accept
    - gnutls_psk_allocate_server_credentials
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_certificate_set_known_dh_params
    - gnutls_transport_set_int
    - exit
    - gnutls_check_version
    - setsockopt
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - SOCKET_ERR
    - gnutls_error_is_fatal
    - listen
    - gnutls_global_init
    - bind
    - htons
    - gnutls_strerror
    - gnutls_certificate_set_x509_crl_file
    - gnutls_priority_deinit
    - gnutls_priority_set
    - gnutls_handshake
    - gnutls_psk_set_server_credentials_function
    - gnutls_kx_get
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:60,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:60,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:62,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:62,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:64,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:64,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:67,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:67,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:76,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:76,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:79,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:79,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:82,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:82,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:95,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:101,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:103,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:106,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:108,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:111,1
    - Dst: listen
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:113,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:115,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:119,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:119,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:120,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:120,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:121,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:121,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:129,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:131,1
    - Dst: accept
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:134,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:136,1
    - Dst: inet_ntop
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:137,1
    - Dst: ntohs
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:139,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:141,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:143,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:143,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:145,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:146,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:147,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:148,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:151,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:157,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:157,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:161,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:163,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:164,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:165,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:167,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:175,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:175,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:178,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:181,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:181,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:183,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:184,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:186,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:188,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:189,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-serv-x509.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-x509.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - ntohs
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - printf
    - gnutls_certificate_set_x509_key_file
    - gnutls_certificate_server_set_request
    - LOOP_CHECK
    - socket
    - inet_ntop
    - accept
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_certificate_set_known_dh_params
    - gnutls_transport_set_int
    - CHECK
    - setsockopt
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - listen
    - gnutls_global_init
    - bind
    - gnutls_strerror
    - gnutls_certificate_set_x509_crl_file
    - gnutls_certificate_set_ocsp_status_request_file
    - gnutls_priority_deinit
    - gnutls_priority_set
    - gnutls_handshake
    - gnutls_priority_init
    - htons
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:56,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:58,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:59,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:61,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:65,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:69,1
    - Dst: gnutls_srp_set_server_credentials_file
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:70,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:73,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:74,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:76,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:81,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:82,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:84,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:87,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:89,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:92,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:93,1
    - Dst: listen
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:94,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:95,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:97,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:101,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:102,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:109,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:117,1
    - Dst: accept
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:120,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:122,1
    - Dst: inet_ntop
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:123,1
    - Dst: ntohs
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:125,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:127,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:129,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:129,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:131,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:134,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:137,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:138,1
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:139,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:144,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:144,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:148,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:150,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:151,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:152,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:154,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:162,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:165,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:167,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:167,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:169,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:170,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:172,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:175,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-serv-srp.c:177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-srp.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - ntohs
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_certificate_set_x509_key_file
    - printf
    - gnutls_certificate_server_set_request
    - LOOP_CHECK
    - socket
    - inet_ntop
    - accept
    - strcpy
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_srp_server_get_username
    - gnutls_transport_set_int
    - gnutls_srp_free_server_credentials
    - exit
    - gnutls_check_version
    - setsockopt
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - SOCKET_ERR
    - gnutls_priority_set_direct
    - listen
    - gnutls_srp_set_server_credentials_file
    - gnutls_global_init
    - bind
    - gnutls_strerror
    - gnutls_handshake
    - gnutls_srp_allocate_server_credentials
    - htons
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-crq.c:27,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/doc/examples/ex-crq.c:32,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/doc/examples/ex-crq.c:34,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/doc/examples/ex-crq.c:38,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/doc/examples/ex-crq.c:40,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/doc/examples/ex-crq.c:44,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/doc/examples/ex-crq.c:47,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-crq.c:48,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/doc/examples/ex-crq.c:52,1
    - Dst: gnutls_x509_crq_set_challenge_password
      Src: /src/gnutls/doc/examples/ex-crq.c:56,1
    - Dst: gnutls_x509_crq_set_key
      Src: /src/gnutls/doc/examples/ex-crq.c:61,1
    - Dst: gnutls_x509_crq_sign2
      Src: /src/gnutls/doc/examples/ex-crq.c:65,1
    - Dst: gnutls_x509_crq_export
      Src: /src/gnutls/doc/examples/ex-crq.c:70,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-crq.c:72,1
    - Dst: gnutls_x509_privkey_export
      Src: /src/gnutls/doc/examples/ex-crq.c:78,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-crq.c:81,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/doc/examples/ex-crq.c:83,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/doc/examples/ex-crq.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-crq.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crq_export
    - gnutls_x509_crq_sign2
    - strlen
    - gnutls_x509_crq_set_version
    - gnutls_x509_privkey_generate
    - gnutls_x509_crq_set_key
    - gnutls_x509_crq_deinit
    - gnutls_x509_crq_set_dn_by_oid
    - gnutls_x509_privkey_export
    - gnutls_x509_privkey_deinit
    - gnutls_sec_param_to_pk_bits
    - gnutls_x509_crq_init
    - gnutls_global_init
    - gnutls_x509_privkey_init
    - gnutls_x509_crq_set_challenge_password
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:21,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:23,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:25,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:26,1
    - Dst: gnutls_priority_get_cipher_suite_index
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:30,1
    - Dst: gnutls_cipher_suite_info
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:37,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:41,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - priorities
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 49
    functionName: print_cipher_suite_list
    functionSourceFile: /src/gnutls/doc/examples/print-ciphersuites.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_cipher_suite_info
    - gnutls_priority_init
    - gnutls_protocol_get_name
    - gnutls_priority_get_cipher_suite_index
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_cipher_suite_list(const char *priorities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_cipher_suite_list
      Src: /src/gnutls/doc/examples/print-ciphersuites.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/print-ciphersuites.c
    functionUses: 4
    functionsReached:
    - print_cipher_suite_list
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:28,1
    - Dst: gnutls::client_session::client_session
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:35,1
    - Dst: gnutls::certificate_credentials::certificate_credentials
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:38,1
    - Dst: gnutls::certificate_credentials::set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:43,1
    - Dst: gnutls::client_session::set_credentials
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:46,1
    - Dst: gnutls::client_session::set_priority
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:49,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:53,1
    - Dst: gnutls::client_session::set_transport_ptr
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:61,1
    - Dst: gnutls::client_session::send
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:68,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:68,1
    - Dst: gnutls::client_session::recv
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:70,1
    - Dst: std::runtime_error
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:73,1
    - Dst: std::runtime_error
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:77,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:77,1
    - Dst: write
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:81,1
    - Dst: gnutls::client_session::bye
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:84,1
    - Dst: what
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:88,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:92,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-cxx.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-cxx.cpp
    functionUses: 4
    functionsReached:
    - gnutls::client_session::set_priority
    - what
    - gnutls_strerror
    - gnutls::client_session::set_credentials
    - gnutls::client_session::client_session
    - gnutls::certificate_credentials::set_x509_trust_file
    - strlen
    - std::runtime_error
    - gnutls_global_deinit
    - tcp_connect
    - gnutls::client_session::bye
    - gnutls::client_session::set_transport_ptr
    - gnutls::client_session::recv
    - gnutls_global_init
    - gnutls::certificate_credentials::certificate_credentials
    - tcp_close
    - write
    - gnutls::client_session::send
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:43,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:45,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:49,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:51,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:53,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:58,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:59,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:61,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:64,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:66,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:69,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:70,1
    - Dst: listen
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:71,1
    - Dst: SOCKET_ERR
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:72,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:74,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:78,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:79,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:81,1
    - Dst: accept
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:83,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:85,1
    - Dst: inet_ntop
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:86,1
    - Dst: ntohs
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:88,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:90,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:93,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:94,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:97,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:98,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:99,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:100,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:103,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:109,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:112,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:115,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:116,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:118,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:126,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:129,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:132,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:134,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:135,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:137,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-serv-anon.c:141,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-anon.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - ntohs
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_anon_set_server_known_dh_params
    - gnutls_record_recv
    - printf
    - gnutls_anon_allocate_server_credentials
    - socket
    - inet_ntop
    - accept
    - gnutls_record_send
    - close
    - gnutls_init
    - memset
    - gnutls_transport_set_int
    - exit
    - gnutls_check_version
    - setsockopt
    - SOCKET_ERR
    - gnutls_priority_set_direct
    - listen
    - gnutls_global_init
    - bind
    - gnutls_strerror
    - gnutls_handshake
    - htons
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:75,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:77,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:78,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:81,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:84,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:87,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:88,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:91,1
    - Dst: gnutls_priority_init2
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:99,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:102,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:106,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:108,1
    - Dst: htons
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:111,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:116,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:120,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:125,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:127,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:130,1
    - Dst: wait_for_connection
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:131,1
    - Dst: recvfrom
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:136,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:139,1
    - Dst: gnutls_dtls_cookie_verify
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:140,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:146,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:151,1
    - Dst: human_addr
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:152,1
    - Dst: gnutls_dtls_cookie_send
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:156,1
    - Dst: recvfrom
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:162,1
    - Dst: usleep
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:165,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:168,1
    - Dst: human_addr
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:169,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:175,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:176,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:177,1
    - Dst: gnutls_dtls_prestate_set
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:180,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:181,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:188,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:189,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:190,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:191,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:194,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:194,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:200,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:201,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:202,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:206,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:209,1
    - Dst: gnutls_record_recv_seq
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:209,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:213,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:214,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:215,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:218,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:219,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:224,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:229,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:235,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:236,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:238,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:239,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:244,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:244,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:245,1
    - Dst: close
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:247,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:249,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:250,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_certificate_free_credentials
    - gnutls_dtls_cookie_send
    - gnutls_priority_init2
    - usleep
    - gnutls_transport_set_ptr
    - gnutls_certificate_set_x509_key_file
    - printf
    - LOOP_CHECK
    - socket
    - gnutls_record_recv_seq
    - gnutls_record_send
    - close
    - human_addr
    - gnutls_init
    - memset
    - gnutls_certificate_set_known_dh_params
    - gnutls_transport_set_pull_function
    - gnutls_key_generate
    - exit
    - setsockopt
    - gnutls_dtls_set_mtu
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - recvfrom
    - gnutls_transport_set_pull_timeout_function
    - gnutls_global_init
    - bind
    - gnutls_dtls_cookie_verify
    - gnutls_dtls_prestate_set
    - gnutls_strerror
    - gnutls_certificate_set_x509_crl_file
    - gnutls_priority_deinit
    - gnutls_priority_set
    - gnutls_handshake
    - wait_for_connection
    - htons
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:262,1
    - Dst: FD_ZERO
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:263,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:265,1
    - Dst: select
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:268,1
    - Dst: perror
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:272,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: wait_for_connection
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 1
    functionsReached:
    - exit
    - FD_SET
    - select
    - FD_ZERO
    - perror
    linkageType: ''
    returnType: int
    signature: int wait_for_connection(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:291,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:292,1
    - Dst: select
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:297,1
    - Dst: recvfrom
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:306,1
    - Dst: memcmp
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 315
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 315
    functionName: pull_timeout_func
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - memcmp
    - recvfrom
    - select
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendto
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - data
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: push_func
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 0
    functionsReached:
    - sendto
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t push_func(gnutls_transport_ptr_t p, const void *data,\n\t\t\t
      size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:335,1
    - Dst: memcmp
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:341,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:344,1
    - Dst: human_addr
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:345,1
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p
    - data
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 350
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 350
    functionName: pull_func
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_errno
    - human_addr
    - memcmp
    - recvfrom
    - printf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:366,1
    - Dst: snprintf
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:371,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:375,1
    - Dst: getnameinfo
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:379,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:382,1
    - Dst: strncat
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:386,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:388,1
    - Dst: getnameinfo
      Src: /src/gnutls/doc/examples/ex-serv-dtls.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - sa
    - salen
    - buf
    - buflen
    argTypes:
    - struct sockaddr*
    - socklen_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 396
    functionName: human_addr
    functionSourceFile: /src/gnutls/doc/examples/ex-serv-dtls.c
    functionUses: 2
    functionsReached:
    - strncat
    - snprintf
    - strlen
    - getnameinfo
    linkageType: ''
    returnType: char
    signature: "char *human_addr(const struct sockaddr *sa, socklen_t salen,\n\t\t\t
      \     char *buf, size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-client-srp.c:33,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:34,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-srp.c:36,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-srp.c:40,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-srp.c:42,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-client-srp.c:43,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/ex-client-srp.c:45,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-srp.c:47,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-srp.c:51,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-srp.c:55,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/doc/examples/ex-client-srp.c:59,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-srp.c:64,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-srp.c:65,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-srp.c:67,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-srp.c:68,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-srp.c:73,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-srp.c:74,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:77,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-srp.c:78,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-srp.c:83,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-srp.c:85,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-srp.c:88,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-srp.c:88,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-srp.c:90,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-srp.c:91,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:93,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:96,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-srp.c:97,1
    - Dst: check_alert
      Src: /src/gnutls/doc/examples/ex-client-srp.c:101,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-srp.c:104,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-srp.c:106,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-srp.c:108,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-srp.c:110,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-srp.c:114,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-srp.c:116,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/doc/examples/ex-client-srp.c:118,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-client-srp.c:119,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-srp.c:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-srp.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_certificate_free_credentials
    - gnutls_srp_set_client_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - gnutls_record_send
    - gnutls_srp_allocate_client_credentials
    - check_alert
    - gnutls_init
    - gnutls_transport_set_int
    - exit
    - gnutls_check_version
    - strlen
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - tcp_connect
    - gnutls_priority_set_direct
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_srp_free_client_credentials
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-session-info.c:26,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:28,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/doc/examples/ex-session-info.c:33,1
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/doc/examples/ex-session-info.c:38,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:42,1
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/doc/examples/ex-session-info.c:43,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/doc/examples/ex-session-info.c:50,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:51,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/doc/examples/ex-session-info.c:52,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/doc/examples/ex-session-info.c:55,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:56,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/doc/examples/ex-session-info.c:57,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:67,1
    - Dst: print_x509_certificate_info
      Src: /src/gnutls/doc/examples/ex-session-info.c:87,1
    - Dst: gnutls_group_get
      Src: /src/gnutls/doc/examples/ex-session-info.c:94,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:96,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/doc/examples/ex-session-info.c:96,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:99,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/doc/examples/ex-session-info.c:100,1
    - Dst: gnutls_ecc_curve_get
      Src: /src/gnutls/doc/examples/ex-session-info.c:101,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-session-info.c:103,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/doc/examples/ex-session-info.c:104,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 108
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 108
    functionName: print_info
    functionSourceFile: /src/gnutls/doc/examples/ex-session-info.c
    functionUses: 8
    functionsReached:
    - gnutls_dh_get_prime_bits
    - gnutls_kx_get
    - gnutls_ecc_curve_get_name
    - gnutls_psk_client_get_hint
    - gnutls_group_get_name
    - gnutls_psk_server_get_username
    - print_x509_certificate_info
    - gnutls_session_get_desc
    - gnutls_ecc_curve_get
    - printf
    - gnutls_auth_get_type
    - gnutls_srp_server_get_username
    - gnutls_group_get
    linkageType: ''
    returnType: int
    signature: int print_info(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:37,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:43,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:44,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:46,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:48,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:48,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:59,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:64,1
    - Dst: gnutls_pkcs12_bag_encrypt
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:68,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:73,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:76,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:76,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:85,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:87,1
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:91,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:96,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:97,1
    - Dst: gnutls_pkcs12_generate_mac
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:102,1
    - Dst: gnutls_pkcs12_export
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:105,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:108,1
    - Dst: fopen
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:112,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:114,1
    - Dst: fwrite
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:117,1
    - Dst: fclose
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:118,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:120,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:121,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/doc/examples/ex-pkcs12.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - cert
    - pkcs8_key
    - password
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 125
    functionName: write_pkcs12
    functionSourceFile: /src/gnutls/doc/examples/ex-pkcs12.c
    functionUses: 0
    functionsReached:
    - fopen
    - gnutls_strerror
    - fclose
    - gnutls_pkcs12_export
    - fwrite
    - gnutls_pkcs12_set_bag
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_bag_set_key_id
    - gnutls_global_init
    - gnutls_pkcs12_deinit
    - gnutls_pkcs12_bag_init
    - gnutls_pkcs12_bag_set_friendly_name
    - gnutls_pkcs12_bag_encrypt
    - fprintf
    - gnutls_pkcs12_generate_mac
    - gnutls_pkcs12_bag_set_data
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: int
    signature: "int write_pkcs12(const gnutls_datum_t *cert, const gnutls_datum_t
      *pkcs8_key,\n\t\t const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:32,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:37,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:37,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:39,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:41,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:41,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:45,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:51,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:53,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:58,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:61,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:63,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:71,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:73,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:75,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:83,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:84,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:90,1
    - Dst: gnutls_store_pubkey
      Src: /src/gnutls/doc/examples/ex-verify-ssh.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 96
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 96
    functionName: _ssh_verify_certificate_callback
    functionSourceFile: /src/gnutls/doc/examples/ex-verify-ssh.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_certificate_verification_status_print
    - gnutls_free
    - gnutls_strerror
    - gnutls_session_get_ptr
    - gnutls_certificate_verify_peers3
    - gnutls_certificate_get_peers
    - printf
    - gnutls_certificate_type_get
    - gnutls_store_pubkey
    - gnutls_verify_stored_pubkey
    linkageType: ''
    returnType: int
    signature: int _ssh_verify_certificate_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_check_version
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:42,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:43,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:45,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:49,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:49,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:52,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:52,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:55,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:55,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:58,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:58,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:61,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:61,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:64,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:64,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:65,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:65,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:67,1
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:69,1
    - Dst: udp_connect
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:72,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:74,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:77,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:82,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:87,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:88,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:93,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:94,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:95,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:98,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:98,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:98,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:100,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:100,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:102,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:104,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:105,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:107,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:107,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:112,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:114,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:116,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:122,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:122,1
    - Dst: udp_close
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:126,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:128,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:130,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-dtls.c:132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-dtls.c
    functionUses: 4
    functionsReached:
    - gnutls_certificate_set_x509_system_trust
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - udp_close
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - LOOP_CHECK
    - gnutls_session_set_verify_cert
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_transport_set_int
    - CHECK
    - exit
    - gnutls_check_version
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_certificate_allocate_credentials
    - gnutls_global_init
    - fputc
    - udp_connect
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_session_get_desc
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:49,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/doc/examples/ex-verify.c:49,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:51,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/doc/examples/ex-verify.c:51,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:52,1
    - Dst: gnutls_x509_trust_list_add_crls
      Src: /src/gnutls/doc/examples/ex-verify.c:52,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/doc/examples/ex-verify.c:55,1
    - Dst: assert
      Src: /src/gnutls/doc/examples/ex-verify.c:56,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:62,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/doc/examples/ex-verify.c:62,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:63,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/doc/examples/ex-verify.c:63,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:67,1
    - Dst: gnutls_x509_trust_list_verify_named_crt
      Src: /src/gnutls/doc/examples/ex-verify.c:67,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-verify.c:68,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:74,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/doc/examples/ex-verify.c:74,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:80,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-verify.c:81,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/ex-verify.c:81,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-verify.c:85,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:87,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/gnutls/doc/examples/ex-verify.c:91,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-verify.c:92,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-verify.c:97,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-verify.c:99,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/doc/examples/ex-verify.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - hostname
    - cert_chain
    - cert_chain_length
    argTypes:
    - char*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 104
    functionName: verify_certificate_chain
    functionSourceFile: /src/gnutls/doc/examples/ex-verify.c
    functionUses: 0
    functionsReached:
    - CHECK
    - gnutls_calloc
    - assert
    - gnutls_x509_crt_import
    - gnutls_certificate_verification_status_print
    - gnutls_x509_crt_init
    - gnutls_x509_trust_list_verify_named_crt
    - strlen
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_add_crls
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_check_hostname
    - gnutls_x509_trust_list_add_cas
    - gnutls_x509_trust_list_verify_crt
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void verify_certificate_chain(const char *hostname,\n\t\t\t      const
      gnutls_datum_t *cert_chain,\n\t\t\t      int cert_chain_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_issuer_dn
      Src: /src/gnutls/doc/examples/ex-verify.c:116,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/gnutls/doc/examples/ex-verify.c:119,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:121,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:122,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/gnutls/doc/examples/ex-verify.c:126,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:128,1
    - Dst: gnutls_x509_crl_get_issuer_dn
      Src: /src/gnutls/doc/examples/ex-verify.c:133,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:136,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-verify.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - cert
    - issuer
    - crl
    - verification_output
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_x509_crl_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 142
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 142
    functionName: print_details_func
    functionSourceFile: /src/gnutls/doc/examples/ex-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_issuer_dn
    - gnutls_x509_crt_get_dn
    - gnutls_x509_crl_get_issuer_dn
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int print_details_func(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,\n\t\t\t
      \     gnutls_x509_crl_t crl,\n\t\t\t      unsigned int verification_output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:47,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/ex-client-resume.c:47,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:49,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/ex-client-resume.c:49,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:50,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/gnutls/doc/examples/ex-client-resume.c:50,1
    - Dst: tcp_connect
      Src: /src/gnutls/doc/examples/ex-client-resume.c:54,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:56,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/ex-client-resume.c:56,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:58,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/doc/examples/ex-client-resume.c:58,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-resume.c:60,1
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/doc/examples/ex-client-resume.c:61,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:63,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/ex-client-resume.c:63,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/doc/examples/ex-client-resume.c:65,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/doc/examples/ex-client-resume.c:66,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/ex-client-resume.c:69,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:73,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/doc/examples/ex-client-resume.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-client-resume.c:75,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/ex-client-resume.c:81,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-resume.c:82,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:85,1
    - Dst: gnutls_perror
      Src: /src/gnutls/doc/examples/ex-client-resume.c:86,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:89,1
    - Dst: CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:94,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/doc/examples/ex-client-resume.c:94,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/doc/examples/ex-client-resume.c:98,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:99,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:101,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:106,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/ex-client-resume.c:106,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/ex-client-resume.c:106,1
    - Dst: LOOP_CHECK
      Src: /src/gnutls/doc/examples/ex-client-resume.c:108,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/ex-client-resume.c:108,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:110,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/doc/examples/ex-client-resume.c:112,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-resume.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/ex-client-resume.c:117,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-client-resume.c:122,1
    - Dst: fputc
      Src: /src/gnutls/doc/examples/ex-client-resume.c:124,1
    - Dst: fputs
      Src: /src/gnutls/doc/examples/ex-client-resume.c:126,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/ex-client-resume.c:129,1
    - Dst: tcp_close
      Src: /src/gnutls/doc/examples/ex-client-resume.c:133,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/ex-client-resume.c:135,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/doc/examples/ex-client-resume.c:139,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/doc/examples/ex-client-resume.c:141,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/ex-client-resume.c
    functionUses: 4
    functionsReached:
    - gnutls_certificate_set_x509_system_trust
    - gnutls_credentials_set
    - gnutls_deinit
    - gnutls_global_deinit
    - gnutls_bye
    - gnutls_handshake_set_timeout
    - gnutls_server_name_set
    - gnutls_certificate_free_credentials
    - gnutls_record_recv
    - gnutls_perror
    - printf
    - LOOP_CHECK
    - gnutls_session_set_verify_cert
    - gnutls_record_send
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_session_set_data
    - gnutls_transport_set_int
    - CHECK
    - gnutls_session_get_data2
    - strlen
    - gnutls_session_is_resumed
    - tcp_connect
    - gnutls_certificate_allocate_credentials
    - gnutls_global_init
    - fputc
    - tcp_close
    - gnutls_free
    - gnutls_strerror
    - fputs
    - gnutls_handshake
    - gnutls_error_is_fatal
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bin
    - bin_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: bin2hex
    functionSourceFile: /src/gnutls/doc/examples/ex-x509-info.c
    functionUses: 1
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *bin2hex(const void *bin, size_t bin_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/ex-x509-info.c:50,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/doc/examples/ex-x509-info.c:53,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:55,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/doc/examples/ex-x509-info.c:62,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/doc/examples/ex-x509-info.c:64,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:67,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/doc/examples/ex-x509-info.c:72,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:75,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/ex-x509-info.c:76,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/doc/examples/ex-x509-info.c:82,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/doc/examples/ex-x509-info.c:83,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:85,1
    - Dst: ctime
      Src: /src/gnutls/doc/examples/ex-x509-info.c:86,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:87,1
    - Dst: ctime
      Src: /src/gnutls/doc/examples/ex-x509-info.c:87,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/doc/examples/ex-x509-info.c:92,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:94,1
    - Dst: bin2hex
      Src: /src/gnutls/doc/examples/ex-x509-info.c:95,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/doc/examples/ex-x509-info.c:99,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:101,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/doc/examples/ex-x509-info.c:102,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:107,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/doc/examples/ex-x509-info.c:108,1
    - Dst: gnutls_x509_crt_get_dn
      Src: /src/gnutls/doc/examples/ex-x509-info.c:111,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:112,1
    - Dst: gnutls_x509_crt_get_issuer_dn
      Src: /src/gnutls/doc/examples/ex-x509-info.c:115,1
    - Dst: printf
      Src: /src/gnutls/doc/examples/ex-x509-info.c:116,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/doc/examples/ex-x509-info.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 120
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 120
    functionName: print_x509_certificate_info
    functionSourceFile: /src/gnutls/doc/examples/ex-x509-info.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_x509_crt_get_version
    - gnutls_free
    - gnutls_x509_crt_import
    - ctime
    - gnutls_x509_crt_init
    - gnutls_pk_algorithm_get_name
    - gnutls_x509_crt_get_serial
    - gnutls_x509_crt_get_dn
    - gnutls_x509_crt_get_issuer_dn
    - gnutls_x509_crt_deinit
    - gnutls_certificate_get_peers
    - printf
    - bin2hex
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_certificate_type_get
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: void
    signature: void print_x509_certificate_info(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: falsequit
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int falsequit(void *opaque)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tlssession_t*::quitfn
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - tlssession_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: quit
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - tlssession_t*::quitfn
    linkageType: ''
    returnType: int
    signature: int quit(tlssession_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - format
    - ap
    argTypes:
    - void*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: stderrout
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int stderrout(void *opaque, const char *format, va_list ap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:88,1
    - Dst: tlssession_t*::erroutfn
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:89,1
    - Dst: va_end
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - format
    argTypes:
    - tlssession_t*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: errout
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - tlssession_t*::erroutfn
    linkageType: ''
    returnType: int
    signature: int errout(tlssession_t *s, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:98,1
    - Dst: tlssession_t*::erroutfn
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:100,1
    - Dst: va_end
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - format
    argTypes:
    - tlssession_t*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: debugout
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - tlssession_t*::erroutfn
    linkageType: ''
    returnType: int
    signature: int debugout(tlssession_t *s, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - nb
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: socksetnonblock
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int socksetnonblock(int fd, int nb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:125,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:127,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:134,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:137,1
    - Dst: debugout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:140,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:147,1
    - Dst: debugout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:150,1
    - Dst: gnutls_free
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:151,1
    - Dst: debugout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 161
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 161
    functionName: verify_certificate_callback
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_verification_status_print
    - gnutls_free
    - gnutls_session_get_ptr
    - gnutls_certificate_verify_peers2
    - gnutls_certificate_verify_peers3
    - gnutls_certificate_type_get
    - debugout
    linkageType: ''
    returnType: int
    signature: int verify_certificate_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:171,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:186,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:190,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:191,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:196,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:200,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:205,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:207,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:216,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:222,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:228,1
    - Dst: gnutls_init
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:230,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:234,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:238,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:241,1
    - Dst: strlen
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:242,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:245,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:250,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:252,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:253,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:257,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:261,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:267,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:275,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:276,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 8
    argNames:
    - isserver
    - keyfile
    - certfile
    - cacertfile
    - hostname
    - insecure
    - debug
    - opaque
    argTypes:
    - int
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 278
    functionName: tlssession_new
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - strdup
    - gnutls_strerror
    - gnutls_session_set_ptr
    - strlen
    - calloc
    - gnutls_credentials_set
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - gnutls_deinit
    - free
    - gnutls_server_name_set
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_certificate_set_verify_flags
    - gnutls_certificate_set_x509_key_file
    - gnutls_certificate_set_verify_function
    - errout
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: tlssession_t
    signature: "tlssession_t *tlssession_new(int isserver, char *keyfile, char *certfile,\n\t\t\t
      \    char *cacertfile, char *hostname, int insecure,\n\t\t\t     int debug,
      int (*quitfn)(void *opaque),\n\t\t\t     int (*erroutfn)(void *opaque, const
      char *format,\n\t\t\t\t\t     va_list ap),\n\t\t\t     void *opaque)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_deinit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:283,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:284,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - tlssession_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: tlssession_close
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_deinit
    linkageType: ''
    returnType: void
    signature: void tlssession_close(tlssession_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: tlssession_init
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int tlssession_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bufNew
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:303,1
    - Dst: bufNew
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:304,1
    - Dst: socksetnonblock
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:306,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:307,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:312,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:316,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:318,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:318,1
    - Dst: socksetnonblock
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:322,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:323,1
    - Dst: socksetnonblock
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:327,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:328,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:334,1
    - Dst: FD_ZERO
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:340,1
    - Dst: FD_ZERO
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:341,1
    - Dst: bufIsEmpty
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:350,1
    - Dst: bufIsEmpty
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:355,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:356,1
    - Dst: bufIsOverHWM
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:357,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:358,1
    - Dst: bufIsEmpty
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:364,1
    - Dst: bufIsEmpty
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:369,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:370,1
    - Dst: bufIsOverHWM
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:371,1
    - Dst: FD_SET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:372,1
    - Dst: select
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:379,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:383,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:384,1
    - Dst: FD_ISSET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:387,1
    - Dst: read
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:397,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:399,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:400,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:403,1
    - Dst: bufDoneWrite
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:410,1
    - Dst: FD_ISSET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:417,1
    - Dst: write
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:427,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:429,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:430,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:433,1
    - Dst: bufDoneRead
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:437,1
    - Dst: FD_ISSET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:443,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:453,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:456,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:460,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:463,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:465,1
    - Dst: bufDoneWrite
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:471,1
    - Dst: FD_ISSET
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:478,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:489,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:492,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:496,1
    - Dst: quit
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:497,1
    - Dst: errout
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:505,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:507,1
    - Dst: bufDoneRead
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:510,1
    - Dst: gnutls_bye
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:525,1
    - Dst: shutdown
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:526,1
    - Dst: bufFree
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:527,1
    - Dst: bufFree
      Src: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c:528,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 149
    argCount: 3
    argNames:
    - cryptfd
    - plainfd
    - s
    argTypes:
    - int
    - int
    - tlssession_t*
    constantsTouched: []
    func_position:
      end: 530
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 530
    functionName: tlssession_mainloop
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/crypto-gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_bye
    - bufDoneRead
    - select
    - gnutls_record_recv
    - socksetnonblock
    - gnutls_transport_set_ptr
    - FD_ZERO
    - bufFree
    - bufIsEmpty
    - FD_ISSET
    - bufNew
    - shutdown
    - bufDoneWrite
    - FD_SET
    - gnutls_record_send
    - read
    - errout
    - write
    - gnutls_strerror
    - quit
    - bufIsOverHWM
    - gnutls_handshake
    linkageType: ''
    returnType: int
    signature: int tlssession_mainloop(int cryptfd, int plainfd, tlssession_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:64,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:66,1
    - Dst: getaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:79,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:81,1
    - Dst: gai_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:82,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:89,1
    - Dst: setsockopt
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:93,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:95,1
    - Dst: bind
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:98,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:100,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:105,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:106,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:110,1
    - Dst: listen
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:112,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - addrport
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 118
    functionName: bindtoaddress
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - socket
    - freeaddrinfo
    - setsockopt
    - snprintf
    - close
    - listen
    - getaddrinfo
    - gai_strerror
    - memset
    - bind
    - fprintf
    linkageType: ''
    returnType: int
    signature: int bindtoaddress(char *addrport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:127,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:129,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:143,1
    - Dst: getaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:145,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:147,1
    - Dst: gai_strerror
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:148,1
    - Dst: socket
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:154,1
    - Dst: connect
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:156,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:163,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:164,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - addrport
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 171
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 171
    functionName: connecttoaddress
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - strdup
    - socket
    - freeaddrinfo
    - connect
    - snprintf
    - close
    - getaddrinfo
    - gai_strerror
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int connecttoaddress(char *addrport)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: quitfn
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quitfn(void *opaque)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connecttoaddress
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:181,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:182,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:183,1
    - Dst: tlssession_new
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:187,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:191,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:192,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:193,1
    - Dst: tlssession_mainloop
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:199,1
    - Dst: tlssession_mainloop
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:201,1
    - Dst: tlssession_close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:203,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:204,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:205,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - acceptfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: runproxy
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - close
    - connecttoaddress
    - tlssession_new
    - tlssession_mainloop
    - fprintf
    - tlssession_close
    linkageType: ''
    returnType: int
    signature: int runproxy(int acceptfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bindtoaddress
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:218,1
    - Dst: accept
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:230,1
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:232,1
    - Dst: runproxy
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:247,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:248,1
    - Dst: close
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 254
    functionName: runlistener
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - exit
    - accept
    - close
    - bindtoaddress
    - runproxy
    - fprintf
    linkageType: ''
    returnType: int
    signature: int runlistener(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 281
    functionName: usage
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 24
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:313,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:314,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:318,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:319,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:323,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:324,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:328,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:329,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:333,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:334,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:338,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:339,1
    - Dst: usage
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:359,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:360,1
    - Dst: usage
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:364,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:365,1
    - Dst: usage
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:370,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:371,1
    - Dst: strdup
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:375,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 376
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 376
    functionName: processoptions
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - free
    - exit
    - usage
    - strdup
    linkageType: ''
    returnType: void
    signature: void processoptions(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: handlesignal
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handlesignal(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:394,1
    - Dst: sigemptyset
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:396,1
    - Dst: sigaction
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:398,1
    - Dst: sigaction
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:399,1
    - Dst: memset
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:401,1
    - Dst: sigaction
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: setsignalmasks
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 0
    functionsReached:
    - sigaction
    - sigemptyset
    - memset
    linkageType: ''
    returnType: void
    signature: void setsignalmasks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: processoptions
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:409,1
    - Dst: setsignalmasks
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:411,1
    - Dst: tlssession_init
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:413,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:414,1
    - Dst: runlistener
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:416,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:418,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:419,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:420,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:421,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:422,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:423,1
    - Dst: exit
      Src: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 5
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: main
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/tlsproxy.c
    functionUses: 4
    functionsReached:
    - exit
    - setsignalmasks
    - free
    - tlssession_init
    - runlistener
    - processoptions
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:80,1
    - Dst: calloc
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size
    - hwm
    argTypes:
    - ssize_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: bufNew
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: buffer_t
    signature: buffer_t *bufNew(ssize_t size, ssize_t hwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:93,1
    - Dst: free
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: bufFree
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bufFree(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - addr
    argTypes:
    - buffer_t*
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: bufGetReadSpan
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t bufGetReadSpan(buffer_t *b, void **addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - b
    - addr
    argTypes:
    - buffer_t*
    - void**
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: bufGetWriteSpan
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t bufGetWriteSpan(buffer_t *b, void **addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - b
    - size
    argTypes:
    - buffer_t*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: bufDoneRead
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bufDoneRead(buffer_t *b, ssize_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - b
    - size
    argTypes:
    - buffer_t*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: bufDoneWrite
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bufDoneWrite(buffer_t *b, ssize_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: bufIsEmpty
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bufIsEmpty(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: bufIsFull
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bufIsFull(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bufGetCount
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: bufIsOverHWM
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 1
    functionsReached:
    - bufGetCount
    linkageType: ''
    returnType: int
    signature: int bufIsOverHWM(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bufGetCount
      Src: /src/gnutls/doc/examples/tlsproxy/buffer.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: bufGetFree
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 0
    functionsReached:
    - bufGetCount
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t bufGetFree(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - buffer_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: bufGetCount
    functionSourceFile: /src/gnutls/doc/examples/tlsproxy/buffer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t bufGetCount(buffer_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/src/benchmark-tls.c:303,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/benchmark-tls.c:305,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:307,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:309,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:313,1
    - Dst: gnutls_init
      Src: /src/gnutls/src/benchmark-tls.c:318,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/src/benchmark-tls.c:319,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:321,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:322,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:325,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:327,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/benchmark-tls.c:328,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/benchmark-tls.c:329,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/benchmark-tls.c:330,1
    - Dst: reset_buffers
      Src: /src/gnutls/src/benchmark-tls.c:331,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/src/benchmark-tls.c:335,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/benchmark-tls.c:337,1
    - Dst: gnutls_init
      Src: /src/gnutls/src/benchmark-tls.c:338,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/src/benchmark-tls.c:340,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:342,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:343,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:346,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:348,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/benchmark-tls.c:349,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/benchmark-tls.c:350,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/benchmark-tls.c:351,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/src/benchmark-tls.c:353,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/benchmark-tls.c:355,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/src/benchmark-tls.c:355,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:356,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/benchmark-tls.c:357,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/benchmark-tls.c:357,1
    - Dst: fflush
      Src: /src/gnutls/src/benchmark-tls.c:358,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/benchmark-tls.c:360,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:362,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:363,1
    - Dst: start_benchmark
      Src: /src/gnutls/src/benchmark-tls.c:366,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/benchmark-tls.c:370,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:374,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:375,1
    - Dst: gnutls_record_recv_packet
      Src: /src/gnutls/src/benchmark-tls.c:379,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:383,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-tls.c:384,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:385,1
    - Dst: gnutls_packet_deinit
      Src: /src/gnutls/src/benchmark-tls.c:389,1
    - Dst: stop_benchmark
      Src: /src/gnutls/src/benchmark-tls.c:392,1
    - Dst: gnutls_bye
      Src: /src/gnutls/src/benchmark-tls.c:394,1
    - Dst: gnutls_bye
      Src: /src/gnutls/src/benchmark-tls.c:395,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/benchmark-tls.c:397,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/benchmark-tls.c:398,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/src/benchmark-tls.c:401,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/src/benchmark-tls.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 2
    argNames:
    - cipher_prio
    - size
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 404
    functionName: test_ciphersuite
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_bye
    - gnutls_rnd
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv_packet
    - gnutls_transport_set_ptr
    - gnutls_anon_allocate_server_credentials
    - reset_buffers
    - gnutls_record_send
    - gnutls_init
    - gnutls_transport_set_pull_function
    - exit
    - gnutls_certificate_allocate_credentials
    - gnutls_cipher_get_name
    - gnutls_protocol_get_version
    - gnutls_priority_set_direct
    - HANDSHAKE
    - gnutls_protocol_get_name
    - start_benchmark
    - gnutls_cipher_get
    - gnutls_packet_deinit
    - gnutls_strerror
    - fflush
    - stop_benchmark
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_ciphersuite(const char *cipher_prio, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - diffs
    - diffs_size
    argTypes:
    - uint64_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: calc_avg
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double calc_avg(uint64_t *diffs, unsigned int diffs_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - diffs
    - diffs_size
    - avg
    argTypes:
    - uint64_t*
    - unsigned int
    - double
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: calc_svar
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double calc_svar(uint64_t *diffs, unsigned int diffs_size, double avg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/benchmark-tls.c:459,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/src/benchmark-tls.c:461,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:466,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:471,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:476,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-tls.c:477,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:478,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:483,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:488,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/src/benchmark-tls.c:494,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:499,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-tls.c:500,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:501,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/src/benchmark-tls.c:506,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/benchmark-tls.c:508,1
    - Dst: start_benchmark
      Src: /src/gnutls/src/benchmark-tls.c:510,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/src/benchmark-tls.c:512,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:514,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:515,1
    - Dst: gnutls_init
      Src: /src/gnutls/src/benchmark-tls.c:519,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/src/benchmark-tls.c:520,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:522,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-tls.c:523,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:524,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:527,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:529,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/benchmark-tls.c:531,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/benchmark-tls.c:532,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/benchmark-tls.c:533,1
    - Dst: reset_buffers
      Src: /src/gnutls/src/benchmark-tls.c:535,1
    - Dst: gnutls_init
      Src: /src/gnutls/src/benchmark-tls.c:537,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/src/benchmark-tls.c:539,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:541,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-tls.c:542,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark-tls.c:543,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:546,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/benchmark-tls.c:548,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/benchmark-tls.c:551,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/benchmark-tls.c:552,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/benchmark-tls.c:553,1
    - Dst: gettime
      Src: /src/gnutls/src/benchmark-tls.c:556,1
    - Dst: HANDSHAKE
      Src: /src/gnutls/src/benchmark-tls.c:558,1
    - Dst: gettime
      Src: /src/gnutls/src/benchmark-tls.c:560,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/src/benchmark-tls.c:563,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/benchmark-tls.c:565,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/benchmark-tls.c:566,1
    - Dst: timespec_sub_ns
      Src: /src/gnutls/src/benchmark-tls.c:569,1
    - Dst: abort
      Src: /src/gnutls/src/benchmark-tls.c:572,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-tls.c:577,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/benchmark-tls.c:578,1
    - Dst: stop_benchmark
      Src: /src/gnutls/src/benchmark-tls.c:579,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/src/benchmark-tls.c:580,1
    - Dst: calc_avg
      Src: /src/gnutls/src/benchmark-tls.c:582,1
    - Dst: calc_svar
      Src: /src/gnutls/src/benchmark-tls.c:598,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-tls.c:600,1
    - Dst: sqrt
      Src: /src/gnutls/src/benchmark-tls.c:601,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/src/benchmark-tls.c:604,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/src/benchmark-tls.c:605,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 2
    argNames:
    - cipher_prio
    - pk
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 607
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 607
    functionName: test_ciphersuite_kx
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 0
    functionsReached:
    - timespec_sub_ns
    - gnutls_anon_allocate_client_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_anon_free_server_credentials
    - gnutls_anon_free_client_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_transport_set_ptr
    - printf
    - gnutls_anon_allocate_server_credentials
    - reset_buffers
    - calc_avg
    - sqrt
    - gnutls_init
    - gettime
    - gnutls_transport_set_pull_function
    - exit
    - gnutls_certificate_allocate_credentials
    - HANDSHAKE
    - start_benchmark
    - calc_svar
    - abort
    - gnutls_strerror
    - gnutls_free
    - gnutls_priority_deinit
    - gnutls_priority_set
    - gnutls_session_get_desc
    - gnutls_priority_init
    - stop_benchmark
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/benchmark-tls.c:613,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/benchmark-tls.c:614,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/benchmark-tls.c:615,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-tls.c:619,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:622,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:623,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:624,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:625,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:626,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:627,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:628,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:629,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:631,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-tls.c:635,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:637,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:638,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:639,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:640,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:641,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:642,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:643,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:644,1
    - Dst: test_ciphersuite
      Src: /src/gnutls/src/benchmark-tls.c:646,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-tls.c:649,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:651,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:652,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:653,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:654,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:655,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:656,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:657,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:659,1
    - Dst: test_ciphersuite_kx
      Src: /src/gnutls/src/benchmark-tls.c:661,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/benchmark-tls.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 2
    argNames:
    - debug_level
    - ciphers
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 666
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 666
    functionName: benchmark_tls
    functionSourceFile: /src/gnutls/src/benchmark-tls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    - gnutls_global_init
    - test_ciphersuite
    - printf
    - test_ciphersuite_kx
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void benchmark_tls(int debug_level, int ciphers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/danetool.c:79,1
    - Dst: exit
      Src: /src/gnutls/src/danetool.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 0
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/danetool.c:91,1
    - Dst: cmd_parser
      Src: /src/gnutls/src/danetool.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 4
    functionsReached:
    - fix_lbuffer
    - cmd_parser
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/danetool.c:104,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:106,1
    - Dst: safe_open_rw
      Src: /src/gnutls/src/danetool.c:107,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:107,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:109,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:109,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:110,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:112,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:117,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:118,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:118,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:119,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:122,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:122,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:124,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:124,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:126,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:126,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:128,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:128,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:130,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:130,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/danetool.c:132,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:135,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:135,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:136,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/danetool.c:140,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:142,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/danetool.c:143,1
    - Dst: printf
      Src: /src/gnutls/src/danetool.c:144,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/danetool.c:147,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:148,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:149,1
    - Dst: pkcs11_common
      Src: /src/gnutls/src/danetool.c:152,1
    - Dst: memset
      Src: /src/gnutls/src/danetool.c:155,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:157,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:162,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:165,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:166,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:168,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:169,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:171,1
    - Dst: snprintf
      Src: /src/gnutls/src/danetool.c:172,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:172,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:174,1
    - Dst: snprintf
      Src: /src/gnutls/src/danetool.c:175,1
    - Dst: starttls_proto_to_service
      Src: /src/gnutls/src/danetool.c:176,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:177,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:180,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:181,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:183,1
    - Dst: dane_info
      Src: /src/gnutls/src/danetool.c:184,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:184,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:184,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/danetool.c:185,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:186,1
    - Dst: dane_check
      Src: /src/gnutls/src/danetool.c:187,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:187,1
    - Dst: USAGE
      Src: /src/gnutls/src/danetool.c:189,1
    - Dst: fclose
      Src: /src/gnutls/src/danetool.c:191,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/src/danetool.c:194,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/danetool.c:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 197
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 197
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - gnutls_global_deinit
    - snprintf
    - app_exit
    - printf
    - gnutls_global_set_log_function
    - ENABLED_OPT
    - fclose
    - safe_open_rw
    - strcasecmp
    - memset
    - dane_check
    - starttls_proto_to_service
    - pkcs11_common
    - OPT_ARG
    - gnutls_global_init
    - USAGE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - gnutls_pkcs11_deinit
    - dane_info
    - optionProcess
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/danetool.c:221,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:224,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:227,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:230,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:235,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:236,1
    - Dst: obtain_cert
      Src: /src/gnutls/src/danetool.c:238,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:239,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:243,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:244,1
    - Dst: dane_state_init
      Src: /src/gnutls/src/danetool.c:246,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:248,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:248,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:253,1
    - Dst: dane_state_set_dlv_file
      Src: /src/gnutls/src/danetool.c:254,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/danetool.c:254,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:256,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:257,1
    - Dst: dane_query_tlsa
      Src: /src/gnutls/src/danetool.c:263,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:265,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:265,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/danetool.c:270,1
    - Dst: dane_query_to_raw_tlsa
      Src: /src/gnutls/src/danetool.c:277,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:280,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:281,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/danetool.c:292,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/danetool.c:294,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:296,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:297,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:301,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/danetool.c:302,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:304,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/danetool.c:308,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:310,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:311,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/danetool.c:316,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:320,1
    - Dst: MIN
      Src: /src/gnutls/src/danetool.c:326,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/danetool.c:327,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:331,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:333,1
    - Dst: dane_query_entries
      Src: /src/gnutls/src/danetool.c:341,1
    - Dst: dane_query_data
      Src: /src/gnutls/src/danetool.c:343,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:345,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:346,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/danetool.c:352,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:354,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:355,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:360,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:361,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:363,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:366,1
    - Dst: dane_cert_usage_name
      Src: /src/gnutls/src/danetool.c:367,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:370,1
    - Dst: dane_cert_type_name
      Src: /src/gnutls/src/danetool.c:373,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:376,1
    - Dst: dane_match_type_name
      Src: /src/gnutls/src/danetool.c:379,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:382,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:384,1
    - Dst: dane_verify_crt
      Src: /src/gnutls/src/danetool.c:392,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:396,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:397,1
    - Dst: dane_verification_status_print
      Src: /src/gnutls/src/danetool.c:402,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:404,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/danetool.c:406,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:411,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:412,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/danetool.c:414,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:420,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/danetool.c:427,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/danetool.c:428,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/danetool.c:430,1
    - Dst: dane_query_deinit
      Src: /src/gnutls/src/danetool.c:433,1
    - Dst: dane_state_deinit
      Src: /src/gnutls/src/danetool.c:434,1
    - Dst: remove
      Src: /src/gnutls/src/danetool.c:438,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:441,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:443,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 168
    argCount: 4
    argNames:
    - host
    - proto
    - service
    - cinfo
    argTypes:
    - char*
    - char*
    - char*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 447
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 447
    functionName: dane_check
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - dane_query_tlsa
    - gnutls_malloc
    - gnutls_x509_crt_list_import2
    - dane_strerror
    - dane_query_deinit
    - gnutls_x509_crt_export2
    - app_exit
    - dane_state_deinit
    - dane_query_entries
    - ENABLED_OPT
    - dane_match_type_name
    - dane_cert_type_name
    - dane_state_set_dlv_file
    - dane_query_to_raw_tlsa
    - dane_state_init
    - MIN
    - gnutls_load_file
    - gnutls_x509_crt_deinit
    - dane_cert_usage_name
    - dane_verify_crt
    - OPT_ARG
    - gnutls_hex_encode
    - dane_verification_status_print
    - remove
    - gnutls_free
    - gnutls_strerror
    - dane_query_data
    - obtain_cert
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dane_check(const char *host, const char *proto, const char *service,\n\t\t
      \      common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/gnutls/src/danetool.c:465,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/danetool.c:466,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/src/danetool.c:470,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:473,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:474,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:475,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/danetool.c:478,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/danetool.c:483,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:485,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:486,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:487,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/danetool.c:491,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:493,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:494,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:495,1
    - Dst: gnutls_pubkey_export
      Src: /src/gnutls/src/danetool.c:499,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:502,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:503,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:504,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/danetool.c:507,1
    - Dst: load_pubkey
      Src: /src/gnutls/src/danetool.c:509,1
    - Dst: gnutls_pubkey_export
      Src: /src/gnutls/src/danetool.c:512,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:515,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:516,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:517,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/danetool.c:521,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:527,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/src/danetool.c:532,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:534,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:534,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:535,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/src/danetool.c:557,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/danetool.c:560,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:562,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:562,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:563,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:566,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 6
    argNames:
    - host
    - proto
    - service
    - ca
    - domain
    - cinfo
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 568
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 568
    functionName: dane_info
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_hash_get_len
    - gnutls_pubkey_export
    - load_cert
    - gnutls_pubkey_import_x509
    - gnutls_hex_encode
    - load_pubkey
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - app_exit
    - gnutls_hash_fast
    - fprintf
    - gnutls_x509_crt_export
    linkageType: ''
    returnType: void
    signature: "void dane_info(const char *host, const char *proto, const char *service,\n\t\t
      \     unsigned int ca, unsigned int domain,\n\t\t      common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/danetool.c:585,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:587,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/src/danetool.c:591,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/src/danetool.c:594,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:597,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:598,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:599,1
    - Dst: write
      Src: /src/gnutls/src/danetool.c:602,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/danetool.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 608
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 608
    functionName: cert_callback
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_get_ptr
    - gnutls_pem_base64_encode_alloc
    - gnutls_certificate_get_peers
    - app_exit
    - fprintf
    - write
    linkageType: ''
    returnType: int
    signature: int cert_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/src/danetool.c:623,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:626,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:627,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:628,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/src/danetool.c:630,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/src/danetool.c:632,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:634,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:635,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:636,1
    - Dst: is_ip
      Src: /src/gnutls/src/danetool.c:639,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/src/danetool.c:640,1
    - Dst: strlen
      Src: /src/gnutls/src/danetool.c:641,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/danetool.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 646
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 646
    functionName: init_tls_session
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_session_set_ptr
    - strlen
    - gnutls_credentials_set
    - gnutls_server_name_set
    - gnutls_init
    - gnutls_set_default_priority
    - app_exit
    - is_ip
    - fprintf
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t init_tls_session(const char *hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/danetool.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - socket
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 659
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 659
    functionName: do_handshake
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake
    linkageType: ''
    returnType: int
    signature: int do_handshake(socket_st *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/danetool.c:673,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:675,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/danetool.c:676,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:677,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/src/danetool.c:679,1
    - Dst: strcmp
      Src: /src/gnutls/src/danetool.c:681,1
    - Dst: strcmp
      Src: /src/gnutls/src/danetool.c:683,1
    - Dst: strcpy
      Src: /src/gnutls/src/danetool.c:688,1
    - Dst: sockets_init
      Src: /src/gnutls/src/danetool.c:690,1
    - Dst: port_to_service
      Src: /src/gnutls/src/danetool.c:691,1
    - Dst: umask
      Src: /src/gnutls/src/danetool.c:702,1
    - Dst: mkstemp
      Src: /src/gnutls/src/danetool.c:703,1
    - Dst: fprintf
      Src: /src/gnutls/src/danetool.c:706,1
    - Dst: strerror
      Src: /src/gnutls/src/danetool.c:706,1
    - Dst: app_exit
      Src: /src/gnutls/src/danetool.c:707,1
    - Dst: socket_open
      Src: /src/gnutls/src/danetool.c:710,1
    - Dst: close
      Src: /src/gnutls/src/danetool.c:713,1
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/src/danetool.c:716,1
    - Dst: socket_bye
      Src: /src/gnutls/src/danetool.c:720,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/src/danetool.c:721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - hostname
    - proto
    - service
    - app_proto
    - quiet
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 727
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 727
    functionName: obtain_cert
    functionSourceFile: /src/gnutls/src/danetool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - sockets_init
    - gnutls_session_get_ptr
    - strcpy
    - socket_open
    - port_to_service
    - gnutls_certificate_allocate_credentials
    - mkstemp
    - close
    - gnutls_certificate_free_credentials
    - umask
    - strcmp
    - app_exit
    - strerror
    - socket_bye
    - gnutls_certificate_set_verify_function
    - fprintf
    linkageType: ''
    returnType: char
    signature: "char *obtain_cert(const char *hostname, const char *proto,\n\t\t\t
      \      const char *service, const char *app_proto,\n\t\t\t       unsigned quiet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/cli.c:150,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:153,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:154,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:155,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/src/cli.c:158,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/src/cli.c:160,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/cli.c:161,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:163,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:164,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:165,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/cli.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:170,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:171,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/src/cli.c:174,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:178,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:179,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - privkey
    - key_source
    argTypes:
    - gnutls_privkey_t*
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: load_priv_key
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - gnutls_strerror
    - exit
    - gnutls_url_is_supported
    - gnutls_free
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - gnutls_privkey_import_url
    - fprintf
    linkageType: ''
    returnType: void
    signature: void load_priv_key(gnutls_privkey_t *privkey, const char *key_source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/src/cli.c:198,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/cli.c:200,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:202,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:203,1
    - Dst: gnutls_x509_crt_set_pin_function
      Src: /src/gnutls/src/cli.c:205,1
    - Dst: gnutls_x509_crt_import_pkcs11_url
      Src: /src/gnutls/src/cli.c:208,1
    - Dst: gnutls_x509_crt_import_pkcs11_url
      Src: /src/gnutls/src/cli.c:212,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:217,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:219,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/cli.c:226,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:228,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:230,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/src/cli.c:234,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:239,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:244,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:246,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:248,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/src/cli.c:254,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:257,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:259,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:260,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/cli.c:262,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:265,1
    - Dst: load_priv_key
      Src: /src/gnutls/src/cli.c:267,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 272
    functionName: load_x509_keys
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pcert_import_x509
    - gnutls_free
    - gnutls_x509_crt_list_import
    - load_priv_key
    - gnutls_x509_crt_import_pkcs11_url
    - strncmp
    - log_msg
    - fprintf
    - gnutls_x509_crt_set_pin_function
    linkageType: ''
    returnType: void
    signature: void load_x509_keys(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/cli.c:283,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:285,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:286,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/src/cli.c:289,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:292,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:294,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:295,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:298,1
    - Dst: load_priv_key
      Src: /src/gnutls/src/cli.c:301,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: load_rawpk_keys
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - gnutls_strerror
    - exit
    - gnutls_free
    - gnutls_pcert_import_rawpk_raw
    - load_priv_key
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: void load_rawpk_keys(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/cli.c:313,1
    - Dst: fgets
      Src: /src/gnutls/src/cli.c:314,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/cli.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - input_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: read_yesno
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - fputs
    - IS_NEWLINE
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_yesno(const char *input_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/cli.c:335,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:337,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:338,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:341,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:341,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:343,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:343,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:344,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/src/cli.c:348,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:351,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:352,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:353,1
    - Dst: fwrite
      Src: /src/gnutls/src/cli.c:356,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:357,1
    - Dst: fclose
      Src: /src/gnutls/src/cli.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 362
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 362
    functionName: try_save_cert
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - gnutls_strerror
    - gnutls_free
    - fclose
    - fwrite
    - gnutls_pem_base64_encode_alloc
    - OPT_ARG
    - gnutls_certificate_get_peers
    - fprintf
    linkageType: ''
    returnType: void
    signature: void try_save_cert(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/cli.c:367,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:369,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:380,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:381,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:385,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:390,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:392,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:393,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:400,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:404,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:405,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:406,1
    - Dst: fwrite
      Src: /src/gnutls/src/cli.c:412,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:413,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:414,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/src/cli.c:420,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:423,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:425,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:426,1
    - Dst: fwrite
      Src: /src/gnutls/src/cli.c:431,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:432,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:433,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:435,1
    - Dst: fclose
      Src: /src/gnutls/src/cli.c:437,1
    - Dst: perror
      Src: /src/gnutls/src/cli.c:438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 442
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 442
    functionName: try_save_ocsp_status
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - fopen
    - HAVE_OPT
    - exit
    - gnutls_strerror
    - gnutls_free
    - fclose
    - fwrite
    - gnutls_pem_base64_encode_alloc
    - OPT_ARG
    - gnutls_certificate_get_peers
    - fprintf
    - perror
    linkageType: ''
    returnType: void
    signature: void try_save_ocsp_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:463,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:464,1
    - Dst: canonicalize_host
      Src: /src/gnutls/src/cli.c:465,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:470,1
    - Dst: try_save_cert
      Src: /src/gnutls/src/cli.c:471,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:475,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:475,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:476,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:477,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:480,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:480,1
    - Dst: try_save_ocsp_status
      Src: /src/gnutls/src/cli.c:481,1
    - Dst: print_cert_info
      Src: /src/gnutls/src/cli.c:485,1
    - Dst: cert_verify
      Src: /src/gnutls/src/cli.c:488,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:490,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/cli.c:496,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/src/cli.c:497,1
    - Dst: cert_verify_ocsp
      Src: /src/gnutls/src/cli.c:499,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:501,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:506,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:509,1
    - Dst: service_to_port
      Src: /src/gnutls/src/cli.c:529,1
    - Dst: dane_verify_session_crt
      Src: /src/gnutls/src/cli.c:530,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:534,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/cli.c:535,1
    - Dst: dane_verification_status_print
      Src: /src/gnutls/src/cli.c:541,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:543,1
    - Dst: dane_strerror
      Src: /src/gnutls/src/cli.c:544,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:546,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:547,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:554,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/cli.c:565,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:567,1
    - Dst: port_to_service
      Src: /src/gnutls/src/cli.c:571,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/gnutls/src/cli.c:573,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:576,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:580,1
    - Dst: read_yesno
      Src: /src/gnutls/src/cli.c:587,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:592,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:595,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:598,1
    - Dst: read_yesno
      Src: /src/gnutls/src/cli.c:605,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:610,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:611,1
    - Dst: gnutls_store_pubkey
      Src: /src/gnutls/src/cli.c:616,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:619,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:620,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 101
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 624
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 624
    functionName: cert_verify_callback
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - dane_strerror
    - log_msg
    - gnutls_ocsp_status_request_is_checked
    - ENABLED_OPT
    - dane_verify_session_crt
    - gnutls_verify_stored_pubkey
    - gnutls_store_pubkey
    - service_to_port
    - canonicalize_host
    - port_to_service
    - cert_verify_ocsp
    - OPT_ARG
    - gnutls_certificate_get_peers
    - dane_verification_status_print
    - gnutls_free
    - gnutls_strerror
    - read_yesno
    - try_save_cert
    - try_save_ocsp_status
    - cert_verify
    - fprintf
    - print_cert_info
    linkageType: ''
    returnType: int
    signature: int cert_verify_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:645,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:647,1
    - Dst: gnutls_x509_rdn_get
      Src: /src/gnutls/src/cli.c:653,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:656,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:657,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/src/cli.c:667,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:677,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:688,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:698,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/src/cli.c:700,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:704,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 8
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - pcert
    - pcert_length
    - pkey
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 707
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 707
    functionName: cert_callback
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_type_get2
    - gnutls_certificate_type_get_name
    - log_msg
    - gnutls_x509_rdn_get
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_pcert_st **pcert,\n\t\t\t unsigned int *pcert_length,
      gnutls_privkey_t *pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/src/cli.c:719,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/src/cli.c:721,1
    - Dst: gnutls_init
      Src: /src/gnutls/src/cli.c:723,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/src/cli.c:726,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:728,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:729,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:730,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/src/cli.c:733,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:736,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:738,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:739,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:740,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:747,1
    - Dst: canonicalize_host
      Src: /src/gnutls/src/cli.c:750,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/src/cli.c:751,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:752,1
    - Dst: is_ip
      Src: /src/gnutls/src/cli.c:753,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/src/cli.c:754,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:755,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:758,1
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/src/cli.c:760,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:762,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:763,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:767,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:769,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:770,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:776,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:779,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:785,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/src/cli.c:787,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/cli.c:791,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/cli.c:793,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/cli.c:795,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/cli.c:796,1
    - Dst: gnutls_certificate_set_retrieve_function2
      Src: /src/gnutls/src/cli.c:798,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/src/cli.c:799,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/src/cli.c:803,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:804,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:807,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:809,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:813,1
    - Dst: compress_cert_set_methods
      Src: /src/gnutls/src/cli.c:814,1
    - Dst: OPTS_ARRAY
      Src: /src/gnutls/src/cli.c:815,1
    - Dst: OPTS_COUNT
      Src: /src/gnutls/src/cli.c:816,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:818,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:821,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/src/cli.c:822,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:826,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/src/cli.c:827,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:828,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:830,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:832,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:833,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:835,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:836,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:839,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 844
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 844
    functionName: init_tls_session
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - gnutls_credentials_set
    - OPTS_COUNT
    - gnutls_server_name_set
    - gnutls_srtp_set_profile_direct
    - gnutls_certificate_set_verify_function
    - gnutls_init
    - gnutls_set_default_priority
    - gnutls_alpn_set_protocols
    - OPTS_ARRAY
    - gnutls_dh_set_prime_bits
    - exit
    - canonicalize_host
    - strlen
    - gnutls_dtls_set_mtu
    - gnutls_heartbeat_enable
    - gnutls_priority_set_direct
    - compress_cert_set_methods
    - OPT_ARG
    - gnutls_strerror
    - gnutls_certificate_set_retrieve_function2
    - gnutls_record_set_max_size
    - is_ip
    - fprintf
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t init_tls_session(const char *host)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/src/cli.c:858,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:866,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:869,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/src/cli.c:873,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/src/cli.c:874,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:877,1
    - Dst: check_server_cmd
      Src: /src/gnutls/src/cli.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - hd
    - err
    argTypes:
    - socket_st*
    - int
    constantsTouched: []
    func_position:
      end: 883
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 883
    functionName: handle_error
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    - gnutls_strerror
    - check_server_cmd
    - gnutls_error_is_fatal
    - log_msg
    - gnutls_alert_get_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: int handle_error(socket_st *hd, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: starttls_alarm
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void starttls_alarm(int signum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/src/cli.c:913,1
    - Dst: FD_SET
      Src: /src/gnutls/src/cli.c:914,1
    - Dst: FD_SET
      Src: /src/gnutls/src/cli.c:918,1
    - Dst: fileno
      Src: /src/gnutls/src/cli.c:918,1
    - Dst: MAX
      Src: /src/gnutls/src/cli.c:919,1
    - Dst: fileno
      Src: /src/gnutls/src/cli.c:919,1
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/src/cli.c:931,1
    - Dst: select
      Src: /src/gnutls/src/cli.c:934,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/cli.c:938,1
    - Dst: WaitForSingleObject
      Src: /src/gnutls/src/cli.c:944,1
    - Dst: GetStdHandle
      Src: /src/gnutls/src/cli.c:945,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/cli.c:951,1
    - Dst: fileno
      Src: /src/gnutls/src/cli.c:951,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - hd
    - user_term
    argTypes:
    - socket_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 959
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 959
    functionName: check_net_or_keyboard_input
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - gnutls_record_check_pending
    - FD_SET
    - MAX
    - fileno
    - select
    - WaitForSingleObject
    - FD_ZERO
    - GetStdHandle
    linkageType: ''
    returnType: int
    signature: int check_net_or_keyboard_input(socket_st *hd, unsigned user_term)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake
      Src: /src/gnutls/src/cli.c:965,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:967,1
    - Dst: gnutls_perror
      Src: /src/gnutls/src/cli.c:968,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hd
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 974
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 974
    functionName: try_rehandshake
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_perror
    - log_msg
    - fprintf
    - do_handshake
    linkageType: ''
    returnType: int
    signature: int try_rehandshake(socket_st *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/src/cli.c:981,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:986,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:987,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hd
    - peer
    argTypes:
    - socket_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 993
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 993
    functionName: try_rekey
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_session_key_update
    - fprintf
    - log_msg
    linkageType: ''
    returnType: int
    signature: int try_rekey(socket_st *hd, unsigned peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/src/cli.c:1001,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/src/cli.c:1004,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/cli.c:1009,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/src/cli.c:1011,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1023,1
    - Dst: socket_bye
      Src: /src/gnutls/src/cli.c:1024,1
    - Dst: canonicalize_host
      Src: /src/gnutls/src/cli.c:1026,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1028,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1030,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1038,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:1042,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1042,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1044,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1045,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1046,1
    - Dst: fread_file
      Src: /src/gnutls/src/cli.c:1048,1
    - Dst: fclose
      Src: /src/gnutls/src/cli.c:1050,1
    - Dst: socket_open_int
      Src: /src/gnutls/src/cli.c:1053,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1053,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1054,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1057,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/src/cli.c:1058,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1059,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - hd
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 1062
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1062
    functionName: try_resume
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - fopen
    - gnutls_session_get_data2
    - HAVE_OPT
    - exit
    - gnutls_session_get_flags
    - canonicalize_host
    - fclose
    - socket_bye
    - gnutls_protocol_get_version
    - OPT_ARG
    - socket_open_int
    - gnutls_session_is_resumed
    - log_msg
    - fprintf
    - fread_file
    linkageType: ''
    returnType: int
    signature: int try_resume(socket_st *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/src/cli.c:1087,1
    - Dst: assert
      Src: /src/gnutls/src/cli.c:1100,1
    - Dst: strcpy
      Src: /src/gnutls/src/cli.c:1109,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1111,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1118,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1124,1
    - Dst: strncmp
      Src: /src/gnutls/src/cli.c:1126,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1127,1
    - Dst: memcpy
      Src: /src/gnutls/src/cli.c:1137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 3
    argNames:
    - buffer
    - bytes
    - inline_cmds
    argTypes:
    - char*
    - size_t
    - inline_cmds_st*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1169
    functionName: parse_for_inline_commands_in_buffer
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - strcpy
    - strncmp
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool parse_for_inline_commands_in_buffer(char *buffer, size_t bytes,\n\t\t\t\t\t\tinline_cmds_st
      *inline_cmds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_resume
      Src: /src/gnutls/src/cli.c:1175,1
    - Dst: try_rekey
      Src: /src/gnutls/src/cli.c:1177,1
    - Dst: try_rekey
      Src: /src/gnutls/src/cli.c:1179,1
    - Dst: try_rehandshake
      Src: /src/gnutls/src/cli.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - cmd
    - hd
    argTypes:
    - inline_cmds_st*
    - socket_st*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1185
    functionName: run_inline_command
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - try_rehandshake
    - try_rekey
    - try_resume
    linkageType: ''
    returnType: int
    signature: int run_inline_command(inline_cmds_st *cmd, socket_st *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_for_inline_commands_in_buffer
      Src: /src/gnutls/src/cli.c:1200,1
    - Dst: run_inline_command
      Src: /src/gnutls/src/cli.c:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - buffer_ptr
    - curr_bytes
    - hd
    - inline_cmds
    argTypes:
    - char*
    - size_t
    - socket_st*
    - inline_cmds_st*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1187
    functionDepth: 3
    functionLinenumber: 1187
    functionLinenumberEnd: 1231
    functionName: do_inline_command_processing
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - run_inline_command
    - parse_for_inline_commands_in_buffer
    linkageType: ''
    returnType: int
    signature: "int do_inline_command_processing(char *buffer_ptr, size_t curr_bytes,\n\t\t\t\t\tsocket_st
      *hd,\n\t\t\t\t\tinline_cmds_st *inline_cmds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/cli.c:1242,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/cli.c:1244,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/src/cli.c:1248,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/src/cli.c:1259,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1261,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1262,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/src/cli.c:1266,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1268,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1269,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/src/cli.c:1277,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/src/cli.c:1278,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1280,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:1281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1285
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1285
    functionName: print_other_info
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - ENABLED_OPT
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_resp_print
    - gnutls_ocsp_status_request_get2
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_init
    - gnutls_certificate_get_peers
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_other_info(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/cli.c:1305,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1307,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:1308,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1308,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1310,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1311,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1312,1
    - Dst: log_set
      Src: /src/gnutls/src/cli.c:1314,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/cli.c:1317,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/cli.c:1318,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/cli.c:1320,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1321,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1321,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1322,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/cli.c:1325,1
    - Dst: parse_datetime
      Src: /src/gnutls/src/cli.c:1328,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1328,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1329,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1331,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1332,1
    - Dst: set_system_time
      Src: /src/gnutls/src/cli.c:1334,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1338,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1339,1
    - Dst: sockets_init
      Src: /src/gnutls/src/cli.c:1342,1
    - Dst: init_global_tls_stuff
      Src: /src/gnutls/src/cli.c:1344,1
    - Dst: canonicalize_host
      Src: /src/gnutls/src/cli.c:1346,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1356,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1359,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:1360,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1360,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1362,1
    - Dst: fopen
      Src: /src/gnutls/src/cli.c:1363,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1363,1
    - Dst: socket_open_int
      Src: /src/gnutls/src/cli.c:1366,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1366,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1367,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1373,1
    - Dst: try_resume
      Src: /src/gnutls/src/cli.c:1376,1
    - Dst: print_other_info
      Src: /src/gnutls/src/cli.c:1381,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1386,1
    - Dst: try_rehandshake
      Src: /src/gnutls/src/cli.c:1389,1
    - Dst: sigemptyset
      Src: /src/gnutls/src/cli.c:1396,1
    - Dst: sigaction
      Src: /src/gnutls/src/cli.c:1399,1
    - Dst: fflush
      Src: /src/gnutls/src/cli.c:1402,1
    - Dst: fflush
      Src: /src/gnutls/src/cli.c:1403,1
    - Dst: setbuf
      Src: /src/gnutls/src/cli.c:1407,1
    - Dst: setbuf
      Src: /src/gnutls/src/cli.c:1409,1
    - Dst: setbuf
      Src: /src/gnutls/src/cli.c:1410,1
    - Dst: memset
      Src: /src/gnutls/src/cli.c:1412,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1422,1
    - Dst: do_handshake
      Src: /src/gnutls/src/cli.c:1423,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1425,1
    - Dst: check_net_or_keyboard_input
      Src: /src/gnutls/src/cli.c:1431,1
    - Dst: memset
      Src: /src/gnutls/src/cli.c:1436,1
    - Dst: socket_recv
      Src: /src/gnutls/src/cli.c:1437,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1442,1
    - Dst: handle_error
      Src: /src/gnutls/src/cli.c:1445,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1446,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1452,1
    - Dst: fputc
      Src: /src/gnutls/src/cli.c:1455,1
    - Dst: fflush
      Src: /src/gnutls/src/cli.c:1457,1
    - Dst: read
      Src: /src/gnutls/src/cli.c:1462,1
    - Dst: fileno
      Src: /src/gnutls/src/cli.c:1462,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1468,1
    - Dst: do_handshake
      Src: /src/gnutls/src/cli.c:1470,1
    - Dst: clearerr
      Src: /src/gnutls/src/cli.c:1471,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1473,1
    - Dst: gnutls_bye
      Src: /src/gnutls/src/cli.c:1480,1
    - Dst: strcpy
      Src: /src/gnutls/src/cli.c:1495,1
    - Dst: do_inline_command_processing
      Src: /src/gnutls/src/cli.c:1506,1
    - Dst: gnutls_record_can_use_length_hiding
      Src: /src/gnutls/src/cli.c:1525,1
    - Dst: socket_send_range
      Src: /src/gnutls/src/cli.c:1529,1
    - Dst: socket_send
      Src: /src/gnutls/src/cli.c:1533,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1539,1
    - Dst: handle_error
      Src: /src/gnutls/src/cli.c:1542,1
    - Dst: socket_bye
      Src: /src/gnutls/src/cli.c:1556,1
    - Dst: fclose
      Src: /src/gnutls/src/cli.c:1558,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/src/cli.c:1564,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/src/cli.c:1568,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/src/cli.c:1571,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/src/cli.c:1574,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/cli.c:1577,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 188
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1580
      start: 1287
    functionDepth: 4
    functionLinenumber: 1287
    functionLinenumberEnd: 1580
    functionName: main
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 4
    functionsReached:
    - HAVE_OPT
    - gnutls_global_deinit
    - do_handshake
    - try_rehandshake
    - gnutls_bye
    - socket_send_range
    - gnutls_anon_free_client_credentials
    - parse_datetime
    - gnutls_certificate_free_credentials
    - log_msg
    - cmd_parser
    - gnutls_global_set_log_function
    - print_other_info
    - ENABLED_OPT
    - fclose
    - strcpy
    - check_net_or_keyboard_input
    - gnutls_record_can_use_length_hiding
    - try_resume
    - memset
    - sockets_init
    - read
    - clearerr
    - fopen
    - exit
    - canonicalize_host
    - sigaction
    - OPT_ARG
    - gnutls_global_init
    - socket_open_int
    - sigemptyset
    - set_system_time
    - fputc
    - gnutls_psk_free_client_credentials
    - init_global_tls_stuff
    - gnutls_global_set_log_level
    - gnutls_strerror
    - setbuf
    - socket_recv
    - gnutls_srp_free_client_credentials
    - socket_send
    - handle_error
    - fflush
    - fileno
    - log_set
    - socket_bye
    - fprintf
    - do_inline_command_processing
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1588,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/src/cli.c:1589,1
    - Dst: fputs
      Src: /src/gnutls/src/cli.c:1591,1
    - Dst: gnutls_priority_string_list
      Src: /src/gnutls/src/cli.c:1593,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1597,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1600,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1604,1
    - Dst: fputs
      Src: /src/gnutls/src/cli.c:1606,1
    - Dst: gnutls_priority_string_list
      Src: /src/gnutls/src/cli.c:1608,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1614,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1617,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1620,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1623
    functionName: print_priority_list
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - fputs
    - log_msg
    - gnutls_priority_string_list
    - gnutls_check_version
    linkageType: ''
    returnType: void
    signature: void print_priority_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1636,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/cli.c:1637,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1638,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1639,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1641,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1642,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1645,1
    - Dst: gnutls_get_library_config
      Src: /src/gnutls/src/cli.c:1648,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1649,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1651,1
    - Dst: gnutls_get_system_config_file
      Src: /src/gnutls/src/cli.c:1652,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1653,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1656,1
    - Dst: benchmark_cipher
      Src: /src/gnutls/src/cli.c:1657,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1658,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1661,1
    - Dst: benchmark_tls
      Src: /src/gnutls/src/cli.c:1662,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1663,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1666,1
    - Dst: benchmark_tls
      Src: /src/gnutls/src/cli.c:1667,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1668,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1671,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1672,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1674,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1678,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1680,1
    - Dst: print_list
      Src: /src/gnutls/src/cli.c:1681,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1682,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1685,1
    - Dst: print_priority_list
      Src: /src/gnutls/src/cli.c:1686,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1687,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1690,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1691,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1695,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1698,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1701,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1702,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1703,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1703,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1704,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1706,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1709,1
    - Dst: isascii
      Src: /src/gnutls/src/cli.c:1710,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1711,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1713,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1718,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1719,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1720,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1721,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1722,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1723,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1725,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1729,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1732,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli.c:1733,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1733,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1735,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli.c:1736,1
    - Dst: starttls_proto_to_service
      Src: /src/gnutls/src/cli.c:1737,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1738,1
    - Dst: strcpy
      Src: /src/gnutls/src/cli.c:1740,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1745,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1750,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1751,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1753,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1754,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1756,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1757,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1759,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1760,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1762,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1763,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1765,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1766,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1768,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1769,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1771,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1772,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1774,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1775,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1777,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1778,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1779,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1779,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1783,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1786,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1788,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1789,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1798,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1799,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1801
      start: 1625
    functionDepth: 3
    functionLinenumber: 1625
    functionLinenumberEnd: 1801
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 2
    functionsReached:
    - HAVE_OPT
    - exit
    - isascii
    - starttls_proto_to_service
    - strlen
    - benchmark_cipher
    - strcpy
    - benchmark_tls
    - snprintf
    - gnutls_fips140_mode_enabled
    - OPT_ARG
    - gnutls_get_library_config
    - print_priority_list
    - log_msg
    - fprintf
    - gnutls_get_system_config_file
    - print_list
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1812,1
    - Dst: do_handshake
      Src: /src/gnutls/src/cli.c:1815,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1818,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1821,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1822,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/src/cli.c:1826,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/src/cli.c:1827,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1830,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1832,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - socket
    - ret
    argTypes:
    - socket_st*
    - int
    constantsTouched: []
    func_position:
      end: 1837
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1837
    functionName: check_server_cmd
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - do_handshake
    - gnutls_reauth
    - gnutls_error_is_fatal
    - log_msg
    linkageType: ''
    returnType: void
    signature: void check_server_cmd(socket_st *socket, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_fastopen
      Src: /src/gnutls/src/cli.c:1844,1
    - Dst: set_read_funcs
      Src: /src/gnutls/src/cli.c:1850,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/src/cli.c:1854,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/cli.c:1856,1
    - Dst: handle_error
      Src: /src/gnutls/src/cli.c:1859,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/src/cli.c:1861,1
    - Dst: print_info
      Src: /src/gnutls/src/cli.c:1865,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1866,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1867,1
    - Dst: print_key_material
      Src: /src/gnutls/src/cli.c:1868,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1869,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1870,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/src/cli.c:1875,1
    - Dst: shutdown
      Src: /src/gnutls/src/cli.c:1876,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - socket
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1879
    functionName: do_handshake
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 3
    functionsReached:
    - HAVE_OPT
    - shutdown
    - gnutls_handshake_set_timeout
    - print_info
    - print_key_material
    - gnutls_handshake
    - handle_error
    - gnutls_alert_send_appropriate
    - OPT_ARG
    - gnutls_error_is_fatal
    - gnutls_transport_set_fastopen
    - set_read_funcs
    linkageType: ''
    returnType: int
    signature: int do_handshake(socket_st *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/cli.c:1889,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/cli.c:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - username
    - password
    argTypes:
    - gnutls_session_t
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1893
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1893
    functionName: srp_username_callback
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    linkageType: ''
    returnType: int
    signature: "int srp_username_callback(gnutls_session_t session, char **username,\n\t\t\t\t
      char **password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1906,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1908,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1910,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1912,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/cli.c:1913,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1913,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:1918,1
    - Dst: fflush
      Src: /src/gnutls/src/cli.c:1919,1
    - Dst: getline
      Src: /src/gnutls/src/cli.c:1920,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1923,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1927,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1928,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1929,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1930,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/cli.c:1932,1
    - Dst: free
      Src: /src/gnutls/src/cli.c:1933,1
    - Dst: getpass
      Src: /src/gnutls/src/cli.c:1938,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1940,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:1945,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/cli.c:1948,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/src/cli.c:1952,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1954,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1955,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:1956,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:1957,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1964,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/cli.c:1967,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1969,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1970,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1971,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1973,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1974,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1975,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char**
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1979
    functionName: psk_callback
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - gnutls_strerror
    - gnutls_free
    - exit
    - strlen
    - getpass
    - gnutls_hex_decode
    - free
    - gnutls_malloc
    - gnutls_strdup
    - fflush
    - OPT_ARG
    - getline
    - gnutls_hex_encode
    - log_msg
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int psk_callback(gnutls_session_t session, char **username,\n\t\t\tgnutls_datum_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli.c:1987,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/src/cli.c:1988,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1990,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1991,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/src/cli.c:1993,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli.c:1993,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:1996,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:1997,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:1998,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/cli.c:2005,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2006,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:2007,1
    - Dst: gnutls_certificate_set_pin_function
      Src: /src/gnutls/src/cli.c:2009,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/src/cli.c:2011,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/src/cli.c:2012,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/src/cli.c:2014,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2015,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:2016,1
    - Dst: gnutls_certificate_set_trust_list
      Src: /src/gnutls/src/cli.c:2018,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/src/cli.c:2021,1
    - Dst: gnutls_x509_trust_list_add_system_trust
      Src: /src/gnutls/src/cli.c:2026,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2029,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2038,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2039,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:2040,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:2042,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/cli.c:2045,1
    - Dst: gnutls_x509_trust_list_set_getissuer_function
      Src: /src/gnutls/src/cli.c:2046,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/src/cli.c:2050,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2053,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2054,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:2055,1
    - Dst: log_msg
      Src: /src/gnutls/src/cli.c:2057,1
    - Dst: load_x509_keys
      Src: /src/gnutls/src/cli.c:2061,1
    - Dst: load_rawpk_keys
      Src: /src/gnutls/src/cli.c:2062,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/src/cli.c:2067,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2068,1
    - Dst: gnutls_srp_set_client_credentials_function
      Src: /src/gnutls/src/cli.c:2071,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/src/cli.c:2078,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2079,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/src/cli.c:2083,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2086,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2088,1
    - Dst: gnutls_psk_set_client_credentials_function
      Src: /src/gnutls/src/cli.c:2091,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/src/cli.c:2097,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2098,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 1981
    functionDepth: 3
    functionLinenumber: 1981
    functionLinenumberEnd: 2101
    functionName: init_global_tls_stuff
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - gnutls_anon_allocate_client_credentials
    - gnutls_srp_set_client_credentials_function
    - gnutls_pkcs11_init
    - gnutls_psk_set_client_credentials_function
    - gnutls_certificate_set_trust_list
    - gnutls_certificate_set_verify_flags
    - log_msg
    - ENABLED_OPT
    - gnutls_srp_allocate_client_credentials
    - gnutls_pkcs11_add_provider
    - exit
    - load_rawpk_keys
    - gnutls_x509_trust_list_set_getissuer_function
    - gnutls_certificate_allocate_credentials
    - gnutls_x509_trust_list_init
    - OPT_ARG
    - gnutls_x509_trust_list_add_system_trust
    - load_x509_keys
    - gnutls_x509_trust_list_add_trust_file
    - gnutls_certificate_set_flags
    - gnutls_strerror
    - gnutls_certificate_set_pin_function
    - gnutls_certificate_set_x509_crl_file
    - gnutls_psk_set_client_credentials
    - gnutls_psk_allocate_client_credentials
    - fprintf
    linkageType: ''
    returnType: void
    signature: void init_global_tls_stuff(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/cli.c:2123,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2125,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/cli.c:2131,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/cli.c:2133,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2135,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2136,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/cli.c:2141,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2145,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/cli.c:2150,1
    - Dst: gnutls_certificate_get_issuer
      Src: /src/gnutls/src/cli.c:2154,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/cli.c:2156,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2158,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2159,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/cli.c:2163,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2166,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2167,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2172,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2173,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/cli.c:2177,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2179,1
    - Dst: send_ocsp_request
      Src: /src/gnutls/src/cli.c:2183,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2188,1
    - Dst: check_ocsp_response
      Src: /src/gnutls/src/cli.c:2193,1
    - Dst: free
      Src: /src/gnutls/src/cli.c:2194,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/cli.c:2205,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/cli.c:2207,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 2212
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2212
    functionName: cert_verify_ocsp
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - send_ocsp_request
    - free
    - gnutls_certificate_get_issuer
    - gnutls_rnd
    - gnutls_certificate_get_peers
    - check_ocsp_response
    - fprintf
    linkageType: ''
    returnType: int
    signature: int cert_verify_ocsp(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnutls/src/cli.c:2225,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli.c:2226,1
    - Dst: strchr
      Src: /src/gnutls/src/cli.c:2227,1
    - Dst: strchr
      Src: /src/gnutls/src/cli.c:2233,1
    - Dst: atoi
      Src: /src/gnutls/src/cli.c:2236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - url
    - port
    - path
    argTypes:
    - char*
    - unsigned int*
    - char**
    constantsTouched: []
    func_position:
      end: 2243
      start: 2216
    functionDepth: 1
    functionLinenumber: 2216
    functionLinenumberEnd: 2243
    functionName: host_from_url
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - strchr
    - snprintf
    - atoi
    - strstr
    linkageType: ''
    returnType: char
    signature: "char *host_from_url(const char *url, unsigned int *port,\n\t\t\t\t
      const char **path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnutls/src/cli.c:2251,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2253,1
    - Dst: exit
      Src: /src/gnutls/src/cli.c:2254,1
    - Dst: memcpy
      Src: /src/gnutls/src/cli.c:2257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 2261
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2261
    functionName: get_data
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 5
    functionsReached:
    - memcpy
    - exit
    - fprintf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t get_data(void *buf, size_t size, size_t nmemb, void *userp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockets_init
      Src: /src/gnutls/src/cli.c:2285,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/src/cli.c:2289,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2294,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2296,1
    - Dst: malloc
      Src: /src/gnutls/src/cli.c:2306,1
    - Dst: memcpy
      Src: /src/gnutls/src/cli.c:2310,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:2313,1
    - Dst: host_from_url
      Src: /src/gnutls/src/cli.c:2315,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli.c:2317,1
    - Dst: strcpy
      Src: /src/gnutls/src/cli.c:2319,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2321,1
    - Dst: memset
      Src: /src/gnutls/src/cli.c:2323,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli.c:2325,1
    - Dst: strlen
      Src: /src/gnutls/src/cli.c:2326,1
    - Dst: socket_open
      Src: /src/gnutls/src/cli.c:2328,1
    - Dst: socket_send
      Src: /src/gnutls/src/cli.c:2330,1
    - Dst: socket_recv
      Src: /src/gnutls/src/cli.c:2333,1
    - Dst: get_data
      Src: /src/gnutls/src/cli.c:2335,1
    - Dst: perror
      Src: /src/gnutls/src/cli.c:2339,1
    - Dst: socket_bye
      Src: /src/gnutls/src/cli.c:2341,1
    - Dst: socket_bye
      Src: /src/gnutls/src/cli.c:2345,1
    - Dst: memmem
      Src: /src/gnutls/src/cli.c:2347,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2349,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/cli.c:2357,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2359,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/cli.c:2363,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli.c:2366,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/cli.c:2366,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/cli.c:2374,1
    - Dst: free
      Src: /src/gnutls/src/cli.c:2375,1
    - Dst: free
      Src: /src/gnutls/src/cli.c:2376,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 4
    argNames:
    - tlist
    - cert
    - issuers
    - issuers_size
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2379
    functionName: getissuer_callback
    functionSourceFile: /src/gnutls/src/cli.c
    functionUses: 0
    functionsReached:
    - socket_open
    - host_from_url
    - snprintf
    - gnutls_x509_crt_list_import2
    - perror
    - memmem
    - strcpy
    - free
    - get_data
    - memset
    - sockets_init
    - gnutls_x509_crt_get_authority_info_access
    - strlen
    - gnutls_x509_crt_init
    - malloc
    - gnutls_strerror
    - gnutls_free
    - socket_recv
    - socket_send
    - memcpy
    - socket_bye
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int getissuer_callback(const gnutls_x509_trust_list_t tlist,\n\t\t\t
      \     const gnutls_x509_crt_t cert,\n\t\t\t      gnutls_x509_crt_t **issuers,\n\t\t\t
      \     unsigned int *issuers_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/p11tool.c:62,1
    - Dst: exit
      Src: /src/gnutls/src/p11tool.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/p11tool.c
    functionUses: 6
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/p11tool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/p11tool.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnutls/src/p11tool.c
    functionUses: 4
    functionsReached:
    - cmd_parser
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:85,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:86,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:99,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:103,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:106,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:110,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:113,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:116,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:119,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:122,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - cinfo
    - key_usage
    argTypes:
    - common_info_st*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 129
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 129
    functionName: opt_to_flags
    functionSourceFile: /src/gnutls/src/p11tool.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - ENABLED_OPT
    linkageType: ''
    returnType: unsigned
    signature: unsigned opt_to_flags(common_info_st *cinfo, unsigned *key_usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/p11tool.c:143,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:152,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/p11tool.c:155,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/p11tool.c:156,1
    - Dst: printf
      Src: /src/gnutls/src/p11tool.c:158,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/p11tool.c:160,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:161,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/p11tool.c:161,1
    - Dst: app_exit
      Src: /src/gnutls/src/p11tool.c:162,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:165,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:168,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:169,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/src/p11tool.c:171,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:173,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/p11tool.c:174,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/src/p11tool.c:176,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:176,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/p11tool.c:180,1
    - Dst: app_exit
      Src: /src/gnutls/src/p11tool.c:181,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/src/p11tool.c:185,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/p11tool.c:188,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:191,1
    - Dst: safe_open_rw
      Src: /src/gnutls/src/p11tool.c:192,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:192,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:194,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:194,1
    - Dst: app_exit
      Src: /src/gnutls/src/p11tool.c:195,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:197,1
    - Dst: memset
      Src: /src/gnutls/src/p11tool.c:201,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:203,1
    - Dst: hash_to_id
      Src: /src/gnutls/src/p11tool.c:204,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:204,1
    - Dst: fprintf
      Src: /src/gnutls/src/p11tool.c:206,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:206,1
    - Dst: app_exit
      Src: /src/gnutls/src/p11tool.c:207,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:211,1
    - Dst: sign_params_to_flags
      Src: /src/gnutls/src/p11tool.c:212,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:212,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:214,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:215,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:217,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:218,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:220,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:223,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:227,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:231,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:236,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:241,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:242,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:244,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:245,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:247,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:248,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:250,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:251,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/p11tool.c:253,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:256,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:257,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:260,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:261,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:264,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:268,1
    - Dst: str_to_curve
      Src: /src/gnutls/src/p11tool.c:269,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:269,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/src/p11tool.c:270,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:273,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:274,1
    - Dst: opt_to_flags
      Src: /src/gnutls/src/p11tool.c:277,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:282,1
    - Dst: pkcs11_token_list
      Src: /src/gnutls/src/p11tool.c:283,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:284,1
    - Dst: pkcs11_token_list
      Src: /src/gnutls/src/p11tool.c:285,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:286,1
    - Dst: pkcs11_mechanism_list
      Src: /src/gnutls/src/p11tool.c:287,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:288,1
    - Dst: pkcs11_get_random
      Src: /src/gnutls/src/p11tool.c:289,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:291,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:293,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:295,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:297,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:299,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:301,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:303,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:305,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:307,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:309,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:311,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/p11tool.c:313,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:315,1
    - Dst: pkcs11_export
      Src: /src/gnutls/src/p11tool.c:316,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:317,1
    - Dst: pkcs11_export
      Src: /src/gnutls/src/p11tool.c:318,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:322,1
    - Dst: pkcs11_export_chain
      Src: /src/gnutls/src/p11tool.c:323,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:324,1
    - Dst: pkcs11_write
      Src: /src/gnutls/src/p11tool.c:325,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:326,1
    - Dst: pkcs11_test_sign
      Src: /src/gnutls/src/p11tool.c:327,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:328,1
    - Dst: pkcs11_init
      Src: /src/gnutls/src/p11tool.c:329,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:330,1
    - Dst: pkcs11_set_token_pin
      Src: /src/gnutls/src/p11tool.c:331,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:332,1
    - Dst: pkcs11_set_token_pin
      Src: /src/gnutls/src/p11tool.c:333,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:334,1
    - Dst: pkcs11_delete
      Src: /src/gnutls/src/p11tool.c:335,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:336,1
    - Dst: figure_key_type
      Src: /src/gnutls/src/p11tool.c:337,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:337,1
    - Dst: app_exit
      Src: /src/gnutls/src/p11tool.c:339,1
    - Dst: pkcs11_generate
      Src: /src/gnutls/src/p11tool.c:340,1
    - Dst: get_bits
      Src: /src/gnutls/src/p11tool.c:341,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:343,1
    - Dst: pkcs11_generate
      Src: /src/gnutls/src/p11tool.c:345,1
    - Dst: get_bits
      Src: /src/gnutls/src/p11tool.c:346,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:348,1
    - Dst: pkcs11_generate
      Src: /src/gnutls/src/p11tool.c:350,1
    - Dst: get_bits
      Src: /src/gnutls/src/p11tool.c:351,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:353,1
    - Dst: pkcs11_generate
      Src: /src/gnutls/src/p11tool.c:355,1
    - Dst: get_bits
      Src: /src/gnutls/src/p11tool.c:356,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:358,1
    - Dst: pkcs11_export_pubkey
      Src: /src/gnutls/src/p11tool.c:359,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:360,1
    - Dst: pkcs11_set_id
      Src: /src/gnutls/src/p11tool.c:361,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:362,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/p11tool.c:363,1
    - Dst: pkcs11_set_label
      Src: /src/gnutls/src/p11tool.c:364,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/p11tool.c:365,1
    - Dst: USAGE
      Src: /src/gnutls/src/p11tool.c:367,1
    - Dst: fclose
      Src: /src/gnutls/src/p11tool.c:370,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/src/p11tool.c:373,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/p11tool.c:375,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 376
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 376
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/p11tool.c
    functionUses: 3
    functionsReached:
    - HAVE_OPT
    - pkcs11_get_random
    - gnutls_global_deinit
    - gnutls_pkcs11_init
    - pkcs11_set_label
    - app_exit
    - printf
    - pkcs11_delete
    - optionProcess
    - gnutls_global_set_log_function
    - pkcs11_write
    - figure_key_type
    - ENABLED_OPT
    - opt_to_flags
    - safe_open_rw
    - fclose
    - pkcs11_set_id
    - pkcs11_export_chain
    - memset
    - GNUTLS_CURVE_TO_BITS
    - pkcs11_mechanism_list
    - gnutls_pkcs11_add_provider
    - pkcs11_generate
    - pkcs11_token_list
    - str_to_curve
    - pkcs11_set_token_pin
    - get_bits
    - OPT_ARG
    - gnutls_global_init
    - hash_to_id
    - USAGE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - pkcs11_init
    - pkcs11_test_sign
    - gnutls_pkcs11_deinit
    - pkcs11_export_pubkey
    - pkcs11_list
    - sign_params_to_flags
    - fprintf
    - pkcs11_export
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.h:103,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/certtool-common.h:105,1
    - Dst: gnutls_x509_privkey_get_seed
      Src: /src/gnutls/src/certtool-common.h:111,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.h:114,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - cinfo
    - key
    - key_type
    argTypes:
    - common_info_st*
    - gnutls_x509_privkey_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: switch_to_pkcs8_when_needed
    functionSourceFile: /src/gnutls/src/certtool-common.h
    functionUses: 0
    functionsReached:
    - fprintf
    - gnutls_pk_algorithm_get_name
    - gnutls_x509_privkey_get_seed
    linkageType: ''
    returnType: void
    signature: "void switch_to_pkcs8_when_needed(common_info_st *cinfo,\n\t\t\t\t\t
      \      gnutls_x509_privkey_t key,\n\t\t\t\t\t       unsigned key_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_key_generate
      Src: /src/gnutls/src/udp-serv.c:78,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:80,1
    - Dst: exit
      Src: /src/gnutls/src/udp-serv.c:81,1
    - Dst: listen_socket
      Src: /src/gnutls/src/udp-serv.c:84,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:86,1
    - Dst: exit
      Src: /src/gnutls/src/udp-serv.c:87,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:91,1
    - Dst: wait_for_connection
      Src: /src/gnutls/src/udp-serv.c:92,1
    - Dst: recvfrom
      Src: /src/gnutls/src/udp-serv.c:97,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/udp-serv.c:105,1
    - Dst: memset
      Src: /src/gnutls/src/udp-serv.c:106,1
    - Dst: gnutls_dtls_cookie_verify
      Src: /src/gnutls/src/udp-serv.c:107,1
    - Dst: memset
      Src: /src/gnutls/src/udp-serv.c:113,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:118,1
    - Dst: human_addr
      Src: /src/gnutls/src/udp-serv.c:119,1
    - Dst: gnutls_dtls_cookie_send
      Src: /src/gnutls/src/udp-serv.c:123,1
    - Dst: recvfrom
      Src: /src/gnutls/src/udp-serv.c:130,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:137,1
    - Dst: human_addr
      Src: /src/gnutls/src/udp-serv.c:138,1
    - Dst: initialize_session
      Src: /src/gnutls/src/udp-serv.c:144,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/udp-serv.c:145,1
    - Dst: gnutls_dtls_prestate_set
      Src: /src/gnutls/src/udp-serv.c:146,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/src/udp-serv.c:149,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/udp-serv.c:156,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/udp-serv.c:157,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/udp-serv.c:158,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/src/udp-serv.c:159,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/udp-serv.c:163,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:167,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/udp-serv.c:168,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/udp-serv.c:169,1
    - Dst: gnutls_record_recv_seq
      Src: /src/gnutls/src/udp-serv.c:175,1
    - Dst: gnutls_heartbeat_pong
      Src: /src/gnutls/src/udp-serv.c:179,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:185,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/udp-serv.c:187,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:195,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/udp-serv.c:196,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:200,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:205,1
    - Dst: check_command
      Src: /src/gnutls/src/udp-serv.c:210,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/udp-serv.c:213,1
    - Dst: fprintf
      Src: /src/gnutls/src/udp-serv.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/udp-serv.c:216,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/udp-serv.c:221,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 91
    argCount: 3
    argNames:
    - name
    - port
    - mtu
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 223
    functionName: udp_server
    functionSourceFile: /src/gnutls/src/udp-serv.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_dtls_cookie_send
    - gnutls_transport_set_ptr
    - printf
    - gnutls_record_recv_seq
    - gnutls_record_send
    - human_addr
    - gnutls_transport_set_pull_function
    - memset
    - gnutls_key_generate
    - exit
    - gnutls_dtls_set_mtu
    - initialize_session
    - recvfrom
    - gnutls_transport_set_pull_timeout_function
    - gnutls_dtls_cookie_verify
    - listen_socket
    - gnutls_heartbeat_pong
    - gnutls_dtls_prestate_set
    - gnutls_strerror
    - gnutls_handshake
    - check_command
    - wait_for_connection
    - fprintf
    linkageType: ''
    returnType: void
    signature: void udp_server(const char *name, int port, int mtu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/src/udp-serv.c:237,1
    - Dst: FD_SET
      Src: /src/gnutls/src/udp-serv.c:238,1
    - Dst: select
      Src: /src/gnutls/src/udp-serv.c:243,1
    - Dst: recvfrom
      Src: /src/gnutls/src/udp-serv.c:252,1
    - Dst: memcmp
      Src: /src/gnutls/src/udp-serv.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 261
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 261
    functionName: pull_timeout_func
    functionSourceFile: /src/gnutls/src/udp-serv.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - memcmp
    - recvfrom
    - select
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int pull_timeout_func(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sendto
      Src: /src/gnutls/src/udp-serv.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - data
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: push_func
    functionSourceFile: /src/gnutls/src/udp-serv.c
    functionUses: 0
    functionsReached:
    - sendto
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t push_func(gnutls_transport_ptr_t p, const void *data,\n\t\t\t
      size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/gnutls/src/udp-serv.c:281,1
    - Dst: memcmp
      Src: /src/gnutls/src/udp-serv.c:287,1
    - Dst: printf
      Src: /src/gnutls/src/udp-serv.c:290,1
    - Dst: human_addr
      Src: /src/gnutls/src/udp-serv.c:291,1
    - Dst: gnutls_transport_set_errno
      Src: /src/gnutls/src/udp-serv.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p
    - data
    - size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 296
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 296
    functionName: pull_func
    functionSourceFile: /src/gnutls/src/udp-serv.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_errno
    - human_addr
    - memcmp
    - recvfrom
    - printf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pull_func(gnutls_transport_ptr_t p, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/tests.c:72,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/src/tests.c:73,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/src/tests.c:79,1
    - Dst: printf
      Src: /src/gnutls/src/tests.c:80,1
    - Dst: printf
      Src: /src/gnutls/src/tests.c:81,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/src/tests.c:82,1
    - Dst: gnutls_session_get_data
      Src: /src/gnutls/src/tests.c:88,1
    - Dst: free
      Src: /src/gnutls/src/tests.c:91,1
    - Dst: malloc
      Src: /src/gnutls/src/tests.c:94,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:97,1
    - Dst: exit
      Src: /src/gnutls/src/tests.c:98,1
    - Dst: gnutls_session_get_data
      Src: /src/gnutls/src/tests.c:100,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/src/tests.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 106
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 106
    functionName: test_do_handshake
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    - exit
    - free
    - gnutls_session_get_id
    - gnutls_handshake
    - malloc
    - gnutls_error_is_fatal
    - printf
    - gnutls_alert_get_name
    - fprintf
    - gnutls_session_get_data
    linkageType: ''
    returnType: int
    signature: int test_do_handshake(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:158,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tests.c:159,1
    - Dst: exit
      Src: /src/gnutls/src/tests.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - str
    - line
    argTypes:
    - gnutls_session_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: __gnutls_priority_set_direct
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int __gnutls_priority_set_direct(gnutls_session_t session,\n\t\t\t\t\t
      \      const char *str, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:179,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:181,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:183,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/tests.c:187,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/src/tests.c:188,1
    - Dst: strstr
      Src: /src/gnutls/src/tests.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 209
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 209
    functionName: test_server
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_record_send
    - strstr
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_record_recv
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_server(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:222,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:224,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:226,1
    - Dst: gnutls_dh_get_pubkey
      Src: /src/gnutls/src/tests.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: test_dhe
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_dh_get_pubkey
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_dhe(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:244,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:246,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:248,1
    - Dst: gnutls_session_get_flags
      Src: /src/gnutls/src/tests.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: test_rfc7919
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_session_get_flags
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_rfc7919(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:270,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:272,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: test_ecdhe
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ecdhe(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:294,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:296,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: test_vko_gost_12
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_vko_gost_12(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:317,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:319,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 327
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 327
    functionName: test_rsa
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_rsa(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:343,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:345,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:347,1
    - Dst: gnutls_ecc_curve_get
      Src: /src/gnutls/src/tests.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - curve
    - id
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: test_ecdhe_curve
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    - gnutls_ecc_curve_get
    linkageType: ''
    returnType: test_code_t
    signature: "test_code_t test_ecdhe_curve(gnutls_session_t session, const char
      *curve,\n\t\t\t\t    unsigned id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdhe_curve
      Src: /src/gnutls/src/tests.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: test_ecdhe_secp256r1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdhe_curve
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ecdhe_secp256r1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdhe_curve
      Src: /src/gnutls/src/tests.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: test_ecdhe_secp384r1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdhe_curve
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ecdhe_secp384r1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdhe_curve
      Src: /src/gnutls/src/tests.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: test_ecdhe_secp521r1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdhe_curve
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ecdhe_secp521r1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdhe_curve
      Src: /src/gnutls/src/tests.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: test_ecdhe_x25519
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_ecdhe_curve
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ecdhe_x25519(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:402,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:404,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 414
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 414
    functionName: test_rfc7507
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_rfc7507(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:427,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:429,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: test_safe_renegotiation
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_safe_renegotiation(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:449,1
    - Dst: gnutls_ocsp_status_request_enable_client
      Src: /src/gnutls/src/tests.c:451,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:453,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:455,1
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/src/tests.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 465
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 465
    functionName: test_ocsp_status
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_ocsp_status_request_enable_client
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ocsp_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:479,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:481,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:483,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/src/tests.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 492
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 492
    functionName: test_ext_master_secret
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_session_ext_master_secret_status
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ext_master_secret(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:501,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:505,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:507,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:509,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/src/tests.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: test_etm
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    - gnutls_session_etm_status
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_etm(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:530,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:532,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 537
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 537
    functionName: test_safe_renegotiation_scsv
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_safe_renegotiation_scsv(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/tests.c:546,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:555,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:557,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:559,1
    - Dst: gnutls_dh_get_group
      Src: /src/gnutls/src/tests.c:561,1
    - Dst: fopen
      Src: /src/gnutls/src/tests.c:563,1
    - Dst: raw_to_string
      Src: /src/gnutls/src/tests.c:569,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:571,1
    - Dst: raw_to_string
      Src: /src/gnutls/src/tests.c:575,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:577,1
    - Dst: gnutls_dh_get_pubkey
      Src: /src/gnutls/src/tests.c:581,1
    - Dst: raw_to_string
      Src: /src/gnutls/src/tests.c:582,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:584,1
    - Dst: memcmp
      Src: /src/gnutls/src/tests.c:589,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:590,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/tests.c:599,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:601,1
    - Dst: gnutls_dh_params_import_raw
      Src: /src/gnutls/src/tests.c:605,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/tests.c:607,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:608,1
    - Dst: gnutls_dh_params_export2_pkcs3
      Src: /src/gnutls/src/tests.c:612,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/tests.c:615,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:616,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/tests.c:620,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:621,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tests.c:622,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:625,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 628
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 628
    functionName: test_dhe_group
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - fopen
    - remove
    - raw_to_string
    - fclose
    - gnutls_free
    - gnutls_credentials_set
    - gnutls_dh_params_export2_pkcs3
    - gnutls_dh_get_pubkey
    - gnutls_dh_get_group
    - gnutls_dh_params_init
    - memcmp
    - test_do_handshake
    - gnutls_dh_params_deinit
    - _gnutls_priority_set_direct
    - gnutls_dh_params_import_raw
    - fprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_dhe_group(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:638,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:640,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 647
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 647
    functionName: test_ssl3
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ssl3(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:656,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:658,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:660,1
    - Dst: strcat
      Src: /src/gnutls/src/tests.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 673
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 673
    functionName: test_ssl3_with_extensions
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - strcat
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ssl3_with_extensions(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:682,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:684,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 691
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 691
    functionName: test_ssl3_unknown_ciphersuites
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_ssl3_unknown_ciphersuites(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: got_alarm
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void got_alarm(int k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/src/tests.c:707,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:714,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:716,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:718,1
    - Dst: gnutls_bye
      Src: /src/gnutls/src/tests.c:722,1
    - Dst: sigaction
      Src: /src/gnutls/src/tests.c:727,1
    - Dst: sigaction
      Src: /src/gnutls/src/tests.c:729,1
    - Dst: alarm
      Src: /src/gnutls/src/tests.c:730,1
    - Dst: setsockopt
      Src: /src/gnutls/src/tests.c:732,1
    - Dst: gnutls_transport_get_ptr
      Src: /src/gnutls/src/tests.c:732,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/src/tests.c:737,1
    - Dst: sigaction
      Src: /src/gnutls/src/tests.c:741,1
    - Dst: WSAGetLastError
      Src: /src/gnutls/src/tests.c:743,1
    - Dst: WSAGetLastError
      Src: /src/gnutls/src/tests.c:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 754
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 754
    functionName: test_bye
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - alarm
    - sigaction
    - setsockopt
    - signal
    - gnutls_bye
    - test_do_handshake
    - WSAGetLastError
    - _gnutls_priority_set_direct
    - gnutls_record_recv
    - gnutls_transport_get_ptr
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_bye(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:760,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:764,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:766,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 770
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 770
    functionName: test_aes
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_aes(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:776,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:780,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:782,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: test_aes_gcm
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_aes_gcm(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:792,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:796,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:798,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 802
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 802
    functionName: test_aes_ccm
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_aes_ccm(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:808,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:812,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:814,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 818
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 818
    functionName: test_aes_ccm_8
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_aes_ccm_8(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:824,1
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:827,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:831,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:833,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 837
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 837
    functionName: test_camellia_cbc
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_camellia_cbc(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:843,1
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:846,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:850,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:852,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 856
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 856
    functionName: test_camellia_gcm
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_camellia_gcm(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:866,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:868,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 872
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 872
    functionName: test_unknown_ciphersuites
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_unknown_ciphersuites(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:878,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:884,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:886,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 890
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 890
    functionName: test_md5
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_md5(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:899,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:900,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 904
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 904
    functionName: test_sha
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_sha(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:913,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:914,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: test_sha256
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_sha256(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:925,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:932,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:933,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 937
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 937
    functionName: test_gost_imit
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_gost_imit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:944,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:947,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:948,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 952
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 952
    functionName: test_3des
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - sprintf
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_3des(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:958,1
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:961,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:965,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:966,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 970
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 970
    functionName: test_arcfour
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_arcfour(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:976,1
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:979,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:983,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:984,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 988
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 988
    functionName: test_chacha20
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_chacha20(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/src/tests.c:995,1
    - Dst: sprintf
      Src: /src/gnutls/src/tests.c:998,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1002,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1003,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1007
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1007
    functionName: test_gost_cnt
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_fips140_mode_enabled
    - test_do_handshake
    - _gnutls_priority_set_direct
    - sprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_gost_cnt(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1019,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1021,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1028
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1028
    functionName: test_tls1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1042,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1044,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1046,1
    - Dst: strcat
      Src: /src/gnutls/src/tests.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1053
    functionName: test_tls1_nossl3
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - strcat
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_nossl3(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1065,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1067,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1068,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1078,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1080,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1081,1
    - Dst: strcat
      Src: /src/gnutls/src/tests.c:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1090
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1090
    functionName: test_record_padding
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - strcat
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_record_padding(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1106,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1107,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/src/tests.c:1108,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1110,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1122,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1123,1
    - Dst: strcat
      Src: /src/gnutls/src/tests.c:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1132
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1132
    functionName: test_no_extensions
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_record_set_max_size
    - test_do_handshake
    - strcat
    - _gnutls_priority_set_direct
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_no_extensions(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: test_known_protocols
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_known_protocols(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1151,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1153,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: test_tls1_2
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_2(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1170,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1172,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1179
    functionName: test_tls1_3
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_3(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1189,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1191,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1198
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1198
    functionName: test_tls1_1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1211,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1213,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1215,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/tests.c:1219,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/tests.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1225
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1225
    functionName: test_tls1_1_fallback
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_protocol_get_version
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_1_fallback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1239,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1241,1
    - Dst: _gnutls_hello_set_default_version
      Src: /src/gnutls/src/tests.c:1242,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1244,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/tests.c:1249,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/tests.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1251
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1251
    functionName: test_tls1_6_fallback
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - _gnutls_hello_set_default_version
    - gnutls_protocol_get_version
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls1_6_fallback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1266,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1268,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1270,1
    - Dst: strcpy
      Src: /src/gnutls/src/tests.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: test_tls_disable0
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    - strcpy
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls_disable0(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1291,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1293,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1295,1
    - Dst: snprintf
      Src: /src/gnutls/src/tests.c:1298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1302
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1302
    functionName: test_tls_disable1
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - snprintf
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls_disable1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1315,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1317,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1319,1
    - Dst: snprintf
      Src: /src/gnutls/src/tests.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1326
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1326
    functionName: test_tls_disable2
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - snprintf
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_tls_disable2(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1340,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1341,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1343,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/tests.c:1347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1350
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1350
    functionName: test_rsa_pms
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_protocol_get_version
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_rsa_pms(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1363,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1364,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/src/tests.c:1365,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1367,1
    - Dst: gnutls_record_get_max_size
      Src: /src/gnutls/src/tests.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1376
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1376
    functionName: test_max_record_size
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_record_get_max_size
    - gnutls_record_set_max_size
    - test_do_handshake
    - _gnutls_priority_set_direct
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_max_record_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1387,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1388,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/src/tests.c:1389,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/src/tests.c:1391,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1392,1
    - Dst: gnutls_heartbeat_allowed
      Src: /src/gnutls/src/tests.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1401
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1401
    functionName: test_heartbeat_extension
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_heartbeat_enable
    - gnutls_record_set_max_size
    - test_do_handshake
    - gnutls_heartbeat_allowed
    - _gnutls_priority_set_direct
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_heartbeat_extension(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1411,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1412,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/src/tests.c:1413,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1417
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1417
    functionName: test_small_records
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    - gnutls_record_set_max_size
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_small_records(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1436,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1437,1
    - Dst: _gnutls_record_set_default_version
      Src: /src/gnutls/src/tests.c:1438,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1440,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/tests.c:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1448
      start: 1419
    functionDepth: 2
    functionLinenumber: 1419
    functionLinenumberEnd: 1448
    functionName: test_version_rollback
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_protocol_get_version
    - test_do_handshake
    - _gnutls_priority_set_direct
    - _gnutls_record_set_default_version
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_version_rollback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1464,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1465,1
    - Dst: _gnutls_record_set_default_version
      Src: /src/gnutls/src/tests.c:1466,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1470
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1470
    functionName: test_version_oob
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_record_set_default_version
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_version_oob(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1487,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1488,1
    - Dst: _gnutls_rsa_pms_set_version
      Src: /src/gnutls/src/tests.c:1489,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1493
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1493
    functionName: test_rsa_pms_version_check
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - _gnutls_rsa_pms_set_version
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_rsa_pms_version_check(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1504,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1505,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1507,1
    - Dst: gnutls_dh_get_pubkey
      Src: /src/gnutls/src/tests.c:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1513
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1513
    functionName: test_anonymous
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_dh_get_pubkey
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_anonymous(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1529,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1531,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1532,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/src/tests.c:1534,1
    - Dst: memcpy
      Src: /src/gnutls/src/tests.c:1536,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1539,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/src/tests.c:1546,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/src/tests.c:1551,1
    - Dst: memcmp
      Src: /src/gnutls/src/tests.c:1555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1559
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1559
    functionName: test_session_resume2
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_session_get_id
    - memcmp
    - test_do_handshake
    - memcpy
    - _gnutls_priority_set_direct
    - gnutls_session_set_data
    - gnutls_session_is_resumed
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_session_resume2(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/tests.c:1566,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1575,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1577,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1579,1
    - Dst: fopen
      Src: /src/gnutls/src/tests.c:1583,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:1585,1
    - Dst: print_cert_info2
      Src: /src/gnutls/src/tests.c:1586,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1592
      start: 1561
    functionDepth: 2
    functionLinenumber: 1561
    functionLinenumberEnd: 1592
    functionName: test_certificate
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - fopen
    - remove
    - fclose
    - gnutls_credentials_set
    - test_do_handshake
    - _gnutls_priority_set_direct
    - print_cert_info2
    - fprintf
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1609,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1611,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1613,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/src/tests.c:1617,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/tests.c:1620,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/src/tests.c:1635,1
    - Dst: free
      Src: /src/gnutls/src/tests.c:1638,1
    - Dst: realloc
      Src: /src/gnutls/src/tests.c:1642,1
    - Dst: free
      Src: /src/gnutls/src/tests.c:1644,1
    - Dst: memcpy
      Src: /src/gnutls/src/tests.c:1650,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tests.c:1654,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/tests.c:1664,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/tests.c:1672,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tests.c:1674,1
    - Dst: free
      Src: /src/gnutls/src/tests.c:1675,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1678
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1678
    functionName: test_chain_order
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_credentials_set
    - free
    - test_do_handshake
    - gnutls_pem_base64_encode_alloc
    - gnutls_x509_crt_list_import2
    - _gnutls_priority_set_direct
    - gnutls_certificate_get_peers
    - memcpy
    - gnutls_certificate_type_get
    - realloc
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_chain_order(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/tests.c:1695,1
    - Dst: printf
      Src: /src/gnutls/src/tests.c:1701,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:1703,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:1705,1
    - Dst: gnutls_x509_rdn_get
      Src: /src/gnutls/src/tests.c:1711,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:1713,1
    - Dst: fprintf
      Src: /src/gnutls/src/tests.c:1714,1
    - Dst: fclose
      Src: /src/gnutls/src/tests.c:1717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - session
    - req_ca_rdn
    - nreqs
    - sign_algos
    - sign_algos_length
    - st
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_retr2_st*
    constantsTouched: []
    func_position:
      end: 1720
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1720
    functionName: cert_callback
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - gnutls_x509_rdn_get
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int cert_callback(gnutls_session_t session,\n\t\t\t const gnutls_datum_t
      *req_ca_rdn, int nreqs,\n\t\t\t const gnutls_pk_algorithm_t *sign_algos,\n\t\t\t
      int sign_algos_length, gnutls_retr2_st *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/tests.c:1729,1
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1737,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1739,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/src/tests.c:1740,1
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1742,1
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/src/tests.c:1743,1
    - Dst: access
      Src: /src/gnutls/src/tests.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1753
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1753
    functionName: test_server_cas
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - remove
    - gnutls_credentials_set
    - gnutls_certificate_set_retrieve_function
    - test_do_handshake
    - _gnutls_priority_set_direct
    - access
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_server_cas(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_do_handshake
      Src: /src/gnutls/src/tests.c:1762,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/tests.c:1766,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/src/tests.c:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1772
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1772
    functionName: test_do_handshake_and_send_record
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake
    - gnutls_record_send
    - gnutls_record_recv
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_do_handshake_and_send_record(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1785,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1786,1
    - Dst: test_do_handshake_and_send_record
      Src: /src/gnutls/src/tests.c:1788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1792
      start: 1777
    functionDepth: 3
    functionLinenumber: 1777
    functionLinenumberEnd: 1792
    functionName: test_send_record
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake_and_send_record
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_send_record(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_priority_set_direct
      Src: /src/gnutls/src/tests.c:1806,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/tests.c:1807,1
    - Dst: test_do_handshake_and_send_record
      Src: /src/gnutls/src/tests.c:1809,1
    - Dst: strcat
      Src: /src/gnutls/src/tests.c:1811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1813
      start: 1794
    functionDepth: 3
    functionLinenumber: 1794
    functionLinenumberEnd: 1813
    functionName: test_send_record_with_allow_small_records
    functionSourceFile: /src/gnutls/src/tests.c
    functionUses: 0
    functionsReached:
    - test_do_handshake_and_send_record
    - strcat
    - _gnutls_priority_set_direct
    - gnutls_credentials_set
    linkageType: ''
    returnType: test_code_t
    signature: test_code_t test_send_record_with_allow_small_records(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/common.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - raw
    - raw_size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: raw_to_string
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *raw_to_string(const unsigned char *raw, size_t raw_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnutls/src/common.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - raw
    - raw_size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: raw_to_hex
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *raw_to_hex(const unsigned char *raw, size_t raw_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_encode
      Src: /src/gnutls/src/common.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - raw
    - raw_size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: raw_to_base64
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gnutls_pem_base64_encode
    linkageType: ''
    returnType: char
    signature: char *raw_to_base64(const unsigned char *raw, size_t raw_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/common.c:125,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:128,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:132,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:133,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/common.c:139,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:141,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/common.c:145,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:148,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:149,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:153,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/common.c:157,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:159,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:160,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/common.c:166,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:170,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:174,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:176,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/common.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - session
    - out
    - flag
    - print_cert
    - print_crt_status
    argTypes:
    - gnutls_session_t
    - FILE*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 181
    functionName: print_x509_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_certificate_get_peers
    - gnutls_x509_crt_export2
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_x509_info(gnutls_session_t session, FILE *out, int flag,\n\t\t\t
      \   int print_cert, int print_crt_status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/common.c:192,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:195,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:199,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:200,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/src/common.c:202,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:205,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:205,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/src/common.c:209,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:211,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:212,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/common.c:212,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/src/common.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:220,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:221,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:225,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:227,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/src/common.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - session
    - out
    - flag
    - print_cert
    - print_crt_status
    argTypes:
    - gnutls_session_t
    - FILE*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: print_rawpk_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pk_algorithm_get_name
    - gnutls_pcert_import_rawpk_raw
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pcert_deinit
    - gnutls_certificate_get_peers
    - gnutls_pubkey_export2
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_rawpk_info(gnutls_session_t session, FILE *out, int flag,\n\t\t\t
      \    int print_cert, int print_crt_status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/common.c:246,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/src/common.c:260,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:262,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:267,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:268,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/src/common.c:272,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/src/common.c:273,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:276,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:278,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:282,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:284,1
    - Dst: abort
      Src: /src/gnutls/src/common.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - session
    - hostname
    - purpose
    argTypes:
    - gnutls_session_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 293
    functionName: cert_verify
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - abort
    - gnutls_certificate_verification_status_print
    - gnutls_strerror
    - gnutls_free
    - gnutls_certificate_verify_peers
    - memset
    - log_msg
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: int
    signature: "int cert_verify(gnutls_session_t session, const char *hostname,\n\t\tconst
      char *purpose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/gnutls/src/common.c:310,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:312,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:314,1
    - Dst: gnutls_compression_get_id
      Src: /src/gnutls/src/common.c:319,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:321,1
    - Dst: gnutls_compress_certificate_set_methods
      Src: /src/gnutls/src/common.c:327,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:330,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:332,1
    - Dst: free
      Src: /src/gnutls/src/common.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - session
    - strings
    - n_strings
    argTypes:
    - gnutls_session_t
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 342
    functionName: compress_cert_set_methods
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - free
    - gnutls_compress_certificate_set_methods
    - reallocarray
    - fprintf
    - gnutls_compression_get_id
    linkageType: ''
    returnType: int
    signature: "int compress_cert_set_methods(gnutls_session_t session, const char
      **strings,\n\t\t\t      size_t n_strings)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_group_get
      Src: /src/gnutls/src/common.c:358,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:363,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:364,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/src/common.c:365,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:366,1
    - Dst: gnutls_dh_get_secret_bits
      Src: /src/gnutls/src/common.c:367,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:368,1
    - Dst: gnutls_dh_get_peers_public_bits
      Src: /src/gnutls/src/common.c:369,1
    - Dst: gnutls_dh_get_group
      Src: /src/gnutls/src/common.c:371,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:373,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/common.c:377,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:379,1
    - Dst: gnutls_dh_params_import_raw
      Src: /src/gnutls/src/common.c:383,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:385,1
    - Dst: gnutls_dh_params_export_pkcs3
      Src: /src/gnutls/src/common.c:389,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:392,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/common.c:396,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:398,1
    - Dst: gnutls_dh_params_export_pkcs3
      Src: /src/gnutls/src/common.c:402,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:405,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:409,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:413,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:414,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:415,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/common.c:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - session
    - str
    - print
    argTypes:
    - gnutls_session_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 418
    functionName: print_dh_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gnutls_dh_get_prime_bits
    - gnutls_free
    - gnutls_dh_get_peers_public_bits
    - gnutls_dh_get_group
    - gnutls_dh_params_init
    - gnutls_malloc
    - gnutls_dh_params_deinit
    - gnutls_dh_params_export_pkcs3
    - gnutls_dh_get_secret_bits
    - gnutls_dh_params_import_raw
    - log_msg
    - fprintf
    - gnutls_group_get
    linkageType: ''
    returnType: void
    signature: void print_dh_info(gnutls_session_t session, const char *str, int print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:428,1
    - Dst: gnutls_ecc_curve_get
      Src: /src/gnutls/src/common.c:430,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:432,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/common.c:433,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:434,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/src/common.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - str
    - print
    argTypes:
    - gnutls_session_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: print_ecdh_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - log_msg
    - gnutls_ecc_curve_get_name
    - gnutls_ecc_curve_get_size
    - gnutls_ecc_curve_get
    linkageType: ''
    returnType: void
    signature: "void print_ecdh_info(gnutls_session_t session, const char *str,\n\t\t\t
      \   int print)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:456,1
    - Dst: gnutls_session_channel_binding
      Src: /src/gnutls/src/common.c:461,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:464,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:467,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:468,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:472,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:474,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:475,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - session
    - print
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 479
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 479
    functionName: print_channel_bindings
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_session_channel_binding
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_channel_bindings(gnutls_session_t session, int print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/src/common.c:495,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:496,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:497,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/src/common.c:500,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:502,1
    - Dst: raw_to_string
      Src: /src/gnutls/src/common.c:503,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/src/common.c:508,1
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/src/common.c:510,1
    - Dst: print_ecdh_info
      Src: /src/gnutls/src/common.c:515,1
    - Dst: print_dh_info
      Src: /src/gnutls/src/common.c:517,1
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/src/common.c:525,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:526,1
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/src/common.c:528,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/src/common.c:535,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:536,1
    - Dst: gnutls_psk_client_get_hint
      Src: /src/gnutls/src/common.c:537,1
    - Dst: gnutls_psk_server_get_username2
      Src: /src/gnutls/src/common.c:540,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:542,1
    - Dst: print_dh_info
      Src: /src/gnutls/src/common.c:547,1
    - Dst: print_ecdh_info
      Src: /src/gnutls/src/common.c:549,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:553,1
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/src/common.c:561,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:563,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/src/common.c:569,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:570,1
    - Dst: print_cert_info
      Src: /src/gnutls/src/common.c:573,1
    - Dst: print_dh_info
      Src: /src/gnutls/src/common.c:577,1
    - Dst: print_ecdh_info
      Src: /src/gnutls/src/common.c:580,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:583,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/common.c:588,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:589,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/common.c:589,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:590,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:593,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/src/common.c:593,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:594,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/src/common.c:597,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:598,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/src/common.c:598,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/src/common.c:599,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:600,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/src/common.c:603,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:605,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/src/common.c:605,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/src/common.c:606,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:607,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:610,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/common.c:610,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/src/common.c:610,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:611,1
    - Dst: SU
      Src: /src/gnutls/src/common.c:613,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/common.c:613,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/src/common.c:613,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:614,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:617,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/src/common.c:618,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:619,1
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/src/common.c:620,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:621,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/src/common.c:622,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:623,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/src/common.c:625,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:627,1
    - Dst: gnutls_ocsp_status_request_is_checked
      Src: /src/gnutls/src/common.c:628,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:633,1
    - Dst: gnutls_srtp_get_selected_profile
      Src: /src/gnutls/src/common.c:636,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:638,1
    - Dst: gnutls_srtp_get_profile_name
      Src: /src/gnutls/src/common.c:639,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/gnutls/src/common.c:643,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:645,1
    - Dst: print_channel_bindings
      Src: /src/gnutls/src/common.c:649,1
    - Dst: gnutls_transport_is_ktls_enabled
      Src: /src/gnutls/src/common.c:651,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:653,1
    - Dst: fflush
      Src: /src/gnutls/src/common.c:664,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 3
    argNames:
    - session
    - verbose
    - flags
    argTypes:
    - gnutls_session_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 667
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 667
    functionName: print_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 9
    functionsReached:
    - gnutls_alpn_get_selected_protocol
    - gnutls_psk_client_get_hint
    - print_ecdh_info
    - gnutls_sign_get_name
    - gnutls_mac_get
    - gnutls_transport_is_ktls_enabled
    - print_channel_bindings
    - log_msg
    - print_dh_info
    - gnutls_auth_get_type
    - gnutls_session_ext_master_secret_status
    - gnutls_session_etm_status
    - gnutls_ocsp_status_request_is_checked
    - raw_to_string
    - gnutls_safe_renegotiation_status
    - gnutls_sign_algorithm_get
    - gnutls_session_get_id
    - gnutls_srp_server_get_username
    - gnutls_sign_algorithm_get_client
    - gnutls_cipher_get_name
    - gnutls_server_name_get
    - gnutls_protocol_get_version
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_srtp_get_profile_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_certificate_get_ours
    - gnutls_free
    - gnutls_psk_server_get_username2
    - SU
    - gnutls_srtp_get_selected_profile
    - fflush
    - gnutls_session_get_desc
    - gnutls_kx_get
    - print_cert_info
    linkageType: ''
    returnType: int
    signature: int print_info(gnutls_session_t session, int verbose, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_cert_info2
      Src: /src/gnutls/src/common.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - verbose
    - print_cert
    argTypes:
    - gnutls_session_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: print_cert_info
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 2
    functionsReached:
    - print_cert_info2
    linkageType: ''
    returnType: void
    signature: void print_cert_info(gnutls_session_t session, int verbose, int print_cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/src/common.c:684,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:685,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/src/common.c:689,1
    - Dst: print_x509_info
      Src: /src/gnutls/src/common.c:691,1
    - Dst: print_rawpk_info
      Src: /src/gnutls/src/common.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - session
    - verbose
    - out
    - print_cert
    argTypes:
    - gnutls_session_t
    - int
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 701
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 701
    functionName: print_cert_info2
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 2
    functionsReached:
    - gnutls_certificate_client_get_request_status
    - print_x509_info
    - print_rawpk_info
    - gnutls_certificate_type_get2
    - log_msg
    linkageType: ''
    returnType: void
    signature: "void print_cert_info2(gnutls_session_t session, int verbose, FILE
      *out,\n\t\t      int print_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:719,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/src/common.c:721,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:724,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:726,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:727,1
    - Dst: exit
      Src: /src/gnutls/src/common.c:728,1
    - Dst: gnutls_priority_get_cipher_suite_index
      Src: /src/gnutls/src/common.c:732,1
    - Dst: gnutls_cipher_suite_info
      Src: /src/gnutls/src/common.c:739,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:743,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/common.c:746,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:749,1
    - Dst: gnutls_priority_certificate_type_list2
      Src: /src/gnutls/src/common.c:753,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:757,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:759,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:761,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/src/common.c:762,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:765,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:767,1
    - Dst: gnutls_priority_protocol_list
      Src: /src/gnutls/src/common.c:773,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:775,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:777,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:779,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/common.c:780,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:782,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:784,1
    - Dst: gnutls_priority_cipher_list
      Src: /src/gnutls/src/common.c:789,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:791,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:793,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:795,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/common.c:796,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:798,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:800,1
    - Dst: gnutls_priority_mac_list
      Src: /src/gnutls/src/common.c:805,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:807,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:809,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:811,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/common.c:812,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:814,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:816,1
    - Dst: gnutls_priority_kx_list
      Src: /src/gnutls/src/common.c:821,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:823,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:825,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:827,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/src/common.c:828,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:830,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:832,1
    - Dst: gnutls_priority_group_list
      Src: /src/gnutls/src/common.c:837,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:839,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:841,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:843,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/src/common.c:844,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:846,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:848,1
    - Dst: gnutls_priority_sign_list
      Src: /src/gnutls/src/common.c:853,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:855,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:857,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:859,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/src/common.c:860,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:863,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:865,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/src/common.c:869,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:873,1
    - Dst: gnutls_cipher_suite_info
      Src: /src/gnutls/src/common.c:874,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:877,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/common.c:879,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:881,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/src/common.c:883,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/common.c:884,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/common.c:885,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:888,1
    - Dst: gnutls_certificate_type_list
      Src: /src/gnutls/src/common.c:891,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:893,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:895,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/src/common.c:896,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:898,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:900,1
    - Dst: gnutls_protocol_list
      Src: /src/gnutls/src/common.c:905,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:907,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:909,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/common.c:910,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:912,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:914,1
    - Dst: gnutls_cipher_list
      Src: /src/gnutls/src/common.c:919,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:921,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:923,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/common.c:923,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:925,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:927,1
    - Dst: gnutls_mac_list
      Src: /src/gnutls/src/common.c:932,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:934,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:936,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/common.c:936,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:938,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:940,1
    - Dst: gnutls_digest_list
      Src: /src/gnutls/src/common.c:945,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:947,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:949,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/common.c:949,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:951,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:953,1
    - Dst: gnutls_kx_list
      Src: /src/gnutls/src/common.c:958,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:960,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:962,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/src/common.c:962,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:964,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:966,1
    - Dst: gnutls_compression_list
      Src: /src/gnutls/src/common.c:972,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:974,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:976,1
    - Dst: gnutls_compression_get_name
      Src: /src/gnutls/src/common.c:977,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:979,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:981,1
    - Dst: gnutls_group_list
      Src: /src/gnutls/src/common.c:986,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:988,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:990,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/src/common.c:990,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:992,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:994,1
    - Dst: gnutls_pk_list
      Src: /src/gnutls/src/common.c:999,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1001,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1003,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/common.c:1003,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1005,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1007,1
    - Dst: gnutls_sign_list
      Src: /src/gnutls/src/common.c:1012,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1014,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1016,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/src/common.c:1017,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1019,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1021,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 188
    argCount: 2
    argNames:
    - priorities
    - verbose
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1024
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 1024
    functionName: print_list
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_priority_cipher_list
    - gnutls_group_list
    - gnutls_mac_list
    - gnutls_sign_list
    - gnutls_compression_get_name
    - gnutls_digest_get_name
    - log_msg
    - gnutls_compression_list
    - gnutls_priority_protocol_list
    - gnutls_pk_algorithm_get_name
    - gnutls_priority_certificate_type_list2
    - gnutls_certificate_type_list
    - gnutls_pk_list
    - gnutls_protocol_list
    - exit
    - gnutls_sign_algorithm_get_name
    - gnutls_cipher_get_name
    - gnutls_group_get_name
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_priority_get_cipher_suite_index
    - gnutls_priority_kx_list
    - gnutls_priority_group_list
    - gnutls_certificate_type_get_name
    - gnutls_priority_sign_list
    - gnutls_strerror
    - gnutls_cipher_list
    - gnutls_priority_deinit
    - gnutls_cipher_suite_info
    - gnutls_kx_list
    - gnutls_priority_mac_list
    - gnutls_priority_init
    - gnutls_digest_list
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_list(const char *priorities, int verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/common.c:1032,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1034,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:1035,1
    - Dst: gnutls_prf_rfc5705
      Src: /src/gnutls/src/common.c:1041,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1041,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1044,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:1045,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/common.c:1049,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1051,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:1052,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1055,1
    - Dst: fflush
      Src: /src/gnutls/src/common.c:1056,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:1059,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/common.c:1060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - session
    - label
    - size
    argTypes:
    - gnutls_session_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1061
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1061
    functionName: print_key_material
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_hex_encode2
    - gnutls_free
    - strlen
    - gnutls_malloc
    - gnutls_prf_rfc5705
    - fflush
    - log_msg
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_key_material(gnutls_session_t session, const char *label,\n\t\t\tsize_t
      size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1069,1
    - Dst: strncmp
      Src: /src/gnutls/src/common.c:1072,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1074,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/src/common.c:1075,1
    - Dst: strncmp
      Src: /src/gnutls/src/common.c:1077,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/src/common.c:1081,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1084,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/src/common.c:1086,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1090,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:1091,1
    - Dst: strncmp
      Src: /src/gnutls/src/common.c:1095,1
    - Dst: gnutls_heartbeat_ping
      Src: /src/gnutls/src/common.c:1097,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1101,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1104,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/common.c:1105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - session
    - str
    - no_cli_cert
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1113
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1113
    functionName: check_command
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_reauth
    - gnutls_rehandshake
    - gnutls_heartbeat_ping
    - strncmp
    - fprintf
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: int
    signature: "int check_command(gnutls_session_t session, const char *str,\n\t\t
      \ unsigned no_cli_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/common.c:1121,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1127,1
    - Dst: gnutls_memset
      Src: /src/gnutls/src/common.c:1129,1
    - Dst: strcpy
      Src: /src/gnutls/src/common.c:1134,1
    - Dst: gnutls_memset
      Src: /src/gnutls/src/common.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pass
    - max_pass_size
    - prompt
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1138
    functionName: getpass_copy
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - strlen
    - getpass
    - gnutls_memset
    - strcpy
    linkageType: ''
    returnType: void
    signature: void getpass_copy(char *pass, size_t max_pass_size, const char *prompt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnutls/src/common.c:1146,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1152,1
    - Dst: strcpy
      Src: /src/gnutls/src/common.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - str
    - max_str_size
    - envvar
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1161
    functionName: getenv_copy
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - strcpy
    linkageType: ''
    returnType: void
    signature: void getenv_copy(char *str, size_t max_str_size, const char *envvar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/src/common.c:1183,1
    - Dst: snprintf
      Src: /src/gnutls/src/common.c:1189,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1194,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1198,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1203,1
    - Dst: strcmp
      Src: /src/gnutls/src/common.c:1207,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1208,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1209,1
    - Dst: exit
      Src: /src/gnutls/src/common.c:1210,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1214,1
    - Dst: strcpy
      Src: /src/gnutls/src/common.c:1218,1
    - Dst: getenv_copy
      Src: /src/gnutls/src/common.c:1225,1
    - Dst: getenv_copy
      Src: /src/gnutls/src/common.c:1227,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1232,1
    - Dst: strcpy
      Src: /src/gnutls/src/common.c:1233,1
    - Dst: memcpy
      Src: /src/gnutls/src/common.c:1235,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1243,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1245,1
    - Dst: getpass_copy
      Src: /src/gnutls/src/common.c:1246,1
    - Dst: getpass_copy
      Src: /src/gnutls/src/common.c:1248,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1255,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1257,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1259,1
    - Dst: exit
      Src: /src/gnutls/src/common.c:1261,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1266,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1268,1
    - Dst: exit
      Src: /src/gnutls/src/common.c:1271,1
    - Dst: MIN
      Src: /src/gnutls/src/common.c:1274,1
    - Dst: strlen
      Src: /src/gnutls/src/common.c:1274,1
    - Dst: memcpy
      Src: /src/gnutls/src/common.c:1275,1
    - Dst: memcpy
      Src: /src/gnutls/src/common.c:1280,1
    - Dst: free
      Src: /src/gnutls/src/common.c:1285,1
    - Dst: strdup
      Src: /src/gnutls/src/common.c:1287,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 7
    argNames:
    - user
    - attempt
    - token_url
    - token_label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1292
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1292
    functionName: pin_callback
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - strdup
    - exit
    - strlen
    - strcpy
    - free
    - snprintf
    - strcmp
    - getenv_copy
    - memcpy
    - getpass_copy
    - log_msg
    - MIN
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int pin_callback(void *user, int attempt, const char *token_url,\n\t\t
      const char *token_label, unsigned int flags, char *pin,\n\t\t size_t pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1302,1
    - Dst: log_msg
      Src: /src/gnutls/src/common.c:1305,1
    - Dst: fgets
      Src: /src/gnutls/src/common.c:1307,1
    - Dst: fprintf
      Src: /src/gnutls/src/common.c:1308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - user
    - label
    - retry
    argTypes:
    - void*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1313
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1313
    functionName: token_callback
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - log_msg
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int token_callback(void *user, const char *label, const unsigned retry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/src/common.c:1317,1
    - Dst: gnutls_pkcs11_set_token_function
      Src: /src/gnutls/src/common.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1319
    functionName: pkcs11_common
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_set_pin_function
    - gnutls_pkcs11_set_token_function
    linkageType: ''
    returnType: void
    signature: void pkcs11_common(common_info_st *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/gnutls/src/common.c:1329,1
    - Dst: WSAStartup
      Src: /src/gnutls/src/common.c:1330,1
    - Dst: perror
      Src: /src/gnutls/src/common.c:1331,1
    - Dst: signal
      Src: /src/gnutls/src/common.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1336
    functionName: sockets_init
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 3
    functionsReached:
    - MAKEWORD
    - WSAStartup
    - signal
    - perror
    linkageType: ''
    returnType: void
    signature: void sockets_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/src/common.c:1343,1
    - Dst: vfprintf
      Src: /src/gnutls/src/common.c:1345,1
    - Dst: va_end
      Src: /src/gnutls/src/common.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - file
    - message
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1350
    functionName: log_msg
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 28
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int log_msg(FILE *file, const char *message, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1355
    functionName: log_set
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void log_set(FILE *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettime
      Src: /src/gnutls/src/common.c:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1367
    functionName: get_system_time
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - gettime
    linkageType: ''
    returnType: void
    signature: void get_system_time(struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1375
    functionName: mytime
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/src/common.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1383
    functionName: set_system_time
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 1
    functionsReached:
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: void
    signature: void set_system_time(struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/gnutls/src/common.c:1393,1
    - Dst: strftime
      Src: /src/gnutls/src/common.c:1396,1
    - Dst: snprintf
      Src: /src/gnutls/src/common.c:1402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - t
    - out
    argTypes:
    - time_t*
    - char[]
    constantsTouched: []
    func_position:
      end: 1404
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1404
    functionName: simple_ctime
    functionSourceFile: /src/gnutls/src/common.c
    functionUses: 0
    functionsReached:
    - localtime_r
    - snprintf
    - strftime
    linkageType: ''
    returnType: char
    signature: char *simple_ctime(const time_t *t, char out[SIMPLE_CTIME_BUF_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/ocsptool.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: get_pass
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 0
    functionsReached:
    - getpass
    linkageType: ''
    returnType: char
    signature: char *get_pass(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/ocsptool.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ign
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: get_confirmed_pass
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 0
    functionsReached:
    - getpass
    linkageType: ''
    returnType: char
    signature: char *get_confirmed_pass(bool ign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/ocsptool.c:69,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 7
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: init_tls_session
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t init_tls_session(const char *host)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - socket
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: do_handshake
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_handshake(socket_st *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/src/ocsptool.c:96,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:98,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:98,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:99,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:102,1
    - Dst: read_file
      Src: /src/gnutls/src/ocsptool.c:103,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:103,1
    - Dst: fread_file
      Src: /src/gnutls/src/ocsptool.c:106,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:108,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:109,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/src/ocsptool.c:113,1
    - Dst: free
      Src: /src/gnutls/src/ocsptool.c:114,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:116,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:117,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:118,1
    - Dst: gnutls_ocsp_req_print
      Src: /src/gnutls/src/ocsptool.c:121,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:123,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:123,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:124,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:127,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/src/ocsptool.c:128,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:130,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:131,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:136,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:138,1
    - Dst: fwrite
      Src: /src/gnutls/src/ocsptool.c:140,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:143,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:145,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:148,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/src/ocsptool.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 151
    functionName: request_info
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_req_export
    - HAVE_OPT
    - gnutls_strerror
    - gnutls_ocsp_req_import
    - gnutls_free
    - fwrite
    - free
    - gnutls_ocsp_req_print
    - gnutls_ocsp_req_deinit
    - OPT_ARG
    - gnutls_ocsp_req_init
    - app_exit
    - read_file
    - printf
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void request_info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:160,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:161,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/src/ocsptool.c:164,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:166,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:166,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:167,1
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/src/ocsptool.c:170,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:178,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:179,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/ocsptool.c:182,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/src/ocsptool.c:183,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/src/ocsptool.c:186,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:189,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:190,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:193,1
    - Dst: gnutls_ocsp_resp_export2
      Src: /src/gnutls/src/ocsptool.c:194,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:197,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:198,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:202,1
    - Dst: fwrite
      Src: /src/gnutls/src/ocsptool.c:204,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:207,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:208,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:211,1
    - Dst: gnutls_ocsp_resp_export2
      Src: /src/gnutls/src/ocsptool.c:212,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:215,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:216,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:220,1
    - Dst: fwrite
      Src: /src/gnutls/src/ocsptool.c:221,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:222,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:224,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/src/ocsptool.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - data
    - force_print
    argTypes:
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: _response_info
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - HAVE_OPT
    - gnutls_strerror
    - ENABLED_OPT
    - gnutls_free
    - fwrite
    - gnutls_ocsp_resp_print
    - gnutls_ocsp_resp_export2
    - gnutls_ocsp_resp_init
    - app_exit
    - gnutls_ocsp_resp_import2
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _response_info(const gnutls_datum_t *data, unsigned force_print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:234,1
    - Dst: read_file
      Src: /src/gnutls/src/ocsptool.c:235,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:235,1
    - Dst: fread_file
      Src: /src/gnutls/src/ocsptool.c:238,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:240,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:241,1
    - Dst: _response_info
      Src: /src/gnutls/src/ocsptool.c:245,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: response_info
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 2
    functionsReached:
    - _response_info
    - HAVE_OPT
    - gnutls_free
    - OPT_ARG
    - app_exit
    - read_file
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void response_info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:256,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:258,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:259,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:260,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:262,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:264,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:266,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:268,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:269,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:270,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:272,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:274,1
    - Dst: _generate_request
      Src: /src/gnutls/src/ocsptool.c:276,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/ocsptool.c:278,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/ocsptool.c:279,1
    - Dst: fwrite
      Src: /src/gnutls/src/ocsptool.c:280,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 283
    functionName: generate_request
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 2
    functionsReached:
    - HAVE_OPT
    - gnutls_free
    - gnutls_x509_crt_deinit
    - fwrite
    - load_cert
    - OPT_ARG
    - _generate_request
    - memset
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_request(gnutls_datum_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/src/ocsptool.c:297,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:299,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:299,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:300,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/src/ocsptool.c:303,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:305,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:306,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:307,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/src/ocsptool.c:311,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:314,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:315,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:316,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:319,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:320,1
    - Dst: gnutls_ocsp_resp_get_nonce
      Src: /src/gnutls/src/ocsptool.c:326,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:328,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:329,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:330,1
    - Dst: memcmp
      Src: /src/gnutls/src/ocsptool.c:334,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:335,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:337,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:340,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:343,1
    - Dst: read_file
      Src: /src/gnutls/src/ocsptool.c:344,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:344,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:347,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:348,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:349,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/src/ocsptool.c:353,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:355,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:356,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:357,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/ocsptool.c:360,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:364,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:365,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:366,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:368,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:370,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:372,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/ocsptool.c:376,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:380,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:382,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:383,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:386,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:387,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:389,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/src/ocsptool.c:392,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:395,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:396,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:397,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:400,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:401,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/src/ocsptool.c:403,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:405,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:406,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:407,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/src/ocsptool.c:409,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:410,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:412,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/ocsptool.c:415,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:418,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:419,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:420,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:423,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:424,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:425,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/src/ocsptool.c:428,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:431,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:432,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:433,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:436,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:437,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:440,1
    - Dst: print_ocsp_verify_res
      Src: /src/gnutls/src/ocsptool.c:441,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:442,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/src/ocsptool.c:444,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 103
    argCount: 4
    argNames:
    - data
    - nonce
    - signer
    - print_resp
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 447
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 447
    functionName: _verify_response
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_print
    - HAVE_OPT
    - gnutls_ocsp_resp_verify
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_list_import2
    - app_exit
    - printf
    - gnutls_ocsp_resp_get_nonce
    - gnutls_ocsp_resp_import
    - memcmp
    - gnutls_ocsp_resp_init
    - gnutls_x509_trust_list_add_cas
    - gnutls_ocsp_resp_print
    - print_ocsp_verify_res
    - gnutls_x509_trust_list_init
    - OPT_ARG
    - gnutls_ocsp_resp_deinit
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_resp_verify_direct
    - read_file
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _verify_response(gnutls_datum_t *data, gnutls_datum_t *nonce,\n\t\t\t
      \   gnutls_x509_crt_t signer, unsigned print_resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:453,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:457,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:462,1
    - Dst: load_cert_list
      Src: /src/gnutls/src/ocsptool.c:464,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:467,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:468,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool.c:473,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:478,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:480,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:481,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:482,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:484,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:486,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:488,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:490,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:491,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:492,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:494,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - chain
    argTypes:
    - gnutls_x509_crt_t[]
    constantsTouched: []
    func_position:
      end: 499
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 499
    functionName: load_chain
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 2
    functionsReached:
    - HAVE_OPT
    - gnutls_free
    - load_cert
    - load_cert_list
    - OPT_ARG
    - memset
    - app_exit
    - fprintf
    linkageType: ''
    returnType: unsigned
    signature: unsigned load_chain(gnutls_x509_crt_t chain[MAX_CHAIN_SIZE])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:511,1
    - Dst: read_file
      Src: /src/gnutls/src/ocsptool.c:512,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:512,1
    - Dst: fread_file
      Src: /src/gnutls/src/ocsptool.c:515,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:517,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:518,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:522,1
    - Dst: load_chain
      Src: /src/gnutls/src/ocsptool.c:523,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:525,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:526,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:534,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/ocsptool.c:537,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:538,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:539,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:541,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:543,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:544,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:546,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:548,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:550,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:552,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/ocsptool.c:553,1
    - Dst: free
      Src: /src/gnutls/src/ocsptool.c:556,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:558,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 560
    functionName: verify_response
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 2
    functionsReached:
    - HAVE_OPT
    - load_chain
    - gnutls_x509_crt_deinit
    - free
    - load_cert
    - _verify_response
    - OPT_ARG
    - memset
    - app_exit
    - read_file
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void verify_response(gnutls_datum_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_chain
      Src: /src/gnutls/src/ocsptool.c:574,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:576,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:578,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:580,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:581,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/ocsptool.c:587,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/ocsptool.c:588,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:591,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:592,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:593,1
    - Dst: send_ocsp_request
      Src: /src/gnutls/src/ocsptool.c:600,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:603,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:604,1
    - Dst: _response_info
      Src: /src/gnutls/src/ocsptool.c:607,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:609,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:610,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:611,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool.c:612,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:614,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:616,1
    - Dst: load_cert
      Src: /src/gnutls/src/ocsptool.c:616,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:619,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:620,1
    - Dst: _verify_response
      Src: /src/gnutls/src/ocsptool.c:623,1
    - Dst: free
      Src: /src/gnutls/src/ocsptool.c:628,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool.c:631,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/ocsptool.c:635,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:638,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:639,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 640
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 640
    functionName: ask_server
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 0
    functionsReached:
    - _response_info
    - HAVE_OPT
    - load_chain
    - ENABLED_OPT
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - send_ocsp_request
    - load_cert
    - free
    - gnutls_rnd
    - _verify_response
    - OPT_ARG
    - memset
    - app_exit
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ask_server(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/ocsptool.c:646,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:647,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool.c:647,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:648,1
    - Dst: optionProcess
      Src: /src/gnutls/src/ocsptool.c:651,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/ocsptool.c:653,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/ocsptool.c:654,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/ocsptool.c:656,1
    - Dst: parse_datetime
      Src: /src/gnutls/src/ocsptool.c:659,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:659,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:660,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:662,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:663,1
    - Dst: set_system_time
      Src: /src/gnutls/src/ocsptool.c:665,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/ocsptool.c:668,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:673,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:678,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:681,1
    - Dst: fopen
      Src: /src/gnutls/src/ocsptool.c:682,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:682,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:684,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:684,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:685,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:687,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:691,1
    - Dst: fopen
      Src: /src/gnutls/src/ocsptool.c:692,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:692,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:694,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:694,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:695,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/ocsptool.c:700,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:705,1
    - Dst: request_info
      Src: /src/gnutls/src/ocsptool.c:706,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:707,1
    - Dst: response_info
      Src: /src/gnutls/src/ocsptool.c:708,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:709,1
    - Dst: generate_request
      Src: /src/gnutls/src/ocsptool.c:710,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:711,1
    - Dst: verify_response
      Src: /src/gnutls/src/ocsptool.c:712,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:713,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:714,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/ocsptool.c:714,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool.c:715,1
    - Dst: app_exit
      Src: /src/gnutls/src/ocsptool.c:717,1
    - Dst: ask_server
      Src: /src/gnutls/src/ocsptool.c:719,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/ocsptool.c:719,1
    - Dst: USAGE
      Src: /src/gnutls/src/ocsptool.c:721,1
    - Dst: fclose
      Src: /src/gnutls/src/ocsptool.c:725,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/ocsptool.c:726,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 729
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 729
    functionName: main
    functionSourceFile: /src/gnutls/src/ocsptool.c
    functionUses: 4
    functionsReached:
    - HAVE_OPT
    - gnutls_global_deinit
    - parse_datetime
    - app_exit
    - gnutls_global_set_log_function
    - ENABLED_OPT
    - fclose
    - verify_response
    - fopen
    - OPT_ARG
    - gnutls_global_init
    - ask_server
    - response_info
    - set_system_time
    - USAGE
    - gnutls_global_set_log_level
    - gnutls_strerror
    - request_info
    - generate_request
    - optionProcess
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/gnutls/src/socket.c:58,1
    - Dst: gnutls_heartbeat_pong
      Src: /src/gnutls/src/socket.c:61,1
    - Dst: recv
      Src: /src/gnutls/src/socket.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - socket
    - buffer
    - buffer_size
    argTypes:
    - socket_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: socket_recv
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - recv
    - gnutls_heartbeat_pong
    - gnutls_record_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t socket_recv(const socket_st *socket, void *buffer, int buffer_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/src/socket.c:79,1
    - Dst: socket_recv
      Src: /src/gnutls/src/socket.c:80,1
    - Dst: gnutls_record_set_timeout
      Src: /src/gnutls/src/socket.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - socket
    - buffer
    - buffer_size
    - ms
    argTypes:
    - socket_st*
    - void*
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: socket_recv_timeout
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - socket_recv
    - gnutls_record_set_timeout
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t socket_recv_timeout(const socket_st *socket, void *buffer,\n\t\t\t
      \   int buffer_size, unsigned ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket_send_range
      Src: /src/gnutls/src/socket.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - socket
    - buffer
    - buffer_size
    argTypes:
    - socket_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: socket_send
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - socket_send_range
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t socket_send(const socket_st *socket, const void *buffer,\n\t\t
      \   int buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/socket.c:102,1
    - Dst: gnutls_record_send_range
      Src: /src/gnutls/src/socket.c:105,1
    - Dst: send
      Src: /src/gnutls/src/socket.c:112,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - socket
    - buffer
    - buffer_size
    - range
    argTypes:
    - socket_st*
    - void*
    - int
    - gnutls_range_st*
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: socket_send_range
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - send
    - gnutls_record_send
    - fprintf
    - gnutls_record_send_range
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t socket_send_range(const socket_st *socket, const void *buffer,\n\t\t\t
      \ int buffer_size, gnutls_range_st *range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:128,1
    - Dst: send
      Src: /src/gnutls/src/socket.c:130,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:133,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - socket
    - txt
    argTypes:
    - socket_st*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: send_line
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - send
    - exit
    - fprintf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t send_line(socket_st *socket, const char *txt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnutls/src/socket.c:151,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:154,1
    - Dst: FD_ZERO
      Src: /src/gnutls/src/socket.c:162,1
    - Dst: FD_SET
      Src: /src/gnutls/src/socket.c:163,1
    - Dst: select
      Src: /src/gnutls/src/socket.c:166,1
    - Dst: recv
      Src: /src/gnutls/src/socket.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:170,1
    - Dst: strerror
      Src: /src/gnutls/src/socket.c:171,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:172,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:174,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:175,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:183,1
    - Dst: memmem
      Src: /src/gnutls/src/socket.c:191,1
    - Dst: strncmp
      Src: /src/gnutls/src/socket.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 3
    argNames:
    - socket
    - txt
    - txt_size
    argTypes:
    - socket_st*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 203
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 203
    functionName: wait_for_text
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - abort
    - exit
    - memmem
    - FD_SET
    - select
    - strncmp
    - recv
    - FD_ZERO
    - fprintf
    - strerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wait_for_text(socket_st *socket, const char *txt,\n\t\t\t
      \    unsigned txt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:213,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:216,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:217,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:219,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:221,1
    - Dst: snprintf
      Src: /src/gnutls/src/socket.c:222,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:225,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:226,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:227,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:228,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:229,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:230,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:232,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:234,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:235,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:236,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:237,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:238,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:240,1
    - Dst: snprintf
      Src: /src/gnutls/src/socket.c:242,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:247,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:248,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:249,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:252,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:253,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:255,1
    - Dst: send
      Src: /src/gnutls/src/socket.c:258,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:259,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:260,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:261,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:263,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:265,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:266,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:267,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:268,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:269,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:271,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:273,1
    - Dst: snprintf
      Src: /src/gnutls/src/socket.c:274,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:277,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:278,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:279,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:280,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:281,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:283,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:285,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:286,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:287,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:288,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:290,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:292,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:293,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:294,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:295,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:297,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:299,1
    - Dst: send_line
      Src: /src/gnutls/src/socket.c:300,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:301,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:302,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/socket.c:303,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:305,1
    - Dst: send
      Src: /src/gnutls/src/socket.c:308,1
    - Dst: wait_for_text
      Src: /src/gnutls/src/socket.c:309,1
    - Dst: c_isdigit
      Src: /src/gnutls/src/socket.c:311,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:314,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 1
    argNames:
    - socket
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 322
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 322
    functionName: socket_starttls
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - send_line
    - snprintf
    - send
    - strcasecmp
    - wait_for_text
    - log_msg
    - fprintf
    - c_isdigit
    linkageType: ''
    returnType: void
    signature: void socket_starttls(socket_st *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CANON_SERVICE
      Src: /src/gnutls/src/socket.c:332,1
    - Dst: getservbyname
      Src: /src/gnutls/src/socket.c:334,1
    - Dst: ntohs
      Src: /src/gnutls/src/socket.c:336,1
    - Dst: endservent
      Src: /src/gnutls/src/socket.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - app_proto
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: starttls_proto_to_port
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - ntohs
    - endservent
    - getservbyname
    - CANON_SERVICE
    linkageType: ''
    returnType: int
    signature: int starttls_proto_to_port(const char *app_proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CANON_SERVICE
      Src: /src/gnutls/src/socket.c:348,1
    - Dst: getservbyname
      Src: /src/gnutls/src/socket.c:350,1
    - Dst: endservent
      Src: /src/gnutls/src/socket.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - app_proto
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: starttls_proto_to_service
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - endservent
    - getservbyname
    - CANON_SERVICE
    linkageType: ''
    returnType: char
    signature: char *starttls_proto_to_service(const char *app_proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/gnutls/src/socket.c:366,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:371,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/socket.c:372,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/socket.c:377,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/src/socket.c:381,1
    - Dst: free
      Src: /src/gnutls/src/socket.c:385,1
    - Dst: free
      Src: /src/gnutls/src/socket.c:386,1
    - Dst: free
      Src: /src/gnutls/src/socket.c:387,1
    - Dst: shutdown
      Src: /src/gnutls/src/socket.c:389,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:390,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/socket.c:392,1
    - Dst: fclose
      Src: /src/gnutls/src/socket.c:396,1
    - Dst: fclose
      Src: /src/gnutls/src/socket.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - socket
    - polite
    argTypes:
    - socket_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 402
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 402
    functionName: socket_bye
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 4
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - shutdown
    - freeaddrinfo
    - gnutls_deinit
    - fclose
    - free
    - gnutls_bye
    - close
    - fprintf
    linkageType: ''
    returnType: void
    signature: void socket_bye(socket_st *socket, unsigned polite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/src/socket.c:410,1
    - Dst: inet_pton
      Src: /src/gnutls/src/socket.c:413,1
    - Dst: snprintf
      Src: /src/gnutls/src/socket.c:419,1
    - Dst: strlen
      Src: /src/gnutls/src/socket.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - hostname
    - service
    - service_size
    argTypes:
    - char*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 425
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 425
    functionName: canonicalize_host
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 4
    functionsReached:
    - snprintf
    - inet_pton
    - strlen
    - strchr
    linkageType: ''
    returnType: void
    signature: void canonicalize_host(char *hostname, char *service, unsigned service_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/src/socket.c:432,1
    - Dst: fwrite
      Src: /src/gnutls/src/socket.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: wrap_pull
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - recv
    - fwrite
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t wrap_pull(gnutls_transport_ptr_t ptr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnutls/src/socket.c:445,1
    - Dst: send
      Src: /src/gnutls/src/socket.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: wrap_push
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - send
    - fwrite
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t wrap_push(gnutls_transport_ptr_t ptr, const void *data,\n\t\t\t
      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_system_recv_timeout
      Src: /src/gnutls/src/socket.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: wrap_pull_timeout_func
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 0
    functionsReached:
    - gnutls_system_recv_timeout
    linkageType: ''
    returnType: int
    signature: "int wrap_pull_timeout_func(gnutls_transport_ptr_t ptr,\n\t\t\t\t\t
      unsigned int ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/socket.c:477,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/src/socket.c:492,1
    - Dst: strlen
      Src: /src/gnutls/src/socket.c:492,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:494,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/socket.c:495,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:496,1
    - Dst: strdup
      Src: /src/gnutls/src/socket.c:499,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:503,1
    - Dst: memset
      Src: /src/gnutls/src/socket.c:506,1
    - Dst: getaddrinfo
      Src: /src/gnutls/src/socket.c:508,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:509,1
    - Dst: gai_strerror
      Src: /src/gnutls/src/socket.c:510,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:511,1
    - Dst: socket
      Src: /src/gnutls/src/socket.c:516,1
    - Dst: getnameinfo
      Src: /src/gnutls/src/socket.c:520,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:523,1
    - Dst: gai_strerror
      Src: /src/gnutls/src/socket.c:524,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:525,1
    - Dst: setsockopt
      Src: /src/gnutls/src/socket.c:532,1
    - Dst: perror
      Src: /src/gnutls/src/socket.c:534,1
    - Dst: setsockopt
      Src: /src/gnutls/src/socket.c:537,1
    - Dst: perror
      Src: /src/gnutls/src/socket.c:539,1
    - Dst: memcpy
      Src: /src/gnutls/src/socket.c:545,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:550,1
    - Dst: log_msg
      Src: /src/gnutls/src/socket.c:555,1
    - Dst: connect
      Src: /src/gnutls/src/socket.c:558,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:560,1
    - Dst: socket_starttls
      Src: /src/gnutls/src/socket.c:569,1
    - Dst: init_tls_session
      Src: /src/gnutls/src/socket.c:574,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:576,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:577,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:578,1
    - Dst: gnutls_record_send_early_data
      Src: /src/gnutls/src/socket.c:584,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:588,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:590,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:591,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/src/socket.c:595,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/socket.c:603,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/socket.c:605,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/src/socket.c:607,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/socket.c:609,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/socket.c:612,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/socket.c:614,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/src/socket.c:616,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/src/socket.c:618,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/src/socket.c:620,1
    - Dst: do_handshake
      Src: /src/gnutls/src/socket.c:627,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/socket.c:630,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:632,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:636,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/socket.c:638,1
    - Dst: close
      Src: /src/gnutls/src/socket.c:639,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:640,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:649,1
    - Dst: strerror
      Src: /src/gnutls/src/socket.c:650,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:651,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:655,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:656,1
    - Dst: strdup
      Src: /src/gnutls/src/socket.c:665,1
    - Dst: strdup
      Src: /src/gnutls/src/socket.c:666,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/socket.c:669,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/socket.c:671,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/socket.c:673,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 137
    argCount: 11
    argNames:
    - hd
    - hostname
    - service
    - app_proto
    - app_hostname
    - flags
    - msg
    - rdata
    - edata
    - server_trace
    - client_trace
    argTypes:
    - socket_st*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 675
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 675
    functionName: socket_open_int
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - gnutls_transport_set_push_function
    - do_handshake
    - gnutls_deinit
    - gnutls_record_send_early_data
    - gnutls_idna_map
    - gnutls_transport_set_ptr
    - log_msg
    - perror
    - socket
    - connect
    - init_tls_session
    - close
    - getaddrinfo
    - memset
    - gnutls_session_set_data
    - gnutls_transport_set_pull_function
    - strerror
    - gnutls_transport_set_int
    - exit
    - strlen
    - setsockopt
    - gnutls_transport_set_pull_timeout_function
    - strdup
    - gnutls_strerror
    - gnutls_free
    - socket_starttls
    - gai_strerror
    - memcpy
    - fprintf
    - getnameinfo
    linkageType: ''
    returnType: void
    signature: "void socket_open_int(socket_st *hd, const char *hostname, const char
      *service,\n\t\t     const char *app_proto, const char *app_hostname, int flags,\n\t\t
      \    const char *msg, gnutls_datum_t *rdata,\n\t\t     gnutls_datum_t *edata,
      FILE *server_trace,\n\t\t     FILE *client_trace)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isdigit
      Src: /src/gnutls/src/socket.c:686,1
    - Dst: atoi
      Src: /src/gnutls/src/socket.c:689,1
    - Dst: htons
      Src: /src/gnutls/src/socket.c:693,1
    - Dst: getservbyport
      Src: /src/gnutls/src/socket.c:695,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sport
    - proto
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: port_to_service
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 2
    functionsReached:
    - atoi
    - getservbyport
    - htons
    - fprintf
    - c_isdigit
    linkageType: ''
    returnType: char
    signature: char *port_to_service(const char *sport, const char *proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnutls/src/socket.c:711,1
    - Dst: getservbyname
      Src: /src/gnutls/src/socket.c:715,1
    - Dst: fprintf
      Src: /src/gnutls/src/socket.c:717,1
    - Dst: exit
      Src: /src/gnutls/src/socket.c:720,1
    - Dst: ntohs
      Src: /src/gnutls/src/socket.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - service
    - proto
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 724
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 724
    functionName: service_to_port
    functionSourceFile: /src/gnutls/src/socket.c
    functionUses: 1
    functionsReached:
    - exit
    - ntohs
    - atoi
    - getservbyname
    - fprintf
    linkageType: ''
    returnType: int
    signature: int service_to_port(const char *service, const char *proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/certtool.c:116,1
    - Dst: exit
      Src: /src/gnutls/src/certtool.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 16
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnutls/src/certtool.c:129,1
    - Dst: cfg_init
      Src: /src/gnutls/src/certtool.c:131,1
    - Dst: cmd_parser
      Src: /src/gnutls/src/certtool.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 4
    functionsReached:
    - signal
    - cfg_init
    - cmd_parser
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool.c:166,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:168,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:168,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:169,1
    - Dst: get_bits
      Src: /src/gnutls/src/certtool.c:172,1
    - Dst: GNUTLS_BITS_ARE_CURVE
      Src: /src/gnutls/src/certtool.c:183,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/src/certtool.c:184,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/src/certtool.c:185,1
    - Dst: snprintf
      Src: /src/gnutls/src/certtool.c:186,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool.c:187,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:193,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/certtool.c:194,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:197,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:200,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/certtool.c:201,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/src/certtool.c:205,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:206,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:208,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:212,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:215,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/src/certtool.c:215,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:221,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/src/certtool.c:226,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:229,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:230,1
    - Dst: switch_to_pkcs8_when_needed
      Src: /src/gnutls/src/certtool.c:233,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/src/certtool.c:240,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:250,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:256,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:266,1
    - Dst: SET_SPKI_PARAMS
      Src: /src/gnutls/src/certtool.c:267,1
    - Dst: gnutls_x509_privkey_generate2
      Src: /src/gnutls/src/certtool.c:277,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:280,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:281,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/src/certtool.c:284,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/src/certtool.c:286,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:288,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:289,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:290,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 75
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 294
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 294
    functionName: generate_private_key_int
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - GNUTLS_BITS_TO_CURVE
    - HAVE_OPT
    - snprintf
    - GNUTLS_BITS_ARE_CURVE
    - app_exit
    - gnutls_x509_privkey_verify_params
    - gnutls_pk_algorithm_get_name
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_init
    - gnutls_x509_privkey_init
    - switch_to_pkcs8_when_needed
    - GNUTLS_PK_IS_RSA
    - get_bits
    - gnutls_x509_privkey_generate2
    - SET_SPKI_PARAMS
    - gnutls_strerror
    - fprintf
    - gnutls_ecc_curve_get_size
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: gnutls_x509_privkey_t
    signature: gnutls_x509_privkey_t generate_private_key_int(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_private_key_int
      Src: /src/gnutls/src/certtool.c:300,1
    - Dst: print_private_key
      Src: /src/gnutls/src/certtool.c:302,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/certtool.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: generate_private_key
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_deinit
    - print_private_key
    - generate_private_key_int
    linkageType: ''
    returnType: void
    signature: void generate_private_key(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:312,1
    - Dst: gnutls_privkey_verify_seed
      Src: /src/gnutls/src/certtool.c:315,1
    - Dst: gnutls_privkey_verify_seed
      Src: /src/gnutls/src/certtool.c:318,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:323,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:326,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:327,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:328,1
    - Dst: printf
      Src: /src/gnutls/src/certtool.c:331,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 335
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 335
    functionName: verify_provable_privkey
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - load_private_key
    - gnutls_privkey_verify_seed
    - gnutls_privkey_deinit
    - app_exit
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void verify_provable_privkey(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/certtool.c:356,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:358,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:358,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:359,1
    - Dst: load_request
      Src: /src/gnutls/src/certtool.c:362,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:365,1
    - Dst: load_public_key_or_import
      Src: /src/gnutls/src/certtool.c:367,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:370,1
    - Dst: gnutls_x509_crt_set_proxy_dn
      Src: /src/gnutls/src/certtool.c:377,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:380,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:381,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:382,1
    - Dst: get_dn_crt_set
      Src: /src/gnutls/src/certtool.c:385,1
    - Dst: get_cn_crt_set
      Src: /src/gnutls/src/certtool.c:386,1
    - Dst: get_dn_crt_set
      Src: /src/gnutls/src/certtool.c:388,1
    - Dst: get_country_crt_set
      Src: /src/gnutls/src/certtool.c:390,1
    - Dst: get_state_crt_set
      Src: /src/gnutls/src/certtool.c:391,1
    - Dst: get_locality_crt_set
      Src: /src/gnutls/src/certtool.c:392,1
    - Dst: get_organization_crt_set
      Src: /src/gnutls/src/certtool.c:393,1
    - Dst: get_unit_crt_set
      Src: /src/gnutls/src/certtool.c:394,1
    - Dst: get_cn_crt_set
      Src: /src/gnutls/src/certtool.c:395,1
    - Dst: get_uid_crt_set
      Src: /src/gnutls/src/certtool.c:396,1
    - Dst: get_dc_set
      Src: /src/gnutls/src/certtool.c:397,1
    - Dst: get_oid_crt_set
      Src: /src/gnutls/src/certtool.c:399,1
    - Dst: get_key_purpose_set
      Src: /src/gnutls/src/certtool.c:400,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:403,1
    - Dst: get_pkcs9_email_crt_set
      Src: /src/gnutls/src/certtool.c:406,1
    - Dst: get_tlsfeatures_set
      Src: /src/gnutls/src/certtool.c:408,1
    - Dst: gnutls_x509_crt_set_pubkey
      Src: /src/gnutls/src/certtool.c:411,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:413,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:414,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:415,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:417,1
    - Dst: gnutls_x509_crt_set_crq
      Src: /src/gnutls/src/certtool.c:419,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:421,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:422,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:423,1
    - Dst: crq_extensions_set
      Src: /src/gnutls/src/certtool.c:426,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/src/certtool.c:429,1
    - Dst: get_serial
      Src: /src/gnutls/src/certtool.c:437,1
    - Dst: gnutls_x509_crt_set_serial
      Src: /src/gnutls/src/certtool.c:439,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:441,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:442,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:443,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:448,1
    - Dst: get_activation_date
      Src: /src/gnutls/src/certtool.c:450,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/src/certtool.c:452,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:454,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:455,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:456,1
    - Dst: get_expiration_date
      Src: /src/gnutls/src/certtool.c:461,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/src/certtool.c:464,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/src/certtool.c:466,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:467,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/certtool.c:468,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:469,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/certtool.c:470,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:471,1
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool.c:476,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/src/certtool.c:478,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:480,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:481,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:482,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:486,1
    - Dst: get_crq_extensions_status
      Src: /src/gnutls/src/certtool.c:489,1
    - Dst: gnutls_x509_crt_set_crq_extensions
      Src: /src/gnutls/src/certtool.c:490,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:492,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:493,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:494,1
    - Dst: get_extensions_crt_set
      Src: /src/gnutls/src/certtool.c:498,1
    - Dst: printf
      Src: /src/gnutls/src/certtool.c:509,1
    - Dst: printf
      Src: /src/gnutls/src/certtool.c:510,1
    - Dst: get_proxy_policy
      Src: /src/gnutls/src/certtool.c:513,1
    - Dst: gnutls_x509_crt_set_proxy
      Src: /src/gnutls/src/certtool.c:515,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:519,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:520,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:521,1
    - Dst: get_ca_status
      Src: /src/gnutls/src/certtool.c:526,1
    - Dst: get_path_len
      Src: /src/gnutls/src/certtool.c:528,1
    - Dst: gnutls_x509_crt_set_basic_constraints
      Src: /src/gnutls/src/certtool.c:532,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:535,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:536,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:537,1
    - Dst: get_tls_client_status
      Src: /src/gnutls/src/certtool.c:540,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:542,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:545,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:546,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:547,1
    - Dst: crt_unique_ids_set
      Src: /src/gnutls/src/certtool.c:551,1
    - Dst: get_ipsec_ike_status
      Src: /src/gnutls/src/certtool.c:553,1
    - Dst: get_tls_server_status
      Src: /src/gnutls/src/certtool.c:554,1
    - Dst: get_dns_name_set
      Src: /src/gnutls/src/certtool.c:556,1
    - Dst: get_uri_set
      Src: /src/gnutls/src/certtool.c:557,1
    - Dst: get_ip_addr_set
      Src: /src/gnutls/src/certtool.c:558,1
    - Dst: get_other_name_set
      Src: /src/gnutls/src/certtool.c:559,1
    - Dst: get_policy_set
      Src: /src/gnutls/src/certtool.c:560,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:563,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:566,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:567,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:568,1
    - Dst: get_email_set
      Src: /src/gnutls/src/certtool.c:571,1
    - Dst: get_sign_status
      Src: /src/gnutls/src/certtool.c:578,1
    - Dst: get_encrypt_status
      Src: /src/gnutls/src/certtool.c:582,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:594,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:597,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:598,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:599,1
    - Dst: get_sign_status
      Src: /src/gnutls/src/certtool.c:605,1
    - Dst: get_key_agreement_status
      Src: /src/gnutls/src/certtool.c:609,1
    - Dst: get_data_encipherment_status
      Src: /src/gnutls/src/certtool.c:613,1
    - Dst: get_non_repudiation_status
      Src: /src/gnutls/src/certtool.c:617,1
    - Dst: get_ocsp_sign_status
      Src: /src/gnutls/src/certtool.c:621,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:623,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:626,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:627,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:628,1
    - Dst: get_code_sign_status
      Src: /src/gnutls/src/certtool.c:632,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:634,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:637,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:638,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:639,1
    - Dst: get_time_stamp_status
      Src: /src/gnutls/src/certtool.c:643,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:645,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:648,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:649,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:650,1
    - Dst: get_email_protection_status
      Src: /src/gnutls/src/certtool.c:654,1
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:656,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:659,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:660,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:661,1
    - Dst: get_cert_sign_status
      Src: /src/gnutls/src/certtool.c:666,1
    - Dst: get_crl_sign_status
      Src: /src/gnutls/src/certtool.c:670,1
    - Dst: crt_constraints_set
      Src: /src/gnutls/src/certtool.c:674,1
    - Dst: get_ocsp_issuer_set
      Src: /src/gnutls/src/certtool.c:677,1
    - Dst: get_ca_issuers_set
      Src: /src/gnutls/src/certtool.c:678,1
    - Dst: get_sign_status
      Src: /src/gnutls/src/certtool.c:684,1
    - Dst: gnutls_x509_crt_set_key_usage
      Src: /src/gnutls/src/certtool.c:686,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:688,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:689,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:690,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/src/certtool.c:697,1
    - Dst: gnutls_x509_crt_set_subject_key_id
      Src: /src/gnutls/src/certtool.c:700,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:703,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:704,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:705,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/src/certtool.c:713,1
    - Dst: gnutls_x509_crt_set_authority_key_id
      Src: /src/gnutls/src/certtool.c:716,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:719,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:721,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:722,1
    - Dst: gnutls_x509_crt_set_version
      Src: /src/gnutls/src/certtool.c:734,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:736,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:737,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:738,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:741,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:744,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/certtool.c:746,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/certtool.c:747,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:748,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/src/certtool.c:755,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:757,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:758,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:759,1
    - Dst: gnutls_privkey_get_spki
      Src: /src/gnutls/src/certtool.c:762,1
    - Dst: gnutls_x509_crt_set_spki
      Src: /src/gnutls/src/certtool.c:764,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:766,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:768,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:769,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/src/certtool.c:773,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/src/certtool.c:776,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:778,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:779,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:780,1
    - Dst: SET_SPKI_PARAMS
      Src: /src/gnutls/src/certtool.c:783,1
    - Dst: gnutls_x509_crt_set_spki
      Src: /src/gnutls/src/certtool.c:785,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:787,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:789,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:790,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/src/certtool.c:793,1
    - Dst: get_crl_dist_point_set
      Src: /src/gnutls/src/certtool.c:800,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 299
    argCount: 4
    argNames:
    - ret_key
    - ca_crt
    - proxy
    - cinfo
    argTypes:
    - gnutls_privkey_t*
    - gnutls_x509_crt_t
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 805
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 805
    functionName: generate_certificate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - load_public_key_or_import
    - gnutls_x509_crt_set_serial
    - gnutls_x509_crt_set_key_purpose_oid
    - get_tls_server_status
    - gnutls_x509_crt_set_basic_constraints
    - get_country_crt_set
    - get_ca_issuers_set
    - gnutls_privkey_get_spki
    - get_pkcs9_email_crt_set
    - gnutls_x509_crt_set_authority_key_id
    - gnutls_x509_crt_set_subject_key_id
    - get_key_agreement_status
    - gnutls_x509_crt_set_pubkey
    - gnutls_x509_crt_set_version
    - get_unit_crt_set
    - get_key_purpose_set
    - get_other_name_set
    - crt_unique_ids_set
    - gnutls_x509_crt_set_crq
    - gnutls_x509_crt_set_key_usage
    - get_cert_sign_status
    - gnutls_x509_crt_set_proxy_dn
    - gnutls_x509_crt_set_activation_time
    - get_proxy_policy
    - HAVE_OPT
    - get_ip_addr_set
    - get_dns_name_set
    - get_ca_status
    - gnutls_x509_crt_set_expiration_time
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_init
    - get_dc_set
    - get_code_sign_status
    - get_crl_sign_status
    - get_time_stamp_status
    - get_non_repudiation_status
    - get_crl_dist_point_set
    - gnutls_strerror
    - get_tlsfeatures_set
    - get_uid_crt_set
    - read_yesno
    - get_extensions_crt_set
    - get_cn_crt_set
    - gnutls_x509_crt_set_proxy
    - get_tls_client_status
    - gnutls_x509_crt_set_crq_extensions
    - get_dn_crt_set
    - crt_constraints_set
    - load_private_key
    - get_policy_set
    - get_path_len
    - get_organization_crt_set
    - get_uri_set
    - crq_extensions_set
    - get_ocsp_issuer_set
    - simple_ctime
    - gnutls_x509_crt_get_pk_algorithm
    - get_crq_extensions_status
    - get_locality_crt_set
    - gnutls_pk_get_name
    - get_oid_crt_set
    - gnutls_x509_crt_get_subject_key_id
    - get_data_encipherment_status
    - get_email_set
    - load_request
    - get_activation_date
    - get_encrypt_status
    - get_ocsp_sign_status
    - get_sign_status
    - gnutls_x509_crt_set_spki
    - app_exit
    - printf
    - get_email_protection_status
    - gnutls_pubkey_deinit
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_init
    - SET_SPKI_PARAMS
    - gnutls_x509_crt_get_key_id
    - get_serial
    - get_ipsec_ike_status
    - get_state_crt_set
    - get_expiration_date
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t generate_certificate(gnutls_privkey_t *ret_key,\n\t\t\t\t\t
      \     gnutls_x509_crt_t ca_crt,\n\t\t\t\t\t      int proxy, common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_crl_list
      Src: /src/gnutls/src/certtool.c:818,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:821,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:822,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:825,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/src/certtool.c:827,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:829,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:830,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:831,1
    - Dst: load_cert_list
      Src: /src/gnutls/src/certtool.c:835,1
    - Dst: get_crl_revocation_date
      Src: /src/gnutls/src/certtool.c:837,1
    - Dst: gnutls_x509_crl_set_crt
      Src: /src/gnutls/src/certtool.c:840,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:842,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:843,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:844,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:846,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:848,1
    - Dst: get_crl_this_update_date
      Src: /src/gnutls/src/certtool.c:850,1
    - Dst: gnutls_x509_crl_set_this_update
      Src: /src/gnutls/src/certtool.c:852,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:854,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:854,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:855,1
    - Dst: get_crl_next_update
      Src: /src/gnutls/src/certtool.c:858,1
    - Dst: gnutls_x509_crl_set_next_update
      Src: /src/gnutls/src/certtool.c:860,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:862,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:862,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:863,1
    - Dst: gnutls_x509_crl_set_version
      Src: /src/gnutls/src/certtool.c:866,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:868,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:868,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:869,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/src/certtool.c:876,1
    - Dst: gnutls_x509_crl_set_authority_key_id
      Src: /src/gnutls/src/certtool.c:879,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:882,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:883,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:884,1
    - Dst: get_crl_number
      Src: /src/gnutls/src/certtool.c:895,1
    - Dst: gnutls_x509_crl_set_number
      Src: /src/gnutls/src/certtool.c:897,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:899,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:900,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:901,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 2
    argNames:
    - ca_crt
    - cinfo
    argTypes:
    - gnutls_x509_crt_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 906
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 906
    functionName: generate_crl
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - get_crl_next_update
    - gnutls_x509_crl_set_authority_key_id
    - gnutls_x509_crl_init
    - get_crl_revocation_date
    - app_exit
    - gnutls_x509_crl_set_version
    - gnutls_x509_crl_set_next_update
    - get_crl_this_update_date
    - gnutls_x509_crt_deinit
    - load_crl_list
    - gnutls_x509_crt_get_subject_key_id
    - gnutls_x509_crl_set_crt
    - gnutls_free
    - gnutls_strerror
    - get_crl_number
    - load_cert_list
    - gnutls_x509_crl_set_number
    - fprintf
    - gnutls_x509_crl_set_this_update
    linkageType: ''
    returnType: gnutls_x509_crl_t
    signature: "gnutls_x509_crl_t generate_crl(gnutls_x509_crt_t ca_crt,\n\t\t\t\t
      \     common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_preferred_hash_algorithm
      Src: /src/gnutls/src/certtool.c:916,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:919,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:921,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pubkey
    - cinfo
    argTypes:
    - gnutls_pubkey_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 931
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 931
    functionName: get_dig_for_pub
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gnutls_strerror
    - gnutls_pubkey_get_preferred_hash_algorithm
    - app_exit
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: "gnutls_digest_algorithm_t get_dig_for_pub(gnutls_pubkey_t pubkey,\n\t\t\t\t\t\t
      common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool.c:940,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:942,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:943,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/certtool.c:946,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:949,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:950,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:951,1
    - Dst: get_dig_for_pub
      Src: /src/gnutls/src/certtool.c:955,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - crt
    - cinfo
    argTypes:
    - gnutls_x509_crt_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 960
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 960
    functionName: get_dig
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - app_exit
    - get_dig_for_pub
    - fprintf
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: "gnutls_digest_algorithm_t get_dig(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:970,1
    - Dst: generate_certificate
      Src: /src/gnutls/src/certtool.c:972,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:975,1
    - Dst: print_certificate_info
      Src: /src/gnutls/src/certtool.c:977,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:979,1
    - Dst: gnutls_x509_crt_privkey_sign
      Src: /src/gnutls/src/certtool.c:984,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:985,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:987,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:987,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:988,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/certtool.c:991,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:993,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:993,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:994,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:997,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:998,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1000,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1002
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 1002
    functionName: generate_self_signed
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_deinit
    - load_private_key
    - fwrite
    - get_dig
    - gnutls_privkey_deinit
    - print_certificate_info
    - generate_certificate
    - gnutls_x509_crt_export2
    - app_exit
    - gnutls_x509_crt_privkey_sign
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_self_signed(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1014,1
    - Dst: load_ca_private_key
      Src: /src/gnutls/src/certtool.c:1016,1
    - Dst: load_ca_cert
      Src: /src/gnutls/src/certtool.c:1017,1
    - Dst: generate_certificate
      Src: /src/gnutls/src/certtool.c:1019,1
    - Dst: print_certificate_info
      Src: /src/gnutls/src/certtool.c:1021,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1023,1
    - Dst: gnutls_x509_crt_privkey_sign
      Src: /src/gnutls/src/certtool.c:1028,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:1029,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1031,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1031,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1032,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/certtool.c:1035,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1037,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1037,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1038,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1041,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1042,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1044,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1045,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1046,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1048
    functionName: generate_signed_certificate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_deinit
    - fwrite
    - load_ca_private_key
    - get_dig
    - load_ca_cert
    - gnutls_privkey_deinit
    - print_certificate_info
    - generate_certificate
    - gnutls_x509_crt_export2
    - app_exit
    - gnutls_x509_crt_privkey_sign
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_signed_certificate(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1058,1
    - Dst: load_ca_private_key
      Src: /src/gnutls/src/certtool.c:1060,1
    - Dst: load_cert
      Src: /src/gnutls/src/certtool.c:1061,1
    - Dst: generate_certificate
      Src: /src/gnutls/src/certtool.c:1063,1
    - Dst: print_certificate_info
      Src: /src/gnutls/src/certtool.c:1065,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1067,1
    - Dst: gnutls_x509_crt_privkey_sign
      Src: /src/gnutls/src/certtool.c:1072,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:1073,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1075,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1075,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1076,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/certtool.c:1079,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1081,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1081,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1082,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1085,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1086,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1088,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1089,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1090,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1092
    functionName: generate_proxy_certificate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_deinit
    - fwrite
    - load_cert
    - load_ca_private_key
    - get_dig
    - gnutls_privkey_deinit
    - print_certificate_info
    - generate_certificate
    - gnutls_x509_crt_export2
    - app_exit
    - gnutls_x509_crt_privkey_sign
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_proxy_certificate(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1101,1
    - Dst: load_ca_private_key
      Src: /src/gnutls/src/certtool.c:1103,1
    - Dst: load_ca_cert
      Src: /src/gnutls/src/certtool.c:1104,1
    - Dst: generate_crl
      Src: /src/gnutls/src/certtool.c:1105,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1107,1
    - Dst: gnutls_x509_crl_privkey_sign
      Src: /src/gnutls/src/certtool.c:1108,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:1109,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1111,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1112,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1113,1
    - Dst: print_crl_info
      Src: /src/gnutls/src/certtool.c:1116,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1118,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/src/certtool.c:1119,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1121
    functionName: generate_signed_crl
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - generate_crl
    - gnutls_x509_crt_deinit
    - print_crl_info
    - load_ca_private_key
    - get_dig
    - load_ca_cert
    - gnutls_privkey_deinit
    - app_exit
    - gnutls_x509_crl_deinit
    - fprintf
    - gnutls_x509_crl_privkey_sign
    linkageType: ''
    returnType: void
    signature: void generate_signed_crl(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1135,1
    - Dst: load_ca_private_key
      Src: /src/gnutls/src/certtool.c:1137,1
    - Dst: load_ca_cert
      Src: /src/gnutls/src/certtool.c:1138,1
    - Dst: load_cert
      Src: /src/gnutls/src/certtool.c:1139,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1141,1
    - Dst: get_activation_date
      Src: /src/gnutls/src/certtool.c:1142,1
    - Dst: gnutls_x509_crt_set_activation_time
      Src: /src/gnutls/src/certtool.c:1144,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1147,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1148,1
    - Dst: get_expiration_date
      Src: /src/gnutls/src/certtool.c:1151,1
    - Dst: gnutls_x509_crt_set_expiration_time
      Src: /src/gnutls/src/certtool.c:1152,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1154,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1155,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1156,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:1159,1
    - Dst: load_public_key_or_import
      Src: /src/gnutls/src/certtool.c:1160,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1163,1
    - Dst: gnutls_x509_crt_set_pubkey
      Src: /src/gnutls/src/certtool.c:1164,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1166,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1167,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1168,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1172,1
    - Dst: gnutls_x509_crt_privkey_sign
      Src: /src/gnutls/src/certtool.c:1177,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:1178,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1180,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1181,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/certtool.c:1184,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1186,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1186,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1187,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1190,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1191,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1123
    functionDepth: 3
    functionLinenumber: 1123
    functionLinenumberEnd: 1194
    functionName: update_signed_certificate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - load_public_key_or_import
    - load_private_key
    - get_activation_date
    - load_cert
    - gnutls_x509_crt_export2
    - gnutls_x509_crt_set_expiration_time
    - app_exit
    - get_dig
    - gnutls_x509_crt_deinit
    - load_ca_private_key
    - load_ca_cert
    - gnutls_x509_crt_set_pubkey
    - gnutls_x509_crt_privkey_sign
    - gnutls_strerror
    - gnutls_free
    - fwrite
    - get_expiration_date
    - gnutls_x509_crt_set_activation_time
    - fprintf
    linkageType: ''
    returnType: void
    signature: void update_signed_certificate(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnutls/src/certtool.c:1199,1
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool.c:1200,1
    - Dst: fopen
      Src: /src/gnutls/src/certtool.c:1203,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1205,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1206,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: load_infile
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - fopen
    - fix_lbuffer
    - OPT_ARG
    - stat
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void load_infile(const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/certtool.c:1216,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1218,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1225,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1225,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1228,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1231,1
    - Dst: safe_open_rw
      Src: /src/gnutls/src/certtool.c:1232,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1232,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1234,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1235,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1236,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1238,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1243,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1245,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1245,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1246,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1246,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1247,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1247,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1248,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1248,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1249,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1249,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1250,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1250,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1251,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1251,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1252,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1252,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1253,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1253,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1254,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1254,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1255,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1255,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1256,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1256,1
    - Dst: load_infile
      Src: /src/gnutls/src/certtool.c:1260,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1260,1
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool.c:1263,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1265,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1270,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1276,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1278,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1280,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1284,1
    - Dst: figure_key_type
      Src: /src/gnutls/src/certtool.c:1285,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1285,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1287,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1291,1
    - Dst: template_parse
      Src: /src/gnutls/src/certtool.c:1293,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1293,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/certtool.c:1296,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1298,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/certtool.c:1299,1
    - Dst: printf
      Src: /src/gnutls/src/certtool.c:1300,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/certtool.c:1303,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1304,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1304,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1305,1
    - Dst: memset
      Src: /src/gnutls/src/certtool.c:1308,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:1310,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1312,1
    - Dst: hash_to_id
      Src: /src/gnutls/src/certtool.c:1313,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1313,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1315,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1315,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1316,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1320,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/src/certtool.c:1321,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1323,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1324,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/src/certtool.c:1326,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1326,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1329,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1330,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1331,1
    - Dst: pkcs11_common
      Src: /src/gnutls/src/certtool.c:1336,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1339,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:1342,1
    - Dst: parse_datetime
      Src: /src/gnutls/src/certtool.c:1345,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1345,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1346,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1348,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1349,1
    - Dst: set_system_time
      Src: /src/gnutls/src/certtool.c:1351,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1354,1
    - Dst: decode_seed
      Src: /src/gnutls/src/certtool.c:1356,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1356,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool.c:1356,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1356,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1363,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1365,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1366,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1368,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1369,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1371,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1372,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1374,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1375,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1380,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1381,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1383,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:1386,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1389,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1390,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1392,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1393,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1395,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1396,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1398,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1399,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1401,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1404,1
    - Dst: str_to_curve
      Src: /src/gnutls/src/certtool.c:1405,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1405,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/src/certtool.c:1406,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1409,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1410,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1412,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1413,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1415,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1416,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1417,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1418,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1423,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1428,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1431,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1436,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool.c:1437,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1437,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/src/certtool.c:1442,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1443,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1445,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1446,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1446,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1447,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1449,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1455,1
    - Dst: sign_params_to_flags
      Src: /src/gnutls/src/certtool.c:1456,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1456,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1458,1
    - Dst: generate_self_signed
      Src: /src/gnutls/src/certtool.c:1459,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1460,1
    - Dst: generate_signed_certificate
      Src: /src/gnutls/src/certtool.c:1461,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1462,1
    - Dst: generate_proxy_certificate
      Src: /src/gnutls/src/certtool.c:1463,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1464,1
    - Dst: generate_signed_crl
      Src: /src/gnutls/src/certtool.c:1465,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1466,1
    - Dst: update_signed_certificate
      Src: /src/gnutls/src/certtool.c:1467,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1468,1
    - Dst: generate_private_key
      Src: /src/gnutls/src/certtool.c:1469,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1470,1
    - Dst: generate_request
      Src: /src/gnutls/src/certtool.c:1471,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1472,1
    - Dst: verify_provable_privkey
      Src: /src/gnutls/src/certtool.c:1473,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1474,1
    - Dst: verify_chain
      Src: /src/gnutls/src/certtool.c:1475,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1476,1
    - Dst: verify_certificate
      Src: /src/gnutls/src/certtool.c:1477,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1478,1
    - Dst: verify_crl
      Src: /src/gnutls/src/certtool.c:1479,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1480,1
    - Dst: certificate_info
      Src: /src/gnutls/src/certtool.c:1481,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1482,1
    - Dst: dh_info
      Src: /src/gnutls/src/certtool.c:1483,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1484,1
    - Dst: certificate_info
      Src: /src/gnutls/src/certtool.c:1485,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1486,1
    - Dst: privkey_info
      Src: /src/gnutls/src/certtool.c:1487,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1488,1
    - Dst: privkey_to_rsa
      Src: /src/gnutls/src/certtool.c:1489,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1490,1
    - Dst: pubkey_info
      Src: /src/gnutls/src/certtool.c:1491,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1492,1
    - Dst: certificate_fpr
      Src: /src/gnutls/src/certtool.c:1493,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1494,1
    - Dst: pubkey_keyid
      Src: /src/gnutls/src/certtool.c:1495,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1496,1
    - Dst: generate_pkcs12
      Src: /src/gnutls/src/certtool.c:1497,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1498,1
    - Dst: pkcs12_info
      Src: /src/gnutls/src/certtool.c:1499,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1500,1
    - Dst: generate_prime
      Src: /src/gnutls/src/certtool.c:1501,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1502,1
    - Dst: generate_prime
      Src: /src/gnutls/src/certtool.c:1503,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1504,1
    - Dst: crl_info
      Src: /src/gnutls/src/certtool.c:1505,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1506,1
    - Dst: pkcs7_info
      Src: /src/gnutls/src/certtool.c:1507,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:1507,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1508,1
    - Dst: pkcs7_generate
      Src: /src/gnutls/src/certtool.c:1509,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1510,1
    - Dst: pkcs7_sign
      Src: /src/gnutls/src/certtool.c:1511,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1512,1
    - Dst: pkcs7_sign
      Src: /src/gnutls/src/certtool.c:1513,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1514,1
    - Dst: verify_pkcs7
      Src: /src/gnutls/src/certtool.c:1515,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:1515,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:1516,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1517,1
    - Dst: pkcs8_info
      Src: /src/gnutls/src/certtool.c:1518,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1519,1
    - Dst: smime_to_pkcs7
      Src: /src/gnutls/src/certtool.c:1520,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1521,1
    - Dst: generate_pkcs8
      Src: /src/gnutls/src/certtool.c:1522,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1523,1
    - Dst: crq_info
      Src: /src/gnutls/src/certtool.c:1524,1
    - Dst: USAGE
      Src: /src/gnutls/src/certtool.c:1526,1
    - Dst: fclose
      Src: /src/gnutls/src/certtool.c:1529,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:1531,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/src/certtool.c:1533,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/certtool.c:1535,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 255
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1536
      start: 1211
    functionDepth: 4
    functionLinenumber: 1211
    functionLinenumberEnd: 1536
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 4
    functionsReached:
    - HAVE_OPT
    - generate_proxy_certificate
    - fix_lbuffer
    - privkey_to_rsa
    - gnutls_global_deinit
    - generate_prime
    - pkcs8_info
    - gnutls_pkcs11_init
    - parse_datetime
    - verify_certificate
    - pkcs12_info
    - verify_chain
    - privkey_info
    - app_exit
    - printf
    - generate_signed_certificate
    - pkcs7_generate
    - generate_private_key
    - gnutls_global_set_log_function
    - figure_key_type
    - ENABLED_OPT
    - fclose
    - safe_open_rw
    - gnutls_certificate_verification_profile_get_id
    - verify_provable_privkey
    - verify_crl
    - verify_pkcs7
    - free
    - generate_self_signed
    - certificate_fpr
    - strcasecmp
    - memset
    - GNUTLS_CURVE_TO_BITS
    - gnutls_pkcs11_add_provider
    - pkcs7_info
    - pubkey_info
    - strlen
    - str_to_curve
    - crq_info
    - template_parse
    - pkcs11_common
    - OPT_ARG
    - gnutls_global_init
    - hash_to_id
    - set_system_time
    - sign_params_to_flags
    - generate_pkcs8
    - USAGE
    - pkcs7_sign
    - gnutls_global_set_log_level
    - smime_to_pkcs7
    - gnutls_strerror
    - decode_seed
    - certificate_info
    - dh_info
    - generate_signed_crl
    - load_infile
    - generate_pkcs12
    - gnutls_pkcs11_deinit
    - pubkey_keyid
    - crl_info
    - update_signed_certificate
    - generate_request
    - optionProcess
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:1547,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1551,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1552,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/certtool.c:1555,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1558,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1558,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1559,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:1562,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1567,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1575,1
    - Dst: print_certificate_info
      Src: /src/gnutls/src/certtool.c:1578,1
    - Dst: pubkey_info
      Src: /src/gnutls/src/certtool.c:1582,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/src/certtool.c:1584,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1587,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1588,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1589,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1592,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1593,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:1595,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pubkey
    - cinfo
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1599
    functionName: certificate_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 6
    functionsReached:
    - pubkey_info
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_deinit
    - fwrite
    - free
    - gnutls_x509_crt_list_import2
    - print_certificate_info
    - gnutls_x509_crt_export2
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void certificate_info(int pubkey, common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/certtool.c:1608,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/certtool.c:1610,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1613,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1614,1
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool.c:1618,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - crt
    - out
    - all
    argTypes:
    - gnutls_x509_crt_t
    - FILE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1622
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1622
    functionName: print_certificate_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crt_print
    - gnutls_free
    - read_yesno
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_certificate_info(gnutls_x509_crt_t crt, FILE *out,\n\t\t\t\t
      \  unsigned int all)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_print
      Src: /src/gnutls/src/certtool.c:1632,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1634,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1635,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1636,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1638,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1640,1
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/src/certtool.c:1643,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1645,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1645,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1646,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1649,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - crl
    - out
    - cinfo
    argTypes:
    - gnutls_x509_crl_t
    - FILE*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1651
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1651
    functionName: print_crl_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - fwrite
    - gnutls_x509_crl_export2
    - app_exit
    - gnutls_x509_crl_print
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_crl_info(gnutls_x509_crl_t crl, FILE *out,\n\t\t\t   common_info_st
      *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/src/certtool.c:1660,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1662,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1662,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1663,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:1666,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1670,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1671,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/src/certtool.c:1674,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:1676,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1678,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1678,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1679,1
    - Dst: print_crl_info
      Src: /src/gnutls/src/certtool.c:1682,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/src/certtool.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1685
    functionName: crl_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - print_crl_info
    - free
    - gnutls_x509_crl_init
    - app_exit
    - gnutls_x509_crl_deinit
    - fprintf
    - gnutls_x509_crl_import
    - fread_file
    linkageType: ''
    returnType: void
    signature: void crl_info(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_print
      Src: /src/gnutls/src/certtool.c:1695,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1697,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1698,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1699,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1702,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1704,1
    - Dst: gnutls_x509_crq_verify
      Src: /src/gnutls/src/certtool.c:1707,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1709,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1712,1
    - Dst: gnutls_x509_crq_export
      Src: /src/gnutls/src/certtool.c:1717,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1719,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1719,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1720,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - crq
    - out
    - cinfo
    argTypes:
    - gnutls_x509_crq_t
    - FILE*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1724
    functionName: print_crq_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crq_print
    - gnutls_free
    - gnutls_x509_crq_verify
    - gnutls_x509_crq_export
    - fwrite
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_crq_info(gnutls_x509_crq_t crq, FILE *out,\n\t\t\t   common_info_st
      *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/src/certtool.c:1733,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1735,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1735,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1736,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:1739,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1743,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1744,1
    - Dst: gnutls_x509_crq_import
      Src: /src/gnutls/src/certtool.c:1747,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:1749,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1751,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1751,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1752,1
    - Dst: print_crq_info
      Src: /src/gnutls/src/certtool.c:1755,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/src/certtool.c:1757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1758
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1758
    functionName: crq_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crq_import
    - gnutls_strerror
    - free
    - gnutls_x509_crq_deinit
    - gnutls_x509_crq_init
    - print_crq_info
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void crq_info(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnutls/src/certtool.c:1769,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool.c:1772,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1774,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1774,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1775,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool.c:1781,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1786,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:1789,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:1791,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool.c:1793,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool.c:1795,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1799,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1799,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1800,1
    - Dst: print_private_key
      Src: /src/gnutls/src/certtool.c:1806,1
    - Dst: gnutls_x509_privkey_verify_params
      Src: /src/gnutls/src/certtool.c:1808,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1810,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1814
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1814
    functionName: privkey_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - print_private_key
    - pkcs8_info_int
    - get_password
    - fread
    - gnutls_x509_privkey_import2
    - gnutls_x509_privkey_init
    - app_exit
    - gnutls_x509_privkey_deinit
    - fprintf
    - gnutls_x509_privkey_verify_params
    linkageType: ''
    returnType: void
    signature: void privkey_info(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnutls/src/certtool.c:1826,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool.c:1829,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1831,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1831,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1832,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool.c:1838,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1843,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:1846,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:1848,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool.c:1850,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool.c:1852,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1856,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1856,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1857,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/src/certtool.c:1860,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1862,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/certtool.c:1863,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1864,1
    - Dst: gnutls_x509_privkey_set_flags
      Src: /src/gnutls/src/certtool.c:1867,1
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/src/certtool.c:1869,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1871,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1871,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1872,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:1875,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:1876,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/certtool.c:1878,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1879
    functionName: privkey_to_rsa
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_privkey_get_pk_algorithm
    - pkcs8_info_int
    - get_password
    - fread
    - fwrite
    - gnutls_x509_privkey_import2
    - gnutls_pk_get_name
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_set_flags
    - app_exit
    - gnutls_x509_privkey_deinit
    - fprintf
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: void
    signature: void privkey_to_rsa(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1893,1
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/src/certtool.c:1895,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1897,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1897,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1898,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:1903,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:1905,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1906,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1908,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/certtool.c:1911,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1913,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1914,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1915,1
    - Dst: generate_private_key_int
      Src: /src/gnutls/src/certtool.c:1918,1
    - Dst: print_private_key
      Src: /src/gnutls/src/certtool.c:1920,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/src/certtool.c:1922,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1925,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1926,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1927,1
    - Dst: load_public_key_or_import
      Src: /src/gnutls/src/certtool.c:1931,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/src/certtool.c:1933,1
    - Dst: get_dn_crq_set
      Src: /src/gnutls/src/certtool.c:1937,1
    - Dst: get_country_crq_set
      Src: /src/gnutls/src/certtool.c:1939,1
    - Dst: get_state_crq_set
      Src: /src/gnutls/src/certtool.c:1940,1
    - Dst: get_locality_crq_set
      Src: /src/gnutls/src/certtool.c:1941,1
    - Dst: get_organization_crq_set
      Src: /src/gnutls/src/certtool.c:1942,1
    - Dst: get_unit_crq_set
      Src: /src/gnutls/src/certtool.c:1943,1
    - Dst: get_cn_crq_set
      Src: /src/gnutls/src/certtool.c:1944,1
    - Dst: get_uid_crq_set
      Src: /src/gnutls/src/certtool.c:1946,1
    - Dst: get_dc_set
      Src: /src/gnutls/src/certtool.c:1947,1
    - Dst: get_oid_crq_set
      Src: /src/gnutls/src/certtool.c:1948,1
    - Dst: get_dns_name_set
      Src: /src/gnutls/src/certtool.c:1950,1
    - Dst: get_uri_set
      Src: /src/gnutls/src/certtool.c:1951,1
    - Dst: get_ip_addr_set
      Src: /src/gnutls/src/certtool.c:1952,1
    - Dst: get_email_set
      Src: /src/gnutls/src/certtool.c:1953,1
    - Dst: get_other_name_set
      Src: /src/gnutls/src/certtool.c:1954,1
    - Dst: get_extensions_crt_set
      Src: /src/gnutls/src/certtool.c:1955,1
    - Dst: get_challenge_pass
      Src: /src/gnutls/src/certtool.c:1957,1
    - Dst: gnutls_x509_crq_set_challenge_password
      Src: /src/gnutls/src/certtool.c:1960,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1962,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1962,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1963,1
    - Dst: get_ca_status
      Src: /src/gnutls/src/certtool.c:1968,1
    - Dst: get_path_len
      Src: /src/gnutls/src/certtool.c:1970,1
    - Dst: gnutls_x509_crq_set_basic_constraints
      Src: /src/gnutls/src/certtool.c:1974,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1977,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:1978,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:1979,1
    - Dst: get_sign_status
      Src: /src/gnutls/src/certtool.c:1985,1
    - Dst: get_encrypt_status
      Src: /src/gnutls/src/certtool.c:1991,1
    - Dst: get_encrypt_status
      Src: /src/gnutls/src/certtool.c:1997,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:1998,1
    - Dst: get_code_sign_status
      Src: /src/gnutls/src/certtool.c:2004,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2006,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2009,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2010,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2011,1
    - Dst: get_time_stamp_status
      Src: /src/gnutls/src/certtool.c:2015,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2017,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2020,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2021,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2022,1
    - Dst: get_email_protection_status
      Src: /src/gnutls/src/certtool.c:2026,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2028,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2031,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2032,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2033,1
    - Dst: get_ipsec_ike_status
      Src: /src/gnutls/src/certtool.c:2037,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2039,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2042,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2043,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2044,1
    - Dst: get_ocsp_sign_status
      Src: /src/gnutls/src/certtool.c:2048,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2050,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2053,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2054,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2055,1
    - Dst: get_cert_sign_status
      Src: /src/gnutls/src/certtool.c:2060,1
    - Dst: get_crl_sign_status
      Src: /src/gnutls/src/certtool.c:2064,1
    - Dst: gnutls_x509_crq_set_key_usage
      Src: /src/gnutls/src/certtool.c:2069,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2071,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2072,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2073,1
    - Dst: get_tls_client_status
      Src: /src/gnutls/src/certtool.c:2076,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2078,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2081,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2082,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2083,1
    - Dst: get_tls_server_status
      Src: /src/gnutls/src/certtool.c:2087,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool.c:2089,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2092,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2093,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2094,1
    - Dst: get_key_purpose_set
      Src: /src/gnutls/src/certtool.c:2098,1
    - Dst: get_tlsfeatures_set
      Src: /src/gnutls/src/certtool.c:2100,1
    - Dst: gnutls_x509_crq_set_pubkey
      Src: /src/gnutls/src/certtool.c:2103,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2105,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2106,1
    - Dst: gnutls_x509_crq_privkey_sign
      Src: /src/gnutls/src/certtool.c:2109,1
    - Dst: get_dig_for_pub
      Src: /src/gnutls/src/certtool.c:2110,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2112,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2112,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2113,1
    - Dst: print_crq_info
      Src: /src/gnutls/src/certtool.c:2116,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/src/certtool.c:2118,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:2119,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:2120,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 161
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2121
      start: 1883
    functionDepth: 3
    functionLinenumber: 1883
    functionLinenumberEnd: 2121
    functionName: generate_request
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 4
    functionsReached:
    - load_public_key_or_import
    - HAVE_OPT
    - gnutls_x509_crq_set_key_purpose_oid
    - get_ip_addr_set
    - get_dns_name_set
    - load_private_key
    - get_state_crq_set
    - get_encrypt_status
    - get_ocsp_sign_status
    - gnutls_x509_crq_deinit
    - generate_private_key_int
    - get_sign_status
    - get_tls_server_status
    - get_cn_crq_set
    - get_ca_status
    - get_path_len
    - gnutls_x509_crq_set_challenge_password
    - print_crq_info
    - app_exit
    - gnutls_privkey_init
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509
    - get_uid_crq_set
    - get_country_crq_set
    - print_private_key
    - get_dc_set
    - gnutls_x509_crq_privkey_sign
    - get_email_protection_status
    - get_code_sign_status
    - get_uri_set
    - gnutls_x509_crq_set_key_usage
    - get_locality_crq_set
    - gnutls_x509_crq_init
    - gnutls_pubkey_deinit
    - get_crl_sign_status
    - get_dig_for_pub
    - get_challenge_pass
    - gnutls_x509_crq_set_basic_constraints
    - gnutls_pubkey_get_pk_algorithm
    - get_dn_crq_set
    - get_organization_crq_set
    - get_time_stamp_status
    - get_key_purpose_set
    - get_other_name_set
    - gnutls_strerror
    - get_tlsfeatures_set
    - gnutls_x509_crq_set_pubkey
    - get_email_set
    - get_unit_crq_set
    - get_extensions_crt_set
    - get_oid_crq_set
    - get_ipsec_ike_status
    - get_tls_client_status
    - get_cert_sign_status
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_request(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/src/certtool.c:2130,1
    - Dst: gnutls_x509_crt_get_signature_oid
      Src: /src/gnutls/src/certtool.c:2133,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/src/certtool.c:2139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 2140
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2140
    functionName: get_signature_algo
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_get_signature_oid
    - gnutls_sign_get_name
    - gnutls_x509_crt_get_signature_algorithm
    linkageType: ''
    returnType: char
    signature: char *get_signature_algo(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_issuer_dn3
      Src: /src/gnutls/src/certtool.c:2153,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2156,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2157,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/src/certtool.c:2160,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2166,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2167,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2168,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2172,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2173,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2176,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/src/certtool.c:2177,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2179,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2180,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2181,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2184,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2187,1
    - Dst: get_signature_algo
      Src: /src/gnutls/src/certtool.c:2188,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2192,1
    - Dst: gnutls_x509_crl_get_issuer_dn3
      Src: /src/gnutls/src/certtool.c:2194,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2197,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2198,1
    - Dst: gnutls_x509_crl_get_number
      Src: /src/gnutls/src/certtool.c:2202,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/certtool.c:2204,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/certtool.c:2209,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2212,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2213,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2216,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2220,1
    - Dst: print_verification_res
      Src: /src/gnutls/src/certtool.c:2221,1
    - Dst: fputs
      Src: /src/gnutls/src/certtool.c:2223,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2225,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2226,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 4
    argNames:
    - cert
    - issuer
    - crl
    - verification_output
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_x509_crl_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2230
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2230
    functionName: detailed_verification
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_hex_encode2
    - print_verification_res
    - gnutls_x509_crl_get_number
    - fputs
    - gnutls_x509_crt_get_dn3
    - gnutls_x509_crl_get_issuer_dn3
    - gnutls_strdup
    - app_exit
    - get_signature_algo
    - fprintf
    - gnutls_x509_crt_get_issuer_dn3
    linkageType: ''
    returnType: int
    signature: "int detailed_verification(gnutls_x509_crt_t cert,\n\t\t\t\t gnutls_x509_crt_t
      issuer,\n\t\t\t\t gnutls_x509_crl_t crl,\n\t\t\t\t unsigned int verification_output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/certtool.c:2237,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2239,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2240,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2243,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2245,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2246,1
    - Dst: fclose
      Src: /src/gnutls/src/certtool.c:2250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cinfo
    - data
    argTypes:
    - common_info_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2251
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2251
    functionName: load_data
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void load_data(common_info_st *cinfo, gnutls_datum_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/src/certtool.c:2258,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2260,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2261,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2262,1
    - Dst: gnutls_x509_trust_list_add_system_trust
      Src: /src/gnutls/src/certtool.c:2266,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2268,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2269,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2270,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2272,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/src/certtool.c:2275,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2287,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2289,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2290,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2297
    functionName: load_tl
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_add_system_trust
    - app_exit
    - fprintf
    - gnutls_x509_trust_list_add_trust_file
    linkageType: ''
    returnType: gnutls_x509_trust_list_t
    signature: gnutls_x509_trust_list_t load_tl(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/src/certtool.c:2314,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2316,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2317,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2318,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/certtool.c:2324,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2327,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2328,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2329,1
    - Dst: gnutls_x509_crl_list_import2
      Src: /src/gnutls/src/certtool.c:2332,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/src/certtool.c:2340,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2343,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2344,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2345,1
    - Dst: gnutls_x509_trust_list_add_crls
      Src: /src/gnutls/src/certtool.c:2350,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2353,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2354,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2355,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:2361,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2363,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - cert
    - cert_size
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2367
      start: 2302
    functionDepth: 1
    functionLinenumber: 2302
    functionLinenumberEnd: 2367
    functionName: load_tl_from_cert_chain
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_free
    - gnutls_x509_crl_list_import2
    - gnutls_x509_trust_list_init
    - gnutls_x509_trust_list_add_crls
    - gnutls_x509_crt_list_import2
    - gnutls_x509_trust_list_add_cas
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_trust_list_t
    signature: "gnutls_x509_trust_list_t load_tl_from_cert_chain(const char *cert,\n\t\t\t\t\t\t\tint
      cert_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_tl
      Src: /src/gnutls/src/certtool.c:2391,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2393,1
    - Dst: load_tl_from_cert_chain
      Src: /src/gnutls/src/certtool.c:2397,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2399,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/certtool.c:2406,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2409,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2410,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2411,1
    - Dst: GNUTLS_PROFILE_TO_VFLAGS
      Src: /src/gnutls/src/certtool.c:2415,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:2417,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool.c:2427,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool.c:2434,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool.c:2439,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/src/certtool.c:2443,1
    - Dst: gnutls_x509_trust_list_verify_crt
      Src: /src/gnutls/src/certtool.c:2447,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2453,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2454,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2455,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2458,1
    - Dst: print_verification_res
      Src: /src/gnutls/src/certtool.c:2459,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2461,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/src/certtool.c:2463,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:2465,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2466,1
    - Dst: exit
      Src: /src/gnutls/src/certtool.c:2470,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 7
    argNames:
    - cert
    - cert_size
    - cinfo
    - use_system_trust
    - purpose
    - hostname
    - email
    argTypes:
    - void*
    - int
    - common_info_st*
    - unsigned
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2473
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2473
    functionName: _verify_x509_mem
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_free
    - strlen
    - load_tl_from_cert_chain
    - print_verification_res
    - exit
    - load_tl
    - gnutls_x509_trust_list_deinit
    - gnutls_x509_crt_list_import2
    - GNUTLS_PROFILE_TO_VFLAGS
    - gnutls_x509_trust_list_verify_crt
    - gnutls_x509_trust_list_verify_crt2
    - app_exit
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _verify_x509_mem(const void *cert, int cert_size,\n\t\t\t    common_info_st
      *cinfo,\n\t\t\t    unsigned use_system_trust, /* if ca_file == NULL */\n\t\t\t
      \   const char *purpose, const char *hostname,\n\t\t\t    const char *email)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2481,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2483,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/src/certtool.c:2486,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2489,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2489,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2490,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2493,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - out
    - output
    argTypes:
    - FILE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2495
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2495
    functionName: print_verification_res
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 3
    functionsReached:
    - gnutls_certificate_verification_status_print
    - gnutls_strerror
    - gnutls_free
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_verification_res(FILE *out, unsigned int output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2503,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2505,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2508,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2510,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2511,1
    - Dst: _verify_x509_mem
      Src: /src/gnutls/src/certtool.c:2514,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2514,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2515,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2515,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2517
      start: 2497
    functionDepth: 3
    functionLinenumber: 2497
    functionLinenumberEnd: 2517
    functionName: verify_chain
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - free
    - _verify_x509_mem
    - OPT_ARG
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void verify_chain(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2525,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2527,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2528,1
    - Dst: _verify_x509_mem
      Src: /src/gnutls/src/certtool.c:2531,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2531,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2532,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2532,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2533,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2519
    functionDepth: 3
    functionLinenumber: 2519
    functionLinenumberEnd: 2535
    functionName: verify_certificate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - free
    - _verify_x509_mem
    - OPT_ARG
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void verify_certificate(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_ca_cert
      Src: /src/gnutls/src/certtool.c:2547,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2549,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/src/certtool.c:2551,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2553,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2553,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2554,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2557,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/src/certtool.c:2559,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2561,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2561,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2562,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2565,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2569,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2570,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/src/certtool.c:2573,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2574,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2576,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2576,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2577,1
    - Dst: print_crl_info
      Src: /src/gnutls/src/certtool.c:2580,1
    - Dst: gnutls_x509_crl_verify
      Src: /src/gnutls/src/certtool.c:2582,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2584,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2585,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2586,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2589,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2592,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2595,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/gnutls/src/certtool.c:2599,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2602,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2602,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2603,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2606,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2607,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2609,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2612
      start: 2537
    functionDepth: 2
    functionLinenumber: 2537
    functionLinenumberEnd: 2612
    functionName: verify_crl
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 2
    functionsReached:
    - gnutls_certificate_verification_status_print
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crl_verify
    - print_crl_info
    - free
    - gnutls_x509_crt_get_dn3
    - gnutls_x509_crl_init
    - load_ca_cert
    - app_exit
    - fprintf
    - gnutls_x509_crl_import
    - fread_file
    linkageType: ''
    returnType: void
    signature: void verify_crl(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_print_signature_info
      Src: /src/gnutls/src/certtool.c:2620,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2623,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2623,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2624,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2627,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - info
    - cinfo
    argTypes:
    - gnutls_pkcs7_signature_info_st*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2629
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2629
    functionName: print_pkcs7_sig_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs7_print_signature_info
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_pkcs7_sig_info(gnutls_pkcs7_signature_info_st *info,\n\t\t\t\t
      common_info_st *cinfo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/src/certtool.c:2647,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2649,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2649,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2650,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2653,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2657,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2658,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/src/certtool.c:2661,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2662,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2664,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2664,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2665,1
    - Dst: load_cert
      Src: /src/gnutls/src/certtool.c:2669,1
    - Dst: load_tl
      Src: /src/gnutls/src/certtool.c:2671,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2673,1
    - Dst: load_data
      Src: /src/gnutls/src/certtool.c:2678,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool.c:2683,1
    - Dst: gnutls_pkcs7_get_signature_info
      Src: /src/gnutls/src/certtool.c:2689,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2695,1
    - Dst: gnutls_pkcs7_get_embedded_data_oid
      Src: /src/gnutls/src/certtool.c:2696,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2698,1
    - Dst: print_pkcs7_sig_info
      Src: /src/gnutls/src/certtool.c:2700,1
    - Dst: gnutls_pkcs7_get_embedded_data
      Src: /src/gnutls/src/certtool.c:2703,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2706,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2708,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2709,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:2712,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2713,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:2716,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/src/certtool.c:2721,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:2723,1
    - Dst: gnutls_pkcs7_verify_direct
      Src: /src/gnutls/src/certtool.c:2727,1
    - Dst: assert
      Src: /src/gnutls/src/certtool.c:2741,1
    - Dst: gnutls_pkcs7_verify
      Src: /src/gnutls/src/certtool.c:2742,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2748,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2750,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2753,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/src/certtool.c:2758,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:2760,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/src/certtool.c:2762,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:2763,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2764,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 3
    argNames:
    - cinfo
    - purpose
    - display_data
    argTypes:
    - common_info_st*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2765
      start: 2631
    functionDepth: 2
    functionLinenumber: 2631
    functionLinenumberEnd: 2765
    functionName: verify_pkcs7
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - load_cert
    - load_tl
    - gnutls_x509_trust_list_deinit
    - app_exit
    - gnutls_pkcs7_get_embedded_data
    - free
    - print_pkcs7_sig_info
    - gnutls_pkcs7_init
    - gnutls_pkcs7_import
    - fread_file
    - gnutls_pkcs7_signature_info_deinit
    - assert
    - gnutls_x509_crt_deinit
    - strlen
    - load_data
    - gnutls_pkcs7_get_embedded_data_oid
    - gnutls_pkcs7_deinit
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs7_verify_direct
    - fwrite
    - gnutls_pkcs7_get_signature_info
    - gnutls_pkcs7_verify
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void verify_pkcs7(common_info_st *cinfo, const char *purpose,\n\t\t
      \ unsigned display_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:2779,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/certtool.c:2782,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/src/certtool.c:2785,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2787,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2787,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2788,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:2791,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2795,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2796,1
    - Dst: load_cert_list
      Src: /src/gnutls/src/certtool.c:2799,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:2800,1
    - Dst: gnutls_pkcs7_sign
      Src: /src/gnutls/src/certtool.c:2805,1
    - Dst: get_dig
      Src: /src/gnutls/src/certtool.c:2806,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2808,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2808,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2809,1
    - Dst: gnutls_pkcs7_set_crt
      Src: /src/gnutls/src/certtool.c:2813,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2815,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2816,1
    - Dst: exit
      Src: /src/gnutls/src/certtool.c:2817,1
    - Dst: gnutls_pkcs7_export
      Src: /src/gnutls/src/certtool.c:2822,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2824,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2824,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2825,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:2828,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:2830,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:2832,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2834,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/src/certtool.c:2835,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2836,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - cinfo
    - embed
    argTypes:
    - common_info_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2837
      start: 2767
    functionDepth: 3
    functionLinenumber: 2767
    functionLinenumberEnd: 2837
    functionName: pkcs7_sign
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 3
    functionsReached:
    - gnutls_pkcs7_set_crt
    - gnutls_strerror
    - ENABLED_OPT
    - exit
    - gnutls_x509_crt_deinit
    - load_private_key
    - fwrite
    - gnutls_free
    - load_cert_list
    - gnutls_pkcs7_sign
    - get_dig
    - gnutls_pkcs7_export
    - gnutls_pkcs7_init
    - gnutls_privkey_deinit
    - app_exit
    - gnutls_pkcs7_deinit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void pkcs7_sign(common_info_st *cinfo, unsigned embed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_list
      Src: /src/gnutls/src/certtool.c:2849,1
    - Dst: load_crl_list
      Src: /src/gnutls/src/certtool.c:2850,1
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/src/certtool.c:2852,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2854,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2854,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2855,1
    - Dst: gnutls_pkcs7_set_crt
      Src: /src/gnutls/src/certtool.c:2859,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2861,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2862,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2863,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:2865,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2867,1
    - Dst: gnutls_pkcs7_set_crl
      Src: /src/gnutls/src/certtool.c:2870,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2872,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2873,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2874,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/src/certtool.c:2876,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2878,1
    - Dst: gnutls_pkcs7_export2
      Src: /src/gnutls/src/certtool.c:2880,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2882,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2882,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2883,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:2886,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:2887,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/src/certtool.c:2889,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2891
      start: 2839
    functionDepth: 1
    functionLinenumber: 2839
    functionLinenumberEnd: 2891
    functionName: pkcs7_generate
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs7_set_crt
    - gnutls_strerror
    - gnutls_x509_crt_deinit
    - gnutls_free
    - fwrite
    - gnutls_pkcs7_export2
    - load_cert_list
    - gnutls_pkcs7_set_crl
    - gnutls_pkcs7_init
    - app_exit
    - gnutls_pkcs7_deinit
    - load_crl_list
    - gnutls_x509_crl_deinit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pkcs7_generate(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2901,1
    - Dst: load_x509_private_key
      Src: /src/gnutls/src/certtool.c:2903,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool.c:2905,1
    - Dst: cipher_to_flags
      Src: /src/gnutls/src/certtool.c:2907,1
    - Dst: gnutls_x509_privkey_export_pkcs8
      Src: /src/gnutls/src/certtool.c:2910,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2914,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2914,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2915,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:2918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 2919
      start: 2893
    functionDepth: 1
    functionLinenumber: 2893
    functionLinenumberEnd: 2919
    functionName: generate_pkcs8
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - load_x509_private_key
    - gnutls_strerror
    - cipher_to_flags
    - get_password
    - fwrite
    - gnutls_x509_privkey_export_pkcs8
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void generate_pkcs8(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2944,1
    - Dst: load_privkey_list
      Src: /src/gnutls/src/certtool.c:2946,1
    - Dst: load_cert_list
      Src: /src/gnutls/src/certtool.c:2947,1
    - Dst: load_ca_cert
      Src: /src/gnutls/src/certtool.c:2948,1
    - Dst: load_crl_list
      Src: /src/gnutls/src/certtool.c:2950,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2953,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2955,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/certtool.c:2963,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/certtool.c:2964,1
    - Dst: get_pkcs12_key_name
      Src: /src/gnutls/src/certtool.c:2966,1
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/src/certtool.c:2969,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2971,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2971,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2972,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool.c:2975,1
    - Dst: cipher_to_flags
      Src: /src/gnutls/src/certtool.c:2976,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/src/certtool.c:2981,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2983,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2984,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2985,1
    - Dst: assert
      Src: /src/gnutls/src/certtool.c:2988,1
    - Dst: gnutls_pkcs12_bag_set_crt
      Src: /src/gnutls/src/certtool.c:2989,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:2991,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:2992,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:2993,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/src/certtool.c:3000,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3003,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3004,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3005,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/src/certtool.c:3010,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3013,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3014,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3015,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/src/certtool.c:3021,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3023,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3024,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3025,1
    - Dst: gnutls_pkcs12_bag_encrypt
      Src: /src/gnutls/src/certtool.c:3029,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3031,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3032,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3033,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/src/certtool.c:3036,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3038,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3039,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3040,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3042,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/src/certtool.c:3049,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3051,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3052,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3053,1
    - Dst: gnutls_pkcs12_bag_set_crl
      Src: /src/gnutls/src/certtool.c:3056,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3058,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3059,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3060,1
    - Dst: gnutls_pkcs12_bag_encrypt
      Src: /src/gnutls/src/certtool.c:3063,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3065,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3066,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3067,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/src/certtool.c:3070,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3072,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3073,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3074,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3076,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/src/certtool.c:3083,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3085,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3086,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3087,1
    - Dst: gnutls_pkcs12_bag_set_crt
      Src: /src/gnutls/src/certtool.c:3090,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3092,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3093,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3094,1
    - Dst: gnutls_pkcs12_bag_encrypt
      Src: /src/gnutls/src/certtool.c:3097,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3099,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3100,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3101,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/src/certtool.c:3104,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3106,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3107,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3108,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3110,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/src/certtool.c:3116,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3118,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3119,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3120,1
    - Dst: assert
      Src: /src/gnutls/src/certtool.c:3123,1
    - Dst: gnutls_x509_privkey_export_pkcs8
      Src: /src/gnutls/src/certtool.c:3126,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3131,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3132,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3133,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/src/certtool.c:3138,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3142,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3143,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/src/certtool.c:3148,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3150,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3151,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3152,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/src/certtool.c:3156,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3160,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3161,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/src/certtool.c:3167,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3169,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3170,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3171,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/src/certtool.c:3174,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3176,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3177,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3178,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3180,1
    - Dst: gnutls_pkcs12_generate_mac2
      Src: /src/gnutls/src/certtool.c:3183,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3185,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3185,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3186,1
    - Dst: gnutls_pkcs12_export
      Src: /src/gnutls/src/certtool.c:3190,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3192,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3192,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3193,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:3196,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:3198,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3199,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:3200,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/src/certtool.c:3201,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 180
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3202
      start: 2924
    functionDepth: 1
    functionLinenumber: 2924
    functionLinenumberEnd: 3202
    functionName: generate_pkcs12
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - gnutls_pkcs12_export
    - gnutls_pkcs12_generate_mac2
    - gnutls_x509_privkey_export_pkcs8
    - gnutls_pkcs12_bag_set_crt
    - app_exit
    - gnutls_pkcs12_bag_set_crl
    - gnutls_x509_privkey_get_key_id
    - load_privkey_list
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_bag_set_friendly_name
    - get_pkcs12_key_name
    - assert
    - gnutls_x509_crt_deinit
    - get_password
    - load_ca_cert
    - OPT_ARG
    - gnutls_pkcs12_bag_set_key_id
    - load_crl_list
    - gnutls_pkcs12_bag_encrypt
    - gnutls_pkcs12_bag_init
    - gnutls_pkcs12_bag_set_data
    - gnutls_strerror
    - gnutls_free
    - cipher_to_flags
    - fwrite
    - gnutls_pkcs12_set_bag
    - gnutls_x509_crt_get_key_id
    - load_cert_list
    - gnutls_pkcs12_deinit
    - fprintf
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: void
    signature: void generate_pkcs12(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_pkcs12_bag_type_t
    constantsTouched: []
    func_position:
      end: 3224
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3224
    functionName: BAGTYPE
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *BAGTYPE(gnutls_pkcs12_bag_type_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_bag_get_count
      Src: /src/gnutls/src/certtool.c:3234,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3236,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3236,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3237,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3241,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/src/certtool.c:3244,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3246,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3247,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3248,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3252,1
    - Dst: BAGTYPE
      Src: /src/gnutls/src/certtool.c:3252,1
    - Dst: gnutls_pkcs12_bag_get_data
      Src: /src/gnutls/src/certtool.c:3254,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3256,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3257,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3258,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:3262,1
    - Dst: gnutls_pkcs12_bag_get_friendly_name
      Src: /src/gnutls/src/certtool.c:3266,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3269,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3270,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3271,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3275,1
    - Dst: gnutls_pkcs12_bag_get_key_id
      Src: /src/gnutls/src/certtool.c:3279,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3281,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3282,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3283,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3287,1
    - Dst: raw_to_string
      Src: /src/gnutls/src/certtool.c:3288,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/src/certtool.c:3310,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3313,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3315,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3316,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3318,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3319,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - bag
    - outtext
    argTypes:
    - gnutls_pkcs12_bag_t
    - int
    constantsTouched: []
    func_position:
      end: 3322
      start: 3226
    functionDepth: 2
    functionLinenumber: 3226
    functionLinenumberEnd: 3322
    functionName: print_bag_data
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs12_bag_get_friendly_name
    - gnutls_strerror
    - raw_to_string
    - gnutls_pkcs12_bag_get_count
    - gnutls_free
    - pkcs8_info_int
    - gnutls_pkcs12_bag_get_type
    - BAGTYPE
    - gnutls_pkcs12_bag_get_key_id
    - gnutls_pkcs12_bag_get_data
    - gnutls_pem_base64_encode_alloc
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_bag_data(gnutls_pkcs12_bag_t bag, int outtext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_bag_enc_info
      Src: /src/gnutls/src/certtool.c:3338,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3341,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3342,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3347,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3348,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3351,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3353,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/certtool.c:3353,1
    - Dst: gnutls_pkcs_schema_get_name
      Src: /src/gnutls/src/certtool.c:3355,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3357,1
    - Dst: gnutls_pkcs_schema_get_oid
      Src: /src/gnutls/src/certtool.c:3358,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/certtool.c:3363,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3365,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3365,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3366,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3369,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3370,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - bag
    - out
    argTypes:
    - gnutls_pkcs12_bag_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 3372
      start: 3324
    functionDepth: 1
    functionLinenumber: 3324
    functionLinenumberEnd: 3372
    functionName: pkcs12_bag_enc_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs_schema_get_name
    - gnutls_pkcs_schema_get_oid
    - gnutls_cipher_get_name
    - app_exit
    - gnutls_hex_encode
    - gnutls_pkcs12_bag_enc_info
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/src/certtool.c:3391,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3393,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3393,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3394,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:3397,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3401,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3402,1
    - Dst: gnutls_pkcs12_import
      Src: /src/gnutls/src/certtool.c:3405,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3406,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3408,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3408,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3409,1
    - Dst: gnutls_pkcs12_mac_info
      Src: /src/gnutls/src/certtool.c:3413,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3416,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3418,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3422,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3423,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/certtool.c:3424,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/certtool.c:3428,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3430,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3431,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3432,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3435,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3436,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3437,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3439,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool.c:3441,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/src/certtool.c:3443,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3446,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3446,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/src/certtool.c:3450,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3452,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3453,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3454,1
    - Dst: gnutls_pkcs12_get_bag
      Src: /src/gnutls/src/certtool.c:3457,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3459,1
    - Dst: gnutls_pkcs12_bag_get_count
      Src: /src/gnutls/src/certtool.c:3463,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3465,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3466,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3467,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3468,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3472,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/src/certtool.c:3474,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3476,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3477,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3478,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3479,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3484,1
    - Dst: BAGTYPE
      Src: /src/gnutls/src/certtool.c:3485,1
    - Dst: pkcs12_bag_enc_info
      Src: /src/gnutls/src/certtool.c:3486,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3487,1
    - Dst: gnutls_pkcs12_bag_decrypt
      Src: /src/gnutls/src/certtool.c:3490,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3494,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3495,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3496,1
    - Dst: gnutls_pkcs12_bag_get_count
      Src: /src/gnutls/src/certtool.c:3500,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3502,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3503,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3504,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3505,1
    - Dst: print_bag_data
      Src: /src/gnutls/src/certtool.c:3509,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/src/certtool.c:3511,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/src/certtool.c:3514,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3517,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3518,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 99
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3520
      start: 3374
    functionDepth: 3
    functionLinenumber: 3374
    functionLinenumberEnd: 3520
    functionName: pkcs12_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs12_bag_get_type
    - gnutls_pkcs12_verify_mac
    - app_exit
    - gnutls_pkcs12_mac_info
    - print_bag_data
    - free
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_get_bag
    - gnutls_pkcs12_bag_decrypt
    - fread_file
    - get_password
    - gnutls_mac_get_name
    - pkcs12_bag_enc_info
    - gnutls_hex_encode
    - gnutls_pkcs12_bag_init
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs12_bag_get_count
    - gnutls_pkcs12_import
    - gnutls_pkcs12_deinit
    - BAGTYPE
    - fprintf
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: void
    signature: void pkcs12_info(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs8_info
      Src: /src/gnutls/src/certtool.c:3537,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3540,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3541,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3544,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3545,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3552,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3553,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3554,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3557,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3558,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/certtool.c:3558,1
    - Dst: gnutls_pkcs_schema_get_name
      Src: /src/gnutls/src/certtool.c:3560,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3562,1
    - Dst: gnutls_pkcs_schema_get_oid
      Src: /src/gnutls/src/certtool.c:3563,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/certtool.c:3568,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3570,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3570,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3571,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3574,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3575,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3576,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 5
    argNames:
    - data
    - format
    - ignore_err
    - out
    - tab
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - unsigned
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 3580
      start: 3522
    functionDepth: 1
    functionLinenumber: 3522
    functionLinenumberEnd: 3580
    functionName: pkcs8_info_int
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs8_info
    - gnutls_pkcs_schema_get_name
    - gnutls_pkcs_schema_get_oid
    - gnutls_cipher_get_name
    - app_exit
    - gnutls_hex_encode
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs8_info_int(gnutls_datum_t *data, unsigned format, unsigned
      ignore_err,\n\t\t    FILE *out, const char *tab)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:3587,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3591,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3592,1
    - Dst: pkcs8_info_int
      Src: /src/gnutls/src/certtool.c:3595,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3582
    functionDepth: 2
    functionLinenumber: 3582
    functionLinenumberEnd: 3597
    functionName: pkcs8_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 2
    functionsReached:
    - pkcs8_info_int
    - free
    - app_exit
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void pkcs8_info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/src/certtool.c:3606,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3608,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3608,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3609,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:3612,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3616,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3617,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/src/certtool.c:3620,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3621,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3623,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3623,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3624,1
    - Dst: gnutls_pkcs7_get_embedded_data
      Src: /src/gnutls/src/certtool.c:3630,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3633,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3635,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3636,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:3639,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3640,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3642,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3643,1
    - Dst: gnutls_pkcs7_print
      Src: /src/gnutls/src/certtool.c:3647,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3650,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3651,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3652,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3655,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool.c:3656,1
    - Dst: gnutls_pkcs7_export
      Src: /src/gnutls/src/certtool.c:3660,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3663,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3664,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3665,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool.c:3668,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/src/certtool.c:3671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - cinfo
    - display_data
    argTypes:
    - common_info_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3672
      start: 3599
    functionDepth: 1
    functionLinenumber: 3599
    functionLinenumberEnd: 3672
    functionName: pkcs7_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - fwrite
    - free
    - gnutls_pkcs7_print
    - gnutls_pkcs7_import
    - gnutls_pkcs7_export
    - gnutls_pkcs7_init
    - app_exit
    - gnutls_pkcs7_deinit
    - fprintf
    - gnutls_pkcs7_get_embedded_data
    - fread_file
    linkageType: ''
    returnType: void
    signature: void pkcs7_info(common_info_st *cinfo, unsigned display_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/gnutls/src/certtool.c:3682,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3684,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3686,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool.c:3688,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool.c:3688,1
    - Dst: getline
      Src: /src/gnutls/src/certtool.c:3692,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3694,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3696,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool.c:3698,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool.c:3698,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3700,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool.c:3706,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3707,1
    - Dst: getline
      Src: /src/gnutls/src/certtool.c:3708,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3711,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3714
    functionName: smime_to_pkcs7
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - free
    - getline
    - strcmp
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void smime_to_pkcs7(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool.c:3728,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3730,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3730,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3731,1
    - Dst: load_cert
      Src: /src/gnutls/src/certtool.c:3735,1
    - Dst: load_request
      Src: /src/gnutls/src/certtool.c:3739,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/certtool.c:3743,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3745,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3746,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3747,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:3749,1
    - Dst: gnutls_pubkey_import_x509_crq
      Src: /src/gnutls/src/certtool.c:3751,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3753,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3754,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3755,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/src/certtool.c:3757,1
    - Dst: load_private_key
      Src: /src/gnutls/src/certtool.c:3759,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/src/certtool.c:3762,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3765,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3766,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3767,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/certtool.c:3769,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:3771,1
    - Dst: load_pubkey
      Src: /src/gnutls/src/certtool.c:3772,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:3775,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3779,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3782,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool.c:3785,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3787,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3788,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3789,1
    - Dst: memmem
      Src: /src/gnutls/src/certtool.c:3792,1
    - Dst: memmem
      Src: /src/gnutls/src/certtool.c:3794,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/certtool.c:3796,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3798,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3800,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3801,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/certtool.c:3804,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3807,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3809,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3810,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/certtool.c:3813,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3816,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3818,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3819,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:3821,1
    - Dst: gnutls_pubkey_import
      Src: /src/gnutls/src/certtool.c:3823,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3826,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3828,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3829,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3832,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 2
    argNames:
    - crt
    - cinfo
    argTypes:
    - gnutls_x509_crt_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3838
      start: 3719
    functionDepth: 1
    functionLinenumber: 3719
    functionLinenumberEnd: 3838
    functionName: find_pubkey
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 0
    functionsReached:
    - load_private_key
    - load_cert
    - gnutls_x509_crq_deinit
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - app_exit
    - gnutls_pubkey_import
    - memmem
    - gnutls_x509_crt_import
    - free
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - fread_file
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - load_pubkey
    - gnutls_strerror
    - gnutls_pubkey_import_x509_crq
    - load_request
    - fprintf
    linkageType: ''
    returnType: gnutls_pubkey_t
    signature: gnutls_pubkey_t find_pubkey(gnutls_x509_crt_t crt, common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_pubkey
      Src: /src/gnutls/src/certtool.c:3844,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3846,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3847,1
    - Dst: print_pubkey_info
      Src: /src/gnutls/src/certtool.c:3850,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:3852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - crt
    - cinfo
    argTypes:
    - gnutls_x509_crt_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3853
      start: 3840
    functionDepth: 2
    functionLinenumber: 3840
    functionLinenumberEnd: 3853
    functionName: pubkey_info
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 3
    functionsReached:
    - print_pubkey_info
    - gnutls_pubkey_deinit
    - find_pubkey
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pubkey_info(gnutls_x509_crt_t crt, common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_pubkey
      Src: /src/gnutls/src/certtool.c:3865,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3867,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3868,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3878,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3880,1
    - Dst: gnutls_pubkey_get_key_id
      Src: /src/gnutls/src/certtool.c:3884,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3886,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3886,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3887,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/certtool.c:3894,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3896,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3896,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3897,1
    - Dst: fputs
      Src: /src/gnutls/src/certtool.c:3900,1
    - Dst: fputs
      Src: /src/gnutls/src/certtool.c:3901,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool.c:3903,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3905
      start: 3855
    functionDepth: 2
    functionLinenumber: 3855
    functionLinenumberEnd: 3905
    functionName: pubkey_keyid
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_pubkey_get_key_id
    - fputs
    - find_pubkey
    - gnutls_pubkey_deinit
    - app_exit
    - gnutls_hex_encode
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pubkey_keyid(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/gnutls/src/certtool.c:3918,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool.c:3921,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3925,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3927,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/src/certtool.c:3931,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3935,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3937,1
    - Dst: free
      Src: /src/gnutls/src/certtool.c:3940,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3944,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3944,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3945,1
    - Dst: gnutls_x509_crt_get_fingerprint
      Src: /src/gnutls/src/certtool.c:3953,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3955,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3955,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3956,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/src/certtool.c:3963,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool.c:3965,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool.c:3965,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool.c:3966,1
    - Dst: fputs
      Src: /src/gnutls/src/certtool.c:3969,1
    - Dst: fputs
      Src: /src/gnutls/src/certtool.c:3970,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool.c:3972,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 3974
      start: 3907
    functionDepth: 1
    functionLinenumber: 3907
    functionLinenumberEnd: 3974
    functionName: certificate_fpr
    functionSourceFile: /src/gnutls/src/certtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_get_fingerprint
    - gnutls_x509_crt_deinit
    - free
    - load_cert
    - gnutls_x509_crt_list_import
    - fputs
    - app_exit
    - gnutls_hex_encode
    - fprintf
    - fread_file
    linkageType: ''
    returnType: void
    signature: void certificate_fpr(common_info_st *cinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:60,1
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:64,1
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:66,1
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:67,1
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - num
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: print_num
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_num(const char *msg, const gnutls_datum_t *num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:80,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:82,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:108,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:109,1
    - Dst: printf
      Src: /src/gnutls/src/srptool.c:113,1
    - Dst: print_num
      Src: /src/gnutls/src/srptool.c:114,1
    - Dst: print_num
      Src: /src/gnutls/src/srptool.c:115,1
    - Dst: gnutls_srp_base64_encode_alloc
      Src: /src/gnutls/src/srptool.c:117,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:118,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:119,1
    - Dst: gnutls_srp_base64_encode_alloc
      Src: /src/gnutls/src/srptool.c:123,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:124,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:125,1
    - Dst: sprintf
      Src: /src/gnutls/src/srptool.c:129,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/srptool.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/srptool.c:132,1
    - Dst: fwrite
      Src: /src/gnutls/src/srptool.c:134,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:134,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - tpasswd_conf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 140
    functionName: generate_create_conf
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - fopen
    - print_num
    - fclose
    - gnutls_free
    - strlen
    - fwrite
    - gnutls_srp_base64_encode_alloc
    - sprintf
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int generate_create_conf(const char *tpasswd_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:159,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:160,1
    - Dst: strcpy
      Src: /src/gnutls/src/srptool.c:165,1
    - Dst: strchr
      Src: /src/gnutls/src/srptool.c:166,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:172,1
    - Dst: gnutls_srp_base64_decode_alloc
      Src: /src/gnutls/src/srptool.c:174,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:175,1
    - Dst: gnutls_srp_verifier
      Src: /src/gnutls/src/srptool.c:179,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:181,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:185,1
    - Dst: memset
      Src: /src/gnutls/src/srptool.c:189,1
    - Dst: gnutls_srp_base64_encode
      Src: /src/gnutls/src/srptool.c:190,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:191,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:195,1
    - Dst: strncmp
      Src: /src/gnutls/src/srptool.c:197,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:197,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:198,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 6
    argNames:
    - username
    - passwd
    - verifier
    - salt
    - g
    - n
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 204
    functionName: _verify_passwd_int
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - free
    - strncmp
    - gnutls_srp_verifier
    - strchr
    - gnutls_srp_base64_decode_alloc
    - memset
    - gnutls_srp_base64_encode
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _verify_passwd_int(const char *username, const char *passwd,\n\t\t\t
      \     char *verifier, const char *salt,\n\t\t\t      const gnutls_datum_t *g,
      const gnutls_datum_t *n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:212,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:214,1
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:218,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:221,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:227,1
    - Dst: fputs
      Src: /src/gnutls/src/srptool.c:231,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:234,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 238
    functionName: filecopy
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fputs
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int filecopy(const char *src, const char *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:247,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:249,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:253,1
    - Dst: strncmp
      Src: /src/gnutls/src/srptool.c:255,1
    - Dst: strrchr
      Src: /src/gnutls/src/srptool.c:259,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:261,1
    - Dst: atoi
      Src: /src/gnutls/src/srptool.c:262,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - username
    - file
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: find_strchr
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - atoi
    - strrchr
    - strncmp
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int find_strchr(const char *username, const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_strchr
      Src: /src/gnutls/src/srptool.c:283,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:285,1
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:289,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:291,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:296,1
    - Dst: atoi
      Src: /src/gnutls/src/srptool.c:297,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:299,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:302,1
    - Dst: read_conf_values
      Src: /src/gnutls/src/srptool.c:307,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:308,1
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:312,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:314,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:318,1
    - Dst: strncmp
      Src: /src/gnutls/src/srptool.c:320,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:323,1
    - Dst: strchr
      Src: /src/gnutls/src/srptool.c:329,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:331,1
    - Dst: _verify_passwd_int
      Src: /src/gnutls/src/srptool.c:338,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - conffile
    - tpasswd
    - username
    - passwd
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 346
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 346
    functionName: verify_passwd
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - _verify_passwd_int
    - read_conf_values
    - atoi
    - find_strchr
    - strchr
    - strncmp
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: "int verify_passwd(const char *conffile, const char *tpasswd,\n\t\t\t
      const char *username, const char *passwd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/srptool.c:366,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:367,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/srptool.c:367,1
    - Dst: exit
      Src: /src/gnutls/src/srptool.c:368,1
    - Dst: umask
      Src: /src/gnutls/src/srptool.c:371,1
    - Dst: optionProcess
      Src: /src/gnutls/src/srptool.c:373,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/srptool.c:375,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/srptool.c:376,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/srptool.c:378,1
    - Dst: generate_create_conf
      Src: /src/gnutls/src/srptool.c:379,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/srptool.c:379,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/srptool.c:382,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/srptool.c:383,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/srptool.c:387,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/srptool.c:388,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/srptool.c:392,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/srptool.c:393,1
    - Dst: getpwuid
      Src: /src/gnutls/src/srptool.c:396,1
    - Dst: getuid
      Src: /src/gnutls/src/srptool.c:396,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:399,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:405,1
    - Dst: getpass
      Src: /src/gnutls/src/srptool.c:412,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:414,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/srptool.c:419,1
    - Dst: verify_passwd
      Src: /src/gnutls/src/srptool.c:420,1
    - Dst: crypt_int
      Src: /src/gnutls/src/srptool.c:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 425
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 425
    functionName: main
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 4
    functionsReached:
    - gnutls_global_set_log_level
    - exit
    - gnutls_strerror
    - HAVE_OPT
    - getpass
    - crypt_int
    - umask
    - OPT_ARG
    - gnutls_global_init
    - generate_create_conf
    - getpwuid
    - getuid
    - verify_passwd
    - optionProcess
    - fprintf
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/srptool.c:440,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:441,1
    - Dst: gnutls_srp_verifier
      Src: /src/gnutls/src/srptool.c:448,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:450,1
    - Dst: gnutls_srp_base64_encode_alloc
      Src: /src/gnutls/src/srptool.c:455,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:456,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:457,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:461,1
    - Dst: gnutls_srp_base64_encode_alloc
      Src: /src/gnutls/src/srptool.c:463,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:464,1
    - Dst: sprintf
      Src: /src/gnutls/src/srptool.c:468,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:469,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - username
    - passwd
    - salt_size
    - g
    - n
    argTypes:
    - char*
    - char*
    - int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 473
    functionName: _srp_crypt
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_srp_verifier
    - gnutls_rnd
    - gnutls_srp_base64_encode_alloc
    - sprintf
    - fprintf
    linkageType: ''
    returnType: char
    signature: "char *_srp_crypt(const char *username, const char *passwd, int salt_size,\n\t\t\tconst
      gnutls_datum_t *g, const gnutls_datum_t *n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:486,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:488,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:493,1
    - Dst: atoi
      Src: /src/gnutls/src/srptool.c:494,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:495,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:498,1
    - Dst: read_conf_values
      Src: /src/gnutls/src/srptool.c:503,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:504,1
    - Dst: _srp_crypt
      Src: /src/gnutls/src/srptool.c:508,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:510,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:518,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:519,1
    - Dst: snprintf
      Src: /src/gnutls/src/srptool.c:523,1
    - Dst: stat
      Src: /src/gnutls/src/srptool.c:525,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:526,1
    - Dst: filecopy
      Src: /src/gnutls/src/srptool.c:530,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:531,1
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:536,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:538,1
    - Dst: remove
      Src: /src/gnutls/src/srptool.c:540,1
    - Dst: fopen
      Src: /src/gnutls/src/srptool.c:544,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:546,1
    - Dst: remove
      Src: /src/gnutls/src/srptool.c:547,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:548,1
    - Dst: fgets
      Src: /src/gnutls/src/srptool.c:554,1
    - Dst: strchr
      Src: /src/gnutls/src/srptool.c:558,1
    - Dst: strncmp
      Src: /src/gnutls/src/srptool.c:562,1
    - Dst: MAX
      Src: /src/gnutls/src/srptool.c:563,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:563,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:566,1
    - Dst: fputs
      Src: /src/gnutls/src/srptool.c:568,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:573,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:576,1
    - Dst: fclose
      Src: /src/gnutls/src/srptool.c:577,1
    - Dst: remove
      Src: /src/gnutls/src/srptool.c:579,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 6
    argNames:
    - username
    - passwd
    - salt_size
    - tpasswd_conf
    - tpasswd
    - uindex
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 583
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 583
    functionName: crypt_int
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 1
    functionsReached:
    - fopen
    - filecopy
    - fclose
    - remove
    - strlen
    - fputs
    - read_conf_values
    - snprintf
    - atoi
    - MAX
    - strchr
    - stat
    - strncmp
    - _srp_crypt
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: "int crypt_int(const char *username, const char *passwd, int salt_size,\n\t
      \     const char *tpasswd_conf, const char *tpasswd, int uindex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnutls/src/srptool.c:595,1
    - Dst: strrchr
      Src: /src/gnutls/src/srptool.c:597,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:606,1
    - Dst: gnutls_srp_base64_decode_alloc
      Src: /src/gnutls/src/srptool.c:612,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:615,1
    - Dst: strrchr
      Src: /src/gnutls/src/srptool.c:620,1
    - Dst: strlen
      Src: /src/gnutls/src/srptool.c:629,1
    - Dst: gnutls_srp_base64_decode_alloc
      Src: /src/gnutls/src/srptool.c:631,1
    - Dst: fprintf
      Src: /src/gnutls/src/srptool.c:634,1
    - Dst: free
      Src: /src/gnutls/src/srptool.c:635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - g
    - n
    - str
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 640
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 640
    functionName: read_conf_values
    functionSourceFile: /src/gnutls/src/srptool.c
    functionUses: 2
    functionsReached:
    - strlen
    - free
    - atoi
    - gnutls_srp_base64_decode_alloc
    - strrchr
    - fprintf
    linkageType: ''
    returnType: int
    signature: int read_conf_values(gnutls_datum_t *g, gnutls_datum_t *n, char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/systemkey.c:65,1
    - Dst: exit
      Src: /src/gnutls/src/systemkey.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 64
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/systemkey.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 4
    functionsReached:
    - cmd_parser
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/systemkey.c:87,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/systemkey.c:89,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/systemkey.c:91,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/systemkey.c:92,1
    - Dst: printf
      Src: /src/gnutls/src/systemkey.c:93,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/systemkey.c:96,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/systemkey.c:104,1
    - Dst: safe_open_rw
      Src: /src/gnutls/src/systemkey.c:105,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/systemkey.c:105,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:107,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/systemkey.c:107,1
    - Dst: app_exit
      Src: /src/gnutls/src/systemkey.c:108,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/systemkey.c:110,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/systemkey.c:114,1
    - Dst: systemkey_delete
      Src: /src/gnutls/src/systemkey.c:115,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/systemkey.c:115,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/systemkey.c:116,1
    - Dst: systemkey_list
      Src: /src/gnutls/src/systemkey.c:117,1
    - Dst: USAGE
      Src: /src/gnutls/src/systemkey.c:119,1
    - Dst: fclose
      Src: /src/gnutls/src/systemkey.c:122,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/systemkey.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 125
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 125
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 5
    functionsReached:
    - HAVE_OPT
    - fclose
    - safe_open_rw
    - systemkey_delete
    - gnutls_global_deinit
    - systemkey_list
    - USAGE
    - OPT_ARG
    - app_exit
    - printf
    - optionProcess
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_system_key_delete
      Src: /src/gnutls/src/systemkey.c:131,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:133,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/systemkey.c:134,1
    - Dst: app_exit
      Src: /src/gnutls/src/systemkey.c:135,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - url
    - out
    argTypes:
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: systemkey_delete
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 1
    functionsReached:
    - app_exit
    - gnutls_strerror
    - fprintf
    - gnutls_system_key_delete
    linkageType: ''
    returnType: void
    signature: void systemkey_delete(const char *url, FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_system_key_iter_get_info
      Src: /src/gnutls/src/systemkey.c:148,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:152,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:159,1
    - Dst: fprintf
      Src: /src/gnutls/src/systemkey.c:162,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/systemkey.c:162,1
    - Dst: app_exit
      Src: /src/gnutls/src/systemkey.c:164,1
    - Dst: gnutls_system_key_iter_deinit
      Src: /src/gnutls/src/systemkey.c:166,1
    - Dst: fputs
      Src: /src/gnutls/src/systemkey.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: systemkey_list
    functionSourceFile: /src/gnutls/src/systemkey.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_system_key_iter_deinit
    - fputs
    - app_exit
    - fprintf
    - gnutls_system_key_iter_get_info
    linkageType: ''
    returnType: void
    signature: void systemkey_list(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:90,1
    - Dst: pkcs11_list
      Src: /src/gnutls/src/pkcs11.c:93,1
    - Dst: read_yesno
      Src: /src/gnutls/src/pkcs11.c:95,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:99,1
    - Dst: gnutls_pkcs11_delete_url
      Src: /src/gnutls/src/pkcs11.c:103,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:105,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:106,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:107,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - outfile
    - url
    - login_flags
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: pkcs11_delete
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - read_yesno
    - gnutls_pkcs11_delete_url
    - pkcs11_common
    - pkcs11_list
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_delete(FILE *outfile, const char *url, unsigned int login_flags,\n\t\t
      \  common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/pkcs11.c:134,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/src/pkcs11.c:138,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/src/pkcs11.c:141,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/pkcs11.c:146,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:150,1
    - Dst: gnutls_x509_crt_get_pk_ecc_raw
      Src: /src/gnutls/src/pkcs11.c:153,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:155,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/pkcs11.c:156,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/src/pkcs11.c:162,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/pkcs11.c:164,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:167,1
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/src/pkcs11.c:171,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/src/pkcs11.c:174,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/pkcs11.c:179,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:183,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/src/pkcs11.c:186,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:188,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/pkcs11.c:189,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:194,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/pkcs11.c:197,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/pkcs11.c:201,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/src/pkcs11.c:204,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/pkcs11.c:209,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:213,1
    - Dst: gnutls_privkey_export_ecc_raw
      Src: /src/gnutls/src/pkcs11.c:216,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:219,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/pkcs11.c:220,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:225,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/pkcs11.c:230,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:232,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:234,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    argCount: 4
    argNames:
    - otype
    - objurl
    - flags
    - exp
    argTypes:
    - gnutls_pkcs11_obj_type_t
    - char*
    - unsigned
    - time_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 237
    functionName: get_key_algo_type
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 0
    functionsReached:
    - snprintf
    - gnutls_x509_crt_get_pk_ecc_raw
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_pubkey_import_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_import_url
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pk_get_name
    - gnutls_pubkey_export_ecc_raw
    - gnutls_privkey_get_pk_algorithm
    - gnutls_x509_crt_import_url
    - gnutls_privkey_export_ecc_raw
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: char
    signature: "char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype,\n\t\t\t\t
      \    const char *objurl, unsigned flags,\n\t\t\t\t     time_t *exp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:254,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:256,1
    - Dst: gnutls_pkcs11_token_get_flags
      Src: /src/gnutls/src/pkcs11.c:258,1
    - Dst: gnutls_pkcs11_obj_list_import_url2
      Src: /src/gnutls/src/pkcs11.c:282,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:285,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:286,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:287,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:291,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:292,1
    - Dst: gnutls_pkcs11_obj_export_url
      Src: /src/gnutls/src/pkcs11.c:304,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:307,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:308,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:309,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:313,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:314,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:317,1
    - Dst: strrchr
      Src: /src/gnutls/src/pkcs11.c:321,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/pkcs11.c:323,1
    - Dst: strlen
      Src: /src/gnutls/src/pkcs11.c:323,1
    - Dst: strlen
      Src: /src/gnutls/src/pkcs11.c:323,1
    - Dst: strcpy
      Src: /src/gnutls/src/pkcs11.c:325,1
    - Dst: strcat
      Src: /src/gnutls/src/pkcs11.c:326,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/pkcs11.c:328,1
    - Dst: gnutls_pkcs11_obj_get_type
      Src: /src/gnutls/src/pkcs11.c:332,1
    - Dst: get_key_algo_type
      Src: /src/gnutls/src/pkcs11.c:336,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:340,1
    - Dst: gnutls_pkcs11_type_get_name
      Src: /src/gnutls/src/pkcs11.c:341,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:343,1
    - Dst: gnutls_pkcs11_type_get_name
      Src: /src/gnutls/src/pkcs11.c:344,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:348,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/pkcs11.c:349,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:352,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:353,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/src/pkcs11.c:356,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:359,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:360,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:361,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:363,1
    - Dst: gnutls_pkcs11_obj_get_flags
      Src: /src/gnutls/src/pkcs11.c:366,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:368,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:369,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:370,1
    - Dst: gnutls_pkcs11_obj_flags_get_str
      Src: /src/gnutls/src/pkcs11.c:372,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:374,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:375,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/src/pkcs11.c:379,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:383,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:385,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:387,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:388,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:391,1
    - Dst: gnutls_pkcs11_obj_get_exts
      Src: /src/gnutls/src/pkcs11.c:395,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:401,1
    - Dst: gnutls_x509_ext_print
      Src: /src/gnutls/src/pkcs11.c:403,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:406,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:408,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:411,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:414,1
    - Dst: gnutls_x509_ext_deinit
      Src: /src/gnutls/src/pkcs11.c:422,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:424,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:425,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:429,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:430,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:432,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 129
    argCount: 6
    argNames:
    - outfile
    - url
    - type
    - flags
    - detailed
    - info
    argTypes:
    - FILE*
    - char*
    - int
    - unsigned int
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 436
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 436
    functionName: pkcs11_list
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_ext_deinit
    - gnutls_malloc
    - strcat
    - gnutls_pkcs11_obj_get_flags
    - FIX
    - app_exit
    - get_key_algo_type
    - gnutls_pkcs11_obj_list_import_url2
    - gnutls_x509_ext_print
    - gnutls_pkcs11_obj_deinit
    - strcpy
    - gnutls_pkcs11_obj_export_url
    - strrchr
    - simple_ctime
    - gnutls_pkcs11_obj_flags_get_str
    - gnutls_pkcs11_obj_get_info
    - strlen
    - gnutls_pkcs11_token_get_flags
    - pkcs11_common
    - gnutls_pkcs11_obj_get_type
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_type_get_name
    - gnutls_strdup
    - fprintf
    - gnutls_pkcs11_obj_get_exts
    linkageType: ''
    returnType: void
    signature: "void pkcs11_list(FILE *outfile, const char *url, int type, unsigned
      int flags,\n\t\t unsigned int detailed, common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:451,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:453,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/pkcs11.c:458,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:460,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:461,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:462,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:465,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:467,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:468,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:469,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/pkcs11.c:472,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:474,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:475,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:476,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/src/pkcs11.c:479,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:482,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:483,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:484,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/src/pkcs11.c:487,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/src/pkcs11.c:497,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:499,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/pkcs11.c:501,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/pkcs11.c:501,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:502,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:505,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/src/pkcs11.c:505,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/src/pkcs11.c:507,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:509,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:509,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:514,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:515,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:518,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:520,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/src/pkcs11.c:521,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:523,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:524,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:525,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:528,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:531,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:532,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:534,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:535,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:536,1
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/src/pkcs11.c:539,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:541,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:543,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:545,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:546,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:549,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/src/pkcs11.c:550,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:552,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:553,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:554,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:557,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:559,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:560,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:561,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 4
    argNames:
    - outfile
    - url
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 563
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 563
    functionName: pkcs11_test_sign
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_sign_get_name
    - gnutls_pubkey_import_privkey
    - gnutls_digest_get_name
    - gnutls_privkey_deinit
    - FIX
    - app_exit
    - gnutls_privkey_init
    - gnutls_pubkey_verify_data2
    - gnutls_pk_to_sign
    - gnutls_pubkey_import_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_import_url
    - gnutls_privkey_sign_data2
    - pkcs11_common
    - gnutls_pk_get_name
    - gnutls_strerror
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_test_sign(FILE *outfile, const char *url, unsigned int
      flags,\n\t\t      common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:573,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:575,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/src/pkcs11.c:577,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:579,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:580,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:581,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/src/pkcs11.c:584,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:586,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:587,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:588,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/src/pkcs11.c:591,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:593,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:594,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:595,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:598,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:599,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:602,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - outfile
    - url
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 608
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 608
    functionName: pkcs11_export
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_export3
    - fwrite
    - fputs
    - pkcs11_common
    - FIX
    - app_exit
    - gnutls_pkcs11_obj_import_url
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_export(FILE *outfile, const char *url, unsigned int flags,\n\t\t
      \  common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:619,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:621,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/src/pkcs11.c:623,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:625,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:626,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:627,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/src/pkcs11.c:630,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:632,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:633,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:634,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/pkcs11.c:638,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:640,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:641,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:642,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/src/pkcs11.c:645,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:647,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:648,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:649,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/src/pkcs11.c:652,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:654,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:655,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:656,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:658,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:659,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:660,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:662,1
    - Dst: gnutls_pkcs11_get_raw_issuer
      Src: /src/gnutls/src/pkcs11.c:665,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:670,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:671,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:672,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:675,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:676,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/pkcs11.c:678,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/pkcs11.c:680,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:682,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:683,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:684,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/pkcs11.c:687,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:689,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:690,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:691,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:694,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/src/pkcs11.c:696,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - outfile
    - url
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 706
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 706
    functionName: pkcs11_export_chain
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_obj_export3
    - fwrite
    - gnutls_x509_crt_deinit
    - fputs
    - gnutls_pkcs11_get_raw_issuer
    - gnutls_x509_crt_import
    - gnutls_x509_crt_check_issuer
    - pkcs11_common
    - FIX
    - app_exit
    - gnutls_pkcs11_obj_import_url
    - fprintf
    - gnutls_x509_crt_import_pkcs11
    linkageType: ''
    returnType: void
    signature: "void pkcs11_export_chain(FILE *outfile, const char *url, unsigned
      int flags,\n\t\t\t common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:715,1
    - Dst: gnutls_pkcs11_token_get_url
      Src: /src/gnutls/src/pkcs11.c:717,1
    - Dst: gnutls_pkcs11_token_get_url
      Src: /src/gnutls/src/pkcs11.c:721,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:723,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: get_single_token_url
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pkcs11_token_get_url
    - pkcs11_common
    linkageType: ''
    returnType: char
    signature: char *get_single_token_url(common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:735,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:737,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:743,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:744,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:749,1
    - Dst: fputc
      Src: /src/gnutls/src/pkcs11.c:750,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:753,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:755,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:761,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:762,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:768,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:769,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:775,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:776,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:782,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:783,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:789,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:790,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:796,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:797,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:803,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:804,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:810,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:811,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:817,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:818,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:824,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:825,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:831,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:832,1
    - Dst: fputs
      Src: /src/gnutls/src/pkcs11.c:837,1
    - Dst: fputc
      Src: /src/gnutls/src/pkcs11.c:838,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 2
    argNames:
    - outfile
    - flags
    argTypes:
    - FILE*
    - unsigned
    constantsTouched: []
    func_position:
      end: 839
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 839
    functionName: print_type
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - fputc
    - fputs
    linkageType: ''
    returnType: void
    signature: void print_type(FILE *outfile, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:851,1
    - Dst: gnutls_pkcs11_token_get_url
      Src: /src/gnutls/src/pkcs11.c:854,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:859,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:860,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:861,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:865,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:868,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/src/pkcs11.c:872,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:875,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:876,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:877,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:880,1
    - Dst: gnutls_pkcs11_token_get_flags
      Src: /src/gnutls/src/pkcs11.c:882,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:884,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:885,1
    - Dst: print_type
      Src: /src/gnutls/src/pkcs11.c:887,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/src/pkcs11.c:891,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:894,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:895,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:896,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:899,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/src/pkcs11.c:902,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:905,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:906,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:907,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:910,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/src/pkcs11.c:913,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:916,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:917,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:918,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:921,1
    - Dst: gnutls_pkcs11_token_get_info
      Src: /src/gnutls/src/pkcs11.c:924,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:927,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:929,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:931,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 4
    argNames:
    - outfile
    - detailed
    - info
    - brief
    argTypes:
    - FILE*
    - unsigned int
    - common_info_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 935
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 935
    functionName: pkcs11_token_list
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_pkcs11_token_get_info
    - gnutls_pkcs11_token_get_url
    - gnutls_free
    - gnutls_pkcs11_token_get_flags
    - pkcs11_common
    - print_type
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_token_list(FILE *outfile, unsigned int detailed,\n\t\t
      \      common_info_st *info, unsigned brief)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:951,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:953,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:954,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/pkcs11.c:957,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:959,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:961,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/src/pkcs11.c:965,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:966,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:968,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/src/pkcs11.c:972,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:976,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:977,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:978,1
    - Dst: gnutls_pkcs11_obj_get_type
      Src: /src/gnutls/src/pkcs11.c:987,1
    - Dst: gnutls_pkcs11_obj_export_url
      Src: /src/gnutls/src/pkcs11.c:991,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:993,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:994,1
    - Dst: gnutls_pkcs11_obj_export2
      Src: /src/gnutls/src/pkcs11.c:998,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1000,1
    - Dst: memcmp
      Src: /src/gnutls/src/pkcs11.c:1006,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/src/pkcs11.c:1010,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1013,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1015,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1016,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/pkcs11.c:1019,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1022,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1023,1
    - Dst: memcpy
      Src: /src/gnutls/src/pkcs11.c:1026,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:1032,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1033,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1035,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 4
    argNames:
    - url
    - crt
    - cid
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1039
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 1039
    functionName: find_same_pubkey_with_id
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_export2
    - gnutls_pkcs11_obj_list_import_url4
    - memcmp
    - gnutls_pubkey_import_x509
    - gnutls_pkcs11_obj_export_url
    - gnutls_malloc
    - memcpy
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - app_exit
    - gnutls_pubkey_export2
    - gnutls_pkcs11_obj_get_type
    - fprintf
    - gnutls_pkcs11_obj_get_info
    linkageType: ''
    returnType: void
    signature: "void find_same_pubkey_with_id(const char *url, gnutls_x509_crt_t crt,\n\t\t\t\t
      \    gnutls_datum_t *cid, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:1056,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1058,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1059,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/src/pkcs11.c:1062,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1064,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1066,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/src/pkcs11.c:1070,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1071,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1073,1
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/src/pkcs11.c:1077,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1081,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1082,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1083,1
    - Dst: gnutls_pkcs11_obj_get_type
      Src: /src/gnutls/src/pkcs11.c:1094,1
    - Dst: gnutls_pkcs11_obj_export_url
      Src: /src/gnutls/src/pkcs11.c:1098,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1100,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1101,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/pkcs11.c:1105,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1107,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1108,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/pkcs11.c:1111,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1113,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1114,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/src/pkcs11.c:1118,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/pkcs11.c:1124,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1126,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1127,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/src/pkcs11.c:1130,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1132,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1134,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/src/pkcs11.c:1138,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1141,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1143,1
    - Dst: memcmp
      Src: /src/gnutls/src/pkcs11.c:1148,1
    - Dst: gnutls_pkcs11_obj_get_info
      Src: /src/gnutls/src/pkcs11.c:1152,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1157,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1158,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/pkcs11.c:1161,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1164,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1165,1
    - Dst: memcpy
      Src: /src/gnutls/src/pkcs11.c:1168,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1175,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1177,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:1178,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1179,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1181,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 4
    argNames:
    - url
    - crt
    - cid
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1184
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1184
    functionName: find_same_privkey_with_id
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_malloc
    - gnutls_pubkey_import_privkey
    - gnutls_pubkey_import_x509
    - gnutls_privkey_deinit
    - app_exit
    - gnutls_privkey_init
    - gnutls_pkcs11_obj_deinit
    - memcmp
    - gnutls_pkcs11_obj_export_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_export2
    - gnutls_pkcs11_obj_get_info
    - gnutls_privkey_import_url
    - gnutls_pkcs11_obj_list_import_url4
    - gnutls_pkcs11_obj_get_type
    - gnutls_strerror
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - memcpy
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void find_same_privkey_with_id(const char *url, gnutls_x509_crt_t
      crt,\n\t\t\t\t      gnutls_datum_t *cid, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1199,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1201,1
    - Dst: CHECK_LOGIN_FLAG
      Src: /src/gnutls/src/pkcs11.c:1203,1
    - Dst: read_str
      Src: /src/gnutls/src/pkcs11.c:1205,1
    - Dst: gnutls_hex2bin
      Src: /src/gnutls/src/pkcs11.c:1211,1
    - Dst: strlen
      Src: /src/gnutls/src/pkcs11.c:1211,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1214,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1215,1
    - Dst: load_secret_key
      Src: /src/gnutls/src/pkcs11.c:1221,1
    - Dst: gnutls_pkcs11_copy_secret_key
      Src: /src/gnutls/src/pkcs11.c:1223,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1228,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1229,1
    - Dst: load_cert
      Src: /src/gnutls/src/pkcs11.c:1233,1
    - Dst: find_same_pubkey_with_id
      Src: /src/gnutls/src/pkcs11.c:1244,1
    - Dst: KEEP_LOGIN_FLAGS
      Src: /src/gnutls/src/pkcs11.c:1246,1
    - Dst: find_same_pubkey_with_id
      Src: /src/gnutls/src/pkcs11.c:1247,1
    - Dst: KEEP_LOGIN_FLAGS
      Src: /src/gnutls/src/pkcs11.c:1249,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/pkcs11.c:1252,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1254,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1256,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1257,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1259,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1262,1
    - Dst: find_same_privkey_with_id
      Src: /src/gnutls/src/pkcs11.c:1265,1
    - Dst: KEEP_LOGIN_FLAGS
      Src: /src/gnutls/src/pkcs11.c:1267,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/pkcs11.c:1269,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1271,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1273,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1274,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1276,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1279,1
    - Dst: gnutls_pkcs11_copy_x509_crt2
      Src: /src/gnutls/src/pkcs11.c:1284,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1287,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1288,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1292,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1294,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/src/pkcs11.c:1297,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/pkcs11.c:1298,1
    - Dst: load_x509_private_key
      Src: /src/gnutls/src/pkcs11.c:1301,1
    - Dst: gnutls_pkcs11_copy_x509_privkey2
      Src: /src/gnutls/src/pkcs11.c:1303,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1307,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1308,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1309,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1311,1
    - Dst: load_pubkey
      Src: /src/gnutls/src/pkcs11.c:1314,1
    - Dst: gnutls_pkcs11_copy_pubkey
      Src: /src/gnutls/src/pkcs11.c:1316,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1319,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1320,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1321,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1323,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1328,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1330,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 6
    argNames:
    - outfile
    - url
    - label
    - id
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - char*
    - char*
    - unsigned
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1335
    functionName: pkcs11_write
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_copy_secret_key
    - load_cert
    - gnutls_hex2bin
    - FIX
    - app_exit
    - gnutls_x509_privkey_deinit
    - gnutls_hex_encode2
    - gnutls_pkcs11_copy_pubkey
    - gnutls_pubkey_deinit
    - gnutls_pkcs11_copy_x509_crt2
    - gnutls_x509_crt_get_key_usage
    - KEEP_LOGIN_FLAGS
    - gnutls_x509_crt_deinit
    - strlen
    - CHECK_LOGIN_FLAG
    - load_secret_key
    - pkcs11_common
    - load_pubkey
    - read_str
    - find_same_pubkey_with_id
    - load_x509_private_key
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_copy_x509_privkey2
    - find_same_privkey_with_id
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_write(FILE *outfile, const char *url, const char *label,\n\t\t
      \ const char *id, unsigned flags, common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1347,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1349,1
    - Dst: CHECK_LOGIN_FLAG
      Src: /src/gnutls/src/pkcs11.c:1351,1
    - Dst: gnutls_hex2bin
      Src: /src/gnutls/src/pkcs11.c:1355,1
    - Dst: strlen
      Src: /src/gnutls/src/pkcs11.c:1355,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1357,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1358,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1359,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1366,1
    - Dst: read_str
      Src: /src/gnutls/src/pkcs11.c:1371,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1374,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/src/pkcs11.c:1374,1
    - Dst: gnutls_pkcs11_privkey_generate3
      Src: /src/gnutls/src/pkcs11.c:1376,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1380,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1381,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1383,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1385,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:1388,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 9
    argNames:
    - outfile
    - url
    - pk
    - bits
    - label
    - id
    - detailed
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - char*
    - int
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1393
    functionName: pkcs11_generate
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - strlen
    - CHECK_LOGIN_FLAG
    - fwrite
    - pkcs11_common
    - gnutls_pk_get_name
    - gnutls_hex2bin
    - FIX
    - app_exit
    - read_str
    - fprintf
    - gnutls_pkcs11_privkey_generate3
    linkageType: ''
    returnType: void
    signature: "void pkcs11_generate(FILE *outfile, const char *url, gnutls_pk_algorithm_t
      pk,\n\t\t     unsigned int bits, const char *label, const char *id,\n\t\t     int
      detailed, unsigned int flags, common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1402,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1404,1
    - Dst: CHECK_LOGIN_FLAG
      Src: /src/gnutls/src/pkcs11.c:1406,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1409,1
    - Dst: sleep
      Src: /src/gnutls/src/pkcs11.c:1411,1
    - Dst: gnutls_pkcs11_privkey_init
      Src: /src/gnutls/src/pkcs11.c:1414,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1416,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1417,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1418,1
    - Dst: gnutls_pkcs11_privkey_import_url
      Src: /src/gnutls/src/pkcs11.c:1421,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1423,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1424,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1425,1
    - Dst: gnutls_pkcs11_privkey_export_pubkey
      Src: /src/gnutls/src/pkcs11.c:1428,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1431,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1432,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1433,1
    - Dst: gnutls_pkcs11_privkey_deinit
      Src: /src/gnutls/src/pkcs11.c:1435,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:1437,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/pkcs11.c:1438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - outfile
    - url
    - detailed
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - int
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1442
    functionName: pkcs11_export_pubkey
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_pkcs11_privkey_deinit
    - CHECK_LOGIN_FLAG
    - gnutls_pkcs11_privkey_import_url
    - fwrite
    - pkcs11_common
    - sleep
    - gnutls_pkcs11_privkey_export_pubkey
    - gnutls_pkcs11_privkey_init
    - FIX
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_export_pubkey(FILE *outfile, const char *url, int detailed,\n\t\t\t
      \ unsigned int flags, common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1450,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1453,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1454,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1458,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1460,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:1464,1
    - Dst: getenv_copy
      Src: /src/gnutls/src/pkcs11.c:1466,1
    - Dst: getpass_copy
      Src: /src/gnutls/src/pkcs11.c:1468,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1471,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1475,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1477,1
    - Dst: gnutls_pkcs11_token_init
      Src: /src/gnutls/src/pkcs11.c:1478,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1480,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1481,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1482,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1484,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1486,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - outfile
    - url
    - label
    - info
    argTypes:
    - FILE*
    - char*
    - char*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1490
    functionName: pkcs11_init
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 23
    functionsReached:
    - gnutls_pkcs11_token_init
    - gnutls_strerror
    - snprintf
    - pkcs11_common
    - getenv_copy
    - app_exit
    - getpass_copy
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_init(FILE *outfile, const char *url, const char *label,\n\t\t
      common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1498,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1501,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1502,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1506,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1508,1
    - Dst: getenv_copy
      Src: /src/gnutls/src/pkcs11.c:1511,1
    - Dst: getpass_copy
      Src: /src/gnutls/src/pkcs11.c:1513,1
    - Dst: snprintf
      Src: /src/gnutls/src/pkcs11.c:1518,1
    - Dst: getenv_copy
      Src: /src/gnutls/src/pkcs11.c:1520,1
    - Dst: getpass_copy
      Src: /src/gnutls/src/pkcs11.c:1522,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1528,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1529,1
    - Dst: gnutls_pkcs11_token_set_pin
      Src: /src/gnutls/src/pkcs11.c:1532,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1535,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1536,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - outfile
    - url
    - info
    - so
    argTypes:
    - FILE*
    - char*
    - common_info_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1541
      start: 1492
    functionDepth: 2
    functionLinenumber: 1492
    functionLinenumberEnd: 1541
    functionName: pkcs11_set_token_pin
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_pkcs11_token_set_pin
    - snprintf
    - pkcs11_common
    - getenv_copy
    - app_exit
    - getpass_copy
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_set_token_pin(FILE *outfile, const char *url, common_info_st
      *info,\n\t\t\t  unsigned so)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1554,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1556,1
    - Dst: gnutls_pkcs11_token_get_mechanism
      Src: /src/gnutls/src/pkcs11.c:1560,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1569,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/src/pkcs11.c:1571,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1575,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1580,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1582,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1584,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1586,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1588,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1590,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1592,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1594,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1596,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1598,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1600,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1602,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1604,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1607,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1611,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1615,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1619,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1623,1
    - Dst: printf
      Src: /src/gnutls/src/pkcs11.c:1627,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1630,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 4
    argNames:
    - outfile
    - url
    - flags
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1635
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1635
    functionName: pkcs11_mechanism_list
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_token_check_mechanism
    - pkcs11_common
    - gnutls_pkcs11_token_get_mechanism
    - FIX
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_mechanism_list(FILE *outfile, const char *url, unsigned
      int flags,\n\t\t\t   common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1643,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1645,1
    - Dst: malloc
      Src: /src/gnutls/src/pkcs11.c:1647,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1649,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1650,1
    - Dst: gnutls_pkcs11_token_get_random
      Src: /src/gnutls/src/pkcs11.c:1653,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1655,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1656,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1657,1
    - Dst: fwrite
      Src: /src/gnutls/src/pkcs11.c:1660,1
    - Dst: free
      Src: /src/gnutls/src/pkcs11.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - outfile
    - url
    - bytes
    - info
    argTypes:
    - FILE*
    - char*
    - unsigned
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1664
    functionName: pkcs11_get_random
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_pkcs11_token_get_random
    - fwrite
    - free
    - pkcs11_common
    - FIX
    - app_exit
    - malloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_get_random(FILE *outfile, const char *url, unsigned bytes,\n\t\t
      \      common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/pkcs11.c:1673,1
    - Dst: FIX
      Src: /src/gnutls/src/pkcs11.c:1675,1
    - Dst: CHECK_LOGIN_FLAG
      Src: /src/gnutls/src/pkcs11.c:1677,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/src/pkcs11.c:1679,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1681,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1682,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1683,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/src/pkcs11.c:1686,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1688,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1689,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1690,1
    - Dst: gnutls_pkcs11_obj_set_info
      Src: /src/gnutls/src/pkcs11.c:1693,1
    - Dst: strlen
      Src: /src/gnutls/src/pkcs11.c:1693,1
    - Dst: fprintf
      Src: /src/gnutls/src/pkcs11.c:1696,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/pkcs11.c:1697,1
    - Dst: app_exit
      Src: /src/gnutls/src/pkcs11.c:1698,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/src/pkcs11.c:1700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 7
    argNames:
    - outfile
    - url
    - detailed
    - flags
    - info
    - val_type
    - val
    argTypes:
    - FILE*
    - char*
    - int
    - unsigned int
    - common_info_st*
    - gnutls_pkcs11_obj_info_t
    - char*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1666
    functionDepth: 2
    functionLinenumber: 1666
    functionLinenumberEnd: 1703
    functionName: pkcs11_set_val
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_strerror
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_set_info
    - CHECK_LOGIN_FLAG
    - strlen
    - pkcs11_common
    - FIX
    - app_exit
    - gnutls_pkcs11_obj_import_url
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void pkcs11_set_val(FILE *outfile, const char *url, int detailed,\n\t\t\t
      \  unsigned int flags, common_info_st *info,\n\t\t\t   gnutls_pkcs11_obj_info_t
      val_type, const char *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_set_val
      Src: /src/gnutls/src/pkcs11.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - outfile
    - url
    - detailed
    - flags
    - info
    - id
    argTypes:
    - FILE*
    - char*
    - int
    - unsigned int
    - common_info_st*
    - char*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1705
    functionDepth: 3
    functionLinenumber: 1705
    functionLinenumberEnd: 1710
    functionName: pkcs11_set_id
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - pkcs11_set_val
    linkageType: ''
    returnType: void
    signature: "void pkcs11_set_id(FILE *outfile, const char *url, int detailed,\n\t\t
      \  unsigned int flags, common_info_st *info, const char *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_set_val
      Src: /src/gnutls/src/pkcs11.c:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - outfile
    - url
    - detailed
    - flags
    - info
    - label
    argTypes:
    - FILE*
    - char*
    - int
    - unsigned int
    - common_info_st*
    - char*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1718
    functionName: pkcs11_set_label
    functionSourceFile: /src/gnutls/src/pkcs11.c
    functionUses: 1
    functionsReached:
    - pkcs11_set_val
    linkageType: ''
    returnType: void
    signature: "void pkcs11_set_label(FILE *outfile, const char *url, int detailed,\n\t\t
      \     unsigned int flags, common_info_st *info,\n\t\t      const char *label)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-cipher.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/src/benchmark-cipher.c:76,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:79,1
    - Dst: malloc
      Src: /src/gnutls/src/benchmark-cipher.c:81,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:83,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:86,1
    - Dst: assert
      Src: /src/gnutls/src/benchmark-cipher.c:94,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/benchmark-cipher.c:94,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:96,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/benchmark-cipher.c:96,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/benchmark-cipher.c:97,1
    - Dst: fflush
      Src: /src/gnutls/src/benchmark-cipher.c:98,1
    - Dst: ALLOCM
      Src: /src/gnutls/src/benchmark-cipher.c:100,1
    - Dst: ALLOC
      Src: /src/gnutls/src/benchmark-cipher.c:101,1
    - Dst: start_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:104,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/src/benchmark-cipher.c:106,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-cipher.c:108,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-cipher.c:108,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/src/benchmark-cipher.c:112,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-cipher.c:114,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-cipher.c:114,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/src/benchmark-cipher.c:119,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/gnutls/src/benchmark-cipher.c:120,1
    - Dst: INC
      Src: /src/gnutls/src/benchmark-cipher.c:122,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/src/benchmark-cipher.c:125,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/src/benchmark-cipher.c:126,1
    - Dst: stop_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:128,1
    - Dst: FREE
      Src: /src/gnutls/src/benchmark-cipher.c:131,1
    - Dst: FREE
      Src: /src/gnutls/src/benchmark-cipher.c:132,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:133,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 3
    argNames:
    - algo
    - mac_algo
    - size
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 135
    functionName: cipher_mac_bench
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - gnutls_rnd
    - gnutls_cipher_init
    - printf
    - gnutls_cipher_encrypt2
    - gnutls_hmac
    - gnutls_hmac_deinit
    - gnutls_cipher_deinit
    - free
    - memset
    - assert
    - gnutls_hmac_init
    - INC
    - gnutls_cipher_get_name
    - gnutls_mac_get_name
    - start_benchmark
    - malloc
    - gnutls_strerror
    - ALLOCM
    - fflush
    - FREE
    - stop_benchmark
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cipher_mac_bench(int algo, int mac_algo, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/src/benchmark-cipher.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: force_memcpy
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void force_memcpy(void *dest, const void *src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/src/benchmark-cipher.c:163,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:166,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:171,1
    - Dst: malloc
      Src: /src/gnutls/src/benchmark-cipher.c:174,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:176,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:179,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:187,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/benchmark-cipher.c:187,1
    - Dst: fflush
      Src: /src/gnutls/src/benchmark-cipher.c:188,1
    - Dst: assert
      Src: /src/gnutls/src/benchmark-cipher.c:189,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/benchmark-cipher.c:189,1
    - Dst: ALLOCM
      Src: /src/gnutls/src/benchmark-cipher.c:191,1
    - Dst: ALLOCM
      Src: /src/gnutls/src/benchmark-cipher.c:192,1
    - Dst: start_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:195,1
    - Dst: force_memcpy
      Src: /src/gnutls/src/benchmark-cipher.c:199,1
    - Dst: INC
      Src: /src/gnutls/src/benchmark-cipher.c:201,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/src/benchmark-cipher.c:207,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-cipher.c:209,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-cipher.c:209,1
    - Dst: assert
      Src: /src/gnutls/src/benchmark-cipher.c:215,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/src/benchmark-cipher.c:215,1
    - Dst: INC
      Src: /src/gnutls/src/benchmark-cipher.c:220,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/src/benchmark-cipher.c:223,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/src/benchmark-cipher.c:225,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark-cipher.c:227,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/benchmark-cipher.c:227,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/gnutls/src/benchmark-cipher.c:232,1
    - Dst: INC
      Src: /src/gnutls/src/benchmark-cipher.c:234,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/src/benchmark-cipher.c:237,1
    - Dst: stop_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:239,1
    - Dst: FREE
      Src: /src/gnutls/src/benchmark-cipher.c:241,1
    - Dst: FREE
      Src: /src/gnutls/src/benchmark-cipher.c:242,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:244,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:245,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 3
    argNames:
    - algo
    - size
    - aead
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 246
    functionName: cipher_bench
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_encrypt
    - gnutls_rnd
    - gnutls_cipher_init
    - printf
    - gnutls_cipher_encrypt2
    - force_memcpy
    - gnutls_cipher_deinit
    - free
    - gnutls_aead_cipher_init
    - memset
    - assert
    - INC
    - gnutls_cipher_get_name
    - start_benchmark
    - gnutls_aead_cipher_deinit
    - malloc
    - gnutls_strerror
    - ALLOCM
    - fflush
    - FREE
    - stop_benchmark
    - fprintf
    linkageType: ''
    returnType: void
    signature: void cipher_bench(int algo, int size, int aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALLOCM
      Src: /src/gnutls/src/benchmark-cipher.c:257,1
    - Dst: malloc
      Src: /src/gnutls/src/benchmark-cipher.c:260,1
    - Dst: memset
      Src: /src/gnutls/src/benchmark-cipher.c:263,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:265,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/benchmark-cipher.c:265,1
    - Dst: fflush
      Src: /src/gnutls/src/benchmark-cipher.c:266,1
    - Dst: assert
      Src: /src/gnutls/src/benchmark-cipher.c:268,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/benchmark-cipher.c:268,1
    - Dst: start_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:270,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/src/benchmark-cipher.c:273,1
    - Dst: INC
      Src: /src/gnutls/src/benchmark-cipher.c:275,1
    - Dst: stop_benchmark
      Src: /src/gnutls/src/benchmark-cipher.c:278,1
    - Dst: FREE
      Src: /src/gnutls/src/benchmark-cipher.c:279,1
    - Dst: free
      Src: /src/gnutls/src/benchmark-cipher.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - algo
    - size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 282
    functionName: mac_bench
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_fast
    - assert
    - ALLOCM
    - INC
    - free
    - gnutls_rnd
    - fflush
    - gnutls_mac_get_name
    - FREE
    - stop_benchmark
    - memset
    - start_benchmark
    - printf
    - malloc
    linkageType: ''
    returnType: void
    signature: void mac_bench(int algo, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/benchmark-cipher.c:287,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/benchmark-cipher.c:288,1
    - Dst: sysconf
      Src: /src/gnutls/src/benchmark-cipher.c:291,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:294,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:295,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:296,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:297,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:299,1
    - Dst: cipher_mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:301,1
    - Dst: cipher_mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:302,1
    - Dst: cipher_mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:303,1
    - Dst: cipher_mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:305,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:309,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:310,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:311,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:312,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:314,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:315,1
    - Dst: mac_bench
      Src: /src/gnutls/src/benchmark-cipher.c:316,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark-cipher.c:319,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:320,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:321,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:322,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:323,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:324,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:325,1
    - Dst: cipher_bench
      Src: /src/gnutls/src/benchmark-cipher.c:327,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/benchmark-cipher.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - debug_level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: benchmark_cipher
    functionSourceFile: /src/gnutls/src/benchmark-cipher.c
    functionUses: 1
    functionsReached:
    - gnutls_global_deinit
    - sysconf
    - cipher_mac_bench
    - cipher_bench
    - mac_bench
    - printf
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    linkageType: ''
    returnType: void
    signature: void benchmark_cipher(int debug_level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnutls/src/ocsptool-common.c:60,1
    - Dst: snprintf
      Src: /src/gnutls/src/ocsptool-common.c:61,1
    - Dst: strchr
      Src: /src/gnutls/src/ocsptool-common.c:62,1
    - Dst: strchr
      Src: /src/gnutls/src/ocsptool-common.c:68,1
    - Dst: atoi
      Src: /src/gnutls/src/ocsptool-common.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - url
    - port
    - path
    argTypes:
    - char*
    - unsigned int*
    - char**
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: host_from_url
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 1
    functionsReached:
    - strchr
    - snprintf
    - atoi
    - strstr
    linkageType: ''
    returnType: char
    signature: "char *host_from_url(const char *url, unsigned int *port,\n\t\t\t\t
      const char **path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/src/ocsptool-common.c:86,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:88,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:88,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:89,1
    - Dst: gnutls_ocsp_req_add_cert
      Src: /src/gnutls/src/ocsptool-common.c:92,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:94,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:94,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:95,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/src/ocsptool-common.c:99,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:102,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:103,1
    - Dst: gnutls_ocsp_req_export
      Src: /src/gnutls/src/ocsptool-common.c:107,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:109,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:109,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:110,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/src/ocsptool-common.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - cert
    - issuer
    - rdata
    - nonce
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: _generate_request
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 2
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_ocsp_req_set_nonce
    - gnutls_ocsp_req_add_cert
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - fprintf
    - gnutls_ocsp_req_export
    linkageType: ''
    returnType: void
    signature: "void _generate_request(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,\n\t\t
      \      gnutls_datum_t *rdata, gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnutls/src/ocsptool-common.c:123,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:125,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:126,1
    - Dst: memcpy
      Src: /src/gnutls/src/ocsptool-common.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: get_data
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 8
    functionsReached:
    - memcpy
    - exit
    - fprintf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t get_data(void *buf, size_t size, size_t nmemb, void *userp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockets_init
      Src: /src/gnutls/src/ocsptool-common.c:153,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/src/ocsptool-common.c:161,1
    - Dst: gnutls_x509_crt_get_authority_info_access
      Src: /src/gnutls/src/ocsptool-common.c:168,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:175,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:177,1
    - Dst: malloc
      Src: /src/gnutls/src/ocsptool-common.c:181,1
    - Dst: memcpy
      Src: /src/gnutls/src/ocsptool-common.c:185,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool-common.c:188,1
    - Dst: host_from_url
      Src: /src/gnutls/src/ocsptool-common.c:191,1
    - Dst: snprintf
      Src: /src/gnutls/src/ocsptool-common.c:193,1
    - Dst: strcpy
      Src: /src/gnutls/src/ocsptool-common.c:195,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:197,1
    - Dst: memset
      Src: /src/gnutls/src/ocsptool-common.c:199,1
    - Dst: _generate_request
      Src: /src/gnutls/src/ocsptool-common.c:201,1
    - Dst: snprintf
      Src: /src/gnutls/src/ocsptool-common.c:203,1
    - Dst: strlen
      Src: /src/gnutls/src/ocsptool-common.c:205,1
    - Dst: socket_open
      Src: /src/gnutls/src/ocsptool-common.c:207,1
    - Dst: socket_send
      Src: /src/gnutls/src/ocsptool-common.c:210,1
    - Dst: socket_send
      Src: /src/gnutls/src/ocsptool-common.c:211,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool-common.c:212,1
    - Dst: socket_recv
      Src: /src/gnutls/src/ocsptool-common.c:215,1
    - Dst: get_data
      Src: /src/gnutls/src/ocsptool-common.c:217,1
    - Dst: perror
      Src: /src/gnutls/src/ocsptool-common.c:221,1
    - Dst: socket_bye
      Src: /src/gnutls/src/ocsptool-common.c:226,1
    - Dst: memmem
      Src: /src/gnutls/src/ocsptool-common.c:228,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:230,1
    - Dst: malloc
      Src: /src/gnutls/src/ocsptool-common.c:237,1
    - Dst: perror
      Src: /src/gnutls/src/ocsptool-common.c:239,1
    - Dst: memcpy
      Src: /src/gnutls/src/ocsptool-common.c:244,1
    - Dst: free
      Src: /src/gnutls/src/ocsptool-common.c:249,1
    - Dst: free
      Src: /src/gnutls/src/ocsptool-common.c:251,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 5
    argNames:
    - server
    - cert
    - issuer
    - resp_data
    - nonce
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 254
    functionName: send_ocsp_request
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 2
    functionsReached:
    - socket_open
    - host_from_url
    - snprintf
    - perror
    - memmem
    - strcpy
    - free
    - get_data
    - _generate_request
    - memset
    - sockets_init
    - gnutls_x509_crt_get_authority_info_access
    - strlen
    - malloc
    - gnutls_strerror
    - gnutls_free
    - socket_recv
    - socket_send
    - memcpy
    - socket_bye
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int send_ocsp_request(const char *server, gnutls_x509_crt_t cert,\n\t\t
      \     gnutls_x509_crt_t issuer, gnutls_datum_t *resp_data,\n\t\t      gnutls_datum_t
      *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:261,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:264,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:270,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:271,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:277,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:278,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:284,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:285,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:291,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:292,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:298,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:299,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:305,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:306,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:312,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - output
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 316
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 316
    functionName: print_ocsp_verify_res
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_ocsp_verify_res(unsigned int output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_system_time
      Src: /src/gnutls/src/ocsptool-common.c:338,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/src/ocsptool-common.c:341,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:343,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:343,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:344,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/src/ocsptool-common.c:347,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:349,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:349,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:350,1
    - Dst: gnutls_ocsp_resp_check_crt
      Src: /src/gnutls/src/ocsptool-common.c:353,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:356,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:358,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/src/ocsptool-common.c:364,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:366,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:367,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:368,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:372,1
    - Dst: print_ocsp_verify_res
      Src: /src/gnutls/src/ocsptool-common.c:373,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:374,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/src/ocsptool-common.c:383,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:387,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:387,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:388,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:392,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/ocsptool-common.c:393,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:400,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/ocsptool-common.c:401,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:408,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/ocsptool-common.c:409,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/ocsptool-common.c:410,1
    - Dst: gnutls_ocsp_resp_get_nonce
      Src: /src/gnutls/src/ocsptool-common.c:419,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:422,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:428,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/ocsptool-common.c:429,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:430,1
    - Dst: memcmp
      Src: /src/gnutls/src/ocsptool-common.c:434,1
    - Dst: fprintf
      Src: /src/gnutls/src/ocsptool-common.c:435,1
    - Dst: exit
      Src: /src/gnutls/src/ocsptool-common.c:437,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/ocsptool-common.c:440,1
    - Dst: printf
      Src: /src/gnutls/src/ocsptool-common.c:444,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/ocsptool-common.c:445,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/src/ocsptool-common.c:448,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 91
    argCount: 5
    argNames:
    - cert
    - issuer
    - data
    - nonce
    - verbose
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 451
    functionName: check_ocsp_response
    functionSourceFile: /src/gnutls/src/ocsptool-common.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - exit
    - gnutls_strerror
    - gnutls_free
    - print_ocsp_verify_res
    - gnutls_ocsp_resp_import
    - memcmp
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_resp_get_single
    - simple_ctime
    - gnutls_ocsp_resp_verify_direct
    - printf
    - gnutls_ocsp_resp_check_crt
    - gnutls_ocsp_resp_get_nonce
    - fprintf
    - get_system_time
    linkageType: ''
    returnType: int
    signature: "int check_ocsp_response(gnutls_x509_crt_t cert, gnutls_x509_crt_t
      issuer,\n\t\t\tgnutls_datum_t *data, gnutls_datum_t *nonce,\n\t\t\tint verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/src/common.h:100,1
    - Dst: c_isdigit
      Src: /src/gnutls/src/common.h:102,1
    - Dst: c_isdigit
      Src: /src/gnutls/src/common.h:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: is_ip
    functionSourceFile: /src/gnutls/src/common.h
    functionUses: 2
    functionsReached:
    - c_isdigit
    - strchr
    linkageType: ''
    returnType: int
    signature: int is_ip(const char *hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/src/common.h:118,1
    - Dst: FD_SET
      Src: /src/gnutls/src/common.h:119,1
    - Dst: select
      Src: /src/gnutls/src/common.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: system_recv_timeout
    functionSourceFile: /src/gnutls/src/common.h
    functionUses: 2
    functionsReached:
    - select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/src/common.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - data
    - data_size
    argTypes:
    - gnutls_transport_ptr
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: system_write
    functionSourceFile: /src/gnutls/src/common.h
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_write(gnutls_transport_ptr ptr, const void *data,\n\t\t\t
      \   size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/src/common.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - data
    - data_size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: system_read
    functionSourceFile: /src/gnutls/src/common.h
    functionUses: 0
    functionsReached:
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_read(gnutls_transport_ptr_t ptr, void *data,\n\t\t\t
      \  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/src/common.h:145,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/src/common.h:146,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/src/common.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: set_read_funcs
    functionSourceFile: /src/gnutls/src/common.h
    functionUses: 1
    functionsReached:
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_push_function
    - gnutls_transport_set_pull_function
    linkageType: ''
    returnType: void
    signature: void set_read_funcs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/cli-debug.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/src/cli-debug.c:230,1
    - Dst: set_read_funcs
      Src: /src/gnutls/src/cli-debug.c:232,1
    - Dst: is_ip
      Src: /src/gnutls/src/cli-debug.c:233,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/src/cli-debug.c:234,1
    - Dst: strlen
      Src: /src/gnutls/src/cli-debug.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: init_tls_session
    functionSourceFile: /src/gnutls/src/cli-debug.c
    functionUses: 1
    functionsReached:
    - strlen
    - gnutls_server_name_set
    - gnutls_init
    - is_ip
    - set_read_funcs
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t init_tls_session(const char *host)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - socket
    argTypes:
    - socket_st*
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: do_handshake
    functionSourceFile: /src/gnutls/src/cli-debug.c
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_handshake(socket_st *socket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/cli-debug.c:254,1
    - Dst: signal
      Src: /src/gnutls/src/cli-debug.c:257,1
    - Dst: sockets_init
      Src: /src/gnutls/src/cli-debug.c:260,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/cli-debug.c:262,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:263,1
    - Dst: exit
      Src: /src/gnutls/src/cli-debug.c:264,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/cli-debug.c:267,1
    - Dst: parse_datetime
      Src: /src/gnutls/src/cli-debug.c:270,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli-debug.c:270,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:271,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli-debug.c:273,1
    - Dst: exit
      Src: /src/gnutls/src/cli-debug.c:274,1
    - Dst: set_system_time
      Src: /src/gnutls/src/cli-debug.c:276,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/cli-debug.c:279,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/cli-debug.c:280,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli-debug.c:283,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/cli-debug.c:286,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:288,1
    - Dst: exit
      Src: /src/gnutls/src/cli-debug.c:289,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/src/cli-debug.c:294,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:295,1
    - Dst: exit
      Src: /src/gnutls/src/cli-debug.c:296,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/src/cli-debug.c:302,1
    - Dst: fprintf
      Src: /src/gnutls/src/cli-debug.c:303,1
    - Dst: exit
      Src: /src/gnutls/src/cli-debug.c:304,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli-debug.c:308,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli-debug.c:309,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli-debug.c:310,1
    - Dst: snprintf
      Src: /src/gnutls/src/cli-debug.c:314,1
    - Dst: port_to_service
      Src: /src/gnutls/src/cli-debug.c:315,1
    - Dst: sockets_init
      Src: /src/gnutls/src/cli-debug.c:318,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:320,1
    - Dst: gnutls_check_version
      Src: /src/gnutls/src/cli-debug.c:320,1
    - Dst: canonicalize_host
      Src: /src/gnutls/src/cli-debug.c:322,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:323,1
    - Dst: strcmp
      Src: /src/gnutls/src/cli-debug.c:326,1
    - Dst: socket_open
      Src: /src/gnutls/src/cli-debug.c:332,1
    - Dst: func
      Src: /src/gnutls/src/cli-debug.c:339,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:342,1
    - Dst: fflush
      Src: /src/gnutls/src/cli-debug.c:343,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:348,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:350,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:352,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:354,1
    - Dst: printf
      Src: /src/gnutls/src/cli-debug.c:357,1
    - Dst: socket_bye
      Src: /src/gnutls/src/cli-debug.c:361,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/src/cli-debug.c:370,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/src/cli-debug.c:372,1
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/src/cli-debug.c:374,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/cli-debug.c:376,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 379
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 379
    functionName: main
    functionSourceFile: /src/gnutls/src/cli-debug.c
    functionUses: 4
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - HAVE_OPT
    - gnutls_global_deinit
    - socket_open
    - gnutls_anon_free_client_credentials
    - snprintf
    - parse_datetime
    - gnutls_certificate_free_credentials
    - strcmp
    - printf
    - cmd_parser
    - gnutls_global_set_log_function
    - ENABLED_OPT
    - signal
    - gnutls_srp_allocate_client_credentials
    - sockets_init
    - exit
    - gnutls_check_version
    - canonicalize_host
    - port_to_service
    - gnutls_certificate_allocate_credentials
    - OPT_ARG
    - gnutls_global_init
    - set_system_time
    - func
    - gnutls_global_set_log_level
    - gnutls_srp_free_client_credentials
    - fflush
    - socket_bye
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli-debug.c:392,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli-debug.c:395,1
    - Dst: starttls_proto_to_port
      Src: /src/gnutls/src/cli-debug.c:396,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/cli-debug.c:396,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli-debug.c:406,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/cli-debug.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 411
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 411
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/cli-debug.c
    functionUses: 6
    functionsReached:
    - HAVE_OPT
    - OPT_ARG
    - starttls_proto_to_port
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/src/psk.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnutls/src/psk.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/psk.c:77,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:78,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/psk.c:78,1
    - Dst: exit
      Src: /src/gnutls/src/psk.c:79,1
    - Dst: umask
      Src: /src/gnutls/src/psk.c:82,1
    - Dst: optionProcess
      Src: /src/gnutls/src/psk.c:84,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/psk.c:86,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:87,1
    - Dst: exit
      Src: /src/gnutls/src/psk.c:88,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/psk.c:90,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/psk.c:92,1
    - Dst: getpwuid
      Src: /src/gnutls/src/psk.c:94,1
    - Dst: getuid
      Src: /src/gnutls/src/psk.c:94,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:97,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:103,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/psk.c:107,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/psk.c:109,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:110,1
    - Dst: exit
      Src: /src/gnutls/src/psk.c:111,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/psk.c:114,1
    - Dst: printf
      Src: /src/gnutls/src/psk.c:119,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/psk.c:121,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:123,1
    - Dst: exit
      Src: /src/gnutls/src/psk.c:124,1
    - Dst: write_key
      Src: /src/gnutls/src/psk.c:127,1
    - Dst: printf
      Src: /src/gnutls/src/psk.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 132
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnutls/src/psk.c
    functionUses: 4
    functionsReached:
    - HAVE_OPT
    - exit
    - gnutls_strerror
    - gnutls_rnd
    - umask
    - OPT_ARG
    - gnutls_global_init
    - getpwuid
    - getuid
    - printf
    - optionProcess
    - fprintf
    - write_key
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/src/psk.c:140,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:142,1
    - Dst: fopen
      Src: /src/gnutls/src/psk.c:146,1
    - Dst: fclose
      Src: /src/gnutls/src/psk.c:149,1
    - Dst: fgets
      Src: /src/gnutls/src/psk.c:155,1
    - Dst: fputs
      Src: /src/gnutls/src/psk.c:159,1
    - Dst: fclose
      Src: /src/gnutls/src/psk.c:162,1
    - Dst: fclose
      Src: /src/gnutls/src/psk.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 166
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: filecopy
    functionSourceFile: /src/gnutls/src/psk.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - fputs
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int filecopy(const char *src, const char *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/psk.c:181,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:182,1
    - Dst: snprintf
      Src: /src/gnutls/src/psk.c:186,1
    - Dst: stat
      Src: /src/gnutls/src/psk.c:188,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:189,1
    - Dst: filecopy
      Src: /src/gnutls/src/psk.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:194,1
    - Dst: fopen
      Src: /src/gnutls/src/psk.c:199,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:201,1
    - Dst: remove
      Src: /src/gnutls/src/psk.c:202,1
    - Dst: fopen
      Src: /src/gnutls/src/psk.c:206,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:208,1
    - Dst: remove
      Src: /src/gnutls/src/psk.c:209,1
    - Dst: fclose
      Src: /src/gnutls/src/psk.c:210,1
    - Dst: strcspn
      Src: /src/gnutls/src/psk.c:215,1
    - Dst: strlen
      Src: /src/gnutls/src/psk.c:215,1
    - Dst: strlen
      Src: /src/gnutls/src/psk.c:220,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/psk.c:222,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:224,1
    - Dst: xsum
      Src: /src/gnutls/src/psk.c:230,1
    - Dst: size_overflow_p
      Src: /src/gnutls/src/psk.c:231,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/src/psk.c:235,1
    - Dst: memmove
      Src: /src/gnutls/src/psk.c:240,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/src/psk.c:246,1
    - Dst: strlen
      Src: /src/gnutls/src/psk.c:251,1
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/psk.c:258,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:260,1
    - Dst: fgets
      Src: /src/gnutls/src/psk.c:267,1
    - Dst: strchr
      Src: /src/gnutls/src/psk.c:271,1
    - Dst: strncmp
      Src: /src/gnutls/src/psk.c:275,1
    - Dst: MAX
      Src: /src/gnutls/src/psk.c:276,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:278,1
    - Dst: fputs
      Src: /src/gnutls/src/psk.c:280,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:285,1
    - Dst: close_stream
      Src: /src/gnutls/src/psk.c:289,1
    - Dst: fprintf
      Src: /src/gnutls/src/psk.c:290,1
    - Dst: strerror
      Src: /src/gnutls/src/psk.c:291,1
    - Dst: fclose
      Src: /src/gnutls/src/psk.c:295,1
    - Dst: remove
      Src: /src/gnutls/src/psk.c:297,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/psk.c:298,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/psk.c:299,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 4
    argNames:
    - username
    - key
    - key_size
    - passwd_file
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 302
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 302
    functionName: write_key
    functionSourceFile: /src/gnutls/src/psk.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strchr
    - filecopy
    - fclose
    - gnutls_hex_encode2
    - memmove
    - strerror
    - fopen
    - size_overflow_p
    - strlen
    - strcspn
    - gnutls_realloc
    - strncmp
    - fgets
    - remove
    - gnutls_free
    - fputs
    - MAX
    - gnutls_strdup
    - stat
    - close_stream
    - fprintf
    - xsum
    linkageType: ''
    returnType: int
    signature: "int write_key(const char *username, const unsigned char *key,\n\t\t
      \    size_t key_size, const char *passwd_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: timespec_sub_ms
    functionSourceFile: /src/gnutls/src/benchmark.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int timespec_sub_ms(struct timespec *a,\n\t\t\t\t\t   struct
      timespec *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: timespec_sub_ns
    functionSourceFile: /src/gnutls/src/benchmark.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long timespec_sub_ns(struct timespec *a,\n\t\t\t\t\t    struct
      timespec *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnutls/src/tpmtool.c:74,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: app_exit
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 82
    functionsReached:
    - remove
    - exit
    linkageType: ''
    returnType: void
    signature: void app_exit(int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/tpmtool.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 4
    functionsReached:
    - cmd_parser
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/tpmtool.c:103,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:105,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:108,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:116,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:124,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:126,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:128,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/tpmtool.c:131,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/tpmtool.c:132,1
    - Dst: printf
      Src: /src/gnutls/src/tpmtool.c:134,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/tpmtool.c:136,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:137,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:137,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:138,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:141,1
    - Dst: safe_open_rw
      Src: /src/gnutls/src/tpmtool.c:142,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:142,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:144,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:144,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:145,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:147,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:151,1
    - Dst: fopen
      Src: /src/gnutls/src/tpmtool.c:152,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:152,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:154,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:154,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:155,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:160,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:161,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:162,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:165,1
    - Dst: get_bits
      Src: /src/gnutls/src/tpmtool.c:167,1
    - Dst: tpm_generate
      Src: /src/gnutls/src/tpmtool.c:168,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:169,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:170,1
    - Dst: tpm_pubkey
      Src: /src/gnutls/src/tpmtool.c:171,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:171,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:171,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:172,1
    - Dst: tpm_delete
      Src: /src/gnutls/src/tpmtool.c:173,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:173,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:173,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:174,1
    - Dst: tpm_list
      Src: /src/gnutls/src/tpmtool.c:175,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/tpmtool.c:176,1
    - Dst: tpm_test_sign
      Src: /src/gnutls/src/tpmtool.c:177,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/tpmtool.c:177,1
    - Dst: USAGE
      Src: /src/gnutls/src/tpmtool.c:179,1
    - Dst: fclose
      Src: /src/gnutls/src/tpmtool.c:182,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/tpmtool.c:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 185
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 185
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 7
    functionsReached:
    - HAVE_OPT
    - gnutls_global_deinit
    - printf
    - gnutls_global_set_log_function
    - fclose
    - safe_open_rw
    - tpm_generate
    - tpm_pubkey
    - tpm_test_sign
    - fopen
    - exit
    - get_bits
    - OPT_ARG
    - gnutls_global_init
    - USAGE
    - tpm_delete
    - fprintf
    - gnutls_global_set_log_level
    - gnutls_strerror
    - optionProcess
    - tpm_list
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_common
      Src: /src/gnutls/src/tpmtool.c:197,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/tpmtool.c:202,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:204,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:205,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:206,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/tpmtool.c:209,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:211,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:212,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:213,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/tpmtool.c:216,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:218,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:219,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:220,1
    - Dst: gnutls_pubkey_import_tpm_url
      Src: /src/gnutls/src/tpmtool.c:223,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:225,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:226,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:227,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/src/tpmtool.c:230,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:233,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:233,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:234,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/src/tpmtool.c:237,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:239,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/src/tpmtool.c:240,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/src/tpmtool.c:241,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:243,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:244,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:245,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:248,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tpmtool.c:250,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/tpmtool.c:251,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/src/tpmtool.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - url
    - out
    argTypes:
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 253
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 253
    functionName: tpm_test_sign
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_free
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_get_pk_algorithm
    - pkcs11_common
    - gnutls_pubkey_import_tpm_url
    - gnutls_pk_to_sign
    - gnutls_privkey_sign_data
    - gnutls_privkey_deinit
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_privkey_init
    - gnutls_privkey_import_url
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tpm_test_sign(const char *url, FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/gnutls/src/tpmtool.c:265,1
    - Dst: strdup
      Src: /src/gnutls/src/tpmtool.c:271,1
    - Dst: gnutls_tpm_privkey_generate
      Src: /src/gnutls/src/tpmtool.c:274,1
    - Dst: free
      Src: /src/gnutls/src/tpmtool.c:278,1
    - Dst: free
      Src: /src/gnutls/src/tpmtool.c:279,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:282,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:283,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:284,1
    - Dst: fwrite
      Src: /src/gnutls/src/tpmtool.c:287,1
    - Dst: fputs
      Src: /src/gnutls/src/tpmtool.c:288,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tpmtool.c:290,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tpmtool.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - out
    - key_type
    - bits
    - flags
    - srk_well_known
    argTypes:
    - FILE*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: tpm_generate
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 1
    functionsReached:
    - strdup
    - gnutls_strerror
    - exit
    - gnutls_free
    - fwrite
    - free
    - fputs
    - gnutls_tpm_privkey_generate
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void tpm_generate(FILE *out, unsigned int key_type, unsigned int bits,\n\t\t\t
      unsigned int flags, unsigned int srk_well_known)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/tpmtool.c:300,1
    - Dst: gnutls_tpm_privkey_delete
      Src: /src/gnutls/src/tpmtool.c:302,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:304,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:305,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:306,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - url
    - out
    - srk_well_known
    argTypes:
    - char*
    - FILE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: tpm_delete
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - getpass
    - gnutls_tpm_privkey_delete
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tpm_delete(const char *url, FILE *out, unsigned int srk_well_known)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_tpm_get_registered
      Src: /src/gnutls/src/tpmtool.c:319,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:321,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:322,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:323,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:326,1
    - Dst: gnutls_tpm_key_list_get_url
      Src: /src/gnutls/src/tpmtool.c:328,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:332,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:333,1
    - Dst: gnutls_tpm_key_list_deinit
      Src: /src/gnutls/src/tpmtool.c:334,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:335,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:338,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/tpmtool.c:339,1
    - Dst: gnutls_tpm_key_list_deinit
      Src: /src/gnutls/src/tpmtool.c:342,1
    - Dst: fputs
      Src: /src/gnutls/src/tpmtool.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 344
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 344
    functionName: tpm_list
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 1
    functionsReached:
    - gnutls_tpm_get_registered
    - gnutls_strerror
    - exit
    - gnutls_free
    - gnutls_tpm_key_list_get_url
    - fputs
    - gnutls_tpm_key_list_deinit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tpm_list(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/tpmtool.c:353,1
    - Dst: strdup
      Src: /src/gnutls/src/tpmtool.c:355,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/tpmtool.c:358,1
    - Dst: gnutls_pubkey_import_tpm_url
      Src: /src/gnutls/src/tpmtool.c:360,1
    - Dst: free
      Src: /src/gnutls/src/tpmtool.c:362,1
    - Dst: fprintf
      Src: /src/gnutls/src/tpmtool.c:365,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/tpmtool.c:366,1
    - Dst: exit
      Src: /src/gnutls/src/tpmtool.c:367,1
    - Dst: print_pubkey_info
      Src: /src/gnutls/src/tpmtool.c:370,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/tpmtool.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - url
    - out
    - srk_well_known
    argTypes:
    - char*
    - FILE*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 374
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 374
    functionName: tpm_pubkey
    functionSourceFile: /src/gnutls/src/tpmtool.c
    functionUses: 1
    functionsReached:
    - strdup
    - gnutls_strerror
    - exit
    - print_pubkey_info
    - getpass
    - free
    - gnutls_pubkey_import_tpm_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tpm_pubkey(const char *url, FILE *out, unsigned int srk_well_known)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/src/cfg.c:50,1
    - Dst: free
      Src: /src/gnutls/src/cfg.c:51,1
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - option
    argTypes:
    - struct cfg_option_st*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: clear_option
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void clear_option(struct cfg_option_st *option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_option
      Src: /src/gnutls/src/cfg.c:58,1
    - Dst: free
      Src: /src/gnutls/src/cfg.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_option_t
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: cfg_free
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - free
    - clear_option
    linkageType: ''
    returnType: void
    signature: void cfg_free(cfg_option_t options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_overflow_p
      Src: /src/gnutls/src/cfg.c:79,1
    - Dst: xtimes
      Src: /src/gnutls/src/cfg.c:86,1
    - Dst: xsum
      Src: /src/gnutls/src/cfg.c:86,1
    - Dst: size_overflow_p
      Src: /src/gnutls/src/cfg.c:87,1
    - Dst: realloc
      Src: /src/gnutls/src/cfg.c:90,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - struct buffer_st*
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: buffer_append
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - assert
    - xtimes
    - realloc
    - xsum
    linkageType: ''
    returnType: int
    signature: int buffer_append(struct buffer_st *buffer, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: parser_getc
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parser_getc(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:113,1
    - Dst: SIZEOF
      Src: /src/gnutls/src/cfg.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - c
    argTypes:
    - struct parser_st*
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: parser_ungetc
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - SIZEOF
    linkageType: ''
    returnType: void
    signature: void parser_ungetc(struct parser_st *parser, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:121,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:128,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: skip_comment
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - parser_ungetc
    - parser_getc
    linkageType: ''
    returnType: void
    signature: void skip_comment(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:145,1
    - Dst: strchr
      Src: /src/gnutls/src/cfg.c:149,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - parser
    - chars
    argTypes:
    - struct parser_st*
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: skip_chars
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - parser_ungetc
    - parser_getc
    - strchr
    linkageType: ''
    returnType: void
    signature: void skip_chars(struct parser_st *parser, const char *chars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:161,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:165,1
    - Dst: skip_comment
      Src: /src/gnutls/src/cfg.c:167,1
    - Dst: strchr
      Src: /src/gnutls/src/cfg.c:168,1
    - Dst: skip_chars
      Src: /src/gnutls/src/cfg.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: skip_comments_and_whitespaces
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - parser_ungetc
    - parser_getc
    - strchr
    - skip_chars
    - skip_comment
    linkageType: ''
    returnType: void
    signature: void skip_comments_and_whitespaces(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:182,1
    - Dst: skip_comments_and_whitespaces
      Src: /src/gnutls/src/cfg.c:184,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:186,1
    - Dst: strchr
      Src: /src/gnutls/src/cfg.c:191,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:192,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:196,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:198,1
    - Dst: strchr
      Src: /src/gnutls/src/cfg.c:202,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:203,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:206,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:208,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:212,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 218
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 218
    functionName: read_name
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - buffer_append
    - parser_ungetc
    - parser_getc
    - strchr
    - memset
    - skip_comments_and_whitespaces
    linkageType: ''
    returnType: char
    signature: char *read_name(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:225,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:227,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:229,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:236,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:241,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:246,1
    - Dst: free
      Src: /src/gnutls/src/cfg.c:249,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:253,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:255,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:260,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 267
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 267
    functionName: read_quoted_value
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - buffer_append
    - parser_getc
    - memset
    linkageType: ''
    returnType: char
    signature: char *read_quoted_value(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:275,1
    - Dst: skip_chars
      Src: /src/gnutls/src/cfg.c:277,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:279,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:286,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:290,1
    - Dst: skip_chars
      Src: /src/gnutls/src/cfg.c:291,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:292,1
    - Dst: strdup
      Src: /src/gnutls/src/cfg.c:299,1
    - Dst: parser_ungetc
      Src: /src/gnutls/src/cfg.c:301,1
    - Dst: read_quoted_value
      Src: /src/gnutls/src/cfg.c:302,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:305,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:307,1
    - Dst: parser_getc
      Src: /src/gnutls/src/cfg.c:312,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:317,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:322,1
    - Dst: buffer_append
      Src: /src/gnutls/src/cfg.c:328,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct parser_st*
    constantsTouched: []
    func_position:
      end: 330
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 330
    functionName: read_value
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - strdup
    - buffer_append
    - parser_ungetc
    - parser_getc
    - read_quoted_value
    - skip_chars
    - memset
    linkageType: ''
    returnType: char
    signature: char *read_value(struct parser_st *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_overflow_p
      Src: /src/gnutls/src/cfg.c:336,1
    - Dst: xtimes
      Src: /src/gnutls/src/cfg.c:343,1
    - Dst: xsum
      Src: /src/gnutls/src/cfg.c:343,1
    - Dst: size_overflow_p
      Src: /src/gnutls/src/cfg.c:344,1
    - Dst: reallocarray
      Src: /src/gnutls/src/cfg.c:347,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - options
    - option
    argTypes:
    - struct options_st*
    - struct cfg_option_st*
    constantsTouched: []
    func_position:
      end: 367
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 367
    functionName: take_option
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - assert
    - xtimes
    - reallocarray
    - xsum
    linkageType: ''
    returnType: int
    signature: int take_option(struct options_st *options, struct cfg_option_st *option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_option
      Src: /src/gnutls/src/cfg.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - options
    argTypes:
    - struct options_st*
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: clear_options
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - clear_option
    linkageType: ''
    returnType: void
    signature: void clear_options(struct options_st *options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:382,1
    - Dst: memset
      Src: /src/gnutls/src/cfg.c:383,1
    - Dst: fopen
      Src: /src/gnutls/src/cfg.c:385,1
    - Dst: read_name
      Src: /src/gnutls/src/cfg.c:393,1
    - Dst: read_value
      Src: /src/gnutls/src/cfg.c:398,1
    - Dst: clear_option
      Src: /src/gnutls/src/cfg.c:400,1
    - Dst: take_option
      Src: /src/gnutls/src/cfg.c:404,1
    - Dst: clear_option
      Src: /src/gnutls/src/cfg.c:405,1
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:408,1
    - Dst: fclose
      Src: /src/gnutls/src/cfg.c:411,1
    - Dst: take_option
      Src: /src/gnutls/src/cfg.c:413,1
    - Dst: clear_options
      Src: /src/gnutls/src/cfg.c:417,1
    - Dst: fclose
      Src: /src/gnutls/src/cfg.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 420
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 420
    functionName: cfg_load
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - fopen
    - take_option
    - assert
    - fclose
    - read_value
    - clear_options
    - clear_option
    - memset
    - read_name
    linkageType: ''
    returnType: cfg_option_t
    signature: cfg_option_t cfg_load(const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/src/cfg.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - options
    - name
    argTypes:
    - cfg_option_t
    - char*
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: cfg_next
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cfg_option_t
    signature: cfg_option_t cfg_next(const cfg_option_t options, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/src/cfg.c:437,1
    - Dst: cfg_load
      Src: /src/gnutls/src/cfg.c:439,1
    - Dst: printf
      Src: /src/gnutls/src/cfg.c:441,1
    - Dst: cfg_free
      Src: /src/gnutls/src/cfg.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 446
      start: 433
    functionDepth: 6
    functionLinenumber: 433
    functionLinenumberEnd: 446
    functionName: main
    functionSourceFile: /src/gnutls/src/cfg.c
    functionUses: 4
    functionsReached:
    - printf
    - assert
    - cfg_load
    - cfg_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: safe_strerror
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *safe_strerror(int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/src/serv.c:180,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:181,1
    - Dst: gnutls_bye
      Src: /src/gnutls/src/serv.c:184,1
    - Dst: shutdown
      Src: /src/gnutls/src/serv.c:185,1
    - Dst: close
      Src: /src/gnutls/src/serv.c:186,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/src/serv.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: listener_free
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - shutdown
    - gnutls_deinit
    - free
    - gnutls_bye
    - close
    linkageType: ''
    returnType: void
    signature: void listener_free(const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/serv.c:203,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:204,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:205,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:213,1
    - Dst: fflush
      Src: /src/gnutls/src/serv.c:215,1
    - Dst: gnutls_dh_params_generate2
      Src: /src/gnutls/src/serv.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:218,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 223
    functionName: generate_dh_primes
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_dh_params_generate2
    - gnutls_dh_params_init
    - fflush
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int generate_dh_primes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/serv.c:232,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:233,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:234,1
    - Dst: fopen
      Src: /src/gnutls/src/serv.c:239,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:241,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:242,1
    - Dst: fread
      Src: /src/gnutls/src/serv.c:245,1
    - Dst: fclose
      Src: /src/gnutls/src/serv.c:247,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/src/serv.c:252,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:256,1
    - Dst: safe_strerror
      Src: /src/gnutls/src/serv.c:257,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:258,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:261,1
    - Dst: fflush
      Src: /src/gnutls/src/serv.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 263
    functionName: read_dh_params
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - safe_strerror
    - fread
    - gnutls_dh_params_init
    - fflush
    - printf
    - fprintf
    - gnutls_dh_params_import_pkcs3
    linkageType: ''
    returnType: void
    signature: void read_dh_params(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - type
    - st
    argTypes:
    - gnutls_session_t
    - gnutls_params_type_t
    - gnutls_params_st*
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: get_params
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_params(gnutls_session_t session, gnutls_params_type_t type,\n\t\t
      \     gnutls_params_st *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/src/serv.c:285,1
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/src/serv.c:289,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/serv.c:291,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/serv.c:294,1
    - Dst: cert_verify
      Src: /src/gnutls/src/serv.c:295,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/src/serv.c:297,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 311
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 311
    functionName: cert_verify_callback
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - ENABLED_OPT
    - gnutls_session_get_ptr
    - gnutls_alert_send
    - gnutls_certificate_get_peers
    - cert_verify
    - printf
    - gnutls_auth_get_type
    linkageType: ''
    returnType: int
    signature: int cert_verify_callback(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/src/serv.c:325,1
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/src/serv.c:330,1
    - Dst: realloc
      Src: /src/gnutls/src/serv.c:333,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:352,1
    - Dst: strncmp
      Src: /src/gnutls/src/serv.c:355,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:362,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:374,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/src/serv.c:379,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:385,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 387
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 387
    functionName: post_client_hello
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - gnutls_server_name_get
    - gnutls_alert_send
    - strncmp
    - malloc
    - fprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: int post_client_hello(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/src/serv.c:409,1
    - Dst: gnutls_handshake_set_private_extensions
      Src: /src/gnutls/src/serv.c:413,1
    - Dst: gnutls_handshake_set_timeout
      Src: /src/gnutls/src/serv.c:415,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/src/serv.c:418,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/src/serv.c:419,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/src/serv.c:420,1
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/src/serv.c:421,1
    - Dst: gnutls_session_ticket_enable_server
      Src: /src/gnutls/src/serv.c:425,1
    - Dst: gnutls_anti_replay_enable
      Src: /src/gnutls/src/serv.c:429,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:430,1
    - Dst: gnutls_record_set_max_early_data_size
      Src: /src/gnutls/src/serv.c:431,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:434,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:436,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:437,1
    - Dst: gnutls_handshake_set_post_client_hello_function
      Src: /src/gnutls/src/serv.c:443,1
    - Dst: gnutls_set_default_priority
      Src: /src/gnutls/src/serv.c:447,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:449,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:450,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:451,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/src/serv.c:454,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:456,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:457,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:463,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:464,1
    - Dst: MIN
      Src: /src/gnutls/src/serv.c:467,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:470,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/gnutls/src/serv.c:473,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:475,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:477,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:478,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:479,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/serv.c:484,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/serv.c:488,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/serv.c:491,1
    - Dst: gnutls_certificate_set_verify_function
      Src: /src/gnutls/src/serv.c:494,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/src/serv.c:497,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/src/serv.c:502,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/src/serv.c:506,1
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/src/serv.c:509,1
    - Dst: gnutls_record_set_max_recv_size
      Src: /src/gnutls/src/serv.c:515,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:517,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:520,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:524,1
    - Dst: compress_cert_set_methods
      Src: /src/gnutls/src/serv.c:525,1
    - Dst: OPTS_ARRAY
      Src: /src/gnutls/src/serv.c:526,1
    - Dst: OPTS_COUNT
      Src: /src/gnutls/src/serv.c:527,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:529,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:532,1
    - Dst: gnutls_heartbeat_enable
      Src: /src/gnutls/src/serv.c:533,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:537,1
    - Dst: gnutls_srtp_set_profile_direct
      Src: /src/gnutls/src/serv.c:538,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:539,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:541,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:543,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:544,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:546,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:547,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:550,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 1
    argNames:
    - dtls
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 555
    functionName: initialize_session
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 1
    functionsReached:
    - HAVE_OPT
    - gnutls_credentials_set
    - OPTS_COUNT
    - gnutls_handshake_set_timeout
    - gnutls_srtp_set_profile_direct
    - gnutls_certificate_set_verify_function
    - gnutls_record_set_max_early_data_size
    - gnutls_certificate_server_set_request
    - gnutls_handshake_set_private_extensions
    - gnutls_init
    - gnutls_set_default_priority
    - MIN
    - gnutls_alpn_set_protocols
    - OPTS_ARRAY
    - exit
    - gnutls_record_set_max_recv_size
    - gnutls_handshake_set_post_client_hello_function
    - strlen
    - gnutls_heartbeat_enable
    - gnutls_priority_set_direct
    - compress_cert_set_methods
    - gnutls_anti_replay_enable
    - OPT_ARG
    - gnutls_session_ticket_enable_server
    - gnutls_strerror
    - gnutls_db_set_store_function
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - fprintf
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t initialize_session(int dtls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/src/serv.c:582,1
    - Dst: strcpy
      Src: /src/gnutls/src/serv.c:586,1
    - Dst: strcpy
      Src: /src/gnutls/src/serv.c:587,1
    - Dst: strcpy
      Src: /src/gnutls/src/serv.c:588,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/src/serv.c:596,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/src/serv.c:602,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/serv.c:608,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/serv.c:609,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/src/serv.c:611,1
    - Dst: xsum3
      Src: /src/gnutls/src/serv.c:617,1
    - Dst: size_overflow_p
      Src: /src/gnutls/src/serv.c:619,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:620,1
    - Dst: realloc
      Src: /src/gnutls/src/serv.c:623,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:625,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:629,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:632,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:632,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:633,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/serv.c:635,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/serv.c:637,1
    - Dst: malloc
      Src: /src/gnutls/src/serv.c:641,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:643,1
    - Dst: strcpy
      Src: /src/gnutls/src/serv.c:647,1
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/src/serv.c:649,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/src/serv.c:653,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:654,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:656,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:657,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:658,1
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/src/serv.c:671,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:673,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/src/serv.c:678,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:683,1
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/src/serv.c:685,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/src/serv.c:691,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:692,1
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/src/serv.c:694,1
    - Dst: strcat
      Src: /src/gnutls/src/serv.c:699,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/src/serv.c:701,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:704,1
    - Dst: gnutls_session_get_desc
      Src: /src/gnutls/src/serv.c:709,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:711,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/serv.c:713,1
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/src/serv.c:716,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/src/serv.c:717,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/src/serv.c:719,1
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/src/serv.c:720,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:724,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/src/serv.c:730,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:733,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:738,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/src/serv.c:741,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:748,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/src/serv.c:751,1
    - Dst: gnutls_compression_get_name
      Src: /src/gnutls/src/serv.c:755,1
    - Dst: gnutls_compression_get
      Src: /src/gnutls/src/serv.c:756,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:759,1
    - Dst: gnutls_cipher_suite_get_name
      Src: /src/gnutls/src/serv.c:762,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/src/serv.c:763,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/src/serv.c:764,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:767,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/src/serv.c:771,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/src/serv.c:771,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:774,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/src/serv.c:777,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/src/serv.c:777,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:780,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:783,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:786,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:788,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:791,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:795,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 113
    argCount: 3
    argNames:
    - session
    - ret_length
    - header
    argTypes:
    - gnutls_session_t
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 798
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 798
    functionName: peer_print_info
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - snprintf
    - gnutls_mac_get
    - gnutls_compression_get_name
    - gnutls_psk_server_get_username
    - strcat
    - gnutls_auth_get_type
    - gnutls_dh_get_prime_bits
    - gnutls_x509_crt_import
    - strcpy
    - free
    - gnutls_session_get_id
    - realloc
    - gnutls_srp_server_get_username
    - size_overflow_p
    - gnutls_x509_crt_deinit
    - xsum3
    - gnutls_x509_crt_init
    - strlen
    - gnutls_cipher_get_name
    - gnutls_server_name_get
    - gnutls_protocol_get_version
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_certificate_get_peers
    - gnutls_protocol_get_name
    - gnutls_compression_get
    - malloc
    - gnutls_certificate_type_get2
    - gnutls_cipher_get
    - gnutls_certificate_type_get_name
    - gnutls_free
    - gnutls_cipher_suite_get_name
    - gnutls_session_get_desc
    - memcpy
    - gnutls_kx_get
    linkageType: ''
    returnType: char
    signature: "char *peer_print_info(gnutls_session_t session, int *ret_length,\n\t\t\t
      \    const char *header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/serv.c:807,1
    - Dst: asprintf
      Src: /src/gnutls/src/serv.c:809,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:820,1
    - Dst: asprintf
      Src: /src/gnutls/src/serv.c:824,1
    - Dst: xrealloc
      Src: /src/gnutls/src/serv.c:833,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:834,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/serv.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - session
    - ret_length
    argTypes:
    - gnutls_session_t
    - int*
    constantsTouched: []
    func_position:
      end: 838
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 838
    functionName: peer_print_data
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - gnutls_free
    - strlen
    - xrealloc
    - memcpy
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *peer_print_data(gnutls_session_t session, int *ret_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:854,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:859,1
    - Dst: getnameinfo
      Src: /src/gnutls/src/serv.c:867,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:871,1
    - Dst: strcat
      Src: /src/gnutls/src/serv.c:878,1
    - Dst: getnameinfo
      Src: /src/gnutls/src/serv.c:882,1
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - sa
    - salen
    - buf
    - buflen
    argTypes:
    - struct sockaddr*
    - socklen_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 887
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 887
    functionName: human_addr
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 4
    functionsReached:
    - strcat
    - snprintf
    - strlen
    - getnameinfo
    linkageType: ''
    returnType: char
    signature: "char *human_addr(const struct sockaddr *sa, socklen_t salen, char
      *buf,\n\t\t       size_t buflen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnutls/src/serv.c:896,1
    - Dst: FD_ZERO
      Src: /src/gnutls/src/serv.c:897,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:900,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:901,1
    - Dst: FD_SET
      Src: /src/gnutls/src/serv.c:905,1
    - Dst: MAX
      Src: /src/gnutls/src/serv.c:906,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:909,1
    - Dst: select
      Src: /src/gnutls/src/serv.c:912,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:916,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:917,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:921,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:922,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/serv.c:926,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 933
    functionName: wait_for_connection
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 2
    functionsReached:
    - FD_ISSET
    - gl_list_iterator_free
    - exit
    - FD_SET
    - MAX
    - gl_list_iterator
    - select
    - gl_list_iterator_next
    - FD_ZERO
    - perror
    linkageType: ''
    returnType: int
    signature: int wait_for_connection(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/src/serv.c:943,1
    - Dst: memset
      Src: /src/gnutls/src/serv.c:944,1
    - Dst: getaddrinfo
      Src: /src/gnutls/src/serv.c:948,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:949,1
    - Dst: gai_strerror
      Src: /src/gnutls/src/serv.c:949,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:964,1
    - Dst: human_addr
      Src: /src/gnutls/src/serv.c:965,1
    - Dst: socket
      Src: /src/gnutls/src/serv.c:969,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:971,1
    - Dst: setsockopt
      Src: /src/gnutls/src/serv.c:980,1
    - Dst: setsockopt
      Src: /src/gnutls/src/serv.c:987,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:989,1
    - Dst: close
      Src: /src/gnutls/src/serv.c:990,1
    - Dst: setsockopt
      Src: /src/gnutls/src/serv.c:996,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:998,1
    - Dst: setsockopt
      Src: /src/gnutls/src/serv.c:1001,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1003,1
    - Dst: bind
      Src: /src/gnutls/src/serv.c:1007,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1008,1
    - Dst: close
      Src: /src/gnutls/src/serv.c:1009,1
    - Dst: listen
      Src: /src/gnutls/src/serv.c:1014,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1015,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1016,1
    - Dst: xzalloc
      Src: /src/gnutls/src/serv.c:1021,1
    - Dst: gl_list_add_last
      Src: /src/gnutls/src/serv.c:1022,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1027,1
    - Dst: fflush
      Src: /src/gnutls/src/serv.c:1030,1
    - Dst: freeaddrinfo
      Src: /src/gnutls/src/serv.c:1032,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - name
    - listen_port
    - socktype
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1035
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 1035
    functionName: listen_socket
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 1
    functionsReached:
    - socket
    - exit
    - freeaddrinfo
    - setsockopt
    - snprintf
    - xzalloc
    - close
    - human_addr
    - listen
    - getaddrinfo
    - gl_list_add_last
    - fflush
    - gai_strerror
    - memset
    - bind
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int listen_socket(const char *name, int listen_port, int socktype)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1052
    functionName: strip
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void strip(char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/src/serv.c:1060,1
    - Dst: strchr
      Src: /src/gnutls/src/serv.c:1063,1
    - Dst: strchr
      Src: /src/gnutls/src/serv.c:1070,1
    - Dst: peer_print_info
      Src: /src/gnutls/src/serv.c:1078,1
    - Dst: peer_print_data
      Src: /src/gnutls/src/serv.c:1080,1
    - Dst: strip
      Src: /src/gnutls/src/serv.c:1084,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1085,1
    - Dst: check_command
      Src: /src/gnutls/src/serv.c:1087,1
    - Dst: strdup
      Src: /src/gnutls/src/serv.c:1089,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1091,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:1094,1
    - Dst: strdup
      Src: /src/gnutls/src/serv.c:1097,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1099,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:1102,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/src/serv.c:1106,1
    - Dst: strdup
      Src: /src/gnutls/src/serv.c:1117,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:1120,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 4
    argNames:
    - session
    - request
    - response
    - response_length
    argTypes:
    - gnutls_session_t
    - char*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1122
    functionName: get_response
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 1
    functionsReached:
    - strdup
    - strlen
    - peer_print_data
    - strip
    - gnutls_alert_send_appropriate
    - strchr
    - check_command
    - strncmp
    - peer_print_info
    - fprintf
    linkageType: ''
    returnType: unsigned
    signature: "unsigned get_response(gnutls_session_t session, char *request,\n\t\t\t
      \    char **response, int *response_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/gnutls/src/serv.c:1132,1
    - Dst: write
      Src: /src/gnutls/src/serv.c:1139,1
    - Dst: _exit
      Src: /src/gnutls/src/serv.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1141
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1141
    functionName: terminate
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 60
    functionsReached:
    - stpcpy
    - _exit
    - write
    linkageType: ''
    returnType: void
    signature: void terminate(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1150,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1152,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/src/serv.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - session
    - ret
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 1155
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1155
    functionName: check_alert
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 1
    functionsReached:
    - printf
    - gnutls_alert_get_name
    linkageType: ''
    returnType: void
    signature: void check_alert(gnutls_session_t session, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: tls_log_func
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - str
    argTypes:
    - gnutls_session_t
    - char*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1165
    functionName: tls_audit_log_func
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tls_audit_log_func(gnutls_session_t session, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmd_parser
      Src: /src/gnutls/src/serv.c:1175,1
    - Dst: signal
      Src: /src/gnutls/src/serv.c:1178,1
    - Dst: signal
      Src: /src/gnutls/src/serv.c:1179,1
    - Dst: signal
      Src: /src/gnutls/src/serv.c:1180,1
    - Dst: signal
      Src: /src/gnutls/src/serv.c:1181,1
    - Dst: sockets_init
      Src: /src/gnutls/src/serv.c:1184,1
    - Dst: gl_list_create_empty
      Src: /src/gnutls/src/serv.c:1186,1
    - Dst: wrap_db_init
      Src: /src/gnutls/src/serv.c:1190,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1192,1
    - Dst: strcpy
      Src: /src/gnutls/src/serv.c:1193,1
    - Dst: strcat
      Src: /src/gnutls/src/serv.c:1198,1
    - Dst: strcat
      Src: /src/gnutls/src/serv.c:1200,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/src/serv.c:1203,1
    - Dst: gnutls_global_set_audit_log_function
      Src: /src/gnutls/src/serv.c:1204,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/src/serv.c:1205,1
    - Dst: gnutls_global_init
      Src: /src/gnutls/src/serv.c:1207,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1208,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1208,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1209,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/serv.c:1212,1
    - Dst: parse_datetime
      Src: /src/gnutls/src/serv.c:1215,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1215,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1216,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1218,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1219,1
    - Dst: set_system_time
      Src: /src/gnutls/src/serv.c:1221,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1225,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/src/serv.c:1226,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1228,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1229,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/src/serv.c:1231,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1231,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1234,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1235,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1236,1
    - Dst: pkcs11_common
      Src: /src/gnutls/src/serv.c:1240,1
    - Dst: generate_dh_primes
      Src: /src/gnutls/src/serv.c:1248,1
    - Dst: read_dh_params
      Src: /src/gnutls/src/serv.c:1250,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/src/serv.c:1255,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1256,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1257,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/src/serv.c:1262,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1264,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1265,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1266,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1268,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/src/serv.c:1272,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1274,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1275,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1276,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1278,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/src/serv.c:1284,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1288,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1290,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1291,1
    - Dst: gnutls_certificate_set_rawpk_key_file
      Src: /src/gnutls/src/serv.c:1300,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1304,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1306,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1307,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1315,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1319,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1320,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1321,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1325,1
    - Dst: gnutls_certificate_set_flags
      Src: /src/gnutls/src/serv.c:1326,1
    - Dst: gnutls_certificate_set_ocsp_status_request_file
      Src: /src/gnutls/src/serv.c:1330,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1333,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1335,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1336,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/src/serv.c:1343,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1346,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1348,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1349,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1352,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1353,1
    - Dst: gnutls_certificate_set_params_function
      Src: /src/gnutls/src/serv.c:1356,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/src/serv.c:1364,1
    - Dst: gnutls_srp_set_server_credentials_file
      Src: /src/gnutls/src/serv.c:1366,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1370,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1371,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/src/serv.c:1380,1
    - Dst: gnutls_psk_set_server_credentials_file
      Src: /src/gnutls/src/serv.c:1382,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1386,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1387,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1390,1
    - Dst: gnutls_psk_set_server_credentials_hint
      Src: /src/gnutls/src/serv.c:1391,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1392,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1394,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1396,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/src/serv.c:1401,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1404,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1406,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1407,1
    - Dst: gnutls_psk_set_server_params_function
      Src: /src/gnutls/src/serv.c:1410,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/src/serv.c:1417,1
    - Dst: gnutls_anon_set_server_known_dh_params
      Src: /src/gnutls/src/serv.c:1420,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1423,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1425,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1426,1
    - Dst: gnutls_anon_set_server_params_function
      Src: /src/gnutls/src/serv.c:1429,1
    - Dst: gnutls_session_ticket_key_generate
      Src: /src/gnutls/src/serv.c:1434,1
    - Dst: gnutls_anti_replay_init
      Src: /src/gnutls/src/serv.c:1437,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1439,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1441,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1442,1
    - Dst: gnutls_anti_replay_set_add_function
      Src: /src/gnutls/src/serv.c:1444,1
    - Dst: gnutls_anti_replay_set_ptr
      Src: /src/gnutls/src/serv.c:1446,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1449,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1454,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1459,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1464,1
    - Dst: udp_server
      Src: /src/gnutls/src/serv.c:1465,1
    - Dst: tcp_server
      Src: /src/gnutls/src/serv.c:1467,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 188
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1470
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1470
    functionName: main
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 4
    functionsReached:
    - gnutls_psk_set_server_params_function
    - HAVE_OPT
    - GERR
    - gnutls_pkcs11_init
    - parse_datetime
    - gnutls_anon_set_server_known_dh_params
    - strcat
    - gnutls_certificate_set_rawpk_key_file
    - printf
    - gnutls_certificate_set_x509_key_file
    - gnutls_psk_set_server_credentials_file
    - gnutls_anon_allocate_server_credentials
    - cmd_parser
    - gnutls_global_set_log_function
    - ENABLED_OPT
    - strcpy
    - gnutls_psk_allocate_server_credentials
    - signal
    - read_dh_params
    - tcp_server
    - udp_server
    - generate_dh_primes
    - sockets_init
    - gnutls_certificate_set_known_dh_params
    - gnutls_pkcs11_add_provider
    - exit
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - pkcs11_common
    - OPT_ARG
    - gnutls_global_init
    - gnutls_srp_set_server_credentials_file
    - gnutls_anon_set_server_params_function
    - set_system_time
    - gl_list_create_empty
    - gnutls_global_set_log_level
    - gnutls_certificate_set_flags
    - gnutls_strerror
    - gnutls_psk_set_server_known_dh_params
    - gnutls_certificate_set_x509_crl_file
    - gnutls_certificate_set_ocsp_status_request_file
    - gnutls_session_ticket_key_generate
    - gnutls_certificate_set_params_function
    - gnutls_psk_set_server_credentials_hint
    - gnutls_anti_replay_init
    - gnutls_anti_replay_set_ptr
    - gnutls_srp_allocate_server_credentials
    - gnutls_global_set_audit_log_function
    - gnutls_anti_replay_set_add_function
    - fprintf
    - wrap_db_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/serv.c:1476,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/src/serv.c:1477,1
    - Dst: check_alert
      Src: /src/gnutls/src/serv.c:1478,1
    - Dst: check_alert
      Src: /src/gnutls/src/serv.c:1482,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1483,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1483,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/src/serv.c:1486,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/src/serv.c:1490,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1492,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1496,1
    - Dst: human_addr
      Src: /src/gnutls/src/serv.c:1497,1
    - Dst: print_info
      Src: /src/gnutls/src/serv.c:1502,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1504,1
    - Dst: print_key_material
      Src: /src/gnutls/src/serv.c:1505,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1506,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1507,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - j
    argTypes:
    - listener_item*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1472
    functionDepth: 2
    functionLinenumber: 1472
    functionLinenumberEnd: 1515
    functionName: retry_handshake
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - HAVE_OPT
    - gnutls_strerror
    - gnutls_session_is_resumed
    - print_key_material
    - print_info
    - gnutls_alert_send_appropriate
    - check_alert
    - gnutls_handshake
    - human_addr
    - OPT_ARG
    - gnutls_error_is_fatal
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void retry_handshake(listener_item *j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1520,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/src/serv.c:1523,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/src/serv.c:1528,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1530,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/serv.c:1531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - j
    argTypes:
    - listener_item*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1537
    functionName: try_rehandshake
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - fprintf
    - gnutls_alert_send_appropriate
    - gnutls_handshake
    linkageType: ''
    returnType: void
    signature: void try_rehandshake(listener_item *j)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listen_socket
      Src: /src/gnutls/src/serv.c:1549,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1551,1
    - Dst: gl_list_create_empty
      Src: /src/gnutls/src/serv.c:1557,1
    - Dst: time
      Src: /src/gnutls/src/serv.c:1560,1
    - Dst: FD_ZERO
      Src: /src/gnutls/src/serv.c:1565,1
    - Dst: FD_ZERO
      Src: /src/gnutls/src/serv.c:1566,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:1570,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:1571,1
    - Dst: fcntl
      Src: /src/gnutls/src/serv.c:1575,1
    - Dst: fcntl
      Src: /src/gnutls/src/serv.c:1577,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1578,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1579,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1584,1
    - Dst: FD_SET
      Src: /src/gnutls/src/serv.c:1591,1
    - Dst: MAX
      Src: /src/gnutls/src/serv.c:1592,1
    - Dst: FD_SET
      Src: /src/gnutls/src/serv.c:1595,1
    - Dst: MAX
      Src: /src/gnutls/src/serv.c:1596,1
    - Dst: FD_SET
      Src: /src/gnutls/src/serv.c:1599,1
    - Dst: MAX
      Src: /src/gnutls/src/serv.c:1600,1
    - Dst: gl_list_node_set_value
      Src: /src/gnutls/src/serv.c:1602,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:1604,1
    - Dst: select
      Src: /src/gnutls/src/serv.c:1609,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1613,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1614,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:1618,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:1619,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/serv.c:1623,1
    - Dst: memset
      Src: /src/gnutls/src/serv.c:1625,1
    - Dst: accept
      Src: /src/gnutls/src/serv.c:1626,1
    - Dst: perror
      Src: /src/gnutls/src/serv.c:1632,1
    - Dst: time
      Src: /src/gnutls/src/serv.c:1635,1
    - Dst: xzalloc
      Src: /src/gnutls/src/serv.c:1640,1
    - Dst: gl_list_add_last
      Src: /src/gnutls/src/serv.c:1641,1
    - Dst: strdup
      Src: /src/gnutls/src/serv.c:1642,1
    - Dst: initialize_session
      Src: /src/gnutls/src/serv.c:1647,1
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/src/serv.c:1648,1
    - Dst: gnutls_transport_set_int
      Src: /src/gnutls/src/serv.c:1650,1
    - Dst: set_read_funcs
      Src: /src/gnutls/src/serv.c:1652,1
    - Dst: simple_ctime
      Src: /src/gnutls/src/serv.c:1657,1
    - Dst: strlen
      Src: /src/gnutls/src/serv.c:1659,1
    - Dst: printf
      Src: /src/gnutls/src/serv.c:1661,1
    - Dst: human_addr
      Src: /src/gnutls/src/serv.c:1662,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/serv.c:1672,1
    - Dst: retry_handshake
      Src: /src/gnutls/src/serv.c:1678,1
    - Dst: gnutls_record_recv_early_data
      Src: /src/gnutls/src/serv.c:1684,1
    - Dst: MIN
      Src: /src/gnutls/src/serv.c:1686,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/src/serv.c:1697,1
    - Dst: MIN
      Src: /src/gnutls/src/serv.c:1699,1
    - Dst: gnutls_heartbeat_pong
      Src: /src/gnutls/src/serv.c:1708,1
    - Dst: try_rehandshake
      Src: /src/gnutls/src/serv.c:1713,1
    - Dst: check_alert
      Src: /src/gnutls/src/serv.c:1719,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1722,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/src/serv.c:1725,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1731,1
    - Dst: realloc
      Src: /src/gnutls/src/serv.c:1736,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:1742,1
    - Dst: strchr
      Src: /src/gnutls/src/serv.c:1761,1
    - Dst: strstr
      Src: /src/gnutls/src/serv.c:1763,1
    - Dst: strstr
      Src: /src/gnutls/src/serv.c:1765,1
    - Dst: get_response
      Src: /src/gnutls/src/serv.c:1767,1
    - Dst: FD_ISSET
      Src: /src/gnutls/src/serv.c:1785,1
    - Dst: retry_handshake
      Src: /src/gnutls/src/serv.c:1790,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/src/serv.c:1798,1
    - Dst: MIN
      Src: /src/gnutls/src/serv.c:1802,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1812,1
    - Dst: GERR
      Src: /src/gnutls/src/serv.c:1814,1
    - Dst: check_alert
      Src: /src/gnutls/src/serv.c:1816,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:1828,1
    - Dst: gl_list_node_set_value
      Src: /src/gnutls/src/serv.c:1846,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:1848,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:1851,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:1852,1
    - Dst: gl_list_remove_node
      Src: /src/gnutls/src/serv.c:1856,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:1859,1
    - Dst: gl_list_iterator
      Src: /src/gnutls/src/serv.c:1861,1
    - Dst: gl_list_iterator_next
      Src: /src/gnutls/src/serv.c:1862,1
    - Dst: gl_list_add_last
      Src: /src/gnutls/src/serv.c:1863,1
    - Dst: gl_list_iterator_free
      Src: /src/gnutls/src/serv.c:1865,1
    - Dst: gl_list_free
      Src: /src/gnutls/src/serv.c:1866,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/src/serv.c:1869,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/src/serv.c:1873,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/src/serv.c:1878,1
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/src/serv.c:1882,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/serv.c:1886,1
    - Dst: gnutls_anti_replay_deinit
      Src: /src/gnutls/src/serv.c:1889,1
    - Dst: wrap_db_deinit
      Src: /src/gnutls/src/serv.c:1892,1
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/src/serv.c:1893,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 202
    argCount: 3
    argNames:
    - name
    - port
    - timeout
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1894
      start: 1539
    functionDepth: 3
    functionLinenumber: 1539
    functionLinenumberEnd: 1894
    functionName: tcp_server
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 1
    functionsReached:
    - GERR
    - gnutls_psk_free_server_credentials
    - gnutls_session_set_ptr
    - gnutls_global_deinit
    - gnutls_anon_free_server_credentials
    - try_rehandshake
    - time
    - strchr
    - gnutls_certificate_free_credentials
    - select
    - retry_handshake
    - gnutls_record_recv
    - printf
    - FD_ZERO
    - perror
    - set_read_funcs
    - FD_ISSET
    - accept
    - free
    - FD_SET
    - get_response
    - gnutls_record_send
    - gnutls_record_recv_early_data
    - human_addr
    - check_alert
    - gnutls_alert_send_appropriate
    - gl_list_node_set_value
    - strstr
    - simple_ctime
    - MIN
    - memset
    - realloc
    - gnutls_transport_set_int
    - gl_list_remove_node
    - gnutls_srp_free_server_credentials
    - exit
    - gl_list_iterator_free
    - strlen
    - initialize_session
    - xzalloc
    - gl_list_iterator
    - gl_list_add_last
    - wrap_db_deinit
    - gl_list_create_empty
    - listen_socket
    - gnutls_heartbeat_pong
    - strdup
    - gnutls_free
    - fcntl
    - gnutls_anti_replay_deinit
    - MAX
    - gl_list_free
    - gl_list_iterator_next
    - memcpy
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tcp_server(const char *name, int port, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: optionProcess
      Src: /src/gnutls/src/serv.c:1898,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1900,1
    - Dst: ENABLED_OPT
      Src: /src/gnutls/src/serv.c:1901,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1902,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1905,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1908,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1909,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1911,1
    - Dst: print_list
      Src: /src/gnutls/src/serv.c:1912,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1913,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1916,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1917,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1918,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1920,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1922,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1929,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1934,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1936,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1937,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1939,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1940,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1941,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1944,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1945,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1946,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1949,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1950,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1951,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1955,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1958,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1961,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1962,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1963,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1964,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1966,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1967,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1968,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1971,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1972,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1973,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:1977,1
    - Dst: exit
      Src: /src/gnutls/src/serv.c:1980,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1983,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1984,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1985,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1986,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1988,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1989,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1991,1
    - Dst: STACKLST_OPT
      Src: /src/gnutls/src/serv.c:1992,1
    - Dst: STACKCT_OPT
      Src: /src/gnutls/src/serv.c:1993,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1996,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:1997,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:1999,1
    - Dst: HAVE_OPT
      Src: /src/gnutls/src/serv.c:2002,1
    - Dst: OPT_ARG
      Src: /src/gnutls/src/serv.c:2003,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2004
      start: 1896
    functionDepth: 2
    functionLinenumber: 1896
    functionLinenumberEnd: 2004
    functionName: cmd_parser
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 8
    functionsReached:
    - HAVE_OPT
    - ENABLED_OPT
    - exit
    - OPT_ARG
    - STACKLST_OPT
    - STACKCT_OPT
    - optionProcess
    - fprintf
    - print_list
    linkageType: ''
    returnType: void
    signature: void cmd_parser(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2024
    functionName: wrap_db_init
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wrap_db_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/src/serv.c:2031,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:2032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2033
    functionName: wrap_db_deinit
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void wrap_db_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/src/serv.c:2038,1
    - Dst: gnutls_db_check_entry_expire_time
      Src: /src/gnutls/src/serv.c:2052,1
    - Dst: fprintf
      Src: /src/gnutls/src/serv.c:2059,1
    - Dst: realloc
      Src: /src/gnutls/src/serv.c:2063,1
    - Dst: memset
      Src: /src/gnutls/src/serv.c:2067,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:2073,1
    - Dst: realloc
      Src: /src/gnutls/src/serv.c:2078,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:2084,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - dbf
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 2089
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2089
    functionName: wrap_db_store
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - time
    - memcpy
    - memset
    - gnutls_db_check_entry_expire_time
    - fprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: int wrap_db_store(void *dbf, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/src/serv.c:2094,1
    - Dst: memcmp
      Src: /src/gnutls/src/serv.c:2099,1
    - Dst: gnutls_db_check_entry_expire_time
      Src: /src/gnutls/src/serv.c:2100,1
    - Dst: malloc
      Src: /src/gnutls/src/serv.c:2104,1
    - Dst: memcpy
      Src: /src/gnutls/src/serv.c:2108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 2115
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2115
    functionName: wrap_db_fetch
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - time
    - memcmp
    - memcpy
    - gnutls_db_check_entry_expire_time
    - malloc
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t wrap_db_fetch(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/src/serv.c:2123,1
    - Dst: free
      Src: /src/gnutls/src/serv.c:2125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - dbf
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 2134
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2134
    functionName: wrap_db_delete
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - free
    - memcmp
    linkageType: ''
    returnType: int
    signature: int wrap_db_delete(void *dbf, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnutls/src/serv.c:2139,1
    - Dst: memcmp
      Src: /src/gnutls/src/serv.c:2144,1
    - Dst: gnutls_db_check_entry_expire_time
      Src: /src/gnutls/src/serv.c:2145,1
    - Dst: wrap_db_store
      Src: /src/gnutls/src/serv.c:2150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - dbf
    - exp
    - key
    - data
    argTypes:
    - void*
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2151
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2151
    functionName: anti_replay_db_add
    functionSourceFile: /src/gnutls/src/serv.c
    functionUses: 0
    functionsReached:
    - gnutls_db_check_entry_expire_time
    - wrap_db_store
    - time
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int anti_replay_db_add(void *dbf, time_t exp, const gnutls_datum_t
      *key,\n\t\t\t      const gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/certtool-cfg.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: cfg_init
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cfg_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:363,1
    - Dst: strncasecmp
      Src: /src/gnutls/src/certtool-cfg.c:365,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-cfg.c:368,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - cfg_option_t
    constantsTouched: []
    func_position:
      end: 383
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 383
    functionName: handle_option
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - fprintf
    - strlen
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int handle_option(cfg_option_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_load
      Src: /src/gnutls/src/certtool-cfg.c:394,1
    - Dst: perror
      Src: /src/gnutls/src/certtool-cfg.c:396,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:397,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:398,1
    - Dst: handle_option
      Src: /src/gnutls/src/certtool-cfg.c:402,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:403,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:410,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:412,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:415,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:417,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:420,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:422,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:424,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:426,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:428,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:430,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:432,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:434,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:436,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:438,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:440,1
    - Dst: HEX_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:442,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:445,1
    - Dst: HEX_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:447,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:450,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:452,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:454,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:456,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:458,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:460,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:462,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:464,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:466,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:468,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:470,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:472,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:474,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:476,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:478,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:480,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:482,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:484,1
    - Dst: READ_NUMERIC
      Src: /src/gnutls/src/certtool-cfg.c:486,1
    - Dst: snprintf
      Src: /src/gnutls/src/certtool-cfg.c:489,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:490,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:492,1
    - Dst: snprintf
      Src: /src/gnutls/src/certtool-cfg.c:495,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:496,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:498,1
    - Dst: snprintf
      Src: /src/gnutls/src/certtool-cfg.c:500,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:501,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:503,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:508,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:509,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:510,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:511,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:512,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:513,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:514,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:516,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:517,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:518,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:519,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:521,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:522,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:523,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:524,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:525,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:526,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:528,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:530,1
    - Dst: READ_MULTI_LINE_TOKENIZED
      Src: /src/gnutls/src/certtool-cfg.c:531,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:534,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:536,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:538,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:540,1
    - Dst: SERIAL_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:542,1
    - Dst: READ_NUMERIC
      Src: /src/gnutls/src/certtool-cfg.c:544,1
    - Dst: READ_NUMERIC
      Src: /src/gnutls/src/certtool-cfg.c:545,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:547,1
    - Dst: SERIAL_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:549,1
    - Dst: READ_NUMERIC
      Src: /src/gnutls/src/certtool-cfg.c:551,1
    - Dst: cfg_next
      Src: /src/gnutls/src/certtool-cfg.c:553,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:555,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:557,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:558,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:560,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:561,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:562,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:564,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:565,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:566,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:567,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:568,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:569,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:570,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:571,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:572,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:573,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:574,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:576,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:577,1
    - Dst: READ_BOOLEAN
      Src: /src/gnutls/src/certtool-cfg.c:578,1
    - Dst: READ_MULTI_LINE
      Src: /src/gnutls/src/certtool-cfg.c:580,1
    - Dst: cfg_free
      Src: /src/gnutls/src/certtool-cfg.c:582,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 144
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 585
    functionName: template_parse
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - strdup
    - exit
    - READ_BOOLEAN
    - READ_MULTI_LINE_TOKENIZED
    - cfg_load
    - snprintf
    - HEX_DECODE
    - SERIAL_DECODE
    - cfg_free
    - cfg_next
    - READ_NUMERIC
    - READ_MULTI_LINE
    - handle_option
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int template_parse(const char *template)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - str
    - str_size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: strip_nl
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strip_nl(char *str, size_t str_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:607,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:609,1
    - Dst: memcpy
      Src: /src/gnutls/src/certtool-cfg.c:611,1
    - Dst: strip_nl
      Src: /src/gnutls/src/certtool-cfg.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - out
    - out_size
    - in
    - in_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 614
    functionName: copystr_without_nl
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - exit
    - fprintf
    - strip_nl
    linkageType: ''
    returnType: int
    signature: "int copystr_without_nl(char *out, size_t out_size, const char *in,\n\t\t\t
      \     size_t in_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/certtool-cfg.c:622,1
    - Dst: getline
      Src: /src/gnutls/src/certtool-cfg.c:623,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/certtool-cfg.c:627,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:628,1
    - Dst: strip_nl
      Src: /src/gnutls/src/certtool-cfg.c:632,1
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:634,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:636,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:636,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:637,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - crt
    - input_str
    - oid
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 640
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 640
    functionName: read_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - fputs
    - free
    - strip_nl
    - IS_NEWLINE
    - gnutls_x509_crt_set_dn_by_oid
    - getline
    - fprintf
    linkageType: ''
    returnType: void
    signature: void read_crt_set(gnutls_x509_crt_t crt, const char *input_str, const
      char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/certtool-cfg.c:648,1
    - Dst: getline
      Src: /src/gnutls/src/certtool-cfg.c:649,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/certtool-cfg.c:653,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:654,1
    - Dst: strip_nl
      Src: /src/gnutls/src/certtool-cfg.c:658,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:660,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:662,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:662,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:663,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - crq
    - input_str
    - oid
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 666
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 666
    functionName: read_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - fputs
    - free
    - strip_nl
    - gnutls_x509_crq_set_dn_by_oid
    - IS_NEWLINE
    - getline
    - fprintf
    linkageType: ''
    returnType: void
    signature: void read_crq_set(gnutls_x509_crq_t crq, const char *input_str, const
      char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:678,1
    - Dst: fgets
      Src: /src/gnutls/src/certtool-cfg.c:679,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/certtool-cfg.c:682,1
    - Dst: strtoll
      Src: /src/gnutls/src/certtool-cfg.c:686,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:689,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:696,1
    - Dst: strtol
      Src: /src/gnutls/src/certtool-cfg.c:701,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:704,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:711,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - input_str
    - def
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 721
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 721
    functionName: read_int_with_default
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - strtoll
    - strtol
    - IS_NEWLINE
    - fprintf
    - fgets
    linkageType: ''
    returnType: int64_t
    signature: int64_t read_int_with_default(const char *input_str, long def)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_int_with_default
      Src: /src/gnutls/src/certtool-cfg.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: read_int
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - read_int_with_default
    linkageType: ''
    returnType: int64_t
    signature: int64_t read_int(const char *input_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:741,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/src/certtool-cfg.c:745,1
    - Dst: strtol
      Src: /src/gnutls/src/certtool-cfg.c:748,1
    - Dst: strtoll
      Src: /src/gnutls/src/certtool-cfg.c:751,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:756,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:761,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/certtool-cfg.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 781
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 781
    functionName: serial_decode
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - strtoll
    - strlen
    - gnutls_hex_decode2
    - strtol
    - gnutls_malloc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int serial_decode(const char *input, gnutls_datum_t *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/certtool-cfg.c:790,1
    - Dst: getline
      Src: /src/gnutls/src/certtool-cfg.c:791,1
    - Dst: copystr_without_nl
      Src: /src/gnutls/src/certtool-cfg.c:795,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:796,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/certtool-cfg.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - input_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 807
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 807
    functionName: read_str
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - fputs
    - free
    - IS_NEWLINE
    - getline
    - copystr_without_nl
    linkageType: ''
    returnType: char
    signature: char *read_str(const char *input_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnutls/src/certtool-cfg.c:818,1
    - Dst: fgets
      Src: /src/gnutls/src/certtool-cfg.c:819,1
    - Dst: IS_NEWLINE
      Src: /src/gnutls/src/certtool-cfg.c:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - input_str
    - def
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 831
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 831
    functionName: read_yesno
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 4
    functionsReached:
    - fputs
    - IS_NEWLINE
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_yesno(const char *input_str, int def)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/certtool-cfg.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: get_pass
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - getpass
    linkageType: ''
    returnType: char
    signature: char *get_pass(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:853,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:856,1
    - Dst: getpass
      Src: /src/gnutls/src/certtool-cfg.c:858,1
    - Dst: strdup
      Src: /src/gnutls/src/certtool-cfg.c:859,1
    - Dst: CHECK_MALLOC
      Src: /src/gnutls/src/certtool-cfg.c:860,1
    - Dst: getpass
      Src: /src/gnutls/src/certtool-cfg.c:861,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool-cfg.c:862,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:865,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - empty_ok
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 869
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 869
    functionName: get_confirmed_pass
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - strdup
    - getpass
    - fprintf
    - free
    - strcmp
    - CHECK_MALLOC
    linkageType: ''
    returnType: char
    signature: char *get_confirmed_pass(bool empty_ok)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpass
      Src: /src/gnutls/src/certtool-cfg.c:876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: get_challenge_pass
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - getpass
    linkageType: ''
    returnType: char
    signature: char *get_challenge_pass(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_crl_dist_points
      Src: /src/gnutls/src/certtool-cfg.c:888,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:899,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:902,1
    - Dst: gnutls_x509_crt_set_crl_dist_points
      Src: /src/gnutls/src/certtool-cfg.c:908,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:918,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:919,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:920,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 922
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 922
    functionName: get_crl_dist_point_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_set_crl_dist_points
    - gnutls_strerror
    - exit
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_crl_dist_point_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:931,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:933,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:935,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:935,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:936,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: get_country_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_country_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:954,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:957,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:959,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:960,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:961,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 968
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 968
    functionName: get_organization_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_organization_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:980,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:982,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:984,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:985,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:986,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 993
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 993
    functionName: get_unit_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_unit_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1002,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1004,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1006,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1006,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1007,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1013
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1013
    functionName: get_state_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_state_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1022,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1024,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1026,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1026,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1027,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1033
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1033
    functionName: get_locality_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_locality_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1042,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1044,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1046,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1047,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1048,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1053
    functionName: get_cn_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_cn_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn
      Src: /src/gnutls/src/certtool-cfg.c:1063,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1065,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1066,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1070
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1070
    functionName: get_dn_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_set_dn
    - exit
    - gnutls_strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_dn_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/src/certtool-cfg.c:1087,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1089,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1089,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1090,1
    - Dst: gnutls_x509_cidr_to_rfc5280
      Src: /src/gnutls/src/certtool-cfg.c:1095,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1098,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1100,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1101,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/src/certtool-cfg.c:1103,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1106,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1108,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1109,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:1111,1
    - Dst: gnutls_x509_cidr_to_rfc5280
      Src: /src/gnutls/src/certtool-cfg.c:1117,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1120,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1122,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1123,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/src/certtool-cfg.c:1125,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1128,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1130,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1131,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:1133,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1140,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/src/certtool-cfg.c:1141,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1144,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1146,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1147,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1155,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/src/certtool-cfg.c:1156,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1159,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1161,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1162,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1170,1
    - Dst: gnutls_x509_name_constraints_add_permitted
      Src: /src/gnutls/src/certtool-cfg.c:1171,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1176,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1177,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1185,1
    - Dst: gnutls_x509_name_constraints_add_excluded
      Src: /src/gnutls/src/certtool-cfg.c:1186,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1189,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1191,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1192,1
    - Dst: gnutls_x509_crt_set_name_constraints
      Src: /src/gnutls/src/certtool-cfg.c:1197,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1199,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1200,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1201,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/src/certtool-cfg.c:1204,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1206
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1206
    functionName: crt_constraints_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - gnutls_x509_name_constraints_add_permitted
    - strlen
    - free
    - gnutls_x509_name_constraints_init
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_name_constraints_add_excluded
    - gnutls_x509_cidr_to_rfc5280
    - fprintf
    - gnutls_x509_crt_set_name_constraints
    linkageType: ''
    returnType: void
    signature: void crt_constraints_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_unique_id
      Src: /src/gnutls/src/certtool-cfg.c:1218,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1222,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1224,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1225,1
    - Dst: gnutls_x509_crt_set_issuer_unique_id
      Src: /src/gnutls/src/certtool-cfg.c:1230,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1234,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1236,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1241
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1241
    functionName: crt_unique_ids_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crt_set_issuer_unique_id
    - fprintf
    - gnutls_x509_crt_set_subject_unique_id
    linkageType: ''
    returnType: void
    signature: void crt_unique_ids_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1250,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1251,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1253,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1253,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1254,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:1257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1259
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1259
    functionName: get_uid_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_uid_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1270,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1273,1
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1275,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1277,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1280,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1281,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1286
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1286
    functionName: get_oid_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_oid_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/src/certtool-cfg.c:1301,1
    - Dst: strncmp
      Src: /src/gnutls/src/certtool-cfg.c:1303,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1306,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1307,1
    - Dst: strchr
      Src: /src/gnutls/src/certtool-cfg.c:1310,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1312,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1315,1
    - Dst: strncmp
      Src: /src/gnutls/src/certtool-cfg.c:1322,1
    - Dst: HEX_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:1324,1
    - Dst: asn1_encode_simple_der
      Src: /src/gnutls/src/certtool-cfg.c:1329,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1332,1
    - Dst: asn1_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1333,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1334,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/src/certtool-cfg.c:1336,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1338,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1339,1
    - Dst: memcpy
      Src: /src/gnutls/src/certtool-cfg.c:1341,1
    - Dst: memcpy
      Src: /src/gnutls/src/certtool-cfg.c:1342,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - str
    - ret_size
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1351
    functionName: decode_ext_string
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_free
    - HEX_DECODE
    - gnutls_malloc
    - strchr
    - asn1_strerror
    - asn1_encode_simple_der
    - strncmp
    - memcpy
    - fprintf
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *decode_ext_string(char *str, unsigned int *ret_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1364,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1367,1
    - Dst: decode_ext_string
      Src: /src/gnutls/src/certtool-cfg.c:1371,1
    - Dst: gnutls_x509_crt_set_extension_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1375,1
    - Dst: gnutls_x509_crq_set_extension_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1379,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1383,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1385,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1386,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1387,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1396,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1399,1
    - Dst: decode_ext_string
      Src: /src/gnutls/src/certtool-cfg.c:1402,1
    - Dst: gnutls_x509_crt_set_extension_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1406,1
    - Dst: gnutls_x509_crq_set_extension_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1410,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1414,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1417,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1418,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1423
    functionName: get_extensions_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - exit
    - gnutls_free
    - gnutls_strerror
    - gnutls_x509_crt_set_extension_by_oid
    - gnutls_x509_crq_set_extension_by_oid
    - decode_ext_string
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_extensions_crt_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_key_purpose_oid
      Src: /src/gnutls/src/certtool-cfg.c:1434,1
    - Dst: gnutls_x509_crq_set_key_purpose_oid
      Src: /src/gnutls/src/certtool-cfg.c:1437,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1441,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1444,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1449
    functionName: get_key_purpose_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_set_key_purpose_oid
    - gnutls_x509_crq_set_key_purpose_oid
    - exit
    - gnutls_strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_key_purpose_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1461,1
    - Dst: gnutls_x509_crt_set_authority_info_access
      Src: /src/gnutls/src/certtool-cfg.c:1462,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1465,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1466,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1471
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1471
    functionName: get_ocsp_issuer_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - fprintf
    - gnutls_x509_crt_set_authority_info_access
    linkageType: ''
    returnType: void
    signature: void get_ocsp_issuer_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1483,1
    - Dst: gnutls_x509_crt_set_authority_info_access
      Src: /src/gnutls/src/certtool-cfg.c:1484,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1487,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1489,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1494
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1494
    functionName: get_ca_issuers_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - fprintf
    - gnutls_x509_crt_set_authority_info_access
    linkageType: ''
    returnType: void
    signature: void get_ca_issuers_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:1503,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1505,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1507,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1507,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1508,1
    - Dst: read_crt_set
      Src: /src/gnutls/src/certtool-cfg.c:1511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1513
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1513
    functionName: get_pkcs9_email_crt_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - read_crt_set
    - gnutls_x509_crt_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_pkcs9_email_crt_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_system_time
      Src: /src/gnutls/src/certtool-cfg.c:1525,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/certtool-cfg.c:1545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - serial
    - size
    argTypes:
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1546
    functionName: default_crl_number
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    - get_system_time
    linkageType: ''
    returnType: int
    signature: int default_crl_number(unsigned char *serial, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/src/certtool-cfg.c:1576,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1578,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1579,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1583,1
    - Dst: fgets
      Src: /src/gnutls/src/certtool-cfg.c:1589,1
    - Dst: strip_nl
      Src: /src/gnutls/src/certtool-cfg.c:1592,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:1592,1
    - Dst: serial_decode
      Src: /src/gnutls/src/certtool-cfg.c:1597,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1599,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1606,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1610,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1615,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1623,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1625,1
    - Dst: memcpy
      Src: /src/gnutls/src/certtool-cfg.c:1629,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1631,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-cfg.c:1635,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - serial
    - size
    - max_size
    - label
    - rfc_section
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1636
    functionName: read_serial_value
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_hex_encode2
    - gnutls_free
    - strlen
    - strip_nl
    - serial_decode
    - memcpy
    - fprintf
    - fgets
    linkageType: ''
    returnType: void
    signature: "void read_serial_value(unsigned char *serial, size_t *size,\n\t\t\t
      \     size_t max_size, const char *label,\n\t\t\t      const char *rfc_section)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1648,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1650,1
    - Dst: memcpy
      Src: /src/gnutls/src/certtool-cfg.c:1652,1
    - Dst: create_default
      Src: /src/gnutls/src/certtool-cfg.c:1655,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1657,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1658,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1659,1
    - Dst: read_serial_value
      Src: /src/gnutls/src/certtool-cfg.c:1664,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1668,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1672,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1676,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - serial
    - size
    - config
    - config_size
    - label
    - rfc_section
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1682
      start: 1638
    functionDepth: 3
    functionLinenumber: 1638
    functionLinenumberEnd: 1682
    functionName: get_serial_value
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - create_default
    - memcpy
    - fprintf
    - read_serial_value
    linkageType: ''
    returnType: void
    signature: "void get_serial_value(unsigned char *serial, size_t *size,\n\t\t\t
      \    const unsigned char *config, size_t config_size,\n\t\t\t     int(create_default)(unsigned
      char *, size_t *),\n\t\t\t     const char *label, const char *rfc_section)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/src/certtool-cfg.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - serial
    - size
    argTypes:
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1702
    functionName: default_serial
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int default_serial(unsigned char *serial, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_serial_value
      Src: /src/gnutls/src/certtool-cfg.c:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serial
    - size
    argTypes:
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1709
      start: 1704
    functionDepth: 4
    functionLinenumber: 1704
    functionLinenumberEnd: 1709
    functionName: get_serial
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - get_serial_value
    linkageType: ''
    returnType: void
    signature: void get_serial(unsigned char *serial, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_datetime
      Src: /src/gnutls/src/certtool-cfg.c:1715,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1717,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - date
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1722
    functionName: get_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - parse_datetime
    linkageType: ''
    returnType: time_t
    signature: time_t get_date(const char *date)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_date
      Src: /src/gnutls/src/certtool-cfg.c:1729,1
    - Dst: get_system_time
      Src: /src/gnutls/src/certtool-cfg.c:1732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1724
    functionDepth: 2
    functionLinenumber: 1724
    functionLinenumberEnd: 1734
    functionName: get_activation_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - get_date
    - get_system_time
    linkageType: ''
    returnType: time_t
    signature: time_t get_activation_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_date
      Src: /src/gnutls/src/certtool-cfg.c:1741,1
    - Dst: get_system_time
      Src: /src/gnutls/src/certtool-cfg.c:1744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1746
    functionName: get_crl_revocation_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - get_date
    - get_system_time
    linkageType: ''
    returnType: time_t
    signature: time_t get_crl_revocation_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_date
      Src: /src/gnutls/src/certtool-cfg.c:1753,1
    - Dst: get_system_time
      Src: /src/gnutls/src/certtool-cfg.c:1756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1758
    functionName: get_crl_this_update_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - get_date
    - get_system_time
    linkageType: ''
    returnType: time_t
    signature: time_t get_crl_this_update_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_system_time
      Src: /src/gnutls/src/certtool-cfg.c:1766,1
    - Dst: INT_MULTIPLY_OVERFLOW
      Src: /src/gnutls/src/certtool-cfg.c:1770,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/src/certtool-cfg.c:1778,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1788,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - days
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1790
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1790
    functionName: days_to_secs
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - INT_MULTIPLY_OVERFLOW
    - fprintf
    - INT_ADD_OVERFLOW
    - get_system_time
    linkageType: ''
    returnType: time_t
    signature: time_t days_to_secs(int days)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: days_to_secs
      Src: /src/gnutls/src/certtool-cfg.c:1799,1
    - Dst: days_to_secs
      Src: /src/gnutls/src/certtool-cfg.c:1801,1
    - Dst: get_date
      Src: /src/gnutls/src/certtool-cfg.c:1806,1
    - Dst: read_int
      Src: /src/gnutls/src/certtool-cfg.c:1811,1
    - Dst: days_to_secs
      Src: /src/gnutls/src/certtool-cfg.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - txt_val
    - int_val
    - msg
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1815
    functionName: get_int_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - days_to_secs
    - get_date
    - read_int
    linkageType: ''
    returnType: time_t
    signature: time_t get_int_date(const char *txt_val, int int_val, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_date
      Src: /src/gnutls/src/certtool-cfg.c:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1817
    functionDepth: 4
    functionLinenumber: 1817
    functionLinenumberEnd: 1821
    functionName: get_expiration_date
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - get_int_date
    linkageType: ''
    returnType: time_t
    signature: time_t get_expiration_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1832
    functionName: get_ca_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 5
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_ca_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:1839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1843
    functionName: get_crq_extensions_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_crq_extensions_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_serial_value
      Src: /src/gnutls/src/certtool-cfg.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serial
    - size
    argTypes:
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1845
    functionDepth: 4
    functionLinenumber: 1845
    functionLinenumberEnd: 1849
    functionName: get_crl_number
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - get_serial_value
    linkageType: ''
    returnType: void
    signature: void get_crl_number(unsigned char *serial, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_int_with_default
      Src: /src/gnutls/src/certtool-cfg.c:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1851
    functionDepth: 2
    functionLinenumber: 1851
    functionLinenumberEnd: 1860
    functionName: get_path_len
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_int_with_default
    linkageType: ''
    returnType: int
    signature: int get_path_len(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:1872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1862
    functionDepth: 3
    functionLinenumber: 1862
    functionLinenumberEnd: 1876
    functionName: get_pkcs12_key_name
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - read_str
    linkageType: ''
    returnType: char
    signature: char *get_pkcs12_key_name(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1886
    functionName: get_tls_client_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_tls_client_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:1893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1896
    functionName: get_tls_server_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_tls_server_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/src/certtool-cfg.c:1906,1
    - Dst: inet_pton
      Src: /src/gnutls/src/certtool-cfg.c:1907,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1909,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1910,1
    - Dst: inet_pton
      Src: /src/gnutls/src/certtool-cfg.c:1918,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1920,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ip
    - str
    argTypes:
    - unsigned char*
    - char*
    constantsTouched: []
    func_position:
      end: 1926
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1926
    functionName: string_to_ip
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - inet_pton
    - strchr
    linkageType: ''
    returnType: int
    signature: int string_to_ip(unsigned char *ip, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: string_to_ip
      Src: /src/gnutls/src/certtool-cfg.c:1939,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1941,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1943,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:1947,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:1951,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:1961,1
    - Dst: string_to_ip
      Src: /src/gnutls/src/certtool-cfg.c:1966,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1968,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1969,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:1973,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:1977,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:1983,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:1984,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:1985,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1928
    functionDepth: 3
    functionLinenumber: 1928
    functionLinenumberEnd: 1987
    functionName: get_ip_addr_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - exit
    - gnutls_strerror
    - string_to_ip
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_ip_addr_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:1999,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2001,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2004,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2006,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2015,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2021,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2022,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2025,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2026,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2031,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2032,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2035
      start: 1989
    functionDepth: 3
    functionLinenumber: 1989
    functionLinenumberEnd: 2035
    functionName: get_email_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_email_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2047,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2049,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2051,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2053,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2064,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2067,1
    - Dst: gnutls_x509_crt_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2074,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2076,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2078,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2080,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2088,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2088,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2089,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2037
    functionDepth: 3
    functionLinenumber: 2037
    functionLinenumberEnd: 2091
    functionName: get_dc_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - gnutls_x509_crt_set_dn_by_oid
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_dc_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2103,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2106,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2109,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2112,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2124,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2127,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2134,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2135,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2138,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2139,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2146,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2147,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2150
      start: 2093
    functionDepth: 3
    functionLinenumber: 2093
    functionLinenumberEnd: 2150
    functionName: get_dns_name_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_dns_name_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2162,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2165,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2168,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2171,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2180,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2182,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2152
    functionDepth: 1
    functionLinenumber: 2152
    functionLinenumberEnd: 2187
    functionName: set_krb5_principal
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_krb5_principal(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2204,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2207,1
    - Dst: HEX_DECODE
      Src: /src/gnutls/src/certtool-cfg.c:2210,1
    - Dst: gnutls_x509_crt_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2215,1
    - Dst: gnutls_x509_crq_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2219,1
    - Dst: free
      Src: /src/gnutls/src/certtool-cfg.c:2222,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2231,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2232,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2237
    functionName: set_othername
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - gnutls_x509_crq_set_subject_alt_othername
    - free
    - HEX_DECODE
    - gnutls_x509_crt_set_subject_alt_othername
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_othername(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2252,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2255,1
    - Dst: gnutls_x509_crt_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2259,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2261,1
    - Dst: gnutls_x509_crq_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2265,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2267,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2277,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2278,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2283
    functionName: set_othername_utf8
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_subject_alt_othername
    - gnutls_x509_crt_set_subject_alt_othername
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_othername_utf8(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2298,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2301,1
    - Dst: gnutls_x509_crt_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2305,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2307,1
    - Dst: gnutls_x509_crq_set_subject_alt_othername
      Src: /src/gnutls/src/certtool-cfg.c:2311,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2313,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2323,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2324,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2329
      start: 2285
    functionDepth: 1
    functionLinenumber: 2285
    functionLinenumberEnd: 2329
    functionName: set_othername_octet
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_subject_alt_othername
    - gnutls_x509_crt_set_subject_alt_othername
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_othername_octet(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2341,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2344,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2347,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2350,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2359,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2360,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2365
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2365
    functionName: set_xmpp_name
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: int set_xmpp_name(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_othername
      Src: /src/gnutls/src/certtool-cfg.c:2369,1
    - Dst: set_othername_octet
      Src: /src/gnutls/src/certtool-cfg.c:2370,1
    - Dst: set_othername_utf8
      Src: /src/gnutls/src/certtool-cfg.c:2371,1
    - Dst: set_xmpp_name
      Src: /src/gnutls/src/certtool-cfg.c:2372,1
    - Dst: set_krb5_principal
      Src: /src/gnutls/src/certtool-cfg.c:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2367
    functionDepth: 2
    functionLinenumber: 2367
    functionLinenumberEnd: 2374
    functionName: get_other_name_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - set_xmpp_name
    - set_othername
    - set_krb5_principal
    - set_othername_utf8
    - set_othername_octet
    linkageType: ''
    returnType: void
    signature: void get_other_name_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_inhibit_anypolicy
      Src: /src/gnutls/src/certtool-cfg.c:2383,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2386,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2388,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2389,1
    - Dst: memset
      Src: /src/gnutls/src/certtool-cfg.c:2394,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2403,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2413,1
    - Dst: gnutls_x509_crt_set_policy
      Src: /src/gnutls/src/certtool-cfg.c:2417,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2424,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2424,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 2427
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2427
    functionName: get_policy_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crt_set_inhibit_anypolicy
    - gnutls_x509_crt_set_policy
    - memset
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_policy_set(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2439,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2441,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2443,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2445,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2456,1
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2459,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2466,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2467,1
    - Dst: gnutls_x509_crq_set_subject_alt_name
      Src: /src/gnutls/src/certtool-cfg.c:2470,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2471,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2480,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2481,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2482,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2429
    functionDepth: 3
    functionLinenumber: 2429
    functionLinenumberEnd: 2484
    functionName: get_uri_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_subject_alt_name
    - gnutls_x509_crt_set_subject_alt_name
    - read_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_uri_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - server
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2499
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2499
    functionName: get_sign_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_sign_status(int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - server
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2514
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2514
    functionName: get_encrypt_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_encrypt_status(int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2525
    functionName: get_cert_sign_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_cert_sign_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2536
    functionName: get_crl_sign_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_crl_sign_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2546
    functionName: get_key_agreement_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_key_agreement_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2556
    functionName: get_non_repudiation_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_non_repudiation_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2567
    functionName: get_data_encipherment_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_data_encipherment_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2578
    functionName: get_code_sign_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_code_sign_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2589
    functionName: get_ocsp_sign_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_ocsp_sign_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2600
    functionName: get_time_stamp_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_time_stamp_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2611
    functionName: get_email_protection_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_email_protection_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_yesno
      Src: /src/gnutls/src/certtool-cfg.c:2618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2622
    functionName: get_ipsec_ike_status
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - read_yesno
    linkageType: ''
    returnType: int
    signature: int get_ipsec_ike_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_int_date
      Src: /src/gnutls/src/certtool-cfg.c:2626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2624
    functionDepth: 4
    functionLinenumber: 2624
    functionLinenumberEnd: 2628
    functionName: get_crl_next_update
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - get_int_date
    linkageType: ''
    returnType: time_t
    signature: time_t get_crl_next_update(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_str
      Src: /src/gnutls/src/certtool-cfg.c:2640,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool-cfg.c:2648,1
    - Dst: strcmp
      Src: /src/gnutls/src/certtool-cfg.c:2649,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - policy
    - policylen
    argTypes:
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2630
    functionDepth: 3
    functionLinenumber: 2630
    functionLinenumberEnd: 2655
    functionName: get_proxy_policy
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - fprintf
    - strcmp
    - read_str
    linkageType: ''
    returnType: char
    signature: char *get_proxy_policy(char **policy, size_t *policylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2666,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2668,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2670,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2670,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2671,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2677
      start: 2659
    functionDepth: 2
    functionLinenumber: 2659
    functionLinenumberEnd: 2677
    functionName: get_country_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_country_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2689,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2692,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2694,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2695,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2696,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2703
      start: 2679
    functionDepth: 2
    functionLinenumber: 2679
    functionLinenumberEnd: 2703
    functionName: get_organization_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_organization_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2715,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2717,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2719,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2720,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2721,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2728
      start: 2705
    functionDepth: 2
    functionLinenumber: 2705
    functionLinenumberEnd: 2728
    functionName: get_unit_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_unit_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2737,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2739,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2741,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2741,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2742,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2748
      start: 2730
    functionDepth: 2
    functionLinenumber: 2730
    functionLinenumberEnd: 2748
    functionName: get_state_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_state_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2757,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2759,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2761,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2761,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2762,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2768
      start: 2750
    functionDepth: 2
    functionLinenumber: 2750
    functionLinenumberEnd: 2768
    functionName: get_locality_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_locality_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn
      Src: /src/gnutls/src/certtool-cfg.c:2778,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2780,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2781,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2785
      start: 2770
    functionDepth: 1
    functionLinenumber: 2770
    functionLinenumberEnd: 2785
    functionName: get_dn_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - gnutls_strerror
    - gnutls_x509_crq_set_dn
    linkageType: ''
    returnType: void
    signature: void get_dn_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2794,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2796,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2798,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2798,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2799,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2804
      start: 2787
    functionDepth: 2
    functionLinenumber: 2787
    functionLinenumberEnd: 2804
    functionName: get_cn_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_cn_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2813,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2814,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2816,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2816,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2817,1
    - Dst: read_crq_set
      Src: /src/gnutls/src/certtool-cfg.c:2820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2822
      start: 2806
    functionDepth: 2
    functionLinenumber: 2806
    functionLinenumberEnd: 2822
    functionName: get_uid_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - exit
    - gnutls_strerror
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - read_crq_set
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_uid_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2833,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2836,1
    - Dst: gnutls_x509_crq_set_dn_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2838,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-cfg.c:2840,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2843,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2844,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2849
      start: 2824
    functionDepth: 1
    functionLinenumber: 2824
    functionLinenumberEnd: 2849
    functionName: get_oid_crq_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - exit
    - strlen
    - gnutls_x509_crq_set_dn_by_oid
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_oid_crq_set(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/src/certtool-cfg.c:2861,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2863,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2864,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2865,1
    - Dst: strtoul
      Src: /src/gnutls/src/certtool-cfg.c:2869,1
    - Dst: gnutls_x509_tlsfeatures_add
      Src: /src/gnutls/src/certtool-cfg.c:2870,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2872,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2874,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2875,1
    - Dst: gnutls_x509_crt_set_tlsfeatures
      Src: /src/gnutls/src/certtool-cfg.c:2880,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2882,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2884,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2885,1
    - Dst: gnutls_x509_crq_set_tlsfeatures
      Src: /src/gnutls/src/certtool-cfg.c:2888,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2890,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2892,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-cfg.c:2893,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/src/certtool-cfg.c:2897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - type
    - crt
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2851
    functionDepth: 1
    functionLinenumber: 2851
    functionLinenumberEnd: 2899
    functionName: get_tlsfeatures_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - exit
    - gnutls_strerror
    - gnutls_x509_tlsfeatures_add
    - gnutls_x509_crq_set_tlsfeatures
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_crt_set_tlsfeatures
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void get_tlsfeatures_set(int type, void *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_crq_extension_by_oid
      Src: /src/gnutls/src/certtool-cfg.c:2910,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-cfg.c:2913,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-cfg.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - crt
    - crq
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2920
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 2920
    functionName: crq_extensions_set
    functionSourceFile: /src/gnutls/src/certtool-cfg.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - fprintf
    - gnutls_x509_crt_set_crq_extension_by_oid
    linkageType: ''
    returnType: void
    signature: void crq_extensions_set(gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:60,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:64,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-extras.c:65,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/src/certtool-extras.c:70,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:72,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-extras.c:73,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool-extras.c:80,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:82,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-extras.c:83,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-extras.c:84,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool-extras.c:90,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool-extras.c:93,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool-extras.c:94,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:101,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-extras.c:102,1
    - Dst: exit
      Src: /src/gnutls/src/certtool-extras.c:103,1
    - Dst: strstr
      Src: /src/gnutls/src/certtool-extras.c:111,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-extras.c:124,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-extras.c:125,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - mand
    - privkey_size
    - info
    argTypes:
    - int
    - size_t*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 128
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 128
    functionName: load_privkey_list
    functionSourceFile: /src/gnutls/src/certtool-extras.c
    functionUses: 1
    functionsReached:
    - gnutls_load_file
    - gnutls_strerror
    - exit
    - gnutls_free
    - get_password
    - gnutls_x509_privkey_import2
    - strstr
    - gnutls_x509_privkey_init
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_privkey_t
    signature: "gnutls_x509_privkey_t *load_privkey_list(int mand, size_t *privkey_size,\n\t\t\t\t\t
      common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/gnutls/src/certtool-common.c:62,1
    - Dst: ftell
      Src: /src/gnutls/src/certtool-common.c:65,1
    - Dst: fseek
      Src: /src/gnutls/src/certtool-common.c:66,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:67,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: file_size
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - fprintf
    - fseek
    - app_exit
    - ftell
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long file_size(FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gnutls/src/certtool-common.c:79,1
    - Dst: malloc
      Src: /src/gnutls/src/certtool-common.c:80,1
    - Dst: MAX
      Src: /src/gnutls/src/certtool-common.c:82,1
    - Dst: realloc
      Src: /src/gnutls/src/certtool-common.c:83,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:87,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: fix_lbuffer
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - MAX
    - app_exit
    - malloc
    - fprintf
    - realloc
    linkageType: ''
    returnType: void
    signature: void fix_lbuffer(unsigned long size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/gnutls/src/certtool-common.c:98,1
    - Dst: fopen
      Src: /src/gnutls/src/certtool-common.c:101,1
    - Dst: umask
      Src: /src/gnutls/src/certtool-common.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - file
    - privkey_op
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: safe_open_rw
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 5
    functionsReached:
    - fopen
    - umask
    linkageType: ''
    returnType: FILE
    signature: FILE *safe_open_rw(const char *file, int privkey_op)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:119,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:123,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:124,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-common.c:130,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/src/certtool-common.c:132,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:134,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:134,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: load_secret_key
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_hex_decode
    - strlen
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t *load_secret_key(int mand, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_confirmed_pass
      Src: /src/gnutls/src/certtool-common.c:157,1
    - Dst: get_pass
      Src: /src/gnutls/src/certtool-common.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - cinfo
    - flags
    - confirm
    argTypes:
    - common_info_st*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: get_password
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 6
    functionsReached:
    - get_confirmed_pass
    - get_pass
    linkageType: ''
    returnType: char
    signature: "char *get_password(common_info_st *cinfo, unsigned int *flags,\n\t\t\t
      int confirm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/certtool-common.c:175,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:177,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:178,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/src/certtool-common.c:181,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool-common.c:184,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/src/certtool-common.c:185,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:190,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:193,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:197,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:199,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - dat
    - info
    argTypes:
    - gnutls_datum_t*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 204
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 204
    functionName: _load_privkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - get_password
    - gnutls_privkey_import_x509_raw
    - app_exit
    - gnutls_privkey_init
    - fprintf
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: gnutls_privkey_t _load_privkey(gnutls_datum_t *dat, common_info_st
      *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/src/certtool-common.c:211,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:213,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:213,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:214,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/src/certtool-common.c:217,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:219,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:220,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: _load_url_privkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - app_exit
    - gnutls_privkey_init
    - gnutls_privkey_import_url
    - fprintf
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: gnutls_privkey_t _load_url_privkey(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool-common.c:233,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:235,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:236,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:237,1
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/src/certtool-common.c:240,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:242,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:243,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: _load_url_pubkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_pubkey_import_url
    - gnutls_pubkey_init
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_pubkey_t
    signature: gnutls_pubkey_t _load_url_pubkey(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:263,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:264,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/src/certtool-common.c:267,1
    - Dst: _load_url_privkey
      Src: /src/gnutls/src/certtool-common.c:268,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:270,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:274,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:276,1
    - Dst: _load_privkey
      Src: /src/gnutls/src/certtool-common.c:279,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: load_private_key
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 7
    functionsReached:
    - _load_privkey
    - gnutls_url_is_supported
    - free
    - app_exit
    - read_file
    - _load_url_privkey
    - fprintf
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: gnutls_privkey_t load_private_key(int mand, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:302,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:303,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool-common.c:306,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:308,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:308,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:309,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:312,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:316,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:318,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool-common.c:322,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/src/certtool-common.c:323,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool-common.c:326,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool-common.c:329,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/src/certtool-common.c:330,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:335,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:338,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:341,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:345,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:346,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 351
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 351
    functionName: load_x509_private_key
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - get_password
    - free
    - gnutls_x509_privkey_import2
    - gnutls_x509_privkey_init
    - app_exit
    - read_file
    - fprintf
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: gnutls_x509_privkey_t
    signature: gnutls_x509_privkey_t load_x509_private_key(int mand, common_info_st
      *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_list
      Src: /src/gnutls/src/certtool-common.c:363,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/src/certtool-common.c:367,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: load_cert
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 14
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - load_cert_list
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: gnutls_x509_crt_t load_cert(int mand, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:390,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:394,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:395,1
    - Dst: fopen
      Src: /src/gnutls/src/certtool-common.c:400,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:402,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:403,1
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool-common.c:406,1
    - Dst: file_size
      Src: /src/gnutls/src/certtool-common.c:406,1
    - Dst: fread
      Src: /src/gnutls/src/certtool-common.c:408,1
    - Dst: fclose
      Src: /src/gnutls/src/certtool-common.c:411,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/src/certtool-common.c:419,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:422,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:423,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:424,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - mand
    - crt_size
    - info
    argTypes:
    - int
    - size_t*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 433
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 433
    functionName: load_cert_list
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 6
    functionsReached:
    - fopen
    - fclose
    - fix_lbuffer
    - gnutls_strerror
    - fread
    - file_size
    - gnutls_x509_crt_list_import2
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t *load_cert_list(int mand, size_t *crt_size,\n\t\t\t\t
      \ common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:449,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:453,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:454,1
    - Dst: fopen
      Src: /src/gnutls/src/certtool-common.c:459,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:461,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:462,1
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool-common.c:465,1
    - Dst: file_size
      Src: /src/gnutls/src/certtool-common.c:465,1
    - Dst: fread
      Src: /src/gnutls/src/certtool-common.c:467,1
    - Dst: fclose
      Src: /src/gnutls/src/certtool-common.c:470,1
    - Dst: gnutls_x509_crl_list_import2
      Src: /src/gnutls/src/certtool-common.c:475,1
    - Dst: gnutls_x509_crl_list_import2
      Src: /src/gnutls/src/certtool-common.c:478,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:482,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:483,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:484,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - mand
    - crl_size
    - info
    argTypes:
    - int
    - size_t*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 493
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 493
    functionName: load_crl_list
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - fopen
    - fclose
    - fix_lbuffer
    - gnutls_strerror
    - fread
    - file_size
    - gnutls_x509_crl_list_import2
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crl_t
    signature: "gnutls_x509_crl_t *load_crl_list(int mand, size_t *crl_size,\n\t\t\t\t
      common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/src/certtool-common.c:507,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:509,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:509,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:510,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:513,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:517,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:519,1
    - Dst: gnutls_x509_crq_import
      Src: /src/gnutls/src/certtool-common.c:522,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:524,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:526,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:529,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:531,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:532,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - info
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 536
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 536
    functionName: load_request
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crq_import
    - gnutls_strerror
    - free
    - gnutls_x509_crq_init
    - app_exit
    - read_file
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crq_t
    signature: gnutls_x509_crq_t load_request(common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:547,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:548,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/src/certtool-common.c:551,1
    - Dst: _load_url_privkey
      Src: /src/gnutls/src/certtool-common.c:552,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:554,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:558,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:560,1
    - Dst: _load_privkey
      Src: /src/gnutls/src/certtool-common.c:563,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - info
    argTypes:
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 568
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 568
    functionName: load_ca_private_key
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 4
    functionsReached:
    - _load_privkey
    - gnutls_url_is_supported
    - free
    - app_exit
    - read_file
    - _load_url_privkey
    - fprintf
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: gnutls_privkey_t load_ca_private_key(common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:584,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:585,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/src/certtool-common.c:588,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:590,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:590,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:591,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/src/certtool-common.c:594,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/src/certtool-common.c:595,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:597,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:599,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:600,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:605,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:609,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:612,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/src/certtool-common.c:615,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:616,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:618,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:619,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - unsigned
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 624
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 624
    functionName: load_ca_cert
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 5
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crt_import
    - gnutls_url_is_supported
    - gnutls_x509_crt_init
    - free
    - gnutls_x509_crt_import_url
    - app_exit
    - read_file
    - fprintf
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: gnutls_x509_crt_t load_ca_cert(unsigned mand, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:640,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:641,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/src/certtool-common.c:644,1
    - Dst: _load_url_pubkey
      Src: /src/gnutls/src/certtool-common.c:645,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool-common.c:647,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:649,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:649,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:650,1
    - Dst: read_file
      Src: /src/gnutls/src/certtool-common.c:653,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:657,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:659,1
    - Dst: gnutls_pubkey_import
      Src: /src/gnutls/src/certtool-common.c:662,1
    - Dst: gnutls_pubkey_import_x509_raw
      Src: /src/gnutls/src/certtool-common.c:664,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:667,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:670,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:673,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:674,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:675,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - mand
    - info
    argTypes:
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 680
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 680
    functionName: load_pubkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - gnutls_pubkey_import_x509_raw
    - gnutls_url_is_supported
    - free
    - gnutls_pubkey_init
    - app_exit
    - read_file
    - _load_url_pubkey
    - fprintf
    - gnutls_pubkey_import
    linkageType: ''
    returnType: gnutls_pubkey_t
    signature: gnutls_pubkey_t load_pubkey(int mand, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/src/certtool-common.c:688,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:690,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:691,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:692,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/src/certtool-common.c:695,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/src/certtool-common.c:697,1
    - Dst: load_pubkey
      Src: /src/gnutls/src/certtool-common.c:698,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:700,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mand
    - privkey
    - info
    argTypes:
    - int
    - gnutls_privkey_t
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 707
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 707
    functionName: load_public_key_or_import
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - gnutls_pubkey_import_privkey
    - load_pubkey
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - app_exit
    - fprintf
    linkageType: ''
    returnType: gnutls_pubkey_t
    signature: "gnutls_pubkey_t load_public_key_or_import(int mand, gnutls_privkey_t
      privkey,\n\t\t\t\t\t  common_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/src/certtool-common.c:711,1
    - Dst: gnutls_sec_param_get_name
      Src: /src/gnutls/src/certtool-common.c:713,1
    - Dst: gnutls_sec_param_get_name
      Src: /src/gnutls/src/certtool-common.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pk
    - bits
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: bits_to_sp
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_sec_param_get_name
    - gnutls_pk_bits_to_sec_param
    linkageType: ''
    returnType: char
    signature: char *bits_to_sp(gnutls_pk_algorithm_t pk, unsigned int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_BITS_ARE_CURVE
      Src: /src/gnutls/src/certtool-common.c:728,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:730,1
    - Dst: bits_to_sp
      Src: /src/gnutls/src/certtool-common.c:732,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/src/certtool-common.c:740,1
    - Dst: str_to_sec_param
      Src: /src/gnutls/src/certtool-common.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - key_type
    - info_bits
    - info_sec_param
    - warn
    argTypes:
    - gnutls_pk_algorithm_t
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 745
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 745
    functionName: get_bits
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - fprintf
    - gnutls_sec_param_to_pk_bits
    - GNUTLS_BITS_ARE_CURVE
    - str_to_sec_param
    - bits_to_sp
    linkageType: ''
    returnType: int
    signature: "int get_bits(gnutls_pk_algorithm_t key_type, int info_bits,\n\t     const
      char *info_sec_param, int warn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:749,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:751,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:753,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:754,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:756,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:758,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:760,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:763,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 766
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 766
    functionName: str_to_sec_param
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 1
    functionsReached:
    - app_exit
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: gnutls_sec_param_t
    signature: gnutls_sec_param_t str_to_sec_param(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:774,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:776,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:779,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:782,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:787,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:790,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:791,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:793,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - outfile
    - dat
    - cprint
    argTypes:
    - FILE*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 797
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 797
    functionName: print_hex_datum
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_hex_datum(FILE *outfile, gnutls_datum_t *dat, int cprint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/gnutls/src/certtool-common.c:808,1
    - Dst: asprintf
      Src: /src/gnutls/src/certtool-common.c:812,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:816,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:817,1
    - Dst: strstr
      Src: /src/gnutls/src/certtool-common.c:820,1
    - Dst: strlen
      Src: /src/gnutls/src/certtool-common.c:823,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:827,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:828,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - out
    - txt
    - size
    - cprint
    argTypes:
    - FILE*
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 833
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 833
    functionName: print_head
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - strstr
    - app_exit
    - asprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_head(FILE *out, const char *txt, unsigned int size,\n\t\t
      \      int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:840,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:841,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:843,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:844,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:845,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:846,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:847,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:848,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:849,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - outfile
    - x
    - y
    - p
    - q
    - g
    - cprint
    argTypes:
    - FILE*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 851
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 851
    functionName: print_dsa_pkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - print_head
    - print_hex_datum
    linkageType: ''
    returnType: void
    signature: "void print_dsa_pkey(FILE *outfile, gnutls_datum_t *x, gnutls_datum_t
      *y,\n\t\t    gnutls_datum_t *p, gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t
      \   int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ecc_curve_list
      Src: /src/gnutls/src/certtool-common.c:858,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:862,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:862,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:868,1
    - Dst: printf
      Src: /src/gnutls/src/certtool-common.c:870,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:873,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:873,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 877
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 877
    functionName: str_to_curve
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - gnutls_ecc_curve_list
    - strcasecmp
    - app_exit
    - printf
    - fprintf
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t str_to_curve(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:883,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:884,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:886,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:887,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:890,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:891,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:895,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:896,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:900,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - outfile
    - curve
    - k
    - x
    - y
    - cprint
    argTypes:
    - FILE*
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 903
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 903
    functionName: print_ecc_pkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - print_head
    - fprintf
    - print_hex_datum
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: void
    signature: "void print_ecc_pkey(FILE *outfile, gnutls_ecc_curve_t curve, gnutls_datum_t
      *k,\n\t\t    gnutls_datum_t *x, gnutls_datum_t *y, int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 915
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 915
    functionName: reverse_datum
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_datum(gnutls_datum_t *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:923,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:924,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:926,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/src/certtool-common.c:927,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:930,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/certtool-common.c:931,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:933,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/certtool-common.c:934,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:937,1
    - Dst: gnutls_gost_paramset_get_name
      Src: /src/gnutls/src/certtool-common.c:938,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:940,1
    - Dst: gnutls_gost_paramset_get_name
      Src: /src/gnutls/src/certtool-common.c:941,1
    - Dst: reverse_datum
      Src: /src/gnutls/src/certtool-common.c:944,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:945,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:946,1
    - Dst: reverse_datum
      Src: /src/gnutls/src/certtool-common.c:948,1
    - Dst: reverse_datum
      Src: /src/gnutls/src/certtool-common.c:949,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:950,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:951,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:952,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - outfile
    - curve
    - digest
    - paramset
    - k
    - x
    - y
    - cprint
    argTypes:
    - FILE*
    - gnutls_ecc_curve_t
    - gnutls_digest_algorithm_t
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 954
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 954
    functionName: print_gost_pkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_gost_paramset_get_name
    - reverse_datum
    - gnutls_digest_get_name
    - print_head
    - fprintf
    - print_hex_datum
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: void
    signature: "void print_gost_pkey(FILE *outfile, gnutls_ecc_curve_t curve,\n\t\t
      \    gnutls_digest_algorithm_t digest,\n\t\t     gnutls_gost_paramset_t paramset,
      gnutls_datum_t *k,\n\t\t     gnutls_datum_t *x, gnutls_datum_t *y, int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:961,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:962,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:963,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:964,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:966,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:967,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:968,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:969,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:970,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:971,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:972,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:973,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:975,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:976,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:977,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 10
    argNames:
    - outfile
    - m
    - e
    - d
    - p
    - q
    - u
    - exp1
    - exp2
    - cprint
    argTypes:
    - FILE*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 981
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 981
    functionName: print_rsa_pkey
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - print_head
    - print_hex_datum
    linkageType: ''
    returnType: void
    signature: "void print_rsa_pkey(FILE *outfile, gnutls_datum_t *m, gnutls_datum_t
      *e,\n\t\t    gnutls_datum_t *d, gnutls_datum_t *p, gnutls_datum_t *q,\n\t\t
      \   gnutls_datum_t *u, gnutls_datum_t *exp1,\n\t\t    gnutls_datum_t *exp2,
      int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_print
      Src: /src/gnutls/src/certtool-common.c:993,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:995,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:996,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:997,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1000,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1001,1
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool-common.c:1004,1
    - Dst: gnutls_pubkey_export
      Src: /src/gnutls/src/certtool-common.c:1007,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1009,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1009,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1010,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool-common.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pubkey
    - outfile
    - format
    - outcert_format
    - outtext
    argTypes:
    - gnutls_pubkey_t
    - FILE*
    - gnutls_certificate_print_formats_t
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1014
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1014
    functionName: print_pubkey_info
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - fix_lbuffer
    - fwrite
    - gnutls_pubkey_print
    - gnutls_pubkey_export
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_pubkey_info(gnutls_pubkey_t pubkey, FILE *outfile,\n\t\t
      \      gnutls_certificate_print_formats_t format,\n\t\t       gnutls_x509_crt_fmt_t
      outcert_format,\n\t\t       unsigned int outtext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1021,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1025,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:1030,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:1031,1
    - Dst: print_head
      Src: /src/gnutls/src/certtool-common.c:1033,1
    - Dst: print_hex_datum
      Src: /src/gnutls/src/certtool-common.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - outfile
    - p
    - g
    - q_bits
    - cprint
    argTypes:
    - FILE*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 1035
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1035
    functionName: print_dh_info
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 1
    functionsReached:
    - print_head
    - fprintf
    - print_hex_datum
    linkageType: ''
    returnType: void
    signature: "void print_dh_info(FILE *outfile, gnutls_datum_t *p, gnutls_datum_t
      *g,\n\t\t\t  unsigned int q_bits, int cprint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool-common.c:1043,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/src/certtool-common.c:1047,1
    - Dst: gnutls_dh_params_import_dsa
      Src: /src/gnutls/src/certtool-common.c:1051,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/certtool-common.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dh_params
    - params
    - format
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1056
    functionName: import_dsa_dh
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_deinit
    - gnutls_dh_params_import_dsa
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    linkageType: ''
    returnType: int
    signature: "int import_dsa_dh(gnutls_dh_params_t dh_params, gnutls_datum_t *params,\n\t\t\t
      gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool-common.c:1067,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/certtool-common.c:1069,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1070,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1071,1
    - Dst: fread_file
      Src: /src/gnutls/src/certtool-common.c:1074,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1078,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1079,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/src/certtool-common.c:1082,1
    - Dst: import_dsa_dh
      Src: /src/gnutls/src/certtool-common.c:1086,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1088,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1089,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1090,1
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/src/certtool-common.c:1094,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1096,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1097,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1098,1
    - Dst: print_dh_info
      Src: /src/gnutls/src/certtool-common.c:1102,1
    - Dst: gnutls_dh_params_export_pkcs3
      Src: /src/gnutls/src/certtool-common.c:1107,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1112,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool-common.c:1114,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1117,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1121,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1122,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/certtool-common.c:1123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - infile
    - outfile
    - ci
    argTypes:
    - FILE*
    - FILE*
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1124
    functionName: dh_info
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - fix_lbuffer
    - gnutls_free
    - fwrite
    - gnutls_dh_params_init
    - gnutls_dh_params_deinit
    - gnutls_dh_params_export_raw
    - gnutls_dh_params_export_pkcs3
    - import_dsa_dh
    - app_exit
    - print_dh_info
    - fprintf
    - gnutls_dh_params_import_pkcs3
    - fread_file
    linkageType: ''
    returnType: void
    signature: void dh_info(FILE *infile, FILE *outfile, common_info_st *ci)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1130,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1132,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1134,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1136,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1138,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1140,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1142,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1144,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1146,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1148,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1150,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1152,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1154,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1158,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1159,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1160
    functionName: cipher_to_flags
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - app_exit
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int cipher_to_flags(const char *cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1174,1
    - Dst: gnutls_x509_spki_init
      Src: /src/gnutls/src/certtool-common.c:1175,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1177,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1177,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1181,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm2
      Src: /src/gnutls/src/certtool-common.c:1183,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/src/certtool-common.c:1185,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1186,1
    - Dst: gnutls_x509_privkey_get_spki
      Src: /src/gnutls/src/certtool-common.c:1191,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1196,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1196,1
    - Dst: gnutls_x509_spki_get_rsa_pss_params
      Src: /src/gnutls/src/certtool-common.c:1200,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1203,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1204,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1206,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/certtool-common.c:1207,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1208,1
    - Dst: gnutls_x509_spki_deinit
      Src: /src/gnutls/src/certtool-common.c:1213,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1214,1
    - Dst: gnutls_sec_param_get_name
      Src: /src/gnutls/src/certtool-common.c:1215,1
    - Dst: gnutls_x509_privkey_sec_param
      Src: /src/gnutls/src/certtool-common.c:1215,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/src/certtool-common.c:1220,1
    - Dst: gnutls_x509_privkey_export_rsa_raw2
      Src: /src/gnutls/src/certtool-common.c:1223,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1226,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1227,1
    - Dst: print_rsa_pkey
      Src: /src/gnutls/src/certtool-common.c:1229,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1232,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1233,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1234,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1235,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1236,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1237,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1238,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1239,1
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/src/certtool-common.c:1244,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1247,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1248,1
    - Dst: print_dsa_pkey
      Src: /src/gnutls/src/certtool-common.c:1250,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1253,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1254,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1255,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1256,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1257,1
    - Dst: gnutls_x509_privkey_export_ecc_raw
      Src: /src/gnutls/src/certtool-common.c:1267,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1271,1
    - Dst: print_ecc_pkey
      Src: /src/gnutls/src/certtool-common.c:1273,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1276,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1277,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1278,1
    - Dst: gnutls_x509_privkey_export_gost_raw
      Src: /src/gnutls/src/certtool-common.c:1288,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1291,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1292,1
    - Dst: print_gost_pkey
      Src: /src/gnutls/src/certtool-common.c:1294,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1297,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1298,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1299,1
    - Dst: gnutls_x509_privkey_get_seed
      Src: /src/gnutls/src/certtool-common.c:1304,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1306,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1307,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/src/certtool-common.c:1307,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1308,1
    - Dst: raw_to_hex
      Src: /src/gnutls/src/certtool-common.c:1308,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1311,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/src/certtool-common.c:1314,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1317,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1318,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1320,1
    - Dst: raw_to_base64
      Src: /src/gnutls/src/certtool-common.c:1321,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1323,1
    - Dst: raw_to_hex
      Src: /src/gnutls/src/certtool-common.c:1324,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/src/certtool-common.c:1327,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1330,1
    - Dst: raw_to_hex
      Src: /src/gnutls/src/certtool-common.c:1331,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1334,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 3
    argNames:
    - outfile
    - cinfo
    - key
    argTypes:
    - FILE*
    - common_info_st*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1335
      start: 1162
    functionDepth: 3
    functionLinenumber: 1162
    functionLinenumberEnd: 1335
    functionName: privkey_info_int
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_export_rsa_raw2
    - gnutls_x509_spki_get_rsa_pss_params
    - gnutls_x509_privkey_get_seed
    - gnutls_digest_get_name
    - print_ecc_pkey
    - gnutls_x509_privkey_get_pk_algorithm2
    - gnutls_x509_privkey_get_key_id
    - gnutls_x509_privkey_export_dsa_raw
    - gnutls_pk_algorithm_get_name
    - gnutls_x509_spki_deinit
    - gnutls_x509_spki_init
    - raw_to_hex
    - GNUTLS_PK_IS_RSA
    - print_dsa_pkey
    - print_rsa_pkey
    - gnutls_x509_privkey_get_spki
    - raw_to_base64
    - gnutls_sec_param_get_name
    - gnutls_x509_privkey_sec_param
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_privkey_export_ecc_raw
    - print_gost_pkey
    - fprintf
    - gnutls_x509_privkey_export_gost_raw
    linkageType: ''
    returnType: void
    signature: "void privkey_info_int(FILE *outfile, common_info_st *cinfo,\n\t\t\t
      \    gnutls_x509_privkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: switch_to_pkcs8_when_needed
      Src: /src/gnutls/src/certtool-common.c:1348,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/src/certtool-common.c:1349,1
    - Dst: privkey_info_int
      Src: /src/gnutls/src/certtool-common.c:1353,1
    - Dst: gnutls_x509_privkey_export
      Src: /src/gnutls/src/certtool-common.c:1356,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1359,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1360,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1361,1
    - Dst: get_password
      Src: /src/gnutls/src/certtool-common.c:1367,1
    - Dst: cipher_to_flags
      Src: /src/gnutls/src/certtool-common.c:1368,1
    - Dst: privkey_info_int
      Src: /src/gnutls/src/certtool-common.c:1371,1
    - Dst: gnutls_x509_privkey_export_pkcs8
      Src: /src/gnutls/src/certtool-common.c:1374,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1379,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1380,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1381,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool-common.c:1385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - outfile
    - cinfo
    - key
    argTypes:
    - FILE*
    - common_info_st*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1386
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1386
    functionName: print_private_key
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 3
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_privkey_get_pk_algorithm
    - privkey_info_int
    - get_password
    - cipher_to_flags
    - fwrite
    - gnutls_x509_privkey_export_pkcs8
    - gnutls_x509_privkey_export
    - app_exit
    - switch_to_pkcs8_when_needed
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_private_key(FILE *outfile, common_info_st *cinfo,\n\t\t
      \      gnutls_x509_privkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_lbuffer
      Src: /src/gnutls/src/certtool-common.c:1398,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/src/certtool-common.c:1400,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1403,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1405,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1407,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/src/certtool-common.c:1413,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1415,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1416,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1417,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1424,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1427,1
    - Dst: gnutls_x509_privkey_generate2
      Src: /src/gnutls/src/certtool-common.c:1434,1
    - Dst: gnutls_x509_privkey_generate
      Src: /src/gnutls/src/certtool-common.c:1438,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1444,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1446,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1447,1
    - Dst: print_private_key
      Src: /src/gnutls/src/certtool-common.c:1451,1
    - Dst: gnutls_dh_params_import_dsa
      Src: /src/gnutls/src/certtool-common.c:1454,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1456,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1458,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1459,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/src/certtool-common.c:1462,1
    - Dst: gnutls_dh_params_generate2
      Src: /src/gnutls/src/certtool-common.c:1464,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1466,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1468,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1469,1
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/src/certtool-common.c:1473,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1475,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1476,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1477,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1481,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1483,1
    - Dst: gnutls_dh_params_import_raw2
      Src: /src/gnutls/src/certtool-common.c:1508,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1510,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1511,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1512,1
    - Dst: gnutls_dh_params_import_raw
      Src: /src/gnutls/src/certtool-common.c:1532,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1534,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1535,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1536,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1539,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1540,1
    - Dst: print_dh_info
      Src: /src/gnutls/src/certtool-common.c:1545,1
    - Dst: gnutls_dh_params_export_pkcs3
      Src: /src/gnutls/src/certtool-common.c:1550,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1555,1
    - Dst: fwrite
      Src: /src/gnutls/src/certtool-common.c:1557,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1560,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1560,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1565,1
    - Dst: gnutls_free
      Src: /src/gnutls/src/certtool-common.c:1566,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/src/certtool-common.c:1569,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 131
    argCount: 3
    argNames:
    - outfile
    - how
    - info
    argTypes:
    - FILE*
    - int
    - common_info_st*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1390
    functionDepth: 5
    functionLinenumber: 1390
    functionLinenumberEnd: 1572
    functionName: generate_prime
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 1
    functionsReached:
    - gnutls_dh_params_import_dsa
    - fix_lbuffer
    - gnutls_x509_privkey_generate
    - gnutls_dh_params_deinit
    - app_exit
    - gnutls_x509_privkey_deinit
    - print_dh_info
    - print_private_key
    - gnutls_dh_params_init
    - gnutls_dh_params_export_raw
    - gnutls_dh_params_import_raw2
    - gnutls_x509_privkey_init
    - gnutls_dh_params_import_raw
    - gnutls_x509_privkey_generate2
    - gnutls_strerror
    - gnutls_free
    - fwrite
    - gnutls_dh_params_generate2
    - gnutls_dh_params_export_pkcs3
    - fprintf
    linkageType: ''
    returnType: int
    signature: int generate_prime(FILE *outfile, int how, common_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/src/certtool-common.c:1580,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1583,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1584,1
    - Dst: gnutls_hex2bin
      Src: /src/gnutls/src/certtool-common.c:1588,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1590,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/src/certtool-common.c:1591,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - seed
    - hex
    - hex_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1597
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1597
    functionName: decode_seed
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 1
    functionsReached:
    - gnutls_strerror
    - gnutls_hex2bin
    - app_exit
    - malloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void decode_seed(gnutls_datum_t *seed, const char *hex, unsigned hex_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1601,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1603,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1605,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1606,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1608,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1610,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1612,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1614,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1616,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1617,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1619,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1621,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1623,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1629
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1629
    functionName: figure_key_type
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t figure_key_type(const char *key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1633,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1634,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1637,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1639,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1641,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1643,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1645,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1647,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1649,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1651,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1653,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1655,1
    - Dst: gnutls_digest_get_id
      Src: /src/gnutls/src/certtool-common.c:1658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - hash
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1660
    functionName: hash_to_id
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - fprintf
    - strcasecmp
    - gnutls_digest_get_id
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t hash_to_id(const char *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/gnutls/src/certtool-common.c:1666,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1668,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1669,1
    - Dst: strtok
      Src: /src/gnutls/src/certtool-common.c:1672,1
    - Dst: strcasecmp
      Src: /src/gnutls/src/certtool-common.c:1675,1
    - Dst: fprintf
      Src: /src/gnutls/src/certtool-common.c:1678,1
    - Dst: app_exit
      Src: /src/gnutls/src/certtool-common.c:1679,1
    - Dst: strtok
      Src: /src/gnutls/src/certtool-common.c:1682,1
    - Dst: free
      Src: /src/gnutls/src/certtool-common.c:1685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cinfo
    - params
    argTypes:
    - common_info_st*
    - char*
    constantsTouched: []
    func_position:
      end: 1686
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1686
    functionName: sign_params_to_flags
    functionSourceFile: /src/gnutls/src/certtool-common.c
    functionUses: 2
    functionsReached:
    - strdup
    - free
    - strtok
    - strcasecmp
    - app_exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void sign_params_to_flags(common_info_st *cinfo, const char *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/gnutls/src/benchmark.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - LPVOID
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: alarm_handler
    functionSourceFile: /src/gnutls/src/benchmark.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: DWORD
    signature: DWORD alarm_handler(LPVOID lpParameter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: alarm_handler
    functionSourceFile: /src/gnutls/src/benchmark.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void alarm_handler(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/src/benchmark.c:55,1
    - Dst: strcpy
      Src: /src/gnutls/src/benchmark.c:60,1
    - Dst: strcpy
      Src: /src/gnutls/src/benchmark.c:65,1
    - Dst: strcpy
      Src: /src/gnutls/src/benchmark.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - bytes
    - time
    - data
    - speed
    - metric
    argTypes:
    - uint64_t
    - double
    - double*
    - double*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: value2human
    functionSourceFile: /src/gnutls/src/benchmark.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void value2human(uint64_t bytes, double time, double *data,\n\t\t\tdouble
      *speed, char *metric)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/src/benchmark.c:77,1
    - Dst: signal
      Src: /src/gnutls/src/benchmark.c:79,1
    - Dst: gettime
      Src: /src/gnutls/src/benchmark.c:81,1
    - Dst: CreateWaitableTimer
      Src: /src/gnutls/src/benchmark.c:85,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark.c:87,1
    - Dst: GetLastError
      Src: /src/gnutls/src/benchmark.c:88,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark.c:89,1
    - Dst: CreateThread
      Src: /src/gnutls/src/benchmark.c:92,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark.c:94,1
    - Dst: GetLastError
      Src: /src/gnutls/src/benchmark.c:94,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark.c:95,1
    - Dst: SetWaitableTimer
      Src: /src/gnutls/src/benchmark.c:98,1
    - Dst: fprintf
      Src: /src/gnutls/src/benchmark.c:100,1
    - Dst: GetLastError
      Src: /src/gnutls/src/benchmark.c:100,1
    - Dst: exit
      Src: /src/gnutls/src/benchmark.c:101,1
    - Dst: alarm
      Src: /src/gnutls/src/benchmark.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct benchmark_st*
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: start_benchmark
    functionSourceFile: /src/gnutls/src/benchmark.c
    functionUses: 5
    functionsReached:
    - exit
    - CreateThread
    - GetLastError
    - alarm
    - signal
    - gettime
    - CreateWaitableTimer
    - memset
    - fprintf
    - SetWaitableTimer
    linkageType: ''
    returnType: void
    signature: void start_benchmark(struct benchmark_st *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/gnutls/src/benchmark.c:119,1
    - Dst: CloseHandle
      Src: /src/gnutls/src/benchmark.c:121,1
    - Dst: signal
      Src: /src/gnutls/src/benchmark.c:123,1
    - Dst: gettime
      Src: /src/gnutls/src/benchmark.c:126,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/src/benchmark.c:128,1
    - Dst: value2human
      Src: /src/gnutls/src/benchmark.c:133,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark.c:135,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark.c:137,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark.c:142,1
    - Dst: printf
      Src: /src/gnutls/src/benchmark.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - st
    - metric
    - quiet
    argTypes:
    - struct benchmark_st*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: stop_benchmark
    functionSourceFile: /src/gnutls/src/benchmark.c
    functionUses: 5
    functionsReached:
    - value2human
    - timespec_sub_ms
    - signal
    - gettime
    - CloseHandle
    - printf
    linkageType: ''
    returnType: double
    signature: double stop_benchmark(struct benchmark_st *st, const char *metric,
      int quiet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/extra/openssl_compat.c:52,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/extra/openssl_compat.c:56,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/extra/openssl_compat.c:58,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:63,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:67,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:71,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:77,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:81,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:85,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:90,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/extra/openssl_compat.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - cert
    - ret
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_dn*
    constantsTouched: []
    func_position:
      end: 96
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 96
    functionName: gnutls_x509_extract_certificate_dn
    functionSourceFile: /src/gnutls/extra/openssl_compat.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_x509_crt_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_extract_certificate_dn(const gnutls_datum_t *cert,\n\t\t\t\t
      \      gnutls_x509_dn *ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/extra/openssl_compat.c:115,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/extra/openssl_compat.c:119,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/extra/openssl_compat.c:121,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:126,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:130,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:135,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:140,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:144,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:149,1
    - Dst: gnutls_x509_crt_get_issuer_dn_by_oid
      Src: /src/gnutls/extra/openssl_compat.c:154,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/extra/openssl_compat.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - cert
    - ret
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_dn*
    constantsTouched: []
    func_position:
      end: 160
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 160
    functionName: gnutls_x509_extract_certificate_issuer_dn
    functionSourceFile: /src/gnutls/extra/openssl_compat.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_issuer_dn_by_oid
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_extract_certificate_issuer_dn(const gnutls_datum_t
      *cert,\n\t\t\t\t\t      gnutls_x509_dn *ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/extra/gnutls_openssl.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: SSL_library_init
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int SSL_library_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: OpenSSL_add_all_algorithms
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenSSL_add_all_algorithms(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - SSL_METHOD*
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: SSL_CTX_new
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *SSL_CTX_new(SSL_METHOD *method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:82,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: SSL_CTX_free
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_free(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: SSL_CTX_set_default_verify_paths
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:93,1
    - Dst: strlen
      Src: /src/gnutls/extra/gnutls_openssl.c:93,1
    - Dst: memcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:96,1
    - Dst: strlen
      Src: /src/gnutls/extra/gnutls_openssl.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - certfile
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: SSL_CTX_use_certificate_file
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - calloc
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *certfile,
      int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:105,1
    - Dst: strlen
      Src: /src/gnutls/extra/gnutls_openssl.c:105,1
    - Dst: memcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:108,1
    - Dst: strlen
      Src: /src/gnutls/extra/gnutls_openssl.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - keyfile
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: SSL_CTX_use_PrivateKey_file
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - calloc
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *keyfile,
      int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - verify_mode
    argTypes:
    - SSL_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: SSL_CTX_set_verify
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_verify(SSL_CTX *ctx, int verify_mode,\n\t\t\tint
      (*verify_callback)(int, X509_STORE_CTX *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - options
    argTypes:
    - SSL_CTX*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: SSL_CTX_set_options
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - SSL_CTX*
    - long
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: SSL_CTX_set_mode
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_set_mode(SSL_CTX *ctx, long mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - list
    argTypes:
    - SSL_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: SSL_CTX_set_cipher_list
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: SSL_CTX_sess_number
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_number(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: SSL_CTX_sess_connect
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_connect(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: SSL_CTX_sess_connect_good
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_connect_good(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: SSL_CTX_sess_connect_renegotiate
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: SSL_CTX_sess_accept
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_accept(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: SSL_CTX_sess_accept_good
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_accept_good(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: SSL_CTX_sess_accept_renegotiate
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: SSL_CTX_sess_hits
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_hits(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: SSL_CTX_sess_misses
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_misses(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: SSL_CTX_sess_timeouts
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_sess_timeouts(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:202,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/extra/gnutls_openssl.c:206,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:209,1
    - Dst: gnutls_init
      Src: /src/gnutls/extra/gnutls_openssl.c:213,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/extra/gnutls_openssl.c:215,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/extra/gnutls_openssl.c:218,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/extra/gnutls_openssl.c:221,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/extra/gnutls_openssl.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 238
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 238
    functionName: SSL_new
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - calloc
    - free
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_set_x509_trust_file
    - gnutls_priority_set_direct
    - gnutls_init
    - gnutls_certificate_set_x509_key_file
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/extra/gnutls_openssl.c:242,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/extra/gnutls_openssl.c:243,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: SSL_free
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void SSL_free(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: SSL_load_error_strings
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_load_error_strings(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - ret
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: SSL_get_error
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_get_error(SSL *ssl, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/extra/gnutls_openssl.c:261,1
    - Dst: GNUTLS_INT_TO_POINTER
      Src: /src/gnutls/extra/gnutls_openssl.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - fd
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: SSL_set_fd
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_ptr
    - GNUTLS_INT_TO_POINTER
    linkageType: ''
    returnType: int
    signature: int SSL_set_fd(SSL *ssl, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_INT_TO_POINTER
      Src: /src/gnutls/extra/gnutls_openssl.c:267,1
    - Dst: gnutls_transport_set_ptr2
      Src: /src/gnutls/extra/gnutls_openssl.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - fd
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: SSL_set_rfd
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - GNUTLS_INT_TO_POINTER
    - gnutls_transport_set_ptr2
    linkageType: ''
    returnType: int
    signature: int SSL_set_rfd(SSL *ssl, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_INT_TO_POINTER
      Src: /src/gnutls/extra/gnutls_openssl.c:278,1
    - Dst: gnutls_transport_set_ptr2
      Src: /src/gnutls/extra/gnutls_openssl.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - fd
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: SSL_set_wfd
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - GNUTLS_INT_TO_POINTER
    - gnutls_transport_set_ptr2
    linkageType: ''
    returnType: int
    signature: int SSL_set_wfd(SSL *ssl, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_ptr2
      Src: /src/gnutls/extra/gnutls_openssl.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - rbio
    - wbio
    argTypes:
    - SSL*
    - BIO*
    - BIO*
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: SSL_set_bio
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_ptr2
    linkageType: ''
    returnType: void
    signature: void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: SSL_set_connect_state
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_set_connect_state(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/extra/gnutls_openssl.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: SSL_pending
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_record_check_pending
    linkageType: ''
    returnType: int
    signature: int SSL_pending(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - verify_mode
    argTypes:
    - SSL*
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: SSL_set_verify
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_set_verify(SSL *ssl, int verify_mode,\n\t\t    int (*verify_callback)(int,
      X509_STORE_CTX *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/extra/gnutls_openssl.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: SSL_get_peer_certificate
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_get_peers
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_get_peer_certificate(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/extra/gnutls_openssl.c:330,1
    - Dst: snprintf
      Src: /src/gnutls/extra/gnutls_openssl.c:332,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/extra/gnutls_openssl.c:334,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/extra/gnutls_openssl.c:342,1
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:350,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/extra/gnutls_openssl.c:355,1
    - Dst: SSL*::verify_callback
      Src: /src/gnutls/extra/gnutls_openssl.c:359,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 369
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 369
    functionName: SSL_connect
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - snprintf
    - SSL*::verify_callback
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_certificate_get_peers
    - memset
    linkageType: ''
    returnType: int
    signature: int SSL_connect(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/extra/gnutls_openssl.c:379,1
    - Dst: snprintf
      Src: /src/gnutls/extra/gnutls_openssl.c:381,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/extra/gnutls_openssl.c:383,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/extra/gnutls_openssl.c:393,1
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:401,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/extra/gnutls_openssl.c:405,1
    - Dst: SSL*::verify_callback
      Src: /src/gnutls/extra/gnutls_openssl.c:409,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 419
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 419
    functionName: SSL_accept
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - snprintf
    - SSL*::verify_callback
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_certificate_get_peers
    - memset
    linkageType: ''
    returnType: int
    signature: int SSL_accept(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_bye
      Src: /src/gnutls/extra/gnutls_openssl.c:424,1
    - Dst: gnutls_bye
      Src: /src/gnutls/extra/gnutls_openssl.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: SSL_shutdown
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_bye
    linkageType: ''
    returnType: int
    signature: int SSL_shutdown(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/gnutls/extra/gnutls_openssl.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - SSL*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: SSL_read
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_record_recv
    linkageType: ''
    returnType: int
    signature: int SSL_read(SSL *ssl, void *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/extra/gnutls_openssl.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - SSL*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 463
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 463
    functionName: SSL_write
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_record_send
    linkageType: ''
    returnType: int
    signature: int SSL_write(SSL *ssl, const void *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: SSL_want
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_want(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:475,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: SSLv23_client_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv23_client_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:489,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: SSLv23_server_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv23_server_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:502,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: SSLv3_client_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv3_client_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:516,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: SSLv3_server_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv3_server_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:530,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 539
    functionName: TLSv1_client_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_client_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:544,1
    - Dst: strcpy
      Src: /src/gnutls/extra/gnutls_openssl.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 553
    functionName: TLSv1_server_method
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - calloc
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_server_method(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/extra/gnutls_openssl.c:563,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/extra/gnutls_openssl.c:564,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/extra/gnutls_openssl.c:565,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/extra/gnutls_openssl.c:566,1
    - Dst: gnutls_compression_get
      Src: /src/gnutls/extra/gnutls_openssl.c:568,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/extra/gnutls_openssl.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 572
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 572
    functionName: SSL_get_current_cipher
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_compression_get
    - gnutls_protocol_get_version
    - gnutls_mac_get
    - gnutls_kx_get
    - gnutls_cipher_get
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *SSL_get_current_cipher(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_suite_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: SSL_CIPHER_get_name
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_suite_get_name
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_get_name(SSL_CIPHER *cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/extra/gnutls_openssl.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cipher
    - bits
    argTypes:
    - SSL_CIPHER*
    - int*
    constantsTouched: []
    func_position:
      end: 596
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 596
    functionName: SSL_CIPHER_get_bits
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 610
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 610
    functionName: SSL_CIPHER_get_version
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_get_version(SSL_CIPHER *cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/extra/gnutls_openssl.c:623,1
    - Dst: snprintf
      Src: /src/gnutls/extra/gnutls_openssl.c:628,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:629,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:630,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:631,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/extra/gnutls_openssl.c:632,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - cipher
    - buf
    - size
    argTypes:
    - SSL_CIPHER*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 639
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 639
    functionName: SSL_CIPHER_description
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_cipher_get_name
    - snprintf
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - malloc
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:646,1
    - Dst: gnutls_x509_extract_certificate_dn
      Src: /src/gnutls/extra/gnutls_openssl.c:649,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: X509_get_subject_name
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_x509_extract_certificate_dn
    - calloc
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_get_subject_name(const X509 *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/extra/gnutls_openssl.c:659,1
    - Dst: gnutls_x509_extract_certificate_issuer_dn
      Src: /src/gnutls/extra/gnutls_openssl.c:662,1
    - Dst: free
      Src: /src/gnutls/extra/gnutls_openssl.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 667
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 667
    functionName: X509_get_issuer_name
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_x509_extract_certificate_issuer_dn
    - calloc
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_get_issuer_name(const X509 *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/extra/gnutls_openssl.c:674,1
    - Dst: snprintf
      Src: /src/gnutls/extra/gnutls_openssl.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - buf
    - len
    argTypes:
    - gnutls_x509_dn*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: X509_NAME_oneline
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memset
    linkageType: ''
    returnType: char
    signature: char *X509_NAME_oneline(gnutls_x509_dn *name, char *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: X509_free
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_free(const X509 *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_get_ptr
      Src: /src/gnutls/extra/gnutls_openssl.c:693,1
    - Dst: GNUTLS_POINTER_TO_INT
      Src: /src/gnutls/extra/gnutls_openssl.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gnutls_state
    - fd
    argTypes:
    - gnutls_session_t
    - int*
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: BIO_get_fd
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - GNUTLS_POINTER_TO_INT
    - gnutls_transport_get_ptr
    linkageType: ''
    returnType: void
    signature: void BIO_get_fd(gnutls_session_t gnutls_state, int *fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/extra/gnutls_openssl.c:701,1
    - Dst: GNUTLS_INT_TO_POINTER
      Src: /src/gnutls/extra/gnutls_openssl.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - close_flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: BIO_new_socket
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - GNUTLS_INT_TO_POINTER
    - malloc
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_socket(int sock, int close_flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: ERR_get_error
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_get_error(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strerror
      Src: /src/gnutls/extra/gnutls_openssl.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - buf
    argTypes:
    - unsigned long
    - char*
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: ERR_error_string
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    linkageType: ''
    returnType: char
    signature: char *ERR_error_string(unsigned long e, char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: RAND_status
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_status(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: RAND_seed
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RAND_seed(const void *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/extra/gnutls_openssl.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: RAND_bytes
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int RAND_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/extra/gnutls_openssl.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: RAND_pseudo_bytes
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int RAND_pseudo_bytes(unsigned char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: RAND_file_name
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *RAND_file_name(char *buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - maxbytes
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: RAND_load_file
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_load_file(const char *name, long maxbytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: RAND_write_file
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_write_file(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: RAND_egd_bytes
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_egd_bytes(const char *path, int bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/gnutls/extra/gnutls_openssl.c:776,1
    - Dst: abort
      Src: /src/gnutls/extra/gnutls_openssl.c:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD5_CTX*
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: MD5_Init
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 1
    functionsReached:
    - abort
    - gnutls_hash_init
    linkageType: ''
    returnType: void
    signature: void MD5_Init(MD5_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash
      Src: /src/gnutls/extra/gnutls_openssl.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - MD5_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: MD5_Update
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 1
    functionsReached:
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: void MD5_Update(MD5_CTX *ctx, const void *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/extra/gnutls_openssl.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - MD5_CTX*
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: MD5_Final
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 1
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void MD5_Final(unsigned char *md, MD5_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/extra/gnutls_openssl.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - md
    argTypes:
    - unsigned char*
    - unsigned long
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 800
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 800
    functionName: MD5
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_fast
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *MD5(const unsigned char *buf, unsigned long len,\n\t\t
      \  unsigned char *md)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/gnutls/extra/gnutls_openssl.c:805,1
    - Dst: abort
      Src: /src/gnutls/extra/gnutls_openssl.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - RIPEMD160_CTX*
    constantsTouched: []
    func_position:
      end: 808
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 808
    functionName: RIPEMD160_Init
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - abort
    - gnutls_hash_init
    linkageType: ''
    returnType: void
    signature: void RIPEMD160_Init(RIPEMD160_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash
      Src: /src/gnutls/extra/gnutls_openssl.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - RIPEMD160_CTX*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: RIPEMD160_Update
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_hash
    linkageType: ''
    returnType: void
    signature: void RIPEMD160_Update(RIPEMD160_CTX *ctx, const void *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/extra/gnutls_openssl.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - RIPEMD160_CTX*
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: RIPEMD160_Final
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/extra/gnutls_openssl.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - md
    argTypes:
    - unsigned char*
    - unsigned long
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: RIPEMD160
    functionSourceFile: /src/gnutls/extra/gnutls_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_fast
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *RIPEMD160(const unsigned char *buf, unsigned long len,\n\t\t\t
      unsigned char *md)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: gnutls_openpgp_crt_init
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: gnutls_openpgp_crt_deinit
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_openpgp_crt_deinit(gnutls_openpgp_crt_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - data
    - format
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: gnutls_openpgp_crt_import
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_import(gnutls_openpgp_crt_t key,\n\t\t\t      const
      gnutls_datum_t *data,\n\t\t\t      gnutls_openpgp_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: gnutls_openpgp_crt_export
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_export(gnutls_openpgp_crt_t key,\n\t\t\t      gnutls_openpgp_crt_fmt_t
      format,\n\t\t\t      void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - format
    - out
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: gnutls_openpgp_crt_export2
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_export2(gnutls_openpgp_crt_t key,\n\t\t\t       gnutls_openpgp_crt_fmt_t
      format,\n\t\t\t       gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - format
    - out
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: gnutls_openpgp_crt_print
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_print(gnutls_openpgp_crt_t cert,\n\t\t\t     gnutls_certificate_print_formats_t
      format,\n\t\t\t     gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - key_usage
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: gnutls_openpgp_crt_get_key_usage
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_key_usage(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \    unsigned int *key_usage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - fpr
    - fprlen
    argTypes:
    - gnutls_openpgp_crt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: gnutls_openpgp_crt_get_fingerprint
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_fingerprint(gnutls_openpgp_crt_t key, void
      *fpr,\n\t\t\t\t       size_t *fprlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - idx
    - fpr
    - fprlen
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: gnutls_openpgp_crt_get_subkey_fingerprint
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_fingerprint(gnutls_openpgp_crt_t
      key,\n\t\t\t\t\t      unsigned int idx, void *fpr,\n\t\t\t\t\t      size_t *fprlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - idx
    - buf
    - sizeof_buf
    argTypes:
    - gnutls_openpgp_crt_t
    - int
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: gnutls_openpgp_crt_get_name
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key, int idx,
      char *buf,\n\t\t\t\tsize_t *sizeof_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: gnutls_openpgp_crt_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm(gnutls_openpgp_crt_t
      key,\n\t\t\t\t    unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: gnutls_openpgp_crt_get_version
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_crt_get_version(gnutls_openpgp_crt_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: gnutls_openpgp_crt_get_creation_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_openpgp_crt_get_creation_time(gnutls_openpgp_crt_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: gnutls_openpgp_crt_get_expiration_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_openpgp_crt_get_expiration_time(gnutls_openpgp_crt_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gnutls_openpgp_crt_get_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_key_id(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \ gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - hostname
    argTypes:
    - gnutls_openpgp_crt_t
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gnutls_openpgp_crt_check_hostname
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_check_hostname(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \     const char *hostname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - hostname
    - flags
    argTypes:
    - gnutls_openpgp_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gnutls_openpgp_crt_check_hostname2
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_check_hostname2(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \      const char *hostname, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - email
    - flags
    argTypes:
    - gnutls_openpgp_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: gnutls_openpgp_crt_check_email
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_check_email(gnutls_openpgp_crt_t key, const
      char *email,\n\t\t\t\t   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: gnutls_openpgp_crt_get_revoked_status
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_crt_get_revoked_status(gnutls_openpgp_crt_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_crt_t
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: gnutls_openpgp_crt_get_subkey_count
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_crt_get_subkey_count(gnutls_openpgp_crt_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: gnutls_openpgp_crt_get_subkey_idx
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_idx(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \     const gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: gnutls_openpgp_crt_get_subkey_revoked_status
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_revoked_status(gnutls_openpgp_crt_t
      key,\n\t\t\t\t\t\t unsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - bits
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: gnutls_openpgp_crt_get_subkey_pk_algorithm
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm(gnutls_openpgp_crt_t
      key,\n\t\t\t\t\t   unsigned int idx, unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: gnutls_openpgp_crt_get_subkey_creation_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t gnutls_openpgp_crt_get_subkey_creation_time(gnutls_openpgp_crt_t
      key,\n\t\t\t\t\t\t   unsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: gnutls_openpgp_crt_get_subkey_expiration_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t gnutls_openpgp_crt_get_subkey_expiration_time(gnutls_openpgp_crt_t
      key,\n\t\t\t\t\t\t     unsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - keyid
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: gnutls_openpgp_crt_get_subkey_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_id(gnutls_openpgp_crt_t key, unsigned
      int idx,\n\t\t\t\t     gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - key_usage
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: gnutls_openpgp_crt_get_subkey_usage
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_usage(gnutls_openpgp_crt_t key,\n\t\t\t\t\tunsigned
      int idx,\n\t\t\t\t\tunsigned int *key_usage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - crt
    - idx
    - p
    - q
    - g
    - y
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: gnutls_openpgp_crt_get_subkey_pk_dsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(\n\tgnutls_openpgp_crt_t
      crt, unsigned int idx, gnutls_datum_t *p,\n\tgnutls_datum_t *q, gnutls_datum_t
      *g, gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crt
    - idx
    - m
    - e
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: gnutls_openpgp_crt_get_subkey_pk_rsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(gnutls_openpgp_crt_t
      crt,\n\t\t\t\t\t     unsigned int idx,\n\t\t\t\t\t     gnutls_datum_t *m,\n\t\t\t\t\t
      \    gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - crt
    - p
    - q
    - g
    - y
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: gnutls_openpgp_crt_get_pk_dsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_pk_dsa_raw(gnutls_openpgp_crt_t crt,\n\t\t\t\t
      \     gnutls_datum_t *p, gnutls_datum_t *q,\n\t\t\t\t      gnutls_datum_t *g,
      gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crt
    - m
    - e
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: gnutls_openpgp_crt_get_pk_rsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_pk_rsa_raw(gnutls_openpgp_crt_t crt,\n\t\t\t\t
      \     gnutls_datum_t *m, gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: gnutls_openpgp_crt_get_preferred_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t key,\n\t\t\t\t\t
      \   gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: gnutls_openpgp_crt_set_preferred_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_set_preferred_key_id(gnutls_openpgp_crt_t key,\n\t\t\t\t\t
      \   const gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_privkey_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: gnutls_openpgp_privkey_init
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_privkey_t
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: gnutls_openpgp_privkey_deinit
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_openpgp_privkey_deinit(gnutls_openpgp_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: gnutls_openpgp_privkey_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\tunsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_privkey_t
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: gnutls_openpgp_privkey_sec_param
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_sec_param_t
    signature: gnutls_sec_param_t gnutls_openpgp_privkey_sec_param(gnutls_openpgp_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - data
    - format
    - password
    - flags
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: gnutls_openpgp_privkey_import
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t key,\n\t\t\t\t
      \ const gnutls_datum_t *data,\n\t\t\t\t  gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t
      \ const char *password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - fpr
    - fprlen
    argTypes:
    - gnutls_openpgp_privkey_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: gnutls_openpgp_privkey_get_fingerprint
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t   void *fpr, size_t *fprlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - idx
    - fpr
    - fprlen
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: gnutls_openpgp_privkey_get_subkey_fingerprint
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_subkey_fingerprint(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t\t  unsigned int idx, void *fpr,\n\t\t\t\t\t\t  size_t *fprlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: gnutls_openpgp_privkey_get_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_key_id(gnutls_openpgp_privkey_t key,\n\t\t\t\t
      \     gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_privkey_t
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: gnutls_openpgp_privkey_get_subkey_count
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_privkey_get_subkey_count(gnutls_openpgp_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: gnutls_openpgp_privkey_get_subkey_idx
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t  const gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: gnutls_openpgp_privkey_get_subkey_revoked_status
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_subkey_revoked_status(\n\tgnutls_openpgp_privkey_t
      key, unsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_openpgp_privkey_t
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: gnutls_openpgp_privkey_get_revoked_status
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_privkey_get_revoked_status(gnutls_openpgp_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - bits
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: gnutls_openpgp_privkey_get_subkey_pk_algorithm
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm(\n\tgnutls_openpgp_privkey_t
      key, unsigned int idx, unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: gnutls_openpgp_privkey_get_subkey_expiration_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t gnutls_openpgp_privkey_get_subkey_expiration_time(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t\t  unsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - keyid
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: gnutls_openpgp_privkey_get_subkey_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_subkey_id(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t unsigned int idx,\n\t\t\t\t\t gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: gnutls_openpgp_privkey_get_subkey_creation_time
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t gnutls_openpgp_privkey_get_subkey_creation_time(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t\tunsigned int idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pkey
    - idx
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: gnutls_openpgp_privkey_export_subkey_dsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export_subkey_dsa_raw(\n\tgnutls_openpgp_privkey_t
      pkey, unsigned int idx, gnutls_datum_t *p,\n\tgnutls_datum_t *q, gnutls_datum_t
      *g, gnutls_datum_t *y,\n\tgnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pkey
    - idx
    - m
    - e
    - d
    - p
    - q
    - u
    argTypes:
    - gnutls_openpgp_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: gnutls_openpgp_privkey_export_subkey_rsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export_subkey_rsa_raw(\n\tgnutls_openpgp_privkey_t
      pkey, unsigned int idx, gnutls_datum_t *m,\n\tgnutls_datum_t *e, gnutls_datum_t
      *d, gnutls_datum_t *p,\n\tgnutls_datum_t *q, gnutls_datum_t *u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pkey
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: gnutls_openpgp_privkey_export_dsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export_dsa_raw(gnutls_openpgp_privkey_t
      pkey,\n\t\t\t\t\t  gnutls_datum_t *p, gnutls_datum_t *q,\n\t\t\t\t\t  gnutls_datum_t
      *g, gnutls_datum_t *y,\n\t\t\t\t\t  gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pkey
    - m
    - e
    - d
    - p
    - q
    - u
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: gnutls_openpgp_privkey_export_rsa_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export_rsa_raw(gnutls_openpgp_privkey_t
      pkey,\n\t\t\t\t\t  gnutls_datum_t *m, gnutls_datum_t *e,\n\t\t\t\t\t  gnutls_datum_t
      *d, gnutls_datum_t *p,\n\t\t\t\t\t  gnutls_datum_t *q, gnutls_datum_t *u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - format
    - password
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_crt_fmt_t
    - char*
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: gnutls_openpgp_privkey_export
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t key,\n\t\t\t\t
      \ gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t  const char *password, unsigned
      int flags,\n\t\t\t\t  void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - format
    - password
    - flags
    - out
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_crt_fmt_t
    - char*
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: gnutls_openpgp_privkey_export2
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_export2(gnutls_openpgp_privkey_t key,\n\t\t\t\t
      \  gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t   const char *password, unsigned
      int flags,\n\t\t\t\t   gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: gnutls_openpgp_privkey_set_preferred_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_set_preferred_key_id(\n\tgnutls_openpgp_privkey_t
      key, const gnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keyid
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_openpgp_keyid_t
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: gnutls_openpgp_privkey_get_preferred_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_get_preferred_key_id(gnutls_openpgp_privkey_t
      key,\n\t\t\t\t\t\tgnutls_openpgp_keyid_t keyid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crt
    - keyid
    - flag
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyid_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: gnutls_openpgp_crt_get_auth_subkey
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t crt,\n\t\t\t\t
      \      gnutls_openpgp_keyid_t keyid,\n\t\t\t\t       unsigned int flag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyring
    argTypes:
    - gnutls_openpgp_keyring_t*
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: gnutls_openpgp_keyring_init
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t *keyring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyring
    argTypes:
    - gnutls_openpgp_keyring_t
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: gnutls_openpgp_keyring_deinit
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring_t keyring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keyring
    - data
    - format
    argTypes:
    - gnutls_openpgp_keyring_t
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: gnutls_openpgp_keyring_import
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring_t keyring,\n\t\t\t\t
      \ const gnutls_datum_t *data,\n\t\t\t\t  gnutls_openpgp_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ring
    - keyid
    - flags
    argTypes:
    - gnutls_openpgp_keyring_t
    - gnutls_openpgp_keyid_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: gnutls_openpgp_keyring_check_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_keyring_check_id(gnutls_openpgp_keyring_t ring,\n\t\t\t\t
      \   const gnutls_openpgp_keyid_t keyid,\n\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - keyring
    - flags
    - verify
    argTypes:
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_keyring_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: gnutls_openpgp_crt_verify_ring
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_verify_ring(gnutls_openpgp_crt_t key,\n\t\t\t\t
      \  gnutls_openpgp_keyring_t keyring,\n\t\t\t\t   unsigned int flags, unsigned
      int *verify\n\t\t\t\t   /* the output of the verification */\n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - flags
    - verify
    argTypes:
    - gnutls_openpgp_crt_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: gnutls_openpgp_crt_verify_self
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key, unsigned
      int flags,\n\t\t\t\t   unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ring
    - idx
    - cert
    argTypes:
    - gnutls_openpgp_keyring_t
    - unsigned int
    - gnutls_openpgp_crt_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: gnutls_openpgp_keyring_get_crt
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_keyring_get_crt(gnutls_openpgp_keyring_t ring,\n\t\t\t\t
      \  unsigned int idx, gnutls_openpgp_crt_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - gnutls_openpgp_keyring_t
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: gnutls_openpgp_keyring_get_crt_count
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_openpgp_keyring_get_crt_count(gnutls_openpgp_keyring_t ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_openpgp_recv_key_func
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: gnutls_openpgp_set_recv_key_function
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_openpgp_set_recv_key_function(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_openpgp_recv_key_func func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - res
    - crt
    - pkey
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_openpgp_crt_t
    - gnutls_openpgp_privkey_t
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: gnutls_certificate_set_openpgp_key
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_key(gnutls_certificate_credentials_t
      res,\n\t\t\t\t       gnutls_openpgp_crt_t crt,\n\t\t\t\t       gnutls_openpgp_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - res
    - index
    - key
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_openpgp_privkey_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: gnutls_certificate_get_openpgp_key
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_openpgp_key(gnutls_certificate_credentials_t
      res,\n\t\t\t\t       unsigned index,\n\t\t\t\t       gnutls_openpgp_privkey_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - index
    - crt_list
    - crt_list_size
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_openpgp_crt_t**
    - unsigned*
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: gnutls_certificate_get_openpgp_crt
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_openpgp_crt(gnutls_certificate_credentials_t
      res,\n\t\t\t\t       unsigned index,\n\t\t\t\t       gnutls_openpgp_crt_t **crt_list,\n\t\t\t\t
      \      unsigned *crt_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - certfile
    - keyfile
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: gnutls_certificate_set_openpgp_key_file
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_key_file(\n\tgnutls_certificate_credentials_t
      res, const char *certfile,\n\tconst char *keyfile, gnutls_openpgp_crt_fmt_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - cert
    - key
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: gnutls_certificate_set_openpgp_key_mem
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_key_mem(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t   const gnutls_datum_t *cert,\n\t\t\t\t\t   const gnutls_datum_t
      *key,\n\t\t\t\t\t   gnutls_openpgp_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - res
    - certfile
    - keyfile
    - subkey_id
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - char*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: gnutls_certificate_set_openpgp_key_file2
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_key_file2(\n\tgnutls_certificate_credentials_t
      res, const char *certfile,\n\tconst char *keyfile, const char *subkey_id,\n\tgnutls_openpgp_crt_fmt_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - res
    - cert
    - key
    - subkey_id
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - char*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: gnutls_certificate_set_openpgp_key_mem2
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_key_mem2(\n\tgnutls_certificate_credentials_t
      res, const gnutls_datum_t *cert,\n\tconst gnutls_datum_t *key, const char *subkey_id,\n\tgnutls_openpgp_crt_fmt_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - data
    - dlen
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned char*
    - size_t
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: gnutls_certificate_set_openpgp_keyring_mem
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_keyring_mem(\n\tgnutls_certificate_credentials_t
      c, const unsigned char *data,\n\tsize_t dlen, gnutls_openpgp_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - file
    - format
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_openpgp_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: gnutls_certificate_set_openpgp_keyring_file
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_openpgp_keyring_file(\n\tgnutls_certificate_credentials_t
      c, const char *file,\n\tgnutls_openpgp_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - crt
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_openpgp_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: gnutls_pubkey_import_openpgp
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key, gnutls_openpgp_crt_t
      crt,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pkey
    - data
    - format
    - keyid
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    - gnutls_openpgp_keyid_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: gnutls_pubkey_import_openpgp_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_openpgp_raw(gnutls_pubkey_t pkey,\n\t\t\t\t
      \    const gnutls_datum_t *data,\n\t\t\t\t     gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t
      \    const gnutls_openpgp_keyid_t keyid,\n\t\t\t\t     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - flags
    - output_data
    - output_data_size
    - subkey
    argTypes:
    - gnutls_pubkey_t
    - unsigned int
    - unsigned char*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: gnutls_pubkey_get_openpgp_key_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key, unsigned
      int flags,\n\t\t\t\t     unsigned char *output_data,\n\t\t\t\t     size_t *output_data_size,\n\t\t\t\t
      \    unsigned int *subkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkey
    - key
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_openpgp_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: gnutls_privkey_import_openpgp
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey,\n\t\t\t\t
      \ gnutls_openpgp_privkey_t key,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - gnutls_privkey_t
    - gnutls_openpgp_privkey_t*
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: gnutls_privkey_export_openpgp
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_openpgp(gnutls_privkey_t pkey,\n\t\t\t\t
      \ gnutls_openpgp_privkey_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pkey
    - data
    - format
    - keyid
    - password
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    - gnutls_openpgp_keyid_t
    - char*
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 649
    functionName: gnutls_privkey_import_openpgp_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_openpgp_raw(gnutls_privkey_t pkey,\n\t\t\t\t
      \     const gnutls_datum_t *data,\n\t\t\t\t      gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t
      \     const gnutls_openpgp_keyid_t keyid,\n\t\t\t\t      const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pcert
    - cert
    - format
    - keyid
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_openpgp_crt_fmt_t
    - gnutls_openpgp_keyid_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 672
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 672
    functionName: gnutls_pcert_import_openpgp_raw
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st *pcert,\n\t\t\t\t
      \   const gnutls_datum_t *cert,\n\t\t\t\t    gnutls_openpgp_crt_fmt_t format,\n\t\t\t\t
      \   gnutls_openpgp_keyid_t keyid,\n\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcert
    - crt
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_openpgp_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: gnutls_pcert_import_openpgp
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_openpgp(gnutls_pcert_st *pcert,\n\t\t\t\tgnutls_openpgp_crt_t
      crt, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcert
    - crt
    argTypes:
    - gnutls_pcert_st*
    - gnutls_openpgp_crt_t*
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: gnutls_pcert_export_openpgp
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_export_openpgp(gnutls_pcert_st *pcert,\n\t\t\t\tgnutls_openpgp_crt_t
      *crt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - status
    argTypes:
    - gnutls_session_t
    - gnutls_openpgp_crt_status_t
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: gnutls_openpgp_send_cert
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_openpgp_send_cert(gnutls_session_t session,\n\t\t\t      gnutls_openpgp_crt_status_t
      status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - id
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: gnutls_certificate_get_peers_subkey_id
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_peers_subkey_id(gnutls_session_t session,\n\t\t\t\t\t
      \  gnutls_datum_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - hash
    - signature
    argTypes:
    - gnutls_openpgp_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: gnutls_openpgp_privkey_sign_hash
    functionSourceFile: /src/gnutls/lib/openpgp_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key,\n\t\t\t\t
      \    const gnutls_datum_t *hash,\n\t\t\t\t     gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/lib/file.c:32,1
    - Dst: fclose
      Src: /src/gnutls/lib/file.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: _gnutls_file_exists
    functionSourceFile: /src/gnutls/lib/file.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int _gnutls_file_exists(const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnutls/lib/file.c:62,1
    - Dst: memcpy
      Src: /src/gnutls/lib/file.c:69,1
    - Dst: free
      Src: /src/gnutls/lib/file.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - data
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: gnutls_load_file
    functionSourceFile: /src/gnutls/lib/file.c
    functionUses: 13
    functionsReached:
    - memcpy
    - read_file
    - free
    linkageType: ''
    returnType: int
    signature: int gnutls_load_file(const char *filename, gnutls_datum_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ver
    argTypes:
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: _gnutls_version_has_selectable_prf
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_version_has_selectable_prf(const version_entry_st *ver)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ver
    argTypes:
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: _gnutls_version_has_selectable_sighash
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_version_has_selectable_sighash(const version_entry_st *ver)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ver
    argTypes:
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: _gnutls_version_has_extensions
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_version_has_extensions(const version_entry_st *ver)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ver
    argTypes:
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: _gnutls_version_has_explicit_iv
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_version_has_explicit_iv(const version_entry_st *ver)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: _gnutls_mac_is_ok
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_is_ok(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: _gnutls_mac_get_algo_len
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t _gnutls_mac_get_algo_len(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: _gnutls_x509_mac_to_oid
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *_gnutls_x509_mac_to_oid(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: _gnutls_mac_get_name
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *_gnutls_mac_get_name(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: _gnutls_mac_block_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_block_size(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: _gnutls_mac_get_key_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_get_key_size(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: _gnutls_mac_to_dig
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t _gnutls_mac_to_dig(gnutls_mac_algorithm_t
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: _gnutls_digest_is_secure
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_digest_is_secure(const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: _gnutls_cipher_type
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: cipher_type_t
    signature: cipher_type_t _gnutls_cipher_type(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: _gnutls_cipher_get_block_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_block_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: _gnutls_cipher_get_implicit_iv_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_implicit_iv_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: _gnutls_cipher_get_iv_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_iv_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: _gnutls_cipher_get_explicit_iv_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_explicit_iv_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: _gnutls_cipher_get_key_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_key_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: _gnutls_cipher_get_name
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *_gnutls_cipher_get_name(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: _gnutls_cipher_algo_is_aead
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_algo_is_aead(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: _gnutls_cipher_is_ok
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_is_ok(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - cipher_entry_st*
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: _gnutls_cipher_get_tag_size
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_tag_size(const cipher_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - se
    - pk
    argTypes:
    - gnutls_sign_entry_st*
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: sign_supports_priv_pk_algorithm
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned sign_supports_priv_pk_algorithm(const gnutls_sign_entry_st
      *se,\n\t\t\t\tgnutls_pk_algorithm_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - se
    - pk
    argTypes:
    - gnutls_sign_entry_st*
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: sign_supports_cert_pk_algorithm
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned sign_supports_cert_pk_algorithm(const gnutls_sign_entry_st
      *se,\n\t\t\t\tgnutls_pk_algorithm_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - gnutls_ecc_curve_entry_st*
    constantsTouched: []
    func_position:
      end: 507
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 507
    functionName: _curve_is_eddsa
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _curve_is_eddsa(const gnutls_ecc_curve_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms.h:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - gnutls_ecc_curve_entry_st*
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: _curve_is_modern_ecdh
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _curve_is_modern_ecdh(const gnutls_ecc_curve_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/algorithms.h:520,1
    - Dst: _curve_is_eddsa
      Src: /src/gnutls/lib/algorithms.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: curve_is_eddsa
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 1
    functionsReached:
    - _curve_is_eddsa
    - _gnutls_ecc_curve_get_params
    linkageType: ''
    returnType: int
    signature: int curve_is_eddsa(gnutls_ecc_curve_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/algorithms.h:526,1
    - Dst: _curve_is_modern_ecdh
      Src: /src/gnutls/lib/algorithms.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: curve_is_modern_ecdh
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 1
    functionsReached:
    - _curve_is_modern_ecdh
    - _gnutls_ecc_curve_get_params
    linkageType: ''
    returnType: int
    signature: int curve_is_modern_ecdh(gnutls_ecc_curve_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - kx
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: _gnutls_kx_is_ecc
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_kx_is_ecc(gnutls_kx_algorithm_t kx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - kx
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: _gnutls_kx_is_psk
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_kx_is_psk(gnutls_kx_algorithm_t kx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - kx
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: _gnutls_kx_is_dhe
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_kx_is_dhe(gnutls_kx_algorithm_t kx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kx
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: _gnutls_kx_is_vko_gost
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_kx_is_vko_gost(gnutls_kx_algorithm_t kx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - gnutls_sign_entry_st*
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: _sign_is_gost
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _sign_is_gost(const gnutls_sign_entry_st *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: _sig_is_ecdsa
    functionSourceFile: /src/gnutls/lib/algorithms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _sig_is_ecdsa(gnutls_sign_algorithm_t sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_send_tlen_int
      Src: /src/gnutls/lib/record.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - session
    - type
    - htype
    - epoch_rel
    - _data
    - data_size
    - mflags
    argTypes:
    - gnutls_session_t
    - content_type_t
    - gnutls_handshake_description_t
    - unsigned int
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: _gnutls_send_int
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached:
    - _gnutls_send_tlen_int
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_send_int(gnutls_session_t session, content_type_t
      type,\n\t\t gnutls_handshake_description_t htype, unsigned int epoch_rel,\n\t\t
      const void *_data, size_t data_size, unsigned int mflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/record.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: max_record_recv_size
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached:
    - RECORD_HEADER_SIZE
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_record_recv_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: max_decrypted_size
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned max_decrypted_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/record.h:85,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/record.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: get_total_headers
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_cipher_get_explicit_iv_size
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_total_headers(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/record.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: get_total_headers2
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached:
    - _gnutls_cipher_get_explicit_iv_size
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_total_headers2(gnutls_session_t session,\n\t\t\t\t\t
      \     record_parameters_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: session_invalidate
    functionSourceFile: /src/gnutls/lib/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void session_invalidate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/handshake.h:135,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.h:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: handshake_remaining_time
    functionSourceFile: /src/gnutls/lib/handshake.h
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: int handshake_remaining_time(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/handshake.h:157,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/handshake.h:158,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/handshake.h:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: have_creds_for_tls13
    functionSourceFile: /src/gnutls/lib/handshake.h
    functionUses: 0
    functionsReached:
    - assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: unsigned
    signature: unsigned have_creds_for_tls13(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/atomic.h:50,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/atomic.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_atomic_uint_t
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: gnutls_atomic_val
    functionSourceFile: /src/gnutls/lib/atomic.h
    functionUses: 0
    functionsReached:
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_atomic_val(gnutls_atomic_uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/atomic.h:58,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/atomic.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_atomic_uint_t
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: gnutls_atomic_increment
    functionSourceFile: /src/gnutls/lib/atomic.h
    functionUses: 0
    functionsReached:
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    linkageType: ''
    returnType: void
    signature: void gnutls_atomic_increment(gnutls_atomic_uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/atomic.h:65,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/atomic.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_atomic_uint_t
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: gnutls_atomic_decrement
    functionSourceFile: /src/gnutls/lib/atomic.h
    functionUses: 0
    functionsReached:
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    linkageType: ''
    returnType: void
    signature: void gnutls_atomic_decrement(gnutls_atomic_uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_init
      Src: /src/gnutls/lib/atomic.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_atomic_uint_t
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: gnutls_atomic_init
    functionSourceFile: /src/gnutls/lib/atomic.h
    functionUses: 0
    functionsReached:
    - gnutls_mutex_init
    linkageType: ''
    returnType: void
    signature: void gnutls_atomic_init(gnutls_atomic_uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/atomic.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - gnutls_atomic_uint_t
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: gnutls_atomic_deinit
    functionSourceFile: /src/gnutls/lib/atomic.h
    functionUses: 0
    functionsReached:
    - gnutls_mutex_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_atomic_deinit(gnutls_atomic_uint_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: _gnutls_read_uint24
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _gnutls_read_uint24(const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:41,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/num.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: _gnutls_read_uint64
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _gnutls_read_uint64(const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/gnutls/lib/num.h:51,1
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num
    - data
    argTypes:
    - uint64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: _gnutls_write_uint64
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_64
    linkageType: ''
    returnType: void
    signature: void _gnutls_write_uint64(uint64_t num, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - num
    - data
    argTypes:
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: _gnutls_write_uint24
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_write_uint24(uint32_t num, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:67,1
    - Dst: bswap_32
      Src: /src/gnutls/lib/num.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: _gnutls_read_uint32
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _gnutls_read_uint32(const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnutls/lib/num.h:77,1
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num
    - data
    argTypes:
    - uint32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: _gnutls_write_uint32
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void _gnutls_write_uint32(uint32_t num, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:85,1
    - Dst: bswap_16
      Src: /src/gnutls/lib/num.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: _gnutls_read_uint16
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t _gnutls_read_uint16(const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnutls/lib/num.h:95,1
    - Dst: memcpy
      Src: /src/gnutls/lib/num.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num
    - data
    argTypes:
    - uint16_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: _gnutls_write_uint16
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - memcpy
    - bswap_16
    linkageType: ''
    returnType: void
    signature: void _gnutls_write_uint16(uint16_t num, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnutls/lib/num.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: _gnutls_conv_uint32
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _gnutls_conv_uint32(uint32_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnutls/lib/num.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: _gnutls_conv_uint16
    functionSourceFile: /src/gnutls/lib/num.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t _gnutls_conv_uint16(uint16_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - session
    - id
    argTypes:
    - gnutls_session_t
    - extensions_t
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: gid_to_ext_entry
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: hello_ext_entry_st
    signature: "hello_ext_entry_st *gid_to_ext_entry(gnutls_session_t session,\n\t\t\t\t\t\t
      \ extensions_t id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/hello_ext.c:155,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/hello_ext.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - session
    - tls_id
    - parse_point
    argTypes:
    - gnutls_session_t
    - uint16_t
    - gnutls_ext_parse_type_t
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: tls_id_to_ext_entry
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - IS_SERVER
    linkageType: ''
    returnType: hello_ext_entry_st
    signature: "hello_ext_entry_st *\ntls_id_to_ext_entry(gnutls_session_t session,
      uint16_t tls_id,\n\t\t    gnutls_ext_parse_type_t parse_point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ext
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: gnutls_ext_get_name
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_ext_get_name(unsigned int ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - session
    - tls_id
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 207
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 207
    functionName: tls_id_to_gid
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned tls_id_to_gid(gnutls_session_t session, unsigned tls_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:231,1
    - Dst: tls_id_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:234,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/hello_ext.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:248,1
    - Dst: _gnutls_hello_ext_is_present
      Src: /src/gnutls/lib/hello_ext.c:255,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/hello_ext.c:256,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:259,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/hello_ext.c:265,1
    - Dst: ext_msg_validity_to_str
      Src: /src/gnutls/lib/hello_ext.c:268,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:269,1
    - Dst: _gnutls_hello_ext_save
      Src: /src/gnutls/lib/hello_ext.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:275,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:279,1
    - Dst: _gnutls_ext_set_msg
      Src: /src/gnutls/lib/hello_ext.c:282,1
    - Dst: hello_ext_entry_st*::recv_func
      Src: /src/gnutls/lib/hello_ext.c:283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:284,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:292,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 4
    argNames:
    - _ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 296
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 296
    functionName: hello_ext_parse
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_assert
    - IS_DTLS
    - hello_ext_entry_st*::recv_func
    - _gnutls_ext_set_msg
    - _gnutls_hello_ext_is_present
    - tls_id_to_ext_entry
    - _gnutls_debug_log
    - _gnutls_hello_ext_save
    - gnutls_assert_val
    - ext_msg_validity_to_str
    linkageType: ''
    returnType: int
    signature: "int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t *data,\n\t\t\t
      \  unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/hello_ext.c:313,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - session
    - msg
    - parse_point
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_ext_flags_t
    - gnutls_ext_parse_type_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: _gnutls_parse_hello_extensions
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_extv_parse
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_hello_extensions(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_ext_flags_t msg,\n\t\t\t\t   gnutls_ext_parse_type_t parse_point,\n\t\t\t\t
      \  const uint8_t *data, int data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/hello_ext.c:329,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/hello_ext.c:333,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/hello_ext.c:334,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/hello_ext.c:339,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:346,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:354,1
    - Dst: ext_msg_validity_to_str
      Src: /src/gnutls/lib/hello_ext.c:357,1
    - Dst: _gnutls_hello_ext_is_present
      Src: /src/gnutls/lib/hello_ext.c:362,1
    - Dst: _gnutls_ext_set_msg
      Src: /src/gnutls/lib/hello_ext.c:376,1
    - Dst: hello_ext_entry_st*::send_func
      Src: /src/gnutls/lib/hello_ext.c:377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:379,1
    - Dst: _gnutls_hello_ext_save
      Src: /src/gnutls/lib/hello_ext.c:389,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:395,1
    - Dst: ext_msg_validity_to_str
      Src: /src/gnutls/lib/hello_ext.c:397,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 2
    argNames:
    - _ctx
    - buf
    argTypes:
    - void*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 399
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 399
    functionName: hello_ext_send
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - IS_DTLS
    - _gnutls_ext_set_msg
    - _gnutls_hello_ext_is_present
    - unlikely
    - IS_SERVER
    - gnutls_assert_val
    - _gnutls_hello_ext_save
    - gnutls_assert
    - hello_ext_entry_st*::send_func
    - ext_msg_validity_to_str
    linkageType: ''
    returnType: int
    signature: int hello_ext_send(void *_ctx, gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - exts
    - index1
    - index2
    argTypes:
    - extensions_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: swap_exts
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_exts(extensions_t *exts, size_t index1, size_t index2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:414,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/hello_ext.c:419,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:421,1
    - Dst: swap_exts
      Src: /src/gnutls/lib/hello_ext.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - exts
    - size
    argTypes:
    - extensions_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 429
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 429
    functionName: shuffle_exts
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - assert
    - swap_exts
    - gnutls_assert_val
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int shuffle_exts(extensions_t *exts, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_extv_append_init
      Src: /src/gnutls/lib/hello_ext.c:447,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:449,1
    - Dst: _gnutls_ext_set_extensions_offset
      Src: /src/gnutls/lib/hello_ext.c:452,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/hello_ext.c:456,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:460,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:463,1
    - Dst: swap_exts
      Src: /src/gnutls/lib/hello_ext.c:476,1
    - Dst: swap_exts
      Src: /src/gnutls/lib/hello_ext.c:477,1
    - Dst: shuffle_exts
      Src: /src/gnutls/lib/hello_ext.c:480,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:482,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/hello_ext.c:493,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:496,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/hello_ext.c:499,1
    - Dst: _gnutls_extv_append_final
      Src: /src/gnutls/lib/hello_ext.c:505,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:507,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - session
    - buf
    - msg
    - parse_point
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - gnutls_ext_flags_t
    - gnutls_ext_parse_type_t
    constantsTouched: []
    func_position:
      end: 510
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 510
    functionName: _gnutls_gen_hello_extensions
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_extv_append
    - _gnutls_extv_append_init
    - _gnutls_handshake_log
    - swap_exts
    - shuffle_exts
    - _gnutls_extv_append_final
    - _gnutls_ext_set_extensions_offset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_hello_extensions(gnutls_session_t session,\n\t\t\t\t
      gnutls_buffer_st *buf, gnutls_ext_flags_t msg,\n\t\t\t\t gnutls_ext_parse_type_t
      parse_point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: _gnutls_hello_ext_init
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_hello_ext_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/hello_ext.c:527,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/hello_ext.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: _gnutls_hello_ext_deinit
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_hello_ext_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/hello_ext.c:544,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/hello_ext.c:546,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/hello_ext.c:549,1
    - Dst: hello_ext_entry_st*::pack_func
      Src: /src/gnutls/lib/hello_ext.c:553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:555,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/hello_ext.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - session
    - extp
    - packed
    argTypes:
    - gnutls_session_t
    - hello_ext_entry_st*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 566
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 566
    functionName: pack_extension
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - BUFFER_APPEND_NUM
    - gnutls_assert
    - hello_ext_entry_st*::pack_func
    - _gnutls_write_uint32
    linkageType: ''
    returnType: int
    signature: "int pack_extension(gnutls_session_t session,\n\t\t\t  const hello_ext_entry_st
      *extp,\n\t\t\t  gnutls_buffer_st *packed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/hello_ext.c:577,1
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:581,1
    - Dst: pack_extension
      Src: /src/gnutls/lib/hello_ext.c:585,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:587,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/hello_ext.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - session
    - packed
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 597
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 597
    functionName: _gnutls_hello_ext_pack
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - BUFFER_APPEND_NUM
    - pack_extension
    - gid_to_ext_entry
    - gnutls_assert_val
    - _gnutls_write_uint32
    linkageType: ''
    returnType: int
    signature: int _gnutls_hello_ext_pack(gnutls_session_t session, gnutls_buffer_st
      *packed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/hello_ext.c:605,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/hello_ext.c:607,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:608,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/hello_ext.c:609,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:611,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/hello_ext.c:612,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - session
    - recv_buf
    argTypes:
    - gnutls_session_t
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 617
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 617
    functionName: _gnutls_ext_set_full_client_hello
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    - _gnutls_buffer_clear
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_set_full_client_hello(gnutls_session_t session,\n\t\t\t\t
      \     handshake_buffer_st *recv_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session
    - d
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: _gnutls_ext_get_full_client_hello
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_ext_get_full_client_hello(gnutls_session_t session,\n\t\t\t\t\t
      \  gnutls_datum_t *d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:640,1
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:642,1
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:643,1
    - Dst: unset_resumed_ext_data
      Src: /src/gnutls/lib/hello_ext.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: _gnutls_ext_set_resumed_session_data
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - unset_resumed_ext_data
    - assert
    - gid_to_ext_entry
    linkageType: ''
    returnType: void
    signature: "void _gnutls_ext_set_resumed_session_data(gnutls_session_t session,\n\t\t\t\t\t\t
      extensions_t id,\n\t\t\t\t\t\t gnutls_ext_priv_data_t data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/hello_ext.c:662,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/hello_ext.c:664,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/hello_ext.c:665,1
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:669,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:671,1
    - Dst: struct hello_ext_entry_st*::unpack_func
      Src: /src/gnutls/lib/hello_ext.c:675,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:677,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hello_ext.c:684,1
    - Dst: _gnutls_ext_set_resumed_session_data
      Src: /src/gnutls/lib/hello_ext.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - session
    - packed
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 695
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 695
    functionName: _gnutls_hello_ext_unpack
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - BUFFER_POP_NUM
    - struct hello_ext_entry_st*::unpack_func
    - _gnutls_ext_set_resumed_session_data
    - gid_to_ext_entry
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_hello_ext_unpack(gnutls_session_t session, gnutls_buffer_st
      *packed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct hello_ext_entry_st*::deinit_func
      Src: /src/gnutls/lib/hello_ext.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - session
    - ext
    - idx
    argTypes:
    - gnutls_session_t
    - struct hello_ext_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 707
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 707
    functionName: unset_ext_data
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - struct hello_ext_entry_st*::deinit_func
    linkageType: ''
    returnType: void
    signature: "void unset_ext_data(gnutls_session_t session,\n\t\t\t   const struct
      hello_ext_entry_st *ext, unsigned idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:713,1
    - Dst: unset_ext_data
      Src: /src/gnutls/lib/hello_ext.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - id
    argTypes:
    - gnutls_session_t
    - extensions_t
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: _gnutls_hello_ext_unset_priv
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - unset_ext_data
    - gid_to_ext_entry
    linkageType: ''
    returnType: void
    signature: void _gnutls_hello_ext_unset_priv(gnutls_session_t session, extensions_t
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct hello_ext_entry_st*::deinit_func
      Src: /src/gnutls/lib/hello_ext.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - session
    - ext
    - idx
    argTypes:
    - gnutls_session_t
    - struct hello_ext_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: unset_resumed_ext_data
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 1
    functionsReached:
    - struct hello_ext_entry_st*::deinit_func
    linkageType: ''
    returnType: void
    signature: "void unset_resumed_ext_data(gnutls_session_t session,\n\t\t\t\t   const
      struct hello_ext_entry_st *ext,\n\t\t\t\t   unsigned idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:744,1
    - Dst: unset_ext_data
      Src: /src/gnutls/lib/hello_ext.c:746,1
    - Dst: unset_resumed_ext_data
      Src: /src/gnutls/lib/hello_ext.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 750
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 750
    functionName: _gnutls_hello_ext_priv_deinit
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - unset_resumed_ext_data
    - unset_ext_data
    - gid_to_ext_entry
    linkageType: ''
    returnType: void
    signature: void _gnutls_hello_ext_priv_deinit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:761,1
    - Dst: gid_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:763,1
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:764,1
    - Dst: unset_ext_data
      Src: /src/gnutls/lib/hello_ext.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 773
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 773
    functionName: _gnutls_hello_ext_set_priv
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached:
    - assert
    - unset_ext_data
    - gid_to_ext_entry
    linkageType: ''
    returnType: void
    signature: "void _gnutls_hello_ext_set_priv(gnutls_session_t session, extensions_t
      id,\n\t\t\t\tgnutls_ext_priv_data_t data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 784
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 784
    functionName: _gnutls_hello_ext_get_priv
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_get_priv(gnutls_session_t session, extensions_t
      id,\n\t\t\t       gnutls_ext_priv_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 796
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 796
    functionName: _gnutls_hello_ext_get_resumed_priv
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_get_resumed_priv(gnutls_session_t session,\n\t\t\t\t
      \      extensions_t id,\n\t\t\t\t       gnutls_ext_priv_data_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:843,1
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:849,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:851,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/hello_ext.c:853,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:855,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/hello_ext.c:857,1
    - Dst: assert
      Src: /src/gnutls/lib/hello_ext.c:873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 8
    argNames:
    - name
    - id
    - parse_point
    - recv_func
    - send_func
    - deinit_func
    - pack_func
    - unpack_func
    argTypes:
    - char*
    - int
    - gnutls_ext_parse_type_t
    - gnutls_ext_recv_func
    - gnutls_ext_send_func
    - gnutls_ext_deinit_data_func
    - gnutls_ext_pack_func
    - gnutls_ext_unpack_func
    constantsTouched: []
    func_position:
      end: 877
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 877
    functionName: gnutls_ext_register
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 4
    functionsReached:
    - gnutls_calloc
    - gnutls_strdup
    - assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ext_register(const char *name, int id,\n\t\t\tgnutls_ext_parse_type_t
      parse_point,\n\t\t\tgnutls_ext_recv_func recv_func,\n\t\t\tgnutls_ext_send_func
      send_func,\n\t\t\tgnutls_ext_deinit_data_func deinit_func,\n\t\t\tgnutls_ext_pack_func
      pack_func,\n\t\t\tgnutls_ext_unpack_func unpack_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:940,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:943,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:955,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:963,1
    - Dst: memset
      Src: /src/gnutls/lib/hello_ext.c:965,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/hello_ext.c:966,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/hello_ext.c:987,1
    - Dst: unlikely
      Src: /src/gnutls/lib/hello_ext.c:993,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/hello_ext.c:993,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:994,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/hello_ext.c:997,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:1001,1
    - Dst: memcpy
      Src: /src/gnutls/lib/hello_ext.c:1006,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 10
    argNames:
    - session
    - name
    - id
    - parse_point
    - recv_func
    - send_func
    - deinit_func
    - pack_func
    - unpack_func
    - flags
    argTypes:
    - gnutls_session_t
    - char*
    - int
    - gnutls_ext_parse_type_t
    - gnutls_ext_recv_func
    - gnutls_ext_send_func
    - gnutls_ext_deinit_data_func
    - gnutls_ext_pack_func
    - gnutls_ext_unpack_func
    - unsigned
    constantsTouched: []
    func_position:
      end: 1011
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 1011
    functionName: gnutls_session_ext_register
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 9
    functionsReached:
    - _gnutls_reallocarray
    - IS_DTLS
    - gnutls_strdup
    - unlikely
    - memset
    - memcpy
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_ext_register(gnutls_session_t session, const char
      *name,\n\t\t\t\tint id, gnutls_ext_parse_type_t parse_point,\n\t\t\t\tgnutls_ext_recv_func
      recv_func,\n\t\t\t\tgnutls_ext_send_func send_func,\n\t\t\t\tgnutls_ext_deinit_data_func
      deinit_func,\n\t\t\t\tgnutls_ext_pack_func pack_func,\n\t\t\t\tgnutls_ext_unpack_func
      unpack_func,\n\t\t\t\tunsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/hello_ext.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - tls_id
    - data
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 1033
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1033
    functionName: gnutls_ext_set_data
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 3
    functionsReached:
    - _gnutls_hello_ext_set_priv
    linkageType: ''
    returnType: void
    signature: "void gnutls_ext_set_data(gnutls_session_t session, unsigned tls_id,\n\t\t\t
      gnutls_ext_priv_data_t data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext.c:1052,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/hello_ext.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - tls_id
    - data
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1055
    functionName: gnutls_ext_get_data
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 3
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ext_get_data(gnutls_session_t session, unsigned tls_id,\n\t\t\tgnutls_ext_priv_data_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ext_get_msg
      Src: /src/gnutls/lib/hello_ext.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: gnutls_ext_get_current_msg
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_ext_get_msg
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_ext_get_current_msg(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls_id_to_ext_entry
      Src: /src/gnutls/lib/hello_ext.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - tls_id
    - parse_point
    argTypes:
    - gnutls_session_t
    - unsigned int
    - gnutls_ext_parse_type_t
    constantsTouched: []
    func_position:
      end: 1098
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1098
    functionName: gnutls_ext_get_name2
    functionSourceFile: /src/gnutls/lib/hello_ext.c
    functionUses: 1
    functionsReached:
    - tls_id_to_ext_entry
    linkageType: ''
    returnType: char
    signature: "char *gnutls_ext_get_name2(gnutls_session_t session, unsigned int
      tls_id,\n\t\t\t\t gnutls_ext_parse_type_t parse_point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 1
    argNames:
    - ch
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 81
    functionName: is_allowed_exception
    functionSourceFile: /src/gnutls/lib/str-unicode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_allowed_exception(uint32_t ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:96,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:98,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:99,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:100,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:101,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:102,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:103,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:105,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:106,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:107,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:108,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:109,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:110,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:111,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:112,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:113,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:114,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:115,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:116,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:117,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:118,1
    - Dst: uc_general_category_or
      Src: /src/gnutls/lib/str-unicode.c:119,1
    - Dst: uc_general_category_and_not
      Src: /src/gnutls/lib/str-unicode.c:120,1
    - Dst: uc_is_property_default_ignorable_code_point
      Src: /src/gnutls/lib/str-unicode.c:135,1
    - Dst: uc_is_property_not_a_character
      Src: /src/gnutls/lib/str-unicode.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-unicode.c:137,1
    - Dst: is_allowed_exception
      Src: /src/gnutls/lib/str-unicode.c:145,1
    - Dst: uc_is_property_join_control
      Src: /src/gnutls/lib/str-unicode.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-unicode.c:147,1
    - Dst: uc_is_general_category
      Src: /src/gnutls/lib/str-unicode.c:154,1
    - Dst: uc_is_general_category
      Src: /src/gnutls/lib/str-unicode.c:160,1
    - Dst: u32_normalize
      Src: /src/gnutls/lib/str-unicode.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-unicode.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - ucs4
    - ucs4_size
    argTypes:
    - uint32_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 175
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 175
    functionName: check_for_valid_freeformclass
    functionSourceFile: /src/gnutls/lib/str-unicode.c
    functionUses: 0
    functionsReached:
    - uc_is_property_not_a_character
    - u32_normalize
    - uc_is_property_join_control
    - is_allowed_exception
    - uc_general_category_and_not
    - uc_is_general_category
    - uc_general_category_or
    - gnutls_assert_val
    - uc_is_property_default_ignorable_code_point
    linkageType: ''
    returnType: int
    signature: int check_for_valid_freeformclass(uint32_t *ucs4, unsigned ucs4_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/str-unicode.c:206,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-unicode.c:209,1
    - Dst: u8_check
      Src: /src/gnutls/lib/str-unicode.c:214,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:215,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-unicode.c:218,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-unicode.c:220,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-unicode.c:222,1
    - Dst: u8_to_u32
      Src: /src/gnutls/lib/str-unicode.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:233,1
    - Dst: check_for_valid_freeformclass
      Src: /src/gnutls/lib/str-unicode.c:238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:240,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:242,1
    - Dst: u32_normalize
      Src: /src/gnutls/lib/str-unicode.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:253,1
    - Dst: u32_to_u8
      Src: /src/gnutls/lib/str-unicode.c:260,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:262,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-unicode.c:268,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-unicode.c:270,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-unicode.c:275,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:278,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:279,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:280,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-unicode.c:288,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:289,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:290,1
    - Dst: free
      Src: /src/gnutls/lib/str-unicode.c:291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 4
    argNames:
    - password
    - plen
    - out
    - flags
    argTypes:
    - unsigned char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 293
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 293
    functionName: gnutls_utf8_password_normalize
    functionSourceFile: /src/gnutls/lib/str-unicode.c
    functionUses: 0
    functionsReached:
    - check_for_valid_freeformclass
    - gnutls_free
    - free
    - u32_normalize
    - u8_check
    - u8_to_u32
    - gnutls_assert
    - gnutls_malloc
    - gnutls_strdup
    - u32_to_u8
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_utf8_password_normalize(const unsigned char *password,
      unsigned plen,\n\t\t\t\t   gnutls_datum_t *out, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/anon_cred.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/anon_cred.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_anon_server_credentials_t
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: gnutls_anon_free_server_credentials
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 54
    functionsReached:
    - gnutls_free
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_anon_free_server_credentials(gnutls_anon_server_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/anon_cred.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_anon_server_credentials_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: gnutls_anon_allocate_server_credentials
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 55
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_anon_allocate_server_credentials(gnutls_anon_server_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_anon_client_credentials_t
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: gnutls_anon_free_client_credentials
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_anon_free_client_credentials(gnutls_anon_client_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_anon_client_credentials_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: gnutls_anon_allocate_client_credentials
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_anon_allocate_client_credentials(gnutls_anon_client_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/anon_cred.c:112,1
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/lib/anon_cred.c:117,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/anon_cred.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - res
    - dh_params
    argTypes:
    - gnutls_anon_server_credentials_t
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: gnutls_anon_set_server_dh_params
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 15
    functionsReached:
    - _gnutls_mpi_get_nbits
    - gnutls_pk_bits_to_sec_param
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: "void gnutls_anon_set_server_dh_params(gnutls_anon_server_credentials_t
      res,\n\t\t\t\t      gnutls_dh_params_t dh_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - sec_param
    argTypes:
    - gnutls_anon_server_credentials_t
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: gnutls_anon_set_server_known_dh_params
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_anon_set_server_known_dh_params(gnutls_anon_server_credentials_t
      res,\n\t\t\t\t\t   gnutls_sec_param_t sec_param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - func
    argTypes:
    - gnutls_anon_server_credentials_t
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: gnutls_anon_set_server_params_function
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_anon_set_server_params_function(\n\tgnutls_anon_server_credentials_t
      res, gnutls_params_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - func
    argTypes:
    - gnutls_anon_server_credentials_t
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: gnutls_anon_set_params_function
    functionSourceFile: /src/gnutls/lib/anon_cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_anon_set_params_function(gnutls_anon_server_credentials_t
      res,\n\t\t\t\t     gnutls_params_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_fixup_private_params
      Src: /src/gnutls/lib/pk.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - algo
    - direction
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_direction_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: _gnutls_pk_fixup
    functionSourceFile: /src/gnutls/lib/pk.h
    functionUses: 0
    functionsReached:
    - pk_fixup_private_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pk_fixup(gnutls_pk_algorithm_t algo,\n\t\t\t\t   gnutls_direction_t
      direction,\n\t\t\t\t   gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_normal_master
      Src: /src/gnutls/lib/kx.c:58,1
    - Dst: generate_normal_master
      Src: /src/gnutls/lib/kx.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - session
    - keep_premaster
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: _gnutls_generate_master
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - generate_normal_master
    linkageType: ''
    returnType: int
    signature: int _gnutls_generate_master(gnutls_session_t session, int keep_premaster)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: gnutls_session_get_keylog_function
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_keylog_func
    signature: gnutls_keylog_func gnutls_session_get_keylog_function(const gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_keylog_func
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: gnutls_session_set_keylog_function
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_set_keylog_function(gnutls_session_t session,\n\t\t\t\t\tgnutls_keylog_func
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_t::internals::keylog_func
      Src: /src/gnutls/lib/kx.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - session
    - label
    - data
    - size
    argTypes:
    - gnutls_session_t
    - char*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: _gnutls_call_keylog_func
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::keylog_func
    linkageType: ''
    returnType: int
    signature: "int _gnutls_call_keylog_func(gnutls_session_t session, const char
      *label,\n\t\t\t     const uint8_t *data, unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_nss_keylog_write
      Src: /src/gnutls/lib/kx.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - label
    - secret
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: _gnutls_nss_keylog_func
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_nss_keylog_write
    linkageType: ''
    returnType: int
    signature: "int _gnutls_nss_keylog_func(gnutls_session_t session, const char *label,\n\t\t\t
      \   const gnutls_datum_t *secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/gnutls/lib/kx.c:138,1
    - Dst: fopen
      Src: /src/gnutls/lib/kx.c:140,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/kx.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: keylog_once_init
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - fopen
    - secure_getenv
    - _gnutls_debug_log
    linkageType: ''
    returnType: void
    signature: void keylog_once_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_once
      Src: /src/gnutls/lib/kx.c:149,1
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/kx.c:155,1
    - Dst: fprintf
      Src: /src/gnutls/lib/kx.c:158,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:159,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:163,1
    - Dst: fflush
      Src: /src/gnutls/lib/kx.c:165,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/kx.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - session
    - label
    - secret
    - secret_size
    argTypes:
    - gnutls_session_t
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: _gnutls_nss_keylog_write
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 1
    functionsReached:
    - gnutls_once
    - gnutls_static_mutex_lock
    - fflush
    - gnutls_static_mutex_unlock
    - _gnutls_bin2hex
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void _gnutls_nss_keylog_write(gnutls_session_t session, const char
      *label,\n\t\t\t      const uint8_t *secret, size_t secret_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/gnutls/lib/kx.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: _gnutls_nss_keylog_deinit
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void _gnutls_nss_keylog_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/kx.c:188,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:189,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/kx.c:191,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:193,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/kx.c:195,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:197,1
    - Dst: memcpy
      Src: /src/gnutls/lib/kx.c:202,1
    - Dst: memcpy
      Src: /src/gnutls/lib/kx.c:204,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/kx.c:208,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/kx.c:212,1
    - Dst: _gnutls_ssl3_generate_random
      Src: /src/gnutls/lib/kx.c:213,1
    - Dst: _gnutls_PRF
      Src: /src/gnutls/lib/kx.c:219,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/kx.c:225,1
    - Dst: _gnutls_handshake_get_session_hash
      Src: /src/gnutls/lib/kx.c:232,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:234,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/kx.c:236,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:237,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/kx.c:240,1
    - Dst: _gnutls_PRF
      Src: /src/gnutls/lib/kx.c:243,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/kx.c:248,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/kx.c:252,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/kx.c:256,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/kx.c:261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:265,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/kx.c:267,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/kx.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - session
    - premaster
    - keep_premaster
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 273
    functionName: generate_normal_master
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 1
    functionsReached:
    - _gnutls_ssl3_generate_random
    - gnutls_free
    - _gnutls_call_keylog_func
    - _gnutls_PRF
    - _gnutls_free_temp_key_datum
    - _gnutls_memory_mark_defined
    - _gnutls_hard_log
    - _gnutls_memory_mark_undefined
    - _gnutls_handshake_get_session_hash
    - memcpy
    - get_num_version
    - _gnutls_bin2hex
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int generate_normal_master(gnutls_session_t session,\n\t\t\t\t  gnutls_datum_t
      *premaster, int keep_premaster)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:291,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_server_kx
      Src: /src/gnutls/lib/kx.c:293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:303,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:307,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:310,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 316
    functionName: _gnutls_send_server_kx_message
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_session_t::internals::auth_struct::gnutls_generate_server_kx
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_server_kx_message(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:335,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:337,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_server_crt_request
      Src: /src/gnutls/lib/kx.c:339,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:344,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:348,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:351,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 357
    functionName: _gnutls_send_server_crt_request
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_session_t::internals::auth_struct::gnutls_generate_server_crt_request
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_server_crt_request(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:372,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:374,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_client_kx
      Src: /src/gnutls/lib/kx.c:376,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:379,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:383,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:386,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: _gnutls_send_client_kx_message
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_init_handshake_mbuffer
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_session_t::internals::auth_struct::gnutls_generate_client_kx
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_client_kx_message(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:415,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:421,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:423,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_client_crt_vrfy
      Src: /src/gnutls/lib/kx.c:425,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:428,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:435,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:438,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 444
    functionName: _gnutls_send_client_certificate_verify
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - gnutls_session_t::internals::auth_struct::gnutls_generate_client_crt_vrfy
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_client_certificate_verify(gnutls_session_t session,
      int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:462,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:464,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/kx.c:467,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_client_certificate
      Src: /src/gnutls/lib/kx.c:473,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:478,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:483,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/kx.c:490,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/kx.c:492,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/lib/kx.c:493,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:499,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:503,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 505
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 505
    functionName: _gnutls_send_client_certificate
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _mbuffer_xfree
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_alert_send
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - get_num_version
    - gnutls_assert_val
    - gnutls_session_t::internals::auth_struct::gnutls_generate_client_certificate
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_client_certificate(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/kx.c:520,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/kx.c:522,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_generate_server_certificate
      Src: /src/gnutls/lib/kx.c:524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:529,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/kx.c:533,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/kx.c:536,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 542
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 542
    functionName: _gnutls_send_server_certificate
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::auth_struct::gnutls_generate_server_certificate
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_server_certificate(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_session_is_psk
      Src: /src/gnutls/lib/kx.c:552,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:555,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:559,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_server_kx
      Src: /src/gnutls/lib/kx.c:563,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 573
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 573
    functionName: _gnutls_recv_server_kx_message
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::auth_struct::gnutls_process_server_kx
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    - _gnutls_session_is_psk
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_server_kx_message(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:582,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:588,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_server_crt_request
      Src: /src/gnutls/lib/kx.c:592,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 600
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 600
    functionName: _gnutls_recv_server_crt_request
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::auth_struct::gnutls_process_server_crt_request
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_server_crt_request(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:609,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_client_kx
      Src: /src/gnutls/lib/kx.c:614,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 622
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 622
    functionName: _gnutls_recv_client_kx_message
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::auth_struct::gnutls_process_client_kx
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_client_kx_message(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:645,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/kx.c:655,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/lib/kx.c:656,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:660,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:670,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:682,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_client_certificate
      Src: /src/gnutls/lib/kx.c:686,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:690,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:702,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 704
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 704
    functionName: _gnutls_recv_client_certificate
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    - gnutls_session_t::internals::auth_struct::gnutls_process_client_certificate
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    - get_num_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_client_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:713,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:716,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_server_certificate
      Src: /src/gnutls/lib/kx.c:720,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:723,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 731
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 731
    functionName: _gnutls_recv_server_certificate
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::auth_struct::gnutls_process_server_certificate
    - _gnutls_recv_handshake
    - gnutls_assert
    - _gnutls_buffer_clear
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_server_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/kx.c:750,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/kx.c:758,1
    - Dst: gnutls_session_t::internals::auth_struct::gnutls_process_client_crt_vrfy
      Src: /src/gnutls/lib/kx.c:763,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/kx.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 769
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 769
    functionName: _gnutls_recv_client_certificate_verify_message
    functionSourceFile: /src/gnutls/lib/kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_recv_handshake
    - gnutls_assert
    - _gnutls_buffer_clear
    - gnutls_session_t::internals::auth_struct::gnutls_process_client_crt_vrfy
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_client_certificate_verify_message(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/name_val_array.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - head
    argTypes:
    - name_val_array_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: _name_val_array_clear
    functionSourceFile: /src/gnutls/lib/name_val_array.h
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _name_val_array_clear(name_val_array_t *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/name_val_array.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - head
    - name
    - name_size
    argTypes:
    - name_val_array_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: _name_val_array_value
    functionSourceFile: /src/gnutls/lib/name_val_array.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *_name_val_array_value(name_val_array_t head,\n\t\t\t\t\t\tconst
      char *name,\n\t\t\t\t\t\tunsigned name_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/name_val_array.h:74,1
    - Dst: memcpy
      Src: /src/gnutls/lib/name_val_array.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - array
    - name
    - name_len
    - val
    - val_len
    argTypes:
    - name_val_array_t
    - char*
    - unsigned
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: append
    functionSourceFile: /src/gnutls/lib/name_val_array.h
    functionUses: 30
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void append(name_val_array_t array, const char *name,\n\t\t\t  unsigned
      name_len, const char *val, unsigned val_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/name_val_array.h:95,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/name_val_array.h:98,1
    - Dst: append
      Src: /src/gnutls/lib/name_val_array.h:101,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/name_val_array.h:110,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/name_val_array.h:115,1
    - Dst: append
      Src: /src/gnutls/lib/name_val_array.h:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - head
    - name
    - val
    argTypes:
    - name_val_array_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: _name_val_array_append
    functionSourceFile: /src/gnutls/lib/name_val_array.h
    functionUses: 0
    functionsReached:
    - append
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int _name_val_array_append(name_val_array_t *head,\n\t\t\t\t\t const
      char *name, const char *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - gnutls_supplemental_data_format_type_t
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: gnutls_supplemental_get_name
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gnutls_supplemental_get_name(gnutls_supplemental_data_format_type_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/supplemental.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/supplemental.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: _gnutls_supplemental_deinit
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_supplemental_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - gnutls_supplemental_data_format_type_t
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: get_supp_func_recv
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_supp_recv_func
    signature: "gnutls_supp_recv_func get_supp_func_recv(gnutls_session_t session,\n\t\t
      \  gnutls_supplemental_data_format_type_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/supplemental.c:127,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:129,1
    - Dst: supp_send
      Src: /src/gnutls/lib/supplemental.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - session
    - supp
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_supplemental_entry_st*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: gen_supplemental
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - supp_send
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gen_supplemental(gnutls_session_t session,\n\t\t\t    const gnutls_supplemental_entry_st
      *supp,\n\t\t\t    gnutls_buffer_st *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/supplemental.c:159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:161,1
    - Dst: gen_supplemental
      Src: /src/gnutls/lib/supplemental.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:169,1
    - Dst: gen_supplemental
      Src: /src/gnutls/lib/supplemental.c:173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:175,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/supplemental.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 188
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 188
    functionName: _gnutls_gen_supplemental
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gen_supplemental
    - gnutls_assert
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_supplemental(gnutls_session_t session, gnutls_buffer_st
      *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/supplemental.c:197,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/supplemental.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:202,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/supplemental.c:211,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/supplemental.c:212,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/supplemental.c:215,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/supplemental.c:216,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/supplemental.c:219,1
    - Dst: get_supp_func_recv
      Src: /src/gnutls/lib/supplemental.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:227,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:231,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/supplemental.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - session
    - data
    - datalen
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 240
    functionName: _gnutls_parse_supplemental
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - get_supp_func_recv
    - _gnutls_debug_log
    - _gnutls_read_uint24
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_supplemental(gnutls_session_t session, const uint8_t
      *data,\n\t\t\t       int datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:249,1
    - Dst: unlikely
      Src: /src/gnutls/lib/supplemental.c:252,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/supplemental.c:252,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:253,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/supplemental.c:256,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/supplemental.c:259,1
    - Dst: memcpy
      Src: /src/gnutls/lib/supplemental.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gnutls_supplemental_entry_st*
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: _gnutls_supplemental_register
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 0
    functionsReached:
    - _gnutls_reallocarray_fast
    - unlikely
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: int _gnutls_supplemental_register(gnutls_supplemental_entry_st *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/supplemental.c:301,1
    - Dst: _gnutls_supplemental_register
      Src: /src/gnutls/lib/supplemental.c:306,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/supplemental.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - name
    - type
    - recv_func
    - send_func
    argTypes:
    - char*
    - gnutls_supplemental_data_format_type_t
    - gnutls_supp_recv_func
    - gnutls_supp_send_func
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: gnutls_supplemental_register
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 3
    functionsReached:
    - _gnutls_supplemental_register
    - gnutls_strdup
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int gnutls_supplemental_register(const char *name,\n\t\t\t\t gnutls_supplemental_data_format_type_t
      type,\n\t\t\t\t gnutls_supp_recv_func recv_func,\n\t\t\t\t gnutls_supp_send_func
      send_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:357,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/supplemental.c:360,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/supplemental.c:364,1
    - Dst: memcpy
      Src: /src/gnutls/lib/supplemental.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - session
    - name
    - type
    - recv_func
    - send_func
    - flags
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_supplemental_data_format_type_t
    - gnutls_supp_recv_func
    - gnutls_supp_send_func
    - unsigned
    constantsTouched: []
    func_position:
      end: 375
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 375
    functionName: gnutls_session_supplemental_register
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 2
    functionsReached:
    - gnutls_realloc
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_supplemental_register(\n\tgnutls_session_t session,
      const char *name,\n\tgnutls_supplemental_data_format_type_t type,\n\tgnutls_supp_recv_func
      recv_func, gnutls_supp_send_func send_func,\n\tunsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - do_recv_supplemental
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: gnutls_supplemental_recv
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_supplemental_recv(gnutls_session_t session,\n\t\t\t      unsigned
      do_recv_supplemental)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - do_send_supplemental
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: gnutls_supplemental_send
    functionSourceFile: /src/gnutls/lib/supplemental.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_supplemental_send(gnutls_session_t session,\n\t\t\t      unsigned
      do_send_supplemental)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/gnutls/lib/system.c:54,1
    - Dst: gettimeofday
      Src: /src/gnutls/lib/system.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: _gnutls_gettime
    functionSourceFile: /src/gnutls/lib/system.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void _gnutls_gettime(struct timespec *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gettime_func
    argTypes:
    - gnutls_gettime_func
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: _gnutls_global_set_gettime_function
    functionSourceFile: /src/gnutls/lib/system.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_global_set_gettime_function(gnutls_gettime_func gettime_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnutls/lib/system.c:73,1
    - Dst: TEXT
      Src: /src/gnutls/lib/system.c:73,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system.c:78,1
    - Dst: FreeLibrary
      Src: /src/gnutls/lib/system.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: gnutls_system_global_init
    functionSourceFile: /src/gnutls/lib/system.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - TEXT
    - FreeLibrary
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int gnutls_system_global_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/gnutls/lib/system.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: gnutls_system_global_deinit
    functionSourceFile: /src/gnutls/lib/system.c
    functionUses: 0
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void gnutls_system_global_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: gnutls_privkey_get_type
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_privkey_type_t
    signature: gnutls_privkey_type_t gnutls_privkey_get_type(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:86,1
    - Dst: gnutls_x509_privkey_get_seed
      Src: /src/gnutls/lib/privkey.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - digest
    - seed
    - seed_size
    argTypes:
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: gnutls_privkey_get_seed
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_x509_privkey_get_seed
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_get_seed(gnutls_privkey_t key,\n\t\t\t    gnutls_digest_algorithm_t
      *digest, void *seed,\n\t\t\t    size_t *seed_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:111,1
    - Dst: gnutls_x509_privkey_verify_seed
      Src: /src/gnutls/lib/privkey.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - digest
    - seed
    - seed_size
    argTypes:
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: gnutls_privkey_verify_seed
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - gnutls_x509_privkey_verify_seed
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_verify_seed(gnutls_privkey_t key,\n\t\t\t       gnutls_digest_algorithm_t
      digest,\n\t\t\t       const void *seed, size_t seed_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:135,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/privkey.c:140,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_privkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: gnutls_privkey_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 6
    functionsReached:
    - gnutls_assert
    - gnutls_pkcs11_privkey_get_pk_algorithm
    - gnutls_x509_privkey_get_pk_algorithm
    - pubkey_to_bits
    linkageType: ''
    returnType: int
    signature: int gnutls_privkey_get_pk_algorithm(gnutls_privkey_t key, unsigned
      int *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/privkey.c:166,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:171,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:172,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:177,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:184,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:185,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:186,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:193,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:200,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:201,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:206,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:215,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:225,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:231,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/privkey.c:241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:244,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:250,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:257,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:264,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey.c:270,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 3
    argNames:
    - pk
    - priv
    - pub
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 272
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 272
    functionName: privkey_to_pubkey
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_pk_params_release
    - gnutls_assert_val
    - memcpy
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int privkey_to_pubkey(gnutls_pk_algorithm_t pk,\n\t\t\t     const
      gnutls_pk_params_st *priv,\n\t\t\t     gnutls_pk_params_st *pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_params_copy
      Src: /src/gnutls/lib/privkey.c:282,1
    - Dst: _pkcs11_privkey_get_pubkey
      Src: /src/gnutls/lib/privkey.c:288,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:290,1
    - Dst: _gnutls_pubkey_get_mpis
      Src: /src/gnutls/lib/privkey.c:292,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/privkey.c:293,1
    - Dst: gnutls_privkey_t::key::ext::pk_params_func
      Src: /src/gnutls/lib/privkey.c:300,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 311
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 311
    functionName: _gnutls_privkey_get_mpis
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_pubkey_get_mpis
    - gnutls_privkey_t::key::ext::pk_params_func
    - gnutls_assert
    - _pkcs11_privkey_get_pubkey
    - _gnutls_pk_params_copy
    - gnutls_pubkey_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_privkey_get_mpis(gnutls_privkey_t key, gnutls_pk_params_st
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey.c:319,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey.c:321,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:323,1
    - Dst: privkey_to_pubkey
      Src: /src/gnutls/lib/privkey.c:325,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey.c:327,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: _gnutls_privkey_get_public_mpis
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_privkey_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - gnutls_assert_val
    - gnutls_pk_params_init
    - privkey_to_pubkey
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_get_public_mpis(gnutls_privkey_t key,\n\t\t\t\t
      \   gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_privkey_get_spki_params
      Src: /src/gnutls/lib/privkey.c:347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:350,1
    - Dst: memset
      Src: /src/gnutls/lib/privkey.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: _gnutls_privkey_get_spki_params
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_privkey_get_spki_params
    - gnutls_assert
    - memset
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_get_spki_params(gnutls_privkey_t key,\n\t\t\t\t
      \   gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/privkey.c:377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:378,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:382,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:385,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/privkey.c:393,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:394,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:395,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:402,1
    - Dst: _gnutls_find_rsa_pss_salt_size
      Src: /src/gnutls/lib/privkey.c:412,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:415,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/privkey.c:417,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:418,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - key
    - pk
    - dig
    - flags
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_algorithm_t
    - gnutls_digest_algorithm_t
    - unsigned
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 429
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 429
    functionName: _gnutls_privkey_update_spki_params
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_get_pk_algorithm
    - hash_to_entry
    - gnutls_assert
    - _gnutls_hash_get_algo_len
    - unlikely
    - _gnutls_find_rsa_pss_salt_size
    - GNUTLS_PK_IS_RSA
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_update_spki_params(gnutls_privkey_t key,\n\t\t\t\t
      \      gnutls_pk_algorithm_t pk,\n\t\t\t\t       gnutls_digest_algorithm_t dig,\n\t\t\t\t
      \      unsigned flags,\n\t\t\t\t       gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/privkey.c:456,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: gnutls_privkey_init
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 75
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_privkey_init(gnutls_privkey_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:483,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:487,1
    - Dst: gnutls_privkey_t::key::ext::deinit_func
      Src: /src/gnutls/lib/privkey.c:491,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/privkey.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: gnutls_privkey_deinit
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 78
    functionsReached:
    - gnutls_x509_privkey_deinit
    - gnutls_free
    - gnutls_privkey_t::key::ext::deinit_func
    - gnutls_pkcs11_privkey_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_privkey_deinit(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/privkey.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: _gnutls_privkey_cleanup
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _gnutls_privkey_cleanup(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: check_if_clean
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_if_clean(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_if_clean
      Src: /src/gnutls/lib/privkey.c:547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:549,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:554,1
    - Dst: gnutls_pkcs11_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:558,1
    - Dst: gnutls_pkcs11_privkey_set_pin_function
      Src: /src/gnutls/lib/privkey.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pkey
    - key
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_pkcs11_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 566
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 566
    functionName: gnutls_privkey_import_pkcs11
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_privkey_set_pin_function
    - check_if_clean
    - gnutls_assert
    - gnutls_pkcs11_privkey_get_pk_algorithm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_pkcs11(gnutls_privkey_t pkey,\n\t\t\t\t
      gnutls_pkcs11_privkey_t key,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - url
    argTypes:
    - gnutls_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: gnutls_privkey_import_pkcs11_url
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key, const char
      *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_init
      Src: /src/gnutls/lib/privkey.c:595,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:597,1
    - Dst: gnutls_pkcs11_privkey_set_pin_function
      Src: /src/gnutls/lib/privkey.c:602,1
    - Dst: gnutls_pkcs11_privkey_import_url
      Src: /src/gnutls/lib/privkey.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:607,1
    - Dst: gnutls_privkey_import_pkcs11
      Src: /src/gnutls/lib/privkey.c:611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:614,1
    - Dst: gnutls_pkcs11_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - key
    - url
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 624
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 624
    functionName: _gnutls_privkey_import_pkcs11_url
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_privkey_set_pin_function
    - gnutls_pkcs11_privkey_deinit
    - gnutls_pkcs11_privkey_import_url
    - gnutls_pkcs11_privkey_init
    - gnutls_privkey_import_pkcs11
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_import_pkcs11_url(gnutls_privkey_t key,\n\t\t\t\t\t
      \    const char *url, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:648,1
    - Dst: gnutls_pkcs11_privkey_init
      Src: /src/gnutls/lib/privkey.c:652,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:654,1
    - Dst: gnutls_pkcs11_privkey_cpy
      Src: /src/gnutls/lib/privkey.c:656,1
    - Dst: gnutls_pkcs11_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:658,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - gnutls_privkey_t
    - gnutls_pkcs11_privkey_t*
    constantsTouched: []
    func_position:
      end: 665
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 665
    functionName: gnutls_privkey_export_pkcs11
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_privkey_deinit
    - gnutls_assert
    - gnutls_pkcs11_privkey_init
    - gnutls_pkcs11_privkey_cpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_pkcs11(gnutls_privkey_t pkey,\n\t\t\t\t
      gnutls_pkcs11_privkey_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_import_ext2
      Src: /src/gnutls/lib/privkey.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pkey
    - pk
    - userdata
    - sign_func
    - decrypt_func
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_algorithm_t
    - void*
    - gnutls_privkey_sign_func
    - gnutls_privkey_decrypt_func
    - unsigned int
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: gnutls_privkey_import_ext
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_import_ext2
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_ext(gnutls_privkey_t pkey, gnutls_pk_algorithm_t
      pk,\n\t\t\t      void *userdata,\n\t\t\t      gnutls_privkey_sign_func sign_func,\n\t\t\t
      \     gnutls_privkey_decrypt_func decrypt_func,\n\t\t\t      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_if_clean
      Src: /src/gnutls/lib/privkey.c:742,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:744,1
    - Dst: PK_IS_OK_FOR_EXT2
      Src: /src/gnutls/lib/privkey.c:748,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:749,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - pkey
    - pk
    - userdata
    - sign_fn
    - decrypt_fn
    - deinit_fn
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_algorithm_t
    - void*
    - gnutls_privkey_sign_func
    - gnutls_privkey_decrypt_func
    - gnutls_privkey_deinit_func
    - unsigned int
    constantsTouched: []
    func_position:
      end: 767
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 767
    functionName: gnutls_privkey_import_ext2
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 3
    functionsReached:
    - PK_IS_OK_FOR_EXT2
    - gnutls_assert_val
    - gnutls_assert
    - check_if_clean
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_ext2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t
      pk,\n\t\t\t       void *userdata, gnutls_privkey_sign_func sign_fn,\n\t\t\t
      \      gnutls_privkey_decrypt_func decrypt_fn,\n\t\t\t       gnutls_privkey_deinit_func
      deinit_fn,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_if_clean
      Src: /src/gnutls/lib/privkey.c:807,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:809,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:814,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:817,1
    - Dst: gnutls_privkey_t::key::ext::info_func
      Src: /src/gnutls/lib/privkey.c:827,1
    - Dst: PK_IS_OK_FOR_EXT2
      Src: /src/gnutls/lib/privkey.c:830,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - pkey
    - userdata
    - sign_fn
    - decrypt_fn
    - deinit_fn
    - info_fn
    - flags
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_privkey_sign_func
    - gnutls_privkey_decrypt_func
    - gnutls_privkey_deinit_func
    - gnutls_privkey_info_func
    - unsigned int
    constantsTouched: []
    func_position:
      end: 838
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 838
    functionName: gnutls_privkey_import_ext3
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - check_if_clean
    - gnutls_assert
    - PK_IS_OK_FOR_EXT2
    - gnutls_privkey_t::key::ext::info_func
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_ext3(gnutls_privkey_t pkey, void *userdata,\n\t\t\t
      \      gnutls_privkey_sign_func sign_fn,\n\t\t\t       gnutls_privkey_decrypt_func
      decrypt_fn,\n\t\t\t       gnutls_privkey_deinit_func deinit_fn,\n\t\t\t       gnutls_privkey_info_func
      info_fn,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_if_clean
      Src: /src/gnutls/lib/privkey.c:896,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:898,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:903,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:906,1
    - Dst: gnutls_privkey_t::key::ext::info_func
      Src: /src/gnutls/lib/privkey.c:917,1
    - Dst: gnutls_privkey_t::key::ext::info_func
      Src: /src/gnutls/lib/privkey.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 8
    argNames:
    - pkey
    - userdata
    - sign_data_fn
    - sign_hash_fn
    - decrypt_fn
    - deinit_fn
    - info_fn
    - flags
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_privkey_sign_data_func
    - gnutls_privkey_sign_hash_func
    - gnutls_privkey_decrypt_func
    - gnutls_privkey_deinit_func
    - gnutls_privkey_info_func
    - unsigned int
    constantsTouched: []
    func_position:
      end: 930
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 930
    functionName: gnutls_privkey_import_ext4
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_privkey_t::key::ext::info_func
    - gnutls_assert_val
    - gnutls_assert
    - check_if_clean
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_ext4(gnutls_privkey_t pkey, void *userdata,\n\t\t\t
      \      gnutls_privkey_sign_data_func sign_data_fn,\n\t\t\t       gnutls_privkey_sign_hash_func
      sign_hash_fn,\n\t\t\t       gnutls_privkey_decrypt_func decrypt_fn,\n\t\t\t
      \      gnutls_privkey_deinit_func deinit_fn,\n\t\t\t       gnutls_privkey_info_func
      info_fn,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_if_clean
      Src: /src/gnutls/lib/privkey.c:957,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:959,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey.c:964,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:966,1
    - Dst: gnutls_x509_privkey_cpy
      Src: /src/gnutls/lib/privkey.c:968,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:970,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:971,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pkey
    - key
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 981
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 981
    functionName: gnutls_privkey_import_x509
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 12
    functionsReached:
    - gnutls_x509_privkey_get_pk_algorithm
    - check_if_clean
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_cpy
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_x509(gnutls_privkey_t pkey, gnutls_x509_privkey_t
      key,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1005,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey.c:1009,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1011,1
    - Dst: gnutls_x509_privkey_cpy
      Src: /src/gnutls/lib/privkey.c:1013,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:1015,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1022
    functionName: gnutls_privkey_export_x509
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_cpy
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_x509(gnutls_privkey_t pkey,\n\t\t\t       gnutls_x509_privkey_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_generate2
      Src: /src/gnutls/lib/privkey.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - algo
    - bits
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_algorithm_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: gnutls_privkey_generate
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 7
    functionsReached:
    - gnutls_privkey_generate2
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_generate(gnutls_privkey_t pkey, gnutls_pk_algorithm_t
      algo,\n\t\t\t    unsigned int bits, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey.c:1110,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1112,1
    - Dst: gnutls_x509_privkey_generate2
      Src: /src/gnutls/lib/privkey.c:1114,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:1117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - pkey
    - algo
    - bits
    - flags
    - data
    - data_size
    argTypes:
    - gnutls_privkey_t
    - gnutls_pk_algorithm_t
    - unsigned int
    - unsigned int
    - gnutls_keygen_data_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1127
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1127
    functionName: gnutls_privkey_generate2
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_generate2
    - gnutls_x509_privkey_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_generate2(gnutls_privkey_t pkey, gnutls_pk_algorithm_t
      algo,\n\t\t\t     unsigned int bits, unsigned int flags,\n\t\t\t     const gnutls_keygen_data_st
      *data,\n\t\t\t     unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1159,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/privkey.c:1161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1163,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/privkey.c:1167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1170,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/privkey.c:1174,1
    - Dst: privkey_sign_and_hash_data
      Src: /src/gnutls/lib/privkey.c:1176,1
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/privkey.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - signer
    - hash
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1179
    functionName: gnutls_privkey_sign_data
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 16
    functionsReached:
    - _gnutls_privkey_get_spki_params
    - gnutls_assert
    - privkey_sign_and_hash_data
    - FIX_SIGN_PARAMS
    - _gnutls_privkey_update_spki_params
    - _gnutls_pk_to_sign_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_sign_data(gnutls_privkey_t signer,\n\t\t\t     gnutls_digest_algorithm_t
      hash, unsigned int flags,\n\t\t\t     const gnutls_datum_t *data,\n\t\t\t     gnutls_datum_t
      *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1209,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1213,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/privkey.c:1215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1217,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/privkey.c:1221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1224,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/privkey.c:1228,1
    - Dst: privkey_sign_and_hash_data
      Src: /src/gnutls/lib/privkey.c:1230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - signer
    - algo
    - flags
    - data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1231
    functionName: gnutls_privkey_sign_data2
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 12
    functionsReached:
    - _gnutls_privkey_get_spki_params
    - gnutls_assert
    - privkey_sign_and_hash_data
    - FIX_SIGN_PARAMS
    - _gnutls_privkey_update_spki_params
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_sign_data2(gnutls_privkey_t signer,\n\t\t\t      gnutls_sign_algorithm_t
      algo, unsigned int flags,\n\t\t\t      const gnutls_datum_t *data,\n\t\t\t      gnutls_datum_t
      *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1270,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1272,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1274,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/privkey.c:1279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1281,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/privkey.c:1285,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1288,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/privkey.c:1292,1
    - Dst: privkey_sign_prehashed
      Src: /src/gnutls/lib/privkey.c:1294,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/privkey.c:1298,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/privkey.c:1300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - signer
    - algo
    - flags
    - hash_data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1303
    functionName: gnutls_privkey_sign_hash2
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_privkey_get_spki_params
    - gnutls_assert
    - FIX_SIGN_PARAMS
    - unlikely
    - _gnutls_privkey_update_spki_params
    - privkey_sign_prehashed
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_sign_hash2(gnutls_privkey_t signer,\n\t\t\t      gnutls_sign_algorithm_t
      algo, unsigned int flags,\n\t\t\t      const gnutls_datum_t *hash_data,\n\t\t\t
      \     gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1316,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/privkey.c:1318,1
    - Dst: privkey_sign_raw_data
      Src: /src/gnutls/lib/privkey.c:1319,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/privkey.c:1323,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1325,1
    - Dst: pk_hash_data
      Src: /src/gnutls/lib/privkey.c:1327,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1329,1
    - Dst: pk_prepare_hash
      Src: /src/gnutls/lib/privkey.c:1333,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1335,1
    - Dst: privkey_sign_raw_data
      Src: /src/gnutls/lib/privkey.c:1339,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/privkey.c:1340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1343,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/privkey.c:1350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - signer
    - se
    - data
    - signature
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1352
    functionName: privkey_sign_and_hash_data
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - hash_to_entry
    - _gnutls_pk_is_not_prehashed
    - gnutls_assert
    - pk_prepare_hash
    - unlikely
    - pk_hash_data
    - privkey_sign_raw_data
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int privkey_sign_and_hash_data(gnutls_privkey_t signer,\n\t\t\t       const
      gnutls_sign_entry_st *se,\n\t\t\t       const gnutls_datum_t *data,\n\t\t\t
      \      gnutls_datum_t *signature,\n\t\t\t       gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/privkey.c:1392,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1394,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/privkey.c:1398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1401,1
    - Dst: _gnutls_hash_size_to_sha_hash
      Src: /src/gnutls/lib/privkey.c:1410,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1417,1
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/privkey.c:1419,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1422,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1423,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/privkey.c:1427,1
    - Dst: privkey_sign_prehashed
      Src: /src/gnutls/lib/privkey.c:1429,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/privkey.c:1432,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/privkey.c:1434,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 5
    argNames:
    - signer
    - hash_algo
    - flags
    - hash_data
    - signature
    argTypes:
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1382
    functionDepth: 3
    functionLinenumber: 1382
    functionLinenumberEnd: 1437
    functionName: gnutls_privkey_sign_hash
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 16
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_hash_size_to_sha_hash
    - _gnutls_privkey_get_spki_params
    - FIX_SIGN_PARAMS
    - privkey_sign_prehashed
    - _gnutls_privkey_update_spki_params
    - _gnutls_pk_to_sign_entry
    - unlikely
    - gnutls_assert_val
    - _gnutls_sign_to_entry
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_sign_hash(gnutls_privkey_t signer,\n\t\t\t     gnutls_digest_algorithm_t
      hash_algo,\n\t\t\t     unsigned int flags,\n\t\t\t     const gnutls_datum_t
      *hash_data,\n\t\t\t     gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1448,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1449,1
    - Dst: privkey_sign_raw_data
      Src: /src/gnutls/lib/privkey.c:1452,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/privkey.c:1456,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1457,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/privkey.c:1460,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1462,1
    - Dst: memcpy
      Src: /src/gnutls/lib/privkey.c:1466,1
    - Dst: pk_prepare_hash
      Src: /src/gnutls/lib/privkey.c:1468,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/privkey.c:1468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1470,1
    - Dst: privkey_sign_raw_data
      Src: /src/gnutls/lib/privkey.c:1474,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1476,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/privkey.c:1483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - signer
    - se
    - hash_data
    - signature
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1485
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1485
    functionName: privkey_sign_prehashed
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_pk_is_not_prehashed
    - gnutls_malloc
    - pk_prepare_hash
    - hash_to_entry
    - unlikely
    - memcpy
    - privkey_sign_raw_data
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int privkey_sign_prehashed(gnutls_privkey_t signer,\n\t\t\t\t  const
      gnutls_sign_entry_st *se,\n\t\t\t\t  const gnutls_datum_t *hash_data,\n\t\t\t\t
      \ gnutls_datum_t *signature,\n\t\t\t\t  gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1513,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1514,1
    - Dst: _gnutls_pkcs11_privkey_sign
      Src: /src/gnutls/lib/privkey.c:1519,1
    - Dst: _gnutls_pk_sign
      Src: /src/gnutls/lib/privkey.c:1523,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1526,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1529,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/privkey.c:1531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1533,1
    - Dst: gnutls_privkey_t::key::ext::sign_data_func
      Src: /src/gnutls/lib/privkey.c:1536,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1541,1
    - Dst: assert
      Src: /src/gnutls/lib/privkey.c:1542,1
    - Dst: gnutls_privkey_t::key::ext::sign_hash_func
      Src: /src/gnutls/lib/privkey.c:1546,1
    - Dst: PK_IS_OK_FOR_EXT2
      Src: /src/gnutls/lib/privkey.c:1550,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1551,1
    - Dst: gnutls_privkey_t::key::ext::sign_func
      Src: /src/gnutls/lib/privkey.c:1554,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - key
    - se
    - data
    - signature
    - params
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1561
    functionName: privkey_sign_raw_data
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 6
    functionsReached:
    - _gnutls_pk_sign
    - assert
    - gnutls_privkey_t::key::ext::sign_func
    - _gnutls_pkcs11_privkey_sign
    - _gnutls_pk_is_not_prehashed
    - PK_IS_OK_FOR_EXT2
    - gnutls_assert
    - unlikely
    - gnutls_privkey_t::key::ext::sign_data_func
    - gnutls_privkey_t::key::ext::sign_hash_func
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int privkey_sign_raw_data(gnutls_privkey_t key, const gnutls_sign_entry_st
      *se,\n\t\t\t  const gnutls_datum_t *data, gnutls_datum_t *signature,\n\t\t\t
      \ gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_decrypt
      Src: /src/gnutls/lib/privkey.c:1584,1
    - Dst: _gnutls_pkcs11_privkey_decrypt_data
      Src: /src/gnutls/lib/privkey.c:1588,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1593,1
    - Dst: gnutls_privkey_t::key::ext::decrypt_func
      Src: /src/gnutls/lib/privkey.c:1595,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - key
    - flags
    - ciphertext
    - plaintext
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1601
    functionName: gnutls_privkey_decrypt_data
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_pkcs11_privkey_decrypt_data
    - gnutls_assert
    - _gnutls_pk_decrypt
    - gnutls_assert_val
    - gnutls_privkey_t::key::ext::decrypt_func
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_decrypt_data(gnutls_privkey_t key, unsigned int
      flags,\n\t\t\t\tconst gnutls_datum_t *ciphertext,\n\t\t\t\tgnutls_datum_t *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_t::key::ext::decrypt_func
      Src: /src/gnutls/lib/privkey.c:1637,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1640,1
    - Dst: memcpy
      Src: /src/gnutls/lib/privkey.c:1642,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/privkey.c:1644,1
    - Dst: _gnutls_pk_decrypt2
      Src: /src/gnutls/lib/privkey.c:1650,1
    - Dst: _gnutls_pkcs11_privkey_decrypt_data2
      Src: /src/gnutls/lib/privkey.c:1655,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1662,1
    - Dst: gnutls_privkey_t::key::ext::decrypt_func2
      Src: /src/gnutls/lib/privkey.c:1664,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - key
    - flags
    - ciphertext
    - plaintext
    - plaintext_size
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1671
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1671
    functionName: gnutls_privkey_decrypt_data2
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - _gnutls_pk_decrypt2
    - _gnutls_pkcs11_privkey_decrypt_data2
    - gnutls_privkey_t::key::ext::decrypt_func2
    - memcpy
    - gnutls_assert_val
    - gnutls_privkey_t::key::ext::decrypt_func
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_decrypt_data2(gnutls_privkey_t key, unsigned int
      flags,\n\t\t\t\t const gnutls_datum_t *ciphertext,\n\t\t\t\t unsigned char *plaintext,\n\t\t\t\t
      size_t plaintext_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmem
      Src: /src/gnutls/lib/privkey.c:1702,1
    - Dst: _gnutls_load_tpm2_key
      Src: /src/gnutls/lib/privkey.c:1703,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1705,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey.c:1711,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1713,1
    - Dst: gnutls_x509_privkey_set_pin_function
      Src: /src/gnutls/lib/privkey.c:1716,1
    - Dst: gnutls_x509_privkey_import2
      Src: /src/gnutls/lib/privkey.c:1720,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1722,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey.c:1726,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1729,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey.c:1736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - pkey
    - data
    - format
    - password
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1739
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 1739
    functionName: gnutls_privkey_import_x509_raw
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 33
    functionsReached:
    - memmem
    - _gnutls_load_tpm2_key
    - gnutls_x509_privkey_set_pin_function
    - gnutls_x509_privkey_import2
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_x509_raw(gnutls_privkey_t pkey,\n\t\t\t\t
      \  const gnutls_datum_t *data,\n\t\t\t\t   gnutls_x509_crt_fmt_t format,\n\t\t\t\t
      \  const char *password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/lib/privkey.c:1763,1
    - Dst: import_key
      Src: /src/gnutls/lib/privkey.c:1766,1
    - Dst: strncmp
      Src: /src/gnutls/lib/privkey.c:1774,1
    - Dst: _gnutls_privkey_import_pkcs11_url
      Src: /src/gnutls/lib/privkey.c:1776,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1778,1
    - Dst: strncmp
      Src: /src/gnutls/lib/privkey.c:1783,1
    - Dst: gnutls_privkey_import_tpm_url
      Src: /src/gnutls/lib/privkey.c:1785,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1787,1
    - Dst: strncmp
      Src: /src/gnutls/lib/privkey.c:1792,1
    - Dst: _gnutls_privkey_import_system_url
      Src: /src/gnutls/lib/privkey.c:1793,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1797,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - key
    - url
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1800
      start: 1756
    functionDepth: 3
    functionLinenumber: 1756
    functionLinenumberEnd: 1800
    functionName: gnutls_privkey_import_url
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 14
    functionsReached:
    - _gnutls_privkey_import_system_url
    - gnutls_privkey_import_tpm_url
    - _gnutls_privkey_import_pkcs11_url
    - strncmp
    - import_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_url(gnutls_privkey_t key, const char *url,\n\t\t\t
      \     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - fn
    - userdata
    argTypes:
    - gnutls_privkey_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1823
    functionName: gnutls_privkey_set_pin_function
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_privkey_set_pin_function(gnutls_privkey_t key,\n\t\t\t\t
      \    gnutls_pin_callback_t fn, void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_set_flags
      Src: /src/gnutls/lib/privkey.c:1841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: gnutls_privkey_set_flags
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_privkey_set_flags
    linkageType: ''
    returnType: void
    signature: void gnutls_privkey_set_flags(gnutls_privkey_t key, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_status
      Src: /src/gnutls/lib/privkey.c:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 1869
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1869
    functionName: gnutls_privkey_status
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_privkey_status
    linkageType: ''
    returnType: int
    signature: int gnutls_privkey_status(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey.c:1887,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey.c:1889,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1891,1
    - Dst: _gnutls_pk_verify_priv_params
      Src: /src/gnutls/lib/privkey.c:1893,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey.c:1895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 1903
      start: 1882
    functionDepth: 2
    functionLinenumber: 1882
    functionLinenumberEnd: 1903
    functionName: gnutls_privkey_verify_params
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_privkey_get_mpis
    - _gnutls_pk_verify_priv_params
    - gnutls_assert
    - gnutls_pk_params_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_privkey_verify_params(gnutls_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1925,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1930,1
    - Dst: memcpy
      Src: /src/gnutls/lib/privkey.c:1932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - privkey
    - spki
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1935
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1935
    functionName: gnutls_privkey_get_spki
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_get_spki(gnutls_privkey_t privkey, gnutls_x509_spki_t
      spki,\n\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey.c:1955,1
    - Dst: gnutls_x509_privkey_set_spki
      Src: /src/gnutls/lib/privkey.c:1959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - privkey
    - spki
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1960
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1960
    functionName: gnutls_privkey_set_spki
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    - gnutls_x509_privkey_set_spki
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_set_spki(gnutls_privkey_t privkey,\n\t\t\t    const
      gnutls_x509_spki_t spki, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1971,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1972,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/privkey.c:1974,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:1975,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:1976,1
    - Dst: sign_supports_priv_pk_algorithm
      Src: /src/gnutls/lib/privkey.c:1985,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/privkey.c:1987,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/privkey.c:1989,1
    - Dst: gnutls_privkey_t::key::ext::info_func
      Src: /src/gnutls/lib/privkey.c:1999,1
    - Dst: GNUTLS_SIGN_ALGO_TO_FLAGS
      Src: /src/gnutls/lib/privkey.c:2001,1
    - Dst: gnutls_privkey_t::key::ext::info_func
      Src: /src/gnutls/lib/privkey.c:2008,1
    - Dst: PK_IS_OK_FOR_EXT2
      Src: /src/gnutls/lib/privkey.c:2016,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:2017,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - privkey
    - sign
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 2030
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2030
    functionName: _gnutls_privkey_compatible_with_sig
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_pk_get_name
    - PK_IS_OK_FOR_EXT2
    - unlikely
    - sign_supports_priv_pk_algorithm
    - gnutls_privkey_t::key::ext::info_func
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    - GNUTLS_SIGN_ALGO_TO_FLAGS
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_privkey_compatible_with_sig(gnutls_privkey_t privkey,\n\t\t\t\t\t
      \    gnutls_sign_algorithm_t sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:2055,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:2056,1
    - Dst: unlikely
      Src: /src/gnutls/lib/privkey.c:2059,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey.c:2061,1
    - Dst: _gnutls_pk_derive_nonce
      Src: /src/gnutls/lib/privkey.c:2064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - privkey
    - pubkey
    - nonce
    - secret
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2067
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2067
    functionName: gnutls_privkey_derive_secret
    functionSourceFile: /src/gnutls/lib/privkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_pk_derive_nonce
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_derive_secret(gnutls_privkey_t privkey,\n\t\t\t\t
      gnutls_pubkey_t pubkey,\n\t\t\t\t const gnutls_datum_t *nonce,\n\t\t\t\t gnutls_datum_t
      *secret, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/handshake-checks.c:50,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/handshake-checks.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:60,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/handshake-checks.c:68,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:70,1
    - Dst: strlen
      Src: /src/gnutls/lib/handshake-checks.c:74,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:79,1
    - Dst: strncmp
      Src: /src/gnutls/lib/handshake-checks.c:85,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/handshake-checks.c:87,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:89,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:95,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:99,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake-checks.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 110
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 110
    functionName: _gnutls_check_id_for_change
    functionSourceFile: /src/gnutls/lib/handshake-checks.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gnutls_get_auth_info
    - strncmp
    - memcpy
    - _gnutls_debug_log
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_id_for_change(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/handshake-checks.c:122,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/handshake-checks.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:130,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake-checks.c:133,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/handshake-checks.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-checks.c:136,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake-checks.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - session
    - cred
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: _gnutls_check_if_cert_hash_is_same
    functionSourceFile: /src/gnutls/lib/handshake-checks.c
    functionUses: 0
    functionsReached:
    - _gnutls_get_auth_info
    - memcmp
    - gnutls_hash_fast
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_check_if_cert_hash_is_same(gnutls_session_t session,\n\t\t\t\t
      \      gnutls_certificate_credentials_t cred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/iov.c:41,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/iov.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - iter
    - iov
    - iov_count
    - block_size
    argTypes:
    - struct iov_iter_st*
    - giovec_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: _gnutls_iov_iter_init
    functionSourceFile: /src/gnutls/lib/iov.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_iov_iter_init(struct iov_iter_st *iter, const giovec_t
      *iov,\n\t\t\t  size_t iov_count, size_t block_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/iov.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/iov.c:84,1
    - Dst: memcpy
      Src: /src/gnutls/lib/iov.c:108,1
    - Dst: memcpy
      Src: /src/gnutls/lib/iov.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - iter
    - data
    argTypes:
    - struct iov_iter_st*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 139
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 139
    functionName: _gnutls_iov_iter_next
    functionSourceFile: /src/gnutls/lib/iov.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _gnutls_iov_iter_next(struct iov_iter_st *iter, uint8_t **data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/iov.c:179,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/iov.c:180,1
    - Dst: MIN
      Src: /src/gnutls/lib/iov.c:189,1
    - Dst: memcpy
      Src: /src/gnutls/lib/iov.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - iter
    - data
    - data_size
    argTypes:
    - struct iov_iter_st*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: _gnutls_iov_iter_sync
    functionSourceFile: /src/gnutls/lib/iov.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - unlikely
    - MIN
    linkageType: ''
    returnType: int
    signature: "int _gnutls_iov_iter_sync(struct iov_iter_st *iter, const uint8_t
      *data,\n\t\t\t  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/gnutls/lib/fips.c:91,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/fips.c:96,1
    - Dst: fopen
      Src: /src/gnutls/lib/fips.c:112,1
    - Dst: fgetc
      Src: /src/gnutls/lib/fips.c:114,1
    - Dst: fclose
      Src: /src/gnutls/lib/fips.c:115,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:124,1
    - Dst: access
      Src: /src/gnutls/lib/fips.c:129,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 144
    functionName: _gnutls_fips_mode_enabled
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fgetc
    - secure_getenv
    - _gnutls_debug_log
    - access
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_fips_mode_enabled(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: _gnutls_fips_mode_reset_zombie
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_fips_mode_reset_zombie(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/fips.c:202,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/lib/fips.c:206,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:208,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - value
    argTypes:
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: get_hmac
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - gnutls_hex_decode
    - gnutls_assert_val
    - strlen
    linkageType: ''
    returnType: int
    signature: int get_hmac(uint8_t *dest, const char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:219,1
    - Dst: snprintf
      Src: /src/gnutls/lib/fips.c:220,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:221,1
    - Dst: get_hmac
      Src: /src/gnutls/lib/fips.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - entry
    - section
    - name
    - value
    argTypes:
    - struct hmac_entry*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: lib_handler
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - get_hmac
    - snprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int lib_handler(struct hmac_entry *entry, const char *section,\n\t\t
      \      const char *name, const char *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:235,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:236,1
    - Dst: strtol
      Src: /src/gnutls/lib/fips.c:237,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:241,1
    - Dst: lib_handler
      Src: /src/gnutls/lib/fips.c:242,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:243,1
    - Dst: lib_handler
      Src: /src/gnutls/lib/fips.c:244,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:245,1
    - Dst: lib_handler
      Src: /src/gnutls/lib/fips.c:246,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:247,1
    - Dst: lib_handler
      Src: /src/gnutls/lib/fips.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - user
    - section
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 253
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 253
    functionName: handler
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 10
    functionsReached:
    - lib_handler
    - strtol
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int handler(void *user, const char *section, const char *name,\n\t\t
      \  const char *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnutls/lib/fips.c:271,1
    - Dst: snprintf
      Src: /src/gnutls/lib/fips.c:274,1
    - Dst: snprintf
      Src: /src/gnutls/lib/fips.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:281,1
    - Dst: _gnutls_file_exists
      Src: /src/gnutls/lib/fips.c:283,1
    - Dst: snprintf
      Src: /src/gnutls/lib/fips.c:288,1
    - Dst: snprintf
      Src: /src/gnutls/lib/fips.c:291,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:296,1
    - Dst: _gnutls_file_exists
      Src: /src/gnutls/lib/fips.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - mac_file
    - mac_file_size
    - gnutls_path
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: get_hmac_path
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - strrchr
    - snprintf
    - gnutls_assert_val
    - _gnutls_file_exists
    linkageType: ''
    returnType: int
    signature: "int get_hmac_path(char *mac_file, size_t mac_file_size,\n\t\t\t const
      char *gnutls_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/lib/fips.c:319,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:321,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/fips.c:323,1
    - Dst: ini_parse_file
      Src: /src/gnutls/lib/fips.c:324,1
    - Dst: fclose
      Src: /src/gnutls/lib/fips.c:325,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:327,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - hmac_file
    - hmac_path
    argTypes:
    - struct hmac_file*
    - char*
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: load_hmac_file
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - fopen
    - ini_parse_file
    - fclose
    - gnutls_assert_val
    - gnutls_memset
    linkageType: ''
    returnType: int
    signature: int load_hmac_file(struct hmac_file *hmac_file, const char *hmac_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:351,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/fips.c:352,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:354,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fips.c:355,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:356,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/fips.c:359,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:360,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/fips.c:361,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:363,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/fips.c:365,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:367,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fips.c:368,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:369,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/fips.c:372,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:373,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/fips.c:375,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:376,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:378,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/fips.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - entry
    - path
    argTypes:
    - struct hmac_entry*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 382
    functionName: check_lib_hmac
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - gnutls_load_file
    - gnutls_hmac_fast
    - gnutls_strerror
    - gnutls_free
    - _gnutls_switch_lib_state
    - gnutls_memcmp
    - _gnutls_get_lib_state
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_memset
    linkageType: ''
    returnType: int
    signature: int check_lib_hmac(struct hmac_entry *entry, const char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:392,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/fips.c:393,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:394,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/fips.c:395,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:396,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/fips.c:397,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fips.c:398,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/fips.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: callback
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 11
    functionsReached:
    - _gnutls_str_cpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int callback(struct dl_phdr_info *info, size_t size, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/fips.c:405,1
    - Dst: dl_iterate_phdr
      Src: /src/gnutls/lib/fips.c:406,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:409,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:410,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:413,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:414,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:417,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:418,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:421,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - paths
    argTypes:
    - struct lib_paths*
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: load_lib_paths
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - dl_iterate_phdr
    - gnutls_assert_val
    - memset
    linkageType: ''
    returnType: int
    signature: int load_lib_paths(struct lib_paths *paths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:433,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - paths
    argTypes:
    - struct lib_paths*
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: load_lib_paths
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int load_lib_paths(struct lib_paths *paths)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_lib_paths
      Src: /src/gnutls/lib/fips.c:446,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:448,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fips.c:449,1
    - Dst: get_hmac_path
      Src: /src/gnutls/lib/fips.c:453,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:455,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fips.c:456,1
    - Dst: load_hmac_file
      Src: /src/gnutls/lib/fips.c:460,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:462,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fips.c:463,1
    - Dst: check_lib_hmac
      Src: /src/gnutls/lib/fips.c:467,1
    - Dst: check_lib_hmac
      Src: /src/gnutls/lib/fips.c:470,1
    - Dst: check_lib_hmac
      Src: /src/gnutls/lib/fips.c:473,1
    - Dst: check_lib_hmac
      Src: /src/gnutls/lib/fips.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 481
    functionName: check_binary_integrity
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - load_hmac_file
    - load_lib_paths
    - check_lib_hmac
    - _gnutls_debug_log
    - get_hmac_path
    linkageType: ''
    returnType: int
    signature: int check_binary_integrity(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/lib/fips.c:493,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: _gnutls_fips_perform_self_checks1
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_self_test
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_fips_perform_self_checks1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/lib/fips.c:508,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:510,1
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/lib/fips.c:513,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:515,1
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/lib/fips.c:518,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:520,1
    - Dst: gnutls_cipher_self_test
      Src: /src/gnutls/lib/fips.c:523,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:525,1
    - Dst: gnutls_digest_self_test
      Src: /src/gnutls/lib/fips.c:529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:531,1
    - Dst: gnutls_digest_self_test
      Src: /src/gnutls/lib/fips.c:534,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:536,1
    - Dst: gnutls_digest_self_test
      Src: /src/gnutls/lib/fips.c:539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:541,1
    - Dst: gnutls_digest_self_test
      Src: /src/gnutls/lib/fips.c:544,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:546,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:550,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:552,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:555,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:557,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:560,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:562,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:565,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:567,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:570,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:572,1
    - Dst: gnutls_mac_self_test
      Src: /src/gnutls/lib/fips.c:575,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:577,1
    - Dst: gnutls_pk_self_test
      Src: /src/gnutls/lib/fips.c:581,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:583,1
    - Dst: gnutls_pk_self_test
      Src: /src/gnutls/lib/fips.c:586,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:588,1
    - Dst: gnutls_pk_self_test
      Src: /src/gnutls/lib/fips.c:591,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:593,1
    - Dst: gnutls_pk_self_test
      Src: /src/gnutls/lib/fips.c:596,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:598,1
    - Dst: gnutls_hkdf_self_test
      Src: /src/gnutls/lib/fips.c:602,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:604,1
    - Dst: gnutls_pbkdf2_self_test
      Src: /src/gnutls/lib/fips.c:608,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:610,1
    - Dst: gnutls_tlsprf_self_test
      Src: /src/gnutls/lib/fips.c:614,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:616,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:620,1
    - Dst: self_test
      Src: /src/gnutls/lib/fips.c:624,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:626,1
    - Dst: check_binary_integrity
      Src: /src/gnutls/lib/fips.c:630,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:632,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 501
    functionDepth: 4
    functionLinenumber: 501
    functionLinenumberEnd: 637
    functionName: _gnutls_fips_perform_self_checks2
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_self_test
    - check_binary_integrity
    - gnutls_tlsprf_self_test
    - self_test
    - gnutls_pbkdf2_self_test
    - gnutls_mac_self_test
    - gnutls_pk_self_test
    - gnutls_assert_val
    - gnutls_digest_self_test
    - gnutls_hkdf_self_test
    linkageType: ''
    returnType: int
    signature: int _gnutls_fips_perform_self_checks2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/fips.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 673
    functionName: gnutls_fips140_mode_enabled
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 79
    functionsReached:
    - _gnutls_get_lib_state
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_fips140_mode_enabled(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.c:700,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:704,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:717,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - mode
    - flags
    argTypes:
    - gnutls_fips_mode_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 738
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 738
    functionName: gnutls_fips140_set_mode
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 6
    functionsReached:
    - _gnutls_fips_mode_enabled
    - _gnutls_audit_log
    linkageType: ''
    returnType: void
    signature: void gnutls_fips140_set_mode(gnutls_fips_mode_t mode, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: _gnutls_lib_simulate_error
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 2
    functionsReached:
    - _gnutls_switch_lib_state
    linkageType: ''
    returnType: void
    signature: void _gnutls_lib_simulate_error(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: _gnutls_lib_force_operational
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_lib_state
    linkageType: ''
    returnType: void
    signature: void _gnutls_lib_force_operational(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/fips.c:762,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - gnutls_fips140_context_t*
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: gnutls_fips140_context_init
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 14
    functionsReached:
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int gnutls_fips140_context_init(gnutls_fips140_context_t *context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/fips.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - gnutls_fips140_context_t
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: gnutls_fips140_context_deinit
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 14
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_fips140_context_deinit(gnutls_fips140_context_t context)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - gnutls_fips140_context_t
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: gnutls_fips140_get_operation_state
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_fips140_operation_state_t
    signature: gnutls_fips140_operation_state_t gnutls_fips140_get_operation_state(gnutls_fips140_context_t
      context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - gnutls_fips140_context_t
    constantsTouched: []
    func_position:
      end: 832
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 832
    functionName: gnutls_fips140_push_context
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 1
    functionsReached:
    - _gnutls_fips_mode_enabled
    linkageType: ''
    returnType: int
    signature: int gnutls_fips140_push_context(gnutls_fips140_context_t context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.c:854,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fips.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 865
    functionName: gnutls_fips140_pop_context
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 2
    functionsReached:
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_fips140_pop_context(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/fips.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 885
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 885
    functionName: operation_state_to_string
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      operation_state_to_string(gnutls_fips140_operation_state_t state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.c:889,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/fips.c:895,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:907,1
    - Dst: operation_state_to_string
      Src: /src/gnutls/lib/fips.c:910,1
    - Dst: likely
      Src: /src/gnutls/lib/fips.c:916,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:918,1
    - Dst: operation_state_to_string
      Src: /src/gnutls/lib/fips.c:921,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:930,1
    - Dst: operation_state_to_string
      Src: /src/gnutls/lib/fips.c:933,1
    - Dst: operation_state_to_string
      Src: /src/gnutls/lib/fips.c:935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - state
    argTypes:
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 939
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 939
    functionName: _gnutls_switch_fips_state
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 2
    functionsReached:
    - likely
    - _gnutls_audit_log
    - _gnutls_debug_log
    - _gnutls_fips_mode_enabled
    - operation_state_to_string
    linkageType: ''
    returnType: void
    signature: void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - gnutls_fips140_operation_state_t
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: _gnutls_switch_fips_state
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_switch_fips_state(gnutls_fips140_operation_state_t state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/lib/fips.c:975,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/lib/fips.c:976,1
    - Dst: gnutls_fips140_push_context
      Src: /src/gnutls/lib/fips.c:977,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/lib/fips.c:978,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/fips.c:986,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:987,1
    - Dst: _gnutls_fips_perform_self_checks2
      Src: /src/gnutls/lib/fips.c:989,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/lib/fips.c:990,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:992,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:993,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:997,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/lib/fips.c:1001,1
    - Dst: gnutls_fips140_pop_context
      Src: /src/gnutls/lib/fips.c:1003,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/fips.c:1004,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.c:1005,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/lib/fips.c:1008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 967
    functionDepth: 5
    functionLinenumber: 967
    functionLinenumberEnd: 1014
    functionName: gnutls_fips140_run_self_tests
    functionSourceFile: /src/gnutls/lib/fips.c
    functionUses: 1
    functionsReached:
    - _gnutls_audit_log
    - _gnutls_switch_lib_state
    - gnutls_fips140_push_context
    - gnutls_fips140_context_init
    - gnutls_fips140_mode_enabled
    - _gnutls_fips_perform_self_checks2
    - gnutls_fips140_context_deinit
    - _gnutls_get_lib_state
    - gnutls_fips140_pop_context
    linkageType: ''
    returnType: int
    signature: int gnutls_fips140_run_self_tests(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/prf.c:75,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:78,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:81,1
    - Dst: _gnutls_prf_raw
      Src: /src/gnutls/lib/prf.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 7
    argNames:
    - session
    - label_size
    - label
    - seed_size
    - seed
    - outsize
    - out
    argTypes:
    - gnutls_session_t
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: gnutls_prf_raw
    functionSourceFile: /src/gnutls/lib/prf.c
    functionUses: 1
    functionsReached:
    - get_version
    - gnutls_assert_val
    - _gnutls_prf_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_prf_raw(gnutls_session_t session, size_t label_size,\n\t\t
      \  const char *label, size_t seed_size, const char *seed,\n\t\t   size_t outsize,
      char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_derive_secret2
      Src: /src/gnutls/lib/prf.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:106,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/prf.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:111,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/prf.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - prf
    - session
    - label_size
    - label
    - context_size
    - context
    - outsize
    - out
    - early
    argTypes:
    - mac_entry_st*
    - gnutls_session_t
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: _tls13_derive_exporter
    functionSourceFile: /src/gnutls/lib/prf.c
    functionUses: 0
    functionsReached:
    - _tls13_expand_secret2
    - gnutls_assert_val
    - gnutls_hash_fast
    - _tls13_derive_secret2
    linkageType: ''
    returnType: int
    signature: "int _tls13_derive_exporter(const mac_entry_st *prf,\n\t\t\t\t  gnutls_session_t
      session, size_t label_size,\n\t\t\t\t  const char *label, size_t context_size,\n\t\t\t\t
      \ const char *context, size_t outsize,\n\t\t\t\t  char *out, bool early)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/prf.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:163,1
    - Dst: _tls13_derive_exporter
      Src: /src/gnutls/lib/prf.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/prf.c:174,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/prf.c:179,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/prf.c:181,1
    - Dst: memcpy
      Src: /src/gnutls/lib/prf.c:185,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/prf.c:186,1
    - Dst: gnutls_prf
      Src: /src/gnutls/lib/prf.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/prf.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - session
    - label_size
    - label
    - context_size
    - context
    - outsize
    - out
    argTypes:
    - gnutls_session_t
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 197
    functionName: gnutls_prf_rfc5705
    functionSourceFile: /src/gnutls/lib/prf.c
    functionUses: 3
    functionsReached:
    - gnutls_prf
    - gnutls_free
    - _gnutls_write_uint16
    - gnutls_assert
    - gnutls_malloc
    - memcpy
    - get_version
    - _tls13_derive_exporter
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_prf_rfc5705(gnutls_session_t session, size_t label_size,\n\t\t
      \      const char *label, size_t context_size,\n\t\t       const char *context,
      size_t outsize, char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:240,1
    - Dst: _tls13_derive_exporter
      Src: /src/gnutls/lib/prf.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - session
    - label_size
    - label
    - context_size
    - context
    - outsize
    - out
    argTypes:
    - gnutls_session_t
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: gnutls_prf_early
    functionSourceFile: /src/gnutls/lib/prf.c
    functionUses: 0
    functionsReached:
    - _tls13_derive_exporter
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_prf_early(gnutls_session_t session, size_t label_size,\n\t\t
      \    const char *label, size_t context_size,\n\t\t     const char *context,
      size_t outsize, char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/prf.c:288,1
    - Dst: gnutls_prf_rfc5705
      Src: /src/gnutls/lib/prf.c:293,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:297,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/prf.c:301,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/prf.c:303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/prf.c:305,1
    - Dst: memcpy
      Src: /src/gnutls/lib/prf.c:309,1
    - Dst: memcpy
      Src: /src/gnutls/lib/prf.c:314,1
    - Dst: memcpy
      Src: /src/gnutls/lib/prf.c:321,1
    - Dst: _gnutls_prf_raw
      Src: /src/gnutls/lib/prf.c:324,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/prf.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 8
    argNames:
    - session
    - label_size
    - label
    - server_random_first
    - extra_size
    - extra
    - outsize
    - out
    argTypes:
    - gnutls_session_t
    - size_t
    - char*
    - int
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 332
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 332
    functionName: gnutls_prf
    functionSourceFile: /src/gnutls/lib/prf.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_prf_raw
    - memcpy
    - gnutls_prf_rfc5705
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_prf(gnutls_session_t session, size_t label_size, const
      char *label,\n\t       int server_random_first, size_t extra_size, const char
      *extra,\n\t       size_t outsize, char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_compression_method_t
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: gnutls_compression_get_name
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_compression_get_name(gnutls_compression_method_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/gnutls/lib/compress.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: gnutls_compression_get_id
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t gnutls_compression_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: gnutls_compression_list
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t *gnutls_compression_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compressBound
      Src: /src/gnutls/lib/compress.c:129,1
    - Dst: BrotliEncoderMaxCompressedSize
      Src: /src/gnutls/lib/compress.c:133,1
    - Dst: ZSTD_compressBound
      Src: /src/gnutls/lib/compress.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - alg
    - src_len
    argTypes:
    - gnutls_compression_method_t
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: _gnutls_compress_bound
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderMaxCompressedSize
    - compressBound
    - ZSTD_compressBound
    linkageType: ''
    returnType: size_t
    signature: size_t _gnutls_compress_bound(gnutls_compression_method_t alg, size_t
      src_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress
      Src: /src/gnutls/lib/compress.c:156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:158,1
    - Dst: BrotliEncoderCompress
      Src: /src/gnutls/lib/compress.c:167,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:172,1
    - Dst: ZSTD_compress
      Src: /src/gnutls/lib/compress.c:180,1
    - Dst: ZSTD_isError
      Src: /src/gnutls/lib/compress.c:182,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:188,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/compress.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - alg
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - gnutls_compression_method_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 197
    functionName: _gnutls_compress
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 0
    functionsReached:
    - ZSTD_compress
    - ZSTD_isError
    - compress
    - BrotliEncoderCompress
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_compress(gnutls_compression_method_t alg, uint8_t *dst,\n\t\t
      \    size_t dst_len, const uint8_t *src, size_t src_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uncompress
      Src: /src/gnutls/lib/compress.c:210,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:212,1
    - Dst: BrotliDecoderDecompress
      Src: /src/gnutls/lib/compress.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:223,1
    - Dst: ZSTD_decompress
      Src: /src/gnutls/lib/compress.c:231,1
    - Dst: ZSTD_isError
      Src: /src/gnutls/lib/compress.c:232,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:233,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/compress.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - alg
    - dst
    - dst_len
    - src
    - src_len
    argTypes:
    - gnutls_compression_method_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 242
    functionName: _gnutls_decompress
    functionSourceFile: /src/gnutls/lib/compress.c
    functionUses: 0
    functionsReached:
    - ZSTD_decompress
    - ZSTD_isError
    - BrotliDecoderDecompress
    - uncompress
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decompress(gnutls_compression_method_t alg, uint8_t *dst,\n\t\t
      \      size_t dst_len, const uint8_t *src, size_t src_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/state.c:82,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: gnutls_cipher_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 15
    functionsReached:
    - _gnutls_epoch_get
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t gnutls_cipher_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:105,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:110,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/state.c:113,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: gnutls_early_cipher_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached:
    - cipher_to_entry
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t gnutls_early_cipher_get(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_type_get2
      Src: /src/gnutls/lib/state.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: gnutls_certificate_type_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 16
    functionsReached:
    - gnutls_certificate_type_get2
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t gnutls_certificate_type_get(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/state.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - target
    argTypes:
    - gnutls_session_t
    - gnutls_ctype_target_t
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: gnutls_certificate_type_get2
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 5
    functionsReached:
    - get_certificate_type
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: "gnutls_certificate_type_t gnutls_certificate_type_get2(gnutls_session_t
      session,\n\t\t\t     gnutls_ctype_target_t target)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/state.c:201,1
    - Dst: get_group
      Src: /src/gnutls/lib/state.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: gnutls_kx_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 23
    functionsReached:
    - get_version
    - get_group
    linkageType: ''
    returnType: gnutls_kx_algorithm_t
    signature: gnutls_kx_algorithm_t gnutls_kx_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/state.c:240,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: gnutls_mac_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 10
    functionsReached:
    - _gnutls_epoch_get
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t gnutls_mac_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: gnutls_compression_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t gnutls_compression_get(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: gnutls_prf_hash_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 3
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t gnutls_prf_hash_get(const gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:302,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:305,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:307,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: gnutls_early_prf_hash_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t gnutls_early_prf_hash_get(const gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: gnutls_ciphersuite_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *gnutls_ciphersuite_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/state.c:349,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/state.c:350,1
    - Dst: memset
      Src: /src/gnutls/lib/state.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: reset_binders
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_temp_key_datum
    - memset
    linkageType: ''
    returnType: void
    signature: void reset_binders(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/state.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - session
    - cert_type
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 392
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 392
    functionName: _gnutls_has_cert_credentials
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_get_cred
    linkageType: ''
    returnType: bool
    signature: "bool _gnutls_has_cert_credentials(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_certificate_type_t cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_cert_type_enabled
      Src: /src/gnutls/lib/state.c:408,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:409,1
    - Dst: _gnutls_has_cert_credentials
      Src: /src/gnutls/lib/state.c:413,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:414,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - session
    - cert_type
    - check_credentials
    - target
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_type_t
    - bool
    - gnutls_ctype_target_t
    constantsTouched: []
    func_position:
      end: 450
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 450
    functionName: _gnutls_session_is_cert_type_supported
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_has_cert_credentials
    - gnutls_assert_val
    - is_cert_type_enabled
    linkageType: ''
    returnType: bool
    signature: "bool _gnutls_session_is_cert_type_supported(gnutls_session_t session,\n\t\t\t\t\t
      \   gnutls_certificate_type_t cert_type,\n\t\t\t\t\t    bool check_credentials,\n\t\t\t\t\t
      \   gnutls_ctype_target_t target)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/state.c:454,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/state.c:459,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/state.c:460,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/state.c:461,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/state.c:464,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/state.c:465,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:466,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:467,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/state.c:468,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:470,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:473,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:474,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:475,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:477,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:478,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:479,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:480,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:481,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/state.c:482,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/state.c:484,1
    - Dst: reset_binders
      Src: /src/gnutls/lib/state.c:488,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/state.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 490
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 490
    functionName: deinit_keys
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_temp_key_datum
    - zrelease_temp_mpi_key
    - gnutls_pk_params_release
    - get_version
    - gnutls_memset
    - reset_binders
    linkageType: ''
    returnType: void
    signature: void deinit_keys(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: handshake_internal_state_clear1
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handshake_internal_state_clear1(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_internal_state_clear1
      Src: /src/gnutls/lib/state.c:526,1
    - Dst: _gnutls_handshake_hash_buffers_clear
      Src: /src/gnutls/lib/state.c:528,1
    - Dst: deinit_keys
      Src: /src/gnutls/lib/state.c:529,1
    - Dst: _gnutls_epoch_gc
      Src: /src/gnutls/lib/state.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 541
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 541
    functionName: _gnutls_handshake_internal_state_clear
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - handshake_internal_state_clear1
    - _gnutls_epoch_gc
    - _gnutls_handshake_hash_buffers_clear
    - deinit_keys
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_internal_state_clear(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/state.c:577,1
    - Dst: gnutls_mutex_init
      Src: /src/gnutls/lib/state.c:581,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/state.c:583,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:584,1
    - Dst: gnutls_mutex_init
      Src: /src/gnutls/lib/state.c:588,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/state.c:590,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/state.c:591,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:593,1
    - Dst: _gnutls_epoch_setup_next
      Src: /src/gnutls/lib/state.c:597,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/state.c:599,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/state.c:601,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:602,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:603,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/state.c:605,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:615,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:616,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:617,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:618,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:619,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:620,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:621,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/state.c:623,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/state.c:624,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/state.c:625,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/state.c:626,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/state.c:627,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/state.c:629,1
    - Dst: _gnutls_handshake_recv_buffer_init
      Src: /src/gnutls/lib/state.c:630,1
    - Dst: gnutls_handshake_set_max_packet_length
      Src: /src/gnutls/lib/state.c:637,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:672,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:675,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:678,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:681,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:683,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:685,1
    - Dst: handshake_internal_state_clear1
      Src: /src/gnutls/lib/state.c:688,1
    - Dst: gnutls_transport_set_vec_push_function
      Src: /src/gnutls/lib/state.c:692,1
    - Dst: gnutls_transport_set_vec_push_function
      Src: /src/gnutls/lib/state.c:696,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/lib/state.c:712,1
    - Dst: gnutls_ocsp_status_request_enable_client
      Src: /src/gnutls/lib/state.c:722,1
    - Dst: gnutls_session_set_keylog_function
      Src: /src/gnutls/lib/state.c:737,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 93
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 740
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 740
    functionName: gnutls_init
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 388
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_mutex_init
    - gnutls_mutex_deinit
    - _gnutls_epoch_bump
    - handshake_internal_state_clear1
    - gnutls_transport_set_vec_push_function
    - gnutls_ocsp_status_request_enable_client
    - _gnutls_epoch_setup_next
    - gnutls_dtls_set_timeouts
    - gnutls_session_set_keylog_function
    - _gnutls_handshake_recv_buffer_init
    - _gnutls_buffer_init
    - _gnutls_memory_mark_undefined
    - _mbuffer_head_init
    - gnutls_assert_val
    - gnutls_handshake_set_max_packet_length
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_init(gnutls_session_t *session, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_auth_info
      Src: /src/gnutls/lib/state.c:758,1
    - Dst: _gnutls_handshake_internal_state_clear
      Src: /src/gnutls/lib/state.c:760,1
    - Dst: _gnutls_handshake_io_buffer_clear
      Src: /src/gnutls/lib/state.c:761,1
    - Dst: _gnutls_hello_ext_priv_deinit
      Src: /src/gnutls/lib/state.c:762,1
    - Dst: _gnutls_epoch_free
      Src: /src/gnutls/lib/state.c:766,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:771,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:772,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:773,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:774,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:775,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:776,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:777,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/state.c:779,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/state.c:780,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/state.c:781,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/state.c:783,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/state.c:784,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:786,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:787,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:790,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:791,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:792,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:794,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:795,1
    - Dst: gnutls_credentials_clear
      Src: /src/gnutls/lib/state.c:797,1
    - Dst: _gnutls_selected_certs_deinit
      Src: /src/gnutls/lib/state.c:798,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/state.c:801,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/lib/state.c:804,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/state.c:807,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/state.c:810,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/state.c:812,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:814,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/state.c:817,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/state.c:819,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:821,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/state.c:824,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/state.c:826,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/state.c:827,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/state.c:830,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/state.c:831,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/state.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 834
      start: 750
    functionDepth: 4
    functionLinenumber: 750
    functionLinenumberEnd: 834
    functionName: gnutls_deinit
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 394
    functionsReached:
    - tls13_ticket_deinit
    - gnutls_free
    - gnutls_mutex_deinit
    - _gnutls_epoch_free
    - _gnutls_free_auth_info
    - _gnutls_free_datum
    - _gnutls_buffer_clear
    - gnutls_priority_deinit
    - _gnutls_memory_mark_defined
    - _gnutls_handshake_io_buffer_clear
    - _gnutls_hello_ext_priv_deinit
    - gnutls_credentials_clear
    - _gnutls_selected_certs_deinit
    - _gnutls_memory_mark_undefined
    - _gnutls_handshake_internal_state_clear
    - _mbuffer_head_clear
    - gnutls_memset
    linkageType: ''
    returnType: void
    signature: void gnutls_deinit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/state.c:841,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:844,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:846,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:853,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:855,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:863,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:865,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:871,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:875,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/state.c:877,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/state.c:879,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - session
    - public
    argTypes:
    - gnutls_session_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 884
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 884
    functionName: _gnutls_dh_set_peer_public
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_mpi_dprint_lz
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_dh_set_peer_public(gnutls_session_t session, bigint_t public)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/state.c:888,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:891,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:893,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:899,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:901,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:908,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:910,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - session
    - bits
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 920
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 920
    functionName: _gnutls_dh_set_secret_bits
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_auth_get_type
    - _gnutls_get_auth_info
    linkageType: ''
    returnType: int
    signature: int _gnutls_dh_set_secret_bits(gnutls_session_t session, unsigned bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/state.c:930,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:933,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:935,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:942,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:944,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/state.c:952,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:954,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:960,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:964,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:967,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/state.c:971,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/state.c:973,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/state.c:979,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/state.c:981,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/state.c:982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - session
    - gen
    - prime
    argTypes:
    - gnutls_session_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 987
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 987
    functionName: _gnutls_dh_save_group
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_mpi_dprint_lz
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dh_save_group(gnutls_session_t session, bigint_t gen,\n\t\t\t
      \ bigint_t prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - status
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: gnutls_certificate_send_x509_rdn_sequence
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t session,\n\t\t\t\t\t
      \      int status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1025
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1025
    functionName: _gnutls_record_set_default_version
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_record_set_default_version(gnutls_session_t session,\n\t\t\t\t\tunsigned
      char major,\n\t\t\t\t\tunsigned char minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: _gnutls_hello_set_default_version
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_hello_set_default_version(gnutls_session_t session,\n\t\t\t\t
      \      unsigned char major, unsigned char minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - allow
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 1064
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1064
    functionName: gnutls_handshake_set_private_extensions
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_handshake_set_private_extensions(gnutls_session_t session,\n\t\t\t\t\t
      \    int allow)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/state.c:1079,1
    - Dst: memcmp
      Src: /src/gnutls/lib/state.c:1088,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1099
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1099
    functionName: gnutls_session_is_resumed
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 27
    functionsReached:
    - get_version
    - memcmp
    linkageType: ''
    returnType: int
    signature: int gnutls_session_is_resumed(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: gnutls_session_resumption_requested
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_session_resumption_requested(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1136
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1136
    functionName: _gnutls_session_is_psk
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_session_is_psk(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_kx_is_ecc
      Src: /src/gnutls/lib/state.c:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1155
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1155
    functionName: _gnutls_session_is_ecc
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - _gnutls_kx_is_ecc
    linkageType: ''
    returnType: int
    signature: int _gnutls_session_is_ecc(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1170
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1170
    functionName: gnutls_session_get_ptr
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gnutls_session_get_ptr(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ptr
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: gnutls_session_set_ptr
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_session_set_ptr(gnutls_session_t session, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_verify_function*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1214
    functionName: gnutls_session_set_verify_function
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_set_verify_function(\n\tgnutls_session_t session,
      gnutls_certificate_verify_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1238
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1238
    functionName: gnutls_record_get_direction
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_record_get_direction(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1255
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1255
    functionName: _gnutls_rsa_pms_set_version
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_rsa_pms_set_version(gnutls_session_t session, unsigned
      char major,\n\t\t\t\t unsigned char minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/state.c:1260,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/state.c:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - ct
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 1264
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1264
    functionName: _gnutls_session_client_cert_type_set
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_type_get_name
    - _gnutls_handshake_log
    linkageType: ''
    returnType: void
    signature: "void _gnutls_session_client_cert_type_set(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_certificate_type_t ct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/state.c:1269,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/state.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - ct
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 1273
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1273
    functionName: _gnutls_session_server_cert_type_set
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_type_get_name
    - _gnutls_handshake_log
    linkageType: ''
    returnType: void
    signature: "void _gnutls_session_server_cert_type_set(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_certificate_type_t ct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_simple_hook_func
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: gnutls_handshake_set_post_client_hello_function
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_handshake_set_post_client_hello_function(\n\tgnutls_session_t
      session, gnutls_handshake_simple_hook_func func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_COMPAT
      Src: /src/gnutls/lib/state.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1327
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1327
    functionName: gnutls_session_enable_compatibility_mode
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 0
    functionsReached:
    - ENABLE_COMPAT
    linkageType: ''
    returnType: void
    signature: void gnutls_session_enable_compatibility_mode(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/state.c:1353,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:1354,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/state.c:1358,1
    - Dst: memcpy
      Src: /src/gnutls/lib/state.c:1362,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/lib/state.c:1376,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/lib/state.c:1381,1
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/lib/state.c:1384,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/lib/state.c:1390,1
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/lib/state.c:1397,1
    - Dst: gnutls_sign_get_hash_algorithm
      Src: /src/gnutls/lib/state.c:1402,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/state.c:1412,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/state.c:1420,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/state.c:1422,1
    - Dst: gnutls_x509_crt_get_fingerprint
      Src: /src/gnutls/lib/state.c:1426,1
    - Dst: gnutls_realloc_fast
      Src: /src/gnutls/lib/state.c:1429,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/state.c:1431,1
    - Dst: gnutls_x509_crt_get_fingerprint
      Src: /src/gnutls/lib/state.c:1434,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/state.c:1438,1
    - Dst: get_version
      Src: /src/gnutls/lib/state.c:1448,1
    - Dst: unlikely
      Src: /src/gnutls/lib/state.c:1449,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/lib/state.c:1459,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/state.c:1464,1
    - Dst: gnutls_prf_rfc5705
      Src: /src/gnutls/lib/state.c:1468,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 3
    argNames:
    - session
    - cbtype
    - cb
    argTypes:
    - gnutls_session_t
    - gnutls_channel_binding_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1345
    functionDepth: 3
    functionLinenumber: 1345
    functionLinenumberEnd: 1475
    functionName: gnutls_session_channel_binding
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_realloc_fast
    - gnutls_x509_crt_list_import
    - gnutls_sign_get_hash_algorithm
    - gnutls_malloc
    - memcpy
    - gnutls_prf_rfc5705
    - gnutls_x509_crt_get_signature_algorithm
    - unlikely
    - gnutls_certificate_get_peers
    - get_version
    - gnutls_session_ext_master_secret_status
    - gnutls_certificate_type_get
    - gnutls_certificate_get_ours
    - gnutls_x509_crt_get_fingerprint
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_channel_binding(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_channel_binding_t cbtype,\n\t\t\t\t   gnutls_datum_t *cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_group
      Src: /src/gnutls/lib/state.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1497
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1497
    functionName: gnutls_ecc_curve_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 4
    functionsReached:
    - get_group
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t gnutls_ecc_curve_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_group
      Src: /src/gnutls/lib/state.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1519
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1519
    functionName: gnutls_group_get
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 8
    functionsReached:
    - get_group
    linkageType: ''
    returnType: gnutls_group_t
    signature: gnutls_group_t gnutls_group_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_num_version
      Src: /src/gnutls/lib/state.c:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1532
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1532
    functionName: gnutls_protocol_get_version
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 196
    functionsReached:
    - get_num_version
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t gnutls_protocol_get_version(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - client
    - server
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1563
    functionName: gnutls_session_get_random
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_get_random(gnutls_session_t session, gnutls_datum_t
      *client,\n\t\t\t       gnutls_datum_t *server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - secret
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1582
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1582
    functionName: gnutls_session_get_master_secret
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_get_master_secret(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_datum_t *secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_MULTIPLY_OVERFLOW
      Src: /src/gnutls/lib/state.c:1589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1595
    functionName: timespec_sub_ms
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached:
    - INT_MULTIPLY_OVERFLOW
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int timespec_sub_ms(struct timespec *a, struct timespec *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/state.c:1623,1
    - Dst: memcpy
      Src: /src/gnutls/lib/state.c:1627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - session
    - random
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1632
    functionName: gnutls_handshake_set_random
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 11
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gnutls_handshake_set_random(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_datum_t *random)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - session
    - htype
    - when
    - func
    argTypes:
    - gnutls_session_t
    - unsigned int
    - int
    - gnutls_handshake_hook_func
    constantsTouched: []
    func_position:
      end: 1666
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1666
    functionName: gnutls_handshake_set_hook_function
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_handshake_set_hook_function(gnutls_session_t session,\n\t\t\t\t\tunsigned
      int htype, int when,\n\t\t\t\t\tgnutls_handshake_hook_func func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_read_func
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: gnutls_handshake_set_read_function
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_handshake_set_read_function(gnutls_session_t session,\n\t\t\t\t\tgnutls_handshake_read_func
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_alert_read_func
    constantsTouched: []
    func_position:
      end: 1698
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1698
    functionName: gnutls_alert_set_read_function
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_alert_set_read_function(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_alert_read_func func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/state.c:1735,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:1737,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:1740,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/state.c:1763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - session
    - read
    - mac_key
    - IV
    - cipher_key
    - seq_number
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 1765
      start: 1720
    functionDepth: 2
    functionLinenumber: 1720
    functionLinenumberEnd: 1765
    functionName: gnutls_record_get_state
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 5
    functionsReached:
    - _gnutls_write_uint64
    - _gnutls_epoch_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_record_get_state(gnutls_session_t session, unsigned read,\n\t\t\t
      \   gnutls_datum_t *mac_key, gnutls_datum_t *IV,\n\t\t\t    gnutls_datum_t *cipher_key,\n\t\t\t
      \   unsigned char seq_number[8])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/state.c:1793,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:1795,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/state.c:1798,1
    - Dst: _gnutls_read_uint64
      Src: /src/gnutls/lib/state.c:1805,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/state.c:1807,1
    - Dst: _dtls_reset_window
      Src: /src/gnutls/lib/state.c:1808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - session
    - read
    - seq_number
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 1812
      start: 1781
    functionDepth: 2
    functionLinenumber: 1781
    functionLinenumberEnd: 1812
    functionName: gnutls_record_set_state
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 3
    functionsReached:
    - _gnutls_epoch_get
    - _dtls_reset_window
    - _gnutls_read_uint64
    - IS_DTLS
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_record_set_state(gnutls_session_t session, unsigned read,\n\t\t\t
      \   const unsigned char seq_number[8])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_safe_renegotiation_status
      Src: /src/gnutls/lib/state.c:1833,1
    - Dst: gnutls_session_ext_master_secret_status
      Src: /src/gnutls/lib/state.c:1835,1
    - Dst: gnutls_session_etm_status
      Src: /src/gnutls/lib/state.c:1837,1
    - Dst: gnutls_heartbeat_allowed
      Src: /src/gnutls/lib/state.c:1839,1
    - Dst: gnutls_heartbeat_allowed
      Src: /src/gnutls/lib/state.c:1841,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1862
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1862
    functionName: gnutls_session_get_flags
    functionSourceFile: /src/gnutls/lib/state.c
    functionUses: 38
    functionsReached:
    - gnutls_heartbeat_allowed
    - gnutls_session_ext_master_secret_status
    - gnutls_session_etm_status
    - gnutls_safe_renegotiation_status
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_session_get_flags(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gnutls/lib/tpm.c:140,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:142,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:146,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:147,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:148,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:149,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:150,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:151,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:152,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:153,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:154,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:155,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:156,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:157,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:158,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:159,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:160,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:161,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:162,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:163,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:164,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:165,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:166,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:167,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:168,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:169,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:170,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:172,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:173,1
    - Dst: _DLSYM
      Src: /src/gnutls/lib/tpm.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 178
    functionName: check_init
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 8
    functionsReached:
    - _gnutls_debug_log
    - _DLSYM
    - dlopen
    linkageType: ''
    returnType: int
    signature: int check_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/gnutls/lib/tpm.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: _gnutls_tpm_global_deinit
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: void
    signature: void _gnutls_tpm_global_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:228,1
    - Dst: pTrspi_Error_Layer
      Src: /src/gnutls/lib/tpm.c:228,1
    - Dst: pTrspi_Error_String
      Src: /src/gnutls/lib/tpm.c:229,1
    - Dst: pTrspi_Error_Code
      Src: /src/gnutls/lib/tpm.c:230,1
    - Dst: ERROR_LAYER
      Src: /src/gnutls/lib/tpm.c:232,1
    - Dst: ERROR_CODE
      Src: /src/gnutls/lib/tpm.c:234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:240,1
    - Dst: ERROR_CODE
      Src: /src/gnutls/lib/tpm.c:244,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:253,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - err
    - pwd_error
    argTypes:
    - TSS_RESULT
    - int
    constantsTouched: []
    func_position:
      end: 258
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 258
    functionName: tss_err_pwd
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - ERROR_CODE
    - pTrspi_Error_Layer
    - ERROR_LAYER
    - pTrspi_Error_String
    - _gnutls_debug_log
    - pTrspi_Error_Code
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int tss_err_pwd(TSS_RESULT err, int pwd_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:267,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:268,1
    - Dst: tpm_close_session
      Src: /src/gnutls/lib/tpm.c:270,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - key
    - _s
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: tpm_deinit_fn
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pTspi_Context_CloseObject
    - tpm_close_session
    linkageType: ''
    returnType: void
    signature: void tpm_deinit_fn(gnutls_privkey_t key, void *_s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:281,1
    - Dst: pTspi_Context_CreateObject
      Src: /src/gnutls/lib/tpm.c:284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:287,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:288,1
    - Dst: pTrspi_Error_String
      Src: /src/gnutls/lib/tpm.c:289,1
    - Dst: pTspi_Hash_SetHashValue
      Src: /src/gnutls/lib/tpm.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:294,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:295,1
    - Dst: pTrspi_Error_String
      Src: /src/gnutls/lib/tpm.c:297,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:298,1
    - Dst: pTspi_Hash_Sign
      Src: /src/gnutls/lib/tpm.c:301,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:302,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:305,1
    - Dst: pTrspi_Error_String
      Src: /src/gnutls/lib/tpm.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - key
    - _s
    - data
    - sig
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 313
    functionName: tpm_sign_fn
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - pTspi_Hash_Sign
    - pTspi_Context_CloseObject
    - pTspi_Hash_SetHashValue
    - pTrspi_Error_String
    - _gnutls_debug_log
    - pTspi_Context_CreateObject
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int tpm_sign_fn(gnutls_privkey_t key, void *_s,\n\t\t       const
      gnutls_datum_t *data, gnutls_datum_t *sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/tpm.c:333,1
    - Dst: encode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:336,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:338,1
    - Dst: encode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:342,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:344,1
    - Dst: _gnutls_retrieve_pin
      Src: /src/gnutls/lib/tpm.c:349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:351,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - pin_info
    - uuid
    - storage
    - pin
    - pin_size
    - attempts
    argTypes:
    - struct pin_info_st*
    - TSS_UUID*
    - TSS_FLAG
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 359
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 359
    functionName: tpm_pin
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - encode_tpmkey_url
    - gnutls_free
    - memcmp
    - _gnutls_retrieve_pin
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int tpm_pin(struct pin_info_st *pin_info, const TSS_UUID *uuid,\n\t\t
      \  TSS_FLAG storage, char *pin, unsigned int pin_size,\n\t\t   unsigned int
      attempts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_Policy_SetSecret
      Src: /src/gnutls/lib/tpm.c:367,1
    - Dst: pTspi_Policy_SetSecret
      Src: /src/gnutls/lib/tpm.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hPolicy
    - ulSecretLength
    - rgbSecret
    argTypes:
    - TSS_HPOLICY
    - UINT32
    - BYTE*
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: myTspi_Policy_SetSecret
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - pTspi_Policy_SetSecret
    linkageType: ''
    returnType: TSS_RESULT
    signature: "TSS_RESULT myTspi_Policy_SetSecret(TSS_HPOLICY hPolicy,\n\t\t\t\t\t
      \ UINT32 ulSecretLength,\n\t\t\t\t\t  BYTE *rgbSecret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_Context_Create
      Src: /src/gnutls/lib/tpm.c:385,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:387,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:388,1
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/tpm.c:393,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:394,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:398,1
    - Dst: pTspi_Context_Connect
      Src: /src/gnutls/lib/tpm.c:404,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:406,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:407,1
    - Dst: pTspi_Context_LoadKeyByUUID
      Src: /src/gnutls/lib/tpm.c:411,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:414,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:415,1
    - Dst: pTspi_GetPolicyObject
      Src: /src/gnutls/lib/tpm.c:419,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:421,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:422,1
    - Dst: myTspi_Policy_SetSecret
      Src: /src/gnutls/lib/tpm.c:426,1
    - Dst: SAFE_LEN
      Src: /src/gnutls/lib/tpm.c:426,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:429,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:430,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:433,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:438,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:441,1
    - Dst: pTspi_Context_Close
      Src: /src/gnutls/lib/tpm.c:444,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 3
    argNames:
    - s
    - _srk_password
    - allow_invalid_pass
    argTypes:
    - struct tpm_ctx_st*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 448
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 448
    functionName: tpm_open_session
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pTspi_Context_LoadKeyByUUID
    - strlen
    - pTspi_GetPolicyObject
    - pTspi_Context_CloseObject
    - myTspi_Policy_SetSecret
    - pTspi_Context_Create
    - tss_err
    - _gnutls_utf8_password_normalize
    - SAFE_LEN
    - pTspi_Context_Close
    - pTspi_Context_Connect
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int tpm_open_session(struct tpm_ctx_st *s, const char *_srk_password,\n\t\t\t
      \   unsigned allow_invalid_pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:452,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:454,1
    - Dst: pTspi_Context_Close
      Src: /src/gnutls/lib/tpm.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct tpm_ctx_st*
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: tpm_close_session
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - pTspi_Context_CloseObject
    - pTspi_Context_Close
    linkageType: ''
    returnType: void
    signature: void tpm_close_session(struct tpm_ctx_st *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: import_tpm_key
      Src: /src/gnutls/lib/tpm.c:471,1
    - Dst: tpm_pin
      Src: /src/gnutls/lib/tpm.c:478,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:481,1
    - Dst: tpm_pin
      Src: /src/gnutls/lib/tpm.c:488,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - pkey
    - fdata
    - format
    - uuid
    - storage
    - srk_password
    - key_password
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - TSS_UUID*
    - TSS_FLAG
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 502
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 502
    functionName: import_tpm_key_cb
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - import_tpm_key
    - tpm_pin
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int import_tpm_key_cb(gnutls_privkey_t pkey, const gnutls_datum_t
      *fdata,\n\t\t\t     gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,\n\t\t\t     TSS_FLAG
      storage, const char *srk_password,\n\t\t\t     const char *key_password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/lib/tpm.c:514,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:516,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:517,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/tpm.c:518,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/tpm.c:522,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:525,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:528,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tpm.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:539,1
    - Dst: pTspi_DecodeBER_TssBlob
      Src: /src/gnutls/lib/tpm.c:544,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:547,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:548,1
    - Dst: pTspi_Context_LoadKeyByBlob
      Src: /src/gnutls/lib/tpm.c:556,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:559,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:560,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - tpm_ctx
    - srk
    - fdata
    - format
    - tpm_key
    argTypes:
    - TSS_HCONTEXT
    - TSS_HKEY
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - TSS_HKEY*
    constantsTouched: []
    func_position:
      end: 570
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 570
    functionName: load_key
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_strerror
    - gnutls_free
    - gnutls_pem_base64_decode2
    - gnutls_malloc
    - pTspi_DecodeBER_TssBlob
    - tss_err
    - pTspi_Context_LoadKeyByBlob
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int load_key(TSS_HCONTEXT tpm_ctx, TSS_HKEY srk,\n\t\t    const gnutls_datum_t
      *fdata, gnutls_tpmkey_fmt_t format,\n\t\t    TSS_HKEY *tpm_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tpm.c:583,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:585,1
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/tpm.c:591,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:592,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:594,1
    - Dst: tpm_open_session
      Src: /src/gnutls/lib/tpm.c:602,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:604,1
    - Dst: load_key
      Src: /src/gnutls/lib/tpm.c:609,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:611,1
    - Dst: pTspi_Context_LoadKeyByUUID
      Src: /src/gnutls/lib/tpm.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:619,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:620,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:624,1
    - Dst: pTspi_GetAttribUint32
      Src: /src/gnutls/lib/tpm.c:629,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:633,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:634,1
    - Dst: pTspi_Context_CreateObject
      Src: /src/gnutls/lib/tpm.c:644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:649,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:650,1
    - Dst: pTspi_Policy_AssignToObject
      Src: /src/gnutls/lib/tpm.c:654,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:657,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:658,1
    - Dst: myTspi_Policy_SetSecret
      Src: /src/gnutls/lib/tpm.c:662,1
    - Dst: SAFE_LEN
      Src: /src/gnutls/lib/tpm.c:663,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:667,1
    - Dst: tss_err_key
      Src: /src/gnutls/lib/tpm.c:668,1
    - Dst: gnutls_privkey_import_ext2
      Src: /src/gnutls/lib/tpm.c:673,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:676,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/lib/tpm.c:680,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:683,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:687,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:691,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:694,1
    - Dst: _gnutls_privkey_cleanup
      Src: /src/gnutls/lib/tpm.c:697,1
    - Dst: tpm_close_session
      Src: /src/gnutls/lib/tpm.c:698,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:700,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:701,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 109
    argCount: 7
    argNames:
    - pkey
    - fdata
    - format
    - uuid
    - storage
    - srk_password
    - _key_password
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - TSS_UUID*
    - TSS_FLAG
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 703
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 703
    functionName: import_tpm_key
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - gnutls_malloc
    - _gnutls_utf8_password_normalize
    - load_key
    - tss_err_key
    - pTspi_Context_CreateObject
    - pTspi_Context_CloseObject
    - gnutls_privkey_import_ext2
    - gnutls_privkey_sign_data
    - tss_err
    - strlen
    - myTspi_Policy_SetSecret
    - tpm_open_session
    - _gnutls_privkey_cleanup
    - gnutls_free
    - pTspi_Policy_AssignToObject
    - pTspi_Context_LoadKeyByUUID
    - pTspi_GetAttribUint32
    - tpm_close_session
    - SAFE_LEN
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int import_tpm_key(gnutls_privkey_t pkey, const gnutls_datum_t *fdata,\n\t\t\t
      \ gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,\n\t\t\t  TSS_FLAG storage, const
      char *srk_password,\n\t\t\t  const char *_key_password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: import_tpm_key
      Src: /src/gnutls/lib/tpm.c:734,1
    - Dst: import_tpm_key_cb
      Src: /src/gnutls/lib/tpm.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pkey
    - fdata
    - format
    - srk_password
    - key_password
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 739
      start: 725
    functionDepth: 5
    functionLinenumber: 725
    functionLinenumberEnd: 739
    functionName: gnutls_privkey_import_tpm_raw
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - import_tpm_key_cb
    - import_tpm_key
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,\n\t\t\t\t
      \ const gnutls_datum_t *fdata,\n\t\t\t\t  gnutls_tpmkey_fmt_t format,\n\t\t\t\t
      \ const char *srk_password,\n\t\t\t\t  const char *key_password, unsigned int
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:750,1
    - Dst: memset
      Src: /src/gnutls/lib/tpm.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct tpmkey_url_st*
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: clear_tpmkey_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memset
    linkageType: ''
    returnType: void
    signature: void clear_tpmkey_url(struct tpmkey_url_st *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/tpm.c:762,1
    - Dst: strchr
      Src: /src/gnutls/lib/tpm.c:765,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:769,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tpm.c:771,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:773,1
    - Dst: _gnutls_buffer_unescape
      Src: /src/gnutls/lib/tpm.c:777,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:779,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tpm.c:783,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:785,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tpm.c:789,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:791,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tpm.c:795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - output
    - input
    - size
    - terminator
    argTypes:
    - char*
    - char*
    - size_t*
    - char
    constantsTouched: []
    func_position:
      end: 798
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 798
    functionName: unescape_string
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_unescape
    - strlen
    - _gnutls_buffer_clear
    - strchr
    - _gnutls_buffer_init
    - _gnutls_buffer_pop_data
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int unescape_string(char *output, const char *input, size_t *size,\n\t\t\t
      \  char terminator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/tpm.c:807,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:809,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:817,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:818,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:819,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - TSS_UUID*
    constantsTouched: []
    func_position:
      end: 825
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 825
    functionName: randomize_uuid
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int randomize_uuid(TSS_UUID *uuid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/tpm.c:834,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:836,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:837,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:838,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:841,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/tpm.c:843,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:845,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/tpm.c:849,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:859,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/tpm.c:863,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:867,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/tpm.c:871,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:873,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tpm.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - url
    - uuid
    - storage
    argTypes:
    - char**
    - TSS_UUID*
    - TSS_FLAG
    constantsTouched: []
    func_position:
      end: 883
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 883
    functionName: encode_tpmkey_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_clear
    - _gnutls_buffer_append_printf
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int encode_tpmkey_url(char **url, const TSS_UUID *uuid, TSS_FLAG storage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnutls/lib/tpm.c:892,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:893,1
    - Dst: memset
      Src: /src/gnutls/lib/tpm.c:895,1
    - Dst: strstr
      Src: /src/gnutls/lib/tpm.c:897,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:900,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tpm.c:901,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:903,1
    - Dst: unescape_string
      Src: /src/gnutls/lib/tpm.c:905,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:907,1
    - Dst: strstr
      Src: /src/gnutls/lib/tpm.c:911,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:917,1
    - Dst: c_isalnum
      Src: /src/gnutls/lib/tpm.c:923,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:929,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/lib/tpm.c:931,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:933,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:937,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:938,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:939,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm.c:942,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:945,1
    - Dst: strstr
      Src: /src/gnutls/lib/tpm.c:948,1
    - Dst: clear_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:956,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - url
    - s
    argTypes:
    - char*
    - struct tpmkey_url_st*
    constantsTouched: []
    func_position:
      end: 958
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 958
    functionName: decode_tpmkey_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnutls_hex_decode
    - clear_tpmkey_url
    - gnutls_assert
    - gnutls_malloc
    - strstr
    - memset
    - memcpy
    - unescape_string
    - c_isalnum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int decode_tpmkey_url(const char *url, struct tpmkey_url_st *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:995,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:997,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/tpm.c:1000,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1002,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm.c:1003,1
    - Dst: gnutls_privkey_import_tpm_raw
      Src: /src/gnutls/lib/tpm.c:1007,1
    - Dst: gnutls_privkey_import_tpm_raw
      Src: /src/gnutls/lib/tpm.c:1012,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1017,1
    - Dst: import_tpm_key
      Src: /src/gnutls/lib/tpm.c:1022,1
    - Dst: import_tpm_key_cb
      Src: /src/gnutls/lib/tpm.c:1026,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1030,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1037,1
    - Dst: clear_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1038,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - pkey
    - url
    - srk_password
    - key_password
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1040
      start: 985
    functionDepth: 6
    functionLinenumber: 985
    functionLinenumberEnd: 1040
    functionName: gnutls_privkey_import_tpm_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - gnutls_load_file
    - import_tpm_key
    - gnutls_free
    - gnutls_privkey_import_tpm_raw
    - decode_tpmkey_url
    - import_tpm_key_cb
    - clear_tpmkey_url
    - gnutls_assert
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey, const char
      *url,\n\t\t\t\t  const char *srk_password,\n\t\t\t\t  const char *key_password,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_GetAttribData
      Src: /src/gnutls/lib/tpm.c:1055,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1059,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1060,1
    - Dst: pTspi_GetAttribData
      Src: /src/gnutls/lib/tpm.c:1066,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1070,1
    - Dst: pTspi_Context_FreeMemory
      Src: /src/gnutls/lib/tpm.c:1071,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1072,1
    - Dst: gnutls_pubkey_import_rsa_raw
      Src: /src/gnutls/lib/tpm.c:1078,1
    - Dst: pTspi_Context_FreeMemory
      Src: /src/gnutls/lib/tpm.c:1080,1
    - Dst: pTspi_Context_FreeMemory
      Src: /src/gnutls/lib/tpm.c:1081,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pub
    - key_ctx
    - psize
    argTypes:
    - gnutls_pubkey_t
    - TSS_HKEY
    - size_t*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1090
    functionName: read_pubkey
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - pTspi_GetAttribData
    - pTspi_Context_FreeMemory
    - gnutls_pubkey_import_rsa_raw
    - tss_err
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int read_pubkey(gnutls_pubkey_t pub, TSS_HKEY key_ctx, size_t *psize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm_open_session
      Src: /src/gnutls/lib/tpm.c:1099,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1101,1
    - Dst: load_key
      Src: /src/gnutls/lib/tpm.c:1104,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1106,1
    - Dst: pTspi_Context_LoadKeyByUUID
      Src: /src/gnutls/lib/tpm.c:1110,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1113,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1114,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1118,1
    - Dst: read_pubkey
      Src: /src/gnutls/lib/tpm.c:1123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1125,1
    - Dst: tpm_close_session
      Src: /src/gnutls/lib/tpm.c:1131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - pkey
    - fdata
    - format
    - uuid
    - storage
    - srk_password
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - TSS_UUID*
    - TSS_FLAG
    - char*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1133
    functionName: import_tpm_pubkey
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - pTspi_Context_LoadKeyByUUID
    - tpm_close_session
    - tss_err
    - tpm_open_session
    - gnutls_assert_val
    - load_key
    - read_pubkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int import_tpm_pubkey(gnutls_pubkey_t pkey, const gnutls_datum_t *fdata,\n\t\t\t
      \    gnutls_tpmkey_fmt_t format, TSS_UUID *uuid,\n\t\t\t     TSS_FLAG storage,
      const char *srk_password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: import_tpm_pubkey
      Src: /src/gnutls/lib/tpm.c:1145,1
    - Dst: tpm_pin
      Src: /src/gnutls/lib/tpm.c:1152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1155,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - pkey
    - fdata
    - format
    - uuid
    - storage
    - srk_password
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - TSS_UUID*
    - TSS_FLAG
    - char*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1165
    functionName: import_tpm_pubkey_cb
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - tpm_pin
    - import_tpm_pubkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int import_tpm_pubkey_cb(gnutls_pubkey_t pkey,\n\t\t\t\tconst gnutls_datum_t
      *fdata,\n\t\t\t\tgnutls_tpmkey_fmt_t format, TSS_UUID *uuid,\n\t\t\t\tTSS_FLAG
      storage, const char *srk_password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: import_tpm_pubkey_cb
      Src: /src/gnutls/lib/tpm.c:1194,1
    - Dst: import_tpm_pubkey
      Src: /src/gnutls/lib/tpm.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pkey
    - fdata
    - format
    - srk_password
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1199
      start: 1186
    functionDepth: 4
    functionLinenumber: 1186
    functionLinenumberEnd: 1199
    functionName: gnutls_pubkey_import_tpm_raw
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 0
    functionsReached:
    - import_tpm_pubkey
    - import_tpm_pubkey_cb
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,\n\t\t\t\t const
      gnutls_datum_t *fdata,\n\t\t\t\t gnutls_tpmkey_fmt_t format,\n\t\t\t\t const
      char *srk_password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1232,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1234,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/tpm.c:1237,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1239,1
    - Dst: gnutls_pubkey_import_tpm_raw
      Src: /src/gnutls/lib/tpm.c:1243,1
    - Dst: gnutls_pubkey_import_tpm_raw
      Src: /src/gnutls/lib/tpm.c:1247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1251,1
    - Dst: import_tpm_pubkey
      Src: /src/gnutls/lib/tpm.c:1256,1
    - Dst: import_tpm_pubkey_cb
      Src: /src/gnutls/lib/tpm.c:1259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1262,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1269,1
    - Dst: clear_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - pkey
    - url
    - srk_password
    - flags
    argTypes:
    - gnutls_pubkey_t
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1272
      start: 1223
    functionDepth: 5
    functionLinenumber: 1223
    functionLinenumberEnd: 1272
    functionName: gnutls_pubkey_import_tpm_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 2
    functionsReached:
    - gnutls_load_file
    - gnutls_free
    - import_tpm_pubkey_cb
    - decode_tpmkey_url
    - gnutls_pubkey_import_tpm_raw
    - clear_tpmkey_url
    - gnutls_assert
    - import_tpm_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey, const char
      *url,\n\t\t\t\t const char *srk_password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm_open_session
      Src: /src/gnutls/lib/tpm.c:1359,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1361,1
    - Dst: pTspi_Context_GetTpmObject
      Src: /src/gnutls/lib/tpm.c:1366,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1368,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1369,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/tpm.c:1373,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1375,1
    - Dst: pTspi_TPM_StirRandom
      Src: /src/gnutls/lib/tpm.c:1379,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1381,1
    - Dst: pTspi_Context_CreateObject
      Src: /src/gnutls/lib/tpm.c:1384,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1387,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1388,1
    - Dst: pTspi_SetAttribUint32
      Src: /src/gnutls/lib/tpm.c:1392,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1396,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1397,1
    - Dst: pTspi_GetPolicyObject
      Src: /src/gnutls/lib/tpm.c:1406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1409,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1410,1
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/tpm.c:1414,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:1415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1417,1
    - Dst: myTspi_Policy_SetSecret
      Src: /src/gnutls/lib/tpm.c:1422,1
    - Dst: SAFE_LEN
      Src: /src/gnutls/lib/tpm.c:1422,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1424,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1426,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1427,1
    - Dst: pTspi_Key_CreateKey
      Src: /src/gnutls/lib/tpm.c:1432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1434,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1435,1
    - Dst: randomize_uuid
      Src: /src/gnutls/lib/tpm.c:1442,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1444,1
    - Dst: pTspi_Context_RegisterKey
      Src: /src/gnutls/lib/tpm.c:1448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1453,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1454,1
    - Dst: encode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1458,1
    - Dst: pTspi_Context_UnregisterKey
      Src: /src/gnutls/lib/tpm.c:1463,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1465,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm.c:1468,1
    - Dst: pTspi_GetAttribData
      Src: /src/gnutls/lib/tpm.c:1472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1476,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1477,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/tpm.c:1482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1485,1
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/tpm.c:1489,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1493,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tpm.c:1500,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1502,1
    - Dst: pTspi_EncodeDER_TssBlob
      Src: /src/gnutls/lib/tpm.c:1508,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1512,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1513,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/tpm.c:1529,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1531,1
    - Dst: read_pubkey
      Src: /src/gnutls/lib/tpm.c:1535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1537,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tpm.c:1542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1544,1
    - Dst: gnutls_pubkey_export
      Src: /src/gnutls/lib/tpm.c:1549,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1552,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/tpm.c:1557,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/tpm.c:1564,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1566,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1568,1
    - Dst: pTspi_Context_CloseObject
      Src: /src/gnutls/lib/tpm.c:1570,1
    - Dst: tpm_close_session
      Src: /src/gnutls/lib/tpm.c:1572,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 202
    argCount: 9
    argNames:
    - pk
    - bits
    - srk_password
    - key_password
    - format
    - pub_format
    - privkey
    - pubkey
    - flags
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - char*
    - gnutls_tpmkey_fmt_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1574
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1574
    functionName: gnutls_tpm_privkey_generate
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - pTspi_GetPolicyObject
    - pTspi_EncodeDER_TssBlob
    - gnutls_rnd
    - gnutls_malloc
    - _gnutls_utf8_password_normalize
    - pTspi_Context_CreateObject
    - gnutls_assert_val
    - pTspi_GetAttribData
    - pTspi_Key_CreateKey
    - pTspi_Context_CloseObject
    - tss_err
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - pTspi_SetAttribUint32
    - pTspi_TPM_StirRandom
    - encode_tpmkey_url
    - strlen
    - randomize_uuid
    - gnutls_pubkey_export
    - myTspi_Policy_SetSecret
    - _gnutls_fbase64_encode
    - _gnutls_x509_encode_string
    - tpm_open_session
    - read_pubkey
    - pTspi_Context_RegisterKey
    - gnutls_free
    - pTspi_Context_UnregisterKey
    - pTspi_Context_GetTpmObject
    - tpm_close_session
    - SAFE_LEN
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned
      int bits,\n\t\t\t\tconst char *srk_password,\n\t\t\t\tconst char *key_password,\n\t\t\t\tgnutls_tpmkey_fmt_t
      format,\n\t\t\t\tgnutls_x509_crt_fmt_t pub_format,\n\t\t\t\tgnutls_datum_t *privkey,
      gnutls_datum_t *pubkey,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pTspi_Context_Close
      Src: /src/gnutls/lib/tpm.c:1589,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm.c:1590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - gnutls_tpm_key_list_t
    constantsTouched: []
    func_position:
      end: 1591
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1591
    functionName: gnutls_tpm_key_list_deinit
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - pTspi_Context_Close
    linkageType: ''
    returnType: void
    signature: void gnutls_tpm_key_list_deinit(gnutls_tpm_key_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1616,1
    - Dst: encode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - list
    - idx
    - url
    - flags
    argTypes:
    - gnutls_tpm_key_list_t
    - unsigned int
    - char**
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1620
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1620
    functionName: gnutls_tpm_key_list_get_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - encode_tpmkey_url
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned
      int idx,\n\t\t\t\tchar **url, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/tpm.c:1641,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1643,1
    - Dst: pTspi_Context_Create
      Src: /src/gnutls/lib/tpm.c:1645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1647,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1648,1
    - Dst: pTspi_Context_Connect
      Src: /src/gnutls/lib/tpm.c:1652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1654,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1655,1
    - Dst: pTspi_Context_GetRegisteredKeysByUUID2
      Src: /src/gnutls/lib/tpm.c:1659,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1664,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1665,1
    - Dst: gnutls_tpm_key_list_deinit
      Src: /src/gnutls/lib/tpm.c:1671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - list
    argTypes:
    - gnutls_tpm_key_list_t*
    constantsTouched: []
    func_position:
      end: 1674
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1674
    functionName: gnutls_tpm_get_registered
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - pTspi_Context_GetRegisteredKeysByUUID2
    - gnutls_tpm_key_list_deinit
    - gnutls_assert
    - pTspi_Context_Create
    - tss_err
    - pTspi_Context_Connect
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_tpm_get_registered(gnutls_tpm_key_list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_tpmkey_url
      Src: /src/gnutls/lib/tpm.c:1699,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1701,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1704,1
    - Dst: tpm_open_session
      Src: /src/gnutls/lib/tpm.c:1706,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm.c:1708,1
    - Dst: pTspi_Context_UnregisterKey
      Src: /src/gnutls/lib/tpm.c:1710,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm.c:1713,1
    - Dst: tss_err
      Src: /src/gnutls/lib/tpm.c:1714,1
    - Dst: tpm_close_session
      Src: /src/gnutls/lib/tpm.c:1720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - url
    - srk_password
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1722
      start: 1689
    functionDepth: 3
    functionLinenumber: 1689
    functionLinenumberEnd: 1722
    functionName: gnutls_tpm_privkey_delete
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached:
    - pTspi_Context_UnregisterKey
    - decode_tpmkey_url
    - tpm_close_session
    - tss_err
    - tpm_open_session
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_tpm_privkey_delete(const char *url, const char *srk_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pkey
    - fdata
    - format
    - srk_password
    - key_password
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1731
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1731
    functionName: gnutls_privkey_import_tpm_raw
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_tpm_raw(gnutls_privkey_t pkey,\n\t\t\t\t
      \ const gnutls_datum_t *fdata,\n\t\t\t\t  gnutls_tpmkey_fmt_t format,\n\t\t\t\t
      \ const char *srk_password,\n\t\t\t\t  const char *key_password, unsigned int
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pkey
    - url
    - srk_password
    - key_password
    - flags
    argTypes:
    - gnutls_privkey_t
    - char*
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1738
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1738
    functionName: gnutls_privkey_import_tpm_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_tpm_url(gnutls_privkey_t pkey, const char
      *url,\n\t\t\t\t  const char *srk_password,\n\t\t\t\t  const char *key_password,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pkey
    - fdata
    - format
    - srk_password
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_tpmkey_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1746
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1746
    functionName: gnutls_pubkey_import_tpm_raw
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_tpm_raw(gnutls_pubkey_t pkey,\n\t\t\t\t const
      gnutls_datum_t *fdata,\n\t\t\t\t gnutls_tpmkey_fmt_t format,\n\t\t\t\t const
      char *srk_password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - url
    - srk_password
    - flags
    argTypes:
    - gnutls_pubkey_t
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1752
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1752
    functionName: gnutls_pubkey_import_tpm_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_tpm_url(gnutls_pubkey_t pkey, const char
      *url,\n\t\t\t\t const char *srk_password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pk
    - bits
    - srk_password
    - key_password
    - format
    - pub_format
    - privkey
    - pubkey
    - flags
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - char*
    - gnutls_tpmkey_fmt_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1763
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1763
    functionName: gnutls_tpm_privkey_generate
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_tpm_privkey_generate(gnutls_pk_algorithm_t pk, unsigned
      int bits,\n\t\t\t\tconst char *srk_password,\n\t\t\t\tconst char *key_password,\n\t\t\t\tgnutls_tpmkey_fmt_t
      format,\n\t\t\t\tgnutls_x509_crt_fmt_t pub_format,\n\t\t\t\tgnutls_datum_t *privkey,
      gnutls_datum_t *pubkey,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gnutls_tpm_key_list_t
    constantsTouched: []
    func_position:
      end: 1768
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1768
    functionName: gnutls_tpm_key_list_deinit
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_tpm_key_list_deinit(gnutls_tpm_key_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - list
    - idx
    - url
    - flags
    argTypes:
    - gnutls_tpm_key_list_t
    - unsigned int
    - char**
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1774
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1774
    functionName: gnutls_tpm_key_list_get_url
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_tpm_key_list_get_url(gnutls_tpm_key_list_t list, unsigned
      int idx,\n\t\t\t\tchar **url, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gnutls_tpm_key_list_t*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1779
    functionName: gnutls_tpm_get_registered
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_tpm_get_registered(gnutls_tpm_key_list_t *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - url
    - srk_password
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1784
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1784
    functionName: gnutls_tpm_privkey_delete
    functionSourceFile: /src/gnutls/lib/tpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_tpm_privkey_delete(const char *url, const char *srk_password)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - retr_func
    argTypes:
    - gnutls_session_t
    - gnutls_db_retr_func
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: gnutls_db_set_retrieve_function
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_db_set_retrieve_function(gnutls_session_t session,\n\t\t\t\t
      \    gnutls_db_retr_func retr_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - rem_func
    argTypes:
    - gnutls_session_t
    - gnutls_db_remove_func
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: gnutls_db_set_remove_function
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_db_set_remove_function(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_db_remove_func rem_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - store_func
    argTypes:
    - gnutls_session_t
    - gnutls_db_store_func
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: gnutls_db_set_store_function
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_db_set_store_function(gnutls_session_t session,\n\t\t\t\t
      \ gnutls_db_store_func store_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ptr
    argTypes:
    - gnutls_session_t
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: gnutls_db_set_ptr
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_db_set_ptr(gnutls_session_t session, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: gnutls_db_get_ptr
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gnutls_db_get_ptr(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - seconds
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: gnutls_db_set_cache_expiration
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_db_set_cache_expiration(gnutls_session_t session, int seconds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: gnutls_db_get_default_cache_expiration
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_db_get_default_cache_expiration(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - session_entry
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: gnutls_db_check_entry
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_db_check_entry(gnutls_session_t session,\n\t\t\t  gnutls_datum_t
      session_entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:180,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/db.c:182,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:185,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/db.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: gnutls_db_check_entry_time
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 1
    functionsReached:
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_db_check_entry_time(gnutls_datum_t *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:210,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/db.c:212,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:215,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/db.c:217,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/db.c:218,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/db.c:220,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - entry
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: gnutls_db_check_entry_expire_time
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 4
    functionsReached:
    - _gnutls_read_uint32
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_db_check_entry_expire_time(gnutls_datum_t *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: db_func_is_ok
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int db_func_is_ok(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: db_func_is_ok
      Src: /src/gnutls/lib/db.c:245,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:250,1
    - Dst: gnutls_session_t::internals::db_store_func
      Src: /src/gnutls/lib/db.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - session_id
    - session_data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 259
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 259
    functionName: store_session
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::db_store_func
    - db_func_is_ok
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int store_session(gnutls_session_t session, gnutls_datum_t session_id,\n\t\t\t
      gnutls_datum_t session_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:271,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:276,1
    - Dst: _gnutls_session_pack
      Src: /src/gnutls/lib/db.c:280,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:282,1
    - Dst: store_session
      Src: /src/gnutls/lib/db.c:286,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/db.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 290
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 290
    functionName: _gnutls_server_register_current_session
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached:
    - _gnutls_session_pack
    - _gnutls_free_datum
    - store_session
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_server_register_current_session(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/db.c:294,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:302,1
    - Dst: get_version
      Src: /src/gnutls/lib/db.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:311,1
    - Dst: _gnutls_server_name_matches_resumed
      Src: /src/gnutls/lib/db.c:313,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: _gnutls_check_resumed_params
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached:
    - get_version
    - gnutls_time
    - _gnutls_server_name_matches_resumed
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_resumed_params(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:328,1
    - Dst: memcmp
      Src: /src/gnutls/lib/db.c:337,1
    - Dst: db_func_is_ok
      Src: /src/gnutls/lib/db.c:347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:348,1
    - Dst: gnutls_session_t::internals::db_retrieve_func
      Src: /src/gnutls/lib/db.c:352,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:356,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/lib/db.c:360,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/db.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:364,1
    - Dst: _gnutls_check_resumed_params
      Src: /src/gnutls/lib/db.c:369,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/db.c:371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - session
    - session_id
    - session_id_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 374
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 374
    functionName: _gnutls_server_restore_session
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memcmp
    - db_func_is_ok
    - _gnutls_check_resumed_params
    - gnutls_session_set_data
    - gnutls_assert_val
    - gnutls_session_t::internals::db_retrieve_func
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_restore_session(gnutls_session_t session,\n\t\t\t\t
      \  uint8_t *session_id, int session_id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:397,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:402,1
    - Dst: gnutls_session_t::internals::db_remove_func
      Src: /src/gnutls/lib/db.c:407,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/db.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: gnutls_db_remove_session
    functionSourceFile: /src/gnutls/lib/db.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - gnutls_session_t::internals::db_remove_func
    linkageType: ''
    returnType: void
    signature: void gnutls_db_remove_session(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_export_rsa_raw2
      Src: /src/gnutls/lib/privkey_raw.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: gnutls_privkey_export_rsa_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_export_rsa_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_rsa_raw(gnutls_privkey_t key, gnutls_datum_t
      *m,\n\t\t\t\t  gnutls_datum_t *e, gnutls_datum_t *d,\n\t\t\t\t  gnutls_datum_t
      *p, gnutls_datum_t *q,\n\t\t\t\t  gnutls_datum_t *u, gnutls_datum_t *e1,\n\t\t\t\t
      \ gnutls_datum_t *e2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:96,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey_raw.c:100,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey_raw.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:104,1
    - Dst: _gnutls_params_get_rsa_raw
      Src: /src/gnutls/lib/privkey_raw.c:106,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey_raw.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 10
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: gnutls_privkey_export_rsa_raw2
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 2
    functionsReached:
    - _gnutls_privkey_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_params_get_rsa_raw
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_rsa_raw2(gnutls_privkey_t key, gnutls_datum_t
      *m,\n\t\t\t\t   gnutls_datum_t *e, gnutls_datum_t *d,\n\t\t\t\t   gnutls_datum_t
      *p, gnutls_datum_t *q,\n\t\t\t\t   gnutls_datum_t *u, gnutls_datum_t *e1,\n\t\t\t\t
      \  gnutls_datum_t *e2, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_export_dsa_raw2
      Src: /src/gnutls/lib/privkey_raw.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: gnutls_privkey_export_dsa_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_export_dsa_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_dsa_raw(gnutls_privkey_t key, gnutls_datum_t
      *p,\n\t\t\t\t  gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t\t\t  gnutls_datum_t
      *y, gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:165,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey_raw.c:169,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey_raw.c:171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:173,1
    - Dst: _gnutls_params_get_dsa_raw
      Src: /src/gnutls/lib/privkey_raw.c:175,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey_raw.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - key
    - p
    - q
    - g
    - y
    - x
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: gnutls_privkey_export_dsa_raw2
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 2
    functionsReached:
    - _gnutls_privkey_get_mpis
    - _gnutls_params_get_dsa_raw
    - gnutls_assert
    - gnutls_pk_params_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_dsa_raw2(gnutls_privkey_t key, gnutls_datum_t
      *p,\n\t\t\t\t   gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t\t\t   gnutls_datum_t
      *y, gnutls_datum_t *x,\n\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey_raw.c:210,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey_raw.c:212,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:214,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey_raw.c:216,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey_raw.c:217,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/privkey_raw.c:220,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey_raw.c:224,1
    - Dst: gnutls_privkey_export_dsa_raw2
      Src: /src/gnutls/lib/privkey_raw.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - key
    - params
    - y
    - x
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 229
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 229
    functionName: gnutls_privkey_export_dh_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - _gnutls_privkey_get_mpis
    - _gnutls_mpi_copy
    - gnutls_pk_params_release
    - gnutls_privkey_export_dsa_raw2
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_dh_raw(gnutls_privkey_t key,\n\t\t\t\t gnutls_dh_params_t
      params, gnutls_datum_t *y,\n\t\t\t\t gnutls_datum_t *x, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_export_ecc_raw2
      Src: /src/gnutls/lib/privkey_raw.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - curve
    - x
    - y
    - k
    argTypes:
    - gnutls_privkey_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: gnutls_privkey_export_ecc_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 5
    functionsReached:
    - gnutls_privkey_export_ecc_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_ecc_raw(gnutls_privkey_t key,\n\t\t\t\t
      \ gnutls_ecc_curve_t *curve, gnutls_datum_t *x,\n\t\t\t\t  gnutls_datum_t *y,
      gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:286,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey_raw.c:290,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey_raw.c:292,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:294,1
    - Dst: _gnutls_params_get_ecc_raw
      Src: /src/gnutls/lib/privkey_raw.c:296,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey_raw.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - key
    - curve
    - x
    - y
    - k
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: gnutls_privkey_export_ecc_raw2
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 2
    functionsReached:
    - _gnutls_privkey_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - gnutls_pk_params_init
    - _gnutls_params_get_ecc_raw
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_ecc_raw2(gnutls_privkey_t key,\n\t\t\t\t
      \  gnutls_ecc_curve_t *curve, gnutls_datum_t *x,\n\t\t\t\t   gnutls_datum_t
      *y, gnutls_datum_t *k,\n\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:336,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/privkey_raw.c:340,1
    - Dst: _gnutls_privkey_get_mpis
      Src: /src/gnutls/lib/privkey_raw.c:342,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:344,1
    - Dst: _gnutls_params_get_gost_raw
      Src: /src/gnutls/lib/privkey_raw.c:346,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/privkey_raw.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    - k
    - flags
    argTypes:
    - gnutls_privkey_t
    - gnutls_ecc_curve_t*
    - gnutls_digest_algorithm_t*
    - gnutls_gost_paramset_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 352
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 352
    functionName: gnutls_privkey_export_gost_raw2
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 2
    functionsReached:
    - _gnutls_privkey_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_params_get_gost_raw
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_export_gost_raw2(gnutls_privkey_t key,\n\t\t\t\t
      \   gnutls_ecc_curve_t *curve,\n\t\t\t\t    gnutls_digest_algorithm_t *digest,\n\t\t\t\t
      \   gnutls_gost_paramset_t *paramset,\n\t\t\t\t    gnutls_datum_t *x, gnutls_datum_t
      *y,\n\t\t\t\t    gnutls_datum_t *k, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey_raw.c:382,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:384,1
    - Dst: gnutls_x509_privkey_import_rsa_raw2
      Src: /src/gnutls/lib/privkey_raw.c:386,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:389,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey_raw.c:393,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:396,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey_raw.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 9
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 405
    functionName: gnutls_privkey_import_rsa_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import_rsa_raw2
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_rsa_raw(\n\tgnutls_privkey_t key, const
      gnutls_datum_t *m, const gnutls_datum_t *e,\n\tconst gnutls_datum_t *d, const
      gnutls_datum_t *p,\n\tconst gnutls_datum_t *q, const gnutls_datum_t *u,\n\tconst
      gnutls_datum_t *e1, const gnutls_datum_t *e2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey_raw.c:432,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:434,1
    - Dst: gnutls_x509_privkey_import_dsa_raw
      Src: /src/gnutls/lib/privkey_raw.c:436,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:438,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey_raw.c:442,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:445,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey_raw.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - key
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 454
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 454
    functionName: gnutls_privkey_import_dsa_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_privkey_import_dsa_raw
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_dsa_raw(gnutls_privkey_t key, const gnutls_datum_t
      *p,\n\t\t\t\t  const gnutls_datum_t *q,\n\t\t\t\t  const gnutls_datum_t *g,\n\t\t\t\t
      \ const gnutls_datum_t *y,\n\t\t\t\t  const gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey_raw.c:480,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:482,1
    - Dst: gnutls_x509_privkey_import_dh_raw
      Src: /src/gnutls/lib/privkey_raw.c:484,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:486,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey_raw.c:490,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:493,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey_raw.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - key
    - params
    - y
    - x
    argTypes:
    - gnutls_privkey_t
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 502
    functionName: gnutls_privkey_import_dh_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_privkey_import_dh_raw
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_dh_raw(gnutls_privkey_t key,\n\t\t\t\t const
      gnutls_dh_params_t params,\n\t\t\t\t const gnutls_datum_t *y,\n\t\t\t\t const
      gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey_raw.c:533,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:535,1
    - Dst: gnutls_x509_privkey_import_ecc_raw
      Src: /src/gnutls/lib/privkey_raw.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:539,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey_raw.c:543,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:546,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey_raw.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - key
    - curve
    - x
    - y
    - k
    argTypes:
    - gnutls_privkey_t
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 555
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 555
    functionName: gnutls_privkey_import_ecc_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    - gnutls_x509_privkey_import_ecc_raw
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_ecc_raw(gnutls_privkey_t key,\n\t\t\t\t
      \ gnutls_ecc_curve_t curve,\n\t\t\t\t  const gnutls_datum_t *x,\n\t\t\t\t  const
      gnutls_datum_t *y,\n\t\t\t\t  const gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/privkey_raw.c:593,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/privkey_raw.c:595,1
    - Dst: gnutls_x509_privkey_import_gost_raw
      Src: /src/gnutls/lib/privkey_raw.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:600,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/privkey_raw.c:604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/privkey_raw.c:607,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/privkey_raw.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    - k
    argTypes:
    - gnutls_privkey_t
    - gnutls_ecc_curve_t
    - gnutls_digest_algorithm_t
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 616
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 616
    functionName: gnutls_privkey_import_gost_raw
    functionSourceFile: /src/gnutls/lib/privkey_raw.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_import_gost_raw
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_privkey_import_gost_raw(gnutls_privkey_t key,\n\t\t\t\t
      \  gnutls_ecc_curve_t curve,\n\t\t\t\t   gnutls_digest_algorithm_t digest,\n\t\t\t\t
      \  gnutls_gost_paramset_t paramset,\n\t\t\t\t   const gnutls_datum_t *x,\n\t\t\t\t
      \  const gnutls_datum_t *y,\n\t\t\t\t   const gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/pathbuf.c:38,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:39,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/pathbuf.c:44,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:45,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/pathbuf.c:54,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:56,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/pathbuf.c:61,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - buffer
    - to_add
    argTypes:
    - struct gnutls_pathbuf_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 70
    functionName: pathbuf_reserve
    functionSourceFile: /src/gnutls/lib/pathbuf.c
    functionUses: 0
    functionsReached:
    - gnutls_realloc
    - gnutls_strdup
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: int pathbuf_reserve(struct gnutls_pathbuf_st *buffer, size_t to_add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pathbuf.c:77,1
    - Dst: strlen
      Src: /src/gnutls/lib/pathbuf.c:81,1
    - Dst: pathbuf_reserve
      Src: /src/gnutls/lib/pathbuf.c:83,1
    - Dst: strcpy
      Src: /src/gnutls/lib/pathbuf.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - base
    argTypes:
    - struct gnutls_pathbuf_st*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: _gnutls_pathbuf_init
    functionSourceFile: /src/gnutls/lib/pathbuf.c
    functionUses: 1
    functionsReached:
    - strcpy
    - pathbuf_reserve
    - strlen
    - memset
    linkageType: ''
    returnType: int
    signature: int _gnutls_pathbuf_init(struct gnutls_pathbuf_st *buffer, const char
      *base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/pathbuf.c:101,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/pathbuf.c:104,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:105,1
    - Dst: pathbuf_reserve
      Src: /src/gnutls/lib/pathbuf.c:109,1
    - Dst: stpcpy
      Src: /src/gnutls/lib/pathbuf.c:114,1
    - Dst: strcpy
      Src: /src/gnutls/lib/pathbuf.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - component
    argTypes:
    - struct gnutls_pathbuf_st*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: _gnutls_pathbuf_append
    functionSourceFile: /src/gnutls/lib/pathbuf.c
    functionUses: 1
    functionsReached:
    - strlen
    - strcpy
    - pathbuf_reserve
    - stpcpy
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pathbuf_append(struct gnutls_pathbuf_st *buffer,\n\t\t\t
      \  const char *component)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pathbuf.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - struct gnutls_pathbuf_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: _gnutls_pathbuf_truncate
    functionSourceFile: /src/gnutls/lib/pathbuf.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_pathbuf_truncate(struct gnutls_pathbuf_st *buffer, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pathbuf.c:138,1
    - Dst: memset
      Src: /src/gnutls/lib/pathbuf.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct gnutls_pathbuf_st*
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: _gnutls_pathbuf_deinit
    functionSourceFile: /src/gnutls/lib/pathbuf.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - memset
    linkageType: ''
    returnType: void
    signature: void _gnutls_pathbuf_deinit(struct gnutls_pathbuf_st *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:64,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:65,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509_b64.c:69,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509_b64.c:70,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509_b64.c:71,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509_b64.c:73,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509_b64.c:74,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509_b64.c:75,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:77,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:78,1
    - Dst: B64FSIZE
      Src: /src/gnutls/lib/x509_b64.c:81,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509_b64.c:83,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:85,1
    - Dst: INCR
      Src: /src/gnutls/lib/x509_b64.c:90,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509_b64.c:93,1
    - Dst: BASE64_ENCODE_RAW_LENGTH
      Src: /src/gnutls/lib/x509_b64.c:101,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:103,1
    - Dst: base64_encode_raw
      Src: /src/gnutls/lib/x509_b64.c:106,1
    - Dst: INCR
      Src: /src/gnutls/lib/x509_b64.c:108,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509_b64.c:111,1
    - Dst: INCR
      Src: /src/gnutls/lib/x509_b64.c:122,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509_b64.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 4
    argNames:
    - msg
    - data
    - data_size
    - result
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 129
    functionName: _gnutls_fbase64_encode
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 1
    functionsReached:
    - strlen
    - INCR
    - base64_encode_raw
    - B64FSIZE
    - gnutls_malloc
    - BASE64_ENCODE_RAW_LENGTH
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_fbase64_encode(const char *msg, const uint8_t *data,\n\t\t\t
      \  size_t data_size, gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/x509_b64.c:154,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:159,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509_b64.c:163,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - msg
    - data
    - result
    - result_size
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: gnutls_pem_base64_encode
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_free
    - _gnutls_fbase64_encode
    linkageType: ''
    returnType: int
    signature: "int gnutls_pem_base64_encode(const char *msg, const gnutls_datum_t
      *data,\n\t\t\t     char *result, size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:199,1
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/x509_b64.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - header
    - data
    - result
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: gnutls_pem_base64_encode2
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_fbase64_encode
    linkageType: ''
    returnType: int
    signature: "int gnutls_pem_base64_encode2(const char *header, const gnutls_datum_t
      *data,\n\t\t\t      gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509_b64.c:219,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:237,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - data
    - data_size
    - result
    argTypes:
    - uint8_t*
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: cpydata
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int cpydata(const uint8_t *data, int data_size,\n\t\t\t  gnutls_datum_t
      *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509_b64.c:259,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:261,1
    - Dst: cpydata
      Src: /src/gnutls/lib/x509_b64.c:266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:268,1
    - Dst: base64_decode_init
      Src: /src/gnutls/lib/x509_b64.c:272,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/gnutls/lib/x509_b64.c:274,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:276,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509_b64.c:280,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:282,1
    - Dst: base64_decode_update
      Src: /src/gnutls/lib/x509_b64.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:289,1
    - Dst: base64_decode_final
      Src: /src/gnutls/lib/x509_b64.c:294,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:296,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:306,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:309,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - data
    - data_size
    - result
    argTypes:
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 311
    functionName: _gnutls_base64_decode
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 0
    functionsReached:
    - cpydata
    - gnutls_free
    - base64_decode_init
    - gnutls_assert
    - gnutls_malloc
    - gnutls_strdup
    - base64_decode_update
    - BASE64_DECODE_LENGTH
    - base64_decode_final
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_base64_decode(const uint8_t *data, size_t data_size,\n\t\t\t
      \ gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509_b64.c:330,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509_b64.c:332,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509_b64.c:334,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:334,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:336,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509_b64.c:337,1
    - Dst: MEMSUB
      Src: /src/gnutls/lib/x509_b64.c:341,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:344,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509_b64.c:348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:352,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509_b64.c:353,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:356,1
    - Dst: MEMSUB
      Src: /src/gnutls/lib/x509_b64.c:357,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:359,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509_b64.c:363,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509_b64.c:363,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:365,1
    - Dst: MEMSUB
      Src: /src/gnutls/lib/x509_b64.c:371,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:374,1
    - Dst: _gnutls_base64_decode
      Src: /src/gnutls/lib/x509_b64.c:378,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509_b64.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - header
    - data
    - data_size
    - result
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 384
    functionName: _gnutls_fbase64_decode
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 0
    functionsReached:
    - memmem
    - strlen
    - _gnutls_base64_decode
    - MEMSUB
    - _gnutls_hard_log
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_fbase64_decode(const char *header, const uint8_t *data,\n\t\t\t
      \  size_t data_size, gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509_b64.c:408,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:411,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:414,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509_b64.c:418,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509_b64.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - header
    - b64_data
    - result
    - result_size
    argTypes:
    - char*
    - gnutls_datum_t*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: gnutls_pem_base64_decode
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gnutls_fbase64_decode
    - gnutls_assert_val
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int gnutls_pem_base64_decode(const char *header, const gnutls_datum_t
      *b64_data,\n\t\t\t     unsigned char *result, size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:456,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509_b64.c:458,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - header
    - b64_data
    - result
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: gnutls_pem_base64_decode2
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 12
    functionsReached:
    - _gnutls_fbase64_decode
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pem_base64_decode2(const char *header,\n\t\t\t      const
      gnutls_datum_t *b64_data,\n\t\t\t      gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_base64_decode
      Src: /src/gnutls/lib/x509_b64.c:485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - base64
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: gnutls_base64_decode2
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_base64_decode
    linkageType: ''
    returnType: int
    signature: int gnutls_base64_decode2(const gnutls_datum_t *base64, gnutls_datum_t
      *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:514,1
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/x509_b64.c:516,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509_b64.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: gnutls_base64_encode2
    functionSourceFile: /src/gnutls/lib/x509_b64.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_fbase64_encode
    linkageType: ''
    returnType: int
    signature: int gnutls_base64_encode2(const gnutls_datum_t *data, gnutls_datum_t
      *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/mpi.c:49,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:54,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:56,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/mpi.c:62,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:64,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/mpi.c:68,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:70,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/mpi.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:76,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/mpi.c:80,1
    - Dst: _gnutls_mpi_add_ui
      Src: /src/gnutls/lib/mpi.c:81,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:83,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:89,1
    - Dst: _gnutls_mpi_set
      Src: /src/gnutls/lib/mpi.c:93,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/mpi.c:97,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - r
    - p
    - level
    argTypes:
    - bigint_t
    - bigint_t
    - gnutls_rnd_level_t
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: _gnutls_mpi_random_modp
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_get_nbits
    - _gnutls_mpi_modm
    - _gnutls_mpi_set
    - gnutls_malloc
    - gnutls_rnd
    - _gnutls_mpi_cmp_ui
    - _gnutls_mpi_add_ui
    - _gnutls_mpi_release
    - _gnutls_mpi_init_scan
    - gnutls_assert
    linkageType: ''
    returnType: bigint_t
    signature: "bigint_t _gnutls_mpi_random_modp(bigint_t r, bigint_t p,\n\t\t\t\t
      gnutls_rnd_level_t level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/mpi.c:116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/mpi.c:118,1
    - Dst: _gnutls_mpi_scan
      Src: /src/gnutls/lib/mpi.c:120,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:122,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/mpi.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ret_mpi
    - buffer
    - nbytes
    argTypes:
    - bigint_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: _gnutls_mpi_init_scan
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_mpi_init
    - _gnutls_mpi_scan
    - _gnutls_mpi_release
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_init_scan(bigint_t *ret_mpi, const void *buffer, size_t
      nbytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/mpi.c:139,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/mpi.c:145,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/mpi.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ret_mpi
    - buffer
    - nbytes
    argTypes:
    - bigint_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: _gnutls_mpi_init_scan_nz
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_cmp_ui
    - _gnutls_mpi_release
    - _gnutls_mpi_init_scan
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mpi_init_scan_nz(bigint_t *ret_mpi, const void *buffer,\n\t\t\t
      \    size_t nbytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/mpi.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/mpi.c:161,1
    - Dst: _gnutls_mpi_scan_le
      Src: /src/gnutls/lib/mpi.c:163,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:165,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/mpi.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ret_mpi
    - buffer
    - nbytes
    argTypes:
    - bigint_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: _gnutls_mpi_init_scan_le
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_release
    - _gnutls_mpi_init
    - _gnutls_mpi_scan_le
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mpi_init_scan_le(bigint_t *ret_mpi, const void *buffer,\n\t\t\t
      \    size_t nbytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/mpi.c:184,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:186,1
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/mpi.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - dest
    argTypes:
    - bigint_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: _gnutls_mpi_dprint_le
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_print_le
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_dprint_le(const bigint_t a, gnutls_datum_t *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/mpi.c:211,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:214,1
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/mpi.c:218,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - dest
    argTypes:
    - bigint_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: _gnutls_mpi_dprint_lz
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_print_lz
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_dprint_lz(const bigint_t a, gnutls_datum_t *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:238,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:240,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:244,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - a
    - dest
    argTypes:
    - bigint_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 253
    functionName: _gnutls_mpi_dprint
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_print
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:269,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:271,1
    - Dst: MAX
      Src: /src/gnutls/lib/mpi.c:271,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:279,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:281,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:285,1
    - Dst: MAX
      Src: /src/gnutls/lib/mpi.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - a
    - dest
    - size
    argTypes:
    - bigint_t
    - gnutls_datum_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: _gnutls_mpi_dprint_size
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - MAX
    - _gnutls_mpi_print
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_dprint_size(const bigint_t a, gnutls_datum_t *dest,
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:300,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/mpi.c:302,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:310,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - a
    - buf
    - size
    argTypes:
    - bigint_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 316
    functionName: _gnutls_mpi_bprint_size
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_mpi_print
    linkageType: ''
    returnType: int
    signature: int _gnutls_mpi_bprint_size(const bigint_t a, uint8_t *buf, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/mpi.c:335,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:337,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/mpi.c:338,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:343,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/mpi.c:347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:349,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:350,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/mpi.c:351,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/mpi.c:355,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/mpi.c:357,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/mpi.c:360,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - node
    - value
    - ret_mpi
    - flags
    argTypes:
    - asn1_node
    - char*
    - bigint_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 369
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 369
    functionName: __gnutls_x509_read_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_mpi_init_scan_le
    - asn1_read_value
    - gnutls_malloc
    - zeroize_key
    - _gnutls_mpi_init_scan
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int __gnutls_x509_read_int(asn1_node node, const char *value,\n\t\t\t\t
      \ bigint_t *ret_mpi, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_read_int
      Src: /src/gnutls/lib/mpi.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - value
    - ret_mpi
    argTypes:
    - asn1_node
    - char*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: _gnutls_x509_read_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 1
    functionsReached:
    - __gnutls_x509_read_int
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_int(asn1_node node, const char *value, bigint_t
      *ret_mpi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_read_int
      Src: /src/gnutls/lib/mpi.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - value
    - ret_mpi
    argTypes:
    - asn1_node
    - char*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: _gnutls_x509_read_key_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - __gnutls_x509_read_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_key_int(asn1_node node, const char *value,\n\t\t\t
      \     bigint_t *ret_mpi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_read_int
      Src: /src/gnutls/lib/mpi.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - value
    - ret_mpi
    argTypes:
    - asn1_node
    - char*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: _gnutls_x509_read_key_int_le
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - __gnutls_x509_read_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_key_int_le(asn1_node node, const char *value,\n\t\t\t\t
      bigint_t *ret_mpi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/mpi.c:402,1
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/mpi.c:404,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:409,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mpi.c:413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:415,1
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/mpi.c:420,1
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/mpi.c:422,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/mpi.c:424,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:427,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:428,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/mpi.c:432,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/mpi.c:435,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mpi.c:437,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mpi.c:440,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/mpi.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - node
    - value
    - mpi
    - flags
    argTypes:
    - asn1_node
    - char*
    - bigint_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 445
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 445
    functionName: __gnutls_x509_write_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_mpi_print
    - asn1_write_value
    - gnutls_malloc
    - zeroize_key
    - _gnutls_mpi_print_le
    - _gnutls_mpi_print_lz
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int __gnutls_x509_write_int(asn1_node node, const char *value,\n\t\t\t\t
      \  bigint_t mpi, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_write_int
      Src: /src/gnutls/lib/mpi.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - node
    - value
    - mpi
    - lz
    argTypes:
    - asn1_node
    - char*
    - bigint_t
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: _gnutls_x509_write_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 1
    functionsReached:
    - __gnutls_x509_write_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_int(asn1_node node, const char *value, bigint_t
      mpi,\n\t\t\t   int lz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_write_int
      Src: /src/gnutls/lib/mpi.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - node
    - value
    - mpi
    - lz
    argTypes:
    - asn1_node
    - char*
    - bigint_t
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: _gnutls_x509_write_key_int
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - __gnutls_x509_write_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_key_int(asn1_node node, const char *value,
      bigint_t mpi,\n\t\t\t       int lz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gnutls_x509_write_int
      Src: /src/gnutls/lib/mpi.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - value
    - mpi
    argTypes:
    - asn1_node
    - char*
    - bigint_t
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: _gnutls_x509_write_key_int_le
    functionSourceFile: /src/gnutls/lib/mpi.c
    functionUses: 0
    functionsReached:
    - __gnutls_x509_write_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_key_int_le(asn1_node node, const char *value,\n\t\t\t\t
      \ bigint_t mpi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/lib/session.c:53,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:55,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session.c:67,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - session
    - session_data
    - session_data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: gnutls_session_get_data
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_session_get_data2
    - _gnutls_free_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_get_data(gnutls_session_t session, void *session_data,\n\t\t\t
      \   size_t *session_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/session.c:121,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session.c:125,1
    - Dst: NO_TIMEOUT_FUNC_SET
      Src: /src/gnutls/lib/session.c:137,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/session.c:140,1
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/session.c:144,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/lib/session.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session.c:148,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/session.c:153,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session.c:156,1
    - Dst: gnutls_session_is_resumed
      Src: /src/gnutls/lib/session.c:163,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/session.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session.c:169,1
    - Dst: _gnutls_session_pack
      Src: /src/gnutls/lib/session.c:178,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:180,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 185
    functionName: gnutls_session_get_data2
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 21
    functionsReached:
    - gnutls_session_is_resumed
    - _gnutls_session_pack
    - gnutls_assert
    - NO_TIMEOUT_FUNC_SET
    - gnutls_error_is_fatal
    - get_version
    - _gnutls_debug_log
    - _gnutls_set_datum
    - _gnutls_recv_in_buffers
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_session_get_data2(gnutls_session_t session, gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/session.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - session_id
    - session_id_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: gnutls_session_get_id
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 5
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_get_id(gnutls_session_t session, void *session_id,\n\t\t\t
      \ size_t *session_id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - session_id
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: gnutls_session_get_id2
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_session_get_id2(gnutls_session_t session, gnutls_datum_t
      *session_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:301,1
    - Dst: memcmp
      Src: /src/gnutls/lib/session.c:308,1
    - Dst: _gnutls_session_unpack
      Src: /src/gnutls/lib/session.c:312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:314,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session.c:321,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/session.c:322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - session
    - session_data
    - session_data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 330
    functionName: gnutls_session_set_data
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 23
    functionsReached:
    - gnutls_free
    - memcmp
    - _gnutls_session_unpack
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_set_data(gnutls_session_t session, const void *session_data,\n\t\t\t
      \   size_t session_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: gnutls_session_force_valid
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_session_force_valid(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_group
      Src: /src/gnutls/lib/session.c:377,1
    - Dst: get_version
      Src: /src/gnutls/lib/session.c:378,1
    - Dst: _gnutls_kx_is_dhe
      Src: /src/gnutls/lib/session.c:387,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/lib/session.c:388,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:390,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:393,1
    - Dst: gnutls_sign_algorithm_get
      Src: /src/gnutls/lib/session.c:402,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/session.c:403,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:409,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:412,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:415,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:419,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:423,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/lib/session.c:427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session.c:429,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:437,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:441,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:448,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:451,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:455,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:457,1
    - Dst: are_alternative_cert_types_allowed
      Src: /src/gnutls/lib/session.c:461,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/session.c:464,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/session.c:466,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:470,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/session.c:472,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/session.c:473,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/session.c:474,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:477,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/session.c:479,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/session.c:480,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/session.c:481,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/session.c:482,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:485,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/session.c:486,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/session.c:486,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/session.c:489,1
    - Dst: gnutls_mac_get
      Src: /src/gnutls/lib/session.c:493,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:495,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/session.c:496,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/lib/session.c:496,1
    - Dst: snprintf
      Src: /src/gnutls/lib/session.c:498,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/session.c:500,1
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/lib/session.c:500,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/session.c:501,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 505
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 505
    functionName: gnutls_session_get_desc
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 15
    functionsReached:
    - snprintf
    - gnutls_sign_get_name
    - gnutls_mac_get
    - gnutls_malloc
    - get_num_version
    - gnutls_dh_get_prime_bits
    - gnutls_sign_algorithm_get
    - get_version
    - get_group
    - gnutls_cipher_get_name
    - are_alternative_cert_types_allowed
    - gnutls_kx_get_name
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    - gnutls_cipher_get
    - gnutls_certificate_type_get_name
    - get_certificate_type
    - _gnutls_kx_is_dhe
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: char *gnutls_session_get_desc(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session.c:527,1
    - Dst: memset
      Src: /src/gnutls/lib/session.c:529,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - session
    - sid
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: gnutls_session_set_id
    functionSourceFile: /src/gnutls/lib/session.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - memset
    linkageType: ''
    returnType: int
    signature: int gnutls_session_set_id(gnutls_session_t session, const gnutls_datum_t
      *sid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fn
    - userdata
    argTypes:
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gnutls_pkcs11_set_pin_function
    functionSourceFile: /src/gnutls/lib/pin.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs11_set_pin_function(gnutls_pin_callback_t fn, void
      *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: gnutls_pkcs11_get_pin_function
    functionSourceFile: /src/gnutls/lib/pin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pin_callback_t
    signature: gnutls_pin_callback_t gnutls_pkcs11_get_pin_function(void **userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct pin_info_st*::cb
      Src: /src/gnutls/lib/pin.c:73,1
    - Dst: _gnutls_pin_func
      Src: /src/gnutls/lib/pin.c:76,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pin.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - pin_info
    - url
    - label
    - flags
    - pin
    - pin_size
    argTypes:
    - struct pin_info_st*
    - char*
    - char*
    - unsigned
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: _gnutls_retrieve_pin
    functionSourceFile: /src/gnutls/lib/pin.c
    functionUses: 1
    functionsReached:
    - struct pin_info_st*::cb
    - _gnutls_pin_func
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_retrieve_pin(struct pin_info_st *pin_info, const char
      *url,\n\t\t\t const char *label, unsigned flags, char *pin,\n\t\t\t unsigned
      pin_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/sslv2_compat.c:54,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:58,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/sslv2_compat.c:62,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:64,1
    - Dst: memcpy
      Src: /src/gnutls/lib/sslv2_compat.c:71,1
    - Dst: _gnutls_server_select_suite
      Src: /src/gnutls/lib/sslv2_compat.c:77,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/sslv2_compat.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - session
    - data
    - datalen
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: _gnutls_handshake_select_v2_suite
    functionSourceFile: /src/gnutls/lib/sslv2_compat.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_handshake_log
    - gnutls_malloc
    - memcpy
    - gnutls_assert
    - _gnutls_server_select_suite
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_select_v2_suite(gnutls_session_t session,\n\t\t\t\t\t
      \    uint8_t *data,\n\t\t\t\t\t     unsigned int datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:99,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/sslv2_compat.c:101,1
    - Dst: set_adv_version
      Src: /src/gnutls/lib/sslv2_compat.c:107,1
    - Dst: _gnutls_negotiate_version
      Src: /src/gnutls/lib/sslv2_compat.c:109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:111,1
    - Dst: get_version
      Src: /src/gnutls/lib/sslv2_compat.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/sslv2_compat.c:117,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:124,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/sslv2_compat.c:125,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:129,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/sslv2_compat.c:130,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:134,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:139,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/sslv2_compat.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:144,1
    - Dst: _gnutls_user_hello_func
      Src: /src/gnutls/lib/sslv2_compat.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:155,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:162,1
    - Dst: _gnutls_handshake_select_v2_suite
      Src: /src/gnutls/lib/sslv2_compat.c:163,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:168,1
    - Dst: _gnutls_get_kx_cred
      Src: /src/gnutls/lib/sslv2_compat.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:177,1
    - Dst: _gnutls_kx_auth_struct
      Src: /src/gnutls/lib/sslv2_compat.c:185,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/sslv2_compat.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/sslv2_compat.c:192,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:197,1
    - Dst: memcpy
      Src: /src/gnutls/lib/sslv2_compat.c:198,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:201,1
    - Dst: memset
      Src: /src/gnutls/lib/sslv2_compat.c:202,1
    - Dst: memcpy
      Src: /src/gnutls/lib/sslv2_compat.c:204,1
    - Dst: _gnutls_set_client_random
      Src: /src/gnutls/lib/sslv2_compat.c:206,1
    - Dst: _gnutls_gen_server_random
      Src: /src/gnutls/lib/sslv2_compat.c:209,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/sslv2_compat.c:211,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/sslv2_compat.c:213,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/sslv2_compat.c:217,1
    - Dst: _gnutls_server_restore_session
      Src: /src/gnutls/lib/sslv2_compat.c:218,1
    - Dst: memcpy
      Src: /src/gnutls/lib/sslv2_compat.c:223,1
    - Dst: memcpy
      Src: /src/gnutls/lib/sslv2_compat.c:227,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/sslv2_compat.c:235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/sslv2_compat.c:239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 84
    argCount: 3
    argNames:
    - session
    - data
    - len
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 245
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 245
    functionName: _gnutls_read_client_hello_v2
    functionSourceFile: /src/gnutls/lib/sslv2_compat.c
    functionUses: 0
    functionsReached:
    - _gnutls_generate_session_id
    - DECR_LEN
    - _gnutls_server_restore_session
    - _gnutls_handshake_select_v2_suite
    - _gnutls_gen_server_random
    - gnutls_assert_val
    - _gnutls_handshake_log
    - _gnutls_user_hello_func
    - _gnutls_negotiate_version
    - memset
    - get_version
    - _gnutls_get_kx_cred
    - gnutls_time
    - _gnutls_read_uint16
    - _gnutls_set_client_random
    - memcpy
    - _gnutls_kx_auth_struct
    - set_adv_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_read_client_hello_v2(gnutls_session_t session, uint8_t
      *data,\n\t\t\t\t unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - gnutls_str_array_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: _gnutls_str_array_init
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_str_array_init(gnutls_str_array_t *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str_array.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - head
    argTypes:
    - gnutls_str_array_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: _gnutls_str_array_clear
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_str_array_clear(gnutls_str_array_t *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/str_array.h:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - head
    - str
    argTypes:
    - gnutls_str_array_t
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: _gnutls_str_array_match
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int _gnutls_str_array_match(gnutls_str_array_t head,\n\t\t\t\t\t  const
      char *str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/str_array.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - array
    - str
    - len
    argTypes:
    - gnutls_str_array_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: append
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 31
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void append(gnutls_str_array_t array, const char *str, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str_array.h:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str_array.h:87,1
    - Dst: append
      Src: /src/gnutls/lib/str_array.h:90,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str_array.h:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str_array.h:104,1
    - Dst: append
      Src: /src/gnutls/lib/str_array.h:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - head
    - str
    - len
    argTypes:
    - gnutls_str_array_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: _gnutls_str_array_append
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 0
    functionsReached:
    - append
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int _gnutls_str_array_append(gnutls_str_array_t *head,\n\t\t\t\t\t
      \  const char *str, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/str_array.h:119,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/str_array.h:121,1
    - Dst: _gnutls_str_array_append
      Src: /src/gnutls/lib/str_array.h:124,1
    - Dst: _gnutls_str_array_append
      Src: /src/gnutls/lib/str_array.h:127,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str_array.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - head
    - name
    - size
    argTypes:
    - gnutls_str_array_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: _gnutls_str_array_append_idna
    functionSourceFile: /src/gnutls/lib/str_array.h
    functionUses: 0
    functionsReached:
    - _gnutls_str_array_append
    - _gnutls_debug_log
    - gnutls_free
    - gnutls_idna_map
    linkageType: ''
    returnType: int
    signature: "int _gnutls_str_array_append_idna(gnutls_str_array_t *head,\n\t\t\t\t\t\tconst
      char *name, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit
      Src: /src/gnutls/lib/random.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: free_ctx
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 1
    functionsReached:
    - deinit
    linkageType: ''
    returnType: void
    signature: void free_ctx(const void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/random.c:64,1
    - Dst: gl_list_remove
      Src: /src/gnutls/lib/random.c:65,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/random.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: delete_ctx
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 0
    functionsReached:
    - gnutls_static_mutex_unlock
    - gl_list_remove
    - gnutls_static_mutex_lock
    linkageType: ''
    returnType: void
    signature: void delete_ctx(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/random.c:75,1
    - Dst: init
      Src: /src/gnutls/lib/random.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:84,1
    - Dst: glthread_tls_set
      Src: /src/gnutls/lib/random.c:86,1
    - Dst: deinit
      Src: /src/gnutls/lib/random.c:87,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:88,1
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/random.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:93,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnutls/lib/random.c:94,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/random.c:95,1
    - Dst: deinit
      Src: /src/gnutls/lib/random.c:97,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 103
    functionName: _gnutls_rnd_init
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 0
    functionsReached:
    - likely
    - init
    - deinit
    - gnutls_static_mutex_lock
    - glthread_tls_set
    - gl_list_nx_add_last
    - gnutls_static_mutex_unlock
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_rnd_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_crypto_rnd_register
      Src: /src/gnutls/lib/random.c:111,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/random.c:119,1
    - Dst: gnutls_crypto_rnd_register
      Src: /src/gnutls/lib/random.c:120,1
    - Dst: _rnd_system_entropy_init
      Src: /src/gnutls/lib/random.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:128,1
    - Dst: glthread_tls_key_init
      Src: /src/gnutls/lib/random.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:132,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnutls/lib/random.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 140
    functionName: _gnutls_rnd_preinit
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 0
    functionsReached:
    - gnutls_crypto_rnd_register
    - glthread_tls_key_init
    - gl_list_nx_create_empty
    - _gnutls_fips_mode_enabled
    - _rnd_system_entropy_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_rnd_preinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_free
      Src: /src/gnutls/lib/random.c:144,1
    - Dst: glthread_tls_key_destroy
      Src: /src/gnutls/lib/random.c:145,1
    - Dst: _rnd_system_entropy_deinit
      Src: /src/gnutls/lib/random.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: _gnutls_rnd_deinit
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 0
    functionsReached:
    - gl_list_free
    - glthread_tls_key_destroy
    - _rnd_system_entropy_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_rnd_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_rnd_init
      Src: /src/gnutls/lib/random.c:172,1
    - Dst: unlikely
      Src: /src/gnutls/lib/random.c:173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/random.c:174,1
    - Dst: likely
      Src: /src/gnutls/lib/random.c:176,1
    - Dst: rnd
      Src: /src/gnutls/lib/random.c:177,1
    - Dst: gl_tls_get
      Src: /src/gnutls/lib/random.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 30
    functionsReached:
    - likely
    - rnd
    - _gnutls_rnd_init
    - unlikely
    - gl_tls_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rnd_refresh
      Src: /src/gnutls/lib/random.c:197,1
    - Dst: gl_tls_get
      Src: /src/gnutls/lib/random.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: gnutls_rnd_refresh
    functionSourceFile: /src/gnutls/lib/random.c
    functionUses: 0
    functionsReached:
    - gl_tls_get
    - rnd_refresh
    linkageType: ''
    returnType: void
    signature: void gnutls_rnd_refresh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_hd_st*::hash
      Src: /src/gnutls/lib/hash_int.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - text
    - textlen
    argTypes:
    - mac_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: _gnutls_mac
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached:
    - mac_hd_st*::hash
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac(mac_hd_st *handle, const void *text,\n\t\t\t      size_t
      textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_hd_st*::output
      Src: /src/gnutls/lib/hash_int.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - mac_hd_st*
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: _gnutls_mac_output
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached:
    - mac_hd_st*::output
    linkageType: ''
    returnType: void
    signature: void _gnutls_mac_output(mac_hd_st *handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_hd_st*::setnonce
      Src: /src/gnutls/lib/hash_int.h:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - nonce
    - n_size
    argTypes:
    - mac_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: _gnutls_mac_set_nonce
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached:
    - mac_hd_st*::setnonce
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_set_nonce(mac_hd_st *handle, const void *nonce,\n\t\t\t\t\tsize_t
      n_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_hd_st*::setkey
      Src: /src/gnutls/lib/hash_int.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - key
    - key_size
    argTypes:
    - mac_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: _gnutls_mac_setkey
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached:
    - mac_hd_st*::setkey
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_setkey(mac_hd_st *handle, const void *key,\n\t\t\t\t
      \    size_t key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_hd_st*::hash
      Src: /src/gnutls/lib/hash_int.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - text
    - textlen
    argTypes:
    - digest_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: _gnutls_hash
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached:
    - digest_hd_st*::hash
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hash(digest_hd_st *handle, const void *text,\n\t\t\t       size_t
      textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: IS_SHA
    functionSourceFile: /src/gnutls/lib/hash_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IS_SHA(gnutls_digest_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_hd_st*::setiv
      Src: /src/gnutls/lib/cipher_int.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - iv
    - ivlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: _gnutls_cipher_setiv
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::setiv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_setiv(const cipher_hd_st *handle,\n\t\t\t\t       const
      void *iv, size_t ivlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.h:83,1
    - Dst: cipher_hd_st*::getiv
      Src: /src/gnutls/lib/cipher_int.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - iv
    - ivlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: _gnutls_cipher_getiv
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::getiv
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_getiv(const cipher_hd_st *handle, void *iv,\n\t\t\t\t
      \      size_t ivlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_hd_st*::setkey
      Src: /src/gnutls/lib/cipher_int.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - key
    - keylen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: _gnutls_cipher_setkey
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::setkey
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_setkey(const cipher_hd_st *handle,\n\t\t\t\t\tconst
      void *key, size_t keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:101,1
    - Dst: cipher_hd_st*::encrypt
      Src: /src/gnutls/lib/cipher_int.h:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - handle
    - text
    - textlen
    - ciphertext
    - ciphertextlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: _gnutls_cipher_encrypt2
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::encrypt
    - likely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_encrypt2(const cipher_hd_st *handle,\n\t\t\t\t\t
      \ const void *text, size_t textlen,\n\t\t\t\t\t  void *ciphertext,\n\t\t\t\t\t
      \ size_t ciphertextlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:117,1
    - Dst: cipher_hd_st*::decrypt
      Src: /src/gnutls/lib/cipher_int.h:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - handle
    - ciphertext
    - ciphertextlen
    - text
    - textlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: _gnutls_cipher_decrypt2
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - likely
    - cipher_hd_st*::decrypt
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_decrypt2(const cipher_hd_st *handle,\n\t\t\t\t\t
      \ const void *ciphertext,\n\t\t\t\t\t  size_t ciphertextlen, void *text,\n\t\t\t\t\t
      \ size_t textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:134,1
    - Dst: cipher_hd_st*::aead_encrypt
      Src: /src/gnutls/lib/cipher_int.h:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth
    - auth_len
    - tag
    - text
    - textlen
    - ciphertext
    - ciphertextlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: _gnutls_aead_cipher_encrypt
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::aead_encrypt
    - likely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_aead_cipher_encrypt(const cipher_hd_st *handle, const
      void *nonce,\n\t\t\t    size_t nonce_len, const void *auth, size_t auth_len,\n\t\t\t
      \   size_t tag, const void *text, size_t textlen,\n\t\t\t    void *ciphertext,
      size_t ciphertextlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:150,1
    - Dst: cipher_hd_st*::aead_decrypt
      Src: /src/gnutls/lib/cipher_int.h:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth
    - auth_len
    - tag
    - ciphertext
    - ciphertextlen
    - text
    - textlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: _gnutls_aead_cipher_decrypt
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::aead_decrypt
    - likely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_aead_cipher_decrypt(const cipher_hd_st *handle, const
      void *nonce,\n\t\t\t    size_t nonce_len, const void *auth, size_t auth_len,\n\t\t\t
      \   size_t tag, const void *ciphertext,\n\t\t\t    size_t ciphertextlen, void
      *text, size_t textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:162,1
    - Dst: cipher_hd_st*::deinit
      Src: /src/gnutls/lib/cipher_int.h:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - cipher_hd_st*
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: _gnutls_cipher_deinit
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::deinit
    - likely
    linkageType: ''
    returnType: void
    signature: void _gnutls_cipher_deinit(cipher_hd_st *handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:180,1
    - Dst: cipher_hd_st*::tag
      Src: /src/gnutls/lib/cipher_int.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - tag
    - tag_size
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: _gnutls_cipher_tag
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::tag
    - likely
    linkageType: ''
    returnType: void
    signature: "void _gnutls_cipher_tag(const cipher_hd_st *handle, void *tag,\n\t\t\t\t
      \     size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/cipher_int.h:190,1
    - Dst: cipher_hd_st*::auth
      Src: /src/gnutls/lib/cipher_int.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - text
    - textlen
    argTypes:
    - cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: _gnutls_cipher_auth
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - cipher_hd_st*::auth
    - likely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_auth(const cipher_hd_st *handle,\n\t\t\t\t      const
      void *text, size_t textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/cipher_int.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - iv
    - ivlen
    argTypes:
    - auth_cipher_hd_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: _gnutls_auth_cipher_setiv
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached:
    - _gnutls_cipher_setiv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_cipher_setiv(const auth_cipher_hd_st *handle,\n\t\t\t\t\t
      \   const void *iv, size_t ivlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - auth_cipher_hd_st*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: _gnutls_auth_cipher_tag_len
    functionSourceFile: /src/gnutls/lib/cipher_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t _gnutls_auth_cipher_tag_len(auth_cipher_hd_st *handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/debug.c:37,1
    - Dst: strcpy
      Src: /src/gnutls/lib/debug.c:38,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/debug.c:39,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/debug.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - bigint_t
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: _gnutls_dump_mpi
    functionSourceFile: /src/gnutls/lib/debug.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - _gnutls_bin2hex
    - _gnutls_mpi_print
    - strcpy
    linkageType: ''
    returnType: void
    signature: void _gnutls_dump_mpi(const char *prefix, bigint_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/debug.c:48,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/debug.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prefix
    - a
    - a_size
    argTypes:
    - char*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: _gnutls_dump_vector
    functionSourceFile: /src/gnutls/lib/debug.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - _gnutls_bin2hex
    linkageType: ''
    returnType: void
    signature: void _gnutls_dump_vector(const char *prefix, const uint8_t *a, size_t
      a_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - packet
    argTypes:
    - content_type_t
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: _gnutls_packet2str
    functionSourceFile: /src/gnutls/lib/debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *_gnutls_packet2str(content_type_t packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - gnutls_handshake_description_t
    constantsTouched: []
    func_position:
      end: 132
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 132
    functionName: gnutls_handshake_description_get_name
    functionSourceFile: /src/gnutls/lib/debug.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gnutls_handshake_description_get_name(gnutls_handshake_description_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: pk_to_mech
    functionSourceFile: /src/gnutls/lib/pkcs11_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pk_to_mech(gnutls_pk_algorithm_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 274
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 274
    functionName: pk_to_key_type
    functionSourceFile: /src/gnutls/lib/pkcs11_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pk_to_key_type(gnutls_pk_algorithm_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pk
    - type
    argTypes:
    - gnutls_pk_algorithm_t
    - ck_key_type_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: pk_to_genmech
    functionSourceFile: /src/gnutls/lib/pkcs11_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pk_to_genmech(gnutls_pk_algorithm_t pk, ck_key_type_t *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnutls/lib/pkcs11_int.h:425,1
    - Dst: strstr
      Src: /src/gnutls/lib/pkcs11_int.h:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: is_pkcs11_url_object
    functionSourceFile: /src/gnutls/lib/pkcs11_int.h
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_pkcs11_url_object(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/hash_int.c:40,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:41,1
    - Dst: _gnutls_get_crypto_digest
      Src: /src/gnutls/lib/hash_int.c:47,1
    - Dst: gnutls_crypto_digest_st*::init
      Src: /src/gnutls/lib/hash_int.c:49,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:51,1
    - Dst: init
      Src: /src/gnutls/lib/hash_int.c:63,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - dig
    - e
    argTypes:
    - digest_hd_st*
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 76
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 76
    functionName: _gnutls_hash_init
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - init
    - gnutls_crypto_digest_st*::init
    - gnutls_assert
    - _gnutls_get_crypto_digest
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_hash_init(digest_hd_st *dig, const mac_entry_st *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/hash_int.c:85,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/hash_int.c:85,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:86,1
    - Dst: _gnutls_get_crypto_digest
      Src: /src/gnutls/lib/hash_int.c:88,1
    - Dst: exists
      Src: /src/gnutls/lib/hash_int.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: _gnutls_digest_exists
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - exists
    - DIG_TO_MAC
    - _gnutls_get_crypto_digest
    - is_mac_algo_allowed
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_digest_exists(gnutls_digest_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:98,1
    - Dst: digest_hd_st*::copy
      Src: /src/gnutls/lib/hash_int.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - dst
    argTypes:
    - digest_hd_st*
    - digest_hd_st*
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: _gnutls_hash_copy
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - digest_hd_st*::copy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_hash_copy(const digest_hd_st *handle, digest_hd_st *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_output
      Src: /src/gnutls/lib/hash_int.c:116,1
    - Dst: digest_hd_st*::deinit
      Src: /src/gnutls/lib/hash_int.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - digest_hd_st*
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: _gnutls_hash_deinit
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_output
    - digest_hd_st*::deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_hash_deinit(digest_hd_st *handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_crypto_digest
      Src: /src/gnutls/lib/hash_int.c:132,1
    - Dst: gnutls_crypto_digest_st*::fast
      Src: /src/gnutls/lib/hash_int.c:134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:135,1
    - Dst: fast
      Src: /src/gnutls/lib/hash_int.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - algorithm
    - text
    - textlen
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 149
    functionName: _gnutls_hash_fast
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - gnutls_crypto_digest_st*::fast
    - fast
    - gnutls_assert
    - _gnutls_get_crypto_digest
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void
      *text,\n\t\t      size_t textlen, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_crypto_mac
      Src: /src/gnutls/lib/hash_int.c:163,1
    - Dst: gnutls_crypto_mac_st*::fast
      Src: /src/gnutls/lib/hash_int.c:165,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:167,1
    - Dst: fast
      Src: /src/gnutls/lib/hash_int.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - algorithm
    - key
    - keylen
    - text
    - textlen
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - int
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 182
    functionName: _gnutls_mac_fast
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_get_crypto_mac
    - fast
    - gnutls_crypto_mac_st*::fast
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_fast(gnutls_mac_algorithm_t algorithm, const void
      *key,\n\t\t     int keylen, const void *text, size_t textlen, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/hash_int.c:195,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:196,1
    - Dst: _gnutls_get_crypto_mac
      Src: /src/gnutls/lib/hash_int.c:198,1
    - Dst: exists
      Src: /src/gnutls/lib/hash_int.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: _gnutls_mac_exists
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - is_mac_algo_allowed
    - _gnutls_get_crypto_mac
    - gnutls_assert_val
    - exists
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_exists(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/hash_int.c:213,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:214,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/hash_int.c:217,1
    - Dst: _gnutls_get_crypto_mac
      Src: /src/gnutls/lib/hash_int.c:221,1
    - Dst: gnutls_crypto_mac_st*::init
      Src: /src/gnutls/lib/hash_int.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:224,1
    - Dst: gnutls_crypto_mac_st*::setkey
      Src: /src/gnutls/lib/hash_int.c:228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:229,1
    - Dst: gnutls_crypto_mac_st*::deinit
      Src: /src/gnutls/lib/hash_int.c:230,1
    - Dst: init
      Src: /src/gnutls/lib/hash_int.c:244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:246,1
    - Dst: setkey
      Src: /src/gnutls/lib/hash_int.c:257,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:258,1
    - Dst: mac_hd_st*::deinit
      Src: /src/gnutls/lib/hash_int.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - mac
    - e
    - key
    - keylen
    argTypes:
    - mac_hd_st*
    - mac_entry_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 264
    functionName: _gnutls_mac_init
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - gnutls_crypto_mac_st*::deinit
    - init
    - mac_hd_st*::deinit
    - gnutls_assert
    - gnutls_crypto_mac_st*::init
    - _gnutls_mac_get_algo_len
    - setkey
    - _gnutls_get_crypto_mac
    - unlikely
    - gnutls_crypto_mac_st*::setkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_init(mac_hd_st *mac, const mac_entry_st *e, const
      void *key,\n\t\t     int keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hash_int.c:269,1
    - Dst: mac_hd_st*::copy
      Src: /src/gnutls/lib/hash_int.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - dst
    argTypes:
    - mac_hd_st*
    - mac_hd_st*
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: _gnutls_mac_copy
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - mac_hd_st*::copy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_copy(const mac_hd_st *handle, mac_hd_st *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_output
      Src: /src/gnutls/lib/hash_int.c:287,1
    - Dst: mac_hd_st*::deinit
      Src: /src/gnutls/lib/hash_int.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - mac_hd_st*
    - void*
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: _gnutls_mac_deinit
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_mac_output
    - mac_hd_st*::deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_mac_deinit(mac_hd_st *handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: get_padsize
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_padsize(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_padsize
      Src: /src/gnutls/lib/hash_int.c:317,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:319,1
    - Dst: memset
      Src: /src/gnutls/lib/hash_int.c:323,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/hash_int.c:325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:327,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:335,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ret
    - e
    - key
    - keylen
    argTypes:
    - digest_hd_st*
    - mac_entry_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 339
    functionName: _gnutls_mac_init_ssl3
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash
    - _gnutls_hash_init
    - memset
    - gnutls_assert
    - get_padsize
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_init_ssl3(digest_hd_st *ret, const mac_entry_st *e,
      void *key,\n\t\t\t  int keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_padsize
      Src: /src/gnutls/lib/hash_int.c:349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:351,1
    - Dst: memset
      Src: /src/gnutls/lib/hash_int.c:355,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/hash_int.c:357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:359,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:364,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:366,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/hash_int.c:367,1
    - Dst: _gnutls_hash_output
      Src: /src/gnutls/lib/hash_int.c:368,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:369,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:371,1
    - Dst: memset
      Src: /src/gnutls/lib/hash_int.c:374,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:377,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - digest_hd_st*
    - void*
    constantsTouched: []
    func_position:
      end: 381
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 381
    functionName: _gnutls_mac_output_ssl3
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - _gnutls_hash
    - _gnutls_mac_get_algo_len
    - _gnutls_hash_init
    - memset
    - _gnutls_hash_output
    - gnutls_assert
    - get_padsize
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_output_ssl3(digest_hd_st *handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_output_ssl3
      Src: /src/gnutls/lib/hash_int.c:388,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - digest_hd_st*
    - void*
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: _gnutls_mac_deinit_ssl3
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_mac_output_ssl3
    - _gnutls_hash_deinit
    linkageType: ''
    returnType: int
    signature: int _gnutls_mac_deinit_ssl3(digest_hd_st *handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_padsize
      Src: /src/gnutls/lib/hash_int.c:404,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:406,1
    - Dst: memset
      Src: /src/gnutls/lib/hash_int.c:411,1
    - Dst: memset
      Src: /src/gnutls/lib/hash_int.c:412,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/hash_int.c:414,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:416,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:421,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:423,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/hash_int.c:424,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:427,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:428,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:429,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:431,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:433,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - handle
    - digest
    - key
    - key_size
    argTypes:
    - digest_hd_st*
    - void*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 440
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 440
    functionName: _gnutls_mac_deinit_ssl3_handshake
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - _gnutls_hash
    - _gnutls_mac_get_algo_len
    - _gnutls_hash_init
    - memset
    - gnutls_assert
    - get_padsize
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mac_deinit_ssl3_handshake(digest_hd_st *handle, void *digest,\n\t\t\t\t
      \     uint8_t *key, uint32_t key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/hash_int.c:454,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/hash_int.c:454,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:456,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:460,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:461,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:462,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - i
    - secret
    - secret_len
    - rnd
    - rnd_len
    - digest
    argTypes:
    - int
    - uint8_t*
    - int
    - uint8_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 466
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 466
    functionName: ssl3_sha
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - mac_to_entry
    - _gnutls_hash
    - _gnutls_hash_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int ssl3_sha(int i, uint8_t *secret, int secret_len, uint8_t *rnd,\n\t\t
      \   int rnd_len, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/hash_int.c:478,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/hash_int.c:478,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:480,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:484,1
    - Dst: ssl3_sha
      Src: /src/gnutls/lib/hash_int.c:486,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:488,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:489,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/hash_int.c:493,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/hash_int.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - i
    - secret
    - secret_len
    - rnd
    - rnd_len
    - digest
    argTypes:
    - int
    - uint8_t*
    - int
    - uint8_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 497
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 497
    functionName: ssl3_md5
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 0
    functionsReached:
    - ssl3_sha
    - mac_to_entry
    - _gnutls_hash_deinit
    - _gnutls_hash
    - _gnutls_hash_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int ssl3_md5(int i, uint8_t *secret, int secret_len, uint8_t *rnd,\n\t\t
      \   int rnd_len, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_md5
      Src: /src/gnutls/lib/hash_int.c:515,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/hash_int.c:517,1
    - Dst: memcpy
      Src: /src/gnutls/lib/hash_int.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - secret
    - secret_len
    - rnd
    - rnd_len
    - ret_bytes
    - ret
    argTypes:
    - void*
    - int
    - void*
    - int
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 531
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 531
    functionName: _gnutls_ssl3_generate_random
    functionSourceFile: /src/gnutls/lib/hash_int.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ssl3_md5
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ssl3_generate_random(void *secret, int secret_len, void
      *rnd,\n\t\t\t\t int rnd_len, int ret_bytes, uint8_t *ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isprint
      Src: /src/gnutls/lib/str.h:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: _gnutls_str_is_print
    functionSourceFile: /src/gnutls/lib/str.h
    functionUses: 0
    functionsReached:
    - c_isprint
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_str_is_print(const char *str, unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isalnum
      Src: /src/gnutls/lib/str.h:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: _gnutls_dnsname_is_valid
    functionSourceFile: /src/gnutls/lib/str.h
    functionUses: 0
    functionsReached:
    - c_isalnum
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_dnsname_is_valid(const char *str, unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: _gnutls_buffer_reset
    functionSourceFile: /src/gnutls/lib/str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_buffer_reset(gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/str.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: _gnutls_ro_buffer_from_datum
    functionSourceFile: /src/gnutls/lib/str.h
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_init
    linkageType: ''
    returnType: void
    signature: "void _gnutls_ro_buffer_from_datum(gnutls_buffer_st *str,\n\t\t\t\t\t\tgnutls_datum_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/gnutls/lib/system.h:80,1
    - Dst: nanosleep
      Src: /src/gnutls/lib/system.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ms
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: millisleep
    functionSourceFile: /src/gnutls/lib/system.h
    functionUses: 0
    functionsReached:
    - Sleep
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void millisleep(unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cert-cred.c:55,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/cert-cred.c:55,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:56,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/cert-cred.c:59,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:62,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/cert-cred.c:64,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:67,1
    - Dst: memset
      Src: /src/gnutls/lib/cert-cred.c:69,1
    - Dst: _gnutls13_sign_get_compatible_with_privkey
      Src: /src/gnutls/lib/cert-cred.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - res
    - key
    - names
    - crt
    - nr
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - gnutls_str_array_t
    - gnutls_pcert_st*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 104
    functionName: _gnutls_certificate_credential_append_keypair
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - _gnutls13_sign_get_compatible_with_privkey
    - _gnutls_reallocarray_fast
    - unlikely
    - memset
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int _gnutls_certificate_credential_append_keypair(\n\tgnutls_certificate_credentials_t
      res, gnutls_privkey_t key,\n\tgnutls_str_array_t names, gnutls_pcert_st *crt,
      int nr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:156,1
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred.c:160,1
    - Dst: _gnutls_str_array_append_idna
      Src: /src/gnutls/lib/cert-cred.c:164,1
    - Dst: strlen
      Src: /src/gnutls/lib/cert-cred.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:167,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:176,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-cred.c:180,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:183,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred.c:184,1
    - Dst: _gnutls_get_x509_name
      Src: /src/gnutls/lib/cert-cred.c:188,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred.c:189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:192,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/lib/cert-cred.c:198,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:204,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cert-cred.c:206,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred.c:209,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:212,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:213,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:224,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:225,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred.c:230,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred.c:233,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 6
    argNames:
    - res
    - names
    - names_size
    - pcert_list
    - pcert_list_size
    - key
    argTypes:
    - gnutls_certificate_credentials_t
    - char**
    - int
    - gnutls_pcert_st*
    - int
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 235
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 235
    functionName: gnutls_certificate_set_key
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 8
    functionsReached:
    - _gnutls_str_array_init
    - _gnutls_str_array_append_idna
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - strlen
    - gnutls_x509_crt_init
    - _gnutls_get_x509_name
    - _gnutls_certificate_credential_append_keypair
    - CRED_RET_SUCCESS
    - _gnutls_str_array_clear
    - gnutls_assert
    - gnutls_privkey_set_pin_function
    - _gnutls_check_key_cert_match
    - memcpy
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_key(gnutls_certificate_credentials_t res,\n\t\t\t
      \      const char **names, int names_size,\n\t\t\t       gnutls_pcert_st *pcert_list,
      int pcert_list_size,\n\t\t\t       gnutls_privkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred.c:252,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:254,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:257,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred.c:259,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred.c:260,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:263,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: gnutls_certificate_free_keys
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_privkey_deinit
    - _gnutls_str_array_clear
    - gnutls_pcert_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_certificate_free_keys(gnutls_certificate_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: gnutls_certificate_free_cas
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_certificate_free_cas(gnutls_certificate_credentials_t sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/lib/cert-cred.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - cert
    - issuer
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: gnutls_certificate_get_issuer
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_trust_list_get_issuer
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_issuer(gnutls_certificate_credentials_t
      sc,\n\t\t\t\t  gnutls_x509_crt_t cert,\n\t\t\t\t  gnutls_x509_crt_t *issuer,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:336,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - sc
    - idx1
    - idx2
    - cert
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: gnutls_certificate_get_crt_raw
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 7
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_crt_raw(gnutls_certificate_credentials_t
      sc,\n\t\t\t\t   unsigned idx1, unsigned idx2,\n\t\t\t\t   gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/cert-cred.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: gnutls_certificate_free_ca_names
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    linkageType: ''
    returnType: void
    signature: void gnutls_certificate_free_ca_names(gnutls_certificate_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/lib/cert-cred.c:382,1
    - Dst: gnutls_certificate_free_keys
      Src: /src/gnutls/lib/cert-cred.c:383,1
    - Dst: memset
      Src: /src/gnutls/lib/cert-cred.c:384,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/cert-cred.c:387,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: gnutls_certificate_free_credentials
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 360
    functionsReached:
    - gnutls_free
    - gnutls_dh_params_deinit
    - gnutls_x509_trust_list_deinit
    - gnutls_certificate_free_keys
    - memset
    linkageType: ''
    returnType: void
    signature: void gnutls_certificate_free_credentials(gnutls_certificate_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/cert-cred.c:406,1
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/lib/cert-cred.c:411,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:413,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - res
    argTypes:
    - gnutls_certificate_credentials_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 421
    functionName: gnutls_certificate_allocate_credentials
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 363
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    - gnutls_x509_trust_list_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_allocate_credentials(\n\tgnutls_certificate_credentials_t
      *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cert-cred.c:437,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:438,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred.c:443,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:445,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/cert-cred.c:450,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:456,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred.c:458,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - certs
    - ncerts
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 465
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 465
    functionName: alloc_and_load_x509_certs
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pcert_import_x509
    - gnutls_pcert_deinit
    - unlikely
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: gnutls_pcert_st
    signature: "gnutls_pcert_st *alloc_and_load_x509_certs(gnutls_x509_crt_t *certs,\n\t\t\t\t\t\t
      \ unsigned ncerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/cert-cred.c:479,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:481,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/cert-cred.c:485,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:489,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key
    - deinit
    argTypes:
    - gnutls_x509_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: alloc_and_load_x509_key
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_init
    - gnutls_privkey_deinit
    - gnutls_assert
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t alloc_and_load_x509_key(gnutls_x509_privkey_t key,\n\t\t\t\t\t\tint
      deinit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/cert-cred.c:511,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:513,1
    - Dst: gnutls_privkey_import_pkcs11
      Src: /src/gnutls/lib/cert-cred.c:517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:521,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key
    - deinit
    argTypes:
    - gnutls_pkcs11_privkey_t
    - int
    constantsTouched: []
    func_position:
      end: 527
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 527
    functionName: alloc_and_load_pkcs11_key
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_init
    - gnutls_privkey_import_pkcs11
    - gnutls_assert
    - gnutls_privkey_deinit
    linkageType: ''
    returnType: gnutls_privkey_t
    signature: "gnutls_privkey_t alloc_and_load_pkcs11_key(gnutls_pkcs11_privkey_t
      key,\n\t\t\t\t\t\t  int deinit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - req
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_request_t
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: gnutls_certificate_server_set_request
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_server_set_request(gnutls_session_t session,\n\t\t\t\t\t
      \  gnutls_certificate_request_t req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/cert-cred.c:565,1
    - Dst: struct gnutls_cert_retr_st*::cred::legacy_cert_cb1
      Src: /src/gnutls/lib/cert-cred.c:567,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:571,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:581,1
    - Dst: alloc_and_load_x509_certs
      Src: /src/gnutls/lib/cert-cred.c:586,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:588,1
    - Dst: alloc_and_load_pkcs11_key
      Src: /src/gnutls/lib/cert-cred.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:600,1
    - Dst: alloc_and_load_x509_key
      Src: /src/gnutls/lib/cert-cred.c:609,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:619,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred.c:638,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:640,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 8
    argNames:
    - session
    - info
    - certs
    - pcert_length
    - ocsp
    - ocsp_length
    - privkey
    - flags
    argTypes:
    - gnutls_session_t
    - struct gnutls_cert_retr_st*
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_ocsp_data_st**
    - unsigned int*
    - gnutls_privkey_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 645
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 645
    functionName: call_legacy_cert_cb1
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - struct gnutls_cert_retr_st*::cred::legacy_cert_cb1
    - alloc_and_load_pkcs11_key
    - alloc_and_load_x509_key
    - memset
    - gnutls_assert_val
    - gnutls_assert
    - alloc_and_load_x509_certs
    linkageType: ''
    returnType: int
    signature: "int call_legacy_cert_cb1(gnutls_session_t session,\n\t\t\t\tconst
      struct gnutls_cert_retr_st *info,\n\t\t\t\tgnutls_pcert_st **certs,\n\t\t\t\tunsigned
      int *pcert_length,\n\t\t\t\tgnutls_ocsp_data_st **ocsp,\n\t\t\t\tunsigned int
      *ocsp_length,\n\t\t\t\tgnutls_privkey_t *privkey, unsigned int *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_retrieve_function*
    constantsTouched: []
    func_position:
      end: 696
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 696
    functionName: gnutls_certificate_set_retrieve_function
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_retrieve_function(\n\tgnutls_certificate_credentials_t
      cred,\n\tgnutls_certificate_retrieve_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct gnutls_cert_retr_st*::cred::legacy_cert_cb2
      Src: /src/gnutls/lib/cert-cred.c:710,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - session
    - info
    - certs
    - pcert_length
    - ocsp
    - ocsp_length
    - privkey
    - flags
    argTypes:
    - gnutls_session_t
    - struct gnutls_cert_retr_st*
    - gnutls_pcert_st**
    - unsigned int*
    - gnutls_ocsp_data_st**
    - unsigned int*
    - gnutls_privkey_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 718
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 718
    functionName: call_legacy_cert_cb2
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 0
    functionsReached:
    - struct gnutls_cert_retr_st*::cred::legacy_cert_cb2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int call_legacy_cert_cb2(gnutls_session_t session,\n\t\t\t\tconst
      struct gnutls_cert_retr_st *info,\n\t\t\t\tgnutls_pcert_st **certs,\n\t\t\t\tunsigned
      int *pcert_length,\n\t\t\t\tgnutls_ocsp_data_st **ocsp,\n\t\t\t\tunsigned int
      *ocsp_length,\n\t\t\t\tgnutls_privkey_t *privkey, unsigned int *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_retrieve_function2*
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: gnutls_certificate_set_retrieve_function2
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_retrieve_function2(\n\tgnutls_certificate_credentials_t
      cred,\n\tgnutls_certificate_retrieve_function2 *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_retrieve_function3*
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: gnutls_certificate_set_retrieve_function3
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_retrieve_function3(\n\tgnutls_certificate_credentials_t
      cred,\n\tgnutls_certificate_retrieve_function3 *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_certificate_verify_function*
    constantsTouched: []
    func_position:
      end: 869
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 869
    functionName: gnutls_certificate_set_verify_function
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_verify_function(\n\tgnutls_certificate_credentials_t
      cred,\n\tgnutls_certificate_verify_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tlist
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_trust_list_getissuer_function*
    constantsTouched: []
    func_position:
      end: 911
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 911
    functionName: gnutls_x509_trust_list_set_getissuer_function
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_trust_list_set_getissuer_function(\n\tgnutls_x509_trust_list_t
      tlist,\n\tgnutls_x509_trust_list_getissuer_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tlist
    - ptr
    argTypes:
    - gnutls_x509_trust_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: gnutls_x509_trust_list_set_ptr
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_trust_list_set_ptr(gnutls_x509_trust_list_t tlist,
      void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlist
    argTypes:
    - gnutls_x509_trust_list_t
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: gnutls_x509_trust_list_get_ptr
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gnutls_x509_trust_list_get_ptr(gnutls_x509_trust_list_t tlist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_verify_output_function*
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: gnutls_session_set_verify_output_function
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_set_verify_output_function(\n\tgnutls_session_t
      session, gnutls_verify_output_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/cert-cred.c:995,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/cert-cred.c:997,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/cert-cred.c:1000,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/cert-cred.c:1000,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/cert-cred.c:1002,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred.c:1010,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/cert-cred.c:1011,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/cert-cred.c:1012,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/cert-cred.c:1013,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/cert-cred.c:1026,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/lib/cert-cred.c:1031,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/cert-cred.c:1037,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/cert-cred.c:1041,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred.c:1045,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred.c:1048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - res
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 1052
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 1052
    functionName: _gnutls_check_key_cert_match
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pk_get_name
    - gnutls_pk_to_sign
    - _gnutls_debug_log
    - gnutls_assert_val
    - GNUTLS_PK_IS_RSA
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_key_cert_match(gnutls_certificate_credentials_t res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/cert-cred.c:1078,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1081,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1082,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1084,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1085,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1089,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1090,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1093,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1095,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1098,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1100,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1103,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1105,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1108,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1109,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1112,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1114,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1118,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1120,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1123,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1125,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1128,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1130,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1133,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1135,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1138,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1140,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1143,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1145,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1148,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1150,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1153,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1155,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1158,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1160,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/cert-cred.c:1163,1
    - Dst: _
      Src: /src/gnutls/lib/cert-cred.c:1165,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/cert-cred.c:1167,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - status
    - type
    - out
    - flags
    argTypes:
    - unsigned int
    - gnutls_certificate_type_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1168
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1168
    functionName: gnutls_certificate_verification_status_print
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 19
    functionsReached:
    - _gnutls_buffer_init
    - _gnutls_buffer_to_datum
    - _
    - _gnutls_buffer_append_str
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_verification_status_print(unsigned int status,\n\t\t\t\t\t\t
      gnutls_certificate_type_t type,\n\t\t\t\t\t\t gnutls_datum_t *out,\n\t\t\t\t\t\t
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/cert-cred.c:1192,1
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/lib/cert-cred.c:1197,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/cert-cred.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - res
    - dh_params
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 1199
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1199
    functionName: gnutls_certificate_set_dh_params
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 13
    functionsReached:
    - _gnutls_mpi_get_nbits
    - gnutls_pk_bits_to_sec_param
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_dh_params(gnutls_certificate_credentials_t
      res,\n\t\t\t\t      gnutls_dh_params_t dh_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - sec_param
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: gnutls_certificate_set_known_dh_params
    functionSourceFile: /src/gnutls/lib/cert-cred.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_known_dh_params(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t   gnutls_sec_param_t sec_param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/dh-primes.c:1256,1
    - Dst: memcmp
      Src: /src/gnutls/lib/dh-primes.c:1259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - prime
    - prime_size
    - generator
    - generator_size
    - q
    - q_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1270
    functionName: _gnutls_dh_prime_match_fips_approved
    functionSourceFile: /src/gnutls/lib/dh-primes.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_dh_prime_match_fips_approved(const uint8_t *prime,\n\t\t\t\t\t
      \     size_t prime_size,\n\t\t\t\t\t      const uint8_t *generator,\n\t\t\t\t\t
      \     size_t generator_size,\n\t\t\t\t\t      uint8_t **q, size_t *q_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/fingerprint.c:69,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fingerprint.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - algo
    - data
    - result
    - result_size
    argTypes:
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: gnutls_fingerprint
    functionSourceFile: /src/gnutls/lib/fingerprint.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_fast
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_fingerprint(gnutls_digest_algorithm_t algo,\n\t\t       const
      gnutls_datum_t *data, void *result,\n\t\t       size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: explicit_bzero
      Src: /src/gnutls/lib/safe-memfuncs.c:37,1
    - Dst: memset
      Src: /src/gnutls/lib/safe-memfuncs.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - c
    - size
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: gnutls_memset
    functionSourceFile: /src/gnutls/lib/safe-memfuncs.c
    functionUses: 12
    functionsReached:
    - explicit_bzero
    - memset
    linkageType: ''
    returnType: void
    signature: void gnutls_memset(void *data, int c, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: gnutls_memcmp
    functionSourceFile: /src/gnutls/lib/safe-memfuncs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_memcmp(const void *s1, const void *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/safe-memfuncs.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnutls/lib/safe-memfuncs.c
    functionUses: 4
    functionsReached:
    - gnutls_memset
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - err
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: gnutls_transport_set_errno
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_transport_set_errno(gnutls_session_t session, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - pull_func
    argTypes:
    - gnutls_session_t
    - gnutls_pull_func
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: gnutls_transport_set_pull_function
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_pull_function(gnutls_session_t session,\n\t\t\t\t\tgnutls_pull_func
      pull_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_pull_timeout_func
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: gnutls_transport_set_pull_timeout_function
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_pull_timeout_function(gnutls_session_t session,\n\t\t\t\t\t\tgnutls_pull_timeout_func
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - push_func
    argTypes:
    - gnutls_session_t
    - gnutls_push_func
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: gnutls_transport_set_push_function
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_push_function(gnutls_session_t session,\n\t\t\t\t\tgnutls_push_func
      push_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - vec_func
    argTypes:
    - gnutls_session_t
    - gnutls_vec_push_func
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: gnutls_transport_set_vec_push_function
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_vec_push_function(gnutls_session_t session,\n\t\t\t\t\t
      \   gnutls_vec_push_func vec_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - errno_func
    argTypes:
    - gnutls_session_t
    - gnutls_errno_func
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: gnutls_transport_set_errno_function
    functionSourceFile: /src/gnutls/lib/system_override.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_errno_function(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_errno_func errno_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_secret.c:65,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_secret.c:67,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_secret.c:69,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/pkcs11_secret.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_secret.c:76,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_secret.c:80,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_secret.c:82,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_secret.c:83,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_secret.c:86,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_secret.c:116,1
    - Dst: pkcs11_create_object
      Src: /src/gnutls/lib/pkcs11_secret.c:130,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_secret.c:132,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_secret.c:133,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_secret.c:133,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_secret.c:134,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_secret.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 5
    argNames:
    - token_url
    - key
    - label
    - key_usage
    - flags
    argTypes:
    - char*
    - gnutls_datum_t*
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 147
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 147
    functionName: gnutls_pkcs11_copy_secret_key
    functionSourceFile: /src/gnutls/lib/pkcs11_secret.c
    functionUses: 1
    functionsReached:
    - pkcs11_open_session
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - strlen
    - pkcs11_obj_flags_to_int
    - gnutls_rnd
    - pkcs11_rv_to_err
    - memset
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_create_object
    - pkcs11_close_session
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_secret_key(const char *token_url, gnutls_datum_t
      *key,\n\t\t\t\t  const char *label, unsigned int key_usage,\n\t\t\t\t  unsigned
      int flags\n\t\t\t\t  /* GNUTLS_PKCS11_OBJ_FLAG_* */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: _gnutls_handshake2str
    functionSourceFile: /src/gnutls/lib/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *_gnutls_handshake2str(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/randomart.c:49,1
    - Dst: _gnutls_key_fingerprint_randomart
      Src: /src/gnutls/lib/randomart.c:51,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/randomart.c:54,1
    - Dst: strlen
      Src: /src/gnutls/lib/randomart.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - type
    - key_type
    - key_size
    - fpr
    - fpr_size
    - art
    argTypes:
    - gnutls_random_art_t
    - char*
    - unsigned int
    - void*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: gnutls_random_art
    functionSourceFile: /src/gnutls/lib/randomart.c
    functionUses: 1
    functionsReached:
    - _gnutls_key_fingerprint_randomart
    - strlen
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_random_art(gnutls_random_art_t type, const char *key_type,\n\t\t
      \     unsigned int key_size, void *fpr, size_t fpr_size,\n\t\t      gnutls_datum_t
      *art)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - init
    - deinit
    - lock
    - unlock
    argTypes:
    - mutex_init_func
    - mutex_deinit_func
    - mutex_lock_func
    - mutex_unlock_func
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: gnutls_global_set_mutex
    functionSourceFile: /src/gnutls/lib/locks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_global_set_mutex(mutex_init_func init, mutex_deinit_func
      deinit,\n\t\t\t     mutex_lock_func lock, mutex_unlock_func unlock)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: _gnutls_ext_get_msg
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_ext_flags_t
    signature: gnutls_ext_flags_t _gnutls_ext_get_msg(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - msg
    argTypes:
    - gnutls_session_t
    - gnutls_ext_flags_t
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: _gnutls_ext_set_msg
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_ext_set_msg(gnutls_session_t session,\n\t\t\t\t       gnutls_ext_flags_t
      msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - offset
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: _gnutls_ext_set_extensions_offset
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_ext_set_extensions_offset(gnutls_session_t session,\n\t\t\t\t\t\t
      \    int offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: _gnutls_ext_get_extensions_offset
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_ext_get_extensions_offset(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - msg
    argTypes:
    - gnutls_ext_flags_t
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: ext_msg_validity_to_str
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ext_msg_validity_to_str(gnutls_ext_flags_t msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - id
    argTypes:
    - gnutls_session_t
    - extensions_t
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: _gnutls_hello_ext_is_present
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_hello_ext_is_present(gnutls_session_t session,\n\t\t\t\t\t\t
      \   extensions_t id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_is_present
      Src: /src/gnutls/lib/hello_ext.h:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - session
    - id
    - check_dup
    argTypes:
    - gnutls_session_t
    - extensions_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: _gnutls_hello_ext_save
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 2
    functionsReached:
    - _gnutls_hello_ext_is_present
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_hello_ext_save(gnutls_session_t session,\n\t\t\t\t\t
      \     extensions_t id,\n\t\t\t\t\t      unsigned check_dup)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_save
      Src: /src/gnutls/lib/hello_ext.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: _gnutls_hello_ext_save_sr
    functionSourceFile: /src/gnutls/lib/hello_ext.h
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_save
    linkageType: ''
    returnType: void
    signature: void _gnutls_hello_ext_save_sr(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 82
    argCount: 1
    argNames:
    - rv
    argTypes:
    - ck_rv_t
    constantsTouched: []
    func_position:
      end: 234
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 234
    functionName: pkcs11_rv_to_err
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkcs11_rv_to_err(ck_rv_t rv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_get_slot_list
      Src: /src/gnutls/lib/pkcs11.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:243,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - slots
    - nslots
    argTypes:
    - struct gnutls_pkcs11_provider_st*
    - ck_slot_id_t*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: scan_slots
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_get_slot_list
    - pkcs11_rv_to_err
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int scan_slots(struct gnutls_pkcs11_provider_st *p, ck_slot_id_t *slots,\n\t\t
      \     unsigned long *nslots)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:256,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:260,1
    - Dst: pkcs11_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:261,1
    - Dst: memcmp
      Src: /src/gnutls/lib/pkcs11.c:267,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:268,1
    - Dst: p11_kit_module_get_flags
      Src: /src/gnutls/lib/pkcs11.c:280,1
    - Dst: strstr
      Src: /src/gnutls/lib/pkcs11.c:281,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - name
    - module
    - custom_init
    - params
    argTypes:
    - char*
    - struct ck_function_list*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: pkcs11_add_module
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_module_get_flags
    - pkcs11_get_module_info
    - memcmp
    - strstr
    - memset
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs11_add_module(const char *name, struct ck_function_list *module,\n\t\t\t
      \    unsigned custom_init, const char *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/pkcs11.c:302,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:304,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/lib/pkcs11.c:309,1
    - Dst: _gnutls_pkcs11_reinit
      Src: /src/gnutls/lib/pkcs11.c:311,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/pkcs11.c:319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:324,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:342,1
    - Dst: auto_load
      Src: /src/gnutls/lib/pkcs11.c:344,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:346,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:361,1
    - Dst: gnutls_pkcs11_init
      Src: /src/gnutls/lib/pkcs11.c:363,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:365,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/pkcs11.c:377,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - req_level
    - priv
    - cb
    argTypes:
    - init_level_t
    - void*
    - pkcs11_reinit_function
    constantsTouched: []
    func_position:
      end: 380
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 380
    functionName: _gnutls_pkcs11_check_init
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - auto_load
    - _gnutls_pkcs11_reinit
    - gnutls_pkcs11_init
    - gnutls_assert
    - gnutls_static_mutex_lock
    - gnutls_static_mutex_unlock
    - _gnutls_get_forkid
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_detect_fork
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs11_check_init(init_level_t req_level, void *priv,\n\t\t\t
      \     pkcs11_reinit_function cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnutls/lib/pkcs11.c:409,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:410,1
    - Dst: p11_kit_module_load
      Src: /src/gnutls/lib/pkcs11.c:418,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:420,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:421,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:425,1
    - Dst: struct ck_function_list*::C_Initialize
      Src: /src/gnutls/lib/pkcs11.c:429,1
    - Dst: p11_kit_module_initialize
      Src: /src/gnutls/lib/pkcs11.c:431,1
    - Dst: p11_kit_module_release
      Src: /src/gnutls/lib/pkcs11.c:435,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:436,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:437,1
    - Dst: pkcs11_add_module
      Src: /src/gnutls/lib/pkcs11.c:440,1
    - Dst: p11_kit_module_finalize
      Src: /src/gnutls/lib/pkcs11.c:445,1
    - Dst: struct ck_function_list*::C_Finalize
      Src: /src/gnutls/lib/pkcs11.c:447,1
    - Dst: p11_kit_module_release
      Src: /src/gnutls/lib/pkcs11.c:448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - name
    - params
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 453
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 453
    functionName: gnutls_pkcs11_add_provider
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 37
    functionsReached:
    - p11_kit_module_load
    - p11_kit_module_finalize
    - pkcs11_add_module
    - strstr
    - struct ck_function_list*::C_Initialize
    - pkcs11_rv_to_err
    - memset
    - _gnutls_debug_log
    - p11_kit_module_initialize
    - p11_kit_module_release
    - gnutls_assert
    - struct ck_function_list*::C_Finalize
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_add_provider(const char *name, const char *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:466,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:468,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:472,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:474,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:479,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:484,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:487,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - info
    - a
    - a_vals
    - class
    - type
    argTypes:
    - struct p11_kit_uri*
    - struct ck_attribute[]
    - unsigned*
    - ck_object_class_t*
    - ck_certificate_type_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 502
    functionName: add_obj_attrs
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - p11_kit_uri_get_attribute
    linkageType: ''
    returnType: int
    signature: "int add_obj_attrs(struct p11_kit_uri *info, struct ck_attribute a[4],\n\t\t\t
      unsigned *a_vals, ck_object_class_t *class,\n\t\t\t ck_certificate_type_t *type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11.c:539,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:541,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:543,1
    - Dst: add_obj_attrs
      Src: /src/gnutls/lib/pkcs11.c:547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:549,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:555,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:556,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:557,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:561,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:563,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:564,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:570,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:572,1
    - Dst: _gnutls_hex2bin
      Src: /src/gnutls/lib/pkcs11.c:582,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:584,1
    - Dst: pkcs11_set_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:596,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:599,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:600,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:601,1
    - Dst: pkcs11_set_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:614,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:615,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:616,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:622,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11.c:629,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 5
    argNames:
    - obj
    - itype
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_pkcs11_obj_info_t
    - void*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 631
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 631
    functionName: gnutls_pkcs11_obj_set_info
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - pkcs11_open_session
    - _gnutls_hex2bin
    - pkcs11_obj_flags_to_int
    - pkcs11_close_session
    - pkcs11_rv_to_err
    - pkcs11_set_attribute_value
    - pkcs11_find_objects
    - _gnutls_debug_log
    - add_obj_attrs
    - gnutls_assert
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_set_info(gnutls_pkcs11_obj_t obj,\n\t\t\t       gnutls_pkcs11_obj_info_t
      itype, const void *data,\n\t\t\t       size_t data_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_get_info
      Src: /src/gnutls/lib/pkcs11.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - itype
    - output
    - output_size
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_pkcs11_obj_info_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: gnutls_pkcs11_obj_get_info
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 4
    functionsReached:
    - pkcs11_get_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_get_info(gnutls_pkcs11_obj_t obj,\n\t\t\t       gnutls_pkcs11_obj_info_t
      itype, void *output,\n\t\t\t       size_t *output_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:680,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:686,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:687,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:688,1
    - Dst: add_obj_attrs
      Src: /src/gnutls/lib/pkcs11.c:692,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:694,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:696,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:698,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:699,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:700,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:704,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:715,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:726,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 729
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 729
    functionName: find_obj_session_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_find_objects_final
    - p11_kit_uri_match_token_info
    - gnutls_assert
    - p11_kit_uri_match_module_info
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - _gnutls_debug_log
    - add_obj_attrs
    - gnutls_assert_val
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_obj_session_cb(struct ck_function_list *module,\n\t\t\t       struct
      pkcs11_session_info *sinfo,\n\t\t\t       struct ck_token_info *tinfo,\n\t\t\t
      \      struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:757,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:761,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:763,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - obj
    - ptr
    - session
    - ohandle
    - slot_id
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t
    - void**
    - void**
    - void**
    - unsigned long*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 779
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 779
    functionName: gnutls_pkcs11_obj_get_ptr
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - _pkcs11_traverse_tokens
    - gnutls_assert
    - pkcs11_obj_flags_to_int
    - memset
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_get_ptr(gnutls_pkcs11_obj_t obj, void **ptr,\n\t\t\t
      \     void **session, void **ohandle,\n\t\t\t      unsigned long *slot_id, unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:801,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:804,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:809,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:813,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:817,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:821,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:825,1
    - Dst: p11_kit_uri_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:829,1
    - Dst: p11_kit_uri_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:833,1
    - Dst: p11_kit_uri_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:836,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:840,1
    - Dst: p11_kit_space_strlen
      Src: /src/gnutls/lib/pkcs11.c:849,1
    - Dst: snprintf
      Src: /src/gnutls/lib/pkcs11.c:853,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/pkcs11.c:870,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:880,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 4
    argNames:
    - info
    - itype
    - output
    - output_size
    argTypes:
    - struct p11_kit_uri*
    - gnutls_pkcs11_obj_info_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 888
    functionName: pkcs11_get_info
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - p11_kit_space_strlen
    - p11_kit_uri_get_token_info
    - snprintf
    - p11_kit_uri_get_module_info
    - p11_kit_uri_get_attribute
    - memcpy
    - _gnutls_bin2hex
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs11_get_info(struct p11_kit_uri *info, gnutls_pkcs11_obj_info_t
      itype,\n\t\t    void *output, size_t *output_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/lib/pkcs11.c:904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:906,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:910,1
    - Dst: fgets
      Src: /src/gnutls/lib/pkcs11.c:911,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pkcs11.c:912,1
    - Dst: strchr
      Src: /src/gnutls/lib/pkcs11.c:914,1
    - Dst: strchr
      Src: /src/gnutls/lib/pkcs11.c:919,1
    - Dst: gnutls_pkcs11_add_provider
      Src: /src/gnutls/lib/pkcs11.c:923,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:925,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:926,1
    - Dst: fclose
      Src: /src/gnutls/lib/pkcs11.c:932,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 935
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 935
    functionName: compat_load
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - strchr
    - strncmp
    - _gnutls_debug_log
    - gnutls_pkcs11_add_provider
    - gnutls_assert
    - fgets
    linkageType: ''
    returnType: void
    signature: void compat_load(const char *configfile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_modules_load_and_initialize
      Src: /src/gnutls/lib/pkcs11.c:943,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:946,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:947,1
    - Dst: p11_kit_message
      Src: /src/gnutls/lib/pkcs11.c:948,1
    - Dst: p11_kit_module_get_name
      Src: /src/gnutls/lib/pkcs11.c:953,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:954,1
    - Dst: pkcs11_add_module
      Src: /src/gnutls/lib/pkcs11.c:956,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:958,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:959,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:962,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - trusted
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 968
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 968
    functionName: auto_load
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - free
    - pkcs11_add_module
    - p11_kit_modules_load_and_initialize
    - p11_kit_module_get_name
    - _gnutls_debug_log
    - p11_kit_message
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int auto_load(unsigned trusted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/pkcs11.c:1001,1
    - Dst: p11_kit_pin_register_callback
      Src: /src/gnutls/lib/pkcs11.c:1003,1
    - Dst: auto_load
      Src: /src/gnutls/lib/pkcs11.c:1013,1
    - Dst: compat_load
      Src: /src/gnutls/lib/pkcs11.c:1015,1
    - Dst: auto_load
      Src: /src/gnutls/lib/pkcs11.c:1021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - flags
    - deprecated_config_file
    argTypes:
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 1029
      start: 991
    functionDepth: 4
    functionLinenumber: 991
    functionLinenumberEnd: 1029
    functionName: gnutls_pkcs11_init
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 25
    functionsReached:
    - auto_load
    - compat_load
    - p11_kit_pin_register_callback
    - _gnutls_get_forkid
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_init(unsigned int flags, const char *deprecated_config_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_module_initialize
      Src: /src/gnutls/lib/pkcs11.c:1038,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:1044,1
    - Dst: p11_kit_strerror
      Src: /src/gnutls/lib/pkcs11.c:1048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1054
    functionName: _gnutls_pkcs11_reinit
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - _gnutls_debug_log
    - p11_kit_module_initialize
    - p11_kit_strerror
    linkageType: ''
    returnType: int
    signature: int _gnutls_pkcs11_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/lib/pkcs11.c:1076,1
    - Dst: _gnutls_pkcs11_reinit
      Src: /src/gnutls/lib/pkcs11.c:1079,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/pkcs11.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1084
    functionName: gnutls_pkcs11_reinit
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached:
    - _gnutls_get_forkid
    - _gnutls_pkcs11_reinit
    - _gnutls_detect_fork
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_reinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_module_finalize
      Src: /src/gnutls/lib/pkcs11.c:1109,1
    - Dst: module::C_Finalize
      Src: /src/gnutls/lib/pkcs11.c:1111,1
    - Dst: p11_kit_module_release
      Src: /src/gnutls/lib/pkcs11.c:1113,1
    - Dst: gnutls_pkcs11_set_pin_function
      Src: /src/gnutls/lib/pkcs11.c:1118,1
    - Dst: gnutls_pkcs11_set_token_function
      Src: /src/gnutls/lib/pkcs11.c:1119,1
    - Dst: p11_kit_pin_unregister_callback
      Src: /src/gnutls/lib/pkcs11.c:1120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1122
    functionName: gnutls_pkcs11_deinit
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 15
    functionsReached:
    - p11_kit_module_finalize
    - gnutls_pkcs11_set_pin_function
    - p11_kit_pin_unregister_callback
    - gnutls_pkcs11_set_token_function
    - p11_kit_module_release
    - module::C_Finalize
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs11_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fn
    - userdata
    argTypes:
    - gnutls_pkcs11_token_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1139
    functionName: gnutls_pkcs11_set_token_function
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_pkcs11_set_token_function(gnutls_pkcs11_token_callback_t
      fn,\n\t\t\t\t      void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11.c:1150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1152,1
    - Dst: p11_kit_uri_parse
      Src: /src/gnutls/lib/pkcs11.c:1158,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:1161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1164,1
    - Dst: p11_kit_uri_set_attribute
      Src: /src/gnutls/lib/pkcs11.c:1175,1
    - Dst: p11_kit_uri_set_attribute
      Src: /src/gnutls/lib/pkcs11.c:1181,1
    - Dst: p11_kit_uri_set_attribute
      Src: /src/gnutls/lib/pkcs11.c:1187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - url
    - info
    - flags
    argTypes:
    - char*
    - struct p11_kit_uri**
    - unsigned
    constantsTouched: []
    func_position:
      end: 1191
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1191
    functionName: pkcs11_url_to_info
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - p11_kit_uri_free
    - p11_kit_uri_set_attribute
    - p11_kit_uri_parse
    - p11_kit_uri_new
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs11_url_to_info(const char *url, struct p11_kit_uri **info,\n\t\t
      \      unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_format
      Src: /src/gnutls/lib/pkcs11.c:1212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - info
    - detailed
    - url
    argTypes:
    - struct p11_kit_uri*
    - gnutls_pkcs11_url_type_t
    - char**
    constantsTouched: []
    func_position:
      end: 1220
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1220
    functionName: pkcs11_info_to_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_uri_format
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs11_info_to_url(struct p11_kit_uri *info,\n\t\t       gnutls_pkcs11_url_type_t
      detailed, char **url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pkcs11.c:1235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1237,1
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11.c:1241,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:1243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - gnutls_pkcs11_obj_t*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1249
    functionName: gnutls_pkcs11_obj_init
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 8
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - p11_kit_uri_new
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_obj_init(gnutls_pkcs11_obj_t *obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - obj
    - fn
    - userdata
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1269
    functionName: gnutls_pkcs11_obj_set_pin_function
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_pkcs11_obj_set_pin_function(gnutls_pkcs11_obj_t obj,\n\t\t\t\t\tgnutls_pin_callback_t
      fn,\n\t\t\t\t\tvoid *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:1283,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:1284,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:1285,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - gnutls_pkcs11_obj_t
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: gnutls_pkcs11_obj_deinit
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 15
    functionsReached:
    - free
    - _gnutls_free_datum
    - p11_kit_uri_free
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs11_obj_deinit(gnutls_pkcs11_obj_t obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1313,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1319,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - obj
    - output_data
    - output_data_size
    argTypes:
    - gnutls_pkcs11_obj_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1326
    functionName: gnutls_pkcs11_obj_export
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_export(gnutls_pkcs11_obj_t obj, void *output_data,\n\t\t\t
      \    size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/lib/pkcs11.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - out
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1347
    functionName: gnutls_pkcs11_obj_export2
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_obj_export3
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_obj_export2(gnutls_pkcs11_obj_t obj, gnutls_datum_t
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1372,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1379,1
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/lib/pkcs11.c:1383,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pkcs11.c:1386,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/pkcs11.c:1394,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1396,1
    - Dst: gnutls_pubkey_import_pkcs11
      Src: /src/gnutls/lib/pkcs11.c:1398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1400,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/lib/pkcs11.c:1404,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pkcs11.c:1407,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1412,1
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/lib/pkcs11.c:1416,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pkcs11.c:1419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - obj
    - fmt
    - out
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1423
    functionName: gnutls_pkcs11_obj_export3
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    - gnutls_pubkey_import_pkcs11
    - gnutls_pem_base64_encode2
    - gnutls_pubkey_export2
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_export3(gnutls_pkcs11_obj_t obj,\n\t\t\t      gnutls_x509_crt_fmt_t
      fmt, gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:1438,1
    - Dst: scan_slots
      Src: /src/gnutls/lib/pkcs11.c:1443,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1445,1
    - Dst: pkcs11_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:1453,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:1458,1
    - Dst: pkcs11_get_slot_info
      Src: /src/gnutls/lib/pkcs11.c:1462,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1475,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1478,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1484,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - module
    - slot
    - info
    - _tinfo
    - _slot_info
    - trusted
    argTypes:
    - struct ck_function_list**
    - ck_slot_id_t*
    - struct p11_kit_uri*
    - struct ck_token_info*
    - struct ck_slot_info*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1486
    functionName: pkcs11_find_slot
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_get_token_info
    - p11_kit_uri_match_token_info
    - pkcs11_get_slot_info
    - p11_kit_uri_match_module_info
    - memcpy
    - scan_slots
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs11_find_slot(struct ck_function_list **module, ck_slot_id_t
      *slot,\n\t\t     struct p11_kit_uri *info, struct ck_token_info *_tinfo,\n\t\t
      \    struct ck_slot_info *_slot_info, unsigned int *trusted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:1499,1
    - Dst: pkcs11_find_slot
      Src: /src/gnutls/lib/pkcs11.c:1501,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1504,1
    - Dst: C_OpenSession
      Src: /src/gnutls/lib/pkcs11.c:1508,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1514,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:1515,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1523,1
    - Dst: pkcs11_login
      Src: /src/gnutls/lib/pkcs11.c:1525,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1527,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11.c:1528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - sinfo
    - pin_info
    - info
    - flags
    argTypes:
    - struct pkcs11_session_info*
    - struct pin_info_st*
    - struct p11_kit_uri*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1533
      start: 1488
    functionDepth: 3
    functionLinenumber: 1488
    functionLinenumberEnd: 1533
    functionName: pkcs11_open_session
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 2
    functionsReached:
    - pkcs11_login
    - C_OpenSession
    - pkcs11_rv_to_err
    - pkcs11_find_slot
    - memset
    - memcpy
    - gnutls_assert
    - pkcs11_close_session
    linkageType: ''
    returnType: int
    signature: "int pkcs11_open_session(struct pkcs11_session_info *sinfo,\n\t\t\tstruct
      pin_info_st *pin_info, struct p11_kit_uri *info,\n\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:1556,1
    - Dst: scan_slots
      Src: /src/gnutls/lib/pkcs11.c:1561,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1563,1
    - Dst: pkcs11_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:1572,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:1578,1
    - Dst: pkcs11_get_slot_info
      Src: /src/gnutls/lib/pkcs11.c:1582,1
    - Dst: C_OpenSession
      Src: /src/gnutls/lib/pkcs11.c:1587,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:1596,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1602,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1603,1
    - Dst: pkcs11_login
      Src: /src/gnutls/lib/pkcs11.c:1606,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1608,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11.c:1609,1
    - Dst: find_func
      Src: /src/gnutls/lib/pkcs11.c:1618,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11.c:1625,1
    - Dst: find_func
      Src: /src/gnutls/lib/pkcs11.c:1638,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1641,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11.c:1649,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 73
    argCount: 5
    argNames:
    - find_func
    - input
    - info
    - pin_info
    - flags
    argTypes:
    - find_func_t
    - void*
    - struct p11_kit_uri*
    - struct pin_info_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1653
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1653
    functionName: _pkcs11_traverse_tokens
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - pkcs11_get_token_info
    - pkcs11_login
    - p11_kit_uri_match_token_info
    - pkcs11_get_slot_info
    - p11_kit_uri_match_module_info
    - C_OpenSession
    - find_func
    - memset
    - memcpy
    - gnutls_assert_val
    - scan_slots
    - gnutls_assert
    - pkcs11_close_session
    linkageType: ''
    returnType: int
    signature: "int _pkcs11_traverse_tokens(find_func_t find_func, void *input,\n\t\t\t
      \   struct p11_kit_uri *info,\n\t\t\t    struct pin_info_st *pin_info, unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - gnutls_pkcs11_obj_type_t
    constantsTouched: []
    func_position:
      end: 1673
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1673
    functionName: pkcs11_type_to_class
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ck_object_class_t
    signature: ck_object_class_t pkcs11_type_to_class(gnutls_pkcs11_obj_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:1691,1
    - Dst: pkcs11_class_to_type
      Src: /src/gnutls/lib/pkcs11.c:1709,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1716,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pkcs11.c:1721,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1723,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1729,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:1729,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:1731,1
    - Dst: p11_kit_uri_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:1731,1
    - Dst: p11_kit_uri_set_attribute
      Src: /src/gnutls/lib/pkcs11.c:1738,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1740,1
    - Dst: p11_kit_uri_set_attribute
      Src: /src/gnutls/lib/pkcs11.c:1749,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1751,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pkcs11.c:1771,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1773,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pkcs11.c:1775,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1777,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1790,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1801,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1814,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pkcs11.c:1816,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pkcs11.c:1820,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1825,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:1826,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:1827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1834,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:1835,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1846,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1857,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:1858,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1871,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1882,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:1884,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1899,1
    - Dst: _gnutls_pubkey_parse_ecc_eddsa_params
      Src: /src/gnutls/lib/pkcs11.c:1912,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/pkcs11.c:1918,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11.c:1919,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:1925,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:1927,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:1933,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:1936,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:1943,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:1944,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1986,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:1999,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2012,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2022,1
    - Dst: pkcs11_obj_import
      Src: /src/gnutls/lib/pkcs11.c:2028,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 213
    argCount: 1
    argNames:
    - class
    argTypes:
    - ck_object_class_t
    constantsTouched: []
    func_position:
      end: 2031
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 2031
    functionName: pkcs11_class_to_type
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _gnutls_ecc_curve_get_params
    - pkcs11_obj_import
    - p11_kit_uri_get_token_info
    - p11_kit_uri_set_attribute
    - pkcs11_get_attribute_value
    - _gnutls_free_datum
    - pkcs11_class_to_type
    - p11_kit_uri_get_module_info
    - _gnutls_pubkey_parse_ecc_eddsa_params
    - pkcs11_rv_to_err
    - gnutls_assert_val
    - unlikely
    - memcpy
    - _gnutls_debug_log
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_pkcs11_obj_type_t
    signature: gnutls_pkcs11_obj_type_t pkcs11_class_to_type(ck_object_class_t class)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2053,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2061,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2069,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2077,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2086,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2096,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2109,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2117,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2125,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2133,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2143,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:2154,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2165,1
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11.c:2167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2170,1
    - Dst: pkcs11_obj_import_pubkey
      Src: /src/gnutls/lib/pkcs11.c:2175,1
    - Dst: pkcs11_obj_import
      Src: /src/gnutls/lib/pkcs11.c:2179,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2183,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:2189,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 108
    argCount: 6
    argNames:
    - ctx
    - class
    - sinfo
    - tinfo
    - lib_info
    - pobj
    argTypes:
    - ck_object_handle_t
    - ck_object_class_t
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - gnutls_pkcs11_obj_t
    constantsTouched: []
    func_position:
      end: 2191
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2191
    functionName: pkcs11_import_object
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pkcs11_obj_import_pubkey
    - pkcs11_obj_import
    - gnutls_assert
    - pkcs11_get_attribute_value
    - gnutls_assert_val
    - pkcs11_get_attribute_avalue
    linkageType: ''
    returnType: int
    signature: "int pkcs11_import_object(ck_object_handle_t ctx, ck_object_class_t
      class,\n\t\t\t\tstruct pkcs11_session_info *sinfo,\n\t\t\t\tstruct ck_token_info
      *tinfo,\n\t\t\t\tstruct ck_info *lib_info,\n\t\t\t\tgnutls_pkcs11_obj_t pobj)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2209,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:2215,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:2216,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2217,1
    - Dst: add_obj_attrs
      Src: /src/gnutls/lib/pkcs11.c:2221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2223,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:2225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2227,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2228,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:2229,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:2233,1
    - Dst: pkcs11_import_object
      Src: /src/gnutls/lib/pkcs11.c:2236,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2242,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2246,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:2253,1
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11.c:2258,1
    - Dst: pkcs11_override_cert_exts
      Src: /src/gnutls/lib/pkcs11.c:2261,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:2263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 2272
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2272
    functionName: find_single_obj_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pkcs11_find_objects_final
    - p11_kit_uri_match_token_info
    - gnutls_assert
    - pkcs11_get_attribute_avalue
    - p11_kit_uri_match_module_info
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - pkcs11_import_object
    - _gnutls_debug_log
    - add_obj_attrs
    - gnutls_assert_val
    - pkcs11_override_cert_exts
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_single_obj_cb(struct ck_function_list *module,\n\t\t\t      struct
      pkcs11_session_info *sinfo,\n\t\t\t      struct ck_token_info *tinfo,\n\t\t\t
      \     struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2289
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2289
    functionName: pkcs11_obj_flags_to_int
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int pkcs11_obj_flags_to_int(unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:2318,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:2323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2325,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:2333,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:2335,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - obj
    - url
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2342
      start: 2311
    functionDepth: 3
    functionLinenumber: 2311
    functionLinenumberEnd: 2342
    functionName: gnutls_pkcs11_obj_import_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 8
    functionsReached:
    - _pkcs11_traverse_tokens
    - pkcs11_url_to_info
    - pkcs11_obj_flags_to_int
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_import_url(gnutls_pkcs11_obj_t obj, const char
      *url,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2352,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2357,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2357,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2359,1
    - Dst: p11_kit_uri_get_module_info
      Src: /src/gnutls/lib/pkcs11.c:2359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2344
    functionDepth: 1
    functionLinenumber: 2344
    functionLinenumberEnd: 2368
    functionName: find_token_num_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - memcpy
    - p11_kit_uri_get_token_info
    - gnutls_assert
    - p11_kit_uri_get_module_info
    linkageType: ''
    returnType: int
    signature: "int find_token_num_cb(struct ck_function_list *module,\n\t\t\t     struct
      pkcs11_session_info *sinfo,\n\t\t\t     struct ck_token_info *tinfo,\n\t\t\t
      \    struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2378,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:2382,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:2383,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2384,1
    - Dst: p11_kit_config_option
      Src: /src/gnutls/lib/pkcs11.c:2388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 2392
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2392
    functionName: find_token_modname_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_uri_match_token_info
    - p11_kit_uri_match_module_info
    - gnutls_assert
    - p11_kit_config_option
    linkageType: ''
    returnType: int
    signature: "int find_token_modname_cb(struct ck_function_list *module,\n\t\t\t\t
      struct pkcs11_session_info *sinfo,\n\t\t\t\t struct ck_token_info *tinfo,\n\t\t\t\t
      struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:2425,1
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11.c:2427,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:2429,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2432,1
    - Dst: pkcs11_info_to_url
      Src: /src/gnutls/lib/pkcs11.c:2436,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2437,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - seq
    - detailed
    - url
    - flags
    argTypes:
    - unsigned int
    - gnutls_pkcs11_url_type_t
    - char**
    - unsigned
    constantsTouched: []
    func_position:
      end: 2445
      start: 2414
    functionDepth: 3
    functionLinenumber: 2414
    functionLinenumberEnd: 2445
    functionName: _gnutls_pkcs11_token_get_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_info_to_url
    - p11_kit_uri_new
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs11_token_get_url(unsigned int seq,\n\t\t\t\t gnutls_pkcs11_url_type_t
      detailed, char **url,\n\t\t\t\t unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pkcs11_token_get_url
      Src: /src/gnutls/lib/pkcs11.c:2465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - seq
    - detailed
    - url
    argTypes:
    - unsigned int
    - gnutls_pkcs11_url_type_t
    - char**
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 4
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: gnutls_pkcs11_token_get_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 4
    functionsReached:
    - _gnutls_pkcs11_token_get_url
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_get_url(unsigned int seq,\n\t\t\t\tgnutls_pkcs11_url_type_t
      detailed, char **url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:2501,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2503,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2509,1
    - Dst: p11_kit_space_strlen
      Src: /src/gnutls/lib/pkcs11.c:2510,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2513,1
    - Dst: p11_kit_space_strlen
      Src: /src/gnutls/lib/pkcs11.c:2514,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2517,1
    - Dst: p11_kit_space_strlen
      Src: /src/gnutls/lib/pkcs11.c:2518,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2521,1
    - Dst: p11_kit_space_strlen
      Src: /src/gnutls/lib/pkcs11.c:2522,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:2527,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:2530,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2533,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11.c:2540,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2548,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2555,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2565,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2566,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 4
    argNames:
    - url
    - ttype
    - output
    - output_size
    argTypes:
    - char*
    - gnutls_pkcs11_token_info_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2489
    functionDepth: 3
    functionLinenumber: 2489
    functionLinenumberEnd: 2568
    functionName: gnutls_pkcs11_token_get_info
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 2
    functionsReached:
    - p11_kit_space_strlen
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - strlen
    - p11_kit_uri_get_token_info
    - free
    - memset
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_get_info(const char *url,\n\t\t\t\t gnutls_pkcs11_token_info_t
      ttype, void *output,\n\t\t\t\t size_t *output_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:2595,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2597,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:2601,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:2604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2607,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2619,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - url
    - ptr
    - slot_id
    - flags
    argTypes:
    - char*
    - void**
    - unsigned long*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2622
      start: 2586
    functionDepth: 3
    functionLinenumber: 2586
    functionLinenumberEnd: 2622
    functionName: gnutls_pkcs11_token_get_ptr
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - free
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_get_ptr(const char *url, void **ptr,\n\t\t\t\tunsigned
      long *slot_id, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_info_to_url
      Src: /src/gnutls/lib/pkcs11.c:2642,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - detailed
    - url
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_pkcs11_url_type_t
    - char**
    constantsTouched: []
    func_position:
      end: 2649
      start: 2637
    functionDepth: 1
    functionLinenumber: 2637
    functionLinenumberEnd: 2649
    functionName: gnutls_pkcs11_obj_export_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 5
    functionsReached:
    - gnutls_assert
    - pkcs11_info_to_url
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_export_url(gnutls_pkcs11_obj_t obj,\n\t\t\t\t
      gnutls_pkcs11_url_type_t detailed, char **url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - gnutls_pkcs11_obj_t
    constantsTouched: []
    func_position:
      end: 2665
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2665
    functionName: gnutls_pkcs11_obj_get_type
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gnutls_pkcs11_obj_type_t
    signature: gnutls_pkcs11_obj_type_t gnutls_pkcs11_obj_get_type(gnutls_pkcs11_obj_t
      obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_space_strdup
      Src: /src/gnutls/lib/pkcs11.c:2677,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2680,1
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11.c:2684,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2686,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2687,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2691,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2691,1
    - Dst: p11_kit_pin_request
      Src: /src/gnutls/lib/pkcs11.c:2712,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2713,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2714,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2717,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - pinfile
    - token_info
    - attempts
    - user_type
    - pin
    argTypes:
    - char*
    - struct ck_token_info*
    - int
    - ck_user_type_t
    - struct p11_kit_pin**
    constantsTouched: []
    func_position:
      end: 2723
      start: 2667
    functionDepth: 1
    functionLinenumber: 2667
    functionLinenumberEnd: 2723
    functionName: retrieve_pin_from_source
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_uri_free
    - free
    - p11_kit_uri_get_token_info
    - p11_kit_space_strdup
    - p11_kit_pin_request
    - p11_kit_uri_new
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int retrieve_pin_from_source(const char *pinfile,\n\t\t\t\t    struct
      ck_token_info *token_info,\n\t\t\t\t    int attempts, ck_user_type_t user_type,\n\t\t\t\t
      \   struct p11_kit_pin **pin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_space_strdup
      Src: /src/gnutls/lib/pkcs11.c:2737,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2740,1
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11.c:2744,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2746,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2747,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2751,1
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2751,1
    - Dst: pkcs11_info_to_url
      Src: /src/gnutls/lib/pkcs11.c:2753,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:2754,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2757,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2758,1
    - Dst: struct pin_info_st*::cb
      Src: /src/gnutls/lib/pkcs11.c:2783,1
    - Dst: _gnutls_pin_func
      Src: /src/gnutls/lib/pkcs11.c:2787,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2791,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2793,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2794,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2797,1
    - Dst: p11_kit_pin_new_for_string
      Src: /src/gnutls/lib/pkcs11.c:2799,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2802,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 5
    argNames:
    - pin_info
    - token_info
    - attempts
    - user_type
    - pin
    argTypes:
    - struct pin_info_st*
    - struct ck_token_info*
    - int
    - ck_user_type_t
    - struct p11_kit_pin**
    constantsTouched: []
    func_position:
      end: 2805
      start: 2725
    functionDepth: 1
    functionLinenumber: 2725
    functionLinenumberEnd: 2805
    functionName: retrieve_pin_from_callback
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - struct pin_info_st*::cb
    - p11_kit_uri_free
    - p11_kit_pin_new_for_string
    - free
    - p11_kit_uri_get_token_info
    - _gnutls_pin_func
    - p11_kit_space_strdup
    - pkcs11_info_to_url
    - p11_kit_uri_new
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int retrieve_pin_from_callback(const struct pin_info_st *pin_info,\n\t\t\t\t
      \     struct ck_token_info *token_info,\n\t\t\t\t      int attempts, ck_user_type_t
      user_type,\n\t\t\t\t      struct p11_kit_pin **pin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_get_pin_value
      Src: /src/gnutls/lib/pkcs11.c:2817,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2820,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2822,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2825,1
    - Dst: p11_kit_pin_new_for_string
      Src: /src/gnutls/lib/pkcs11.c:2826,1
    - Dst: p11_kit_uri_get_pin_source
      Src: /src/gnutls/lib/pkcs11.c:2831,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2834,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:2836,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2840,1
    - Dst: retrieve_pin_from_source
      Src: /src/gnutls/lib/pkcs11.c:2842,1
    - Dst: retrieve_pin_from_callback
      Src: /src/gnutls/lib/pkcs11.c:2849,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2856,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - pin_info
    - info
    - token_info
    - attempts
    - user_type
    - pin
    argTypes:
    - struct pin_info_st*
    - struct p11_kit_uri*
    - struct ck_token_info*
    - int
    - ck_user_type_t
    - struct p11_kit_pin**
    constantsTouched: []
    func_position:
      end: 2862
      start: 2807
    functionDepth: 2
    functionLinenumber: 2807
    functionLinenumberEnd: 2862
    functionName: pkcs11_retrieve_pin
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - retrieve_pin_from_callback
    - p11_kit_pin_new_for_string
    - gnutls_assert
    - p11_kit_uri_get_pin_value
    - retrieve_pin_from_source
    - _gnutls_debug_log
    - p11_kit_uri_get_pin_source
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int pkcs11_retrieve_pin(struct pin_info_st *pin_info, struct p11_kit_uri
      *info,\n\t\t\tstruct ck_token_info *token_info, int attempts,\n\t\t\tck_user_type_t
      user_type, struct p11_kit_pin **pin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2874,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2888,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2889,1
    - Dst: C_Login
      Src: /src/gnutls/lib/pkcs11.c:2897,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2901,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2902,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:2903,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:2912,1
    - Dst: C_GetSessionInfo
      Src: /src/gnutls/lib/pkcs11.c:2916,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2924,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2933,1
    - Dst: pkcs11_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2943,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2946,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2947,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:2949,1
    - Dst: pkcs11_retrieve_pin
      Src: /src/gnutls/lib/pkcs11.c:2954,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:2957,1
    - Dst: C_Login
      Src: /src/gnutls/lib/pkcs11.c:2961,1
    - Dst: p11_kit_pin_get_value
      Src: /src/gnutls/lib/pkcs11.c:2963,1
    - Dst: p11_kit_pin_get_length
      Src: /src/gnutls/lib/pkcs11.c:2965,1
    - Dst: p11_kit_pin_unref
      Src: /src/gnutls/lib/pkcs11.c:2967,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:2970,1
    - Dst: p11_kit_strerror
      Src: /src/gnutls/lib/pkcs11.c:2971,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:2975,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - sinfo
    - pin_info
    - info
    - flags
    argTypes:
    - struct pkcs11_session_info*
    - struct pin_info_st*
    - struct p11_kit_uri*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2979
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 2979
    functionName: pkcs11_login
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 2
    functionsReached:
    - pkcs11_get_token_info
    - pkcs11_retrieve_pin
    - p11_kit_strerror
    - p11_kit_pin_unref
    - pkcs11_rv_to_err
    - C_Login
    - p11_kit_pin_get_length
    - memcpy
    - _gnutls_debug_log
    - C_GetSessionInfo
    - gnutls_assert
    - p11_kit_pin_get_value
    linkageType: ''
    returnType: int
    signature: "int pkcs11_login(struct pkcs11_session_info *sinfo,\n\t\t struct pin_info_st
      *pin_info, struct p11_kit_uri *info,\n\t\t unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_get_token_info
      Src: /src/gnutls/lib/pkcs11.c:2987,1
    - Dst: p11_kit_space_strdup
      Src: /src/gnutls/lib/pkcs11.c:2988,1
    - Dst: free
      Src: /src/gnutls/lib/pkcs11.c:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - info
    - retry
    argTypes:
    - struct p11_kit_uri*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2993
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2993
    functionName: pkcs11_call_token_func
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_uri_get_token_info
    - free
    - p11_kit_space_strdup
    linkageType: ''
    returnType: int
    signature: int pkcs11_call_token_func(struct p11_kit_uri *info, const unsigned
      retry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:3015,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3017,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:3018,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:3022,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:3028,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3031,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/pkcs11.c:3035,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3038,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:3047,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3049,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:3050,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:3054,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/pkcs11.c:3061,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:3063,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/pkcs11.c:3065,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3069,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:3074,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - sinfo
    - tinfo
    - list
    argTypes:
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct find_pkey_list_st*
    constantsTouched: []
    func_position:
      end: 3079
      start: 2995
    functionDepth: 1
    functionLinenumber: 2995
    functionLinenumberEnd: 3079
    functionName: find_privkeys
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - pkcs11_find_objects_final
    - pkcs11_rv_to_err
    - _gnutls_buffer_init
    - pkcs11_find_objects
    - pkcs11_get_attribute_value
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_reallocarray
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_privkeys(struct pkcs11_session_info *sinfo,\n\t\t\t struct
      ck_token_info *tinfo,\n\t\t\t struct find_pkey_list_st *list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3105,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:3111,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:3112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3113,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:3117,1
    - Dst: find_privkeys
      Src: /src/gnutls/lib/pkcs11.c:3120,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3127,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:3134,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3156,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3168,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3179,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3193,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3202,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3211,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3220,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:3223,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3229,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11.c:3232,1
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/pkcs11.c:3238,1
    - Dst: p11_kit_iter_new
      Src: /src/gnutls/lib/pkcs11.c:3241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3243,1
    - Dst: p11_kit_iter_add_filter
      Src: /src/gnutls/lib/pkcs11.c:3247,1
    - Dst: p11_kit_iter_begin_with
      Src: /src/gnutls/lib/pkcs11.c:3248,1
    - Dst: p11_kit_iter_next
      Src: /src/gnutls/lib/pkcs11.c:3250,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11.c:3251,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/pkcs11.c:3251,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3252,1
    - Dst: xtimes
      Src: /src/gnutls/lib/pkcs11.c:3257,1
    - Dst: xsum
      Src: /src/gnutls/lib/pkcs11.c:3257,1
    - Dst: size_overflow_p
      Src: /src/gnutls/lib/pkcs11.c:3258,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3259,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/pkcs11.c:3262,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3266,1
    - Dst: p11_kit_iter_get_attributes
      Src: /src/gnutls/lib/pkcs11.c:3275,1
    - Dst: p11_kit_iter_get_attributes
      Src: /src/gnutls/lib/pkcs11.c:3289,1
    - Dst: memcmp
      Src: /src/gnutls/lib/pkcs11.c:3297,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:3301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3304,1
    - Dst: pkcs11_import_object
      Src: /src/gnutls/lib/pkcs11.c:3308,1
    - Dst: p11_kit_iter_get_object
      Src: /src/gnutls/lib/pkcs11.c:3309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3312,1
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11.c:3320,1
    - Dst: p11_kit_iter_get_object
      Src: /src/gnutls/lib/pkcs11.c:3322,1
    - Dst: pkcs11_override_cert_exts
      Src: /src/gnutls/lib/pkcs11.c:3325,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:3330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3332,1
    - Dst: p11_kit_iter_free
      Src: /src/gnutls/lib/pkcs11.c:3340,1
    - Dst: p11_kit_iter_free
      Src: /src/gnutls/lib/pkcs11.c:3346,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/pkcs11.c:3349,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:3351,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:3355,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:3357,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 206
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 3363
      start: 3083
    functionDepth: 2
    functionLinenumber: 3083
    functionLinenumberEnd: 3363
    functionName: find_multi_objs_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_iter_get_attributes
    - _gnutls_buffer_clear
    - p11_kit_iter_new
    - gnutls_assert_val
    - p11_kit_iter_free
    - p11_kit_iter_add_filter
    - gnutls_pkcs11_obj_deinit
    - xtimes
    - p11_kit_uri_get_attribute
    - memcmp
    - p11_kit_uri_match_module_info
    - unlikely
    - memset
    - pkcs11_override_cert_exts
    - size_overflow_p
    - p11_kit_iter_get_object
    - _gnutls_assert_log
    - p11_kit_uri_match_token_info
    - p11_kit_iter_next
    - pkcs11_import_object
    - INT_ADD_OVERFLOW
    - pkcs11_get_attribute_avalue
    - find_privkeys
    - gnutls_pkcs11_obj_init
    - gnutls_free
    - _gnutls_reallocarray_fast
    - p11_kit_iter_begin_with
    - gnutls_assert
    - xsum
    linkageType: ''
    returnType: int
    signature: "int find_multi_objs_cb(struct ck_function_list *module,\n\t\t\t      struct
      pkcs11_session_info *sinfo,\n\t\t\t      struct ck_token_info *tinfo,\n\t\t\t
      \     struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_list_import_url4
      Src: /src/gnutls/lib/pkcs11.c:3406,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3408,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:3413,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:3415,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3416,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:3421,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:3422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - p_list
    - n_list
    - url
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t*
    - unsigned int*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3425
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3425
    functionName: gnutls_pkcs11_obj_list_import_url3
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_list_import_url4
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_list_import_url3(gnutls_pkcs11_obj_t *p_list,\n\t\t\t\t
      \      unsigned int *n_list, const char *url,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_FLAGS
      Src: /src/gnutls/lib/pkcs11.c:3463,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:3465,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:3474,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3476,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:3484,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:3485,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:3486,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - p_list
    - n_list
    - url
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t**
    - unsigned int*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3502
      start: 3456
    functionDepth: 3
    functionLinenumber: 3456
    functionLinenumberEnd: 3502
    functionName: gnutls_pkcs11_obj_list_import_url4
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 6
    functionsReached:
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - PKCS11_CHECK_INIT_FLAGS
    - pkcs11_obj_flags_to_int
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_list_import_url4(gnutls_pkcs11_obj_t **p_list,\n\t\t\t\t
      \      unsigned int *n_list, const char *url,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pkcs11.c:3520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - pkcs11_crt
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_pkcs11_obj_t
    constantsTouched: []
    func_position:
      end: 3522
      start: 3517
    functionDepth: 1
    functionLinenumber: 3517
    functionLinenumberEnd: 3522
    functionName: gnutls_x509_crt_import_pkcs11
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_import
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_import_pkcs11(gnutls_x509_crt_t crt,\n\t\t\t\t
      \ gnutls_pkcs11_obj_t pkcs11_crt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:3545,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3547,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/lib/pkcs11.c:3552,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/lib/pkcs11.c:3555,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3558,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pkcs11.c:3562,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3564,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:3571,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - crt
    - url
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3573
      start: 3539
    functionDepth: 4
    functionLinenumber: 3539
    functionLinenumberEnd: 3573
    functionName: _gnutls_x509_crt_import_pkcs11_url
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_x509_crt_import
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_set_pin_function
    - gnutls_pkcs11_obj_import_url
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_import_pkcs11_url(gnutls_x509_crt_t crt, const
      char *url,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pkcs11.c:3599,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3601,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/lib/pkcs11.c:3605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3607,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pkcs11.c:3616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - certs
    - cert_max
    - objs
    - flags
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned int
    - gnutls_pkcs11_obj_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3620
      start: 3590
    functionDepth: 2
    functionLinenumber: 3590
    functionLinenumberEnd: 3620
    functionName: gnutls_x509_crt_list_import_pkcs11
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import_pkcs11
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t *certs,\n\t\t\t\t
      \      unsigned int cert_max,\n\t\t\t\t       gnutls_pkcs11_obj_t *const objs,\n\t\t\t\t
      \      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3630,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11.c:3636,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11.c:3637,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3638,1
    - Dst: p11_kit_module_get_flags
      Src: /src/gnutls/lib/pkcs11.c:3643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 3651
      start: 3622
    functionDepth: 0
    functionLinenumber: 3622
    functionLinenumberEnd: 3651
    functionName: find_flags_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - p11_kit_uri_match_token_info
    - p11_kit_uri_match_module_info
    - gnutls_assert
    - p11_kit_module_get_flags
    linkageType: ''
    returnType: int
    signature: "int find_flags_cb(struct ck_function_list *module,\n\t\t\t struct
      pkcs11_session_info *sinfo,\n\t\t\t struct ck_token_info *tinfo, struct ck_info
      *lib_info,\n\t\t\t void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:3673,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:3674,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3676,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:3680,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:3682,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3685,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - url
    - flags
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3739
      start: 3666
    functionDepth: 3
    functionLinenumber: 3666
    functionLinenumberEnd: 3739
    functionName: gnutls_pkcs11_token_get_flags
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 5
    functionsReached:
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_token_get_flags(const char *url, unsigned int *flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:3769,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3771,1
    - Dst: pkcs11_find_slot
      Src: /src/gnutls/lib/pkcs11.c:3775,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:3776,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3779,1
    - Dst: pkcs11_get_mechanism_list
      Src: /src/gnutls/lib/pkcs11.c:3784,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3786,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:3787,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - url
    - idx
    - mechanism
    argTypes:
    - char*
    - unsigned int
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3798
      start: 3755
    functionDepth: 3
    functionLinenumber: 3755
    functionLinenumberEnd: 3798
    functionName: gnutls_pkcs11_token_get_mechanism
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 5
    functionsReached:
    - pkcs11_get_mechanism_list
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - pkcs11_rv_to_err
    - pkcs11_find_slot
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_get_mechanism(const char *url, unsigned int
      idx,\n\t\t\t\t      unsigned long *mechanism)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:3830,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3832,1
    - Dst: pkcs11_find_slot
      Src: /src/gnutls/lib/pkcs11.c:3836,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:3837,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3840,1
    - Dst: pkcs11_get_mechanism_info
      Src: /src/gnutls/lib/pkcs11.c:3844,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3846,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:3852,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:3854,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11.c:3855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - url
    - mechanism
    - ptr
    - psize
    - flags
    argTypes:
    - char*
    - unsigned long
    - void*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 3859
      start: 3816
    functionDepth: 3
    functionLinenumber: 3816
    functionLinenumberEnd: 3859
    functionName: gnutls_pkcs11_token_check_mechanism
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 4
    functionsReached:
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - pkcs11_get_mechanism_info
    - pkcs11_find_slot
    - memset
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_pkcs11_token_check_mechanism(const char *url,\n\t\t\t\t\t
      \    unsigned long mechanism, void *ptr,\n\t\t\t\t\t     unsigned psize, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - gnutls_pkcs11_obj_type_t
    constantsTouched: []
    func_position:
      end: 3893
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3893
    functionName: gnutls_pkcs11_type_get_name
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pkcs11_type_get_name(gnutls_pkcs11_obj_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pkcs11.c:3903,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3905,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pkcs11.c:3909,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3917,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/pkcs11.c:3922,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:3924,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3933,1
    - Dst: _gnutls_check_if_same_key
      Src: /src/gnutls/lib/pkcs11.c:3938,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:3940,1
    - Dst: _gnutls_check_valid_key_id
      Src: /src/gnutls/lib/pkcs11.c:3948,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:3949,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:3951,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pkcs11.c:3965,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 5
    argNames:
    - priv
    - ctx
    - data
    - now
    - cand_ctx
    argTypes:
    - struct find_cert_st*
    - ck_object_handle_t
    - gnutls_datum_t*
    - time_t
    - ck_object_handle_t*
    constantsTouched: []
    func_position:
      end: 3967
      start: 3895
    functionDepth: 1
    functionLinenumber: 3895
    functionLinenumberEnd: 3967
    functionName: check_found_cert
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - _gnutls_check_if_same_key
    - _gnutls_check_valid_key_id
    - gnutls_x509_crt_equals
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int check_found_cert(struct find_cert_st *priv, ck_object_handle_t
      ctx,\n\t\t\t    gnutls_datum_t *data, time_t now,\n\t\t\t    ck_object_handle_t
      *cand_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11.c:3979,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:3990,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:3999,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 9
    argNames:
    - sinfo
    - object
    - data
    - label
    - label_size
    - id
    - id_size
    - o_label
    - o_id
    argTypes:
    - struct pkcs11_session_info*
    - ck_object_handle_t
    - gnutls_datum_t*
    - char*
    - size_t
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 4006
      start: 3969
    functionDepth: 1
    functionLinenumber: 3969
    functionLinenumberEnd: 4006
    functionName: get_data_and_attrs
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_get_attribute_value
    - _gnutls_free_datum
    - _gnutls_debug_log
    - pkcs11_get_attribute_avalue
    linkageType: ''
    returnType: int
    signature: "int get_data_and_attrs(struct pkcs11_session_info *sinfo,\n\t\t\t
      \     ck_object_handle_t object, gnutls_datum_t *data,\n\t\t\t      char *label,
      size_t label_size, uint8_t *id,\n\t\t\t      size_t id_size, gnutls_datum_t
      *o_label,\n\t\t\t      gnutls_datum_t *o_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/pkcs11.c:4020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4026
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4026
    functionName: distrust_purpose_from_oid
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: enum distrust_purpose
    signature: enum distrust_purpose distrust_purpose_from_oid(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4044,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11.c:4051,1
    - Dst: _gnutls_utcTime2gtime
      Src: /src/gnutls/lib/pkcs11.c:4057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sinfo
    - object
    - purpose
    argTypes:
    - struct pkcs11_session_info*
    - ck_object_handle_t
    - enum distrust_purpose
    constantsTouched: []
    func_position:
      end: 4058
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4058
    functionName: get_distrust_after
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - pkcs11_get_attribute_value
    - _gnutls_utcTime2gtime
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: "time_t get_distrust_after(struct pkcs11_session_info *sinfo,\n\t\t\t\t
      ck_object_handle_t object,\n\t\t\t\t enum distrust_purpose purpose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4083,1
    - Dst: memcmp
      Src: /src/gnutls/lib/pkcs11.c:4089,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4090,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:4097,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/pkcs11.c:4106,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11.c:4124,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11.c:4173,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4176,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4177,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11.c:4178,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11.c:4182,1
    - Dst: get_data_and_attrs
      Src: /src/gnutls/lib/pkcs11.c:4193,1
    - Dst: check_found_cert
      Src: /src/gnutls/lib/pkcs11.c:4199,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pkcs11.c:4202,1
    - Dst: get_data_and_attrs
      Src: /src/gnutls/lib/pkcs11.c:4213,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:4225,1
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11.c:4235,1
    - Dst: pkcs11_override_cert_exts
      Src: /src/gnutls/lib/pkcs11.c:4239,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4243,1
    - Dst: get_distrust_after
      Src: /src/gnutls/lib/pkcs11.c:4253,1
    - Dst: pkcs11_obj_import
      Src: /src/gnutls/lib/pkcs11.c:4259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4272,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4279,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11.c:4281,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 140
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 4284
      start: 4060
    functionDepth: 2
    functionLinenumber: 4060
    functionLinenumberEnd: 4284
    functionName: find_cert_cb
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_time
    - gnutls_free
    - pkcs11_find_objects_final
    - pkcs11_obj_import
    - check_found_cert
    - _gnutls_free_datum
    - gnutls_assert
    - pkcs11_get_attribute_avalue
    - memcmp
    - pkcs11_rv_to_err
    - get_data_and_attrs
    - pkcs11_find_objects
    - _gnutls_debug_log
    - get_distrust_after
    - gnutls_assert_val
    - pkcs11_override_cert_exts
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_cert_cb(struct ck_function_list *module,\n\t\t\tstruct pkcs11_session_info
      *sinfo,\n\t\t\tstruct ck_token_info *tinfo, struct ck_info *lib_info,\n\t\t\tvoid
      *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_FLAGS
      Src: /src/gnutls/lib/pkcs11.c:4314,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4316,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:4322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4324,1
    - Dst: gnutls_x509_crt_get_authority_key_id
      Src: /src/gnutls/lib/pkcs11.c:4329,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:4343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4345,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/lib/pkcs11.c:4349,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4354,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4355,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4360,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4366,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/lib/pkcs11.c:4370,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4372,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4380,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:4382,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 5
    argNames:
    - url
    - cert
    - issuer
    - fmt
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4385
      start: 4304
    functionDepth: 4
    functionLinenumber: 4304
    functionLinenumberEnd: 4385
    functionName: gnutls_pkcs11_get_raw_issuer
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs11_obj_init
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - gnutls_pkcs11_obj_deinit
    - pkcs11_url_to_info
    - PKCS11_CHECK_INIT_FLAGS
    - gnutls_pkcs11_obj_set_pin_function
    - pkcs11_obj_flags_to_int
    - gnutls_x509_crt_get_authority_key_id
    - memset
    - gnutls_pkcs11_obj_export3
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_get_raw_issuer(const char *url, gnutls_x509_crt_t
      cert,\n\t\t\t\t gnutls_datum_t *issuer,\n\t\t\t\t gnutls_x509_crt_fmt_t fmt,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_FLAGS
      Src: /src/gnutls/lib/pkcs11.c:4418,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4420,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:4426,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4428,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:4440,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4442,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4447,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4450,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/lib/pkcs11.c:4454,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4456,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4464,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:4466,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 5
    argNames:
    - url
    - dn
    - issuer
    - fmt
    - flags
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4469
      start: 4408
    functionDepth: 4
    functionLinenumber: 4408
    functionLinenumberEnd: 4469
    functionName: gnutls_pkcs11_get_raw_issuer_by_dn
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - gnutls_pkcs11_obj_deinit
    - pkcs11_url_to_info
    - PKCS11_CHECK_INIT_FLAGS
    - pkcs11_obj_flags_to_int
    - memset
    - gnutls_pkcs11_obj_export3
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_get_raw_issuer_by_dn(const char *url,\n\t\t\t\t
      \      const gnutls_datum_t *dn,\n\t\t\t\t       gnutls_datum_t *issuer,\n\t\t\t\t
      \      gnutls_x509_crt_fmt_t fmt,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_FLAGS
      Src: /src/gnutls/lib/pkcs11.c:4501,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4503,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:4509,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4511,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:4528,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4530,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4535,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4536,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4538,1
    - Dst: gnutls_pkcs11_obj_export3
      Src: /src/gnutls/lib/pkcs11.c:4542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4544,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4552,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:4554,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 6
    argNames:
    - url
    - dn
    - spki
    - issuer
    - fmt
    - flags
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4557
      start: 4493
    functionDepth: 4
    functionLinenumber: 4493
    functionLinenumberEnd: 4557
    functionName: gnutls_pkcs11_get_raw_issuer_by_subject_key_id
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - gnutls_pkcs11_obj_deinit
    - pkcs11_url_to_info
    - PKCS11_CHECK_INIT_FLAGS
    - pkcs11_obj_flags_to_int
    - memset
    - gnutls_pkcs11_obj_export3
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_get_raw_issuer_by_subject_key_id(\n\tconst char
      *url, const gnutls_datum_t *dn, const gnutls_datum_t *spki,\n\tgnutls_datum_t
      *issuer, gnutls_x509_crt_fmt_t fmt, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_FLAGS_RET
      Src: /src/gnutls/lib/pkcs11.c:4569,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4571,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:4574,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4576,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:4586,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4588,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/pkcs11.c:4594,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4596,1
    - Dst: _gnutls_x509_ext_gen_number
      Src: /src/gnutls/lib/pkcs11.c:4601,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4603,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4621,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4622,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4627,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4629,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4630,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4631,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11.c:4633,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4635,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4645,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4646,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4649,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4650,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pkcs11.c:4656,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4658,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/lib/pkcs11.c:4662,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4664,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pkcs11.c:4665,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4674,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:4676,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4677,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 4
    argNames:
    - url
    - cert
    - flags
    - trusted_cert
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - unsigned int
    - gnutls_x509_crt_t*
    constantsTouched: []
    func_position:
      end: 4680
      start: 4559
    functionDepth: 3
    functionLinenumber: 4559
    functionLinenumberEnd: 4680
    functionName: _gnutls_pkcs11_crt_is_known
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - _pkcs11_traverse_tokens
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - pkcs11_url_to_info
    - gnutls_x509_crt_init
    - _gnutls_debug_log
    - gnutls_x509_crt_deinit
    - p11_kit_uri_free
    - pkcs11_obj_flags_to_int
    - PKCS11_CHECK_INIT_FLAGS_RET
    - _gnutls_x509_ext_gen_number
    - memset
    - gnutls_x509_crt_get_serial
    - gnutls_assert
    - gnutls_x509_crt_import_pkcs11
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t
      cert,\n\t\t\t\t     unsigned int flags,\n\t\t\t\t     gnutls_x509_crt_t *trusted_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/lib/pkcs11.c:4709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url
    - cert
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4710
      start: 4706
    functionDepth: 4
    functionLinenumber: 4706
    functionLinenumberEnd: 4710
    functionName: gnutls_pkcs11_crt_is_known
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached:
    - _gnutls_pkcs11_crt_is_known
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_pkcs11_crt_is_known(const char *url, gnutls_x509_crt_t
      cert,\n\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - oflags
    argTypes:
    - gnutls_pkcs11_obj_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 4731
      start: 4726
    functionDepth: 0
    functionLinenumber: 4726
    functionLinenumberEnd: 4731
    functionName: gnutls_pkcs11_obj_get_flags
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_obj_get_flags(gnutls_pkcs11_obj_t obj, unsigned int
      *oflags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/pkcs11.c:4754,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4756,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4759,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4763,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4766,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4769,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4772,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4775,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4778,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/pkcs11.c:4781,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/pkcs11.c:4783,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4785,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4792
      start: 4745
    functionDepth: 1
    functionLinenumber: 4745
    functionLinenumberEnd: 4792
    functionName: gnutls_pkcs11_obj_flags_get_str
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_init
    - _gnutls_buffer_to_datum
    - gnutls_assert
    - _gnutls_buffer_append_str
    linkageType: ''
    returnType: char
    signature: char *gnutls_pkcs11_obj_flags_get_str(unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: distrust_purpose_from_oid
      Src: /src/gnutls/lib/pkcs11.c:4806,1
    - Dst: PKCS11_CHECK_INIT_FLAGS_RET
      Src: /src/gnutls/lib/pkcs11.c:4811,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4813,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11.c:4819,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4821,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/pkcs11.c:4827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4829,1
    - Dst: _gnutls_x509_ext_gen_number
      Src: /src/gnutls/lib/pkcs11.c:4834,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4836,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4855,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4856,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4858,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4861,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4863,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4864,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11.c:4865,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11.c:4872,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11.c:4873,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11.c:4876,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11.c:4877,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11.c:4887,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11.c:4889,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11.c:4890,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - url
    - cert
    - purpose
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4893
      start: 4794
    functionDepth: 3
    functionLinenumber: 4794
    functionLinenumberEnd: 4893
    functionName: _gnutls_pkcs11_get_distrust_after
    functionSourceFile: /src/gnutls/lib/pkcs11.c
    functionUses: 0
    functionsReached:
    - _pkcs11_traverse_tokens
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    - pkcs11_url_to_info
    - p11_kit_uri_free
    - _gnutls_debug_log
    - pkcs11_obj_flags_to_int
    - PKCS11_CHECK_INIT_FLAGS_RET
    - _gnutls_x509_ext_gen_number
    - distrust_purpose_from_oid
    - memset
    - gnutls_x509_crt_get_serial
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: "time_t _gnutls_pkcs11_get_distrust_after(const char *url,\n\t\t\t\t\t
      gnutls_x509_crt_t cert,\n\t\t\t\t\t const char *purpose,\n\t\t\t\t\t unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - flags
    - a
    - a_val
    - trusted
    argTypes:
    - unsigned
    - struct ck_attribute*
    - unsigned*
    - unsigned
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: mark_flags
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: void
    signature: "void mark_flags(unsigned flags, struct ck_attribute *a, unsigned *a_val,\n\t\t
      \      unsigned trusted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:127,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:131,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_write.c:133,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:137,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/lib/pkcs11_write.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:144,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11_write.c:148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:150,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/lib/pkcs11_write.c:155,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:157,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/pkcs11_write.c:168,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/lib/pkcs11_write.c:172,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:174,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/pkcs11_write.c:213,1
    - Dst: _gnutls_x509_ext_gen_number
      Src: /src/gnutls/lib/pkcs11_write.c:214,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:227,1
    - Dst: mark_flags
      Src: /src/gnutls/lib/pkcs11_write.c:231,1
    - Dst: pkcs11_create_object
      Src: /src/gnutls/lib/pkcs11_write.c:233,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:235,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:236,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:236,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:237,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:247,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:248,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:249,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 107
    argCount: 5
    argNames:
    - token_url
    - crt
    - label
    - cid
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 251
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 251
    functionName: gnutls_pkcs11_copy_x509_crt2
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 1
    functionsReached:
    - gnutls_malloc
    - pkcs11_rv_to_err
    - p11_kit_uri_free
    - _gnutls_x509_ext_gen_number
    - _gnutls_debug_log
    - pkcs11_create_object
    - gnutls_x509_crt_export
    - pkcs11_url_to_info
    - strlen
    - gnutls_x509_crt_get_subject_key_id
    - pkcs11_strerror
    - pkcs11_close_session
    - pkcs11_open_session
    - gnutls_free
    - pkcs11_obj_flags_to_int
    - gnutls_x509_crt_get_key_id
    - mark_flags
    - gnutls_x509_crt_get_serial
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_x509_crt2(const char *token_url, gnutls_x509_crt_t
      crt,\n\t\t\t\t const char *label, const gnutls_datum_t *cid,\n\t\t\t\t unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - a
    - a_val
    argTypes:
    - struct ck_attribute*
    - unsigned
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: clean_pubkey
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void clean_pubkey(struct ck_attribute *a, unsigned a_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/pkcs11_write.c:279,1
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/lib/pkcs11_write.c:289,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:292,1
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/lib/pkcs11_write.c:310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:313,1
    - Dst: gnutls_pubkey_export_ecc_x962
      Src: /src/gnutls/lib/pkcs11_write.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:343,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pkcs11_write.c:362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:365,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/pkcs11_write.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:379,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:391,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_write.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 87
    argCount: 3
    argNames:
    - pubkey
    - a
    - a_val
    argTypes:
    - gnutls_pubkey_t
    - struct ck_attribute*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 398
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 398
    functionName: add_pubkey
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_write_ecc_params
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pubkey_export_dsa_raw2
    - _gnutls_x509_encode_string
    - gnutls_pubkey_export_ecc_x962
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_pubkey_export_rsa_raw2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int add_pubkey(gnutls_pubkey_t pubkey, struct ck_attribute *a,\n\t\t
      \     unsigned *a_val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:438,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:440,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:444,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_write.c:446,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:447,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:450,1
    - Dst: add_pubkey
      Src: /src/gnutls/lib/pkcs11_write.c:464,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:466,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:473,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/pkcs11_write.c:477,1
    - Dst: pk_to_key_type
      Src: /src/gnutls/lib/pkcs11_write.c:478,1
    - Dst: FIX_KEY_USAGE
      Src: /src/gnutls/lib/pkcs11_write.c:479,1
    - Dst: gnutls_pubkey_get_key_id
      Src: /src/gnutls/lib/pkcs11_write.c:489,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:491,1
    - Dst: mark_flags
      Src: /src/gnutls/lib/pkcs11_write.c:503,1
    - Dst: pkcs11_create_object
      Src: /src/gnutls/lib/pkcs11_write.c:528,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:530,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:531,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:531,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:532,1
    - Dst: clean_pubkey
      Src: /src/gnutls/lib/pkcs11_write.c:542,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:543,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 90
    argCount: 6
    argNames:
    - token_url
    - pubkey
    - label
    - cid
    - key_usage
    - flags
    argTypes:
    - char*
    - gnutls_pubkey_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 545
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 545
    functionName: gnutls_pkcs11_copy_pubkey
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 4
    functionsReached:
    - add_pubkey
    - pkcs11_open_session
    - gnutls_pubkey_get_key_id
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - strlen
    - pk_to_key_type
    - pkcs11_obj_flags_to_int
    - FIX_KEY_USAGE
    - gnutls_pubkey_get_pk_algorithm
    - pkcs11_close_session
    - pkcs11_rv_to_err
    - mark_flags
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_create_object
    - clean_pubkey
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_pubkey(const char *token_url, gnutls_pubkey_t
      pubkey,\n\t\t\t      const char *label, const gnutls_datum_t *cid,\n\t\t\t      unsigned
      int key_usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:582,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:584,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:588,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_write.c:590,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:594,1
    - Dst: x509_crt_to_raw_pubkey
      Src: /src/gnutls/lib/pkcs11_write.c:598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:600,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:625,1
    - Dst: pkcs11_create_object
      Src: /src/gnutls/lib/pkcs11_write.c:628,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:630,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:631,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:631,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:632,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:639,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 5
    argNames:
    - token_url
    - crt
    - data
    - label
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 642
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 642
    functionName: gnutls_pkcs11_copy_attached_extension
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 0
    functionsReached:
    - pkcs11_open_session
    - gnutls_free
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - strlen
    - pkcs11_obj_flags_to_int
    - pkcs11_rv_to_err
    - x509_crt_to_raw_pubkey
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_create_object
    - pkcs11_close_session
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_attached_extension(const char *token_url,\n\t\t\t\t\t
      \ gnutls_x509_crt_t crt,\n\t\t\t\t\t  gnutls_datum_t *data,\n\t\t\t\t\t  const
      char *label, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:687,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:688,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:689,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:690,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:691,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:692,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:693,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:694,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:695,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:696,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:697,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:699,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:701,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:705,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_write.c:707,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:708,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:711,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/pkcs11_write.c:715,1
    - Dst: FIX_KEY_USAGE
      Src: /src/gnutls/lib/pkcs11_write.c:716,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/lib/pkcs11_write.c:727,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:729,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:730,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:808,1
    - Dst: _gnutls_params_get_rsa_raw
      Src: /src/gnutls/lib/pkcs11_write.c:827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:831,1
    - Dst: _gnutls_params_get_dsa_raw
      Src: /src/gnutls/lib/pkcs11_write.c:880,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:883,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pkcs11_write.c:912,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:914,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/pkcs11_write.c:918,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:920,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pkcs11_write.c:941,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:943,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:963,1
    - Dst: pkcs11_create_object
      Src: /src/gnutls/lib/pkcs11_write.c:973,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:975,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:976,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:976,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:977,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:987,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:988,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:989,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:990,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:991,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:992,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:993,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:994,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:998,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:999,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:1000,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:1001,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:1002,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:1008,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_write.c:1009,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1013,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:1019,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 286
    argCount: 6
    argNames:
    - token_url
    - key
    - label
    - cid
    - key_usage
    - flags
    argTypes:
    - char*
    - gnutls_x509_privkey_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1022
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 1022
    functionName: gnutls_pkcs11_copy_x509_privkey2
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_privkey_get_pk_algorithm
    - pkcs11_rv_to_err
    - _gnutls_params_get_rsa_raw
    - _gnutls_mpi_dprint
    - gnutls_x509_privkey_get_key_id
    - p11_kit_uri_free
    - _gnutls_params_get_dsa_raw
    - _gnutls_x509_write_ecc_params
    - memset
    - _gnutls_debug_log
    - pkcs11_create_object
    - pkcs11_url_to_info
    - strlen
    - FIX_KEY_USAGE
    - pkcs11_strerror
    - pkcs11_close_session
    - pkcs11_open_session
    - gnutls_free
    - pkcs11_obj_flags_to_int
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_x509_privkey2(const char *token_url,\n\t\t\t\t
      \    gnutls_x509_privkey_t key,\n\t\t\t\t     const char *label,\n\t\t\t\t     const
      gnutls_datum_t *cid,\n\t\t\t\t     unsigned int key_usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1045,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11_write.c:1051,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11_write.c:1052,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1053,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_write.c:1061,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_write.c:1074,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11_write.c:1076,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_write.c:1087,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11_write.c:1089,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11_write.c:1093,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1095,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1096,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:1097,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11_write.c:1101,1
    - Dst: pkcs11_destroy_object
      Src: /src/gnutls/lib/pkcs11_write.c:1104,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1106,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:1107,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1116,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11_write.c:1123,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1126
    functionName: delete_obj_url_cb
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 0
    functionsReached:
    - pkcs11_destroy_object
    - pkcs11_strerror
    - pkcs11_find_objects_final
    - p11_kit_uri_match_token_info
    - p11_kit_uri_get_attribute
    - p11_kit_uri_match_module_info
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int delete_obj_url_cb(struct ck_function_list *module,\n\t\t\t     struct
      pkcs11_session_info *sinfo,\n\t\t\t     struct ck_token_info *tinfo,\n\t\t\t
      \    struct ck_info *lib_info, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:1148,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:1150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1152,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11_write.c:1156,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_write.c:1158,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:1159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - object_url
    - flags
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1167
      start: 1141
    functionDepth: 3
    functionLinenumber: 1141
    functionLinenumberEnd: 1167
    functionName: gnutls_pkcs11_delete_url
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 3
    functionsReached:
    - _pkcs11_traverse_tokens
    - p11_kit_uri_free
    - pkcs11_url_to_info
    - pkcs11_obj_flags_to_int
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_delete_url(const char *object_url, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:1194,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1196,1
    - Dst: pkcs11_find_slot
      Src: /src/gnutls/lib/pkcs11_write.c:1200,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:1201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1204,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:1209,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pkcs11_write.c:1211,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:1211,1
    - Dst: pkcs11_init_token
      Src: /src/gnutls/lib/pkcs11_write.c:1213,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:1213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1216,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1217,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:1217,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - token_url
    - so_pin
    - label
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1222
    functionName: gnutls_pkcs11_token_init
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 17
    functionsReached:
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - strlen
    - pkcs11_rv_to_err
    - pkcs11_find_slot
    - memset
    - memcpy
    - _gnutls_debug_log
    - pkcs11_init_token
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_init(const char *token_url, const char *so_pin,\n\t\t\t
      \    const char *label)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:1253,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1255,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:1265,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:1266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1269,1
    - Dst: pkcs11_init_pin
      Src: /src/gnutls/lib/pkcs11_write.c:1275,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_write.c:1276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1278,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1279,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:1279,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:1280,1
    - Dst: L
      Src: /src/gnutls/lib/pkcs11_write.c:1287,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_write.c:1291,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_write.c:1296,1
    - Dst: pkcs11_retrieve_pin
      Src: /src/gnutls/lib/pkcs11_write.c:1298,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1302,1
    - Dst: p11_kit_pin_get_value
      Src: /src/gnutls/lib/pkcs11_write.c:1305,1
    - Dst: p11_kit_pin_get_length
      Src: /src/gnutls/lib/pkcs11_write.c:1307,1
    - Dst: pkcs11_set_pin
      Src: /src/gnutls/lib/pkcs11_write.c:1311,1
    - Dst: L
      Src: /src/gnutls/lib/pkcs11_write.c:1312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1314,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1315,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:1315,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:1316,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:1324,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - token_url
    - oldpin
    - newpin
    - flags
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1326
      start: 1242
    functionDepth: 4
    functionLinenumber: 1242
    functionLinenumberEnd: 1326
    functionName: gnutls_pkcs11_token_set_pin
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 13
    functionsReached:
    - pkcs11_open_session
    - pkcs11_retrieve_pin
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - strlen
    - L
    - pkcs11_set_pin
    - pkcs11_close_session
    - pkcs11_rv_to_err
    - p11_kit_pin_get_length
    - pkcs11_init_pin
    - memset
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    - p11_kit_pin_get_value
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_set_pin(const char *token_url, const char
      *oldpin,\n\t\t\t\tconst char *newpin, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_write.c:1351,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1353,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_write.c:1357,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_write.c:1358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1361,1
    - Dst: _gnutls_pkcs11_get_random
      Src: /src/gnutls/lib/pkcs11_write.c:1365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_write.c:1367,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_write.c:1368,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_write.c:1368,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_write.c:1369,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_write.c:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - token_url
    - rnddata
    - len
    argTypes:
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1378
      start: 1341
    functionDepth: 4
    functionLinenumber: 1341
    functionLinenumberEnd: 1378
    functionName: gnutls_pkcs11_token_get_random
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 1
    functionsReached:
    - pkcs11_open_session
    - _gnutls_pkcs11_get_random
    - p11_kit_uri_free
    - pkcs11_strerror
    - pkcs11_url_to_info
    - pkcs11_rv_to_err
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_close_session
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_token_get_random(const char *token_url, void *rnddata,\n\t\t\t\t
      \  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - token_url
    - crt
    - label
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: gnutls_pkcs11_copy_x509_crt
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_x509_crt(const char *token_url,\n\t\t\t\tgnutls_x509_crt_t
      crt, const char *label,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - token_url
    - key
    - label
    - key_usage
    - flags
    argTypes:
    - char*
    - gnutls_x509_privkey_t
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1430
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1430
    functionName: gnutls_pkcs11_copy_x509_privkey
    functionSourceFile: /src/gnutls/lib/pkcs11_write.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_copy_x509_privkey(const char *token_url,\n\t\t\t\t
      \   gnutls_x509_privkey_t key,\n\t\t\t\t    const char *label,\n\t\t\t\t    unsigned
      int key_usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct record_parameters_st*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: _dtls_reset_window
    functionSourceFile: /src/gnutls/lib/dtls-sw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _dtls_reset_window(struct record_parameters_st *rp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls-sw.c:55,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls-sw.c:125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls-sw.c:128,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls-sw.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - rp
    - seq_num
    argTypes:
    - struct record_parameters_st*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 141
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 141
    functionName: _dtls_record_check
    functionSourceFile: /src/gnutls/lib/dtls-sw.c
    functionUses: 25
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _dtls_record_check(struct record_parameters_st *rp, uint64_t seq_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:50,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:56,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:60,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:63,1
    - Dst: _gnutls_system_url_is_supported
      Src: /src/gnutls/lib/urls.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: gnutls_url_is_supported
    functionSourceFile: /src/gnutls/lib/urls.c
    functionUses: 6
    functionsReached:
    - _gnutls_system_url_is_supported
    - c_strncasecmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_url_is_supported(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:73,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:75,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:77,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: _gnutls_url_is_known
    functionSourceFile: /src/gnutls/lib/urls.c
    functionUses: 0
    functionsReached:
    - c_strncasecmp
    linkageType: ''
    returnType: int
    signature: int _gnutls_url_is_known(const char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/urls.c:118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/urls.c:119,1
    - Dst: memcpy
      Src: /src/gnutls/lib/urls.c:124,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/urls.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - gnutls_custom_url_st*
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: gnutls_register_custom_url
    functionSourceFile: /src/gnutls/lib/urls.c
    functionUses: 2
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gnutls_register_custom_url(const gnutls_custom_url_st *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:154,1
    - Dst: gnutls_pkcs11_get_raw_issuer
      Src: /src/gnutls/lib/urls.c:155,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/urls.c:160,1
    - Dst: get_issuer
      Src: /src/gnutls/lib/urls.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - url
    - cert
    - issuer
    - flags
    argTypes:
    - char*
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: _gnutls_get_raw_issuer
    functionSourceFile: /src/gnutls/lib/urls.c
    functionUses: 0
    functionsReached:
    - c_strncasecmp
    - get_issuer
    - gnutls_pkcs11_get_raw_issuer
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_raw_issuer(const char *url, gnutls_x509_crt_t cert,\n\t\t\t
      \  gnutls_datum_t *issuer, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:67,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:68,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:69,1
    - Dst: is_cipher_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:70,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/crypto-api.c:74,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:76,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:77,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/crypto-api.c:80,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:82,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:83,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-api.c:87,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:89,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:90,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:94,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-api.c:95,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:97,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:98,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:106,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - handle
    - cipher
    - key
    - iv
    argTypes:
    - gnutls_cipher_hd_t*
    - gnutls_cipher_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 112
    functionName: gnutls_cipher_init
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 16
    functionsReached:
    - gnutls_calloc
    - _gnutls_switch_fips_state
    - gnutls_free
    - is_cipher_algo_allowed
    - _gnutls_cipher_type
    - is_cipher_algo_approved_in_fips
    - cipher_to_entry
    - gnutls_assert
    - _gnutls_cipher_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_init(gnutls_cipher_hd_t *handle,\n\t\t       gnutls_cipher_algorithm_t
      cipher,\n\t\t       const gnutls_datum_t *key, const gnutls_datum_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_is_aead
      Src: /src/gnutls/lib/crypto-api.c:132,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:133,1
    - Dst: _gnutls_cipher_tag
      Src: /src/gnutls/lib/crypto-api.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - tag
    - tag_size
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: gnutls_cipher_tag
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_tag
    - _gnutls_cipher_is_aead
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_cipher_tag(gnutls_cipher_hd_t handle, void *tag, size_t
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_is_aead
      Src: /src/gnutls/lib/crypto-api.c:161,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:162,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:163,1
    - Dst: _gnutls_cipher_auth
      Src: /src/gnutls/lib/crypto-api.c:166,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - ptext
    - ptext_size
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: gnutls_cipher_add_auth
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_is_aead
    - _gnutls_cipher_auth
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_add_auth(gnutls_cipher_hd_t handle, const void *ptext,\n\t\t\t
      \  size_t ptext_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/crypto-api.c:188,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/crypto-api.c:189,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:190,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:193,1
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/crypto-api.c:194,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/crypto-api.c:195,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - handle
    - iv
    - ivlen
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: gnutls_cipher_set_iv
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_type
    - _gnutls_switch_fips_state
    - _gnutls_cipher_setiv
    - _gnutls_switch_lib_state
    linkageType: ''
    returnType: void
    signature: void gnutls_cipher_set_iv(gnutls_cipher_hd_t handle, void *iv, size_t
      ivlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_getiv
      Src: /src/gnutls/lib/crypto-api.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - iv
    - ivlen
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: _gnutls_cipher_get_iv
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_cipher_getiv
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_get_iv(gnutls_cipher_hd_t handle, void *iv, size_t
      ivlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_setkey
      Src: /src/gnutls/lib/crypto-api.c:250,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - key
    - keylen
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: _gnutls_cipher_set_key
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_set_key(gnutls_cipher_hd_t handle, void *key, size_t
      keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_encrypt
      Src: /src/gnutls/lib/crypto-api.c:277,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:279,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - ptext
    - ptext_len
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: gnutls_cipher_encrypt
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 5
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_encrypt(gnutls_cipher_hd_t handle, void *ptext,\n\t\t\t
      \ size_t ptext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:308,1
    - Dst: _gnutls_cipher_decrypt
      Src: /src/gnutls/lib/crypto-api.c:309,1
    - Dst: _gnutls_cipher_decrypt
      Src: /src/gnutls/lib/crypto-api.c:311,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:315,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - handle
    - ctext
    - ctext_len
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: gnutls_cipher_decrypt
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_decrypt
    - _gnutls_cipher_type
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_decrypt(gnutls_cipher_hd_t handle, void *ctext,\n\t\t\t
      \ size_t ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:345,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:348,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - handle
    - ptext
    - ptext_len
    - ctext
    - ctext_len
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: gnutls_cipher_encrypt2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 4
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_encrypt2(gnutls_cipher_hd_t handle, const void *ptext,\n\t\t\t
      \  size_t ptext_len, void *ctext, size_t ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:381,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-api.c:382,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-api.c:385,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:390,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - handle
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: gnutls_cipher_decrypt2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_decrypt2
    - _gnutls_switch_fips_state
    - _gnutls_cipher_type
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_decrypt2(gnutls_cipher_hd_t handle, const void *ctext,\n\t\t\t
      \  size_t ctext_len, void *ptext, size_t ptext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:431,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:432,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:435,1
    - Dst: INT_ADD_OK
      Src: /src/gnutls/lib/crypto-api.c:442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:443,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:454,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:460,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/crypto-api.c:467,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:469,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:471,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:484,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:494,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - handle
    - ptext
    - ptext_len
    - ctext
    - ctext_len
    - flags
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 499
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 499
    functionName: gnutls_cipher_encrypt3
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_cipher_type
    - INT_ADD_OK
    - gnutls_memset
    - unlikely
    - memcpy
    - gnutls_assert_val
    - _gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_encrypt3(gnutls_cipher_hd_t handle, const void *ptext,\n\t\t\t
      \  size_t ptext_len, void *ctext, size_t *ctext_len,\n\t\t\t   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-api.c:526,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:532,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/crypto-api.c:537,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:538,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - handle
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    - flags
    argTypes:
    - gnutls_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 551
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 551
    functionName: gnutls_cipher_decrypt3
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - gnutls_cipher_decrypt2
    - gnutls_assert_val
    - _gnutls_cipher_type
    - _gnutls_cipher_get_block_size
    linkageType: ''
    returnType: int
    signature: "int gnutls_cipher_decrypt3(gnutls_cipher_hd_t handle, const void *ctext,\n\t\t\t
      \  size_t ctext_len, void *ptext, size_t *ptext_len,\n\t\t\t   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-api.c:566,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/crypto-api.c:567,1
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-api.c:568,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gnutls_cipher_hd_t
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: gnutls_cipher_deinit
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 16
    functionsReached:
    - _gnutls_cipher_type
    - gnutls_free
    - _gnutls_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_cipher_deinit(gnutls_cipher_hd_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:600,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:601,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:602,1
    - Dst: is_mac_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:603,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/crypto-api.c:612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:614,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:615,1
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/crypto-api.c:619,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/crypto-api.c:619,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:622,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:624,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - dig
    - algorithm
    - key
    - keylen
    argTypes:
    - gnutls_hmac_hd_t*
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 629
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 629
    functionName: gnutls_hmac_init
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 3
    functionsReached:
    - _gnutls_switch_fips_state
    - mac_to_entry
    - gnutls_assert
    - gnutls_malloc
    - is_mac_algo_allowed
    - _gnutls_mac_init
    - is_mac_algo_approved_in_fips
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_hmac_init(gnutls_hmac_hd_t *dig, gnutls_mac_algorithm_t
      algorithm,\n\t\t     const void *key, size_t keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_set_nonce
      Src: /src/gnutls/lib/crypto-api.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - nonce
    - nonce_len
    argTypes:
    - gnutls_hmac_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 645
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 645
    functionName: gnutls_hmac_set_nonce
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_mac_set_nonce
    linkageType: ''
    returnType: void
    signature: "void gnutls_hmac_set_nonce(gnutls_hmac_hd_t handle, const void *nonce,\n\t\t\t
      \  size_t nonce_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/crypto-api.c:664,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:666,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - ptext
    - ptext_len
    argTypes:
    - gnutls_hmac_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: gnutls_hmac
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_mac
    linkageType: ''
    returnType: int
    signature: int gnutls_hmac(gnutls_hmac_hd_t handle, const void *ptext, size_t
      ptext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_output
      Src: /src/gnutls/lib/crypto-api.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - gnutls_hmac_hd_t
    - void*
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: gnutls_hmac_output
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_mac_output
    linkageType: ''
    returnType: void
    signature: void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/crypto-api.c:700,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - gnutls_hmac_hd_t
    - void*
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: gnutls_hmac_deinit
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 4
    functionsReached:
    - _gnutls_mac_deinit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/crypto-api.c:717,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/crypto-api.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: gnutls_hmac_get_len
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 3
    functionsReached:
    - mac_to_entry
    - _gnutls_mac_get_algo_len
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_get_key_size
      Src: /src/gnutls/lib/crypto-api.c:734,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/crypto-api.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: gnutls_hmac_get_key_size
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_mac_get_key_size
    - mac_to_entry
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:761,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:762,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:763,1
    - Dst: is_mac_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:764,1
    - Dst: _gnutls_mac_fast
      Src: /src/gnutls/lib/crypto-api.c:773,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:776,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:778,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - algorithm
    - key
    - keylen
    - ptext
    - ptext_len
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 783
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 783
    functionName: gnutls_hmac_fast
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 6
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_mac_fast
    - is_mac_algo_allowed
    - is_mac_algo_approved_in_fips
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm, const void
      *key,\n\t\t     size_t keylen, const void *ptext, size_t ptext_len,\n\t\t     void
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/crypto-api.c:804,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:806,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:807,1
    - Dst: _gnutls_mac_copy
      Src: /src/gnutls/lib/crypto-api.c:811,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:813,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:814,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gnutls_hmac_hd_t
    constantsTouched: []
    func_position:
      end: 820
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 820
    functionName: gnutls_hmac_copy
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - gnutls_free
    - _gnutls_mac_copy
    - gnutls_malloc
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_hmac_hd_t
    signature: gnutls_hmac_hd_t gnutls_hmac_copy(gnutls_hmac_hd_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:843,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/crypto-api.c:843,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:844,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:845,1
    - Dst: is_mac_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:846,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/crypto-api.c:846,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/crypto-api.c:850,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:852,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:853,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/crypto-api.c:857,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/crypto-api.c:858,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:860,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:862,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - dig
    - algorithm
    argTypes:
    - gnutls_hash_hd_t*
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 867
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 867
    functionName: gnutls_hash_init
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 11
    functionsReached:
    - _gnutls_switch_fips_state
    - DIG_TO_MAC
    - gnutls_assert
    - gnutls_malloc
    - hash_to_entry
    - _gnutls_hash_init
    - is_mac_algo_allowed
    - is_mac_algo_approved_in_fips
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_hash_init(gnutls_hash_hd_t *dig, gnutls_digest_algorithm_t
      algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/crypto-api.c:886,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - ptext
    - ptext_len
    argTypes:
    - gnutls_hash_hd_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: gnutls_hash
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 11
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_hash
    linkageType: ''
    returnType: int
    signature: int gnutls_hash(gnutls_hash_hd_t handle, const void *ptext, size_t
      ptext_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_output
      Src: /src/gnutls/lib/crypto-api.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - gnutls_hash_hd_t
    - void*
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: gnutls_hash_output
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 7
    functionsReached:
    - _gnutls_hash_output
    linkageType: ''
    returnType: void
    signature: void gnutls_hash_output(gnutls_hash_hd_t handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/crypto-api.c:920,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - digest
    argTypes:
    - gnutls_hash_hd_t
    - void*
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: gnutls_hash_deinit
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 10
    functionsReached:
    - gnutls_free
    - _gnutls_hash_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_hash_deinit(gnutls_hash_hd_t handle, void *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/crypto-api.c:937,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/crypto-api.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: gnutls_hash_get_len
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 4
    functionsReached:
    - hash_to_entry
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_hash_get_len(gnutls_digest_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:960,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/crypto-api.c:960,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:961,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:962,1
    - Dst: is_mac_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:963,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/crypto-api.c:963,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/crypto-api.c:967,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:969,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - algorithm
    - ptext
    - ptext_len
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 975
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 975
    functionName: gnutls_hash_fast
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 11
    functionsReached:
    - _gnutls_switch_fips_state
    - DIG_TO_MAC
    - is_mac_algo_allowed
    - _gnutls_hash_fast
    - is_mac_algo_approved_in_fips
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_hash_fast(gnutls_digest_algorithm_t algorithm, const void
      *ptext,\n\t\t     size_t ptext_len, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/crypto-api.c:996,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:998,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:999,1
    - Dst: _gnutls_hash_copy
      Src: /src/gnutls/lib/crypto-api.c:1003,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1005,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:1006,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gnutls_hash_hd_t
    constantsTouched: []
    func_position:
      end: 1012
      start: 992
    functionDepth: 3
    functionLinenumber: 992
    functionLinenumberEnd: 1012
    functionName: gnutls_hash_copy
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_switch_fips_state
    - _gnutls_hash_copy
    - gnutls_malloc
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_hash_hd_t
    signature: gnutls_hash_hd_t gnutls_hash_copy(gnutls_hash_hd_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/crypto-api.c:1038,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1039,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/crypto-api.c:1043,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1045,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/crypto-api.c:1055,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1057,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/crypto-api.c:1058,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1064,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1066,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1068,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - key
    - key_size
    argTypes:
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1071
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1071
    functionName: gnutls_key_generate
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 5
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_rnd
    - gnutls_malloc
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_key_generate(gnutls_datum_t *key, unsigned int key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:1099,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1101,1
    - Dst: is_cipher_algo_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:1102,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/crypto-api.c:1106,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1109,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/crypto-api.c:1112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1114,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1115,1
    - Dst: _gnutls_aead_cipher_init
      Src: /src/gnutls/lib/crypto-api.c:1119,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:1121,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1122,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1129,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - handle
    - cipher
    - key
    argTypes:
    - gnutls_aead_cipher_hd_t*
    - gnutls_cipher_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1090
    functionDepth: 3
    functionLinenumber: 1090
    functionLinenumberEnd: 1135
    functionName: gnutls_aead_cipher_init
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 10
    functionsReached:
    - gnutls_calloc
    - _gnutls_aead_cipher_init
    - _gnutls_switch_fips_state
    - gnutls_free
    - is_cipher_algo_allowed
    - is_cipher_algo_approved_in_fips
    - cipher_to_entry
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t *handle,\n\t\t\t
      \   gnutls_cipher_algorithm_t cipher,\n\t\t\t    const gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/crypto-api.c:1155,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1157,1
    - Dst: gnutls_aead_cipher_hd_t::ctx_enc::setkey
      Src: /src/gnutls/lib/crypto-api.c:1160,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - key
    argTypes:
    - gnutls_aead_cipher_hd_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1167
    functionName: gnutls_aead_cipher_set_key
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - gnutls_assert_val
    - gnutls_aead_cipher_hd_t::ctx_enc::setkey
    - cipher_to_entry
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_set_key(gnutls_aead_cipher_hd_t handle,\n\t\t\t
      \      const gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1203,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1205,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1206,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1207,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1210,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1212,1
    - Dst: _gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/crypto-api.c:1215,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1218,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1219,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1220,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth
    - auth_len
    - tag_size
    - ctext
    - ctext_len
    - ptext
    - ptext_len
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1229
    functionName: gnutls_aead_cipher_decrypt
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 6
    functionsReached:
    - _gnutls_aead_cipher_decrypt
    - _gnutls_switch_fips_state
    - unlikely
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_decrypt(gnutls_aead_cipher_hd_t handle,\n\t\t\t
      \      const void *nonce, size_t nonce_len,\n\t\t\t       const void *auth,
      size_t auth_len,\n\t\t\t       size_t tag_size, const void *ctext,\n\t\t\t       size_t
      ctext_len, void *ptext, size_t *ptext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1262,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1264,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1265,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1266,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1269,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1270,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1271,1
    - Dst: _gnutls_aead_cipher_encrypt
      Src: /src/gnutls/lib/crypto-api.c:1274,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1277,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1279,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth
    - auth_len
    - tag_size
    - ptext
    - ptext_len
    - ctext
    - ctext_len
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1288
    functionName: gnutls_aead_cipher_encrypt
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 7
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_aead_cipher_encrypt
    - unlikely
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t handle,\n\t\t\t
      \      const void *nonce, size_t nonce_len,\n\t\t\t       const void *auth,
      size_t auth_len,\n\t\t\t       size_t tag_size, const void *ptext,\n\t\t\t       size_t
      ptext_len, void *ctext, size_t *ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct iov_store_st*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: iov_store_free
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void iov_store_free(struct iov_store_st *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/crypto-api.c:1306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1307,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/crypto-api.c:1310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - struct iov_store_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 1317
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1317
    functionName: iov_store_grow
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - gnutls_realloc
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: int iov_store_grow(struct iov_store_st *s, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/crypto-api.c:1329,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1330,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/crypto-api.c:1335,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1337,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:1345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - iov
    - iovcnt
    argTypes:
    - struct iov_store_st*
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 1352
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1352
    functionName: append_from_iov
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - gnutls_realloc
    - memcpy
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int append_from_iov(struct iov_store_st *dst, const giovec_t *iov,\n\t\t\t
      \  int iovcnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:1362,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - data
    - size
    - iov
    - iovcnt
    argTypes:
    - uint8_t*
    - size_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 1369
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1369
    functionName: copy_to_iov
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int copy_to_iov(const uint8_t *data, size_t size, const giovec_t *iov,\n\t\t
      \      int iovcnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1388,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1390,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1391,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1392,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1395,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1397,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1398,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1401,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1403,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1404,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1405,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/lib/crypto-api.c:1408,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1411,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - tag_size
    - iov
    - iovcnt
    - ctext
    - ctext_len
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - size_t
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1376
    functionDepth: 4
    functionLinenumber: 1376
    functionLinenumberEnd: 1416
    functionName: aead_cipher_encryptv_fallback
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - iov_store_free
    - gnutls_aead_cipher_encrypt
    - append_from_iov
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_encryptv_fallback(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t\t
      const void *nonce, size_t nonce_len,\n\t\t\t\t\t const giovec_t *auth_iov,\n\t\t\t\t\t
      int auth_iovcnt, size_t tag_size,\n\t\t\t\t\t const giovec_t *iov, int iovcnt,\n\t\t\t\t\t
      void *ctext, size_t *ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1433,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1435,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1436,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1437,1
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/crypto-api.c:1440,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1441,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1443,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1446,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1447,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1448,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1449,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1452,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1453,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1454,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1455,1
    - Dst: _gnutls_cipher_auth
      Src: /src/gnutls/lib/crypto-api.c:1459,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1460,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1461,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1462,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1469,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1470,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1471,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1472,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1475,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1476,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1477,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1478,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:1483,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1485,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1487,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/crypto-api.c:1490,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1496,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1497,1
    - Dst: _gnutls_cipher_tag
      Src: /src/gnutls/lib/crypto-api.c:1500,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1505,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - tag_size
    - iov
    - iovcnt
    - ctext
    - ctext_len
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - size_t
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1418
    functionDepth: 3
    functionLinenumber: 1418
    functionLinenumberEnd: 1507
    functionName: aead_cipher_encryptv
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_cipher_tag
    - _gnutls_switch_fips_state
    - _gnutls_cipher_get_tag_size
    - _gnutls_cipher_auth
    - _gnutls_iov_iter_init
    - DECR_LEN
    - _gnutls_iov_iter_next
    - unlikely
    - _gnutls_cipher_setiv
    - gnutls_assert_val
    - _gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,\n\t\t\t\tconst
      void *nonce, size_t nonce_len,\n\t\t\t\tconst giovec_t *auth_iov, int auth_iovcnt,\n\t\t\t\tsize_t
      tag_size, const giovec_t *iov,\n\t\t\t\tint iovcnt, void *ctext, size_t *ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead_cipher_encryptv_fallback
      Src: /src/gnutls/lib/crypto-api.c:1542,1
    - Dst: aead_cipher_encryptv
      Src: /src/gnutls/lib/crypto-api.c:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - tag_size
    - iov
    - iovcnt
    - ctext
    - ctext_len
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - size_t
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1530
    functionDepth: 5
    functionLinenumber: 1530
    functionLinenumberEnd: 1551
    functionName: gnutls_aead_cipher_encryptv
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - aead_cipher_encryptv_fallback
    - aead_cipher_encryptv
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_encryptv(gnutls_aead_cipher_hd_t handle,\n\t\t\t\tconst
      void *nonce, size_t nonce_len,\n\t\t\t\tconst giovec_t *auth_iov, int auth_iovcnt,\n\t\t\t\tsize_t
      tag_size, const giovec_t *iov,\n\t\t\t\tint iovcnt, void *ctext, size_t *ctext_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1571,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1576,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1577,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1578,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1581,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1583,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1584,1
    - Dst: iov_store_grow
      Src: /src/gnutls/lib/crypto-api.c:1589,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1591,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1596,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1598,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1608,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1610,1
    - Dst: iov_store_grow
      Src: /src/gnutls/lib/crypto-api.c:1615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1617,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/lib/crypto-api.c:1629,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1633,1
    - Dst: copy_to_iov
      Src: /src/gnutls/lib/crypto-api.c:1645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1647,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:1652,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1659,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1660,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1663,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1553
    functionDepth: 4
    functionLinenumber: 1553
    functionLinenumberEnd: 1667
    functionName: aead_cipher_encryptv2_fallback
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - copy_to_iov
    - gnutls_aead_cipher_encrypt
    - iov_store_free
    - gnutls_assert
    - iov_store_grow
    - memcpy
    - append_from_iov
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_encryptv2_fallback(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t\t
      \ const void *nonce, size_t nonce_len,\n\t\t\t\t\t  const giovec_t *auth_iov,\n\t\t\t\t\t
      \ int auth_iovcnt, const giovec_t *iov,\n\t\t\t\t\t  int iovcnt, void *tag,\n\t\t\t\t\t
      \ size_t *tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1684,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1688,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1689,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1690,1
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/crypto-api.c:1693,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1694,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1695,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1696,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1699,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1700,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1701,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1702,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1705,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1706,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1707,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1708,1
    - Dst: _gnutls_cipher_auth
      Src: /src/gnutls/lib/crypto-api.c:1712,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1713,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1714,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1715,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1719,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1720,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1721,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1723,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1724,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1725,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1726,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-api.c:1732,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1733,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1734,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1735,1
    - Dst: _gnutls_iov_iter_sync
      Src: /src/gnutls/lib/crypto-api.c:1738,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1739,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1740,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1741,1
    - Dst: _gnutls_cipher_tag
      Src: /src/gnutls/lib/crypto-api.c:1746,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1750,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1752
    functionName: aead_cipher_encryptv2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_tag
    - _gnutls_switch_fips_state
    - _gnutls_cipher_get_tag_size
    - _gnutls_cipher_auth
    - _gnutls_iov_iter_init
    - _gnutls_iov_iter_next
    - unlikely
    - _gnutls_cipher_setiv
    - _gnutls_iov_iter_sync
    - gnutls_assert_val
    - _gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t
      const void *nonce, size_t nonce_len,\n\t\t\t\t const giovec_t *auth_iov, int
      auth_iovcnt,\n\t\t\t\t const giovec_t *iov, int iovcnt, void *tag,\n\t\t\t\t
      size_t *tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead_cipher_encryptv2_fallback
      Src: /src/gnutls/lib/crypto-api.c:1785,1
    - Dst: aead_cipher_encryptv2
      Src: /src/gnutls/lib/crypto-api.c:1790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1773
    functionDepth: 5
    functionLinenumber: 1773
    functionLinenumberEnd: 1794
    functionName: gnutls_aead_cipher_encryptv2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - aead_cipher_encryptv2
    - aead_cipher_encryptv2_fallback
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_encryptv2(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t
      const void *nonce, size_t nonce_len,\n\t\t\t\t const giovec_t *auth_iov, int
      auth_iovcnt,\n\t\t\t\t const giovec_t *iov, int iovcnt, void *tag,\n\t\t\t\t
      size_t *tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1810,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1812,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1813,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1814,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1817,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1819,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1820,1
    - Dst: iov_store_grow
      Src: /src/gnutls/lib/crypto-api.c:1825,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1827,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:1830,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1833,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1835,1
    - Dst: append_from_iov
      Src: /src/gnutls/lib/crypto-api.c:1844,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1846,1
    - Dst: iov_store_grow
      Src: /src/gnutls/lib/crypto-api.c:1851,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1853,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-api.c:1856,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/crypto-api.c:1866,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1870,1
    - Dst: copy_to_iov
      Src: /src/gnutls/lib/crypto-api.c:1874,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-api.c:1876,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1881,1
    - Dst: iov_store_free
      Src: /src/gnutls/lib/crypto-api.c:1882,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1885,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1889
      start: 1796
    functionDepth: 4
    functionLinenumber: 1796
    functionLinenumberEnd: 1889
    functionName: aead_cipher_decryptv2_fallback
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - copy_to_iov
    - iov_store_free
    - gnutls_assert
    - gnutls_aead_cipher_decrypt
    - iov_store_grow
    - memcpy
    - append_from_iov
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_decryptv2_fallback(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t\t
      \ const void *nonce, size_t nonce_len,\n\t\t\t\t\t  const giovec_t *auth_iov,\n\t\t\t\t\t
      \ int auth_iovcnt, const giovec_t *iov,\n\t\t\t\t\t  int iovcnt, void *tag,\n\t\t\t\t\t
      \ size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1905,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-api.c:1907,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1908,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1909,1
    - Dst: _gnutls_cipher_setiv
      Src: /src/gnutls/lib/crypto-api.c:1912,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1913,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1914,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1915,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1918,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1919,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1920,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1921,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1924,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1925,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1926,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1927,1
    - Dst: _gnutls_cipher_auth
      Src: /src/gnutls/lib/crypto-api.c:1931,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1932,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1933,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1934,1
    - Dst: _gnutls_iov_iter_init
      Src: /src/gnutls/lib/crypto-api.c:1938,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1939,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1940,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1941,1
    - Dst: _gnutls_iov_iter_next
      Src: /src/gnutls/lib/crypto-api.c:1944,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1945,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1946,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1947,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-api.c:1953,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1954,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1955,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1956,1
    - Dst: _gnutls_iov_iter_sync
      Src: /src/gnutls/lib/crypto-api.c:1959,1
    - Dst: unlikely
      Src: /src/gnutls/lib/crypto-api.c:1960,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1961,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1962,1
    - Dst: _gnutls_cipher_tag
      Src: /src/gnutls/lib/crypto-api.c:1967,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/crypto-api.c:1968,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1969,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:1970,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:1974,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1976
      start: 1891
    functionDepth: 3
    functionLinenumber: 1891
    functionLinenumberEnd: 1976
    functionName: aead_cipher_decryptv2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_tag
    - _gnutls_switch_fips_state
    - _gnutls_cipher_get_tag_size
    - _gnutls_cipher_auth
    - _gnutls_iov_iter_init
    - gnutls_memcmp
    - _gnutls_iov_iter_next
    - _gnutls_cipher_decrypt2
    - unlikely
    - _gnutls_cipher_setiv
    - _gnutls_iov_iter_sync
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t
      const void *nonce, size_t nonce_len,\n\t\t\t\t const giovec_t *auth_iov, int
      auth_iovcnt,\n\t\t\t\t const giovec_t *iov, int iovcnt, void *tag,\n\t\t\t\t
      size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead_cipher_decryptv2_fallback
      Src: /src/gnutls/lib/crypto-api.c:2009,1
    - Dst: aead_cipher_decryptv2
      Src: /src/gnutls/lib/crypto-api.c:2014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - handle
    - nonce
    - nonce_len
    - auth_iov
    - auth_iovcnt
    - iov
    - iovcnt
    - tag
    - tag_size
    argTypes:
    - gnutls_aead_cipher_hd_t
    - void*
    - size_t
    - giovec_t*
    - int
    - giovec_t*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2018
      start: 1997
    functionDepth: 5
    functionLinenumber: 1997
    functionLinenumberEnd: 2018
    functionName: gnutls_aead_cipher_decryptv2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 1
    functionsReached:
    - aead_cipher_decryptv2_fallback
    - aead_cipher_decryptv2
    linkageType: ''
    returnType: int
    signature: "int gnutls_aead_cipher_decryptv2(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t
      const void *nonce, size_t nonce_len,\n\t\t\t\t const giovec_t *auth_iov, int
      auth_iovcnt,\n\t\t\t\t const giovec_t *iov, int iovcnt, void *tag,\n\t\t\t\t
      size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_aead_cipher_deinit
      Src: /src/gnutls/lib/crypto-api.c:2031,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-api.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gnutls_aead_cipher_hd_t
    constantsTouched: []
    func_position:
      end: 2033
      start: 2029
    functionDepth: 1
    functionLinenumber: 2029
    functionLinenumberEnd: 2033
    functionName: gnutls_aead_cipher_deinit
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 9
    functionsReached:
    - gnutls_free
    - _gnutls_aead_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:2042,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2043,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:2044,1
    - Dst: hkdf_extract
      Src: /src/gnutls/lib/crypto-api.c:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mac
    - key
    - salt
    - output
    argTypes:
    - gnutls_mac_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2053
      start: 2038
    functionDepth: 3
    functionLinenumber: 2038
    functionLinenumberEnd: 2053
    functionName: _gnutls_hkdf_extract
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - is_mac_algo_allowed
    - gnutls_assert_val
    - hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t
      *key,\n\t\t\t const gnutls_datum_t *salt, void *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hkdf_extract
      Src: /src/gnutls/lib/crypto-api.c:2074,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2076,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mac
    - key
    - salt
    - output
    argTypes:
    - gnutls_mac_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2081
      start: 2069
    functionDepth: 4
    functionLinenumber: 2069
    functionLinenumberEnd: 2081
    functionName: gnutls_hkdf_extract
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 4
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int gnutls_hkdf_extract(gnutls_mac_algorithm_t mac, const gnutls_datum_t
      *key,\n\t\t\tconst gnutls_datum_t *salt, void *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:2088,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2089,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:2090,1
    - Dst: hkdf_expand
      Src: /src/gnutls/lib/crypto-api.c:2096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - mac
    - key
    - info
    - output
    - length
    argTypes:
    - gnutls_mac_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2099
      start: 2084
    functionDepth: 3
    functionLinenumber: 2084
    functionLinenumberEnd: 2099
    functionName: _gnutls_hkdf_expand
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 0
    functionsReached:
    - hkdf_expand
    - _gnutls_switch_fips_state
    - is_mac_algo_allowed
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t
      *key,\n\t\t\tconst gnutls_datum_t *info, void *output, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hkdf_expand
      Src: /src/gnutls/lib/crypto-api.c:2122,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2124,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - mac
    - key
    - info
    - output
    - length
    argTypes:
    - gnutls_mac_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2129
      start: 2117
    functionDepth: 4
    functionLinenumber: 2117
    functionLinenumberEnd: 2129
    functionName: gnutls_hkdf_expand
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 4
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int gnutls_hkdf_expand(gnutls_mac_algorithm_t mac, const gnutls_datum_t
      *key,\n\t\t       const gnutls_datum_t *info, void *output, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_allowed
      Src: /src/gnutls/lib/crypto-api.c:2155,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.c:2157,1
    - Dst: is_mac_algo_hmac_approved_in_fips
      Src: /src/gnutls/lib/crypto-api.c:2158,1
    - Dst: pbkdf2
      Src: /src/gnutls/lib/crypto-api.c:2180,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2183,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2185,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/crypto-api.c:2187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - mac
    - key
    - salt
    - iter_count
    - output
    - length
    argTypes:
    - gnutls_mac_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2190
      start: 2147
    functionDepth: 3
    functionLinenumber: 2147
    functionLinenumberEnd: 2190
    functionName: gnutls_pbkdf2
    functionSourceFile: /src/gnutls/lib/crypto-api.c
    functionUses: 2
    functionsReached:
    - _gnutls_switch_fips_state
    - pbkdf2
    - is_mac_algo_allowed
    - is_mac_algo_hmac_approved_in_fips
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pbkdf2(gnutls_mac_algorithm_t mac, const gnutls_datum_t
      *key,\n\t\t  const gnutls_datum_t *salt, unsigned iter_count, void *output,\n\t\t
      \ size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gnutls/lib/tpm2_esys.c:199,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:201,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:207,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:208,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:209,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:210,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:211,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:212,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:213,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:214,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:215,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:216,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:217,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:218,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:219,1
    - Dst: dlopen
      Src: /src/gnutls/lib/tpm2_esys.c:222,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:224,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:230,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:231,1
    - Dst: dlopen
      Src: /src/gnutls/lib/tpm2_esys.c:234,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:236,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:242,1
    - Dst: DLSYM_TSS2
      Src: /src/gnutls/lib/tpm2_esys.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 245
    functionName: init_tss2_funcs
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - DLSYM_TSS2
    - dlopen
    linkageType: ''
    returnType: int
    signature: int init_tss2_funcs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/tpm2_esys.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pin
    argTypes:
    - struct pin_info_st*
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: tpm2_info_init
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: struct tpm2_info_st
    signature: struct tpm2_info_st *tpm2_info_init(struct pin_info_st *pin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_retrieve_pin
      Src: /src/gnutls/lib/tpm2_esys.c:377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pin_info
    - url
    - label
    - pin
    - pin_size
    argTypes:
    - struct pin_info_st*
    - char*
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: tpm2_pin
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_retrieve_pin
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int tpm2_pin(struct pin_info_st *pin_info, const char *url,\n\t\t
      \   const char *label, char *pin, unsigned int pin_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/tpm2_esys.c:386,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:387,1
    - Dst: strlen
      Src: /src/gnutls/lib/tpm2_esys.c:389,1
    - Dst: snprintf
      Src: /src/gnutls/lib/tpm2_esys.c:390,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/tpm2_esys.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - auth
    - pass
    argTypes:
    - TPM2B_DIGEST*
    - char*
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: install_tpm_passphrase
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - snprintf
    - strlen
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void install_tpm_passphrase(TPM2B_DIGEST *auth, char *pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_tss2_Esys_GetCapability
      Src: /src/gnutls/lib/tpm2_esys.c:403,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:408,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:416,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:424,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:429,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ESYS_CONTEXT*
    constantsTouched: []
    func_position:
      end: 432
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 432
    functionName: get_primary_template
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - _gnutls_tss2_Esys_GetCapability
    - _gnutls_tss2_Esys_Free
    linkageType: ''
    returnType: TPM2B_PUBLIC
    signature: TPM2B_PUBLIC *get_primary_template(ESYS_CONTEXT *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - hierarchy
    argTypes:
    - TPM2_RH
    constantsTouched: []
    func_position:
      end: 449
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 449
    functionName: tpm2_hierarchy_name
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: char *tpm2_hierarchy_name(TPM2_RH hierarchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - hierarchy
    argTypes:
    - TPM2_RH
    constantsTouched: []
    func_position:
      end: 466
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 466
    functionName: tpm2_hierarchy_to_esys_handle
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: ESYS_TR
    signature: ESYS_TR tpm2_hierarchy_to_esys_handle(TPM2_RH hierarchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_hierarchy_name
      Src: /src/gnutls/lib/tpm2_esys.c:476,1
    - Dst: tpm2_hierarchy_to_esys_handle
      Src: /src/gnutls/lib/tpm2_esys.c:477,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:480,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:483,1
    - Dst: tpm2_pin
      Src: /src/gnutls/lib/tpm2_esys.c:488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:490,1
    - Dst: install_tpm_passphrase
      Src: /src/gnutls/lib/tpm2_esys.c:493,1
    - Dst: _gnutls_tss2_Esys_TR_SetAuth
      Src: /src/gnutls/lib/tpm2_esys.c:496,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:498,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:499,1
    - Dst: get_primary_template
      Src: /src/gnutls/lib/tpm2_esys.c:501,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:503,1
    - Dst: _gnutls_tss2_Esys_CreatePrimary
      Src: /src/gnutls/lib/tpm2_esys.c:505,1
    - Dst: rc_is_key_auth_failed
      Src: /src/gnutls/lib/tpm2_esys.c:509,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:510,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:515,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - info
    - ctx
    - primary_handle
    argTypes:
    - struct tpm2_info_st*
    - ESYS_CONTEXT*
    - ESYS_TR*
    constantsTouched: []
    func_position:
      end: 520
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 520
    functionName: init_tpm2_primary
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_tss2_Esys_CreatePrimary
    - rc_is_key_auth_failed
    - install_tpm_passphrase
    - tpm2_hierarchy_name
    - get_primary_template
    - tpm2_hierarchy_to_esys_handle
    - _gnutls_debug_log
    - gnutls_assert_val
    - tpm2_pin
    - _gnutls_tss2_Esys_TR_SetAuth
    linkageType: ''
    returnType: int
    signature: "int init_tpm2_primary(struct tpm2_info_st *info, ESYS_CONTEXT *ctx,\n\t\t\t
      \    ESYS_TR *primary_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:535,1
    - Dst: _gnutls_tss2_Esys_Initialize
      Src: /src/gnutls/lib/tpm2_esys.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:539,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:540,1
    - Dst: _gnutls_tss2_Esys_Startup
      Src: /src/gnutls/lib/tpm2_esys.c:544,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:546,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:549,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:550,1
    - Dst: parent_is_generated
      Src: /src/gnutls/lib/tpm2_esys.c:554,1
    - Dst: init_tpm2_primary
      Src: /src/gnutls/lib/tpm2_esys.c:555,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:556,1
    - Dst: _gnutls_tss2_Esys_TR_FromTPMPublic
      Src: /src/gnutls/lib/tpm2_esys.c:560,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:564,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:565,1
    - Dst: _gnutls_tss2_Esys_ReadPublic
      Src: /src/gnutls/lib/tpm2_esys.c:577,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:584,1
    - Dst: tpm2_pin
      Src: /src/gnutls/lib/tpm2_esys.c:589,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:591,1
    - Dst: install_tpm_passphrase
      Src: /src/gnutls/lib/tpm2_esys.c:594,1
    - Dst: _gnutls_tss2_Esys_TR_SetAuth
      Src: /src/gnutls/lib/tpm2_esys.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:600,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:601,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:607,1
    - Dst: _gnutls_tss2_Esys_Load
      Src: /src/gnutls/lib/tpm2_esys.c:610,1
    - Dst: rc_is_parent_auth_failed
      Src: /src/gnutls/lib/tpm2_esys.c:613,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:614,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:620,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:621,1
    - Dst: parent_is_generated
      Src: /src/gnutls/lib/tpm2_esys.c:626,1
    - Dst: _gnutls_tss2_Esys_FlushContext
      Src: /src/gnutls/lib/tpm2_esys.c:627,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:629,1
    - Dst: parent_is_generated
      Src: /src/gnutls/lib/tpm2_esys.c:638,1
    - Dst: _gnutls_tss2_Esys_FlushContext
      Src: /src/gnutls/lib/tpm2_esys.c:640,1
    - Dst: _gnutls_tss2_Esys_FlushContext
      Src: /src/gnutls/lib/tpm2_esys.c:643,1
    - Dst: _gnutls_tss2_Esys_Finalize
      Src: /src/gnutls/lib/tpm2_esys.c:647,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 3
    argNames:
    - ctx
    - key_handle
    - info
    argTypes:
    - ESYS_CONTEXT**
    - ESYS_TR*
    - struct tpm2_info_st*
    constantsTouched: []
    func_position:
      end: 649
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 649
    functionName: init_tpm2_key
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_tss2_Esys_FlushContext
    - tpm2_pin
    - install_tpm_passphrase
    - _gnutls_tss2_Esys_ReadPublic
    - _gnutls_tss2_Esys_Load
    - rc_is_parent_auth_failed
    - _gnutls_tss2_Esys_Startup
    - _gnutls_tss2_Esys_TR_FromTPMPublic
    - _gnutls_tss2_Esys_Finalize
    - parent_is_generated
    - init_tpm2_primary
    - _gnutls_tss2_Esys_Free
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_tss2_Esys_Initialize
    - gnutls_assert
    - _gnutls_tss2_Esys_TR_SetAuth
    linkageType: ''
    returnType: int
    signature: "int init_tpm2_key(ESYS_CONTEXT **ctx, ESYS_TR *key_handle,\n\t\t\t
      struct tpm2_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_pin
      Src: /src/gnutls/lib/tpm2_esys.c:658,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:660,1
    - Dst: install_tpm_passphrase
      Src: /src/gnutls/lib/tpm2_esys.c:664,1
    - Dst: _gnutls_tss2_Esys_TR_SetAuth
      Src: /src/gnutls/lib/tpm2_esys.c:668,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:670,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - info
    - ctx
    - key_handle
    argTypes:
    - struct tpm2_info_st*
    - ESYS_CONTEXT*
    - ESYS_TR
    constantsTouched: []
    func_position:
      end: 674
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 674
    functionName: auth_tpm2_key
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - tpm2_pin
    - install_tpm_passphrase
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_tss2_Esys_TR_SetAuth
    linkageType: ''
    returnType: int
    signature: "int auth_tpm2_key(struct tpm2_info_st *info, ESYS_CONTEXT *ctx,\n\t\t\t
      ESYS_TR key_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:691,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/tpm2_esys.c:692,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/tpm2_esys.c:694,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tpm2_esys.c:695,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:696,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/tpm2_esys.c:705,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:707,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/tpm2_esys.c:711,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:714,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/tpm2_esys.c:717,1
    - Dst: _gnutls_rsa_pss_sign_pad
      Src: /src/gnutls/lib/tpm2_esys.c:720,1
    - Dst: tpm2_rsa_key_bits
      Src: /src/gnutls/lib/tpm2_esys.c:720,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:724,1
    - Dst: _gnutls_rsa_pkcs1_sign_pad
      Src: /src/gnutls/lib/tpm2_esys.c:729,1
    - Dst: tpm2_rsa_key_bits
      Src: /src/gnutls/lib/tpm2_esys.c:729,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:732,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:736,1
    - Dst: init_tpm2_key
      Src: /src/gnutls/lib/tpm2_esys.c:739,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:741,1
    - Dst: auth_tpm2_key
      Src: /src/gnutls/lib/tpm2_esys.c:745,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:747,1
    - Dst: _gnutls_tss2_Esys_RSA_Decrypt
      Src: /src/gnutls/lib/tpm2_esys.c:751,1
    - Dst: rc_is_key_auth_failed
      Src: /src/gnutls/lib/tpm2_esys.c:754,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:755,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:756,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:761,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:762,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/tpm2_esys.c:767,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:769,1
    - Dst: _gnutls_tss2_Esys_FlushContext
      Src: /src/gnutls/lib/tpm2_esys.c:772,1
    - Dst: _gnutls_tss2_Esys_Finalize
      Src: /src/gnutls/lib/tpm2_esys.c:776,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 6
    argNames:
    - key
    - algo
    - _info
    - flags
    - data
    - sig
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 780
      start: 676
    functionDepth: 5
    functionLinenumber: 676
    functionLinenumberEnd: 780
    functionName: tpm2_rsa_sign_hash_fn
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_get_name
    - auth_tpm2_key
    - _gnutls_tss2_Esys_Finalize
    - tpm2_rsa_key_bits
    - gnutls_assert_val
    - FIX_SIGN_PARAMS
    - unlikely
    - _gnutls_privkey_update_spki_params
    - _gnutls_rsa_pss_sign_pad
    - _gnutls_debug_log
    - rc_is_key_auth_failed
    - _gnutls_tss2_Esys_RSA_Decrypt
    - _gnutls_privkey_get_spki_params
    - _gnutls_rsa_pkcs1_sign_pad
    - init_tpm2_key
    - _gnutls_set_datum
    - _gnutls_tss2_Esys_FlushContext
    - _gnutls_tss2_Esys_Free
    - _gnutls_sign_to_entry
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int tpm2_rsa_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t
      algo,\n\t\t\t  void *_info, unsigned int flags,\n\t\t\t  const gnutls_datum_t
      *data, gnutls_datum_t *sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:799,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:819,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tpm2_esys.c:824,1
    - Dst: init_tpm2_key
      Src: /src/gnutls/lib/tpm2_esys.c:827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:829,1
    - Dst: auth_tpm2_key
      Src: /src/gnutls/lib/tpm2_esys.c:833,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2_esys.c:835,1
    - Dst: _gnutls_tss2_Esys_Sign
      Src: /src/gnutls/lib/tpm2_esys.c:839,1
    - Dst: rc_is_key_auth_failed
      Src: /src/gnutls/lib/tpm2_esys.c:842,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:843,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:848,1
    - Dst: gnutls_encode_rs_value
      Src: /src/gnutls/lib/tpm2_esys.c:858,1
    - Dst: _gnutls_tss2_Esys_Free
      Src: /src/gnutls/lib/tpm2_esys.c:860,1
    - Dst: _gnutls_tss2_Esys_FlushContext
      Src: /src/gnutls/lib/tpm2_esys.c:863,1
    - Dst: _gnutls_tss2_Esys_Finalize
      Src: /src/gnutls/lib/tpm2_esys.c:867,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 6
    argNames:
    - key
    - algo
    - _info
    - flags
    - data
    - sig
    argTypes:
    - gnutls_privkey_t
    - gnutls_sign_algorithm_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 871
      start: 782
    functionDepth: 5
    functionLinenumber: 782
    functionLinenumberEnd: 871
    functionName: tpm2_ec_sign_hash_fn
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_tss2_Esys_FlushContext
    - rc_is_key_auth_failed
    - auth_tpm2_key
    - _gnutls_tss2_Esys_Sign
    - init_tpm2_key
    - _gnutls_tss2_Esys_Free
    - memcpy
    - _gnutls_debug_log
    - _gnutls_tss2_Esys_Finalize
    - gnutls_assert
    - gnutls_encode_rs_value
    linkageType: ''
    returnType: int
    signature: "int tpm2_ec_sign_hash_fn(gnutls_privkey_t key, gnutls_sign_algorithm_t
      algo,\n\t\t\t void *_info, unsigned int flags,\n\t\t\t const gnutls_datum_t
      *data, gnutls_datum_t *sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_tss2_funcs
      Src: /src/gnutls/lib/tpm2_esys.c:883,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:884,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/tpm2_esys.c:890,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:892,1
    - Dst: _gnutls_tss2_Tss2_TctiLdr_Initialize
      Src: /src/gnutls/lib/tpm2_esys.c:899,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 906
    functionName: tpm2_esys_once_init
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - secure_getenv
    - _gnutls_debug_log
    - init_tss2_funcs
    - _gnutls_tss2_Tss2_TctiLdr_Initialize
    linkageType: ''
    returnType: void
    signature: void tpm2_esys_once_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_tss2_Tss2_TctiLdr_Finalize
      Src: /src/gnutls/lib/tpm2_esys.c:912,1
    - Dst: dlclose
      Src: /src/gnutls/lib/tpm2_esys.c:916,1
    - Dst: dlclose
      Src: /src/gnutls/lib/tpm2_esys.c:920,1
    - Dst: dlclose
      Src: /src/gnutls/lib/tpm2_esys.c:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 927
    functionName: tpm2_esys_deinit
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - dlclose
    - _gnutls_tss2_Tss2_TctiLdr_Finalize
    linkageType: ''
    returnType: void
    signature: void tpm2_esys_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_once
      Src: /src/gnutls/lib/tpm2_esys.c:935,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:938,1
    - Dst: parent_is_persistent
      Src: /src/gnutls/lib/tpm2_esys.c:941,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:944,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:946,1
    - Dst: _gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal
      Src: /src/gnutls/lib/tpm2_esys.c:951,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:954,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:956,1
    - Dst: _gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal
      Src: /src/gnutls/lib/tpm2_esys.c:959,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:962,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:964,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:975,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:977,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - info
    - pkey
    - parent
    - emptyauth
    - privdata
    - pubdata
    argTypes:
    - struct tpm2_info_st*
    - gnutls_privkey_t
    - unsigned int
    - bool
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 979
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 979
    functionName: install_tpm2_key
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - parent_is_persistent
    - gnutls_once
    - _gnutls_tss2_Tss2_MU_TPM2B_PRIVATE_Unmarshal
    - _gnutls_debug_log
    - _gnutls_tss2_Tss2_MU_TPM2B_PUBLIC_Unmarshal
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int install_tpm2_key(struct tpm2_info_st *info, gnutls_privkey_t pkey,\n\t\t
      \    unsigned int parent, bool emptyauth,\n\t\t     gnutls_datum_t *privdata,
      gnutls_datum_t *pubdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct tpm2_info_st*
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: tpm2_key_curve
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tpm2_key_curve(struct tpm2_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct tpm2_info_st*
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: tpm2_rsa_key_bits
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tpm2_rsa_key_bits(struct tpm2_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/tpm2_esys.c:994,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/tpm2_esys.c:996,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm2_esys.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct tpm2_info_st*
    constantsTouched: []
    func_position:
      end: 1000
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1000
    functionName: release_tpm2_ctx
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void release_tpm2_ctx(struct tpm2_info_st *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_tpm2_ctx
      Src: /src/gnutls/lib/tpm2_esys.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - priv
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 1005
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1005
    functionName: tpm2_deinit_fn
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - release_tpm2_ctx
    linkageType: ''
    returnType: void
    signature: void tpm2_deinit_fn(gnutls_privkey_t key, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - curve
    argTypes:
    - TPMI_ECC_CURVE
    constantsTouched: []
    func_position:
      end: 1023
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1023
    functionName: tpm2_curve_to_gnutls_curve
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t tpm2_curve_to_gnutls_curve(TPMI_ECC_CURVE curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/tpm2_esys.c:1031,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/tpm2_esys.c:1036,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1040,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/tpm2_esys.c:1047,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1049,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/lib/tpm2_esys.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - info
    - params
    argTypes:
    - struct tpm2_info_st*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1054
    functionName: convert_public_rsa
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_init
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_set_ui
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int convert_public_rsa(struct tpm2_info_st *info,\n\t\t\t      gnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/tpm2_esys.c:1064,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/tpm2_esys.c:1069,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1072,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/tpm2_esys.c:1074,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1077,1
    - Dst: tpm2_curve_to_gnutls_curve
      Src: /src/gnutls/lib/tpm2_esys.c:1080,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - info
    - params
    argTypes:
    - struct tpm2_info_st*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1056
    functionDepth: 3
    functionLinenumber: 1056
    functionLinenumberEnd: 1086
    functionName: convert_public_ecc
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - tpm2_curve_to_gnutls_curve
    - gnutls_assert_val
    - _gnutls_mpi_init_scan_nz
    - memset
    linkageType: ''
    returnType: int
    signature: "int convert_public_ecc(struct tpm2_info_st *info,\n\t\t\t      gnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_public_rsa
      Src: /src/gnutls/lib/tpm2_esys.c:1095,1
    - Dst: convert_public_ecc
      Src: /src/gnutls/lib/tpm2_esys.c:1097,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2_esys.c:1099,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tpm2_esys.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - key
    - _info
    - params
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1088
    functionDepth: 4
    functionLinenumber: 1088
    functionLinenumberEnd: 1105
    functionName: tpm2_convert_public
    functionSourceFile: /src/gnutls/lib/tpm2_esys.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - convert_public_ecc
    - convert_public_rsa
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int tpm2_convert_public(gnutls_privkey_t key, void *_info,\n\t\t\tgnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_encode_ber_rs_raw
      Src: /src/gnutls/lib/pk.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: gnutls_encode_rs_value
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_encode_ber_rs_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_encode_rs_value(gnutls_datum_t *sig_value, const gnutls_datum_t
      *r,\n\t\t\t   const gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:75,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:75,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:78,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:79,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pk.c:83,1
    - Dst: MAX
      Src: /src/gnutls/lib/pk.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:85,1
    - Dst: assert
      Src: /src/gnutls/lib/pk.c:91,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:93,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:94,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:96,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:100,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:101,1
    - Dst: assert
      Src: /src/gnutls/lib/pk.c:106,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:108,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:109,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:111,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:115,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:116,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/pk.c:120,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:128,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 131
    functionName: _gnutls_encode_ber_rs_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - assert
    - gnutls_free
    - asn1_write_value
    - asn1_create_element
    - gnutls_malloc
    - MAX
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_encode_ber_rs_raw(gnutls_datum_t *sig_value,\n\t\t\t      const
      gnutls_datum_t *r, const gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:138,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:141,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:142,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/pk.c:145,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:147,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:148,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/pk.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:154,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:155,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/pk.c:159,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:160,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: _gnutls_encode_ber_rs
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_write_int
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_encode_ber_rs(gnutls_datum_t *sig_value, bigint_t r, bigint_t
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:176,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:176,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:179,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:180,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/pk.c:186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:188,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:189,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:190,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/pk.c:193,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:195,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:196,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/pk.c:200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:202,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/pk.c:203,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:204,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - bigint_t*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 211
    functionName: _gnutls_decode_ber_rs
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_read_int
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_mpi_release
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decode_ber_rs(const gnutls_datum_t *sig_value, bigint_t
      *r,\n\t\t\t  bigint_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_decode_ber_rs_raw
      Src: /src/gnutls/lib/pk.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: gnutls_decode_rs_value
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - _gnutls_decode_ber_rs_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_decode_rs_value(const gnutls_datum_t *sig_value, gnutls_datum_t
      *r,\n\t\t\t   gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:248,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:248,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:251,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:252,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/pk.c:258,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:260,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:261,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:262,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/pk.c:265,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:267,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:268,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/pk.c:272,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:274,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:275,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:276,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 283
    functionName: _gnutls_decode_ber_rs_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_create_element
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decode_ber_rs_raw(const gnutls_datum_t *sig_value,\n\t\t\t
      \     gnutls_datum_t *r, gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pk.c:291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:293,1
    - Dst: _gnutls_mpi_bprint_size
      Src: /src/gnutls/lib/pk.c:297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:298,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:299,1
    - Dst: _gnutls_mpi_bprint_size
      Src: /src/gnutls/lib/pk.c:303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:305,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - sig_value
    - r
    - s
    - intsize
    argTypes:
    - gnutls_datum_t*
    - bigint_t
    - bigint_t
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: _gnutls_encode_gost_rs
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_mpi_bprint_size
    linkageType: ''
    returnType: int
    signature: "int _gnutls_encode_gost_rs(gnutls_datum_t *sig_value, bigint_t r,
      bigint_t s,\n\t\t\t   size_t intsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:323,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/pk.c:326,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:328,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/pk.c:330,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/pk.c:332,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - bigint_t*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: _gnutls_decode_gost_rs
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_release
    - _gnutls_mpi_init_scan
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decode_gost_rs(const gnutls_datum_t *sig_value, bigint_t
      *r,\n\t\t\t   bigint_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:364,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pk.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:370,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:374,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 381
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 381
    functionName: gnutls_encode_gost_rs_value
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int gnutls_encode_gost_rs_value(gnutls_datum_t *sig_value,\n\t\t\t\tconst
      gnutls_datum_t *r,\n\t\t\t\tconst gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:408,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:410,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:412,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:414,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:416,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sig_value
    - r
    - s
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 421
    functionName: gnutls_decode_gost_rs_value
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_decode_gost_rs_value(const gnutls_datum_t *sig_value,\n\t\t\t\tgnutls_datum_t
      *r, gnutls_datum_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: _gnutls_gost_digest
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t _gnutls_gost_digest(gnutls_pk_algorithm_t
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: _gnutls_digest_gost
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t _gnutls_digest_gost(gnutls_digest_algorithm_t
      digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: _gnutls_gost_paramset_default
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_gost_paramset_t
    signature: gnutls_gost_paramset_t _gnutls_gost_paramset_default(gnutls_pk_algorithm_t
      pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:470,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pk.c:482,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:493,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:497,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:499,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:505,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pk.c:509,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/pk.c:515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 517
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 517
    functionName: _gnutls_pk_params_copy
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    - _gnutls_mpi_release
    - memcpy
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pk_params_copy(gnutls_pk_params_st *dst,\n\t\t\t   const
      gnutls_pk_params_st *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pk.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: gnutls_pk_params_init
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 7
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void gnutls_pk_params_init(gnutls_pk_params_st *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/pk.c:528,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:530,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: gnutls_pk_params_release
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 9
    functionsReached:
    - _gnutls_mpi_release
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_pk_params_release(gnutls_pk_params_st *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_clear
      Src: /src/gnutls/lib/pk.c:541,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/pk.c:543,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/pk.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: gnutls_pk_params_clear
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_memset
    - _gnutls_mpi_clear
    linkageType: ''
    returnType: void
    signature: void gnutls_pk_params_clear(gnutls_pk_params_st *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pk.c:558,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:562,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - bits
    - me
    - salt_size
    argTypes:
    - unsigned
    - mac_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 576
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 576
    functionName: _gnutls_find_rsa_pss_salt_size
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: int
    signature: "int _gnutls_find_rsa_pss_salt_size(unsigned bits, const mac_entry_st
      *me,\n\t\t\t\t   unsigned salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pk.c:590,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:591,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:596,1
    - Dst: _gnutls_x509_mac_to_oid
      Src: /src/gnutls/lib/pk.c:598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:600,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pk.c:601,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:605,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:608,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:609,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:614,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:615,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:616,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:627,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:628,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:629,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/pk.c:632,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:634,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:635,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:636,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/pk.c:640,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:642,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:643,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:644,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pk.c:647,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:649,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:650,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/pk.c:654,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:656,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:657,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:658,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - e
    - digest
    - output
    argTypes:
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 667
    functionName: encode_ber_digest_info
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_x509_mac_to_oid
    - asn1_delete_structure
    - unlikely
    - _gnutls_get_gnutls_asn
    - _gnutls_debug_log
    - gnutls_assert_val
    - asn1_der_coding
    linkageType: ''
    returnType: int
    signature: "int encode_ber_digest_info(const mac_entry_st *e, const gnutls_datum_t
      *digest,\n\t\t\t   gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/pk.c:689,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pk.c:690,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:691,1
    - Dst: encode_ber_digest_info
      Src: /src/gnutls/lib/pk.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hash
    - digest
    - output
    argTypes:
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 694
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 694
    functionName: gnutls_encode_ber_digest_info
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - hash_to_entry
    - encode_ber_digest_info
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int gnutls_encode_ber_digest_info(gnutls_digest_algorithm_t hash,\n\t\t\t\t
      \ const gnutls_datum_t *digest,\n\t\t\t\t  gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pk.c:722,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pk.c:722,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:725,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:726,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/pk.c:731,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:733,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:734,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:735,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pk.c:739,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:741,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:742,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:743,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/pk.c:746,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pk.c:749,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:751,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:752,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pk.c:758,1
    - Dst: memcmp
      Src: /src/gnutls/lib/pk.c:763,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:764,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:765,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pk.c:770,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:773,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:775,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pk.c:776,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pk.c:780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - info
    - hash
    - digest
    - digest_size
    argTypes:
    - gnutls_datum_t*
    - gnutls_digest_algorithm_t*
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 783
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 783
    functionName: gnutls_decode_ber_digest_info
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_create_element
    - memcmp
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_oid_to_digest
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_decode_ber_digest_info(const gnutls_datum_t *info,\n\t\t\t\t
      \ gnutls_digest_algorithm_t *hash,\n\t\t\t\t  unsigned char *digest,\n\t\t\t\t
      \ unsigned int *digest_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:799,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/pk.c:803,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:804,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:809,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:811,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:818,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:820,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:829,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:839,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:841,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:851,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:853,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:863,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:865,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:875,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:877,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:887,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:889,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:900,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:901,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:902,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:903,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:904,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:905,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:906,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 10
    argNames:
    - params
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    - flags
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 909
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 909
    functionName: _gnutls_params_get_rsa_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - GNUTLS_PK_IS_RSA
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int _gnutls_params_get_rsa_raw(const gnutls_pk_params_st *params,\n\t\t\t
      \      gnutls_datum_t *m, gnutls_datum_t *e,\n\t\t\t       gnutls_datum_t *d,
      gnutls_datum_t *p,\n\t\t\t       gnutls_datum_t *q, gnutls_datum_t *u,\n\t\t\t
      \      gnutls_datum_t *e1, gnutls_datum_t *e2,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:923,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:928,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:934,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:936,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:943,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:945,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:946,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:953,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:955,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:956,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:957,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:964,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:966,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:967,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:968,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:969,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:976,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:978,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:979,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:980,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:981,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:982,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 7
    argNames:
    - params
    - p
    - q
    - g
    - y
    - x
    - flags
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 988
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 988
    functionName: _gnutls_params_get_dsa_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int _gnutls_params_get_dsa_raw(const gnutls_pk_params_st *params,\n\t\t\t
      \      gnutls_datum_t *p, gnutls_datum_t *q,\n\t\t\t       gnutls_datum_t *g,
      gnutls_datum_t *y,\n\t\t\t       gnutls_datum_t *x, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1003,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/pk.c:1010,1
    - Dst: _curve_is_eddsa
      Src: /src/gnutls/lib/pk.c:1012,1
    - Dst: _curve_is_modern_ecdh
      Src: /src/gnutls/lib/pk.c:1012,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:1014,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:1017,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pk.c:1027,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1030,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:1031,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pk.c:1038,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:1039,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1043,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1045,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1052,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1054,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1055,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1062,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1064,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1065,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1066,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - params
    - curve
    - x
    - y
    - k
    - flags
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1072
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1072
    functionName: _gnutls_params_get_ecc_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - _curve_is_eddsa
    - _gnutls_ecc_curve_get_params
    - dprint
    - _gnutls_free_datum
    - _curve_is_modern_ecdh
    - gnutls_assert_val
    - unlikely
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_params_get_ecc_raw(const gnutls_pk_params_st *params,\n\t\t\t
      \      gnutls_ecc_curve_t *curve, gnutls_datum_t *x,\n\t\t\t       gnutls_datum_t
      *y, gnutls_datum_t *k,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1085,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/pk.c:1093,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1102,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1111,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1112,1
    - Dst: dprint
      Src: /src/gnutls/lib/pk.c:1119,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1121,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1122,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 8
    argNames:
    - params
    - curve
    - digest
    - paramset
    - x
    - y
    - k
    - flags
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_ecc_curve_t*
    - gnutls_digest_algorithm_t*
    - gnutls_gost_paramset_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1129
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1129
    functionName: _gnutls_params_get_gost_raw
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_gost_digest
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int _gnutls_params_get_gost_raw(const gnutls_pk_params_st *params,\n\t\t\t\tgnutls_ecc_curve_t
      *curve,\n\t\t\t\tgnutls_digest_algorithm_t *digest,\n\t\t\t\tgnutls_gost_paramset_t
      *paramset,\n\t\t\t\tgnutls_datum_t *x, gnutls_datum_t *y,\n\t\t\t\tgnutls_datum_t
      *k, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pk.c:1137,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pk.c:1138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1140,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/pk.c:1144,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1147,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pk.c:1154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pk
    - hash
    - params
    - data
    - digest
    argTypes:
    - gnutls_pk_algorithm_t
    - mac_entry_st*
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1156
    functionName: pk_hash_data
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_hash_fast
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: int
    signature: "int pk_hash_data(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,\n\t\t
      gnutls_pk_params_st *params, const gnutls_datum_t *data,\n\t\t gnutls_datum_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pk.c:1171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pk.c:1172,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/pk.c:1182,1
    - Dst: encode_ber_digest_info
      Src: /src/gnutls/lib/pk.c:1188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1190,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pk.c:1194,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pk.c:1208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - pk
    - hash
    - digest
    argTypes:
    - gnutls_pk_algorithm_t
    - mac_entry_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1213
    functionName: pk_prepare_hash
    functionSourceFile: /src/gnutls/lib/pk.c
    functionUses: 2
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_free_datum
    - gnutls_assert
    - unlikely
    - encode_ber_digest_info
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int pk_prepare_hash(gnutls_pk_algorithm_t pk, const mac_entry_st *hash,\n\t\t
      \   gnutls_datum_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/mem.c:46,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mem.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: gnutls_realloc_fast
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_realloc
    linkageType: ''
    returnType: void
    signature: void *gnutls_realloc_fast(void *ptr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/mem.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mem.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: _gnutls_reallocarray_fast
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - _gnutls_reallocarray
    linkageType: ''
    returnType: void
    signature: void *_gnutls_reallocarray_fast(void *ptr, size_t nmemb, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/mem.c:76,1
    - Dst: strlen
      Src: /src/gnutls/lib/mem.c:79,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mem.c:81,1
    - Dst: memcpy
      Src: /src/gnutls/lib/mem.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: _gnutls_strdup
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - unlikely
    - gnutls_malloc
    linkageType: ''
    returnType: char
    signature: char *_gnutls_strdup(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_oversized
      Src: /src/gnutls/lib/mem.c:89,1
    - Dst: gnutls_realloc
      Src: /src/gnutls/lib/mem.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: _gnutls_reallocarray
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 5
    functionsReached:
    - xalloc_oversized
    - gnutls_realloc
    linkageType: ''
    returnType: void
    signature: void *_gnutls_reallocarray(void *ptr, size_t nmemb, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: gnutls_malloc
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gnutls_malloc(size_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: gnutls_free
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 430
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_free(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: _gnutls_mem_is_zero
    functionSourceFile: /src/gnutls/lib/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_mem_is_zero(const uint8_t *ptr, unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pcert.c:52,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/pcert.c:57,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:59,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/pcert.c:63,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:65,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/pcert.c:69,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pcert.c:71,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:73,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pcert.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - pcert
    - crt
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 83
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 83
    functionName: gnutls_pcert_import_x509
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - gnutls_pubkey_import_x509
    - memset
    - gnutls_x509_crt_export2
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t
      crt,\n\t\t\t     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_check_if_sorted
      Src: /src/gnutls/lib/pcert.c:121,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:123,1
    - Dst: _gnutls_sort_clist
      Src: /src/gnutls/lib/pcert.c:131,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/pcert.c:136,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/pcert.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pcert_list
    - crt
    - ncrt
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_x509_crt_t*
    - unsigned*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 150
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 150
    functionName: gnutls_pcert_import_x509_list
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 3
    functionsReached:
    - _gnutls_check_if_sorted
    - gnutls_pcert_import_x509
    - _gnutls_sort_clist
    - gnutls_pcert_deinit
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_x509_list(gnutls_pcert_st *pcert_list,\n\t\t\t\t
      \ gnutls_x509_crt_t *crt, unsigned *ncrt,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/pcert.c:184,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:188,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/lib/pcert.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:193,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/pcert.c:198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:200,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/pcert.c:210,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pcert.c:214,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pcert.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - pcert_list
    - pcert_list_size
    - data
    - format
    - flags
    argTypes:
    - gnutls_pcert_st*
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 219
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 219
    functionName: gnutls_pcert_list_import_x509_raw
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 9
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pcert_import_x509
    - gnutls_x509_crt_list_import
    - gnutls_pcert_deinit
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_list_import_x509_raw(gnutls_pcert_st *pcert_list,\n\t\t\t\t
      \     unsigned int *pcert_list_size,\n\t\t\t\t      const gnutls_datum_t *data,\n\t\t\t\t
      \     gnutls_x509_crt_fmt_t format,\n\t\t\t\t      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/lib/pcert.c:254,1
    - Dst: gnutls_x509_crt_list_import_url
      Src: /src/gnutls/lib/pcert.c:255,1
    - Dst: gnutls_x509_crt_list_import_url
      Src: /src/gnutls/lib/pcert.c:258,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:266,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/pcert.c:271,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:273,1
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/lib/pcert.c:275,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:285,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/lib/pcert.c:290,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:293,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pcert.c:301,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pcert.c:302,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pcert.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 7
    argNames:
    - pcert_list
    - pcert_list_size
    - file
    - format
    - pin_fn
    - pin_fn_userdata
    - flags
    argTypes:
    - gnutls_pcert_st*
    - unsigned*
    - char*
    - gnutls_x509_crt_fmt_t
    - gnutls_pin_callback_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 305
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 305
    functionName: gnutls_pcert_list_import_x509_file
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 1
    functionsReached:
    - gnutls_load_file
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_url_is_supported
    - gnutls_x509_crt_list_import_url
    - gnutls_assert
    - gnutls_pcert_import_x509_list
    - gnutls_x509_crt_list_import2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_list_import_x509_file(\n\tgnutls_pcert_st *pcert_list,
      unsigned *pcert_list_size,\n\tconst char *file, gnutls_x509_crt_fmt_t format,\n\tgnutls_pin_callback_t
      pin_fn, void *pin_fn_userdata, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pcert.c:331,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pcert.c:333,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:335,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pcert.c:337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:339,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/pcert.c:343,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:345,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pcert.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pcert
    - cert
    - format
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: gnutls_pcert_import_x509_raw
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_pcert_import_x509
    - gnutls_x509_crt_init
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_x509_raw(gnutls_pcert_st *pcert,\n\t\t\t\t
      const gnutls_datum_t *cert,\n\t\t\t\t gnutls_x509_crt_fmt_t format,\n\t\t\t\t
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:380,1
    - Dst: memset
      Src: /src/gnutls/lib/pcert.c:383,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/lib/pcert.c:391,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pcert
    - pubkey
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_pubkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 401
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 401
    functionName: gnutls_pcert_import_rawpk
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - gnutls_pubkey_export2
    - memset
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_rawpk(gnutls_pcert_st *pcert, gnutls_pubkey_t
      pubkey,\n\t\t\t      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:434,1
    - Dst: memset
      Src: /src/gnutls/lib/pcert.c:437,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/pcert.c:439,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:441,1
    - Dst: gnutls_pubkey_import
      Src: /src/gnutls/lib/pcert.c:444,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:446,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/pcert.c:458,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pcert.c:462,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:464,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pcert.c:468,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pcert.c:472,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - pcert
    - rawpubkey
    - format
    - key_usage
    - flags
    argTypes:
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 481
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 481
    functionName: gnutls_pcert_import_rawpk_raw
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 3
    functionsReached:
    - _gnutls_fbase64_decode
    - memset
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_import
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pcert_import_rawpk_raw(gnutls_pcert_st *pcert,\n\t\t\t\t
      \ const gnutls_datum_t *rawpubkey,\n\t\t\t\t  gnutls_x509_crt_fmt_t format,\n\t\t\t\t
      \ unsigned int key_usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pcert.c:503,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pcert.c:507,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:509,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pcert.c:511,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pcert.c:513,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pcert
    - crt
    argTypes:
    - gnutls_pcert_st*
    - gnutls_x509_crt_t*
    constantsTouched: []
    func_position:
      end: 520
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 520
    functionName: gnutls_pcert_export_x509
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_pcert_export_x509(gnutls_pcert_st *pcert, gnutls_x509_crt_t
      *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pcert.c:533,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pcert.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcert
    argTypes:
    - gnutls_pcert_st*
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: gnutls_pcert_deinit
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 11
    functionsReached:
    - _gnutls_free_datum
    - gnutls_pubkey_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_pcert_deinit(gnutls_pcert_st *pcert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pcert_import_x509_raw
      Src: /src/gnutls/lib/pcert.c:547,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/lib/pcert.c:551,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pcert.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pcert
    - type
    - info
    argTypes:
    - gnutls_pcert_st*
    - gnutls_certificate_type_t
    - cert_auth_info_t
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 5
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: _gnutls_get_auth_info_pcert
    functionSourceFile: /src/gnutls/lib/pcert.c
    functionUses: 0
    functionsReached:
    - gnutls_pcert_import_rawpk_raw
    - gnutls_assert_val
    - gnutls_pcert_import_x509_raw
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_auth_info_pcert(gnutls_pcert_st *pcert,\n\t\t\t\tgnutls_certificate_type_t
      type,\n\t\t\t\tcert_auth_info_t info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pkcs11_privkey.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:87,1
    - Dst: p11_kit_uri_new
      Src: /src/gnutls/lib/pkcs11_privkey.c:91,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:93,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:94,1
    - Dst: gnutls_mutex_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:98,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:100,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:101,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pkcs11_privkey_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: gnutls_pkcs11_privkey_init
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 4
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_mutex_init
    - p11_kit_uri_free
    - p11_kit_uri_new
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs11_privkey_init(gnutls_pkcs11_privkey_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_privkey_import_url
      Src: /src/gnutls/lib/pkcs11_privkey.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pkcs11_privkey_t
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gnutls_pkcs11_privkey_cpy
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_privkey_import_url
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_cpy(gnutls_pkcs11_privkey_t dst,\n\t\t\t
      \     gnutls_pkcs11_privkey_t src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:136,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:137,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:139,1
    - Dst: gnutls_mutex_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:140,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pkcs11_privkey_t
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: gnutls_pkcs11_privkey_deinit
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 5
    functionsReached:
    - gnutls_free
    - p11_kit_uri_free
    - gnutls_mutex_deinit
    - pkcs11_close_session
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs11_privkey_deinit(gnutls_pkcs11_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_pkcs11_privkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: gnutls_pkcs11_privkey_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t
      key,\n\t\t\t\t\t   unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_get_info
      Src: /src/gnutls/lib/pkcs11_privkey.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - itype
    - output
    - output_size
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pkcs11_obj_info_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: gnutls_pkcs11_privkey_get_info
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - pkcs11_get_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_get_info(gnutls_pkcs11_privkey_t pkey,\n\t\t\t\t
      \  gnutls_pkcs11_obj_info_t itype, void *output,\n\t\t\t\t   size_t *output_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:195,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:197,1
    - Dst: p11_kit_uri_get_attributes
      Src: /src/gnutls/lib/pkcs11_privkey.c:201,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:205,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:206,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:207,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11_privkey.c:211,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11_privkey.c:215,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11_privkey.c:220,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - sinfo
    - pin_info
    - _ctx
    - info
    - flags
    argTypes:
    - struct pkcs11_session_info*
    - struct pin_info_st*
    - ck_object_handle_t*
    - struct p11_kit_uri*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 225
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 225
    functionName: find_object
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - pkcs11_open_session
    - pkcs11_find_objects_final
    - pkcs11_close_session
    - p11_kit_uri_get_attributes
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - _gnutls_debug_log
    - gnutls_assert
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_object(struct pkcs11_session_info *sinfo,\n\t\t       struct
      pin_info_st *pin_info, ck_object_handle_t *_ctx,\n\t\t       struct p11_kit_uri
      *info, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_privkey.c:236,1
    - Dst: FIND_OBJECT
      Src: /src/gnutls/lib/pkcs11_privkey.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _privkey
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: reopen_privkey_session
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - FIND_OBJECT
    - memset
    linkageType: ''
    returnType: int
    signature: int reopen_privkey_session(void *_privkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: hash_to_map
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hash_mappings_st
    signature: 'struct hash_mappings_st *

      hash_to_map(gnutls_digest_algorithm_t hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_PRIVKEY
      Src: /src/gnutls/lib/pkcs11_privkey.c:327,1
    - Dst: hash_to_map
      Src: /src/gnutls/lib/pkcs11_privkey.c:332,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:334,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:335,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:338,1
    - Dst: pk_to_mech
      Src: /src/gnutls/lib/pkcs11_privkey.c:349,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:352,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/pkcs11_privkey.c:359,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:361,1
    - Dst: REPEAT_ON_INVALID_HANDLE
      Src: /src/gnutls/lib/pkcs11_privkey.c:365,1
    - Dst: pkcs11_sign_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:365,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:369,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_privkey.c:369,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:370,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:371,1
    - Dst: pkcs11_login
      Src: /src/gnutls/lib/pkcs11_privkey.c:379,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:382,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:383,1
    - Dst: pkcs11_sign
      Src: /src/gnutls/lib/pkcs11_privkey.c:390,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:392,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:398,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:399,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11_privkey.c:403,1
    - Dst: pkcs11_sign
      Src: /src/gnutls/lib/pkcs11_privkey.c:406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:409,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:410,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:420,1
    - Dst: _gnutls_encode_ber_rs_raw
      Src: /src/gnutls/lib/pkcs11_privkey.c:431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:433,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:437,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/pkcs11_privkey.c:446,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:448,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:450,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 96
    argCount: 5
    argNames:
    - key
    - se
    - hash
    - signature
    - spki_params
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_sign_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 453
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 453
    functionName: _gnutls_pkcs11_privkey_sign
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_malloc
    - pkcs11_rv_to_err
    - gnutls_assert_val
    - gnutls_mutex_lock
    - pkcs11_login
    - unlikely
    - pkcs11_sign
    - _gnutls_debug_log
    - gnutls_mutex_unlock
    - REPEAT_ON_INVALID_HANDLE
    - pkcs11_strerror
    - hash_to_map
    - pkcs11_sign_init
    - _gnutls_encode_ber_rs_raw
    - pkcs11_close_session
    - gnutls_free
    - pk_to_mech
    - PKCS11_CHECK_INIT_PRIVKEY
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs11_privkey_sign(gnutls_pkcs11_privkey_t key,\n\t\t\t\tconst
      gnutls_sign_entry_st *se,\n\t\t\t\tconst gnutls_datum_t *hash,\n\t\t\t\tgnutls_datum_t
      *signature,\n\t\t\t\tgnutls_x509_spki_st *spki_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_PRIVKEY
      Src: /src/gnutls/lib/pkcs11_privkey.c:473,1
    - Dst: REPEAT_ON_INVALID_HANDLE
      Src: /src/gnutls/lib/pkcs11_privkey.c:475,1
    - Dst: C_GetSessionInfo
      Src: /src/gnutls/lib/pkcs11_privkey.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pkcs11_privkey_t
    constantsTouched: []
    func_position:
      end: 487
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 487
    functionName: gnutls_pkcs11_privkey_status
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - C_GetSessionInfo
    - PKCS11_CHECK_INIT_PRIVKEY
    - REPEAT_ON_INVALID_HANDLE
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_pkcs11_privkey_status(gnutls_pkcs11_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pkcs11_privkey.c:508,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:510,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11_privkey.c:516,1
    - Dst: _gnutls_pubkey_parse_ecc_eddsa_params
      Src: /src/gnutls/lib/pkcs11_privkey.c:525,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/pkcs11_privkey.c:530,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:531,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - module
    - pks
    - ctx
    - m
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t
    - ck_key_type_t
    constantsTouched: []
    func_position:
      end: 545
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 545
    functionName: key_type_to_pk
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _gnutls_ecc_curve_get_params
    - _gnutls_pubkey_parse_ecc_eddsa_params
    - unlikely
    - pkcs11_get_attribute_value
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t key_type_to_pk(struct ck_function_list *module,
      ck_session_handle_t pks,\n\t       ck_object_handle_t ctx, ck_key_type_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_privkey.c:573,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:576,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:579,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/pkcs11_privkey.c:583,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:585,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_privkey.c:587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:590,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_privkey.c:596,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:599,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_privkey.c:604,1
    - Dst: p11_kit_uri_get_attribute
      Src: /src/gnutls/lib/pkcs11_privkey.c:606,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:608,1
    - Dst: FIND_OBJECT
      Src: /src/gnutls/lib/pkcs11_privkey.c:614,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11_privkey.c:620,1
    - Dst: key_type_to_pk
      Src: /src/gnutls/lib/pkcs11_privkey.c:622,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:628,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11_privkey.c:642,1
    - Dst: gnutls_pkcs11_token_check_mechanism
      Src: /src/gnutls/lib/pkcs11_privkey.c:648,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:653,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11_privkey.c:663,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:674,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:677,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 3
    argNames:
    - pkey
    - url
    - flags
    argTypes:
    - gnutls_pkcs11_privkey_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 680
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 680
    functionName: gnutls_pkcs11_privkey_import_url
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 4
    functionsReached:
    - key_type_to_pk
    - gnutls_free
    - p11_kit_uri_free
    - gnutls_pkcs11_token_check_mechanism
    - pkcs11_url_to_info
    - _gnutls_debug_log
    - FIND_OBJECT
    - gnutls_assert
    - p11_kit_uri_get_attribute
    - gnutls_strdup
    - memset
    - pkcs11_get_attribute_value
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_import_url(gnutls_pkcs11_privkey_t pkey,\n\t\t\t\t
      \    const char *url, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_PRIVKEY
      Src: /src/gnutls/lib/pkcs11_privkey.c:707,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:710,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/pkcs11_privkey.c:716,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:718,1
    - Dst: REPEAT_ON_INVALID_HANDLE
      Src: /src/gnutls/lib/pkcs11_privkey.c:722,1
    - Dst: pkcs11_decrypt_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:722,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:726,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:727,1
    - Dst: pkcs11_login
      Src: /src/gnutls/lib/pkcs11_privkey.c:735,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:738,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:739,1
    - Dst: pkcs11_decrypt
      Src: /src/gnutls/lib/pkcs11_privkey.c:746,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:748,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:754,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:755,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11_privkey.c:759,1
    - Dst: pkcs11_decrypt
      Src: /src/gnutls/lib/pkcs11_privkey.c:762,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:765,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:766,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:767,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/pkcs11_privkey.c:776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - key
    - flags
    - ciphertext
    - plaintext
    argTypes:
    - gnutls_pkcs11_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 778
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 778
    functionName: _gnutls_pkcs11_privkey_decrypt_data
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    - pkcs11_login
    - REPEAT_ON_INVALID_HANDLE
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_malloc
    - pkcs11_rv_to_err
    - unlikely
    - pkcs11_decrypt_init
    - PKCS11_CHECK_INIT_PRIVKEY
    - gnutls_assert_val
    - pkcs11_decrypt
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs11_privkey_decrypt_data(gnutls_pkcs11_privkey_t key,\n\t\t\t\t\tunsigned
      int flags,\n\t\t\t\t\tconst gnutls_datum_t *ciphertext,\n\t\t\t\t\tgnutls_datum_t
      *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_PRIVKEY
      Src: /src/gnutls/lib/pkcs11_privkey.c:816,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:819,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/pkcs11_privkey.c:825,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:827,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11_privkey.c:829,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:831,1
    - Dst: REPEAT_ON_INVALID_HANDLE
      Src: /src/gnutls/lib/pkcs11_privkey.c:837,1
    - Dst: pkcs11_decrypt_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:837,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:841,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:842,1
    - Dst: pkcs11_login
      Src: /src/gnutls/lib/pkcs11_privkey.c:850,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:853,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:854,1
    - Dst: pkcs11_decrypt
      Src: /src/gnutls/lib/pkcs11_privkey.c:862,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11_privkey.c:864,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:871,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:872,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:874,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/pkcs11_privkey.c:887,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:888,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - key
    - flags
    - ciphertext
    - plaintext
    - plaintext_size
    argTypes:
    - gnutls_pkcs11_privkey_t
    - unsigned int
    - gnutls_datum_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 890
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 890
    functionName: _gnutls_pkcs11_privkey_decrypt_data2
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_mutex_unlock
    - gnutls_free
    - gnutls_mutex_lock
    - pkcs11_login
    - REPEAT_ON_INVALID_HANDLE
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_malloc
    - pkcs11_rv_to_err
    - unlikely
    - pkcs11_decrypt_init
    - PKCS11_CHECK_INIT_PRIVKEY
    - gnutls_assert_val
    - pkcs11_decrypt
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs11_privkey_decrypt_data2(gnutls_pkcs11_privkey_t key,\n\t\t\t\t\t
      unsigned int flags,\n\t\t\t\t\t const gnutls_datum_t *ciphertext,\n\t\t\t\t\t
      unsigned char *plaintext,\n\t\t\t\t\t size_t plaintext_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_info_to_url
      Src: /src/gnutls/lib/pkcs11_privkey.c:909,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - detailed
    - url
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pkcs11_url_type_t
    - char**
    constantsTouched: []
    func_position:
      end: 916
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 916
    functionName: gnutls_pkcs11_privkey_export_url
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - pkcs11_info_to_url
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_export_url(gnutls_pkcs11_privkey_t key,\n\t\t\t\t
      \    gnutls_pkcs11_url_type_t detailed,\n\t\t\t\t     char **url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - url
    - pk
    - bits
    - label
    - flags
    argTypes:
    - char*
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: gnutls_pkcs11_privkey_generate
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_generate(const char *url, gnutls_pk_algorithm_t
      pk,\n\t\t\t       unsigned int bits, const char *label,\n\t\t\t       unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - url
    - pk
    - bits
    - label
    - fmt
    - pubkey
    - flags
    argTypes:
    - char*
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 976
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: gnutls_pkcs11_privkey_generate2
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_generate2(const char *url, gnutls_pk_algorithm_t
      pk,\n\t\t\t\tunsigned int bits, const char *label,\n\t\t\t\tgnutls_x509_crt_fmt_t
      fmt,\n\t\t\t\tgnutls_datum_t * pubkey, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs11_generate_key
      Src: /src/gnutls/lib/pkcs11_privkey.c:1000,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1002,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:1003,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_privkey.c:1003,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:1004,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11_privkey.c:1021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1023,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:1024,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_privkey.c:1024,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 6
    argNames:
    - module
    - session
    - bits
    - params
    - a
    - a_val
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - unsigned long
    - struct dsa_params*
    - struct ck_attribute*
    - int*
    constantsTouched: []
    func_position:
      end: 1031
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1031
    functionName: _dsa_params_generate
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - pkcs11_generate_key
    - pkcs11_get_attribute_value
    - gnutls_assert
    - pkcs11_rv_to_err
    - _gnutls_debug_log
    - pkcs11_strerror
    linkageType: ''
    returnType: int
    signature: "int _dsa_params_generate(struct ck_function_list *module,\n\t\t\t\tck_session_handle_t
      session, unsigned long bits,\n\t\t\t\tstruct dsa_params *params,\n\t\t\t\tstruct
      ck_attribute *a, int *a_val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FIX_KEY_USAGE
      Src: /src/gnutls/lib/pkcs11_privkey.c:1089,1
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11_privkey.c:1091,1
    - Dst: pkcs11_url_to_info
      Src: /src/gnutls/lib/pkcs11_privkey.c:1093,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1095,1
    - Dst: pkcs11_open_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:1099,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11_privkey.c:1101,1
    - Dst: p11_kit_uri_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:1102,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1105,1
    - Dst: pk_to_genmech
      Src: /src/gnutls/lib/pkcs11_privkey.c:1114,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/pkcs11_privkey.c:1130,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1132,1
    - Dst: _dsa_params_generate
      Src: /src/gnutls/lib/pkcs11_privkey.c:1209,1
    - Dst: GNUTLS_BITS_ARE_CURVE
      Src: /src/gnutls/lib/pkcs11_privkey.c:1232,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/pkcs11_privkey.c:1233,1
    - Dst: _gnutls_ecc_bits_to_curve
      Src: /src/gnutls/lib/pkcs11_privkey.c:1235,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pkcs11_privkey.c:1238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1240,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pkcs11_privkey.c:1262,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1268,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:1278,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_privkey.c:1319,1
    - Dst: strlen
      Src: /src/gnutls/lib/pkcs11_privkey.c:1324,1
    - Dst: pkcs11_generate_key_pair
      Src: /src/gnutls/lib/pkcs11_privkey.c:1340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1343,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11_privkey.c:1344,1
    - Dst: pkcs11_strerror
      Src: /src/gnutls/lib/pkcs11_privkey.c:1344,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11_privkey.c:1345,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:1351,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1353,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:1357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1359,1
    - Dst: pkcs11_read_pubkey
      Src: /src/gnutls/lib/pkcs11_privkey.c:1365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1368,1
    - Dst: gnutls_pubkey_import_pkcs11
      Src: /src/gnutls/lib/pkcs11_privkey.c:1372,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1374,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/lib/pkcs11_privkey.c:1378,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1380,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1387,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1389,1
    - Dst: pkcs11_close_session
      Src: /src/gnutls/lib/pkcs11_privkey.c:1392,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_privkey.c:1393,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 260
    argCount: 9
    argNames:
    - url
    - pk
    - bits
    - label
    - cid
    - fmt
    - pubkey
    - key_usage
    - flags
    argTypes:
    - char*
    - gnutls_pk_algorithm_t
    - unsigned int
    - char*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1396
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1396
    functionName: gnutls_pkcs11_privkey_generate3
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 2
    functionsReached:
    - GNUTLS_BITS_TO_CURVE
    - _dsa_params_generate
    - gnutls_rnd
    - gnutls_pubkey_import_pkcs11
    - pkcs11_rv_to_err
    - GNUTLS_BITS_ARE_CURVE
    - gnutls_assert_val
    - _gnutls_ecc_bits_to_curve
    - p11_kit_uri_free
    - _gnutls_x509_write_ecc_params
    - gnutls_pkcs11_obj_deinit
    - gnutls_pubkey_export2
    - pk_to_genmech
    - memset
    - _gnutls_debug_log
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - pkcs11_url_to_info
    - strlen
    - FIX_KEY_USAGE
    - pkcs11_strerror
    - pkcs11_read_pubkey
    - gnutls_pkcs11_obj_init
    - pkcs11_open_session
    - pkcs11_close_session
    - gnutls_free
    - pkcs11_obj_flags_to_int
    - pkcs11_generate_key_pair
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_generate3(const char *url, gnutls_pk_algorithm_t
      pk,\n\t\t\t\t    unsigned int bits, const char *label,\n\t\t\t\t    const gnutls_datum_t
      *cid,\n\t\t\t\t    gnutls_x509_crt_fmt_t fmt,\n\t\t\t\t    gnutls_datum_t *pubkey,\n\t\t\t\t
      \   unsigned int key_usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/lib/pkcs11_privkey.c:1406,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:1413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1415,1
    - Dst: gnutls_x509_crt_set_pin_function
      Src: /src/gnutls/lib/pkcs11_privkey.c:1419,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/lib/pkcs11_privkey.c:1421,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/pkcs11_privkey.c:1427,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pkey
    - pub
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 1432
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1432
    functionName: load_pubkey_obj
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_import_url
    - gnutls_pubkey_import_url
    - gnutls_pubkey_import_x509
    - gnutls_assert
    - gnutls_x509_crt_set_pin_function
    linkageType: ''
    returnType: int
    signature: int load_pubkey_obj(gnutls_pkcs11_privkey_t pkey, gnutls_pubkey_t pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PKCS11_CHECK_INIT_PRIVKEY
      Src: /src/gnutls/lib/pkcs11_privkey.c:1442,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1445,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:1449,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1451,1
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pkcs11_privkey.c:1455,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1457,1
    - Dst: gnutls_pkcs11_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/pkcs11_privkey.c:1461,1
    - Dst: pk_to_genmech
      Src: /src/gnutls/lib/pkcs11_privkey.c:1463,1
    - Dst: gnutls_pubkey_set_pin_function
      Src: /src/gnutls/lib/pkcs11_privkey.c:1465,1
    - Dst: load_pubkey_obj
      Src: /src/gnutls/lib/pkcs11_privkey.c:1470,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1472,1
    - Dst: pkcs11_read_pubkey
      Src: /src/gnutls/lib/pkcs11_privkey.c:1476,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1479,1
    - Dst: gnutls_pubkey_import_pkcs11
      Src: /src/gnutls/lib/pkcs11_privkey.c:1483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1485,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1497,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1499,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pkey
    - pub
    - flags
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pubkey_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1502
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1502
    functionName: _pkcs11_privkey_get_pubkey
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_pkcs11_obj_deinit
    - pk_to_genmech
    - load_pubkey_obj
    - gnutls_pubkey_import_pkcs11
    - gnutls_pubkey_set_pin_function
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - PKCS11_CHECK_INIT_PRIVKEY
    - gnutls_pkcs11_privkey_get_pk_algorithm
    - gnutls_assert
    - pkcs11_read_pubkey
    linkageType: ''
    returnType: int
    signature: "int _pkcs11_privkey_get_pubkey(gnutls_pkcs11_privkey_t pkey,\n\t\t\t
      \      gnutls_pubkey_t *pub, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pkcs11_privkey_get_pubkey
      Src: /src/gnutls/lib/pkcs11_privkey.c:1529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_privkey.c:1531,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/lib/pkcs11_privkey.c:1533,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11_privkey.c:1535,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/pkcs11_privkey.c:1543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pkey
    - fmt
    - data
    - flags
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1546
      start: 1521
    functionDepth: 3
    functionLinenumber: 1521
    functionLinenumberEnd: 1546
    functionName: gnutls_pkcs11_privkey_export_pubkey
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 1
    functionsReached:
    - _pkcs11_privkey_get_pubkey
    - gnutls_pubkey_deinit
    - gnutls_pubkey_export2
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_privkey_export_pubkey(gnutls_pkcs11_privkey_t pkey,\n\t\t\t\t\tgnutls_x509_crt_fmt_t
      fmt,\n\t\t\t\t\tgnutls_datum_t *data,\n\t\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - fn
    - userdata
    argTypes:
    - gnutls_pkcs11_privkey_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1567
    functionName: gnutls_pkcs11_privkey_set_pin_function
    functionSourceFile: /src/gnutls/lib/pkcs11_privkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_pkcs11_privkey_set_pin_function(gnutls_pkcs11_privkey_t
      key,\n\t\t\t\t\t    gnutls_pin_callback_t fn,\n\t\t\t\t\t    void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffers_log
      Src: /src/gnutls/lib/handshake.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: handshake_hash_buffer_reset
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffers_log
    linkageType: ''
    returnType: void
    signature: void handshake_hash_buffer_reset(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake_hash_buffer_reset
      Src: /src/gnutls/lib/handshake.c:106,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:107,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: _gnutls_handshake_hash_buffers_clear
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_clear
    - handshake_hash_buffer_reset
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_hash_buffers_clear(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/handshake.c:128,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/handshake.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:134,1
    - Dst: handshake_hash_buffer_reset
      Src: /src/gnutls/lib/handshake.c:136,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:138,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:142,1
    - Dst: _gnutls_buffers_log
      Src: /src/gnutls/lib/handshake.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - session
    - prf
    - client
    argTypes:
    - gnutls_session_t
    - mac_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 149
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 149
    functionName: _gnutls13_handshake_hash_buffers_synth
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_write_uint24
    - gnutls_hash_fast
    - handshake_hash_buffer_reset
    - gnutls_assert_val
    - _gnutls_buffers_log
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_handshake_hash_buffers_synth(gnutls_session_t session,\n\t\t\t\t\t
      \  const mac_entry_st *prf,\n\t\t\t\t\t   unsigned client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:161,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:163,1
    - Dst: _gnutls_set_cipher_suite2
      Src: /src/gnutls/lib/handshake.c:170,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:183,1
    - Dst: _gnutls_set_current_version
      Src: /src/gnutls/lib/handshake.c:185,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:188,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - session
    - ticket
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 205
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 205
    functionName: tls12_resume_copy_required_vals
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - _gnutls_set_current_version
    - _gnutls_set_cipher_suite2
    linkageType: ''
    returnType: int
    signature: "int tls12_resume_copy_required_vals(gnutls_session_t session,\n\t\t\t\t\t
      \  unsigned ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:209,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - rnd
    argTypes:
    - gnutls_session_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: _gnutls_set_client_random
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _gnutls_memory_mark_defined
    linkageType: ''
    returnType: void
    signature: void _gnutls_set_client_random(gnutls_session_t session, uint8_t *rnd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:221,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:224,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:229,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/handshake.c:232,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/handshake.c:236,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 244
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 244
    functionName: _gnutls_gen_client_random
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_memory_mark_defined
    - gnutls_rnd
    - _gnutls_memory_mark_undefined
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_client_random(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:251,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:253,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:258,1
    - Dst: have_creds_for_tls13
      Src: /src/gnutls/lib/handshake.c:259,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:260,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake.c:265,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/handshake.c:268,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:271,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake.c:274,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/handshake.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - session
    - vers
    - rnd
    argTypes:
    - gnutls_session_t
    - version_entry_st*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 287
    functionName: _gnutls_set_server_random
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - have_creds_for_tls13
    - _gnutls_memory_mark_defined
    - IS_DTLS
    - memcmp
    - _gnutls_audit_log
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_server_random(gnutls_session_t session,\n\t\t\t\t
      \    const version_entry_st *vers, uint8_t *rnd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:295,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:298,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:305,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:307,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:309,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:312,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:315,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:319,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/handshake.c:323,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/handshake.c:328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:334,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/handshake.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - session
    - version
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 342
    functionName: _gnutls_gen_server_random
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_max
    - _gnutls_memory_mark_defined
    - IS_DTLS
    - gnutls_rnd
    - gnutls_assert
    - _gnutls_memory_mark_undefined
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_server_random(gnutls_session_t session, int version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/handshake.c:363,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/handshake.c:363,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:365,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/handshake.c:367,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/handshake.c:367,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/handshake.c:369,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:370,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/handshake.c:373,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/handshake.c:375,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/handshake.c:383,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/handshake.c:384,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/handshake.c:386,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/handshake.c:390,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/handshake.c:391,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:392,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/handshake.c:395,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/handshake.c:399,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - session
    - type
    - ret
    - sending
    argTypes:
    - gnutls_session_t
    - int
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 404
    functionName: _gnutls_ssl3_finished
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - hash_to_entry
    - _gnutls_hash
    - _gnutls_hash_init
    - _gnutls_mac_deinit_ssl3_handshake
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ssl3_finished(gnutls_session_t session, int type,\n\t\t\t\t
      uint8_t *ret, int sending)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/handshake.c:427,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:431,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/handshake.c:441,1
    - Dst: _gnutls_PRF
      Src: /src/gnutls/lib/handshake.c:443,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/handshake.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - session
    - type
    - ret
    - sending
    argTypes:
    - gnutls_session_t
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 452
    functionName: _gnutls_finished
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_PRF
    - _gnutls_memory_mark_defined
    - _gnutls_memory_mark_undefined
    - _gnutls_hash_fast
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_finished(gnutls_session_t session, int type, void *ret,\n\t\t\t
      \   int sending)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nversion_to_entry
      Src: /src/gnutls/lib/handshake.c:460,1
    - Dst: _gnutls_nversion_is_supported
      Src: /src/gnutls/lib/handshake.c:465,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:467,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:468,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:469,1
    - Dst: _gnutls_version_is_too_high
      Src: /src/gnutls/lib/handshake.c:481,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:482,1
    - Dst: _gnutls_legacy_version_max
      Src: /src/gnutls/lib/handshake.c:488,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:492,1
    - Dst: _gnutls_legacy_version_max
      Src: /src/gnutls/lib/handshake.c:504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - session
    - major
    - minor
    - allow_tls13
    argTypes:
    - gnutls_session_t
    - uint8_t
    - uint8_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: _gnutls_negotiate_version
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_max
    - _gnutls_version_is_too_high
    - _gnutls_nversion_is_supported
    - _gnutls_legacy_version_max
    - gnutls_assert
    - unlikely
    - nversion_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_negotiate_version(gnutls_session_t session, uint8_t major,\n\t\t\t
      \     uint8_t minor, unsigned allow_tls13)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_t::internals::user_hello_func
      Src: /src/gnutls/lib/handshake.c:525,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:528,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:531,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:540,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:541,1
    - Dst: _gnutls_negotiate_version
      Src: /src/gnutls/lib/handshake.c:551,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:554,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:556,1
    - Dst: _gnutls_gen_server_random
      Src: /src/gnutls/lib/handshake.c:561,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 570
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 570
    functionName: _gnutls_user_hello_func
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_max
    - _gnutls_gen_server_random
    - _gnutls_negotiate_version
    - gnutls_assert_val
    - get_version
    - gnutls_session_t::internals::user_hello_func
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_user_hello_func(gnutls_session_t session, uint8_t major,\n\t\t\t
      \   uint8_t minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:576,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:582,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:586,1
    - Dst: gnutls_kx_get
      Src: /src/gnutls/lib/handshake.c:593,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/handshake.c:603,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/handshake.c:605,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:606,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 613
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 613
    functionName: set_auth_types
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_map_kx_get_cred
    - unlikely
    - get_version
    - gnutls_kx_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int set_auth_types(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:633,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:634,1
    - Dst: set_adv_version
      Src: /src/gnutls/lib/handshake.c:640,1
    - Dst: _gnutls_negotiate_version
      Src: /src/gnutls/lib/handshake.c:642,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:644,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:646,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:648,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:656,1
    - Dst: _gnutls_set_client_random
      Src: /src/gnutls/lib/handshake.c:657,1
    - Dst: _gnutls_gen_server_random
      Src: /src/gnutls/lib/handshake.c:661,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:663,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/handshake.c:665,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:667,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:673,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:676,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:680,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:683,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:685,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:690,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/handshake.c:691,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:695,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:698,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:701,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:705,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:708,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:718,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:723,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:725,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:730,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:732,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:733,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:734,1
    - Dst: _gnutls_server_restore_session
      Src: /src/gnutls/lib/handshake.c:737,1
    - Dst: _gnutls_server_select_suite
      Src: /src/gnutls/lib/handshake.c:744,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:747,1
    - Dst: tls12_resume_copy_required_vals
      Src: /src/gnutls/lib/handshake.c:749,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:751,1
    - Dst: _gnutls_user_hello_func
      Src: /src/gnutls/lib/handshake.c:755,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/handshake.c:757,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:761,1
    - Dst: assert
      Src: /src/gnutls/lib/handshake.c:767,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:769,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:779,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:785,1
    - Dst: _gnutls_user_hello_func
      Src: /src/gnutls/lib/handshake.c:790,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:792,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:797,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:801,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/handshake.c:810,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/handshake.c:813,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/handshake.c:816,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:818,1
    - Dst: _tls13_read_connection_state_init
      Src: /src/gnutls/lib/handshake.c:824,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:826,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/handshake.c:829,1
    - Dst: _gnutls_epoch_dup
      Src: /src/gnutls/lib/handshake.c:830,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:832,1
    - Dst: _gnutls_server_select_suite
      Src: /src/gnutls/lib/handshake.c:845,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:848,1
    - Dst: tls12_resume_copy_required_vals
      Src: /src/gnutls/lib/handshake.c:850,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:852,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:855,1
    - Dst: _gnutls_server_select_suite
      Src: /src/gnutls/lib/handshake.c:864,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:866,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:873,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:874,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:875,1
    - Dst: _gnutls_version_priority
      Src: /src/gnutls/lib/handshake.c:877,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:878,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:886,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:889,1
    - Dst: check_if_null_comp_present
      Src: /src/gnutls/lib/handshake.c:893,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:895,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:901,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:906,1
    - Dst: _tls13_init_secret
      Src: /src/gnutls/lib/handshake.c:913,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:915,1
    - Dst: set_auth_types
      Src: /src/gnutls/lib/handshake.c:918,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:920,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 169
    argCount: 3
    argNames:
    - session
    - data
    - datalen
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 925
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 925
    functionName: read_client_hello
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 0
    functionsReached:
    - set_auth_types
    - _gnutls_generate_session_id
    - DECR_LEN
    - _gnutls_server_restore_session
    - tls12_resume_copy_required_vals
    - _gnutls_gen_server_random
    - gnutls_assert_val
    - _gnutls_handshake_log
    - _gnutls_user_hello_func
    - _gnutls_negotiate_version
    - unlikely
    - _tls13_init_secret
    - get_version
    - gnutls_time
    - assert
    - _gnutls_version_priority
    - mac_to_entry
    - _gnutls_epoch_bump
    - _tls13_read_connection_state_init
    - cipher_to_entry
    - check_if_null_comp_present
    - _gnutls_epoch_dup
    - _gnutls_server_select_suite
    - _gnutls_epoch_get
    - _gnutls_read_uint16
    - IS_DTLS
    - _gnutls_parse_hello_extensions
    - _gnutls_set_client_random
    - memcpy
    - set_adv_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_client_hello(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \    int datalen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/handshake.c:940,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:942,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/handshake.c:945,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:947,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:948,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:949,1
    - Dst: _gnutls_ssl3_finished
      Src: /src/gnutls/lib/handshake.c:953,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/handshake.c:956,1
    - Dst: _gnutls_finished
      Src: /src/gnutls/lib/handshake.c:959,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/handshake.c:962,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:968,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/handshake.c:972,1
    - Dst: _gnutls_ext_sr_finished
      Src: /src/gnutls/lib/handshake.c:974,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:976,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:985,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:988,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:993,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:996,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1013,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:1015,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1016,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:1018,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1036,1
    - Dst: _gnutls_ssl3_finished
      Src: /src/gnutls/lib/handshake.c:1043,1
    - Dst: _gnutls_finished
      Src: /src/gnutls/lib/handshake.c:1048,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1053,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake.c:1064,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1065,1
    - Dst: _gnutls_ext_sr_finished
      Src: /src/gnutls/lib/handshake.c:1071,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1073,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1082,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:1084,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:1089,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1109,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1121,1
    - Dst: _gnutls_ext_sr_recv_cs
      Src: /src/gnutls/lib/handshake.c:1124,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1126,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:1135,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1141,1
    - Dst: ciphersuite_to_entry
      Src: /src/gnutls/lib/handshake.c:1146,1
    - Dst: _gnutls_figure_common_ciphersuite
      Src: /src/gnutls/lib/handshake.c:1156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1159,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1162,1
    - Dst: _gnutls_set_cipher_suite2
      Src: /src/gnutls/lib/handshake.c:1165,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1167,1
    - Dst: _gnutls_get_kx_cred
      Src: /src/gnutls/lib/handshake.c:1175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1176,1
    - Dst: _gnutls_kx_auth_struct
      Src: /src/gnutls/lib/handshake.c:1184,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1212,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/handshake.c:1228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1230,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:1236,1
    - Dst: gnutls_session_t::internals::h_hook
      Src: /src/gnutls/lib/handshake.c:1263,1
    - Dst: _gnutls_send_handshake2
      Src: /src/gnutls/lib/handshake.c:1281,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1297,1
    - Dst: _gnutls_handshake_io_write_flush
      Src: /src/gnutls/lib/handshake.c:1303,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/handshake.c:1308,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/handshake.c:1309,1
    - Dst: _mbuffer_get_uhead_size
      Src: /src/gnutls/lib/handshake.c:1310,1
    - Dst: REAL_HSK_TYPE
      Src: /src/gnutls/lib/handshake.c:1312,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/handshake.c:1313,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/handshake.c:1313,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:1320,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/handshake.c:1321,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/handshake.c:1326,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/handshake.c:1330,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1334,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/handshake.c:1335,1
    - Dst: IS_ASYNC
      Src: /src/gnutls/lib/handshake.c:1339,1
    - Dst: handshake_hash_add_sent
      Src: /src/gnutls/lib/handshake.c:1340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1342,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:1343,1
    - Dst: _gnutls_generate_early_secrets_for_psk
      Src: /src/gnutls/lib/handshake.c:1351,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1353,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:1354,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:1360,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/handshake.c:1361,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/handshake.c:1362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1364,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:1365,1
    - Dst: _gnutls_handshake_io_cache_int
      Src: /src/gnutls/lib/handshake.c:1371,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:1373,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1374,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:1378,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/handshake.c:1379,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/handshake.c:1380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1382,1
    - Dst: _gnutls_handshake_io_write_flush
      Src: /src/gnutls/lib/handshake.c:1442,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1469,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:1471,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1472,1
    - Dst: IS_ASYNC
      Src: /src/gnutls/lib/handshake.c:1476,1
    - Dst: CHECK_SIZE
      Src: /src/gnutls/lib/handshake.c:1479,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:1485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1489,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:1492,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1496,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1527,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:1529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1530,1
    - Dst: IS_ASYNC
      Src: /src/gnutls/lib/handshake.c:1532,1
    - Dst: CHECK_SIZE
      Src: /src/gnutls/lib/handshake.c:1535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1540,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:1550,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1553,1
    - Dst: _gnutls_handshake_io_recv_int
      Src: /src/gnutls/lib/handshake.c:1585,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/handshake.c:1590,1
    - Dst: gnutls_assert_val_fatal
      Src: /src/gnutls/lib/handshake.c:1594,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:1598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1601,1
    - Dst: handshake_hash_add_recvd
      Src: /src/gnutls/lib/handshake.c:1605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1609,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/handshake.c:1616,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1617,1
    - Dst: _gnutls_read_client_hello_v2
      Src: /src/gnutls/lib/handshake.c:1623,1
    - Dst: _gnutls_ext_set_full_client_hello
      Src: /src/gnutls/lib/handshake.c:1629,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1631,1
    - Dst: read_client_hello
      Src: /src/gnutls/lib/handshake.c:1635,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1640,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/handshake.c:1647,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1648,1
    - Dst: read_server_hello
      Src: /src/gnutls/lib/handshake.c:1652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1656,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/handshake.c:1662,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1663,1
    - Dst: recv_hello_verify_request
      Src: /src/gnutls/lib/handshake.c:1667,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1670,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/handshake.c:1683,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1684,1
    - Dst: _gnutls13_recv_hello_retry_request
      Src: /src/gnutls/lib/handshake.c:1688,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1690,1
    - Dst: handshake_hash_add_recvd
      Src: /src/gnutls/lib/handshake.c:1695,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1700,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1715,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1735,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:1743,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1747,1
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/handshake.c:1757,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1769,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1783,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1784,1
    - Dst: _gnutls_set_cipher_suite2
      Src: /src/gnutls/lib/handshake.c:1791,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1793,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1795,1
    - Dst: _gnutls_get_kx_cred
      Src: /src/gnutls/lib/handshake.c:1805,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1806,1
    - Dst: _gnutls_kx_auth_struct
      Src: /src/gnutls/lib/handshake.c:1814,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1817,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1820,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1826,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1830,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1849,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1851,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/handshake.c:1852,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake.c:1860,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:1864,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:1868,1
    - Dst: _gnutls_set_cipher_suite2
      Src: /src/gnutls/lib/handshake.c:1873,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1877,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1910,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:1914,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1917,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1921,1
    - Dst: nversion_to_entry
      Src: /src/gnutls/lib/handshake.c:1924,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:1925,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1926,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1929,1
    - Dst: _gnutls_set_current_version
      Src: /src/gnutls/lib/handshake.c:1931,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1932,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1936,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1942,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:1947,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1950,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1954,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:1960,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:1965,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1971,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:1973,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:1974,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1975,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1978,1
    - Dst: _gnutls_nversion_is_supported
      Src: /src/gnutls/lib/handshake.c:1982,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1984,1
    - Dst: _gnutls_set_server_random
      Src: /src/gnutls/lib/handshake.c:1987,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:1989,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/handshake.c:1993,1
    - Dst: reset_binders
      Src: /src/gnutls/lib/handshake.c:1995,1
    - Dst: client_check_if_resuming
      Src: /src/gnutls/lib/handshake.c:2001,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2003,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2007,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake.c:2013,1
    - Dst: set_client_ciphersuite
      Src: /src/gnutls/lib/handshake.c:2020,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2022,1
    - Dst: memcmp
      Src: /src/gnutls/lib/handshake.c:2028,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2029,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2034,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2039,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2048,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2051,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/handshake.c:2058,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/handshake.c:2060,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2061,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2070,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2075,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2079,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2081,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2084,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2086,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2090,1
    - Dst: _tls13_init_secret
      Src: /src/gnutls/lib/handshake.c:2095,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2097,1
    - Dst: set_auth_types
      Src: /src/gnutls/lib/handshake.c:2100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2102,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2120,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/handshake.c:2151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2153,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:2161,1
    - Dst: _gnutls_legacy_version_max
      Src: /src/gnutls/lib/handshake.c:2163,1
    - Dst: _gnutls_legacy_version_max
      Src: /src/gnutls/lib/handshake.c:2172,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2176,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:2184,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2192,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2194,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:2197,1
    - Dst: _gnutls_version_lowest
      Src: /src/gnutls/lib/handshake.c:2200,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/handshake.c:2201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2203,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:2210,1
    - Dst: set_adv_version
      Src: /src/gnutls/lib/handshake.c:2213,1
    - Dst: _gnutls_set_current_version
      Src: /src/gnutls/lib/handshake.c:2214,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2216,1
    - Dst: set_default_version
      Src: /src/gnutls/lib/handshake.c:2229,1
    - Dst: set_default_version
      Src: /src/gnutls/lib/handshake.c:2231,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/handshake.c:2236,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:2241,1
    - Dst: _gnutls_gen_client_random
      Src: /src/gnutls/lib/handshake.c:2243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2245,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2254,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/handshake.c:2266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2271,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/handshake.c:2283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2286,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:2292,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/handshake.c:2293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2298,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/handshake.c:2301,1
    - Dst: _gnutls_get_client_ciphersuites
      Src: /src/gnutls/lib/handshake.c:2318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2321,1
    - Dst: append_null_comp
      Src: /src/gnutls/lib/handshake.c:2327,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2329,1
    - Dst: _gnutls_version_has_extensions
      Src: /src/gnutls/lib/handshake.c:2336,1
    - Dst: _gnutls_gen_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2346,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/handshake.c:2351,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:2354,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/handshake.c:2362,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/handshake.c:2365,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/handshake.c:2368,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2370,1
    - Dst: _tls13_write_connection_state_init
      Src: /src/gnutls/lib/handshake.c:2376,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2378,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/handshake.c:2381,1
    - Dst: _gnutls_epoch_dup
      Src: /src/gnutls/lib/handshake.c:2382,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2384,1
    - Dst: _gnutls13_send_early_data
      Src: /src/gnutls/lib/handshake.c:2387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2389,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2396,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/handshake.c:2412,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:2415,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:2416,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2418,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/handshake.c:2430,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2432,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2436,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2438,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2442,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2446,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/handshake.c:2450,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2454,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:2458,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/handshake.c:2460,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake.c:2464,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2467,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/handshake.c:2472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2474,1
    - Dst: _gnutls_gen_hello_extensions
      Src: /src/gnutls/lib/handshake.c:2482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2485,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/handshake.c:2493,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2497,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/handshake.c:2502,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:2505,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2509,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:2522,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2523,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2531,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:2535,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:2538,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2543,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/handshake.c:2547,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/handshake.c:2549,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/handshake.c:2550,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2556,1
    - Dst: handshake_hash_buffer_reset
      Src: /src/gnutls/lib/handshake.c:2561,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:2646,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/lib/handshake.c:2653,1
    - Dst: _dtls_async_timer_delete
      Src: /src/gnutls/lib/handshake.c:2656,1
    - Dst: _gnutls_send_empty_handshake
      Src: /src/gnutls/lib/handshake.c:2658,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:2659,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2663,1
    - Dst: gnutls_alert_get
      Src: /src/gnutls/lib/handshake.c:2680,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2699,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/handshake.c:2715,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/handshake.c:2719,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2721,1
    - Dst: _gnutls_gen_supplemental
      Src: /src/gnutls/lib/handshake.c:2723,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2725,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2726,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/handshake.c:2730,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/handshake.c:2733,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/handshake.c:2742,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:2744,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2747,1
    - Dst: _gnutls_parse_supplemental
      Src: /src/gnutls/lib/handshake.c:2751,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:2753,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2758,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:2802,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:2805,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/lib/handshake.c:2809,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2829,1
    - Dst: _gnutls_epoch_setup_next
      Src: /src/gnutls/lib/handshake.c:2832,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2834,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/handshake.c:2840,1
    - Dst: _gnutls_config_is_ktls_enabled
      Src: /src/gnutls/lib/handshake.c:2855,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/handshake.c:2859,1
    - Dst: _gnutls_ktls_enable
      Src: /src/gnutls/lib/handshake.c:2863,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/handshake.c:2870,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:2871,1
    - Dst: handshake_client
      Src: /src/gnutls/lib/handshake.c:2876,1
    - Dst: handshake_server
      Src: /src/gnutls/lib/handshake.c:2879,1
    - Dst: _gnutls_abort_handshake
      Src: /src/gnutls/lib/handshake.c:2883,1
    - Dst: _gnutls_handshake_hash_buffers_clear
      Src: /src/gnutls/lib/handshake.c:2889,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:2891,1
    - Dst: _gnutls_handshake_io_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2892,1
    - Dst: _dtls_async_timer_init
      Src: /src/gnutls/lib/handshake.c:2894,1
    - Dst: _gnutls_handshake_internal_state_clear
      Src: /src/gnutls/lib/handshake.c:2897,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/handshake.c:2899,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/handshake.c:2901,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/handshake.c:2905,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/handshake.c:2907,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/handshake.c:2911,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/handshake.c:2918,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/handshake.c:2927,1
    - Dst: _gnutls_ktls_set_keys
      Src: /src/gnutls/lib/handshake.c:2928,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/handshake.c:2932,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:2968,1
    - Dst: gnutls_dtls_set_timeouts
      Src: /src/gnutls/lib/handshake.c:2969,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/handshake.c:2988,1
    - Dst: gnutls_auth_server_get_type
      Src: /src/gnutls/lib/handshake.c:2992,1
    - Dst: gnutls_auth_client_get_type
      Src: /src/gnutls/lib/handshake.c:2994,1
    - Dst: _gnutls_check_if_cert_hash_is_same
      Src: /src/gnutls/lib/handshake.c:3002,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3004,1
    - Dst: gnutls_session_t::internals::verify_callback
      Src: /src/gnutls/lib/handshake.c:3014,1
    - Dst: gnutls_certificate_credentials_t::verify_callback
      Src: /src/gnutls/lib/handshake.c:3016,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3018,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3020,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3030,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:3031,1
    - Dst: _gnutls_kx_allows_false_start
      Src: /src/gnutls/lib/handshake.c:3037,1
    - Dst: _gnutls13_handshake_client
      Src: /src/gnutls/lib/handshake.c:3054,1
    - Dst: send_client_hello
      Src: /src/gnutls/lib/handshake.c:3059,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3059,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3061,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:3064,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:3065,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3069,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:3076,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3080,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:3090,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3093,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3096,1
    - Dst: _gnutls_ext_sr_verify
      Src: /src/gnutls/lib/handshake.c:3102,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake.c:3104,1
    - Dst: _gnutls_recv_supplemental
      Src: /src/gnutls/lib/handshake.c:3108,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3110,1
    - Dst: _gnutls_recv_server_certificate
      Src: /src/gnutls/lib/handshake.c:3116,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3118,1
    - Dst: _gnutls_recv_server_certificate_status
      Src: /src/gnutls/lib/handshake.c:3124,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3126,1
    - Dst: _gnutls_run_verify_callback
      Src: /src/gnutls/lib/handshake.c:3130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3133,1
    - Dst: _gnutls_recv_server_kx_message
      Src: /src/gnutls/lib/handshake.c:3139,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3141,1
    - Dst: _gnutls_recv_server_crt_request
      Src: /src/gnutls/lib/handshake.c:3148,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3150,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:3155,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3159,1
    - Dst: _gnutls_send_supplemental
      Src: /src/gnutls/lib/handshake.c:3163,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3164,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3166,1
    - Dst: _gnutls_send_client_certificate
      Src: /src/gnutls/lib/handshake.c:3173,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3174,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3176,1
    - Dst: _gnutls_send_client_kx_message
      Src: /src/gnutls/lib/handshake.c:3180,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3181,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3183,1
    - Dst: _gnutls_send_client_certificate_verify
      Src: /src/gnutls/lib/handshake.c:3188,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3189,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3191,1
    - Dst: send_handshake_final
      Src: /src/gnutls/lib/handshake.c:3196,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3197,1
    - Dst: _gnutls_recv_new_session_ticket
      Src: /src/gnutls/lib/handshake.c:3199,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3200,1
    - Dst: can_send_false_start
      Src: /src/gnutls/lib/handshake.c:3207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3214,1
    - Dst: _gnutls_recv_new_session_ticket
      Src: /src/gnutls/lib/handshake.c:3223,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3224,1
    - Dst: recv_handshake_final
      Src: /src/gnutls/lib/handshake.c:3226,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3227,1
    - Dst: recv_handshake_final
      Src: /src/gnutls/lib/handshake.c:3233,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3234,1
    - Dst: send_handshake_final
      Src: /src/gnutls/lib/handshake.c:3236,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3237,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/handshake.c:3247,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/handshake.c:3250,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/handshake.c:3266,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3269,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3271,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:3272,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3273,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/handshake.c:3276,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/handshake.c:3278,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/handshake.c:3279,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/handshake.c:3281,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/handshake.c:3285,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:3291,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:3295,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3296,1
    - Dst: _gnutls_handshake_io_cache_int
      Src: /src/gnutls/lib/handshake.c:3299,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/handshake.c:3302,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3303,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake.c:3306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3310,1
    - Dst: _gnutls_handshake_io_write_flush
      Src: /src/gnutls/lib/handshake.c:3316,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3318,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake.c:3321,1
    - Dst: _gnutls_send_change_cipher_spec
      Src: /src/gnutls/lib/handshake.c:3339,1
    - Dst: FAGAIN
      Src: /src/gnutls/lib/handshake.c:3339,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3343,1
    - Dst: _gnutls_connection_state_init
      Src: /src/gnutls/lib/handshake.c:3349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3351,1
    - Dst: _gnutls_write_connection_state_init
      Src: /src/gnutls/lib/handshake.c:3356,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3358,1
    - Dst: _gnutls_send_finished
      Src: /src/gnutls/lib/handshake.c:3365,1
    - Dst: FAGAIN
      Src: /src/gnutls/lib/handshake.c:3365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3368,1
    - Dst: handshake_remaining_time
      Src: /src/gnutls/lib/handshake.c:3393,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3395,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:3406,1
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/handshake.c:3406,1
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/lib/handshake.c:3407,1
    - Dst: record_check_unprocessed
      Src: /src/gnutls/lib/handshake.c:3408,1
    - Dst: _dtls_wait_and_retransmit
      Src: /src/gnutls/lib/handshake.c:3409,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3411,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3414,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:3415,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3416,1
    - Dst: _gnutls_recv_int
      Src: /src/gnutls/lib/handshake.c:3421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3424,1
    - Dst: _gnutls_connection_state_init
      Src: /src/gnutls/lib/handshake.c:3433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3435,1
    - Dst: _gnutls_read_connection_state_init
      Src: /src/gnutls/lib/handshake.c:3440,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3442,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/handshake.c:3449,1
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/handshake.c:3449,1
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/lib/handshake.c:3450,1
    - Dst: record_check_unprocessed
      Src: /src/gnutls/lib/handshake.c:3451,1
    - Dst: _dtls_wait_and_retransmit
      Src: /src/gnutls/lib/handshake.c:3452,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3454,1
    - Dst: _gnutls_recv_finished
      Src: /src/gnutls/lib/handshake.c:3457,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3459,1
    - Dst: _gnutls13_handshake_server
      Src: /src/gnutls/lib/handshake.c:3483,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake.c:3488,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3505,1
    - Dst: _gnutls_ext_sr_verify
      Src: /src/gnutls/lib/handshake.c:3509,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake.c:3511,1
    - Dst: _gnutls_send_server_hello
      Src: /src/gnutls/lib/handshake.c:3514,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3514,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3516,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3518,1
    - Dst: _gnutls_send_supplemental
      Src: /src/gnutls/lib/handshake.c:3527,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3527,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3529,1
    - Dst: _gnutls_send_server_certificate
      Src: /src/gnutls/lib/handshake.c:3537,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3538,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3540,1
    - Dst: _gnutls_send_server_certificate_status
      Src: /src/gnutls/lib/handshake.c:3545,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3546,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3548,1
    - Dst: _gnutls_send_server_kx_message
      Src: /src/gnutls/lib/handshake.c:3554,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3555,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3557,1
    - Dst: _gnutls_send_server_crt_request
      Src: /src/gnutls/lib/handshake.c:3562,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3563,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3565,1
    - Dst: _gnutls_send_empty_handshake
      Src: /src/gnutls/lib/handshake.c:3570,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3572,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3574,1
    - Dst: _gnutls_recv_supplemental
      Src: /src/gnutls/lib/handshake.c:3578,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3580,1
    - Dst: _gnutls_recv_client_certificate
      Src: /src/gnutls/lib/handshake.c:3587,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3589,1
    - Dst: _gnutls_run_verify_callback
      Src: /src/gnutls/lib/handshake.c:3592,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3595,1
    - Dst: _gnutls_recv_client_kx_message
      Src: /src/gnutls/lib/handshake.c:3600,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3602,1
    - Dst: _gnutls_recv_client_certificate_verify_message
      Src: /src/gnutls/lib/handshake.c:3607,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3610,1
    - Dst: recv_handshake_final
      Src: /src/gnutls/lib/handshake.c:3615,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3616,1
    - Dst: send_handshake_final
      Src: /src/gnutls/lib/handshake.c:3618,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3619,1
    - Dst: _gnutls_send_new_session_ticket
      Src: /src/gnutls/lib/handshake.c:3623,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake.c:3623,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3625,1
    - Dst: send_handshake_final
      Src: /src/gnutls/lib/handshake.c:3630,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3631,1
    - Dst: _gnutls_server_register_current_session
      Src: /src/gnutls/lib/handshake.c:3638,1
    - Dst: recv_handshake_final
      Src: /src/gnutls/lib/handshake.c:3642,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake.c:3643,1
    - Dst: _gnutls_check_id_for_change
      Src: /src/gnutls/lib/handshake.c:3656,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/handshake.c:3665,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake.c:3668,1
    - Dst: get_version
      Src: /src/gnutls/lib/handshake.c:3743,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake.c:3747,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3748,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3753,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/handshake.c:3756,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake.c:3761,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/handshake.c:3763,1
    CyclomaticComplexity: 437
    EdgeCount: 437
    ICount: 1551
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 3765
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 3765
    functionName: _gnutls_send_finished
    functionSourceFile: /src/gnutls/lib/handshake.c
    functionUses: 1
    functionsReached:
    - _gnutls_connection_state_init
    - _gnutls_generate_session_id
    - _gnutls_handshake_io_buffer_clear
    - can_send_false_start
    - _mbuffer_get_udata_ptr
    - handshake_remaining_time
    - read_server_hello
    - _gnutls_parse_supplemental
    - _gnutls_ext_sr_finished
    - gnutls_alert_get
    - send_client_hello
    - gnutls_record_check_pending
    - CHECK_SIZE
    - _gnutls_cipher_type
    - _gnutls_handshake_log
    - _gnutls_handshake_alloc
    - _tls13_write_connection_state_init
    - handshake_client
    - _gnutls_recv_handshake
    - _gnutls_send_client_certificate_verify
    - record_check_unprocessed
    - _gnutls_send_new_session_ticket
    - _gnutls_write_uint24
    - _gnutls_gen_supplemental
    - _gnutls_send_client_certificate
    - _gnutls_abort_handshake
    - _gnutls_handshake_hash_buffers_clear
    - ciphersuite_to_entry
    - gnutls_time
    - _gnutls_send_supplemental
    - _gnutls_handshake_io_write_flush
    - IS_KTLS_ENABLED
    - _gnutls13_handshake_server
    - _gnutls_recv_server_crt_request
    - gnutls_certificate_credentials_t::verify_callback
    - _gnutls13_send_early_data
    - _gnutls_send_client_kx_message
    - _mbuffer_get_uhead_ptr
    - _gnutls_bin2hex
    - _gnutls_finished
    - gnutls_gettime
    - FAGAIN
    - _gnutls_version_max
    - gnutls_free
    - _gnutls_version_has_extensions
    - _gnutls_handshake2str
    - IS_DTLS
    - append_null_comp
    - set_adv_version
    - _gnutls_config_is_ktls_enabled
    - set_auth_types
    - handshake_hash_add_sent
    - _gnutls_send_handshake2
    - _gnutls_buffer_init
    - send_handshake_final
    - _gnutls_hash_fast
    - _tls13_init_secret
    - _gnutls_generate_early_secrets_for_psk
    - get_version
    - _gnutls_get_cred
    - _gnutls_ktls_set_keys
    - _gnutls_ktls_enable
    - mac_to_entry
    - _gnutls_recv_new_session_ticket
    - _gnutls_handshake_buffer_clear
    - _gnutls_ext_set_full_client_hello
    - cipher_to_entry
    - IMED_RET
    - gnutls_assert_val_fatal
    - _gnutls_handshake_io_recv_int
    - _gnutls_set_datum
    - _dtls_async_timer_delete
    - _gnutls_nversion_is_supported
    - gnutls_auth_client_get_type
    - _gnutls_recv_int
    - _gnutls_recv_client_certificate_verify_message
    - memcpy
    - _dtls_wait_and_retransmit
    - timespec_sub_ms
    - _mbuffer_set_udata_size
    - _gnutls_ext_sr_recv_cs
    - read_client_hello
    - set_client_ciphersuite
    - _mbuffer_get_uhead_size
    - gnutls_rnd
    - _gnutls_buffer_to_mbuffer
    - _gnutls_version_lowest
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    - _gnutls_handshake_io_cache_int
    - _gnutls_check_if_cert_hash_is_same
    - gnutls_session_t::internals::h_hook
    - _gnutls_recv_finished
    - _gnutls_send_handshake
    - handshake_hash_buffer_reset
    - _gnutls_debug_log
    - _gnutls_read_client_hello_v2
    - _gnutls_get_kx_cred
    - _gnutls_call_hook_func
    - reset_binders
    - handshake_server
    - IMED_RET_FATAL
    - _gnutls_run_verify_callback
    - recv_hello_verify_request
    - _gnutls_epoch_bump
    - _gnutls_send_server_crt_request
    - recv_handshake_final
    - _gnutls_ext_sr_verify
    - gnutls_session_t::internals::verify_callback
    - _gnutls_gen_hello_extensions
    - _dtls_is_async
    - _gnutls_kx_allows_false_start
    - gnutls_memset
    - _gnutls_send_server_hello
    - _gnutls_epoch_get
    - _gnutls_send_server_certificate_status
    - set_default_version
    - _gnutls_send_server_certificate
    - AGAIN
    - _gnutls_kx_auth_struct
    - nversion_to_entry
    - gnutls_session_key_update
    - _gnutls_set_cipher_suite2
    - gnutls_assert
    - _mbuffer_xfree
    - _gnutls_send_finished
    - _gnutls13_recv_hello_retry_request
    - _gnutls_free_datum
    - DECR_LEN
    - _gnutls_buffer_clear
    - _gnutls_legacy_version_max
    - _gnutls_gen_client_random
    - _gnutls_check_id_for_change
    - handshake_hash_add_recvd
    - gnutls_mutex_lock
    - _gnutls_recv_client_certificate
    - REAL_HSK_TYPE
    - _mbuffer_set_uhead_size
    - _gnutls_figure_common_ciphersuite
    - _gnutls_buffer_init_handshake_mbuffer
    - _gnutls_send_empty_handshake
    - gnutls_dtls_set_timeouts
    - memcmp
    - gnutls_auth_server_get_type
    - _gnutls_recv_client_kx_message
    - unlikely
    - _gnutls_server_register_current_session
    - _gnutls_recv_server_kx_message
    - _gnutls_send_server_kx_message
    - _gnutls_set_server_random
    - _gnutls13_handshake_client
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - session_invalidate
    - gnutls_mutex_unlock
    - _gnutls_write_uint16
    - _gnutls_send_change_cipher_spec
    - _gnutls_ssl3_finished
    - IS_SERVER
    - _gnutls_audit_log
    - _gnutls_epoch_dup
    - _mbuffer_get_udata_size
    - _dtls_async_timer_init
    - _gnutls_recv_supplemental
    - _gnutls_write_connection_state_init
    - _gnutls_get_client_ciphersuites
    - _gnutls_epoch_setup_next
    - _gnutls_recv_server_certificate_status
    - _gnutls_parse_hello_extensions
    - IS_ASYNC
    - _gnutls_read_connection_state_init
    - client_check_if_resuming
    - _gnutls_handshake_internal_state_clear
    - _gnutls_set_current_version
    - _gnutls_recv_server_certificate
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_finished(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/cipher.c:78,1
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:80,1
    - Dst: encrypt_packet_tls13
      Src: /src/gnutls/lib/cipher.c:89,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/cipher.c:90,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/cipher.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:94,1
    - Dst: encrypt_packet
      Src: /src/gnutls/lib/cipher.c:96,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/cipher.c:96,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/cipher.c:97,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:100,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/cipher.c:103,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/cipher.c:104,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/cipher.c:105,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/cipher.c:107,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/cipher.c:108,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/cipher.c:110,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/cipher.c:111,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/cipher.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - session
    - data
    - data_size
    - min_pad
    - bufel
    - type
    - params
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - size_t
    - mbuffer_st*
    - content_type_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 114
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 114
    functionName: _gnutls_encrypt
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 0
    functionsReached:
    - _mbuffer_get_udata_size
    - _gnutls_write_uint16
    - _mbuffer_set_udata_size
    - _mbuffer_set_uhead_size
    - encrypt_packet_tls13
    - IS_DTLS
    - encrypt_packet
    - _mbuffer_get_udata_ptr
    - IS_SERVER
    - get_version
    - _mbuffer_get_uhead_ptr
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_encrypt(gnutls_session_t session, const uint8_t *data,\n\t\t
      \   size_t data_size, size_t min_pad, mbuffer_st *bufel,\n\t\t    content_type_t
      type, record_parameters_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:126,1
    - Dst: decrypt_packet_tls13
      Src: /src/gnutls/lib/cipher.c:132,1
    - Dst: decrypt_packet
      Src: /src/gnutls/lib/cipher.c:135,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - session
    - ciphertext
    - output
    - type
    - params
    - sequence
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - content_type_t*
    - record_parameters_st*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: _gnutls_decrypt
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 0
    functionsReached:
    - get_version
    - gnutls_assert_val
    - decrypt_packet_tls13
    - decrypt_packet
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decrypt(gnutls_session_t session, gnutls_datum_t *ciphertext,\n\t\t
      \   gnutls_datum_t *output, content_type_t *type,\n\t\t    record_parameters_st
      *params, uint64_t sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_has_explicit_iv
      Src: /src/gnutls/lib/cipher.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - session
    - ver
    - data_size
    - hash_size
    - pad
    - auth_cipher
    - blocksize
    - etm
    argTypes:
    - gnutls_session_t
    - version_entry_st*
    - int
    - int
    - uint8_t*
    - unsigned
    - uint16_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: calc_enc_length_block
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_explicit_iv
    linkageType: ''
    returnType: int
    signature: "int calc_enc_length_block(gnutls_session_t session,\n\t\t\t\t\tconst
      version_entry_st *ver,\n\t\t\t\t\tint data_size, int hash_size,\n\t\t\t\t\tuint8_t
      *pad, unsigned auth_cipher,\n\t\t\t\t\tuint16_t blocksize, unsigned etm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - session
    - data_size
    - hash_size
    - auth_cipher
    - exp_iv_size
    argTypes:
    - gnutls_session_t
    - int
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: calc_enc_length_stream
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int calc_enc_length_stream(gnutls_session_t session,\n\t\t\t\t\t int
      data_size, int hash_size,\n\t\t\t\t\t unsigned auth_cipher,\n\t\t\t\t\t unsigned
      exp_iv_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_conv_uint16
      Src: /src/gnutls/lib/cipher.c:196,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:198,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - uint64_data
    - type
    - length
    - ver
    - preamble
    argTypes:
    - uint64_t
    - uint8_t
    - unsigned int
    - version_entry_st*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 214
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 214
    functionName: _gnutls_make_preamble
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gnutls_write_uint64
    - _gnutls_conv_uint16
    linkageType: ''
    returnType: int
    signature: "int _gnutls_make_preamble(uint64_t uint64_data, uint8_t type,\n\t\t\t
      \ unsigned int length, const version_entry_st *ver,\n\t\t\t  uint8_t preamble[MAX_PREAMBLE_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:234,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:242,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/cipher.c:247,1
    - Dst: _gnutls_cipher_get_name
      Src: /src/gnutls/lib/cipher.c:248,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/cipher.c:249,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/cipher.c:257,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:259,1
    - Dst: calc_enc_length_block
      Src: /src/gnutls/lib/cipher.c:263,1
    - Dst: _gnutls_cipher_get_implicit_iv_size
      Src: /src/gnutls/lib/cipher.c:268,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/cipher.c:270,1
    - Dst: calc_enc_length_stream
      Src: /src/gnutls/lib/cipher.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:283,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:292,1
    - Dst: _gnutls_auth_cipher_setiv
      Src: /src/gnutls/lib/cipher.c:293,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:296,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:307,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:314,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:315,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:318,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:323,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:325,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher.c:328,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:329,1
    - Dst: memxor
      Src: /src/gnutls/lib/cipher.c:332,1
    - Dst: _gnutls_make_preamble
      Src: /src/gnutls/lib/cipher.c:341,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher.c:346,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:349,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher.c:353,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:357,1
    - Dst: _gnutls_auth_cipher_encrypt2_tag
      Src: /src/gnutls/lib/cipher.c:362,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:367,1
    - Dst: _gnutls_aead_cipher_encrypt
      Src: /src/gnutls/lib/cipher.c:369,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:375,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 7
    argNames:
    - session
    - cipher_data
    - cipher_size
    - plain
    - min_pad
    - type
    - params
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - int
    - gnutls_datum_t*
    - size_t
    - content_type_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 379
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 379
    functionName: encrypt_packet
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 1
    functionsReached:
    - _gnutls_auth_cipher_add_auth
    - gnutls_rnd
    - calc_enc_length_stream
    - gnutls_assert_val
    - _gnutls_cipher_get_implicit_iv_size
    - calc_enc_length_block
    - _gnutls_aead_cipher_encrypt
    - _gnutls_hard_log
    - _gnutls_cipher_get_explicit_iv_size
    - unlikely
    - memset
    - _gnutls_mac_get_name
    - get_version
    - _gnutls_make_preamble
    - memxor
    - _gnutls_auth_cipher_setiv
    - _gnutls_cipher_get_name
    - _gnutls_auth_cipher_encrypt2_tag
    - _gnutls_write_uint64
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int encrypt_packet(gnutls_session_t session, uint8_t *cipher_data,\n\t\t\t
      \ int cipher_size, gnutls_datum_t *plain,\n\t\t\t  size_t min_pad, content_type_t
      type,\n\t\t\t  record_parameters_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:388,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:396,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:397,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/cipher.c:399,1
    - Dst: _gnutls_cipher_get_name
      Src: /src/gnutls/lib/cipher.c:400,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/cipher.c:401,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:408,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:409,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:413,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:414,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher.c:416,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:417,1
    - Dst: memxor
      Src: /src/gnutls/lib/cipher.c:419,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/cipher.c:421,1
    - Dst: MAX_RECORD_SEND_OVERHEAD
      Src: /src/gnutls/lib/cipher.c:421,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:428,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:429,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/cipher.c:439,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:451,1
    - Dst: gnutls_aead_cipher_encryptv
      Src: /src/gnutls/lib/cipher.c:458,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cipher.c:462,1
    - Dst: gnutls_aead_cipher_encryptv
      Src: /src/gnutls/lib/cipher.c:467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:474,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 7
    argNames:
    - session
    - cipher_data
    - cipher_size
    - plain
    - pad_size
    - type
    - params
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    - size_t
    - uint8_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 477
      start: 381
    functionDepth: 6
    functionLinenumber: 381
    functionLinenumberEnd: 477
    functionName: encrypt_packet_tls13
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 1
    functionsReached:
    - gnutls_aead_cipher_encryptv
    - gnutls_free
    - _gnutls_write_uint16
    - memxor
    - _gnutls_cipher_get_name
    - _gnutls_write_uint64
    - max_record_send_size
    - memcpy
    - _gnutls_hard_log
    - unlikely
    - memset
    - _gnutls_mac_get_name
    - get_version
    - MAX_RECORD_SEND_OVERHEAD
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int encrypt_packet_tls13(gnutls_session_t session, uint8_t *cipher_data,\n\t\t\t\tsize_t
      cipher_size, gnutls_datum_t *plain,\n\t\t\t\tsize_t pad_size, uint8_t type,\n\t\t\t\trecord_parameters_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:495,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:503,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:504,1
    - Dst: _gnutls_cipher_get_implicit_iv_size
      Src: /src/gnutls/lib/cipher.c:506,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/cipher.c:507,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/cipher.c:508,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:515,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:516,1
    - Dst: _gnutls_make_preamble
      Src: /src/gnutls/lib/cipher.c:519,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher.c:523,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:525,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:526,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher.c:528,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:532,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher.c:534,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:536,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:537,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:539,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/cipher.c:539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:544,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:555,1
    - Dst: _gnutls_auth_cipher_is_aead
      Src: /src/gnutls/lib/cipher.c:555,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:557,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:559,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:560,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:566,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:567,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:570,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:572,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:578,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:580,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher.c:583,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:584,1
    - Dst: memxor
      Src: /src/gnutls/lib/cipher.c:586,1
    - Dst: _gnutls_make_preamble
      Src: /src/gnutls/lib/cipher.c:596,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:599,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cipher.c:600,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:605,1
    - Dst: _gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/cipher.c:608,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:613,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:614,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:620,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:621,1
    - Dst: _gnutls_make_preamble
      Src: /src/gnutls/lib/cipher.c:631,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher.c:634,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:636,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:637,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:639,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cipher.c:640,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:645,1
    - Dst: _gnutls_auth_cipher_decrypt2
      Src: /src/gnutls/lib/cipher.c:648,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:653,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:654,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher.c:656,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:658,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:659,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:661,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/cipher.c:661,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:662,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:667,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:668,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:672,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:673,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:676,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:679,1
    - Dst: _gnutls_auth_cipher_setiv
      Src: /src/gnutls/lib/cipher.c:686,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:690,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:692,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:697,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:698,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:705,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:706,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/cipher.c:709,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:713,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:714,1
    - Dst: cbc_mac_verify
      Src: /src/gnutls/lib/cipher.c:716,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:719,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:720,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/cipher.c:724,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:728,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:729,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:735,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:736,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:741,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 6
    argNames:
    - session
    - ciphertext
    - plain
    - type
    - params
    - sequence
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - content_type_t
    - record_parameters_st*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 745
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 745
    functionName: decrypt_packet
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 1
    functionsReached:
    - _gnutls_auth_cipher_add_auth
    - gnutls_assert_val
    - _gnutls_aead_cipher_decrypt
    - _gnutls_auth_cipher_decrypt2
    - _gnutls_cipher_get_implicit_iv_size
    - _gnutls_cipher_get_block_size
    - _gnutls_cipher_get_explicit_iv_size
    - unlikely
    - cbc_mac_verify
    - memset
    - get_version
    - _gnutls_make_preamble
    - memxor
    - _gnutls_auth_cipher_tag
    - _gnutls_auth_cipher_setiv
    - _gnutls_auth_cipher_is_aead
    - _gnutls_audit_log
    - gnutls_memcmp
    - _gnutls_write_uint64
    - _gnutls_cipher_decrypt2
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int decrypt_packet(gnutls_session_t session, gnutls_datum_t *ciphertext,\n\t\t\t
      \ gnutls_datum_t *plain, content_type_t type,\n\t\t\t  record_parameters_st
      *params, uint64_t sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher.c:755,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:762,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:763,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:767,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher.c:770,1
    - Dst: _gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/cipher.c:775,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:780,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:781,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:783,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:784,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher.c:786,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/cipher.c:787,1
    - Dst: memxor
      Src: /src/gnutls/lib/cipher.c:788,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:794,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cipher.c:795,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:800,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/cipher.c:806,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/cipher.c:808,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher.c:812,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:813,1
    - Dst: max_decrypted_size
      Src: /src/gnutls/lib/cipher.c:816,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cipher.c:817,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:821,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher.c:841,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 6
    argNames:
    - session
    - ciphertext
    - plain
    - type
    - params
    - sequence
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - content_type_t*
    - record_parameters_st*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 844
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 844
    functionName: decrypt_packet_tls13
    functionSourceFile: /src/gnutls/lib/cipher.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_get_iv_size
    - _gnutls_audit_log
    - _gnutls_write_uint16
    - memxor
    - max_decrypted_size
    - _gnutls_write_uint64
    - gnutls_aead_cipher_decrypt
    - memcpy
    - unlikely
    - memset
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int decrypt_packet_tls13(gnutls_session_t session,\n\t\t\t\tgnutls_datum_t
      *ciphertext,\n\t\t\t\tgnutls_datum_t *plain, content_type_t *type,\n\t\t\t\trecord_parameters_st
      *params, uint64_t sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:40,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ecc.c:44,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:46,1
    - Dst: memset
      Src: /src/gnutls/lib/ecc.c:48,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/ecc.c:54,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:56,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/ecc.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ecc.c:63,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/ecc.c:67,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:69,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/ecc.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ecc.c:77,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ecc.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - out
    argTypes:
    - gnutls_ecc_curve_t
    - bigint_t
    - bigint_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: _gnutls_ecc_ansi_x962_export
    functionSourceFile: /src/gnutls/lib/ecc.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_get_nbits
    - _gnutls_mpi_print
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_malloc
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecc_ansi_x962_export(gnutls_ecc_curve_t curve, bigint_t
      x,\n\t\t\t\t bigint_t y, gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:100,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/ecc.c:104,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:106,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/ecc.c:108,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/ecc.c:111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ecc.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - in
    - inlen
    - x
    - y
    argTypes:
    - uint8_t*
    - unsigned long
    - bigint_t*
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: _gnutls_ecc_ansi_x962_import
    functionSourceFile: /src/gnutls/lib/ecc.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_release
    - _gnutls_mpi_init_scan
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecc_ansi_x962_import(const uint8_t *in, unsigned long
      inlen,\n\t\t\t\t bigint_t *x, bigint_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:74,1
    - Dst: _gnutls_buffers_log
      Src: /src/gnutls/lib/buffers.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - session
    - type
    - seq
    - bufel
    argTypes:
    - gnutls_session_t
    - content_type_t
    - uint64_t
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: _gnutls_record_buffer_put
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_enqueue
    - _gnutls_buffers_log
    linkageType: ''
    returnType: void
    signature: "void _gnutls_record_buffer_put(gnutls_session_t session, content_type_t
      type,\n\t\t\t       uint64_t seq, mbuffer_st *bufel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_record_buffer_get_size
      Src: /src/gnutls/lib/buffers.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: gnutls_record_check_pending
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 4
    functionsReached:
    - _gnutls_record_buffer_get_size
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_check_pending(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: gnutls_record_check_corked
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_check_corked(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:120,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:124,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:127,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:130,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/buffers.c:131,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/buffers.c:134,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/buffers.c:135,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/buffers.c:138,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/buffers.c:140,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:145,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/buffers.c:152,1
    - Dst: memcpy
      Src: /src/gnutls/lib/buffers.c:154,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - type
    - session
    - data
    - length
    - seq
    argTypes:
    - content_type_t
    - gnutls_session_t
    - uint8_t*
    - size_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: _gnutls_record_buffer_get
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_head_remove_bytes
    - gnutls_assert
    - IS_DTLS
    - _gnutls_write_uint64
    - _mbuffer_head_get_first
    - _gnutls_packet2str
    - _gnutls_audit_log
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_record_buffer_get(content_type_t type, gnutls_session_t
      session,\n\t\t\t      uint8_t *data, size_t length, uint8_t seq[8])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/buffers.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:168,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:171,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/buffers.c:172,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/buffers.c:175,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/buffers.c:176,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:177,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - type
    - session
    - packet
    argTypes:
    - content_type_t
    - gnutls_session_t
    - gnutls_packet_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: _gnutls_record_buffer_get_packet
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_head_pop_first
    - _mbuffer_head_remove_bytes
    - IS_DTLS
    - _gnutls_packet2str
    - _gnutls_audit_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_record_buffer_get_packet(content_type_t type,\n\t\t\t\t
      \    gnutls_session_t session,\n\t\t\t\t     gnutls_packet_t *packet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: reset_errno
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_errno(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_t::internals::errno_func
      Src: /src/gnutls/lib/buffers.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - session
    - fd
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: get_errno
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::errno_func
    linkageType: ''
    returnType: int
    signature: int get_errno(gnutls_session_t session, gnutls_transport_ptr_t fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - err
    - dtls
    argTypes:
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: errno_to_gerr
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int errno_to_gerr(int err, unsigned dtls)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_record_recv_size
      Src: /src/gnutls/lib/buffers.c:233,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/buffers.c:239,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:241,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/buffers.c:242,1
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/buffers.c:245,1
    - Dst: get_total_headers
      Src: /src/gnutls/lib/buffers.c:245,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:247,1
    - Dst: reset_errno
      Src: /src/gnutls/lib/buffers.c:251,1
    - Dst: pull_func
      Src: /src/gnutls/lib/buffers.c:252,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:257,1
    - Dst: errno_to_gerr
      Src: /src/gnutls/lib/buffers.c:260,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:267,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/buffers.c:272,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/buffers.c:276,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/buffers.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:281,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:286,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/buffers.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - session
    - bufel
    - pull_func
    - ms
    argTypes:
    - gnutls_session_t
    - mbuffer_st**
    - gnutls_pull_func
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 293
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 293
    functionName: _gnutls_dgram_read
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _gnutls_io_check_recv
    - _mbuffer_xfree
    - timespec_sub_ms
    - _gnutls_read_log
    - _mbuffer_set_udata_size
    - get_total_headers
    - errno_to_gerr
    - gnutls_assert
    - max_record_recv_size
    - pull_func
    - reset_errno
    - gnutls_assert_val
    - gnutls_gettime
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_dgram_read(gnutls_session_t session, mbuffer_st **bufel,\n\t\t\t\t
      \ gnutls_pull_func pull_func, unsigned int *ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/buffers.c:310,1
    - Dst: MAX
      Src: /src/gnutls/lib/buffers.c:310,1
    - Dst: get_total_headers
      Src: /src/gnutls/lib/buffers.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:313,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/buffers.c:321,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:323,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/buffers.c:327,1
    - Dst: reset_errno
      Src: /src/gnutls/lib/buffers.c:330,1
    - Dst: pull_func
      Src: /src/gnutls/lib/buffers.c:332,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:337,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:343,1
    - Dst: errno_to_gerr
      Src: /src/gnutls/lib/buffers.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:353,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:358,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/buffers.c:369,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/buffers.c:370,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:374,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:382,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/buffers.c:386,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/buffers.c:391,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 5
    argNames:
    - session
    - bufel
    - size
    - pull_func
    - ms
    argTypes:
    - gnutls_session_t
    - mbuffer_st**
    - size_t
    - gnutls_pull_func
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 393
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 393
    functionName: _gnutls_stream_read
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _gnutls_io_check_recv
    - _mbuffer_xfree
    - timespec_sub_ms
    - _gnutls_read_log
    - get_total_headers
    - errno_to_gerr
    - MAX
    - pull_func
    - reset_errno
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_gettime
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_stream_read(gnutls_session_t session, mbuffer_st **bufel,\n\t\t\t\t
      \  size_t size, gnutls_pull_func pull_func,\n\t\t\t\t   unsigned int *ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:404,1
    - Dst: _gnutls_dgram_read
      Src: /src/gnutls/lib/buffers.c:406,1
    - Dst: _gnutls_stream_read
      Src: /src/gnutls/lib/buffers.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - session
    - bufel
    - size
    - pull_func
    - ms
    argTypes:
    - gnutls_session_t
    - mbuffer_st**
    - size_t
    - gnutls_pull_func
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: _gnutls_read
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _gnutls_dgram_read
    - _gnutls_stream_read
    - IS_DTLS
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_read(gnutls_session_t session, mbuffer_st **bufel,\n\t\t\t
      \   size_t size, gnutls_pull_func pull_func,\n\t\t\t    unsigned int *ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_t::internals::vec_push_func
      Src: /src/gnutls/lib/buffers.c:425,1
    - Dst: gnutls_session_t::internals::push_func
      Src: /src/gnutls/lib/buffers.c:432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - session
    - fd
    - giovec
    - giovec_cnt
    - vec
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ptr_t
    - giovec_t*
    - unsigned int
    - unsigned
    constantsTouched: []
    func_position:
      end: 459
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 459
    functionName: _gnutls_writev_emu
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::push_func
    - gnutls_session_t::internals::vec_push_func
    - gnutls_assert
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_writev_emu(gnutls_session_t session,\n\t\t\t\t  gnutls_transport_ptr_t
      fd,\n\t\t\t\t  const giovec_t *giovec,\n\t\t\t\t  unsigned int giovec_cnt, unsigned
      vec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_errno
      Src: /src/gnutls/lib/buffers.c:471,1
    - Dst: gnutls_session_t::internals::vec_push_func
      Src: /src/gnutls/lib/buffers.c:481,1
    - Dst: _gnutls_writev_emu
      Src: /src/gnutls/lib/buffers.c:484,1
    - Dst: _gnutls_writev_emu
      Src: /src/gnutls/lib/buffers.c:488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:490,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/buffers.c:494,1
    - Dst: errno_to_gerr
      Src: /src/gnutls/lib/buffers.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - session
    - giovec
    - giovec_cnt
    - total
    argTypes:
    - gnutls_session_t
    - giovec_t*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 500
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 500
    functionName: _gnutls_writev
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::internals::vec_push_func
    - errno_to_gerr
    - _gnutls_writev_emu
    - reset_errno
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_writev(gnutls_session_t session, const giovec_t *giovec,\n\t\t\t
      \     unsigned giovec_cnt, unsigned total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: max_record_recv_size
      Src: /src/gnutls/lib/buffers.c:525,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:526,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:533,1
    - Dst: max_record_recv_size
      Src: /src/gnutls/lib/buffers.c:553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:554,1
    - Dst: _gnutls_read
      Src: /src/gnutls/lib/buffers.c:561,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:568,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:572,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:576,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:580,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:582,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:584,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:585,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:591,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - session
    - total
    - recv_type
    - ms
    argTypes:
    - gnutls_session_t
    - size_t
    - content_type_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 596
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 596
    functionName: _gnutls_io_read_buffered
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_log
    - gnutls_assert
    - _mbuffer_enqueue
    - IS_DTLS
    - max_record_recv_size
    - MIN
    - gnutls_assert_val
    - _gnutls_read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_io_read_buffered(gnutls_session_t session, size_t
      total,\n\t\t\t\t content_type_t recv_type, unsigned int *ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:621,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:623,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/buffers.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - bufel
    - mflag
    argTypes:
    - gnutls_session_t
    - mbuffer_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 632
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 632
    functionName: _gnutls_io_write_buffered
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _gnutls_io_write_flush
    - _gnutls_write_log
    - _mbuffer_enqueue
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_io_write_buffered(gnutls_session_t session, mbuffer_st
      *bufel,\n\t\t\t\t  unsigned int mflag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:651,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:654,1
    - Dst: _mbuffer_head_get_next
      Src: /src/gnutls/lib/buffers.c:655,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:662,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:668,1
    - Dst: _gnutls_writev
      Src: /src/gnutls/lib/buffers.c:672,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:674,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:675,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:680,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:684,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:685,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:690,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:693,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 702
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 702
    functionName: _gnutls_io_write_flush
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 1
    functionsReached:
    - _mbuffer_head_remove_bytes
    - _mbuffer_head_get_next
    - _mbuffer_head_get_first
    - gnutls_assert_val
    - _gnutls_writev
    - _gnutls_write_log
    - gnutls_assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _gnutls_io_write_flush(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NO_TIMEOUT_FUNC_SET
      Src: /src/gnutls/lib/buffers.c:715,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/buffers.c:716,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:718,1
    - Dst: reset_errno
      Src: /src/gnutls/lib/buffers.c:721,1
    - Dst: gnutls_session_t::internals::pull_timeout_func
      Src: /src/gnutls/lib/buffers.c:723,1
    - Dst: get_errno
      Src: /src/gnutls/lib/buffers.c:725,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/buffers.c:726,1
    - Dst: errno_to_gerr
      Src: /src/gnutls/lib/buffers.c:729,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - session
    - ms
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 736
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 736
    functionName: _gnutls_io_check_recv
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 2
    functionsReached:
    - _gnutls_read_log
    - errno_to_gerr
    - IS_DTLS
    - NO_TIMEOUT_FUNC_SET
    - get_errno
    - gnutls_session_t::internals::pull_timeout_func
    - reset_errno
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_io_check_recv(gnutls_session_t session, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:755,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:758,1
    - Dst: _dtls_transmit
      Src: /src/gnutls/lib/buffers.c:759,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:761,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:762,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/buffers.c:768,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:770,1
    - Dst: gnutls_session_t::internals::h_read_func
      Src: /src/gnutls/lib/buffers.c:771,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:775,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/buffers.c:779,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:784,1
    - Dst: _gnutls_epoch_refcount_dec
      Src: /src/gnutls/lib/buffers.c:788,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:790,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:795,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:799,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/buffers.c:804,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 805
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 805
    functionName: _gnutls_handshake_io_write_flush
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 1
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_io_write_flush
    - gnutls_session_t::internals::h_read_func
    - _mbuffer_head_remove_bytes
    - gnutls_assert
    - IS_DTLS
    - _gnutls_send_int
    - _gnutls_epoch_refcount_dec
    - _mbuffer_head_get_first
    - _gnutls_write_log
    - gnutls_assert_val
    - _dtls_transmit
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _gnutls_handshake_io_write_flush(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:817,1
    - Dst: _gnutls_epoch_refcount_inc
      Src: /src/gnutls/lib/buffers.c:826,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:834,1
    - Dst: _gnutls_write_log
      Src: /src/gnutls/lib/buffers.c:836,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/buffers.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - session
    - htype
    - bufel
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_description_t
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 841
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 841
    functionName: _gnutls_handshake_io_cache_int
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake2str
    - _mbuffer_enqueue
    - _gnutls_epoch_refcount_inc
    - IS_DTLS
    - _gnutls_write_log
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_io_cache_int(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_handshake_description_t htype,\n\t\t\t\t   mbuffer_st *bufel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _e1
    - _e2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: handshake_compare
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handshake_compare(const void *_e1, const void *_e2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:863,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:864,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/buffers.c:866,1
    - Dst: unlikely
      Src: /src/gnutls/lib/buffers.c:870,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:870,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:876,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:880,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/buffers.c:896,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:898,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/buffers.c:899,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/buffers.c:900,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/buffers.c:901,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:905,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:905,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:913,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:914,1
    - Dst: memcmp
      Src: /src/gnutls/lib/buffers.c:917,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:924,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/buffers.c:931,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/buffers.c:933,1
    - Dst: memcpy
      Src: /src/gnutls/lib/buffers.c:938,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/buffers.c:938,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:944,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:947,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - session
    - bufel
    - hsk
    argTypes:
    - gnutls_session_t
    - mbuffer_st*
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 950
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 950
    functionName: parse_handshake_header
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_get_udata_size
    - _gnutls_handshake_log
    - _gnutls_read_uint16
    - _gnutls_handshake2str
    - IS_DTLS
    - memcmp
    - _mbuffer_get_udata_ptr
    - unlikely
    - MIN
    - memcpy
    - _gnutls_read_uint24
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_handshake_header(gnutls_session_t session, mbuffer_st *bufel,\n\t\t\t\t
      \ handshake_buffer_st *hsk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/buffers.c:955,1
    - Dst: memset
      Src: /src/gnutls/lib/buffers.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - handshake_buffer_st*
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 958
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 958
    functionName: _gnutls_handshake_buffer_move
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void _gnutls_handshake_buffer_move(handshake_buffer_st *dst,\n\t\t\t\t\t
      \ handshake_buffer_st *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:983,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/buffers.c:987,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:989,1
    - Dst: memmove
      Src: /src/gnutls/lib/buffers.c:996,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/buffers.c:1004,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/buffers.c:1005,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/buffers.c:1006,1
    - Dst: _gnutls_handshake_buffer_move
      Src: /src/gnutls/lib/buffers.c:1008,1
    - Dst: memcpy
      Src: /src/gnutls/lib/buffers.c:1018,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:1024,1
    - Dst: memcpy
      Src: /src/gnutls/lib/buffers.c:1035,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:1042,1
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/buffers.c:1047,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - session
    - hsk
    argTypes:
    - gnutls_session_t
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 1051
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 1051
    functionName: merge_handshake_packet
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - memmove
    - _gnutls_handshake_buffer_clear
    - _gnutls_handshake_buffer_move
    - _gnutls_write_uint24
    - MIN
    - memcpy
    - _gnutls_buffer_resize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int merge_handshake_packet(gnutls_session_t session,\n\t\t\t\t  handshake_buffer_st
      *hsk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - expected
    - recvd
    argTypes:
    - gnutls_handshake_description_t
    - gnutls_handshake_description_t
    constantsTouched: []
    func_position:
      end: 1070
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1070
    functionName: cmp_hsk_types
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmp_hsk_types(gnutls_handshake_description_t expected,\n\t\t\t\tgnutls_handshake_description_t
      recvd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:1083,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/buffers.c:1091,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/buffers.c:1094,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/buffers.c:1097,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1100,1
    - Dst: _gnutls_handshake_buffer_move
      Src: /src/gnutls/lib/buffers.c:1109,1
    - Dst: record_check_unprocessed
      Src: /src/gnutls/lib/buffers.c:1119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1120,1
    - Dst: cmp_hsk_types
      Src: /src/gnutls/lib/buffers.c:1129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1130,1
    - Dst: _gnutls_handshake_buffer_move
      Src: /src/gnutls/lib/buffers.c:1134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1138,1
    - Dst: RETURN_DTLS_EAGAIN_OR_TIMEOUT
      Src: /src/gnutls/lib/buffers.c:1143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - session
    - htype
    - hsk
    - optional
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_description_t
    - handshake_buffer_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1144
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1144
    functionName: get_last_packet
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - record_check_unprocessed
    - _gnutls_handshake2str
    - IS_DTLS
    - _gnutls_handshake_buffer_move
    - cmp_hsk_types
    - _gnutls_audit_log
    - RETURN_DTLS_EAGAIN_OR_TIMEOUT
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int get_last_packet(gnutls_session_t session,\n\t\t\t   gnutls_handshake_description_t
      htype,\n\t\t\t   handshake_buffer_st *hsk, unsigned int optional)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:1160,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:1165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1170,1
    - Dst: unlikely
      Src: /src/gnutls/lib/buffers.c:1173,1
    - Dst: HANDSHAKE_HEADER_SIZE
      Src: /src/gnutls/lib/buffers.c:1177,1
    - Dst: HANDSHAKE_HEADER_SIZE
      Src: /src/gnutls/lib/buffers.c:1181,1
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/buffers.c:1183,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:1185,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:1195,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/buffers.c:1199,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1202,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:1204,1
    - Dst: unlikely
      Src: /src/gnutls/lib/buffers.c:1208,1
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/buffers.c:1212,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/buffers.c:1215,1
    - Dst: _mbuffer_linearize_align16
      Src: /src/gnutls/lib/buffers.c:1219,1
    - Dst: get_total_headers
      Src: /src/gnutls/lib/buffers.c:1222,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1224,1
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/buffers.c:1225,1
    - Dst: _mbuffer_head_push_first
      Src: /src/gnutls/lib/buffers.c:1228,1
    - Dst: parse_handshake_header
      Src: /src/gnutls/lib/buffers.c:1234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1237,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/buffers.c:1243,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:1245,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:1246,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/buffers.c:1247,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/buffers.c:1249,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1252,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/buffers.c:1253,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/buffers.c:1254,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/buffers.c:1264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1271,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:1285,1
    - Dst: _gnutls_handshake_buffer_init
      Src: /src/gnutls/lib/buffers.c:1289,1
    - Dst: parse_handshake_header
      Src: /src/gnutls/lib/buffers.c:1291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/buffers.c:1294,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/buffers.c:1295,1
    - Dst: _mbuffer_consume
      Src: /src/gnutls/lib/buffers.c:1301,1
    - Dst: MIN
      Src: /src/gnutls/lib/buffers.c:1305,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/buffers.c:1309,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/buffers.c:1311,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1314,1
    - Dst: _mbuffer_consume
      Src: /src/gnutls/lib/buffers.c:1316,1
    - Dst: merge_handshake_packet
      Src: /src/gnutls/lib/buffers.c:1320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1322,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/buffers.c:1324,1
    - Dst: _mbuffer_dequeue
      Src: /src/gnutls/lib/buffers.c:1327,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/buffers.c:1330,1
    - Dst: _mbuffer_head_get_next
      Src: /src/gnutls/lib/buffers.c:1334,1
    - Dst: qsort
      Src: /src/gnutls/lib/buffers.c:1339,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/buffers.c:1346,1
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/buffers.c:1350,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1356
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1356
    functionName: _gnutls_parse_record_buffered_msgs
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_xfree
    - _mbuffer_linearize_align16
    - _mbuffer_dequeue
    - _mbuffer_get_udata_ptr
    - gnutls_assert_val
    - _mbuffer_head_push_first
    - _mbuffer_set_uhead_size
    - _mbuffer_head_remove_bytes
    - _mbuffer_enqueue
    - unlikely
    - MIN
    - _mbuffer_consume
    - merge_handshake_packet
    - _gnutls_handshake_buffer_init
    - _gnutls_buffer_append_data
    - _mbuffer_head_pop_first
    - _gnutls_handshake_buffer_clear
    - _mbuffer_head_get_next
    - _mbuffer_head_get_first
    - _gnutls_audit_log
    - _mbuffer_get_udata_size
    - get_total_headers
    - parse_handshake_header
    - IS_DTLS
    - HANDSHAKE_HEADER_SIZE
    - gnutls_assert
    - qsort
    linkageType: ''
    returnType: int
    signature: int _gnutls_parse_record_buffered_msgs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_last_packet
      Src: /src/gnutls/lib/buffers.c:1370,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1374,1
    - Dst: _gnutls_parse_record_buffered_msgs
      Src: /src/gnutls/lib/buffers.c:1380,1
    - Dst: get_last_packet
      Src: /src/gnutls/lib/buffers.c:1383,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:1386,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1392,1
    - Dst: handshake_remaining_time
      Src: /src/gnutls/lib/buffers.c:1400,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1402,1
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/buffers.c:1409,1
    - Dst: gnutls_assert_val_fatal
      Src: /src/gnutls/lib/buffers.c:1412,1
    - Dst: _gnutls_parse_record_buffered_msgs
      Src: /src/gnutls/lib/buffers.c:1414,1
    - Dst: get_last_packet
      Src: /src/gnutls/lib/buffers.c:1416,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:1420,1
    - Dst: unlikely
      Src: /src/gnutls/lib/buffers.c:1423,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/buffers.c:1423,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/buffers.c:1424,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - session
    - htype
    - hsk
    - optional
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_description_t
    - handshake_buffer_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1428
      start: 1361
    functionDepth: 4
    functionLinenumber: 1361
    functionLinenumberEnd: 1428
    functionName: _gnutls_handshake_io_recv_int
    functionSourceFile: /src/gnutls/lib/buffers.c
    functionUses: 1
    functionsReached:
    - _gnutls_parse_record_buffered_msgs
    - IS_DTLS
    - handshake_remaining_time
    - get_last_packet
    - unlikely
    - gnutls_assert_val_fatal
    - _gnutls_recv_in_buffers
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_handshake_io_recv_int(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_handshake_description_t htype,\n\t\t\t\t      handshake_buffer_st
      *hsk,\n\t\t\t\t      unsigned int optional)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/crypto-selftests.c:1321,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1325,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1327,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1329,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1330,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1331,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1334,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1338,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1340,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1342,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1343,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1344,1
    - Dst: _gnutls_cipher_set_key
      Src: /src/gnutls/lib/crypto-selftests.c:1352,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1355,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-selftests.c:1358,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/lib/crypto-selftests.c:1360,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1363,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1366,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1368,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1370,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1371,1
    - Dst: _gnutls_cipher_get_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1378,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1380,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1383,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1384,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1386,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1387,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1392,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/crypto-selftests.c:1395,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1403,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1405,1
    - Dst: gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1407,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1411,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1413,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1414,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1417,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1419,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1420,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1421,1
    - Dst: _gnutls_cipher_set_key
      Src: /src/gnutls/lib/crypto-selftests.c:1429,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1432,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-selftests.c:1435,1
    - Dst: gnutls_cipher_decrypt
      Src: /src/gnutls/lib/crypto-selftests.c:1437,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1440,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1443,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1445,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1447,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1448,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1453,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1456,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1457,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 4
    argNames:
    - cipher
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_cipher_algorithm_t
    - struct cipher_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1460
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1460
    functionName: test_cipher
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_cipher_set_iv
    - gnutls_cipher_decrypt2
    - gnutls_cipher_get_name
    - memcmp
    - gnutls_cipher_init
    - memcpy
    - _gnutls_cipher_get_iv
    - gnutls_cipher_get_iv_size
    - _gnutls_debug_log
    - gnutls_cipher_decrypt
    - _gnutls_cipher_set_key
    - gnutls_cipher_encrypt2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_cipher(gnutls_cipher_algorithm_t cipher,\n\t\t       const
      struct cipher_vectors_st *vectors,\n\t\t       size_t vectors_size, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/crypto-selftests.c:1480,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1483,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1486,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1488,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1490,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1491,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1497,1
    - Dst: MIN
      Src: /src/gnutls/lib/crypto-selftests.c:1499,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1503,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1507,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1509,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1511,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1514,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1518,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/crypto-selftests.c:1528,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1530,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1532,1
    - Dst: gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1538,1
    - Dst: MIN
      Src: /src/gnutls/lib/crypto-selftests.c:1540,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1544,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1548,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1550,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1552,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1554,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1558,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1562,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1563,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - cipher
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_cipher_algorithm_t
    - struct cipher_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1566
      start: 1462
    functionDepth: 4
    functionLinenumber: 1462
    functionLinenumberEnd: 1566
    functionName: test_cipher_all_block_sizes
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_deinit
    - gnutls_cipher_decrypt2
    - gnutls_cipher_get_name
    - memcmp
    - gnutls_cipher_init
    - MIN
    - gnutls_cipher_get_iv_size
    - _gnutls_debug_log
    - gnutls_cipher_encrypt2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_cipher_all_block_sizes(gnutls_cipher_algorithm_t cipher,\n\t\t\t\t
      \      const struct cipher_vectors_st *vectors,\n\t\t\t\t       size_t vectors_size,
      unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1581,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1582,1
    - Dst: memset
      Src: /src/gnutls/lib/crypto-selftests.c:1585,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-selftests.c:1593,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1594,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1597,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1602,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1604,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1605,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1611,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1613,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1614,1
    - Dst: gnutls_cipher_add_auth
      Src: /src/gnutls/lib/crypto-selftests.c:1618,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1621,1
    - Dst: gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1625,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1629,1
    - Dst: gnutls_cipher_tag
      Src: /src/gnutls/lib/crypto-selftests.c:1631,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1634,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1636,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1638,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1640,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1641,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1645,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1647,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1649,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1651,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1658,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-selftests.c:1660,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/lib/crypto-selftests.c:1663,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1666,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1669,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1670,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1672,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1673,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1678,1
    - Dst: gnutls_cipher_add_auth
      Src: /src/gnutls/lib/crypto-selftests.c:1682,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1686,1
    - Dst: gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/crypto-selftests.c:1690,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1694,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1697,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1699,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1701,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1702,1
    - Dst: gnutls_cipher_set_iv
      Src: /src/gnutls/lib/crypto-selftests.c:1708,1
    - Dst: gnutls_cipher_add_auth
      Src: /src/gnutls/lib/crypto-selftests.c:1712,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1716,1
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-selftests.c:1720,1
    - Dst: gnutls_cipher_decrypt
      Src: /src/gnutls/lib/crypto-selftests.c:1721,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1724,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1727,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1729,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1731,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1733,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1739,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1742,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1743,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 90
    argCount: 3
    argNames:
    - cipher
    - vectors
    - vectors_size
    argTypes:
    - gnutls_cipher_algorithm_t
    - struct cipher_aead_vectors_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 1746
      start: 1569
    functionDepth: 4
    functionLinenumber: 1569
    functionLinenumberEnd: 1746
    functionName: test_cipher_aead_compat
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_tag
    - gnutls_cipher_encrypt
    - gnutls_cipher_set_iv
    - gnutls_cipher_decrypt2
    - gnutls_cipher_deinit
    - gnutls_cipher_get_name
    - gnutls_cipher_add_auth
    - gnutls_cipher_get_tag_size
    - memcmp
    - gnutls_cipher_init
    - memset
    - memcpy
    - _gnutls_debug_log
    - gnutls_cipher_decrypt
    - gnutls_cipher_encrypt2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_cipher_aead_compat(gnutls_cipher_algorithm_t cipher,\n\t\t\t\t
      \  const struct cipher_aead_vectors_st *vectors,\n\t\t\t\t   size_t vectors_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1769,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1770,1
    - Dst: memset
      Src: /src/gnutls/lib/crypto-selftests.c:1773,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-selftests.c:1781,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1782,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1785,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1787,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1788,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1789,1
    - Dst: gnutls_aead_cipher_encryptv
      Src: /src/gnutls/lib/crypto-selftests.c:1803,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1808,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1811,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1819,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1820,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1821,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1822,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1831,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1833,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1835,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1837,1
    - Dst: assert
      Src: /src/gnutls/lib/crypto-selftests.c:1846,1
    - Dst: assert
      Src: /src/gnutls/lib/crypto-selftests.c:1867,1
    - Dst: gnutls_aead_cipher_encryptv
      Src: /src/gnutls/lib/crypto-selftests.c:1889,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1894,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1897,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1905,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1906,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1907,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1908,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:1917,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1919,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1921,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1923,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:1928,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1931,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1932,1
    - Dst: test_cipher_aead_compat
      Src: /src/gnutls/lib/crypto-selftests.c:1937,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 4
    argNames:
    - cipher
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_cipher_algorithm_t
    - struct cipher_aead_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1938
      start: 1750
    functionDepth: 6
    functionLinenumber: 1750
    functionLinenumberEnd: 1938
    functionName: test_cipher_aead_scatter
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - test_cipher_aead_compat
    - gnutls_aead_cipher_encryptv
    - assert
    - gnutls_cipher_get_name
    - gnutls_cipher_get_tag_size
    - memcmp
    - gnutls_aead_cipher_init
    - memset
    - _gnutls_debug_log
    - gnutls_aead_cipher_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_cipher_aead_scatter(gnutls_cipher_algorithm_t cipher,\n\t\t\t
      const struct cipher_aead_vectors_st *vectors,\n\t\t\t size_t vectors_size, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1956,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1957,1
    - Dst: memset
      Src: /src/gnutls/lib/crypto-selftests.c:1960,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/crypto-selftests.c:1968,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1969,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1973,1
    - Dst: gnutls_aead_cipher_init
      Src: /src/gnutls/lib/crypto-selftests.c:1975,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:1977,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:1978,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1979,1
    - Dst: gnutls_aead_cipher_encrypt
      Src: /src/gnutls/lib/crypto-selftests.c:1984,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1990,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:1993,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2001,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2002,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2003,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2004,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2013,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2015,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2017,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2019,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/crypto-selftests.c:2027,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2033,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2038,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2040,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2042,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2043,1
    - Dst: gnutls_aead_cipher_decrypt
      Src: /src/gnutls/lib/crypto-selftests.c:2052,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2058,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2060,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2061,1
    - Dst: gnutls_aead_cipher_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:2067,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2070,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2071,1
    - Dst: test_cipher_aead_scatter
      Src: /src/gnutls/lib/crypto-selftests.c:2073,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 4
    argNames:
    - cipher
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_cipher_algorithm_t
    - struct cipher_aead_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2074
      start: 1941
    functionDepth: 7
    functionLinenumber: 1941
    functionLinenumberEnd: 2074
    functionName: test_cipher_aead
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_aead_cipher_encrypt
    - gnutls_cipher_get_name
    - test_cipher_aead_scatter
    - gnutls_cipher_get_tag_size
    - gnutls_aead_cipher_decrypt
    - memcmp
    - gnutls_aead_cipher_init
    - memset
    - _gnutls_debug_log
    - gnutls_aead_cipher_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_cipher_aead(gnutls_cipher_algorithm_t cipher,\n\t\t\t    const
      struct cipher_aead_vectors_st *vectors,\n\t\t\t    size_t vectors_size, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_digest_exists
      Src: /src/gnutls/lib/crypto-selftests.c:2250,1
    - Dst: gnutls_hash_init
      Src: /src/gnutls/lib/crypto-selftests.c:2254,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2256,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2257,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2258,1
    - Dst: gnutls_hash
      Src: /src/gnutls/lib/crypto-selftests.c:2261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2263,1
    - Dst: gnutls_hash_copy
      Src: /src/gnutls/lib/crypto-selftests.c:2265,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2267,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2268,1
    - Dst: gnutls_hash
      Src: /src/gnutls/lib/crypto-selftests.c:2271,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2274,1
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:2276,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/lib/crypto-selftests.c:2278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2280,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2283,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2285,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2286,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2287,1
    - Dst: gnutls_hash
      Src: /src/gnutls/lib/crypto-selftests.c:2291,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2294,1
    - Dst: memset
      Src: /src/gnutls/lib/crypto-selftests.c:2297,1
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:2298,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2300,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2302,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2304,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2305,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2311,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - dig
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_digest_algorithm_t
    - struct hash_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2315
      start: 2239
    functionDepth: 4
    functionLinenumber: 2239
    functionLinenumberEnd: 2315
    functionName: test_digest
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    - gnutls_hash_init
    - _gnutls_digest_exists
    - gnutls_hash_copy
    - memcmp
    - gnutls_digest_get_name
    - gnutls_hash
    - gnutls_hash_deinit
    - memset
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_digest(gnutls_digest_algorithm_t dig,\n\t\t       const struct
      hash_vectors_st *vectors,\n\t\t       size_t vectors_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/lib/crypto-selftests.c:2555,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2559,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2560,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2561,1
    - Dst: gnutls_hmac_set_nonce
      Src: /src/gnutls/lib/crypto-selftests.c:2565,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/crypto-selftests.c:2568,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2570,1
    - Dst: gnutls_hmac_copy
      Src: /src/gnutls/lib/crypto-selftests.c:2572,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2574,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2575,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/crypto-selftests.c:2578,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2581,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:2583,1
    - Dst: gnutls_hmac_get_len
      Src: /src/gnutls/lib/crypto-selftests.c:2585,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2587,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2590,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2592,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2593,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2595,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/crypto-selftests.c:2599,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2602,1
    - Dst: memset
      Src: /src/gnutls/lib/crypto-selftests.c:2605,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/lib/crypto-selftests.c:2606,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2608,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2610,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2612,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2613,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2619,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2620,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - mac
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_mac_algorithm_t
    - struct mac_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2623
      start: 2543
    functionDepth: 4
    functionLinenumber: 2543
    functionLinenumberEnd: 2623
    functionName: test_mac
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - gnutls_hmac_deinit
    - gnutls_hmac_copy
    - gnutls_hmac_init
    - gnutls_hmac_get_len
    - memcmp
    - gnutls_hmac_set_nonce
    - gnutls_mac_get_name
    - gnutls_hmac
    - memset
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_mac(gnutls_mac_algorithm_t mac,\n\t\t    const struct mac_vectors_st
      *vectors, size_t vectors_size,\n\t\t    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2664,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2667,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2670,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2673,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2676,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2679,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2682,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2685,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2688,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2691,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2694,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2697,1
    - Dst: CHECK
      Src: /src/gnutls/lib/crypto-selftests.c:2700,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2703,1
    - Dst: CHECK
      Src: /src/gnutls/lib/crypto-selftests.c:2706,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2709,1
    - Dst: CHECK
      Src: /src/gnutls/lib/crypto-selftests.c:2712,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2715,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2718,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2721,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2724,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2727,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2730,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2733,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2737,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2741,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2744,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2747,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2750,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2753,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2756,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2759,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2762,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 72
    argCount: 2
    argNames:
    - flags
    - cipher
    argTypes:
    - unsigned
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 2771
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2771
    functionName: gnutls_cipher_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 3
    functionsReached:
    - NON_FIPS_CASE
    - CASE
    - gnutls_assert_val
    - CHECK
    linkageType: ''
    returnType: int
    signature: int gnutls_cipher_self_test(unsigned flags, gnutls_cipher_algorithm_t
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2793,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2795,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2797,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2799,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2801,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2803,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2806,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2809,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2812,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2815,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2818,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2821,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2825,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2827,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2829,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2831,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2833,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - flags
    - mac
    argTypes:
    - unsigned
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 2841
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2841
    functionName: gnutls_mac_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 2
    functionsReached:
    - NON_FIPS_CASE
    - CASE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_mac_self_test(unsigned flags, gnutls_mac_algorithm_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2863,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2865,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2867,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2869,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2871,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2873,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2876,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2878,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2880,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2882,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2886,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2889,1
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:2892,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - flags
    - digest
    argTypes:
    - unsigned
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 2901
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2901
    functionName: gnutls_digest_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 2
    functionsReached:
    - NON_FIPS_CASE
    - CASE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_digest_self_test(unsigned flags, gnutls_digest_algorithm_t
      digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hkdf_extract
      Src: /src/gnutls/lib/crypto-selftests.c:2988,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2990,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2991,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:2992,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:2995,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:2996,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:2998,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3000,1
    - Dst: gnutls_hkdf_expand
      Src: /src/gnutls/lib/crypto-selftests.c:3008,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3011,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3012,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3013,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:3016,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3017,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3019,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3021,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3025,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - mac
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_mac_algorithm_t
    - struct hkdf_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 3029
      start: 2972
    functionDepth: 5
    functionLinenumber: 2972
    functionLinenumberEnd: 3029
    functionName: test_hkdf
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 1
    functionsReached:
    - memcmp
    - gnutls_hkdf_expand
    - gnutls_mac_get_name
    - gnutls_hkdf_extract
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_hkdf(gnutls_mac_algorithm_t mac,\n\t\t     const struct hkdf_vectors_st
      *vectors, size_t vectors_size,\n\t\t     unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:3051,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - flags
    - mac
    argTypes:
    - unsigned
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 3059
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3059
    functionName: gnutls_hkdf_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 1
    functionsReached:
    - CASE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_hkdf_self_test(unsigned flags, gnutls_mac_algorithm_t mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/lib/crypto-selftests.c:3125,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3128,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3130,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:3133,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3135,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3139,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3143,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - mac
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_mac_algorithm_t
    - struct pbkdf2_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 3147
      start: 3109
    functionDepth: 4
    functionLinenumber: 3109
    functionLinenumberEnd: 3147
    functionName: test_pbkdf2
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 1
    functionsReached:
    - _gnutls_debug_log
    - memcmp
    - gnutls_mac_get_name
    - gnutls_pbkdf2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_pbkdf2(gnutls_mac_algorithm_t mac,\n\t\t       const struct
      pbkdf2_vectors_st *vectors,\n\t\t       size_t vectors_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:3169,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - flags
    - mac
    argTypes:
    - unsigned
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 3177
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3177
    functionName: gnutls_pbkdf2_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 1
    functionsReached:
    - CASE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_pbkdf2_self_test(unsigned flags, gnutls_mac_algorithm_t
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_prf_raw
      Src: /src/gnutls/lib/crypto-selftests.c:3308,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3314,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3316,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests.c:3319,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3321,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3323,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3325,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests.c:3329,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/crypto-selftests.c:3330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - mac
    - vectors
    - vectors_size
    - flags
    argTypes:
    - gnutls_mac_algorithm_t
    - struct tlsprf_vectors_st*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 3333
      start: 3298
    functionDepth: 1
    functionLinenumber: 3298
    functionLinenumberEnd: 3333
    functionName: test_tlsprf
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 0
    functionsReached:
    - _gnutls_prf_raw
    - memcmp
    - gnutls_mac_get_name
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int test_tlsprf(gnutls_mac_algorithm_t mac,\n\t\t       const struct
      tlsprf_vectors_st *vectors,\n\t\t       size_t vectors_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NON_FIPS_CASE
      Src: /src/gnutls/lib/crypto-selftests.c:3355,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:3358,1
    - Dst: CASE
      Src: /src/gnutls/lib/crypto-selftests.c:3360,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests.c:3364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - flags
    - mac
    argTypes:
    - unsigned
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 3368
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3368
    functionName: gnutls_tlsprf_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests.c
    functionUses: 1
    functionsReached:
    - NON_FIPS_CASE
    - CASE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_tlsprf_self_test(unsigned flags, gnutls_mac_algorithm_t
      mac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/hello_ext_lib.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: _gnutls_hello_ext_default_deinit
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_hello_ext_default_deinit(gnutls_ext_priv_data_t priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/hello_ext_lib.c:45,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext_lib.c:46,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext_lib.c:49,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/hello_ext_lib.c:51,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext_lib.c:53,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/hello_ext_lib.c:55,1
    - Dst: memcpy
      Src: /src/gnutls/lib/hello_ext_lib.c:56,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/hello_ext_lib.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: _gnutls_hello_ext_set_datum
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - _gnutls_write_uint16
    - _gnutls_hello_ext_get_priv
    - gnutls_malloc
    - memcpy
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_set_datum(gnutls_session_t session, extensions_t
      id,\n\t\t\t\tconst gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/hello_ext_lib.c:69,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/hello_ext_lib.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: _gnutls_hello_ext_get_datum
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - _gnutls_hello_ext_get_priv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_get_datum(gnutls_session_t session, extensions_t
      id,\n\t\t\t\tgnutls_datum_t *data /* constant contents */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_resumed_priv
      Src: /src/gnutls/lib/hello_ext_lib.c:86,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/hello_ext_lib.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - id
    - data
    argTypes:
    - gnutls_session_t
    - extensions_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: _gnutls_hello_ext_get_resumed_datum
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - _gnutls_hello_ext_get_resumed_priv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_get_resumed_datum(\n\tgnutls_session_t session,
      extensions_t id,\n\tgnutls_datum_t *data /* constant contents */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/hello_ext_lib.c:101,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/hello_ext_lib.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: _gnutls_hello_ext_default_pack
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_read_uint16
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_default_pack(gnutls_ext_priv_data_t epriv,\n\t\t\t\t
      \  gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_pop_datum_prefix16
      Src: /src/gnutls/lib/hello_ext_lib.c:113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext_lib.c:115,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/hello_ext_lib.c:117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/hello_ext_lib.c:119,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/hello_ext_lib.c:121,1
    - Dst: memcpy
      Src: /src/gnutls/lib/hello_ext_lib.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ps
    - epriv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: _gnutls_hello_ext_default_unpack
    functionSourceFile: /src/gnutls/lib/hello_ext_lib.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_write_uint16
    - _gnutls_buffer_pop_datum_prefix16
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hello_ext_default_unpack(gnutls_buffer_st *ps,\n\t\t\t\t
      \    gnutls_ext_priv_data_t *epriv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: _gnutls_global_init_skip
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_global_init_skip(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: _gnutls_global_init_skip
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_global_init_skip(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/lib/global.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: default_log_func
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void default_log_func(int level, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log_func
    argTypes:
    - gnutls_log_func
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: gnutls_global_set_log_function
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 471
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_global_set_log_function(gnutls_log_func log_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log_func
    argTypes:
    - gnutls_audit_log_func
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: gnutls_global_set_audit_log_function
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_global_set_audit_log_function(gnutls_audit_log_func log_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/global.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gettime_from_time
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - gnutls_time
    linkageType: ''
    returnType: void
    signature: void gettime_from_time(struct timespec *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_global_set_gettime_function
      Src: /src/gnutls/lib/global.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - time_func
    argTypes:
    - gnutls_time_func
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: gnutls_global_set_time_function
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 56
    functionsReached:
    - _gnutls_global_set_gettime_function
    linkageType: ''
    returnType: void
    signature: void gnutls_global_set_time_function(gnutls_time_func time_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: gnutls_global_set_log_level
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 470
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_global_set_log_level(int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - alloc_func
    - secure_alloc_func
    - is_secure_func
    - realloc_func
    - free_func
    argTypes:
    - gnutls_alloc_function
    - gnutls_alloc_function
    - gnutls_is_secure_function
    - gnutls_realloc_function
    - gnutls_free_function
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: gnutls_global_set_mem_functions
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: void
    signature: "void gnutls_global_set_mem_functions(gnutls_alloc_function alloc_func,\n\t\t\t\t
      \    gnutls_alloc_function secure_alloc_func,\n\t\t\t\t     gnutls_is_secure_function
      is_secure_func,\n\t\t\t\t     gnutls_realloc_function realloc_func,\n\t\t\t\t
      \    gnutls_free_function free_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_global_init
      Src: /src/gnutls/lib/global.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: gnutls_global_init
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 52
    functionsReached:
    - _gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int gnutls_global_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/global.c:245,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/global.c:247,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:257,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/global.c:259,1
    - Dst: atoi
      Src: /src/gnutls/lib/global.c:261,1
    - Dst: gnutls_global_set_log_level
      Src: /src/gnutls/lib/global.c:262,1
    - Dst: gnutls_global_set_log_function
      Src: /src/gnutls/lib/global.c:264,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:265,1
    - Dst: bindtextdomain
      Src: /src/gnutls/lib/global.c:269,1
    - Dst: gnutls_crypto_init
      Src: /src/gnutls/lib/global.c:272,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:274,1
    - Dst: _gnutls_system_key_init
      Src: /src/gnutls/lib/global.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:281,1
    - Dst: asn1_check_version
      Src: /src/gnutls/lib/global.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:287,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:288,1
    - Dst: asn1_check_version
      Src: /src/gnutls/lib/global.c:289,1
    - Dst: asn1_array2tree
      Src: /src/gnutls/lib/global.c:296,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:298,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/global.c:299,1
    - Dst: asn1_array2tree
      Src: /src/gnutls/lib/global.c:303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:305,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/global.c:306,1
    - Dst: _gnutls_rnd_preinit
      Src: /src/gnutls/lib/global.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:313,1
    - Dst: _gnutls_hello_ext_init
      Src: /src/gnutls/lib/global.c:318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:320,1
    - Dst: gnutls_system_global_init
      Src: /src/gnutls/lib/global.c:324,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:326,1
    - Dst: _gnutls_register_fork_handler
      Src: /src/gnutls/lib/global.c:331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:333,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/global.c:339,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:345,1
    - Dst: _gnutls_priority_update_fips
      Src: /src/gnutls/lib/global.c:346,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:350,1
    - Dst: _gnutls_fips_perform_self_checks1
      Src: /src/gnutls/lib/global.c:351,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:353,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/global.c:354,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:357,1
    - Dst: _gnutls_register_accel_crypto
      Src: /src/gnutls/lib/global.c:364,1
    - Dst: _gnutls_cryptodev_init
      Src: /src/gnutls/lib/global.c:365,1
    - Dst: _gnutls_afalg_init
      Src: /src/gnutls/lib/global.c:366,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:373,1
    - Dst: _gnutls_fips_perform_self_checks2
      Src: /src/gnutls/lib/global.c:374,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:376,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/global.c:377,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:380,1
    - Dst: _gnutls_fips_mode_reset_zombie
      Src: /src/gnutls/lib/global.c:384,1
    - Dst: _gnutls_prepare_to_load_system_priorities
      Src: /src/gnutls/lib/global.c:387,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:388,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/global.c:394,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 123
    argCount: 1
    argNames:
    - constructor
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 397
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 397
    functionName: _gnutls_global_init
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 1
    functionsReached:
    - _gnutls_rnd_preinit
    - gnutls_static_mutex_lock
    - _gnutls_fips_perform_self_checks2
    - _gnutls_fips_perform_self_checks1
    - bindtextdomain
    - _gnutls_system_key_init
    - gnutls_assert_val
    - gnutls_global_set_log_function
    - _gnutls_priority_update_fips
    - _gnutls_asn2err
    - _gnutls_register_accel_crypto
    - _gnutls_fips_mode_reset_zombie
    - _gnutls_debug_log
    - _gnutls_cryptodev_init
    - _gnutls_fips_mode_enabled
    - gnutls_static_mutex_unlock
    - _gnutls_hello_ext_init
    - atoi
    - secure_getenv
    - asn1_check_version
    - _gnutls_audit_log
    - gnutls_system_global_init
    - gnutls_crypto_init
    - gnutls_global_set_log_level
    - _gnutls_switch_lib_state
    - _gnutls_prepare_to_load_system_priorities
    - _gnutls_register_fork_handler
    - _gnutls_afalg_init
    - asn1_array2tree
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_global_init(unsigned constructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/global.c:402,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/global.c:412,1
    - Dst: _gnutls_system_key_deinit
      Src: /src/gnutls/lib/global.c:416,1
    - Dst: gnutls_crypto_deinit
      Src: /src/gnutls/lib/global.c:417,1
    - Dst: _gnutls_rnd_deinit
      Src: /src/gnutls/lib/global.c:418,1
    - Dst: _gnutls_hello_ext_deinit
      Src: /src/gnutls/lib/global.c:419,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/global.c:420,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/global.c:421,1
    - Dst: _gnutls_crypto_deregister
      Src: /src/gnutls/lib/global.c:423,1
    - Dst: gnutls_system_global_deinit
      Src: /src/gnutls/lib/global.c:424,1
    - Dst: _gnutls_cryptodev_deinit
      Src: /src/gnutls/lib/global.c:425,1
    - Dst: _gnutls_supplemental_deinit
      Src: /src/gnutls/lib/global.c:427,1
    - Dst: _gnutls_unload_system_priorities
      Src: /src/gnutls/lib/global.c:428,1
    - Dst: gnutls_pkcs11_deinit
      Src: /src/gnutls/lib/global.c:436,1
    - Dst: _gnutls_tpm_global_deinit
      Src: /src/gnutls/lib/global.c:440,1
    - Dst: _gnutls_tpm2_deinit
      Src: /src/gnutls/lib/global.c:443,1
    - Dst: _gnutls_nss_keylog_deinit
      Src: /src/gnutls/lib/global.c:446,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/global.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - destructor
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 456
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 456
    functionName: _gnutls_global_deinit
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - _gnutls_system_key_deinit
    - _gnutls_cryptodev_deinit
    - _gnutls_unload_system_priorities
    - _gnutls_crypto_deregister
    - _gnutls_nss_keylog_deinit
    - gnutls_static_mutex_lock
    - _gnutls_hello_ext_deinit
    - _gnutls_supplemental_deinit
    - gnutls_pkcs11_deinit
    - _gnutls_tpm2_deinit
    - asn1_delete_structure
    - gnutls_static_mutex_unlock
    - gnutls_crypto_deinit
    - _gnutls_tpm_global_deinit
    - _gnutls_rnd_deinit
    - gnutls_assert
    - gnutls_system_global_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_global_deinit(unsigned destructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_global_deinit
      Src: /src/gnutls/lib/global.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: gnutls_global_deinit
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 534
    functionsReached:
    - _gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_global_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strverscmp
      Src: /src/gnutls/lib/global.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: gnutls_check_version
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 14
    functionsReached:
    - strverscmp
    linkageType: ''
    returnType: char
    signature: char *gnutls_check_version(const char *req_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_global_init_skip
      Src: /src/gnutls/lib/global.c:503,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/global.c:506,1
    - Dst: atoi
      Src: /src/gnutls/lib/global.c:508,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/global.c:513,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:515,1
    - Dst: atoi
      Src: /src/gnutls/lib/global.c:517,1
    - Dst: _gnutls_global_init
      Src: /src/gnutls/lib/global.c:522,1
    - Dst: fprintf
      Src: /src/gnutls/lib/global.c:524,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/global.c:525,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/global.c:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 498
    functionDepth: 6
    functionLinenumber: 498
    functionLinenumberEnd: 528
    functionName: _CONSTRUCTOR::lib_init
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - _gnutls_global_init_skip
    - _gnutls_global_init
    - _gnutls_switch_lib_state
    - atoi
    - secure_getenv
    - _gnutls_debug_log
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _CONSTRUCTOR lib_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_global_init_skip
      Src: /src/gnutls/lib/global.c:535,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/global.c:538,1
    - Dst: atoi
      Src: /src/gnutls/lib/global.c:540,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/global.c:545,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/global.c:547,1
    - Dst: atoi
      Src: /src/gnutls/lib/global.c:549,1
    - Dst: _gnutls_global_deinit
      Src: /src/gnutls/lib/global.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: _DESTRUCTOR::lib_deinit
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 0
    functionsReached:
    - _gnutls_global_init_skip
    - _gnutls_global_deinit
    - atoi
    - secure_getenv
    - _gnutls_debug_log
    linkageType: ''
    returnType: void
    signature: void _DESTRUCTOR lib_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: gnutls_get_library_config
    functionSourceFile: /src/gnutls/lib/global.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_library_config_st
    signature: gnutls_library_config_st *gnutls_get_library_config(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:45,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:46,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/stek.c:48,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/stek.c:48,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:49,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/stek.c:51,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/stek.c:53,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:54,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/stek.c:55,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:56,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/stek.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - session
    - t
    - secret
    - out
    argTypes:
    - gnutls_session_t
    - uint64_t
    - gnutls_datum_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: totp_sha3
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - hash_to_entry
    - _gnutls_write_uint64
    - _gnutls_hash
    - _gnutls_hash_init
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int totp_sha3(gnutls_session_t session, uint64_t t,\n\t\t     const
      gnutls_datum_t *secret,\n\t\t     uint8_t out[TICKET_MASTER_KEY_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - t
    argTypes:
    - gnutls_session_t
    - time_t
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: T
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 262
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t T(gnutls_session_t session, time_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/stek.c:79,1
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:80,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:81,1
    - Dst: T
      Src: /src/gnutls/lib/stek.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: totp_next
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - T
    - gnutls_time
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int64_t
    signature: int64_t totp_next(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: totp_previous
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int64_t
    signature: int64_t totp_previous(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_t::key::totp::cb
      Src: /src/gnutls/lib/stek.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - session
    - key
    - t
    argTypes:
    - gnutls_session_t
    - uint8_t[]
    - uint64_t
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: call_rotation_callback
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - gnutls_session_t::key::totp::cb
    linkageType: ''
    returnType: void
    signature: "void call_rotation_callback(gnutls_session_t session,\n\t\t\t\t   uint8_t
      key[TICKET_MASTER_KEY_SIZE],\n\t\t\t\t   uint64_t t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: totp_next
      Src: /src/gnutls/lib/stek.c:132,1
    - Dst: totp_sha3
      Src: /src/gnutls/lib/stek.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/stek.c:139,1
    - Dst: call_rotation_callback
      Src: /src/gnutls/lib/stek.c:144,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/stek.c:146,1
    - Dst: memcpy
      Src: /src/gnutls/lib/stek.c:148,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 156
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 156
    functionName: rotate
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 3
    functionsReached:
    - totp_sha3
    - call_rotation_callback
    - _gnutls_memory_mark_defined
    - totp_next
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int rotate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: totp_previous
      Src: /src/gnutls/lib/stek.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:167,1
    - Dst: totp_sha3
      Src: /src/gnutls/lib/stek.c:172,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - session
    - key
    argTypes:
    - gnutls_session_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: rotate_back_and_peek
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - totp_sha3
    - gnutls_assert_val
    - totp_previous
    linkageType: ''
    returnType: int
    signature: "int rotate_back_and_peek(gnutls_session_t session,\n\t\t\t\tuint8_t
      key[TICKET_MASTER_KEY_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:206,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/stek.c:207,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:212,1
    - Dst: rotate
      Src: /src/gnutls/lib/stek.c:215,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - session
    - key_name
    - mac_key
    - enc_key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: _gnutls_get_session_ticket_encryption_key
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - rotate
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_session_ticket_encryption_key(gnutls_session_t session,\n\t\t\t\t\t
      \     gnutls_datum_t *key_name,\n\t\t\t\t\t      gnutls_datum_t *mac_key,\n\t\t\t\t\t
      \     gnutls_datum_t *enc_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:262,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:267,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:270,1
    - Dst: rotate
      Src: /src/gnutls/lib/stek.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:274,1
    - Dst: memcmp
      Src: /src/gnutls/lib/stek.c:280,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/stek.c:291,1
    - Dst: rotate_back_and_peek
      Src: /src/gnutls/lib/stek.c:293,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/stek.c:295,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:297,1
    - Dst: memcmp
      Src: /src/gnutls/lib/stek.c:300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - session
    - ticket_data
    - key_name
    - mac_key
    - enc_key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 324
    functionName: _gnutls_get_session_ticket_decryption_key
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - rotate_back_and_peek
    - rotate
    - _gnutls_memory_mark_defined
    - memcmp
    - _gnutls_memory_mark_undefined
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_session_ticket_decryption_key(gnutls_session_t session,\n\t\t\t\t\t
      \     const gnutls_datum_t *ticket_data,\n\t\t\t\t\t      gnutls_datum_t *key_name,\n\t\t\t\t\t
      \     gnutls_datum_t *mac_key,\n\t\t\t\t\t      gnutls_datum_t *enc_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:341,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/stek.c:342,1
    - Dst: unlikely
      Src: /src/gnutls/lib/stek.c:344,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/stek.c:347,1
    - Dst: memcpy
      Src: /src/gnutls/lib/stek.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - session
    - key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: _gnutls_initialize_session_ticket_key_rotation
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - unlikely
    - _gnutls_memory_mark_defined
    linkageType: ''
    returnType: int
    signature: "int _gnutls_initialize_session_ticket_key_rotation(gnutls_session_t
      session,\n\t\t\t\t\t\t   const gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - session
    - cb
    argTypes:
    - gnutls_session_t
    - gnutls_stek_rotation_callback_t
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: _gnutls_set_session_ticket_key_rotation_callback
    functionSourceFile: /src/gnutls/lib/stek.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_set_session_ticket_key_rotation_callback(\n\tgnutls_session_t
      session, gnutls_stek_rotation_callback_t cb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/gnutls/lib/str.c:46,1
    - Dst: strncat
      Src: /src/gnutls/lib/str.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - dest_tot_size
    - src
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: _gnutls_str_cat
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - strncat
    - strcat
    linkageType: ''
    returnType: void
    signature: void _gnutls_str_cat(char *dest, size_t dest_tot_size, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnutls/lib/str.c:60,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - dest_tot_size
    - src
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: _gnutls_str_cpy
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 3
    functionsReached:
    - memcpy
    - strcpy
    linkageType: ''
    returnType: void
    signature: void _gnutls_str_cpy(char *dest, size_t dest_tot_size, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: _gnutls_buffer_init
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_buffer_init(gnutls_buffer_st *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: _gnutls_buffer_clear
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 20
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_buffer_clear(gnutls_buffer_st *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/str.c:107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:108,1
    - Dst: unlikely
      Src: /src/gnutls/lib/str.c:113,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/str.c:114,1
    - Dst: MAX
      Src: /src/gnutls/lib/str.c:114,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:116,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/str.c:119,1
    - Dst: assert
      Src: /src/gnutls/lib/str.c:123,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - dest
    - data
    - data_size
    argTypes:
    - gnutls_buffer_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: gnutls_buffer_append_data
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 25
    functionsReached:
    - assert
    - MAX
    - unlikely
    - memcpy
    - _gnutls_buffer_resize
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_buffer_append_data(gnutls_buffer_t dest, const void *data,\n\t\t\t
      \     size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/str.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:144,1
    - Dst: MEMSUB
      Src: /src/gnutls/lib/str.c:146,1
    - Dst: gnutls_realloc_fast
      Src: /src/gnutls/lib/str.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - new_size
    argTypes:
    - gnutls_buffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: _gnutls_buffer_resize
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - MEMSUB
    - unlikely
    - gnutls_realloc_fast
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_resize(gnutls_buffer_st *dest, size_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/str.c:162,1
    - Dst: assert
      Src: /src/gnutls/lib/str.c:163,1
    - Dst: memmove
      Src: /src/gnutls/lib/str.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dest
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: align_allocd_with_data
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: void align_allocd_with_data(gnutls_buffer_st *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/str.c:171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:172,1
    - Dst: align_allocd_with_data
      Src: /src/gnutls/lib/str.c:177,1
    - Dst: gnutls_realloc_fast
      Src: /src/gnutls/lib/str.c:186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:188,1
    - Dst: align_allocd_with_data
      Src: /src/gnutls/lib/str.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dest
    - new_size
    argTypes:
    - gnutls_buffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: _gnutls_buffer_resize
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - align_allocd_with_data
    - gnutls_assert
    - unlikely
    - gnutls_realloc_fast
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_resize(gnutls_buffer_st *dest, size_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:208,1
    - Dst: strlen
      Src: /src/gnutls/lib/str.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - gnutls_buffer_st*
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: _gnutls_buffer_append_str
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 3
    functionsReached:
    - _gnutls_buffer_append_data
    - strlen
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_append_str(gnutls_buffer_st *dest, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - str
    - data
    - req_size
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: _gnutls_buffer_pop_datum
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_buffer_pop_datum(gnutls_buffer_st *str, gnutls_datum_t
      *data,\n\t\t\t      size_t req_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:261,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:263,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str.c:269,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:271,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str.c:275,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/str.c:277,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/str.c:281,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/str.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - str
    - data
    - is_str
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 292
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 292
    functionName: _gnutls_buffer_to_datum
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 3
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_clear
    - gnutls_malloc
    - _gnutls_buffer_init
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_to_datum(gnutls_buffer_st *str, gnutls_datum_t
      *data,\n\t\t\t    unsigned is_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/lib/str.c:301,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - str
    - data
    - req_size
    argTypes:
    - gnutls_buffer_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: _gnutls_buffer_pop_data
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _gnutls_buffer_pop_datum
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_pop_data(gnutls_buffer_st *str, void *data, size_t
      req_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/lib/str.c:317,1
    - Dst: vasprintf
      Src: /src/gnutls/lib/str.c:318,1
    - Dst: va_end
      Src: /src/gnutls/lib/str.c:319,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/str.c:324,1
    - Dst: free
      Src: /src/gnutls/lib/str.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - fmt
    argTypes:
    - gnutls_buffer_st*
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: _gnutls_buffer_append_printf
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 1
    functionsReached:
    - free
    - va_start
    - va_end
    - _gnutls_buffer_append_str
    - vasprintf
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_append_printf(gnutls_buffer_st *dest, const char
      *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/str.c:337,1
    - Dst: assert
      Src: /src/gnutls/lib/str.c:342,1
    - Dst: memmove
      Src: /src/gnutls/lib/str.c:344,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - dest
    - pos
    - str
    - str_size
    argTypes:
    - gnutls_buffer_st*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: _gnutls_buffer_insert_data
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - _gnutls_buffer_resize
    - memmove
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_insert_data(gnutls_buffer_st *dest, int pos,\n\t\t\t\t
      \     const void *str, size_t str_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnutls/lib/str.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - pos
    - str_size
    argTypes:
    - gnutls_buffer_st*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: _gnutls_buffer_delete_data
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void _gnutls_buffer_delete_data(gnutls_buffer_st *dest, int pos,\n\t\t\t\t
      \      size_t str_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:371,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:373,1
    - Dst: strchr
      Src: /src/gnutls/lib/str.c:377,1
    - Dst: c_isgraph
      Src: /src/gnutls/lib/str.c:378,1
    - Dst: snprintf
      Src: /src/gnutls/lib/str.c:379,1
    - Dst: _gnutls_buffer_delete_data
      Src: /src/gnutls/lib/str.c:382,1
    - Dst: _gnutls_buffer_insert_data
      Src: /src/gnutls/lib/str.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - dest
    - data
    - data_size
    - invalid_chars
    argTypes:
    - gnutls_buffer_st*
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 397
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 397
    functionName: _gnutls_buffer_append_escape
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - snprintf
    - strchr
    - _gnutls_buffer_insert_data
    - _gnutls_buffer_delete_data
    - c_isgraph
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_append_escape(gnutls_buffer_st *dest, const void
      *data,\n\t\t\t\t size_t data_size, const char *invalid_chars)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_delete_data
      Src: /src/gnutls/lib/str.c:409,1
    - Dst: c_isxdigit
      Src: /src/gnutls/lib/str.c:411,1
    - Dst: c_isxdigit
      Src: /src/gnutls/lib/str.c:412,1
    - Dst: hex_decode
      Src: /src/gnutls/lib/str.c:415,1
    - Dst: _gnutls_buffer_delete_data
      Src: /src/gnutls/lib/str.c:418,1
    - Dst: _gnutls_buffer_insert_data
      Src: /src/gnutls/lib/str.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - dest
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 428
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 428
    functionName: _gnutls_buffer_unescape
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_delete_data
    - c_isxdigit
    - hex_decode
    - _gnutls_buffer_insert_data
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_unescape(gnutls_buffer_st *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:449,1
    - Dst: sprintf
      Src: /src/gnutls/lib/str.c:454,1
    - Dst: sprintf
      Src: /src/gnutls/lib/str.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - _old
    - oldlen
    - buffer
    - buffer_size
    - separator
    argTypes:
    - void*
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 465
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 465
    functionName: _gnutls_bin2hex
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 7
    functionsReached:
    - sprintf
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: "char *_gnutls_bin2hex(const void *_old, size_t oldlen, char *buffer,\n\t\t
      \     size_t buffer_size, const char *separator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hex2bin
      Src: /src/gnutls/lib/str.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hex_data
    - hex_size
    - bin_data
    - bin_size
    argTypes:
    - char*
    - size_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: gnutls_hex2bin
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 6
    functionsReached:
    - _gnutls_hex2bin
    linkageType: ''
    returnType: int
    signature: "int gnutls_hex2bin(const char *hex_data, size_t hex_size, void *bin_data,\n\t\t
      \  size_t *bin_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/gnutls/lib/str.c:499,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:505,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:510,1
    - Dst: strtoul
      Src: /src/gnutls/lib/str.c:516,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - hex_data
    - hex_size
    - bin_data
    - bin_size
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 527
    functionName: _gnutls_hex2bin
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - isxdigit
    - gnutls_assert
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hex2bin(const char *hex_data, size_t hex_size, uint8_t
      *bin_data,\n\t\t    size_t *bin_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str.c:544,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:546,1
    - Dst: hex_decode
      Src: /src/gnutls/lib/str.c:551,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:554,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - hex_data
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 560
    functionName: gnutls_hex_decode2
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    - hex_decode
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int gnutls_hex_decode2(const gnutls_datum_t *hex_data, gnutls_datum_t
      *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:584,1
    - Dst: hex_decode
      Src: /src/gnutls/lib/str.c:588,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - hex_data
    - result
    - result_size
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 595
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 595
    functionName: gnutls_hex_decode
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 4
    functionsReached:
    - gnutls_assert_val
    - hex_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_hex_decode(const gnutls_datum_t *hex_data, void *result,\n\t\t
      \     size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:618,1
    - Dst: hex_encode
      Src: /src/gnutls/lib/str.c:622,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - result
    - result_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 630
    functionName: gnutls_hex_encode
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 10
    functionsReached:
    - hex_encode
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_hex_encode(const gnutls_datum_t *data, char *result,\n\t\t
      \     size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str.c:649,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:651,1
    - Dst: hex_encode
      Src: /src/gnutls/lib/str.c:655,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str.c:658,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 665
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 665
    functionName: gnutls_hex_encode2
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 9
    functionsReached:
    - hex_encode
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_hex_encode2(const gnutls_datum_t *data, gnutls_datum_t *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/str.c:670,1
    - Dst: memcmp
      Src: /src/gnutls/lib/str.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - certname
    - certnamesize
    - hostname
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: hostname_compare_raw
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int hostname_compare_raw(const char *certname, size_t certnamesize,\n\t\t\t\tconst
      char *hostname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_toupper
      Src: /src/gnutls/lib/str.c:680,1
    - Dst: c_toupper
      Src: /src/gnutls/lib/str.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - certname
    - certnamesize
    - hostname
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 689
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 689
    functionName: hostname_compare_ascii
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - c_toupper
    linkageType: ''
    returnType: int
    signature: "int hostname_compare_ascii(const char *certname, size_t certnamesize,\n\t\t\t\t
      \ const char *hostname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isprint
      Src: /src/gnutls/lib/str.c:708,1
    - Dst: hostname_compare_raw
      Src: /src/gnutls/lib/str.c:709,1
    - Dst: strrchr
      Src: /src/gnutls/lib/str.c:719,1
    - Dst: strchr
      Src: /src/gnutls/lib/str.c:720,1
    - Dst: hostname_compare_ascii
      Src: /src/gnutls/lib/str.c:728,1
    - Dst: hostname_compare_ascii
      Src: /src/gnutls/lib/str.c:741,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - certname
    - certnamesize
    - hostname
    - vflags
    argTypes:
    - char*
    - size_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 743
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 743
    functionName: _gnutls_hostname_compare
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - strchr
    - hostname_compare_raw
    - strrchr
    - hostname_compare_ascii
    - c_isprint
    linkageType: ''
    returnType: int
    signature: "int _gnutls_hostname_compare(const char *certname, size_t certnamesize,\n\t\t\t
      \    const char *hostname, unsigned vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/str.c:751,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/str.c:754,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/str.c:757,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:763,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - pfx_size
    - data_size
    argTypes:
    - gnutls_buffer_st*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 766
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 766
    functionName: _gnutls_buffer_append_prefix
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_write_uint16
    - _gnutls_write_uint32
    - _gnutls_write_uint24
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_append_prefix(gnutls_buffer_st *buf, int pfx_size,\n\t\t\t\t
      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:771,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - data
    - check
    argTypes:
    - gnutls_buffer_st*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 786
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 786
    functionName: _gnutls_buffer_pop_prefix8
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_buffer_pop_prefix8(gnutls_buffer_st *buf, uint8_t *data,
      int check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:794,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/str.c:798,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - data_size
    - check
    argTypes:
    - gnutls_buffer_st*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 810
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 810
    functionName: _gnutls_buffer_pop_prefix16
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_prefix16(gnutls_buffer_st *buf, size_t *data_size,\n\t\t\t\tint
      check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:818,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/str.c:822,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - data_size
    - check
    argTypes:
    - gnutls_buffer_st*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 834
    functionName: _gnutls_buffer_pop_prefix24
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint24
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_prefix24(gnutls_buffer_st *buf, size_t *data_size,\n\t\t\t\tint
      check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:845,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/str.c:849,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - data_size
    - check
    argTypes:
    - gnutls_buffer_st*
    - size_t*
    - int
    constantsTouched: []
    func_position:
      end: 861
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 861
    functionName: _gnutls_buffer_pop_prefix32
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_prefix32(gnutls_buffer_st *buf, size_t *data_size,\n\t\t\t\tint
      check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_pop_prefix32
      Src: /src/gnutls/lib/str.c:869,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:871,1
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/lib/str.c:877,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 888
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 888
    functionName: _gnutls_buffer_pop_datum_prefix32
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_pop_datum
    - gnutls_assert
    - _gnutls_buffer_pop_prefix32
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_datum_prefix32(gnutls_buffer_st *buf,\n\t\t\t\t
      \     gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_pop_prefix24
      Src: /src/gnutls/lib/str.c:896,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:898,1
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/lib/str.c:904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 915
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 915
    functionName: _gnutls_buffer_pop_datum_prefix24
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_pop_datum
    - gnutls_assert
    - _gnutls_buffer_pop_prefix24
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_datum_prefix24(gnutls_buffer_st *buf,\n\t\t\t\t
      \     gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:923,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/str.c:927,1
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/lib/str.c:934,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 945
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 945
    functionName: _gnutls_buffer_pop_datum_prefix16
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 1
    functionsReached:
    - _gnutls_read_uint16
    - gnutls_assert
    - _gnutls_buffer_pop_datum
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_datum_prefix16(gnutls_buffer_st *buf,\n\t\t\t\t
      \     gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:953,1
    - Dst: _gnutls_buffer_pop_datum
      Src: /src/gnutls/lib/str.c:964,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - data
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 975
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 975
    functionName: _gnutls_buffer_pop_datum_prefix8
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_buffer_pop_datum
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_pop_datum_prefix8(gnutls_buffer_st *buf,\n\t\t\t\t
      \    gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/str.c:982,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:984,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:987,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - pfx_size
    - data
    - data_size
    argTypes:
    - gnutls_buffer_st*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 993
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 993
    functionName: _gnutls_buffer_append_data_prefix
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_append_data_prefix(gnutls_buffer_st *buf, int pfx_size,\n\t\t\t\t
      \     const void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/str.c:1002,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/str.c:1004,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:1007,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/str.c:1009,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/str.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - pfx_size
    - mpi
    - lz
    argTypes:
    - gnutls_buffer_st*
    - int
    - bigint_t
    - int
    constantsTouched: []
    func_position:
      end: 1015
      start: 995
    functionDepth: 4
    functionLinenumber: 995
    functionLinenumberEnd: 1015
    functionName: _gnutls_buffer_append_mpi
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_free_datum
    - _gnutls_mpi_dprint_lz
    - _gnutls_mpi_dprint
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_append_mpi(gnutls_buffer_st *buf, int pfx_size,
      bigint_t mpi,\n\t\t\t      int lz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/str.c:1025,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:1027,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:1030,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:1036,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str.c:1038,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/str.c:1044,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/str.c:1047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - mpi
    - size
    argTypes:
    - gnutls_buffer_st*
    - bigint_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1049
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1049
    functionName: _gnutls_buffer_append_fixed_mpi
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_mpi_dprint
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_append_fixed_mpi(gnutls_buffer_st *buf, bigint_t
      mpi,\n\t\t\t\t    unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/str.c:1058,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - str
    - _data
    - len
    argTypes:
    - gnutls_buffer_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1064
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1064
    functionName: _gnutls_buffer_hexprint
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_printf
    - _gnutls_buffer_append_str
    linkageType: ''
    returnType: void
    signature: "void _gnutls_buffer_hexprint(gnutls_buffer_st *str, const void *_data,\n\t\t\t
      \    size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/str.c:1073,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str.c:1075,1
    - Dst: base64_encode_raw
      Src: /src/gnutls/lib/str.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - str
    - _data
    - len
    argTypes:
    - gnutls_buffer_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1083
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1083
    functionName: _gnutls_buffer_base64print
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - base64_encode_raw
    - _gnutls_buffer_resize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_base64print(gnutls_buffer_st *str, const void *_data,\n\t\t\t
      \      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/str.c:1092,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1095,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/str.c:1098,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1100,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1103,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/str.c:1107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - str
    - _data
    - len
    - spc
    argTypes:
    - gnutls_buffer_st*
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1108
    functionName: _gnutls_buffer_hexdump
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_printf
    - _gnutls_buffer_append_str
    linkageType: ''
    returnType: void
    signature: "void _gnutls_buffer_hexdump(gnutls_buffer_st *str, const void *_data,\n\t\t\t
      \   size_t len, const char *spc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isprint
      Src: /src/gnutls/lib/str.c:1116,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1117,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/str.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - str
    - data
    - len
    argTypes:
    - gnutls_buffer_st*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1121
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1121
    functionName: _gnutls_buffer_asciiprint
    functionSourceFile: /src/gnutls/lib/str.c
    functionUses: 0
    functionsReached:
    - c_isprint
    - _gnutls_buffer_append_printf
    linkageType: ''
    returnType: void
    signature: "void _gnutls_buffer_asciiprint(gnutls_buffer_st *str, const char *data,\n\t\t\t
      \      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/psk.c:48,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/psk.c:49,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/psk.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_psk_client_credentials_t
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: gnutls_psk_free_client_credentials
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 18
    functionsReached:
    - _gnutls_free_datum
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_psk_free_client_credentials(gnutls_psk_client_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/psk.c:64,1
    - Dst: _gnutls_mac_to_entry
      Src: /src/gnutls/lib/psk.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_psk_client_credentials_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: gnutls_psk_allocate_client_credentials
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 19
    functionsReached:
    - gnutls_calloc
    - _gnutls_mac_to_entry
    linkageType: ''
    returnType: int
    signature: int gnutls_psk_allocate_client_credentials(gnutls_psk_client_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/psk.c:100,1
    - Dst: strlen
      Src: /src/gnutls/lib/psk.c:103,1
    - Dst: gnutls_psk_set_client_credentials2
      Src: /src/gnutls/lib/psk.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - res
    - username
    - key
    - flags
    argTypes:
    - gnutls_psk_client_credentials_t
    - char*
    - gnutls_datum_t*
    - gnutls_psk_key_flags
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: gnutls_psk_set_client_credentials
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 15
    functionsReached:
    - strlen
    - gnutls_assert_val
    - gnutls_psk_set_client_credentials2
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_set_client_credentials(gnutls_psk_client_credentials_t
      res,\n\t\t\t\t      const char *username,\n\t\t\t\t      const gnutls_datum_t
      *key,\n\t\t\t\t      gnutls_psk_key_flags flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:131,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/psk.c:135,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/psk.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:141,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/psk.c:148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:150,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/lib/psk.c:155,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:158,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:163,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/psk.c:172,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/psk.c:173,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - res
    - username
    - key
    - flags
    argTypes:
    - gnutls_psk_client_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags
    constantsTouched: []
    func_position:
      end: 176
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 176
    functionName: gnutls_psk_set_client_credentials2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 3
    functionsReached:
    - gnutls_hex_decode
    - _gnutls_free_datum
    - gnutls_malloc
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_set_client_credentials2(gnutls_psk_client_credentials_t
      res,\n\t\t\t\t       const gnutls_datum_t *username,\n\t\t\t\t       const gnutls_datum_t
      *key,\n\t\t\t\t       gnutls_psk_key_flags flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/psk.c:187,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/psk.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/psk.c:191,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/psk.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_psk_server_credentials_t
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: gnutls_psk_free_server_credentials
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 18
    functionsReached:
    - gnutls_free
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_psk_free_server_credentials(gnutls_psk_server_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/psk.c:206,1
    - Dst: _gnutls_mac_to_entry
      Src: /src/gnutls/lib/psk.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_psk_server_credentials_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: gnutls_psk_allocate_server_credentials
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 18
    functionsReached:
    - gnutls_calloc
    - _gnutls_mac_to_entry
    linkageType: ''
    returnType: int
    signature: int gnutls_psk_allocate_server_credentials(gnutls_psk_server_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:237,1
    - Dst: _gnutls_file_exists
      Src: /src/gnutls/lib/psk.c:242,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:243,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/psk.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - res
    - password_file
    argTypes:
    - gnutls_psk_server_credentials_t
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: gnutls_psk_set_server_credentials_file
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 2
    functionsReached:
    - gnutls_strdup
    - gnutls_assert
    - _gnutls_file_exists
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_set_server_credentials_file(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t\t   const char *password_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/psk.c:274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/psk.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - res
    - hint
    argTypes:
    - gnutls_psk_server_credentials_t
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: gnutls_psk_set_server_credentials_hint
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 6
    functionsReached:
    - gnutls_strdup
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_set_server_credentials_hint(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t\t   const char *hint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/psk.c:288,1
    - Dst: unlikely
      Src: /src/gnutls/lib/psk.c:290,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/psk.c:291,1
    - Dst: gnutls_psk_server_credentials_t::pwd_callback1
      Src: /src/gnutls/lib/psk.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: call_server_callback1
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - gnutls_psk_server_credentials_t::pwd_callback1
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int call_server_callback1(gnutls_session_t session,\n\t\t\t\t const
      gnutls_datum_t *username,\n\t\t\t\t gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/psk.c:304,1
    - Dst: unlikely
      Src: /src/gnutls/lib/psk.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/psk.c:307,1
    - Dst: gnutls_psk_server_credentials_t::pwd_callback2
      Src: /src/gnutls/lib/psk.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - session
    - username
    - key
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: call_server_callback2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_psk_server_credentials_t::pwd_callback2
    - unlikely
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int call_server_callback2(gnutls_session_t session,\n\t\t\t\t const
      gnutls_datum_t *username,\n\t\t\t\t gnutls_datum_t *key,\n\t\t\t\t gnutls_psk_key_flags
      *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_psk_server_credentials_function*
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: gnutls_psk_set_server_credentials_function
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_server_credentials_function(\n\tgnutls_psk_server_credentials_t
      cred,\n\tgnutls_psk_server_credentials_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_psk_server_credentials_function2
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: gnutls_psk_set_server_credentials_function2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_server_credentials_function2(\n\tgnutls_psk_server_credentials_t
      cred,\n\tgnutls_psk_server_credentials_function2 func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_psk_server_credentials_function3
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: gnutls_psk_set_server_credentials_function3
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_server_credentials_function3(\n\tgnutls_psk_server_credentials_t
      cred,\n\tgnutls_psk_server_credentials_function3 func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/psk.c:421,1
    - Dst: unlikely
      Src: /src/gnutls/lib/psk.c:423,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/psk.c:424,1
    - Dst: gnutls_psk_client_credentials_t::get_function1
      Src: /src/gnutls/lib/psk.c:426,1
    - Dst: strlen
      Src: /src/gnutls/lib/psk.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: call_client_callback1
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached:
    - gnutls_psk_client_credentials_t::get_function1
    - strlen
    - unlikely
    - _gnutls_get_cred
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int call_client_callback1(gnutls_session_t session,\n\t\t\t\t gnutls_datum_t
      *username, gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/psk.c:442,1
    - Dst: unlikely
      Src: /src/gnutls/lib/psk.c:444,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/psk.c:445,1
    - Dst: gnutls_psk_client_credentials_t::get_function2
      Src: /src/gnutls/lib/psk.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - session
    - username
    - key
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: call_client_callback2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - gnutls_psk_client_credentials_t::get_function2
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int call_client_callback2(gnutls_session_t session,\n\t\t\t\t gnutls_datum_t
      *username, gnutls_datum_t *key,\n\t\t\t\t gnutls_psk_key_flags *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_client_credentials_t
    - gnutls_psk_client_credentials_function*
    constantsTouched: []
    func_position:
      end: 487
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 487
    functionName: gnutls_psk_set_client_credentials_function
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_client_credentials_function(\n\tgnutls_psk_client_credentials_t
      cred,\n\tgnutls_psk_client_credentials_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_client_credentials_t
    - gnutls_psk_client_credentials_function2*
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: gnutls_psk_set_client_credentials_function2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_client_credentials_function2(\n\tgnutls_psk_client_credentials_t
      cred,\n\tgnutls_psk_client_credentials_function2 *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_psk_client_credentials_t
    - gnutls_psk_client_credentials_function3*
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: gnutls_psk_set_client_credentials_function3
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_client_credentials_function3(\n\tgnutls_psk_client_credentials_t
      cred,\n\tgnutls_psk_client_credentials_function3 *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/psk.c:578,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/psk.c:580,1
    - Dst: memchr
      Src: /src/gnutls/lib/psk.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: gnutls_psk_server_get_username
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 7
    functionsReached:
    - memchr
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    linkageType: ''
    returnType: char
    signature: char *gnutls_psk_server_get_username(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/psk.c:611,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/psk.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - session
    - username
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 624
    functionName: gnutls_psk_server_get_username2
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 4
    functionsReached:
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_server_get_username2(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_datum_t *username)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/psk.c:645,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/psk.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: gnutls_psk_client_get_hint
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 5
    functionsReached:
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    linkageType: ''
    returnType: char
    signature: char *gnutls_psk_client_get_hint(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/psk.c:670,1
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/lib/psk.c:675,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/psk.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - res
    - dh_params
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 677
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 677
    functionName: gnutls_psk_set_server_dh_params
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 4
    functionsReached:
    - _gnutls_mpi_get_nbits
    - gnutls_pk_bits_to_sec_param
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_server_dh_params(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t     gnutls_dh_params_t dh_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - sec_param
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 704
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 704
    functionName: gnutls_psk_set_server_known_dh_params
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_set_server_known_dh_params(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t\t  gnutls_sec_param_t sec_param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - func
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: gnutls_psk_set_server_params_function
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_server_params_function(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t\t   gnutls_params_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - func
    argTypes:
    - gnutls_psk_server_credentials_t
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 744
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 744
    functionName: gnutls_psk_set_params_function
    functionSourceFile: /src/gnutls/lib/psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_psk_set_params_function(gnutls_psk_server_credentials_t
      res,\n\t\t\t\t    gnutls_params_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_init_secret2
      Src: /src/gnutls/lib/secrets.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - psk
    - psk_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: _tls13_init_secret
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 2
    functionsReached:
    - _tls13_init_secret2
    linkageType: ''
    returnType: int
    signature: "int _tls13_init_secret(gnutls_session_t session, const uint8_t *psk,\n\t\t
      \      size_t psk_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:49,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:50,1
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:55,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:56,1
    - Dst: memset
      Src: /src/gnutls/lib/secrets.c:58,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/secrets.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - prf
    - psk
    - psk_size
    - out
    argTypes:
    - mac_entry_st*
    - uint8_t*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: _tls13_init_secret2
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 1
    functionsReached:
    - gnutls_hmac_fast
    - gnutls_assert_val
    - unlikely
    - memset
    linkageType: ''
    returnType: int
    signature: "int _tls13_init_secret2(const mac_entry_st *prf, const uint8_t *psk,\n\t\t\tsize_t
      psk_size, void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hkdf_extract
      Src: /src/gnutls/lib/secrets.c:78,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/secrets.c:81,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/secrets.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - session
    - key
    - key_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: _tls13_update_secret
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "int _tls13_update_secret(gnutls_session_t session, const uint8_t *key,\n\t\t\t
      size_t key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:99,1
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:101,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/secrets.c:104,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:107,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/secrets.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - prf
    - label
    - label_size
    - tbh
    - tbh_size
    - secret
    - out
    argTypes:
    - mac_entry_st*
    - char*
    - unsigned
    - uint8_t*
    - size_t
    - uint8_t[]
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: _tls13_derive_secret2
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _tls13_expand_secret2
    - unlikely
    - gnutls_hash_fast
    linkageType: ''
    returnType: int
    signature: "int _tls13_derive_secret2(const mac_entry_st *prf, const char *label,\n\t\t\t
      \ unsigned label_size, const uint8_t *tbh,\n\t\t\t  size_t tbh_size, const uint8_t
      secret[MAX_HASH_SIZE],\n\t\t\t  void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:120,1
    - Dst: _tls13_derive_secret2
      Src: /src/gnutls/lib/secrets.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - session
    - label
    - label_size
    - tbh
    - tbh_size
    - secret
    - out
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned
    - uint8_t*
    - size_t
    - uint8_t[]
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: _tls13_derive_secret
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - _tls13_derive_secret2
    linkageType: ''
    returnType: int
    signature: "int _tls13_derive_secret(gnutls_session_t session, const char *label,\n\t\t\t
      unsigned label_size, const uint8_t *tbh,\n\t\t\t size_t tbh_size, const uint8_t
      secret[MAX_HASH_SIZE],\n\t\t\t void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:138,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:139,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/secrets.c:141,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/secrets.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/secrets.c:145,1
    - Dst: memcpy
      Src: /src/gnutls/lib/secrets.c:149,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/secrets.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/secrets.c:152,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/secrets.c:156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/secrets.c:158,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/secrets.c:163,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/secrets.c:163,1
    - Dst: _gnutls_hkdf_expand
      Src: /src/gnutls/lib/secrets.c:167,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/secrets.c:169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/secrets.c:170,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/secrets.c:173,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/secrets.c:177,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/secrets.c:179,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/secrets.c:181,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/secrets.c:183,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/secrets.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 8
    argNames:
    - prf
    - label
    - label_size
    - msg
    - msg_size
    - secret
    - out_size
    - out
    argTypes:
    - mac_entry_st*
    - char*
    - unsigned
    - uint8_t*
    - size_t
    - uint8_t[]
    - unsigned
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 191
    functionName: _tls13_expand_secret2
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_switch_fips_state
    - _gnutls_hkdf_expand
    - mac_to_entry
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_mac_get_algo_len
    - _gnutls_buffer_init
    - _gnutls_hard_log
    - unlikely
    - memcpy
    - _gnutls_bin2hex
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _tls13_expand_secret2(const mac_entry_st *prf, const char *label,\n\t\t\t
      \ unsigned label_size, const uint8_t *msg,\n\t\t\t  size_t msg_size, const uint8_t
      secret[MAX_HASH_SIZE],\n\t\t\t  unsigned out_size, void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/secrets.c:198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/secrets.c:199,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/secrets.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - session
    - label
    - label_size
    - msg
    - msg_size
    - secret
    - out_size
    - out
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned
    - uint8_t*
    - size_t
    - uint8_t[]
    - unsigned
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: _tls13_expand_secret
    functionSourceFile: /src/gnutls/lib/secrets.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _tls13_expand_secret2
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _tls13_expand_secret(gnutls_session_t session, const char *label,\n\t\t\t
      unsigned label_size, const uint8_t *msg,\n\t\t\t size_t msg_size, const uint8_t
      secret[MAX_HASH_SIZE],\n\t\t\t unsigned out_size, void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: _mbuffer_head_init
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mbuffer_head_init(mbuffer_head_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mbuffers.c:73,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/mbuffers.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: _mbuffer_head_clear
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 1
    functionsReached:
    - _mbuffer_head_init
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _mbuffer_head_clear(mbuffer_head_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - bufel
    argTypes:
    - mbuffer_head_st*
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: _mbuffer_enqueue
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mbuffer_enqueue(mbuffer_head_st *buf, mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - bufel
    argTypes:
    - mbuffer_head_st*
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: _mbuffer_dequeue
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_dequeue(mbuffer_head_st *buf, mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - bufel
    argTypes:
    - mbuffer_head_st*
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: _mbuffer_head_push_first
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mbuffer_head_push_first(mbuffer_head_st *buf, mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_dequeue
      Src: /src/gnutls/lib/mbuffers.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: _mbuffer_head_pop_first
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 2
    functionsReached:
    - _mbuffer_dequeue
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_head_pop_first(mbuffer_head_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - mbuffer_head_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: _mbuffer_head_get_first
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_head_get_first(mbuffer_head_st *buf, gnutls_datum_t
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cur
    - msg
    argTypes:
    - mbuffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: _mbuffer_head_get_next
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_head_get_next(mbuffer_st *cur, gnutls_datum_t
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_dequeue
      Src: /src/gnutls/lib/mbuffers.c:224,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mbuffers.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: remove_front
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_dequeue
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void remove_front(mbuffer_head_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:245,1
    - Dst: remove_front
      Src: /src/gnutls/lib/mbuffers.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - bytes
    argTypes:
    - mbuffer_head_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: _mbuffer_head_remove_bytes
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 5
    functionsReached:
    - gnutls_assert
    - remove_front
    linkageType: ''
    returnType: int
    signature: int _mbuffer_head_remove_bytes(mbuffer_head_st *buf, size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mbuffers.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:280,1
    - Dst: memset
      Src: /src/gnutls/lib/mbuffers.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - maximum_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: _mbuffer_alloc
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - gnutls_malloc
    - memset
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_alloc(size_t maximum_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/mbuffers.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bufel
    - newdata
    - newdata_size
    argTypes:
    - mbuffer_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: _mbuffer_append_data
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _mbuffer_append_data(mbuffer_st *bufel, void *newdata, size_t newdata_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/mbuffers.c:340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:342,1
    - Dst: memset
      Src: /src/gnutls/lib/mbuffers.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - maximum_size
    - align_pos
    argTypes:
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: _mbuffer_alloc_align16
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    - gnutls_malloc
    - memset
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_mbuffer_alloc_align16(size_t maximum_size, unsigned align_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bufel
    - align_pos
    argTypes:
    - mbuffer_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: is_aligned16
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned is_aligned16(mbuffer_st *bufel, unsigned align_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/mbuffers.c:391,1
    - Dst: is_aligned16
      Src: /src/gnutls/lib/mbuffers.c:392,1
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/mbuffers.c:395,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:397,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/mbuffers.c:401,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/mbuffers.c:403,1
    - Dst: _mbuffer_head_get_next
      Src: /src/gnutls/lib/mbuffers.c:404,1
    - Dst: memcpy
      Src: /src/gnutls/lib/mbuffers.c:405,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/mbuffers.c:410,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/mbuffers.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - align_pos
    argTypes:
    - mbuffer_head_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 414
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 414
    functionName: _mbuffer_linearize_align16
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 1
    functionsReached:
    - _mbuffer_enqueue
    - _mbuffer_head_get_next
    - is_aligned16
    - _mbuffer_head_get_first
    - memcpy
    - _mbuffer_head_clear
    - gnutls_assert
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: int
    signature: int _mbuffer_linearize_align16(mbuffer_head_st *buf, unsigned align_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_alloc
      Src: /src/gnutls/lib/mbuffers.c:427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/mbuffers.c:429,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/mbuffers.c:433,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/mbuffers.c:435,1
    - Dst: _mbuffer_head_get_next
      Src: /src/gnutls/lib/mbuffers.c:436,1
    - Dst: memcpy
      Src: /src/gnutls/lib/mbuffers.c:437,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/mbuffers.c:442,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/mbuffers.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - buf
    argTypes:
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 446
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 446
    functionName: _mbuffer_linearize
    functionSourceFile: /src/gnutls/lib/mbuffers.c
    functionUses: 0
    functionsReached:
    - _mbuffer_enqueue
    - _mbuffer_head_get_next
    - _mbuffer_head_get_first
    - memcpy
    - _mbuffer_head_clear
    - gnutls_assert
    - _mbuffer_alloc
    linkageType: ''
    returnType: int
    signature: int _mbuffer_linearize(mbuffer_head_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint_release
      Src: /src/gnutls/lib/mpi.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _gnutls_mpi_release
    functionSourceFile: /src/gnutls/lib/mpi.h
    functionUses: 10
    functionsReached:
    - bigint_release
    linkageType: ''
    returnType: void
    signature: void _gnutls_mpi_release(bigint_t *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - low
    - high
    argTypes:
    - gnutls_range_st*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: _gnutls_set_range
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _gnutls_set_range(gnutls_range_st *dst, const size_t low,\n\t\t\t
      \     const size_t high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/range.c:51,1
    - Dst: unlikely
      Src: /src/gnutls/lib/range.c:53,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:54,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/range.c:56,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:63,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/range.c:66,1
    - Dst: MIN
      Src: /src/gnutls/lib/range.c:73,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/range.c:75,1
    - Dst: _gnutls_auth_cipher_tag_len
      Src: /src/gnutls/lib/range.c:76,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/range.c:77,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - session
    - data_length
    - max_frag
    argTypes:
    - gnutls_session_t
    - ssize_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 93
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 93
    functionName: _gnutls_range_max_lh_pad
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 0
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_cipher_type
    - max_record_send_size
    - _gnutls_cipher_get_block_size
    - _gnutls_auth_cipher_tag_len
    - unlikely
    - MIN
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_range_max_lh_pad(gnutls_session_t session,\n\t\t\t\t\tssize_t
      data_length, ssize_t max_frag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/range.c:114,1
    - Dst: unlikely
      Src: /src/gnutls/lib/range.c:116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:117,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/range.c:127,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/range.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 140
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 140
    functionName: gnutls_record_can_use_length_hiding
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 2
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_cipher_type
    - unlikely
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_record_can_use_length_hiding(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/range.c:169,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:171,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/range.c:173,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:178,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:179,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:184,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:185,1
    - Dst: _gnutls_range_max_lh_pad
      Src: /src/gnutls/lib/range.c:188,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:191,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:195,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - session
    - orig
    - next
    - remainder
    argTypes:
    - gnutls_session_t
    - gnutls_range_st*
    - gnutls_range_st*
    - gnutls_range_st*
    constantsTouched: []
    func_position:
      end: 202
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 202
    functionName: gnutls_range_split
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_range
    - _gnutls_epoch_get
    - _gnutls_range_max_lh_pad
    - max_record_send_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_range_split(gnutls_session_t session, const gnutls_range_st
      *orig,\n\t\t       gnutls_range_st *next, gnutls_range_st *remainder)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/range.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data_size
    - cur
    - next
    argTypes:
    - size_t
    - gnutls_range_st
    - gnutls_range_st
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: _gnutls_range_fragment
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 0
    functionsReached:
    - MIN
    linkageType: ''
    returnType: size_t
    signature: "size_t _gnutls_range_fragment(size_t data_size, gnutls_range_st cur,\n\t\t\t\t
      \    gnutls_range_st next)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:242,1
    - Dst: gnutls_record_can_use_length_hiding
      Src: /src/gnutls/lib/range.c:245,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:247,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:249,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/range.c:251,1
    - Dst: gnutls_range_split
      Src: /src/gnutls/lib/range.c:256,1
    - Dst: _gnutls_range_fragment
      Src: /src/gnutls/lib/range.c:262,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/range.c:265,1
    - Dst: _gnutls_send_tlen_int
      Src: /src/gnutls/lib/range.c:271,1
    - Dst: _gnutls_send_tlen_int
      Src: /src/gnutls/lib/range.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:285,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/range.c:288,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/range.c:291,1
    - Dst: _gnutls_set_range
      Src: /src/gnutls/lib/range.c:295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - session
    - data
    - data_size
    - range
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - gnutls_range_st*
    constantsTouched: []
    func_position:
      end: 299
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 299
    functionName: gnutls_record_send_range
    functionSourceFile: /src/gnutls/lib/range.c
    functionUses: 3
    functionsReached:
    - _gnutls_set_range
    - _gnutls_record_log
    - _gnutls_send_tlen_int
    - gnutls_record_can_use_length_hiding
    - _gnutls_range_fragment
    - gnutls_range_split
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_send_range(gnutls_session_t session, const void
      *data,\n\t\t\t\t size_t data_size, const gnutls_range_st *range)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: fork_handler
    functionSourceFile: /src/gnutls/lib/atfork.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fork_handler(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __register_atfork
      Src: /src/gnutls/lib/atfork.c:52,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/atfork.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: _gnutls_register_fork_handler
    functionSourceFile: /src/gnutls/lib/atfork.c
    functionUses: 2
    functionsReached:
    - __register_atfork
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_register_fork_handler(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/gnutls/lib/atfork.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: _gnutls_get_forkid
    functionSourceFile: /src/gnutls/lib/atfork.c
    functionUses: 4
    functionsReached:
    - getpid
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gnutls_get_forkid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/gnutls/lib/atfork.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - forkid
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: _gnutls_detect_fork
    functionSourceFile: /src/gnutls/lib/atfork.c
    functionUses: 3
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: int _gnutls_detect_fork(unsigned int forkid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/gnutls/lib/atfork.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: _gnutls_register_fork_handler
    functionSourceFile: /src/gnutls/lib/atfork.c
    functionUses: 2
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: int _gnutls_register_fork_handler(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/srp.c:52,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:53,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/srp.c:57,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:62,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:66,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/srp.c:68,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:80,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:85,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - text
    - textsize
    - result
    - g
    - prime
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 89
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 89
    functionName: _gnutls_srp_gx
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_print
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_mpi_init
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - _gnutls_mpi_powm
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srp_gx(uint8_t *text, size_t textsize, uint8_t **result,\n\t\t\t
      \ bigint_t g, bigint_t prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/srp.c:104,1
    - Dst: _gnutls_mpi_random_modp
      Src: /src/gnutls/lib/srp.c:108,1
    - Dst: _gnutls_calc_srp_u
      Src: /src/gnutls/lib/srp.c:110,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:112,1
    - Dst: _gnutls_mpi_mulm
      Src: /src/gnutls/lib/srp.c:116,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:118,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:124,1
    - Dst: _gnutls_mpi_addm
      Src: /src/gnutls/lib/srp.c:128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:130,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:134,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:135,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:136,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:141,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:146,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:147,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:148,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:149,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - ret_b
    - g
    - n
    - v
    argTypes:
    - bigint_t*
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 152
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 152
    functionName: _gnutls_calc_srp_B
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_addm
    - _gnutls_mpi_powm
    - _gnutls_calc_srp_u
    - _gnutls_mpi_init_multi
    - _gnutls_mpi_release
    - _gnutls_mpi_random_modp
    - _gnutls_mpi_mulm
    - gnutls_assert
    linkageType: ''
    returnType: bigint_t
    signature: bigint_t _gnutls_calc_srp_B(bigint_t *ret_b, bigint_t g, bigint_t n,
      bigint_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:166,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:168,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:172,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/srp.c:178,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:182,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/srp.c:183,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/srp.c:185,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:188,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/srp.c:195,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - A
    - B
    - n
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 204
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 204
    functionName: _gnutls_calc_srp_u
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _gnutls_mpi_print
    - _gnutls_hash_fast
    - _gnutls_mpi_init_scan_nz
    - gnutls_assert
    linkageType: ''
    returnType: bigint_t
    signature: bigint_t _gnutls_calc_srp_u(bigint_t A, bigint_t B, bigint_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/srp.c:216,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:220,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:222,1
    - Dst: _gnutls_mpi_mulm
      Src: /src/gnutls/lib/srp.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:228,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:232,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:234,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:235,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:240,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:241,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - A
    - b
    - u
    - v
    - n
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: _gnutls_calc_srp_S1
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_init_multi
    - gnutls_assert
    - _gnutls_mpi_release
    - _gnutls_mpi_mulm
    - _gnutls_mpi_powm
    linkageType: ''
    returnType: bigint_t
    signature: "bigint_t _gnutls_calc_srp_S1(bigint_t A, bigint_t b, bigint_t u, bigint_t
      v,\n\t\t\t     bigint_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/srp.c:255,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:257,1
    - Dst: _gnutls_mpi_random_modp
      Src: /src/gnutls/lib/srp.c:261,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:263,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:270,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:274,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - a
    - g
    - n
    argTypes:
    - bigint_t*
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 277
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 277
    functionName: _gnutls_calc_srp_A
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_init_multi
    - gnutls_assert
    - _gnutls_mpi_release
    - _gnutls_mpi_random_modp
    - _gnutls_mpi_powm
    linkageType: ''
    returnType: bigint_t
    signature: bigint_t _gnutls_calc_srp_A(bigint_t *a, bigint_t g, bigint_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/srp.c:289,1
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/srp.c:295,1
    - Dst: strlen
      Src: /src/gnutls/lib/srp.c:295,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/srp.c:298,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/srp.c:301,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/srp.c:306,1
    - Dst: strlen
      Src: /src/gnutls/lib/srp.c:306,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/srp.c:307,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/srp.c:308,1
    - Dst: strlen
      Src: /src/gnutls/lib/srp.c:308,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/srp.c:310,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/srp.c:312,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/srp.c:318,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/srp.c:319,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/srp.c:321,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 7
    argNames:
    - username
    - _password
    - salt
    - salt_size
    - size
    - digest
    - allow_invalid_pass
    argTypes:
    - char*
    - char*
    - uint8_t*
    - int
    - size_t*
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 327
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 327
    functionName: _gnutls_calc_srp_sha
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - strlen
    - mac_to_entry
    - _gnutls_hash_deinit
    - _gnutls_hash
    - _gnutls_hash_init
    - _gnutls_utf8_password_normalize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_calc_srp_sha(const char *username, const char *_password,\n\t\t\t\tuint8_t
      *salt, int salt_size, size_t *size,\n\t\t\t\tvoid *digest, unsigned allow_invalid_pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_calc_srp_sha
      Src: /src/gnutls/lib/srp.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - username
    - password
    - salt
    - salt_size
    - size
    - digest
    argTypes:
    - char*
    - char*
    - uint8_t*
    - size_t
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: _gnutls_calc_srp_x
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_calc_srp_sha
    linkageType: ''
    returnType: int
    signature: "int _gnutls_calc_srp_x(char *username, char *password, uint8_t *salt,\n\t\t
      \      size_t salt_size, size_t *size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/srp.c:346,1
    - Dst: _gnutls_calc_srp_u
      Src: /src/gnutls/lib/srp.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:352,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:356,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:358,1
    - Dst: _gnutls_mpi_mulm
      Src: /src/gnutls/lib/srp.c:362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:364,1
    - Dst: _gnutls_mpi_subm
      Src: /src/gnutls/lib/srp.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:370,1
    - Dst: _gnutls_mpi_mul
      Src: /src/gnutls/lib/srp.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:376,1
    - Dst: _gnutls_mpi_add
      Src: /src/gnutls/lib/srp.c:380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:382,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/srp.c:386,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:388,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:392,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:393,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:394,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:395,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:396,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:401,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:402,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:403,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:404,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:405,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:406,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 6
    argNames:
    - B
    - g
    - x
    - a
    - u
    - n
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 408
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 408
    functionName: _gnutls_calc_srp_S2
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_subm
    - _gnutls_mpi_mul
    - _gnutls_calc_srp_u
    - _gnutls_mpi_init_multi
    - gnutls_assert
    - _gnutls_mpi_add
    - _gnutls_mpi_release
    - _gnutls_mpi_mulm
    - _gnutls_mpi_powm
    linkageType: ''
    returnType: bigint_t
    signature: "bigint_t _gnutls_calc_srp_S2(bigint_t B, bigint_t g, bigint_t x, bigint_t
      a,\n\t\t\t     bigint_t u, bigint_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:418,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:419,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_srp_client_credentials_t
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: gnutls_srp_free_client_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_srp_free_client_credentials(gnutls_srp_client_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/srp.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_srp_client_credentials_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: gnutls_srp_allocate_client_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 6
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_srp_allocate_client_credentials(gnutls_srp_client_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:463,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/srp.c:467,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/srp.c:471,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - res
    - username
    - password
    argTypes:
    - gnutls_srp_client_credentials_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 478
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 478
    functionName: gnutls_srp_set_client_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 4
    functionsReached:
    - gnutls_strdup
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_set_client_credentials(gnutls_srp_client_credentials_t
      res,\n\t\t\t\t      const char *username,\n\t\t\t\t      const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:488,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:489,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_srp_server_credentials_t
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: gnutls_srp_free_server_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 5
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_srp_free_server_credentials(gnutls_srp_server_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/srp.c:518,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/srp.c:524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:528,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_srp_server_credentials_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 538
    functionName: gnutls_srp_allocate_server_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 5
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int gnutls_srp_allocate_server_credentials(gnutls_srp_server_credentials_t
      *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:559,1
    - Dst: _gnutls_file_exists
      Src: /src/gnutls/lib/srp.c:564,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:565,1
    - Dst: _gnutls_file_exists
      Src: /src/gnutls/lib/srp.c:569,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:570,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/srp.c:574,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:576,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/srp.c:580,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:582,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/srp.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - res
    - password_file
    - password_conf_file
    argTypes:
    - gnutls_srp_server_credentials_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 588
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 588
    functionName: gnutls_srp_set_server_credentials_file
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 3
    functionsReached:
    - gnutls_strdup
    - gnutls_free
    - gnutls_assert
    - _gnutls_file_exists
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_set_server_credentials_file(gnutls_srp_server_credentials_t
      res,\n\t\t\t\t\t   const char *password_file,\n\t\t\t\t\t   const char *password_conf_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_srp_server_credentials_t
    - gnutls_srp_server_credentials_function*
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: gnutls_srp_set_server_credentials_function
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_server_credentials_function(\n\tgnutls_srp_server_credentials_t
      cred,\n\tgnutls_srp_server_credentials_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cred
    - func
    argTypes:
    - gnutls_srp_client_credentials_t
    - gnutls_srp_client_credentials_function*
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: gnutls_srp_set_client_credentials_function
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_client_credentials_function(\n\tgnutls_srp_client_credentials_t
      cred,\n\tgnutls_srp_client_credentials_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/srp.c:680,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/srp.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: gnutls_srp_server_get_username
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 4
    functionsReached:
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    linkageType: ''
    returnType: char
    signature: char *gnutls_srp_server_get_username(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_calc_srp_sha
      Src: /src/gnutls/lib/srp.c:717,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:720,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/srp.c:725,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:726,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/srp.c:731,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:732,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:733,1
    - Dst: _gnutls_srp_gx
      Src: /src/gnutls/lib/srp.c:737,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/srp.c:739,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:740,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:741,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:746,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/srp.c:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 6
    argNames:
    - username
    - password
    - salt
    - generator
    - prime
    - res
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 750
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 750
    functionName: gnutls_srp_verifier
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 2
    functionsReached:
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - _gnutls_srp_gx
    - gnutls_assert
    - _gnutls_calc_srp_sha
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_verifier(const char *username, const char *password,\n\t\t\tconst
      gnutls_datum_t *salt,\n\t\t\tconst gnutls_datum_t *generator,\n\t\t\tconst gnutls_datum_t
      *prime, gnutls_datum_t *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - bits
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: gnutls_srp_set_prime_bits
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_srp_set_prime_bits(gnutls_session_t session, unsigned int
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/srp.c:814,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/srp.c:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cred
    - seed
    - salt_length
    argTypes:
    - gnutls_srp_server_credentials_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 825
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 825
    functionName: gnutls_srp_set_server_fake_salt_seed
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mac_to_entry
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_server_fake_salt_seed(gnutls_srp_server_credentials_t
      cred,\n\t\t\t\t\t  const gnutls_datum_t *seed,\n\t\t\t\t\t  unsigned int salt_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - MAYBE_UNUSED
    argTypes:
    - gnutls_srp_client_credentials_t
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: gnutls_srp_free_client_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_free_client_credentials(\n\tgnutls_srp_client_credentials_t
      sc MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_srp_client_credentials_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 845
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 845
    functionName: gnutls_srp_set_client_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_set_client_credentials(\n\tgnutls_srp_client_credentials_t
      res MAYBE_UNUSED,\n\tconst char *username MAYBE_UNUSED, const char *password
      MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - MAYBE_UNUSED
    argTypes:
    - gnutls_srp_server_credentials_t
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: gnutls_srp_free_server_credentials
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_free_server_credentials(\n\tgnutls_srp_server_credentials_t
      sc MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - MAYBE_UNUSED
    - password_file MAYBE_UNUSED
    - password_conf_file MAYBE_UNUSED
    argTypes:
    - gnutls_srp_server_credentials_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: gnutls_srp_set_server_credentials_file
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_set_server_credentials_file(\n\tgnutls_srp_server_credentials_t
      res MAYBE_UNUSED,\n\tconst char *password_file MAYBE_UNUSED,\n\tconst char *password_conf_file
      MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_srp_server_credentials_t
    - gnutls_srp_server_credentials_function*
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: gnutls_srp_set_server_credentials_function
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_server_credentials_function(\n\tgnutls_srp_server_credentials_t
      cred MAYBE_UNUSED,\n\tgnutls_srp_server_credentials_function *func MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_srp_client_credentials_t
    - gnutls_srp_client_credentials_function*
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: gnutls_srp_set_client_credentials_function
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_client_credentials_function(\n\tgnutls_srp_client_credentials_t
      cred MAYBE_UNUSED,\n\tgnutls_srp_client_credentials_function *func MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - MAYBE_UNUSED
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: gnutls_srp_server_get_username
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gnutls_srp_server_get_username(gnutls_session_t session MAYBE_UNUSED)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - char*
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 892
    functionName: gnutls_srp_verifier
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_verifier(const char *username MAYBE_UNUSED,\n\t\t\tconst
      char *password MAYBE_UNUSED,\n\t\t\tconst gnutls_datum_t *salt MAYBE_UNUSED,\n\t\t\tconst
      gnutls_datum_t *generator MAYBE_UNUSED,\n\t\t\tconst gnutls_datum_t *prime MAYBE_UNUSED,\n\t\t\tgnutls_datum_t
      *res MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: gnutls_srp_set_prime_bits
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_prime_bits(gnutls_session_t session MAYBE_UNUSED,\n\t\t\t
      \      unsigned int bits MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - salt_length MAYBE_UNUSED
    argTypes:
    - gnutls_srp_server_credentials_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 904
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 904
    functionName: gnutls_srp_set_server_fake_salt_seed
    functionSourceFile: /src/gnutls/lib/srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_srp_set_server_fake_salt_seed(\n\tgnutls_srp_server_credentials_t
      cred MAYBE_UNUSED,\n\tconst gnutls_datum_t *seed MAYBE_UNUSED,\n\tunsigned int
      salt_length MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - profile
    argTypes:
    - gnutls_certificate_verification_profiles_t
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: _gnutls_profile_to_sec_level
    functionSourceFile: /src/gnutls/lib/profiles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_sec_param_t
    signature: gnutls_sec_param_t _gnutls_profile_to_sec_level(gnutls_certificate_verification_profiles_t
      profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/profiles.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: gnutls_certificate_verification_profile_get_id
    functionSourceFile: /src/gnutls/lib/profiles.c
    functionUses: 2
    functionsReached:
    - c_strcasecmp
    linkageType: ''
    returnType: gnutls_certificate_verification_profiles_t
    signature: gnutls_certificate_verification_profiles_t gnutls_certificate_verification_profile_get_id(const
      char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - gnutls_certificate_verification_profiles_t
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: gnutls_certificate_verification_profile_get_name
    functionSourceFile: /src/gnutls/lib/profiles.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *gnutls_certificate_verification_profile_get_name(\n\tgnutls_certificate_verification_profiles_t
      id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - forkid
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: _gnutls_detect_fork
    functionSourceFile: /src/gnutls/lib/atfork.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_detect_fork(unsigned int forkid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: _gnutls_get_forkid
    functionSourceFile: /src/gnutls/lib/atfork.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gnutls_get_forkid(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - asn_err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: _gnutls_asn2err
    functionSourceFile: /src/gnutls/lib/errors.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn2err(int asn_err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_assert_log
      Src: /src/gnutls/lib/errors.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - val
    - file
    - func
    - line
    argTypes:
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: gnutls_assert_val_int
    functionSourceFile: /src/gnutls/lib/errors.h
    functionUses: 0
    functionsReached:
    - _gnutls_assert_log
    linkageType: ''
    returnType: __GNUC__
    signature: "__GNUC__ gnutls_assert_val_int(int val, const char *file, const char
      *func,\n\t\t\t      int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_send_change_cipher_spec
      Src: /src/gnutls/lib/handshake-tls13.c:94,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:95,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:97,1
    - Dst: generate_hs_traffic_keys
      Src: /src/gnutls/lib/handshake-tls13.c:103,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:107,1
    - Dst: _tls13_read_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:109,1
    - Dst: _tls13_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:112,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:113,1
    - Dst: _gnutls13_recv_encrypted_extensions
      Src: /src/gnutls/lib/handshake-tls13.c:116,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:118,1
    - Dst: _gnutls13_recv_certificate_request
      Src: /src/gnutls/lib/handshake-tls13.c:121,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:123,1
    - Dst: _gnutls13_recv_certificate
      Src: /src/gnutls/lib/handshake-tls13.c:126,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:128,1
    - Dst: _gnutls13_recv_certificate_verify
      Src: /src/gnutls/lib/handshake-tls13.c:131,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:133,1
    - Dst: _gnutls_run_verify_callback
      Src: /src/gnutls/lib/handshake-tls13.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:139,1
    - Dst: _gnutls13_recv_finished
      Src: /src/gnutls/lib/handshake-tls13.c:142,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:144,1
    - Dst: _gnutls13_send_end_of_early_data
      Src: /src/gnutls/lib/handshake-tls13.c:147,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:148,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:150,1
    - Dst: _tls13_write_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:158,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:160,1
    - Dst: _gnutls13_send_certificate
      Src: /src/gnutls/lib/handshake-tls13.c:166,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:166,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:168,1
    - Dst: _gnutls13_send_certificate_verify
      Src: /src/gnutls/lib/handshake-tls13.c:171,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:172,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:174,1
    - Dst: _gnutls13_send_finished
      Src: /src/gnutls/lib/handshake-tls13.c:177,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:177,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:179,1
    - Dst: generate_ap_traffic_keys
      Src: /src/gnutls/lib/handshake-tls13.c:184,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:185,1
    - Dst: generate_rms_keys
      Src: /src/gnutls/lib/handshake-tls13.c:187,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:188,1
    - Dst: _tls13_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:191,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:192,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:197,1
    - Dst: _gnutls_set_resumed_parameters
      Src: /src/gnutls/lib/handshake-tls13.c:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 94
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 211
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 211
    functionName: _gnutls13_handshake_client
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 1
    functionsReached:
    - _gnutls13_recv_certificate_request
    - _gnutls13_send_end_of_early_data
    - _gnutls13_send_certificate
    - gnutls_assert_val
    - _gnutls13_send_finished
    - _tls13_write_connection_state_init
    - generate_ap_traffic_keys
    - _gnutls13_recv_finished
    - IMED_RET_FATAL
    - _gnutls_run_verify_callback
    - _gnutls_set_resumed_parameters
    - _gnutls_send_change_cipher_spec
    - _tls13_read_connection_state_init
    - _gnutls13_send_certificate_verify
    - IMED_RET
    - _gnutls13_recv_certificate
    - _gnutls13_recv_certificate_verify
    - generate_hs_traffic_keys
    - _tls13_connection_state_init
    - generate_rms_keys
    - AGAIN
    - _gnutls13_recv_encrypted_extensions
    linkageType: ''
    returnType: int
    signature: int _gnutls13_handshake_client(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls13_compute_finished
      Src: /src/gnutls/lib/handshake-tls13.c:220,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:226,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/handshake-tls13.c:231,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake-tls13.c:234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:239,1
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/handshake-tls13.c:241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 253
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 253
    functionName: generate_non_auth_rms_keys
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_write_uint24
    - _tls13_derive_secret
    - _gnutls13_compute_finished
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int generate_non_auth_rms_keys(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/handshake-tls13.c:259,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 6
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: generate_rms_keys
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _tls13_derive_secret
    linkageType: ''
    returnType: int
    signature: int generate_rms_keys(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/handshake-tls13.c:276,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:281,1
    - Dst: memset
      Src: /src/gnutls/lib/handshake-tls13.c:283,1
    - Dst: _tls13_update_secret
      Src: /src/gnutls/lib/handshake-tls13.c:284,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:287,1
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/handshake-tls13.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:297,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/handshake-tls13.c:299,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:303,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/handshake-tls13.c:305,1
    - Dst: _gnutls_epoch_dup
      Src: /src/gnutls/lib/handshake-tls13.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: generate_ap_traffic_keys
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 1
    functionsReached:
    - _gnutls_epoch_dup
    - _gnutls_call_keylog_func
    - _gnutls_epoch_bump
    - _tls13_update_secret
    - _tls13_derive_secret
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int generate_ap_traffic_keys(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake-tls13.c:318,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:319,1
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/handshake-tls13.c:321,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:326,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake-tls13.c:346,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:347,1
    - Dst: memset
      Src: /src/gnutls/lib/handshake-tls13.c:351,1
    - Dst: _tls13_update_secret
      Src: /src/gnutls/lib/handshake-tls13.c:353,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:355,1
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake-tls13.c:359,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:360,1
    - Dst: _tls13_update_secret
      Src: /src/gnutls/lib/handshake-tls13.c:363,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:366,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 372
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 372
    functionName: generate_hs_traffic_keys
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _tls13_update_secret
    - unlikely
    - _tls13_derive_secret
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int generate_hs_traffic_keys(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls13_handshake_hash_buffers_synth
      Src: /src/gnutls/lib/handshake-tls13.c:384,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:387,1
    - Dst: _gnutls13_send_hello_retry_request
      Src: /src/gnutls/lib/handshake-tls13.c:390,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:391,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:393,1
    - Dst: _gnutls_send_change_cipher_spec
      Src: /src/gnutls/lib/handshake-tls13.c:398,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:399,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:401,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/handshake-tls13.c:406,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:417,1
    - Dst: _gnutls_send_server_hello
      Src: /src/gnutls/lib/handshake-tls13.c:420,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:420,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:422,1
    - Dst: _gnutls_send_change_cipher_spec
      Src: /src/gnutls/lib/handshake-tls13.c:431,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:432,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:434,1
    - Dst: generate_hs_traffic_keys
      Src: /src/gnutls/lib/handshake-tls13.c:441,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:442,1
    - Dst: _tls13_write_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:445,1
    - Dst: _tls13_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:448,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:450,1
    - Dst: _gnutls13_send_encrypted_extensions
      Src: /src/gnutls/lib/handshake-tls13.c:453,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:454,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:456,1
    - Dst: _gnutls13_send_certificate_request
      Src: /src/gnutls/lib/handshake-tls13.c:459,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:460,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:462,1
    - Dst: _gnutls13_send_certificate
      Src: /src/gnutls/lib/handshake-tls13.c:465,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:465,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:467,1
    - Dst: _gnutls13_send_certificate_verify
      Src: /src/gnutls/lib/handshake-tls13.c:470,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:471,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:473,1
    - Dst: _gnutls13_send_finished
      Src: /src/gnutls/lib/handshake-tls13.c:476,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:476,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:478,1
    - Dst: _gnutls13_recv_end_of_early_data
      Src: /src/gnutls/lib/handshake-tls13.c:481,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:483,1
    - Dst: _tls13_read_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:486,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:488,1
    - Dst: generate_ap_traffic_keys
      Src: /src/gnutls/lib/handshake-tls13.c:496,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:497,1
    - Dst: generate_non_auth_rms_keys
      Src: /src/gnutls/lib/handshake-tls13.c:505,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:506,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake-tls13.c:509,1
    - Dst: _tls13_write_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:514,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:515,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/handshake-tls13.c:517,1
    - Dst: _gnutls_set_resumed_parameters
      Src: /src/gnutls/lib/handshake-tls13.c:524,1
    - Dst: _gnutls13_can_send_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:529,1
    - Dst: _gnutls13_send_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:530,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:532,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:536,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:545,1
    - Dst: _gnutls13_recv_certificate
      Src: /src/gnutls/lib/handshake-tls13.c:554,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:556,1
    - Dst: _gnutls13_recv_certificate_verify
      Src: /src/gnutls/lib/handshake-tls13.c:559,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:561,1
    - Dst: _gnutls_run_verify_callback
      Src: /src/gnutls/lib/handshake-tls13.c:564,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:567,1
    - Dst: _gnutls13_recv_finished
      Src: /src/gnutls/lib/handshake-tls13.c:570,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:572,1
    - Dst: generate_rms_keys
      Src: /src/gnutls/lib/handshake-tls13.c:580,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:581,1
    - Dst: _tls13_read_connection_state_init
      Src: /src/gnutls/lib/handshake-tls13.c:584,1
    - Dst: IMED_RET_FATAL
      Src: /src/gnutls/lib/handshake-tls13.c:585,1
    - Dst: _gnutls13_can_send_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:592,1
    - Dst: _gnutls13_send_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:593,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/handshake-tls13.c:595,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/handshake-tls13.c:597,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:603,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/handshake-tls13.c:607,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/handshake-tls13.c:610,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 165
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 615
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 615
    functionName: _gnutls13_handshake_server
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 1
    functionsReached:
    - _gnutls13_send_hello_retry_request
    - _gnutls13_send_certificate
    - gnutls_assert_val
    - _gnutls13_send_finished
    - gnutls_mutex_lock
    - _gnutls_handshake_log
    - _tls13_write_connection_state_init
    - _gnutls_recv_handshake
    - generate_non_auth_rms_keys
    - generate_ap_traffic_keys
    - _gnutls13_recv_finished
    - gnutls_mutex_unlock
    - IMED_RET_FATAL
    - _gnutls_run_verify_callback
    - _gnutls_set_resumed_parameters
    - _gnutls_send_change_cipher_spec
    - _tls13_read_connection_state_init
    - _gnutls13_send_encrypted_extensions
    - _gnutls13_send_certificate_verify
    - IMED_RET
    - _gnutls13_recv_certificate
    - _gnutls13_handshake_hash_buffers_synth
    - _gnutls13_can_send_session_ticket
    - _gnutls13_recv_certificate_verify
    - _gnutls_send_server_hello
    - generate_hs_traffic_keys
    - _tls13_connection_state_init
    - generate_rms_keys
    - AGAIN
    - _gnutls13_recv_end_of_early_data
    - _gnutls13_send_session_ticket
    - _gnutls13_send_certificate_request
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls13_handshake_server(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/handshake-tls13.c:629,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:630,1
    - Dst: _gnutls_handshake_buffer_init
      Src: /src/gnutls/lib/handshake-tls13.c:633,1
    - Dst: _gnutls_handshake_io_recv_int
      Src: /src/gnutls/lib/handshake-tls13.c:638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:641,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake-tls13.c:646,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:650,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:660,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/handshake-tls13.c:665,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake-tls13.c:668,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:672,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/handshake-tls13.c:676,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:680,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/lib/handshake-tls13.c:685,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:690,1
    - Dst: _gnutls13_recv_key_update
      Src: /src/gnutls/lib/handshake-tls13.c:702,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:704,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:713,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:721,1
    - Dst: _gnutls13_recv_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:726,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:728,1
    - Dst: memcpy
      Src: /src/gnutls/lib/handshake-tls13.c:732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:742,1
    - Dst: _gnutls_call_hook_func
      Src: /src/gnutls/lib/handshake-tls13.c:747,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:751,1
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/handshake-tls13.c:754,1
    - Dst: _gnutls_record_buffer_get_size
      Src: /src/gnutls/lib/handshake-tls13.c:756,1
    - Dst: _gnutls_record_buffer_get_size
      Src: /src/gnutls/lib/handshake-tls13.c:765,1
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/handshake-tls13.c:770,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 772
      start: 621
    functionDepth: 5
    functionLinenumber: 621
    functionLinenumberEnd: 772
    functionName: _gnutls13_recv_async_handshake
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_handshake_buffer_init
    - _gnutls13_recv_session_ticket
    - _gnutls_handshake_buffer_clear
    - gnutls_reauth
    - gnutls_assert
    - _gnutls_buffer_reset
    - _gnutls13_recv_key_update
    - unlikely
    - memcpy
    - _gnutls_handshake_io_recv_int
    - gnutls_assert_val
    - _gnutls_record_buffer_get_size
    - _gnutls_call_hook_func
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_async_handshake(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/handshake-tls13.c:790,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:794,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/handshake-tls13.c:797,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/handshake-tls13.c:801,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:804,1
    - Dst: _gnutls13_send_session_ticket
      Src: /src/gnutls/lib/handshake-tls13.c:809,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:813,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/handshake-tls13.c:818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - session
    - nr
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 825
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 825
    functionName: gnutls_session_ticket_send
    functionSourceFile: /src/gnutls/lib/handshake-tls13.c
    functionUses: 3
    functionsReached:
    - _gnutls_io_write_flush
    - gnutls_assert
    - _gnutls13_send_session_ticket
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_ticket_send(gnutls_session_t session, unsigned
      nr,\n\t\t\t       unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.h:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - session
    - epoch
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: _gnutls_epoch_is_valid
    functionSourceFile: /src/gnutls/lib/constate.h
    functionUses: 0
    functionsReached:
    - _gnutls_epoch_get
    linkageType: ''
    returnType: int
    signature: int _gnutls_epoch_is_valid(gnutls_session_t session, int epoch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session
    - epoch
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: _gnutls_epoch_refcount_inc
    functionSourceFile: /src/gnutls/lib/constate.h
    functionUses: 1
    functionsReached:
    - _gnutls_epoch_get
    linkageType: ''
    returnType: int
    signature: "int _gnutls_epoch_refcount_inc(gnutls_session_t session,\n\t\t\t\t\t
      \    int epoch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - session
    - epoch
    argTypes:
    - gnutls_session_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: _gnutls_epoch_refcount_dec
    functionSourceFile: /src/gnutls/lib/constate.h
    functionUses: 1
    functionsReached:
    - _gnutls_epoch_get
    linkageType: ''
    returnType: int
    signature: "int _gnutls_epoch_refcount_dec(gnutls_session_t session,\n\t\t\t\t\t
      \    uint16_t epoch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/datum.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dat
    - data
    - data_size
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: _gnutls_set_datum
    functionSourceFile: /src/gnutls/lib/datum.c
    functionUses: 12
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int _gnutls_set_datum(gnutls_datum_t *dat, const void *data, size_t
      data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/datum.c:61,1
    - Dst: memcpy
      Src: /src/gnutls/lib/datum.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dat
    - data
    - data_size
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: _gnutls_set_strdatum
    functionSourceFile: /src/gnutls/lib/datum.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_strdatum(gnutls_datum_t *dat, const void *data,\n\t\t\t
      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:43,1
    - Dst: _dtls_reset_hsk_state
      Src: /src/gnutls/lib/dtls.c:48,1
    - Dst: _gnutls_handshake_io_buffer_clear
      Src: /src/gnutls/lib/dtls.c:49,1
    - Dst: _gnutls_epoch_gc
      Src: /src/gnutls/lib/dtls.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: _dtls_async_timer_delete
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_io_buffer_clear
    - _gnutls_epoch_gc
    - _dtls_reset_hsk_state
    - _gnutls_dtls_log
    linkageType: ''
    returnType: void
    signature: void _dtls_async_timer_delete(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:72,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/dtls.c:75,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/dtls.c:77,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/dtls.c:78,1
    - Dst: _mbuffer_get_uhead_size
      Src: /src/gnutls/lib/dtls.c:79,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/dtls.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:85,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/dtls.c:89,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/dtls.c:90,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:99,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/dtls.c:102,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:121,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:124,1
    - Dst: memcpy
      Src: /src/gnutls/lib/dtls.c:126,1
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:129,1
    - Dst: _gnutls_handshake2str
      Src: /src/gnutls/lib/dtls.c:133,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/dtls.c:136,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - session
    - bufel
    - buf
    argTypes:
    - gnutls_session_t
    - mbuffer_st*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 147
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 147
    functionName: transmit_message
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - _mbuffer_get_udata_size
    - _gnutls_write_uint16
    - _gnutls_handshake2str
    - gnutls_assert
    - _mbuffer_get_uhead_size
    - _gnutls_send_int
    - gnutls_malloc
    - _gnutls_write_uint24
    - _mbuffer_get_udata_ptr
    - _gnutls_dtls_log
    - memcpy
    - _mbuffer_get_uhead_ptr
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int transmit_message(gnutls_session_t session, mbuffer_st *bufel,\n\t\t\t\t
      \  uint8_t **buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_refcount_dec
      Src: /src/gnutls/lib/dtls.c:156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - session
    - send_buffer
    argTypes:
    - gnutls_session_t
    - mbuffer_head_st*
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: drop_usage_count
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_epoch_refcount_dec
    linkageType: ''
    returnType: int
    signature: "int drop_usage_count(gnutls_session_t session,\n\t\t\t    mbuffer_head_st
      *const send_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/dtls.c:176,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:179,1
    - Dst: _gnutls_parse_record_buffered_msgs
      Src: /src/gnutls/lib/dtls.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: is_next_hpacket_expected
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - _gnutls_recv_in_buffers
    - gnutls_assert_val
    - _gnutls_parse_record_buffered_msgs
    linkageType: ''
    returnType: int
    signature: int is_next_hpacket_expected(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drop_usage_count
      Src: /src/gnutls/lib/dtls.c:194,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/dtls.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: _dtls_reset_hsk_state
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - _mbuffer_head_clear
    - drop_usage_count
    linkageType: ''
    returnType: void
    signature: void _dtls_reset_hsk_state(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/dtls.c:231,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/dtls.c:240,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:242,1
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/dtls.c:247,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/dtls.c:249,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/dtls.c:253,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:257,1
    - Dst: is_next_hpacket_expected
      Src: /src/gnutls/lib/dtls.c:263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:269,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/dtls.c:284,1
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:287,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:288,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/dtls.c:292,1
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:296,1
    - Dst: transmit_message
      Src: /src/gnutls/lib/dtls.c:304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:306,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/dtls.c:312,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/dtls.c:333,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:335,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/dtls.c:351,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/dtls.c:353,1
    - Dst: is_next_hpacket_expected
      Src: /src/gnutls/lib/dtls.c:360,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dtls.c:371,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/dtls.c:379,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:383,1
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.c:390,1
    - Dst: _dtls_reset_hsk_state
      Src: /src/gnutls/lib/dtls.c:391,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dtls.c:395,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dtls.c:402,1
    - Dst: RETURN_DTLS_EAGAIN_OR_TIMEOUT
      Src: /src/gnutls/lib/dtls.c:404,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 133
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 405
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 405
    functionName: _dtls_transmit
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - _gnutls_io_check_recv
    - gnutls_free
    - timespec_sub_ms
    - _gnutls_io_write_flush
    - _dtls_reset_hsk_state
    - gnutls_assert_val
    - is_next_hpacket_expected
    - transmit_message
    - _dtls_is_async
    - _gnutls_dtls_log
    - RETURN_DTLS_EAGAIN_OR_TIMEOUT
    - gnutls_assert
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: int _dtls_transmit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/dtls.c:415,1
    - Dst: _gnutls_io_check_recv
      Src: /src/gnutls/lib/dtls.c:417,1
    - Dst: _dtls_retransmit
      Src: /src/gnutls/lib/dtls.c:420,1
    - Dst: RETURN_DTLS_EAGAIN_OR_TIMEOUT
      Src: /src/gnutls/lib/dtls.c:422,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: _dtls_wait_and_retransmit
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - _gnutls_io_check_recv
    - RETURN_DTLS_EAGAIN_OR_TIMEOUT
    - gnutls_assert_val
    - _dtls_retransmit
    linkageType: ''
    returnType: int
    signature: int _dtls_wait_and_retransmit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - session
    - retrans_timeout
    - total_timeout
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: gnutls_dtls_set_timeouts
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_dtls_set_timeouts(gnutls_session_t session,\n\t\t\t      unsigned
      int retrans_timeout,\n\t\t\t      unsigned int total_timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/dtls.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - mtu
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: gnutls_dtls_set_mtu
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 51
    functionsReached:
    - MIN
    linkageType: ''
    returnType: void
    signature: void gnutls_dtls_set_mtu(gnutls_session_t session, unsigned int mtu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/dtls.c:491,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/dtls.c:500,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/dtls.c:502,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/dtls.c:505,1
    - Dst: unlikely
      Src: /src/gnutls/lib/dtls.c:506,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/dtls.c:514,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/dtls.c:517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ver
    - cipher
    - mac
    - max
    argTypes:
    - version_entry_st*
    - cipher_entry_st*
    - mac_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 526
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 526
    functionName: _gnutls_record_overhead
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - _gnutls_cipher_type
    - _gnutls_mac_get_algo_len
    - _gnutls_cipher_get_explicit_iv_size
    - unlikely
    - _gnutls_cipher_get_tag_size
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_record_overhead(const version_entry_st *ver,\n\t\t\t\t
      const cipher_entry_st *cipher,\n\t\t\t\t const mac_entry_st *mac, unsigned max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/dtls.c:557,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/dtls.c:561,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/dtls.c:565,1
    - Dst: _gnutls_record_overhead
      Src: /src/gnutls/lib/dtls.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - version
    - cipher
    - mac
    - comp
    - flags
    argTypes:
    - gnutls_protocol_t
    - gnutls_cipher_algorithm_t
    - gnutls_mac_algorithm_t
    - gnutls_compression_method_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 577
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 577
    functionName: gnutls_est_record_overhead_size
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - _gnutls_record_overhead
    - version_to_entry
    - cipher_to_entry
    - mac_to_entry
    linkageType: ''
    returnType: size_t
    signature: "size_t gnutls_est_record_overhead_size(gnutls_protocol_t version,\n\t\t\t\t
      \      gnutls_cipher_algorithm_t cipher,\n\t\t\t\t       gnutls_mac_algorithm_t
      mac,\n\t\t\t\t       gnutls_compression_method_t comp,\n\t\t\t\t       unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/dtls.c:595,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:597,1
    - Dst: _gnutls_record_overhead
      Src: /src/gnutls/lib/dtls.c:599,1
    - Dst: get_version
      Src: /src/gnutls/lib/dtls.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: record_overhead_rt
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - get_version
    - _gnutls_record_overhead
    - _gnutls_epoch_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int record_overhead_rt(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/dtls.c:616,1
    - Dst: record_overhead_rt
      Src: /src/gnutls/lib/dtls.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: gnutls_record_overhead_size
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - get_version
    - record_overhead_rt
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_overhead_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/dtls.c:650,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/dtls.c:655,1
    - Dst: _gnutls_record_overhead
      Src: /src/gnutls/lib/dtls.c:661,1
    - Dst: get_version
      Src: /src/gnutls/lib/dtls.c:661,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/dtls.c:667,1
    - Dst: _gnutls_cipher_get_explicit_iv_size
      Src: /src/gnutls/lib/dtls.c:668,1
    - Dst: assert
      Src: /src/gnutls/lib/dtls.c:669,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/dtls.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 698
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 698
    functionName: gnutls_dtls_get_data_mtu
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 4
    functionsReached:
    - _gnutls_epoch_get
    - assert
    - _gnutls_mac_get_algo_len
    - _gnutls_cipher_get_block_size
    - _gnutls_cipher_get_explicit_iv_size
    - get_version
    - _gnutls_record_overhead
    - RECORD_HEADER_SIZE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_dtls_get_data_mtu(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: record_overhead_rt
      Src: /src/gnutls/lib/dtls.c:724,1
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/dtls.c:734,1
    - Dst: gnutls_dtls_set_mtu
      Src: /src/gnutls/lib/dtls.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - mtu
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 738
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 738
    functionName: gnutls_dtls_set_data_mtu
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 1
    functionsReached:
    - gnutls_dtls_set_mtu
    - record_overhead_rt
    - RECORD_HEADER_SIZE
    linkageType: ''
    returnType: int
    signature: int gnutls_dtls_set_data_mtu(gnutls_session_t session, unsigned int
      mtu)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: gnutls_dtls_get_mtu
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_dtls_get_mtu(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/dtls.c:777,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/dtls.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 784
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 784
    functionName: gnutls_dtls_get_timeout
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached:
    - timespec_sub_ms
    - gnutls_gettime
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_dtls_get_timeout(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:833,1
    - Dst: memset
      Src: /src/gnutls/lib/dtls.c:866,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/dtls.c:871,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:877,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:884,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/dtls.c:887,1
    - Dst: _gnutls_mac_fast
      Src: /src/gnutls/lib/dtls.c:895,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:898,1
    - Dst: memcpy
      Src: /src/gnutls/lib/dtls.c:900,1
    - Dst: push_func
      Src: /src/gnutls/lib/dtls.c:903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - key
    - client_data
    - client_data_size
    - prestate
    - ptr
    - push_func
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t
    - gnutls_dtls_prestate_st*
    - gnutls_transport_ptr_t
    - gnutls_push_func
    constantsTouched: []
    func_position:
      end: 908
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 908
    functionName: gnutls_dtls_cookie_send
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 4
    functionsReached:
    - _gnutls_write_uint16
    - _gnutls_mac_fast
    - _gnutls_write_uint24
    - push_func
    - memset
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_dtls_cookie_send(gnutls_datum_t *key, void *client_data,\n\t\t\t
      \   size_t client_data_size,\n\t\t\t    gnutls_dtls_prestate_st *prestate,\n\t\t\t
      \   gnutls_transport_ptr_t ptr,\n\t\t\t    gnutls_push_func push_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:942,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:954,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:959,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:965,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/dtls.c:970,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:974,1
    - Dst: _gnutls_mac_fast
      Src: /src/gnutls/lib/dtls.c:977,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:980,1
    - Dst: memcmp
      Src: /src/gnutls/lib/dtls.c:982,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dtls.c:983,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - key
    - client_data
    - client_data_size
    - _msg
    - msg_size
    - prestate
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t
    - void*
    - size_t
    - gnutls_dtls_prestate_st*
    constantsTouched: []
    func_position:
      end: 991
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 991
    functionName: gnutls_dtls_cookie_verify
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 4
    functionsReached:
    - _gnutls_mac_fast
    - memcmp
    - gnutls_assert_val
    - _gnutls_audit_log
    linkageType: ''
    returnType: int
    signature: "int gnutls_dtls_cookie_verify(gnutls_datum_t *key, void *client_data,\n\t\t\t
      \     size_t client_data_size, void *_msg,\n\t\t\t      size_t msg_size,\n\t\t\t
      \     gnutls_dtls_prestate_st *prestate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/dtls.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - session
    - prestate
    argTypes:
    - gnutls_session_t
    - gnutls_dtls_prestate_st*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1027
    functionName: gnutls_dtls_prestate_set
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 3
    functionsReached:
    - _gnutls_epoch_get
    linkageType: ''
    returnType: void
    signature: "void gnutls_dtls_prestate_set(gnutls_session_t session,\n\t\t\t      gnutls_dtls_prestate_st
      *prestate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    functionName: gnutls_record_get_discarded
    functionSourceFile: /src/gnutls/lib/dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_record_get_discarded(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufel
    argTypes:
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: _mbuffer_get_uhead_ptr
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *_mbuffer_get_uhead_ptr(mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufel
    argTypes:
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: _mbuffer_get_udata_ptr
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *_mbuffer_get_udata_ptr(mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufel
    - size
    argTypes:
    - mbuffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: _mbuffer_set_udata_size
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mbuffer_set_udata_size(mbuffer_st *bufel, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/mbuffers.h:71,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/mbuffers.h:71,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/mbuffers.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bufel
    - data
    - data_size
    argTypes:
    - mbuffer_st*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: _mbuffer_set_udata
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 0
    functionsReached:
    - memcpy
    - _mbuffer_get_udata_ptr
    - _mbuffer_set_udata_size
    linkageType: ''
    returnType: void
    signature: "void _mbuffer_set_udata(mbuffer_st *bufel, void *data,\n\t\t\t\t      size_t
      data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufel
    argTypes:
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: _mbuffer_get_udata_size
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t _mbuffer_get_udata_size(mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - bufel
    - size
    argTypes:
    - mbuffer_head_st*
    - mbuffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: _mbuffer_consume
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _mbuffer_consume(mbuffer_head_st *buf, mbuffer_st *bufel,\n\t\t\t\t
      \   size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufel
    argTypes:
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: _mbuffer_get_uhead_size
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t _mbuffer_get_uhead_size(mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufel
    - size
    argTypes:
    - mbuffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: _mbuffer_set_uhead_size
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _mbuffer_set_uhead_size(mbuffer_st *bufel, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/mbuffers.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bufel
    - max
    argTypes:
    - mbuffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: _mbuffer_init
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _mbuffer_init(mbuffer_st *bufel, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/mbuffers.h:121,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/mbuffers.h:123,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/mbuffers.h:125,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/mbuffers.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - header_size
    argTypes:
    - gnutls_buffer_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: _gnutls_buffer_init_mbuffer
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 0
    functionsReached:
    - _mbuffer_set_uhead_size
    - _gnutls_buffer_init
    - _gnutls_buffer_resize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_buffer_init_mbuffer(gnutls_buffer_st *buf,\n\t\t\t\t\t
      \     size_t header_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_get_uhead_size
      Src: /src/gnutls/lib/mbuffers.h:148,1
    - Dst: assert
      Src: /src/gnutls/lib/mbuffers.h:149,1
    - Dst: _mbuffer_init
      Src: /src/gnutls/lib/mbuffers.h:151,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/mbuffers.h:153,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/mbuffers.h:154,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/mbuffers.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: _gnutls_buffer_to_mbuffer
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 7
    functionsReached:
    - assert
    - _mbuffer_set_udata_size
    - _mbuffer_set_uhead_size
    - _mbuffer_get_uhead_size
    - _gnutls_buffer_init
    - _mbuffer_init
    linkageType: ''
    returnType: mbuffer_st
    signature: mbuffer_st *_gnutls_buffer_to_mbuffer(gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_alloc
      Src: /src/gnutls/lib/mbuffers.h:165,1
    - Dst: HANDSHAKE_HEADER_SIZE
      Src: /src/gnutls/lib/mbuffers.h:165,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/mbuffers.h:170,1
    - Dst: HANDSHAKE_HEADER_SIZE
      Src: /src/gnutls/lib/mbuffers.h:170,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/mbuffers.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session
    - maximum
    argTypes:
    - gnutls_session_t
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: _gnutls_handshake_alloc
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 1
    functionsReached:
    - _mbuffer_set_uhead_size
    - HANDSHAKE_HEADER_SIZE
    - _mbuffer_alloc
    - _mbuffer_set_udata_size
    linkageType: ''
    returnType: mbuffer_st
    signature: "mbuffer_st *_gnutls_handshake_alloc(gnutls_session_t session,\n\t\t\t\t\t\t
      \ size_t maximum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/mbuffers.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bufel
    argTypes:
    - mbuffer_st**
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: _mbuffer_xfree
    functionSourceFile: /src/gnutls/lib/mbuffers.h
    functionUses: 5
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _mbuffer_xfree(mbuffer_st **bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_decode_ext
      Src: /src/gnutls/lib/pkcs11x.c:48,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:50,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/pkcs11x.c:53,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:56,1
    - Dst: gnutls_x509_ext_deinit
      Src: /src/gnutls/lib/pkcs11x.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - crt
    - ext
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: override_ext
    functionSourceFile: /src/gnutls/lib/pkcs11x.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_ext_deinit
    - _gnutls_x509_decode_ext
    - _gnutls_x509_crt_set_extension
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int override_ext(gnutls_x509_crt_t crt, gnutls_datum_t *ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11x.c:86,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:88,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11x.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:103,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11x.c:104,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11x.c:106,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11x.c:111,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11x.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:115,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pkcs11x.c:120,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:122,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pkcs11x.c:126,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:128,1
    - Dst: pkcs11_get_attribute_value
      Src: /src/gnutls/lib/pkcs11x.c:137,1
    - Dst: override_ext
      Src: /src/gnutls/lib/pkcs11x.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:145,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11x.c:149,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/pkcs11x.c:154,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:157,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11x.c:161,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pkcs11x.c:169,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11x.c:171,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11x.c:172,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 3
    argNames:
    - sinfo
    - spki
    - der
    argTypes:
    - struct pkcs11_session_info*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 174
    functionName: pkcs11_override_cert_exts
    functionSourceFile: /src/gnutls/lib/pkcs11x.c
    functionUses: 3
    functionsReached:
    - override_ext
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - pkcs11_find_objects_final
    - pkcs11_get_attribute_value
    - gnutls_malloc
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - gnutls_x509_crt_export2
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int pkcs11_override_cert_exts(struct pkcs11_session_info *sinfo,\n\t\t\t
      \     gnutls_datum_t *spki, gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:191,1
    - Dst: p11_kit_uri_match_token_info
      Src: /src/gnutls/lib/pkcs11x.c:197,1
    - Dst: p11_kit_uri_match_module_info
      Src: /src/gnutls/lib/pkcs11x.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:199,1
    - Dst: pkcs11_find_objects_init
      Src: /src/gnutls/lib/pkcs11x.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:215,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pkcs11x.c:216,1
    - Dst: pkcs11_rv_to_err
      Src: /src/gnutls/lib/pkcs11x.c:218,1
    - Dst: pkcs11_find_objects
      Src: /src/gnutls/lib/pkcs11x.c:221,1
    - Dst: pkcs11_get_attribute_avalue
      Src: /src/gnutls/lib/pkcs11x.c:224,1
    - Dst: unlikely
      Src: /src/gnutls/lib/pkcs11x.c:227,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/pkcs11x.c:227,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:229,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/pkcs11x.c:233,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:237,1
    - Dst: _gnutls_x509_decode_ext
      Src: /src/gnutls/lib/pkcs11x.c:241,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11x.c:247,1
    - Dst: pkcs11_find_objects_final
      Src: /src/gnutls/lib/pkcs11x.c:253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 5
    argNames:
    - module
    - sinfo
    - tinfo
    - lib_info
    - input
    argTypes:
    - struct ck_function_list*
    - struct pkcs11_session_info*
    - struct ck_token_info*
    - struct ck_info*
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 255
    functionName: find_ext_cb
    functionSourceFile: /src/gnutls/lib/pkcs11x.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pkcs11_find_objects_final
    - p11_kit_uri_match_token_info
    - pkcs11_get_attribute_avalue
    - _gnutls_reallocarray_fast
    - _gnutls_x509_decode_ext
    - p11_kit_uri_match_module_info
    - pkcs11_rv_to_err
    - pkcs11_find_objects
    - unlikely
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    - INT_ADD_OVERFLOW
    - pkcs11_find_objects_init
    linkageType: ''
    returnType: int
    signature: "int find_ext_cb(struct ck_function_list *module,\n\t\t       struct
      pkcs11_session_info *sinfo,\n\t\t       struct ck_token_info *tinfo, struct
      ck_info *lib_info,\n\t\t       void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/pkcs11x.c:285,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:291,1
    - Dst: _gnutls_x509_raw_crt_to_raw_pubkey
      Src: /src/gnutls/lib/pkcs11x.c:297,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11x.c:299,1
    - Dst: _pkcs11_traverse_tokens
      Src: /src/gnutls/lib/pkcs11x.c:306,1
    - Dst: pkcs11_obj_flags_to_int
      Src: /src/gnutls/lib/pkcs11x.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pkcs11x.c:310,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11x.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - obj
    - exts
    - exts_size
    - flags
    argTypes:
    - gnutls_pkcs11_obj_t
    - gnutls_x509_ext_st**
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 322
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 322
    functionName: gnutls_pkcs11_obj_get_exts
    functionSourceFile: /src/gnutls/lib/pkcs11x.c
    functionUses: 2
    functionsReached:
    - _pkcs11_traverse_tokens
    - gnutls_free
    - _gnutls_x509_raw_crt_to_raw_pubkey
    - pkcs11_obj_flags_to_int
    - gnutls_assert
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t obj,\n\t\t\t       gnutls_x509_ext_st
      **exts,\n\t\t\t       unsigned int *exts_size, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-backend.c:58,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-backend.c:68,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/crypto-backend.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-backend.c:88,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-backend.c:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - al
    - algorithm
    - priority
    - s
    - free_s
    argTypes:
    - algo_list*
    - int
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 104
    functionName: _algo_register
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _algo_register(algo_list *al, int algorithm, int priority, void
      *s,\n\t\t\t  int free_s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - al
    - algo
    argTypes:
    - algo_list*
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: _get_algo
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *_get_algo(algo_list *al, int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-backend.c:138,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-backend.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cl
    argTypes:
    - algo_list*
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: _deregister
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _deregister(algo_list *cl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _deregister
      Src: /src/gnutls/lib/crypto-backend.c:146,1
    - Dst: _deregister
      Src: /src/gnutls/lib/crypto-backend.c:147,1
    - Dst: _deregister
      Src: /src/gnutls/lib/crypto-backend.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: _gnutls_crypto_deregister
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 1
    functionsReached:
    - _deregister
    linkageType: ''
    returnType: void
    signature: void _gnutls_crypto_deregister(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _algo_register
      Src: /src/gnutls/lib/crypto-backend.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - algorithm
    - priority
    - s
    - free_s
    argTypes:
    - gnutls_cipher_algorithm_t
    - int
    - gnutls_crypto_cipher_st*
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: gnutls_crypto_single_cipher_register
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _algo_register
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_single_cipher_register(gnutls_cipher_algorithm_t
      algorithm,\n\t\t\t\t\t int priority,\n\t\t\t\t\t const gnutls_crypto_cipher_st
      *s,\n\t\t\t\t\t int free_s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_algo
      Src: /src/gnutls/lib/crypto-backend.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: _gnutls_get_crypto_cipher
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _get_algo
    linkageType: ''
    returnType: gnutls_crypto_cipher_st
    signature: 'gnutls_crypto_cipher_st *

      _gnutls_get_crypto_cipher(gnutls_cipher_algorithm_t algo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-backend.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - algorithm
    - priority
    - init
    - setkey
    - setiv
    - encrypt
    - decrypt
    - deinit
    argTypes:
    - gnutls_cipher_algorithm_t
    - int
    - gnutls_cipher_init_func
    - gnutls_cipher_setkey_func
    - gnutls_cipher_setiv_func
    - gnutls_cipher_encrypt_func
    - gnutls_cipher_decrypt_func
    - gnutls_cipher_deinit_func
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: gnutls_crypto_register_cipher
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 1
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,\n\t\t\t\t
      \ int priority, gnutls_cipher_init_func init,\n\t\t\t\t  gnutls_cipher_setkey_func
      setkey,\n\t\t\t\t  gnutls_cipher_setiv_func setiv,\n\t\t\t\t  gnutls_cipher_encrypt_func
      encrypt,\n\t\t\t\t  gnutls_cipher_decrypt_func decrypt,\n\t\t\t\t  gnutls_cipher_deinit_func
      deinit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/crypto-backend.c:242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-backend.c:244,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/crypto-backend.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - algorithm
    - priority
    - init
    - setkey
    - setiv
    - encrypt
    - decrypt
    - deinit
    argTypes:
    - gnutls_cipher_algorithm_t
    - int
    - gnutls_cipher_init_func
    - gnutls_cipher_setkey_func
    - gnutls_cipher_setiv_func
    - gnutls_cipher_encrypt_func
    - gnutls_cipher_decrypt_func
    - gnutls_cipher_deinit_func
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: _gnutls_crypto_register_cipher
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_crypto_single_cipher_register
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_crypto_register_cipher(gnutls_cipher_algorithm_t algorithm,\n\t\t\t\t
      \  int priority, gnutls_cipher_init_func init,\n\t\t\t\t   gnutls_cipher_setkey_func
      setkey,\n\t\t\t\t   gnutls_cipher_setiv_func setiv,\n\t\t\t\t   gnutls_cipher_encrypt_func
      encrypt,\n\t\t\t\t   gnutls_cipher_decrypt_func decrypt,\n\t\t\t\t   gnutls_cipher_deinit_func
      deinit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-backend.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - algorithm
    - priority
    - init
    - setkey
    - aead_encrypt
    - aead_decrypt
    - deinit
    argTypes:
    - gnutls_cipher_algorithm_t
    - int
    - gnutls_cipher_init_func
    - gnutls_cipher_setkey_func
    - gnutls_cipher_aead_encrypt_func
    - gnutls_cipher_aead_decrypt_func
    - gnutls_cipher_deinit_func
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: gnutls_crypto_register_aead_cipher
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_register_aead_cipher(\n\tgnutls_cipher_algorithm_t
      algorithm, int priority,\n\tgnutls_cipher_init_func init, gnutls_cipher_setkey_func
      setkey,\n\tgnutls_cipher_aead_encrypt_func aead_encrypt,\n\tgnutls_cipher_aead_decrypt_func
      aead_decrypt,\n\tgnutls_cipher_deinit_func deinit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/crypto-backend.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priority
    - s
    argTypes:
    - int
    - gnutls_crypto_rnd_st*
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: gnutls_crypto_rnd_register
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gnutls_crypto_rnd_register(int priority, const gnutls_crypto_rnd_st
      *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _algo_register
      Src: /src/gnutls/lib/crypto-backend.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - algorithm
    - priority
    - s
    - free_s
    argTypes:
    - gnutls_mac_algorithm_t
    - int
    - gnutls_crypto_mac_st*
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: gnutls_crypto_single_mac_register
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _algo_register
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_single_mac_register(gnutls_mac_algorithm_t algorithm,\n\t\t\t\t
      \     int priority,\n\t\t\t\t      const gnutls_crypto_mac_st *s, int free_s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_algo
      Src: /src/gnutls/lib/crypto-backend.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: _gnutls_get_crypto_mac
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 3
    functionsReached:
    - _get_algo
    linkageType: ''
    returnType: gnutls_crypto_mac_st
    signature: gnutls_crypto_mac_st *_gnutls_get_crypto_mac(gnutls_mac_algorithm_t
      algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _algo_register
      Src: /src/gnutls/lib/crypto-backend.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - algorithm
    - priority
    - s
    - free_s
    argTypes:
    - gnutls_digest_algorithm_t
    - int
    - gnutls_crypto_digest_st*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: gnutls_crypto_single_digest_register
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _algo_register
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_single_digest_register(gnutls_digest_algorithm_t
      algorithm,\n\t\t\t\t\t int priority,\n\t\t\t\t\t const gnutls_crypto_digest_st
      *s,\n\t\t\t\t\t int free_s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_algo
      Src: /src/gnutls/lib/crypto-backend.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: _gnutls_get_crypto_digest
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 3
    functionsReached:
    - _get_algo
    linkageType: ''
    returnType: gnutls_crypto_digest_st
    signature: 'gnutls_crypto_digest_st *

      _gnutls_get_crypto_digest(gnutls_digest_algorithm_t algo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-backend.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - algorithm
    - priority
    - init
    - setkey
    - setnonce
    - hash
    - output
    - deinit
    - hash_fast
    argTypes:
    - gnutls_mac_algorithm_t
    - int
    - gnutls_mac_init_func
    - gnutls_mac_setkey_func
    - gnutls_mac_setnonce_func
    - gnutls_mac_hash_func
    - gnutls_mac_output_func
    - gnutls_mac_deinit_func
    - gnutls_mac_fast_func
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: gnutls_crypto_register_mac
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_register_mac(gnutls_mac_algorithm_t algorithm, int
      priority,\n\t\t\t       gnutls_mac_init_func init,\n\t\t\t       gnutls_mac_setkey_func
      setkey,\n\t\t\t       gnutls_mac_setnonce_func setnonce,\n\t\t\t       gnutls_mac_hash_func
      hash,\n\t\t\t       gnutls_mac_output_func output,\n\t\t\t       gnutls_mac_deinit_func
      deinit,\n\t\t\t       gnutls_mac_fast_func hash_fast)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-backend.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - algorithm
    - priority
    - init
    - hash
    - output
    - deinit
    - hash_fast
    argTypes:
    - gnutls_digest_algorithm_t
    - int
    - gnutls_digest_init_func
    - gnutls_digest_hash_func
    - gnutls_digest_output_func
    - gnutls_digest_deinit_func
    - gnutls_digest_fast_func
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: gnutls_crypto_register_digest
    functionSourceFile: /src/gnutls/lib/crypto-backend.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int gnutls_crypto_register_digest(gnutls_digest_algorithm_t algorithm,\n\t\t\t\t
      \ int priority, gnutls_digest_init_func init,\n\t\t\t\t  gnutls_digest_hash_func
      hash,\n\t\t\t\t  gnutls_digest_output_func output,\n\t\t\t\t  gnutls_digest_deinit_func
      deinit,\n\t\t\t\t  gnutls_digest_fast_func hash_fast)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - gnutls_credentials_type_t
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: _gnutls_get_auth_info
    functionSourceFile: /src/gnutls/lib/auth.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *_gnutls_get_auth_info(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_credentials_type_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/extv.c:42,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/extv.c:43,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/extv.c:46,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:53,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/extv.c:56,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/extv.c:57,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/extv.c:60,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/extv.c:61,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/extv.c:64,1
    - Dst: cb
      Src: /src/gnutls/lib/extv.c:69,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:71,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - cb
    - data
    - data_size
    argTypes:
    - void*
    - gnutls_ext_raw_process_func
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 79
    functionName: _gnutls_extv_parse
    functionSourceFile: /src/gnutls/lib/extv.c
    functionUses: 1
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LENGTH_RET
    - gnutls_assert_val
    - cb
    linkageType: ''
    returnType: int
    signature: "int _gnutls_extv_parse(void *ctx, gnutls_ext_raw_process_func cb,\n\t\t
      \      const uint8_t *data, int data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:116,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:122,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:125,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:129,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/extv.c:130,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:132,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:136,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:143,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/extv.c:146,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:155,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:161,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:164,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:168,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:171,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:175,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/extv.c:176,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:178,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:182,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/extv.c:185,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:189,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/extv.c:192,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:196,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/extv.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - ctx
    - cb
    - data
    - flags
    argTypes:
    - void*
    - gnutls_ext_raw_process_func
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: gnutls_ext_raw_parse
    functionSourceFile: /src/gnutls/lib/extv.c
    functionUses: 8
    functionsReached:
    - _gnutls_extv_parse
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ext_raw_parse(void *ctx, gnutls_ext_raw_process_func cb,\n\t\t\t
      const gnutls_datum_t *data, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/extv.c:211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:213,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/extv.c:216,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:218,1
    - Dst: cb
      Src: /src/gnutls/lib/extv.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.c:223,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/extv.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - tls_id
    - ctx
    argTypes:
    - gnutls_buffer_st*
    - uint16_t
    - void*
    constantsTouched: []
    func_position:
      end: 243
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: _gnutls_extv_append
    functionSourceFile: /src/gnutls/lib/extv.c
    functionUses: 1
    functionsReached:
    - _gnutls_write_uint16
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    - cb
    linkageType: ''
    returnType: int
    signature: "int _gnutls_extv_append(gnutls_buffer_st *buf, uint16_t tls_id, void
      *ctx,\n\t\t\tint (*cb)(void *ctx, gnutls_buffer_st *buf))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/gnutls/lib/cert-cred-x509.c:71,1
    - Dst: _gnutls_str_array_append_idna
      Src: /src/gnutls/lib/cert-cred-x509.c:76,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:79,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:80,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/cert-cred-x509.c:87,1
    - Dst: _gnutls_str_array_append_idna
      Src: /src/gnutls/lib/cert-cred-x509.c:90,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:93,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - crt
    - names
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_str_array_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 100
    functionName: _gnutls_get_x509_name
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - _gnutls_str_array_append_idna
    - _gnutls_str_array_clear
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_x509_crt_get_subject_alt_name
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_get_x509_name(gnutls_x509_crt_t crt, gnutls_str_array_t
      *names)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-x509.c:115,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/cert-cred-x509.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:119,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred-x509.c:123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:125,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-cred-x509.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:134,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:135,1
    - Dst: _gnutls_get_x509_name
      Src: /src/gnutls/lib/cert-cred-x509.c:139,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:141,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:142,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/cert-cred-x509.c:146,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:150,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-x509.c:154,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:157,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:164,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - res
    - key
    - input_cert
    - input_cert_size
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 167
    functionName: parse_der_cert_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_str_array_init
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - _gnutls_get_x509_name
    - gnutls_pcert_import_x509
    - _gnutls_certificate_credential_append_keypair
    - _gnutls_str_array_clear
    - gnutls_malloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int parse_der_cert_mem(gnutls_certificate_credentials_t res,\n\t\t\t
      \     gnutls_privkey_t key, const void *input_cert,\n\t\t\t      int input_cert_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-x509.c:185,1
    - Dst: memmem
      Src: /src/gnutls/lib/cert-cred-x509.c:189,1
    - Dst: memmem
      Src: /src/gnutls/lib/cert-cred-x509.c:192,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:196,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred-x509.c:207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:209,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-cred-x509.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:216,1
    - Dst: memmem
      Src: /src/gnutls/lib/cert-cred-x509.c:232,1
    - Dst: memmem
      Src: /src/gnutls/lib/cert-cred-x509.c:235,1
    - Dst: _gnutls_get_x509_name
      Src: /src/gnutls/lib/cert-cred-x509.c:245,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:247,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:253,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/lib/cert-cred-x509.c:258,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:261,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:262,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-x509.c:266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:269,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:274,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:279,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:281,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:284,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:285,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 4
    argNames:
    - res
    - key
    - input_cert
    - input_cert_size
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 288
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 288
    functionName: parse_pem_cert_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_str_array_init
    - memmem
    - gnutls_x509_crt_import
    - _gnutls_get_x509_name
    - gnutls_x509_crt_init
    - gnutls_free
    - _gnutls_certificate_credential_append_keypair
    - gnutls_x509_crt_deinit
    - _gnutls_str_array_clear
    - gnutls_pcert_import_x509_list
    - gnutls_pcert_deinit
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int parse_pem_cert_mem(gnutls_certificate_credentials_t res,\n\t\t\t
      \     gnutls_privkey_t key, const char *input_cert,\n\t\t\t      int input_cert_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_der_cert_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:299,1
    - Dst: parse_pem_cert_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - res
    - key
    - cert
    - cert_size
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - void*
    - int
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: read_cert_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - parse_der_cert_mem
    - parse_pem_cert_mem
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_cert_mem(gnutls_certificate_credentials_t res,\n\t\t\t gnutls_privkey_t
      key, const void *cert, int cert_size,\n\t\t\t gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/cert-cred-x509.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - userdata
    - attempt
    - token_url
    - token_label
    - flags
    - pin
    - pin_max
    argTypes:
    - void*
    - int
    - char*
    - char*
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: tmp_pin_cb
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int tmp_pin_cb(void *userdata, int attempt, const char *token_url,\n\t\t
      \     const char *token_label, unsigned int flags, char *pin,\n\t\t      size_t
      pin_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/cert-cred-x509.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:345,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:350,1
    - Dst: snprintf
      Src: /src/gnutls/lib/cert-cred-x509.c:353,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:355,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/lib/cert-cred-x509.c:359,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:362,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:363,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 7
    argNames:
    - res
    - key
    - key_size
    - type
    - pass
    - flags
    - rkey
    argTypes:
    - gnutls_certificate_credentials_t
    - void*
    - int
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 374
    functionName: _gnutls_read_key_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - snprintf
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_privkey_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_read_key_mem(gnutls_certificate_credentials_t res, const
      void *key,\n\t\t\t int key_size, gnutls_x509_crt_fmt_t type,\n\t\t\t const char
      *pass, unsigned int flags,\n\t\t\t gnutls_privkey_t *rkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/cert-cred-x509.c:386,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:388,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:393,1
    - Dst: gnutls_privkey_import_url
      Src: /src/gnutls/lib/cert-cred-x509.c:396,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:398,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - res
    - url
    - rkey
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 411
    functionName: read_key_url
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_set_pin_function
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_privkey_import_url
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_key_url(gnutls_certificate_credentials_t res, const char
      *url,\n\t\t\tgnutls_privkey_t *rkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-x509.c:426,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:428,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:431,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred-x509.c:436,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:438,1
    - Dst: gnutls_x509_crt_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:443,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/lib/cert-cred-x509.c:446,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/lib/cert-cred-x509.c:448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:451,1
    - Dst: _gnutls_get_x509_name
      Src: /src/gnutls/lib/cert-cred-x509.c:455,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:457,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/cert-cred-x509.c:463,1
    - Dst: gnutls_pcert_import_x509
      Src: /src/gnutls/lib/cert-cred-x509.c:469,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:471,1
    - Dst: _gnutls_get_raw_issuer
      Src: /src/gnutls/lib/cert-cred-x509.c:476,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:480,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred-x509.c:482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:484,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-cred-x509.c:488,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:490,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:493,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-x509.c:496,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:499,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:504,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:509,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:510,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:511,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:512,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 3
    argNames:
    - res
    - key
    - url
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 514
      start: 416
    functionDepth: 6
    functionLinenumber: 416
    functionLinenumberEnd: 514
    functionName: read_cert_url
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_str_array_init
    - gnutls_free
    - gnutls_x509_crt_deinit
    - _gnutls_get_x509_name
    - gnutls_x509_crt_init
    - gnutls_pcert_import_x509
    - gnutls_x509_crt_import
    - _gnutls_certificate_credential_append_keypair
    - _gnutls_get_raw_issuer
    - _gnutls_str_array_clear
    - gnutls_x509_crt_import_url
    - gnutls_x509_crt_check_issuer
    - gnutls_assert
    - _gnutls_reallocarray
    - gnutls_x509_crt_set_pin_function
    linkageType: ''
    returnType: int
    signature: "int read_cert_url(gnutls_certificate_credentials_t res,\n\t\t\t gnutls_privkey_t
      key, const char *url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/lib/cert-cred-x509.c:526,1
    - Dst: read_cert_url
      Src: /src/gnutls/lib/cert-cred-x509.c:527,1
    - Dst: read_file
      Src: /src/gnutls/lib/cert-cred-x509.c:530,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:533,1
    - Dst: read_cert_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:537,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-x509.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - res
    - key
    - certfile
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_privkey_t
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 541
      start: 518
    functionDepth: 7
    functionLinenumber: 518
    functionLinenumberEnd: 541
    functionName: read_cert_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - gnutls_url_is_supported
    - free
    - read_cert_url
    - read_cert_mem
    - read_file
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_cert_file(gnutls_certificate_credentials_t res,\n\t\t\t  gnutls_privkey_t
      key, const char *certfile,\n\t\t\t  gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_url_is_known
      Src: /src/gnutls/lib/cert-cred-x509.c:555,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/lib/cert-cred-x509.c:556,1
    - Dst: snprintf
      Src: /src/gnutls/lib/cert-cred-x509.c:560,1
    - Dst: gnutls_certificate_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:562,1
    - Dst: read_key_url
      Src: /src/gnutls/lib/cert-cred-x509.c:566,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:568,1
    - Dst: read_file
      Src: /src/gnutls/lib/cert-cred-x509.c:572,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:575,1
    - Dst: _gnutls_read_key_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:579,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/cert-cred-x509.c:580,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-x509.c:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - res
    - keyfile
    - type
    - pass
    - flags
    - rkey
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 584
      start: 546
    functionDepth: 5
    functionLinenumber: 546
    functionLinenumberEnd: 584
    functionName: _gnutls_read_key_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_pin_function
    - gnutls_url_is_supported
    - free
    - read_key_url
    - snprintf
    - _gnutls_url_is_known
    - gnutls_assert
    - zeroize_key
    - _gnutls_read_key_mem
    - read_file
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_read_key_file(gnutls_certificate_credentials_t res,\n\t\t\t
      \ const char *keyfile, gnutls_x509_crt_fmt_t type,\n\t\t\t  const char *pass,
      unsigned int flags,\n\t\t\t  gnutls_privkey_t *rkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_x509_key_mem2
      Src: /src/gnutls/lib/cert-cred-x509.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - cert
    - key
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: gnutls_certificate_set_x509_key_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 213
    functionsReached:
    - gnutls_certificate_set_x509_key_mem2
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\tconst gnutls_datum_t *cert,\n\t\t\t\t\tconst gnutls_datum_t
      *key,\n\t\t\t\t\tgnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_read_key_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:665,1
    - Dst: read_cert_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:670,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:672,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred-x509.c:678,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:679,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred-x509.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - res
    - cert
    - key
    - type
    - pass
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 684
      start: 654
    functionDepth: 6
    functionLinenumber: 654
    functionLinenumberEnd: 684
    functionName: gnutls_certificate_set_x509_key_mem2
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 3
    functionsReached:
    - CRED_RET_SUCCESS
    - read_cert_mem
    - gnutls_privkey_deinit
    - _gnutls_check_key_cert_match
    - _gnutls_read_key_mem
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_key_mem2(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t const gnutls_datum_t *cert,\n\t\t\t\t\t const gnutls_datum_t
      *key,\n\t\t\t\t\t gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t const char *pass,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:726,1
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-x509.c:728,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/cert-cred-x509.c:732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:734,1
    - Dst: gnutls_privkey_set_pin_function
      Src: /src/gnutls/lib/cert-cred-x509.c:739,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/cert-cred-x509.c:742,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:744,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:749,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:752,1
    - Dst: _gnutls_get_x509_name
      Src: /src/gnutls/lib/cert-cred-x509.c:756,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:758,1
    - Dst: gnutls_pcert_import_x509_list
      Src: /src/gnutls/lib/cert-cred-x509.c:762,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:766,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-x509.c:771,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:774,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred-x509.c:783,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:784,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred-x509.c:788,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:792,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:793,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-x509.c:794,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - res
    - cert_list
    - cert_list_size
    - key
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_crt_t*
    - int
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 796
      start: 714
    functionDepth: 5
    functionLinenumber: 714
    functionLinenumberEnd: 796
    functionName: gnutls_certificate_set_x509_key
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 7
    functionsReached:
    - _gnutls_str_array_init
    - gnutls_free
    - _gnutls_get_x509_name
    - _gnutls_str_array_clear
    - _gnutls_reallocarray
    - _gnutls_certificate_credential_append_keypair
    - CRED_RET_SUCCESS
    - gnutls_assert
    - gnutls_pcert_import_x509_list
    - gnutls_privkey_set_pin_function
    - gnutls_pcert_deinit
    - _gnutls_check_key_cert_match
    - gnutls_privkey_init
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_key(gnutls_certificate_credentials_t
      res,\n\t\t\t\t    gnutls_x509_crt_t *cert_list,\n\t\t\t\t    int cert_list_size,\n\t\t\t\t
      \   gnutls_x509_privkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:827,1
    - Dst: gnutls_privkey_export_x509
      Src: /src/gnutls/lib/cert-cred-x509.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - res
    - index
    - key
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 832
    functionName: gnutls_certificate_get_x509_key
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_privkey_export_x509
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t
      res,\n\t\t\t\t    unsigned index, gnutls_x509_privkey_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:872,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:877,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:881,1
    - Dst: gnutls_pcert_export_x509
      Src: /src/gnutls/lib/cert-cred-x509.c:886,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:890,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:891,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - res
    - index
    - crt_list
    - crt_list_size
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_x509_crt_t**
    - unsigned*
    constantsTouched: []
    func_position:
      end: 898
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 898
    functionName: gnutls_certificate_get_x509_crt
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pcert_export_x509
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t
      res,\n\t\t\t\t    unsigned index,\n\t\t\t\t    gnutls_x509_crt_t **crt_list,\n\t\t\t\t
      \   unsigned *crt_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - res
    - tlist
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_trust_list_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 921
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 921
    functionName: gnutls_certificate_set_trust_list
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_trust_list_deinit
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_trust_list(gnutls_certificate_credentials_t
      res,\n\t\t\t\t       gnutls_x509_trust_list_t tlist,\n\t\t\t\t       unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - tlist
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_trust_list_t*
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: gnutls_certificate_get_trust_list
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_get_trust_list(gnutls_certificate_credentials_t
      res,\n\t\t\t\t       gnutls_x509_trust_list_t *tlist)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/gnutls/lib/cert-cred-x509.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - res
    - certfile
    - keyfile
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 985
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 985
    functionName: gnutls_certificate_set_x509_key_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 14
    functionsReached:
    - gnutls_certificate_set_x509_key_file2
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_key_file(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t const char *certfile,\n\t\t\t\t\t const char *keyfile,\n\t\t\t\t\t
      gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_read_key_file
      Src: /src/gnutls/lib/cert-cred-x509.c:1038,1
    - Dst: read_cert_file
      Src: /src/gnutls/lib/cert-cred-x509.c:1042,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1043,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred-x509.c:1049,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1050,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred-x509.c:1054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - res
    - certfile
    - keyfile
    - type
    - pass
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1055
      start: 1027
    functionDepth: 8
    functionLinenumber: 1027
    functionLinenumberEnd: 1055
    functionName: gnutls_certificate_set_x509_key_file2
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 16
    functionsReached:
    - CRED_RET_SUCCESS
    - read_cert_file
    - _gnutls_read_key_file
    - gnutls_privkey_deinit
    - _gnutls_check_key_cert_match
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_key_file2(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t  const char *certfile,\n\t\t\t\t\t  const char *keyfile,\n\t\t\t\t\t
      \ gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t  const char *pass, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - res
    - ca
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1088
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1088
    functionName: gnutls_certificate_set_x509_trust_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 108
    functionsReached:
    - gnutls_x509_trust_list_add_trust_mem
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t  const gnutls_datum_t *ca,\n\t\t\t\t\t  gnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-x509.c:1119,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:1121,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-cred-x509.c:1127,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1129,1
    - Dst: _gnutls_x509_crt_cpy
      Src: /src/gnutls/lib/cert-cred-x509.c:1133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1135,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/lib/cert-cred-x509.c:1140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1143,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:1147,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1152,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:1153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - res
    - ca_list
    - ca_list_size
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_crt_t*
    - int
    constantsTouched: []
    func_position:
      end: 1156
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1156
    functionName: gnutls_certificate_set_x509_trust
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    - gnutls_x509_trust_list_add_cas
    - _gnutls_x509_crt_cpy
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_trust(gnutls_certificate_credentials_t
      res,\n\t\t\t\t      gnutls_x509_crt_t *ca_list,\n\t\t\t\t      int ca_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/cert-cred-x509.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cred
    - cafile
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1192
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1192
    functionName: gnutls_certificate_set_x509_trust_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 14
    functionsReached:
    - gnutls_x509_trust_list_add_trust_file
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_trust_file(gnutls_certificate_credentials_t
      cred,\n\t\t\t\t\t   const char *cafile,\n\t\t\t\t\t   gnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_dir
      Src: /src/gnutls/lib/cert-cred-x509.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cred
    - ca_dir
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1222
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1222
    functionName: gnutls_certificate_set_x509_trust_dir
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_trust_list_add_trust_dir
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_trust_dir(gnutls_certificate_credentials_t
      cred,\n\t\t\t\t\t  const char *ca_dir,\n\t\t\t\t\t  gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_system_trust
      Src: /src/gnutls/lib/cert-cred-x509.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cred
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 1244
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1244
    functionName: gnutls_certificate_set_x509_system_trust
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_trust_list_add_system_trust
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_system_trust(\n\tgnutls_certificate_credentials_t
      cred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - res
    - CRL
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1276
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1276
    functionName: gnutls_certificate_set_x509_crl_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_trust_list_add_trust_mem
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\tconst gnutls_datum_t *CRL,\n\t\t\t\t\tgnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/cert-cred-x509.c:1306,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/lib/cert-cred-x509.c:1312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1314,1
    - Dst: _gnutls_x509_crl_cpy
      Src: /src/gnutls/lib/cert-cred-x509.c:1318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1320,1
    - Dst: gnutls_x509_trust_list_add_crls
      Src: /src/gnutls/lib/cert-cred-x509.c:1325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1328,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-x509.c:1332,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1337,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-x509.c:1338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - res
    - crl_list
    - crl_list_size
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_x509_crl_t*
    - int
    constantsTouched: []
    func_position:
      end: 1341
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1341
    functionName: gnutls_certificate_set_x509_crl
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - free
    - _gnutls_x509_crl_cpy
    - gnutls_x509_crl_init
    - gnutls_x509_trust_list_add_crls
    - gnutls_x509_crl_deinit
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_crl(gnutls_certificate_credentials_t
      res,\n\t\t\t\t    gnutls_x509_crl_t *crl_list,\n\t\t\t\t    int crl_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/cert-cred-x509.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - res
    - crlfile
    - type
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1373
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1373
    functionName: gnutls_certificate_set_x509_crl_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_trust_list_add_trust_file
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t const char *crlfile,\n\t\t\t\t\t gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/gnutls/lib/cert-cred-x509.c:1424,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1427,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_mem
      Src: /src/gnutls/lib/cert-cred-x509.c:1431,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/cert-cred-x509.c:1433,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-x509.c:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - res
    - pkcs12file
    - type
    - password
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1438
    functionName: gnutls_certificate_set_x509_simple_pkcs12_file
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 2
    functionsReached:
    - free
    - zeroize_key
    - gnutls_certificate_set_x509_simple_pkcs12_mem
    - read_file
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_simple_pkcs12_file(\n\tgnutls_certificate_credentials_t
      res, const char *pkcs12file,\n\tgnutls_x509_crt_fmt_t type, const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/lib/cert-cred-x509.c:1489,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1491,1
    - Dst: gnutls_pkcs12_import
      Src: /src/gnutls/lib/cert-cred-x509.c:1495,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1497,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1498,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/lib/cert-cred-x509.c:1503,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1505,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1506,1
    - Dst: gnutls_pkcs12_simple_parse
      Src: /src/gnutls/lib/cert-cred-x509.c:1511,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1515,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/lib/cert-cred-x509.c:1520,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1523,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1529,1
    - Dst: gnutls_certificate_set_x509_crl
      Src: /src/gnutls/lib/cert-cred-x509.c:1535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-cred-x509.c:1537,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1550,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-x509.c:1551,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1554,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/cert-cred-x509.c:1556,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 4
    argNames:
    - res
    - p12blob
    - type
    - password
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    constantsTouched: []
    func_position:
      end: 1559
      start: 1478
    functionDepth: 6
    functionLinenumber: 1478
    functionLinenumberEnd: 1559
    functionName: gnutls_certificate_set_x509_simple_pkcs12_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pkcs12_simple_parse
    - gnutls_pkcs12_verify_mac
    - gnutls_pkcs12_import
    - gnutls_certificate_set_x509_crl
    - gnutls_x509_privkey_deinit
    - gnutls_pkcs12_deinit
    - gnutls_x509_crl_deinit
    - gnutls_certificate_set_x509_key
    - gnutls_assert
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_x509_simple_pkcs12_mem(\n\tgnutls_certificate_credentials_t
      res, const gnutls_datum_t *p12blob,\n\tgnutls_x509_crt_fmt_t type, const char
      *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 1572
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1572
    functionName: gnutls_certificate_free_crls
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_certificate_free_crls(gnutls_certificate_credentials_t
      sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cred
    - fn
    - userdata
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1595
    functionName: gnutls_certificate_set_pin_function
    functionSourceFile: /src/gnutls/lib/cert-cred-x509.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_pin_function(gnutls_certificate_credentials_t
      cred,\n\t\t\t\t\t gnutls_pin_callback_t fn,\n\t\t\t\t\t void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/lib/dh-session.c:70,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/dh-session.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - session
    - bits
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: gnutls_dh_set_prime_bits
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 6
    functionsReached:
    - gnutls_sec_param_to_pk_bits
    - _gnutls_audit_log
    linkageType: ''
    returnType: void
    signature: void gnutls_dh_set_prime_bits(gnutls_session_t session, unsigned int
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/dh-session.c:107,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:111,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:117,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:122,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:124,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:128,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/dh-session.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:134,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/dh-session.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:141,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/dh-session.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - session
    - raw_gen
    - raw_prime
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 147
    functionName: gnutls_dh_get_group
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 3
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_set_datum
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_get_group(gnutls_session_t session, gnutls_datum_t *raw_gen,\n\t\t\tgnutls_datum_t
      *raw_prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/dh-session.c:172,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:176,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:183,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:189,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:191,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:196,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/dh-session.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - session
    - raw_key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 202
    functionName: gnutls_dh_get_pubkey
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 4
    functionsReached:
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_set_datum
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_get_pubkey(gnutls_session_t session, gnutls_datum_t *raw_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/dh-session.c:217,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:223,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:229,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:231,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:237,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:239,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 247
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 247
    functionName: gnutls_dh_get_secret_bits
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - gnutls_auth_get_type
    - _gnutls_get_auth_info
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_get_secret_bits(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh-session.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:256,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/dh-session.c:260,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh-session.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mpi_buf
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: mpi_buf2bits
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_release
    - _gnutls_mpi_get_nbits
    - gnutls_assert
    - _gnutls_mpi_init_scan_nz
    linkageType: ''
    returnType: int
    signature: int mpi_buf2bits(gnutls_datum_t *mpi_buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/dh-session.c:284,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:288,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:290,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:297,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:299,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:314,1
    - Dst: mpi_buf2bits
      Src: /src/gnutls/lib/dh-session.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 322
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 322
    functionName: gnutls_dh_get_prime_bits
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 5
    functionsReached:
    - mpi_buf2bits
    - _gnutls_get_auth_info
    - gnutls_assert
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_get_prime_bits(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/dh-session.c:338,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:342,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:344,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:352,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:354,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/dh-session.c:362,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh-session.c:364,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh-session.c:370,1
    - Dst: mpi_buf2bits
      Src: /src/gnutls/lib/dh-session.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 375
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 375
    functionName: gnutls_dh_get_peers_public_bits
    functionSourceFile: /src/gnutls/lib/dh-session.c
    functionUses: 1
    functionsReached:
    - mpi_buf2bits
    - _gnutls_get_auth_info
    - gnutls_assert
    - gnutls_auth_get_type
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_get_peers_public_bits(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:81,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:83,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/constate.c:86,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/constate.c:89,1
    - Dst: _gnutls_ssl3_generate_random
      Src: /src/gnutls/lib/constate.c:90,1
    - Dst: _gnutls_PRF
      Src: /src/gnutls/lib/constate.c:96,1
    - Dst: _gnutls_memory_mark_undefined
      Src: /src/gnutls/lib/constate.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:106,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:109,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:110,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:115,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:117,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:122,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:126,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:128,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:132,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:134,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:140,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:142,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:147,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:151,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:152,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:155,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:156,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:163,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:166,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:171,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:173,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:175,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:179,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 5
    argNames:
    - session
    - params
    - hash_size
    - IV_size
    - key_size
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 187
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 187
    functionName: _gnutls_set_keys
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - _gnutls_ssl3_generate_random
    - assert
    - _gnutls_PRF
    - _gnutls_memory_mark_defined
    - _gnutls_hard_log
    - _gnutls_memory_mark_undefined
    - memcpy
    - get_num_version
    - _gnutls_bin2hex
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_keys(gnutls_session_t session,\n\t\t\t    record_parameters_st
      *params, unsigned hash_size,\n\t\t\t    unsigned IV_size, unsigned key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:205,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:207,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:208,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:213,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:215,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:217,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:221,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:223,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:225,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:230,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:232,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:233,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:238,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:241,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:243,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:248,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:250,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:252,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:268,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:270,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:274,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:276,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:280,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:282,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:289,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:291,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:295,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:297,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:301,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:306,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:307,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:310,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:313,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:316,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:317,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:320,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:324,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - session
    - stage
    - params
    - iv_size
    - key_size
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    - record_parameters_st*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 329
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 329
    functionName: _tls13_update_keys
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - assert
    - _gnutls_epoch_get
    - _gnutls_hard_log
    - memcpy
    - _gnutls_bin2hex
    - gnutls_assert_val
    - _tls13_expand_secret
    linkageType: ''
    returnType: int
    signature: "int _tls13_update_keys(gnutls_session_t session, hs_stage_t stage,\n\t\t\t
      \     record_parameters_st *params, unsigned iv_size,\n\t\t\t      unsigned
      key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/constate.c:346,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:350,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/constate.c:352,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:356,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:366,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:367,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:370,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:371,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:375,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:376,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:379,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - session
    - params
    - iv_size
    - key_size
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 385
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 385
    functionName: _tls13_set_early_keys
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - assert
    - _tls13_expand_secret2
    - _gnutls_hard_log
    - memcpy
    - _gnutls_bin2hex
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _tls13_set_early_keys(gnutls_session_t session,\n\t\t\t\t record_parameters_st
      *params, unsigned iv_size,\n\t\t\t\t unsigned key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_update_keys
      Src: /src/gnutls/lib/constate.c:404,1
    - Dst: _tls13_set_early_keys
      Src: /src/gnutls/lib/constate.c:408,1
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/constate.c:426,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:431,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/constate.c:433,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:437,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:440,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:443,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:445,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:448,1
    - Dst: _tls13_derive_secret
      Src: /src/gnutls/lib/constate.c:463,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:469,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/constate.c:471,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:475,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:477,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:480,1
    - Dst: _tls13_expand_secret
      Src: /src/gnutls/lib/constate.c:482,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:485,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:498,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:499,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:502,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:503,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:506,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:509,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:510,1
    - Dst: assert
      Src: /src/gnutls/lib/constate.c:514,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:515,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:518,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:519,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:522,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/constate.c:525,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/constate.c:526,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 5
    argNames:
    - session
    - stage
    - params
    - iv_size
    - key_size
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    - record_parameters_st*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 535
      start: 387
    functionDepth: 7
    functionLinenumber: 387
    functionLinenumberEnd: 535
    functionName: _tls13_set_keys
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - _gnutls_call_keylog_func
    - assert
    - _tls13_update_keys
    - _gnutls_hard_log
    - _tls13_derive_secret
    - _tls13_set_early_keys
    - memcpy
    - _gnutls_bin2hex
    - gnutls_assert_val
    - _tls13_expand_secret
    linkageType: ''
    returnType: int
    signature: "int _tls13_set_keys(gnutls_session_t session, hs_stage_t stage,\n\t\t\t
      \  record_parameters_st *params, unsigned iv_size,\n\t\t\t   unsigned key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/constate.c:555,1
    - Dst: _gnutls_version_has_explicit_iv
      Src: /src/gnutls/lib/constate.c:556,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/constate.c:558,1
    - Dst: _gnutls_cipher_get_implicit_iv_size
      Src: /src/gnutls/lib/constate.c:560,1
    - Dst: _gnutls_auth_cipher_init
      Src: /src/gnutls/lib/constate.c:564,1
    - Dst: ENABLE_SSL3
      Src: /src/gnutls/lib/constate.c:566,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:571,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:572,1
    - Dst: is_cipher_algo_allowed
      Src: /src/gnutls/lib/constate.c:575,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:576,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - params
    - ver
    - read
    - state
    argTypes:
    - record_parameters_st*
    - version_entry_st*
    - int
    - record_state_st*
    constantsTouched: []
    func_position:
      end: 581
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 581
    functionName: _gnutls_init_record_state
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - ENABLE_SSL3
    - _gnutls_switch_fips_state
    - is_cipher_algo_allowed
    - _gnutls_cipher_type
    - _gnutls_cipher_get_implicit_iv_size
    - _gnutls_auth_cipher_init
    - _gnutls_version_has_explicit_iv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_init_record_state(record_parameters_st *params,\n\t\t\t\t
      \    const version_entry_st *ver, int read,\n\t\t\t\t     record_state_st *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/constate.c:590,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:592,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:594,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/constate.c:596,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/constate.c:597,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:603,1
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:612,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/constate.c:614,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/constate.c:616,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:619,1
    - Dst: _gnutls_cipher_is_ok
      Src: /src/gnutls/lib/constate.c:622,1
    - Dst: _gnutls_mac_is_ok
      Src: /src/gnutls/lib/constate.c:623,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:624,1
    - Dst: _gnutls_version_has_selectable_prf
      Src: /src/gnutls/lib/constate.c:626,1
    - Dst: get_version
      Src: /src/gnutls/lib/constate.c:626,1
    - Dst: _gnutls_mac_is_ok
      Src: /src/gnutls/lib/constate.c:628,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/constate.c:628,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:629,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/constate.c:630,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/constate.c:633,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 2
    argNames:
    - session
    - cs
    argTypes:
    - gnutls_session_t
    - gnutls_cipher_suite_entry_st*
    constantsTouched: []
    func_position:
      end: 641
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 641
    functionName: _gnutls_set_cipher_suite2
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 2
    functionsReached:
    - _gnutls_epoch_get
    - mac_to_entry
    - cipher_to_entry
    - unlikely
    - _gnutls_mac_is_ok
    - IS_SERVER
    - get_version
    - _gnutls_version_has_selectable_prf
    - gnutls_assert_val
    - _gnutls_cipher_is_ok
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_cipher_suite2(gnutls_session_t session,\n\t\t\t      const
      gnutls_cipher_suite_entry_st *cs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:652,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:654,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:656,1
    - Dst: _gnutls_epoch_setup_next
      Src: /src/gnutls/lib/constate.c:658,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:660,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - session
    - epoch_rel
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 670
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 670
    functionName: _gnutls_epoch_dup
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 3
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_epoch_setup_next
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_epoch_dup(gnutls_session_t session, unsigned int epoch_rel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/constate.c:681,1
    - Dst: get_version
      Src: /src/gnutls/lib/constate.c:683,1
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:685,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:686,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/constate.c:688,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:690,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:695,1
    - Dst: _gnutls_cipher_is_ok
      Src: /src/gnutls/lib/constate.c:698,1
    - Dst: _gnutls_mac_is_ok
      Src: /src/gnutls/lib/constate.c:699,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:700,1
    - Dst: _gnutls_version_has_explicit_iv
      Src: /src/gnutls/lib/constate.c:702,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/constate.c:703,1
    - Dst: _gnutls_cipher_get_implicit_iv_size
      Src: /src/gnutls/lib/constate.c:704,1
    - Dst: _gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/constate.c:706,1
    - Dst: _gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/constate.c:709,1
    - Dst: _gnutls_mac_get_key_size
      Src: /src/gnutls/lib/constate.c:710,1
    - Dst: _tls13_set_keys
      Src: /src/gnutls/lib/constate.c:714,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:717,1
    - Dst: _tls13_init_record_state
      Src: /src/gnutls/lib/constate.c:721,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:724,1
    - Dst: _tls13_init_record_state
      Src: /src/gnutls/lib/constate.c:729,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:732,1
    - Dst: _gnutls_set_keys
      Src: /src/gnutls/lib/constate.c:735,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:738,1
    - Dst: _gnutls_init_record_state
      Src: /src/gnutls/lib/constate.c:740,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:742,1
    - Dst: _gnutls_init_record_state
      Src: /src/gnutls/lib/constate.c:744,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:746,1
    - Dst: _gnutls_cipher_type
      Src: /src/gnutls/lib/constate.c:753,1
    - Dst: _gnutls_record_overhead
      Src: /src/gnutls/lib/constate.c:760,1
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/constate.c:768,1
    - Dst: _dtls_reset_window
      Src: /src/gnutls/lib/constate.c:770,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:772,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 3
    argNames:
    - session
    - epoch
    - stage
    argTypes:
    - gnutls_session_t
    - uint16_t
    - hs_stage_t
    constantsTouched: []
    func_position:
      end: 777
      start: 672
    functionDepth: 8
    functionLinenumber: 672
    functionLinenumberEnd: 777
    functionName: _gnutls_epoch_set_keys
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - _gnutls_record_log
    - _gnutls_mac_is_ok
    - _gnutls_cipher_get_key_size
    - gnutls_assert_val
    - _gnutls_cipher_is_ok
    - RECORD_HEADER_SIZE
    - _gnutls_cipher_get_iv_size
    - _gnutls_cipher_type
    - _gnutls_cipher_get_implicit_iv_size
    - _gnutls_set_keys
    - unlikely
    - get_version
    - _gnutls_record_overhead
    - _gnutls_version_has_explicit_iv
    - _gnutls_mac_get_key_size
    - _tls13_init_record_state
    - IS_SERVER
    - _gnutls_epoch_get
    - _dtls_reset_window
    - _gnutls_init_record_state
    - _tls13_set_keys
    linkageType: ''
    returnType: int
    signature: "int _gnutls_epoch_set_keys(gnutls_session_t session, uint16_t epoch,\n\t\t\t
      \  hs_stage_t stage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/constate.c:784,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/constate.c:790,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:792,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/constate.c:794,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:796,1
    - Dst: _gnutls_memory_mark_defined
      Src: /src/gnutls/lib/constate.c:798,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:800,1
    - Dst: memcpy
      Src: /src/gnutls/lib/constate.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 821
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 821
    functionName: _gnutls_set_resumed_parameters
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 2
    functionsReached:
    - get_version
    - memcpy
    - _gnutls_memory_mark_defined
    linkageType: ''
    returnType: void
    signature: void _gnutls_set_resumed_parameters(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_generate_master
      Src: /src/gnutls/lib/constate.c:835,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 839
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 839
    functionName: _gnutls_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 1
    functionsReached:
    - _gnutls_generate_master
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_connection_state_init(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_resumed_parameters
      Src: /src/gnutls/lib/constate.c:854,1
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/constate.c:856,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 866
      start: 844
    functionDepth: 9
    functionLinenumber: 844
    functionLinenumberEnd: 866
    functionName: _gnutls_read_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_log
    - _gnutls_epoch_set_keys
    - _gnutls_set_resumed_parameters
    linkageType: ''
    returnType: int
    signature: int _gnutls_read_connection_state_init(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_resumed_parameters
      Src: /src/gnutls/lib/constate.c:889,1
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/constate.c:891,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:893,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:895,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 905
      start: 871
    functionDepth: 9
    functionLinenumber: 871
    functionLinenumberEnd: 905
    functionName: _gnutls_write_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_assert_val
    - _gnutls_epoch_set_keys
    - _gnutls_set_resumed_parameters
    linkageType: ''
    returnType: int
    signature: int _gnutls_write_connection_state_init(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - session
    - epoch_rel
    - epoch_out
    argTypes:
    - gnutls_session_t
    - unsigned int
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 930
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 930
    functionName: epoch_resolve
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int epoch_resolve(gnutls_session_t session,\n\t\t\t\tunsigned int
      epoch_rel, uint16_t *epoch_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:938,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/constate.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 946
    functionName: epoch_get_slot
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_handshake_log
    linkageType: ''
    returnType: record_parameters_st
    signature: "record_parameters_st **epoch_get_slot(gnutls_session_t session,\n\t\t\t\t\t\t
      \   uint16_t epoch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/constate.c:955,1
    - Dst: epoch_resolve
      Src: /src/gnutls/lib/constate.c:957,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/constate.c:959,1
    - Dst: epoch_get_slot
      Src: /src/gnutls/lib/constate.c:963,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:965,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/constate.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - session
    - epoch_rel
    - params_out
    argTypes:
    - gnutls_session_t
    - unsigned int
    - record_parameters_st**
    constantsTouched: []
    func_position:
      end: 977
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 977
    functionName: _gnutls_epoch_get
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 21
    functionsReached:
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    - gnutls_assert
    - epoch_resolve
    - epoch_get_slot
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_epoch_get(gnutls_session_t session, unsigned int epoch_rel,\n\t\t
      \     record_parameters_st **params_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoch_get_slot
      Src: /src/gnutls/lib/constate.c:988,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:992,1
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:995,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:996,1
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:998,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1000,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:1005,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/constate.c:1008,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1010,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/constate.c:1015,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/constate.c:1016,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/constate.c:1023,1
    - Dst: UINT64_C
      Src: /src/gnutls/lib/constate.c:1025,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - session
    - null_epoch
    - newp
    argTypes:
    - gnutls_session_t
    - unsigned
    - record_parameters_st**
    constantsTouched: []
    func_position:
      end: 1036
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1036
    functionName: _gnutls_epoch_setup_next
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 3
    functionsReached:
    - gnutls_calloc
    - _gnutls_record_log
    - mac_to_entry
    - cipher_to_entry
    - IS_DTLS
    - unlikely
    - epoch_get_slot
    - UINT64_C
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch,\n\t\t\t
      \    record_parameters_st **newp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1053
    functionName: epoch_is_active
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int epoch_is_active(gnutls_session_t session,\n\t\t\t\t  record_parameters_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoch_is_active
      Src: /src/gnutls/lib/constate.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: epoch_alive
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - epoch_is_active
    linkageType: ''
    returnType: int
    signature: "int epoch_alive(gnutls_session_t session,\n\t\t\t      record_parameters_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:1069,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/constate.c:1071,1
    - Dst: epoch_is_active
      Src: /src/gnutls/lib/constate.c:1076,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:1079,1
    - Dst: epoch_alive
      Src: /src/gnutls/lib/constate.c:1085,1
    - Dst: _gnutls_epoch_free
      Src: /src/gnutls/lib/constate.c:1087,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/constate.c:1114,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:1116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1117
    functionName: _gnutls_epoch_gc
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 2
    functionsReached:
    - epoch_is_active
    - gnutls_mutex_unlock
    - _gnutls_record_log
    - gnutls_mutex_lock
    - _gnutls_epoch_free
    - epoch_alive
    linkageType: ''
    returnType: void
    signature: void _gnutls_epoch_gc(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/constate.c:1121,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/constate.c:1122,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/constate.c:1123,1
    - Dst: _gnutls_aead_cipher_deinit
      Src: /src/gnutls/lib/constate.c:1126,1
    - Dst: _gnutls_auth_cipher_deinit
      Src: /src/gnutls/lib/constate.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - record_state_st*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1129
    functionName: free_record_state
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - _gnutls_aead_cipher_deinit
    - _gnutls_auth_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void free_record_state(record_state_st *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/constate.c:1133,1
    - Dst: free_record_state
      Src: /src/gnutls/lib/constate.c:1136,1
    - Dst: free_record_state
      Src: /src/gnutls/lib/constate.c:1137,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/constate.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1140
    functionName: _gnutls_epoch_free
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 2
    functionsReached:
    - free_record_state
    - _gnutls_record_log
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_epoch_free(gnutls_session_t session, record_parameters_st
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:1157,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1159,1
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:1164,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1204,1
    - Dst: gnutls_session_t::internals::h_secret_func
      Src: /src/gnutls/lib/constate.c:1207,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - session
    - stage
    - for_read
    - for_write
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1209
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1209
    functionName: _gnutls_call_secret_func
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_session_t::internals::h_secret_func
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_call_secret_func(gnutls_session_t session, hs_stage_t
      stage,\n\t\t\t\t    bool for_read, bool for_write)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/constate.c:1216,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:1220,1
    - Dst: _gnutls_call_secret_func
      Src: /src/gnutls/lib/constate.c:1226,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - session
    - stage
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    constantsTouched: []
    func_position:
      end: 1231
      start: 1211
    functionDepth: 9
    functionLinenumber: 1211
    functionLinenumberEnd: 1231
    functionName: _tls13_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_call_secret_func
    - _gnutls_epoch_set_keys
    - _gnutls_handshake_log
    linkageType: ''
    returnType: int
    signature: int _tls13_connection_state_init(gnutls_session_t session, hs_stage_t
      stage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:1239,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/constate.c:1239,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1240,1
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/constate.c:1243,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:1247,1
    - Dst: _gnutls_call_secret_func
      Src: /src/gnutls/lib/constate.c:1256,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - session
    - stage
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    constantsTouched: []
    func_position:
      end: 1261
      start: 1233
    functionDepth: 9
    functionLinenumber: 1233
    functionLinenumberEnd: 1261
    functionName: _tls13_read_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 3
    functionsReached:
    - _gnutls_call_secret_func
    - _gnutls_epoch_set_keys
    - _gnutls_handshake_log
    - unlikely
    - IS_SERVER
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _tls13_read_connection_state_init(gnutls_session_t session,\n\t\t\t\t
      \     hs_stage_t stage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/constate.c:1269,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/constate.c:1269,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1270,1
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/constate.c:1273,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/constate.c:1277,1
    - Dst: _gnutls_call_secret_func
      Src: /src/gnutls/lib/constate.c:1286,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - session
    - stage
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    constantsTouched: []
    func_position:
      end: 1291
      start: 1263
    functionDepth: 9
    functionLinenumber: 1263
    functionLinenumberEnd: 1291
    functionName: _tls13_write_connection_state_init
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 3
    functionsReached:
    - _gnutls_call_secret_func
    - _gnutls_epoch_set_keys
    - _gnutls_handshake_log
    - unlikely
    - IS_SERVER
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _tls13_write_connection_state_init(gnutls_session_t session,\n\t\t\t\t
      \      hs_stage_t stage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_aead_cipher_init
      Src: /src/gnutls/lib/constate.c:1302,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:1304,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/constate.c:1305,1
    - Dst: is_cipher_algo_allowed
      Src: /src/gnutls/lib/constate.c:1308,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:1309,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/constate.c:1311,1
    - Dst: gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/constate.c:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - algo
    - state
    argTypes:
    - gnutls_cipher_algorithm_t
    - record_state_st*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1317
    functionName: _tls13_init_record_state
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 1
    functionsReached:
    - _gnutls_aead_cipher_init
    - _gnutls_switch_fips_state
    - is_cipher_algo_allowed
    - gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _tls13_init_record_state(gnutls_cipher_algorithm_t algo,\n\t\t\t\t
      \   record_state_st *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - func
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_secret_func
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: gnutls_handshake_set_secret_function
    functionSourceFile: /src/gnutls/lib/constate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_handshake_set_secret_function(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_handshake_secret_func func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:96,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/session_pack.c:100,1
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/session_pack.c:102,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:104,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:105,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:106,1
    - Dst: BUFFER_APPEND
      Src: /src/gnutls/lib/session_pack.c:107,1
    - Dst: pack_srp_auth_info
      Src: /src/gnutls/lib/session_pack.c:112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:114,1
    - Dst: pack_psk_auth_info
      Src: /src/gnutls/lib/session_pack.c:121,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:123,1
    - Dst: pack_anon_auth_info
      Src: /src/gnutls/lib/session_pack.c:130,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:132,1
    - Dst: pack_certificate_auth_info
      Src: /src/gnutls/lib/session_pack.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:140,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:145,1
    - Dst: pack_security_parameters
      Src: /src/gnutls/lib/session_pack.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:154,1
    - Dst: tls13_pack_security_parameters
      Src: /src/gnutls/lib/session_pack.c:159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:161,1
    - Dst: _gnutls_hello_ext_pack
      Src: /src/gnutls/lib/session_pack.c:168,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:170,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/session_pack.c:175,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/session_pack.c:178,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 2
    argNames:
    - session
    - packed_session
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 180
    functionName: _gnutls_session_pack
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_to_datum
    - pack_psk_auth_info
    - BUFFER_APPEND
    - pack_certificate_auth_info
    - pack_anon_auth_info
    - BUFFER_APPEND_NUM
    - _gnutls_buffer_clear
    - _gnutls_hello_ext_pack
    - _gnutls_buffer_init
    - pack_security_parameters
    - gnutls_assert_val
    - tls13_pack_security_parameters
    - gnutls_auth_get_type
    - gnutls_assert
    - pack_srp_auth_info
    linkageType: ''
    returnType: int
    signature: "int _gnutls_session_pack(gnutls_session_t session,\n\t\t\t gnutls_datum_t
      *packed_session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/session_pack.c:193,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:196,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/session_pack.c:200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:203,1
    - Dst: _gnutls_free_auth_info
      Src: /src/gnutls/lib/session_pack.c:208,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:213,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:217,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:219,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:221,1
    - Dst: unpack_srp_auth_info
      Src: /src/gnutls/lib/session_pack.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:228,1
    - Dst: unpack_psk_auth_info
      Src: /src/gnutls/lib/session_pack.c:235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:237,1
    - Dst: unpack_anon_auth_info
      Src: /src/gnutls/lib/session_pack.c:244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:246,1
    - Dst: unpack_certificate_auth_info
      Src: /src/gnutls/lib/session_pack.c:252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:259,1
    - Dst: unpack_security_parameters
      Src: /src/gnutls/lib/session_pack.c:267,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:269,1
    - Dst: tls13_unpack_security_parameters
      Src: /src/gnutls/lib/session_pack.c:275,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:277,1
    - Dst: _gnutls_hello_ext_unpack
      Src: /src/gnutls/lib/session_pack.c:283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:285,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/session_pack.c:293,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 2
    argNames:
    - session
    - packed_session
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 296
    functionName: _gnutls_session_unpack
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - unpack_psk_auth_info
    - BUFFER_POP_NUM
    - _gnutls_hello_ext_unpack
    - _gnutls_free_auth_info
    - tls13_unpack_security_parameters
    - unpack_security_parameters
    - BUFFER_POP
    - _gnutls_buffer_clear
    - unpack_certificate_auth_info
    - _gnutls_buffer_init
    - unpack_anon_auth_info
    - unpack_srp_auth_info
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_session_unpack(gnutls_session_t session,\n\t\t\t   const
      gnutls_datum_t *packed_session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:326,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:329,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:331,1
    - Dst: BUFFER_APPEND_PFX1
      Src: /src/gnutls/lib/session_pack.c:333,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:335,1
    - Dst: BUFFER_APPEND_PFX1
      Src: /src/gnutls/lib/session_pack.c:338,1
    - Dst: BUFFER_APPEND_TS
      Src: /src/gnutls/lib/session_pack.c:341,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:343,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 352
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 352
    functionName: tls13_pack_security_parameters
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - BUFFER_APPEND_TS
    - BUFFER_APPEND_NUM
    - BUFFER_APPEND_PFX1
    - _gnutls_write_uint32
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: "int tls13_pack_security_parameters(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:362,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:365,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:366,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/session_pack.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:371,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:375,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:377,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/session_pack.c:379,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:383,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:386,1
    - Dst: unlikely
      Src: /src/gnutls/lib/session_pack.c:388,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:392,1
    - Dst: BUFFER_POP_TS
      Src: /src/gnutls/lib/session_pack.c:397,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 404
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 404
    functionName: tls13_unpack_security_parameters
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix8
    - BUFFER_POP_NUM
    - gnutls_assert
    - BUFFER_POP_TS
    - unlikely
    - memcpy
    - gnutls_assert_val
    - BUFFER_POP_DATUM
    linkageType: ''
    returnType: int
    signature: "int tls13_unpack_security_parameters(gnutls_session_t session,\n\t\t\t\t\t
      \   gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:434,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:438,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:442,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:443,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:445,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:447,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:450,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:453,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:458,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:461,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 470
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 470
    functionName: pack_certificate_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - BUFFER_APPEND_NUM
    - _gnutls_write_uint32
    - _gnutls_get_auth_info
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: "int pack_certificate_auth_info(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:484,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/session_pack.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:494,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:498,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:500,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:502,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:504,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:505,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:506,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:508,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/session_pack.c:512,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:514,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:521,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:526,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/session_pack.c:530,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:532,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:539,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:547,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:548,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:549,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:552,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:555,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session_pack.c:557,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session_pack.c:558,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 562
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 562
    functionName: unpack_certificate_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - BUFFER_POP_NUM
    - gnutls_free
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_auth_info_init
    - BUFFER_POP_DATUM
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int unpack_certificate_auth_info(gnutls_session_t session,\n\t\t\t\t\tgnutls_buffer_st
      *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:576,1
    - Dst: strlen
      Src: /src/gnutls/lib/session_pack.c:585,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:595,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:598,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 604
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 604
    functionName: pack_srp_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - strlen
    - BUFFER_APPEND_NUM
    - _gnutls_get_auth_info
    - _gnutls_write_uint32
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: int pack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:612,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:614,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/session_pack.c:616,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:619,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:621,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:623,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session_pack.c:625,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/session_pack.c:629,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:631,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: unpack_srp_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - BUFFER_POP_NUM
    - gnutls_free
    - _gnutls_get_auth_info
    - gnutls_malloc
    - BUFFER_POP
    - _gnutls_auth_info_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int unpack_srp_auth_info(gnutls_session_t session, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:660,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:664,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:668,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:669,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:671,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:673,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 681
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 681
    functionName: pack_anon_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - BUFFER_APPEND_NUM
    - _gnutls_write_uint32
    - _gnutls_get_auth_info
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: int pack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:689,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/session_pack.c:696,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:699,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:703,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:705,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:707,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:709,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:710,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:711,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:717,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:718,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 723
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 723
    functionName: unpack_anon_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - BUFFER_POP_NUM
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_auth_info_init
    - BUFFER_POP_DATUM
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int unpack_anon_auth_info(gnutls_session_t session, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:752,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:754,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:760,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:763,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:764,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:766,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:767,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:768,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/session_pack.c:770,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 776
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 776
    functionName: pack_psk_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - _gnutls_write_uint32
    - _gnutls_get_auth_info
    - BUFFER_APPEND_NUM
    - gnutls_assert_val
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: int pack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/session_pack.c:785,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:788,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/session_pack.c:792,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:794,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:796,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:800,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:802,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session_pack.c:804,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/session_pack.c:805,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:807,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:808,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:813,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:815,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/session_pack.c:817,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/session_pack.c:818,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:820,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:821,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:824,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:826,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:827,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/session_pack.c:828,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:833,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:834,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/session_pack.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 838
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 838
    functionName: unpack_psk_auth_info
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - BUFFER_POP_NUM
    - gnutls_free
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - gnutls_malloc
    - BUFFER_POP
    - _gnutls_auth_info_init
    - BUFFER_POP_DATUM
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int unpack_psk_auth_info(gnutls_session_t session, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:853,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/session_pack.c:857,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:859,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:866,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:869,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:870,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:872,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:873,1
    - Dst: BUFFER_APPEND
      Src: /src/gnutls/lib/session_pack.c:875,1
    - Dst: BUFFER_APPEND
      Src: /src/gnutls/lib/session_pack.c:876,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:879,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:881,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:882,1
    - Dst: BUFFER_APPEND
      Src: /src/gnutls/lib/session_pack.c:884,1
    - Dst: BUFFER_APPEND_PFX1
      Src: /src/gnutls/lib/session_pack.c:889,1
    - Dst: BUFFER_APPEND_PFX1
      Src: /src/gnutls/lib/session_pack.c:892,1
    - Dst: BUFFER_APPEND_PFX1
      Src: /src/gnutls/lib/session_pack.c:895,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:903,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:906,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:910,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:912,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:917,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:920,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:923,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:925,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:927,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/session_pack.c:929,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/session_pack.c:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 935
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 935
    functionName: pack_security_parameters
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 2
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_write_uint32
    - BUFFER_APPEND
    - BUFFER_APPEND_NUM
    - BUFFER_APPEND_PFX1
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pack_security_parameters(gnutls_session_t session,\n\t\t\t\t    gnutls_buffer_st
      *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:947,1
    - Dst: memset
      Src: /src/gnutls/lib/session_pack.c:953,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:957,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:960,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/session_pack.c:962,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:964,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:966,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:968,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:971,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:976,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:980,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/session_pack.c:982,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:984,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:986,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:989,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/session_pack.c:993,1
    - Dst: ciphersuite_to_entry
      Src: /src/gnutls/lib/session_pack.c:995,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:997,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/session_pack.c:1001,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:1004,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:1008,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/session_pack.c:1013,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:1016,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:1020,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/session_pack.c:1025,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/session_pack.c:1028,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:1032,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1036,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1039,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1043,1
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/session_pack.c:1045,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1048,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1051,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1054,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/session_pack.c:1057,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1064,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 2
    argNames:
    - session
    - ps
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 1072
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 1072
    functionName: unpack_security_parameters
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix8
    - ciphersuite_to_entry
    - BUFFER_POP_NUM
    - version_to_entry
    - mac_to_entry
    - BUFFER_POP
    - gnutls_assert
    - _gnutls_id_to_group
    - memset
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int unpack_security_parameters(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/session_pack.c:1106,1
    - Dst: _gnutls_cipher_suite_get_id
      Src: /src/gnutls/lib/session_pack.c:1111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1113,1
    - Dst: ciphersuite_to_entry
      Src: /src/gnutls/lib/session_pack.c:1116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1118,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/session_pack.c:1125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1127,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/session_pack.c:1132,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/session_pack.c:1136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1138,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1141,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:1143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/session_pack.c:1147,1
    - Dst: memcpy
      Src: /src/gnutls/lib/session_pack.c:1151,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/session_pack.c:1159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 9
    argNames:
    - session
    - entity
    - version
    - kx
    - cipher
    - mac
    - comp
    - master
    - session_id
    argTypes:
    - gnutls_session_t
    - unsigned int
    - gnutls_protocol_t
    - gnutls_kx_algorithm_t
    - gnutls_cipher_algorithm_t
    - gnutls_mac_algorithm_t
    - gnutls_compression_method_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1168
    functionName: gnutls_session_set_premaster
    functionSourceFile: /src/gnutls/lib/session_pack.c
    functionUses: 6
    functionsReached:
    - ciphersuite_to_entry
    - gnutls_time
    - version_to_entry
    - mac_to_entry
    - _gnutls_cipher_suite_get_id
    - memset
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_set_premaster(gnutls_session_t session, unsigned
      int entity,\n\t\t\t\t gnutls_protocol_t version,\n\t\t\t\t gnutls_kx_algorithm_t
      kx,\n\t\t\t\t gnutls_cipher_algorithm_t cipher,\n\t\t\t\t gnutls_mac_algorithm_t
      mac,\n\t\t\t\t gnutls_compression_method_t comp,\n\t\t\t\t const gnutls_datum_t
      *master,\n\t\t\t\t const gnutls_datum_t *session_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/str-iconv.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - dst
    - src
    - size
    - be
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 63
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 63
    functionName: change_u16_endianness
    functionSourceFile: /src/gnutls/lib/str-iconv.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void change_u16_endianness(uint8_t *dst, const uint8_t *src,\n\t\t\t\t
      \ unsigned size, unsigned be)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:80,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-iconv.c:82,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:84,1
    - Dst: change_u16_endianness
      Src: /src/gnutls/lib/str-iconv.c:87,1
    - Dst: u16_to_u8
      Src: /src/gnutls/lib/str-iconv.c:90,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:92,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-iconv.c:96,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-iconv.c:98,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-iconv.c:103,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-iconv.c:113,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-iconv.c:116,1
    - Dst: free
      Src: /src/gnutls/lib/str-iconv.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - data
    - size
    - output
    - be
    argTypes:
    - void*
    - size_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 120
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 120
    functionName: _gnutls_ucs2_to_utf8
    functionSourceFile: /src/gnutls/lib/str-iconv.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - change_u16_endianness
    - free
    - gnutls_assert
    - gnutls_malloc
    - u16_to_u8
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ucs2_to_utf8(const void *data, size_t size, gnutls_datum_t
      *output,\n\t\t\t unsigned be)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:132,1
    - Dst: u8_to_u16
      Src: /src/gnutls/lib/str-iconv.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:136,1
    - Dst: u16_normalize
      Src: /src/gnutls/lib/str-iconv.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-iconv.c:141,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-iconv.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-iconv.c:149,1
    - Dst: change_u16_endianness
      Src: /src/gnutls/lib/str-iconv.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-iconv.c:166,1
    - Dst: free
      Src: /src/gnutls/lib/str-iconv.c:169,1
    - Dst: free
      Src: /src/gnutls/lib/str-iconv.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - data
    - size
    - output
    - be
    argTypes:
    - void*
    - size_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 173
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 173
    functionName: _gnutls_utf8_to_ucs2
    functionSourceFile: /src/gnutls/lib/str-iconv.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - change_u16_endianness
    - free
    - u16_normalize
    - gnutls_malloc
    - u8_to_u16
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_utf8_to_ucs2(const void *data, size_t size, gnutls_datum_t
      *output,\n\t\t\t unsigned be)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher-cbc.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - params
    - data
    - data_size
    - mac_data
    - max_mac_data
    argTypes:
    - record_parameters_st*
    - uint8_t*
    - size_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: dummy_wait
    functionSourceFile: /src/gnutls/lib/cipher-cbc.c
    functionUses: 0
    functionsReached:
    - _gnutls_auth_cipher_add_auth
    linkageType: ''
    returnType: void
    signature: "void dummy_wait(record_parameters_st *params, const uint8_t *data,\n\t\t
      \      size_t data_size, unsigned int mac_data,\n\t\t       unsigned int max_mac_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/cipher-cbc.c:80,1
    - Dst: MIN
      Src: /src/gnutls/lib/cipher-cbc.c:104,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher-cbc.c:110,1
    - Dst: _gnutls_make_preamble
      Src: /src/gnutls/lib/cipher-cbc.c:126,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher-cbc.c:128,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher-cbc.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher-cbc.c:131,1
    - Dst: _gnutls_auth_cipher_add_auth
      Src: /src/gnutls/lib/cipher-cbc.c:133,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher-cbc.c:135,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher-cbc.c:136,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher-cbc.c:138,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher-cbc.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher-cbc.c:140,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher-cbc.c:142,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/cipher-cbc.c:142,1
    - Dst: dummy_wait
      Src: /src/gnutls/lib/cipher-cbc.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher-cbc.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 8
    argNames:
    - session
    - params
    - preamble
    - type
    - sequence
    - data
    - data_size
    - tag_size
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    - uint8_t[]
    - content_type_t
    - uint64_t
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 152
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 152
    functionName: cbc_mac_verify
    functionSourceFile: /src/gnutls/lib/cipher-cbc.c
    functionUses: 1
    functionsReached:
    - _gnutls_auth_cipher_tag
    - gnutls_memcmp
    - _gnutls_auth_cipher_add_auth
    - unlikely
    - MIN
    - dummy_wait
    - get_version
    - gnutls_assert_val
    - _gnutls_make_preamble
    linkageType: ''
    returnType: int
    signature: "int cbc_mac_verify(gnutls_session_t session, record_parameters_st
      *params,\n\t\t   uint8_t preamble[MAX_PREAMBLE_SIZE], content_type_t type,\n\t\t
      \  uint64_t sequence, const uint8_t *data, size_t data_size,\n\t\t   size_t
      tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 480
    functionName: gnutls_error_is_fatal
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_error_is_fatal(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/lib/errors.c:491,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/errors.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: gnutls_perror
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 88
    functionsReached:
    - gnutls_strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gnutls_perror(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnutls/lib/errors.c:529,1
    - Dst: _
      Src: /src/gnutls/lib/errors.c:531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 532
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 532
    functionName: gnutls_strerror
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 689
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: char *gnutls_strerror(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 569
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 569
    functionName: gnutls_strerror_name
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_strerror_name(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/errors.c:582,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/errors.c:584,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:585,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/errors.c:591,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:592,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/errors.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/errors.c:599,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:600,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/errors.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/errors.c:607,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:608,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/errors.c:610,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/errors.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/errors.c:618,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:619,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/errors.c:621,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/errors.c:625,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/errors.c:627,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/errors.c:630,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/errors.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - prefix
    - a
    argTypes:
    - char*
    - bigint_t
    constantsTouched: []
    func_position:
      end: 632
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 632
    functionName: _gnutls_mpi_log
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_print
    - gnutls_malloc
    - _gnutls_hard_log
    - _gnutls_bin2hex
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: void _gnutls_mpi_log(const char *prefix, bigint_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/lib/errors.c:646,1
    - Dst: vasprintf
      Src: /src/gnutls/lib/errors.c:647,1
    - Dst: va_end
      Src: /src/gnutls/lib/errors.c:648,1
    - Dst: _gnutls_log_func
      Src: /src/gnutls/lib/errors.c:651,1
    - Dst: free
      Src: /src/gnutls/lib/errors.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 654
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 654
    functionName: _gnutls_log
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 0
    functionsReached:
    - free
    - va_start
    - va_end
    - _gnutls_log_func
    - vasprintf
    linkageType: ''
    returnType: void
    signature: void _gnutls_log(int level, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnutls/lib/errors.c:665,1
    - Dst: vasprintf
      Src: /src/gnutls/lib/errors.c:666,1
    - Dst: va_end
      Src: /src/gnutls/lib/errors.c:667,1
    - Dst: _gnutls_audit_log_func
      Src: /src/gnutls/lib/errors.c:671,1
    - Dst: _gnutls_log_func
      Src: /src/gnutls/lib/errors.c:673,1
    - Dst: free
      Src: /src/gnutls/lib/errors.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - session
    - fmt
    argTypes:
    - gnutls_session_t
    - char*
    constantsTouched: []
    func_position:
      end: 676
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 676
    functionName: _gnutls_audit_log
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 14
    functionsReached:
    - _gnutls_audit_log_func
    - free
    - va_start
    - va_end
    - _gnutls_log_func
    - vasprintf
    linkageType: ''
    returnType: void
    signature: void _gnutls_audit_log(gnutls_session_t session, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: _gnutls_null_log
    functionSourceFile: /src/gnutls/lib/errors.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_null_log(void *x, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_derive_nonce
      Src: /src/gnutls/lib/vko.c:39,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/vko.c:41,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/lib/vko.c:43,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/vko.c:44,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:46,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/vko.c:51,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:54,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:55,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/vko.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pub
    - priv
    - ukm
    - digalg
    - kek
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: _gnutls_gost_vko_key
    functionSourceFile: /src/gnutls/lib/vko.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    - _gnutls_free_datum
    - _gnutls_free_temp_key_datum
    - gnutls_malloc
    - _gnutls_pk_derive_nonce
    - gnutls_hash_fast
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gost_vko_key(gnutls_pk_params_st *pub,\n\t\t\t\tgnutls_pk_params_st
      *priv, gnutls_datum_t *ukm,\n\t\t\t\tgnutls_digest_algorithm_t digalg,\n\t\t\t\tgnutls_datum_t
      *kek)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_gost_vko_key
      Src: /src/gnutls/lib/vko.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:87,1
    - Dst: _gnutls_gost_key_wrap
      Src: /src/gnutls/lib/vko.c:92,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/vko.c:94,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:96,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/vko.c:101,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/vko.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:104,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/vko.c:105,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:106,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:107,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/vko.c:112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:114,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/vko.c:118,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:121,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/vko.c:125,1
    - Dst: gnutls_gost_paramset_get_oid
      Src: /src/gnutls/lib/vko.c:127,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:129,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/vko.c:130,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/vko.c:134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:137,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/vko.c:141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:144,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/vko.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:149,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/vko.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:155,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/vko.c:162,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:163,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:164,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 5
    argNames:
    - pub
    - priv
    - cek
    - ukm
    - out
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 167
    functionName: _gnutls_gost_keytrans_encrypt
    functionSourceFile: /src/gnutls/lib/vko.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - _gnutls_x509_encode_and_copy_PKI_params
    - _gnutls_free_datum
    - gnutls_gost_paramset_get_oid
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_der_encode
    - _gnutls_gost_key_wrap
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_gost_vko_key
    - _gnutls_free_key_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gost_keytrans_encrypt(gnutls_pk_params_st *pub,\n\t\t\t\t
      \ gnutls_pk_params_st *priv,\n\t\t\t\t  gnutls_datum_t *cek, gnutls_datum_t
      *ukm,\n\t\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/vko.c:182,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/vko.c:182,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:185,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/vko.c:186,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/vko.c:191,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:193,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/vko.c:194,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/vko.c:195,1
    - Dst: _gnutls_get_asn_mpis
      Src: /src/gnutls/lib/vko.c:200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:209,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/vko.c:215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:218,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/vko.c:219,1
    - Dst: gnutls_oid_to_gost_paramset
      Src: /src/gnutls/lib/vko.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:224,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/vko.c:229,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:231,1
    - Dst: memcmp
      Src: /src/gnutls/lib/vko.c:243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:244,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:245,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:249,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/vko.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:254,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/vko.c:258,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:260,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:261,1
    - Dst: _gnutls_gost_vko_key
      Src: /src/gnutls/lib/vko.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:272,1
    - Dst: _gnutls_gost_key_unwrap
      Src: /src/gnutls/lib/vko.c:276,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/vko.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/vko.c:281,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:288,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/vko.c:289,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/vko.c:291,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/vko.c:292,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 4
    argNames:
    - priv
    - cek
    - ukm
    - out
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 295
    functionName: _gnutls_gost_keytrans_decrypt
    functionSourceFile: /src/gnutls/lib/vko.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_get_asn_mpis
    - _gnutls_x509_read_value
    - asn1_read_value
    - _gnutls_free_datum
    - asn1_create_element
    - memcmp
    - _gnutls_gost_vko_key
    - gnutls_pk_params_release
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_gost_key_unwrap
    - _asn1_strict_der_decode
    - _gnutls_free_key_datum
    - gnutls_assert
    - gnutls_oid_to_gost_paramset
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gost_keytrans_decrypt(gnutls_pk_params_st *priv,\n\t\t\t\t
      \ gnutls_datum_t *cek, gnutls_datum_t *ukm,\n\t\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:98,1
    - Dst: _gnutls_read_key_mem
      Src: /src/gnutls/lib/cert-cred-rawpk.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:106,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/cert-cred-rawpk.c:110,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:112,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:114,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/lib/cert-cred-rawpk.c:117,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:121,1
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-rawpk.c:125,1
    - Dst: _gnutls_str_array_append_idna
      Src: /src/gnutls/lib/cert-cred-rawpk.c:129,1
    - Dst: strlen
      Src: /src/gnutls/lib/cert-cred-rawpk.c:130,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:132,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-rawpk.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:135,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-rawpk.c:142,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:146,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-rawpk.c:148,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:150,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred-rawpk.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:160,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred-rawpk.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 9
    argNames:
    - cred
    - spki
    - pkey
    - format
    - pass
    - key_usage
    - names
    - names_length
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - char**
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 164
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 164
    functionName: gnutls_certificate_set_rawpk_key_mem
    functionSourceFile: /src/gnutls/lib/cert-cred-rawpk.c
    functionUses: 5
    functionsReached:
    - gnutls_calloc
    - _gnutls_str_array_init
    - _gnutls_str_array_append_idna
    - gnutls_free
    - strlen
    - _gnutls_str_array_clear
    - _gnutls_certificate_credential_append_keypair
    - gnutls_pcert_import_rawpk_raw
    - CRED_RET_SUCCESS
    - gnutls_pcert_deinit
    - gnutls_privkey_deinit
    - _gnutls_check_key_cert_match
    - _gnutls_read_key_mem
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_rawpk_key_mem(\n\tgnutls_certificate_credentials_t
      cred, const gnutls_datum_t *spki,\n\tconst gnutls_datum_t *pkey, gnutls_x509_crt_fmt_t
      format,\n\tconst char *pass, unsigned int key_usage, const char **names,\n\tunsigned
      int names_length, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:234,1
    - Dst: _gnutls_read_key_file
      Src: /src/gnutls/lib/cert-cred-rawpk.c:239,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:242,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/cert-cred-rawpk.c:245,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:247,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:249,1
    - Dst: gnutls_url_is_supported
      Src: /src/gnutls/lib/cert-cred-rawpk.c:255,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/cert-cred-rawpk.c:256,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:258,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:260,1
    - Dst: gnutls_pubkey_import_url
      Src: /src/gnutls/lib/cert-cred-rawpk.c:263,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:265,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:266,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:268,1
    - Dst: gnutls_pcert_import_rawpk
      Src: /src/gnutls/lib/cert-cred-rawpk.c:271,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:273,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:274,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:276,1
    - Dst: read_file
      Src: /src/gnutls/lib/cert-cred-rawpk.c:284,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:287,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:289,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/lib/cert-cred-rawpk.c:297,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/cert-cred-rawpk.c:300,1
    - Dst: free
      Src: /src/gnutls/lib/cert-cred-rawpk.c:301,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:305,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:307,1
    - Dst: _gnutls_str_array_init
      Src: /src/gnutls/lib/cert-cred-rawpk.c:312,1
    - Dst: _gnutls_str_array_append_idna
      Src: /src/gnutls/lib/cert-cred-rawpk.c:316,1
    - Dst: strlen
      Src: /src/gnutls/lib/cert-cred-rawpk.c:317,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:319,1
    - Dst: _gnutls_str_array_clear
      Src: /src/gnutls/lib/cert-cred-rawpk.c:320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:322,1
    - Dst: _gnutls_certificate_credential_append_keypair
      Src: /src/gnutls/lib/cert-cred-rawpk.c:329,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:332,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/cert-cred-rawpk.c:333,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/cert-cred-rawpk.c:334,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:336,1
    - Dst: _gnutls_check_key_cert_match
      Src: /src/gnutls/lib/cert-cred-rawpk.c:345,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-cred-rawpk.c:346,1
    - Dst: CRED_RET_SUCCESS
      Src: /src/gnutls/lib/cert-cred-rawpk.c:349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 10
    argNames:
    - cred
    - rawpkfile
    - privkeyfile
    - format
    - pass
    - key_usage
    - names
    - names_length
    - privkey_flags
    - pkcs11_flags
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - char**
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 350
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 350
    functionName: gnutls_certificate_set_rawpk_key_file
    functionSourceFile: /src/gnutls/lib/cert-cred-rawpk.c
    functionUses: 2
    functionsReached:
    - _gnutls_str_array_clear
    - CRED_RET_SUCCESS
    - gnutls_privkey_deinit
    - gnutls_assert_val
    - _gnutls_str_array_init
    - _gnutls_str_array_append_idna
    - gnutls_url_is_supported
    - _gnutls_certificate_credential_append_keypair
    - free
    - gnutls_pubkey_import_url
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_calloc
    - strlen
    - _gnutls_read_key_file
    - gnutls_pcert_import_rawpk
    - gnutls_free
    - gnutls_pcert_import_rawpk_raw
    - zeroize_key
    - gnutls_pcert_deinit
    - _gnutls_check_key_cert_match
    - read_file
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_rawpk_key_file(\n\tgnutls_certificate_credentials_t
      cred, const char *rawpkfile,\n\tconst char *privkeyfile, gnutls_x509_crt_fmt_t
      format, const char *pass,\n\tunsigned int key_usage, const char **names, unsigned
      int names_length,\n\tunsigned int privkey_flags, unsigned int pkcs11_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - gnutls_lib_state_t
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: _gnutls_switch_lib_state
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_switch_lib_state(gnutls_lib_state_t state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: _gnutls_get_lib_state
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gnutls_lib_state_t
    signature: gnutls_lib_state_t _gnutls_get_lib_state(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: is_mac_algo_hmac_approved_in_fips
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_mac_algo_hmac_approved_in_fips(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_hmac_approved_in_fips
      Src: /src/gnutls/lib/fips.h:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: is_mac_algo_approved_in_fips
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 4
    functionsReached:
    - is_mac_algo_hmac_approved_in_fips
    linkageType: ''
    returnType: bool
    signature: bool is_mac_algo_approved_in_fips(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_algo_approved_in_fips
      Src: /src/gnutls/lib/fips.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: is_mac_algo_allowed_in_fips
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 0
    functionsReached:
    - is_mac_algo_approved_in_fips
    linkageType: ''
    returnType: bool
    signature: bool is_mac_algo_allowed_in_fips(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: is_cipher_algo_approved_in_fips
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cipher_algo_approved_in_fips(gnutls_cipher_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_algo_approved_in_fips
      Src: /src/gnutls/lib/fips.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: is_cipher_algo_allowed_in_fips
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 0
    functionsReached:
    - is_cipher_algo_approved_in_fips
    linkageType: ''
    returnType: bool
    signature: bool is_cipher_algo_allowed_in_fips(gnutls_cipher_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.h:185,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/fips.h:186,1
    - Dst: is_mac_algo_allowed_in_fips
      Src: /src/gnutls/lib/fips.h:187,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.h:190,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/fips.h:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: is_mac_algo_allowed
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 9
    functionsReached:
    - _gnutls_get_lib_state
    - gnutls_mac_get_name
    - is_mac_algo_allowed_in_fips
    - _gnutls_audit_log
    - _gnutls_fips_mode_enabled
    linkageType: ''
    returnType: bool
    signature: bool is_mac_algo_allowed(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/fips.h:207,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/fips.h:208,1
    - Dst: is_cipher_algo_allowed_in_fips
      Src: /src/gnutls/lib/fips.h:209,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/fips.h:212,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/fips.h:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: is_cipher_algo_allowed
    functionSourceFile: /src/gnutls/lib/fips.h
    functionUses: 4
    functionsReached:
    - _gnutls_get_lib_state
    - gnutls_cipher_get_name
    - is_cipher_algo_allowed_in_fips
    - _gnutls_audit_log
    - _gnutls_fips_mode_enabled
    linkageType: ''
    returnType: bool
    signature: bool is_cipher_algo_allowed(gnutls_cipher_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: _dtls_is_async
    functionSourceFile: /src/gnutls/lib/dtls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _dtls_is_async(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/dtls.h:80,1
    - Dst: _gnutls_dtls_log
      Src: /src/gnutls/lib/dtls.h:81,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/dtls.h:85,1
    - Dst: _dtls_reset_hsk_state
      Src: /src/gnutls/lib/dtls.h:87,1
    - Dst: _gnutls_handshake_io_buffer_clear
      Src: /src/gnutls/lib/dtls.h:88,1
    - Dst: _gnutls_epoch_gc
      Src: /src/gnutls/lib/dtls.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: _dtls_async_timer_init
    functionSourceFile: /src/gnutls/lib/dtls.h
    functionUses: 1
    functionsReached:
    - gnutls_time
    - _dtls_reset_hsk_state
    - _gnutls_epoch_gc
    - _gnutls_handshake_io_buffer_clear
    - _gnutls_dtls_log
    - _dtls_is_async
    linkageType: ''
    returnType: void
    signature: void _dtls_async_timer_init(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/dtls.h:100,1
    - Dst: time
      Src: /src/gnutls/lib/dtls.h:104,1
    - Dst: _dtls_async_timer_delete
      Src: /src/gnutls/lib/dtls.h:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: _dtls_async_timer_check
    functionSourceFile: /src/gnutls/lib/dtls.h
    functionUses: 0
    functionsReached:
    - _dtls_async_timer_delete
    - time
    - IS_DTLS
    linkageType: ''
    returnType: void
    signature: void _dtls_async_timer_check(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/dtls.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: _dtls_async_timer_active
    functionSourceFile: /src/gnutls/lib/dtls.h
    functionUses: 0
    functionsReached:
    - IS_DTLS
    linkageType: ''
    returnType: int
    signature: int _dtls_async_timer_active(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dtls_transmit
      Src: /src/gnutls/lib/dtls.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: _dtls_retransmit
    functionSourceFile: /src/gnutls/lib/dtls.h
    functionUses: 1
    functionsReached:
    - _dtls_transmit
    linkageType: ''
    returnType: int
    signature: int _dtls_retransmit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/fipshmac.c:49,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fipshmac.c:51,1
    - Dst: GNUTLS_FIPS140_SET_LAX_MODE
      Src: /src/gnutls/lib/fipshmac.c:53,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/fipshmac.c:54,1
    - Dst: GNUTLS_FIPS140_SET_STRICT_MODE
      Src: /src/gnutls/lib/fipshmac.c:56,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/fipshmac.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fipshmac.c:60,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/lib/fipshmac.c:63,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/fipshmac.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - path
    - hmac
    - hmac_size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: get_hmac
    functionSourceFile: /src/gnutls/lib/fipshmac.c
    functionUses: 1
    functionsReached:
    - gnutls_load_file
    - gnutls_hmac_fast
    - gnutls_free
    - GNUTLS_FIPS140_SET_LAX_MODE
    - gnutls_hex_encode
    - GNUTLS_FIPS140_SET_STRICT_MODE
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int get_hmac(const char *path, char *hmac, size_t hmac_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: canonicalize_file_name
      Src: /src/gnutls/lib/fipshmac.c:76,1
    - Dst: fprintf
      Src: /src/gnutls/lib/fipshmac.c:78,1
    - Dst: get_hmac
      Src: /src/gnutls/lib/fipshmac.c:83,1
    - Dst: fprintf
      Src: /src/gnutls/lib/fipshmac.c:85,1
    - Dst: last_component
      Src: /src/gnutls/lib/fipshmac.c:86,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/fipshmac.c:86,1
    - Dst: printf
      Src: /src/gnutls/lib/fipshmac.c:90,1
    - Dst: printf
      Src: /src/gnutls/lib/fipshmac.c:91,1
    - Dst: printf
      Src: /src/gnutls/lib/fipshmac.c:92,1
    - Dst: free
      Src: /src/gnutls/lib/fipshmac.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - path
    - soname
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: print_lib
    functionSourceFile: /src/gnutls/lib/fipshmac.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - last_component
    - get_hmac
    - free
    - printf
    - canonicalize_file_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_lib(const char *path, const char *soname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/fipshmac.c:104,1
    - Dst: print_lib
      Src: /src/gnutls/lib/fipshmac.c:105,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fipshmac.c:106,1
    - Dst: print_lib
      Src: /src/gnutls/lib/fipshmac.c:107,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fipshmac.c:108,1
    - Dst: print_lib
      Src: /src/gnutls/lib/fipshmac.c:109,1
    - Dst: strcmp
      Src: /src/gnutls/lib/fipshmac.c:110,1
    - Dst: print_lib
      Src: /src/gnutls/lib/fipshmac.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: callback
    functionSourceFile: /src/gnutls/lib/fipshmac.c
    functionUses: 18
    functionsReached:
    - strcmp
    - print_lib
    linkageType: ''
    returnType: int
    signature: int callback(struct dl_phdr_info *info, size_t size, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/lib/fipshmac.c:118,1
    - Dst: last_component
      Src: /src/gnutls/lib/fipshmac.c:119,1
    - Dst: printf
      Src: /src/gnutls/lib/fipshmac.c:123,1
    - Dst: printf
      Src: /src/gnutls/lib/fipshmac.c:124,1
    - Dst: dl_iterate_phdr
      Src: /src/gnutls/lib/fipshmac.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnutls/lib/fipshmac.c
    functionUses: 5
    functionsReached:
    - printf
    - dl_iterate_phdr
    - fprintf
    - last_component
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/lib/fipshmac.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnutls/lib/fipshmac.c
    functionUses: 5
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:62,1
    - Dst: likely
      Src: /src/gnutls/lib/tls-sig.c:63,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/tls-sig.c:64,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/tls-sig.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - session
    - key_usage
    - our_cert
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: _gnutls_check_key_usage_for_sig
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - likely
    - _gnutls_audit_log
    linkageType: ''
    returnType: int
    signature: "int _gnutls_check_key_usage_for_sig(gnutls_session_t session,\n\t\t\t\t
      \   unsigned key_usage, unsigned our_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:93,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/tls-sig.c:95,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:97,1
    - Dst: gnutls_sign_supports_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:97,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:99,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls-sig.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:104,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:106,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:108,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:110,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/lib/tls-sig.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:116,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls-sig.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - session
    - cert
    - pkey
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: _gnutls_handshake_sign_data12
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_sign_algorithm_get_name
    - _gnutls_handshake_log
    - gnutls_privkey_sign_data2
    - gnutls_sign_supports_pk_algorithm
    - gnutls_assert
    - gnutls_malloc
    - unlikely
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_data12(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_pcert_st *cert,\n\t\t\t\t\t gnutls_privkey_t pkey,\n\t\t\t\t\t gnutls_datum_t
      *params,\n\t\t\t\t\t gnutls_datum_t *signature,\n\t\t\t\t\t gnutls_sign_algorithm_t
      sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:137,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:139,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:141,1
    - Dst: gnutls_sign_get_hash_algorithm
      Src: /src/gnutls/lib/tls-sig.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:143,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:145,1
    - Dst: gnutls_sign_supports_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:147,1
    - Dst: gnutls_sign_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:149,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:151,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:153,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/tls-sig.c:155,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:159,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:163,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:165,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:167,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/tls-sig.c:169,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/tls-sig.c:172,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/lib/tls-sig.c:174,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/tls-sig.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 6
    argNames:
    - session
    - cert
    - pkey
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 182
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 182
    functionName: _gnutls_handshake_sign_data10
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_get_pk_algorithm
    - _gnutls_handshake_log
    - gnutls_sign_algorithm_get_name
    - _gnutls_hash_deinit
    - gnutls_sign_get_hash_algorithm
    - gnutls_sign_supports_pk_algorithm
    - hash_to_entry
    - gnutls_assert
    - _gnutls_hash
    - _gnutls_hash_init
    - gnutls_sign_get_pk_algorithm
    - _gnutls_hash_get_algo_len
    - unlikely
    - MAC_TO_DIG
    - gnutls_assert_val
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_data10(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_pcert_st *cert,\n\t\t\t\t\t gnutls_privkey_t pkey,\n\t\t\t\t\t gnutls_datum_t
      *params,\n\t\t\t\t\t gnutls_datum_t *signature,\n\t\t\t\t\t gnutls_sign_algorithm_t
      sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls-sig.c:192,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:198,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/tls-sig.c:202,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/tls-sig.c:204,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:206,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/tls-sig.c:208,1
    - Dst: _gnutls_handshake_sign_data12
      Src: /src/gnutls/lib/tls-sig.c:209,1
    - Dst: _gnutls_handshake_sign_data10
      Src: /src/gnutls/lib/tls-sig.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - session
    - cert
    - pkey
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: _gnutls_handshake_sign_data
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_sign_data12
    - gnutls_pubkey_get_key_usage
    - gnutls_assert
    - _gnutls_handshake_sign_data10
    - get_version
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_data(gnutls_session_t session, gnutls_pcert_st
      *cert,\n\t\t\t\tgnutls_privkey_t pkey, gnutls_datum_t *params,\n\t\t\t\tgnutls_datum_t
      *signature,\n\t\t\t\tgnutls_sign_algorithm_t *sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:234,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/tls-sig.c:241,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:245,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:249,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:253,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:255,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:257,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/tls-sig.c:259,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/tls-sig.c:262,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/lib/tls-sig.c:264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 6
    argNames:
    - session
    - verify_flags
    - cert
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 272
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 272
    functionName: _gnutls_handshake_verify_data10
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - gnutls_pubkey_get_pk_algorithm
    - hash_to_entry
    - gnutls_pk_to_sign
    - _gnutls_hash
    - gnutls_pubkey_verify_hash2
    - _gnutls_hash_init
    - _gnutls_hash_get_algo_len
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_data10(gnutls_session_t session,\n\t\t\t\t\t
      \  unsigned verify_flags,\n\t\t\t\t\t   gnutls_pcert_st *cert,\n\t\t\t\t\t   const
      gnutls_datum_t *params,\n\t\t\t\t\t   gnutls_datum_t *signature,\n\t\t\t\t\t
      \  gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls-sig.c:283,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/tls-sig.c:284,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:286,1
    - Dst: _gnutls_pubkey_compatible_with_sig
      Src: /src/gnutls/lib/tls-sig.c:290,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:293,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:295,1
    - Dst: sign_supports_cert_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:295,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:297,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/tls-sig.c:299,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:301,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/tls-sig.c:304,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:306,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls-sig.c:309,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:311,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:313,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:315,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls-sig.c:317,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/tls-sig.c:320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:323,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls-sig.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - session
    - verify_flags
    - cert
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 328
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 328
    functionName: _gnutls_handshake_verify_data12
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_handshake_log
    - gnutls_pubkey_verify_data2
    - _gnutls_session_sign_algo_enabled
    - gnutls_assert
    - gnutls_pk_get_name
    - _gnutls_pubkey_compatible_with_sig
    - gnutls_malloc
    - memcpy
    - sign_supports_cert_pk_algorithm
    - unlikely
    - get_version
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_data12(gnutls_session_t session,\n\t\t\t\t\t
      \  unsigned verify_flags,\n\t\t\t\t\t   gnutls_pcert_st *cert,\n\t\t\t\t\t   const
      gnutls_datum_t *params,\n\t\t\t\t\t   gnutls_datum_t *signature,\n\t\t\t\t\t
      \  gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls-sig.c:338,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:341,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/tls-sig.c:345,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/tls-sig.c:347,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:349,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/tls-sig.c:351,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/tls-sig.c:353,1
    - Dst: _gnutls_handshake_verify_data12
      Src: /src/gnutls/lib/tls-sig.c:354,1
    - Dst: _gnutls_handshake_verify_data10
      Src: /src/gnutls/lib/tls-sig.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - session
    - verify_flags
    - cert
    - params
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 361
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 361
    functionName: _gnutls_handshake_verify_data
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - gnutls_pubkey_get_key_usage
    - gnutls_assert
    - _gnutls_handshake_verify_data12
    - _gnutls_handshake_verify_data10
    - get_version
    - gnutls_sign_algorithm_set_server
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_data(gnutls_session_t session,\n\t\t\t\t
      \ unsigned verify_flags, gnutls_pcert_st *cert,\n\t\t\t\t  const gnutls_datum_t
      *params,\n\t\t\t\t  gnutls_datum_t *signature,\n\t\t\t\t  gnutls_sign_algorithm_t
      sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: _gnutls_reverse_datum
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_reverse_datum(gnutls_datum_t *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls-sig.c:383,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: _gnutls_create_reverse
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int _gnutls_create_reverse(const gnutls_datum_t *src,\n\t\t\t\t  gnutls_datum_t
      *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/tls-sig.c:401,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/tls-sig.c:404,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:406,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:408,1
    - Dst: sign_supports_cert_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:408,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:410,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/tls-sig.c:412,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:414,1
    - Dst: _gnutls_create_reverse
      Src: /src/gnutls/lib/tls-sig.c:418,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:420,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/tls-sig.c:429,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls-sig.c:433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - session
    - verify_flags
    - cert
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 438
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 438
    functionName: _gnutls_handshake_verify_crt_vrfy12
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_create_reverse
    - _gnutls_handshake_log
    - gnutls_pubkey_verify_data2
    - _gnutls_free_datum
    - _gnutls_sign_to_entry
    - gnutls_assert
    - gnutls_pk_get_name
    - sign_supports_cert_pk_algorithm
    - unlikely
    - _gnutls_session_sign_algo_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_crt_vrfy12(\n\tgnutls_session_t session,
      unsigned verify_flags, gnutls_pcert_st *cert,\n\tgnutls_datum_t *signature,
      gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:455,1
    - Dst: _gnutls_generate_master
      Src: /src/gnutls/lib/tls-sig.c:457,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:459,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:468,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:468,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:470,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:472,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/tls-sig.c:476,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:481,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:487,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:487,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:489,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:493,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/tls-sig.c:496,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:500,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/lib/tls-sig.c:505,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - session
    - verify_flags
    - cert
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 513
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 513
    functionName: _gnutls_handshake_verify_crt_vrfy3
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_get_pk_algorithm
    - hash_to_entry
    - gnutls_assert
    - _gnutls_hash
    - gnutls_pubkey_verify_hash2
    - _gnutls_hash_init
    - _gnutls_mac_deinit_ssl3_handshake
    - _gnutls_generate_master
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_crt_vrfy3(gnutls_session_t session,\n\t\t\t\t\t
      \     unsigned verify_flags,\n\t\t\t\t\t      gnutls_pcert_st *cert,\n\t\t\t\t\t
      \     gnutls_datum_t *signature,\n\t\t\t\t\t      gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:528,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:530,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:534,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/tls-sig.c:535,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:539,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:543,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/tls-sig.c:546,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/tls-sig.c:549,1
    - Dst: gnutls_pubkey_verify_hash2
      Src: /src/gnutls/lib/tls-sig.c:551,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - session
    - verify_flags
    - cert
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 559
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 559
    functionName: _gnutls_handshake_verify_crt_vrfy10
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_hash_deinit
    - gnutls_pubkey_get_pk_algorithm
    - hash_to_entry
    - gnutls_pk_to_sign
    - _gnutls_hash
    - gnutls_pubkey_verify_hash2
    - _gnutls_hash_init
    - _gnutls_hash_get_algo_len
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_crt_vrfy10(\n\tgnutls_session_t session,
      unsigned verify_flags, gnutls_pcert_st *cert,\n\tgnutls_datum_t *signature,
      gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls-sig.c:571,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:575,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/tls-sig.c:579,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/tls-sig.c:581,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:583,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls-sig.c:585,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/tls-sig.c:586,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:588,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:589,1
    - Dst: gnutls_sign_algorithm_set_client
      Src: /src/gnutls/lib/tls-sig.c:591,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/tls-sig.c:594,1
    - Dst: _gnutls_handshake_verify_crt_vrfy12
      Src: /src/gnutls/lib/tls-sig.c:595,1
    - Dst: _gnutls_handshake_verify_crt_vrfy3
      Src: /src/gnutls/lib/tls-sig.c:599,1
    - Dst: _gnutls_handshake_verify_crt_vrfy10
      Src: /src/gnutls/lib/tls-sig.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - session
    - verify_flags
    - cert
    - signature
    - sign_algo
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 606
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 606
    functionName: _gnutls_handshake_verify_crt_vrfy
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_algorithm_set_client
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_verify_crt_vrfy3
    - gnutls_sign_algorithm_get_name
    - _gnutls_handshake_log
    - gnutls_pubkey_get_key_usage
    - gnutls_assert
    - _gnutls_handshake_verify_crt_vrfy10
    - unlikely
    - get_version
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    - _gnutls_handshake_verify_crt_vrfy12
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_verify_crt_vrfy(gnutls_session_t session,\n\t\t\t\t
      \     unsigned verify_flags,\n\t\t\t\t      gnutls_pcert_st *cert,\n\t\t\t\t
      \     gnutls_datum_t *signature,\n\t\t\t\t      gnutls_sign_algorithm_t sign_algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_session_get_sign_algo
      Src: /src/gnutls/lib/tls-sig.c:621,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:624,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/tls-sig.c:628,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:630,1
    - Dst: gnutls_sign_algorithm_set_client
      Src: /src/gnutls/lib/tls-sig.c:632,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:634,1
    - Dst: gnutls_sign_supports_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:634,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:636,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tls-sig.c:638,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/tls-sig.c:639,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/lib/tls-sig.c:644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:647,1
    - Dst: _gnutls_reverse_datum
      Src: /src/gnutls/lib/tls-sig.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - session
    - cert
    - pkey
    - signature
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 655
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 655
    functionName: _gnutls_handshake_sign_crt_vrfy12
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_sign_algorithm_set_client
    - _gnutls_reverse_datum
    - _gnutls_session_get_sign_algo
    - gnutls_sign_algorithm_get_name
    - gnutls_privkey_sign_data2
    - gnutls_sign_supports_pk_algorithm
    - unlikely
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_sign_to_entry
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_crt_vrfy12(gnutls_session_t session,\n\t\t\t\t\t
      \    gnutls_pcert_st *cert,\n\t\t\t\t\t     gnutls_privkey_t pkey,\n\t\t\t\t\t
      \    gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:668,1
    - Dst: _gnutls_pubkey_compatible_with_sig
      Src: /src/gnutls/lib/tls-sig.c:671,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:674,1
    - Dst: _gnutls_generate_master
      Src: /src/gnutls/lib/tls-sig.c:676,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:678,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:687,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:687,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:689,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:691,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/tls-sig.c:695,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:700,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:705,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:705,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:707,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:711,1
    - Dst: _gnutls_mac_deinit_ssl3_handshake
      Src: /src/gnutls/lib/tls-sig.c:713,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:717,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/lib/tls-sig.c:721,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - session
    - cert
    - ver
    - pkey
    - signature
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - version_entry_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 728
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 728
    functionName: _gnutls_handshake_sign_crt_vrfy3
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_get_pk_algorithm
    - hash_to_entry
    - _gnutls_pubkey_compatible_with_sig
    - _gnutls_hash
    - _gnutls_hash_init
    - _gnutls_mac_deinit_ssl3_handshake
    - _gnutls_generate_master
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_crt_vrfy3(gnutls_session_t session,\n\t\t\t\t\t
      \   gnutls_pcert_st *cert,\n\t\t\t\t\t    const version_entry_st *ver,\n\t\t\t\t\t
      \   gnutls_privkey_t pkey,\n\t\t\t\t\t    gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/tls-sig.c:741,1
    - Dst: _gnutls_pubkey_compatible_with_sig
      Src: /src/gnutls/lib/tls-sig.c:745,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:748,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:751,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/tls-sig.c:753,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/tls-sig.c:755,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:757,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/tls-sig.c:761,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/tls-sig.c:764,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/tls-sig.c:767,1
    - Dst: gnutls_privkey_sign_hash
      Src: /src/gnutls/lib/tls-sig.c:769,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/tls-sig.c:769,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls-sig.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - session
    - cert
    - ver
    - pkey
    - signature
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - version_entry_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 778
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 778
    functionName: _gnutls_handshake_sign_crt_vrfy10
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_get_pk_algorithm
    - _gnutls_hash_deinit
    - hash_to_entry
    - gnutls_assert
    - _gnutls_pubkey_compatible_with_sig
    - _gnutls_hash
    - _gnutls_hash_init
    - _gnutls_hash_get_algo_len
    - MAC_TO_DIG
    - gnutls_assert_val
    - gnutls_privkey_sign_hash
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_crt_vrfy10(gnutls_session_t session,\n\t\t\t\t\t
      \    gnutls_pcert_st *cert,\n\t\t\t\t\t     const version_entry_st *ver,\n\t\t\t\t\t
      \    gnutls_privkey_t pkey,\n\t\t\t\t\t     gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls-sig.c:796,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls-sig.c:799,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:800,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/tls-sig.c:802,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/tls-sig.c:804,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls-sig.c:806,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/tls-sig.c:809,1
    - Dst: _gnutls_handshake_sign_crt_vrfy12
      Src: /src/gnutls/lib/tls-sig.c:810,1
    - Dst: _gnutls_handshake_sign_crt_vrfy3
      Src: /src/gnutls/lib/tls-sig.c:816,1
    - Dst: _gnutls_handshake_sign_crt_vrfy10
      Src: /src/gnutls/lib/tls-sig.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - session
    - cert
    - pkey
    - signature
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 822
      start: 790
    functionDepth: 5
    functionLinenumber: 790
    functionLinenumberEnd: 822
    functionName: _gnutls_handshake_sign_crt_vrfy
    functionSourceFile: /src/gnutls/lib/tls-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_sign_crt_vrfy3
    - gnutls_pubkey_get_key_usage
    - _gnutls_handshake_sign_crt_vrfy10
    - _gnutls_handshake_sign_crt_vrfy12
    - unlikely
    - get_version
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int _gnutls_handshake_sign_crt_vrfy(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_pcert_st *cert,\n\t\t\t\t    gnutls_privkey_t pkey,\n\t\t\t\t    gnutls_datum_t
      *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:64,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/cert-session.c:66,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: gnutls_certificate_get_ours
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 14
    functionsReached:
    - gnutls_assert
    - CHECK_AUTH_TYPE
    - _gnutls_get_cred
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t *gnutls_certificate_get_ours(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:105,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/cert-session.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - session
    - list_size
    argTypes:
    - gnutls_session_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: gnutls_certificate_get_peers
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 30
    functionsReached:
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    linkageType: ''
    returnType: gnutls_datum_t
    signature: "gnutls_datum_t *gnutls_certificate_get_peers(gnutls_session_t session,\n\t\t\t\t\t\t
      \  unsigned int *list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: gnutls_certificate_client_get_request_status
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_certificate_client_get_request_status(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - func
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: gnutls_certificate_set_params_function
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_params_function(\n\tgnutls_certificate_credentials_t
      res, gnutls_params_function *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: gnutls_certificate_set_flags
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_flags(gnutls_certificate_credentials_t
      res,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: gnutls_certificate_set_verify_flags
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_verify_flags(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - gnutls_certificate_credentials_t
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: gnutls_certificate_get_verify_flags
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_certificate_get_verify_flags(gnutls_certificate_credentials_t
      res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - res
    - max_bits
    - max_depth
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: gnutls_certificate_set_verify_limits
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_verify_limits(gnutls_certificate_credentials_t
      res,\n\t\t\t\t\t  unsigned int max_bits,\n\t\t\t\t\t  unsigned int max_depth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/cert-session.c:243,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/lib/cert-session.c:245,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:247,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/lib/cert-session.c:249,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:251,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/cert-session.c:254,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:255,1
    - Dst: gnutls_ocsp_resp_get_status
      Src: /src/gnutls/lib/cert-session.c:262,1
    - Dst: _gnutls_ocsp_verify_mandatory_stapling
      Src: /src/gnutls/lib/cert-session.c:263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:266,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:270,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/cert-session.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:276,1
    - Dst: gnutls_ocsp_resp_check_crt
      Src: /src/gnutls/lib/cert-session.c:280,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:282,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:283,1
    - Dst: gnutls_ocsp_resp_verify
      Src: /src/gnutls/lib/cert-session.c:293,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/lib/cert-session.c:297,1
    - Dst: gnutls_ocsp_resp_verify_direct
      Src: /src/gnutls/lib/cert-session.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:320,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/cert-session.c:331,1
    - Dst: _gnutls_ocsp_verify_status_to_str
      Src: /src/gnutls/lib/cert-session.c:332,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:335,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/lib/cert-session.c:342,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:346,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/cert-session.c:349,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:350,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:358,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:363,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:373,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/cert-session.c:383,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/lib/cert-session.c:398,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 117
    argCount: 8
    argNames:
    - session
    - cert
    - tl
    - verify_flags
    - cand_issuers
    - cand_issuers_size
    - data
    - ostatus
    argTypes:
    - gnutls_session_t
    - gnutls_x509_crt_t
    - gnutls_x509_trust_list_t
    - unsigned
    - gnutls_x509_crt_t*
    - unsigned
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 401
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 401
    functionName: check_ocsp_response
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - gnutls_time
    - gnutls_strerror
    - gnutls_ocsp_resp_verify_direct
    - _gnutls_ocsp_verify_status_to_str
    - gnutls_ocsp_resp_verify
    - gnutls_assert
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_resp_get_single
    - _gnutls_audit_log
    - _gnutls_debug_log
    - _gnutls_ocsp_verify_mandatory_stapling
    - gnutls_ocsp_resp_get_status
    - gnutls_assert_val
    - gnutls_ocsp_resp_check_crt
    linkageType: ''
    returnType: int
    signature: "int check_ocsp_response(gnutls_session_t session, gnutls_x509_crt_t
      cert,\n\t\t\t       gnutls_x509_trust_list_t tl,\n\t\t\t       unsigned verify_flags,\n\t\t\t
      \      gnutls_x509_crt_t *cand_issuers,\n\t\t\t       unsigned cand_issuers_size,
      gnutls_datum_t *data,\n\t\t\t       unsigned int *ostatus)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/lib/cert-session.c:420,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:422,1
    - Dst: gnutls_x509_crt_get_tlsfeatures
      Src: /src/gnutls/lib/cert-session.c:427,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/lib/cert-session.c:429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:436,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/lib/cert-session.c:451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - session
    - cert
    - ocsp_status
    argTypes:
    - gnutls_session_t
    - gnutls_x509_crt_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 453
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 453
    functionName: _gnutls_ocsp_verify_mandatory_stapling
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_crt_get_tlsfeatures
    - gnutls_x509_tlsfeatures_get
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ocsp_verify_mandatory_stapling(gnutls_session_t session,\n\t\t\t\t\t\t
      \ gnutls_x509_crt_t cert,\n\t\t\t\t\t\t  unsigned int *ocsp_status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:489,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/cert-session.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:493,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/cert-session.c:497,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:500,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:508,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/cert-session.c:518,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:521,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-session.c:526,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:528,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-session.c:533,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:537,1
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/lib/cert-session.c:549,1
    - Dst: _gnutls_ocsp_verify_mandatory_stapling
      Src: /src/gnutls/lib/cert-session.c:551,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:555,1
    - Dst: check_ocsp_response
      Src: /src/gnutls/lib/cert-session.c:570,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cert-session.c:577,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/cert-session.c:586,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/cert-session.c:588,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/cert-session.c:594,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:601,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 4
    argNames:
    - session
    - data
    - elements
    - status
    argTypes:
    - gnutls_session_t
    - gnutls_typed_vdata_st*
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 611
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 611
    functionName: _gnutls_x509_cert_verify_peers
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_x509_crt_import
    - CHECK_AUTH_TYPE
    - gnutls_x509_crt_init
    - _gnutls_debug_log
    - gnutls_ocsp_status_request_get2
    - _gnutls_get_auth_info
    - gnutls_x509_trust_list_verify_crt2
    - _gnutls_get_cred
    - check_ocsp_response
    - gnutls_assert_val
    - _gnutls_ocsp_verify_mandatory_stapling
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_cert_verify_peers(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_typed_vdata_st *data,\n\t\t\t\t   unsigned int elements, unsigned
      int *status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/lib/cert-session.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - status
    argTypes:
    - gnutls_session_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: gnutls_certificate_verify_peers2
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 11
    functionsReached:
    - gnutls_certificate_verify_peers
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_verify_peers2(gnutls_session_t session,\n\t\t\t\t
      \    unsigned int *status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/lib/cert-session.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - session
    - hostname
    - status
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: gnutls_certificate_verify_peers3
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 7
    functionsReached:
    - gnutls_certificate_verify_peers
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_verify_peers3(gnutls_session_t session,\n\t\t\t\t
      \    const char *hostname, unsigned int *status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:754,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/cert-session.c:756,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/cert-session.c:764,1
    - Dst: _gnutls_x509_cert_verify_peers
      Src: /src/gnutls/lib/cert-session.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - session
    - data
    - elements
    - status
    argTypes:
    - gnutls_session_t
    - gnutls_typed_vdata_st*
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 771
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 771
    functionName: gnutls_certificate_verify_peers
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 13
    functionsReached:
    - _gnutls_x509_cert_verify_peers
    - _gnutls_get_auth_info
    - CHECK_AUTH_TYPE
    - get_certificate_type
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_verify_peers(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_typed_vdata_st *data,\n\t\t\t\t    unsigned int elements, unsigned
      int *status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-session.c:789,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-session.c:793,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-session.c:795,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/cert-session.c:799,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-session.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 804
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 804
    functionName: _gnutls_x509_get_raw_crt_activation_time
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_x509_get_raw_crt_activation_time(const gnutls_datum_t
      *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/cert-session.c:822,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/cert-session.c:826,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-session.c:828,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/cert-session.c:832,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/cert-session.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 837
    functionName: _gnutls_x509_get_raw_crt_expiration_time
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_x509_crt_get_expiration_time
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_x509_get_raw_crt_expiration_time(const gnutls_datum_t
      *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:853,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/cert-session.c:855,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:861,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/cert-session.c:865,1
    - Dst: _gnutls_x509_get_raw_crt_expiration_time
      Src: /src/gnutls/lib/cert-session.c:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 872
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 872
    functionName: gnutls_certificate_expiration_time_peers
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 1
    functionsReached:
    - CHECK_AUTH_TYPE
    - get_certificate_type
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_x509_get_raw_crt_expiration_time
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_certificate_expiration_time_peers(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AUTH_TYPE
      Src: /src/gnutls/lib/cert-session.c:888,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/cert-session.c:890,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cert-session.c:896,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/cert-session.c:900,1
    - Dst: _gnutls_x509_get_raw_crt_activation_time
      Src: /src/gnutls/lib/cert-session.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 907
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 907
    functionName: gnutls_certificate_activation_time_peers
    functionSourceFile: /src/gnutls/lib/cert-session.c
    functionUses: 1
    functionsReached:
    - CHECK_AUTH_TYPE
    - get_certificate_type
    - _gnutls_x509_get_raw_crt_activation_time
    - _gnutls_get_auth_info
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_certificate_activation_time_peers(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: gnutls_record_disable_padding
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_record_disable_padding(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - ptr
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: gnutls_transport_set_ptr
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_ptr(gnutls_session_t session,\n\t\t\t      gnutls_transport_ptr_t
      ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - recv_ptr
    - send_ptr
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ptr_t
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: gnutls_transport_set_ptr2
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_ptr2(gnutls_session_t session,\n\t\t\t       gnutls_transport_ptr_t
      recv_ptr,\n\t\t\t       gnutls_transport_ptr_t send_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - recv_fd
    - send_fd
    argTypes:
    - gnutls_session_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: gnutls_transport_set_int2
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_int2(gnutls_session_t session, int recv_fd,\n\t\t\t
      \      int send_fd)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - fd
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: gnutls_transport_set_int
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 278
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_transport_set_int(gnutls_session_t session, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: gnutls_transport_get_ptr
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_transport_ptr_t
    signature: gnutls_transport_ptr_t gnutls_transport_get_ptr(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - recv_ptr
    - send_ptr
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ptr_t*
    - gnutls_transport_ptr_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: gnutls_transport_get_ptr2
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_get_ptr2(gnutls_session_t session,\n\t\t\t       gnutls_transport_ptr_t
      *recv_ptr,\n\t\t\t       gnutls_transport_ptr_t *send_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - recv_int
    - send_int
    argTypes:
    - gnutls_session_t
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: gnutls_transport_get_int2
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_get_int2(gnutls_session_t session, int *recv_int,\n\t\t\t
      \      int *send_int)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: gnutls_transport_get_int
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_transport_get_int(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:286,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/record.c:287,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:290,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/lib/record.c:295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:299,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:306,1
    - Dst: _gnutls_ktls_recv_int
      Src: /src/gnutls/lib/record.c:308,1
    - Dst: _gnutls_recv_int
      Src: /src/gnutls/lib/record.c:313,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - session
    - how
    argTypes:
    - gnutls_session_t
    - gnutls_close_request_t
    constantsTouched: []
    func_position:
      end: 341
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 341
    functionName: gnutls_bye
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 301
    functionsReached:
    - _gnutls_io_write_flush
    - gnutls_alert_send
    - IS_KTLS_ENABLED
    - _gnutls_ktls_recv_int
    - _gnutls_recv_int
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: session_unresumable
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void session_unresumable(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: session_is_valid
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int session_is_valid(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:367,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:372,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - session
    - htype
    - version
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_description_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 388
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 388
    functionName: copy_record_version
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - get_version
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int copy_record_version(gnutls_session_t session,\n\t\t\t\t      gnutls_handshake_description_t
      htype,\n\t\t\t\t      uint8_t version[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:396,1
    - Dst: UINT64_C
      Src: /src/gnutls/lib/record.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - session
    - value
    argTypes:
    - gnutls_session_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 414
    functionName: sequence_increment
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - IS_DTLS
    linkageType: ''
    returnType: int
    signature: int sequence_increment(gnutls_session_t session, uint64_t *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:454,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/record.c:456,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:458,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:462,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:472,1
    - Dst: session_is_valid
      Src: /src/gnutls/lib/record.c:477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:479,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/record.c:483,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:487,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/record.c:498,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:506,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:507,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/record.c:511,1
    - Dst: MAX_RECORD_SEND_OVERHEAD
      Src: /src/gnutls/lib/record.c:512,1
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/record.c:514,1
    - Dst: get_total_headers2
      Src: /src/gnutls/lib/record.c:516,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:518,1
    - Dst: _mbuffer_get_uhead_ptr
      Src: /src/gnutls/lib/record.c:520,1
    - Dst: copy_record_version
      Src: /src/gnutls/lib/record.c:529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:531,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:534,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/record.c:535,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:538,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:540,1
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/record.c:543,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/record.c:544,1
    - Dst: _mbuffer_set_uhead_size
      Src: /src/gnutls/lib/record.c:545,1
    - Dst: _gnutls_encrypt
      Src: /src/gnutls/lib/record.c:547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:550,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/record.c:553,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:557,1
    - Dst: sequence_increment
      Src: /src/gnutls/lib/record.c:564,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:566,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/record.c:567,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:568,1
    - Dst: _gnutls_io_write_buffered
      Src: /src/gnutls/lib/record.c:571,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/lib/record.c:578,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:579,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:582,1
    - Dst: session_unresumable
      Src: /src/gnutls/lib/record.c:584,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:586,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:591,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:594,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:600,1
    - Dst: UINT64_C
      Src: /src/gnutls/lib/record.c:601,1
    - Dst: UINT64_C
      Src: /src/gnutls/lib/record.c:601,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 8
    argNames:
    - session
    - type
    - htype
    - epoch_rel
    - _data
    - data_size
    - min_pad
    - mflags
    argTypes:
    - gnutls_session_t
    - content_type_t
    - gnutls_handshake_description_t
    - unsigned int
    - void*
    - size_t
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 610
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 610
    functionName: _gnutls_send_tlen_int
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - _gnutls_record_log
    - _mbuffer_set_udata_size
    - _gnutls_io_write_flush
    - session_is_valid
    - gnutls_assert_val
    - RECORD_HEADER_SIZE
    - _mbuffer_set_uhead_size
    - max_record_send_size
    - unlikely
    - _gnutls_packet2str
    - get_total_headers2
    - get_version
    - MAX_RECORD_SEND_OVERHEAD
    - UINT64_C
    - session_invalidate
    - sequence_increment
    - session_unresumable
    - _gnutls_encrypt
    - _mbuffer_get_uhead_ptr
    - _mbuffer_get_udata_size
    - _gnutls_epoch_get
    - gnutls_free
    - _gnutls_write_uint64
    - IS_DTLS
    - _gnutls_io_write_buffered
    - copy_record_version
    - gnutls_error_is_fatal
    - gnutls_assert
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_send_tlen_int(gnutls_session_t session, content_type_t
      type,\n\t\t\t      gnutls_handshake_description_t htype,\n\t\t\t      unsigned
      int epoch_rel, const void *_data,\n\t\t\t      size_t data_size, size_t min_pad,\n\t\t\t
      \     unsigned int mflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:623,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/record.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - session
    - recv_type
    argTypes:
    - gnutls_session_t
    - content_type_t
    constantsTouched: []
    func_position:
      end: 629
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 629
    functionName: check_recv_type
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_audit_log
    linkageType: ''
    returnType: int
    signature: "int check_recv_type(gnutls_session_t session,\n\t\t\t\t  content_type_t
      recv_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_record_buffer_get_size
      Src: /src/gnutls/lib/record.c:639,1
    - Dst: _gnutls_record_buffer_get
      Src: /src/gnutls/lib/record.c:641,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - session
    - type
    - data
    - data_size
    - seq
    argTypes:
    - gnutls_session_t
    - content_type_t
    - uint8_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 657
    functionName: get_data_from_buffers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - IS_DTLS
    - gnutls_assert
    - _gnutls_record_buffer_get_size
    - _gnutls_record_buffer_get
    linkageType: ''
    returnType: int
    signature: "int get_data_from_buffers(gnutls_session_t session, content_type_t
      type,\n\t\t\t\t uint8_t *data, int data_size, void *seq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_record_buffer_get_size
      Src: /src/gnutls/lib/record.c:664,1
    - Dst: _gnutls_record_buffer_get_packet
      Src: /src/gnutls/lib/record.c:666,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:668,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - session
    - type
    - packet
    argTypes:
    - gnutls_session_t
    - content_type_t
    - gnutls_packet_t*
    constantsTouched: []
    func_position:
      end: 682
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 682
    functionName: get_packet_from_buffers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _gnutls_record_buffer_get_packet
    - IS_DTLS
    - gnutls_assert
    - _gnutls_record_buffer_get_size
    linkageType: ''
    returnType: int
    signature: "int get_packet_from_buffers(gnutls_session_t session,\n\t\t\t\t   content_type_t
      type, gnutls_packet_t *packet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:691,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:703,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:708,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:709,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:719,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:720,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:737,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:738,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:745,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:746,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:751,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:752,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - session
    - htype
    - version
    argTypes:
    - gnutls_session_t
    - gnutls_handshake_description_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 760
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 760
    functionName: record_check_version
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - get_version
    - _gnutls_record_log
    - gnutls_assert
    - IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int record_check_version(gnutls_session_t session,\n\t\t\t\t       gnutls_handshake_description_t
      htype,\n\t\t\t\t       uint8_t version[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:768,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:771,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:774,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:778,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 790
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 790
    functionName: recv_hello_request
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - IS_DTLS
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int recv_hello_request(gnutls_session_t session, void *data,\n\t\t\t
      \     uint32_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:804,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:816,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:828,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:838,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:842,1
    - Dst: _dtls_async_timer_delete
      Src: /src/gnutls/lib/record.c:846,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:853,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:858,1
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/lib/record.c:861,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:866,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:887,1
    - Dst: session_unresumable
      Src: /src/gnutls/lib/record.c:891,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:892,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:893,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:901,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:902,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:912,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:917,1
    - Dst: _gnutls_heartbeat_handle
      Src: /src/gnutls/lib/record.c:924,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:931,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:942,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:944,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:958,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:960,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:963,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:974,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:976,1
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/record.c:981,1
    - Dst: _dtls_async_timer_active
      Src: /src/gnutls/lib/record.c:982,1
    - Dst: _dtls_async_timer_delete
      Src: /src/gnutls/lib/record.c:988,1
    - Dst: _dtls_retransmit
      Src: /src/gnutls/lib/record.c:993,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:998,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:1009,1
    - Dst: _gnutls13_recv_async_handshake
      Src: /src/gnutls/lib/record.c:1012,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1014,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1027,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:1028,1
    - Dst: recv_hello_request
      Src: /src/gnutls/lib/record.c:1040,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1045,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1048,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1049,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1051,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1061,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1062,1
    - Dst: RETURN_DTLS_EAGAIN_OR_TIMEOUT
      Src: /src/gnutls/lib/record.c:1063,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1067,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 151
    argCount: 6
    argNames:
    - session
    - recv
    - type
    - htype
    - seq
    - bufel
    argTypes:
    - gnutls_session_t
    - struct tls_record_st*
    - content_type_t
    - gnutls_handshake_description_t
    - uint64_t
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 1069
      start: 797
    functionDepth: 7
    functionLinenumber: 797
    functionLinenumberEnd: 1069
    functionName: record_add_to_buffers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _mbuffer_xfree
    - _gnutls_record_log
    - recv_hello_request
    - gnutls_alert_get_name
    - gnutls_assert_val
    - _dtls_retransmit
    - _gnutls_heartbeat_handle
    - _gnutls_packet2str
    - get_version
    - _gnutls13_recv_async_handshake
    - session_invalidate
    - session_unresumable
    - _gnutls_record_buffer_put
    - _dtls_is_async
    - _dtls_async_timer_delete
    - IS_DTLS
    - _dtls_async_timer_active
    - RETURN_DTLS_EAGAIN_OR_TIMEOUT
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int record_add_to_buffers(gnutls_session_t session,\n\t\t\t\t struct
      tls_record_st *recv,\n\t\t\t\t content_type_t type,\n\t\t\t\t gnutls_handshake_description_t
      htype,\n\t\t\t\t uint64_t seq, mbuffer_st *bufel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1087,1
    - Dst: memset
      Src: /src/gnutls/lib/record.c:1107,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1109,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1111,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1126,1
    - Dst: _gnutls_read_uint64
      Src: /src/gnutls/lib/record.c:1127,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/record.c:1128,1
    - Dst: memset
      Src: /src/gnutls/lib/record.c:1131,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/record.c:1132,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1136,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - session
    - headers
    - type
    - htype
    - record
    argTypes:
    - gnutls_session_t
    - uint8_t[]
    - content_type_t
    - gnutls_handshake_description_t
    - struct tls_record_st*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1145
    functionName: record_read_headers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _gnutls_record_log
    - _gnutls_read_uint16
    - _gnutls_read_uint64
    - IS_DTLS
    - _gnutls_packet2str
    - memset
    linkageType: ''
    returnType: void
    signature: "void record_read_headers(gnutls_session_t session,\n\t\t\t\tuint8_t
      headers[MAX_RECORD_HEADER_SIZE],\n\t\t\t\tcontent_type_t type,\n\t\t\t\tgnutls_handshake_description_t
      htype,\n\t\t\t\tstruct tls_record_st *record)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/record.c:1157,1
    - Dst: _gnutls_io_read_buffered
      Src: /src/gnutls/lib/record.c:1159,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/lib/record.c:1161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1169,1
    - Dst: _mbuffer_linearize_align16
      Src: /src/gnutls/lib/record.c:1172,1
    - Dst: get_total_headers2
      Src: /src/gnutls/lib/record.c:1173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1176,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/record.c:1178,1
    - Dst: RECORD_HEADER_SIZE
      Src: /src/gnutls/lib/record.c:1179,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1180,1
    - Dst: record_read_headers
      Src: /src/gnutls/lib/record.c:1182,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1185,1
    - Dst: _gnutls_epoch_is_valid
      Src: /src/gnutls/lib/record.c:1186,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/record.c:1187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1192,1
    - Dst: check_recv_type
      Src: /src/gnutls/lib/record.c:1201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1202,1
    - Dst: record_check_version
      Src: /src/gnutls/lib/record.c:1207,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1208,1
    - Dst: max_record_recv_size
      Src: /src/gnutls/lib/record.c:1211,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/record.c:1212,1
    - Dst: max_record_recv_size
      Src: /src/gnutls/lib/record.c:1216,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1224,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1226,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1229,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1230,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1231,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 6
    argNames:
    - session
    - record_params
    - type
    - htype
    - record
    - ms
    argTypes:
    - gnutls_session_t
    - record_parameters_st*
    - content_type_t
    - gnutls_handshake_description_t
    - struct tls_record_st*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1147
    functionDepth: 5
    functionLinenumber: 1147
    functionLinenumberEnd: 1236
    functionName: recv_headers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _gnutls_io_read_buffered
    - _gnutls_record_log
    - record_read_headers
    - gnutls_assert
    - IS_DTLS
    - _gnutls_epoch_is_valid
    - record_check_version
    - _mbuffer_linearize_align16
    - _mbuffer_head_get_first
    - max_record_recv_size
    - _gnutls_packet2str
    - _gnutls_audit_log
    - get_total_headers2
    - gnutls_error_is_fatal
    - check_recv_type
    - gnutls_assert_val
    - RECORD_HEADER_SIZE
    linkageType: ''
    returnType: int
    signature: "int recv_headers(gnutls_session_t session,\n\t\t\trecord_parameters_st
      *record_params,\n\t\t\tcontent_type_t type,\n\t\t\tgnutls_handshake_description_t
      htype,\n\t\t\tstruct tls_record_st *record, unsigned int *ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:1259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1264,1
    - Dst: session_is_valid
      Src: /src/gnutls/lib/record.c:1272,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1274,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/record.c:1277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1279,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1283,1
    - Dst: recv_headers
      Src: /src/gnutls/lib/record.c:1288,1
    - Dst: gnutls_assert_val_fatal
      Src: /src/gnutls/lib/record.c:1292,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1296,1
    - Dst: _gnutls_io_read_buffered
      Src: /src/gnutls/lib/record.c:1303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1307,1
    - Dst: _mbuffer_linearize_align16
      Src: /src/gnutls/lib/record.c:1314,1
    - Dst: get_total_headers2
      Src: /src/gnutls/lib/record.c:1315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1318,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/record.c:1320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1323,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1331,1
    - Dst: _gnutls_read_log
      Src: /src/gnutls/lib/record.c:1333,1
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/record.c:1336,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1338,1
    - Dst: max_decrypted_size
      Src: /src/gnutls/lib/record.c:1347,1
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/record.c:1348,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1350,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/record.c:1352,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/record.c:1354,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/record.c:1359,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:1360,1
    - Dst: _gnutls_decrypt
      Src: /src/gnutls/lib/record.c:1361,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/record.c:1364,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/record.c:1366,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1376,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1384,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1393,1
    - Dst: _mbuffer_enqueue
      Src: /src/gnutls/lib/record.c:1400,1
    - Dst: sequence_increment
      Src: /src/gnutls/lib/record.c:1411,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:1415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1416,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1440,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1447,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1454,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1455,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1464,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/record.c:1465,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1472,1
    - Dst: likely
      Src: /src/gnutls/lib/record.c:1476,1
    - Dst: _dtls_record_check
      Src: /src/gnutls/lib/record.c:1478,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1481,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1486,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1491,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1495,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:1496,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/record.c:1502,1
    - Dst: _gnutls_packet2str
      Src: /src/gnutls/lib/record.c:1505,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:1506,1
    - Dst: sequence_increment
      Src: /src/gnutls/lib/record.c:1513,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:1514,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1515,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:1527,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1535,1
    - Dst: _mbuffer_get_udata_size
      Src: /src/gnutls/lib/record.c:1540,1
    - Dst: max_decrypted_size
      Src: /src/gnutls/lib/record.c:1540,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/record.c:1541,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1545,1
    - Dst: record_add_to_buffers
      Src: /src/gnutls/lib/record.c:1559,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1565,1
    - Dst: _mbuffer_head_pop_first
      Src: /src/gnutls/lib/record.c:1573,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1574,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1575,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1578,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1580,1
    - Dst: session_unresumable
      Src: /src/gnutls/lib/record.c:1584,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:1585,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:1588,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/lib/record.c:1593,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:1597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1598,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1602,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/record.c:1612,1
    - Dst: session_unresumable
      Src: /src/gnutls/lib/record.c:1613,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 193
    argCount: 4
    argNames:
    - session
    - type
    - htype
    - ms
    argTypes:
    - gnutls_session_t
    - content_type_t
    - gnutls_handshake_description_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1619
      start: 1246
    functionDepth: 8
    functionLinenumber: 1246
    functionLinenumberEnd: 1619
    functionName: _gnutls_recv_in_buffers
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 3
    functionsReached:
    - _mbuffer_xfree
    - _gnutls_record_log
    - _gnutls_read_log
    - _mbuffer_set_udata_size
    - session_is_valid
    - _mbuffer_linearize_align16
    - _mbuffer_get_udata_ptr
    - max_decrypted_size
    - gnutls_assert_val
    - _mbuffer_head_remove_bytes
    - _mbuffer_enqueue
    - _dtls_record_check
    - _gnutls_packet2str
    - get_total_headers2
    - get_version
    - session_invalidate
    - _mbuffer_head_pop_first
    - sequence_increment
    - session_unresumable
    - recv_headers
    - _mbuffer_head_get_first
    - _gnutls_audit_log
    - gnutls_assert_val_fatal
    - record_add_to_buffers
    - _mbuffer_get_udata_size
    - _gnutls_epoch_get
    - _gnutls_io_read_buffered
    - likely
    - IS_DTLS
    - gnutls_error_is_fatal
    - _gnutls_decrypt
    - gnutls_assert
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_recv_in_buffers(gnutls_session_t session, content_type_t
      type,\n\t\t\t\tgnutls_handshake_description_t htype,\n\t\t\t\tunsigned int ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_is_valid
      Src: /src/gnutls/lib/record.c:1631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1633,1
    - Dst: gnutls_reauth
      Src: /src/gnutls/lib/record.c:1641,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1646,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/lib/record.c:1653,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1658,1
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/record.c:1663,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1666,1
    - Dst: _gnutls13_recv_async_handshake
      Src: /src/gnutls/lib/record.c:1668,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1670,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1681,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/lib/record.c:1685,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1690,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1700,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/lib/record.c:1704,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1709,1
    - Dst: _dtls_retransmit
      Src: /src/gnutls/lib/record.c:1715,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1717,1
    - Dst: _dtls_async_timer_check
      Src: /src/gnutls/lib/record.c:1724,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1727,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 2
    argNames:
    - session
    - ms
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1729
      start: 1623
    functionDepth: 9
    functionLinenumber: 1623
    functionLinenumberEnd: 1729
    functionName: check_session_status
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _dtls_async_timer_check
    - gnutls_reauth
    - gnutls_assert
    - gnutls_handshake
    - session_is_valid
    - _dtls_retransmit
    - _gnutls13_recv_async_handshake
    - _gnutls_recv_in_buffers
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t check_session_status(gnutls_session_t session, unsigned ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1744,1
    - Dst: check_session_status
      Src: /src/gnutls/lib/record.c:1746,1
    - Dst: get_data_from_buffers
      Src: /src/gnutls/lib/record.c:1753,1
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/record.c:1757,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1759,1
    - Dst: get_data_from_buffers
      Src: /src/gnutls/lib/record.c:1761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - session
    - type
    - data
    - data_size
    - seq
    - ms
    argTypes:
    - gnutls_session_t
    - content_type_t
    - uint8_t*
    - size_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1762
      start: 1736
    functionDepth: 10
    functionLinenumber: 1736
    functionLinenumberEnd: 1762
    functionName: _gnutls_recv_int
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - _gnutls_recv_in_buffers
    - get_data_from_buffers
    - gnutls_assert_val
    - check_session_status
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_recv_int(gnutls_session_t session, content_type_t
      type,\n\t\t\t uint8_t *data, size_t data_size, void *seq,\n\t\t\t unsigned int
      ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:1779,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:1780,1
    - Dst: assert
      Src: /src/gnutls/lib/record.c:1788,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/record.c:1791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - packet
    - data
    - sequence
    argTypes:
    - gnutls_packet_t
    - gnutls_datum_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1798
    functionName: gnutls_packet_get
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 1
    functionsReached:
    - _gnutls_write_uint64
    - assert
    - unlikely
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: "void gnutls_packet_get(gnutls_packet_t packet, gnutls_datum_t *data,\n\t\t
      \      unsigned char *sequence)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/record.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - gnutls_packet_t
    constantsTouched: []
    func_position:
      end: 1812
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1812
    functionName: gnutls_packet_deinit
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_packet_deinit(gnutls_packet_t packet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/record.c:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1834
      start: 1829
    functionDepth: 2
    functionLinenumber: 1829
    functionLinenumberEnd: 1834
    functionName: gnutls_record_discard_queued
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 1
    functionsReached:
    - _mbuffer_head_clear
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_discard_queued(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1861,1
    - Dst: check_session_status
      Src: /src/gnutls/lib/record.c:1863,1
    - Dst: get_packet_from_buffers
      Src: /src/gnutls/lib/record.c:1868,1
    - Dst: _gnutls_recv_in_buffers
      Src: /src/gnutls/lib/record.c:1872,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1875,1
    - Dst: get_packet_from_buffers
      Src: /src/gnutls/lib/record.c:1877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - session
    - packet
    argTypes:
    - gnutls_session_t
    - gnutls_packet_t*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1855
    functionDepth: 10
    functionLinenumber: 1855
    functionLinenumberEnd: 1879
    functionName: gnutls_record_recv_packet
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - _gnutls_recv_in_buffers
    - get_packet_from_buffers
    - gnutls_assert_val
    - check_session_status
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_recv_packet(gnutls_session_t session,\n\t\t\t\t
      \ gnutls_packet_t *packet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:1886,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/lib/record.c:1889,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1890,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/record.c:1894,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1900
      start: 1881
    functionDepth: 3
    functionLinenumber: 1881
    functionLinenumberEnd: 1900
    functionName: append_data_to_corked
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_dtls_get_data_mtu
    - gnutls_assert_val
    - IS_DTLS
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t append_data_to_corked(gnutls_session_t session, const void
      *data,\n\t\t\t\t     size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send2
      Src: /src/gnutls/lib/record.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1945
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1945
    functionName: gnutls_record_send
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 139
    functionsReached:
    - gnutls_record_send2
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_send(gnutls_session_t session, const void *data,\n\t\t\t
      \  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:1974,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:1978,1
    - Dst: gnutls_mutex_lock
      Src: /src/gnutls/lib/record.c:1982,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/record.c:1995,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:1997,1
    - Dst: gnutls_mutex_unlock
      Src: /src/gnutls/lib/record.c:2000,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:2003,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2004,1
    - Dst: gnutls_record_get_max_size
      Src: /src/gnutls/lib/record.c:2007,1
    - Dst: gnutls_record_overhead_size
      Src: /src/gnutls/lib/record.c:2008,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2011,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:2015,1
    - Dst: _gnutls_ktls_send
      Src: /src/gnutls/lib/record.c:2016,1
    - Dst: _gnutls_send_tlen_int
      Src: /src/gnutls/lib/record.c:2018,1
    - Dst: append_data_to_corked
      Src: /src/gnutls/lib/record.c:2026,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/record.c:2028,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/record.c:2031,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2035,1
    - Dst: gnutls_session_key_update
      Src: /src/gnutls/lib/record.c:2040,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2042,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:2047,1
    - Dst: _gnutls_ktls_send
      Src: /src/gnutls/lib/record.c:2048,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/record.c:2054,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/record.c:2062,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:2066,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2070,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - session
    - data
    - data_size
    - pad
    - flags
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2072
      start: 1971
    functionDepth: 4
    functionLinenumber: 1971
    functionLinenumberEnd: 2072
    functionName: gnutls_record_send2
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_mutex_unlock
    - gnutls_mutex_lock
    - gnutls_record_overhead_size
    - _gnutls_send_tlen_int
    - gnutls_record_get_max_size
    - IS_KTLS_ENABLED
    - _gnutls_ktls_send
    - _gnutls_buffer_reset
    - _gnutls_send_int
    - _gnutls_buffer_clear
    - gnutls_assert
    - unlikely
    - get_version
    - append_data_to_corked
    - gnutls_session_key_update
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_send2(gnutls_session_t session, const void *data,\n\t\t\t
      \   size_t data_size, size_t pad, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2103,1
    - Dst: xsum
      Src: /src/gnutls/lib/record.c:2109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2111,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/record.c:2113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2121
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2121
    functionName: gnutls_record_send_early_data
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 4
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    - xsum
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_send_early_data(gnutls_session_t session,\n\t\t\t\t
      \     const void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:2153,1
    - Dst: _gnutls_ktls_send_file
      Src: /src/gnutls/lib/record.c:2154,1
    - Dst: lseek
      Src: /src/gnutls/lib/record.c:2158,1
    - Dst: lseek
      Src: /src/gnutls/lib/record.c:2162,1
    - Dst: MIN
      Src: /src/gnutls/lib/record.c:2167,1
    - Dst: MAX
      Src: /src/gnutls/lib/record.c:2167,1
    - Dst: max_record_send_size
      Src: /src/gnutls/lib/record.c:2167,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/record.c:2169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:2171,1
    - Dst: read
      Src: /src/gnutls/lib/record.c:2177,1
    - Dst: MIN
      Src: /src/gnutls/lib/record.c:2177,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/lib/record.c:2189,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/record.c:2193,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:2194,1
    - Dst: likely
      Src: /src/gnutls/lib/record.c:2205,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/record.c:2205,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/record.c:2208,1
    - Dst: lseek
      Src: /src/gnutls/lib/record.c:2211,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/record.c:2213,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - session
    - fd
    - offset
    - count
    argTypes:
    - gnutls_session_t
    - int
    - off_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2215
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2215
    functionName: gnutls_record_send_file
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - likely
    - gnutls_record_send
    - MAX
    - IS_KTLS_ENABLED
    - max_record_send_size
    - gnutls_malloc
    - read
    - _gnutls_ktls_send_file
    - MIN
    - lseek
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_send_file(gnutls_session_t session, int fd,
      off_t *offset,\n\t\t\t\tsize_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2248,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/record.c:2250,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2253,1
    - Dst: MIN
      Src: /src/gnutls/lib/record.c:2255,1
    - Dst: memcpy
      Src: /src/gnutls/lib/record.c:2256,1
    - Dst: _mbuffer_head_remove_bytes
      Src: /src/gnutls/lib/record.c:2257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2261
      start: 2240
    functionDepth: 3
    functionLinenumber: 2240
    functionLinenumberEnd: 2261
    functionName: gnutls_record_recv_early_data
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 3
    functionsReached:
    - _mbuffer_head_remove_bytes
    - _mbuffer_head_get_first
    - MIN
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_recv_early_data(gnutls_session_t session, void
      *data,\n\t\t\t\t      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 2277
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2277
    functionName: gnutls_record_cork
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_record_cork(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/lib/record.c:2316,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/lib/record.c:2325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2343
      start: 2300
    functionDepth: 2
    functionLinenumber: 2300
    functionLinenumberEnd: 2343
    functionName: gnutls_record_uncork
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 3
    functionsReached:
    - gnutls_record_send
    linkageType: ''
    returnType: int
    signature: int gnutls_record_uncork(gnutls_session_t session, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:2374,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2380,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:2384,1
    - Dst: _gnutls_ktls_recv
      Src: /src/gnutls/lib/record.c:2385,1
    - Dst: _gnutls_recv_int
      Src: /src/gnutls/lib/record.c:2387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2391
      start: 2371
    functionDepth: 11
    functionLinenumber: 2371
    functionLinenumberEnd: 2391
    functionName: gnutls_record_recv
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 161
    functionsReached:
    - IS_KTLS_ENABLED
    - unlikely
    - _gnutls_recv_int
    - _gnutls_ktls_recv
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_recv(gnutls_session_t session, void *data,\n\t\t\t
      \  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_int
      Src: /src/gnutls/lib/record.c:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - data
    - data_size
    - seq
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2413
    functionDepth: 11
    functionLinenumber: 2413
    functionLinenumberEnd: 2419
    functionName: gnutls_record_recv_seq
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 5
    functionsReached:
    - _gnutls_recv_int
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_record_recv_seq(gnutls_session_t session, void *data,\n\t\t\t
      \      size_t data_size, unsigned char *seq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - ms
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2439
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2439
    functionName: gnutls_record_set_timeout
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_record_set_timeout(gnutls_session_t session, unsigned int
      ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/record.c:2466,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2471,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/record.c:2479,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2480,1
    - Dst: get_version
      Src: /src/gnutls/lib/record.c:2483,1
    - Dst: unlikely
      Src: /src/gnutls/lib/record.c:2484,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2485,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/record.c:2488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2490,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2494,1
    - Dst: _mbuffer_alloc_align16
      Src: /src/gnutls/lib/record.c:2496,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2498,1
    - Dst: memcpy
      Src: /src/gnutls/lib/record.c:2500,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/record.c:2500,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/record.c:2501,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/record.c:2502,1
    - Dst: sequence_increment
      Src: /src/gnutls/lib/record.c:2505,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/record.c:2506,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/record.c:2507,1
    - Dst: _gnutls_record_buffer_put
      Src: /src/gnutls/lib/record.c:2510,1
    - Dst: _gnutls13_recv_async_handshake
      Src: /src/gnutls/lib/record.c:2514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - session
    - level
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2517
      start: 2455
    functionDepth: 6
    functionLinenumber: 2455
    functionLinenumberEnd: 2517
    functionName: gnutls_handshake_write
    functionSourceFile: /src/gnutls/lib/record.c
    functionUses: 2
    functionsReached:
    - _mbuffer_xfree
    - _gnutls_epoch_get
    - _mbuffer_set_udata_size
    - sequence_increment
    - _gnutls_record_buffer_put
    - IS_KTLS_ENABLED
    - IS_DTLS
    - memcpy
    - _mbuffer_get_udata_ptr
    - unlikely
    - get_version
    - _gnutls13_recv_async_handshake
    - gnutls_assert_val
    - _mbuffer_alloc_align16
    linkageType: ''
    returnType: int
    signature: "int gnutls_handshake_write(gnutls_session_t session,\n\t\t\t   gnutls_record_encryption_level_t
      level,\n\t\t\t   const void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_algo_allowed
      Src: /src/gnutls/lib/cipher_int.c:61,1
    - Dst: _gnutls_get_crypto_cipher
      Src: /src/gnutls/lib/cipher_int.c:71,1
    - Dst: exists
      Src: /src/gnutls/lib/cipher_int.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: _gnutls_cipher_exists
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 0
    functionsReached:
    - is_cipher_algo_allowed
    - _gnutls_get_crypto_cipher
    - exists
    linkageType: ''
    returnType: int
    signature: int _gnutls_cipher_exists(gnutls_cipher_algorithm_t cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:86,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:87,1
    - Dst: _gnutls_get_crypto_cipher
      Src: /src/gnutls/lib/cipher_int.c:96,1
    - Dst: SR_FB
      Src: /src/gnutls/lib/cipher_int.c:111,1
    - Dst: gnutls_crypto_cipher_st*::init
      Src: /src/gnutls/lib/cipher_int.c:111,1
    - Dst: SR_FB
      Src: /src/gnutls/lib/cipher_int.c:112,1
    - Dst: gnutls_crypto_cipher_st*::setkey
      Src: /src/gnutls/lib/cipher_int.c:112,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:116,1
    - Dst: cipher_hd_st*::deinit
      Src: /src/gnutls/lib/cipher_int.c:119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:122,1
    - Dst: SR
      Src: /src/gnutls/lib/cipher_int.c:125,1
    - Dst: gnutls_crypto_cipher_st*::setiv
      Src: /src/gnutls/lib/cipher_int.c:125,1
    - Dst: init
      Src: /src/gnutls/lib/cipher_int.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cipher_int.c:148,1
    - Dst: setkey
      Src: /src/gnutls/lib/cipher_int.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cipher_int.c:154,1
    - Dst: setiv
      Src: /src/gnutls/lib/cipher_int.c:159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cipher_int.c:162,1
    - Dst: cipher_hd_st*::deinit
      Src: /src/gnutls/lib/cipher_int.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 5
    argNames:
    - handle
    - e
    - key
    - iv
    - enc
    argTypes:
    - cipher_hd_st*
    - cipher_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 175
    functionName: _gnutls_cipher_init
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 1
    functionsReached:
    - SR_FB
    - init
    - gnutls_crypto_cipher_st*::setiv
    - _gnutls_get_crypto_cipher
    - gnutls_assert
    - setkey
    - gnutls_crypto_cipher_st*::init
    - unlikely
    - gnutls_crypto_cipher_st*::setkey
    - cipher_hd_st*::deinit
    - SR
    - gnutls_assert_val
    - setiv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_init(cipher_hd_st *handle, const cipher_entry_st
      *e,\n\t\t\tconst gnutls_datum_t *key, const gnutls_datum_t *iv,\n\t\t\tint enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:191,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:192,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher_int.c:196,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/cipher_int.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:204,1
    - Dst: _gnutls_mac_init_ssl3
      Src: /src/gnutls/lib/cipher_int.c:214,1
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/cipher_int.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cipher_int.c:222,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/cipher_int.c:230,1
    - Dst: _gnutls_cipher_algo_is_aead
      Src: /src/gnutls/lib/cipher_int.c:231,1
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/cipher_int.c:232,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/cipher_int.c:234,1
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/cipher_int.c:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 9
    argNames:
    - handle
    - e
    - cipher_key
    - iv
    - me
    - mac_key
    - etm
    - ssl_hmac
    - enc
    argTypes:
    - auth_cipher_hd_st*
    - cipher_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - mac_entry_st*
    - gnutls_datum_t*
    - unsigned
    - "ENABLE_SSL3\n\t\t\t     unsigned"
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 244
    functionName: _gnutls_auth_cipher_init
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_mac_get_algo_len
    - _gnutls_mac_init
    - _gnutls_cipher_init
    - unlikely
    - _gnutls_cipher_deinit
    - memset
    - _gnutls_cipher_algo_is_aead
    - _gnutls_mac_init_ssl3
    - _gnutls_cipher_get_tag_size
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_cipher_init(auth_cipher_hd_st *handle,\n\t\t\t     const
      cipher_entry_st *e,\n\t\t\t     const gnutls_datum_t *cipher_key,\n\t\t\t     const
      gnutls_datum_t *iv, const mac_entry_st *me,\n\t\t\t     const gnutls_datum_t
      *mac_key, unsigned etm,\n#ifdef ENABLE_SSL3\n\t\t\t     unsigned ssl_hmac,\n#endif\n\t\t\t
      \    int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:268,1
    - Dst: _gnutls_cipher_is_aead
      Src: /src/gnutls/lib/cipher_int.c:269,1
    - Dst: _gnutls_cipher_auth
      Src: /src/gnutls/lib/cipher_int.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - text
    - textlen
    argTypes:
    - auth_cipher_hd_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: _gnutls_auth_cipher_add_auth
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 4
    functionsReached:
    - _gnutls_cipher_is_aead
    - MAC
    - _gnutls_cipher_auth
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_cipher_add_auth(auth_cipher_hd_st *handle, const
      void *text,\n\t\t\t\t int textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/cipher_int.c:285,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:289,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:291,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:293,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher_int.c:297,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher_int.c:298,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:301,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:308,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:311,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:313,1
    - Dst: assert
      Src: /src/gnutls/lib/cipher_int.c:316,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/cipher_int.c:319,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:324,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher_int.c:333,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher_int.c:337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:341,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher_int.c:347,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/cipher_int.c:352,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:357,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:361,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:362,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher_int.c:364,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:368,1
    - Dst: _gnutls_cipher_is_aead
      Src: /src/gnutls/lib/cipher_int.c:371,1
    - Dst: _gnutls_cipher_encrypt2
      Src: /src/gnutls/lib/cipher_int.c:372,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:374,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:375,1
    - Dst: _gnutls_auth_cipher_tag
      Src: /src/gnutls/lib/cipher_int.c:377,1
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:379,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:380,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher_int.c:383,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 6
    argNames:
    - handle
    - text
    - textlen
    - _ciphertext
    - ciphertextlen
    - pad_size
    argTypes:
    - auth_cipher_hd_st*
    - uint8_t*
    - int
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 386
    functionName: _gnutls_auth_cipher_encrypt2_tag
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 1
    functionsReached:
    - assert
    - _gnutls_cipher_is_aead
    - _gnutls_auth_cipher_tag
    - unlikely
    - memset
    - memcpy
    - MAC
    - gnutls_assert_val
    - _gnutls_cipher_encrypt2
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_cipher_encrypt2_tag(auth_cipher_hd_st *handle,\n\t\t\t\t
      \    const uint8_t *text, int textlen,\n\t\t\t\t     void *_ciphertext, int
      ciphertextlen,\n\t\t\t\t     int pad_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/cipher_int.c:394,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:395,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:402,1
    - Dst: _gnutls_cipher_decrypt2
      Src: /src/gnutls/lib/cipher_int.c:406,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:409,1
    - Dst: memcpy
      Src: /src/gnutls/lib/cipher_int.c:411,1
    - Dst: MAC
      Src: /src/gnutls/lib/cipher_int.c:418,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - handle
    - ciphertext
    - ciphertextlen
    - text
    - textlen
    argTypes:
    - auth_cipher_hd_st*
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 422
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 422
    functionName: _gnutls_auth_cipher_decrypt2
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 1
    functionsReached:
    - _gnutls_cipher_decrypt2
    - unlikely
    - memcpy
    - MAC
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_cipher_decrypt2(auth_cipher_hd_st *handle,\n\t\t\t\t
      const void *ciphertext, int ciphertextlen,\n\t\t\t\t void *text, int textlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:432,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/cipher_int.c:442,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/cipher_int.c:443,1
    - Dst: _gnutls_mac_output
      Src: /src/gnutls/lib/cipher_int.c:446,1
    - Dst: _gnutls_cipher_is_aead
      Src: /src/gnutls/lib/cipher_int.c:447,1
    - Dst: _gnutls_cipher_tag
      Src: /src/gnutls/lib/cipher_int.c:448,1
    - Dst: memset
      Src: /src/gnutls/lib/cipher_int.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - tag
    - tag_size
    argTypes:
    - auth_cipher_hd_st*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 453
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 453
    functionName: _gnutls_auth_cipher_tag
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 3
    functionsReached:
    - _gnutls_mac_output
    - _gnutls_cipher_tag
    - _gnutls_cipher_is_aead
    - _gnutls_mac_deinit
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_auth_cipher_tag(auth_cipher_hd_st *handle, void *tag, int
      tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_deinit_ssl3
      Src: /src/gnutls/lib/cipher_int.c:460,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/cipher_int.c:463,1
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/cipher_int.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - auth_cipher_hd_st*
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: _gnutls_auth_cipher_deinit
    functionSourceFile: /src/gnutls/lib/cipher_int.c
    functionUses: 1
    functionsReached:
    - _gnutls_mac_deinit
    - _gnutls_mac_deinit_ssl3
    - _gnutls_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_auth_cipher_deinit(auth_cipher_hd_st *handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/crypto-api.h:35,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-api.h:37,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/crypto-api.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - cipher
    - key
    argTypes:
    - gnutls_aead_cipher_hd_t
    - gnutls_cipher_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: _gnutls_aead_cipher_init
    functionSourceFile: /src/gnutls/lib/crypto-api.h
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_cipher_init
    - cipher_to_entry
    linkageType: ''
    returnType: int
    signature: "int _gnutls_aead_cipher_init(gnutls_aead_cipher_hd_t handle,\n\t\t\t\t\t
      \  gnutls_cipher_algorithm_t cipher,\n\t\t\t\t\t   const gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/crypto-api.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gnutls_aead_cipher_hd_t
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: _gnutls_aead_cipher_deinit
    functionSourceFile: /src/gnutls/lib/crypto-api.h
    functionUses: 2
    functionsReached:
    - _gnutls_cipher_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_aead_cipher_deinit(gnutls_aead_cipher_hd_t handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/datum.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dat
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: _gnutls_free_datum
    functionSourceFile: /src/gnutls/lib/datum.h
    functionUses: 35
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_free_datum(gnutls_datum_t *dat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/datum.h:53,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/datum.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dat
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: _gnutls_free_temp_key_datum
    functionSourceFile: /src/gnutls/lib/datum.h
    functionUses: 4
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: "void _gnutls_free_temp_key_datum(\n\tgnutls_datum_t *dat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/datum.h:64,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/datum.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dat
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: _gnutls_free_key_datum
    functionSourceFile: /src/gnutls/lib/datum.h
    functionUses: 2
    functionsReached:
    - gnutls_free
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: "void _gnutls_free_key_datum(\n\tgnutls_datum_t *dat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: _gnutls_record_buffer_get_size
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_record_buffer_get_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: record_check_unprocessed
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t record_check_unprocessed(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/buffers.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hsk
    argTypes:
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: _gnutls_handshake_buffer_clear
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 4
    functionsReached:
    - _gnutls_buffer_clear
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_buffer_clear(handshake_buffer_st *hsk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/buffers.h:91,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/buffers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hsk
    argTypes:
    - handshake_buffer_st*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: _gnutls_handshake_buffer_init
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_init
    - memset
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_buffer_init(handshake_buffer_st *hsk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_buffer_clear
      Src: /src/gnutls/lib/buffers.h:100,1
    - Dst: _mbuffer_head_clear
      Src: /src/gnutls/lib/buffers.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: _gnutls_handshake_recv_buffer_clear
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_buffer_clear
    - _mbuffer_head_clear
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_recv_buffer_clear(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_buffer_init
      Src: /src/gnutls/lib/buffers.h:110,1
    - Dst: _mbuffer_head_init
      Src: /src/gnutls/lib/buffers.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: _gnutls_handshake_recv_buffer_init
    functionSourceFile: /src/gnutls/lib/buffers.h
    functionUses: 1
    functionsReached:
    - _mbuffer_head_init
    - _gnutls_handshake_buffer_init
    linkageType: ''
    returnType: void
    signature: void _gnutls_handshake_recv_buffer_init(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/lib/auto-verify.c:38,1
    - Dst: gnutls_certificate_verify_peers
      Src: /src/gnutls/lib/auto-verify.c:40,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auto-verify.c:45,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auto-verify.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: auto_verify_cb
    functionSourceFile: /src/gnutls/lib/auto-verify.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_verify_peers
    - gnutls_certificate_verify_peers2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int auto_verify_cb(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ADD_PROFILE_VFLAGS
      Src: /src/gnutls/lib/auto-verify.c:97,1
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/lib/auto-verify.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - session
    - hostname
    - flags
    argTypes:
    - gnutls_session_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: gnutls_session_set_verify_cert
    functionSourceFile: /src/gnutls/lib/auto-verify.c
    functionUses: 5
    functionsReached:
    - gnutls_session_set_verify_function
    - ADD_PROFILE_VFLAGS
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_set_verify_cert(gnutls_session_t session,\n\t\t\t\t
      \   const char *hostname, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_verify_function
      Src: /src/gnutls/lib/auto-verify.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - session
    - data
    - elements
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_typed_vdata_st*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: gnutls_session_set_verify_cert2
    functionSourceFile: /src/gnutls/lib/auto-verify.c
    functionUses: 2
    functionsReached:
    - gnutls_session_set_verify_function
    linkageType: ''
    returnType: void
    signature: "void gnutls_session_set_verify_cert2(gnutls_session_t session,\n\t\t\t\t
      \    gnutls_typed_vdata_st *data,\n\t\t\t\t     unsigned elements, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: gnutls_session_get_verify_cert_status
    functionSourceFile: /src/gnutls/lib/auto-verify.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_session_get_verify_cert_status(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: gnutls_credentials_clear
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_credentials_clear(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth.c:102,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth.c:125,1
    - Dst: get_key_usage
      Src: /src/gnutls/lib/auth.c:150,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - session
    - type
    - cred
    argTypes:
    - gnutls_session_t
    - gnutls_credentials_type_t
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 174
    functionName: gnutls_credentials_set
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 447
    functionsReached:
    - get_key_usage
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int gnutls_credentials_set(gnutls_session_t session,\n\t\t\t   gnutls_credentials_type_t
      type, void *cred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth.c:205,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - type
    - cred
    argTypes:
    - gnutls_session_t
    - gnutls_credentials_type_t
    - void**
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: gnutls_credentials_get
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 4
    functionsReached:
    - gnutls_assert_val
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int gnutls_credentials_get(gnutls_session_t session,\n\t\t\t   gnutls_credentials_type_t
      type, void **cred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_client_get_type
      Src: /src/gnutls/lib/auth.c:236,1
    - Dst: gnutls_auth_server_get_type
      Src: /src/gnutls/lib/auth.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: gnutls_auth_get_type
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 14
    functionsReached:
    - gnutls_auth_client_get_type
    - gnutls_auth_server_get_type
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t gnutls_auth_get_type(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: gnutls_auth_server_get_type
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t gnutls_auth_server_get_type(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: gnutls_auth_client_get_type
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t gnutls_auth_client_get_type(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth.c:289,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/auth.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - algo
    argTypes:
    - gnutls_session_t
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: _gnutls_get_kx_cred
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 2
    functionsReached:
    - _gnutls_map_kx_get_cred
    - _gnutls_get_cred
    linkageType: ''
    returnType: void
    signature: "void *_gnutls_get_kx_cred(gnutls_session_t session,\n\t\t\t\tgnutls_kx_algorithm_t
      algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - gnutls_credentials_type_t
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: _gnutls_get_cred
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *_gnutls_get_cred(gnutls_session_t session,\n\t\t\t     gnutls_credentials_type_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth.c:324,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth.c:331,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:336,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth.c:342,1
    - Dst: _gnutls_free_dh_info
      Src: /src/gnutls/lib/auth.c:348,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth.c:353,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:358,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:362,1
    - Dst: _gnutls_free_dh_info
      Src: /src/gnutls/lib/auth.c:368,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth.c:374,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth.c:381,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth.c:385,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:388,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:389,1
    - Dst: _gnutls_free_dh_info
      Src: /src/gnutls/lib/auth.c:394,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth.c:403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 406
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 406
    functionName: _gnutls_free_auth_info
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - _gnutls_free_dh_info
    - _gnutls_free_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: void _gnutls_free_auth_info(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth.c:419,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth.c:421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth.c:435,1
    - Dst: _gnutls_free_auth_info
      Src: /src/gnutls/lib/auth.c:446,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth.c:448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - session
    - type
    - size
    - allow_change
    argTypes:
    - gnutls_session_t
    - gnutls_credentials_type_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 460
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 460
    functionName: _gnutls_auth_info_init
    functionSourceFile: /src/gnutls/lib/auth.c
    functionUses: 4
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    - _gnutls_free_auth_info
    linkageType: ''
    returnType: int
    signature: "int _gnutls_auth_info_init(gnutls_session_t session,\n\t\t\t   gnutls_credentials_type_t
      type, int size,\n\t\t\t   int allow_change)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/gnutls/lib/mem.h:62,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/gnutls/lib/mem.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: _gnutls_memory_mark_undefined
    functionSourceFile: /src/gnutls/lib/mem.h
    functionUses: 8
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    - ASAN_POISON_MEMORY_REGION
    linkageType: ''
    returnType: void
    signature: void _gnutls_memory_mark_undefined(void *addr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/gnutls/lib/mem.h:73,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/gnutls/lib/mem.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: _gnutls_memory_mark_defined
    functionSourceFile: /src/gnutls/lib/mem.h
    functionUses: 12
    functionsReached:
    - ASAN_UNPOISON_MEMORY_REGION
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: void _gnutls_memory_mark_defined(void *addr, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/dh.c:42,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/dh.c:44,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:46,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:48,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:50,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:52,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:54,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:59,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:61,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:63,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - session
    - g
    - p
    - q
    - q_bits
    argTypes:
    - gnutls_session_t
    - bigint_t
    - bigint_t
    - bigint_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 74
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 74
    functionName: set_dh_pk_params
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_pk_params_release
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int set_dh_pk_params(gnutls_session_t session, bigint_t g, bigint_t
      p,\n\t\t\t    bigint_t q, unsigned q_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_group
      Src: /src/gnutls/lib/dh.c:92,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:111,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:115,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:124,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:151,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:175,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:179,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:188,1
    - Dst: func
      Src: /src/gnutls/lib/dh.c:205,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:214,1
    - Dst: _gnutls_dh_save_group
      Src: /src/gnutls/lib/dh.c:217,1
    - Dst: set_dh_pk_params
      Src: /src/gnutls/lib/dh.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:221,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:226,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:227,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:228,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/dh.c:231,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 4
    argNames:
    - session
    - dh_params
    - func
    - sec_param
    argTypes:
    - gnutls_session_t
    - gnutls_dh_params_t
    - gnutls_params_function*
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 234
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 234
    functionName: _gnutls_figure_dh_params
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 0
    functionsReached:
    - set_dh_pk_params
    - gnutls_assert
    - _gnutls_mpi_release
    - gnutls_dh_params_deinit
    - _gnutls_dh_save_group
    - _gnutls_mpi_init_scan_nz
    - get_group
    - func
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_figure_dh_params(gnutls_session_t session,\n\t\t\t     gnutls_dh_params_t
      dh_params,\n\t\t\t     gnutls_params_function *func,\n\t\t\t     gnutls_sec_param_t
      sec_param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dh_primes
    argTypes:
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: _gnutls_dh_params_to_mpi
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bigint_t
    signature: bigint_t *_gnutls_dh_params_to_mpi(gnutls_dh_params_t dh_primes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_import_raw2
      Src: /src/gnutls/lib/dh.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dh_params
    - prime
    - generator
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: gnutls_dh_params_import_raw
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 3
    functionsReached:
    - gnutls_dh_params_import_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_import_raw(gnutls_dh_params_t dh_params,\n\t\t\t\tconst
      gnutls_datum_t *prime,\n\t\t\t\tconst gnutls_datum_t *generator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/lib/dh.c:285,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:287,1
    - Dst: gnutls_dh_params_import_raw3
      Src: /src/gnutls/lib/dh.c:289,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:291,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:292,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dh_params
    - key
    argTypes:
    - gnutls_dh_params_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: gnutls_dh_params_import_dsa
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - gnutls_assert_val
    - gnutls_dh_params_import_raw3
    - gnutls_x509_privkey_export_dsa_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_import_dsa(gnutls_dh_params_t dh_params,\n\t\t\t\tgnutls_x509_privkey_t
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:320,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:324,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:326,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - dh_params
    - prime
    - generator
    - key_bits
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 338
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 338
    functionName: gnutls_dh_params_import_raw2
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 2
    functionsReached:
    - _gnutls_mpi_release
    - gnutls_assert
    - _gnutls_mpi_init_scan_nz
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_import_raw2(gnutls_dh_params_t dh_params,\n\t\t\t\t
      const gnutls_datum_t *prime,\n\t\t\t\t const gnutls_datum_t *generator,\n\t\t\t\t
      unsigned key_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:362,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:366,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:369,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/dh.c:374,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:375,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:376,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:377,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/dh.c:380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:382,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/dh.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - dh_params
    - prime
    - q
    - generator
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 395
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 395
    functionName: gnutls_dh_params_import_raw3
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 3
    functionsReached:
    - _gnutls_mpi_get_nbits
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - _gnutls_fips_mode_enabled
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_import_raw3(gnutls_dh_params_t dh_params,\n\t\t\t\t
      const gnutls_datum_t *prime,\n\t\t\t\t const gnutls_datum_t *q,\n\t\t\t\t const
      gnutls_datum_t *generator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/dh.c:408,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dh_params
    argTypes:
    - gnutls_dh_params_t*
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: gnutls_dh_params_init
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 37
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_params_init(gnutls_dh_params_t *dh_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:428,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:429,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:430,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dh_params
    argTypes:
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: gnutls_dh_params_deinit
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 42
    functionsReached:
    - _gnutls_mpi_release
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_dh_params_deinit(gnutls_dh_params_t dh_params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:451,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:452,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/dh.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gnutls_dh_params_t
    - gnutls_dh_params_t
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: gnutls_dh_params_cpy
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_params_cpy(gnutls_dh_params_t dst, gnutls_dh_params_t
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/dh.c:495,1
    - Dst: _gnutls_pk_generate_params
      Src: /src/gnutls/lib/dh.c:497,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:499,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/dh.c:503,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dparams
    - bits
    argTypes:
    - gnutls_dh_params_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: gnutls_dh_params_generate2
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 3
    functionsReached:
    - _gnutls_mpi_get_nbits
    - _gnutls_pk_generate_params
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_dh_params_generate2(gnutls_dh_params_t dparams, unsigned
      int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/dh.c:535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:540,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/dh.c:550,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/dh.c:550,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:553,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:555,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:558,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/dh.c:563,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:566,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/dh.c:573,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:574,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:575,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:576,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/dh.c:580,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:582,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/dh.c:589,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:592,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/dh.c:596,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:597,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:598,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/dh.c:603,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:605,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:606,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:607,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/dh.c:611,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:612,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/dh.c:613,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:614,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:617,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 3
    argNames:
    - params
    - pkcs3_params
    - format
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 620
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 620
    functionName: gnutls_dh_params_import_pkcs3
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 28
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_fbase64_decode
    - gnutls_free
    - _gnutls_x509_read_uint
    - asn1_create_element
    - _gnutls_mpi_release
    - _gnutls_mpi_cmp_ui
    - _gnutls_x509_read_int
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_debug_log
    - gnutls_assert_val
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_import_pkcs3(gnutls_dh_params_t params,\n\t\t\t\t
      \ const gnutls_datum_t *pkcs3_params,\n\t\t\t\t  gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_export2_pkcs3
      Src: /src/gnutls/lib/dh.c:648,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:650,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:653,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:654,1
    - Dst: assert
      Src: /src/gnutls/lib/dh.c:659,1
    - Dst: memcpy
      Src: /src/gnutls/lib/dh.c:662,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - params
    - format
    - params_data
    - params_data_size
    argTypes:
    - gnutls_dh_params_t
    - gnutls_x509_crt_fmt_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 669
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 669
    functionName: gnutls_dh_params_export_pkcs3
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 3
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_dh_params_export2_pkcs3
    - gnutls_assert
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_export_pkcs3(gnutls_dh_params_t params,\n\t\t\t\t
      \ gnutls_x509_crt_fmt_t format,\n\t\t\t\t  unsigned char *params_data,\n\t\t\t\t
      \ size_t *params_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/dh.c:699,1
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/dh.c:700,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/dh.c:702,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:704,1
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/dh.c:709,1
    - Dst: _gnutls_mpi_print_lz
      Src: /src/gnutls/lib/dh.c:712,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/dh.c:717,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/dh.c:717,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:720,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:721,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:722,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/dh.c:727,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:729,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:730,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:731,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:732,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/dh.c:736,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/dh.c:739,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:742,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:743,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:744,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:745,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/dh.c:750,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:752,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:753,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:754,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/dh.c:755,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:758,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/dh.c:761,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:763,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:766,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/dh.c:771,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/dh.c:773,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/dh.c:776,1
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/dh.c:778,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/dh.c:781,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:784,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - params
    - format
    - out
    argTypes:
    - gnutls_dh_params_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 790
    functionName: gnutls_dh_params_export2_pkcs3
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_write_value
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_fbase64_encode
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_x509_write_uint32
    - gnutls_assert_val
    - _gnutls_mpi_print_lz
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_export2_pkcs3(gnutls_dh_params_t params,\n\t\t\t\t
      \  gnutls_x509_crt_fmt_t format,\n\t\t\t\t   gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:814,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/dh.c:818,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:820,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/dh.c:824,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/dh.c:826,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/dh.c:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - params
    - prime
    - generator
    - bits
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 835
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 835
    functionName: gnutls_dh_params_export_raw
    functionSourceFile: /src/gnutls/lib/dh.c
    functionUses: 4
    functionsReached:
    - _gnutls_mpi_dprint
    - gnutls_assert
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_dh_params_export_raw(gnutls_dh_params_t params,\n\t\t\t\tgnutls_datum_t
      *prime,\n\t\t\t\tgnutls_datum_t *generator, unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/pubkey.c:57,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/pubkey.c:59,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/pubkey.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: pubkey_to_bits
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_get_nbits
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: unsigned
    signature: unsigned pubkey_to_bits(const gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_pubkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: gnutls_pubkey_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_pubkey_get_pk_algorithm(gnutls_pubkey_t key, unsigned int
      *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - usage
    argTypes:
    - gnutls_pubkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: gnutls_pubkey_get_key_usage
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_pubkey_get_key_usage(gnutls_pubkey_t key, unsigned int *usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/pubkey.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pubkey_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: gnutls_pubkey_init
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 58
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pubkey_init(gnutls_pubkey_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:153,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: gnutls_pubkey_deinit
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 68
    functionsReached:
    - gnutls_pk_params_release
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_pubkey_deinit(gnutls_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:176,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/pubkey.c:179,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:181,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/lib/pubkey.c:185,1
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/pubkey.c:189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - key
    - crt
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 196
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 196
    functionName: gnutls_pubkey_import_x509
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 15
    functionsReached:
    - _gnutls_x509_crt_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - gnutls_x509_crt_get_key_usage
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_x509(gnutls_pubkey_t key, gnutls_x509_crt_t
      crt,\n\t\t\t      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:217,1
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/lib/pubkey.c:220,1
    - Dst: gnutls_x509_crq_get_key_usage
      Src: /src/gnutls/lib/pubkey.c:222,1
    - Dst: _gnutls_x509_crq_get_mpis
      Src: /src/gnutls/lib/pubkey.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - key
    - crq
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_crq_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 233
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 233
    functionName: gnutls_pubkey_import_x509_crq
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_get_pk_algorithm
    - _gnutls_x509_crq_get_mpis
    - gnutls_pk_params_release
    - gnutls_x509_crq_get_key_usage
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_x509_crq(gnutls_pubkey_t key, gnutls_x509_crq_t
      crq,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:256,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:257,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/pubkey.c:260,1
    - Dst: _gnutls_privkey_get_public_mpis
      Src: /src/gnutls/lib/pubkey.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key
    - pkey
    - usage
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_privkey_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: gnutls_pubkey_import_privkey
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 28
    functionsReached:
    - gnutls_pk_params_release
    - gnutls_pk_params_init
    - gnutls_privkey_get_pk_algorithm
    - _gnutls_privkey_get_public_mpis
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_privkey(gnutls_pubkey_t key, gnutls_privkey_t
      pkey,\n\t\t\t\t unsigned int usage, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:291,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/pubkey.c:305,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/pubkey.c:327,1
    - Dst: _gnutls_pk_bits_to_sha_hash
      Src: /src/gnutls/lib/pubkey.c:341,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:342,1
    - Dst: _gnutls_pk_bits_to_sha_hash
      Src: /src/gnutls/lib/pubkey.c:349,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:355,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - key
    - hash
    - mand
    argTypes:
    - gnutls_pubkey_t
    - gnutls_digest_algorithm_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 360
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 360
    functionName: gnutls_pubkey_get_preferred_hash_algorithm
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_pk_bits_to_sha_hash
    - _gnutls_gost_digest
    - _gnutls_dsa_q_to_hash
    - pubkey_to_bits
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_get_preferred_hash_algorithm(gnutls_pubkey_t key,\n\t\t\t\t\t
      \      gnutls_digest_algorithm_t *hash,\n\t\t\t\t\t       unsigned int *mand)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pubkey.c:376,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pubkey.c:376,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:379,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:380,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/pubkey.c:383,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:386,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:387,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:394,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:396,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:397,1
    - Dst: strcmp
      Src: /src/gnutls/lib/pubkey.c:403,1
    - Dst: strcmp
      Src: /src/gnutls/lib/pubkey.c:405,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:414,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:415,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/pubkey.c:419,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pubkey.c:422,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:424,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:434,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:436,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:437,1
    - Dst: strlen
      Src: /src/gnutls/lib/pubkey.c:441,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:442,1
    - Dst: strlen
      Src: /src/gnutls/lib/pubkey.c:446,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:447,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:456,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pubkey.c:463,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 2
    argNames:
    - parameters
    - outcurve
    argTypes:
    - gnutls_datum_t*
    - gnutls_ecc_curve_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 466
    functionName: _gnutls_pubkey_parse_ecc_eddsa_params
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - asn1_read_value
    - asn1_create_element
    - gnutls_oid_to_ecc_curve
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - strcmp
    - strncmp
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pubkey_parse_ecc_eddsa_params(const gnutls_datum_t *parameters,\n\t\t\t\t\t
      \ gnutls_ecc_curve_t *outcurve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pubkey_parse_ecc_eddsa_params
      Src: /src/gnutls/lib/pubkey.c:477,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:479,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/pubkey.c:482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:485,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:486,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/lib/pubkey.c:489,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - key
    - parameters
    - ecpoint
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 493
    functionName: gnutls_pubkey_import_ecc_eddsa
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_free
    - _gnutls_pubkey_parse_ecc_eddsa_params
    - gnutls_assert
    - gnutls_assert_val
    - gnutls_pubkey_import_ecc_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_ecc_eddsa(gnutls_pubkey_t key,\n\t\t\t\t\t
      \ const gnutls_datum_t *parameters,\n\t\t\t\t\t  const gnutls_datum_t *ecpoint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pubkey.c:506,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/pubkey.c:506,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:509,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:510,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/pubkey.c:513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:516,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:517,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:526,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:527,1
    - Dst: strcmp
      Src: /src/gnutls/lib/pubkey.c:533,1
    - Dst: strcmp
      Src: /src/gnutls/lib/pubkey.c:535,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:544,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:545,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/pubkey.c:549,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pubkey.c:552,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:555,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/pubkey.c:565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:567,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:568,1
    - Dst: strlen
      Src: /src/gnutls/lib/pubkey.c:572,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:573,1
    - Dst: strlen
      Src: /src/gnutls/lib/pubkey.c:577,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:578,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:587,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pubkey.c:594,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 2
    argNames:
    - parameters
    - outcurve
    argTypes:
    - gnutls_datum_t*
    - gnutls_ecc_curve_t*
    constantsTouched: []
    func_position:
      end: 597
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 597
    functionName: gnutls_pubkey_parse_ecc_ecdh_params
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - asn1_read_value
    - asn1_create_element
    - gnutls_oid_to_ecc_curve
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - strcmp
    - strncmp
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_parse_ecc_ecdh_params(const gnutls_datum_t *parameters,\n\t\t\t\t\t
      \      gnutls_ecc_curve_t *outcurve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_parse_ecc_ecdh_params
      Src: /src/gnutls/lib/pubkey.c:608,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:610,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/pubkey.c:613,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:616,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:617,1
    - Dst: gnutls_pubkey_import_ecc_raw
      Src: /src/gnutls/lib/pubkey.c:620,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - key
    - parameters
    - ecpoint
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 624
    functionName: gnutls_pubkey_import_ecc_ecdh
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_pubkey_import_ecc_raw
    - gnutls_free
    - gnutls_assert
    - gnutls_assert_val
    - gnutls_pubkey_parse_ecc_ecdh_params
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_ecc_ecdh(gnutls_pubkey_t key,\n\t\t\t\t\t
      const gnutls_datum_t *parameters,\n\t\t\t\t\t const gnutls_datum_t *ecpoint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_get_type
      Src: /src/gnutls/lib/pubkey.c:645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:648,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pubkey.c:655,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:657,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/lib/pubkey.c:660,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:662,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/pubkey.c:666,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:668,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/lib/pubkey.c:672,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pubkey.c:679,1
    - Dst: gnutls_pubkey_import_rsa_raw
      Src: /src/gnutls/lib/pubkey.c:688,1
    - Dst: gnutls_pubkey_import_dsa_raw
      Src: /src/gnutls/lib/pubkey.c:692,1
    - Dst: gnutls_pubkey_import_ecc_x962
      Src: /src/gnutls/lib/pubkey.c:698,1
    - Dst: gnutls_pubkey_import_ecc_eddsa
      Src: /src/gnutls/lib/pubkey.c:703,1
    - Dst: gnutls_pubkey_import_ecc_ecdh
      Src: /src/gnutls/lib/pubkey.c:707,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:711,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:716,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 3
    argNames:
    - key
    - obj
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_pkcs11_obj_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 721
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 721
    functionName: gnutls_pubkey_import_pkcs11
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_pubkey_import_dsa_raw
    - gnutls_x509_crt_init
    - gnutls_pubkey_import_ecc_x962
    - gnutls_pubkey_import_ecc_ecdh
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_import_rsa_raw
    - gnutls_x509_crt_get_key_usage
    - gnutls_pkcs11_obj_get_type
    - gnutls_pubkey_import_ecc_eddsa
    - gnutls_assert
    - gnutls_x509_crt_import_pkcs11
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_pkcs11(gnutls_pubkey_t key, gnutls_pkcs11_obj_t
      obj,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:756,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pubkey.c:760,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/pubkey.c:760,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:763,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:764,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/pubkey.c:767,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:769,1
    - Dst: _gnutls_x509_export_int_named
      Src: /src/gnutls/lib/pubkey.c:773,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:776,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pubkey.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - key
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 786
    functionName: gnutls_pubkey_export
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_export_int_named
    - _gnutls_x509_encode_and_copy_PKI_params
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t
      format,\n\t\t\t void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:815,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pubkey.c:819,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/pubkey.c:819,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:822,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:823,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/pubkey.c:826,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:828,1
    - Dst: _gnutls_x509_export_int_named2
      Src: /src/gnutls/lib/pubkey.c:832,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:834,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pubkey.c:841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - key
    - format
    - out
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 844
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 844
    functionName: gnutls_pubkey_export2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 8
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_encode_and_copy_PKI_params
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    - _gnutls_x509_export_int_named2
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export2(gnutls_pubkey_t key, gnutls_x509_crt_fmt_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:875,1
    - Dst: _gnutls_get_key_id
      Src: /src/gnutls/lib/pubkey.c:879,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - key
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_pubkey_t
    - unsigned int
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 887
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 887
    functionName: gnutls_pubkey_get_key_id
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_get_key_id
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_get_key_id(gnutls_pubkey_t key, unsigned int flags,\n\t\t\t
      \    unsigned char *output_data,\n\t\t\t     size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:916,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/pubkey.c:920,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:921,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:926,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:928,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:934,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:936,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - key
    - m
    - e
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 943
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 943
    functionName: gnutls_pubkey_export_rsa_raw2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_free_datum
    - GNUTLS_PK_IS_RSA
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_rsa_raw2(gnutls_pubkey_t key, gnutls_datum_t
      *m,\n\t\t\t\t  gnutls_datum_t *e, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_export_rsa_raw2
      Src: /src/gnutls/lib/pubkey.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - m
    - e
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: gnutls_pubkey_export_rsa_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pubkey_export_rsa_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_rsa_raw(gnutls_pubkey_t key, gnutls_datum_t
      *m,\n\t\t\t\t gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_export_dsa_raw2
      Src: /src/gnutls/lib/pubkey.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: gnutls_pubkey_export_dsa_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_export_dsa_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_dsa_raw(gnutls_pubkey_t key, gnutls_datum_t
      *p,\n\t\t\t\t gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t\t\t gnutls_datum_t
      *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1022,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1027,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1033,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1035,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1042,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1044,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1045,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1052,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1054,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1055,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1056,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1063,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1065,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1066,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1067,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1068,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 6
    argNames:
    - key
    - p
    - q
    - g
    - y
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1074
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1074
    functionName: gnutls_pubkey_export_dsa_raw2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_dsa_raw2(gnutls_pubkey_t key, gnutls_datum_t
      *p,\n\t\t\t\t  gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t\t\t  gnutls_datum_t
      *y, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1111,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:1115,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:1116,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:1119,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - key
    - params
    - y
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1133
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1133
    functionName: gnutls_pubkey_export_dh_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_assert_val
    - dprint
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_dh_raw(gnutls_pubkey_t key, gnutls_dh_params_t
      params,\n\t\t\t\tgnutls_datum_t *y, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_export_ecc_raw2
      Src: /src/gnutls/lib/pubkey.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - curve
    - x
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: gnutls_pubkey_export_ecc_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 4
    functionsReached:
    - gnutls_pubkey_export_ecc_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t
      *curve,\n\t\t\t\t gnutls_datum_t *x, gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1193,1
    - Dst: IS_EC
      Src: /src/gnutls/lib/pubkey.c:1197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1198,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pubkey.c:1210,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1213,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1228,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1237,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 5
    argNames:
    - key
    - curve
    - x
    - y
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1244
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1244
    functionName: gnutls_pubkey_export_ecc_raw2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - IS_EC
    - dprint
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_ecc_raw2(gnutls_pubkey_t key,\n\t\t\t\t  gnutls_ecc_curve_t
      *curve, gnutls_datum_t *x,\n\t\t\t\t  gnutls_datum_t *y, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1268,1
    - Dst: _gnutls_x509_write_ecc_pubkey
      Src: /src/gnutls/lib/pubkey.c:1270,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1272,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/pubkey.c:1274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1278,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/pubkey.c:1282,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1285,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:1291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - key
    - parameters
    - ecpoint
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1293
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1293
    functionName: gnutls_pubkey_export_ecc_x962
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - _gnutls_x509_write_ecc_params
    - _gnutls_free_datum
    - _gnutls_x509_write_ecc_pubkey
    - gnutls_assert
    - _gnutls_x509_encode_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_ecc_x962(gnutls_pubkey_t key,\n\t\t\t\t  gnutls_datum_t
      *parameters,\n\t\t\t\t  gnutls_datum_t *ecpoint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1335,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/pubkey.c:1343,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1352,1
    - Dst: dprint
      Src: /src/gnutls/lib/pubkey.c:1359,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1361,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 7
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_ecc_curve_t*
    - gnutls_digest_algorithm_t*
    - gnutls_gost_paramset_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1368
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1368
    functionName: gnutls_pubkey_export_gost_raw2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_gost_digest
    - gnutls_assert
    - dprint
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_export_gost_raw2(gnutls_pubkey_t key,\n\t\t\t\t
      \  gnutls_ecc_curve_t *curve,\n\t\t\t\t   gnutls_digest_algorithm_t *digest,\n\t\t\t\t
      \  gnutls_gost_paramset_t *paramset,\n\t\t\t\t   gnutls_datum_t *x, gnutls_datum_t
      *y,\n\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1395,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/pubkey.c:1406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1410,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/pubkey.c:1417,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/pubkey.c:1417,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1420,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:1421,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/pubkey.c:1425,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1427,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/pubkey.c:1428,1
    - Dst: _gnutls_get_asn_mpis
      Src: /src/gnutls/lib/pubkey.c:1432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1434,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:1438,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/pubkey.c:1442,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:1445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - key
    - data
    - format
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1447
      start: 1387
    functionDepth: 4
    functionLinenumber: 1387
    functionLinenumberEnd: 1447
    functionName: gnutls_pubkey_import
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_get_asn_mpis
    - _gnutls_fbase64_decode
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - pubkey_to_bits
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import(gnutls_pubkey_t key, const gnutls_datum_t
      *data,\n\t\t\t gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1467,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/pubkey.c:1471,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1475,1
    - Dst: gnutls_x509_crt_set_key_usage
      Src: /src/gnutls/lib/pubkey.c:1480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crt
    - key
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 1483
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1483
    functionName: gnutls_x509_crt_set_pubkey
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_set_key_usage
    - gnutls_assert
    - _gnutls_x509_encode_and_copy_PKI_params
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_pubkey(gnutls_x509_crt_t crt, gnutls_pubkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1503,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/pubkey.c:1507,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1512,1
    - Dst: gnutls_x509_crq_set_key_usage
      Src: /src/gnutls/lib/pubkey.c:1517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crq
    - key
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 1520
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1520
    functionName: gnutls_x509_crq_set_pubkey
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_set_key_usage
    - gnutls_assert
    - _gnutls_x509_encode_and_copy_PKI_params
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_set_pubkey(gnutls_x509_crq_t crq, gnutls_pubkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - usage
    argTypes:
    - gnutls_pubkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: gnutls_pubkey_set_key_usage
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_pubkey_set_key_usage(gnutls_pubkey_t key, unsigned int usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - url
    - flags
    argTypes:
    - gnutls_pubkey_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1565
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1565
    functionName: gnutls_pubkey_import_pkcs11_url
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key, const char
      *url,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_init
      Src: /src/gnutls/lib/pubkey.c:1574,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1576,1
    - Dst: gnutls_pkcs11_obj_set_pin_function
      Src: /src/gnutls/lib/pubkey.c:1581,1
    - Dst: gnutls_pkcs11_obj_import_url
      Src: /src/gnutls/lib/pubkey.c:1584,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1587,1
    - Dst: gnutls_pubkey_import_pkcs11
      Src: /src/gnutls/lib/pubkey.c:1591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1593,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/pubkey.c:1600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - key
    - url
    - flags
    argTypes:
    - gnutls_pubkey_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1603
      start: 1568
    functionDepth: 4
    functionLinenumber: 1568
    functionLinenumberEnd: 1603
    functionName: _gnutls_pubkey_import_pkcs11_url
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_obj_init
    - gnutls_pkcs11_obj_deinit
    - gnutls_pkcs11_obj_set_pin_function
    - gnutls_pubkey_import_pkcs11
    - gnutls_pkcs11_obj_import_url
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pubkey_import_pkcs11_url(gnutls_pubkey_t key,\n\t\t\t\t\t
      \   const char *url, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:1626,1
    - Dst: import_pubkey
      Src: /src/gnutls/lib/pubkey.c:1629,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:1634,1
    - Dst: _gnutls_pubkey_import_pkcs11_url
      Src: /src/gnutls/lib/pubkey.c:1636,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1638,1
    - Dst: strncmp
      Src: /src/gnutls/lib/pubkey.c:1641,1
    - Dst: gnutls_pubkey_import_tpm_url
      Src: /src/gnutls/lib/pubkey.c:1643,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1645,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - key
    - url
    - flags
    argTypes:
    - gnutls_pubkey_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1649
      start: 1620
    functionDepth: 6
    functionLinenumber: 1620
    functionLinenumberEnd: 1649
    functionName: gnutls_pubkey_import_url
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 6
    functionsReached:
    - import_pubkey
    - gnutls_pubkey_import_tpm_url
    - strncmp
    - _gnutls_pubkey_import_pkcs11_url
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_url(gnutls_pubkey_t key, const char *url,\n\t\t\t
      \    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1669,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1673,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:1674,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1676,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1678,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1682,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1684,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/pubkey.c:1685,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - key
    - m
    - e
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1665
    functionDepth: 3
    functionLinenumber: 1665
    functionLinenumberEnd: 1694
    functionName: gnutls_pubkey_import_rsa_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - pubkey_to_bits
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_rsa_raw(gnutls_pubkey_t key, const gnutls_datum_t
      *m,\n\t\t\t\t const gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1721,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1725,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:1726,1
    - Dst: curve_is_eddsa
      Src: /src/gnutls/lib/pubkey.c:1728,1
    - Dst: curve_is_modern_ecdh
      Src: /src/gnutls/lib/pubkey.c:1728,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1731,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/pubkey.c:1735,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1737,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:1758,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1765,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1771,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1773,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1779,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1781,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:1787,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1792,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 4
    argNames:
    - key
    - curve
    - x
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1714
    functionDepth: 3
    functionLinenumber: 1714
    functionLinenumberEnd: 1794
    functionName: gnutls_pubkey_import_ecc_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 6
    functionsReached:
    - curve_is_modern_ecdh
    - curve_is_eddsa
    - pubkey_to_bits
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_set_datum
    - gnutls_assert_val
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t
      curve,\n\t\t\t\t const gnutls_datum_t *x,\n\t\t\t\t const gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1818,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1822,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:1823,1
    - Dst: _gnutls_x509_read_ecc_params
      Src: /src/gnutls/lib/pubkey.c:1827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1830,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/pubkey.c:1834,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1837,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/pubkey.c:1841,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1845,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:1851,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1855,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pubkey.c:1856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - key
    - parameters
    - ecpoint
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1810
    functionDepth: 3
    functionLinenumber: 1810
    functionLinenumberEnd: 1858
    functionName: gnutls_pubkey_import_ecc_x962
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_free
    - _gnutls_ecc_ansi_x962_import
    - gnutls_pk_params_release
    - gnutls_pk_params_init
    - gnutls_assert
    - _gnutls_x509_read_ecc_params
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_ecc_x962(gnutls_pubkey_t key,\n\t\t\t\t  const
      gnutls_datum_t *parameters,\n\t\t\t\t  const gnutls_datum_t *ecpoint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1893,1
    - Dst: _gnutls_digest_gost
      Src: /src/gnutls/lib/pubkey.c:1897,1
    - Dst: _gnutls_gost_paramset_default
      Src: /src/gnutls/lib/pubkey.c:1902,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1904,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:1905,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/pubkey.c:1910,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1912,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/pubkey.c:1918,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1920,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_ecc_curve_t
    - gnutls_digest_algorithm_t
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1883
    functionDepth: 2
    functionLinenumber: 1883
    functionLinenumberEnd: 1932
    functionName: gnutls_pubkey_import_gost_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_init_scan_le
    - gnutls_pk_params_init
    - gnutls_pk_params_release
    - _gnutls_gost_paramset_default
    - _gnutls_digest_gost
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_gost_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t
      curve,\n\t\t\t\t  gnutls_digest_algorithm_t digest,\n\t\t\t\t  gnutls_gost_paramset_t
      paramset,\n\t\t\t\t  const gnutls_datum_t *x,\n\t\t\t\t  const gnutls_datum_t
      *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pubkey.c:1958,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:1960,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:1963,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:1964,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1966,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1968,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1973,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1975,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1980,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1982,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:1987,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:1989,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:1996,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/pubkey.c:2001,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:2002,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - key
    - p
    - q
    - g
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2005
      start: 1951
    functionDepth: 3
    functionLinenumber: 1951
    functionLinenumberEnd: 2005
    functionName: gnutls_pubkey_import_dsa_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - gnutls_pk_params_clear
    - gnutls_assert
    - pubkey_to_bits
    - gnutls_pk_params_release
    - unlikely
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_dsa_raw(gnutls_pubkey_t key, const gnutls_datum_t
      *p,\n\t\t\t\t const gnutls_datum_t *q,\n\t\t\t\t const gnutls_datum_t *g,\n\t\t\t\t
      const gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pubkey.c:2028,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2029,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:2032,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/pubkey.c:2033,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:2035,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:2036,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/pubkey.c:2038,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/pubkey.c:2042,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2044,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:2051,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/pubkey.c:2056,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/pubkey.c:2057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - key
    - params
    - y
    argTypes:
    - gnutls_pubkey_t
    - gnutls_dh_params_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2059
      start: 2022
    functionDepth: 3
    functionLinenumber: 2022
    functionLinenumberEnd: 2059
    functionName: gnutls_pubkey_import_dh_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_pk_params_clear
    - gnutls_assert
    - pubkey_to_bits
    - gnutls_pk_params_release
    - unlikely
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_dh_raw(gnutls_pubkey_t key,\n\t\t\t\tconst
      gnutls_dh_params_t params,\n\t\t\t\tconst gnutls_datum_t *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_supports_priv_pk_algorithm
      Src: /src/gnutls/lib/pubkey.c:2072,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pubkey.c:2073,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/pubkey.c:2074,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2076,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/pubkey.c:2082,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2083,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/pubkey.c:2090,1
    - Dst: _gnutls_find_rsa_pss_salt_size
      Src: /src/gnutls/lib/pubkey.c:2092,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2094,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - key_params
    - se
    - me
    - params
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_sign_entry_st*
    - mac_entry_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 2107
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2107
    functionName: fixup_spki_params
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_get_name
    - pubkey_to_bits
    - _gnutls_find_rsa_pss_salt_size
    - sign_supports_priv_pk_algorithm
    - _gnutls_debug_log
    - GNUTLS_PK_IS_RSA
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int fixup_spki_params(const gnutls_pk_params_st *key_params,\n\t\t\t
      \    const gnutls_sign_entry_st *se,\n\t\t\t     const mac_entry_st *me,\n\t\t\t
      \    gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2138,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2143,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pubkey.c:2145,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/pubkey.c:2147,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2149,1
    - Dst: pubkey_supports_sig
      Src: /src/gnutls/lib/pubkey.c:2151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2153,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/pubkey.c:2160,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/pubkey.c:2161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2162,1
    - Dst: pubkey_verify_data
      Src: /src/gnutls/lib/pubkey.c:2164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - pubkey
    - algo
    - flags
    - data
    - signature
    argTypes:
    - gnutls_pubkey_t
    - gnutls_sign_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2172
    functionName: gnutls_pubkey_verify_data2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 24
    functionsReached:
    - pubkey_verify_data
    - gnutls_assert
    - hash_to_entry
    - pubkey_supports_sig
    - _gnutls_pk_is_not_prehashed
    - memcpy
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_verify_data2(gnutls_pubkey_t pubkey,\n\t\t\t       gnutls_sign_algorithm_t
      algo, unsigned int flags,\n\t\t\t       const gnutls_datum_t *data,\n\t\t\t
      \      const gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2205,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/pubkey.c:2209,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2210,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pubkey.c:2213,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/pubkey.c:2216,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2217,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2221,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/pubkey.c:2224,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2226,1
    - Dst: pubkey_supports_sig
      Src: /src/gnutls/lib/pubkey.c:2228,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2230,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/pubkey.c:2234,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/pubkey.c:2235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2236,1
    - Dst: pubkey_verify_hashed_data
      Src: /src/gnutls/lib/pubkey.c:2238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - key
    - algo
    - flags
    - hash
    - signature
    argTypes:
    - gnutls_pubkey_t
    - gnutls_sign_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2247
    functionName: gnutls_pubkey_verify_hash2
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 9
    functionsReached:
    - _gnutls_sign_to_entry
    - gnutls_assert
    - _gnutls_pk_is_not_prehashed
    - pubkey_supports_sig
    - hash_to_entry
    - pubkey_verify_hashed_data
    - memcpy
    - _gnutls_pk_verify
    - GNUTLS_PK_IS_RSA
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_verify_hash2(gnutls_pubkey_t key,\n\t\t\t       gnutls_sign_algorithm_t
      algo, unsigned int flags,\n\t\t\t       const gnutls_datum_t *hash,\n\t\t\t
      \      const gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2269,1
    - Dst: _gnutls_pk_encrypt
      Src: /src/gnutls/lib/pubkey.c:2273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - key
    - flags
    - plaintext
    - ciphertext
    argTypes:
    - gnutls_pubkey_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2275
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2275
    functionName: gnutls_pubkey_encrypt_data
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_pk_encrypt
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_encrypt_data(gnutls_pubkey_t key, unsigned int flags,\n\t\t\t
      \      const gnutls_datum_t *plaintext,\n\t\t\t       gnutls_datum_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/pubkey.c:2284,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/pubkey.c:2286,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2288,1
    - Dst: sign_supports_priv_pk_algorithm
      Src: /src/gnutls/lib/pubkey.c:2296,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/pubkey.c:2297,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/pubkey.c:2299,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pubkey
    - se
    argTypes:
    - gnutls_pubkey_t
    - gnutls_sign_entry_st*
    constantsTouched: []
    func_position:
      end: 2307
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2307
    functionName: pubkey_supports_sig
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_pk_get_name
    - sign_supports_priv_pk_algorithm
    - gnutls_assert_val
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: int
    signature: "int pubkey_supports_sig(gnutls_pubkey_t pubkey,\n\t\t\t       const
      gnutls_sign_entry_st *se)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/pubkey.c:2324,1
    - Dst: pubkey_supports_sig
      Src: /src/gnutls/lib/pubkey.c:2326,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2328,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/pubkey.c:2329,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2330,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/pubkey.c:2334,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/pubkey.c:2337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2339,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/pubkey.c:2342,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pubkey.c:2344,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/pubkey.c:2346,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/pubkey.c:2353,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/pubkey.c:2354,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/pubkey.c:2356,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pubkey.c:2358,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/pubkey.c:2361,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/pubkey.c:2370,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/pubkey.c:2371,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/pubkey.c:2373,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/pubkey.c:2377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2379,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/pubkey.c:2385,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2393,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - session
    - pubkey
    - ver
    - sign
    argTypes:
    - gnutls_session_t
    - gnutls_pubkey_t
    - version_entry_st*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 2398
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2398
    functionName: _gnutls_pubkey_compatible_with_sig
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_gost_digest
    - _gnutls_dsa_q_to_hash
    - hash_to_entry
    - pubkey_supports_sig
    - _gnutls_hash_get_algo_len
    - _gnutls_audit_log
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pubkey_compatible_with_sig(gnutls_session_t session,\n\t\t\t\t
      \      gnutls_pubkey_t pubkey,\n\t\t\t\t       const version_entry_st *ver,\n\t\t\t\t
      \      gnutls_sign_algorithm_t sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_params_copy
      Src: /src/gnutls/lib/pubkey.c:2404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - gnutls_pubkey_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2402
    functionDepth: 2
    functionLinenumber: 2402
    functionLinenumberEnd: 2405
    functionName: _gnutls_pubkey_get_mpis
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_pk_params_copy
    linkageType: ''
    returnType: int
    signature: int _gnutls_pubkey_get_mpis(gnutls_pubkey_t key, gnutls_pk_params_st
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pubkey.c:2425,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2426,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pubkey.c:2428,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2436,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/pubkey.c:2440,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2443,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/pubkey.c:2464,1
    - Dst: encode_ber_digest_info
      Src: /src/gnutls/lib/pubkey.c:2470,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2472,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2474,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/pubkey.c:2476,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2478,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 7
    argNames:
    - pk
    - me
    - text
    - prehash
    - signature
    - params
    - sign_params
    argTypes:
    - gnutls_pk_algorithm_t
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2412
    functionDepth: 3
    functionLinenumber: 2412
    functionLinenumberEnd: 2482
    functionName: _pkcs1_rsa_verify_sig
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_hash_fast
    - _gnutls_hash_get_algo_len
    - unlikely
    - encode_ber_digest_info
    - _gnutls_pk_verify
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,\n\t\t\t\t const
      mac_entry_st *me,\n\t\t\t\t const gnutls_datum_t *text,\n\t\t\t\t const gnutls_datum_t
      *prehash,\n\t\t\t\t const gnutls_datum_t *signature,\n\t\t\t\t gnutls_pk_params_st
      *params,\n\t\t\t\t gnutls_x509_spki_st *sign_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/pubkey.c:2497,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pubkey.c:2499,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2503,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/pubkey.c:2504,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/pubkey.c:2506,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2509,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - pk
    - algo
    - hash
    - signature
    - params
    - sign_params
    argTypes:
    - gnutls_pk_algorithm_t
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2516
    functionName: dsa_verify_hashed_data
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_pk_verify
    - _gnutls_dsa_q_to_hash
    - gnutls_assert
    - _gnutls_mac_get_name
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: int
    signature: "int dsa_verify_hashed_data(gnutls_pk_algorithm_t pk,\n\t\t\t\t  const
      mac_entry_st *algo,\n\t\t\t\t  const gnutls_datum_t *hash,\n\t\t\t\t  const
      gnutls_datum_t *signature,\n\t\t\t\t  gnutls_pk_params_st *params,\n\t\t\t\t
      \ gnutls_x509_spki_st *sign_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/pubkey.c:2529,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/pubkey.c:2531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2534,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/pubkey.c:2537,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - pk
    - algo
    - data
    - signature
    - params
    - sign_params
    argTypes:
    - gnutls_pk_algorithm_t
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 2540
      start: 2518
    functionDepth: 2
    functionLinenumber: 2518
    functionLinenumberEnd: 2540
    functionName: dsa_verify_data
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_dsa_q_to_hash
    - _gnutls_hash_fast
    - _gnutls_pk_verify
    - gnutls_assert_val
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: int
    signature: "int dsa_verify_data(gnutls_pk_algorithm_t pk, const mac_entry_st *algo,\n\t\t\t
      \  const gnutls_datum_t *data,\n\t\t\t   const gnutls_datum_t *signature,\n\t\t\t
      \  gnutls_pk_params_st *params,\n\t\t\t   gnutls_x509_spki_st *sign_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pubkey.c:2555,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2556,1
    - Dst: fixup_spki_params
      Src: /src/gnutls/lib/pubkey.c:2558,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2560,1
    - Dst: _pkcs1_rsa_verify_sig
      Src: /src/gnutls/lib/pubkey.c:2566,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2568,1
    - Dst: dsa_verify_hashed_data
      Src: /src/gnutls/lib/pubkey.c:2579,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2581,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2587,1
    - Dst: _gnutls_sign_is_secure2
      Src: /src/gnutls/lib/pubkey.c:2591,1
    - Dst: _gnutls_is_broken_sig_allowed
      Src: /src/gnutls/lib/pubkey.c:2592,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 7
    argNames:
    - se
    - me
    - hash
    - signature
    - params
    - sign_params
    - flags
    argTypes:
    - gnutls_sign_entry_st*
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2597
      start: 2545
    functionDepth: 4
    functionLinenumber: 2545
    functionLinenumberEnd: 2597
    functionName: pubkey_verify_hashed_data
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - fixup_spki_params
    - dsa_verify_hashed_data
    - gnutls_assert
    - unlikely
    - _gnutls_is_broken_sig_allowed
    - _gnutls_sign_is_secure2
    - gnutls_assert_val
    - _pkcs1_rsa_verify_sig
    linkageType: ''
    returnType: int
    signature: "int pubkey_verify_hashed_data(const gnutls_sign_entry_st *se,\n\t\t\t\t
      \    const mac_entry_st *me,\n\t\t\t\t     const gnutls_datum_t *hash,\n\t\t\t\t
      \    const gnutls_datum_t *signature,\n\t\t\t\t     gnutls_pk_params_st *params,\n\t\t\t\t
      \    gnutls_x509_spki_st *sign_params,\n\t\t\t\t     unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/pubkey.c:2610,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2611,1
    - Dst: fixup_spki_params
      Src: /src/gnutls/lib/pubkey.c:2613,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2615,1
    - Dst: _pkcs1_rsa_verify_sig
      Src: /src/gnutls/lib/pubkey.c:2620,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2622,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/pubkey.c:2630,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2632,1
    - Dst: dsa_verify_data
      Src: /src/gnutls/lib/pubkey.c:2643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2651,1
    - Dst: _gnutls_sign_is_secure2
      Src: /src/gnutls/lib/pubkey.c:2655,1
    - Dst: _gnutls_is_broken_sig_allowed
      Src: /src/gnutls/lib/pubkey.c:2656,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2657,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - se
    - me
    - data
    - signature
    - params
    - sign_params
    - flags
    argTypes:
    - gnutls_sign_entry_st*
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2661
      start: 2602
    functionDepth: 4
    functionLinenumber: 2602
    functionLinenumberEnd: 2661
    functionName: pubkey_verify_data
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - fixup_spki_params
    - _gnutls_is_broken_sig_allowed
    - gnutls_assert
    - unlikely
    - dsa_verify_data
    - _gnutls_pk_verify
    - _gnutls_sign_is_secure2
    - gnutls_assert_val
    - _pkcs1_rsa_verify_sig
    linkageType: ''
    returnType: int
    signature: "int pubkey_verify_data(const gnutls_sign_entry_st *se, const mac_entry_st
      *me,\n\t\t       const gnutls_datum_t *data,\n\t\t       const gnutls_datum_t
      *signature,\n\t\t       gnutls_pk_params_st *params,\n\t\t       gnutls_x509_spki_st
      *sign_params, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/pubkey.c:2670,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/pubkey.c:2672,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/pubkey.c:2700,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - params
    - hash_len
    argTypes:
    - gnutls_pk_params_st*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2663
    functionDepth: 1
    functionLinenumber: 2663
    functionLinenumberEnd: 2701
    functionName: _gnutls_dsa_q_to_hash
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_mpi_get_nbits
    - gnutls_ecc_curve_get_size
    - mac_to_entry
    linkageType: ''
    returnType: mac_entry_st
    signature: "mac_entry_st *_gnutls_dsa_q_to_hash(const gnutls_pk_params_st *params,\n\t\t\t\t\t
      \ unsigned int *hash_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - fn
    - userdata
    argTypes:
    - gnutls_pubkey_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2724
    functionName: gnutls_pubkey_set_pin_function
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_pubkey_set_pin_function(gnutls_pubkey_t key,\n\t\t\t\t
      \   gnutls_pin_callback_t fn, void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/pubkey.c:2749,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2751,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/pubkey.c:2753,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2755,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/pubkey.c:2759,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2761,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/pubkey.c:2768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - pkey
    - data
    - format
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2771
      start: 2741
    functionDepth: 3
    functionLinenumber: 2741
    functionLinenumberEnd: 2771
    functionName: gnutls_pubkey_import_x509_raw
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 9
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_import_x509_raw(gnutls_pubkey_t pkey,\n\t\t\t\t
      \ const gnutls_datum_t *data,\n\t\t\t\t  gnutls_x509_crt_fmt_t format,\n\t\t\t\t
      \ unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_verify_pub_params
      Src: /src/gnutls/lib/pubkey.c:2788,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 2795
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2795
    functionName: gnutls_pubkey_verify_params
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_pk_verify_pub_params
    linkageType: ''
    returnType: int
    signature: int gnutls_pubkey_verify_params(gnutls_pubkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2817,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2822,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pubkey.c:2824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pubkey
    - spki
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2827
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2827
    functionName: gnutls_pubkey_get_spki
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_get_spki(gnutls_pubkey_t pubkey, gnutls_x509_spki_t
      spki,\n\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/pubkey.c:2847,1
    - Dst: _gnutls_pk_are_compat
      Src: /src/gnutls/lib/pubkey.c:2851,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pubkey.c:2852,1
    - Dst: memcpy
      Src: /src/gnutls/lib/pubkey.c:2854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pubkey
    - spki
    - flags
    argTypes:
    - gnutls_pubkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2859
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2859
    functionName: gnutls_pubkey_set_spki
    functionSourceFile: /src/gnutls/lib/pubkey.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_pk_are_compat
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_set_spki(gnutls_pubkey_t pubkey,\n\t\t\t   const
      gnutls_x509_spki_t spki, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/extv.h:42,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.h:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: _gnutls_extv_append_init
    functionSourceFile: /src/gnutls/lib/extv.h
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int _gnutls_extv_append_init(gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/extv.h:58,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/extv.h:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - init
    - is_hello
    argTypes:
    - gnutls_buffer_st*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: _gnutls_extv_append_final
    functionSourceFile: /src/gnutls/lib/extv.h
    functionUses: 1
    functionsReached:
    - _gnutls_write_uint16
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_extv_append_final(gnutls_buffer_st *buf,\n\t\t\t\t\t    unsigned
      init, unsigned is_hello)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls13-sig.c:48,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13-sig.c:54,1
    - Dst: _gnutls_pubkey_compatible_with_sig
      Src: /src/gnutls/lib/tls13-sig.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:61,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13-sig.c:63,1
    - Dst: sign_supports_cert_pk_algorithm
      Src: /src/gnutls/lib/tls13-sig.c:63,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13-sig.c:65,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/tls13-sig.c:67,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:69,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/tls13-sig.c:72,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:74,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:78,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/tls13-sig.c:80,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/tls13-sig.c:82,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:84,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/tls13-sig.c:86,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13-sig.c:88,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:91,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:95,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:97,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:103,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/tls13-sig.c:107,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/tls13-sig.c:108,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:112,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:116,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:119,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/tls13-sig.c:127,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:130,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13-sig.c:136,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 6
    argNames:
    - session
    - verify_flags
    - cert
    - context
    - signature
    - se
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_pcert_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_entry_st*
    constantsTouched: []
    func_position:
      end: 139
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 139
    functionName: _gnutls13_handshake_verify_data
    functionSourceFile: /src/gnutls/lib/tls13-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_handshake_log
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_get_key_usage
    - gnutls_assert
    - gnutls_pk_get_name
    - _gnutls_pubkey_compatible_with_sig
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - MAC_TO_DIG
    - sign_supports_cert_pk_algorithm
    - unlikely
    - gnutls_hash_fast
    - memset
    - get_version
    - _gnutls_session_sign_algo_enabled
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_handshake_verify_data(gnutls_session_t session,\n\t\t\t\t
      \   unsigned verify_flags,\n\t\t\t\t    gnutls_pcert_st *cert,\n\t\t\t\t    const
      gnutls_datum_t *context,\n\t\t\t\t    const gnutls_datum_t *signature,\n\t\t\t\t
      \   const gnutls_sign_entry_st *se)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13-sig.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:154,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13-sig.c:156,1
    - Dst: sign_supports_priv_pk_algorithm
      Src: /src/gnutls/lib/tls13-sig.c:156,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13-sig.c:158,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13-sig.c:161,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/tls13-sig.c:165,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/tls13-sig.c:167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:169,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13-sig.c:173,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:176,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:178,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:182,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:184,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/tls13-sig.c:188,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/tls13-sig.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:193,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13-sig.c:197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:200,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/lib/tls13-sig.c:207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13-sig.c:211,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13-sig.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 6
    argNames:
    - session
    - cert
    - pkey
    - context
    - signature
    - se
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_sign_entry_st*
    constantsTouched: []
    func_position:
      end: 220
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 220
    functionName: _gnutls13_handshake_sign_data
    functionSourceFile: /src/gnutls/lib/tls13-sig.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_handshake_log
    - gnutls_privkey_sign_data2
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - MAC_TO_DIG
    - unlikely
    - memset
    - sign_supports_priv_pk_algorithm
    - gnutls_hash_fast
    - _gnutls_buffer_resize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_handshake_sign_data(gnutls_session_t session,\n\t\t\t\t
      \ gnutls_pcert_st *cert, gnutls_privkey_t pkey,\n\t\t\t\t  const gnutls_datum_t
      *context,\n\t\t\t\t  gnutls_datum_t *signature,\n\t\t\t\t  const gnutls_sign_entry_st
      *se)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: get_group
    functionSourceFile: /src/gnutls/lib/state.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: gnutls_group_entry_st
    signature: gnutls_group_entry_st *get_group(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/state.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - e
    argTypes:
    - gnutls_session_t
    - gnutls_group_entry_st*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: _gnutls_session_group_set
    functionSourceFile: /src/gnutls/lib/state.h
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    linkageType: ''
    returnType: void
    signature: "void _gnutls_session_group_set(gnutls_session_t session,\n\t\t\t\t\t
      \    const gnutls_group_entry_st *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - ver
    argTypes:
    - gnutls_session_t
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: set_default_version
    functionSourceFile: /src/gnutls/lib/state.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_default_version(gnutls_session_t session,\n\t\t\t\t       const
      version_entry_st *ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/lib/state.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: _gnutls_dh_get_min_prime_bits
    functionSourceFile: /src/gnutls/lib/state.h
    functionUses: 0
    functionsReached:
    - gnutls_sec_param_to_pk_bits
    linkageType: ''
    returnType: int
    signature: int _gnutls_dh_get_min_prime_bits(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_prf_raw
      Src: /src/gnutls/lib/state.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - session
    - secret
    - secret_size
    - label
    - label_size
    - seed
    - seed_size
    - total_bytes
    - ret
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - unsigned int
    - char*
    - int
    - uint8_t*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: _gnutls_PRF
    functionSourceFile: /src/gnutls/lib/state.h
    functionUses: 3
    functionsReached:
    - _gnutls_prf_raw
    linkageType: ''
    returnType: int
    signature: "int _gnutls_PRF(gnutls_session_t session, const uint8_t *secret,\n\t\t\t
      \     unsigned int secret_size, const char *label,\n\t\t\t      int label_size,
      const uint8_t *seed,\n\t\t\t      int seed_size, int total_bytes, void *ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/str-idna.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:86,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/str-idna.c:90,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:91,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:94,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-idna.c:96,1
    - Dst: idn2_to_ascii_8z
      Src: /src/gnutls/lib/str-idna.c:100,1
    - Dst: idn2_to_ascii_8z
      Src: /src/gnutls/lib/str-idna.c:102,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-idna.c:106,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/str-idna.c:108,1
    - Dst: idn2_strerror
      Src: /src/gnutls/lib/str-idna.c:110,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:116,1
    - Dst: strlen
      Src: /src/gnutls/lib/str-idna.c:116,1
    - Dst: strlen
      Src: /src/gnutls/lib/str-idna.c:119,1
    - Dst: idn2_free
      Src: /src/gnutls/lib/str-idna.c:125,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - input
    - ilen
    - out
    - flags
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 128
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 128
    functionName: gnutls_idna_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 3
    functionsReached:
    - idn2_to_ascii_8z
    - gnutls_free
    - _gnutls_set_strdatum
    - strlen
    - gnutls_assert
    - idn2_strerror
    - gnutls_strdup
    - idn2_free
    - _gnutls_debug_log
    - _gnutls_str_is_print
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t
      *out,\n\t\t    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/str-idna.c:157,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:160,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-idna.c:166,1
    - Dst: idn2_to_unicode_8z8z
      Src: /src/gnutls/lib/str-idna.c:171,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/str-idna.c:173,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/str-idna.c:174,1
    - Dst: idn2_strerror
      Src: /src/gnutls/lib/str-idna.c:176,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:182,1
    - Dst: strlen
      Src: /src/gnutls/lib/str-idna.c:182,1
    - Dst: strlen
      Src: /src/gnutls/lib/str-idna.c:185,1
    - Dst: idn2_free
      Src: /src/gnutls/lib/str-idna.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - input
    - ilen
    - out
    - flags
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 193
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 193
    functionName: gnutls_idna_reverse_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_set_strdatum
    - strlen
    - gnutls_assert
    - idn2_strerror
    - gnutls_strdup
    - idn2_free
    - _gnutls_debug_log
    - idn2_to_unicode_8z8z
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_idna_reverse_map(const char *input, unsigned ilen,\n\t\t\t
      \   gnutls_datum_t *out, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/str-idna.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:202,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - input
    - ilen
    - out
    - flags
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: gnutls_idna_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 3
    functionsReached:
    - _gnutls_str_is_print
    - _gnutls_set_strdatum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_idna_map(const char *input, unsigned ilen, gnutls_datum_t
      *out,\n\t\t    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - ilen
    - out
    - flags
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: gnutls_idna_reverse_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_idna_reverse_map(const char *input, unsigned ilen,\n\t\t\t
      \   gnutls_datum_t *out, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isprint
      Src: /src/gnutls/lib/str-idna.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:222,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/str-idna.c:226,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/str-idna.c:227,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/str-idna.c:235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:237,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-idna.c:239,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:242,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-idna.c:244,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-idna.c:246,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:249,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 254
    functionName: _gnutls_idna_email_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_set_strdatum
    - gnutls_malloc
    - memcpy
    - gnutls_idna_map
    - c_isprint
    - _gnutls_str_is_print
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_idna_email_map(const char *input, unsigned ilen,\n\t\t\t
      \  gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isprint
      Src: /src/gnutls/lib/str-idna.c:262,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:263,1
    - Dst: gnutls_idna_reverse_map
      Src: /src/gnutls/lib/str-idna.c:272,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:275,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/str-idna.c:277,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:279,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:280,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-idna.c:282,1
    - Dst: memcpy
      Src: /src/gnutls/lib/str-idna.c:284,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/str-idna.c:287,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/str-idna.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - input
    - ilen
    - output
    argTypes:
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 292
    functionName: _gnutls_idna_email_reverse_map
    functionSourceFile: /src/gnutls/lib/str-idna.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_malloc
    - memcpy
    - gnutls_idna_reverse_map
    - c_isprint
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_idna_email_reverse_map(const char *input, unsigned ilen,\n\t\t\t\t
      \  gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_config_file
      Src: /src/gnutls/lib/verify-tofu.c:112,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:114,1
    - Dst: _gnutls_x509_raw_crt_to_raw_pubkey
      Src: /src/gnutls/lib/verify-tofu.c:126,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/verify-tofu.c:129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:141,1
    - Dst: gnutls_tdb_t::verify
      Src: /src/gnutls/lib/verify-tofu.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:147,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/verify-tofu.c:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 7
    argNames:
    - db_name
    - tdb
    - host
    - service
    - cert_type
    - cert
    - flags
    argTypes:
    - char*
    - gnutls_tdb_t
    - char*
    - char*
    - gnutls_certificate_type_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 154
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 154
    functionName: gnutls_verify_stored_pubkey
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 3
    functionsReached:
    - gnutls_tdb_t::verify
    - _gnutls_x509_raw_crt_to_raw_pubkey
    - _gnutls_free_datum
    - find_config_file
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_verify_stored_pubkey(const char *db_name, gnutls_tdb_t
      tdb,\n\t\t\t\tconst char *host, const char *service,\n\t\t\t\tgnutls_certificate_type_t
      cert_type,\n\t\t\t\tconst gnutls_datum_t *cert, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:170,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:172,1
    - Dst: strcmp
      Src: /src/gnutls/lib/verify-tofu.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:175,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:178,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:180,1
    - Dst: strcmp
      Src: /src/gnutls/lib/verify-tofu.c:182,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:183,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:186,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:188,1
    - Dst: atol
      Src: /src/gnutls/lib/verify-tofu.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:192,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:195,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:197,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/verify-tofu.c:199,1
    - Dst: atol
      Src: /src/gnutls/lib/verify-tofu.c:199,1
    - Dst: _gnutls_digest_get_name
      Src: /src/gnutls/lib/verify-tofu.c:200,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:201,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:204,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:206,1
    - Dst: strpbrk
      Src: /src/gnutls/lib/verify-tofu.c:208,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/verify-tofu.c:213,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:216,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/verify-tofu.c:218,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/verify-tofu.c:220,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:223,1
    - Dst: strlen
      Src: /src/gnutls/lib/verify-tofu.c:225,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:227,1
    - Dst: memcmp
      Src: /src/gnutls/lib/verify-tofu.c:229,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 7
    argNames:
    - line
    - host
    - host_len
    - service
    - service_len
    - now
    - skey
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - size_t
    - time_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 234
    functionName: parse_commitment_line
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached:
    - strlen
    - mac_to_entry
    - atol
    - memcmp
    - strtok_r
    - strpbrk
    - _gnutls_digest_get_name
    - _gnutls_hash_fast
    - _gnutls_hash_get_algo_len
    - strcmp
    - _gnutls_bin2hex
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_commitment_line(char *line, const char *host, size_t host_len,\n\t\t\t\t
      const char *service, size_t service_len,\n\t\t\t\t time_t now, const gnutls_datum_t
      *skey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:247,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:249,1
    - Dst: strncmp
      Src: /src/gnutls/lib/verify-tofu.c:251,1
    - Dst: parse_commitment_line
      Src: /src/gnutls/lib/verify-tofu.c:252,1
    - Dst: strncmp
      Src: /src/gnutls/lib/verify-tofu.c:255,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:256,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:259,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:261,1
    - Dst: strcmp
      Src: /src/gnutls/lib/verify-tofu.c:263,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:264,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:267,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:269,1
    - Dst: strcmp
      Src: /src/gnutls/lib/verify-tofu.c:271,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:272,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:275,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:277,1
    - Dst: atol
      Src: /src/gnutls/lib/verify-tofu.c:279,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:281,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/verify-tofu.c:284,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:286,1
    - Dst: strpbrk
      Src: /src/gnutls/lib/verify-tofu.c:288,1
    - Dst: strlen
      Src: /src/gnutls/lib/verify-tofu.c:292,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:294,1
    - Dst: memcmp
      Src: /src/gnutls/lib/verify-tofu.c:296,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:297,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 8
    argNames:
    - line
    - host
    - host_len
    - service
    - service_len
    - now
    - rawkey
    - b64key
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - size_t
    - time_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 301
    functionName: parse_line
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached:
    - strlen
    - atol
    - memcmp
    - strtok_r
    - strpbrk
    - parse_commitment_line
    - strcmp
    - strncmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_line(char *line, const char *host, size_t host_len,\n\t\t
      \     const char *service, size_t service_len, time_t now,\n\t\t      const
      gnutls_datum_t *rawkey,\n\t\t      const gnutls_datum_t *b64key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/verify-tofu.c:313,1
    - Dst: raw_pubkey_to_base64
      Src: /src/gnutls/lib/verify-tofu.c:316,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:318,1
    - Dst: strlen
      Src: /src/gnutls/lib/verify-tofu.c:321,1
    - Dst: strlen
      Src: /src/gnutls/lib/verify-tofu.c:323,1
    - Dst: fopen
      Src: /src/gnutls/lib/verify-tofu.c:325,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:327,1
    - Dst: getline
      Src: /src/gnutls/lib/verify-tofu.c:332,1
    - Dst: parse_line
      Src: /src/gnutls/lib/verify-tofu.c:334,1
    - Dst: free
      Src: /src/gnutls/lib/verify-tofu.c:349,1
    - Dst: fclose
      Src: /src/gnutls/lib/verify-tofu.c:351,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/verify-tofu.c:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - file
    - host
    - service
    - pubkey
    argTypes:
    - char*
    - char*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 355
    functionName: verify_pubkey
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached:
    - fopen
    - gnutls_time
    - fclose
    - gnutls_free
    - strlen
    - raw_pubkey_to_base64
    - free
    - parse_line
    - getline
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int verify_pubkey(const char *file, const char *host,\n\t\t\t const
      char *service, const gnutls_datum_t *pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE64_ENCODE_RAW_LENGTH
      Src: /src/gnutls/lib/verify-tofu.c:361,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/verify-tofu.c:363,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:365,1
    - Dst: base64_encode_raw
      Src: /src/gnutls/lib/verify-tofu.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - raw
    - b64
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: raw_pubkey_to_base64
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 1
    functionsReached:
    - base64_encode_raw
    - BASE64_ENCODE_RAW_LENGTH
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int raw_pubkey_to_base64(const gnutls_datum_t *raw, gnutls_datum_t
      *b64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_static_mutex_lock
      Src: /src/gnutls/lib/verify-tofu.c:381,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:383,1
    - Dst: raw_pubkey_to_base64
      Src: /src/gnutls/lib/verify-tofu.c:385,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/verify-tofu.c:387,1
    - Dst: fopen
      Src: /src/gnutls/lib/verify-tofu.c:391,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:393,1
    - Dst: fprintf
      Src: /src/gnutls/lib/verify-tofu.c:402,1
    - Dst: fclose
      Src: /src/gnutls/lib/verify-tofu.c:409,1
    - Dst: gnutls_static_mutex_unlock
      Src: /src/gnutls/lib/verify-tofu.c:411,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/verify-tofu.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - db_name
    - host
    - service
    - expiration
    - pubkey
    argTypes:
    - char*
    - char*
    - char*
    - time_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 415
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 415
    functionName: store_pubkey
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 3
    functionsReached:
    - fopen
    - fclose
    - gnutls_free
    - raw_pubkey_to_base64
    - gnutls_static_mutex_lock
    - gnutls_static_mutex_unlock
    - gnutls_assert_val
    - fprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int store_pubkey(const char *db_name, const char *host,\n\t\t\tconst
      char *service, time_t expiration,\n\t\t\tconst gnutls_datum_t *pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnutls/lib/verify-tofu.c:425,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:427,1
    - Dst: fprintf
      Src: /src/gnutls/lib/verify-tofu.c:434,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/verify-tofu.c:436,1
    - Dst: fclose
      Src: /src/gnutls/lib/verify-tofu.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - db_name
    - host
    - service
    - expiration
    - hash_algo
    - hash
    argTypes:
    - char*
    - char*
    - char*
    - time_t
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 442
    functionName: store_commitment
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - _gnutls_bin2hex
    - fprintf
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int store_commitment(const char *db_name, const char *host,\n\t\t\t
      \   const char *service, time_t expiration,\n\t\t\t    gnutls_digest_algorithm_t
      hash_algo,\n\t\t\t    const gnutls_datum_t *hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_find_config_path
      Src: /src/gnutls/lib/verify-tofu.c:491,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:493,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/verify-tofu.c:495,1
    - Dst: mkdir
      Src: /src/gnutls/lib/verify-tofu.c:496,1
    - Dst: find_config_file
      Src: /src/gnutls/lib/verify-tofu.c:498,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:500,1
    - Dst: _gnutls_x509_raw_crt_to_raw_pubkey
      Src: /src/gnutls/lib/verify-tofu.c:512,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/verify-tofu.c:515,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:516,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:527,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/verify-tofu.c:530,1
    - Dst: gnutls_tdb_t::store
      Src: /src/gnutls/lib/verify-tofu.c:532,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/verify-tofu.c:535,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 8
    argNames:
    - db_name
    - tdb
    - host
    - service
    - cert_type
    - cert
    - expiration
    - flags
    argTypes:
    - char*
    - gnutls_tdb_t
    - char*
    - char*
    - gnutls_certificate_type_t
    - gnutls_datum_t*
    - time_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 543
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 543
    functionName: gnutls_store_pubkey
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_raw_crt_to_raw_pubkey
    - gnutls_tdb_t::store
    - _gnutls_free_datum
    - find_config_file
    - _gnutls_find_config_path
    - _gnutls_debug_log
    - gnutls_assert_val
    - mkdir
    linkageType: ''
    returnType: int
    signature: "int gnutls_store_pubkey(const char *db_name, gnutls_tdb_t tdb, const
      char *host,\n\t\t\tconst char *service,\n\t\t\tgnutls_certificate_type_t cert_type,\n\t\t\tconst
      gnutls_datum_t *cert, time_t expiration,\n\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/verify-tofu.c:579,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:582,1
    - Dst: _gnutls_digest_is_secure
      Src: /src/gnutls/lib/verify-tofu.c:585,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:586,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/verify-tofu.c:588,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:589,1
    - Dst: _gnutls_find_config_path
      Src: /src/gnutls/lib/verify-tofu.c:592,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:594,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/verify-tofu.c:596,1
    - Dst: mkdir
      Src: /src/gnutls/lib/verify-tofu.c:597,1
    - Dst: find_config_file
      Src: /src/gnutls/lib/verify-tofu.c:599,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:601,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/verify-tofu.c:608,1
    - Dst: gnutls_tdb_t::cstore
      Src: /src/gnutls/lib/verify-tofu.c:610,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:613,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 8
    argNames:
    - db_name
    - tdb
    - host
    - service
    - hash_algo
    - hash
    - expiration
    - flags
    argTypes:
    - char*
    - gnutls_tdb_t
    - char*
    - char*
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - time_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 617
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 617
    functionName: gnutls_store_commitment
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 1
    functionsReached:
    - gnutls_tdb_t::cstore
    - hash_to_entry
    - _gnutls_digest_is_secure
    - find_config_file
    - _gnutls_hash_get_algo_len
    - _gnutls_find_config_path
    - _gnutls_debug_log
    - gnutls_assert_val
    - mkdir
    linkageType: ''
    returnType: int
    signature: "int gnutls_store_commitment(const char *db_name, gnutls_tdb_t tdb,\n\t\t\t
      \   const char *host, const char *service,\n\t\t\t    gnutls_digest_algorithm_t
      hash_algo,\n\t\t\t    const gnutls_datum_t *hash, time_t expiration,\n\t\t\t
      \   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_find_config_path
      Src: /src/gnutls/lib/verify-tofu.c:626,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/verify-tofu.c:628,1
    - Dst: snprintf
      Src: /src/gnutls/lib/verify-tofu.c:631,1
    - Dst: snprintf
      Src: /src/gnutls/lib/verify-tofu.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - file
    - max_size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 636
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 636
    functionName: find_config_file
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 3
    functionsReached:
    - _gnutls_find_config_path
    - snprintf
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int find_config_file(char *file, size_t max_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/verify-tofu.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tdb
    argTypes:
    - gnutls_tdb_t*
    constantsTouched: []
    func_position:
      end: 655
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 655
    functionName: gnutls_tdb_init
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_tdb_init(gnutls_tdb_t *tdb)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tdb
    - store
    argTypes:
    - gnutls_tdb_t
    - gnutls_tdb_store_func
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: gnutls_tdb_set_store_func
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_tdb_set_store_func(gnutls_tdb_t tdb, gnutls_tdb_store_func
      store)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tdb
    - cstore
    argTypes:
    - gnutls_tdb_t
    - gnutls_tdb_store_commitment_func
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: gnutls_tdb_set_store_commitment_func
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_tdb_set_store_commitment_func(\n\tgnutls_tdb_t tdb, gnutls_tdb_store_commitment_func
      cstore)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tdb
    - verify
    argTypes:
    - gnutls_tdb_t
    - gnutls_tdb_verify_func
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: gnutls_tdb_set_verify_func
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_tdb_set_verify_func(gnutls_tdb_t tdb, gnutls_tdb_verify_func
      verify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/verify-tofu.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tdb
    argTypes:
    - gnutls_tdb_t
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: gnutls_tdb_deinit
    functionSourceFile: /src/gnutls/lib/verify-tofu.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_tdb_deinit(gnutls_tdb_t tdb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get2
      Src: /src/gnutls/lib/ocsp-api.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - response
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: gnutls_ocsp_status_request_get
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 9
    functionsReached:
    - gnutls_ocsp_status_request_get2
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_status_request_get(gnutls_session_t session,\n\t\t\t\t
      \  gnutls_datum_t *response)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ocsp-api.c:86,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/ocsp-api.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:92,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - session
    - idx
    - response
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: gnutls_ocsp_status_request_get2
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 9
    functionsReached:
    - get_version
    - gnutls_assert_val
    - _gnutls_get_auth_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_status_request_get2(gnutls_session_t session, unsigned
      idx,\n\t\t\t\t    gnutls_datum_t *response)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - ocsp_func
    - ptr
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_status_request_ocsp_func
    - void*
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: gnutls_certificate_set_ocsp_status_request_function
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_certificate_set_ocsp_status_request_function(\n\tgnutls_certificate_credentials_t
      sc,\n\tgnutls_status_request_ocsp_func ocsp_func, void *ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sc
    - idx
    - ocsp_func
    - ptr
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_status_request_ocsp_func
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: gnutls_certificate_set_ocsp_status_request_function2
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_ocsp_status_request_function2(\n\tgnutls_certificate_credentials_t
      sc, unsigned idx,\n\tgnutls_status_request_ocsp_func ocsp_func, void *ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/ocsp-api.c:193,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/ocsp-api.c:197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:199,1
    - Dst: gnutls_ocsp_resp_check_crt
      Src: /src/gnutls/lib/ocsp-api.c:204,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/ocsp-api.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - resp
    - cert
    argTypes:
    - gnutls_ocsp_resp_t
    - gnutls_pcert_st*
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: resp_matches_pcert
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    - gnutls_ocsp_resp_check_crt
    linkageType: ''
    returnType: unsigned
    signature: "unsigned resp_matches_pcert(gnutls_ocsp_resp_t resp,\n\t\t\t\t   const
      gnutls_pcert_st *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_ocsp_status_request_file2
      Src: /src/gnutls/lib/ocsp-api.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sc
    - response_file
    - idx
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: gnutls_certificate_set_ocsp_status_request_file
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 6
    functionsReached:
    - gnutls_certificate_set_ocsp_status_request_file2
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_ocsp_status_request_file(\n\tgnutls_certificate_credentials_t
      sc, const char *response_file,\n\tunsigned idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/ocsp-api.c:277,1
    - Dst: resp_matches_pcert
      Src: /src/gnutls/lib/ocsp-api.c:283,1
    - Dst: _gnutls_ocsp_get_validity
      Src: /src/gnutls/lib/ocsp-api.c:286,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ocsp-api.c:289,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ocsp-api.c:294,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ocsp-api.c:305,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ocsp-api.c:309,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ocsp-api.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - sc
    - idx
    - resp
    - der
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - gnutls_ocsp_resp_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 341
    functionName: append_response
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - resp_matches_pcert
    - _gnutls_ocsp_get_validity
    - MIN
    - _gnutls_debug_log
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int append_response(gnutls_certificate_credentials_t sc, unsigned
      idx,\n\t\t\t   gnutls_ocsp_resp_t resp, const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:379,1
    - Dst: gnutls_load_file
      Src: /src/gnutls/lib/ocsp-api.c:381,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:383,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/lib/ocsp-api.c:385,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ocsp-api.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - sc
    - response_file
    - idx
    - fmt
    argTypes:
    - gnutls_certificate_credentials_t
    - char*
    - unsigned
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 389
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 389
    functionName: gnutls_certificate_set_ocsp_status_request_file2
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 3
    functionsReached:
    - gnutls_load_file
    - gnutls_certificate_set_ocsp_status_request_mem
    - gnutls_free
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_ocsp_status_request_file2(\n\tgnutls_certificate_credentials_t
      sc, const char *response_file,\n\tunsigned idx, gnutls_x509_crt_fmt_t fmt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/lib/ocsp-api.c:436,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:438,1
    - Dst: memmem
      Src: /src/gnutls/lib/ocsp-api.c:445,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:448,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:455,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/lib/ocsp-api.c:461,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:464,1
    - Dst: gnutls_certificate_set_ocsp_status_request_mem
      Src: /src/gnutls/lib/ocsp-api.c:468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:471,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ocsp-api.c:476,1
    - Dst: memmem
      Src: /src/gnutls/lib/ocsp-api.c:481,1
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/lib/ocsp-api.c:492,1
    - Dst: _gnutls_ocsp_get_validity
      Src: /src/gnutls/lib/ocsp-api.c:496,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ocsp-api.c:502,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ocsp-api.c:504,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:508,1
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/lib/ocsp-api.c:516,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:519,1
    - Dst: append_response
      Src: /src/gnutls/lib/ocsp-api.c:523,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ocsp-api.c:525,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ocsp-api.c:532,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/lib/ocsp-api.c:534,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 4
    argNames:
    - sc
    - resp_data
    - idx
    - fmt
    argTypes:
    - gnutls_certificate_credentials_t
    - gnutls_datum_t*
    - unsigned
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 537
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 537
    functionName: gnutls_certificate_set_ocsp_status_request_mem
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 5
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - memmem
    - gnutls_free
    - _gnutls_set_datum
    - gnutls_pem_base64_decode2
    - gnutls_certificate_set_ocsp_status_request_mem
    - gnutls_ocsp_resp_init
    - _gnutls_ocsp_get_validity
    - gnutls_ocsp_resp_import2
    - gnutls_assert_val
    - append_response
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_certificate_set_ocsp_status_request_mem(\n\tgnutls_certificate_credentials_t
      sc, const gnutls_datum_t *resp_data,\n\tunsigned idx, gnutls_x509_crt_fmt_t
      fmt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/ocsp-api.c:575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - sc
    - idx
    - oidx
    - flags
    argTypes:
    - gnutls_certificate_credentials_t
    - unsigned
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 595
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 595
    functionName: gnutls_certificate_get_ocsp_expiration
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 3
    functionsReached:
    - MIN
    linkageType: ''
    returnType: time_t
    signature: "time_t gnutls_certificate_get_ocsp_expiration(gnutls_certificate_credentials_t
      sc,\n\t\t\t\t       unsigned idx, int oidx, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/gnutls/lib/ocsp-api.c:632,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:634,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ocsp-api.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 641
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 641
    functionName: gnutls_ocsp_status_request_is_checked
    functionSourceFile: /src/gnutls/lib/ocsp-api.c
    functionUses: 7
    functionsReached:
    - gnutls_assert_val
    - gnutls_ocsp_status_request_get
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_ocsp_status_request_is_checked(gnutls_session_t session,\n\t\t\t\t\t
      \      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:237,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests-pk.c:239,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:243,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/lib/crypto-selftests-pk.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:250,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/lib/crypto-selftests-pk.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:256,1
    - Dst: gnutls_pubkey_encrypt_data
      Src: /src/gnutls/lib/crypto-selftests-pk.c:260,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:262,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:267,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:268,1
    - Dst: gnutls_privkey_decrypt_data
      Src: /src/gnutls/lib/crypto-selftests-pk.c:273,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:275,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:280,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:282,1
    - Dst: gnutls_privkey_decrypt_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:289,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:294,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:301,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:302,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:303,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:304,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:307,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:308,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:310,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:311,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - pk
    - bits
    - ign
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 314
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 314
    functionName: test_rsa_enc
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_debug_log
    - gnutls_pubkey_encrypt_data
    - gnutls_pk_get_name
    - gnutls_pubkey_import_privkey
    - memcmp
    - gnutls_privkey_decrypt_data2
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - gnutls_assert_val
    - gnutls_privkey_decrypt_data
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int test_rsa_enc(gnutls_pk_algorithm_t pk, unsigned bits,\n\t\t\tgnutls_digest_algorithm_t
      ign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:330,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests-pk.c:332,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:334,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:336,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:344,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:349,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:354,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:359,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:363,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:368,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:372,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:376,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:381,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:385,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:386,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/crypto-selftests-pk.c:386,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:391,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:392,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/crypto-selftests-pk.c:392,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:397,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:398,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/crypto-selftests-pk.c:398,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:403,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:404,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/crypto-selftests-pk.c:404,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:407,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/lib/crypto-selftests-pk.c:412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:415,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/lib/crypto-selftests-pk.c:419,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:421,1
    - Dst: gnutls_privkey_sign_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:425,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:427,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:435,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:439,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:443,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:451,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:452,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:453,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:456,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:457,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:459,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:460,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 122
    argCount: 3
    argNames:
    - pk
    - bits
    - sigalgo
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 463
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 463
    functionName: test_sig
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 4
    functionsReached:
    - GNUTLS_BITS_TO_CURVE
    - gnutls_free
    - gnutls_ecc_curve_get_name
    - gnutls_privkey_sign_data2
    - gnutls_pubkey_verify_data2
    - _gnutls_debug_log
    - snprintf
    - gnutls_pk_get_name
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_privkey_init
    - gnutls_assert_val
    - gnutls_assert
    - GNUTLS_CURVE_TO_BITS
    linkageType: ''
    returnType: int
    signature: "int test_sig(gnutls_pk_algorithm_t pk, unsigned bits,\n\t\t    gnutls_sign_algorithm_t
      sigalgo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:480,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:481,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/crypto-selftests-pk.c:481,1
    - Dst: snprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:485,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests-pk.c:490,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:492,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:494,1
    - Dst: gnutls_privkey_import_x509_raw
      Src: /src/gnutls/lib/crypto-selftests-pk.c:501,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:504,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/crypto-selftests-pk.c:508,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/lib/crypto-selftests-pk.c:513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:515,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:524,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:528,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:529,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:530,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:532,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:534,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:536,1
    - Dst: fprintf
      Src: /src/gnutls/lib/crypto-selftests-pk.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:539,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/lib/crypto-selftests-pk.c:545,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:547,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:551,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/crypto-selftests-pk.c:551,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:555,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/crypto-selftests-pk.c:561,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/crypto-selftests-pk.c:561,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:566,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:573,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:575,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/crypto-selftests-pk.c:576,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:579,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:580,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:582,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/crypto-selftests-pk.c:583,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 8
    argNames:
    - pk
    - bits
    - dig
    - privkey
    - privkey_size
    - stored_sig
    - stored_sig_size
    - flags
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - gnutls_privkey_flags_t
    constantsTouched: []
    func_position:
      end: 586
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 586
    functionName: test_known_sig
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 0
    functionsReached:
    - GNUTLS_BITS_TO_CURVE
    - snprintf
    - gnutls_pubkey_import_privkey
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_assert_val
    - gnutls_pubkey_verify_data2
    - gnutls_pk_to_sign
    - memcmp
    - gnutls_privkey_sign_data
    - gnutls_privkey_import_x509_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - _gnutls_debug_log
    - gnutls_pk_get_name
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - fprintf
    - gnutls_assert
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: int
    signature: "int test_known_sig(gnutls_pk_algorithm_t pk, unsigned bits,\n\t\t\t
      \ gnutls_digest_algorithm_t dig, const void *privkey,\n\t\t\t  size_t privkey_size,
      const void *stored_sig,\n\t\t\t  size_t stored_sig_size, gnutls_privkey_flags_t
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:739,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:740,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:744,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:748,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:752,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:756,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:760,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:762,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:766,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:768,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/crypto-selftests-pk.c:773,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:775,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:781,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:785,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:787,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:793,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:794,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:795,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:796,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:797,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:800,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:802,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 806
    functionName: test_dh
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memcmp
    - _gnutls_pk_derive
    - _gnutls_debug_log
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - _gnutls_mpi_init_scan
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int test_dh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:841,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/crypto-selftests-pk.c:842,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:849,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:852,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:856,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:859,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:863,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:866,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:870,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:872,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/crypto-selftests-pk.c:876,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:878,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/crypto-selftests-pk.c:883,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:885,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:891,1
    - Dst: memcmp
      Src: /src/gnutls/lib/crypto-selftests-pk.c:895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:897,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:903,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:904,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:905,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:906,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/crypto-selftests-pk.c:907,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/crypto-selftests-pk.c:908,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:911,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/crypto-selftests-pk.c:913,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 917
    functionName: test_ecdh
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memcmp
    - _gnutls_pk_derive
    - _gnutls_debug_log
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - _gnutls_mpi_init_scan
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int test_ecdh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/crypto-selftests-pk.c:940,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/lib/crypto-selftests-pk.c:943,1
    - Dst: test_dh
      Src: /src/gnutls/lib/crypto-selftests-pk.c:950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:952,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:960,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:963,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:970,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:979,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:983,1
    - Dst: test_ecdh
      Src: /src/gnutls/lib/crypto-selftests-pk.c:993,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/crypto-selftests-pk.c:995,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1001,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1002,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1009,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1010,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1019,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1020,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1027,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1028,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1034,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1035,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1042,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1043,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1050,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1051,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1058,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1059,1
    - Dst: PK_KNOWN_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1065,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1066,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1073,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1074,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1083,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1084,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1092,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1093,1
    - Dst: PK_TEST
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1101,1
    - Dst: GNUTLS_CURVE_TO_BITS
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/crypto-selftests-pk.c:1110,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 2
    argNames:
    - flags
    - pk
    argTypes:
    - unsigned
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 1117
    functionName: gnutls_pk_self_test
    functionSourceFile: /src/gnutls/lib/crypto-selftests-pk.c
    functionUses: 2
    functionsReached:
    - PK_TEST
    - PK_KNOWN_TEST
    - test_dh
    - test_ecdh
    - gnutls_fips140_mode_enabled
    - _gnutls_get_lib_state
    - gnutls_assert_val
    - gnutls_assert
    - GNUTLS_CURVE_TO_BITS
    linkageType: ''
    returnType: int
    signature: int gnutls_pk_self_test(unsigned flags, gnutls_pk_algorithm_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1693
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1693
    functionName: get_version
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 250
    functionsReached: []
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *get_version(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/gnutls_int.h:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1701
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1701
    functionName: get_num_version
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 6
    functionsReached:
    - likely
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_num_version(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: _gnutls_timespec_cmp
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_timespec_cmp(struct timespec *a, struct timespec *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version_to_entry
      Src: /src/gnutls/lib/gnutls_int.h:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1733
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1733
    functionName: _gnutls_set_current_version
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 2
    functionsReached:
    - version_to_entry
    linkageType: ''
    returnType: int
    signature: int _gnutls_set_current_version(gnutls_session_t s, unsigned v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/gnutls_int.h:1742,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/gnutls_int.h:1745,1
    - Dst: MIN
      Src: /src/gnutls/lib/gnutls_int.h:1746,1
    - Dst: gnutls_dtls_get_data_mtu
      Src: /src/gnutls/lib/gnutls_int.h:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1749
      start: 1738
    functionDepth: 3
    functionLinenumber: 1738
    functionLinenumberEnd: 1749
    functionName: max_record_send_size
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 5
    functionsReached:
    - IS_DTLS
    - gnutls_dtls_get_data_mtu
    - MIN
    linkageType: ''
    returnType: size_t
    signature: size_t max_record_send_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/gnutls_int.h:1767,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/gnutls_int.h:1774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - session
    - target
    argTypes:
    - gnutls_session_t
    - gnutls_ctype_target_t
    constantsTouched: []
    func_position:
      end: 1783
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1783
    functionName: get_certificate_type
    functionSourceFile: /src/gnutls/lib/gnutls_int.h
    functionUses: 5
    functionsReached:
    - IS_SERVER
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t get_certificate_type(gnutls_session_t session,
      gnutls_ctype_target_t target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_rsa_key_bits
      Src: /src/gnutls/lib/tpm2.c:47,1
    - Dst: GNUTLS_FLAGS_TO_SIGN_ALGO
      Src: /src/gnutls/lib/tpm2.c:51,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:69,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/tpm2.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - key
    - flags
    - _info
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: rsa_key_info
    functionSourceFile: /src/gnutls/lib/tpm2.c
    functionUses: 0
    functionsReached:
    - GNUTLS_FLAGS_TO_SIGN_ALGO
    - tpm2_rsa_key_bits
    - gnutls_sign_get_name
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: int rsa_key_info(gnutls_privkey_t key, unsigned int flags, void *_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_FLAGS_TO_SIGN_ALGO
      Src: /src/gnutls/lib/tpm2.c:90,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:109,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/tpm2.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - key
    - flags
    - _info
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 120
    functionName: ec_key_info
    functionSourceFile: /src/gnutls/lib/tpm2.c
    functionUses: 0
    functionsReached:
    - GNUTLS_FLAGS_TO_SIGN_ALGO
    - gnutls_sign_get_name
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: int ec_key_info(gnutls_privkey_t key, unsigned int flags, void *_info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_node_value
      Src: /src/gnutls/lib/tpm2.c:132,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/tpm2.c:134,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/tpm2.c:137,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/tpm2.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - n
    - r
    argTypes:
    - asn1_node
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: decode_data
    functionSourceFile: /src/gnutls/lib/tpm2.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_get_length_der
    - asn1_read_node_value
    linkageType: ''
    returnType: int
    signature: int decode_data(asn1_node n, gnutls_datum_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/lib/tpm2.c:159,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:162,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/tpm2.c:163,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/tpm2.c:167,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/tpm2.c:167,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:170,1
    - Dst: asn1_strerror
      Src: /src/gnutls/lib/tpm2.c:171,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/tpm2.c:172,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/tpm2.c:176,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:178,1
    - Dst: asn1_strerror
      Src: /src/gnutls/lib/tpm2.c:179,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/tpm2.c:180,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/tpm2.c:185,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:187,1
    - Dst: asn1_strerror
      Src: /src/gnutls/lib/tpm2.c:188,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/tpm2.c:189,1
    - Dst: strncmp
      Src: /src/gnutls/lib/tpm2.c:192,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:193,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/tpm2.c:200,1
    - Dst: strcmp
      Src: /src/gnutls/lib/tpm2.c:201,1
    - Dst: memset
      Src: /src/gnutls/lib/tpm2.c:205,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/tpm2.c:207,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:211,1
    - Dst: asn1_strerror
      Src: /src/gnutls/lib/tpm2.c:212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tpm2.c:221,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:222,1
    - Dst: decode_data
      Src: /src/gnutls/lib/tpm2.c:236,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/tpm2.c:236,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:238,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/tpm2.c:239,1
    - Dst: decode_data
      Src: /src/gnutls/lib/tpm2.c:243,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/tpm2.c:243,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:245,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/tpm2.c:246,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:251,1
    - Dst: tpm2_info_init
      Src: /src/gnutls/lib/tpm2.c:254,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tpm2.c:256,1
    - Dst: install_tpm2_key
      Src: /src/gnutls/lib/tpm2.c:263,1
    - Dst: gnutls_privkey_import_ext4
      Src: /src/gnutls/lib/tpm2.c:271,1
    - Dst: gnutls_privkey_import_ext4
      Src: /src/gnutls/lib/tpm2.c:278,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/tpm2.c:293,1
    - Dst: release_tpm2_ctx
      Src: /src/gnutls/lib/tpm2.c:294,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tpm2.c:296,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 117
    argCount: 2
    argNames:
    - pkey
    - fdata
    argTypes:
    - gnutls_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 298
    functionName: _gnutls_load_tpm2_key
    functionSourceFile: /src/gnutls/lib/tpm2.c
    functionUses: 1
    functionsReached:
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - strcmp
    - _gnutls_asn2err
    - asn1_create_element
    - gnutls_pem_base64_decode2
    - asn1_find_node
    - asn1_strerror
    - memset
    - tpm2_info_init
    - decode_data
    - _gnutls_debug_log
    - asn1_der_decoding
    - strncmp
    - gnutls_privkey_import_ext4
    - gnutls_strerror
    - gnutls_free
    - asn1_read_value
    - release_tpm2_ctx
    - install_tpm2_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_load_tpm2_key(gnutls_privkey_t pkey, const gnutls_datum_t
      *fdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tpm2_esys_deinit
      Src: /src/gnutls/lib/tpm2.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: _gnutls_tpm2_deinit
    functionSourceFile: /src/gnutls/lib/tpm2.c
    functionUses: 1
    functionsReached:
    - tpm2_esys_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_tpm2_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnutls/lib/alert.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - alert
    argTypes:
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: gnutls_alert_get_name
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 8
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: char *gnutls_alert_get_name(gnutls_alert_description_t alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - alert
    argTypes:
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: gnutls_alert_get_strname
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_alert_get_strname(gnutls_alert_description_t alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alert_get_name
      Src: /src/gnutls/lib/alert.c:159,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/alert.c:162,1
    - Dst: _gnutls_epoch_get
      Src: /src/gnutls/lib/alert.c:168,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/alert.c:170,1
    - Dst: gnutls_session_t::internals::alert_read_func
      Src: /src/gnutls/lib/alert.c:171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/alert.c:174,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/alert.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - session
    - level
    - desc
    argTypes:
    - gnutls_session_t
    - gnutls_alert_level_t
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 183
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 183
    functionName: gnutls_alert_send
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 5
    functionsReached:
    - _gnutls_epoch_get
    - _gnutls_record_log
    - gnutls_session_t::internals::alert_read_func
    - _gnutls_send_int
    - gnutls_alert_get_name
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_alert_send(gnutls_session_t session, gnutls_alert_level_t
      level,\n\t\t      gnutls_alert_description_t desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 142
    argCount: 2
    argNames:
    - err
    - level
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 354
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 354
    functionName: gnutls_error_to_alert
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_error_to_alert(int err, int *level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/lib/alert.c:383,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/alert.c:385,1
    - Dst: gnutls_error_to_alert
      Src: /src/gnutls/lib/alert.c:387,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/lib/alert.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - session
    - err
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 390
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: gnutls_alert_send_appropriate
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 10
    functionsReached:
    - gnutls_error_is_fatal
    - gnutls_error_to_alert
    - gnutls_alert_send
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_alert_send_appropriate(gnutls_session_t session, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: gnutls_alert_get
    functionSourceFile: /src/gnutls/lib/alert.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: gnutls_alert_description_t
    signature: gnutls_alert_description_t gnutls_alert_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotList
      Src: /src/gnutls/lib/pkcs11_int.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - token_present
    - slot_list
    - count
    argTypes:
    - struct ck_function_list*
    - unsigned char
    - ck_slot_id_t*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: pkcs11_get_slot_list
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GetSlotList
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_slot_list(struct ck_function_list *module,\n\t\t\t
      \    unsigned char token_present,\n\t\t\t     ck_slot_id_t *slot_list, unsigned
      long *count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetInfo
      Src: /src/gnutls/lib/pkcs11_int.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - info
    argTypes:
    - struct ck_function_list*
    - struct ck_info*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: pkcs11_get_module_info
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GetInfo
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_module_info(struct ck_function_list *module,\n\t\t\t
      \      struct ck_info *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetSlotInfo
      Src: /src/gnutls/lib/pkcs11_int.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - slot_id
    - info
    argTypes:
    - struct ck_function_list*
    - ck_slot_id_t
    - struct ck_slot_info*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: pkcs11_get_slot_info
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 2
    functionsReached:
    - C_GetSlotInfo
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_slot_info(struct ck_function_list *module,\n\t\t\t
      \    ck_slot_id_t slot_id, struct ck_slot_info *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetTokenInfo
      Src: /src/gnutls/lib/pkcs11_int.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - slot_id
    - info
    argTypes:
    - struct ck_function_list*
    - ck_slot_id_t
    - struct ck_token_info*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: pkcs11_get_token_info
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 3
    functionsReached:
    - C_GetTokenInfo
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_token_info(struct ck_function_list *module,\n\t\t\t
      \     ck_slot_id_t slot_id, struct ck_token_info *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_FindObjectsInit
      Src: /src/gnutls/lib/pkcs11_int.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - sess
    - templ
    - count
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_attribute*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: pkcs11_find_objects_init
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 9
    functionsReached:
    - C_FindObjectsInit
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_find_objects_init(struct ck_function_list *module,\n\t\t\t\t
      ck_session_handle_t sess,\n\t\t\t\t struct ck_attribute *templ,\n\t\t\t\t unsigned
      long count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_FindObjects
      Src: /src/gnutls/lib/pkcs11_int.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - sess
    - objects
    - max_object_count
    - object_count
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: pkcs11_find_objects
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 9
    functionsReached:
    - C_FindObjects
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_find_objects(struct ck_function_list *module,\n\t\t\t
      \   ck_session_handle_t sess,\n\t\t\t    ck_object_handle_t *objects,\n\t\t\t
      \   unsigned long max_object_count,\n\t\t\t    unsigned long *object_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_FindObjectsFinal
      Src: /src/gnutls/lib/pkcs11_int.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sinfo
    argTypes:
    - struct pkcs11_session_info*
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pkcs11_find_objects_final
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 8
    functionsReached:
    - C_FindObjectsFinal
    linkageType: ''
    returnType: ck_rv_t
    signature: ck_rv_t pkcs11_find_objects_final(struct pkcs11_session_info *sinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_CloseSession
      Src: /src/gnutls/lib/pkcs11_int.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sinfo
    argTypes:
    - struct pkcs11_session_info*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pkcs11_close_session
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 14
    functionsReached:
    - C_CloseSession
    linkageType: ''
    returnType: ck_rv_t
    signature: ck_rv_t pkcs11_close_session(struct pkcs11_session_info *sinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_SetAttributeValue
      Src: /src/gnutls/lib/pkcs11_int.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - sess
    - object
    - templ
    - count
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t
    - struct ck_attribute*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: pkcs11_set_attribute_value
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_SetAttributeValue
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_set_attribute_value(struct ck_function_list *module,\n\t\t\t\t
      \  ck_session_handle_t sess,\n\t\t\t\t   ck_object_handle_t object,\n\t\t\t\t
      \  struct ck_attribute *templ,\n\t\t\t\t   unsigned long count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetAttributeValue
      Src: /src/gnutls/lib/pkcs11_int.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - sess
    - object
    - templ
    - count
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t
    - struct ck_attribute*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pkcs11_get_attribute_value
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 9
    functionsReached:
    - C_GetAttributeValue
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_attribute_value(struct ck_function_list *module,\n\t\t\t\t
      \  ck_session_handle_t sess,\n\t\t\t\t   ck_object_handle_t object,\n\t\t\t\t
      \  struct ck_attribute *templ,\n\t\t\t\t   unsigned long count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetAttributeValue
      Src: /src/gnutls/lib/pkcs11_int.c:130,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/pkcs11_int.c:142,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/pkcs11_int.c:144,1
    - Dst: C_GetAttributeValue
      Src: /src/gnutls/lib/pkcs11_int.c:146,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/pkcs11_int.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - module
    - sess
    - object
    - type
    - res
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t
    - ck_attribute_type_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 155
    functionName: pkcs11_get_attribute_avalue
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    - C_GetAttributeValue
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_attribute_avalue(struct ck_function_list *module,\n\t\t\t\t
      \   ck_session_handle_t sess,\n\t\t\t\t    ck_object_handle_t object,\n\t\t\t\t
      \   ck_attribute_type_t type,\n\t\t\t\t    gnutls_datum_t *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetMechanismList
      Src: /src/gnutls/lib/pkcs11_int.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - slot_id
    - mechanism_list
    - count
    argTypes:
    - struct ck_function_list*
    - ck_slot_id_t
    - ck_mechanism_type_t*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: pkcs11_get_mechanism_list
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GetMechanismList
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_mechanism_list(struct ck_function_list *module,\n\t\t\t\t
      \ ck_slot_id_t slot_id,\n\t\t\t\t  ck_mechanism_type_t *mechanism_list,\n\t\t\t\t
      \ unsigned long *count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GetMechanismInfo
      Src: /src/gnutls/lib/pkcs11_int.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - slot_id
    - mechanism
    - ptr
    argTypes:
    - struct ck_function_list*
    - ck_slot_id_t
    - ck_mechanism_type_t
    - struct ck_mechanism_info*
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: pkcs11_get_mechanism_info
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GetMechanismInfo
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_get_mechanism_info(struct ck_function_list *module,\n\t\t\t\t
      \ ck_slot_id_t slot_id,\n\t\t\t\t  ck_mechanism_type_t mechanism,\n\t\t\t\t
      \ struct ck_mechanism_info *ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_SignInit
      Src: /src/gnutls/lib/pkcs11_int.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - sess
    - mechanism
    - key
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_mechanism*
    - ck_object_handle_t
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: pkcs11_sign_init
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_SignInit
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_sign_init(struct ck_function_list *module,\n\t\t\t
      ck_session_handle_t sess,\n\t\t\t struct ck_mechanism *mechanism, ck_object_handle_t
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Sign
      Src: /src/gnutls/lib/pkcs11_int.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - module
    - sess
    - data
    - data_len
    - signature
    - signature_len
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - unsigned char*
    - unsigned long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: pkcs11_sign
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_Sign
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_sign(struct ck_function_list *module, ck_session_handle_t
      sess,\n\t\t    unsigned char *data, unsigned long data_len,\n\t\t    unsigned
      char *signature, unsigned long *signature_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GenerateKey
      Src: /src/gnutls/lib/pkcs11_int.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - module
    - sess
    - mechanism
    - templ
    - count
    - key
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_mechanism*
    - struct ck_attribute*
    - unsigned long
    - ck_object_handle_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: pkcs11_generate_key
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GenerateKey
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_generate_key(struct ck_function_list *module,\n\t\t\t
      \   ck_session_handle_t sess,\n\t\t\t    struct ck_mechanism *mechanism,\n\t\t\t
      \   struct ck_attribute *templ, unsigned long count,\n\t\t\t    ck_object_handle_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GenerateKeyPair
      Src: /src/gnutls/lib/pkcs11_int.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - module
    - sess
    - mechanism
    - pub_templ
    - pub_templ_count
    - priv_templ
    - priv_templ_count
    - pub_ctx
    - priv_ctx
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_mechanism*
    - struct ck_attribute*
    - unsigned long
    - struct ck_attribute*
    - unsigned long
    - ck_object_handle_t*
    - ck_object_handle_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: pkcs11_generate_key_pair
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GenerateKeyPair
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_generate_key_pair(\n\tstruct ck_function_list *module,
      ck_session_handle_t sess,\n\tstruct ck_mechanism *mechanism, struct ck_attribute
      *pub_templ,\n\tunsigned long pub_templ_count, struct ck_attribute *priv_templ,\n\tunsigned
      long priv_templ_count, ck_object_handle_t *pub_ctx,\n\tck_object_handle_t *priv_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_DecryptInit
      Src: /src/gnutls/lib/pkcs11_int.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - sess
    - mechanism
    - key_ctx
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_mechanism*
    - ck_object_handle_t
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: pkcs11_decrypt_init
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 2
    functionsReached:
    - C_DecryptInit
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_decrypt_init(struct ck_function_list *module,\n\t\t\t
      \   ck_session_handle_t sess,\n\t\t\t    struct ck_mechanism *mechanism,\n\t\t\t
      \   ck_object_handle_t key_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_Decrypt
      Src: /src/gnutls/lib/pkcs11_int.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - module
    - sess
    - encrypted_data
    - encrypted_data_len
    - data
    - data_len
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - unsigned char*
    - unsigned long
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: pkcs11_decrypt
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 2
    functionsReached:
    - C_Decrypt
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_decrypt(struct ck_function_list *module,\n\t\t       ck_session_handle_t
      sess, unsigned char *encrypted_data,\n\t\t       unsigned long encrypted_data_len,
      unsigned char *data,\n\t\t       unsigned long *data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_CreateObject
      Src: /src/gnutls/lib/pkcs11_int.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - sess
    - templ
    - count
    - ctx
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - struct ck_attribute*
    - unsigned long
    - ck_object_handle_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: pkcs11_create_object
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 5
    functionsReached:
    - C_CreateObject
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_create_object(struct ck_function_list *module,\n\t\t\t
      \    ck_session_handle_t sess,\n\t\t\t     struct ck_attribute *templ, unsigned
      long count,\n\t\t\t     ck_object_handle_t *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_DestroyObject
      Src: /src/gnutls/lib/pkcs11_int.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - sess
    - ctx
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - ck_object_handle_t
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: pkcs11_destroy_object
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_DestroyObject
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_destroy_object(struct ck_function_list *module,\n\t\t\t
      \     ck_session_handle_t sess, ck_object_handle_t ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_InitToken
      Src: /src/gnutls/lib/pkcs11_int.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - slot_id
    - pin
    - pin_len
    - label
    argTypes:
    - struct ck_function_list*
    - ck_slot_id_t
    - unsigned char*
    - unsigned long
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: pkcs11_init_token
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_InitToken
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_init_token(struct ck_function_list *module, ck_slot_id_t
      slot_id,\n\t\t\t  unsigned char *pin, unsigned long pin_len,\n\t\t\t  unsigned
      char *label)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_InitPIN
      Src: /src/gnutls/lib/pkcs11_int.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - sess
    - pin
    - pin_len
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - unsigned char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: pkcs11_init_pin
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_InitPIN
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_init_pin(struct ck_function_list *module,\n\t\t\tck_session_handle_t
      sess, unsigned char *pin,\n\t\t\tunsigned long pin_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_SetPIN
      Src: /src/gnutls/lib/pkcs11_int.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - module
    - sess
    - old_pin
    - old_len
    - new_pin
    - new_len
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - char*
    - unsigned long
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: pkcs11_set_pin
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_SetPIN
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t pkcs11_set_pin(struct ck_function_list *module,\n\t\t       ck_session_handle_t
      sess, const char *old_pin,\n\t\t       unsigned long old_len, const char *new_pin,\n\t\t
      \      unsigned long new_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: C_GenerateRandom
      Src: /src/gnutls/lib/pkcs11_int.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - sess
    - data
    - len
    argTypes:
    - struct ck_function_list*
    - ck_session_handle_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: _gnutls_pkcs11_get_random
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 1
    functionsReached:
    - C_GenerateRandom
    linkageType: ''
    returnType: ck_rv_t
    signature: "ck_rv_t _gnutls_pkcs11_get_random(struct ck_function_list *module,\n\t\t\t\t
      \ ck_session_handle_t sess, void *data,\n\t\t\t\t  size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p11_kit_strerror
      Src: /src/gnutls/lib/pkcs11_int.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rv
    argTypes:
    - ck_rv_t
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: pkcs11_strerror
    functionSourceFile: /src/gnutls/lib/pkcs11_int.c
    functionUses: 12
    functionsReached:
    - p11_kit_strerror
    linkageType: ''
    returnType: char
    signature: char *pkcs11_strerror(ck_rv_t rv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - st
    - list
    argTypes:
    - priority_st*
    - int*
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: _set_priority
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _set_priority(priority_st *st, const int *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - st
    - list
    argTypes:
    - priority_st*
    - int*
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: _add_priority
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _add_priority(priority_st *st, const int *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/priority.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - list
    argTypes:
    - priority_st*
    - int*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: _clear_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _clear_priorities(priority_st *st, const int *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prio_remove
      Src: /src/gnutls/lib/priority.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - list
    argTypes:
    - priority_st*
    - int*
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: _clear_given_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - prio_remove
    linkageType: ''
    returnType: void
    signature: void _clear_given_priorities(priority_st *st, const int *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: _gnutls_priority_update_fips
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_priority_update_fips(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/priority.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: _gnutls_priority_update_non_aesni
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_fips_mode_enabled
    linkageType: ''
    returnType: void
    signature: void _gnutls_priority_update_non_aesni(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnutls/lib/priority.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - priority_list
    - algo
    argTypes:
    - priority_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 544
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 544
    functionName: prio_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void prio_remove(priority_st *priority_list, unsigned int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - priority_list
    - algo
    argTypes:
    - priority_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: prio_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prio_add(priority_st *priority_list, unsigned int algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:583,1
    - Dst: _gnutls_set_current_version
      Src: /src/gnutls/lib/priority.c:591,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:594,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/lib/priority.c:600,1
    - Dst: gnutls_atomic_increment
      Src: /src/gnutls/lib/priority.c:602,1
    - Dst: ADD_PROFILE_VFLAGS
      Src: /src/gnutls/lib/priority.c:617,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:622,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:623,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:624,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:625,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:626,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:627,1
    - Dst: COPY_TO_INTERNALS
      Src: /src/gnutls/lib/priority.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - session
    - priority
    argTypes:
    - gnutls_session_t
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 631
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 631
    functionName: gnutls_priority_set
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 8
    functionsReached:
    - gnutls_atomic_increment
    - ADD_PROFILE_VFLAGS
    - gnutls_priority_deinit
    - COPY_TO_INTERNALS
    - _gnutls_set_current_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_priority_set(gnutls_session_t session, gnutls_priority_t
      priority)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:770,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:772,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:774,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:776,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:777,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:778,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:779,1
    - Dst: func
      Src: /src/gnutls/lib/priority.c:781,1
    - Dst: SET_PROFILE
      Src: /src/gnutls/lib/priority.c:785,1
    - Dst: SET_LEVEL
      Src: /src/gnutls/lib/priority.c:788,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/priority.c:796,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - level
    - priority_cache
    - add
    argTypes:
    - char*
    - gnutls_priority_t
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 808
    functionName: check_level
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - cipher_to_entry
    - SET_PROFILE
    - c_strcasecmp
    - SET_LEVEL
    - func
    linkageType: ''
    returnType: int
    signature: "int check_level(const char *level, gnutls_priority_t priority_cache,\n\t\t
      \      int add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PRIO_COMPAT
      Src: /src/gnutls/lib/priority.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: enable_compat
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PRIO_COMPAT
    linkageType: ''
    returnType: void
    signature: void enable_compat(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: enable_server_key_usage_violations
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_server_key_usage_violations(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: enable_allow_small_records
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_allow_small_records(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: enable_dumbfw
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_dumbfw(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: enable_no_extensions
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_extensions(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: enable_no_status_request
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_status_request(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: enable_no_ext_master_secret
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_ext_master_secret(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: enable_force_ext_master_secret
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_force_ext_master_secret(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: enable_no_etm
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_etm(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: enable_force_etm
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_force_etm(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: enable_no_tickets
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_tickets(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: enable_no_tickets_tls12
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_tickets_tls12(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: disable_wildcards
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_wildcards(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: enable_profile_very_weak
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_very_weak(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: enable_profile_low
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_low(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: enable_profile_legacy
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_legacy(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: enable_profile_medium
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_medium(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: enable_profile_high
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_high(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: enable_profile_ultra
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_ultra(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: enable_profile_future
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_future(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: enable_profile_suiteb128
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_suiteb128(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: enable_profile_suiteb192
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    linkageType: ''
    returnType: void
    signature: void enable_profile_suiteb192(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: enable_safe_renegotiation
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_safe_renegotiation(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: enable_unsafe_renegotiation
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_unsafe_renegotiation(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: enable_partial_safe_renegotiation
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_partial_safe_renegotiation(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: disable_safe_renegotiation
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_safe_renegotiation(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: enable_fallback_scsv
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_fallback_scsv(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: enable_latest_record_version
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_latest_record_version(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: enable_ssl3_record_version
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_ssl3_record_version(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: enable_verify_allow_rsa_md5
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_verify_allow_rsa_md5(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: enable_verify_allow_sha1
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_verify_allow_sha1(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: enable_verify_allow_broken
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_verify_allow_broken(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: disable_crl_checks
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_crl_checks(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: enable_server_precedence
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_server_precedence(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 983
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 983
    functionName: disable_tls13_compat_mode
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void disable_tls13_compat_mode(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: enable_no_shuffle_extensions
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enable_no_shuffle_extensions(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 992
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 992
    functionName: dummy_func
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_func(gnutls_priority_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _name_val_array_clear
      Src: /src/gnutls/lib/priority.c:1023,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1025,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    functionName: cfg_deinit
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _name_val_array_clear
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void cfg_deinit(struct cfg *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: _gnutls_allowlisting_mode
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_allowlisting_mode(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1054
    functionName: _clear_default_system_priority
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _clear_default_system_priority(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: _gnutls_get_system_wide_verification_profile
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_certificate_verification_profiles_t
    signature: gnutls_certificate_verification_profiles_t _gnutls_get_system_wide_verification_profile(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isspace
      Src: /src/gnutls/lib/priority.c:1068,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/priority.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - char[]
    constantsTouched: []
    func_position:
      end: 1080
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1080
    functionName: clear_spaces
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - c_isspace
    linkageType: ''
    returnType: char
    signature: char *clear_spaces(const char *str, char out[MAX_ALGO_NAME])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_deinit
      Src: /src/gnutls/lib/priority.c:1099,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1100,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1101,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1102,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1103,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ini_ctx*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1097
    functionDepth: 3
    functionLinenumber: 1097
    functionLinenumberEnd: 1105
    functionName: ini_ctx_deinit
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - cfg_deinit
    linkageType: ''
    returnType: void
    signature: void ini_ctx_deinit(struct ini_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1124,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1125,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1126,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1127,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1128,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1129,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1130,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct cfg*
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1133
    functionName: cfg_steal
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cfg_steal(struct cfg *dst, struct cfg *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_digest_mark_insecure_all
      Src: /src/gnutls/lib/priority.c:1143,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1151
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1151
    functionName: _cfg_hashes_remark
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_digest_mark_insecure_all
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _cfg_hashes_remark(struct cfg *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_mark_insecure_all
      Src: /src/gnutls/lib/priority.c:1157,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1162,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1168,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1173
    functionName: _cfg_sigs_remark
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_sign_mark_insecure_all
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _cfg_sigs_remark(struct cfg *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_mark_disabled_all
      Src: /src/gnutls/lib/priority.c:1179,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1182,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1187
    functionName: _cfg_versions_remark
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_version_mark_disabled_all
    - unlikely
    linkageType: ''
    returnType: int
    signature: int _cfg_versions_remark(struct cfg *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_curve_mark_disabled_all
      Src: /src/gnutls/lib/priority.c:1194,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1197,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfg*
    constantsTouched: []
    func_position:
      end: 1202
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1202
    functionName: _cfg_ecc_curves_remark
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - _gnutls_ecc_curve_mark_disabled_all
    linkageType: ''
    returnType: int
    signature: int _cfg_ecc_curves_remark(struct cfg *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1212,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1213,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1216,1
    - Dst: _cfg_hashes_remark
      Src: /src/gnutls/lib/priority.c:1220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - src
    - len
    argTypes:
    - struct cfg*
    - gnutls_digest_algorithm_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1221
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1221
    functionName: cfg_hashes_set_array
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _cfg_hashes_remark
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int cfg_hashes_set_array(struct cfg *cfg, gnutls_digest_algorithm_t
      *src,\n\t\t     size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1227,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1228,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1230,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1231,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1234,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1237,1
    - Dst: _cfg_sigs_remark
      Src: /src/gnutls/lib/priority.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - cfg
    - src
    - len
    - src_for_cert
    - len_for_cert
    argTypes:
    - struct cfg*
    - gnutls_sign_algorithm_t*
    - size_t
    - gnutls_sign_algorithm_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1243
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1243
    functionName: cfg_sigs_set_arrays
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - unlikely
    - _cfg_sigs_remark
    linkageType: ''
    returnType: int
    signature: "int cfg_sigs_set_arrays(struct cfg *cfg, gnutls_sign_algorithm_t *src,
      size_t len,\n\t\t    gnutls_sign_algorithm_t *src_for_cert, size_t len_for_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1248,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1249,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1252,1
    - Dst: _cfg_versions_remark
      Src: /src/gnutls/lib/priority.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - src
    - len
    argTypes:
    - struct cfg*
    - gnutls_protocol_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1256
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1256
    functionName: cfg_versions_set_array
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - _cfg_versions_remark
    - unlikely
    linkageType: ''
    returnType: int
    signature: int cfg_versions_set_array(struct cfg *cfg, gnutls_protocol_t *src,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1262,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:1265,1
    - Dst: _cfg_ecc_curves_remark
      Src: /src/gnutls/lib/priority.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cfg
    - src
    - len
    argTypes:
    - struct cfg*
    - gnutls_ecc_curve_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1269
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1269
    functionName: cfg_ecc_curves_set_array
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - unlikely
    - _cfg_ecc_curves_remark
    linkageType: ''
    returnType: int
    signature: int cfg_ecc_curves_set_array(struct cfg *cfg, gnutls_ecc_curve_t *src,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1299,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/priority.c:1300,1
    - Dst: APPEND_TO_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1301,1
    - Dst: _cfg_hashes_remark
      Src: /src/gnutls/lib/priority.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - dig
    argTypes:
    - struct cfg*
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 1303
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1303
    functionName: cfg_hashes_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - _cfg_hashes_remark
    - gnutls_digest_get_name
    - APPEND_TO_NULL_TERMINATED_ARRAY
    linkageType: ''
    returnType: int
    signature: int cfg_hashes_add(struct cfg *cfg, gnutls_digest_algorithm_t dig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1308,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/priority.c:1311,1
    - Dst: APPEND_TO_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1312,1
    - Dst: _cfg_sigs_remark
      Src: /src/gnutls/lib/priority.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - sig
    argTypes:
    - struct cfg*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    functionName: cfg_sigs_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_sign_get_name
    - _cfg_sigs_remark
    - APPEND_TO_NULL_TERMINATED_ARRAY
    linkageType: ''
    returnType: int
    signature: int cfg_sigs_add(struct cfg *cfg, gnutls_sign_algorithm_t sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1319,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/priority.c:1322,1
    - Dst: APPEND_TO_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1323,1
    - Dst: _cfg_sigs_remark
      Src: /src/gnutls/lib/priority.c:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - sig
    argTypes:
    - struct cfg*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 1325
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1325
    functionName: cfg_sigs_for_cert_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_sign_get_name
    - _cfg_sigs_remark
    - APPEND_TO_NULL_TERMINATED_ARRAY
    linkageType: ''
    returnType: int
    signature: int cfg_sigs_for_cert_add(struct cfg *cfg, gnutls_sign_algorithm_t
      sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1330,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/priority.c:1331,1
    - Dst: APPEND_TO_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1332,1
    - Dst: _cfg_versions_remark
      Src: /src/gnutls/lib/priority.c:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - prot
    argTypes:
    - struct cfg*
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 1334
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1334
    functionName: cfg_versions_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - APPEND_TO_NULL_TERMINATED_ARRAY
    - _gnutls_debug_log
    - _cfg_versions_remark
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: int
    signature: int cfg_versions_add(struct cfg *cfg, gnutls_protocol_t prot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1339,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/priority.c:1340,1
    - Dst: APPEND_TO_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1341,1
    - Dst: _cfg_ecc_curves_remark
      Src: /src/gnutls/lib/priority.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - curve
    argTypes:
    - struct cfg*
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 1343
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1343
    functionName: cfg_ecc_curves_add
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - APPEND_TO_NULL_TERMINATED_ARRAY
    - _gnutls_debug_log
    - _cfg_ecc_curves_remark
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: int
    signature: int cfg_ecc_curves_add(struct cfg *cfg, gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1367,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/priority.c:1368,1
    - Dst: REMOVE_FROM_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1369,1
    - Dst: _cfg_hashes_remark
      Src: /src/gnutls/lib/priority.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - dig
    argTypes:
    - struct cfg*
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: cfg_hashes_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - REMOVE_FROM_NULL_TERMINATED_ARRAY
    - _cfg_hashes_remark
    - gnutls_digest_get_name
    linkageType: ''
    returnType: int
    signature: int cfg_hashes_remove(struct cfg *cfg, gnutls_digest_algorithm_t dig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1376,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/priority.c:1379,1
    - Dst: REMOVE_FROM_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1380,1
    - Dst: _cfg_sigs_remark
      Src: /src/gnutls/lib/priority.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - sig
    argTypes:
    - struct cfg*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 1382
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1382
    functionName: cfg_sigs_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_sign_get_name
    - REMOVE_FROM_NULL_TERMINATED_ARRAY
    - _cfg_sigs_remark
    linkageType: ''
    returnType: int
    signature: int cfg_sigs_remove(struct cfg *cfg, gnutls_sign_algorithm_t sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1387,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/priority.c:1390,1
    - Dst: REMOVE_FROM_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1391,1
    - Dst: _cfg_sigs_remark
      Src: /src/gnutls/lib/priority.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - sig
    argTypes:
    - struct cfg*
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 1393
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1393
    functionName: cfg_sigs_for_cert_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_sign_get_name
    - REMOVE_FROM_NULL_TERMINATED_ARRAY
    - _cfg_sigs_remark
    linkageType: ''
    returnType: int
    signature: int cfg_sigs_for_cert_remove(struct cfg *cfg, gnutls_sign_algorithm_t
      sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1398,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/priority.c:1399,1
    - Dst: REMOVE_FROM_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1400,1
    - Dst: _cfg_versions_remark
      Src: /src/gnutls/lib/priority.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - prot
    argTypes:
    - struct cfg*
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 1402
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1402
    functionName: cfg_versions_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - _cfg_versions_remark
    - REMOVE_FROM_NULL_TERMINATED_ARRAY
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: int
    signature: int cfg_versions_remove(struct cfg *cfg, gnutls_protocol_t prot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1407,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/priority.c:1408,1
    - Dst: REMOVE_FROM_NULL_TERMINATED_ARRAY
      Src: /src/gnutls/lib/priority.c:1409,1
    - Dst: _cfg_ecc_curves_remark
      Src: /src/gnutls/lib/priority.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cfg
    - curve
    argTypes:
    - struct cfg*
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 1411
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1411
    functionName: cfg_ecc_curves_remove
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _cfg_ecc_curves_remark
    - _gnutls_debug_log
    - REMOVE_FROM_NULL_TERMINATED_ARRAY
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: int
    signature: int cfg_ecc_curves_remove(struct cfg *cfg, gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_steal
      Src: /src/gnutls/lib/priority.c:1418,1
    - Dst: cfg_hashes_set_array
      Src: /src/gnutls/lib/priority.c:1426,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1427,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1428,1
    - Dst: cfg_sigs_set_arrays
      Src: /src/gnutls/lib/priority.c:1431,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1434,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1435,1
    - Dst: cfg_versions_set_array
      Src: /src/gnutls/lib/priority.c:1438,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1440,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1441,1
    - Dst: cfg_ecc_curves_set_array
      Src: /src/gnutls/lib/priority.c:1444,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1446,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:1447,1
    - Dst: _gnutls_digest_mark_insecure
      Src: /src/gnutls/lib/priority.c:1454,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1455,1
    - Dst: _gnutls_sign_mark_insecure
      Src: /src/gnutls/lib/priority.c:1460,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1462,1
    - Dst: _gnutls_sign_mark_insecure
      Src: /src/gnutls/lib/priority.c:1467,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1469,1
    - Dst: _gnutls_version_mark_disabled
      Src: /src/gnutls/lib/priority.c:1474,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1475,1
    - Dst: _gnutls_ecc_curve_mark_disabled
      Src: /src/gnutls/lib/priority.c:1480,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:1481,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - cfg
    - ctx
    argTypes:
    - struct cfg*
    - struct ini_ctx*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1413
    functionDepth: 3
    functionLinenumber: 1413
    functionLinenumberEnd: 1488
    functionName: cfg_apply
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_sign_mark_insecure
    - _gnutls_digest_mark_insecure
    - cfg_versions_set_array
    - cfg_hashes_set_array
    - cfg_ecc_curves_set_array
    - _gnutls_version_mark_disabled
    - _gnutls_ecc_curve_mark_disabled
    - unlikely
    - cfg_sigs_set_arrays
    - gnutls_assert_val
    - cfg_steal
    linkageType: ''
    returnType: int
    signature: int cfg_apply(struct cfg *cfg, struct ini_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1499,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1500,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1501,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1502,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1504,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1507,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1512,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1513,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1514,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1516,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1519,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - section
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1492
    functionDepth: 2
    functionLinenumber: 1492
    functionLinenumberEnd: 1532
    functionName: global_ini_handler
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - c_strcasecmp
    - clear_spaces
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int global_ini_handler(void *ctx, const char *section, const char
      *name,\n\t\t\t      const char *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - allowlisting
    - name
    argTypes:
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1558
    functionName: override_allowed
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - c_strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool override_allowed(bool allowlisting, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1578,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1579,1
    - Dst: _name_val_array_append
      Src: /src/gnutls/lib/priority.c:1582,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1586,1
    - Dst: override_allowed
      Src: /src/gnutls/lib/priority.c:1587,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1588,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1592,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:1594,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1597,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1598,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:1601,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/priority.c:1602,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1604,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1609,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1614,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1615,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1618,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1621,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1624,1
    - Dst: gnutls_digest_get_id
      Src: /src/gnutls/lib/priority.c:1629,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1631,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/priority.c:1638,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1643,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1647,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1659,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1660,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1663,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1666,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1670,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/lib/priority.c:1675,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1677,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/priority.c:1684,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1689,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1693,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1705,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1706,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1709,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1712,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1716,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/lib/priority.c:1721,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1723,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/priority.c:1730,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1735,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1739,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1751,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1752,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1755,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1758,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1761,1
    - Dst: gnutls_protocol_get_id
      Src: /src/gnutls/lib/priority.c:1765,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1767,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/priority.c:1774,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1779,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1783,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1795,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1796,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1799,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1802,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1805,1
    - Dst: gnutls_ecc_curve_get_id
      Src: /src/gnutls/lib/priority.c:1809,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1811,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/priority.c:1818,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1823,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1827,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1839,1
    - Dst: gnutls_certificate_verification_profile_get_id
      Src: /src/gnutls/lib/priority.c:1843,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1847,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1856,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1857,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1860,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1863,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1866,1
    - Dst: gnutls_cipher_get_id
      Src: /src/gnutls/lib/priority.c:1871,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1873,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1887,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1891,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1902,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1903,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1906,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1909,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1912,1
    - Dst: gnutls_mac_get_id
      Src: /src/gnutls/lib/priority.c:1916,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1918,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1932,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1936,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1946,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1947,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1950,1
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/priority.c:1952,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1956,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1959,1
    - Dst: _gnutls_group_get_id
      Src: /src/gnutls/lib/priority.c:1963,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1965,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1979,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:1983,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1993,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:1994,1
    - Dst: clear_spaces
      Src: /src/gnutls/lib/priority.c:1997,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2000,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2004,1
    - Dst: gnutls_kx_get_id
      Src: /src/gnutls/lib/priority.c:2009,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2011,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2025,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2029,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:2039,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:2040,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:2043,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2047,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2055,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:2059,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2060,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 357
    argCount: 4
    argNames:
    - _ctx
    - section
    - name
    - value
    argTypes:
    - void*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2067
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 2067
    functionName: cfg_ini_handler
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_reallocarray
    - gnutls_certificate_verification_profile_get_id
    - gnutls_mac_get_id
    - gnutls_sign_get_id
    - gnutls_ecc_curve_get_id
    - _gnutls_debug_log
    - _gnutls_group_get_id
    - gnutls_cipher_get_id
    - override_allowed
    - strlen
    - c_strncasecmp
    - clear_spaces
    - c_strcasecmp
    - _name_val_array_append
    - gnutls_free
    - gnutls_digest_get_id
    - gnutls_strdup
    - gnutls_protocol_get_id
    - gnutls_kx_get_id
    linkageType: ''
    returnType: int
    signature: "int cfg_ini_handler(void *_ctx, const char *section, const char *name,\n\t\t\t
      \  const char *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/priority.c:2075,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2077,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2079,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2084,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2086,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2090,1
    - Dst: gnutls_kx_get_name
      Src: /src/gnutls/lib/priority.c:2091,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2093,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2099,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2101,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2105,1
    - Dst: gnutls_group_get_name
      Src: /src/gnutls/lib/priority.c:2107,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2109,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2115,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2117,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2121,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/priority.c:2123,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2125,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2131,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2133,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2137,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/priority.c:2138,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2140,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2146,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2148,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2152,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/priority.c:2153,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2155,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2161,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2163,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:2167,1
    - Dst: gnutls_protocol_get_name
      Src: /src/gnutls/lib/priority.c:2168,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 1
    argNames:
    - buf
    argTypes:
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 2176
      start: 2069
    functionDepth: 2
    functionLinenumber: 2069
    functionLinenumberEnd: 2176
    functionName: construct_system_wide_priority_string
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_name
    - gnutls_sign_get_name
    - _gnutls_buffer_clear
    - gnutls_group_get_name
    - _gnutls_buffer_append_str
    - gnutls_kx_get_name
    - _gnutls_buffer_init
    - gnutls_mac_get_name
    - gnutls_protocol_get_name
    linkageType: ''
    returnType: int
    signature: int construct_system_wide_priority_string(gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_system_wide_priority_string
      Src: /src/gnutls/lib/priority.c:2185,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2187,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/priority.c:2189,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:2194,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/priority.c:2195,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2178
    functionDepth: 3
    functionLinenumber: 2178
    functionLinenumberEnd: 2199
    functionName: update_system_wide_priority_string
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_strerror
    - construct_system_wide_priority_string
    - _gnutls_buffer_clear
    - gnutls_strdup
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: int update_system_wide_priority_string(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_rdlock
      Src: /src/gnutls/lib/priority.c:2209,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2211,1
    - Dst: stat
      Src: /src/gnutls/lib/priority.c:2214,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2215,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2222,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:2229,1
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:2231,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2233,1
    - Dst: _name_val_array_clear
      Src: /src/gnutls/lib/priority.c:2245,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:2247,1
    - Dst: fopen
      Src: /src/gnutls/lib/priority.c:2250,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2252,1
    - Dst: memset
      Src: /src/gnutls/lib/priority.c:2261,1
    - Dst: ini_parse_file
      Src: /src/gnutls/lib/priority.c:2262,1
    - Dst: fseek
      Src: /src/gnutls/lib/priority.c:2264,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2265,1
    - Dst: exit
      Src: /src/gnutls/lib/priority.c:2268,1
    - Dst: ini_parse_file
      Src: /src/gnutls/lib/priority.c:2270,1
    - Dst: fclose
      Src: /src/gnutls/lib/priority.c:2272,1
    - Dst: ini_ctx_deinit
      Src: /src/gnutls/lib/priority.c:2274,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2275,1
    - Dst: cfg_apply
      Src: /src/gnutls/lib/priority.c:2279,1
    - Dst: ini_ctx_deinit
      Src: /src/gnutls/lib/priority.c:2280,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2281,1
    - Dst: construct_system_wide_priority_string
      Src: /src/gnutls/lib/priority.c:2291,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:2292,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2293,1
    - Dst: update_system_wide_priority_string
      Src: /src/gnutls/lib/priority.c:2296,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2297,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2301,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/priority.c:2303,1
    - Dst: exit
      Src: /src/gnutls/lib/priority.c:2305,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:2314,1
    - Dst: exit
      Src: /src/gnutls/lib/priority.c:2317,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 1
    argNames:
    - defer_system_wide
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 2321
      start: 2201
    functionDepth: 4
    functionLinenumber: 2201
    functionLinenumberEnd: 2321
    functionName: _gnutls_update_system_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - update_system_wide_priority_string
    - _gnutls_buffer_clear
    - ini_ctx_deinit
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    - ini_parse_file
    - fclose
    - cfg_apply
    - construct_system_wide_priority_string
    - memset
    - _gnutls_debug_log
    - fopen
    - exit
    - gnutls_rwlock_rdlock
    - gnutls_rwlock_wrlock
    - _name_val_array_clear
    - fseek
    - gnutls_free
    - gnutls_strerror
    - stat
    linkageType: ''
    returnType: int
    signature: int _gnutls_update_system_priorities(bool defer_system_wide)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/gnutls/lib/priority.c:2328,1
    - Dst: secure_getenv
      Src: /src/gnutls/lib/priority.c:2332,1
    - Dst: _gnutls_update_system_priorities
      Src: /src/gnutls/lib/priority.c:2336,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2338,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/priority.c:2339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2323
    functionDepth: 5
    functionLinenumber: 2323
    functionLinenumberEnd: 2341
    functionName: _gnutls_prepare_to_load_system_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - _gnutls_update_system_priorities
    - secure_getenv
    - gnutls_strerror
    - _gnutls_debug_log
    linkageType: ''
    returnType: void
    signature: void _gnutls_prepare_to_load_system_priorities(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _name_val_array_clear
      Src: /src/gnutls/lib/priority.c:2345,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:2346,1
    - Dst: _clear_default_system_priority
      Src: /src/gnutls/lib/priority.c:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2343
    functionDepth: 2
    functionLinenumber: 2343
    functionLinenumberEnd: 2349
    functionName: _gnutls_unload_system_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - _name_val_array_clear
    - gnutls_free
    - _clear_default_system_priority
    linkageType: ''
    returnType: void
    signature: void _gnutls_unload_system_priorities(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2364
    functionName: gnutls_get_system_config_file
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_get_system_config_file(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isspace
      Src: /src/gnutls/lib/priority.c:2385,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/priority.c:2391,1
    - Dst: strchr
      Src: /src/gnutls/lib/priority.c:2395,1
    - Dst: _gnutls_update_system_priorities
      Src: /src/gnutls/lib/priority.c:2403,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2405,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/priority.c:2406,1
    - Dst: strchr
      Src: /src/gnutls/lib/priority.c:2410,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:2426,1
    - Dst: gnutls_rwlock_rdlock
      Src: /src/gnutls/lib/priority.c:2430,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2432,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/priority.c:2434,1
    - Dst: strncmp
      Src: /src/gnutls/lib/priority.c:2439,1
    - Dst: _name_val_array_value
      Src: /src/gnutls/lib/priority.c:2442,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2447,1
    - Dst: S
      Src: /src/gnutls/lib/priority.c:2448,1
    - Dst: S
      Src: /src/gnutls/lib/priority.c:2448,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:2451,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:2453,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/priority.c:2456,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:2458,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:2461,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:2470,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2476,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2478,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 1
    argNames:
    - priorities
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2375
    functionDepth: 5
    functionLinenumber: 2375
    functionLinenumberEnd: 2482
    functionName: _gnutls_resolve_priorities
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - c_isspace
    - gnutls_strerror
    - gnutls_rwlock_unlock
    - strlen
    - _gnutls_debug_log
    - gnutls_rwlock_rdlock
    - gnutls_malloc
    - strchr
    - gnutls_strdup
    - _name_val_array_value
    - strncmp
    - memcpy
    - _gnutls_update_system_priorities
    - S
    linkageType: ''
    returnType: char
    signature: char *_gnutls_resolve_priorities(const char *priorities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/priority.c:2490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - priority_cache
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 2503
      start: 2484
    functionDepth: 1
    functionLinenumber: 2484
    functionLinenumberEnd: 2503
    functionName: add_ec
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_id_to_group
    linkageType: ''
    returnType: void
    signature: void add_ec(gnutls_priority_t priority_cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/priority.c:2511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - priority_cache
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 2525
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2525
    functionName: add_dh
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_id_to_group
    linkageType: ''
    returnType: void
    signature: void add_dh(gnutls_priority_t priority_cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_rdlock
      Src: /src/gnutls/lib/priority.c:2559,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2561,1
    - Dst: IS_SRP_KX
      Src: /src/gnutls/lib/priority.c:2640,1
    - Dst: _gnutls_kx_is_psk
      Src: /src/gnutls/lib/priority.c:2642,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/priority.c:2654,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/priority.c:2669,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/priority.c:2679,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2712,1
    - Dst: cipher_suite_get
      Src: /src/gnutls/lib/priority.c:2728,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/priority.c:2734,1
    - Dst: _gnutls_digest_is_insecure
      Src: /src/gnutls/lib/priority.c:2737,1
    - Dst: cipher_suite_get
      Src: /src/gnutls/lib/priority.c:2750,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/priority.c:2757,1
    - Dst: _gnutls_digest_is_insecure
      Src: /src/gnutls/lib/priority.c:2760,1
    - Dst: _gnutls_kx_is_ecc
      Src: /src/gnutls/lib/priority.c:2769,1
    - Dst: _gnutls_kx_is_vko_gost
      Src: /src/gnutls/lib/priority.c:2770,1
    - Dst: add_ec
      Src: /src/gnutls/lib/priority.c:2772,1
    - Dst: _gnutls_kx_is_dhe
      Src: /src/gnutls/lib/priority.c:2775,1
    - Dst: add_dh
      Src: /src/gnutls/lib/priority.c:2777,1
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/priority.c:2788,1
    - Dst: add_ec
      Src: /src/gnutls/lib/priority.c:2792,1
    - Dst: add_dh
      Src: /src/gnutls/lib/priority.c:2795,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/priority.c:2806,1
    - Dst: _gnutls_sign_is_secure2
      Src: /src/gnutls/lib/priority.c:2816,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/priority.c:2828,1
    - Dst: memcpy
      Src: /src/gnutls/lib/priority.c:2853,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:2856,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2857,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:2861,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2864,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:2869,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:2870,1
    - Dst: unlikely
      Src: /src/gnutls/lib/priority.c:2878,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/priority.c:2883,1
    - Dst: _gnutls_profile_to_sec_level
      Src: /src/gnutls/lib/priority.c:2897,1
    - Dst: ENABLE_PROFILE
      Src: /src/gnutls/lib/priority.c:2901,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:2907,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 220
    argCount: 1
    argNames:
    - priority_cache
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 2909
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2909
    functionName: set_ciphersuite_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - ENABLE_PROFILE
    - gnutls_rwlock_unlock
    - _gnutls_sign_is_secure2
    - gnutls_assert_val
    - add_dh
    - _gnutls_profile_to_sec_level
    - unlikely
    - _gnutls_debug_log
    - _gnutls_kx_is_psk
    - version_to_entry
    - gnutls_rwlock_rdlock
    - cipher_suite_get
    - _gnutls_kx_is_vko_gost
    - _gnutls_kx_is_ecc
    - _gnutls_kx_is_dhe
    - add_ec
    - _gnutls_id_to_group
    - MAC_TO_DIG
    - memcpy
    - _gnutls_sign_to_entry
    - _gnutls_digest_is_insecure
    - IS_SRP_KX
    linkageType: ''
    returnType: int
    signature: int set_ciphersuite_list(gnutls_priority_t priority_cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3023,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/priority.c:3028,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:3030,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:3033,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3034,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:3037,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:3039,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3040,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/priority.c:3043,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:3045,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3046,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/lib/priority.c:3049,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/priority.c:3060,1
    - Dst: gnutls_priority_init
      Src: /src/gnutls/lib/priority.c:3063,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - priority_cache
    - priorities
    - err_pos
    - flags
    argTypes:
    - gnutls_priority_t*
    - char*
    - char**
    - unsigned
    constantsTouched: []
    func_position:
      end: 3066
      start: 3012
    functionDepth: 2
    functionLinenumber: 3012
    functionLinenumberEnd: 3066
    functionName: gnutls_priority_init2
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 3
    functionsReached:
    - _gnutls_buffer_clear
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - gnutls_priority_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_init2(gnutls_priority_t *priority_cache,\n\t\t\t
      \ const char *priorities, const char **err_pos,\n\t\t\t  unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/priority.c:3109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3111,1
    - Dst: gnutls_atomic_init
      Src: /src/gnutls/lib/priority.c:3125,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/priority.c:3127,1
    - Dst: _gnutls_resolve_priorities
      Src: /src/gnutls/lib/priority.c:3141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3143,1
    - Dst: strcmp
      Src: /src/gnutls/lib/priority.c:3147,1
    - Dst: break_list
      Src: /src/gnutls/lib/priority.c:3150,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/priority.c:3153,1
    - Dst: _set_priority
      Src: /src/gnutls/lib/priority.c:3154,1
    - Dst: _set_priority
      Src: /src/gnutls/lib/priority.c:3155,1
    - Dst: _set_priority
      Src: /src/gnutls/lib/priority.c:3157,1
    - Dst: _set_priority
      Src: /src/gnutls/lib/priority.c:3159,1
    - Dst: _set_priority
      Src: /src/gnutls/lib/priority.c:3161,1
    - Dst: check_level
      Src: /src/gnutls/lib/priority.c:3170,1
    - Dst: check_level
      Src: /src/gnutls/lib/priority.c:3188,1
    - Dst: gnutls_mac_get_id
      Src: /src/gnutls/lib/priority.c:3191,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3194,1
    - Dst: cipher_name_to_entry
      Src: /src/gnutls/lib/priority.c:3195,1
    - Dst: _gnutls_cipher_exists
      Src: /src/gnutls/lib/priority.c:3197,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3198,1
    - Dst: _gnutls_kx_get_id
      Src: /src/gnutls/lib/priority.c:3203,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3207,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3208,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3209,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3210,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3213,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3214,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3220,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3221,1
    - Dst: gnutls_protocol_get_id
      Src: /src/gnutls/lib/priority.c:3224,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3227,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3233,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3237,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3238,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3239,1
    - Dst: gnutls_ecc_curve_get_id
      Src: /src/gnutls/lib/priority.c:3243,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3246,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3252,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3253,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3254,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3257,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3258,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3261,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3262,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3265,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3266,1
    - Dst: _gnutls_group_get_id
      Src: /src/gnutls/lib/priority.c:3270,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3273,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3279,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3281,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3283,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3285,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3287,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3289,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3291,1
    - Dst: gnutls_certificate_type_get_id
      Src: /src/gnutls/lib/priority.c:3294,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3299,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3304,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3306,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3308,1
    - Dst: gnutls_certificate_type_get_id
      Src: /src/gnutls/lib/priority.c:3311,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3316,1
    - Dst: gnutls_certificate_type_get_id
      Src: /src/gnutls/lib/priority.c:3322,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3325,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3328,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3331,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3339,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3340,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3341,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3343,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3344,1
    - Dst: gnutls_sign_get_id
      Src: /src/gnutls/lib/priority.c:3347,1
    - Dst: fn
      Src: /src/gnutls/lib/priority.c:3350,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3356,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3357,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3358,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3360,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3361,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3364,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3365,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3366,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3368,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3369,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3372,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3373,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3374,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3376,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3377,1
    - Dst: PRIO_MATCH
      Src: /src/gnutls/lib/priority.c:3380,1
    - Dst: bulk_given_fn
      Src: /src/gnutls/lib/priority.c:3381,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3384,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3386,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3388,1
    - Dst: bulk_fn
      Src: /src/gnutls/lib/priority.c:3390,1
    - Dst: in_word_set
      Src: /src/gnutls/lib/priority.c:3398,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:3399,1
    - Dst: struct priority_options_st*::func
      Src: /src/gnutls/lib/priority.c:3403,1
    - Dst: set_ciphersuite_list
      Src: /src/gnutls/lib/priority.c:3417,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:3424,1
    - Dst: strlen
      Src: /src/gnutls/lib/priority.c:3432,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:3438,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/lib/priority.c:3439,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 247
    argCount: 3
    argNames:
    - priority_cache
    - priorities
    - err_pos
    argTypes:
    - gnutls_priority_t*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 3443
      start: 3091
    functionDepth: 6
    functionLinenumber: 3091
    functionLinenumberEnd: 3443
    functionName: gnutls_priority_init
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 11
    functionsReached:
    - _gnutls_cipher_exists
    - strcmp
    - bulk_fn
    - _gnutls_resolve_priorities
    - check_level
    - cipher_name_to_entry
    - gnutls_certificate_type_get_id
    - gnutls_mac_get_id
    - gnutls_sign_get_id
    - gnutls_ecc_curve_get_id
    - break_list
    - _gnutls_fips_mode_enabled
    - _gnutls_group_get_id
    - gnutls_calloc
    - set_ciphersuite_list
    - strlen
    - struct priority_options_st*::func
    - fn
    - c_strcasecmp
    - _gnutls_kx_get_id
    - _set_priority
    - gnutls_atomic_init
    - PRIO_MATCH
    - gnutls_free
    - in_word_set
    - gnutls_priority_deinit
    - gnutls_protocol_get_id
    - gnutls_assert
    - bulk_given_fn
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_init(gnutls_priority_t *priority_cache,\n\t\t\t
      const char *priorities, const char **err_pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_atomic_val
      Src: /src/gnutls/lib/priority.c:3464,1
    - Dst: gnutls_atomic_deinit
      Src: /src/gnutls/lib/priority.c:3465,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/priority.c:3466,1
    - Dst: gnutls_atomic_decrement
      Src: /src/gnutls/lib/priority.c:3469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priority_cache
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 3471
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3471
    functionName: gnutls_priority_deinit
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 17
    functionsReached:
    - gnutls_free
    - gnutls_atomic_val
    - gnutls_atomic_decrement
    - gnutls_atomic_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_priority_deinit(gnutls_priority_t priority_cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_init
      Src: /src/gnutls/lib/priority.c:3496,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3498,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/lib/priority.c:3502,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3504,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/lib/priority.c:3509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - session
    - priorities
    - err_pos
    argTypes:
    - gnutls_session_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 3512
      start: 3490
    functionDepth: 7
    functionLinenumber: 3490
    functionLinenumberEnd: 3512
    functionName: gnutls_priority_set_direct
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 431
    functionsReached:
    - gnutls_priority_deinit
    - gnutls_assert
    - gnutls_priority_init
    - gnutls_priority_set
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_set_direct(gnutls_session_t session, const char
      *priorities,\n\t\t\t       const char **err_pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/lib/priority.c:3528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - list
    - broken_list
    - size
    argTypes:
    - char*
    - char*[]
    - int*
    constantsTouched: []
    func_position:
      end: 3538
      start: 3517
    functionDepth: 0
    functionLinenumber: 3517
    functionLinenumberEnd: 3538
    functionName: break_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void break_list(char *list, char *broken_list[MAX_ELEMENTS], int *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/lib/priority.c:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 3567
      start: 3564
    functionDepth: 8
    functionLinenumber: 3564
    functionLinenumberEnd: 3567
    functionName: gnutls_set_default_priority
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 18
    functionsReached:
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: int
    signature: int gnutls_set_default_priority(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_init2
      Src: /src/gnutls/lib/priority.c:3602,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3605,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/lib/priority.c:3609,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/priority.c:3611,1
    - Dst: gnutls_priority_deinit
      Src: /src/gnutls/lib/priority.c:3616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - session
    - add_prio
    - err_pos
    - flags
    argTypes:
    - gnutls_session_t
    - char*
    - char**
    - unsigned
    constantsTouched: []
    func_position:
      end: 3619
      start: 3595
    functionDepth: 3
    functionLinenumber: 3595
    functionLinenumberEnd: 3619
    functionName: gnutls_set_default_priority_append
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 3
    functionsReached:
    - gnutls_priority_init2
    - gnutls_assert
    - gnutls_priority_deinit
    - gnutls_priority_set
    linkageType: ''
    returnType: int
    signature: "int gnutls_set_default_priority_append(gnutls_session_t session,\n\t\t\t\t
      \      const char *add_prio,\n\t\t\t\t       const char **err_pos, unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3653
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3653
    functionName: gnutls_priority_ecc_curve_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_ecc_curve_list(gnutls_priority_t pcache,\n\t\t\t\t
      \  const unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3675
      start: 3667
    functionDepth: 0
    functionLinenumber: 3667
    functionLinenumberEnd: 3675
    functionName: gnutls_priority_group_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_group_list(gnutls_priority_t pcache,\n\t\t\t       const
      unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3695
      start: 3688
    functionDepth: 0
    functionLinenumber: 3688
    functionLinenumberEnd: 3695
    functionName: gnutls_priority_kx_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_priority_kx_list(gnutls_priority_t pcache, const unsigned
      int **list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3716
      start: 3708
    functionDepth: 0
    functionLinenumber: 3708
    functionLinenumberEnd: 3716
    functionName: gnutls_priority_cipher_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_cipher_list(gnutls_priority_t pcache,\n\t\t\t\tconst
      unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3737
      start: 3729
    functionDepth: 0
    functionLinenumber: 3729
    functionLinenumberEnd: 3737
    functionName: gnutls_priority_mac_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_mac_list(gnutls_priority_t pcache,\n\t\t\t     const
      unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3757
      start: 3750
    functionDepth: 0
    functionLinenumber: 3750
    functionLinenumberEnd: 3757
    functionName: gnutls_priority_compression_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_compression_list(gnutls_priority_t pcache,\n\t\t\t\t
      \    const unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3778
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3778
    functionName: gnutls_priority_protocol_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_protocol_list(gnutls_priority_t pcache,\n\t\t\t\t
      \ const unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3799
      start: 3791
    functionDepth: 0
    functionLinenumber: 3791
    functionLinenumberEnd: 3799
    functionName: gnutls_priority_sign_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_sign_list(gnutls_priority_t pcache,\n\t\t\t      const
      unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_priority_certificate_type_list2
      Src: /src/gnutls/lib/priority.c:3825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcache
    - list
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    constantsTouched: []
    func_position:
      end: 3826
      start: 3818
    functionDepth: 1
    functionLinenumber: 3818
    functionLinenumberEnd: 3826
    functionName: gnutls_priority_certificate_type_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - gnutls_priority_certificate_type_list2
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_certificate_type_list(gnutls_priority_t pcache,\n\t\t\t\t\t
      \ const unsigned int **list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pcache
    - list
    - target
    argTypes:
    - gnutls_priority_t
    - unsigned int**
    - gnutls_ctype_target_t
    constantsTouched: []
    func_position:
      end: 3866
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 3866
    functionName: gnutls_priority_certificate_type_list2
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_certificate_type_list2(gnutls_priority_t pcache,\n\t\t\t\t\t
      \  const unsigned int **list,\n\t\t\t\t\t   gnutls_ctype_target_t target)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - flags
    argTypes:
    - unsigned
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3893
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3893
    functionName: gnutls_priority_string_list
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_priority_string_list(unsigned iter, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3898
      start: 3895
    functionDepth: 0
    functionLinenumber: 3895
    functionLinenumberEnd: 3898
    functionName: _gnutls_config_is_ktls_enabled
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_config_is_ktls_enabled(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/priority.c:3908,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/priority.c:3912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3904
    functionDepth: 2
    functionLinenumber: 3904
    functionLinenumberEnd: 3917
    functionName: system_wide_config_is_malleable
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - _gnutls_audit_log
    linkageType: ''
    returnType: bool
    signature: bool system_wide_config_is_malleable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:3935,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:3937,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3938,1
    - Dst: system_wide_config_is_malleable
      Src: /src/gnutls/lib/priority.c:3940,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:3941,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3942,1
    - Dst: cfg_hashes_add
      Src: /src/gnutls/lib/priority.c:3946,1
    - Dst: cfg_hashes_remove
      Src: /src/gnutls/lib/priority.c:3948,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:3951,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dig
    - secure
    argTypes:
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3956
      start: 3931
    functionDepth: 3
    functionLinenumber: 3931
    functionLinenumberEnd: 3956
    functionName: gnutls_digest_set_secure
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - cfg_hashes_remove
    - cfg_hashes_add
    - gnutls_rwlock_wrlock
    - system_wide_config_is_malleable
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_digest_set_secure(gnutls_digest_algorithm_t dig, unsigned
      int secure)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:3989,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:3991,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3992,1
    - Dst: system_wide_config_is_malleable
      Src: /src/gnutls/lib/priority.c:3994,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:3995,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:3996,1
    - Dst: cfg_sigs_add
      Src: /src/gnutls/lib/priority.c:4000,1
    - Dst: cfg_sigs_remove
      Src: /src/gnutls/lib/priority.c:4002,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4004,1
    - Dst: cfg_sigs_for_cert_remove
      Src: /src/gnutls/lib/priority.c:4008,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4011,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sign
    - secure
    argTypes:
    - gnutls_sign_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4016
      start: 3985
    functionDepth: 3
    functionLinenumber: 3985
    functionLinenumberEnd: 4016
    functionName: gnutls_sign_set_secure
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - cfg_sigs_add
    - cfg_sigs_remove
    - gnutls_rwlock_wrlock
    - system_wide_config_is_malleable
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    - cfg_sigs_for_cert_remove
    linkageType: ''
    returnType: int
    signature: int gnutls_sign_set_secure(gnutls_sign_algorithm_t sign, unsigned int
      secure)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:4051,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4053,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4054,1
    - Dst: system_wide_config_is_malleable
      Src: /src/gnutls/lib/priority.c:4056,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4057,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4058,1
    - Dst: cfg_sigs_add
      Src: /src/gnutls/lib/priority.c:4063,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4065,1
    - Dst: cfg_sigs_for_cert_add
      Src: /src/gnutls/lib/priority.c:4068,1
    - Dst: cfg_sigs_for_cert_remove
      Src: /src/gnutls/lib/priority.c:4070,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4073,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sign
    - secure
    argTypes:
    - gnutls_sign_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4078
      start: 4046
    functionDepth: 3
    functionLinenumber: 4046
    functionLinenumberEnd: 4078
    functionName: gnutls_sign_set_secure_for_certs
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 0
    functionsReached:
    - cfg_sigs_for_cert_add
    - cfg_sigs_add
    - gnutls_rwlock_wrlock
    - system_wide_config_is_malleable
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    - cfg_sigs_for_cert_remove
    linkageType: ''
    returnType: int
    signature: "int gnutls_sign_set_secure_for_certs(gnutls_sign_algorithm_t sign,\n\t\t\t\t
      \    unsigned int secure)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:4109,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4112,1
    - Dst: system_wide_config_is_malleable
      Src: /src/gnutls/lib/priority.c:4114,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4116,1
    - Dst: cfg_versions_add
      Src: /src/gnutls/lib/priority.c:4120,1
    - Dst: cfg_versions_remove
      Src: /src/gnutls/lib/priority.c:4122,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - version
    - enabled
    argTypes:
    - gnutls_protocol_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4130
      start: 4103
    functionDepth: 3
    functionLinenumber: 4103
    functionLinenumberEnd: 4130
    functionName: gnutls_protocol_set_enabled
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 2
    functionsReached:
    - cfg_versions_remove
    - cfg_versions_add
    - gnutls_rwlock_wrlock
    - system_wide_config_is_malleable
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_protocol_set_enabled(gnutls_protocol_t version, unsigned
      int enabled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rwlock_wrlock
      Src: /src/gnutls/lib/priority.c:4159,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4162,1
    - Dst: system_wide_config_is_malleable
      Src: /src/gnutls/lib/priority.c:4164,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4166,1
    - Dst: cfg_ecc_curves_add
      Src: /src/gnutls/lib/priority.c:4170,1
    - Dst: cfg_ecc_curves_remove
      Src: /src/gnutls/lib/priority.c:4172,1
    - Dst: gnutls_rwlock_unlock
      Src: /src/gnutls/lib/priority.c:4175,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/priority.c:4178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - curve
    - enabled
    argTypes:
    - gnutls_ecc_curve_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4180
      start: 4155
    functionDepth: 3
    functionLinenumber: 4155
    functionLinenumberEnd: 4180
    functionName: gnutls_ecc_curve_set_enabled
    functionSourceFile: /src/gnutls/lib/priority.c
    functionUses: 1
    functionsReached:
    - cfg_ecc_curves_add
    - cfg_ecc_curves_remove
    - gnutls_rwlock_wrlock
    - system_wide_config_is_malleable
    - gnutls_rwlock_unlock
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve, unsigned
      int enabled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnutls/lib/inih/ini.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: rstrip
    functionSourceFile: /src/gnutls/lib/inih/ini.c
    functionUses: 2
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *rstrip(char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/gnutls/lib/inih/ini.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: lskip
    functionSourceFile: /src/gnutls/lib/inih/ini.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: char *lskip(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/lib/inih/ini.c:51,1
    - Dst: strchr
      Src: /src/gnutls/lib/inih/ini.c:52,1
    - Dst: isspace
      Src: /src/gnutls/lib/inih/ini.c:53,1
    - Dst: strchr
      Src: /src/gnutls/lib/inih/ini.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - s
    - chars
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: find_chars_or_comment
    functionSourceFile: /src/gnutls/lib/inih/ini.c
    functionUses: 0
    functionsReached:
    - isspace
    - strchr
    linkageType: ''
    returnType: char
    signature: char *find_chars_or_comment(const char *s, const char *chars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gnutls/lib/inih/ini.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: strncpy0
    functionSourceFile: /src/gnutls/lib/inih/ini.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: char
    signature: char *strncpy0(char *dest, const char *src, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/lib/inih/ini.c:97,1
    - Dst: fgets
      Src: /src/gnutls/lib/inih/ini.c:110,1
    - Dst: strlen
      Src: /src/gnutls/lib/inih/ini.c:113,1
    - Dst: realloc
      Src: /src/gnutls/lib/inih/ini.c:118,1
    - Dst: free
      Src: /src/gnutls/lib/inih/ini.c:120,1
    - Dst: fgets
      Src: /src/gnutls/lib/inih/ini.c:124,1
    - Dst: strlen
      Src: /src/gnutls/lib/inih/ini.c:129,1
    - Dst: lskip
      Src: /src/gnutls/lib/inih/ini.c:143,1
    - Dst: rstrip
      Src: /src/gnutls/lib/inih/ini.c:143,1
    - Dst: strchr
      Src: /src/gnutls/lib/inih/ini.c:145,1
    - Dst: HANDLER
      Src: /src/gnutls/lib/inih/ini.c:152,1
    - Dst: find_chars_or_comment
      Src: /src/gnutls/lib/inih/ini.c:158,1
    - Dst: strncpy0
      Src: /src/gnutls/lib/inih/ini.c:161,1
    - Dst: find_chars_or_comment
      Src: /src/gnutls/lib/inih/ini.c:169,1
    - Dst: rstrip
      Src: /src/gnutls/lib/inih/ini.c:172,1
    - Dst: find_chars_or_comment
      Src: /src/gnutls/lib/inih/ini.c:175,1
    - Dst: lskip
      Src: /src/gnutls/lib/inih/ini.c:179,1
    - Dst: rstrip
      Src: /src/gnutls/lib/inih/ini.c:180,1
    - Dst: strncpy0
      Src: /src/gnutls/lib/inih/ini.c:183,1
    - Dst: HANDLER
      Src: /src/gnutls/lib/inih/ini.c:184,1
    - Dst: free
      Src: /src/gnutls/lib/inih/ini.c:199,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 3
    argNames:
    - file
    - handler
    - user
    argTypes:
    - FILE*
    - ini_handler
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 203
    functionName: ini_parse_file
    functionSourceFile: /src/gnutls/lib/inih/ini.c
    functionUses: 2
    functionsReached:
    - strncpy0
    - strlen
    - find_chars_or_comment
    - free
    - lskip
    - rstrip
    - strchr
    - HANDLER
    - fgets
    - malloc
    - realloc
    linkageType: ''
    returnType: int
    signature: int ini_parse_file(FILE *file, ini_handler handler, void *user)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/system/certs.c:66,1
    - Dst: snprintf
      Src: /src/gnutls/lib/system/certs.c:76,1
    - Dst: getpwuid_r
      Src: /src/gnutls/lib/system/certs.c:89,1
    - Dst: getuid
      Src: /src/gnutls/lib/system/certs.c:89,1
    - Dst: snprintf
      Src: /src/gnutls/lib/system/certs.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - path
    - max_size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 104
    functionName: _gnutls_find_config_path
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 3
    functionsReached:
    - getpwuid_r
    - snprintf
    - getuid
    linkageType: ''
    returnType: int
    signature: int _gnutls_find_config_path(char *path, size_t max_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/system/certs.c:120,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/system/certs.c:128,1
    - Dst: gnutls_x509_trust_list_remove_trust_file
      Src: /src/gnutls/lib/system/certs.c:136,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/certs.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - list
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: add_system_trust
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 4
    functionsReached:
    - _gnutls_debug_log
    - gnutls_x509_trust_list_remove_trust_file
    - gnutls_x509_trust_list_add_trust_file
    linkageType: ''
    returnType: int
    signature: "int add_system_trust(gnutls_x509_trust_list_t list,\n\t\t\t    unsigned
      int tl_flags, unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/certs.c:160,1
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/certs.c:164,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/lib/system/certs.c:171,1
    - Dst: pCertEnumCRLsInStore
      Src: /src/gnutls/lib/system/certs.c:172,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/system/certs.c:178,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/lib/system/certs.c:184,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/system/certs.c:191,1
    - Dst: pCertEnumCRLsInStore
      Src: /src/gnutls/lib/system/certs.c:195,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/certs.c:197,1
    - Dst: gnutls_x509_trust_list_remove_trust_file
      Src: /src/gnutls/lib/system/certs.c:201,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/certs.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - list
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 210
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 210
    functionName: add_system_trust
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 4
    functionsReached:
    - CertCloseStore
    - pCertEnumCRLsInStore
    - gnutls_x509_trust_list_add_trust_mem
    - CertOpenStore
    - gnutls_x509_trust_list_remove_trust_file
    - _gnutls_debug_log
    - CertEnumCertificatesInStore
    linkageType: ''
    returnType: int
    signature: "int add_system_trust(gnutls_x509_trust_list_t list,\n\t\t\t    unsigned
      int tl_flags, unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnutls/lib/system/certs.c:230,1
    - Dst: _gnutls_pathbuf_init
      Src: /src/gnutls/lib/system/certs.c:234,1
    - Dst: readdir
      Src: /src/gnutls/lib/system/certs.c:240,1
    - Dst: _gnutls_pathbuf_append
      Src: /src/gnutls/lib/system/certs.c:244,1
    - Dst: gnutls_x509_trust_list_remove_trust_file
      Src: /src/gnutls/lib/system/certs.c:248,1
    - Dst: _gnutls_pathbuf_truncate
      Src: /src/gnutls/lib/system/certs.c:253,1
    - Dst: _gnutls_pathbuf_deinit
      Src: /src/gnutls/lib/system/certs.c:255,1
    - Dst: closedir
      Src: /src/gnutls/lib/system/certs.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - list
    - type
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 260
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 260
    functionName: load_revoked_certs
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 0
    functionsReached:
    - _gnutls_pathbuf_deinit
    - closedir
    - readdir
    - _gnutls_pathbuf_truncate
    - opendir
    - _gnutls_pathbuf_init
    - _gnutls_pathbuf_append
    - gnutls_x509_trust_list_remove_trust_file
    linkageType: ''
    returnType: int
    signature: int load_revoked_certs(gnutls_x509_trust_list_t list, unsigned type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_add_trust_dir
      Src: /src/gnutls/lib/system/certs.c:270,1
    - Dst: load_revoked_certs
      Src: /src/gnutls/lib/system/certs.c:278,1
    - Dst: gnutls_x509_trust_list_add_trust_dir
      Src: /src/gnutls/lib/system/certs.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - list
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 290
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 290
    functionName: add_system_trust
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_trust_list_add_trust_dir
    - load_revoked_certs
    linkageType: ''
    returnType: int
    signature: "int add_system_trust(gnutls_x509_trust_list_t list,\n\t\t\t    unsigned
      int tl_flags, unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecCopyErrorMessageString
      Src: /src/gnutls/lib/system/certs.c:294,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/certs.c:295,1
    - Dst: CFStringGetCStringPtr
      Src: /src/gnutls/lib/system/certs.c:296,1
    - Dst: CFRelease
      Src: /src/gnutls/lib/system/certs.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - OSStatus
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: osstatus_error
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - CFRelease
    - SecCopyErrorMessageString
    - CFStringGetCStringPtr
    linkageType: ''
    returnType: int
    signature: int osstatus_error(OSStatus status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecTrustSettingsCopyCertificates
      Src: /src/gnutls/lib/system/certs.c:313,1
    - Dst: osstatus_error
      Src: /src/gnutls/lib/system/certs.c:317,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/gnutls/lib/system/certs.c:322,1
    - Dst: SecItemExport
      Src: /src/gnutls/lib/system/certs.c:324,1
    - Dst: CFRelease
      Src: /src/gnutls/lib/system/certs.c:327,1
    - Dst: CFRelease
      Src: /src/gnutls/lib/system/certs.c:328,1
    - Dst: osstatus_error
      Src: /src/gnutls/lib/system/certs.c:329,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/system/certs.c:332,1
    - Dst: CFDataGetBytePtr
      Src: /src/gnutls/lib/system/certs.c:335,1
    - Dst: CFDataGetLength
      Src: /src/gnutls/lib/system/certs.c:337,1
    - Dst: CFRelease
      Src: /src/gnutls/lib/system/certs.c:342,1
    - Dst: CFRelease
      Src: /src/gnutls/lib/system/certs.c:344,1
    - Dst: gnutls_x509_trust_list_remove_trust_file
      Src: /src/gnutls/lib/system/certs.c:348,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/certs.c:351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - list
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 357
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 357
    functionName: add_system_trust
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 4
    functionsReached:
    - CFArrayGetValueAtIndex
    - gnutls_x509_trust_list_add_trust_mem
    - CFDataGetLength
    - CFDataGetBytePtr
    - SecItemExport
    - osstatus_error
    - SecTrustSettingsCopyCertificates
    - gnutls_x509_trust_list_remove_trust_file
    - _gnutls_debug_log
    - CFRelease
    linkageType: ''
    returnType: int
    signature: "int add_system_trust(gnutls_x509_trust_list_t list,\n\t\t\t    unsigned
      int tl_flags, unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_system_trust
      Src: /src/gnutls/lib/system/certs.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: gnutls_x509_trust_list_add_system_trust
    functionSourceFile: /src/gnutls/lib/system/certs.c
    functionUses: 4
    functionsReached:
    - add_system_trust
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t    unsigned int tl_flags,\n\t\t\t\t\t    unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/lib/system/threads.c:43,1
    - Dst: glthread_lock_init
      Src: /src/gnutls/lib/system/threads.c:49,1
    - Dst: free
      Src: /src/gnutls/lib/system/threads.c:50,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/threads.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: gnutls_system_mutex_init
    functionSourceFile: /src/gnutls/lib/system/threads.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - gnutls_assert_val
    - glthread_lock_init
    linkageType: ''
    returnType: int
    signature: int gnutls_system_mutex_init(void **priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_destroy
      Src: /src/gnutls/lib/system/threads.c:60,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/threads.c:61,1
    - Dst: free
      Src: /src/gnutls/lib/system/threads.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: gnutls_system_mutex_deinit
    functionSourceFile: /src/gnutls/lib/system/threads.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_assert_val
    - glthread_lock_destroy
    linkageType: ''
    returnType: int
    signature: int gnutls_system_mutex_deinit(void **priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_lock
      Src: /src/gnutls/lib/system/threads.c:69,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/threads.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: gnutls_system_mutex_lock
    functionSourceFile: /src/gnutls/lib/system/threads.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - glthread_lock_lock
    linkageType: ''
    returnType: int
    signature: int gnutls_system_mutex_lock(void **priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_unlock
      Src: /src/gnutls/lib/system/threads.c:77,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/threads.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: gnutls_system_mutex_unlock
    functionSourceFile: /src/gnutls/lib/system/threads.c
    functionUses: 0
    functionsReached:
    - glthread_lock_unlock
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_system_mutex_unlock(void **priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - WCHAR*
    - WCHAR*
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: StrCmpW
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int StrCmpW(const WCHAR *str1, const WCHAR *str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/lib/system/keys-win.c:189,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:190,1
    - Dst: strncmp
      Src: /src/gnutls/lib/system/keys-win.c:193,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:194,1
    - Dst: strstr
      Src: /src/gnutls/lib/system/keys-win.c:199,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:201,1
    - Dst: strchr
      Src: /src/gnutls/lib/system/keys-win.c:204,1
    - Dst: strlen
      Src: /src/gnutls/lib/system/keys-win.c:206,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/lib/system/keys-win.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - url
    - bin
    - bin_size
    - cert
    argTypes:
    - char*
    - uint8_t*
    - size_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: get_id
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 26
    functionsReached:
    - strlen
    - gnutls_hex_decode
    - strchr
    - strstr
    - strncmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int get_id(const char *url, uint8_t *bin, size_t *bin_size,\n\t\t
      \ unsigned cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pvData
    - cbData
    argTypes:
    - unsigned char*
    - DWORD
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: memrev
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memrev(unsigned char *pvData, DWORD cbData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_ber_digest_info
      Src: /src/gnutls/lib/system/keys-win.c:275,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:299,1
    - Dst: CryptCreateHash
      Src: /src/gnutls/lib/system/keys-win.c:304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:305,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:306,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:307,1
    - Dst: CryptSetHashParam
      Src: /src/gnutls/lib/system/keys-win.c:312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:313,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:314,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:315,1
    - Dst: CryptGetHashParam
      Src: /src/gnutls/lib/system/keys-win.c:320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:323,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:324,1
    - Dst: CryptSignHash
      Src: /src/gnutls/lib/system/keys-win.c:329,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:330,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:331,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:332,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:338,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:341,1
    - Dst: CryptSignHash
      Src: /src/gnutls/lib/system/keys-win.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:345,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:346,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:347,1
    - Dst: memrev
      Src: /src/gnutls/lib/system/keys-win.c:352,1
    - Dst: CryptDestroyHash
      Src: /src/gnutls/lib/system/keys-win.c:354,1
    - Dst: CryptDestroyHash
      Src: /src/gnutls/lib/system/keys-win.c:360,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:361,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 97
    argCount: 4
    argNames:
    - key
    - userdata
    - raw_data
    - signature
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 363
    functionName: capi_sign
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - CryptCreateHash
    - memrev
    - GetLastError
    - CryptSignHash
    - CryptGetHashParam
    - CryptDestroyHash
    - gnutls_assert
    - CryptSetHashParam
    - gnutls_malloc
    - _gnutls_debug_log
    - gnutls_assert_val
    - decode_ber_digest_info
    linkageType: ''
    returnType: int
    signature: "int capi_sign(gnutls_privkey_t key, void *userdata,\n\t\t     const
      gnutls_datum_t *raw_data, gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:377,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:383,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/keys-win.c:387,1
    - Dst: CryptDecrypt
      Src: /src/gnutls/lib/system/keys-win.c:388,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:390,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - key
    - userdata
    - ciphertext
    - plaintext
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: capi_decrypt
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - memcpy
    - gnutls_assert_val
    - CryptDecrypt
    linkageType: ''
    returnType: int
    signature: "int capi_decrypt(gnutls_privkey_t key, void *userdata,\n\t\t\tconst
      gnutls_datum_t *ciphertext,\n\t\t\tgnutls_datum_t *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptReleaseContext
      Src: /src/gnutls/lib/system/keys-win.c:404,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: capi_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void capi_deinit(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - key
    - flags
    - userdata
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: capi_info
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int capi_info(gnutls_privkey_t key, unsigned int flags, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContextW
      Src: /src/gnutls/lib/system/keys-win.c:426,1
    - Dst: CryptSetProvParam
      Src: /src/gnutls/lib/system/keys-win.c:430,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:434,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:438,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:442,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:443,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:444,1
    - Dst: CryptGetProvParam
      Src: /src/gnutls/lib/system/keys-win.c:453,1
    - Dst: CryptGetProvParam
      Src: /src/gnutls/lib/system/keys-win.c:478,1
    - Dst: gnutls_privkey_import_ext3
      Src: /src/gnutls/lib/system/keys-win.c:493,1
    - Dst: CryptReleaseContext
      Src: /src/gnutls/lib/system/keys-win.c:499,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - pkey
    - url
    - priv
    - kpi
    argTypes:
    - gnutls_privkey_t
    - char*
    - priv_st*
    - CRYPT_KEY_PROV_INFO*
    constantsTouched: []
    func_position:
      end: 502
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 502
    functionName: privkey_import_capi
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - CryptSetProvParam
    - CryptAcquireContextW
    - gnutls_privkey_import_ext3
    - CryptGetProvParam
    - _gnutls_debug_log
    - CryptReleaseContext
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int privkey_import_capi(gnutls_privkey_t pkey, const char *url,\n\t\t\t
      \      priv_st *priv, CRYPT_KEY_PROV_INFO *kpi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_ber_digest_info
      Src: /src/gnutls/lib/system/keys-win.c:531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:534,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:555,1
    - Dst: pNCryptSignHash
      Src: /src/gnutls/lib/system/keys-win.c:563,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:566,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:567,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:568,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:574,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:576,1
    - Dst: pNCryptSignHash
      Src: /src/gnutls/lib/system/keys-win.c:578,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:580,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:581,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:582,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:583,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:592,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 4
    argNames:
    - key
    - userdata
    - raw_data
    - signature
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 594
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 594
    functionName: cng_sign
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - GetLastError
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_malloc
    - pNCryptSignHash
    - FAILED
    - gnutls_assert_val
    - decode_ber_digest_info
    linkageType: ''
    returnType: int
    signature: "int cng_sign(gnutls_privkey_t key, void *userdata,\n\t\t    const
      gnutls_datum_t *raw_data, gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:609,1
    - Dst: pNCryptDecrypt
      Src: /src/gnutls/lib/system/keys-win.c:612,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:614,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:615,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:620,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:622,1
    - Dst: pNCryptDecrypt
      Src: /src/gnutls/lib/system/keys-win.c:626,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:629,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:630,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - key
    - userdata
    - ciphertext
    - plaintext
    argTypes:
    - gnutls_privkey_t
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 640
    functionName: cng_decrypt
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pNCryptDecrypt
    - gnutls_malloc
    - FAILED
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int cng_decrypt(gnutls_privkey_t key, void *userdata,\n\t\t       const
      gnutls_datum_t *ciphertext,\n\t\t       gnutls_datum_t *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pNCryptFreeObject
      Src: /src/gnutls/lib/system/keys-win.c:645,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - userdata
    argTypes:
    - gnutls_privkey_t
    - void*
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: cng_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - pNCryptFreeObject
    linkageType: ''
    returnType: void
    signature: void cng_deinit(gnutls_privkey_t key, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - key
    - flags
    - userdata
    argTypes:
    - gnutls_privkey_t
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: cng_info
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cng_info(gnutls_privkey_t key, unsigned int flags, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pNCryptOpenKey
      Src: /src/gnutls/lib/system/keys-win.c:670,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:671,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:672,1
    - Dst: pNCryptGetProperty
      Src: /src/gnutls/lib/system/keys-win.c:676,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:678,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:679,1
    - Dst: StrCmpW
      Src: /src/gnutls/lib/system/keys-win.c:683,1
    - Dst: StrCmpW
      Src: /src/gnutls/lib/system/keys-win.c:687,1
    - Dst: StrCmpW
      Src: /src/gnutls/lib/system/keys-win.c:690,1
    - Dst: StrCmpW
      Src: /src/gnutls/lib/system/keys-win.c:693,1
    - Dst: StrCmpW
      Src: /src/gnutls/lib/system/keys-win.c:696,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:700,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:701,1
    - Dst: gnutls_privkey_import_ext3
      Src: /src/gnutls/lib/system/keys-win.c:706,1
    - Dst: pNCryptFreeObject
      Src: /src/gnutls/lib/system/keys-win.c:712,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - pkey
    - url
    - priv
    - kpi
    - sctx
    argTypes:
    - gnutls_privkey_t
    - char*
    - priv_st*
    - CRYPT_KEY_PROV_INFO*
    - NCRYPT_PROV_HANDLE*
    constantsTouched: []
    func_position:
      end: 715
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 715
    functionName: privkey_import_ncrypt
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - pNCryptFreeObject
    - pNCryptGetProperty
    - _gnutls_debug_log
    - pNCryptOpenKey
    - gnutls_privkey_import_ext3
    - FAILED
    - gnutls_assert_val
    - StrCmpW
    linkageType: ''
    returnType: int
    signature: "int privkey_import_ncrypt(gnutls_privkey_t pkey, const char *url,\n\t\t\t\t
      priv_st *priv, CRYPT_KEY_PROV_INFO *kpi,\n\t\t\t\t NCRYPT_PROV_HANDLE *sctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/gnutls/lib/system/keys-win.c:733,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:735,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:750,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:753,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/system/keys-win.c:755,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:757,1
    - Dst: get_id
      Src: /src/gnutls/lib/system/keys-win.c:760,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:762,1
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/keys-win.c:767,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:770,1
    - Dst: CertFindCertificateInStore
      Src: /src/gnutls/lib/system/keys-win.c:775,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:781,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/system/keys-win.c:782,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:785,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/gnutls/lib/system/keys-win.c:790,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:793,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:794,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:795,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:799,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:801,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/gnutls/lib/system/keys-win.c:806,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:809,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/system/keys-win.c:810,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:811,1
    - Dst: pNCryptOpenStorageProvider
      Src: /src/gnutls/lib/system/keys-win.c:815,1
    - Dst: FAILED
      Src: /src/gnutls/lib/system/keys-win.c:816,1
    - Dst: privkey_import_ncrypt
      Src: /src/gnutls/lib/system/keys-win.c:818,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:820,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/gnutls/lib/system/keys-win.c:824,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:826,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:829,1
    - Dst: privkey_import_capi
      Src: /src/gnutls/lib/system/keys-win.c:833,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:835,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:843,1
    - Dst: pNCryptFreeObject
      Src: /src/gnutls/lib/system/keys-win.c:846,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:848,1
    - Dst: CertFreeCertificateContext
      Src: /src/gnutls/lib/system/keys-win.c:851,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/keys-win.c:853,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 2
    argNames:
    - pkey
    - url
    argTypes:
    - gnutls_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 856
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 856
    functionName: _gnutls_privkey_import_system_url
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - pNCryptFreeObject
    - gnutls_malloc
    - CertFindCertificateInStore
    - gnutls_assert_val
    - privkey_import_ncrypt
    - CertFreeCertificateContext
    - FAILED
    - _gnutls_debug_log
    - WINAPI_FAMILY_PARTITION
    - CertGetCertificateContextProperty
    - gnutls_calloc
    - CertCloseStore
    - GetLastError
    - CertOpenStore
    - pNCryptOpenStorageProvider
    - _gnutls_bin2hex
    - gnutls_free
    - get_id
    - privkey_import_capi
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const
      char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:869,1
    - Dst: get_id
      Src: /src/gnutls/lib/system/keys-win.c:872,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:874,1
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/keys-win.c:879,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:882,1
    - Dst: CertFindCertificateInStore
      Src: /src/gnutls/lib/system/keys-win.c:887,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/keys-win.c:893,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/system/keys-win.c:894,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:897,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/system/keys-win.c:904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:906,1
    - Dst: CertFreeCertificateContext
      Src: /src/gnutls/lib/system/keys-win.c:913,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/keys-win.c:915,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - crt
    - url
    argTypes:
    - gnutls_x509_crt_t
    - char*
    constantsTouched: []
    func_position:
      end: 917
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 917
    functionName: _gnutls_x509_crt_import_system_url
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - CertCloseStore
    - gnutls_x509_crt_import
    - CertFreeCertificateContext
    - gnutls_assert
    - CertOpenStore
    - get_id
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_bin2hex
    - CertFindCertificateInStore
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const
      char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertFreeCertificateContext
      Src: /src/gnutls/lib/system/keys-win.c:932,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/keys-win.c:933,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - gnutls_system_key_iter_t
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: gnutls_system_key_iter_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - CertCloseStore
    - gnutls_free
    - CertFreeCertificateContext
    linkageType: ''
    returnType: void
    signature: void gnutls_system_key_iter_deinit(gnutls_system_key_iter_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:954,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/keys-win.c:957,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:959,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/keys-win.c:961,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/system/keys-win.c:965,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/gnutls/lib/system/keys-win.c:974,1
    - Dst: _gnutls_ucs2_to_utf8
      Src: /src/gnutls/lib/system/keys-win.c:977,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:980,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/gnutls/lib/system/keys-win.c:988,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:991,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/system/keys-win.c:996,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:997,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/system/keys-win.c:1001,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1004,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/system/keys-win.c:1009,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1011,1
    - Dst: _gnutls_buffer_append_escape
      Src: /src/gnutls/lib/system/keys-win.c:1015,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1018,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/system/keys-win.c:1023,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1025,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/system/keys-win.c:1031,1
    - Dst: _gnutls_buffer_append_printf
      Src: /src/gnutls/lib/system/keys-win.c:1033,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1036,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/system/keys-win.c:1041,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1043,1
    - Dst: _gnutls_buffer_append_escape
      Src: /src/gnutls/lib/system/keys-win.c:1047,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1050,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/system/keys-win.c:1055,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1057,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/system/keys-win.c:1063,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1070,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1072,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1074,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1076,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/system/keys-win.c:1078,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 5
    argNames:
    - cert
    - cert_url
    - key_url
    - label
    - der
    argTypes:
    - CERT_CONTEXT*
    - char**
    - char**
    - char**
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1080
      start: 937
    functionDepth: 5
    functionLinenumber: 937
    functionLinenumberEnd: 1080
    functionName: get_win_urls
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_free
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_buffer_append_printf
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - _gnutls_buffer_clear
    - _gnutls_ucs2_to_utf8
    - _gnutls_buffer_append_escape
    - memcpy
    - _gnutls_bin2hex
    - CertGetCertificateContextProperty
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int get_win_urls(const CERT_CONTEXT *cert, char **cert_url,\n\t\t\tchar
      **key_url, char **label, gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1112,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1114,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/system/keys-win.c:1117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1119,1
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/keys-win.c:1121,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1127,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/lib/system/keys-win.c:1132,1
    - Dst: get_win_urls
      Src: /src/gnutls/lib/system/keys-win.c:1134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1138,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/gnutls/lib/system/keys-win.c:1141,1
    - Dst: get_win_urls
      Src: /src/gnutls/lib/system/keys-win.c:1143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - iter
    - cert_type
    - cert_url
    - key_url
    - label
    - der
    - flags
    argTypes:
    - gnutls_system_key_iter_t*
    - unsigned
    - char**
    - char**
    - char**
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1146
      start: 1106
    functionDepth: 6
    functionLinenumber: 1106
    functionLinenumberEnd: 1146
    functionName: gnutls_system_key_iter_get_info
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - get_win_urls
    - CertOpenStore
    - CertEnumCertificatesInStore
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,\n\t\t\t\t
      \   unsigned cert_type, char **cert_url,\n\t\t\t\t    char **key_url, char **label,\n\t\t\t\t
      \   gnutls_datum_t *der, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1173,1
    - Dst: get_id
      Src: /src/gnutls/lib/system/keys-win.c:1180,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1182,1
    - Dst: get_id
      Src: /src/gnutls/lib/system/keys-win.c:1185,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1187,1
    - Dst: CertOpenStore
      Src: /src/gnutls/lib/system/keys-win.c:1193,1
    - Dst: CertFindCertificateInStore
      Src: /src/gnutls/lib/system/keys-win.c:1197,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/gnutls/lib/system/keys-win.c:1203,1
    - Dst: pNCryptDeleteKey
      Src: /src/gnutls/lib/system/keys-win.c:1208,1
    - Dst: pNCryptFreeObject
      Src: /src/gnutls/lib/system/keys-win.c:1209,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1211,1
    - Dst: CertDeleteCertificateFromStore
      Src: /src/gnutls/lib/system/keys-win.c:1216,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/keys-win.c:1218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - cert_url
    - key_url
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1222
    functionName: gnutls_system_key_delete
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - CertCloseStore
    - pNCryptFreeObject
    - gnutls_assert
    - CertDeleteCertificateFromStore
    - CertOpenStore
    - get_id
    - pNCryptDeleteKey
    - gnutls_assert_val
    - CertGetCertificateContextProperty
    - CertFindCertificateInStore
    linkageType: ''
    returnType: int
    signature: int gnutls_system_key_delete(const char *cert_url, const char *key_url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1255,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1258,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/lib/system/keys-win.c:1261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1263,1
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/lib/system/keys-win.c:1270,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1272,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/lib/system/keys-win.c:1274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1276,1
    - Dst: gnutls_pkcs12_bag_set_crt
      Src: /src/gnutls/lib/system/keys-win.c:1280,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1282,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/lib/system/keys-win.c:1286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1288,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/lib/system/keys-win.c:1293,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/lib/system/keys-win.c:1295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1297,1
    - Dst: gnutls_pkcs12_bag_set_privkey
      Src: /src/gnutls/lib/system/keys-win.c:1301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1303,1
    - Dst: gnutls_pkcs12_bag_set_key_id
      Src: /src/gnutls/lib/system/keys-win.c:1307,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1309,1
    - Dst: gnutls_pkcs12_bag_set_friendly_name
      Src: /src/gnutls/lib/system/keys-win.c:1314,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/lib/system/keys-win.c:1316,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1318,1
    - Dst: gnutls_pkcs12_set_bag
      Src: /src/gnutls/lib/system/keys-win.c:1322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1324,1
    - Dst: gnutls_pkcs12_generate_mac
      Src: /src/gnutls/lib/system/keys-win.c:1328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1330,1
    - Dst: gnutls_pkcs12_export2
      Src: /src/gnutls/lib/system/keys-win.c:1334,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1336,1
    - Dst: PFXImportCertStore
      Src: /src/gnutls/lib/system/keys-win.c:1343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1345,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/system/keys-win.c:1356,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1358,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/system/keys-win.c:1362,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1364,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1366,1
    - Dst: CertFindCertificateInStore
      Src: /src/gnutls/lib/system/keys-win.c:1373,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1378,1
    - Dst: get_win_urls
      Src: /src/gnutls/lib/system/keys-win.c:1383,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/keys-win.c:1385,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/lib/system/keys-win.c:1394,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/system/keys-win.c:1396,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/system/keys-win.c:1398,1
    - Dst: CertCloseStore
      Src: /src/gnutls/lib/system/keys-win.c:1400,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/system/keys-win.c:1401,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 5
    argNames:
    - crt
    - privkey
    - label
    - cert_url
    - key_url
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1403
      start: 1240
    functionDepth: 6
    functionLinenumber: 1240
    functionLinenumberEnd: 1403
    functionName: gnutls_system_key_add_x509
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 0
    functionsReached:
    - get_win_urls
    - gnutls_x509_crt_export2
    - gnutls_pkcs12_bag_set_crt
    - CertFindCertificateInStore
    - gnutls_assert_val
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_bag_set_privkey
    - gnutls_pkcs12_bag_set_friendly_name
    - gnutls_pkcs12_generate_mac
    - CertCloseStore
    - gnutls_pkcs12_bag_set_key_id
    - gnutls_hash_fast
    - gnutls_pkcs12_bag_init
    - gnutls_free
    - gnutls_pkcs12_set_bag
    - gnutls_x509_crt_get_key_id
    - PFXImportCertStore
    - gnutls_pkcs12_export2
    - gnutls_pkcs12_deinit
    - gnutls_assert
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,\n\t\t\t       gnutls_x509_privkey_t
      privkey, const char *label,\n\t\t\t       char **cert_url, char **key_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnutls/lib/system/keys-win.c:1410,1
    - Dst: TEXT
      Src: /src/gnutls/lib/system/keys-win.c:1410,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/keys-win.c:1412,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1415,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1423,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1431,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1437,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1444,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1452,1
    - Dst: GetProcAddress
      Src: /src/gnutls/lib/system/keys-win.c:1458,1
    - Dst: FreeLibrary
      Src: /src/gnutls/lib/system/keys-win.c:1468,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1474
    functionName: _gnutls_system_key_init
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - GetProcAddress
    - TEXT
    - FreeLibrary
    - LoadLibrary
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_system_key_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/gnutls/lib/system/keys-win.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1482
    functionName: _gnutls_system_key_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-win.c
    functionUses: 1
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void _gnutls_system_key_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - gnutls_system_key_iter_t
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: gnutls_system_key_iter_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_system_key_iter_deinit(gnutls_system_key_iter_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - iter
    - cert_type
    - cert_url
    - key_url
    - label
    - der
    - flags
    argTypes:
    - gnutls_system_key_iter_t*
    - unsigned
    - char**
    - char**
    - char**
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: gnutls_system_key_iter_get_info
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_system_key_iter_get_info(gnutls_system_key_iter_t *iter,\n\t\t\t\t
      \   unsigned cert_type, char **cert_url,\n\t\t\t\t    char **key_url, char **label,\n\t\t\t\t
      \   gnutls_datum_t *der, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert_url
    - key_url
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: gnutls_system_key_delete
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_system_key_delete(const char *cert_url, const char *key_url)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - crt
    - privkey
    - label
    - cert_url
    - key_url
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: gnutls_system_key_add_x509
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_system_key_add_x509(gnutls_x509_crt_t crt,\n\t\t\t       gnutls_x509_privkey_t
      privkey, const char *label,\n\t\t\t       char **cert_url, char **key_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - url
    argTypes:
    - gnutls_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: _gnutls_privkey_import_system_url
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_privkey_import_system_url(gnutls_privkey_t pkey, const
      char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - url
    argTypes:
    - gnutls_x509_crt_t
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: _gnutls_x509_crt_import_system_url
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_crt_import_system_url(gnutls_x509_crt_t crt, const
      char *url)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: _gnutls_system_key_init
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_system_key_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: _gnutls_system_key_deinit
    functionSourceFile: /src/gnutls/lib/system/keys-dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_system_key_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/system/fastopen.c:65,1
    - Dst: connect
      Src: /src/gnutls/lib/system/fastopen.c:68,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:71,1
    - Dst: system_writev
      Src: /src/gnutls/lib/system/fastopen.c:83,1
    - Dst: GNUTLS_INT_TO_POINTER
      Src: /src/gnutls/lib/system/fastopen.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: tfo_writev
    functionSourceFile: /src/gnutls/lib/system/fastopen.c
    functionUses: 0
    functionsReached:
    - connect
    - GNUTLS_INT_TO_POINTER
    - unlikely
    - system_writev
    - gnutls_assert
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,\n\t\t\t
      \ int iovec_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/system/fastopen.c:94,1
    - Dst: likely
      Src: /src/gnutls/lib/system/fastopen.c:98,1
    - Dst: sendmsg
      Src: /src/gnutls/lib/system/fastopen.c:99,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/fastopen.c:105,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/fastopen.c:107,1
    - Dst: sendmsg
      Src: /src/gnutls/lib/system/fastopen.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:117,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/fastopen.c:121,1
    - Dst: connect
      Src: /src/gnutls/lib/system/fastopen.c:129,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:132,1
    - Dst: __builtin_available
      Src: /src/gnutls/lib/system/fastopen.c:141,1
    - Dst: connectx
      Src: /src/gnutls/lib/system/fastopen.c:149,1
    - Dst: connect
      Src: /src/gnutls/lib/system/fastopen.c:154,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:158,1
    - Dst: connect
      Src: /src/gnutls/lib/system/fastopen.c:163,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 177
    functionName: tfo_writev
    functionSourceFile: /src/gnutls/lib/system/fastopen.c
    functionUses: 0
    functionsReached:
    - likely
    - setsockopt
    - connect
    - __builtin_available
    - connectx
    - memset
    - sendmsg
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tfo_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,\n\t\t\t
      \ int iovec_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_system_recv_timeout
      Src: /src/gnutls/lib/system/fastopen.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tfo_recv_timeout
    functionSourceFile: /src/gnutls/lib/system/fastopen.c
    functionUses: 0
    functionsReached:
    - gnutls_system_recv_timeout
    linkageType: ''
    returnType: int
    signature: int tfo_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/lib/system/fastopen.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - data
    - data_size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: tfo_read
    functionSourceFile: /src/gnutls/lib/system/fastopen.c
    functionUses: 0
    functionsReached:
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tfo_read(gnutls_transport_ptr_t ptr, void *data,\n\t\t\tsize_t
      data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/fastopen.c:240,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/fastopen.c:244,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/lib/system/fastopen.c:249,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/lib/system/fastopen.c:250,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/lib/system/fastopen.c:251,1
    - Dst: gnutls_transport_set_vec_push_function
      Src: /src/gnutls/lib/system/fastopen.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - session
    - fd
    - connect_addr
    - connect_addrlen
    - flags
    argTypes:
    - gnutls_session_t
    - int
    - struct sockaddr*
    - socklen_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 260
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 260
    functionName: gnutls_transport_set_fastopen
    functionSourceFile: /src/gnutls/lib/system/fastopen.c
    functionUses: 3
    functionsReached:
    - gnutls_transport_set_vec_push_function
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_ptr
    - gnutls_transport_set_pull_function
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: "void gnutls_transport_set_fastopen(gnutls_session_t session, int fd,\n\t\t\t\t
      \  struct sockaddr *connect_addr,\n\t\t\t\t   socklen_t connect_addrlen,\n\t\t\t\t
      \  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WSASetLastError
      Src: /src/gnutls/lib/system/sockets.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_transport_ptr
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: system_errno
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached:
    - WSASetLastError
    linkageType: ''
    returnType: int
    signature: int system_errno(gnutls_transport_ptr p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnutls/lib/system/sockets.c:80,1
    - Dst: GNUTLS_POINTER_TO_INT
      Src: /src/gnutls/lib/system/sockets.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - data
    - data_size
    argTypes:
    - gnutls_transport_ptr
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: system_write
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached:
    - GNUTLS_POINTER_TO_INT
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_write(gnutls_transport_ptr ptr, const void *data,\n\t\t
      \    size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WSASend
      Src: /src/gnutls/lib/system/sockets.c:122,1
    - Dst: GNUTLS_POINTER_TO_INT
      Src: /src/gnutls/lib/system/sockets.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 127
    functionName: system_writev
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 1
    functionsReached:
    - WSASend
    - GNUTLS_POINTER_TO_INT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,\n\t\t
      \     int iovec_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: system_errno
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int system_errno(gnutls_transport_ptr_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/system/sockets.c:145,1
    - Dst: sendmsg
      Src: /src/gnutls/lib/system/sockets.c:149,1
    - Dst: GNUTLS_POINTER_TO_INT
      Src: /src/gnutls/lib/system/sockets.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    - flags
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: _system_writev
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached:
    - sendmsg
    - GNUTLS_POINTER_TO_INT
    - memset
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _system_writev(gnutls_transport_ptr_t ptr, const giovec_t
      *iovec,\n\t\t\t      int iovec_cnt, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _system_writev
      Src: /src/gnutls/lib/system/sockets.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: system_writev_nosignal
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached:
    - _system_writev
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_writev_nosignal(gnutls_transport_ptr_t ptr,\n\t\t\t
      \      const giovec_t *iovec, int iovec_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _system_writev
      Src: /src/gnutls/lib/system/sockets.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - iovec
    - iovec_cnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: system_writev
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 3
    functionsReached:
    - _system_writev
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t system_writev(gnutls_transport_ptr_t ptr, const giovec_t *iovec,\n\t\t
      \     int iovec_cnt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/gnutls/lib/system/sockets.c:171,1
    - Dst: GNUTLS_POINTER_TO_INT
      Src: /src/gnutls/lib/system/sockets.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - data
    - data_size
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: system_read
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 0
    functionsReached:
    - GNUTLS_POINTER_TO_INT
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t system_read(gnutls_transport_ptr_t ptr, void *data, size_t
      data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/gnutls/lib/system/sockets.c:207,1
    - Dst: FD_ZERO
      Src: /src/gnutls/lib/system/sockets.c:213,1
    - Dst: FD_SET
      Src: /src/gnutls/lib/system/sockets.c:214,1
    - Dst: select
      Src: /src/gnutls/lib/system/sockets.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ptr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 228
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 228
    functionName: gnutls_system_recv_timeout
    functionSourceFile: /src/gnutls/lib/system/sockets.c
    functionUses: 3
    functionsReached:
    - select
    - poll
    - FD_ZERO
    - FD_SET
    linkageType: ''
    returnType: int
    signature: int gnutls_system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned
      int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/system/ktls.c:60,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/system/ktls.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: gnutls_transport_is_ktls_enabled
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 3
    functionsReached:
    - _gnutls_debug_log
    - unlikely
    linkageType: ''
    returnType: gnutls_transport_ktls_enable_flags_t
    signature: gnutls_transport_ktls_enable_flags_t gnutls_transport_is_ktls_enabled(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:76,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:78,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/system/ktls.c:84,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:89,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/system/ktls.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 99
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 99
    functionName: _gnutls_ktls_enable
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - _gnutls_record_log
    - gnutls_transport_get_int2
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void _gnutls_ktls_enable(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/lib/system/ktls.c:106,1
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:114,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/lib/system/ktls.c:125,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:135,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:139,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:145,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:147,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:151,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:156,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:161,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:165,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:169,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:173,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:175,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:178,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:185,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:191,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:199,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:203,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:208,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:213,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:217,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:221,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:227,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:230,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:233,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:237,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:244,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:254,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:256,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:258,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:262,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:264,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:268,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:270,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:273,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:276,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:280,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:286,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/lib/system/ktls.c:290,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:293,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:298,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:302,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:310,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:314,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:319,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:324,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:328,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:332,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:338,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:341,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:344,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:348,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:354,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:360,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:362,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:366,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:371,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:376,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:380,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:384,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:388,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:390,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:393,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:396,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:400,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:407,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:417,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:419,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:421,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:425,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:427,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/system/ktls.c:431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:433,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:436,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:439,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:443,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:449,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/lib/system/ktls.c:453,1
    - Dst: gnutls_alert_set_read_function
      Src: /src/gnutls/lib/system/ktls.c:457,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 251
    argCount: 2
    argNames:
    - session
    - in
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ktls_enable_flags_t
    constantsTouched: []
    func_position:
      end: 462
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 462
    functionName: _gnutls_ktls_set_keys
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - gnutls_record_get_state
    - assert
    - gnutls_handshake_set_read_function
    - gnutls_alert_set_read_function
    - gnutls_transport_get_int2
    - setsockopt
    - gnutls_malloc
    - gnutls_assert_val
    - memset
    - memcpy
    - gnutls_cipher_get
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_set_keys(gnutls_session_t session,\n\t\t\t  gnutls_transport_ktls_enable_flags_t
      in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/lib/system/ktls.c:468,1
    - Dst: uname
      Src: /src/gnutls/lib/system/ktls.c:480,1
    - Dst: unlikely
      Src: /src/gnutls/lib/system/ktls.c:481,1
    - Dst: strcmp
      Src: /src/gnutls/lib/system/ktls.c:485,1
    - Dst: strtol
      Src: /src/gnutls/lib/system/ktls.c:489,1
    - Dst: strtol
      Src: /src/gnutls/lib/system/ktls.c:493,1
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:526,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/lib/system/ktls.c:528,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:540,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:543,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:549,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:553,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:557,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:563,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:565,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:567,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:570,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:574,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:580,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:583,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:589,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:593,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:597,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:603,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:605,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:607,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:610,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:614,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:620,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:623,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:629,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:633,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:637,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:643,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:645,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:647,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:650,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:654,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:660,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:664,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:670,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:674,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:678,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:684,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:686,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:688,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:691,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:695,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:700,1
    - Dst: gnutls_record_get_state
      Src: /src/gnutls/lib/system/ktls.c:704,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:707,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:714,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:718,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:724,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:728,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:732,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:738,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:740,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:742,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:745,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:749,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:755,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:758,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:764,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:768,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:772,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:778,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:780,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:782,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:785,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:789,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:795,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:798,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:804,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:808,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:812,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:818,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:820,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:822,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:825,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:829,1
    - Dst: memset
      Src: /src/gnutls/lib/system/ktls.c:835,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:839,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:845,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:849,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:853,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:859,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:861,1
    - Dst: memcpy
      Src: /src/gnutls/lib/system/ktls.c:863,1
    - Dst: setsockopt
      Src: /src/gnutls/lib/system/ktls.c:866,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:870,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:875,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/lib/system/ktls.c:879,1
    - Dst: gnutls_alert_set_read_function
      Src: /src/gnutls/lib/system/ktls.c:883,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 228
    argCount: 2
    argNames:
    - session
    - in
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ktls_enable_flags_t
    constantsTouched: []
    func_position:
      end: 888
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 888
    functionName: _gnutls_ktls_set_keys
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - gnutls_handshake_set_read_function
    - assert
    - gnutls_alert_set_read_function
    - gnutls_transport_get_int2
    - setsockopt
    - uname
    - strtol
    - memcpy
    - unlikely
    - strcmp
    - gnutls_record_get_state
    - memset
    - gnutls_cipher_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_set_keys(gnutls_session_t session,\n\t\t\t  gnutls_transport_ktls_enable_flags_t
      in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:897,1
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:900,1
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:903,1
    - Dst: sendfile
      Src: /src/gnutls/lib/system/ktls.c:905,1
    - Dst: sendfile
      Src: /src/gnutls/lib/system/ktls.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - session
    - fd
    - offset
    - count
    argTypes:
    - gnutls_session_t
    - int
    - off_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 925
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 925
    functionName: _gnutls_ktls_send_file
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - assert
    - sendfile
    - gnutls_transport_get_int2
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd, off_t
      *offset,\n\t\t\t       size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:936,1
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:938,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/gnutls/lib/system/ktls.c:949,1
    - Dst: CMSG_LEN
      Src: /src/gnutls/lib/system/ktls.c:956,1
    - Dst: CMSG_DATA
      Src: /src/gnutls/lib/system/ktls.c:959,1
    - Dst: sendmsg
      Src: /src/gnutls/lib/system/ktls.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - session
    - record_type
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - unsigned char
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 994
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 994
    functionName: _gnutls_ktls_send_control_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_transport_get_int2
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - sendmsg
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_send_control_msg(gnutls_session_t session,\n\t\t\t\t
      \ unsigned char record_type, const void *data,\n\t\t\t\t  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ktls_send_control_msg
      Src: /src/gnutls/lib/system/ktls.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - level
    - htype
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_handshake_description_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1003
    functionName: _gnutls_ktls_send_handshake_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 0
    functionsReached:
    - _gnutls_ktls_send_control_msg
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_send_handshake_msg(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_record_encryption_level_t level,\n\t\t\t\t    gnutls_handshake_description_t
      htype,\n\t\t\t\t    const void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ktls_send_control_msg
      Src: /src/gnutls/lib/system/ktls.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - session
    - level
    - alert_level
    - alert_desc
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_alert_level_t
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 1014
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1014
    functionName: _gnutls_ktls_send_alert_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 0
    functionsReached:
    - _gnutls_ktls_send_control_msg
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_send_alert_msg(gnutls_session_t session,\n\t\t\t\tgnutls_record_encryption_level_t
      level,\n\t\t\t\tgnutls_alert_level_t alert_level,\n\t\t\t\tgnutls_alert_description_t
      alert_desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/system/ktls.c:1029,1
    - Dst: gnutls_transport_get_int2
      Src: /src/gnutls/lib/system/ktls.c:1031,1
    - Dst: recvmsg
      Src: /src/gnutls/lib/system/ktls.c:1049,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/gnutls/lib/system/ktls.c:1071,1
    - Dst: CMSG_DATA
      Src: /src/gnutls/lib/system/ktls.c:1080,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - session
    - record_type
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1085
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1085
    functionName: _gnutls_ktls_recv_control_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_transport_get_int2
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - recvmsg
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_recv_control_msg(gnutls_session_t session,\n\t\t\t\t
      \ unsigned char *record_type, void *data,\n\t\t\t\t  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ktls_recv_control_msg
      Src: /src/gnutls/lib/system/ktls.c:1093,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1099,1
    - Dst: session_invalidate
      Src: /src/gnutls/lib/system/ktls.c:1103,1
    - Dst: gnutls_handshake_write
      Src: /src/gnutls/lib/system/ktls.c:1107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/system/ktls.c:1124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - session
    - type
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - content_type_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1129
      start: 1087
    functionDepth: 7
    functionLinenumber: 1087
    functionLinenumberEnd: 1129
    functionName: _gnutls_ktls_recv_int
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - session_invalidate
    - _gnutls_ktls_recv_control_msg
    - gnutls_assert
    - gnutls_handshake_write
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t
      type,\n\t\t\t  void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: gnutls_transport_is_ktls_enabled
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gnutls_transport_ktls_enable_flags_t
    signature: gnutls_transport_ktls_enable_flags_t gnutls_transport_is_ktls_enabled(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1139
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1139
    functionName: _gnutls_ktls_enable
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_ktls_enable(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sessioni
    - in
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ktls_enable_flags_t
    constantsTouched: []
    func_position:
      end: 1145
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1145
    functionName: _gnutls_ktls_set_keys
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_set_keys(gnutls_session_t sessioni,\n\t\t\t  gnutls_transport_ktls_enable_flags_t
      in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - fd
    - offset
    - count
    argTypes:
    - gnutls_session_t
    - int
    - off_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1151
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1151
    functionName: _gnutls_ktls_send_file
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _gnutls_ktls_send_file(gnutls_session_t session, int fd, off_t
      *offset,\n\t\t\t       size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - record_type
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - unsigned char
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: _gnutls_ktls_send_control_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_send_control_msg(gnutls_session_t session,\n\t\t\t\t
      \ unsigned char record_type, const void *data,\n\t\t\t\t  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - session
    - level
    - htype
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_handshake_description_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: _gnutls_ktls_send_handshake_msg
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_send_handshake_msg(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_record_encryption_level_t level,\n\t\t\t\t    gnutls_handshake_description_t
      htype,\n\t\t\t\t    const void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/system/ktls.c:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - type
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - content_type_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1173
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1173
    functionName: _gnutls_ktls_recv_int
    functionSourceFile: /src/gnutls/lib/system/ktls.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ktls_recv_int(gnutls_session_t session, content_type_t
      type,\n\t\t\t  void *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_cipher_init
      Src: /src/gnutls/lib/accelerated/afalg.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:62,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:66,1
    - Dst: kcapi_cipher_ivsize
      Src: /src/gnutls/lib/accelerated/afalg.c:66,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:67,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/afalg.c:71,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:73,1
    - Dst: kcapi_cipher_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: afalg_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_destroy
    - gnutls_malloc
    - kcapi_cipher_ivsize
    - kcapi_cipher_init
    - unlikely
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int afalg_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \    int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_cipher_setkey
      Src: /src/gnutls/lib/accelerated/afalg.c:88,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: afalg_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - kcapi_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int afalg_cipher_setkey(void *_ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_cipher_ivsize
      Src: /src/gnutls/lib/accelerated/afalg.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:101,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/afalg.c:103,1
    - Dst: kcapi_cipher_stream_init_enc
      Src: /src/gnutls/lib/accelerated/afalg.c:105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:107,1
    - Dst: kcapi_cipher_stream_init_dec
      Src: /src/gnutls/lib/accelerated/afalg.c:111,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: afalg_cipher_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_stream_init_enc
    - kcapi_cipher_ivsize
    - kcapi_cipher_stream_init_dec
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_cipher_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:130,1
    - Dst: kcapi_cipher_blocksize
      Src: /src/gnutls/lib/accelerated/afalg.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:131,1
    - Dst: kcapi_cipher_stream_update
      Src: /src/gnutls/lib/accelerated/afalg.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:135,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:138,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:139,1
    - Dst: kcapi_cipher_stream_op
      Src: /src/gnutls/lib/accelerated/afalg.c:144,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: afalg_cipher_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_blocksize
    - gnutls_assert
    - kcapi_cipher_stream_update
    - unlikely
    - gnutls_assert_val
    - kcapi_cipher_stream_op
    linkageType: ''
    returnType: int
    signature: "int afalg_cipher_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t\tvoid
      *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:161,1
    - Dst: kcapi_cipher_blocksize
      Src: /src/gnutls/lib/accelerated/afalg.c:161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:162,1
    - Dst: kcapi_cipher_stream_update
      Src: /src/gnutls/lib/accelerated/afalg.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:166,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:169,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:170,1
    - Dst: kcapi_cipher_stream_op
      Src: /src/gnutls/lib/accelerated/afalg.c:175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: afalg_cipher_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_blocksize
    - gnutls_assert
    - kcapi_cipher_stream_update
    - unlikely
    - gnutls_assert_val
    - kcapi_cipher_stream_op
    linkageType: ''
    returnType: int
    signature: "int afalg_cipher_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t\tvoid
      *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_cipher_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:187,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/afalg.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: afalg_cipher_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_destroy
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void afalg_cipher_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_cipher_init
      Src: /src/gnutls/lib/accelerated/afalg.c:214,1
    - Dst: kcapi_cipher_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:217,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/afalg.c:219,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/accelerated/afalg.c:220,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/afalg.c:221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 230
    functionName: afalg_cipher_register
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_cipher_destroy
    - gnutls_cipher_get_name
    - gnutls_crypto_single_cipher_register
    - kcapi_cipher_init
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_cipher_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_aead_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:253,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/afalg.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: afalg_aead_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_destroy
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void afalg_aead_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_aead_init
      Src: /src/gnutls/lib/accelerated/afalg.c:263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:264,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/afalg.c:268,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:270,1
    - Dst: kcapi_aead_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: afalg_aead_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_destroy
    - kcapi_aead_init
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int afalg_aead_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_aead_setkey
      Src: /src/gnutls/lib/accelerated/afalg.c:293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: afalg_aead_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_setkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_aead_setkey(void *_ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:315,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:321,1
    - Dst: kcapi_aead_settaglen
      Src: /src/gnutls/lib/accelerated/afalg.c:329,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:330,1
    - Dst: kcapi_aead_setassoclen
      Src: /src/gnutls/lib/accelerated/afalg.c:336,1
    - Dst: kcapi_aead_ccm_nonce_to_iv
      Src: /src/gnutls/lib/accelerated/afalg.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:345,1
    - Dst: kcapi_aead_stream_init_dec
      Src: /src/gnutls/lib/accelerated/afalg.c:349,1
    - Dst: free
      Src: /src/gnutls/lib/accelerated/afalg.c:351,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:352,1
    - Dst: free
      Src: /src/gnutls/lib/accelerated/afalg.c:356,1
    - Dst: kcapi_aead_stream_init_dec
      Src: /src/gnutls/lib/accelerated/afalg.c:358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:360,1
    - Dst: kcapi_aead_stream_update_last
      Src: /src/gnutls/lib/accelerated/afalg.c:380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:381,1
    - Dst: kcapi_aead_stream_op
      Src: /src/gnutls/lib/accelerated/afalg.c:397,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:398,1
    - Dst: freea
      Src: /src/gnutls/lib/accelerated/afalg.c:404,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 406
    functionName: afalg_aead_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_setassoclen
    - free
    - kcapi_aead_stream_init_dec
    - kcapi_aead_stream_update_last
    - kcapi_aead_ccm_nonce_to_iv
    - kcapi_aead_settaglen
    - unlikely
    - freea
    - kcapi_aead_stream_op
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int afalg_aead_decrypt(void *_ctx, const void *nonce, size_t nonce_size,\n\t\t\t
      \     const void *auth, size_t auth_size,\n\t\t\t      size_t tag_size, const
      void *encr,\n\t\t\t      size_t encr_size, void *plain, size_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:419,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/afalg.c:423,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:425,1
    - Dst: kcapi_aead_ivsize
      Src: /src/gnutls/lib/accelerated/afalg.c:429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:431,1
    - Dst: kcapi_aead_settaglen
      Src: /src/gnutls/lib/accelerated/afalg.c:439,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:440,1
    - Dst: kcapi_aead_setassoclen
      Src: /src/gnutls/lib/accelerated/afalg.c:446,1
    - Dst: kcapi_aead_ccm_nonce_to_iv
      Src: /src/gnutls/lib/accelerated/afalg.c:453,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:455,1
    - Dst: kcapi_aead_stream_init_enc
      Src: /src/gnutls/lib/accelerated/afalg.c:459,1
    - Dst: free
      Src: /src/gnutls/lib/accelerated/afalg.c:461,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:462,1
    - Dst: free
      Src: /src/gnutls/lib/accelerated/afalg.c:466,1
    - Dst: kcapi_aead_stream_init_enc
      Src: /src/gnutls/lib/accelerated/afalg.c:468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:470,1
    - Dst: kcapi_aead_stream_update_last
      Src: /src/gnutls/lib/accelerated/afalg.c:502,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:503,1
    - Dst: kcapi_aead_stream_op
      Src: /src/gnutls/lib/accelerated/afalg.c:519,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:520,1
    - Dst: freea
      Src: /src/gnutls/lib/accelerated/afalg.c:526,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 528
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 528
    functionName: afalg_aead_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_setassoclen
    - free
    - kcapi_aead_ivsize
    - kcapi_aead_stream_init_enc
    - kcapi_aead_stream_update_last
    - kcapi_aead_ccm_nonce_to_iv
    - kcapi_aead_settaglen
    - unlikely
    - freea
    - kcapi_aead_stream_op
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int afalg_aead_encrypt(void *_ctx, const void *nonce, size_t nonce_size,\n\t\t\t
      \     const void *auth, size_t auth_size,\n\t\t\t      size_t tag_size, const
      void *plain,\n\t\t\t      size_t plain_size, void *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_aead_init
      Src: /src/gnutls/lib/accelerated/afalg.c:551,1
    - Dst: kcapi_aead_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:554,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/afalg.c:556,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/accelerated/afalg.c:557,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/afalg.c:558,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: afalg_aead_register
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_aead_destroy
    - gnutls_cipher_get_name
    - gnutls_crypto_single_cipher_register
    - kcapi_aead_init
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_aead_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:582,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - algorithm
    - ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: afalg_mac_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_mac_init(gnutls_mac_algorithm_t algorithm, void **ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_setkey
      Src: /src/gnutls/lib/accelerated/afalg.c:596,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: afalg_mac_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_setkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_mac_setkey(void *ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_update
      Src: /src/gnutls/lib/accelerated/afalg.c:612,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:613,1
    - Dst: kcapi_md_update
      Src: /src/gnutls/lib/accelerated/afalg.c:618,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/afalg.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - _text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 625
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 625
    functionName: afalg_mac_hash
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - kcapi_md_update
    linkageType: ''
    returnType: int
    signature: int afalg_mac_hash(void *ctx, const void *_text, size_t textsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_final
      Src: /src/gnutls/lib/accelerated/afalg.c:631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 637
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 637
    functionName: afalg_mac_output
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - kcapi_md_final
    linkageType: ''
    returnType: int
    signature: int afalg_mac_output(void *ctx, void *digest, size_t digestsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: afalg_mac_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_destroy
    linkageType: ''
    returnType: void
    signature: void afalg_mac_deinit(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:653,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:654,1
    - Dst: kcapi_md_setkey
      Src: /src/gnutls/lib/accelerated/afalg.c:658,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:659,1
    - Dst: kcapi_md_digest
      Src: /src/gnutls/lib/accelerated/afalg.c:664,1
    - Dst: kcapi_md_digestsize
      Src: /src/gnutls/lib/accelerated/afalg.c:665,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:666,1
    - Dst: afalg_mac_hash
      Src: /src/gnutls/lib/accelerated/afalg.c:670,1
    - Dst: kcapi_md_final
      Src: /src/gnutls/lib/accelerated/afalg.c:674,1
    - Dst: kcapi_md_digestsize
      Src: /src/gnutls/lib/accelerated/afalg.c:675,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:676,1
    - Dst: kcapi_md_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:684,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 8
    argNames:
    - algorithm
    - nonce
    - nonce_size
    - key
    - keysize
    - text
    - textsize
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 687
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 687
    functionName: afalg_mac_fast
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_digestsize
    - kcapi_md_destroy
    - kcapi_md_digest
    - afalg_mac_hash
    - kcapi_md_setkey
    - kcapi_md_init
    - gnutls_assert
    - kcapi_md_final
    linkageType: ''
    returnType: int
    signature: "int afalg_mac_fast(gnutls_mac_algorithm_t algorithm, const void *nonce,\n\t\t\t
      \ size_t nonce_size, const void *key, size_t keysize,\n\t\t\t  const void *text,
      size_t textsize, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:712,1
    - Dst: kcapi_md_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:715,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/afalg.c:717,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/accelerated/afalg.c:718,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/afalg.c:719,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 699
    functionDepth: 3
    functionLinenumber: 699
    functionLinenumberEnd: 728
    functionName: afalg_mac_register
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_destroy
    - gnutls_mac_get_name
    - _gnutls_debug_log
    - kcapi_md_init
    - gnutls_assert
    - gnutls_crypto_single_mac_register
    linkageType: ''
    returnType: int
    signature: int afalg_mac_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:743,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - algorithm
    - ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 751
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 751
    functionName: afalg_digest_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int afalg_digest_init(gnutls_digest_algorithm_t algorithm, void **ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:759,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:760,1
    - Dst: kcapi_md_digest
      Src: /src/gnutls/lib/accelerated/afalg.c:765,1
    - Dst: kcapi_md_digestsize
      Src: /src/gnutls/lib/accelerated/afalg.c:766,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:767,1
    - Dst: afalg_mac_hash
      Src: /src/gnutls/lib/accelerated/afalg.c:771,1
    - Dst: kcapi_md_final
      Src: /src/gnutls/lib/accelerated/afalg.c:776,1
    - Dst: kcapi_md_digestsize
      Src: /src/gnutls/lib/accelerated/afalg.c:777,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:778,1
    - Dst: kcapi_md_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - algorithm
    - text
    - textsize
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 789
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 789
    functionName: afalg_digest_fast
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_digestsize
    - kcapi_md_destroy
    - kcapi_md_digest
    - afalg_mac_hash
    - kcapi_md_init
    - gnutls_assert
    - kcapi_md_final
    linkageType: ''
    returnType: int
    signature: "int afalg_digest_fast(gnutls_digest_algorithm_t algorithm,\n\t\t\t
      \    const void *text, size_t textsize, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kcapi_md_init
      Src: /src/gnutls/lib/accelerated/afalg.c:813,1
    - Dst: kcapi_md_destroy
      Src: /src/gnutls/lib/accelerated/afalg.c:816,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/afalg.c:818,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/accelerated/afalg.c:819,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/afalg.c:820,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/afalg.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 829
    functionName: afalg_digest_register
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached:
    - kcapi_md_destroy
    - gnutls_assert
    - gnutls_digest_get_name
    - _gnutls_debug_log
    - kcapi_md_init
    - gnutls_crypto_single_digest_register
    linkageType: ''
    returnType: int
    signature: int afalg_digest_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: afalg_cipher_register
      Src: /src/gnutls/lib/accelerated/afalg.c:835,1
    - Dst: afalg_aead_register
      Src: /src/gnutls/lib/accelerated/afalg.c:839,1
    - Dst: afalg_mac_register
      Src: /src/gnutls/lib/accelerated/afalg.c:843,1
    - Dst: afalg_digest_register
      Src: /src/gnutls/lib/accelerated/afalg.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 848
    functionName: _gnutls_afalg_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 1
    functionsReached:
    - afalg_cipher_register
    - afalg_aead_register
    - afalg_digest_register
    - afalg_mac_register
    linkageType: ''
    returnType: int
    signature: int _gnutls_afalg_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: _gnutls_afalg_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_afalg_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: _gnutls_afalg_init
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_afalg_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: _gnutls_afalg_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_afalg_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:65,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - ioctl
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:80,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:100,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - gnutls_assert
    - ioctl
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:137,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:148,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 156
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - ioctl
    - unlikely
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:175,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:178,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - ioctl
    - unlikely
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:213,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - ioctl
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:246,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:249,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:257,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:260,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:266,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:268,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:274,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:276,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:277,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev-gcm.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - cfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 287
    functionName: _cryptodev_register_gcm_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev-gcm.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_name
    - gnutls_crypto_single_cipher_register
    - ioctl
    - memset
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: int _cryptodev_register_gcm_crypto(int cfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/cryptodev.c:73,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: cryptodev_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int cryptodev_cipher_init(gnutls_cipher_algorithm_t algorithm,\n\t\t\t\t
      void **_ctx, int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/cryptodev.c:92,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:97,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: cryptodev_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - gnutls_assert
    - ioctl
    linkageType: ''
    returnType: int
    signature: int cryptodev_cipher_setkey(void *_ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev.c:111,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/cryptodev.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: cryptodev_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int cryptodev_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/cryptodev.c:128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:129,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: cryptodev_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - unlikely
    - ioctl
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int cryptodev_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \    void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/cryptodev.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:153,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: cryptodev_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - unlikely
    - ioctl
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int cryptodev_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \    void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:169,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/cryptodev.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: cryptodev_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - ioctl
    linkageType: ''
    returnType: void
    signature: void cryptodev_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:192,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/accelerated/cryptodev.c:202,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:205,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:209,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:213,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:215,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:221,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/cryptodev.c:223,1
    - Dst: gnutls_cipher_get_name
      Src: /src/gnutls/lib/accelerated/cryptodev.c:224,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/cryptodev.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:228,1
    - Dst: _cryptodev_register_gcm_crypto
      Src: /src/gnutls/lib/accelerated/cryptodev.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - cfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 238
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 238
    functionName: register_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get_name
    - gnutls_crypto_single_cipher_register
    - _cryptodev_register_gcm_crypto
    - ioctl
    - memset
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: int register_crypto(int cfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnutls/lib/accelerated/cryptodev.c:245,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:247,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:255,1
    - Dst: fcntl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:260,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:261,1
    - Dst: close
      Src: /src/gnutls/lib/accelerated/cryptodev.c:265,1
    - Dst: register_crypto
      Src: /src/gnutls/lib/accelerated/cryptodev.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:272,1
    - Dst: register_mac_digest
      Src: /src/gnutls/lib/accelerated/cryptodev.c:275,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:281,1
    - Dst: close
      Src: /src/gnutls/lib/accelerated/cryptodev.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 286
    functionName: _gnutls_cryptodev_init
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached:
    - register_crypto
    - fcntl
    - close
    - open
    - ioctl
    - register_mac_digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_cryptodev_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnutls/lib/accelerated/cryptodev.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: _gnutls_cryptodev_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void _gnutls_cryptodev_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:316,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:318,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:325,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev.c:326,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:336,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:338,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 8
    argNames:
    - algo
    - nonce
    - nonce_size
    - key
    - key_size
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 343
    functionName: cryptodev_mac_fast
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_assert_val
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: "int cryptodev_mac_fast(gnutls_mac_algorithm_t algo, const void *nonce,\n\t\t\t
      \     size_t nonce_size, const void *key,\n\t\t\t      size_t key_size, const
      void *text,\n\t\t\t      size_t text_size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:372,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:376,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev.c:377,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:387,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:389,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/cryptodev.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - algo
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 394
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 394
    functionName: cryptodev_digest_fast
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: "int cryptodev_digest_fast(gnutls_digest_algorithm_t algo,\n\t\t\t\t
      const void *text, size_t text_size,\n\t\t\t\t void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:414,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:424,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:428,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:432,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:434,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/cryptodev.c:439,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/accelerated/cryptodev.c:440,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:442,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/cryptodev.c:444,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:446,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:451,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:460,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/cryptodev.c:464,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:467,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:469,1
    - Dst: ioctl
      Src: /src/gnutls/lib/accelerated/cryptodev.c:475,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/cryptodev.c:477,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/accelerated/cryptodev.c:478,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/cryptodev.c:479,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/cryptodev.c:482,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - cfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 488
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 488
    functionName: register_mac_digest
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached:
    - ioctl
    - gnutls_mac_get_name
    - memset
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_crypto_single_digest_register
    - gnutls_crypto_single_mac_register
    linkageType: ''
    returnType: int
    signature: int register_mac_digest(int cfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: register_mac_digest
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int register_mac_digest(int cfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: _gnutls_cryptodev_init
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_cryptodev_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: _gnutls_cryptodev_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/cryptodev.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_cryptodev_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register_x86_crypto
      Src: /src/gnutls/lib/accelerated/accelerated.c:35,1
    - Dst: register_aarch64_crypto
      Src: /src/gnutls/lib/accelerated/accelerated.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: _gnutls_register_accel_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/accelerated.c
    functionUses: 1
    functionsReached:
    - register_x86_crypto
    - register_aarch64_crypto
    linkageType: ''
    returnType: void
    signature: void _gnutls_register_accel_crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:48,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: aes_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:65,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:67,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:75,1
    - Dst: aes192_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:82,1
    - Dst: aes192_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:84,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:85,1
    - Dst: aes256_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:95,1
    - Dst: aes256_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:97,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:105,1
    - Dst: padlock_reload_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 111
    functionName: padlock_aes_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - aes192_set_decrypt_key
    - ALIGN16
    - aes256_set_encrypt_key
    - aes192_set_encrypt_key
    - padlock_reload_key
    - memset
    - memcpy
    - gnutls_assert_val
    - aes256_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: int padlock_aes_cipher_setkey(void *_ctx, const void *userkey, size_t
      keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:121,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: aes_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ALIGN16
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:135,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:136,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:138,1
    - Dst: padlock_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: padlock_aes_cbc_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - padlock_cbc_encrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int padlock_aes_cbc_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:153,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:154,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:156,1
    - Dst: padlock_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: padlock_aes_cbc_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - padlock_cbc_encrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int padlock_aes_cbc_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:168,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-padlock.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: aes_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-padlock.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct x86_hash_ctx*::update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: wrap_x86_hash_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hash_ctx*::update
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hash_update(void *_ctx, const void *text, size_t textsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: wrap_x86_hash_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_x86_hash_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:88,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:99,1
    - Dst: sha1_block_data_order
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:108,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:121,1
    - Dst: sha1_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 127
    functionName: x86_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha1_update
    - sha1_block_data_order
    linkageType: ''
    returnType: void
    signature: void x86_sha1_update(struct sha1_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:146,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:151,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:152,1
    - Dst: sha256_block_data_order
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:160,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:167,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:169,1
    - Dst: sha256_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 175
    functionName: x86_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha256_update
    - sha256_block_data_order
    linkageType: ''
    returnType: void
    signature: "void x86_sha256_update(struct sha256_ctx *ctx, size_t length,\n\t\t
      \      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:197,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:202,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:203,1
    - Dst: sha512_block_data_order
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:211,1
    - Dst: MD_INCR
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:214,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:218,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:220,1
    - Dst: sha512_update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 226
    functionName: x86_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MD_INCR
    - sha512_block_data_order
    - sha512_update
    linkageType: ''
    returnType: void
    signature: "void x86_sha512_update(struct sha512_ctx *ctx, size_t length,\n\t\t
      \      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:232,1
    - Dst: sha224_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:240,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:248,1
    - Dst: sha384_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:256,1
    - Dst: sha512_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - struct x86_hash_ctx*
    constantsTouched: []
    func_position:
      end: 277
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 277
    functionName: _ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 50
    functionsReached:
    - sha384_init
    - sha512_init
    - sha1_init
    - sha256_init
    - gnutls_assert
    - sha224_init
    linkageType: ''
    returnType: int
    signature: int _ctx_init(gnutls_digest_algorithm_t algo, struct x86_hash_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:286,1
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: wrap_x86_hash_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - _ctx_init
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hash_init(gnutls_digest_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:310,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: wrap_x86_hash_copy
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_x86_hash_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:326,1
    - Dst: struct x86_hash_ctx*::digest
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: wrap_x86_hash_output
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hash_ctx*::digest
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hash_output(void *src_ctx, void *digest, size_t digestsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:339,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:341,1
    - Dst: struct x86_hash_ctx::update
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:343,1
    - Dst: struct x86_hash_ctx::digest
      Src: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - algo
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: wrap_x86_hash_fast
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - _ctx_init
    - gnutls_assert_val
    - struct x86_hash_ctx::update
    - struct x86_hash_ctx::digest
    linkageType: ''
    returnType: int
    signature: "int wrap_x86_hash_fast(gnutls_digest_algorithm_t algo, const void
      *text,\n\t\t\t      size_t text_size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:76,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:104,1
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:106,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:109,1
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:111,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:112,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:114,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:115,1
    - Dst: gcm_init_avx
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - gcm_init_avx
    - ALIGN16
    - bswap_64
    - aesni_set_encrypt_key
    - aesni_ecb_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:128,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:130,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:131,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:133,1
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:139,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - memset
    - memcpy
    - aesni_ecb_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_ghash_avx
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:155,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:159,1
    - Dst: gcm_gmult_avx
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - src
    - src_size
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: gcm_ghash
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - gcm_gmult_avx
    - gcm_ghash_avx
    - memxor
    linkageType: ''
    returnType: void
    signature: "void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t
      \     size_t src_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:170,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:171,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:171,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - src
    - dst
    - pos
    - length
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: ctr_encrypt_last
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ALIGN16
    - aesni_ctr32_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: "void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t\t\t
      \   uint8_t *dst, size_t pos, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:187,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:188,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:191,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:193,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:195,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:199,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:200,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:203,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:205,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:209,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 217
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - aesni_ctr32_encrypt_blocks
    - ALIGN16
    - record_aes_gcm_encrypt_size
    - unlikely
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:228,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:229,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:231,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:232,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:234,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:238,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:239,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:242,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:244,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 253
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - aesni_ctr32_encrypt_blocks
    - ALIGN16
    - unlikely
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:259,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:260,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - gcm_ghash
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:280,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:281,1
    - Dst: gcm_ghash_avx
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:283,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:288,1
    - Dst: MIN
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 289
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gcm_ghash_avx
    - _gnutls_write_uint64
    - MIN
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:304,1
    - Dst: aes_gcm_setiv
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:308,1
    - Dst: aes_gcm_auth
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:312,1
    - Dst: aesni_gcm_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:315,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:316,1
    - Dst: aes_gcm_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:322,1
    - Dst: aes_gcm_tag
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 328
    functionName: aesni_gcm_aead_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - aes_gcm_auth
    - aes_gcm_setiv
    - aes_gcm_tag
    - ALIGN16
    - aesni_gcm_encrypt
    - aes_gcm_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aesni_gcm_aead_encrypt(void *_ctx, const void *nonce,\n\t\t\t\t
      \ size_t nonce_size, const void *auth,\n\t\t\t\t  size_t auth_size, size_t tag_size,\n\t\t\t\t
      \ const void *plain, size_t plain_size,\n\t\t\t\t  void *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:341,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:342,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:344,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:345,1
    - Dst: aes_gcm_setiv
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:347,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:349,1
    - Dst: aes_gcm_auth
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:353,1
    - Dst: aesni_gcm_decrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:358,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:359,1
    - Dst: aes_gcm_decrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:365,1
    - Dst: aes_gcm_tag
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:369,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:371,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 375
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 375
    functionName: aesni_gcm_aead_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul-avx.c
    functionUses: 0
    functionsReached:
    - aes_gcm_decrypt
    - aes_gcm_auth
    - aesni_gcm_decrypt
    - aes_gcm_setiv
    - aes_gcm_tag
    - gnutls_memcmp
    - ALIGN16
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aesni_gcm_aead_decrypt(void *_ctx, const void *nonce,\n\t\t\t\t
      \ size_t nonce_size, const void *auth,\n\t\t\t\t  size_t auth_size, size_t tag_size,\n\t\t\t\t
      \ const void *encr, size_t encr_size,\n\t\t\t\t  void *plain, size_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid_max
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:133,1
    - Dst: __cpuid_count
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: get_cpuid_level7
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid_max
    - __cpuid_count
    linkageType: ''
    returnType: void
    signature: "void get_cpuid_level7(unsigned int *eax, unsigned int *ebx,\n\t\t\t\t
      \   unsigned int *ecx, unsigned int *edx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:148,1
    - Dst: get_cpuid_level7
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vals
    argTypes:
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: read_cpuid_vals
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - get_cpuid_level7
    linkageType: ''
    returnType: unsigned
    signature: unsigned read_cpuid_vals(unsigned int vals[4])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ecx
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: check_4th_gen_intel_features
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_4th_gen_intel_features(unsigned ecx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cpuid_vals
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:186,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:193,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:202,1
    - Dst: check_4th_gen_intel_features
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:209,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:212,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:221,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 234
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 234
    functionName: capabilities_to_intel_cpuid
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - read_cpuid_vals
    - check_4th_gen_intel_features
    linkageType: ''
    returnType: void
    signature: void capabilities_to_intel_cpuid(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: check_optimized_aes
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_optimized_aes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: check_ssse3
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_ssse3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: check_sha
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_sha(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: check_avx_movbe
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_avx_movbe(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: check_pclmul
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_pclmul(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:273,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:279,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:288,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: capabilities_to_zhaoxin_edx
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - _gnutls_debug_log
    linkageType: ''
    returnType: unsigned
    signature: unsigned capabilities_to_zhaoxin_edx(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edx
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: check_padlock
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_padlock(unsigned edx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edx
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: check_phe
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_phe(unsigned edx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edx
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: check_phe_sha512
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_phe_sha512(unsigned edx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: check_fast_pclmul
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    linkageType: ''
    returnType: int
    signature: int check_fast_pclmul(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_sha1_blocks
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 358
    functionName: check_phe_partial
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - padlock_sha1_blocks
    linkageType: ''
    returnType: int
    signature: int check_phe_partial(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:364,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:368,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:368,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:369,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:370,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:370,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: check_zhaoxin
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_zhaoxin(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_zhaoxin
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:383,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:386,1
    - Dst: read_cpuid_vals
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:389,1
    - Dst: padlock_capability
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:391,1
    - Dst: capabilities_to_intel_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:393,1
    - Dst: capabilities_to_zhaoxin_edx
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:394,1
    - Dst: check_ssse3
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:397,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:398,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:400,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:404,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:407,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:411,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:414,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:418,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:424,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:430,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:436,1
    - Dst: check_sha
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:440,1
    - Dst: check_ssse3
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:440,1
    - Dst: check_sha
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:441,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:442,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:444,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:447,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:450,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:453,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:456,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:459,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:462,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:465,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:467,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:470,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:475,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:480,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:485,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:486,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:489,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:494,1
    - Dst: check_optimized_aes
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:497,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:498,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:499,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:502,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:505,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:508,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:511,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:514,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:521,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:528,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:531,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:535,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:538,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:542,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:545,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:549,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:552,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:556,1
    - Dst: check_pclmul
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:560,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:562,1
    - Dst: check_avx_movbe
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:564,1
    - Dst: check_fast_pclmul
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:564,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:565,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:567,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:571,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:574,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:578,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:581,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:585,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:588,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:592,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:595,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:599,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:602,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:606,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:616,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:623,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:626,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:630,1
    - Dst: check_padlock
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:635,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:636,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:637,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:640,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:646,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:650,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:654,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:657,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:660,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:663,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:667,1
    - Dst: check_optimized_aes
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:671,1
    - Dst: check_padlock
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:671,1
    - Dst: _gnutls_priority_update_non_aesni
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:672,1
    - Dst: check_phe
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:675,1
    - Dst: check_phe_partial
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:677,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:678,1
    - Dst: check_phe_sha512
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:680,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:681,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:683,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:686,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:689,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:692,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:695,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:699,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:702,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:706,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:710,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:713,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:716,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:719,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:722,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:725,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:728,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:731,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:736,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:739,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:744,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:746,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:749,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:752,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:755,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:758,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:762,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:765,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:769,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 247
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 775
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 775
    functionName: register_x86_padlock_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - check_zhaoxin
    - padlock_capability
    - read_cpuid_vals
    - check_padlock
    - gnutls_crypto_single_mac_register
    - capabilities_to_intel_cpuid
    - check_fast_pclmul
    - check_avx_movbe
    - gnutls_crypto_single_cipher_register
    - gnutls_assert
    - check_ssse3
    - check_sha
    - memset
    - _gnutls_debug_log
    - gnutls_crypto_single_digest_register
    - check_phe_partial
    - check_optimized_aes
    - check_phe_sha512
    - _gnutls_priority_update_non_aesni
    - check_phe
    - capabilities_to_zhaoxin_edx
    - check_pclmul
    linkageType: ''
    returnType: void
    signature: void register_x86_padlock_crypto(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __get_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:788,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:792,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:792,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:793,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:797,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:797,1
    - Dst: memcmp
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 803
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 803
    functionName: check_x86_cpu_vendor
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - memcmp
    linkageType: ''
    returnType: enum x86_cpu_vendor
    signature: enum x86_cpu_vendor check_x86_cpu_vendor(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:810,1
    - Dst: check_x86_cpu_vendor
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:812,1
    - Dst: read_cpuid_vals
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:818,1
    - Dst: check_4th_gen_intel_features
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:820,1
    - Dst: capabilities_to_intel_cpuid
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:832,1
    - Dst: check_ssse3
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:842,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:843,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:845,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:849,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:852,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:856,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:859,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:863,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:866,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:869,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:872,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:875,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:878,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:881,1
    - Dst: check_sha
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:885,1
    - Dst: check_ssse3
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:885,1
    - Dst: check_sha
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:886,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:887,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:889,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:892,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:898,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:901,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:904,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:907,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:910,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:912,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:915,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:917,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:920,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:922,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:925,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:927,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:930,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:931,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:934,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:936,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:939,1
    - Dst: check_optimized_aes
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:942,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:943,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:944,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:947,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:953,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:956,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:959,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:962,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:966,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:969,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:973,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:976,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:980,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:983,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:987,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:990,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:994,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:997,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1001,1
    - Dst: check_pclmul
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1005,1
    - Dst: check_avx_movbe
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1007,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1008,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1010,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1014,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1017,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1021,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1024,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1028,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1031,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1033,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1037,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1040,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1044,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1047,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1051,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1057,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1061,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1064,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1068,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1071,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1075,1
    - Dst: _gnutls_priority_update_non_aesni
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1079,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 171
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 1083
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 1083
    functionName: register_x86_intel_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 0
    functionsReached:
    - capabilities_to_intel_cpuid
    - gnutls_crypto_single_mac_register
    - check_4th_gen_intel_features
    - _gnutls_priority_update_non_aesni
    - check_avx_movbe
    - gnutls_crypto_single_cipher_register
    - check_x86_cpu_vendor
    - check_ssse3
    - check_optimized_aes
    - check_pclmul
    - check_sha
    - memset
    - _gnutls_debug_log
    - read_cpuid_vals
    - gnutls_assert
    - gnutls_crypto_single_digest_register
    linkageType: ''
    returnType: void
    signature: void register_x86_intel_crypto(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1089,1
    - Dst: strtol
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1091,1
    - Dst: register_x86_intel_crypto
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1094,1
    - Dst: register_x86_padlock_crypto
      Src: /src/gnutls/lib/accelerated/x86/x86-common.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1098
    functionName: register_x86_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/x86/x86-common.c
    functionUses: 1
    functionsReached:
    - secure_getenv
    - strtol
    - register_x86_padlock_crypto
    - register_x86_intel_crypto
    linkageType: ''
    returnType: void
    signature: void register_x86_crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: padlock_hmac_sha1_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,\n\t\t\t\t
      \     size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_sha1_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: padlock_hmac_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - padlock_sha1_update
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      \    const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: padlock_hmac_sha1_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      \    uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: padlock_hmac_sha256_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_sha256_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: padlock_hmac_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - padlock_sha256_update
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha256_update(struct hmac_sha256_ctx *ctx,\n\t\t\t\t
      \      size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: padlock_hmac_sha256_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: padlock_hmac_sha224_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: padlock_hmac_sha224_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: padlock_hmac_sha384_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: padlock_hmac_sha384_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: padlock_hmac_sha512_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_sha512_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: padlock_hmac_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - padlock_sha512_update
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha512_update(struct hmac_sha512_ctx *ctx,\n\t\t\t\t
      \      size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: padlock_hmac_sha512_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void padlock_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - struct padlock_hmac_ctx*
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: _hmac_ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _hmac_ctx_init(gnutls_mac_algorithm_t algo,\n\t\t\t  struct padlock_hmac_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:195,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:197,1
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:203,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 210
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 210
    functionName: wrap_padlock_hmac_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    - _hmac_ctx_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int wrap_padlock_hmac_init(gnutls_mac_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:218,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:220,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: wrap_padlock_hmac_copy
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_padlock_hmac_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct padlock_hmac_ctx*::setkey
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - key
    - keylen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: wrap_padlock_hmac_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - struct padlock_hmac_ctx*::setkey
    linkageType: ''
    returnType: int
    signature: int wrap_padlock_hmac_setkey(void *_ctx, const void *key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct padlock_hmac_ctx*::update
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: wrap_padlock_hmac_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - struct padlock_hmac_ctx*::update
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hmac_update(void *_ctx, const void *text,\n\t\t\t\t
      \   size_t textsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:256,1
    - Dst: struct padlock_hmac_ctx*::digest
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: wrap_padlock_hmac_output
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - struct padlock_hmac_ctx*::digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hmac_output(void *src_ctx, void *digest,\n\t\t\t\t
      \   size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:269,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: wrap_padlock_hmac_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_padlock_hmac_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap_padlock_hash_fast
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:287,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:293,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:295,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:297,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:298,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:300,1
    - Dst: wrap_padlock_hash_fast
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:302,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:306,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:307,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:309,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:310,1
    - Dst: wrap_padlock_hash_fast
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:312,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:315,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:316,1
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:321,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:323,1
    - Dst: wrap_padlock_hmac_setkey
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:326,1
    - Dst: wrap_padlock_hmac_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:328,1
    - Dst: wrap_padlock_hmac_output
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:330,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-padlock.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 8
    argNames:
    - algo
    - nonce
    - nonce_size
    - key
    - key_size
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 336
    functionName: wrap_padlock_hmac_fast
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-padlock.c
    functionUses: 0
    functionsReached:
    - wrap_padlock_hmac_update
    - gnutls_free
    - memxor
    - wrap_padlock_hash_fast
    - zeroize_temp_key
    - gnutls_malloc
    - wrap_padlock_hmac_output
    - wrap_padlock_hmac_setkey
    - memset
    - memcpy
    - _hmac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hmac_fast(gnutls_mac_algorithm_t algo,\n\t\t\t\t
      \ const void *nonce, size_t nonce_size,\n\t\t\t\t  const void *key, size_t key_size,\n\t\t\t\t
      \ const void *text, size_t text_size,\n\t\t\t\t  void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _ctx
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: x86_aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_ecb_encrypt
    linkageType: ''
    returnType: void
    signature: "void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,\n\t\t\t
      \   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: x86_aes128_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes128_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: x86_aes192_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes192_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: x86_aes256_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes256_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:86,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:100,1
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:103,1
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - _ctx
    - key
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: int
    signature: int aes_gcm_cipher_setkey(void *_ctx, const void *key, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:120,1
    - Dst: GCM_SET_IV
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - GCM_SET_IV
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:135,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:139,1
    - Dst: GCM_ENCRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 1
    functionsReached:
    - record_aes_gcm_encrypt_size
    - gnutls_assert_val
    - GCM_ENCRYPT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:153,1
    - Dst: GCM_DECRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 1
    functionsReached:
    - GCM_DECRYPT
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 2
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 2
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:179,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: x86_hmac_sha1_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx, size_t key_length,\n\t\t\t\t
      \ const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_sha1_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: x86_hmac_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - x86_sha1_update
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: x86_hmac_sha1_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: x86_hmac_sha256_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,\n\t\t\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_sha256_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: x86_hmac_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - x86_sha256_update
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha256_update(struct hmac_sha256_ctx *ctx, size_t length,\n\t\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: x86_hmac_sha256_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha256_digest(struct hmac_sha256_ctx *ctx, size_t length,\n\t\t\t\t
      \  uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: x86_hmac_sha224_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,\n\t\t\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: x86_hmac_sha224_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha224_digest(struct hmac_sha224_ctx *ctx, size_t length,\n\t\t\t\t
      \  uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: x86_hmac_sha384_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,\n\t\t\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: x86_hmac_sha384_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha384_digest(struct hmac_sha384_ctx *ctx, size_t length,\n\t\t\t\t
      \  uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: x86_hmac_sha512_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,\n\t\t\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_sha512_update
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: x86_hmac_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - x86_sha512_update
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha512_update(struct hmac_sha512_ctx *ctx, size_t length,\n\t\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: x86_hmac_sha512_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void x86_hmac_sha512_digest(struct hmac_sha512_ctx *ctx, size_t length,\n\t\t\t\t
      \  uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - struct x86_hmac_ctx*
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: _hmac_ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _hmac_ctx_init(gnutls_mac_algorithm_t algo, struct x86_hmac_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:191,1
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:197,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: wrap_x86_hmac_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    - _hmac_ctx_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hmac_init(gnutls_mac_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:214,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: wrap_x86_hmac_copy
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_x86_hmac_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct x86_hmac_ctx*::setkey
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - key
    - keylen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: wrap_x86_hmac_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hmac_ctx*::setkey
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hmac_setkey(void *_ctx, const void *key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct x86_hmac_ctx*::update
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: wrap_x86_hmac_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hmac_ctx*::update
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hmac_update(void *_ctx, const void *text, size_t textsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:248,1
    - Dst: struct x86_hmac_ctx*::digest
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: wrap_x86_hmac_output
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hmac_ctx*::digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int wrap_x86_hmac_output(void *src_ctx, void *digest, size_t digestsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:261,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: wrap_x86_hmac_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_x86_hmac_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:275,1
    - Dst: struct x86_hmac_ctx::setkey
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:277,1
    - Dst: struct x86_hmac_ctx::update
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:278,1
    - Dst: struct x86_hmac_ctx::digest
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:279,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - algo
    - nonce
    - nonce_size
    - key
    - key_size
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: wrap_x86_hmac_fast
    functionSourceFile: /src/gnutls/lib/accelerated/x86/hmac-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - struct x86_hmac_ctx::update
    - zeroize_temp_key
    - struct x86_hmac_ctx::digest
    - _hmac_ctx_init
    - gnutls_assert_val
    - struct x86_hmac_ctx::setkey
    linkageType: ''
    returnType: int
    signature: "int wrap_x86_hmac_fast(gnutls_mac_algorithm_t algo, const void *nonce,\n\t\t\t
      \     size_t nonce_size, const void *key,\n\t\t\t      size_t key_size, const
      void *text,\n\t\t\t      size_t text_size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:12,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:13,1
    - Dst: aes_gcm_setiv
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:15,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:17,1
    - Dst: aes_gcm_auth
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:21,1
    - Dst: aes_gcm_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:23,1
    - Dst: aes_gcm_tag
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 10
    argNames:
    - ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: aes_gcm_aead_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h
    functionUses: 0
    functionsReached:
    - aes_gcm_auth
    - aes_gcm_setiv
    - aes_gcm_tag
    - unlikely
    - aes_gcm_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_aead_encrypt(void *ctx, const void *nonce, size_t nonce_size,\n\t\t\t\tconst
      void *auth, size_t auth_size,\n\t\t\t\tsize_t tag_size, const void *plain,\n\t\t\t\tsize_t
      plain_size, void *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:38,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:39,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:41,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:42,1
    - Dst: aes_gcm_setiv
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:44,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:46,1
    - Dst: aes_gcm_auth
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:50,1
    - Dst: aes_gcm_decrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:53,1
    - Dst: aes_gcm_tag
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:55,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:57,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 10
    argNames:
    - ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 61
    functionName: aes_gcm_aead_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-aead.h
    functionUses: 0
    functionsReached:
    - aes_gcm_decrypt
    - aes_gcm_auth
    - aes_gcm_setiv
    - aes_gcm_tag
    - gnutls_memcmp
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_aead_decrypt(void *ctx, const void *nonce, size_t nonce_size,\n\t\t\t\tconst
      void *auth, size_t auth_size,\n\t\t\t\tsize_t tag_size, const void *encr,\n\t\t\t\tsize_t
      encr_size, void *plain,\n\t\t\t\tsize_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:56,1
    - Dst: vpaes_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - _ctx
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: x86_aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - assert
    - vpaes_encrypt
    linkageType: ''
    returnType: void
    signature: "void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,\n\t\t\t
      \   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: x86_aes_128_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - vpaes_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes_128_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: x86_aes_192_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - vpaes_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes_192_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vpaes_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: x86_aes_256_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - vpaes_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void x86_aes_256_set_encrypt_key(void *_ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:95,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:109,1
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:112,1
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: int
    signature: int aes_gcm_cipher_setkey(void *_ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:129,1
    - Dst: GCM_SET_IV
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 4
    functionsReached:
    - gnutls_assert_val
    - GCM_SET_IV
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:144,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:148,1
    - Dst: GCM_ENCRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 2
    functionsReached:
    - record_aes_gcm_encrypt_size
    - gnutls_assert_val
    - GCM_ENCRYPT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:162,1
    - Dst: GCM_DECRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 2
    functionsReached:
    - GCM_DECRYPT
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 4
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 4
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:188,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _ctx
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: x86_aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_ecb_encrypt
    linkageType: ''
    returnType: void
    signature: "void x86_aes_encrypt(const void *_ctx, size_t length, uint8_t *dst,\n\t\t\t
      \   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:65,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: aes_ccm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - key
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: aes_ccm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: int aes_ccm_cipher_setkey(void *_ctx, const void *key, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:92,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:111,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:112,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:113,1
    - Dst: ccm_encrypt_message
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 122
    functionName: aes_ccm_aead_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - ccm_encrypt_message
    - unlikely
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_aead_encrypt(void *_ctx, const void *nonce,\n\t\t\t\tsize_t
      nonce_size, const void *auth,\n\t\t\t\tsize_t auth_size, size_t tag_size,\n\t\t\t\tconst
      void *plain, size_t plain_size,\n\t\t\t\tvoid *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:134,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:137,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:156,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:157,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:158,1
    - Dst: ccm_decrypt_message
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:163,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 170
    functionName: aes_ccm_aead_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - ccm_decrypt_message
    - unlikely
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_aead_decrypt(void *_ctx, const void *nonce,\n\t\t\t\tsize_t
      nonce_size, const void *auth,\n\t\t\t\tsize_t auth_size, size_t tag_size,\n\t\t\t\tconst
      void *encr, size_t encr_size, void *plain,\n\t\t\t\tsize_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:176,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: aes_ccm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-ccm-x86-aesni.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_ccm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:52,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: aes_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:69,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:72,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:73,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:75,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:76,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: aes_ssse3_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - vpaes_set_decrypt_key
    - ALIGN16
    - vpaes_set_encrypt_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_ssse3_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      \  size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:89,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:90,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:92,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:93,1
    - Dst: vpaes_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:95,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: aes_ssse3_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - unlikely
    - vpaes_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_ssse3_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \    void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:105,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:106,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:109,1
    - Dst: vpaes_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:111,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: aes_ssse3_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - unlikely
    - vpaes_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_ssse3_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \    void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:122,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: aes_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: aes_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-ssse3.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OK
      Src: /src/gnutls/lib/accelerated/x86/aes-x86.h:31,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-x86.h:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - counter
    - size
    argTypes:
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: record_aes_gcm_encrypt_size
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-x86.h
    functionUses: 3
    functionsReached:
    - INT_ADD_OK
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:52,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: aes_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:68,1
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:71,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:72,1
    - Dst: aesni_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:74,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:75,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: aes_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - ALIGN16
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_cipher_setkey(void *_ctx, const void *userkey, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:88,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: aes_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:100,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:103,1
    - Dst: aesni_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:105,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 1
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - unlikely
    - aesni_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_encrypt(void *_ctx, const void *src, size_t src_size, void
      *dst,\n\t\t       size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:116,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:119,1
    - Dst: aesni_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:121,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: aes_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - unlikely
    - aesni_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_decrypt(void *_ctx, const void *src, size_t src_size, void
      *dst,\n\t\t       size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: aes_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-cbc-x86-aesni.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct padlock_hash_ctx*::update
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: wrap_padlock_hash_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - struct padlock_hash_ctx*::update
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hash_update(void *_ctx, const void *text,\n\t\t\t\t
      \   size_t textsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: wrap_padlock_hash_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_padlock_hash_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:84,1
    - Dst: MD1_INCR
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: padlock_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 1
    functionsReached:
    - MD_UPDATE
    - MD1_INCR
    linkageType: ''
    returnType: void
    signature: "void padlock_sha1_update(struct sha1_ctx *ctx, size_t length,\n\t\t\t
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:90,1
    - Dst: MD1_INCR
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: padlock_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 1
    functionsReached:
    - MD_UPDATE
    - MD1_INCR
    linkageType: ''
    returnType: void
    signature: "void padlock_sha256_update(struct sha256_ctx *ctx, size_t length,\n\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:96,1
    - Dst: MD_INCR
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: padlock_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 1
    functionsReached:
    - MD_UPDATE
    - MD_INCR
    linkageType: ''
    returnType: void
    signature: "void padlock_sha512_update(struct sha512_ctx *ctx, size_t length,\n\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_UINT32
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:109,1
    - Dst: abort
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - unsigned
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: _nettle_write_be32
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - abort
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_write_be32(unsigned length, uint8_t *dst, uint32_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:137,1
    - Dst: MD_PAD
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:139,1
    - Dst: WRITE_UINT64
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:145,1
    - Dst: SHA1_COMPRESS
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:146,1
    - Dst: _nettle_write_be32
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: padlock_sha1_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - assert
    - MD_PAD
    - WRITE_UINT64
    - _nettle_write_be32
    - SHA1_COMPRESS
    linkageType: ''
    returnType: void
    signature: "void padlock_sha1_digest(struct sha1_ctx *ctx, size_t length,\n\t\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:156,1
    - Dst: MD_PAD
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:158,1
    - Dst: WRITE_UINT64
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:166,1
    - Dst: SHA256_COMPRESS
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:167,1
    - Dst: _nettle_write_be32
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: padlock_sha256_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - assert
    - MD_PAD
    - SHA256_COMPRESS
    - WRITE_UINT64
    - _nettle_write_be32
    linkageType: ''
    returnType: void
    signature: "void padlock_sha256_digest(struct sha256_ctx *ctx, size_t length,\n\t\t\t\t
      \ uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:181,1
    - Dst: MD_PAD
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:183,1
    - Dst: WRITE_UINT64
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:192,1
    - Dst: WRITE_UINT64
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:193,1
    - Dst: SHA512_COMPRESS
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:194,1
    - Dst: WRITE_UINT64
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 211
    functionName: padlock_sha512_digest
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - SHA512_COMPRESS
    - assert
    - WRITE_UINT64
    - MD_PAD
    linkageType: ''
    returnType: void
    signature: "void padlock_sha512_digest(struct sha512_ctx *ctx, size_t length,\n\t\t\t\t
      \ uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:218,1
    - Dst: sha224_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:226,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:234,1
    - Dst: sha384_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:242,1
    - Dst: sha512_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - struct padlock_hash_ctx*
    constantsTouched: []
    func_position:
      end: 263
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 263
    functionName: _ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 56
    functionsReached:
    - sha384_init
    - sha512_init
    - sha1_init
    - sha256_init
    - gnutls_assert
    - sha224_init
    linkageType: ''
    returnType: int
    signature: "int _ctx_init(gnutls_digest_algorithm_t algo,\n\t\t     struct padlock_hash_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:272,1
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: wrap_padlock_hash_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - _ctx_init
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int wrap_padlock_hash_init(gnutls_digest_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:294,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:296,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: wrap_padlock_hash_copy
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_padlock_hash_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:313,1
    - Dst: struct padlock_hash_ctx*::digest
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:315,1
    - Dst: struct padlock_hash_ctx*::init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: wrap_padlock_hash_output
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 0
    functionsReached:
    - struct padlock_hash_ctx*::init
    - gnutls_assert_val
    - struct padlock_hash_ctx*::digest
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hash_output(void *src_ctx, void *digest,\n\t\t\t\t
      \   size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_sha1_oneshot
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:332,1
    - Dst: _nettle_write_be32
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:333,1
    - Dst: padlock_sha256_oneshot
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:339,1
    - Dst: _nettle_write_be32
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:340,1
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:345,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:347,1
    - Dst: wrap_padlock_hash_update
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:350,1
    - Dst: wrap_padlock_hash_output
      Src: /src/gnutls/lib/accelerated/x86/sha-padlock.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - algo
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 356
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 356
    functionName: wrap_padlock_hash_fast
    functionSourceFile: /src/gnutls/lib/accelerated/x86/sha-padlock.c
    functionUses: 1
    functionsReached:
    - _ctx_init
    - wrap_padlock_hash_output
    - padlock_sha1_oneshot
    - padlock_sha256_oneshot
    - _nettle_write_be32
    - wrap_padlock_hash_update
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo, const void
      *text,\n\t\t\t   size_t text_size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:57,1
    - Dst: padlock_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - _ctx
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: padlock_aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - padlock_ecb_encrypt
    linkageType: ''
    returnType: void
    signature: "void padlock_aes_encrypt(const void *_ctx, size_t length, uint8_t
      *dst,\n\t\t\t\tconst uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_aes_cipher_setkey
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - struct padlock_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: padlock_aes128_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - padlock_aes_cipher_setkey
    linkageType: ''
    returnType: void
    signature: "void padlock_aes128_set_encrypt_key(struct padlock_ctx *_ctx,\n\t\t\t\t\t
      \  const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: padlock_aes_cipher_setkey
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - _ctx
    - key
    argTypes:
    - struct padlock_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: padlock_aes256_set_encrypt_key
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - padlock_aes_cipher_setkey
    linkageType: ''
    returnType: void
    signature: "void padlock_aes256_set_encrypt_key(struct padlock_ctx *_ctx,\n\t\t\t\t\t
      \  const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:85,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:97,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:111,1
    - Dst: GCM_SET_KEY
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: int
    signature: int aes_gcm_cipher_setkey(void *_ctx, const void *key, size_t keysize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:128,1
    - Dst: GCM_SET_IV
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 4
    functionsReached:
    - gnutls_assert_val
    - GCM_SET_IV
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:142,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:143,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:147,1
    - Dst: GCM_ENCRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 2
    functionsReached:
    - record_aes_gcm_encrypt_size
    - gnutls_assert_val
    - GCM_ENCRYPT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:160,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:161,1
    - Dst: GCM_DECRYPT
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 2
    functionsReached:
    - GCM_DECRYPT
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 4
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-padlock.c
    functionUses: 4
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:50,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: x86_aes_xts_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int x86_aes_xts_cipher_init(gnutls_cipher_algorithm_t algorithm,\n\t\t\t\t
      \  void **_ctx, int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:70,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:73,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:74,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:75,1
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:83,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:84,1
    - Dst: aesni_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:86,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:87,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:90,1
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:92,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:93,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 98
    functionName: x86_aes_xts_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - gnutls_memcmp
    - ALIGN16
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int x86_aes_xts_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      \    size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:105,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: x86_aes_xts_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int x86_aes_xts_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:120,1
    - Dst: aesni_xts_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:122,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:122,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: x86_aes_xts_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - aesni_xts_encrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int x86_aes_xts_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:132,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:136,1
    - Dst: aesni_xts_decrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:138,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:138,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: x86_aes_xts_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - aesni_xts_decrypt
    - ALIGN16
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int x86_aes_xts_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: x86_aes_xts_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-xts-x86-aesni.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void x86_aes_xts_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:75,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:88,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:103,1
    - Dst: aesni_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:105,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:106,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:108,1
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:110,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:111,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:113,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:114,1
    - Dst: gcm_init_clmul
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - ALIGN16
    - bswap_64
    - gcm_init_clmul
    - aesni_set_encrypt_key
    - aesni_ecb_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:127,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:129,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:130,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:132,1
    - Dst: aesni_ecb_encrypt
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:138,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 145
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 4
    functionsReached:
    - ALIGN16
    - memset
    - memcpy
    - aesni_ecb_encrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_ghash_clmul
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:154,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:158,1
    - Dst: gcm_gmult_clmul
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - src
    - src_size
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: gcm_ghash
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 3
    functionsReached:
    - gcm_ghash_clmul
    - gcm_gmult_clmul
    - memxor
    linkageType: ''
    returnType: void
    signature: "void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t
      \     size_t src_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:169,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:170,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:170,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - src
    - dst
    - pos
    - length
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: ctr_encrypt_last
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ALIGN16
    - aesni_ctr32_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: "void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t\t\t
      \   uint8_t *dst, size_t pos, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:186,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:187,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:189,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:190,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:192,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:194,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:198,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:199,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:202,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:204,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:208,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 216
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 216
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 2
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - aesni_ctr32_encrypt_blocks
    - ALIGN16
    - record_aes_gcm_encrypt_size
    - unlikely
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:227,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:228,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:230,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:231,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:233,1
    - Dst: aesni_ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:237,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:238,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:241,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:243,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 252
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 252
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 2
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - aesni_ctr32_encrypt_blocks
    - ALIGN16
    - unlikely
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:258,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:259,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 4
    functionsReached:
    - gcm_ghash
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:279,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:280,1
    - Dst: gcm_ghash_clmul
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:282,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:287,1
    - Dst: MIN
      Src: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 288
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/x86/aes-gcm-x86-pclmul.c
    functionUses: 4
    functionsReached:
    - memcpy
    - gcm_ghash_clmul
    - _gnutls_write_uint64
    - MIN
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OK
      Src: /src/gnutls/lib/accelerated/aarch64/aes-aarch64.h:29,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-aarch64.h:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - counter
    - size
    argTypes:
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: record_aes_gcm_encrypt_size
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-aarch64.h
    functionUses: 5
    functionsReached:
    - INT_ADD_OK
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:51,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: aes_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx,\n\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:68,1
    - Dst: aes_v8_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:71,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:72,1
    - Dst: aes_v8_set_decrypt_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:74,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:75,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: aes_aarch64_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - ALIGN16
    - aes_v8_set_encrypt_key
    - aes_v8_set_decrypt_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_aarch64_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      \    size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:89,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:92,1
    - Dst: aes_v8_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:94,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: aes_aarch64_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - aes_v8_cbc_encrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_aarch64_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:104,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:105,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:108,1
    - Dst: aes_v8_cbc_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:110,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: aes_aarch64_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - ALIGN16
    - gnutls_assert_val
    - aes_v8_cbc_encrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int aes_aarch64_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \      void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:121,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: aes_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: aes_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-cbc-aarch64.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:77,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: aes_gcm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:90,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: aes_gcm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **_ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:105,1
    - Dst: aes_v8_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:107,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:110,1
    - Dst: aes_v8_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:112,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:112,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:114,1
    - Dst: bswap_64
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:115,1
    - Dst: gcm_init_v8
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - _ctx
    - userkey
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: aes_gcm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - aes_v8_encrypt
    - ALIGN16
    - gcm_init_v8
    - bswap_64
    - aes_v8_set_encrypt_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher_setkey(void *_ctx, const void *userkey,\n\t\t\t\t
      size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:128,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:130,1
    - Dst: memset
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:131,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:133,1
    - Dst: aes_v8_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:139,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: aes_gcm_setiv
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 4
    functionsReached:
    - aes_v8_encrypt
    - ALIGN16
    - memset
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int aes_gcm_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_ghash_v8
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:155,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:158,1
    - Dst: gcm_gmult_v8
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - src
    - src_size
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: gcm_ghash
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 6
    functionsReached:
    - gcm_ghash_v8
    - memxor
    - gcm_gmult_v8
    linkageType: ''
    returnType: void
    signature: "void gcm_ghash(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t
      \     size_t src_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:172,1
    - Dst: aes_v8_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:175,1
    - Dst: memxor3
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:176,1
    - Dst: INC32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - key
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: ctr32_encrypt_blocks_inplace
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - INC32
    - aes_v8_encrypt
    - memxor3
    linkageType: ''
    returnType: void
    signature: "void ctr32_encrypt_blocks_inplace(const unsigned char *in,\n\t\t\t\t\t
      unsigned char *out, size_t blocks,\n\t\t\t\t\t const AES_KEY *key,\n\t\t\t\t\t
      const unsigned char ivec[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr32_encrypt_blocks_inplace
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:192,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:194,1
    - Dst: aes_v8_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:197,1
    - Dst: memxor
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:198,1
    - Dst: INC32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - key
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char[]
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: ctr32_encrypt_blocks
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 6
    functionsReached:
    - aes_v8_encrypt
    - memxor
    - ctr32_encrypt_blocks_inplace
    - memcpy
    - INC32
    linkageType: ''
    returnType: void
    signature: "void ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out,\n\t\t\t\t
      size_t blocks, const AES_KEY *key,\n\t\t\t\t const unsigned char ivec[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:212,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:213,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:213,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - src
    - dst
    - pos
    - length
    argTypes:
    - struct aes_gcm_ctx*
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: ctr_encrypt_last
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 4
    functionsReached:
    - memcpy
    - ALIGN16
    - ctr32_encrypt_blocks
    linkageType: ''
    returnType: void
    signature: "void ctr_encrypt_last(struct aes_gcm_ctx *ctx, const uint8_t *src,\n\t\t\t\t
      \   uint8_t *dst, size_t pos, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:229,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:230,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:232,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:233,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:237,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:241,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:242,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:245,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:247,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:251,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - length
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 259
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 259
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 2
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - ALIGN16
    - _gnutls_read_uint32
    - record_aes_gcm_encrypt_size
    - unlikely
    - ctr32_encrypt_blocks
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:270,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:271,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:274,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:276,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:280,1
    - Dst: ALIGN16
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:281,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:284,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:286,1
    - Dst: ctr_encrypt_last
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - _ctx
    - src
    - src_size
    - dst
    - dst_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 295
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 295
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 2
    functionsReached:
    - gcm_ghash
    - _gnutls_write_uint32
    - ctr_encrypt_last
    - ALIGN16
    - _gnutls_read_uint32
    - unlikely
    - ctr32_encrypt_blocks
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(void *_ctx, const void *src, size_t src_size,\n\t\t\t
      \  void *dst, size_t dst_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:301,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:302,1
    - Dst: gcm_ghash
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _ctx
    - src
    - src_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: aes_gcm_auth
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 4
    functionsReached:
    - gcm_ghash
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: int aes_gcm_auth(void *_ctx, const void *src, size_t src_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:322,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:323,1
    - Dst: gcm_ghash_v8
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:325,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:330,1
    - Dst: MIN
      Src: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tagsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: aes_gcm_tag
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-gcm-aarch64.c
    functionUses: 4
    functionsReached:
    - memcpy
    - gcm_ghash_v8
    - _gnutls_write_uint64
    - MIN
    linkageType: ''
    returnType: void
    signature: void aes_gcm_tag(void *_ctx, void *tag, size_t tagsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: capabilities_to_cpuid
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void capabilities_to_cpuid(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:87,1
    - Dst: sysctl
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:106,1
    - Dst: ID_AA64ISAR0_AES
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:108,1
    - Dst: ID_AA64ISAR0_AES
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:110,1
    - Dst: ID_AA64ISAR0_SHA1
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:112,1
    - Dst: ID_AA64ISAR0_SHA2
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:114,1
    - Dst: ID_AA64ISAR0_SHA2
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - caps
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: discover_caps
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c
    functionUses: 0
    functionsReached:
    - getauxval
    - ID_AA64ISAR0_SHA1
    - ID_AA64ISAR0_SHA2
    - ID_AA64ISAR0_AES
    - sysctl
    linkageType: ''
    returnType: void
    signature: void discover_caps(unsigned int *caps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: discover_caps
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:126,1
    - Dst: capabilities_to_cpuid
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:128,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:132,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:137,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:143,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:148,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:153,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:159,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:162,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:165,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:168,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:171,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:177,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:180,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:183,1
    - Dst: gnutls_crypto_single_digest_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:189,1
    - Dst: gnutls_crypto_single_mac_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:192,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:195,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:200,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:203,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:205,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:209,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:216,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:223,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:227,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:231,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:238,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:245,1
    - Dst: gnutls_crypto_single_cipher_register
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:248,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:252,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 1
    argNames:
    - capabilities
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 257
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 257
    functionName: _register_aarch64_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c
    functionUses: 0
    functionsReached:
    - capabilities_to_cpuid
    - gnutls_crypto_single_cipher_register
    - gnutls_assert
    - discover_caps
    - _gnutls_debug_log
    - gnutls_crypto_single_digest_register
    - gnutls_crypto_single_mac_register
    linkageType: ''
    returnType: void
    signature: void _register_aarch64_crypto(unsigned capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:263,1
    - Dst: strtol
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:265,1
    - Dst: _register_aarch64_crypto
      Src: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: register_aarch64_crypto
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aarch64-common.c
    functionUses: 2
    functionsReached:
    - _register_aarch64_crypto
    - secure_getenv
    - strtol
    linkageType: ''
    returnType: void
    signature: void register_aarch64_crypto(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_v8_encrypt
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - _ctx
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: aarch64_aes_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - aes_v8_encrypt
    linkageType: ''
    returnType: void
    signature: "void aarch64_aes_encrypt(const void *_ctx, size_t length, uint8_t
      *dst,\n\t\t\t\tconst uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:70,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - algorithm
    - ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: aes_ccm_cipher_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_cipher_init(gnutls_cipher_algorithm_t algorithm, void
      **ctx,\n\t\t\t       int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AES_KEYSIZE
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:83,1
    - Dst: aes_v8_set_encrypt_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _ctx
    - key
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: aes_ccm_cipher_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - CHECK_AES_KEYSIZE
    - aes_v8_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: int aes_ccm_cipher_setkey(void *_ctx, const void *key, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:100,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:119,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:120,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:121,1
    - Dst: ccm_encrypt_message
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: aes_ccm_aead_encrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - ccm_encrypt_message
    - unlikely
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_aead_encrypt(void *_ctx, const void *nonce,\n\t\t\t\tsize_t
      nonce_size, const void *auth,\n\t\t\t\tsize_t auth_size, size_t tag_size,\n\t\t\t\tconst
      void *plain, size_t plain_size,\n\t\t\t\tvoid *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:142,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:144,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:145,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:164,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:166,1
    - Dst: ccm_decrypt_message
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:171,1
    - Dst: unlikely
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 178
    functionName: aes_ccm_aead_decrypt
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - ccm_decrypt_message
    - unlikely
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_aead_decrypt(void *_ctx, const void *nonce,\n\t\t\t\tsize_t
      nonce_size, const void *auth,\n\t\t\t\tsize_t auth_size, size_t tag_size,\n\t\t\t\tconst
      void *encr, size_t encr_size, void *plain,\n\t\t\t\tsize_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:184,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: aes_ccm_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/aes-ccm-aarch64.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void aes_ccm_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct aarch64_hash_ctx*::update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: wrap_aarch64_hash_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hash_ctx*::update
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hash_update(void *_ctx, const void *text,\n\t\t\t\t
      \   size_t textsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: wrap_aarch64_hash_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_aarch64_hash_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:90,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:101,1
    - Dst: sha1_block_data_order
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:110,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:123,1
    - Dst: sha1_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 129
    functionName: aarch64_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha1_update
    - sha1_block_data_order
    linkageType: ''
    returnType: void
    signature: "void aarch64_sha1_update(struct sha1_ctx *ctx, size_t length,\n\t\t\t
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:148,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:153,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:154,1
    - Dst: sha256_block_data_order
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:162,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:169,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:171,1
    - Dst: sha256_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 177
    functionName: aarch64_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha256_update
    - sha256_block_data_order
    linkageType: ''
    returnType: void
    signature: "void aarch64_sha256_update(struct sha256_ctx *ctx, size_t length,\n\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:199,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:204,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:205,1
    - Dst: sha512_block_data_order
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:213,1
    - Dst: MD_INCR
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:216,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:220,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:222,1
    - Dst: sha512_update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 228
    functionName: aarch64_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MD_INCR
    - sha512_block_data_order
    - sha512_update
    linkageType: ''
    returnType: void
    signature: "void aarch64_sha512_update(struct sha512_ctx *ctx, size_t length,\n\t\t\t
      \  const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:235,1
    - Dst: sha224_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:243,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:251,1
    - Dst: sha384_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:259,1
    - Dst: sha512_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:267,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - struct aarch64_hash_ctx*
    constantsTouched: []
    func_position:
      end: 280
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 280
    functionName: _ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 58
    functionsReached:
    - sha384_init
    - sha512_init
    - sha1_init
    - sha256_init
    - gnutls_assert
    - sha224_init
    linkageType: ''
    returnType: int
    signature: "int _ctx_init(gnutls_digest_algorithm_t algo,\n\t\t     struct aarch64_hash_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:287,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:289,1
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 303
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 303
    functionName: wrap_aarch64_hash_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - _ctx_init
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int wrap_aarch64_hash_init(gnutls_digest_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:313,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: wrap_aarch64_hash_copy
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_aarch64_hash_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:330,1
    - Dst: struct aarch64_hash_ctx*::digest
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: wrap_aarch64_hash_output
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hash_ctx*::digest
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hash_output(void *src_ctx, void *digest,\n\t\t\t\t
      \   size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _ctx_init
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:344,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:346,1
    - Dst: struct aarch64_hash_ctx::update
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:348,1
    - Dst: struct aarch64_hash_ctx::digest
      Src: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - algo
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: wrap_aarch64_hash_fast
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hash_ctx::digest
    - _ctx_init
    - struct aarch64_hash_ctx::update
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hash_fast(gnutls_digest_algorithm_t algo,\n\t\t\t\t
      \ const void *text, size_t text_size,\n\t\t\t\t  void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: aarch64_hmac_sha1_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,\n\t\t\t\t
      \     size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aarch64_sha1_update
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: aarch64_hmac_sha1_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - aarch64_sha1_update
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha1_update(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      \    const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: aarch64_hmac_sha1_digest
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha1_digest(struct hmac_sha1_ctx *ctx, size_t length,\n\t\t\t\t
      \    uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: aarch64_hmac_sha256_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aarch64_sha256_update
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: aarch64_hmac_sha256_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - aarch64_sha256_update
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha256_update(struct hmac_sha256_ctx *ctx,\n\t\t\t\t
      \      size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: aarch64_hmac_sha256_digest
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha256_digest(struct hmac_sha256_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: aarch64_hmac_sha224_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: aarch64_hmac_sha224_digest
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha224_digest(struct hmac_sha224_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: aarch64_hmac_sha384_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha384_set_key(struct hmac_sha384_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha384_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: aarch64_hmac_sha384_digest
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha384_digest(struct hmac_sha384_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: aarch64_hmac_sha512_set_key
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,\n\t\t\t\t\tsize_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aarch64_sha512_update
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: aarch64_hmac_sha512_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - aarch64_sha512_update
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha512_update(struct hmac_sha512_ctx *ctx,\n\t\t\t\t
      \      size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: aarch64_hmac_sha512_digest
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void aarch64_hmac_sha512_digest(struct hmac_sha512_ctx *ctx,\n\t\t\t\t
      \      size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - struct aarch64_hmac_ctx*
    constantsTouched: []
    func_position:
      end: 183
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 183
    functionName: _hmac_ctx_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _hmac_ctx_init(gnutls_mac_algorithm_t algo,\n\t\t\t  struct aarch64_hmac_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:190,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:192,1
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: wrap_aarch64_hmac_init
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    - _hmac_ctx_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int wrap_aarch64_hmac_init(gnutls_mac_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:215,1
    - Dst: memcpy
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: wrap_aarch64_hmac_copy
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: void
    signature: void *wrap_aarch64_hmac_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct aarch64_hmac_ctx*::setkey
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - key
    - keylen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: wrap_aarch64_hmac_setkey
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hmac_ctx*::setkey
    linkageType: ''
    returnType: int
    signature: int wrap_aarch64_hmac_setkey(void *_ctx, const void *key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct aarch64_hmac_ctx*::update
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: wrap_aarch64_hmac_update
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hmac_ctx*::update
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hmac_update(void *_ctx, const void *text,\n\t\t\t\t
      \   size_t textsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:251,1
    - Dst: struct aarch64_hmac_ctx*::digest
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: wrap_aarch64_hmac_output
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hmac_ctx*::digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hmac_output(void *src_ctx, void *digest,\n\t\t\t\t
      \   size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:264,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: wrap_aarch64_hmac_deinit
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_aarch64_hmac_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hmac_ctx_init
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:279,1
    - Dst: struct aarch64_hmac_ctx::setkey
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:281,1
    - Dst: struct aarch64_hmac_ctx::update
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:282,1
    - Dst: struct aarch64_hmac_ctx::digest
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:283,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - algo
    - nonce
    - nonce_size
    - key
    - key_size
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: wrap_aarch64_hmac_fast
    functionSourceFile: /src/gnutls/lib/accelerated/aarch64/hmac-sha-aarch64.c
    functionUses: 0
    functionsReached:
    - struct aarch64_hmac_ctx::setkey
    - struct aarch64_hmac_ctx::update
    - zeroize_temp_key
    - struct aarch64_hmac_ctx::digest
    - _hmac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_aarch64_hmac_fast(gnutls_mac_algorithm_t algo,\n\t\t\t\t
      \ const void *nonce, size_t nonce_size,\n\t\t\t\t  const void *key, size_t key_size,\n\t\t\t\t
      \ const void *text, size_t text_size,\n\t\t\t\t  void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_random
      Src: /src/gnutls/lib/includes/gnutls/compat.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: gnutls_session_get_server_random
    functionSourceFile: /src/gnutls/lib/includes/gnutls/compat.h
    functionUses: 0
    functionsReached:
    - gnutls_session_get_random
    linkageType: ''
    returnType: void
    signature: 'void *

      gnutls_session_get_server_random(gnutls_session_t session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_random
      Src: /src/gnutls/lib/includes/gnutls/compat.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: gnutls_session_get_client_random
    functionSourceFile: /src/gnutls/lib/includes/gnutls/compat.h
    functionUses: 0
    functionsReached:
    - gnutls_session_get_random
    linkageType: ''
    returnType: void
    signature: 'void *

      gnutls_session_get_client_random(gnutls_session_t session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: gnutls::noncopyable::noncopyable
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noncopyable()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ~noncopyable()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~noncopyable()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: ~DB()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DB()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ~credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exception
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: gnutls::RETWRAP
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - exception
    linkageType: ''
    returnType: int
    signature: int RETWRAP(int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:440,1
    - Dst: gnutls_init
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: gnutls::session::session
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_init
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::session(unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_deinit
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: session::~session()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_deinit
    linkageType: ''
    returnType: void
    signature: void session::~session()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: gnutls::session::ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_session_t
    signature: gnutls_session_t session::ptr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:455,1
    - Dst: gnutls_bye
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - how
    argTypes:
    - gnutls_close_request_t
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: gnutls::session::bye
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_bye
    - RETWRAP
    linkageType: ''
    returnType: int
    signature: int session::bye(gnutls_close_request_t how)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:460,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: gnutls::session::handshake
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_handshake
    linkageType: ''
    returnType: int
    signature: int session::handshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: gnutls::server_session::server_session
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_session::server_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: gnutls::server_session::server_session
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_session::server_session(int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: server_session::~server_session()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void server_session::~server_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:479,1
    - Dst: gnutls_rehandshake
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: gnutls::server_session::rehandshake
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_rehandshake
    - RETWRAP
    linkageType: ''
    returnType: int
    signature: int server_session::rehandshake()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_alert_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: gnutls::session::get_alert
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_alert_get
    linkageType: ''
    returnType: gnutls_alert_description_t
    signature: gnutls_alert_description_t session::get_alert() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:489,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - desc
    argTypes:
    - gnutls_alert_level_t
    - gnutls_alert_description_t
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: gnutls::session::send_alert
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_alert_send
    - RETWRAP
    linkageType: ''
    returnType: int
    signature: "int session::send_alert(gnutls_alert_level_t level,\n\t\t\tgnutls_alert_description_t
      desc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:494,1
    - Dst: gnutls_alert_send_appropriate
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: gnutls::session::send_appropriate_alert
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_alert_send_appropriate
    linkageType: ''
    returnType: int
    signature: int session::send_appropriate_alert(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_cipher_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: gnutls::session::get_cipher
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_cipher_get
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t session::get_cipher() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_kx_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: gnutls::session::get_kx
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_kx_get
    linkageType: ''
    returnType: gnutls_kx_algorithm_t
    signature: gnutls_kx_algorithm_t session::get_kx() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_mac_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: gnutls::session::get_mac
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_mac_get
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t session::get_mac() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_compression_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: gnutls::session::get_compression
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_compression_get
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t session::get_compression() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: gnutls::session::get_certificate_type
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_type_get
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t session::get_certificate_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_set_private_extensions
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allow
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: gnutls::session::set_private_extensions
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_handshake_set_private_extensions
    linkageType: ''
    returnType: void
    signature: void session::set_private_extensions(bool allow)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_get_last_out
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: gnutls::session::get_handshake_last_out
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_handshake_get_last_out
    linkageType: ''
    returnType: gnutls_handshake_description_t
    signature: gnutls_handshake_description_t session::get_handshake_last_out() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_get_last_in
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: gnutls::session::get_handshake_last_in
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_handshake_get_last_in
    linkageType: ''
    returnType: gnutls_handshake_description_t
    signature: gnutls_handshake_description_t session::get_handshake_last_in() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:532,1
    - Dst: gnutls_record_send
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sizeofdata
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: gnutls::session::send
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_record_send
    - RETWRAP
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t session::send(const void *data, size_t sizeofdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:537,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sizeofdata
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 12
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: gnutls::session::recv
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_record_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t session::recv(void *data, size_t sizeofdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_direction
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: gnutls::session::get_record_direction
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_record_get_direction
    linkageType: ''
    returnType: bool
    signature: bool session::get_record_direction() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_max_size
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: gnutls::session::get_max_size
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_record_get_max_size
    linkageType: ''
    returnType: size_t
    signature: size_t session::get_max_size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:552,1
    - Dst: gnutls_record_set_max_size
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: gnutls::session::set_max_size
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_record_set_max_size
    linkageType: ''
    returnType: void
    signature: void session::set_max_size(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: gnutls::session::check_pending
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_record_check_pending
    linkageType: ''
    returnType: size_t
    signature: size_t session::check_pending() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:563,1
    - Dst: gnutls_prf
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - label_size
    - label
    - server_random_first
    - extra_size
    - extra
    - outsize
    - out
    argTypes:
    - size_t
    - char*
    - int
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: gnutls::session::prf
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_prf
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void session::prf(size_t label_size, const char *label, int server_random_first,\n\t\t
      \ size_t extra_size, const char *extra, size_t outsize,\n\t\t  char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:570,1
    - Dst: gnutls_prf_raw
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - label_size
    - label
    - seed_size
    - seed
    - outsize
    - out
    argTypes:
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: gnutls::session::prf_raw
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_prf_raw
    linkageType: ''
    returnType: void
    signature: "void session::prf_raw(size_t label_size, const char *label, size_t
      seed_size,\n\t\t      const char *seed, size_t outsize, char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:578,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prio
    - err_pos
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 8
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: gnutls::session::set_priority
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_priority_set_direct
    linkageType: ''
    returnType: void
    signature: void session::set_priority(const char *prio, const char **err_pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:583,1
    - Dst: gnutls_priority_set
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_priority_t
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: gnutls::session::set_priority
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_priority_set
    linkageType: ''
    returnType: void
    signature: void session::set_priority(gnutls_priority_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: gnutls::session::get_protocol_version
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_protocol_get_version
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t session::get_protocol_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:592,1
    - Dst: gnutls_session_set_data
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session_data
    - session_data_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: gnutls::session::set_data
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_session_set_data
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::set_data(const void *session_data, size_t session_data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:597,1
    - Dst: gnutls_session_get_data
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session_data
    - session_data_size
    argTypes:
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: gnutls::session::get_data
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_session_get_data
    linkageType: ''
    returnType: void
    signature: void session::get_data(void *session_data, size_t *session_data_size)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:601,1
    - Dst: gnutls_session_get_data2
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: gnutls::session::get_data
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_session_get_data2
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::get_data(gnutls_session_t session, gnutls_datum_t &data)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:605,1
    - Dst: gnutls_session_get_id
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session_id
    - session_id_size
    argTypes:
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: gnutls::session::get_id
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_session_get_id
    linkageType: ''
    returnType: void
    signature: void session::get_id(void *session_id, size_t *session_id_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: gnutls::session::is_resumed
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool session::is_resumed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:618,1
    - Dst: std::vector<gnutls_datum_t>::push_back
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - out_certs
    argTypes:
    - std::vector<gnutls_datum_t>
    constantsTouched: []
    func_position:
      end: 627
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 627
    functionName: gnutls::session::get_peers_certificate
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_get_peers
    - std::vector<gnutls_datum_t>::push_back
    linkageType: ''
    returnType: bool
    signature: bool session::get_peers_certificate(std::vector<gnutls_datum_t> &out_certs)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - certs
    - certs_size
    argTypes:
    - gnutls_datum_t**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: gnutls::session::get_peers_certificate
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_get_peers
    linkageType: ''
    returnType: bool
    signature: "bool session::get_peers_certificate(const gnutls_datum_t **certs,\n\t\t\t\t
      \   unsigned int *certs_size) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_ours
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:641,1
    - Dst: exception
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: gnutls::session::get_our_certificate
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - exception
    - gnutls_certificate_get_ours
    linkageType: ''
    returnType: void
    signature: void session::get_our_certificate(gnutls_datum_t &cert) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_activation_time_peers
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: gnutls::session::get_peers_certificate_activation_time
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_activation_time_peers
    linkageType: ''
    returnType: time_t
    signature: time_t session::get_peers_certificate_activation_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_expiration_time_peers
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: gnutls::session::get_peers_certificate_expiration_time
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_expiration_time_peers
    linkageType: ''
    returnType: time_t
    signature: time_t session::get_peers_certificate_expiration_time() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:657,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: gnutls::session::verify_peers_certificate
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_verify_peers2
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::verify_peers_certificate(unsigned int &status) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: gnutls::client_session::client_session
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void client_session::client_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: gnutls::client_session::client_session
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void client_session::client_session(int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: client_session::~client_session()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void client_session::~client_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_verify_cert
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hostname
    - flags
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: gnutls::client_session::set_verify_cert
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_session_set_verify_cert
    linkageType: ''
    returnType: void
    signature: void client_session::set_verify_cert(const char *hostname, unsigned
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:682,1
    - Dst: gnutls_server_name_set
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - name_length
    argTypes:
    - gnutls_server_name_type_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: gnutls::client_session::set_server_name
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_server_name_set
    linkageType: ''
    returnType: void
    signature: "void client_session::set_server_name(gnutls_server_name_type_t type,\n\t\t\t\t
      \    const void *name, size_t name_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:687,1
    - Dst: gnutls_certificate_client_get_request_status
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: gnutls::client_session::get_request_status
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_client_get_request_status
    - RETWRAP
    linkageType: ''
    returnType: bool
    signature: bool client_session::get_request_status()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:695,1
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - data_length
    - type
    - indx
    argTypes:
    - void*
    - size_t*
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: gnutls::server_session::get_server_name
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_server_name_get
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void server_session::get_server_name(void *data, size_t *data_length,\n\t\t\t\t
      \    unsigned int *type,\n\t\t\t\t     unsigned int indx) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DB *>
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:701,1
    - Dst: DB*::store
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - _db
    - key
    - data
    argTypes:
    - void*
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: gnutls::store_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - static_cast<DB *>
    - DB*::store
    linkageType: ''
    returnType: int
    signature: int store_function(void *_db, gnutls_datum_t key, gnutls_datum_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DB *>
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:719,1
    - Dst: DB*::retrieve
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _db
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 729
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 729
    functionName: gnutls::retrieve_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - static_cast<DB *>
    - DB*::retrieve
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t retrieve_function(void *_db, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DB *>
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:734,1
    - Dst: DB*::remove
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _db
    - key
    argTypes:
    - void*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 743
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 743
    functionName: gnutls::remove_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - DB*::remove
    - static_cast<DB *>
    linkageType: ''
    returnType: int
    signature: int remove_function(void *_db, gnutls_datum_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_db_set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:747,1
    - Dst: const_cast<DB *>
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:747,1
    - Dst: gnutls_db_set_store_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:748,1
    - Dst: gnutls_db_set_retrieve_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:749,1
    - Dst: gnutls_db_set_remove_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - DB
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: gnutls::server_session::set_db
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_db_set_store_function
    - gnutls_db_set_ptr
    - gnutls_db_set_retrieve_function
    - const_cast<DB *>
    - gnutls_db_set_remove_function
    linkageType: ''
    returnType: void
    signature: void server_session::set_db(const DB &db)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_db_set_cache_expiration
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: gnutls::server_session::set_db_cache_expiration
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_db_set_cache_expiration
    linkageType: ''
    returnType: void
    signature: void server_session::set_db_cache_expiration(unsigned int seconds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_db_remove_session
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: gnutls::server_session::db_remove
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_db_remove_session
    linkageType: ''
    returnType: void
    signature: void server_session::db_remove() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session_data
    argTypes:
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: gnutls::server_session::db_check_entry
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool server_session::db_check_entry(const gnutls_datum_t &session_data)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_set_max_packet_length
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: gnutls::session::set_max_handshake_packet_length
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_handshake_set_max_packet_length
    linkageType: ''
    returnType: void
    signature: void session::set_max_handshake_packet_length(size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_credentials_clear
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: gnutls::session::clear_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_credentials_clear
    linkageType: ''
    returnType: void
    signature: void session::clear_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:782,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:782,1
    - Dst: credentials::get_type
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:782,1
    - Dst: credentials::ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cred
    argTypes:
    - credentials
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: gnutls::session::set_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - credentials::get_type
    - credentials::ptr
    - RETWRAP
    - gnutls_credentials_set
    linkageType: ''
    returnType: void
    signature: void session::set_credentials(const credentials &cred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_server_get_username
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: gnutls::server_session::get_srp_username
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_server_get_username
    linkageType: ''
    returnType: char
    signature: char *server_session::get_srp_username() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_server_get_username
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: gnutls::server_session::get_psk_username
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_server_get_username
    linkageType: ''
    returnType: char
    signature: char *server_session::get_psk_username() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: gnutls::session::set_transport_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_ptr
    linkageType: ''
    returnType: void
    signature: void session::set_transport_ptr(gnutls_transport_ptr_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_ptr2
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recv_ptr
    - send_ptr
    argTypes:
    - gnutls_transport_ptr_t
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: gnutls::session::set_transport_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_ptr2
    linkageType: ''
    returnType: void
    signature: "void session::set_transport_ptr(gnutls_transport_ptr_t recv_ptr,\n\t\t\t\tgnutls_transport_ptr_t
      send_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_get_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: gnutls::session::get_transport_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_get_ptr
    linkageType: ''
    returnType: gnutls_transport_ptr_t
    signature: gnutls_transport_ptr_t session::get_transport_ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_get_ptr2
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recv_ptr
    - send_ptr
    argTypes:
    - gnutls_transport_ptr_t
    - gnutls_transport_ptr_t
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: gnutls::session::get_transport_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_get_ptr2
    linkageType: ''
    returnType: void
    signature: "void session::get_transport_ptr(gnutls_transport_ptr_t &recv_ptr,\n\t\t\t\tgnutls_transport_ptr_t
      &send_ptr) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exception
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: gnutls::session::set_transport_lowat
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - exception
    linkageType: ''
    returnType: void
    signature: void session::set_transport_lowat(size_t num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - push_func
    argTypes:
    - gnutls_push_func
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: gnutls::session::set_transport_push_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_push_function
    linkageType: ''
    returnType: void
    signature: void session::set_transport_push_function(gnutls_push_func push_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_vec_push_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec_push_func
    argTypes:
    - gnutls_vec_push_func
    constantsTouched: []
    func_position:
      end: 826
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 826
    functionName: gnutls::session::set_transport_vec_push_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_vec_push_function
    linkageType: ''
    returnType: void
    signature: void session::set_transport_vec_push_function(gnutls_vec_push_func
      vec_push_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pull_func
    argTypes:
    - gnutls_pull_func
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: gnutls::session::set_transport_pull_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_pull_function
    linkageType: ''
    returnType: void
    signature: void session::set_transport_pull_function(gnutls_pull_func pull_func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pull_timeout_func
    argTypes:
    - gnutls_pull_timeout_func
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: gnutls::session::set_transport_pull_timeout_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_transport_set_pull_timeout_function
    linkageType: ''
    returnType: void
    signature: "void session::set_transport_pull_timeout_function(\n\tgnutls_pull_timeout_func
      pull_timeout_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: gnutls::session::set_user_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_session_set_ptr
    linkageType: ''
    returnType: void
    signature: void session::set_user_ptr(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: gnutls::session::get_user_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_session_get_ptr
    linkageType: ''
    returnType: void
    signature: void *session::get_user_ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_openpgp_send_cert
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - gnutls_openpgp_crt_status_t
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: gnutls::session::send_openpgp_cert
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_openpgp_send_cert
    linkageType: ''
    returnType: void
    signature: void session::send_openpgp_cert(gnutls_openpgp_crt_status_t status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_set_prime_bits
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: gnutls::session::set_dh_prime_bits
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_set_prime_bits
    linkageType: ''
    returnType: void
    signature: void session::set_dh_prime_bits(unsigned int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:860,1
    - Dst: gnutls_dh_get_secret_bits
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 861
    functionName: gnutls::session::get_dh_secret_bits
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_dh_get_secret_bits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int session::get_dh_secret_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:864,1
    - Dst: gnutls_dh_get_peers_public_bits
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 5
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: gnutls::session::get_dh_peers_public_bits
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_dh_get_peers_public_bits
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int session::get_dh_peers_public_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:868,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: gnutls::session::get_dh_prime_bits
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_get_prime_bits
    - RETWRAP
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int session::get_dh_prime_bits() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:872,1
    - Dst: gnutls_dh_get_group
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gen
    - prime
    argTypes:
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: gnutls::session::get_dh_group
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_get_group
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::get_dh_group(gnutls_datum_t &gen, gnutls_datum_t &prime)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:876,1
    - Dst: gnutls_dh_get_pubkey
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raw_key
    argTypes:
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: gnutls::session::get_dh_pubkey
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_get_pubkey
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void session::get_dh_pubkey(gnutls_datum_t &raw_key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_server_set_request
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - gnutls_certificate_request_t
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: gnutls::server_session::set_certificate_request
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_server_set_request
    linkageType: ''
    returnType: void
    signature: void server_session::set_certificate_request(gnutls_certificate_request_t
      req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_get_type
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: gnutls::session::get_auth_type
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_auth_get_type
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t session::get_auth_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_server_get_type
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 890
    functionName: gnutls::session::get_server_auth_type
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_auth_server_get_type
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t session::get_server_auth_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_auth_client_get_type
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: gnutls::session::get_client_auth_type
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_auth_client_get_type
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t session::get_client_auth_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: certificate_credentials::~certificate_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::~certificate_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:903,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:903,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 905
    functionName: gnutls::certificate_credentials::certificate_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 2
    functionsReached:
    - gnutls_certificate_allocate_credentials
    - RETWRAP
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::certificate_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_params_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: gnutls::certificate_server_credentials::set_params_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_params_function
    linkageType: ''
    returnType: void
    signature: "void certificate_server_credentials::set_params_function(\n\tgnutls_params_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:916,1
    - Dst: gnutls_anon_allocate_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:916,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: gnutls::anon_server_credentials::anon_server_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_server_credentials
    - RETWRAP
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void anon_server_credentials::anon_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_anon_free_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: anon_server_credentials::~anon_server_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_free_server_credentials
    linkageType: ''
    returnType: void
    signature: void anon_server_credentials::~anon_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_anon_set_server_dh_params
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:927,1
    - Dst: dh_params::get_params_t
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - dh_params
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: gnutls::anon_server_credentials::set_dh_params
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_set_server_dh_params
    - dh_params::get_params_t
    linkageType: ''
    returnType: void
    signature: void anon_server_credentials::set_dh_params(const dh_params &params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_anon_set_server_params_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: gnutls::anon_server_credentials::set_params_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_set_server_params_function
    linkageType: ''
    returnType: void
    signature: void anon_server_credentials::set_params_function(gnutls_params_function
      *func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:938,1
    - Dst: gnutls_anon_allocate_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:938,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 940
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionName: gnutls::anon_client_credentials::anon_client_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_allocate_client_credentials
    - RETWRAP
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void anon_client_credentials::anon_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_anon_free_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: anon_client_credentials::~anon_client_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_anon_free_client_credentials
    linkageType: ''
    returnType: void
    signature: void anon_client_credentials::~anon_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_keys
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: gnutls::certificate_credentials::free_keys
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_keys
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::free_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_cas
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: gnutls::certificate_credentials::free_cas
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_cas
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::free_cas()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_ca_names
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: gnutls::certificate_credentials::free_ca_names
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_ca_names
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::free_ca_names()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_crls
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 965
    functionName: gnutls::certificate_credentials::free_crls
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_crls
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::free_crls()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:969,1
    - Dst: dh_params::get_params_t
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - dh_params
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: gnutls::certificate_credentials::set_dh_params
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_dh_params
    - dh_params::get_params_t
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::set_dh_params(const dh_params &params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: gnutls::certificate_credentials::set_verify_flags
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_verify_flags
    linkageType: ''
    returnType: void
    signature: void certificate_credentials::set_verify_flags(unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_verify_limits
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_bits
    - max_depth
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: gnutls::certificate_credentials::set_verify_limits
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_verify_limits
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_verify_limits(unsigned int max_bits,\n\t\t\t\t\t\tunsigned
      int max_depth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:986,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cafile
    - type
    argTypes:
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: gnutls::certificate_credentials::set_x509_trust_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_x509_trust_file
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_trust_file(const char *cafile,\n\t\t\t\t\t\t
      \ gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:992,1
    - Dst: gnutls_certificate_set_x509_trust_mem
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - CA
    - type
    argTypes:
    - gnutls_datum_t
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 993
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 993
    functionName: gnutls::certificate_credentials::set_x509_trust
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_trust_mem
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_trust(const gnutls_datum_t
      &CA,\n\t\t\t\t\t     gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:998,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crlfile
    - type
    argTypes:
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: gnutls::certificate_credentials::set_x509_crl_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_crl_file
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_crl_file(const char *crlfile,\n\t\t\t\t\t\tgnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1004,1
    - Dst: gnutls_certificate_set_x509_crl_mem
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - CRL
    - type
    argTypes:
    - gnutls_datum_t
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: gnutls::certificate_credentials::set_x509_crl
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_certificate_set_x509_crl_mem
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_crl(const gnutls_datum_t &CRL,\n\t\t\t\t\t
      \  gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1011,1
    - Dst: gnutls_certificate_set_x509_key_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - certfile
    - keyfile
    - type
    argTypes:
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1013
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1013
    functionName: gnutls::certificate_credentials::set_x509_key_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_key_file
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_key_file(const char *certfile,\n\t\t\t\t\t\tconst
      char *keyfile,\n\t\t\t\t\t\tgnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1019,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - CERT
    - KEY
    - type
    argTypes:
    - gnutls_datum_t
    - gnutls_datum_t
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: gnutls::certificate_credentials::set_x509_key
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_x509_key_mem
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_key(const gnutls_datum_t &CERT,\n\t\t\t\t\t
      \  const gnutls_datum_t &KEY,\n\t\t\t\t\t   gnutls_x509_crt_fmt_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1026,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkcs12file
    - type
    - password
    argTypes:
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1028
    functionName: gnutls::certificate_credentials::set_simple_pkcs12_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_certificate_set_x509_simple_pkcs12_file
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_simple_pkcs12_file(const char *pkcs12file,\n\t\t\t\t\t\t
      \    gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t\t     const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1034,1
    - Dst: gnutls_certificate_set_x509_key
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert_list
    - cert_list_size
    - key
    argTypes:
    - gnutls_x509_crt_t*
    - int
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1036
      start: 1030
    functionDepth: 6
    functionLinenumber: 1030
    functionLinenumberEnd: 1036
    functionName: gnutls::certificate_credentials::set_x509_key
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 1
    functionsReached:
    - gnutls_certificate_set_x509_key
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_key(gnutls_x509_crt_t *cert_list,\n\t\t\t\t\t
      \  int cert_list_size,\n\t\t\t\t\t   gnutls_x509_privkey_t key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1041,1
    - Dst: gnutls_certificate_set_x509_trust
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ca_list
    - ca_list_size
    argTypes:
    - gnutls_x509_crt_t*
    - int
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: gnutls::certificate_credentials::set_x509_trust
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_trust
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_trust(gnutls_x509_crt_t *ca_list,\n\t\t\t\t\t
      \    int ca_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1047,1
    - Dst: gnutls_certificate_set_x509_crl
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl_list
    - crl_list_size
    argTypes:
    - gnutls_x509_crl_t*
    - int
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: gnutls::certificate_credentials::set_x509_crl
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_certificate_set_x509_crl
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_x509_crl(gnutls_x509_crl_t *crl_list,\n\t\t\t\t\t
      \  int crl_list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_set_retrieve_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_certificate_retrieve_function*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1054
    functionName: gnutls::certificate_credentials::set_retrieve_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_retrieve_function
    linkageType: ''
    returnType: void
    signature: "void certificate_credentials::set_retrieve_function(\n\tgnutls_certificate_retrieve_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1061,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1061,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1063
    functionName: gnutls::srp_server_credentials::srp_server_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_allocate_server_credentials
    - RETWRAP
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void srp_server_credentials::srp_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: srp_server_credentials::~srp_server_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_free_server_credentials
    linkageType: ''
    returnType: void
    signature: void srp_server_credentials::~srp_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1073,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1073,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: gnutls::srp_client_credentials::srp_client_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - set_ptr
    - gnutls_srp_allocate_client_credentials
    linkageType: ''
    returnType: void
    signature: void srp_client_credentials::srp_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: srp_client_credentials::~srp_client_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_free_client_credentials
    linkageType: ''
    returnType: void
    signature: void srp_client_credentials::~srp_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1085,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: gnutls::srp_client_credentials::set_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_srp_set_client_credentials
    linkageType: ''
    returnType: void
    signature: "void srp_client_credentials::set_credentials(const char *username,\n\t\t\t\t\t
      \    const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1091,1
    - Dst: gnutls_srp_set_server_credentials_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - password_file
    - password_conf_file
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: gnutls::srp_server_credentials::set_credentials_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_set_server_credentials_file
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void srp_server_credentials::set_credentials_file(\n\tconst char *password_file,
      const char *password_conf_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_set_server_credentials_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_srp_server_credentials_function*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: gnutls::srp_server_credentials::set_credentials_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_set_server_credentials_function
    linkageType: ''
    returnType: void
    signature: "void srp_server_credentials::set_credentials_function(\n\tgnutls_srp_server_credentials_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srp_set_client_credentials_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_srp_client_credentials_function*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1105
    functionName: gnutls::srp_client_credentials::set_credentials_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_srp_set_client_credentials_function
    linkageType: ''
    returnType: void
    signature: "void srp_client_credentials::set_credentials_function(\n\tgnutls_srp_client_credentials_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1112,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1112,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1114
    functionName: gnutls::psk_server_credentials::psk_server_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_allocate_server_credentials
    - RETWRAP
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void psk_server_credentials::psk_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1119
    functionName: psk_server_credentials::~psk_server_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_free_server_credentials
    linkageType: ''
    returnType: void
    signature: void psk_server_credentials::~psk_server_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1123,1
    - Dst: gnutls_psk_set_server_credentials_file
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - password_file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: gnutls::psk_server_credentials::set_credentials_file
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_server_credentials_file
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void psk_server_credentials::set_credentials_file(const char *password_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_psk_server_credentials_function*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: gnutls::psk_server_credentials::set_credentials_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_server_credentials_function
    linkageType: ''
    returnType: void
    signature: "void psk_server_credentials::set_credentials_function(\n\tgnutls_psk_server_credentials_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_set_server_dh_params
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1134,1
    - Dst: dh_params::get_params_t
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - dh_params
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: gnutls::psk_server_credentials::set_dh_params
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_server_dh_params
    - dh_params::get_params_t
    linkageType: ''
    returnType: void
    signature: void psk_server_credentials::set_dh_params(const dh_params &params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_set_server_params_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_params_function*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1140
    functionName: gnutls::psk_server_credentials::set_params_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_server_params_function
    linkageType: ''
    returnType: void
    signature: void psk_server_credentials::set_params_function(gnutls_params_function
      *func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1145,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1145,1
    - Dst: set_ptr
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: gnutls::psk_client_credentials::psk_client_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_psk_allocate_client_credentials
    - set_ptr
    linkageType: ''
    returnType: void
    signature: void psk_client_credentials::psk_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1152
    functionName: psk_client_credentials::~psk_client_credentials()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_free_client_credentials
    linkageType: ''
    returnType: void
    signature: void psk_client_credentials::~psk_client_credentials()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1158,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - username
    - key
    - flags
    argTypes:
    - char*
    - gnutls_datum_t
    - gnutls_psk_key_flags
    constantsTouched: []
    func_position:
      end: 1159
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1159
    functionName: gnutls::psk_client_credentials::set_credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_client_credentials
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void psk_client_credentials::set_credentials(const char *username,\n\t\t\t\t\t
      \    const gnutls_datum_t &key,\n\t\t\t\t\t     gnutls_psk_key_flags flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_set_client_credentials_function
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - gnutls_psk_client_credentials_function*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: gnutls::psk_client_credentials::set_credentials_function
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_psk_set_client_credentials_function
    linkageType: ''
    returnType: void
    signature: "void psk_client_credentials::set_credentials_function(\n\tgnutls_psk_client_credentials_function
      *func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - gnutls_credentials_type_t
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: gnutls::credentials::credentials
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void credentials::credentials(gnutls_credentials_type_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1176
    functionName: gnutls::credentials::get_type
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t credentials::get_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: gnutls::credentials::ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *credentials::ptr() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: gnutls::credentials::set_ptr
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void credentials::set_ptr(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: gnutls::exception::exception
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exception::exception(int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1194
    functionName: gnutls::exception::get_code
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int exception::get_code()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: gnutls::exception::what
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    linkageType: ''
    returnType: char
    signature: char *exception::what() const throw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1203,1
    - Dst: gnutls_dh_params_init
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: gnutls::dh_params::dh_params
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_init
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void dh_params::dh_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_dh_params_deinit
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1209
    functionName: dh_params::~dh_params()
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_deinit
    linkageType: ''
    returnType: void
    signature: void dh_params::~dh_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1214,1
    - Dst: gnutls_dh_params_import_raw
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prime
    - generator
    argTypes:
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    functionName: gnutls::dh_params::import_raw
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_dh_params_import_raw
    linkageType: ''
    returnType: void
    signature: "void dh_params::import_raw(const gnutls_datum_t &prime,\n\t\t\t   const
      gnutls_datum_t &generator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1220,1
    - Dst: gnutls_dh_params_import_pkcs3
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkcs3_params
    - format
    argTypes:
    - gnutls_datum_t
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 1221
      start: 1217
    functionDepth: 5
    functionLinenumber: 1217
    functionLinenumberEnd: 1221
    functionName: gnutls::dh_params::import_pkcs3
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - RETWRAP
    - gnutls_dh_params_import_pkcs3
    linkageType: ''
    returnType: void
    signature: "void dh_params::import_pkcs3(const gnutls_datum_t &pkcs3_params,\n\t\t\t
      \    gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1225,1
    - Dst: gnutls_dh_params_generate2
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: gnutls::dh_params::generate
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_generate2
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void dh_params::generate(unsigned int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1232,1
    - Dst: gnutls_dh_params_export_pkcs3
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - format
    - params_data
    - params_data_size
    argTypes:
    - gnutls_x509_crt_fmt_t
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1234
    functionName: gnutls::dh_params::export_pkcs3
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_export_pkcs3
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: "void dh_params::export_pkcs3(gnutls_x509_crt_fmt_t format,\n\t\t\t
      \    unsigned char *params_data,\n\t\t\t     size_t *params_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RETWRAP
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1238,1
    - Dst: gnutls_dh_params_export_raw
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prime
    - generator
    argTypes:
    - gnutls_datum_t
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 3
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: gnutls::dh_params::export_raw
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_export_raw
    - RETWRAP
    linkageType: ''
    returnType: void
    signature: void dh_params::export_raw(gnutls_datum_t &prime, gnutls_datum_t &generator)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1244
    functionName: gnutls::dh_params::get_params_t
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_dh_params_t
    signature: gnutls_dh_params_t dh_params::get_params_t() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dh_params::dh_params
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1247,1
    - Dst: gnutls_dh_params_cpy
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1250,1
    - Dst: exception
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1254,1
    - Dst: swap
      Src: /src/gnutls/lib/includes/gnutls/gnutlsxx.h:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - dh_params
    constantsTouched: []
    func_position:
      end: 1261
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1261
    functionName: '&dh_params::operator=(const dh_params &src)'
    functionSourceFile: /src/gnutls/lib/includes/gnutls/gnutlsxx.h
    functionUses: 0
    functionsReached:
    - exception
    - dh_params::dh_params
    - gnutls_dh_params_cpy
    - swap
    linkageType: ''
    returnType: dh_params
    signature: dh_params &dh_params::operator=(const dh_params &src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_spki_params
      Src: /src/gnutls/lib/x509/x509_int.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - params
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: _gnutls_x509_crt_read_spki_params
    functionSourceFile: /src/gnutls/lib/x509/x509_int.h
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_spki_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_read_spki_params(gnutls_x509_crt_t crt,\n\t\t\t\t\t\t
      \   gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_spki_params
      Src: /src/gnutls/lib/x509/x509_int.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - params
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: _gnutls_x509_crq_read_spki_params
    functionSourceFile: /src/gnutls/lib/x509/x509_int.h
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_spki_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crq_read_spki_params(gnutls_x509_crq_t crt,\n\t\t\t\t\t\t
      \   gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify.c:55,1
    - Dst: _gnutls_is_same_dn
      Src: /src/gnutls/lib/x509/verify.c:57,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cert1
    - cert2
    - is_ca
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: _gnutls_check_if_same_key
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 1
    functionsReached:
    - _gnutls_is_same_dn
    - gnutls_x509_crt_equals
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_check_if_same_key(gnutls_x509_crt_t cert1,\n\t\t\t\t
      \  gnutls_x509_crt_t cert2, unsigned is_ca)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify.c:78,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:80,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/verify.c:82,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify.c:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:85,1
    - Dst: _gnutls_check_if_same_key
      Src: /src/gnutls/lib/x509/verify.c:88,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cert1
    - cert2bin
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: _gnutls_check_if_same_key2
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - _gnutls_check_if_same_key
    - gnutls_x509_crt_init
    - gnutls_assert_val
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_check_if_same_key2(gnutls_x509_crt_t cert1,\n\t\t\t\t
      \   gnutls_datum_t *cert2bin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/lib/x509/verify.c:111,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:116,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:118,1
    - Dst: is_ext_oid_supported
      Src: /src/gnutls/lib/x509/verify.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:126,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 134
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 134
    functionName: check_for_unknown_exts
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - is_ext_oid_supported
    - _gnutls_debug_log
    - gnutls_assert
    - gnutls_x509_crt_get_extension_info
    linkageType: ''
    returnType: unsigned
    signature: unsigned check_for_unknown_exts(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_get_signed_data
      Src: /src/gnutls/lib/x509/verify.c:159,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:163,1
    - Dst: _gnutls_x509_get_signed_data
      Src: /src/gnutls/lib/x509/verify.c:167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:170,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/verify.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:177,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/verify.c:181,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:184,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify.c:193,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify.c:197,1
    - Dst: gnutls_x509_crt_get_basic_constraints
      Src: /src/gnutls/lib/x509/verify.c:204,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:230,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:237,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:238,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:239,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:240,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 4
    argNames:
    - cert
    - issuer
    - max_path
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 242
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 242
    functionName: check_if_ca
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_signature
    - gnutls_x509_crt_check_issuer
    - _gnutls_free_datum
    - memcmp
    - gnutls_x509_crt_get_basic_constraints
    - _gnutls_x509_get_signed_data
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_if_ca(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer,\n\t\t\t
      \   unsigned int *max_path, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/verify.c:259,1
    - Dst: gnutls_x509_crt_get_authority_key_id
      Src: /src/gnutls/lib/x509/verify.c:270,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/verify.c:280,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:286,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify.c:290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - cert
    - issuer
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 298
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 298
    functionName: is_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gnutls_x509_crt_get_authority_key_id
    - gnutls_x509_crt_get_subject_key_id
    - _gnutls_x509_compare_raw_dn
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned is_issuer(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/verify.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crl
    - issuer
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: is_crl_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_compare_raw_dn
    linkageType: ''
    returnType: unsigned
    signature: unsigned is_crl_issuer(gnutls_x509_crl_t crl, gnutls_x509_crt_t issuer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/verify.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cert1
    - cert2
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: _gnutls_is_same_dn
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_compare_raw_dn
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_is_same_dn(gnutls_x509_crt_t cert1, gnutls_x509_crt_t
      cert2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_issuer
      Src: /src/gnutls/lib/x509/verify.c:337,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/verify.c:341,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/verify.c:343,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/verify.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - trusted_cas
    - tcas_size
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: find_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_time
    - gnutls_x509_crt_get_expiration_time
    - is_issuer
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t find_issuer(gnutls_x509_crt_t cert, const gnutls_x509_crt_t
      *trusted_cas,\n\t    int tcas_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/verify.c:361,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/verify.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - crt
    - now
    argTypes:
    - gnutls_x509_crt_t
    - time_t
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: check_time_status
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_time_status(gnutls_x509_crt_t crt, time_t now)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - se
    - flags
    argTypes:
    - gnutls_sign_entry_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: _gnutls_is_broken_sig_allowed
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_is_broken_sig_allowed(const gnutls_sign_entry_st
      *se,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_VFLAGS_TO_PROFILE
      Src: /src/gnutls/lib/x509/verify.c:469,1
    - Dst: _gnutls_get_system_wide_verification_profile
      Src: /src/gnutls/lib/x509/verify.c:477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:481,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/verify.c:490,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:492,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/verify.c:496,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:498,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:502,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:504,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:505,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:506,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:507,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:508,1
    - Dst: CASE_SEC_PARAM
      Src: /src/gnutls/lib/x509/verify.c:509,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/verify.c:516,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:517,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:519,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:524,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:526,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:530,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:532,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:536,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:538,1
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/x509/verify.c:541,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:543,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:545,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/verify.c:549,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:553,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:555,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:560,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:562,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/verify.c:567,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:568,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:570,1
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/x509/verify.c:573,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:575,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:577,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/verify.c:581,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:585,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:587,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:591,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:593,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:598,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:600,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:606,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 5
    argNames:
    - crt
    - issuer
    - sigalg
    - trusted
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_sign_algorithm_t
    - bool
    - unsigned
    constantsTouched: []
    func_position:
      end: 612
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 612
    functionName: is_level_acceptable
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_version
    - CASE_SEC_PARAM
    - _gnutls_x509_crt_get_mpis
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_debug_log
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_assert_val
    - GNUTLS_VFLAGS_TO_PROFILE
    - _gnutls_get_system_wide_verification_profile
    linkageType: ''
    returnType: unsigned
    signature: "unsigned is_level_acceptable(gnutls_x509_crt_t crt,\n\t\t\t\t    gnutls_x509_crt_t
      issuer,\n\t\t\t\t    gnutls_sign_algorithm_t sigalg,\n\t\t\t\t    bool trusted,
      unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:666,1
    - Dst: find_issuer
      Src: /src/gnutls/lib/x509/verify.c:673,1
    - Dst: _gnutls_x509_get_signed_data
      Src: /src/gnutls/lib/x509/verify.c:675,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:678,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/verify.c:682,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:685,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/verify.c:689,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:692,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/x509/verify.c:696,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:702,1
    - Dst: gnutls_x509_crt_get_name_constraints
      Src: /src/gnutls/lib/x509/verify.c:706,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:711,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/lib/x509/verify.c:718,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:721,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/lib/x509/verify.c:726,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:730,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/lib/x509/verify.c:735,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:738,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/lib/x509/verify.c:743,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:746,1
    - Dst: gnutls_x509_name_constraints_check_crt
      Src: /src/gnutls/lib/x509/verify.c:751,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:755,1
    - Dst: gnutls_x509_crt_get_tlsfeatures
      Src: /src/gnutls/lib/x509/verify.c:765,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:770,1
    - Dst: gnutls_x509_tlsfeatures_check_crt
      Src: /src/gnutls/lib/x509/verify.c:775,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:778,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/verify.c:785,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:788,1
    - Dst: check_if_ca
      Src: /src/gnutls/lib/x509/verify.c:793,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:795,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/lib/x509/verify.c:798,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:802,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:805,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:812,1
    - Dst: _gnutls_x509_verify_data
      Src: /src/gnutls/lib/x509/verify.c:815,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:821,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:823,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:826,1
    - Dst: check_for_unknown_exts
      Src: /src/gnutls/lib/x509/verify.c:832,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:834,1
    - Dst: check_for_unknown_exts
      Src: /src/gnutls/lib/x509/verify.c:841,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:843,1
    - Dst: is_level_acceptable
      Src: /src/gnutls/lib/x509/verify.c:848,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:850,1
    - Dst: _gnutls_sign_is_secure2
      Src: /src/gnutls/lib/x509/verify.c:857,1
    - Dst: _gnutls_is_broken_sig_allowed
      Src: /src/gnutls/lib/x509/verify.c:859,1
    - Dst: is_issuer
      Src: /src/gnutls/lib/x509/verify.c:860,1
    - Dst: MARK_INVALID
      Src: /src/gnutls/lib/x509/verify.c:861,1
    - Dst: check_time_status
      Src: /src/gnutls/lib/x509/verify.c:871,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:873,1
    - Dst: check_time_status
      Src: /src/gnutls/lib/x509/verify.c:878,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:880,1
    - Dst: verify_state_st*::func
      Src: /src/gnutls/lib/x509/verify.c:893,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:895,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:896,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 167
    argCount: 8
    argNames:
    - tlist
    - cert
    - trusted_cas
    - tcas_size
    - flags
    - output
    - vparams
    - end_cert
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - int
    - unsigned int
    - unsigned int*
    - verify_state_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 899
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 899
    functionName: verify_crt
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 9
    functionsReached:
    - _gnutls_free_datum
    - MARK_INVALID
    - check_for_unknown_exts
    - find_issuer
    - _gnutls_sign_is_secure2
    - _gnutls_x509_get_signed_data
    - is_level_acceptable
    - _gnutls_x509_get_signature
    - gnutls_x509_crt_get_key_usage
    - gnutls_x509_crt_get_tlsfeatures
    - _gnutls_x509_get_signature_algorithm
    - gnutls_x509_tlsfeatures_check_crt
    - _gnutls_x509_verify_data
    - _gnutls_is_broken_sig_allowed
    - gnutls_x509_crt_get_version
    - check_if_ca
    - gnutls_x509_name_constraints_check_crt
    - verify_state_st*::func
    - gnutls_x509_crt_get_name_constraints
    - check_time_status
    - is_issuer
    - _gnutls_sign_to_entry
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: "unsigned verify_crt(gnutls_x509_trust_list_t tlist,\n\t\t\t   gnutls_x509_crt_t
      cert,\n\t\t\t   const gnutls_x509_crt_t *trusted_cas, int tcas_size,\n\t\t\t
      \  unsigned int flags, unsigned int *output,\n\t\t\t   verify_state_st *vparams,
      unsigned end_cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_issuer
      Src: /src/gnutls/lib/x509/verify.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - issuer
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: gnutls_x509_crt_check_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 4
    functionsReached:
    - is_issuer
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_issuer(gnutls_x509_crt_t cert,\n\t\t\t\t
      \     gnutls_x509_crt_t issuer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_time_status
      Src: /src/gnutls/lib/x509/verify.c:934,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/verify.c:937,1
    - Dst: is_level_acceptable
      Src: /src/gnutls/lib/x509/verify.c:944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - issuer
    - now
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - time_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 949
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 949
    functionName: check_ca_sanity
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_signature_algorithm
    - check_time_status
    - is_level_acceptable
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_ca_sanity(const gnutls_x509_crt_t issuer, time_t now,\n\t\t\t\tunsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/verify.c:966,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify.c:979,1
    - Dst: _gnutls_check_if_same_key
      Src: /src/gnutls/lib/x509/verify.c:1004,1
    - Dst: check_ca_sanity
      Src: /src/gnutls/lib/x509/verify.c:1006,1
    - Dst: func
      Src: /src/gnutls/lib/x509/verify.c:1010,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:1014,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/verify.c:1030,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/lib/x509/verify.c:1035,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1037,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/lib/x509/verify.c:1042,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1044,1
    - Dst: verify_crt
      Src: /src/gnutls/lib/x509/verify.c:1057,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1065,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/verify.c:1077,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1080,1
    - Dst: func
      Src: /src/gnutls/lib/x509/verify.c:1085,1
    - Dst: verify_crt
      Src: /src/gnutls/lib/x509/verify.c:1098,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1101,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/lib/x509/verify.c:1109,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/lib/x509/verify.c:1110,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 8
    argNames:
    - tlist
    - certificate_list
    - clist_size
    - trusted_cas
    - tcas_size
    - flags
    - purpose
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - int
    - gnutls_x509_crt_t*
    - int
    - unsigned int
    - char*
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 1112
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 1112
    functionName: _gnutls_verify_crt_status
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - verify_crt
    - gnutls_x509_tlsfeatures_deinit
    - gnutls_time
    - _gnutls_check_if_same_key
    - gnutls_x509_name_constraints_init
    - check_ca_sanity
    - gnutls_assert
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_name_constraints_deinit
    - memset
    - _gnutls_check_key_purpose
    - func
    - gnutls_x509_crt_check_issuer
    - gnutls_assert_val
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gnutls_verify_crt_status(\n\tgnutls_x509_trust_list_t
      tlist,\n\tconst gnutls_x509_crt_t *certificate_list, int clist_size,\n\tconst
      gnutls_x509_crt_t *trusted_cas, int tcas_size, unsigned int flags,\n\tconst
      char *purpose, gnutls_verify_output_function func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify.c:1133,1
    - Dst: gnutls_x509_crt_get_basic_constraints
      Src: /src/gnutls/lib/x509/verify.c:1135,1
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/lib/x509/verify.c:1146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1157,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify.c:1162,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify.c:1164,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify.c:1169,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify.c:1170,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify.c:1173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - cert
    - purpose
    - no_any
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1178
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1178
    functionName: _gnutls_check_key_purpose
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 1
    functionsReached:
    - _gnutls_debug_log
    - gnutls_x509_crt_get_key_purpose_oid
    - strcmp
    - gnutls_x509_crt_get_basic_constraints
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_check_key_purpose(gnutls_x509_crt_t cert, const char
      *purpose,\n\t\t\t\t   unsigned no_any)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/verify.c:1202,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify.c:1215,1
    - Dst: _gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/lib/x509/verify.c:1247,1
    - Dst: check_ca_sanity
      Src: /src/gnutls/lib/x509/verify.c:1249,1
    - Dst: func
      Src: /src/gnutls/lib/x509/verify.c:1252,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify.c:1255,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:1258,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/lib/x509/verify.c:1275,1
    - Dst: func
      Src: /src/gnutls/lib/x509/verify.c:1283,1
    - Dst: gnutls_pkcs11_get_raw_issuer
      Src: /src/gnutls/lib/x509/verify.c:1290,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1296,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/lib/x509/verify.c:1301,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify.c:1306,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify.c:1318,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify.c:1324,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1326,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/verify.c:1332,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1334,1
    - Dst: _gnutls_pkcs11_get_distrust_after
      Src: /src/gnutls/lib/x509/verify.c:1343,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/verify.c:1348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1350,1
    - Dst: gnutls_pkcs11_crt_is_known
      Src: /src/gnutls/lib/x509/verify.c:1359,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/verify.c:1372,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1376,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify.c:1382,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify.c:1386,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify.c:1388,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 7
    argNames:
    - tlist
    - url
    - certificate_list
    - clist_size
    - purpose
    - flags
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    - gnutls_x509_crt_t*
    - unsigned
    - char*
    - unsigned int
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 1391
      start: 1192
    functionDepth: 5
    functionLinenumber: 1192
    functionLinenumberEnd: 1391
    functionName: _gnutls_pkcs11_verify_crt_status
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs11_crt_is_known
    - gnutls_time
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_import
    - gnutls_x509_crt_init
    - gnutls_free
    - gnutls_pkcs11_get_raw_issuer
    - check_ca_sanity
    - gnutls_assert
    - _gnutls_pkcs11_crt_is_known
    - _gnutls_pkcs11_get_distrust_after
    - _gnutls_check_key_purpose
    - func
    - _gnutls_verify_crt_status
    - gnutls_x509_crt_check_issuer
    - gnutls_assert_val
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gnutls_pkcs11_verify_crt_status(\n\tgnutls_x509_trust_list_t
      tlist, const char *url,\n\tconst gnutls_x509_crt_t *certificate_list, unsigned
      clist_size,\n\tconst char *purpose, unsigned int flags,\n\tgnutls_verify_output_function
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_sign_params
      Src: /src/gnutls/lib/x509/verify.c:1403,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1409,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pk_algorithm
    - cert
    - name
    - sig_params
    argTypes:
    - gnutls_pk_algorithm_t
    - asn1_node
    - char*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1429
    functionName: _gnutls_x509_validate_sign_params
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_sign_params
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_validate_sign_params(gnutls_pk_algorithm_t pk_algorithm,\n\t\t\t\t\t
      \    asn1_node cert, const char *name,\n\t\t\t\t\t     gnutls_x509_spki_st *sig_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/x509/verify.c:1451,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1453,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/verify.c:1457,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/x509/verify.c:1459,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify.c:1461,1
    - Dst: _gnutls_x509_read_sign_params
      Src: /src/gnutls/lib/x509/verify.c:1465,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1468,1
    - Dst: _gnutls_x509_validate_sign_params
      Src: /src/gnutls/lib/x509/verify.c:1472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1478,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify.c:1482,1
    - Dst: pubkey_verify_data
      Src: /src/gnutls/lib/x509/verify.c:1489,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/verify.c:1489,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1492,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/verify.c:1498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 6
    argNames:
    - sign
    - data
    - signature
    - cert
    - issuer
    - vflags
    argTypes:
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1501
      start: 1437
    functionDepth: 5
    functionLinenumber: 1437
    functionLinenumberEnd: 1501
    functionName: _gnutls_x509_verify_data
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 1
    functionsReached:
    - pubkey_verify_data
    - _gnutls_x509_crt_get_mpis
    - gnutls_assert
    - hash_to_entry
    - memcpy
    - gnutls_pk_params_release
    - _gnutls_x509_read_sign_params
    - gnutls_x509_crt_get_pk_algorithm
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    - _gnutls_x509_validate_sign_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_verify_data(gnutls_sign_algorithm_t sign,\n\t\t\t\t
      \   const gnutls_datum_t *data,\n\t\t\t\t    const gnutls_datum_t *signature,\n\t\t\t\t
      \   gnutls_x509_crt_t cert,\n\t\t\t\t    gnutls_x509_crt_t issuer, unsigned
      vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/lib/x509/verify.c:1545,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify.c:1549,1
    - Dst: gnutls_x509_crt_check_revocation
      Src: /src/gnutls/lib/x509/verify.c:1556,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/lib/x509/verify.c:1564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - cert_list
    - cert_list_length
    - CA_list
    - CA_list_length
    - CRL_list
    - CRL_list_length
    - flags
    - verify
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned
    - gnutls_x509_crt_t*
    - unsigned
    - gnutls_x509_crl_t*
    - unsigned
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1530
    functionDepth: 5
    functionLinenumber: 1530
    functionLinenumberEnd: 1566
    functionName: gnutls_x509_crt_list_verify
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_trust_list_deinit
    - _gnutls_verify_crt_status
    - gnutls_x509_crt_check_revocation
    - gnutls_x509_trust_list_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_list_verify(const gnutls_x509_crt_t *cert_list,\n\t\t\t\tunsigned
      cert_list_length,\n\t\t\t\tconst gnutls_x509_crt_t *CA_list,\n\t\t\t\tunsigned
      CA_list_length,\n\t\t\t\tconst gnutls_x509_crl_t *CRL_list,\n\t\t\t\tunsigned
      CRL_list_length, unsigned int flags,\n\t\t\t\tunsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_init
      Src: /src/gnutls/lib/x509/verify.c:1593,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify.c:1597,1
    - Dst: gnutls_x509_trust_list_deinit
      Src: /src/gnutls/lib/x509/verify.c:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - cert
    - CA_list
    - CA_list_length
    - flags
    - verify
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - unsigned
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1602
      start: 1586
    functionDepth: 5
    functionLinenumber: 1586
    functionLinenumberEnd: 1602
    functionName: gnutls_x509_crt_verify
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_trust_list_deinit
    - _gnutls_verify_crt_status
    - gnutls_x509_trust_list_init
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_verify(gnutls_x509_crt_t cert,\n\t\t\t   const
      gnutls_x509_crt_t *CA_list,\n\t\t\t   unsigned CA_list_length, unsigned int
      flags,\n\t\t\t   unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_crl_issuer
      Src: /src/gnutls/lib/x509/verify.c:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - issuer
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1619
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1619
    functionName: gnutls_x509_crl_check_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - is_crl_issuer
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crl_check_issuer(gnutls_x509_crl_t crl,\n\t\t\t\t
      \     gnutls_x509_crt_t issuer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_crl_issuer
      Src: /src/gnutls/lib/x509/verify.c:1631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - crl
    - trusted_cas
    - tcas_size
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t*
    - int
    constantsTouched: []
    func_position:
      end: 1637
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1637
    functionName: find_crl_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 0
    functionsReached:
    - is_crl_issuer
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t find_crl_issuer(gnutls_x509_crl_t crl, const gnutls_x509_crt_t
      *trusted_cas,\n\t\tint tcas_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/verify.c:1672,1
    - Dst: find_crl_issuer
      Src: /src/gnutls/lib/x509/verify.c:1680,1
    - Dst: _gnutls_x509_get_signed_data
      Src: /src/gnutls/lib/x509/verify.c:1682,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1685,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/verify.c:1691,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1694,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/verify.c:1700,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1703,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1713,1
    - Dst: gnutls_x509_crt_get_ca_status
      Src: /src/gnutls/lib/x509/verify.c:1719,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1720,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/lib/x509/verify.c:1726,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1730,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1734,1
    - Dst: _gnutls_x509_verify_data
      Src: /src/gnutls/lib/x509/verify.c:1743,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1747,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify.c:1758,1
    - Dst: gnutls_x509_crl_get_signature_algorithm
      Src: /src/gnutls/lib/x509/verify.c:1768,1
    - Dst: gnutls_x509_crl_get_this_update
      Src: /src/gnutls/lib/x509/verify.c:1780,1
    - Dst: gnutls_x509_crl_get_next_update
      Src: /src/gnutls/lib/x509/verify.c:1783,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:1791,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/verify.c:1792,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 95
    argCount: 5
    argNames:
    - crl
    - trusted_cas
    - tcas_size
    - flags
    - verify
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t*
    - unsigned
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1795
      start: 1662
    functionDepth: 6
    functionLinenumber: 1662
    functionLinenumberEnd: 1795
    functionName: gnutls_x509_crl_verify
    functionSourceFile: /src/gnutls/lib/x509/verify.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crl_get_signature_algorithm
    - gnutls_time
    - gnutls_x509_crl_get_next_update
    - find_crl_issuer
    - _gnutls_x509_get_signature
    - gnutls_x509_crl_get_this_update
    - _gnutls_free_datum
    - _gnutls_x509_get_signature_algorithm
    - _gnutls_x509_verify_data
    - gnutls_x509_crt_get_key_usage
    - _gnutls_x509_get_signed_data
    - gnutls_assert
    - gnutls_x509_crt_get_ca_status
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_verify(gnutls_x509_crl_t crl,\n\t\t\t   const
      gnutls_x509_crt_t *trusted_cas,\n\t\t\t   unsigned tcas_size, unsigned int flags,\n\t\t\t
      \  unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/ip-in-cidr.h:45,1
    - Dst: _gnutls_ip_to_string
      Src: /src/gnutls/lib/x509/ip-in-cidr.h:47,1
    - Dst: _gnutls_cidr_to_string
      Src: /src/gnutls/lib/x509/ip-in-cidr.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ip
    - cidr
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: ip_in_cidr
    functionSourceFile: /src/gnutls/lib/x509/ip-in-cidr.h
    functionUses: 0
    functionsReached:
    - _gnutls_hard_log
    - _gnutls_ip_to_string
    - _gnutls_cidr_to_string
    linkageType: ''
    returnType: unsigned
    signature: unsigned ip_in_cidr(const gnutls_datum_t *ip, const gnutls_datum_t
      *cidr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:48,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/x509_dn.c:50,1
    - Dst: c_isdigit
      Src: /src/gnutls/lib/x509/x509_dn.c:52,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:54,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_dn.c:56,1
    - Dst: gnutls_x509_dn_oid_known
      Src: /src/gnutls/lib/x509/x509_dn.c:61,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_dn.c:62,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:63,1
    - Dst: _gnutls_ldap_string_to_oid
      Src: /src/gnutls/lib/x509/x509_dn.c:66,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_dn.c:71,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:73,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/lib/x509/x509_dn.c:79,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:81,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509_dn.c:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:86,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:106,1
    - Dst: f
      Src: /src/gnutls/lib/x509/x509_dn.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:119,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_dn.c:125,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 5
    argNames:
    - f
    - crt
    - name
    - val
    - is_raw
    argTypes:
    - set_dn_func
    - void*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 127
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 127
    functionName: dn_attr_crt_set
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_hex_decode2
    - gnutls_x509_dn_oid_known
    - _gnutls_ldap_string_to_oid
    - gnutls_assert
    - gnutls_malloc
    - f
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert_val
    - c_isdigit
    linkageType: ''
    returnType: int
    signature: "int dn_attr_crt_set(set_dn_func f, void *crt, const gnutls_datum_t
      *name,\n\t\t\t   const gnutls_datum_t *val, unsigned is_raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:137,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:142,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:148,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:152,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:155,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:175,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:180,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:187,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 4
    argNames:
    - ptr
    - name
    - val
    - is_raw
    argTypes:
    - char**
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 190
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 190
    functionName: read_attr_and_val
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 0
    functionsReached:
    - c_isspace
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int read_attr_and_val(const char **ptr, gnutls_datum_t *name,\n\t\t\t
      \    gnutls_datum_t *val, unsigned *is_raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509_dn.c:204,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:206,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_dn.c:208,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_dn.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - head
    - name
    - val
    - pos
    - is_raw
    argTypes:
    - elem_list_st**
    - gnutls_datum_t*
    - gnutls_datum_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: add_new_elem
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int add_new_elem(elem_list_st **head, const gnutls_datum_t *name,\n\t\t\tconst
      gnutls_datum_t *val, const char *pos,\n\t\t\tunsigned is_raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:228,1
    - Dst: read_attr_and_val
      Src: /src/gnutls/lib/x509/x509_dn.c:240,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:242,1
    - Dst: c_isspace
      Src: /src/gnutls/lib/x509/x509_dn.c:247,1
    - Dst: add_new_elem
      Src: /src/gnutls/lib/x509/x509_dn.c:250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:252,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:257,1
    - Dst: dn_attr_crt_set
      Src: /src/gnutls/lib/x509/x509_dn.c:268,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_dn.c:281,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - f
    - crt
    - dn
    - err
    argTypes:
    - set_dn_func
    - void*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 285
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 285
    functionName: crt_set_dn
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 5
    functionsReached:
    - dn_attr_crt_set
    - c_isspace
    - gnutls_free
    - add_new_elem
    - gnutls_assert
    - read_attr_and_val
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int crt_set_dn(set_dn_func f, void *crt, const char *dn,\n\t\t      const
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crt_set_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crt
    - dn
    - err
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: gnutls_x509_crt_set_dn
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 5
    functionsReached:
    - crt_set_dn
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_dn(gnutls_x509_crt_t crt, const char *dn,\n\t\t\t
      \  const char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crt_set_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crt
    - dn
    - err
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: gnutls_x509_crt_set_issuer_dn
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 4
    functionsReached:
    - crt_set_dn
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_issuer_dn(gnutls_x509_crt_t crt, const char
      *dn,\n\t\t\t\t  const char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crt_set_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crq
    - dn
    - err
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: gnutls_x509_crq_set_dn
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 2
    functionsReached:
    - crt_set_dn
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_dn(gnutls_x509_crq_t crq, const char *dn,\n\t\t\t
      \  const char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_set_dn_oid
      Src: /src/gnutls/lib/x509/x509_dn.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dn
    - oid
    - raw_flag
    - name
    - name_size
    argTypes:
    - gnutls_x509_dn_t
    - char*
    - unsigned int
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: set_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 23
    functionsReached:
    - _gnutls_x509_set_dn_oid
    linkageType: ''
    returnType: int
    signature: "int set_dn_by_oid(gnutls_x509_dn_t dn, const char *oid,\n\t\t\t unsigned
      int raw_flag, const void *name,\n\t\t\t unsigned name_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:379,1
    - Dst: crt_set_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dn
    - str
    - err
    argTypes:
    - gnutls_x509_dn_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: gnutls_x509_dn_set_str
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 1
    functionsReached:
    - crt_set_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_dn_set_str(gnutls_x509_dn_t dn, const char *str,\n\t\t\t
      \  const char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_dn.c:404,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_dn.c:406,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_dn.c:406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:408,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_dn.c:409,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_dn.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dn
    argTypes:
    - gnutls_x509_dn_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: gnutls_x509_dn_init
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 4
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - gnutls_free
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_dn_init(gnutls_x509_dn_t *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_dn.c:437,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_dn.c:439,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_dn.c:442,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:443,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_dn.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dn
    - data
    argTypes:
    - gnutls_x509_dn_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: gnutls_x509_dn_import
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_debug_log
    - _asn1_strict_der_decode
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_dn_import(gnutls_x509_dn_t dn, const gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_dn.c:461,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_dn.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dn
    argTypes:
    - gnutls_x509_dn_t
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: gnutls_x509_dn_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_dn_deinit(gnutls_x509_dn_t dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:489,1
    - Dst: _gnutls_x509_export_int_named
      Src: /src/gnutls/lib/x509/x509_dn.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dn
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_dn_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: gnutls_x509_dn_export
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_export_int_named
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_dn_export(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t
      format,\n\t\t\t  void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:520,1
    - Dst: _gnutls_x509_export_int_named2
      Src: /src/gnutls/lib/x509/x509_dn.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dn
    - format
    - out
    argTypes:
    - gnutls_x509_dn_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: gnutls_x509_dn_export2
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_export_int_named2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_dn_export2(gnutls_x509_dn_t dn, gnutls_x509_crt_fmt_t
      format,\n\t\t\t   gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_dn.c:570,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509_dn.c:571,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:573,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_dn.c:577,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509_dn.c:578,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:580,1
    - Dst: asn1_read_node_value
      Src: /src/gnutls/lib/x509/x509_dn.c:584,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:586,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_dn.c:593,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509_dn.c:594,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:596,1
    - Dst: asn1_read_node_value
      Src: /src/gnutls/lib/x509/x509_dn.c:600,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:602,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/x509/x509_dn.c:611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:613,1
    - Dst: asn1_get_tag_der
      Src: /src/gnutls/lib/x509/x509_dn.c:619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:621,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_dn.c:622,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/x509/x509_dn.c:631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 4
    argNames:
    - dn
    - irdn
    - iava
    - ava
    argTypes:
    - gnutls_x509_dn_t
    - int
    - int
    - gnutls_x509_ava_st*
    constantsTouched: []
    func_position:
      end: 641
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 641
    functionName: gnutls_x509_dn_get_rdn_ava
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_find_node
    - asn1_read_node_value
    - asn1_get_length_der
    - asn1_get_tag_der
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_dn_get_rdn_ava(gnutls_x509_dn_t dn, int irdn, int
      iava,\n\t\t\t       gnutls_x509_ava_st *ava)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:661,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dn
    - str
    argTypes:
    - gnutls_x509_dn_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 667
    functionName: gnutls_x509_dn_get_str
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_dn_get_str(gnutls_x509_dn_t dn, gnutls_datum_t *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_dn.c:693,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509_dn.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dn
    - str
    - flags
    argTypes:
    - gnutls_x509_dn_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 698
    functionName: gnutls_x509_dn_get_str2
    functionSourceFile: /src/gnutls/lib/x509/x509_dn.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_dn_get_str2(gnutls_x509_dn_t dn, gnutls_datum_t *str,\n\t\t\t
      \   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - mask
    - mask_size
    argTypes:
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: _gnutls_mask_to_prefix
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_mask_to_prefix(const unsigned char *mask, unsigned mask_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:106,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:111,1
    - Dst: inet_ntop
      Src: /src/gnutls/lib/x509/ip.c:116,1
    - Dst: inet_ntop
      Src: /src/gnutls/lib/x509/ip.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - _ip
    - ip_size
    - out
    - out_size
    argTypes:
    - void*
    - unsigned int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: _gnutls_ip_to_string
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 2
    functionsReached:
    - inet_ntop
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: "char *_gnutls_ip_to_string(const void *_ip, unsigned int ip_size,\n\t\t\t\t
      char *out, unsigned int out_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:144,1
    - Dst: inet_ntop
      Src: /src/gnutls/lib/x509/ip.c:149,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ip.c:152,1
    - Dst: _gnutls_mask_to_prefix
      Src: /src/gnutls/lib/x509/ip.c:153,1
    - Dst: inet_ntop
      Src: /src/gnutls/lib/x509/ip.c:155,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ip.c:158,1
    - Dst: _gnutls_mask_to_prefix
      Src: /src/gnutls/lib/x509/ip.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - _ip
    - ip_size
    - out
    - out_size
    argTypes:
    - void*
    - unsigned int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: _gnutls_cidr_to_string
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 2
    functionsReached:
    - inet_ntop
    - _gnutls_mask_to_prefix
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: "char *_gnutls_cidr_to_string(const void *_ip, unsigned int ip_size,\n\t\t\t\t
      \  char *out, unsigned int out_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/ip.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - prefix
    - mask
    - mask_size
    argTypes:
    - unsigned
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: prefix_to_mask
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void prefix_to_mask(unsigned prefix, unsigned char *mask,\n\t\t\t
      \  size_t mask_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ip
    - mask
    - ipsize
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: _gnutls_mask_ip
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _gnutls_mask_ip(unsigned char *ip, const unsigned char *mask,\n\t\t
      \   unsigned ipsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/lib/x509/ip.c:233,1
    - Dst: strtol
      Src: /src/gnutls/lib/x509/ip.c:235,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ip.c:237,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:239,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ip.c:243,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ip.c:245,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/ip.c:247,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ip.c:250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ip.c:251,1
    - Dst: strchr
      Src: /src/gnutls/lib/x509/ip.c:255,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ip.c:263,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ip.c:265,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ip.c:269,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ip.c:271,1
    - Dst: inet_pton
      Src: /src/gnutls/lib/x509/ip.c:275,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ip.c:278,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ip.c:279,1
    - Dst: prefix_to_mask
      Src: /src/gnutls/lib/x509/ip.c:283,1
    - Dst: _gnutls_mask_ip
      Src: /src/gnutls/lib/x509/ip.c:284,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ip.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 2
    argNames:
    - cidr
    - cidr_rfc5280
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 292
    functionName: gnutls_x509_cidr_to_rfc5280
    functionSourceFile: /src/gnutls/lib/x509/ip.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - prefix_to_mask
    - inet_pton
    - strtol
    - gnutls_malloc
    - strchr
    - _gnutls_mask_ip
    - memcpy
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_cidr_to_rfc5280(const char *cidr, gnutls_datum_t *cidr_rfc5280)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/privkey.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: gnutls_x509_privkey_init
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 72
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_privkey_init(gnutls_x509_privkey_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:65,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:66,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/x509/privkey.c:68,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: _gnutls_x509_privkey_reinit
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_params_release
    - asn1_delete_structure2
    - gnutls_pk_params_clear
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void _gnutls_x509_privkey_reinit(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_privkey_reinit
      Src: /src/gnutls/lib/x509/privkey.c:86,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: gnutls_x509_privkey_deinit
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 81
    functionsReached:
    - _gnutls_x509_privkey_reinit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_privkey_deinit(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_params_copy
      Src: /src/gnutls/lib/x509/privkey.c:109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:111,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:114,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:116,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: gnutls_x509_privkey_cpy
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 3
    functionsReached:
    - _gnutls_pk_params_copy
    - _gnutls_asn1_encode_privkey
    - gnutls_pk_params_release
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_cpy(gnutls_x509_privkey_t dst,\n\t\t\t    gnutls_x509_privkey_t
      src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:133,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey.c:135,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey.c:135,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:138,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:145,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:151,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:158,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:163,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:165,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:170,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:172,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:179,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:184,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:186,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:191,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:193,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:200,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey.c:211,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:212,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:213,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - raw_key
    - pkey
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 215
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 215
    functionName: _gnutls_privkey_decode_pkcs1_rsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_params_clear
    - asn1_delete_structure2
    - asn1_create_element
    - gnutls_pk_params_release
    - _gnutls_x509_read_int
    - _gnutls_x509_read_key_int
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: asn1_node
    signature: "asn1_node _gnutls_privkey_decode_pkcs1_rsa_key(const gnutls_datum_t
      *raw_key,\n\t\t\t\t\t       gnutls_x509_privkey_t pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve_is_eddsa
      Src: /src/gnutls/lib/x509/privkey.c:231,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:232,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:235,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey.c:237,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey.c:237,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:240,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey.c:241,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey.c:244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:247,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey.c:248,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/privkey.c:252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:254,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey.c:259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:262,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:273,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey.c:274,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/x509/privkey.c:278,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey.c:281,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:282,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey.c:291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:293,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/x509/privkey.c:297,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey.c:301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:303,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:312,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey.c:321,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:322,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:323,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 4
    argNames:
    - pkey_asn
    - raw_key
    - pkey
    - curve
    argTypes:
    - asn1_node*
    - gnutls_datum_t*
    - gnutls_x509_privkey_t
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 325
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 325
    functionName: _gnutls_privkey_decode_ecc_key
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - gnutls_pk_params_release
    - gnutls_oid_to_ecc_curve
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - gnutls_pk_params_init
    - gnutls_assert_val
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_x509_read_uint
    - curve_is_eddsa
    - asn1_create_element
    - _gnutls_x509_read_key_int
    - _gnutls_debug_log
    - gnutls_pk_params_clear
    - asn1_delete_structure2
    - asn1_read_value
    - _gnutls_ecc_ansi_x962_import
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_privkey_decode_ecc_key(asn1_node *pkey_asn,\n\t\t\t\t
      \  const gnutls_datum_t *raw_key,\n\t\t\t\t   gnutls_x509_privkey_t pkey,\n\t\t\t\t
      \  gnutls_ecc_curve_t curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey.c:336,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey.c:336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:339,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:343,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey.c:345,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:348,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:352,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:353,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:359,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:364,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:365,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/privkey.c:370,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:371,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey.c:376,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:378,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey.c:385,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/privkey.c:387,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey.c:389,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:392,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:395,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey.c:402,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:403,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:404,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - raw_key
    - pkey
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 406
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 406
    functionName: decode_dsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_x509_read_value
    - gnutls_pk_params_clear
    - asn1_delete_structure2
    - asn1_read_value
    - asn1_create_element
    - gnutls_pk_params_release
    - _gnutls_x509_read_int
    - _gnutls_x509_read_key_int
    - gnutls_oid_to_digest
    - _gnutls_get_gnutls_asn
    - memcpy
    - _asn1_strict_der_decode
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: asn1_node
    signature: "asn1_node decode_dsa_key(const gnutls_datum_t *raw_key,\n\t\t\t\tgnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:440,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey.c:456,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey.c:473,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:483,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey.c:485,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:492,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey.c:495,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:501,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey.c:504,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:514,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey.c:517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:531,1
    - Dst: _gnutls_x509_privkey_reinit
      Src: /src/gnutls/lib/x509/privkey.c:539,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/lib/x509/privkey.c:544,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:547,1
    - Dst: _gnutls_privkey_decode_pkcs1_rsa_key
      Src: /src/gnutls/lib/x509/privkey.c:555,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:557,1
    - Dst: decode_dsa_key
      Src: /src/gnutls/lib/x509/privkey.c:559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:561,1
    - Dst: _gnutls_privkey_decode_ecc_key
      Src: /src/gnutls/lib/x509/privkey.c:563,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:566,1
    - Dst: _gnutls_privkey_decode_pkcs1_rsa_key
      Src: /src/gnutls/lib/x509/privkey.c:574,1
    - Dst: decode_dsa_key
      Src: /src/gnutls/lib/x509/privkey.c:578,1
    - Dst: _gnutls_privkey_decode_ecc_key
      Src: /src/gnutls/lib/x509/privkey.c:581,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/lib/x509/privkey.c:585,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:594,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:606,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:613,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:615,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/privkey.c:620,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey.c:621,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 3
    argNames:
    - key
    - data
    - format
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 628
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 628
    functionName: gnutls_x509_privkey_import
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 38
    functionsReached:
    - memmem
    - _gnutls_fbase64_decode
    - gnutls_x509_privkey_import_pkcs8
    - _gnutls_pk_fixup
    - zeroize_temp_key
    - decode_dsa_key
    - _gnutls_privkey_decode_ecc_key
    - _gnutls_free_datum
    - _gnutls_privkey_decode_pkcs1_rsa_key
    - memcmp
    - _gnutls_x509_privkey_reinit
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import(gnutls_x509_privkey_t key,\n\t\t\t
      \      const gnutls_datum_t *data,\n\t\t\t       gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/lib/x509/privkey.c:639,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:641,1
    - Dst: gnutls_pkcs12_import
      Src: /src/gnutls/lib/x509/privkey.c:643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:645,1
    - Dst: gnutls_pkcs12_simple_parse
      Src: /src/gnutls/lib/x509/privkey.c:649,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:652,1
    - Dst: gnutls_x509_privkey_cpy
      Src: /src/gnutls/lib/x509/privkey.c:656,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/x509/privkey.c:657,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:659,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/lib/x509/privkey.c:666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - key
    - data
    - format
    - password
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 669
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 669
    functionName: import_pkcs12_privkey
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs12_simple_parse
    - gnutls_pkcs12_import
    - gnutls_x509_privkey_cpy
    - gnutls_pkcs12_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: int
    signature: "int import_pkcs12_privkey(gnutls_x509_privkey_t key,\n\t\t\t\t const
      gnutls_datum_t *data,\n\t\t\t\t gnutls_x509_crt_fmt_t format,\n\t\t\t\t const
      char *password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey.c:707,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey.c:722,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:731,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:733,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:735,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/lib/x509/privkey.c:745,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:749,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/lib/x509/privkey.c:756,1
    - Dst: _gnutls_retrieve_pin
      Src: /src/gnutls/lib/x509/privkey.c:762,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/lib/x509/privkey.c:768,1
    - Dst: import_pkcs12_privkey
      Src: /src/gnutls/lib/x509/privkey.c:778,1
    - Dst: gnutls_x509_privkey_import_openssl
      Src: /src/gnutls/lib/x509/privkey.c:784,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey.c:791,1
    - Dst: _gnutls_retrieve_pin
      Src: /src/gnutls/lib/x509/privkey.c:793,1
    - Dst: gnutls_x509_privkey_import_openssl
      Src: /src/gnutls/lib/x509/privkey.c:798,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:804,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:808,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 5
    argNames:
    - key
    - data
    - format
    - password
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 821
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 821
    functionName: gnutls_x509_privkey_import2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 7
    functionsReached:
    - memmem
    - gnutls_x509_privkey_import_openssl
    - gnutls_assert
    - memcmp
    - _gnutls_retrieve_pin
    - gnutls_x509_privkey_import
    - memset
    - import_pkcs12_privkey
    - gnutls_x509_privkey_import_pkcs8
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import2(gnutls_x509_privkey_t key,\n\t\t\t\tconst
      gnutls_datum_t *data,\n\t\t\t\tgnutls_x509_crt_fmt_t format,\n\t\t\t\tconst
      char *password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_import_rsa_raw2
      Src: /src/gnutls/lib/x509/privkey.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 850
    functionName: gnutls_x509_privkey_import_rsa_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_privkey_import_rsa_raw2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_rsa_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      const gnutls_datum_t *m,\n\t\t\t\t       const gnutls_datum_t *e,\n\t\t\t\t
      \      const gnutls_datum_t *d,\n\t\t\t\t       const gnutls_datum_t *p,\n\t\t\t\t
      \      const gnutls_datum_t *q,\n\t\t\t\t       const gnutls_datum_t *u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:881,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:885,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:887,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:889,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:897,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:906,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:913,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:915,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:921,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:923,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:930,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:932,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:940,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:942,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:948,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:950,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:959,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:961,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:968,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:970,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:977,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:978,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 9
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 980
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 980
    functionName: gnutls_x509_privkey_import_rsa_raw2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 3
    functionsReached:
    - gnutls_pk_params_clear
    - _gnutls_pk_fixup
    - _gnutls_asn1_encode_privkey
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_rsa_raw2(\n\tgnutls_x509_privkey_t
      key, const gnutls_datum_t *m,\n\tconst gnutls_datum_t *e, const gnutls_datum_t
      *d,\n\tconst gnutls_datum_t *p, const gnutls_datum_t *q,\n\tconst gnutls_datum_t
      *u, const gnutls_datum_t *e1,\n\tconst gnutls_datum_t *e2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/privkey.c:1007,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1009,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:1012,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1014,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1016,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1023,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1028,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1030,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1036,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1038,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1044,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1046,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:1051,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1053,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:1060,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1062,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:1069,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:1070,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 6
    argNames:
    - key
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1072
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1072
    functionName: gnutls_x509_privkey_import_dsa_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_pk_params_clear
    - _gnutls_pk_fixup
    - gnutls_assert
    - _gnutls_asn1_encode_privkey
    - gnutls_pk_params_release
    - unlikely
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_dsa_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      const gnutls_datum_t *p,\n\t\t\t\t       const gnutls_datum_t *q,\n\t\t\t\t
      \      const gnutls_datum_t *g,\n\t\t\t\t       const gnutls_datum_t *y,\n\t\t\t\t
      \      const gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/privkey.c:1095,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1096,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:1099,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1101,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1102,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1104,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1111,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1119,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:1124,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1126,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:1136,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:1137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - key
    - params
    - y
    - x
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1139
    functionName: gnutls_x509_privkey_import_dh_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_pk_params_clear
    - _gnutls_pk_fixup
    - gnutls_assert
    - gnutls_pk_params_release
    - unlikely
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_dh_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \     const gnutls_dh_params_t params,\n\t\t\t\t      const gnutls_datum_t *y,\n\t\t\t\t
      \     const gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1168,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:1172,1
    - Dst: curve_is_eddsa
      Src: /src/gnutls/lib/x509/privkey.c:1176,1
    - Dst: curve_is_modern_ecdh
      Src: /src/gnutls/lib/x509/privkey.c:1176,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1192,1
    - Dst: curve_is_eddsa
      Src: /src/gnutls/lib/x509/privkey.c:1196,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/x509/privkey.c:1197,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1199,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/privkey.c:1204,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1207,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/privkey.c:1212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1215,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1222,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1224,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1232,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/privkey.c:1238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1240,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:1248,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1250,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:1254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1256,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:1263,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:1264,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 5
    argNames:
    - key
    - curve
    - x
    - y
    - k
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1266
    functionName: gnutls_x509_privkey_import_ecc_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 5
    functionsReached:
    - curve_is_modern_ecdh
    - gnutls_pk_params_clear
    - _gnutls_pk_fixup
    - curve_is_eddsa
    - gnutls_assert
    - _gnutls_asn1_encode_privkey
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_set_datum
    - gnutls_pk_params_init
    - gnutls_assert_val
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_ecc_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      gnutls_ecc_curve_t curve,\n\t\t\t\t       const gnutls_datum_t *x,\n\t\t\t\t
      \      const gnutls_datum_t *y,\n\t\t\t\t       const gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1304,1
    - Dst: _gnutls_digest_gost
      Src: /src/gnutls/lib/x509/privkey.c:1309,1
    - Dst: _gnutls_gost_paramset_default
      Src: /src/gnutls/lib/x509/privkey.c:1312,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/privkey.c:1316,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1318,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/privkey.c:1324,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1326,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/privkey.c:1332,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1334,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey.c:1340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1342,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:1349,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:1350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 7
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    - k
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_ecc_curve_t
    - gnutls_digest_algorithm_t
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1352
    functionName: gnutls_x509_privkey_import_gost_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_pk_params_clear
    - _gnutls_mpi_init_scan_le
    - _gnutls_pk_fixup
    - gnutls_pk_params_release
    - _gnutls_gost_paramset_default
    - _gnutls_digest_gost
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_gost_raw(gnutls_x509_privkey_t key,\n\t\t\t\t\tgnutls_ecc_curve_t
      curve,\n\t\t\t\t\tgnutls_digest_algorithm_t digest,\n\t\t\t\t\tgnutls_gost_paramset_t
      paramset,\n\t\t\t\t\tconst gnutls_datum_t *x,\n\t\t\t\t\tconst gnutls_datum_t
      *y,\n\t\t\t\t\tconst gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1372
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1372
    functionName: gnutls_x509_privkey_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 7
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_privkey_get_pk_algorithm(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1391,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/privkey.c:1396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - gnutls_x509_privkey_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1403
    functionName: gnutls_x509_privkey_get_pk_algorithm2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - pubkey_to_bits
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_get_pk_algorithm2(gnutls_x509_privkey_t key,\n\t\t\t\t\t
      \ unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: _gnutls_x509_privkey_get_spki_params
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gnutls_x509_privkey_get_spki_params(gnutls_x509_privkey_t key,\n\t\t\t\t\t
      \ gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1426,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1431,1
    - Dst: _gnutls_x509_privkey_get_spki_params
      Src: /src/gnutls/lib/x509/privkey.c:1433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - spki
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1436
      start: 1422
    functionDepth: 2
    functionLinenumber: 1422
    functionLinenumberEnd: 1436
    functionName: gnutls_x509_privkey_get_spki
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_x509_privkey_get_spki_params
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_get_spki(gnutls_x509_privkey_t key,\n\t\t\t\t
      gnutls_x509_spki_t spki, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1457,1
    - Dst: _gnutls_pk_are_compat
      Src: /src/gnutls/lib/x509/privkey.c:1461,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1462,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:1464,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:1465,1
    - Dst: _gnutls_x509_check_pubkey_params
      Src: /src/gnutls/lib/x509/privkey.c:1466,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1468,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:1470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - key
    - spki
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1475
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1475
    functionName: gnutls_x509_privkey_set_spki
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_check_pubkey_params
    - gnutls_assert
    - memcpy
    - gnutls_assert_val
    - _gnutls_pk_are_compat
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_set_spki(gnutls_x509_privkey_t key,\n\t\t\t\t
      const gnutls_x509_spki_t spki,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/x509/privkey.c:1479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1487
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1487
    functionName: set_msg
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - GNUTLS_PK_IS_RSA
    linkageType: ''
    returnType: char
    signature: char *set_msg(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/lib/x509/privkey.c:1517,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1519,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/privkey.c:1522,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/privkey.c:1524,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - key
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1528
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1528
    functionName: gnutls_x509_privkey_export
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - _gnutls_copy_data
    - _gnutls_copy_string
    - gnutls_assert_val
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export(gnutls_x509_privkey_t key,\n\t\t\t
      \      gnutls_x509_crt_fmt_t format, void *output_data,\n\t\t\t       size_t
      *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1558,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/lib/x509/privkey.c:1563,1
    - Dst: set_msg
      Src: /src/gnutls/lib/x509/privkey.c:1567,1
    - Dst: gnutls_x509_privkey_fix
      Src: /src/gnutls/lib/x509/privkey.c:1570,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1572,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/privkey.c:1575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - key
    - format
    - out
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1576
    functionName: gnutls_x509_privkey_export2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 5
    functionsReached:
    - gnutls_assert
    - gnutls_x509_privkey_export2_pkcs8
    - _gnutls_x509_export_int2
    - gnutls_x509_privkey_fix
    - set_msg
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export2(gnutls_x509_privkey_t key,\n\t\t\t\tgnutls_x509_crt_fmt_t
      format,\n\t\t\t\tgnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/privkey.c:1594,1
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/lib/x509/privkey.c:1598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1599
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1599
    functionName: gnutls_x509_privkey_sec_param
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - gnutls_pk_bits_to_sec_param
    - pubkey_to_bits
    linkageType: ''
    returnType: gnutls_sec_param_t
    signature: gnutls_sec_param_t gnutls_x509_privkey_sec_param(gnutls_x509_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1627,1
    - Dst: _gnutls_params_get_ecc_raw
      Src: /src/gnutls/lib/x509/privkey.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - key
    - curve
    - x
    - y
    - k
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1632
    functionName: gnutls_x509_privkey_export_ecc_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_params_get_ecc_raw
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_ecc_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      gnutls_ecc_curve_t *curve,\n\t\t\t\t       gnutls_datum_t *x, gnutls_datum_t
      *y,\n\t\t\t\t       gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1664,1
    - Dst: _gnutls_params_get_gost_raw
      Src: /src/gnutls/lib/x509/privkey.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - key
    - curve
    - digest
    - paramset
    - x
    - y
    - k
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_ecc_curve_t*
    - gnutls_digest_algorithm_t*
    - gnutls_gost_paramset_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1656
    functionDepth: 2
    functionLinenumber: 1656
    functionLinenumberEnd: 1670
    functionName: gnutls_x509_privkey_export_gost_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_params_get_gost_raw
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_gost_raw(gnutls_x509_privkey_t key,\n\t\t\t\t\tgnutls_ecc_curve_t
      *curve,\n\t\t\t\t\tgnutls_digest_algorithm_t *digest,\n\t\t\t\t\tgnutls_gost_paramset_t
      *paramset,\n\t\t\t\t\tgnutls_datum_t *x, gnutls_datum_t *y,\n\t\t\t\t\tgnutls_datum_t
      *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_params_get_rsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1689
    functionDepth: 2
    functionLinenumber: 1689
    functionLinenumberEnd: 1696
    functionName: gnutls_x509_privkey_export_rsa_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_params_get_rsa_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_rsa_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      gnutls_datum_t *m, gnutls_datum_t *e,\n\t\t\t\t       gnutls_datum_t
      *d, gnutls_datum_t *p,\n\t\t\t\t       gnutls_datum_t *q, gnutls_datum_t *u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_params_get_rsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - key
    - m
    - e
    - d
    - p
    - q
    - u
    - e1
    - e2
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1719
    functionDepth: 2
    functionLinenumber: 1719
    functionLinenumberEnd: 1727
    functionName: gnutls_x509_privkey_export_rsa_raw2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached:
    - _gnutls_params_get_rsa_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_rsa_raw2(gnutls_x509_privkey_t key,\n\t\t\t\t\tgnutls_datum_t
      *m, gnutls_datum_t *e,\n\t\t\t\t\tgnutls_datum_t *d, gnutls_datum_t *p,\n\t\t\t\t\tgnutls_datum_t
      *q, gnutls_datum_t *u,\n\t\t\t\t\tgnutls_datum_t *e1, gnutls_datum_t *e2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_params_get_dsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - key
    - p
    - q
    - g
    - y
    - x
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1751
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1751
    functionName: gnutls_x509_privkey_export_dsa_raw
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 5
    functionsReached:
    - _gnutls_params_get_dsa_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_dsa_raw(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      gnutls_datum_t *p, gnutls_datum_t *q,\n\t\t\t\t       gnutls_datum_t
      *g, gnutls_datum_t *y,\n\t\t\t\t       gnutls_datum_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_generate2
      Src: /src/gnutls/lib/x509/privkey.c:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - algo
    - bits
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_pk_algorithm_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1789
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1789
    functionName: gnutls_x509_privkey_generate
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 12
    functionsReached:
    - gnutls_x509_privkey_generate2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key,\n\t\t\t\t
      gnutls_pk_algorithm_t algo, unsigned int bits,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1843,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey.c:1847,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:1854,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1866,1
    - Dst: IS_EC
      Src: /src/gnutls/lib/x509/privkey.c:1874,1
    - Dst: GNUTLS_BITS_ARE_CURVE
      Src: /src/gnutls/lib/x509/privkey.c:1875,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/x509/privkey.c:1876,1
    - Dst: _gnutls_ecc_bits_to_curve
      Src: /src/gnutls/lib/x509/privkey.c:1878,1
    - Dst: gnutls_ecc_curve_get_pk
      Src: /src/gnutls/lib/x509/privkey.c:1880,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey.c:1881,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1883,1
    - Dst: IS_GOSTEC
      Src: /src/gnutls/lib/x509/privkey.c:1887,1
    - Dst: GNUTLS_BITS_ARE_CURVE
      Src: /src/gnutls/lib/x509/privkey.c:1890,1
    - Dst: GNUTLS_BITS_TO_CURVE
      Src: /src/gnutls/lib/x509/privkey.c:1891,1
    - Dst: _gnutls_ecc_bits_to_curve
      Src: /src/gnutls/lib/x509/privkey.c:1893,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/x509/privkey.c:1895,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey.c:1900,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:1902,1
    - Dst: _gnutls_gost_paramset_default
      Src: /src/gnutls/lib/x509/privkey.c:1905,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1917,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1919,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/x509/privkey.c:1922,1
    - Dst: _gnutls_pk_generate_params
      Src: /src/gnutls/lib/x509/privkey.c:1928,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1930,1
    - Dst: _gnutls_pk_bits_to_sha_hash
      Src: /src/gnutls/lib/x509/privkey.c:1941,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/privkey.c:1943,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/privkey.c:1944,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1945,1
    - Dst: _gnutls_find_rsa_pss_salt_size
      Src: /src/gnutls/lib/x509/privkey.c:1950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1952,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/x509/privkey.c:1959,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1961,1
    - Dst: _gnutls_pk_verify_priv_params
      Src: /src/gnutls/lib/x509/privkey.c:1965,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1967,1
    - Dst: gnutls_x509_privkey_set_spki
      Src: /src/gnutls/lib/x509/privkey.c:1972,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1974,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:1981,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:1983,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey.c:1992,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey.c:1993,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 120
    argCount: 6
    argNames:
    - key
    - algo
    - bits
    - flags
    - data
    - data_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_pk_algorithm_t
    - unsigned int
    - unsigned int
    - gnutls_keygen_data_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1996
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1996
    functionName: gnutls_x509_privkey_generate2
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 4
    functionsReached:
    - GNUTLS_BITS_TO_CURVE
    - hash_to_entry
    - gnutls_pk_params_release
    - GNUTLS_BITS_ARE_CURVE
    - gnutls_pk_params_init
    - gnutls_assert_val
    - _gnutls_ecc_bits_to_curve
    - _gnutls_pk_bits_to_sha_hash
    - _gnutls_pk_verify_priv_params
    - _gnutls_pk_generate_keys
    - unlikely
    - _gnutls_find_rsa_pss_salt_size
    - gnutls_x509_privkey_set_spki
    - _gnutls_gost_paramset_default
    - _gnutls_debug_log
    - IS_EC
    - _gnutls_mpi_copy
    - gnutls_pk_params_clear
    - IS_GOSTEC
    - _gnutls_pk_generate_params
    - gnutls_ecc_curve_get_pk
    - _gnutls_asn1_encode_privkey
    - memcpy
    - gnutls_assert
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key,\n\t\t\t\t
      \ gnutls_pk_algorithm_t algo, unsigned int bits,\n\t\t\t\t  unsigned int flags,\n\t\t\t\t
      \ const gnutls_keygen_data_st *data,\n\t\t\t\t  unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2019,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2023,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2025,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2030,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:2036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - key
    - digest
    - seed
    - seed_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2039
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2039
    functionName: gnutls_x509_privkey_get_seed
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 3
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_get_seed(gnutls_x509_privkey_t key,\n\t\t\t\t
      gnutls_digest_algorithm_t *digest, void *seed,\n\t\t\t\t size_t *seed_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_export_rsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:2049,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2052,1
    - Dst: gnutls_x509_privkey_export_rsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:2056,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2059,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2063,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2064,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2069,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2070,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2075,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2076,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2081,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2082,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2087,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2088,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2095,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2096,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2097,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2098,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2099,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2100,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2101,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2102,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2103,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2104,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 2106
      start: 2041
    functionDepth: 3
    functionLinenumber: 2041
    functionLinenumberEnd: 2106
    functionName: cmp_rsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gnutls_free
    - gnutls_x509_privkey_export_rsa_raw
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int cmp_rsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:2114,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2117,1
    - Dst: gnutls_x509_privkey_export_dsa_raw
      Src: /src/gnutls/lib/x509/privkey.c:2121,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2124,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2129,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2135,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/privkey.c:2140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2141,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2148,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2149,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2150,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2151,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2152,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey.c:2153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 2155
      start: 2108
    functionDepth: 3
    functionLinenumber: 2108
    functionLinenumberEnd: 2155
    functionName: cmp_dsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gnutls_free
    - gnutls_assert
    - gnutls_x509_privkey_export_dsa_raw
    linkageType: ''
    returnType: int
    signature: int cmp_dsa_key(gnutls_x509_privkey_t key1, gnutls_x509_privkey_t key2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2189,1
    - Dst: gnutls_x509_privkey_get_pk_algorithm2
      Src: /src/gnutls/lib/x509/privkey.c:2191,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2193,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/x509/privkey.c:2195,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2197,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2205,1
    - Dst: gnutls_x509_privkey_generate2
      Src: /src/gnutls/lib/x509/privkey.c:2211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2215,1
    - Dst: cmp_rsa_key
      Src: /src/gnutls/lib/x509/privkey.c:2220,1
    - Dst: cmp_dsa_key
      Src: /src/gnutls/lib/x509/privkey.c:2222,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/x509/privkey.c:2225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - key
    - digest
    - seed
    - seed_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2228
      start: 2173
    functionDepth: 5
    functionLinenumber: 2173
    functionLinenumberEnd: 2228
    functionName: gnutls_x509_privkey_verify_seed
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - cmp_rsa_key
    - cmp_dsa_key
    - gnutls_assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_get_pk_algorithm2
    - gnutls_x509_privkey_generate2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_verify_seed(gnutls_x509_privkey_t key,\n\t\t\t\t
      \   gnutls_digest_algorithm_t digest,\n\t\t\t\t    const void *seed, size_t
      seed_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_verify_priv_params
      Src: /src/gnutls/lib/x509/privkey.c:2243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 2250
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2250
    functionName: gnutls_x509_privkey_verify_params
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 5
    functionsReached:
    - _gnutls_pk_verify_priv_params
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_privkey_verify_params(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2280,1
    - Dst: _gnutls_get_key_id
      Src: /src/gnutls/lib/x509/privkey.c:2284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - key
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_privkey_t
    - unsigned int
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2291
    functionName: gnutls_x509_privkey_get_key_id
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_get_key_id
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_get_key_id(gnutls_x509_privkey_t key,\n\t\t\t\t
      \  unsigned int flags,\n\t\t\t\t   unsigned char *output_data,\n\t\t\t\t   size_t
      *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2328,1
    - Dst: _gnutls_pk_sign
      Src: /src/gnutls/lib/x509/privkey.c:2332,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - hash
    - signature
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2341
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2341
    functionName: gnutls_x509_privkey_sign_hash
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 0
    functionsReached:
    - _gnutls_pk_sign
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_sign_hash(gnutls_x509_privkey_t key,\n\t\t\t\t
      \ const gnutls_datum_t *hash,\n\t\t\t\t  gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/x509/privkey.c:2378,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey.c:2380,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/x509/privkey.c:2382,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2384,1
    - Dst: gnutls_privkey_sign_data
      Src: /src/gnutls/lib/x509/privkey.c:2388,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2390,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey.c:2401,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey.c:2404,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/x509/privkey.c:2405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - key
    - digest
    - flags
    - data
    - signature
    - signature_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2407
      start: 2368
    functionDepth: 4
    functionLinenumber: 2368
    functionLinenumberEnd: 2407
    functionName: gnutls_x509_privkey_sign_data
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_privkey_sign_data
    - gnutls_privkey_deinit
    - memcpy
    - gnutls_privkey_init
    - gnutls_assert_val
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_sign_data(gnutls_x509_privkey_t key,\n\t\t\t\t
      \ gnutls_digest_algorithm_t digest,\n\t\t\t\t  unsigned int flags,\n\t\t\t\t
      \ const gnutls_datum_t *data, void *signature,\n\t\t\t\t  size_t *signature_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2424,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey.c:2429,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey.c:2431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey.c:2433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 2439
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2439
    functionName: gnutls_x509_privkey_fix
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn1_encode_privkey
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_privkey_fix(gnutls_x509_privkey_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - privkey
    - fn
    - userdata
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 2462
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2462
    functionName: gnutls_x509_privkey_set_pin_function
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_privkey_set_pin_function(gnutls_x509_privkey_t privkey,\n\t\t\t\t\t
      \ gnutls_pin_callback_t fn,\n\t\t\t\t\t  void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2480
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2480
    functionName: gnutls_x509_privkey_set_flags
    functionSourceFile: /src/gnutls/lib/x509/privkey.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_privkey_set_flags(gnutls_x509_privkey_t key,\n\t\t\t\t
      \  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:47,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:48,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:50,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:50,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:56,1
    - Dst: gnutls_ocsp_req_get_cert_id
      Src: /src/gnutls/lib/x509/ocsp_output.c:61,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:65,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:67,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:68,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:71,1
    - Dst: _gnutls_digest_get_name
      Src: /src/gnutls/lib/x509/ocsp_output.c:72,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/ocsp_output.c:72,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:74,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:75,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:76,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:78,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:79,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:80,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:82,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:83,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:86,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:87,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:88,1
    - Dst: gnutls_ocsp_req_get_extension
      Src: /src/gnutls/lib/x509/ocsp_output.c:98,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:103,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:104,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:108,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp_output.c:111,1
    - Dst: gnutls_ocsp_req_get_nonce
      Src: /src/gnutls/lib/x509/ocsp_output.c:115,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:117,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:118,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:120,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:122,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:124,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:125,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:128,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:131,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:131,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:132,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:134,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:136,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:136,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:137,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:139,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:142,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - str
    - req
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ocsp_req_const_t
    constantsTouched: []
    func_position:
      end: 147
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 147
    functionName: print_req
    functionSourceFile: /src/gnutls/lib/x509/ocsp_output.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_asciiprint
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_req_get_extension
    - adds
    - _gnutls_buffer_hexprint
    - hash_to_entry
    - memcmp
    - _gnutls_digest_get_name
    - gnutls_ocsp_req_get_cert_id
    - addf
    - _
    - gnutls_ocsp_req_get_nonce
    linkageType: ''
    returnType: void
    signature: void print_req(gnutls_buffer_st *str, gnutls_ocsp_req_const_t req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp_output.c:174,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/ocsp_output.c:178,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp_output.c:180,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:180,1
    - Dst: print_req
      Src: /src/gnutls/lib/x509/ocsp_output.c:182,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/ocsp_output.c:184,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp_output.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - req
    - format
    - out
    argTypes:
    - gnutls_ocsp_req_const_t
    - gnutls_ocsp_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: gnutls_ocsp_req_print
    functionSourceFile: /src/gnutls/lib/x509/ocsp_output.c
    functionUses: 4
    functionsReached:
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - _
    - print_req
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_print(gnutls_ocsp_req_const_t req,\n\t\t\t  gnutls_ocsp_print_formats_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_get_status
      Src: /src/gnutls/lib/x509/ocsp_output.c:199,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:201,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:202,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:206,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:209,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:213,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:217,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:221,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:225,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:229,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:233,1
    - Dst: gnutls_ocsp_resp_get_response
      Src: /src/gnutls/lib/x509/ocsp_output.c:240,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:242,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:243,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:247,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp_output.c:251,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:252,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:253,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:255,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:257,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:266,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:267,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:269,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:269,1
    - Dst: gnutls_ocsp_resp_get_responder2
      Src: /src/gnutls/lib/x509/ocsp_output.c:276,1
    - Dst: gnutls_ocsp_resp_get_responder_raw_id
      Src: /src/gnutls/lib/x509/ocsp_output.c:279,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:283,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:283,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:284,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:286,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:288,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:290,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:291,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:294,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:294,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:295,1
    - Dst: gnutls_ocsp_resp_get_produced
      Src: /src/gnutls/lib/x509/ocsp_output.c:303,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:306,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/ocsp_output.c:307,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:308,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/ocsp_output.c:310,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:311,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:314,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:314,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:317,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/lib/x509/ocsp_output.c:327,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:334,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:336,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:337,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:340,1
    - Dst: _gnutls_digest_get_name
      Src: /src/gnutls/lib/x509/ocsp_output.c:341,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/ocsp_output.c:341,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:343,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:344,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:345,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:347,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:348,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:349,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:351,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:352,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:353,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:355,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:356,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:357,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:376,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:383,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:394,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/ocsp_output.c:395,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:396,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/ocsp_output.c:398,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:400,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:403,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:403,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:412,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/ocsp_output.c:413,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:414,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/ocsp_output.c:416,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:418,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:421,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:421,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/ocsp_output.c:430,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:431,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/ocsp_output.c:433,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:436,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:439,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:439,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:447,1
    - Dst: gnutls_ocsp_resp_get_extension
      Src: /src/gnutls/lib/x509/ocsp_output.c:453,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:458,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:459,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp_output.c:464,1
    - Dst: gnutls_ocsp_resp_get_nonce
      Src: /src/gnutls/lib/x509/ocsp_output.c:468,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:470,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:471,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:473,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:475,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:477,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:478,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:481,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:484,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:484,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:485,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:487,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:489,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:489,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/ocsp_output.c:490,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:492,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:495,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:496,1
    - Dst: gnutls_ocsp_resp_get_signature_algorithm
      Src: /src/gnutls/lib/x509/ocsp_output.c:499,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:501,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:502,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:506,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:507,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:507,1
    - Dst: gnutls_sign_is_secure
      Src: /src/gnutls/lib/x509/ocsp_output.c:509,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:510,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:510,1
    - Dst: gnutls_ocsp_resp_get_signature
      Src: /src/gnutls/lib/x509/ocsp_output.c:521,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:523,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:524,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/ocsp_output.c:526,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:526,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/ocsp_output.c:527,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:529,1
    - Dst: gnutls_ocsp_resp_get_certs
      Src: /src/gnutls/lib/x509/ocsp_output.c:533,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:535,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:536,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:539,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/lib/x509/ocsp_output.c:544,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:547,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:548,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:550,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:551,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/lib/x509/ocsp_output.c:554,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:558,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:559,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ocsp_output.c:561,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:563,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:564,1
    - Dst: gnutls_x509_crt_export
      Src: /src/gnutls/lib/x509/ocsp_output.c:567,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:572,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp_output.c:574,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/ocsp_output.c:578,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:582,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/ocsp_output.c:586,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp_output.c:588,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 222
    argCount: 3
    argNames:
    - str
    - resp
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ocsp_resp_const_t
    - gnutls_ocsp_print_formats_t
    constantsTouched: []
    func_position:
      end: 591
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 591
    functionName: print_resp
    functionSourceFile: /src/gnutls/lib/x509/ocsp_output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_print
    - hash_to_entry
    - gnutls_malloc
    - gnutls_ocsp_resp_get_certs
    - gnutls_ocsp_resp_get_responder_raw_id
    - gnutls_ocsp_resp_get_single
    - gnutls_ocsp_resp_get_nonce
    - strftime
    - gnutls_sign_is_secure
    - gnutls_ocsp_resp_get_responder2
    - _gnutls_buffer_asciiprint
    - gnutls_ocsp_resp_get_signature_algorithm
    - adds
    - memcmp
    - gmtime_r
    - gnutls_x509_crt_export
    - gnutls_x509_crt_deinit
    - _gnutls_buffer_hexprint
    - _gnutls_digest_get_name
    - _
    - gnutls_strerror
    - gnutls_free
    - gnutls_ocsp_resp_get_response
    - gnutls_ocsp_resp_get_produced
    - gnutls_ocsp_resp_get_extension
    - gnutls_ocsp_resp_get_signature
    - addf
    - gnutls_ocsp_resp_get_status
    - _gnutls_buffer_hexdump
    linkageType: ''
    returnType: void
    signature: "void print_resp(gnutls_buffer_st *str, gnutls_ocsp_resp_const_t resp,\n\t\t
      \      gnutls_ocsp_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/ocsp_output.c:617,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp_output.c:619,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp_output.c:619,1
    - Dst: print_resp
      Src: /src/gnutls/lib/x509/ocsp_output.c:621,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/ocsp_output.c:623,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp_output.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - resp
    - format
    - out
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_ocsp_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 630
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 630
    functionName: gnutls_ocsp_resp_print
    functionSourceFile: /src/gnutls/lib/x509/ocsp_output.c
    functionUses: 5
    functionsReached:
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - _
    - gnutls_assert
    - print_resp
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_print(gnutls_ocsp_resp_const_t resp,\n\t\t\t
      \  gnutls_ocsp_print_formats_t format,\n\t\t\t   gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crl.c:40,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crl.c:42,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crl.c:42,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:45,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: crl_reinit
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int crl_reinit(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/crl.c:73,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:78,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: gnutls_x509_crl_init
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 9
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_init(gnutls_x509_crl_t *crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crl.c:99,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:100,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: gnutls_x509_crl_deinit
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 11
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crl_deinit(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:125,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl.c:129,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/crl.c:134,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:138,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/crl.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:144,1
    - Dst: crl_reinit
      Src: /src/gnutls/lib/x509/crl.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:152,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crl.c:158,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:162,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/crl.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:170,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - crl
    - data
    - format
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 179
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 179
    functionName: gnutls_x509_crl_import
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_fbase64_decode
    - _gnutls_x509_get_raw_field2
    - _gnutls_free_datum
    - crl_reinit
    - _asn1_strict_der_decode
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_import(gnutls_x509_crl_t crl, const gnutls_datum_t
      *data,\n\t\t\t   gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:206,1
    - Dst: _gnutls_x509_parse_dn
      Src: /src/gnutls/lib/x509/crl.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crl
    - buf
    - sizeof_buf
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: gnutls_x509_crl_get_issuer_dn
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_parse_dn
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_issuer_dn(gnutls_x509_crl_t crl, char *buf,\n\t\t\t\t
      \ size_t *sizeof_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:249,1
    - Dst: _gnutls_x509_parse_dn_oid
      Src: /src/gnutls/lib/x509/crl.c:253,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:257,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/crl.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - crl
    - oid
    - indx
    - raw_flag
    - buf
    - sizeof_buf
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - unsigned
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: gnutls_x509_crl_get_issuer_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _gnutls_x509_parse_dn_oid
    - gnutls_assert
    - _gnutls_strdatum_to_buf
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_issuer_dn_by_oid(gnutls_x509_crl_t crl, const
      char *oid,\n\t\t\t\t\t unsigned indx, unsigned int raw_flag,\n\t\t\t\t\t void
      *buf, size_t *sizeof_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:282,1
    - Dst: _gnutls_x509_get_dn_oid
      Src: /src/gnutls/lib/x509/crl.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - crl
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: gnutls_x509_crl_get_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_dn_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_dn_oid(gnutls_x509_crl_t crl, unsigned indx,
      void *oid,\n\t\t\t       size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:312,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/crl.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - crl
    - dn
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: gnutls_x509_crl_get_issuer_dn2
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_get_issuer_dn2(gnutls_x509_crl_t crl, gnutls_datum_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:344,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/crl.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crl
    - dn
    - flags
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: gnutls_x509_crl_get_issuer_dn3
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_issuer_dn3(gnutls_x509_crl_t crl, gnutls_datum_t
      *dn,\n\t\t\t\t   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_errs_to_zero
      Src: /src/gnutls/lib/x509/crl.c:367,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/crl.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: gnutls_x509_crl_get_signature_algorithm
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - map_errs_to_zero
    - _gnutls_x509_get_signature_algorithm
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_get_signature_algorithm(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:394,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:397,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:398,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/crl.c:404,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - crl
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 411
    functionName: gnutls_x509_crl_get_signature_oid
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_signature_oid(gnutls_x509_crl_t crl, char
      *oid,\n\t\t\t\t      size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:432,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:437,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:440,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:441,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:446,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:457,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:459,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - crl
    - sig
    - sizeof_sig
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 464
    functionName: gnutls_x509_crl_get_signature
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_signature(gnutls_x509_crl_t crl, char *sig,\n\t\t\t\t
      \ size_t *sizeof_sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:477,1
    - Dst: _gnutls_x509_get_version
      Src: /src/gnutls/lib/x509/crl.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: gnutls_x509_crl_get_version
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_get_version(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:495,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crl.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: gnutls_x509_crl_get_this_update
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_time
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_x509_crl_get_this_update(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:515,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crl.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 520
    functionName: gnutls_x509_crl_get_next_update
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_time
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_x509_crl_get_next_update(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:536,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/crl.c:540,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: gnutls_x509_crl_get_crt_count
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - asn1_number_of_elements
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_get_crt_count(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:577,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:581,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:584,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:589,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:593,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:596,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crl.c:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - crl
    - indx
    - serial
    - serial_size
    - t
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - unsigned char*
    - size_t*
    - time_t*
    constantsTouched: []
    func_position:
      end: 604
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 604
    functionName: gnutls_x509_crl_get_crt_serial
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_get_time
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_crt_serial(gnutls_x509_crl_t crl, unsigned
      indx,\n\t\t\t\t   unsigned char *serial, size_t *serial_size,\n\t\t\t\t   time_t
      *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - gnutls_x509_crl_iter_t
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: gnutls_x509_crl_iter_deinit
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crl_iter_deinit(gnutls_x509_crl_iter_t iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:651,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/crl.c:656,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:658,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/crl.c:662,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:666,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/crl.c:668,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:673,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:676,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:680,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:685,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:691,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:695,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crl.c:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - crl
    - iter
    - serial
    - serial_size
    - t
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crl_iter_t*
    - unsigned char*
    - size_t*
    - time_t*
    constantsTouched: []
    func_position:
      end: 703
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 703
    functionName: gnutls_x509_crl_iter_crt_serial
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - _gnutls_x509_get_time
    - asn1_find_node
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_iter_crt_serial(gnutls_x509_crl_t crl,\n\t\t\t\t
      \   gnutls_x509_crl_iter_t *iter,\n\t\t\t\t    unsigned char *serial, size_t
      *serial_size,\n\t\t\t\t    time_t *t)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/crl.c:720,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/crl.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - crl
    - dn
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 726
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 726
    functionName: gnutls_x509_crl_get_raw_issuer_dn
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_x509_get_raw_field
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_get_raw_issuer_dn(gnutls_x509_crl_t crl, gnutls_datum_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:751,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/crl.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - crl
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 757
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 757
    functionName: gnutls_x509_crl_export
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_export_int
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_export(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t
      format,\n\t\t\t   void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:781,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/crl.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crl
    - format
    - out
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: gnutls_x509_crl_export2
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 4
    functionsReached:
    - _gnutls_x509_export_int2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_export2(gnutls_x509_crl_t crl, gnutls_x509_crt_fmt_t
      format,\n\t\t\t    gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_export2
      Src: /src/gnutls/lib/x509/crl.c:803,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:805,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/lib/x509/crl.c:807,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:809,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 817
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 817
    functionName: _gnutls_x509_crl_cpy
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crl_export2
    - gnutls_assert
    - gnutls_assert_val
    - gnutls_x509_crl_import
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_crl_cpy(gnutls_x509_crl_t dest, gnutls_x509_crl_t
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:828,1
    - Dst: _gnutls_x509_crl_get_extension
      Src: /src/gnutls/lib/x509/crl.c:832,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:834,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:838,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crl.c:842,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crl.c:842,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:845,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl.c:846,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:847,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crl.c:850,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl.c:851,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:854,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crl.c:855,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:856,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cert
    - c2
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - asn1_node*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 860
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 860
    functionName: _get_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_create_element
    - gnutls_assert
    - _gnutls_get_pkix
    - _gnutls_x509_crl_get_extension
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _get_authority_key_id(gnutls_x509_crl_t cert, asn1_node *c2,\n\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_authority_key_id
      Src: /src/gnutls/lib/x509/crl.c:893,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:895,1
    - Dst: _gnutls_parse_general_name
      Src: /src/gnutls/lib/x509/crl.c:897,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:900,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:906,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:912,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crl.c:920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 8
    argNames:
    - crl
    - seq
    - alt
    - alt_size
    - alt_type
    - serial
    - serial_size
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 923
      start: 885
    functionDepth: 3
    functionLinenumber: 885
    functionLinenumberEnd: 923
    functionName: gnutls_x509_crl_get_authority_key_gn_serial
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _get_authority_key_id
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_delete_structure
    - gnutls_assert_val
    - _gnutls_parse_general_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_authority_key_gn_serial(\n\tgnutls_x509_crl_t
      crl, unsigned int seq, void *alt, size_t *alt_size,\n\tunsigned int *alt_type,
      void *serial, size_t *serial_size,\n\tunsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_authority_key_id
      Src: /src/gnutls/lib/x509/crl.c:953,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:955,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:958,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crl.c:961,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl.c:964,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:967,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - crl
    - id
    - id_size
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 972
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 972
    functionName: gnutls_x509_crl_get_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _get_authority_key_id
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert
    - asn1_delete_structure
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_authority_key_id(gnutls_x509_crl_t crl, void
      *id,\n\t\t\t\t\t size_t *id_size,\n\t\t\t\t\t unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:997,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/crl.c:1002,1
    - Dst: _gnutls_x509_crl_get_extension
      Src: /src/gnutls/lib/x509/crl.c:1006,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1012,1
    - Dst: _gnutls_x509_ext_extract_number
      Src: /src/gnutls/lib/x509/crl.c:1016,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl.c:1019,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - crl
    - ret
    - ret_size
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1027
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1027
    functionName: gnutls_x509_crl_get_number
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_ext_extract_number
    - _gnutls_x509_crl_get_extension
    - memset
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_number(gnutls_x509_crl_t crl, void *ret,\n\t\t\t
      \      size_t *ret_size, unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1053,1
    - Dst: _gnutls_x509_crl_get_extension_oid
      Src: /src/gnutls/lib/x509/crl.c:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - crl
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1063
    functionName: gnutls_x509_crl_get_extension_oid
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_crl_get_extension_oid
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, unsigned
      indx,\n\t\t\t\t      void *oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1100,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:1104,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:1108,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1114,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:1115,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:1118,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:1121,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1123,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:1124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - crl
    - indx
    - oid
    - sizeof_oid
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1135
    functionName: gnutls_x509_crl_get_extension_info
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t crl, unsigned
      indx,\n\t\t\t\t       void *oid, size_t *sizeof_oid,\n\t\t\t\t       unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1167,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crl.c:1171,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crl.c:1175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1181,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - crl
    - indx
    - data
    - sizeof_data
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1186
    functionName: gnutls_x509_crl_get_extension_data
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_extension_data(gnutls_x509_crl_t crl, unsigned
      indx,\n\t\t\t\t       void *data, size_t *sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/crl.c:1215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1217,1
    - Dst: gnutls_x509_crl_list_import
      Src: /src/gnutls/lib/x509/crl.c:1221,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/crl.c:1225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1228,1
    - Dst: gnutls_x509_crl_list_import
      Src: /src/gnutls/lib/x509/crl.c:1232,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crl.c:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - crls
    - size
    - data
    - format
    - flags
    argTypes:
    - gnutls_x509_crl_t**
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1244
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1244
    functionName: gnutls_x509_crl_list_import2
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_x509_crl_list_import
    - _gnutls_reallocarray_fast
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_list_import2(gnutls_x509_crl_t **crls, unsigned
      int *size,\n\t\t\t\t const gnutls_datum_t *data,\n\t\t\t\t gnutls_x509_crt_fmt_t
      format,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/lib/x509/crl.c:1283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1285,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/lib/x509/crl.c:1289,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1291,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/crl.c:1301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1304,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/crl.c:1317,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/lib/x509/crl.c:1323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1325,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/lib/x509/crl.c:1331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl.c:1334,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/crl.c:1348,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/crl.c:1365,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 5
    argNames:
    - crls
    - crl_max
    - data
    - format
    - flags
    argTypes:
    - gnutls_x509_crl_t*
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1367
      start: 1264
    functionDepth: 5
    functionLinenumber: 1264
    functionLinenumberEnd: 1367
    functionName: gnutls_x509_crl_list_import
    functionSourceFile: /src/gnutls/lib/x509/crl.c
    functionUses: 2
    functionsReached:
    - memmem
    - gnutls_assert
    - gnutls_x509_crl_init
    - gnutls_x509_crl_deinit
    - gnutls_x509_crl_import
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_list_import(gnutls_x509_crl_t *crls, unsigned
      int *crl_max,\n\t\t\t\tconst gnutls_datum_t *data,\n\t\t\t\tgnutls_x509_crt_fmt_t
      format,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/virt-san.c:37,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/virt-san.c:40,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/virt-san.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - oid
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: san_othername_to_virtual
    functionSourceFile: /src/gnutls/lib/x509/virt-san.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int san_othername_to_virtual(const char *oid, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: virtual_to_othername_oid
    functionSourceFile: /src/gnutls/lib/x509/virt-san.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *virtual_to_othername_oid(unsigned type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_alt_name_process
      Src: /src/gnutls/lib/x509/virt-san.c:77,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:79,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/virt-san.c:80,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/virt-san.c:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:93,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/x509/virt-san.c:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:101,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/virt-san.c:103,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/virt-san.c:107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:109,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/virt-san.c:114,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/virt-san.c:115,1
    - Dst: _gnutls_krb5_principal_to_der
      Src: /src/gnutls/lib/x509/virt-san.c:119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:122,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/virt-san.c:124,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/virt-san.c:125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:130,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/virt-san.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - name
    - type
    - san
    - othername_oid
    - raw
    argTypes:
    - struct name_st*
    - unsigned
    - gnutls_datum_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 137
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 137
    functionName: _gnutls_alt_name_assign_virt_type
    functionSourceFile: /src/gnutls/lib/x509/virt-san.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - strlen
    - _gnutls_alt_name_process
    - _gnutls_krb5_principal_to_der
    - gnutls_strdup
    - _gnutls_x509_encode_string
    - gnutls_idna_map
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_alt_name_assign_virt_type(struct name_st *name, unsigned
      type,\n\t\t\t\t      gnutls_datum_t *san,\n\t\t\t\t      const char *othername_oid,
      unsigned raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: san_othername_to_virtual
      Src: /src/gnutls/lib/x509/virt-san.c:161,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/virt-san.c:161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:163,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/virt-san.c:170,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/virt-san.c:174,1
    - Dst: _gnutls_krb5_der_to_principal
      Src: /src/gnutls/lib/x509/virt-san.c:179,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/virt-san.c:181,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/virt-san.c:186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/virt-san.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/virt-san.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - oid
    - othername
    - virt_type
    - virt
    argTypes:
    - char*
    - gnutls_datum_t*
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: gnutls_x509_othername_to_virtual
    functionSourceFile: /src/gnutls/lib/x509/virt-san.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - _gnutls_krb5_der_to_principal
    - strlen
    - gnutls_assert
    - gnutls_assert_val
    - san_othername_to_virtual
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_othername_to_virtual(const char *oid,\n\t\t\t\t     const
      gnutls_datum_t *othername,\n\t\t\t\t     unsigned int *virt_type,\n\t\t\t\t
      \    gnutls_datum_t *virt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:58,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:65,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:67,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl_write.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crl
    - version
    argTypes:
    - gnutls_x509_crl_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: gnutls_x509_crl_set_version
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_set_version(gnutls_x509_crl_t crl, unsigned int
      version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:107,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/x509/crl_write.c:111,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:113,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/x509/crl_write.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:119,1
    - Dst: gnutls_x509_crl_privkey_sign
      Src: /src/gnutls/lib/x509/crl_write.c:123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:125,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/x509/crl_write.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - crl
    - issuer
    - issuer_key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: gnutls_x509_crl_sign2
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 0
    functionsReached:
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_assert
    - gnutls_privkey_import_x509
    - gnutls_x509_crl_privkey_sign
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_sign2(gnutls_x509_crl_t crl, gnutls_x509_crt_t
      issuer,\n\t\t\t  gnutls_x509_privkey_t issuer_key,\n\t\t\t  gnutls_digest_algorithm_t
      dig, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_sign2
      Src: /src/gnutls/lib/x509/crl_write.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crl
    - issuer
    - issuer_key
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: gnutls_x509_crl_sign
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crl_sign2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_sign(gnutls_x509_crl_t crl, gnutls_x509_crt_t
      issuer,\n\t\t\t gnutls_x509_privkey_t issuer_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:170,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/crl_write.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - crl
    - act_time
    argTypes:
    - gnutls_x509_crl_t
    - time_t
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: gnutls_x509_crl_set_this_update
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_set_time
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_set_this_update(gnutls_x509_crl_t crl, time_t act_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:196,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/crl_write.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - crl
    - exp_time
    argTypes:
    - gnutls_x509_crl_t
    - time_t
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: gnutls_x509_crl_set_next_update
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_set_time
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_set_next_update(gnutls_x509_crl_t crl, time_t exp_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:221,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:228,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl_write.c:229,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:232,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:237,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl_write.c:238,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/crl_write.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:246,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:255,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl_write.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - crl
    - serial
    - serial_size
    - revocation_time
    argTypes:
    - gnutls_x509_crl_t
    - void*
    - size_t
    - time_t
    constantsTouched: []
    func_position:
      end: 260
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 260
    functionName: gnutls_x509_crl_set_crt_serial
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - _gnutls_x509_set_time
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_set_crt_serial(gnutls_x509_crl_t crl, const void
      *serial,\n\t\t\t\t   size_t serial_size, time_t revocation_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:281,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/crl_write.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:288,1
    - Dst: gnutls_x509_crl_set_crt_serial
      Src: /src/gnutls/lib/x509/crl_write.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:295,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crl_write.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - crl
    - crt
    - revocation_time
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    - time_t
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: gnutls_x509_crl_set_crt
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - gnutls_x509_crt_get_serial
    - gnutls_assert
    - gnutls_x509_crl_set_crt_serial
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_set_crt(gnutls_x509_crl_t crl, gnutls_x509_crt_t
      crt,\n\t\t\t    time_t revocation_time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crl_write.c:309,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:311,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crl_write.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - crl
    argTypes:
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: disable_optional_stuff
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_time
    - asn1_write_value
    linkageType: ''
    returnType: void
    signature: void disable_optional_stuff(gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:347,1
    - Dst: _gnutls_x509_crl_get_extension
      Src: /src/gnutls/lib/x509/crl_write.c:353,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl_write.c:357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:359,1
    - Dst: _gnutls_x509_ext_gen_auth_key_id
      Src: /src/gnutls/lib/x509/crl_write.c:365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:367,1
    - Dst: _gnutls_x509_crl_set_extension
      Src: /src/gnutls/lib/x509/crl_write.c:371,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl_write.c:373,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - crl
    - id
    - id_size
    argTypes:
    - gnutls_x509_crl_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 383
    functionName: gnutls_x509_crl_set_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_ext_gen_auth_key_id
    - _gnutls_free_datum
    - _gnutls_x509_crl_get_extension
    - _gnutls_x509_crl_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_set_authority_key_id(gnutls_x509_crl_t crl, const
      void *id,\n\t\t\t\t\t size_t id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:408,1
    - Dst: _gnutls_x509_crl_get_extension
      Src: /src/gnutls/lib/x509/crl_write.c:414,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl_write.c:418,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:420,1
    - Dst: _gnutls_x509_ext_gen_number
      Src: /src/gnutls/lib/x509/crl_write.c:426,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:428,1
    - Dst: _gnutls_x509_crl_set_extension
      Src: /src/gnutls/lib/x509/crl_write.c:432,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crl_write.c:434,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - crl
    - nr
    - nr_size
    argTypes:
    - gnutls_x509_crl_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 444
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 444
    functionName: gnutls_x509_crl_set_number
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_ext_gen_number
    - _gnutls_x509_crl_get_extension
    - _gnutls_x509_crl_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_set_number(gnutls_x509_crl_t crl, const void *nr,\n\t\t\t
      \      size_t nr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:481,1
    - Dst: gnutls_x509_crt_get_preferred_hash_algorithm
      Src: /src/gnutls/lib/x509/crl_write.c:486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crl_write.c:489,1
    - Dst: disable_optional_stuff
      Src: /src/gnutls/lib/x509/crl_write.c:494,1
    - Dst: _gnutls_x509_pkix_sign
      Src: /src/gnutls/lib/x509/crl_write.c:496,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crl_write.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - crl
    - issuer
    - issuer_key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 504
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 504
    functionName: gnutls_x509_crl_privkey_sign
    functionSourceFile: /src/gnutls/lib/x509/crl_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_pkix_sign
    - disable_optional_stuff
    - gnutls_assert
    - gnutls_x509_crt_get_preferred_hash_algorithm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_privkey_sign(gnutls_x509_crl_t crl,\n\t\t\t\t
      gnutls_x509_crt_t issuer,\n\t\t\t\t gnutls_privkey_t issuer_key,\n\t\t\t\t gnutls_digest_algorithm_t
      dig,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/spki.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - spki
    argTypes:
    - gnutls_x509_spki_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: gnutls_x509_spki_init
    functionSourceFile: /src/gnutls/lib/x509/spki.c
    functionUses: 10
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_spki_init(gnutls_x509_spki_t *spki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/spki.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spki
    argTypes:
    - gnutls_x509_spki_t
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: gnutls_x509_spki_deinit
    functionSourceFile: /src/gnutls/lib/x509/spki.c
    functionUses: 10
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_spki_deinit(gnutls_x509_spki_t spki)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - spki
    - dig
    - salt_size
    argTypes:
    - gnutls_x509_spki_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: gnutls_x509_spki_set_rsa_pss_params
    functionSourceFile: /src/gnutls/lib/x509/spki.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t spki,\n\t\t\t\t\t
      gnutls_digest_algorithm_t dig,\n\t\t\t\t\t unsigned int salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/spki.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/spki.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - spki
    - dig
    - salt_size
    argTypes:
    - gnutls_x509_spki_t
    - gnutls_digest_algorithm_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: gnutls_x509_spki_get_rsa_pss_params
    functionSourceFile: /src/gnutls/lib/x509/spki.c
    functionUses: 6
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_spki_get_rsa_pss_params(gnutls_x509_spki_t spki,\n\t\t\t\t\tgnutls_digest_algorithm_t
      *dig,\n\t\t\t\t\tunsigned int *salt_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:54,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sans
    argTypes:
    - gnutls_subject_alt_names_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: gnutls_subject_alt_names_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_subject_alt_names_init(gnutls_subject_alt_names_t *sans)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:68,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:69,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sans
    argTypes:
    - gnutls_subject_alt_names_t
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: subject_alt_names_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void subject_alt_names_deinit(gnutls_subject_alt_names_t sans)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509_ext.c:84,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sans
    argTypes:
    - gnutls_subject_alt_names_t
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: gnutls_subject_alt_names_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - subject_alt_names_deinit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_subject_alt_names_deinit(gnutls_subject_alt_names_t sans)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:111,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - sans
    - seq
    - san_type
    - san
    - othername_oid
    argTypes:
    - gnutls_subject_alt_names_t
    - unsigned int
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: gnutls_subject_alt_names_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_subject_alt_names_get(gnutls_subject_alt_names_t sans,\n\t\t\t\t
      unsigned int seq, unsigned int *san_type,\n\t\t\t\t gnutls_datum_t *san,\n\t\t\t\t
      gnutls_datum_t *othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/x509_ext.c:139,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/x509_ext.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:140,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509_ext.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:145,1
    - Dst: _gnutls_alt_name_assign_virt_type
      Src: /src/gnutls/lib/x509/x509_ext.c:149,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - names
    - size
    - san_type
    - san
    - othername_oid
    - raw
    argTypes:
    - struct name_st**
    - unsigned int*
    - unsigned int
    - gnutls_datum_t*
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: subject_alt_names_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_alt_name_assign_virt_type
    - _gnutls_reallocarray
    - unlikely
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int subject_alt_names_set(struct name_st **names, unsigned int *size,\n\t\t\t\t
      unsigned int san_type, gnutls_datum_t *san,\n\t\t\t\t char *othername_oid, unsigned
      raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/x509/x509_ext.c:184,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:186,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:189,1
    - Dst: subject_alt_names_set
      Src: /src/gnutls/lib/x509/x509_ext.c:192,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:195,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sans
    - san_type
    - san
    - othername_oid
    argTypes:
    - gnutls_subject_alt_names_t
    - unsigned int
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: gnutls_subject_alt_names_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_set_strdatum
    - subject_alt_names_set
    - gnutls_strdup
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_subject_alt_names_set(gnutls_subject_alt_names_t sans,\n\t\t\t\t
      unsigned int san_type,\n\t\t\t\t const gnutls_datum_t *san,\n\t\t\t\t const
      char *othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:229,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:229,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:232,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:233,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:236,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:238,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:239,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:248,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:253,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:259,1
    - Dst: subject_alt_names_set
      Src: /src/gnutls/lib/x509/x509_ext.c:263,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:272,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:273,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:274,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:280,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - ext
    - sans
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_subject_alt_names_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 282
      start: 219
    functionDepth: 5
    functionLinenumber: 219
    functionLinenumberEnd: 282
    functionName: gnutls_x509_ext_import_subject_alt_names
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - subject_alt_names_set
    - _gnutls_parse_general_name2
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_subject_alt_names(const gnutls_datum_t
      *ext,\n\t\t\t\t\t     gnutls_subject_alt_names_t sans,\n\t\t\t\t\t     unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:304,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:307,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:308,1
    - Dst: _gnutls_write_new_othername
      Src: /src/gnutls/lib/x509/x509_ext.c:313,1
    - Dst: _gnutls_write_new_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:326,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:333,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - sans
    - ext
    argTypes:
    - gnutls_subject_alt_names_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 342
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 342
    functionName: gnutls_x509_ext_export_subject_alt_names
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_write_new_othername
    - _gnutls_write_new_general_name
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_subject_alt_names(gnutls_subject_alt_names_t
      sans,\n\t\t\t\t\t     gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:377,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:377,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:380,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:381,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:384,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:386,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:387,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/lib/x509/x509_ext.c:393,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:395,1
    - Dst: _gnutls_extract_name_constraints
      Src: /src/gnutls/lib/x509/x509_ext.c:399,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:402,1
    - Dst: _gnutls_extract_name_constraints
      Src: /src/gnutls/lib/x509/x509_ext.c:406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:409,1
    - Dst: _gnutls_x509_name_constraints_merge
      Src: /src/gnutls/lib/x509/x509_ext.c:413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:415,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/x509_ext.c:419,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/x509_ext.c:420,1
    - Dst: _gnutls_extract_name_constraints
      Src: /src/gnutls/lib/x509/x509_ext.c:422,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:425,1
    - Dst: _gnutls_extract_name_constraints
      Src: /src/gnutls/lib/x509/x509_ext.c:429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:432,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:440,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/lib/x509/x509_ext.c:442,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - ext
    - nc
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_name_constraints_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 445
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 445
    functionName: gnutls_x509_ext_import_name_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_name_constraints_node_free
    - gnutls_x509_name_constraints_init
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_x509_name_constraints_deinit
    - asn1_delete_structure
    - _gnutls_x509_name_constraints_merge
    - _asn1_strict_der_decode
    - gnutls_assert
    - _gnutls_extract_name_constraints
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t *ext,\n\t\t\t\t\t
      \   gnutls_x509_name_constraints_t nc,\n\t\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:469,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:471,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:471,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:474,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:475,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:479,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:486,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:487,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:494,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:495,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:499,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:503,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:504,1
    - Dst: _gnutls_write_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:508,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:512,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:520,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:527,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:528,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:532,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:535,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:536,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:540,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:543,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:544,1
    - Dst: _gnutls_write_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:548,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:552,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:561,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:568,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 2
    argNames:
    - nc
    - ext
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 570
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 570
    functionName: gnutls_x509_ext_export_name_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_write_general_name
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_name_constraints(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t\t    gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:593,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:597,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:600,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:601,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:606,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:607,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:613,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ext
    - id
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 622
    functionName: gnutls_x509_ext_import_subject_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_subject_key_id(const gnutls_datum_t *ext,\n\t\t\t\t\t
      \ gnutls_datum_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:644,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:647,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:648,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:651,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:653,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:654,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:658,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:660,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - id
    - ext
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 668
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 668
    functionName: gnutls_x509_ext_export_subject_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_subject_key_id(const gnutls_datum_t *id,\n\t\t\t\t\t
      \ gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:688,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - aki
    argTypes:
    - gnutls_x509_aki_t*
    constantsTouched: []
    func_position:
      end: 693
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 693
    functionName: gnutls_x509_aki_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_aki_init(gnutls_x509_aki_t *aki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:705,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:706,1
    - Dst: subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509_ext.c:707,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - aki
    argTypes:
    - gnutls_x509_aki_t
    constantsTouched: []
    func_position:
      end: 709
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 709
    functionName: gnutls_x509_aki_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - subject_alt_names_deinit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_aki_deinit(gnutls_x509_aki_t aki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:727,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - aki
    - id
    argTypes:
    - gnutls_x509_aki_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: gnutls_x509_aki_get_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_aki_get_id(gnutls_x509_aki_t aki, gnutls_datum_t *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aki
    - id
    argTypes:
    - gnutls_x509_aki_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: gnutls_x509_aki_set_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_aki_set_id(gnutls_x509_aki_t aki, const gnutls_datum_t
      *id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:778,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:780,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/x509/x509_ext.c:784,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:786,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:789,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:791,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:792,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_ext.c:794,1
    - Dst: subject_alt_names_set
      Src: /src/gnutls/lib/x509/x509_ext.c:797,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - aki
    - san_type
    - san
    - othername_oid
    - serial
    argTypes:
    - gnutls_x509_aki_t
    - unsigned int
    - gnutls_datum_t*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 806
      start: 769
    functionDepth: 5
    functionLinenumber: 769
    functionLinenumberEnd: 806
    functionName: gnutls_x509_aki_set_cert_issuer
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_set_strdatum
    - strlen
    - subject_alt_names_set
    - gnutls_assert
    - gnutls_strdup
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_aki_set_cert_issuer(gnutls_x509_aki_t aki,\n\t\t\t\t
      \   unsigned int san_type,\n\t\t\t\t    const gnutls_datum_t *san,\n\t\t\t\t
      \   const char *othername_oid,\n\t\t\t\t    const gnutls_datum_t *serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:832,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:835,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:838,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - aki
    - seq
    - san_type
    - san
    - othername_oid
    - serial
    argTypes:
    - gnutls_x509_aki_t
    - unsigned int
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 857
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 857
    functionName: gnutls_x509_aki_get_cert_issuer
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_aki_get_cert_issuer(gnutls_x509_aki_t aki, unsigned
      int seq,\n\t\t\t\t    unsigned int *san_type, gnutls_datum_t *san,\n\t\t\t\t
      \   gnutls_datum_t *othername_oid,\n\t\t\t\t    gnutls_datum_t *serial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:883,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:883,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:886,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:887,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:890,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:892,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:893,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:903,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:909,1
    - Dst: subject_alt_names_set
      Src: /src/gnutls/lib/x509/x509_ext.c:917,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/x509_ext.c:924,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:928,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:929,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:930,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:935,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:939,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:944,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:947,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:954,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 3
    argNames:
    - ext
    - aki
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_aki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 957
      start: 873
    functionDepth: 5
    functionLinenumber: 873
    functionLinenumberEnd: 957
    functionName: gnutls_x509_ext_import_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - assert
    - gnutls_free
    - _gnutls_x509_read_value
    - subject_alt_names_set
    - _gnutls_parse_general_name2
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_authority_key_id(const gnutls_datum_t *ext,\n\t\t\t\t\t
      \   gnutls_x509_aki_t aki,\n\t\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:980,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:980,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:983,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:984,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:988,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:991,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:992,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:996,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1000,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1003,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1004,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1008,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1013,1
    - Dst: _gnutls_write_new_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:1016,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1022,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1028,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1030,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1036,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - aki
    - ext
    argTypes:
    - gnutls_x509_aki_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1038
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1038
    functionName: gnutls_x509_ext_export_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_write_new_general_name
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_authority_key_id(gnutls_x509_aki_t aki,\n\t\t\t\t\t
      \   gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1070,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1070,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1072,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1073,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1076,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1078,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1079,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1080,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1084,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1086,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1087,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1088,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ext
    - key_usage
    argTypes:
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1096
    functionName: gnutls_x509_ext_import_key_usage
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_key_usage(const gnutls_datum_t *ext,\n\t\t\t\t
      \    unsigned int *key_usage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - usage
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1123
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1123
    functionName: _last_key_usage_set_bit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _last_key_usage_set_bit(int usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1145,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1145,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1147,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1148,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1156,1
    - Dst: _last_key_usage_set_bit
      Src: /src/gnutls/lib/x509/x509_ext.c:1156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1158,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1159,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1160,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1163,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1165,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - usage
    - ext
    argTypes:
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1173
    functionName: gnutls_x509_ext_export_key_usage
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _last_key_usage_set_bit
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_ext_export_key_usage(unsigned int usage, gnutls_datum_t
      *ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_der_uint
      Src: /src/gnutls/lib/x509/x509_ext.c:1199,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ext
    - skipcerts
    argTypes:
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1205
    functionName: gnutls_x509_ext_import_inhibit_anypolicy
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_der_uint
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_inhibit_anypolicy(const gnutls_datum_t
      *ext,\n\t\t\t\t\t     unsigned int *skipcerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1227,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/x509_ext.c:1227,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1230,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1231,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/x509_ext.c:1234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1236,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1240,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1242,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - skipcerts
    - ext
    argTypes:
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1252
    functionName: gnutls_x509_ext_export_inhibit_anypolicy
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_x509_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_inhibit_anypolicy(unsigned int skipcerts,\n\t\t\t\t\t
      \    gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1276,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1279,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1280,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1286,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1287,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/x509_ext.c:1292,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/x509_ext.c:1295,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ext
    - activation
    - expiration
    argTypes:
    - gnutls_datum_t*
    - time_t*
    - time_t*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1303
    functionName: gnutls_x509_ext_import_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_get_time
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_private_key_usage_period(const gnutls_datum_t
      *ext,\n\t\t\t\t\t\t    time_t *activation,\n\t\t\t\t\t\t    time_t *expiration)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1329,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1329,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1332,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1333,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/x509_ext.c:1336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1338,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/x509_ext.c:1342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1344,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1350,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - activation
    - expiration
    - ext
    argTypes:
    - time_t
    - time_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1358
    functionName: gnutls_x509_ext_export_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_set_time
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_private_key_usage_period(time_t activation,\n\t\t\t\t\t\t
      \   time_t expiration,\n\t\t\t\t\t\t    gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1381,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1384,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1385,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1388,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1390,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1391,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/x509_ext.c:1396,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1401,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1402,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1410,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1411,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ext
    - ca
    - pathlen
    argTypes:
    - gnutls_datum_t*
    - unsigned int*
    - int*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1421
    functionName: gnutls_x509_ext_import_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_uint
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - strcmp
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_basic_constraints(const gnutls_datum_t
      *ext,\n\t\t\t\t\t     unsigned int *ca, int *pathlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1452,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1452,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1455,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1456,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1460,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1462,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1463,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1468,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1470,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/x509_ext.c:1472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1475,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1479,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1481,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ca
    - pathlen
    - ext
    argTypes:
    - unsigned int
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1490
    functionName: gnutls_x509_ext_export_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_x509_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_basic_constraints(unsigned int ca, int
      pathlen,\n\t\t\t\t\t     gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1520,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1520,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1523,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1524,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1527,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1529,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1530,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/x509_ext.c:1535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1540,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1541,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1546,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1549,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1560,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:1578,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:1579,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1580,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 5
    argNames:
    - ext
    - pathlen
    - policyLanguage
    - policy
    - sizeof_policy
    argTypes:
    - gnutls_datum_t*
    - int*
    - char**
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1583
    functionName: gnutls_x509_ext_import_proxy
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - _gnutls_x509_read_uint
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_proxy(const gnutls_datum_t *ext, int *pathlen,\n\t\t\t\t
      char **policyLanguage, char **policy,\n\t\t\t\t size_t *sizeof_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1610,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1610,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1613,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1614,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1618,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1620,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1621,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/x509_ext.c:1625,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1629,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1634,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1637,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1638,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1642,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1645,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1646,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:1650,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1652,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1658,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - pathLenConstraint
    - policyLanguage
    - policy
    - sizeof_policy
    - ext
    argTypes:
    - int
    - char*
    - char*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1660
    functionName: gnutls_x509_ext_export_proxy
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_x509_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_proxy(int pathLenConstraint,\n\t\t\t\t
      const char *policyLanguage, const char *policy,\n\t\t\t\t size_t sizeof_policy,
      gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1671,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1671,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1673,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1678,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1680,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1686,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1688,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1693,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1694,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1695,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1696,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1697,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:1702,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1704,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1706,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1710,1
    - Dst: _gnutls_ucs2_to_utf8
      Src: /src/gnutls/lib/x509/x509_ext.c:1711,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:1712,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1714,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:1730,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - data
    - size
    - txt
    argTypes:
    - void*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1732
    functionName: decode_user_notice
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_ucs2_to_utf8
    - asn1_delete_structure
    - strcmp
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int decode_user_notice(const void *data, size_t size,\n\t\t\t      gnutls_datum_t
      *txt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:1751,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - policies
    argTypes:
    - gnutls_x509_policies_t*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1756
    functionName: gnutls_x509_policies_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_policies_init(gnutls_x509_policies_t *policies)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_policy_release
      Src: /src/gnutls/lib/x509/x509_ext.c:1771,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:1773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - policies
    argTypes:
    - gnutls_x509_policies_t
    constantsTouched: []
    func_position:
      end: 1774
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1774
    functionName: gnutls_x509_policies_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_policy_release
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_policies_deinit(gnutls_x509_policies_t policies)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:1797,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - policies
    - seq
    - policy
    argTypes:
    - gnutls_x509_policies_t
    - unsigned int
    - struct gnutls_x509_policy_st*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1805
    functionName: gnutls_x509_policies_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_policies_get(gnutls_x509_policies_t policies, unsigned
      int seq,\n\t\t\t     struct gnutls_x509_policy_st *policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509_ext.c:1813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - policies
    - seq
    argTypes:
    - gnutls_x509_policies_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1814
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1814
    functionName: _gnutls_x509_policies_erase
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void _gnutls_x509_policies_erase(gnutls_x509_policies_t policies,\n\t\t\t\t
      unsigned int seq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:1835,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:1837,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:1839,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509_ext.c:1847,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:1849,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:1850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - policies
    - policy
    argTypes:
    - gnutls_x509_policies_t
    - struct gnutls_x509_policy_st*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1861
    functionName: gnutls_x509_policies_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_strdup
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_policies_set(gnutls_x509_policies_t policies,\n\t\t\t
      \    const struct gnutls_x509_policy_st *policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:1887,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:1887,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1890,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1891,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:1895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1897,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1898,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509_ext.c:1906,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:1911,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1914,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1919,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:1929,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1934,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1940,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:1941,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1945,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:1946,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/x509_ext.c:1950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1954,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_ext.c:1964,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:1967,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:1971,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1973,1
    - Dst: decode_user_notice
      Src: /src/gnutls/lib/x509/x509_ext.c:1977,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:1979,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:1982,1
    - Dst: gnutls_x509_policy_release
      Src: /src/gnutls/lib/x509/x509_ext.c:2007,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:2010,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2011,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 3
    argNames:
    - ext
    - policies
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_policies_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2013
      start: 1876
    functionDepth: 4
    functionLinenumber: 1876
    functionLinenumberEnd: 2013
    functionName: gnutls_x509_ext_import_policies
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_read_string
    - gnutls_x509_policy_release
    - asn1_delete_structure
    - strcmp
    - memset
    - _asn1_strict_der_decode
    - decode_user_notice
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_policies(const gnutls_datum_t *ext,\n\t\t\t\t
      \   gnutls_x509_policies_t policies,\n\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2021,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2024,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2025,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2030,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2032,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2033,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2037,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2039,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2040,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2044,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2047,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2048,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:2052,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2054,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2061,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - txt
    - der_data
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2063
    functionName: encode_user_notice
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int encode_user_notice(const gnutls_datum_t *txt,\n\t\t\t      gnutls_datum_t
      *der_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2088,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2088,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2091,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2092,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2098,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2100,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2101,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2107,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2110,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2111,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2120,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2121,1
    - Dst: MIN
      Src: /src/gnutls/lib/x509/x509_ext.c:2126,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2129,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2132,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2144,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2154,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2155,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/x509_ext.c:2166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2171,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2183,1
    - Dst: encode_user_notice
      Src: /src/gnutls/lib/x509/x509_ext.c:2188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2190,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2194,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:2198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2200,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:2207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2209,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 2
    argNames:
    - policies
    - ext
    argTypes:
    - gnutls_x509_policies_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2217
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2217
    functionName: gnutls_x509_ext_export_policies
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - encode_user_notice
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_write_string
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - MIN
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_policies(gnutls_x509_policies_t policies,\n\t\t\t\t
      \   gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:2242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cdp
    argTypes:
    - gnutls_x509_crl_dist_points_t*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2247
    functionName: gnutls_x509_crl_dist_points_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crl_dist_points_init(gnutls_x509_crl_dist_points_t
      *cdp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2262,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2264,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cdp
    argTypes:
    - gnutls_x509_crl_dist_points_t
    constantsTouched: []
    func_position:
      end: 2266
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2266
    functionName: gnutls_x509_crl_dist_points_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crl_dist_points_deinit(gnutls_x509_crl_dist_points_t
      cdp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - cdp
    - seq
    - type
    - san
    - reasons
    argTypes:
    - gnutls_x509_crl_dist_points_t
    - unsigned int
    - unsigned int*
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2302
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2302
    functionName: gnutls_x509_crl_dist_points_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_dist_points_get(gnutls_x509_crl_dist_points_t
      cdp,\n\t\t\t\t    unsigned int seq, unsigned int *type,\n\t\t\t\t    gnutls_datum_t
      *san, unsigned int *reasons)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/x509_ext.c:2310,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/x509_ext.c:2310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2311,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509_ext.c:2315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - cdp
    - type
    - san
    - reasons
    argTypes:
    - gnutls_x509_crl_dist_points_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2329
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2329
    functionName: crl_dist_points_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - INT_ADD_OVERFLOW
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int crl_dist_points_set(gnutls_x509_crl_dist_points_t cdp,\n\t\t\t
      \      gnutls_x509_subject_alt_name_t type,\n\t\t\t       const gnutls_datum_t
      *san, unsigned int reasons)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:2353,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2355,1
    - Dst: crl_dist_points_set
      Src: /src/gnutls/lib/x509/x509_ext.c:2357,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2359,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cdp
    - type
    - san
    - reasons
    argTypes:
    - gnutls_x509_crl_dist_points_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2364
      start: 2345
    functionDepth: 2
    functionLinenumber: 2345
    functionLinenumberEnd: 2364
    functionName: gnutls_x509_crl_dist_points_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    - gnutls_free
    - crl_dist_points_set
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_dist_points_set(gnutls_x509_crl_dist_points_t
      cdp,\n\t\t\t\t    gnutls_x509_subject_alt_name_t type,\n\t\t\t\t    const gnutls_datum_t
      *san,\n\t\t\t\t    unsigned int reasons)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2391,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2391,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2394,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2395,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:2398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2401,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2402,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:2412,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2420,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2421,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:2431,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:2438,1
    - Dst: crl_dist_points_set
      Src: /src/gnutls/lib/x509/x509_ext.c:2448,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2458,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2459,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2465,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - ext
    - cdp
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_crl_dist_points_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2467
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2467
    functionName: gnutls_x509_ext_import_crl_dist_points
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - crl_dist_points_set
    - _gnutls_parse_general_name2
    - asn1_read_value
    - snprintf
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_crl_dist_points(const gnutls_datum_t *ext,\n\t\t\t\t\t
      \  gnutls_x509_crl_dist_points_t cdp,\n\t\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2491,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2491,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2494,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2495,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2502,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2504,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2505,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2513,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2516,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2521,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2522,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2526,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2529,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2530,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2535,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2538,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2539,1
    - Dst: _gnutls_write_new_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:2544,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2549,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:2554,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2556,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 2
    argNames:
    - cdp
    - ext
    argTypes:
    - gnutls_x509_crl_dist_points_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2566
    functionName: gnutls_x509_ext_export_crl_dist_points
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_write_new_general_name
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_crl_dist_points(gnutls_x509_crl_dist_points_t
      cdp,\n\t\t\t\t\t   gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:2589,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - aia
    argTypes:
    - gnutls_x509_aia_t*
    constantsTouched: []
    func_position:
      end: 2594
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2594
    functionName: gnutls_x509_aia_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_aia_init(gnutls_x509_aia_t *aia)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2609,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2610,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2612,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - aia
    argTypes:
    - gnutls_x509_aia_t
    constantsTouched: []
    func_position:
      end: 2614
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2614
    functionName: gnutls_x509_aia_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_aia_deinit(gnutls_x509_aia_t aia)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - aia
    - seq
    - oid
    - san_type
    - san
    argTypes:
    - gnutls_x509_aia_t
    - unsigned int
    - gnutls_datum_t*
    - unsigned*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2657
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2657
    functionName: gnutls_x509_aia_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_aia_get(gnutls_x509_aia_t aia, unsigned int seq,\n\t\t\tgnutls_datum_t
      *oid, unsigned *san_type,\n\t\t\tgnutls_datum_t *san)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/x509/x509_ext.c:2664,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2666,1
    - Dst: _gnutls_idna_email_map
      Src: /src/gnutls/lib/x509/x509_ext.c:2669,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2671,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/x509_ext.c:2674,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_ext.c:2675,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2676,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/x509/x509_ext.c:2679,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2681,1
    - Dst: _gnutls_set_strdatum
      Src: /src/gnutls/lib/x509/x509_ext.c:2684,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2686,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - out
    - type
    - san
    - raw
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2690
      start: 2659
    functionDepth: 4
    functionLinenumber: 2659
    functionLinenumberEnd: 2690
    functionName: _gnutls_alt_name_process
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_set_strdatum
    - _gnutls_idna_email_map
    - gnutls_idna_map
    - _gnutls_debug_log
    - _gnutls_str_is_print
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_alt_name_process(gnutls_datum_t *out, unsigned type,\n\t\t\t
      \    const gnutls_datum_t *san, unsigned raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/x509_ext.c:2720,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/x509_ext.c:2720,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2721,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509_ext.c:2724,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2727,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:2734,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_ext.c:2735,1
    - Dst: _gnutls_alt_name_process
      Src: /src/gnutls/lib/x509/x509_ext.c:2741,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - aia
    - oid
    - san_type
    - san
    argTypes:
    - gnutls_x509_aia_t
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2748
      start: 2713
    functionDepth: 5
    functionLinenumber: 2713
    functionLinenumberEnd: 2748
    functionName: gnutls_x509_aia_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gnutls_reallocarray
    - _gnutls_alt_name_process
    - gnutls_strdup
    - unlikely
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_aia_set(gnutls_x509_aia_t aia, const char *oid,\n\t\t\tunsigned
      san_type, const gnutls_datum_t *san)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:2760,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2763,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2771,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2772,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/x509_ext.c:2776,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/x509_ext.c:2776,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2777,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509_ext.c:2779,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2782,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:2786,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509_ext.c:2788,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:2795,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_ext.c:2796,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2801,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2802,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - c2
    - aia
    argTypes:
    - asn1_node
    - gnutls_x509_aia_t
    constantsTouched: []
    func_position:
      end: 2812
      start: 2750
    functionDepth: 1
    functionLinenumber: 2750
    functionLinenumberEnd: 2812
    functionName: parse_aia
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - assert
    - strlen
    - _gnutls_reallocarray
    - _gnutls_parse_general_name2
    - asn1_read_value
    - snprintf
    - gnutls_strdup
    - unlikely
    - gnutls_assert_val
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: int parse_aia(asn1_node c2, gnutls_x509_aia_t aia)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2836,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2840,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2840,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2843,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2844,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:2847,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2849,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2850,1
    - Dst: parse_aia
      Src: /src/gnutls/lib/x509/x509_ext.c:2854,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2856,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ext
    - aia
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_aia_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2863
      start: 2829
    functionDepth: 2
    functionLinenumber: 2829
    functionLinenumberEnd: 2863
    functionName: gnutls_x509_ext_import_aia
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - parse_aia
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_aia(const gnutls_datum_t *ext, gnutls_x509_aia_t
      aia,\n\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:2885,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:2885,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2888,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2889,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2897,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2898,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:2904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2907,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:2908,1
    - Dst: _gnutls_write_general_name
      Src: /src/gnutls/lib/x509/x509_ext.c:2912,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2917,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:2922,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2924,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:2929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - aia
    - ext
    argTypes:
    - gnutls_x509_aia_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2932
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2932
    functionName: gnutls_x509_ext_export_aia
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_write_general_name
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_ext_export_aia(gnutls_x509_aia_t aia, gnutls_datum_t
      *ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:2951,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:2953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_x509_key_purposes_t*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2958
    functionName: gnutls_x509_key_purpose_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_key_purpose_init(gnutls_x509_key_purposes_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_x509_key_purposes_t
    constantsTouched: []
    func_position:
      end: 2967
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 2967
    functionName: key_purposes_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void key_purposes_deinit(gnutls_x509_key_purposes_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_purposes_deinit
      Src: /src/gnutls/lib/x509/x509_ext.c:2979,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:2980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - gnutls_x509_key_purposes_t
    constantsTouched: []
    func_position:
      end: 2981
      start: 2977
    functionDepth: 2
    functionLinenumber: 2977
    functionLinenumberEnd: 2981
    functionName: gnutls_x509_key_purpose_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - key_purposes_deinit
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_key_purpose_deinit(gnutls_x509_key_purposes_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:2998,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:3000,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3002,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_ext.c:3004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - oid
    argTypes:
    - gnutls_x509_key_purposes_t
    - char*
    constantsTouched: []
    func_position:
      end: 3008
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3008
    functionName: gnutls_x509_key_purpose_set
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnutls_strdup
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_key_purpose_set(gnutls_x509_key_purposes_t p, const
      char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - idx
    - oid
    argTypes:
    - gnutls_x509_key_purposes_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3034
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3034
    functionName: gnutls_x509_key_purpose_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_key_purpose_get(gnutls_x509_key_purposes_t p, unsigned
      idx,\n\t\t\t\tgnutls_datum_t *oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:3060,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:3060,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3063,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3064,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:3067,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3069,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3070,1
    - Dst: key_purposes_deinit
      Src: /src/gnutls/lib/x509/x509_ext.c:3074,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:3081,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3083,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3089,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3103,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:3104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - ext
    - p
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_key_purposes_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3107
      start: 3050
    functionDepth: 2
    functionLinenumber: 3050
    functionLinenumberEnd: 3107
    functionName: gnutls_x509_ext_import_key_purposes
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - key_purposes_deinit
    - gnutls_free
    - _gnutls_x509_read_value
    - snprintf
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_key_purposes(const gnutls_datum_t *ext,\n\t\t\t\t\tgnutls_x509_key_purposes_t
      p,\n\t\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:3129,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:3129,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3132,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3133,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3143,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3144,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3152,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3153,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:3158,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3160,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:3167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p
    - ext
    argTypes:
    - gnutls_x509_key_purposes_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3169
      start: 3122
    functionDepth: 1
    functionLinenumber: 3122
    functionLinenumberEnd: 3169
    functionName: gnutls_x509_ext_export_key_purposes
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_key_purposes(gnutls_x509_key_purposes_t
      p,\n\t\t\t\t\tgnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3181,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - gnutls_x509_ext_st*
    constantsTouched: []
    func_position:
      end: 3183
      start: 3179
    functionDepth: 1
    functionLinenumber: 3179
    functionLinenumberEnd: 3183
    functionName: gnutls_x509_ext_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_ext_deinit(gnutls_x509_ext_st *ext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509_ext.c:3192,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:3196,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:3196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3198,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3199,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:3202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3204,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3205,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3210,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3212,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3213,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3218,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3220,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3221,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3236,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509_ext.c:3240,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509_ext.c:3249,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:3251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - der
    - out
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_ext_st*
    constantsTouched: []
    func_position:
      end: 3253
      start: 3185
    functionDepth: 1
    functionLinenumber: 3185
    functionLinenumberEnd: 3253
    functionName: _gnutls_x509_decode_ext
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_strdup
    - asn1_delete_structure
    - memset
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_decode_ext(const gnutls_datum_t *der, gnutls_x509_ext_st
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509_ext.c:3270,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/x509_ext.c:3272,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3278,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - c2
    - f
    - flags
    argTypes:
    - asn1_node
    - gnutls_x509_tlsfeatures_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 3309
      start: 3257
    functionDepth: 1
    functionLinenumber: 3257
    functionLinenumberEnd: 3309
    functionName: parse_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_uint
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int parse_tlsfeatures(asn1_node c2, gnutls_x509_tlsfeatures_t f,\n\t\t\t
      \    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3338,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:3342,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:3342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3344,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3345,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509_ext.c:3348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3350,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3351,1
    - Dst: parse_tlsfeatures
      Src: /src/gnutls/lib/x509/x509_ext.c:3355,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3357,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:3361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ext
    - f
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_tlsfeatures_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3364
      start: 3330
    functionDepth: 2
    functionLinenumber: 3330
    functionLinenumberEnd: 3364
    functionName: gnutls_x509_ext_import_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - parse_tlsfeatures
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_import_tlsfeatures(const gnutls_datum_t *ext,\n\t\t\t\t
      \      gnutls_x509_tlsfeatures_t f,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3383,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509_ext.c:3391,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509_ext.c:3391,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3393,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3394,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_ext.c:3398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3400,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_ext.c:3401,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/x509_ext.c:3405,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3407,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/x509_ext.c:3412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3414,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509_ext.c:3421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - f
    - ext
    argTypes:
    - gnutls_x509_tlsfeatures_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3423
      start: 3379
    functionDepth: 1
    functionLinenumber: 3379
    functionLinenumberEnd: 3423
    functionName: gnutls_x509_ext_export_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_x509_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_export_tlsfeatures(gnutls_x509_tlsfeatures_t f,\n\t\t\t\t
      \      gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3447,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - feature
    argTypes:
    - gnutls_x509_tlsfeatures_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3455
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3455
    functionName: gnutls_x509_tlsfeatures_add
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 3
    functionsReached:
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_tlsfeatures_add(gnutls_x509_tlsfeatures_t f,\n\t\t\t\tunsigned
      int feature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3474,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scts
    argTypes:
    - struct gnutls_x509_ct_scts_st*
    constantsTouched: []
    func_position:
      end: 3477
      start: 3471
    functionDepth: 2
    functionLinenumber: 3471
    functionLinenumberEnd: 3477
    functionName: _gnutls_free_scts
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_free_scts(struct gnutls_x509_ct_scts_st *scts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509_ext.c:3489,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - scts
    argTypes:
    - gnutls_x509_ct_scts_t*
    constantsTouched: []
    func_position:
      end: 3493
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3493
    functionName: gnutls_x509_ext_ct_scts_init
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t *scts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_scts
      Src: /src/gnutls/lib/x509/x509_ext.c:3503,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - scts
    argTypes:
    - gnutls_x509_ct_scts_t
    constantsTouched: []
    func_position:
      end: 3505
      start: 3501
    functionDepth: 3
    functionLinenumber: 3501
    functionLinenumberEnd: 3505
    functionName: gnutls_x509_ext_ct_scts_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_free_scts
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_ext_ct_scts_deinit(gnutls_x509_ct_scts_t scts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - hash_algo
    - sig_algo
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 3559
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3559
    functionName: get_sigalg
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: gnutls_sign_algorithm_t get_sigalg(uint8_t hash_algo, uint8_t sig_algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sigalg
    - out
    argTypes:
    - gnutls_sign_algorithm_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 3578
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3578
    functionName: write_sigalg
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int write_sigalg(gnutls_sign_algorithm_t sigalg, uint8_t out[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3589,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3596,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:3598,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3602,1
    - Dst: _gnutls_read_uint64
      Src: /src/gnutls/lib/x509/x509_ext.c:3604,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3611,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3613,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3623,1
    - Dst: get_sigalg
      Src: /src/gnutls/lib/x509/x509_ext.c:3627,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3629,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/x509/x509_ext.c:3633,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/x509/x509_ext.c:3635,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3638,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3644,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3646,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ptr
    - length
    - sct
    argTypes:
    - uint8_t*
    - uint16_t
    - struct ct_sct_st*
    constantsTouched: []
    func_position:
      end: 3650
      start: 3580
    functionDepth: 2
    functionLinenumber: 3580
    functionLinenumberEnd: 3650
    functionName: _gnutls_parse_ct_sct
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - get_sigalg
    - _gnutls_read_uint16
    - _gnutls_read_uint64
    - memcpy
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_ct_sct(uint8_t *ptr, uint16_t length,\n\t\t\t\tstruct
      ct_sct_st *sct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509_ext.c:3657,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3660,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_ext.c:3662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sct
    - scts
    - size
    argTypes:
    - struct ct_sct_st*
    - struct ct_sct_st**
    - size_t*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3667
    functionName: _gnutls_ct_sct_add
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ct_sct_add(struct ct_sct_st *sct, struct ct_sct_st **scts,\n\t\t\t
      \     size_t *size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/x509/x509_ext.c:3680,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3681,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/x509_ext.c:3684,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3686,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/x509_ext.c:3689,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3691,1
    - Dst: _gnutls_write_uint64
      Src: /src/gnutls/lib/x509/x509_ext.c:3694,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/x509_ext.c:3695,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3697,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/x509_ext.c:3700,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3702,1
    - Dst: write_sigalg
      Src: /src/gnutls/lib/x509/x509_ext.c:3705,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3706,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/x509_ext.c:3708,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3709,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/x509/x509_ext.c:3712,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3714,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/x509/x509_ext.c:3717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - sct
    argTypes:
    - gnutls_buffer_st*
    - struct ct_sct_st*
    constantsTouched: []
    func_position:
      end: 3721
      start: 3669
    functionDepth: 4
    functionLinenumber: 3669
    functionLinenumberEnd: 3721
    functionName: _gnutls_export_ct_v1_sct
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_write_uint16
    - _gnutls_write_uint64
    - write_sigalg
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_export_ct_v1_sct(gnutls_buffer_st *buf,\n\t\t\t\t    const
      struct ct_sct_st *sct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3749,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/x509_ext.c:3751,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_ext.c:3754,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3757,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/x509/x509_ext.c:3761,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_ext.c:3763,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/x509/x509_ext.c:3772,1
    - Dst: _gnutls_parse_ct_sct
      Src: /src/gnutls/lib/x509/x509_ext.c:3783,1
    - Dst: _gnutls_ct_sct_add
      Src: /src/gnutls/lib/x509/x509_ext.c:3785,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3792,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3795,1
    - Dst: _gnutls_free_scts
      Src: /src/gnutls/lib/x509/x509_ext.c:3796,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - ext
    - scts
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_ct_scts_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3801
      start: 3738
    functionDepth: 3
    functionLinenumber: 3738
    functionLinenumberEnd: 3801
    functionName: gnutls_x509_ext_ct_import_scts
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_free
    - _gnutls_read_uint16
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_ct_sct_add
    - _gnutls_parse_ct_sct
    - gnutls_assert_val
    - _gnutls_free_scts
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_ct_import_scts(const gnutls_datum_t *ext,\n\t\t\t\t
      \  gnutls_x509_ct_scts_t scts,\n\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/x509_ext.c:3820,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/x509/x509_ext.c:3824,1
    - Dst: _gnutls_export_ct_v1_sct
      Src: /src/gnutls/lib/x509/x509_ext.c:3827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3829,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/x509/x509_ext.c:3835,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/x509_ext.c:3838,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_ext.c:3841,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/x509/x509_ext.c:3848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - scts
    - ext
    argTypes:
    - gnutls_x509_ct_scts_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3850
      start: 3814
    functionDepth: 5
    functionLinenumber: 3814
    functionLinenumberEnd: 3850
    functionName: gnutls_x509_ext_ct_export_scts
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_write_uint16
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - _gnutls_x509_encode_string
    - gnutls_assert
    - _gnutls_buffer_append_prefix
    - _gnutls_export_ct_v1_sct
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_ct_export_scts(const gnutls_x509_ct_scts_t scts,\n\t\t\t\t
      \  gnutls_datum_t *ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - scts
    - idx
    - version_out
    argTypes:
    - gnutls_x509_ct_scts_t
    - unsigned
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3886
      start: 3868
    functionDepth: 0
    functionLinenumber: 3868
    functionLinenumberEnd: 3886
    functionName: gnutls_x509_ct_sct_get_version
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ct_sct_get_version(gnutls_x509_ct_scts_t scts, unsigned
      idx,\n\t\t\t\t   unsigned int *version_out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3923,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3931,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_ext.c:3933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - scts
    - idx
    - timestamp
    - logid
    - sigalg
    - signature
    argTypes:
    - gnutls_x509_ct_scts_t
    - unsigned
    - time_t*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3945
      start: 3907
    functionDepth: 2
    functionLinenumber: 3907
    functionLinenumberEnd: 3945
    functionName: gnutls_x509_ct_sct_get
    functionSourceFile: /src/gnutls/lib/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ct_sct_get(const gnutls_x509_ct_scts_t scts, unsigned
      idx,\n\t\t\t   time_t *timestamp, gnutls_datum_t *logid,\n\t\t\t   gnutls_sign_algorithm_t
      *sigalg,\n\t\t\t   gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/mpi.c:43,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/mpi.c:43,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:46,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:47,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/mpi.c:50,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:53,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:54,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:55,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/mpi.c:60,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:61,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:62,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:63,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - der
    - dersize
    - out
    argTypes:
    - uint8_t*
    - int
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: _gnutls_x509_read_der_int
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_read_int
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_der_int(uint8_t *der, int dersize, bigint_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/mpi.c:77,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/mpi.c:77,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:80,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:81,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/mpi.c:84,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:87,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:88,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:89,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/mpi.c:94,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:95,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:96,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:97,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/mpi.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - der
    - dersize
    - out
    argTypes:
    - uint8_t*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: _gnutls_x509_read_der_uint
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_uint
    - asn1_create_element
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_der_uint(uint8_t *der, int dersize, unsigned
      int *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/mpi.c:116,1
    - Dst: _gnutls_x509_get_pk_algorithm
      Src: /src/gnutls/lib/x509/mpi.c:118,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:120,1
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/mpi.c:130,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/mpi.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:145,1
    - Dst: _gnutls_x509_read_pubkey_params
      Src: /src/gnutls/lib/x509/mpi.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:152,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/mpi.c:156,1
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/mpi.c:161,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/mpi.c:163,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:165,1
    - Dst: _gnutls_x509_read_pubkey
      Src: /src/gnutls/lib/x509/mpi.c:169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:171,1
    - Dst: _gnutls_x509_check_pubkey_params
      Src: /src/gnutls/lib/x509/mpi.c:175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:177,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/mpi.c:185,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/mpi.c:186,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 3
    argNames:
    - asn
    - root
    - params
    argTypes:
    - asn1_node
    - char*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 188
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 188
    functionName: _gnutls_get_asn_mpis
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_read_value
    - _gnutls_x509_check_pubkey_params
    - _gnutls_free_datum
    - _gnutls_x509_get_pk_algorithm
    - gnutls_pk_params_release
    - _gnutls_x509_read_pubkey_params
    - _asnstr_append_name
    - gnutls_pk_params_init
    - _gnutls_x509_read_pubkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_asn_mpis(asn1_node asn, const char *root,\n\t\t\t
      gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_asn_mpis
      Src: /src/gnutls/lib/x509/mpi.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - params
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: _gnutls_x509_crt_get_mpis
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 3
    functionsReached:
    - _gnutls_get_asn_mpis
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_get_mpis(gnutls_x509_crt_t cert,\n\t\t\t      gnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_asn_mpis
      Src: /src/gnutls/lib/x509/mpi.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - params
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: _gnutls_x509_crq_get_mpis
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 1
    functionsReached:
    - _gnutls_get_asn_mpis
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crq_get_mpis(gnutls_x509_crq_t cert,\n\t\t\t      gnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/mpi.c:224,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/mpi.c:226,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/mpi.c:227,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/mpi.c:230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:233,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:234,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/mpi.c:237,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/mpi.c:240,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/mpi.c:241,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/mpi.c:243,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/mpi.c:254,1
    - Dst: _gnutls_x509_read_rsa_pss_params
      Src: /src/gnutls/lib/x509/mpi.c:257,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/mpi.c:259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - src
    - src_name
    - spki
    - is_sig
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_spki_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 268
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 268
    functionName: _gnutls_x509_read_pkalgo_params
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_x509_read_rsa_pss_params
    - asn1_read_value
    - _gnutls_free_datum
    - strcmp
    - memset
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_pkalgo_params(asn1_node src, const char *src_name,\n\t\t\t\t
      \   gnutls_x509_spki_st *spki, unsigned is_sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:277,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/mpi.c:281,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/mpi.c:282,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:288,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:289,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/mpi.c:292,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/mpi.c:293,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:296,1
    - Dst: _gnutls_x509_write_rsa_pss_params
      Src: /src/gnutls/lib/x509/mpi.c:300,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/mpi.c:302,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:304,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/mpi.c:305,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:307,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:313,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - dst
    - dst_name
    - oid
    - params
    argTypes:
    - asn1_node
    - char*
    - char*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 318
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 318
    functionName: write_oid_and_params
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_write_value
    - _gnutls_x509_write_rsa_pss_params
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int write_oid_and_params(asn1_node dst, const char *dst_name,\n\t\t\t\tconst
      char *oid, gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_get_oid
      Src: /src/gnutls/lib/x509/mpi.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:333,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/mpi.c:334,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/x509/mpi.c:336,1
    - Dst: write_oid_and_params
      Src: /src/gnutls/lib/x509/mpi.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - dst_name
    - params
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: _gnutls_x509_write_spki_params
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_get_name
    - gnutls_pk_get_oid
    - _gnutls_debug_log
    - gnutls_assert
    - write_oid_and_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_spki_params(asn1_node dst, const char *dst_name,\n\t\t\t\t
      \  gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:357,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/mpi.c:358,1
    - Dst: write_oid_and_params
      Src: /src/gnutls/lib/x509/mpi.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dst
    - dst_name
    - se
    - params
    argTypes:
    - asn1_node
    - char*
    - gnutls_sign_entry_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 364
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 364
    functionName: _gnutls_x509_write_sign_params
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_assert
    - write_oid_and_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_sign_params(asn1_node dst, const char *dst_name,\n\t\t\t\t
      \  const gnutls_sign_entry_st *se,\n\t\t\t\t   gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/mpi.c:376,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:378,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/mpi.c:381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:383,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/mpi.c:387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:390,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/mpi.c:391,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:392,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/x509/mpi.c:398,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/x509/mpi.c:400,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/x509/mpi.c:402,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:404,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/mpi.c:405,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/mpi.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - node
    - value
    - ret
    argTypes:
    - asn1_node
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 412
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 412
    functionName: _gnutls_x509_read_uint
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_read_value
    - _gnutls_read_uint16
    - gnutls_malloc
    - _gnutls_read_uint32
    - _gnutls_read_uint24
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_uint(asn1_node node, const char *value, unsigned
      int *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/x509/mpi.c:422,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:425,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/mpi.c:427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/mpi.c:431,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/mpi.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - node
    - value
    - num
    argTypes:
    - asn1_node
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 436
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 436
    functionName: _gnutls_x509_write_uint32
    functionSourceFile: /src/gnutls/lib/x509/mpi.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - _gnutls_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_write_uint32(asn1_node node, const char *value, uint32_t
      num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ots
    - oid
    argTypes:
    - struct oid_to_string*
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: _gnutls_oid_get_entry
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct oid_to_string
    signature: 'struct oid_to_string *

      _gnutls_oid_get_entry(const struct oid_to_string *ots, const char *oid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/common.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: _gnutls_oid_get_asn_desc
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_oid_get_entry
    linkageType: ''
    returnType: char
    signature: char *_gnutls_oid_get_asn_desc(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/x509/common.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: _gnutls_ldap_string_to_oid
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - c_strncasecmp
    linkageType: ''
    returnType: char
    signature: char *_gnutls_ldap_string_to_oid(const char *str, unsigned str_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:187,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:192,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:197,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:223,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - str
    - escaped
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 225
    functionName: str_escape
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_assert_val
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int str_escape(const gnutls_datum_t *str, gnutls_datum_t *escaped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/common.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: gnutls_x509_dn_oid_known
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_oid_get_entry
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_dn_oid_known(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/common.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - oid
    - flags
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: gnutls_x509_dn_oid_name
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_oid_get_entry
    linkageType: ''
    returnType: char
    signature: char *gnutls_x509_dn_oid_name(const char *oid, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/common.c:281,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:283,1
    - Dst: _gnutls_ucs2_to_utf8
      Src: /src/gnutls/lib/x509/common.c:289,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/common.c:299,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:300,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:302,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:304,1
    - Dst: data2hex
      Src: /src/gnutls/lib/x509/common.c:316,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - etype
    - input
    - out
    argTypes:
    - unsigned
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 324
    functionName: make_printable_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - data2hex
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_ucs2_to_utf8
    - memcpy
    - _gnutls_str_is_print
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int make_printable_string(unsigned etype, const gnutls_datum_t *input,\n\t\t\t\t
      gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:338,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/common.c:342,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/common.c:342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:344,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:345,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/common.c:348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:350,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/common.c:351,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:352,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:353,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:359,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:361,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:362,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:363,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:371,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:373,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:375,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:380,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/common.c:382,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:383,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:385,1
    - Dst: make_printable_string
      Src: /src/gnutls/lib/x509/common.c:388,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:390,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:393,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/common.c:400,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/common.c:403,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:404,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - oentry
    - value
    - value_size
    - out
    argTypes:
    - struct oid_to_string*
    - void*
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 409
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 409
    functionName: decode_complex_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - assert
    - _gnutls_x509_read_value
    - make_printable_string
    - strlen
    - _gnutls_debug_log
    - asn1_read_value
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - strcmp
    - _asn1_strict_der_decode
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    linkageType: ''
    returnType: int
    signature: "int decode_complex_string(const struct oid_to_string *oentry,\n\t\t\t\t
      void *value, int value_size,\n\t\t\t\t gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:425,1
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/common.c:429,1
    - Dst: data2hex
      Src: /src/gnutls/lib/x509/common.c:432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:434,1
    - Dst: decode_complex_string
      Src: /src/gnutls/lib/x509/common.c:441,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/common.c:447,1
    - Dst: str_escape
      Src: /src/gnutls/lib/x509/common.c:455,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:456,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - oid
    - value
    - value_size
    - str
    argTypes:
    - char*
    - void*
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 462
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 462
    functionName: _gnutls_x509_dn_to_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - _gnutls_free_datum
    - data2hex
    - _gnutls_oid_get_entry
    - str_escape
    - gnutls_assert_val
    - gnutls_assert
    - decode_complex_string
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_dn_to_string(const char *oid, void *value, int value_size,\n\t\t\t
      \     gnutls_datum_t *str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex_str_size
      Src: /src/gnutls/lib/x509/common.c:473,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:474,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:476,1
    - Dst: gnutls_hex_encode
      Src: /src/gnutls/lib/x509/common.c:483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:485,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - data
    - data_size
    - out
    argTypes:
    - void*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 496
    functionName: data2hex
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - hex_str_size
    - gnutls_assert
    - gnutls_malloc
    - gnutls_hex_encode
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int data2hex(const void *data, size_t data_size, gnutls_datum_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:500,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:502,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:504,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:506,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:508,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:510,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - str_type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 516
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 516
    functionName: _gnutls_x509_san_find_type
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gnutls_x509_subject_alt_name_t
    signature: gnutls_x509_subject_alt_name_t _gnutls_x509_san_find_type(char *str_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_export_int_named2
      Src: /src/gnutls/lib/x509/common.c:531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:534,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:543,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:550,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - asn1_data
    - name
    - format
    - pem_header
    - output_data
    - output_data_size
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 562
    functionName: _gnutls_x509_export_int_named
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 2
    functionsReached:
    - memcpy
    - gnutls_free
    - gnutls_assert_val
    - _gnutls_x509_export_int_named2
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_export_int_named(asn1_node asn1_data, const char
      *name,\n\t\t\t\t  gnutls_x509_crt_fmt_t format,\n\t\t\t\t  const char *pem_header,\n\t\t\t\t
      \ unsigned char *output_data,\n\t\t\t\t  size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.c:574,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:576,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.c:580,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:582,1
    - Dst: _gnutls_fbase64_encode
      Src: /src/gnutls/lib/x509/common.c:584,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:586,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - asn1_data
    - name
    - format
    - pem_header
    - out
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_crt_fmt_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 593
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 593
    functionName: _gnutls_x509_export_int_named2
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_der_encode
    - _gnutls_free_datum
    - gnutls_assert_val
    - _gnutls_fbase64_encode
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_export_int_named2(asn1_node asn1_data, const char
      *name,\n\t\t\t\t   gnutls_x509_crt_fmt_t format,\n\t\t\t\t   const char *pem_header,
      gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_decode_simple_ber
      Src: /src/gnutls/lib/x509/common.c:612,1
    - Dst: asn1_decode_simple_der
      Src: /src/gnutls/lib/x509/common.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:618,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:619,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:624,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:626,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:629,1
    - Dst: free
      Src: /src/gnutls/lib/x509/common.c:633,1
    - Dst: make_printable_string
      Src: /src/gnutls/lib/x509/common.c:635,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:641,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/common.c:647,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:652,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - etype
    - der
    - der_size
    - output
    - allow_ber
    argTypes:
    - unsigned int
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 659
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 659
    functionName: _gnutls_x509_decode_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 7
    functionsReached:
    - _gnutls_asn2err
    - asn1_decode_simple_ber
    - make_printable_string
    - strlen
    - free
    - _gnutls_free_datum
    - asn1_decode_simple_der
    - gnutls_malloc
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_decode_string(unsigned int etype, const uint8_t *der,\n\t\t\t
      \      size_t der_size, gnutls_datum_t *output,\n\t\t\t       unsigned allow_ber)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value_type
      Src: /src/gnutls/lib/x509/common.c:674,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:677,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:680,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:685,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:694,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:696,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:702,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:704,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:705,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:717,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:736,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 4
    argNames:
    - c
    - root
    - ret
    - allow_null
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 738
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 738
    functionName: x509_read_value
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 14
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_read_value
    - gnutls_malloc
    - asn1_read_value_type
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int x509_read_value(asn1_node c, const char *root, gnutls_datum_t
      *ret,\n\t\t\t   unsigned allow_null)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x509_read_value
      Src: /src/gnutls/lib/x509/common.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - root
    - ret
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: _gnutls_x509_read_value
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 14
    functionsReached:
    - x509_read_value
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_value(asn1_node c, const char *root, gnutls_datum_t
      *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x509_read_value
      Src: /src/gnutls/lib/x509/common.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - root
    - ret
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: _gnutls_x509_read_null_value
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - x509_read_value
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_null_value(asn1_node c, const char *root,\n\t\t\t\t
      gnutls_datum_t *ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value_type
      Src: /src/gnutls/lib/x509/common.c:765,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:767,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:768,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:775,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:777,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:782,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:784,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:785,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/common.c:796,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:798,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:801,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:806,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - c
    - root
    - ret
    - etype
    - allow_ber
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 808
      start: 757
    functionDepth: 5
    functionLinenumber: 757
    functionLinenumberEnd: 808
    functionName: _gnutls_x509_read_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_decode_string
    - gnutls_free
    - asn1_read_value
    - gnutls_malloc
    - asn1_read_value_type
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_string(asn1_node c, const char *root, gnutls_datum_t
      *ret,\n\t\t\t     unsigned int etype, unsigned int allow_ber)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_encode_simple_der
      Src: /src/gnutls/lib/x509/common.c:820,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:823,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:824,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:828,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:830,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:832,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - etype
    - input_data
    - input_size
    - output
    argTypes:
    - unsigned int
    - void*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 838
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 838
    functionName: _gnutls_x509_encode_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - gnutls_assert
    - gnutls_malloc
    - asn1_encode_simple_der
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_encode_string(unsigned int etype, const void *input_data,\n\t\t\t
      \      size_t input_size, gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/common.c:853,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:856,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:857,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:867,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:869,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/common.c:873,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:875,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:876,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/common.c:881,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/common.c:881,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:884,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:885,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:889,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:891,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:892,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/common.c:896,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:898,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:899,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:905,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:913,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:914,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 4
    argNames:
    - src
    - src_name
    - res
    - str
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - int
    constantsTouched: []
    func_position:
      end: 916
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 916
    functionName: _gnutls_x509_der_encode
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 20
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_write_value
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    - asn1_der_coding
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_der_encode(asn1_node src, const char *src_name,\n\t\t\t
      \   gnutls_datum_t *res, int str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.c:930,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:933,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:939,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:942,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:945,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - src
    - src_name
    - dest
    - dest_name
    - str
    argTypes:
    - asn1_node
    - char*
    - asn1_node
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 950
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 950
    functionName: _gnutls_x509_der_encode_and_copy
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_write_value
    - _gnutls_x509_der_encode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_der_encode_and_copy(asn1_node src, const char *src_name,\n\t\t\t\t
      \    asn1_node dest, const char *dest_name,\n\t\t\t\t     int str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:961,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:963,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - root
    - data
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 968
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 968
    functionName: _gnutls_x509_write_value
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_value(asn1_node c, const char *root,\n\t\t\t
      \    const gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/common.c:978,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:980,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:984,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:986,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:987,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - c
    - root
    - data
    - etype
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 996
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 996
    functionName: _gnutls_x509_write_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_write_value
    - gnutls_assert
    - _gnutls_x509_encode_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_string(asn1_node c, const char *root,\n\t\t\t
      \     const gnutls_datum_t *data, unsigned int etype)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1002,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1003,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - name_size
    - part1
    - part2
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1007
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1007
    functionName: _asnstr_append_name
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: void
    signature: "void _asnstr_append_name(char *name, size_t name_size, const char
      *part1,\n\t\t\t const char *part2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_get_oid
      Src: /src/gnutls/lib/x509/common.c:1021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1023,1
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/common.c:1029,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1032,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1034,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1035,1
    - Dst: _gnutls_x509_write_pubkey_params
      Src: /src/gnutls/lib/x509/common.c:1038,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1040,1
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/common.c:1044,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1047,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1048,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1051,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1052,1
    - Dst: _gnutls_x509_write_pubkey
      Src: /src/gnutls/lib/x509/common.c:1055,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1057,1
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/common.c:1063,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1064,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1065,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1068,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - dst
    - dst_name
    - params
    argTypes:
    - asn1_node
    - char*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1073
    functionName: _gnutls_x509_encode_and_copy_PKI_params
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_pubkey
    - _gnutls_free_datum
    - asn1_write_value
    - gnutls_pk_get_oid
    - _gnutls_x509_write_pubkey_params
    - _asnstr_append_name
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_encode_and_copy_PKI_params(asn1_node dst, const char
      *dst_name,\n\t\t\t\t\t    const gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/common.c:1084,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/common.c:1084,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1087,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1088,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/x509/common.c:1091,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1094,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1095,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.c:1099,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - der
    - params
    argTypes:
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1106
    functionName: _gnutls_x509_encode_PKI_params
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_encode_and_copy_PKI_params
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_encode_PKI_params(gnutls_datum_t *der,\n\t\t\t\t
      \  const gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _asnstr_append_name
      Src: /src/gnutls/lib/x509/common.c:1121,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:1124,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1127,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1128,1
    - Dst: _gnutls_oid_to_pk_and_curve
      Src: /src/gnutls/lib/x509/common.c:1131,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/common.c:1133,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/x509/common.c:1147,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/common.c:1150,1
    - Dst: _gnutls_get_asn_mpis
      Src: /src/gnutls/lib/x509/common.c:1152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1154,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/common.c:1156,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/common.c:1157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - src
    - src_name
    - curve
    - bits
    argTypes:
    - asn1_node
    - char*
    - gnutls_ecc_curve_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1161
    functionName: _gnutls_x509_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_get_asn_mpis
    - asn1_read_value
    - pubkey_to_bits
    - _gnutls_oid_to_pk_and_curve
    - gnutls_pk_params_release
    - gnutls_assert_val
    - _gnutls_debug_log
    - _asnstr_append_name
    - gnutls_pk_params_init
    - gnutls_assert
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_pk_algorithm(asn1_node src, const char *src_name,\n\t\t\t\t
      \ gnutls_ecc_curve_t *curve, unsigned int *bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.c:1173,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/common.c:1178,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1181,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1182,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/common.c:1186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - src
    - der
    - src_name
    - signed_data
    argTypes:
    - asn1_node
    - gnutls_datum_t*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1198
    functionName: _gnutls_x509_get_signed_data
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - asn1_der_decoding_startEnd
    - _gnutls_x509_der_encode
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_signed_data(asn1_node src, const gnutls_datum_t
      *der,\n\t\t\t\t const char *src_name,\n\t\t\t\t gnutls_datum_t *signed_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1218,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1219,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/common.c:1222,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1225,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1233,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1237,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1238,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/common.c:1240,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1243,1
    - Dst: _gnutls_x509_read_rsa_pss_params
      Src: /src/gnutls/lib/x509/common.c:1246,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1248,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/x509/common.c:1251,1
    - Dst: gnutls_oid_to_sign
      Src: /src/gnutls/lib/x509/common.c:1254,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - src
    - src_name
    argTypes:
    - asn1_node
    - char*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1265
    functionName: _gnutls_x509_get_signature_algorithm
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 4
    functionsReached:
    - _gnutls_x509_read_value
    - _gnutls_x509_read_rsa_pss_params
    - _gnutls_free_datum
    - gnutls_pk_to_sign
    - gnutls_oid_to_sign
    - strcmp
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_get_signature_algorithm(asn1_node src, const char
      *src_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:1282,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1285,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1292,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/common.c:1299,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1301,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:1309,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1313,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/common.c:1322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - src
    - src_name
    - signature
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1324
    functionName: _gnutls_x509_get_signature
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_read_value
    - gnutls_malloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_signature(asn1_node src, const char *src_name,\n\t\t\t
      \      gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 1336
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1336
    functionName: is_printable
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_printable(char p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/common.c:1348,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/common.c:1348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1350,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1351,1
    - Dst: is_printable
      Src: /src/gnutls/lib/x509/common.c:1362,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1371,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1373,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1374,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1378,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1382,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1383,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/common.c:1387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1389,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/common.c:1396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - asn_struct
    - where
    - oentry
    - data
    - data_size
    argTypes:
    - asn1_node
    - char*
    - struct oid_to_string*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1398
      start: 1338
    functionDepth: 3
    functionLinenumber: 1338
    functionLinenumberEnd: 1398
    functionName: write_complex_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - is_printable
    - _gnutls_x509_der_encode_and_copy
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    - _gnutls_str_cpy
    linkageType: ''
    returnType: int
    signature: "int write_complex_string(asn1_node asn_struct, const char *where,\n\t\t\t\tconst
      struct oid_to_string *oentry,\n\t\t\t\tconst uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/common.c:1415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1417,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/common.c:1418,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1425,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1426,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1430,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1434,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1435,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1439,1
    - Dst: write_complex_string
      Src: /src/gnutls/lib/x509/common.c:1443,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1446,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/common.c:1453,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1456,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/common.c:1463,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/common.c:1464,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/common.c:1466,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1468,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1469,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 6
    argNames:
    - given_oid
    - asn1_struct
    - where
    - _data
    - data_size
    - multi
    argTypes:
    - char*
    - asn1_node
    - char*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1477
      start: 1404
    functionDepth: 4
    functionLinenumber: 1404
    functionLinenumberEnd: 1477
    functionName: _gnutls_x509_encode_and_write_attribute
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - write_complex_string
    - asn1_write_value
    - _gnutls_x509_write_string
    - _gnutls_oid_get_entry
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_encode_and_write_attribute(const char *given_oid,\n\t\t\t\t\t
      \   asn1_node asn1_struct,\n\t\t\t\t\t    const char *where,\n\t\t\t\t\t    const
      void *_data, int data_size,\n\t\t\t\t\t    int multi)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1492,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:1495,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/common.c:1502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - d
    - buf
    - buf_size
    argTypes:
    - gnutls_datum_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1505
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1505
    functionName: _gnutls_strdatum_to_buf
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _gnutls_free_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_strdatum_to_buf(gnutls_datum_t *d, void *buf, size_t *buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/common.c:1512,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1516,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - c2
    - raw
    - whom
    - dn
    argTypes:
    - asn1_node
    - gnutls_datum_t*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1529
    functionName: _gnutls_x509_get_raw_field2
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - asn1_der_decoding_startEnd
    - _gnutls_asn2err
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_raw_field2(asn1_node c2, const gnutls_datum_t
      *raw,\n\t\t\t\tconst char *whom, gnutls_datum_t *dn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1539,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:1545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - str
    - out
    - out_size
    argTypes:
    - gnutls_datum_t*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1553
    functionName: _gnutls_copy_string
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 2
    functionsReached:
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_copy_string(const gnutls_datum_t *str, uint8_t *out,\n\t\t\tsize_t
      *out_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1558,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/common.c:1564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str
    - out
    - out_size
    argTypes:
    - gnutls_datum_t*
    - uint8_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1569
    functionName: _gnutls_copy_data
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_copy_data(const gnutls_datum_t *str, uint8_t *out, size_t
      *out_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/common.c:1577,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1579,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/common.c:1581,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1583,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/lib/x509/common.c:1587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1589,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/common.c:1596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - crt
    - rpubkey
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1598
    functionName: x509_crt_to_raw_pubkey
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_export2
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int x509_crt_to_raw_pubkey(gnutls_x509_crt_t crt, gnutls_datum_t *rpubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/common.c:1607,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1609,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/common.c:1611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1613,1
    - Dst: x509_crt_to_raw_pubkey
      Src: /src/gnutls/lib/x509/common.c:1617,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/common.c:1619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cert
    - rpubkey
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1601
    functionDepth: 4
    functionLinenumber: 1601
    functionLinenumberEnd: 1622
    functionName: _gnutls_x509_raw_crt_to_raw_pubkey
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_assert
    - x509_crt_to_raw_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_raw_crt_to_raw_pubkey(const gnutls_datum_t *cert,\n\t\t\t\t
      \      gnutls_datum_t *rpubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/common.c:1635,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/common.c:1636,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1638,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/common.c:1643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1644,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/common.c:1651,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - key_id
    - cert
    - now
    - has_ski
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_crt_t
    - time_t
    - unsigned*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1656
    functionName: _gnutls_check_valid_key_id
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - memcmp
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_get_subject_key_id
    - gnutls_assert
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_check_valid_key_id(const gnutls_datum_t *key_id,\n\t\t\t\t
      \   gnutls_x509_crt_t cert, time_t now,\n\t\t\t\t    unsigned *has_ski)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/x509/common.c:1703,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/common.c:1718,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/common.c:1719,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/common.c:1727,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/common.c:1760,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - clist
    - clist_size
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1766
      start: 1694
    functionDepth: 3
    functionLinenumber: 1694
    functionLinenumberEnd: 1766
    functionName: _gnutls_sort_clist
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_cert_log
    - assert
    - gnutls_x509_crt_check_issuer
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int _gnutls_sort_clist(gnutls_x509_crt_t *clist,\n\t\t\t\tunsigned
      int clist_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/common.c:1776,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - crt
    - nr
    argTypes:
    - gnutls_x509_crt_t*
    - int
    constantsTouched: []
    func_position:
      end: 1790
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1790
    functionName: _gnutls_check_if_sorted
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_compare_raw_dn
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_if_sorted(gnutls_x509_crt_t *crt, int nr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - gnutls_gost_paramset_t
    constantsTouched: []
    func_position:
      end: 1820
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1820
    functionName: gnutls_gost_paramset_get_name
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: char *gnutls_gost_paramset_get_name(gnutls_gost_paramset_t param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - gnutls_gost_paramset_t
    constantsTouched: []
    func_position:
      end: 1850
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1850
    functionName: gnutls_gost_paramset_get_oid
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: char *gnutls_gost_paramset_get_oid(gnutls_gost_paramset_t param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1865,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1867,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1869,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1871,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/common.c:1873,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1877
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1877
    functionName: gnutls_oid_to_gost_paramset
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - strcmp
    linkageType: ''
    returnType: gnutls_gost_paramset_t
    signature: gnutls_gost_paramset_t gnutls_oid_to_gost_paramset(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/common.c:1885,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/common.c:1889,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/common.c:1890,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/common.c:1894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - root
    - name
    argTypes:
    - asn1_node
    - char*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1897
    functionName: _gnutls_x509_get_version
    functionSourceFile: /src/gnutls/lib/x509/common.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_get_version(asn1_node root, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:79,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:85,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:88,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:89,1
    - Dst: _gnutls_x509_write_key_int_le
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:93,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:96,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:102,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:106,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:115,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:122,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:125,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:126,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:129,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:132,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:135,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:137,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:145,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:152,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:153,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 2
    argNames:
    - pkey
    - raw
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 155
    functionName: _encode_privkey
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_key_int_le
    - asn1_create_element
    - _gnutls_x509_write_int
    - _gnutls_x509_der_encode
    - _gnutls_x509_encode_string
    - _gnutls_x509_export_int2
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _encode_privkey(gnutls_x509_privkey_t pkey,\n\t\t\t\t  gnutls_datum_t
      *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_get_oid
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:171,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:173,1
    - Dst: _gnutls_x509_write_pubkey_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:179,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:183,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:183,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:186,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:187,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:193,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:195,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:196,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:206,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:207,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:211,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:216,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:217,1
    - Dst: _encode_privkey
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:225,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:229,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:234,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:235,1
    - Dst: _x509_encode_provable_seed
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:246,1
    - Dst: _x509_set_attribute
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:250,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:254,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:260,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:262,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:263,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:271,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:273,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:274,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:281,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:283,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:287,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:289,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:290,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:297,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:298,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:299,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 104
    argCount: 3
    argNames:
    - pkey
    - der
    - pkey_info
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - asn1_node*
    constantsTouched: []
    func_position:
      end: 301
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 301
    functionName: encode_to_private_key_info
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _x509_encode_provable_seed
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_malloc
    - gnutls_pk_get_oid
    - _x509_set_attribute
    - _gnutls_x509_write_pubkey_params
    - _encode_privkey
    - _gnutls_free_key_datum
    - asn1_delete_structure2
    - gnutls_assert
    - asn1_der_coding
    linkageType: ''
    returnType: int
    signature: "int encode_to_private_key_info(gnutls_x509_privkey_t pkey,\n\t\t\t\t
      \     gnutls_datum_t *der, asn1_node *pkey_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:317,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:319,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:322,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:325,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:326,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:335,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:336,1
    - Dst: _gnutls_pkcs_generate_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:346,1
    - Dst: _gnutls_pkcs_write_schema_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:354,1
    - Dst: _gnutls_pkcs_raw_encrypt_data
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:364,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:370,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:373,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:374,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:378,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:379,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:386,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:387,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - schema
    - der_key
    - password
    - out
    argTypes:
    - schema_id
    - gnutls_datum_t*
    - char*
    - asn1_node*
    constantsTouched: []
    func_position:
      end: 390
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 390
    functionName: encode_to_pkcs8_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    - _gnutls_pkcs_write_schema_params
    - _gnutls_pkcs_raw_encrypt_data
    - _gnutls_pkcs_generate_key
    - _gnutls_free_key_datum
    - asn1_delete_structure2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int encode_to_pkcs8_key(schema_id schema, const gnutls_datum_t *der_key,\n\t\t\t
      \      const char *password, asn1_node *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:433,1
    - Dst: encode_to_private_key_info
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:440,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:442,1
    - Dst: _gnutls_pkcs_flags_to_schema
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:446,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:450,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:452,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:456,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:458,1
    - Dst: encode_to_pkcs8_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:462,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:463,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:466,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:470,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - key
    - format
    - password
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 477
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 477
    functionName: gnutls_x509_privkey_export_pkcs8
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 4
    functionsReached:
    - _gnutls_free_datum
    - encode_to_private_key_info
    - _gnutls_x509_export_int
    - encode_to_pkcs8_key
    - _gnutls_free_key_datum
    - asn1_delete_structure2
    - _gnutls_pkcs_flags_to_schema
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export_pkcs8(gnutls_x509_privkey_t key,\n\t\t\t\t
      \    gnutls_x509_crt_fmt_t format,\n\t\t\t\t     const char *password, unsigned
      int flags,\n\t\t\t\t     void *output_data,\n\t\t\t\t     size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:513,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:526,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:531,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:535,1
    - Dst: pkcs8_key_info
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:543,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:547,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:551,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:554,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:567,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:570,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:582,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:585,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 8
    argNames:
    - data
    - format
    - schema
    - cipher
    - salt
    - salt_size
    - iter_count
    - oid
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int*
    - unsigned int*
    - void*
    - unsigned int*
    - unsigned int*
    - char**
    constantsTouched: []
    func_position:
      end: 587
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 587
    functionName: gnutls_pkcs8_info
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 1
    functionsReached:
    - assert
    - _gnutls_fbase64_decode
    - gnutls_free
    - _gnutls_free_datum
    - pkcs8_key_info
    - memset
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs8_info(const gnutls_datum_t *data, gnutls_x509_crt_fmt_t
      format,\n\t\t      unsigned int *schema, unsigned int *cipher, void *salt,\n\t\t
      \     unsigned int *salt_size, unsigned int *iter_count,\n\t\t      char **oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:627,1
    - Dst: encode_to_private_key_info
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:634,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:636,1
    - Dst: _gnutls_pkcs_flags_to_schema
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:640,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:644,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:646,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:649,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:651,1
    - Dst: encode_to_pkcs8_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:655,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:656,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:659,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:663,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - key
    - format
    - password
    - flags
    - out
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 670
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 670
    functionName: gnutls_x509_privkey_export2_pkcs8
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 9
    functionsReached:
    - encode_to_private_key_info
    - _gnutls_x509_export_int2
    - encode_to_pkcs8_key
    - _gnutls_free_key_datum
    - asn1_delete_structure2
    - _gnutls_pkcs_flags_to_schema
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_export2_pkcs8(gnutls_x509_privkey_t key,\n\t\t\t\t
      \     gnutls_x509_crt_fmt_t format,\n\t\t\t\t      const char *password, unsigned
      int flags,\n\t\t\t\t      gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:705,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:708,1
    - Dst: _gnutls_check_pkcs_cipher_schema
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:712,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:713,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:721,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:726,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:727,1
    - Dst: _gnutls_read_pkcs_schema_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:738,1
    - Dst: _gnutls_pkcs_raw_decrypt_data
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:745,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:749,1
    - Dst: decode_private_key_info
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:754,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:755,1
    - Dst: CHECK_ERR_FOR_ENCRYPTED
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:757,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - raw_key
    - pkcs8_asn
    - password
    - pkey
    argTypes:
    - gnutls_datum_t*
    - asn1_node
    - char*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 767
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 767
    functionName: pkcs8_key_decrypt
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_read_pkcs_schema_params
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - CHECK_ERR_FOR_ENCRYPTED
    - decode_private_key_info
    - _gnutls_check_pkcs_cipher_schema
    - _gnutls_pkcs_raw_decrypt_data
    - _gnutls_free_key_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs8_key_decrypt(const gnutls_datum_t *raw_key, asn1_node pkcs8_asn,\n\t\t\t
      \    const char *password, gnutls_x509_privkey_t pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:774,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:774,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:777,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:778,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:782,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:784,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:785,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - der
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 793
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 793
    functionName: check_for_decrypted
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int check_for_decrypted(const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:806,1
    - Dst: check_for_decrypted
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:808,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:812,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:813,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:815,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:816,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:820,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:823,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:824,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:831,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:834,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:839,1
    - Dst: _gnutls_check_pkcs_cipher_schema
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:842,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:843,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:851,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:856,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:857,1
    - Dst: _gnutls_read_pkcs_schema_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:862,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:868,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:870,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:872,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:873,1
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:878,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:880,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:888,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - raw_key
    - p
    - kdf_params
    - oid
    argTypes:
    - gnutls_datum_t*
    - struct pkcs_cipher_schema_st**
    - struct pbkdf2_params*
    - char**
    constantsTouched: []
    func_position:
      end: 890
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 890
    functionName: pkcs8_key_info
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_read_pkcs_schema_params
    - gnutls_free
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - snprintf
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_strdup
    - check_for_decrypted
    - _gnutls_check_pkcs_cipher_schema
    - memset
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs8_key_info(const gnutls_datum_t *raw_key,\n\t\t\t  const struct
      pkcs_cipher_schema_st **p,\n\t\t\t  struct pbkdf2_params *kdf_params, char **oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:902,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:903,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:905,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:906,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:910,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:913,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:914,1
    - Dst: pkcs8_key_decrypt
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:919,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - raw_key
    - password
    - pkey
    - decrypt
    argTypes:
    - gnutls_datum_t*
    - char*
    - gnutls_x509_privkey_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 926
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 926
    functionName: pkcs8_key_decode
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - pkcs8_key_decrypt
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pkcs8_key_decode(const gnutls_datum_t *raw_key, const char *password,\n\t\t\t
      \   gnutls_x509_privkey_t pkey, unsigned int decrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:936,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:938,1
    - Dst: _gnutls_privkey_decode_pkcs1_rsa_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:942,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:943,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pkcs8_asn
    - pkey
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 955
      start: 930
    functionDepth: 5
    functionLinenumber: 930
    functionLinenumberEnd: 955
    functionName: _decode_pkcs8_rsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_key_datum
    - _gnutls_x509_read_value
    - gnutls_assert
    - _gnutls_privkey_decode_pkcs1_rsa_key
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_rsa_key(asn1_node pkcs8_asn,\n\t\t\t\t gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:966,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:968,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:975,1
    - Dst: _gnutls_x509_read_rsa_pss_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:979,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:980,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:983,1
    - Dst: _decode_pkcs8_rsa_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:988,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:990,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:995,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - pkcs8_asn
    - pkey
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1001
      start: 959
    functionDepth: 6
    functionLinenumber: 959
    functionLinenumberEnd: 1001
    functionName: _decode_pkcs8_rsa_pss_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_value
    - _decode_pkcs8_rsa_key
    - memset
    - memcpy
    - _gnutls_free_key_datum
    - gnutls_assert
    - _gnutls_x509_read_rsa_pss_params
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_rsa_pss_key(asn1_node pkcs8_asn,\n\t\t\t\t     gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1018,1
    - Dst: _gnutls_x509_read_ecc_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1021,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1023,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1029,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1031,1
    - Dst: _gnutls_privkey_decode_ecc_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1035,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1036,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pkcs8_asn
    - pkey
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1047
      start: 1005
    functionDepth: 5
    functionLinenumber: 1005
    functionLinenumberEnd: 1047
    functionName: _decode_pkcs8_ecc_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_value
    - asn1_read_value
    - _gnutls_privkey_decode_ecc_key
    - _gnutls_debug_log
    - _gnutls_free_key_datum
    - gnutls_assert
    - _gnutls_x509_read_ecc_params
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_ecc_key(asn1_node pkcs8_asn,\n\t\t\t\t gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1057,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1059,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1061,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1062,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1065,1
    - Dst: _curve_is_eddsa
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1066,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1067,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1070,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1071,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1075,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1076,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1078,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1087,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - pkcs8_asn
    - pkey
    - oid
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1049
    functionDepth: 6
    functionLinenumber: 1049
    functionLinenumberEnd: 1098
    functionName: _decode_pkcs8_eddsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _curve_is_eddsa
    - gnutls_free
    - _gnutls_ecc_curve_get_params
    - _gnutls_x509_read_string
    - gnutls_assert
    - gnutls_oid_to_ecc_curve
    - _gnutls_debug_log
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_eddsa_key(asn1_node pkcs8_asn,\n\t\t\t\t   gnutls_x509_privkey_t
      pkey, const char *oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1109,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1111,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1114,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1117,1
    - Dst: _curve_is_modern_ecdh
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1118,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1119,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1122,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1123,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1127,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1128,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - pkcs8_asn
    - pkey
    - oid
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    - char*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1100
    functionDepth: 6
    functionLinenumber: 1100
    functionLinenumberEnd: 1150
    functionName: _decode_pkcs8_modern_ecdh_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_ecc_curve_get_params
    - _curve_is_modern_ecdh
    - _gnutls_x509_read_string
    - gnutls_assert
    - gnutls_oid_to_ecc_curve
    - _gnutls_debug_log
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_modern_ecdh_key(asn1_node pkcs8_asn,\n\t\t\t\t\t
      gnutls_x509_privkey_t pkey,\n\t\t\t\t\t const char *oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1163,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1172,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1175,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1182,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1182,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1185,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1186,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1190,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1193,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1194,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1195,1
    - Dst: _gnutls_x509_read_key_int
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1203,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1204,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1208,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1213,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1216,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1217,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1224,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1225,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1226,1
    - Dst: _gnutls_x509_read_key_int_le
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1234,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1235,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1239,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1241,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - raw_key
    - pkey
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1252
      start: 1155
    functionDepth: 4
    functionLinenumber: 1155
    functionLinenumberEnd: 1252
    functionName: _privkey_decode_gost_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_mpi_init_scan_le
    - _gnutls_x509_read_key_int_le
    - asn1_create_element
    - _gnutls_x509_read_key_int
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _privkey_decode_gost_key(const gnutls_datum_t *raw_key,\n\t\t\t\t
      \   gnutls_x509_privkey_t pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1267,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1273,1
    - Dst: _gnutls_x509_read_gost_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1280,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1288,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1295,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1300,1
    - Dst: _gnutls_mpi_set_ui
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1301,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1305,1
    - Dst: _privkey_decode_gost_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1309,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1313,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1322,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1323,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 3
    argNames:
    - pkcs8_asn
    - pkey
    - algo
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 1326
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1326
    functionName: _decode_pkcs8_gost_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_gost_params
    - _gnutls_x509_read_value
    - gnutls_pk_params_clear
    - asn1_read_value
    - _privkey_decode_gost_key
    - gnutls_pk_params_release
    - _gnutls_mpi_init
    - _gnutls_mpi_set_ui
    - _gnutls_free_key_datum
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_gost_key(asn1_node pkcs8_asn,\n\t\t\t\t  gnutls_x509_privkey_t
      pkey,\n\t\t\t\t  gnutls_pk_algorithm_t algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1336,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1338,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1340,1
    - Dst: _gnutls_x509_read_der_int
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1344,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1346,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1349,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1353,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1356,1
    - Dst: _gnutls_x509_read_pubkey_params
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1360,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1364,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1369,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1375,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1377,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1384,1
    - Dst: _gnutls_asn1_encode_privkey
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1391,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1393,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - pkcs8_asn
    - pkey
    argTypes:
    - asn1_node
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1403
      start: 1330
    functionDepth: 5
    functionLinenumber: 1330
    functionLinenumberEnd: 1403
    functionName: _decode_pkcs8_dsa_key
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_read_der_int
    - _gnutls_x509_read_value
    - _gnutls_mpi_powm
    - _gnutls_free_datum
    - _gnutls_mpi_release
    - _gnutls_mpi_cmp_ui
    - _gnutls_asn1_encode_privkey
    - _gnutls_mpi_init
    - _gnutls_x509_read_pubkey_params
    - _gnutls_free_key_datum
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs8_dsa_key(asn1_node pkcs8_asn,\n\t\t\t\t gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1414,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1414,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1417,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1418,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1423,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1425,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1426,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1436,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1437,1
    - Dst: gnutls_oid_to_pk
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1441,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1443,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1444,1
    - Dst: _decode_pkcs8_rsa_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1455,1
    - Dst: _decode_pkcs8_rsa_pss_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1458,1
    - Dst: _decode_pkcs8_dsa_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1461,1
    - Dst: _decode_pkcs8_ecc_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1464,1
    - Dst: _decode_pkcs8_eddsa_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1468,1
    - Dst: _decode_pkcs8_modern_ecdh_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1472,1
    - Dst: _decode_pkcs8_gost_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1477,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1481,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1486,1
    - Dst: _x509_parse_attribute
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1491,1
    - Dst: _x509_decode_provable_seed
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1494,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1495,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1497,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1504,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 2
    argNames:
    - der
    - pkey
    argTypes:
    - gnutls_datum_t*
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1506
      start: 1405
    functionDepth: 7
    functionLinenumber: 1405
    functionLinenumberEnd: 1506
    functionName: decode_private_key_info
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 1
    functionsReached:
    - _gnutls_get_pkix
    - _decode_pkcs8_gost_key
    - _asn1_strict_der_decode
    - _decode_pkcs8_ecc_key
    - gnutls_assert_val
    - _gnutls_asn2err
    - asn1_create_element
    - _decode_pkcs8_dsa_key
    - _gnutls_debug_log
    - _x509_parse_attribute
    - _x509_decode_provable_seed
    - _decode_pkcs8_rsa_key
    - _decode_pkcs8_eddsa_key
    - gnutls_oid_to_pk
    - asn1_delete_structure2
    - gnutls_free
    - _decode_pkcs8_rsa_pss_key
    - asn1_read_value
    - _decode_pkcs8_modern_ecdh_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int decode_private_key_info(const gnutls_datum_t *der,\n\t\t\t\t   gnutls_x509_privkey_t
      pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1545,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1559,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1564,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1568,1
    - Dst: _gnutls_x509_privkey_reinit
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1578,1
    - Dst: decode_private_key_info
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1587,1
    - Dst: pkcs8_key_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1589,1
    - Dst: pkcs8_key_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1593,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1597,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1606,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1611,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1618,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1621,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/privkey_pkcs8.c:1622,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 5
    argNames:
    - key
    - data
    - format
    - password
    - flags
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1625
      start: 1536
    functionDepth: 8
    functionLinenumber: 1536
    functionLinenumberEnd: 1625
    functionName: gnutls_x509_privkey_import_pkcs8
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8.c
    functionUses: 8
    functionsReached:
    - _gnutls_fbase64_decode
    - _gnutls_pk_fixup
    - _gnutls_free_datum
    - zeroize_temp_key
    - decode_private_key_info
    - _gnutls_x509_privkey_reinit
    - asn1_delete_structure2
    - gnutls_assert
    - pkcs8_key_decode
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_pkcs8(gnutls_x509_privkey_t key,\n\t\t\t\t
      \    const gnutls_datum_t *data,\n\t\t\t\t     gnutls_x509_crt_fmt_t format,\n\t\t\t\t
      \    const char *password, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert1
    - cert2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: cert_eq
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_equals
    linkageType: ''
    returnType: bool
    signature: bool cert_eq(const void *cert1, const void *cert2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: cert_hashcode
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - hash_pjw_bare
    linkageType: ''
    returnType: size_t
    signature: size_t cert_hashcode(const void *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/verify-high.c:107,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/verify-high.c:116,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:118,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - list
    - size
    argTypes:
    - gnutls_x509_trust_list_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 126
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 126
    functionName: gnutls_x509_trust_list_init
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 24
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_init(gnutls_x509_trust_list_t *list,\n\t\t\t\tunsigned
      int size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:149,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:151,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:154,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:156,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:161,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:165,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:169,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:172,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:176,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:180,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:183,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:184,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:185,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - list
    - all
    argTypes:
    - gnutls_x509_trust_list_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 187
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 187
    functionName: gnutls_x509_trust_list_deinit
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 24
    functionsReached:
    - gnutls_x509_crl_deinit
    - gnutls_free
    - gnutls_x509_crt_deinit
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_trust_list_deinit(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \  unsigned int all)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:205,1
    - Dst: gnutls_realloc_fast
      Src: /src/gnutls/lib/x509/verify-high.c:209,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:211,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/x509/verify-high.c:216,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify-high.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - list
    - ca
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 224
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 224
    functionName: add_new_ca_to_rdn_seq
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_realloc_fast
    - memcpy
    - _gnutls_write_uint16
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int add_new_ca_to_rdn_seq(gnutls_x509_trust_list_t list,\n\t\t\t\t
      gnutls_x509_crt_t ca)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/verify-high.c:234,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/verify-high.c:234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:235,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/verify-high.c:238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - cert
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: trust_list_add_compat
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - _gnutls_reallocarray_fast
    - unlikely
    - gnutls_assert_val
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int trust_list_add_compat(gnutls_x509_trust_list_t list,\n\t\t\t\t
      gnutls_x509_crt_t cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:292,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:301,1
    - Dst: _gnutls_check_if_same_key
      Src: /src/gnutls/lib/x509/verify-high.c:305,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:315,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/verify-high.c:322,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/verify-high.c:322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:324,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/verify-high.c:328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:333,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/verify-high.c:337,1
    - Dst: gnutls_x509_crt_get_ca_status
      Src: /src/gnutls/lib/x509/verify-high.c:338,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:340,1
    - Dst: gnutls_x509_crt_get_dn2
      Src: /src/gnutls/lib/x509/verify-high.c:341,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/x509/verify-high.c:342,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:346,1
    - Dst: add_new_ca_to_rdn_seq
      Src: /src/gnutls/lib/x509/verify-high.c:355,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:357,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - list
    - clist
    - clist_size
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - unsigned
    - unsigned int
    constantsTouched: []
    func_position:
      end: 364
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 364
    functionName: gnutls_x509_trust_list_add_cas
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 11
    functionsReached:
    - gnutls_x509_crt_get_version
    - gnutls_free
    - gnutls_x509_crt_deinit
    - _gnutls_check_if_same_key
    - add_new_ca_to_rdn_seq
    - hash_pjw_bare
    - _gnutls_reallocarray_fast
    - gnutls_x509_crt_get_ca_status
    - gnutls_x509_crt_get_dn2
    - gnutls_x509_crt_equals
    - unlikely
    - _gnutls_audit_log
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_cas(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \  const gnutls_x509_crt_t *clist,\n\t\t\t\t   unsigned clist_size, unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:396,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - list
    - iter
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_trust_list_iter_t
    constantsTouched: []
    func_position:
      end: 409
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 409
    functionName: advance_iter
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int advance_iter(gnutls_x509_trust_list_t list,\n\t\t\tgnutls_x509_trust_list_iter_t
      iter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/verify-high.c:443,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:446,1
    - Dst: advance_iter
      Src: /src/gnutls/lib/x509/verify-high.c:459,1
    - Dst: gnutls_x509_trust_list_iter_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:461,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:465,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:472,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:474,1
    - Dst: _gnutls_x509_crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:476,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:480,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:481,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:488,1
    - Dst: gnutls_x509_crt_import_pkcs11
      Src: /src/gnutls/lib/x509/verify-high.c:490,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:493,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:494,1
    - Dst: gnutls_x509_trust_list_iter_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:501,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - list
    - iter
    - crt
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_trust_list_iter_t*
    - gnutls_x509_crt_t*
    constantsTouched: []
    func_position:
      end: 506
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 506
    functionName: gnutls_x509_trust_list_iter_get_ca
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_malloc
    - _gnutls_x509_crt_cpy
    - advance_iter
    - gnutls_x509_trust_list_iter_deinit
    - gnutls_assert_val
    - gnutls_x509_crt_import_pkcs11
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_iter_get_ca(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \      gnutls_x509_trust_list_iter_t *iter,\n\t\t\t\t       gnutls_x509_crt_t
      *crt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:541,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:542,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - gnutls_x509_trust_list_iter_t
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: gnutls_x509_trust_list_iter_deinit
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_pkcs11_obj_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_trust_list_iter_deinit(gnutls_x509_trust_list_iter_t
      iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:554,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:556,1
    - Dst: _gnutls_x509_crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:560,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:562,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 568
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 568
    functionName: crt_cpy
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crt_deinit
    - _gnutls_x509_crt_cpy
    - gnutls_x509_crt_init
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: gnutls_x509_crt_t crt_cpy(gnutls_x509_crt_t src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:598,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:603,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:606,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/verify-high.c:619,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/verify-high.c:619,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:620,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/verify-high.c:627,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:631,1
    - Dst: crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - list
    - clist
    - clist_size
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 639
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 639
    functionName: gnutls_x509_trust_list_remove_cas
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_deinit
    - crt_cpy
    - hash_pjw_bare
    - _gnutls_reallocarray_fast
    - gnutls_x509_crt_equals
    - unlikely
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_remove_cas(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \     const gnutls_x509_crt_t *clist,\n\t\t\t\t      unsigned clist_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:676,1
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:678,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/verify-high.c:682,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/verify-high.c:682,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:683,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/verify-high.c:686,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:691,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify-high.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - list
    - cert
    - name
    - name_size
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 706
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 706
    functionName: gnutls_x509_trust_list_add_named_crt
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 2
    functionsReached:
    - hash_pjw_bare
    - _gnutls_reallocarray_fast
    - unlikely
    - memcpy
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_named_crt(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t gnutls_x509_crt_t cert,\n\t\t\t\t\t const void *name, size_t
      name_size,\n\t\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:753,1
    - Dst: gnutls_x509_crl_verify
      Src: /src/gnutls/lib/x509/verify-high.c:758,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify-high.c:763,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:766,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:768,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify-high.c:782,1
    - Dst: gnutls_x509_crl_get_this_update
      Src: /src/gnutls/lib/x509/verify-high.c:788,1
    - Dst: gnutls_x509_crl_get_this_update
      Src: /src/gnutls/lib/x509/verify-high.c:790,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:792,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:800,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/verify-high.c:808,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/verify-high.c:808,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:809,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/verify-high.c:813,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:817,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:835,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 5
    argNames:
    - list
    - crl_list
    - crl_size
    - flags
    - verification_flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crl_t*
    - unsigned
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 837
      start: 735
    functionDepth: 7
    functionLinenumber: 735
    functionLinenumberEnd: 837
    functionName: gnutls_x509_trust_list_add_crls
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crl_verify
    - _gnutls_reallocarray
    - gnutls_x509_crl_get_this_update
    - gnutls_assert
    - hash_pjw_bare
    - memcmp
    - unlikely
    - gnutls_x509_crl_deinit
    - _gnutls_debug_log
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_crls(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \   const gnutls_x509_crl_t *crl_list,\n\t\t\t\t    unsigned crl_size, unsigned
      int flags,\n\t\t\t\t    unsigned int verification_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:861,1
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:874,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - list
    - certificate_list
    - clist_size
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 891
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 891
    functionName: shorten_clist
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_check_issuer
    - gnutls_x509_crt_equals
    - hash_pjw_bare
    linkageType: ''
    returnType: int
    signature: "int shorten_clist(gnutls_x509_trust_list_t list,\n\t\t\t gnutls_x509_crt_t
      *certificate_list,\n\t\t\t unsigned int clist_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/verify-high.c:912,1
    - Dst: gnutls_x509_trust_list_t::issuer_callback
      Src: /src/gnutls/lib/x509/verify-high.c:914,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:916,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify-high.c:926,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:932,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/verify-high.c:933,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify-high.c:942,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:946,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:948,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - list
    - subject
    - certificate_list
    - clist_size_max
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 951
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 951
    functionName: retrieve_issuers
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_t::issuer_callback
    - _gnutls_cert_log
    - memcpy
    - _gnutls_debug_log
    - gnutls_x509_crt_check_issuer
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int retrieve_issuers(gnutls_x509_trust_list_t list,\n\t\t\t    gnutls_x509_crt_t
      subject,\n\t\t\t    gnutls_x509_crt_t *certificate_list,\n\t\t\t    unsigned
      int clist_size_max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:961,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:966,1
    - Dst: crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - list
    - cert
    - issuer
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 980
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 980
    functionName: _gnutls_trust_list_get_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - crt_cpy
    - gnutls_x509_crt_check_issuer
    - hash_pjw_bare
    linkageType: ''
    returnType: int
    signature: "int _gnutls_trust_list_get_issuer(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \ gnutls_x509_crt_t cert,\n\t\t\t\t  gnutls_x509_crt_t *issuer, unsigned int
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:995,1
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/verify-high.c:999,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/verify-high.c:1005,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify-high.c:1011,1
    - Dst: crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:1015,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/verify-high.c:1026,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify-high.c:1033,1
    - Dst: crt_cpy
      Src: /src/gnutls/lib/x509/verify-high.c:1036,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 5
    argNames:
    - list
    - dn
    - spki
    - issuer
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1043
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1043
    functionName: trust_list_get_issuer_by_dn
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 1
    functionsReached:
    - crt_cpy
    - hash_pjw_bare
    - memcmp
    - gnutls_x509_crt_get_subject_key_id
    - _gnutls_x509_compare_raw_dn
    linkageType: ''
    returnType: int
    signature: "int trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \      const gnutls_datum_t *dn,\n\t\t\t\t       const gnutls_datum_t *spki,\n\t\t\t\t
      \      gnutls_x509_crt_t *issuer,\n\t\t\t\t       unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_trust_list_get_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:1073,1
    - Dst: gnutls_pkcs11_get_raw_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:1083,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1087,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:1091,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1093,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1094,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/verify-high.c:1097,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1098,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1101,1
    - Dst: trust_list_add_compat
      Src: /src/gnutls/lib/x509/verify-high.c:1111,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - list
    - cert
    - issuer
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1122
      start: 1066
    functionDepth: 5
    functionLinenumber: 1066
    functionLinenumberEnd: 1122
    functionName: gnutls_x509_trust_list_get_issuer
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_get_raw_issuer
    - _gnutls_trust_list_get_issuer
    - trust_list_add_compat
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_get_issuer(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \     gnutls_x509_crt_t cert,\n\t\t\t\t      gnutls_x509_crt_t *issuer,\n\t\t\t\t
      \     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trust_list_get_issuer_by_dn
      Src: /src/gnutls/lib/x509/verify-high.c:1146,1
    - Dst: gnutls_pkcs11_get_raw_issuer_by_dn
      Src: /src/gnutls/lib/x509/verify-high.c:1156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1160,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:1164,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1167,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/verify-high.c:1170,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1171,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - list
    - dn
    - issuer
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_datum_t*
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1182
      start: 1139
    functionDepth: 5
    functionLinenumber: 1139
    functionLinenumberEnd: 1182
    functionName: gnutls_x509_trust_list_get_issuer_by_dn
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - trust_list_get_issuer_by_dn
    - gnutls_pkcs11_get_raw_issuer_by_dn
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_get_issuer_by_dn(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t    const gnutls_datum_t *dn,\n\t\t\t\t\t    gnutls_x509_crt_t
      *issuer,\n\t\t\t\t\t    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trust_list_get_issuer_by_dn
      Src: /src/gnutls/lib/x509/verify-high.c:1207,1
    - Dst: gnutls_pkcs11_get_raw_issuer_by_subject_key_id
      Src: /src/gnutls/lib/x509/verify-high.c:1217,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1221,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/verify-high.c:1225,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1227,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1228,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/verify-high.c:1231,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high.c:1232,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - list
    - dn
    - spki
    - issuer
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1243
      start: 1200
    functionDepth: 5
    functionLinenumber: 1200
    functionLinenumberEnd: 1243
    functionName: gnutls_x509_trust_list_get_issuer_by_subject_key_id
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_pkcs11_get_raw_issuer_by_subject_key_id
    - trust_list_get_issuer_by_dn
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_get_issuer_by_subject_key_id(\n\tgnutls_x509_trust_list_t
      list, const gnutls_datum_t *dn,\n\tconst gnutls_datum_t *spki, gnutls_x509_crt_t
      *issuer,\n\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - cert_list
    - cert_list_size
    - blocklist
    - blocklist_size
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned int
    - gnutls_x509_crt_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1265
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1265
    functionName: check_if_in_blocklist
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_equals
    linkageType: ''
    returnType: int
    signature: "int check_if_in_blocklist(gnutls_x509_crt_t *cert_list,\n\t\t\t\t
      unsigned int cert_list_size,\n\t\t\t\t gnutls_x509_crt_t *blocklist,\n\t\t\t\t
      unsigned int blocklist_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/x509/verify-high.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - list
    - cert_list
    - cert_list_size
    - flags
    - voutput
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - unsigned int
    - unsigned int
    - unsigned int*
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 1295
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1295
    functionName: gnutls_x509_trust_list_verify_crt
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 8
    functionsReached:
    - gnutls_x509_trust_list_verify_crt2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_verify_crt(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \     gnutls_x509_crt_t *cert_list,\n\t\t\t\t      unsigned int cert_list_size,\n\t\t\t\t
      \     unsigned int flags, unsigned int *voutput,\n\t\t\t\t      gnutls_verify_output_function
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1375,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1385,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1395,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1402,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/verify-high.c:1413,1
    - Dst: gnutls_x509_trust_list_verify_named_crt
      Src: /src/gnutls/lib/x509/verify-high.c:1415,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify-high.c:1424,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnutls/lib/x509/verify-high.c:1427,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1430,1
    - Dst: _gnutls_sort_clist
      Src: /src/gnutls/lib/x509/verify-high.c:1439,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/verify-high.c:1443,1
    - Dst: gl_list_search
      Src: /src/gnutls/lib/x509/verify-high.c:1448,1
    - Dst: memmove
      Src: /src/gnutls/lib/x509/verify-high.c:1450,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnutls/lib/x509/verify-high.c:1465,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1466,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/verify-high.c:1476,1
    - Dst: gnutls_x509_trust_list_get_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:1480,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1483,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/verify-high.c:1491,1
    - Dst: retrieve_issuers
      Src: /src/gnutls/lib/x509/verify-high.c:1496,1
    - Dst: MAX
      Src: /src/gnutls/lib/x509/verify-high.c:1499,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/verify-high.c:1503,1
    - Dst: memmove
      Src: /src/gnutls/lib/x509/verify-high.c:1505,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/verify-high.c:1508,1
    - Dst: gl_list_remove
      Src: /src/gnutls/lib/x509/verify-high.c:1515,1
    - Dst: shorten_clist
      Src: /src/gnutls/lib/x509/verify-high.c:1519,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high.c:1521,1
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:1523,1
    - Dst: check_if_in_blocklist
      Src: /src/gnutls/lib/x509/verify-high.c:1527,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify-high.c:1537,1
    - Dst: SIGNER_OLD_OR_UNKNOWN
      Src: /src/gnutls/lib/x509/verify-high.c:1543,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify-high.c:1545,1
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:1549,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/verify-high.c:1554,1
    - Dst: _gnutls_verify_crt_status
      Src: /src/gnutls/lib/x509/verify-high.c:1557,1
    - Dst: SIGNER_WAS_KNOWN
      Src: /src/gnutls/lib/x509/verify-high.c:1562,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1564,1
    - Dst: SIGNER_OLD_OR_UNKNOWN
      Src: /src/gnutls/lib/x509/verify-high.c:1571,1
    - Dst: _gnutls_pkcs11_verify_crt_status
      Src: /src/gnutls/lib/x509/verify-high.c:1574,1
    - Dst: SIGNER_WAS_KNOWN
      Src: /src/gnutls/lib/x509/verify-high.c:1578,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1580,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/verify-high.c:1587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1589,1
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/lib/x509/verify-high.c:1596,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1599,1
    - Dst: gnutls_x509_crt_check_ip
      Src: /src/gnutls/lib/x509/verify-high.c:1606,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1609,1
    - Dst: gnutls_x509_crt_check_email
      Src: /src/gnutls/lib/x509/verify-high.c:1616,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1618,1
    - Dst: _gnutls_x509_crt_check_revocation
      Src: /src/gnutls/lib/x509/verify-high.c:1634,1
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:1646,1
    - Dst: _gnutls_x509_crt_check_revocation
      Src: /src/gnutls/lib/x509/verify-high.c:1650,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high.c:1654,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high.c:1665,1
    - Dst: gl_list_free
      Src: /src/gnutls/lib/x509/verify-high.c:1667,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 192
    argCount: 8
    argNames:
    - list
    - cert_list
    - cert_list_size
    - data
    - elements
    - flags
    - voutput
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t*
    - unsigned int
    - gnutls_typed_vdata_st*
    - unsigned int
    - unsigned int
    - unsigned int*
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 1669
      start: 1355
    functionDepth: 6
    functionLinenumber: 1355
    functionLinenumberEnd: 1669
    functionName: gnutls_x509_trust_list_verify_crt2
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 10
    functionsReached:
    - SIGNER_OLD_OR_UNKNOWN
    - gnutls_x509_crt_check_hostname2
    - SIGNER_WAS_KNOWN
    - _gnutls_verify_crt_status
    - gnutls_assert_val
    - gnutls_x509_crt_check_email
    - retrieve_issuers
    - memmove
    - shorten_clist
    - memcmp
    - check_if_in_blocklist
    - gnutls_x509_crt_check_ip
    - _gnutls_debug_log
    - _gnutls_pkcs11_verify_crt_status
    - assert
    - gnutls_x509_trust_list_get_issuer
    - gnutls_x509_crt_deinit
    - strlen
    - _gnutls_x509_crt_check_revocation
    - _gnutls_check_key_purpose
    - gl_list_search
    - gnutls_x509_trust_list_verify_named_crt
    - _gnutls_sort_clist
    - gl_list_remove
    - MAX
    - hash_pjw_bare
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_free
    - memcpy
    - gnutls_x509_crt_check_issuer
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_verify_crt2(\n\tgnutls_x509_trust_list_t
      list, gnutls_x509_crt_t *cert_list,\n\tunsigned int cert_list_size, gnutls_typed_vdata_st
      *data,\n\tunsigned int elements, unsigned int flags, unsigned int *voutput,\n\tgnutls_verify_output_function
      func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:1708,1
    - Dst: check_if_in_blocklist
      Src: /src/gnutls/lib/x509/verify-high.c:1712,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:1724,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/verify-high.c:1729,1
    - Dst: _gnutls_x509_crt_check_revocation
      Src: /src/gnutls/lib/x509/verify-high.c:1743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - list
    - cert
    - name
    - name_size
    - flags
    - voutput
    - func
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    - void*
    - size_t
    - unsigned int
    - unsigned int*
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 1752
      start: 1697
    functionDepth: 2
    functionLinenumber: 1697
    functionLinenumberEnd: 1752
    functionName: gnutls_x509_trust_list_verify_named_crt
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_crt_check_revocation
    - hash_pjw_bare
    - memcmp
    - check_if_in_blocklist
    - gnutls_x509_crt_equals
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_verify_named_crt(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t    gnutls_x509_crt_t cert,\n\t\t\t\t\t    const void *name,
      size_t name_size,\n\t\t\t\t\t    unsigned int flags,\n\t\t\t\t\t    unsigned
      int *voutput,\n\t\t\t\t\t    gnutls_verify_output_function func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/verify-high.c:1762,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/verify-high.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - list
    - cert
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1773
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1773
    functionName: _gnutls_trustlist_inlist
    functionSourceFile: /src/gnutls/lib/x509/verify-high.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_equals
    - hash_pjw_bare
    linkageType: ''
    returnType: int
    signature: "int _gnutls_trustlist_inlist(gnutls_x509_trust_list_t list,\n\t\t\t
      \    gnutls_x509_crt_t cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/output.c:50,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:55,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:55,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:56,1
    - Dst: strstr
      Src: /src/gnutls/lib/x509/output.c:59,1
    - Dst: gnutls_idna_reverse_map
      Src: /src/gnutls/lib/x509/output.c:60,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:63,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:63,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:64,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:67,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:73,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:73,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - str
    - prefix
    - type
    - name
    argTypes:
    - gnutls_buffer_st*
    - char*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: print_idn_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - NON_NULL
    - strstr
    - gnutls_idna_reverse_map
    - addf
    - _
    - _gnutls_str_is_print
    linkageType: ''
    returnType: void
    signature: "void print_idn_name(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \  const char *type, gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/output.c:86,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:91,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:91,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:92,1
    - Dst: strstr
      Src: /src/gnutls/lib/x509/output.c:95,1
    - Dst: _gnutls_idna_email_reverse_map
      Src: /src/gnutls/lib/x509/output.c:96,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:99,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:99,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:100,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:103,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:109,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:109,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - str
    - prefix
    - type
    - name
    argTypes:
    - gnutls_buffer_st*
    - char*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 112
    functionName: print_idn_email
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - NON_NULL
    - strstr
    - _gnutls_idna_email_reverse_map
    - addf
    - _
    - _gnutls_str_is_print
    linkageType: ''
    returnType: void
    signature: "void print_idn_email(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \   const char *type, gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/x509/output.c:125,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:126,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:126,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/output.c:128,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/output.c:129,1
    - Dst: print_idn_name
      Src: /src/gnutls/lib/x509/output.c:134,1
    - Dst: print_idn_email
      Src: /src/gnutls/lib/x509/output.c:138,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:142,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:142,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:143,1
    - Dst: _gnutls_ip_to_string
      Src: /src/gnutls/lib/x509/output.c:148,1
    - Dst: _gnutls_cidr_to_string
      Src: /src/gnutls/lib/x509/output.c:151,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:155,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:159,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:159,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:160,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:164,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:164,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:165,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:169,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:169,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:170,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:174,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:174,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:175,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:179,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:179,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:180,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:184,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:184,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:185,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:186,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 5
    argNames:
    - str
    - prefix
    - type
    - name
    - ip_is_cidr
    argTypes:
    - gnutls_buffer_st*
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 189
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 189
    functionName: print_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_idn_email
    - strlen
    - adds
    - NON_NULL
    - _gnutls_ip_to_string
    - _gnutls_buffer_hexprint
    - print_idn_name
    - _gnutls_cidr_to_string
    - addf
    - _
    linkageType: ''
    returnType: void
    signature: "void print_name(gnutls_buffer_st *str, const char *prefix, unsigned
      type,\n\t\t       gnutls_datum_t *name, unsigned ip_is_cidr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:198,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:203,1
    - Dst: gnutls_x509_crt_get_pk_oid
      Src: /src/gnutls/lib/x509/output.c:206,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cert
    - bits
    argTypes:
    - gnutls_x509_crt_t
    - unsigned*
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: get_pk_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_pk_oid
    - gnutls_strdup
    - gnutls_x509_crt_get_pk_algorithm
    linkageType: ''
    returnType: char
    signature: char *get_pk_name(gnutls_x509_crt_t cert, unsigned *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:220,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:225,1
    - Dst: gnutls_x509_crq_get_pk_oid
      Src: /src/gnutls/lib/x509/output.c:228,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: crq_get_pk_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    - gnutls_x509_crq_get_pk_algorithm
    - gnutls_x509_crq_get_pk_oid
    linkageType: ''
    returnType: char
    signature: char *crq_get_pk_name(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/lib/x509/output.c:244,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:251,1
    - Dst: gnutls_x509_crt_get_signature_oid
      Src: /src/gnutls/lib/x509/output.c:254,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cert
    - algo
    argTypes:
    - gnutls_x509_crt_t
    - int*
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: get_sign_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    - gnutls_x509_crt_get_signature_algorithm
    - gnutls_x509_crt_get_signature_oid
    linkageType: ''
    returnType: char
    signature: char *get_sign_name(gnutls_x509_crt_t cert, int *algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_signature_algorithm
      Src: /src/gnutls/lib/x509/output.c:268,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:273,1
    - Dst: gnutls_x509_crq_get_signature_oid
      Src: /src/gnutls/lib/x509/output.c:276,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: crq_get_sign_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strdup
    - gnutls_x509_crq_get_signature_algorithm
    - gnutls_x509_crq_get_signature_oid
    linkageType: ''
    returnType: char
    signature: char *crq_get_sign_name(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_get_signature_algorithm
      Src: /src/gnutls/lib/x509/output.c:292,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:299,1
    - Dst: gnutls_x509_crl_get_signature_oid
      Src: /src/gnutls/lib/x509/output.c:302,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/output.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crl
    - algo
    argTypes:
    - gnutls_x509_crl_t
    - int*
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: crl_get_sign_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crl_get_signature_algorithm
    - gnutls_strdup
    - gnutls_x509_crl_get_signature_oid
    linkageType: ''
    returnType: char
    signature: char *crl_get_sign_name(gnutls_x509_crl_t crl, int *algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_proxy
      Src: /src/gnutls/lib/x509/output.c:317,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:320,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:320,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:325,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:325,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:326,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:326,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:327,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:328,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:329,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:330,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:332,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:334,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:334,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:335,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:336,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:336,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:337,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:338,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:340,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - str
    - der
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 342
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 342
    functionName: print_proxy
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_proxy
    - gnutls_strerror
    - _gnutls_buffer_asciiprint
    - gnutls_free
    - adds
    - _gnutls_buffer_hexprint
    - addf
    - strcmp
    - _
    linkageType: ''
    returnType: void
    signature: void print_proxy(gnutls_buffer_st *str, gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/lib/x509/output.c:354,1
    - Dst: gnutls_x509_ext_import_name_constraints
      Src: /src/gnutls/lib/x509/output.c:358,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/output.c:362,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/lib/x509/output.c:365,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:370,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:370,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:372,1
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/lib/x509/output.c:378,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:383,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:383,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:385,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/lib/x509/output.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 391
    functionName: print_nc
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_name
    - gnutls_x509_name_constraints_get_permitted
    - gnutls_x509_name_constraints_init
    - snprintf
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_ext_import_name_constraints
    - gnutls_x509_name_constraints_get_excluded
    - addf
    - _
    linkageType: ''
    returnType: void
    signature: "void print_nc(gnutls_buffer_st *str, const char *prefix,\n\t\t     gnutls_datum_t
      *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_aia_init
      Src: /src/gnutls/lib/x509/output.c:401,1
    - Dst: gnutls_x509_ext_import_aia
      Src: /src/gnutls/lib/x509/output.c:405,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:407,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:407,1
    - Dst: gnutls_x509_aia_get
      Src: /src/gnutls/lib/x509/output.c:412,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:416,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:416,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:420,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:421,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:421,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:423,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:424,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:424,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:427,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:427,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:431,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:432,1
    - Dst: gnutls_x509_aia_deinit
      Src: /src/gnutls/lib/x509/output.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - str
    - der
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 393
    functionDepth: 6
    functionLinenumber: 393
    functionLinenumberEnd: 437
    functionName: print_aia
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_name
    - gnutls_strerror
    - gnutls_x509_aia_deinit
    - gnutls_x509_aia_init
    - gnutls_x509_ext_import_aia
    - adds
    - gnutls_x509_aia_get
    - addf
    - strcmp
    - _
    linkageType: ''
    returnType: void
    signature: void print_aia(gnutls_buffer_st *str, const gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_subject_key_id
      Src: /src/gnutls/lib/x509/output.c:444,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:446,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:447,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:451,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:452,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:453,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - str
    - der
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: print_ski
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_ext_import_subject_key_id
    - adds
    - _gnutls_buffer_hexprint
    - addf
    linkageType: ''
    returnType: void
    signature: void print_ski(gnutls_buffer_st *str, gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:464,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:465,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:469,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:470,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - str
    - timestamp
    argTypes:
    - gnutls_buffer_st*
    - time_t
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: print_time
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - strftime
    - addf
    linkageType: ''
    returnType: void
    signature: void print_time(gnutls_buffer_st *str, time_t timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_ct_scts_init
      Src: /src/gnutls/lib/x509/output.c:485,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:487,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:488,1
    - Dst: gnutls_x509_ext_ct_import_scts
      Src: /src/gnutls/lib/x509/output.c:492,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:494,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:495,1
    - Dst: gnutls_x509_ct_sct_get_version
      Src: /src/gnutls/lib/x509/output.c:500,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:504,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:504,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:508,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:509,1
    - Dst: gnutls_x509_ct_sct_get
      Src: /src/gnutls/lib/x509/output.c:514,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:517,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:518,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:522,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:522,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:523,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:523,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:524,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:525,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:526,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:526,1
    - Dst: print_time
      Src: /src/gnutls/lib/x509/output.c:527,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:528,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:529,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:531,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:531,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/x509/output.c:532,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:533,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:533,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:534,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:535,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:537,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:538,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:544,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:545,1
    - Dst: gnutls_x509_ext_ct_scts_deinit
      Src: /src/gnutls/lib/x509/output.c:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - str
    - der
    - prefix
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 547
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 547
    functionName: print_scts
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_ct_sct_get
    - gnutls_x509_ext_ct_scts_init
    - _gnutls_free_datum
    - _gnutls_buffer_hexprint
    - gnutls_sign_get_name
    - print_time
    - gnutls_x509_ext_ct_scts_deinit
    - gnutls_x509_ct_sct_get_version
    - addf
    - gnutls_x509_ext_ct_import_scts
    - _
    linkageType: ''
    returnType: void
    signature: "void print_scts(gnutls_buffer_st *str, const gnutls_datum_t *der,\n\t\t
      \      const char *prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_aki_get_cert_issuer
      Src: /src/gnutls/lib/x509/output.c:563,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:568,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:569,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:573,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:575,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:576,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - str
    - aki
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_aki_t
    constantsTouched: []
    func_position:
      end: 578
      start: 557
    functionDepth: 6
    functionLinenumber: 557
    functionLinenumberEnd: 578
    functionName: print_aki_gn_serial
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_name
    - gnutls_strerror
    - gnutls_x509_aki_get_cert_issuer
    - adds
    - _gnutls_buffer_hexprint
    - addf
    linkageType: ''
    returnType: void
    signature: void print_aki_gn_serial(gnutls_buffer_st *str, gnutls_x509_aki_t aki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_aki_init
      Src: /src/gnutls/lib/x509/output.c:586,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:588,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:589,1
    - Dst: gnutls_x509_ext_import_authority_key_id
      Src: /src/gnutls/lib/x509/output.c:593,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:595,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:597,1
    - Dst: print_aki_gn_serial
      Src: /src/gnutls/lib/x509/output.c:602,1
    - Dst: gnutls_x509_aki_get_id
      Src: /src/gnutls/lib/x509/output.c:604,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:608,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:609,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:613,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:614,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:615,1
    - Dst: gnutls_x509_aki_deinit
      Src: /src/gnutls/lib/x509/output.c:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - str
    - der
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 619
      start: 580
    functionDepth: 7
    functionLinenumber: 580
    functionLinenumberEnd: 619
    functionName: print_aki
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_aki_gn_serial
    - gnutls_strerror
    - adds
    - gnutls_x509_ext_import_authority_key_id
    - _gnutls_buffer_hexprint
    - gnutls_x509_aki_init
    - addf
    - gnutls_x509_aki_deinit
    - gnutls_x509_aki_get_id
    linkageType: ''
    returnType: void
    signature: void print_aki(gnutls_buffer_st *str, gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:625,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:625,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:627,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:627,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:629,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:629,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:631,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:631,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:633,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:633,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:635,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:635,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:637,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:637,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:639,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:639,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:641,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - str
    - prefix
    - key_usage
    argTypes:
    - gnutls_buffer_st*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 642
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 642
    functionName: print_key_usage2
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - _
    - addf
    linkageType: ''
    returnType: void
    signature: "void print_key_usage2(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \    unsigned int key_usage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/lib/x509/output.c:650,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:652,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:652,1
    - Dst: print_key_usage2
      Src: /src/gnutls/lib/x509/output.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: print_key_usage
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_key_usage
    - gnutls_strerror
    - print_key_usage2
    - addf
    linkageType: ''
    returnType: void
    signature: "void print_key_usage(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \   gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_private_key_usage_period
      Src: /src/gnutls/lib/x509/output.c:669,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:672,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:673,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:679,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:680,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:681,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:682,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:684,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:684,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:686,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:687,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:688,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:689,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:691,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 692
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 692
    functionName: print_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_private_key_usage_period
    - gnutls_strerror
    - gmtime_r
    - addf
    - _
    - strftime
    linkageType: ''
    returnType: void
    signature: "void print_private_key_usage_period(gnutls_buffer_st *str,\n\t\t\t\t\t
      \  const char *prefix,\n\t\t\t\t\t   gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_dist_points_init
      Src: /src/gnutls/lib/x509/output.c:702,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:704,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:705,1
    - Dst: gnutls_x509_ext_import_crl_dist_points
      Src: /src/gnutls/lib/x509/output.c:709,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:711,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:712,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/lib/x509/output.c:717,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:722,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:723,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:727,1
    - Dst: gnutls_x509_crl_dist_points_deinit
      Src: /src/gnutls/lib/x509/output.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - str
    - der
    argTypes:
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 731
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 731
    functionName: print_crldist
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_name
    - gnutls_strerror
    - gnutls_x509_crl_dist_points_deinit
    - gnutls_x509_crl_dist_points_get
    - gnutls_x509_ext_import_crl_dist_points
    - addf
    - gnutls_x509_crl_dist_points_init
    linkageType: ''
    returnType: void
    signature: void print_crldist(gnutls_buffer_st *str, gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_key_purpose_init
      Src: /src/gnutls/lib/x509/output.c:742,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:744,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:745,1
    - Dst: gnutls_x509_ext_import_key_purposes
      Src: /src/gnutls/lib/x509/output.c:749,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:751,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:752,1
    - Dst: gnutls_x509_key_purpose_get
      Src: /src/gnutls/lib/x509/output.c:757,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:761,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:762,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:767,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:768,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:768,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:769,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:770,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:770,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:771,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:772,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:772,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:773,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:774,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:774,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:775,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:776,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:776,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:777,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:778,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:778,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:779,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:780,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:780,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:781,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:782,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:782,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:783,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:784,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:784,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:786,1
    - Dst: gnutls_x509_key_purpose_deinit
      Src: /src/gnutls/lib/x509/output.c:789,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 790
    functionName: print_key_purpose
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_key_purpose_deinit
    - gnutls_x509_key_purpose_init
    - gnutls_x509_key_purpose_get
    - addf
    - strcmp
    - _
    - gnutls_x509_ext_import_key_purposes
    linkageType: ''
    returnType: void
    signature: "void print_key_purpose(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \     gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/lib/x509/output.c:799,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:801,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:802,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:807,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:807,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:810,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:810,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:814,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 816
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 816
    functionName: print_basic
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - _
    - gnutls_strerror
    - gnutls_x509_ext_import_basic_constraints
    - addf
    linkageType: ''
    returnType: void
    signature: "void print_basic(gnutls_buffer_st *str, const char *prefix,\n\t\t\tgnutls_datum_t
      *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/output.c:829,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:831,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:832,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/lib/x509/output.c:836,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:838,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:840,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/lib/x509/output.c:845,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:850,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:851,1
    - Dst: gnutls_x509_othername_to_virtual
      Src: /src/gnutls/lib/x509/output.c:859,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/output.c:862,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:863,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:864,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:868,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:868,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:870,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:870,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:871,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:872,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:872,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:873,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:875,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/output.c:877,1
    - Dst: print_name
      Src: /src/gnutls/lib/x509/output.c:878,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/output.c:883,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 884
      start: 818
    functionDepth: 6
    functionLinenumber: 818
    functionLinenumberEnd: 884
    functionName: print_altname
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_name
    - gnutls_strerror
    - gnutls_free
    - _gnutls_buffer_asciiprint
    - gnutls_subject_alt_names_deinit
    - snprintf
    - gnutls_subject_alt_names_get
    - _gnutls_buffer_hexprint
    - gnutls_x509_ext_import_subject_alt_names
    - addf
    - _
    - gnutls_subject_alt_names_init
    - gnutls_x509_othername_to_virtual
    linkageType: ''
    returnType: void
    signature: "void print_altname(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \ gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:892,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:893,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:894,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:895,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:896,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:897,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:898,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:899,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:900,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:901,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:902,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:903,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:904,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:905,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:906,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:907,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:909,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - str
    - data
    - len
    - spc
    argTypes:
    - gnutls_buffer_st*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 912
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 912
    functionName: guiddump
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - adds
    - addf
    linkageType: ''
    returnType: void
    signature: "void guiddump(gnutls_buffer_st *str, const char *data, size_t len,\n\t\t
      \    const char *spc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_issuer_unique_id
      Src: /src/gnutls/lib/x509/output.c:921,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:923,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:924,1
    - Dst: guiddump
      Src: /src/gnutls/lib/x509/output.c:926,1
    - Dst: gnutls_x509_crt_get_subject_unique_id
      Src: /src/gnutls/lib/x509/output.c:931,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:933,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:934,1
    - Dst: guiddump
      Src: /src/gnutls/lib/x509/output.c:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - str
    - cert
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 939
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 939
    functionName: print_unique_ids
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - guiddump
    - gnutls_x509_crt_get_subject_unique_id
    - gnutls_x509_crt_get_issuer_unique_id
    - addf
    - _gnutls_buffer_hexdump
    linkageType: ''
    returnType: void
    signature: "void print_unique_ids(gnutls_buffer_st *str,\n\t\t\t     const gnutls_x509_crt_t
      cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/lib/x509/output.c:950,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/lib/x509/output.c:954,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:956,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:956,1
    - Dst: gnutls_x509_tlsfeatures_get
      Src: /src/gnutls/lib/x509/output.c:961,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:965,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:966,1
    - Dst: gnutls_ext_get_name
      Src: /src/gnutls/lib/x509/output.c:970,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:972,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:974,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/lib/x509/output.c:978,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 979
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 979
    functionName: print_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - gnutls_strerror
    - gnutls_x509_ext_import_tlsfeatures
    - gnutls_ext_get_name
    - gnutls_x509_tlsfeatures_init
    - addf
    - gnutls_x509_tlsfeatures_get
    linkageType: ''
    returnType: void
    signature: "void print_tlsfeatures(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \     const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/output.c:987,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:990,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:990,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:991,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:993,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:994,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:994,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:995,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:996,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1001,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1001,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:1001,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1003
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1003
    functionName: print_subject_sign_tool
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - _gnutls_buffer_asciiprint
    - adds
    - NON_NULL
    - _gnutls_free_datum
    - _gnutls_buffer_hexprint
    - addf
    - _
    linkageType: ''
    returnType: void
    signature: "void print_subject_sign_tool(gnutls_buffer_st *str, const char *prefix,\n\t\t\t\t
      \   const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/output.c:1013,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/output.c:1013,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1016,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/output.c:1020,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1022,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/output.c:1023,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/output.c:1027,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1029,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1032,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1032,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:1033,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:1034,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/output.c:1036,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1038,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1041,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1041,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:1042,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:1043,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/output.c:1045,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1047,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1050,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1050,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:1051,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:1052,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/output.c:1054,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1056,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1059,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1059,1
    - Dst: NON_NULL
      Src: /src/gnutls/lib/x509/output.c:1060,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/output.c:1061,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/output.c:1063,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/output.c:1068,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1070,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1070,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:1071,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1073,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1074,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1074,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1075,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1076,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - str
    - prefix
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1077
    functionName: print_issuer_sign_tool
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_asciiprint
    - _gnutls_x509_read_value
    - _gnutls_debug_log
    - NON_NULL
    - adds
    - _gnutls_free_datum
    - _
    - asn1_create_element
    - _gnutls_buffer_hexprint
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - addf
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: "void print_issuer_sign_tool(gnutls_buffer_st *str, const char *prefix,\n\t\t\t\t
      \  const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1124,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1126,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1129,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1129,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1130,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1130,1
    - Dst: print_basic
      Src: /src/gnutls/lib/x509/output.c:1132,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1135,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1137,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1140,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1140,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1141,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1141,1
    - Dst: print_ski
      Src: /src/gnutls/lib/x509/output.c:1143,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1146,1
    - Dst: gnutls_x509_policies_init
      Src: /src/gnutls/lib/x509/output.c:1153,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1155,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1156,1
    - Dst: gnutls_x509_ext_import_policies
      Src: /src/gnutls/lib/x509/output.c:1160,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1162,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1163,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/lib/x509/output.c:1164,1
    - Dst: gnutls_x509_policies_get
      Src: /src/gnutls/lib/x509/output.c:1169,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1174,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1175,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1180,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1182,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1183,1
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/output.c:1185,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1187,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1190,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1200,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/lib/x509/output.c:1204,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1205,1
    - Dst: gnutls_x509_ext_import_inhibit_anypolicy
      Src: /src/gnutls/lib/x509/output.c:1208,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1210,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1212,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1216,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1218,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1218,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1220,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1222,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1225,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1225,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1226,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1226,1
    - Dst: print_aki
      Src: /src/gnutls/lib/x509/output.c:1228,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1231,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1233,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1237,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1237,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1238,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1238,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/output.c:1240,1
    - Dst: print_key_usage
      Src: /src/gnutls/lib/x509/output.c:1241,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1244,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1246,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1250,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1250,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1251,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1251,1
    - Dst: print_private_key_usage_period
      Src: /src/gnutls/lib/x509/output.c:1253,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1256,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1258,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1262,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1262,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1263,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1263,1
    - Dst: print_key_purpose
      Src: /src/gnutls/lib/x509/output.c:1265,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1267,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1269,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1272,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1272,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1273,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1273,1
    - Dst: print_altname
      Src: /src/gnutls/lib/x509/output.c:1274,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1276,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1278,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1282,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1282,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1283,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1283,1
    - Dst: print_altname
      Src: /src/gnutls/lib/x509/output.c:1285,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1288,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1290,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1294,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1294,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1295,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1295,1
    - Dst: print_crldist
      Src: /src/gnutls/lib/x509/output.c:1297,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1299,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1301,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1304,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1304,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1305,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1305,1
    - Dst: print_proxy
      Src: /src/gnutls/lib/x509/output.c:1307,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1310,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1311,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1312,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1314,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1314,1
    - Dst: print_aia
      Src: /src/gnutls/lib/x509/output.c:1316,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1317,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1318,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1318,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1319,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1319,1
    - Dst: print_scts
      Src: /src/gnutls/lib/x509/output.c:1321,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1322,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1324,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1329,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1329,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1330,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1330,1
    - Dst: print_nc
      Src: /src/gnutls/lib/x509/output.c:1332,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1333,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1335,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1339,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1339,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1340,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1340,1
    - Dst: print_tlsfeatures
      Src: /src/gnutls/lib/x509/output.c:1342,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1345,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1346,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1346,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1347,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1347,1
    - Dst: print_subject_sign_tool
      Src: /src/gnutls/lib/x509/output.c:1349,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1350,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1351,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1351,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1352,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1352,1
    - Dst: print_issuer_sign_tool
      Src: /src/gnutls/lib/x509/output.c:1354,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:1355,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1359,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1359,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1360,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1360,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/output.c:1362,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1365,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1366,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1368,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1369,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1372,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1372,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1373,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1373,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1375,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1375,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:1376,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1378,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1379,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1379,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1380,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1381,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 177
    argCount: 6
    argNames:
    - str
    - prefix
    - idx
    - oid
    - critical
    - der
    argTypes:
    - gnutls_buffer_st*
    - char*
    - struct ext_indexes_st*
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1116
    functionDepth: 8
    functionLinenumber: 1116
    functionLinenumberEnd: 1383
    functionName: print_extension
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_policies_get
    - print_private_key_usage_period
    - snprintf
    - gnutls_x509_policies_init
    - gnutls_x509_ext_import_inhibit_anypolicy
    - strcmp
    - gnutls_x509_ext_import_policies
    - print_tlsfeatures
    - print_altname
    - _gnutls_buffer_asciiprint
    - print_crldist
    - print_subject_sign_tool
    - adds
    - print_aki
    - _gnutls_oid_get_entry
    - print_basic
    - gnutls_x509_policies_deinit
    - print_nc
    - _gnutls_buffer_hexprint
    - print_key_purpose
    - _
    - print_issuer_sign_tool
    - _gnutls_x509_decode_string
    - gnutls_strerror
    - print_key_usage
    - gnutls_free
    - print_ski
    - print_scts
    - print_aia
    - addf
    - print_proxy
    linkageType: ''
    returnType: void
    signature: "void print_extension(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \   struct ext_indexes_st *idx, const char *oid,\n\t\t\t    unsigned critical,
      gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/output.c:1393,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/lib/x509/output.c:1401,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/lib/x509/output.c:1405,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1408,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1415,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1416,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1421,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1421,1
    - Dst: gnutls_x509_crt_get_extension_data2
      Src: /src/gnutls/lib/x509/output.c:1424,1
    - Dst: gnutls_x509_crq_get_extension_data2
      Src: /src/gnutls/lib/x509/output.c:1427,1
    - Dst: print_extension
      Src: /src/gnutls/lib/x509/output.c:1435,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - str
    - prefix
    - type
    - cert
    argTypes:
    - gnutls_buffer_st*
    - char*
    - int
    - cert_type_t
    constantsTouched: []
    func_position:
      end: 1438
      start: 1385
    functionDepth: 9
    functionLinenumber: 1385
    functionLinenumberEnd: 1438
    functionName: print_extensions
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_get_extension_data2
    - gnutls_strerror
    - gnutls_free
    - gnutls_x509_crt_get_extension_info
    - gnutls_x509_crt_get_extension_data2
    - print_extension
    - memset
    - addf
    - gnutls_x509_crq_get_extension_info
    - _
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: "void print_extensions(gnutls_buffer_st *str, const char *prefix,\n\t\t\t
      \    int type, cert_type_t cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1450
    functionName: reverse_datum
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_datum(gnutls_datum_t *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:1461,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1463,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1464,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/gnutls/lib/x509/output.c:1470,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1472,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1474,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1474,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1476,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1476,1
    - Dst: gnutls_sec_param_get_name
      Src: /src/gnutls/lib/x509/output.c:1477,1
    - Dst: gnutls_pk_bits_to_sec_param
      Src: /src/gnutls/lib/x509/output.c:1477,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1481,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1481,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1482,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/x509/output.c:1483,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1484,1
    - Dst: gnutls_pubkey_get_pk_rsa_raw
      Src: /src/gnutls/lib/x509/output.c:1492,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1494,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1495,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1498,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1498,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1499,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1500,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1501,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1501,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1503,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1504,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1506,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1506,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1507,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1509,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1509,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1511,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1515,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1516,1
    - Dst: gnutls_pubkey_get_pk_ecc_raw
      Src: /src/gnutls/lib/x509/output.c:1529,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1531,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1532,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1534,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1534,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/x509/output.c:1535,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1537,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1537,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1538,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1539,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1541,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1541,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1542,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1544,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1547,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1547,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1548,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1551,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1551,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1552,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1557,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1558,1
    - Dst: gnutls_pubkey_get_pk_dsa_raw
      Src: /src/gnutls/lib/x509/output.c:1564,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1566,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1567,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1570,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1570,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1572,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1573,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1574,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1574,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1575,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1576,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1577,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1577,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1578,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1579,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1580,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1580,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1581,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1582,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1584,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1584,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1586,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1588,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1588,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1589,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1591,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1591,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1592,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1594,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1594,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1595,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1599,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1600,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1601,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1602,1
    - Dst: gnutls_pubkey_export_gost_raw2
      Src: /src/gnutls/lib/x509/output.c:1614,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1617,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1618,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1620,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1620,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/x509/output.c:1621,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1622,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1622,1
    - Dst: gnutls_digest_get_name
      Src: /src/gnutls/lib/x509/output.c:1623,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1624,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1624,1
    - Dst: gnutls_gost_paramset_get_name
      Src: /src/gnutls/lib/x509/output.c:1625,1
    - Dst: reverse_datum
      Src: /src/gnutls/lib/x509/output.c:1626,1
    - Dst: reverse_datum
      Src: /src/gnutls/lib/x509/output.c:1627,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1629,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1629,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1630,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1631,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1632,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1632,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1633,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1634,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1636,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1636,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1637,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1639,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1639,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1640,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1644,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1645,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 139
    argCount: 5
    argNames:
    - str
    - key_name
    - pubkey
    - spki
    - format
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_pubkey_t
    - gnutls_x509_spki_st*
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 1652
      start: 1452
    functionDepth: 3
    functionLinenumber: 1452
    functionLinenumberEnd: 1652
    functionName: print_pubkey
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_get_pk_ecc_raw
    - _gnutls_buffer_hexdump
    - gnutls_digest_get_name
    - gnutls_pk_algorithm_get_name
    - gnutls_gost_paramset_get_name
    - adds
    - gnutls_pubkey_get_pk_dsa_raw
    - gnutls_pubkey_export_gost_raw2
    - gnutls_pubkey_get_pk_algorithm
    - _gnutls_buffer_hexprint
    - gnutls_sec_param_get_name
    - _
    - gnutls_strerror
    - gnutls_free
    - gnutls_pubkey_get_pk_rsa_raw
    - reverse_datum
    - addf
    - gnutls_pk_bits_to_sec_param
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: void
    signature: "void print_pubkey(gnutls_buffer_st *str, const char *key_name,\n\t\t\t
      gnutls_pubkey_t pubkey, gnutls_x509_spki_st *spki,\n\t\t\t gnutls_certificate_print_formats_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_signature_algorithm
      Src: /src/gnutls/lib/x509/output.c:1662,1
    - Dst: gnutls_sign_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:1663,1
    - Dst: _gnutls_x509_read_sign_params
      Src: /src/gnutls/lib/x509/output.c:1665,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1668,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1669,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - str
    - crt
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 1675
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1675
    functionName: print_crt_sig_params
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_sign_get_pk_algorithm
    - gnutls_x509_crt_get_signature_algorithm
    - addf
    - _gnutls_x509_read_sign_params
    linkageType: ''
    returnType: int
    signature: "int print_crt_sig_params(gnutls_buffer_st *str, gnutls_x509_crt_t
      crt,\n\t\t\t\tgnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1682,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1686,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - crt
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1688
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1688
    functionName: print_pk_name
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - _
    - gnutls_free
    - addf
    linkageType: ''
    returnType: void
    signature: void print_pk_name(gnutls_buffer_st *str, gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crt_read_spki_params
      Src: /src/gnutls/lib/x509/output.c:1697,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:1701,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/output.c:1703,1
    - Dst: print_pk_name
      Src: /src/gnutls/lib/x509/output.c:1708,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/output.c:1712,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/output.c:1716,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1719,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1720,1
    - Dst: print_pk_name
      Src: /src/gnutls/lib/x509/output.c:1721,1
    - Dst: print_pubkey
      Src: /src/gnutls/lib/x509/output.c:1726,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1726,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/output.c:1730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - str
    - crt
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 1733
      start: 1690
    functionDepth: 4
    functionLinenumber: 1690
    functionLinenumberEnd: 1733
    functionName: print_crt_pubkey
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - print_pk_name
    - gnutls_pubkey_import_x509
    - _gnutls_x509_crt_read_spki_params
    - addf
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - _
    - gnutls_x509_crt_get_pk_algorithm
    - print_pubkey
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int print_crt_pubkey(gnutls_buffer_st *str, gnutls_x509_crt_t crt,\n\t\t\t
      \   gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1742,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1743,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1745,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1745,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/output.c:1754,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1756,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1757,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1759,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1759,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1760,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1761,1
    - Dst: gnutls_x509_crt_get_issuer_dn3
      Src: /src/gnutls/lib/x509/output.c:1770,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1772,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1772,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1774,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1775,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1777,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1777,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1778,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1786,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1786,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/output.c:1788,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:1794,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1795,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:1797,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1799,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1802,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1802,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1804,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1804,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1804,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/output.c:1807,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:1813,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1814,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:1816,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1818,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1821,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1821,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1823,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1823,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1823,1
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/lib/x509/output.c:1832,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1834,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1834,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1836,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1836,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1838,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1838,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1839,1
    - Dst: print_crt_pubkey
      Src: /src/gnutls/lib/x509/output.c:1844,1
    - Dst: print_unique_ids
      Src: /src/gnutls/lib/x509/output.c:1846,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/output.c:1849,1
    - Dst: print_extensions
      Src: /src/gnutls/lib/x509/output.c:1853,1
    - Dst: get_sign_name
      Src: /src/gnutls/lib/x509/output.c:1864,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1866,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1870,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1870,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1871,1
    - Dst: print_crt_sig_params
      Src: /src/gnutls/lib/x509/output.c:1873,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/lib/x509/output.c:1876,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1878,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1878,1
    - Dst: gnutls_x509_crt_get_signature
      Src: /src/gnutls/lib/x509/output.c:1882,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1884,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1885,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/output.c:1889,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1891,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1892,1
    - Dst: gnutls_x509_crt_get_signature
      Src: /src/gnutls/lib/x509/output.c:1896,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1898,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1899,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1900,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1904,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1904,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:1905,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:1907,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 95
    argCount: 3
    argNames:
    - str
    - cert
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 1909
      start: 1735
    functionDepth: 10
    functionLinenumber: 1735
    functionLinenumberEnd: 1909
    functionName: print_cert
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_dn3
    - gnutls_malloc
    - get_sign_name
    - strftime
    - print_crt_sig_params
    - gnutls_sign_is_secure2
    - adds
    - gmtime_r
    - gnutls_x509_crt_get_signature
    - print_unique_ids
    - print_extensions
    - gnutls_x509_crt_get_expiration_time
    - _gnutls_buffer_hexprint
    - _
    - gnutls_x509_crt_get_activation_time
    - gnutls_x509_crt_get_issuer_dn3
    - gnutls_x509_crt_get_version
    - gnutls_strerror
    - gnutls_free
    - addf
    - gnutls_x509_crt_get_serial
    - print_crt_pubkey
    - _gnutls_buffer_hexdump
    linkageType: ''
    returnType: void
    signature: "void print_cert(gnutls_buffer_st *str, gnutls_x509_crt_t cert,\n\t\t
      \      gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1917,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1917,1
    - Dst: gnutls_x509_crt_get_fingerprint
      Src: /src/gnutls/lib/x509/output.c:1919,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1922,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1922,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1926,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1926,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1927,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1928,1
    - Dst: gnutls_x509_crt_get_fingerprint
      Src: /src/gnutls/lib/x509/output.c:1931,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1934,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1934,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1937,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1937,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1938,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - str
    - cert
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1940
      start: 1911
    functionDepth: 3
    functionLinenumber: 1911
    functionLinenumberEnd: 1940
    functionName: print_fingerprint
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - adds
    - _gnutls_buffer_hexprint
    - addf
    - _
    - gnutls_x509_crt_get_fingerprint
    linkageType: ''
    returnType: void
    signature: void print_fingerprint(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_id
      Src: /src/gnutls/lib/x509/output.c:1953,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1958,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1959,1
    - Dst: get_id
      Src: /src/gnutls/lib/x509/output.c:1964,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1969,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:1970,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1974,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1974,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1975,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1976,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:1977,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1978,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:1980,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:1980,1
    - Dst: _gnutls_buffer_base64print
      Src: /src/gnutls/lib/x509/output.c:1981,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:1982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - str
    - prefix
    - obj
    - get_id
    argTypes:
    - gnutls_buffer_st*
    - char*
    - void*
    - get_id_func*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1944
    functionDepth: 4
    functionLinenumber: 1944
    functionLinenumberEnd: 1985
    functionName: print_obj_id
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - adds
    - _gnutls_buffer_hexprint
    - get_id
    - addf
    - _
    - _gnutls_buffer_base64print
    linkageType: ''
    returnType: void
    signature: "void print_obj_id(gnutls_buffer_st *str, const char *prefix, void
      *obj,\n\t\t\t get_id_func *get_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:1995,1
    - Dst: print_obj_id
      Src: /src/gnutls/lib/x509/output.c:1999,1
    - Dst: IS_EC
      Src: /src/gnutls/lib/x509/output.c:2002,1
    - Dst: gnutls_x509_crt_get_pk_ecc_raw
      Src: /src/gnutls/lib/x509/output.c:2005,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/x509/output.c:2009,1
    - Dst: IS_GOSTEC
      Src: /src/gnutls/lib/x509/output.c:2011,1
    - Dst: gnutls_x509_crt_get_pk_gost_raw
      Src: /src/gnutls/lib/x509/output.c:2014,1
    - Dst: gnutls_ecc_curve_get_name
      Src: /src/gnutls/lib/x509/output.c:2019,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/x509/output.c:2022,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/lib/x509/output.c:2029,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - str
    - cert
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 2033
      start: 1987
    functionDepth: 5
    functionLinenumber: 1987
    functionLinenumberEnd: 2033
    functionName: print_keyid
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - IS_EC
    - IS_GOSTEC
    - gnutls_x509_crt_get_key_id
    - print_obj_id
    - gnutls_pk_get_name
    - gnutls_x509_crt_get_pk_gost_raw
    - gnutls_x509_crt_get_pk_ecc_raw
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_ecc_curve_get_name
    linkageType: ''
    returnType: void
    signature: void print_keyid(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_fingerprint
      Src: /src/gnutls/lib/x509/output.c:2039,1
    - Dst: print_keyid
      Src: /src/gnutls/lib/x509/output.c:2041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - str
    - cert
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 2042
      start: 2035
    functionDepth: 6
    functionLinenumber: 2035
    functionLinenumberEnd: 2042
    functionName: print_other
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - print_fingerprint
    - print_keyid
    linkageType: ''
    returnType: void
    signature: "void print_other(gnutls_buffer_st *str, gnutls_x509_crt_t cert,\n\t\t\tgnutls_certificate_print_formats_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_dn3
      Src: /src/gnutls/lib/x509/output.c:2052,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2054,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2054,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2056,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2057,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2059,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2060,1
    - Dst: gnutls_x509_crt_get_issuer_dn3
      Src: /src/gnutls/lib/x509/output.c:2068,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2070,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2070,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2072,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2073,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2075,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2076,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/output.c:2084,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2086,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:2087,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2088,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2098,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2101,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2102,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2111,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/lib/x509/output.c:2116,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2118,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2118,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2120,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2120,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2121,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/output.c:2128,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:2134,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2135,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:2137,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2139,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2142,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/output.c:2145,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:2151,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2152,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:2154,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2156,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2159,1
    - Dst: gnutls_x509_crt_get_proxy
      Src: /src/gnutls/lib/x509/output.c:2167,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2170,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2171,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2172,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2173,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2175,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2177,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2179,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2181,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2182,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/lib/x509/output.c:2190,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2193,1
    - Dst: _gnutls_buffer_base64print
      Src: /src/gnutls/lib/x509/output.c:2194,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2195,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 2
    argNames:
    - str
    - cert
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 2198
      start: 2044
    functionDepth: 4
    functionLinenumber: 2044
    functionLinenumberEnd: 2198
    functionName: print_oneline
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_strerror
    - gnutls_sign_is_secure2
    - adds
    - gnutls_x509_crt_get_key_id
    - gnutls_x509_crt_get_dn3
    - _gnutls_buffer_hexprint
    - gnutls_x509_crt_get_activation_time
    - gnutls_x509_crt_get_expiration_time
    - gmtime_r
    - gnutls_x509_crt_get_proxy
    - addf
    - strftime
    - strcmp
    - _
    - _gnutls_buffer_base64print
    - gnutls_x509_crt_get_serial
    - gnutls_x509_crt_get_issuer_dn3
    linkageType: ''
    returnType: void
    signature: void print_oneline(gnutls_buffer_st *str, gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2227,1
    - Dst: print_oneline
      Src: /src/gnutls/lib/x509/output.c:2229,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/output.c:2231,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/output.c:2233,1
    - Dst: print_keyid
      Src: /src/gnutls/lib/x509/output.c:2235,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2237,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2239,1
    - Dst: print_oneline
      Src: /src/gnutls/lib/x509/output.c:2241,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2243,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2245,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2247,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2248,1
    - Dst: print_cert
      Src: /src/gnutls/lib/x509/output.c:2250,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2252,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2252,1
    - Dst: print_other
      Src: /src/gnutls/lib/x509/output.c:2254,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cert
    - format
    - out
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2258
      start: 2219
    functionDepth: 11
    functionLinenumber: 2219
    functionLinenumberEnd: 2258
    functionName: gnutls_x509_crt_print
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 32
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - print_cert
    - print_oneline
    - print_other
    - print_keyid
    - _
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_print(gnutls_x509_crt_t cert,\n\t\t\t  gnutls_certificate_print_formats_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2267,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2268,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2270,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2270,1
    - Dst: gnutls_x509_crl_get_issuer_dn3
      Src: /src/gnutls/lib/x509/output.c:2278,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2280,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2280,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2282,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2283,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2285,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2285,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2286,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2294,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2294,1
    - Dst: gnutls_x509_crl_get_this_update
      Src: /src/gnutls/lib/x509/output.c:2296,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:2302,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2303,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:2305,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2307,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2310,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2310,1
    - Dst: gnutls_x509_crl_get_next_update
      Src: /src/gnutls/lib/x509/output.c:2313,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2320,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:2321,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2322,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:2324,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2326,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2329,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2329,1
    - Dst: gnutls_x509_crl_get_version
      Src: /src/gnutls/lib/x509/output.c:2334,1
    - Dst: gnutls_x509_crl_get_extension_info
      Src: /src/gnutls/lib/x509/output.c:2345,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2350,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2351,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2356,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2356,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2358,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2363,1
    - Dst: gnutls_x509_crl_get_number
      Src: /src/gnutls/lib/x509/output.c:2367,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2370,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2370,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2371,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2372,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2375,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2376,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:2378,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2380,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2384,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2388,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2392,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2393,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2394,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2395,1
    - Dst: gnutls_x509_crl_get_extension_data2
      Src: /src/gnutls/lib/x509/output.c:2397,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2400,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2402,1
    - Dst: print_aki
      Src: /src/gnutls/lib/x509/output.c:2405,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2406,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2412,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2412,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2414,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2415,1
    - Dst: gnutls_x509_crl_get_extension_data2
      Src: /src/gnutls/lib/x509/output.c:2417,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2420,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2422,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2426,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2426,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:2427,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2429,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2431,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2431,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:2432,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2434,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2436,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2448,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2448,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2450,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2450,1
    - Dst: gnutls_x509_crl_iter_crt_serial
      Src: /src/gnutls/lib/x509/output.c:2458,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2461,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2462,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2469,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2469,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:2470,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2472,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/output.c:2474,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2475,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/output.c:2477,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2480,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2483,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2483,1
    - Dst: gnutls_x509_crl_iter_deinit
      Src: /src/gnutls/lib/x509/output.c:2486,1
    - Dst: crl_get_sign_name
      Src: /src/gnutls/lib/x509/output.c:2497,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2499,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2503,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2503,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2504,1
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/lib/x509/output.c:2507,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2509,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2509,1
    - Dst: gnutls_x509_crl_get_signature
      Src: /src/gnutls/lib/x509/output.c:2513,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2515,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2516,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/output.c:2520,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2522,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2523,1
    - Dst: gnutls_x509_crl_get_signature
      Src: /src/gnutls/lib/x509/output.c:2527,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2529,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2530,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2531,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2535,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2535,1
    - Dst: _gnutls_buffer_hexdump
      Src: /src/gnutls/lib/x509/output.c:2536,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2538,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 140
    argCount: 3
    argNames:
    - str
    - crl
    - notsigned
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crl_t
    - int
    constantsTouched: []
    func_position:
      end: 2540
      start: 2260
    functionDepth: 8
    functionLinenumber: 2260
    functionLinenumberEnd: 2540
    functionName: print_crl
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crl_iter_deinit
    - gnutls_x509_crl_get_issuer_dn3
    - gnutls_malloc
    - _gnutls_buffer_hexdump
    - gnutls_x509_crl_get_signature
    - strcmp
    - crl_get_sign_name
    - strftime
    - _gnutls_buffer_asciiprint
    - gnutls_sign_is_secure2
    - adds
    - print_aki
    - gnutls_x509_crl_get_extension_info
    - gmtime_r
    - gnutls_x509_crl_iter_crt_serial
    - gnutls_x509_crl_get_this_update
    - _gnutls_buffer_hexprint
    - _
    - gnutls_x509_crl_get_next_update
    - gnutls_free
    - gnutls_strerror
    - gnutls_x509_crl_get_number
    - addf
    - gnutls_x509_crl_get_version
    - gnutls_x509_crl_get_extension_data2
    linkageType: ''
    returnType: void
    signature: "void print_crl(gnutls_buffer_st *str, gnutls_x509_crl_t crl,\n\t\t
      \     int notsigned)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2562,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2564,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2565,1
    - Dst: print_crl
      Src: /src/gnutls/lib/x509/output.c:2567,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - crl
    - format
    - out
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2570
      start: 2556
    functionDepth: 9
    functionLinenumber: 2556
    functionLinenumberEnd: 2570
    functionName: gnutls_x509_crl_print
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 3
    functionsReached:
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - print_crl
    - _
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_print(gnutls_x509_crl_t crl,\n\t\t\t  gnutls_certificate_print_formats_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_signature_algorithm
      Src: /src/gnutls/lib/x509/output.c:2580,1
    - Dst: gnutls_sign_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:2581,1
    - Dst: _gnutls_x509_read_sign_params
      Src: /src/gnutls/lib/x509/output.c:2583,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2586,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2587,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - str
    - crt
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crq_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 2593
      start: 2572
    functionDepth: 1
    functionLinenumber: 2572
    functionLinenumberEnd: 2593
    functionName: print_crq_sig_params
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - gnutls_x509_crq_get_signature_algorithm
    - gnutls_sign_get_pk_algorithm
    - addf
    - _gnutls_x509_read_sign_params
    linkageType: ''
    returnType: int
    signature: "int print_crq_sig_params(gnutls_buffer_st *str, gnutls_x509_crq_t
      crt,\n\t\t\t\tgnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crq_read_spki_params
      Src: /src/gnutls/lib/x509/output.c:2602,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/output.c:2606,1
    - Dst: gnutls_pubkey_import_x509_crq
      Src: /src/gnutls/lib/x509/output.c:2610,1
    - Dst: print_pubkey
      Src: /src/gnutls/lib/x509/output.c:2614,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2614,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/output.c:2618,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2624,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2628,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - str
    - crq
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crq_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 2634
      start: 2595
    functionDepth: 4
    functionLinenumber: 2595
    functionLinenumberEnd: 2634
    functionName: print_crq_pubkey
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pubkey_import_x509_crq
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - addf
    - _
    - print_pubkey
    - _gnutls_x509_crq_read_spki_params
    linkageType: ''
    returnType: int
    signature: "int print_crq_pubkey(gnutls_buffer_st *str, gnutls_x509_crq_t crq,\n\t\t\t
      \   gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2643,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2644,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2646,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2646,1
    - Dst: gnutls_x509_crq_get_dn3
      Src: /src/gnutls/lib/x509/output.c:2654,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2656,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2656,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2658,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2658,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2660,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2660,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2661,1
    - Dst: print_crq_pubkey
      Src: /src/gnutls/lib/x509/output.c:2669,1
    - Dst: crq_get_sign_name
      Src: /src/gnutls/lib/x509/output.c:2671,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2673,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2677,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2677,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2679,1
    - Dst: print_crq_sig_params
      Src: /src/gnutls/lib/x509/output.c:2681,1
    - Dst: gnutls_x509_crq_get_attribute_info
      Src: /src/gnutls/lib/x509/output.c:2695,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2700,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2701,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2706,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2706,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2708,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2712,1
    - Dst: print_extensions
      Src: /src/gnutls/lib/x509/output.c:2717,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/output.c:2720,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2725,1
    - Dst: gnutls_x509_crq_get_challenge_password
      Src: /src/gnutls/lib/x509/output.c:2729,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2733,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2735,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/output.c:2741,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2743,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2744,1
    - Dst: gnutls_x509_crq_get_challenge_password
      Src: /src/gnutls/lib/x509/output.c:2749,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2752,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2754,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2756,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2757,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2760,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2767,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2767,1
    - Dst: gnutls_x509_crq_get_attribute_data
      Src: /src/gnutls/lib/x509/output.c:2770,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2773,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2775,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/output.c:2779,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2781,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2782,1
    - Dst: gnutls_x509_crq_get_attribute_data
      Src: /src/gnutls/lib/x509/output.c:2787,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2790,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2791,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2793,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2797,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2797,1
    - Dst: _gnutls_buffer_asciiprint
      Src: /src/gnutls/lib/x509/output.c:2798,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2799,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2801,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2801,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/output.c:2802,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2803,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/output.c:2805,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 3
    argNames:
    - str
    - cert
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crq_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 2809
      start: 2636
    functionDepth: 10
    functionLinenumber: 2636
    functionLinenumberEnd: 2809
    functionName: print_crq
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_get_challenge_password
    - _gnutls_buffer_asciiprint
    - gnutls_free
    - gnutls_strerror
    - print_crq_sig_params
    - adds
    - _gnutls_buffer_hexprint
    - print_crq_pubkey
    - gnutls_malloc
    - gnutls_x509_crq_get_attribute_info
    - addf
    - crq_get_sign_name
    - strcmp
    - _
    - print_extensions
    - gnutls_x509_crq_get_dn3
    - gnutls_x509_crq_get_attribute_data
    linkageType: ''
    returnType: void
    signature: "void print_crq(gnutls_buffer_st *str, gnutls_x509_crq_t cert,\n\t\t
      \     gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:2816,1
    - Dst: print_obj_id
      Src: /src/gnutls/lib/x509/output.c:2820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - crq
    argTypes:
    - gnutls_buffer_st*
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 2821
      start: 2811
    functionDepth: 5
    functionLinenumber: 2811
    functionLinenumberEnd: 2821
    functionName: print_crq_other
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_get_pk_algorithm
    - print_obj_id
    linkageType: ''
    returnType: void
    signature: void print_crq_other(gnutls_buffer_st *str, gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2845,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2847,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2848,1
    - Dst: print_crq
      Src: /src/gnutls/lib/x509/output.c:2850,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2852,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2852,1
    - Dst: print_crq_other
      Src: /src/gnutls/lib/x509/output.c:2854,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - crq
    - format
    - out
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2857
      start: 2839
    functionDepth: 11
    functionLinenumber: 2839
    functionLinenumberEnd: 2857
    functionName: gnutls_x509_crq_print
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 4
    functionsReached:
    - _gnutls_buffer_to_datum
    - print_crq_other
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - _
    - print_crq
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_print(gnutls_x509_crq_t crq,\n\t\t\t  gnutls_certificate_print_formats_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/x509/output.c:2865,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/output.c:2867,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/output.c:2867,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2871,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/output.c:2873,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2873,1
    - Dst: print_key_usage2
      Src: /src/gnutls/lib/x509/output.c:2874,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/x509/output.c:2878,1
    - Dst: print_obj_id
      Src: /src/gnutls/lib/x509/output.c:2882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - str
    - pubkey
    - format
    argTypes:
    - gnutls_buffer_st*
    - gnutls_pubkey_t
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 2883
      start: 2859
    functionDepth: 5
    functionLinenumber: 2859
    functionLinenumberEnd: 2883
    functionName: print_pubkey_other
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 0
    functionsReached:
    - gnutls_strerror
    - adds
    - gnutls_pubkey_get_key_usage
    - gnutls_pubkey_get_pk_algorithm
    - print_obj_id
    - addf
    - _
    - print_key_usage2
    linkageType: ''
    returnType: void
    signature: "void print_pubkey_other(gnutls_buffer_st *str, gnutls_pubkey_t pubkey,\n\t\t\t
      \      gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2910,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/output.c:2912,1
    - Dst: _
      Src: /src/gnutls/lib/x509/output.c:2912,1
    - Dst: print_pubkey
      Src: /src/gnutls/lib/x509/output.c:2914,1
    - Dst: print_pubkey_other
      Src: /src/gnutls/lib/x509/output.c:2915,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pubkey
    - format
    - out
    argTypes:
    - gnutls_pubkey_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2918
      start: 2904
    functionDepth: 6
    functionLinenumber: 2904
    functionLinenumberEnd: 2918
    functionName: gnutls_pubkey_print
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_to_datum
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - print_pubkey_other
    - _
    - print_pubkey
    linkageType: ''
    returnType: int
    signature: "int gnutls_pubkey_print(gnutls_pubkey_t pubkey,\n\t\t\tgnutls_certificate_print_formats_t
      format,\n\t\t\tgnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/output.c:2943,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/output.c:2944,1
    - Dst: print_extension
      Src: /src/gnutls/lib/x509/output.c:2947,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/output.c:2950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - exts
    - exts_size
    - format
    - out
    argTypes:
    - gnutls_x509_ext_st*
    - unsigned int
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2951
      start: 2935
    functionDepth: 9
    functionLinenumber: 2935
    functionLinenumberEnd: 2951
    functionName: gnutls_x509_ext_print
    functionSourceFile: /src/gnutls/lib/x509/output.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_init
    - _gnutls_buffer_to_datum
    - print_extension
    - memset
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_ext_print(gnutls_x509_ext_st *exts, unsigned int exts_size,\n\t\t\t
      \ gnutls_certificate_print_formats_t format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:215,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: _gnutls_pkcs_flags_to_schema
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_pkcs_flags_to_schema(unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: gnutls_pkcs_schema_get_name
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pkcs_schema_get_name(unsigned int schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: gnutls_pkcs_schema_get_oid
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pkcs_schema_get_oid(unsigned int schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBES2_SCHEMA_LOOP
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:259,1
    - Dst: if
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:260,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: algo_to_pbes2_cipher_schema
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - if
    - gnutls_assert
    - PBES2_SCHEMA_LOOP
    linkageType: ''
    returnType: struct pkcs_cipher_schema_st
    signature: 'struct pkcs_cipher_schema_st *

      algo_to_pbes2_cipher_schema(unsigned cipher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:270,1
    - Dst: PBES2_SCHEMA_LOOP
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:273,1
    - Dst: if
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:274,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:274,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: _gnutls_check_pkcs_cipher_schema
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - PBES2_SCHEMA_LOOP
    - _gnutls_debug_log
    - if
    - strcmp
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_pkcs_cipher_schema(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBES2_SCHEMA_LOOP
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:285,1
    - Dst: if
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:285,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schema
    argTypes:
    - schema_id
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: _gnutls_pkcs_schema_get
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - if
    - gnutls_assert
    - PBES2_SCHEMA_LOOP
    linkageType: ''
    returnType: struct pkcs_cipher_schema_st
    signature: struct pkcs_cipher_schema_st *_gnutls_pkcs_schema_get(schema_id schema)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBES2_SCHEMA_LOOP
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:297,1
    - Dst: if
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:298,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:298,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - algo
    argTypes:
    - char*
    - gnutls_cipher_algorithm_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: pbes2_cipher_oid_to_algo
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - if
    - PBES2_SCHEMA_LOOP
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int pbes2_cipher_oid_to_algo(const char *oid,\n\t\t\t\t    gnutls_cipher_algorithm_t
      *algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:322,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:325,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:326,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:332,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:333,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:345,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:346,1
    - Dst: _gnutls_check_pkcs_cipher_schema
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:351,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:363,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:364,1
    - Dst: _gnutls_read_pkcs_schema_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:369,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:374,1
    - Dst: _gnutls_pkcs_raw_decrypt_data
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:382,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:386,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:390,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:397,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:398,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - data
    - password
    - dec
    argTypes:
    - gnutls_datum_t*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 400
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 400
    functionName: _gnutls_pkcs7_decrypt_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_read_pkcs_schema_params
    - asn1_delete_structure2
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_check_pkcs_cipher_schema
    - asn1_delete_structure
    - _gnutls_pkcs_raw_decrypt_data
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs7_decrypt_data(const gnutls_datum_t *data, const char
      *password,\n\t\t\t       gnutls_datum_t *dec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:413,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:416,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:417,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:423,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:424,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:436,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:437,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:442,1
    - Dst: _gnutls_check_pkcs_cipher_schema
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:445,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:446,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:453,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:458,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:459,1
    - Dst: _gnutls_read_pkcs_schema_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:464,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:469,1
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:473,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:475,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:480,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:485,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:486,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - data
    - p
    - kdf_params
    - oid
    argTypes:
    - gnutls_datum_t*
    - struct pkcs_cipher_schema_st**
    - struct pbkdf2_params*
    - char**
    constantsTouched: []
    func_position:
      end: 488
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 488
    functionName: _gnutls_pkcs7_data_enc_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_read_pkcs_schema_params
    - asn1_delete_structure2
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_strdup
    - _gnutls_check_pkcs_cipher_schema
    - asn1_delete_structure
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs7_data_enc_info(const gnutls_datum_t *data,\n\t\t\t\tconst
      struct pkcs_cipher_schema_st **p,\n\t\t\t\tstruct pbkdf2_params *kdf_params,
      char **oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:504,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:506,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:509,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:509,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:512,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:513,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:523,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:524,1
    - Dst: _gnutls_pkcs_generate_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:531,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:534,1
    - Dst: _gnutls_pkcs_write_schema_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:538,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:543,1
    - Dst: _gnutls_pkcs_raw_encrypt_data
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:550,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:552,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:558,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:562,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:563,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:567,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:568,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:573,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:575,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:579,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:582,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:583,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:589,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:590,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:596,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:601,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:606,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:607,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:608,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 4
    argNames:
    - schema
    - data
    - password
    - enc
    argTypes:
    - schema_id
    - gnutls_datum_t*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 610
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 610
    functionName: _gnutls_pkcs7_encrypt_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    - _gnutls_pkcs_write_schema_params
    - _gnutls_x509_der_encode
    - _gnutls_pkcs_raw_encrypt_data
    - _gnutls_pkcs_generate_key
    - _gnutls_x509_write_uint32
    - _gnutls_free_key_datum
    - asn1_delete_structure2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs7_encrypt_data(schema_id schema, const gnutls_datum_t
      *data,\n\t\t\t       const char *password, gnutls_datum_t *enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:622,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:630,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:632,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:633,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:635,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:637,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:638,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:639,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:642,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:649,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:650,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:657,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:657,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:660,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:661,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:664,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:667,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:668,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:674,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:677,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:678,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:681,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:684,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:690,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:693,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:698,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:702,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:706,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:713,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:717,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:720,1
    - Dst: gnutls_oid_to_mac
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:727,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:729,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:730,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:738,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 3
    argNames:
    - pasn
    - der
    - params
    argTypes:
    - asn1_node
    - gnutls_datum_t*
    - struct pbkdf2_params*
    constantsTouched: []
    func_position:
      end: 740
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 740
    functionName: read_pbkdf2_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - _gnutls_x509_read_uint
    - gnutls_oid_to_mac
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_hard_log
    - asn1_delete_structure
    - strcmp
    - memset
    - _asn1_strict_der_decode
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_pbkdf2_params(asn1_node pasn, const gnutls_datum_t *der,\n\t\t\t
      \     struct pbkdf2_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:748,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:753,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:755,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:756,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:760,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:762,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:767,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:769,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:772,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pasn
    - params
    argTypes:
    - asn1_node
    - struct pbkdf2_params*
    constantsTouched: []
    func_position:
      end: 779
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 779
    functionName: read_pkcs12_kdf_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_x509_read_uint
    - gnutls_assert
    - _gnutls_hard_log
    - memset
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int read_pkcs12_kdf_params(asn1_node pasn, struct pbkdf2_params *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:790,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:793,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:794,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:797,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:801,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:804,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pasn
    - kdf_params
    argTypes:
    - asn1_node
    - struct pbkdf2_params*
    constantsTouched: []
    func_position:
      end: 813
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 813
    functionName: write_pkcs12_kdf_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - _gnutls_hard_log
    - _gnutls_x509_write_uint32
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int write_pkcs12_kdf_params(asn1_node pasn,\n\t\t\t\t   const struct
      pbkdf2_params *kdf_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:821,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:821,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:824,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:825,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:828,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:830,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:831,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:835,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:837,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:838,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - der
    - len
    - oid
    - oid_size
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 847
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 847
    functionName: read_pbes2_gost_oid
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int read_pbes2_gost_oid(uint8_t *der, size_t len, char *oid,\n\t\t\t
      \      int oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:857,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:862,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:865,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:866,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:868,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:870,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:874,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:875,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:880,1
    - Dst: read_pbes2_gost_oid
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:882,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:886,1
    - Dst: pbes2_cipher_oid_to_algo
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:891,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:893,1
    - Dst: algo_to_pbes2_cipher_schema
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:899,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:901,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:905,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:905,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:907,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:908,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:914,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:915,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:921,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:924,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:925,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:928,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:933,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - pasn
    - der
    - params
    argTypes:
    - asn1_node
    - gnutls_datum_t*
    - struct pbe_enc_params*
    constantsTouched: []
    func_position:
      end: 935
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 935
    functionName: read_pbes2_enc_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - read_pbes2_gost_oid
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_hard_log
    - asn1_delete_structure
    - strcmp
    - memset
    - pbes2_cipher_oid_to_algo
    - _asn1_strict_der_decode
    - gnutls_assert
    - algo_to_pbes2_cipher_schema
    linkageType: ''
    returnType: int
    signature: "int read_pbes2_enc_params(asn1_node pasn, const gnutls_datum_t *der,\n\t\t\t\t
      struct pbe_enc_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:955,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:955,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:958,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:959,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:965,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:967,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:968,1
    - Dst: read_pbkdf2_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:975,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:977,1
    - Dst: read_pbes2_enc_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:981,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:983,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:987,1
    - Dst: algo_to_pbes2_cipher_schema
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:989,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:992,1
    - Dst: _gnutls_read_pbkdf1_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:999,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1002,1
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1004,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1006,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1011,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1013,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1013,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1016,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1017,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1023,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1025,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1026,1
    - Dst: read_pkcs12_kdf_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1030,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1032,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1037,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1038,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1043,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1048,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1054,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 6
    argNames:
    - schema
    - password
    - data
    - data_size
    - kdf_params
    - enc_params
    argTypes:
    - schema_id*
    - char*
    - uint8_t*
    - int
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    constantsTouched: []
    func_position:
      end: 1056
      start: 941
    functionDepth: 4
    functionLinenumber: 941
    functionLinenumberEnd: 1056
    functionName: _gnutls_read_pkcs_schema_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_pkcs12_string_to_key
    - mac_to_entry
    - read_pkcs12_kdf_params
    - read_pbkdf2_params
    - asn1_create_element
    - _gnutls_get_pkix
    - read_pbes2_enc_params
    - asn1_delete_structure
    - _gnutls_read_pbkdf1_params
    - memset
    - gnutls_cipher_get_iv_size
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    - algo_to_pbes2_cipher_schema
    linkageType: ''
    returnType: int
    signature: "int _gnutls_read_pkcs_schema_params(schema_id *schema, const char
      *password,\n\t\t\t\t    const uint8_t *data, int data_size,\n\t\t\t\t    struct
      pbkdf2_params *kdf_params,\n\t\t\t\t    struct pbe_enc_params *enc_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pass_len
    - password
    - kdf_params
    - key_size
    - key
    argTypes:
    - unsigned int
    - char*
    - struct pbkdf2_params*
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1058
    functionDepth: 4
    functionLinenumber: 1058
    functionLinenumberEnd: 1073
    functionName: _gnutls_pbes2_string_to_key
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - gnutls_pbkdf2
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pbes2_string_to_key(unsigned int pass_len,\n\t\t\t\t       const
      char *password,\n\t\t\t\t       const struct pbkdf2_params *kdf_params,\n\t\t\t\t
      \      int key_size, uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1094,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1095,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1097,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1106,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1108,1
    - Dst: _gnutls_decrypt_pbes1_des_md5_data
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1114,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1123,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1127,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1129,1
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1136,1
    - Dst: _gnutls_pbes2_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1141,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1145,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1151,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1155,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1160,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1162,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1165,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1170,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1177,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1191,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1193,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1194,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1197,1
    - Dst: gnutls_cipher_decrypt
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1224,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1233,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1239,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1240,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1247,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1248,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1251,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1252,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1255,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1256,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1259,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 147
    argCount: 7
    argNames:
    - schema
    - pkcs8_asn
    - root
    - _password
    - kdf_params
    - enc_params
    - decrypted_data
    argTypes:
    - schema_id
    - asn1_node
    - char*
    - char*
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1262
    functionName: _gnutls_pkcs_raw_decrypt_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - _gnutls_pkcs12_string_to_key
    - gnutls_malloc
    - gnutls_cipher_init
    - _gnutls_utf8_password_normalize
    - gnutls_cipher_decrypt
    - gnutls_assert_val
    - _gnutls_pkcs_schema_get
    - gnutls_cipher_deinit
    - _gnutls_x509_read_value
    - _gnutls_pbes2_string_to_key
    - zeroize_temp_key
    - _gnutls_cipher_get_block_size
    - unlikely
    - strlen
    - mac_to_entry
    - cipher_to_entry
    - _gnutls_decrypt_pbes1_des_md5_data
    - gnutls_free
    - gnutls_assert
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs_raw_decrypt_data(schema_id schema, asn1_node pkcs8_asn,\n\t\t\t\t
      \ const char *root, const char *_password,\n\t\t\t\t  const struct pbkdf2_params
      *kdf_params,\n\t\t\t\t  const struct pbe_enc_params *enc_params,\n\t\t\t\t  gnutls_datum_t
      *decrypted_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1279,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1280,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1286,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1289,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1290,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1295,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1296,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1302,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1305,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1306,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1309,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1313,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1315,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1317,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1318,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1321,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1327,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1328,1
    - Dst: _gnutls_mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1332,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1334,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1339,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1340,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1342,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1343,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1349,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1350,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1360,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1367,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 2
    argNames:
    - pasn
    - kdf_params
    argTypes:
    - asn1_node
    - struct pbkdf2_params*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1369
    functionName: write_pbkdf2_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_write_uint32
    - strlen
    - _gnutls_x509_der_encode_and_copy
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_hard_log
    - _gnutls_mac_to_entry
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int write_pbkdf2_params(asn1_node pasn,\n\t\t\t       const struct
      pbkdf2_params *kdf_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algo_to_pbes2_cipher_schema
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1383,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1389,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1389,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1391,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1392,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1401,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1404,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1405,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1415,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1418,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1424,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1425,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1428,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1436,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1443,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - pasn
    - params
    argTypes:
    - asn1_node
    - struct pbe_enc_params*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1371
    functionDepth: 3
    functionLinenumber: 1371
    functionLinenumberEnd: 1445
    functionName: write_pbes2_enc_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_der_encode_and_copy
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    - _gnutls_hard_log
    - asn1_delete_structure
    - algo_to_pbes2_cipher_schema
    linkageType: ''
    returnType: int
    signature: "int write_pbes2_enc_params(asn1_node pasn,\n\t\t\t\t  const struct
      pbe_enc_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1462,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1463,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1465,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1474,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1476,1
    - Dst: MIN
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1482,1
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1484,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1492,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1497,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1500,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1506,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1508,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1509,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1511,1
    - Dst: _gnutls_pbes2_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1529,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1534,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1539,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1542,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1547,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1548,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1553,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1560,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1561,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1566,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1575,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 5
    argNames:
    - schema
    - _password
    - kdf_params
    - enc_params
    - key
    argTypes:
    - schema_id
    - char*
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1449
    functionDepth: 5
    functionLinenumber: 1449
    functionLinenumberEnd: 1577
    functionName: _gnutls_pkcs_generate_key
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - _gnutls_pkcs_schema_get
    - _gnutls_pkcs12_string_to_key
    - gnutls_free
    - _gnutls_pbes2_string_to_key
    - strlen
    - mac_to_entry
    - gnutls_rnd
    - gnutls_malloc
    - _gnutls_utf8_password_normalize
    - MIN
    - gnutls_cipher_get_iv_size
    - gnutls_assert_val
    - gnutls_assert
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs_generate_key(schema_id schema, const char *_password,\n\t\t\t
      \     struct pbkdf2_params *kdf_params,\n\t\t\t      struct pbe_enc_params *enc_params,\n\t\t\t
      \     gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pkcs_schema_get
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1591,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1594,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1594,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1597,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1598,1
    - Dst: write_pbkdf2_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1601,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1603,1
    - Dst: write_pbes2_enc_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1607,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1609,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1613,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1616,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1620,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1624,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1627,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1628,1
    - Dst: write_pkcs12_kdf_params
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1632,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1634,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1641,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1645,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1651,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 5
    argNames:
    - schema
    - pkcs8_asn
    - where
    - kdf_params
    - enc_params
    argTypes:
    - schema_id
    - asn1_node
    - char*
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1582
    functionDepth: 4
    functionLinenumber: 1582
    functionLinenumberEnd: 1653
    functionName: _gnutls_pkcs_write_schema_params
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs_schema_get
    - _gnutls_x509_der_encode_and_copy
    - write_pkcs12_kdf_params
    - asn1_create_element
    - _gnutls_get_pkix
    - write_pbkdf2_params
    - asn1_delete_structure
    - write_pbes2_enc_params
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs_write_schema_params(schema_id schema, asn1_node pkcs8_asn,\n\t\t\t\t
      \    const char *where,\n\t\t\t\t     const struct pbkdf2_params *kdf_params,\n\t\t\t\t
      \    const struct pbe_enc_params *enc_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1668,1
    - Dst: _gnutls_cipher_get_block_size
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1669,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1674,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1676,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1680,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1686,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1694,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1696,1
    - Dst: gnutls_cipher_encrypt
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1700,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1702,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1709,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1714,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/pkcs7-crypt.c:1716,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - plain
    - enc_params
    - key
    - encrypted
    argTypes:
    - gnutls_datum_t*
    - struct pbe_enc_params*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1719
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1719
    functionName: _gnutls_pkcs_raw_encrypt_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-crypt.c
    functionUses: 2
    functionsReached:
    - gnutls_cipher_encrypt
    - gnutls_cipher_deinit
    - gnutls_free
    - cipher_to_entry
    - gnutls_malloc
    - _gnutls_cipher_get_block_size
    - gnutls_cipher_init
    - memset
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs_raw_encrypt_data(const gnutls_datum_t *plain,\n\t\t\t\t
      \ const struct pbe_enc_params *enc_params,\n\t\t\t\t  const gnutls_datum_t *key,\n\t\t\t\t
      \ gnutls_datum_t *encrypted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_check_hostname2
      Src: /src/gnutls/lib/x509/hostname-verify.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - hostname
    argTypes:
    - gnutls_x509_crt_t
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: gnutls_x509_crt_check_hostname
    functionSourceFile: /src/gnutls/lib/x509/hostname-verify.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_crt_check_hostname2
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_hostname(gnutls_x509_crt_t cert,\n\t\t\t\t\tconst
      char *hostname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/gnutls/lib/x509/hostname-verify.c:69,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/hostname-verify.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - ip
    - ip_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: check_ip
    functionSourceFile: /src/gnutls/lib/x509/hostname-verify.c
    functionUses: 2
    functionsReached:
    - memcmp
    - gnutls_x509_crt_get_subject_alt_name
    linkageType: ''
    returnType: int
    signature: int check_ip(gnutls_x509_crt_t cert, const void *ip, unsigned ip_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_ip
      Src: /src/gnutls/lib/x509/hostname-verify.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - ip
    - ip_size
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - unsigned char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: gnutls_x509_crt_check_ip
    functionSourceFile: /src/gnutls/lib/x509/hostname-verify.c
    functionUses: 2
    functionsReached:
    - check_ip
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_ip(gnutls_x509_crt_t cert,\n\t\t\t\t
      \ const unsigned char *ip, unsigned int ip_size,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/lib/x509/hostname-verify.c:165,1
    - Dst: inet_pton
      Src: /src/gnutls/lib/x509/hostname-verify.c:166,1
    - Dst: inet_pton
      Src: /src/gnutls/lib/x509/hostname-verify.c:170,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/hostname-verify.c:172,1
    - Dst: check_ip
      Src: /src/gnutls/lib/x509/hostname-verify.c:175,1
    - Dst: check_ip
      Src: /src/gnutls/lib/x509/hostname-verify.c:177,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/x509/hostname-verify.c:187,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/hostname-verify.c:187,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/hostname-verify.c:189,1
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/gnutls/lib/x509/hostname-verify.c:213,1
    - Dst: memchr
      Src: /src/gnutls/lib/x509/hostname-verify.c:219,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/hostname-verify.c:220,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/hostname-verify.c:226,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/hostname-verify.c:227,1
    - Dst: _gnutls_hostname_compare
      Src: /src/gnutls/lib/x509/hostname-verify.c:233,1
    - Dst: IS_SAN_SUPPORTED
      Src: /src/gnutls/lib/x509/hostname-verify.c:240,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/hostname-verify.c:246,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/hostname-verify.c:256,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/hostname-verify.c:265,1
    - Dst: memchr
      Src: /src/gnutls/lib/x509/hostname-verify.c:273,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/hostname-verify.c:274,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/hostname-verify.c:281,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/hostname-verify.c:282,1
    - Dst: _gnutls_hostname_compare
      Src: /src/gnutls/lib/x509/hostname-verify.c:289,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/hostname-verify.c:302,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 3
    argNames:
    - cert
    - hostname
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 305
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 305
    functionName: gnutls_x509_crt_check_hostname2
    functionSourceFile: /src/gnutls/lib/x509/hostname-verify.c
    functionUses: 3
    functionsReached:
    - check_ip
    - gnutls_free
    - inet_pton
    - strlen
    - IS_SAN_SUPPORTED
    - strchr
    - _gnutls_hostname_compare
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_idna_map
    - gnutls_x509_crt_get_subject_alt_name
    - memchr
    - _gnutls_debug_log
    - _gnutls_str_is_print
    - gnutls_assert
    - _gnutls_check_key_purpose
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      const char *hostname,\n\t\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:71,1
    - Dst: _gnutls_x509_set_dn_oid
      Src: /src/gnutls/lib/x509/x509_write.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - crt
    - oid
    - raw_flag
    - name
    - sizeof_name
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: gnutls_x509_crt_set_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 11
    functionsReached:
    - _gnutls_x509_set_dn_oid
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_dn_by_oid(gnutls_x509_crt_t crt, const char
      *oid,\n\t\t\t\t  unsigned int raw_flag, const void *name,\n\t\t\t\t  unsigned
      int sizeof_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:111,1
    - Dst: _gnutls_x509_set_dn_oid
      Src: /src/gnutls/lib/x509/x509_write.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - crt
    - oid
    - raw_flag
    - name
    - sizeof_name
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: gnutls_x509_crt_set_issuer_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_set_dn_oid
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_issuer_dn_by_oid(gnutls_x509_crt_t crt, const
      char *oid,\n\t\t\t\t\t unsigned int raw_flag,\n\t\t\t\t\t const void *name,\n\t\t\t\t\t
      unsigned int sizeof_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:144,1
    - Dst: asn1_copy_node
      Src: /src/gnutls/lib/x509/x509_write.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:149,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:150,1
    - Dst: _gnutls_x509_set_dn_oid
      Src: /src/gnutls/lib/x509/x509_write.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - crt
    - eecrt
    - raw_flag
    - name
    - sizeof_name
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: gnutls_x509_crt_set_proxy_dn
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_set_dn_oid
    - MODIFIED
    - asn1_copy_node
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_proxy_dn(gnutls_x509_crt_t crt, gnutls_x509_crt_t
      eecrt,\n\t\t\t\t unsigned int raw_flag, const void *name,\n\t\t\t\t unsigned
      int sizeof_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:186,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:190,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:198,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - crt
    - version
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: gnutls_x509_crt_set_version
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 8
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_version(gnutls_x509_crt_t crt, unsigned int
      version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:225,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:229,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/x509/x509_write.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - crt
    - key
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: gnutls_x509_crt_set_key
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 5
    functionsReached:
    - _gnutls_x509_encode_and_copy_PKI_params
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_key(gnutls_x509_crt_t crt, gnutls_x509_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:262,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:266,1
    - Dst: gnutls_x509_crq_verify
      Src: /src/gnutls/lib/x509/x509_write.c:268,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:270,1
    - Dst: asn1_copy_node
      Src: /src/gnutls/lib/x509/x509_write.c:272,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:275,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:276,1
    - Dst: asn1_copy_node
      Src: /src/gnutls/lib/x509/x509_write.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:283,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - crt
    - crq
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 288
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 288
    functionName: gnutls_x509_crt_set_crq
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_x509_crq_verify
    - gnutls_assert
    - MODIFIED
    - asn1_copy_node
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_crq(gnutls_x509_crt_t crt, gnutls_x509_crq_t
      crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_crq_extension_by_oid
      Src: /src/gnutls/lib/x509/x509_write.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - crq
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: gnutls_x509_crt_set_crq_extensions
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_set_crq_extension_by_oid
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_crq_extensions(gnutls_x509_crt_t crt,\n\t\t\t\t
      \      gnutls_x509_crq_t crq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:331,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:335,1
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/lib/x509/x509_write.c:347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:353,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509_write.c:357,1
    - Dst: gnutls_x509_crq_get_extension_data
      Src: /src/gnutls/lib/x509/x509_write.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:364,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509_write.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:370,1
    - Dst: gnutls_x509_crq_get_extension_data
      Src: /src/gnutls/lib/x509/x509_write.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:377,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_write.c:378,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:385,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509_write.c:387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - crt
    - crq
    - oid
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crq_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 395
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 395
    functionName: gnutls_x509_crt_set_crq_extension_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crq_get_extension_data
    - gnutls_free
    - gnutls_malloc
    - MODIFIED
    - strcmp
    - gnutls_x509_crq_get_extension_info
    - _gnutls_x509_crt_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_crq_extension_by_oid(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \    gnutls_x509_crq_t crq,\n\t\t\t\t\t     const char *oid, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:423,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - crt
    - oid
    - buf
    - sizeof_buf
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 434
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 434
    functionName: gnutls_x509_crt_set_extension_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_extension_by_oid(gnutls_x509_crt_t crt, const
      char *oid,\n\t\t\t\t\t const void *buf, size_t sizeof_buf,\n\t\t\t\t\t unsigned
      int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:457,1
    - Dst: gnutls_x509_ext_export_basic_constraints
      Src: /src/gnutls/lib/x509/x509_write.c:463,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:466,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:470,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - crt
    - ca
    - pathLenConstraint
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 480
    functionName: gnutls_x509_crt_set_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_ext_export_basic_constraints
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_basic_constraints(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \ unsigned int ca,\n\t\t\t\t\t  int pathLenConstraint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_basic_constraints
      Src: /src/gnutls/lib/x509/x509_write.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - ca
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: gnutls_x509_crt_set_ca_status
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_set_basic_constraints
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_ca_status(gnutls_x509_crt_t crt, unsigned int
      ca)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:515,1
    - Dst: gnutls_x509_ext_export_key_usage
      Src: /src/gnutls/lib/x509/x509_write.c:521,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:523,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:527,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:529,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - crt
    - usage
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 537
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 537
    functionName: gnutls_x509_crt_set_key_usage
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_ext_export_key_usage
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_key_usage(gnutls_x509_crt_t crt, unsigned int
      usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:556,1
    - Dst: gnutls_x509_ext_export_inhibit_anypolicy
      Src: /src/gnutls/lib/x509/x509_write.c:562,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:564,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:568,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:569,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - crt
    - skipcerts
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 577
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 577
    functionName: gnutls_x509_crt_set_inhibit_anypolicy
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_ext_export_inhibit_anypolicy
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_inhibit_anypolicy(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \ unsigned int skipcerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:602,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:609,1
    - Dst: gnutls_x509_crt_set_subject_alt_name
      Src: /src/gnutls/lib/x509/x509_write.c:613,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_write.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - crt
    - type
    - data_string
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_subject_alt_name_t
    - char*
    constantsTouched: []
    func_position:
      end: 615
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 615
    functionName: gnutls_x509_crt_set_subject_alternative_name
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnutls_x509_crt_set_subject_alt_name
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_subject_alternative_name(\n\tgnutls_x509_crt_t
      crt, gnutls_x509_subject_alt_name_t type,\n\tconst char *data_string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:651,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:659,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:663,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/x509_write.c:670,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:674,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:678,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:681,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:684,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - crt
    - type
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 693
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 693
    functionName: gnutls_x509_crt_set_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 9
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_subject_alt_name(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      gnutls_x509_subject_alt_name_t type,\n\t\t\t\t\t const void *data,\n\t\t\t\t\t
      unsigned int data_size,\n\t\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:726,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:734,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:738,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/x509_write.c:745,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:749,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:753,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:756,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:759,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - crt
    - type
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 768
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 768
    functionName: gnutls_x509_crt_set_issuer_alt_name
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_issuer_alt_name(gnutls_x509_crt_t crt,\n\t\t\t\t\tgnutls_x509_subject_alt_name_t
      type,\n\t\t\t\t\tconst void *data,\n\t\t\t\t\tunsigned int data_size,\n\t\t\t\t\tunsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/x509_write.c:775,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/x509_write.c:778,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509_write.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - flags
    - data
    - data_size
    - output
    argTypes:
    - unsigned
    - void*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: _gnutls_encode_othername_data
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_x509_encode_string
    linkageType: ''
    returnType: int
    signature: "int _gnutls_encode_othername_data(unsigned flags, const void *data,\n\t\t\t\t
      \ unsigned data_size, gnutls_datum_t *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:818,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:826,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:830,1
    - Dst: _gnutls_encode_othername_data
      Src: /src/gnutls/lib/x509/x509_write.c:835,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:838,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/x509_write.c:844,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:849,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:853,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:857,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:864,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:865,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:866,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - crt
    - oid
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 868
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 868
    functionName: gnutls_x509_crt_set_subject_alt_othername
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    - _gnutls_encode_othername_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_subject_alt_othername(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \     const char *oid, const void *data,\n\t\t\t\t\t      unsigned int data_size,\n\t\t\t\t\t
      \     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:902,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:910,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:914,1
    - Dst: _gnutls_encode_othername_data
      Src: /src/gnutls/lib/x509/x509_write.c:919,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:922,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/x509_write.c:928,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:932,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:936,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:940,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:947,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:948,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:949,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - crt
    - oid
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 951
      start: 890
    functionDepth: 3
    functionLinenumber: 890
    functionLinenumberEnd: 951
    functionName: gnutls_x509_crt_set_issuer_alt_othername
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    - _gnutls_encode_othername_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_issuer_alt_othername(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \    const char *oid, const void *data,\n\t\t\t\t\t     unsigned int data_size,\n\t\t\t\t\t
      \    unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:976,1
    - Dst: gnutls_x509_ext_export_proxy
      Src: /src/gnutls/lib/x509/x509_write.c:982,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:985,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:989,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:992,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - crt
    - pathLenConstraint
    - policyLanguage
    - policy
    - sizeof_policy
    argTypes:
    - gnutls_x509_crt_t
    - int
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 1000
    functionName: gnutls_x509_crt_set_proxy
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    - gnutls_x509_ext_export_proxy
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_proxy(gnutls_x509_crt_t crt, int pathLenConstraint,\n\t\t\t
      \     const char *policyLanguage, const char *policy,\n\t\t\t      size_t sizeof_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1021,1
    - Dst: gnutls_x509_ext_export_private_key_usage_period
      Src: /src/gnutls/lib/x509/x509_write.c:1025,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1028,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1032,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - crt
    - activation
    - expiration
    argTypes:
    - gnutls_x509_crt_t
    - time_t
    - time_t
    constantsTouched: []
    func_position:
      end: 1038
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1038
    functionName: gnutls_x509_crt_set_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_export_private_key_usage_period
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_private_key_usage_period(gnutls_x509_crt_t
      crt,\n\t\t\t\t\t\t time_t activation,\n\t\t\t\t\t\t time_t expiration)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1072,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1076,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/x509/x509_write.c:1078,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1080,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/x509/x509_write.c:1084,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1086,1
    - Dst: gnutls_x509_crt_privkey_sign
      Src: /src/gnutls/lib/x509/x509_write.c:1090,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1092,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/x509/x509_write.c:1099,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - crt
    - issuer
    - issuer_key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1102
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1102
    functionName: gnutls_x509_crt_sign2
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 4
    functionsReached:
    - gnutls_privkey_deinit
    - MODIFIED
    - gnutls_privkey_init
    - gnutls_x509_crt_privkey_sign
    - gnutls_assert
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_sign2(gnutls_x509_crt_t crt, gnutls_x509_crt_t
      issuer,\n\t\t\t  gnutls_x509_privkey_t issuer_key,\n\t\t\t  gnutls_digest_algorithm_t
      dig, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_sign2
      Src: /src/gnutls/lib/x509/x509_write.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crt
    - issuer
    - issuer_key
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 1122
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1122
    functionName: gnutls_x509_crt_sign
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_sign2
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_sign(gnutls_x509_crt_t crt, gnutls_x509_crt_t
      issuer,\n\t\t\t gnutls_x509_privkey_t issuer_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1138,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1142,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/x509_write.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - act_time
    argTypes:
    - gnutls_x509_crt_t
    - time_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1146
    functionName: gnutls_x509_crt_set_activation_time
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 7
    functionsReached:
    - _gnutls_x509_set_time
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_activation_time(gnutls_x509_crt_t cert, time_t
      act_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1163,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1167,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/x509_write.c:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cert
    - exp_time
    argTypes:
    - gnutls_x509_crt_t
    - time_t
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    functionName: gnutls_x509_crt_set_expiration_time
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 7
    functionsReached:
    - _gnutls_x509_set_time
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_set_expiration_time(gnutls_x509_crt_t cert, time_t
      exp_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1201,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_write.c:1215,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1219,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1224,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:1225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - cert
    - serial
    - serial_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1229
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1229
    functionName: gnutls_x509_crt_set_serial
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - MODIFIED
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_serial(gnutls_x509_crt_t cert, const void
      *serial,\n\t\t\t       size_t serial_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1250,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1254,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1256,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1259,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - id
    - id_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1264
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1264
    functionName: gnutls_x509_crt_set_issuer_unique_id
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_issuer_unique_id(gnutls_x509_crt_t cert, const
      void *id,\n\t\t\t\t\t size_t id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1285,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1289,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1294,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509_write.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cert
    - id
    - id_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1299
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1299
    functionName: gnutls_x509_crt_set_subject_unique_id
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_subject_unique_id(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \ const void *id, size_t id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509_write.c:1311,1
    - Dst: asn1_read_node_value
      Src: /src/gnutls/lib/x509/x509_write.c:1313,1
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509_write.c:1318,1
    - Dst: asn1_read_node_value
      Src: /src/gnutls/lib/x509/x509_write.c:1320,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1326,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1330,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509_write.c:1334,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/x509_write.c:1335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1340
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1340
    functionName: disable_optional_stuff
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_debug_log
    - asn1_write_value
    - asn1_find_node
    - asn1_read_node_value
    linkageType: ''
    returnType: void
    signature: void disable_optional_stuff(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_set_crl_dist_points2
      Src: /src/gnutls/lib/x509/x509_write.c:1359,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509_write.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crt
    - type
    - data_string
    - reason_flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: gnutls_x509_crt_set_crl_dist_points
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crt_set_crl_dist_points2
    - strlen
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_crl_dist_points(gnutls_x509_crt_t crt,\n\t\t\t\t\tgnutls_x509_subject_alt_name_t
      type,\n\t\t\t\t\tconst void *data_string,\n\t\t\t\t\tunsigned int reason_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1392,1
    - Dst: gnutls_x509_crl_dist_points_init
      Src: /src/gnutls/lib/x509/x509_write.c:1396,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1398,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1402,1
    - Dst: gnutls_x509_ext_import_crl_dist_points
      Src: /src/gnutls/lib/x509/x509_write.c:1406,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1408,1
    - Dst: gnutls_x509_crl_dist_points_set
      Src: /src/gnutls/lib/x509/x509_write.c:1415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1417,1
    - Dst: gnutls_x509_ext_export_crl_dist_points
      Src: /src/gnutls/lib/x509/x509_write.c:1423,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1425,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1432,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1438,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1439,1
    - Dst: gnutls_x509_crl_dist_points_deinit
      Src: /src/gnutls/lib/x509/x509_write.c:1441,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - crt
    - type
    - data
    - data_size
    - reason_flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1444
      start: 1378
    functionDepth: 3
    functionLinenumber: 1378
    functionLinenumberEnd: 1444
    functionName: gnutls_x509_crt_set_crl_dist_points2
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crl_dist_points_deinit
    - gnutls_x509_crl_dist_points_set
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_x509_ext_export_crl_dist_points
    - gnutls_x509_ext_import_crl_dist_points
    - _gnutls_x509_crt_set_extension
    - gnutls_x509_crl_dist_points_init
    - _gnutls_x509_crt_get_extension
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_crl_dist_points2(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      gnutls_x509_subject_alt_name_t type,\n\t\t\t\t\t const void *data,\n\t\t\t\t\t
      unsigned int data_size,\n\t\t\t\t\t unsigned int reason_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1466,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1472,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1475,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1479,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1481,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1489
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1489
    functionName: gnutls_x509_crt_cpy_crl_dist_points
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_cpy_crl_dist_points(gnutls_x509_crt_t dst,\n\t\t\t\t\tgnutls_x509_crt_t
      src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1512,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1518,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1522,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1524,1
    - Dst: gnutls_x509_ext_export_subject_key_id
      Src: /src/gnutls/lib/x509/x509_write.c:1533,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1535,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1540,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - cert
    - id
    - id_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1550
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1550
    functionName: gnutls_x509_crt_set_subject_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_ext_export_subject_key_id
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_subject_key_id(gnutls_x509_crt_t cert, const
      void *id,\n\t\t\t\t       size_t id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1572,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1578,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1582,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1584,1
    - Dst: _gnutls_x509_ext_gen_auth_key_id
      Src: /src/gnutls/lib/x509/x509_write.c:1590,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1592,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1597,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1599,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cert
    - id
    - id_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1607
      start: 1564
    functionDepth: 2
    functionLinenumber: 1564
    functionLinenumberEnd: 1607
    functionName: gnutls_x509_crt_set_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_ext_gen_auth_key_id
    - _gnutls_free_datum
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_authority_key_id(gnutls_x509_crt_t cert, const
      void *id,\n\t\t\t\t\t size_t id_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1633,1
    - Dst: gnutls_x509_key_purpose_init
      Src: /src/gnutls/lib/x509/x509_write.c:1637,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1639,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1643,1
    - Dst: gnutls_x509_ext_import_key_purposes
      Src: /src/gnutls/lib/x509/x509_write.c:1647,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1649,1
    - Dst: gnutls_x509_key_purpose_set
      Src: /src/gnutls/lib/x509/x509_write.c:1654,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1656,1
    - Dst: gnutls_x509_ext_export_key_purposes
      Src: /src/gnutls/lib/x509/x509_write.c:1660,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1662,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1666,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1668,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1674,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1675,1
    - Dst: gnutls_x509_key_purpose_deinit
      Src: /src/gnutls/lib/x509/x509_write.c:1677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - cert
    - oid
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1680
      start: 1624
    functionDepth: 3
    functionLinenumber: 1624
    functionLinenumberEnd: 1680
    functionName: gnutls_x509_crt_set_key_purpose_oid
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_ext_export_key_purposes
    - gnutls_x509_key_purpose_deinit
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_x509_key_purpose_set
    - gnutls_x509_key_purpose_init
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert_val
    - gnutls_x509_ext_import_key_purposes
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_key_purpose_oid(gnutls_x509_crt_t cert, const
      void *oid,\n\t\t\t\t\tunsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1715,1
    - Dst: gnutls_x509_crt_get_preferred_hash_algorithm
      Src: /src/gnutls/lib/x509/x509_write.c:1720,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1723,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:1726,1
    - Dst: disable_optional_stuff
      Src: /src/gnutls/lib/x509/x509_write.c:1730,1
    - Dst: _gnutls_check_cert_sanity
      Src: /src/gnutls/lib/x509/x509_write.c:1732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1734,1
    - Dst: _gnutls_x509_pkix_sign
      Src: /src/gnutls/lib/x509/x509_write.c:1738,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - crt
    - issuer
    - issuer_key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1746
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1746
    functionName: gnutls_x509_crt_privkey_sign
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 5
    functionsReached:
    - _gnutls_x509_pkix_sign
    - disable_optional_stuff
    - gnutls_assert
    - gnutls_x509_crt_get_preferred_hash_algorithm
    - MODIFIED
    - _gnutls_check_cert_sanity
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_privkey_sign(gnutls_x509_crt_t crt,\n\t\t\t\t
      gnutls_x509_crt_t issuer,\n\t\t\t\t gnutls_privkey_t issuer_key,\n\t\t\t\t gnutls_digest_algorithm_t
      dig,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1780,1
    - Dst: gnutls_x509_aia_init
      Src: /src/gnutls/lib/x509/x509_write.c:1782,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1784,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1788,1
    - Dst: gnutls_x509_ext_import_aia
      Src: /src/gnutls/lib/x509/x509_write.c:1790,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1792,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1802,1
    - Dst: gnutls_x509_aia_set
      Src: /src/gnutls/lib/x509/x509_write.c:1803,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1805,1
    - Dst: gnutls_x509_ext_export_aia
      Src: /src/gnutls/lib/x509/x509_write.c:1809,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1811,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1815,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1817,1
    - Dst: gnutls_x509_aia_deinit
      Src: /src/gnutls/lib/x509/x509_write.c:1823,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1824,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - crt
    - what
    - data
    argTypes:
    - gnutls_x509_crt_t
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1769
    functionDepth: 6
    functionLinenumber: 1769
    functionLinenumberEnd: 1828
    functionName: gnutls_x509_crt_set_authority_info_access
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_aia_set
    - gnutls_x509_aia_deinit
    - gnutls_x509_aia_init
    - gnutls_x509_ext_import_aia
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_x509_ext_export_aia
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_authority_info_access(gnutls_x509_crt_t crt,
      int what,\n\t\t\t\t\t      gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1857,1
    - Dst: gnutls_x509_policies_init
      Src: /src/gnutls/lib/x509/x509_write.c:1861,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1863,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1867,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1870,1
    - Dst: gnutls_x509_ext_import_policies
      Src: /src/gnutls/lib/x509/x509_write.c:1875,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1878,1
    - Dst: gnutls_x509_policies_set
      Src: /src/gnutls/lib/x509/x509_write.c:1883,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1885,1
    - Dst: gnutls_x509_ext_export_policies
      Src: /src/gnutls/lib/x509/x509_write.c:1889,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1891,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/x509_write.c:1895,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/lib/x509/x509_write.c:1899,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1900,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509_write.c:1901,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - crt
    - policy
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - struct gnutls_x509_policy_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1904
      start: 1848
    functionDepth: 5
    functionLinenumber: 1848
    functionLinenumberEnd: 1904
    functionName: gnutls_x509_crt_set_policy
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_policies_deinit
    - gnutls_x509_ext_export_policies
    - _gnutls_free_datum
    - gnutls_x509_policies_init
    - gnutls_x509_policies_set
    - gnutls_x509_ext_import_policies
    - _gnutls_x509_crt_set_extension
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_policy(gnutls_x509_crt_t crt,\n\t\t\t       const
      struct gnutls_x509_policy_st *policy,\n\t\t\t       unsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1935,1
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/x509/x509_write.c:1939,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1941,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/x509_write.c:1945,1
    - Dst: _gnutls_pk_are_compat
      Src: /src/gnutls/lib/x509/x509_write.c:1948,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509_write.c:1949,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1959,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509_write.c:1964,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/x509_write.c:1969,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/x509_write.c:1970,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1971,1
    - Dst: _gnutls_find_rsa_pss_salt_size
      Src: /src/gnutls/lib/x509/x509_write.c:1981,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1984,1
    - Dst: _gnutls_x509_crt_read_spki_params
      Src: /src/gnutls/lib/x509/x509_write.c:1991,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:1993,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509_write.c:2001,1
    - Dst: _gnutls_x509_check_pubkey_params
      Src: /src/gnutls/lib/x509/x509_write.c:2002,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:2004,1
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/x509_write.c:2008,1
    - Dst: _gnutls_x509_write_spki_params
      Src: /src/gnutls/lib/x509/x509_write.c:2010,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509_write.c:2015,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/x509_write.c:2021,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 3
    argNames:
    - crt
    - spki
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2023
      start: 1925
    functionDepth: 4
    functionLinenumber: 1925
    functionLinenumberEnd: 2023
    functionName: gnutls_x509_crt_set_spki
    functionSourceFile: /src/gnutls/lib/x509/x509_write.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_write_spki_params
    - _gnutls_x509_crt_get_mpis
    - _gnutls_x509_check_pubkey_params
    - gnutls_assert
    - hash_to_entry
    - pubkey_to_bits
    - gnutls_pk_params_release
    - _gnutls_x509_crt_read_spki_params
    - unlikely
    - _gnutls_find_rsa_pss_salt_size
    - memset
    - memcpy
    - MODIFIED
    - gnutls_assert_val
    - _gnutls_pk_are_compat
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_spki(gnutls_x509_crt_t crt,\n\t\t\t     const
      gnutls_x509_spki_t spki, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/x509/privkey_openssl.c:47,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/privkey_openssl.c:48,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_openssl.c:50,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/x509/privkey_openssl.c:56,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/privkey_openssl.c:56,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:58,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/x509/privkey_openssl.c:63,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/x509/privkey_openssl.c:66,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:67,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/x509/privkey_openssl.c:73,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/privkey_openssl.c:73,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:75,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/x509/privkey_openssl.c:79,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:81,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/x509/privkey_openssl.c:85,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_openssl.c:88,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_openssl.c:92,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_openssl.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - _password
    - key
    - salt
    argTypes:
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: openssl_hash_password
    functionSourceFile: /src/gnutls/lib/x509/privkey_openssl.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - strlen
    - mac_to_entry
    - _gnutls_hash_deinit
    - gnutls_assert
    - _gnutls_hash
    - _gnutls_hash_init
    - _gnutls_utf8_password_normalize
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int openssl_hash_password(const char *_password, gnutls_datum_t *key,\n\t\t\t\t
      gnutls_datum_t *salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey_openssl.c:156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:158,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/privkey_openssl.c:164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:166,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/privkey_openssl.c:175,1
    - Dst: strncmp
      Src: /src/gnutls/lib/x509/privkey_openssl.c:176,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/privkey_openssl.c:185,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:187,1
    - Dst: gnutls_cipher_get_iv_size
      Src: /src/gnutls/lib/x509/privkey_openssl.c:191,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/privkey_openssl.c:193,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_openssl.c:195,1
    - Dst: gnutls_hex_decode
      Src: /src/gnutls/lib/x509/privkey_openssl.c:201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:213,1
    - Dst: _gnutls_base64_decode
      Src: /src/gnutls/lib/x509/privkey_openssl.c:220,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:229,1
    - Dst: gnutls_cipher_get_key_size
      Src: /src/gnutls/lib/x509/privkey_openssl.c:234,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/privkey_openssl.c:235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_openssl.c:237,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/privkey_openssl.c:242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_openssl.c:244,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_openssl.c:249,1
    - Dst: openssl_hash_password
      Src: /src/gnutls/lib/x509/privkey_openssl.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:253,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/x509/privkey_openssl.c:257,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:259,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/privkey_openssl.c:260,1
    - Dst: gnutls_cipher_decrypt
      Src: /src/gnutls/lib/x509/privkey_openssl.c:264,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/privkey_openssl.c:265,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:268,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_openssl.c:309,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/lib/x509/privkey_openssl.c:317,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/x509/privkey_openssl.c:327,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_openssl.c:328,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/x509/privkey_openssl.c:330,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_openssl.c:332,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/privkey_openssl.c:334,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 158
    argCount: 3
    argNames:
    - key
    - data
    - password
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 336
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 336
    functionName: gnutls_x509_privkey_import_openssl
    functionSourceFile: /src/gnutls/lib/x509/privkey_openssl.c
    functionUses: 2
    functionsReached:
    - gnutls_malloc
    - gnutls_cipher_init
    - gnutls_cipher_get_iv_size
    - gnutls_cipher_decrypt
    - gnutls_assert_val
    - memmem
    - gnutls_cipher_deinit
    - _gnutls_debug_log
    - openssl_hash_password
    - _gnutls_free_key_datum
    - strlen
    - gnutls_x509_privkey_import
    - strncmp
    - gnutls_free
    - gnutls_hex_decode
    - _gnutls_base64_decode
    - zeroize_key
    - memcpy
    - gnutls_assert
    - gnutls_cipher_get_key_size
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_privkey_import_openssl(gnutls_x509_privkey_t key,\n\t\t\t\t
      \      const gnutls_datum_t *data,\n\t\t\t\t       const char *password)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:56,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:59,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:60,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:63,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:64,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7.c:65,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7.c:70,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7.c:70,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:73,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:74,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:80,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:82,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs7.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:91,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:92,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:98,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:101,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:102,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:106,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:107,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs7.c:108,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs7.c:115,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:119,1
    - Dst: asn1_get_tag_der
      Src: /src/gnutls/lib/x509/pkcs7.c:131,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:135,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:136,1
    - Dst: asn1_get_length_ber
      Src: /src/gnutls/lib/x509/pkcs7.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:145,1
    - Dst: memmove
      Src: /src/gnutls/lib/x509/pkcs7.c:151,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:159,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:161,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:166,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 170
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 170
    functionName: _decode_pkcs7_signed_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - memmove
    - asn1_read_value
    - asn1_get_length_ber
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_read_string
    - asn1_delete_structure
    - strcmp
    - _gnutls_debug_log
    - asn1_get_tag_der
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _decode_pkcs7_signed_data(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:176,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7.c:178,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7.c:178,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:181,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: pkcs7_reinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int pkcs7_reinit(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/pkcs7.c:202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:207,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: gnutls_pkcs7_init
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 8
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_init(gnutls_pkcs7_t *pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:228,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:231,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:233,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: gnutls_pkcs7_deinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 8
    functionsReached:
    - _gnutls_free_datum
    - asn1_delete_structure
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs7_deinit(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/pkcs7.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:274,1
    - Dst: pkcs7_reinit
      Src: /src/gnutls/lib/x509/pkcs7.c:282,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:284,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs7.c:290,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:293,1
    - Dst: _decode_pkcs7_signed_data
      Src: /src/gnutls/lib/x509/pkcs7.c:299,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:301,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - pkcs7
    - data
    - format
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 311
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 311
    functionName: gnutls_pkcs7_import
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - _decode_pkcs7_signed_data
    - _gnutls_fbase64_decode
    - pkcs7_reinit
    - _gnutls_free_datum
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_import(gnutls_pkcs7_t pkcs7, const gnutls_datum_t
      *data,\n\t\t\tgnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:345,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:357,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:358,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:364,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:367,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:369,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7.c:373,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:378,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:379,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:385,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - pkcs7
    - indx
    - cert
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 393
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 393
    functionName: gnutls_pkcs7_get_crt_raw2
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_der_decoding_startEnd
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - strcmp
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_crt_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,\n\t\t\t
      \     gnutls_datum_t *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_get_crt_raw2
      Src: /src/gnutls/lib/x509/pkcs7.c:420,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:422,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs7.c:432,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pkcs7
    - indx
    - certificate
    - certificate_size
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 437
    functionName: gnutls_pkcs7_get_crt_raw
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_pkcs7_get_crt_raw2
    - gnutls_assert_val
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_crt_raw(gnutls_pkcs7_t pkcs7, unsigned indx,\n\t\t\t
      \    void *certificate, size_t *certificate_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:458,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 466
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 466
    functionName: gnutls_pkcs7_get_crt_count
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - asn1_number_of_elements
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:479,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:480,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:481,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:482,1
    - Dst: gnutls_pkcs7_attrs_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:483,1
    - Dst: gnutls_pkcs7_attrs_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:484,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - gnutls_pkcs7_signature_info_st*
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: gnutls_pkcs7_signature_info_deinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs7_attrs_deinit
    - gnutls_free
    - memset
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs7_signature_info_deinit(gnutls_pkcs7_signature_info_st
      *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7.c:495,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7.c:495,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:498,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:503,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:506,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/pkcs7.c:510,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:513,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/pkcs7.c:517,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - pkcs7
    - root
    argTypes:
    - gnutls_pkcs7_t
    - char*
    constantsTouched: []
    func_position:
      end: 522
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 522
    functionName: parse_time
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - asn1_read_value
    - _gnutls_x509_get_time
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t parse_time(gnutls_pkcs7_t pkcs7, const char *root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:543,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 551
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 551
    functionName: gnutls_pkcs7_get_signature_count
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 1
    functionsReached:
    - asn1_number_of_elements
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_get_signature_count(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7.c:582,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:585,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:588,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:591,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:595,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:597,1
    - Dst: gnutls_oid_to_sign
      Src: /src/gnutls/lib/x509/pkcs7.c:601,1
    - Dst: gnutls_oid_to_pk
      Src: /src/gnutls/lib/x509/pkcs7.c:604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:606,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:611,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:617,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/pkcs7.c:621,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:623,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/x509/pkcs7.c:627,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:629,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:636,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:640,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:645,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/pkcs7.c:649,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:652,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:657,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:660,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:664,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:667,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:670,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:675,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:681,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:685,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:690,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:693,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:698,1
    - Dst: gnutls_pkcs7_add_attr
      Src: /src/gnutls/lib/x509/pkcs7.c:702,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:703,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:706,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:710,1
    - Dst: parse_time
      Src: /src/gnutls/lib/x509/pkcs7.c:711,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:717,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:721,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:726,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:729,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:734,1
    - Dst: gnutls_pkcs7_add_attr
      Src: /src/gnutls/lib/x509/pkcs7.c:738,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:740,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:743,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:750,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:751,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 141
    argCount: 3
    argNames:
    - pkcs7
    - idx
    - info
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - gnutls_pkcs7_signature_info_st*
    constantsTouched: []
    func_position:
      end: 755
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 755
    functionName: gnutls_pkcs7_get_signature_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs7_signature_info_deinit
    - gnutls_free
    - _gnutls_x509_read_value
    - parse_time
    - asn1_read_value
    - snprintf
    - asn1_number_of_elements
    - gnutls_pk_to_sign
    - gnutls_oid_to_digest
    - gnutls_oid_to_sign
    - _gnutls_x509_get_raw_field
    - memset
    - gnutls_assert_val
    - gnutls_pkcs7_add_attr
    - gnutls_oid_to_pk
    - strcmp
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_signature_info(gnutls_pkcs7_t pkcs7, unsigned
      idx,\n\t\t\t\t    gnutls_pkcs7_signature_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_sign_get_hash_algorithm
      Src: /src/gnutls/lib/x509/pkcs7.c:774,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:778,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/lib/x509/pkcs7.c:780,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:787,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/x509/pkcs7.c:790,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:792,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:796,1
    - Dst: _gnutls_x509_decode_and_read_attribute
      Src: /src/gnutls/lib/x509/pkcs7.c:798,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:803,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:806,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/pkcs7.c:807,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:811,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:816,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:819,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:821,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:823,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/pkcs7.c:831,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:835,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:840,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:841,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:847,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:848,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:854,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:857,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:858,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - pkcs7
    - root
    - algo
    - data
    argTypes:
    - gnutls_pkcs7_t
    - char*
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 860
      start: 759
    functionDepth: 5
    functionLinenumber: 759
    functionLinenumberEnd: 860
    functionName: verify_hash_attr
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_free
    - gnutls_hash_get_len
    - gnutls_sign_get_hash_algorithm
    - snprintf
    - gnutls_assert
    - memcmp
    - _gnutls_x509_get_raw_field
    - gnutls_hash_fast
    - _gnutls_x509_decode_and_read_attribute
    - strcmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int verify_hash_attr(gnutls_pkcs7_t pkcs7, const char *root,\n\t\t\t
      \   gnutls_sign_algorithm_t algo,\n\t\t\t    const gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:873,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/pkcs7.c:875,1
    - Dst: verify_hash_attr
      Src: /src/gnutls/lib/x509/pkcs7.c:878,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:880,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:890,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pkcs7
    - root
    - data
    - algo
    - sigdata
    argTypes:
    - gnutls_pkcs7_t
    - char*
    - gnutls_datum_t*
    - gnutls_sign_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 895
      start: 865
    functionDepth: 6
    functionLinenumber: 865
    functionLinenumberEnd: 895
    functionName: figure_pkcs7_sigdata
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - snprintf
    - _gnutls_x509_get_raw_field
    - verify_hash_attr
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int figure_pkcs7_sigdata(gnutls_pkcs7_t pkcs7, const char *root,\n\t\t\t\tconst
      gnutls_datum_t *data,\n\t\t\t\tgnutls_sign_algorithm_t algo,\n\t\t\t\tgnutls_datum_t
      *sigdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:926,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:930,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:933,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pkcs7
    - flags
    - data
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 939
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 939
    functionName: gnutls_pkcs7_get_embedded_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 3
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_x509_read_value
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_embedded_data(gnutls_pkcs7_t pkcs7, unsigned
      flags,\n\t\t\t\t   gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: gnutls_pkcs7_get_embedded_data_oid
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pkcs7_get_embedded_data_oid(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7.c:1000,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:1005,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1008,1
    - Dst: gnutls_pkcs7_get_signature_info
      Src: /src/gnutls/lib/x509/pkcs7.c:1012,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1014,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:1018,1
    - Dst: figure_pkcs7_sigdata
      Src: /src/gnutls/lib/x509/pkcs7.c:1019,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1021,1
    - Dst: gnutls_x509_crt_verify_data2
      Src: /src/gnutls/lib/x509/pkcs7.c:1025,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1028,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1032,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1033,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1034,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - pkcs7
    - signer
    - idx
    - data
    - flags
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_t
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1037
      start: 990
    functionDepth: 7
    functionLinenumber: 990
    functionLinenumberEnd: 1037
    functionName: gnutls_pkcs7_verify_direct
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs7_signature_info_deinit
    - gnutls_free
    - figure_pkcs7_sigdata
    - snprintf
    - asn1_number_of_elements
    - gnutls_pkcs7_get_signature_info
    - memset
    - gnutls_assert
    - gnutls_x509_crt_verify_data2
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_verify_direct(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t
      signer,\n\t\t\t       unsigned idx, const gnutls_datum_t *data,\n\t\t\t       unsigned
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_get_crt_count
      Src: /src/gnutls/lib/x509/pkcs7.c:1051,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1053,1
    - Dst: gnutls_pkcs7_get_crt_raw2
      Src: /src/gnutls/lib/x509/pkcs7.c:1059,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1061,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/pkcs7.c:1065,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1067,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/pkcs7.c:1071,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1073,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/pkcs7.c:1077,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1078,1
    - Dst: gnutls_x509_crt_verify
      Src: /src/gnutls/lib/x509/pkcs7.c:1082,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/pkcs7.c:1087,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1088,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1089,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1091,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1093,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1097,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1104,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1111,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1116,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 4
    argNames:
    - pkcs7
    - cert
    - purpose
    - vflags
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1119
      start: 1041
    functionDepth: 6
    functionLinenumber: 1041
    functionLinenumberEnd: 1119
    functionName: find_verified_issuer_of
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs7_get_crt_count
    - gnutls_pkcs7_get_crt_raw2
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_free
    - _gnutls_cert_log
    - gnutls_x509_crt_verify
    - _gnutls_check_key_purpose
    - gnutls_x509_crt_check_issuer
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t find_verified_issuer_of(gnutls_pkcs7_t pkcs7,\n\t\t\t\t\t\t
      gnutls_x509_crt_t cert,\n\t\t\t\t\t\t const char *purpose,\n\t\t\t\t\t\t unsigned
      vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_get_crt_count
      Src: /src/gnutls/lib/x509/pkcs7.c:1136,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1138,1
    - Dst: gnutls_pkcs7_get_crt_raw2
      Src: /src/gnutls/lib/x509/pkcs7.c:1144,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1146,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/pkcs7.c:1150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1152,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/pkcs7.c:1156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1159,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/pkcs7.c:1164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1165,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/pkcs7.c:1171,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1173,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/pkcs7.c:1181,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1183,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:1188,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1190,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1191,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/pkcs7.c:1196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1199,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs7.c:1204,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1206,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1207,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1209,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1215,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1220,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1227,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1234,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1239,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 4
    argNames:
    - pkcs7
    - issuer
    - purpose
    - info
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_t
    - char*
    - gnutls_pkcs7_signature_info_st*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1242
    functionName: find_child_of_with_serial
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - gnutls_pkcs7_get_crt_count
    - gnutls_pkcs7_get_crt_raw2
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_free
    - gnutls_x509_crt_get_subject_key_id
    - _gnutls_cert_log
    - memcmp
    - _gnutls_check_key_purpose
    - gnutls_x509_crt_get_serial
    - gnutls_x509_crt_check_issuer
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t find_child_of_with_serial(gnutls_pkcs7_t pkcs7,
      gnutls_x509_crt_t issuer,\n\t\t\t  const char *purpose,\n\t\t\t  gnutls_pkcs7_signature_info_st
      *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_trust_list_get_issuer_by_subject_key_id
      Src: /src/gnutls/lib/x509/pkcs7.c:1258,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1261,1
    - Dst: gnutls_x509_trust_list_get_issuer_by_dn
      Src: /src/gnutls/lib/x509/pkcs7.c:1276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1279,1
    - Dst: find_child_of_with_serial
      Src: /src/gnutls/lib/x509/pkcs7.c:1286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1289,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1293,1
    - Dst: find_child_of_with_serial
      Src: /src/gnutls/lib/x509/pkcs7.c:1301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1303,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/x509/pkcs7.c:1309,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1318,1
    - Dst: find_verified_issuer_of
      Src: /src/gnutls/lib/x509/pkcs7.c:1322,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/pkcs7.c:1326,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1329,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1338,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/x509/pkcs7.c:1342,1
    - Dst: _gnutls_reason_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1350,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/x509/pkcs7.c:1356,1
    - Dst: _gnutls_reason_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1360,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1368,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1378,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1384,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1387,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 100
    argCount: 6
    argNames:
    - pkcs7
    - tl
    - vdata
    - vdata_size
    - vflags
    - info
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_trust_list_t
    - gnutls_typed_vdata_st*
    - unsigned
    - unsigned
    - gnutls_pkcs7_signature_info_st*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1244
    functionDepth: 7
    functionLinenumber: 1244
    functionLinenumberEnd: 1390
    functionName: find_signer
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - find_child_of_with_serial
    - find_verified_issuer_of
    - gnutls_free
    - gnutls_x509_crt_deinit
    - _gnutls_reason_log
    - gnutls_x509_trust_list_get_issuer_by_dn
    - gnutls_x509_trust_list_verify_crt2
    - gnutls_x509_crt_check_issuer
    - gnutls_assert
    - gnutls_x509_trust_list_get_issuer_by_subject_key_id
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: "gnutls_x509_crt_t find_signer(gnutls_pkcs7_t pkcs7,\n\t\t\t\t     gnutls_x509_trust_list_t
      tl,\n\t\t\t\t     gnutls_typed_vdata_st *vdata,\n\t\t\t\t     unsigned vdata_size,
      unsigned vflags,\n\t\t\t\t     gnutls_pkcs7_signature_info_st *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs7.c:1426,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:1431,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1434,1
    - Dst: gnutls_pkcs7_get_signature_info
      Src: /src/gnutls/lib/x509/pkcs7.c:1439,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1441,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:1445,1
    - Dst: figure_pkcs7_sigdata
      Src: /src/gnutls/lib/x509/pkcs7.c:1446,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1448,1
    - Dst: find_signer
      Src: /src/gnutls/lib/x509/pkcs7.c:1452,1
    - Dst: gnutls_x509_crt_verify_data3
      Src: /src/gnutls/lib/x509/pkcs7.c:1454,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/pkcs7.c:1458,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1460,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1462,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1464,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1469,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:1470,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/lib/x509/pkcs7.c:1471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 7
    argNames:
    - pkcs7
    - tl
    - vdata
    - vdata_size
    - idx
    - data
    - flags
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_trust_list_t
    - gnutls_typed_vdata_st*
    - unsigned int
    - unsigned
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1474
      start: 1414
    functionDepth: 8
    functionLinenumber: 1414
    functionLinenumberEnd: 1474
    functionName: gnutls_pkcs7_verify
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_verify_data3
    - gnutls_free
    - gnutls_x509_crt_deinit
    - figure_pkcs7_sigdata
    - gnutls_pkcs7_signature_info_deinit
    - snprintf
    - asn1_number_of_elements
    - gnutls_pkcs7_get_signature_info
    - find_signer
    - memset
    - _gnutls_cert_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_verify(gnutls_pkcs7_t pkcs7, gnutls_x509_trust_list_t
      tl,\n\t\t\tgnutls_typed_vdata_st *vdata, unsigned int vdata_size,\n\t\t\tunsigned
      idx, const gnutls_datum_t *data,\n\t\t\tunsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:1482,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1484,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:1487,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 1495
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1495
    functionName: disable_opt_fields
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - asn1_write_value
    - asn1_number_of_elements
    linkageType: ''
    returnType: void
    signature: void disable_opt_fields(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: disable_opt_fields
      Src: /src/gnutls/lib/x509/pkcs7.c:1502,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs7.c:1506,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:1509,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1514,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1517,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 1522
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1522
    functionName: reencode
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_der_encode_and_copy
    - asn1_write_value
    - gnutls_assert_val
    - gnutls_assert
    - disable_opt_fields
    linkageType: ''
    returnType: int
    signature: int reencode(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reencode
      Src: /src/gnutls/lib/x509/pkcs7.c:1551,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:1552,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/pkcs7.c:1554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pkcs7
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1544
    functionDepth: 4
    functionLinenumber: 1544
    functionLinenumberEnd: 1556
    functionName: gnutls_pkcs7_export
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - reencode
    - _gnutls_x509_export_int
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_export(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t
      format,\n\t\t\tvoid *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reencode
      Src: /src/gnutls/lib/x509/pkcs7.c:1583,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:1584,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/pkcs7.c:1586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pkcs7
    - format
    - out
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1576
    functionDepth: 4
    functionLinenumber: 1576
    functionLinenumberEnd: 1587
    functionName: gnutls_pkcs7_export2
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_export_int2
    - reencode
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_export2(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_fmt_t
      format,\n\t\t\t gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7.c:1598,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7.c:1598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1601,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1602,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1608,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1610,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1611,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1622,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1623,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1627,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1629,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1630,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs7.c:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - pkcs7
    - sdata
    argTypes:
    - asn1_node
    - asn1_node*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1648
    functionName: create_empty_signed_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int create_empty_signed_data(asn1_node pkcs7, asn1_node *sdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_empty_signed_data
      Src: /src/gnutls/lib/x509/pkcs7.c:1675,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1678,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1686,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1688,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1689,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1693,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1696,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1697,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1701,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1705,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pkcs7
    - crt
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1661
    functionDepth: 2
    functionLinenumber: 1661
    functionLinenumberEnd: 1714
    functionName: gnutls_pkcs7_set_crt_raw
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - create_empty_signed_data
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_set_crt_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t
      *crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs7.c:1736,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1738,1
    - Dst: gnutls_pkcs7_set_crt_raw
      Src: /src/gnutls/lib/x509/pkcs7.c:1742,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:1744,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pkcs7
    - crt
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1752
      start: 1728
    functionDepth: 3
    functionLinenumber: 1728
    functionLinenumberEnd: 1752
    functionName: gnutls_pkcs7_set_crt
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_der_encode
    - gnutls_pkcs7_set_crt_raw
    - gnutls_assert
    - _gnutls_free_datum
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_set_crt(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:1776,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1778,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1780,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pkcs7
    - indx
    argTypes:
    - gnutls_pkcs7_t
    - int
    constantsTouched: []
    func_position:
      end: 1789
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1789
    functionName: gnutls_pkcs7_delete_crt
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_delete_crt(gnutls_pkcs7_t pkcs7, int indx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1819,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1821,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:1828,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/x509/pkcs7.c:1832,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1836,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1837,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:1843,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:1846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pkcs7
    - indx
    - crl
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1848
    functionName: gnutls_pkcs7_get_crl_raw2
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_der_decoding_startEnd
    - _gnutls_free_datum
    - snprintf
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_crl_raw2(gnutls_pkcs7_t pkcs7, unsigned indx,\n\t\t\t
      \     gnutls_datum_t *crl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_get_crl_raw2
      Src: /src/gnutls/lib/x509/pkcs7.c:1871,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:1873,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1881,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs7.c:1885,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pkcs7
    - indx
    - crl
    - crl_size
    argTypes:
    - gnutls_pkcs7_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1865
    functionDepth: 4
    functionLinenumber: 1865
    functionLinenumberEnd: 1890
    functionName: gnutls_pkcs7_get_crl_raw
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_pkcs7_get_crl_raw2
    - _gnutls_free_datum
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_crl_raw(gnutls_pkcs7_t pkcs7, unsigned indx,
      void *crl,\n\t\t\t     size_t *crl_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs7.c:1911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkcs7
    argTypes:
    - gnutls_pkcs7_t
    constantsTouched: []
    func_position:
      end: 1918
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1918
    functionName: gnutls_pkcs7_get_crl_count
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - asn1_number_of_elements
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_get_crl_count(gnutls_pkcs7_t pkcs7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_empty_signed_data
      Src: /src/gnutls/lib/x509/pkcs7.c:1944,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1947,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1955,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1957,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1958,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:1962,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1965,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:1966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pkcs7
    - crl
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1930
    functionDepth: 2
    functionLinenumber: 1930
    functionLinenumberEnd: 1974
    functionName: gnutls_pkcs7_set_crl_raw
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - create_empty_signed_data
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_set_crl_raw(gnutls_pkcs7_t pkcs7, const gnutls_datum_t
      *crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs7.c:1995,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:1997,1
    - Dst: gnutls_pkcs7_set_crl_raw
      Src: /src/gnutls/lib/x509/pkcs7.c:2001,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs7.c:2003,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pkcs7
    - crl
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 2011
      start: 1987
    functionDepth: 3
    functionLinenumber: 1987
    functionLinenumberEnd: 2011
    functionName: gnutls_pkcs7_set_crl
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_der_encode
    - _gnutls_free_datum
    - gnutls_pkcs7_set_crl_raw
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_set_crl(gnutls_pkcs7_t pkcs7, gnutls_x509_crl_t crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2035,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2037,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2039,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pkcs7
    - indx
    argTypes:
    - gnutls_pkcs7_t
    - int
    constantsTouched: []
    func_position:
      end: 2048
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2048
    functionName: gnutls_pkcs7_delete_crl
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs7_delete_crl(gnutls_pkcs7_t pkcs7, int indx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2061,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2062,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2064,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2065,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2068,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2069,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2071,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2072,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/pkcs7.c:2076,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:2079,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2081,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2082,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2084,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2085,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/pkcs7.c:2089,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:2092,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2094,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2095,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2097,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2098,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2101,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2103,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2105,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2106,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2109,1
    - Dst: asn1_copy_node
      Src: /src/gnutls/lib/x509/pkcs7.c:2111,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2114,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - c2
    - root
    - signer
    - flags
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_crt_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2120
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2120
    functionName: write_signer_id
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_x509_crt_get_serial
    - snprintf
    - asn1_write_value
    - asn1_copy_node
    - gnutls_x509_crt_get_subject_key_id
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int write_signer_id(asn1_node c2, const char *root,\n\t\t\t   gnutls_x509_crt_t
      signer, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2132,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2135,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2137,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2138,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2141,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2144,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2145,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2148,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2151,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2152,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2155,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2160,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - c2
    - root
    - attrs
    - already_set
    argTypes:
    - asn1_node
    - char*
    - gnutls_pkcs7_attrs_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2169
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2169
    functionName: add_attrs
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int add_attrs(asn1_node c2, const char *root, gnutls_pkcs7_attrs_t
      attrs,\n\t\t     unsigned already_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2184,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2191,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2192,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2196,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2199,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2200,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2204,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2205,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2207,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2208,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2212,1
    - Dst: _gnutls_x509_set_raw_time
      Src: /src/gnutls/lib/x509/pkcs7.c:2213,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/pkcs7.c:2213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2215,1
    - Dst: add_attrs
      Src: /src/gnutls/lib/x509/pkcs7.c:2222,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2224,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2232,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2233,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2237,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2240,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2241,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2245,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2246,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2248,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2249,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/pkcs7.c:2253,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2256,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2260,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2261,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:2262,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2265,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2266,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/x509/pkcs7.c:2272,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/x509/pkcs7.c:2273,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/x509/pkcs7.c:2273,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2276,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2280,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2282,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2283,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7.c:2287,1
    - Dst: _gnutls_x509_encode_and_write_attribute
      Src: /src/gnutls/lib/x509/pkcs7.c:2288,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 6
    argNames:
    - c2
    - root
    - data
    - me
    - other_attrs
    - flags
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - mac_entry_st*
    - gnutls_pkcs7_attrs_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2297
      start: 2171
    functionDepth: 5
    functionLinenumber: 2171
    functionLinenumberEnd: 2297
    functionName: write_attributes
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_time
    - gnutls_free
    - snprintf
    - asn1_write_value
    - _gnutls_x509_encode_and_write_attribute
    - _gnutls_hash_get_algo_len
    - MAC_TO_DIG
    - add_attrs
    - _gnutls_x509_get_raw_field
    - gnutls_hash_fast
    - _gnutls_x509_set_raw_time
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int write_attributes(asn1_node c2, const char *root,\n\t\t\t    const
      gnutls_datum_t *data, const mac_entry_st *me,\n\t\t\t    gnutls_pkcs7_attrs_t
      other_attrs, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/pkcs7.c:2333,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs7.c:2342,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs7.c:2342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2346,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2347,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2352,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2358,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2360,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2364,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2367,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/pkcs7.c:2372,1
    - Dst: gnutls_pkcs7_set_crt
      Src: /src/gnutls/lib/x509/pkcs7.c:2381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2383,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2389,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2392,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2393,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2397,1
    - Dst: _gnutls_x509_digest_to_oid
      Src: /src/gnutls/lib/x509/pkcs7.c:2399,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2401,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2402,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2406,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2410,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2412,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2413,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2417,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2420,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2421,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2425,1
    - Dst: _gnutls_x509_digest_to_oid
      Src: /src/gnutls/lib/x509/pkcs7.c:2427,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2429,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2430,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2434,1
    - Dst: write_signer_id
      Src: /src/gnutls/lib/x509/pkcs7.c:2438,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2441,1
    - Dst: add_attrs
      Src: /src/gnutls/lib/x509/pkcs7.c:2445,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2448,1
    - Dst: write_attributes
      Src: /src/gnutls/lib/x509/pkcs7.c:2452,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2456,1
    - Dst: disable_opt_fields
      Src: /src/gnutls/lib/x509/pkcs7.c:2460,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/pkcs7.c:2463,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/x509/pkcs7.c:2465,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2467,1
    - Dst: _gnutls_x509_crt_get_spki_params
      Src: /src/gnutls/lib/x509/pkcs7.c:2471,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2473,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/x509/pkcs7.c:2477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2480,1
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/x509/pkcs7.c:2484,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7.c:2486,1
    - Dst: _gnutls_x509_write_sign_params
      Src: /src/gnutls/lib/x509/pkcs7.c:2497,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2501,1
    - Dst: figure_pkcs7_sigdata
      Src: /src/gnutls/lib/x509/pkcs7.c:2508,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2511,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/x509/pkcs7.c:2515,1
    - Dst: privkey_sign_and_hash_data
      Src: /src/gnutls/lib/x509/pkcs7.c:2517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2520,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs7.c:2524,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs7.c:2528,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs7.c:2529,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:2536,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7.c:2537,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 157
    argCount: 8
    argNames:
    - pkcs7
    - signer
    - signer_key
    - data
    - signed_attrs
    - unsigned_attrs
    - dig
    - flags
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_x509_crt_t
    - gnutls_privkey_t
    - gnutls_datum_t*
    - gnutls_pkcs7_attrs_t
    - gnutls_pkcs7_attrs_t
    - gnutls_digest_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2539
      start: 2324
    functionDepth: 7
    functionLinenumber: 2324
    functionLinenumberEnd: 2539
    functionName: gnutls_pkcs7_sign
    functionSourceFile: /src/gnutls/lib/x509/pkcs7.c
    functionUses: 2
    functionsReached:
    - figure_pkcs7_sigdata
    - hash_to_entry
    - _gnutls_get_pkix
    - _gnutls_x509_digest_to_oid
    - gnutls_assert_val
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_write_string
    - FIX_SIGN_PARAMS
    - add_attrs
    - _gnutls_privkey_update_spki_params
    - gnutls_x509_crt_get_pk_algorithm
    - _gnutls_privkey_get_spki_params
    - _gnutls_x509_crt_get_spki_params
    - gnutls_pkcs7_set_crt
    - write_signer_id
    - gnutls_free
    - privkey_sign_and_hash_data
    - write_attributes
    - _gnutls_pk_to_sign_entry
    - _gnutls_x509_write_sign_params
    - gnutls_assert
    - disable_opt_fields
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_sign(gnutls_pkcs7_t pkcs7, gnutls_x509_crt_t signer,\n\t\t
      \     gnutls_privkey_t signer_key, const gnutls_datum_t *data,\n\t\t      gnutls_pkcs7_attrs_t
      signed_attrs,\n\t\t      gnutls_pkcs7_attrs_t unsigned_attrs,\n\t\t      gnutls_digest_algorithm_t
      dig, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:64,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:69,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:69,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:72,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:73,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:76,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:78,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:82,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:85,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:91,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 101
    functionName: _gnutls_x509_write_rsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_write_int
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_rsa_pubkey(const gnutls_pk_params_st *params,\n\t\t\t\t\t
      gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:118,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/x509/key_encode.c:120,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: _gnutls_x509_write_ecc_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - _gnutls_ecc_ansi_x962_export
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_ecc_pubkey(const gnutls_pk_params_st *params,\n\t\t\t\t
      \ gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:149,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/key_encode.c:151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - params
    - raw
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: _gnutls_x509_write_eddsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_eddsa_pubkey(const gnutls_pk_params_st *params,\n\t\t\t\t
      \   gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:175,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:179,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/key_encode.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - params
    - raw
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 187
    functionName: _gnutls_x509_write_modern_ecdh_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_modern_ecdh_pubkey(const gnutls_pk_params_st
      *params,\n\t\t\t\t      gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:202,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/x509/key_encode.c:206,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:209,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/key_encode.c:213,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:215,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/key_encode.c:217,1
    - Dst: asn1_length_der
      Src: /src/gnutls/lib/x509/key_encode.c:220,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/x509/key_encode.c:224,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:226,1
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/x509/key_encode.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:233,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/x509/key_encode.c:238,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:240,1
    - Dst: _gnutls_mpi_print_le
      Src: /src/gnutls/lib/x509/key_encode.c:245,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:247,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/key_encode.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 258
    functionName: _gnutls_x509_write_gost_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - asn1_length_der
    - _gnutls_mpi_get_nbits
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_malloc
    - _gnutls_mpi_print_le
    - memset
    - gnutls_assert_val
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_gost_pubkey(const gnutls_pk_params_st *params,\n\t\t\t\t
      \  gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_write_dsa_params
      Src: /src/gnutls/lib/x509/key_encode.c:265,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/key_encode.c:267,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:269,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/key_encode.c:271,1
    - Dst: _gnutls_x509_write_rsa_pss_params
      Src: /src/gnutls/lib/x509/key_encode.c:275,1
    - Dst: _gnutls_x509_write_ecc_params
      Src: /src/gnutls/lib/x509/key_encode.c:277,1
    - Dst: _gnutls_x509_write_gost_params
      Src: /src/gnutls/lib/x509/key_encode.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 293
    functionName: _gnutls_x509_write_pubkey_params
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_write_ecc_params
    - gnutls_malloc
    - _gnutls_x509_write_gost_params
    - _gnutls_x509_write_rsa_pss_params
    - memcpy
    - _gnutls_x509_write_dsa_params
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_pubkey_params(const gnutls_pk_params_st *params,\n\t\t\t\t
      \    gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_write_dsa_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:300,1
    - Dst: _gnutls_x509_write_rsa_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:303,1
    - Dst: _gnutls_x509_write_ecc_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:305,1
    - Dst: _gnutls_x509_write_eddsa_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:308,1
    - Dst: _gnutls_x509_write_modern_ecdh_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:311,1
    - Dst: _gnutls_x509_write_gost_pubkey
      Src: /src/gnutls/lib/x509/key_encode.c:315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 319
    functionName: _gnutls_x509_write_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_write_modern_ecdh_pubkey
    - _gnutls_x509_write_ecc_pubkey
    - _gnutls_x509_write_dsa_pubkey
    - _gnutls_x509_write_gost_pubkey
    - _gnutls_x509_write_rsa_pubkey
    - _gnutls_x509_write_eddsa_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_pubkey(const gnutls_pk_params_st *params,\n\t\t\t
      \     gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:337,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:342,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:345,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:346,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:351,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:355,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:357,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:363,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:367,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:369,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:376,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 378
    functionName: _gnutls_x509_write_dsa_params
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_write_int
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_dsa_params(const gnutls_pk_params_st *params,\n\t\t\t\t\t
      gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ecc_curve_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:396,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:398,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:400,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:400,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:403,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:404,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:407,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:409,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:410,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:414,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:416,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:417,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:421,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:423,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - curve
    - der
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 432
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 432
    functionName: _gnutls_x509_write_ecc_params
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - gnutls_ecc_curve_get_oid
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_ecc_params(const gnutls_ecc_curve_t curve,\n\t\t\t\t
      \ gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/x509/key_encode.c:450,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:452,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:454,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:454,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:457,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:458,1
    - Dst: gnutls_digest_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:462,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:464,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:466,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:467,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:471,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:473,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:474,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:478,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:481,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:482,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:486,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/key_encode.c:486,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:489,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:490,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:494,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:496,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:497,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:501,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:503,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:504,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:508,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:510,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:514,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:516,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:517,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/key_encode.c:522,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:524,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/key_encode.c:528,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:530,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:534,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:536,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/key_encode.c:543,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:544,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:545,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_x509_spki_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 547
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 547
    functionName: _gnutls_x509_write_rsa_pss_params
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - gnutls_pk_to_sign
    - gnutls_assert
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_x509_write_uint32
    - gnutls_digest_get_oid
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_rsa_pss_params(const gnutls_x509_spki_st *params,\n\t\t\t\t
      \     gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ecc_curve_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:559,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:561,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:563,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:563,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:568,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:569,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:572,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:574,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:575,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:600,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:601,1
    - Dst: gnutls_gost_paramset_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:607,1
    - Dst: _gnutls_gost_paramset_default
      Src: /src/gnutls/lib/x509/key_encode.c:614,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:617,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:619,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:620,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:625,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:627,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:634,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 636
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 636
    functionName: _gnutls_x509_write_gost_params
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_ecc_curve_get_oid
    - gnutls_gost_paramset_get_oid
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_gost_paramset_default
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_gost_params(const gnutls_pk_params_st *params,\n\t\t\t\t\t
      \ gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:654,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:659,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:659,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:662,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:663,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:666,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:668,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/key_encode.c:672,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:674,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - params
    - der
    argTypes:
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 683
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 683
    functionName: _gnutls_x509_write_dsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_write_int
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_dsa_pubkey(const gnutls_pk_params_st *params,\n\t\t\t\t\t
      gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/key_encode.c:695,1
    - Dst: _gnutls_pk_params_copy
      Src: /src/gnutls/lib/x509/key_encode.c:697,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:699,1
    - Dst: _gnutls_pk_fixup
      Src: /src/gnutls/lib/x509/key_encode.c:703,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:705,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:714,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:718,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:718,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:721,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:722,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:728,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:731,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:735,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:738,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:742,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:745,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:749,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:752,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:756,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:759,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:763,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:766,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:770,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:773,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:777,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:780,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:784,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:786,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:787,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:791,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:793,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:794,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/key_encode.c:802,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/x509/key_encode.c:804,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/key_encode.c:805,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 2
    argNames:
    - c2
    - params
    argTypes:
    - asn1_node*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 807
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 807
    functionName: _gnutls_asn1_encode_rsa
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_pk_params_clear
    - _gnutls_x509_write_key_int
    - asn1_delete_structure2
    - _gnutls_pk_fixup
    - asn1_write_value
    - asn1_create_element
    - _gnutls_pk_params_copy
    - _gnutls_x509_write_int
    - gnutls_pk_params_release
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn1_encode_rsa(asn1_node *c2, gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ecc_curve_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:818,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:820,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:824,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:828,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:828,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:831,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:832,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:836,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:837,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:838,1
    - Dst: curve_is_eddsa
      Src: /src/gnutls/lib/x509/key_encode.c:842,1
    - Dst: curve_is_modern_ecdh
      Src: /src/gnutls/lib/x509/key_encode.c:843,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:845,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:846,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:849,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:850,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:854,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:857,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:858,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:863,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/x509/key_encode.c:865,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:870,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:872,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:875,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:879,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:881,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:882,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:888,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:890,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:891,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:895,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:897,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:898,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/key_encode.c:902,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/key_encode.c:906,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/key_encode.c:907,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 2
    argNames:
    - c2
    - params
    argTypes:
    - asn1_node*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 910
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 910
    functionName: _gnutls_asn1_encode_ecc
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - curve_is_modern_ecdh
    - _gnutls_x509_write_key_int
    - gnutls_ecc_curve_get_oid
    - _gnutls_free_datum
    - curve_is_eddsa
    - asn1_write_value
    - asn1_create_element
    - gnutls_assert
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_ecc_ansi_x962_export
    - asn1_delete_structure2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn1_encode_ecc(asn1_node *c2, gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_get_oid
      Src: /src/gnutls/lib/x509/key_encode.c:917,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_encode.c:920,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:924,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:928,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:928,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:931,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:932,1
    - Dst: _gnutls_x509_write_key_int_le
      Src: /src/gnutls/lib/x509/key_encode.c:936,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:938,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/key_encode.c:945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - c2
    - params
    argTypes:
    - asn1_node*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 948
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 948
    functionName: _gnutls_asn1_encode_gost
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_key_int_le
    - asn1_create_element
    - gnutls_assert
    - gnutls_pk_get_oid
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - asn1_delete_structure2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn1_encode_gost(asn1_node *c2, gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_encode.c:959,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_encode.c:963,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_encode.c:963,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:966,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:967,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:972,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:974,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:978,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:980,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:984,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:986,1
    - Dst: _gnutls_x509_write_int
      Src: /src/gnutls/lib/x509/key_encode.c:990,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:992,1
    - Dst: _gnutls_x509_write_key_int
      Src: /src/gnutls/lib/x509/key_encode.c:996,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:998,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/key_encode.c:1002,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_encode.c:1004,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_encode.c:1005,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/key_encode.c:1012,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - c2
    - params
    argTypes:
    - asn1_node*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1015
      start: 952
    functionDepth: 3
    functionLinenumber: 952
    functionLinenumberEnd: 1015
    functionName: _gnutls_asn1_encode_dsa
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_key_int
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_write_int
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn1_encode_dsa(asn1_node *c2, gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_asn1_encode_rsa
      Src: /src/gnutls/lib/x509/key_encode.c:1022,1
    - Dst: _gnutls_asn1_encode_dsa
      Src: /src/gnutls/lib/x509/key_encode.c:1024,1
    - Dst: _gnutls_asn1_encode_ecc
      Src: /src/gnutls/lib/x509/key_encode.c:1030,1
    - Dst: _gnutls_asn1_encode_gost
      Src: /src/gnutls/lib/x509/key_encode.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - c2
    - params
    argTypes:
    - asn1_node*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1017
    functionDepth: 4
    functionLinenumber: 1017
    functionLinenumberEnd: 1041
    functionName: _gnutls_asn1_encode_privkey
    functionSourceFile: /src/gnutls/lib/x509/key_encode.c
    functionUses: 7
    functionsReached:
    - _gnutls_asn1_encode_dsa
    - _gnutls_asn1_encode_rsa
    - _gnutls_asn1_encode_ecc
    - _gnutls_asn1_encode_gost
    linkageType: ''
    returnType: int
    signature: int _gnutls_asn1_encode_privkey(asn1_node *c2, gnutls_pk_params_st
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_digest_get_oid
      Src: /src/gnutls/lib/x509/prov-seed.c:42,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/prov-seed.c:44,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/prov-seed.c:46,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/prov-seed.c:46,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:49,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:50,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/prov-seed.c:53,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:56,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:57,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/prov-seed.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:63,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:64,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/prov-seed.c:68,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:70,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/prov-seed.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pkey
    - der
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: _x509_encode_provable_seed
    functionSourceFile: /src/gnutls/lib/x509/prov-seed.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - gnutls_assert
    - _gnutls_x509_der_encode
    - _gnutls_get_gnutls_asn
    - gnutls_digest_get_oid
    - asn1_delete_structure2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _x509_encode_provable_seed(gnutls_x509_privkey_t pkey, gnutls_datum_t
      *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/prov-seed.c:93,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/prov-seed.c:93,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:96,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:97,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/prov-seed.c:100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:102,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:103,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/prov-seed.c:107,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:109,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/prov-seed.c:114,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/prov-seed.c:118,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/prov-seed.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/prov-seed.c:127,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/prov-seed.c:128,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/prov-seed.c:132,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/prov-seed.c:138,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/prov-seed.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - pkey
    - der
    argTypes:
    - gnutls_x509_privkey_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 141
    functionName: _x509_decode_provable_seed
    functionSourceFile: /src/gnutls/lib/x509/prov-seed.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - _gnutls_debug_log
    - asn1_read_value
    - asn1_create_element
    - gnutls_oid_to_digest
    - _gnutls_get_gnutls_asn
    - memcpy
    - _asn1_strict_der_decode
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _x509_decode_provable_seed(gnutls_x509_privkey_t pkey,\n\t\t\t
      \      const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/crq.c:60,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:64,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:64,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:68,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:69,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: gnutls_x509_crq_init
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 10
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - gnutls_free
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_init(gnutls_x509_crq_t *crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:89,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: gnutls_x509_crq_deinit
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 10
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crq_deinit(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:120,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/crq.c:131,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/crq.c:135,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:139,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:146,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:150,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - crq
    - data
    - format
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 160
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 160
    functionName: gnutls_x509_crq_import
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_fbase64_decode
    - _gnutls_free_datum
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_import(gnutls_x509_crq_t crq, const gnutls_datum_t
      *data,\n\t\t\t   gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_errs_to_zero
      Src: /src/gnutls/lib/x509/crq.c:180,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/crq.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: gnutls_x509_crq_get_signature_algorithm
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - map_errs_to_zero
    - _gnutls_x509_get_signature_algorithm
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_get_signature_algorithm(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:208,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:212,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:215,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:217,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:217,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:220,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:221,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:227,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:228,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crq.c:233,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/crq.c:236,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - crq
    - activation
    - expiration
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - time_t*
    - time_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 244
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 244
    functionName: gnutls_x509_crq_get_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_get_time
    - asn1_create_element
    - gnutls_assert
    - _gnutls_get_pkix
    - gnutls_x509_crq_get_extension_by_oid
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_private_key_usage_period(gnutls_x509_crq_t
      crq,\n\t\t\t\t\t\t time_t *activation,\n\t\t\t\t\t\t time_t *expiration,\n\t\t\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:268,1
    - Dst: _gnutls_x509_parse_dn
      Src: /src/gnutls/lib/x509/crq.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crq
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: gnutls_x509_crq_get_dn
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_parse_dn
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_get_dn(gnutls_x509_crq_t crq, char *buf, size_t
      *buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:298,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/crq.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - crq
    - dn
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: gnutls_x509_crq_get_dn2
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_get_dn2(gnutls_x509_crq_t crq, gnutls_datum_t *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:331,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/crq.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crq
    - dn
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: gnutls_x509_crq_get_dn3
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_dn3(gnutls_x509_crq_t crq, gnutls_datum_t
      *dn,\n\t\t\t    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:373,1
    - Dst: _gnutls_x509_parse_dn_oid
      Src: /src/gnutls/lib/x509/crq.c:377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:381,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/crq.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - crq
    - oid
    - indx
    - raw_flag
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - unsigned
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 384
    functionName: gnutls_x509_crq_get_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_x509_parse_dn_oid
    - gnutls_assert
    - _gnutls_strdatum_to_buf
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_dn_by_oid(gnutls_x509_crq_t crq, const char
      *oid,\n\t\t\t\t  unsigned indx, unsigned int raw_flag,\n\t\t\t\t  void *buf,
      size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:404,1
    - Dst: _gnutls_x509_get_dn_oid
      Src: /src/gnutls/lib/x509/crq.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - crq
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: gnutls_x509_crq_get_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_dn_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_dn_oid(gnutls_x509_crq_t crq, unsigned indx,
      void *oid,\n\t\t\t       size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:433,1
    - Dst: _x509_parse_attribute
      Src: /src/gnutls/lib/x509/crq.c:437,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:441,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/crq.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - crq
    - pass
    - pass_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: gnutls_x509_crq_get_challenge_password
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _x509_parse_attribute
    - gnutls_assert_val
    - _gnutls_strdatum_to_buf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_challenge_password(gnutls_x509_crq_t crq,
      char *pass,\n\t\t\t\t\t   size_t *pass_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:472,1
    - Dst: _x509_set_attribute
      Src: /src/gnutls/lib/x509/crq.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - crq
    - oid
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: gnutls_x509_crq_set_attribute_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - _x509_set_attribute
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_attribute_by_oid(gnutls_x509_crq_t crq, const
      char *oid,\n\t\t\t\t\t void *buf, size_t buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:507,1
    - Dst: _x509_parse_attribute
      Src: /src/gnutls/lib/x509/crq.c:511,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:515,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/crq.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - crq
    - oid
    - indx
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 518
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 518
    functionName: gnutls_x509_crq_get_attribute_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - _x509_parse_attribute
    - gnutls_assert_val
    - _gnutls_strdatum_to_buf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_attribute_by_oid(gnutls_x509_crq_t crq, const
      char *oid,\n\t\t\t\t\t unsigned indx, void *buf,\n\t\t\t\t\t size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_set_dn_oid
      Src: /src/gnutls/lib/x509/crq.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - crq
    - oid
    - raw_flag
    - data
    - sizeof_data
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - unsigned int
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 552
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 552
    functionName: gnutls_x509_crq_set_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 13
    functionsReached:
    - _gnutls_x509_set_dn_oid
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_dn_by_oid(gnutls_x509_crq_t crq, const char
      *oid,\n\t\t\t\t  unsigned int raw_flag, const void *data,\n\t\t\t\t  unsigned
      int sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:571,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crq.c:578,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:581,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - crq
    - version
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 586
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 586
    functionName: gnutls_x509_crq_set_version
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_set_version(gnutls_x509_crq_t crq, unsigned int
      version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:604,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:609,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:614,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - crq
    argTypes:
    - gnutls_x509_crq_t
    constantsTouched: []
    func_position:
      end: 619
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 619
    functionName: gnutls_x509_crq_get_version
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_get_version(gnutls_x509_crq_t crq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:637,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/x509/crq.c:641,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - crq
    - key
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 651
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 651
    functionName: gnutls_x509_crq_set_key
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 5
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_encode_and_copy_PKI_params
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_set_key(gnutls_x509_crq_t crq, gnutls_x509_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/crq.c:674,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:677,1
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/lib/x509/crq.c:681,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:683,1
    - Dst: _gnutls_x509_crq_get_mpis
      Src: /src/gnutls/lib/x509/crq.c:687,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:689,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/x509/crq.c:693,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:695,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/x509/crq.c:699,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:701,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:702,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/crq.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - crq
    - m
    - e
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 711
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 711
    functionName: gnutls_x509_crq_get_key_rsa_raw
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crq_get_pk_algorithm
    - _gnutls_x509_crq_get_mpis
    - _gnutls_free_datum
    - gnutls_pk_params_release
    - _gnutls_mpi_dprint
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_key_rsa_raw(gnutls_x509_crq_t crq, gnutls_datum_t
      *m,\n\t\t\t\t    gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/crq.c:734,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:737,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/crq.c:741,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/crq.c:743,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:745,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/x509/crq.c:750,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:752,1
    - Dst: _gnutls_x509_encode_and_copy_PKI_params
      Src: /src/gnutls/lib/x509/crq.c:760,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:765,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/crq.c:773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - crq
    - m
    - e
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 775
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 775
    functionName: gnutls_x509_crq_set_key_rsa_raw
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_encode_and_copy_PKI_params
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - memset
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_key_rsa_raw(gnutls_x509_crq_t crq,\n\t\t\t\t
      \   const gnutls_datum_t *m,\n\t\t\t\t    const gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:795,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crq.c:801,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:804,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:805,1
    - Dst: _gnutls_utf8_password_normalize
      Src: /src/gnutls/lib/x509/crq.c:810,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/crq.c:810,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:813,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/crq.c:818,1
    - Dst: _gnutls_x509_encode_and_write_attribute
      Src: /src/gnutls/lib/x509/crq.c:820,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/crq.c:823,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:825,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - crq
    - pass
    argTypes:
    - gnutls_x509_crq_t
    - char*
    constantsTouched: []
    func_position:
      end: 834
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 834
    functionName: gnutls_x509_crq_set_challenge_password
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - assert
    - gnutls_free
    - strlen
    - asn1_write_value
    - _gnutls_x509_encode_and_write_attribute
    - _gnutls_utf8_password_normalize
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_challenge_password(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      \  const char *pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:871,1
    - Dst: gnutls_privkey_init
      Src: /src/gnutls/lib/x509/crq.c:875,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:877,1
    - Dst: gnutls_privkey_import_x509
      Src: /src/gnutls/lib/x509/crq.c:881,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:883,1
    - Dst: gnutls_x509_crq_privkey_sign
      Src: /src/gnutls/lib/x509/crq.c:887,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:889,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/x509/crq.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - crq
    - key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 899
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 899
    functionName: gnutls_x509_crq_sign2
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_crq_privkey_sign
    - gnutls_privkey_deinit
    - gnutls_privkey_init
    - gnutls_assert
    - gnutls_privkey_import_x509
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_sign2(gnutls_x509_crq_t crq, gnutls_x509_privkey_t
      key,\n\t\t\t  gnutls_digest_algorithm_t dig, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_sign2
      Src: /src/gnutls/lib/x509/crq.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crq
    - key
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_privkey_t
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: gnutls_x509_crq_sign
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_sign2
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_sign(gnutls_x509_crq_t crq, gnutls_x509_privkey_t
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:948,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/crq.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - crq
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 954
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 954
    functionName: gnutls_x509_crq_export
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_export_int
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_export(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t
      format,\n\t\t\t   void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:979,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/crq.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crq
    - format
    - out
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: gnutls_x509_crq_export2
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_export_int2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_export2(gnutls_x509_crq_t crq, gnutls_x509_crt_fmt_t
      format,\n\t\t\t    gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1006,1
    - Dst: _gnutls_x509_get_pk_algorithm
      Src: /src/gnutls/lib/x509/crq.c:1010,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - crq
    - bits
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1018
    functionName: gnutls_x509_crq_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 5
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_get_pk_algorithm
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_get_pk_algorithm(gnutls_x509_crq_t crq, unsigned
      int *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1038,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/crq.c:1042,1
    - Dst: gnutls_x509_crq_get_pk_algorithm
      Src: /src/gnutls/lib/x509/crq.c:1044,1
    - Dst: _gnutls_x509_crq_read_spki_params
      Src: /src/gnutls/lib/x509/crq.c:1046,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1048,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - crq
    - spki
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1059
      start: 1031
    functionDepth: 5
    functionLinenumber: 1031
    functionLinenumberEnd: 1059
    functionName: gnutls_x509_crq_get_spki
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_get_pk_algorithm
    - gnutls_assert
    - memset
    - gnutls_assert_val
    - _gnutls_x509_crq_read_spki_params
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_spki(gnutls_x509_crq_t crq, gnutls_x509_spki_t
      spki,\n\t\t\t     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1084,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1087,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1088,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/crq.c:1094,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - crq
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1101
    functionName: gnutls_x509_crq_get_signature_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_signature_oid(gnutls_x509_crq_t crq, char
      *oid,\n\t\t\t\t      size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1126,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1131,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1132,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/crq.c:1138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - crq
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1118
    functionDepth: 2
    functionLinenumber: 1118
    functionLinenumberEnd: 1145
    functionName: gnutls_x509_crq_get_pk_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_pk_oid(gnutls_x509_crq_t crq, char *oid,\n\t\t\t
      \      size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1179,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:1183,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1193,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - crq
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1198
    functionName: gnutls_x509_crq_get_attribute_info
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_attribute_info(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t       void *oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1230,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:1234,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1244,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - crq
    - indx
    - data
    - sizeof_data
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1249
    functionName: gnutls_x509_crq_get_attribute_data
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_attribute_data(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t       void *data, size_t *sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1289,1
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1294,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:1297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1299,1
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1308,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:1312,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:1312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1315,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1316,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:1321,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1323,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1324,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1325,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:1329,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1332,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1340,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1341,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1342,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:1346,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:1348,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1353,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1354,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1368,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 5
    argNames:
    - crq
    - indx
    - oid
    - sizeof_oid
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1276
    functionDepth: 4
    functionLinenumber: 1276
    functionLinenumberEnd: 1370
    functionName: gnutls_x509_crq_get_extension_info
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_read_value
    - snprintf
    - _gnutls_get_pkix
    - asn1_create_element
    - gnutls_malloc
    - asn1_delete_structure
    - gnutls_x509_crq_get_attribute_by_oid
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_extension_info(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t       void *oid, size_t *sizeof_oid,\n\t\t\t\t       unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_extension_data2
      Src: /src/gnutls/lib/x509/crq.c:1401,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:1403,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/crq.c:1405,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - crq
    - indx
    - data
    - sizeof_data
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1410
    functionName: gnutls_x509_crq_get_extension_data
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crq_get_extension_data2
    - gnutls_free
    - gnutls_assert_val
    - _gnutls_copy_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_extension_data(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t       void *data, size_t *sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1442,1
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1447,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1450,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:1456,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1458,1
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1462,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1465,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:1469,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:1469,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1472,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1473,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:1478,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1480,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1481,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:1485,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/crq.c:1487,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1492,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1498,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1499,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - crq
    - indx
    - data
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1432
    functionDepth: 4
    functionLinenumber: 1432
    functionLinenumberEnd: 1501
    functionName: gnutls_x509_crq_get_extension_data2
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - snprintf
    - _gnutls_get_pkix
    - asn1_create_element
    - gnutls_malloc
    - asn1_delete_structure
    - gnutls_x509_crq_get_attribute_by_oid
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_extension_data2(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t\tgnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1534,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1538,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1541,1
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/lib/x509/crq.c:1547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - crq
    - key_usage
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1554
    functionName: gnutls_x509_crq_get_key_usage
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_ext_import_key_usage
    - gnutls_x509_crq_get_extension_by_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_key_usage(gnutls_x509_crq_t crq,\n\t\t\t\t
      \ unsigned int *key_usage,\n\t\t\t\t  unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1589,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1593,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1596,1
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/lib/x509/crq.c:1603,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - crq
    - critical
    - ca
    - pathlen
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int*
    - unsigned int*
    - int*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1613
    functionName: gnutls_x509_crq_get_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_get_extension_by_oid
    - gnutls_x509_ext_import_basic_constraints
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_basic_constraints(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      \ unsigned int *critical,\n\t\t\t\t\t  unsigned int *ca, int *pathlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1627,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/crq.c:1632,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1641,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:1646,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1648,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1655,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1656,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:1660,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:1660,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1663,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1664,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1665,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:1668,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1669,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1671,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1672,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:1673,1
    - Dst: _gnutls_parse_general_name
      Src: /src/gnutls/lib/x509/crq.c:1676,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:1678,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 7
    argNames:
    - crq
    - seq
    - ret
    - ret_size
    - ret_type
    - critical
    - othername_oid
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 1686
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1686
    functionName: get_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_get_pkix
    - gnutls_x509_crq_get_extension_by_oid
    - _gnutls_parse_general_name
    - asn1_delete_structure
    - memset
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int get_subject_alt_name(gnutls_x509_crq_t crq, unsigned int seq,\n\t\t\t\tvoid
      *ret, size_t *ret_size,\n\t\t\t\tunsigned int *ret_type, unsigned int *critical,\n\t\t\t\tint
      othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_subject_alt_name
      Src: /src/gnutls/lib/x509/crq.c:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - crq
    - seq
    - ret
    - ret_size
    - ret_type
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1716
    functionDepth: 2
    functionLinenumber: 1716
    functionLinenumberEnd: 1724
    functionName: gnutls_x509_crq_get_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - get_subject_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_subject_alt_name(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      unsigned int seq, void *ret,\n\t\t\t\t\t size_t *ret_size,\n\t\t\t\t\t unsigned
      int *ret_type,\n\t\t\t\t\t unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_subject_alt_name
      Src: /src/gnutls/lib/x509/crq.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crq
    - seq
    - ret
    - ret_size
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1754
    functionDepth: 2
    functionLinenumber: 1754
    functionLinenumberEnd: 1759
    functionName: gnutls_x509_crq_get_subject_alt_othername_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - get_subject_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_subject_alt_othername_oid(gnutls_x509_crq_t
      crq,\n\t\t\t\t\t\t  unsigned int seq, void *ret,\n\t\t\t\t\t\t  size_t *ret_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/lib/x509/crq.c:1794,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1797,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/crq.c:1801,1
    - Dst: gnutls_x509_crq_get_extension_data
      Src: /src/gnutls/lib/x509/crq.c:1803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - crq
    - oid
    - indx
    - buf
    - buf_size
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1782
    functionDepth: 5
    functionLinenumber: 1782
    functionLinenumberEnd: 1811
    functionName: gnutls_x509_crq_get_extension_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crq_get_extension_data
    - gnutls_assert
    - strcmp
    - gnutls_x509_crq_get_extension_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_extension_by_oid(gnutls_x509_crq_t crq, const
      char *oid,\n\t\t\t\t\t unsigned indx, void *buf,\n\t\t\t\t\t size_t *buf_size,\n\t\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_extension_info
      Src: /src/gnutls/lib/x509/crq.c:1845,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1848,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/crq.c:1852,1
    - Dst: gnutls_x509_crq_get_extension_data2
      Src: /src/gnutls/lib/x509/crq.c:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - crq
    - oid
    - indx
    - output
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1833
    functionDepth: 5
    functionLinenumber: 1833
    functionLinenumberEnd: 1862
    functionName: gnutls_x509_crq_get_extension_by_oid2
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_crq_get_extension_data2
    - gnutls_assert
    - strcmp
    - gnutls_x509_crq_get_extension_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_extension_by_oid2(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      \ const char *oid, unsigned indx,\n\t\t\t\t\t  gnutls_datum_t *output,\n\t\t\t\t\t
      \ unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1907,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1914,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:1924,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1926,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:1930,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1934,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1935,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1941,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/crq.c:1948,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:1950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1952,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:1956,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:1959,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:1962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - crq
    - nt
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1970
      start: 1894
    functionDepth: 6
    functionLinenumber: 1894
    functionLinenumberEnd: 1970
    functionName: gnutls_x509_crq_set_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 8
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - gnutls_free
    - _gnutls_free_datum
    - gnutls_malloc
    - gnutls_x509_crq_get_extension_by_oid
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_subject_alt_name(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      gnutls_x509_subject_alt_name_t nt,\n\t\t\t\t\t const void *data,\n\t\t\t\t\t
      unsigned int data_size,\n\t\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2004,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2011,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:2021,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2023,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2027,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2031,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2037,1
    - Dst: _gnutls_encode_othername_data
      Src: /src/gnutls/lib/x509/crq.c:2042,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2045,1
    - Dst: _gnutls_x509_ext_gen_subject_alt_name
      Src: /src/gnutls/lib/x509/crq.c:2051,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2055,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2059,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2063,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2070,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2071,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2072,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 5
    argNames:
    - crq
    - oid
    - data
    - data_size
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2074
      start: 1991
    functionDepth: 6
    functionLinenumber: 1991
    functionLinenumberEnd: 2074
    functionName: gnutls_x509_crq_set_subject_alt_othername
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_ext_gen_subject_alt_name
    - _gnutls_free_datum
    - gnutls_malloc
    - gnutls_x509_crq_get_extension_by_oid
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    - _gnutls_encode_othername_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_subject_alt_othername(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      \     const char *oid, const void *data,\n\t\t\t\t\t      unsigned int data_size,\n\t\t\t\t\t
      \     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2099,1
    - Dst: gnutls_x509_ext_export_basic_constraints
      Src: /src/gnutls/lib/x509/crq.c:2105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2108,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2112,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2114,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - crq
    - ca
    - pathLenConstraint
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 2122
      start: 2091
    functionDepth: 2
    functionLinenumber: 2091
    functionLinenumberEnd: 2122
    functionName: gnutls_x509_crq_set_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_ext_export_basic_constraints
    - _gnutls_free_datum
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_basic_constraints(gnutls_x509_crq_t crq,\n\t\t\t\t\t
      \ unsigned int ca,\n\t\t\t\t\t  int pathLenConstraint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2142,1
    - Dst: gnutls_x509_ext_export_key_usage
      Src: /src/gnutls/lib/x509/crq.c:2148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2150,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2154,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - crq
    - usage
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2164
      start: 2136
    functionDepth: 2
    functionLinenumber: 2136
    functionLinenumberEnd: 2164
    functionName: gnutls_x509_crq_set_key_usage
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_ext_export_key_usage
    - _gnutls_free_datum
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_set_key_usage(gnutls_x509_crq_t crq, unsigned int
      usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/crq.c:2196,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2207,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:2211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2213,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2217,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2220,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2221,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:2225,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:2225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2228,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2229,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2230,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:2233,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2236,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2237,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2238,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/crq.c:2244,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/crq.c:2247,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2259,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 5
    argNames:
    - crq
    - indx
    - oid
    - sizeof_oid
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2264
      start: 2185
    functionDepth: 6
    functionLinenumber: 2185
    functionLinenumberEnd: 2264
    functionName: gnutls_x509_crq_get_key_purpose_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - asn1_read_value
    - snprintf
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_get_pkix
    - gnutls_x509_crq_get_extension_by_oid
    - asn1_delete_structure
    - memset
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_key_purpose_oid(gnutls_x509_crq_t crq, unsigned
      indx,\n\t\t\t\t\tvoid *oid, size_t *sizeof_oid,\n\t\t\t\t\tunsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2293,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/crq.c:2303,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2305,1
    - Dst: gnutls_x509_crq_get_extension_by_oid
      Src: /src/gnutls/lib/x509/crq.c:2309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2312,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2313,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2319,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:2323,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:2323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2326,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2327,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2328,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/crq.c:2334,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2338,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2339,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2340,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crq.c:2348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2350,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2351,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2352,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crq.c:2357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2359,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2360,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2361,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/crq.c:2364,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2368,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2369,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2372,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2376,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 3
    argNames:
    - crq
    - oid
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2381
      start: 2283
    functionDepth: 6
    functionLinenumber: 2283
    functionLinenumberEnd: 2381
    functionName: gnutls_x509_crq_set_key_purpose_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - gnutls_x509_crq_get_extension_by_oid
    - asn1_delete_structure
    - _gnutls_x509_crq_set_extension
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_key_purpose_oid(gnutls_x509_crq_t crq, const
      void *oid,\n\t\t\t\t\tunsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2413,1
    - Dst: _gnutls_x509_crq_get_mpis
      Src: /src/gnutls/lib/x509/crq.c:2417,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2419,1
    - Dst: _gnutls_get_key_id
      Src: /src/gnutls/lib/x509/crq.c:2423,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/crq.c:2425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - crq
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2405
    functionDepth: 4
    functionLinenumber: 2405
    functionLinenumberEnd: 2428
    functionName: gnutls_x509_crq_get_key_id
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - gnutls_pk_params_release
    - _gnutls_get_key_id
    - _gnutls_x509_crq_get_mpis
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_key_id(gnutls_x509_crq_t crq, unsigned int
      flags,\n\t\t\t       unsigned char *output_data,\n\t\t\t       size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2471,1
    - Dst: gnutls_x509_crq_get_version
      Src: /src/gnutls/lib/x509/crq.c:2476,1
    - Dst: gnutls_x509_crq_set_version
      Src: /src/gnutls/lib/x509/crq.c:2477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2479,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/crq.c:2489,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:2491,1
    - Dst: gnutls_pubkey_import_privkey
      Src: /src/gnutls/lib/x509/crq.c:2493,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/crq.c:2495,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:2496,1
    - Dst: gnutls_pubkey_get_preferred_hash_algorithm
      Src: /src/gnutls/lib/x509/crq.c:2498,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/crq.c:2500,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:2503,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/x509/crq.c:2506,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2508,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/x509/crq.c:2512,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/x509/crq.c:2513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2515,1
    - Dst: _gnutls_x509_get_tbs
      Src: /src/gnutls/lib/x509/crq.c:2521,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2525,1
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/x509/crq.c:2529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:2531,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/x509/crq.c:2533,1
    - Dst: privkey_sign_and_hash_data
      Src: /src/gnutls/lib/x509/crq.c:2535,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2536,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2539,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/crq.c:2545,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2548,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2551,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2552,1
    - Dst: _gnutls_x509_write_sign_params
      Src: /src/gnutls/lib/x509/crq.c:2557,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2560,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 4
    argNames:
    - crq
    - key
    - dig
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_privkey_t
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2565
      start: 2459
    functionDepth: 4
    functionLinenumber: 2459
    functionLinenumberEnd: 2565
    functionName: gnutls_x509_crq_privkey_sign
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 3
    functionsReached:
    - _gnutls_free_datum
    - gnutls_pubkey_import_privkey
    - gnutls_assert_val
    - _gnutls_asn2err
    - gnutls_x509_crq_set_version
    - asn1_write_value
    - _gnutls_x509_get_tbs
    - FIX_SIGN_PARAMS
    - _gnutls_privkey_update_spki_params
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - _gnutls_privkey_get_spki_params
    - gnutls_x509_crq_get_version
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - privkey_sign_and_hash_data
    - _gnutls_pk_to_sign_entry
    - _gnutls_x509_write_sign_params
    - gnutls_pubkey_get_preferred_hash_algorithm
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_privkey_sign(gnutls_x509_crq_t crq, gnutls_privkey_t
      key,\n\t\t\t\t gnutls_digest_algorithm_t dig,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/x509/crq.c:2589,1
    - Dst: _gnutls_x509_get_signed_data
      Src: /src/gnutls/lib/x509/crq.c:2591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2594,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/crq.c:2598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2601,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/x509/crq.c:2605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2607,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/crq.c:2612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2614,1
    - Dst: _gnutls_x509_crq_get_mpis
      Src: /src/gnutls/lib/x509/crq.c:2618,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2620,1
    - Dst: _gnutls_x509_read_sign_params
      Src: /src/gnutls/lib/x509/crq.c:2624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2627,1
    - Dst: pubkey_verify_data
      Src: /src/gnutls/lib/x509/crq.c:2631,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/crq.c:2631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2634,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2641,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2642,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/crq.c:2643,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - crq
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2646
      start: 2580
    functionDepth: 5
    functionLinenumber: 2580
    functionLinenumberEnd: 2646
    functionName: gnutls_x509_crq_verify
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 4
    functionsReached:
    - pubkey_verify_data
    - _gnutls_x509_crq_get_mpis
    - _gnutls_x509_get_signature
    - _gnutls_free_datum
    - hash_to_entry
    - gnutls_pk_params_release
    - _gnutls_x509_get_signature_algorithm
    - _gnutls_x509_read_sign_params
    - _gnutls_x509_get_signed_data
    - gnutls_pk_params_init
    - _gnutls_sign_to_entry
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crq_verify(gnutls_x509_crq_t crq, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2668,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/crq.c:2672,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/crq.c:2672,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2675,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/crq.c:2676,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/crq.c:2679,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2681,1
    - Dst: _gnutls_x509_set_time
      Src: /src/gnutls/lib/x509/crq.c:2685,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2687,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/crq.c:2691,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2693,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2697,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2699,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/crq.c:2702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - crq
    - activation
    - expiration
    argTypes:
    - gnutls_x509_crq_t
    - time_t
    - time_t
    constantsTouched: []
    func_position:
      end: 2705
      start: 2659
    functionDepth: 2
    functionLinenumber: 2659
    functionLinenumberEnd: 2705
    functionName: gnutls_x509_crq_set_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_set_time
    - _gnutls_x509_der_encode
    - _gnutls_x509_crq_set_extension
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_private_key_usage_period(gnutls_x509_crq_t
      crq,\n\t\t\t\t\t\t time_t activation,\n\t\t\t\t\t\t time_t expiration)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2740,1
    - Dst: gnutls_x509_crq_get_extension_by_oid2
      Src: /src/gnutls/lib/x509/crq.c:2744,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2751,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/lib/x509/crq.c:2755,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2757,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/crq.c:2763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - crq
    - features
    - flags
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_tlsfeatures_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2765
      start: 2732
    functionDepth: 6
    functionLinenumber: 2732
    functionLinenumberEnd: 2765
    functionName: gnutls_x509_crq_get_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_tlsfeatures
    - gnutls_x509_crq_get_extension_by_oid2
    - gnutls_assert
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_get_tlsfeatures(gnutls_x509_crq_t crq,\n\t\t\t\t
      \   gnutls_x509_tlsfeatures_t features,\n\t\t\t\t    unsigned int flags, unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2789,1
    - Dst: gnutls_x509_ext_export_tlsfeatures
      Src: /src/gnutls/lib/x509/crq.c:2793,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2795,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2799,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/crq.c:2802,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - crq
    - features
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_tlsfeatures_t
    constantsTouched: []
    func_position:
      end: 2809
      start: 2782
    functionDepth: 2
    functionLinenumber: 2782
    functionLinenumberEnd: 2809
    functionName: gnutls_x509_crq_set_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    - gnutls_x509_ext_export_tlsfeatures
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_tlsfeatures(gnutls_x509_crq_t crq,\n\t\t\t\t
      \   gnutls_x509_tlsfeatures_t features)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2837,1
    - Dst: _gnutls_x509_crq_set_extension
      Src: /src/gnutls/lib/x509/crq.c:2841,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - crq
    - oid
    - buf
    - sizeof_buf
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2848
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2848
    functionName: gnutls_x509_crq_set_extension_by_oid
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_crq_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_extension_by_oid(gnutls_x509_crq_t crq, const
      char *oid,\n\t\t\t\t\t const void *buf, size_t sizeof_buf,\n\t\t\t\t\t unsigned
      int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2879,1
    - Dst: _gnutls_x509_crq_get_mpis
      Src: /src/gnutls/lib/x509/crq.c:2883,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2885,1
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/crq.c:2889,1
    - Dst: _gnutls_pk_are_compat
      Src: /src/gnutls/lib/x509/crq.c:2892,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/crq.c:2893,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2903,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/crq.c:2908,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/crq.c:2913,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/crq.c:2914,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2915,1
    - Dst: _gnutls_find_rsa_pss_salt_size
      Src: /src/gnutls/lib/x509/crq.c:2925,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2928,1
    - Dst: _gnutls_x509_crq_read_spki_params
      Src: /src/gnutls/lib/x509/crq.c:2935,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2937,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/crq.c:2945,1
    - Dst: _gnutls_x509_check_pubkey_params
      Src: /src/gnutls/lib/x509/crq.c:2946,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2948,1
    - Dst: _gnutls_x509_write_spki_params
      Src: /src/gnutls/lib/x509/crq.c:2952,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/crq.c:2958,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/crq.c:2964,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 3
    argNames:
    - crq
    - spki
    - flags
    argTypes:
    - gnutls_x509_crq_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2966
      start: 2869
    functionDepth: 4
    functionLinenumber: 2869
    functionLinenumberEnd: 2966
    functionName: gnutls_x509_crq_set_spki
    functionSourceFile: /src/gnutls/lib/x509/crq.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_crq_get_mpis
    - _gnutls_x509_check_pubkey_params
    - gnutls_assert
    - hash_to_entry
    - pubkey_to_bits
    - gnutls_pk_params_release
    - unlikely
    - _gnutls_find_rsa_pss_salt_size
    - memset
    - memcpy
    - _gnutls_x509_write_spki_params
    - _gnutls_x509_crq_read_spki_params
    - gnutls_assert_val
    - _gnutls_pk_are_compat
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crq_set_spki(gnutls_x509_crq_t crq,\n\t\t\t     const
      gnutls_x509_spki_t spki, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:59,1
    - Dst: _gnutls_x509_encode_string
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:64,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:68,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:73,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:83,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:84,1
    - Dst: gnutls_pkcs7_attrs_deinit
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - list
    - oid
    - data
    - flags
    argTypes:
    - gnutls_pkcs7_attrs_t*
    - char*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: gnutls_pkcs7_add_attr
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-attrs.c
    functionUses: 2
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_strdup
    - _gnutls_x509_encode_string
    - gnutls_pkcs7_attrs_deinit
    - _gnutls_set_datum
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_add_attr(gnutls_pkcs7_attrs_t *list, const char *oid,\n\t\t\t
      \ gnutls_datum_t *data, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:122,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:127,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:131,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - list
    - idx
    - oid
    - data
    - flags
    argTypes:
    - gnutls_pkcs7_attrs_t
    - unsigned
    - char**
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: gnutls_pkcs7_get_attr
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-attrs.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_decode_string
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_get_attr(gnutls_pkcs7_attrs_t list, unsigned idx,
      char **oid,\n\t\t\t  gnutls_datum_t *data, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:154,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:155,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-attrs.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - gnutls_pkcs7_attrs_t
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: gnutls_pkcs7_attrs_deinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-attrs.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs7_attrs_deinit(gnutls_pkcs7_attrs_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/lib/x509/verify-high2.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:94,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/lib/x509/verify-high2.c:96,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:102,1
    - Dst: gnutls_x509_crl_list_import2
      Src: /src/gnutls/lib/x509/verify-high2.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:111,1
    - Dst: gnutls_x509_trust_list_add_crls
      Src: /src/gnutls/lib/x509/verify-high2.c:113,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - list
    - cas
    - crls
    - type
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 125
      start: 74
    functionDepth: 8
    functionLinenumber: 74
    functionLinenumberEnd: 125
    functionName: gnutls_x509_trust_list_add_trust_mem
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 7
    functionsReached:
    - gnutls_free
    - gnutls_x509_crl_list_import2
    - gnutls_x509_trust_list_add_crls
    - gnutls_x509_crt_list_import2
    - gnutls_x509_trust_list_add_cas
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_trust_mem(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t const gnutls_datum_t *cas,\n\t\t\t\t\t const gnutls_datum_t
      *crls,\n\t\t\t\t\t gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t unsigned int tl_flags,\n\t\t\t\t\t
      unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_list_import2
      Src: /src/gnutls/lib/x509/verify-high2.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:155,1
    - Dst: gnutls_x509_trust_list_remove_cas
      Src: /src/gnutls/lib/x509/verify-high2.c:157,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:161,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:162,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - list
    - cas
    - type
    argTypes:
    - gnutls_x509_trust_list_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: gnutls_x509_trust_list_remove_trust_mem
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_x509_trust_list_remove_cas
    - gnutls_x509_crt_list_import2
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t    const gnutls_datum_t *cas,\n\t\t\t\t\t    gnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/verify-high2.c:176,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - ca_file
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: remove_pkcs11_url
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int remove_pkcs11_url(gnutls_x509_trust_list_t list, const char *ca_file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_list_import_url2
      Src: /src/gnutls/lib/x509/verify-high2.c:197,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:203,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/verify-high2.c:210,1
    - Dst: gnutls_x509_crt_list_import_pkcs11
      Src: /src/gnutls/lib/x509/verify-high2.c:217,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high2.c:220,1
    - Dst: gnutls_x509_trust_list_add_cas
      Src: /src/gnutls/lib/x509/verify-high2.c:224,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:229,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:230,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - list
    - url
    - flags
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 234
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 234
    functionName: add_trust_list_pkcs11_object_url
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_pkcs11_obj_list_import_url2
    - gnutls_x509_crt_list_import_pkcs11
    - gnutls_pkcs11_obj_deinit
    - gnutls_assert
    - gnutls_x509_trust_list_add_cas
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int add_trust_list_pkcs11_object_url(gnutls_x509_trust_list_t list,\n\t\t\t\t\t
      \   const char *url, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs11_obj_list_import_url2
      Src: /src/gnutls/lib/x509/verify-high2.c:244,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:250,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/verify-high2.c:257,1
    - Dst: gnutls_x509_crt_list_import_pkcs11
      Src: /src/gnutls/lib/x509/verify-high2.c:264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high2.c:267,1
    - Dst: gnutls_x509_trust_list_remove_cas
      Src: /src/gnutls/lib/x509/verify-high2.c:271,1
    - Dst: gnutls_pkcs11_obj_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:276,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:278,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:280,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - list
    - url
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    constantsTouched: []
    func_position:
      end: 284
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 284
    functionName: remove_pkcs11_object_url
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - gnutls_pkcs11_obj_list_import_url2
    - gnutls_x509_crt_list_import_pkcs11
    - gnutls_pkcs11_obj_deinit
    - gnutls_assert
    - gnutls_x509_trust_list_remove_cas
    - gnutls_assert_val
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int remove_pkcs11_object_url(gnutls_x509_trust_list_t list,\n\t\t\t\t
      \   const char *url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/x509/verify-high2.c:321,1
    - Dst: is_pkcs11_url_object
      Src: /src/gnutls/lib/x509/verify-high2.c:327,1
    - Dst: add_trust_list_pkcs11_object_url
      Src: /src/gnutls/lib/x509/verify-high2.c:328,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:332,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/verify-high2.c:334,1
    - Dst: gnutls_pkcs11_obj_list_import_url
      Src: /src/gnutls/lib/x509/verify-high2.c:337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:346,1
    - Dst: read_file
      Src: /src/gnutls/lib/x509/verify-high2.c:353,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high2.c:355,1
    - Dst: read_file
      Src: /src/gnutls/lib/x509/verify-high2.c:363,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high2.c:365,1
    - Dst: gnutls_x509_trust_list_add_trust_mem
      Src: /src/gnutls/lib/x509/verify-high2.c:371,1
    - Dst: free
      Src: /src/gnutls/lib/x509/verify-high2.c:373,1
    - Dst: free
      Src: /src/gnutls/lib/x509/verify-high2.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - list
    - ca_file
    - crl_file
    - type
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 377
      start: 307
    functionDepth: 9
    functionLinenumber: 307
    functionLinenumberEnd: 377
    functionName: gnutls_x509_trust_list_add_trust_file
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 10
    functionsReached:
    - c_strncasecmp
    - free
    - add_trust_list_pkcs11_object_url
    - gnutls_x509_trust_list_add_trust_mem
    - gnutls_pkcs11_obj_list_import_url
    - gnutls_assert
    - gnutls_strdup
    - is_pkcs11_url_object
    - read_file
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_trust_file(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t  const char *ca_file,\n\t\t\t\t\t  const char *crl_file,\n\t\t\t\t\t
      \ gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t  unsigned int tl_flags,\n\t\t\t\t\t
      \ unsigned int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnutls/lib/x509/verify-high2.c:391,1
    - Dst: _gnutls_pathbuf_init
      Src: /src/gnutls/lib/x509/verify-high2.c:395,1
    - Dst: readdir
      Src: /src/gnutls/lib/x509/verify-high2.c:401,1
    - Dst: _gnutls_pathbuf_append
      Src: /src/gnutls/lib/x509/verify-high2.c:412,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/x509/verify-high2.c:417,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/x509/verify-high2.c:421,1
    - Dst: _gnutls_pathbuf_truncate
      Src: /src/gnutls/lib/x509/verify-high2.c:428,1
    - Dst: _gnutls_pathbuf_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:430,1
    - Dst: closedir
      Src: /src/gnutls/lib/x509/verify-high2.c:431,1
    - Dst: _gnutls_utf8_to_ucs2
      Src: /src/gnutls/lib/x509/verify-high2.c:446,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/verify-high2.c:446,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/verify-high2.c:449,1
    - Dst: _topendir
      Src: /src/gnutls/lib/x509/verify-high2.c:451,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:452,1
    - Dst: _gnutls_pathbuf_init
      Src: /src/gnutls/lib/x509/verify-high2.c:456,1
    - Dst: _treaddir
      Src: /src/gnutls/lib/x509/verify-high2.c:462,1
    - Dst: _gnutls_ucs2_to_utf8
      Src: /src/gnutls/lib/x509/verify-high2.c:474,1
    - Dst: _gnutls_pathbuf_append
      Src: /src/gnutls/lib/x509/verify-high2.c:480,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/verify-high2.c:481,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/x509/verify-high2.c:487,1
    - Dst: gnutls_x509_trust_list_add_trust_file
      Src: /src/gnutls/lib/x509/verify-high2.c:491,1
    - Dst: _gnutls_pathbuf_truncate
      Src: /src/gnutls/lib/x509/verify-high2.c:497,1
    - Dst: _gnutls_pathbuf_deinit
      Src: /src/gnutls/lib/x509/verify-high2.c:499,1
    - Dst: _tclosedir
      Src: /src/gnutls/lib/x509/verify-high2.c:500,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 6
    argNames:
    - dirname
    - list
    - tl_flags
    - tl_vflags
    - type
    - crl
    argTypes:
    - char*
    - gnutls_x509_trust_list_t
    - unsigned int
    - unsigned int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 505
      start: 379
    functionDepth: 10
    functionLinenumber: 379
    functionLinenumberEnd: 505
    functionName: load_dir_certs
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 0
    functionsReached:
    - _gnutls_pathbuf_deinit
    - closedir
    - _topendir
    - gnutls_free
    - strlen
    - _gnutls_utf8_to_ucs2
    - readdir
    - _treaddir
    - _gnutls_pathbuf_truncate
    - opendir
    - _gnutls_pathbuf_init
    - _gnutls_ucs2_to_utf8
    - _gnutls_pathbuf_append
    - _tclosedir
    - gnutls_assert_val
    - gnutls_x509_trust_list_add_trust_file
    linkageType: ''
    returnType: int
    signature: "int load_dir_certs(const char *dirname, gnutls_x509_trust_list_t list,\n\t\t\t
      \ unsigned int tl_flags, unsigned int tl_vflags,\n\t\t\t  unsigned type, unsigned
      crl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_dir_certs
      Src: /src/gnutls/lib/x509/verify-high2.c:535,1
    - Dst: load_dir_certs
      Src: /src/gnutls/lib/x509/verify-high2.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - list
    - ca_dir
    - crl_dir
    - type
    - tl_flags
    - tl_vflags
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    - char*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 550
      start: 524
    functionDepth: 11
    functionLinenumber: 524
    functionLinenumberEnd: 550
    functionName: gnutls_x509_trust_list_add_trust_dir
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 3
    functionsReached:
    - load_dir_certs
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t const char *ca_dir,\n\t\t\t\t\t const char *crl_dir,\n\t\t\t\t\t
      gnutls_x509_crt_fmt_t type,\n\t\t\t\t\t unsigned int tl_flags,\n\t\t\t\t\t unsigned
      int tl_vflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strncasecmp
      Src: /src/gnutls/lib/x509/verify-high2.c:578,1
    - Dst: is_pkcs11_url_object
      Src: /src/gnutls/lib/x509/verify-high2.c:579,1
    - Dst: remove_pkcs11_object_url
      Src: /src/gnutls/lib/x509/verify-high2.c:580,1
    - Dst: remove_pkcs11_url
      Src: /src/gnutls/lib/x509/verify-high2.c:582,1
    - Dst: read_file
      Src: /src/gnutls/lib/x509/verify-high2.c:587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/verify-high2.c:589,1
    - Dst: gnutls_x509_trust_list_remove_trust_mem
      Src: /src/gnutls/lib/x509/verify-high2.c:595,1
    - Dst: free
      Src: /src/gnutls/lib/x509/verify-high2.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - list
    - ca_file
    - type
    argTypes:
    - gnutls_x509_trust_list_t
    - char*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 599
      start: 569
    functionDepth: 4
    functionLinenumber: 569
    functionLinenumberEnd: 599
    functionName: gnutls_x509_trust_list_remove_trust_file
    functionSourceFile: /src/gnutls/lib/x509/verify-high2.c
    functionUses: 4
    functionsReached:
    - remove_pkcs11_object_url
    - c_strncasecmp
    - free
    - remove_pkcs11_url
    - gnutls_x509_trust_list_remove_trust_mem
    - is_pkcs11_url_object
    - read_file
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_trust_list_remove_trust_file(gnutls_x509_trust_list_t
      list,\n\t\t\t\t\t     const char *ca_file,\n\t\t\t\t\t     gnutls_x509_crt_fmt_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:48,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:53,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509.c:55,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509.c:55,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:58,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:59,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:63,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/x509.c:64,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:66,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:70,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/x509.c:71,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - crt
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: crt_reinit
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_subject_alt_names_deinit
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_subject_alt_names_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int crt_reinit(gnutls_x509_crt_t crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_is_same_dn
      Src: /src/gnutls/lib/x509/x509.c:99,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/x509/x509.c:109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:112,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/x509/x509.c:114,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:118,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:127,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:128,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - cert1
    - cert2
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 139
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 139
    functionName: gnutls_x509_crt_equals
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 15
    functionsReached:
    - gnutls_free
    - memcmp
    - _gnutls_is_same_dn
    - gnutls_x509_crt_export2
    - gnutls_assert_val
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_equals(gnutls_x509_crt_t cert1,\n\t\t\t\tgnutls_x509_crt_t
      cert2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/x509/x509.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:169,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:172,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:177,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cert1
    - der
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 187
    functionName: gnutls_x509_crt_equals2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_assert_val
    - gnutls_x509_crt_export2
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_equals2(gnutls_x509_crt_t cert1,\n\t\t\t\t
      const gnutls_datum_t *der)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/x509.c:206,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509.c:211,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:214,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:215,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:216,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/x509.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:221,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:222,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:223,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/x509.c:227,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:229,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:230,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:231,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 242
    functionName: gnutls_x509_crt_init
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 126
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - gnutls_free
    - gnutls_subject_alt_names_deinit
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_subject_alt_names_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_init(gnutls_x509_crt_t *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/x509/x509.c:262,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:264,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/x509.c:271,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:274,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 281
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 281
    functionName: _gnutls_x509_crt_cpy
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_assert_val
    - gnutls_x509_crt_export2
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_crt_cpy(gnutls_x509_crt_t dest, gnutls_x509_crt_t
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:295,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:296,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:297,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:298,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: gnutls_x509_crt_deinit
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 180
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    - gnutls_subject_alt_names_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crt_deinit(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:315,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:316,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:323,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:324,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:327,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:331,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509.c:336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:341,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509.c:345,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:350,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:355,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:357,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:360,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:362,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:366,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:367,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:374,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:375,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 377
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 377
    functionName: compare_sig_algorithm
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_read_value
    - _gnutls_free_datum
    - memcmp
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int compare_sig_algorithm(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:385,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:388,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:389,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/lib/x509/x509.c:393,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:395,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:397,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:400,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:403,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/lib/x509/x509.c:406,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:408,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 414
      start: 379
    functionDepth: 6
    functionLinenumber: 379
    functionLinenumberEnd: 414
    functionName: cache_alt_names
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_x509_crt_get_extension
    - gnutls_x509_ext_import_subject_alt_names
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int cache_alt_names(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: hcomparator
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hcomparator(const void *v1, const void *v2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_pjw_bare
      Src: /src/gnutls/lib/x509/x509.c:427,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - entry
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: hhasher
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - strlen
    - hash_pjw_bare
    linkageType: ''
    returnType: size_t
    signature: size_t hhasher(const void *entry, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/x509.c:440,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:442,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:447,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:453,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 471
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 471
    functionName: has_valid_serial
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_serial
    - _gnutls_debug_log
    linkageType: ''
    returnType: bool
    signature: bool has_valid_serial(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:483,1
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/lib/x509/x509.c:484,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:485,1
    - Dst: gnutls_x509_ext_import_subject_key_id
      Src: /src/gnutls/lib/x509/x509.c:486,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:487,1
    - Dst: gnutls_x509_policies_init
      Src: /src/gnutls/lib/x509/x509.c:489,1
    - Dst: gnutls_x509_ext_import_policies
      Src: /src/gnutls/lib/x509/x509.c:491,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/lib/x509/x509.c:492,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:493,1
    - Dst: gnutls_x509_ext_import_inhibit_anypolicy
      Src: /src/gnutls/lib/x509/x509.c:494,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:495,1
    - Dst: gnutls_x509_aki_init
      Src: /src/gnutls/lib/x509/x509.c:497,1
    - Dst: gnutls_x509_ext_import_authority_key_id
      Src: /src/gnutls/lib/x509/x509.c:499,1
    - Dst: gnutls_x509_aki_deinit
      Src: /src/gnutls/lib/x509/x509.c:500,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:501,1
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/lib/x509/x509.c:502,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:503,1
    - Dst: gnutls_x509_ext_import_private_key_usage_period
      Src: /src/gnutls/lib/x509/x509.c:504,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:506,1
    - Dst: gnutls_x509_key_purpose_init
      Src: /src/gnutls/lib/x509/x509.c:508,1
    - Dst: gnutls_x509_ext_import_key_purposes
      Src: /src/gnutls/lib/x509/x509.c:510,1
    - Dst: gnutls_x509_key_purpose_deinit
      Src: /src/gnutls/lib/x509/x509.c:511,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:512,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:513,1
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/x509.c:515,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/lib/x509/x509.c:517,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/x509.c:518,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:519,1
    - Dst: gnutls_x509_crl_dist_points_init
      Src: /src/gnutls/lib/x509/x509.c:521,1
    - Dst: gnutls_x509_ext_import_crl_dist_points
      Src: /src/gnutls/lib/x509/x509.c:523,1
    - Dst: gnutls_x509_crl_dist_points_deinit
      Src: /src/gnutls/lib/x509/x509.c:524,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:525,1
    - Dst: gnutls_x509_ext_import_proxy
      Src: /src/gnutls/lib/x509/x509.c:526,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:527,1
    - Dst: gnutls_x509_aia_init
      Src: /src/gnutls/lib/x509/x509.c:529,1
    - Dst: gnutls_x509_ext_import_aia
      Src: /src/gnutls/lib/x509/x509.c:531,1
    - Dst: gnutls_x509_aia_deinit
      Src: /src/gnutls/lib/x509/x509.c:532,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:533,1
    - Dst: gnutls_x509_ext_ct_scts_init
      Src: /src/gnutls/lib/x509/x509.c:535,1
    - Dst: gnutls_x509_ext_ct_import_scts
      Src: /src/gnutls/lib/x509/x509.c:537,1
    - Dst: gnutls_x509_ext_ct_scts_deinit
      Src: /src/gnutls/lib/x509/x509.c:538,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:539,1
    - Dst: gnutls_x509_name_constraints_init
      Src: /src/gnutls/lib/x509/x509.c:541,1
    - Dst: gnutls_x509_ext_import_name_constraints
      Src: /src/gnutls/lib/x509/x509.c:543,1
    - Dst: gnutls_x509_name_constraints_deinit
      Src: /src/gnutls/lib/x509/x509.c:544,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/x509.c:545,1
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/lib/x509/x509.c:547,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/lib/x509/x509.c:549,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/lib/x509/x509.c:550,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:555,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:556,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:557,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 2
    argNames:
    - oid
    - der
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 474
    functionDepth: 6
    functionLinenumber: 474
    functionLinenumberEnd: 560
    functionName: is_valid_extension
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_proxy
    - gnutls_subject_alt_names_deinit
    - gnutls_x509_aia_init
    - gnutls_x509_crl_dist_points_deinit
    - gnutls_x509_ext_import_subject_key_id
    - gnutls_x509_ext_import_aia
    - gnutls_x509_ext_ct_scts_init
    - _gnutls_free_datum
    - gnutls_x509_policies_init
    - gnutls_x509_name_constraints_deinit
    - gnutls_x509_key_purpose_init
    - gnutls_x509_ext_import_inhibit_anypolicy
    - gnutls_x509_ext_import_subject_alt_names
    - gnutls_x509_ext_import_policies
    - strcmp
    - gnutls_x509_ext_ct_import_scts
    - gnutls_x509_tlsfeatures_deinit
    - gnutls_x509_name_constraints_init
    - gnutls_x509_ext_ct_scts_deinit
    - gnutls_x509_crl_dist_points_init
    - gnutls_x509_ext_import_tlsfeatures
    - gnutls_x509_ext_import_key_purposes
    - gnutls_x509_aia_deinit
    - gnutls_x509_policies_deinit
    - gnutls_x509_key_purpose_deinit
    - gnutls_x509_ext_import_key_usage
    - gnutls_x509_ext_import_basic_constraints
    - gnutls_x509_ext_import_crl_dist_points
    - gnutls_x509_ext_import_private_key_usage_period
    - gnutls_free
    - gnutls_x509_ext_import_authority_key_id
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_aki_init
    - gnutls_x509_ext_import_name_constraints
    - gnutls_x509_aki_deinit
    - gnutls_subject_alt_names_init
    linkageType: ''
    returnType: bool
    signature: bool is_valid_extension(const char *oid, gnutls_datum_t *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_version
      Src: /src/gnutls/lib/x509/x509.c:574,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:576,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:584,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:586,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/x509.c:592,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:596,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:599,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:604,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:607,1
    - Dst: hash_initialize
      Src: /src/gnutls/lib/x509/x509.c:618,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:621,1
    - Dst: gnutls_x509_crt_get_extension_info
      Src: /src/gnutls/lib/x509/x509.c:625,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:631,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/x509.c:634,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:636,1
    - Dst: hash_insert_if_absent
      Src: /src/gnutls/lib/x509/x509.c:640,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:642,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:643,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:647,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:648,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:651,1
    - Dst: gnutls_x509_crt_get_extension_data2
      Src: /src/gnutls/lib/x509/x509.c:658,1
    - Dst: is_valid_extension
      Src: /src/gnutls/lib/x509/x509.c:662,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:663,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:664,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:666,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:669,1
    - Dst: hash_free
      Src: /src/gnutls/lib/x509/x509.c:673,1
    - Dst: gnutls_x509_crt_get_subject_unique_id
      Src: /src/gnutls/lib/x509/x509.c:682,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:684,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:687,1
    - Dst: gnutls_x509_crt_get_issuer_unique_id
      Src: /src/gnutls/lib/x509/x509.c:693,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:695,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:698,1
    - Dst: has_valid_serial
      Src: /src/gnutls/lib/x509/x509.c:705,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:706,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/x509.c:711,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/x509.c:712,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/x509.c:713,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:715,1
    - Dst: hash_free
      Src: /src/gnutls/lib/x509/x509.c:723,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 107
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 725
      start: 564
    functionDepth: 7
    functionLinenumber: 564
    functionLinenumberEnd: 725
    functionName: _gnutls_check_cert_sanity
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert_val
    - _gnutls_x509_get_raw_field2
    - has_valid_serial
    - gnutls_x509_crt_get_extension_info
    - _gnutls_debug_log
    - gnutls_x509_crt_get_expiration_time
    - is_valid_extension
    - gnutls_x509_crt_get_subject_unique_id
    - gnutls_x509_crt_get_issuer_unique_id
    - gnutls_x509_crt_get_activation_time
    - hash_insert_if_absent
    - gnutls_x509_crt_get_version
    - gnutls_free
    - gnutls_strdup
    - hash_initialize
    - gnutls_x509_crt_get_extension_data2
    - hash_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_cert_sanity(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:749,1
    - Dst: crt_reinit
      Src: /src/gnutls/lib/x509/x509.c:757,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:759,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/x509.c:768,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/x509.c:773,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:778,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509.c:783,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:785,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509.c:793,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:796,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:797,1
    - Dst: compare_sig_algorithm
      Src: /src/gnutls/lib/x509/x509.c:801,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:803,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/x509.c:808,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:812,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/x509.c:816,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:820,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/x509.c:824,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:828,1
    - Dst: cache_alt_names
      Src: /src/gnutls/lib/x509/x509.c:832,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:834,1
    - Dst: _gnutls_check_cert_sanity
      Src: /src/gnutls/lib/x509/x509.c:838,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:840,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:851,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 3
    argNames:
    - cert
    - data
    - format
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 853
      start: 743
    functionDepth: 8
    functionLinenumber: 743
    functionLinenumberEnd: 853
    functionName: gnutls_x509_crt_import
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 114
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_fbase64_decode
    - _gnutls_x509_get_raw_field2
    - _gnutls_free_datum
    - compare_sig_algorithm
    - crt_reinit
    - cache_alt_names
    - _gnutls_check_cert_sanity
    - _asn1_strict_der_decode
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_import(gnutls_x509_crt_t cert, const gnutls_datum_t
      *data,\n\t\t\t   gnutls_x509_crt_fmt_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:880,1
    - Dst: _gnutls_x509_parse_dn
      Src: /src/gnutls/lib/x509/x509.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 887
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 887
    functionName: gnutls_x509_crt_get_issuer_dn
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_parse_dn
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_dn(gnutls_x509_crt_t cert, char *buf,\n\t\t\t\t
      \ size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:910,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: gnutls_x509_crt_get_issuer_dn2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t cert, gnutls_datum_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:943,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - dn
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: gnutls_x509_crt_get_issuer_dn3
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_dn3(gnutls_x509_crt_t cert, gnutls_datum_t
      *dn,\n\t\t\t\t   unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:989,1
    - Dst: _gnutls_x509_parse_dn_oid
      Src: /src/gnutls/lib/x509/x509.c:993,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:997,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/x509.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - cert
    - oid
    - indx
    - raw_flag
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1000
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 1000
    functionName: gnutls_x509_crt_get_issuer_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    - _gnutls_x509_parse_dn_oid
    - gnutls_assert
    - _gnutls_strdatum_to_buf
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_dn_by_oid(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      const char *oid, unsigned indx,\n\t\t\t\t\t unsigned int raw_flag, void *buf,\n\t\t\t\t\t
      size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1025,1
    - Dst: _gnutls_x509_get_dn_oid
      Src: /src/gnutls/lib/x509/x509.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cert
    - indx
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1032
    functionName: gnutls_x509_crt_get_issuer_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_dn_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_dn_oid(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t      void *oid, size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1059,1
    - Dst: _gnutls_x509_parse_dn
      Src: /src/gnutls/lib/x509/x509.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1066
    functionName: gnutls_x509_crt_get_dn
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_parse_dn
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_dn(gnutls_x509_crt_t cert, char *buf, size_t
      *buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1089,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1096
    functionName: gnutls_x509_crt_get_dn2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_dn2(gnutls_x509_crt_t cert, gnutls_datum_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1122,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cert
    - dn
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1128
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1128
    functionName: gnutls_x509_crt_get_dn3
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 6
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_dn3(gnutls_x509_crt_t cert, gnutls_datum_t
      *dn,\n\t\t\t    unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1167,1
    - Dst: _gnutls_x509_parse_dn_oid
      Src: /src/gnutls/lib/x509/x509.c:1171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1175,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/x509.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - cert
    - oid
    - indx
    - raw_flag
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1178
    functionName: gnutls_x509_crt_get_dn_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - gnutls_assert_val
    - _gnutls_x509_parse_dn_oid
    - gnutls_assert
    - _gnutls_strdatum_to_buf
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_dn_by_oid(gnutls_x509_crt_t cert, const char
      *oid,\n\t\t\t\t  unsigned indx, unsigned int raw_flag,\n\t\t\t\t  void *buf,
      size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1203,1
    - Dst: _gnutls_x509_get_dn_oid
      Src: /src/gnutls/lib/x509/x509.c:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cert
    - indx
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1210
    functionName: gnutls_x509_crt_get_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_get_dn_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_dn_oid(gnutls_x509_crt_t cert, unsigned indx,
      void *oid,\n\t\t\t       size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_errs_to_zero
      Src: /src/gnutls/lib/x509/x509.c:1228,1
    - Dst: _gnutls_x509_get_signature_algorithm
      Src: /src/gnutls/lib/x509/x509.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1230
      start: 1226
    functionDepth: 4
    functionLinenumber: 1226
    functionLinenumberEnd: 1230
    functionName: gnutls_x509_crt_get_signature_algorithm
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 6
    functionsReached:
    - map_errs_to_zero
    - _gnutls_x509_get_signature_algorithm
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_signature_algorithm(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:1255,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1258,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:1259,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:1265,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cert
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1272
    functionName: gnutls_x509_crt_get_signature_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_signature_oid(gnutls_x509_crt_t cert, char
      *oid,\n\t\t\t\t      size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:1297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1302,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:1303,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:1309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cert
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1316
    functionName: gnutls_x509_crt_get_pk_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_pk_oid(gnutls_x509_crt_t cert, char *oid,\n\t\t\t
      \      size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1336,1
    - Dst: _gnutls_x509_get_signature
      Src: /src/gnutls/lib/x509/x509.c:1338,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1340,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1342,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1344,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - cert
    - sig
    - sig_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1352
    functionName: gnutls_x509_crt_get_signature
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_x509_get_signature
    - _gnutls_copy_data
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_signature(gnutls_x509_crt_t cert, char *sig,\n\t\t\t\t
      \ size_t *sig_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1365,1
    - Dst: _gnutls_x509_get_version
      Src: /src/gnutls/lib/x509/x509.c:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1370
      start: 1362
    functionDepth: 2
    functionLinenumber: 1362
    functionLinenumberEnd: 1370
    functionName: gnutls_x509_crt_get_version
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 6
    functionsReached:
    - _gnutls_x509_get_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_version(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1384,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/x509.c:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1390
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1390
    functionName: gnutls_x509_crt_get_activation_time
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 9
    functionsReached:
    - _gnutls_x509_get_time
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_x509_crt_get_activation_time(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1404,1
    - Dst: _gnutls_x509_get_time
      Src: /src/gnutls/lib/x509/x509.c:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1410
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1410
    functionName: gnutls_x509_crt_get_expiration_time
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 10
    functionsReached:
    - _gnutls_x509_get_time
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_x509_crt_get_expiration_time(gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1435,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:1439,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1445,1
    - Dst: gnutls_x509_ext_import_private_key_usage_period
      Src: /src/gnutls/lib/x509/x509.c:1447,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1450,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:1457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - cert
    - activation
    - expiration
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - time_t*
    - time_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1460
    functionName: gnutls_x509_crt_get_private_key_usage_period
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_assert_val
    - _gnutls_x509_crt_get_extension
    - gnutls_x509_ext_import_private_key_usage_period
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_private_key_usage_period(gnutls_x509_crt_t
      cert,\n\t\t\t\t\t\t time_t *activation,\n\t\t\t\t\t\t time_t *expiration,\n\t\t\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1482,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:1487,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1492,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cert
    - result
    - result_size
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1497
    functionName: gnutls_x509_crt_get_serial
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 10
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_serial(gnutls_x509_crt_t cert, void *result,\n\t\t\t
      \      size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1521,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:1528,1
    - Dst: gnutls_x509_ext_import_subject_key_id
      Src: /src/gnutls/lib/x509/x509.c:1533,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1535,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1539,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1541,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1548,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - cert
    - ret
    - ret_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1551
    functionName: gnutls_x509_crt_get_subject_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 9
    functionsReached:
    - gnutls_free
    - gnutls_x509_ext_import_subject_key_id
    - _gnutls_copy_data
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t cert, void
      *ret,\n\t\t\t\t       size_t *ret_size, unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1561
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1561
    functionName: is_type_printable
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_type_printable(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1598,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:1602,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1608,1
    - Dst: gnutls_x509_aki_init
      Src: /src/gnutls/lib/x509/x509.c:1612,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1614,1
    - Dst: gnutls_x509_ext_import_authority_key_id
      Src: /src/gnutls/lib/x509/x509.c:1618,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1620,1
    - Dst: gnutls_x509_aki_get_cert_issuer
      Src: /src/gnutls/lib/x509/x509.c:1624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1627,1
    - Dst: is_type_printable
      Src: /src/gnutls/lib/x509/x509.c:1631,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:1632,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1634,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1636,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1645,1
    - Dst: gnutls_x509_aki_deinit
      Src: /src/gnutls/lib/x509/x509.c:1652,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1653,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 8
    argNames:
    - cert
    - seq
    - alt
    - alt_size
    - alt_type
    - serial
    - serial_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1587
    functionDepth: 6
    functionLinenumber: 1587
    functionLinenumberEnd: 1655
    functionName: gnutls_x509_crt_get_authority_key_gn_serial
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_aki_get_cert_issuer
    - is_type_printable
    - gnutls_x509_ext_import_authority_key_id
    - gnutls_assert
    - gnutls_x509_aki_init
    - _gnutls_copy_data
    - gnutls_x509_aki_deinit
    - _gnutls_x509_crt_get_extension
    - _gnutls_copy_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_authority_key_gn_serial(\n\tgnutls_x509_crt_t
      cert, unsigned int seq, void *alt, size_t *alt_size,\n\tunsigned int *alt_type,
      void *serial, size_t *serial_size,\n\tunsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1684,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:1688,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1690,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1694,1
    - Dst: gnutls_x509_aki_init
      Src: /src/gnutls/lib/x509/x509.c:1698,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1700,1
    - Dst: gnutls_x509_ext_import_authority_key_id
      Src: /src/gnutls/lib/x509/x509.c:1704,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1706,1
    - Dst: gnutls_x509_aki_get_id
      Src: /src/gnutls/lib/x509/x509.c:1710,1
    - Dst: gnutls_x509_aki_get_cert_issuer
      Src: /src/gnutls/lib/x509/x509.c:1714,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1717,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1720,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1726,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1730,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1732,1
    - Dst: gnutls_x509_aki_deinit
      Src: /src/gnutls/lib/x509/x509.c:1739,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1740,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - cert
    - id
    - id_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1675
    functionDepth: 6
    functionLinenumber: 1675
    functionLinenumberEnd: 1742
    functionName: gnutls_x509_crt_get_authority_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_x509_aki_get_cert_issuer
    - gnutls_x509_ext_import_authority_key_id
    - gnutls_assert
    - gnutls_x509_aki_init
    - _gnutls_copy_data
    - gnutls_x509_aki_deinit
    - _gnutls_x509_crt_get_extension
    - gnutls_assert_val
    - gnutls_x509_aki_get_id
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_authority_key_id(gnutls_x509_crt_t cert, void
      *id,\n\t\t\t\t\t size_t *id_size,\n\t\t\t\t\t unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1767,1
    - Dst: _gnutls_x509_get_pk_algorithm
      Src: /src/gnutls/lib/x509/x509.c:1774,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cert
    - bits
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1762
    functionDepth: 4
    functionLinenumber: 1762
    functionLinenumberEnd: 1783
    functionName: gnutls_x509_crt_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 12
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_get_pk_algorithm
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_pk_algorithm(gnutls_x509_crt_t cert, unsigned
      int *bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1803,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/x509.c:1807,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509.c:1809,1
    - Dst: _gnutls_x509_crt_read_spki_params
      Src: /src/gnutls/lib/x509/x509.c:1811,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1813,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cert
    - spki
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_spki_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1824
      start: 1796
    functionDepth: 5
    functionLinenumber: 1796
    functionLinenumberEnd: 1824
    functionName: gnutls_x509_crt_get_spki
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - _gnutls_x509_crt_read_spki_params
    - memset
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_spki(gnutls_x509_crt_t cert, gnutls_x509_spki_t
      spki,\n\t\t\t     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1851,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1853,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1855,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:1859,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1866,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:1867,1
    - Dst: _gnutls_x509_san_find_type
      Src: /src/gnutls/lib/x509/x509.c:1870,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1872,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/x509.c:1881,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/x509.c:1884,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509.c:1886,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1888,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1899,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1903,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:1906,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:1911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1913,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:1914,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/x509.c:1924,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/x509.c:1925,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1927,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1931,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/x509.c:1935,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/x509.c:1936,1
    - Dst: _gnutls_x509_read_null_value
      Src: /src/gnutls/lib/x509/x509.c:1938,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1940,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1952,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 6
    argNames:
    - src
    - src_name
    - seq
    - dname
    - ret_type
    - othername_oid
    argTypes:
    - asn1_node
    - char*
    - int
    - gnutls_datum_t*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 1954
      start: 1836
    functionDepth: 3
    functionLinenumber: 1836
    functionLinenumberEnd: 1954
    functionName: _gnutls_parse_general_name2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_san_find_type
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _gnutls_x509_get_dn
    - _gnutls_x509_read_null_value
    - gnutls_assert
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_general_name2(asn1_node src, const char *src_name,
      int seq,\n\t\t\t\tgnutls_datum_t *dname, unsigned int *ret_type,\n\t\t\t\tint
      othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/x509.c:1967,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:1970,1
    - Dst: is_type_printable
      Src: /src/gnutls/lib/x509/x509.c:1974,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:1975,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:1977,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:1981,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:1987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - src
    - src_name
    - seq
    - name
    - name_size
    - ret_type
    - othername_oid
    argTypes:
    - asn1_node
    - char*
    - int
    - void*
    - size_t*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 1989
      start: 1959
    functionDepth: 4
    functionLinenumber: 1959
    functionLinenumberEnd: 1989
    functionName: _gnutls_parse_general_name
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - _gnutls_parse_general_name2
    - is_type_printable
    - gnutls_assert
    - _gnutls_copy_data
    - _gnutls_copy_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_general_name(asn1_node src, const char *src_name,
      int seq,\n\t\t\t       void *name, size_t *name_size,\n\t\t\t       unsigned
      int *ret_type, int othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2002,1
    - Dst: gnutls_subject_alt_names_get
      Src: /src/gnutls/lib/x509/x509.c:2009,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2011,1
    - Dst: gnutls_x509_othername_to_virtual
      Src: /src/gnutls/lib/x509/x509.c:2017,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:2030,1
    - Dst: is_type_printable
      Src: /src/gnutls/lib/x509/x509.c:2032,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:2033,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:2035,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2040,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:2046,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 7
    argNames:
    - san
    - seq
    - alt
    - alt_size
    - alt_type
    - critical
    - othername_oid
    argTypes:
    - gnutls_subject_alt_names_t
    - unsigned int
    - uint8_t*
    - size_t*
    - unsigned int*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 2049
      start: 1991
    functionDepth: 2
    functionLinenumber: 1991
    functionLinenumberEnd: 2049
    functionName: get_alt_name
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - is_type_printable
    - gnutls_subject_alt_names_get
    - _gnutls_copy_data
    - _gnutls_copy_string
    - gnutls_assert
    - gnutls_x509_othername_to_virtual
    linkageType: ''
    returnType: int
    signature: "int get_alt_name(gnutls_subject_alt_names_t san, unsigned int seq,\n\t\t\tuint8_t
      *alt, size_t *alt_size, unsigned int *alt_type,\n\t\t\tunsigned int *critical,
      int othername_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cert
    - seq
    - san
    - san_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2087
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2087
    functionName: gnutls_x509_crt_get_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_subject_alt_name(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      unsigned int seq, void *san,\n\t\t\t\t\t size_t *san_size,\n\t\t\t\t\t unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cert
    - seq
    - ian
    - ian_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2122
    functionDepth: 3
    functionLinenumber: 2122
    functionLinenumberEnd: 2128
    functionName: gnutls_x509_crt_get_issuer_alt_name
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_alt_name(gnutls_x509_crt_t cert,\n\t\t\t\t\tunsigned
      int seq, void *ian,\n\t\t\t\t\tsize_t *ian_size,\n\t\t\t\t\tunsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cert
    - seq
    - san
    - san_size
    - san_type
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2154
    functionDepth: 3
    functionLinenumber: 2154
    functionLinenumberEnd: 2162
    functionName: gnutls_x509_crt_get_subject_alt_name2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_subject_alt_name2(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \ unsigned int seq, void *san,\n\t\t\t\t\t  size_t *san_size,\n\t\t\t\t\t  unsigned
      int *san_type,\n\t\t\t\t\t  unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cert
    - seq
    - ian
    - ian_size
    - ian_type
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2191
    functionDepth: 3
    functionLinenumber: 2191
    functionLinenumberEnd: 2199
    functionName: gnutls_x509_crt_get_issuer_alt_name2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_alt_name2(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      unsigned int seq, void *ian,\n\t\t\t\t\t size_t *ian_size,\n\t\t\t\t\t unsigned
      int *ian_type,\n\t\t\t\t\t unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - seq
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2231
    functionDepth: 3
    functionLinenumber: 2231
    functionLinenumberEnd: 2236
    functionName: gnutls_x509_crt_get_subject_alt_othername_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_subject_alt_othername_oid(gnutls_x509_crt_t
      cert,\n\t\t\t\t\t\t  unsigned int seq, void *oid,\n\t\t\t\t\t\t  size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_alt_name
      Src: /src/gnutls/lib/x509/x509.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - seq
    - ret
    - ret_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2275
      start: 2270
    functionDepth: 3
    functionLinenumber: 2270
    functionLinenumberEnd: 2275
    functionName: gnutls_x509_crt_get_issuer_alt_othername_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - get_alt_name
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_alt_othername_oid(gnutls_x509_crt_t
      cert,\n\t\t\t\t\t\t unsigned int seq, void *ret,\n\t\t\t\t\t\t size_t *ret_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2306,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2316,1
    - Dst: gnutls_x509_ext_import_basic_constraints
      Src: /src/gnutls/lib/x509/x509.c:2320,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - cert
    - critical
    - ca
    - pathlen
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int*
    - int*
    constantsTouched: []
    func_position:
      end: 2333
      start: 2297
    functionDepth: 2
    functionLinenumber: 2297
    functionLinenumberEnd: 2333
    functionName: gnutls_x509_crt_get_basic_constraints
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_x509_ext_import_basic_constraints
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \ unsigned int *critical,\n\t\t\t\t\t  unsigned int *ca, int *pathlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_basic_constraints
      Src: /src/gnutls/lib/x509/x509.c:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2354
    functionDepth: 3
    functionLinenumber: 2354
    functionLinenumberEnd: 2361
    functionName: gnutls_x509_crt_get_ca_status
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 5
    functionsReached:
    - gnutls_x509_crt_get_basic_constraints
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_ca_status(gnutls_x509_crt_t cert,\n\t\t\t\t
      \ unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2390,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2394,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2400,1
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/lib/x509/x509.c:2404,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2405,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - cert
    - key_usage
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2382
    functionDepth: 2
    functionLinenumber: 2382
    functionLinenumberEnd: 2413
    functionName: gnutls_x509_crt_get_key_usage
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 8
    functionsReached:
    - gnutls_x509_ext_import_key_usage
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_key_usage(gnutls_x509_crt_t cert,\n\t\t\t\t
      \ unsigned int *key_usage,\n\t\t\t\t  unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2442,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2446,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2452,1
    - Dst: gnutls_x509_ext_import_key_usage
      Src: /src/gnutls/lib/x509/x509.c:2456,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2457,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - cert
    - skipcerts
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2465
      start: 2434
    functionDepth: 2
    functionLinenumber: 2434
    functionLinenumberEnd: 2465
    functionName: gnutls_x509_crt_get_inhibit_anypolicy
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_ext_import_key_usage
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_inhibit_anypolicy(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \ unsigned int *skipcerts,\n\t\t\t\t\t  unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2492,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2496,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2503,1
    - Dst: gnutls_x509_ext_import_proxy
      Src: /src/gnutls/lib/x509/x509.c:2507,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2509,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - cert
    - critical
    - pathlen
    - policyLanguage
    - policy
    - sizeof_policy
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int*
    - int*
    - char**
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2484
    functionDepth: 2
    functionLinenumber: 2484
    functionLinenumberEnd: 2516
    functionName: gnutls_x509_crt_get_proxy
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - gnutls_x509_ext_import_proxy
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_proxy(gnutls_x509_crt_t cert, unsigned int
      *critical,\n\t\t\t      int *pathlen, char **policyLanguage,\n\t\t\t      char
      **policy, size_t *sizeof_policy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:2531,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:2533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - policy
    argTypes:
    - struct gnutls_x509_policy_st*
    constantsTouched: []
    func_position:
      end: 2534
      start: 2527
    functionDepth: 1
    functionLinenumber: 2527
    functionLinenumberEnd: 2534
    functionName: gnutls_x509_policy_release
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_policy_release(struct gnutls_x509_policy_st *policy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2563,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509.c:2567,1
    - Dst: gnutls_x509_policies_init
      Src: /src/gnutls/lib/x509/x509.c:2569,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:2571,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2573,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2579,1
    - Dst: gnutls_x509_ext_import_policies
      Src: /src/gnutls/lib/x509/x509.c:2584,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2586,1
    - Dst: gnutls_x509_policies_get
      Src: /src/gnutls/lib/x509/x509.c:2590,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2592,1
    - Dst: _gnutls_x509_policies_erase
      Src: /src/gnutls/lib/x509/x509.c:2596,1
    - Dst: gnutls_x509_policies_deinit
      Src: /src/gnutls/lib/x509/x509.c:2602,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2603,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - crt
    - indx
    - policy
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - struct gnutls_x509_policy_st*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2606
      start: 2554
    functionDepth: 5
    functionLinenumber: 2554
    functionLinenumberEnd: 2606
    functionName: gnutls_x509_crt_get_policy
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_policies_get
    - gnutls_x509_policies_deinit
    - _gnutls_free_datum
    - gnutls_x509_policies_init
    - gnutls_assert
    - gnutls_x509_ext_import_policies
    - memset
    - _gnutls_x509_policies_erase
    - _gnutls_x509_crt_get_extension
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_policy(gnutls_x509_crt_t crt, unsigned indx,\n\t\t\t
      \      struct gnutls_x509_policy_st *policy,\n\t\t\t       unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2635,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2639,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2641,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2646,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2652,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509.c:2659,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:2661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - cert
    - oid
    - indx
    - buf
    - buf_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2664
      start: 2626
    functionDepth: 2
    functionLinenumber: 2626
    functionLinenumberEnd: 2664
    functionName: gnutls_x509_crt_get_extension_by_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gnutls_free_datum
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_by_oid(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      const char *oid, unsigned indx,\n\t\t\t\t\t void *buf, size_t *buf_size,\n\t\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2693,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:2697,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2699,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - cert
    - oid
    - indx
    - output
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2709
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2709
    functionName: gnutls_x509_crt_get_extension_by_oid2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_by_oid2(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \ const char *oid, unsigned indx,\n\t\t\t\t\t  gnutls_datum_t *output,\n\t\t\t\t\t
      \ unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2735,1
    - Dst: _gnutls_x509_crt_get_extension_oid
      Src: /src/gnutls/lib/x509/x509.c:2739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cert
    - indx
    - oid
    - oid_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2729
    functionDepth: 1
    functionLinenumber: 2729
    functionLinenumberEnd: 2745
    functionName: gnutls_x509_crt_get_extension_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_crt_get_extension_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t      void *oid, size_t *oid_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2782,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:2786,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:2790,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2796,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:2797,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:2805,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:2808,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2810,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:2811,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - cert
    - indx
    - oid
    - oid_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2821
    functionName: gnutls_x509_crt_get_extension_info
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_info(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t       void *oid, size_t *oid_size,\n\t\t\t\t       unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2851,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:2855,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:2859,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:2870,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:2871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - cert
    - indx
    - data
    - sizeof_data
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2875
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2875
    functionName: gnutls_x509_crt_get_extension_data
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_data(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t       void *data, size_t *sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509.c:2893,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/x509.c:2896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2889
    functionDepth: 2
    functionLinenumber: 2889
    functionLinenumberEnd: 2899
    functionName: gnutls_x509_crt_get_raw_issuer_dn
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_x509_get_raw_field
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_raw_issuer_dn(gnutls_x509_crt_t cert,\n\t\t\t\t
      \     gnutls_datum_t *dn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509.c:2916,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/x509.c:2919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2913
    functionDepth: 2
    functionLinenumber: 2913
    functionLinenumberEnd: 2922
    functionName: gnutls_x509_crt_get_raw_dn
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 5
    functionsReached:
    - _gnutls_set_datum
    - _gnutls_x509_get_raw_field
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_raw_dn(gnutls_x509_crt_t cert, gnutls_datum_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_find_node
      Src: /src/gnutls/lib/x509/x509.c:2934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - cert
    - whom
    - dn
    - subject
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - gnutls_x509_dn_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2941
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2941
    functionName: get_dn
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 15
    functionsReached:
    - asn1_find_node
    linkageType: ''
    returnType: int
    signature: "int get_dn(gnutls_x509_crt_t cert, const char *whom,\n\t\t  gnutls_x509_dn_t
      *dn, unsigned subject)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_dn
      Src: /src/gnutls/lib/x509/x509.c:2959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_dn_t*
    constantsTouched: []
    func_position:
      end: 2960
      start: 2957
    functionDepth: 1
    functionLinenumber: 2957
    functionLinenumberEnd: 2960
    functionName: gnutls_x509_crt_get_subject
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - get_dn
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_subject(gnutls_x509_crt_t cert, gnutls_x509_dn_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_dn
      Src: /src/gnutls/lib/x509/x509.c:2978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - dn
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_dn_t*
    constantsTouched: []
    func_position:
      end: 2979
      start: 2976
    functionDepth: 1
    functionLinenumber: 2976
    functionLinenumberEnd: 2979
    functionName: gnutls_x509_crt_get_issuer
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - get_dn
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_crt_get_issuer(gnutls_x509_crt_t cert, gnutls_x509_dn_t
      *dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/x509.c:3012,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3014,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:3015,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509.c:3018,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3020,1
    - Dst: asn1_der_coding
      Src: /src/gnutls/lib/x509/x509.c:3025,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3028,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:3029,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:3030,1
    - Dst: gnutls_fingerprint
      Src: /src/gnutls/lib/x509/x509.c:3036,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:3037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cert
    - algo
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_digest_algorithm_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 3040
      start: 2998
    functionDepth: 3
    functionLinenumber: 2998
    functionLinenumberEnd: 3040
    functionName: gnutls_x509_crt_get_fingerprint
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - gnutls_fingerprint
    - gnutls_malloc
    - gnutls_assert
    - asn1_der_coding
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_fingerprint(gnutls_x509_crt_t cert,\n\t\t\t\t
      \   gnutls_digest_algorithm_t algo, void *buf,\n\t\t\t\t    size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/lib/x509/x509.c:3068,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3070,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:3073,1
    - Dst: _gnutls_copy_data
      Src: /src/gnutls/lib/x509/x509.c:3076,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3079,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:3085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - cert
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 3087
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3087
    functionName: gnutls_x509_crt_export
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - _gnutls_copy_data
    - gnutls_x509_crt_export2
    - gnutls_assert_val
    - _gnutls_copy_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_export(gnutls_x509_crt_t cert, gnutls_x509_crt_fmt_t
      format,\n\t\t\t   void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3110,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/x509.c:3116,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/x509.c:3128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cert
    - format
    - out
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3130
      start: 3106
    functionDepth: 2
    functionLinenumber: 3106
    functionLinenumberEnd: 3130
    functionName: gnutls_x509_crt_export2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 25
    functionsReached:
    - _gnutls_x509_export_int2
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_export2(gnutls_x509_crt_t cert,\n\t\t\t    gnutls_x509_crt_fmt_t
      format, gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/x509/x509.c:3146,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/x509.c:3146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3149,1
    - Dst: _gnutls_x509_encode_PKI_params
      Src: /src/gnutls/lib/x509/x509.c:3154,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3156,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/x509/x509.c:3158,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3160,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:3169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - params
    - output_data
    - output_data_size
    - flags
    argTypes:
    - gnutls_pk_params_st*
    - unsigned char*
    - size_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3171
      start: 3132
    functionDepth: 5
    functionLinenumber: 3132
    functionLinenumberEnd: 3171
    functionName: _gnutls_get_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - _gnutls_free_datum
    - hash_to_entry
    - gnutls_assert
    - _gnutls_hash_get_algo_len
    - _gnutls_hash_fast
    - _gnutls_x509_encode_PKI_params
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_key_id(gnutls_pk_params_st *params, unsigned char
      *output_data,\n\t\t       size_t *output_data_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3201,1
    - Dst: _gnutls_x509_crt_get_mpis
      Src: /src/gnutls/lib/x509/x509.c:3206,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3208,1
    - Dst: _gnutls_get_key_id
      Src: /src/gnutls/lib/x509/x509.c:3212,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/x509/x509.c:3214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - crt
    - flags
    - output_data
    - output_data_size
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - unsigned char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3193
    functionDepth: 6
    functionLinenumber: 3193
    functionLinenumberEnd: 3217
    functionName: gnutls_x509_crt_get_key_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 11
    functionsReached:
    - gnutls_pk_params_release
    - _gnutls_get_key_id
    - _gnutls_x509_crt_get_mpis
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_key_id(gnutls_x509_crt_t crt, unsigned int
      flags,\n\t\t\t       unsigned char *output_data,\n\t\t\t       size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_compare_raw_dn
      Src: /src/gnutls/lib/x509/x509.c:3221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crl
    - cert
    argTypes:
    - gnutls_x509_crl_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 3226
      start: 3219
    functionDepth: 1
    functionLinenumber: 3219
    functionLinenumberEnd: 3226
    functionName: crl_issuer_matches
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_compare_raw_dn
    linkageType: ''
    returnType: int
    signature: int crl_issuer_matches(gnutls_x509_crl_t crl, gnutls_x509_crt_t cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3243,1
    - Dst: crl_issuer_matches
      Src: /src/gnutls/lib/x509/x509.c:3251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3256,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/x509.c:3263,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3266,1
    - Dst: gnutls_x509_crl_iter_crt_serial
      Src: /src/gnutls/lib/x509/x509.c:3277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3282,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:3287,1
    - Dst: func
      Src: /src/gnutls/lib/x509/x509.c:3291,1
    - Dst: gnutls_x509_crl_iter_deinit
      Src: /src/gnutls/lib/x509/x509.c:3300,1
    - Dst: func
      Src: /src/gnutls/lib/x509/x509.c:3304,1
    - Dst: gnutls_x509_crl_iter_deinit
      Src: /src/gnutls/lib/x509/x509.c:3309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - cert
    - crl_list
    - crl_list_length
    - func
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crl_t*
    - int
    - gnutls_verify_output_function
    constantsTouched: []
    func_position:
      end: 3311
      start: 3231
    functionDepth: 2
    functionLinenumber: 3231
    functionLinenumberEnd: 3311
    functionName: _gnutls_x509_crt_check_revocation
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crl_iter_deinit
    - crl_issuer_matches
    - memcmp
    - gnutls_x509_crt_get_serial
    - func
    - gnutls_assert
    - gnutls_x509_crl_iter_crt_serial
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,\n\t\t\t\t
      \     const gnutls_x509_crl_t *crl_list,\n\t\t\t\t      int crl_list_length,\n\t\t\t\t
      \     gnutls_verify_output_function func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crt_check_revocation
      Src: /src/gnutls/lib/x509/x509.c:3329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - crl_list
    - crl_list_length
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_crl_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3331
      start: 3325
    functionDepth: 3
    functionLinenumber: 3325
    functionLinenumberEnd: 3331
    functionName: gnutls_x509_crt_check_revocation
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - _gnutls_x509_crt_check_revocation
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_check_revocation(gnutls_x509_crt_t cert,\n\t\t\t\t
      \    const gnutls_x509_crl_t *crl_list,\n\t\t\t\t     unsigned crl_list_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/x509.c:3350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - purpose
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3352
      start: 3347
    functionDepth: 2
    functionLinenumber: 3347
    functionLinenumberEnd: 3352
    functionName: gnutls_x509_crt_check_key_purpose
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_check_key_purpose
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_key_purpose(gnutls_x509_crt_t cert,\n\t\t\t\t\t
      \  const char *purpose, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3379,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:3383,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3385,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:3387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3389,1
    - Dst: gnutls_pubkey_get_preferred_hash_algorithm
      Src: /src/gnutls/lib/x509/x509.c:3393,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3395,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:3400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - crt
    - hash
    - mand
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_digest_algorithm_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3402
      start: 3371
    functionDepth: 3
    functionLinenumber: 3371
    functionLinenumberEnd: 3402
    functionName: gnutls_x509_crt_get_preferred_hash_algorithm
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_get_preferred_hash_algorithm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_preferred_hash_algorithm(gnutls_x509_crt_t
      crt,\n\t\t\t\t\t\t gnutls_digest_algorithm_t *hash,\n\t\t\t\t\t\t unsigned int
      *mand)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3438,1
    - Dst: gnutls_x509_crl_dist_points_init
      Src: /src/gnutls/lib/x509/x509.c:3442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3444,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:3449,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3452,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3457,1
    - Dst: gnutls_x509_ext_import_crl_dist_points
      Src: /src/gnutls/lib/x509/x509.c:3462,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3464,1
    - Dst: gnutls_x509_crl_dist_points_get
      Src: /src/gnutls/lib/x509/x509.c:3468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3471,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:3475,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3477,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:3484,1
    - Dst: gnutls_x509_crl_dist_points_deinit
      Src: /src/gnutls/lib/x509/x509.c:3486,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 6
    argNames:
    - cert
    - seq
    - san
    - san_size
    - reason_flags
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - void*
    - size_t*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3489
      start: 3425
    functionDepth: 3
    functionLinenumber: 3425
    functionLinenumberEnd: 3489
    functionName: gnutls_x509_crt_get_crl_dist_points
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crl_dist_points_deinit
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_x509_crl_dist_points_get
    - gnutls_x509_ext_import_crl_dist_points
    - gnutls_x509_crl_dist_points_init
    - _gnutls_x509_crt_get_extension
    - _gnutls_copy_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_crl_dist_points(gnutls_x509_crt_t cert,\n\t\t\t\t\tunsigned
      int seq, void *san,\n\t\t\t\t\tsize_t *san_size,\n\t\t\t\t\tunsigned int *reason_flags,\n\t\t\t\t\tunsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3522,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509.c:3527,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:3531,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3537,1
    - Dst: gnutls_x509_key_purpose_init
      Src: /src/gnutls/lib/x509/x509.c:3541,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3543,1
    - Dst: gnutls_x509_ext_import_key_purposes
      Src: /src/gnutls/lib/x509/x509.c:3547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3549,1
    - Dst: gnutls_x509_key_purpose_get
      Src: /src/gnutls/lib/x509/x509.c:3553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3555,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/x509.c:3559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3561,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:3568,1
    - Dst: gnutls_x509_key_purpose_deinit
      Src: /src/gnutls/lib/x509/x509.c:3570,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 5
    argNames:
    - cert
    - indx
    - oid
    - oid_size
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - void*
    - size_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 3572
      start: 3512
    functionDepth: 3
    functionLinenumber: 3512
    functionLinenumberEnd: 3572
    functionName: gnutls_x509_crt_get_key_purpose_oid
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - gnutls_x509_key_purpose_deinit
    - gnutls_x509_key_purpose_init
    - gnutls_x509_key_purpose_get
    - memset
    - _gnutls_x509_crt_get_extension
    - _gnutls_copy_string
    - gnutls_assert
    - gnutls_x509_ext_import_key_purposes
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_key_purpose_oid(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t\tvoid *oid, size_t *oid_size,\n\t\t\t\t\tunsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3593,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:3597,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3599,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:3601,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3603,1
    - Dst: gnutls_pubkey_export_rsa_raw
      Src: /src/gnutls/lib/x509/x509.c:3607,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3609,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:3614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - crt
    - m
    - e
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3616
      start: 3586
    functionDepth: 4
    functionLinenumber: 3586
    functionLinenumberEnd: 3616
    functionName: gnutls_x509_crt_get_pk_rsa_raw
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_pubkey_export_rsa_raw
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_pk_rsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t
      *m,\n\t\t\t\t   gnutls_datum_t *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3644,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:3648,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3650,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:3652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3654,1
    - Dst: gnutls_pubkey_export_ecc_raw
      Src: /src/gnutls/lib/x509/x509.c:3658,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3660,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:3665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - crt
    - curve
    - x
    - y
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_ecc_curve_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3636
    functionDepth: 3
    functionLinenumber: 3636
    functionLinenumberEnd: 3667
    functionName: gnutls_x509_crt_get_pk_ecc_raw
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_export_ecc_raw
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_pk_ecc_raw(gnutls_x509_crt_t crt,\n\t\t\t\t
      \  gnutls_ecc_curve_t *curve, gnutls_datum_t *x,\n\t\t\t\t   gnutls_datum_t
      *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3696,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:3700,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3702,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:3704,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3706,1
    - Dst: gnutls_pubkey_export_gost_raw2
      Src: /src/gnutls/lib/x509/x509.c:3710,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3713,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:3718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - crt
    - curve
    - digest
    - paramset
    - x
    - y
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_ecc_curve_t*
    - gnutls_digest_algorithm_t*
    - gnutls_gost_paramset_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3720
      start: 3686
    functionDepth: 3
    functionLinenumber: 3686
    functionLinenumberEnd: 3720
    functionName: gnutls_x509_crt_get_pk_gost_raw
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - gnutls_pubkey_export_gost_raw2
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_pk_gost_raw(gnutls_x509_crt_t crt,\n\t\t\t\t
      \   gnutls_ecc_curve_t *curve,\n\t\t\t\t    gnutls_digest_algorithm_t *digest,\n\t\t\t\t
      \   gnutls_gost_paramset_t *paramset,\n\t\t\t\t    gnutls_datum_t *x, gnutls_datum_t
      *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3744,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:3748,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3750,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:3752,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3754,1
    - Dst: gnutls_pubkey_export_dsa_raw
      Src: /src/gnutls/lib/x509/x509.c:3758,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3760,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:3765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - crt
    - p
    - q
    - g
    - y
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 3767
      start: 3736
    functionDepth: 3
    functionLinenumber: 3736
    functionLinenumberEnd: 3767
    functionName: gnutls_x509_crt_get_pk_dsa_raw
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - gnutls_pubkey_export_dsa_raw
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_pk_dsa_raw(gnutls_x509_crt_t crt, gnutls_datum_t
      *p,\n\t\t\t\t   gnutls_datum_t *q, gnutls_datum_t *g,\n\t\t\t\t   gnutls_datum_t
      *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509.c:3799,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3801,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/lib/x509/x509.c:3805,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/x509.c:3809,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3812,1
    - Dst: gnutls_x509_crt_list_import
      Src: /src/gnutls/lib/x509/x509.c:3816,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:3821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - certs
    - size
    - data
    - format
    - flags
    argTypes:
    - gnutls_x509_crt_t**
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3827
      start: 3791
    functionDepth: 2
    functionLinenumber: 3791
    functionLinenumberEnd: 3827
    functionName: gnutls_x509_crt_list_import2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 27
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_list_import
    - _gnutls_reallocarray_fast
    - gnutls_assert
    - _gnutls_reallocarray
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_list_import2(gnutls_x509_crt_t **certs, unsigned
      int *size,\n\t\t\t\t const gnutls_datum_t *data,\n\t\t\t\t gnutls_x509_crt_fmt_t
      format,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/x509.c:3872,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3874,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/x509.c:3878,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3880,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/x509.c:3890,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/x509.c:3893,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:3897,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/x509.c:3911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3913,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/x509.c:3920,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3924,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/x509.c:3941,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/x509.c:3944,1
    - Dst: _gnutls_sort_clist
      Src: /src/gnutls/lib/x509/x509.c:3962,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/x509.c:3965,1
    - Dst: _gnutls_check_if_sorted
      Src: /src/gnutls/lib/x509/x509.c:3972,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:3974,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/x509.c:3987,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 97
    argCount: 5
    argNames:
    - certs
    - cert_max
    - data
    - format
    - flags
    argTypes:
    - gnutls_x509_crt_t*
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3989
      start: 3852
    functionDepth: 9
    functionLinenumber: 3852
    functionLinenumberEnd: 3989
    functionName: gnutls_x509_crt_list_import
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 7
    functionsReached:
    - memmem
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - _gnutls_check_if_sorted
    - _gnutls_sort_clist
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_list_import(gnutls_x509_crt_t *certs,\n\t\t\t\tunsigned
      int *cert_max,\n\t\t\t\tconst gnutls_datum_t *data,\n\t\t\t\tgnutls_x509_crt_fmt_t
      format,\n\t\t\t\tunsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509.c:4018,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4021,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509.c:4028,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:4031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - crt
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 4034
      start: 4012
    functionDepth: 3
    functionLinenumber: 4012
    functionLinenumberEnd: 4034
    functionName: gnutls_x509_crt_get_subject_unique_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - memcpy
    - _gnutls_free_datum
    - _gnutls_x509_read_value
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_subject_unique_id(gnutls_x509_crt_t crt, char
      *buf,\n\t\t\t\t\t  size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/x509.c:4065,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4068,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509.c:4075,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:4078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - crt
    - buf
    - buf_size
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 4081
      start: 4059
    functionDepth: 3
    functionLinenumber: 4059
    functionLinenumberEnd: 4081
    functionName: gnutls_x509_crt_get_issuer_unique_id
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 4
    functionsReached:
    - memcpy
    - _gnutls_free_datum
    - _gnutls_x509_read_value
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_issuer_unique_id(gnutls_x509_crt_t crt, char
      *buf,\n\t\t\t\t\t size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:4095,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:4099,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:4111,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:4113,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4121,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:4122,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/x509.c:4124,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/x509.c:4125,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4126,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/x509.c:4132,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4137,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:4141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4146,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:4147,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/x509.c:4152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4154,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/x509.c:4156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4158,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:4159,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:4160,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:4167,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 4
    argNames:
    - src
    - seq
    - what
    - data
    argTypes:
    - asn1_node
    - unsigned int
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 4170
      start: 4083
    functionDepth: 1
    functionLinenumber: 4083
    functionLinenumberEnd: 4170
    functionName: legacy_parse_aia
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - strlen
    - asn1_read_value
    - snprintf
    - gnutls_assert
    - gnutls_malloc
    - memcmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int legacy_parse_aia(asn1_node src, unsigned int seq, int what,\n\t\t\t
      \   gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4248,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/x509.c:4252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4257,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/x509.c:4264,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/x509.c:4264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4267,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:4268,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:4269,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/x509.c:4272,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/x509.c:4274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4276,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:4277,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/x509.c:4278,1
    - Dst: legacy_parse_aia
      Src: /src/gnutls/lib/x509/x509.c:4281,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/x509.c:4283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - crt
    - seq
    - what
    - data
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    - int
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 4288
      start: 4238
    functionDepth: 2
    functionLinenumber: 4238
    functionLinenumberEnd: 4288
    functionName: gnutls_x509_crt_get_authority_info_access
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - legacy_parse_aia
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - _gnutls_x509_crt_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      \     unsigned int seq, int what,\n\t\t\t\t\t      gnutls_datum_t *data,\n\t\t\t\t\t
      \     unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - crt
    - fn
    - userdata
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_pin_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 4313
      start: 4306
    functionDepth: 0
    functionLinenumber: 4306
    functionLinenumberEnd: 4313
    functionName: gnutls_x509_crt_set_pin_function
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_x509_crt_set_pin_function(gnutls_x509_crt_t crt,\n\t\t\t\t
      \     gnutls_pin_callback_t fn, void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnutls/lib/x509/x509.c:4340,1
    - Dst: import_crt
      Src: /src/gnutls/lib/x509/x509.c:4343,1
    - Dst: strncmp
      Src: /src/gnutls/lib/x509/x509.c:4351,1
    - Dst: _gnutls_x509_crt_import_system_url
      Src: /src/gnutls/lib/x509/x509.c:4352,1
    - Dst: strncmp
      Src: /src/gnutls/lib/x509/x509.c:4354,1
    - Dst: _gnutls_x509_crt_import_pkcs11_url
      Src: /src/gnutls/lib/x509/x509.c:4355,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - crt
    - url
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4363
      start: 4333
    functionDepth: 5
    functionLinenumber: 4333
    functionLinenumberEnd: 4363
    functionName: gnutls_x509_crt_import_url
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 6
    functionsReached:
    - strncmp
    - _gnutls_x509_crt_import_system_url
    - import_crt
    - gnutls_assert_val
    - _gnutls_x509_crt_import_pkcs11_url
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_import_url(gnutls_x509_crt_t crt, const char *url,\n\t\t\t
      \      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/x509.c:4399,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/x509.c:4401,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4403,1
    - Dst: gnutls_x509_crt_set_pin_function
      Src: /src/gnutls/lib/x509/x509.c:4405,1
    - Dst: gnutls_x509_crt_import_url
      Src: /src/gnutls/lib/x509/x509.c:4409,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4411,1
    - Dst: _gnutls_get_raw_issuer
      Src: /src/gnutls/lib/x509/x509.c:4416,1
    - Dst: gnutls_x509_crt_equals2
      Src: /src/gnutls/lib/x509/x509.c:4424,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:4425,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/x509.c:4429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4431,1
    - Dst: gnutls_x509_crt_set_pin_function
      Src: /src/gnutls/lib/x509/x509.c:4437,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/x509.c:4440,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4443,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:4447,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/x509.c:4450,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/x509.c:4456,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/x509.c:4461,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/x509.c:4463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 6
    argNames:
    - certs
    - size
    - url
    - pin_fn
    - pin_fn_userdata
    - flags
    argTypes:
    - gnutls_x509_crt_t**
    - unsigned int*
    - char*
    - gnutls_pin_callback_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4466
      start: 4388
    functionDepth: 9
    functionLinenumber: 4388
    functionLinenumberEnd: 4466
    functionName: gnutls_x509_crt_list_import_url
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - _gnutls_get_raw_issuer
    - gnutls_x509_crt_import_url
    - gnutls_assert
    - gnutls_x509_crt_equals2
    - memset
    - memcpy
    - gnutls_assert_val
    - _gnutls_reallocarray
    - gnutls_x509_crt_set_pin_function
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_list_import_url(gnutls_x509_crt_t **certs,\n\t\t\t\t
      \   unsigned int *size, const char *url,\n\t\t\t\t    gnutls_pin_callback_t
      pin_fn,\n\t\t\t\t    void *pin_fn_userdata, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/x509.c:4497,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/x509.c:4501,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4503,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/x509.c:4505,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4507,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/x509/x509.c:4509,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/x509.c:4510,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/x509.c:4513,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/gnutls/lib/x509/x509.c:4519,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4520,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/gnutls/lib/x509/x509.c:4523,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4524,1
    - Dst: gnutls_x509_crt_get_key_usage
      Src: /src/gnutls/lib/x509/x509.c:4529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4532,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/x509.c:4539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/x509.c:4542,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 7
    argNames:
    - crt
    - algo
    - vdata
    - vdata_size
    - data
    - signature
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_sign_algorithm_t
    - gnutls_typed_vdata_st*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4550
      start: 4485
    functionDepth: 3
    functionLinenumber: 4485
    functionLinenumberEnd: 4550
    functionName: gnutls_x509_crt_verify_data3
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached:
    - gnutls_time
    - gnutls_pubkey_verify_data2
    - gnutls_assert
    - gnutls_x509_crt_get_expiration_time
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - _gnutls_check_key_purpose
    - gnutls_x509_crt_get_key_usage
    - gnutls_assert_val
    - gnutls_x509_crt_get_activation_time
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_verify_data3(gnutls_x509_crt_t crt,\n\t\t\t\t
      gnutls_sign_algorithm_t algo,\n\t\t\t\t gnutls_typed_vdata_st *vdata,\n\t\t\t\t
      unsigned int vdata_size,\n\t\t\t\t const gnutls_datum_t *data,\n\t\t\t\t const
      gnutls_datum_t *signature,\n\t\t\t\t unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_verify_data3
      Src: /src/gnutls/lib/x509/x509.c:4577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - crt
    - algo
    - flags
    - data
    - signature
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_sign_algorithm_t
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 4579
      start: 4572
    functionDepth: 4
    functionLinenumber: 4572
    functionLinenumberEnd: 4579
    functionName: gnutls_x509_crt_verify_data2
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crt_verify_data3
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_verify_data2(gnutls_x509_crt_t crt,\n\t\t\t\t
      gnutls_sign_algorithm_t algo,\n\t\t\t\t unsigned int flags, const gnutls_datum_t
      *data,\n\t\t\t\t const gnutls_datum_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4596
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4596
    functionName: gnutls_x509_crt_set_flags
    functionSourceFile: /src/gnutls/lib/x509/x509.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_crt_set_flags(gnutls_x509_crt_t cert, unsigned int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/common.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c2
    - whom
    - out
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: _gnutls_x509_get_raw_field
    functionSourceFile: /src/gnutls/lib/x509/common.h
    functionUses: 7
    functionsReached:
    - _gnutls_x509_der_encode
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_raw_field(asn1_node c2, const char *whom,\n\t\t\t\t\t
      \    gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_decoding2
      Src: /src/gnutls/lib/x509/common.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - element
    - ider
    - len
    - errorDescription
    argTypes:
    - asn1_node*
    - void*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: _asn1_strict_der_decode
    functionSourceFile: /src/gnutls/lib/x509/common.h
    functionUses: 47
    functionsReached:
    - asn1_der_decoding2
    linkageType: ''
    returnType: int
    signature: "int _asn1_strict_der_decode(asn1_node *element, const void *ider,\n\t\t\t\t\t
      \ int len, char *errorDescription)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_idna_email_map
      Src: /src/gnutls/lib/x509/email-verify.c:52,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/email-verify.c:52,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/email-verify.c:54,1
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/gnutls/lib/x509/email-verify.c:75,1
    - Dst: memchr
      Src: /src/gnutls/lib/x509/email-verify.c:81,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/email-verify.c:82,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/email-verify.c:88,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/email-verify.c:89,1
    - Dst: _gnutls_hostname_compare
      Src: /src/gnutls/lib/x509/email-verify.c:95,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/email-verify.c:112,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/email-verify.c:122,1
    - Dst: memchr
      Src: /src/gnutls/lib/x509/email-verify.c:131,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/email-verify.c:132,1
    - Dst: _gnutls_str_is_print
      Src: /src/gnutls/lib/x509/email-verify.c:139,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/email-verify.c:140,1
    - Dst: _gnutls_hostname_compare
      Src: /src/gnutls/lib/x509/email-verify.c:147,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/email-verify.c:161,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 3
    argNames:
    - cert
    - email
    - flags
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 164
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 164
    functionName: gnutls_x509_crt_check_email
    functionSourceFile: /src/gnutls/lib/x509/email-verify.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - strlen
    - _gnutls_hostname_compare
    - _gnutls_idna_email_map
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_x509_crt_get_subject_alt_name
    - memchr
    - _gnutls_debug_log
    - _gnutls_str_is_print
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_crt_check_email(gnutls_x509_crt_t cert, const
      char *email,\n\t\t\t\t     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:55,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:57,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:58,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:62,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:63,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs12.c:70,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:74,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12.c:81,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12.c:81,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:84,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:85,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:92,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:93,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:94,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:99,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:108,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:114,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - pkcs12
    - authen_safe
    - raw
    argTypes:
    - asn1_node
    - asn1_node*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 117
    functionName: _decode_pkcs12_auth_safe
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - _gnutls_free_datum
    - _gnutls_x509_read_string
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - strcmp
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _decode_pkcs12_auth_safe(asn1_node pkcs12, asn1_node *authen_safe,\n\t\t\t\t
      \   gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:124,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12.c:126,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12.c:126,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:129,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkcs12
    argTypes:
    - gnutls_pkcs12_t
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: pkcs12_reinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int pkcs12_reinit(gnutls_pkcs12_t pkcs12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/pkcs12.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:154,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pkcs12
    argTypes:
    - gnutls_pkcs12_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: gnutls_pkcs12_init
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 8
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_init(gnutls_pkcs12_t *pkcs12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:175,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkcs12
    argTypes:
    - gnutls_pkcs12_t
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: gnutls_pkcs12_deinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 8
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs12_deinit(gnutls_pkcs12_t pkcs12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:206,1
    - Dst: _gnutls_fbase64_decode
      Src: /src/gnutls/lib/x509/pkcs12.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:217,1
    - Dst: pkcs12_reinit
      Src: /src/gnutls/lib/x509/pkcs12.c:225,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:227,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12.c:233,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:236,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:237,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:238,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:243,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - pkcs12
    - data
    - format
    - flags
    argTypes:
    - gnutls_pkcs12_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 251
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 251
    functionName: gnutls_pkcs12_import
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_fbase64_decode
    - pkcs12_reinit
    - _gnutls_free_datum
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_import(gnutls_pkcs12_t pkcs12, const gnutls_datum_t
      *data,\n\t\t\t gnutls_x509_crt_fmt_t format, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:279,1
    - Dst: _gnutls_x509_export_int
      Src: /src/gnutls/lib/x509/pkcs12.c:283,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:287,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pkcs12
    - format
    - output_data
    - output_data_size
    argTypes:
    - gnutls_pkcs12_t
    - gnutls_x509_crt_fmt_t
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: gnutls_pkcs12_export
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 3
    functionsReached:
    - _gnutls_switch_fips_state
    - _gnutls_x509_export_int
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_export(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t
      format,\n\t\t\t void *output_data, size_t *output_data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:322,1
    - Dst: _gnutls_x509_export_int2
      Src: /src/gnutls/lib/x509/pkcs12.c:326,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:328,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pkcs12
    - format
    - out
    argTypes:
    - gnutls_pkcs12_t
    - gnutls_x509_crt_fmt_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: gnutls_pkcs12_export2
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_export_int2
    - _gnutls_switch_fips_state
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_export2(gnutls_pkcs12_t pkcs12, gnutls_x509_crt_fmt_t
      format,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:341,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:343,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:345,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:347,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: oid2bag
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int oid2bag(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - bag
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: bag_to_oid
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bag_to_oid(int bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12.c:390,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12.c:390,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:393,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:394,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12.c:398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:400,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:401,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs12.c:407,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:409,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:410,1
    - Dst: MIN
      Src: /src/gnutls/lib/x509/pkcs12.c:414,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:417,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:420,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:422,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:423,1
    - Dst: oid2bag
      Src: /src/gnutls/lib/x509/pkcs12.c:429,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:432,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:439,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:441,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:444,1
    - Dst: _pkcs12_decode_crt_bag
      Src: /src/gnutls/lib/x509/pkcs12.c:455,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:457,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:459,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:466,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/pkcs12.c:468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:471,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:472,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:481,1
    - Dst: _gnutls_x509_decode_and_read_attribute
      Src: /src/gnutls/lib/x509/pkcs12.c:484,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:489,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:493,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/pkcs12.c:494,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:499,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:501,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:502,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:508,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:514,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/pkcs12.c:518,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:523,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:525,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:526,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:532,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:537,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/pkcs12.c:538,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:551,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 109
    argCount: 2
    argNames:
    - content
    - bag
    argTypes:
    - gnutls_datum_t*
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 553
      start: 375
    functionDepth: 5
    functionLinenumber: 375
    functionLinenumberEnd: 553
    functionName: _pkcs12_decode_safe_contents
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - snprintf
    - _gnutls_get_pkix
    - asn1_delete_structure
    - strcmp
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - oid2bag
    - asn1_create_element
    - MIN
    - _gnutls_debug_log
    - asn1_der_decoding
    - _pkcs12_decode_crt_bag
    - _gnutls_x509_decode_string
    - gnutls_free
    - asn1_read_value
    - asn1_number_of_elements
    - _gnutls_x509_decode_and_read_attribute
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _pkcs12_decode_safe_contents(const gnutls_datum_t *content,\n\t\t\t\t
      gnutls_pkcs12_bag_t bag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs12.c:564,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:567,1
    - Dst: _pkcs12_decode_safe_contents
      Src: /src/gnutls/lib/x509/pkcs12.c:571,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:573,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:577,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sc
    - sc_name
    - bag
    argTypes:
    - asn1_node
    - char*
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 584
      start: 555
    functionDepth: 6
    functionLinenumber: 555
    functionLinenumberEnd: 584
    functionName: _parse_safe_contents
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - _pkcs12_decode_safe_contents
    - _gnutls_x509_read_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _parse_safe_contents(asn1_node sc, const char *sc_name,\n\t\t\t\tgnutls_pkcs12_bag_t
      bag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:609,1
    - Dst: _decode_pkcs12_auth_safe
      Src: /src/gnutls/lib/x509/pkcs12.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:617,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:624,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:627,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:635,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:636,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs12.c:643,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:645,1
    - Dst: _parse_safe_contents
      Src: /src/gnutls/lib/x509/pkcs12.c:646,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:654,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - pkcs12
    - indx
    - bag
    argTypes:
    - gnutls_pkcs12_t
    - int
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 667
      start: 600
    functionDepth: 7
    functionLinenumber: 600
    functionLinenumberEnd: 667
    functionName: gnutls_pkcs12_get_bag
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _parse_safe_contents
    - asn1_delete_structure
    - _decode_pkcs12_auth_safe
    - strcmp
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_get_bag(gnutls_pkcs12_t pkcs12, int indx,\n\t\t\t
      \ gnutls_pkcs12_bag_t bag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:679,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:681,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:682,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:688,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:690,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:691,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12.c:699,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12.c:699,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:702,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:703,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs12.c:707,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:710,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:713,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - pkcs12
    argTypes:
    - asn1_node
    constantsTouched: []
    func_position:
      end: 720
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 720
    functionName: create_empty_pfx
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_der_encode_and_copy
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int create_empty_pfx(asn1_node pkcs12)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:741,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:748,1
    - Dst: create_empty_pfx
      Src: /src/gnutls/lib/x509/pkcs12.c:751,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:753,1
    - Dst: _decode_pkcs12_auth_safe
      Src: /src/gnutls/lib/x509/pkcs12.c:760,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:762,1
    - Dst: _pkcs12_encode_safe_contents
      Src: /src/gnutls/lib/x509/pkcs12.c:769,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:771,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:778,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:780,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:781,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:786,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:789,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:791,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:792,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:799,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:803,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:804,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs12.c:808,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:811,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:816,1
    - Dst: _gnutls_x509_der_encode_and_copy
      Src: /src/gnutls/lib/x509/pkcs12.c:821,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:824,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:828,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:833,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:834,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 2
    argNames:
    - pkcs12
    - bag
    argTypes:
    - gnutls_pkcs12_t
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 836
      start: 732
    functionDepth: 7
    functionLinenumber: 732
    functionLinenumberEnd: 836
    functionName: gnutls_pkcs12_set_bag
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_der_encode_and_copy
    - asn1_read_value
    - asn1_write_value
    - create_empty_pfx
    - asn1_delete_structure
    - _decode_pkcs12_auth_safe
    - _pkcs12_encode_safe_contents
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_set_bag(gnutls_pkcs12_t pkcs12, gnutls_pkcs12_bag_t
      bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:859,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs12.c:862,1
    - Dst: gnutls_pbkdf2
      Src: /src/gnutls/lib/x509/pkcs12.c:867,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:869,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs12.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - algo
    - salt
    - salt_size
    - iter
    - pass
    - req_keylen
    - keybuf
    argTypes:
    - gnutls_mac_algorithm_t
    - uint8_t*
    - unsigned int
    - unsigned int
    - char*
    - unsigned int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 874
      start: 846
    functionDepth: 4
    functionLinenumber: 846
    functionLinenumberEnd: 874
    functionName: _gnutls_pkcs12_gost_string_to_key
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnutls_pbkdf2
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs12_gost_string_to_key(gnutls_mac_algorithm_t algo,\n\t\t\t\t
      \ const uint8_t *salt, unsigned int salt_size,\n\t\t\t\t  unsigned int iter,
      const char *pass,\n\t\t\t\t  unsigned int req_keylen, uint8_t *keybuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs12.c:898,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:901,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:904,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/x509/pkcs12.c:906,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/x509/pkcs12.c:911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:913,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:919,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:922,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:923,1
    - Dst: _gnutls_x509_write_uint32
      Src: /src/gnutls/lib/x509/pkcs12.c:931,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:934,1
    - Dst: _gnutls_pkcs12_gost_string_to_key
      Src: /src/gnutls/lib/x509/pkcs12.c:946,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs12.c:950,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:954,1
    - Dst: _decode_pkcs12_auth_safe
      Src: /src/gnutls/lib/x509/pkcs12.c:960,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:962,1
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/x509/pkcs12.c:968,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:970,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/x509/pkcs12.c:974,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:975,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:977,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:979,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:982,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:983,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:987,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:991,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:992,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:996,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1000,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1001,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:1006,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:1010,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1011,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - pkcs12
    - mac
    - pass
    argTypes:
    - gnutls_pkcs12_t
    - gnutls_mac_algorithm_t
    - char*
    constantsTouched: []
    func_position:
      end: 1013
      start: 888
    functionDepth: 7
    functionLinenumber: 888
    functionLinenumberEnd: 1013
    functionName: gnutls_pkcs12_generate_mac2
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs12_string_to_key
    - _gnutls_mac
    - _gnutls_switch_fips_state
    - mac_to_entry
    - _gnutls_free_datum
    - asn1_write_value
    - gnutls_rnd
    - _gnutls_mac_get_algo_len
    - _gnutls_mac_deinit
    - _gnutls_mac_init
    - _gnutls_pkcs12_gost_string_to_key
    - _gnutls_x509_write_uint32
    - _decode_pkcs12_auth_safe
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_generate_mac2(gnutls_pkcs12_t pkcs12,\n\t\t\t\tgnutls_mac_algorithm_t
      mac, const char *pass)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_generate_mac2
      Src: /src/gnutls/lib/x509/pkcs12.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkcs12
    - pass
    argTypes:
    - gnutls_pkcs12_t
    - char*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 8
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: gnutls_pkcs12_generate_mac
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs12_generate_mac2
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_generate_mac(gnutls_pkcs12_t pkcs12, const char *pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1059,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/pkcs12.c:1065,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1072,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1076,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1077,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/x509/pkcs12.c:1080,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/pkcs12.c:1080,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1083,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs12.c:1087,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/x509/pkcs12.c:1091,1
    - Dst: _gnutls_x509_read_null_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1096,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1099,1
    - Dst: _gnutls_pkcs12_string_to_key
      Src: /src/gnutls/lib/x509/pkcs12.c:1105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1109,1
    - Dst: _decode_pkcs12_auth_safe
      Src: /src/gnutls/lib/x509/pkcs12.c:1115,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1117,1
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1130,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/x509/pkcs12.c:1134,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1136,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1139,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1142,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1143,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:1148,1
    - Dst: _gnutls_pkcs12_gost_string_to_key
      Src: /src/gnutls/lib/x509/pkcs12.c:1157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1169,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:1175,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/pkcs12.c:1178,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1179,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1180,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 2
    argNames:
    - pkcs12
    - pass
    argTypes:
    - gnutls_pkcs12_t
    - char*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1040
    functionDepth: 7
    functionLinenumber: 1040
    functionLinenumberEnd: 1182
    functionName: gnutls_pkcs12_verify_mac
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_pkcs12_string_to_key
    - _gnutls_mac
    - _gnutls_switch_fips_state
    - mac_to_entry
    - DIG_TO_MAC
    - _gnutls_x509_read_uint
    - asn1_read_value
    - _gnutls_free_datum
    - _gnutls_mac_get_algo_len
    - memcmp
    - _gnutls_mac_deinit
    - _gnutls_mac_init
    - gnutls_oid_to_digest
    - _gnutls_x509_read_null_value
    - _decode_pkcs12_auth_safe
    - _gnutls_pkcs12_gost_string_to_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_verify_mac(gnutls_pkcs12_t pkcs12, const char *pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1199,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1200,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1209,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1211,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1212,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/pkcs12.c:1215,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/pkcs12.c:1216,1
    - Dst: _gnutls_x509_encode_and_write_attribute
      Src: /src/gnutls/lib/x509/pkcs12.c:1218,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1223,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1237,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1238,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs12.c:1243,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/pkcs12.c:1244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1247,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/pkcs12.c:1258,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/pkcs12.c:1259,1
    - Dst: _gnutls_x509_encode_and_write_attribute
      Src: /src/gnutls/lib/x509/pkcs12.c:1261,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:1264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - bag
    - elem
    - c2
    - where
    argTypes:
    - gnutls_pkcs12_bag_t
    - int
    - asn1_node
    - char*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1184
    functionDepth: 5
    functionLinenumber: 1184
    functionLinenumberEnd: 1273
    functionName: write_attributes
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - strlen
    - asn1_write_value
    - gnutls_malloc
    - _gnutls_x509_encode_and_write_attribute
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int write_attributes(gnutls_pkcs12_bag_t bag, int elem, asn1_node
      c2,\n\t\t\t    const char *where)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12.c:1295,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12.c:1295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1298,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1299,1
    - Dst: bag_to_oid
      Src: /src/gnutls/lib/x509/pkcs12.c:1304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1306,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1312,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1313,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1321,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12.c:1322,1
    - Dst: write_attributes
      Src: /src/gnutls/lib/x509/pkcs12.c:1328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1330,1
    - Dst: _pkcs12_encode_crt_bag
      Src: /src/gnutls/lib/x509/pkcs12.c:1346,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1351,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1355,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1358,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1366,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12.c:1379,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - bag
    - contents
    - enc
    argTypes:
    - gnutls_pkcs12_bag_t
    - asn1_node*
    - int*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1381
    functionName: _pkcs12_encode_safe_contents
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - _gnutls_free_datum
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _pkcs12_encode_crt_bag
    - asn1_delete_structure
    - write_attributes
    - bag_to_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _pkcs12_encode_safe_contents(gnutls_pkcs12_bag_t bag, asn1_node
      *contents,\n\t\t\t\t int *enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1394,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/pkcs12.c:1399,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/lib/x509/pkcs12.c:1402,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/pkcs12.c:1406,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/pkcs12.c:1406,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1407,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/pkcs12.c:1410,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - chain
    - chain_len
    - extra_certs
    - extra_certs_len
    - flags
    argTypes:
    - gnutls_x509_crt_t**
    - unsigned int*
    - gnutls_x509_crt_t**
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1430
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1430
    functionName: make_chain
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_reallocarray_fast
    - unlikely
    - gnutls_x509_crt_check_issuer
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int make_chain(gnutls_x509_crt_t **chain, unsigned int *chain_len,\n\t\t
      \     gnutls_x509_crt_t **extra_certs,\n\t\t      unsigned int *extra_certs_len,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1511,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1514,1
    - Dst: gnutls_pkcs12_get_bag
      Src: /src/gnutls/lib/x509/pkcs12.c:1518,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1520,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1525,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/lib/x509/pkcs12.c:1529,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1531,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1537,1
    - Dst: gnutls_pkcs12_bag_decrypt
      Src: /src/gnutls/lib/x509/pkcs12.c:1542,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1544,1
    - Dst: gnutls_pkcs12_bag_get_count
      Src: /src/gnutls/lib/x509/pkcs12.c:1549,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1551,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/lib/x509/pkcs12.c:1559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1561,1
    - Dst: gnutls_pkcs12_bag_get_data
      Src: /src/gnutls/lib/x509/pkcs12.c:1565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1567,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1574,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1582,1
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1586,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1588,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/lib/x509/pkcs12.c:1592,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1599,1
    - Dst: gnutls_x509_privkey_get_key_id
      Src: /src/gnutls/lib/x509/pkcs12.c:1604,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1607,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1627,1
    - Dst: gnutls_pkcs12_bag_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1636,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1639,1
    - Dst: gnutls_pkcs12_get_bag
      Src: /src/gnutls/lib/x509/pkcs12.c:1643,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1645,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1650,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/lib/x509/pkcs12.c:1654,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1656,1
    - Dst: gnutls_pkcs12_bag_decrypt
      Src: /src/gnutls/lib/x509/pkcs12.c:1661,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1663,1
    - Dst: gnutls_pkcs12_bag_get_count
      Src: /src/gnutls/lib/x509/pkcs12.c:1668,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1670,1
    - Dst: gnutls_pkcs12_bag_get_type
      Src: /src/gnutls/lib/x509/pkcs12.c:1679,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1681,1
    - Dst: gnutls_pkcs12_bag_get_data
      Src: /src/gnutls/lib/x509/pkcs12.c:1685,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1687,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1693,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1695,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/pkcs12.c:1699,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1702,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1703,1
    - Dst: gnutls_x509_crt_get_key_id
      Src: /src/gnutls/lib/x509/pkcs12.c:1710,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1713,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1714,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/pkcs12.c:1719,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/pkcs12.c:1721,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/pkcs12.c:1721,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1723,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/pkcs12.c:1728,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1733,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/pkcs12.c:1742,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1746,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1754,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1763,1
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/lib/x509/pkcs12.c:1767,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1769,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/lib/x509/pkcs12.c:1773,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1776,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1777,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1793,1
    - Dst: make_chain
      Src: /src/gnutls/lib/x509/pkcs12.c:1803,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1806,1
    - Dst: gnutls_pkcs12_bag_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1815,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1819,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1823,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1828,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:1829,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1833,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:1834,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/pkcs12.c:1849,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12.c:1850,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 306
    argCount: 9
    argNames:
    - p12
    - password
    - key
    - chain
    - chain_len
    - extra_certs
    - extra_certs_len
    - crl
    - flags
    argTypes:
    - gnutls_pkcs12_t
    - char*
    - gnutls_x509_privkey_t*
    - gnutls_x509_crt_t**
    - unsigned int*
    - gnutls_x509_crt_t**
    - unsigned int*
    - gnutls_x509_crl_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1859
      start: 1481
    functionDepth: 9
    functionLinenumber: 1481
    functionLinenumberEnd: 1859
    functionName: gnutls_pkcs12_simple_parse
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 3
    functionsReached:
    - gnutls_pkcs12_bag_get_type
    - gnutls_malloc
    - gnutls_x509_crl_init
    - gnutls_pkcs12_bag_get_data
    - gnutls_x509_crl_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_import_pkcs8
    - gnutls_assert_val
    - gnutls_x509_privkey_get_key_id
    - gnutls_x509_crt_import
    - gnutls_pkcs12_bag_deinit
    - gnutls_pkcs12_get_bag
    - memcmp
    - gnutls_x509_privkey_init
    - unlikely
    - gnutls_pkcs12_bag_decrypt
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crl_import
    - INT_ADD_OVERFLOW
    - gnutls_pkcs12_bag_init
    - gnutls_free
    - gnutls_pkcs12_bag_get_count
    - gnutls_x509_crt_get_key_id
    - _gnutls_reallocarray_fast
    - gnutls_assert
    - make_chain
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_simple_parse(gnutls_pkcs12_t p12, const char *password,\n\t\t\t
      \      gnutls_x509_privkey_t *key,\n\t\t\t       gnutls_x509_crt_t **chain,\n\t\t\t
      \      unsigned int *chain_len,\n\t\t\t       gnutls_x509_crt_t **extra_certs,\n\t\t\t
      \      unsigned int *extra_certs_len,\n\t\t\t       gnutls_x509_crl_t *crl,
      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1893,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1897,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1900,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/x509/pkcs12.c:1908,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/pkcs12.c:1908,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/x509/pkcs12.c:1909,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1910,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/pkcs12.c:1923,1
    - Dst: _gnutls_x509_read_null_value
      Src: /src/gnutls/lib/x509/pkcs12.c:1933,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12.c:1936,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs12.c:1943,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12.c:1946,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1953,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12.c:1954,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 6
    argNames:
    - pkcs12
    - mac
    - salt
    - salt_size
    - iter_count
    - oid
    argTypes:
    - gnutls_pkcs12_t
    - unsigned int*
    - void*
    - unsigned int*
    - unsigned int*
    - char**
    constantsTouched: []
    func_position:
      end: 1956
      start: 1881
    functionDepth: 3
    functionLinenumber: 1881
    functionLinenumberEnd: 1956
    functionName: gnutls_pkcs12_mac_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs12.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_read_value
    - mac_to_entry
    - DIG_TO_MAC
    - _gnutls_x509_read_uint
    - _gnutls_free_datum
    - gnutls_oid_to_digest
    - _gnutls_x509_read_null_value
    - memcpy
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_mac_info(gnutls_pkcs12_t pkcs12, unsigned int *mac,\n\t\t\t
      \  void *salt, unsigned int *salt_size,\n\t\t\t   unsigned int *iter_count,
      char **oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:64,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_decode.c:64,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:67,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:68,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/key_decode.c:71,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:74,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:75,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:76,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/key_decode.c:79,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:80,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:81,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/key_decode.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:87,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/key_decode.c:88,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:89,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 96
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 96
    functionName: _gnutls_x509_read_rsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_x509_read_int
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_mpi_release
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_rsa_pubkey(uint8_t *der, int dersize,\n\t\t\t\t
      gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/x509/key_decode.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: _gnutls_x509_read_ecc_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_ansi_x962_import
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_ecc_pubkey(uint8_t *der, int dersize,\n\t\t\t\t
      gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:118,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/key_decode.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - curve
    - der
    - dersize
    - params
    argTypes:
    - gnutls_ecc_curve_t
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: _gnutls_x509_read_eddsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_eddsa_pubkey(gnutls_ecc_curve_t curve, uint8_t
      *der,\n\t\t\t\t   int dersize, gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:128,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/key_decode.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - curve
    - der
    - dersize
    - params
    argTypes:
    - gnutls_ecc_curve_t
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: _gnutls_x509_read_ecdh_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_ecdh_pubkey(gnutls_ecc_curve_t curve, uint8_t
      *der,\n\t\t\t\t  int dersize, gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:145,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/x509/key_decode.c:151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:153,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/key_decode.c:160,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:162,1
    - Dst: _gnutls_mpi_init_scan_le
      Src: /src/gnutls/lib/x509/key_decode.c:164,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/key_decode.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: _gnutls_x509_read_gost_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - asn1_get_length_der
    - gnutls_assert_val
    - _gnutls_mpi_init_scan_le
    - _gnutls_mpi_release
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_gost_pubkey(uint8_t *der, int dersize,\n\t\t\t\t\t
      gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:183,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/key_decode.c:183,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:185,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:186,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/key_decode.c:189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:192,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:193,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:194,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/key_decode.c:204,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:205,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:206,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/key_decode.c:212,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:213,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:214,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/key_decode.c:215,1
    - Dst: _gnutls_x509_read_int
      Src: /src/gnutls/lib/x509/key_decode.c:221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:222,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:223,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/key_decode.c:224,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/key_decode.c:225,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 235
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 235
    functionName: _gnutls_x509_read_dsa_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_read_int
    - asn1_delete_structure
    - _gnutls_mpi_release
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_dsa_params(uint8_t *der, int dersize,\n\t\t\t\t\tgnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:247,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_decode.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:250,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:251,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/key_decode.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:257,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:258,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:266,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:267,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/x509/key_decode.c:271,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/key_decode.c:273,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:274,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - der
    - dersize
    - curve
    argTypes:
    - uint8_t*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 286
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 286
    functionName: _gnutls_x509_read_ecc_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_create_element
    - gnutls_oid_to_ecc_curve
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _gnutls_debug_log
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_read_ecc_params(uint8_t *der, int dersize, unsigned
      int *curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:302,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_decode.c:302,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:305,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:306,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/key_decode.c:310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:313,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:314,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:319,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/key_decode.c:321,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:326,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:327,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:332,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/key_decode.c:333,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:339,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/key_decode.c:344,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:345,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/key_decode.c:346,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:353,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:356,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:360,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/key_decode.c:360,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:363,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:364,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/key_decode.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:371,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:372,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:377,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/key_decode.c:379,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:384,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:385,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:390,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:395,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:396,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/key_decode.c:400,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/key_decode.c:404,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:409,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/key_decode.c:413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:418,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:422,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/key_decode.c:429,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:430,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:431,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 117
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 433
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 433
    functionName: _gnutls_x509_read_rsa_pss_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_debug_log
    - asn1_read_value
    - _gnutls_x509_read_uint
    - _gnutls_free_datum
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_oid_to_digest
    - _gnutls_get_gnutls_asn
    - strcmp
    - memset
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_rsa_pss_params(uint8_t *der, int dersize,\n\t\t\t\t
      \    gnutls_x509_spki_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/key_decode.c:449,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/key_decode.c:449,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:454,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:455,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/key_decode.c:458,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:461,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:462,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:470,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:471,1
    - Dst: gnutls_oid_to_ecc_curve
      Src: /src/gnutls/lib/x509/key_decode.c:475,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/key_decode.c:477,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:478,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:485,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:487,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:488,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/key_decode.c:494,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:496,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/key_decode.c:497,1
    - Dst: gnutls_oid_to_gost_paramset
      Src: /src/gnutls/lib/x509/key_decode.c:502,1
    - Dst: _gnutls_gost_paramset_default
      Src: /src/gnutls/lib/x509/key_decode.c:504,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/key_decode.c:507,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/key_decode.c:518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 4
    argNames:
    - der
    - dersize
    - params
    - algo
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 521
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 521
    functionName: _gnutls_x509_read_gost_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_debug_log
    - asn1_read_value
    - _gnutls_gost_paramset_default
    - asn1_create_element
    - gnutls_oid_to_ecc_curve
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - _asn1_strict_der_decode
    - gnutls_assert
    - gnutls_oid_to_gost_paramset
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_gost_params(uint8_t *der, int dersize,\n\t\t\t\t
      \ gnutls_pk_params_st *params,\n\t\t\t\t  gnutls_pk_algorithm_t algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_rsa_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:533,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:542,1
    - Dst: _gnutls_x509_read_dsa_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:544,1
    - Dst: _gnutls_x509_read_ecc_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:551,1
    - Dst: _gnutls_x509_read_eddsa_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:558,1
    - Dst: _gnutls_x509_read_eddsa_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:562,1
    - Dst: _gnutls_x509_read_ecdh_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:566,1
    - Dst: _gnutls_x509_read_ecdh_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:570,1
    - Dst: _gnutls_x509_read_gost_pubkey
      Src: /src/gnutls/lib/x509/key_decode.c:576,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:583,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - algo
    - der
    - dersize
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 587
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 587
    functionName: _gnutls_x509_read_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_read_ecc_pubkey
    - _gnutls_x509_read_eddsa_pubkey
    - _gnutls_x509_read_ecdh_pubkey
    - _gnutls_x509_read_dsa_pubkey
    - _gnutls_x509_read_rsa_pubkey
    - _gnutls_x509_read_gost_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_pubkey(gnutls_pk_algorithm_t algo, uint8_t *der,\n\t\t\t
      \    int dersize, gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_rsa_pss_params
      Src: /src/gnutls/lib/x509/key_decode.c:600,1
    - Dst: _gnutls_x509_read_dsa_params
      Src: /src/gnutls/lib/x509/key_decode.c:603,1
    - Dst: _gnutls_x509_read_ecc_params
      Src: /src/gnutls/lib/x509/key_decode.c:605,1
    - Dst: _gnutls_x509_read_gost_params
      Src: /src/gnutls/lib/x509/key_decode.c:610,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - algo
    - der
    - dersize
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 615
      start: 591
    functionDepth: 5
    functionLinenumber: 591
    functionLinenumberEnd: 615
    functionName: _gnutls_x509_read_pubkey_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_read_gost_params
    - _gnutls_x509_read_dsa_params
    - gnutls_assert_val
    - _gnutls_x509_read_rsa_pss_params
    - _gnutls_x509_read_ecc_params
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_pubkey_params(gnutls_pk_algorithm_t algo, uint8_t
      *der,\n\t\t\t\t    int dersize, gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pubkey_to_bits
      Src: /src/gnutls/lib/x509/key_decode.c:631,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/key_decode.c:633,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/key_decode.c:634,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:635,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/x509/key_decode.c:638,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:640,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/key_decode.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 658
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 658
    functionName: _gnutls_x509_check_pubkey_params
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 4
    functionsReached:
    - hash_to_entry
    - pubkey_to_bits
    - _gnutls_hash_get_algo_len
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_check_pubkey_params(gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_der_int
      Src: /src/gnutls/lib/x509/key_decode.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - dersize
    - params
    argTypes:
    - uint8_t*
    - int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 668
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 668
    functionName: _gnutls_x509_read_dsa_pubkey
    functionSourceFile: /src/gnutls/lib/x509/key_decode.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_read_der_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_read_dsa_pubkey(uint8_t *der, int dersize,\n\t\t\t\t
      gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:46,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/attributes.c:48,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/attributes.c:49,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/attributes.c:51,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - asn
    - root
    - indx
    - ext_data
    argTypes:
    - asn1_node
    - char*
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: overwrite_attribute
    functionSourceFile: /src/gnutls/lib/x509/attributes.c
    functionUses: 0
    functionsReached:
    - _gnutls_x509_write_value
    - snprintf
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int overwrite_attribute(asn1_node asn, const char *root, unsigned
      indx,\n\t\t\t       const gnutls_datum_t *ext_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:88,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:91,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/attributes.c:94,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:97,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:102,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:103,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/attributes.c:111,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/attributes.c:112,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/attributes.c:115,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:120,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:121,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/attributes.c:125,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:129,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/attributes.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:137,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:138,1
    - Dst: _gnutls_x509_dn_to_string
      Src: /src/gnutls/lib/x509/attributes.c:143,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/attributes.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:163,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 6
    argNames:
    - asn1_struct
    - attr_name
    - given_oid
    - indx
    - raw
    - out
    argTypes:
    - asn1_node
    - char*
    - char*
    - unsigned
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 169
    functionName: _x509_parse_attribute
    functionSourceFile: /src/gnutls/lib/x509/attributes.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_x509_dn_to_string
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - strcmp
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _x509_parse_attribute(asn1_node asn1_struct, const char *attr_name,\n\t\t\t
      \ const char *given_oid, unsigned indx, int raw,\n\t\t\t  gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:183,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/attributes.c:187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:189,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:190,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:193,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/attributes.c:195,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:197,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:198,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:201,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/attributes.c:203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:205,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:206,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:209,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/attributes.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - asn
    - root
    - attribute_id
    - ext_data
    argTypes:
    - asn1_node
    - char*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: add_attribute
    functionSourceFile: /src/gnutls/lib/x509/attributes.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - snprintf
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int add_attribute(asn1_node asn, const char *root,\n\t\t\t const char
      *attribute_id,\n\t\t\t const gnutls_datum_t *ext_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/attributes.c:234,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/attributes.c:237,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/attributes.c:247,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/attributes.c:248,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/attributes.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:257,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:258,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/attributes.c:263,1
    - Dst: overwrite_attribute
      Src: /src/gnutls/lib/x509/attributes.c:266,1
    - Dst: add_attribute
      Src: /src/gnutls/lib/x509/attributes.c:274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/attributes.c:276,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/attributes.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - asn
    - root
    - ext_id
    - ext_data
    argTypes:
    - asn1_node
    - char*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 281
    functionName: _x509_set_attribute
    functionSourceFile: /src/gnutls/lib/x509/attributes.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - overwrite_attribute
    - asn1_read_value
    - snprintf
    - strcmp
    - add_attribute
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _x509_set_attribute(asn1_node asn, const char *root, const char
      *ext_id,\n\t\t\tconst gnutls_datum_t *ext_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/sign.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - tbs_name
    - tbs
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: _gnutls_x509_get_tbs
    functionSourceFile: /src/gnutls/lib/x509/sign.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_der_encode
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_tbs(asn1_node cert, const char *tbs_name,\n\t\t\t
      gnutls_datum_t *tbs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_crt_read_spki_params
      Src: /src/gnutls/lib/x509/sign.c:58,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:60,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:67,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:72,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:77,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/sign.c:80,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/sign.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - crt
    - key_params
    - params
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_spki_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 86
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionName: _gnutls_x509_crt_get_spki_params
    functionSourceFile: /src/gnutls/lib/x509/sign.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _gnutls_x509_crt_read_spki_params
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_get_spki_params(gnutls_x509_crt_t crt,\n\t\t\t\t
      \    const gnutls_x509_spki_st *key_params,\n\t\t\t\t     gnutls_x509_spki_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/gnutls/lib/x509/sign.c:113,1
    - Dst: gnutls_privkey_get_pk_algorithm
      Src: /src/gnutls/lib/x509/sign.c:115,1
    - Dst: _gnutls_privkey_get_spki_params
      Src: /src/gnutls/lib/x509/sign.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:119,1
    - Dst: _gnutls_x509_crt_get_spki_params
      Src: /src/gnutls/lib/x509/sign.c:123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:125,1
    - Dst: _gnutls_privkey_update_spki_params
      Src: /src/gnutls/lib/x509/sign.c:129,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:132,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/sign.c:138,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/sign.c:139,1
    - Dst: asn1_copy_node
      Src: /src/gnutls/lib/x509/sign.c:141,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:144,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/sign.c:145,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/sign.c:150,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/sign.c:151,1
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/x509/sign.c:153,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/sign.c:155,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/sign.c:158,1
    - Dst: _gnutls_x509_write_sign_params
      Src: /src/gnutls/lib/x509/sign.c:160,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:162,1
    - Dst: _gnutls_x509_get_tbs
      Src: /src/gnutls/lib/x509/sign.c:168,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:171,1
    - Dst: FIX_SIGN_PARAMS
      Src: /src/gnutls/lib/x509/sign.c:175,1
    - Dst: _gnutls_pk_is_not_prehashed
      Src: /src/gnutls/lib/x509/sign.c:177,1
    - Dst: privkey_sign_raw_data
      Src: /src/gnutls/lib/x509/sign.c:178,1
    - Dst: privkey_sign_and_hash_data
      Src: /src/gnutls/lib/x509/sign.c:181,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/sign.c:184,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:187,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/sign.c:193,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/sign.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:199,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/sign.c:200,1
    - Dst: _gnutls_x509_write_sign_params
      Src: /src/gnutls/lib/x509/sign.c:207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/sign.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 6
    argNames:
    - src
    - src_name
    - dig
    - flags
    - issuer
    - issuer_key
    argTypes:
    - asn1_node
    - char*
    - gnutls_digest_algorithm_t
    - unsigned int
    - gnutls_x509_crt_t
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 215
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 215
    functionName: _gnutls_x509_pkix_sign
    functionSourceFile: /src/gnutls/lib/x509/sign.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert_val
    - _gnutls_asn2err
    - asn1_write_value
    - _gnutls_x509_get_tbs
    - _gnutls_pk_is_not_prehashed
    - FIX_SIGN_PARAMS
    - _gnutls_privkey_update_spki_params
    - _gnutls_debug_log
    - gnutls_x509_crt_get_pk_algorithm
    - _gnutls_privkey_get_spki_params
    - privkey_sign_raw_data
    - _gnutls_str_cat
    - _gnutls_x509_crt_get_spki_params
    - gnutls_free
    - gnutls_privkey_get_pk_algorithm
    - privkey_sign_and_hash_data
    - _gnutls_pk_to_sign_entry
    - asn1_copy_node
    - _gnutls_x509_write_sign_params
    - gnutls_assert
    - _gnutls_str_cpy
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_pkix_sign(asn1_node src, const char *src_name,\n\t\t\t
      \  gnutls_digest_algorithm_t dig, unsigned int flags,\n\t\t\t   gnutls_x509_crt_t
      issuer,\n\t\t\t   gnutls_privkey_t issuer_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/lib/x509/pkcs7-output.c:42,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:44,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/lib/x509/pkcs7-output.c:48,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:50,1
    - Dst: gnutls_x509_dn_get_str2
      Src: /src/gnutls/lib/x509/pkcs7-output.c:54,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:56,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:60,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/lib/x509/pkcs7-output.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - str
    - prefix
    - raw
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: print_dn
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-output.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_dn_init
    - gnutls_x509_dn_get_str2
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_import
    - addf
    linkageType: ''
    returnType: void
    signature: "void print_dn(gnutls_buffer_st *str, const char *prefix,\n\t\t     const
      gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hex_encode2
      Src: /src/gnutls/lib/x509/pkcs7-output.c:108,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:110,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:114,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - str
    - prefix
    - raw
    argTypes:
    - gnutls_buffer_st*
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: print_raw
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_hex_encode2
    - addf
    linkageType: ''
    returnType: void
    signature: "void print_raw(gnutls_buffer_st *str, const char *prefix,\n\t\t      const
      gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_dn
      Src: /src/gnutls/lib/x509/pkcs7-output.c:132,1
    - Dst: print_raw
      Src: /src/gnutls/lib/x509/pkcs7-output.c:133,1
    - Dst: print_raw
      Src: /src/gnutls/lib/x509/pkcs7-output.c:134,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/pkcs7-output.c:137,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:138,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/pkcs7-output.c:142,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:144,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:147,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:152,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/x509/pkcs7-output.c:153,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/lib/x509/pkcs7-output.c:158,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:163,1
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/pkcs7-output.c:165,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:166,1
    - Dst: print_raw
      Src: /src/gnutls/lib/x509/pkcs7-output.c:170,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:171,1
    - Dst: gnutls_pkcs7_get_attr
      Src: /src/gnutls/lib/x509/pkcs7-output.c:176,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:182,1
    - Dst: _gnutls_oid_get_entry
      Src: /src/gnutls/lib/x509/pkcs7-output.c:184,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:185,1
    - Dst: print_raw
      Src: /src/gnutls/lib/x509/pkcs7-output.c:189,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:190,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/pkcs7-output.c:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - info
    - str
    - format
    argTypes:
    - gnutls_pkcs7_signature_info_st*
    - gnutls_buffer_st*
    - gnutls_certificate_print_formats_t
    constantsTouched: []
    func_position:
      end: 195
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 195
    functionName: print_pkcs7_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-output.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - print_raw
    - adds
    - snprintf
    - gnutls_sign_get_name
    - _gnutls_oid_get_entry
    - gmtime_r
    - gnutls_pkcs7_get_attr
    - addf
    - print_dn
    - strftime
    linkageType: ''
    returnType: void
    signature: "void print_pkcs7_info(gnutls_pkcs7_signature_info_st *info,\n\t\t\t
      \    gnutls_buffer_st *str,\n\t\t\t     gnutls_certificate_print_formats_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/pkcs7-output.c:222,1
    - Dst: print_pkcs7_info
      Src: /src/gnutls/lib/x509/pkcs7-output.c:223,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/pkcs7-output.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - info
    - format
    - out
    argTypes:
    - gnutls_pkcs7_signature_info_st*
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 7
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: gnutls_pkcs7_print_signature_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-output.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_init
    - _gnutls_buffer_to_datum
    - print_pkcs7_info
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st
      *info,\n\t\t\t\t      gnutls_certificate_print_formats_t format,\n\t\t\t\t      gnutls_datum_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/pkcs7-output.c:254,1
    - Dst: gnutls_pkcs7_get_embedded_data_oid
      Src: /src/gnutls/lib/x509/pkcs7-output.c:258,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-output.c:260,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/pkcs7-output.c:261,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:262,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:268,1
    - Dst: gnutls_pkcs7_get_signature_info
      Src: /src/gnutls/lib/x509/pkcs7-output.c:270,1
    - Dst: print_pkcs7_info
      Src: /src/gnutls/lib/x509/pkcs7-output.c:274,1
    - Dst: gnutls_pkcs7_signature_info_deinit
      Src: /src/gnutls/lib/x509/pkcs7-output.c:275,1
    - Dst: gnutls_pkcs7_get_crt_count
      Src: /src/gnutls/lib/x509/pkcs7-output.c:281,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:284,1
    - Dst: gnutls_pkcs7_get_crt_raw2
      Src: /src/gnutls/lib/x509/pkcs7-output.c:287,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:290,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/lib/x509/pkcs7-output.c:296,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:299,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/pkcs7-output.c:303,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/pkcs7-output.c:304,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:305,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:306,1
    - Dst: gnutls_pkcs7_get_crl_count
      Src: /src/gnutls/lib/x509/pkcs7-output.c:310,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:312,1
    - Dst: gnutls_pkcs7_get_crl_raw2
      Src: /src/gnutls/lib/x509/pkcs7-output.c:315,1
    - Dst: addf
      Src: /src/gnutls/lib/x509/pkcs7-output.c:318,1
    - Dst: gnutls_pem_base64_encode_alloc
      Src: /src/gnutls/lib/x509/pkcs7-output.c:324,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:327,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/pkcs7-output.c:331,1
    - Dst: adds
      Src: /src/gnutls/lib/x509/pkcs7-output.c:332,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:333,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs7-output.c:334,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/pkcs7-output.c:339,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - pkcs7
    - format
    - out
    argTypes:
    - gnutls_pkcs7_t
    - gnutls_certificate_print_formats_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 245
    functionDepth: 7
    functionLinenumber: 245
    functionLinenumberEnd: 340
    functionName: gnutls_pkcs7_print
    functionSourceFile: /src/gnutls/lib/x509/pkcs7-output.c
    functionUses: 2
    functionsReached:
    - gnutls_pkcs7_signature_info_deinit
    - gnutls_pkcs7_get_crt_count
    - gnutls_pkcs7_get_crt_raw2
    - gnutls_free
    - gnutls_pkcs7_get_crl_count
    - _gnutls_buffer_to_datum
    - adds
    - gnutls_pkcs7_get_crl_raw2
    - print_pkcs7_info
    - gnutls_pkcs7_get_signature_info
    - _gnutls_buffer_init
    - gnutls_pem_base64_encode_alloc
    - gnutls_pkcs7_get_embedded_data_oid
    - addf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,\n\t\t       gnutls_certificate_print_formats_t
      format,\n\t\t       gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/tls_features.c:50,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/tls_features.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - gnutls_x509_tlsfeatures_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: gnutls_x509_tlsfeatures_init
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 7
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_tlsfeatures_init(gnutls_x509_tlsfeatures_t *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/tls_features.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - gnutls_x509_tlsfeatures_t
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: gnutls_x509_tlsfeatures_deinit
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 7
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_tlsfeatures_deinit(gnutls_x509_tlsfeatures_t f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/tls_features.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - f
    - idx
    - feature
    argTypes:
    - gnutls_x509_tlsfeatures_t
    - unsigned
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: gnutls_x509_tlsfeatures_get
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 4
    functionsReached:
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_tlsfeatures_get(gnutls_x509_tlsfeatures_t f, unsigned
      idx,\n\t\t\t\tunsigned int *feature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:133,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/tls_features.c:137,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:144,1
    - Dst: gnutls_x509_ext_import_tlsfeatures
      Src: /src/gnutls/lib/x509/tls_features.c:148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:150,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/tls_features.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - crt
    - features
    - flags
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_tlsfeatures_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: gnutls_x509_crt_get_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - _gnutls_x509_crt_get_extension
    - gnutls_x509_ext_import_tlsfeatures
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_tlsfeatures(gnutls_x509_crt_t crt,\n\t\t\t\t
      \   gnutls_x509_tlsfeatures_t features,\n\t\t\t\t    unsigned int flags, unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:181,1
    - Dst: gnutls_x509_ext_export_tlsfeatures
      Src: /src/gnutls/lib/x509/tls_features.c:185,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:187,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/tls_features.c:191,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/tls_features.c:194,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - crt
    - features
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_tlsfeatures_t
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: gnutls_x509_crt_set_tlsfeatures
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    - gnutls_x509_ext_export_tlsfeatures
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_tlsfeatures(gnutls_x509_crt_t crt,\n\t\t\t\t
      \   gnutls_x509_tlsfeatures_t features)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_tlsfeatures_init
      Src: /src/gnutls/lib/x509/tls_features.c:226,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/tls_features.c:228,1
    - Dst: gnutls_x509_crt_get_tlsfeatures
      Src: /src/gnutls/lib/x509/tls_features.c:230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:232,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/tls_features.c:239,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/tls_features.c:242,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/tls_features.c:257,1
    - Dst: gnutls_x509_tlsfeatures_deinit
      Src: /src/gnutls/lib/x509/tls_features.c:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - feat
    - cert
    argTypes:
    - gnutls_x509_tlsfeatures_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 268
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 268
    functionName: gnutls_x509_tlsfeatures_check_crt
    functionSourceFile: /src/gnutls/lib/x509/tls_features.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_tlsfeatures_deinit
    - gnutls_x509_tlsfeatures_init
    - gnutls_x509_crt_get_tlsfeatures
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_tlsfeatures_check_crt(gnutls_x509_tlsfeatures_t
      feat,\n\t\t\t\t\t   gnutls_x509_crt_t cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:82,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:84,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:90,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:93,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:95,1
    - Dst: _gnutls_utf8_to_ucs2
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:112,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:116,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:128,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:145,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:148,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:149,1
    - Dst: _gnutls_hash_init
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:154,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:157,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:158,1
    - Dst: _gnutls_hash
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:159,1
    - Dst: _gnutls_hash_deinit
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:160,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:162,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:166,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:181,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:183,1
    - Dst: _gnutls_mpi_add_ui
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:189,1
    - Dst: _gnutls_mpi_init_scan
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:195,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:197,1
    - Dst: _gnutls_mpi_addm
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:203,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:208,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:210,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:213,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:216,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:220,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:221,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:222,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12_encr.c:223,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 151
    argCount: 8
    argNames:
    - me
    - id
    - salt
    - salt_size
    - iter
    - pw
    - req_keylen
    - keybuf
    argTypes:
    - mac_entry_st*
    - unsigned int
    - uint8_t*
    - unsigned int
    - unsigned int
    - char*
    - unsigned int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 226
    functionName: _gnutls_pkcs12_string_to_key
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_encr.c
    functionUses: 6
    functionsReached:
    - _gnutls_utf8_to_ucs2
    - _gnutls_hash_init
    - _gnutls_mpi_release
    - gnutls_assert_val
    - _gnutls_mpi_get_nbits
    - _gnutls_mpi_print
    - _gnutls_mac_get_algo_len
    - _gnutls_hash_fast
    - memset
    - gnutls_calloc
    - _gnutls_mpi_addm
    - assert
    - strlen
    - _gnutls_hash_deinit
    - _gnutls_hash
    - _gnutls_mpi_init_scan
    - gnutls_free
    - _gnutls_mpi_add_ui
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pkcs12_string_to_key(const mac_entry_st *me, unsigned
      int id,\n\t\t\t\t const uint8_t *salt, unsigned int salt_size,\n\t\t\t\t unsigned
      int iter, const char *pw,\n\t\t\t\t unsigned int req_keylen, uint8_t *keybuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/krb5.c:50,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/krb5.c:52,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/krb5.c:53,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/krb5.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - princ
    argTypes:
    - krb5_principal_data*
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: cleanup_principal
    functionSourceFile: /src/gnutls/lib/x509/krb5.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - memset
    linkageType: ''
    returnType: void
    signature: void cleanup_principal(krb5_principal_data *princ)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/krb5.c:65,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/krb5.c:69,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:71,1
    - Dst: strrchr
      Src: /src/gnutls/lib/x509/krb5.c:75,1
    - Dst: strchr
      Src: /src/gnutls/lib/x509/krb5.c:76,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:79,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/krb5.c:83,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:85,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/x509/krb5.c:91,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/krb5.c:94,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/krb5.c:100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:102,1
    - Dst: strtok_r
      Src: /src/gnutls/lib/x509/krb5.c:109,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/krb5.c:113,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/krb5.c:119,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:121,1
    - Dst: cleanup_principal
      Src: /src/gnutls/lib/x509/krb5.c:131,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/krb5.c:135,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 137
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 137
    functionName: name_to_principal
    functionSourceFile: /src/gnutls/lib/x509/krb5.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - cleanup_principal
    - strchr
    - strtok_r
    - gnutls_strdup
    - strrchr
    - strcmp
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: krb5_principal_data
    signature: krb5_principal_data *name_to_principal(const char *_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_to_principal
      Src: /src/gnutls/lib/x509/krb5.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:148,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/krb5.c:153,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/krb5.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:156,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:157,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/krb5.c:161,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/krb5.c:162,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:164,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:165,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/krb5.c:169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:172,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:173,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/krb5.c:178,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:181,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:182,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/krb5.c:186,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/krb5.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:190,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:191,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/krb5.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:198,1
    - Dst: cleanup_principal
      Src: /src/gnutls/lib/x509/krb5.c:204,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/krb5.c:205,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - name
    - der
    argTypes:
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 207
    functionName: _gnutls_krb5_principal_to_der
    functionSourceFile: /src/gnutls/lib/x509/krb5.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - cleanup_principal
    - asn1_write_value
    - asn1_create_element
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - name_to_principal
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_krb5_principal_to_der(const char *name, gnutls_datum_t
      *der)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/krb5.c:218,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:220,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/krb5.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:228,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:229,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/krb5.c:240,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/krb5.c:242,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:247,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/krb5.c:252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:254,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/krb5.c:259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:262,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/krb5.c:266,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/krb5.c:269,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:271,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/krb5.c:275,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:277,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/krb5.c:283,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/krb5.c:284,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 2
    argNames:
    - c2
    - str
    argTypes:
    - asn1_node
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 286
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 286
    functionName: principal_to_str
    functionSourceFile: /src/gnutls/lib/x509/krb5.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_buffer_append_data
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int principal_to_str(asn1_node c2, gnutls_buffer_st *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/krb5.c:295,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/krb5.c:297,1
    - Dst: _gnutls_get_gnutls_asn
      Src: /src/gnutls/lib/x509/krb5.c:297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:300,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:301,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/krb5.c:305,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:307,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/krb5.c:308,1
    - Dst: principal_to_str
      Src: /src/gnutls/lib/x509/krb5.c:312,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/x509/krb5.c:317,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/x509/krb5.c:318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/krb5.c:320,1
    - Dst: _gnutls_buffer_hexprint
      Src: /src/gnutls/lib/x509/krb5.c:324,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/krb5.c:327,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/krb5.c:328,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/x509/krb5.c:331,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/krb5.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - der
    - name
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 334
    functionName: _gnutls_krb5_der_to_principal
    functionSourceFile: /src/gnutls/lib/x509/krb5.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_buffer_append_data
    - _gnutls_buffer_to_datum
    - principal_to_str
    - _gnutls_buffer_hexprint
    - asn1_create_element
    - _gnutls_buffer_reset
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - asn1_delete_structure
    - _gnutls_get_gnutls_asn
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_krb5_der_to_principal(const gnutls_datum_t *der,\n\t\t\t\t
      \ gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - nc
    - type
    argTypes:
    - struct gnutls_name_constraints_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 81
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 81
    functionName: is_nc_empty
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned is_nc_empty(struct gnutls_name_constraints_st *nc,\n\t\t\t
      \   unsigned type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:108,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - type
    - name
    argTypes:
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: validate_name_constraints_node
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int validate_name_constraints_node(gnutls_x509_subject_alt_name_t
      type,\n\t\t\t\t\t  const gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/name_constraints.c:135,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:137,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:141,1
    - Dst: _gnutls_parse_general_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:151,1
    - Dst: gnutls_x509_othername_to_virtual
      Src: /src/gnutls/lib/x509/name_constraints.c:155,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:159,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:163,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:164,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/name_constraints.c:166,1
    - Dst: validate_name_constraints_node
      Src: /src/gnutls/lib/x509/name_constraints.c:169,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:171,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/name_constraints.c:175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:177,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/name_constraints.c:182,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/name_constraints.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:198,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 3
    argNames:
    - c2
    - vstr
    - _nc
    argTypes:
    - asn1_node
    - char*
    - name_constraints_node_st**
    constantsTouched: []
    func_position:
      end: 206
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 206
    functionName: _gnutls_extract_name_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 1
    functionsReached:
    - validate_name_constraints_node
    - gnutls_free
    - assert
    - _gnutls_parse_general_name2
    - snprintf
    - gnutls_malloc
    - memcpy
    - gnutls_assert
    - gnutls_x509_othername_to_virtual
    linkageType: ''
    returnType: int
    signature: "int _gnutls_extract_name_constraints(asn1_node c2, const char *vstr,\n\t\t\t\t
      \    name_constraints_node_st **_nc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:221,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - name_constraints_node_st*
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: _gnutls_name_constraints_node_free
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_name_constraints_node_free(name_constraints_node_st *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/name_constraints.c:243,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/name_constraints.c:251,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:253,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/name_constraints.c:257,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/name_constraints.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - data
    - size
    argTypes:
    - unsigned
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: name_constraints_node_new
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_free
    - gnutls_malloc
    - memset
    linkageType: ''
    returnType: name_constraints_node_st
    signature: 'name_constraints_node_st *

      name_constraints_node_new(unsigned type, unsigned char *data, unsigned int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/name_constraints.c:291,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:309,1
    - Dst: name_constraints_intersect_nodes
      Src: /src/gnutls/lib/x509/name_constraints.c:346,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:348,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:356,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:357,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:373,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:376,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:377,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:386,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/name_constraints.c:397,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:403,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:406,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:407,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:412,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:415,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:416,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:423,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:425,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:426,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 3
    argNames:
    - _nc
    - _nc2
    - _nc_excluded
    argTypes:
    - name_constraints_node_st**
    - name_constraints_node_st*
    - name_constraints_node_st**
    constantsTouched: []
    func_position:
      end: 436
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 436
    functionName: _gnutls_name_constraints_intersect
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_name_constraints_node_free
    - name_constraints_node_new
    - _gnutls_hard_log
    - memset
    - gnutls_assert_val
    - name_constraints_intersect_nodes
    linkageType: ''
    returnType: int
    signature: "int _gnutls_name_constraints_intersect(name_constraints_node_st **_nc,\n\t\t\t\t
      \  name_constraints_node_st *_nc2,\n\t\t\t\t   name_constraints_node_st **_nc_excluded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:451,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - _nc
    - _nc2
    argTypes:
    - name_constraints_node_st**
    - name_constraints_node_st*
    constantsTouched: []
    func_position:
      end: 463
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 463
    functionName: _gnutls_name_constraints_append
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - name_constraints_node_new
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_name_constraints_append(name_constraints_node_st **_nc,\n\t\t\t\t\t
      \  name_constraints_node_st *_nc2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:501,1
    - Dst: _gnutls_x509_crt_get_extension
      Src: /src/gnutls/lib/x509/name_constraints.c:505,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:508,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:511,1
    - Dst: gnutls_x509_ext_import_name_constraints
      Src: /src/gnutls/lib/x509/name_constraints.c:513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:515,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/name_constraints.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - crt
    - nc
    - flags
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_name_constraints_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 525
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 525
    functionName: gnutls_x509_crt_get_name_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 3
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_x509_ext_import_name_constraints
    - _gnutls_x509_crt_get_extension
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_name_constraints(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      gnutls_x509_name_constraints_t nc,\n\t\t\t\t\t unsigned int flags,\n\t\t\t\t\t
      unsigned int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:537,1
    - Dst: _gnutls_name_constraints_node_free
      Src: /src/gnutls/lib/x509/name_constraints.c:538,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/name_constraints.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nc
    argTypes:
    - gnutls_x509_name_constraints_t
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: gnutls_x509_name_constraints_deinit
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 10
    functionsReached:
    - gnutls_free
    - _gnutls_name_constraints_node_free
    linkageType: ''
    returnType: void
    signature: void gnutls_x509_name_constraints_deinit(gnutls_x509_name_constraints_t
      nc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/name_constraints.c:555,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nc
    argTypes:
    - gnutls_x509_name_constraints_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: gnutls_x509_name_constraints_init
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 10
    functionsReached:
    - gnutls_calloc
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_name_constraints_init(gnutls_x509_name_constraints_t
      *nc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate_name_constraints_node
      Src: /src/gnutls/lib/x509/name_constraints.c:571,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:573,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:586,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - nc
    - type
    - name
    - permitted
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 600
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 600
    functionName: name_constraints_add
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - validate_name_constraints_node
    - name_constraints_node_new
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int name_constraints_add(gnutls_x509_name_constraints_t nc,\n\t\t\t\tgnutls_x509_subject_alt_name_t
      type,\n\t\t\t\tconst gnutls_datum_t *name, unsigned permitted)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_name_constraints_intersect
      Src: /src/gnutls/lib/x509/name_constraints.c:623,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:626,1
    - Dst: _gnutls_name_constraints_append
      Src: /src/gnutls/lib/x509/name_constraints.c:630,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - nc
    - nc2
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_name_constraints_t
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: _gnutls_x509_name_constraints_merge
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 10
    functionsReached:
    - _gnutls_name_constraints_intersect
    - gnutls_assert
    - _gnutls_name_constraints_append
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_name_constraints_merge(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t\tgnutls_x509_name_constraints_t nc2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_constraints_add
      Src: /src/gnutls/lib/x509/name_constraints.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nc
    - type
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: gnutls_x509_name_constraints_add_permitted
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 12
    functionsReached:
    - name_constraints_add
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_name_constraints_add_permitted(\n\tgnutls_x509_name_constraints_t
      nc, gnutls_x509_subject_alt_name_t type,\n\tconst gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name_constraints_add
      Src: /src/gnutls/lib/x509/name_constraints.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nc
    - type
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: gnutls_x509_name_constraints_add_excluded
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 5
    functionsReached:
    - name_constraints_add
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_name_constraints_add_excluded(\n\tgnutls_x509_name_constraints_t
      nc, gnutls_x509_subject_alt_name_t type,\n\tconst gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_ext_export_name_constraints
      Src: /src/gnutls/lib/x509/name_constraints.c:707,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:709,1
    - Dst: _gnutls_x509_crt_set_extension
      Src: /src/gnutls/lib/x509/name_constraints.c:711,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/name_constraints.c:713,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/name_constraints.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - crt
    - nc
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_name_constraints_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 723
    functionName: gnutls_x509_crt_set_name_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 3
    functionsReached:
    - gnutls_x509_ext_export_name_constraints
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_x509_crt_set_extension
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_set_name_constraints(gnutls_x509_crt_t crt,\n\t\t\t\t\t
      gnutls_x509_name_constraints_t nc,\n\t\t\t\t\t unsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/name_constraints.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 746
    functionName: ends_with
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned ends_with(const gnutls_datum_t *str,\n\t\t\t  const gnutls_datum_t
      *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/name_constraints.c:755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 767
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 767
    functionName: email_ends_with
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned email_ends_with(const gnutls_datum_t *str,\n\t\t\t\tconst
      gnutls_datum_t *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/name_constraints.c:772,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/name_constraints.c:776,1
    - Dst: ends_with
      Src: /src/gnutls/lib/x509/name_constraints.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - suffix
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 780
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 780
    functionName: dnsname_matches
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - ends_with
    - _gnutls_hard_log
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned dnsname_matches(const gnutls_datum_t *name,\n\t\t\t\tconst
      gnutls_datum_t *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/x509/name_constraints.c:785,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/name_constraints.c:789,1
    - Dst: email_ends_with
      Src: /src/gnutls/lib/x509/name_constraints.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - suffix
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 793
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 793
    functionName: email_matches
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - email_ends_with
    - _gnutls_hard_log
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: "unsigned email_matches(const gnutls_datum_t *name,\n\t\t\t      const
      gnutls_datum_t *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dnsname_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:825,1
    - Dst: email_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:830,1
    - Dst: name_constraints_node_new
      Src: /src/gnutls/lib/x509/name_constraints.c:859,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:862,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/name_constraints.c:865,1
    - Dst: _gnutls_mask_ip
      Src: /src/gnutls/lib/x509/name_constraints.c:869,1
    - Dst: _gnutls_mask_ip
      Src: /src/gnutls/lib/x509/name_constraints.c:872,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - nc1
    - nc2
    - _intersection
    argTypes:
    - name_constraints_node_st*
    - name_constraints_node_st*
    - name_constraints_node_st**
    constantsTouched: []
    func_position:
      end: 883
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 883
    functionName: name_constraints_intersect_nodes
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 1
    functionsReached:
    - assert
    - email_matches
    - _gnutls_mask_ip
    - name_constraints_node_new
    - dnsname_matches
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int name_constraints_intersect_nodes(name_constraints_node_st *nc1,\n\t\t\t\t
      name_constraints_node_st *nc2,\n\t\t\t\t name_constraints_node_st **_intersection)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/lib/x509/name_constraints.c:902,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - nc
    - type
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    constantsTouched: []
    func_position:
      end: 914
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 914
    functionName: check_unsupported_constraint
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_get_excluded
    - gnutls_assert_val
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_unsupported_constraint(gnutls_x509_name_constraints_t
      nc,\n\t\t\t     gnutls_x509_subject_alt_name_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/lib/x509/name_constraints.c:928,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:937,1
    - Dst: dnsname_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:939,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:940,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/lib/x509/name_constraints.c:947,1
    - Dst: dnsname_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:958,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:965,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - nc
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 968
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 968
    functionName: check_dns_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_get_excluded
    - dnsname_matches
    - gnutls_assert_val
    - gnutls_x509_name_constraints_get_permitted
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_dns_constraints(gnutls_x509_name_constraints_t nc,\n\t\t\t\t
      \     const gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/lib/x509/name_constraints.c:982,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:991,1
    - Dst: email_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:993,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:994,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/lib/x509/name_constraints.c:1001,1
    - Dst: email_matches
      Src: /src/gnutls/lib/x509/name_constraints.c:1012,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1019,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - nc
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 1022
    functionName: check_email_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_get_excluded
    - email_matches
    - gnutls_assert_val
    - gnutls_x509_name_constraints_get_permitted
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_email_constraints(gnutls_x509_name_constraints_t nc,\n\t\t\t\t\tconst
      gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_name_constraints_get_excluded
      Src: /src/gnutls/lib/x509/name_constraints.c:1036,1
    - Dst: ip_in_cidr
      Src: /src/gnutls/lib/x509/name_constraints.c:1046,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1047,1
    - Dst: gnutls_x509_name_constraints_get_permitted
      Src: /src/gnutls/lib/x509/name_constraints.c:1054,1
    - Dst: ip_in_cidr
      Src: /src/gnutls/lib/x509/name_constraints.c:1066,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1073,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - nc
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1076
    functionName: check_ip_constraints
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_name_constraints_get_excluded
    - gnutls_assert_val
    - gnutls_x509_name_constraints_get_permitted
    - ip_in_cidr
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_ip_constraints(gnutls_x509_name_constraints_t nc,\n\t\t\t\t
      \    const gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dns_constraints
      Src: /src/gnutls/lib/x509/name_constraints.c:1098,1
    - Dst: check_email_constraints
      Src: /src/gnutls/lib/x509/name_constraints.c:1101,1
    - Dst: check_ip_constraints
      Src: /src/gnutls/lib/x509/name_constraints.c:1104,1
    - Dst: check_unsupported_constraint
      Src: /src/gnutls/lib/x509/name_constraints.c:1106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - nc
    - type
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1107
    functionName: gnutls_x509_name_constraints_check
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 12
    functionsReached:
    - check_dns_constraints
    - check_email_constraints
    - check_ip_constraints
    - check_unsupported_constraint
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_name_constraints_check(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t\t    gnutls_x509_subject_alt_name_t type,\n\t\t\t\t\t    const
      gnutls_datum_t *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_subject_alt_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:1131,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1136,1
    - Dst: check_unsupported_constraint
      Src: /src/gnutls/lib/x509/name_constraints.c:1146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - cert
    - nc
    - type
    argTypes:
    - gnutls_x509_crt_t
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    constantsTouched: []
    func_position:
      end: 1150
      start: 1116
    functionDepth: 4
    functionLinenumber: 1116
    functionLinenumberEnd: 1150
    functionName: check_unsupported_constraint2
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_get_subject_alt_name2
    - gnutls_assert_val
    - check_unsupported_constraint
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_unsupported_constraint2(gnutls_x509_crt_t cert,\n\t\t\t
      \     gnutls_x509_name_constraints_t nc,\n\t\t\t      gnutls_x509_subject_alt_name_t
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_nc_empty
      Src: /src/gnutls/lib/x509/name_constraints.c:1181,1
    - Dst: gnutls_x509_crt_get_subject_alt_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:1188,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1193,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/lib/x509/name_constraints.c:1201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1204,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/name_constraints.c:1215,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1219,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/name_constraints.c:1222,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1228,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/lib/x509/name_constraints.c:1233,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1236,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1246,1
    - Dst: gnutls_x509_crt_get_subject_alt_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:1252,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1257,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/lib/x509/name_constraints.c:1265,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1268,1
    - Dst: _gnutls_check_key_purpose
      Src: /src/gnutls/lib/x509/name_constraints.c:1279,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/name_constraints.c:1284,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1289,1
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/gnutls/lib/x509/name_constraints.c:1292,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1299,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/lib/x509/name_constraints.c:1304,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1307,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1317,1
    - Dst: gnutls_x509_crt_get_subject_alt_name2
      Src: /src/gnutls/lib/x509/name_constraints.c:1323,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1328,1
    - Dst: gnutls_x509_name_constraints_check
      Src: /src/gnutls/lib/x509/name_constraints.c:1336,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1339,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1350,1
    - Dst: check_unsupported_constraint2
      Src: /src/gnutls/lib/x509/name_constraints.c:1353,1
    - Dst: check_unsupported_constraint
      Src: /src/gnutls/lib/x509/name_constraints.c:1355,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 118
    argCount: 3
    argNames:
    - nc
    - type
    - cert
    argTypes:
    - gnutls_x509_name_constraints_t
    - gnutls_x509_subject_alt_name_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1356
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1356
    functionName: gnutls_x509_name_constraints_check_crt
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 2
    functionsReached:
    - is_nc_empty
    - gnutls_x509_name_constraints_check
    - check_unsupported_constraint
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_x509_crt_get_subject_alt_name2
    - check_unsupported_constraint2
    - gnutls_assert_val
    - _gnutls_check_key_purpose
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_x509_name_constraints_check_crt(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t       gnutls_x509_subject_alt_name_t type,\n\t\t\t\t       gnutls_x509_crt_t
      cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1386,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - nc
    - idx
    - type
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - unsigned
    - unsigned*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1399
    functionName: gnutls_x509_name_constraints_get_permitted
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 8
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_name_constraints_get_permitted(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t\t       unsigned idx, unsigned *type,\n\t\t\t\t\t       gnutls_datum_t
      *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1429,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/name_constraints.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - nc
    - idx
    - type
    - name
    argTypes:
    - gnutls_x509_name_constraints_t
    - unsigned
    - unsigned*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1442
    functionName: gnutls_x509_name_constraints_get_excluded
    functionSourceFile: /src/gnutls/lib/x509/name_constraints.c
    functionUses: 9
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_name_constraints_get_excluded(gnutls_x509_name_constraints_t
      nc,\n\t\t\t\t\t      unsigned idx, unsigned *type,\n\t\t\t\t\t      gnutls_datum_t
      *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:55,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:57,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:58,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:66,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:67,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/extensions.c:72,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:79,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:80,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:84,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:87,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:90,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:91,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:101,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:102,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/extensions.c:104,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:106,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:123,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 6
    argNames:
    - asn
    - root
    - extension_id
    - indx
    - ret
    - _critical
    argTypes:
    - asn1_node
    - char*
    - char*
    - int
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 126
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 126
    functionName: _gnutls_get_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - strcmp
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_extension(asn1_node asn, const char *root,\n\t\t\t
      \ const char *extension_id, int indx,\n\t\t\t  gnutls_datum_t *ret, unsigned
      int *_critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:137,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/extensions.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/extensions.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - asn
    - root
    - indx
    - out
    argTypes:
    - asn1_node
    - char*
    - int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: get_indx_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - snprintf
    - _gnutls_x509_read_value
    linkageType: ''
    returnType: int
    signature: "int get_indx_extension(asn1_node asn, const char *root, int indx,\n\t\t\t
      \     gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_extension
      Src: /src/gnutls/lib/x509/extensions.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cert
    - extension_id
    - indx
    - data
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - int
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: _gnutls_x509_crt_get_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 28
    functionsReached:
    - _gnutls_get_extension
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_get_extension(gnutls_x509_crt_t cert,\n\t\t\t\t
      \  const char *extension_id, int indx,\n\t\t\t\t   gnutls_datum_t *data, unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_indx_extension
      Src: /src/gnutls/lib/x509/extensions.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert
    - indx
    - data
    argTypes:
    - gnutls_x509_crt_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: gnutls_x509_crt_get_extension_data2
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 5
    functionsReached:
    - get_indx_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crt_get_extension_data2(gnutls_x509_crt_t cert, unsigned
      indx,\n\t\t\t\t\tgnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_extension
      Src: /src/gnutls/lib/x509/extensions.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - crl
    - extension_id
    - indx
    - data
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - int
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: _gnutls_x509_crl_get_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 4
    functionsReached:
    - _gnutls_get_extension
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crl_get_extension(gnutls_x509_crl_t crl,\n\t\t\t\t
      \  const char *extension_id, int indx,\n\t\t\t\t   gnutls_datum_t *data, unsigned
      int *critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_indx_extension
      Src: /src/gnutls/lib/x509/extensions.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crl
    - indx
    - data
    argTypes:
    - gnutls_x509_crl_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: gnutls_x509_crl_get_extension_data2
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 1
    functionsReached:
    - get_indx_extension
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_crl_get_extension_data2(gnutls_x509_crl_t crl, unsigned
      indx,\n\t\t\t\t\tgnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:228,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:230,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:231,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:237,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:240,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:241,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/extensions.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:251,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/extensions.c:255,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:266,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - asn
    - root
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - asn1_node
    - char*
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 269
    functionName: get_extension_oid
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - asn1_read_value
    - snprintf
    - memcpy
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int get_extension_oid(asn1_node asn, const char *root, unsigned indx,\n\t\t\t
      \    void *oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_oid
      Src: /src/gnutls/lib/x509/extensions.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cert
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crt_t
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: _gnutls_x509_crt_get_extension_oid
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 1
    functionsReached:
    - get_extension_oid
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_get_extension_oid(gnutls_x509_crt_t cert, int
      indx,\n\t\t\t\t       void *oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_oid
      Src: /src/gnutls/lib/x509/extensions.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crl
    - indx
    - oid
    - sizeof_oid
    argTypes:
    - gnutls_x509_crl_t
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: _gnutls_x509_crl_get_extension_oid
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 1
    functionsReached:
    - get_extension_oid
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crl_get_extension_oid(gnutls_x509_crl_t crl, int
      indx,\n\t\t\t\t       void *oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:304,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:310,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:311,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:315,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:317,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:319,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:321,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:322,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:331,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:333,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:335,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:337,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:338,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:342,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:344,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/extensions.c:346,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - asn
    - root
    - extension_id
    - ext_data
    - critical
    argTypes:
    - asn1_node
    - char*
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 353
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 353
    functionName: add_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - snprintf
    - asn1_write_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int add_extension(asn1_node asn, const char *root,\n\t\t\t const char
      *extension_id,\n\t\t\t const gnutls_datum_t *ext_data, unsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:368,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:370,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:377,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:378,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:382,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:383,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:386,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:387,1
    - Dst: _gnutls_x509_write_value
      Src: /src/gnutls/lib/x509/extensions.c:389,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - asn
    - root
    - indx
    - ext_data
    - critical
    argTypes:
    - asn1_node
    - char*
    - unsigned int
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: overwrite_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_write_value
    - snprintf
    - asn1_write_value
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int overwrite_extension(asn1_node asn, const char *root,\n\t\t\t       unsigned
      int indx,\n\t\t\t       const gnutls_datum_t *ext_data,\n\t\t\t       unsigned
      int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:413,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:415,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:418,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:428,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:429,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:432,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:435,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:438,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:439,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/extensions.c:444,1
    - Dst: overwrite_extension
      Src: /src/gnutls/lib/x509/extensions.c:447,1
    - Dst: add_extension
      Src: /src/gnutls/lib/x509/extensions.c:455,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:457,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - asn
    - root
    - ext_id
    - ext_data
    - critical
    argTypes:
    - asn1_node
    - char*
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 462
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 462
    functionName: _gnutls_set_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - add_extension
    - asn1_read_value
    - snprintf
    - overwrite_extension
    - strcmp
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_extension(asn1_node asn, const char *root, const char
      *ext_id,\n\t\t\t  const gnutls_datum_t *ext_data, unsigned int critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MODIFIED
      Src: /src/gnutls/lib/x509/extensions.c:473,1
    - Dst: _gnutls_set_extension
      Src: /src/gnutls/lib/x509/extensions.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cert
    - ext_id
    - ext_data
    - critical
    argTypes:
    - gnutls_x509_crt_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 478
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 478
    functionName: _gnutls_x509_crt_set_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 21
    functionsReached:
    - _gnutls_set_extension
    - MODIFIED
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crt_set_extension(gnutls_x509_crt_t cert, const char
      *ext_id,\n\t\t\t\t   const gnutls_datum_t *ext_data,\n\t\t\t\t   unsigned int
      critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_set_extension
      Src: /src/gnutls/lib/x509/extensions.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - crl
    - ext_id
    - ext_data
    - critical
    argTypes:
    - gnutls_x509_crl_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: _gnutls_x509_crl_set_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 2
    functionsReached:
    - _gnutls_set_extension
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crl_set_extension(gnutls_x509_crl_t crl, const char
      *ext_id,\n\t\t\t\t   const gnutls_datum_t *ext_data,\n\t\t\t\t   unsigned int
      critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/extensions.c:498,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/extensions.c:501,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:503,1
    - Dst: gnutls_x509_crq_get_attribute_by_oid
      Src: /src/gnutls/lib/x509/extensions.c:507,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:515,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/extensions.c:516,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/extensions.c:521,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/extensions.c:521,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:524,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/extensions.c:525,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:526,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/extensions.c:530,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/extensions.c:532,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:534,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:535,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:536,1
    - Dst: _gnutls_set_extension
      Src: /src/gnutls/lib/x509/extensions.c:540,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:542,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:543,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/extensions.c:547,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:549,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:552,1
    - Dst: gnutls_x509_crq_set_attribute_by_oid
      Src: /src/gnutls/lib/x509/extensions.c:556,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/extensions.c:558,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 4
    argNames:
    - crq
    - ext_id
    - ext_data
    - critical
    argTypes:
    - gnutls_x509_crq_t
    - char*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 565
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 565
    functionName: _gnutls_x509_crq_set_extension
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 8
    functionsReached:
    - _gnutls_asn2err
    - gnutls_x509_crq_set_attribute_by_oid
    - gnutls_free
    - asn1_create_element
    - gnutls_malloc
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - _gnutls_set_extension
    - asn1_delete_structure
    - gnutls_x509_crq_get_attribute_by_oid
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_crq_set_extension(gnutls_x509_crq_t crq, const char
      *ext_id,\n\t\t\t\t   const gnutls_datum_t *ext_data,\n\t\t\t\t   unsigned int
      critical)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/extensions.c:579,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/extensions.c:579,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:582,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:583,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/extensions.c:586,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:588,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:589,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:590,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/extensions.c:595,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:597,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - number
    - _nr_size
    - extnValue
    - extnValueLen
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 606
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 606
    functionName: _gnutls_x509_ext_extract_number
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_ext_extract_number(uint8_t *number, size_t *_nr_size,\n\t\t\t\t
      \   uint8_t *extnValue, int extnValueLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/extensions.c:616,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/extensions.c:616,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:619,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:620,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:623,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:625,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:626,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:627,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/extensions.c:630,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:632,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - number
    - nr_size
    - der_ext
    argTypes:
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: _gnutls_x509_ext_gen_number
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_ext_gen_number(const uint8_t *number, size_t nr_size,\n\t\t\t\tgnutls_datum_t
      *der_ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/extensions.c:654,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:674,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:678,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:680,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:681,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:684,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:686,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:688,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:689,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - ext
    - ext_name
    - type
    - data
    - data_size
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 694
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 694
    functionName: _gnutls_write_general_name
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_write_value
    - gnutls_assert
    - asn1_delete_structure
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_write_general_name(asn1_node ext, const char *ext_name,\n\t\t\t
      \      gnutls_x509_subject_alt_name_t type,\n\t\t\t       const void *data,
      unsigned int data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:703,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:705,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:706,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:710,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:712,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:713,1
    - Dst: _gnutls_write_general_name
      Src: /src/gnutls/lib/x509/extensions.c:716,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ext
    - ext_name
    - type
    - data
    - data_size
    argTypes:
    - asn1_node
    - char*
    - gnutls_x509_subject_alt_name_t
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 723
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 723
    functionName: _gnutls_write_new_general_name
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - _gnutls_write_general_name
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_write_new_general_name(asn1_node ext, const char *ext_name,\n\t\t\t\t
      \  gnutls_x509_subject_alt_name_t type,\n\t\t\t\t   const void *data, unsigned
      int data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:733,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:735,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:736,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:740,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/extensions.c:742,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/extensions.c:743,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:746,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:748,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:749,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:752,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:754,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:756,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:757,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:758,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/extensions.c:761,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/extensions.c:763,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:765,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/extensions.c:766,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/extensions.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - ext
    - ext_name
    - oid
    - data
    - data_size
    argTypes:
    - asn1_node
    - char*
    - char*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 771
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 771
    functionName: _gnutls_write_new_othername
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - snprintf
    - asn1_write_value
    - asn1_delete_structure
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_write_new_othername(asn1_node ext, const char *ext_name,\n\t\t\t\tconst
      char *oid, const void *data,\n\t\t\t\tunsigned int data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_subject_alt_names_init
      Src: /src/gnutls/lib/x509/extensions.c:787,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:789,1
    - Dst: gnutls_x509_ext_import_subject_alt_names
      Src: /src/gnutls/lib/x509/extensions.c:795,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:798,1
    - Dst: gnutls_subject_alt_names_set
      Src: /src/gnutls/lib/x509/extensions.c:805,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:807,1
    - Dst: gnutls_x509_ext_export_subject_alt_names
      Src: /src/gnutls/lib/x509/extensions.c:811,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:813,1
    - Dst: gnutls_subject_alt_names_deinit
      Src: /src/gnutls/lib/x509/extensions.c:820,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - type
    - othername_oid
    - data
    - data_size
    - prev_der_ext
    - der_ext
    argTypes:
    - gnutls_x509_subject_alt_name_t
    - char*
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 823
      start: 776
    functionDepth: 6
    functionLinenumber: 776
    functionLinenumberEnd: 823
    functionName: _gnutls_x509_ext_gen_subject_alt_name
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 6
    functionsReached:
    - gnutls_x509_ext_export_subject_alt_names
    - gnutls_subject_alt_names_deinit
    - gnutls_subject_alt_names_set
    - gnutls_x509_ext_import_subject_alt_names
    - gnutls_subject_alt_names_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_ext_gen_subject_alt_name(gnutls_x509_subject_alt_name_t
      type,\n\t\t\t\t\t  const char *othername_oid,\n\t\t\t\t\t  const void *data,\n\t\t\t\t\t
      \ unsigned int data_size,\n\t\t\t\t\t  const gnutls_datum_t *prev_der_ext,\n\t\t\t\t\t
      \ gnutls_datum_t *der_ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_aki_init
      Src: /src/gnutls/lib/x509/extensions.c:834,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/extensions.c:836,1
    - Dst: gnutls_x509_aki_set_id
      Src: /src/gnutls/lib/x509/extensions.c:840,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:842,1
    - Dst: gnutls_x509_ext_export_authority_key_id
      Src: /src/gnutls/lib/x509/extensions.c:846,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/extensions.c:848,1
    - Dst: gnutls_x509_aki_deinit
      Src: /src/gnutls/lib/x509/extensions.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - id
    - id_size
    - der_ext
    argTypes:
    - void*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 857
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 857
    functionName: _gnutls_x509_ext_gen_auth_key_id
    functionSourceFile: /src/gnutls/lib/x509/extensions.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_ext_export_authority_key_id
    - gnutls_x509_aki_set_id
    - gnutls_x509_aki_deinit
    - gnutls_x509_aki_init
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_ext_gen_auth_key_id(const void *id, size_t id_size,\n\t\t\t\t
      \    gnutls_datum_t *der_ext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/ocsp.c:69,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:76,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:76,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:79,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:80,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - gnutls_ocsp_req_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: gnutls_ocsp_req_init
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 7
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - gnutls_free
    - asn1_create_element
    - _gnutls_get_pkix
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_req_init(gnutls_ocsp_req_t *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:101,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - req
    argTypes:
    - gnutls_ocsp_req_t
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: gnutls_ocsp_req_deinit
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 7
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_ocsp_req_deinit(gnutls_ocsp_req_t req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/ocsp.c:118,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:125,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:128,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:129,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:130,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:133,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:136,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:137,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:138,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 145
    functionName: gnutls_ocsp_resp_init
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 13
    functionsReached:
    - gnutls_calloc
    - _gnutls_asn2err
    - gnutls_free
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_init(gnutls_ocsp_resp_t *resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:159,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:160,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:162,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:167,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_t
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: gnutls_ocsp_resp_deinit
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 14
    functionsReached:
    - gnutls_free
    - asn1_delete_structure
    linkageType: ''
    returnType: void
    signature: void gnutls_ocsp_resp_deinit(gnutls_ocsp_resp_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:188,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:196,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:198,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:201,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:202,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/ocsp.c:207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:209,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - gnutls_ocsp_req_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: gnutls_ocsp_req_import
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_req_import(gnutls_ocsp_req_t req, const gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/lib/x509/ocsp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resp
    - data
    argTypes:
    - gnutls_ocsp_resp_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: gnutls_ocsp_resp_import
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 11
    functionsReached:
    - gnutls_ocsp_resp_import2
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_import(gnutls_ocsp_resp_t resp, const gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:256,1
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/lib/x509/ocsp.c:264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:267,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:275,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:277,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:279,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:282,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:283,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/ocsp.c:287,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/ocsp.c:287,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:291,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:292,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:296,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/ocsp.c:300,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:302,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:303,1
    - Dst: gnutls_ocsp_resp_get_status
      Src: /src/gnutls/lib/x509/ocsp.c:307,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:312,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:315,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:321,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:326,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/ocsp.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:333,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:334,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/ocsp.c:338,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:345,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - resp
    - data
    - fmt
    argTypes:
    - gnutls_ocsp_resp_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 347
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 347
    functionName: gnutls_ocsp_resp_import2
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_create_element
    - gnutls_assert
    - gnutls_pem_base64_decode2
    - _gnutls_get_pkix
    - memcmp
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_ocsp_resp_get_status
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_import2(gnutls_ocsp_resp_t resp,\n\t\t\t     const
      gnutls_datum_t *data,\n\t\t\t     gnutls_x509_crt_fmt_t fmt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:364,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:369,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:370,1
    - Dst: gnutls_ocsp_req_get_extension
      Src: /src/gnutls/lib/x509/ocsp.c:373,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:375,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/ocsp.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - gnutls_ocsp_req_const_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 379
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 379
    functionName: gnutls_ocsp_req_export
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 7
    functionsReached:
    - _gnutls_x509_get_raw_field
    - asn1_write_value
    - gnutls_assert
    - gnutls_ocsp_req_get_extension
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_req_export(gnutls_ocsp_req_const_t req, gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_export2
      Src: /src/gnutls/lib/x509/ocsp.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resp
    - data
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: gnutls_ocsp_resp_export
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_export2
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t resp, gnutls_datum_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:416,1
    - Dst: _gnutls_x509_get_raw_field
      Src: /src/gnutls/lib/x509/ocsp.c:420,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:422,1
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/lib/x509/ocsp.c:429,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:430,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - resp
    - data
    - fmt
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    constantsTouched: []
    func_position:
      end: 436
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 436
    functionName: gnutls_ocsp_resp_export2
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_pem_base64_encode2
    - _gnutls_x509_get_raw_field
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_export2(gnutls_ocsp_resp_const_t resp,\n\t\t\t
      \    gnutls_datum_t *data, gnutls_x509_crt_fmt_t fmt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:450,1
    - Dst: _gnutls_x509_get_version
      Src: /src/gnutls/lib/x509/ocsp.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - req
    argTypes:
    - gnutls_ocsp_req_const_t
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: gnutls_ocsp_req_get_version
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_req_get_version(gnutls_ocsp_req_const_t req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:497,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:501,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:504,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:508,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/ocsp.c:512,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/ocsp.c:513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:515,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:523,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:526,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:528,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:534,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:539,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:541,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:547,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:550,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:552,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:554,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:556,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 6
    argNames:
    - req
    - indx
    - digest
    - issuer_name_hash
    - issuer_key_hash
    - serial_number
    argTypes:
    - gnutls_ocsp_req_const_t
    - unsigned
    - gnutls_digest_algorithm_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 562
    functionName: gnutls_ocsp_req_get_cert_id
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - _gnutls_x509_read_value
    - _gnutls_free_datum
    - snprintf
    - gnutls_oid_to_digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_get_cert_id(gnutls_ocsp_req_const_t req, unsigned
      indx,\n\t\t\t\tgnutls_digest_algorithm_t *digest,\n\t\t\t\tgnutls_datum_t *issuer_name_hash,\n\t\t\t\tgnutls_datum_t
      *issuer_key_hash,\n\t\t\t\tgnutls_datum_t *serial_number)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:601,1
    - Dst: _gnutls_x509_digest_to_oid
      Src: /src/gnutls/lib/x509/ocsp.c:605,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/ocsp.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:607,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:611,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:613,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:614,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:617,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:622,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:623,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:627,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:632,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:633,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:636,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:640,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:641,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:648,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:649,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:652,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:656,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:657,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/ocsp.c:661,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:666,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:667,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 5
    argNames:
    - req
    - digest
    - issuer_name_hash
    - issuer_key_hash
    - serial_number
    argTypes:
    - gnutls_ocsp_req_t
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 671
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 671
    functionName: gnutls_ocsp_req_add_cert_id
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - hash_to_entry
    - _gnutls_x509_digest_to_oid
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_add_cert_id(gnutls_ocsp_req_t req,\n\t\t\t\tgnutls_digest_algorithm_t
      digest,\n\t\t\t\tconst gnutls_datum_t *issuer_name_hash,\n\t\t\t\tconst gnutls_datum_t
      *issuer_key_hash,\n\t\t\t\tconst gnutls_datum_t *serial_number)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:702,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/ocsp.c:706,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:709,1
    - Dst: gnutls_fingerprint
      Src: /src/gnutls/lib/x509/ocsp.c:713,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:714,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:716,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:722,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:726,1
    - Dst: gnutls_fingerprint
      Src: /src/gnutls/lib/x509/ocsp.c:730,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:731,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:733,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:739,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:742,1
    - Dst: gnutls_ocsp_req_add_cert_id
      Src: /src/gnutls/lib/x509/ocsp.c:746,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:747,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:749,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - req
    - digest
    - issuer
    - cert
    argTypes:
    - gnutls_ocsp_req_t
    - gnutls_digest_algorithm_t
    - gnutls_x509_crt_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 754
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 754
    functionName: gnutls_ocsp_req_add_cert
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - _gnutls_x509_read_value
    - gnutls_fingerprint
    - _gnutls_x509_der_encode
    - gnutls_assert
    - gnutls_ocsp_req_add_cert_id
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_add_cert(gnutls_ocsp_req_t req,\n\t\t\t     gnutls_digest_algorithm_t
      digest,\n\t\t\t     gnutls_x509_crt_t issuer, gnutls_x509_crt_t cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:791,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:795,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:798,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:802,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:803,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:814,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:816,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:818,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:824,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:827,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:829,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - req
    - indx
    - oid
    - critical
    - data
    argTypes:
    - gnutls_ocsp_req_const_t
    - unsigned
    - gnutls_datum_t*
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 837
    functionName: gnutls_ocsp_req_get_extension
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_get_extension(gnutls_ocsp_req_const_t req, unsigned
      indx,\n\t\t\t\t  gnutls_datum_t *oid, unsigned int *critical,\n\t\t\t\t  gnutls_datum_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:858,1
    - Dst: _gnutls_set_extension
      Src: /src/gnutls/lib/x509/ocsp.c:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - req
    - oid
    - critical
    - data
    argTypes:
    - gnutls_ocsp_req_t
    - char*
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 864
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 864
    functionName: gnutls_ocsp_req_set_extension
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - _gnutls_set_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_set_extension(gnutls_ocsp_req_t req, const char
      *oid,\n\t\t\t\t  unsigned int critical,\n\t\t\t\t  const gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:887,1
    - Dst: _gnutls_get_extension
      Src: /src/gnutls/lib/x509/ocsp.c:891,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:894,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/ocsp.c:898,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:901,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:902,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - req
    - critical
    - nonce
    argTypes:
    - gnutls_ocsp_req_const_t
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 909
      start: 880
    functionDepth: 5
    functionLinenumber: 880
    functionLinenumberEnd: 909
    functionName: gnutls_ocsp_req_get_nonce
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - _gnutls_get_extension
    - gnutls_free
    - _gnutls_x509_decode_string
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_get_nonce(gnutls_ocsp_req_const_t req,\n\t\t\t
      \     unsigned int *critical, gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:933,1
    - Dst: asn1_length_der
      Src: /src/gnutls/lib/x509/ocsp.c:937,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ocsp.c:940,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:942,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/ocsp.c:947,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/ocsp.c:948,1
    - Dst: _gnutls_set_extension
      Src: /src/gnutls/lib/x509/ocsp.c:950,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:952,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - req
    - critical
    - nonce
    argTypes:
    - gnutls_ocsp_req_t
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 959
      start: 924
    functionDepth: 4
    functionLinenumber: 924
    functionLinenumberEnd: 959
    functionName: gnutls_ocsp_req_set_nonce
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 4
    functionsReached:
    - asn1_length_der
    - gnutls_free
    - gnutls_malloc
    - _gnutls_set_extension
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_req_set_nonce(gnutls_ocsp_req_t req, unsigned int
      critical,\n\t\t\t      const gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:978,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/x509/ocsp.c:982,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:984,1
    - Dst: gnutls_ocsp_req_set_nonce
      Src: /src/gnutls/lib/x509/ocsp.c:988,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - req
    argTypes:
    - gnutls_ocsp_req_t
    constantsTouched: []
    func_position:
      end: 995
      start: 971
    functionDepth: 5
    functionLinenumber: 971
    functionLinenumberEnd: 995
    functionName: gnutls_ocsp_req_randomize_nonce
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - gnutls_ocsp_req_set_nonce
    - gnutls_assert
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_req_randomize_nonce(gnutls_ocsp_req_t req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1013,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1018,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1020,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:1021,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1025,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 1040
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1040
    functionName: gnutls_ocsp_resp_get_status
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - asn1_read_value
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_get_status(gnutls_ocsp_resp_const_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1072,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1077,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1081,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1087,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - resp
    - response_type_oid
    - response
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1096
    functionName: gnutls_ocsp_resp_get_response
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_read_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_response(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \ gnutls_datum_t *response_type_oid,\n\t\t\t\t  gnutls_datum_t *response)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1111,1
    - Dst: _gnutls_x509_get_version
      Src: /src/gnutls/lib/x509/ocsp.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 1116
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1116
    functionName: gnutls_ocsp_resp_get_version
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_get_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_get_version(gnutls_ocsp_resp_const_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_get_responder2
      Src: /src/gnutls/lib/x509/ocsp.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - resp
    - dn
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1155
    functionName: gnutls_ocsp_resp_get_responder
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_get_responder2
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_responder(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \  gnutls_datum_t *dn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1186,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/ocsp.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - resp
    - dn
    - flags
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1196
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1196
    functionName: gnutls_ocsp_resp_get_responder2
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_get_dn
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_responder2(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \   gnutls_datum_t *dn, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1220,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1225,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/ocsp.c:1232,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1239,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/x509/ocsp.c:1247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1249,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1255,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/ocsp.c:1263,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - resp
    - type
    - raw
    argTypes:
    - gnutls_ocsp_resp_const_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1273
    functionName: gnutls_ocsp_resp_get_responder_raw_id
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - _gnutls_x509_read_value
    - _gnutls_x509_get_raw_field2
    - asn1_get_length_der
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_responder_raw_id(gnutls_ocsp_resp_const_t
      resp,\n\t\t\t\t\t  unsigned type, gnutls_datum_t *raw)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1291,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1296,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1299,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/ocsp.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 1306
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1306
    functionName: gnutls_ocsp_resp_get_produced
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - asn1_read_value
    - gnutls_assert
    - _gnutls_x509_generalTime2gtime
    linkageType: ''
    returnType: time_t
    signature: time_t gnutls_ocsp_resp_get_produced(gnutls_ocsp_resp_const_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1334,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/lib/x509/ocsp.c:1336,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1340,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1343,1
    - Dst: _gnutls_hash_get_algo_len
      Src: /src/gnutls/lib/x509/ocsp.c:1347,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/x509/ocsp.c:1347,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1349,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ocsp.c:1354,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1356,1
    - Dst: gnutls_x509_crt_get_serial
      Src: /src/gnutls/lib/x509/ocsp.c:1361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1363,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1369,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1371,1
    - Dst: gnutls_x509_crt_get_raw_issuer_dn
      Src: /src/gnutls/lib/x509/ocsp.c:1375,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1377,1
    - Dst: _gnutls_hash_fast
      Src: /src/gnutls/lib/x509/ocsp.c:1381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1383,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1389,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1396,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1397,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1398,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1399,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 3
    argNames:
    - resp
    - indx
    - crt
    argTypes:
    - gnutls_ocsp_resp_const_t
    - unsigned int
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 1402
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1402
    functionName: gnutls_ocsp_resp_check_crt
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 5
    functionsReached:
    - gnutls_free
    - hash_to_entry
    - gnutls_malloc
    - gnutls_assert
    - memcmp
    - gnutls_x509_crt_get_raw_issuer_dn
    - _gnutls_hash_fast
    - gnutls_ocsp_resp_get_single
    - gnutls_x509_crt_get_serial
    - gnutls_assert_val
    - _gnutls_hash_get_algo_len
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_check_crt(gnutls_ocsp_resp_const_t resp, unsigned
      int indx,\n\t\t\t       gnutls_x509_crt_t crt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1456,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1461,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1465,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:1466,1
    - Dst: gnutls_oid_to_digest
      Src: /src/gnutls/lib/x509/ocsp.c:1469,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1471,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1479,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1482,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1485,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1491,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1494,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1497,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1503,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1506,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1509,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1515,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1519,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1521,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1525,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:1526,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1530,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1532,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1534,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1537,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1544,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1547,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1549,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/ocsp.c:1553,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1558,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1561,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1563,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/ocsp.c:1566,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1570,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1575,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1577,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/ocsp.c:1581,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1586,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/ocsp.c:1591,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1600,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1602,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1604,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 128
    argCount: 11
    argNames:
    - resp
    - indx
    - digest
    - issuer_name_hash
    - issuer_key_hash
    - serial_number
    - cert_status
    - this_update
    - next_update
    - revocation_time
    - revocation_reason
    argTypes:
    - gnutls_ocsp_resp_const_t
    - unsigned
    - gnutls_digest_algorithm_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned int*
    - time_t*
    - time_t*
    - time_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1431
    functionDepth: 3
    functionLinenumber: 1431
    functionLinenumberEnd: 1606
    functionName: gnutls_ocsp_resp_get_single
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 6
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - _gnutls_x509_read_uint
    - memcmp
    - gnutls_oid_to_digest
    - _gnutls_x509_generalTime2gtime
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_single(gnutls_ocsp_resp_const_t resp, unsigned
      indx,\n\t\t\t\tgnutls_digest_algorithm_t *digest,\n\t\t\t\tgnutls_datum_t *issuer_name_hash,\n\t\t\t\tgnutls_datum_t
      *issuer_key_hash,\n\t\t\t\tgnutls_datum_t *serial_number,\n\t\t\t\tunsigned
      int *cert_status, time_t *this_update,\n\t\t\t\ttime_t *next_update, time_t
      *revocation_time,\n\t\t\t\tunsigned int *revocation_reason)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1643,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1647,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1650,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1654,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/ocsp.c:1655,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1666,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1669,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1671,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1677,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1680,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1682,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - resp
    - indx
    - oid
    - critical
    - data
    argTypes:
    - gnutls_ocsp_resp_const_t
    - unsigned
    - gnutls_datum_t*
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1633
    functionDepth: 3
    functionLinenumber: 1633
    functionLinenumberEnd: 1690
    functionName: gnutls_ocsp_resp_get_extension
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - gnutls_free
    - _gnutls_x509_read_value
    - asn1_read_value
    - snprintf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_extension(gnutls_ocsp_resp_const_t resp,
      unsigned indx,\n\t\t\t\t   gnutls_datum_t *oid, unsigned int *critical,\n\t\t\t\t
      \  gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_extension
      Src: /src/gnutls/lib/x509/ocsp.c:1713,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1717,1
    - Dst: _gnutls_x509_decode_string
      Src: /src/gnutls/lib/x509/ocsp.c:1721,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1724,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1725,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - resp
    - critical
    - nonce
    argTypes:
    - gnutls_ocsp_resp_const_t
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1707
    functionDepth: 5
    functionLinenumber: 1707
    functionLinenumberEnd: 1732
    functionName: gnutls_ocsp_resp_get_nonce
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 4
    functionsReached:
    - _gnutls_x509_decode_string
    - gnutls_free
    - _gnutls_get_extension
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_nonce(gnutls_ocsp_resp_const_t resp,\n\t\t\t
      \      unsigned int *critical, gnutls_datum_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1750,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1753,1
    - Dst: gnutls_oid_to_sign
      Src: /src/gnutls/lib/x509/ocsp.c:1757,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/ocsp.c:1759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 1762
      start: 1745
    functionDepth: 3
    functionLinenumber: 1745
    functionLinenumberEnd: 1762
    functionName: gnutls_ocsp_resp_get_signature_algorithm
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_x509_read_value
    - gnutls_oid_to_sign
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_ocsp_resp_get_signature_algorithm(gnutls_ocsp_resp_const_t
      resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1780,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/ocsp.c:1784,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - resp
    - sig
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1791
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1791
    functionName: gnutls_ocsp_resp_get_signature
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_read_value
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_signature(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \  gnutls_datum_t *sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1824,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ocsp.c:1828,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1830,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:1837,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/ocsp.c:1839,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1843,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/ocsp.c:1847,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/ocsp.c:1847,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:1848,1
    - Dst: _gnutls_reallocarray_fast
      Src: /src/gnutls/lib/x509/ocsp.c:1852,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1855,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/lib/x509/ocsp.c:1861,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1863,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/lib/x509/ocsp.c:1868,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1871,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1875,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1893,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:1895,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:1896,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 3
    argNames:
    - resp
    - certs
    - ncerts
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_x509_crt_t**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1815
    functionDepth: 9
    functionLinenumber: 1815
    functionLinenumberEnd: 1898
    functionName: gnutls_ocsp_resp_get_certs
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - snprintf
    - gnutls_malloc
    - _gnutls_reallocarray_fast
    - _gnutls_x509_der_encode
    - unlikely
    - gnutls_assert_val
    - gnutls_assert
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_get_certs(gnutls_ocsp_resp_const_t resp,\n\t\t\t
      \      gnutls_x509_crt_t **certs, size_t *ncerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_get_responder_raw_id
      Src: /src/gnutls/lib/x509/ocsp.c:1911,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1914,1
    - Dst: gnutls_ocsp_resp_get_responder_raw_id
      Src: /src/gnutls/lib/x509/ocsp.c:1915,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1919,1
    - Dst: gnutls_ocsp_resp_get_certs
      Src: /src/gnutls/lib/x509/ocsp.c:1923,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1925,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/ocsp.c:1931,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/ocsp.c:1932,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:1939,1
    - Dst: gnutls_x509_crt_get_subject_key_id
      Src: /src/gnutls/lib/x509/ocsp.c:1944,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1947,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:1952,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/ocsp.c:1956,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1961,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1970,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/x509/ocsp.c:1975,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1978,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1984,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/x509/ocsp.c:1989,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:1992,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:1998,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2002,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:2004,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/ocsp.c:2006,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:2008,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2013,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2017,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2021,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2022,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2025,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2026,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 2028
      start: 1902
    functionDepth: 10
    functionLinenumber: 1902
    functionLinenumberEnd: 2028
    functionName: find_signercert
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 0
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_x509_crt_deinit
    - _gnutls_x509_get_raw_field2
    - gnutls_x509_crt_get_subject_key_id
    - memcmp
    - gnutls_ocsp_resp_get_certs
    - asn1_get_length_der
    - gnutls_ocsp_resp_get_responder_raw_id
    - gnutls_hash_fast
    - _gnutls_debug_log
    - _gnutls_cert_log
    - gnutls_assert
    linkageType: ''
    returnType: gnutls_x509_crt_t
    signature: gnutls_x509_crt_t find_signercert(gnutls_ocsp_resp_const_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2041,1
    - Dst: gnutls_ocsp_resp_get_signature_algorithm
      Src: /src/gnutls/lib/x509/ocsp.c:2045,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2047,1
    - Dst: _gnutls_x509_get_raw_field2
      Src: /src/gnutls/lib/x509/ocsp.c:2052,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2055,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/lib/x509/ocsp.c:2059,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2061,1
    - Dst: _gnutls_cert_log
      Src: /src/gnutls/lib/x509/ocsp.c:2065,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/lib/x509/ocsp.c:2067,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2069,1
    - Dst: gnutls_ocsp_resp_get_signature
      Src: /src/gnutls/lib/x509/ocsp.c:2073,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2075,1
    - Dst: gnutls_pubkey_verify_data2
      Src: /src/gnutls/lib/x509/ocsp.c:2079,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2081,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2084,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2092,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2093,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - resp
    - signercert
    - verify
    - flags
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2096
      start: 2030
    functionDepth: 4
    functionLinenumber: 2030
    functionLinenumberEnd: 2096
    functionName: _ocsp_resp_verify_direct
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 7
    functionsReached:
    - gnutls_free
    - gnutls_ocsp_resp_get_signature_algorithm
    - _gnutls_x509_get_raw_field2
    - gnutls_pubkey_verify_data2
    - gnutls_pubkey_import_x509
    - gnutls_ocsp_resp_get_signature
    - gnutls_pubkey_deinit
    - gnutls_pubkey_init
    - _gnutls_cert_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \   gnutls_x509_crt_t signercert,\n\t\t\t\t    unsigned int *verify, unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2112
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2112
    functionName: vstatus_to_ocsp_status
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int vstatus_to_ocsp_status(unsigned int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_key_purpose_oid
      Src: /src/gnutls/lib/x509/ocsp.c:2122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2126,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2132,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/ocsp.c:2135,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - signercert
    argTypes:
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 2143
      start: 2114
    functionDepth: 4
    functionLinenumber: 2114
    functionLinenumberEnd: 2143
    functionName: check_ocsp_purpose
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - gnutls_x509_crt_get_key_purpose_oid
    - gnutls_assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int check_ocsp_purpose(gnutls_x509_crt_t signercert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2177,1
    - Dst: find_signercert
      Src: /src/gnutls/lib/x509/ocsp.c:2181,1
    - Dst: gnutls_x509_crt_equals
      Src: /src/gnutls/lib/x509/ocsp.c:2184,1
    - Dst: gnutls_x509_crt_verify
      Src: /src/gnutls/lib/x509/ocsp.c:2189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2192,1
    - Dst: _gnutls_reason_log
      Src: /src/gnutls/lib/x509/ocsp.c:2197,1
    - Dst: vstatus_to_ocsp_status
      Src: /src/gnutls/lib/x509/ocsp.c:2198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2199,1
    - Dst: check_ocsp_purpose
      Src: /src/gnutls/lib/x509/ocsp.c:2204,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2206,1
    - Dst: _ocsp_resp_verify_direct
      Src: /src/gnutls/lib/x509/ocsp.c:2213,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - resp
    - issuer
    - verify
    - flags
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_x509_crt_t
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2220
      start: 2169
    functionDepth: 11
    functionLinenumber: 2169
    functionLinenumberEnd: 2220
    functionName: gnutls_ocsp_resp_verify_direct
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 7
    functionsReached:
    - gnutls_x509_crt_deinit
    - _gnutls_reason_log
    - _ocsp_resp_verify_direct
    - vstatus_to_ocsp_status
    - gnutls_x509_crt_verify
    - gnutls_x509_crt_equals
    - check_ocsp_purpose
    - find_signercert
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_verify_direct(gnutls_ocsp_resp_const_t resp,\n\t\t\t\t
      \  gnutls_x509_crt_t issuer,\n\t\t\t\t   unsigned int *verify, unsigned int
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_signercert
      Src: /src/gnutls/lib/x509/ocsp.c:2268,1
    - Dst: gnutls_ocsp_resp_get_responder_raw_id
      Src: /src/gnutls/lib/x509/ocsp.c:2272,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2275,1
    - Dst: gnutls_x509_trust_list_get_issuer_by_dn
      Src: /src/gnutls/lib/x509/ocsp.c:2281,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2283,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2286,1
    - Dst: _gnutls_trustlist_inlist
      Src: /src/gnutls/lib/x509/ocsp.c:2295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2305,1
    - Dst: gnutls_x509_trust_list_verify_crt2
      Src: /src/gnutls/lib/x509/ocsp.c:2307,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2311,1
    - Dst: vstatus_to_ocsp_status
      Src: /src/gnutls/lib/x509/ocsp.c:2316,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2317,1
    - Dst: check_ocsp_purpose
      Src: /src/gnutls/lib/x509/ocsp.c:2322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2324,1
    - Dst: _ocsp_resp_verify_direct
      Src: /src/gnutls/lib/x509/ocsp.c:2333,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - resp
    - trustlist
    - verify
    - flags
    argTypes:
    - gnutls_ocsp_resp_const_t
    - gnutls_x509_trust_list_t
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2339
      start: 2252
    functionDepth: 11
    functionLinenumber: 2252
    functionLinenumberEnd: 2339
    functionName: gnutls_ocsp_resp_verify
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 3
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_deinit
    - _ocsp_resp_verify_direct
    - vstatus_to_ocsp_status
    - gnutls_x509_trust_list_get_issuer_by_dn
    - _gnutls_trustlist_inlist
    - gnutls_ocsp_resp_get_responder_raw_id
    - gnutls_x509_trust_list_verify_crt2
    - check_ocsp_purpose
    - find_signercert
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_verify(gnutls_ocsp_resp_const_t resp,\n\t\t\t
      \   gnutls_x509_trust_list_t trustlist,\n\t\t\t    unsigned int *verify, unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmem
      Src: /src/gnutls/lib/x509/ocsp.c:2383,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2386,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2393,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/lib/x509/ocsp.c:2399,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2401,1
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/lib/x509/ocsp.c:2405,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2408,1
    - Dst: unlikely
      Src: /src/gnutls/lib/x509/ocsp.c:2412,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnutls/lib/x509/ocsp.c:2412,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2413,1
    - Dst: _gnutls_reallocarray
      Src: /src/gnutls/lib/x509/ocsp.c:2417,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2421,1
    - Dst: memmem
      Src: /src/gnutls/lib/x509/ocsp.c:2433,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/lib/x509/ocsp.c:2441,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2443,1
    - Dst: gnutls_ocsp_resp_import2
      Src: /src/gnutls/lib/x509/ocsp.c:2446,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2449,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/x509/ocsp.c:2453,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/ocsp.c:2455,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2470,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2472,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/lib/x509/ocsp.c:2476,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 5
    argNames:
    - ocsps
    - size
    - resp_data
    - format
    - flags
    argTypes:
    - gnutls_ocsp_resp_t**
    - unsigned int*
    - gnutls_datum_t*
    - gnutls_x509_crt_fmt_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2478
      start: 2365
    functionDepth: 6
    functionLinenumber: 2365
    functionLinenumberEnd: 2478
    functionName: gnutls_ocsp_resp_list_import2
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - memmem
    - gnutls_free
    - _gnutls_reallocarray
    - gnutls_assert
    - gnutls_malloc
    - gnutls_ocsp_resp_init
    - unlikely
    - gnutls_ocsp_resp_import2
    - gnutls_assert_val
    - INT_ADD_OVERFLOW
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_resp_list_import2(gnutls_ocsp_resp_t **ocsps,\n\t\t\t\t
      \ unsigned int *size,\n\t\t\t\t  const gnutls_datum_t *resp_data,\n\t\t\t\t
      \ gnutls_x509_crt_fmt_t format,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/gnutls/lib/x509/ocsp.c:2491,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:2495,1
    - Dst: gnutls_strerror
      Src: /src/gnutls/lib/x509/ocsp.c:2497,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2498,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:2503,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2505,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/x509/ocsp.c:2508,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:2517,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2518,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/ocsp.c:2525,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/ocsp.c:2526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - resp
    argTypes:
    - gnutls_ocsp_resp_const_t
    constantsTouched: []
    func_position:
      end: 2531
      start: 2485
    functionDepth: 4
    functionLinenumber: 2485
    functionLinenumberEnd: 2531
    functionName: _gnutls_ocsp_get_validity
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 2
    functionsReached:
    - gnutls_strerror
    - gnutls_time
    - gnutls_ocsp_resp_get_single
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_ocsp_get_validity(gnutls_ocsp_resp_const_t resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/ocsp.c:2540,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2543,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2544,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2547,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2549,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2552,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2553,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2556,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2557,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2560,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2562,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2565,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2567,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2570,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2572,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/lib/x509/ocsp.c:2575,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2577,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/ocsp.c:2579,1
    - Dst: _
      Src: /src/gnutls/lib/x509/ocsp.c:2581,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/ocsp.c:2583,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/ocsp.c:2584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - r
    - out
    argTypes:
    - gnutls_ocsp_verify_reason_t
    - char[]
    constantsTouched: []
    func_position:
      end: 2587
      start: 2533
    functionDepth: 3
    functionLinenumber: 2533
    functionLinenumberEnd: 2587
    functionName: _gnutls_ocsp_verify_status_to_str
    functionSourceFile: /src/gnutls/lib/x509/ocsp.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_to_datum
    - gnutls_free
    - snprintf
    - _gnutls_buffer_append_str
    - _gnutls_buffer_init
    - _
    linkageType: ''
    returnType: char
    signature: "char *_gnutls_ocsp_verify_status_to_str(gnutls_ocsp_verify_reason_t
      r,\n\t\t\t\t\t      char out[MAX_OCSP_MSG_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:48,1
    - Dst: memset
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:49,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:51,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:51,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:54,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:55,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:60,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:62,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:63,1
    - Dst: _gnutls_x509_read_uint
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:67,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:76,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:81,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:83,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:84,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:89,1
    - Dst: asn1_delete_structure2
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:98,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - data
    - data_size
    - kdf_params
    - enc_params
    argTypes:
    - uint8_t*
    - int
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    constantsTouched: []
    func_position:
      end: 100
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 100
    functionName: _gnutls_read_pbkdf1_params
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_uint
    - asn1_read_value
    - asn1_create_element
    - _gnutls_get_pkix
    - memset
    - _asn1_strict_der_decode
    - gnutls_assert_val
    - asn1_delete_structure2
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_read_pbkdf1_params(const uint8_t *data, int data_size,\n\t\t\t
      \      struct pbkdf2_params *kdf_params,\n\t\t\t       struct pbe_enc_params
      *enc_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:111,1
    - Dst: md5_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:114,1
    - Dst: md5_update
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:116,1
    - Dst: md5_update
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:117,1
    - Dst: md5_digest
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:118,1
    - Dst: md5_update
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:120,1
    - Dst: md5_digest
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:121,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - password
    - password_len
    - salt
    - iter_count
    - key_size
    - key
    argTypes:
    - char*
    - unsigned
    - uint8_t[]
    - unsigned
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: pbkdf1_md5
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c
    functionUses: 0
    functionsReached:
    - abort
    - md5_update
    - md5_init
    - md5_digest
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void pbkdf1_md5(const char *password, unsigned password_len,\n\t\t
      \      const uint8_t salt[8], unsigned iter_count,\n\t\t       unsigned key_size,
      uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:146,1
    - Dst: pbkdf1_md5
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:150,1
    - Dst: gnutls_cipher_init
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:157,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:160,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:162,1
    - Dst: gnutls_cipher_decrypt
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:174,1
    - Dst: gnutls_cipher_deinit
      Src: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 6
    argNames:
    - password
    - password_len
    - kdf_params
    - enc_params
    - encrypted_data
    - decrypted_data
    argTypes:
    - char*
    - unsigned
    - struct pbkdf2_params*
    - struct pbe_enc_params*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 188
    functionName: _gnutls_decrypt_pbes1_des_md5_data
    functionSourceFile: /src/gnutls/lib/x509/privkey_pkcs8_pbes1.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - gnutls_cipher_deinit
    - gnutls_assert
    - gnutls_cipher_init
    - pbkdf1_md5
    - gnutls_cipher_decrypt
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decrypt_pbes1_des_md5_data(const char *password,\n\t\t\t\t
      \      unsigned password_len,\n\t\t\t\t       const struct pbkdf2_params *kdf_params,\n\t\t\t\t
      \      const struct pbe_enc_params *enc_params,\n\t\t\t\t       const gnutls_datum_t
      *encrypted_data,\n\t\t\t\t       gnutls_datum_t *decrypted_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - gnutls_pkcs12_bag_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: gnutls_pkcs12_bag_init
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 6
    functionsReached:
    - gnutls_calloc
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_init(gnutls_pkcs12_bag_t *bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:62,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:63,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bag
    argTypes:
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: _pkcs12_bag_free_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _pkcs12_bag_free_data(gnutls_pkcs12_bag_t bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pkcs12_bag_free_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:80,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bag
    argTypes:
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: gnutls_pkcs12_bag_deinit
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    - _pkcs12_bag_free_data
    linkageType: ''
    returnType: void
    signature: void gnutls_pkcs12_bag_deinit(gnutls_pkcs12_bag_t bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bag
    - indx
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: gnutls_pkcs12_bag_get_type
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 3
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_get_type(gnutls_pkcs12_bag_t bag, unsigned indx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - gnutls_pkcs12_bag_t
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: gnutls_pkcs12_bag_get_count
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 3
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_get_count(gnutls_pkcs12_bag_t bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bag
    - indx
    - data
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: gnutls_pkcs12_bag_get_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 2
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_get_data(gnutls_pkcs12_bag_t bag, unsigned indx,\n\t\t\t
      \      gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:167,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:170,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:171,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:177,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:178,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:182,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:185,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:191,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:191,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:194,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:195,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:199,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:201,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:202,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:206,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:209,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:215,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:218,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:219,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:223,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:225,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:226,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:233,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:239,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:240,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:244,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:250,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 3
    argNames:
    - type
    - in
    - out
    argTypes:
    - gnutls_pkcs12_bag_type_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 252
    functionName: _pkcs12_decode_crt_bag
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_read_string
    - asn1_delete_structure
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _pkcs12_decode_crt_bag(gnutls_pkcs12_bag_type_t type,\n\t\t\t
      \  const gnutls_datum_t *in, gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:262,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:262,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:265,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:266,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:270,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:272,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:273,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:280,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:286,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:289,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:290,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:294,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:296,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:297,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:304,1
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:310,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:310,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:313,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:314,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:320,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:321,1
    - Dst: _gnutls_x509_write_string
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:328,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:334,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:335,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:339,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:342,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:346,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:352,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 3
    argNames:
    - type
    - raw
    - out
    argTypes:
    - gnutls_pkcs12_bag_type_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 354
    functionName: _pkcs12_encode_crt_bag
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_write_string
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _pkcs12_encode_crt_bag(gnutls_pkcs12_bag_type_t type,\n\t\t\t
      \  const gnutls_datum_t *raw, gnutls_datum_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:379,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:392,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:397,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - bag
    - type
    - data
    argTypes:
    - gnutls_pkcs12_bag_t
    - gnutls_pkcs12_bag_type_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 410
    functionName: gnutls_pkcs12_bag_set_data
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 2
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_set_data(gnutls_pkcs12_bag_t bag,\n\t\t\t       gnutls_pkcs12_bag_type_t
      type,\n\t\t\t       const gnutls_datum_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:429,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:433,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:435,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:439,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bag
    - crt
    argTypes:
    - gnutls_pkcs12_bag_t
    - gnutls_x509_crt_t
    constantsTouched: []
    func_position:
      end: 444
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 444
    functionName: gnutls_pkcs12_bag_set_crt
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 3
    functionsReached:
    - _gnutls_x509_der_encode
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_pkcs12_bag_set_data
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_set_crt(gnutls_pkcs12_bag_t bag, gnutls_x509_crt_t
      crt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:463,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:467,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:469,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:473,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bag
    - crl
    argTypes:
    - gnutls_pkcs12_bag_t
    - gnutls_x509_crl_t
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: gnutls_pkcs12_bag_set_crl
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - _gnutls_x509_der_encode
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_pkcs12_bag_set_data
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_set_crl(gnutls_pkcs12_bag_t bag, gnutls_x509_crl_t
      crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:500,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:505,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:509,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - bag
    - indx
    - id
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: gnutls_pkcs12_bag_set_key_id
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 4
    functionsReached:
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_set_key_id(gnutls_pkcs12_bag_t bag, unsigned
      indx,\n\t\t\t\t const gnutls_datum_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:537,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bag
    - indx
    - id
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 550
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 550
    functionName: gnutls_pkcs12_bag_get_key_id
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_get_key_id(gnutls_pkcs12_bag_t bag, unsigned
      indx,\n\t\t\t\t gnutls_datum_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:569,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bag
    - indx
    - name
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    - char**
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: gnutls_pkcs12_bag_get_friendly_name
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_get_friendly_name(gnutls_pkcs12_bag_t bag, unsigned
      indx,\n\t\t\t\t\tchar **name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:601,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:606,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:610,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - bag
    - indx
    - name
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 618
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 618
    functionName: gnutls_pkcs12_bag_set_friendly_name
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 4
    functionsReached:
    - gnutls_strdup
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_set_friendly_name(gnutls_pkcs12_bag_t bag, unsigned
      indx,\n\t\t\t\t\tconst char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:637,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:642,1
    - Dst: _gnutls_pkcs7_decrypt_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:646,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:649,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:657,1
    - Dst: _pkcs12_decode_safe_contents
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:659,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:661,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - bag
    - pass
    argTypes:
    - gnutls_pkcs12_bag_t
    - char*
    constantsTouched: []
    func_position:
      end: 669
      start: 631
    functionDepth: 6
    functionLinenumber: 631
    functionLinenumberEnd: 669
    functionName: gnutls_pkcs12_bag_decrypt
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 2
    functionsReached:
    - _gnutls_pkcs7_decrypt_data
    - _gnutls_free_datum
    - gnutls_assert
    - _pkcs12_decode_safe_contents
    linkageType: ''
    returnType: int
    signature: int gnutls_pkcs12_bag_decrypt(gnutls_pkcs12_bag_t bag, const char *pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:692,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:697,1
    - Dst: _pkcs12_encode_safe_contents
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:704,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:706,1
    - Dst: _gnutls_x509_der_encode
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:712,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:714,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:717,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:722,1
    - Dst: _gnutls_pkcs_flags_to_schema
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:726,1
    - Dst: _gnutls_pkcs7_encrypt_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:730,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:735,1
    - Dst: _pkcs12_bag_free_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - bag
    - pass
    - flags
    argTypes:
    - gnutls_pkcs12_bag_t
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 750
      start: 682
    functionDepth: 4
    functionLinenumber: 682
    functionLinenumberEnd: 750
    functionName: gnutls_pkcs12_bag_encrypt
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 3
    functionsReached:
    - _pkcs12_bag_free_data
    - _gnutls_free_datum
    - _gnutls_x509_der_encode
    - asn1_delete_structure
    - _pkcs12_encode_safe_contents
    - _gnutls_pkcs_flags_to_schema
    - gnutls_assert
    - _gnutls_pkcs7_encrypt_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_encrypt(gnutls_pkcs12_bag_t bag, const char
      *pass,\n\t\t\t      unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:783,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:788,1
    - Dst: _gnutls_pkcs7_data_enc_info
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:792,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:795,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:810,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - bag
    - schema
    - cipher
    - salt
    - salt_size
    - iter_count
    - oid
    argTypes:
    - gnutls_pkcs12_bag_t
    - unsigned int*
    - unsigned int*
    - void*
    - unsigned int*
    - unsigned int*
    - char**
    constantsTouched: []
    func_position:
      end: 821
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 821
    functionName: gnutls_pkcs12_bag_enc_info
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - _gnutls_pkcs7_data_enc_info
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_enc_info(gnutls_pkcs12_bag_t bag, unsigned int
      *schema,\n\t\t\t       unsigned int *cipher, void *salt,\n\t\t\t       unsigned
      int *salt_size,\n\t\t\t       unsigned int *iter_count, char **oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:844,1
    - Dst: gnutls_x509_privkey_export2_pkcs8
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:848,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:851,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:854,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:857,1
    - Dst: gnutls_pkcs12_bag_set_data
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:861,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:864,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/pkcs12_bag.c:870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - bag
    - privkey
    - password
    - flags
    argTypes:
    - gnutls_pkcs12_bag_t
    - gnutls_x509_privkey_t
    - char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 6
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: gnutls_pkcs12_bag_set_privkey
    functionSourceFile: /src/gnutls/lib/x509/pkcs12_bag.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_x509_privkey_export2_pkcs8
    - gnutls_assert_val
    - gnutls_pkcs12_bag_set_data
    linkageType: ''
    returnType: int
    signature: "int gnutls_pkcs12_bag_set_privkey(gnutls_pkcs12_bag_t bag,\n\t\t\t\t
      \ gnutls_x509_privkey_t privkey,\n\t\t\t\t  const char *password, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:53,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:56,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:59,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:63,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:64,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/dn.c:70,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:72,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:73,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:82,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:85,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:91,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:97,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:98,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:104,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:105,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:108,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:113,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:114,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:120,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:121,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/dn.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:127,1
    - Dst: gnutls_x509_dn_oid_name
      Src: /src/gnutls/lib/x509/dn.c:144,1
    - Dst: STR_APPEND
      Src: /src/gnutls/lib/x509/dn.c:147,1
    - Dst: STR_APPEND
      Src: /src/gnutls/lib/x509/dn.c:148,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/dn.c:157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:159,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/dn.c:161,1
    - Dst: _gnutls_x509_dn_to_string
      Src: /src/gnutls/lib/x509/dn.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:168,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/x509/dn.c:169,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/x509/dn.c:171,1
    - Dst: DATA_APPEND
      Src: /src/gnutls/lib/x509/dn.c:176,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:177,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:178,1
    - Dst: STR_APPEND
      Src: /src/gnutls/lib/x509/dn.c:185,1
    - Dst: STR_APPEND
      Src: /src/gnutls/lib/x509/dn.c:187,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:194,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:195,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 5
    argNames:
    - asn1_struct
    - asn1_rdn_name
    - str
    - k1
    - last
    argTypes:
    - asn1_node
    - char*
    - gnutls_buffer_st*
    - int
    - unsigned
    constantsTouched: []
    func_position:
      end: 197
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 197
    functionName: append_elements
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_debug_log
    - _gnutls_x509_dn_to_string
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - asn1_number_of_elements
    - strcmp
    - STR_APPEND
    - gnutls_x509_dn_oid_name
    - _gnutls_bin2hex
    - DATA_APPEND
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int append_elements(asn1_node asn1_struct, const char *asn1_rdn_name,\n\t\t\t
      \  gnutls_buffer_st *str, int k1, unsigned last)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/x509/dn.c:205,1
    - Dst: asn1_number_of_elements
      Src: /src/gnutls/lib/x509/dn.c:207,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/dn.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:214,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:221,1
    - Dst: append_elements
      Src: /src/gnutls/lib/x509/dn.c:228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:232,1
    - Dst: append_elements
      Src: /src/gnutls/lib/x509/dn.c:238,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:241,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/x509/dn.c:248,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/x509/dn.c:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - asn1_struct
    - asn1_rdn_name
    - dn
    - flags
    argTypes:
    - asn1_node
    - char*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 253
      start: 199
    functionDepth: 7
    functionLinenumber: 199
    functionLinenumberEnd: 253
    functionName: _gnutls_x509_get_dn
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 12
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_buffer_to_datum
    - append_elements
    - asn1_number_of_elements
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_dn(asn1_node asn1_struct, const char *asn1_rdn_name,\n\t\t\tgnutls_datum_t
      *dn, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:268,1
    - Dst: _gnutls_x509_get_dn
      Src: /src/gnutls/lib/x509/dn.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/dn.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:282,1
    - Dst: assert
      Src: /src/gnutls/lib/x509/dn.c:288,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/dn.c:291,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - asn1_struct
    - asn1_rdn_name
    - buf
    - buf_size
    - flags
    argTypes:
    - asn1_node
    - char*
    - char*
    - size_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 301
      start: 261
    functionDepth: 8
    functionLinenumber: 261
    functionLinenumberEnd: 301
    functionName: _gnutls_x509_parse_dn
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 4
    functionsReached:
    - assert
    - _gnutls_free_datum
    - _gnutls_x509_get_dn
    - gnutls_assert
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_parse_dn(asn1_node asn1_struct, const char *asn1_rdn_name,\n\t\t\t
      \ char *buf, size_t *buf_size, unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:335,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:338,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:344,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:349,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:350,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:361,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:364,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:371,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:378,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:379,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:385,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:387,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:391,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:397,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:398,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/dn.c:402,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:407,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:409,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/dn.c:412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:415,1
    - Dst: _gnutls_x509_dn_to_string
      Src: /src/gnutls/lib/x509/dn.c:425,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:428,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:430,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:442,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 6
    argNames:
    - asn1_struct
    - asn1_rdn_name
    - given_oid
    - indx
    - raw_flag
    - out
    argTypes:
    - asn1_node
    - char*
    - char*
    - int
    - unsigned int
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 448
    functionName: _gnutls_x509_parse_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - _gnutls_x509_dn_to_string
    - asn1_read_value
    - snprintf
    - _gnutls_free_datum
    - strcmp
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_parse_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,\n\t\t\t
      \     const char *given_oid, int indx,\n\t\t\t      unsigned int raw_flag, gnutls_datum_t
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:477,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:480,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:486,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:491,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:492,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:503,1
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/dn.c:506,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:513,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:520,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:521,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:527,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:529,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:533,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:539,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:540,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/dn.c:546,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:550,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/dn.c:554,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:563,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 5
    argNames:
    - asn1_struct
    - asn1_rdn_name
    - indx
    - _oid
    - sizeof_oid
    argTypes:
    - asn1_node
    - char*
    - int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 569
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 569
    functionName: _gnutls_x509_get_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 4
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - asn1_read_value
    - snprintf
    - memcpy
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_get_dn_oid(asn1_node asn1_struct, const char *asn1_rdn_name,\n\t\t\t
      \   int indx, void *_oid, size_t *sizeof_oid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:586,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:587,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/dn.c:589,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:591,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:592,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:597,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:598,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/dn.c:600,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:602,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - given_oid
    - asn1_struct
    - where
    - _data
    - sizeof_data
    argTypes:
    - char*
    - asn1_node
    - char*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 607
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 607
    functionName: _gnutls_x509_write_attribute
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_write_attribute(const char *given_oid,\n\t\t\t\t\tasn1_node
      asn1_struct,\n\t\t\t\t\tconst char *where, const void *_data,\n\t\t\t\t\tint
      sizeof_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:627,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:628,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/dn.c:631,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:634,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:635,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:642,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:643,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:646,1
    - Dst: _gnutls_x509_read_string
      Src: /src/gnutls/lib/x509/dn.c:650,1
    - Dst: _gnutls_x509_read_value
      Src: /src/gnutls/lib/x509/dn.c:653,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 7
    argNames:
    - asn1_struct
    - where
    - oid
    - oid_size
    - value
    - multi
    - octet_string
    argTypes:
    - asn1_node
    - char*
    - char*
    - int
    - gnutls_datum_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 660
      start: 617
    functionDepth: 6
    functionLinenumber: 617
    functionLinenumberEnd: 660
    functionName: _gnutls_x509_decode_and_read_attribute
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 2
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_x509_read_value
    - asn1_read_value
    - _gnutls_x509_read_string
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_decode_and_read_attribute(asn1_node asn1_struct,\n\t\t\t\t\t
      \  const char *where, char *oid,\n\t\t\t\t\t   int oid_size, gnutls_datum_t
      *value,\n\t\t\t\t\t   int multi, int octet_string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:677,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/dn.c:683,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:685,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:686,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:690,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:692,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:695,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/dn.c:701,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:703,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:704,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:707,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:708,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/dn.c:712,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:714,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:715,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/dn.c:720,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/dn.c:721,1
    - Dst: _gnutls_x509_encode_and_write_attribute
      Src: /src/gnutls/lib/x509/dn.c:724,1
    - Dst: _gnutls_x509_write_attribute
      Src: /src/gnutls/lib/x509/dn.c:727,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - asn1_struct
    - asn1_name
    - given_oid
    - raw_flag
    - name
    - sizeof_name
    argTypes:
    - asn1_node
    - char*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 737
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 737
    functionName: _gnutls_x509_set_dn_oid
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 5
    functionsReached:
    - _gnutls_asn2err
    - asn1_write_value
    - _gnutls_x509_encode_and_write_attribute
    - _gnutls_x509_write_attribute
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_set_dn_oid(asn1_node asn1_struct, const char *asn1_name,\n\t\t\t
      \   const char *given_oid, int raw_flag,\n\t\t\t    const char *name, int sizeof_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_rdn_get2
      Src: /src/gnutls/lib/x509/dn.c:762,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/dn.c:764,1
    - Dst: _gnutls_copy_string
      Src: /src/gnutls/lib/x509/dn.c:766,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/x509/dn.c:767,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - idn
    - buf
    - buf_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 773
    functionName: gnutls_x509_rdn_get
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - gnutls_assert
    - gnutls_x509_rdn_get2
    - _gnutls_copy_string
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_x509_rdn_get(const gnutls_datum_t *idn, char *buf, size_t
      *buf_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/lib/x509/dn.c:800,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/dn.c:802,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/lib/x509/dn.c:804,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:806,1
    - Dst: gnutls_x509_dn_get_str2
      Src: /src/gnutls/lib/x509/dn.c:810,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:812,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/lib/x509/dn.c:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - idn
    - str
    - flags
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 820
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 820
    functionName: gnutls_x509_rdn_get2
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_dn_init
    - gnutls_assert
    - gnutls_x509_dn_get_str2
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_import
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_rdn_get2(const gnutls_datum_t *idn, gnutls_datum_t
      *str,\n\t\t\t unsigned flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/dn.c:853,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/dn.c:853,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:855,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:856,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/dn.c:859,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:862,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/dn.c:863,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:864,1
    - Dst: _gnutls_x509_parse_dn_oid
      Src: /src/gnutls/lib/x509/dn.c:867,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/dn.c:870,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/dn.c:872,1
    - Dst: _gnutls_strdatum_to_buf
      Src: /src/gnutls/lib/x509/dn.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - idn
    - oid
    - indx
    - raw_flag
    - buf
    - buf_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - unsigned
    - unsigned int
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 875
      start: 841
    functionDepth: 7
    functionLinenumber: 841
    functionLinenumberEnd: 875
    functionName: gnutls_x509_rdn_get_by_oid
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - _gnutls_strdatum_to_buf
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_parse_dn_oid
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_rdn_get_by_oid(const gnutls_datum_t *idn, const char
      *oid,\n\t\t\t       unsigned indx, unsigned int raw_flag, void *buf,\n\t\t\t
      \      size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/x509/dn.c:904,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/x509/dn.c:904,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:906,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:907,1
    - Dst: _asn1_strict_der_decode
      Src: /src/gnutls/lib/x509/dn.c:910,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:913,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/dn.c:914,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/dn.c:915,1
    - Dst: _gnutls_x509_get_dn_oid
      Src: /src/gnutls/lib/x509/dn.c:919,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/x509/dn.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - idn
    - indx
    - buf
    - buf_size
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 923
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 923
    functionName: gnutls_x509_rdn_get_oid
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_create_element
    - _gnutls_get_pkix
    - _gnutls_x509_get_dn_oid
    - asn1_delete_structure
    - _asn1_strict_der_decode
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_x509_rdn_get_oid(const gnutls_datum_t *idn, unsigned indx,
      void *buf,\n\t\t\t    size_t *buf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/dn.c:940,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:952,1
    - Dst: gnutls_x509_rdn_get2
      Src: /src/gnutls/lib/x509/dn.c:956,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:958,1
    - Dst: gnutls_x509_rdn_get2
      Src: /src/gnutls/lib/x509/dn.c:962,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:964,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:965,1
    - Dst: memcmp
      Src: /src/gnutls/lib/x509/dn.c:973,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/dn.c:974,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:982,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/x509/dn.c:983,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - dn1
    - dn2
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 986
      start: 931
    functionDepth: 3
    functionLinenumber: 931
    functionLinenumberEnd: 986
    functionName: _gnutls_x509_compare_raw_dn
    functionSourceFile: /src/gnutls/lib/x509/dn.c
    functionUses: 6
    functionsReached:
    - _gnutls_free_datum
    - gnutls_x509_rdn_get2
    - gnutls_assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_compare_raw_dn(const gnutls_datum_t *dn1,\n\t\t\t\tconst
      gnutls_datum_t *dn2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISLEAP
      Src: /src/gnutls/lib/x509/time.c:97,1
    - Dst: ISLEAP
      Src: /src/gnutls/lib/x509/time.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct fake_tm*
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: mktime_utc
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 0
    functionsReached:
    - ISLEAP
    linkageType: ''
    returnType: time_t
    signature: time_t mktime_utc(const struct fake_tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:118,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:137,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:138,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:143,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:144,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:149,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:150,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:155,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:156,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:159,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:160,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:161,1
    - Dst: mktime_utc
      Src: /src/gnutls/lib/x509/time.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - ttime
    - year
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 166
    functionName: time2gtime
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 0
    functionsReached:
    - strlen
    - atoi
    - mktime_utc
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t time2gtime(const char *ttime, int year)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:181,1
    - Dst: c_isdigit
      Src: /src/gnutls/lib/x509/time.c:187,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:189,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:196,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:197,1
    - Dst: time2gtime
      Src: /src/gnutls/lib/x509/time.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ttime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 206
    functionName: _gnutls_utcTime2gtime
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 2
    functionsReached:
    - c_isdigit
    - atoi
    - gnutls_assert
    - time2gtime
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_utcTime2gtime(const char *ttime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:217,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:218,1
    - Dst: strchr
      Src: /src/gnutls/lib/x509/time.c:222,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:223,1
    - Dst: strchr
      Src: /src/gnutls/lib/x509/time.c:228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:229,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:237,1
    - Dst: atoi
      Src: /src/gnutls/lib/x509/time.c:238,1
    - Dst: time2gtime
      Src: /src/gnutls/lib/x509/time.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ttime
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: _gnutls_x509_generalTime2gtime
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 3
    functionsReached:
    - strlen
    - atoi
    - strchr
    - time2gtime
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_x509_generalTime2gtime(const char *ttime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/time.c:260,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/time.c:264,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:265,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/time.c:272,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/time.c:276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - gtime
    - str_time
    - str_time_size
    - tag
    argTypes:
    - time_t
    - char*
    - size_t
    - unsigned*
    constantsTouched: []
    func_position:
      end: 285
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 285
    functionName: gtime_to_suitable_time
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - snprintf
    - gnutls_assert
    - strftime
    linkageType: ''
    returnType: int
    signature: "int gtime_to_suitable_time(time_t gtime, char *str_time,\n\t\t\t\t
      \ size_t str_time_size, unsigned *tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/x509/time.c:300,1
    - Dst: gmtime_r
      Src: /src/gnutls/lib/x509/time.c:304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:305,1
    - Dst: strftime
      Src: /src/gnutls/lib/x509/time.c:309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - gtime
    - str_time
    - str_time_size
    argTypes:
    - time_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 316
    functionName: gtime_to_generalTime
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 0
    functionsReached:
    - gmtime_r
    - snprintf
    - gnutls_assert
    - strftime
    linkageType: ''
    returnType: int
    signature: "int gtime_to_generalTime(time_t gtime, char *str_time,\n\t\t\t\tsize_t
      str_time_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/time.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:332,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/time.c:337,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/time.c:339,1
    - Dst: strcmp
      Src: /src/gnutls/lib/x509/time.c:342,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/time.c:344,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/time.c:347,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/time.c:350,1
    - Dst: _gnutls_x509_generalTime2gtime
      Src: /src/gnutls/lib/x509/time.c:352,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/time.c:355,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/time.c:357,1
    - Dst: asn1_read_value
      Src: /src/gnutls/lib/x509/time.c:359,1
    - Dst: _gnutls_utcTime2gtime
      Src: /src/gnutls/lib/x509/time.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - c2
    - where
    - force_general
    argTypes:
    - asn1_node
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 374
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 374
    functionName: _gnutls_x509_get_time
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 10
    functionsReached:
    - asn1_read_value
    - _gnutls_utcTime2gtime
    - _gnutls_x509_generalTime2gtime
    - strcmp
    - gnutls_assert
    - _gnutls_str_cpy
    - _gnutls_str_cat
    linkageType: ''
    returnType: time_t
    signature: time_t _gnutls_x509_get_time(asn1_node c2, const char *where, int force_general)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gtime_to_generalTime
      Src: /src/gnutls/lib/x509/time.c:388,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:390,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:391,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/time.c:392,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:394,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/time.c:394,1
    - Dst: gtime_to_suitable_time
      Src: /src/gnutls/lib/x509/time.c:399,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:401,1
    - Dst: _gnutls_str_cpy
      Src: /src/gnutls/lib/x509/time.c:405,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/time.c:407,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:408,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/time.c:409,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/time.c:411,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/time.c:413,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:415,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/time.c:416,1
    - Dst: _gnutls_str_cat
      Src: /src/gnutls/lib/x509/time.c:418,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:421,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/time.c:422,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/x509/time.c:424,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/time.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - c2
    - where
    - tim
    - force_general
    argTypes:
    - asn1_node
    - char*
    - time_t
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 429
    functionName: _gnutls_x509_set_time
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 7
    functionsReached:
    - _gnutls_asn2err
    - strlen
    - asn1_write_value
    - gnutls_assert
    - gtime_to_generalTime
    - _gnutls_str_cat
    - gnutls_assert_val
    - _gnutls_str_cpy
    - gtime_to_suitable_time
    linkageType: ''
    returnType: int
    signature: "int _gnutls_x509_set_time(asn1_node c2, const char *where, time_t
      tim,\n\t\t\t  int force_general)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gtime_to_suitable_time
      Src: /src/gnutls/lib/x509/time.c:441,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:443,1
    - Dst: strlen
      Src: /src/gnutls/lib/x509/time.c:444,1
    - Dst: asn1_length_der
      Src: /src/gnutls/lib/x509/time.c:447,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:450,1
    - Dst: memcpy
      Src: /src/gnutls/lib/x509/time.c:453,1
    - Dst: asn1_write_value
      Src: /src/gnutls/lib/x509/time.c:455,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/x509/time.c:457,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/x509/time.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - c2
    - where
    - tim
    argTypes:
    - asn1_node
    - char*
    - time_t
    constantsTouched: []
    func_position:
      end: 459
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 459
    functionName: _gnutls_x509_set_raw_time
    functionSourceFile: /src/gnutls/lib/x509/time.c
    functionUses: 1
    functionsReached:
    - _gnutls_asn2err
    - asn1_length_der
    - strlen
    - asn1_write_value
    - memcpy
    - gnutls_assert_val
    - gtime_to_suitable_time
    linkageType: ''
    returnType: int
    signature: int _gnutls_x509_set_raw_time(asn1_node c2, const char *where, time_t
      tim)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - val
    - c
    argTypes:
    - unsigned char*
    - char
    constantsTouched: []
    func_position:
      end: 22
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 22
    functionName: char_to_hex
    functionSourceFile: /src/gnutls/lib/extras/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool char_to_hex(unsigned char *val, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: char_to_hex
      Src: /src/gnutls/lib/extras/hex.c:30,1
    - Dst: char_to_hex
      Src: /src/gnutls/lib/extras/hex.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - str
    - slen
    - buf
    - bufsize
    argTypes:
    - char*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: hex_decode
    functionSourceFile: /src/gnutls/lib/extras/hex.c
    functionUses: 11
    functionsReached:
    - char_to_hex
    linkageType: ''
    returnType: bool
    signature: bool hex_decode(const char *str, size_t slen, void *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - bufsize
    - dest
    - destsize
    argTypes:
    - void*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: hex_encode
    functionSourceFile: /src/gnutls/lib/extras/hex.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hex_encode(const void *buf, size_t bufsize, char *dest, size_t
      destsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: hex_str_size
    functionSourceFile: /src/gnutls/lib/extras/hex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hex_str_size(size_t bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slen
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: hex_data_size
    functionSourceFile: /src/gnutls/lib/extras/hex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hex_data_size(size_t slen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/extras/randomart.c:83,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/extras/randomart.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/extras/randomart.c:88,1
    - Dst: memset
      Src: /src/gnutls/lib/extras/randomart.c:93,1
    - Dst: MAX
      Src: /src/gnutls/lib/extras/randomart.c:108,1
    - Dst: MAX
      Src: /src/gnutls/lib/extras/randomart.c:109,1
    - Dst: MIN
      Src: /src/gnutls/lib/extras/randomart.c:110,1
    - Dst: MIN
      Src: /src/gnutls/lib/extras/randomart.c:111,1
    - Dst: snprintf
      Src: /src/gnutls/lib/extras/randomart.c:125,1
    - Dst: snprintf
      Src: /src/gnutls/lib/extras/randomart.c:131,1
    - Dst: snprintf
      Src: /src/gnutls/lib/extras/randomart.c:134,1
    - Dst: strchr
      Src: /src/gnutls/lib/extras/randomart.c:135,1
    - Dst: memcpy
      Src: /src/gnutls/lib/extras/randomart.c:144,1
    - Dst: MIN
      Src: /src/gnutls/lib/extras/randomart.c:152,1
    - Dst: memcpy
      Src: /src/gnutls/lib/extras/randomart.c:157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - dgst_raw
    - dgst_raw_len
    - key_type
    - key_size
    - prefix
    argTypes:
    - uint8_t*
    - u_int
    - char*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 169
    functionName: _gnutls_key_fingerprint_randomart
    functionSourceFile: /src/gnutls/lib/extras/randomart.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - strlen
    - snprintf
    - MAX
    - strchr
    - MIN
    - memset
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: char
    signature: "char *_gnutls_key_fingerprint_randomart(uint8_t *dgst_raw, u_int dgst_raw_len,\n\t\t\t\t\tconst
      char *key_type,\n\t\t\t\t\tunsigned int key_size,\n\t\t\t\t\tconst char *prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/heartbeat.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: gnutls_heartbeat_enable
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 10
    functionsReached:
    - _gnutls_hello_ext_set_priv
    linkageType: ''
    returnType: void
    signature: void gnutls_heartbeat_enable(gnutls_session_t session, unsigned int
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/heartbeat.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: gnutls_heartbeat_allowed
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 2
    functionsReached:
    - _gnutls_hello_ext_get_priv
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_heartbeat_allowed(gnutls_session_t session, unsigned
      int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/heartbeat.c:105,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:107,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/heartbeat.c:112,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/heartbeat.c:115,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/ext/heartbeat.c:118,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/heartbeat.c:121,1
    - Dst: _gnutls_send_int
      Src: /src/gnutls/lib/ext/heartbeat.c:126,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/heartbeat.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - session
    - data
    - data_size
    - type
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: heartbeat_send_data
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_write_uint16
    - gnutls_assert
    - gnutls_malloc
    - gnutls_rnd
    - _gnutls_send_int
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int heartbeat_send_data(gnutls_session_t session, const void *data,\n\t\t\t
      \      size_t data_size, uint8_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:164,1
    - Dst: gnutls_heartbeat_allowed
      Src: /src/gnutls/lib/ext/heartbeat.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:168,1
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/ext/heartbeat.c:175,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/ext/heartbeat.c:184,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/ext/heartbeat.c:186,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:189,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/ext/heartbeat.c:191,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:195,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/ext/heartbeat.c:197,1
    - Dst: heartbeat_send_data
      Src: /src/gnutls/lib/ext/heartbeat.c:206,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:211,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/ext/heartbeat.c:213,1
    - Dst: _gnutls_recv_int
      Src: /src/gnutls/lib/ext/heartbeat.c:224,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:234,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/ext/heartbeat.c:237,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/ext/heartbeat.c:238,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:253,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 4
    argNames:
    - session
    - data_size
    - max_tries
    - flags
    argTypes:
    - gnutls_session_t
    - size_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 258
      start: 156
    functionDepth: 11
    functionLinenumber: 156
    functionLinenumberEnd: 258
    functionName: gnutls_heartbeat_ping
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 3
    functionsReached:
    - timespec_sub_ms
    - _gnutls_io_write_flush
    - _gnutls_buffer_reset
    - gnutls_rnd
    - gnutls_heartbeat_allowed
    - heartbeat_send_data
    - _gnutls_recv_int
    - _gnutls_buffer_resize
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: "int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,\n\t\t\t
      \ unsigned int max_tries, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_io_write_flush
      Src: /src/gnutls/lib/ext/heartbeat.c:279,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:282,1
    - Dst: heartbeat_send_data
      Src: /src/gnutls/lib/ext/heartbeat.c:284,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/ext/heartbeat.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: gnutls_heartbeat_pong
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 5
    functionsReached:
    - _gnutls_io_write_flush
    - heartbeat_send_data
    - gnutls_assert_val
    - _gnutls_buffer_reset
    linkageType: ''
    returnType: int
    signature: int gnutls_heartbeat_pong(gnutls_session_t session, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_heartbeat_allowed
      Src: /src/gnutls/lib/ext/heartbeat.c:308,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:313,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/heartbeat.c:318,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:320,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/ext/heartbeat.c:326,1
    - Dst: _gnutls_buffer_resize
      Src: /src/gnutls/lib/ext/heartbeat.c:328,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:331,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/heartbeat.c:334,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:338,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:343,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/heartbeat.c:346,1
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/ext/heartbeat.c:348,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:349,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:352,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/ext/heartbeat.c:356,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:358,1
    - Dst: _gnutls_record_log
      Src: /src/gnutls/lib/ext/heartbeat.c:360,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - session
    - bufel
    argTypes:
    - gnutls_session_t
    - mbuffer_st*
    constantsTouched: []
    func_position:
      end: 364
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 364
    functionName: _gnutls_heartbeat_handle
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 1
    functionsReached:
    - _gnutls_record_log
    - _gnutls_read_uint16
    - _gnutls_buffer_reset
    - memcmp
    - IS_DTLS
    - gnutls_heartbeat_allowed
    - memcpy
    - _gnutls_buffer_resize
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_heartbeat_handle(gnutls_session_t session, mbuffer_st *bufel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/ext/heartbeat.c:385,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/ext/heartbeat.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: gnutls_heartbeat_get_timeout
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - timespec_sub_ms
    - gnutls_gettime
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_heartbeat_get_timeout(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - session
    - retrans_timeout
    - total_timeout
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: gnutls_heartbeat_set_timeouts
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_heartbeat_set_timeouts(gnutls_session_t session,\n\t\t\t\t
      \  unsigned int retrans_timeout,\n\t\t\t\t   unsigned int total_timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/heartbeat.c:421,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:424,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:439,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/heartbeat.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 445
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 445
    functionName: _gnutls_heartbeat_recv_params
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_set_priv
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_heartbeat_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      const uint8_t *data, size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/heartbeat.c:453,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/heartbeat.c:462,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: _gnutls_heartbeat_send_params
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_heartbeat_send_params(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/heartbeat.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: _gnutls_heartbeat_pack
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - BUFFER_APPEND_NUM
    linkageType: ''
    returnType: int
    signature: "int _gnutls_heartbeat_pack(gnutls_ext_priv_data_t epriv,\n\t\t\t\t
      \ gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_POP_CAST_NUM
      Src: /src/gnutls/lib/ext/heartbeat.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ps
    - _priv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: _gnutls_heartbeat_unpack
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached:
    - BUFFER_POP_CAST_NUM
    linkageType: ''
    returnType: int
    signature: "int _gnutls_heartbeat_unpack(gnutls_buffer_st *ps,\n\t\t\t\t    gnutls_ext_priv_data_t
      *_priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: gnutls_heartbeat_enable
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_heartbeat_enable(gnutls_session_t session, unsigned int
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - type
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: gnutls_heartbeat_allowed
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_heartbeat_allowed(gnutls_session_t session, unsigned
      int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session
    - data_size
    - max_tries
    - flags
    argTypes:
    - gnutls_session_t
    - size_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: gnutls_heartbeat_ping
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 3
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size,\n\t\t\t
      \ unsigned int max_tries, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/heartbeat.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: gnutls_heartbeat_pong
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 5
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_heartbeat_pong(gnutls_session_t session, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: gnutls_heartbeat_get_timeout
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_heartbeat_get_timeout(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - retrans_timeout
    - total_timeout
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    functionName: gnutls_heartbeat_set_timeouts
    functionSourceFile: /src/gnutls/lib/ext/heartbeat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_heartbeat_set_timeouts(gnutls_session_t session,\n\t\t\t\t
      \  unsigned int retrans_timeout,\n\t\t\t\t   unsigned int total_timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - method
    argTypes:
    - gnutls_compression_method_t
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: is_valid_method
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_method(gnutls_compression_method_t method)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: _gnutls_compress_certificate_num2method
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t _gnutls_compress_certificate_num2method(uint16_t
      num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - method
    argTypes:
    - gnutls_compression_method_t
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: _gnutls_compress_certificate_method2num
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_compress_certificate_method2num(gnutls_compression_method_t
      method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/compress_certificate.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - session
    - method
    argTypes:
    - gnutls_session_t
    - gnutls_compression_method_t
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: _gnutls_compress_certificate_is_method_enabled
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_get_priv
    linkageType: ''
    returnType: bool
    signature: "bool _gnutls_compress_certificate_is_method_enabled(\n\tgnutls_session_t
      session, gnutls_compression_method_t method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: gnutls_compress_certificate_get_selected_method
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: gnutls_compression_method_t
    signature: gnutls_compression_method_t gnutls_compress_certificate_get_selected_method(gnutls_session_t
      session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_unset_priv
      Src: /src/gnutls/lib/ext/compress_certificate.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/compress_certificate.c:172,1
    - Dst: is_valid_method
      Src: /src/gnutls/lib/ext/compress_certificate.c:175,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/compress_certificate.c:176,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/compress_certificate.c:178,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/compress_certificate.c:180,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/compress_certificate.c:183,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/compress_certificate.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - session
    - methods
    - methods_len
    argTypes:
    - gnutls_session_t
    - gnutls_compression_method_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: gnutls_compress_certificate_set_methods
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 8
    functionsReached:
    - is_valid_method
    - _gnutls_hello_ext_unset_priv
    - gnutls_malloc
    - memcpy
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_compress_certificate_set_methods(\n\tgnutls_session_t session,
      const gnutls_compression_method_t *methods,\n\tsize_t methods_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/compress_certificate.c:204,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/compress_certificate.c:210,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/compress_certificate.c:214,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/compress_certificate.c:216,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/compress_certificate.c:220,1
    - Dst: _gnutls_compress_certificate_num2method
      Src: /src/gnutls/lib/ext/compress_certificate.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 237
    functionName: _gnutls_compress_certificate_recv_params
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_hello_ext_get_priv
    - _gnutls_compress_certificate_num2method
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_compress_certificate_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \    const uint8_t *data,\n\t\t\t\t\t     size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/compress_certificate.c:249,1
    - Dst: _gnutls_compress_certificate_method2num
      Src: /src/gnutls/lib/ext/compress_certificate.c:257,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/compress_certificate.c:258,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/compress_certificate.c:261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/compress_certificate.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: _gnutls_compress_certificate_send_params
    functionSourceFile: /src/gnutls/lib/ext/compress_certificate.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_write_uint16
    - _gnutls_compress_certificate_method2num
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_compress_certificate_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \    gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: are_alternative_cert_types_allowed
      Src: /src/gnutls/lib/ext/server_cert_type.c:74,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/server_cert_type.c:75,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/ext/server_cert_type.c:78,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:85,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/server_cert_type.c:94,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:96,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:98,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:102,1
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/server_cert_type.c:109,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/server_cert_type.c:116,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/server_cert_type.c:120,1
    - Dst: _gnutls_session_server_cert_type_set
      Src: /src/gnutls/lib/ext/server_cert_type.c:127,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/server_cert_type.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:143,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/server_cert_type.c:154,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/server_cert_type.c:166,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:172,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:175,1
    - Dst: _gnutls_session_is_cert_type_supported
      Src: /src/gnutls/lib/ext/server_cert_type.c:178,1
    - Dst: _gnutls_session_server_cert_type_set
      Src: /src/gnutls/lib/ext/server_cert_type.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 201
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 201
    functionName: _gnutls_server_cert_type_recv_params
    functionSourceFile: /src/gnutls/lib/ext/server_cert_type.c
    functionUses: 0
    functionsReached:
    - assert
    - _gnutls_hello_ext_set_datum
    - _gnutls_session_is_cert_type_supported
    - _gnutls_handshake_log
    - _gnutls_get_cred
    - are_alternative_cert_types_allowed
    - _gnutls_session_server_cert_type_set
    - DECR_LEN
    - gnutls_certificate_type_get_name
    - _gnutls_hello_ext_get_datum
    - IS_SERVER
    - gnutls_assert_val
    - IANA2cert_type
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_cert_type_recv_params(gnutls_session_t session,\n\t\t\t\t\t\tconst
      uint8_t *data,\n\t\t\t\t\t\tsize_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: are_alternative_cert_types_allowed
      Src: /src/gnutls/lib/ext/server_cert_type.c:212,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/server_cert_type.c:213,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/ext/server_cert_type.c:216,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:242,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:246,1
    - Dst: _gnutls_session_is_cert_type_supported
      Src: /src/gnutls/lib/ext/server_cert_type.c:265,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:273,1
    - Dst: cert_type2IANA
      Src: /src/gnutls/lib/ext/server_cert_type.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:280,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:289,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:292,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:305,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/server_cert_type.c:312,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:314,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:318,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/server_cert_type.c:331,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/server_cert_type.c:339,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:344,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/ext/server_cert_type.c:352,1
    - Dst: cert_type2IANA
      Src: /src/gnutls/lib/ext/server_cert_type.c:353,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:356,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_cert_type.c:360,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/server_cert_type.c:362,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/server_cert_type.c:364,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_cert_type.c:367,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 374
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 374
    functionName: _gnutls_server_cert_type_send_params
    functionSourceFile: /src/gnutls/lib/ext/server_cert_type.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_session_is_cert_type_supported
    - cert_type2IANA
    - _gnutls_hello_ext_set_datum
    - get_certificate_type
    - _gnutls_handshake_log
    - _gnutls_get_cred
    - are_alternative_cert_types_allowed
    - gnutls_buffer_append_data
    - IANA2cert_type
    - IS_SERVER
    - gnutls_assert_val
    - gnutls_certificate_type_get_name
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_cert_type_send_params(gnutls_session_t session,\n\t\t\t\t\t\tgnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HAVE_UNKNOWN_SIGAID
      Src: /src/gnutls/lib/ext/signature.c:100,1
    - Dst: _gnutls_kx_is_vko_gost
      Src: /src/gnutls/lib/ext/signature.c:109,1
    - Dst: _sign_is_gost
      Src: /src/gnutls/lib/ext/signature.c:111,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/signature.c:115,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:121,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/signature.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 134
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 134
    functionName: _gnutls_sign_algorithm_write_params
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_handshake_log
    - _sign_is_gost
    - unlikely
    - _gnutls_kx_is_vko_gost
    - HAVE_UNKNOWN_SIGAID
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sign_algorithm_write_params(gnutls_session_t session,\n\t\t\t\t\tgnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/signature.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:148,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/ext/signature.c:151,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:153,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/signature.c:157,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:159,1
    - Dst: _gnutls_tls_aid_to_sign
      Src: /src/gnutls/lib/ext/signature.c:169,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/signature.c:171,1
    - Dst: gnutls_sign_get_name
      Src: /src/gnutls/lib/ext/signature.c:173,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/signature.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 188
    functionName: _gnutls_sign_algorithm_parse_data
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - version_to_entry
    - _gnutls_handshake_log
    - gnutls_sign_get_name
    - gnutls_assert
    - unlikely
    - _gnutls_tls_aid_to_sign
    - get_version
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sign_algorithm_parse_data(gnutls_session_t session,\n\t\t\t\t
      \     const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:207,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/signature.c:219,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/signature.c:220,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/signature.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:224,1
    - Dst: _gnutls_sign_algorithm_parse_data
      Src: /src/gnutls/lib/ext/signature.c:227,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:230,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 240
    functionName: _gnutls_signature_algorithm_recv_params
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - _gnutls_sign_algorithm_parse_data
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_signature_algorithm_recv_params(gnutls_session_t session,\n\t\t\t\t\t\t
      \  const uint8_t *data,\n\t\t\t\t\t\t   size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/signature.c:249,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:251,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:252,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/ext/signature.c:256,1
    - Dst: _gnutls_sign_algorithm_write_params
      Src: /src/gnutls/lib/ext/signature.c:258,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: _gnutls_signature_algorithm_send_params
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_sign_algorithm_write_params
    - unlikely
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_signature_algorithm_send_params(gnutls_session_t session,\n\t\t\t\t\t\t
      \  gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/ext/signature.c:278,1
    - Dst: _sign_is_gost
      Src: /src/gnutls/lib/ext/signature.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - priv
    argTypes:
    - sig_ext_st*
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: is_gost_sig_present
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - _sign_is_gost
    - _gnutls_sign_to_entry
    linkageType: ''
    returnType: bool
    signature: bool is_gost_sig_present(sig_ext_st *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/signature.c:302,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:308,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:309,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/ext/signature.c:311,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/signature.c:313,1
    - Dst: _gnutls_kx_is_vko_gost
      Src: /src/gnutls/lib/ext/signature.c:328,1
    - Dst: is_gost_sig_present
      Src: /src/gnutls/lib/ext/signature.c:329,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/ext/signature.c:330,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/signature.c:333,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/ext/signature.c:346,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/ext/signature.c:349,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/ext/signature.c:355,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/ext/signature.c:357,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/ext/signature.c:360,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/ext/signature.c:366,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/signature.c:370,1
    - Dst: _gnutls_privkey_compatible_with_sig
      Src: /src/gnutls/lib/ext/signature.c:373,1
    - Dst: sign_supports_cert_pk_algorithm
      Src: /src/gnutls/lib/ext/signature.c:377,1
    - Dst: _gnutls_pubkey_compatible_with_sig
      Src: /src/gnutls/lib/ext/signature.c:378,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/ext/signature.c:382,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/ext/signature.c:394,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/ext/signature.c:397,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 5
    argNames:
    - session
    - cert
    - privkey
    - client_cert
    - kx_algorithm
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - unsigned
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 402
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 402
    functionName: _gnutls_session_get_sign_algo
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_log
    - _gnutls_hello_ext_get_priv
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_pk_to_sign
    - _gnutls_session_sign_algo_enabled
    - _gnutls_sign_to_entry
    - _gnutls_pubkey_compatible_with_sig
    - gnutls_pk_get_name
    - sign_supports_cert_pk_algorithm
    - unlikely
    - _gnutls_audit_log
    - get_version
    - _gnutls_privkey_compatible_with_sig
    - _gnutls_kx_is_vko_gost
    - is_gost_sig_present
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: "gnutls_sign_algorithm_t _gnutls_session_get_sign_algo(gnutls_session_t
      session, gnutls_pcert_st *cert,\n\t\t\t      gnutls_privkey_t privkey, unsigned
      client_cert,\n\t\t\t      gnutls_kx_algorithm_t kx_algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/signature.c:412,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:414,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:415,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/ext/signature.c:417,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/ext/signature.c:425,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:428,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/signature.c:440,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/ext/signature.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - session
    - sig
    argTypes:
    - gnutls_session_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: _gnutls_session_sign_algo_enabled
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 4
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - gnutls_sign_algorithm_get_name
    - _gnutls_handshake_log
    - gnutls_assert
    - unlikely
    - get_version
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_session_sign_algo_enabled(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_sign_algorithm_t sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/signature.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: signature_algorithms_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void signature_algorithms_deinit_data(gnutls_ext_priv_data_t priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/signature.c:456,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/signature.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: signature_algorithms_pack
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - BUFFER_APPEND_NUM
    linkageType: ''
    returnType: int
    signature: "int signature_algorithms_pack(gnutls_ext_priv_data_t epriv,\n\t\t\t\t
      \    gnutls_buffer_st *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/signature.c:470,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:472,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/signature.c:476,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/signature.c:478,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/signature.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ps
    - _priv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 489
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 489
    functionName: signature_algorithms_unpack
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - BUFFER_POP_NUM
    - gnutls_assert
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int signature_algorithms_unpack(gnutls_buffer_st *ps,\n\t\t\t\t       gnutls_ext_priv_data_t
      *_priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/signature.c:515,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/signature.c:520,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/signature.c:521,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/signature.c:523,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/signature.c:526,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/ext/signature.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - session
    - indx
    - algo
    argTypes:
    - gnutls_session_t
    - size_t
    - gnutls_sign_algorithm_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 541
    functionName: gnutls_sign_algorithm_get_requested
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    - unlikely
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_sign_algorithm_get_requested(gnutls_session_t session,
      size_t indx,\n\t\t\t\t\tgnutls_sign_algorithm_t *algo)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: gnutls_sign_algorithm_get
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_sign_algorithm_get(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: gnutls_sign_algorithm_get_client
    functionSourceFile: /src/gnutls/lib/ext/signature.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_sign_algorithm_get_client(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: have_only_ssl3_enabled
    functionSourceFile: /src/gnutls/lib/ext/ext_master_secret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned have_only_ssl3_enabled(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ext_master_secret.c:84,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/ext_master_secret.c:88,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/ext_master_secret.c:90,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ext_master_secret.c:91,1
    - Dst: have_only_ssl3_enabled
      Src: /src/gnutls/lib/ext/ext_master_secret.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: _gnutls_ext_master_secret_recv_params
    functionSourceFile: /src/gnutls/lib/ext/ext_master_secret.c
    functionUses: 0
    functionsReached:
    - get_version
    - gnutls_assert_val
    - have_only_ssl3_enabled
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_master_secret_recv_params(gnutls_session_t session,\n\t\t\t\t\t\t
      const uint8_t *data,\n\t\t\t\t\t\t size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: have_only_ssl3_enabled
      Src: /src/gnutls/lib/ext/ext_master_secret.c:118,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/ext_master_secret.c:123,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/ext_master_secret.c:124,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ext_master_secret.c:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: _gnutls_ext_master_secret_send_params
    functionSourceFile: /src/gnutls/lib/ext/ext_master_secret.c
    functionUses: 0
    functionsReached:
    - get_version
    - gnutls_assert_val
    - unlikely
    - have_only_ssl3_enabled
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_master_secret_send_params(gnutls_session_t session,\n\t\t\t\t\t\t
      gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: gnutls_session_ext_master_secret_status
    functionSourceFile: /src/gnutls/lib/ext/ext_master_secret.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_session_ext_master_secret_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/ext/dumbfw.c:63,1
    - Dst: memset
      Src: /src/gnutls/lib/ext/dumbfw.c:69,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/dumbfw.c:71,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/dumbfw.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: _gnutls_dumbfw_send_params
    functionSourceFile: /src/gnutls/lib/ext/dumbfw.c
    functionUses: 0
    functionsReached:
    - gnutls_buffer_append_data
    - gnutls_assert_val
    - IS_DTLS
    - memset
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dumbfw_send_params(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/supported_versions.c:71,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/supported_versions.c:72,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/supported_versions.c:80,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:85,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/supported_versions.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:91,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_versions.c:100,1
    - Dst: _gnutls_nversion_is_supported
      Src: /src/gnutls/lib/ext/supported_versions.c:103,1
    - Dst: nversion_to_entry
      Src: /src/gnutls/lib/ext/supported_versions.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:119,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_versions.c:124,1
    - Dst: _gnutls_gen_server_random
      Src: /src/gnutls/lib/ext/supported_versions.c:132,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:134,1
    - Dst: have_creds_for_tls13
      Src: /src/gnutls/lib/ext/supported_versions.c:140,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/supported_versions.c:148,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:151,1
    - Dst: nversion_to_entry
      Src: /src/gnutls/lib/ext/supported_versions.c:157,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:159,1
    - Dst: set_adv_version
      Src: /src/gnutls/lib/ext/supported_versions.c:162,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_versions.c:164,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:168,1
    - Dst: _gnutls_negotiate_version
      Src: /src/gnutls/lib/ext/supported_versions.c:171,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/supported_versions.c:173,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 179
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 179
    functionName: supported_versions_recv_params
    functionSourceFile: /src/gnutls/lib/ext/supported_versions.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - _gnutls_nversion_is_supported
    - _gnutls_handshake_log
    - DECR_LEN
    - have_creds_for_tls13
    - _gnutls_gen_server_random
    - set_adv_version
    - gnutls_assert
    - _gnutls_negotiate_version
    - get_version
    - nversion_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int supported_versions_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \ const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/supported_versions.c:193,1
    - Dst: have_creds_for_tls13
      Src: /src/gnutls/lib/ext/supported_versions.c:198,1
    - Dst: _gnutls_write_supported_versions
      Src: /src/gnutls/lib/ext/supported_versions.c:211,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/supported_versions.c:219,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:222,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/supported_versions.c:226,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/supported_versions.c:227,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:228,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/supported_versions.c:236,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:238,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/supported_versions.c:240,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_versions.c:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 248
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 248
    functionName: supported_versions_send_params
    functionSourceFile: /src/gnutls/lib/ext/supported_versions.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - _gnutls_buffer_append_data_prefix
    - _gnutls_buffer_append_data
    - have_creds_for_tls13
    - _gnutls_write_supported_versions
    - unlikely
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int supported_versions_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/key_share.c:80,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:85,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:90,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:93,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:94,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:96,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:100,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/ext/key_share.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:107,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/key_share.c:109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/key_share.c:112,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:123,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:124,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:130,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/key_share.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/key_share.c:137,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:148,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:149,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:155,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:158,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:162,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:169,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:178,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:181,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:186,1
    - Dst: _gnutls_buffer_append_fixed_mpi
      Src: /src/gnutls/lib/ext/key_share.c:188,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:192,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/key_share.c:198,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 3
    argNames:
    - session
    - group
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_group_entry_st*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 200
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 200
    functionName: client_gen_key_share
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_handshake_log
    - _gnutls_pk_generate_keys
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_ecc_ansi_x962_export
    - _gnutls_buffer_append_fixed_mpi
    - _gnutls_debug_log
    - gnutls_pk_params_init
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int client_gen_key_share(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_group_entry_st *group,\n\t\t\t\tgnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/key_share.c:215,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:220,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:223,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:225,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/ext/key_share.c:228,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:233,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/key_share.c:235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/key_share.c:238,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/key_share.c:246,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:251,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:256,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:259,1
    - Dst: _gnutls_buffer_append_fixed_mpi
      Src: /src/gnutls/lib/ext/key_share.c:261,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:265,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/key_share.c:271,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - session
    - group
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_group_entry_st*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 273
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 273
    functionName: server_gen_key_share
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_handshake_log
    - gnutls_assert
    - _gnutls_ecc_ansi_x962_export
    - _gnutls_buffer_append_fixed_mpi
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int server_gen_key_share(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_group_entry_st *group,\n\t\t\t\tgnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:287,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:288,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/ext/key_share.c:290,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:292,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:295,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:299,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:303,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/ext/key_share.c:306,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:310,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:317,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:322,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:331,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:332,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/ext/key_share.c:334,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:337,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:341,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:345,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:348,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:359,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:363,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:372,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:373,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:376,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:380,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:384,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:391,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:394,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:398,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/ext/key_share.c:406,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:409,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:412,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:414,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:417,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:423,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/ext/key_share.c:426,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:428,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:432,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/key_share.c:435,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 4
    argNames:
    - session
    - group
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_group_entry_st*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 439
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 439
    functionName: server_use_key_share
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - _gnutls_pk_generate_keys
    - _gnutls_ecc_ansi_x962_import
    - _gnutls_pk_derive_tls13
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_debug_log
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int server_use_key_share(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_group_entry_st *group,\n\t\t\t\tconst uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/ext/key_share.c:453,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:455,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:459,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:463,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/ext/key_share.c:467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:471,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:478,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/ext/key_share.c:481,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:483,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/ext/key_share.c:492,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:496,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:500,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:504,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:515,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:519,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:533,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/ext/key_share.c:537,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/ext/key_share.c:539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:542,1
    - Dst: _gnutls_pk_derive_tls13
      Src: /src/gnutls/lib/ext/key_share.c:548,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/ext/key_share.c:551,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:553,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:557,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/key_share.c:560,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - session
    - group
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_group_entry_st*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 564
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 564
    functionName: client_use_key_share
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - _gnutls_pk_derive_tls13
    - _gnutls_ecc_ansi_x962_import
    - gnutls_pk_params_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_debug_log
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int client_use_key_share(gnutls_session_t session,\n\t\t\t\tconst
      gnutls_group_entry_st *group,\n\t\t\t\tconst uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/key_share.c:577,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:579,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:581,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:582,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:586,1
    - Dst: reset_cand_groups
      Src: /src/gnutls/lib/ext/key_share.c:592,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:597,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:598,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:601,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:602,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:605,1
    - Dst: _gnutls_tls_id_to_group
      Src: /src/gnutls/lib/ext/key_share.c:609,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:612,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/ext/key_share.c:618,1
    - Dst: server_use_key_share
      Src: /src/gnutls/lib/ext/key_share.c:620,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:623,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:648,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/key_share.c:653,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:654,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:655,1
    - Dst: _gnutls_ext_get_msg
      Src: /src/gnutls/lib/ext/key_share.c:658,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:659,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:661,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:664,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:665,1
    - Dst: _gnutls_tls_id_to_group
      Src: /src/gnutls/lib/ext/key_share.c:667,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:669,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:672,1
    - Dst: _gnutls_session_supports_group
      Src: /src/gnutls/lib/ext/key_share.c:677,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:680,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:683,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/ext/key_share.c:686,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:692,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:693,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/key_share.c:696,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/key_share.c:697,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:701,1
    - Dst: _gnutls_tls_id_to_group
      Src: /src/gnutls/lib/ext/key_share.c:704,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:706,1
    - Dst: _gnutls_session_supports_group
      Src: /src/gnutls/lib/ext/key_share.c:710,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:712,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:715,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/ext/key_share.c:718,1
    - Dst: client_use_key_share
      Src: /src/gnutls/lib/ext/key_share.c:721,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:723,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 727
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 727
    functionName: key_share_recv_params
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - client_use_key_share
    - _gnutls_session_supports_group
    - _gnutls_handshake_log
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_tls_id_to_group
    - server_use_key_share
    - _gnutls_ext_get_msg
    - unlikely
    - _gnutls_session_group_set
    - get_version
    - reset_cand_groups
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int key_share_recv_params(gnutls_session_t session, const uint8_t
      *data,\n\t\t\t\t size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: pk_type_is_ecdhx
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pk_type_is_ecdhx(gnutls_pk_algorithm_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pk_type_is_ecdhx
      Src: /src/gnutls/lib/ext/key_share.c:737,1
    - Dst: pk_type_is_ecdhx
      Src: /src/gnutls/lib/ext/key_share.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: pk_type_equal
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - pk_type_is_ecdhx
    linkageType: ''
    returnType: bool
    signature: "bool pk_type_equal(gnutls_pk_algorithm_t a,\n\t\t\t\t gnutls_pk_algorithm_t
      b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/key_share.c:755,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:756,1
    - Dst: have_creds_for_tls13
      Src: /src/gnutls/lib/ext/key_share.c:759,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:764,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:766,1
    - Dst: get_group
      Src: /src/gnutls/lib/ext/key_share.c:770,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:771,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:772,1
    - Dst: client_gen_key_share
      Src: /src/gnutls/lib/ext/key_share.c:775,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:777,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:780,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/key_share.c:791,1
    - Dst: pk_type_equal
      Src: /src/gnutls/lib/ext/key_share.c:806,1
    - Dst: client_gen_key_share
      Src: /src/gnutls/lib/ext/key_share.c:817,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:822,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/key_share.c:832,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/key_share.c:836,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:837,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:838,1
    - Dst: _gnutls_ext_get_msg
      Src: /src/gnutls/lib/ext/key_share.c:840,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:844,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/ext/key_share.c:847,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/key_share.c:849,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/key_share.c:852,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:855,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:861,1
    - Dst: get_group
      Src: /src/gnutls/lib/ext/key_share.c:863,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/key_share.c:864,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:865,1
    - Dst: server_gen_key_share
      Src: /src/gnutls/lib/ext/key_share.c:868,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/key_share.c:870,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 877
      start: 742
    functionDepth: 5
    functionLinenumber: 742
    functionLinenumberEnd: 877
    functionName: key_share_send_params
    functionSourceFile: /src/gnutls/lib/ext/key_share.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - assert
    - _gnutls_write_uint16
    - _gnutls_handshake_log
    - have_creds_for_tls13
    - server_gen_key_share
    - pk_type_equal
    - _gnutls_ext_get_msg
    - unlikely
    - client_gen_key_share
    - get_version
    - get_group
    - _gnutls_session_group_set
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int key_share_send_params(gnutls_session_t session,\n\t\t\t\t gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/server_name.c:77,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/server_name.c:79,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:81,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/server_name.c:85,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/server_name.c:92,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/server_name.c:96,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/server_name.c:97,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_name.c:101,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:104,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/server_name.c:108,1
    - Dst: _gnutls_dnsname_is_valid
      Src: /src/gnutls/lib/ext/server_name.c:111,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/server_name.c:112,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:115,1
    - Dst: _gnutls_hello_ext_unset_priv
      Src: /src/gnutls/lib/ext/server_name.c:122,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/server_name.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 133
    functionName: _gnutls_server_name_recv_params
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 0
    functionsReached:
    - _gnutls_dnsname_is_valid
    - DECR_LENGTH_RET
    - _gnutls_hello_ext_set_datum
    - _gnutls_handshake_log
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert
    - _gnutls_hello_ext_unset_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_name_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \  const uint8_t *data,\n\t\t\t\t\t   size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/server_name.c:143,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/server_name.c:160,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:162,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/server_name.c:168,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:170,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/server_name.c:172,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/server_name.c:175,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 184
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 184
    functionName: _gnutls_server_name_send_params
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_hello_ext_get_datum
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_name_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \  gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/server_name.c:224,1
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/server_name.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/server_name.c:234,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/server_name.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - session
    - data
    - data_length
    - type
    - indx
    argTypes:
    - gnutls_session_t
    - void*
    - size_t*
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 261
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 261
    functionName: gnutls_server_name_get
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 5
    functionsReached:
    - memcpy
    - _gnutls_hello_ext_get_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_server_name_get(gnutls_session_t session, void *data,\n\t\t\t
      \  size_t *data_length, unsigned int *type,\n\t\t\t   unsigned int indx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_unset_priv
      Src: /src/gnutls/lib/ext/server_name.c:275,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/server_name.c:280,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/server_name.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - session
    - type
    - name
    - name_length
    argTypes:
    - gnutls_session_t
    - gnutls_server_name_type_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: _gnutls_server_name_set_raw
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 2
    functionsReached:
    - _gnutls_hello_ext_set_datum
    - gnutls_assert_val
    - _gnutls_hello_ext_unset_priv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_server_name_set_raw(gnutls_session_t session,\n\t\t\t\tgnutls_server_name_type_t
      type,\n\t\t\t\tconst void *name, size_t name_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/server_name.c:319,1
    - Dst: _gnutls_hello_ext_unset_priv
      Src: /src/gnutls/lib/ext/server_name.c:324,1
    - Dst: gnutls_idna_map
      Src: /src/gnutls/lib/ext/server_name.c:329,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/ext/server_name.c:331,1
    - Dst: _gnutls_server_name_set_raw
      Src: /src/gnutls/lib/ext/server_name.c:340,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/server_name.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - session
    - type
    - name
    - name_length
    argTypes:
    - gnutls_session_t
    - gnutls_server_name_type_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 344
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 344
    functionName: gnutls_server_name_set
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 19
    functionsReached:
    - gnutls_free
    - _gnutls_hello_ext_unset_priv
    - gnutls_idna_map
    - _gnutls_debug_log
    - gnutls_assert
    - _gnutls_server_name_set_raw
    linkageType: ''
    returnType: int
    signature: "int gnutls_server_name_set(gnutls_session_t session,\n\t\t\t   gnutls_server_name_type_t
      type, const void *name,\n\t\t\t   size_t name_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/server_name.c:351,1
    - Dst: _gnutls_hello_ext_get_resumed_datum
      Src: /src/gnutls/lib/ext/server_name.c:358,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/server_name.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: _gnutls_server_name_matches_resumed
    functionSourceFile: /src/gnutls/lib/ext/server_name.c
    functionUses: 1
    functionsReached:
    - _gnutls_hello_ext_get_resumed_datum
    - _gnutls_hello_ext_get_datum
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_server_name_matches_resumed(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/lib/ext/session_ticket.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - struct ticket_st*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: deinit_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void deinit_ticket(struct ticket_st *ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/session_ticket.c:102,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:103,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/session_ticket.c:106,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:107,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/session_ticket.c:110,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/session_ticket.c:111,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/session_ticket.c:116,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/session_ticket.c:119,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:120,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/session_ticket.c:122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:124,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ticket_data
    - ticket
    argTypes:
    - gnutls_datum_t*
    - struct ticket_st*
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: unpack_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_malloc
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int unpack_ticket(const gnutls_datum_t *ticket_data,\n\t\t\t struct
      ticket_st *ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:140,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:143,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/session_ticket.c:146,1
    - Dst: memmove
      Src: /src/gnutls/lib/ext/session_ticket.c:153,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ticket
    - ticket_data
    argTypes:
    - struct ticket_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 157
    functionName: pack_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gnutls_write_uint16
    - memmove
    linkageType: ''
    returnType: void
    signature: "void pack_ticket(const struct ticket_st *ticket,\n\t\t\tgnutls_datum_t
      *ticket_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/ext/session_ticket.c:166,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/ext/session_ticket.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:169,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/ext/session_ticket.c:173,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/ext/session_ticket.c:174,1
    - Dst: _gnutls_conv_uint16
      Src: /src/gnutls/lib/ext/session_ticket.c:175,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/ext/session_ticket.c:176,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/ext/session_ticket.c:177,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/ext/session_ticket.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - key
    - ticket
    - digest
    argTypes:
    - gnutls_datum_t*
    - struct ticket_st*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: digest_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_mac
    - _gnutls_conv_uint16
    - mac_to_entry
    - _gnutls_mac_deinit
    - _gnutls_mac_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int digest_ticket(const gnutls_datum_t *key, struct ticket_st *ticket,\n\t\t\t
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_session_ticket_decryption_key
      Src: /src/gnutls/lib/ext/session_ticket.c:196,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:199,1
    - Dst: unpack_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:201,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/session_ticket.c:207,1
    - Dst: digest_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:215,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/session_ticket.c:219,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:220,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:225,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/ext/session_ticket.c:232,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/ext/session_ticket.c:232,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/ext/session_ticket.c:235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:236,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/ext/session_ticket.c:239,1
    - Dst: _gnutls_cipher_decrypt
      Src: /src/gnutls/lib/ext/session_ticket.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:244,1
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/ext/session_ticket.c:256,1
    - Dst: deinit_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - session
    - ticket_data
    - state
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 262
    functionName: _gnutls_decrypt_session_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - unpack_ticket
    - _gnutls_get_session_ticket_decryption_key
    - gnutls_assert
    - cipher_to_entry
    - memcmp
    - _gnutls_cipher_decrypt
    - deinit_ticket
    - _gnutls_cipher_init
    - _gnutls_cipher_deinit
    - gnutls_assert_val
    - digest_ticket
    linkageType: ''
    returnType: int
    signature: "int _gnutls_decrypt_session_ticket(gnutls_session_t session,\n\t\t\t\t
      \  const gnutls_datum_t *ticket_data,\n\t\t\t\t   gnutls_datum_t *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/session_ticket.c:282,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:284,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:288,1
    - Dst: _gnutls_get_session_ticket_encryption_key
      Src: /src/gnutls/lib/ext/session_ticket.c:291,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/ext/session_ticket.c:302,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:304,1
    - Dst: _gnutls_cipher_init
      Src: /src/gnutls/lib/ext/session_ticket.c:308,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/ext/session_ticket.c:308,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/ext/session_ticket.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:312,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/ext/session_ticket.c:315,1
    - Dst: _gnutls_cipher_encrypt
      Src: /src/gnutls/lib/ext/session_ticket.c:317,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:320,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:325,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:326,1
    - Dst: digest_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:332,1
    - Dst: pack_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:336,1
    - Dst: _gnutls_cipher_deinit
      Src: /src/gnutls/lib/ext/session_ticket.c:342,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/session_ticket.c:345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - session
    - state
    - ticket_data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 348
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 348
    functionName: _gnutls_encrypt_session_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_switch_fips_state
    - _gnutls_get_session_ticket_encryption_key
    - pack_ticket
    - _gnutls_free_datum
    - gnutls_assert
    - gnutls_rnd
    - cipher_to_entry
    - digest_ticket
    - _gnutls_cipher_init
    - _gnutls_cipher_deinit
    - memcpy
    - gnutls_assert_val
    - _gnutls_cipher_encrypt
    linkageType: ''
    returnType: int
    signature: "int _gnutls_encrypt_session_ticket(gnutls_session_t session,\n\t\t\t\t
      \  const gnutls_datum_t *state,\n\t\t\t\t   gnutls_datum_t *ticket_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/session_ticket.c:354,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:355,1
    - Dst: _gnutls_session_unpack
      Src: /src/gnutls/lib/ext/session_ticket.c:357,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:359,1
    - Dst: _gnutls_check_resumed_params
      Src: /src/gnutls/lib/ext/session_ticket.c:361,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - session
    - state
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: unpack_session
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - unlikely
    - _gnutls_session_unpack
    - _gnutls_check_resumed_params
    linkageType: ''
    returnType: int
    signature: int unpack_session(gnutls_session_t session, const gnutls_datum_t *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_decrypt_session_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:389,1
    - Dst: unpack_session
      Src: /src/gnutls/lib/ext/session_ticket.c:391,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/session_ticket.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 409
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 409
    functionName: session_ticket_recv_params
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - _gnutls_decrypt_session_ticket
    - unpack_session
    linkageType: ''
    returnType: int
    signature: "int session_ticket_recv_params(gnutls_session_t session,\n\t\t\t\t
      \     const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_resumed_priv
      Src: /src/gnutls/lib/ext/session_ticket.c:430,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/session_ticket.c:444,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 454
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 454
    functionName: session_ticket_send_params
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_hello_ext_get_resumed_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int session_ticket_send_params(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/session_ticket.c:460,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/session_ticket.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - epriv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: session_ticket_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void session_ticket_deinit_data(gnutls_ext_priv_data_t epriv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/ext/session_ticket.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: session_ticket_pack
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: "int session_ticket_pack(gnutls_ext_priv_data_t epriv,\n\t\t\t       gnutls_buffer_st
      *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/session_ticket.c:483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:485,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/ext/session_ticket.c:489,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/session_ticket.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ps
    - _priv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 501
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 501
    functionName: session_ticket_unpack
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - BUFFER_POP_DATUM
    - gnutls_free
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int session_ticket_unpack(gnutls_buffer_st *ps,\n\t\t\t\t gnutls_ext_priv_data_t
      *_priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/ext/session_ticket.c:518,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/session_ticket.c:525,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:527,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/ext/session_ticket.c:530,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/session_ticket.c:532,1
    - Dst: gnutls_key_generate
      Src: /src/gnutls/lib/ext/session_ticket.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 539
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 539
    functionName: gnutls_session_ticket_key_generate
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 22
    functionsReached:
    - gnutls_key_generate
    - gnutls_free
    - gnutls_malloc
    - gnutls_rnd
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_session_ticket_key_generate(gnutls_datum_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: gnutls_session_ticket_enable_client
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_session_ticket_enable_client(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:592,1
    - Dst: _gnutls_initialize_session_ticket_key_rotation
      Src: /src/gnutls/lib/ext/session_ticket.c:596,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - session
    - key
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 603
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 603
    functionName: gnutls_session_ticket_enable_server
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 21
    functionsReached:
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_initialize_session_ticket_key_rotation
    linkageType: ''
    returnType: int
    signature: "int gnutls_session_ticket_enable_server(gnutls_session_t session,\n\t\t\t\t\tconst
      gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: _gnutls_session_ticket_disable_server
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_session_ticket_disable_server(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/session_ticket.c:635,1
    - Dst: _gnutls_epoch_set_keys
      Src: /src/gnutls/lib/ext/session_ticket.c:642,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:645,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/ext/session_ticket.c:653,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:657,1
    - Dst: _gnutls_session_pack
      Src: /src/gnutls/lib/ext/session_ticket.c:666,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:668,1
    - Dst: _gnutls_encrypt_session_ticket
      Src: /src/gnutls/lib/ext/session_ticket.c:673,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/session_ticket.c:676,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:678,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/ext/session_ticket.c:682,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:685,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/session_ticket.c:686,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/ext/session_ticket.c:690,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/ext/session_ticket.c:693,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/session_ticket.c:696,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:699,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/session_ticket.c:702,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/ext/session_ticket.c:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 710
      start: 613
    functionDepth: 9
    functionLinenumber: 613
    functionLinenumberEnd: 710
    functionName: _gnutls_send_new_session_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 1
    functionsReached:
    - _gnutls_write_uint32
    - _gnutls_session_pack
    - _gnutls_epoch_set_keys
    - _gnutls_handshake_log
    - _gnutls_handshake_alloc
    - _gnutls_write_uint16
    - _gnutls_generate_session_id
    - _gnutls_free_datum
    - _gnutls_encrypt_session_ticket
    - _gnutls_send_handshake
    - _mbuffer_get_udata_ptr
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_new_session_ticket(gnutls_session_t session, int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/ext/session_ticket.c:734,1
    - Dst: _dtls_is_async
      Src: /src/gnutls/lib/ext/session_ticket.c:734,1
    - Dst: gnutls_record_check_pending
      Src: /src/gnutls/lib/ext/session_ticket.c:738,1
    - Dst: record_check_unprocessed
      Src: /src/gnutls/lib/ext/session_ticket.c:739,1
    - Dst: _mbuffer_head_get_first
      Src: /src/gnutls/lib/ext/session_ticket.c:742,1
    - Dst: _dtls_wait_and_retransmit
      Src: /src/gnutls/lib/ext/session_ticket.c:747,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/session_ticket.c:749,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/ext/session_ticket.c:753,1
    - Dst: gnutls_assert_val_fatal
      Src: /src/gnutls/lib/ext/session_ticket.c:756,1
    - Dst: DECR_LENGTH_COM
      Src: /src/gnutls/lib/ext/session_ticket.c:761,1
    - Dst: DECR_LENGTH_COM
      Src: /src/gnutls/lib/ext/session_ticket.c:766,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/session_ticket.c:768,1
    - Dst: DECR_LENGTH_COM
      Src: /src/gnutls/lib/ext/session_ticket.c:771,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/session_ticket.c:775,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:777,1
    - Dst: gnutls_realloc_fast
      Src: /src/gnutls/lib/ext/session_ticket.c:783,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/session_ticket.c:785,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:786,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/session_ticket.c:790,1
    - Dst: _gnutls_generate_session_id
      Src: /src/gnutls/lib/ext/session_ticket.c:796,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/session_ticket.c:800,1
    - Dst: session_ticket_deinit_data
      Src: /src/gnutls/lib/ext/session_ticket.c:801,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/session_ticket.c:807,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/session_ticket.c:810,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/ext/session_ticket.c:814,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 817
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 817
    functionName: _gnutls_recv_new_session_ticket
    functionSourceFile: /src/gnutls/lib/ext/session_ticket.c
    functionUses: 1
    functionsReached:
    - session_ticket_deinit_data
    - _gnutls_generate_session_id
    - DECR_LENGTH_COM
    - _gnutls_buffer_clear
    - gnutls_realloc_fast
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    - gnutls_record_check_pending
    - _gnutls_handshake_log
    - record_check_unprocessed
    - _gnutls_recv_handshake
    - gnutls_calloc
    - _dtls_wait_and_retransmit
    - _mbuffer_head_get_first
    - gnutls_assert_val_fatal
    - _dtls_is_async
    - gnutls_free
    - _gnutls_read_uint16
    - IS_DTLS
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_new_session_ticket(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/max_record.c:77,1
    - Dst: _gnutls_mre_num2record
      Src: /src/gnutls/lib/ext/max_record.c:79,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/max_record.c:82,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/max_record.c:95,1
    - Dst: _gnutls_mre_num2record
      Src: /src/gnutls/lib/ext/max_record.c:99,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/max_record.c:102,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/max_record.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 120
    functionName: _gnutls_max_record_recv_params
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 0
    functionsReached:
    - _gnutls_mre_num2record
    - DECR_LEN
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_max_record_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \ const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mre_record2num
      Src: /src/gnutls/lib/ext/max_record.c:141,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/max_record.c:151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/max_record.c:153,1
    - Dst: _gnutls_mre_record2num
      Src: /src/gnutls/lib/ext/max_record.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/max_record.c:169,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/max_record.c:172,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/max_record.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 181
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 181
    functionName: _gnutls_max_record_send_params
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    - _gnutls_mre_record2num
    linkageType: ''
    returnType: int
    signature: "int _gnutls_max_record_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: _gnutls_mre_num2record
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_mre_num2record(int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - record_size
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: _gnutls_mre_record2num
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_mre_record2num(uint16_t record_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: gnutls_record_get_max_size
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_get_max_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/max_record.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - session
    - size
    argTypes:
    - gnutls_session_t
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: gnutls_record_set_max_size
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 10
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gnutls_record_set_max_size(gnutls_session_t session, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/max_record.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - session
    - size
    argTypes:
    - gnutls_session_t
    - size_t
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: gnutls_record_set_max_recv_size
    functionSourceFile: /src/gnutls/lib/ext/max_record.c
    functionUses: 2
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gnutls_record_set_max_recv_size(gnutls_session_t session, size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: are_alternative_cert_types_allowed
      Src: /src/gnutls/lib/ext/client_cert_type.c:74,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/client_cert_type.c:75,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/ext/client_cert_type.c:78,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:85,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/client_cert_type.c:95,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:97,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:103,1
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/client_cert_type.c:110,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/client_cert_type.c:117,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/client_cert_type.c:121,1
    - Dst: _gnutls_session_client_cert_type_set
      Src: /src/gnutls/lib/ext/client_cert_type.c:128,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/client_cert_type.c:142,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:144,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/client_cert_type.c:155,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/client_cert_type.c:167,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:173,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:176,1
    - Dst: _gnutls_session_is_cert_type_supported
      Src: /src/gnutls/lib/ext/client_cert_type.c:179,1
    - Dst: _gnutls_session_client_cert_type_set
      Src: /src/gnutls/lib/ext/client_cert_type.c:189,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 206
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 206
    functionName: _gnutls_client_cert_type_recv_params
    functionSourceFile: /src/gnutls/lib/ext/client_cert_type.c
    functionUses: 0
    functionsReached:
    - _gnutls_session_client_cert_type_set
    - assert
    - _gnutls_hello_ext_set_datum
    - _gnutls_session_is_cert_type_supported
    - _gnutls_handshake_log
    - _gnutls_get_cred
    - are_alternative_cert_types_allowed
    - DECR_LEN
    - gnutls_certificate_type_get_name
    - _gnutls_hello_ext_get_datum
    - IS_SERVER
    - gnutls_assert_val
    - IANA2cert_type
    linkageType: ''
    returnType: int
    signature: "int _gnutls_client_cert_type_recv_params(gnutls_session_t session,\n\t\t\t\t\t\tconst
      uint8_t *data,\n\t\t\t\t\t\tsize_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: are_alternative_cert_types_allowed
      Src: /src/gnutls/lib/ext/client_cert_type.c:217,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/client_cert_type.c:218,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/ext/client_cert_type.c:221,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:247,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:251,1
    - Dst: _gnutls_session_is_cert_type_supported
      Src: /src/gnutls/lib/ext/client_cert_type.c:265,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:273,1
    - Dst: cert_type2IANA
      Src: /src/gnutls/lib/ext/client_cert_type.c:277,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:280,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:289,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:292,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:304,1
    - Dst: IANA2cert_type
      Src: /src/gnutls/lib/ext/client_cert_type.c:312,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:314,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:318,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/client_cert_type.c:331,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/client_cert_type.c:339,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:344,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/client_cert_type.c:351,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/ext/client_cert_type.c:373,1
    - Dst: cert_type2IANA
      Src: /src/gnutls/lib/ext/client_cert_type.c:375,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:378,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/client_cert_type.c:382,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/ext/client_cert_type.c:385,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/client_cert_type.c:387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/client_cert_type.c:391,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 399
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 399
    functionName: _gnutls_client_cert_type_send_params
    functionSourceFile: /src/gnutls/lib/ext/client_cert_type.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_session_is_cert_type_supported
    - cert_type2IANA
    - _gnutls_hello_ext_set_datum
    - get_certificate_type
    - _gnutls_handshake_log
    - _gnutls_get_cred
    - are_alternative_cert_types_allowed
    - gnutls_buffer_append_data
    - IANA2cert_type
    - IS_SERVER
    - get_version
    - gnutls_assert_val
    - gnutls_certificate_type_get_name
    linkageType: ''
    returnType: int
    signature: "int _gnutls_client_cert_type_send_params(gnutls_session_t session,\n\t\t\t\t\t\tgnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - profile
    argTypes:
    - gnutls_srtp_profile_t
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: get_profile
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: srtp_profile_st
    signature: srtp_profile_st *get_profile(gnutls_srtp_profile_t profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srtp.c:94,1
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srtp.c:98,1
    - Dst: strncmp
      Src: /src/gnutls/lib/ext/srtp.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: find_profile
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: gnutls_srtp_profile_t
    signature: gnutls_srtp_profile_t find_profile(const char *str, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_profile
      Src: /src/gnutls/lib/ext/srtp.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - profile
    argTypes:
    - char*
    - gnutls_srtp_profile_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: gnutls_srtp_get_profile_id
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - find_profile
    linkageType: ''
    returnType: int
    signature: int gnutls_srtp_get_profile_id(const char *name, gnutls_srtp_profile_t
      *profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_profile
      Src: /src/gnutls/lib/ext/srtp.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - profile
    argTypes:
    - gnutls_srtp_profile_t
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: gnutls_srtp_get_profile_name
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 1
    functionsReached:
    - get_profile
    linkageType: ''
    returnType: char
    signature: char *gnutls_srtp_get_profile_name(gnutls_srtp_profile_t profile)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:163,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/srtp.c:170,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/srtp.c:171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:175,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:182,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/srtp.c:189,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/srtp.c:190,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/srtp.c:204,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/srtp.c:209,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/srtp.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 215
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 215
    functionName: _gnutls_srtp_recv_params
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_hello_ext_get_priv
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srtp_recv_params(gnutls_session_t session,\n\t\t\t\t    const
      uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:225,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/srtp.c:240,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:242,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/srtp.c:243,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:246,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/srtp.c:249,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:252,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/srtp.c:255,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:258,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/srtp.c:264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 271
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 271
    functionName: _gnutls_srtp_send_params
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srtp_send_params(gnutls_session_t session,\n\t\t\t\t    gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srtp.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - session
    - profile
    argTypes:
    - gnutls_session_t
    - gnutls_srtp_profile_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 308
    functionName: gnutls_srtp_get_selected_profile
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 1
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_srtp_get_selected_profile(gnutls_session_t session,\n\t\t\t\t
      \    gnutls_srtp_profile_t *profile)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:330,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:333,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - session
    - mki
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: gnutls_srtp_get_mki
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_srtp_get_mki(gnutls_session_t session, gnutls_datum_t *mki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:365,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srtp.c:368,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srtp.c:370,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srtp.c:374,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/srtp.c:381,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - session
    - mki
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: gnutls_srtp_set_mki
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_get_priv
    - memcpy
    - gnutls_assert_val
    - _gnutls_hello_ext_set_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_srtp_set_mki(gnutls_session_t session, const gnutls_datum_t
      *mki)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:408,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srtp.c:411,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srtp.c:413,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srtp.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - session
    - profile
    argTypes:
    - gnutls_session_t
    - gnutls_srtp_profile_t
    constantsTouched: []
    func_position:
      end: 427
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 427
    functionName: gnutls_srtp_set_profile
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_set_priv
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_srtp_set_profile(gnutls_session_t session,\n\t\t\t    gnutls_srtp_profile_t
      profile)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/srtp.c:454,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srtp.c:458,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srtp.c:462,1
    - Dst: strchr
      Src: /src/gnutls/lib/ext/srtp.c:470,1
    - Dst: find_profile
      Src: /src/gnutls/lib/ext/srtp.c:471,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srtp.c:474,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srtp.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - session
    - profiles
    - err_pos
    argTypes:
    - gnutls_session_t
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 492
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 492
    functionName: gnutls_srtp_set_profile_direct
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 4
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _gnutls_hello_ext_get_priv
    - find_profile
    - strchr
    - _gnutls_hello_ext_set_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_srtp_set_profile_direct(gnutls_session_t session,\n\t\t\t\t
      \  const char *profiles, const char **err_pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_srtp_get_selected_profile
      Src: /src/gnutls/lib/ext/srtp.c:529,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:531,1
    - Dst: get_profile
      Src: /src/gnutls/lib/ext/srtp.c:533,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:535,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:542,1
    - Dst: gnutls_prf
      Src: /src/gnutls/lib/ext/srtp.c:544,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srtp.c:548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 7
    argNames:
    - session
    - key_material
    - key_material_size
    - client_key
    - client_salt
    - server_key
    - server_salt
    argTypes:
    - gnutls_session_t
    - void*
    - unsigned int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 571
    functionName: gnutls_srtp_get_keys
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 2
    functionsReached:
    - gnutls_srtp_get_selected_profile
    - get_profile
    - gnutls_prf
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_srtp_get_keys(gnutls_session_t session, void *key_material,\n\t\t\t
      unsigned int key_material_size,\n\t\t\t gnutls_datum_t *client_key,\n\t\t\t
      gnutls_datum_t *client_salt,\n\t\t\t gnutls_datum_t *server_key,\n\t\t\t gnutls_datum_t
      *server_salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srtp.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: _gnutls_srtp_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_srtp_deinit_data(gnutls_ext_priv_data_t priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/srtp.c:584,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/srtp.c:586,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/srtp.c:589,1
    - Dst: BUFFER_APPEND_NUM
      Src: /src/gnutls/lib/ext/srtp.c:591,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/ext/srtp.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 595
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 595
    functionName: _gnutls_srtp_pack
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - BUFFER_APPEND_NUM
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: int _gnutls_srtp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srtp.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srtp.c:607,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/srtp.c:611,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/srtp.c:613,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/srtp.c:615,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/srtp.c:617,1
    - Dst: BUFFER_POP_NUM
      Src: /src/gnutls/lib/ext/srtp.c:619,1
    - Dst: BUFFER_POP
      Src: /src/gnutls/lib/ext/srtp.c:620,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srtp.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ps
    - _priv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 631
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 631
    functionName: _gnutls_srtp_unpack
    functionSourceFile: /src/gnutls/lib/ext/srtp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - BUFFER_POP_NUM
    - gnutls_free
    - BUFFER_POP
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srtp_unpack(gnutls_buffer_st *ps,\n\t\t\t       gnutls_ext_priv_data_t
      *_priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/srp.c:69,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/srp.c:72,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srp.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:76,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/srp.c:80,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/srp.c:82,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srp.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 93
    functionName: _gnutls_srp_recv_params
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - DECR_LEN
    - gnutls_malloc
    - memcpy
    - _gnutls_hello_ext_set_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srp_recv_params(gnutls_session_t session,\n\t\t\t\t   const
      uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: have_srp_ciphersuites
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned have_srp_ciphersuites(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/srp.c:122,1
    - Dst: have_srp_ciphersuites
      Src: /src/gnutls/lib/ext/srp.c:131,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srp.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srp.c:138,1
    - Dst: MIN
      Src: /src/gnutls/lib/ext/srp.c:141,1
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srp.c:141,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/srp.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:146,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/ext/srp.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:152,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/ext/srp.c:156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:158,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srp.c:163,1
    - Dst: gnutls_srp_client_credentials_t::get_function
      Src: /src/gnutls/lib/ext/srp.c:171,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:173,1
    - Dst: MIN
      Src: /src/gnutls/lib/ext/srp.c:177,1
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srp.c:177,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/srp.c:182,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/srp.c:185,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/srp.c:190,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:198,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:199,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 203
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 203
    functionName: _gnutls_srp_send_params
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - strlen
    - have_srp_ciphersuites
    - gnutls_assert
    - gnutls_strdup
    - MIN
    - _gnutls_get_cred
    - gnutls_srp_client_credentials_t::get_function
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srp_send_params(gnutls_session_t session,\n\t\t\t\t   gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:209,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:210,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/srp.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - epriv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: _gnutls_srp_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_srp_deinit_data(gnutls_ext_priv_data_t epriv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srp.c:221,1
    - Dst: strlen
      Src: /src/gnutls/lib/ext/srp.c:224,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/ext/srp.c:226,1
    - Dst: BUFFER_APPEND_PFX4
      Src: /src/gnutls/lib/ext/srp.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - epriv
    - ps
    argTypes:
    - gnutls_ext_priv_data_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: _gnutls_srp_pack
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached:
    - strlen
    - BUFFER_APPEND_PFX4
    linkageType: ''
    returnType: int
    signature: int _gnutls_srp_pack(gnutls_ext_priv_data_t epriv, gnutls_buffer_st
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/srp.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/srp.c:243,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/ext/srp.c:247,1
    - Dst: BUFFER_POP_DATUM
      Src: /src/gnutls/lib/ext/srp.c:248,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/srp.c:259,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/srp.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ps
    - _priv
    argTypes:
    - gnutls_buffer_st*
    - gnutls_ext_priv_data_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: _gnutls_srp_unpack
    functionSourceFile: /src/gnutls/lib/ext/srp.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - BUFFER_POP_DATUM
    - _gnutls_free_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srp_unpack(gnutls_buffer_st *ps,\n\t\t\t      gnutls_ext_priv_data_t
      *_priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - cred
    - session
    argTypes:
    - gnutls_psk_client_credentials_t
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: have_psk_credentials
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool have_psk_credentials(const gnutls_psk_client_credentials_t cred,\n\t\t
      \    gnutls_session_t session)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:51,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:52,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/pre_shared_key.c:54,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:56,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ticket
    - key
    argTypes:
    - tls13_ticket_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: compute_psk_from_ticket
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _tls13_expand_secret2
    - gnutls_assert
    - gnutls_malloc
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int compute_psk_from_ticket(const tls13_ticket_st *ticket,\n\t\t\t\t
      \  gnutls_datum_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - enum binder_type
    - size_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: get_binder_label
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *get_binder_label(enum binder_type type, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_init_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:114,1
    - Dst: _tls13_derive_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - prf
    - key
    - keylen
    - type
    - out
    argTypes:
    - mac_entry_st*
    - uint8_t*
    - size_t
    - enum binder_type
    - void*
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: compute_binder_key
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _tls13_derive_secret2
    - _tls13_init_secret2
    linkageType: ''
    returnType: int
    signature: "int compute_binder_key(const mac_entry_st *prf, const uint8_t *key,\n\t\t\t
      \     size_t keylen, enum binder_type type, void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:138,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/pre_shared_key.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:148,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/pre_shared_key.c:154,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:157,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/ext/pre_shared_key.c:169,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:172,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:178,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:185,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/pre_shared_key.c:190,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:196,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:202,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/pre_shared_key.c:207,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:211,1
    - Dst: compute_binder_key
      Src: /src/gnutls/lib/ext/pre_shared_key.c:216,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:218,1
    - Dst: _gnutls13_compute_finished
      Src: /src/gnutls/lib/ext/pre_shared_key.c:222,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:224,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/ext/pre_shared_key.c:230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 9
    argNames:
    - session
    - prf
    - binders_length
    - exts_length
    - ext_offset
    - psk
    - client_hello
    - type
    - out
    argTypes:
    - gnutls_session_t
    - mac_entry_st*
    - unsigned
    - int
    - int
    - gnutls_datum_t*
    - gnutls_datum_t*
    - enum binder_type
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 232
    functionName: compute_psk_binder
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_write_uint16
    - gnutls_buffer_append_data
    - _gnutls_buffer_clear
    - _gnutls_write_uint24
    - _gnutls_buffer_init
    - unlikely
    - _gnutls13_compute_finished
    - compute_binder_key
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int compute_psk_binder(gnutls_session_t session, const mac_entry_st
      *prf,\n\t\t\t      unsigned binders_length, int exts_length,\n\t\t\t      int
      ext_offset, const gnutls_datum_t *psk,\n\t\t\t      const gnutls_datum_t *client_hello,\n\t\t\t
      \     enum binder_type type, void *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_derive_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:239,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:246,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/ext/pre_shared_key.c:248,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:252,1
    - Dst: _tls13_derive_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:254,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:262,1
    - Dst: _gnutls_call_keylog_func
      Src: /src/gnutls/lib/ext/pre_shared_key.c:264,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - session
    - prf
    argTypes:
    - gnutls_session_t
    - mac_entry_st*
    constantsTouched: []
    func_position:
      end: 271
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 271
    functionName: generate_early_secrets
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_call_keylog_func
    - gnutls_assert_val
    - _tls13_derive_secret2
    linkageType: ''
    returnType: int
    signature: "int generate_early_secrets(gnutls_session_t session,\n\t\t\t\t  const
      mac_entry_st *prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:286,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:287,1
    - Dst: _tls13_init_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:292,1
    - Dst: generate_early_secrets
      Src: /src/gnutls/lib/ext/pre_shared_key.c:296,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 6
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: _gnutls_generate_early_secrets_for_psk
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - generate_early_secrets
    - unlikely
    - _tls13_init_secret2
    linkageType: ''
    returnType: int
    signature: int _gnutls_generate_early_secrets_for_psk(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version_to_entry
      Src: /src/gnutls/lib/ext/pre_shared_key.c:328,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/ext/pre_shared_key.c:329,1
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:334,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:337,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:344,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:352,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:366,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:369,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:374,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/ext/pre_shared_key.c:381,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 5
    argNames:
    - identity
    - context
    - version
    - hash
    - imported_identity
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_protocol_t
    - gnutls_digest_algorithm_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 383
    functionName: gnutls_psk_format_imported_identity
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_buffer_to_datum
    - version_to_entry
    - hash_to_entry
    - _gnutls_buffer_clear
    - _gnutls_buffer_init
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int gnutls_psk_format_imported_identity(const gnutls_datum_t *identity,\n\t\t\t\t\tconst
      gnutls_datum_t *context,\n\t\t\t\t\tgnutls_protocol_t version,\n\t\t\t\t\tgnutls_digest_algorithm_t
      hash,\n\t\t\t\t\tgnutls_datum_t *imported_identity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_init_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:394,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/ext/pre_shared_key.c:398,1
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/ext/pre_shared_key.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - prf
    - imported_identity
    - epsk
    - ipsk
    argTypes:
    - mac_entry_st*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 409
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 409
    functionName: derive_ipsk
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _tls13_expand_secret2
    - gnutls_hash_fast
    - _tls13_init_secret2
    linkageType: ''
    returnType: int
    signature: "int derive_ipsk(const mac_entry_st *prf,\n\t\t       const gnutls_datum_t
      *imported_identity,\n\t\t       const gnutls_datum_t *epsk, uint8_t ipsk[MAX_HASH_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ro_buffer_from_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:427,1
    - Dst: _gnutls_buffer_pop_datum_prefix16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:430,1
    - Dst: _gnutls_buffer_pop_datum_prefix16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:436,1
    - Dst: _gnutls_buffer_pop_prefix16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:442,1
    - Dst: _gnutls_version_get
      Src: /src/gnutls/lib/ext/pre_shared_key.c:447,1
    - Dst: _gnutls_buffer_pop_prefix16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:451,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - imported_identity
    - identity
    - context
    - version
    - hash
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_protocol_t*
    - gnutls_digest_algorithm_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 467
    functionName: parse_imported_identity
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix16
    - _gnutls_buffer_pop_prefix16
    - _gnutls_version_get
    - _gnutls_ro_buffer_from_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_imported_identity(const gnutls_datum_t *imported_identity,\n\t\t\t\t
      \  gnutls_datum_t *identity,\n\t\t\t\t   gnutls_datum_t *context,\n\t\t\t\t
      \  gnutls_protocol_t *version,\n\t\t\t\t   gnutls_digest_algorithm_t *hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: have_psk_credentials
      Src: /src/gnutls/lib/ext/pre_shared_key.c:492,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:500,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:502,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:508,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:509,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:510,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/ext/pre_shared_key.c:516,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:517,1
    - Dst: _gnutls_timespec_cmp
      Src: /src/gnutls/lib/ext/pre_shared_key.c:517,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:519,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:520,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/ext/pre_shared_key.c:525,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:527,1
    - Dst: compute_psk_from_ticket
      Src: /src/gnutls/lib/ext/pre_shared_key.c:531,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:533,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:540,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:543,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:548,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:550,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/ext/pre_shared_key.c:555,1
    - Dst: have_psk_credentials
      Src: /src/gnutls/lib/ext/pre_shared_key.c:559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:564,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:565,1
    - Dst: _gnutls_find_psk_key
      Src: /src/gnutls/lib/ext/pre_shared_key.c:572,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:575,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:580,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:586,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:589,1
    - Dst: parse_imported_identity
      Src: /src/gnutls/lib/ext/pre_shared_key.c:605,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:610,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/ext/pre_shared_key.c:614,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:616,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/ext/pre_shared_key.c:619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:620,1
    - Dst: derive_ipsk
      Src: /src/gnutls/lib/ext/pre_shared_key.c:624,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:626,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:630,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:631,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/ext/pre_shared_key.c:633,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:635,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:641,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:644,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/ext/pre_shared_key.c:648,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:649,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/ext/pre_shared_key.c:651,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:653,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:657,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:659,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:664,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:665,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/ext/pre_shared_key.c:670,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/ext/pre_shared_key.c:680,1
    - Dst: _gnutls_ext_get_extensions_offset
      Src: /src/gnutls/lib/ext/pre_shared_key.c:683,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:687,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:688,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:694,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:696,1
    - Dst: compute_psk_binder
      Src: /src/gnutls/lib/ext/pre_shared_key.c:706,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:711,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/pre_shared_key.c:716,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:725,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:732,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:735,1
    - Dst: compute_psk_binder
      Src: /src/gnutls/lib/ext/pre_shared_key.c:748,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:754,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/pre_shared_key.c:759,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:768,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:774,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:777,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:786,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:788,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:789,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 220
    argCount: 3
    argNames:
    - session
    - extdata
    - cred
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    - gnutls_psk_client_credentials_t
    constantsTouched: []
    func_position:
      end: 792
      start: 469
    functionDepth: 7
    functionLinenumber: 469
    functionLinenumberEnd: 792
    functionName: client_send_params
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - timespec_sub_ms
    - _gnutls_free_datum
    - have_psk_credentials
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    - _gnutls_handshake_log
    - _gnutls_free_temp_key_datum
    - _gnutls_mac_get_algo_len
    - unlikely
    - _gnutls_timespec_cmp
    - parse_imported_identity
    - _gnutls_buffer_append_data_prefix
    - tls13_ticket_deinit
    - assert
    - version_to_entry
    - _gnutls_write_uint16
    - _gnutls_ext_get_extensions_offset
    - _gnutls_copy_psk_username
    - _gnutls_set_datum
    - _gnutls_find_psk_key
    - gnutls_gettime
    - gnutls_free
    - derive_ipsk
    - _gnutls_get_auth_info
    - zeroize_key
    - compute_psk_binder
    - compute_psk_from_ticket
    - _gnutls_auth_info_init
    - MAC_TO_DIG
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int client_send_params(gnutls_session_t session, gnutls_buffer_t extdata,\n\t\t\t
      \     const gnutls_psk_client_credentials_t cred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/pre_shared_key.c:801,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: server_send_params
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int server_send_params(gnutls_session_t session, gnutls_buffer_t extdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls13_psk_ext_parser_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:831,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:836,1
    - Dst: _gnutls13_psk_ext_iter_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:839,1
    - Dst: _gnutls13_psk_ext_iter_next_identity
      Src: /src/gnutls/lib/ext/pre_shared_key.c:841,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:846,1
    - Dst: _gnutls13_unpack_session_ticket
      Src: /src/gnutls/lib/ext/pre_shared_key.c:852,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:861,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:862,1
    - Dst: compute_psk_from_ticket
      Src: /src/gnutls/lib/ext/pre_shared_key.c:866,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:868,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:869,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/pre_shared_key.c:873,1
    - Dst: tls13_ticket_deinit
      Src: /src/gnutls/lib/ext/pre_shared_key.c:877,1
    - Dst: _gnutls_psk_pwd_find_entry
      Src: /src/gnutls/lib/ext/pre_shared_key.c:891,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:895,1
    - Dst: parse_imported_identity
      Src: /src/gnutls/lib/ext/pre_shared_key.c:905,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:909,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/ext/pre_shared_key.c:913,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/pre_shared_key.c:914,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:915,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/ext/pre_shared_key.c:918,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:919,1
    - Dst: derive_ipsk
      Src: /src/gnutls/lib/ext/pre_shared_key.c:923,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:925,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:927,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:930,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/ext/pre_shared_key.c:932,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:934,1
    - Dst: _gnutls13_psk_ext_iter_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:946,1
    - Dst: _gnutls13_psk_ext_iter_next_binder
      Src: /src/gnutls/lib/ext/pre_shared_key.c:948,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:951,1
    - Dst: _gnutls_ext_get_full_client_hello
      Src: /src/gnutls/lib/ext/pre_shared_key.c:960,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:962,1
    - Dst: compute_psk_binder
      Src: /src/gnutls/lib/ext/pre_shared_key.c:967,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:971,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/ext/pre_shared_key.c:975,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/ext/pre_shared_key.c:976,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:977,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:983,1
    - Dst: reset_cand_groups
      Src: /src/gnutls/lib/ext/pre_shared_key.c:986,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:987,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:993,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/ext/pre_shared_key.c:995,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:998,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1002,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1003,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1005,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1007,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1011,1
    - Dst: _gnutls_anti_replay_check
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1023,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1029,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1035,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1042,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1054,1
    - Dst: _gnutls_generate_early_secrets_for_psk
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1068,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1070,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1075,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 170
    argCount: 4
    argNames:
    - session
    - data
    - len
    - pskcred
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    - gnutls_psk_server_credentials_t
    constantsTouched: []
    func_position:
      end: 1077
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 1077
    functionName: server_recv_params
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_anti_replay_check
    - _gnutls_free_datum
    - _gnutls13_unpack_session_ticket
    - _gnutls13_psk_ext_parser_init
    - gnutls_assert_val
    - _gnutls_handshake_log
    - _gnutls_free_temp_key_datum
    - _gnutls_mac_get_algo_len
    - unlikely
    - _gnutls_generate_early_secrets_for_psk
    - reset_cand_groups
    - parse_imported_identity
    - tls13_ticket_deinit
    - assert
    - version_to_entry
    - _gnutls_ext_get_full_client_hello
    - _gnutls_copy_psk_username
    - _gnutls_set_datum
    - _gnutls13_psk_ext_iter_init
    - _gnutls_psk_pwd_find_entry
    - derive_ipsk
    - _gnutls13_psk_ext_iter_next_identity
    - gnutls_memcmp
    - _gnutls13_psk_ext_iter_next_binder
    - compute_psk_binder
    - zeroize_key
    - _gnutls_get_auth_info
    - compute_psk_from_ticket
    - _gnutls_auth_info_init
    - MAC_TO_DIG
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int server_recv_params(gnutls_session_t session,\n\t\t\t      const
      unsigned char *data, size_t len,\n\t\t\t      const gnutls_psk_server_credentials_t
      pskcred)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1112,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1119,1
    - Dst: client_send_params
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1126,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1128,1
    - Dst: server_send_params
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 1142
      start: 1105
    functionDepth: 8
    functionLinenumber: 1105
    functionLinenumberEnd: 1142
    functionName: _gnutls_psk_send_params
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - server_send_params
    - client_send_params
    - _gnutls_get_cred
    - get_version
    linkageType: ''
    returnType: int
    signature: "int _gnutls_psk_send_params(gnutls_session_t session,\n\t\t\t\t   gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1148,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1149,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: swap_binders
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void swap_binders(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1165,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1184,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1188,1
    - Dst: swap_binders
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1196,1
    - Dst: _gnutls_generate_early_secrets_for_psk
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1211,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1223,1
    - Dst: server_recv_params
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1231,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/pre_shared_key.c:1233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - session
    - data
    - len
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1237
      start: 1160
    functionDepth: 8
    functionLinenumber: 1160
    functionLinenumberEnd: 1237
    functionName: _gnutls_psk_recv_params
    functionSourceFile: /src/gnutls/lib/ext/pre_shared_key.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - swap_binders
    - _gnutls_get_cred
    - server_recv_params
    - _gnutls_generate_early_secrets_for_psk
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_psk_recv_params(gnutls_session_t session,\n\t\t\t\t   const
      unsigned char *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ext_get_msg
      Src: /src/gnutls/lib/ext/cookie.c:67,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/cookie.c:68,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/cookie.c:70,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/cookie.c:73,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/cookie.c:76,1
    - Dst: _gnutls_hello_ext_set_datum
      Src: /src/gnutls/lib/ext/cookie.c:82,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/cookie.c:85,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/cookie.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: cookie_recv_params
    functionSourceFile: /src/gnutls/lib/ext/cookie.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_set_datum
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_ext_get_msg
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int cookie_recv_params(gnutls_session_t session, const uint8_t *data,\n\t\t\t
      \     size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_datum
      Src: /src/gnutls/lib/ext/cookie.c:106,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/cookie.c:111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/cookie.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: cookie_send_params
    functionSourceFile: /src/gnutls/lib/ext/cookie.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_assert_val
    - _gnutls_hello_ext_get_datum
    linkageType: ''
    returnType: int
    signature: "int cookie_send_params(gnutls_session_t session,\n\t\t\t      gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:51,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:66,1
    - Dst: assert
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:75,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:96,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:98,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_t
    constantsTouched: []
    func_position:
      end: 103
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 103
    functionName: psk_ke_modes_send_params
    functionSourceFile: /src/gnutls/lib/ext/psk_ke_modes.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - assert
    - gnutls_assert_val
    - _gnutls_buffer_append_data_prefix
    linkageType: ''
    returnType: int
    signature: "int psk_ke_modes_send_params(gnutls_session_t session,\n\t\t\t\t    gnutls_buffer_t
      extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:116,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:133,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:140,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:168,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:172,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:178,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/psk_ke_modes.c:205,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 57
    argCount: 3
    argNames:
    - session
    - data
    - len
    argTypes:
    - gnutls_session_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 207
    functionName: psk_ke_modes_recv_params
    functionSourceFile: /src/gnutls/lib/ext/psk_ke_modes.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - DECR_LEN
    - _gnutls_get_cred
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int psk_ke_modes_recv_params(gnutls_session_t session,\n\t\t\t\t    const
      unsigned char *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: IANA2cert_type
    functionSourceFile: /src/gnutls/lib/ext/cert_types.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t IANA2cert_type(int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cert_type
    argTypes:
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: cert_type2IANA
    functionSourceFile: /src/gnutls/lib/ext/cert_types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cert_type2IANA(gnutls_certificate_type_t cert_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - session
    - cert_type
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: is_cert_type_enabled
    functionSourceFile: /src/gnutls/lib/ext/cert_types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_cert_type_enabled(gnutls_session_t session,\n\t\t\t\t\tgnutls_certificate_type_t
      cert_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: are_alternative_cert_types_allowed
    functionSourceFile: /src/gnutls/lib/ext/cert_types.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool are_alternative_cert_types_allowed(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/post_handshake.c:61,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/post_handshake.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: _gnutls_post_handshake_recv_params
    functionSourceFile: /src/gnutls/lib/ext/post_handshake.c
    functionUses: 0
    functionsReached:
    - get_version
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_post_handshake_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \     const uint8_t *data,\n\t\t\t\t\t      size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/post_handshake.c:87,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/post_handshake.c:90,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/post_handshake.c:92,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/post_handshake.c:93,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/post_handshake.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: _gnutls_post_handshake_send_params
    functionSourceFile: /src/gnutls/lib/ext/post_handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - gnutls_assert_val
    - unlikely
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int _gnutls_post_handshake_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \     gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/alpn.c:62,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/alpn.c:69,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/alpn.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:74,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/alpn.c:80,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/alpn.c:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:88,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/alpn.c:93,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/alpn.c:120,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/alpn.c:124,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/alpn.c:129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 143
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 143
    functionName: _gnutls_alpn_recv_params
    functionSourceFile: /src/gnutls/lib/ext/alpn.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - _gnutls_read_uint16
    - _gnutls_hello_ext_get_priv
    - memcmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_alpn_recv_params(gnutls_session_t session,\n\t\t\t\t    const
      uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/alpn.c:153,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/alpn.c:167,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:170,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/alpn.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:178,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/alpn.c:186,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:188,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/ext/alpn.c:193,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 204
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 204
    functionName: _gnutls_alpn_send_params
    functionSourceFile: /src/gnutls/lib/ext/alpn.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_alpn_send_params(gnutls_session_t session,\n\t\t\t\t    gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/alpn.c:230,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/alpn.c:233,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - session
    - protocol
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: gnutls_alpn_get_selected_protocol
    functionSourceFile: /src/gnutls/lib/ext/alpn.c
    functionUses: 7
    functionsReached:
    - gnutls_assert_val
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gnutls_alpn_get_selected_protocol(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_datum_t *protocol)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/alpn.c:275,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/alpn.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/alpn.c:280,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/alpn.c:284,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:290,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/alpn.c:294,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/alpn.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - session
    - protocols
    - protocols_size
    - flags
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - unsigned
    - unsigned int
    constantsTouched: []
    func_position:
      end: 304
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 304
    functionName: gnutls_alpn_set_protocols
    functionSourceFile: /src/gnutls/lib/ext/alpn.c
    functionUses: 10
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    - memcpy
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_alpn_set_protocols(gnutls_session_t session,\n\t\t\t      const
      gnutls_datum_t *protocols,\n\t\t\t      unsigned protocols_size, unsigned int
      flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/alpn.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: _gnutls_alpn_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/alpn.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_alpn_deinit_data(gnutls_ext_priv_data_t priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - sign
    argTypes:
    - gnutls_session_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: gnutls_sign_algorithm_set_server
    functionSourceFile: /src/gnutls/lib/ext/signature.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_sign_algorithm_set_server(gnutls_session_t session,\n\t\t\t\t
      gnutls_sign_algorithm_t sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - sign
    argTypes:
    - gnutls_session_t
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: gnutls_sign_algorithm_set_client
    functionSourceFile: /src/gnutls/lib/ext/signature.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_sign_algorithm_set_client(gnutls_session_t session,\n\t\t\t\t
      gnutls_sign_algorithm_t sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ec_point_formats.c:64,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ec_point_formats.c:69,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/ec_point_formats.c:72,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ec_point_formats.c:81,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ec_point_formats.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 92
    functionName: _gnutls_supported_ec_point_formats_recv_params
    functionSourceFile: /src/gnutls/lib/ext/ec_point_formats.c
    functionUses: 0
    functionsReached:
    - DECR_LEN
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_supported_ec_point_formats_recv_params(\n\tgnutls_session_t
      session, const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_session_is_ecc
      Src: /src/gnutls/lib/ext/ec_point_formats.c:106,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/ec_point_formats.c:110,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/ec_point_formats.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 117
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 117
    functionName: _gnutls_supported_ec_point_formats_send_params
    functionSourceFile: /src/gnutls/lib/ext/ec_point_formats.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    - _gnutls_session_is_ecc
    linkageType: ''
    returnType: int
    signature: "int _gnutls_supported_ec_point_formats_send_params(gnutls_session_t
      session,\n\t\t\t\t\t       gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/supported_groups.c:67,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/supported_groups.c:69,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/supported_groups.c:71,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/lib/ext/supported_groups.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: get_min_dh
    functionSourceFile: /src/gnutls/lib/ext/supported_groups.c
    functionUses: 0
    functionsReached:
    - gnutls_sec_param_to_pk_bits
    - _gnutls_get_cred
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_min_dh(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_groups.c:119,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/supported_groups.c:122,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/supported_groups.c:123,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_groups.c:127,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/supported_groups.c:130,1
    - Dst: get_min_dh
      Src: /src/gnutls/lib/ext/supported_groups.c:133,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/supported_groups.c:144,1
    - Dst: _gnutls_tls_id_to_group
      Src: /src/gnutls/lib/ext/supported_groups.c:145,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_groups.c:147,1
    - Dst: IS_EC
      Src: /src/gnutls/lib/ext/supported_groups.c:174,1
    - Dst: IS_EC
      Src: /src/gnutls/lib/ext/supported_groups.c:188,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_groups.c:225,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 74
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 234
    functionName: _gnutls_supported_groups_recv_params
    functionSourceFile: /src/gnutls/lib/ext/supported_groups.c
    functionUses: 0
    functionsReached:
    - IS_EC
    - get_min_dh
    - _gnutls_handshake_log
    - _gnutls_tls_id_to_group
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_supported_groups_recv_params(gnutls_session_t session,\n\t\t\t\t\t\tconst
      uint8_t *data,\n\t\t\t\t\t\tsize_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/supported_groups.c:249,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_groups.c:252,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/supported_groups.c:259,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/supported_groups.c:267,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/supported_groups.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 277
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 277
    functionName: _gnutls_supported_groups_send_params
    functionSourceFile: /src/gnutls/lib/ext/supported_groups.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    - _gnutls_handshake_log
    linkageType: ''
    returnType: int
    signature: "int _gnutls_supported_groups_send_params(gnutls_session_t session,\n\t\t\t\t\t\tgnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - session
    - group
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: _gnutls_session_supports_group
    functionSourceFile: /src/gnutls/lib/ext/supported_groups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_session_supports_group(gnutls_session_t session, unsigned
      int group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/early_data.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/early_data.c:61,1
    - Dst: _gnutls_ext_get_msg
      Src: /src/gnutls/lib/ext/early_data.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: early_data_recv_params
    functionSourceFile: /src/gnutls/lib/ext/early_data.c
    functionUses: 0
    functionsReached:
    - get_version
    - _gnutls_ext_get_msg
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int early_data_recv_params(gnutls_session_t session, const uint8_t
      *data,\n\t\t\t\t  size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: early_data_send_params
    functionSourceFile: /src/gnutls/lib/ext/early_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int early_data_send_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: gnutls_record_get_max_early_data_size
    functionSourceFile: /src/gnutls/lib/ext/early_data.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_record_get_max_early_data_size(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - session
    - size
    argTypes:
    - gnutls_session_t
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: gnutls_record_set_max_early_data_size
    functionSourceFile: /src/gnutls/lib/ext/early_data.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gnutls_record_set_max_early_data_size(gnutls_session_t session,
      size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/etm.c:65,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/etm.c:75,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/ext/etm.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 95
    functionName: _gnutls_ext_etm_recv_params
    functionSourceFile: /src/gnutls/lib/ext/etm.c
    functionUses: 0
    functionsReached:
    - cipher_to_entry
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_etm_recv_params(gnutls_session_t session,\n\t\t\t\t
      \      const uint8_t *data, size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/ext/etm.c:119,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/etm.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: _gnutls_ext_etm_send_params
    functionSourceFile: /src/gnutls/lib/ext/etm.c
    functionUses: 0
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - cipher_to_entry
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_etm_send_params(gnutls_session_t session,\n\t\t\t\t
      \      gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: gnutls_session_etm_status
    functionSourceFile: /src/gnutls/lib/ext/etm.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_session_etm_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/record_size_limit.c:58,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:60,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/record_size_limit.c:61,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:65,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/record_size_limit.c:75,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:78,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/record_size_limit.c:80,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:83,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/record_size_limit.c:96,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/record_size_limit.c:100,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/record_size_limit.c:101,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:102,1
    - Dst: MIN
      Src: /src/gnutls/lib/ext/record_size_limit.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 109
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 109
    functionName: _gnutls_record_size_limit_recv_params
    functionSourceFile: /src/gnutls/lib/ext/record_size_limit.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - _gnutls_read_uint16
    - DECR_LEN
    - unlikely
    - MIN
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_record_size_limit_recv_params(gnutls_session_t session,\n\t\t\t\t\t\t
      const uint8_t *data,\n\t\t\t\t\t\t size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/ext/record_size_limit.c:119,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:133,1
    - Dst: get_version
      Src: /src/gnutls/lib/ext/record_size_limit.c:136,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/record_size_limit.c:137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:138,1
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/ext/record_size_limit.c:147,1
    - Dst: unlikely
      Src: /src/gnutls/lib/ext/record_size_limit.c:148,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:149,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/record_size_limit.c:154,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/record_size_limit.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 161
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 161
    functionName: _gnutls_record_size_limit_send_params
    functionSourceFile: /src/gnutls/lib/ext/record_size_limit.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_max
    - assert
    - unlikely
    - get_version
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_record_size_limit_send_params(gnutls_session_t session,\n\t\t\t\t\t\t
      gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:64,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:76,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:85,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - session
    - vdata
    - vdata_size
    - dir
    argTypes:
    - gnutls_session_t
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: _gnutls_ext_sr_finished
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ext_sr_finished(gnutls_session_t session, void *vdata,\n\t\t\t
      \   size_t vdata_size, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:101,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:105,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:115,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:117,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:118,1
    - Dst: memcmp
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:132,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:142,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:143,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:155,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:156,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:165,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:169,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:170,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:181,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 191
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 191
    functionName: _gnutls_ext_sr_verify
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_log
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _gnutls_ext_sr_verify(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:201,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:208,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:210,1
    - Dst: _gnutls_hello_ext_save_sr
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:219,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: _gnutls_ext_sr_recv_cs
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_get_priv
    - _gnutls_hello_ext_save_sr
    - _gnutls_hello_ext_set_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_ext_sr_recv_cs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:234,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:241,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:243,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: _gnutls_ext_sr_send_cs
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_set_priv
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_ext_sr_send_cs(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:264,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:267,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:270,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:279,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:286,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:302,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:307,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 323
    functionName: _gnutls_sr_recv_params
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - DECR_LEN
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    - memcpy
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sr_recv_params(gnutls_session_t session, const uint8_t
      *data,\n\t\t\t\t  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:339,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:343,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:350,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:352,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:357,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:369,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:371,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:373,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:377,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:380,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 390
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 390
    functionName: _gnutls_sr_send_params
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_buffer_append_data
    - _gnutls_hello_ext_get_priv
    - gnutls_assert_val
    - _gnutls_hello_ext_set_priv
    - gnutls_assert
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sr_send_params(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_st
      *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: _gnutls_sr_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_sr_deinit_data(gnutls_ext_priv_data_t priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/safe_renegotiation.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: gnutls_safe_renegotiation_status
    functionSourceFile: /src/gnutls/lib/ext/safe_renegotiation.c
    functionUses: 8
    functionsReached:
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_safe_renegotiation_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/ext/status_request.c:77,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - session
    - extdata
    - priv
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - status_request_ext_st*
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: client_send
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int client_send(gnutls_session_t session, gnutls_buffer_st *extdata,\n\t\t
      \      status_request_ext_st *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:94,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/status_request.c:99,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/status_request.c:100,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/status_request.c:104,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/ext/status_request.c:107,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/ext/status_request.c:109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:115,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/status_request.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: server_recv
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int server_recv(gnutls_session_t session, const uint8_t *data,\n\t\t
      \      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - session
    - priv
    - data
    - size
    argTypes:
    - gnutls_session_t
    - status_request_ext_st*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: client_recv
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int client_recv(gnutls_session_t session, status_request_ext_st *priv,\n\t\t
      \      const uint8_t *data, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/ext/status_request.c:161,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/status_request.c:163,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/ext/status_request.c:178,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/status_request.c:180,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ext/status_request.c:184,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:191,1
    - Dst: func
      Src: /src/gnutls/lib/ext/status_request.c:203,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - session
    - extdata
    - priv
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - status_request_ext_st*
    constantsTouched: []
    func_position:
      end: 213
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 213
    functionName: server_send
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - gnutls_time
    - func
    - gnutls_assert_val
    - _gnutls_get_cred
    - get_version
    - _gnutls_set_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int server_send(gnutls_session_t session, gnutls_buffer_st *extdata,\n\t\t
      \      status_request_ext_st *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/ext/status_request.c:224,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/status_request.c:231,1
    - Dst: client_send
      Src: /src/gnutls/lib/ext/status_request.c:237,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/status_request.c:239,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:241,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/status_request.c:243,1
    - Dst: server_send
      Src: /src/gnutls/lib/ext/status_request.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - session
    - extdata
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: _gnutls_status_request_send_params
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_get_priv
    - server_send
    - client_send
    - _gnutls_get_cred
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_status_request_send_params(gnutls_session_t session,\n\t\t\t\t\t
      \     gnutls_buffer_st *extdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/status_request.c:258,1
    - Dst: client_recv
      Src: /src/gnutls/lib/ext/status_request.c:264,1
    - Dst: server_recv
      Src: /src/gnutls/lib/ext/status_request.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - data
    - size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: _gnutls_status_request_recv_params
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - server_recv
    - _gnutls_hello_ext_get_priv
    - client_recv
    linkageType: ''
    returnType: int
    signature: "int _gnutls_status_request_recv_params(gnutls_session_t session,\n\t\t\t\t\t
      \     const uint8_t *data, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:300,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/ext/status_request.c:302,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:304,1
    - Dst: _gnutls_hello_ext_set_priv
      Src: /src/gnutls/lib/ext/status_request.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - session
    - responder_id
    - responder_id_size
    - extensions
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 314
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 314
    functionName: gnutls_ocsp_status_request_enable_client
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 2
    functionsReached:
    - gnutls_calloc
    - _gnutls_hello_ext_set_priv
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gnutls_ocsp_status_request_enable_client(gnutls_session_t session,\n\t\t\t\t\t
      \    gnutls_datum_t *responder_id,\n\t\t\t\t\t     size_t responder_id_size,\n\t\t\t\t\t
      \    gnutls_datum_t *extensions)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/status_request.c:323,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/status_request.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - epriv
    argTypes:
    - gnutls_ext_priv_data_t
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: _gnutls_status_request_deinit_data
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void _gnutls_status_request_deinit_data(gnutls_ext_priv_data_t epriv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/status_request.c:357,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/ext/status_request.c:368,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/status_request.c:370,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:371,1
    - Dst: _mbuffer_get_udata_ptr
      Src: /src/gnutls/lib/ext/status_request.c:374,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/ext/status_request.c:377,1
    - Dst: memcpy
      Src: /src/gnutls/lib/ext/status_request.c:378,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/ext/status_request.c:380,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/ext/status_request.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - int
    constantsTouched: []
    func_position:
      end: 384
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 384
    functionName: _gnutls_send_server_certificate_status
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_alloc
    - _gnutls_free_datum
    - _gnutls_hello_ext_get_priv
    - _gnutls_write_uint24
    - _gnutls_send_handshake
    - _mbuffer_get_udata_ptr
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_send_server_certificate_status(gnutls_session_t session,
      int again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:397,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/status_request.c:400,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/ext/status_request.c:401,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/status_request.c:406,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/status_request.c:409,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/ext/status_request.c:411,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/ext/status_request.c:414,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:417,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/ext/status_request.c:419,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/ext/status_request.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - session
    - data
    - data_size
    - resp
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - ssize_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 424
    functionName: _gnutls_parse_ocsp_response
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - _gnutls_handshake_log
    - gnutls_assert
    - _gnutls_set_datum
    - _gnutls_read_uint24
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_parse_ocsp_response(gnutls_session_t session, const uint8_t
      *data,\n\t\t\t\tssize_t data_size, gnutls_datum_t *resp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/ext/status_request.c:436,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/ext/status_request.c:441,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/ext/status_request.c:451,1
    - Dst: gnutls_assert_val_fatal
      Src: /src/gnutls/lib/ext/status_request.c:454,1
    - Dst: _gnutls_parse_ocsp_response
      Src: /src/gnutls/lib/ext/status_request.c:466,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/ext/status_request.c:468,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/status_request.c:474,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/ext/status_request.c:475,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/ext/status_request.c:477,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/ext/status_request.c:490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 493
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 493
    functionName: _gnutls_recv_server_certificate_status
    functionSourceFile: /src/gnutls/lib/ext/status_request.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_recv_handshake
    - _gnutls_hello_ext_get_priv
    - _gnutls_get_auth_info
    - _gnutls_parse_ocsp_response
    - gnutls_malloc
    - _gnutls_buffer_clear
    - gnutls_assert_val_fatal
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_recv_server_certificate_status(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/anon_ecdh.c:69,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:72,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/anon_ecdh.c:76,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:78,1
    - Dst: _gnutls_ecdh_common_print_server_kx
      Src: /src/gnutls/lib/auth/anon_ecdh.c:82,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/anon_ecdh.c:83,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: gen_anon_ecdh_server_kx
    functionSourceFile: /src/gnutls/lib/auth/anon_ecdh.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecdh_common_print_server_kx
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - get_group
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gen_anon_ecdh_server_kx(gnutls_session_t session,\n\t\t\t\t   gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/anon_ecdh.c:96,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:99,1
    - Dst: _gnutls_proc_ecdh_common_client_kx
      Src: /src/gnutls/lib/auth/anon_ecdh.c:103,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/anon_ecdh.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: proc_anon_ecdh_client_kx
    functionSourceFile: /src/gnutls/lib/auth/anon_ecdh.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_ecdh_common_client_kx
    - get_group
    - gnutls_assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int proc_anon_ecdh_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \   size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/anon_ecdh.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:115,1
    - Dst: _gnutls_proc_ecdh_common_server_kx
      Src: /src/gnutls/lib/auth/anon_ecdh.c:119,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon_ecdh.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: proc_anon_ecdh_server_kx
    functionSourceFile: /src/gnutls/lib/auth/anon_ecdh.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_ecdh_common_server_kx
    - _gnutls_auth_info_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int proc_anon_ecdh_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \    size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnutls/lib/auth/psk_passwd.c:48,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:50,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/psk_passwd.c:62,1
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/lib/auth/psk_passwd.c:68,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - psk
    - str
    argTypes:
    - gnutls_datum_t*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: pwd_put_values
    functionSourceFile: /src/gnutls/lib/auth/psk_passwd.c
    functionUses: 0
    functionsReached:
    - strlen
    - gnutls_hex_decode2
    - gnutls_assert
    - strchr
    linkageType: ''
    returnType: int
    signature: int pwd_put_values(gnutls_datum_t *psk, char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hex_decode2
      Src: /src/gnutls/lib/auth/psk_passwd.c:107,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk_passwd.c:108,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/psk_passwd.c:111,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/psk_passwd.c:116,1
    - Dst: strncmp
      Src: /src/gnutls/lib/auth/psk_passwd.c:118,1
    - Dst: MAX
      Src: /src/gnutls/lib/auth/psk_passwd.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - username
    - line
    - line_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 123
    functionName: username_matches
    functionSourceFile: /src/gnutls/lib/auth/psk_passwd.c
    functionUses: 0
    functionsReached:
    - gnutls_hex_decode2
    - _gnutls_free_datum
    - MAX
    - memcmp
    - strncmp
    - gnutls_assert_val
    linkageType: ''
    returnType: bool
    signature: "bool username_matches(const gnutls_datum_t *username, const char *line,\n\t\t\t
      \    size_t line_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/psk_passwd.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:134,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/psk_passwd.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - psk
    argTypes:
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: _randomize_psk
    functionSourceFile: /src/gnutls/lib/auth/psk_passwd.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - gnutls_malloc
    - gnutls_rnd
    linkageType: ''
    returnType: int
    signature: int _randomize_psk(gnutls_datum_t *psk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/psk_passwd.c:164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:167,1
    - Dst: gnutls_psk_server_credentials_t::pwd_callback
      Src: /src/gnutls/lib/auth/psk_passwd.c:175,1
    - Dst: _randomize_psk
      Src: /src/gnutls/lib/auth/psk_passwd.c:177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:179,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:186,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:196,1
    - Dst: fopen
      Src: /src/gnutls/lib/auth/psk_passwd.c:202,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:204,1
    - Dst: getline
      Src: /src/gnutls/lib/auth/psk_passwd.c:208,1
    - Dst: username_matches
      Src: /src/gnutls/lib/auth/psk_passwd.c:209,1
    - Dst: pwd_put_values
      Src: /src/gnutls/lib/auth/psk_passwd.c:210,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk_passwd.c:212,1
    - Dst: _randomize_psk
      Src: /src/gnutls/lib/auth/psk_passwd.c:226,1
    - Dst: fclose
      Src: /src/gnutls/lib/auth/psk_passwd.c:237,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/auth/psk_passwd.c:239,1
    - Dst: free
      Src: /src/gnutls/lib/auth/psk_passwd.c:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 5
    argNames:
    - session
    - username
    - username_len
    - psk
    - flags
    argTypes:
    - gnutls_session_t
    - char*
    - uint16_t
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    constantsTouched: []
    func_position:
      end: 243
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 243
    functionName: _gnutls_psk_pwd_find_entry
    functionSourceFile: /src/gnutls/lib/auth/psk_passwd.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - gnutls_psk_server_credentials_t::pwd_callback
    - pwd_put_values
    - free
    - zeroize_key
    - _randomize_psk
    - getline
    - _gnutls_get_cred
    - gnutls_assert
    - username_matches
    linkageType: ''
    returnType: int
    signature: "int _gnutls_psk_pwd_find_entry(gnutls_session_t session, const char
      *username,\n\t\t\t       uint16_t username_len, gnutls_datum_t *psk,\n\t\t\t
      \      gnutls_psk_key_flags *flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_psk_client_credentials_t::get_function
      Src: /src/gnutls/lib/auth/psk_passwd.c:266,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk_passwd.c:268,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk_passwd.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - session
    - cred
    - username
    - key
    - flags
    - free
    argTypes:
    - gnutls_session_t
    - gnutls_psk_client_credentials_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_psk_key_flags*
    - int*
    constantsTouched: []
    func_position:
      end: 276
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 276
    functionName: _gnutls_find_psk_key
    functionSourceFile: /src/gnutls/lib/auth/psk_passwd.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - gnutls_psk_client_credentials_t::get_function
    linkageType: ''
    returnType: int
    signature: "int _gnutls_find_psk_key(gnutls_session_t session,\n\t\t\t gnutls_psk_client_credentials_t
      cred,\n\t\t\t gnutls_datum_t *username, gnutls_datum_t *key,\n\t\t\t gnutls_psk_key_flags
      *flags, int *free)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/dh_common.c:49,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/dh_common.c:50,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/dh_common.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dh
    argTypes:
    - dh_info_st*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: _gnutls_free_dh_info
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    linkageType: ''
    returnType: void
    signature: void _gnutls_free_dh_info(dh_info_st *dh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/dh_common.c:64,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:66,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dh_common.c:67,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dh_common.c:73,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/dh_common.c:75,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:77,1
    - Dst: _gnutls_dh_set_peer_public
      Src: /src/gnutls/lib/auth/dh_common.c:81,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/auth/dh_common.c:87,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:90,1
    - Dst: _gnutls_set_psk_session_key
      Src: /src/gnutls/lib/auth/dh_common.c:98,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/dh_common.c:100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:104,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/dh_common.c:110,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/auth/dh_common.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - session
    - data
    - _data_size
    - psk_key
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: _gnutls_proc_dh_common_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_params_clear
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_set_psk_session_key
    - gnutls_assert
    - _gnutls_free_temp_key_datum
    - _gnutls_pk_derive
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    - _gnutls_dh_set_peer_public
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_dh_common_client_kx(gnutls_session_t session, uint8_t
      *data,\n\t\t\t\t     size_t _data_size, gnutls_datum_t *psk_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_gen_dh_common_client_kx_int
      Src: /src/gnutls/lib/auth/dh_common.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: _gnutls_gen_dh_common_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 0
    functionsReached:
    - _gnutls_gen_dh_common_client_kx_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_dh_common_client_kx(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/dh_common.c:131,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/auth/dh_common.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dh_common.c:136,1
    - Dst: _gnutls_dh_set_secret_bits
      Src: /src/gnutls/lib/auth/dh_common.c:138,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/auth/dh_common.c:140,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/dh_common.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:146,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/auth/dh_common.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:156,1
    - Dst: _gnutls_set_psk_session_key
      Src: /src/gnutls/lib/auth/dh_common.c:165,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/dh_common.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:170,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/auth/dh_common.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - session
    - data
    - pskkey
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 179
    functionName: _gnutls_gen_dh_common_client_kx_int
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 1
    functionsReached:
    - _gnutls_dh_set_secret_bits
    - _gnutls_mpi_get_nbits
    - gnutls_pk_params_clear
    - _gnutls_pk_generate_keys
    - _gnutls_set_psk_session_key
    - _gnutls_free_temp_key_datum
    - gnutls_assert
    - _gnutls_buffer_append_mpi
    - _gnutls_pk_derive
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_dh_common_client_kx_int(gnutls_session_t session,\n\t\t\t\t\tgnutls_buffer_st
      *data,\n\t\t\t\t\tgnutls_datum_t *pskkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/dh_common.c:196,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/dh_common.c:198,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:202,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dh_common.c:203,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:206,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:210,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dh_common.c:211,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:214,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:218,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dh_common.c:219,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dh_common.c:222,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/dh_common.c:229,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:231,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/dh_common.c:247,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/dh_common.c:251,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/auth/dh_common.c:256,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/auth/dh_common.c:274,1
    - Dst: gnutls_fips140_mode_enabled
      Src: /src/gnutls/lib/auth/dh_common.c:280,1
    - Dst: _gnutls_dh_prime_match_fips_approved
      Src: /src/gnutls/lib/auth/dh_common.c:281,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:283,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/dh_common.c:288,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:291,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/dh_common.c:295,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:298,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/dh_common.c:300,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/dh_common.c:304,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/dh_common.c:308,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/dh_common.c:310,1
    - Dst: _gnutls_dh_get_min_prime_bits
      Src: /src/gnutls/lib/auth/dh_common.c:320,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:322,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/auth/dh_common.c:326,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:331,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/dh_common.c:332,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/auth/dh_common.c:334,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:342,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/dh_common.c:343,1
    - Dst: _gnutls_dh_save_group
      Src: /src/gnutls/lib/auth/dh_common.c:351,1
    - Dst: _gnutls_dh_set_peer_public
      Src: /src/gnutls/lib/auth/dh_common.c:354,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 360
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 360
    functionName: _gnutls_proc_dh_common_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 0
    functionsReached:
    - _gnutls_audit_log
    - _gnutls_mpi_get_nbits
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_dh_get_min_prime_bits
    - memcmp
    - gnutls_pk_params_release
    - gnutls_fips140_mode_enabled
    - _gnutls_dh_save_group
    - _gnutls_dh_prime_match_fips_approved
    - _gnutls_mpi_init_scan_nz
    - _gnutls_session_group_set
    - _gnutls_debug_log
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert
    - _gnutls_dh_set_peer_public
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_dh_common_server_kx(gnutls_session_t session, uint8_t
      *data,\n\t\t\t\t     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:370,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/dh_common.c:371,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/auth/dh_common.c:377,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dh_common.c:380,1
    - Dst: _gnutls_dh_set_secret_bits
      Src: /src/gnutls/lib/auth/dh_common.c:382,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/auth/dh_common.c:384,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/dh_common.c:387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:390,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/dh_common.c:394,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:397,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/dh_common.c:401,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dh_common.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 412
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 412
    functionName: _gnutls_dh_common_print_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dh_common.c
    functionUses: 0
    functionsReached:
    - _gnutls_dh_set_secret_bits
    - _gnutls_mpi_get_nbits
    - _gnutls_pk_generate_keys
    - gnutls_assert
    - _gnutls_buffer_append_mpi
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dh_common_print_server_kx(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:70,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/auth/rsa.c:72,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/auth/rsa.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - session
    - key_usage
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: check_key_usage_for_enc
    functionSourceFile: /src/gnutls/lib/auth/rsa.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_audit_log
    linkageType: ''
    returnType: int
    signature: int check_key_usage_for_enc(gnutls_session_t session, unsigned key_usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/auth/rsa.c:109,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/auth/rsa.c:109,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/rsa.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:116,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/rsa.c:120,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/auth/rsa.c:122,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:125,1
    - Dst: gnutls_pubkey_get_key_usage
      Src: /src/gnutls/lib/auth/rsa.c:129,1
    - Dst: check_key_usage_for_enc
      Src: /src/gnutls/lib/auth/rsa.c:131,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:133,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/rsa.c:137,1
    - Dst: _gnutls_pubkey_get_mpis
      Src: /src/gnutls/lib/auth/rsa.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/rsa.c:141,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/rsa.c:145,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/rsa.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - gnutls_session_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 152
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 152
    functionName: _gnutls_get_public_rsa_params
    functionSourceFile: /src/gnutls/lib/auth/rsa.c
    functionUses: 0
    functionsReached:
    - assert
    - check_key_usage_for_enc
    - get_certificate_type
    - _gnutls_pubkey_get_mpis
    - gnutls_pubkey_get_key_usage
    - _gnutls_get_auth_info
    - gnutls_pcert_deinit
    - _gnutls_get_auth_info_pcert
    - IS_SERVER
    - gnutls_assert_val
    - gnutls_pk_params_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_public_rsa_params(gnutls_session_t session,\n\t\t\t\t
      \ gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_num_version
      Src: /src/gnutls/lib/auth/rsa.c:163,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/rsa.c:173,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/rsa.c:175,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:178,1
    - Dst: _gnutls_get_adv_version_major
      Src: /src/gnutls/lib/auth/rsa.c:184,1
    - Dst: _gnutls_get_adv_version_minor
      Src: /src/gnutls/lib/auth/rsa.c:185,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/rsa.c:187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:189,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/rsa.c:195,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/rsa.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:200,1
    - Dst: gnutls_privkey_decrypt_data2
      Src: /src/gnutls/lib/auth/rsa.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 229
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 229
    functionName: proc_rsa_client_kx
    functionSourceFile: /src/gnutls/lib/auth/rsa.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_get_adv_version_major
    - gnutls_malloc
    - gnutls_rnd
    - _gnutls_get_adv_version_minor
    - gnutls_privkey_decrypt_data2
    - get_num_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int proc_rsa_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:244,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/rsa.c:249,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:252,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/rsa.c:256,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:259,1
    - Dst: _gnutls_get_adv_version_major
      Src: /src/gnutls/lib/auth/rsa.c:265,1
    - Dst: _gnutls_get_adv_version_minor
      Src: /src/gnutls/lib/auth/rsa.c:267,1
    - Dst: _gnutls_get_public_rsa_params
      Src: /src/gnutls/lib/auth/rsa.c:277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa.c:278,1
    - Dst: _gnutls_pk_encrypt
      Src: /src/gnutls/lib/auth/rsa.c:282,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/rsa.c:285,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/rsa.c:288,1
    - Dst: get_num_version
      Src: /src/gnutls/lib/auth/rsa.c:291,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/rsa.c:293,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/rsa.c:295,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/rsa.c:300,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/rsa.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 306
      start: 233
    functionDepth: 7
    functionLinenumber: 233
    functionLinenumberEnd: 306
    functionName: _gnutls_gen_rsa_client_kx
    functionSourceFile: /src/gnutls/lib/auth/rsa.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_free_datum
    - _gnutls_get_adv_version_major
    - gnutls_malloc
    - gnutls_rnd
    - gnutls_pk_params_release
    - _gnutls_get_adv_version_minor
    - _gnutls_pk_encrypt
    - _gnutls_get_public_rsa_params
    - gnutls_assert_val
    - get_num_version
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_rsa_client_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/auth/srp_kx.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:72,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/auth/srp_kx.c:74,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/srp_kx.c:76,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:77,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/auth/srp_kx.c:80,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/auth/srp_kx.c:85,1
    - Dst: _gnutls_mpi_add_ui
      Src: /src/gnutls/lib/auth/srp_kx.c:89,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/srp_kx.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:92,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/auth/srp_kx.c:95,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/srp_kx.c:100,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - a
    - n
    - is_a
    argTypes:
    - bigint_t
    - bigint_t
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: check_param_mod_n
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_modm
    - gnutls_assert
    - _gnutls_mpi_add_ui
    - _gnutls_mpi_cmp_ui
    - _gnutls_mpi_init
    - _gnutls_mpi_release
    - _gnutls_mpi_cmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int check_param_mod_n(bigint_t a, bigint_t n, int is_a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/auth/srp_kx.c:123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:125,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/srp_kx.c:130,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:133,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/srp_kx.c:137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:139,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_kx.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:143,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_kx.c:145,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/auth/srp_kx.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:148,1
    - Dst: _gnutls_srp_pwd_read_entry
      Src: /src/gnutls/lib/auth/srp_kx.c:150,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:152,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:160,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:161,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:167,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:168,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:175,1
    - Dst: _gnutls_calc_srp_B
      Src: /src/gnutls/lib/auth/srp_kx.c:182,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:184,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/srp_kx.c:191,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:194,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/srp_kx.c:200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:203,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/srp_kx.c:209,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:212,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/srp_kx.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:221,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:225,1
    - Dst: _gnutls_srp_entry_free
      Src: /src/gnutls/lib/auth/srp_kx.c:230,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 232
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 232
    functionName: _gnutls_gen_srp_server_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_srp_entry_free
    - strlen
    - _gnutls_hello_ext_get_priv
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_buffer_append_mpi
    - gnutls_strdup
    - _gnutls_auth_info_init
    - _gnutls_srp_pwd_read_entry
    - _gnutls_calc_srp_B
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_srp_server_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/auth/srp_kx.c:243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:245,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/srp_kx.c:250,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:267,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:274,1
    - Dst: _gnutls_calc_srp_A
      Src: /src/gnutls/lib/auth/srp_kx.c:278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:280,1
    - Dst: _gnutls_calc_srp_u
      Src: /src/gnutls/lib/auth/srp_kx.c:288,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:290,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:294,1
    - Dst: _gnutls_calc_srp_S2
      Src: /src/gnutls/lib/auth/srp_kx.c:297,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:300,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:304,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:306,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:307,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:308,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:309,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/auth/srp_kx.c:311,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:313,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:316,1
    - Dst: _gnutls_buffer_append_mpi
      Src: /src/gnutls/lib/auth/srp_kx.c:320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:322,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:324,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/srp_kx.c:326,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 329
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 329
    functionName: _gnutls_gen_srp_client_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_calc_srp_u
    - _gnutls_hello_ext_get_priv
    - zrelease_temp_mpi_key
    - _gnutls_calc_srp_S2
    - _gnutls_calc_srp_A
    - _gnutls_buffer_append_mpi
    - _gnutls_mpi_release
    - _gnutls_mpi_log
    - _gnutls_mpi_dprint
    - _gnutls_get_cred
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_srp_client_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:339,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/srp_kx.c:340,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:342,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:344,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:348,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:349,1
    - Dst: check_param_mod_n
      Src: /src/gnutls/lib/auth/srp_kx.c:353,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:354,1
    - Dst: _gnutls_calc_srp_u
      Src: /src/gnutls/lib/auth/srp_kx.c:361,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:363,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:367,1
    - Dst: _gnutls_calc_srp_S1
      Src: /src/gnutls/lib/auth/srp_kx.c:371,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:373,1
    - Dst: _gnutls_mpi_log
      Src: /src/gnutls/lib/auth/srp_kx.c:377,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/srp_kx.c:379,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:380,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:381,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:382,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:383,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/auth/srp_kx.c:385,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/auth/srp_kx.c:387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 395
    functionName: _gnutls_proc_srp_client_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - check_param_mod_n
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_calc_srp_u
    - zrelease_temp_mpi_key
    - _gnutls_calc_srp_S1
    - _gnutls_mpi_log
    - _gnutls_mpi_dprint
    - _gnutls_mpi_init_scan_nz
    - _gnutls_mpi_release
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_srp_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \      size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:684,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:687,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:691,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:694,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:698,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:701,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:706,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:711,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:716,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/srp_kx.c:721,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:725,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - g
    - n_g
    - n
    - n_n
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 727
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 727
    functionName: check_g_n
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - gnutls_assert_val
    - memcmp
    linkageType: ''
    returnType: int
    signature: int check_g_n(const uint8_t *g, size_t n_g, const uint8_t *n, size_t
      n_n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/auth/srp_kx.c:749,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:751,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/srp_kx.c:756,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:760,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:773,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:781,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/srp_kx.c:782,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:785,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:791,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/srp_kx.c:792,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:795,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:801,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:805,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:811,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/srp_kx.c:812,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_kx.c:815,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:823,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:824,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:828,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:829,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:833,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:834,1
    - Dst: check_g_n
      Src: /src/gnutls/lib/auth/srp_kx.c:842,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/auth/srp_kx.c:843,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_kx.c:845,1
    - Dst: check_param_mod_n
      Src: /src/gnutls/lib/auth/srp_kx.c:850,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:851,1
    - Dst: _gnutls_calc_srp_x
      Src: /src/gnutls/lib/auth/srp_kx.c:858,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:860,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/auth/srp_kx.c:864,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_kx.c:866,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 873
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 873
    functionName: _gnutls_proc_srp_server_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_kx.c
    functionUses: 0
    functionsReached:
    - _gnutls_audit_log
    - check_param_mod_n
    - check_g_n
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_hello_ext_get_priv
    - _gnutls_mpi_init_scan_nz
    - _gnutls_get_cred
    - _gnutls_calc_srp_x
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_srp_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \      size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/auth/psk.h:84,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/psk.h:86,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/psk.h:89,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/psk.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - dest_len
    - str
    argTypes:
    - char**
    - uint16_t*
    - gnutls_datum_t
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: _gnutls_copy_psk_string
    functionSourceFile: /src/gnutls/lib/auth/psk.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_free
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int _gnutls_copy_psk_string(char **dest, uint16_t *dest_len,\n\t\t\t\t\t
      \ const gnutls_datum_t str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/rsa_psk.c:87,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:89,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:100,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/rsa_psk.c:101,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:103,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/rsa_psk.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - session
    - ppsk
    - rsa_secret
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: set_rsa_psk_session_key
    functionSourceFile: /src/gnutls/lib/auth/rsa_psk.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _gnutls_write_uint16
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int set_rsa_psk_session_key(gnutls_session_t session,\n\t\t\t\t   gnutls_datum_t
      *ppsk,\n\t\t\t\t   gnutls_datum_t *rsa_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:138,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/rsa_psk.c:144,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:147,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/rsa_psk.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:155,1
    - Dst: _gnutls_get_adv_version_major
      Src: /src/gnutls/lib/auth/rsa_psk.c:162,1
    - Dst: _gnutls_get_adv_version_minor
      Src: /src/gnutls/lib/auth/rsa_psk.c:164,1
    - Dst: _gnutls_get_public_rsa_params
      Src: /src/gnutls/lib/auth/rsa_psk.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:175,1
    - Dst: _gnutls_pk_encrypt
      Src: /src/gnutls/lib/auth/rsa_psk.c:180,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:182,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/rsa_psk.c:186,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/rsa_psk.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:192,1
    - Dst: _gnutls_find_psk_key
      Src: /src/gnutls/lib/auth/rsa_psk.c:196,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/rsa_psk.c:198,1
    - Dst: set_rsa_psk_session_key
      Src: /src/gnutls/lib/auth/rsa_psk.c:201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:203,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/rsa_psk.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:222,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/rsa_psk.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:229,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:236,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:237,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:239,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/rsa_psk.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 244
      start: 123
    functionDepth: 7
    functionLinenumber: 123
    functionLinenumberEnd: 244
    functionName: _gnutls_gen_rsa_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/rsa_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_get_cred
    - _gnutls_free_datum
    - _gnutls_free_temp_key_datum
    - _gnutls_get_adv_version_major
    - gnutls_malloc
    - gnutls_rnd
    - gnutls_pk_params_release
    - _gnutls_get_adv_version_minor
    - _gnutls_pk_encrypt
    - _gnutls_get_public_rsa_params
    - set_rsa_psk_session_key
    - gnutls_assert_val
    - _gnutls_find_psk_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_rsa_psk_client_kx(gnutls_session_t session,\n\t\t\t\t\t
      gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/rsa_psk.c:261,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:265,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/rsa_psk.c:269,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:272,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/rsa_psk.c:278,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:279,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/rsa_psk.c:281,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/rsa_psk.c:287,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:289,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:294,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/auth/rsa_psk.c:298,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/rsa_psk.c:300,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/rsa_psk.c:307,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:309,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:312,1
    - Dst: _gnutls_get_adv_version_major
      Src: /src/gnutls/lib/auth/rsa_psk.c:317,1
    - Dst: _gnutls_get_adv_version_minor
      Src: /src/gnutls/lib/auth/rsa_psk.c:318,1
    - Dst: _gnutls_psk_pwd_find_entry
      Src: /src/gnutls/lib/auth/rsa_psk.c:323,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/rsa_psk.c:324,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/rsa_psk.c:327,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/rsa_psk.c:333,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:335,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:336,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:338,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/rsa_psk.c:343,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/rsa_psk.c:346,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:347,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:349,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:353,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/rsa_psk.c:354,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/rsa_psk.c:356,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/rsa_psk.c:358,1
    - Dst: gnutls_privkey_decrypt_data2
      Src: /src/gnutls/lib/auth/rsa_psk.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 385
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 385
    functionName: _gnutls_proc_rsa_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/rsa_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_free_datum
    - DECR_LEN
    - gnutls_malloc
    - gnutls_rnd
    - gnutls_assert_val
    - _gnutls_get_cred
    - _gnutls_free_key_datum
    - _gnutls_write_uint16
    - strlen
    - _gnutls_get_adv_version_major
    - _gnutls_copy_psk_username
    - gnutls_privkey_decrypt_data2
    - _gnutls_psk_pwd_find_entry
    - _gnutls_read_uint16
    - _gnutls_get_auth_info
    - _gnutls_get_adv_version_minor
    - _gnutls_auth_info_init
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session,\n\t\t\t\t\t
      \ uint8_t *data, size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: _gnutls_proc_rsa_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/rsa_psk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_rsa_psk_server_kx(gnutls_session_t session,\n\t\t\t\t\t
      \ uint8_t *data, size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_hash_init
      Src: /src/gnutls/lib/auth/vko_gost.c:77,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:79,1
    - Dst: gnutls_hash
      Src: /src/gnutls/lib/auth/vko_gost.c:81,1
    - Dst: gnutls_hash
      Src: /src/gnutls/lib/auth/vko_gost.c:84,1
    - Dst: gnutls_hash_deinit
      Src: /src/gnutls/lib/auth/vko_gost.c:87,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/lib/auth/vko_gost.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session
    - ukm
    argTypes:
    - gnutls_session_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: calc_ukm
    functionSourceFile: /src/gnutls/lib/auth/vko_gost.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    - gnutls_hash_init
    - gnutls_hash
    - gnutls_hash_deinit
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int calc_ukm(gnutls_session_t session, uint8_t *ukm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnutls/lib/auth/vko_gost.c:100,1
    - Dst: _gnutls_mpi_print
      Src: /src/gnutls/lib/auth/vko_gost.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:105,1
    - Dst: _gnutls_hard_log
      Src: /src/gnutls/lib/auth/vko_gost.c:107,1
    - Dst: _gnutls_bin2hex
      Src: /src/gnutls/lib/auth/vko_gost.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: print_priv_key
    functionSourceFile: /src/gnutls/lib/auth/vko_gost.c
    functionUses: 0
    functionsReached:
    - _gnutls_mpi_print
    - likely
    - _gnutls_hard_log
    - _gnutls_bin2hex
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int print_priv_key(gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/vko_gost.c:123,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:125,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/auth/vko_gost.c:127,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:130,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/vko_gost.c:133,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/vko_gost.c:134,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/vko_gost.c:136,1
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/auth/vko_gost.c:139,1
    - Dst: _gnutls_ecc_curve_get_group
      Src: /src/gnutls/lib/auth/vko_gost.c:139,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/vko_gost.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:142,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/vko_gost.c:144,1
    - Dst: _gnutls_session_supports_group
      Src: /src/gnutls/lib/auth/vko_gost.c:147,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:149,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/auth/vko_gost.c:152,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/auth/vko_gost.c:154,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/auth/vko_gost.c:157,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/auth/vko_gost.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:161,1
    - Dst: print_priv_key
      Src: /src/gnutls/lib/auth/vko_gost.c:165,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/vko_gost.c:168,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/vko_gost.c:170,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/vko_gost.c:176,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/vko_gost.c:179,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/vko_gost.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - session
    - pub
    - priv
    argTypes:
    - gnutls_session_t
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 186
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 186
    functionName: vko_prepare_client_keys
    functionSourceFile: /src/gnutls/lib/auth/vko_gost.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_session_supports_group
    - print_priv_key
    - _gnutls_pk_generate_keys
    - _gnutls_get_auth_info
    - gnutls_malloc
    - gnutls_pcert_deinit
    - gnutls_assert
    - gnutls_rnd
    - _gnutls_get_auth_info_pcert
    - _gnutls_id_to_group
    - _gnutls_session_group_set
    - memcpy
    - _gnutls_debug_log
    - gnutls_sign_algorithm_set_server
    - _gnutls_ecc_curve_get_group
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int vko_prepare_client_keys(gnutls_session_t session,\n\t\t\t\t   gnutls_pk_params_st
      *pub,\n\t\t\t\t   gnutls_pk_params_st *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:214,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/vko_gost.c:217,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:219,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/auth/vko_gost.c:222,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:224,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/vko_gost.c:225,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/vko_gost.c:229,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/vko_gost.c:236,1
    - Dst: asn1_get_length_der
      Src: /src/gnutls/lib/auth/vko_gost.c:237,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/vko_gost.c:238,1
    - Dst: calc_ukm
      Src: /src/gnutls/lib/auth/vko_gost.c:243,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:245,1
    - Dst: _gnutls_gost_keytrans_decrypt
      Src: /src/gnutls/lib/auth/vko_gost.c:247,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: proc_vko_gost_client_kx
    functionSourceFile: /src/gnutls/lib/auth/vko_gost.c
    functionUses: 0
    functionsReached:
    - DECR_LEN
    - DECR_LEN_FINAL
    - asn1_get_length_der
    - _gnutls_gost_keytrans_decrypt
    - calc_ukm
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int proc_vko_gost_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \  size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_ukm
      Src: /src/gnutls/lib/auth/vko_gost.c:267,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:269,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/vko_gost.c:271,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/vko_gost.c:272,1
    - Dst: vko_prepare_client_keys
      Src: /src/gnutls/lib/auth/vko_gost.c:273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/vko_gost.c:275,1
    - Dst: _gnutls_gost_keytrans_encrypt
      Src: /src/gnutls/lib/auth/vko_gost.c:277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/vko_gost.c:280,1
    - Dst: asn1_length_der
      Src: /src/gnutls/lib/auth/vko_gost.c:285,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/vko_gost.c:286,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/vko_gost.c:288,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/vko_gost.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/vko_gost.c:294,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/vko_gost.c:301,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/vko_gost.c:302,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/vko_gost.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 307
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 307
    functionName: gen_vko_gost_client_kx
    functionSourceFile: /src/gnutls/lib/auth/vko_gost.c
    functionUses: 0
    functionsReached:
    - asn1_length_der
    - _gnutls_free_datum
    - gnutls_buffer_append_data
    - _gnutls_gost_keytrans_encrypt
    - gnutls_assert
    - gnutls_pk_params_release
    - calc_ukm
    - vko_prepare_client_keys
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gen_vko_gost_client_kx(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.h:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - session
    - pubkey
    argTypes:
    - gnutls_session_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: get_key_usage
    functionSourceFile: /src/gnutls/lib/auth/cert.h
    functionUses: 18
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: unsigned
    signature: "unsigned get_key_usage(gnutls_session_t session,\n\t\t\t\t     gnutls_pubkey_t
      pubkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnutls/lib/auth/srp_passwd.c:58,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:60,1
    - Dst: atoi
      Src: /src/gnutls/lib/auth/srp_passwd.c:67,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:69,1
    - Dst: strrchr
      Src: /src/gnutls/lib/auth/srp_passwd.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:76,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:83,1
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_passwd.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:88,1
    - Dst: strrchr
      Src: /src/gnutls/lib/auth/srp_passwd.c:93,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:95,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:102,1
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_passwd.c:103,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:105,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:106,1
    - Dst: gnutls_strdup
      Src: /src/gnutls/lib/auth/srp_passwd.c:117,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:119,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:120,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 2
    argNames:
    - entry
    - str
    argTypes:
    - SRP_PWD_ENTRY*
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 126
    functionName: parse_tpasswd_values
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gnutls_free_datum
    - atoi
    - strrchr
    - gnutls_strdup
    - _gnutls_sbase64_decode
    - _gnutls_free_key_datum
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int parse_tpasswd_values(SRP_PWD_ENTRY *entry, char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnutls/lib/auth/srp_passwd.c:138,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:140,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:148,1
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_passwd.c:151,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:154,1
    - Dst: strrchr
      Src: /src/gnutls/lib/auth/srp_passwd.c:162,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:164,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:165,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:172,1
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_passwd.c:173,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:176,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - entry
    - str
    argTypes:
    - SRP_PWD_ENTRY*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 185
    functionName: parse_tpasswd_conf_values
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gnutls_free_datum
    - gnutls_assert
    - strrchr
    - _gnutls_sbase64_decode
    linkageType: ''
    returnType: int
    signature: int parse_tpasswd_conf_values(SRP_PWD_ENTRY *entry, char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/lib/auth/srp_passwd.c:199,1
    - Dst: fopen
      Src: /src/gnutls/lib/auth/srp_passwd.c:201,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:203,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:207,1
    - Dst: getline
      Src: /src/gnutls/lib/auth/srp_passwd.c:208,1
    - Dst: strncmp
      Src: /src/gnutls/lib/auth/srp_passwd.c:216,1
    - Dst: MAX
      Src: /src/gnutls/lib/auth/srp_passwd.c:216,1
    - Dst: parse_tpasswd_conf_values
      Src: /src/gnutls/lib/auth/srp_passwd.c:217,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/auth/srp_passwd.c:229,1
    - Dst: free
      Src: /src/gnutls/lib/auth/srp_passwd.c:230,1
    - Dst: fclose
      Src: /src/gnutls/lib/auth/srp_passwd.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pconf_file
    - entry
    - idx
    argTypes:
    - char*
    - SRP_PWD_ENTRY*
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 233
    functionName: pwd_read_conf
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - strlen
    - free
    - snprintf
    - MAX
    - zeroize_key
    - getline
    - strncmp
    - parse_tpasswd_conf_values
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int pwd_read_conf(const char *pconf_file, SRP_PWD_ENTRY *entry, int
      idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth/srp_passwd.c:247,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:249,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/srp_passwd.c:254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:257,1
    - Dst: gnutls_srp_server_credentials_t::pwd_callback
      Src: /src/gnutls/lib/auth/srp_passwd.c:266,1
    - Dst: _randomize_pwd_entry
      Src: /src/gnutls/lib/auth/srp_passwd.c:271,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:279,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:285,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:297,1
    - Dst: fopen
      Src: /src/gnutls/lib/auth/srp_passwd.c:304,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:306,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_passwd.c:311,1
    - Dst: getline
      Src: /src/gnutls/lib/auth/srp_passwd.c:312,1
    - Dst: strncmp
      Src: /src/gnutls/lib/auth/srp_passwd.c:320,1
    - Dst: MAX
      Src: /src/gnutls/lib/auth/srp_passwd.c:320,1
    - Dst: parse_tpasswd_values
      Src: /src/gnutls/lib/auth/srp_passwd.c:321,1
    - Dst: pwd_read_conf
      Src: /src/gnutls/lib/auth/srp_passwd.c:325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:330,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:335,1
    - Dst: pwd_read_conf
      Src: /src/gnutls/lib/auth/srp_passwd.c:345,1
    - Dst: _randomize_pwd_entry
      Src: /src/gnutls/lib/auth/srp_passwd.c:346,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:348,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:359,1
    - Dst: _gnutls_srp_entry_free
      Src: /src/gnutls/lib/auth/srp_passwd.c:360,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/auth/srp_passwd.c:364,1
    - Dst: free
      Src: /src/gnutls/lib/auth/srp_passwd.c:365,1
    - Dst: fclose
      Src: /src/gnutls/lib/auth/srp_passwd.c:368,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 3
    argNames:
    - state
    - username
    - _entry
    argTypes:
    - gnutls_session_t
    - char*
    - SRP_PWD_ENTRY**
    constantsTouched: []
    func_position:
      end: 370
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 370
    functionName: _gnutls_srp_pwd_read_entry
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - fopen
    - _gnutls_srp_entry_free
    - fclose
    - strlen
    - _randomize_pwd_entry
    - free
    - strncmp
    - parse_tpasswd_values
    - MAX
    - zeroize_key
    - getline
    - _gnutls_get_cred
    - gnutls_srp_server_credentials_t::pwd_callback
    - pwd_read_conf
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_srp_pwd_read_entry(gnutls_session_t state, char *username,\n\t\t\t
      \      SRP_PWD_ENTRY **_entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/auth/srp_passwd.c:381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:386,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/srp_passwd.c:390,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:393,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/auth/srp_passwd.c:397,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:399,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/srp_passwd.c:409,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:411,1
    - Dst: _gnutls_mac_init
      Src: /src/gnutls/lib/auth/srp_passwd.c:415,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_passwd.c:419,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/auth/srp_passwd.c:423,1
    - Dst: _gnutls_mac
      Src: /src/gnutls/lib/auth/srp_passwd.c:424,1
    - Dst: _gnutls_mac_deinit
      Src: /src/gnutls/lib/auth/srp_passwd.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - entry
    - sc
    - username
    argTypes:
    - SRP_PWD_ENTRY*
    - gnutls_srp_server_credentials_t
    - char*
    constantsTouched: []
    func_position:
      end: 434
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 434
    functionName: _randomize_pwd_entry
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 1
    functionsReached:
    - _gnutls_mac
    - mac_to_entry
    - gnutls_rnd
    - gnutls_malloc
    - _gnutls_mac_deinit
    - _gnutls_mac_init
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _randomize_pwd_entry(SRP_PWD_ENTRY *entry,\n\t\t\t\tgnutls_srp_server_credentials_t
      sc,\n\t\t\t\tconst char *username)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:441,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:442,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:450,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_passwd.c:458,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_passwd.c:460,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_passwd.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SRP_PWD_ENTRY*
    constantsTouched: []
    func_position:
      end: 462
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 462
    functionName: _gnutls_srp_entry_free
    functionSourceFile: /src/gnutls/lib/auth/srp_passwd.c
    functionUses: 2
    functionsReached:
    - _gnutls_free_key_datum
    - gnutls_free
    - _gnutls_free_datum
    linkageType: ''
    returnType: void
    signature: void _gnutls_srp_entry_free(SRP_PWD_ENTRY *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/psk.c:74,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:76,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/psk.c:88,1
    - Dst: memset
      Src: /src/gnutls/lib/auth/psk.c:91,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/psk.c:93,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/auth/psk.c:96,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/psk.c:98,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/psk.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - session
    - ppsk
    - dh_secret
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 105
    functionName: _gnutls_set_psk_session_key
    functionSourceFile: /src/gnutls/lib/auth/psk.c
    functionUses: 2
    functionsReached:
    - _gnutls_write_uint16
    - _gnutls_free_temp_key_datum
    - gnutls_malloc
    - memset
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_set_psk_session_key(gnutls_session_t session,\n\t\t\t\tgnutls_datum_t
      *ppsk /* key */,\n\t\t\t\tgnutls_datum_t *dh_secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/psk.c:125,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:129,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/psk.c:133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:135,1
    - Dst: _gnutls_find_psk_key
      Src: /src/gnutls/lib/auth/psk.c:139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:141,1
    - Dst: _gnutls_set_psk_session_key
      Src: /src/gnutls/lib/auth/psk.c:143,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:145,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/psk.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:156,1
    - Dst: assert
      Src: /src/gnutls/lib/auth/psk.c:161,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/auth/psk.c:162,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:164,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/psk.c:170,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/psk.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 175
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 175
    functionName: _gnutls_gen_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - assert
    - gnutls_free
    - _gnutls_set_psk_session_key
    - _gnutls_free_temp_key_datum
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_copy_psk_username
    - _gnutls_get_cred
    - _gnutls_find_psk_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_psk_client_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/psk.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:192,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/psk.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:198,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/psk.c:202,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/psk.c:203,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/psk.c:205,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/psk.c:211,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:218,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/auth/psk.c:222,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:224,1
    - Dst: _gnutls_psk_pwd_find_entry
      Src: /src/gnutls/lib/auth/psk.c:226,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:229,1
    - Dst: _gnutls_set_psk_session_key
      Src: /src/gnutls/lib/auth/psk.c:231,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:233,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/psk.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 243
    functionName: _gnutls_proc_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_set_psk_session_key
    - _gnutls_get_auth_info
    - _gnutls_copy_psk_username
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - _gnutls_free_key_datum
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_psk_pwd_find_entry
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/psk.c:261,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:265,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/psk.c:271,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/psk.c:276,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/psk.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: _gnutls_gen_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/psk.c
    functionUses: 0
    functionsReached:
    - strlen
    - _gnutls_buffer_append_data_prefix
    - gnutls_assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_psk_server_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/psk.c:292,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:295,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/psk.c:297,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:300,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/auth/psk.c:302,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/psk.c:303,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/psk.c:305,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/psk.c:308,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/psk.c:313,1
    - Dst: _gnutls_copy_psk_hint
      Src: /src/gnutls/lib/auth/psk.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 317
    functionName: _gnutls_proc_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/psk.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_copy_psk_hint
    - _gnutls_get_auth_info
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_psk_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 3
    argNames:
    - result
    - rdata
    - left
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 120
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 120
    functionName: encode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 94
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int encode(uint8_t *result, const uint8_t *rdata, unsigned left)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth/srp_sb64.c:141,1
    - Dst: encode
      Src: /src/gnutls/lib/auth/srp_sb64.c:149,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:151,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:155,1
    - Dst: encode
      Src: /src/gnutls/lib/auth/srp_sb64.c:162,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:164,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:167,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/srp_sb64.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - data
    - data_size
    - result
    argTypes:
    - uint8_t*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 171
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 171
    functionName: _gnutls_sbase64_encode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - strlen
    - encode
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sbase64_encode(uint8_t *data, size_t data_size,\n\t\t\t\t
      \ char **result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/auth/srp_sb64.c:182,1
    - Dst: TOASCII
      Src: /src/gnutls/lib/auth/srp_sb64.c:184,1
    - Dst: TOASCII
      Src: /src/gnutls/lib/auth/srp_sb64.c:185,1
    - Dst: TOASCII
      Src: /src/gnutls/lib/auth/srp_sb64.c:194,1
    - Dst: TOASCII
      Src: /src/gnutls/lib/auth/srp_sb64.c:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - result
    - data
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 212
    functionName: decode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 98
    functionsReached:
    - TOASCII
    - memset
    linkageType: ''
    returnType: int
    signature: int decode(uint8_t *result, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/srp_sb64.c:235,1
    - Dst: memset
      Src: /src/gnutls/lib/auth/srp_sb64.c:242,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:243,1
    - Dst: decode
      Src: /src/gnutls/lib/auth/srp_sb64.c:245,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:247,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:251,1
    - Dst: decode
      Src: /src/gnutls/lib/auth/srp_sb64.c:258,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:260,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - data
    - idata_size
    - result
    argTypes:
    - char*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 270
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 270
    functionName: _gnutls_sbase64_decode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 2
    functionsReached:
    - decode
    - gnutls_free
    - gnutls_malloc
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int _gnutls_sbase64_decode(char *data, size_t idata_size, uint8_t **result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sbase64_encode
      Src: /src/gnutls/lib/auth/srp_sb64.c:295,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:300,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:304,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - result
    - result_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: gnutls_srp_base64_encode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gnutls_free
    - _gnutls_sbase64_encode
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_encode(const gnutls_datum_t *data, char *result,\n\t\t\t
      \    size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sbase64_encode
      Src: /src/gnutls/lib/auth/srp_sb64.c:335,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 348
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: gnutls_srp_base64_encode2
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_sbase64_encode
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_encode2(const gnutls_datum_t *data,\n\t\t\t
      \     gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_sb64.c:373,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:379,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/srp_sb64.c:383,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - b64_data
    - result
    - result_size
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: gnutls_srp_base64_decode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_free
    - _gnutls_sbase64_decode
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_decode(const gnutls_datum_t *b64_data, char
      *result,\n\t\t\t     size_t *result_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sbase64_decode
      Src: /src/gnutls/lib/auth/srp_sb64.c:413,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/srp_sb64.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - b64_data
    - result
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 427
    functionName: gnutls_srp_base64_decode2
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - _gnutls_sbase64_decode
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_decode2(const gnutls_datum_t *b64_data,\n\t\t\t
      \     gnutls_datum_t *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - result_size MAYBE_UNUSED
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: gnutls_srp_base64_encode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_encode(const gnutls_datum_t *data MAYBE_UNUSED,\n\t\t\t
      \    char *result MAYBE_UNUSED,\n\t\t\t     size_t *result_size MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: gnutls_srp_base64_encode2
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_encode2(const gnutls_datum_t *data MAYBE_UNUSED,\n\t\t\t
      \     gnutls_datum_t *result MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    - result_size MAYBE_UNUSED
    argTypes:
    - gnutls_datum_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: gnutls_srp_base64_decode
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_decode(const gnutls_datum_t *b64_data MAYBE_UNUSED,\n\t\t\t
      \    char *result MAYBE_UNUSED,\n\t\t\t     size_t *result_size MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - MAYBE_UNUSED
    - MAYBE_UNUSED
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: gnutls_srp_base64_decode2
    functionSourceFile: /src/gnutls/lib/auth/srp_sb64.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gnutls_srp_base64_decode2(const gnutls_datum_t *b64_data MAYBE_UNUSED,\n\t\t\t
      \     gnutls_datum_t *result MAYBE_UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/ecdhe.c:94,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/auth/ecdhe.c:101,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:104,1
    - Dst: memcpy
      Src: /src/gnutls/lib/auth/ecdhe.c:109,1
    - Dst: _gnutls_set_psk_session_key
      Src: /src/gnutls/lib/auth/ecdhe.c:112,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:114,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:117,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/ecdhe.c:126,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/ecdhe.c:127,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:128,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/ecdhe.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - session
    - psk_key
    - ecurve
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - gnutls_ecc_curve_entry_st*
    constantsTouched: []
    func_position:
      end: 131
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 131
    functionName: calc_ecdh_key
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_set_psk_session_key
    - _gnutls_free_temp_key_datum
    - _gnutls_free_datum
    - gnutls_pk_params_release
    - _gnutls_pk_derive
    - memcpy
    - _gnutls_mpi_release
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int calc_ecdh_key(gnutls_session_t session, gnutls_datum_t *psk_key,\n\t\t\t
      const gnutls_ecc_curve_entry_st *ecurve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:143,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/auth/ecdhe.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:147,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:149,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:154,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:158,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/auth/ecdhe.c:161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:171,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:174,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:177,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:188,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:192,1
    - Dst: calc_ecdh_key
      Src: /src/gnutls/lib/auth/ecdhe.c:197,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:199,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/ecdhe.c:203,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/auth/ecdhe.c:204,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:205,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/auth/ecdhe.c:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - session
    - data
    - _data_size
    - group
    - psk_key
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - struct gnutls_group_entry_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 208
    functionName: _gnutls_proc_ecdh_common_client_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 1
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - gnutls_pk_params_clear
    - _gnutls_free_datum
    - DECR_LEN
    - _gnutls_ecc_ansi_x962_import
    - _gnutls_mpi_release
    - calc_ecdh_key
    - _gnutls_set_datum
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_ecdh_common_client_kx(\n\tgnutls_session_t session,
      uint8_t *data, size_t _data_size,\n\tconst struct gnutls_group_entry_st *group,
      gnutls_datum_t *psk_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/ecdhe.c:215,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:218,1
    - Dst: _gnutls_proc_ecdh_common_client_kx
      Src: /src/gnutls/lib/auth/ecdhe.c:222,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/ecdhe.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: proc_ecdhe_client_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_ecdh_common_client_kx
    - get_group
    - gnutls_assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: "int proc_ecdhe_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\tsize_t
      _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_gen_ecdh_common_client_kx_int
      Src: /src/gnutls/lib/auth/ecdhe.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: _gnutls_gen_ecdh_common_client_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_gen_ecdh_common_client_kx_int
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_ecdh_common_client_kx(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_group
      Src: /src/gnutls/lib/auth/ecdhe.c:238,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:244,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/auth/ecdhe.c:246,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:248,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/auth/ecdhe.c:253,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:256,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/auth/ecdhe.c:259,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:268,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/ecdhe.c:272,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:275,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:278,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/ecdhe.c:282,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:287,1
    - Dst: calc_ecdh_key
      Src: /src/gnutls/lib/auth/ecdhe.c:293,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:295,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/auth/ecdhe.c:301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - session
    - data
    - psk_key
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 303
    functionName: _gnutls_gen_ecdh_common_client_kx_int
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_ecc_curve_get_params
    - gnutls_pk_params_clear
    - _gnutls_pk_generate_keys
    - _gnutls_free_datum
    - gnutls_assert
    - calc_ecdh_key
    - _gnutls_ecc_ansi_x962_export
    - get_group
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_ecdh_common_client_kx_int(gnutls_session_t session,\n\t\t\t\t\t
      \ gnutls_buffer_st *data,\n\t\t\t\t\t  gnutls_datum_t *psk_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_proc_ecdh_common_server_kx
      Src: /src/gnutls/lib/auth/ecdhe.c:311,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:313,1
    - Dst: _gnutls_proc_dhe_signature
      Src: /src/gnutls/lib/auth/ecdhe.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: proc_ecdhe_server_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_dhe_signature
    - _gnutls_proc_ecdh_common_server_kx
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int proc_ecdhe_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\tsize_t
      _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/ecdhe.c:332,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/ecdhe.c:334,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:337,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:339,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:341,1
    - Dst: _gnutls_tls_id_to_group
      Src: /src/gnutls/lib/auth/ecdhe.c:343,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/ecdhe.c:343,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/ecdhe.c:345,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:347,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/ecdhe.c:349,1
    - Dst: _gnutls_session_supports_group
      Src: /src/gnutls/lib/auth/ecdhe.c:354,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:356,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/auth/ecdhe.c:358,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:360,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/auth/ecdhe.c:363,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:365,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/ecdhe.c:369,1
    - Dst: _gnutls_ecc_ansi_x962_import
      Src: /src/gnutls/lib/auth/ecdhe.c:372,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:376,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:381,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:384,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 402
    functionName: _gnutls_proc_ecdh_common_server_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 2
    functionsReached:
    - _gnutls_session_supports_group
    - _gnutls_ecc_curve_get_params
    - _gnutls_tls_id_to_group
    - DECR_LEN
    - _gnutls_read_uint16
    - _gnutls_ecc_ansi_x962_import
    - gnutls_pk_params_release
    - _gnutls_session_group_set
    - _gnutls_debug_log
    - _gnutls_set_datum
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_ecdh_common_server_kx(gnutls_session_t session, uint8_t
      *data,\n\t\t\t\t       size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:416,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/auth/ecdhe.c:419,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/auth/ecdhe.c:421,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/ecdhe.c:426,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:428,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/auth/ecdhe.c:430,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:432,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/auth/ecdhe.c:435,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:439,1
    - Dst: _gnutls_ecc_ansi_x962_export
      Src: /src/gnutls/lib/auth/ecdhe.c:442,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:450,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/ecdhe.c:452,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/ecdhe.c:455,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:458,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/ecdhe.c:462,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/ecdhe.c:469,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - session
    - data
    - group
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - gnutls_group_entry_st*
    constantsTouched: []
    func_position:
      end: 473
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 473
    functionName: _gnutls_ecdh_common_print_server_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_pk_generate_keys
    - _gnutls_free_datum
    - gnutls_pk_params_release
    - _gnutls_ecc_ansi_x962_export
    - gnutls_pk_params_init
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecdh_common_print_server_kx(gnutls_session_t session,\n\t\t\t\t\tgnutls_buffer_st
      *data,\n\t\t\t\t\tconst gnutls_group_entry_st *group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/ecdhe.c:481,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:484,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/ecdhe.c:488,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:490,1
    - Dst: _gnutls_ecdh_common_print_server_kx
      Src: /src/gnutls/lib/auth/ecdhe.c:496,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/ecdhe.c:497,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/ecdhe.c:499,1
    - Dst: _gnutls_gen_dhe_signature
      Src: /src/gnutls/lib/auth/ecdhe.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 506
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 506
    functionName: gen_ecdhe_server_kx
    functionSourceFile: /src/gnutls/lib/auth/ecdhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecdh_common_print_server_kx
    - _gnutls_gen_dhe_signature
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - get_group
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gen_ecdhe_server_kx(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/srp_rsa.c:85,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/srp_rsa.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_rsa.c:89,1
    - Dst: _gnutls_gen_srp_server_kx
      Src: /src/gnutls/lib/auth/srp_rsa.c:93,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/srp_rsa.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:104,1
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/auth/srp_rsa.c:109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:112,1
    - Dst: _gnutls_handshake_sign_data
      Src: /src/gnutls/lib/auth/srp_rsa.c:116,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:119,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/srp_rsa.c:123,1
    - Dst: _gnutls_sign_to_tls_aid
      Src: /src/gnutls/lib/auth/srp_rsa.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:134,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/srp_rsa.c:142,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:144,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/srp_rsa.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:153,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/srp_rsa.c:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 162
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 162
    functionName: gen_srp_cert_server_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_rsa.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_handshake_sign_data
    - _gnutls_gen_srp_server_kx
    - _gnutls_free_datum
    - gnutls_assert
    - _gnutls_sign_to_tls_aid
    - _gnutls_get_selected_cert
    - unlikely
    - _gnutls_get_cred
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int gen_srp_cert_server_kx(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/srp_rsa.c:177,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/srp_rsa.c:179,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/srp_rsa.c:180,1
    - Dst: _gnutls_proc_srp_server_kx
      Src: /src/gnutls/lib/auth/srp_rsa.c:182,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/srp_rsa.c:188,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:191,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/srp_rsa.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:200,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/srp_rsa.c:211,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_rsa.c:214,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_rsa.c:216,1
    - Dst: _gnutls_tls_aid_to_sign
      Src: /src/gnutls/lib/auth/srp_rsa.c:219,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/srp_rsa.c:221,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:223,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_rsa.c:228,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/srp_rsa.c:229,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/srp_rsa.c:231,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/auth/srp_rsa.c:235,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:239,1
    - Dst: _gnutls_handshake_verify_data
      Src: /src/gnutls/lib/auth/srp_rsa.c:243,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/srp_rsa.c:246,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/srp_rsa.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 253
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 253
    functionName: proc_srp_cert_server_kx
    functionSourceFile: /src/gnutls/lib/auth/srp_rsa.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_verify_data
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert
    - _gnutls_get_auth_info
    - gnutls_pcert_deinit
    - _gnutls_get_auth_info_pcert
    - unlikely
    - _gnutls_tls_aid_to_sign
    - _gnutls_get_cred
    - get_version
    - _gnutls_debug_log
    - _gnutls_proc_srp_server_kx
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int proc_srp_cert_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \  size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/cert.c:90,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:91,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth/cert.c:101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:103,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:114,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - info
    - certs
    - ncerts
    argTypes:
    - cert_auth_info_t
    - gnutls_pcert_st*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: _gnutls_pcert_to_auth_info
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _gnutls_free_datum
    - gnutls_pcert_deinit
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_pcert_to_auth_info(cert_auth_info_t info, gnutls_pcert_st
      *certs,\n\t\t\t       size_t ncerts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pk_algos
    - pk_algos_length
    - algo_to_check
    argTypes:
    - gnutls_pk_algorithm_t*
    - int
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: check_pk_algo_in_list
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int check_pk_algo_in_list(const gnutls_pk_algorithm_t *pk_algos,\n\t\t\t\t\tint
      pk_algos_length,\n\t\t\t\t\tgnutls_pk_algorithm_t algo_to_check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_create_element
      Src: /src/gnutls/lib/auth/cert.c:146,1
    - Dst: _gnutls_get_pkix
      Src: /src/gnutls/lib/auth/cert.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:149,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/auth/cert.c:150,1
    - Dst: asn1_der_decoding
      Src: /src/gnutls/lib/auth/cert.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:156,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/auth/cert.c:157,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/auth/cert.c:158,1
    - Dst: asn1_der_decoding_startEnd
      Src: /src/gnutls/lib/auth/cert.c:161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:168,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/auth/cert.c:169,1
    - Dst: _gnutls_asn2err
      Src: /src/gnutls/lib/auth/cert.c:170,1
    - Dst: asn1_delete_structure
      Src: /src/gnutls/lib/auth/cert.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - cert
    - odn
    argTypes:
    - gnutls_pcert_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 180
    functionName: cert_get_issuer_dn
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_asn2err
    - asn1_der_decoding_startEnd
    - asn1_create_element
    - _gnutls_get_pkix
    - asn1_delete_structure
    - asn1_der_decoding
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int cert_get_issuer_dn(gnutls_pcert_st *cert, gnutls_datum_t *odn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_usage
      Src: /src/gnutls/lib/auth/cert.c:211,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/auth/cert.c:215,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:218,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:220,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/auth/cert.c:229,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:230,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/auth/cert.c:231,1
    - Dst: _gnutls_dn_log
      Src: /src/gnutls/lib/auth/cert.c:236,1
    - Dst: cert_get_issuer_dn
      Src: /src/gnutls/lib/auth/cert.c:240,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:243,1
    - Dst: get_key_usage
      Src: /src/gnutls/lib/auth/cert.c:250,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/auth/cert.c:255,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:257,1
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/auth/cert.c:266,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/cert.c:270,1
    - Dst: check_pk_algo_in_list
      Src: /src/gnutls/lib/auth/cert.c:272,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 7
    argNames:
    - session
    - cred
    - _data
    - _data_size
    - pk_algos
    - pk_algos_length
    - indx
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_credentials_t
    - uint8_t*
    - size_t
    - gnutls_pk_algorithm_t*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 291
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 291
    functionName: find_x509_client_cert
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - DECR_LENGTH_RET
    - get_key_usage
    - _gnutls_read_uint16
    - _gnutls_dn_log
    - gnutls_assert
    - gnutls_pubkey_get_pk_algorithm
    - memcmp
    - check_pk_algo_in_list
    - cert_get_issuer_dn
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int find_x509_client_cert(gnutls_session_t session,\n\t\t\t\t const
      gnutls_certificate_credentials_t cred,\n\t\t\t\t const uint8_t *_data, size_t
      _data_size,\n\t\t\t\t const gnutls_pk_algorithm_t *pk_algos,\n\t\t\t\t int pk_algos_length,
      int *indx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/auth/cert.c:315,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/auth/cert.c:319,1
    - Dst: get_key_usage
      Src: /src/gnutls/lib/auth/cert.c:321,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:328,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:330,1
    - Dst: check_pk_algo_in_list
      Src: /src/gnutls/lib/auth/cert.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - session
    - cred
    - pk_algos
    - pk_algos_length
    - indx
    argTypes:
    - gnutls_session_t
    - gnutls_certificate_credentials_t
    - gnutls_pk_algorithm_t*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 346
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 346
    functionName: find_rawpk_client_cert
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - get_key_usage
    - gnutls_pubkey_get_pk_algorithm
    - check_pk_algo_in_list
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int find_rawpk_client_cert(gnutls_session_t session,\n\t\t\t\t  const
      gnutls_certificate_credentials_t cred,\n\t\t\t\t  const gnutls_pk_algorithm_t
      *pk_algos,\n\t\t\t\t  int pk_algos_length, int *indx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/auth/cert.c:368,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:370,1
    - Dst: DECR_LENGTH_RET
      Src: /src/gnutls/lib/auth/cert.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 384
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 384
    functionName: get_issuers_num
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LENGTH_RET
    linkageType: ''
    returnType: int
    signature: "int get_issuers_num(gnutls_session_t session, const uint8_t *data,\n\t\t\t
      \  ssize_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:395,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:410,1
    - Dst: _gnutls_dn_log
      Src: /src/gnutls/lib/auth/cert.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - session
    - issuers_dn
    - issuers_len
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 424
    functionName: get_issuers
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - _gnutls_dn_log
    - get_certificate_type
    linkageType: ''
    returnType: int
    signature: "int get_issuers(gnutls_session_t session, gnutls_datum_t *issuers_dn,\n\t\t
      \      int issuers_len, const uint8_t *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:443,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:446,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:451,1
    - Dst: memset
      Src: /src/gnutls/lib/auth/cert.c:458,1
    - Dst: gnutls_certificate_credentials_t::get_cert_callback3
      Src: /src/gnutls/lib/auth/cert.c:466,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:471,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:474,1
    - Dst: selected_certs_set
      Src: /src/gnutls/lib/auth/cert.c:481,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - session
    - issuers_dn
    - issuers_dn_length
    - pk_algos
    - pk_algos_length
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - int
    - gnutls_pk_algorithm_t*
    - int
    constantsTouched: []
    func_position:
      end: 491
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 491
    functionName: call_get_cert_callback
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - get_certificate_type
    - selected_certs_set
    - _gnutls_get_cred
    - gnutls_certificate_credentials_t::get_cert_callback3
    - memset
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int call_get_cert_callback(gnutls_session_t session,\n\t\t\t\t  const
      gnutls_datum_t *issuers_dn,\n\t\t\t\t  int issuers_dn_length,\n\t\t\t\t  gnutls_pk_algorithm_t
      *pk_algos,\n\t\t\t\t  int pk_algos_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:514,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:517,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:521,1
    - Dst: get_issuers_num
      Src: /src/gnutls/lib/auth/cert.c:528,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:530,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/auth/cert.c:536,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:539,1
    - Dst: get_issuers
      Src: /src/gnutls/lib/auth/cert.c:543,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:547,1
    - Dst: call_get_cert_callback
      Src: /src/gnutls/lib/auth/cert.c:555,1
    - Dst: find_x509_client_cert
      Src: /src/gnutls/lib/auth/cert.c:565,1
    - Dst: find_rawpk_client_cert
      Src: /src/gnutls/lib/auth/cert.c:570,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:579,1
    - Dst: selected_certs_set
      Src: /src/gnutls/lib/auth/cert.c:583,1
    - Dst: selected_certs_set
      Src: /src/gnutls/lib/auth/cert.c:591,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:599,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - session
    - _data
    - _data_size
    - pk_algos
    - pk_algos_length
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - gnutls_pk_algorithm_t*
    - int
    constantsTouched: []
    func_position:
      end: 601
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 601
    functionName: _gnutls_select_client_cert
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - get_certificate_type
    - selected_certs_set
    - find_x509_client_cert
    - gnutls_malloc
    - get_issuers
    - find_rawpk_client_cert
    - get_issuers_num
    - call_get_cert_callback
    - _gnutls_get_cred
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_select_client_cert(gnutls_session_t session, const uint8_t
      *_data,\n\t\t\t       size_t _data_size,\n\t\t\t       gnutls_pk_algorithm_t
      *pk_algos,\n\t\t\t       int pk_algos_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/auth/cert.c:615,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:618,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/auth/cert.c:638,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:640,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/cert.c:643,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 651
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 651
    functionName: gen_x509_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_assert
    - _gnutls_get_selected_cert
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int gen_x509_crt(gnutls_session_t session, gnutls_buffer_st *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/auth/cert.c:665,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:668,1
    - Dst: assert
      Src: /src/gnutls/lib/auth/cert.c:675,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/auth/cert.c:685,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/cert.c:687,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 696
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 696
    functionName: _gnutls_gen_rawpk_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - assert
    - _gnutls_get_selected_cert
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int _gnutls_gen_rawpk_crt(gnutls_session_t session, gnutls_buffer_st
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:704,1
    - Dst: gen_x509_crt
      Src: /src/gnutls/lib/auth/cert.c:708,1
    - Dst: _gnutls_gen_rawpk_crt
      Src: /src/gnutls/lib/auth/cert.c:710,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 714
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 714
    functionName: _gnutls_gen_cert_client_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gen_x509_crt
    - _gnutls_gen_rawpk_crt
    - gnutls_assert_val
    - get_certificate_type
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_cert_client_crt(gnutls_session_t session,\n\t\t\t\tgnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:722,1
    - Dst: gen_x509_crt
      Src: /src/gnutls/lib/auth/cert.c:726,1
    - Dst: _gnutls_gen_rawpk_crt
      Src: /src/gnutls/lib/auth/cert.c:728,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 732
      start: 716
    functionDepth: 5
    functionLinenumber: 716
    functionLinenumberEnd: 732
    functionName: _gnutls_gen_cert_server_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gen_x509_crt
    - _gnutls_gen_rawpk_crt
    - gnutls_assert_val
    - get_certificate_type
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_cert_server_crt(gnutls_session_t session,\n\t\t\t\tgnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_get_pk_algorithm
      Src: /src/gnutls/lib/auth/cert.c:742,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:744,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/auth/cert.c:750,1
    - Dst: _gnutls_kx_supports_pk
      Src: /src/gnutls/lib/auth/cert.c:751,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - session
    - pubkey
    argTypes:
    - gnutls_session_t
    - gnutls_pubkey_t
    constantsTouched: []
    func_position:
      end: 757
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 757
    functionName: check_pk_compat
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_kx_supports_pk
    - _gnutls_map_kx_get_cred
    - gnutls_pubkey_get_pk_algorithm
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int check_pk_compat(gnutls_session_t session, gnutls_pubkey_t pubkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:777,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:780,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/cert.c:784,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:786,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/cert.c:790,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:791,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:792,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:797,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:802,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/auth/cert.c:803,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:808,1
    - Dst: memcmp
      Src: /src/gnutls/lib/auth/cert.c:813,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:814,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:821,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/auth/cert.c:822,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:824,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:831,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:834,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth/cert.c:842,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:845,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/auth/cert.c:857,1
    - Dst: gnutls_pcert_import_x509_raw
      Src: /src/gnutls/lib/auth/cert.c:863,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:867,1
    - Dst: check_pk_compat
      Src: /src/gnutls/lib/auth/cert.c:876,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:878,1
    - Dst: _gnutls_pcert_to_auth_info
      Src: /src/gnutls/lib/auth/cert.c:882,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:885,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:893,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 895
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 895
    functionName: _gnutls_proc_x509_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_pcert_import_x509_raw
    - DECR_LEN
    - _gnutls_get_auth_info
    - memcmp
    - _gnutls_auth_info_init
    - _gnutls_pcert_to_auth_info
    - unlikely
    - _gnutls_get_cred
    - check_pk_compat
    - gnutls_assert_val
    - _gnutls_read_uint24
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_x509_crt(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:918,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/auth/cert.c:919,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:924,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:928,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/cert.c:931,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/auth/cert.c:939,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:941,1
    - Dst: gnutls_pcert_import_rawpk_raw
      Src: /src/gnutls/lib/auth/cert.c:944,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:947,1
    - Dst: check_pk_compat
      Src: /src/gnutls/lib/auth/cert.c:951,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:953,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/cert.c:957,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:960,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/cert.c:964,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:965,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:966,1
    - Dst: _gnutls_pcert_to_auth_info
      Src: /src/gnutls/lib/auth/cert.c:973,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:975,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:983,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:984,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 988
      start: 897
    functionDepth: 5
    functionLinenumber: 897
    functionLinenumberEnd: 988
    functionName: _gnutls_proc_rawpk_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_pcert_import_rawpk_raw
    - DECR_LEN
    - DECR_LEN_FINAL
    - gnutls_assert
    - _gnutls_get_auth_info
    - gnutls_pcert_deinit
    - _gnutls_auth_info_init
    - _gnutls_pcert_to_auth_info
    - unlikely
    - check_pk_compat
    - _gnutls_read_uint24
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_rawpk_crt(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:995,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:998,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:1004,1
    - Dst: _gnutls_proc_x509_crt
      Src: /src/gnutls/lib/auth/cert.c:1008,1
    - Dst: _gnutls_proc_rawpk_crt
      Src: /src/gnutls/lib/auth/cert.c:1010,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1014
      start: 990
    functionDepth: 6
    functionLinenumber: 990
    functionLinenumberEnd: 1014
    functionName: _gnutls_proc_crt
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - get_certificate_type
    - _gnutls_proc_x509_crt
    - _gnutls_get_cred
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_proc_rawpk_crt
    linkageType: ''
    returnType: int
    signature: int _gnutls_proc_crt(gnutls_session_t session, uint8_t *data, size_t
      data_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - algo
    argTypes:
    - CertificateSigType
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: _gnutls_check_supported_sign_algo
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_check_supported_sign_algo(CertificateSigType algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1050,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1052,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1053,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:1055,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1058,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/cert.c:1062,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1064,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1071,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1078,1
    - Dst: _gnutls_check_supported_sign_algo
      Src: /src/gnutls/lib/auth/cert.c:1079,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1087,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1091,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1094,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:1095,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1097,1
    - Dst: _gnutls_sign_algorithm_parse_data
      Src: /src/gnutls/lib/auth/cert.c:1099,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1101,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1109,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:1110,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/cert.c:1113,1
    - Dst: _gnutls_select_client_cert
      Src: /src/gnutls/lib/auth/cert.c:1123,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1130
      start: 1040
    functionDepth: 5
    functionLinenumber: 1040
    functionLinenumberEnd: 1130
    functionName: _gnutls_proc_cert_cert_req
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_select_client_cert
    - _gnutls_sign_algorithm_parse_data
    - _gnutls_read_uint16
    - DECR_LEN
    - DECR_LEN_FINAL
    - _gnutls_check_supported_sign_algo
    - _gnutls_auth_info_init
    - unlikely
    - _gnutls_get_cred
    - get_version
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_cert_cert_req(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1141,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1144,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1145,1
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/auth/cert.c:1148,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1151,1
    - Dst: _gnutls_handshake_sign_crt_vrfy
      Src: /src/gnutls/lib/auth/cert.c:1156,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1159,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1167,1
    - Dst: _gnutls_sign_to_tls_aid
      Src: /src/gnutls/lib/auth/cert.c:1171,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1173,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/cert.c:1177,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1179,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/cert.c:1184,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1187,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/cert.c:1194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1132
    functionDepth: 6
    functionLinenumber: 1132
    functionLinenumberEnd: 1196
    functionName: _gnutls_gen_cert_client_crt_vrfy
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_handshake_sign_crt_vrfy
    - _gnutls_free_datum
    - _gnutls_sign_to_tls_aid
    - _gnutls_get_selected_cert
    - unlikely
    - get_version
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_cert_client_crt_vrfy(gnutls_session_t session,\n\t\t\t\t
      \    gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/cert.c:1206,1
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1209,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1214,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:1219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1222,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1229,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1230,1
    - Dst: _gnutls_tls_aid_to_sign
      Src: /src/gnutls/lib/auth/cert.c:1232,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1234,1
    - Dst: _gnutls_session_sign_algo_enabled
      Src: /src/gnutls/lib/auth/cert.c:1240,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1242,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1245,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:1246,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/cert.c:1249,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/auth/cert.c:1254,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1258,1
    - Dst: _gnutls_handshake_verify_crt_vrfy
      Src: /src/gnutls/lib/auth/cert.c:1262,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1264,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:1265,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:1268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1271
      start: 1198
    functionDepth: 6
    functionLinenumber: 1198
    functionLinenumberEnd: 1271
    functionName: _gnutls_proc_cert_client_crt_vrfy
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_verify_crt_vrfy
    - _gnutls_read_uint16
    - DECR_LEN
    - DECR_LEN_FINAL
    - _gnutls_get_auth_info
    - gnutls_pcert_deinit
    - _gnutls_get_auth_info_pcert
    - unlikely
    - _gnutls_tls_aid_to_sign
    - _gnutls_get_cred
    - get_version
    - gnutls_assert_val
    - _gnutls_session_sign_algo_enabled
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_cert_client_crt_vrfy(gnutls_session_t session, uint8_t
      *data,\n\t\t\t\t      size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1279,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1283,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1284,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:1291,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1294,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1298,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1326,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:1327,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/auth/cert.c:1329,1
    - Dst: _gnutls_kx_is_vko_gost
      Src: /src/gnutls/lib/auth/cert.c:1335,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/cert.c:1366,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1368,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1370,1
    - Dst: _gnutls_sign_algorithm_write_params
      Src: /src/gnutls/lib/auth/cert.c:1371,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1373,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/cert.c:1380,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1384,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/auth/cert.c:1386,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1388,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1273
    functionDepth: 5
    functionLinenumber: 1273
    functionLinenumberEnd: 1392
    functionName: _gnutls_gen_cert_server_cert_req
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - gnutls_pk_get_name
    - _gnutls_sign_algorithm_write_params
    - unlikely
    - _gnutls_get_cred
    - get_version
    - _gnutls_debug_log
    - gnutls_assert_val
    - _gnutls_kx_is_vko_gost
    - gnutls_assert
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_cert_server_cert_req(gnutls_session_t session,\n\t\t\t\t
      \    gnutls_buffer_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - session
    - apr_cert_list
    - apr_cert_list_length
    - apr_pkey
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st**
    - int*
    - gnutls_privkey_t*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1427
    functionName: _gnutls_get_selected_cert
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 4
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_selected_cert(gnutls_session_t session,\n\t\t\t      gnutls_pcert_st
      **apr_cert_list,\n\t\t\t      int *apr_cert_list_length,\n\t\t\t      gnutls_privkey_t
      *apr_pkey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:1436,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:1439,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/cert.c:1442,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/auth/cert.c:1445,1
    - Dst: gnutls_privkey_deinit
      Src: /src/gnutls/lib/auth/cert.c:1447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 1457
      start: 1429
    functionDepth: 2
    functionLinenumber: 1429
    functionLinenumberEnd: 1457
    functionName: _gnutls_selected_certs_deinit
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 1
    functionsReached:
    - _gnutls_free_datum
    - gnutls_free
    - gnutls_privkey_deinit
    - gnutls_pcert_deinit
    linkageType: ''
    returnType: void
    signature: void _gnutls_selected_certs_deinit(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_selected_certs_deinit
      Src: /src/gnutls/lib/auth/cert.c:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 9
    argNames:
    - session
    - certs
    - ncerts
    - ocsp
    - nocsp
    - key
    - need_free
    - ocsp_func
    - ocsp_func_ptr
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - int
    - gnutls_ocsp_data_st*
    - unsigned
    - gnutls_privkey_t
    - int
    - gnutls_status_request_ocsp_func
    - void*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1459
    functionDepth: 3
    functionLinenumber: 1459
    functionLinenumberEnd: 1479
    functionName: selected_certs_set
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 2
    functionsReached:
    - _gnutls_selected_certs_deinit
    linkageType: ''
    returnType: void
    signature: "void selected_certs_set(gnutls_session_t session, gnutls_pcert_st
      *certs,\n\t\t\t       int ncerts, gnutls_ocsp_data_st *ocsp,\n\t\t\t       unsigned
      nocsp, gnutls_privkey_t key,\n\t\t\t       int need_free,\n\t\t\t       gnutls_status_request_ocsp_func
      ocsp_func,\n\t\t\t       void *ocsp_func_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_server_name_get
      Src: /src/gnutls/lib/auth/cert.c:1491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - session
    - name
    - max_name_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1500
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1500
    functionName: get_server_name
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - gnutls_server_name_get
    linkageType: ''
    returnType: void
    signature: "void get_server_name(gnutls_session_t session, uint8_t *name,\n\t\t\t
      \   size_t max_name_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1524,1
    - Dst: assert
      Src: /src/gnutls/lib/auth/cert.c:1527,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/auth/cert.c:1527,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:1530,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1533,1
    - Dst: get_key_usage
      Src: /src/gnutls/lib/auth/cert.c:1536,1
    - Dst: _gnutls_check_key_usage_for_sig
      Src: /src/gnutls/lib/auth/cert.c:1540,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1541,1
    - Dst: _gnutls_kx_supports_pk_usage
      Src: /src/gnutls/lib/auth/cert.c:1544,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1545,1
    - Dst: _gnutls_kx_encipher_type
      Src: /src/gnutls/lib/auth/cert.c:1549,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1552,1
    - Dst: gnutls_pk_to_sign
      Src: /src/gnutls/lib/auth/cert.c:1555,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/auth/cert.c:1557,1
    - Dst: _gnutls_session_get_sign_algo
      Src: /src/gnutls/lib/auth/cert.c:1561,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1564,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/auth/cert.c:1566,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/auth/cert.c:1567,1
    - Dst: gnutls_sign_algorithm_get_name
      Src: /src/gnutls/lib/auth/cert.c:1568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - session
    - cert
    - pkey
    - cs
    argTypes:
    - gnutls_session_t
    - gnutls_pcert_st*
    - gnutls_privkey_t
    - gnutls_cipher_suite_entry_st*
    constantsTouched: []
    func_position:
      end: 1571
      start: 1514
    functionDepth: 4
    functionLinenumber: 1514
    functionLinenumberEnd: 1571
    functionName: cert_select_sign_algorithm
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - assert
    - _gnutls_session_get_sign_algo
    - get_certificate_type
    - get_key_usage
    - _gnutls_handshake_log
    - gnutls_sign_algorithm_get_name
    - _gnutls_kx_supports_pk_usage
    - gnutls_pk_to_sign
    - IS_SERVER
    - get_version
    - gnutls_sign_algorithm_set_server
    - _gnutls_kx_encipher_type
    - gnutls_assert_val
    - _gnutls_check_key_usage_for_sig
    linkageType: ''
    returnType: int
    signature: "int cert_select_sign_algorithm(gnutls_session_t session,\n\t\t\t\t
      \     gnutls_pcert_st *cert,\n\t\t\t\t      gnutls_privkey_t pkey,\n\t\t\t\t
      \     const gnutls_cipher_suite_entry_st *cs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:1591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1594,1
    - Dst: call_get_cert_callback
      Src: /src/gnutls/lib/auth/cert.c:1604,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1606,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1609,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1612,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1614,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:1618,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/auth/cert.c:1620,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1626,1
    - Dst: cert_select_sign_algorithm
      Src: /src/gnutls/lib/auth/cert.c:1629,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1633,1
    - Dst: get_server_name
      Src: /src/gnutls/lib/auth/cert.c:1641,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/auth/cert.c:1644,1
    - Dst: _gnutls_str_array_match
      Src: /src/gnutls/lib/auth/cert.c:1656,1
    - Dst: cert_select_sign_algorithm
      Src: /src/gnutls/lib/auth/cert.c:1660,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:1665,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/auth/cert.c:1667,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/auth/cert.c:1685,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/auth/cert.c:1688,1
    - Dst: gnutls_certificate_type_get_name
      Src: /src/gnutls/lib/auth/cert.c:1690,1
    - Dst: cert_select_sign_algorithm
      Src: /src/gnutls/lib/auth/cert.c:1693,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:1698,1
    - Dst: gnutls_pk_get_name
      Src: /src/gnutls/lib/auth/cert.c:1700,1
    - Dst: selected_certs_set
      Src: /src/gnutls/lib/auth/cert.c:1732,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1738,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - session
    - cs
    argTypes:
    - gnutls_session_t
    - gnutls_cipher_suite_entry_st*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1583
    functionDepth: 5
    functionLinenumber: 1583
    functionLinenumberEnd: 1742
    functionName: _gnutls_select_server_cert
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - selected_certs_set
    - get_server_name
    - gnutls_assert
    - gnutls_pk_get_name
    - _gnutls_str_array_match
    - gnutls_certificate_type_get_name
    - call_get_cert_callback
    - unlikely
    - _gnutls_get_cred
    - _gnutls_debug_log
    - gnutls_assert_val
    - cert_select_sign_algorithm
    linkageType: ''
    returnType: int
    signature: "int _gnutls_select_server_cert(gnutls_session_t session,\n\t\t\t       const
      gnutls_cipher_suite_entry_st *cs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1752,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1755,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/cert.c:1756,1
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/auth/cert.c:1762,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1765,1
    - Dst: _gnutls_handshake_sign_data
      Src: /src/gnutls/lib/auth/cert.c:1770,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1773,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1777,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1782,1
    - Dst: _gnutls_sign_to_tls_aid
      Src: /src/gnutls/lib/auth/cert.c:1791,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1793,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/auth/cert.c:1801,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1803,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/cert.c:1808,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1811,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/cert.c:1817,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - session
    - data
    - plain
    - plain_size
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1819
      start: 1744
    functionDepth: 6
    functionLinenumber: 1744
    functionLinenumberEnd: 1819
    functionName: _gnutls_gen_dhe_signature
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_free_datum
    - _gnutls_sign_to_tls_aid
    - _gnutls_get_selected_cert
    - unlikely
    - _gnutls_handshake_sign_data
    - get_version
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gen_dhe_signature(gnutls_session_t session, gnutls_buffer_st
      *data,\n\t\t\t      uint8_t *plain, unsigned plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/cert.c:1828,1
    - Dst: get_version
      Src: /src/gnutls/lib/auth/cert.c:1832,1
    - Dst: unlikely
      Src: /src/gnutls/lib/auth/cert.c:1837,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1838,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/cert.c:1843,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1846,1
    - Dst: _gnutls_version_has_selectable_sighash
      Src: /src/gnutls/lib/auth/cert.c:1854,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1857,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1859,1
    - Dst: _gnutls_tls_aid_to_sign
      Src: /src/gnutls/lib/auth/cert.c:1862,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/auth/cert.c:1864,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1866,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/cert.c:1870,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/cert.c:1871,1
    - Dst: DECR_LEN_FINAL
      Src: /src/gnutls/lib/auth/cert.c:1874,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/auth/cert.c:1879,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/auth/cert.c:1881,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1883,1
    - Dst: _gnutls_handshake_verify_data
      Src: /src/gnutls/lib/auth/cert.c:1887,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/auth/cert.c:1890,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/cert.c:1892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - session
    - data
    - _data_size
    - vparams
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1821
    functionDepth: 6
    functionLinenumber: 1821
    functionLinenumberEnd: 1897
    functionName: _gnutls_proc_dhe_signature
    functionSourceFile: /src/gnutls/lib/auth/cert.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_has_selectable_sighash
    - _gnutls_handshake_verify_data
    - get_certificate_type
    - _gnutls_read_uint16
    - DECR_LEN
    - DECR_LEN_FINAL
    - _gnutls_get_auth_info
    - gnutls_pcert_deinit
    - _gnutls_get_auth_info_pcert
    - unlikely
    - _gnutls_tls_aid_to_sign
    - _gnutls_get_cred
    - get_version
    - _gnutls_debug_log
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _gnutls_proc_dhe_signature(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \      size_t _data_size, gnutls_datum_t *vparams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/anon.c:68,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon.c:71,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/anon.c:75,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon.c:77,1
    - Dst: _gnutls_figure_dh_params
      Src: /src/gnutls/lib/auth/anon.c:81,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/anon.c:84,1
    - Dst: _gnutls_dh_common_print_server_kx
      Src: /src/gnutls/lib/auth/anon.c:87,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: gen_anon_server_kx
    functionSourceFile: /src/gnutls/lib/auth/anon.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_auth_info_init
    - _gnutls_dh_common_print_server_kx
    - _gnutls_get_cred
    - gnutls_assert_val
    - _gnutls_figure_dh_params
    linkageType: ''
    returnType: int
    signature: int gen_anon_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_proc_dh_common_client_kx
      Src: /src/gnutls/lib/auth/anon.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: proc_anon_client_kx
    functionSourceFile: /src/gnutls/lib/auth/anon.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_dh_common_client_kx
    linkageType: ''
    returnType: int
    signature: "int proc_anon_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \      size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/anon.c:108,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon.c:110,1
    - Dst: _gnutls_proc_dh_common_server_kx
      Src: /src/gnutls/lib/auth/anon.c:114,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/anon.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: proc_anon_server_kx
    functionSourceFile: /src/gnutls/lib/auth/anon.c
    functionUses: 0
    functionsReached:
    - _gnutls_auth_info_init
    - gnutls_assert
    - _gnutls_proc_dh_common_server_kx
    linkageType: ''
    returnType: int
    signature: "int proc_anon_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\tsize_t
      _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe.c:91,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe.c:94,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe.c:98,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe.c:100,1
    - Dst: _gnutls_figure_dh_params
      Src: /src/gnutls/lib/auth/dhe.c:104,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe.c:107,1
    - Dst: _gnutls_dh_common_print_server_kx
      Src: /src/gnutls/lib/auth/dhe.c:112,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe.c:114,1
    - Dst: _gnutls_gen_dhe_signature
      Src: /src/gnutls/lib/auth/dhe.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 7
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: gen_dhe_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_gen_dhe_signature
    - _gnutls_auth_info_init
    - _gnutls_dh_common_print_server_kx
    - _gnutls_get_cred
    - gnutls_assert_val
    - _gnutls_figure_dh_params
    linkageType: ''
    returnType: int
    signature: int gen_dhe_server_kx(gnutls_session_t session, gnutls_buffer_st *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_proc_dh_common_server_kx
      Src: /src/gnutls/lib/auth/dhe.c:129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe.c:131,1
    - Dst: _gnutls_proc_dhe_signature
      Src: /src/gnutls/lib/auth/dhe.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 7
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: proc_dhe_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_dhe_signature
    - gnutls_assert_val
    - _gnutls_proc_dh_common_server_kx
    linkageType: ''
    returnType: int
    signature: "int proc_dhe_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_proc_dh_common_client_kx
      Src: /src/gnutls/lib/auth/dhe.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: proc_dhe_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_dh_common_client_kx
    linkageType: ''
    returnType: int
    signature: "int proc_dhe_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \     size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:104,1
    - Dst: _gnutls_find_psk_key
      Src: /src/gnutls/lib/auth/dhe_psk.c:106,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:108,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/dhe_psk.c:110,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:113,1
    - Dst: _gnutls_gen_ecdh_common_client_kx_int
      Src: /src/gnutls/lib/auth/dhe_psk.c:118,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:120,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:128,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: gen_ecdhe_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_gen_ecdh_common_client_kx_int
    - _gnutls_free_datum
    - _gnutls_free_temp_key_datum
    - _gnutls_get_cred
    - gnutls_assert_val
    - _gnutls_find_psk_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gen_ecdhe_psk_client_kx(gnutls_session_t session,\n\t\t\t\t   gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:143,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:147,1
    - Dst: _gnutls_find_psk_key
      Src: /src/gnutls/lib/auth/dhe_psk.c:149,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:151,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/dhe_psk.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:156,1
    - Dst: _gnutls_gen_dh_common_client_kx_int
      Src: /src/gnutls/lib/auth/dhe_psk.c:161,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:163,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:171,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 176
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 176
    functionName: gen_dhe_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _gnutls_free_datum
    - _gnutls_free_temp_key_datum
    - _gnutls_get_cred
    - _gnutls_gen_dh_common_client_kx_int
    - gnutls_assert_val
    - _gnutls_find_psk_key
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gen_dhe_psk_client_kx(gnutls_session_t session,\n\t\t\t\t gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:185,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:188,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:192,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:194,1
    - Dst: _gnutls_figure_dh_params
      Src: /src/gnutls/lib/auth/dhe_psk.c:198,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:201,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/dhe_psk.c:207,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/dhe_psk.c:210,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:212,1
    - Dst: _gnutls_dh_common_print_server_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:214,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 219
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: gen_dhe_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - strlen
    - _gnutls_auth_info_init
    - _gnutls_dh_common_print_server_kx
    - _gnutls_get_cred
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_figure_dh_params
    linkageType: ''
    returnType: int
    signature: "int gen_dhe_psk_server_kx(gnutls_session_t session,\n\t\t\t\t gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:230,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:238,1
    - Dst: strlen
      Src: /src/gnutls/lib/auth/dhe_psk.c:244,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/auth/dhe_psk.c:247,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:249,1
    - Dst: _gnutls_ecdh_common_print_server_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:251,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/dhe_psk.c:252,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 257
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 257
    functionName: gen_ecdhe_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - strlen
    - _gnutls_ecdh_common_print_server_kx
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - get_group
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int gen_ecdhe_psk_server_kx(gnutls_session_t session,\n\t\t\t\t   gnutls_buffer_st
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:269,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:273,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:277,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:279,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:283,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dhe_psk.c:284,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:286,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/dhe_psk.c:292,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:294,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:299,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/auth/dhe_psk.c:303,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:305,1
    - Dst: _gnutls_psk_pwd_find_entry
      Src: /src/gnutls/lib/auth/dhe_psk.c:310,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:313,1
    - Dst: _gnutls_proc_dh_common_client_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:315,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: proc_dhe_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_proc_dh_common_client_kx
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_get_auth_info
    - _gnutls_copy_psk_username
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - _gnutls_free_key_datum
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_psk_pwd_find_entry
    linkageType: ''
    returnType: int
    signature: "int proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \ size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/auth/dhe_psk.c:333,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:337,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:343,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:347,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dhe_psk.c:348,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:350,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/dhe_psk.c:356,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:363,1
    - Dst: _gnutls_copy_psk_username
      Src: /src/gnutls/lib/auth/dhe_psk.c:367,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:369,1
    - Dst: _gnutls_psk_pwd_find_entry
      Src: /src/gnutls/lib/auth/dhe_psk.c:376,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:379,1
    - Dst: _gnutls_proc_ecdh_common_client_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:381,1
    - Dst: get_group
      Src: /src/gnutls/lib/auth/dhe_psk.c:382,1
    - Dst: _gnutls_free_key_datum
      Src: /src/gnutls/lib/auth/dhe_psk.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 387
      start: 323
    functionDepth: 5
    functionLinenumber: 323
    functionLinenumberEnd: 387
    functionName: proc_ecdhe_psk_client_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_get_auth_info
    - _gnutls_copy_psk_username
    - _gnutls_proc_ecdh_common_client_kx
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - _gnutls_free_key_datum
    - get_group
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_psk_pwd_find_entry
    linkageType: ''
    returnType: int
    signature: "int proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \   size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:398,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:400,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:404,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dhe_psk.c:406,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:409,1
    - Dst: _gnutls_proc_dh_common_server_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:412,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:414,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/dhe_psk.c:418,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:420,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:423,1
    - Dst: _gnutls_copy_psk_hint
      Src: /src/gnutls/lib/auth/dhe_psk.c:425,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 432
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 432
    functionName: proc_dhe_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_copy_psk_hint
    - _gnutls_get_auth_info
    - _gnutls_auth_info_init
    - _gnutls_proc_dh_common_server_kx
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int proc_dhe_psk_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \ size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/auth/dhe_psk.c:443,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:445,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:449,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/auth/dhe_psk.c:451,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/auth/dhe_psk.c:454,1
    - Dst: _gnutls_proc_ecdh_common_server_kx
      Src: /src/gnutls/lib/auth/dhe_psk.c:457,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:459,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/auth/dhe_psk.c:463,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:465,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/auth/dhe_psk.c:468,1
    - Dst: _gnutls_copy_psk_hint
      Src: /src/gnutls/lib/auth/dhe_psk.c:470,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/auth/dhe_psk.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - session
    - data
    - _data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 477
      start: 434
    functionDepth: 4
    functionLinenumber: 434
    functionLinenumberEnd: 477
    functionName: proc_ecdhe_psk_server_kx
    functionSourceFile: /src/gnutls/lib/auth/dhe_psk.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint16
    - _gnutls_proc_ecdh_common_server_kx
    - DECR_LEN
    - _gnutls_get_auth_info
    - _gnutls_copy_psk_hint
    - _gnutls_auth_info_init
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t *data,\n\t\t\t\t
      \   size_t _data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/tls13/certificate_verify.c:49,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/certificate_verify.c:53,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/tls13/certificate_verify.c:63,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/certificate_verify.c:65,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:66,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/certificate_verify.c:67,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:68,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/certificate_verify.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:73,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate_verify.c:75,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:78,1
    - Dst: _gnutls_tls_aid_to_sign_entry
      Src: /src/gnutls/lib/tls13/certificate_verify.c:83,1
    - Dst: get_version
      Src: /src/gnutls/lib/tls13/certificate_verify.c:84,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate_verify.c:86,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:88,1
    - Dst: gnutls_sign_algorithm_set_client
      Src: /src/gnutls/lib/tls13/certificate_verify.c:93,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/tls13/certificate_verify.c:95,1
    - Dst: _gnutls_buffer_pop_datum_prefix16
      Src: /src/gnutls/lib/tls13/certificate_verify.c:102,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:104,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:109,1
    - Dst: get_certificate_type
      Src: /src/gnutls/lib/tls13/certificate_verify.c:116,1
    - Dst: _gnutls_get_auth_info_pcert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:119,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:121,1
    - Dst: _gnutls13_handshake_verify_data
      Src: /src/gnutls/lib/tls13/certificate_verify.c:128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:132,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:137,1
    - Dst: gnutls_pcert_deinit
      Src: /src/gnutls/lib/tls13/certificate_verify.c:144,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate_verify.c:145,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 147
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 147
    functionName: _gnutls13_recv_certificate_verify
    functionSourceFile: /src/gnutls/lib/tls13/certificate_verify.c
    functionUses: 2
    functionsReached:
    - gnutls_sign_algorithm_set_client
    - get_certificate_type
    - _gnutls_handshake_log
    - _gnutls_buffer_pop_datum_prefix16
    - _gnutls_recv_handshake
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_tls_aid_to_sign_entry
    - _gnutls13_handshake_verify_data
    - gnutls_pcert_deinit
    - _gnutls_buffer_clear
    - _gnutls_get_auth_info_pcert
    - unlikely
    - memset
    - _gnutls_get_cred
    - get_version
    - gnutls_sign_algorithm_set_server
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_certificate_verify(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:174,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:178,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:182,1
    - Dst: _gnutls_session_get_sign_algo
      Src: /src/gnutls/lib/tls13/certificate_verify.c:194,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:199,1
    - Dst: gnutls_sign_algorithm_set_server
      Src: /src/gnutls/lib/tls13/certificate_verify.c:202,1
    - Dst: gnutls_sign_algorithm_get_client
      Src: /src/gnutls/lib/tls13/certificate_verify.c:206,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/certificate_verify.c:207,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:208,1
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/tls13/certificate_verify.c:212,1
    - Dst: _gnutls13_handshake_sign_data
      Src: /src/gnutls/lib/tls13/certificate_verify.c:214,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_verify.c:218,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/certificate_verify.c:220,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:222,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/certificate_verify.c:226,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:228,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate_verify.c:232,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_verify.c:235,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/certificate_verify.c:239,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate_verify.c:241,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/certificate_verify.c:244,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate_verify.c:248,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate_verify.c:249,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 251
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 251
    functionName: _gnutls13_send_certificate_verify
    functionSourceFile: /src/gnutls/lib/tls13/certificate_verify.c
    functionUses: 2
    functionsReached:
    - gnutls_sign_algorithm_get_client
    - _gnutls_buffer_append_data
    - _gnutls_session_get_sign_algo
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_get_selected_cert
    - _gnutls13_handshake_sign_data
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - unlikely
    - gnutls_sign_algorithm_set_server
    - _gnutls_sign_to_entry
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_certificate_verify(gnutls_session_t session, unsigned
      again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:34,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:36,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:38,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:39,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:43,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:47,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:50,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:51,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p
    - data
    - len
    argTypes:
    - psk_ext_parser_st*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 58
    functionName: _gnutls13_psk_ext_parser_init
    functionSourceFile: /src/gnutls/lib/tls13/psk_ext_parser.c
    functionUses: 2
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert_val
    - memset
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_psk_ext_parser_init(psk_ext_parser_st *p,\n\t\t\t\t
      \ const unsigned char *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:71,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:72,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:74,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:79,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:82,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - iter
    - psk
    argTypes:
    - psk_ext_iter_st*
    - struct psk_st*
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: _gnutls13_psk_ext_iter_next_identity
    functionSourceFile: /src/gnutls/lib/tls13/psk_ext_parser.c
    functionUses: 2
    functionsReached:
    - _gnutls_read_uint32
    - _gnutls_read_uint16
    - DECR_LEN
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_psk_ext_iter_next_identity(psk_ext_iter_st *iter,\n\t\t\t\t\t
      struct psk_st *psk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:103,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/psk_ext_parser.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - binder
    argTypes:
    - psk_ext_iter_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: _gnutls13_psk_ext_iter_next_binder
    functionSourceFile: /src/gnutls/lib/tls13/psk_ext_parser.c
    functionUses: 2
    functionsReached:
    - DECR_LEN
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_psk_ext_iter_next_binder(psk_ext_iter_st *iter,\n\t\t\t\t
      \      gnutls_datum_t *binder)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/tls13/anti_replay.c:54,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:56,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/anti_replay.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - anti_replay
    argTypes:
    - gnutls_anti_replay_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: gnutls_anti_replay_init
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 6
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: int gnutls_anti_replay_init(gnutls_anti_replay_t *anti_replay)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - anti_replay
    - window
    argTypes:
    - gnutls_anti_replay_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: gnutls_anti_replay_set_window
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_anti_replay_set_window(gnutls_anti_replay_t anti_replay,\n\t\t\t\t
      \  unsigned int window)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/anti_replay.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - anti_replay
    argTypes:
    - gnutls_anti_replay_t
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: gnutls_anti_replay_deinit
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 6
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void gnutls_anti_replay_deinit(gnutls_anti_replay_t anti_replay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/anti_replay.c:113,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/anti_replay.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - session
    - anti_replay
    argTypes:
    - gnutls_session_t
    - gnutls_anti_replay_t
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: gnutls_anti_replay_enable
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 5
    functionsReached:
    - unlikely
    - gnutls_assert
    linkageType: ''
    returnType: void
    signature: "void gnutls_anti_replay_enable(gnutls_session_t session,\n\t\t\t       gnutls_anti_replay_t
      anti_replay)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/anti_replay.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:137,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/anti_replay.c:139,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/tls13/anti_replay.c:140,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/anti_replay.c:145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:146,1
    - Dst: _gnutls_timespec_cmp
      Src: /src/gnutls/lib/tls13/anti_replay.c:151,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/anti_replay.c:153,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:155,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/tls13/anti_replay.c:161,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/anti_replay.c:163,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/anti_replay.c:169,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:172,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:178,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:186,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:188,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:190,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/anti_replay.c:192,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:202,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:204,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/anti_replay.c:207,1
    - Dst: gnutls_anti_replay_t::db_add_func
      Src: /src/gnutls/lib/tls13/anti_replay.c:212,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/anti_replay.c:216,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/anti_replay.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - anti_replay
    - client_ticket_age
    - ticket_creation_time
    - id
    argTypes:
    - gnutls_anti_replay_t
    - uint32_t
    - struct timespec*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 222
    functionName: _gnutls_anti_replay_check
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 2
    functionsReached:
    - timespec_sub_ms
    - _gnutls_write_uint32
    - _gnutls_handshake_log
    - memcpy
    - unlikely
    - gnutls_anti_replay_t::db_add_func
    - _gnutls_timespec_cmp
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: "int _gnutls_anti_replay_check(gnutls_anti_replay_t anti_replay,\n\t\t\t
      \     uint32_t client_ticket_age,\n\t\t\t      struct timespec *ticket_creation_time,\n\t\t\t
      \     gnutls_datum_t *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - anti_replay
    - ptr
    argTypes:
    - gnutls_anti_replay_t
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: gnutls_anti_replay_set_ptr
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gnutls_anti_replay_set_ptr(gnutls_anti_replay_t anti_replay, void
      *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - anti_replay
    - add_func
    argTypes:
    - gnutls_anti_replay_t
    - gnutls_db_add_func
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: gnutls_anti_replay_set_add_function
    functionSourceFile: /src/gnutls/lib/tls13/anti_replay.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gnutls_anti_replay_set_add_function(gnutls_anti_replay_t anti_replay,\n\t\t\t\t\t
      gnutls_db_add_func add_func)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: _gnutls13_can_send_session_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _gnutls13_can_send_session_ticket(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/tls13/session_ticket.h:43,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.h:46,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/session_ticket.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ticket
    argTypes:
    - tls13_ticket_st*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: tls13_ticket_deinit
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.h
    functionUses: 3
    functionsReached:
    - zeroize_temp_key
    - memset
    - _gnutls_free_datum
    linkageType: ''
    returnType: void
    signature: void tls13_ticket_deinit(tls13_ticket_st *ticket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/certificate.c:62,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/certificate.c:66,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:73,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:85,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:89,1
    - Dst: decompress_certificate
      Src: /src/gnutls/lib/tls13/certificate.c:95,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:97,1
    - Dst: gnutls_alert_send
      Src: /src/gnutls/lib/tls13/certificate.c:98,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/tls13/certificate.c:109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:111,1
    - Dst: memcmp
      Src: /src/gnutls/lib/tls13/certificate.c:117,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:121,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:127,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate.c:137,1
    - Dst: parse_cert_list
      Src: /src/gnutls/lib/tls13/certificate.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:149,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate.c:158,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 160
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 160
    functionName: _gnutls13_recv_certificate
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix8
    - parse_cert_list
    - _gnutls_handshake_log
    - decompress_certificate
    - _gnutls_recv_handshake
    - gnutls_alert_send
    - gnutls_assert
    - _gnutls_buffer_clear
    - memcmp
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_certificate(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/tls13/certificate.c:177,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/tls13/certificate.c:190,1
    - Dst: gnutls_session_t::internals::selected_ocsp_func
      Src: /src/gnutls/lib/tls13/certificate.c:211,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:225,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/certificate.c:228,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:230,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:236,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:243,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - _ctx
    - buf
    argTypes:
    - void*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 245
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 245
    functionName: append_status_request
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_session_t::internals::selected_ocsp_func
    - assert
    - gnutls_time
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - gnutls_assert
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int append_status_request(void *_ctx, gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_compress_certificate_get_selected_method
      Src: /src/gnutls/lib/tls13/certificate.c:262,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/tls13/certificate.c:276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:279,1
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/tls13/certificate.c:288,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:292,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/certificate.c:294,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:296,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:301,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:308,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:313,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:315,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:324,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:329,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:333,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/tls13/certificate.c:341,1
    - Dst: IS_SERVER
      Src: /src/gnutls/lib/tls13/certificate.c:344,1
    - Dst: _gnutls_extv_append_init
      Src: /src/gnutls/lib/tls13/certificate.c:346,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:348,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/certificate.c:357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:361,1
    - Dst: _gnutls_extv_append_final
      Src: /src/gnutls/lib/tls13/certificate.c:365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:368,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:376,1
    - Dst: _gnutls_write_uint24
      Src: /src/gnutls/lib/tls13/certificate.c:382,1
    - Dst: compress_certificate
      Src: /src/gnutls/lib/tls13/certificate.c:386,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:389,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/certificate.c:394,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/certificate.c:397,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate.c:400,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 402
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 402
    functionName: _gnutls13_send_certificate
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - compress_certificate
    - IS_SERVER
    - _gnutls_extv_append_init
    - _gnutls_extv_append
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_extv_append_final
    - _gnutls_buffer_clear
    - _gnutls_get_selected_cert
    - _gnutls_write_uint24
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - gnutls_compress_certificate_get_selected_method
    - _gnutls_get_cred
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_certificate(gnutls_session_t session, unsigned again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_hello_ext_is_present
      Src: /src/gnutls/lib/tls13/certificate.c:419,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:421,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate.c:425,1
    - Dst: _gnutls_parse_ocsp_response
      Src: /src/gnutls/lib/tls13/certificate.c:428,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:431,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tls13/certificate.c:440,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - _ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 443
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 443
    functionName: parse_cert_extension
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 0
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_assert
    - _gnutls_parse_ocsp_response
    - _gnutls_hello_ext_is_present
    - _gnutls_debug_log
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_cert_extension(void *_ctx, unsigned tls_id,\n\t\t\t\tconst
      uint8_t *data, unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/tls13/certificate.c:461,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:464,1
    - Dst: _gnutls_auth_info_init
      Src: /src/gnutls/lib/tls13/certificate.c:468,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:470,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:476,1
    - Dst: _gnutls_get_auth_info
      Src: /src/gnutls/lib/tls13/certificate.c:479,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:481,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/certificate.c:483,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/tls13/certificate.c:484,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:491,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/certificate.c:496,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/tls13/certificate.c:497,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:499,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/certificate.c:502,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/certificate.c:506,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/certificate.c:507,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/certificate.c:508,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:517,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:522,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/tls13/certificate.c:530,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:532,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/tls13/certificate.c:534,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:536,1
    - Dst: _gnutls_read_uint24
      Src: /src/gnutls/lib/tls13/certificate.c:550,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/tls13/certificate.c:553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:555,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/certificate.c:563,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/tls13/certificate.c:568,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:571,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:583,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:584,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:587,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:588,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:600,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:603,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:604,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:605,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 100
    argCount: 3
    argNames:
    - session
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 607
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 607
    functionName: parse_cert_list
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 1
    functionsReached:
    - gnutls_calloc
    - _gnutls_extv_parse
    - gnutls_free
    - _gnutls_read_uint16
    - DECR_LEN
    - _gnutls_get_auth_info
    - gnutls_assert
    - _gnutls_auth_info_init
    - _gnutls_get_cred
    - _gnutls_set_datum
    - _gnutls_read_uint24
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_cert_list(gnutls_session_t session, uint8_t *data,\n\t\t\t
      \  size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_compress_certificate_method2num
      Src: /src/gnutls/lib/tls13/certificate.c:616,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:618,1
    - Dst: _gnutls_compress_bound
      Src: /src/gnutls/lib/tls13/certificate.c:623,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:625,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls13/certificate.c:626,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:628,1
    - Dst: _gnutls_compress
      Src: /src/gnutls/lib/tls13/certificate.c:629,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:632,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:640,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:643,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:645,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate.c:648,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:650,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - cert_pos_mark
    - comp_method
    argTypes:
    - gnutls_buffer_st*
    - unsigned
    - gnutls_compression_method_t
    constantsTouched: []
    func_position:
      end: 657
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 657
    functionName: compress_certificate
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_compress_bound
    - _gnutls_compress_certificate_method2num
    - _gnutls_compress
    - gnutls_assert
    - gnutls_malloc
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int compress_certificate(gnutls_buffer_st *buf, unsigned cert_pos_mark,\n\t\t\t\tgnutls_compression_method_t
      comp_method)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_pop_prefix16
      Src: /src/gnutls/lib/tls13/certificate.c:667,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:669,1
    - Dst: _gnutls_compress_certificate_num2method
      Src: /src/gnutls/lib/tls13/certificate.c:670,1
    - Dst: _gnutls_compress_certificate_is_method_enabled
      Src: /src/gnutls/lib/tls13/certificate.c:672,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:674,1
    - Dst: _gnutls_buffer_pop_prefix24
      Src: /src/gnutls/lib/tls13/certificate.c:676,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:678,1
    - Dst: _gnutls_buffer_pop_datum_prefix24
      Src: /src/gnutls/lib/tls13/certificate.c:680,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:682,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls13/certificate.c:684,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate.c:686,1
    - Dst: _gnutls_decompress
      Src: /src/gnutls/lib/tls13/certificate.c:687,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:690,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:696,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate.c:701,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/certificate.c:702,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate.c:704,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate.c:709,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 711
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 711
    functionName: decompress_certificate
    functionSourceFile: /src/gnutls/lib/tls13/certificate.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - gnutls_free
    - _gnutls_buffer_pop_datum_prefix24
    - _gnutls_decompress
    - _gnutls_buffer_pop_prefix16
    - _gnutls_compress_certificate_num2method
    - gnutls_malloc
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_compress_certificate_is_method_enabled
    - gnutls_assert_val
    - _gnutls_buffer_pop_prefix24
    linkageType: ''
    returnType: int
    signature: "int decompress_certificate(gnutls_session_t session,\n\t\t\t\t  gnutls_buffer_st
      *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_session_pack
      Src: /src/gnutls/lib/tls13/session_ticket.c:43,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:45,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/tls13/session_ticket.c:50,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:52,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/tls13/session_ticket.c:59,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:61,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:63,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:67,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:72,1
    - Dst: _gnutls_write_uint16
      Src: /src/gnutls/lib/tls13/session_ticket.c:75,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:78,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:81,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:83,1
    - Dst: _gnutls_write_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:85,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/session_ticket.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 3
    argNames:
    - session
    - ticket
    - packed
    argTypes:
    - gnutls_session_t
    - tls13_ticket_st*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: pack_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - _gnutls_write_uint16
    - _gnutls_session_pack
    - _gnutls_write_uint32
    - gnutls_assert
    - gnutls_malloc
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int pack_ticket(gnutls_session_t session, tls13_ticket_st *ticket,\n\t\t
      \      gnutls_datum_t *packed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/session_ticket.c:111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:112,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/session_ticket.c:114,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:119,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/session_ticket.c:120,1
    - Dst: _gnutls_mac_to_entry
      Src: /src/gnutls/lib/tls13/session_ticket.c:124,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:126,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:129,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:130,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:133,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:134,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:147,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:149,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:150,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:154,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:158,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:159,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:162,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/session_ticket.c:163,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:166,1
    - Dst: DECR_LEN
      Src: /src/gnutls/lib/tls13/session_ticket.c:170,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:171,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:173,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:175,1
    - Dst: _gnutls_session_unpack
      Src: /src/gnutls/lib/tls13/session_ticket.c:177,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:179,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:183,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:185,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 3
    argNames:
    - session
    - packed
    - data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - tls13_ticket_st*
    constantsTouched: []
    func_position:
      end: 192
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 192
    functionName: unpack_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 1
    functionsReached:
    - _gnutls_read_uint16
    - DECR_LEN
    - memcpy
    - _gnutls_mac_to_entry
    - unlikely
    - _gnutls_session_unpack
    - memset
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int unpack_ticket(gnutls_session_t session, gnutls_datum_t *packed,\n\t\t\t
      tls13_ticket_st *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/session_ticket.c:202,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/tls13/session_ticket.c:221,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:223,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/tls13/session_ticket.c:225,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:227,1
    - Dst: bswap_32
      Src: /src/gnutls/lib/tls13/session_ticket.c:231,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:239,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:240,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/session_ticket.c:243,1
    - Dst: pack_ticket
      Src: /src/gnutls/lib/tls13/session_ticket.c:246,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:248,1
    - Dst: _gnutls_encrypt_session_ticket
      Src: /src/gnutls/lib/tls13/session_ticket.c:250,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:251,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - session
    - ticket
    argTypes:
    - gnutls_session_t
    - tls13_ticket_st*
    constantsTouched: []
    func_position:
      end: 256
      start: 194
    functionDepth: 6
    functionLinenumber: 194
    functionLinenumberEnd: 256
    functionName: generate_session_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 0
    functionsReached:
    - pack_ticket
    - _gnutls_free_datum
    - _gnutls_encrypt_session_ticket
    - gnutls_rnd
    - bswap_32
    - memcpy
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: "int generate_session_ticket(gnutls_session_t session,\n\t\t\t\t   tls13_ticket_st
      *ticket)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/session_ticket.c:266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - void*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: append_nst_extension
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int append_nst_extension(void *ctx, gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/session_ticket.c:284,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:285,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:289,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:295,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/session_ticket.c:301,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/session_ticket.c:304,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:306,1
    - Dst: generate_session_ticket
      Src: /src/gnutls/lib/tls13/session_ticket.c:308,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:311,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:314,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/session_ticket.c:318,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:321,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/session_ticket.c:325,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:328,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/session_ticket.c:333,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:336,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/session_ticket.c:341,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:345,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:349,1
    - Dst: _gnutls_extv_append_init
      Src: /src/gnutls/lib/tls13/session_ticket.c:352,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:354,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/session_ticket.c:359,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:363,1
    - Dst: _gnutls_extv_append_final
      Src: /src/gnutls/lib/tls13/session_ticket.c:367,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:369,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/session_ticket.c:373,1
    - Dst: _gnutls_send_handshake2
      Src: /src/gnutls/lib/tls13/session_ticket.c:375,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/session_ticket.c:379,1
    - Dst: _gnutls_handshake_io_write_flush
      Src: /src/gnutls/lib/tls13/session_ticket.c:387,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:392,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/tls13/session_ticket.c:393,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/session_ticket.c:394,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - session
    - nr
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 397
      start: 274
    functionDepth: 7
    functionLinenumber: 274
    functionLinenumberEnd: 397
    functionName: _gnutls13_send_session_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - _mbuffer_xfree
    - _gnutls_extv_append
    - _gnutls_extv_append_init
    - generate_session_ticket
    - _gnutls_free_datum
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_extv_append_final
    - _gnutls_send_handshake2
    - _gnutls_handshake_io_write_flush
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - unlikely
    - memset
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_send_session_ticket(gnutls_session_t session, unsigned
      nr,\n\t\t\t\t  unsigned again)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:405,1
    - Dst: _gnutls_read_uint32
      Src: /src/gnutls/lib/tls13/session_ticket.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: parse_nst_extension
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 0
    functionsReached:
    - _gnutls_read_uint32
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_nst_extension(void *ctx, unsigned tls_id,\n\t\t\t       const
      unsigned char *data, unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/session_ticket.c:422,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:423,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:425,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/session_ticket.c:426,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/session_ticket.c:428,1
    - Dst: _gnutls_buffer_pop_prefix32
      Src: /src/gnutls/lib/tls13/session_ticket.c:432,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:434,1
    - Dst: _gnutls_buffer_pop_prefix32
      Src: /src/gnutls/lib/tls13/session_ticket.c:438,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:440,1
    - Dst: _gnutls_buffer_pop_prefix8
      Src: /src/gnutls/lib/tls13/session_ticket.c:444,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:446,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tls13/session_ticket.c:449,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:451,1
    - Dst: _gnutls_buffer_pop_datum_prefix16
      Src: /src/gnutls/lib/tls13/session_ticket.c:454,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:456,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/session_ticket.c:458,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:459,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:461,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/tls13/session_ticket.c:464,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:467,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/session_ticket.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 473
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 473
    functionName: _gnutls13_recv_session_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 1
    functionsReached:
    - _gnutls_extv_parse
    - gnutls_free
    - _gnutls_buffer_pop_prefix8
    - _gnutls_buffer_pop_prefix32
    - _gnutls_handshake_log
    - _gnutls_buffer_pop_datum_prefix16
    - _gnutls_free_datum
    - _gnutls_buffer_pop_data
    - unlikely
    - memset
    - _gnutls_set_datum
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_recv_session_ticket(gnutls_session_t session,\n\t\t\t\t
      \ gnutls_buffer_st *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/session_ticket.c:486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:487,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:490,1
    - Dst: _gnutls_decrypt_session_ticket
      Src: /src/gnutls/lib/tls13/session_ticket.c:494,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:496,1
    - Dst: unpack_ticket
      Src: /src/gnutls/lib/tls13/session_ticket.c:499,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/tls13/session_ticket.c:500,1
    - Dst: _gnutls_check_resumed_params
      Src: /src/gnutls/lib/tls13/session_ticket.c:504,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/session_ticket.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - session
    - data
    - ticket_data
    argTypes:
    - gnutls_session_t
    - gnutls_datum_t*
    - tls13_ticket_st*
    constantsTouched: []
    func_position:
      end: 509
      start: 479
    functionDepth: 6
    functionLinenumber: 479
    functionLinenumberEnd: 509
    functionName: _gnutls13_unpack_session_ticket
    functionSourceFile: /src/gnutls/lib/tls13/session_ticket.c
    functionUses: 1
    functionsReached:
    - unpack_ticket
    - _gnutls_free_datum
    - _gnutls_decrypt_session_ticket
    - unlikely
    - _gnutls_check_resumed_params
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_unpack_session_ticket(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_datum_t *data,\n\t\t\t\t    tls13_ticket_st *ticket_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ktls_set_keys
      Src: /src/gnutls/lib/tls13/key_update.c:43,1
    - Dst: _gnutls_audit_log
      Src: /src/gnutls/lib/tls13/key_update.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - session
    - iface
    argTypes:
    - gnutls_session_t
    - gnutls_transport_ktls_enable_flags_t
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: set_ktls_keys
    functionSourceFile: /src/gnutls/lib/tls13/key_update.c
    functionUses: 0
    functionsReached:
    - _gnutls_ktls_set_keys
    - _gnutls_audit_log
    linkageType: ''
    returnType: int
    signature: "int set_ktls_keys(gnutls_session_t session,\n\t\t\t\tgnutls_transport_ktls_enable_flags_t
      iface)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_update_secret
      Src: /src/gnutls/lib/tls13/key_update.c:59,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:63,1
    - Dst: _gnutls_epoch_bump
      Src: /src/gnutls/lib/tls13/key_update.c:65,1
    - Dst: _gnutls_epoch_dup
      Src: /src/gnutls/lib/tls13/key_update.c:66,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:68,1
    - Dst: _tls13_write_connection_state_init
      Src: /src/gnutls/lib/tls13/key_update.c:73,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:75,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/tls13/key_update.c:77,1
    - Dst: set_ktls_keys
      Src: /src/gnutls/lib/tls13/key_update.c:78,1
    - Dst: _tls13_connection_state_init
      Src: /src/gnutls/lib/tls13/key_update.c:80,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:82,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/tls13/key_update.c:84,1
    - Dst: set_ktls_keys
      Src: /src/gnutls/lib/tls13/key_update.c:86,1
    - Dst: IS_KTLS_ENABLED
      Src: /src/gnutls/lib/tls13/key_update.c:87,1
    - Dst: set_ktls_keys
      Src: /src/gnutls/lib/tls13/key_update.c:89,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - session
    - stage
    argTypes:
    - gnutls_session_t
    - hs_stage_t
    constantsTouched: []
    func_position:
      end: 95
      start: 55
    functionDepth: 10
    functionLinenumber: 55
    functionLinenumberEnd: 95
    functionName: update_keys
    functionSourceFile: /src/gnutls/lib/tls13/key_update.c
    functionUses: 1
    functionsReached:
    - _tls13_connection_state_init
    - _gnutls_epoch_bump
    - _tls13_write_connection_state_init
    - IS_KTLS_ENABLED
    - _tls13_update_secret
    - set_ktls_keys
    - gnutls_assert_val
    - _gnutls_epoch_dup
    linkageType: ''
    returnType: int
    signature: int update_keys(gnutls_session_t session, hs_stage_t stage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:103,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/tls13/key_update.c:105,1
    - Dst: timespec_sub_ms
      Src: /src/gnutls/lib/tls13/key_update.c:109,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/key_update.c:115,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tls13/key_update.c:117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:120,1
    - Dst: _gnutls_epoch_gc
      Src: /src/gnutls/lib/tls13/key_update.c:123,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/key_update.c:125,1
    - Dst: update_keys
      Src: /src/gnutls/lib/tls13/key_update.c:131,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:140,1
    - Dst: update_keys
      Src: /src/gnutls/lib/tls13/key_update.c:144,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 167
      start: 97
    functionDepth: 11
    functionLinenumber: 97
    functionLinenumberEnd: 167
    functionName: _gnutls13_recv_key_update
    functionSourceFile: /src/gnutls/lib/tls13/key_update.c
    functionUses: 1
    functionsReached:
    - timespec_sub_ms
    - _gnutls_handshake_log
    - update_keys
    - _gnutls_epoch_gc
    - unlikely
    - _gnutls_debug_log
    - gnutls_assert_val
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_key_update(gnutls_session_t session, gnutls_buffer_st
      *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/key_update.c:186,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/tls13/key_update.c:189,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:191,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/tls13/key_update.c:193,1
    - Dst: _mbuffer_append_data
      Src: /src/gnutls/lib/tls13/key_update.c:194,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/key_update.c:196,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/key_update.c:201,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/tls13/key_update.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - session
    - again
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 207
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 207
    functionName: _gnutls13_send_key_update
    functionSourceFile: /src/gnutls/lib/tls13/key_update.c
    functionUses: 0
    functionsReached:
    - _mbuffer_xfree
    - _mbuffer_set_udata_size
    - _gnutls_handshake_log
    - _gnutls_handshake_alloc
    - gnutls_assert
    - _mbuffer_append_data
    - _gnutls_send_handshake
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_send_key_update(gnutls_session_t session, unsigned again,\n\t\t\t
      \     unsigned flags /* GNUTLS_KU_* */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls13/key_update.c:234,1
    - Dst: _gnutls13_send_key_update
      Src: /src/gnutls/lib/tls13/key_update.c:239,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/tls13/key_update.c:239,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/key_update.c:243,1
    - Dst: _gnutls_epoch_gc
      Src: /src/gnutls/lib/tls13/key_update.c:248,1
    - Dst: update_keys
      Src: /src/gnutls/lib/tls13/key_update.c:251,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/key_update.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 256
      start: 231
    functionDepth: 11
    functionLinenumber: 231
    functionLinenumberEnd: 256
    functionName: gnutls_session_key_update
    functionSourceFile: /src/gnutls/lib/tls13/key_update.c
    functionUses: 5
    functionsReached:
    - update_keys
    - AGAIN
    - _gnutls13_send_key_update
    - _gnutls_epoch_gc
    - get_version
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int gnutls_session_key_update(gnutls_session_t session, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:35,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:38,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:40,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:42,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:45,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: _gnutls13_recv_encrypted_extensions
    functionSourceFile: /src/gnutls/lib/tls13/encrypted_extensions.c
    functionUses: 1
    functionsReached:
    - _gnutls_handshake_log
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    - _gnutls_parse_hello_extensions
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_encrypted_extensions(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:61,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:63,1
    - Dst: _gnutls_gen_hello_extensions
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:65,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:68,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:72,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:75,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/encrypted_extensions.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: _gnutls13_send_encrypted_extensions
    functionSourceFile: /src/gnutls/lib/tls13/encrypted_extensions.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - _gnutls_gen_hello_extensions
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_send_encrypted_extensions(gnutls_session_t session,\n\t\t\t\t\tunsigned
      again)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:67,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:73,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/tls13/post_handshake.c:79,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/post_handshake.c:80,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:85,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/post_handshake.c:89,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:94,1
    - Dst: _gnutls_buffer_pop_prefix32
      Src: /src/gnutls/lib/tls13/post_handshake.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:103,1
    - Dst: _gnutls13_recv_certificate_request_int
      Src: /src/gnutls/lib/tls13/post_handshake.c:107,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:110,1
    - Dst: _gnutls13_send_certificate
      Src: /src/gnutls/lib/tls13/post_handshake.c:113,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/tls13/post_handshake.c:113,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:115,1
    - Dst: _gnutls13_send_certificate_verify
      Src: /src/gnutls/lib/tls13/post_handshake.c:118,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/tls13/post_handshake.c:119,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:121,1
    - Dst: _gnutls13_send_finished
      Src: /src/gnutls/lib/tls13/post_handshake.c:124,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/tls13/post_handshake.c:124,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:129,1
    - Dst: _gnutls_handshake_hash_buffers_clear
      Src: /src/gnutls/lib/tls13/post_handshake.c:132,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/tls13/post_handshake.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 137
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 137
    functionName: _gnutls13_reauth_client
    functionSourceFile: /src/gnutls/lib/tls13/post_handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls13_send_finished
    - _gnutls13_recv_certificate_request_int
    - _gnutls_buffer_pop_prefix32
    - gnutls_buffer_append_data
    - _gnutls13_send_certificate_verify
    - _gnutls_buffer_reset
    - AGAIN
    - IMED_RET
    - _gnutls_handshake_hash_buffers_clear
    - _gnutls13_send_certificate
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_reauth_client(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:149,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/tls13/post_handshake.c:152,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:154,1
    - Dst: _gnutls_buffer_reset
      Src: /src/gnutls/lib/tls13/post_handshake.c:160,1
    - Dst: gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/post_handshake.c:161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:166,1
    - Dst: _gnutls13_send_certificate_request
      Src: /src/gnutls/lib/tls13/post_handshake.c:173,1
    - Dst: AGAIN
      Src: /src/gnutls/lib/tls13/post_handshake.c:174,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:176,1
    - Dst: _gnutls13_recv_certificate
      Src: /src/gnutls/lib/tls13/post_handshake.c:180,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:182,1
    - Dst: _gnutls13_recv_certificate_verify
      Src: /src/gnutls/lib/tls13/post_handshake.c:185,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:187,1
    - Dst: _gnutls_run_verify_callback
      Src: /src/gnutls/lib/tls13/post_handshake.c:190,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:193,1
    - Dst: _gnutls13_recv_finished
      Src: /src/gnutls/lib/tls13/post_handshake.c:196,1
    - Dst: IMED_RET
      Src: /src/gnutls/lib/tls13/post_handshake.c:198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:201,1
    - Dst: _gnutls_handshake_hash_buffers_clear
      Src: /src/gnutls/lib/tls13/post_handshake.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 208
      start: 143
    functionDepth: 7
    functionLinenumber: 143
    functionLinenumberEnd: 208
    functionName: _gnutls13_reauth_server
    functionSourceFile: /src/gnutls/lib/tls13/post_handshake.c
    functionUses: 0
    functionsReached:
    - _gnutls_run_verify_callback
    - gnutls_buffer_append_data
    - _gnutls_buffer_reset
    - AGAIN
    - IMED_RET
    - _gnutls13_send_certificate_request
    - _gnutls_handshake_hash_buffers_clear
    - _gnutls13_recv_certificate
    - _gnutls_debug_log
    - _gnutls13_recv_certificate_verify
    - _gnutls13_recv_finished
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_reauth_server(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls13/post_handshake.c:250,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/post_handshake.c:252,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/post_handshake.c:253,1
    - Dst: _gnutls13_reauth_server
      Src: /src/gnutls/lib/tls13/post_handshake.c:256,1
    - Dst: _gnutls13_reauth_client
      Src: /src/gnutls/lib/tls13/post_handshake.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - session
    - flags
    argTypes:
    - gnutls_session_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 8
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: gnutls_reauth
    functionSourceFile: /src/gnutls/lib/tls13/post_handshake.c
    functionUses: 16
    functionsReached:
    - _gnutls13_reauth_client
    - _gnutls13_reauth_server
    - unlikely
    - get_version
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int gnutls_reauth(gnutls_session_t session, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/psk_ext_parser.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iter
    - p
    argTypes:
    - psk_ext_iter_st*
    - psk_ext_parser_st*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: _gnutls13_psk_ext_iter_init
    functionSourceFile: /src/gnutls/lib/tls13/psk_ext_parser.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _gnutls13_psk_ext_iter_init(psk_ext_iter_st *iter,\n\t\t\t\t\t
      \      const psk_ext_parser_st *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _tls13_expand_secret2
      Src: /src/gnutls/lib/tls13/finished.c:39,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:42,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/lib/tls13/finished.c:44,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/tls13/finished.c:44,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:47,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/tls13/finished.c:49,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - prf
    - base_key
    - handshake_hash_buffer
    - out
    argTypes:
    - mac_entry_st*
    - uint8_t*
    - gnutls_buffer_st*
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: _gnutls13_compute_finished
    functionSourceFile: /src/gnutls/lib/tls13/finished.c
    functionUses: 2
    functionsReached:
    - gnutls_hmac_fast
    - _tls13_expand_secret2
    - gnutls_hash_fast
    - MAC_TO_DIG
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_compute_finished(const mac_entry_st *prf, const uint8_t
      *base_key,\n\t\t\t       gnutls_buffer_st *handshake_hash_buffer,\n\t\t\t       void
      *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/finished.c:65,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:66,1
    - Dst: _gnutls13_compute_finished
      Src: /src/gnutls/lib/tls13/finished.c:82,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/finished.c:86,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/finished.c:90,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:93,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/finished.c:95,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/finished.c:98,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/tls13/finished.c:105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/finished.c:106,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/finished.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 117
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 117
    functionName: _gnutls13_recv_finished
    functionSourceFile: /src/gnutls/lib/tls13/finished.c
    functionUses: 3
    functionsReached:
    - _gnutls_handshake_log
    - gnutls_memcmp
    - _gnutls_recv_handshake
    - gnutls_assert
    - _gnutls_buffer_clear
    - unlikely
    - _gnutls13_compute_finished
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_finished(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/finished.c:128,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:129,1
    - Dst: _gnutls13_compute_finished
      Src: /src/gnutls/lib/tls13/finished.c:147,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/finished.c:151,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/finished.c:155,1
    - Dst: _gnutls_handshake_alloc
      Src: /src/gnutls/lib/tls13/finished.c:157,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/finished.c:159,1
    - Dst: _mbuffer_set_udata_size
      Src: /src/gnutls/lib/tls13/finished.c:161,1
    - Dst: _mbuffer_append_data
      Src: /src/gnutls/lib/tls13/finished.c:162,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/finished.c:164,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/finished.c:169,1
    - Dst: _mbuffer_xfree
      Src: /src/gnutls/lib/tls13/finished.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 175
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 175
    functionName: _gnutls13_send_finished
    functionSourceFile: /src/gnutls/lib/tls13/finished.c
    functionUses: 3
    functionsReached:
    - _mbuffer_xfree
    - _mbuffer_set_udata_size
    - _gnutls_handshake_log
    - _gnutls_handshake_alloc
    - gnutls_assert
    - _mbuffer_append_data
    - _gnutls_send_handshake
    - unlikely
    - _gnutls13_compute_finished
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_finished(gnutls_session_t session, unsigned again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_send
      Src: /src/gnutls/lib/tls13/early_data.c:36,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/early_data.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: _gnutls13_send_early_data
    functionSourceFile: /src/gnutls/lib/tls13/early_data.c
    functionUses: 1
    functionsReached:
    - gnutls_record_send
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_early_data(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/early_data.c:65,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/early_data.c:67,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/early_data.c:69,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/early_data.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: _gnutls13_send_end_of_early_data
    functionSourceFile: /src/gnutls/lib/tls13/early_data.c
    functionUses: 1
    functionsReached:
    - _gnutls_send_handshake
    - _gnutls_buffer_to_mbuffer
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_end_of_early_data(gnutls_session_t session, unsigned
      again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/early_data.c:86,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/early_data.c:89,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/early_data.c:92,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/early_data.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: _gnutls13_recv_end_of_early_data
    functionSourceFile: /src/gnutls/lib/tls13/early_data.c
    functionUses: 1
    functionsReached:
    - _gnutls_recv_handshake
    - gnutls_assert_val
    - _gnutls_buffer_clear
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_end_of_early_data(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algo
    - list
    - list_size
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_algorithm_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: is_algo_in_list
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned is_algo_in_list(gnutls_pk_algorithm_t algo,\n\t\t\t\tgnutls_pk_algorithm_t
      *list, unsigned list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls13/certificate_request.c:73,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:79,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:85,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/certificate_request.c:88,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:90,1
    - Dst: _gnutls_sign_algorithm_parse_data
      Src: /src/gnutls/lib/tls13/certificate_request.c:96,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:99,1
    - Dst: _gnutls_tls_aid_to_sign_entry
      Src: /src/gnutls/lib/tls13/certificate_request.c:106,1
    - Dst: is_algo_in_list
      Src: /src/gnutls/lib/tls13/certificate_request.c:115,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:124,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:132,1
    - Dst: _gnutls_read_uint16
      Src: /src/gnutls/lib/tls13/certificate_request.c:136,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:138,1
    - Dst: _gnutls_compress_certificate_recv_params
      Src: /src/gnutls/lib/tls13/certificate_request.c:144,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:147,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - _ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 152
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 152
    functionName: parse_cert_extension
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 0
    functionsReached:
    - is_algo_in_list
    - _gnutls_sign_algorithm_parse_data
    - _gnutls_read_uint16
    - _gnutls_tls_aid_to_sign_entry
    - get_version
    - _gnutls_compress_certificate_recv_params
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int parse_cert_extension(void *_ctx, unsigned tls_id,\n\t\t\t\tconst
      uint8_t *data, unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate_request.c:163,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/certificate_request.c:166,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:167,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:173,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/tls13/certificate_request.c:183,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:185,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate_request.c:187,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/tls13/certificate_request.c:188,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:192,1
    - Dst: memset
      Src: /src/gnutls/lib/tls13/certificate_request.c:195,1
    - Dst: _gnutls_extv_parse
      Src: /src/gnutls/lib/tls13/certificate_request.c:198,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:205,1
    - Dst: _gnutls_select_client_cert
      Src: /src/gnutls/lib/tls13/certificate_request.c:209,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:212,1
    - Dst: _gnutls_get_selected_cert
      Src: /src/gnutls/lib/tls13/certificate_request.c:214,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:217,1
    - Dst: _gnutls_session_get_sign_algo
      Src: /src/gnutls/lib/tls13/certificate_request.c:222,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/certificate_request.c:226,1
    - Dst: _gnutls_selected_certs_deinit
      Src: /src/gnutls/lib/tls13/certificate_request.c:229,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:230,1
    - Dst: gnutls_sign_algorithm_set_client
      Src: /src/gnutls/lib/tls13/certificate_request.c:233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 237
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 237
    functionName: _gnutls13_recv_certificate_request_int
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix8
    - _gnutls_extv_parse
    - gnutls_free
    - _gnutls_session_get_sign_algo
    - gnutls_sign_algorithm_set_client
    - _gnutls_handshake_log
    - _gnutls_get_selected_cert
    - _gnutls_selected_certs_deinit
    - unlikely
    - memset
    - _gnutls_select_client_cert
    - _gnutls_set_datum
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_recv_certificate_request_int(gnutls_session_t session,\n\t\t\t\t\t
      \  gnutls_buffer_st *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/certificate_request.c:248,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:249,1
    - Dst: _gnutls_recv_handshake
      Src: /src/gnutls/lib/tls13/certificate_request.c:251,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:254,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate_request.c:258,1
    - Dst: _gnutls13_recv_certificate_request_int
      Src: /src/gnutls/lib/tls13/certificate_request.c:262,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate_request.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: _gnutls13_recv_certificate_request
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 1
    functionsReached:
    - _gnutls13_recv_certificate_request_int
    - _gnutls_recv_handshake
    - _gnutls_buffer_clear
    - unlikely
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls13_recv_certificate_request(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/tls13/certificate_request.c:276,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:279,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate_request.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - void*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: write_certificate_authorities
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 0
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: int
    signature: int write_certificate_authorities(void *ctx, gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - void*
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: append_empty_ext
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int append_empty_ext(void *ctx, gnutls_buffer_st *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/tls13/certificate_request.c:314,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:317,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/certificate_request.c:320,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/certificate_request.c:322,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/tls13/certificate_request.c:326,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:328,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/tls13/certificate_request.c:332,1
    - Dst: _gnutls_set_datum
      Src: /src/gnutls/lib/tls13/certificate_request.c:334,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:338,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/certificate_request.c:342,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/certificate_request.c:349,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:353,1
    - Dst: _gnutls_extv_append_init
      Src: /src/gnutls/lib/tls13/certificate_request.c:357,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:359,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/certificate_request.c:364,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:368,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/certificate_request.c:372,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:376,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/certificate_request.c:381,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:384,1
    - Dst: _gnutls_extv_append
      Src: /src/gnutls/lib/tls13/certificate_request.c:390,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:395,1
    - Dst: _gnutls_extv_append_final
      Src: /src/gnutls/lib/tls13/certificate_request.c:399,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/certificate_request.c:401,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/certificate_request.c:405,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/certificate_request.c:410,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/certificate_request.c:414,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 416
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 416
    functionName: _gnutls13_send_certificate_request
    functionSourceFile: /src/gnutls/lib/tls13/certificate_request.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_append_data_prefix
    - gnutls_free
    - _gnutls_extv_append_init
    - _gnutls_extv_append
    - _gnutls_buffer_init_handshake_mbuffer
    - _gnutls_extv_append_final
    - gnutls_rnd
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - _gnutls_get_cred
    - _gnutls_set_datum
    - gnutls_assert_val
    - gnutls_assert
    - _gnutls_buffer_append_prefix
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_certificate_request(gnutls_session_t session, unsigned
      again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/tls13/hello_retry.c:41,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/hello_retry.c:42,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:44,1
    - Dst: _gnutls_buffer_init_handshake_mbuffer
      Src: /src/gnutls/lib/tls13/hello_retry.c:46,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:48,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:50,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:52,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:54,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/hello_retry.c:57,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/tls13/hello_retry.c:61,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/hello_retry.c:65,1
    - Dst: _gnutls_buffer_append_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:69,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/hello_retry.c:72,1
    - Dst: _gnutls_buffer_append_prefix
      Src: /src/gnutls/lib/tls13/hello_retry.c:77,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/hello_retry.c:79,1
    - Dst: _gnutls_gen_hello_extensions
      Src: /src/gnutls/lib/tls13/hello_retry.c:83,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/tls13/hello_retry.c:86,1
    - Dst: reset_binders
      Src: /src/gnutls/lib/tls13/hello_retry.c:93,1
    - Dst: _gnutls_buffer_to_mbuffer
      Src: /src/gnutls/lib/tls13/hello_retry.c:95,1
    - Dst: _gnutls_send_handshake
      Src: /src/gnutls/lib/tls13/hello_retry.c:98,1
    - Dst: _gnutls_buffer_clear
      Src: /src/gnutls/lib/tls13/hello_retry.c:102,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - session
    - again
    argTypes:
    - gnutls_session_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 104
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 104
    functionName: _gnutls13_send_hello_retry_request
    functionSourceFile: /src/gnutls/lib/tls13/hello_retry.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_append_data
    - _gnutls_buffer_append_data_prefix
    - _gnutls_buffer_init_handshake_mbuffer
    - gnutls_assert
    - _gnutls_buffer_clear
    - _gnutls_buffer_to_mbuffer
    - _gnutls_send_handshake
    - unlikely
    - _gnutls_gen_hello_extensions
    - get_version
    - gnutls_assert_val
    - _gnutls_buffer_append_prefix
    - reset_binders
    linkageType: ''
    returnType: int
    signature: int _gnutls13_send_hello_retry_request(gnutls_session_t session, unsigned
      again)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DTLS
      Src: /src/gnutls/lib/tls13/hello_retry.c:117,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:118,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:121,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:128,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/hello_retry.c:130,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:131,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:133,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:135,1
    - Dst: memcmp
      Src: /src/gnutls/lib/tls13/hello_retry.c:137,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:138,1
    - Dst: _gnutls_buffer_pop_datum_prefix8
      Src: /src/gnutls/lib/tls13/hello_retry.c:141,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:143,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:146,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:148,1
    - Dst: ciphersuite_to_entry
      Src: /src/gnutls/lib/tls13/hello_retry.c:150,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/hello_retry.c:151,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:152,1
    - Dst: _gnutls_handshake_log
      Src: /src/gnutls/lib/tls13/hello_retry.c:154,1
    - Dst: memcpy
      Src: /src/gnutls/lib/tls13/hello_retry.c:156,1
    - Dst: mac_to_entry
      Src: /src/gnutls/lib/tls13/hello_retry.c:158,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/hello_retry.c:159,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:160,1
    - Dst: _gnutls_buffer_pop_data
      Src: /src/gnutls/lib/tls13/hello_retry.c:163,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:165,1
    - Dst: unlikely
      Src: /src/gnutls/lib/tls13/hello_retry.c:167,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:168,1
    - Dst: _gnutls13_handshake_hash_buffers_synth
      Src: /src/gnutls/lib/tls13/hello_retry.c:170,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:172,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:176,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/tls13/hello_retry.c:180,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:184,1
    - Dst: _gnutls_parse_hello_extensions
      Src: /src/gnutls/lib/tls13/hello_retry.c:187,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/tls13/hello_retry.c:191,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - session
    - buf
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    constantsTouched: []
    func_position:
      end: 196
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 196
    functionName: _gnutls13_recv_hello_retry_request
    functionSourceFile: /src/gnutls/lib/tls13/hello_retry.c
    functionUses: 1
    functionsReached:
    - _gnutls_buffer_pop_datum_prefix8
    - ciphersuite_to_entry
    - _gnutls_handshake_log
    - mac_to_entry
    - IS_DTLS
    - memcmp
    - _gnutls_buffer_pop_data
    - unlikely
    - _gnutls_parse_hello_extensions
    - _gnutls13_handshake_hash_buffers_synth
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls13_recv_hello_retry_request(gnutls_session_t session,\n\t\t\t\t
      \      gnutls_buffer_st *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/lib/nettle/rnd-fips.c:58,1
    - Dst: _rngfips_ctx_reinit
      Src: /src/gnutls/lib/nettle/rnd-fips.c:59,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:61,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:62,1
    - Dst: drbg_reseed
      Src: /src/gnutls/lib/nettle/rnd-fips.c:67,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:69,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:70,1
    - Dst: drbg_aes_random
      Src: /src/gnutls/lib/nettle/rnd-fips.c:74,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:76,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:77,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - fctx
    - buffer
    - length
    argTypes:
    - struct drbg_aes_ctx*
    - struct fips_ctx*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: get_random
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 7
    functionsReached:
    - drbg_reseed
    - _gnutls_switch_fips_state
    - _rngfips_ctx_reinit
    - drbg_aes_random
    - gnutls_assert_val
    - _gnutls_detect_fork
    linkageType: ''
    returnType: int
    signature: "int get_random(struct drbg_aes_ctx *ctx, struct fips_ctx *fctx,\n\t\t
      \     void *buffer, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rnd_get_system_entropy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:100,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:102,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:104,1
    - Dst: sha256_update
      Src: /src/gnutls/lib/nettle/rnd-fips.c:105,1
    - Dst: sha256_digest
      Src: /src/gnutls/lib/nettle/rnd-fips.c:106,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/rnd-fips.c:108,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:109,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:110,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:111,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:113,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:115,1
    - Dst: MIN
      Src: /src/gnutls/lib/nettle/rnd-fips.c:115,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd-fips.c:119,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - fctx
    - buffer
    - length
    argTypes:
    - struct fips_ctx*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 123
    functionName: get_entropy
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - _rnd_get_system_entropy
    - _gnutls_switch_fips_state
    - _gnutls_switch_lib_state
    - sha256_digest
    - zeroize_key
    - memcmp
    - sha256_init
    - MIN
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int get_entropy(struct fips_ctx *fctx, uint8_t *buffer, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_entropy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:132,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:134,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:135,1
    - Dst: drbg_aes_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:138,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd-fips.c:140,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:142,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:143,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - fctx
    - ctx
    argTypes:
    - struct fips_ctx*
    - struct drbg_aes_ctx*
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: drbg_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - drbg_aes_init
    - _gnutls_switch_fips_state
    - zeroize_key
    - get_entropy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int drbg_init(struct fips_ctx *fctx, struct drbg_aes_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_entropy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:156,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:158,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:159,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/rnd-fips.c:162,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd-fips.c:163,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:165,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:166,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd-fips.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - fctx
    - ctx
    argTypes:
    - struct fips_ctx*
    - struct drbg_aes_ctx*
    constantsTouched: []
    func_position:
      end: 171
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 171
    functionName: drbg_reseed
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - zeroize_key
    - drbg_aes_reseed
    - get_entropy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int drbg_reseed(struct fips_ctx *fctx, struct drbg_aes_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rnd_get_system_entropy
      Src: /src/gnutls/lib/nettle/rnd-fips.c:186,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:188,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:189,1
    - Dst: sha256_update
      Src: /src/gnutls/lib/nettle/rnd-fips.c:190,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd-fips.c:191,1
    - Dst: sha256_digest
      Src: /src/gnutls/lib/nettle/rnd-fips.c:192,1
    - Dst: drbg_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:195,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:197,1
    - Dst: drbg_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:200,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:202,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/nettle/rnd-fips.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - struct fips_ctx*
    constantsTouched: []
    func_position:
      end: 207
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 207
    functionName: _rngfips_ctx_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - _rnd_get_system_entropy
    - drbg_init
    - sha256_digest
    - zeroize_key
    - sha256_init
    - _gnutls_get_forkid
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _rngfips_ctx_init(struct fips_ctx *fctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drbg_reseed
      Src: /src/gnutls/lib/nettle/rnd-fips.c:214,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:216,1
    - Dst: drbg_reseed
      Src: /src/gnutls/lib/nettle/rnd-fips.c:219,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:221,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/nettle/rnd-fips.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - struct fips_ctx*
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: _rngfips_ctx_reinit
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 1
    functionsReached:
    - drbg_reseed
    - gnutls_assert_val
    - _gnutls_get_forkid
    linkageType: ''
    returnType: int
    signature: int _rngfips_ctx_reinit(struct fips_ctx *fctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/nettle/rnd-fips.c:236,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:238,1
    - Dst: _rngfips_ctx_init
      Src: /src/gnutls/lib/nettle/rnd-fips.c:240,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/rnd-fips.c:242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 6
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: _rngfips_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - _rngfips_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _rngfips_init(void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_random
      Src: /src/gnutls/lib/nettle/rnd-fips.c:262,1
    - Dst: get_random
      Src: /src/gnutls/lib/nettle/rnd-fips.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - _ctx
    - level
    - buffer
    - length
    argTypes:
    - void*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: _rngfips_rnd
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - get_random
    linkageType: ''
    returnType: int
    signature: int _rngfips_rnd(void *_ctx, int level, void *buffer, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd-fips.c:276,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/rnd-fips.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: _rngfips_deinit
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - free
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void _rngfips_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: _rngfips_refresh
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _rngfips_refresh(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drbg_aes_self_test
      Src: /src/gnutls/lib/nettle/rnd-fips.c:290,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/rnd-fips.c:293,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd-fips.c:294,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/rnd-fips.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: selftest_kat
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fips.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - gnutls_assert_val
    - drbg_aes_self_test
    linkageType: ''
    returnType: int
    signature: int selftest_kat(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tls10_prf
      Src: /src/gnutls/lib/nettle/prf.c:56,1
    - Dst: hmac_sha256_set_key
      Src: /src/gnutls/lib/nettle/prf.c:61,1
    - Dst: tls12_prf
      Src: /src/gnutls/lib/nettle/prf.c:63,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/prf.c:69,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/prf.c:70,1
    - Dst: hmac_sha384_set_key
      Src: /src/gnutls/lib/nettle/prf.c:75,1
    - Dst: tls12_prf
      Src: /src/gnutls/lib/nettle/prf.c:77,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/prf.c:83,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/prf.c:84,1
    - Dst: hmac_streebog256_set_key
      Src: /src/gnutls/lib/nettle/prf.c:90,1
    - Dst: tls12_prf
      Src: /src/gnutls/lib/nettle/prf.c:92,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/prf.c:99,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/prf.c:100,1
    - Dst: hmac_streebog512_set_key
      Src: /src/gnutls/lib/nettle/prf.c:105,1
    - Dst: tls12_prf
      Src: /src/gnutls/lib/nettle/prf.c:107,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/prf.c:114,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/prf.c:115,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/prf.c:120,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/prf.c:121,1
    - Dst: gnutls_mac_get_name
      Src: /src/gnutls/lib/nettle/prf.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 9
    argNames:
    - mac
    - master_size
    - master
    - label_size
    - label
    - seed_size
    - seed
    - outsize
    - out
    argTypes:
    - gnutls_mac_algorithm_t
    - size_t
    - void*
    - size_t
    - char*
    - size_t
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 127
    functionName: _gnutls_prf_raw
    functionSourceFile: /src/gnutls/lib/nettle/prf.c
    functionUses: 4
    functionsReached:
    - tls10_prf
    - _gnutls_debug_log
    - hmac_sha256_set_key
    - gnutls_assert
    - hmac_streebog512_set_key
    - gnutls_mac_get_name
    - unlikely
    - hmac_streebog256_set_key
    - hmac_sha384_set_key
    - tls12_prf
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_prf_raw(gnutls_mac_algorithm_t mac, size_t master_size,\n\t\t
      \   const void *master, size_t label_size, const char *label,\n\t\t    size_t
      seed_size, const uint8_t *seed, size_t outsize,\n\t\t    char *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - gnutls_gost_paramset_t
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: _gnutls_gost_get_param
    functionSourceFile: /src/gnutls/lib/nettle/gost_keywrap.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: struct gost28147_param
    signature: 'struct gost28147_param *

      _gnutls_gost_get_param(gnutls_gost_paramset_t param)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_gost_get_param
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:50,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:52,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:58,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:62,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:64,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:68,1
    - Dst: _gnutls_free_datum
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:70,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:71,1
    - Dst: gost28147_key_wrap_cryptopro
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - gost_params
    - kek
    - ukm
    - cek
    - enc
    - imit
    argTypes:
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: _gnutls_gost_key_wrap
    functionSourceFile: /src/gnutls/lib/nettle/gost_keywrap.c
    functionUses: 1
    functionsReached:
    - _gnutls_gost_get_param
    - gost28147_key_wrap_cryptopro
    - _gnutls_free_datum
    - gnutls_malloc
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gost_key_wrap(gnutls_gost_paramset_t gost_params,\n\t\t\t
      \ const gnutls_datum_t *kek, const gnutls_datum_t *ukm,\n\t\t\t  const gnutls_datum_t
      *cek, gnutls_datum_t *enc,\n\t\t\t  gnutls_datum_t *imit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_gost_get_param
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:89,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:91,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:98,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:102,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:104,1
    - Dst: gost28147_key_unwrap_cryptopro
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:107,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:111,1
    - Dst: _gnutls_free_temp_key_datum
      Src: /src/gnutls/lib/nettle/gost_keywrap.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - gost_params
    - kek
    - ukm
    - enc
    - imit
    - cek
    argTypes:
    - gnutls_gost_paramset_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: _gnutls_gost_key_unwrap
    functionSourceFile: /src/gnutls/lib/nettle/gost_keywrap.c
    functionUses: 1
    functionsReached:
    - _gnutls_gost_get_param
    - _gnutls_free_temp_key_datum
    - gnutls_assert
    - gnutls_malloc
    - gost28147_key_unwrap_cryptopro
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_gost_key_unwrap(gnutls_gost_paramset_t gost_params,\n\t\t\t
      \   const gnutls_datum_t *kek,\n\t\t\t    const gnutls_datum_t *ukm,\n\t\t\t
      \   const gnutls_datum_t *enc,\n\t\t\t    const gnutls_datum_t *imit, gnutls_datum_t
      *cek)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptGenRandom
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:57,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:58,1
    - Dst: GetLastError
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: _rnd_get_system_entropy_win32
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-windows.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - GetLastError
    - CryptGenRandom
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_win32(void *rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:68,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: _rnd_system_entropy_init
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-windows.c
    functionUses: 2
    functionsReached:
    - CryptAcquireContext
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: int _rnd_system_entropy_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CryptReleaseContext
      Src: /src/gnutls/lib/nettle/sysrng-windows.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: _rnd_system_entropy_deinit
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-windows.c
    functionUses: 2
    functionsReached:
    - CryptReleaseContext
    linkageType: ''
    returnType: void
    signature: void _rnd_system_entropy_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/mpi.c:45,1
    - Dst: nettle_mpz_sizeinbase_256_s
      Src: /src/gnutls/lib/nettle/mpi.c:47,1
    - Dst: nettle_mpz_sizeinbase_256_u_le
      Src: /src/gnutls/lib/nettle/mpi.c:50,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:53,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:59,1
    - Dst: nettle_mpz_get_str_256_u_le
      Src: /src/gnutls/lib/nettle/mpi.c:65,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/mpi.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - a
    - buffer
    - nbytes
    - format
    argTypes:
    - bigint_t
    - void*
    - size_t*
    - gnutls_bigint_format_t
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: wrap_nettle_mpi_print
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_sizeinbase_256_u_le
    - nettle_mpz_sizeinbase_256_s
    - nettle_mpz_get_str_256
    - nettle_mpz_sizeinbase_256_u
    - nettle_mpz_get_str_256_u_le
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_print(const bigint_t a, void *buffer, size_t *nbytes,\n\t\t\t\t
      gnutls_bigint_format_t format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/mpi.c:78,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:80,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/mpi.c:84,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - w
    argTypes:
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: wrap_nettle_mpi_init
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_init
    - gnutls_assert
    - gnutls_malloc
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_init(bigint_t *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap_nettle_mpi_init
      Src: /src/gnutls/lib/nettle/mpi.c:97,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:99,1
    - Dst: va_start
      Src: /src/gnutls/lib/nettle/mpi.c:103,1
    - Dst: va_arg
      Src: /src/gnutls/lib/nettle/mpi.c:106,1
    - Dst: wrap_nettle_mpi_init
      Src: /src/gnutls/lib/nettle/mpi.c:108,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:110,1
    - Dst: va_end
      Src: /src/gnutls/lib/nettle/mpi.c:111,1
    - Dst: va_end
      Src: /src/gnutls/lib/nettle/mpi.c:118,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/mpi.c:122,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:122,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mpi.c:123,1
    - Dst: va_start
      Src: /src/gnutls/lib/nettle/mpi.c:125,1
    - Dst: va_arg
      Src: /src/gnutls/lib/nettle/mpi.c:128,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/mpi.c:130,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:130,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mpi.c:131,1
    - Dst: va_end
      Src: /src/gnutls/lib/nettle/mpi.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - w
    argTypes:
    - bigint_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 138
    functionName: wrap_nettle_mpi_init_multi
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - wrap_nettle_mpi_init
    - va_start
    - va_end
    - mpz_clear
    - TOMPZ
    - gnutls_assert
    - va_arg
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_init_multi(bigint_t *w, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/mpi.c:144,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:144,1
    - Dst: nettle_mpz_set_str_256_s
      Src: /src/gnutls/lib/nettle/mpi.c:146,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:146,1
    - Dst: nettle_mpz_set_str_256_u_le
      Src: /src/gnutls/lib/nettle/mpi.c:149,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:149,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mpi.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - r
    - buffer
    - nbytes
    - format
    argTypes:
    - bigint_t
    - void*
    - size_t
    - gnutls_bigint_format_t
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: wrap_nettle_mpi_scan
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_u_le
    - nettle_mpz_set_str_256_u
    - nettle_mpz_set_str_256_s
    - TOMPZ
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_scan(bigint_t r, const void *buffer, size_t nbytes,\n\t\t\t\tgnutls_bigint_format_t
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/mpi.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: wrap_nettle_mpi_cmp
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_cmp(const bigint_t u, const bigint_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/mpi.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - bigint_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: wrap_nettle_mpi_cmp_ui
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_cmp_ui(const bigint_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/mpi.c:177,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:177,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: wrap_nettle_mpi_set
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_set(bigint_t w, const bigint_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap_nettle_mpi_init
      Src: /src/gnutls/lib/nettle/mpi.c:187,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/mpi.c:191,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - u
    argTypes:
    - bigint_t
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: wrap_nettle_mpi_copy
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - wrap_nettle_mpi_init
    - TOMPZ
    linkageType: ''
    returnType: bigint_t
    signature: bigint_t wrap_nettle_mpi_copy(const bigint_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/mpi.c:198,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - u
    argTypes:
    - bigint_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: wrap_nettle_mpi_set_ui
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - TOMPZ
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_set_ui(bigint_t w, unsigned long u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/mpi.c:205,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bigint_t
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: wrap_nettle_mpi_get_nbits
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_sizeinbase
    - TOMPZ
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int wrap_nettle_mpi_get_nbits(bigint_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/mpi.c:210,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:210,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mpi.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - bigint_t
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: wrap_nettle_mpi_release
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - mpz_clear
    - TOMPZ
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_mpi_release(bigint_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/mpi.c:216,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:216,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - bigint_t
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: wrap_nettle_mpi_clear
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - zeroize_key
    - TOMPZ
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_mpi_clear(bigint_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/mpi.c:222,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:222,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mpi.c:223,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/mpi.c:225,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:225,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:225,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: wrap_nettle_mpi_modm
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - mpz_mod
    - mpz_cmp_ui
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_modm(bigint_t r, const bigint_t a, const bigint_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/mpi.c:233,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:233,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:233,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:233,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - w
    - b
    - e
    - m
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: wrap_nettle_mpi_powm
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - TOMPZ
    - mpz_powm
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_powm(bigint_t w, const bigint_t b, const bigint_t
      e,\n\t\t\t\tconst bigint_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/mpi.c:241,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:241,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:241,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:241,1
    - Dst: mpz_fdiv_r
      Src: /src/gnutls/lib/nettle/mpi.c:242,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:242,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:242,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - w
    - a
    - b
    - m
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: wrap_nettle_mpi_addm
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_fdiv_r
    - mpz_add
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_addm(bigint_t w, const bigint_t a, const bigint_t
      b,\n\t\t\t\tconst bigint_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/mpi.c:250,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:250,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:250,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:250,1
    - Dst: mpz_fdiv_r
      Src: /src/gnutls/lib/nettle/mpi.c:251,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:251,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:251,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - w
    - a
    - b
    - m
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: wrap_nettle_mpi_subm
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_fdiv_r
    - TOMPZ
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_subm(bigint_t w, const bigint_t a, const bigint_t
      b,\n\t\t\t\tconst bigint_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/mpi.c:259,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:259,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:259,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:259,1
    - Dst: mpz_fdiv_r
      Src: /src/gnutls/lib/nettle/mpi.c:260,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:260,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:260,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - w
    - a
    - b
    - m
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: wrap_nettle_mpi_mulm
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_fdiv_r
    - mpz_mul
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mpi_mulm(bigint_t w, const bigint_t a, const bigint_t
      b,\n\t\t\t\tconst bigint_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/mpi.c:267,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:267,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:267,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: wrap_nettle_mpi_add
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_add
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_add(bigint_t w, const bigint_t a, const bigint_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/mpi.c:274,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:274,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:274,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: wrap_nettle_mpi_sub
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - TOMPZ
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_sub(bigint_t w, const bigint_t a, const bigint_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/mpi.c:281,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:281,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:281,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: wrap_nettle_mpi_mul
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_mul
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_mul(bigint_t w, const bigint_t a, const bigint_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/mpi.c:289,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:289,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:289,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - q
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - bigint_t
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: wrap_nettle_mpi_div
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_cdiv_q
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_div(bigint_t q, const bigint_t a, const bigint_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/mpi.c:296,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:296,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: wrap_nettle_mpi_add_ui
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_add_ui
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_add_ui(bigint_t w, const bigint_t a, unsigned long
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/mpi.c:303,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:303,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: wrap_nettle_mpi_sub_ui
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_sub_ui
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_sub_ui(bigint_t w, const bigint_t a, unsigned long
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mul_ui
      Src: /src/gnutls/lib/nettle/mpi.c:310,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:310,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - w
    - a
    - b
    argTypes:
    - bigint_t
    - bigint_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: wrap_nettle_mpi_mul_ui
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mpi_mul_ui(bigint_t w, const bigint_t a, unsigned long
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_probab_prime_p
      Src: /src/gnutls/lib/nettle/mpi.c:319,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/mpi.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pp
    argTypes:
    - bigint_t
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: wrap_nettle_prime_check
    functionSourceFile: /src/gnutls/lib/nettle/mpi.c
    functionUses: 0
    functionsReached:
    - mpz_probab_prime_p
    - TOMPZ
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_prime_check(bigint_t pp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:57,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:58,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: _rnd_get_system_entropy_win32
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-bcrypt.c
    functionUses: 0
    functionsReached:
    - BCRYPT_SUCCESS
    - _gnutls_debug_log
    - BCryptGenRandom
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_win32(void *rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BCryptOpenAlgorithmProvider
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:68,1
    - Dst: BCRYPT_SUCCESS
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:70,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: _rnd_system_entropy_init
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-bcrypt.c
    functionUses: 2
    functionsReached:
    - BCRYPT_SUCCESS
    - _gnutls_debug_log
    - BCryptOpenAlgorithmProvider
    linkageType: ''
    returnType: int
    signature: int _rnd_system_entropy_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BCryptCloseAlgorithmProvider
      Src: /src/gnutls/lib/nettle/sysrng-bcrypt.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: _rnd_system_entropy_deinit
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-bcrypt.c
    functionUses: 2
    functionsReached:
    - BCryptCloseAlgorithmProvider
    linkageType: ''
    returnType: void
    signature: void _rnd_system_entropy_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getentropy
      Src: /src/gnutls/lib/nettle/sysrng-getentropy.c:57,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/sysrng-getentropy.c:59,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-getentropy.c:60,1
    - Dst: strerror
      Src: /src/gnutls/lib/nettle/sysrng-getentropy.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - _rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: _rnd_get_system_entropy_simple
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-getentropy.c
    functionUses: 0
    functionsReached:
    - getentropy
    - _gnutls_debug_log
    - gnutls_assert
    - strerror
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_simple(void *_rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: _rnd_system_entropy_init
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-getentropy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _rnd_system_entropy_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: _rnd_system_entropy_deinit
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-getentropy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _rnd_system_entropy_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:48,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - xsubi
    - buffer
    argTypes:
    - unsigned short int[]
    - struct r48_rand_data*
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: __r48_rand_iterate
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - unlikely
    - no_sanitize
    linkageType: ''
    returnType: int
    signature: int __r48_rand_iterate(unsigned short int xsubi[3], struct r48_rand_data
      *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:81,1
    - Dst: __r48_rand_iterate
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xsubi
    - buffer
    - result
    argTypes:
    - unsigned short int[]
    - struct r48_rand_data*
    - long int*
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: r48_r
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - __r48_rand_iterate
    - no_sanitize
    linkageType: ''
    returnType: int
    signature: "int r48_r(unsigned short int xsubi[3], struct r48_rand_data *buffer,\n
      \     long int *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: r48_r
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - result
    argTypes:
    - struct r48_rand_data*
    - long int*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: r48
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - r48_r
    linkageType: ''
    returnType: int
    signature: int r48(struct r48_rand_data *buffer, long int *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: _rngfuzz_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int _rngfuzz_init(void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:120,1
    - Dst: r48
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - _ctx
    - level
    - buffer
    - length
    argTypes:
    - void*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: _rngfuzz_rnd
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - r48
    - memset
    linkageType: ''
    returnType: int
    signature: int _rngfuzz_rnd(void *_ctx, int level, void *buffer, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnutls/lib/nettle/rnd-fuzzer.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: _rngfuzz_deinit
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _rngfuzz_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: _rngfuzz_refresh
    functionSourceFile: /src/gnutls/lib/nettle/rnd-fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _rngfuzz_refresh(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:84,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: rnd_key_func
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_lib_state
    - gnutls_rnd
    linkageType: ''
    returnType: void
    signature: void rnd_key_func(void *_ctx, size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:91,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: rnd_tmpkey_func
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_lib_state
    - gnutls_rnd
    linkageType: ''
    returnType: void
    signature: void rnd_tmpkey_func(void *_ctx, size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:98,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: rnd_nonce_func
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_lib_state
    - gnutls_rnd
    linkageType: ''
    returnType: void
    signature: void rnd_nonce_func(void *_ctx, size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/pk.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: rnd_mpz_func
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_get_str_256
    linkageType: ''
    returnType: void
    signature: void rnd_mpz_func(void *_ctx, size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:111,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:111,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:112,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/pk.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: rnd_nonce_func_fallback
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - memset
    - unlikely
    - _gnutls_switch_lib_state
    - _gnutls_get_lib_state
    linkageType: ''
    returnType: void
    signature: void rnd_nonce_func_fallback(void *_ctx, size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/pk.c:120,1
    - Dst: ecc_size
      Src: /src/gnutls/lib/nettle/pk.c:120,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ecc_scalar*
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: ecc_scalar_zclear
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_size
    - ecc_scalar_clear
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void ecc_scalar_zclear(struct ecc_scalar *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/pk.c:126,1
    - Dst: ecc_size_a
      Src: /src/gnutls/lib/nettle/pk.c:126,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ecc_point_zclear
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_point_clear
    - ecc_size_a
    - zeroize_key
    linkageType: ''
    returnType: void
    signature: void ecc_point_zclear(struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:133,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:136,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pk_params
    - pub
    argTypes:
    - gnutls_pk_params_st*
    - struct dsa_params*
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: _dsa_params_get
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _dsa_params_get(const gnutls_pk_params_st *pk_params,\n\t\t\t
      \   struct dsa_params *pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:143,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:144,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:145,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:146,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:147,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:148,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/pk.c:151,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pk_params
    - priv
    argTypes:
    - gnutls_pk_params_st*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: _rsa_params_to_privkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - memcpy
    - nettle_mpz_sizeinbase_256_u
    - TOMPZ
    linkageType: ''
    returnType: void
    signature: "void _rsa_params_to_privkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      \  struct rsa_private_key *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:159,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:160,1
    - Dst: rsa_public_key_prepare
      Src: /src/gnutls/lib/nettle/pk.c:161,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pk_params
    - pub
    argTypes:
    - gnutls_pk_params_st*
    - struct rsa_public_key*
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: _rsa_params_to_pubkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    - rsa_public_key_prepare
    linkageType: ''
    returnType: int
    signature: "int _rsa_params_to_pubkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      struct rsa_public_key *pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:171,1
    - Dst: ecc_scalar_set
      Src: /src/gnutls/lib/nettle/pk.c:172,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:173,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pk_params
    - priv
    - curve
    argTypes:
    - gnutls_pk_params_st*
    - struct ecc_scalar*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: _ecc_params_to_privkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - ecc_scalar_clear
    - gnutls_assert_val
    - ecc_scalar_set
    linkageType: ''
    returnType: int
    signature: "int _ecc_params_to_privkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      \ struct ecc_scalar *priv,\n\t\t\t\t  const struct ecc_curve *curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:184,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:185,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:187,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pk_params
    - pub
    - curve
    argTypes:
    - gnutls_pk_params_st*
    - struct ecc_point*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: _ecc_params_to_pubkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_point_set
    - gnutls_assert_val
    - ecc_point_init
    - ecc_point_clear
    linkageType: ''
    returnType: int
    signature: "int _ecc_params_to_pubkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      struct ecc_point *pub,\n\t\t\t\t const struct ecc_curve *curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:199,1
    - Dst: ecc_scalar_set
      Src: /src/gnutls/lib/nettle/pk.c:200,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:201,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pk_params
    - priv
    - curve
    argTypes:
    - gnutls_pk_params_st*
    - struct ecc_scalar*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: _gost_params_to_privkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - ecc_scalar_clear
    - gnutls_assert_val
    - ecc_scalar_set
    linkageType: ''
    returnType: int
    signature: "int _gost_params_to_privkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      \  struct ecc_scalar *priv,\n\t\t\t\t   const struct ecc_curve *curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:212,1
    - Dst: gost_point_set
      Src: /src/gnutls/lib/nettle/pk.c:213,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:215,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pk_params
    - pub
    - curve
    argTypes:
    - gnutls_pk_params_st*
    - struct ecc_point*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: _gost_params_to_pubkey
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - ecc_point_init
    - ecc_point_clear
    - gost_point_set
    linkageType: ''
    returnType: int
    signature: "int _gost_params_to_pubkey(const gnutls_pk_params_st *pk_params,\n\t\t\t\t
      \ struct ecc_point *pub,\n\t\t\t\t  const struct ecc_curve *curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:231,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:232,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:233,1
    - Dst: ecc_point_mul
      Src: /src/gnutls/lib/nettle/pk.c:235,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:237,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:242,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:242,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:243,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/pk.c:247,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:250,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:251,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - private_key
    - public_key
    - out
    - size
    argTypes:
    - struct ecc_scalar*
    - struct ecc_point*
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: ecc_shared_secret
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_point_clear
    - nettle_mpz_get_str_256
    - ecc_point_get
    - ecc_point_init
    - mpz_init
    - mpz_clear
    - gnutls_assert_val
    - mpz_cmp_ui
    - ecc_point_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_shared_secret(struct ecc_scalar *private_key,\n\t\t\t     struct
      ecc_point *public_key, void *out,\n\t\t\t     unsigned size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_mul
      Src: /src/gnutls/lib/nettle/pk.c:269,1
    - Dst: curve448_mul
      Src: /src/gnutls/lib/nettle/pk.c:272,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - algo
    - q
    - n
    - p
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: edwards_curve_mul
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - curve448_mul
    - gnutls_assert_val
    - curve25519_mul
    linkageType: ''
    returnType: int
    signature: "int edwards_curve_mul(gnutls_pk_algorithm_t algo, uint8_t *q,\n\t\t\t\t
      \   const uint8_t *n, const uint8_t *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:299,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:308,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:310,1
    - Dst: _gnutls_mpi_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:314,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:316,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:321,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:322,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:323,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:324,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/nettle/pk.c:331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:333,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:336,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:338,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:343,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:345,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/nettle/pk.c:351,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:353,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/nettle/pk.c:362,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:364,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:369,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:370,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:371,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:372,1
    - Dst: _gnutls_mpi_dprint_size
      Src: /src/gnutls/lib/nettle/pk.c:378,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/nettle/pk.c:380,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:384,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:390,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:391,1
    - Dst: zrelease_temp_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:392,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:410,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:414,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:416,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:425,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:426,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:427,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:428,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:429,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:430,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:432,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:433,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:434,1
    - Dst: _ecc_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:436,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:438,1
    - Dst: _ecc_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:442,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:444,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:445,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/nettle/pk.c:449,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:451,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:453,1
    - Dst: ecc_shared_secret
      Src: /src/gnutls/lib/nettle/pk.c:466,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:469,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:473,1
    - Dst: ecc_point_mul
      Src: /src/gnutls/lib/nettle/pk.c:476,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:477,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:486,1
    - Dst: get_supported_nist_curve_order
      Src: /src/gnutls/lib/nettle/pk.c:502,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:503,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:504,1
    - Dst: mpz_set_str
      Src: /src/gnutls/lib/nettle/pk.c:509,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:510,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:511,1
    - Dst: get_supported_nist_curve_modulus
      Src: /src/gnutls/lib/nettle/pk.c:516,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:517,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:518,1
    - Dst: mpz_set_str
      Src: /src/gnutls/lib/nettle/pk.c:523,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:524,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:525,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:531,1
    - Dst: ecc_scalar_set
      Src: /src/gnutls/lib/nettle/pk.c:532,1
    - Dst: ecc_point_mul
      Src: /src/gnutls/lib/nettle/pk.c:533,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:534,1
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/pk.c:535,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:537,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:537,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:538,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:548,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:549,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:551,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:552,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:553,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:554,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:555,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:556,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:557,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:558,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:559,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:572,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:579,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:583,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:585,1
    - Dst: edwards_curve_mul
      Src: /src/gnutls/lib/nettle/pk.c:591,1
    - Dst: _gnutls_mem_is_zero
      Src: /src/gnutls/lib/nettle/pk.c:596,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:597,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:598,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:617,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:619,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:625,1
    - Dst: _gost_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:630,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:632,1
    - Dst: _gost_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:636,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:638,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:639,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/nettle/pk.c:643,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:644,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:646,1
    - Dst: gostdsa_vko
      Src: /src/gnutls/lib/nettle/pk.c:650,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:654,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:655,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:662,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:671,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:673,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:675,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 307
    argCount: 6
    argNames:
    - algo
    - out
    - priv
    - pub
    - nonce
    - flags
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_pk_params_st*
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 679
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 679
    functionName: _wrap_nettle_pk_derive
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_point_clear
    - get_supported_nist_curve_order
    - gnutls_malloc
    - ecc_scalar_zclear
    - _gnutls_mpi_cmp_ui
    - get_supported_nist_curve
    - edwards_curve_mul
    - _gnutls_mpi_dprint
    - _gnutls_mpi_release
    - gnutls_assert_val
    - ecc_scalar_init
    - _gnutls_mpi_get_nbits
    - get_supported_gost_curve
    - ecc_point_get
    - ecc_point_set
    - unlikely
    - _ecc_params_to_pubkey
    - _gnutls_fips_mode_enabled
    - _gnutls_mpi_cmp
    - ecc_point_mul
    - mpz_sub
    - _gnutls_switch_fips_state
    - ecc_scalar_set
    - _gnutls_mpi_init_multi
    - get_supported_nist_curve_modulus
    - mpz_cmp
    - gostdsa_vko
    - mpz_set_str
    - _gnutls_mpi_powm
    - _ecc_params_to_privkey
    - gnutls_free
    - _gnutls_mem_is_zero
    - ecc_shared_secret
    - mpz_sub_ui
    - zrelease_temp_mpi_key
    - ecc_point_init
    - _gnutls_mpi_dprint_size
    - ecc_scalar_clear
    - _gost_params_to_pubkey
    - mpz_init
    - mpz_clear
    - _gost_params_to_privkey
    - _gnutls_mpi_sub_ui
    - gnutls_assert
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_derive(gnutls_pk_algorithm_t algo,\n\t\t\t\t  gnutls_datum_t
      *out,\n\t\t\t\t  const gnutls_pk_params_st *priv,\n\t\t\t\t  const gnutls_pk_params_st
      *pub,\n\t\t\t\t  const gnutls_datum_t *nonce,\n\t\t\t\t  unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:691,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:698,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:700,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:704,1
    - Dst: rsa_encrypt
      Src: /src/gnutls/lib/nettle/pk.c:708,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:710,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:711,1
    - Dst: _gnutls_mpi_dprint_size
      Src: /src/gnutls/lib/nettle/pk.c:715,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:717,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:724,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:733,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:735,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:738,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - algo
    - ciphertext
    - plaintext
    - pk_params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 742
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 742
    functionName: _wrap_nettle_pk_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - _rsa_params_to_pubkey
    - rsa_encrypt
    - HAVE_LIB_ERROR
    - _gnutls_mpi_dprint_size
    - mpz_init
    - _gnutls_get_lib_state
    - mpz_clear
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_encrypt(gnutls_pk_algorithm_t algo,\n\t\t\t\t
      \  gnutls_datum_t *ciphertext,\n\t\t\t\t   const gnutls_datum_t *plaintext,\n\t\t\t\t
      \  const gnutls_pk_params_st *pk_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rsa_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:764,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:765,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:767,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:772,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:776,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:778,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:783,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:785,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:789,1
    - Dst: rsa_decrypt_tr
      Src: /src/gnutls/lib/nettle/pk.c:793,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:794,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:795,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:798,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:799,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:806,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:815,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:816,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:818,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - algo
    - plaintext
    - ciphertext
    - pk_params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 823
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 823
    functionName: _wrap_nettle_pk_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _gnutls_switch_fips_state
    - _rsa_params_to_pubkey
    - HAVE_LIB_ERROR
    - _rsa_params_to_privkey
    - gnutls_assert
    - gnutls_malloc
    - TOMPZ
    - _gnutls_mpi_init_scan_nz
    - _gnutls_get_lib_state
    - _gnutls_mpi_release
    - rsa_decrypt_tr
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_decrypt(gnutls_pk_algorithm_t algo,\n\t\t\t\t
      \  gnutls_datum_t *plaintext,\n\t\t\t\t   const gnutls_datum_t *ciphertext,\n\t\t\t\t
      \  const gnutls_pk_params_st *pk_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:844,1
    - Dst: _rsa_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:848,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:849,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:851,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:856,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:860,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:862,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:866,1
    - Dst: rsa_sec_decrypt
      Src: /src/gnutls/lib/nettle/pk.c:870,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:871,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:877,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:882,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:885,1
    - Dst: CONSTCHECK_NOT_EQUAL
      Src: /src/gnutls/lib/nettle/pk.c:887,1
    - Dst: CONSTCHECK_EQUAL
      Src: /src/gnutls/lib/nettle/pk.c:889,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:894,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - algo
    - ciphertext
    - plaintext
    - plaintext_size
    - pk_params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - unsigned char*
    - size_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 897
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 897
    functionName: _wrap_nettle_pk_decrypt2
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - _rsa_params_to_pubkey
    - HAVE_LIB_ERROR
    - CONSTCHECK_NOT_EQUAL
    - _rsa_params_to_privkey
    - TOMPZ
    - rsa_sec_decrypt
    - _gnutls_mpi_release
    - _gnutls_mpi_init_scan_nz
    - _gnutls_get_lib_state
    - gnutls_assert_val
    - CONSTCHECK_EQUAL
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_decrypt2(gnutls_pk_algorithm_t algo,\n\t\t\t\t
      \   const gnutls_datum_t *ciphertext,\n\t\t\t\t    unsigned char *plaintext,\n\t\t\t\t
      \   size_t plaintext_size,\n\t\t\t\t    const gnutls_pk_params_st *pk_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:932,1
    - Dst: CHECK_INVALID_RSA_PSS_PARAMS
      Src: /src/gnutls/lib/nettle/pk.c:937,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:941,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:943,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:945,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:947,1
    - Dst: sign_func
      Src: /src/gnutls/lib/nettle/pk.c:952,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:955,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 8
    argNames:
    - dig
    - pub
    - priv
    - rnd_ctx
    - rnd_func
    - salt_size
    - digest
    - s
    argTypes:
    - gnutls_digest_algorithm_t
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 963
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 963
    functionName: _rsa_pss_sign_digest_tr
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - sign_func
    - gnutls_assert
    - gnutls_rnd
    - gnutls_malloc
    - CHECK_INVALID_RSA_PSS_PARAMS
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _rsa_pss_sign_digest_tr(gnutls_digest_algorithm_t dig,\n\t\t\t\t
      \  const struct rsa_public_key *pub,\n\t\t\t\t   const struct rsa_private_key
      *priv,\n\t\t\t\t   void *rnd_ctx, nettle_random_func *rnd_func,\n\t\t\t\t   size_t
      salt_size, const uint8_t *digest,\n\t\t\t\t   mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 975
    functionName: get_eddsa_curve
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t get_eddsa_curve(gnutls_pk_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 987
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 987
    functionName: get_ecdh_curve
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t get_ecdh_curve(gnutls_pk_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sha512_sign
      Src: /src/gnutls/lib/nettle/pk.c:995,1
    - Dst: ed448_shake256_sign
      Src: /src/gnutls/lib/nettle/pk.c:998,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - algo
    - pub
    - priv
    - length
    - msg
    - signature
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1004
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1004
    functionName: eddsa_sign
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ed25519_sha512_sign
    - gnutls_assert_val
    - ed448_shake256_sign
    linkageType: ''
    returnType: int
    signature: "int eddsa_sign(gnutls_pk_algorithm_t algo, const uint8_t *pub,\n\t\t\t
      \    const uint8_t *priv, size_t length,\n\t\t\t     const uint8_t *msg, uint8_t
      *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EC
      Src: /src/gnutls/lib/nettle/pk.c:1028,1
    - Dst: gnutls_ecc_curve_get_pk
      Src: /src/gnutls/lib/nettle/pk.c:1028,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1029,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:1037,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:1038,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1039,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1051,1
    - Dst: get_eddsa_curve
      Src: /src/gnutls/lib/nettle/pk.c:1051,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1052,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/nettle/pk.c:1056,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1058,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:1062,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1064,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1072,1
    - Dst: eddsa_sign
      Src: /src/gnutls/lib/nettle/pk.c:1076,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:1095,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1097,1
    - Dst: _ecc_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:1101,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1103,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/nettle/pk.c:1109,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/nettle/pk.c:1109,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/nettle/pk.c:1110,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/pk.c:1111,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/nettle/pk.c:1113,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/nettle/pk.c:1114,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1115,1
    - Dst: dsa_signature_init
      Src: /src/gnutls/lib/nettle/pk.c:1119,1
    - Dst: gostdsa_sign
      Src: /src/gnutls/lib/nettle/pk.c:1121,1
    - Dst: _gnutls_encode_gost_rs
      Src: /src/gnutls/lib/nettle/pk.c:1124,1
    - Dst: ecc_bit_size
      Src: /src/gnutls/lib/nettle/pk.c:1125,1
    - Dst: dsa_signature_clear
      Src: /src/gnutls/lib/nettle/pk.c:1127,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:1128,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1131,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:1147,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1149,1
    - Dst: _ecc_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:1158,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1160,1
    - Dst: dsa_signature_init
      Src: /src/gnutls/lib/nettle/pk.c:1164,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/nettle/pk.c:1166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1169,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/pk.c:1170,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/nettle/pk.c:1172,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/nettle/pk.c:1177,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:1187,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:1188,1
    - Dst: _gnutls_ecdsa_compute_k
      Src: /src/gnutls/lib/nettle/pk.c:1190,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/nettle/pk.c:1192,1
    - Dst: ecdsa_sign
      Src: /src/gnutls/lib/nettle/pk.c:1202,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:1206,1
    - Dst: _gnutls_encode_ber_rs
      Src: /src/gnutls/lib/nettle/pk.c:1211,1
    - Dst: dsa_signature_clear
      Src: /src/gnutls/lib/nettle/pk.c:1214,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:1215,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:1216,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1219,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/pk.c:1236,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/pk.c:1237,1
    - Dst: _dsa_params_get
      Src: /src/gnutls/lib/nettle/pk.c:1238,1
    - Dst: dsa_signature_init
      Src: /src/gnutls/lib/nettle/pk.c:1242,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/nettle/pk.c:1244,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1247,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/pk.c:1248,1
    - Dst: _gnutls_mac_get_name
      Src: /src/gnutls/lib/nettle/pk.c:1250,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:1255,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:1256,1
    - Dst: _gnutls_dsa_compute_k
      Src: /src/gnutls/lib/nettle/pk.c:1258,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:1259,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/nettle/pk.c:1260,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:1265,1
    - Dst: dsa_sign
      Src: /src/gnutls/lib/nettle/pk.c:1272,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:1272,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:1274,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1275,1
    - Dst: _gnutls_encode_ber_rs
      Src: /src/gnutls/lib/nettle/pk.c:1280,1
    - Dst: dsa_signature_clear
      Src: /src/gnutls/lib/nettle/pk.c:1283,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:1284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1287,1
    - Dst: _rsa_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:1298,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1300,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1302,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1310,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/pk.c:1310,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:1314,1
    - Dst: _gnutls_get_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:1316,1
    - Dst: rsa_pkcs1_sign_tr
      Src: /src/gnutls/lib/nettle/pk.c:1320,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:1322,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1323,1
    - Dst: _gnutls_mpi_dprint_size
      Src: /src/gnutls/lib/nettle/pk.c:1328,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:1331,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1334,1
    - Dst: _rsa_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:1345,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1347,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1349,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1359,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/pk.c:1359,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:1363,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/nettle/pk.c:1365,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/nettle/pk.c:1370,1
    - Dst: _rsa_pss_sign_digest_tr
      Src: /src/gnutls/lib/nettle/pk.c:1374,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1379,1
    - Dst: _gnutls_mpi_dprint_size
      Src: /src/gnutls/lib/nettle/pk.c:1384,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:1387,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1390,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1397,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1406,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1408,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1410,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 274
    argCount: 5
    argNames:
    - algo
    - signature
    - vdata
    - pk_params
    - sign_params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1415
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1415
    functionName: _wrap_nettle_pk_sign
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - get_eddsa_curve
    - hash_to_entry
    - gnutls_malloc
    - ecc_scalar_zclear
    - get_supported_nist_curve
    - _gnutls_get_lib_state
    - ecdsa_sign
    - TOMPZ
    - eddsa_sign
    - _gnutls_encode_gost_rs
    - mpz_sizeinbase
    - gnutls_assert_val
    - gostdsa_sign
    - get_supported_gost_curve
    - HAVE_LIB_ERROR
    - _gnutls_dsa_q_to_hash
    - DIG_TO_MAC
    - rsa_pkcs1_sign_tr
    - dsa_signature_clear
    - _gnutls_mac_get_algo_len
    - ecc_bit_size
    - _dsa_params_get
    - unlikely
    - _gnutls_mac_get_name
    - memset
    - _gnutls_debug_log
    - _rsa_pss_sign_digest_tr
    - _gnutls_fips_mode_enabled
    - dsa_sign
    - IS_EC
    - _gnutls_switch_fips_state
    - _gnutls_gost_digest
    - _rsa_params_to_pubkey
    - _ecc_params_to_privkey
    - gnutls_ecc_curve_get_pk
    - mpz_sub_ui
    - _rsa_params_to_privkey
    - _gnutls_dsa_compute_k
    - _gnutls_mpi_dprint_size
    - dsa_signature_init
    - mpz_init
    - _gnutls_encode_ber_rs
    - mpz_clear
    - _gnutls_ecdsa_compute_k
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_sign(gnutls_pk_algorithm_t algo,\n\t\t\t\tgnutls_datum_t
      *signature,\n\t\t\t\tconst gnutls_datum_t *vdata,\n\t\t\t\tconst gnutls_pk_params_st
      *pk_params,\n\t\t\t\tconst gnutls_x509_spki_st *sign_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1440,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1445,1
    - Dst: CHECK_INVALID_RSA_PSS_PARAMS
      Src: /src/gnutls/lib/nettle/pk.c:1447,1
    - Dst: verify_func
      Src: /src/gnutls/lib/nettle/pk.c:1449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - dig
    - pub
    - salt_size
    - digest
    - digest_size
    - s
    argTypes:
    - gnutls_digest_algorithm_t
    - struct rsa_public_key*
    - size_t
    - uint8_t*
    - size_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1450
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1450
    functionName: _rsa_pss_verify_digest
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - verify_func
    - gnutls_assert_val
    - gnutls_assert
    - CHECK_INVALID_RSA_PSS_PARAMS
    linkageType: ''
    returnType: int
    signature: "int _rsa_pss_verify_digest(gnutls_digest_algorithm_t dig,\n\t\t\t\t
      \ const struct rsa_public_key *pub,\n\t\t\t\t  size_t salt_size, const uint8_t
      *digest,\n\t\t\t\t  size_t digest_size, const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sha512_verify
      Src: /src/gnutls/lib/nettle/pk.c:1460,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1462,1
    - Dst: ed448_shake256_verify
      Src: /src/gnutls/lib/nettle/pk.c:1465,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - algo
    - pub
    - length
    - msg
    - signature
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1473
    functionName: eddsa_verify
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ed25519_sha512_verify
    - ed448_shake256_verify
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int eddsa_verify(gnutls_pk_algorithm_t algo, const uint8_t *pub,\n\t\t\t
      \      size_t length, const uint8_t *msg,\n\t\t\t       const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EC
      Src: /src/gnutls/lib/nettle/pk.c:1489,1
    - Dst: gnutls_ecc_curve_get_pk
      Src: /src/gnutls/lib/nettle/pk.c:1489,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1490,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1502,1
    - Dst: get_eddsa_curve
      Src: /src/gnutls/lib/nettle/pk.c:1502,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1503,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/nettle/pk.c:1507,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1509,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1514,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1519,1
    - Dst: eddsa_verify
      Src: /src/gnutls/lib/nettle/pk.c:1523,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:1539,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1541,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/nettle/pk.c:1547,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/nettle/pk.c:1547,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/nettle/pk.c:1548,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1549,1
    - Dst: _gnutls_decode_gost_rs
      Src: /src/gnutls/lib/nettle/pk.c:1553,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1555,1
    - Dst: _gost_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1559,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1561,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1565,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1566,1
    - Dst: gostdsa_verify
      Src: /src/gnutls/lib/nettle/pk.c:1568,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1570,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:1575,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:1586,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1588,1
    - Dst: _gnutls_decode_ber_rs
      Src: /src/gnutls/lib/nettle/pk.c:1592,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1594,1
    - Dst: _ecc_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1598,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1600,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1604,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1605,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/nettle/pk.c:1607,1
    - Dst: DIG_TO_MAC
      Src: /src/gnutls/lib/nettle/pk.c:1614,1
    - Dst: ecdsa_verify
      Src: /src/gnutls/lib/nettle/pk.c:1625,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1627,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:1632,1
    - Dst: _gnutls_decode_ber_rs
      Src: /src/gnutls/lib/nettle/pk.c:1644,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1646,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/pk.c:1649,1
    - Dst: _dsa_params_get
      Src: /src/gnutls/lib/nettle/pk.c:1650,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1653,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:1654,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/nettle/pk.c:1656,1
    - Dst: dsa_verify
      Src: /src/gnutls/lib/nettle/pk.c:1661,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:1661,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1663,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1674,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1676,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/pk.c:1680,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1690,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1696,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:1700,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1703,1
    - Dst: rsa_pkcs1_verify
      Src: /src/gnutls/lib/nettle/pk.c:1707,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:1708,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1710,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1722,1
    - Dst: _rsa_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:1726,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1728,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:1738,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/pk.c:1738,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1743,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:1747,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1750,1
    - Dst: _rsa_pss_verify_digest
      Src: /src/gnutls/lib/nettle/pk.c:1754,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:1757,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:1759,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:1766,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1773,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1775,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:1777,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:1780,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:1781,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 221
    argCount: 5
    argNames:
    - algo
    - vdata
    - signature
    - pk_params
    - sign_params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_pk_params_st*
    - gnutls_x509_spki_st*
    constantsTouched: []
    func_position:
      end: 1784
      start: 1475
    functionDepth: 5
    functionLinenumber: 1475
    functionLinenumberEnd: 1784
    functionName: _wrap_nettle_pk_verify
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - _gnutls_decode_gost_rs
    - ecc_point_clear
    - get_eddsa_curve
    - gostdsa_verify
    - hash_to_entry
    - get_supported_nist_curve
    - TOMPZ
    - mpz_sizeinbase
    - _gnutls_mpi_release
    - eddsa_verify
    - gnutls_assert_val
    - get_supported_gost_curve
    - _gnutls_dsa_q_to_hash
    - DIG_TO_MAC
    - _gnutls_mac_get_algo_len
    - _dsa_params_get
    - unlikely
    - memset
    - _ecc_params_to_pubkey
    - IS_EC
    - ecdsa_verify
    - _gnutls_gost_digest
    - _rsa_params_to_pubkey
    - _gnutls_switch_fips_state
    - _gnutls_decode_ber_rs
    - _rsa_pss_verify_digest
    - rsa_pkcs1_verify
    - gnutls_ecc_curve_get_pk
    - dsa_verify
    - _gost_params_to_pubkey
    - _gnutls_mpi_init_scan_nz
    - memcpy
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,\n\t\t\t\t  const
      gnutls_datum_t *vdata,\n\t\t\t\t  const gnutls_datum_t *signature,\n\t\t\t\t
      \ const gnutls_pk_params_st *pk_params,\n\t\t\t\t  const gnutls_x509_spki_st
      *sign_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_get_secp_192r1
      Src: /src/gnutls/lib/nettle/pk.c:1791,1
    - Dst: nettle_get_secp_224r1
      Src: /src/gnutls/lib/nettle/pk.c:1793,1
    - Dst: nettle_get_secp_256r1
      Src: /src/gnutls/lib/nettle/pk.c:1796,1
    - Dst: nettle_get_secp_384r1
      Src: /src/gnutls/lib/nettle/pk.c:1798,1
    - Dst: nettle_get_secp_521r1
      Src: /src/gnutls/lib/nettle/pk.c:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1804
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1804
    functionName: get_supported_nist_curve
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 3
    functionsReached:
    - nettle_get_secp_224r1
    - nettle_get_secp_192r1
    - nettle_get_secp_256r1
    - nettle_get_secp_521r1
    - nettle_get_secp_384r1
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *get_supported_nist_curve(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1838
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1838
    functionName: get_supported_nist_curve_order
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_supported_nist_curve_order(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1873
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1873
    functionName: get_supported_nist_curve_modulus
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_supported_nist_curve_modulus(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_get_gost_gc256b
      Src: /src/gnutls/lib/nettle/pk.c:1882,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/gnutls/lib/nettle/pk.c:1884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curve
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1889
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1889
    functionName: get_supported_gost_curve
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 3
    functionsReached:
    - nettle_get_gost_gc256b
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *get_supported_gost_curve(int curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:1900,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 1905
      start: 1891
    functionDepth: 2
    functionLinenumber: 1891
    functionLinenumberEnd: 1905
    functionName: _wrap_nettle_pk_curve_exists
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - get_supported_nist_curve
    - get_supported_gost_curve
    linkageType: ''
    returnType: int
    signature: int _wrap_nettle_pk_curve_exists(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - pk
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 1928
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1928
    functionName: _wrap_nettle_pk_exists
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _wrap_nettle_pk_exists(gnutls_pk_algorithm_t pk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 1989
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1989
    functionName: _wrap_nettle_pk_sign_exists
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _wrap_nettle_pk_sign_exists(gnutls_sign_algorithm_t sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2014,1
    - Dst: GNUTLS_BITS_HAVE_SUBGROUP
      Src: /src/gnutls/lib/nettle/pk.c:2016,1
    - Dst: GNUTLS_BITS_TO_SUBGROUP
      Src: /src/gnutls/lib/nettle/pk.c:2017,1
    - Dst: GNUTLS_BITS_TO_GROUP
      Src: /src/gnutls/lib/nettle/pk.c:2018,1
    - Dst: _gnutls_pk_bits_to_subgroup_bits
      Src: /src/gnutls/lib/nettle/pk.c:2020,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2024,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:2026,1
    - Dst: _dsa_generate_dss_pqg
      Src: /src/gnutls/lib/nettle/pk.c:2042,1
    - Dst: dsa_generate_dss_pqg
      Src: /src/gnutls/lib/nettle/pk.c:2048,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:2054,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2055,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:2063,1
    - Dst: dsa_validate_dss_pqg
      Src: /src/gnutls/lib/nettle/pk.c:2068,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2070,1
    - Dst: dsa_generate_params
      Src: /src/gnutls/lib/nettle/pk.c:2078,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:2080,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2081,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:2089,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2093,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2098,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2098,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2099,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2099,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2100,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2100,1
    - Dst: dsa_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2105,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2126,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:2136,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 3
    argNames:
    - algo
    - level
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 2142
      start: 1996
    functionDepth: 2
    functionLinenumber: 1996
    functionLinenumberEnd: 2142
    functionName: wrap_nettle_pk_generate_params
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - dsa_params_clear
    - TOMPZ
    - _gnutls_mpi_release
    - gnutls_assert_val
    - _gnutls_pk_bits_to_subgroup_bits
    - GNUTLS_BITS_HAVE_SUBGROUP
    - HAVE_LIB_ERROR
    - dsa_generate_params
    - _gnutls_fips_mode_enabled
    - dsa_generate_dss_pqg
    - dsa_validate_dss_pqg
    - _gnutls_mpi_init_multi
    - _dsa_generate_dss_pqg
    - GNUTLS_BITS_TO_SUBGROUP
    - dsa_params_init
    - mpz_set
    - memcpy
    - GNUTLS_BITS_TO_GROUP
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pk_generate_params(gnutls_pk_algorithm_t algo,\n\t\t\t\t\t
      \ unsigned int level /*bits or curve */,\n\t\t\t\t\t  gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2167,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/nettle/pk.c:2168,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/nettle/pk.c:2169,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/nettle/pk.c:2177,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2180,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/nettle/pk.c:2183,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2185,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/nettle/pk.c:2189,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2191,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2198,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2199,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2201,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - dh_params
    - priv_key
    - pub_key
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2161
    functionDepth: 3
    functionLinenumber: 2161
    functionLinenumberEnd: 2204
    functionName: _gnutls_dh_generate_key
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - _gnutls_mpi_copy
    - gnutls_pk_params_clear
    - _gnutls_pk_generate_keys
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_mpi_dprint_lz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,\n\t\t\t
      \   gnutls_datum_t *priv_key, gnutls_datum_t *pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2216,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2220,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2224,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2226,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/nettle/pk.c:2230,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/nettle/pk.c:2231,1
    - Dst: _gnutls_mpi_copy
      Src: /src/gnutls/lib/nettle/pk.c:2233,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2235,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2237,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/nettle/pk.c:2243,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2245,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2251,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2252,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2253,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - dh_params
    - priv_key
    - pub_key
    - peer_key
    - Z
    argTypes:
    - gnutls_dh_params_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2256
      start: 2208
    functionDepth: 3
    functionLinenumber: 2208
    functionLinenumberEnd: 2256
    functionName: _gnutls_dh_compute_key
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached:
    - _gnutls_mpi_copy
    - gnutls_pk_params_clear
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_pk_derive
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dh_compute_key(gnutls_dh_params_t dh_params,\n\t\t\t   const
      gnutls_datum_t *priv_key,\n\t\t\t   const gnutls_datum_t *pub_key,\n\t\t\t   const
      gnutls_datum_t *peer_key, gnutls_datum_t *Z)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2264,1
    - Dst: _gnutls_pk_generate_keys
      Src: /src/gnutls/lib/nettle/pk.c:2273,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2275,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/nettle/pk.c:2278,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2280,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/nettle/pk.c:2284,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2286,1
    - Dst: _gnutls_mpi_dprint_lz
      Src: /src/gnutls/lib/nettle/pk.c:2290,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2292,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2299,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2300,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2301,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2303,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - curve
    - x
    - y
    - k
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2258
    functionDepth: 3
    functionLinenumber: 2258
    functionLinenumberEnd: 2306
    functionName: _gnutls_ecdh_generate_key
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_pk_params_clear
    - _gnutls_pk_generate_keys
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_mpi_dprint_lz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve, gnutls_datum_t
      *x,\n\t\t\t      gnutls_datum_t *y, gnutls_datum_t *k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2316,1
    - Dst: gnutls_pk_params_init
      Src: /src/gnutls/lib/nettle/pk.c:2321,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2326,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2328,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2332,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2334,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2338,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2340,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2344,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2346,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2350,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2352,1
    - Dst: _gnutls_pk_derive
      Src: /src/gnutls/lib/nettle/pk.c:2358,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2360,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2366,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2367,1
    - Dst: gnutls_pk_params_clear
      Src: /src/gnutls/lib/nettle/pk.c:2368,1
    - Dst: gnutls_pk_params_release
      Src: /src/gnutls/lib/nettle/pk.c:2369,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 7
    argNames:
    - curve
    - x
    - y
    - k
    - peer_x
    - peer_y
    - Z
    argTypes:
    - gnutls_ecc_curve_t
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 2371
      start: 2308
    functionDepth: 3
    functionLinenumber: 2308
    functionLinenumberEnd: 2371
    functionName: _gnutls_ecdh_compute_key
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 1
    functionsReached:
    - gnutls_pk_params_clear
    - gnutls_assert
    - gnutls_pk_params_release
    - _gnutls_pk_derive
    - _gnutls_mpi_init_scan_nz
    - gnutls_pk_params_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve, const gnutls_datum_t
      *x,\n\t\t\t     const gnutls_datum_t *y, const gnutls_datum_t *k,\n\t\t\t     const
      gnutls_datum_t *peer_x,\n\t\t\t     const gnutls_datum_t *peer_y, gnutls_datum_t
      *Z)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/pk.c:2389,1
    - Dst: _gnutls_dsa_q_to_hash
      Src: /src/gnutls/lib/nettle/pk.c:2395,1
    - Dst: MAC_TO_DIG
      Src: /src/gnutls/lib/nettle/pk.c:2396,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:2397,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:2398,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2426,1
    - Dst: gnutls_fips140_context_init
      Src: /src/gnutls/lib/nettle/pk.c:2439,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2440,1
    - Dst: gnutls_fips140_push_context
      Src: /src/gnutls/lib/nettle/pk.c:2443,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2444,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/lib/nettle/pk.c:2445,1
    - Dst: _gnutls_pk_encrypt
      Src: /src/gnutls/lib/nettle/pk.c:2449,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2451,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/pk.c:2454,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2455,1
    - Dst: _gnutls_pk_decrypt
      Src: /src/gnutls/lib/nettle/pk.c:2458,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2459,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/pk.c:2463,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2464,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:2467,1
    - Dst: gnutls_fips140_pop_context
      Src: /src/gnutls/lib/nettle/pk.c:2467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2468,1
    - Dst: gnutls_fips140_context_deinit
      Src: /src/gnutls/lib/nettle/pk.c:2470,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/pk.c:2476,1
    - Dst: _gnutls_pk_sign
      Src: /src/gnutls/lib/nettle/pk.c:2488,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2490,1
    - Dst: _gnutls_pk_verify
      Src: /src/gnutls/lib/nettle/pk.c:2494,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2496,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2497,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2514,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/pk.c:2515,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2515,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2516,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2517,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:2518,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:2518,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2518,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2519,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2520,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2523,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2531,1
    - Dst: _gnutls_switch_lib_state
      Src: /src/gnutls/lib/nettle/pk.c:2538,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2540,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2541,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2542,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 134
    argCount: 2
    argNames:
    - algo
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 2544
      start: 2373
    functionDepth: 3
    functionLinenumber: 2373
    functionLinenumberEnd: 2544
    functionName: pct_test
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_pk_sign
    - gnutls_rnd
    - gnutls_malloc
    - mpz_powm
    - TOMPZ
    - gnutls_assert_val
    - _gnutls_dsa_q_to_hash
    - gnutls_fips140_push_context
    - gnutls_fips140_context_init
    - free
    - memcmp
    - _gnutls_pk_encrypt
    - _gnutls_pk_decrypt
    - unlikely
    - _gnutls_pk_verify
    - gnutls_fips140_pop_context
    - mpz_cmp
    - gnutls_free
    - _gnutls_switch_lib_state
    - gnutls_fips140_context_deinit
    - mpz_init
    - MAC_TO_DIG
    - memcpy
    - mpz_clear
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int pct_test(gnutls_pk_algorithm_t algo,\n\t\t    const gnutls_pk_params_st
      *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sha512_public_key
      Src: /src/gnutls/lib/nettle/pk.c:2552,1
    - Dst: ed448_shake256_public_key
      Src: /src/gnutls/lib/nettle/pk.c:2555,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - algo
    - pub
    - priv
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2561
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2561
    functionName: eddsa_public_key
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ed25519_sha512_public_key
    - ed448_shake256_public_key
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int eddsa_public_key(gnutls_pk_algorithm_t algo, uint8_t *pub,\n\t\t\t\t
      \  const uint8_t *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: curve25519_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:2568,1
    - Dst: curve448_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:2571,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - algo
    - q
    - n
    argTypes:
    - gnutls_pk_algorithm_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2563
    functionDepth: 1
    functionLinenumber: 2563
    functionLinenumberEnd: 2576
    functionName: edwards_curve_mul_g
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - curve448_mul_g
    - gnutls_assert_val
    - curve25519_mul_g
    linkageType: ''
    returnType: int
    signature: "int edwards_curve_mul_g(gnutls_pk_algorithm_t algo, uint8_t *q,\n\t\t\t\t
      \     const uint8_t *n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/nettle/pk.c:2587,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2589,1
    - Dst: _gnutls_mpi_dprint
      Src: /src/gnutls/lib/nettle/pk.c:2593,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2595,1
    - Dst: _gnutls_dh_prime_match_fips_approved
      Src: /src/gnutls/lib/nettle/pk.c:2599,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2602,1
    - Dst: _gnutls_mpi_init_scan_nz
      Src: /src/gnutls/lib/nettle/pk.c:2606,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2607,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2611,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2611,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:2612,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2615,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:2616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pk_params
    - q
    argTypes:
    - gnutls_pk_params_st*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2619
      start: 2578
    functionDepth: 3
    functionLinenumber: 2578
    functionLinenumberEnd: 2619
    functionName: dh_find_q
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - mpz_set
    - TOMPZ
    - gnutls_assert
    - _gnutls_mpi_dprint
    - _gnutls_mpi_init_scan_nz
    - _gnutls_dh_prime_match_fips_approved
    - _gnutls_mpi_release
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int dh_find_q(const gnutls_pk_params_st *pk_params, mpz_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EC
      Src: /src/gnutls/lib/nettle/pk.c:2639,1
    - Dst: gnutls_ecc_curve_get_pk
      Src: /src/gnutls/lib/nettle/pk.c:2639,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2640,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:2655,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2664,1
    - Dst: _dsa_params_get
      Src: /src/gnutls/lib/nettle/pk.c:2669,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2671,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2672,1
    - Dst: dsa_generate_dss_keypair
      Src: /src/gnutls/lib/nettle/pk.c:2674,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:2676,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2677,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:2682,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2686,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2690,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2690,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2691,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2691,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2695,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2696,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2716,1
    - Dst: _dsa_params_get
      Src: /src/gnutls/lib/nettle/pk.c:2720,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2727,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2731,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2732,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2733,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2735,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2736,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2737,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2742,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:2743,1
    - Dst: nettle_mpz_random
      Src: /src/gnutls/lib/nettle/pk.c:2744,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/pk.c:2745,1
    - Dst: MIN
      Src: /src/gnutls/lib/nettle/pk.c:2749,1
    - Dst: DH_EXPONENT_SIZE
      Src: /src/gnutls/lib/nettle/pk.c:2750,1
    - Dst: nettle_mpz_random_size
      Src: /src/gnutls/lib/nettle/pk.c:2751,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/pk.c:2755,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/pk.c:2758,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2762,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:2767,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2768,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:2773,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:2776,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:2782,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:2784,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:2785,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2786,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2792,1
    - Dst: dh_find_q
      Src: /src/gnutls/lib/nettle/pk.c:2794,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/pk.c:2799,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:2800,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2801,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:2807,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2810,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2814,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2814,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2815,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2815,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2821,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2822,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2823,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2824,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2825,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:2826,1
    - Dst: rsa_public_key_init
      Src: /src/gnutls/lib/nettle/pk.c:2838,1
    - Dst: rsa_private_key_init
      Src: /src/gnutls/lib/nettle/pk.c:2839,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/pk.c:2841,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:2844,1
    - Dst: _rsa_generate_fips186_4_keypair
      Src: /src/gnutls/lib/nettle/pk.c:2855,1
    - Dst: rsa_generate_fips186_4_keypair
      Src: /src/gnutls/lib/nettle/pk.c:2869,1
    - Dst: rsa_generate_keypair
      Src: /src/gnutls/lib/nettle/pk.c:2878,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:2881,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2882,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/nettle/pk.c:2889,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:2891,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2901,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2901,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2902,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2902,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2903,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2903,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2904,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2904,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2905,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2905,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2906,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2906,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2907,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2907,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:2908,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:2908,1
    - Dst: rsa_private_key_clear
      Src: /src/gnutls/lib/nettle/pk.c:2913,1
    - Dst: rsa_public_key_clear
      Src: /src/gnutls/lib/nettle/pk.c:2914,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2929,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:2933,1
    - Dst: get_eddsa_curve
      Src: /src/gnutls/lib/nettle/pk.c:2933,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2934,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2939,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:2945,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2947,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:2951,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2953,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:2957,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2959,1
    - Dst: eddsa_public_key
      Src: /src/gnutls/lib/nettle/pk.c:2965,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2974,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:2985,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:2987,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2997,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2998,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:2999,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3000,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3001,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3002,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:3004,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3005,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:3006,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:3007,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3008,1
    - Dst: ecdsa_generate_keypair
      Src: /src/gnutls/lib/nettle/pk.c:3010,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:3011,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3012,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:3017,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3022,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3029,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/pk.c:3032,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:3044,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:3045,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3046,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:3057,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3058,1
    - Dst: get_supported_nist_curve_order
      Src: /src/gnutls/lib/nettle/pk.c:3074,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3075,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3076,1
    - Dst: mpz_set_str
      Src: /src/gnutls/lib/nettle/pk.c:3081,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3082,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3083,1
    - Dst: get_supported_nist_curve_modulus
      Src: /src/gnutls/lib/nettle/pk.c:3089,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3090,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3091,1
    - Dst: mpz_set_str
      Src: /src/gnutls/lib/nettle/pk.c:3096,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3097,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3098,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3104,1
    - Dst: ecc_scalar_set
      Src: /src/gnutls/lib/nettle/pk.c:3105,1
    - Dst: ecc_point_mul
      Src: /src/gnutls/lib/nettle/pk.c:3106,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3107,1
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/pk.c:3108,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3110,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3111,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3112,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:3121,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3121,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/pk.c:3122,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3122,1
    - Dst: ecc_scalar_get
      Src: /src/gnutls/lib/nettle/pk.c:3124,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3124,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3129,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3130,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3131,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3132,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3133,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3134,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3135,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:3136,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3137,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:3138,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:3139,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3151,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:3162,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3164,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/nettle/pk.c:3169,1
    - Dst: _gnutls_gost_digest
      Src: /src/gnutls/lib/nettle/pk.c:3169,1
    - Dst: ecc_bit_size
      Src: /src/gnutls/lib/nettle/pk.c:3170,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3171,1
    - Dst: ecc_scalar_init
      Src: /src/gnutls/lib/nettle/pk.c:3176,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3177,1
    - Dst: gostdsa_generate_keypair
      Src: /src/gnutls/lib/nettle/pk.c:3179,1
    - Dst: HAVE_LIB_ERROR
      Src: /src/gnutls/lib/nettle/pk.c:3181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3182,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:3187,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3192,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3199,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3199,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3200,1
    - Dst: ecc_scalar_get
      Src: /src/gnutls/lib/nettle/pk.c:3201,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3201,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3206,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:3207,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3222,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:3228,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3230,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:3234,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3236,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/pk.c:3240,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3242,1
    - Dst: edwards_curve_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3248,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3255,1
    - Dst: pct_test
      Src: /src/gnutls/lib/nettle/pk.c:3262,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3264,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:3271,1
    - Dst: _gnutls_mpi_release
      Src: /src/gnutls/lib/nettle/pk.c:3273,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:3276,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:3277,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:3279,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/pk.c:3281,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 467
    argCount: 4
    argNames:
    - algo
    - level
    - params
    - ephemeral
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    - gnutls_pk_params_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 3286
      start: 2624
    functionDepth: 4
    functionLinenumber: 2624
    functionLinenumberEnd: 3286
    functionName: wrap_nettle_pk_generate_keys
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - rsa_public_key_clear
    - ecc_point_clear
    - get_eddsa_curve
    - rsa_private_key_init
    - gnutls_malloc
    - gnutls_rnd
    - get_supported_nist_curve
    - ecdsa_generate_keypair
    - hash_to_entry
    - TOMPZ
    - mpz_powm
    - eddsa_public_key
    - _gnutls_mpi_release
    - gnutls_assert_val
    - mpz_cmp_ui
    - rsa_generate_fips186_4_keypair
    - DH_EXPONENT_SIZE
    - ecc_scalar_init
    - rsa_public_key_init
    - HAVE_LIB_ERROR
    - ecc_scalar_get
    - get_supported_gost_curve
    - nettle_mpz_random_size
    - _rsa_generate_fips186_4_keypair
    - ecc_point_get
    - ecc_bit_size
    - ecc_point_set
    - _dsa_params_get
    - unlikely
    - MIN
    - _gnutls_fips_mode_enabled
    - ecc_point_mul
    - mpz_sub
    - IS_EC
    - rsa_private_key_clear
    - _gnutls_gost_digest
    - gostdsa_generate_keypair
    - _gnutls_switch_fips_state
    - ecc_scalar_set
    - _gnutls_mpi_init_multi
    - get_supported_nist_curve_modulus
    - pct_test
    - dsa_generate_dss_keypair
    - mpz_cmp
    - edwards_curve_mul_g
    - mpz_set_str
    - nettle_mpz_random
    - gnutls_free
    - gnutls_ecc_curve_get_pk
    - mpz_sub_ui
    - mpz_set
    - mpz_add_ui
    - mpz_mod
    - ecc_point_init
    - dh_find_q
    - rsa_generate_keypair
    - ecc_scalar_clear
    - _gnutls_mpi_init
    - mpz_init
    - mpz_clear
    - gnutls_assert
    - get_supported_nist_curve_order
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pk_generate_keys(gnutls_pk_algorithm_t algo,\n\t\t\t
      \    unsigned int level /*bits or curve */,\n\t\t\t     gnutls_pk_params_st
      *params, unsigned ephemeral\n\t\t\t     /*non-zero if they are ephemeral keys
      */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3299,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:3301,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3303,1
    - Dst: _gnutls_mpi_mulm
      Src: /src/gnutls/lib/nettle/pk.c:3305,1
    - Dst: _gnutls_mpi_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:3308,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3309,1
    - Dst: mpz_invert
      Src: /src/gnutls/lib/nettle/pk.c:3313,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3313,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3313,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3314,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3315,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3316,1
    - Dst: _gnutls_mpi_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3321,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/nettle/pk.c:3322,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3324,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3328,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3329,1
    - Dst: _gnutls_mpi_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3333,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/nettle/pk.c:3335,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3337,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3341,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3342,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3349,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3350,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3359,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/nettle/pk.c:3361,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3363,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/nettle/pk.c:3365,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3369,1
    - Dst: _gnutls_mpi_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3373,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3374,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3381,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3392,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:3394,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3396,1
    - Dst: _ecc_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:3399,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3401,1
    - Dst: _ecc_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:3403,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3405,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3406,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3409,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:3411,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3411,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3412,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3414,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3417,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3419,1
    - Dst: ecc_point_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3420,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3422,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3423,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3424,1
    - Dst: ecc_point_zclear
      Src: /src/gnutls/lib/nettle/pk.c:3425,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3427,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3428,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3429,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3432,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3432,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3433,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:3440,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3441,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3443,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3444,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3445,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3446,1
    - Dst: get_eddsa_curve
      Src: /src/gnutls/lib/nettle/pk.c:3454,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/nettle/pk.c:3455,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3457,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3464,1
    - Dst: eddsa_public_key
      Src: /src/gnutls/lib/nettle/pk.c:3466,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/pk.c:3470,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3471,1
    - Dst: get_ecdh_curve
      Src: /src/gnutls/lib/nettle/pk.c:3482,1
    - Dst: _gnutls_ecc_curve_get_params
      Src: /src/gnutls/lib/nettle/pk.c:3483,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3492,1
    - Dst: edwards_curve_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3494,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/pk.c:3498,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3499,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3514,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:3516,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3518,1
    - Dst: _gost_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:3521,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3523,1
    - Dst: _gost_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:3525,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3527,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3528,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3531,1
    - Dst: gost_point_set
      Src: /src/gnutls/lib/nettle/pk.c:3533,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3533,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3534,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3536,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3539,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3541,1
    - Dst: gost_point_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3542,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3544,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3545,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3546,1
    - Dst: ecc_point_zclear
      Src: /src/gnutls/lib/nettle/pk.c:3547,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3549,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/pk.c:3550,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3551,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3554,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/pk.c:3554,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3555,1
    - Dst: ecc_scalar_zclear
      Src: /src/gnutls/lib/nettle/pk.c:3562,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3563,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3565,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3566,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3567,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/pk.c:3568,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3572,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 214
    argCount: 2
    argNames:
    - algo
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3576
      start: 3288
    functionDepth: 2
    functionLinenumber: 3288
    functionLinenumberEnd: 3576
    functionName: wrap_nettle_pk_verify_priv_params
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - _gnutls_ecc_curve_get_params
    - ecc_point_clear
    - get_eddsa_curve
    - ecc_scalar_zclear
    - _gnutls_mpi_cmp_ui
    - get_supported_nist_curve
    - TOMPZ
    - get_ecdh_curve
    - eddsa_public_key
    - gnutls_assert_val
    - zrelease_mpi_key
    - mpz_invert
    - get_supported_gost_curve
    - ecc_point_get
    - memcmp
    - ecc_point_set
    - _ecc_params_to_pubkey
    - _gnutls_mpi_cmp
    - _gnutls_mpi_mulm
    - _gnutls_mpi_init_multi
    - ecc_point_mul_g
    - _gost_params_to_privkey
    - mpz_cmp
    - edwards_curve_mul_g
    - gost_point_mul_g
    - _gnutls_mpi_powm
    - _ecc_params_to_privkey
    - _gnutls_mpi_modm
    - ecc_point_init
    - ecc_point_zclear
    - _gnutls_mpi_init
    - mpz_init
    - mpz_clear
    - _gost_params_to_pubkey
    - _gnutls_mpi_sub_ui
    - gnutls_assert
    - gost_point_set
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pk_verify_priv_params(gnutls_pk_algorithm_t algo,\n\t\t\t\t\t
      \    const gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3596,1
    - Dst: get_supported_nist_curve
      Src: /src/gnutls/lib/nettle/pk.c:3598,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3600,1
    - Dst: _ecc_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:3603,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3605,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3607,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:3609,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3609,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3610,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3612,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3615,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3620,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3631,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:3633,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3635,1
    - Dst: _gost_params_to_pubkey
      Src: /src/gnutls/lib/nettle/pk.c:3638,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3640,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3642,1
    - Dst: ecc_point_set
      Src: /src/gnutls/lib/nettle/pk.c:3644,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3644,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3645,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3647,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3650,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3655,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - algo
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3663
      start: 3578
    functionDepth: 2
    functionLinenumber: 3578
    functionLinenumberEnd: 3663
    functionName: wrap_nettle_pk_verify_pub_params
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - ecc_point_clear
    - get_supported_gost_curve
    - ecc_point_init
    - get_supported_nist_curve
    - ecc_point_set
    - _gost_params_to_pubkey
    - TOMPZ
    - _ecc_params_to_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pk_verify_pub_params(gnutls_pk_algorithm_t algo,\n\t\t\t\t\t
      \   const gnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/pk.c:3671,1
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:3677,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3680,1
    - Dst: _gnutls_mpi_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3683,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/nettle/pk.c:3684,1
    - Dst: _gnutls_mpi_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3689,1
    - Dst: _gnutls_mpi_modm
      Src: /src/gnutls/lib/nettle/pk.c:3690,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3695,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3700,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3701,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3705
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3705
    functionName: calc_rsa_exp
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - zrelease_mpi_key
    - _gnutls_mpi_modm
    - _gnutls_mpi_init_multi
    - gnutls_assert
    - _gnutls_mpi_sub_ui
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int calc_rsa_exp(gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init_multi
      Src: /src/gnutls/lib/nettle/pk.c:3714,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3717,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3720,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/pk.c:3721,1
    - Dst: mpz_lcm
      Src: /src/gnutls/lib/nettle/pk.c:3722,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3724,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3725,1
    - Dst: mpz_invert
      Src: /src/gnutls/lib/nettle/pk.c:3728,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3731,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3739
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3739
    functionName: calc_rsa_priv
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - zrelease_mpi_key
    - mpz_invert
    - mpz_sub_ui
    - _gnutls_mpi_init_multi
    - gnutls_assert_val
    - mpz_lcm
    linkageType: ''
    returnType: int
    signature: int calc_rsa_priv(gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/nettle/pk.c:3747,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3749,1
    - Dst: _gnutls_mpi_powm
      Src: /src/gnutls/lib/nettle/pk.c:3752,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3755,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - params
    argTypes:
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3760
      start: 3741
    functionDepth: 0
    functionLinenumber: 3741
    functionLinenumberEnd: 3760
    functionName: calc_dsa_pub
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - zrelease_mpi_key
    - gnutls_assert_val
    - _gnutls_mpi_powm
    - _gnutls_mpi_init
    linkageType: ''
    returnType: int
    signature: int calc_dsa_pub(gnutls_pk_params_st *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_rsa_priv
      Src: /src/gnutls/lib/nettle/pk.c:3775,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3777,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3787,1
    - Dst: _gnutls_mpi_init
      Src: /src/gnutls/lib/nettle/pk.c:3790,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3792,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/pk.c:3795,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3795,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3796,1
    - Dst: mpz_invert
      Src: /src/gnutls/lib/nettle/pk.c:3798,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3798,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3799,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3800,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3801,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3804,1
    - Dst: zrelease_mpi_key
      Src: /src/gnutls/lib/nettle/pk.c:3805,1
    - Dst: calc_rsa_exp
      Src: /src/gnutls/lib/nettle/pk.c:3809,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3811,1
    - Dst: _rsa_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:3816,1
    - Dst: rsa_private_key_prepare
      Src: /src/gnutls/lib/nettle/pk.c:3817,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3819,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3823,1
    - Dst: get_eddsa_curve
      Src: /src/gnutls/lib/nettle/pk.c:3823,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3824,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3828,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:3832,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3836,1
    - Dst: eddsa_public_key
      Src: /src/gnutls/lib/nettle/pk.c:3838,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:3841,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/pk.c:3848,1
    - Dst: get_ecdh_curve
      Src: /src/gnutls/lib/nettle/pk.c:3848,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3849,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3853,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/pk.c:3857,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3861,1
    - Dst: edwards_curve_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3863,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/pk.c:3866,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3873,1
    - Dst: CHECK_INVALID_RSA_PSS_PARAMS
      Src: /src/gnutls/lib/nettle/pk.c:3879,1
    - Dst: gnutls_hash_get_len
      Src: /src/gnutls/lib/nettle/pk.c:3880,1
    - Dst: calc_dsa_pub
      Src: /src/gnutls/lib/nettle/pk.c:3886,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3888,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3900,1
    - Dst: get_supported_gost_curve
      Src: /src/gnutls/lib/nettle/pk.c:3902,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3904,1
    - Dst: ecc_bit_size
      Src: /src/gnutls/lib/nettle/pk.c:3907,1
    - Dst: _gnutls_mpi_get_nbits
      Src: /src/gnutls/lib/nettle/pk.c:3908,1
    - Dst: gostdsa_unmask_key
      Src: /src/gnutls/lib/nettle/pk.c:3909,1
    - Dst: TOMPZ
      Src: /src/gnutls/lib/nettle/pk.c:3910,1
    - Dst: _gost_params_to_privkey
      Src: /src/gnutls/lib/nettle/pk.c:3912,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/pk.c:3914,1
    - Dst: ecc_point_init
      Src: /src/gnutls/lib/nettle/pk.c:3917,1
    - Dst: gost_point_mul_g
      Src: /src/gnutls/lib/nettle/pk.c:3918,1
    - Dst: ecc_point_get
      Src: /src/gnutls/lib/nettle/pk.c:3920,1
    - Dst: ecc_point_clear
      Src: /src/gnutls/lib/nettle/pk.c:3923,1
    - Dst: ecc_scalar_clear
      Src: /src/gnutls/lib/nettle/pk.c:3924,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 101
    argCount: 3
    argNames:
    - algo
    - direction
    - params
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_direction_t
    - gnutls_pk_params_st*
    constantsTouched: []
    func_position:
      end: 3929
      start: 3762
    functionDepth: 2
    functionLinenumber: 3762
    functionLinenumberEnd: 3929
    functionName: wrap_nettle_pk_fixup
    functionSourceFile: /src/gnutls/lib/nettle/pk.c
    functionUses: 0
    functionsReached:
    - gnutls_hash_get_len
    - ecc_point_clear
    - get_eddsa_curve
    - gnutls_malloc
    - CHECK_INVALID_RSA_PSS_PARAMS
    - get_ecdh_curve
    - TOMPZ
    - eddsa_public_key
    - mpz_cmp_ui
    - gnutls_assert_val
    - zrelease_mpi_key
    - mpz_invert
    - _gnutls_mpi_get_nbits
    - rsa_private_key_prepare
    - get_supported_gost_curve
    - ecc_point_get
    - ecc_bit_size
    - unlikely
    - calc_rsa_exp
    - gostdsa_unmask_key
    - edwards_curve_mul_g
    - gost_point_mul_g
    - calc_dsa_pub
    - gnutls_free
    - calc_rsa_priv
    - _rsa_params_to_privkey
    - ecc_point_init
    - ecc_scalar_clear
    - _gnutls_mpi_init
    - _gost_params_to_privkey
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,\n\t\t\t\tgnutls_direction_t
      direction,\n\t\t\t\tgnutls_pk_params_st *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_ADD_OK
      Src: /src/gnutls/lib/nettle/cipher.c:132,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - counter
    - size
    argTypes:
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: record_aes_gcm_encrypt_size
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 6
    functionsReached:
    - INT_ADD_OK
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int record_aes_gcm_encrypt_size(size_t *counter, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_cipher_ctx*::cipher::encrypt_block
      Src: /src/gnutls/lib/nettle/cipher.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: _stream_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher_ctx*::cipher::encrypt_block
    linkageType: ''
    returnType: void
    signature: "void _stream_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      \   uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_cipher_ctx*::cipher::decrypt_block
      Src: /src/gnutls/lib/nettle/cipher.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: _stream_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher_ctx*::cipher::decrypt_block
    linkageType: ''
    returnType: void
    signature: "void _stream_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      \   uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: _cbc_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 8
    functionsReached:
    - cbc_encrypt
    linkageType: ''
    returnType: void
    signature: "void _cbc_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: _cbc_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - cbc_decrypt
    linkageType: ''
    returnType: void
    signature: "void _cbc_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfb_encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: _cfb_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - cfb_encrypt
    linkageType: ''
    returnType: void
    signature: "void _cfb_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfb_decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: _cfb_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - cfb_decrypt
    linkageType: ''
    returnType: void
    signature: "void _cfb_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr_crypt
      Src: /src/gnutls/lib/nettle/cipher.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: _ctr_acpkm_crypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void _ctr_acpkm_crypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      \    uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/cipher.c:204,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: _gost28147_set_key_tc26z
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: void _gost28147_set_key_tc26z(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/cipher.c:210,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: _gost28147_set_key_cpa
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: void _gost28147_set_key_cpa(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/cipher.c:216,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: _gost28147_set_key_cpb
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: void _gost28147_set_key_cpb(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/cipher.c:222,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: _gost28147_set_key_cpc
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: void _gost28147_set_key_cpc(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/cipher.c:228,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: _gost28147_set_key_cpd
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: void _gost28147_set_key_cpd(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_cnt_init
      Src: /src/gnutls/lib/nettle/cipher.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: _gost28147_cnt_set_key_tc26z
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_cnt_init
    linkageType: ''
    returnType: void
    signature: void _gost28147_cnt_set_key_tc26z(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_cnt_set_iv
      Src: /src/gnutls/lib/nettle/cipher.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - nonce
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: _gost28147_cnt_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_cnt_set_iv
    linkageType: ''
    returnType: void
    signature: "void _gost28147_cnt_set_nonce(void *ctx, size_t length,\n\t\t\t\t
      \    const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_cnt_crypt
      Src: /src/gnutls/lib/nettle/cipher.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: _gost28147_cnt_crypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gost28147_cnt_crypt
    linkageType: ''
    returnType: void
    signature: "void _gost28147_cnt_crypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acpkm_crypt
      Src: /src/gnutls/lib/nettle/cipher.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct magma_acpkm_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: _magma_acpkm_crypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - acpkm_crypt
    linkageType: ''
    returnType: void
    signature: "void _magma_acpkm_crypt(struct magma_acpkm_ctx *ctx, size_t length,\n\t\t\t
      \      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acpkm_crypt
      Src: /src/gnutls/lib/nettle/cipher.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct kuznyechik_acpkm_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: _kuznyechik_acpkm_crypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - acpkm_crypt
    linkageType: ''
    returnType: void
    signature: "void _kuznyechik_acpkm_crypt(struct kuznyechik_acpkm_ctx *ctx,\n\t\t\t\t
      \   size_t length, uint8_t *dst,\n\t\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: magma_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct magma_acpkm_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: _magma_ctr_acpkm_set_key
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - magma_set_key
    linkageType: ''
    returnType: void
    signature: "void _magma_ctr_acpkm_set_key(struct magma_acpkm_ctx *ctx,\n\t\t\t\t
      \    const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/cipher.c:278,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/cipher.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct magma_acpkm_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: _magma_ctr_acpkm_set_iv
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void _magma_ctr_acpkm_set_iv(struct magma_acpkm_ctx *ctx, size_t length,\n\t\t\t\t
      \   const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kuznyechik_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct kuznyechik_acpkm_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: _kuznyechik_ctr_acpkm_set_key
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - kuznyechik_set_key
    linkageType: ''
    returnType: void
    signature: "void _kuznyechik_ctr_acpkm_set_key(struct kuznyechik_acpkm_ctx *ctx,\n\t\t\t\t\t
      \ const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/cipher.c:293,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/cipher.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct kuznyechik_acpkm_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: _kuznyechik_ctr_acpkm_set_iv
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void _kuznyechik_ctr_acpkm_set_iv(struct kuznyechik_acpkm_ctx *ctx,\n\t\t\t\t\t
      size_t length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: _ccm_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _ccm_encrypt(struct nettle_cipher_ctx *ctx, size_t nonce_size,\n\t\t\t
      const void *nonce, size_t auth_size, const void *auth,\n\t\t\t size_t tag_size,
      size_t length, uint8_t *dst,\n\t\t\t const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: _ccm_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int _ccm_decrypt(struct nettle_cipher_ctx *ctx, size_t nonce_size,\n\t\t\tconst
      void *nonce, size_t auth_size, const void *auth,\n\t\t\tsize_t tag_size, size_t
      length, uint8_t *dst,\n\t\t\tconst uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_aes128_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: _siv_cmac_aes128_encrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_cmac_aes128_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _siv_cmac_aes128_encrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \    size_t nonce_size,\n\t\t\t\t\t     const void *nonce,\n\t\t\t\t\t     size_t
      auth_size, const void *auth,\n\t\t\t\t\t     size_t tag_size, size_t length,\n\t\t\t\t\t
      \    uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_aes128_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: _siv_cmac_aes128_decrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_cmac_aes128_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int _siv_cmac_aes128_decrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \   size_t nonce_size,\n\t\t\t\t\t    const void *nonce, size_t auth_size,\n\t\t\t\t\t
      \   const void *auth, size_t tag_size,\n\t\t\t\t\t    size_t length, uint8_t
      *dst,\n\t\t\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_aes256_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: _siv_cmac_aes256_encrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_cmac_aes256_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _siv_cmac_aes256_encrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \    size_t nonce_size,\n\t\t\t\t\t     const void *nonce,\n\t\t\t\t\t     size_t
      auth_size, const void *auth,\n\t\t\t\t\t     size_t tag_size, size_t length,\n\t\t\t\t\t
      \    uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_aes256_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: _siv_cmac_aes256_decrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_cmac_aes256_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int _siv_cmac_aes256_decrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \   size_t nonce_size,\n\t\t\t\t\t    const void *nonce, size_t auth_size,\n\t\t\t\t\t
      \   const void *auth, size_t tag_size,\n\t\t\t\t\t    size_t length, uint8_t
      *dst,\n\t\t\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_aes128_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: _siv_gcm_aes128_encrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_gcm_aes128_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _siv_gcm_aes128_encrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \   size_t nonce_size,\n\t\t\t\t\t    const void *nonce, size_t auth_size,\n\t\t\t\t\t
      \   const void *auth, size_t tag_size,\n\t\t\t\t\t    size_t length, uint8_t
      *dst,\n\t\t\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_aes128_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: _siv_gcm_aes128_decrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_gcm_aes128_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int _siv_gcm_aes128_decrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \  size_t nonce_size, const void *nonce,\n\t\t\t\t\t   size_t auth_size, const
      void *auth,\n\t\t\t\t\t   size_t tag_size, size_t length,\n\t\t\t\t\t   uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_aes256_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: _siv_gcm_aes256_encrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_gcm_aes256_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _siv_gcm_aes256_encrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \   size_t nonce_size,\n\t\t\t\t\t    const void *nonce, size_t auth_size,\n\t\t\t\t\t
      \   const void *auth, size_t tag_size,\n\t\t\t\t\t    size_t length, uint8_t
      *dst,\n\t\t\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_aes256_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nonce_size
    - nonce
    - auth_size
    - auth
    - tag_size
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: _siv_gcm_aes256_decrypt_message
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - siv_gcm_aes256_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int _siv_gcm_aes256_decrypt_message(struct nettle_cipher_ctx *ctx,\n\t\t\t\t\t
      \  size_t nonce_size, const void *nonce,\n\t\t\t\t\t   size_t auth_size, const
      void *auth,\n\t\t\t\t\t   size_t tag_size, size_t length,\n\t\t\t\t\t   uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_set_nonce
      Src: /src/gnutls/lib/nettle/cipher.c:412,1
    - Dst: chacha_set_counter
      Src: /src/gnutls/lib/nettle/cipher.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - length
    - nonce
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: _chacha_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - chacha_set_nonce
    - chacha_set_counter
    linkageType: ''
    returnType: void
    signature: "void _chacha_set_nonce(struct chacha_ctx *ctx, size_t length,\n\t\t\t
      \     const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_set_nonce96
      Src: /src/gnutls/lib/nettle/cipher.c:419,1
    - Dst: chacha_set_counter32
      Src: /src/gnutls/lib/nettle/cipher.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - length
    - nonce
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: _chacha_set_nonce96
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - chacha_set_counter32
    - chacha_set_nonce96
    linkageType: ''
    returnType: void
    signature: "void _chacha_set_nonce96(struct chacha_ctx *ctx, size_t length,\n\t\t\t\tconst
      uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_poly1305_set_nonce
      Src: /src/gnutls/lib/nettle/cipher.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - nonce
    argTypes:
    - struct chacha_poly1305_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: _chacha_poly1305_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - chacha_poly1305_set_nonce
    linkageType: ''
    returnType: void
    signature: "void _chacha_poly1305_set_nonce(struct chacha_poly1305_ctx *ctx,\n\t\t\t\t
      \      size_t length, const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:441,1
    - Dst: GCM_CTX_GET_CTX
      Src: /src/gnutls/lib/nettle/cipher.c:441,1
    - Dst: GCM_CTX_GET_KEY
      Src: /src/gnutls/lib/nettle/cipher.c:442,1
    - Dst: GCM_CTX_GET_CIPHER
      Src: /src/gnutls/lib/nettle/cipher.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: _gcm_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 2
    functionsReached:
    - GCM_CTX_GET_CIPHER
    - GCM_CTX_GET_CTX
    - GCM_CTX_GET_KEY
    - gcm_encrypt
    linkageType: ''
    returnType: void
    signature: "void _gcm_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:450,1
    - Dst: GCM_CTX_GET_CTX
      Src: /src/gnutls/lib/nettle/cipher.c:450,1
    - Dst: GCM_CTX_GET_KEY
      Src: /src/gnutls/lib/nettle/cipher.c:451,1
    - Dst: GCM_CTX_GET_CIPHER
      Src: /src/gnutls/lib/nettle/cipher.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: _gcm_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 2
    functionsReached:
    - GCM_CTX_GET_CIPHER
    - GCM_CTX_GET_CTX
    - GCM_CTX_GET_KEY
    - gcm_decrypt
    linkageType: ''
    returnType: void
    signature: "void _gcm_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct des_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: _des_set_key
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - des_set_key
    linkageType: ''
    returnType: void
    signature: void _des_set_key(struct des_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des3_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct des3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: _des3_set_key
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - des3_set_key
    linkageType: ''
    returnType: void
    signature: void _des3_set_key(struct des3_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfb8_encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: _cfb8_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - cfb8_encrypt
    linkageType: ''
    returnType: void
    signature: "void _cfb8_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      \ uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfb8_decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: _cfb8_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - cfb8_decrypt
    linkageType: ''
    returnType: void
    signature: "void _cfb8_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t
      \ uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_aes128_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: _xts_aes128_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - xts_aes128_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _xts_aes128_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_aes128_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: _xts_aes128_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - xts_aes128_decrypt_message
    linkageType: ''
    returnType: void
    signature: "void _xts_aes128_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_aes256_encrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: _xts_aes256_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - xts_aes256_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void _xts_aes256_encrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_aes256_decrypt_message
      Src: /src/gnutls/lib/nettle/cipher.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct nettle_cipher_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: _xts_aes256_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - xts_aes256_decrypt_message
    linkageType: ''
    returnType: void
    signature: "void _xts_aes256_decrypt(struct nettle_cipher_ctx *ctx, size_t length,\n\t\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 1178
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1178
    functionName: wrap_nettle_cipher_exists
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_cipher_exists(gnutls_cipher_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1198,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/nettle/cipher.c:1200,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/cipher.c:1203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - algo
    - _ctx
    - enc
    argTypes:
    - gnutls_cipher_algorithm_t
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 1220
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1220
    functionName: wrap_nettle_cipher_init
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_init(gnutls_cipher_algorithm_t algo, void **_ctx,\n\t\t\t\t
      \  int enc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1228,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1229,1
    - Dst: struct nettle_cipher_ctx*::cipher::gen_set_key
      Src: /src/gnutls/lib/nettle/cipher.c:1231,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/cipher.c:1237,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/nettle/cipher.c:1238,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1240,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/cipher.c:1243,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/nettle/cipher.c:1244,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1246,1
    - Dst: struct nettle_cipher_ctx*::cipher::set_encrypt_key
      Src: /src/gnutls/lib/nettle/cipher.c:1253,1
    - Dst: struct nettle_cipher_ctx*::cipher::set_decrypt_key
      Src: /src/gnutls/lib/nettle/cipher.c:1255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - _ctx
    - key
    - keysize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1268
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1268
    functionName: wrap_nettle_cipher_setkey
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher_ctx*::cipher::set_decrypt_key
    - struct nettle_cipher_ctx*::cipher::set_encrypt_key
    - gnutls_memcmp
    - unlikely
    - struct nettle_cipher_ctx*::cipher::gen_set_key
    - _gnutls_fips_mode_enabled
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_setkey(void *_ctx, const void *key,\n\t\t\t\t
      \    size_t keysize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/cipher.c:1279,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1286,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1297,1
    - Dst: struct nettle_cipher_ctx*::cipher::set_iv
      Src: /src/gnutls/lib/nettle/cipher.c:1300,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/cipher.c:1303,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1308
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1308
    functionName: wrap_nettle_cipher_setiv
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - FIPS_RULE
    - memcpy
    - gnutls_assert_val
    - struct nettle_cipher_ctx*::cipher::set_iv
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_cipher_setiv(void *_ctx, const void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1315,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/cipher.c:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - iv
    - iv_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1320
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1320
    functionName: wrap_nettle_cipher_getiv
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_cipher_getiv(void *_ctx, void *iv, size_t iv_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1328,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1329,1
    - Dst: struct nettle_cipher_ctx*::cipher::decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - _ctx
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1334
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1334
    functionName: wrap_nettle_cipher_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - struct nettle_cipher_ctx*::cipher::decrypt
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_decrypt(void *_ctx, const void *encr,\n\t\t\t\t
      \     size_t encr_size, void *plain,\n\t\t\t\t      size_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1343,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1344,1
    - Dst: record_aes_gcm_encrypt_size
      Src: /src/gnutls/lib/nettle/cipher.c:1350,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1353,1
    - Dst: struct nettle_cipher_ctx*::cipher::encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - _ctx
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1363
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1363
    functionName: wrap_nettle_cipher_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - record_aes_gcm_encrypt_size
    - gnutls_assert_val
    - unlikely
    - struct nettle_cipher_ctx*::cipher::encrypt
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_encrypt(void *_ctx, const void *plain,\n\t\t\t\t
      \     size_t plain_size, void *encr,\n\t\t\t\t      size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1378,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1385,1
    - Dst: struct nettle_cipher_ctx*::cipher::set_iv
      Src: /src/gnutls/lib/nettle/cipher.c:1387,1
    - Dst: struct nettle_cipher_ctx*::cipher::auth
      Src: /src/gnutls/lib/nettle/cipher.c:1388,1
    - Dst: struct nettle_cipher_ctx*::cipher::encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1390,1
    - Dst: struct nettle_cipher_ctx*::cipher::tag
      Src: /src/gnutls/lib/nettle/cipher.c:1392,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/cipher.c:1418,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/cipher.c:1419,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1421,1
    - Dst: struct nettle_cipher_ctx*::cipher::aead_encrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - plain
    - plain_size
    - encr
    - encr_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1436
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1436
    functionName: wrap_nettle_cipher_aead_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - struct nettle_cipher_ctx*::cipher::aead_encrypt
    - struct nettle_cipher_ctx*::cipher::auth
    - struct nettle_cipher_ctx*::cipher::set_iv
    - struct nettle_cipher_ctx*::cipher::encrypt
    - _gnutls_fips_mode_enabled
    - struct nettle_cipher_ctx*::cipher::tag
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_aead_encrypt(void *_ctx, const void *nonce,\n\t\t\t\t\t
      \  size_t nonce_size, const void *auth,\n\t\t\t\t\t   size_t auth_size, size_t
      tag_size,\n\t\t\t\t\t   const void *plain, size_t plain_size,\n\t\t\t\t\t   void
      *encr, size_t encr_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1447,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1448,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1460,1
    - Dst: struct nettle_cipher_ctx*::cipher::set_iv
      Src: /src/gnutls/lib/nettle/cipher.c:1462,1
    - Dst: struct nettle_cipher_ctx*::cipher::auth
      Src: /src/gnutls/lib/nettle/cipher.c:1463,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1467,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1468,1
    - Dst: struct nettle_cipher_ctx*::cipher::decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1470,1
    - Dst: struct nettle_cipher_ctx*::cipher::tag
      Src: /src/gnutls/lib/nettle/cipher.c:1472,1
    - Dst: gnutls_memcmp
      Src: /src/gnutls/lib/nettle/cipher.c:1474,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1476,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1481,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1482,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/cipher.c:1505,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/cipher.c:1506,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1508,1
    - Dst: struct nettle_cipher_ctx*::cipher::aead_decrypt
      Src: /src/gnutls/lib/nettle/cipher.c:1518,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/cipher.c:1521,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/cipher.c:1522,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 10
    argNames:
    - _ctx
    - nonce
    - nonce_size
    - auth
    - auth_size
    - tag_size
    - encr
    - encr_size
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    - size_t
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1525
      start: 1438
    functionDepth: 3
    functionLinenumber: 1438
    functionLinenumberEnd: 1525
    functionName: wrap_nettle_cipher_aead_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - _gnutls_switch_fips_state
    - struct nettle_cipher_ctx*::cipher::auth
    - struct nettle_cipher_ctx*::cipher::set_iv
    - gnutls_memcmp
    - _gnutls_fips_mode_enabled
    - unlikely
    - struct nettle_cipher_ctx*::cipher::decrypt
    - struct nettle_cipher_ctx*::cipher::tag
    - gnutls_assert_val
    - struct nettle_cipher_ctx*::cipher::aead_decrypt
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_aead_decrypt(void *_ctx, const void *nonce,\n\t\t\t\t\t
      \  size_t nonce_size, const void *auth,\n\t\t\t\t\t   size_t auth_size, size_t
      tag_size,\n\t\t\t\t\t   const void *encr, size_t encr_size,\n\t\t\t\t\t   void
      *plain, size_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_cipher_ctx*::cipher::auth
      Src: /src/gnutls/lib/nettle/cipher.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - plain
    - plain_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1535
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1535
    functionName: wrap_nettle_cipher_auth
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher_ctx*::cipher::auth
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_cipher_auth(void *_ctx, const void *plain,\n\t\t\t\t
      \  size_t plain_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_cipher_ctx*::cipher::tag
      Src: /src/gnutls/lib/nettle/cipher.c:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - tag
    - tag_size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1542
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1542
    functionName: wrap_nettle_cipher_tag
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher_ctx*::cipher::tag
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_cipher_tag(void *_ctx, void *tag, size_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/cipher.c:1548,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/cipher.c:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1550
    functionName: wrap_nettle_cipher_close
    functionSourceFile: /src/gnutls/lib/nettle/cipher.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_cipher_close(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_imit_set_param
      Src: /src/gnutls/lib/nettle/mac.c:135,1
    - Dst: gost28147_imit_set_key
      Src: /src/gnutls/lib/nettle/mac.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: _wrap_gost28147_imit_set_key_tc26z
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gost28147_imit_set_key
    - gost28147_imit_set_param
    linkageType: ''
    returnType: void
    signature: "void _wrap_gost28147_imit_set_key_tc26z(void *ctx, size_t len,\n\t\t\t\t\t
      \      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac_magma_set_key
      Src: /src/gnutls/lib/nettle/mac.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: _wrap_cmac_magma_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - cmac_magma_set_key
    linkageType: ''
    returnType: void
    signature: void _wrap_cmac_magma_set_key(void *ctx, size_t len, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac_kuznyechik_set_key
      Src: /src/gnutls/lib/nettle/mac.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: _wrap_cmac_kuznyechik_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - cmac_kuznyechik_set_key
    linkageType: ''
    returnType: void
    signature: "void _wrap_cmac_kuznyechik_set_key(void *ctx, size_t len,\n\t\t\t\t\t
      \ const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:153,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:154,1
    - Dst: umac96_set_key
      Src: /src/gnutls/lib/nettle/mac.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: _wrap_umac96_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - umac96_set_key
    - unlikely
    linkageType: ''
    returnType: void
    signature: void _wrap_umac96_set_key(void *ctx, size_t len, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:160,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:161,1
    - Dst: umac128_set_key
      Src: /src/gnutls/lib/nettle/mac.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: _wrap_umac128_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    - umac128_set_key
    linkageType: ''
    returnType: void
    signature: void _wrap_umac128_set_key(void *ctx, size_t len, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:167,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:168,1
    - Dst: cmac_aes128_set_key
      Src: /src/gnutls/lib/nettle/mac.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: _wrap_cmac128_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - cmac_aes128_set_key
    - unlikely
    linkageType: ''
    returnType: void
    signature: void _wrap_cmac128_set_key(void *ctx, size_t len, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:174,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:175,1
    - Dst: cmac_aes256_set_key
      Src: /src/gnutls/lib/nettle/mac.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: _wrap_cmac256_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - cmac_aes256_set_key
    - unlikely
    linkageType: ''
    returnType: void
    signature: void _wrap_cmac256_set_key(void *ctx, size_t len, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:184,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:185,1
    - Dst: aes128_set_encrypt_key
      Src: /src/gnutls/lib/nettle/mac.c:186,1
    - Dst: gcm_set_key
      Src: /src/gnutls/lib/nettle/mac.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: _wrap_gmac_aes128_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - aes128_set_encrypt_key
    - gcm_set_key
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _wrap_gmac_aes128_set_key(void *_ctx, size_t len,\n\t\t\t\t      const
      uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:196,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:197,1
    - Dst: aes192_set_encrypt_key
      Src: /src/gnutls/lib/nettle/mac.c:198,1
    - Dst: gcm_set_key
      Src: /src/gnutls/lib/nettle/mac.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: _wrap_gmac_aes192_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - aes192_set_encrypt_key
    - gcm_set_key
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void _wrap_gmac_aes192_set_key(void *_ctx, size_t len,\n\t\t\t\t      const
      uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/mac.c:208,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/mac.c:209,1
    - Dst: aes256_set_encrypt_key
      Src: /src/gnutls/lib/nettle/mac.c:210,1
    - Dst: gcm_set_key
      Src: /src/gnutls/lib/nettle/mac.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _ctx
    - len
    - key
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: _wrap_gmac_aes256_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - abort
    - gcm_set_key
    - unlikely
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void _wrap_gmac_aes256_set_key(void *_ctx, size_t len,\n\t\t\t\t      const
      uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_set_iv
      Src: /src/gnutls/lib/nettle/mac.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _ctx
    - nonce_length
    - nonce
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: _wrap_gmac_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gcm_set_iv
    linkageType: ''
    returnType: void
    signature: "void _wrap_gmac_set_nonce(void *_ctx, size_t nonce_length,\n\t\t\t\t
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/mac.c:228,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/mac.c:234,1
    - Dst: gcm_update
      Src: /src/gnutls/lib/nettle/mac.c:235,1
    - Dst: gcm_update
      Src: /src/gnutls/lib/nettle/mac.c:241,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/mac.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - _ctx
    - length
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 249
    functionName: _wrap_gmac_update
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gcm_update
    linkageType: ''
    returnType: void
    signature: void _wrap_gmac_update(void *_ctx, size_t length, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_update
      Src: /src/gnutls/lib/nettle/mac.c:256,1
    - Dst: gcm_digest
      Src: /src/gnutls/lib/nettle/mac.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - _ctx
    - length
    - digest
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: _wrap_gmac_digest
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gcm_update
    - gcm_digest
    linkageType: ''
    returnType: void
    signature: void _wrap_gmac_digest(void *_ctx, size_t length, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 149
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - struct nettle_mac_ctx*
    constantsTouched: []
    func_position:
      end: 419
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 419
    functionName: _mac_ctx_init
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int _mac_ctx_init(gnutls_mac_algorithm_t algo,\n\t\t\t struct nettle_mac_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mac_ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:429,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:431,1
    - Dst: struct nettle_mac_ctx::set_key
      Src: /src/gnutls/lib/nettle/mac.c:433,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:436,1
    - Dst: struct nettle_mac_ctx::set_nonce
      Src: /src/gnutls/lib/nettle/mac.c:438,1
    - Dst: struct nettle_mac_ctx::update
      Src: /src/gnutls/lib/nettle/mac.c:440,1
    - Dst: struct nettle_mac_ctx::digest
      Src: /src/gnutls/lib/nettle/mac.c:441,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - algo
    - nonce
    - nonce_size
    - key
    - key_size
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 446
    functionName: wrap_nettle_mac_fast
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_mac_ctx::set_nonce
    - struct nettle_mac_ctx::update
    - zeroize_temp_key
    - struct nettle_mac_ctx::set_key
    - struct nettle_mac_ctx::digest
    - _mac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mac_fast(gnutls_mac_algorithm_t algo, const void *nonce,\n\t\t\t\tsize_t
      nonce_size, const void *key,\n\t\t\t\tsize_t key_size, const void *text,\n\t\t\t\tsize_t
      text_size, void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 476
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 476
    functionName: wrap_nettle_mac_exists
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mac_exists(gnutls_mac_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/nettle/mac.c:483,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:485,1
    - Dst: _mac_ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:491,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mac.c:493,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_mac_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 500
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 500
    functionName: wrap_nettle_mac_init
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - gnutls_free
    - gnutls_assert
    - _mac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mac_init(gnutls_mac_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/nettle/mac.c:508,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/mac.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: wrap_nettle_mac_copy
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *wrap_nettle_mac_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_mac_ctx*::set_key
      Src: /src/gnutls/lib/nettle/mac.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - key
    - keylen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: wrap_nettle_mac_set_key
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_mac_ctx*::set_key
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mac_set_key(void *_ctx, const void *key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:532,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:535,1
    - Dst: struct nettle_mac_ctx*::set_nonce
      Src: /src/gnutls/lib/nettle/mac.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - _ctx
    - nonce
    - noncelen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: wrap_nettle_mac_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - struct nettle_mac_ctx*::set_nonce
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mac_set_nonce(void *_ctx, const void *nonce,\n\t\t\t\t
      \    size_t noncelen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_mac_ctx*::update
      Src: /src/gnutls/lib/nettle/mac.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: wrap_nettle_mac_update
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_mac_ctx*::update
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_mac_update(void *_ctx, const void *text, size_t textsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:558,1
    - Dst: struct nettle_mac_ctx*::digest
      Src: /src/gnutls/lib/nettle/mac.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 565
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 565
    functionName: wrap_nettle_mac_output
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_mac_ctx*::digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_mac_output(void *src_ctx, void *digest,\n\t\t\t\t
      \ size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:571,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mac.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: wrap_nettle_mac_deinit
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_mac_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_hash_ctx*::update
      Src: /src/gnutls/lib/nettle/mac.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - text
    - textsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 585
    functionName: wrap_nettle_hash_update
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_hash_ctx*::update
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_hash_update(void *_ctx, const void *text,\n\t\t\t\t
      \  size_t textsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mac.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: wrap_nettle_hash_deinit
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_hash_deinit(void *hd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - algo
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: wrap_nettle_hash_exists
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_hash_exists(gnutls_digest_algorithm_t algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_update
      Src: /src/gnutls/lib/nettle/mac.c:632,1
    - Dst: sha1_update
      Src: /src/gnutls/lib/nettle/mac.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - _ctx
    - len
    - data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: _md5_sha1_update
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - sha1_update
    - md5_update
    linkageType: ''
    returnType: void
    signature: void _md5_sha1_update(void *_ctx, size_t len, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_digest
      Src: /src/gnutls/lib/nettle/mac.c:640,1
    - Dst: sha1_digest
      Src: /src/gnutls/lib/nettle/mac.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _ctx
    - len
    - digest
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: _md5_sha1_digest
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - sha1_digest
    - md5_digest
    linkageType: ''
    returnType: void
    signature: void _md5_sha1_digest(void *_ctx, size_t len, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/gnutls/lib/nettle/mac.c:655,1
    - Dst: sha1_init
      Src: /src/gnutls/lib/nettle/mac.c:662,1
    - Dst: md5_init
      Src: /src/gnutls/lib/nettle/mac.c:669,1
    - Dst: sha1_init
      Src: /src/gnutls/lib/nettle/mac.c:670,1
    - Dst: sha224_init
      Src: /src/gnutls/lib/nettle/mac.c:677,1
    - Dst: sha256_init
      Src: /src/gnutls/lib/nettle/mac.c:684,1
    - Dst: sha384_init
      Src: /src/gnutls/lib/nettle/mac.c:691,1
    - Dst: sha512_init
      Src: /src/gnutls/lib/nettle/mac.c:698,1
    - Dst: sha3_224_init
      Src: /src/gnutls/lib/nettle/mac.c:706,1
    - Dst: sha3_256_init
      Src: /src/gnutls/lib/nettle/mac.c:713,1
    - Dst: sha3_384_init
      Src: /src/gnutls/lib/nettle/mac.c:720,1
    - Dst: sha3_512_init
      Src: /src/gnutls/lib/nettle/mac.c:727,1
    - Dst: md2_init
      Src: /src/gnutls/lib/nettle/mac.c:735,1
    - Dst: gosthash94cp_init
      Src: /src/gnutls/lib/nettle/mac.c:743,1
    - Dst: streebog256_init
      Src: /src/gnutls/lib/nettle/mac.c:750,1
    - Dst: streebog512_init
      Src: /src/gnutls/lib/nettle/mac.c:757,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:765,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 113
    argCount: 2
    argNames:
    - algo
    - ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - struct nettle_hash_ctx*
    constantsTouched: []
    func_position:
      end: 770
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 770
    functionName: _ctx_init
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 65
    functionsReached:
    - sha3_224_init
    - sha384_init
    - md5_init
    - streebog256_init
    - sha3_512_init
    - gosthash94cp_init
    - sha3_256_init
    - sha512_init
    - md2_init
    - sha1_init
    - streebog512_init
    - gnutls_assert
    - sha256_init
    - sha3_384_init
    - sha224_init
    linkageType: ''
    returnType: int
    signature: "int _ctx_init(gnutls_digest_algorithm_t algo,\n\t\t     struct nettle_hash_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:779,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:781,1
    - Dst: struct nettle_hash_ctx::update
      Src: /src/gnutls/lib/nettle/mac.c:784,1
    - Dst: struct nettle_hash_ctx::digest
      Src: /src/gnutls/lib/nettle/mac.c:786,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - algo
    - text
    - text_size
    - digest
    argTypes:
    - gnutls_digest_algorithm_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 790
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 790
    functionName: wrap_nettle_hash_fast
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - _ctx_init
    - zeroize_temp_key
    - struct nettle_hash_ctx::digest
    - struct nettle_hash_ctx::update
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_hash_fast(gnutls_digest_algorithm_t algo,\n\t\t\t\t
      const void *text, size_t text_size,\n\t\t\t\t void *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/mac.c:797,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:799,1
    - Dst: _ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:805,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:806,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/mac.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - algo
    - _ctx
    argTypes:
    - gnutls_digest_algorithm_t
    - void**
    constantsTouched: []
    func_position:
      end: 814
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 814
    functionName: wrap_nettle_hash_init
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - _ctx_init
    - gnutls_assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_hash_init(gnutls_digest_algorithm_t algo, void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/lib/nettle/mac.c:822,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/mac.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: wrap_nettle_hash_copy
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_calloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void *wrap_nettle_hash_copy(const void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/mac.c:839,1
    - Dst: struct nettle_hash_ctx*::digest
      Src: /src/gnutls/lib/nettle/mac.c:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src_ctx
    - digest
    - digestsize
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 846
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 846
    functionName: wrap_nettle_hash_output
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - struct nettle_hash_ctx*::digest
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_hash_output(void *src_ctx, void *digest,\n\t\t\t\t
      \  size_t digestsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mac_ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:857,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:859,1
    - Dst: struct nettle_mac_ctx::set_key
      Src: /src/gnutls/lib/nettle/mac.c:861,1
    - Dst: hkdf_extract
      Src: /src/gnutls/lib/nettle/mac.c:862,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - mac
    - key
    - keysize
    - salt
    - saltsize
    - output
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 867
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 867
    functionName: wrap_nettle_hkdf_extract
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - hkdf_extract
    - zeroize_temp_key
    - struct nettle_mac_ctx::set_key
    - _mac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_hkdf_extract(gnutls_mac_algorithm_t mac, const void
      *key,\n\t\t\t\t    size_t keysize, const void *salt,\n\t\t\t\t    size_t saltsize,
      void *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mac_ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:876,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:878,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:882,1
    - Dst: struct nettle_mac_ctx::set_key
      Src: /src/gnutls/lib/nettle/mac.c:885,1
    - Dst: hkdf_expand
      Src: /src/gnutls/lib/nettle/mac.c:886,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - mac
    - key
    - keysize
    - info
    - infosize
    - output
    - length
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 891
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 891
    functionName: wrap_nettle_hkdf_expand
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - struct nettle_mac_ctx::set_key
    - hkdf_expand
    - _mac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_hkdf_expand(gnutls_mac_algorithm_t mac, const void
      *key,\n\t\t\t\t   size_t keysize, const void *info,\n\t\t\t\t   size_t infosize,
      void *output, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mac_ctx_init
      Src: /src/gnutls/lib/nettle/mac.c:900,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/mac.c:902,1
    - Dst: struct nettle_mac_ctx::set_key
      Src: /src/gnutls/lib/nettle/mac.c:904,1
    - Dst: pbkdf2
      Src: /src/gnutls/lib/nettle/mac.c:905,1
    - Dst: zeroize_temp_key
      Src: /src/gnutls/lib/nettle/mac.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - mac
    - key
    - keysize
    - salt
    - saltsize
    - iter_count
    - output
    - length
    argTypes:
    - gnutls_mac_algorithm_t
    - void*
    - size_t
    - void*
    - size_t
    - unsigned
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 910
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 910
    functionName: wrap_nettle_pbkdf2
    functionSourceFile: /src/gnutls/lib/nettle/mac.c
    functionUses: 0
    functionsReached:
    - zeroize_temp_key
    - struct nettle_mac_ctx::set_key
    - pbkdf2
    - _mac_ctx_init
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int wrap_nettle_pbkdf2(gnutls_mac_algorithm_t mac, const void *key,\n\t\t\t
      \     size_t keysize, const void *salt, size_t saltsize,\n\t\t\t      unsigned
      iter_count, void *output, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buflen
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: _getrandom0
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _getrandom0(void *buf, size_t buflen, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: have_getrandom
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 0
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: unsigned
    signature: unsigned have_getrandom(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - buflen
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: force_getrandom
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 0
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: int
    signature: int force_getrandom(void *buf, size_t buflen, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: force_getrandom
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:107,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:110,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:111,1
    - Dst: strerror
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - _rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: _rnd_get_system_entropy_getrandom
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 0
    functionsReached:
    - _gnutls_debug_log
    - force_getrandom
    - gnutls_assert
    - strerror
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_getrandom(void *_rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:127,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:129,1
    - Dst: read
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:136,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:142,1
    - Dst: strerror
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:144,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:146,1
    - Dst: close
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:150,1
    - Dst: close
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - _rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 159
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 159
    functionName: _rnd_get_system_entropy_urandom
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - _gnutls_debug_log
    - read
    - strerror
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_urandom(void *_rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: have_getrandom
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:167,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:169,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:172,1
    - Dst: open
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:179,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:183,1
    - Dst: close
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:185,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/sysrng-linux.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 191
    functionName: _rnd_system_entropy_init
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 2
    functionsReached:
    - open
    - close
    - _gnutls_debug_log
    - gnutls_assert_val
    - have_getrandom
    linkageType: ''
    returnType: int
    signature: int _rnd_system_entropy_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: _rnd_system_entropy_deinit
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-linux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _rnd_system_entropy_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_get_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:51,1
    - Dst: mp_set_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:52,1
    - Dst: mp_get_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:53,1
    - Dst: mp_set_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:55,1
    - Dst: mp_set_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: gnutls_crypto_init
    functionSourceFile: /src/gnutls/lib/nettle/init.c
    functionUses: 1
    functionsReached:
    - mp_get_memory_functions
    - mp_set_memory_functions
    linkageType: ''
    returnType: int
    signature: int gnutls_crypto_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp_set_memory_functions
      Src: /src/gnutls/lib/nettle/init.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: gnutls_crypto_deinit
    functionSourceFile: /src/gnutls/lib/nettle/init.c
    functionUses: 1
    functionsReached:
    - mp_set_memory_functions
    linkageType: ''
    returnType: void
    signature: void gnutls_crypto_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: explicit_bzero
      Src: /src/gnutls/lib/nettle/init.c:83,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/init.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: gnutls_free_zero
    functionSourceFile: /src/gnutls/lib/nettle/init.c
    functionUses: 0
    functionsReached:
    - free
    - explicit_bzero
    linkageType: ''
    returnType: void
    signature: void gnutls_free_zero(void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnutls/lib/nettle/init.c:102,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/init.c:104,1
    - Dst: explicit_bzero
      Src: /src/gnutls/lib/nettle/init.c:109,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/init.c:110,1
    - Dst: malloc
      Src: /src/gnutls/lib/nettle/init.c:117,1
    - Dst: explicit_bzero
      Src: /src/gnutls/lib/nettle/init.c:119,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/init.c:120,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/init.c:122,1
    - Dst: MIN
      Src: /src/gnutls/lib/nettle/init.c:122,1
    - Dst: explicit_bzero
      Src: /src/gnutls/lib/nettle/init.c:123,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/init.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - data
    - old_size
    - new_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 127
    functionName: gnutls_realloc_zero
    functionSourceFile: /src/gnutls/lib/nettle/init.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - explicit_bzero
    - MIN
    - memcpy
    - malloc
    - realloc
    linkageType: ''
    returnType: void
    signature: void *gnutls_realloc_zero(void *data, size_t old_size, size_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/gnutls/lib/nettle/sysrng-netbsd.c:53,1
    - Dst: ARRAY_SIZE
      Src: /src/gnutls/lib/nettle/sysrng-netbsd.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - _rnd
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: _rnd_get_system_entropy_sysctl
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-netbsd.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - sysctl
    linkageType: ''
    returnType: int
    signature: int _rnd_get_system_entropy_sysctl(void *_rnd, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: _rnd_system_entropy_init
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-netbsd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _rnd_system_entropy_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: _rnd_system_entropy_deinit
    functionSourceFile: /src/gnutls/lib/nettle/sysrng-netbsd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _rnd_system_entropy_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/rnd.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: wrap_nettle_rnd_deinit
    functionSourceFile: /src/gnutls/lib/nettle/rnd.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_rnd_deinit(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/nettle/rnd.c:98,1
    - Dst: chacha_crypt
      Src: /src/gnutls/lib/nettle/rnd.c:102,1
    - Dst: chacha_crypt
      Src: /src/gnutls/lib/nettle/rnd.c:106,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/nettle/rnd.c:110,1
    - Dst: gnutls_gettime
      Src: /src/gnutls/lib/nettle/rnd.c:112,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/rnd.c:113,1
    - Dst: MIN
      Src: /src/gnutls/lib/nettle/rnd.c:113,1
    - Dst: chacha_set_key
      Src: /src/gnutls/lib/nettle/rnd.c:117,1
    - Dst: chacha_set_nonce
      Src: /src/gnutls/lib/nettle/rnd.c:118,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/rnd.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - new_key
    - new_key_size
    - init
    argTypes:
    - struct prng_ctx_st*
    - uint8_t[]
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: single_prng_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd.c
    functionUses: 0
    functionsReached:
    - chacha_crypt
    - zeroize_key
    - memset
    - MIN
    - _gnutls_get_forkid
    - memcpy
    - chacha_set_key
    - chacha_set_nonce
    - gnutls_gettime
    linkageType: ''
    returnType: int
    signature: "int single_prng_init(struct prng_ctx_st *ctx,\n\t\t\t    uint8_t new_key[PRNG_KEY_SIZE],\n\t\t\t
      \   unsigned new_key_size, unsigned init)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/lib/nettle/rnd.c:135,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd.c:137,1
    - Dst: _rnd_get_system_entropy
      Src: /src/gnutls/lib/nettle/rnd.c:140,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:142,1
    - Dst: single_prng_init
      Src: /src/gnutls/lib/nettle/rnd.c:146,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:148,1
    - Dst: single_prng_init
      Src: /src/gnutls/lib/nettle/rnd.c:153,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:156,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/rnd.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: wrap_nettle_rnd_init
    functionSourceFile: /src/gnutls/lib/nettle/rnd.c
    functionUses: 0
    functionsReached:
    - _rnd_get_system_entropy
    - gnutls_free
    - calloc
    - single_prng_init
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_rnd_init(void **_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:181,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/rnd.c:182,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/rnd.c:189,1
    - Dst: gnutls_time
      Src: /src/gnutls/lib/nettle/rnd.c:191,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/rnd.c:196,1
    - Dst: _gnutls_detect_fork
      Src: /src/gnutls/lib/nettle/rnd.c:196,1
    - Dst: wrap_nettle_rnd
      Src: /src/gnutls/lib/nettle/rnd.c:205,1
    - Dst: _rnd_get_system_entropy
      Src: /src/gnutls/lib/nettle/rnd.c:210,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:214,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:215,1
    - Dst: single_prng_init
      Src: /src/gnutls/lib/nettle/rnd.c:219,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:221,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:222,1
    - Dst: _gnutls_get_forkid
      Src: /src/gnutls/lib/nettle/rnd.c:227,1
    - Dst: chacha_crypt
      Src: /src/gnutls/lib/nettle/rnd.c:230,1
    - Dst: wrap_nettle_rnd
      Src: /src/gnutls/lib/nettle/rnd.c:234,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:237,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:238,1
    - Dst: single_prng_init
      Src: /src/gnutls/lib/nettle/rnd.c:242,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/rnd.c:244,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:245,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/rnd.c:251,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - _ctx
    - level
    - data
    - datasize
    argTypes:
    - void*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 255
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 255
    functionName: wrap_nettle_rnd
    functionSourceFile: /src/gnutls/lib/nettle/rnd.c
    functionUses: 1
    functionsReached:
    - _gnutls_switch_fips_state
    - gnutls_time
    - _rnd_get_system_entropy
    - chacha_crypt
    - gnutls_assert
    - unlikely
    - single_prng_init
    - memset
    - wrap_nettle_rnd
    - _gnutls_get_forkid
    - gnutls_assert_val
    - _gnutls_detect_fork
    linkageType: ''
    returnType: int
    signature: int wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrap_nettle_rnd
      Src: /src/gnutls/lib/nettle/rnd.c:266,1
    - Dst: wrap_nettle_rnd
      Src: /src/gnutls/lib/nettle/rnd.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: wrap_nettle_rnd_refresh
    functionSourceFile: /src/gnutls/lib/nettle/rnd.c
    functionUses: 0
    functionsReached:
    - wrap_nettle_rnd
    linkageType: ''
    returnType: void
    signature: void wrap_nettle_rnd_refresh(void *_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct magma_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: magma_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/magma.c
    functionUses: 2
    functionsReached:
    - READ_UINT32
    linkageType: ''
    returnType: void
    signature: void magma_set_key(struct magma_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/magma.c:55,1
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:58,1
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:60,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/magma.c:62,1
    - Dst: WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:64,1
    - Dst: WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct magma_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: magma_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/magma.c
    functionUses: 0
    functionsReached:
    - assert
    - READ_UINT32
    - WRITE_UINT32
    - gost28147_encrypt_simple
    linkageType: ''
    returnType: void
    signature: "void magma_encrypt(const struct magma_ctx *ctx, size_t length, uint8_t
      *dst,\n\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/magma.c:77,1
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:80,1
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:82,1
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/magma.c:84,1
    - Dst: WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:86,1
    - Dst: WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/magma.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct magma_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: magma_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/magma.c
    functionUses: 0
    functionsReached:
    - assert
    - gost28147_decrypt_simple
    - READ_UINT32
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void magma_decrypt(const struct magma_ctx *ctx, size_t length, uint8_t
      *dst,\n\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/gnutls/lib/nettle/gost/acpkm.c:56,1
    - Dst: encrypt
      Src: /src/gnutls/lib/nettle/gost/acpkm.c:62,1
    - Dst: encrypt
      Src: /src/gnutls/lib/nettle/gost/acpkm.c:68,1
    - Dst: set_key
      Src: /src/gnutls/lib/nettle/gost/acpkm.c:69,1
    - Dst: encrypt
      Src: /src/gnutls/lib/nettle/gost/acpkm.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - cipher
    - encrypt
    - set_key
    - length
    - dst
    - src
    argTypes:
    - struct acpkm_ctx*
    - void*
    - nettle_cipher_func*
    - nettle_set_key_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: acpkm_crypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/acpkm.c
    functionUses: 2
    functionsReached:
    - set_key
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void acpkm_crypt(struct acpkm_ctx *ctx, void *cipher,\n\t\t nettle_cipher_func
      *encrypt, nettle_set_key_func *set_key,\n\t\t size_t length, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:63,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:64,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:65,1
    - Dst: nettle_get_gost_gc256b
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:67,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:68,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:69,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:70,1
    - Dst: abort
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:72,1
    - Dst: mpz_tdiv_r_2exp
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:74,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:75,1
    - Dst: mpz_tdiv_r_2exp
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:78,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:79,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:81,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:82,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:84,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:85,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:87,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:88,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:89,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/gost/gostdsa-mask.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - ecc
    - key
    argTypes:
    - struct ecc_curve*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: gostdsa_unmask_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/gostdsa-mask.c
    functionUses: 1
    functionsReached:
    - abort
    - mpz_tdiv_r_2exp
    - mpz_mul
    - nettle_get_gost_gc256b
    - mpz_mod
    - mpz_init
    - mpz_init_set_str
    - mpz_clear
    - mpz_tdiv_q_2exp
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: int
    signature: int gostdsa_unmask_key(const struct ecc_curve *ecc, mpz_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_SET_KEY
      Src: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cmac_kuznyechik_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: cmac_kuznyechik_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c
    functionUses: 1
    functionsReached:
    - CMAC128_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void cmac_kuznyechik_set_key(struct cmac_kuznyechik_ctx *ctx,\n\t\t\t
      \    const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_UPDATE
      Src: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct cmac_kuznyechik_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: cmac_kuznyechik_update
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c
    functionUses: 0
    functionsReached:
    - CMAC128_UPDATE
    linkageType: ''
    returnType: void
    signature: "void cmac_kuznyechik_update(struct cmac_kuznyechik_ctx *ctx, size_t
      length,\n\t\t\t    const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_DIGEST
      Src: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct cmac_kuznyechik_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: cmac_kuznyechik_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-kuznyechik.c
    functionUses: 0
    functionsReached:
    - CMAC128_DIGEST
    linkageType: ''
    returnType: void
    signature: "void cmac_kuznyechik_digest(struct cmac_kuznyechik_ctx *ctx, size_t
      length,\n\t\t\t    uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: S
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 159
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S(uint8_t *a, const uint8_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: Sinv
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sinv(uint8_t *a, const uint8_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:90,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:91,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:92,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:93,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:94,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:95,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:96,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:97,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:98,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:99,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:100,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:101,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:102,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:103,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:104,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: Linv
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memxor
    linkageType: ''
    returnType: void
    signature: void Linv(uint8_t *a, const uint8_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:115,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:117,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:118,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:119,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:120,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:121,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:122,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:123,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:124,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:125,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:126,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:127,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:128,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:129,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:130,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:131,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: LSX
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memxor3
    - memxor
    linkageType: ''
    returnType: void
    signature: void LSX(uint8_t *a, const uint8_t *b, const uint8_t *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:141,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:142,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:143,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:144,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:145,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:146,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:147,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:148,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:149,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:150,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:151,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:152,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:153,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:154,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:155,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:156,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: XLiSi
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memxor3
    - memxor
    linkageType: ''
    returnType: void
    signature: void XLiSi(uint8_t *a, const uint8_t *b, const uint8_t *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:164,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:165,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:166,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:167,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:168,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:169,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:170,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:171,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:172,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:173,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:174,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:175,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:176,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:177,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:178,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - key
    - i
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: subkey
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - memxor
    - memxor3
    - LSX
    linkageType: ''
    returnType: void
    signature: void subkey(uint8_t *out, const uint8_t *key, unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:186,1
    - Dst: subkey
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:187,1
    - Dst: subkey
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:188,1
    - Dst: subkey
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:189,1
    - Dst: subkey
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:190,1
    - Dst: Linv
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct kuznyechik_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: kuznyechik_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 2
    functionsReached:
    - memcpy
    - Linv
    - subkey
    linkageType: ''
    returnType: void
    signature: void kuznyechik_set_key(struct kuznyechik_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:200,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:203,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:204,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:205,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:206,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:207,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:208,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:209,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:210,1
    - Dst: LSX
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:211,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct kuznyechik_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: kuznyechik_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - assert
    - memxor3
    - LSX
    linkageType: ''
    returnType: void
    signature: "void kuznyechik_encrypt(const struct kuznyechik_ctx *ctx, size_t length,\n\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:224,1
    - Dst: S
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:227,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:228,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:229,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:230,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:231,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:232,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:233,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:234,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:235,1
    - Dst: XLiSi
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:236,1
    - Dst: Sinv
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:237,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/gost/kuznyechik.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct kuznyechik_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: kuznyechik_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/kuznyechik.c
    functionUses: 0
    functionsReached:
    - assert
    - memxor
    - Sinv
    - XLiSi
    - S
    linkageType: ''
    returnType: void
    signature: "void kuznyechik_decrypt(const struct kuznyechik_ctx *ctx, size_t length,\n\t\t\tuint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:814,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:815,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:816,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:817,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:818,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:819,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:820,1
    - Dst: strido
      Src: /src/gnutls/lib/nettle/gost/streebog.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: LPSX
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - strido
    linkageType: ''
    returnType: void
    signature: void LPSX(uint64_t *out, const uint64_t *a, const uint64_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LPSX
      Src: /src/gnutls/lib/nettle/gost/streebog.c:830,1
    - Dst: LPSX
      Src: /src/gnutls/lib/nettle/gost/streebog.c:832,1
    - Dst: LPSX
      Src: /src/gnutls/lib/nettle/gost/streebog.c:833,1
    - Dst: LPSX
      Src: /src/gnutls/lib/nettle/gost/streebog.c:835,1
    - Dst: LPSX
      Src: /src/gnutls/lib/nettle/gost/streebog.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - h
    - m
    - N
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 847
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 847
    functionName: g
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 953
    functionsReached:
    - LPSX
    linkageType: ''
    returnType: void
    signature: void g(uint64_t *h, uint64_t *m, uint64_t *N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT64
      Src: /src/gnutls/lib/nettle/gost/streebog.c:857,1
    - Dst: g
      Src: /src/gnutls/lib/nettle/gost/streebog.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - input
    - count
    argTypes:
    - struct streebog512_ctx*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 877
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 877
    functionName: streebog512_compress
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - g
    - LE_READ_UINT64
    linkageType: ''
    returnType: void
    signature: "void streebog512_compress(struct streebog512_ctx *ctx,\n\t\t\t\t const
      uint8_t *input, size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_compress
      Src: /src/gnutls/lib/nettle/gost/streebog.c:890,1
    - Dst: g
      Src: /src/gnutls/lib/nettle/gost/streebog.c:892,1
    - Dst: g
      Src: /src/gnutls/lib/nettle/gost/streebog.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog512_ctx*
    constantsTouched: []
    func_position:
      end: 894
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 894
    functionName: streebog_final
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_compress
    - g
    linkageType: ''
    returnType: void
    signature: void streebog_final(struct streebog512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:900,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:901,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog512_ctx*
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: streebog512_init
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void streebog512_init(struct streebog512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/gnutls/lib/nettle/gost/streebog.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: streebog512_update
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void streebog512_update(struct streebog512_ctx *ctx, size_t length,\n\t\t\tconst
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/streebog.c:921,1
    - Dst: streebog_final
      Src: /src/gnutls/lib/nettle/gost/streebog.c:923,1
    - Dst: LE_WRITE_UINT64
      Src: /src/gnutls/lib/nettle/gost/streebog.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - offset
    - length
    - digest
    argTypes:
    - struct streebog512_ctx*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 940
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 940
    functionName: streebog512_write_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - LE_WRITE_UINT64
    - assert
    - streebog_final
    linkageType: ''
    returnType: void
    signature: "void streebog512_write_digest(struct streebog512_ctx *ctx, size_t
      offset,\n\t\t\t\t     size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/streebog.c:945,1
    - Dst: streebog512_write_digest
      Src: /src/gnutls/lib/nettle/gost/streebog.c:947,1
    - Dst: streebog512_init
      Src: /src/gnutls/lib/nettle/gost/streebog.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: streebog512_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_init
    - streebog512_write_digest
    - assert
    linkageType: ''
    returnType: void
    signature: "void streebog512_digest(struct streebog512_ctx *ctx, size_t length,\n\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:953,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:954,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/streebog.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog256_ctx*
    constantsTouched: []
    func_position:
      end: 959
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 959
    functionName: streebog256_init
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void streebog256_init(struct streebog256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/streebog.c:964,1
    - Dst: streebog512_write_digest
      Src: /src/gnutls/lib/nettle/gost/streebog.c:966,1
    - Dst: streebog256_init
      Src: /src/gnutls/lib/nettle/gost/streebog.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct streebog256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: streebog256_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_write_digest
    - assert
    - streebog256_init
    linkageType: ''
    returnType: void
    signature: "void streebog256_digest(struct streebog256_ctx *ctx, size_t length,\n\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8329,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8330,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8331,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8332,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8333,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8334,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8335,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8336,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8337,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8338,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8339,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8340,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8341,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8342,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8343,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - key
    - sbox
    - in
    - out
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 8346
      start: 8323
    functionDepth: 0
    functionLinenumber: 8323
    functionLinenumberEnd: 8346
    functionName: gost28147_encrypt_simple
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - GOST_ENCRYPT_ROUND
    linkageType: ''
    returnType: void
    signature: "void gost28147_encrypt_simple(const uint32_t *key, const uint32_t
      *sbox,\n\t\t\t      const uint32_t *in, uint32_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8354,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8355,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8356,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8357,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8358,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8359,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8360,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8361,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8362,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8363,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8364,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8365,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8366,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8367,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8368,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - key
    - sbox
    - in
    - out
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 8371
      start: 8348
    functionDepth: 0
    functionLinenumber: 8348
    functionLinenumberEnd: 8371
    functionName: gost28147_decrypt_simple
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - GOST_ENCRYPT_ROUND
    linkageType: ''
    returnType: void
    signature: "void gost28147_decrypt_simple(const uint32_t *key, const uint32_t
      *sbox,\n\t\t\t      const uint32_t *in, uint32_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8379,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8380,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8381,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8382,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8383,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8384,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8385,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - key
    - sbox
    - in
    - out
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 8388
      start: 8373
    functionDepth: 0
    functionLinenumber: 8373
    functionLinenumberEnd: 8388
    functionName: gost28147_imit_simple
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - GOST_ENCRYPT_ROUND
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_simple(const uint32_t *key, const uint32_t *sbox,\n\t\t\t\t
      \ const uint32_t *in, uint32_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8400,1
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8404,1
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8408,1
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8412,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct gost28147_ctx*
    constantsTouched: []
    func_position:
      end: 8418
      start: 8396
    functionDepth: 1
    functionLinenumber: 8396
    functionLinenumberEnd: 8418
    functionName: gost28147_key_mesh_cryptopro
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gost28147_decrypt_simple
    linkageType: ''
    returnType: void
    signature: void gost28147_key_mesh_cryptopro(struct gost28147_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8424,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gost28147_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8428
      start: 8420
    functionDepth: 1
    functionLinenumber: 8420
    functionLinenumberEnd: 8428
    functionName: gost28147_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 5
    functionsReached:
    - assert
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void gost28147_set_key(struct gost28147_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - struct gost28147_ctx*
    - struct gost28147_param*
    constantsTouched: []
    func_position:
      end: 8436
      start: 8430
    functionDepth: 1
    functionLinenumber: 8430
    functionLinenumberEnd: 8436
    functionName: gost28147_set_param
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void gost28147_set_param(struct gost28147_ctx *ctx,\n\t\t\t const
      struct gost28147_param *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8443,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8446,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8448,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8450,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8451,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gost28147_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8457
      start: 8438
    functionDepth: 1
    functionLinenumber: 8438
    functionLinenumberEnd: 8457
    functionName: gost28147_encrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - assert
    - LE_WRITE_UINT32
    - LE_READ_UINT32
    - gost28147_encrypt_simple
    linkageType: ''
    returnType: void
    signature: "void gost28147_encrypt(const struct gost28147_ctx *ctx, size_t length,\n\t\t
      \      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8464,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8467,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8469,1
    - Dst: gost28147_decrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8471,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8472,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gost28147_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8478
      start: 8459
    functionDepth: 1
    functionLinenumber: 8459
    functionLinenumberEnd: 8478
    functionName: gost28147_decrypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - assert
    - gost28147_decrypt_simple
    - LE_WRITE_UINT32
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void gost28147_decrypt(const struct gost28147_ctx *ctx, size_t length,\n\t\t
      \      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8485,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8488,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8490,1
    - Dst: gost28147_key_mesh_cryptopro
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8493,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8494,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8498,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8499,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gost28147_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8506
      start: 8480
    functionDepth: 2
    functionLinenumber: 8480
    functionLinenumberEnd: 8506
    functionName: gost28147_encrypt_for_cfb
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - assert
    - gost28147_encrypt_simple
    - LE_READ_UINT32
    - gost28147_key_mesh_cryptopro
    - LE_WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void gost28147_encrypt_for_cfb(struct gost28147_ctx *ctx, size_t length,\n\t\t\t
      \      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_key_mesh_cryptopro
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8514,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8515,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8527,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8529,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - struct gost28147_cnt_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8533
      start: 8508
    functionDepth: 2
    functionLinenumber: 8508
    functionLinenumberEnd: 8533
    functionName: gost28147_cnt_next_iv
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - gost28147_key_mesh_cryptopro
    - gost28147_encrypt_simple
    - LE_WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void gost28147_cnt_next_iv(struct gost28147_cnt_ctx *ctx, uint8_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8538,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - key
    - param
    argTypes:
    - struct gost28147_cnt_ctx*
    - uint8_t*
    - struct gost28147_param*
    constantsTouched: []
    func_position:
      end: 8541
      start: 8535
    functionDepth: 2
    functionLinenumber: 8535
    functionLinenumberEnd: 8541
    functionName: gost28147_cnt_init
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - gost28147_set_key
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: "void gost28147_cnt_init(struct gost28147_cnt_ctx *ctx, const uint8_t
      *key,\n\t\t\tconst struct gost28147_param *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8547,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8548,1
    - Dst: gost28147_encrypt_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct gost28147_cnt_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8551
      start: 8543
    functionDepth: 1
    functionLinenumber: 8543
    functionLinenumberEnd: 8551
    functionName: gost28147_cnt_set_iv
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - gost28147_encrypt_simple
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void gost28147_cnt_set_iv(struct gost28147_cnt_ctx *ctx, const uint8_t
      *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8560,1
    - Dst: gost28147_cnt_next_iv
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8568,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8569,1
    - Dst: gost28147_cnt_next_iv
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8576,1
    - Dst: memxor3
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gost28147_cnt_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8580
      start: 8553
    functionDepth: 3
    functionLinenumber: 8553
    functionLinenumberEnd: 8580
    functionName: gost28147_cnt_crypt
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - gost28147_cnt_next_iv
    - memxor3
    linkageType: ''
    returnType: void
    signature: "void gost28147_cnt_crypt(struct gost28147_cnt_ctx *ctx, size_t length,\n\t\t\t
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct gost28147_imit_ctx*
    constantsTouched: []
    func_position:
      end: 8588
      start: 8582
    functionDepth: 0
    functionLinenumber: 8582
    functionLinenumberEnd: 8588
    functionName: _gost28147_imit_reinit
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gost28147_imit_reinit(struct gost28147_imit_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8593,1
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8594,1
    - Dst: _gost28147_imit_reinit
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8596,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct gost28147_imit_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8598
      start: 8590
    functionDepth: 2
    functionLinenumber: 8590
    functionLinenumberEnd: 8598
    functionName: gost28147_imit_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - assert
    - gost28147_set_key
    - _gost28147_imit_reinit
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_set_key(struct gost28147_imit_ctx *ctx, size_t
      length,\n\t\t\t    const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8603,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct gost28147_imit_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8605
      start: 8600
    functionDepth: 0
    functionLinenumber: 8600
    functionLinenumberEnd: 8605
    functionName: gost28147_imit_set_nonce
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_set_nonce(struct gost28147_imit_ctx *ctx,\n\t\t\t
      \     const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8610,1
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - struct gost28147_imit_ctx*
    - struct gost28147_param*
    constantsTouched: []
    func_position:
      end: 8612
      start: 8607
    functionDepth: 2
    functionLinenumber: 8607
    functionLinenumberEnd: 8612
    functionName: gost28147_imit_set_param
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 1
    functionsReached:
    - assert
    - gost28147_set_param
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_set_param(struct gost28147_imit_ctx *ctx,\n\t\t\t
      \     const struct gost28147_param *param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gost28147_key_mesh_cryptopro
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8620,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8622,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8623,1
    - Dst: gost28147_imit_simple
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - struct gost28147_imit_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8626
      start: 8614
    functionDepth: 2
    functionLinenumber: 8614
    functionLinenumberEnd: 8626
    functionName: gost28147_imit_compress
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - gost28147_key_mesh_cryptopro
    - gost28147_imit_simple
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_compress(struct gost28147_imit_ctx *ctx,\n\t\t\t\t
      \   const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gost28147_imit_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8632
      start: 8628
    functionDepth: 0
    functionLinenumber: 8628
    functionLinenumberEnd: 8632
    functionName: gost28147_imit_update
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_update(struct gost28147_imit_ctx *ctx, size_t
      length,\n\t\t\t   const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8637,1
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8641,1
    - Dst: gost28147_imit_update
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8642,1
    - Dst: gost28147_imit_update
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8647,1
    - Dst: _nettle_write_le32
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8650,1
    - Dst: _gost28147_imit_reinit
      Src: /src/gnutls/lib/nettle/gost/gost28147.c:8651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct gost28147_imit_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 8652
      start: 8634
    functionDepth: 1
    functionLinenumber: 8634
    functionLinenumberEnd: 8652
    functionName: gost28147_imit_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost28147.c
    functionUses: 0
    functionsReached:
    - _gost28147_imit_reinit
    - assert
    - gost28147_imit_update
    - _nettle_write_le32
    linkageType: ''
    returnType: void
    signature: "void gost28147_imit_digest(struct gost28147_imit_ctx *ctx, size_t
      length,\n\t\t\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/write-le32.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: _nettle_write_le32
    functionSourceFile: /src/gnutls/lib/nettle/gost/write-le32.c
    functionUses: 1
    functionsReached:
    - LE_WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_write_le32(size_t length, uint8_t *dst, const uint32_t
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/nettle/gost/hmac-streebog.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: hmac_streebog512_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/hmac-streebog.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,\n\t\t\t
      \     size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_update
      Src: /src/gnutls/lib/nettle/gost/hmac-streebog.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: hmac_streebog512_update
    functionSourceFile: /src/gnutls/lib/nettle/gost/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_update
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_update(struct hmac_streebog512_ctx *ctx, size_t
      length,\n\t\t\t     const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/nettle/gost/hmac-streebog.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: hmac_streebog512_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx, size_t
      length,\n\t\t\t     uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/gnutls/lib/nettle/gost/hmac-streebog.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_streebog256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: hmac_streebog256_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/hmac-streebog.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,\n\t\t\t
      \     size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/gnutls/lib/nettle/gost/hmac-streebog.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct hmac_streebog256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: hmac_streebog256_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx, size_t
      length,\n\t\t\t     uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_SET_KEY
      Src: /src/gnutls/lib/nettle/gost/cmac-magma.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cmac_magma_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: cmac_magma_set_key
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-magma.c
    functionUses: 1
    functionsReached:
    - CMAC64_SET_KEY
    linkageType: ''
    returnType: void
    signature: void cmac_magma_set_key(struct cmac_magma_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_UPDATE
      Src: /src/gnutls/lib/nettle/gost/cmac-magma.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct cmac_magma_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: cmac_magma_update
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-magma.c
    functionUses: 0
    functionsReached:
    - CMAC64_UPDATE
    linkageType: ''
    returnType: void
    signature: "void cmac_magma_update(struct cmac_magma_ctx *ctx, size_t length,\n\t\t
      \      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_DIGEST
      Src: /src/gnutls/lib/nettle/gost/cmac-magma.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct cmac_magma_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: cmac_magma_digest
    functionSourceFile: /src/gnutls/lib/nettle/gost/cmac-magma.c
    functionUses: 0
    functionsReached:
    - CMAC64_DIGEST
    linkageType: ''
    returnType: void
    signature: "void cmac_magma_digest(struct cmac_magma_ctx *ctx, size_t length,\n\t\t
      \      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:46,1
    - Dst: LE_READ_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:55,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:63,1
    - Dst: LE_WRITE_UINT32
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:64,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:66,1
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:67,1
    - Dst: cfb_encrypt
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - param
    - in
    - ukm
    - out
    argTypes:
    - struct gost28147_param*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: gost28147_kdf_cryptopro
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost-wrap.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    - cfb_encrypt
    - LE_WRITE_UINT32
    - gost28147_set_key
    - gost28147_set_param
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gost28147_kdf_cryptopro(const struct gost28147_param *param,\n\t\t\t
      \    const uint8_t *in, const uint8_t *ukm,\n\t\t\t     uint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:84,1
    - Dst: gost28147_kdf_cryptopro
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:86,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:87,1
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:88,1
    - Dst: gost28147_encrypt
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:89,1
    - Dst: gost28147_imit_set_key
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:91,1
    - Dst: gost28147_imit_set_param
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:92,1
    - Dst: gost28147_imit_set_nonce
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:93,1
    - Dst: gost28147_imit_update
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:94,1
    - Dst: gost28147_imit_digest
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - param
    - kek
    - ukm
    - ukm_size
    - cek
    - enc
    - imit
    argTypes:
    - struct gost28147_param*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: gost28147_key_wrap_cryptopro
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost-wrap.c
    functionUses: 1
    functionsReached:
    - assert
    - gost28147_encrypt
    - gost28147_imit_set_key
    - gost28147_imit_set_param
    - gost28147_imit_digest
    - gost28147_set_param
    - gost28147_set_key
    - gost28147_imit_set_nonce
    - gost28147_kdf_cryptopro
    - gost28147_imit_update
    linkageType: ''
    returnType: void
    signature: "void gost28147_key_wrap_cryptopro(const struct gost28147_param *param,\n\t\t\t\t
      \ const uint8_t *kek, const uint8_t *ukm,\n\t\t\t\t  size_t ukm_size, const
      uint8_t *cek,\n\t\t\t\t  uint8_t *enc, uint8_t *imit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:108,1
    - Dst: gost28147_kdf_cryptopro
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:110,1
    - Dst: gost28147_set_key
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:111,1
    - Dst: gost28147_set_param
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:112,1
    - Dst: gost28147_decrypt
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:113,1
    - Dst: gost28147_imit_set_key
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:115,1
    - Dst: gost28147_imit_set_param
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:116,1
    - Dst: gost28147_imit_set_nonce
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:117,1
    - Dst: gost28147_imit_update
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:118,1
    - Dst: gost28147_imit_digest
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:119,1
    - Dst: memeql_sec
      Src: /src/gnutls/lib/nettle/gost/gost-wrap.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 7
    argNames:
    - param
    - kek
    - ukm
    - ukm_size
    - enc
    - imit
    - cek
    argTypes:
    - struct gost28147_param*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: gost28147_key_unwrap_cryptopro
    functionSourceFile: /src/gnutls/lib/nettle/gost/gost-wrap.c
    functionUses: 1
    functionsReached:
    - assert
    - gost28147_decrypt
    - memeql_sec
    - gost28147_imit_set_key
    - gost28147_imit_set_param
    - gost28147_imit_digest
    - gost28147_set_param
    - gost28147_set_key
    - gost28147_imit_set_nonce
    - gost28147_kdf_cryptopro
    - gost28147_imit_update
    linkageType: ''
    returnType: int
    signature: "int gost28147_key_unwrap_cryptopro(const struct gost28147_param *param,\n\t\t\t\t
      \  const uint8_t *kek, const uint8_t *ukm,\n\t\t\t\t   size_t ukm_size, const
      uint8_t *enc,\n\t\t\t\t   const uint8_t *imit, uint8_t *cek)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:49,1
    - Dst: mpz_sgn
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:49,1
    - Dst: assert
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:55,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:55,1
    - Dst: mpz_export
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:56,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - length
    - s
    - x
    argTypes:
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: nettle_mpz_get_str_256_u_le
    functionSourceFile: /src/gnutls/lib/nettle/gost/bignum-le.c
    functionUses: 1
    functionsReached:
    - mpz_sgn
    - assert
    - mpz_export
    - nettle_mpz_sizeinbase_256_u
    - memset
    linkageType: ''
    returnType: void
    signature: void nettle_mpz_get_str_256_u_le(size_t length, uint8_t *s, const mpz_t
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_from_octets_le
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: nettle_mpz_set_str_256_u_le
    functionSourceFile: /src/gnutls/lib/nettle/gost/bignum-le.c
    functionUses: 1
    functionsReached:
    - nettle_mpz_from_octets_le
    linkageType: ''
    returnType: void
    signature: void nettle_mpz_set_str_256_u_le(mpz_t x, size_t length, const uint8_t
      *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:70,1
    - Dst: nettle_mpz_from_octets_le
      Src: /src/gnutls/lib/nettle/gost/bignum-le.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: nettle_mpz_init_set_str_256_u_le
    functionSourceFile: /src/gnutls/lib/nettle/gost/bignum-le.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_from_octets_le
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void nettle_mpz_init_set_str_256_u_le(mpz_t x, size_t length, const
      uint8_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 711
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 711
    functionName: small_prime_check
    functionSourceFile: /src/gnutls/lib/nettle/int/provable-prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned small_prime_check(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - nominal
    argTypes:
    - mpz_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 723
    functionName: mpz_seed_sizeinbase_256_u
    functionSourceFile: /src/gnutls/lib/nettle/int/provable-prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned mpz_seed_sizeinbase_256_u(mpz_t s, unsigned nominal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:741,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:743,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:747,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:750,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:756,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:758,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:760,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:762,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:766,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:768,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:770,1
    - Dst: READ_UINT32
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:775,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:785,1
    - Dst: small_prime_check
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:788,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:794,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:800,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:803,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:807,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:814,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:818,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 9
    argNames:
    - p
    - prime_seed_length
    - prime_seed
    - prime_gen_counter
    - bits
    - seed_length
    - seed
    - progress_ctx
    - progress
    argTypes:
    - mpz_t
    - unsigned*
    - void*
    - unsigned*
    - unsigned
    - unsigned
    - void*
    - void*
    - nettle_progress_func*
    constantsTouched: []
    func_position:
      end: 820
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 820
    functionName: st_provable_prime_small
    functionSourceFile: /src/gnutls/lib/nettle/int/provable-prime.c
    functionUses: 0
    functionsReached:
    - assert
    - memxor
    - nettle_mpz_set_str_256_u
    - mpz_seed_sizeinbase_256_u
    - nettle_mpz_get_str_256
    - mpz_add_ui
    - READ_UINT32
    - small_prime_check
    - progress
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - hash
    linkageType: ''
    returnType: int
    signature: "int st_provable_prime_small(mpz_t p, unsigned *prime_seed_length,\n\t\t\t\t
      \  void *prime_seed,\n\t\t\t\t   unsigned *prime_gen_counter, unsigned bits,\n\t\t\t\t
      \  unsigned seed_length, const void *seed,\n\t\t\t\t   void *progress_ctx,\n\t\t\t\t
      \  nettle_progress_func *progress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: st_provable_prime_small
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:853,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:859,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:860,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:861,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:862,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:863,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:864,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:865,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:866,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:870,1
    - Dst: st_provable_prime
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:874,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:875,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:880,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:883,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:886,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:890,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:896,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:899,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:901,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:903,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:906,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:910,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:911,1
    - Dst: mpz_fdiv_r_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:913,1
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:914,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:919,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:920,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:924,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:925,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:927,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:928,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:931,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:934,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:935,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:938,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:939,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:944,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:948,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:952,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:954,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:956,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:960,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:964,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:965,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:966,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:969,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:970,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:972,1
    - Dst: mpz_gcd
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:974,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:976,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:977,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:978,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:979,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:982,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:987,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1000,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1006,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1017,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1018,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1019,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1020,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1021,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1022,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1023,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1024,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1025,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/int/provable-prime.c:1026,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 129
    argCount: 9
    argNames:
    - p
    - prime_seed_length
    - prime_seed
    - prime_gen_counter
    - bits
    - seed_length
    - seed
    - progress_ctx
    - progress
    argTypes:
    - mpz_t
    - unsigned*
    - void*
    - unsigned*
    - unsigned
    - unsigned
    - void*
    - void*
    - nettle_progress_func*
    constantsTouched: []
    func_position:
      end: 1028
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 1028
    functionName: st_provable_prime
    functionSourceFile: /src/gnutls/lib/nettle/int/provable-prime.c
    functionUses: 1
    functionsReached:
    - nettle_mpz_set_str_256_u
    - gnutls_malloc
    - st_provable_prime_small
    - mpz_powm
    - mpz_gcd
    - mpz_cmp_ui
    - st_provable_prime
    - mpz_mul_2exp
    - div_ceil
    - mpz_mul
    - mpz_cdiv_q
    - mpz_fdiv_r_2exp
    - mpz_seed_sizeinbase_256_u
    - nettle_mpz_get_str_256
    - mpz_cmp
    - mpz_fdiv_q_2exp
    - mpz_add
    - gnutls_free
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_mod
    - mpz_set
    - progress
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - hash
    linkageType: ''
    returnType: int
    signature: "int st_provable_prime(mpz_t p, unsigned *prime_seed_length, void *prime_seed,\n\t\t
      \     unsigned *prime_gen_counter, unsigned bits,\n\t\t      unsigned seed_length,
      const void *seed,\n\t\t      void *progress_ctx, nettle_progress_func *progress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:37,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:38,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:39,1
    - Dst: aes256_set_encrypt_key
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:41,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - entropy_size
    - entropy
    - pstring_size
    - pstring
    argTypes:
    - struct drbg_aes_ctx*
    - unsigned
    - uint8_t*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: drbg_aes_init
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 1
    functionsReached:
    - assert
    - drbg_aes_reseed
    - aes256_set_encrypt_key
    - memset
    linkageType: ''
    returnType: int
    signature: "int drbg_aes_init(struct drbg_aes_ctx *ctx, unsigned entropy_size,\n\t\t
      \ const uint8_t *entropy, unsigned pstring_size,\n\t\t  const uint8_t *pstring)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:56,1
    - Dst: aes256_encrypt
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:57,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:62,1
    - Dst: aes256_set_encrypt_key
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:64,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pdata
    argTypes:
    - struct drbg_aes_ctx*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: drbg_aes_update
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 0
    functionsReached:
    - memxor
    - aes256_set_encrypt_key
    - aes256_encrypt
    - INCREMENT
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void drbg_aes_update(struct drbg_aes_ctx *ctx,\n\t\t\t    const uint8_t
      pdata[DRBG_AES_SEED_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:82,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:87,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:89,1
    - Dst: drbg_aes_update
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - entropy_size
    - entropy
    - add_size
    - add
    argTypes:
    - struct drbg_aes_ctx*
    - unsigned
    - uint8_t*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: drbg_aes_reseed
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 2
    functionsReached:
    - memcpy
    - drbg_aes_update
    - memxor
    - memset
    linkageType: ''
    returnType: int
    signature: "int drbg_aes_reseed(struct drbg_aes_ctx *ctx, unsigned entropy_size,\n\t\t
      \   const uint8_t *entropy, unsigned add_size,\n\t\t    const uint8_t *add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:105,1
    - Dst: drbg_aes_generate
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - length
    - dst
    argTypes:
    - struct drbg_aes_ctx*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: drbg_aes_random
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 1
    functionsReached:
    - MIN
    - drbg_aes_generate
    linkageType: ''
    returnType: int
    signature: int drbg_aes_random(struct drbg_aes_ctx *ctx, unsigned length, uint8_t
      *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:126,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:129,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:133,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:134,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:136,1
    - Dst: drbg_aes_update
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:139,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:141,1
    - Dst: INCREMENT
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:147,1
    - Dst: aes256_encrypt
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:148,1
    - Dst: INCREMENT
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:152,1
    - Dst: aes256_encrypt
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:153,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:154,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:158,1
    - Dst: drbg_aes_update
      Src: /src/gnutls/lib/nettle/int/drbg-aes.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - length
    - dst
    - add_size
    - add
    argTypes:
    - struct drbg_aes_ctx*
    - unsigned
    - uint8_t*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 164
    functionName: drbg_aes_generate
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 1
    functionsReached:
    - aes256_encrypt
    - INCREMENT
    - memset
    - memcpy
    - gnutls_assert_val
    - drbg_aes_update
    linkageType: ''
    returnType: int
    signature: "int drbg_aes_generate(struct drbg_aes_ctx *ctx, unsigned length, uint8_t
      *dst,\n\t\t      unsigned add_size, const uint8_t *add)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct drbg_aes_ctx*
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: drbg_aes_is_seeded
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int drbg_aes_is_seeded(struct drbg_aes_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/gnutls/lib/nettle/int/mpn-base256.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - mp_limb_t*
    - mp_size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: mpn_set_base256
    functionSourceFile: /src/gnutls/lib/nettle/int/mpn-base256.c
    functionUses: 0
    functionsReached:
    - mpn_zero
    linkageType: ''
    returnType: void
    signature: void mpn_set_base256(mp_limb_t *rp, mp_size_t rn, const uint8_t *xp,
      size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - uint8_t*
    - size_t
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: mpn_get_base256
    functionSourceFile: /src/gnutls/lib/nettle/int/mpn-base256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_get_base256(uint8_t *rp, size_t rn, const mp_limb_t *xp, mp_size_t
      xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:59,1
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:61,1
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:64,1
    - Dst: digest
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:66,1
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:68,1
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:69,1
    - Dst: update
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:71,1
    - Dst: digest
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 10
    argNames:
    - mac_ctx
    - update
    - digest
    - digest_size
    - seed_size
    - seed
    - label_size
    - label
    - dst_length
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: P_hash
    functionSourceFile: /src/gnutls/lib/nettle/int/tls1-prf.c
    functionUses: 0
    functionsReached:
    - digest
    - update
    linkageType: ''
    returnType: void
    signature: "void P_hash(void *mac_ctx, nettle_hash_update_func *update,\n\t\t
      \  nettle_hash_digest_func *digest, size_t digest_size,\n\t\t   size_t seed_size,
      const uint8_t *seed, size_t label_size,\n\t\t   const char *label, size_t dst_length,
      uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_set_key
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:105,1
    - Dst: P_hash
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:107,1
    - Dst: hmac_sha1_set_key
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:111,1
    - Dst: P_hash
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:113,1
    - Dst: memxor
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - secret_size
    - secret
    - label_size
    - label
    - seed_size
    - seed
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - char*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 120
    functionName: tls10_prf
    functionSourceFile: /src/gnutls/lib/nettle/int/tls1-prf.c
    functionUses: 1
    functionsReached:
    - P_hash
    - hmac_sha1_set_key
    - memxor
    - hmac_md5_set_key
    linkageType: ''
    returnType: int
    signature: "int tls10_prf(size_t secret_size, const uint8_t *secret, size_t label_size,\n\t
      \     const char *label, size_t seed_size, const uint8_t *seed,\n\t      size_t
      length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P_hash
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:147,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:159,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:160,1
    - Dst: _gnutls_switch_fips_state
      Src: /src/gnutls/lib/nettle/int/tls1-prf.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 10
    argNames:
    - mac_ctx
    - update
    - digest
    - digest_size
    - label_size
    - label
    - seed_size
    - seed
    - length
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - size_t
    - char*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: tls12_prf
    functionSourceFile: /src/gnutls/lib/nettle/int/tls1-prf.c
    functionUses: 1
    functionsReached:
    - P_hash
    - _gnutls_switch_fips_state
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int tls12_prf(void *mac_ctx, nettle_hash_update_func *update,\n\t
      \     nettle_hash_digest_func *digest, size_t digest_size,\n\t      size_t label_size,
      const char *label, size_t seed_size,\n\t      const uint8_t *seed, size_t length,
      uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:41,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - q_bits
    - p_bits
    - generate
    argTypes:
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: _dsa_check_qp_sizes
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 0
    functionsReached:
    - FIPS_RULE
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _dsa_check_qp_sizes(unsigned q_bits, unsigned p_bits,\n\t\t\t
      \    unsigned generate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dsa_check_qp_sizes
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:76,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:82,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:88,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:89,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:90,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:91,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:92,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:93,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:94,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:97,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:98,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:100,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:101,1
    - Dst: st_provable_prime
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:108,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:116,1
    - Dst: st_provable_prime
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:118,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:119,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:126,1
    - Dst: malloc
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:131,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:136,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:138,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:139,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:142,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:144,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:148,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:151,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:152,1
    - Dst: mpz_fdiv_r_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:154,1
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:155,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:160,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:161,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:163,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:167,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:168,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:170,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:172,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:173,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:174,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:177,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:178,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:183,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:187,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:188,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:191,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:193,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:197,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:200,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:201,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:204,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:206,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:207,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:210,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:211,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:212,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:214,1
    - Dst: mpz_gcd
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:216,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:217,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:218,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:219,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:225,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:230,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:235,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:244,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:245,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:246,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:247,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:248,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:249,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:250,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:251,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 129
    argCount: 8
    argNames:
    - params
    - cert
    - seed_length
    - seed
    - progress_ctx
    - progress
    - p_bits
    - q_bits
    argTypes:
    - struct dsa_params*
    - struct dss_params_validation_seeds*
    - unsigned
    - void*
    - void*
    - nettle_progress_func*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 253
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 253
    functionName: _dsa_generate_dss_pq
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_u
    - mpz_powm
    - mpz_gcd
    - mpz_sizeinbase
    - mpz_cmp_ui
    - mpz_mul_2exp
    - st_provable_prime
    - div_ceil
    - mpz_mul
    - free
    - nettle_mpz_sizeinbase_256_u
    - mpz_cdiv_q
    - _gnutls_debug_log
    - mpz_fdiv_r_2exp
    - nettle_mpz_get_str_256
    - mpz_cmp
    - mpz_add
    - malloc
    - _dsa_check_qp_sizes
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_mod
    - progress
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - hash
    linkageType: ''
    returnType: int
    signature: "int _dsa_generate_dss_pq(struct dsa_params *params,\n\t\t\t struct
      dss_params_validation_seeds *cert,\n\t\t\t unsigned seed_length, void *seed,
      void *progress_ctx,\n\t\t\t nettle_progress_func *progress,\n\t\t\t unsigned
      p_bits /* = L */, unsigned q_bits /* = N */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:271,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:275,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:276,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:278,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:281,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:287,1
    - Dst: mpz_fdiv_q
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:288,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:294,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:296,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:298,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:300,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:305,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:310,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:316,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:321,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:322,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 6
    argNames:
    - params
    - domain_seed_size
    - domain_seed
    - progress_ctx
    - progress
    - index
    argTypes:
    - struct dsa_params*
    - unsigned
    - uint8_t*
    - void*
    - nettle_progress_func*
    - unsigned
    constantsTouched: []
    func_position:
      end: 325
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 325
    functionName: _dsa_generate_dss_g
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 0
    functionsReached:
    - mpz_powm
    - nettle_mpz_set_str_256_u
    - mpz_sub_ui
    - free
    - progress
    - mpz_fdiv_q
    - mpz_init
    - memcpy
    - hash
    - mpz_clear
    - malloc
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int _dsa_generate_dss_g(struct dsa_params *params, unsigned domain_seed_size,\n\t\t\tconst
      uint8_t *domain_seed, void *progress_ctx,\n\t\t\tnettle_progress_func *progress,
      unsigned index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:334,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:335,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:336,1
    - Dst: nettle_mpz_random
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:337,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:338,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:340,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - params
    - y
    - x
    - random_ctx
    - random
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - void*
    - nettle_random_func*
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: _dsa_generate_dss_xy
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 0
    functionsReached:
    - mpz_sub_ui
    - mpz_set
    - mpz_add_ui
    - mpz_init
    - mpz_powm
    - mpz_clear
    - nettle_mpz_random
    linkageType: ''
    returnType: void
    signature: "void _dsa_generate_dss_xy(struct dsa_params *params, mpz_t y, mpz_t
      x,\n\t\t\t  void *random_ctx, nettle_random_func *random)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dsa_check_qp_sizes
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:370,1
    - Dst: random
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:379,1
    - Dst: _dsa_generate_dss_pq
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:381,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:388,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:389,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:391,1
    - Dst: _dsa_generate_dss_g
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 9
    argNames:
    - params
    - cert
    - index
    - random_ctx
    - random
    - progress_ctx
    - progress
    - p_bits
    - q_bits
    argTypes:
    - struct dsa_params*
    - struct dss_params_validation_seeds*
    - unsigned
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 399
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 399
    functionName: dsa_generate_dss_pqg
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 1
    functionsReached:
    - _dsa_generate_dss_g
    - _dsa_generate_dss_pq
    - _dsa_check_qp_sizes
    - random
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int dsa_generate_dss_pqg(struct dsa_params *params,\n\t\t\t struct
      dss_params_validation_seeds *cert,\n\t\t\t unsigned index, void *random_ctx,\n\t\t\t
      nettle_random_func *random, void *progress_ctx,\n\t\t\t nettle_progress_func
      *progress,\n\t\t\t unsigned p_bits /* = L */, unsigned q_bits /* = N */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dsa_check_qp_sizes
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:411,1
    - Dst: _gnutls_fips_mode_enabled
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:415,1
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:418,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:428,1
    - Dst: _dsa_generate_dss_pq
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:430,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:437,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:438,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:440,1
    - Dst: _dsa_generate_dss_g
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 9
    argNames:
    - params
    - cert
    - index
    - seed_size
    - seed
    - progress_ctx
    - progress
    - p_bits
    - q_bits
    argTypes:
    - struct dsa_params*
    - struct dss_params_validation_seeds*
    - unsigned
    - unsigned
    - void*
    - void*
    - nettle_progress_func*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 448
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 448
    functionName: _dsa_generate_dss_pqg
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 1
    functionsReached:
    - _dsa_generate_dss_g
    - _dsa_generate_dss_pq
    - _dsa_check_qp_sizes
    - FIPS_RULE
    - memcpy
    - _gnutls_fips_mode_enabled
    linkageType: ''
    returnType: int
    signature: "int _dsa_generate_dss_pqg(struct dsa_params *params,\n\t\t\t  struct
      dss_params_validation_seeds *cert,\n\t\t\t  unsigned index, unsigned seed_size,
      void *seed,\n\t\t\t  void *progress_ctx, nettle_progress_func *progress,\n\t\t\t
      \ unsigned p_bits /* = L */, unsigned q_bits /* = N */)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dsa_generate_dss_xy
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:454,1
    - Dst: progress
      Src: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - params
    - y
    - x
    - random_ctx
    - random
    - progress_ctx
    - progress
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: dsa_generate_dss_keypair
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-keygen-fips186.c
    functionUses: 1
    functionsReached:
    - _dsa_generate_dss_xy
    - progress
    linkageType: ''
    returnType: int
    signature: "int dsa_generate_dss_keypair(struct dsa_params *params, mpz_t y, mpz_t
      x,\n\t\t\t     void *random_ctx, nettle_random_func *random,\n\t\t\t     void
      *progress_ctx, nettle_progress_func *progress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:98,1
    - Dst: drbg_aes_init
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:102,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:105,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:109,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:111,1
    - Dst: drbg_aes_init
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:117,1
    - Dst: drbg_aes_is_seeded
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:123,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:127,1
    - Dst: drbg_aes_generate
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:134,1
    - Dst: drbg_aes_generate
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:140,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:145,1
    - Dst: drbg_aes_random
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:152,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:153,1
    - Dst: drbg_aes_random
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:158,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:161,1
    - Dst: drbg_aes_generate
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:166,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:170,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:175,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:180,1
    - Dst: drbg_aes_reseed
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:188,1
    - Dst: drbg_aes_random
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:196,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:198,1
    - Dst: drbg_aes_random
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:203,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:204,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:211,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:212,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:213,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:214,1
    - Dst: gnutls_free
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:219,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c:222,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 224
    functionName: drbg_aes_self_test
    functionSourceFile: /src/gnutls/lib/nettle/int/drbg-aes-self-test.c
    functionUses: 1
    functionsReached:
    - drbg_aes_init
    - gnutls_free
    - drbg_aes_random
    - free
    - drbg_aes_is_seeded
    - gnutls_malloc
    - drbg_aes_reseed
    - memcmp
    - zeroize_key
    - memset
    - memcpy
    - gnutls_assert
    - drbg_aes_generate
    linkageType: ''
    returnType: int
    signature: int drbg_aes_self_test(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:46,1
    - Dst: pkcs1_rsa_digest_encode
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:47,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:48,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:52,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:54,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:57,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - key_bits
    - data
    - buffer
    - buffer_size
    argTypes:
    - size_t
    - gnutls_datum_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: _gnutls_rsa_pkcs1_sign_pad
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-pad.c
    functionUses: 1
    functionsReached:
    - pkcs1_rsa_digest_encode
    - nettle_mpz_get_str_256
    - nettle_mpz_sizeinbase_256_u
    - mpz_init
    - mpz_clear
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_rsa_pkcs1_sign_pad(size_t key_bits, const gnutls_datum_t
      *data,\n\t\t\t       unsigned char *buffer, size_t buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:74,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:87,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:92,1
    - Dst: gnutls_rnd
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:96,1
    - Dst: pss_encode_mgf1
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:103,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:105,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:109,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:111,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:114,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-pad.c:117,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - params
    - key_bits
    - data
    - buffer
    - buffer_size
    argTypes:
    - gnutls_x509_spki_st*
    - size_t
    - gnutls_datum_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: _gnutls_rsa_pss_sign_pad
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-pad.c
    functionUses: 1
    functionsReached:
    - pss_encode_mgf1
    - nettle_mpz_get_str_256
    - gnutls_rnd
    - nettle_mpz_sizeinbase_256_u
    - mpz_init
    - mpz_clear
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_rsa_pss_sign_pad(gnutls_x509_spki_st *params, size_t key_bits,\n\t\t\t
      \    const gnutls_datum_t *data, unsigned char *buffer,\n\t\t\t     size_t buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:55,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:56,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:57,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:58,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:59,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:60,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:61,1
    - Dst: st_provable_prime
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:65,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:66,1
    - Dst: div_ceil
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:72,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:73,1
    - Dst: malloc
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:77,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:82,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:85,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:88,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:90,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:92,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:95,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:101,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:102,1
    - Dst: mpz_sqrt
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:103,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:106,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:107,1
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:108,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:111,1
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:112,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:117,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:120,1
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:123,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:126,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:130,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:133,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:134,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:137,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:139,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:140,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:142,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:144,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:146,1
    - Dst: mpz_add
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:151,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:154,1
    - Dst: mpz_cdiv_q
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:157,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:163,1
    - Dst: mpz_gcd
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:166,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:168,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:169,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:172,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:176,1
    - Dst: hash
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:178,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:181,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:184,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:188,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:190,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:191,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:196,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:198,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:201,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:203,1
    - Dst: mpz_gcd
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:204,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:206,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:207,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:208,1
    - Dst: mpz_seed_sizeinbase_256_u
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:211,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:216,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:226,1
    - Dst: mpz_add_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:239,1
    - Dst: free
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:245,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:246,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:247,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:248,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:249,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:250,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:251,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:252,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 131
    argCount: 9
    argNames:
    - p
    - prime_seed_length
    - prime_seed
    - bits
    - seed_length
    - seed
    - e
    - progress_ctx
    - progress
    argTypes:
    - mpz_t
    - unsigned*
    - void*
    - unsigned
    - unsigned
    - void*
    - mpz_t
    - void*
    - nettle_progress_func*
    constantsTouched: []
    func_position:
      end: 255
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 255
    functionName: rsa_provable_prime
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_u
    - mpz_gcd
    - mpz_powm
    - mpz_cmp_ui
    - st_provable_prime
    - mpz_mul_2exp
    - div_ceil
    - mpz_mul
    - free
    - mpz_cdiv_q
    - mpz_sub
    - mpz_seed_sizeinbase_256_u
    - nettle_mpz_get_str_256
    - mpz_cmp
    - mpz_add
    - malloc
    - mpz_sqrt
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_mod
    - mpz_set
    - mpz_init
    - mpz_set_ui
    - memcpy
    - hash
    - mpz_clear
    linkageType: ''
    returnType: int
    signature: "int rsa_provable_prime(mpz_t p, unsigned *prime_seed_length,\n\t\t\t
      \     void *prime_seed, unsigned bits,\n\t\t\t      unsigned seed_length, const
      void *seed, mpz_t e,\n\t\t\t      void *progress_ctx,\n\t\t\t      nettle_progress_func
      *progress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - modulus_size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 280
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 280
    functionName: seed_length_for_modulus_size
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned seed_length_for_modulus_size(unsigned modulus_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:302,1
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:305,1
    - Dst: mpz_tstbit
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:307,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:308,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:312,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:313,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:317,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:318,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:319,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:320,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:321,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:323,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:324,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:326,1
    - Dst: rsa_provable_prime
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:332,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:339,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:340,1
    - Dst: rsa_provable_prime
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:344,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:352,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:354,1
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:355,1
    - Dst: mpz_sub
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:357,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:358,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:360,1
    - Dst: mpz_mul
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:362,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:364,1
    - Dst: mpz_invert
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:370,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:375,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:376,1
    - Dst: mpz_lcm
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:378,1
    - Dst: mpz_invert
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:380,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:386,1
    - Dst: mpz_fdiv_r
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:393,1
    - Dst: mpz_fdiv_r
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:396,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:408,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:409,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:410,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:411,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:412,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 7
    argNames:
    - pub
    - key
    - seed_length
    - seed
    - progress_ctx
    - progress
    - n_size
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - uint8_t*
    - void*
    - nettle_progress_func*
    - unsigned
    constantsTouched: []
    func_position:
      end: 414
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 414
    functionName: _rsa_generate_fips186_4_keypair
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c
    functionUses: 1
    functionsReached:
    - FIPS_RULE
    - mpz_sizeinbase
    - mpz_cmp_ui
    - mpz_invert
    - mpz_mul_2exp
    - mpz_mul
    - memset
    - mpz_tstbit
    - _gnutls_debug_log
    - mpz_sub
    - rsa_provable_prime
    - mpz_cmp
    - mpz_lcm
    - mpz_sub_ui
    - mpz_fdiv_r
    - mpz_init
    - mpz_clear
    - memcpy
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int _rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,\n\t\t\t\t
      \   struct rsa_private_key *key,\n\t\t\t\t    unsigned seed_length, uint8_t
      *seed,\n\t\t\t\t    void *progress_ctx,\n\t\t\t\t    nettle_progress_func *progress,\n\t\t\t\t
      \   /* Desired size of modulo, in bits */\n\t\t\t\t    unsigned n_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seed_length_for_modulus_size
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:434,1
    - Dst: FIPS_RULE
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:435,1
    - Dst: assert
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:437,1
    - Dst: random
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:439,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:445,1
    - Dst: _rsa_generate_fips186_4_keypair
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:449,1
    - Dst: gnutls_memset
      Src: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - progress_ctx
    - progress
    - rseed_size
    - rseed
    - n_size
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    - unsigned*
    - void*
    - unsigned
    constantsTouched: []
    func_position:
      end: 453
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 453
    functionName: rsa_generate_fips186_4_keypair
    functionSourceFile: /src/gnutls/lib/nettle/int/rsa-keygen-fips186.c
    functionUses: 2
    functionsReached:
    - assert
    - FIPS_RULE
    - _rsa_generate_fips186_4_keypair
    - seed_length_for_modulus_size
    - random
    - memcpy
    - gnutls_memset
    linkageType: ''
    returnType: int
    signature: "int rsa_generate_fips186_4_keypair(struct rsa_public_key *pub,\n\t\t\t\t
      \  struct rsa_private_key *key,\n\t\t\t\t   void *random_ctx, nettle_random_func
      *random,\n\t\t\t\t   void *progress_ctx,\n\t\t\t\t   nettle_progress_func *progress,\n\t\t\t\t
      \  unsigned *rseed_size, void *rseed,\n\t\t\t\t   /* Desired size of modulo,
      in bits */\n\t\t\t\t   unsigned n_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/gnutls/lib/nettle/int/dsa-fips.h:101,1
    - Dst: sha384_update
      Src: /src/gnutls/lib/nettle/int/dsa-fips.h:102,1
    - Dst: sha384_digest
      Src: /src/gnutls/lib/nettle/int/dsa-fips.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - digest
    - length
    - data
    argTypes:
    - uint8_t[]
    - unsigned
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: hash
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-fips.h
    functionUses: 97
    functionsReached:
    - sha384_digest
    - sha384_init
    - sha384_update
    linkageType: ''
    returnType: void
    signature: "void hash(uint8_t digest[DIGEST_SIZE], unsigned length,\n\t\t\tvoid
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:54,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:55,1
    - Dst: mpz_size
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:56,1
    - Dst: BITS_TO_LIMBS
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:58,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:66,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:67,1
    - Dst: unlikely
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:68,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:69,1
    - Dst: mpn_get_base256
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:72,1
    - Dst: mpz_limbs_read
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:72,1
    - Dst: mpn_set_base256
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:75,1
    - Dst: mpn_zero
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:79,1
    - Dst: mpn_copyi
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:88,1
    - Dst: mpn_rshift
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:93,1
    - Dst: mpn_sub_n
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:96,1
    - Dst: mpz_limbs_read
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:96,1
    - Dst: mpn_cnd_add_n
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:99,1
    - Dst: mpz_limbs_read
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:99,1
    - Dst: mpn_addmul_1
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:101,1
    - Dst: mpz_limbs_read
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:101,1
    - Dst: mpn_get_base256
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:103,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:106,1
    - Dst: memset
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:109,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:112,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:115,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:118,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:121,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:124,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:127,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:130,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:135,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:138,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:141,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:144,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:147,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:150,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:153,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:165,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:168,1
    - Dst: mpn_set_base256
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:173,1
    - Dst: mpn_rshift
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:175,1
    - Dst: mpn_zero_p
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:177,1
    - Dst: mpn_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:178,1
    - Dst: mpz_limbs_read
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:178,1
    - Dst: mpn_copyi
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:179,1
    - Dst: mpz_limbs_write
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:179,1
    - Dst: mpz_limbs_finish
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:180,1
    - Dst: gnutls_hmac_init
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:184,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:187,1
    - Dst: gnutls_hmac
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:190,1
    - Dst: gnutls_hmac_deinit
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:193,1
    - Dst: gnutls_hmac_fast
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:195,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:201,1
    - Dst: zeroize_key
      Src: /src/gnutls/lib/nettle/int/dsa-compute-k.c:202,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 113
    argCount: 6
    argNames:
    - k
    - q
    - x
    - mac
    - digest
    - length
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - gnutls_mac_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 205
    functionName: _gnutls_dsa_compute_k
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-compute-k.c
    functionUses: 1
    functionsReached:
    - mpn_cmp
    - BITS_TO_LIMBS
    - mpn_zero_p
    - mpn_sub_n
    - mpn_zero
    - mpz_sizeinbase
    - gnutls_assert_val
    - gnutls_hmac
    - mpn_get_base256
    - gnutls_hmac_deinit
    - unlikely
    - memset
    - mpz_size
    - mpn_rshift
    - mpz_limbs_write
    - gnutls_hmac_init
    - mpn_copyi
    - gnutls_hmac_fast
    - MAX
    - zeroize_key
    - memcpy
    - mpn_cnd_add_n
    - mpz_limbs_finish
    - mpz_limbs_read
    - mpn_addmul_1
    - mpn_set_base256
    linkageType: ''
    returnType: int
    signature: "int _gnutls_dsa_compute_k(mpz_t k, const mpz_t q, const mpz_t x,\n\t\t\t
      \ gnutls_mac_algorithm_t mac, const uint8_t *digest,\n\t\t\t  size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dsa_validate_dss_pq
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:55,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:61,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:62,1
    - Dst: memcpy
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:64,1
    - Dst: _dsa_validate_dss_g
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pub
    - cert
    - index
    argTypes:
    - struct dsa_params*
    - struct dss_params_validation_seeds*
    - unsigned
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: dsa_validate_dss_pqg
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-validate.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _dsa_validate_dss_pq
    - _dsa_validate_dss_g
    linkageType: ''
    returnType: int
    signature: "int dsa_validate_dss_pqg(struct dsa_params *pub,\n\t\t\t struct dss_params_validation_seeds
      *cert,\n\t\t\t unsigned index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:82,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:83,1
    - Dst: _dsa_check_qp_sizes
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:85,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:90,1
    - Dst: dsa_params_init
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:91,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:93,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:94,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:102,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:103,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:104,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:104,1
    - Dst: mpz_powm
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:109,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:110,1
    - Dst: _dsa_generate_dss_g
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:115,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:121,1
    - Dst: dsa_params_clear
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:133,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - pub
    - domain_seed_size
    - domain_seed
    - index
    argTypes:
    - struct dsa_params*
    - unsigned
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 137
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 137
    functionName: _dsa_validate_dss_g
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-validate.c
    functionUses: 1
    functionsReached:
    - mpz_powm
    - dsa_params_init
    - _dsa_generate_dss_g
    - _dsa_check_qp_sizes
    - mpz_sub_ui
    - mpz_set
    - dsa_params_clear
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_sizeinbase
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int _dsa_validate_dss_g(struct dsa_params *pub, unsigned domain_seed_size,\n\t\t\tconst
      uint8_t *domain_seed, unsigned index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:148,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:149,1
    - Dst: _dsa_check_qp_sizes
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:151,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:156,1
    - Dst: mpz_init
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:157,1
    - Dst: dsa_params_init
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:158,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:160,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:163,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:164,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:166,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:171,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:172,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:174,1
    - Dst: mpz_set_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:179,1
    - Dst: mpz_mul_2exp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:180,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:182,1
    - Dst: mpz_set
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:187,1
    - Dst: mpz_sub_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:188,1
    - Dst: mpz_mod
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:190,1
    - Dst: mpz_cmp_ui
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:191,1
    - Dst: _dsa_generate_dss_pq
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:196,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:211,1
    - Dst: memcmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:213,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:217,1
    - Dst: mpz_cmp
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:221,1
    - Dst: mpz_sizeinbase
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:225,1
    - Dst: dsa_params_clear
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:236,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:237,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/dsa-validate.c:238,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 2
    argNames:
    - pub
    - cert
    argTypes:
    - struct dsa_params*
    - struct dss_params_validation_seeds*
    constantsTouched: []
    func_position:
      end: 241
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 241
    functionName: _dsa_validate_dss_pq
    functionSourceFile: /src/gnutls/lib/nettle/int/dsa-validate.c
    functionUses: 1
    functionsReached:
    - dsa_params_init
    - _dsa_generate_dss_pq
    - mpz_mul_2exp
    - nettle_mpz_set_str_256_u
    - _dsa_check_qp_sizes
    - mpz_sub_ui
    - mpz_set
    - mpz_mod
    - mpz_cmp
    - memcmp
    - dsa_params_clear
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - mpz_sizeinbase
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int _dsa_validate_dss_pq(struct dsa_params *pub,\n\t\t\t struct dss_params_validation_seeds
      *cert)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:37,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:43,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:50,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:56,1
    - Dst: mpz_init_set_str
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:63,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - q
    - curve
    argTypes:
    - mpz_t*
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: _gnutls_ecc_curve_to_dsa_q
    functionSourceFile: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    - mpz_init_set_str
    linkageType: ''
    returnType: int
    signature: int _gnutls_ecc_curve_to_dsa_q(mpz_t *q, gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_ecc_curve_to_dsa_q
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:84,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:86,1
    - Dst: _gnutls_dsa_compute_k
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:88,1
    - Dst: mpz_clear
      Src: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - k
    - curve
    - x
    - mac
    - digest
    - length
    argTypes:
    - mpz_t
    - gnutls_ecc_curve_t
    - mpz_t
    - gnutls_mac_algorithm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: _gnutls_ecdsa_compute_k
    functionSourceFile: /src/gnutls/lib/nettle/int/ecdsa-compute-k.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    - _gnutls_dsa_compute_k
    - gnutls_assert_val
    - _gnutls_ecc_curve_to_dsa_q
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecdsa_compute_k(mpz_t k, gnutls_ecc_curve_t curve, const
      mpz_t x,\n\t\t\t    gnutls_mac_algorithm_t mac, const uint8_t *digest,\n\t\t\t
      \   size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - gnutls_certificate_type_t
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: gnutls_certificate_type_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/cert_types.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_certificate_type_get_name(gnutls_certificate_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/cert_types.c:63,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/cert_types.c:63,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/cert_types.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: gnutls_certificate_type_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/cert_types.c
    functionUses: 1
    functionsReached:
    - c_strcasecmp
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t gnutls_certificate_type_get_id(const char
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: gnutls_certificate_type_list
    functionSourceFile: /src/gnutls/lib/algorithms/cert_types.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_certificate_type_t
    signature: gnutls_certificate_type_t *gnutls_certificate_type_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: _gnutls_kx_auth_struct
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 2
    functionsReached:
    - GNUTLS_KX_ALG_LOOP
    linkageType: ''
    returnType: mod_auth_st
    signature: mod_auth_st *_gnutls_kx_auth_struct(gnutls_kx_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: gnutls_kx_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 22
    functionsReached:
    - GNUTLS_KX_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_kx_get_name(gnutls_kx_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:190,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/kx.c:190,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/kx.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: gnutls_kx_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 2
    functionsReached:
    - c_strcasecmp
    - GNUTLS_KX_LOOP
    - if
    linkageType: ''
    returnType: gnutls_kx_algorithm_t
    signature: gnutls_kx_algorithm_t gnutls_kx_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:207,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/kx.c:207,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/kx.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: _gnutls_kx_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 1
    functionsReached:
    - c_strcasecmp
    - GNUTLS_KX_LOOP
    - if
    linkageType: ''
    returnType: int
    signature: int _gnutls_kx_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: gnutls_kx_list
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 2
    functionsReached:
    - GNUTLS_KX_LOOP
    linkageType: ''
    returnType: gnutls_kx_algorithm_t
    signature: gnutls_kx_algorithm_t *gnutls_kx_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: _gnutls_kx_is_ok
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 0
    functionsReached:
    - GNUTLS_KX_ALG_LOOP
    linkageType: ''
    returnType: int
    signature: int _gnutls_kx_is_ok(gnutls_kx_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:257,1
    - Dst: get_group
      Src: /src/gnutls/lib/algorithms/kx.c:262,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/lib/algorithms/kx.c:266,1
    - Dst: gnutls_dh_get_prime_bits
      Src: /src/gnutls/lib/algorithms/kx.c:272,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/gnutls/lib/algorithms/kx.c:278,1
    - Dst: gnutls_ecc_curve_get_size
      Src: /src/gnutls/lib/algorithms/kx.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 287
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 287
    functionName: _gnutls_kx_allows_false_start
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 1
    functionsReached:
    - gnutls_dh_get_prime_bits
    - gnutls_sec_param_to_pk_bits
    - get_group
    - GNUTLS_KX_ALG_LOOP
    - gnutls_ecc_curve_get_size
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_kx_allows_false_start(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: _gnutls_kx_needs_dh_params
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 0
    functionsReached:
    - GNUTLS_KX_ALG_LOOP
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_kx_needs_dh_params(gnutls_kx_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_KX_MAP_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:304,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/kx.c:304,1
    - Dst: GNUTLS_KX_MAP_LOOP
      Src: /src/gnutls/lib/algorithms/kx.c:309,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/kx.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - algorithm
    - server
    argTypes:
    - gnutls_kx_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: _gnutls_map_kx_get_cred
    functionSourceFile: /src/gnutls/lib/algorithms/kx.c
    functionUses: 3
    functionsReached:
    - if
    - GNUTLS_KX_MAP_LOOP
    linkageType: ''
    returnType: gnutls_credentials_type_t
    signature: gnutls_credentials_type_t _gnutls_map_kx_get_cred(gnutls_kx_algorithm_t
      algorithm, int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EC
      Src: /src/gnutls/lib/algorithms/secparams.c:88,1
    - Dst: IS_GOSTEC
      Src: /src/gnutls/lib/algorithms/secparams.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - algo
    - param
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: gnutls_sec_param_to_pk_bits
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 8
    functionsReached:
    - IS_EC
    - IS_GOSTEC
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int gnutls_sec_param_to_pk_bits(gnutls_pk_algorithm_t algo,\n\t\t\t\t\t
      gnutls_sec_param_t param)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: gnutls_sec_param_to_symmetric_bits
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gnutls_sec_param_to_symmetric_bits(gnutls_sec_param_t
      param)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pk_bits
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: _gnutls_pk_bits_to_subgroup_bits
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _gnutls_pk_bits_to_subgroup_bits(unsigned int pk_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pk_bits
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: _gnutls_pk_bits_to_sha_hash
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t _gnutls_pk_bits_to_sha_hash(unsigned int
      pk_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - gnutls_sec_param_t
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: gnutls_sec_param_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_sec_param_get_name(gnutls_sec_param_t param)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EC
      Src: /src/gnutls/lib/algorithms/secparams.c:213,1
    - Dst: IS_GOSTEC
      Src: /src/gnutls/lib/algorithms/secparams.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - algo
    - bits
    argTypes:
    - gnutls_pk_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: gnutls_pk_bits_to_sec_param
    functionSourceFile: /src/gnutls/lib/algorithms/secparams.c
    functionUses: 6
    functionsReached:
    - IS_EC
    - IS_GOSTEC
    linkageType: ''
    returnType: gnutls_sec_param_t
    signature: "gnutls_sec_param_t gnutls_pk_bits_to_sec_param(gnutls_pk_algorithm_t
      algo,\n\t\t\t\t\t       unsigned int bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: version_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *version_to_entry(gnutls_protocol_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: nversion_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *nversion_to_entry(uint8_t major, uint8_t minor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_allowlisting_mode
      Src: /src/gnutls/lib/algorithms/protocols.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - session
    - v
    argTypes:
    - gnutls_session_t
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: version_is_valid_for_session
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 0
    functionsReached:
    - _gnutls_allowlisting_mode
    linkageType: ''
    returnType: int
    signature: "int version_is_valid_for_session(gnutls_session_t session,\n\t\t\t\t\tconst
      version_entry_st *v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - version
    argTypes:
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: _gnutls_version_mark_disabled
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_version_mark_disabled(gnutls_protocol_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: _gnutls_version_mark_disabled_all
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_version_mark_disabled_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/protocols.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - version
    - enabled
    argTypes:
    - gnutls_protocol_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: _gnutls_protocol_set_enabled
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_protocol_set_enabled(gnutls_protocol_t version,\n\t\t\t\t
      unsigned int enabled)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - session
    - version
    argTypes:
    - gnutls_session_t
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: _gnutls_version_priority
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _gnutls_version_priority(gnutls_session_t session,\n\t\t\t     gnutls_protocol_t
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version_to_entry
      Src: /src/gnutls/lib/algorithms/protocols.c:268,1
    - Dst: version_is_valid_for_session
      Src: /src/gnutls/lib/algorithms/protocols.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: _gnutls_version_lowest
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached:
    - version_to_entry
    - version_is_valid_for_session
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *_gnutls_version_lowest(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/algorithms/protocols.c:297,1
    - Dst: _gnutls_allowlisting_mode
      Src: /src/gnutls/lib/algorithms/protocols.c:314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 335
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 335
    functionName: _gnutls_version_max
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 12
    functionsReached:
    - _gnutls_allowlisting_mode
    - gnutls_assert
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *_gnutls_version_max(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/algorithms/protocols.c:339,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/algorithms/protocols.c:344,1
    - Dst: version_to_entry
      Src: /src/gnutls/lib/algorithms/protocols.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: _gnutls_legacy_version_max
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 2
    functionsReached:
    - _gnutls_version_max
    - version_to_entry
    linkageType: ''
    returnType: version_entry_st
    signature: version_entry_st *_gnutls_legacy_version_max(gnutls_session_t session)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_allowlisting_mode
      Src: /src/gnutls/lib/algorithms/protocols.c:378,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/algorithms/protocols.c:389,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/protocols.c:410,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - session
    - buffer
    - buffer_size
    argTypes:
    - gnutls_session_t
    - uint8_t*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 416
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 416
    functionName: _gnutls_write_supported_versions
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached:
    - _gnutls_allowlisting_mode
    - gnutls_assert_val
    - _gnutls_debug_log
    linkageType: ''
    returnType: int
    signature: "int _gnutls_write_supported_versions(gnutls_session_t session, uint8_t
      *buffer,\n\t\t\t\t     ssize_t buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_legacy_version_max
      Src: /src/gnutls/lib/algorithms/protocols.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 445
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 445
    functionName: _gnutls_version_is_too_high
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached:
    - _gnutls_legacy_version_max
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_version_is_too_high(gnutls_session_t session, uint8_t
      major,\n\t\t\t\t     uint8_t minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - gnutls_protocol_t
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: gnutls_protocol_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_protocol_get_name(gnutls_protocol_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/protocols.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: gnutls_protocol_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 3
    functionsReached:
    - c_strcasecmp
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t gnutls_protocol_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 518
    functionName: gnutls_protocol_list
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t *gnutls_protocol_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: _gnutls_protocol_list
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t *_gnutls_protocol_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - major
    - minor
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: _gnutls_version_get
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_protocol_t
    signature: gnutls_protocol_t _gnutls_version_get(uint8_t major, uint8_t minor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_allowlisting_mode
      Src: /src/gnutls/lib/algorithms/protocols.c:571,1
    - Dst: _gnutls_version_priority
      Src: /src/gnutls/lib/algorithms/protocols.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - session
    - major
    - minor
    argTypes:
    - gnutls_session_t
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 589
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 589
    functionName: _gnutls_nversion_is_supported
    functionSourceFile: /src/gnutls/lib/algorithms/protocols.c
    functionUses: 3
    functionsReached:
    - _gnutls_allowlisting_mode
    - _gnutls_version_priority
    linkageType: ''
    returnType: int
    signature: "int _gnutls_nversion_is_supported(gnutls_session_t session, unsigned
      char major,\n\t\t\t\t  unsigned char minor)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:188,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:189,1
    - Dst: _gnutls_ecc_curve_is_supported
      Src: /src/gnutls/lib/algorithms/groups.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - num
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: _gnutls_tls_id_to_group
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 3
    functionsReached:
    - _gnutls_ecc_curve_is_supported
    - GNUTLS_GROUP_LOOP
    - if
    linkageType: ''
    returnType: gnutls_group_entry_st
    signature: gnutls_group_entry_st *_gnutls_tls_id_to_group(unsigned num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:201,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:202,1
    - Dst: _gnutls_ecc_curve_is_supported
      Src: /src/gnutls/lib/algorithms/groups.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: _gnutls_id_to_group
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 5
    functionsReached:
    - _gnutls_ecc_curve_is_supported
    - GNUTLS_GROUP_LOOP
    - if
    linkageType: ''
    returnType: gnutls_group_entry_st
    signature: gnutls_group_entry_st *_gnutls_id_to_group(unsigned id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:229,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:229,1
    - Dst: _gnutls_ecc_curve_is_supported
      Src: /src/gnutls/lib/algorithms/groups.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: gnutls_group_list
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 2
    functionsReached:
    - _gnutls_ecc_curve_is_supported
    - GNUTLS_GROUP_LOOP
    - if
    linkageType: ''
    returnType: gnutls_group_t
    signature: gnutls_group_t *gnutls_group_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:253,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:253,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/groups.c:253,1
    - Dst: _gnutls_ecc_curve_is_supported
      Src: /src/gnutls/lib/algorithms/groups.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: gnutls_group_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 2
    functionsReached:
    - c_strcasecmp
    - GNUTLS_GROUP_LOOP
    - _gnutls_ecc_curve_is_supported
    - if
    linkageType: ''
    returnType: gnutls_group_t
    signature: gnutls_group_t gnutls_group_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:270,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:270,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/groups.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: _gnutls_group_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 2
    functionsReached:
    - c_strcasecmp
    - GNUTLS_GROUP_LOOP
    - if
    linkageType: ''
    returnType: gnutls_group_t
    signature: gnutls_group_t _gnutls_group_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_GROUP_LOOP
      Src: /src/gnutls/lib/algorithms/groups.c:291,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/groups.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - gnutls_group_t
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: gnutls_group_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/groups.c
    functionUses: 10
    functionsReached:
    - GNUTLS_GROUP_LOOP
    - if
    linkageType: ''
    returnType: char
    signature: char *gnutls_group_get_name(gnutls_group_t group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:289,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:290,1
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: gnutls_ecc_curve_list
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 1
    functionsReached:
    - _gnutls_pk_curve_exists
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t *gnutls_ecc_curve_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:300,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:300,1
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: _gnutls_ecc_curve_is_supported
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 5
    functionsReached:
    - _gnutls_pk_curve_exists
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_ecc_curve_is_supported(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:318,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:319,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/ecc.c:319,1
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 326
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 326
    functionName: gnutls_oid_to_ecc_curve
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 7
    functionsReached:
    - c_strcasecmp
    - _gnutls_pk_curve_exists
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t gnutls_oid_to_ecc_curve(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:343,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:343,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/ecc.c:343,1
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: gnutls_ecc_curve_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 4
    functionsReached:
    - c_strcasecmp
    - _gnutls_pk_curve_exists
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t gnutls_ecc_curve_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ecc.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: _gnutls_ecc_curve_mark_disabled
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int _gnutls_ecc_curve_mark_disabled(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: _gnutls_ecc_curve_mark_disabled_all
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_ecc_curve_mark_disabled_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ecc.c:387,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ecc.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - curve
    - enabled
    argTypes:
    - gnutls_ecc_curve_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: _gnutls_ecc_curve_set_enabled
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecc_curve_set_enabled(gnutls_ecc_curve_t curve,\n\t\t\t\t
      \ unsigned int enabled)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - p
    - pk
    argTypes:
    - gnutls_ecc_curve_entry_st*
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: _gnutls_ecc_pk_compatible
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 0
    functionsReached:
    - _gnutls_pk_curve_exists
    linkageType: ''
    returnType: int
    signature: "int _gnutls_ecc_pk_compatible(const gnutls_ecc_curve_entry_st *p,\n\t\t\t\t
      \    gnutls_pk_algorithm_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:430,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:430,1
    - Dst: _gnutls_ecc_pk_compatible
      Src: /src/gnutls/lib/algorithms/ecc.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pk
    - bits
    argTypes:
    - gnutls_pk_algorithm_t
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 437
    functionName: _gnutls_ecc_bits_to_curve
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 2
    functionsReached:
    - _gnutls_ecc_pk_compatible
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_ecc_curve_t
    signature: gnutls_ecc_curve_t _gnutls_ecc_bits_to_curve(gnutls_pk_algorithm_t
      pk, int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:454,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: gnutls_ecc_curve_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 16
    functionsReached:
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: char
    signature: char *gnutls_ecc_curve_get_name(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:477,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: gnutls_ecc_curve_get_oid
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 4
    functionsReached:
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: char
    signature: char *gnutls_ecc_curve_get_oid(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:498,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: _gnutls_ecc_curve_get_params
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 15
    functionsReached:
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_ecc_curve_entry_st
    signature: 'gnutls_ecc_curve_entry_st *

      _gnutls_ecc_curve_get_params(gnutls_ecc_curve_t curve)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:518,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: gnutls_ecc_curve_get_size
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 10
    functionsReached:
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: int
    signature: int gnutls_ecc_curve_get_size(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:538,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: gnutls_ecc_curve_get_pk
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 4
    functionsReached:
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t gnutls_ecc_curve_get_pk(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ECC_CURVE_LOOP
      Src: /src/gnutls/lib/algorithms/ecc.c:558,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ecc.c:558,1
    - Dst: _gnutls_pk_curve_exists
      Src: /src/gnutls/lib/algorithms/ecc.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - gnutls_ecc_curve_t
    constantsTouched: []
    func_position:
      end: 565
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 565
    functionName: _gnutls_ecc_curve_get_group
    functionSourceFile: /src/gnutls/lib/algorithms/ecc.c
    functionUses: 1
    functionsReached:
    - _gnutls_pk_curve_exists
    - GNUTLS_ECC_CURVE_LOOP
    - if
    linkageType: ''
    returnType: gnutls_group_t
    signature: gnutls_group_t _gnutls_ecc_curve_get_group(gnutls_ecc_curve_t curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_MAP_LOOP
      Src: /src/gnutls/lib/algorithms/publickey.c:82,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/publickey.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - kx_algorithm
    - pk_algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: _gnutls_kx_supports_pk
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 1
    functionsReached:
    - GNUTLS_PK_MAP_LOOP
    - if
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_kx_supports_pk(gnutls_kx_algorithm_t kx_algorithm,\n\t\t\t\tgnutls_pk_algorithm_t
      pk_algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - kx_algorithm
    - pk_algorithm
    - key_usage
    argTypes:
    - gnutls_kx_algorithm_t
    - gnutls_pk_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: _gnutls_kx_supports_pk_usage
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _gnutls_kx_supports_pk_usage(gnutls_kx_algorithm_t kx_algorithm,\n\t\t\t\t
      \     gnutls_pk_algorithm_t pk_algorithm,\n\t\t\t\t      unsigned int key_usage)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_LOOP
      Src: /src/gnutls/lib/algorithms/publickey.c:229,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/publickey.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: gnutls_pk_algorithm_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 11
    functionsReached:
    - if
    - GNUTLS_PK_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_pk_algorithm_get_name(gnutls_pk_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_LOOP
      Src: /src/gnutls/lib/algorithms/publickey.c:256,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/publickey.c:257,1
    - Dst: _gnutls_pk_exists
      Src: /src/gnutls/lib/algorithms/publickey.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: gnutls_pk_list
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 3
    functionsReached:
    - if
    - GNUTLS_PK_LOOP
    - _gnutls_pk_exists
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t *gnutls_pk_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/publickey.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: gnutls_pk_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t gnutls_pk_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: gnutls_pk_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pk_get_name(gnutls_pk_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: _gnutls_pk_is_not_prehashed
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_pk_is_not_prehashed(gnutls_pk_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/publickey.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: gnutls_oid_to_pk
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t gnutls_oid_to_pk(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: gnutls_pk_get_oid
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gnutls_pk_get_oid(gnutls_pk_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/publickey.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - oid
    - curve
    argTypes:
    - char*
    - gnutls_ecc_curve_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: _gnutls_oid_to_pk_and_curve
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: "gnutls_pk_algorithm_t _gnutls_oid_to_pk_and_curve(const char *oid,\n\t\t\t\t\t\t
      \ gnutls_ecc_curve_t *curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_MAP_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/publickey.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kx_algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: _gnutls_kx_encipher_type
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 1
    functionsReached:
    - GNUTLS_PK_MAP_ALG_LOOP
    linkageType: ''
    returnType: enum encipher_type
    signature: enum encipher_type _gnutls_kx_encipher_type(gnutls_kx_algorithm_t kx_algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/algorithms/publickey.c:443,1
    - Dst: GNUTLS_PK_IS_RSA
      Src: /src/gnutls/lib/algorithms/publickey.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pk1
    - pk2
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: _gnutls_pk_are_compat
    functionSourceFile: /src/gnutls/lib/algorithms/publickey.c
    functionUses: 4
    functionsReached:
    - GNUTLS_PK_IS_RSA
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_pk_are_compat(gnutls_pk_algorithm_t pk1, gnutls_pk_algorithm_t
      pk2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_CIPHER_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:400,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ciphers.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: _gnutls_cipher_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 0
    functionsReached:
    - GNUTLS_CIPHER_LOOP
    - if
    linkageType: ''
    returnType: cipher_entry_st
    signature: cipher_entry_st *_gnutls_cipher_to_entry(gnutls_cipher_algorithm_t
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_CIPHER_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:410,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ciphers.c:410,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/ciphers.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: cipher_name_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 1
    functionsReached:
    - GNUTLS_CIPHER_LOOP
    - c_strcasecmp
    - if
    linkageType: ''
    returnType: cipher_entry_st
    signature: cipher_entry_st *cipher_name_to_entry(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: gnutls_cipher_get_block_size
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 7
    functionsReached:
    - GNUTLS_ALG_LOOP
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_get_tag_size
      Src: /src/gnutls/lib/algorithms/ciphers.c:443,1
    - Dst: cipher_to_entry
      Src: /src/gnutls/lib/algorithms/ciphers.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: gnutls_cipher_get_tag_size
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 18
    functionsReached:
    - cipher_to_entry
    - _gnutls_cipher_get_tag_size
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_cipher_get_tag_size(gnutls_cipher_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: gnutls_cipher_get_iv_size
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 20
    functionsReached:
    - GNUTLS_ALG_LOOP
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_cipher_get_iv_size(gnutls_cipher_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: gnutls_cipher_get_key_size
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 20
    functionsReached:
    - GNUTLS_ALG_LOOP
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_cipher_get_key_size(gnutls_cipher_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_cipher_algorithm_t
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: gnutls_cipher_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 43
    functionsReached:
    - GNUTLS_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_cipher_get_name(gnutls_cipher_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_CIPHER_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:513,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ciphers.c:513,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/ciphers.c:513,1
    - Dst: _gnutls_cipher_exists
      Src: /src/gnutls/lib/algorithms/ciphers.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 520
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 520
    functionName: gnutls_cipher_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 1
    functionsReached:
    - GNUTLS_CIPHER_LOOP
    - c_strcasecmp
    - _gnutls_cipher_exists
    - if
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t gnutls_cipher_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_CIPHER_LOOP
      Src: /src/gnutls/lib/algorithms/ciphers.c:543,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ciphers.c:543,1
    - Dst: _gnutls_cipher_exists
      Src: /src/gnutls/lib/algorithms/ciphers.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 550
    functionName: gnutls_cipher_list
    functionSourceFile: /src/gnutls/lib/algorithms/ciphers.c
    functionUses: 2
    functionsReached:
    - GNUTLS_CIPHER_LOOP
    - _gnutls_cipher_exists
    - if
    linkageType: ''
    returnType: gnutls_cipher_algorithm_t
    signature: gnutls_cipher_algorithm_t *gnutls_cipher_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:222,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: _gnutls_mac_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 4
    functionsReached:
    - GNUTLS_HASH_LOOP
    - if
    linkageType: ''
    returnType: mac_entry_st
    signature: mac_entry_st *_gnutls_mac_to_entry(gnutls_mac_algorithm_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: gnutls_mac_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 31
    functionsReached:
    - GNUTLS_HASH_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_mac_get_name(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:259,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: gnutls_digest_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 16
    functionsReached:
    - GNUTLS_HASH_LOOP
    - if
    linkageType: ''
    returnType: char
    signature: char *gnutls_digest_get_name(gnutls_digest_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:281,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:281,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/mac.c:282,1
    - Dst: _gnutls_digest_exists
      Src: /src/gnutls/lib/algorithms/mac.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: gnutls_digest_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 3
    functionsReached:
    - c_strcasecmp
    - GNUTLS_HASH_LOOP
    - _gnutls_digest_exists
    - if
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t gnutls_digest_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dig
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: _gnutls_digest_mark_insecure
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _gnutls_digest_mark_insecure(gnutls_digest_algorithm_t dig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: _gnutls_digest_mark_insecure_all
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_digest_mark_insecure_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/mac.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dig
    - secure
    argTypes:
    - gnutls_digest_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 346
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 346
    functionName: _gnutls_digest_set_secure
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_digest_set_secure(gnutls_digest_algorithm_t dig,\n\t\t\t
      \     unsigned int secure)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dig
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: _gnutls_digest_is_insecure
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_digest_is_insecure(gnutls_digest_algorithm_t dig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - dig
    - flags
    argTypes:
    - gnutls_digest_algorithm_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: _gnutls_digest_is_insecure2
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_digest_is_insecure2(gnutls_digest_algorithm_t dig, unsigned
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:391,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:391,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/mac.c:391,1
    - Dst: _gnutls_mac_exists
      Src: /src/gnutls/lib/algorithms/mac.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: gnutls_mac_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 2
    functionsReached:
    - c_strcasecmp
    - GNUTLS_HASH_LOOP
    - _gnutls_mac_exists
    - if
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t gnutls_mac_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: gnutls_mac_get_key_size
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 3
    functionsReached:
    - GNUTLS_HASH_ALG_LOOP
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_mac_get_key_size(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: gnutls_mac_get_nonce_size
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 0
    functionsReached:
    - GNUTLS_HASH_ALG_LOOP
    linkageType: ''
    returnType: size_t
    signature: size_t gnutls_mac_get_nonce_size(gnutls_mac_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:456,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:457,1
    - Dst: _gnutls_mac_exists
      Src: /src/gnutls/lib/algorithms/mac.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: gnutls_mac_list
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 2
    functionsReached:
    - GNUTLS_HASH_LOOP
    - _gnutls_mac_exists
    - if
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t *gnutls_mac_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:482,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:483,1
    - Dst: _gnutls_mac_exists
      Src: /src/gnutls/lib/algorithms/mac.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: gnutls_digest_list
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached:
    - GNUTLS_HASH_LOOP
    - _gnutls_mac_exists
    - if
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t *gnutls_digest_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:507,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:507,1
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/mac.c:507,1
    - Dst: _gnutls_digest_exists
      Src: /src/gnutls/lib/algorithms/mac.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: gnutls_oid_to_digest
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 9
    functionsReached:
    - GNUTLS_HASH_LOOP
    - _gnutls_digest_exists
    - if
    - strcmp
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t gnutls_oid_to_digest(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:530,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:530,1
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/mac.c:530,1
    - Dst: _gnutls_mac_exists
      Src: /src/gnutls/lib/algorithms/mac.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: gnutls_oid_to_mac
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached:
    - GNUTLS_HASH_LOOP
    - _gnutls_mac_exists
    - if
    - strcmp
    linkageType: ''
    returnType: gnutls_mac_algorithm_t
    signature: gnutls_mac_algorithm_t gnutls_oid_to_mac(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_HASH_LOOP
      Src: /src/gnutls/lib/algorithms/mac.c:553,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/mac.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: gnutls_digest_get_oid
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 2
    functionsReached:
    - GNUTLS_HASH_LOOP
    - if
    linkageType: ''
    returnType: char
    signature: char *gnutls_digest_get_oid(gnutls_digest_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: _gnutls_hash_size_to_sha_hash
    functionSourceFile: /src/gnutls/lib/algorithms/mac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t _gnutls_hash_size_to_sha_hash(unsigned int
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: gnutls_sign_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 28
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_sign_get_name(gnutls_sign_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_sign_is_secure2
      Src: /src/gnutls/lib/algorithms/sign.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: gnutls_sign_is_secure
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 5
    functionsReached:
    - gnutls_sign_is_secure2
    linkageType: ''
    returnType: unsigned
    signature: unsigned gnutls_sign_is_secure(gnutls_sign_algorithm_t algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_digest_is_insecure2
      Src: /src/gnutls/lib/algorithms/sign.c:462,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/sign.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - se
    - flags
    argTypes:
    - gnutls_sign_entry_st*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: _gnutls_sign_is_secure2
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 4
    functionsReached:
    - _gnutls_digest_is_insecure2
    - gnutls_assert_val
    linkageType: ''
    returnType: bool
    signature: bool _gnutls_sign_is_secure2(const gnutls_sign_entry_st *se, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms/sign.c:485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/sign.c:486,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/sign.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - sign
    - level
    argTypes:
    - gnutls_sign_algorithm_t
    - hash_security_level_t
    constantsTouched: []
    func_position:
      end: 497
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 497
    functionName: _gnutls_sign_mark_insecure
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sign_mark_insecure(gnutls_sign_algorithm_t sign,\n\t\t\t
      \      hash_security_level_t level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - hash_security_level_t
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: _gnutls_sign_mark_insecure_all
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _gnutls_sign_mark_insecure_all(hash_security_level_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/sign.c:523,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/sign.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sign
    - slevel
    argTypes:
    - gnutls_sign_algorithm_t
    - hash_security_level_t
    constantsTouched: []
    func_position:
      end: 532
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 532
    functionName: _gnutls_sign_set_secure
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 0
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int _gnutls_sign_set_secure(gnutls_sign_algorithm_t sign,\n\t\t\t
      \   hash_security_level_t slevel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/algorithms/sign.c:546,1
    - Dst: _gnutls_sign_is_secure2
      Src: /src/gnutls/lib/algorithms/sign.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - algorithm
    - flags
    argTypes:
    - gnutls_sign_algorithm_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: gnutls_sign_is_secure2
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 10
    functionsReached:
    - _gnutls_sign_is_secure2
    - _gnutls_sign_to_entry
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_sign_is_secure2(gnutls_sign_algorithm_t algorithm,\n\t\t\t\tunsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:570,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:572,1
    - Dst: _gnutls_pk_sign_exists
      Src: /src/gnutls/lib/algorithms/sign.c:573,1
    - Dst: assert
      Src: /src/gnutls/lib/algorithms/sign.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 581
    functionName: gnutls_sign_list
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 3
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - assert
    - if
    - _gnutls_pk_sign_exists
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: gnutls_sign_algorithm_t *gnutls_sign_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:596,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:596,1
    - Dst: c_strcasecmp
      Src: /src/gnutls/lib/algorithms/sign.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: gnutls_sign_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 3
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - c_strcasecmp
    - if
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: gnutls_sign_algorithm_t gnutls_sign_get_id(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:606,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:606,1
    - Dst: strcmp
      Src: /src/gnutls/lib/algorithms/sign.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: _gnutls_oid_to_sign_entry
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 0
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - if
    - strcmp
    linkageType: ''
    returnType: gnutls_sign_entry_st
    signature: gnutls_sign_entry_st *_gnutls_oid_to_sign_entry(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_oid_to_sign_entry
      Src: /src/gnutls/lib/algorithms/sign.c:625,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/algorithms/sign.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 631
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 631
    functionName: gnutls_oid_to_sign
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 3
    functionsReached:
    - _gnutls_debug_log
    - _gnutls_oid_to_sign_entry
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: gnutls_sign_algorithm_t gnutls_oid_to_sign(const char *oid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:637,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pk
    - hash
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: _gnutls_pk_to_sign_entry
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 5
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - if
    linkageType: ''
    returnType: gnutls_sign_entry_st
    signature: "gnutls_sign_entry_st *\n_gnutls_pk_to_sign_entry(gnutls_pk_algorithm_t
      pk,\n\t\t\t gnutls_digest_algorithm_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_pk_to_sign_entry
      Src: /src/gnutls/lib/algorithms/sign.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pk
    - hash
    argTypes:
    - gnutls_pk_algorithm_t
    - gnutls_digest_algorithm_t
    constantsTouched: []
    func_position:
      end: 661
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 661
    functionName: gnutls_pk_to_sign
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 22
    functionsReached:
    - _gnutls_pk_to_sign_entry
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: "gnutls_sign_algorithm_t gnutls_pk_to_sign(gnutls_pk_algorithm_t pk,\n\t\t\t\t\t
      \ gnutls_digest_algorithm_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: gnutls_sign_get_oid
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 0
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *gnutls_sign_get_oid(gnutls_sign_algorithm_t sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: gnutls_sign_get_hash_algorithm
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 5
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    linkageType: ''
    returnType: gnutls_digest_algorithm_t
    signature: gnutls_digest_algorithm_t gnutls_sign_get_hash_algorithm(gnutls_sign_algorithm_t
      sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 724
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 724
    functionName: gnutls_sign_get_pk_algorithm
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 4
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    linkageType: ''
    returnType: gnutls_pk_algorithm_t
    signature: gnutls_pk_algorithm_t gnutls_sign_get_pk_algorithm(gnutls_sign_algorithm_t
      sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_supports_priv_pk_algorithm
      Src: /src/gnutls/lib/algorithms/sign.c:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sign
    - pk
    argTypes:
    - gnutls_sign_algorithm_t
    - gnutls_pk_algorithm_t
    constantsTouched: []
    func_position:
      end: 754
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 754
    functionName: gnutls_sign_supports_pk_algorithm
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 3
    functionsReached:
    - sign_supports_priv_pk_algorithm
    linkageType: ''
    returnType: unsigned
    signature: "unsigned gnutls_sign_supports_pk_algorithm(gnutls_sign_algorithm_t
      sign,\n\t\t\t\t\t   gnutls_pk_algorithm_t pk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:764,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - id0
    - id1
    - ver
    argTypes:
    - uint8_t
    - uint8_t
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 771
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 771
    functionName: _gnutls_tls_aid_to_sign
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 4
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - if
    linkageType: ''
    returnType: gnutls_sign_algorithm_t
    signature: "gnutls_sign_algorithm_t _gnutls_tls_aid_to_sign(uint8_t id0, uint8_t
      id1,\n\t\t\t\t\t\tconst version_entry_st *ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:779,1
    - Dst: HAVE_UNKNOWN_SIGAID
      Src: /src/gnutls/lib/algorithms/sign.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 785
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 785
    functionName: _gnutls_sign_to_tls_aid
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 3
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    - HAVE_UNKNOWN_SIGAID
    linkageType: ''
    returnType: sign_algorithm_st
    signature: sign_algorithm_st *_gnutls_sign_to_tls_aid(gnutls_sign_algorithm_t
      sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 794
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 794
    functionName: _gnutls_sign_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 21
    functionsReached:
    - GNUTLS_SIGN_ALG_LOOP
    linkageType: ''
    returnType: gnutls_sign_entry_st
    signature: gnutls_sign_entry_st *_gnutls_sign_to_entry(gnutls_sign_algorithm_t
      sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:803,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - id0
    - id1
    - ver
    argTypes:
    - uint8_t
    - uint8_t
    - version_entry_st*
    constantsTouched: []
    func_position:
      end: 808
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 808
    functionName: _gnutls_tls_aid_to_sign_entry
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 2
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - if
    linkageType: ''
    returnType: gnutls_sign_entry_st
    signature: "gnutls_sign_entry_st *\n_gnutls_tls_aid_to_sign_entry(uint8_t id0,
      uint8_t id1,\n\t\t\t      const version_entry_st *ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GNUTLS_SIGN_LOOP
      Src: /src/gnutls/lib/algorithms/sign.c:813,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/sign.c:813,1
    - Dst: _gnutls_privkey_compatible_with_sig
      Src: /src/gnutls/lib/algorithms/sign.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - privkey
    argTypes:
    - gnutls_privkey_t
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 818
    functionName: _gnutls13_sign_get_compatible_with_privkey
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 1
    functionsReached:
    - GNUTLS_SIGN_LOOP
    - _gnutls_privkey_compatible_with_sig
    - if
    linkageType: ''
    returnType: gnutls_sign_entry_st
    signature: 'gnutls_sign_entry_st *

      _gnutls13_sign_get_compatible_with_privkey(gnutls_privkey_t privkey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_sign_to_entry
      Src: /src/gnutls/lib/algorithms/sign.c:822,1
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms/sign.c:826,1
    - Dst: hash_to_entry
      Src: /src/gnutls/lib/algorithms/sign.c:829,1
    - Dst: unlikely
      Src: /src/gnutls/lib/algorithms/sign.c:830,1
    - Dst: _gnutls_mac_get_algo_len
      Src: /src/gnutls/lib/algorithms/sign.c:836,1
    - Dst: MIN
      Src: /src/gnutls/lib/algorithms/sign.c:839,1
    - Dst: MIN
      Src: /src/gnutls/lib/algorithms/sign.c:841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - sign
    argTypes:
    - gnutls_sign_algorithm_t
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: _gnutls_sign_get_hash_strength
    functionSourceFile: /src/gnutls/lib/algorithms/sign.c
    functionUses: 0
    functionsReached:
    - hash_to_entry
    - _gnutls_mac_get_algo_len
    - unlikely
    - MIN
    - _gnutls_sign_to_entry
    linkageType: ''
    returnType: unsigned
    signature: unsigned _gnutls_sign_get_hash_strength(gnutls_sign_algorithm_t sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: ciphersuite_to_entry
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gnutls_cipher_suite_entry_st
    signature: gnutls_cipher_suite_entry_st *ciphersuite_to_entry(const uint8_t suite[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_SUITE_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1750
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1750
    functionName: _gnutls_cipher_suite_get_kx_algo
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 0
    functionsReached:
    - CIPHER_SUITE_ALG_LOOP
    linkageType: ''
    returnType: gnutls_kx_algorithm_t
    signature: gnutls_kx_algorithm_t _gnutls_cipher_suite_get_kx_algo(const uint8_t
      suite[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_SUITE_ALG_LOOP
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - suite
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1760
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1760
    functionName: _gnutls_cipher_suite_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 0
    functionsReached:
    - CIPHER_SUITE_ALG_LOOP
    linkageType: ''
    returnType: char
    signature: char *_gnutls_cipher_suite_get_name(const uint8_t suite[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_SUITE_LOOP
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1769,1
    - Dst: if
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - kx_algorithm
    - cipher_algorithm
    - mac_algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    - gnutls_cipher_algorithm_t
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 1777
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1777
    functionName: cipher_suite_get
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 1
    functionsReached:
    - if
    - CIPHER_SUITE_LOOP
    linkageType: ''
    returnType: gnutls_cipher_suite_entry_st
    signature: "gnutls_cipher_suite_entry_st *\ncipher_suite_get(gnutls_kx_algorithm_t
      kx_algorithm,\n\t\t gnutls_cipher_algorithm_t cipher_algorithm,\n\t\t gnutls_mac_algorithm_t
      mac_algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_kx_needs_dh_params
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1788,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1795,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1803,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1815,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1827,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 3
    argNames:
    - session
    - cred_type
    - kx
    argTypes:
    - gnutls_session_t
    - unsigned
    - gnutls_kx_algorithm_t
    constantsTouched: []
    func_position:
      end: 1841
      start: 1782
    functionDepth: 1
    functionLinenumber: 1782
    functionLinenumberEnd: 1841
    functionName: check_server_dh_params
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 0
    functionsReached:
    - _gnutls_kx_needs_dh_params
    - gnutls_assert
    - _gnutls_get_cred
    linkageType: ''
    returnType: unsigned
    signature: "unsigned check_server_dh_params(gnutls_session_t session,\n\t\t\t\t
      \      unsigned cred_type,\n\t\t\t\t       gnutls_kx_algorithm_t kx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_suite_get
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - kx_algorithm
    - cipher_algorithm
    - mac_algorithm
    argTypes:
    - gnutls_kx_algorithm_t
    - gnutls_cipher_algorithm_t
    - gnutls_mac_algorithm_t
    constantsTouched: []
    func_position:
      end: 1871
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1871
    functionName: gnutls_cipher_suite_get_name
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 2
    functionsReached:
    - cipher_suite_get
    linkageType: ''
    returnType: char
    signature: "char *\ngnutls_cipher_suite_get_name(gnutls_kx_algorithm_t kx_algorithm,\n\t\t\t
      \    gnutls_cipher_algorithm_t cipher_algorithm,\n\t\t\t     gnutls_mac_algorithm_t
      mac_algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cipher_suite_get
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - kx_algorithm
    - cipher_algorithm
    - mac_algorithm
    - suite
    argTypes:
    - gnutls_kx_algorithm_t
    - gnutls_cipher_algorithm_t
    - gnutls_mac_algorithm_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 1900
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1900
    functionName: _gnutls_cipher_suite_get_id
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 1
    functionsReached:
    - cipher_suite_get
    linkageType: ''
    returnType: int
    signature: "int _gnutls_cipher_suite_get_id(gnutls_kx_algorithm_t kx_algorithm,\n\t\t\t\tgnutls_cipher_algorithm_t
      cipher_algorithm,\n\t\t\t\tgnutls_mac_algorithm_t mac_algorithm,\n\t\t\t\tuint8_t
      suite[2])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - idx
    - cs_id
    - kx
    - cipher
    - mac
    - min_version
    argTypes:
    - size_t
    - unsigned char*
    - gnutls_kx_algorithm_t*
    - gnutls_cipher_algorithm_t*
    - gnutls_mac_algorithm_t*
    - gnutls_protocol_t*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1920
    functionDepth: 1
    functionLinenumber: 1920
    functionLinenumberEnd: 1941
    functionName: gnutls_cipher_suite_info
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *gnutls_cipher_suite_info(size_t idx, unsigned char *cs_id,\n\t\t\t\t
      \    gnutls_kx_algorithm_t *kx,\n\t\t\t\t     gnutls_cipher_algorithm_t *cipher,\n\t\t\t\t
      \    gnutls_mac_algorithm_t *mac,\n\t\t\t\t     gnutls_protocol_t *min_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_kx_is_ecc
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1976,1
    - Dst: _gnutls_kx_is_dhe
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1982,1
    - Dst: check_server_dh_params
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1984,1
    - Dst: KX_SRP_CHECKS
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:1991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - session
    - kx
    - cred_type
    - sgroup
    argTypes:
    - gnutls_session_t
    - gnutls_kx_algorithm_t
    - unsigned
    - gnutls_group_entry_st**
    constantsTouched: []
    func_position:
      end: 1994
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 1994
    functionName: kx_is_ok
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 0
    functionsReached:
    - _gnutls_kx_is_dhe
    - KX_SRP_CHECKS
    - _gnutls_kx_is_ecc
    - check_server_dh_params
    linkageType: ''
    returnType: unsigned
    signature: "unsigned kx_is_ok(gnutls_session_t session, gnutls_kx_algorithm_t
      kx,\n\t\t\t unsigned cred_type,\n\t\t\t const gnutls_group_entry_st **sgroup)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2003,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2013,1
    - Dst: _gnutls_hello_ext_get_priv
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2019,1
    - Dst: _gnutls_hello_ext_is_present
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2028,1
    - Dst: _gnutls_id_to_group
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2031,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2036,1
    - Dst: VERSION_CHECK
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2041,1
    - Dst: CIPHER_CHECK
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2045,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2048,1
    - Dst: kx_is_ok
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2055,1
    - Dst: _gnutls_select_server_cert
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2072,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2077,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2084,1
    - Dst: VERSION_CHECK
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2093,1
    - Dst: CIPHER_CHECK
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2096,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2100,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2113,1
    - Dst: kx_is_ok
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2116,1
    - Dst: _gnutls_select_server_cert
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2133,1
    - Dst: gnutls_assert
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2138,1
    - Dst: _gnutls_session_group_set
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2145,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2156,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 3
    argNames:
    - session
    - peer_clist
    - ce
    argTypes:
    - gnutls_session_t
    - ciphersuite_list_st*
    - gnutls_cipher_suite_entry_st**
    constantsTouched: []
    func_position:
      end: 2157
      start: 1997
    functionDepth: 6
    functionLinenumber: 1997
    functionLinenumberEnd: 2157
    functionName: _gnutls_figure_common_ciphersuite
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 1
    functionsReached:
    - _gnutls_map_kx_get_cred
    - kx_is_ok
    - _gnutls_select_server_cert
    - VERSION_CHECK
    - _gnutls_hello_ext_get_priv
    - gnutls_assert
    - _gnutls_hello_ext_is_present
    - _gnutls_id_to_group
    - _gnutls_session_group_set
    - get_version
    - _gnutls_debug_log
    - gnutls_assert_val
    - CIPHER_CHECK
    linkageType: ''
    returnType: int
    signature: "int _gnutls_figure_common_ciphersuite(gnutls_session_t session,\n\t\t\t\t
      \     const ciphersuite_list_st *peer_clist,\n\t\t\t\t      const gnutls_cipher_suite_entry_st
      **ce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_version_max
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2184,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2186,1
    - Dst: CLIENT_VERSION_CHECK
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2189,1
    - Dst: _gnutls_map_kx_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2195,1
    - Dst: _gnutls_get_cred
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2198,1
    - Dst: KX_SRP_CHECKS
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2201,1
    - Dst: _gnutls_debug_log
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2204,1
    - Dst: _gnutls_ext_sr_send_cs
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2226,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2228,1
    - Dst: _gnutls_hello_ext_save_sr
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2230,1
    - Dst: _gnutls_buffer_append_data_prefix
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2241,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - session
    - cdata
    - vmin
    - add_scsv
    argTypes:
    - gnutls_session_t
    - gnutls_buffer_st*
    - version_entry_st*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2247
      start: 2169
    functionDepth: 4
    functionLinenumber: 2169
    functionLinenumberEnd: 2247
    functionName: _gnutls_get_client_ciphersuites
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 1
    functionsReached:
    - _gnutls_version_max
    - _gnutls_map_kx_get_cred
    - _gnutls_ext_sr_send_cs
    - _gnutls_buffer_append_data_prefix
    - KX_SRP_CHECKS
    - _gnutls_hello_ext_save_sr
    - _gnutls_get_cred
    - _gnutls_debug_log
    - gnutls_assert_val
    - CLIENT_VERSION_CHECK
    linkageType: ''
    returnType: int
    signature: "int _gnutls_get_client_ciphersuites(gnutls_session_t session,\n\t\t\t\t
      \   gnutls_buffer_st *cdata,\n\t\t\t\t    const version_entry_st *vmin,\n\t\t\t\t
      \   unsigned add_scsv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_cipher_exists
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2294,1
    - Dst: _gnutls_mac_exists
      Src: /src/gnutls/lib/algorithms/ciphersuites.c:2295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - pcache
    - idx
    - sidx
    argTypes:
    - gnutls_priority_t
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2307
      start: 2267
    functionDepth: 4
    functionLinenumber: 2267
    functionLinenumberEnd: 2307
    functionName: gnutls_priority_get_cipher_suite_index
    functionSourceFile: /src/gnutls/lib/algorithms/ciphersuites.c
    functionUses: 3
    functionsReached:
    - _gnutls_cipher_exists
    - _gnutls_mac_exists
    linkageType: ''
    returnType: int
    signature: "int gnutls_priority_get_cipher_suite_index(gnutls_priority_t pcache,\n\t\t\t\t\t
      \  unsigned int idx, unsigned int *sidx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:37,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:38,1
    - Dst: gnutls_x509_privkey_import_pkcs8
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:40,1
    - Dst: gnutls_x509_privkey_export2
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:47,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:52,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 9
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_pkcs8_key_parser_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_free
    - assert
    - gnutls_x509_privkey_init
    - gnutls_x509_privkey_deinit
    - gnutls_x509_privkey_import_pkcs8
    - gnutls_x509_privkey_export2
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: error_push
    functionSourceFile: /src/gnutls/fuzz/handshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t error_push(gnutls_transport_ptr_t tr, const void *data,\n\t\t\t
      \ size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: error_pull
    functionSourceFile: /src/gnutls/fuzz/handshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t error_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - session
    - level
    - htype
    - data
    - data_size
    argTypes:
    - gnutls_session_t
    - gnutls_record_encryption_level_t
    - gnutls_handshake_description_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: handshake_discard
    functionSourceFile: /src/gnutls/fuzz/handshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handshake_discard(gnutls_session_t session,\n\t\t\t     gnutls_record_encryption_level_t
      level,\n\t\t\t     gnutls_handshake_description_t htype,\n\t\t\t     const void
      *data, size_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake_write
      Src: /src/gnutls/fuzz/handshake.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - session
    - data
    argTypes:
    - gnutls_session_t
    - mem_st*
    constantsTouched: []
    func_position:
      end: 89
      start: 53
    functionDepth: 7
    functionLinenumber: 53
    functionLinenumberEnd: 89
    functionName: handshake_pull
    functionSourceFile: /src/gnutls/fuzz/handshake.h
    functionUses: 0
    functionsReached:
    - gnutls_handshake_write
    linkageType: ''
    returnType: int
    signature: int handshake_pull(gnutls_session_t session, mem_st *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_privkey_init
      Src: /src/gnutls/fuzz/gnutls_private_key_parser_fuzzer.c:36,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_private_key_parser_fuzzer.c:37,1
    - Dst: gnutls_x509_privkey_import
      Src: /src/gnutls/fuzz/gnutls_private_key_parser_fuzzer.c:39,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/fuzz/gnutls_private_key_parser_fuzzer.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 6
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_private_key_parser_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_privkey_deinit
    - assert
    - gnutls_x509_privkey_import
    - gnutls_x509_privkey_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:34,1
    - Dst: memset
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:37,1
    - Dst: memset
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c
    functionUses: 61
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:54,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:55,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:57,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:58,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:59,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:60,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:63,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:65,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:70,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:71,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:72,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:76,1
    - Dst: handshake_pull
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:78,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:89,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:91,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 94
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 94
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_handshake_client_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_handshake_set_read_function
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_pull_function
    - gnutls_error_is_fatal
    - handshake_pull
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs7_init
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:37,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:38,1
    - Dst: gnutls_pkcs7_import
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:40,1
    - Dst: gnutls_pkcs7_print
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:42,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:44,1
    - Dst: gnutls_pkcs7_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_pkcs7_parser_fuzzer.c
    functionUses: 2
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_pkcs7_print
    - gnutls_pkcs7_init
    - gnutls_pkcs7_import
    - gnutls_pkcs7_deinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crq_init
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:39,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:40,1
    - Dst: gnutls_x509_crq_import
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:42,1
    - Dst: gnutls_x509_crq_print
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:44,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:45,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:46,1
    - Dst: gnutls_x509_crq_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_x509_crq_parser_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_x509_crq_import
    - assert
    - gnutls_x509_crq_print
    - gnutls_free
    - gnutls_x509_crq_deinit
    - gnutls_x509_crq_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:49,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:50,1
    - Dst: gnutls_psk_allocate_client_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:52,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:53,1
    - Dst: gnutls_psk_set_client_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:55,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:57,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:59,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:60,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:62,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:65,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:70,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:71,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:72,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:73,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:76,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:77,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:81,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:88,1
    - Dst: gnutls_psk_free_client_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 38
    functionDepth: 12
    functionLinenumber: 38
    functionLinenumberEnd: 91
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_psk_client_fuzzer.c
    functionUses: 2
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_psk_set_client_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_record_recv
    - gnutls_transport_set_pull_timeout_function
    - gnutls_psk_free_client_credentials
    - gnutls_psk_allocate_client_credentials
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:59,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:60,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:62,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:63,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:65,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:68,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:70,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:73,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:75,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:77,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:82,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:87,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:88,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:89,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:90,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:93,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:94,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:98,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:105,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 51
    functionDepth: 12
    functionLinenumber: 51
    functionLinenumberEnd: 108
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_server_rawpk_fuzzer.c
    functionUses: 2
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_record_recv
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_ptr
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_error_is_fatal
    - gnutls_certificate_set_rawpk_key_mem
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_resp_init
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:37,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:38,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:40,1
    - Dst: gnutls_ocsp_resp_print
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:42,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:44,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:45,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_ocsp_resp_parser_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_ocsp_resp_deinit
    - assert
    - gnutls_free
    - gnutls_ocsp_resp_print
    - gnutls_ocsp_resp_import
    - gnutls_ocsp_resp_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:62,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:63,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:65,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:66,1
    - Dst: gnutls_certificate_set_rawpk_key_mem
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:68,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:71,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:73,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:76,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:78,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:80,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:85,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:90,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:91,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:92,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:93,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:96,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:97,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:101,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:108,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 111
      start: 54
    functionDepth: 12
    functionLinenumber: 54
    functionLinenumberEnd: 111
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_client_rawpk_fuzzer.c
    functionUses: 2
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_record_recv
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_ptr
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_error_is_fatal
    - gnutls_certificate_set_rawpk_key_mem
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - tls_id
    - data
    - data_size
    argTypes:
    - void*
    - unsigned
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: cb
    functionSourceFile: /src/gnutls/fuzz/gnutls_ext_raw_parse_fuzzer.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cb(void *ctx, unsigned tls_id, const unsigned char *data,\n\t
      \     unsigned data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/fuzz/gnutls_ext_raw_parse_fuzzer.c:42,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/fuzz/gnutls_ext_raw_parse_fuzzer.c:44,1
    - Dst: gnutls_ext_raw_parse
      Src: /src/gnutls/fuzz/gnutls_ext_raw_parse_fuzzer.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_ext_raw_parse_fuzzer.c
    functionUses: 2
    functionsReached:
    - gnutls_ext_raw_parse
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnutls/fuzz/main.c:53,1
    - Dst: fprintf
      Src: /src/gnutls/fuzz/main.c:54,1
    - Dst: fstat
      Src: /src/gnutls/fuzz/main.c:58,1
    - Dst: fprintf
      Src: /src/gnutls/fuzz/main.c:59,1
    - Dst: close
      Src: /src/gnutls/fuzz/main.c:60,1
    - Dst: malloc
      Src: /src/gnutls/fuzz/main.c:64,1
    - Dst: read
      Src: /src/gnutls/fuzz/main.c:65,1
    - Dst: printf
      Src: /src/gnutls/fuzz/main.c:66,1
    - Dst: fflush
      Src: /src/gnutls/fuzz/main.c:68,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/gnutls/fuzz/main.c:69,1
    - Dst: fflush
      Src: /src/gnutls/fuzz/main.c:70,1
    - Dst: fprintf
      Src: /src/gnutls/fuzz/main.c:73,1
    - Dst: free
      Src: /src/gnutls/fuzz/main.c:79,1
    - Dst: close
      Src: /src/gnutls/fuzz/main.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: test_single_file
    functionSourceFile: /src/gnutls/fuzz/main.c
    functionUses: 0
    functionsReached:
    - LLVMFuzzerTestOneInput
    - free
    - open
    - close
    - read
    - fflush
    - printf
    - malloc
    - fprintf
    - fstat
    linkageType: ''
    returnType: int
    signature: int test_single_file(const char *fname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnutls/fuzz/main.c:89,1
    - Dst: readdir
      Src: /src/gnutls/fuzz/main.c:90,1
    - Dst: snprintf
      Src: /src/gnutls/fuzz/main.c:95,1
    - Dst: test_single_file
      Src: /src/gnutls/fuzz/main.c:98,1
    - Dst: closedir
      Src: /src/gnutls/fuzz/main.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: test_all_from
    functionSourceFile: /src/gnutls/fuzz/main.c
    functionUses: 1
    functionsReached:
    - closedir
    - readdir
    - snprintf
    - test_single_file
    - opendir
    linkageType: ''
    returnType: int
    signature: int test_all_from(const char *dirname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/gnutls/fuzz/main.c:113,1
    - Dst: strrchr
      Src: /src/gnutls/fuzz/main.c:114,1
    - Dst: strrchr
      Src: /src/gnutls/fuzz/main.c:116,1
    - Dst: strncmp
      Src: /src/gnutls/fuzz/main.c:119,1
    - Dst: strlen
      Src: /src/gnutls/fuzz/main.c:122,1
    - Dst: test_single_file
      Src: /src/gnutls/fuzz/main.c:129,1
    - Dst: snprintf
      Src: /src/gnutls/fuzz/main.c:133,1
    - Dst: test_all_from
      Src: /src/gnutls/fuzz/main.c:136,1
    - Dst: fprintf
      Src: /src/gnutls/fuzz/main.c:138,1
    - Dst: snprintf
      Src: /src/gnutls/fuzz/main.c:140,1
    - Dst: test_all_from
      Src: /src/gnutls/fuzz/main.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 148
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnutls/fuzz/main.c
    functionUses: 5
    functionsReached:
    - strlen
    - test_all_from
    - snprintf
    - strrchr
    - test_single_file
    - strncmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: __AFL_LOOP
    functionSourceFile: /src/gnutls/fuzz/main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __AFL_LOOP(int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __AFL_LOOP
      Src: /src/gnutls/fuzz/main.c:171,1
    - Dst: fread
      Src: /src/gnutls/fuzz/main.c:172,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/gnutls/fuzz/main.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/gnutls/fuzz/main.c
    functionUses: 5
    functionsReached:
    - fread
    - LLVMFuzzerTestOneInput
    - __AFL_LOOP
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:42,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:43,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:45,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:46,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:68,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:70,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:72,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:74,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:76,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:78,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:80,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:82,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:84,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:86,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:87,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:90,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:92,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:97,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:98,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:99,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:100,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:103,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:104,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:108,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:115,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_server_fuzzer.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 31
    functionDepth: 12
    functionLinenumber: 31
    functionLinenumberEnd: 118
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_server_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_pull_timeout_function
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_ptr
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:37,1
    - Dst: strcmp
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:39,1
    - Dst: fmemopen
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:40,1
    - Dst: libc_fopen
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pathname
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: fopen
    functionSourceFile: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c
    functionUses: 78
    functionsReached:
    - libc_fopen
    - fmemopen
    - strcmp
    - dlsym
    linkageType: ''
    returnType: FILE
    signature: FILE *fopen(const char *pathname, const char *mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:52,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:53,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:55,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_set_trust_file_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_certificate_set_x509_crl_file
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_allocate_credentials
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:43,1
    - Dst: memcpy
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:44,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:47,1
    - Dst: memcpy
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:49,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:53,1
    - Dst: memcpy
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:55,1
    - Dst: gnutls_srp_verifier
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - session
    - username
    - salt
    - verifier
    - generator
    - prime
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: srp_cb
    functionSourceFile: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gnutls_srp_verifier
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int srp_cb(gnutls_session_t session, const char *username,\n\t\t  gnutls_datum_t
      *salt, gnutls_datum_t *verifier,\n\t\t  gnutls_datum_t *generator, gnutls_datum_t
      *prime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:79,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:80,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:82,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:83,1
    - Dst: gnutls_srp_allocate_server_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:85,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:86,1
    - Dst: gnutls_srp_set_server_credentials_function
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:88,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:105,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:107,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:109,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:111,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:113,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:115,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:117,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:119,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:120,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:122,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:123,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:125,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:127,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:132,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:133,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:134,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:135,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:138,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:139,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:143,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:150,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:151,1
    - Dst: gnutls_srp_free_server_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 67
    functionDepth: 12
    functionLinenumber: 67
    functionLinenumberEnd: 154
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_srp_server_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_srp_free_server_credentials
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - gnutls_handshake
    - gnutls_srp_allocate_server_credentials
    - gnutls_srp_set_server_credentials_function
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pkcs12_init
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:41,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:42,1
    - Dst: gnutls_pkcs12_import
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:44,1
    - Dst: gnutls_pkcs12_verify_mac
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:50,1
    - Dst: gnutls_pkcs12_simple_parse
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:52,1
    - Dst: gnutls_x509_privkey_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:55,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:57,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:60,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:61,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:65,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:66,1
    - Dst: gnutls_pkcs12_deinit
      Src: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 10
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_pkcs12_key_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_x509_crt_deinit
    - gnutls_pkcs12_simple_parse
    - gnutls_free
    - gnutls_pkcs12_verify_mac
    - gnutls_pkcs12_import
    - gnutls_pkcs12_deinit
    - gnutls_x509_crl_deinit
    - gnutls_x509_privkey_deinit
    - gnutls_pkcs12_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_idna_reverse_map
      Src: /src/gnutls/fuzz/gnutls_reverse_idna_parser_fuzzer.c:33,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_reverse_idna_parser_fuzzer.c:37,1
    - Dst: strlen
      Src: /src/gnutls/fuzz/gnutls_reverse_idna_parser_fuzzer.c:37,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_reverse_idna_parser_fuzzer.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_reverse_idna_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_idna_reverse_map
    - strlen
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:40,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:41,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:43,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:44,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:45,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:46,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:49,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:51,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:56,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:57,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:58,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:59,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:62,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:63,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:67,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:74,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_client_fuzzer.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 33
    functionDepth: 12
    functionLinenumber: 33
    functionLinenumberEnd: 77
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_client_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_record_recv
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_pull_timeout_function
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_encode2
      Src: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c:32,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c:34,1
    - Dst: gnutls_pem_base64_encode
      Src: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c:36,1
    - Dst: gnutls_base64_encode2
      Src: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c:38,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_base64_encoder_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_base64_encode2
    - gnutls_free
    - gnutls_pem_base64_encode
    - gnutls_pem_base64_encode2
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_dn_init
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:36,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:37,1
    - Dst: gnutls_x509_dn_import
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:39,1
    - Dst: gnutls_x509_dn_get_str
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:44,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:49,1
    - Dst: gnutls_x509_dn_deinit
      Src: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_dn_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_x509_dn_get_str
    - gnutls_x509_dn_init
    - gnutls_x509_dn_deinit
    - gnutls_x509_dn_import
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_malloc
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:40,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:41,1
    - Dst: memcpy
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - session
    - username
    - key
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: psk_cb
    functionSourceFile: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gnutls_malloc
    linkageType: ''
    returnType: int
    signature: "int psk_cb(gnutls_session_t session, const char *username,\n\t\t  gnutls_datum_t
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:61,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:62,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:64,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:65,1
    - Dst: gnutls_psk_allocate_server_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:67,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:68,1
    - Dst: gnutls_psk_set_server_credentials_function
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:70,1
    - Dst: gnutls_psk_set_server_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:71,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:93,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:95,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:97,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:99,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:101,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:103,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:105,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:107,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:109,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:111,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:112,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:114,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:115,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:117,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:121,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:126,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:127,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:128,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:129,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:132,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:133,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:137,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:144,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:145,1
    - Dst: gnutls_psk_free_server_credentials
      Src: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 61
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 49
    functionDepth: 12
    functionLinenumber: 49
    functionLinenumberEnd: 148
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_psk_server_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_psk_free_server_credentials
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_record_recv
    - gnutls_transport_set_ptr
    - gnutls_psk_allocate_server_credentials
    - gnutls_init
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - assert
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_transport_set_pull_timeout_function
    - gnutls_psk_set_server_known_dh_params
    - gnutls_handshake
    - gnutls_psk_set_server_credentials_function
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:45,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:46,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:48,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:49,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:51,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:52,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:54,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:55,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:57,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:59,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:64,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:65,1
    - Dst: gnutls_transport_set_pull_timeout_function
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:66,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:67,1
    - Dst: gnutls_srp_set_prime_bits
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:68,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:71,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:72,1
    - Dst: gnutls_record_recv
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:76,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:83,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 38
    functionDepth: 12
    functionLinenumber: 38
    functionLinenumberEnd: 86
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_srp_client_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_srp_set_prime_bits
    - gnutls_deinit
    - gnutls_srp_free_client_credentials
    - gnutls_srp_allocate_client_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_record_recv
    - gnutls_transport_set_pull_timeout_function
    - gnutls_srp_set_client_credentials
    - gnutls_transport_set_pull_function
    - gnutls_transport_set_ptr
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crl_init
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:39,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:40,1
    - Dst: gnutls_x509_crl_import
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:42,1
    - Dst: gnutls_x509_crl_print
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:44,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:45,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:46,1
    - Dst: gnutls_x509_crl_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 10
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_x509_crl_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_free
    - gnutls_x509_crl_init
    - gnutls_x509_crl_deinit
    - gnutls_x509_crl_print
    - gnutls_x509_crl_import
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:37,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:38,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:40,1
    - Dst: gnutls_x509_crt_print
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:42,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:44,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:46,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:48,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:49,1
    - Dst: gnutls_x509_crt_set_flags
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:51,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:52,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 12
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_x509_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_x509_crt_print
    - assert
    - gnutls_x509_crt_import
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_set_flags
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_req_init
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:37,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:38,1
    - Dst: gnutls_ocsp_req_import
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:40,1
    - Dst: gnutls_ocsp_req_print
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:42,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:43,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:44,1
    - Dst: gnutls_ocsp_req_deinit
      Src: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_ocsp_req_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - assert
    - gnutls_ocsp_req_import
    - gnutls_ocsp_req_deinit
    - gnutls_ocsp_req_init
    - gnutls_ocsp_req_print
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: mytime
    functionSourceFile: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mytime(time_t *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_set_time_function
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:181,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:189,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:190,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:192,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:193,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:195,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:199,1
    - Dst: gnutls_x509_crt_list_verify
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:203,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:209,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:212,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 215
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 215
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_x509_verify_fuzzer.c
    functionUses: 4
    functionsReached:
    - assert
    - gnutls_x509_crt_import
    - gnutls_x509_crt_list_verify
    - gnutls_x509_crt_init
    - gnutls_x509_crt_deinit
    - gnutls_global_set_time_function
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_idna_map
      Src: /src/gnutls/fuzz/gnutls_idna_parser_fuzzer.c:32,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_idna_parser_fuzzer.c:33,1
    - Dst: strlen
      Src: /src/gnutls/fuzz/gnutls_idna_parser_fuzzer.c:33,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_idna_parser_fuzzer.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_idna_parser_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_free
    - assert
    - strlen
    - gnutls_idna_map
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:32,1
    - Dst: memset
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:35,1
    - Dst: memset
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - level
    - data
    - len
    argTypes:
    - gnutls_rnd_level_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: gnutls_rnd
    functionSourceFile: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c
    functionUses: 61
    functionsReached:
    - memset
    - visibility
    linkageType: ''
    returnType: int
    signature: int gnutls_rnd(gnutls_rnd_level_t level, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_init
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:56,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:57,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:59,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:60,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:82,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:84,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:86,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:88,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:90,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:92,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:94,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:96,1
    - Dst: gnutls_certificate_set_known_dh_params
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:98,1
    - Dst: gnutls_credentials_set
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:100,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:101,1
    - Dst: gnutls_priority_set_direct
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:104,1
    - Dst: assert
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:106,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:111,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:112,1
    - Dst: gnutls_handshake_set_read_function
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:113,1
    - Dst: gnutls_handshake
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:117,1
    - Dst: handshake_pull
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:119,1
    - Dst: gnutls_error_is_fatal
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:130,1
    - Dst: gnutls_deinit
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:132,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 58
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 135
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_handshake_server_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_handshake_set_read_function
    - assert
    - gnutls_credentials_set
    - gnutls_transport_set_push_function
    - gnutls_deinit
    - gnutls_certificate_allocate_credentials
    - gnutls_priority_set_direct
    - gnutls_handshake
    - gnutls_init
    - gnutls_certificate_set_x509_key_mem
    - gnutls_certificate_free_credentials
    - gnutls_transport_set_pull_function
    - gnutls_certificate_set_known_dh_params
    - gnutls_error_is_fatal
    - handshake_pull
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: mem_push
    functionSourceFile: /src/gnutls/fuzz/mem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t mem_push(gnutls_transport_ptr_t tr, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnutls/fuzz/mem.h:46,1
    - Dst: memcpy
      Src: /src/gnutls/fuzz/mem.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tr
    - data
    - len
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: mem_pull
    functionSourceFile: /src/gnutls/fuzz/mem.h
    functionUses: 0
    functionsReached:
    - memcpy
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t mem_pull(gnutls_transport_ptr_t tr, void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tr
    - ms
    argTypes:
    - gnutls_transport_ptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: mem_pull_timeout
    functionSourceFile: /src/gnutls/fuzz/mem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mem_pull_timeout(gnutls_transport_ptr_t tr, unsigned int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pem_base64_decode2
      Src: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c:32,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c:34,1
    - Dst: gnutls_pem_base64_decode
      Src: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c:36,1
    - Dst: gnutls_base64_decode2
      Src: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c:38,1
    - Dst: gnutls_free
      Src: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/gnutls/fuzz/gnutls_base64_decoder_fuzzer.c
    functionUses: 4
    functionsReached:
    - gnutls_pem_base64_decode
    - gnutls_free
    - gnutls_pem_base64_decode2
    - gnutls_base64_decode2
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/gnutls/fuzz/fuzzer.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: init
    functionSourceFile: /src/gnutls/fuzz/fuzzer.h
    functionUses: 1927
    functionsReached:
    - gnutls_global_init
    linkageType: ''
    returnType: void
    signature: void init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_deinit
      Src: /src/gnutls/fuzz/fuzzer.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: deinit
    functionSourceFile: /src/gnutls/fuzz/fuzzer.h
    functionUses: 1258
    functionsReached:
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - dane_cert_type_t
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: dane_cert_type_name
    functionSourceFile: /src/gnutls/libdane/dane-params.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dane_cert_type_name(dane_cert_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - dane_match_type_t
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: dane_match_type_name
    functionSourceFile: /src/gnutls/libdane/dane-params.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dane_match_type_name(dane_match_type_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - usage
    argTypes:
    - dane_cert_usage_t
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: dane_cert_usage_name
    functionSourceFile: /src/gnutls/libdane/dane-params.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dane_cert_usage_name(dane_cert_usage_t usage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnutls/libdane/dane.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - val
    - file
    - line
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gnutls_assert_val_int
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int gnutls_assert_val_int(int val, const char *file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - dane_query_t
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: dane_query_status
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dane_query_status_t
    signature: dane_query_status_t dane_query_status(dane_query_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - dane_query_t
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: dane_query_entries
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dane_query_entries(dane_query_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - q
    - idx
    - usage
    - type
    - match
    - data
    argTypes:
    - dane_query_t
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: dane_query_data
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int dane_query_data(dane_query_t q, unsigned int idx, unsigned int
      *usage,\n\t\t    unsigned int *type, unsigned int *match,\n\t\t    gnutls_datum_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_calloc
      Src: /src/gnutls/libdane/dane.c:190,1
    - Dst: gnutls_calloc
      Src: /src/gnutls/libdane/dane.c:197,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:199,1
    - Dst: memcpy
      Src: /src/gnutls/libdane/dane.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 6
    argNames:
    - q
    - data_entries
    - dane_data
    - dane_data_len
    - secure
    - bogus
    argTypes:
    - dane_query_t
    - unsigned int*
    - char***
    - int**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 219
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 219
    functionName: dane_query_to_raw_tlsa
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 2
    functionsReached:
    - gnutls_calloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int dane_query_to_raw_tlsa(dane_query_t q, unsigned int *data_entries,\n\t\t\t
      \  char ***dane_data, int **dane_data_len, int *secure,\n\t\t\t   int *bogus)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/libdane/dane.c:238,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:240,1
    - Dst: ub_ctx_create
      Src: /src/gnutls/libdane/dane.c:242,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:244,1
    - Dst: ub_ctx_debugout
      Src: /src/gnutls/libdane/dane.c:248,1
    - Dst: ub_ctx_resolvconf
      Src: /src/gnutls/libdane/dane.c:251,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:252,1
    - Dst: ub_ctx_hosts
      Src: /src/gnutls/libdane/dane.c:257,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:258,1
    - Dst: ub_ctx_add_ta_file
      Src: /src/gnutls/libdane/dane.c:266,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:268,1
    - Dst: ub_ctx_delete
      Src: /src/gnutls/libdane/dane.c:281,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - dane_state_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: dane_state_init
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 2
    functionsReached:
    - ub_ctx_create
    - calloc
    - free
    - ub_ctx_resolvconf
    - ub_ctx_hosts
    - ub_ctx_add_ta_file
    - ub_ctx_delete
    - ub_ctx_debugout
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int dane_state_init(dane_state_t *s, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ub_ctx_delete
      Src: /src/gnutls/libdane/dane.c:296,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - dane_state_t
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: dane_state_deinit
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 2
    functionsReached:
    - ub_ctx_delete
    - free
    linkageType: ''
    returnType: void
    signature: void dane_state_deinit(dane_state_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ub_ctx_set_option
      Src: /src/gnutls/libdane/dane.c:313,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - file
    argTypes:
    - dane_state_t
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: dane_state_set_dlv_file
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - ub_ctx_set_option
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: int dane_state_set_dlv_file(dane_state_t s, const char *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ub_resolve_free
      Src: /src/gnutls/libdane/dane.c:331,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - dane_query_t
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: dane_query_deinit
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 2
    functionsReached:
    - ub_resolve_free
    - free
    linkageType: ''
    returnType: void
    signature: void dane_query_deinit(dane_query_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnutls/libdane/dane.c:361,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:363,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:372,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:384,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:386,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:393,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - s
    - r
    - dane_data
    - dane_data_len
    - secure
    - bogus
    argTypes:
    - dane_state_t
    - dane_query_t*
    - char**
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 401
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 401
    functionName: dane_raw_tlsa
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - gnutls_assert
    - gnutls_assert_val
    - calloc
    linkageType: ''
    returnType: int
    signature: "int dane_raw_tlsa(dane_state_t s, dane_query_t *r, char *const *dane_data,\n\t\t
      \ const int *dane_data_len, int secure, int bogus)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnutls/libdane/dane.c:424,1
    - Dst: ub_resolve
      Src: /src/gnutls/libdane/dane.c:427,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:429,1
    - Dst: ub_resolve_free
      Src: /src/gnutls/libdane/dane.c:434,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:435,1
    - Dst: dane_raw_tlsa
      Src: /src/gnutls/libdane/dane.c:438,1
    - Dst: ub_resolve_free
      Src: /src/gnutls/libdane/dane.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - s
    - r
    - host
    - proto
    - port
    argTypes:
    - dane_state_t
    - dane_query_t*
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 446
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 446
    functionName: dane_query_tlsa
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - dane_raw_tlsa
    - snprintf
    - ub_resolve
    - ub_resolve_free
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int dane_query_tlsa(dane_state_t s, dane_query_t *r, const char *host,\n\t\t
      \   const char *proto, unsigned int port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:456,1
    - Dst: memcmp
      Src: /src/gnutls/libdane/dane.c:458,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:459,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:464,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/libdane/dane.c:466,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:469,1
    - Dst: memcmp
      Src: /src/gnutls/libdane/dane.c:471,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:472,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:477,1
    - Dst: gnutls_hash_fast
      Src: /src/gnutls/libdane/dane.c:479,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:482,1
    - Dst: memcmp
      Src: /src/gnutls/libdane/dane.c:484,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:485,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - raw1
    - raw2
    - match
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    - dane_match_type_t
    constantsTouched: []
    func_position:
      end: 491
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 491
    functionName: matches
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 5
    functionsReached:
    - gnutls_assert_val
    - gnutls_hash_fast
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int matches(const gnutls_datum_t *raw1,\n\t\t\t    const
      gnutls_datum_t *raw2, dane_match_type_t match)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/libdane/dane.c:501,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:503,1
    - Dst: gnutls_pubkey_init
      Src: /src/gnutls/libdane/dane.c:505,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:507,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/libdane/dane.c:512,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:514,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/gnutls/libdane/dane.c:519,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:521,1
    - Dst: gnutls_pubkey_export2
      Src: /src/gnutls/libdane/dane.c:526,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:528,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:537,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/gnutls/libdane/dane.c:541,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:543,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - raw_crt
    - out
    argTypes:
    - gnutls_datum_t*
    - gnutls_datum_t*
    constantsTouched: []
    func_position:
      end: 546
      start: 493
    functionDepth: 9
    functionLinenumber: 493
    functionLinenumberEnd: 546
    functionName: crt_to_pubkey
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - free
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_export2
    - gnutls_pubkey_init
    - gnutls_pubkey_deinit
    - gnutls_assert_val
    - gnutls_assert
    linkageType: ''
    returnType: int
    signature: int crt_to_pubkey(const gnutls_datum_t *raw_crt, gnutls_datum_t *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:560,1
    - Dst: matches
      Src: /src/gnutls/libdane/dane.c:565,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:572,1
    - Dst: crt_to_pubkey
      Src: /src/gnutls/libdane/dane.c:580,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:582,1
    - Dst: matches
      Src: /src/gnutls/libdane/dane.c:586,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:591,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:596,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:600,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/libdane/dane.c:605,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:607,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/libdane/dane.c:611,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:613,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/libdane/dane.c:618,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:620,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/libdane/dane.c:624,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:627,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/libdane/dane.c:631,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:635,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:640,1
    - Dst: gnutls_x509_crt_verify
      Src: /src/gnutls/libdane/dane.c:643,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:645,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:655,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:657,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:659,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 7
    argNames:
    - raw_crt
    - raw_crt_size
    - crt_type
    - ctype
    - match
    - data
    - verify
    argTypes:
    - gnutls_datum_t*
    - unsigned
    - gnutls_certificate_type_t
    - dane_cert_type_t
    - dane_match_type_t
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 661
      start: 548
    functionDepth: 10
    functionLinenumber: 548
    functionLinenumberEnd: 661
    functionName: verify_ca
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 0
    functionsReached:
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - free
    - gnutls_assert
    - gnutls_x509_crt_verify
    - matches
    - crt_to_pubkey
    - gnutls_x509_crt_check_issuer
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int verify_ca(const gnutls_datum_t *raw_crt, unsigned raw_crt_size,\n\t\t
      \    gnutls_certificate_type_t crt_type, dane_cert_type_t ctype,\n\t\t     dane_match_type_t
      match, gnutls_datum_t *data,\n\t\t     unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matches
      Src: /src/gnutls/libdane/dane.c:672,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:673,1
    - Dst: crt_to_pubkey
      Src: /src/gnutls/libdane/dane.c:678,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:680,1
    - Dst: matches
      Src: /src/gnutls/libdane/dane.c:684,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:685,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:689,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:695,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - raw_crt
    - crt_type
    - ctype
    - match
    - data
    - verify
    argTypes:
    - gnutls_datum_t*
    - gnutls_certificate_type_t
    - dane_cert_type_t
    - dane_match_type_t
    - gnutls_datum_t*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 697
      start: 663
    functionDepth: 10
    functionLinenumber: 663
    functionLinenumberEnd: 697
    functionName: verify_ee
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_assert
    - matches
    - crt_to_pubkey
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int verify_ee(const gnutls_datum_t *raw_crt,\n\t\t     gnutls_certificate_type_t
      crt_type, dane_cert_type_t ctype,\n\t\t     dane_match_type_t match, gnutls_datum_t
      *data,\n\t\t     unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:751,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:754,1
    - Dst: dane_query_data
      Src: /src/gnutls/libdane/dane.c:761,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:766,1
    - Dst: verify_ca
      Src: /src/gnutls/libdane/dane.c:773,1
    - Dst: CHECK_VRET
      Src: /src/gnutls/libdane/dane.c:775,1
    - Dst: verify_ee
      Src: /src/gnutls/libdane/dane.c:780,1
    - Dst: CHECK_VRET
      Src: /src/gnutls/libdane/dane.c:782,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:787,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 8
    argNames:
    - s
    - chain
    - chain_size
    - chain_type
    - r
    - sflags
    - vflags
    - verify
    argTypes:
    - dane_state_t
    - gnutls_datum_t*
    - unsigned
    - gnutls_certificate_type_t
    - dane_query_t
    - unsigned int
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 796
      start: 739
    functionDepth: 11
    functionLinenumber: 739
    functionLinenumberEnd: 796
    functionName: dane_verify_crt_raw
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - CHECK_VRET
    - verify_ca
    - verify_ee
    - gnutls_assert
    - dane_query_data
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int dane_verify_crt_raw(dane_state_t s, const gnutls_datum_t *chain,\n\t\t\tunsigned
      chain_size,\n\t\t\tgnutls_certificate_type_t chain_type, dane_query_t r,\n\t\t\tunsigned
      int sflags, unsigned int vflags,\n\t\t\tunsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dane_state_init
      Src: /src/gnutls/libdane/dane.c:847,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:849,1
    - Dst: dane_query_tlsa
      Src: /src/gnutls/libdane/dane.c:855,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:857,1
    - Dst: dane_verify_crt_raw
      Src: /src/gnutls/libdane/dane.c:860,1
    - Dst: dane_state_deinit
      Src: /src/gnutls/libdane/dane.c:864,1
    - Dst: dane_query_deinit
      Src: /src/gnutls/libdane/dane.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 10
    argNames:
    - s
    - chain
    - chain_size
    - chain_type
    - hostname
    - proto
    - port
    - sflags
    - vflags
    - verify
    argTypes:
    - dane_state_t
    - gnutls_datum_t*
    - unsigned
    - gnutls_certificate_type_t
    - char*
    - char*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 868
      start: 835
    functionDepth: 12
    functionLinenumber: 835
    functionLinenumberEnd: 868
    functionName: dane_verify_crt
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - dane_query_tlsa
    - gnutls_assert
    - dane_verify_crt_raw
    - dane_query_deinit
    - dane_state_init
    - dane_state_deinit
    linkageType: ''
    returnType: int
    signature: "int dane_verify_crt(dane_state_t s, const gnutls_datum_t *chain,\n\t\t
      \   unsigned chain_size, gnutls_certificate_type_t chain_type,\n\t\t    const
      char *hostname, const char *proto, unsigned int port,\n\t\t    unsigned int
      sflags, unsigned int vflags,\n\t\t    unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/gnutls/libdane/dane.c:908,1
    - Dst: gnutls_assert_val
      Src: /src/gnutls/libdane/dane.c:910,1
    - Dst: gnutls_certificate_type_get
      Src: /src/gnutls/libdane/dane.c:913,1
    - Dst: gnutls_x509_crt_init
      Src: /src/gnutls/libdane/dane.c:916,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:918,1
    - Dst: gnutls_x509_crt_import
      Src: /src/gnutls/libdane/dane.c:922,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:925,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:926,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/gnutls/libdane/dane.c:931,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:933,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:934,1
    - Dst: gnutls_credentials_get
      Src: /src/gnutls/libdane/dane.c:939,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:942,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:943,1
    - Dst: gnutls_certificate_get_issuer
      Src: /src/gnutls/libdane/dane.c:947,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:949,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:950,1
    - Dst: gnutls_malloc
      Src: /src/gnutls/libdane/dane.c:958,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:960,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:961,1
    - Dst: memcpy
      Src: /src/gnutls/libdane/dane.c:965,1
    - Dst: gnutls_x509_crt_export2
      Src: /src/gnutls/libdane/dane.c:968,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:971,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:972,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/gnutls/libdane/dane.c:973,1
    - Dst: dane_verify_crt
      Src: /src/gnutls/libdane/dane.c:977,1
    - Dst: gnutls_assert
      Src: /src/gnutls/libdane/dane.c:980,1
    - Dst: gnutls_free
      Src: /src/gnutls/libdane/dane.c:982,1
    - Dst: free
      Src: /src/gnutls/libdane/dane.c:983,1
    - Dst: dane_verify_crt
      Src: /src/gnutls/libdane/dane.c:987,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 8
    argNames:
    - s
    - session
    - hostname
    - proto
    - port
    - sflags
    - vflags
    - verify
    argTypes:
    - dane_state_t
    - gnutls_session_t
    - char*
    - char*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 989
      start: 896
    functionDepth: 13
    functionLinenumber: 896
    functionLinenumberEnd: 989
    functionName: dane_verify_session_crt
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 1
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_import
    - gnutls_x509_crt_deinit
    - gnutls_x509_crt_init
    - gnutls_x509_crt_check_issuer
    - free
    - gnutls_credentials_get
    - gnutls_assert
    - gnutls_certificate_get_issuer
    - gnutls_malloc
    - dane_verify_crt
    - gnutls_certificate_get_peers
    - gnutls_x509_crt_export2
    - memcpy
    - gnutls_certificate_type_get
    - gnutls_assert_val
    linkageType: ''
    returnType: int
    signature: "int dane_verify_session_crt(dane_state_t s, gnutls_session_t session,\n\t\t\t
      \   const char *hostname, const char *proto,\n\t\t\t    unsigned int port, unsigned
      int sflags,\n\t\t\t    unsigned int vflags, unsigned int *verify)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gnutls_buffer_init
      Src: /src/gnutls/libdane/dane.c:1011,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/libdane/dane.c:1014,1
    - Dst: _
      Src: /src/gnutls/libdane/dane.c:1014,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/libdane/dane.c:1016,1
    - Dst: _
      Src: /src/gnutls/libdane/dane.c:1016,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/libdane/dane.c:1019,1
    - Dst: _
      Src: /src/gnutls/libdane/dane.c:1020,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/libdane/dane.c:1023,1
    - Dst: _
      Src: /src/gnutls/libdane/dane.c:1023,1
    - Dst: _gnutls_buffer_append_str
      Src: /src/gnutls/libdane/dane.c:1026,1
    - Dst: _
      Src: /src/gnutls/libdane/dane.c:1027,1
    - Dst: _gnutls_buffer_to_datum
      Src: /src/gnutls/libdane/dane.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - status
    - out
    - flags
    argTypes:
    - unsigned int
    - gnutls_datum_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1030
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1030
    functionName: dane_verification_status_print
    functionSourceFile: /src/gnutls/libdane/dane.c
    functionUses: 2
    functionsReached:
    - _gnutls_buffer_init
    - _gnutls_buffer_to_datum
    - _
    - _gnutls_buffer_append_str
    linkageType: ''
    returnType: int
    signature: "int dane_verification_status_print(unsigned int status, gnutls_datum_t
      *out,\n\t\t\t\t   unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnutls/libdane/errors.c:95,1
    - Dst: _
      Src: /src/gnutls/libdane/errors.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: dane_strerror
    functionSourceFile: /src/gnutls/libdane/errors.c
    functionUses: 4
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: char *dane_strerror(int error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_set_base256
      Src: /src/nettle/dsa-hash.c:62,1
    - Dst: mpn_rshift
      Src: /src/nettle/dsa-hash.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - hp
    - bit_size
    - length
    - digest
    argTypes:
    - mp_limb_t*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: _nettle_dsa_hash
    functionSourceFile: /src/nettle/dsa-hash.c
    functionUses: 0
    functionsReached:
    - mpn_set_base256
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void _nettle_dsa_hash (mp_limb_t *hp, unsigned bit_size,\n\t\t  size_t
      length, const uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_set_base256_le
      Src: /src/nettle/dsa-hash.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hp
    - bit_size
    - length
    - digest
    argTypes:
    - mp_limb_t*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: _nettle_gostdsa_hash
    functionSourceFile: /src/nettle/dsa-hash.c
    functionUses: 0
    functionsReached:
    - mpn_set_base256_le
    linkageType: ''
    returnType: void
    signature: "void _nettle_gostdsa_hash (mp_limb_t *hp, unsigned bit_size,\n\t\t
      \     size_t length, const uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-nonsec-add-jjj.c:94,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:96,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-nonsec-add-jjj.c:98,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-nonsec-add-jjj.c:99,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:100,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:103,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:104,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-nonsec-add-jjj.c:106,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:107,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:108,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:109,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:112,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:115,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:117,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:118,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-nonsec-add-jjj.c:121,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-nonsec-add-jjj.c:124,1
    - Dst: ecc_dup_jj
      Src: /src/nettle/ecc-nonsec-add-jjj.c:129,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-nonsec-add-jjj.c:135,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-nonsec-add-jjj.c:138,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-nonsec-add-jjj.c:141,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-nonsec-add-jjj.c:142,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:145,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:148,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-nonsec-add-jjj.c:151,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:152,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-nonsec-add-jjj.c:153,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:156,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-nonsec-add-jjj.c:157,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-nonsec-add-jjj.c:158,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-nonsec-add-jjj.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 162
    functionName: ecc_nonsec_add_jjj
    functionSourceFile: /src/nettle/ecc-nonsec-add-jjj.c
    functionUses: 0
    functionsReached:
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_dup_jj
    - ecc_mod_submul_1
    - ecc_mod_add
    - mpn_zero
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_nonsec_add_jjj (const struct ecc_curve *ecc,\n\t\t    mp_limb_t
      *r, const mp_limb_t *p, const mp_limb_t *q,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha224_set_key
      Src: /src/nettle/hmac-sha224-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sha224_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sha224-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sha224_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sha224_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_even_p
      Src: /src/nettle/dsa-sign.c:65,1
    - Dst: mpz_init_set
      Src: /src/nettle/dsa-sign.c:69,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/dsa-sign.c:70,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-sign.c:72,1
    - Dst: nettle_mpz_random
      Src: /src/nettle/dsa-sign.c:73,1
    - Dst: mpz_add_ui
      Src: /src/nettle/dsa-sign.c:74,1
    - Dst: mpz_powm_sec
      Src: /src/nettle/dsa-sign.c:77,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-sign.c:78,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/dsa-sign.c:81,1
    - Dst: NETTLE_BIT_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/dsa-sign.c:82,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-sign.c:83,1
    - Dst: _nettle_dsa_hash
      Src: /src/nettle/dsa-sign.c:84,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/dsa-sign.c:84,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/dsa-sign.c:85,1
    - Dst: mpz_invert
      Src: /src/nettle/dsa-sign.c:88,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-sign.c:91,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-sign.c:92,1
    - Dst: mpz_add
      Src: /src/nettle/dsa-sign.c:93,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-sign.c:94,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-sign.c:95,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-sign.c:102,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-sign.c:103,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-sign.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 7
    argNames:
    - params
    - x
    - random_ctx
    - random
    - digest_size
    - digest
    - signature
    argTypes:
    - struct dsa_params*
    - mpz_t
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 107
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 107
    functionName: dsa_sign
    functionSourceFile: /src/nettle/dsa-sign.c
    functionUses: 1
    functionsReached:
    - mpz_init_set
    - mpz_powm_sec
    - mpz_limbs_write
    - mpz_invert
    - mpz_mul
    - mpz_sub_ui
    - mpz_add_ui
    - _nettle_dsa_hash
    - NETTLE_BIT_SIZE_TO_LIMB_SIZE
    - mpz_fdiv_r
    - mpz_init
    - mpz_limbs_finish
    - mpz_clear
    - mpz_sizeinbase
    - mpz_add
    - mpz_even_p
    - nettle_mpz_random
    linkageType: ''
    returnType: int
    signature: "int dsa_sign(const struct dsa_params *params,\n\t const mpz_t x,\n\t
      void *random_ctx, nettle_random_func *random,\n\t size_t digest_size,\n\t const
      uint8_t *digest,\n\t struct dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: nettle_get_ciphers
    functionSourceFile: /src/nettle/nettle-meta-ciphers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct nettle_cipher
    signature: 'struct nettle_cipher * const *

      nettle_get_ciphers (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_set_str_256_s
      Src: /src/nettle/sexp2bignum.c:50,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/sexp2bignum.c:53,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp2bignum.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - x
    - limit
    - i
    argTypes:
    - mpz_t
    - unsigned
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: nettle_mpz_set_sexp
    functionSourceFile: /src/nettle/sexp2bignum.c
    functionUses: 0
    functionsReached:
    - mpz_sizeinbase
    - nettle_mpz_set_str_256_s
    - sexp_iterator_next
    linkageType: ''
    returnType: int
    signature: int nettle_mpz_set_sexp(mpz_t x, unsigned limit, struct sexp_iterator
      *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/pkcs1-encrypt.c:72,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-encrypt.c:74,1
    - Dst: random
      Src: /src/nettle/pkcs1-encrypt.c:77,1
    - Dst: memcpy
      Src: /src/nettle/pkcs1-encrypt.c:85,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-encrypt.c:87,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-encrypt.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - key_size
    - random_ctx
    - random
    - length
    - message
    - m
    argTypes:
    - size_t
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 91
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 91
    functionName: pkcs1_encrypt
    functionSourceFile: /src/nettle/pkcs1-encrypt.c
    functionUses: 0
    functionsReached:
    - assert
    - nettle_mpz_set_str_256_u
    - random
    - TMP_GMP_FREE
    - memcpy
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int pkcs1_encrypt (size_t key_size,\n\t       /* For padding */\n\t
      \      void *random_ctx, nettle_random_func *random,\n\t       size_t length,
      const uint8_t *message,\n\t       mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/salsa20-core-internal.c:95,1
    - Dst: memcpy
      Src: /src/nettle/salsa20-core-internal.c:97,1
    - Dst: DEBUG
      Src: /src/nettle/salsa20-core-internal.c:100,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:101,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:102,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:103,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:104,1
    - Dst: DEBUG
      Src: /src/nettle/salsa20-core-internal.c:106,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:107,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:108,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:109,1
    - Dst: QROUND
      Src: /src/nettle/salsa20-core-internal.c:110,1
    - Dst: DEBUG
      Src: /src/nettle/salsa20-core-internal.c:112,1
    - Dst: bswap32_if_be
      Src: /src/nettle/salsa20-core-internal.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - dst
    - src
    - rounds
    argTypes:
    - uint32_t*
    - uint32_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 119
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 119
    functionName: _nettle_salsa20_core
    functionSourceFile: /src/nettle/salsa20-core-internal.c
    functionUses: 0
    functionsReached:
    - assert
    - DEBUG
    - bswap32_if_be
    - memcpy
    - QROUND
    linkageType: ''
    returnType: void
    signature: void _nettle_salsa20_core(uint32_t *dst, const uint32_t *src, unsigned
      rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sha384.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sha384_set_key
    functionSourceFile: /src/nettle/hmac-sha384.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sha384_set_key(struct hmac_sha512_ctx *ctx,\n\t\t    size_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sha384.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sha512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sha384_digest
    functionSourceFile: /src/nettle/hmac-sha384.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sha384_digest(struct hmac_sha512_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac-poly64.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - kh
    - kl
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: poly64_mul
    functionSourceFile: /src/nettle/umac-poly64.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t poly64_mul (uint32_t kh, uint32_t kl, uint64_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poly64_mul
      Src: /src/nettle/umac-poly64.c:70,1
    - Dst: poly64_mul
      Src: /src/nettle/umac-poly64.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - kh
    - kl
    - y
    - m
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: _nettle_umac_poly64
    functionSourceFile: /src/nettle/umac-poly64.c
    functionUses: 0
    functionsReached:
    - poly64_mul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _nettle_umac_poly64 (uint32_t kh, uint32_t kl, uint64_t y,
      uint64_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/balloon-sha256.c:49,1
    - Dst: balloon
      Src: /src/nettle/balloon-sha256.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - s_cost
    - t_cost
    - passwd_length
    - passwd
    - salt_length
    - salt
    - scratch
    - dst
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: balloon_sha256
    functionSourceFile: /src/nettle/balloon-sha256.c
    functionUses: 0
    functionsReached:
    - sha256_init
    - balloon
    linkageType: ''
    returnType: void
    signature: "void balloon_sha256(size_t s_cost, size_t t_cost,\n               size_t
      passwd_length, const uint8_t *passwd,\n               size_t salt_length, const
      uint8_t *salt,\n               uint8_t *scratch, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - word_t*
    - word_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: memxor_common_alignment
    functionSourceFile: /src/nettle/memxor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memxor_common_alignment (word_t *dst, const word_t *src, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/memxor.c:80,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor.c:87,1
    - Dst: MERGE
      Src: /src/nettle/memxor.c:99,1
    - Dst: assert
      Src: /src/nettle/memxor.c:102,1
    - Dst: MERGE
      Src: /src/nettle/memxor.c:107,1
    - Dst: MERGE
      Src: /src/nettle/memxor.c:109,1
    - Dst: assert
      Src: /src/nettle/memxor.c:111,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor.c:113,1
    - Dst: MERGE
      Src: /src/nettle/memxor.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - word_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 119
    functionName: memxor_different_alignment
    functionSourceFile: /src/nettle/memxor.c
    functionUses: 0
    functionsReached:
    - MERGE
    - assert
    - READ_PARTIAL
    linkageType: ''
    returnType: void
    signature: void memxor_different_alignment (word_t *dst, const unsigned char *src,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_OFFSET
      Src: /src/nettle/memxor.c:139,1
    - Dst: ALIGN_OFFSET
      Src: /src/nettle/memxor.c:144,1
    - Dst: memxor_different_alignment
      Src: /src/nettle/memxor.c:149,1
    - Dst: memxor_common_alignment
      Src: /src/nettle/memxor.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dst_in
    - src_in
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 161
    functionName: memxor
    functionSourceFile: /src/nettle/memxor.c
    functionUses: 18
    functionsReached:
    - memxor_common_alignment
    - memxor_different_alignment
    - ALIGN_OFFSET
    linkageType: ''
    returnType: void
    signature: 'void *

      memxor(void *dst_in, const void *src_in, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_sm4_set_iv
      Src: /src/nettle/gcm-sm4-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_sm4_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-sm4-meta.c
    functionUses: 0
    functionsReached:
    - gcm_sm4_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_sm4_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/pbkdf2-hmac-sha256.c:50,1
    - Dst: PBKDF2
      Src: /src/nettle/pbkdf2-hmac-sha256.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - key_length
    - key
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: pbkdf2_hmac_sha256
    functionSourceFile: /src/nettle/pbkdf2-hmac-sha256.c
    functionUses: 0
    functionsReached:
    - hmac_sha256_set_key
    - PBKDF2
    linkageType: ''
    returnType: void
    signature: "void pbkdf2_hmac_sha256 (size_t key_length, const uint8_t *key,\n\t\t
      \   unsigned iterations,\n\t\t    size_t salt_length, const uint8_t *salt,\n\t\t
      \   size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DIGIT
      Src: /src/nettle/base16-encode.c:51,1
    - Dst: DIGIT
      Src: /src/nettle/base16-encode.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: base16_encode_single
    functionSourceFile: /src/nettle/base16-encode.c
    functionUses: 0
    functionsReached:
    - DIGIT
    linkageType: ''
    returnType: void
    signature: "void base16_encode_single(char *dst,\n\t\t     uint8_t src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_encode_single
      Src: /src/nettle/base16-encode.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - length
    - src
    argTypes:
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: base16_encode_update
    functionSourceFile: /src/nettle/base16-encode.c
    functionUses: 0
    functionsReached:
    - base16_encode_single
    linkageType: ''
    returnType: void
    signature: "void base16_encode_update(char *dst,\n\t\t     size_t length,\n\t\t
      \    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha256-verify.c:53,1
    - Dst: _rsa_verify_recover
      Src: /src/nettle/rsa-pss-sha256-verify.c:55,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/rsa-pss-sha256-verify.c:56,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha256-verify.c:56,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha256-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key
    - salt_length
    - digest
    - signature
    argTypes:
    - struct rsa_public_key*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: rsa_pss_sha256_verify_digest
    functionSourceFile: /src/nettle/rsa-pss-sha256-verify.c
    functionUses: 0
    functionsReached:
    - _rsa_verify_recover
    - pss_verify_mgf1
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha256_verify_digest(const struct rsa_public_key *key,\n\t\t\t
      \    size_t salt_length,\n\t\t\t     const uint8_t *digest,\n\t\t\t     const
      mpz_t signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha1_encode
      Src: /src/nettle/rsa-sha1-sign.c:51,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha1-sign.c:53,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha1-sign.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_private_key*
    - struct sha1_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: rsa_sha1_sign
    functionSourceFile: /src/nettle/rsa-sha1-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha1_encode
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_sign(const struct rsa_private_key *key,\n              struct
      sha1_ctx *hash,\n              mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha1_encode_digest
      Src: /src/nettle/rsa-sha1-sign.c:68,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha1-sign.c:70,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha1-sign.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_private_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: rsa_sha1_sign_digest
    functionSourceFile: /src/nettle/rsa-sha1-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha1_encode_digest
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_sign_digest(const struct rsa_private_key *key,\n\t\t
      \    const uint8_t *digest,\n\t\t     mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_a_to_j
      Src: /src/nettle/ecc-mul-a.c:66,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-a.c:67,1
    - Dst: ecc_dup_jj
      Src: /src/nettle/ecc-mul-a.c:78,1
    - Dst: ecc_add_jja
      Src: /src/nettle/ecc-mul-a.c:79,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-a.c:84,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-a.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ecc
    - r
    - np
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 90
    functionName: ecc_mul_a
    functionSourceFile: /src/nettle/ecc-mul-a.c
    functionUses: 0
    functionsReached:
    - ecc_a_to_j
    - ecc_dup_jj
    - ecc_add_jja
    - mpn_zero
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_a (const struct ecc_curve *ecc,\n\t   mp_limb_t *r,\n\t
      \  const mp_limb_t *np, const mp_limb_t *p,\n\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-a.c:107,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:107,1
    - Dst: ecc_a_to_j
      Src: /src/nettle/ecc-mul-a.c:108,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:108,1
    - Dst: ecc_dup_jj
      Src: /src/nettle/ecc-mul-a.c:112,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:112,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:112,1
    - Dst: ecc_add_jja
      Src: /src/nettle/ecc-mul-a.c:113,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:113,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:113,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ecc
    - table
    - bits
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - unsigned
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: table_init
    functionSourceFile: /src/nettle/ecc-mul-a.c
    functionUses: 0
    functionsReached:
    - ecc_a_to_j
    - ecc_dup_jj
    - TABLE
    - ecc_add_jja
    - mpn_zero
    linkageType: ''
    returnType: void
    signature: "void table_init (const struct ecc_curve *ecc,\n\t    mp_limb_t *table,
      unsigned bits,\n\t    const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: table_init
      Src: /src/nettle/ecc-mul-a.c:135,1
    - Dst: assert
      Src: /src/nettle/ecc-mul-a.c:142,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-a.c:144,1
    - Dst: IS_ZERO_SMALL
      Src: /src/nettle/ecc-mul-a.c:145,1
    - Dst: assert
      Src: /src/nettle/ecc-mul-a.c:160,1
    - Dst: ecc_dup_jj
      Src: /src/nettle/ecc-mul-a.c:169,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-a.c:172,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-a.c:173,1
    - Dst: ecc_add_jjj
      Src: /src/nettle/ecc-mul-a.c:174,1
    - Dst: IS_ZERO_SMALL
      Src: /src/nettle/ecc-mul-a.c:175,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-a.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - ecc
    - r
    - np
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 184
    functionName: ecc_mul_a
    functionSourceFile: /src/nettle/ecc-mul-a.c
    functionUses: 0
    functionsReached:
    - assert
    - IS_ZERO_SMALL
    - ecc_add_jjj
    - ecc_dup_jj
    - table_init
    - mpn_sec_tabselect
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_a (const struct ecc_curve *ecc,\n\t   mp_limb_t *r,\n\t
      \  const mp_limb_t *np, const mp_limb_t *p,\n\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes192-decrypt.c:56,1
    - Dst: _nettle_aes_decrypt
      Src: /src/nettle/aes192-decrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes192_decrypt
    functionSourceFile: /src/nettle/aes192-decrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_decrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes192_decrypt(const struct aes192_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL
      Src: /src/nettle/ecdsa-keygen.c:50,1
    - Dst: ECC_MUL_G_ITCH
      Src: /src/nettle/ecdsa-keygen.c:50,1
    - Dst: assert
      Src: /src/nettle/ecdsa-keygen.c:54,1
    - Dst: assert
      Src: /src/nettle/ecdsa-keygen.c:55,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ecdsa-keygen.c:57,1
    - Dst: ecc_mod_random
      Src: /src/nettle/ecdsa-keygen.c:59,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/ecdsa-keygen.c:60,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/ecdsa-keygen.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pub
    - key
    - random_ctx
    - random
    argTypes:
    - struct ecc_point*
    - struct ecc_scalar*
    - void*
    - nettle_random_func*
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: ecdsa_generate_keypair
    functionSourceFile: /src/nettle/ecdsa-keygen.c
    functionUses: 1
    functionsReached:
    - assert
    - TMP_DECL
    - struct ecc_curve*::h_to_a
    - ECC_MUL_G_ITCH
    - TMP_ALLOC
    - struct ecc_curve*::mul_g
    - ecc_mod_random
    linkageType: ''
    returnType: void
    signature: "void ecdsa_generate_keypair (struct ecc_point *pub,\n\t\t\tstruct
      ecc_scalar *key,\n\t\t\tvoid *random_ctx, nettle_random_func *random)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/nettle/realloc.c:48,1
    - Dst: free
      Src: /src/nettle/realloc.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - UNUSED
    - p
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: nettle_realloc
    functionSourceFile: /src/nettle/realloc.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      nettle_realloc(void *ctx UNUSED, void *p, size_t length)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/realloc.c:62,1
    - Dst: abort
      Src: /src/nettle/realloc.c:63,1
    - Dst: free
      Src: /src/nettle/realloc.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - UNUSED
    - p
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: nettle_xrealloc
    functionSourceFile: /src/nettle/realloc.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      nettle_xrealloc(void *ctx UNUSED, void *p, size_t length)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_decode_constructed_last
      Src: /src/nettle/der2rsa.c:61,1
    - Dst: asn1_der_get_bignum
      Src: /src/nettle/der2rsa.c:62,1
    - Dst: mpz_sgn
      Src: /src/nettle/der2rsa.c:63,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:64,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der2rsa.c:65,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/der2rsa.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - limit
    - i
    argTypes:
    - struct rsa_public_key*
    - unsigned
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: rsa_public_key_from_der_iterator
    functionSourceFile: /src/nettle/der2rsa.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_next
    - mpz_sgn
    - asn1_der_decode_constructed_last
    - rsa_public_key_prepare
    - GET
    - asn1_der_get_bignum
    linkageType: ''
    returnType: int
    signature: "int rsa_public_key_from_der_iterator(struct rsa_public_key *pub,\n\t\t\t\t
      unsigned limit,\n\t\t\t\t struct asn1_der_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_decode_constructed_last
      Src: /src/nettle/der2rsa.c:94,1
    - Dst: asn1_der_get_uint32
      Src: /src/nettle/der2rsa.c:96,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:98,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:99,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/der2rsa.c:100,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:101,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:102,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:103,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:104,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:105,1
    - Dst: GET
      Src: /src/nettle/der2rsa.c:106,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/der2rsa.c:107,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der2rsa.c:112,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der2rsa.c:117,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 4
    argNames:
    - pub
    - priv
    - limit
    - i
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 121
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 121
    functionName: rsa_private_key_from_der_iterator
    functionSourceFile: /src/nettle/der2rsa.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_next
    - asn1_der_decode_constructed_last
    - rsa_private_key_prepare
    - rsa_public_key_prepare
    - asn1_der_get_uint32
    - GET
    linkageType: ''
    returnType: int
    signature: "int rsa_private_key_from_der_iterator(struct rsa_public_key *pub,\n\t\t\t\t
      \ struct rsa_private_key *priv,\n\t\t\t\t  unsigned limit,\n\t\t\t\t  struct
      asn1_der_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_iterator_first
      Src: /src/nettle/der2rsa.c:132,1
    - Dst: rsa_private_key_from_der_iterator
      Src: /src/nettle/der2rsa.c:138,1
    - Dst: rsa_public_key_from_der_iterator
      Src: /src/nettle/der2rsa.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pub
    - priv
    - limit
    - length
    - data
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: rsa_keypair_from_der
    functionSourceFile: /src/nettle/der2rsa.c
    functionUses: 0
    functionsReached:
    - rsa_private_key_from_der_iterator
    - asn1_der_iterator_first
    - rsa_public_key_from_der_iterator
    linkageType: ''
    returnType: int
    signature: "int rsa_keypair_from_der(struct rsa_public_key *pub,\n\t\t     struct
      rsa_private_key *priv,\n\t\t     unsigned limit, \n\t\t     size_t length, const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_aes192_set_iv
      Src: /src/nettle/gcm-aes192-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes192_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-aes192-meta.c
    functionUses: 0
    functionsReached:
    - gcm_aes192_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_aes192_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_set_key
      Src: /src/nettle/hmac-sha384-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sha384_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sha384-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sha384_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sha384_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_set_key
      Src: /src/nettle/chacha-poly1305.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct chacha_poly1305_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: chacha_poly1305_set_key
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - chacha_set_key
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_set_key (struct chacha_poly1305_ctx *ctx,\n\t\t\t
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha_set_nonce96
      Src: /src/nettle/chacha-poly1305.c:81,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-poly1305.c:83,1
    - Dst: _nettle_poly1305_set_key
      Src: /src/nettle/chacha-poly1305.c:84,1
    - Dst: memcpy
      Src: /src/nettle/chacha-poly1305.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct chacha_poly1305_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: chacha_poly1305_set_nonce
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 1
    functionsReached:
    - memcpy
    - _nettle_poly1305_set_key
    - _nettle_chacha_core
    - chacha_set_nonce96
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_set_nonce (struct chacha_poly1305_ctx *ctx,\n\t\t\t
      \  const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_poly1305_update
      Src: /src/nettle/chacha-poly1305.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct chacha_poly1305_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: poly1305_update
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 1
    functionsReached:
    - _nettle_poly1305_update
    linkageType: ''
    returnType: void
    signature: "void poly1305_update (struct chacha_poly1305_ctx *ctx,\n\t\t size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/chacha-poly1305.c:109,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/chacha-poly1305.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct chacha_poly1305_ctx*
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: poly1305_pad
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - _nettle_poly1305_block
    - memset
    linkageType: ''
    returnType: void
    signature: void poly1305_pad (struct chacha_poly1305_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/chacha-poly1305.c:119,1
    - Dst: poly1305_update
      Src: /src/nettle/chacha-poly1305.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct chacha_poly1305_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: chacha_poly1305_update
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_update
    - assert
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_update (struct chacha_poly1305_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/chacha-poly1305.c:132,1
    - Dst: poly1305_pad
      Src: /src/nettle/chacha-poly1305.c:133,1
    - Dst: chacha_crypt32
      Src: /src/nettle/chacha-poly1305.c:135,1
    - Dst: poly1305_update
      Src: /src/nettle/chacha-poly1305.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_poly1305_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: chacha_poly1305_encrypt
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_update
    - assert
    - chacha_crypt32
    - poly1305_pad
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_encrypt (struct chacha_poly1305_ctx *ctx,\n\t\t\t
      size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/chacha-poly1305.c:147,1
    - Dst: poly1305_pad
      Src: /src/nettle/chacha-poly1305.c:148,1
    - Dst: poly1305_update
      Src: /src/nettle/chacha-poly1305.c:150,1
    - Dst: chacha_crypt32
      Src: /src/nettle/chacha-poly1305.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_poly1305_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: chacha_poly1305_decrypt
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_update
    - assert
    - chacha_crypt32
    - poly1305_pad
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_decrypt (struct chacha_poly1305_ctx *ctx,\n\t\t\t
      size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_pad
      Src: /src/nettle/chacha-poly1305.c:161,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/chacha-poly1305.c:162,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/chacha-poly1305.c:163,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/chacha-poly1305.c:165,1
    - Dst: _nettle_poly1305_digest
      Src: /src/nettle/chacha-poly1305.c:167,1
    - Dst: memcpy
      Src: /src/nettle/chacha-poly1305.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct chacha_poly1305_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: chacha_poly1305_digest
    functionSourceFile: /src/nettle/chacha-poly1305.c
    functionUses: 0
    functionsReached:
    - _nettle_poly1305_digest
    - _nettle_poly1305_block
    - LE_WRITE_UINT64
    - memcpy
    - poly1305_pad
    linkageType: ''
    returnType: void
    signature: "void chacha_poly1305_digest (struct chacha_poly1305_ctx *ctx,\n\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base64_encode_ctx*
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: base64url_encode_init
    functionSourceFile: /src/nettle/base64url-encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64url_encode_init(struct base64_encode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - iterator
    - length
    - input
    argTypes:
    - struct sexp_iterator*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: sexp_iterator_init
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sexp_iterator_init(struct sexp_iterator *iterator,\n\t\t   unsigned
      length, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:74,1
    - Dst: NEXT
      Src: /src/nettle/sexp.c:75,1
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:76,1
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:85,1
    - Dst: NEXT
      Src: /src/nettle/sexp.c:86,1
    - Dst: NEXT
      Src: /src/nettle/sexp.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - iterator
    - size
    - string
    argTypes:
    - struct sexp_iterator*
    - size_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 104
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 104
    functionName: sexp_iterator_simple
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - EMPTY
    - NEXT
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_simple(struct sexp_iterator *iterator,\n\t\t     size_t
      *size,\n\t\t     const uint8_t **string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:116,1
    - Dst: sexp_iterator_simple
      Src: /src/nettle/sexp.c:140,1
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:144,1
    - Dst: NEXT
      Src: /src/nettle/sexp.c:144,1
    - Dst: sexp_iterator_simple
      Src: /src/nettle/sexp.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 163
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 163
    functionName: sexp_iterator_parse
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - NEXT
    - EMPTY
    - sexp_iterator_simple
    linkageType: ''
    returnType: int
    signature: int sexp_iterator_parse(struct sexp_iterator *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_init
      Src: /src/nettle/sexp.c:169,1
    - Dst: sexp_iterator_parse
      Src: /src/nettle/sexp.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iterator
    - length
    - input
    argTypes:
    - struct sexp_iterator*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: sexp_iterator_first
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_init
    - sexp_iterator_parse
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_first(struct sexp_iterator *iterator,\n\t\t    size_t
      length, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/sexp.c:182,1
    - Dst: sexp_iterator_exit_list
      Src: /src/nettle/sexp.c:183,1
    - Dst: sexp_iterator_parse
      Src: /src/nettle/sexp.c:187,1
    - Dst: abort
      Src: /src/nettle/sexp.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: sexp_iterator_next
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 1
    functionsReached:
    - abort
    - sexp_iterator_parse
    - sexp_iterator_exit_list
    - sexp_iterator_enter_list
    linkageType: ''
    returnType: int
    signature: int sexp_iterator_next(struct sexp_iterator *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY
      Src: /src/nettle/sexp.c:200,1
    - Dst: NEXT
      Src: /src/nettle/sexp.c:200,1
    - Dst: abort
      Src: /src/nettle/sexp.c:202,1
    - Dst: sexp_iterator_parse
      Src: /src/nettle/sexp.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: sexp_iterator_enter_list
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 1
    functionsReached:
    - abort
    - EMPTY
    - sexp_iterator_parse
    - NEXT
    linkageType: ''
    returnType: int
    signature: int sexp_iterator_enter_list(struct sexp_iterator *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:217,1
    - Dst: sexp_iterator_parse
      Src: /src/nettle/sexp.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: sexp_iterator_exit_list
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 1
    functionsReached:
    - sexp_iterator_parse
    - sexp_iterator_next
    linkageType: ''
    returnType: int
    signature: int sexp_iterator_exit_list(struct sexp_iterator *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/sexp.c:231,1
    - Dst: sexp_iterator_exit_list
      Src: /src/nettle/sexp.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - level
    argTypes:
    - struct sexp_iterator*
    - unsigned
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: sexp_iterator_exit_lists
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - assert
    - sexp_iterator_exit_list
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_exit_lists(struct sexp_iterator *iterator,\n\t\t\t
      unsigned level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - length
    argTypes:
    - struct sexp_iterator*
    - size_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: sexp_iterator_subexpr
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_next
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nsexp_iterator_subexpr(struct sexp_iterator *iterator,\n\t\t
      \     size_t *length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT16
      Src: /src/nettle/sexp.c:280,1
    - Dst: READ_UINT24
      Src: /src/nettle/sexp.c:283,1
    - Dst: READ_UINT32
      Src: /src/nettle/sexp.c:286,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - iterator
    - x
    argTypes:
    - struct sexp_iterator*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 294
    functionName: sexp_iterator_get_uint32
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - READ_UINT32
    - READ_UINT16
    - READ_UINT24
    - sexp_iterator_next
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_get_uint32(struct sexp_iterator *iterator,\n\t\t\t
      uint32_t *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/sexp.c:300,1
    - Dst: strlen
      Src: /src/nettle/sexp.c:303,1
    - Dst: memcmp
      Src: /src/nettle/sexp.c:304,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - iterator
    - type
    argTypes:
    - struct sexp_iterator*
    - char*
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: sexp_iterator_check_type
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_next
    - strlen
    - sexp_iterator_enter_list
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_check_type(struct sexp_iterator *iterator,\n\t\t\t
      const char *type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/sexp.c:313,1
    - Dst: strlen
      Src: /src/nettle/sexp.c:319,1
    - Dst: memcmp
      Src: /src/nettle/sexp.c:320,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - ntypes
    - types
    argTypes:
    - struct sexp_iterator*
    - unsigned
    - char**
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: sexp_iterator_check_types
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_next
    - strlen
    - sexp_iterator_enter_list
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *\nsexp_iterator_check_types(struct sexp_iterator *iterator,\n\t\t\t
      \ unsigned ntypes,\n\t\t\t  const char * const *types)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/sexp.c:337,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/sexp.c:349,1
    - Dst: strlen
      Src: /src/nettle/sexp.c:360,1
    - Dst: memcmp
      Src: /src/nettle/sexp.c:361,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:369,1
    - Dst: sexp_iterator_exit_list
      Src: /src/nettle/sexp.c:382,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/sexp.c:387,1
    - Dst: sexp_iterator_exit_list
      Src: /src/nettle/sexp.c:392,1
    - Dst: abort
      Src: /src/nettle/sexp.c:396,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - iterator
    - nkeys
    - keys
    - values
    argTypes:
    - struct sexp_iterator*
    - unsigned
    - char**
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 399
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 399
    functionName: sexp_iterator_assoc
    functionSourceFile: /src/nettle/sexp.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    - sexp_iterator_next
    - sexp_iterator_exit_list
    - sexp_iterator_enter_list
    - memcmp
    - TMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int sexp_iterator_assoc(struct sexp_iterator *iterator,\n\t\t    unsigned
      nkeys,\n\t\t    const char * const *keys,\n\t\t    struct sexp_iterator *values)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-gosthash94.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_gosthash94_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_gosthash94_set_key
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94_set_key(struct hmac_gosthash94_ctx *ctx,\n\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94_update
      Src: /src/nettle/hmac-gosthash94.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_gosthash94_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_gosthash94_update
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - gosthash94_update
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94_update(struct hmac_gosthash94_ctx *ctx,\n\t\t
      \  size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-gosthash94.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_gosthash94_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_gosthash94_digest
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94_digest(struct hmac_gosthash94_ctx *ctx,\n\t\t
      \      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-gosthash94.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_gosthash94cp_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: hmac_gosthash94cp_set_key
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94cp_set_key(struct hmac_gosthash94cp_ctx *ctx,\n\t\t
      \   size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94cp_update
      Src: /src/nettle/hmac-gosthash94.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_gosthash94cp_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: hmac_gosthash94cp_update
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - gosthash94cp_update
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94cp_update(struct hmac_gosthash94cp_ctx *ctx,\n\t\t
      \  size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-gosthash94.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_gosthash94cp_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: hmac_gosthash94cp_digest
    functionSourceFile: /src/nettle/hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_gosthash94cp_digest(struct hmac_gosthash94cp_ctx *ctx,\n\t\t\t
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: nettle_get_hashes
    functionSourceFile: /src/nettle/nettle-meta-hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct nettle_hash
    signature: 'struct nettle_hash * const *

      nettle_get_hashes (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_aes128_set_iv
      Src: /src/nettle/gcm-aes128-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes128_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-aes128-meta.c
    functionUses: 0
    functionsReached:
    - gcm_aes128_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_aes128_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sha1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sha1_set_key
    functionSourceFile: /src/nettle/hmac-sha1.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sha1_set_key(struct hmac_sha1_ctx *ctx,\n\t\t  size_t key_length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/nettle/hmac-sha1.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sha1_update
    functionSourceFile: /src/nettle/hmac-sha1.c
    functionUses: 0
    functionsReached:
    - sha1_update
    linkageType: ''
    returnType: void
    signature: "void hmac_sha1_update(struct hmac_sha1_ctx *ctx,\n\t\t size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sha1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sha1_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_sha1_digest
    functionSourceFile: /src/nettle/hmac-sha1.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sha1_digest(struct hmac_sha1_ctx *ctx,\n\t\t uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:58,1
    - Dst: nettle_mpz_random
      Src: /src/nettle/rsa-sign-tr.c:65,1
    - Dst: mpz_invert
      Src: /src/nettle/rsa-sign-tr.c:68,1
    - Dst: mpz_powm_sec
      Src: /src/nettle/rsa-sign-tr.c:71,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-sign-tr.c:72,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-sign-tr.c:73,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - pub
    - random_ctx
    - random
    - c
    - ri
    - m
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: rsa_blind
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpz_invert
    - mpz_powm_sec
    - mpz_mul
    - mpz_fdiv_r
    - mpz_init
    - mpz_clear
    - nettle_mpz_random
    linkageType: ''
    returnType: void
    signature: "void rsa_blind (const struct rsa_public_key *pub,\n\t   void *random_ctx,
      nettle_random_func *random,\n\t   mpz_t c, mpz_t ri, const mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mul
      Src: /src/nettle/rsa-sign-tr.c:83,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-sign-tr.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pub
    - m
    - ri
    - c
    argTypes:
    - struct rsa_public_key*
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: rsa_unblind
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpz_mul
    - mpz_fdiv_r
    linkageType: ''
    returnType: void
    signature: "void rsa_unblind (const struct rsa_public_key *pub,\n\t     mpz_t
      m, const mpz_t ri, const mpz_t c)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:104,1
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:104,1
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:104,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:107,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:108,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:109,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:110,1
    - Dst: rsa_blind
      Src: /src/nettle/rsa-sign-tr.c:112,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sign-tr.c:114,1
    - Dst: mpz_powm_sec
      Src: /src/nettle/rsa-sign-tr.c:116,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-sign-tr.c:117,1
    - Dst: rsa_unblind
      Src: /src/nettle/rsa-sign-tr.c:120,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:122,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:123,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:124,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - x
    - m
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 128
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 128
    functionName: rsa_compute_root_tr
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - mpz_powm_sec
    - rsa_unblind
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_even_p
    - rsa_blind
    linkageType: ''
    returnType: int
    signature: "int rsa_compute_root_tr(const struct rsa_public_key *pub,\n\t\t    const
      struct rsa_private_key *key,\n\t\t    void *random_ctx, nettle_random_func *random,\n\t\t
      \   mpz_t x, const mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign-tr.c:141,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:143,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sign-tr.c:145,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/rsa-sign-tr.c:146,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/rsa-sign-tr.c:149,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign-tr.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - x
    - m
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: _rsa_sec_compute_root_tr
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpz_roinit_n
    - mpz_size
    - rsa_compute_root_tr
    - mpz_init
    - mpz_clear
    - mpz_limbs_copy
    linkageType: ''
    returnType: int
    signature: "int _rsa_sec_compute_root_tr(const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t mp_limb_t *x, const mp_limb_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sign-tr.c:163,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sign-tr.c:164,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-sign-tr.c:165,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:166,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:170,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:171,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:174,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:175,1
    - Dst: mpn_sec_powm_itch
      Src: /src/nettle/rsa-sign-tr.c:178,1
    - Dst: mpn_sec_mul_itch
      Src: /src/nettle/rsa-sign-tr.c:179,1
    - Dst: MAX
      Src: /src/nettle/rsa-sign-tr.c:180,1
    - Dst: mpn_sec_div_r_itch
      Src: /src/nettle/rsa-sign-tr.c:181,1
    - Dst: MAX
      Src: /src/nettle/rsa-sign-tr.c:182,1
    - Dst: mpn_sec_invert_itch
      Src: /src/nettle/rsa-sign-tr.c:183,1
    - Dst: MAX
      Src: /src/nettle/rsa-sign-tr.c:184,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:186,1
    - Dst: random
      Src: /src/nettle/rsa-sign-tr.c:192,1
    - Dst: mpn_set_base256
      Src: /src/nettle/rsa-sign-tr.c:193,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sign-tr.c:194,1
    - Dst: mpn_sec_invert
      Src: /src/nettle/rsa-sign-tr.c:197,1
    - Dst: mpn_sec_powm
      Src: /src/nettle/rsa-sign-tr.c:199,1
    - Dst: mpn_sec_mul
      Src: /src/nettle/rsa-sign-tr.c:200,1
    - Dst: mpn_sec_div_r
      Src: /src/nettle/rsa-sign-tr.c:201,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sign-tr.c:202,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:204,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:205,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 6
    argNames:
    - pub
    - random_ctx
    - random
    - c
    - ri
    - m
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 207
    functionName: rsa_sec_blind
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpn_sec_div_r
    - mpn_sec_mul
    - mpn_sec_powm_itch
    - mpn_sec_invert_itch
    - mpn_set_base256
    - mpn_copyi
    - mpz_size
    - mpn_sec_powm
    - MAX
    - random
    - mpn_sec_invert
    - mpn_sec_mul_itch
    - TMP_GMP_DECL
    - mpn_sec_div_r_itch
    - mpz_limbs_read
    - mpz_sizeinbase
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void rsa_sec_blind (const struct rsa_public_key *pub,\n               void
      *random_ctx, nettle_random_func *random,\n               mp_limb_t *c, mp_limb_t
      *ri, const mp_limb_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sign-tr.c:214,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:215,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:220,1
    - Dst: mpn_sec_mul_itch
      Src: /src/nettle/rsa-sign-tr.c:222,1
    - Dst: mpn_sec_div_r_itch
      Src: /src/nettle/rsa-sign-tr.c:223,1
    - Dst: MAX
      Src: /src/nettle/rsa-sign-tr.c:224,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:226,1
    - Dst: mpn_sec_mul
      Src: /src/nettle/rsa-sign-tr.c:229,1
    - Dst: mpn_sec_div_r
      Src: /src/nettle/rsa-sign-tr.c:230,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sign-tr.c:231,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - pub
    - x
    - ri
    - c
    argTypes:
    - struct rsa_public_key*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: rsa_sec_unblind
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpn_sec_div_r
    - mpn_sec_mul
    - mpn_copyi
    - MAX
    - TMP_GMP_ALLOC
    - mpn_sec_mul_itch
    - TMP_GMP_DECL
    - mpn_sec_div_r_itch
    - mpz_limbs_read
    - TMP_GMP_FREE
    - mpz_size
    linkageType: ''
    returnType: void
    signature: "void rsa_sec_unblind (const struct rsa_public_key *pub,\n                 mp_limb_t
      *x, mp_limb_t *ri, const mp_limb_t *c)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - limbs
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: sec_equal
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sec_equal(const mp_limb_t *a, const mp_limb_t *b, size_t limbs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:254,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-sign-tr.c:255,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sign-tr.c:256,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sign-tr.c:257,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:263,1
    - Dst: mpn_sec_powm_itch
      Src: /src/nettle/rsa-sign-tr.c:265,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:266,1
    - Dst: mpn_sec_powm
      Src: /src/nettle/rsa-sign-tr.c:269,1
    - Dst: sec_equal
      Src: /src/nettle/rsa-sign-tr.c:270,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pub
    - x
    - m
    argTypes:
    - struct rsa_public_key*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: rsa_sec_check_root
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - mpn_sec_powm_itch
    - mpn_sec_powm
    - sec_equal
    - TMP_GMP_ALLOC
    - TMP_GMP_DECL
    - TMP_GMP_FREE
    - mpz_limbs_read
    - mpz_sizeinbase
    - mpz_size
    linkageType: ''
    returnType: int
    signature: "int rsa_sec_check_root(const struct rsa_public_key *pub,\n                   const
      mp_limb_t *x, const mp_limb_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cnd
    - rp
    - n
    argTypes:
    - int
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: cnd_mpn_zero
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cnd_mpn_zero (int cnd, volatile mp_ptr rp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:301,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:302,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:303,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:307,1
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:314,1
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:314,1
    - Dst: mpz_even_p
      Src: /src/nettle/rsa-sign-tr.c:314,1
    - Dst: mpn_zero
      Src: /src/nettle/rsa-sign-tr.c:316,1
    - Dst: assert
      Src: /src/nettle/rsa-sign-tr.c:320,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:320,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:322,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:323,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:324,1
    - Dst: _rsa_sec_compute_root_itch
      Src: /src/nettle/rsa-sign-tr.c:324,1
    - Dst: rsa_sec_blind
      Src: /src/nettle/rsa-sign-tr.c:326,1
    - Dst: _rsa_sec_compute_root
      Src: /src/nettle/rsa-sign-tr.c:328,1
    - Dst: rsa_sec_check_root
      Src: /src/nettle/rsa-sign-tr.c:330,1
    - Dst: rsa_sec_unblind
      Src: /src/nettle/rsa-sign-tr.c:332,1
    - Dst: cnd_mpn_zero
      Src: /src/nettle/rsa-sign-tr.c:334,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:336,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:337,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - x
    - m
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 340
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 340
    functionName: _rsa_sec_compute_root_tr
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 0
    functionsReached:
    - assert
    - _rsa_sec_compute_root_itch
    - rsa_sec_check_root
    - mpz_even_p
    - cnd_mpn_zero
    - TMP_GMP_ALLOC
    - rsa_sec_unblind
    - _rsa_sec_compute_root
    - TMP_GMP_DECL
    - TMP_GMP_FREE
    - mpn_zero
    - rsa_sec_blind
    - mpz_size
    linkageType: ''
    returnType: int
    signature: "int _rsa_sec_compute_root_tr(const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t mp_limb_t *x, const mp_limb_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign-tr.c:355,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign-tr.c:356,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign-tr.c:359,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/rsa-sign-tr.c:360,1
    - Dst: _rsa_sec_compute_root_tr
      Src: /src/nettle/rsa-sign-tr.c:362,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/rsa-sign-tr.c:364,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sign-tr.c:365,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/rsa-sign-tr.c:366,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign-tr.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - x
    - m
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: rsa_compute_root_tr
    functionSourceFile: /src/nettle/rsa-sign-tr.c
    functionUses: 1
    functionsReached:
    - mpz_limbs_write
    - mpn_copyi
    - mpz_size
    - TMP_GMP_ALLOC
    - TMP_GMP_DECL
    - mpz_limbs_finish
    - TMP_GMP_FREE
    - _rsa_sec_compute_root_tr
    - mpz_limbs_copy
    linkageType: ''
    returnType: int
    signature: "int rsa_compute_root_tr(const struct rsa_public_key *pub,\n\t\t    const
      struct rsa_private_key *key,\n\t\t    void *random_ctx, nettle_random_func *random,\n\t\t
      \   mpz_t x, const mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha256-sign-tr.c:55,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/rsa-pss-sha256-sign-tr.c:57,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha256-sign-tr.c:57,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-pss-sha256-sign-tr.c:59,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha256-sign-tr.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - salt_length
    - salt
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: rsa_pss_sha256_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-pss-sha256-sign-tr.c
    functionUses: 0
    functionsReached:
    - pss_encode_mgf1
    - rsa_compute_root_tr
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha256_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\t
      \     const struct rsa_private_key *key,\n\t\t\t      void *random_ctx, nettle_random_func
      *random,\n\t\t\t      size_t salt_length, const uint8_t *salt,\n\t\t\t      const
      uint8_t *digest,\n\t\t\t      mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/ripemd160.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ripemd160_ctx*
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: ripemd160_init
    functionSourceFile: /src/nettle/ripemd160.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ripemd160_init(struct ripemd160_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/ripemd160.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct ripemd160_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ripemd160_update
    functionSourceFile: /src/nettle/ripemd160.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: void ripemd160_update(struct ripemd160_ctx *ctx, size_t length, const
      uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_PAD
      Src: /src/nettle/ripemd160.c:190,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/ripemd160.c:196,1
    - Dst: _nettle_ripemd160_compress
      Src: /src/nettle/ripemd160.c:197,1
    - Dst: _nettle_write_le32
      Src: /src/nettle/ripemd160.c:199,1
    - Dst: ripemd160_init
      Src: /src/nettle/ripemd160.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct ripemd160_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: ripemd160_digest
    functionSourceFile: /src/nettle/ripemd160.c
    functionUses: 0
    functionsReached:
    - _nettle_ripemd160_compress
    - ripemd160_init
    - MD_PAD
    - _nettle_write_le32
    - LE_WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: void ripemd160_digest(struct ripemd160_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block16_zero
      Src: /src/nettle/siv-gcm.c:61,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:62,1
    - Dst: MIN
      Src: /src/nettle/siv-gcm.c:62,1
    - Dst: f
      Src: /src/nettle/siv-gcm.c:64,1
    - Dst: f
      Src: /src/nettle/siv-gcm.c:68,1
    - Dst: assert
      Src: /src/nettle/siv-gcm.c:71,1
    - Dst: f
      Src: /src/nettle/siv-gcm.c:76,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - f
    - key_size
    - nlength
    - nonce
    - auth_key
    - encryption_key
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - size_t
    - uint8_t*
    - union nettle_block16*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: siv_gcm_derive_keys
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - assert
    - block16_zero
    - f
    - MIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void siv_gcm_derive_keys (const void *ctx,\n\t\t     nettle_cipher_func
      *f,\n\t\t     size_t key_size,\n\t\t     size_t nlength, const uint8_t *nonce,\n\t\t
      \    union nettle_block16 *auth_key,\n\t\t     uint8_t *encryption_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/siv-gcm.c:88,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:92,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/siv-gcm.c:93,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/siv-gcm.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: siv_gcm_fill
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - LE_WRITE_UINT32
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void siv_gcm_fill(uint8_t *ctr, size_t blocks, union nettle_block16
      *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _siv_ghash_update
      Src: /src/nettle/siv-gcm.c:109,1
    - Dst: memset
      Src: /src/nettle/siv-gcm.c:116,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:117,1
    - Dst: _siv_ghash_update
      Src: /src/nettle/siv-gcm.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - state
    - length
    - data
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: siv_ghash_pad_update
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - _siv_ghash_update
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void siv_ghash_pad_update (struct gcm_key *ctx,\n\t\t      union nettle_block16
      *state,\n\t\t      size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _siv_ghash_set_key
      Src: /src/nettle/siv-gcm.c:135,1
    - Dst: block16_zero
      Src: /src/nettle/siv-gcm.c:137,1
    - Dst: siv_ghash_pad_update
      Src: /src/nettle/siv-gcm.c:138,1
    - Dst: siv_ghash_pad_update
      Src: /src/nettle/siv-gcm.c:139,1
    - Dst: bswap64_if_be
      Src: /src/nettle/siv-gcm.c:141,1
    - Dst: bswap64_if_be
      Src: /src/nettle/siv-gcm.c:142,1
    - Dst: _siv_ghash_update
      Src: /src/nettle/siv-gcm.c:144,1
    - Dst: block16_bswap
      Src: /src/nettle/siv-gcm.c:145,1
    - Dst: memxor
      Src: /src/nettle/siv-gcm.c:147,1
    - Dst: struct nettle_cipher*::encrypt
      Src: /src/nettle/siv-gcm.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 9
    argNames:
    - ctx
    - nc
    - authentication_key
    - nonce
    - alength
    - adata
    - mlength
    - mdata
    - tag
    argTypes:
    - void*
    - struct nettle_cipher*
    - union nettle_block16*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: siv_gcm_authenticate
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - memxor
    - block16_zero
    - struct nettle_cipher*::encrypt
    - siv_ghash_pad_update
    - _siv_ghash_update
    - bswap64_if_be
    - block16_bswap
    - _siv_ghash_set_key
    linkageType: ''
    returnType: void
    signature: "void siv_gcm_authenticate (const void *ctx,\n\t\t      const struct
      nettle_cipher *nc,\n\t\t      const union nettle_block16 *authentication_key,\n\t\t
      \     const uint8_t *nonce,\n\t\t      size_t alength, const uint8_t *adata,\n\t\t
      \     size_t mlength, const uint8_t *mdata,\n\t\t      uint8_t *tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/siv-gcm.c:165,1
    - Dst: assert
      Src: /src/nettle/siv-gcm.c:166,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/siv-gcm.c:168,1
    - Dst: siv_gcm_derive_keys
      Src: /src/nettle/siv-gcm.c:169,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/siv-gcm.c:173,1
    - Dst: siv_gcm_authenticate
      Src: /src/nettle/siv-gcm.c:175,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:185,1
    - Dst: _nettle_ctr_crypt16
      Src: /src/nettle/siv-gcm.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 10
    argNames:
    - nc
    - ctx
    - ctr_ctx
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct nettle_cipher*
    - void*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 189
    functionName: siv_gcm_encrypt_message
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - assert
    - siv_gcm_derive_keys
    - struct nettle_cipher*::set_encrypt_key
    - siv_gcm_authenticate
    - TMP_ALLOC
    - _nettle_ctr_crypt16
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void siv_gcm_encrypt_message (const struct nettle_cipher *nc,\n\t\t\t
      const void *ctx,\n\t\t\t void *ctr_ctx,\n\t\t\t size_t nlength, const uint8_t
      *nonce,\n\t\t\t size_t alength, const uint8_t *adata,\n\t\t\t size_t clength,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/siv-gcm.c:204,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/siv-gcm.c:206,1
    - Dst: siv_gcm_derive_keys
      Src: /src/nettle/siv-gcm.c:207,1
    - Dst: memcpy
      Src: /src/nettle/siv-gcm.c:210,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/siv-gcm.c:216,1
    - Dst: _nettle_ctr_crypt16
      Src: /src/nettle/siv-gcm.c:218,1
    - Dst: siv_gcm_authenticate
      Src: /src/nettle/siv-gcm.c:222,1
    - Dst: memeql_sec
      Src: /src/nettle/siv-gcm.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 10
    argNames:
    - nc
    - ctx
    - ctr_ctx
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct nettle_cipher*
    - void*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: siv_gcm_decrypt_message
    functionSourceFile: /src/nettle/siv-gcm.c
    functionUses: 0
    functionsReached:
    - assert
    - siv_gcm_derive_keys
    - memeql_sec
    - struct nettle_cipher*::set_encrypt_key
    - _nettle_ctr_crypt16
    - TMP_ALLOC
    - siv_gcm_authenticate
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int siv_gcm_decrypt_message (const struct nettle_cipher *nc,\n\t\t\t
      const void *ctx,\n\t\t\t void *ctr_ctx,\n\t\t\t size_t nlength, const uint8_t
      *nonce,\n\t\t\t size_t alength, const uint8_t *adata,\n\t\t\t size_t mlength,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/ocb-aes128.c:41,1
    - Dst: ocb_set_key
      Src: /src/nettle/ocb-aes128.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ocb_key
    - key
    argTypes:
    - struct ocb_aes128_encrypt_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: ocb_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    - ocb_set_key
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_set_encrypt_key (struct ocb_aes128_encrypt_key *ocb_key,
      const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_encrypt_key
      Src: /src/nettle/ocb-aes128.c:49,1
    - Dst: aes128_invert_key
      Src: /src/nettle/ocb-aes128.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ocb_key
    - decrypt
    - key
    argTypes:
    - struct ocb_aes128_encrypt_key*
    - struct aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: ocb_aes128_set_decrypt_key
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - aes128_invert_key
    - ocb_aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_set_decrypt_key (struct ocb_aes128_encrypt_key *ocb_key,
      struct aes128_ctx *decrypt,\n\t\t\t    const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_set_nonce
      Src: /src/nettle/ocb-aes128.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - key
    - tag_length
    - nonce_length
    - nonce
    argTypes:
    - struct ocb_ctx*
    - struct ocb_aes128_encrypt_key*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: ocb_aes128_set_nonce
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_set_nonce
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_set_nonce (struct ocb_ctx *ctx, const struct ocb_aes128_encrypt_key
      *key,\n\t\t      size_t tag_length, size_t nonce_length, const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_update
      Src: /src/nettle/ocb-aes128.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - length
    - data
    argTypes:
    - struct ocb_ctx*
    - struct ocb_aes128_encrypt_key*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: ocb_aes128_update
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_update
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_update (struct ocb_ctx *ctx, const struct ocb_aes128_encrypt_key
      *key,\n\t\t   size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_encrypt
      Src: /src/nettle/ocb-aes128.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - key
    - length
    - dst
    - src
    argTypes:
    - struct ocb_ctx*
    - struct ocb_aes128_encrypt_key*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: ocb_aes128_encrypt
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_encrypt
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_encrypt(struct ocb_ctx *ctx, const struct ocb_aes128_encrypt_key
      *key,\n\t\t   size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_decrypt
      Src: /src/nettle/ocb-aes128.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - key
    - decrypt
    - length
    - dst
    - src
    argTypes:
    - struct ocb_ctx*
    - struct ocb_aes128_encrypt_key*
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ocb_aes128_decrypt
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_decrypt
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_decrypt(struct ocb_ctx *ctx, const struct ocb_aes128_encrypt_key
      *key,\n\t\t   const struct aes128_ctx *decrypt,\n\t\t   size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_digest
      Src: /src/nettle/ocb-aes128.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - length
    - digest
    argTypes:
    - struct ocb_ctx*
    - struct ocb_aes128_encrypt_key*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: ocb_aes128_digest
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_digest
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_digest(struct ocb_ctx *ctx, const struct ocb_aes128_encrypt_key
      *key,\n\t\t  size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_encrypt_message
      Src: /src/nettle/ocb-aes128.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - key
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - struct ocb_aes128_encrypt_key*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ocb_aes128_encrypt_message
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_encrypt_message (const struct ocb_aes128_encrypt_key
      *key,\n\t\t\t    size_t nlength, const uint8_t *nonce,\n\t\t\t    size_t alength,
      const uint8_t *adata,\n\t\t\t    size_t tlength,\n\t\t\t    size_t clength,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_decrypt_message
      Src: /src/nettle/ocb-aes128.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - key
    - decrypt
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - struct ocb_aes128_encrypt_key*
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: ocb_aes128_decrypt_message
    functionSourceFile: /src/nettle/ocb-aes128.c
    functionUses: 0
    functionsReached:
    - ocb_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int ocb_aes128_decrypt_message (const struct ocb_aes128_encrypt_key
      *key,\n\t\t\t    const struct aes128_ctx *decrypt,\n\t\t\t    size_t nlength,
      const uint8_t *nonce,\n\t\t\t    size_t alength, const uint8_t *adata,\n\t\t\t
      \   size_t tlength,\n\t\t\t    size_t mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pkcs1-sign-tr.c:53,1
    - Dst: pkcs1_rsa_digest_encode
      Src: /src/nettle/rsa-pkcs1-sign-tr.c:55,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-pkcs1-sign-tr.c:56,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pkcs1-sign-tr.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - length
    - digest_info
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: rsa_pkcs1_sign_tr
    functionSourceFile: /src/nettle/rsa-pkcs1-sign-tr.c
    functionUses: 1
    functionsReached:
    - pkcs1_rsa_digest_encode
    - mpz_clear
    - rsa_compute_root_tr
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_pkcs1_sign_tr(const struct rsa_public_key *pub,\n  \t          const
      struct rsa_private_key *key,\n\t          void *random_ctx, nettle_random_func
      *random,\n\t          size_t length, const uint8_t *digest_info,\n   \t          mpz_t
      s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_limb_t
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: mpn_cnd_add_n
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: "mp_limb_t mpn_cnd_add_n (mp_limb_t cnd, mp_limb_t *rp,\n\t       const
      mp_limb_t *ap, const mp_limb_t *bp, mp_size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cnd
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_limb_t
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: mpn_cnd_sub_n
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: "mp_limb_t mpn_cnd_sub_n (mp_limb_t cnd, mp_limb_t *rp,\n\t       const
      mp_limb_t *ap, const mp_limb_t *bp, mp_size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cnd
    - ap
    - bp
    - n
    argTypes:
    - mp_limb_t
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: mpn_cnd_swap
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_cnd_swap (mp_limb_t cnd, volatile mp_limb_t *ap, volatile
      mp_limb_t *bp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - table
    - rn
    - tn
    - k
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: mpn_sec_tabselect
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void mpn_sec_tabselect (volatile mp_limb_t *rp, volatile const mp_limb_t
      *table,\n\t\t   mp_size_t rn, unsigned tn, unsigned k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_limb
      Src: /src/nettle/gmp-glue.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ap
    - n
    argTypes:
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: sec_zero_p
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - is_zero_limb
    linkageType: ''
    returnType: int
    signature: int sec_zero_p (const mp_limb_t *ap, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_size
      Src: /src/nettle/gmp-glue.c:141,1
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:143,1
    - Dst: mpn_copyi
      Src: /src/nettle/gmp-glue.c:144,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/gmp-glue.c:144,1
    - Dst: mpn_zero
      Src: /src/nettle/gmp-glue.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xp
    - x
    - n
    argTypes:
    - mp_limb_t*
    - mpz_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: mpz_limbs_copy
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 2
    functionsReached:
    - mpn_zero
    - assert
    - mpn_copyi
    - mpz_limbs_read
    - mpz_size
    linkageType: ''
    returnType: void
    signature: void mpz_limbs_copy (mp_limb_t *xp, mpz_srcptr x, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/gmp-glue.c:152,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/gmp-glue.c:152,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/gmp-glue.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - xp
    - xn
    argTypes:
    - mpz_t
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: mpz_set_n
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - mpn_copyi
    - mpz_limbs_write
    - mpz_limbs_finish
    linkageType: ''
    returnType: void
    signature: void mpz_set_n (mpz_t r, const mp_limb_t *xp, mp_size_t xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/gmp-glue.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - mp_limb_t*
    - mp_size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 183
    functionName: mpn_set_base256
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 3
    functionsReached:
    - mpn_zero
    linkageType: ''
    returnType: void
    signature: "void mpn_set_base256 (mp_limb_t *rp, mp_size_t rn,\n\t\t const uint8_t
      *xp, size_t xn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/gmp-glue.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - mp_limb_t*
    - mp_size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 212
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 212
    functionName: mpn_set_base256_le
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 1
    functionsReached:
    - mpn_zero
    linkageType: ''
    returnType: void
    signature: "void mpn_set_base256_le (mp_limb_t *rp, mp_size_t rn,\n\t\t    const
      uint8_t *xp, size_t xn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - uint8_t*
    - size_t
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 243
    functionName: mpn_get_base256
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mpn_get_base256 (uint8_t *rp, size_t rn,\n\t\t const mp_limb_t
      *xp, mp_size_t xn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - rp
    - rn
    - xp
    - xn
    argTypes:
    - uint8_t*
    - size_t
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: mpn_get_base256_le
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mpn_get_base256_le (uint8_t *rp, size_t rn,\n\t\t    const mp_limb_t
      *xp, mp_size_t xn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:285,1
    - Dst: mp_get_memory_functions
      Src: /src/nettle/gmp-glue.c:287,1
    - Dst: alloc_func
      Src: /src/nettle/gmp-glue.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: gmp_alloc_limbs
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - alloc_func
    - assert
    - mp_get_memory_functions
    linkageType: ''
    returnType: mp_limb_t
    signature: 'mp_limb_t *

      gmp_alloc_limbs (mp_size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:295,1
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:296,1
    - Dst: mp_get_memory_functions
      Src: /src/nettle/gmp-glue.c:297,1
    - Dst: free_func
      Src: /src/nettle/gmp-glue.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: gmp_free_limbs
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - assert
    - mp_get_memory_functions
    - free_func
    linkageType: ''
    returnType: void
    signature: void gmp_free_limbs (mp_limb_t *p, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:306,1
    - Dst: mp_get_memory_functions
      Src: /src/nettle/gmp-glue.c:308,1
    - Dst: alloc_func
      Src: /src/nettle/gmp-glue.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: gmp_alloc
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - alloc_func
    - assert
    - mp_get_memory_functions
    linkageType: ''
    returnType: void
    signature: 'void *

      gmp_alloc(size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:317,1
    - Dst: assert
      Src: /src/nettle/gmp-glue.c:318,1
    - Dst: mp_get_memory_functions
      Src: /src/nettle/gmp-glue.c:319,1
    - Dst: free_func
      Src: /src/nettle/gmp-glue.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: gmp_free
    functionSourceFile: /src/nettle/gmp-glue.c
    functionUses: 0
    functionsReached:
    - assert
    - mp_get_memory_functions
    - free_func
    linkageType: ''
    returnType: void
    signature: void gmp_free(void *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_salsa20_2core
      Src: /src/nettle/salsa20-crypt-internal.c:62,1
    - Dst: memxor3
      Src: /src/nettle/salsa20-crypt-internal.c:67,1
    - Dst: memxor3
      Src: /src/nettle/salsa20-crypt-internal.c:70,1
    - Dst: _nettle_salsa20_core
      Src: /src/nettle/salsa20-crypt-internal.c:76,1
    - Dst: memxor3
      Src: /src/nettle/salsa20-crypt-internal.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - rounds
    - length
    - dst
    - src
    argTypes:
    - struct salsa20_ctx*
    - unsigned
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: _nettle_salsa20_crypt_2core
    functionSourceFile: /src/nettle/salsa20-crypt-internal.c
    functionUses: 0
    functionsReached:
    - _nettle_salsa20_2core
    - memxor3
    - _nettle_salsa20_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_salsa20_crypt_2core(struct salsa20_ctx *ctx, unsigned
      rounds,\n\t\t\t    size_t length, uint8_t *dst,\n\t\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_salsa20_core
      Src: /src/nettle/salsa20-crypt-internal.c:93,1
    - Dst: memxor3
      Src: /src/nettle/salsa20-crypt-internal.c:101,1
    - Dst: memxor3
      Src: /src/nettle/salsa20-crypt-internal.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - rounds
    - length
    - dst
    - src
    argTypes:
    - struct salsa20_ctx*
    - unsigned
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: _nettle_salsa20_crypt_1core
    functionSourceFile: /src/nettle/salsa20-crypt-internal.c
    functionUses: 0
    functionsReached:
    - memxor3
    - _nettle_salsa20_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_salsa20_crypt_1core(struct salsa20_ctx *ctx, unsigned
      rounds,\n\t\t\t    size_t length,\n\t\t\t    uint8_t *dst,\n\t\t\t    const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:73,1
    - Dst: EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:74,1
    - Dst: NOT_EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:77,1
    - Dst: EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:79,1
    - Dst: cnd_memcpy
      Src: /src/nettle/pkcs1-sec-decrypt.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - length
    - message
    - padded_message_length
    - padded_message
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: _pkcs1_sec_decrypt
    functionSourceFile: /src/nettle/pkcs1-sec-decrypt.c
    functionUses: 0
    functionsReached:
    - cnd_memcpy
    - NOT_EQUAL
    - EQUAL
    linkageType: ''
    returnType: int
    signature: "int _pkcs1_sec_decrypt (size_t length, uint8_t *message,\n                    size_t
      padded_message_length,\n                    const volatile uint8_t *padded_message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:99,1
    - Dst: EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:100,1
    - Dst: NOT_EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:109,1
    - Dst: NOT_EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:113,1
    - Dst: GREATER_OR_EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:115,1
    - Dst: GREATER_OR_EQUAL
      Src: /src/nettle/pkcs1-sec-decrypt.c:129,1
    - Dst: cnd_memcpy
      Src: /src/nettle/pkcs1-sec-decrypt.c:135,1
    - Dst: cnd_memcpy
      Src: /src/nettle/pkcs1-sec-decrypt.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - length
    - message
    - padded_message_length
    - padded_message
    argTypes:
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 150
    functionName: _pkcs1_sec_decrypt_variable
    functionSourceFile: /src/nettle/pkcs1-sec-decrypt.c
    functionUses: 0
    functionsReached:
    - cnd_memcpy
    - GREATER_OR_EQUAL
    - NOT_EQUAL
    - EQUAL
    linkageType: ''
    returnType: int
    signature: "int _pkcs1_sec_decrypt_variable(size_t *length, uint8_t *message,\n
      \                           size_t padded_message_length,\n                            const
      volatile uint8_t *padded_message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-eh.c:74,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-eh.c:75,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-eh.c:76,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-eh.c:77,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-eh.c:80,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-eh.c:81,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-eh.c:83,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-eh.c:86,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-eh.c:89,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-eh.c:90,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-eh.c:91,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-eh.c:92,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-eh.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - ecc
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 94
    functionName: ecc_dup_eh
    functionSourceFile: /src/nettle/ecc-dup-eh.c
    functionUses: 0
    functionsReached:
    - ecc_mod_add
    - ecc_mod_sub
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_dup_eh (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_camellia_invert_key
      Src: /src/nettle/camellia128-set-decrypt-key.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct camellia128_ctx*
    - struct camellia128_ctx*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: camellia128_invert_key
    functionSourceFile: /src/nettle/camellia128-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_camellia_invert_key
    linkageType: ''
    returnType: void
    signature: "void camellia128_invert_key(struct camellia128_ctx *dst,\n\t\t       const
      struct camellia128_ctx *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: camellia128_set_encrypt_key
      Src: /src/nettle/camellia128-set-decrypt-key.c:51,1
    - Dst: camellia128_invert_key
      Src: /src/nettle/camellia128-set-decrypt-key.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: camellia128_set_decrypt_key
    functionSourceFile: /src/nettle/camellia128-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - camellia128_set_encrypt_key
    - camellia128_invert_key
    linkageType: ''
    returnType: void
    signature: "void camellia128_set_decrypt_key(struct camellia128_ctx *ctx,\n\t\t\t
      \   const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIX_COLUMN
      Src: /src/nettle/aes-invert-internal.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - rounds
    - dst
    - src
    argTypes:
    - unsigned
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: _nettle_aes_invert
    functionSourceFile: /src/nettle/aes-invert-internal.c
    functionUses: 0
    functionsReached:
    - MIX_COLUMN
    linkageType: ''
    returnType: void
    signature: void _nettle_aes_invert(unsigned rounds, uint32_t *dst, const uint32_t
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/sha512-compress.c:133,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:149,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:152,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:152,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:153,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:153,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:154,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:155,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:156,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:157,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:158,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:158,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:159,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:159,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:164,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:164,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:164,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:165,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:165,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:165,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:166,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:166,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:166,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:167,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:167,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:168,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:168,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:169,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:169,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:170,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:170,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:171,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:171,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:172,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:172,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:173,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:173,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:174,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:174,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:175,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:175,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:176,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:176,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:177,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:177,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:178,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:178,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:178,1
    - Dst: ROUND
      Src: /src/nettle/sha512-compress.c:179,1
    - Dst: EXPAND
      Src: /src/nettle/sha512-compress.c:179,1
    - Dst: DEBUG
      Src: /src/nettle/sha512-compress.c:179,1
    - Dst: fprintf
      Src: /src/nettle/sha512-compress.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 3
    argNames:
    - state
    - input
    - k
    argTypes:
    - uint64_t*
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 196
    functionName: _nettle_sha512_compress
    functionSourceFile: /src/nettle/sha512-compress.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - EXPAND
    - READ_UINT64
    - ROUND
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _nettle_sha512_compress(uint64_t *state, const uint8_t *input,
      const uint64_t *k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/pbkdf2-hmac-sha512.c:49,1
    - Dst: PBKDF2
      Src: /src/nettle/pbkdf2-hmac-sha512.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - key_length
    - key
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: pbkdf2_hmac_sha512
    functionSourceFile: /src/nettle/pbkdf2-hmac-sha512.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_set_key
    - PBKDF2
    linkageType: ''
    returnType: void
    signature: "void pbkdf2_hmac_sha512 (size_t key_length, const uint8_t *key,\n\t\t
      \   unsigned iterations,\n\t\t    size_t salt_length, const uint8_t *salt,\n\t\t
      \   size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sec-decrypt.c:54,1
    - Dst: mpz_sgn
      Src: /src/nettle/rsa-sec-decrypt.c:59,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-sec-decrypt.c:59,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sec-decrypt.c:62,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-decrypt.c:62,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sec-decrypt.c:63,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/rsa-sec-decrypt.c:68,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-decrypt.c:68,1
    - Dst: _rsa_sec_compute_root_tr
      Src: /src/nettle/rsa-sec-decrypt.c:70,1
    - Dst: mpn_get_base256
      Src: /src/nettle/rsa-sec-decrypt.c:72,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-decrypt.c:72,1
    - Dst: _pkcs1_sec_decrypt
      Src: /src/nettle/rsa-sec-decrypt.c:74,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sec-decrypt.c:76,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sec-decrypt.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - length
    - message
    - gibberish
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 79
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 79
    functionName: rsa_sec_decrypt
    functionSourceFile: /src/nettle/rsa-sec-decrypt.c
    functionUses: 1
    functionsReached:
    - mpn_get_base256
    - mpz_sgn
    - _pkcs1_sec_decrypt
    - mpz_limbs_copy
    - mpz_size
    - TMP_GMP_DECL
    - mpz_cmp
    - TMP_GMP_FREE
    - _rsa_sec_compute_root_tr
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int rsa_sec_decrypt(const struct rsa_public_key *pub,\n\t        const
      struct rsa_private_key *key,\n\t        void *random_ctx, nettle_random_func
      *random,\n\t        size_t length, uint8_t *message,\n\t        const mpz_t
      gibberish)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/balloon-sha512.c:49,1
    - Dst: balloon
      Src: /src/nettle/balloon-sha512.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - s_cost
    - t_cost
    - passwd_length
    - passwd
    - salt_length
    - salt
    - scratch
    - dst
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: balloon_sha512
    functionSourceFile: /src/nettle/balloon-sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - balloon
    linkageType: ''
    returnType: void
    signature: "void balloon_sha512(size_t s_cost, size_t t_cost,\n               size_t
      passwd_length, const uint8_t *passwd,\n               size_t salt_length, const
      uint8_t *salt,\n               uint8_t *scratch, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jjj.c:90,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:92,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-jjj.c:94,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jjj.c:95,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:96,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:99,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:100,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jjj.c:102,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:103,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:104,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:105,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:108,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:111,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:113,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:114,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-jjj.c:115,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-jjj.c:118,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jjj.c:119,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:122,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:125,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jjj.c:128,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:129,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-add-jjj.c:130,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:133,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jjj.c:134,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jjj.c:135,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-add-jjj.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 137
    functionName: ecc_add_jjj
    functionSourceFile: /src/nettle/ecc-add-jjj.c
    functionUses: 1
    functionsReached:
    - ecc_mod_sqr
    - ecc_mod_submul_1
    - ecc_mod_add
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_add_jjj (const struct ecc_curve *ecc,\n\t     mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/nist-keywrap.c:61,1
    - Dst: assert
      Src: /src/nettle/nist-keywrap.c:62,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:65,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:66,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:74,1
    - Dst: encrypt
      Src: /src/nettle/nist-keywrap.c:77,1
    - Dst: bswap64_if_le
      Src: /src/nettle/nist-keywrap.c:80,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:83,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - encrypt
    - iv
    - ciphertext_length
    - ciphertext
    - cleartext
    argTypes:
    - void*
    - nettle_cipher_func*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: nist_keywrap16
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - bswap64_if_le
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void nist_keywrap16 (const void *ctx, nettle_cipher_func *encrypt,\n\t\tconst
      uint8_t *iv, size_t ciphertext_length,\n\t\tuint8_t *ciphertext, const uint8_t
      *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/nist-keywrap.c:103,1
    - Dst: assert
      Src: /src/nettle/nist-keywrap.c:104,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:107,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:108,1
    - Dst: bswap64_if_le
      Src: /src/nettle/nist-keywrap.c:115,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:116,1
    - Dst: decrypt
      Src: /src/nettle/nist-keywrap.c:117,1
    - Dst: memcpy
      Src: /src/nettle/nist-keywrap.c:123,1
    - Dst: memeql_sec
      Src: /src/nettle/nist-keywrap.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - decrypt
    - iv
    - cleartext_length
    - cleartext
    - ciphertext
    argTypes:
    - void*
    - nettle_cipher_func*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 128
    functionName: nist_keyunwrap16
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - assert
    - memeql_sec
    - decrypt
    - bswap64_if_le
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int nist_keyunwrap16 (const void *ctx, nettle_cipher_func *decrypt,\n\t\t
      \ const uint8_t *iv, size_t cleartext_length,\n\t\t  uint8_t *cleartext, const
      uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keywrap16
      Src: /src/nettle/nist-keywrap.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - ciphertext_length
    - ciphertext
    - cleartext
    argTypes:
    - struct aes128_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: aes128_keywrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keywrap16
    linkageType: ''
    returnType: void
    signature: "void aes128_keywrap (struct aes128_ctx *ctx,\n\t\tconst uint8_t *iv,
      size_t ciphertext_length,\n\t\tuint8_t *ciphertext, const uint8_t *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keywrap16
      Src: /src/nettle/nist-keywrap.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - ciphertext_length
    - ciphertext
    - cleartext
    argTypes:
    - struct aes192_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: aes192_keywrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keywrap16
    linkageType: ''
    returnType: void
    signature: "void aes192_keywrap (struct aes192_ctx *ctx,\n\t\tconst uint8_t *iv,
      size_t ciphertext_length,\n\t\tuint8_t *ciphertext, const uint8_t *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keywrap16
      Src: /src/nettle/nist-keywrap.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - ciphertext_length
    - ciphertext
    - cleartext
    argTypes:
    - struct aes256_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: aes256_keywrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keywrap16
    linkageType: ''
    returnType: void
    signature: "void aes256_keywrap (struct aes256_ctx *ctx,\n\t\tconst uint8_t *iv,
      size_t ciphertext_length,\n\t\tuint8_t *ciphertext, const uint8_t *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keyunwrap16
      Src: /src/nettle/nist-keywrap.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - cleartext_length
    - cleartext
    - ciphertext
    argTypes:
    - struct aes128_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: aes128_keyunwrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keyunwrap16
    linkageType: ''
    returnType: int
    signature: "int aes128_keyunwrap (struct aes128_ctx *ctx,\n\t\t  const uint8_t
      *iv, size_t cleartext_length,\n\t\t  uint8_t *cleartext, const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keyunwrap16
      Src: /src/nettle/nist-keywrap.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - cleartext_length
    - cleartext
    - ciphertext
    argTypes:
    - struct aes192_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: aes192_keyunwrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keyunwrap16
    linkageType: ''
    returnType: int
    signature: "int aes192_keyunwrap (struct aes192_ctx *ctx,\n\t\t  const uint8_t
      *iv, size_t cleartext_length,\n\t\t  uint8_t *cleartext, const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nist_keyunwrap16
      Src: /src/nettle/nist-keywrap.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - cleartext_length
    - cleartext
    - ciphertext
    argTypes:
    - struct aes256_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: aes256_keyunwrap
    functionSourceFile: /src/nettle/nist-keywrap.c
    functionUses: 0
    functionsReached:
    - nist_keyunwrap16
    linkageType: ''
    returnType: int
    signature: "int aes256_keyunwrap (struct aes256_ctx *ctx,\n\t\t  const uint8_t
      *iv, size_t cleartext_length,\n\t\t  uint8_t *cleartext, const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_format
      Src: /src/nettle/dsa2sexp.c:51,1
    - Dst: sexp_format
      Src: /src/nettle/dsa2sexp.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - buffer
    - algorithm_name
    - params
    - pub
    - priv
    argTypes:
    - struct nettle_buffer*
    - char*
    - struct dsa_params*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: dsa_keypair_to_sexp
    functionSourceFile: /src/nettle/dsa2sexp.c
    functionUses: 0
    functionsReached:
    - sexp_format
    linkageType: ''
    returnType: int
    signature: "int dsa_keypair_to_sexp(struct nettle_buffer *buffer,\n\t\t    const
      char *algorithm_name,\n\t\t    const struct dsa_params *params,\n\t\t    const
      mpz_t pub,\n\t\t    const mpz_t priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/arcfour.c:50,1
    - Dst: assert
      Src: /src/nettle/arcfour.c:51,1
    - Dst: SWAP
      Src: /src/nettle/arcfour.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct arcfour_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: arcfour_set_key
    functionSourceFile: /src/nettle/arcfour.c
    functionUses: 0
    functionsReached:
    - SWAP
    - assert
    linkageType: ''
    returnType: void
    signature: "void arcfour_set_key(struct arcfour_ctx *ctx,\n\t\tsize_t length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arcfour_set_key
      Src: /src/nettle/arcfour.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct arcfour_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: arcfour128_set_key
    functionSourceFile: /src/nettle/arcfour.c
    functionUses: 0
    functionsReached:
    - arcfour_set_key
    linkageType: ''
    returnType: void
    signature: void arcfour128_set_key(struct arcfour_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct arcfour_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: arcfour_crypt
    functionSourceFile: /src/nettle/arcfour.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void arcfour_crypt(struct arcfour_ctx *ctx,\n\t      size_t length,
      uint8_t *dst,\n\t      const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_salsa20_crypt
      Src: /src/nettle/salsa20-crypt.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - length
    - c
    - m
    argTypes:
    - struct salsa20_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: salsa20_crypt
    functionSourceFile: /src/nettle/salsa20-crypt.c
    functionUses: 1
    functionsReached:
    - _nettle_salsa20_crypt
    linkageType: ''
    returnType: void
    signature: "void salsa20_crypt(struct salsa20_ctx *ctx,\n\t      size_t length,\n\t
      \     uint8_t *c,\n\t      const uint8_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sm3_set_key
      Src: /src/nettle/hmac-sm3-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sm3_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sm3-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sm3_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sm3_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R1
      Src: /src/nettle/sm3.c:116,1
    - Dst: I
      Src: /src/nettle/sm3.c:116,1
    - Dst: I
      Src: /src/nettle/sm3.c:116,1
    - Dst: R1
      Src: /src/nettle/sm3.c:117,1
    - Dst: I
      Src: /src/nettle/sm3.c:117,1
    - Dst: I
      Src: /src/nettle/sm3.c:117,1
    - Dst: R1
      Src: /src/nettle/sm3.c:118,1
    - Dst: I
      Src: /src/nettle/sm3.c:118,1
    - Dst: I
      Src: /src/nettle/sm3.c:118,1
    - Dst: R1
      Src: /src/nettle/sm3.c:119,1
    - Dst: I
      Src: /src/nettle/sm3.c:119,1
    - Dst: I
      Src: /src/nettle/sm3.c:119,1
    - Dst: R1
      Src: /src/nettle/sm3.c:120,1
    - Dst: W1
      Src: /src/nettle/sm3.c:120,1
    - Dst: I
      Src: /src/nettle/sm3.c:120,1
    - Dst: R1
      Src: /src/nettle/sm3.c:121,1
    - Dst: W1
      Src: /src/nettle/sm3.c:121,1
    - Dst: I
      Src: /src/nettle/sm3.c:121,1
    - Dst: R1
      Src: /src/nettle/sm3.c:122,1
    - Dst: W1
      Src: /src/nettle/sm3.c:122,1
    - Dst: I
      Src: /src/nettle/sm3.c:122,1
    - Dst: R1
      Src: /src/nettle/sm3.c:123,1
    - Dst: W1
      Src: /src/nettle/sm3.c:123,1
    - Dst: I
      Src: /src/nettle/sm3.c:123,1
    - Dst: R1
      Src: /src/nettle/sm3.c:124,1
    - Dst: W1
      Src: /src/nettle/sm3.c:124,1
    - Dst: I
      Src: /src/nettle/sm3.c:124,1
    - Dst: R1
      Src: /src/nettle/sm3.c:125,1
    - Dst: W1
      Src: /src/nettle/sm3.c:125,1
    - Dst: I
      Src: /src/nettle/sm3.c:125,1
    - Dst: R1
      Src: /src/nettle/sm3.c:126,1
    - Dst: W1
      Src: /src/nettle/sm3.c:126,1
    - Dst: I
      Src: /src/nettle/sm3.c:126,1
    - Dst: R1
      Src: /src/nettle/sm3.c:127,1
    - Dst: W1
      Src: /src/nettle/sm3.c:127,1
    - Dst: I
      Src: /src/nettle/sm3.c:127,1
    - Dst: R1
      Src: /src/nettle/sm3.c:128,1
    - Dst: W1
      Src: /src/nettle/sm3.c:128,1
    - Dst: W2
      Src: /src/nettle/sm3.c:128,1
    - Dst: R1
      Src: /src/nettle/sm3.c:129,1
    - Dst: W1
      Src: /src/nettle/sm3.c:129,1
    - Dst: W2
      Src: /src/nettle/sm3.c:129,1
    - Dst: R1
      Src: /src/nettle/sm3.c:130,1
    - Dst: W1
      Src: /src/nettle/sm3.c:130,1
    - Dst: W2
      Src: /src/nettle/sm3.c:130,1
    - Dst: R1
      Src: /src/nettle/sm3.c:131,1
    - Dst: W1
      Src: /src/nettle/sm3.c:131,1
    - Dst: W2
      Src: /src/nettle/sm3.c:131,1
    - Dst: R2
      Src: /src/nettle/sm3.c:133,1
    - Dst: W1
      Src: /src/nettle/sm3.c:133,1
    - Dst: W2
      Src: /src/nettle/sm3.c:133,1
    - Dst: R2
      Src: /src/nettle/sm3.c:134,1
    - Dst: W1
      Src: /src/nettle/sm3.c:134,1
    - Dst: W2
      Src: /src/nettle/sm3.c:134,1
    - Dst: R2
      Src: /src/nettle/sm3.c:135,1
    - Dst: W1
      Src: /src/nettle/sm3.c:135,1
    - Dst: W2
      Src: /src/nettle/sm3.c:135,1
    - Dst: R2
      Src: /src/nettle/sm3.c:136,1
    - Dst: W1
      Src: /src/nettle/sm3.c:136,1
    - Dst: W2
      Src: /src/nettle/sm3.c:136,1
    - Dst: R2
      Src: /src/nettle/sm3.c:137,1
    - Dst: W1
      Src: /src/nettle/sm3.c:137,1
    - Dst: W2
      Src: /src/nettle/sm3.c:137,1
    - Dst: R2
      Src: /src/nettle/sm3.c:138,1
    - Dst: W1
      Src: /src/nettle/sm3.c:138,1
    - Dst: W2
      Src: /src/nettle/sm3.c:138,1
    - Dst: R2
      Src: /src/nettle/sm3.c:139,1
    - Dst: W1
      Src: /src/nettle/sm3.c:139,1
    - Dst: W2
      Src: /src/nettle/sm3.c:139,1
    - Dst: R2
      Src: /src/nettle/sm3.c:140,1
    - Dst: W1
      Src: /src/nettle/sm3.c:140,1
    - Dst: W2
      Src: /src/nettle/sm3.c:140,1
    - Dst: R2
      Src: /src/nettle/sm3.c:141,1
    - Dst: W1
      Src: /src/nettle/sm3.c:141,1
    - Dst: W2
      Src: /src/nettle/sm3.c:141,1
    - Dst: R2
      Src: /src/nettle/sm3.c:142,1
    - Dst: W1
      Src: /src/nettle/sm3.c:142,1
    - Dst: W2
      Src: /src/nettle/sm3.c:142,1
    - Dst: R2
      Src: /src/nettle/sm3.c:143,1
    - Dst: W1
      Src: /src/nettle/sm3.c:143,1
    - Dst: W2
      Src: /src/nettle/sm3.c:143,1
    - Dst: R2
      Src: /src/nettle/sm3.c:144,1
    - Dst: W1
      Src: /src/nettle/sm3.c:144,1
    - Dst: W2
      Src: /src/nettle/sm3.c:144,1
    - Dst: R2
      Src: /src/nettle/sm3.c:145,1
    - Dst: W1
      Src: /src/nettle/sm3.c:145,1
    - Dst: W2
      Src: /src/nettle/sm3.c:145,1
    - Dst: R2
      Src: /src/nettle/sm3.c:146,1
    - Dst: W1
      Src: /src/nettle/sm3.c:146,1
    - Dst: W2
      Src: /src/nettle/sm3.c:146,1
    - Dst: R2
      Src: /src/nettle/sm3.c:147,1
    - Dst: W1
      Src: /src/nettle/sm3.c:147,1
    - Dst: W2
      Src: /src/nettle/sm3.c:147,1
    - Dst: R2
      Src: /src/nettle/sm3.c:148,1
    - Dst: W1
      Src: /src/nettle/sm3.c:148,1
    - Dst: W2
      Src: /src/nettle/sm3.c:148,1
    - Dst: R2
      Src: /src/nettle/sm3.c:150,1
    - Dst: W1
      Src: /src/nettle/sm3.c:150,1
    - Dst: W2
      Src: /src/nettle/sm3.c:150,1
    - Dst: R2
      Src: /src/nettle/sm3.c:151,1
    - Dst: W1
      Src: /src/nettle/sm3.c:151,1
    - Dst: W2
      Src: /src/nettle/sm3.c:151,1
    - Dst: R2
      Src: /src/nettle/sm3.c:152,1
    - Dst: W1
      Src: /src/nettle/sm3.c:152,1
    - Dst: W2
      Src: /src/nettle/sm3.c:152,1
    - Dst: R2
      Src: /src/nettle/sm3.c:153,1
    - Dst: W1
      Src: /src/nettle/sm3.c:153,1
    - Dst: W2
      Src: /src/nettle/sm3.c:153,1
    - Dst: R2
      Src: /src/nettle/sm3.c:154,1
    - Dst: W1
      Src: /src/nettle/sm3.c:154,1
    - Dst: W2
      Src: /src/nettle/sm3.c:154,1
    - Dst: R2
      Src: /src/nettle/sm3.c:155,1
    - Dst: W1
      Src: /src/nettle/sm3.c:155,1
    - Dst: W2
      Src: /src/nettle/sm3.c:155,1
    - Dst: R2
      Src: /src/nettle/sm3.c:156,1
    - Dst: W1
      Src: /src/nettle/sm3.c:156,1
    - Dst: W2
      Src: /src/nettle/sm3.c:156,1
    - Dst: R2
      Src: /src/nettle/sm3.c:157,1
    - Dst: W1
      Src: /src/nettle/sm3.c:157,1
    - Dst: W2
      Src: /src/nettle/sm3.c:157,1
    - Dst: R2
      Src: /src/nettle/sm3.c:158,1
    - Dst: W1
      Src: /src/nettle/sm3.c:158,1
    - Dst: W2
      Src: /src/nettle/sm3.c:158,1
    - Dst: R2
      Src: /src/nettle/sm3.c:159,1
    - Dst: W1
      Src: /src/nettle/sm3.c:159,1
    - Dst: W2
      Src: /src/nettle/sm3.c:159,1
    - Dst: R2
      Src: /src/nettle/sm3.c:160,1
    - Dst: W1
      Src: /src/nettle/sm3.c:160,1
    - Dst: W2
      Src: /src/nettle/sm3.c:160,1
    - Dst: R2
      Src: /src/nettle/sm3.c:161,1
    - Dst: W1
      Src: /src/nettle/sm3.c:161,1
    - Dst: W2
      Src: /src/nettle/sm3.c:161,1
    - Dst: R2
      Src: /src/nettle/sm3.c:162,1
    - Dst: W1
      Src: /src/nettle/sm3.c:162,1
    - Dst: W2
      Src: /src/nettle/sm3.c:162,1
    - Dst: R2
      Src: /src/nettle/sm3.c:163,1
    - Dst: W1
      Src: /src/nettle/sm3.c:163,1
    - Dst: W2
      Src: /src/nettle/sm3.c:163,1
    - Dst: R2
      Src: /src/nettle/sm3.c:164,1
    - Dst: W1
      Src: /src/nettle/sm3.c:164,1
    - Dst: W2
      Src: /src/nettle/sm3.c:164,1
    - Dst: R2
      Src: /src/nettle/sm3.c:165,1
    - Dst: W1
      Src: /src/nettle/sm3.c:165,1
    - Dst: W2
      Src: /src/nettle/sm3.c:165,1
    - Dst: R2
      Src: /src/nettle/sm3.c:167,1
    - Dst: W1
      Src: /src/nettle/sm3.c:167,1
    - Dst: W2
      Src: /src/nettle/sm3.c:167,1
    - Dst: R2
      Src: /src/nettle/sm3.c:168,1
    - Dst: W1
      Src: /src/nettle/sm3.c:168,1
    - Dst: W2
      Src: /src/nettle/sm3.c:168,1
    - Dst: R2
      Src: /src/nettle/sm3.c:169,1
    - Dst: W1
      Src: /src/nettle/sm3.c:169,1
    - Dst: W2
      Src: /src/nettle/sm3.c:169,1
    - Dst: R2
      Src: /src/nettle/sm3.c:170,1
    - Dst: W1
      Src: /src/nettle/sm3.c:170,1
    - Dst: W2
      Src: /src/nettle/sm3.c:170,1
    - Dst: R2
      Src: /src/nettle/sm3.c:171,1
    - Dst: W1
      Src: /src/nettle/sm3.c:171,1
    - Dst: W2
      Src: /src/nettle/sm3.c:171,1
    - Dst: R2
      Src: /src/nettle/sm3.c:172,1
    - Dst: W1
      Src: /src/nettle/sm3.c:172,1
    - Dst: W2
      Src: /src/nettle/sm3.c:172,1
    - Dst: R2
      Src: /src/nettle/sm3.c:173,1
    - Dst: W1
      Src: /src/nettle/sm3.c:173,1
    - Dst: W2
      Src: /src/nettle/sm3.c:173,1
    - Dst: R2
      Src: /src/nettle/sm3.c:174,1
    - Dst: W1
      Src: /src/nettle/sm3.c:174,1
    - Dst: W2
      Src: /src/nettle/sm3.c:174,1
    - Dst: R2
      Src: /src/nettle/sm3.c:175,1
    - Dst: W1
      Src: /src/nettle/sm3.c:175,1
    - Dst: W2
      Src: /src/nettle/sm3.c:175,1
    - Dst: R2
      Src: /src/nettle/sm3.c:176,1
    - Dst: W1
      Src: /src/nettle/sm3.c:176,1
    - Dst: W2
      Src: /src/nettle/sm3.c:176,1
    - Dst: R2
      Src: /src/nettle/sm3.c:177,1
    - Dst: W1
      Src: /src/nettle/sm3.c:177,1
    - Dst: W2
      Src: /src/nettle/sm3.c:177,1
    - Dst: R2
      Src: /src/nettle/sm3.c:178,1
    - Dst: W1
      Src: /src/nettle/sm3.c:178,1
    - Dst: W2
      Src: /src/nettle/sm3.c:178,1
    - Dst: R2
      Src: /src/nettle/sm3.c:179,1
    - Dst: W1
      Src: /src/nettle/sm3.c:179,1
    - Dst: W2
      Src: /src/nettle/sm3.c:179,1
    - Dst: R2
      Src: /src/nettle/sm3.c:180,1
    - Dst: W1
      Src: /src/nettle/sm3.c:180,1
    - Dst: W2
      Src: /src/nettle/sm3.c:180,1
    - Dst: R2
      Src: /src/nettle/sm3.c:181,1
    - Dst: W1
      Src: /src/nettle/sm3.c:181,1
    - Dst: W2
      Src: /src/nettle/sm3.c:181,1
    - Dst: R2
      Src: /src/nettle/sm3.c:182,1
    - Dst: W1
      Src: /src/nettle/sm3.c:182,1
    - Dst: W2
      Src: /src/nettle/sm3.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 2
    argNames:
    - state
    - input
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 192
    functionName: sm3_compress
    functionSourceFile: /src/nettle/sm3.c
    functionUses: 0
    functionsReached:
    - W1
    - W2
    - I
    - R2
    - R1
    linkageType: ''
    returnType: void
    signature: void sm3_compress(uint32_t *state, const uint8_t *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sm3.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sm3_ctx*
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: sm3_init
    functionSourceFile: /src/nettle/sm3.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sm3_init(struct sm3_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/sm3.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sm3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: sm3_update
    functionSourceFile: /src/nettle/sm3.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void sm3_update(struct sm3_ctx *ctx,\n\t   size_t length, const uint8_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_PAD
      Src: /src/nettle/sm3.c:227,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sm3.c:235,1
    - Dst: COMPRESS
      Src: /src/nettle/sm3.c:236,1
    - Dst: _nettle_write_be32
      Src: /src/nettle/sm3.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sm3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: sm3_write_digest
    functionSourceFile: /src/nettle/sm3.c
    functionUses: 0
    functionsReached:
    - COMPRESS
    - _nettle_write_be32
    - WRITE_UINT64
    - MD_PAD
    linkageType: ''
    returnType: void
    signature: "void sm3_write_digest(struct sm3_ctx *ctx,\n\t\t uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm3_write_digest
      Src: /src/nettle/sm3.c:245,1
    - Dst: sm3_init
      Src: /src/nettle/sm3.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sm3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: sm3_digest
    functionSourceFile: /src/nettle/sm3.c
    functionUses: 0
    functionsReached:
    - sm3_write_digest
    - sm3_init
    linkageType: ''
    returnType: void
    signature: "void sm3_digest(struct sm3_ctx *ctx,\n\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:81,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:82,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-eh.c:83,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-eh.c:84,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:85,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-eh.c:86,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-eh.c:87,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:89,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:91,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:92,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-eh.c:94,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:95,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-eh.c:97,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-eh.c:98,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-eh.c:99,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:102,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:105,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-eh.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 107
    functionName: ecc_add_eh
    functionSourceFile: /src/nettle/ecc-add-eh.c
    functionUses: 0
    functionsReached:
    - ecc_mod_sub
    - ecc_mod_add
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_add_eh (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_verify_itch
      Src: /src/nettle/ed448-shake256-verify.c:51,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed448-shake256-verify.c:52,1
    - Dst: sha3_init
      Src: /src/nettle/ed448-shake256-verify.c:57,1
    - Dst: _eddsa_decompress
      Src: /src/nettle/ed448-shake256-verify.c:59,1
    - Dst: _eddsa_verify
      Src: /src/nettle/ed448-shake256-verify.c:61,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed448-shake256-verify.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pub
    - length
    - msg
    - signature
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: ed448_shake256_verify
    functionSourceFile: /src/nettle/ed448-shake256-verify.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - gmp_alloc_limbs
    - _eddsa_verify
    - _eddsa_verify_itch
    - _eddsa_decompress
    - sha3_init
    linkageType: ''
    returnType: int
    signature: "int ed448_shake256_verify (const uint8_t *pub,\n\t\t       size_t
      length, const uint8_t *msg,\n\t\t       const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set
      Src: /src/nettle/dsa-keygen.c:56,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/dsa-keygen.c:57,1
    - Dst: nettle_mpz_random
      Src: /src/nettle/dsa-keygen.c:58,1
    - Dst: mpz_add_ui
      Src: /src/nettle/dsa-keygen.c:60,1
    - Dst: mpz_powm
      Src: /src/nettle/dsa-keygen.c:61,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-keygen.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - params
    - pub
    - key
    - random_ctx
    - random
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - void*
    - nettle_random_func*
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: dsa_generate_keypair
    functionSourceFile: /src/nettle/dsa-keygen.c
    functionUses: 1
    functionsReached:
    - mpz_init_set
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_clear
    - mpz_powm
    - nettle_mpz_random
    linkageType: ''
    returnType: void
    signature: "void dsa_generate_keypair (const struct dsa_params *params,\n\t\t
      \     mpz_t pub, mpz_t key,\n\n\t\t      void *random_ctx, nettle_random_func
      *random)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_verify_itch
      Src: /src/nettle/ed25519-sha512-verify.c:50,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed25519-sha512-verify.c:51,1
    - Dst: sha512_init
      Src: /src/nettle/ed25519-sha512-verify.c:57,1
    - Dst: _eddsa_decompress
      Src: /src/nettle/ed25519-sha512-verify.c:58,1
    - Dst: _eddsa_verify
      Src: /src/nettle/ed25519-sha512-verify.c:60,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed25519-sha512-verify.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pub
    - length
    - msg
    - signature
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: ed25519_sha512_verify
    functionSourceFile: /src/nettle/ed25519-sha512-verify.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - gmp_alloc_limbs
    - _eddsa_verify
    - sha512_init
    - _eddsa_verify_itch
    - _eddsa_decompress
    linkageType: ''
    returnType: int
    signature: "int ed25519_sha512_verify (const uint8_t *pub,\n\t\t       size_t
      length, const uint8_t *msg,\n\t\t       const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_pad
      Src: /src/nettle/sha3-shake.c:52,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3-shake.c:59,1
    - Dst: _nettle_write_le64
      Src: /src/nettle/sha3-shake.c:60,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3-shake.c:64,1
    - Dst: _nettle_write_le64
      Src: /src/nettle/sha3-shake.c:65,1
    - Dst: sha3_init
      Src: /src/nettle/sha3-shake.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - block_size
    - length
    - dst
    argTypes:
    - struct sha3_ctx*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: _nettle_sha3_shake
    functionSourceFile: /src/nettle/sha3-shake.c
    functionUses: 0
    functionsReached:
    - _nettle_write_le64
    - _nettle_sha3_pad
    - sha3_permute
    - sha3_init
    linkageType: ''
    returnType: void
    signature: "void _nettle_sha3_shake (struct sha3_ctx *ctx, unsigned block_size,\n\t\t
      \   size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_pad
      Src: /src/nettle/sha3-shake.c:79,1
    - Dst: assert
      Src: /src/nettle/sha3-shake.c:85,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:95,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:99,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3-shake.c:110,1
    - Dst: nettle_bswap64
      Src: /src/nettle/sha3-shake.c:115,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:116,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/sha3-shake.c:119,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:126,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:132,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3-shake.c:140,1
    - Dst: _nettle_write_le64
      Src: /src/nettle/sha3-shake.c:141,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3-shake.c:144,1
    - Dst: memcpy
      Src: /src/nettle/sha3-shake.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - block_size
    - length
    - dst
    argTypes:
    - struct sha3_ctx*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 149
    functionName: _nettle_sha3_shake_output
    functionSourceFile: /src/nettle/sha3-shake.c
    functionUses: 0
    functionsReached:
    - assert
    - sha3_permute
    - _nettle_write_le64
    - nettle_bswap64
    - _nettle_sha3_pad
    - LE_WRITE_UINT64
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _nettle_sha3_shake_output (struct sha3_ctx *ctx, unsigned block_size,\n\t\t\t
      \  size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-128-set-key.c:52,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-128-set-key.c:53,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-128-set-key.c:54,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-128-set-key.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct salsa20_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: salsa20_128_set_key
    functionSourceFile: /src/nettle/salsa20-128-set-key.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void salsa20_128_set_key(struct salsa20_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha3_256_update
      Src: /src/nettle/ed448-shake256.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ed448_dom
    functionSourceFile: /src/nettle/ed448-shake256.c
    functionUses: 0
    functionsReached:
    - sha3_256_update
    linkageType: ''
    returnType: void
    signature: void ed448_dom(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha3_256_shake
      Src: /src/nettle/ed448-shake256.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ed448_digest
    functionSourceFile: /src/nettle/ed448-shake256.c
    functionUses: 0
    functionsReached:
    - sha3_256_shake
    linkageType: ''
    returnType: void
    signature: void ed448_digest(struct sha3_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes128-encrypt.c:56,1
    - Dst: _nettle_aes_encrypt
      Src: /src/nettle/aes128-encrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes128_encrypt
    functionSourceFile: /src/nettle/aes128-encrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes128_encrypt(const struct aes128_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:103,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:104,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:105,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:106,1
    - Dst: rotl16
      Src: /src/nettle/arctwo.c:113,1
    - Dst: rotl16
      Src: /src/nettle/arctwo.c:116,1
    - Dst: rotl16
      Src: /src/nettle/arctwo.c:119,1
    - Dst: rotl16
      Src: /src/nettle/arctwo.c:122,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:132,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:133,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:134,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct arctwo_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 137
    functionName: arctwo_encrypt
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - rotl16
    - LE_READ_UINT16
    - LE_WRITE_UINT16
    linkageType: ''
    returnType: void
    signature: "void arctwo_encrypt (struct arctwo_ctx *ctx,\n\t\tsize_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:148,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:149,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:150,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:151,1
    - Dst: rotr16
      Src: /src/nettle/arctwo.c:157,1
    - Dst: rotr16
      Src: /src/nettle/arctwo.c:160,1
    - Dst: rotr16
      Src: /src/nettle/arctwo.c:163,1
    - Dst: rotr16
      Src: /src/nettle/arctwo.c:166,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:178,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:179,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:180,1
    - Dst: LE_WRITE_UINT16
      Src: /src/nettle/arctwo.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct arctwo_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 183
    functionName: arctwo_decrypt
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - rotr16
    - LE_READ_UINT16
    - LE_WRITE_UINT16
    linkageType: ''
    returnType: void
    signature: "void arctwo_decrypt (struct arctwo_ctx *ctx,\n\t\tsize_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/arctwo.c:194,1
    - Dst: assert
      Src: /src/nettle/arctwo.c:195,1
    - Dst: assert
      Src: /src/nettle/arctwo.c:196,1
    - Dst: LE_READ_UINT16
      Src: /src/nettle/arctwo.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - length
    - key
    - ekb
    argTypes:
    - struct arctwo_ctx*
    - size_t
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 225
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 225
    functionName: arctwo_set_key_ekb
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - assert
    - LE_READ_UINT16
    linkageType: ''
    returnType: void
    signature: "void arctwo_set_key_ekb (struct arctwo_ctx *ctx,\n\t\t    size_t length,
      const uint8_t *key, unsigned ekb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct arctwo_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: arctwo_set_key
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: void arctwo_set_key (struct arctwo_ctx *ctx, size_t length, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct arctwo_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: arctwo_set_key_gutmann
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: "void arctwo_set_key_gutmann (struct arctwo_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct arctwo_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: arctwo40_set_key
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: void arctwo40_set_key (struct arctwo_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct arctwo_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: arctwo64_set_key
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: void arctwo64_set_key (struct arctwo_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct arctwo_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: arctwo128_set_key
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: void arctwo128_set_key (struct arctwo_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/arctwo.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct arctwo_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: arctwo128_set_key_gutmann
    functionSourceFile: /src/nettle/arctwo.c
    functionUses: 0
    functionsReached:
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: "void arctwo128_set_key_gutmann (struct arctwo_ctx *ctx,\n\t\t\t   const
      uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:66,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:68,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:70,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:72,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:76,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:78,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:80,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:82,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:84,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:103,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:106,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:109,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:112,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:117,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia256-set-encrypt-key.c:119,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:123,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:125,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:127,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:129,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:134,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:136,1
    - Dst: ROTL128
      Src: /src/nettle/camellia256-set-encrypt-key.c:138,1
    - Dst: _nettle_camellia_absorb
      Src: /src/nettle/camellia256-set-encrypt-key.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 5
    argNames:
    - ctx
    - k0
    - k1
    - k2
    - k3
    argTypes:
    - struct camellia256_ctx*
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 143
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 143
    functionName: _camellia256_set_encrypt_key
    functionSourceFile: /src/nettle/camellia256-set-encrypt-key.c
    functionUses: 0
    functionsReached:
    - CAMELLIA_F
    - ROTL128
    - _nettle_camellia_absorb
    linkageType: ''
    returnType: void
    signature: "void _camellia256_set_encrypt_key (struct camellia256_ctx *ctx,\n\t\t\t
      \     uint64_t k0, uint64_t k1,\n\t\t\t      uint64_t k2, uint64_t k3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:150,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:151,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:152,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:153,1
    - Dst: _camellia256_set_encrypt_key
      Src: /src/nettle/camellia256-set-encrypt-key.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: camellia256_set_encrypt_key
    functionSourceFile: /src/nettle/camellia256-set-encrypt-key.c
    functionUses: 1
    functionsReached:
    - _camellia256_set_encrypt_key
    - READ_UINT64
    linkageType: ''
    returnType: void
    signature: "void camellia256_set_encrypt_key(struct camellia256_ctx *ctx,\n\t\t\t
      \   const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:163,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:164,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia256-set-encrypt-key.c:165,1
    - Dst: _camellia256_set_encrypt_key
      Src: /src/nettle/camellia256-set-encrypt-key.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: camellia192_set_encrypt_key
    functionSourceFile: /src/nettle/camellia256-set-encrypt-key.c
    functionUses: 0
    functionsReached:
    - _camellia256_set_encrypt_key
    - READ_UINT64
    linkageType: ''
    returnType: void
    signature: "void camellia192_set_encrypt_key(struct camellia256_ctx *ctx,\n\t\t\t
      \   const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha512.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 145
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 145
    functionName: sha512_init
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 6
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha512_init(struct sha512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/sha512.c:151,1
    - Dst: MD_INCR
      Src: /src/nettle/sha512.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: sha512_update
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 5
    functionsReached:
    - MD_UPDATE
    - MD_INCR
    linkageType: ''
    returnType: void
    signature: "void sha512_update(struct sha512_ctx *ctx,\n\t      size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/sha512.c:165,1
    - Dst: MD_PAD
      Src: /src/nettle/sha512.c:167,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sha512.c:176,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sha512.c:177,1
    - Dst: sha512_compress
      Src: /src/nettle/sha512.c:178,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sha512.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 196
    functionName: sha512_write_digest
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_compress
    - assert
    - WRITE_UINT64
    - MD_PAD
    linkageType: ''
    returnType: void
    signature: "void sha512_write_digest(struct sha512_ctx *ctx,\n\t\t    size_t length,\n\t\t
      \   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_write_digest
      Src: /src/nettle/sha512.c:202,1
    - Dst: sha512_init
      Src: /src/nettle/sha512.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: sha512_digest
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - sha512_write_digest
    linkageType: ''
    returnType: void
    signature: "void sha512_digest(struct sha512_ctx *ctx,\n\t      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha512.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: sha384_init
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 5
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha384_init(struct sha512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_write_digest
      Src: /src/nettle/sha512.c:240,1
    - Dst: sha384_init
      Src: /src/nettle/sha512.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: sha384_digest
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 1
    functionsReached:
    - sha384_init
    - sha512_write_digest
    linkageType: ''
    returnType: void
    signature: "void sha384_digest(struct sha512_ctx *ctx,\n\t      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha512.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_224_ctx*
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: sha512_224_init
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha512_224_init(struct sha512_224_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_write_digest
      Src: /src/nettle/sha512.c:270,1
    - Dst: sha512_224_init
      Src: /src/nettle/sha512.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha512_224_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: sha512_224_digest
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_224_init
    - sha512_write_digest
    linkageType: ''
    returnType: void
    signature: "void sha512_224_digest(struct sha512_224_ctx *ctx,\n\t      uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha512.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_256_ctx*
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: sha512_256_init
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha512_256_init(struct sha512_256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_write_digest
      Src: /src/nettle/sha512.c:300,1
    - Dst: sha512_256_init
      Src: /src/nettle/sha512.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha512_256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: sha512_256_digest
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_256_init
    - sha512_write_digest
    linkageType: ''
    returnType: void
    signature: "void sha512_256_digest(struct sha512_256_ctx *ctx,\n\t      uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha512_compress
      Src: /src/nettle/sha512.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - input
    argTypes:
    - uint64_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: sha512_compress
    functionSourceFile: /src/nettle/sha512.c
    functionUses: 2
    functionsReached:
    - _nettle_sha512_compress
    linkageType: ''
    returnType: void
    signature: void sha512_compress(uint64_t *state, const uint8_t *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: sec_add_1
    functionSourceFile: /src/nettle/sec-add-1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t sec_add_1 (mp_limb_t *rp, mp_limb_t *ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes-set-key-internal.c:56,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-set-key-internal.c:60,1
    - Dst: SUBBYTE
      Src: /src/nettle/aes-set-key-internal.c:66,1
    - Dst: ROTL32
      Src: /src/nettle/aes-set-key-internal.c:66,1
    - Dst: SUBBYTE
      Src: /src/nettle/aes-set-key-internal.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - nr
    - nk
    - subkeys
    - key
    argTypes:
    - unsigned
    - unsigned
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: _nettle_aes_set_key
    functionSourceFile: /src/nettle/aes-set-key-internal.c
    functionUses: 0
    functionsReached:
    - SUBBYTE
    - assert
    - ROTL32
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void _nettle_aes_set_key(unsigned nr, unsigned nk,\n\t\t    uint32_t
      *subkeys, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: is_zero_limb
    functionSourceFile: /src/nettle/gmp-glue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_zero_limb (mp_limb_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/nettle/bswap-internal.h:49,1
    - Dst: UINT64_C
      Src: /src/nettle/bswap-internal.h:50,1
    - Dst: UINT64_C
      Src: /src/nettle/bswap-internal.h:51,1
    - Dst: UINT64_C
      Src: /src/nettle/bswap-internal.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: nettle_bswap64
    functionSourceFile: /src/nettle/bswap-internal.h
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t nettle_bswap64 (uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: nettle_bswap32
    functionSourceFile: /src/nettle/bswap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nettle_bswap32 (uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_bswap32
      Src: /src/nettle/bswap-internal.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - unsigned
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: nettle_bswap32_n
    functionSourceFile: /src/nettle/bswap-internal.h
    functionUses: 0
    functionsReached:
    - nettle_bswap32
    linkageType: ''
    returnType: void
    signature: void nettle_bswap32_n (unsigned n, uint32_t *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-mod.c:56,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod.c:69,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-mod.c:71,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod.c:81,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-mod.c:83,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod.c:84,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod.c:85,1
    - Dst: assert
      Src: /src/nettle/ecc-mod.c:89,1
    - Dst: assert
      Src: /src/nettle/ecc-mod.c:91,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod.c:94,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-mod.c:96,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-mod.c:98,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod.c:106,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-mod.c:109,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod.c:113,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 116
    functionName: ecc_mod
    functionSourceFile: /src/nettle/ecc-mod.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_copyi
    - mpn_cnd_add_n
    - mpn_add_n
    - assert_maybe
    - sec_add_1
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_mod (const struct ecc_modulo *m, mp_limb_t *rp, mp_limb_t
      *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero_p
      Src: /src/nettle/ecc-ecdsa-verify.c:50,1
    - Dst: mpn_cmp
      Src: /src/nettle/ecc-ecdsa-verify.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ecc
    - xp
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ecdsa_in_range
    functionSourceFile: /src/nettle/ecc-ecdsa-verify.c
    functionUses: 0
    functionsReached:
    - mpn_cmp
    - mpn_zero_p
    linkageType: ''
    returnType: int
    signature: int ecdsa_in_range (const struct ecc_curve *ecc, const mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECC_MUL_A_ITCH
      Src: /src/nettle/ecc-ecdsa-verify.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: ecc_ecdsa_verify_itch
    functionSourceFile: /src/nettle/ecc-ecdsa-verify.c
    functionUses: 0
    functionsReached:
    - ECC_MUL_A_ITCH
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_ecdsa_verify_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_in_range
      Src: /src/nettle/ecc-ecdsa-verify.c:93,1
    - Dst: ecdsa_in_range
      Src: /src/nettle/ecc-ecdsa-verify.c:94,1
    - Dst: struct ecc_curve*::q::invert
      Src: /src/nettle/ecc-ecdsa-verify.c:102,1
    - Dst: _nettle_dsa_hash
      Src: /src/nettle/ecc-ecdsa-verify.c:105,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-ecdsa-verify.c:106,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-ecdsa-verify.c:109,1
    - Dst: ecc_mul_a
      Src: /src/nettle/ecc-ecdsa-verify.c:112,1
    - Dst: mpn_zero_p
      Src: /src/nettle/ecc-ecdsa-verify.c:116,1
    - Dst: ecc_mul_g
      Src: /src/nettle/ecc-ecdsa-verify.c:119,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/ecc-ecdsa-verify.c:122,1
    - Dst: ecc_j_to_a
      Src: /src/nettle/ecc-ecdsa-verify.c:127,1
    - Dst: mpn_cmp
      Src: /src/nettle/ecc-ecdsa-verify.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - ecc
    - pp
    - length
    - digest
    - rp
    - sp
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - size_t
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 136
    functionName: ecc_ecdsa_verify
    functionSourceFile: /src/nettle/ecc-ecdsa-verify.c
    functionUses: 0
    functionsReached:
    - ecc_nonsec_add_jjj
    - ecc_mul_g
    - mpn_cmp
    - _nettle_dsa_hash
    - ecc_j_to_a
    - struct ecc_curve*::q::invert
    - mpn_zero_p
    - ecc_mod_mul_canonical
    - ecc_mul_a
    - ecdsa_in_range
    linkageType: ''
    returnType: int
    signature: "int ecc_ecdsa_verify (const struct ecc_curve *ecc,\n\t\t  const mp_limb_t
      *pp, /* Public key */\n\t\t  size_t length, const uint8_t *digest,\n\t\t  const
      mp_limb_t *rp, const mp_limb_t *sp,\n\t\t  mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:89,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:90,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:91,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:92,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp224r1.c:94,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:95,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:96,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp224r1.c:97,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:98,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:99,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp224r1.c:100,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:101,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:102,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp224r1.c:104,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp224r1.c:105,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp224r1.c:106,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp224r1.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 5
    argNames:
    - m
    - rp
    - a96m1
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: ecc_mod_pow_127m1
    functionSourceFile: /src/nettle/ecc-secp224r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2k_mul
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_127m1 (const struct ecc_modulo *m,\n\t\t   mp_limb_t
      *rp, mp_limb_t *a96m1, const mp_limb_t *ap, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_127m1
      Src: /src/nettle/ecc-secp224r1.c:133,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp224r1.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: ecc_secp224r1_inv
    functionSourceFile: /src/nettle/ecc-secp224r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_127m1
    - ecc_mod_pow_2k_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_secp224r1_inv (const struct ecc_modulo *p,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_127m1
      Src: /src/nettle/ecc-secp224r1.c:166,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:168,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:169,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:170,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-secp224r1.c:172,1
    - Dst: ecc_mod_equal_p
      Src: /src/nettle/ecc-secp224r1.c:181,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:184,1
    - Dst: ecc_mod_equal_p
      Src: /src/nettle/ecc-secp224r1.c:186,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:188,1
    - Dst: assert
      Src: /src/nettle/ecc-secp224r1.c:195,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-secp224r1.c:196,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp224r1.c:200,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:203,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp224r1.c:204,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp224r1.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - p
    - xp
    - cp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 210
    functionName: ecc_secp224r1_sqrt
    functionSourceFile: /src/nettle/ecc-secp224r1.c
    functionUses: 0
    functionsReached:
    - assert
    - ecc_mod_zero_p
    - mpn_copyi
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - ecc_mod_equal_p
    - ecc_mod_pow_127m1
    - ecc_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_secp224r1_sqrt (const struct ecc_modulo *p,\n\t\t    mp_limb_t
      *xp,\n\t\t    const mp_limb_t *cp,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: nettle_get_secp_224r1
    functionSourceFile: /src/nettle/ecc-secp224r1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_secp_224r1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_SET_KEY
      Src: /src/nettle/cmac-des3.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cmac_des3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: cmac_des3_set_key
    functionSourceFile: /src/nettle/cmac-des3.c
    functionUses: 0
    functionsReached:
    - CMAC64_SET_KEY
    linkageType: ''
    returnType: void
    signature: void cmac_des3_set_key (struct cmac_des3_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_UPDATE
      Src: /src/nettle/cmac-des3.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct cmac_des3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: cmac_des3_update
    functionSourceFile: /src/nettle/cmac-des3.c
    functionUses: 0
    functionsReached:
    - CMAC64_UPDATE
    linkageType: ''
    returnType: void
    signature: "void cmac_des3_update (struct cmac_des3_ctx *ctx,\n\t\t  size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC64_DIGEST
      Src: /src/nettle/cmac-des3.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct cmac_des3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: cmac_des3_digest
    functionSourceFile: /src/nettle/cmac-des3.c
    functionUses: 0
    functionsReached:
    - CMAC64_DIGEST
    linkageType: ''
    returnType: void
    signature: "void cmac_des3_digest (struct cmac_des3_ctx *ctx,\n\t\t  uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap64_if_le
      Src: /src/nettle/umac-l3.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size
    - k
    argTypes:
    - unsigned
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: _nettle_umac_l3_init
    functionSourceFile: /src/nettle/umac-l3.c
    functionUses: 0
    functionsReached:
    - bswap64_if_le
    linkageType: ''
    returnType: void
    signature: void _nettle_umac_l3_init (unsigned size, uint64_t *k)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - w
    argTypes:
    - uint64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: umac_l3_word
    functionSourceFile: /src/nettle/umac-l3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umac_l3_word (const uint64_t *k, uint64_t w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap32_if_le
      Src: /src/nettle/umac-l3.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - m
    argTypes:
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: _nettle_umac_l3
    functionSourceFile: /src/nettle/umac-l3.c
    functionUses: 0
    functionsReached:
    - bswap32_if_le
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _nettle_umac_l3 (const uint64_t *key, const uint64_t *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_set_key
      Src: /src/nettle/aes192-set-encrypt-key.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: nettle_aes192_set_encrypt_key
    functionSourceFile: /src/nettle/aes192-set-encrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_set_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes192_set_encrypt_key(struct aes192_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-decrypt.c:54,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/pkcs1-decrypt.c:55,1
    - Dst: _pkcs1_sec_decrypt_variable
      Src: /src/nettle/pkcs1-decrypt.c:57,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-decrypt.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key_size
    - m
    - length
    - message
    argTypes:
    - size_t
    - mpz_t
    - size_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: pkcs1_decrypt
    functionSourceFile: /src/nettle/pkcs1-decrypt.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_get_str_256
    - TMP_GMP_ALLOC
    - TMP_GMP_FREE
    - _pkcs1_sec_decrypt_variable
    linkageType: ''
    returnType: int
    signature: "int pkcs1_decrypt (size_t key_size,\n\t       const mpz_t m,\n\t       size_t
      *length, uint8_t *message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_digest_encode
      Src: /src/nettle/rsa-pkcs1-sign.c:48,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-pkcs1-sign.c:50,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-pkcs1-sign.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - key
    - length
    - digest_info
    - s
    argTypes:
    - struct rsa_private_key*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: rsa_pkcs1_sign
    functionSourceFile: /src/nettle/rsa-pkcs1-sign.c
    functionUses: 0
    functionsReached:
    - pkcs1_rsa_digest_encode
    - rsa_compute_root
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_pkcs1_sign(const struct rsa_private_key *key,\n\t       size_t
      length, const uint8_t *digest_info,\n\t       mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_SET_KEY
      Src: /src/nettle/eax-aes128.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct eax_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: eax_aes128_set_key
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_SET_KEY
    linkageType: ''
    returnType: void
    signature: void eax_aes128_set_key(struct eax_aes128_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_SET_NONCE
      Src: /src/nettle/eax-aes128.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct eax_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: eax_aes128_set_nonce
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_SET_NONCE
    linkageType: ''
    returnType: void
    signature: "void eax_aes128_set_nonce(struct eax_aes128_ctx *ctx,\n\t\t     size_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_UPDATE
      Src: /src/nettle/eax-aes128.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct eax_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: eax_aes128_update
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_UPDATE
    linkageType: ''
    returnType: void
    signature: void eax_aes128_update(struct eax_aes128_ctx *ctx, size_t length, const
      uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_ENCRYPT
      Src: /src/nettle/eax-aes128.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct eax_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: eax_aes128_encrypt
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void eax_aes128_encrypt(struct eax_aes128_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_DECRYPT
      Src: /src/nettle/eax-aes128.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct eax_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: eax_aes128_decrypt
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void eax_aes128_decrypt(struct eax_aes128_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EAX_DIGEST
      Src: /src/nettle/eax-aes128.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct eax_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: eax_aes128_digest
    functionSourceFile: /src/nettle/eax-aes128.c
    functionUses: 0
    functionsReached:
    - EAX_DIGEST
    linkageType: ''
    returnType: void
    signature: "void eax_aes128_digest(struct eax_aes128_ctx *ctx,\n\t\t  uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/ctr.c:57,1
    - Dst: INCREMENT
      Src: /src/nettle/ctr.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - block_size
    - ctr
    - length
    - buffer
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: ctr_fill
    functionSourceFile: /src/nettle/ctr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - INCREMENT
    linkageType: ''
    returnType: size_t
    signature: size_t ctr_fill (size_t block_size, uint8_t *ctr, size_t length, uint8_t
      *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/ctr.c:71,1
    - Dst: READ_UINT64
      Src: /src/nettle/ctr.c:72,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/ctr.c:80,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/ctr.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: ctr_fill16
    functionSourceFile: /src/nettle/ctr.c
    functionUses: 0
    functionsReached:
    - READ_UINT64
    - WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: void ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT64
      Src: /src/nettle/ctr.c:93,1
    - Dst: READ_UINT64
      Src: /src/nettle/ctr.c:94,1
    - Dst: __builtin_bswap64
      Src: /src/nettle/ctr.c:99,1
    - Dst: __builtin_bswap64
      Src: /src/nettle/ctr.c:101,1
    - Dst: __builtin_bswap64
      Src: /src/nettle/ctr.c:101,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/ctr.c:103,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/ctr.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: ctr_fill16
    functionSourceFile: /src/nettle/ctr.c
    functionUses: 0
    functionsReached:
    - __builtin_bswap64
    - LE_READ_UINT64
    - WRITE_UINT64
    - LE_WRITE_UINT64
    - READ_UINT64
    linkageType: ''
    returnType: void
    signature: void ctr_fill16(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_ctr_crypt16
      Src: /src/nettle/ctr.c:120,1
    - Dst: f
      Src: /src/nettle/ctr.c:129,1
    - Dst: memxor
      Src: /src/nettle/ctr.c:130,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ctr.c:135,1
    - Dst: f
      Src: /src/nettle/ctr.c:137,1
    - Dst: INCREMENT
      Src: /src/nettle/ctr.c:138,1
    - Dst: memxor3
      Src: /src/nettle/ctr.c:139,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ctr.c:156,1
    - Dst: assert
      Src: /src/nettle/ctr.c:162,1
    - Dst: f
      Src: /src/nettle/ctr.c:163,1
    - Dst: memxor
      Src: /src/nettle/ctr.c:164,1
    - Dst: f
      Src: /src/nettle/ctr.c:172,1
    - Dst: INCREMENT
      Src: /src/nettle/ctr.c:173,1
    - Dst: memxor
      Src: /src/nettle/ctr.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - ctr
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 177
    functionName: ctr_crypt
    functionSourceFile: /src/nettle/ctr.c
    functionUses: 1
    functionsReached:
    - assert
    - memxor
    - memxor3
    - INCREMENT
    - _nettle_ctr_crypt16
    - f
    - TMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void ctr_crypt(const void *ctx, nettle_cipher_func *f,\n\t  size_t
      block_size, uint8_t *ctr,\n\t  size_t length, uint8_t *dst,\n\t  const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_set_key
      Src: /src/nettle/siv-cmac-aes128.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct siv_cmac_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: siv_cmac_aes128_set_key
    functionSourceFile: /src/nettle/siv-cmac-aes128.c
    functionUses: 0
    functionsReached:
    - siv_cmac_set_key
    linkageType: ''
    returnType: void
    signature: void siv_cmac_aes128_set_key(struct siv_cmac_aes128_ctx *ctx, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_encrypt_message
      Src: /src/nettle/siv-cmac-aes128.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct siv_cmac_aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: siv_cmac_aes128_encrypt_message
    functionSourceFile: /src/nettle/siv-cmac-aes128.c
    functionUses: 1
    functionsReached:
    - siv_cmac_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void siv_cmac_aes128_encrypt_message(const struct siv_cmac_aes128_ctx
      *ctx,\n\t\t\t\tsize_t nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength,
      const uint8_t *adata,\n\t\t\t\tsize_t clength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_decrypt_message
      Src: /src/nettle/siv-cmac-aes128.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct siv_cmac_aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: siv_cmac_aes128_decrypt_message
    functionSourceFile: /src/nettle/siv-cmac-aes128.c
    functionUses: 1
    functionsReached:
    - siv_cmac_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int siv_cmac_aes128_decrypt_message(const struct siv_cmac_aes128_ctx
      *ctx,\n\t\t\t\tsize_t nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength,
      const uint8_t *adata,\n\t\t\t\tsize_t mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_UINT32
      Src: /src/nettle/write-be32.c:54,1
    - Dst: abort
      Src: /src/nettle/write-be32.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: _nettle_write_be32
    functionSourceFile: /src/nettle/write-be32.c
    functionUses: 4
    functionsReached:
    - abort
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void _nettle_write_be32(size_t length, uint8_t *dst,\n\t\t   const
      uint32_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5_set_key
      Src: /src/nettle/hmac-md5-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_md5_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-md5-meta.c
    functionUses: 0
    functionsReached:
    - hmac_md5_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_md5_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_sign_itch
      Src: /src/nettle/ed25519-sha512-sign.c:49,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed25519-sha512-sign.c:50,1
    - Dst: sha512_init
      Src: /src/nettle/ed25519-sha512-sign.c:56,1
    - Dst: _eddsa_expand_key
      Src: /src/nettle/ed25519-sha512-sign.c:57,1
    - Dst: _eddsa_sign
      Src: /src/nettle/ed25519-sha512-sign.c:59,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed25519-sha512-sign.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pub
    - priv
    - length
    - msg
    - signature
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: ed25519_sha512_sign
    functionSourceFile: /src/nettle/ed25519-sha512-sign.c
    functionUses: 1
    functionsReached:
    - _eddsa_sign
    - gmp_free_limbs
    - _eddsa_expand_key
    - gmp_alloc_limbs
    - sha512_init
    - _eddsa_sign_itch
    linkageType: ''
    returnType: void
    signature: "void ed25519_sha512_sign (const uint8_t *pub,\n\t\t     const uint8_t
      *priv,\n\t\t     size_t length, const uint8_t *msg,\n\t\t     uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa.c:46,1
    - Dst: mpz_init
      Src: /src/nettle/rsa.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_public_key*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: rsa_public_key_init
    functionSourceFile: /src/nettle/rsa.c
    functionUses: 1
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void rsa_public_key_init(struct rsa_public_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/rsa.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_public_key*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: rsa_public_key_clear
    functionSourceFile: /src/nettle/rsa.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void rsa_public_key_clear(struct rsa_public_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_even_p
      Src: /src/nettle/rsa.c:70,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: _rsa_check_size
    functionSourceFile: /src/nettle/rsa.c
    functionUses: 0
    functionsReached:
    - mpz_sizeinbase
    - mpz_even_p
    linkageType: ''
    returnType: size_t
    signature: size_t _rsa_check_size(mpz_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _rsa_check_size
      Src: /src/nettle/rsa.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_public_key*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: rsa_public_key_prepare
    functionSourceFile: /src/nettle/rsa.c
    functionUses: 3
    functionsReached:
    - _rsa_check_size
    linkageType: ''
    returnType: int
    signature: int rsa_public_key_prepare(struct rsa_public_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL
      Src: /src/nettle/ecdsa-sign.c:53,1
    - Dst: ECC_ECDSA_SIGN_ITCH
      Src: /src/nettle/ecdsa-sign.c:53,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/ecdsa-sign.c:55,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/ecdsa-sign.c:56,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ecdsa-sign.c:58,1
    - Dst: ECC_ECDSA_SIGN_ITCH
      Src: /src/nettle/ecdsa-sign.c:58,1
    - Dst: ecc_mod_random
      Src: /src/nettle/ecdsa-sign.c:64,1
    - Dst: ecc_ecdsa_sign
      Src: /src/nettle/ecdsa-sign.c:65,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/ecdsa-sign.c:67,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/ecdsa-sign.c:68,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecdsa-sign.c:70,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecdsa-sign.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - key
    - random_ctx
    - random
    - digest_length
    - digest
    - signature
    argTypes:
    - struct ecc_scalar*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: ecdsa_sign
    functionSourceFile: /src/nettle/ecdsa-sign.c
    functionUses: 2
    functionsReached:
    - mpz_limbs_write
    - mpz_sgn
    - ECC_ECDSA_SIGN_ITCH
    - TMP_DECL
    - ecc_ecdsa_sign
    - TMP_ALLOC
    - mpz_limbs_finish
    - ecc_mod_random
    linkageType: ''
    returnType: void
    signature: "void ecdsa_sign (const struct ecc_scalar *key,\n\t    void *random_ctx,
      nettle_random_func *random,\n\t    size_t digest_length,\n\t    const uint8_t
      *digest,\n\t    struct dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/rsa-verify.c:52,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-verify.c:53,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-verify.c:56,1
    - Dst: mpz_powm
      Src: /src/nettle/rsa-verify.c:58,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-verify.c:60,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-verify.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - m
    - s
    argTypes:
    - struct rsa_public_key*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: _rsa_verify
    functionSourceFile: /src/nettle/rsa-verify.c
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_cmp
    - mpz_clear
    - mpz_powm
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int _rsa_verify(const struct rsa_public_key *key,\n\t    const mpz_t
      m,\n\t    const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/rsa-verify.c:72,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-verify.c:73,1
    - Dst: mpz_powm
      Src: /src/nettle/rsa-verify.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - key
    - m
    - s
    argTypes:
    - struct rsa_public_key*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: _rsa_verify_recover
    functionSourceFile: /src/nettle/rsa-verify.c
    functionUses: 1
    functionsReached:
    - mpz_powm
    - mpz_sgn
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: "int _rsa_verify_recover(const struct rsa_public_key *key,\n\t\t    mpz_t
      m,\n\t\t    const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/nettle/drbg-ctr-aes256.c:49,1
    - Dst: aes256_encrypt
      Src: /src/nettle/drbg-ctr-aes256.c:50,1
    - Dst: INCREMENT
      Src: /src/nettle/drbg-ctr-aes256.c:56,1
    - Dst: aes256_encrypt
      Src: /src/nettle/drbg-ctr-aes256.c:57,1
    - Dst: memcpy
      Src: /src/nettle/drbg-ctr-aes256.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - key
    - V
    - n
    - dst
    argTypes:
    - struct aes256_ctx*
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: drbg_ctr_aes256_output
    functionSourceFile: /src/nettle/drbg-ctr-aes256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - INCREMENT
    - aes256_encrypt
    linkageType: ''
    returnType: void
    signature: "void drbg_ctr_aes256_output (const struct aes256_ctx *key, union nettle_block16
      *V,\n\t\t\tsize_t n, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_aes256_output
      Src: /src/nettle/drbg-ctr-aes256.c:69,1
    - Dst: memxor
      Src: /src/nettle/drbg-ctr-aes256.c:72,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/drbg-ctr-aes256.c:74,1
    - Dst: block16_set
      Src: /src/nettle/drbg-ctr-aes256.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - key
    - V
    - provided_data
    argTypes:
    - struct aes256_ctx*
    - union nettle_block16*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: drbg_ctr_aes256_update
    functionSourceFile: /src/nettle/drbg-ctr-aes256.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_aes256_output
    - memxor
    - block16_set
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void drbg_ctr_aes256_update (struct aes256_ctx *key,\n\t\t\tunion
      nettle_block16 *V, const uint8_t *provided_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/drbg-ctr-aes256.c:83,1
    - Dst: block16_zero
      Src: /src/nettle/drbg-ctr-aes256.c:85,1
    - Dst: drbg_ctr_aes256_update
      Src: /src/nettle/drbg-ctr-aes256.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - seed_material
    argTypes:
    - struct drbg_ctr_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: drbg_ctr_aes256_init
    functionSourceFile: /src/nettle/drbg-ctr-aes256.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_aes256_update
    - block16_zero
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void drbg_ctr_aes256_init (struct drbg_ctr_aes256_ctx *ctx, uint8_t
      *seed_material)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_aes256_output
      Src: /src/nettle/drbg-ctr-aes256.c:93,1
    - Dst: drbg_ctr_aes256_update
      Src: /src/nettle/drbg-ctr-aes256.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - n
    - dst
    argTypes:
    - struct drbg_ctr_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: drbg_ctr_aes256_random
    functionSourceFile: /src/nettle/drbg-ctr-aes256.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_aes256_output
    - drbg_ctr_aes256_update
    linkageType: ''
    returnType: void
    signature: "void drbg_ctr_aes256_random (struct drbg_ctr_aes256_ctx *ctx,\n\t\t\tsize_t
      n, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha256_encode
      Src: /src/nettle/rsa-sha256-sign.c:51,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha256-sign.c:53,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha256-sign.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_private_key*
    - struct sha256_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: rsa_sha256_sign
    functionSourceFile: /src/nettle/rsa-sha256-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha256_encode
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_sign(const struct rsa_private_key *key,\n\t\tstruct
      sha256_ctx *hash,\n\t\tmpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha256_encode_digest
      Src: /src/nettle/rsa-sha256-sign.c:68,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha256-sign.c:70,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha256-sign.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_private_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: rsa_sha256_sign_digest
    functionSourceFile: /src/nettle/rsa-sha256-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha256_encode_digest
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_sign_digest(const struct rsa_private_key *key,\n\t\t
      \      const uint8_t *digest,\n\t\t       mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block16_bswap
      Src: /src/nettle/siv-ghash-set-key.c:48,1
    - Dst: block16_mulx_ghash
      Src: /src/nettle/siv-ghash-set-key.c:49,1
    - Dst: _ghash_set_key
      Src: /src/nettle/siv-ghash-set-key.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: _siv_ghash_set_key
    functionSourceFile: /src/nettle/siv-ghash-set-key.c
    functionUses: 1
    functionsReached:
    - _ghash_set_key
    - block16_bswap
    - block16_mulx_ghash
    linkageType: ''
    returnType: void
    signature: void _siv_ghash_set_key (struct gcm_key *ctx, const union nettle_block16
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes128-decrypt.c:56,1
    - Dst: _nettle_aes_decrypt
      Src: /src/nettle/aes128-decrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes128_decrypt
    functionSourceFile: /src/nettle/aes128-decrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_decrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes128_decrypt(const struct aes128_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-th.c:91,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-th.c:92,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-th.c:93,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-th.c:94,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-th.c:97,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-th.c:99,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-th.c:101,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-th.c:104,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-th.c:107,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-th.c:108,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-th.c:109,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-th.c:110,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-th.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - ecc
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 112
    functionName: ecc_dup_th
    functionSourceFile: /src/nettle/ecc-dup-th.c
    functionUses: 0
    functionsReached:
    - ecc_mod_add
    - ecc_mod_sub
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_dup_th (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:65,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp192r1.c:66,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:67,1
    - Dst: assert
      Src: /src/nettle/ecc-secp192r1.c:68,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:73,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp192r1.c:74,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:75,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp192r1.c:76,1
    - Dst: assert
      Src: /src/nettle/ecc-secp192r1.c:78,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp192r1.c:79,1
    - Dst: assert
      Src: /src/nettle/ecc-secp192r1.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - UNUSED
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: ecc_secp192r1_modp
    functionSourceFile: /src/nettle/ecc-secp192r1.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - assert
    - mpn_cnd_add_n
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: void ecc_secp192r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t
      *rp, mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:90,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp192r1.c:91,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:92,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp192r1.c:93,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:98,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp192r1.c:99,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp192r1.c:100,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp192r1.c:102,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp192r1.c:103,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp192r1.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - UNUSED
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: ecc_secp192r1_modp
    functionSourceFile: /src/nettle/ecc-secp192r1.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - assert_maybe
    - mpn_cnd_add_n
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: void ecc_secp192r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t
      *rp, mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:160,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:161,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:162,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:163,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:164,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:165,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:166,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:167,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:168,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:169,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:170,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:171,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:172,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:173,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:175,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:176,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:177,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:178,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:179,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp192r1.c:180,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:181,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:182,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 188
    functionName: ecc_secp192r1_inv
    functionSourceFile: /src/nettle/ecc-secp192r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2k_mul
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_secp192r1_inv (const struct ecc_modulo *p,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:215,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp192r1.c:216,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:217,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:218,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:219,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:220,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:221,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp192r1.c:222,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp192r1.c:224,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp192r1.c:228,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-secp192r1.c:229,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-secp192r1.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - p
    - rp
    - cp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: ecc_secp192r1_sqrt
    functionSourceFile: /src/nettle/ecc-secp192r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2kp1
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_secp192r1_sqrt (const struct ecc_modulo *p,\n\t\t    mp_limb_t
      *rp,\n\t\t    const mp_limb_t *cp,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: nettle_get_secp_192r1
    functionSourceFile: /src/nettle/ecc-secp192r1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_secp_192r1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NETTLE_OCTET_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/eddsa-hash.c:53,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/eddsa-hash.c:56,1
    - Dst: assert
      Src: /src/nettle/eddsa-hash.c:71,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/eddsa-hash.c:73,1
    - Dst: assert_maybe
      Src: /src/nettle/eddsa-hash.c:74,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/eddsa-hash.c:75,1
    - Dst: assert_maybe
      Src: /src/nettle/eddsa-hash.c:76,1
    - Dst: struct ecc_modulo*::mod
      Src: /src/nettle/eddsa-hash.c:78,1
    - Dst: mpn_sub_n
      Src: /src/nettle/eddsa-hash.c:80,1
    - Dst: cnd_copy
      Src: /src/nettle/eddsa-hash.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - m
    - rp
    - digest_size
    - digest
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: _eddsa_hash
    functionSourceFile: /src/nettle/eddsa-hash.c
    functionUses: 0
    functionsReached:
    - struct ecc_modulo*::mod
    - assert
    - NETTLE_OCTET_SIZE_TO_LIMB_SIZE
    - mpn_cnd_add_n
    - assert_maybe
    - mpn_set_base256_le
    - mpn_sub_n
    - mpn_addmul_1
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void _eddsa_hash (const struct ecc_modulo *m,\n\t     mp_limb_t *rp,
      size_t digest_size, const uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/nettle/cmac.c:58,1
    - Dst: block16_mulx_be
      Src: /src/nettle/cmac.c:60,1
    - Dst: block16_mulx_be
      Src: /src/nettle/cmac.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - cipher
    - encrypt
    argTypes:
    - struct cmac128_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: cmac128_set_key
    functionSourceFile: /src/nettle/cmac.c
    functionUses: 0
    functionsReached:
    - block16_mulx_be
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void cmac128_set_key(struct cmac128_key *key, const void *cipher,\n\t\tnettle_cipher_func
      *encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/cmac.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cmac128_ctx*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: cmac128_init
    functionSourceFile: /src/nettle/cmac.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cmac128_init(struct cmac128_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/cmac.c:85,1
    - Dst: block16_xor3
      Src: /src/nettle/cmac.c:99,1
    - Dst: encrypt
      Src: /src/nettle/cmac.c:100,1
    - Dst: block16_xor_bytes
      Src: /src/nettle/cmac.c:104,1
    - Dst: encrypt
      Src: /src/nettle/cmac.c:105,1
    - Dst: memcpy
      Src: /src/nettle/cmac.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - cipher
    - encrypt
    - msg_len
    - msg
    argTypes:
    - struct cmac128_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 116
    functionName: cmac128_update
    functionSourceFile: /src/nettle/cmac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block16_xor_bytes
    - encrypt
    - block16_xor3
    linkageType: ''
    returnType: void
    signature: "void cmac128_update(struct cmac128_ctx *ctx, const void *cipher,\n\t
      \      nettle_cipher_func *encrypt,\n\t       size_t msg_len, const uint8_t
      *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/cmac.c:129,1
    - Dst: block16_xor
      Src: /src/nettle/cmac.c:131,1
    - Dst: block16_xor
      Src: /src/nettle/cmac.c:135,1
    - Dst: block16_xor3
      Src: /src/nettle/cmac.c:138,1
    - Dst: encrypt
      Src: /src/nettle/cmac.c:140,1
    - Dst: cmac128_init
      Src: /src/nettle/cmac.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - key
    - cipher
    - encrypt
    - dst
    argTypes:
    - struct cmac128_ctx*
    - struct cmac128_key*
    - void*
    - nettle_cipher_func*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: cmac128_digest
    functionSourceFile: /src/nettle/cmac.c
    functionUses: 0
    functionsReached:
    - block16_xor
    - cmac128_init
    - memset
    - block16_xor3
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void cmac128_digest(struct cmac128_ctx *ctx, const struct cmac128_key
      *key,\n\t       const void *cipher, nettle_cipher_func *encrypt,\n\t       uint8_t
      *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/getopt.c:209,1
    - Dst: __mempcpy
      Src: /src/nettle/getopt.c:209,1
    - Dst: SWAP_FLAGS
      Src: /src/nettle/getopt.c:232,1
    - Dst: SWAP_FLAGS
      Src: /src/nettle/getopt.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 260
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 260
    functionName: exchange
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 1
    functionsReached:
    - __mempcpy
    - SWAP_FLAGS
    - memset
    linkageType: ''
    returnType: void
    signature: void exchange (char **argv, struct _getopt_data *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/nettle/getopt.c:276,1
    - Dst: malloc
      Src: /src/nettle/getopt.c:311,1
    - Dst: memset
      Src: /src/nettle/getopt.c:315,1
    - Dst: __mempcpy
      Src: /src/nettle/getopt.c:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - argc
    - argv
    - optstring
    - d
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct _getopt_data*
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 326
    functionName: _getopt_initialize
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 0
    functionsReached:
    - malloc
    - __mempcpy
    - getenv
    - memset
    linkageType: ''
    returnType: char
    signature: "char *\n_getopt_initialize (int argc, char *const *argv, const char
      *optstring,\n\t\t    struct _getopt_data *d, int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize
      Src: /src/nettle/getopt.c:400,1
    - Dst: exchange
      Src: /src/nettle/getopt.c:439,1
    - Dst: strcmp
      Src: /src/nettle/getopt.c:456,1
    - Dst: exchange
      Src: /src/nettle/getopt.c:462,1
    - Dst: strchr
      Src: /src/nettle/getopt.c:518,1
    - Dst: strncmp
      Src: /src/nettle/getopt.c:540,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:542,1
    - Dst: alloca
      Src: /src/nettle/getopt.c:562,1
    - Dst: open_memstream
      Src: /src/nettle/getopt.c:582,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:585,1
    - Dst: _
      Src: /src/nettle/getopt.c:586,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:591,1
    - Dst: fputc_unlocked
      Src: /src/nettle/getopt.c:596,1
    - Dst: __builtin_expect
      Src: /src/nettle/getopt.c:598,1
    - Dst: fclose
      Src: /src/nettle/getopt.c:598,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:600,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:605,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:608,1
    - Dst: free
      Src: /src/nettle/getopt.c:610,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:614,1
    - Dst: _
      Src: /src/nettle/getopt.c:615,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:619,1
    - Dst: fputc
      Src: /src/nettle/getopt.c:624,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:627,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:656,1
    - Dst: _
      Src: /src/nettle/getopt.c:656,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:660,1
    - Dst: _
      Src: /src/nettle/getopt.c:660,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:669,1
    - Dst: _
      Src: /src/nettle/getopt.c:669,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:674,1
    - Dst: _
      Src: /src/nettle/getopt.c:674,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:684,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:690,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:693,1
    - Dst: free
      Src: /src/nettle/getopt.c:695,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:700,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:717,1
    - Dst: _
      Src: /src/nettle/getopt.c:717,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:721,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:727,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:730,1
    - Dst: free
      Src: /src/nettle/getopt.c:732,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:735,1
    - Dst: _
      Src: /src/nettle/getopt.c:736,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:740,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:745,1
    - Dst: strchr
      Src: /src/nettle/getopt.c:761,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:774,1
    - Dst: _
      Src: /src/nettle/getopt.c:774,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:777,1
    - Dst: _
      Src: /src/nettle/getopt.c:777,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:785,1
    - Dst: _
      Src: /src/nettle/getopt.c:785,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:788,1
    - Dst: _
      Src: /src/nettle/getopt.c:788,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:796,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:801,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:804,1
    - Dst: free
      Src: /src/nettle/getopt.c:806,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:837,1
    - Dst: _
      Src: /src/nettle/getopt.c:837,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:840,1
    - Dst: _
      Src: /src/nettle/getopt.c:840,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:846,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:851,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:854,1
    - Dst: free
      Src: /src/nettle/getopt.c:856,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:892,1
    - Dst: _
      Src: /src/nettle/getopt.c:893,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:896,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:901,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:904,1
    - Dst: free
      Src: /src/nettle/getopt.c:906,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:909,1
    - Dst: _
      Src: /src/nettle/getopt.c:910,1
    - Dst: strncmp
      Src: /src/nettle/getopt.c:936,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:938,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:966,1
    - Dst: _
      Src: /src/nettle/getopt.c:966,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:969,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:974,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:977,1
    - Dst: free
      Src: /src/nettle/getopt.c:979,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:982,1
    - Dst: _
      Src: /src/nettle/getopt.c:982,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:986,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:1006,1
    - Dst: _
      Src: /src/nettle/getopt.c:1006,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:1010,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:1016,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:1019,1
    - Dst: free
      Src: /src/nettle/getopt.c:1021,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:1024,1
    - Dst: _
      Src: /src/nettle/getopt.c:1024,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:1030,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:1045,1
    - Dst: _
      Src: /src/nettle/getopt.c:1045,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:1049,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:1055,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:1058,1
    - Dst: free
      Src: /src/nettle/getopt.c:1060,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:1063,1
    - Dst: _
      Src: /src/nettle/getopt.c:1063,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:1068,1
    - Dst: strlen
      Src: /src/nettle/getopt.c:1074,1
    - Dst: __asprintf
      Src: /src/nettle/getopt.c:1120,1
    - Dst: _
      Src: /src/nettle/getopt.c:1120,1
    - Dst: _IO_flockfile
      Src: /src/nettle/getopt.c:1124,1
    - Dst: __fxprintf
      Src: /src/nettle/getopt.c:1129,1
    - Dst: _IO_funlockfile
      Src: /src/nettle/getopt.c:1132,1
    - Dst: free
      Src: /src/nettle/getopt.c:1134,1
    - Dst: fprintf
      Src: /src/nettle/getopt.c:1137,1
    - Dst: _
      Src: /src/nettle/getopt.c:1138,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 352
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    - int
    constantsTouched: []
    func_position:
      end: 1157
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 1157
    functionName: _getopt_internal_r
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 0
    functionsReached:
    - __fxprintf
    - open_memstream
    - strchr
    - strcmp
    - fclose
    - free
    - fputc_unlocked
    - exchange
    - _getopt_initialize
    - alloca
    - strlen
    - strncmp
    - _IO_flockfile
    - _
    - fputc
    - __asprintf
    - _IO_funlockfile
    - __builtin_expect
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal_r (int argc, char *const *argv, const char *optstring,\n\t\t
      \   const struct option *longopts, int *longind,\n\t\t    int long_only, struct
      _getopt_data *d, int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/nettle/getopt.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1178
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1178
    functionName: _getopt_internal
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal (int argc, char *const *argv, const char *optstring,\n\t\t
      \ const struct option *longopts, int *longind, int long_only,\n\t\t  int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/nettle/getopt.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1187
    functionName: getopt
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 8
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt (int argc, char *const *argv, const char *optstring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/nettle/getopt.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1197
    functionName: __posix_getopt
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: int __posix_getopt (int argc, char *const *argv, const char *optstring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/nettle/getopt.c:1217,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1234,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1236,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1240,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1244,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1248,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1255,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1261,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1263,1
    - Dst: printf
      Src: /src/nettle/getopt.c:1264,1
    - Dst: exit
      Src: /src/nettle/getopt.c:1267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1268
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1268
    functionName: main
    functionSourceFile: /src/nettle/getopt.c
    functionUses: 5
    functionsReached:
    - printf
    - exit
    - getopt
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECC_MUL_M_ITCH
      Src: /src/nettle/curve448-mul.c:53,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/curve448-mul.c:54,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/curve448-mul.c:56,1
    - Dst: ecc_mul_m
      Src: /src/nettle/curve448-mul.c:57,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/curve448-mul.c:58,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/curve448-mul.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - q
    - n
    - p
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: curve448_mul
    functionSourceFile: /src/nettle/curve448-mul.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - gmp_alloc_limbs
    - ECC_MUL_M_ITCH
    - mpn_get_base256_le
    - mpn_set_base256_le
    - ecc_mul_m
    linkageType: ''
    returnType: void
    signature: void curve448_mul (uint8_t *q, const uint8_t *n, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_set_key
      Src: /src/nettle/aes256-set-encrypt-key.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: nettle_aes256_set_encrypt_key
    functionSourceFile: /src/nettle/aes256-set-encrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_set_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes256_set_encrypt_key(struct aes256_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VERBOSE
      Src: /src/nettle/bignum-random-prime.c:189,1
    - Dst: mpz_even_p
      Src: /src/nettle/bignum-random-prime.c:191,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/bignum-random-prime.c:191,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:194,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:195,1
    - Dst: mpz_scan1
      Src: /src/nettle/bignum-random-prime.c:197,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:198,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/bignum-random-prime.c:200,1
    - Dst: mpz_powm
      Src: /src/nettle/bignum-random-prime.c:202,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/bignum-random-prime.c:204,1
    - Dst: mpz_cmp
      Src: /src/nettle/bignum-random-prime.c:204,1
    - Dst: mpz_powm_ui
      Src: /src/nettle/bignum-random-prime.c:209,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/bignum-random-prime.c:211,1
    - Dst: mpz_cmp
      Src: /src/nettle/bignum-random-prime.c:214,1
    - Dst: VERBOSE
      Src: /src/nettle/bignum-random-prime.c:220,1
    - Dst: mpz_powm
      Src: /src/nettle/bignum-random-prime.c:222,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/bignum-random-prime.c:223,1
    - Dst: mpz_gcd
      Src: /src/nettle/bignum-random-prime.c:224,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/bignum-random-prime.c:225,1
    - Dst: VERBOSE
      Src: /src/nettle/bignum-random-prime.c:226,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:232,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - n
    - nm1
    - nm1dq
    - a
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 236
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 236
    functionName: miller_rabin_pocklington
    functionSourceFile: /src/nettle/bignum-random-prime.c
    functionUses: 0
    functionsReached:
    - assert
    - VERBOSE
    - mpz_sub_ui
    - mpz_cmp
    - mpz_powm_ui
    - mpz_scan1
    - mpz_init
    - mpz_powm
    - mpz_gcd
    - mpz_clear
    - mpz_fdiv_q_2exp
    - mpz_even_p
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: int miller_rabin_pocklington(mpz_t n, mpz_t nm1, mpz_t nm1dq, mpz_t
      a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum-random-prime.c:339,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:341,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:342,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:346,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:347,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:348,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:349,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:353,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:354,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:355,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/bignum-random-prime.c:356,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:360,1
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum-random-prime.c:366,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/bignum-random-prime.c:367,1
    - Dst: mpz_fdiv_q
      Src: /src/nettle/bignum-random-prime.c:368,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/bignum-random-prime.c:369,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/bignum-random-prime.c:370,1
    - Dst: mpz_add_ui
      Src: /src/nettle/bignum-random-prime.c:371,1
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum-random-prime.c:376,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/bignum-random-prime.c:377,1
    - Dst: mpz_fdiv_q
      Src: /src/nettle/bignum-random-prime.c:378,1
    - Dst: mpz_add_ui
      Src: /src/nettle/bignum-random-prime.c:379,1
    - Dst: nettle_mpz_random
      Src: /src/nettle/bignum-random-prime.c:386,1
    - Dst: mpz_add
      Src: /src/nettle/bignum-random-prime.c:387,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/bignum-random-prime.c:390,1
    - Dst: mpz_mul
      Src: /src/nettle/bignum-random-prime.c:391,1
    - Dst: mpz_add_ui
      Src: /src/nettle/bignum-random-prime.c:392,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:394,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum-random-prime.c:394,1
    - Dst: mpz_probab_prime_p
      Src: /src/nettle/bignum-random-prime.c:399,1
    - Dst: random
      Src: /src/nettle/bignum-random-prime.c:402,1
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum-random-prime.c:404,1
    - Dst: mpz_mul
      Src: /src/nettle/bignum-random-prime.c:408,1
    - Dst: miller_rabin_pocklington
      Src: /src/nettle/bignum-random-prime.c:409,1
    - Dst: mpz_tdiv_qr
      Src: /src/nettle/bignum-random-prime.c:415,1
    - Dst: miller_rabin_pocklington
      Src: /src/nettle/bignum-random-prime.c:421,1
    - Dst: mpz_tdiv_qr
      Src: /src/nettle/bignum-random-prime.c:425,1
    - Dst: mpz_mul
      Src: /src/nettle/bignum-random-prime.c:433,1
    - Dst: mpz_submul_ui
      Src: /src/nettle/bignum-random-prime.c:434,1
    - Dst: mpz_perfect_square_p
      Src: /src/nettle/bignum-random-prime.c:435,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:443,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:444,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:445,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:446,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:450,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:451,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:452,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:455,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 9
    argNames:
    - p
    - r
    - bits
    - top_bits_set
    - ctx
    - random
    - p0
    - q
    - p0q
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned
    - int
    - void*
    - nettle_random_func*
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 456
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 456
    functionName: _nettle_generate_pocklington_prime
    functionSourceFile: /src/nettle/bignum-random-prime.c
    functionUses: 0
    functionsReached:
    - mpz_perfect_square_p
    - mpz_probab_prime_p
    - random
    - mpz_sizeinbase
    - mpz_mul_2exp
    - mpz_mul
    - assert
    - miller_rabin_pocklington
    - mpz_tdiv_qr
    - mpz_mul_ui
    - mpz_add
    - nettle_mpz_random
    - mpz_submul_ui
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_init
    - mpz_set_ui
    - mpz_fdiv_q
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: "void _nettle_generate_pocklington_prime (mpz_t p, mpz_t r,\n\t\t\t\t
      \   unsigned bits, int top_bits_set, \n\t\t\t\t    void *ctx, nettle_random_func
      *random, \n\t\t\t\t    const mpz_t p0,\n\t\t\t\t    const mpz_t q,\n\t\t\t\t
      \   const mpz_t p0q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:466,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:473,1
    - Dst: random
      Src: /src/nettle/bignum-random-prime.c:475,1
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum-random-prime.c:480,1
    - Dst: assert
      Src: /src/nettle/bignum-random-prime.c:489,1
    - Dst: random
      Src: /src/nettle/bignum-random-prime.c:494,1
    - Dst: READ_UINT24
      Src: /src/nettle/bignum-random-prime.c:495,1
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum-random-prime.c:505,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:511,1
    - Dst: mpz_init
      Src: /src/nettle/bignum-random-prime.c:512,1
    - Dst: nettle_random_prime
      Src: /src/nettle/bignum-random-prime.c:517,1
    - Dst: _nettle_generate_pocklington_prime
      Src: /src/nettle/bignum-random-prime.c:520,1
    - Dst: progress
      Src: /src/nettle/bignum-random-prime.c:525,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:527,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum-random-prime.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 7
    argNames:
    - p
    - bits
    - top_bits_set
    - random_ctx
    - random
    - progress_ctx
    - progress
    argTypes:
    - mpz_t
    - unsigned
    - int
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    constantsTouched: []
    func_position:
      end: 530
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 530
    functionName: nettle_random_prime
    functionSourceFile: /src/nettle/bignum-random-prime.c
    functionUses: 1
    functionsReached:
    - assert
    - READ_UINT24
    - nettle_random_prime
    - _nettle_generate_pocklington_prime
    - progress
    - random
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: "void nettle_random_prime(mpz_t p, unsigned bits, int top_bits_set,\n\t\t
      \   void *random_ctx, nettle_random_func *random,\n\t\t    void *progress_ctx,
      nettle_progress_func *progress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/poly1305-aes.c:47,1
    - Dst: _nettle_poly1305_set_key
      Src: /src/nettle/poly1305-aes.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct poly1305_aes_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: poly1305_aes_set_key
    functionSourceFile: /src/nettle/poly1305-aes.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    - _nettle_poly1305_set_key
    linkageType: ''
    returnType: void
    signature: void poly1305_aes_set_key (struct poly1305_aes_ctx *ctx, const uint8_t
      * key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/poly1305-aes.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct poly1305_aes_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: poly1305_aes_set_nonce
    functionSourceFile: /src/nettle/poly1305-aes.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void poly1305_aes_set_nonce (struct poly1305_aes_ctx *ctx,\n\t\t\tconst
      uint8_t * nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_poly1305_update
      Src: /src/nettle/poly1305-aes.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct poly1305_aes_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: poly1305_aes_update
    functionSourceFile: /src/nettle/poly1305-aes.c
    functionUses: 0
    functionsReached:
    - _nettle_poly1305_update
    linkageType: ''
    returnType: void
    signature: "void poly1305_aes_update (struct poly1305_aes_ctx *ctx,\n\t\t     size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/poly1305-aes.c:75,1
    - Dst: memset
      Src: /src/nettle/poly1305-aes.c:78,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/poly1305-aes.c:81,1
    - Dst: aes128_encrypt
      Src: /src/nettle/poly1305-aes.c:83,1
    - Dst: _nettle_poly1305_digest
      Src: /src/nettle/poly1305-aes.c:85,1
    - Dst: memcpy
      Src: /src/nettle/poly1305-aes.c:86,1
    - Dst: INCREMENT
      Src: /src/nettle/poly1305-aes.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct poly1305_aes_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: poly1305_aes_digest
    functionSourceFile: /src/nettle/poly1305-aes.c
    functionUses: 0
    functionsReached:
    - aes128_encrypt
    - assert
    - _nettle_poly1305_digest
    - _nettle_poly1305_block
    - INCREMENT
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void poly1305_aes_digest (struct poly1305_aes_ctx *ctx,\n\t\t     uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/nettle/fat-x86_64.c:75,1
    - Dst: SKIP
      Src: /src/nettle/fat-x86_64.c:82,1
    - Dst: MATCH
      Src: /src/nettle/fat-x86_64.c:84,1
    - Dst: MATCH
      Src: /src/nettle/fat-x86_64.c:86,1
    - Dst: MATCH
      Src: /src/nettle/fat-x86_64.c:90,1
    - Dst: MATCH
      Src: /src/nettle/fat-x86_64.c:92,1
    - Dst: MATCH
      Src: /src/nettle/fat-x86_64.c:94,1
    - Dst: _nettle_cpuid
      Src: /src/nettle/fat-x86_64.c:103,1
    - Dst: memcmp
      Src: /src/nettle/fat-x86_64.c:104,1
    - Dst: memcmp
      Src: /src/nettle/fat-x86_64.c:106,1
    - Dst: _nettle_cpuid
      Src: /src/nettle/fat-x86_64.c:109,1
    - Dst: _nettle_cpuid
      Src: /src/nettle/fat-x86_64.c:115,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - features
    argTypes:
    - struct x86_features*
    constantsTouched: []
    func_position:
      end: 119
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 119
    functionName: get_x86_features
    functionSourceFile: /src/nettle/fat-x86_64.c
    functionUses: 0
    functionsReached:
    - SKIP
    - memcmp
    - secure_getenv
    - MATCH
    - _nettle_cpuid
    linkageType: ''
    returnType: void
    signature: void get_x86_features (struct x86_features *features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/nettle/fat-x86_64.c:182,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:184,1
    - Dst: get_x86_features
      Src: /src/nettle/fat-x86_64.c:186,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:191,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:200,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:214,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:229,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:236,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:244,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:251,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:259,1
    - Dst: fprintf
      Src: /src/nettle/fat-x86_64.c:265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 268
    functionName: CONSTRUCTOR
    functionSourceFile: /src/nettle/fat-x86_64.c
    functionUses: 0
    functionsReached:
    - get_x86_features
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: 'void CONSTRUCTOR

      fat_init (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/pbkdf2.c:61,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/pbkdf2.c:66,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/pbkdf2.c:67,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/pbkdf2.c:76,1
    - Dst: update
      Src: /src/nettle/pbkdf2.c:78,1
    - Dst: update
      Src: /src/nettle/pbkdf2.c:79,1
    - Dst: digest
      Src: /src/nettle/pbkdf2.c:80,1
    - Dst: update
      Src: /src/nettle/pbkdf2.c:86,1
    - Dst: digest
      Src: /src/nettle/pbkdf2.c:87,1
    - Dst: memxor
      Src: /src/nettle/pbkdf2.c:89,1
    - Dst: memcpy
      Src: /src/nettle/pbkdf2.c:94,1
    - Dst: memcpy
      Src: /src/nettle/pbkdf2.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 9
    argNames:
    - mac_ctx
    - update
    - digest
    - digest_size
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: pbkdf2
    functionSourceFile: /src/nettle/pbkdf2.c
    functionUses: 8
    functionsReached:
    - assert
    - digest
    - memxor
    - TMP_ALLOC
    - memcpy
    - WRITE_UINT32
    - update
    linkageType: ''
    returnType: void
    signature: "void pbkdf2 (void *mac_ctx,\n\tnettle_hash_update_func *update,\n\tnettle_hash_digest_func
      *digest,\n\tsize_t digest_size, unsigned iterations,\n\tsize_t salt_length,
      const uint8_t *salt,\n\tsize_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sec_mul_itch
      Src: /src/nettle/rsa-sec-compute-root.c:53,1
    - Dst: mpn_sec_mul_itch
      Src: /src/nettle/rsa-sec-compute-root.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - an
    - bn
    argTypes:
    - mp_size_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: sec_mul_itch
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 3
    functionsReached:
    - mpn_sec_mul_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t sec_mul_itch (mp_size_t an, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sec_mul
      Src: /src/nettle/rsa-sec-compute-root.c:65,1
    - Dst: mpn_sec_mul
      Src: /src/nettle/rsa-sec-compute-root.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    - scratch
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: sec_mul
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 3
    functionsReached:
    - mpn_sec_mul
    linkageType: ''
    returnType: void
    signature: "void sec_mul (mp_limb_t *rp,\n\t const mp_limb_t *ap, mp_size_t an,\n\t
      const mp_limb_t *bp, mp_size_t bn, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sec_mul_itch
      Src: /src/nettle/rsa-sec-compute-root.c:73,1
    - Dst: mpn_sec_div_r_itch
      Src: /src/nettle/rsa-sec-compute-root.c:74,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - an
    - bn
    - mn
    argTypes:
    - mp_size_t
    - mp_size_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: sec_mod_mul_itch
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 0
    functionsReached:
    - MAX
    - sec_mul_itch
    - mpn_sec_div_r_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t sec_mod_mul_itch (mp_size_t an, mp_size_t bn, mp_size_t mn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:87,1
    - Dst: sec_mul
      Src: /src/nettle/rsa-sec-compute-root.c:88,1
    - Dst: mpn_sec_div_r
      Src: /src/nettle/rsa-sec-compute-root.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    - mp
    - mn
    - scratch
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: sec_mod_mul
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 0
    functionsReached:
    - sec_mul
    - assert
    - mpn_sec_div_r
    linkageType: ''
    returnType: void
    signature: "void sec_mod_mul (mp_limb_t *rp,\n\t     const mp_limb_t *ap, mp_size_t
      an,\n\t     const mp_limb_t *bp, mp_size_t bn,\n\t     const mp_limb_t *mp,
      mp_size_t mn,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sec_div_r_itch
      Src: /src/nettle/rsa-sec-compute-root.c:95,1
    - Dst: mpn_sec_powm_itch
      Src: /src/nettle/rsa-sec-compute-root.c:96,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bn
    - en
    - mn
    argTypes:
    - mp_size_t
    - mp_size_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: sec_powm_itch
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 3
    functionsReached:
    - MAX
    - mpn_sec_powm_itch
    - mpn_sec_div_r_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t sec_powm_itch (mp_size_t bn, mp_size_t en, mp_size_t mn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:108,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:109,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sec-compute-root.c:110,1
    - Dst: mpn_sec_div_r
      Src: /src/nettle/rsa-sec-compute-root.c:111,1
    - Dst: mpn_sec_powm
      Src: /src/nettle/rsa-sec-compute-root.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - rp
    - bp
    - bn
    - ep
    - en
    - mp
    - mn
    - scratch
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: sec_powm
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 3
    functionsReached:
    - mpn_sec_div_r
    - mpn_copyi
    - assert
    - mpn_sec_powm
    linkageType: ''
    returnType: void
    signature: "void sec_powm (mp_limb_t *rp,\n\t  const mp_limb_t *bp, mp_size_t
      bn,\n\t  const mp_limb_t *ep, mp_size_t en,\n\t  const mp_limb_t *mp, mp_size_t
      mn, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NETTLE_OCTET_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/rsa-sec-compute-root.c:119,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:120,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:121,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:122,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:123,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:124,1
    - Dst: sec_powm_itch
      Src: /src/nettle/rsa-sec-compute-root.c:126,1
    - Dst: sec_powm_itch
      Src: /src/nettle/rsa-sec-compute-root.c:127,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:128,1
    - Dst: sec_mod_mul_itch
      Src: /src/nettle/rsa-sec-compute-root.c:129,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:129,1
    - Dst: sec_mul_itch
      Src: /src/nettle/rsa-sec-compute-root.c:131,1
    - Dst: mpn_sec_add_1_itch
      Src: /src/nettle/rsa-sec-compute-root.c:132,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:135,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:137,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:138,1
    - Dst: MAX
      Src: /src/nettle/rsa-sec-compute-root.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 143
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 143
    functionName: _rsa_sec_compute_root_itch
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 1
    functionsReached:
    - sec_powm_itch
    - mpn_sec_add_1_itch
    - MAX
    - NETTLE_OCTET_SIZE_TO_LIMB_SIZE
    - sec_mul_itch
    - sec_mod_mul_itch
    - mpz_size
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _rsa_sec_compute_root_itch (const struct rsa_private_key
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NETTLE_OCTET_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/rsa-sec-compute-root.c:150,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:154,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:155,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:157,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:158,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:159,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:160,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sec-compute-root.c:161,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:168,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:169,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:170,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:171,1
    - Dst: assert
      Src: /src/nettle/rsa-sec-compute-root.c:172,1
    - Dst: sec_powm
      Src: /src/nettle/rsa-sec-compute-root.c:175,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:175,1
    - Dst: sec_powm
      Src: /src/nettle/rsa-sec-compute-root.c:177,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:177,1
    - Dst: sec_mod_mul
      Src: /src/nettle/rsa-sec-compute-root.c:180,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:180,1
    - Dst: mpn_copyi
      Src: /src/nettle/rsa-sec-compute-root.c:182,1
    - Dst: sec_mod_mul
      Src: /src/nettle/rsa-sec-compute-root.c:184,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-sec-compute-root.c:184,1
    - Dst: mpn_sub_n
      Src: /src/nettle/rsa-sec-compute-root.c:186,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/rsa-sec-compute-root.c:187,1
    - Dst: sec_mul
      Src: /src/nettle/rsa-sec-compute-root.c:190,1
    - Dst: mpn_add_n
      Src: /src/nettle/rsa-sec-compute-root.c:192,1
    - Dst: mpn_sec_add_1
      Src: /src/nettle/rsa-sec-compute-root.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - key
    - rp
    - mp
    - scratch
    argTypes:
    - struct rsa_private_key*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 194
    functionName: _rsa_sec_compute_root
    functionSourceFile: /src/nettle/rsa-sec-compute-root.c
    functionUses: 1
    functionsReached:
    - assert
    - sec_mod_mul
    - sec_powm
    - sec_mul
    - mpn_copyi
    - mpn_sec_add_1
    - NETTLE_OCTET_SIZE_TO_LIMB_SIZE
    - mpn_sub_n
    - mpn_cnd_add_n
    - mpn_add_n
    - mpz_limbs_read
    - mpz_size
    linkageType: ''
    returnType: void
    signature: "void _rsa_sec_compute_root (const struct rsa_private_key *key,\n\t\t
      \      mp_limb_t *rp, const mp_limb_t *mp,\n\t\t       mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gostdsa-vko.c:71,1
    - Dst: assert
      Src: /src/nettle/gostdsa-vko.c:72,1
    - Dst: assert
      Src: /src/nettle/gostdsa-vko.c:73,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/gostdsa-vko.c:75,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/gostdsa-vko.c:82,1
    - Dst: mpn_zero_p
      Src: /src/nettle/gostdsa-vko.c:87,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/gostdsa-vko.c:90,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/gostdsa-vko.c:91,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/gostdsa-vko.c:92,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/gostdsa-vko.c:93,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/gostdsa-vko.c:94,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/gostdsa-vko.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - priv
    - pub
    - ukm_length
    - ukm
    - out
    argTypes:
    - struct ecc_scalar*
    - struct ecc_point*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 96
    functionName: gostdsa_vko
    functionSourceFile: /src/nettle/gostdsa-vko.c
    functionUses: 1
    functionsReached:
    - assert
    - gmp_free_limbs
    - gmp_alloc_limbs
    - struct ecc_curve*::h_to_a
    - mpn_zero_p
    - mpn_get_base256_le
    - ecc_mod_mul_canonical
    - mpn_set_base256_le
    - struct ecc_curve*::mul
    linkageType: ''
    returnType: void
    signature: "void gostdsa_vko (const struct ecc_scalar *priv,\n\t\tconst struct
      ecc_point *pub,\n\t\tsize_t ukm_length, const uint8_t *ukm,\n\t\tuint8_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-md5.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_md5_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_md5_set_key
    functionSourceFile: /src/nettle/hmac-md5.c
    functionUses: 2
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_md5_set_key(struct hmac_md5_ctx *ctx,\n\t\t size_t key_length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_update
      Src: /src/nettle/hmac-md5.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_md5_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_md5_update
    functionSourceFile: /src/nettle/hmac-md5.c
    functionUses: 0
    functionsReached:
    - md5_update
    linkageType: ''
    returnType: void
    signature: "void hmac_md5_update(struct hmac_md5_ctx *ctx,\n\t\tsize_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-md5.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_md5_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_md5_digest
    functionSourceFile: /src/nettle/hmac-md5.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_md5_digest(struct hmac_md5_ctx *ctx,\n\t\tuint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-gost-gc256b.c:51,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-gost-gc256b.c:52,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-gost-gc256b.c:53,1
    - Dst: assert
      Src: /src/nettle/ecc-gost-gc256b.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: ecc_gost_gc256b_modp
    functionSourceFile: /src/nettle/ecc-gost-gc256b.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - assert
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_gost_gc256b_modp (const struct ecc_modulo *m, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: nettle_get_gost_gc256b
    functionSourceFile: /src/nettle/ecc-gost-gc256b.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_gost_gc256b(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-eh-to-a.c:56,1
    - Dst: struct ecc_curve*::p::invert
      Src: /src/nettle/ecc-eh-to-a.c:59,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-eh-to-a.c:61,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-eh-to-a.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ecc
    - op
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - int
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: ecc_eh_to_a
    functionSourceFile: /src/nettle/ecc-eh-to-a.c
    functionUses: 0
    functionsReached:
    - assert
    - ecc_mod_mul_canonical
    - struct ecc_curve*::p::invert
    linkageType: ''
    returnType: void
    signature: "void ecc_eh_to_a (const struct ecc_curve *ecc,\n\t     int op,\n\t
      \    mp_limb_t *r, const mp_limb_t *p,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_umac_set_key
      Src: /src/nettle/umac64.c:47,1
    - Dst: memset
      Src: /src/nettle/umac64.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct umac64_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: umac64_set_key
    functionSourceFile: /src/nettle/umac64.c
    functionUses: 0
    functionsReached:
    - _nettle_umac_set_key
    - memset
    linkageType: ''
    returnType: void
    signature: void umac64_set_key (struct umac64_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac64.c:63,1
    - Dst: assert
      Src: /src/nettle/umac64.c:64,1
    - Dst: memcpy
      Src: /src/nettle/umac64.c:66,1
    - Dst: memset
      Src: /src/nettle/umac64.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - nonce_length
    - nonce
    argTypes:
    - struct umac64_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: umac64_set_nonce
    functionSourceFile: /src/nettle/umac64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void umac64_set_nonce (struct umac64_ctx *ctx,\n\t\t  size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/umac64.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct umac64_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: umac64_update
    functionSourceFile: /src/nettle/umac64.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void umac64_update (struct umac64_ctx *ctx,\n\t       size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/umac64.c:102,1
    - Dst: _nettle_umac_nh_n
      Src: /src/nettle/umac64.c:104,1
    - Dst: _nettle_umac_l2
      Src: /src/nettle/umac64.c:107,1
    - Dst: assert
      Src: /src/nettle/umac64.c:109,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac64.c:112,1
    - Dst: INCREMENT
      Src: /src/nettle/umac64.c:128,1
    - Dst: _nettle_umac_l2_final
      Src: /src/nettle/umac64.c:131,1
    - Dst: _nettle_umac_l3
      Src: /src/nettle/umac64.c:132,1
    - Dst: _nettle_umac_l3
      Src: /src/nettle/umac64.c:134,1
    - Dst: memcpy
      Src: /src/nettle/umac64.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct umac64_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 140
    functionName: umac64_digest
    functionSourceFile: /src/nettle/umac64.c
    functionUses: 0
    functionsReached:
    - aes128_encrypt
    - assert
    - _nettle_umac_l2
    - _nettle_umac_nh_n
    - _nettle_umac_l2_final
    - INCREMENT
    - memset
    - memcpy
    - _nettle_umac_l3
    linkageType: ''
    returnType: void
    signature: "void umac64_digest (struct umac64_ctx *ctx,\n\t       uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:50,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:51,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:52,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:53,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:55,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:56,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:57,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-key.c:58,1
    - Dst: memcpy
      Src: /src/nettle/chacha-set-key.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct chacha_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: chacha_set_key
    functionSourceFile: /src/nettle/chacha-set-key.c
    functionUses: 2
    functionsReached:
    - memcpy
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void chacha_set_key(struct chacha_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_camellia256_set_iv
      Src: /src/nettle/gcm-camellia256-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_camellia256_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-camellia256-meta.c
    functionUses: 0
    functionsReached:
    - gcm_camellia256_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_camellia256_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/gcm.c:71,1
    - Dst: _ghash_set_key
      Src: /src/nettle/gcm.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - cipher
    - f
    argTypes:
    - struct gcm_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: gcm_set_key
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 3
    functionsReached:
    - _ghash_set_key
    - f
    linkageType: ''
    returnType: void
    signature: "void gcm_set_key(struct gcm_key *key,\n\t    const void *cipher, nettle_cipher_func
      *f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _ghash_update
      Src: /src/nettle/gcm.c:80,1
    - Dst: block16_zero
      Src: /src/nettle/gcm.c:85,1
    - Dst: memcpy
      Src: /src/nettle/gcm.c:86,1
    - Dst: _ghash_update
      Src: /src/nettle/gcm.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - key
    - x
    - length
    - data
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: gcm_hash
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _ghash_update
    - block16_zero
    linkageType: ''
    returnType: void
    signature: "void gcm_hash (const struct gcm_key *key, union nettle_block16 *x,\n\t
      \ size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap64_if_le
      Src: /src/nettle/gcm.c:100,1
    - Dst: bswap64_if_le
      Src: /src/nettle/gcm.c:101,1
    - Dst: _ghash_update
      Src: /src/nettle/gcm.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key
    - x
    - auth_size
    - data_size
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: gcm_hash_sizes
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 0
    functionsReached:
    - bswap64_if_le
    - _ghash_update
    linkageType: ''
    returnType: void
    signature: "void gcm_hash_sizes(const struct gcm_key *key, union nettle_block16
      *x,\n\t       uint64_t auth_size, uint64_t data_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/gcm.c:113,1
    - Dst: block16_zero
      Src: /src/nettle/gcm.c:121,1
    - Dst: gcm_hash
      Src: /src/nettle/gcm.c:122,1
    - Dst: gcm_hash_sizes
      Src: /src/nettle/gcm.c:123,1
    - Dst: INCREMENT
      Src: /src/nettle/gcm.c:128,1
    - Dst: block16_zero
      Src: /src/nettle/gcm.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - length
    - iv
    argTypes:
    - struct gcm_ctx*
    - struct gcm_key*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: gcm_set_iv
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 1
    functionsReached:
    - gcm_hash
    - block16_zero
    - INCREMENT
    - memcpy
    - gcm_hash_sizes
    linkageType: ''
    returnType: void
    signature: "void gcm_set_iv(struct gcm_ctx *ctx, const struct gcm_key *key,\n\t
      \  size_t length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gcm.c:139,1
    - Dst: assert
      Src: /src/nettle/gcm.c:140,1
    - Dst: gcm_hash
      Src: /src/nettle/gcm.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - length
    - data
    argTypes:
    - struct gcm_ctx*
    - struct gcm_key*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: gcm_update
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 2
    functionsReached:
    - assert
    - gcm_hash
    linkageType: ''
    returnType: void
    signature: "void gcm_update(struct gcm_ctx *ctx, const struct gcm_key *key,\n\t
      \  size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/gcm.c:155,1
    - Dst: READ_UINT32
      Src: /src/nettle/gcm.c:156,1
    - Dst: READ_UINT32
      Src: /src/nettle/gcm.c:157,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/gcm.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: gcm_fill
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 0
    functionsReached:
    - READ_UINT64
    - READ_UINT32
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void gcm_fill(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT64
      Src: /src/nettle/gcm.c:175,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/gcm.c:176,1
    - Dst: READ_UINT32
      Src: /src/nettle/gcm.c:177,1
    - Dst: __builtin_bswap32
      Src: /src/nettle/gcm.c:182,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/gcm.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: gcm_fill
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 0
    functionsReached:
    - __builtin_bswap32
    - LE_READ_UINT64
    - READ_UINT32
    - LE_READ_UINT32
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void gcm_fill(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/gcm.c:193,1
    - Dst: memcpy
      Src: /src/nettle/gcm.c:197,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/gcm.c:198,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/gcm.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctr
    - blocks
    - buffer
    argTypes:
    - uint8_t*
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: gcm_fill
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - READ_UINT32
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void gcm_fill(uint8_t *ctr, size_t blocks, union nettle_block16 *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gcm.c:210,1
    - Dst: _nettle_ctr_crypt16
      Src: /src/nettle/gcm.c:212,1
    - Dst: gcm_hash
      Src: /src/nettle/gcm.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ctx
    - key
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct gcm_ctx*
    - struct gcm_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: gcm_encrypt
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 3
    functionsReached:
    - assert
    - _nettle_ctr_crypt16
    - gcm_hash
    linkageType: ''
    returnType: void
    signature: "void gcm_encrypt (struct gcm_ctx *ctx, const struct gcm_key *key,\n\t
      \    const void *cipher, nettle_cipher_func *f,\n\t     size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/gcm.c:223,1
    - Dst: gcm_hash
      Src: /src/nettle/gcm.c:225,1
    - Dst: _nettle_ctr_crypt16
      Src: /src/nettle/gcm.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ctx
    - key
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct gcm_ctx*
    - struct gcm_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: gcm_decrypt
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 3
    functionsReached:
    - assert
    - _nettle_ctr_crypt16
    - gcm_hash
    linkageType: ''
    returnType: void
    signature: "void gcm_decrypt(struct gcm_ctx *ctx, const struct gcm_key *key,\n\t
      \   const void *cipher, nettle_cipher_func *f,\n\t    size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_hash_sizes
      Src: /src/nettle/gcm.c:239,1
    - Dst: f
      Src: /src/nettle/gcm.c:241,1
    - Dst: block16_xor
      Src: /src/nettle/gcm.c:242,1
    - Dst: memcpy
      Src: /src/nettle/gcm.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - key
    - cipher
    - f
    - digest
    argTypes:
    - struct gcm_ctx*
    - struct gcm_key*
    - void*
    - nettle_cipher_func*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: gcm_digest
    functionSourceFile: /src/nettle/gcm.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gcm_hash_sizes
    - block16_xor
    - f
    linkageType: ''
    returnType: void
    signature: "void gcm_digest(struct gcm_ctx *ctx, const struct gcm_key *key,\n\t
      \  const void *cipher, nettle_cipher_func *f,\n\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_update
      Src: /src/nettle/shake128.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: sha3_128_update
    functionSourceFile: /src/nettle/shake128.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_update
    linkageType: ''
    returnType: void
    signature: void sha3_128_update (struct sha3_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_shake
      Src: /src/nettle/shake128.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - dst
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: sha3_128_shake
    functionSourceFile: /src/nettle/shake128.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_shake
    linkageType: ''
    returnType: void
    signature: void sha3_128_shake (struct sha3_ctx *ctx, size_t length, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_shake_output
      Src: /src/nettle/shake128.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: sha3_128_shake_output
    functionSourceFile: /src/nettle/shake128.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_shake_output
    linkageType: ''
    returnType: void
    signature: void sha3_128_shake_output (struct sha3_ctx *ctx, size_t length, uint8_t
      *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-camellia128.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_camellia128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gcm_camellia128_set_key
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_camellia128_set_key(struct gcm_camellia128_ctx *ctx, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-camellia128.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_camellia128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: gcm_camellia128_set_iv
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia128_set_iv (struct gcm_camellia128_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-camellia128.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_camellia128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: gcm_camellia128_update
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia128_update (struct gcm_camellia128_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-camellia128.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_camellia128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: gcm_camellia128_encrypt
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia128_encrypt(struct gcm_camellia128_ctx *ctx,\n\t\t\tsize_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-camellia128.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_camellia128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: gcm_camellia128_decrypt
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia128_decrypt(struct gcm_camellia128_ctx *ctx,\n\t\t\tsize_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-camellia128.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_camellia128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: gcm_camellia128_digest
    functionSourceFile: /src/nettle/gcm-camellia128.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia128_digest(struct gcm_camellia128_ctx *ctx,\n\t\t
      \      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sec_zero_p
      Src: /src/nettle/ecc-random.c:49,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-random.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - xp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ecdsa_in_range
    functionSourceFile: /src/nettle/ecc-random.c
    functionUses: 1
    functionsReached:
    - sec_zero_p
    - mpn_sub_n
    linkageType: ''
    returnType: int
    signature: "int ecdsa_in_range (const struct ecc_modulo *m,\n\t\tconst mp_limb_t
      *xp, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-random.c:62,1
    - Dst: random
      Src: /src/nettle/ecc-random.c:66,1
    - Dst: mpn_set_base256
      Src: /src/nettle/ecc-random.c:69,1
    - Dst: ecdsa_in_range
      Src: /src/nettle/ecc-random.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - m
    - xp
    - ctx
    - random
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - void*
    - nettle_random_func*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: ecc_mod_random
    functionSourceFile: /src/nettle/ecc-random.c
    functionUses: 2
    functionsReached:
    - assert
    - random
    - mpn_set_base256
    - ecdsa_in_range
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_random (const struct ecc_modulo *m, mp_limb_t *xp,\n\t\tvoid
      *ctx, nettle_random_func *random, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL
      Src: /src/nettle/ecc-random.c:78,1
    - Dst: ECC_MOD_RANDOM_ITCH
      Src: /src/nettle/ecc-random.c:78,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ecc-random.c:79,1
    - Dst: ECC_MOD_RANDOM_ITCH
      Src: /src/nettle/ecc-random.c:79,1
    - Dst: ecc_mod_random
      Src: /src/nettle/ecc-random.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - random_ctx
    - random
    argTypes:
    - struct ecc_scalar*
    - void*
    - nettle_random_func*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: ecc_scalar_random
    functionSourceFile: /src/nettle/ecc-random.c
    functionUses: 0
    functionsReached:
    - ecc_mod_random
    - TMP_ALLOC
    - TMP_DECL
    - ECC_MOD_RANDOM_ITCH
    linkageType: ''
    returnType: void
    signature: "void ecc_scalar_random (struct ecc_scalar *x,\n\t\t   void *random_ctx,
      nettle_random_func *random)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_4core
      Src: /src/nettle/chacha-crypt.c:82,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:88,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:93,1
    - Dst: _nettle_chacha_2core
      Src: /src/nettle/chacha-crypt.c:101,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:107,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 111
    functionName: _nettle_chacha_crypt_4core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - _nettle_chacha_4core
    - memxor3
    - _nettle_chacha_2core
    - _nettle_chacha_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt_4core(struct chacha_ctx *ctx,\n\t\t\t   size_t
      length,\n\t\t\t   uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_3core
      Src: /src/nettle/chacha-crypt.c:128,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:133,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:136,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:144,1
    - Dst: _nettle_chacha_3core
      Src: /src/nettle/chacha-crypt.c:149,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 154
    functionName: _nettle_chacha_crypt_3core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - memxor3
    - _nettle_chacha_core
    - _nettle_chacha_3core
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt_3core(struct chacha_ctx *ctx,\n\t\t\t   size_t
      length,\n\t\t\t   uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:171,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:179,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: _nettle_chacha_crypt_1core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - memxor3
    - _nettle_chacha_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt_1core(struct chacha_ctx *ctx,\n\t\t\t   size_t
      length,\n\t\t\t   uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_4core32
      Src: /src/nettle/chacha-crypt.c:205,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:209,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:213,1
    - Dst: _nettle_chacha_2core32
      Src: /src/nettle/chacha-crypt.c:221,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:226,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 230
    functionName: _nettle_chacha_crypt32_4core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - _nettle_chacha_2core32
    - _nettle_chacha_4core32
    - memxor3
    - _nettle_chacha_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt32_4core(struct chacha_ctx *ctx,\n\t\t\t
      \    size_t length,\n\t\t\t     uint8_t *dst,\n\t\t\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_3core32
      Src: /src/nettle/chacha-crypt.c:247,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:251,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:254,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:262,1
    - Dst: _nettle_chacha_3core32
      Src: /src/nettle/chacha-crypt.c:267,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 271
    functionName: _nettle_chacha_crypt32_3core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - memxor3
    - _nettle_chacha_core
    - _nettle_chacha_3core32
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt32_3core(struct chacha_ctx *ctx,\n\t\t\t
      \    size_t length,\n\t\t\t     uint8_t *dst,\n\t\t\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_chacha_core
      Src: /src/nettle/chacha-crypt.c:288,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:296,1
    - Dst: memxor3
      Src: /src/nettle/chacha-crypt.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct chacha_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 305
    functionName: _nettle_chacha_crypt32_1core
    functionSourceFile: /src/nettle/chacha-crypt.c
    functionUses: 0
    functionsReached:
    - memxor3
    - _nettle_chacha_core
    linkageType: ''
    returnType: void
    signature: "void _nettle_chacha_crypt32_1core(struct chacha_ctx *ctx,\n\t\t\t
      \    size_t length,\n\t\t\t     uint8_t *dst,\n\t\t\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:100,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: ecc_init
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void ecc_init (struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:107,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ecc_clear
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void ecc_clear (struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: ecc_zero_p
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecc_zero_p (const struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:121,1
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - struct ecc_point*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: ecc_equal_p
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: int ecc_equal_p (const struct ecc_point *p, const struct ecc_point
      *q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:128,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ecc
    - r
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: ecc_set_zero
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void ecc_set_zero (const struct ecc_curve *ecc, struct ecc_point *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/nettle/eccdata.c:136,1
    - Dst: mpz_set
      Src: /src/nettle/eccdata.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - struct ecc_point*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: ecc_set
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void ecc_set (struct ecc_point *r, const struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:151,1
    - Dst: ecc_zero_p
      Src: /src/nettle/eccdata.c:154,1
    - Dst: ecc_set_zero
      Src: /src/nettle/eccdata.c:155,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:161,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:162,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:163,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:164,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/eccdata.c:167,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:168,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:171,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:172,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/eccdata.c:173,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/eccdata.c:174,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:176,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:177,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:180,1
    - Dst: mpz_submul_ui
      Src: /src/nettle/eccdata.c:181,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:183,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:186,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:187,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:188,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:189,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:192,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:193,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:195,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:196,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:197,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - ecc
    - r
    - p
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 200
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 200
    functionName: ecc_dup
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_invert
    - mpz_submul_ui
    - mpz_mul
    - mpz_sub_ui
    - mpz_mod
    - ecc_add
    - mpz_swap
    - ecc_zero_p
    - mpz_init
    - mpz_clear
    - mpz_mul_ui
    - ecc_set_zero
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: "void ecc_dup (const struct ecc_curve *ecc,\n\t struct ecc_point *r,
      const struct ecc_point *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_zero_p
      Src: /src/nettle/eccdata.c:208,1
    - Dst: ecc_set
      Src: /src/nettle/eccdata.c:209,1
    - Dst: ecc_zero_p
      Src: /src/nettle/eccdata.c:211,1
    - Dst: ecc_set
      Src: /src/nettle/eccdata.c:212,1
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:214,1
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:216,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:217,1
    - Dst: ecc_set_zero
      Src: /src/nettle/eccdata.c:219,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:224,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:225,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:226,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:227,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:230,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:231,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:232,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:233,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:234,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:237,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:238,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:239,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:240,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:243,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:244,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:245,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:246,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:249,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:250,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:252,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:253,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:254,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:255,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:261,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:262,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:263,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:264,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:267,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:268,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:269,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:270,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:271,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:272,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:273,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:274,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:277,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:278,1
    - Dst: mpz_addmul
      Src: /src/nettle/eccdata.c:279,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:280,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:281,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:282,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:283,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:284,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:287,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:288,1
    - Dst: mpz_submul
      Src: /src/nettle/eccdata.c:289,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:290,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:291,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:292,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:293,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:294,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:295,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:297,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:298,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/eccdata.c:299,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/eccdata.c:299,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:301,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:302,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:303,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:304,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:321,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:322,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:323,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:324,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:327,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:328,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:329,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:330,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:331,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:332,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:333,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:334,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:337,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:338,1
    - Dst: mpz_addmul
      Src: /src/nettle/eccdata.c:339,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:340,1
    - Dst: mpz_ui_sub
      Src: /src/nettle/eccdata.c:341,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:342,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:343,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:344,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:347,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:348,1
    - Dst: mpz_addmul
      Src: /src/nettle/eccdata.c:349,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:350,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:351,1
    - Dst: mpz_invert
      Src: /src/nettle/eccdata.c:352,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:353,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:354,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:356,1
    - Dst: mpz_swap
      Src: /src/nettle/eccdata.c:357,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/eccdata.c:358,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/eccdata.c:358,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:360,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:361,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:362,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 111
    argCount: 4
    argNames:
    - ecc
    - r
    - p
    - q
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    - struct ecc_point*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 365
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 365
    functionName: ecc_add
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 1
    functionsReached:
    - mpz_invert
    - mpz_ui_sub
    - ecc_set
    - mpz_mul
    - mpz_add_ui
    - mpz_mod
    - mpz_addmul
    - mpz_swap
    - ecc_zero_p
    - mpz_submul
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_set_ui
    - ecc_set_zero
    - mpz_cmp_ui
    - ecc_dup
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: "void ecc_add (const struct ecc_curve *ecc, struct ecc_point *r,\n\t
      const struct ecc_point *p, const struct ecc_point *q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/eccdata.c:373,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:374,1
    - Dst: mpz_sgn
      Src: /src/nettle/eccdata.c:374,1
    - Dst: ecc_set
      Src: /src/nettle/eccdata.c:376,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/eccdata.c:379,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:381,1
    - Dst: mpz_tstbit
      Src: /src/nettle/eccdata.c:382,1
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ecc
    - r
    - n
    - p
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    - mpz_t
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: ecc_mul_binary
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - assert
    - ecc_add
    - mpz_tstbit
    - ecc_dup
    - mpz_sizeinbase
    - ecc_set
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_binary (const struct ecc_curve *ecc,\n\t\tstruct ecc_point
      *r, const mpz_t n, const struct ecc_point *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/nettle/eccdata.c:390,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:395,1
    - Dst: exit
      Src: /src/nettle/eccdata.c:396,1
    - Dst: ecc_init
      Src: /src/nettle/eccdata.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: ecc_alloc
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - exit
    - malloc
    - fprintf
    - ecc_init
    linkageType: ''
    returnType: struct ecc_point
    signature: 'struct ecc_point *

      ecc_alloc (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_str
      Src: /src/nettle/eccdata.c:409,1
    - Dst: mpz_set_str
      Src: /src/nettle/eccdata.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - x
    - y
    argTypes:
    - struct ecc_point*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: ecc_set_str
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_set_str
    linkageType: ''
    returnType: void
    signature: "void ecc_set_str (struct ecc_point *p,\n\t     const char *x, const
      char *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/eccdata.c:420,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/eccdata.c:421,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/eccdata.c:422,1
    - Dst: ecc_init
      Src: /src/nettle/eccdata.c:423,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - ecc
    - type
    - p
    - b
    - q
    - gx
    - gy
    argTypes:
    - struct ecc_curve*
    - enum ecc_type
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 431
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 431
    functionName: ecc_curve_init_str
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - ecc_set_str
    - ecc_init
    - mpz_init_set_str
    linkageType: ''
    returnType: void
    signature: "void ecc_curve_init_str (struct ecc_curve *ecc, enum ecc_type type,\n\t\t
      \   const char *p, const char *b, const char *q,\n\t\t    const char *gx, const
      char *gy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:436,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:438,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:454,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:455,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:459,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:463,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:468,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:470,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:487,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:488,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:492,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:496,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:501,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:503,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:520,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:521,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:525,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:529,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:534,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:536,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:558,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:559,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:563,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:567,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:572,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:574,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:605,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:606,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:610,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:614,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:619,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:638,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:658,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:659,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:664,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:670,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:676,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:678,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:694,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:695,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:699,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:703,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:708,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:710,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:732,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:733,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:737,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:741,1
    - Dst: strcmp
      Src: /src/nettle/eccdata.c:746,1
    - Dst: ecc_curve_init_str
      Src: /src/nettle/eccdata.c:769,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:797,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:798,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:807,1
    - Dst: ecc_set_str
      Src: /src/nettle/eccdata.c:817,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:829,1
    - Dst: exit
      Src: /src/nettle/eccdata.c:830,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/eccdata.c:832,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 2
    argNames:
    - ecc
    - curve
    argTypes:
    - struct ecc_curve*
    - char*
    constantsTouched: []
    func_position:
      end: 833
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 833
    functionName: ecc_curve_init
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - exit
    - ecc_set_str
    - ecc_curve_init_str
    - strcmp
    - mpz_sizeinbase
    - fprintf
    - ecc_alloc
    linkageType: ''
    returnType: void
    signature: void ecc_curve_init (struct ecc_curve *ecc, const char *curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:838,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:839,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:840,1
    - Dst: ecc_clear
      Src: /src/nettle/eccdata.c:841,1
    - Dst: ecc_clear
      Src: /src/nettle/eccdata.c:846,1
    - Dst: free
      Src: /src/nettle/eccdata.c:847,1
    - Dst: ecc_clear
      Src: /src/nettle/eccdata.c:853,1
    - Dst: free
      Src: /src/nettle/eccdata.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 856
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 856
    functionName: ecc_curve_clear
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - free
    - ecc_clear
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void ecc_curve_clear (struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bits
    - k
    - c
    argTypes:
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: ecc_table_size
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ecc_table_size(unsigned bits, unsigned k, unsigned c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:874,1
    - Dst: exit
      Src: /src/nettle/eccdata.c:875,1
    - Dst: ecc_table_size
      Src: /src/nettle/eccdata.c:878,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:879,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:886,1
    - Dst: ecc_alloc
      Src: /src/nettle/eccdata.c:887,1
    - Dst: ecc_set_zero
      Src: /src/nettle/eccdata.c:890,1
    - Dst: ecc_set
      Src: /src/nettle/eccdata.c:891,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:896,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:897,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:899,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:903,1
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:904,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:910,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ecc
    - k
    - c
    argTypes:
    - struct ecc_curve*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 914
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 914
    functionName: ecc_pippenger_precompute
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - assert
    - exit
    - ecc_set
    - ecc_table_size
    - ecc_add
    - ecc_dup
    - ecc_set_zero
    - fprintf
    - ecc_alloc
    linkageType: ''
    returnType: void
    signature: void ecc_pippenger_precompute (struct ecc_curve *ecc, unsigned k, unsigned
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:925,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:927,1
    - Dst: ecc_set_zero
      Src: /src/nettle/eccdata.c:928,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:937,1
    - Dst: mpz_tstbit
      Src: /src/nettle/eccdata.c:948,1
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:951,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ecc
    - r
    - n_input
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 955
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 955
    functionName: ecc_mul_pippenger
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_mod
    - ecc_add
    - mpz_init
    - mpz_tstbit
    - mpz_clear
    - ecc_set_zero
    - ecc_dup
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_pippenger (const struct ecc_curve *ecc,\n\t\t   struct
      ecc_point *r, const mpz_t n_input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:961,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:964,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:965,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:966,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:967,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - p
    argTypes:
    - FILE*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: ecc_point_out
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_out_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ecc_point_out (FILE *f, const struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_init
      Src: /src/nettle/eccdata.c:1003,1
    - Dst: ecc_init
      Src: /src/nettle/eccdata.c:1004,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1005,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:1007,1
    - Dst: ASSERT_EQUAL
      Src: /src/nettle/eccdata.c:1009,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1012,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1013,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1014,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1015,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1016,1
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:1018,1
    - Dst: ASSERT_EQUAL
      Src: /src/nettle/eccdata.c:1020,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1023,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1024,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1025,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1026,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1027,1
    - Dst: ecc_add
      Src: /src/nettle/eccdata.c:1030,1
    - Dst: ASSERT_EQUAL
      Src: /src/nettle/eccdata.c:1032,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1035,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1036,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1037,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1038,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1039,1
    - Dst: ecc_dup
      Src: /src/nettle/eccdata.c:1042,1
    - Dst: ASSERT_EQUAL
      Src: /src/nettle/eccdata.c:1044,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1047,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1048,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1049,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1050,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1051,1
    - Dst: ecc_mul_binary
      Src: /src/nettle/eccdata.c:1054,1
    - Dst: ASSERT_ZERO
      Src: /src/nettle/eccdata.c:1055,1
    - Dst: ecc_mul_pippenger
      Src: /src/nettle/eccdata.c:1057,1
    - Dst: ASSERT_ZERO
      Src: /src/nettle/eccdata.c:1058,1
    - Dst: ecc_clear
      Src: /src/nettle/eccdata.c:1060,1
    - Dst: ecc_clear
      Src: /src/nettle/eccdata.c:1061,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 1063
      start: 997
    functionDepth: 4
    functionLinenumber: 997
    functionLinenumberEnd: 1063
    functionName: ecc_curve_check
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - ecc_mul_pippenger
    - ecc_init
    - ecc_clear
    - ecc_add
    - ecc_mul_binary
    - mpz_out_str
    - ASSERT_EQUAL
    - mpz_init
    - mpz_clear
    - ASSERT_ZERO
    - fprintf
    - ecc_dup
    linkageType: ''
    returnType: void
    signature: void ecc_curve_check (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set
      Src: /src/nettle/eccdata.c:1075,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1076,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1077,1
    - Dst: mpz_setbit
      Src: /src/nettle/eccdata.c:1079,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/eccdata.c:1080,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1087,1
    - Dst: mpz_and
      Src: /src/nettle/eccdata.c:1089,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1090,1
    - Dst: mpz_out_str
      Src: /src/nettle/eccdata.c:1091,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1092,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/eccdata.c:1093,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1096,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1097,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - x
    - size
    - bits_per_limb
    argTypes:
    - mpz_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1099
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1099
    functionName: output_digits
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_init_set
    - mpz_setbit
    - mpz_sub_ui
    - mpz_out_str
    - mpz_init
    - mpz_tdiv_q_2exp
    - mpz_clear
    - printf
    - mpz_and
    linkageType: ''
    returnType: void
    signature: "void output_digits (const mpz_t x,\n\t       unsigned size, unsigned
      bits_per_limb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/eccdata.c:1105,1
    - Dst: output_digits
      Src: /src/nettle/eccdata.c:1106,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - name
    - x
    - size
    - bits_per_limb
    argTypes:
    - char*
    - mpz_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: output_bignum
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - printf
    - output_digits
    linkageType: ''
    returnType: void
    signature: "void output_bignum (const char *name, const mpz_t x,\n\t       unsigned
      size, unsigned bits_per_limb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1115,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/eccdata.c:1116,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1117,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1118,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - name
    - x
    - p
    - size
    - bits_per_limb
    argTypes:
    - char*
    - mpz_t
    - mpz_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1120
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1120
    functionName: output_bignum_redc
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_mul_2exp
    - mpz_mod
    - mpz_clear
    - mpz_init
    - output_bignum
    linkageType: ''
    returnType: void
    signature: "void output_bignum_redc (const char *name, const mpz_t x, const mpz_t
      p,\n\t\t    unsigned size, unsigned bits_per_limb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1129,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1130,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1131,1
    - Dst: mpz_set
      Src: /src/nettle/eccdata.c:1133,1
    - Dst: mpz_set
      Src: /src/nettle/eccdata.c:1134,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/eccdata.c:1138,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1139,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/eccdata.c:1140,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1141,1
    - Dst: output_digits
      Src: /src/nettle/eccdata.c:1144,1
    - Dst: output_digits
      Src: /src/nettle/eccdata.c:1145,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1147,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1148,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - ecc
    - p
    - use_redc
    - size
    - bits_per_limb
    argTypes:
    - struct ecc_curve*
    - struct ecc_point*
    - int
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1150
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1150
    functionName: output_point
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - mpz_mul_2exp
    - mpz_set
    - mpz_mod
    - output_digits
    - mpz_init
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: "void output_point (const struct ecc_curve *ecc,\n\t      const struct
      ecc_point *p, int use_redc,\n\t      unsigned size, unsigned bits_per_limb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/nettle/eccdata.c:1158,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1162,1
    - Dst: abort
      Src: /src/nettle/eccdata.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - size
    - s
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1165
    functionName: string_toupper
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - abort
    - toupper
    - fprintf
    linkageType: ''
    returnType: void
    signature: void string_toupper (char *buf, size_t size, const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/nettle/eccdata.c:1176,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1177,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1179,1
    - Dst: mpz_setbit
      Src: /src/nettle/eccdata.c:1181,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1182,1
    - Dst: snprintf
      Src: /src/nettle/eccdata.c:1184,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1185,1
    - Dst: string_toupper
      Src: /src/nettle/eccdata.c:1187,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1188,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/eccdata.c:1189,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/eccdata.c:1192,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:1195,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:1198,1
    - Dst: mpz_setbit
      Src: /src/nettle/eccdata.c:1199,1
    - Dst: mpz_submul_ui
      Src: /src/nettle/eccdata.c:1200,1
    - Dst: snprintf
      Src: /src/nettle/eccdata.c:1202,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1203,1
    - Dst: mpz_set
      Src: /src/nettle/eccdata.c:1214,1
    - Dst: mpz_clrbit
      Src: /src/nettle/eccdata.c:1215,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/eccdata.c:1216,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:1219,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/eccdata.c:1222,1
    - Dst: snprintf
      Src: /src/nettle/eccdata.c:1223,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1225,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:1229,1
    - Dst: mpz_setbit
      Src: /src/nettle/eccdata.c:1230,1
    - Dst: mpz_sub
      Src: /src/nettle/eccdata.c:1231,1
    - Dst: snprintf
      Src: /src/nettle/eccdata.c:1233,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1234,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/eccdata.c:1251,1
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:1252,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1254,1
    - Dst: exit
      Src: /src/nettle/eccdata.c:1256,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1262,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1263,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 4
    argNames:
    - name
    - x
    - size
    - bits_per_limb
    argTypes:
    - char*
    - mpz_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 1267
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1267
    functionName: output_modulo
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - snprintf
    - printf
    - mpz_sizeinbase
    - mpz_mul_2exp
    - string_toupper
    - mpz_sub
    - assert
    - exit
    - mpz_cmp
    - mpz_clrbit
    - mpz_submul_ui
    - mpz_set
    - mpz_mod
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - mpz_setbit
    - output_bignum
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void output_modulo (const char *name, const mpz_t x,\n\t       unsigned
      size, unsigned bits_per_limb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1278,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1279,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1281,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1283,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1284,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1285,1
    - Dst: output_modulo
      Src: /src/nettle/eccdata.c:1287,1
    - Dst: output_modulo
      Src: /src/nettle/eccdata.c:1288,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1290,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:1292,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/eccdata.c:1293,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1294,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:1296,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/eccdata.c:1297,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1298,1
    - Dst: mpz_scan0
      Src: /src/nettle/eccdata.c:1301,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:1304,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/eccdata.c:1305,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1306,1
    - Dst: mpz_scan1
      Src: /src/nettle/eccdata.c:1312,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1315,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1320,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1322,1
    - Dst: mpz_fdiv_ui
      Src: /src/nettle/eccdata.c:1325,1
    - Dst: mpz_init
      Src: /src/nettle/eccdata.c:1337,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/eccdata.c:1339,1
    - Dst: mpz_scan1
      Src: /src/nettle/eccdata.c:1340,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:1341,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/eccdata.c:1343,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:1349,1
    - Dst: mpz_powm
      Src: /src/nettle/eccdata.c:1350,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:1351,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1352,1
    - Dst: mpz_mul
      Src: /src/nettle/eccdata.c:1356,1
    - Dst: mpz_mod
      Src: /src/nettle/eccdata.c:1357,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/eccdata.c:1359,1
    - Dst: mpz_add_ui
      Src: /src/nettle/eccdata.c:1362,1
    - Dst: assert
      Src: /src/nettle/eccdata.c:1363,1
    - Dst: mpz_cmp
      Src: /src/nettle/eccdata.c:1363,1
    - Dst: mpz_fdiv_q_2exp
      Src: /src/nettle/eccdata.c:1365,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1367,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1368,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1370,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1371,1
    - Dst: mpz_sgn
      Src: /src/nettle/eccdata.c:1372,1
    - Dst: output_bignum_redc
      Src: /src/nettle/eccdata.c:1373,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1375,1
    - Dst: output_point
      Src: /src/nettle/eccdata.c:1378,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1380,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1382,1
    - Dst: mpz_set_ui
      Src: /src/nettle/eccdata.c:1384,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1385,1
    - Dst: mpz_sgn
      Src: /src/nettle/eccdata.c:1386,1
    - Dst: output_bignum
      Src: /src/nettle/eccdata.c:1387,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1389,1
    - Dst: output_point
      Src: /src/nettle/eccdata.c:1392,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1394,1
    - Dst: printf
      Src: /src/nettle/eccdata.c:1395,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1397,1
    - Dst: mpz_clear
      Src: /src/nettle/eccdata.c:1398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 2
    argNames:
    - ecc
    - bits_per_limb
    argTypes:
    - struct ecc_curve*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1399
      start: 1269
    functionDepth: 3
    functionLinenumber: 1269
    functionLinenumberEnd: 1399
    functionName: output_curve
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 0
    functionsReached:
    - output_bignum_redc
    - mpz_powm
    - printf
    - mpz_cmp_ui
    - mpz_sgn
    - mpz_mul
    - output_modulo
    - mpz_fdiv_ui
    - assert
    - mpz_scan0
    - mpz_cmp
    - mpz_fdiv_q_2exp
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_mod
    - mpz_scan1
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - output_bignum
    - output_point
    linkageType: ''
    returnType: void
    signature: void output_curve (const struct ecc_curve *ecc, unsigned bits_per_limb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1408,1
    - Dst: ecc_curve_init
      Src: /src/nettle/eccdata.c:1412,1
    - Dst: ecc_pippenger_precompute
      Src: /src/nettle/eccdata.c:1414,1
    - Dst: atoi
      Src: /src/nettle/eccdata.c:1414,1
    - Dst: atoi
      Src: /src/nettle/eccdata.c:1414,1
    - Dst: fprintf
      Src: /src/nettle/eccdata.c:1416,1
    - Dst: ecc_curve_check
      Src: /src/nettle/eccdata.c:1419,1
    - Dst: output_curve
      Src: /src/nettle/eccdata.c:1422,1
    - Dst: atoi
      Src: /src/nettle/eccdata.c:1422,1
    - Dst: ecc_curve_clear
      Src: /src/nettle/eccdata.c:1424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1401
    functionDepth: 5
    functionLinenumber: 1401
    functionLinenumberEnd: 1426
    functionName: main
    functionSourceFile: /src/nettle/eccdata.c
    functionUses: 5
    functionsReached:
    - ecc_curve_init
    - atoi
    - ecc_pippenger_precompute
    - output_curve
    - ecc_curve_clear
    - ecc_curve_check
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ecc-point-mul-g.c:50,1
    - Dst: assert
      Src: /src/nettle/ecc-point-mul-g.c:52,1
    - Dst: assert
      Src: /src/nettle/ecc-point-mul-g.c:53,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/ecc-point-mul-g.c:55,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/ecc-point-mul-g.c:56,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ecc-point-mul-g.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - struct ecc_point*
    - struct ecc_scalar*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: ecc_point_mul_g
    functionSourceFile: /src/nettle/ecc-point-mul-g.c
    functionUses: 1
    functionsReached:
    - assert
    - gmp_free_limbs
    - gmp_alloc_limbs
    - struct ecc_curve*::h_to_a
    - struct ecc_curve*::mul_g
    linkageType: ''
    returnType: void
    signature: void ecc_point_mul_g (struct ecc_point *r, const struct ecc_scalar
      *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_shake
      Src: /src/nettle/shake256.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - dst
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: sha3_256_shake
    functionSourceFile: /src/nettle/shake256.c
    functionUses: 1
    functionsReached:
    - _nettle_sha3_shake
    linkageType: ''
    returnType: void
    signature: void sha3_256_shake (struct sha3_ctx *ctx, size_t length, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_shake_output
      Src: /src/nettle/shake256.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: sha3_256_shake_output
    functionSourceFile: /src/nettle/shake256.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_shake_output
    linkageType: ''
    returnType: void
    signature: void sha3_256_shake_output (struct sha3_ctx *ctx, size_t length, uint8_t
      *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-jj.c:78,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-jj.c:79,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-jj.c:81,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-jj.c:82,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-jj.c:83,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-jj.c:84,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-jj.c:86,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-dup-jj.c:88,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-jj.c:89,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-jj.c:91,1
    - Dst: ecc_mod_mul_1
      Src: /src/nettle/ecc-dup-jj.c:92,1
    - Dst: ecc_mod_mul_1
      Src: /src/nettle/ecc-dup-jj.c:94,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-jj.c:97,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-dup-jj.c:98,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-dup-jj.c:100,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-dup-jj.c:101,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-dup-jj.c:102,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-dup-jj.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - ecc
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 104
    functionName: ecc_dup_jj
    functionSourceFile: /src/nettle/ecc-dup-jj.c
    functionUses: 4
    functionsReached:
    - ecc_mod_sqr
    - ecc_mod_submul_1
    - ecc_mod_mul_1
    - ecc_mod_add
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_dup_jj (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_camellia_invert_key
      Src: /src/nettle/camellia256-set-decrypt-key.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct camellia256_ctx*
    - struct camellia256_ctx*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: camellia256_invert_key
    functionSourceFile: /src/nettle/camellia256-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_camellia_invert_key
    linkageType: ''
    returnType: void
    signature: "void camellia256_invert_key(struct camellia256_ctx *dst,\n\t\t       const
      struct camellia256_ctx *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: camellia256_set_encrypt_key
      Src: /src/nettle/camellia256-set-decrypt-key.c:51,1
    - Dst: camellia256_invert_key
      Src: /src/nettle/camellia256-set-decrypt-key.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: camellia256_set_decrypt_key
    functionSourceFile: /src/nettle/camellia256-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - camellia256_invert_key
    - camellia256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void camellia256_set_decrypt_key(struct camellia256_ctx *ctx,\n\t\t\t
      \   const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: camellia192_set_encrypt_key
      Src: /src/nettle/camellia256-set-decrypt-key.c:59,1
    - Dst: camellia256_invert_key
      Src: /src/nettle/camellia256-set-decrypt-key.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: camellia192_set_decrypt_key
    functionSourceFile: /src/nettle/camellia256-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - camellia192_set_encrypt_key
    - camellia256_invert_key
    linkageType: ''
    returnType: void
    signature: "void camellia192_set_decrypt_key(struct camellia256_ctx *ctx,\n\t\t\t
      \   const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sub
      Src: /src/nettle/curve25519-eh-to-x.c:66,1
    - Dst: struct ecc_curve*::p::invert
      Src: /src/nettle/curve25519-eh-to-x.c:68,1
    - Dst: ecc_mod_add
      Src: /src/nettle/curve25519-eh-to-x.c:70,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/curve25519-eh-to-x.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - xp
    - p
    - scratch
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: curve25519_eh_to_x
    functionSourceFile: /src/nettle/curve25519-eh-to-x.c
    functionUses: 0
    functionsReached:
    - ecc_mod_sub
    - ecc_mod_add
    - ecc_mod_mul_canonical
    - struct ecc_curve*::p::invert
    linkageType: ''
    returnType: void
    signature: "void curve25519_eh_to_x (mp_limb_t *xp, const mp_limb_t *p,\n\t\t
      \   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/hmac-sha1-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sha1_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sha1-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sha1_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha512-sign-tr.c:56,1
    - Dst: pkcs1_rsa_sha512_encode
      Src: /src/nettle/rsa-sha512-sign-tr.c:57,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha512-sign-tr.c:58,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha512-sign-tr.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - struct sha512_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: rsa_sha512_sign_tr
    functionSourceFile: /src/nettle/rsa-sha512-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - pkcs1_rsa_sha512_encode
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_sign_tr(const struct rsa_public_key *pub,\n\t\t   const
      struct rsa_private_key *key,\n\t\t   void *random_ctx, nettle_random_func *random,\n\t\t
      \  struct sha512_ctx *hash,\n\t\t   mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha512-sign-tr.c:75,1
    - Dst: pkcs1_rsa_sha512_encode_digest
      Src: /src/nettle/rsa-sha512-sign-tr.c:77,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha512-sign-tr.c:78,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha512-sign-tr.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: rsa_sha512_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-sha512-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_sha512_encode_digest
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\t
      \ const struct rsa_private_key *key,\n\t\t\t  void *random_ctx, nettle_random_func
      *random,\n\t\t\t  const uint8_t *digest,\n\t\t\t  mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_umac_set_key
      Src: /src/nettle/umac96.c:47,1
    - Dst: memset
      Src: /src/nettle/umac96.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct umac96_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: umac96_set_key
    functionSourceFile: /src/nettle/umac96.c
    functionUses: 1
    functionsReached:
    - _nettle_umac_set_key
    - memset
    linkageType: ''
    returnType: void
    signature: void umac96_set_key (struct umac96_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac96.c:62,1
    - Dst: assert
      Src: /src/nettle/umac96.c:63,1
    - Dst: memcpy
      Src: /src/nettle/umac96.c:65,1
    - Dst: memset
      Src: /src/nettle/umac96.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - nonce_length
    - nonce
    argTypes:
    - struct umac96_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: umac96_set_nonce
    functionSourceFile: /src/nettle/umac96.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void umac96_set_nonce (struct umac96_ctx *ctx,\n\t\t  size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/umac96.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct umac96_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: umac96_update
    functionSourceFile: /src/nettle/umac96.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void umac96_update (struct umac96_ctx *ctx,\n\t       size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/umac96.c:100,1
    - Dst: _nettle_umac_nh_n
      Src: /src/nettle/umac96.c:102,1
    - Dst: _nettle_umac_l2
      Src: /src/nettle/umac96.c:106,1
    - Dst: assert
      Src: /src/nettle/umac96.c:108,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac96.c:110,1
    - Dst: INCREMENT
      Src: /src/nettle/umac96.c:113,1
    - Dst: _nettle_umac_l2_final
      Src: /src/nettle/umac96.c:115,1
    - Dst: _nettle_umac_l3
      Src: /src/nettle/umac96.c:117,1
    - Dst: memcpy
      Src: /src/nettle/umac96.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct umac96_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 124
    functionName: umac96_digest
    functionSourceFile: /src/nettle/umac96.c
    functionUses: 0
    functionsReached:
    - aes128_encrypt
    - assert
    - _nettle_umac_l2
    - _nettle_umac_nh_n
    - _nettle_umac_l2_final
    - INCREMENT
    - memset
    - memcpy
    - _nettle_umac_l3
    linkageType: ''
    returnType: void
    signature: "void umac96_digest (struct umac96_ctx *ctx,\n\t       uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_sign_itch
      Src: /src/nettle/ed448-shake256-sign.c:51,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed448-shake256-sign.c:52,1
    - Dst: sha3_init
      Src: /src/nettle/ed448-shake256-sign.c:58,1
    - Dst: _eddsa_expand_key
      Src: /src/nettle/ed448-shake256-sign.c:59,1
    - Dst: _eddsa_sign
      Src: /src/nettle/ed448-shake256-sign.c:61,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed448-shake256-sign.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pub
    - priv
    - length
    - msg
    - signature
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: ed448_shake256_sign
    functionSourceFile: /src/nettle/ed448-shake256-sign.c
    functionUses: 1
    functionsReached:
    - _eddsa_sign
    - gmp_free_limbs
    - _eddsa_expand_key
    - gmp_alloc_limbs
    - _eddsa_sign_itch
    - sha3_init
    linkageType: ''
    returnType: void
    signature: "void ed448_shake256_sign (const uint8_t *pub,\n\t\t     const uint8_t
      *priv,\n\t\t     size_t length, const uint8_t *msg,\n\t\t     uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes192-encrypt.c:56,1
    - Dst: _nettle_aes_encrypt
      Src: /src/nettle/aes192-encrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes192_encrypt
    functionSourceFile: /src/nettle/aes192-encrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes192_encrypt(const struct aes192_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-md5.c:79,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-md5.c:81,1
    - Dst: md5_digest
      Src: /src/nettle/pkcs1-rsa-md5.c:87,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-md5.c:88,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-md5.c:89,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-md5.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - hash
    argTypes:
    - mpz_t
    - size_t
    - struct md5_ctx*
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: pkcs1_rsa_md5_encode
    functionSourceFile: /src/nettle/pkcs1-rsa-md5.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - md5_digest
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_md5_encode(mpz_t m, size_t key_size, struct md5_ctx *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-md5.c:105,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-md5.c:107,1
    - Dst: memcpy
      Src: /src/nettle/pkcs1-rsa-md5.c:113,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-md5.c:114,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-md5.c:115,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-md5.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - digest
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: pkcs1_rsa_md5_encode_digest
    functionSourceFile: /src/nettle/pkcs1-rsa-md5.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - memcpy
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_md5_encode_digest(mpz_t m, size_t key_size, const uint8_t
      *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/sha256-compress-n.c:151,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:157,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:160,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:160,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:161,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:161,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:162,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:163,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:164,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:165,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:166,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:166,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:167,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:167,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:172,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:172,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:172,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:173,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:173,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:173,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:174,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:174,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:174,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:175,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:175,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:175,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:176,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:176,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:176,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:177,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:177,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:177,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:178,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:178,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:178,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:179,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:179,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:179,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:180,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:180,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:180,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:181,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:181,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:181,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:182,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:182,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:182,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:183,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:183,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:183,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:184,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:184,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:184,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:185,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:185,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:185,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:186,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:186,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:186,1
    - Dst: ROUND
      Src: /src/nettle/sha256-compress-n.c:187,1
    - Dst: EXPAND
      Src: /src/nettle/sha256-compress-n.c:187,1
    - Dst: DEBUG
      Src: /src/nettle/sha256-compress-n.c:187,1
    - Dst: fprintf
      Src: /src/nettle/sha256-compress-n.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 4
    argNames:
    - state
    - table
    - blocks
    - input
    argTypes:
    - uint32_t*
    - uint32_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 206
    functionName: _nettle_sha256_compress_n
    functionSourceFile: /src/nettle/sha256-compress-n.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - EXPAND
    - READ_UINT32
    - ROUND
    - fprintf
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n_nettle_sha256_compress_n(uint32_t *state, const uint32_t
      *table,\n\t\t\t  size_t blocks, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/curve448-mul-g.c:57,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/curve448-mul-g.c:62,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/curve448-mul-g.c:64,1
    - Dst: ecc_mul_g_eh
      Src: /src/nettle/curve448-mul-g.c:66,1
    - Dst: curve448_eh_to_x
      Src: /src/nettle/curve448-mul-g.c:67,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/curve448-mul-g.c:69,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/curve448-mul-g.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: curve448_mul_g
    functionSourceFile: /src/nettle/curve448-mul-g.c
    functionUses: 1
    functionsReached:
    - curve448_eh_to_x
    - gmp_free_limbs
    - gmp_alloc_limbs
    - ecc_mul_g_eh
    - mpn_get_base256_le
    - mpn_set_base256_le
    - memcpy
    linkageType: ''
    returnType: void
    signature: void curve448_mul_g (uint8_t *r, const uint8_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-g-eh.c:62,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/ecc-mul-g-eh.c:67,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-g-eh.c:89,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/ecc-mul-g-eh.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ecc
    - r
    - np
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 99
    functionName: ecc_mul_g_eh
    functionSourceFile: /src/nettle/ecc-mul-g-eh.c
    functionUses: 1
    functionsReached:
    - mpn_zero
    - struct ecc_curve*::dup
    - struct ecc_curve*::add_hh
    - mpn_sec_tabselect
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_g_eh (const struct ecc_curve *ecc, mp_limb_t *r,\n\t
      \     const mp_limb_t *np, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-ecdsa-sign.c:51,1
    - Dst: ECC_MUL_G_ITCH
      Src: /src/nettle/ecc-ecdsa-sign.c:52,1
    - Dst: ECC_ECDSA_SIGN_ITCH
      Src: /src/nettle/ecc-ecdsa-sign.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: ecc_ecdsa_sign_itch
    functionSourceFile: /src/nettle/ecc-ecdsa-sign.c
    functionUses: 0
    functionsReached:
    - ECC_MUL_G_ITCH
    - assert
    - ECC_ECDSA_SIGN_ITCH
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_ecdsa_sign_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mul_g
      Src: /src/nettle/ecc-ecdsa-sign.c:83,1
    - Dst: ecc_j_to_a
      Src: /src/nettle/ecc-ecdsa-sign.c:85,1
    - Dst: struct ecc_curve*::q::invert
      Src: /src/nettle/ecc-ecdsa-sign.c:88,1
    - Dst: _nettle_dsa_hash
      Src: /src/nettle/ecc-ecdsa-sign.c:91,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-ecdsa-sign.c:93,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-ecdsa-sign.c:94,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-ecdsa-sign.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - ecc
    - zp
    - kp
    - length
    - digest
    - rp
    - sp
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - size_t
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 101
    functionName: ecc_ecdsa_sign
    functionSourceFile: /src/nettle/ecc-ecdsa-sign.c
    functionUses: 1
    functionsReached:
    - ecc_mul_g
    - _nettle_dsa_hash
    - ecc_j_to_a
    - struct ecc_curve*::q::invert
    - ecc_mod_add
    - ecc_mod_mul_canonical
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_ecdsa_sign (const struct ecc_curve *ecc,\n\t\tconst mp_limb_t
      *zp,\n\t\t/* Random nonce, must be invertible mod ecc group\n\t\t   order. */\n\t\tconst
      mp_limb_t *kp,\n\t\tsize_t length, const uint8_t *digest,\n\t\tmp_limb_t *rp,
      mp_limb_t *sp,\n\t\tmp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-g.c:64,1
    - Dst: ecc_dup_jj
      Src: /src/nettle/ecc-mul-g.c:68,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-g.c:91,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-g.c:95,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-g.c:96,1
    - Dst: ecc_add_jja
      Src: /src/nettle/ecc-mul-g.c:98,1
    - Dst: IS_ZERO_SMALL
      Src: /src/nettle/ecc-mul-g.c:99,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-g.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - ecc
    - r
    - np
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 109
    functionName: ecc_mul_g
    functionSourceFile: /src/nettle/ecc-mul-g.c
    functionUses: 2
    functionsReached:
    - IS_ZERO_SMALL
    - ecc_dup_jj
    - ecc_add_jja
    - mpn_sec_tabselect
    - mpn_zero
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_g (const struct ecc_curve *ecc, mp_limb_t *r,\n\t   const
      mp_limb_t *np, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_bcrypt_hash
      Src: /src/nettle/blowfish-bcrypt.c:84,1
    - Dst: strcmp
      Src: /src/nettle/blowfish-bcrypt.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - lenkey
    - key
    - lenhashed
    - hashed
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: blowfish_bcrypt_verify
    functionSourceFile: /src/nettle/blowfish-bcrypt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - blowfish_bcrypt_hash
    linkageType: ''
    returnType: int
    signature: "int blowfish_bcrypt_verify(size_t lenkey, const uint8_t *key,\n                       size_t
      lenhashed, const uint8_t *hashed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_init
      Src: /src/nettle/blowfish-bcrypt.c:93,1
    - Dst: base64_encode_update
      Src: /src/nettle/blowfish-bcrypt.c:95,1
    - Dst: base64_encode_final
      Src: /src/nettle/blowfish-bcrypt.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - len
    - src
    argTypes:
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: encode_radix64
    functionSourceFile: /src/nettle/blowfish-bcrypt.c
    functionUses: 0
    functionsReached:
    - base64_encode_update
    - base64_encode_final
    - base64_encode_init
    linkageType: ''
    returnType: char
    signature: char *encode_radix64(char *dst, size_t len, const uint8_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - lenkey
    - key
    - expanded
    - initial
    - bug
    - safety
    argTypes:
    - size_t
    - uint8_t*
    - bf_key
    - bf_key
    - unsigned
    - uint32_t
    constantsTouched: []
    func_position:
      end: 252
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 252
    functionName: set_xkey
    functionSourceFile: /src/nettle/blowfish-bcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_xkey(size_t lenkey, const uint8_t *key,\n                     bf_key
      expanded, bf_key initial,\n\t\t     unsigned bug, uint32_t safety)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_init
      Src: /src/nettle/blowfish-bcrypt.c:316,1
    - Dst: base64_decode_update
      Src: /src/nettle/blowfish-bcrypt.c:319,1
    - Dst: memcpy
      Src: /src/nettle/blowfish-bcrypt.c:328,1
    - Dst: memcpy
      Src: /src/nettle/blowfish-bcrypt.c:331,1
    - Dst: bswap32_n_if_le
      Src: /src/nettle/blowfish-bcrypt.c:332,1
    - Dst: set_xkey
      Src: /src/nettle/blowfish-bcrypt.c:338,1
    - Dst: memcpy
      Src: /src/nettle/blowfish-bcrypt.c:339,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:345,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:355,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:361,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:382,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:390,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish-bcrypt.c:420,1
    - Dst: encode_radix64
      Src: /src/nettle/blowfish-bcrypt.c:435,1
    - Dst: bswap32_n_if_le
      Src: /src/nettle/blowfish-bcrypt.c:437,1
    - Dst: encode_radix64
      Src: /src/nettle/blowfish-bcrypt.c:440,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 136
    argCount: 8
    argNames:
    - dst
    - lenkey
    - key
    - lenscheme
    - scheme
    - minlog2rounds
    - log2rounds
    - salt
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 442
    functionName: ibcrypt
    functionSourceFile: /src/nettle/blowfish-bcrypt.c
    functionUses: 0
    functionsReached:
    - base64_decode_init
    - bswap32_n_if_le
    - set_xkey
    - _nettle_blowfish_encround
    - base64_decode_update
    - encode_radix64
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ibcrypt(uint8_t *dst,\n                   size_t lenkey, const
      uint8_t *key,\n\t\t   size_t lenscheme, const uint8_t *scheme,\n\t\t   int minlog2rounds,\n\t\t
      \  int log2rounds, const uint8_t *salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ibcrypt
      Src: /src/nettle/blowfish-bcrypt.c:482,1
    - Dst: memcpy
      Src: /src/nettle/blowfish-bcrypt.c:491,1
    - Dst: ibcrypt
      Src: /src/nettle/blowfish-bcrypt.c:497,1
    - Dst: memcmp
      Src: /src/nettle/blowfish-bcrypt.c:501,1
    - Dst: memcmp
      Src: /src/nettle/blowfish-bcrypt.c:502,1
    - Dst: set_xkey
      Src: /src/nettle/blowfish-bcrypt.c:507,1
    - Dst: set_xkey
      Src: /src/nettle/blowfish-bcrypt.c:508,1
    - Dst: memcmp
      Src: /src/nettle/blowfish-bcrypt.c:511,1
    - Dst: memcmp
      Src: /src/nettle/blowfish-bcrypt.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - dst
    - lenkey
    - key
    - lenscheme
    - scheme
    - log2rounds
    - salt
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 516
    functionName: blowfish_bcrypt_hash
    functionSourceFile: /src/nettle/blowfish-bcrypt.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ibcrypt
    - set_xkey
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int blowfish_bcrypt_hash(uint8_t *dst,\n                         size_t
      lenkey, const uint8_t *key,\n\t\t\t size_t lenscheme, const uint8_t *scheme,\n\t\t\t
      int log2rounds, const uint8_t *salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL_ALIGN
      Src: /src/nettle/pss-mgf1.c:51,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/pss-mgf1.c:55,1
    - Dst: TMP_ALLOC_ALIGN
      Src: /src/nettle/pss-mgf1.c:56,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/pss-mgf1.c:61,1
    - Dst: memcpy
      Src: /src/nettle/pss-mgf1.c:63,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss-mgf1.c:64,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/pss-mgf1.c:68,1
    - Dst: memcpy
      Src: /src/nettle/pss-mgf1.c:69,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/pss-mgf1.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - seed
    - hash
    - length
    - mask
    argTypes:
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: pss_mgf1
    functionSourceFile: /src/nettle/pss-mgf1.c
    functionUses: 0
    functionsReached:
    - TMP_ALLOC_ALIGN
    - TMP_DECL_ALIGN
    - struct nettle_hash*::digest
    - TMP_ALLOC
    - struct nettle_hash*::update
    - memcpy
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void pss_mgf1(const void *seed, const struct nettle_hash *hash,\n\t
      size_t length, uint8_t *mask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_set_key
      Src: /src/nettle/aes128-set-encrypt-key.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: nettle_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/aes128-set-encrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_set_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes128_set_encrypt_key(struct aes128_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:59,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct chacha_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: chacha_set_nonce
    functionSourceFile: /src/nettle/chacha-set-nonce.c
    functionUses: 2
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void chacha_set_nonce(struct chacha_ctx *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:67,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:68,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct chacha_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: chacha_set_nonce96
    functionSourceFile: /src/nettle/chacha-set-nonce.c
    functionUses: 2
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void chacha_set_nonce96(struct chacha_ctx *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:75,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - counter
    argTypes:
    - struct chacha_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: chacha_set_counter
    functionSourceFile: /src/nettle/chacha-set-nonce.c
    functionUses: 1
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void chacha_set_counter(struct chacha_ctx *ctx, const uint8_t *counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/chacha-set-nonce.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - counter
    argTypes:
    - struct chacha_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: chacha_set_counter32
    functionSourceFile: /src/nettle/chacha-set-nonce.c
    functionUses: 1
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void chacha_set_counter32(struct chacha_ctx *ctx, const uint8_t *counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:69,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - struct nettle_buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: format_prefix
    functionSourceFile: /src/nettle/sexp-format.c
    functionUses: 0
    functionsReached:
    - NETTLE_BUFFER_PUTC
    linkageType: ''
    returnType: unsigned
    signature: "unsigned format_prefix(struct nettle_buffer *buffer,\n\t      size_t
      length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_write
      Src: /src/nettle/sexp-format.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - length
    - s
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: format_string
    functionSourceFile: /src/nettle/sexp-format.c
    functionUses: 0
    functionsReached:
    - nettle_buffer_write
    linkageType: ''
    returnType: size_t
    signature: "size_t format_string(struct nettle_buffer *buffer,\n\t      size_t
      length, const uint8_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/nettle/sexp-format.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: strlen_u8
    functionSourceFile: /src/nettle/sexp-format.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t strlen_u8 (const uint8_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/sexp-format.c:126,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:131,1
    - Dst: assert
      Src: /src/nettle/sexp-format.c:139,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:140,1
    - Dst: abort
      Src: /src/nettle/sexp-format.c:159,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:164,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:177,1
    - Dst: strlen_u8
      Src: /src/nettle/sexp-format.c:178,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:182,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:183,1
    - Dst: format_string
      Src: /src/nettle/sexp-format.c:186,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:201,1
    - Dst: strlen_u8
      Src: /src/nettle/sexp-format.c:205,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:209,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:210,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:215,1
    - Dst: format_string
      Src: /src/nettle/sexp-format.c:219,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:226,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:240,1
    - Dst: strlen_u8
      Src: /src/nettle/sexp-format.c:241,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:245,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:246,1
    - Dst: nettle_buffer_write
      Src: /src/nettle/sexp-format.c:249,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:271,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:272,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:282,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:286,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:290,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:294,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-format.c:298,1
    - Dst: abort
      Src: /src/nettle/sexp-format.c:302,1
    - Dst: va_arg
      Src: /src/nettle/sexp-format.c:308,1
    - Dst: nettle_mpz_sizeinbase_256_s
      Src: /src/nettle/sexp-format.c:312,1
    - Dst: format_prefix
      Src: /src/nettle/sexp-format.c:313,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/sexp-format.c:325,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 147
    argCount: 3
    argNames:
    - buffer
    - format
    - args
    argTypes:
    - struct nettle_buffer*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 335
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 335
    functionName: sexp_vformat
    functionSourceFile: /src/nettle/sexp-format.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - nettle_mpz_sizeinbase_256_s
    - NETTLE_BUFFER_PUTC
    - nettle_mpz_get_str_256
    - strlen_u8
    - format_string
    - format_prefix
    - nettle_buffer_write
    - va_arg
    linkageType: ''
    returnType: size_t
    signature: size_t sexp_vformat(struct nettle_buffer *buffer, const char *format,
      va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/sexp-format.c:343,1
    - Dst: sexp_vformat
      Src: /src/nettle/sexp-format.c:344,1
    - Dst: va_end
      Src: /src/nettle/sexp-format.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - format
    argTypes:
    - struct nettle_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: sexp_format
    functionSourceFile: /src/nettle/sexp-format.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - sexp_vformat
    linkageType: ''
    returnType: size_t
    signature: size_t sexp_format(struct nettle_buffer *buffer, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: _eddsa_decompress_itch
    functionSourceFile: /src/nettle/eddsa-decompress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _eddsa_decompress_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/eddsa-decompress.c:76,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/eddsa-decompress.c:77,1
    - Dst: mpn_copyi
      Src: /src/nettle/eddsa-decompress.c:82,1
    - Dst: is_zero_limb
      Src: /src/nettle/eddsa-decompress.c:86,1
    - Dst: mpn_sub_n
      Src: /src/nettle/eddsa-decompress.c:91,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/eddsa-decompress.c:93,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/eddsa-decompress.c:94,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/eddsa-decompress.c:95,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/eddsa-decompress.c:98,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/eddsa-decompress.c:100,1
    - Dst: struct ecc_curve*::p::sqrt_ratio
      Src: /src/nettle/eddsa-decompress.c:101,1
    - Dst: mpn_sub_n
      Src: /src/nettle/eddsa-decompress.c:103,1
    - Dst: cnd_copy
      Src: /src/nettle/eddsa-decompress.c:104,1
    - Dst: mpn_sub_n
      Src: /src/nettle/eddsa-decompress.c:106,1
    - Dst: cnd_copy
      Src: /src/nettle/eddsa-decompress.c:107,1
    - Dst: mpn_sub_n
      Src: /src/nettle/eddsa-decompress.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - ecc
    - p
    - cp
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - uint8_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 111
    functionName: _eddsa_decompress
    functionSourceFile: /src/nettle/eddsa-decompress.c
    functionUses: 2
    functionsReached:
    - assert
    - struct ecc_curve*::p::sqrt_ratio
    - cnd_copy
    - mpn_copyi
    - ecc_mod_sqr
    - mpn_sub_n
    - mpn_set_base256_le
    - ecc_mod_sub
    - ecc_mod_mul
    - is_zero_limb
    linkageType: ''
    returnType: int
    signature: "int _eddsa_decompress (const struct ecc_curve *ecc, mp_limb_t *p,\n\t\t
      \  const uint8_t *cp,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/poly1305-update.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - blocks
    - m
    argTypes:
    - struct poly1305_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: _nettle_poly1305_blocks_c
    functionSourceFile: /src/nettle/poly1305-update.c
    functionUses: 0
    functionsReached:
    - _nettle_poly1305_block
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n_nettle_poly1305_blocks_c(struct poly1305_ctx *ctx,\n\t\t\t
      \  size_t blocks, const uint8_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_FILL_OR_RETURN_INDEX
      Src: /src/nettle/poly1305-update.c:66,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/poly1305-update.c:68,1
    - Dst: _nettle_poly1305_blocks
      Src: /src/nettle/poly1305-update.c:71,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/poly1305-update.c:76,1
    - Dst: memcpy
      Src: /src/nettle/poly1305-update.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - block
    - index
    - length
    - m
    argTypes:
    - struct poly1305_ctx*
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: _nettle_poly1305_update
    functionSourceFile: /src/nettle/poly1305-update.c
    functionUses: 2
    functionsReached:
    - MD_FILL_OR_RETURN_INDEX
    - _nettle_poly1305_blocks
    - memcpy
    - _nettle_poly1305_block
    linkageType: ''
    returnType: unsigned
    signature: "unsigned _nettle_poly1305_update (struct poly1305_ctx *ctx,\n\t\t\t
      uint8_t *block, unsigned index,\n\t\t\t size_t length, const uint8_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_curve*::p::invert
      Src: /src/nettle/curve448-eh-to-x.c:62,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/curve448-eh-to-x.c:63,1
    - Dst: ecc_mod_sqr_canonical
      Src: /src/nettle/curve448-eh-to-x.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - p
    - scratch
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: curve448_eh_to_x
    functionSourceFile: /src/nettle/curve448-eh-to-x.c
    functionUses: 1
    functionsReached:
    - ecc_mod_sqr_canonical
    - ecc_mod_mul
    - struct ecc_curve*::p::invert
    linkageType: ''
    returnType: void
    signature: void curve448_eh_to_x (mp_limb_t *xp, const mp_limb_t *p, mp_limb_t
      *scratch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-aes256.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes256_set_key
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_aes256_set_key(struct gcm_aes256_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-aes256.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: gcm_aes256_set_iv
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_aes256_set_iv (struct gcm_aes256_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-aes256.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: gcm_aes256_update
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_aes256_update (struct gcm_aes256_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-aes256.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: gcm_aes256_encrypt
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes256_encrypt(struct gcm_aes256_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-aes256.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: gcm_aes256_decrypt
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes256_decrypt(struct gcm_aes256_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-aes256.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gcm_aes256_digest
    functionSourceFile: /src/nettle/gcm-aes256.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_aes256_digest(struct gcm_aes256_ctx *ctx,\n\t\t  uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: _eddsa_compress_itch
    functionSourceFile: /src/nettle/eddsa-compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _eddsa_compress_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/eddsa-compress.c:57,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/eddsa-compress.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ecc
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: _eddsa_compress
    functionSourceFile: /src/nettle/eddsa-compress.c
    functionUses: 0
    functionsReached:
    - mpn_get_base256_le
    - struct ecc_curve*::h_to_a
    linkageType: ''
    returnType: void
    signature: "void _eddsa_compress (const struct ecc_curve *ecc, uint8_t *r, mp_limb_t
      *p,\n\t\t mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/sexp2rsa.c:67,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:72,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:73,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:74,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:75,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:76,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:77,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/sexp2rsa.c:79,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:85,1
    - Dst: GET
      Src: /src/nettle/sexp2rsa.c:86,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/sexp2rsa.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pub
    - priv
    - limit
    - i
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: rsa_keypair_from_sexp_alist
    functionSourceFile: /src/nettle/sexp2rsa.c
    functionUses: 0
    functionsReached:
    - rsa_public_key_prepare
    - GET
    - sexp_iterator_assoc
    - rsa_private_key_prepare
    linkageType: ''
    returnType: int
    signature: "int rsa_keypair_from_sexp_alist(struct rsa_public_key *pub,\n\t\t\t
      \   struct rsa_private_key *priv,\n\t\t\t    unsigned limit,\n\t\t\t    struct
      sexp_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_first
      Src: /src/nettle/sexp2rsa.c:105,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/sexp2rsa.c:108,1
    - Dst: sexp_iterator_check_types
      Src: /src/nettle/sexp2rsa.c:111,1
    - Dst: rsa_keypair_from_sexp_alist
      Src: /src/nettle/sexp2rsa.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - pub
    - priv
    - limit
    - length
    - expr
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: rsa_keypair_from_sexp
    functionSourceFile: /src/nettle/sexp2rsa.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_check_types
    - sexp_iterator_check_type
    - sexp_iterator_first
    - rsa_keypair_from_sexp_alist
    linkageType: ''
    returnType: int
    signature: "int rsa_keypair_from_sexp(struct rsa_public_key *pub,\n\t\t      struct
      rsa_private_key *priv,\n\t\t      unsigned limit, \n\t\t      size_t length,
      const uint8_t *expr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyd
      Src: /src/nettle/ecc-a-to-j.c:47,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-a-to-j.c:49,1
    - Dst: struct ecc_curve*::p::mod
      Src: /src/nettle/ecc-a-to-j.c:50,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-a-to-j.c:52,1
    - Dst: struct ecc_curve*::p::mod
      Src: /src/nettle/ecc-a-to-j.c:53,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-a-to-j.c:56,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-a-to-j.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ecc
    - r
    - p
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: ecc_a_to_j
    functionSourceFile: /src/nettle/ecc-a-to-j.c
    functionUses: 2
    functionsReached:
    - mpn_zero
    - mpn_copyi
    - mpn_copyd
    - struct ecc_curve*::p::mod
    linkageType: ''
    returnType: void
    signature: "void ecc_a_to_j (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:55,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:57,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:57,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:59,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - salt_length
    - salt
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: rsa_pss_sha384_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-pss-sha512-sign-tr.c
    functionUses: 0
    functionsReached:
    - pss_encode_mgf1
    - rsa_compute_root_tr
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha384_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\t
      \     const struct rsa_private_key *key,\n\t\t\t      void *random_ctx, nettle_random_func
      *random,\n\t\t\t      size_t salt_length, const uint8_t *salt,\n\t\t\t      const
      uint8_t *digest,\n\t\t\t      mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:78,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:80,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:80,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:82,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha512-sign-tr.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - salt_length
    - salt
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: rsa_pss_sha512_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-pss-sha512-sign-tr.c
    functionUses: 0
    functionsReached:
    - pss_encode_mgf1
    - rsa_compute_root_tr
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha512_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\t
      \     const struct rsa_private_key *key,\n\t\t\t      void *random_ctx, nettle_random_func
      *random,\n\t\t\t      size_t salt_length, const uint8_t *salt,\n\t\t\t      const
      uint8_t *digest,\n\t\t\t      mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/camellia256-crypt.c:50,1
    - Dst: _nettle_camellia_crypt
      Src: /src/nettle/camellia256-crypt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct camellia256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: camellia256_crypt
    functionSourceFile: /src/nettle/camellia256-crypt.c
    functionUses: 0
    functionsReached:
    - assert
    - _nettle_camellia_crypt
    linkageType: ''
    returnType: void
    signature: "void camellia256_crypt(const struct camellia256_ctx *ctx,\n\t\t  size_t
      length, uint8_t *dst,\n\t\t  const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-ripemd160.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_ripemd160_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_ripemd160_set_key
    functionSourceFile: /src/nettle/hmac-ripemd160.c
    functionUses: 0
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_ripemd160_set_key(struct hmac_ripemd160_ctx *ctx,\n\t\t
      \      size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ripemd160_update
      Src: /src/nettle/hmac-ripemd160.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_ripemd160_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_ripemd160_update
    functionSourceFile: /src/nettle/hmac-ripemd160.c
    functionUses: 0
    functionsReached:
    - ripemd160_update
    linkageType: ''
    returnType: void
    signature: "void hmac_ripemd160_update(struct hmac_ripemd160_ctx *ctx,\n\t\t      size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-ripemd160.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_ripemd160_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_ripemd160_digest
    functionSourceFile: /src/nettle/hmac-ripemd160.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_ripemd160_digest(struct hmac_ripemd160_ctx *ctx,\n\t\t      uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strido
      Src: /src/nettle/streebog.c:1162,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1163,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1164,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1165,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1166,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1167,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1168,1
    - Dst: strido
      Src: /src/nettle/streebog.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1170
    functionName: LPSX
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 1
    functionsReached:
    - strido
    linkageType: ''
    returnType: void
    signature: void LPSX (uint64_t *out, const uint64_t *a, const uint64_t *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LPSX
      Src: /src/nettle/streebog.c:1178,1
    - Dst: LPSX
      Src: /src/nettle/streebog.c:1180,1
    - Dst: LPSX
      Src: /src/nettle/streebog.c:1181,1
    - Dst: LPSX
      Src: /src/nettle/streebog.c:1184,1
    - Dst: LPSX
      Src: /src/nettle/streebog.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - h
    - m
    - N
    argTypes:
    - uint64_t*
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1196
    functionName: g
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 971
    functionsReached:
    - LPSX
    linkageType: ''
    returnType: void
    signature: void g (uint64_t *h, uint64_t *m, uint64_t *N)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT64
      Src: /src/nettle/streebog.c:1207,1
    - Dst: g
      Src: /src/nettle/streebog.c:1209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - input
    - count
    argTypes:
    - struct streebog512_ctx*
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1231
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1231
    functionName: streebog512_compress
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 1
    functionsReached:
    - g
    - LE_READ_UINT64
    linkageType: ''
    returnType: void
    signature: void streebog512_compress (struct streebog512_ctx *ctx, const uint8_t
      *input, uint64_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_compress
      Src: /src/nettle/streebog.c:1245,1
    - Dst: g
      Src: /src/nettle/streebog.c:1247,1
    - Dst: g
      Src: /src/nettle/streebog.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog512_ctx*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1249
    functionName: streebog_final
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 1
    functionsReached:
    - streebog512_compress
    - g
    linkageType: ''
    returnType: void
    signature: void streebog_final (struct streebog512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/streebog.c:1256,1
    - Dst: memset
      Src: /src/nettle/streebog.c:1257,1
    - Dst: memset
      Src: /src/nettle/streebog.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog512_ctx*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1262
    functionName: streebog512_init
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void streebog512_init(struct streebog512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/streebog.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1269
    functionName: streebog512_update
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 1
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void streebog512_update(struct streebog512_ctx *ctx,\n                   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/streebog.c:1276,1
    - Dst: streebog_final
      Src: /src/nettle/streebog.c:1278,1
    - Dst: _nettle_write_le64
      Src: /src/nettle/streebog.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - offset
    - length
    - digest
    argTypes:
    - struct streebog512_ctx*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1281
    functionName: streebog512_write_digest
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 2
    functionsReached:
    - assert
    - _nettle_write_le64
    - streebog_final
    linkageType: ''
    returnType: void
    signature: "void streebog512_write_digest(struct streebog512_ctx *ctx,\n                         size_t
      offset, size_t length,\n                         uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_write_digest
      Src: /src/nettle/streebog.c:1287,1
    - Dst: streebog512_init
      Src: /src/nettle/streebog.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct streebog512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1289
    functionName: streebog512_digest
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_write_digest
    - streebog512_init
    linkageType: ''
    returnType: void
    signature: "void streebog512_digest(struct streebog512_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/streebog.c:1294,1
    - Dst: memset
      Src: /src/nettle/streebog.c:1295,1
    - Dst: memset
      Src: /src/nettle/streebog.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct streebog256_ctx*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1300
    functionName: streebog256_init
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void streebog256_init(struct streebog256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_write_digest
      Src: /src/nettle/streebog.c:1306,1
    - Dst: streebog256_init
      Src: /src/nettle/streebog.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct streebog256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1311
    functionName: streebog256_digest
    functionSourceFile: /src/nettle/streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_write_digest
    - streebog256_init
    linkageType: ''
    returnType: void
    signature: "void streebog256_digest(struct streebog256_ctx *ctx,\n                   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-expand.c:57,1
    - Dst: struct ecc_eddsa*::digest
      Src: /src/nettle/eddsa-expand.c:58,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/eddsa-expand.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - ecc
    - eddsa
    - ctx
    - key
    - digest
    - k2
    argTypes:
    - struct ecc_curve*
    - struct ecc_eddsa*
    - void*
    - uint8_t*
    - uint8_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: _eddsa_expand_key
    functionSourceFile: /src/nettle/eddsa-expand.c
    functionUses: 2
    functionsReached:
    - struct ecc_eddsa*::update
    - struct ecc_eddsa*::digest
    - mpn_set_base256_le
    linkageType: ''
    returnType: void
    signature: "void _eddsa_expand_key (const struct ecc_curve *ecc,\n\t\t   const
      struct ecc_eddsa *eddsa,\n\t\t   void *ctx,\n\t\t   const uint8_t *key,\n\t\t
      \  uint8_t *digest,\n\t\t   mp_limb_t *k2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-secp521r1.c:66,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-secp521r1.c:67,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp521r1.c:68,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp521r1.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - UNUSED
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: ecc_secp521r1_modp
    functionSourceFile: /src/nettle/ecc-secp521r1.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_secp521r1_modp (const struct ecc_modulo *m UNUSED, mp_limb_t
      *rp, mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:104,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp521r1.c:105,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:106,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:107,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:108,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:109,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:110,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:111,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:112,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp521r1.c:113,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:114,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:115,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp521r1.c:116,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp521r1.c:117,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:118,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp521r1.c:119,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:120,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:121,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp521r1.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 123
    functionName: ecc_secp521r1_inv
    functionSourceFile: /src/nettle/ecc-secp521r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_secp521r1_inv (const struct ecc_modulo *p,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp521r1.c:142,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp521r1.c:145,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-secp521r1.c:146,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp521r1.c:152,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-secp521r1.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - m
    - rp
    - cp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: ecc_secp521r1_sqrt
    functionSourceFile: /src/nettle/ecc-secp521r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - sec_add_1
    - ecc_mod_sub
    linkageType: ''
    returnType: int
    signature: "int ecc_secp521r1_sqrt (const struct ecc_modulo *m,\n\t\t    mp_limb_t
      *rp,\n\t\t    const mp_limb_t *cp,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: nettle_get_secp_521r1
    functionSourceFile: /src/nettle/ecc-secp521r1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_secp_521r1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/nettle/fat-arm64.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: check_sysctlbyname
    functionSourceFile: /src/nettle/fat-arm64.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: int
    signature: int check_sysctlbyname(const char* name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/nettle/fat-arm64.c:117,1
    - Dst: MATCH
      Src: /src/nettle/fat-arm64.c:124,1
    - Dst: MATCH
      Src: /src/nettle/fat-arm64.c:126,1
    - Dst: MATCH
      Src: /src/nettle/fat-arm64.c:128,1
    - Dst: MATCH
      Src: /src/nettle/fat-arm64.c:130,1
    - Dst: getauxval
      Src: /src/nettle/fat-arm64.c:142,1
    - Dst: elf_aux_info
      Src: /src/nettle/fat-arm64.c:144,1
    - Dst: sysctl
      Src: /src/nettle/fat-arm64.c:160,1
    - Dst: ID_AA64ISAR0_AES
      Src: /src/nettle/fat-arm64.c:163,1
    - Dst: ID_AA64ISAR0_AES
      Src: /src/nettle/fat-arm64.c:165,1
    - Dst: ID_AA64ISAR0_SHA1
      Src: /src/nettle/fat-arm64.c:167,1
    - Dst: ID_AA64ISAR0_SHA2
      Src: /src/nettle/fat-arm64.c:169,1
    - Dst: check_sysctlbyname
      Src: /src/nettle/fat-arm64.c:172,1
    - Dst: check_sysctlbyname
      Src: /src/nettle/fat-arm64.c:173,1
    - Dst: check_sysctlbyname
      Src: /src/nettle/fat-arm64.c:174,1
    - Dst: check_sysctlbyname
      Src: /src/nettle/fat-arm64.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - features
    argTypes:
    - struct arm64_features*
    constantsTouched: []
    func_position:
      end: 178
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 178
    functionName: get_arm64_features
    functionSourceFile: /src/nettle/fat-arm64.c
    functionUses: 0
    functionsReached:
    - getauxval
    - ID_AA64ISAR0_SHA1
    - elf_aux_info
    - ID_AA64ISAR0_SHA2
    - check_sysctlbyname
    - secure_getenv
    - ID_AA64ISAR0_AES
    - MATCH
    - sysctl
    linkageType: ''
    returnType: void
    signature: void get_arm64_features (struct arm64_features *features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arm64_features
      Src: /src/nettle/fat-arm64.c:223,1
    - Dst: getenv
      Src: /src/nettle/fat-arm64.c:225,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm64.c:227,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm64.c:236,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm64.c:257,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm64.c:274,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm64.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 291
    functionName: CONSTRUCTOR
    functionSourceFile: /src/nettle/fat-arm64.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getenv
    - get_arm64_features
    linkageType: ''
    returnType: void
    signature: 'void CONSTRUCTOR

      fat_init (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: q0
    functionSourceFile: /src/nettle/twofishdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char q0(unsigned char x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: q1
    functionSourceFile: /src/nettle/twofishdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char q1(unsigned char x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/twofishdata.c:110,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:113,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:114,1
    - Dst: q0
      Src: /src/nettle/twofishdata.c:114,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:116,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:118,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:121,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:122,1
    - Dst: q1
      Src: /src/nettle/twofishdata.c:122,1
    - Dst: printf
      Src: /src/nettle/twofishdata.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/nettle/twofishdata.c
    functionUses: 5
    functionsReached:
    - printf
    - q1
    - q0
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/ccm.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - cipher
    - f
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: ccm_pad
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: void ccm_pad(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ccm.c:104,1
    - Dst: assert
      Src: /src/nettle/ccm.c:105,1
    - Dst: CCM_FLAG_SET_L
      Src: /src/nettle/ccm.c:108,1
    - Dst: CCM_L_SIZE
      Src: /src/nettle/ccm.c:108,1
    - Dst: memcpy
      Src: /src/nettle/ccm.c:109,1
    - Dst: assert
      Src: /src/nettle/ccm.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - iv
    - noncelen
    - nonce
    - flags
    - count
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t
    - size_t
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: ccm_build_iv
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - CCM_L_SIZE
    - CCM_FLAG_SET_L
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ccm_build_iv(uint8_t *iv, size_t noncelen, const uint8_t *nonce,\n\t
      \    uint8_t flags, size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_build_iv
      Src: /src/nettle/ccm.c:126,1
    - Dst: CCM_FLAG_SET_M
      Src: /src/nettle/ccm.c:126,1
    - Dst: ccm_build_iv
      Src: /src/nettle/ccm.c:127,1
    - Dst: f
      Src: /src/nettle/ccm.c:131,1
    - Dst: f
      Src: /src/nettle/ccm.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 8
    argNames:
    - ctx
    - cipher
    - f
    - length
    - nonce
    - authlen
    - msglen
    - taglen
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 161
    functionName: ccm_set_nonce
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - f
    - ccm_build_iv
    - CCM_FLAG_SET_M
    linkageType: ''
    returnType: void
    signature: "void ccm_set_nonce(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f,\n\t      size_t length, const uint8_t *nonce,\n\t      size_t authlen, size_t
      msglen, size_t taglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor
      Src: /src/nettle/ccm.c:171,1
    - Dst: memxor
      Src: /src/nettle/ccm.c:178,1
    - Dst: f
      Src: /src/nettle/ccm.c:180,1
    - Dst: memxor
      Src: /src/nettle/ccm.c:185,1
    - Dst: f
      Src: /src/nettle/ccm.c:186,1
    - Dst: memxor
      Src: /src/nettle/ccm.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - cipher
    - f
    - length
    - data
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: ccm_update
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - f
    - memxor
    linkageType: ''
    returnType: void
    signature: "void ccm_update(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f,\n\t   size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_pad
      Src: /src/nettle/ccm.c:204,1
    - Dst: ccm_update
      Src: /src/nettle/ccm.c:205,1
    - Dst: ctr_crypt
      Src: /src/nettle/ccm.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: ccm_encrypt
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - ccm_pad
    - ccm_update
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void ccm_encrypt(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f,\n\t    size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr_crypt
      Src: /src/nettle/ccm.c:218,1
    - Dst: ccm_pad
      Src: /src/nettle/ccm.c:219,1
    - Dst: ccm_update
      Src: /src/nettle/ccm.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: ccm_decrypt
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - ccm_pad
    - ccm_update
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void ccm_decrypt(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f,\n\t    size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ccm.c:228,1
    - Dst: ccm_pad
      Src: /src/nettle/ccm.c:230,1
    - Dst: ctr_crypt
      Src: /src/nettle/ccm.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - cipher
    - f
    - length
    - digest
    argTypes:
    - struct ccm_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: ccm_digest
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 0
    functionsReached:
    - ccm_pad
    - assert
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void ccm_digest(struct ccm_ctx *ctx, const void *cipher, nettle_cipher_func
      *f,\n\t   size_t length, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ccm.c:242,1
    - Dst: ccm_set_nonce
      Src: /src/nettle/ccm.c:243,1
    - Dst: ccm_update
      Src: /src/nettle/ccm.c:244,1
    - Dst: ccm_encrypt
      Src: /src/nettle/ccm.c:245,1
    - Dst: ccm_digest
      Src: /src/nettle/ccm.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - cipher
    - f
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: ccm_encrypt_message
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 3
    functionsReached:
    - assert
    - ccm_set_nonce
    - ccm_encrypt
    - ccm_digest
    - ccm_update
    linkageType: ''
    returnType: void
    signature: "void ccm_encrypt_message(const void *cipher, nettle_cipher_func *f,\n\t\t
      \   size_t nlength, const uint8_t *nonce,\n\t\t    size_t alength, const uint8_t
      *adata, size_t tlength,\n\t\t    size_t clength, uint8_t *dst, const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_set_nonce
      Src: /src/nettle/ccm.c:257,1
    - Dst: ccm_update
      Src: /src/nettle/ccm.c:258,1
    - Dst: ccm_decrypt
      Src: /src/nettle/ccm.c:259,1
    - Dst: ccm_digest
      Src: /src/nettle/ccm.c:260,1
    - Dst: memeql_sec
      Src: /src/nettle/ccm.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - cipher
    - f
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: ccm_decrypt_message
    functionSourceFile: /src/nettle/ccm.c
    functionUses: 3
    functionsReached:
    - ccm_set_nonce
    - memeql_sec
    - ccm_digest
    - ccm_update
    - ccm_decrypt
    linkageType: ''
    returnType: int
    signature: "int ccm_decrypt_message(const void *cipher, nettle_cipher_func *f,\n\t\t
      \   size_t nlength, const uint8_t *nonce,\n\t\t    size_t alength, const uint8_t
      *adata, size_t tlength,\n\t\t    size_t mlength, uint8_t *dst, const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - length
    - input
    argTypes:
    - struct asn1_der_iterator*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: asn1_der_iterator_init
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void asn1_der_iterator_init(struct asn1_der_iterator *iterator,\n\t\t
      \      size_t length, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:115,1
    - Dst: NEXT
      Src: /src/nettle/der-iterator.c:118,1
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:119,1
    - Dst: NEXT
      Src: /src/nettle/der-iterator.c:128,1
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:139,1
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 169
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 169
    functionName: asn1_der_iterator_next
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 2
    functionsReached:
    - NEXT
    - LEFT
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: enum asn1_iterator_result asn1_der_iterator_next(struct asn1_der_iterator
      *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_iterator_init
      Src: /src/nettle/der-iterator.c:175,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der-iterator.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - i
    - length
    - input
    argTypes:
    - struct asn1_der_iterator*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: asn1_der_iterator_first
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 1
    functionsReached:
    - asn1_der_iterator_next
    - asn1_der_iterator_init
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: "enum asn1_iterator_result asn1_der_iterator_first(struct asn1_der_iterator
      *i,\n\t\t\tsize_t length, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/der-iterator.c:183,1
    - Dst: asn1_der_iterator_first
      Src: /src/nettle/der-iterator.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - contents
    argTypes:
    - struct asn1_der_iterator*
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: asn1_der_decode_constructed
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_first
    - assert
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: "enum asn1_iterator_result asn1_der_decode_constructed(struct asn1_der_iterator
      *i,\n\t\t\t    struct asn1_der_iterator *contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:190,1
    - Dst: asn1_der_decode_constructed
      Src: /src/nettle/der-iterator.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: asn1_der_decode_constructed_last
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 2
    functionsReached:
    - asn1_der_decode_constructed
    - LEFT
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: enum asn1_iterator_result asn1_der_decode_constructed_last(struct asn1_der_iterator
      *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/der-iterator.c:201,1
    - Dst: asn1_der_iterator_first
      Src: /src/nettle/der-iterator.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - i
    - contents
    argTypes:
    - struct asn1_der_iterator*
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: asn1_der_decode_bitstring
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_first
    - assert
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: "enum asn1_iterator_result asn1_der_decode_bitstring(struct asn1_der_iterator
      *i,\n\t\t\t  struct asn1_der_iterator *contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LEFT
      Src: /src/nettle/der-iterator.c:212,1
    - Dst: asn1_der_decode_bitstring
      Src: /src/nettle/der-iterator.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: asn1_der_decode_bitstring_last
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 0
    functionsReached:
    - LEFT
    - asn1_der_decode_bitstring
    linkageType: ''
    returnType: enum asn1_iterator_result
    signature: enum asn1_iterator_result asn1_der_decode_bitstring_last(struct asn1_der_iterator
      *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - i
    - x
    argTypes:
    - struct asn1_der_iterator*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 253
    functionName: asn1_der_get_uint32
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int asn1_der_get_uint32(struct asn1_der_iterator *i,\n\t\t    uint32_t
      *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_set_str_256_s
      Src: /src/nettle/der-iterator.c:272,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/der-iterator.c:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - i
    - x
    - max_bits
    argTypes:
    - struct asn1_der_iterator*
    - mpz_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: asn1_der_get_bignum
    functionSourceFile: /src/nettle/der-iterator.c
    functionUses: 1
    functionsReached:
    - mpz_sizeinbase
    - nettle_mpz_set_str_256_s
    linkageType: ''
    returnType: int
    signature: "int asn1_der_get_bignum(struct asn1_der_iterator *i,\n\t\t    mpz_t
      x, unsigned max_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes192_set_encrypt_key
      Src: /src/nettle/ccm-aes192.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct ccm_aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ccm_aes192_set_key
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - aes192_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void ccm_aes192_set_key(struct ccm_aes192_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_set_nonce
      Src: /src/nettle/ccm-aes192.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - length
    - nonce
    - authlen
    - msglen
    - taglen
    argTypes:
    - struct ccm_aes192_ctx*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ccm_aes192_set_nonce
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_set_nonce
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_set_nonce(struct ccm_aes192_ctx *ctx, size_t length,
      const uint8_t *nonce,\n\t\t     size_t authlen, size_t msglen, size_t taglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_update
      Src: /src/nettle/ccm-aes192.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct ccm_aes192_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: ccm_aes192_update
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_update
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_update(struct ccm_aes192_ctx *ctx,\n\t\t  size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt
      Src: /src/nettle/ccm-aes192.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ccm_aes192_encrypt
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_encrypt(struct ccm_aes192_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt
      Src: /src/nettle/ccm-aes192.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ccm_aes192_decrypt
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_decrypt(struct ccm_aes192_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_digest
      Src: /src/nettle/ccm-aes192.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct ccm_aes192_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: ccm_aes192_digest
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_digest
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_digest(struct ccm_aes192_ctx *ctx,\n\t\t  size_t length,
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt_message
      Src: /src/nettle/ccm-aes192.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ccm_aes192_encrypt_message
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void ccm_aes192_encrypt_message(const struct aes192_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t clength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt_message
      Src: /src/nettle/ccm-aes192.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: ccm_aes192_decrypt_message
    functionSourceFile: /src/nettle/ccm-aes192.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int ccm_aes192_decrypt_message(const struct aes192_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t mlength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:68,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:69,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:70,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:71,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:75,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:76,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:77,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:78,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:91,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:92,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:93,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-encrypt-internal.c:94,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:96,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:97,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:98,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-encrypt-internal.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 6
    argNames:
    - rounds
    - keys
    - T
    - length
    - dst
    - src
    argTypes:
    - unsigned
    - uint32_t*
    - struct aes_table*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: _nettle_aes_encrypt
    functionSourceFile: /src/nettle/aes-encrypt-internal.c
    functionUses: 2
    functionsReached:
    - LE_WRITE_UINT32
    - AES_FINAL_ROUND
    - LE_READ_UINT32
    - AES_ROUND
    linkageType: ''
    returnType: void
    signature: "void _nettle_aes_encrypt(unsigned rounds, const uint32_t *keys,\n\t\t
      \   const struct aes_table *T,\n\t\t    size_t length, uint8_t *dst,\n\t\t    const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-gost-gc512a.c:51,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-gost-gc512a.c:52,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-gost-gc512a.c:53,1
    - Dst: assert
      Src: /src/nettle/ecc-gost-gc512a.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: ecc_gost_gc512a_modp
    functionSourceFile: /src/nettle/ecc-gost-gc512a.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - assert
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_gost_gc512a_modp (const struct ecc_modulo *m, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: nettle_get_gost_gc512a
    functionSourceFile: /src/nettle/ecc-gost-gc512a.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_gost_gc512a(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/mini-gmp.c:281,1
    - Dst: abort
      Src: /src/nettle/mini-gmp.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: gmp_die
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gmp_die (const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:290,1
    - Dst: malloc
      Src: /src/nettle/mini-gmp.c:292,1
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: gmp_default_alloc
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - gmp_die
    linkageType: ''
    returnType: void
    signature: 'void *

      gmp_default_alloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/nettle/mini-gmp.c:304,1
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - old
    - unused_old_size
    - new_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: gmp_default_realloc
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_die
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gmp_default_realloc (void *old, size_t unused_old_size, size_t new_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/nettle/mini-gmp.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - unused_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: gmp_default_free
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gmp_default_free (void *p, size_t unused_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - (**alloc_func) (size_t)
    - (**realloc_func) (void *, size_t, size_t)
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: mp_get_memory_functions
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp_get_memory_functions (void *(**alloc_func) (size_t),\n\t\t\t
      void *(**realloc_func) (void *, size_t, size_t),\n\t\t\t void (**free_func)
      (void *, size_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - (*alloc_func) (size_t)
    - (*realloc_func) (void *, size_t, size_t)
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: mp_set_memory_functions
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp_set_memory_functions (void *(*alloc_func) (size_t),\n\t\t\t
      void *(*realloc_func) (void *, size_t, size_t),\n\t\t\t void (*free_func) (void
      *, size_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_xalloc
      Src: /src/nettle/mini-gmp.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: gmp_xalloc_limbs
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_xalloc
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr gmp_xalloc_limbs (mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - old
    - size
    argTypes:
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: gmp_xrealloc_limbs
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr gmp_xrealloc_limbs (mp_ptr old, mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mpn_copyi
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_copyi (mp_ptr d, mp_srcptr s, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: mpn_copyd
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_copyd (mp_ptr d, mp_srcptr s, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ap
    - bp
    - n
    argTypes:
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: mpn_cmp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpn_cmp (mp_srcptr ap, mp_srcptr bp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/nettle/mini-gmp.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: mpn_cmp4
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_cmp
    linkageType: ''
    returnType: int
    signature: int mpn_cmp4 (mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - xp
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: mpn_normalized_size
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_normalized_size (mp_srcptr xp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rp
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: mpn_zero_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpn_normalized_size
    linkageType: ''
    returnType: int
    signature: int mpn_zero_p(mp_srcptr rp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rp
    - n
    argTypes:
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: mpn_zero
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_zero (mp_ptr rp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 446
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 446
    functionName: mpn_add_1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 465
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 465
    functionName: mpn_add_n
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:472,1
    - Dst: mpn_add_n
      Src: /src/nettle/mini-gmp.c:474,1
    - Dst: mpn_add_1
      Src: /src/nettle/mini-gmp.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: mpn_add
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_add_n
    - mpn_add_1
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr
      bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 499
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 499
    functionName: mpn_sub_1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: mpn_sub_n
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:524,1
    - Dst: mpn_sub_n
      Src: /src/nettle/mini-gmp.c:526,1
    - Dst: mpn_sub_1
      Src: /src/nettle/mini-gmp.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: mpn_sub
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_sub_n
    - mpn_sub_1
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr
      bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:537,1
    - Dst: gmp_umul_ppmm
      Src: /src/nettle/mini-gmp.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 553
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 553
    functionName: mpn_mul_1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_mul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:560,1
    - Dst: gmp_umul_ppmm
      Src: /src/nettle/mini-gmp.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 579
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 579
    functionName: mpn_addmul_1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 6
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:586,1
    - Dst: gmp_umul_ppmm
      Src: /src/nettle/mini-gmp.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 605
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 605
    functionName: mpn_submul_1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:610,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:611,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:612,1
    - Dst: GMP_MPN_OVERLAP_P
      Src: /src/nettle/mini-gmp.c:612,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:613,1
    - Dst: GMP_MPN_OVERLAP_P
      Src: /src/nettle/mini-gmp.c:613,1
    - Dst: mpn_mul_1
      Src: /src/nettle/mini-gmp.c:619,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/mini-gmp.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - rp
    - up
    - un
    - vp
    - vn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 630
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 630
    functionName: mpn_mul
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_addmul_1
    - mpn_mul_1
    - GMP_MPN_OVERLAP_P
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_mul (mp_ptr rp, mp_srcptr up, mp_size_t un, mp_srcptr
      vp, mp_size_t vn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/nettle/mini-gmp.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: mpn_mul_n
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: void mpn_mul_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/nettle/mini-gmp.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rp
    - ap
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: mpn_sqr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: void mpn_sqr (mp_ptr rp, mp_srcptr ap, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:651,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:652,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - cnt
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 672
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 672
    functionName: mpn_lshift
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned
      int cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:681,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:682,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - cnt
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 699
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 699
    functionName: mpn_rshift
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned
      int cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:707,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:708,1
    - Dst: gmp_ctz
      Src: /src/nettle/mini-gmp.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - limb
    - i
    - up
    - un
    - ux
    argTypes:
    - mp_limb_t
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: mpn_common_scan
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_ctz
    - assert
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: "mp_bitcnt_t mpn_common_scan (mp_limb_t limb, mp_size_t i, mp_srcptr
      up, mp_size_t un,\n\t\t mp_limb_t ux)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_common_scan
      Src: /src/nettle/mini-gmp.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - bit
    argTypes:
    - mp_srcptr
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: mpn_scan1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_scan1 (mp_srcptr ptr, mp_bitcnt_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_common_scan
      Src: /src/nettle/mini-gmp.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - bit
    argTypes:
    - mp_srcptr
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 739
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 739
    functionName: mpn_scan0
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_scan0 (mp_srcptr ptr, mp_bitcnt_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rp
    - up
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: mpn_com
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_com (mp_ptr rp, mp_srcptr up, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_com
      Src: /src/nettle/mini-gmp.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rp
    - up
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 761
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 761
    functionName: mpn_neg
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_com
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_neg (mp_ptr rp, mp_srcptr up, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_umul_ppmm
      Src: /src/nettle/mini-gmp.c:866,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - u1
    - u0
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 876
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 876
    functionName: mpn_invert_3by2
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_invert_3by2 (mp_limb_t u1, mp_limb_t u0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:893,1
    - Dst: gmp_clz
      Src: /src/nettle/mini-gmp.c:894,1
    - Dst: mpn_invert_limb
      Src: /src/nettle/mini-gmp.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - inv
    - d
    argTypes:
    - struct gmp_div_inverse*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 898
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 898
    functionName: mpn_div_qr_1_invert
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_clz
    - assert
    - mpn_invert_limb
    linkageType: ''
    returnType: void
    signature: void mpn_div_qr_1_invert (struct gmp_div_inverse *inv, mp_limb_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:906,1
    - Dst: gmp_clz
      Src: /src/nettle/mini-gmp.c:907,1
    - Dst: mpn_invert_3by2
      Src: /src/nettle/mini-gmp.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - inv
    - d1
    - d0
    argTypes:
    - struct gmp_div_inverse*
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 917
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 917
    functionName: mpn_div_qr_2_invert
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_clz
    - mpn_invert_3by2
    - assert
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_2_invert (struct gmp_div_inverse *inv,\n\t\t     mp_limb_t
      d1, mp_limb_t d0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:923,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/nettle/mini-gmp.c:926,1
    - Dst: mpn_div_qr_2_invert
      Src: /src/nettle/mini-gmp.c:928,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:936,1
    - Dst: gmp_clz
      Src: /src/nettle/mini-gmp.c:937,1
    - Dst: mpn_invert_3by2
      Src: /src/nettle/mini-gmp.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - inv
    - dp
    - dn
    argTypes:
    - struct gmp_div_inverse*
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 948
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 948
    functionName: mpn_div_qr_invert
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_clz
    - assert
    - mpn_invert_3by2
    - mpn_div_qr_1_invert
    - mpn_div_qr_2_invert
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_invert (struct gmp_div_inverse *inv,\n\t\t   mp_srcptr
      dp, mp_size_t dn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:963,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:964,1
    - Dst: gmp_udiv_qrnnd_preinv
      Src: /src/nettle/mini-gmp.c:976,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - qp
    - np
    - nn
    - inv
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 984
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 984
    functionName: mpn_div_qr_1_preinv
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_udiv_qrnnd_preinv
    - mpn_lshift
    - gmp_xalloc_limbs
    - gmp_free
    linkageType: ''
    returnType: mp_limb_t
    signature: "mp_limb_t mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t
      nn,\n\t\t     const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:994,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:1001,1
    - Dst: gmp_udiv_qr_3by2
      Src: /src/nettle/mini-gmp.c:1012,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - qp
    - np
    - nn
    - inv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1028
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1028
    functionName: mpn_div_qr_2_preinv
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_udiv_qr_3by2
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,\n\t\t
      \    const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1042,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1043,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1048,1
    - Dst: mpn_submul_1
      Src: /src/nettle/mini-gmp.c:1063,1
    - Dst: gmp_udiv_qr_3by2
      Src: /src/nettle/mini-gmp.c:1068,1
    - Dst: mpn_submul_1
      Src: /src/nettle/mini-gmp.c:1070,1
    - Dst: mpn_add_n
      Src: /src/nettle/mini-gmp.c:1080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 7
    argNames:
    - qp
    - np
    - nn
    - n1
    - dp
    - dn
    - dinv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_limb_t
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1091
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1091
    functionName: mpn_div_qr_pi1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_submul_1
    - assert
    - gmp_udiv_qr_3by2
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_pi1 (mp_ptr qp,\n\t\tmp_ptr np, mp_size_t nn, mp_limb_t
      n1,\n\t\tmp_srcptr dp, mp_size_t dn,\n\t\tmp_limb_t dinv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1098,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1099,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/nettle/mini-gmp.c:1102,1
    - Dst: mpn_div_qr_2_preinv
      Src: /src/nettle/mini-gmp.c:1104,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1110,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1111,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1112,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:1116,1
    - Dst: mpn_div_qr_pi1
      Src: /src/nettle/mini-gmp.c:1120,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:1123,1
    - Dst: mpn_rshift
      Src: /src/nettle/mini-gmp.c:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - qp
    - np
    - nn
    - dp
    - dn
    - inv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1125
    functionName: mpn_div_qr_preinv
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_div_qr_1_preinv
    - mpn_div_qr_2_preinv
    - mpn_div_qr_pi1
    - gmp_assert_nocarry
    - mpn_lshift
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,\n\t\t
      \  mp_srcptr dp, mp_size_t dn,\n\t\t   const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1133,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1134,1
    - Dst: mpn_div_qr_invert
      Src: /src/nettle/mini-gmp.c:1136,1
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:1139,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:1140,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:1140,1
    - Dst: mpn_div_qr_preinv
      Src: /src/nettle/mini-gmp.c:1143,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:1145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - qp
    - np
    - nn
    - dp
    - dn
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1146
    functionName: mpn_div_qr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_free
    - mpn_div_qr_invert
    - mpn_div_qr_preinv
    - gmp_xalloc_limbs
    - gmp_assert_nocarry
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpn_div_qr (mp_ptr qp, mp_ptr np, mp_size_t nn, mp_srcptr dp,
      mp_size_t dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - b
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 1165
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1165
    functionName: mpn_base_power_of_two_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned mpn_base_power_of_two_p (unsigned b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - b
    argTypes:
    - struct mpn_base_info*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: mpn_get_base_info
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_get_base_info (struct mpn_base_info *info, mp_limb_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1195,1
    - Dst: gmp_clz
      Src: /src/nettle/mini-gmp.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1198
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    functionName: mpn_limb_size_in_base_2
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_clz
    - assert
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_limb_size_in_base_2 (mp_limb_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_limb_size_in_base_2
      Src: /src/nettle/mini-gmp.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sp
    - bits
    - up
    - un
    argTypes:
    - unsigned char*
    - unsigned
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1227
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1227
    functionName: mpn_get_str_bits
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_limb_size_in_base_2
    linkageType: ''
    returnType: size_t
    signature: size_t mpn_get_str_bits (unsigned char *sp, unsigned bits, mp_srcptr
      up, mp_size_t un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_udiv_qrnnd_preinv
      Src: /src/nettle/mini-gmp.c:1243,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sp
    - w
    - binv
    argTypes:
    - unsigned char*
    - mp_limb_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1250
    functionName: mpn_limb_get_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_udiv_qrnnd_preinv
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mpn_limb_get_str (unsigned char *sp, mp_limb_t w,\n\t\t  const
      struct gmp_div_inverse *binv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_div_qr_1_invert
      Src: /src/nettle/mini-gmp.c:1261,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/nettle/mini-gmp.c:1268,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/nettle/mini-gmp.c:1274,1
    - Dst: mpn_limb_get_str
      Src: /src/nettle/mini-gmp.c:1276,1
    - Dst: mpn_limb_get_str
      Src: /src/nettle/mini-gmp.c:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - sp
    - base
    - info
    - up
    - un
    argTypes:
    - unsigned char*
    - int
    - struct mpn_base_info*
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1294
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1294
    functionName: mpn_get_str_other
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_div_qr_1_preinv
    - mpn_limb_get_str
    - mpn_div_qr_1_invert
    linkageType: ''
    returnType: size_t
    signature: "size_t mpn_get_str_other (unsigned char *sp,\n\t\t   int base, const
      struct mpn_base_info *info,\n\t\t   mp_ptr up, mp_size_t un)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1301,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1302,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/nettle/mini-gmp.c:1304,1
    - Dst: mpn_get_str_bits
      Src: /src/nettle/mini-gmp.c:1306,1
    - Dst: mpn_get_base_info
      Src: /src/nettle/mini-gmp.c:1311,1
    - Dst: mpn_get_str_other
      Src: /src/nettle/mini-gmp.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - sp
    - base
    - up
    - un
    argTypes:
    - unsigned char*
    - int
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1314
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1314
    functionName: mpn_get_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_get_str_bits
    - mpn_base_power_of_two_p
    - mpn_get_str_other
    - mpn_get_base_info
    linkageType: ''
    returnType: size_t
    signature: size_t mpn_get_str (unsigned char *sp, int base, mp_ptr up, mp_size_t
      un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - rp
    - sp
    - sn
    - bits
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1345
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1345
    functionName: mpn_set_str_bits
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_normalized_size
    linkageType: ''
    returnType: mp_size_t
    signature: "mp_size_t mpn_set_str_bits (mp_ptr rp, const unsigned char *sp, size_t
      sn,\n\t\t  unsigned bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1358,1
    - Dst: mpn_mul_1
      Src: /src/nettle/mini-gmp.c:1377,1
    - Dst: mpn_add_1
      Src: /src/nettle/mini-gmp.c:1378,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - rp
    - sp
    - sn
    - b
    - info
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - mp_limb_t
    - struct mpn_base_info*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1385
    functionName: mpn_set_str_other
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_mul_1
    - mpn_add_1
    linkageType: ''
    returnType: mp_size_t
    signature: "mp_size_t mpn_set_str_other (mp_ptr rp, const unsigned char *sp, size_t
      sn,\n\t\t   mp_limb_t b, const struct mpn_base_info *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_base_power_of_two_p
      Src: /src/nettle/mini-gmp.c:1395,1
    - Dst: mpn_set_str_bits
      Src: /src/nettle/mini-gmp.c:1397,1
    - Dst: mpn_get_base_info
      Src: /src/nettle/mini-gmp.c:1402,1
    - Dst: mpn_set_str_other
      Src: /src/nettle/mini-gmp.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rp
    - sp
    - sn
    - base
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1405
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1405
    functionName: mpn_set_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_set_str_bits
    - mpn_base_power_of_two_p
    - mpn_get_base_info
    - mpn_set_str_other
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_set_str (mp_ptr rp, const unsigned char *sp, size_t sn,
      int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1417
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1417
    functionName: mpz_init
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpz_init (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - bits
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 1432
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1432
    functionName: mpz_init2
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_xalloc_limbs
    linkageType: ''
    returnType: void
    signature: void mpz_init2 (mpz_t r, mp_bitcnt_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:1438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1439
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1439
    functionName: mpz_clear
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 51
    functionsReached:
    - gmp_free
    linkageType: ''
    returnType: void
    signature: void mpz_clear (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_MAX
      Src: /src/nettle/mini-gmp.c:1444,1
    - Dst: gmp_xrealloc_limbs
      Src: /src/nettle/mini-gmp.c:1447,1
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:1449,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - r
    - size
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1456
      start: 1441
    functionDepth: 2
    functionLinenumber: 1441
    functionLinenumberEnd: 1456
    functionName: mpz_realloc
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_xrealloc_limbs
    - GMP_ABS
    - GMP_MAX
    - gmp_xalloc_limbs
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_realloc (mpz_t r, mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:1468,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:1473,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1478,1
    - Dst: GMP_NEG_CAST
      Src: /src/nettle/mini-gmp.c:1478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - signed long int
    constantsTouched: []
    func_position:
      end: 1480
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1480
    functionName: mpz_set_si
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_REALLOC
    - mpz_neg
    - GMP_NEG_CAST
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_set_si (mpz_t r, signed long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1488,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 1501
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1501
    functionName: mpz_set_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 20
    functionsReached:
    - MPZ_REALLOC
    linkageType: ''
    returnType: void
    signature: void mpz_set_ui (mpz_t r, unsigned long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1512,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1513,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1518
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1518
    functionName: mpz_set
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 13
    functionsReached:
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_copyi
    linkageType: ''
    returnType: void
    signature: void mpz_set (mpz_t r, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:1523,1
    - Dst: mpz_set_si
      Src: /src/nettle/mini-gmp.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - signed long int
    constantsTouched: []
    func_position:
      end: 1525
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1525
    functionName: mpz_init_set_si
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_set_si
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_si (mpz_t r, signed long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:1530,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 1532
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1532
    functionName: mpz_init_set_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_init
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_ui (mpz_t r, unsigned long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:1537,1
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1539
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1539
    functionName: mpz_init_set
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_set
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set (mpz_t r, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1544,1
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: mpz_fits_slong_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_slong_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - up
    - un
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1557
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1557
    functionName: mpn_absfits_ulong_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpn_absfits_ulong_p (mp_srcptr up, mp_size_t un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_absfits_ulong_p
      Src: /src/nettle/mini-gmp.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1565
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1565
    functionName: mpz_fits_ulong_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_absfits_ulong_p
    linkageType: ''
    returnType: int
    signature: int mpz_fits_ulong_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1570,1
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: mpz_fits_sint_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_sint_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1577
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1577
    functionName: mpz_fits_uint_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_fits_uint_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1582,1
    - Dst: mpz_cmp_si
      Src: /src/nettle/mini-gmp.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1583
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1583
    functionName: mpz_fits_sshort_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_sshort_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:1588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1589
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1589
    functionName: mpz_fits_ushort_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_fits_ushort_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1602
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1602
    functionName: mpz_get_si
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long int
    signature: long int mpz_get_si (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1611,1
    - Dst: GMP_MIN
      Src: /src/nettle/mini-gmp.c:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1619
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1619
    functionName: mpz_get_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - GMP_MIN
    - GMP_ABS
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int mpz_get_ui (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1625
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1625
    functionName: mpz_size
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 11
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_size (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - u
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1634
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1634
    functionName: mpz_getlimbn
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpz_getlimbn (const mpz_t u, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_realloc
      Src: /src/nettle/mini-gmp.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 1640
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1640
    functionName: mpz_realloc2
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_realloc
    linkageType: ''
    returnType: void
    signature: void mpz_realloc2 (mpz_t x, mp_bitcnt_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpz_srcptr
    constantsTouched: []
    func_position:
      end: 1646
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1646
    functionName: mpz_limbs_read
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: mp_srcptr
    signature: mp_srcptr mpz_limbs_read (mpz_srcptr x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1651,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1653
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1653
    functionName: mpz_limbs_modify
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_REALLOC
    - assert
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_limbs_modify (mpz_t x, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_limbs_modify
      Src: /src/nettle/mini-gmp.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1659
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1659
    functionName: mpz_limbs_write
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached:
    - mpz_limbs_modify
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_limbs_write (mpz_t x, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:1665,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - xs
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1667
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1667
    functionName: mpz_limbs_finish
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached:
    - GMP_ABS
    - mpn_normalized_size
    linkageType: ''
    returnType: void
    signature: void mpz_limbs_finish (mpz_t x, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - xp
    - xs
    argTypes:
    - mpz_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1676
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1676
    functionName: mpz_roinit_normal_n
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mpz_srcptr
    signature: mpz_srcptr mpz_roinit_normal_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_normal_n
      Src: /src/nettle/mini-gmp.c:1681,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/mini-gmp.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - xp
    - xs
    argTypes:
    - mpz_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1684
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1684
    functionName: mpz_roinit_n
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_roinit_normal_n
    - mpz_limbs_finish
    linkageType: ''
    returnType: mpz_srcptr
    signature: mpz_srcptr mpz_roinit_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1720,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1724,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:1732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1737
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1737
    functionName: mpz_set_d
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_REALLOC
    - assert
    linkageType: ''
    returnType: void
    signature: void mpz_set_d (mpz_t r, double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:1742,1
    - Dst: mpz_set_d
      Src: /src/nettle/mini-gmp.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1744
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1744
    functionName: mpz_init_set_d
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_set_d
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_d (mpz_t r, double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1755,1
    - Dst: gmp_clz
      Src: /src/nettle/mini-gmp.c:1761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1782
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1782
    functionName: mpz_get_d
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_clz
    - GMP_ABS
    linkageType: ''
    returnType: double
    signature: double mpz_get_d (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1792,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1823
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1823
    functionName: mpz_cmpabs_d
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs_d (const mpz_t x, double d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_d
      Src: /src/nettle/mini-gmp.c:1833,1
    - Dst: mpz_cmpabs_d
      Src: /src/nettle/mini-gmp.c:1840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1842
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1842
    functionName: mpz_cmp_d
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_d
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_d (const mpz_t x, double d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_CMP
      Src: /src/nettle/mini-gmp.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1850
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1850
    functionName: mpz_sgn
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 8
    functionsReached:
    - GMP_CMP
    linkageType: ''
    returnType: int
    signature: int mpz_sgn (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_ui
      Src: /src/nettle/mini-gmp.c:1858,1
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:1862,1
    - Dst: GMP_NEG_CAST
      Src: /src/nettle/mini-gmp.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - long
    constantsTouched: []
    func_position:
      end: 1863
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1863
    functionName: mpz_cmp_si
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_cmpabs_ui
    - GMP_NEG_CAST
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_si (const mpz_t u, long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1874
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1874
    functionName: mpz_cmp_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 16
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_ui (const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/nettle/mini-gmp.c:1885,1
    - Dst: mpn_cmp
      Src: /src/nettle/mini-gmp.c:1887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1888
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1888
    functionName: mpz_cmp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 21
    functionsReached:
    - mpn_cmp
    linkageType: ''
    returnType: int
    signature: int mpz_cmp (const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1893,1
    - Dst: mpn_absfits_ulong_p
      Src: /src/nettle/mini-gmp.c:1895,1
    - Dst: GMP_CMP
      Src: /src/nettle/mini-gmp.c:1900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1902
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1902
    functionName: mpz_cmpabs_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached:
    - GMP_ABS
    - mpn_absfits_ulong_p
    - GMP_CMP
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs_ui (const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp4
      Src: /src/nettle/mini-gmp.c:1907,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1907,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1909
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1909
    functionName: mpz_cmpabs
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - GMP_ABS
    - mpn_cmp4
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs (const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:1914,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1916
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1916
    functionName: mpz_abs
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - GMP_ABS
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void mpz_abs (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1923
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1923
    functionName: mpz_neg
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void mpz_neg (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:1928,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:1929,1
    - Dst: MP_PTR_SWAP
      Src: /src/nettle/mini-gmp.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1931
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1931
    functionName: mpz_swap
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - MP_SIZE_T_SWAP
    - MP_PTR_SWAP
    linkageType: ''
    returnType: void
    signature: void mpz_swap (mpz_t u, mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:1941,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:1942,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1944
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1944
    functionName: mpz_add_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 13
    functionsReached:
    - mpz_add
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_add_ui (mpz_t r, const mpz_t a, unsigned long b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_ui_sub
      Src: /src/nettle/mini-gmp.c:1949,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1951
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1951
    functionName: mpz_sub_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 20
    functionsReached:
    - mpz_neg
    - mpz_ui_sub
    linkageType: ''
    returnType: void
    signature: void mpz_sub_ui (mpz_t r, const mpz_t a, unsigned long b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:1956,1
    - Dst: mpz_add_ui
      Src: /src/nettle/mini-gmp.c:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - unsigned long
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1958
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1958
    functionName: mpz_ui_sub
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_neg
    - mpz_add_ui
    linkageType: ''
    returnType: void
    signature: void mpz_ui_sub (mpz_t r, unsigned long a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1963,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1964,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:1970,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:1971,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1974,1
    - Dst: mpn_add
      Src: /src/nettle/mini-gmp.c:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1980
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1980
    functionName: mpz_abs_add
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_SRCPTR_SWAP
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_add
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpz_abs_add (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1985,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:1986,1
    - Dst: mpn_cmp4
      Src: /src/nettle/mini-gmp.c:1990,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1993,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:1994,1
    - Dst: mpn_sub
      Src: /src/nettle/mini-gmp.c:1994,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:1995,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:1999,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:2000,1
    - Dst: mpn_sub
      Src: /src/nettle/mini-gmp.c:2000,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2005
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 2005
    functionName: mpz_abs_sub
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_normalized_size
    - gmp_assert_nocarry
    - mpn_cmp4
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_sub
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpz_abs_sub (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs_add
      Src: /src/nettle/mini-gmp.c:2013,1
    - Dst: mpz_abs_sub
      Src: /src/nettle/mini-gmp.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2018
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2018
    functionName: mpz_add
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 8
    functionsReached:
    - mpz_abs_sub
    - mpz_abs_add
    linkageType: ''
    returnType: void
    signature: void mpz_add (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs_sub
      Src: /src/nettle/mini-gmp.c:2026,1
    - Dst: mpz_abs_add
      Src: /src/nettle/mini-gmp.c:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2031
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2031
    functionName: mpz_sub
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 9
    functionsReached:
    - mpz_abs_sub
    - mpz_abs_add
    linkageType: ''
    returnType: void
    signature: void mpz_sub (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:2041,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/mini-gmp.c:2044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - long int
    constantsTouched: []
    func_position:
      end: 2045
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2045
    functionName: mpz_mul_si
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - mpz_neg
    linkageType: ''
    returnType: void
    signature: void mpz_mul_si (mpz_t r, const mpz_t u, long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:2051,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2052,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2055
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2055
    functionName: mpz_mul_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached:
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_mul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2076,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2077,1
    - Dst: mpz_init2
      Src: /src/nettle/mini-gmp.c:2079,1
    - Dst: mpn_mul
      Src: /src/nettle/mini-gmp.c:2083,1
    - Dst: mpn_mul
      Src: /src/nettle/mini-gmp.c:2085,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2091,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2093
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2093
    functionName: mpz_mul
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 15
    functionsReached:
    - mpn_mul
    - mpz_init2
    - mpz_swap
    - mpz_clear
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_mul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2103,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:2114,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:2117,1
    - Dst: mpn_copyd
      Src: /src/nettle/mini-gmp.c:2122,1
    - Dst: mpn_zero
      Src: /src/nettle/mini-gmp.c:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - r
    - u
    - bits
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2127
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2127
    functionName: mpz_mul_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 9
    functionsReached:
    - mpn_zero
    - mpn_copyd
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpz_mul_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:2133,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2134,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2135,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2137
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2137
    functionName: mpz_addmul_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_add
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_addmul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:2143,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2144,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2145,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2147
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2147
    functionName: mpz_submul_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_submul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2153,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2154,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2155,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2157
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2157
    functionName: mpz_addmul
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    - mpz_add
    - mpz_mul
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_addmul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2163,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2164,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2165,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2167
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2167
    functionName: mpz_submul
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    - mpz_mul
    - mpz_init
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_submul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:2183,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2194,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2195,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2205,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:2207,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2213,1
    - Dst: mpz_set_si
      Src: /src/nettle/mini-gmp.c:2215,1
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:2221,1
    - Dst: mpz_init_set
      Src: /src/nettle/mini-gmp.c:2233,1
    - Dst: mpz_init2
      Src: /src/nettle/mini-gmp.c:2240,1
    - Dst: mpn_div_qr
      Src: /src/nettle/mini-gmp.c:2246,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:2254,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/mini-gmp.c:2260,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2262,1
    - Dst: mpz_add_ui
      Src: /src/nettle/mini-gmp.c:2267,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2269,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2274,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2275,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2278,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2280,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 5
    argNames:
    - q
    - r
    - n
    - d
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2284
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2284
    functionName: mpz_div_qr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_init_set
    - gmp_die
    - mpn_normalized_size
    - mpz_sub_ui
    - mpz_init2
    - mpz_set
    - mpz_add_ui
    - mpz_swap
    - mpz_set_si
    - mpn_div_qr
    - mpz_clear
    - mpz_set_ui
    - GMP_ABS
    - mpz_add
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: "int mpz_div_qr (mpz_t q, mpz_t r,\n\t    const mpz_t n, const mpz_t
      d, enum mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2290
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2290
    functionName: mpz_cdiv_qr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2296
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2296
    functionName: mpz_fdiv_qr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2302
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2302
    functionName: mpz_tdiv_qr
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2308
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2308
    functionName: mpz_cdiv_q
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2314
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2314
    functionName: mpz_fdiv_q
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2320
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2320
    functionName: mpz_tdiv_q
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2326
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2326
    functionName: mpz_cdiv_r
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2332
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2332
    functionName: mpz_fdiv_r
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 7
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2338
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2338
    functionName: mpz_tdiv_r
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: mpz_mod
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 14
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_mod (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2362,1
    - Dst: mpn_zero_p
      Src: /src/nettle/mini-gmp.c:2369,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:2379,1
    - Dst: mpn_rshift
      Src: /src/nettle/mini-gmp.c:2383,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:2388,1
    - Dst: mpz_add_ui
      Src: /src/nettle/mini-gmp.c:2395,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:2397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - q
    - u
    - bit_index
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2398
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2398
    functionName: mpz_div_q_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_neg
    - mpn_copyi
    - mpz_add_ui
    - mpn_zero_p
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index,\n\t\tenum
      mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:2415,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:2417,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:2418,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:2431,1
    - Dst: mpn_neg
      Src: /src/nettle/mini-gmp.c:2431,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:2442,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:2450,1
    - Dst: mpn_neg
      Src: /src/nettle/mini-gmp.c:2457,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:2466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - r
    - u
    - bit_index
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2468
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2468
    functionName: mpz_div_r_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_neg
    - mpn_normalized_size
    - mpn_copyi
    - gmp_assert_nocarry
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: "void mpz_div_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bit_index,\n\t\tenum
      mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/nettle/mini-gmp.c:2473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2474
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2474
    functionName: mpz_cdiv_q_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/nettle/mini-gmp.c:2479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2480
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2480
    functionName: mpz_fdiv_q_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/nettle/mini-gmp.c:2485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2486
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2486
    functionName: mpz_tdiv_q_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/nettle/mini-gmp.c:2491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2492
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2492
    functionName: mpz_cdiv_r_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/nettle/mini-gmp.c:2497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2498
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2498
    functionName: mpz_fdiv_r_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/nettle/mini-gmp.c:2503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2504
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2504
    functionName: mpz_tdiv_r_2exp
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:2509,1
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2510
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2510
    functionName: mpz_divexact
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_assert_nocarry
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_divexact (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2516
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2516
    functionName: mpz_divisible_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: int
    signature: int mpz_divisible_p (const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/mini-gmp.c:2525,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:2526,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2528,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2529,1
    - Dst: mpz_divisible_p
      Src: /src/nettle/mini-gmp.c:2530,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2534
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2534
    functionName: mpz_congruent_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_divisible_p
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int mpz_congruent_p (const mpz_t a, const mpz_t b, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2543,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:2544,1
    - Dst: mpz_div_qr
      Src: /src/nettle/mini-gmp.c:2545,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2546,1
    - Dst: mpz_get_ui
      Src: /src/nettle/mini-gmp.c:2547,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2550,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - q
    - r
    - n
    - d
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2554
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2554
    functionName: mpz_div_qr_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_get_ui
    - mpz_init_set_ui
    - mpz_swap
    - mpz_div_qr
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long mpz_div_qr_ui (mpz_t q, mpz_t r,\n\t       const mpz_t
      n, unsigned long d, enum mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2560
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2560
    functionName: mpz_cdiv_qr_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2566
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2566
    functionName: mpz_fdiv_qr_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2572
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2572
    functionName: mpz_tdiv_qr_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2578
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2578
    functionName: mpz_cdiv_q_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2584
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2584
    functionName: mpz_fdiv_q_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2590
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2590
    functionName: mpz_tdiv_q_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2596
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2596
    functionName: mpz_cdiv_r_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2601
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2601
    functionName: mpz_fdiv_r_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2606
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2606
    functionName: mpz_tdiv_r_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2612
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2612
    functionName: mpz_cdiv_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2618
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2618
    functionName: mpz_fdiv_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2624
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2624
    functionName: mpz_tdiv_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2630
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2630
    functionName: mpz_mod_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_mod_ui (mpz_t r, const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:2635,1
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2636
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2636
    functionName: mpz_divexact_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_assert_nocarry
    - mpz_div_qr_ui
    linkageType: ''
    returnType: void
    signature: void mpz_divexact_ui (mpz_t q, const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/nettle/mini-gmp.c:2641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2642
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2642
    functionName: mpz_divisible_ui_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: int
    signature: int mpz_divisible_ui_p (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:2651,1
    - Dst: gmp_ctz
      Src: /src/nettle/mini-gmp.c:2658,1
    - Dst: MP_LIMB_T_SWAP
      Src: /src/nettle/mini-gmp.c:2664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 2687
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2687
    functionName: mpn_gcd_11
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_ctz
    - assert
    - MP_LIMB_T_SWAP
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_gcd_11 (mp_limb_t u, mp_limb_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:2693,1
    - Dst: mpz_gcd
      Src: /src/nettle/mini-gmp.c:2694,1
    - Dst: mpz_get_ui
      Src: /src/nettle/mini-gmp.c:2696,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2699,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - g
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2704
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2704
    functionName: mpz_gcd_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_get_ui
    - mpz_swap
    - mpz_init_set_ui
    - mpz_clear
    - mpz_gcd
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_gcd_ui (mpz_t g, const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:2711,1
    - Dst: mpn_common_scan
      Src: /src/nettle/mini-gmp.c:2713,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:2714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2717
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2717
    functionName: mpz_make_odd
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_common_scan
    - mpz_tdiv_q_2exp
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_make_odd (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2727,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2732,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2736,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2737,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2739,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2740,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2741,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2742,1
    - Dst: GMP_MIN
      Src: /src/nettle/mini-gmp.c:2743,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2746,1
    - Dst: mpz_tdiv_r
      Src: /src/nettle/mini-gmp.c:2748,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2751,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2758,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:2759,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2762,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2766,1
    - Dst: mpz_tdiv_ui
      Src: /src/nettle/mini-gmp.c:2771,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:2772,1
    - Dst: mpn_gcd_11
      Src: /src/nettle/mini-gmp.c:2772,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2775,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2777,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2778,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - g
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2780
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2780
    functionName: mpz_gcd
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 5
    functionsReached:
    - GMP_MIN
    - mpz_mul_2exp
    - mpz_sub
    - mpz_tdiv_ui
    - mpn_gcd_11
    - mpz_swap
    - mpz_cmp
    - mpz_init
    - mpz_make_odd
    - mpz_clear
    - mpz_tdiv_r
    - mpz_abs
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_gcd (mpz_t g, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2793,1
    - Dst: mpz_set_si
      Src: /src/nettle/mini-gmp.c:2797,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2805,1
    - Dst: mpz_set_si
      Src: /src/nettle/mini-gmp.c:2807,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2813,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2814,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2815,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2816,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2817,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2818,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2820,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2821,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2822,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2823,1
    - Dst: GMP_MIN
      Src: /src/nettle/mini-gmp.c:2824,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2832,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:2833,1
    - Dst: MPZ_PTR_SWAP
      Src: /src/nettle/mini-gmp.c:2834,1
    - Dst: MP_BITCNT_T_SWAP
      Src: /src/nettle/mini-gmp.c:2835,1
    - Dst: mpz_setbit
      Src: /src/nettle/mini-gmp.c:2861,1
    - Dst: mpz_tdiv_qr
      Src: /src/nettle/mini-gmp.c:2862,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2863,1
    - Dst: mpz_setbit
      Src: /src/nettle/mini-gmp.c:2865,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2871,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2872,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2873,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:2879,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2890,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2891,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2892,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2894,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2895,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2896,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2900,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2901,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2902,1
    - Dst: mpz_make_odd
      Src: /src/nettle/mini-gmp.c:2904,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2905,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2906,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/mini-gmp.c:2915,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:2916,1
    - Dst: mpz_divexact
      Src: /src/nettle/mini-gmp.c:2921,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2922,1
    - Dst: mpz_divexact
      Src: /src/nettle/mini-gmp.c:2923,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2924,1
    - Dst: mpz_odd_p
      Src: /src/nettle/mini-gmp.c:2929,1
    - Dst: mpz_odd_p
      Src: /src/nettle/mini-gmp.c:2929,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2931,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2932,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:2934,1
    - Dst: mpz_even_p
      Src: /src/nettle/mini-gmp.c:2934,1
    - Dst: mpz_even_p
      Src: /src/nettle/mini-gmp.c:2934,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:2935,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:2936,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:2940,1
    - Dst: mpz_cmpabs
      Src: /src/nettle/mini-gmp.c:2941,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2943,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:2944,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:2947,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:2949,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2951,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2953,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:2955,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2957,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2958,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2959,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2960,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2961,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2962,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 103
    argCount: 5
    argNames:
    - g
    - s
    - t
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2963
      start: 2782
    functionDepth: 1
    functionLinenumber: 2782
    functionLinenumberEnd: 2963
    functionName: mpz_gcdext
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_PTR_SWAP
    - mpz_set_si
    - mpz_odd_p
    - GMP_MIN
    - mpz_mul_2exp
    - MPZ_SRCPTR_SWAP
    - mpz_divexact
    - mpz_tdiv_q_2exp
    - mpz_abs
    - mpz_sub
    - mpz_neg
    - assert
    - mpz_cmpabs
    - mpz_make_odd
    - mpz_swap
    - mpz_tdiv_qr
    - mpz_cmp
    - mpz_add
    - mpz_even_p
    - mpz_init
    - MP_BITCNT_T_SWAP
    - mpz_clear
    - mpz_setbit
    linkageType: ''
    returnType: void
    signature: void mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:2976,1
    - Dst: mpz_gcd
      Src: /src/nettle/mini-gmp.c:2978,1
    - Dst: mpz_divexact
      Src: /src/nettle/mini-gmp.c:2979,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:2980,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:2982,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2984
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2984
    functionName: mpz_lcm
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_mul
    - mpz_divexact
    - mpz_clear
    - mpz_init
    - mpz_gcd
    - mpz_abs
    linkageType: ''
    returnType: void
    signature: void mpz_lcm (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_gcd_ui
      Src: /src/nettle/mini-gmp.c:2995,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/mini-gmp.c:2996,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:2998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2999
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 2999
    functionName: mpz_lcm_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - mpz_gcd_ui
    - mpz_abs
    linkageType: ''
    returnType: void
    signature: void mpz_lcm_ui (mpz_t r, const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:3007,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3010,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3011,1
    - Dst: mpz_gcdext
      Src: /src/nettle/mini-gmp.c:3013,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/mini-gmp.c:3014,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3021,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:3023,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3025,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3028,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - r
    - u
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3031
      start: 3001
    functionDepth: 0
    functionLinenumber: 3001
    functionLinenumberEnd: 3031
    functionName: mpz_invert
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 8
    functionsReached:
    - mpz_gcdext
    - mpz_cmpabs_ui
    - mpz_swap
    - mpz_init
    - mpz_clear
    - mpz_add
    - mpz_cmp_ui
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int mpz_invert (mpz_t r, const mpz_t u, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3041,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3046,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3048,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3053,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - b
    - e
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3055
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3055
    functionName: mpz_pow_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_swap
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_pow_ui (mpz_t r, const mpz_t b, unsigned long e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3062,1
    - Dst: mpz_pow_ui
      Src: /src/nettle/mini-gmp.c:3063,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - blimb
    - e
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3065
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3065
    functionName: mpz_ui_pow_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_pow_ui
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_ui_pow_ui (mpz_t r, unsigned long blimb, unsigned long e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3078,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3079,1
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:3081,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:3085,1
    - Dst: mpn_div_qr_invert
      Src: /src/nettle/mini-gmp.c:3090,1
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:3099,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:3100,1
    - Dst: mpn_lshift
      Src: /src/nettle/mini-gmp.c:3100,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3104,1
    - Dst: mpz_invert
      Src: /src/nettle/mini-gmp.c:3108,1
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:3109,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:3114,1
    - Dst: mpn_div_qr_preinv
      Src: /src/nettle/mini-gmp.c:3119,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3128,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:3129,1
    - Dst: mpn_sub
      Src: /src/nettle/mini-gmp.c:3129,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3132,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3134,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3144,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3146,1
    - Dst: mpn_div_qr_preinv
      Src: /src/nettle/mini-gmp.c:3149,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3150,1
    - Dst: mpn_div_qr_preinv
      Src: /src/nettle/mini-gmp.c:3161,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3162,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:3165,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3167,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3168,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - r
    - b
    - e
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3170
      start: 3067
    functionDepth: 2
    functionLinenumber: 3067
    functionLinenumberEnd: 3170
    functionName: mpz_powm
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 14
    functionsReached:
    - gmp_free
    - mpz_invert
    - mpz_mul
    - mpn_normalized_size
    - mpz_init_set_ui
    - GMP_ABS
    - mpz_abs
    - gmp_die
    - mpn_div_qr_invert
    - mpz_swap
    - MPZ_REALLOC
    - mpn_sub
    - mpn_div_qr_preinv
    - gmp_xalloc_limbs
    - mpz_init
    - mpz_set_ui
    - gmp_assert_nocarry
    - mpz_clear
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3177,1
    - Dst: mpz_powm
      Src: /src/nettle/mini-gmp.c:3178,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - b
    - elimb
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3180
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3180
    functionName: mpz_powm_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_init_set_ui
    - mpz_clear
    - mpz_powm
    linkageType: ''
    returnType: void
    signature: void mpz_powm_ui (mpz_t r, const mpz_t b, unsigned long elimb, const
      mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:3191,1
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:3193,1
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:3195,1
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:3197,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3203,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3204,1
    - Dst: mpz_setbit
      Src: /src/nettle/mini-gmp.c:3205,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/mini-gmp.c:3205,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3209,1
    - Dst: mpz_tdiv_q
      Src: /src/nettle/mini-gmp.c:3210,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3211,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:3212,1
    - Dst: mpz_cmpabs
      Src: /src/nettle/mini-gmp.c:3213,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3217,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:3219,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3222,1
    - Dst: mpz_pow_ui
      Src: /src/nettle/mini-gmp.c:3223,1
    - Dst: mpz_tdiv_q
      Src: /src/nettle/mini-gmp.c:3224,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/mini-gmp.c:3225,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3226,1
    - Dst: mpz_tdiv_q_ui
      Src: /src/nettle/mini-gmp.c:3227,1
    - Dst: mpz_cmpabs
      Src: /src/nettle/mini-gmp.c:3228,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3230,1
    - Dst: mpz_pow_ui
      Src: /src/nettle/mini-gmp.c:3234,1
    - Dst: mpz_sub
      Src: /src/nettle/mini-gmp.c:3235,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3238,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3239,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - x
    - r
    - y
    - z
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3241
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3241
    functionName: mpz_rootrem
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_neg
    - gmp_die
    - mpz_pow_ui
    - mpz_cmpabs
    - mpz_set
    - mpz_add
    - mpz_cmpabs_ui
    - mpz_sizeinbase
    - mpz_swap
    - mpz_tdiv_q_ui
    - mpz_init
    - mpz_tdiv_q_2exp
    - mpz_mul_ui
    - mpz_setbit
    - mpz_clear
    - mpz_tdiv_q
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_rootrem (mpz_t x, mpz_t r, const mpz_t y, unsigned long z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3249,1
    - Dst: mpz_rootrem
      Src: /src/nettle/mini-gmp.c:3250,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3255
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3255
    functionName: mpz_root
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: int
    signature: int mpz_root (mpz_t x, const mpz_t y, unsigned long z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/nettle/mini-gmp.c:3261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3262
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3262
    functionName: mpz_sqrtrem
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    linkageType: ''
    returnType: void
    signature: void mpz_sqrtrem (mpz_t s, mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/nettle/mini-gmp.c:3267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3268
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3268
    functionName: mpz_sqrt
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_rootrem
    linkageType: ''
    returnType: void
    signature: void mpz_sqrt (mpz_t s, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_root
      Src: /src/nettle/mini-gmp.c:3276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3277
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3277
    functionName: mpz_perfect_square_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_root
    linkageType: ''
    returnType: int
    signature: int mpz_perfect_square_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3284,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3285,1
    - Dst: mpz_root
      Src: /src/nettle/mini-gmp.c:3286,1
    - Dst: mpz_roinit_normal_n
      Src: /src/nettle/mini-gmp.c:3286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 3287
      start: 3279
    functionDepth: 1
    functionLinenumber: 3279
    functionLinenumberEnd: 3287
    functionName: mpn_perfect_square_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_root
    - assert
    - mpz_roinit_normal_n
    linkageType: ''
    returnType: int
    signature: int mpn_perfect_square_p (mp_srcptr p, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3295,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3296,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3298,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3299,1
    - Dst: mpz_rootrem
      Src: /src/nettle/mini-gmp.c:3300,1
    - Dst: mpz_roinit_normal_n
      Src: /src/nettle/mini-gmp.c:3300,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3302,1
    - Dst: mpn_copyd
      Src: /src/nettle/mini-gmp.c:3303,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3304,1
    - Dst: mpn_copyd
      Src: /src/nettle/mini-gmp.c:3307,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - sp
    - rp
    - p
    - n
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 3310
      start: 3289
    functionDepth: 1
    functionLinenumber: 3289
    functionLinenumberEnd: 3310
    functionName: mpn_sqrtrem
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    - assert
    - mpn_copyd
    - mpz_init
    - mpz_clear
    - mpz_roinit_normal_n
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_sqrtrem (mp_ptr sp, mp_ptr rp, mp_srcptr p, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:3317,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/mini-gmp.c:3320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - n
    - m
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3321
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3321
    functionName: mpz_mfac_uiui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_mfac_uiui (mpz_t x, unsigned long n, unsigned long m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mfac_uiui
      Src: /src/nettle/mini-gmp.c:3326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3327
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3327
    functionName: mpz_2fac_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mfac_uiui
    linkageType: ''
    returnType: void
    signature: void mpz_2fac_ui (mpz_t x, unsigned long n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mfac_uiui
      Src: /src/nettle/mini-gmp.c:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3333
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3333
    functionName: mpz_fac_ui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mfac_uiui
    linkageType: ''
    returnType: void
    signature: void mpz_fac_ui (mpz_t x, unsigned long n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:3340,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3345,1
    - Dst: mpz_fac_ui
      Src: /src/nettle/mini-gmp.c:3346,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/mini-gmp.c:3349,1
    - Dst: mpz_divexact
      Src: /src/nettle/mini-gmp.c:3351,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n
    - k
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3353
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3353
    functionName: mpz_bin_uiui
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_divexact
    - mpz_fac_ui
    - mpz_init
    - mpz_set_ui
    - mpz_mul_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_bin_uiui (mpz_t r, unsigned long n, unsigned long k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3365,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3366,1
    - Dst: gmp_ctz
      Src: /src/nettle/mini-gmp.c:3373,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3392,1
    - Dst: gmp_ctz
      Src: /src/nettle/mini-gmp.c:3395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 3398
      start: 3360
    functionDepth: 1
    functionLinenumber: 3360
    functionLinenumberEnd: 3398
    functionName: gmp_jacobi_coprime
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_ctz
    - assert
    linkageType: ''
    returnType: int
    signature: int gmp_jacobi_coprime (mp_limb_t a, mp_limb_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mod
      Src: /src/nettle/mini-gmp.c:3403,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3405,1
    - Dst: mpz_submul_ui
      Src: /src/nettle/mini-gmp.c:3406,1
    - Dst: mpz_tdiv_r
      Src: /src/nettle/mini-gmp.c:3407,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - V
    - Qk
    - n
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3410
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3410
    functionName: gmp_lucas_step_k_2k
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_submul_ui
    - mpz_mod
    - mpz_mul
    - mpz_tdiv_r
    linkageType: ''
    returnType: void
    signature: void gmp_lucas_step_k_2k (mpz_t V, mpz_t Qk, const mpz_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3424,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3425,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3426,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3427,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/mini-gmp.c:3427,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3428,1
    - Dst: mpz_odd_p
      Src: /src/nettle/mini-gmp.c:3428,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3430,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:3431,1
    - Dst: mpz_set_si
      Src: /src/nettle/mini-gmp.c:3432,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/mini-gmp.c:3434,1
    - Dst: mpz_mul
      Src: /src/nettle/mini-gmp.c:3437,1
    - Dst: gmp_lucas_step_k_2k
      Src: /src/nettle/mini-gmp.c:3440,1
    - Dst: mpz_tstbit
      Src: /src/nettle/mini-gmp.c:3445,1
    - Dst: mpz_mul_si
      Src: /src/nettle/mini-gmp.c:3448,1
    - Dst: mpz_swap
      Src: /src/nettle/mini-gmp.c:3450,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3451,1
    - Dst: mpz_odd_p
      Src: /src/nettle/mini-gmp.c:3454,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3455,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:3456,1
    - Dst: mpz_mul_si
      Src: /src/nettle/mini-gmp.c:3459,1
    - Dst: mpz_add
      Src: /src/nettle/mini-gmp.c:3460,1
    - Dst: mpz_tdiv_r
      Src: /src/nettle/mini-gmp.c:3461,1
    - Dst: mpz_tdiv_r
      Src: /src/nettle/mini-gmp.c:3463,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - V
    - Qk
    - Q
    - b0
    - n
    argTypes:
    - mpz_t
    - mpz_t
    - long
    - mp_bitcnt_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3469
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3469
    functionName: gmp_lucas_mod
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_tstbit
    - assert
    - mpz_mul
    - gmp_lucas_step_k_2k
    - mpz_mul_si
    - mpz_tdiv_r
    - mpz_init_set_ui
    - mpz_swap
    - mpz_set_si
    - mpz_odd_p
    - mpz_tdiv_q_2exp
    - mpz_clear
    - mpz_set_ui
    - mpz_sizeinbase
    - mpz_add
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int gmp_lucas_mod (mpz_t V, mpz_t Qk, long Q,\n\t       mp_bitcnt_t
      b0, const mpz_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_normal_n
      Src: /src/nettle/mini-gmp.c:3484,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3484,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3486,1
    - Dst: mpz_odd_p
      Src: /src/nettle/mini-gmp.c:3486,1
    - Dst: mpz_root
      Src: /src/nettle/mini-gmp.c:3488,1
    - Dst: mpz_tdiv_ui
      Src: /src/nettle/mini-gmp.c:3503,1
    - Dst: gmp_jacobi_coprime
      Src: /src/nettle/mini-gmp.c:3507,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3509,1
    - Dst: mpz_scan0
      Src: /src/nettle/mini-gmp.c:3512,1
    - Dst: gmp_lucas_mod
      Src: /src/nettle/mini-gmp.c:3517,1
    - Dst: gmp_lucas_step_k_2k
      Src: /src/nettle/mini-gmp.c:3521,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - x
    - Qk
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3525
      start: 3474
    functionDepth: 1
    functionLinenumber: 3474
    functionLinenumberEnd: 3525
    functionName: gmp_stronglucas
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_root
    - assert
    - mpz_scan0
    - gmp_lucas_step_k_2k
    - gmp_lucas_mod
    - mpz_odd_p
    - mpz_init
    - mpz_tdiv_ui
    - mpz_clear
    - GMP_ABS
    - mpz_roinit_normal_n
    - gmp_jacobi_coprime
    linkageType: ''
    returnType: int
    signature: int gmp_stronglucas (const mpz_t x, mpz_t Qk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3531,1
    - Dst: mpz_powm
      Src: /src/nettle/mini-gmp.c:3534,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/mini-gmp.c:3536,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:3536,1
    - Dst: mpz_powm_ui
      Src: /src/nettle/mini-gmp.c:3541,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:3542,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/mini-gmp.c:3547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - n
    - nm1
    - y
    - q
    - k
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3551
      start: 3527
    functionDepth: 1
    functionLinenumber: 3527
    functionLinenumberEnd: 3551
    functionName: gmp_millerrabin
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_powm
    - assert
    - mpz_cmp
    - mpz_powm_ui
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int gmp_millerrabin (const mpz_t n, const mpz_t nm1, mpz_t y,\n\t\t
      const mpz_t q, mp_bitcnt_t k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_even_p
      Src: /src/nettle/mini-gmp.c:3572,1
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:3573,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3576,1
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:3578,1
    - Dst: mpz_gcd_ui
      Src: /src/nettle/mini-gmp.c:3581,1
    - Dst: mpz_cmpabs_ui
      Src: /src/nettle/mini-gmp.c:3585,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3588,1
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:3589,1
    - Dst: mpz_abs
      Src: /src/nettle/mini-gmp.c:3592,1
    - Dst: mpz_scan1
      Src: /src/nettle/mini-gmp.c:3594,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/mini-gmp.c:3595,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/mini-gmp.c:3598,1
    - Dst: gmp_millerrabin
      Src: /src/nettle/mini-gmp.c:3599,1
    - Dst: gmp_stronglucas
      Src: /src/nettle/mini-gmp.c:3599,1
    - Dst: mpz_set_ui
      Src: /src/nettle/mini-gmp.c:3609,1
    - Dst: mpz_cmp
      Src: /src/nettle/mini-gmp.c:3610,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3614,1
    - Dst: gmp_millerrabin
      Src: /src/nettle/mini-gmp.c:3617,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3619,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3620,1
    - Dst: mpz_clear
      Src: /src/nettle/mini-gmp.c:3621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - n
    - reps
    argTypes:
    - mpz_t
    - int
    constantsTouched: []
    func_position:
      end: 3624
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3624
    functionName: mpz_probab_prime_p
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpz_abs
    - mpz_gcd_ui
    - mpz_cmpabs_ui
    - mpz_init_set_ui
    - mpz_cmp
    - gmp_millerrabin
    - mpz_scan1
    - mpz_init
    - mpz_tdiv_q_2exp
    - mpz_clear
    - gmp_stronglucas
    - mpz_even_p
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: int mpz_probab_prime_p (const mpz_t n, int reps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3682
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3682
    functionName: mpz_tstbit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: int
    signature: int mpz_tstbit (const mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3691,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3701,1
    - Dst: mpn_add_1
      Src: /src/nettle/mini-gmp.c:3714,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3723
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3723
    functionName: mpz_abs_add_bit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_add_1
    linkageType: ''
    returnType: void
    signature: void mpz_abs_add_bit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3732,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3738,1
    - Dst: gmp_assert_nocarry
      Src: /src/nettle/mini-gmp.c:3740,1
    - Dst: mpn_sub_1
      Src: /src/nettle/mini-gmp.c:3740,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3744
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3744
    functionName: mpz_abs_sub_bit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - mpn_sub_1
    - gmp_assert_nocarry
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_abs_sub_bit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/nettle/mini-gmp.c:3749,1
    - Dst: mpz_abs_add_bit
      Src: /src/nettle/mini-gmp.c:3752,1
    - Dst: mpz_abs_sub_bit
      Src: /src/nettle/mini-gmp.c:3754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3756
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3756
    functionName: mpz_setbit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_setbit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/nettle/mini-gmp.c:3761,1
    - Dst: mpz_abs_sub_bit
      Src: /src/nettle/mini-gmp.c:3764,1
    - Dst: mpz_abs_add_bit
      Src: /src/nettle/mini-gmp.c:3766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3768
      start: 3758
    functionDepth: 0
    functionLinenumber: 3758
    functionLinenumberEnd: 3768
    functionName: mpz_clrbit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_clrbit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/nettle/mini-gmp.c:3773,1
    - Dst: mpz_abs_sub_bit
      Src: /src/nettle/mini-gmp.c:3774,1
    - Dst: mpz_abs_add_bit
      Src: /src/nettle/mini-gmp.c:3776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3777
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3777
    functionName: mpz_combit
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_combit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add_ui
      Src: /src/nettle/mini-gmp.c:3782,1
    - Dst: mpz_neg
      Src: /src/nettle/mini-gmp.c:3783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3784
      start: 3779
    functionDepth: 0
    functionLinenumber: 3779
    functionLinenumberEnd: 3784
    functionName: mpz_com
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_neg
    - mpz_add_ui
    linkageType: ''
    returnType: void
    signature: void mpz_com (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3796,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3797,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:3800,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:3801,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3820,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3839,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3853,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3856
      start: 3786
    functionDepth: 1
    functionLinenumber: 3786
    functionLinenumberEnd: 3856
    functionName: mpz_and
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_and (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3868,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3869,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:3872,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:3873,1
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:3877,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3893,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3912,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3929
      start: 3858
    functionDepth: 1
    functionLinenumber: 3858
    functionLinenumberEnd: 3929
    functionName: mpz_ior
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - mpz_set
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_ior (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3941,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:3942,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:3945,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/nettle/mini-gmp.c:3946,1
    - Dst: mpz_set
      Src: /src/nettle/mini-gmp.c:3950,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:3962,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:3981,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:3995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3998
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3998
    functionName: mpz_xor
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - mpz_set
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_xor (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 4020
      start: 4000
    functionDepth: 0
    functionLinenumber: 4000
    functionLinenumberEnd: 4020
    functionName: gmp_popcount_limb
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gmp_popcount_limb (mp_limb_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_popcount_limb
      Src: /src/nettle/mini-gmp.c:4029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 4032
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4032
    functionName: mpn_popcount
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_popcount_limb
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_popcount (mp_srcptr p, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_popcount
      Src: /src/nettle/mini-gmp.c:4044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4045
      start: 4034
    functionDepth: 0
    functionLinenumber: 4034
    functionLinenumberEnd: 4045
    functionName: mpz_popcount
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_popcount
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_popcount (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4064,1
    - Dst: MPN_SRCPTR_SWAP
      Src: /src/nettle/mini-gmp.c:4073,1
    - Dst: gmp_popcount_limb
      Src: /src/nettle/mini-gmp.c:4083,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4085,1
    - Dst: gmp_popcount_limb
      Src: /src/nettle/mini-gmp.c:4092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4096
      start: 4047
    functionDepth: 1
    functionLinenumber: 4047
    functionLinenumberEnd: 4096
    functionName: mpz_hamdist
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_popcount_limb
    - MPN_SRCPTR_SWAP
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_hamdist (const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:4106,1
    - Dst: mpn_zero_p
      Src: /src/nettle/mini-gmp.c:4122,1
    - Dst: mpn_common_scan
      Src: /src/nettle/mini-gmp.c:4131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - u
    - starting_bit
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 4132
      start: 4098
    functionDepth: 0
    functionLinenumber: 4098
    functionLinenumberEnd: 4132
    functionName: mpz_scan1
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - GMP_ABS
    - mpn_zero_p
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_scan1 (const mpz_t u, mp_bitcnt_t starting_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:4143,1
    - Dst: mpn_zero_p
      Src: /src/nettle/mini-gmp.c:4155,1
    - Dst: mpn_common_scan
      Src: /src/nettle/mini-gmp.c:4160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - u
    - starting_bit
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 4161
      start: 4134
    functionDepth: 0
    functionLinenumber: 4134
    functionLinenumberEnd: 4161
    functionName: mpz_scan0
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 2
    functionsReached:
    - GMP_ABS
    - mpn_zero_p
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_scan0 (const mpz_t u, mp_bitcnt_t starting_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4176,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4177,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:4179,1
    - Dst: mpn_limb_size_in_base_2
      Src: /src/nettle/mini-gmp.c:4185,1
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:4202,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:4203,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/nettle/mini-gmp.c:4204,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/nettle/mini-gmp.c:4210,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - u
    - base
    argTypes:
    - mpz_t
    - int
    constantsTouched: []
    func_position:
      end: 4217
      start: 4166
    functionDepth: 2
    functionLinenumber: 4166
    functionLinenumberEnd: 4217
    functionName: mpz_sizeinbase
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 25
    functionsReached:
    - assert
    - gmp_free
    - mpn_limb_size_in_base_2
    - mpn_copyi
    - mpn_div_qr_1_preinv
    - gmp_xalloc_limbs
    - mpn_div_qr_1_invert
    - GMP_ABS
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_sizeinbase (const mpz_t u, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/nettle/mini-gmp.c:4244,1
    - Dst: gmp_xalloc
      Src: /src/nettle/mini-gmp.c:4246,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:4248,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/nettle/mini-gmp.c:4262,1
    - Dst: mpn_get_str_bits
      Src: /src/nettle/mini-gmp.c:4266,1
    - Dst: mpn_get_base_info
      Src: /src/nettle/mini-gmp.c:4272,1
    - Dst: gmp_xalloc_limbs
      Src: /src/nettle/mini-gmp.c:4273,1
    - Dst: mpn_copyi
      Src: /src/nettle/mini-gmp.c:4274,1
    - Dst: mpn_get_str_other
      Src: /src/nettle/mini-gmp.c:4276,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - sp
    - base
    - u
    argTypes:
    - char*
    - int
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4285
      start: 4219
    functionDepth: 2
    functionLinenumber: 4219
    functionLinenumberEnd: 4285
    functionName: mpz_get_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_get_str_bits
    - mpn_base_power_of_two_p
    - gmp_free
    - mpn_copyi
    - gmp_xalloc
    - GMP_ABS
    - mpn_get_str_other
    - gmp_xalloc_limbs
    - mpn_get_base_info
    - mpz_sizeinbase
    linkageType: ''
    returnType: char
    signature: 'char *

      mpz_get_str (char *sp, int base, const mpz_t u)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4297,1
    - Dst: isspace
      Src: /src/nettle/mini-gmp.c:4299,1
    - Dst: gmp_xalloc
      Src: /src/nettle/mini-gmp.c:4331,1
    - Dst: strlen
      Src: /src/nettle/mini-gmp.c:4331,1
    - Dst: isspace
      Src: /src/nettle/mini-gmp.c:4338,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4351,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4361,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/nettle/mini-gmp.c:4365,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:4370,1
    - Dst: mpn_set_str_bits
      Src: /src/nettle/mini-gmp.c:4371,1
    - Dst: mpn_get_base_info
      Src: /src/nettle/mini-gmp.c:4376,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:4378,1
    - Dst: mpn_set_str_other
      Src: /src/nettle/mini-gmp.c:4379,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4381,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4384,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4385,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 3
    argNames:
    - r
    - sp
    - base
    argTypes:
    - mpz_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4390
      start: 4287
    functionDepth: 2
    functionLinenumber: 4287
    functionLinenumberEnd: 4390
    functionName: mpz_set_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpn_base_power_of_two_p
    - strlen
    - isspace
    - gmp_free
    - gmp_xalloc
    - mpn_set_str_bits
    - mpn_get_base_info
    - MPZ_REALLOC
    - mpn_set_str_other
    linkageType: ''
    returnType: int
    signature: int mpz_set_str (mpz_t r, const char *sp, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/mini-gmp.c:4395,1
    - Dst: mpz_set_str
      Src: /src/nettle/mini-gmp.c:4396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - sp
    - base
    argTypes:
    - mpz_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4397
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4397
    functionName: mpz_init_set_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_set_str
    - mpz_init
    linkageType: ''
    returnType: int
    signature: int mpz_init_set_str (mpz_t r, const char *sp, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_get_str
      Src: /src/nettle/mini-gmp.c:4405,1
    - Dst: strlen
      Src: /src/nettle/mini-gmp.c:4406,1
    - Dst: fwrite
      Src: /src/nettle/mini-gmp.c:4407,1
    - Dst: gmp_free
      Src: /src/nettle/mini-gmp.c:4408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - base
    - x
    argTypes:
    - FILE*
    - int
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4410
      start: 4399
    functionDepth: 2
    functionLinenumber: 4399
    functionLinenumberEnd: 4410
    functionName: mpz_out_str
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 3
    functionsReached:
    - fwrite
    - gmp_free
    - strlen
    - mpz_get_str
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_out_str (FILE *stream, int base, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4419
      start: 4413
    functionDepth: 0
    functionLinenumber: 4413
    functionLinenumberEnd: 4419
    functionName: gmp_detect_endian
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gmp_detect_endian (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:4440,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4442,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4443,1
    - Dst: gmp_detect_endian
      Src: /src/nettle/mini-gmp.c:4446,1
    - Dst: MPZ_REALLOC
      Src: /src/nettle/mini-gmp.c:4465,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4481,1
    - Dst: mpn_normalized_size
      Src: /src/nettle/mini-gmp.c:4485,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 7
    argNames:
    - r
    - count
    - order
    - size
    - endian
    - nails
    - src
    argTypes:
    - mpz_t
    - size_t
    - int
    - size_t
    - int
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 4488
      start: 4422
    functionDepth: 1
    functionLinenumber: 4422
    functionLinenumberEnd: 4488
    functionName: mpz_import
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_die
    - assert
    - mpn_normalized_size
    - gmp_detect_endian
    - MPZ_REALLOC
    linkageType: ''
    returnType: void
    signature: "void mpz_import (mpz_t r, size_t count, int order, size_t size, int
      endian,\n\t    size_t nails, const void *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/nettle/mini-gmp.c:4498,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4500,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4501,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4502,1
    - Dst: GMP_ABS
      Src: /src/nettle/mini-gmp.c:4518,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4522,1
    - Dst: gmp_xalloc
      Src: /src/nettle/mini-gmp.c:4537,1
    - Dst: gmp_detect_endian
      Src: /src/nettle/mini-gmp.c:4540,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4585,1
    - Dst: assert
      Src: /src/nettle/mini-gmp.c:4586,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 7
    argNames:
    - r
    - countp
    - order
    - size
    - endian
    - nails
    - u
    argTypes:
    - void*
    - size_t*
    - int
    - size_t
    - int
    - size_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4593
      start: 4490
    functionDepth: 1
    functionLinenumber: 4490
    functionLinenumberEnd: 4593
    functionName: mpz_export
    functionSourceFile: /src/nettle/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_die
    - assert
    - gmp_xalloc
    - gmp_detect_endian
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: "void *\nmpz_export (void *r, size_t *countp, int order, size_t size,
      int endian,\n\t    size_t nails, const mpz_t u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - x
    - table
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: gcm_gf_mul
    functionSourceFile: /src/nettle/ghash-update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gcm_gf_mul (union nettle_block16 *x, const union nettle_block16
      *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor
      Src: /src/nettle/ghash-update.c:81,1
    - Dst: gcm_gf_mul
      Src: /src/nettle/ghash-update.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - state
    - blocks
    - data
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: _ghash_update
    functionSourceFile: /src/nettle/ghash-update.c
    functionUses: 4
    functionsReached:
    - gcm_gf_mul
    - memxor
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n_ghash_update (const struct gcm_key *ctx, union nettle_block16
      *state,\n\t       size_t blocks, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:104,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:105,1
    - Dst: F1
      Src: /src/nettle/cast128.c:108,1
    - Dst: F2
      Src: /src/nettle/cast128.c:109,1
    - Dst: F3
      Src: /src/nettle/cast128.c:110,1
    - Dst: F1
      Src: /src/nettle/cast128.c:111,1
    - Dst: F2
      Src: /src/nettle/cast128.c:112,1
    - Dst: F3
      Src: /src/nettle/cast128.c:113,1
    - Dst: F1
      Src: /src/nettle/cast128.c:114,1
    - Dst: F2
      Src: /src/nettle/cast128.c:115,1
    - Dst: F3
      Src: /src/nettle/cast128.c:116,1
    - Dst: F1
      Src: /src/nettle/cast128.c:117,1
    - Dst: F2
      Src: /src/nettle/cast128.c:118,1
    - Dst: F3
      Src: /src/nettle/cast128.c:119,1
    - Dst: F1
      Src: /src/nettle/cast128.c:122,1
    - Dst: F2
      Src: /src/nettle/cast128.c:123,1
    - Dst: F3
      Src: /src/nettle/cast128.c:124,1
    - Dst: F1
      Src: /src/nettle/cast128.c:125,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/cast128.c:128,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/cast128.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct cast128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: cast128_encrypt
    functionSourceFile: /src/nettle/cast128.c
    functionUses: 0
    functionsReached:
    - F3
    - F2
    - READ_UINT32
    - F1
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void cast128_encrypt(const struct cast128_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst,\n\t\tconst uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:146,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:147,1
    - Dst: F1
      Src: /src/nettle/cast128.c:152,1
    - Dst: F3
      Src: /src/nettle/cast128.c:153,1
    - Dst: F2
      Src: /src/nettle/cast128.c:154,1
    - Dst: F1
      Src: /src/nettle/cast128.c:155,1
    - Dst: F3
      Src: /src/nettle/cast128.c:157,1
    - Dst: F2
      Src: /src/nettle/cast128.c:158,1
    - Dst: F1
      Src: /src/nettle/cast128.c:159,1
    - Dst: F3
      Src: /src/nettle/cast128.c:160,1
    - Dst: F2
      Src: /src/nettle/cast128.c:161,1
    - Dst: F1
      Src: /src/nettle/cast128.c:162,1
    - Dst: F3
      Src: /src/nettle/cast128.c:163,1
    - Dst: F2
      Src: /src/nettle/cast128.c:164,1
    - Dst: F1
      Src: /src/nettle/cast128.c:165,1
    - Dst: F3
      Src: /src/nettle/cast128.c:166,1
    - Dst: F2
      Src: /src/nettle/cast128.c:167,1
    - Dst: F1
      Src: /src/nettle/cast128.c:168,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/cast128.c:171,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/cast128.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct cast128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: cast128_decrypt
    functionSourceFile: /src/nettle/cast128.c
    functionUses: 0
    functionsReached:
    - F3
    - F2
    - READ_UINT32
    - F1
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void cast128_decrypt(const struct cast128_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst,\n\t\tconst uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/cast128.c:233,1
    - Dst: assert
      Src: /src/nettle/cast128.c:234,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:238,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:244,1
    - Dst: READ_UINT24
      Src: /src/nettle/cast128.c:247,1
    - Dst: READ_UINT16
      Src: /src/nettle/cast128.c:250,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:264,1
    - Dst: READ_UINT32
      Src: /src/nettle/cast128.c:272,1
    - Dst: EXPAND
      Src: /src/nettle/cast128.c:277,1
    - Dst: EXPAND
      Src: /src/nettle/cast128.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct cast128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 281
    functionName: cast5_set_key
    functionSourceFile: /src/nettle/cast128.c
    functionUses: 0
    functionsReached:
    - assert
    - READ_UINT24
    - EXPAND
    - READ_UINT16
    - READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void cast5_set_key(struct cast128_ctx *ctx,\n\t      size_t length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cast5_set_key
      Src: /src/nettle/cast128.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cast128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: cast128_set_key
    functionSourceFile: /src/nettle/cast128.c
    functionUses: 0
    functionsReached:
    - cast5_set_key
    linkageType: ''
    returnType: void
    signature: void cast128_set_key(struct cast128_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha512_encode
      Src: /src/nettle/rsa-sha512-sign.c:51,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha512-sign.c:53,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha512-sign.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_private_key*
    - struct sha512_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: rsa_sha512_sign
    functionSourceFile: /src/nettle/rsa-sha512-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha512_encode
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_sign(const struct rsa_private_key *key,\n\t\tstruct
      sha512_ctx *hash,\n\t\tmpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_sha512_encode_digest
      Src: /src/nettle/rsa-sha512-sign.c:68,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-sha512-sign.c:70,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-sha512-sign.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_private_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: rsa_sha512_sign_digest
    functionSourceFile: /src/nettle/rsa-sha512-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_sha512_encode_digest
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_sign_digest(const struct rsa_private_key *key,\n\t\t
      \      const uint8_t *digest,\n\t\t       mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - UNUSED
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ed25519_dom
    functionSourceFile: /src/nettle/ed25519-sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ed25519_dom(void *ctx UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_encrypt
      Src: /src/nettle/cbc-aes256-encrypt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - length
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cbc_aes256_encrypt
    functionSourceFile: /src/nettle/cbc-aes256-encrypt.c
    functionUses: 0
    functionsReached:
    - cbc_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes256_encrypt(const struct aes256_ctx *ctx, uint8_t *iv,\n\t\t
      \  size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_update
      Src: /src/nettle/sha3-512.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: sha3_512_update
    functionSourceFile: /src/nettle/sha3-512.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_update
    linkageType: ''
    returnType: void
    signature: void sha3_512_update (struct sha3_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_digest
      Src: /src/nettle/sha3-512.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sha3_512_digest
    functionSourceFile: /src/nettle/sha3-512.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_digest
    linkageType: ''
    returnType: void
    signature: void sha3_512_digest(struct sha3_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_format
      Src: /src/nettle/rsa2sexp.c:50,1
    - Dst: sexp_format
      Src: /src/nettle/rsa2sexp.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - algorithm_name
    - pub
    - priv
    argTypes:
    - struct nettle_buffer*
    - char*
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: rsa_keypair_to_sexp
    functionSourceFile: /src/nettle/rsa2sexp.c
    functionUses: 0
    functionsReached:
    - sexp_format
    linkageType: ''
    returnType: int
    signature: "int rsa_keypair_to_sexp(struct nettle_buffer *buffer,\n\t\t    const
      char *algorithm_name,\n\t\t    const struct rsa_public_key *pub,\n\t\t    const
      struct rsa_private_key *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/nettle/balloon-sha384.c:49,1
    - Dst: balloon
      Src: /src/nettle/balloon-sha384.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - s_cost
    - t_cost
    - passwd_length
    - passwd
    - salt_length
    - salt
    - scratch
    - dst
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: balloon_sha384
    functionSourceFile: /src/nettle/balloon-sha384.c
    functionUses: 0
    functionsReached:
    - sha384_init
    - balloon
    linkageType: ''
    returnType: void
    signature: "void balloon_sha384(size_t s_cost, size_t t_cost,\n               size_t
      passwd_length, const uint8_t *passwd,\n               size_t salt_length, const
      uint8_t *salt,\n               uint8_t *scratch, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:601,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:602,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:603,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:604,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:605,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:606,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:607,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:608,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:609,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:610,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:611,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:612,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:613,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:614,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:615,1
    - Dst: GOST_ENCRYPT_ROUND
      Src: /src/nettle/gost28147.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - key
    - sbox
    - in
    - out
    argTypes:
    - uint32_t*
    - uint32_t[][]
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 618
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 618
    functionName: _nettle_gost28147_encrypt_block
    functionSourceFile: /src/nettle/gost28147.c
    functionUses: 0
    functionsReached:
    - GOST_ENCRYPT_ROUND
    linkageType: ''
    returnType: void
    signature: "void _nettle_gost28147_encrypt_block (const uint32_t *key,\n\t\t\t\t
      const uint32_t sbox[4][256],\n\t\t\t\t const uint32_t *in, uint32_t *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWAP
      Src: /src/nettle/camellia-invert-key.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - nkeys
    - dst
    - src
    argTypes:
    - unsigned
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: _nettle_camellia_invert_key
    functionSourceFile: /src/nettle/camellia-invert-key.c
    functionUses: 2
    functionsReached:
    - SWAP
    linkageType: ''
    returnType: void
    signature: "void _nettle_camellia_invert_key(unsigned nkeys,\n\t\t\t    uint64_t
      *dst, const uint64_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_invert
      Src: /src/nettle/aes256-set-decrypt-key.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - struct aes256_ctx*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: nettle_aes256_invert_key
    functionSourceFile: /src/nettle/aes256-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_invert
    linkageType: ''
    returnType: void
    signature: void nettle_aes256_invert_key (struct aes256_ctx *dst, const struct
      aes256_ctx *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/aes256-set-decrypt-key.c:64,1
    - Dst: aes256_invert_key
      Src: /src/nettle/aes256-set-decrypt-key.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: nettle_aes256_set_decrypt_key
    functionSourceFile: /src/nettle/aes256-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - aes256_invert_key
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes256_set_decrypt_key(struct aes256_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:52,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:53,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:54,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:55,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:57,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:58,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:59,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-256-set-key.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct salsa20_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: salsa20_256_set_key
    functionSourceFile: /src/nettle/salsa20-256-set-key.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void salsa20_256_set_key(struct salsa20_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:87,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:88,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-thh.c:89,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-thh.c:90,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:91,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:94,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:95,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-thh.c:96,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-thh.c:97,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:99,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:100,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:101,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-thh.c:102,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-thh.c:104,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-thh.c:105,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:108,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:111,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-thh.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 113
    functionName: ecc_add_thh
    functionSourceFile: /src/nettle/ecc-add-thh.c
    functionUses: 0
    functionsReached:
    - ecc_mod_sub
    - ecc_mod_add
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_add_thh (const struct ecc_curve *ecc,\n\t     mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_ZERO_SMALL
      Src: /src/nettle/memeql-sec.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: memeql_sec
    functionSourceFile: /src/nettle/memeql-sec.c
    functionUses: 4
    functionsReached:
    - IS_ZERO_SMALL
    linkageType: ''
    returnType: int
    signature: int memeql_sec (const void *a, const void *b, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_SET_KEY
      Src: /src/nettle/cmac-aes256.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cmac_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: cmac_aes256_set_key
    functionSourceFile: /src/nettle/cmac-aes256.c
    functionUses: 1
    functionsReached:
    - CMAC128_SET_KEY
    linkageType: ''
    returnType: void
    signature: void cmac_aes256_set_key(struct cmac_aes256_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_UPDATE
      Src: /src/nettle/cmac-aes256.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct cmac_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: cmac_aes256_update
    functionSourceFile: /src/nettle/cmac-aes256.c
    functionUses: 0
    functionsReached:
    - CMAC128_UPDATE
    linkageType: ''
    returnType: void
    signature: "void cmac_aes256_update (struct cmac_aes256_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_DIGEST
      Src: /src/nettle/cmac-aes256.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct cmac_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: cmac_aes256_digest
    functionSourceFile: /src/nettle/cmac-aes256.c
    functionUses: 0
    functionsReached:
    - CMAC128_DIGEST
    linkageType: ''
    returnType: void
    signature: "void cmac_aes256_digest(struct cmac_aes256_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/nettle/hkdf.c:56,1
    - Dst: digest
      Src: /src/nettle/hkdf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mac_ctx
    - update
    - digest
    - secret_size
    - secret
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: hkdf_extract
    functionSourceFile: /src/nettle/hkdf.c
    functionUses: 10
    functionsReached:
    - digest
    - update
    linkageType: ''
    returnType: void
    signature: "void hkdf_extract(void *mac_ctx,\n\t     nettle_hash_update_func *update,\n\t
      \    nettle_hash_digest_func *digest,\n\t     size_t secret_size, const uint8_t
      *secret,\n\t     uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/nettle/hkdf.c:78,1
    - Dst: update
      Src: /src/nettle/hkdf.c:79,1
    - Dst: digest
      Src: /src/nettle/hkdf.c:83,1
    - Dst: update
      Src: /src/nettle/hkdf.c:86,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/hkdf.c:88,1
    - Dst: digest
      Src: /src/nettle/hkdf.c:89,1
    - Dst: memcpy
      Src: /src/nettle/hkdf.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - mac_ctx
    - update
    - digest
    - digest_size
    - info_size
    - info
    - length
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: hkdf_expand
    functionSourceFile: /src/nettle/hkdf.c
    functionUses: 10
    functionsReached:
    - memcpy
    - digest
    - TMP_ALLOC
    - update
    linkageType: ''
    returnType: void
    signature: "void hkdf_expand(void *mac_ctx,\n\t    nettle_hash_update_func *update,\n\t
      \   nettle_hash_digest_func *digest,\n\t    size_t digest_size,\n\t    size_t
      info_size, const uint8_t *info,\n\t    size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:47,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:48,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:49,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:50,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:51,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: rsa_private_key_init
    functionSourceFile: /src/nettle/rsa-sign.c
    functionUses: 1
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void rsa_private_key_init(struct rsa_private_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:62,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:63,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:64,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:65,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:66,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: rsa_private_key_clear
    functionSourceFile: /src/nettle/rsa-sign.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void rsa_private_key_clear(struct rsa_private_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign.c:78,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign.c:78,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign.c:78,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:85,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-sign.c:86,1
    - Dst: _rsa_check_size
      Src: /src/nettle/rsa-sign.c:88,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: rsa_private_key_prepare
    functionSourceFile: /src/nettle/rsa-sign.c
    functionUses: 3
    functionsReached:
    - mpz_mul
    - _rsa_check_size
    - mpz_clear
    - mpz_init
    - mpz_size
    linkageType: ''
    returnType: int
    signature: int rsa_private_key_prepare(struct rsa_private_key *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:105,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-sign.c:105,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-sign.c:108,1
    - Dst: mpz_powm_sec
      Src: /src/nettle/rsa-sign.c:109,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-sign.c:112,1
    - Dst: mpz_powm_sec
      Src: /src/nettle/rsa-sign.c:113,1
    - Dst: mpz_sub
      Src: /src/nettle/rsa-sign.c:116,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-sign.c:117,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-sign.c:118,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-sign.c:150,1
    - Dst: mpz_add
      Src: /src/nettle/rsa-sign.c:151,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:153,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sign.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - key
    - x
    - m
    argTypes:
    - struct rsa_private_key*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 154
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 154
    functionName: rsa_compute_root
    functionSourceFile: /src/nettle/rsa-sign.c
    functionUses: 8
    functionsReached:
    - mpz_powm_sec
    - mpz_mul
    - mpz_fdiv_r
    - mpz_init
    - mpz_clear
    - mpz_add
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: "void rsa_compute_root(const struct rsa_private_key *key,\n\t\t mpz_t
      x, const mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign.c:163,1
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-sign.c:164,1
    - Dst: NETTLE_OCTET_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/rsa-sign.c:168,1
    - Dst: assert
      Src: /src/nettle/rsa-sign.c:169,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-sign.c:169,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign.c:174,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/rsa-sign.c:175,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-sign.c:177,1
    - Dst: _rsa_sec_compute_root_itch
      Src: /src/nettle/rsa-sign.c:177,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/rsa-sign.c:179,1
    - Dst: _rsa_sec_compute_root
      Src: /src/nettle/rsa-sign.c:180,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/rsa-sign.c:181,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign.c:183,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-sign.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - key
    - x
    - m
    argTypes:
    - struct rsa_private_key*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: rsa_compute_root
    functionSourceFile: /src/nettle/rsa-sign.c
    functionUses: 8
    functionsReached:
    - assert
    - mpz_limbs_write
    - mpz_limbs_copy
    - mpz_size
    - _rsa_sec_compute_root_itch
    - NETTLE_OCTET_SIZE_TO_LIMB_SIZE
    - _rsa_sec_compute_root
    - TMP_GMP_DECL
    - mpz_limbs_finish
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void rsa_compute_root(const struct rsa_private_key *key,\n\t\t mpz_t
      x, const mpz_t m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes256-encrypt.c:56,1
    - Dst: _nettle_aes_encrypt
      Src: /src/nettle/aes256-encrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes256_encrypt
    functionSourceFile: /src/nettle/aes256-encrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes256_encrypt(const struct aes256_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/nettle/getopt1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: getopt_long
    functionSourceFile: /src/nettle/getopt1.c
    functionUses: 12
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long (int argc, char *const *argv, const char *options,\n\t
      \    const struct option *long_options, int *opt_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/nettle/getopt1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: _getopt_long_r
    functionSourceFile: /src/nettle/getopt1.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_r (int argc, char *const *argv, const char *options,\n\t\tconst
      struct option *long_options, int *opt_index,\n\t\tstruct _getopt_data *d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/nettle/getopt1.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: getopt_long_only
    functionSourceFile: /src/nettle/getopt1.c
    functionUses: 0
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only (int argc, char *const *argv, const char *options,\n\t\t
      \ const struct option *long_options, int *opt_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/nettle/getopt1.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: _getopt_long_only_r
    functionSourceFile: /src/nettle/getopt1.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_only_r (int argc, char *const *argv, const char *options,\n\t\t
      \    const struct option *long_options, int *opt_index,\n\t\t     struct _getopt_data
      *d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/getopt1.c:125,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:133,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:135,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:136,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:150,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:152,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:156,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:160,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:164,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:168,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:175,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:181,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:183,1
    - Dst: printf
      Src: /src/nettle/getopt1.c:184,1
    - Dst: exit
      Src: /src/nettle/getopt1.c:187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 188
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/nettle/getopt1.c
    functionUses: 5
    functionsReached:
    - printf
    - exit
    - getopt_long
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/buffer.c:48,1
    - Dst: struct nettle_buffer*::realloc
      Src: /src/nettle/buffer.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - struct nettle_buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: nettle_buffer_grow
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached:
    - assert
    - struct nettle_buffer*::realloc
    linkageType: ''
    returnType: int
    signature: "int nettle_buffer_grow(struct nettle_buffer *buffer,\n\t\t   size_t
      length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - realloc_ctx
    - realloc
    argTypes:
    - struct nettle_buffer*
    - void*
    - nettle_realloc_func*
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: nettle_buffer_init_realloc
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nettle_buffer_init_realloc(struct nettle_buffer *buffer,\n\t\t\t
      \  void *realloc_ctx,\n\t\t\t   nettle_realloc_func *realloc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - length
    - space
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: nettle_buffer_init_size
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void nettle_buffer_init_size(struct nettle_buffer *buffer,\n\t\t\tsize_t
      length, uint8_t *space)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_buffer*::realloc
      Src: /src/nettle/buffer.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: nettle_buffer_clear
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached:
    - struct nettle_buffer*::realloc
    linkageType: ''
    returnType: void
    signature: void nettle_buffer_clear(struct nettle_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: nettle_buffer_reset
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nettle_buffer_reset(struct nettle_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_grow
      Src: /src/nettle/buffer.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - struct nettle_buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: nettle_buffer_space
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached:
    - nettle_buffer_grow
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nnettle_buffer_space(struct nettle_buffer *buffer,\n\t\t
      \   size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/buffer.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: nettle_buffer_write
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int nettle_buffer_write(struct nettle_buffer *buffer,\n\t\t    size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_write
      Src: /src/nettle/buffer.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct nettle_buffer*
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: nettle_buffer_copy
    functionSourceFile: /src/nettle/buffer.c
    functionUses: 0
    functionsReached:
    - nettle_buffer_write
    linkageType: ''
    returnType: int
    signature: "int nettle_buffer_copy(struct nettle_buffer *dst,\n\t\t   const struct
      nettle_buffer *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-aes192.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes192_set_key
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_aes192_set_key(struct gcm_aes192_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-aes192.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_aes192_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: gcm_aes192_set_iv
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 1
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_aes192_set_iv (struct gcm_aes192_ctx *ctx,\n\t\t      size_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-aes192.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_aes192_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: gcm_aes192_update
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_aes192_update (struct gcm_aes192_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-aes192.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: gcm_aes192_encrypt
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes192_encrypt(struct gcm_aes192_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-aes192.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: gcm_aes192_decrypt
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes192_decrypt(struct gcm_aes192_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-aes192.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gcm_aes192_digest
    functionSourceFile: /src/nettle/gcm-aes192.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_aes192_digest(struct gcm_aes192_ctx *ctx,\n\t\t  uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-curve25519.c:64,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-curve25519.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - UNUSED
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ecc_curve25519_modp
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_curve25519_modp(const struct ecc_modulo *m UNUSED, mp_limb_t
      *rp, mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-curve25519.c:88,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-curve25519.c:92,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-curve25519.c:93,1
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-curve25519.c:96,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-curve25519.c:98,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-curve25519.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - q
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: ecc_curve25519_modq
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - mpn_submul_1
    - mpn_cnd_add_n
    - assert_maybe
    linkageType: ''
    returnType: void
    signature: void ecc_curve25519_modq (const struct ecc_modulo *q, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:127,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:128,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:129,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:130,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:131,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:132,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:133,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:134,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:135,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:136,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:137,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:138,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:139,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:140,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:141,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:142,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve25519.c:143,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:144,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:145,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 150
    functionName: ecc_mod_pow_252m3
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_252m3 (const struct ecc_modulo *m,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_252m3
      Src: /src/nettle/ecc-curve25519.c:165,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:166,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:167,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:168,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:169,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: ecc_curve25519_inv
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_252m3
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_curve25519_inv (const struct ecc_modulo *p,\n\t\t    mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sec_add_1
      Src: /src/nettle/ecc-curve25519.c:180,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-curve25519.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: ecc_curve25519_zero_p
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - sec_add_1
    - ecc_mod_zero_p
    linkageType: ''
    returnType: int
    signature: int ecc_curve25519_zero_p (const struct ecc_modulo *p, mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:224,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:225,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:226,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:227,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:228,1
    - Dst: ecc_mod_pow_252m3
      Src: /src/nettle/ecc-curve25519.c:229,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:230,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve25519.c:233,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:234,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-curve25519.c:235,1
    - Dst: ecc_curve25519_zero_p
      Src: /src/nettle/ecc-curve25519.c:236,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-curve25519.c:237,1
    - Dst: ecc_curve25519_zero_p
      Src: /src/nettle/ecc-curve25519.c:238,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve25519.c:240,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-curve25519.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - p
    - rp
    - up
    - vp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 253
    functionName: ecc_curve25519_sqrt_ratio
    functionSourceFile: /src/nettle/ecc-curve25519.c
    functionUses: 0
    functionsReached:
    - cnd_copy
    - ecc_mod_pow_252m3
    - ecc_mod_sqr
    - ecc_mod_add
    - ecc_curve25519_zero_p
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_curve25519_sqrt_ratio(const struct ecc_modulo *p, mp_limb_t
      *rp,\n\t\t\t  const mp_limb_t *up, const mp_limb_t *vp,\n\t\t\t  mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: block16_zero
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void block16_zero (union nettle_block16 *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: block16_set
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_set (union nettle_block16 *r,\n\t     const union nettle_block16
      *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: block16_xor
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_xor (union nettle_block16 *r,\n\t     const union nettle_block16
      *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - x
    - y
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: block16_xor3
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_xor3 (union nettle_block16 *r,\n\t      const union nettle_block16
      *x,\n\t      const union nettle_block16 *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor3
      Src: /src/nettle/block-internal.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - x
    - bytes
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: block16_xor_bytes
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached:
    - memxor3
    linkageType: ''
    returnType: void
    signature: "void block16_xor_bytes (union nettle_block16 *r,\n\t\t   const union
      nettle_block16 *x,\n\t\t   const uint8_t *bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block8*
    - union nettle_block8*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: block8_xor
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block8_xor (union nettle_block8 *r,\n\t    const union nettle_block8
      *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - x
    - y
    argTypes:
    - union nettle_block8*
    - union nettle_block8*
    - union nettle_block8*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: block8_xor3
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block8_xor3 (union nettle_block8 *r,\n\t     const union nettle_block8
      *x,\n\t     const union nettle_block8 *y)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor3
      Src: /src/nettle/block-internal.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - x
    - bytes
    argTypes:
    - union nettle_block8*
    - union nettle_block8*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: block8_xor_bytes
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached:
    - memxor3
    linkageType: ''
    returnType: void
    signature: "void block8_xor_bytes (union nettle_block8 *r,\n\t\t  const union
      nettle_block8 *x,\n\t\t  const uint8_t *bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: block16_mulx_be
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_be (union nettle_block16 *dst,\n\t\t const union
      nettle_block16 *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:144,1
    - Dst: LSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: block16_mulx_le
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached:
    - LSHIFT_ALIEN_UINT64
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_le (union nettle_block16 *dst,\n\t\t const union
      nettle_block16 *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block8*
    - union nettle_block8*
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: block8_mulx_be
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block8_mulx_be (union nettle_block8 *dst,\n\t\tconst union nettle_block8
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: block16_mulx_ghash
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_ghash (union nettle_block16 *r,\n\t\t    const union
      nettle_block16 *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:174,1
    - Dst: LSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: block16_mulx_be
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached:
    - LSHIFT_ALIEN_UINT64
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_be (union nettle_block16 *dst,\n\t\t const union
      nettle_block16 *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: block16_mulx_le
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_le (union nettle_block16 *dst,\n\t\t const union
      nettle_block16 *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - union nettle_block8*
    - union nettle_block8*
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: block8_mulx_be
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 0
    functionsReached:
    - LSHIFT_ALIEN_UINT64
    linkageType: ''
    returnType: void
    signature: "void block8_mulx_be (union nettle_block8 *dst,\n\t\tconst union nettle_block8
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:204,1
    - Dst: RSHIFT_ALIEN_UINT64
      Src: /src/nettle/block-internal.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: block16_mulx_ghash
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 1
    functionsReached:
    - RSHIFT_ALIEN_UINT64
    linkageType: ''
    returnType: void
    signature: "void block16_mulx_ghash (union nettle_block16 *r,\n\t\t    const union
      nettle_block16 *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_bswap64
      Src: /src/nettle/block-internal.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - union nettle_block16*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: block16_bswap
    functionSourceFile: /src/nettle/block-internal.h
    functionUses: 2
    functionsReached:
    - nettle_bswap64
    linkageType: ''
    returnType: void
    signature: "void block16_bswap (union nettle_block16 *r,\n\t       const union
      nettle_block16 *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/nettle/blowfish.c:274,1
    - Dst: R
      Src: /src/nettle/blowfish.c:275,1
    - Dst: R
      Src: /src/nettle/blowfish.c:276,1
    - Dst: R
      Src: /src/nettle/blowfish.c:277,1
    - Dst: R
      Src: /src/nettle/blowfish.c:278,1
    - Dst: R
      Src: /src/nettle/blowfish.c:279,1
    - Dst: R
      Src: /src/nettle/blowfish.c:280,1
    - Dst: R
      Src: /src/nettle/blowfish.c:281,1
    - Dst: R
      Src: /src/nettle/blowfish.c:282,1
    - Dst: R
      Src: /src/nettle/blowfish.c:283,1
    - Dst: R
      Src: /src/nettle/blowfish.c:284,1
    - Dst: R
      Src: /src/nettle/blowfish.c:285,1
    - Dst: R
      Src: /src/nettle/blowfish.c:286,1
    - Dst: R
      Src: /src/nettle/blowfish.c:287,1
    - Dst: R
      Src: /src/nettle/blowfish.c:288,1
    - Dst: R
      Src: /src/nettle/blowfish.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - ret_xl
    - ret_xr
    argTypes:
    - struct blowfish_ctx*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 296
    functionName: _nettle_blowfish_encround
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 1
    functionsReached:
    - R
    linkageType: ''
    returnType: void
    signature: "void _nettle_blowfish_encround (const struct blowfish_ctx *ctx, uint32_t
      * ret_xl,\n\t    uint32_t * ret_xr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: R
      Src: /src/nettle/blowfish.c:306,1
    - Dst: R
      Src: /src/nettle/blowfish.c:307,1
    - Dst: R
      Src: /src/nettle/blowfish.c:308,1
    - Dst: R
      Src: /src/nettle/blowfish.c:309,1
    - Dst: R
      Src: /src/nettle/blowfish.c:310,1
    - Dst: R
      Src: /src/nettle/blowfish.c:311,1
    - Dst: R
      Src: /src/nettle/blowfish.c:312,1
    - Dst: R
      Src: /src/nettle/blowfish.c:313,1
    - Dst: R
      Src: /src/nettle/blowfish.c:314,1
    - Dst: R
      Src: /src/nettle/blowfish.c:315,1
    - Dst: R
      Src: /src/nettle/blowfish.c:316,1
    - Dst: R
      Src: /src/nettle/blowfish.c:317,1
    - Dst: R
      Src: /src/nettle/blowfish.c:318,1
    - Dst: R
      Src: /src/nettle/blowfish.c:319,1
    - Dst: R
      Src: /src/nettle/blowfish.c:320,1
    - Dst: R
      Src: /src/nettle/blowfish.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - ret_xl
    - ret_xr
    argTypes:
    - struct blowfish_ctx*
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: decround
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 0
    functionsReached:
    - R
    linkageType: ''
    returnType: void
    signature: void decround (const struct blowfish_ctx *ctx, uint32_t * ret_xl, uint32_t
      * ret_xr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/blowfish.c:341,1
    - Dst: READ_UINT32
      Src: /src/nettle/blowfish.c:342,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct blowfish_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: blowfish_encrypt
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 0
    functionsReached:
    - READ_UINT32
    - _nettle_blowfish_encround
    linkageType: ''
    returnType: void
    signature: "void blowfish_encrypt (const struct blowfish_ctx *ctx,\n\t\t  size_t
      length, uint8_t * dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/blowfish.c:363,1
    - Dst: READ_UINT32
      Src: /src/nettle/blowfish.c:364,1
    - Dst: decround
      Src: /src/nettle/blowfish.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct blowfish_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 375
    functionName: blowfish_decrypt
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 0
    functionsReached:
    - READ_UINT32
    - decround
    linkageType: ''
    returnType: void
    signature: "void blowfish_decrypt (const struct blowfish_ctx *ctx,\n\t\t  size_t
      length, uint8_t * dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish.c:399,1
    - Dst: _nettle_blowfish_encround
      Src: /src/nettle/blowfish.c:407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct blowfish_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 427
    functionName: blowfish_set_key
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 0
    functionsReached:
    - _nettle_blowfish_encround
    linkageType: ''
    returnType: int
    signature: "int blowfish_set_key (struct blowfish_ctx *ctx,\n\t\t  size_t length,
      const uint8_t * key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_set_key
      Src: /src/nettle/blowfish.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct blowfish_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: blowfish128_set_key
    functionSourceFile: /src/nettle/blowfish.c
    functionUses: 0
    functionsReached:
    - blowfish_set_key
    linkageType: ''
    returnType: int
    signature: int blowfish128_set_key(struct blowfish_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:83,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:84,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-ehh.c:85,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-ehh.c:86,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:87,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-ehh.c:88,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-ehh.c:89,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:92,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:93,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-ehh.c:94,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:96,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:97,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:98,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-ehh.c:99,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-ehh.c:101,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-ehh.c:102,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:105,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:108,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-ehh.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 110
    functionName: ecc_add_ehh
    functionSourceFile: /src/nettle/ecc-add-ehh.c
    functionUses: 0
    functionsReached:
    - ecc_mod_sub
    - ecc_mod_add
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_add_ehh (const struct ecc_curve *ecc,\n\t     mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap32_if_le
      Src: /src/nettle/umac-l2.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - size
    - k
    argTypes:
    - unsigned
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: _nettle_umac_l2_init
    functionSourceFile: /src/nettle/umac-l2.c
    functionUses: 0
    functionsReached:
    - bswap32_if_le
    linkageType: ''
    returnType: void
    signature: void _nettle_umac_l2_init (unsigned size, uint32_t *k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/umac-l2.c:67,1
    - Dst: _nettle_umac_poly64
      Src: /src/nettle/umac-l2.c:72,1
    - Dst: _nettle_umac_poly64
      Src: /src/nettle/umac-l2.c:76,1
    - Dst: _nettle_umac_poly128
      Src: /src/nettle/umac-l2.c:88,1
    - Dst: memcpy
      Src: /src/nettle/umac-l2.c:90,1
    - Dst: _nettle_umac_poly128
      Src: /src/nettle/umac-l2.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - key
    - state
    - n
    - count
    - m
    argTypes:
    - uint32_t*
    - uint64_t*
    - unsigned
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 95
    functionName: _nettle_umac_l2
    functionSourceFile: /src/nettle/umac-l2.c
    functionUses: 2
    functionsReached:
    - memcpy
    - _nettle_umac_poly64
    - _nettle_umac_poly128
    linkageType: ''
    returnType: void
    signature: "void _nettle_umac_l2(const uint32_t *key, uint64_t *state, unsigned
      n,\n\t\tuint64_t count, const uint64_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac-l2.c:104,1
    - Dst: _nettle_umac_poly128
      Src: /src/nettle/umac-l2.c:127,1
    - Dst: _nettle_umac_poly128
      Src: /src/nettle/umac-l2.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - key
    - state
    - n
    - count
    argTypes:
    - uint32_t*
    - uint64_t*
    - unsigned
    - uint64_t
    constantsTouched: []
    func_position:
      end: 145
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 145
    functionName: _nettle_umac_l2_final
    functionSourceFile: /src/nettle/umac-l2.c
    functionUses: 2
    functionsReached:
    - assert
    - _nettle_umac_poly128
    linkageType: ''
    returnType: void
    signature: "void _nettle_umac_l2_final(const uint32_t *key, uint64_t *state, unsigned
      n,\n\t\t      uint64_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_umac_set_key
      Src: /src/nettle/umac32.c:47,1
    - Dst: memset
      Src: /src/nettle/umac32.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct umac32_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: umac32_set_key
    functionSourceFile: /src/nettle/umac32.c
    functionUses: 0
    functionsReached:
    - _nettle_umac_set_key
    - memset
    linkageType: ''
    returnType: void
    signature: void umac32_set_key (struct umac32_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac32.c:63,1
    - Dst: assert
      Src: /src/nettle/umac32.c:64,1
    - Dst: memcpy
      Src: /src/nettle/umac32.c:66,1
    - Dst: memset
      Src: /src/nettle/umac32.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - nonce_length
    - nonce
    argTypes:
    - struct umac32_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: umac32_set_nonce
    functionSourceFile: /src/nettle/umac32.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void umac32_set_nonce (struct umac32_ctx *ctx,\n\t\t  size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/umac32.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct umac32_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: umac32_update
    functionSourceFile: /src/nettle/umac32.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void umac32_update (struct umac32_ctx *ctx,\n\t       size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/umac32.c:99,1
    - Dst: _nettle_umac_nh
      Src: /src/nettle/umac32.c:101,1
    - Dst: _nettle_umac_l2
      Src: /src/nettle/umac32.c:103,1
    - Dst: assert
      Src: /src/nettle/umac32.c:105,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac32.c:108,1
    - Dst: INCREMENT
      Src: /src/nettle/umac32.c:125,1
    - Dst: _nettle_umac_l2_final
      Src: /src/nettle/umac32.c:128,1
    - Dst: _nettle_umac_l3
      Src: /src/nettle/umac32.c:129,1
    - Dst: memcpy
      Src: /src/nettle/umac32.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct umac32_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: umac32_digest
    functionSourceFile: /src/nettle/umac32.c
    functionUses: 0
    functionsReached:
    - aes128_encrypt
    - assert
    - _nettle_umac_l2
    - _nettle_umac_l2_final
    - INCREMENT
    - _nettle_umac_nh
    - memset
    - memcpy
    - _nettle_umac_l3
    linkageType: ''
    returnType: void
    signature: void umac32_digest (struct umac32_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cnd
    - rp
    - ap
    - n
    argTypes:
    - int
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: cnd_copy
    functionSourceFile: /src/nettle/cnd-copy.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cnd_copy (int cnd, mp_limb_t *rp, const mp_limb_t *ap, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-digest.c:48,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-digest.c:50,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-digest.c:53,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-digest.c:54,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-digest.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - m
    - key_size
    - di_length
    - digest_info
    argTypes:
    - mpz_t
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: pkcs1_rsa_digest_encode
    functionSourceFile: /src/nettle/pkcs1-rsa-digest.c
    functionUses: 3
    functionsReached:
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    - nettle_mpz_set_str_256_u
    linkageType: ''
    returnType: int
    signature: "int pkcs1_rsa_digest_encode(mpz_t m, size_t key_size,\n\t\t\tsize_t
      di_length, const uint8_t *digest_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cnd
    - dst
    - src
    - n
    argTypes:
    - int
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: cnd_memcpy
    functionSourceFile: /src/nettle/cnd-memcpy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cnd_memcpy(int cnd, volatile void *dst, const volatile void *src,
      size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_public_key_itch
      Src: /src/nettle/ed448-shake256-pubkey.c:49,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed448-shake256-pubkey.c:50,1
    - Dst: sha3_init
      Src: /src/nettle/ed448-shake256-pubkey.c:54,1
    - Dst: _eddsa_expand_key
      Src: /src/nettle/ed448-shake256-pubkey.c:55,1
    - Dst: _eddsa_public_key
      Src: /src/nettle/ed448-shake256-pubkey.c:56,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed448-shake256-pubkey.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pub
    - priv
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: ed448_shake256_public_key
    functionSourceFile: /src/nettle/ed448-shake256-pubkey.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - _eddsa_expand_key
    - gmp_alloc_limbs
    - _eddsa_public_key_itch
    - _eddsa_public_key
    - sha3_init
    linkageType: ''
    returnType: void
    signature: void ed448_shake256_public_key (uint8_t *pub, const uint8_t *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_set_key
      Src: /src/nettle/siv-cmac-aes256.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct siv_cmac_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: siv_cmac_aes256_set_key
    functionSourceFile: /src/nettle/siv-cmac-aes256.c
    functionUses: 0
    functionsReached:
    - siv_cmac_set_key
    linkageType: ''
    returnType: void
    signature: void siv_cmac_aes256_set_key(struct siv_cmac_aes256_ctx *ctx, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_encrypt_message
      Src: /src/nettle/siv-cmac-aes256.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct siv_cmac_aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: siv_cmac_aes256_encrypt_message
    functionSourceFile: /src/nettle/siv-cmac-aes256.c
    functionUses: 1
    functionsReached:
    - siv_cmac_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void siv_cmac_aes256_encrypt_message(const struct siv_cmac_aes256_ctx
      *ctx,\n\t\t\t\tsize_t nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength,
      const uint8_t *adata,\n\t\t\t\tsize_t clength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_cmac_decrypt_message
      Src: /src/nettle/siv-cmac-aes256.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct siv_cmac_aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: siv_cmac_aes256_decrypt_message
    functionSourceFile: /src/nettle/siv-cmac-aes256.c
    functionUses: 1
    functionsReached:
    - siv_cmac_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int siv_cmac_aes256_decrypt_message(const struct siv_cmac_aes256_ctx
      *ctx,\n\t\t\t\tsize_t nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength,
      const uint8_t *adata,\n\t\t\t\tsize_t mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/md4.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct md4_ctx*
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: md4_init
    functionSourceFile: /src/nettle/md4.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void md4_init(struct md4_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/md4.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct md4_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: md4_update
    functionSourceFile: /src/nettle/md4.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void md4_update(struct md4_ctx *ctx,\n\t   size_t length,\n\t   const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_PAD
      Src: /src/nettle/md4.c:92,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/md4.c:94,1
    - Dst: md4_transform
      Src: /src/nettle/md4.c:101,1
    - Dst: _nettle_write_le32
      Src: /src/nettle/md4.c:103,1
    - Dst: md4_init
      Src: /src/nettle/md4.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct md4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: md4_digest
    functionSourceFile: /src/nettle/md4.c
    functionUses: 0
    functionsReached:
    - MD_PAD
    - md4_init
    - _nettle_write_le32
    - LE_READ_UINT32
    - md4_transform
    linkageType: ''
    returnType: void
    signature: "void md4_digest(struct md4_ctx *ctx,\n\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/nettle/md4.c:126,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:127,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:128,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:129,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:130,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:131,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:132,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:133,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:134,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:135,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:136,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:137,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:138,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:139,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:140,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:141,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:143,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:144,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:145,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:146,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:147,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:148,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:149,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:150,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:151,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:152,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:153,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:154,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:155,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:156,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:157,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:158,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:160,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:161,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:162,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:163,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:164,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:165,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:166,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:167,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:168,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:169,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:170,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:171,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:172,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:173,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:174,1
    - Dst: ROUND
      Src: /src/nettle/md4.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - digest
    - data
    argTypes:
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 181
    functionName: md4_transform
    functionSourceFile: /src/nettle/md4.c
    functionUses: 1
    functionsReached:
    - ROUND
    linkageType: ''
    returnType: void
    signature: void md4_transform(uint32_t *digest, const uint32_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/md4.c:191,1
    - Dst: md4_transform
      Src: /src/nettle/md4.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - block
    argTypes:
    - struct md4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: md4_compress
    functionSourceFile: /src/nettle/md4.c
    functionUses: 0
    functionsReached:
    - md4_transform
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void md4_compress(struct md4_ctx *ctx, const uint8_t *block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/eddsa-pubkey.c:46,1
    - Dst: _eddsa_compress_itch
      Src: /src/nettle/eddsa-pubkey.c:46,1
    - Dst: _eddsa_compress_itch
      Src: /src/nettle/eddsa-pubkey.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: _eddsa_public_key_itch
    functionSourceFile: /src/nettle/eddsa-pubkey.c
    functionUses: 1
    functionsReached:
    - assert
    - _eddsa_compress_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _eddsa_public_key_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/eddsa-pubkey.c:56,1
    - Dst: _eddsa_compress
      Src: /src/nettle/eddsa-pubkey.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ecc
    - k
    - pub
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - uint8_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: _eddsa_public_key
    functionSourceFile: /src/nettle/eddsa-pubkey.c
    functionUses: 1
    functionsReached:
    - struct ecc_curve*::mul_g
    - _eddsa_compress
    linkageType: ''
    returnType: void
    signature: "void _eddsa_public_key (const struct ecc_curve *ecc,\n\t\t   const
      mp_limb_t *k, uint8_t *pub, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-pm1-redc.c:53,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-pm1-redc.c:55,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-pm1-redc.c:56,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-pm1-redc.c:57,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-pm1-redc.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: ecc_pm1_redc
    functionSourceFile: /src/nettle/ecc-pm1-redc.c
    functionUses: 0
    functionsReached:
    - mpn_submul_1
    - mpn_cnd_add_n
    - mpn_sub_n
    - assert_maybe
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: void ecc_pm1_redc (const struct ecc_modulo *m, mp_limb_t *rp, mp_limb_t
      *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha1.c:79,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha1.c:81,1
    - Dst: sha1_digest
      Src: /src/nettle/pkcs1-rsa-sha1.c:87,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha1.c:88,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha1.c:89,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha1.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - hash
    argTypes:
    - mpz_t
    - size_t
    - struct sha1_ctx*
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: pkcs1_rsa_sha1_encode
    functionSourceFile: /src/nettle/pkcs1-rsa-sha1.c
    functionUses: 1
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - sha1_digest
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha1_encode(mpz_t m, size_t key_size, struct sha1_ctx
      *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha1.c:105,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha1.c:107,1
    - Dst: memcpy
      Src: /src/nettle/pkcs1-rsa-sha1.c:113,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha1.c:114,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha1.c:115,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha1.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - digest
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: pkcs1_rsa_sha1_encode_digest
    functionSourceFile: /src/nettle/pkcs1-rsa-sha1.c
    functionUses: 1
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - memcpy
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha1_encode_digest(mpz_t m, size_t key_size, const uint8_t
      *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ecc-scalar.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - ecc
    argTypes:
    - struct ecc_scalar*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ecc_scalar_init
    functionSourceFile: /src/nettle/ecc-scalar.c
    functionUses: 4
    functionsReached:
    - gmp_alloc_limbs
    linkageType: ''
    returnType: void
    signature: void ecc_scalar_init (struct ecc_scalar *s, const struct ecc_curve
      *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_free_limbs
      Src: /src/nettle/ecc-scalar.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ecc_scalar*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ecc_scalar_clear
    functionSourceFile: /src/nettle/ecc-scalar.c
    functionUses: 6
    functionsReached:
    - gmp_free_limbs
    linkageType: ''
    returnType: void
    signature: void ecc_scalar_clear (struct ecc_scalar *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/ecc-scalar.c:59,1
    - Dst: mpz_cmp
      Src: /src/nettle/ecc-scalar.c:59,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/ecc-scalar.c:59,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/ecc-scalar.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - z
    argTypes:
    - struct ecc_scalar*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: ecc_scalar_set
    functionSourceFile: /src/nettle/ecc-scalar.c
    functionUses: 4
    functionsReached:
    - mpz_limbs_copy
    - mpz_sgn
    - mpz_roinit_n
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: int ecc_scalar_set (struct ecc_scalar *s, const mpz_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_n
      Src: /src/nettle/ecc-scalar.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - z
    argTypes:
    - struct ecc_scalar*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ecc_scalar_get
    functionSourceFile: /src/nettle/ecc-scalar.c
    functionUses: 1
    functionsReached:
    - mpz_set_n
    linkageType: ''
    returnType: void
    signature: void ecc_scalar_get (const struct ecc_scalar *s, mpz_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des_set_key
      Src: /src/nettle/des3.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct des3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: des3_set_key
    functionSourceFile: /src/nettle/des3.c
    functionUses: 1
    functionsReached:
    - des_set_key
    linkageType: ''
    returnType: int
    signature: int des3_set_key(struct des3_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des_encrypt
      Src: /src/nettle/des3.c:63,1
    - Dst: des_decrypt
      Src: /src/nettle/des3.c:65,1
    - Dst: des_encrypt
      Src: /src/nettle/des3.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct des3_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: des3_encrypt
    functionSourceFile: /src/nettle/des3.c
    functionUses: 0
    functionsReached:
    - des_encrypt
    - des_decrypt
    linkageType: ''
    returnType: void
    signature: "void des3_encrypt(const struct des3_ctx *ctx,\n\t     size_t length,
      uint8_t *dst,\n\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des_decrypt
      Src: /src/nettle/des3.c:76,1
    - Dst: des_encrypt
      Src: /src/nettle/des3.c:78,1
    - Dst: des_decrypt
      Src: /src/nettle/des3.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct des3_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: des3_decrypt
    functionSourceFile: /src/nettle/des3.c
    functionUses: 0
    functionsReached:
    - des_encrypt
    - des_decrypt
    linkageType: ''
    returnType: void
    signature: "void des3_decrypt(const struct des3_ctx *ctx,\n\t     size_t length,
      uint8_t *dst,\n\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/dsa-verify.c:61,1
    - Dst: mpz_cmp
      Src: /src/nettle/dsa-verify.c:61,1
    - Dst: mpz_sgn
      Src: /src/nettle/dsa-verify.c:64,1
    - Dst: mpz_cmp
      Src: /src/nettle/dsa-verify.c:64,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-verify.c:67,1
    - Dst: mpz_invert
      Src: /src/nettle/dsa-verify.c:73,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-verify.c:75,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-verify.c:79,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-verify.c:80,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/dsa-verify.c:83,1
    - Dst: NETTLE_BIT_SIZE_TO_LIMB_SIZE
      Src: /src/nettle/dsa-verify.c:84,1
    - Dst: _nettle_dsa_hash
      Src: /src/nettle/dsa-verify.c:85,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/dsa-verify.c:85,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/dsa-verify.c:86,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-verify.c:89,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-verify.c:90,1
    - Dst: mpz_powm
      Src: /src/nettle/dsa-verify.c:92,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-verify.c:95,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-verify.c:96,1
    - Dst: mpz_powm
      Src: /src/nettle/dsa-verify.c:98,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-verify.c:101,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-verify.c:102,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/dsa-verify.c:104,1
    - Dst: mpz_cmp
      Src: /src/nettle/dsa-verify.c:106,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-verify.c:108,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-verify.c:109,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-verify.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - params
    - y
    - digest_size
    - digest
    - signature
    argTypes:
    - struct dsa_params*
    - mpz_t
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 113
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 113
    functionName: dsa_verify
    functionSourceFile: /src/nettle/dsa-verify.c
    functionUses: 3
    functionsReached:
    - mpz_powm
    - mpz_invert
    - mpz_sgn
    - mpz_limbs_write
    - mpz_mul
    - _nettle_dsa_hash
    - mpz_cmp
    - NETTLE_BIT_SIZE_TO_LIMB_SIZE
    - mpz_fdiv_r
    - mpz_limbs_finish
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int dsa_verify(const struct dsa_params *params,\n\t   const mpz_t
      y,\n\t   size_t digest_size,\n\t   const uint8_t *digest,\n\t   const struct
      dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt
      Src: /src/nettle/cmac64.c:58,1
    - Dst: block8_mulx_be
      Src: /src/nettle/cmac64.c:60,1
    - Dst: block8_mulx_be
      Src: /src/nettle/cmac64.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - cipher
    - encrypt
    argTypes:
    - struct cmac64_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: cmac64_set_key
    functionSourceFile: /src/nettle/cmac64.c
    functionUses: 0
    functionsReached:
    - block8_mulx_be
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void cmac64_set_key(struct cmac64_key *key, const void *cipher,\n\t
      \      nettle_cipher_func *encrypt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/cmac64.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cmac64_ctx*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: cmac64_init
    functionSourceFile: /src/nettle/cmac64.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cmac64_init(struct cmac64_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/cmac64.c:85,1
    - Dst: block8_xor3
      Src: /src/nettle/cmac64.c:99,1
    - Dst: encrypt
      Src: /src/nettle/cmac64.c:100,1
    - Dst: block8_xor_bytes
      Src: /src/nettle/cmac64.c:104,1
    - Dst: encrypt
      Src: /src/nettle/cmac64.c:105,1
    - Dst: memcpy
      Src: /src/nettle/cmac64.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - cipher
    - encrypt
    - msg_len
    - msg
    argTypes:
    - struct cmac64_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 116
    functionName: cmac64_update
    functionSourceFile: /src/nettle/cmac64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block8_xor_bytes
    - block8_xor3
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void cmac64_update(struct cmac64_ctx *ctx, const void *cipher,\n\t
      \     nettle_cipher_func *encrypt,\n\t      size_t msg_len, const uint8_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/cmac64.c:125,1
    - Dst: block8_xor
      Src: /src/nettle/cmac64.c:131,1
    - Dst: block8_xor
      Src: /src/nettle/cmac64.c:135,1
    - Dst: block8_xor3
      Src: /src/nettle/cmac64.c:138,1
    - Dst: encrypt
      Src: /src/nettle/cmac64.c:139,1
    - Dst: memset
      Src: /src/nettle/cmac64.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - key
    - cipher
    - encrypt
    - dst
    argTypes:
    - struct cmac64_ctx*
    - struct cmac64_key*
    - void*
    - nettle_cipher_func*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: cmac64_digest
    functionSourceFile: /src/nettle/cmac64.c
    functionUses: 0
    functionsReached:
    - block8_xor3
    - encrypt
    - block8_xor
    - memset
    linkageType: ''
    returnType: void
    signature: "void cmac64_digest(struct cmac64_ctx *ctx, const struct cmac64_key
      *key,\n\t      const void *cipher, nettle_cipher_func *encrypt,\n\t      uint8_t
      *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_encrypt_message
      Src: /src/nettle/siv-gcm-aes256.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: siv_gcm_aes256_encrypt_message
    functionSourceFile: /src/nettle/siv-gcm-aes256.c
    functionUses: 1
    functionsReached:
    - siv_gcm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void siv_gcm_aes256_encrypt_message (const struct aes256_ctx *ctx,\n\t\t\t\tsize_t
      nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength, const uint8_t *adata,\n\t\t\t\tsize_t
      clength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_decrypt_message
      Src: /src/nettle/siv-gcm-aes256.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: siv_gcm_aes256_decrypt_message
    functionSourceFile: /src/nettle/siv-gcm-aes256.c
    functionUses: 1
    functionsReached:
    - siv_gcm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int siv_gcm_aes256_decrypt_message (const struct aes256_ctx *ctx,\n\t\t\t\tsize_t
      nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength, const uint8_t *adata,\n\t\t\t\tsize_t
      mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/eddsa-verify.c:56,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/eddsa-verify.c:57,1
    - Dst: mpn_cmp
      Src: /src/nettle/eddsa-verify.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p
    - x1
    - z1
    - x2
    - z2
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: equal_h
    functionSourceFile: /src/nettle/eddsa-verify.c
    functionUses: 0
    functionsReached:
    - mpn_cmp
    - ecc_mod_mul_canonical
    linkageType: ''
    returnType: int
    signature: "int equal_h (const struct ecc_modulo *p,\n\t const mp_limb_t *x1,
      const mp_limb_t *z1,\n\t const mp_limb_t *x2, const mp_limb_t *z2,\n\t mp_limb_t
      *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/eddsa-verify.c:68,1
    - Dst: _eddsa_decompress_itch
      Src: /src/nettle/eddsa-verify.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: _eddsa_verify_itch
    functionSourceFile: /src/nettle/eddsa-verify.c
    functionUses: 2
    functionsReached:
    - assert
    - _eddsa_decompress_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _eddsa_verify_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_decompress
      Src: /src/nettle/eddsa-verify.c:96,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/eddsa-verify.c:99,1
    - Dst: mpn_cmp
      Src: /src/nettle/eddsa-verify.c:101,1
    - Dst: struct ecc_eddsa*::dom
      Src: /src/nettle/eddsa-verify.c:104,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-verify.c:105,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-verify.c:106,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-verify.c:107,1
    - Dst: struct ecc_eddsa*::digest
      Src: /src/nettle/eddsa-verify.c:108,1
    - Dst: _eddsa_hash
      Src: /src/nettle/eddsa-verify.c:109,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/eddsa-verify.c:112,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/eddsa-verify.c:113,1
    - Dst: mpn_copyi
      Src: /src/nettle/eddsa-verify.c:115,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/eddsa-verify.c:116,1
    - Dst: equal_h
      Src: /src/nettle/eddsa-verify.c:118,1
    - Dst: equal_h
      Src: /src/nettle/eddsa-verify.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 9
    argNames:
    - ecc
    - eddsa
    - pub
    - A
    - ctx
    - length
    - msg
    - signature
    - scratch
    argTypes:
    - struct ecc_curve*
    - struct ecc_eddsa*
    - uint8_t*
    - mp_limb_t*
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 130
    functionName: _eddsa_verify
    functionSourceFile: /src/nettle/eddsa-verify.c
    functionUses: 2
    functionsReached:
    - equal_h
    - mpn_copyi
    - mpn_cmp
    - struct ecc_curve*::mul_g
    - struct ecc_curve*::mul
    - struct ecc_eddsa*::dom
    - struct ecc_eddsa*::digest
    - mpn_set_base256_le
    - struct ecc_curve*::add_hh
    - _eddsa_decompress
    - struct ecc_eddsa*::update
    - _eddsa_hash
    linkageType: ''
    returnType: int
    signature: "int _eddsa_verify (const struct ecc_curve *ecc,\n\t       const struct
      ecc_eddsa *eddsa,\n\t       const uint8_t *pub,\n\t       const mp_limb_t *A,\n\t
      \      void *ctx,\n\t       size_t length,\n\t       const uint8_t *msg,\n\t
      \      const uint8_t *signature,\n\t       mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-md5-verify.c:54,1
    - Dst: pkcs1_rsa_md5_encode
      Src: /src/nettle/rsa-md5-verify.c:56,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-md5-verify.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-md5-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct md5_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rsa_md5_verify
    functionSourceFile: /src/nettle/rsa-md5-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - _rsa_verify
    - pkcs1_rsa_md5_encode
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_verify(const struct rsa_public_key *key,\n               struct
      md5_ctx *hash,\n               const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-md5-verify.c:72,1
    - Dst: pkcs1_rsa_md5_encode_digest
      Src: /src/nettle/rsa-md5-verify.c:74,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-md5-verify.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-md5-verify.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: rsa_md5_verify_digest
    functionSourceFile: /src/nettle/rsa-md5-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - _rsa_verify
    - pkcs1_rsa_md5_encode_digest
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_verify_digest(const struct rsa_public_key *key,\n\t\t
      \     const uint8_t *digest,\n\t\t      const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac-nh-n.c:55,1
    - Dst: assert
      Src: /src/nettle/umac-nh-n.c:56,1
    - Dst: assert
      Src: /src/nettle/umac-nh-n.c:57,1
    - Dst: memset
      Src: /src/nettle/umac-nh-n.c:59,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:65,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:66,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:67,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:68,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:72,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:73,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:74,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh-n.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - out
    - n
    - key
    - length
    - msg
    argTypes:
    - uint64_t*
    - unsigned
    - uint32_t*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: _nettle_umac_nh_n
    functionSourceFile: /src/nettle/umac-nh-n.c
    functionUses: 2
    functionsReached:
    - assert
    - LE_READ_UINT32
    - memset
    linkageType: ''
    returnType: void
    signature: "void _nettle_umac_nh_n (uint64_t *out, unsigned n, const uint32_t
      *key,\n\t\t   unsigned length, const uint8_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/dsa-gen-params.c:63,1
    - Dst: nettle_random_prime
      Src: /src/nettle/dsa-gen-params.c:65,1
    - Dst: _nettle_generate_pocklington_prime
      Src: /src/nettle/dsa-gen-params.c:69,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-gen-params.c:75,1
    - Dst: mpz_init
      Src: /src/nettle/dsa-gen-params.c:76,1
    - Dst: nettle_random_prime
      Src: /src/nettle/dsa-gen-params.c:80,1
    - Dst: progress
      Src: /src/nettle/dsa-gen-params.c:85,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-gen-params.c:88,1
    - Dst: _nettle_generate_pocklington_prime
      Src: /src/nettle/dsa-gen-params.c:90,1
    - Dst: mpz_mul
      Src: /src/nettle/dsa-gen-params.c:94,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-gen-params.c:96,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-gen-params.c:97,1
    - Dst: progress
      Src: /src/nettle/dsa-gen-params.c:100,1
    - Dst: mpz_set_ui
      Src: /src/nettle/dsa-gen-params.c:104,1
    - Dst: mpz_powm
      Src: /src/nettle/dsa-gen-params.c:105,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/dsa-gen-params.c:106,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa-gen-params.c:110,1
    - Dst: progress
      Src: /src/nettle/dsa-gen-params.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - params
    - random_ctx
    - random
    - progress_ctx
    - progress
    - p_bits
    - q_bits
    argTypes:
    - struct dsa_params*
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 116
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 116
    functionName: dsa_generate_params
    functionSourceFile: /src/nettle/dsa-gen-params.c
    functionUses: 1
    functionsReached:
    - mpz_powm
    - mpz_mul
    - nettle_random_prime
    - _nettle_generate_pocklington_prime
    - progress
    - mpz_init
    - mpz_clear
    - mpz_cmp_ui
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int dsa_generate_params(struct dsa_params *params,\n\t\t    void *random_ctx,
      nettle_random_func *random,\n\t\t    void *progress_ctx, nettle_progress_func
      *progress,\n\t\t    unsigned p_bits, unsigned q_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_update
      Src: /src/nettle/sha3-224.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: sha3_224_update
    functionSourceFile: /src/nettle/sha3-224.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_update
    linkageType: ''
    returnType: void
    signature: void sha3_224_update (struct sha3_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_digest
      Src: /src/nettle/sha3-224.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sha3_224_digest
    functionSourceFile: /src/nettle/sha3-224.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_digest
    linkageType: ''
    returnType: void
    signature: void sha3_224_digest(struct sha3_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/balloon.c:62,1
    - Dst: update
      Src: /src/nettle/balloon.c:63,1
    - Dst: update
      Src: /src/nettle/balloon.c:65,1
    - Dst: update
      Src: /src/nettle/balloon.c:67,1
    - Dst: digest
      Src: /src/nettle/balloon.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 9
    argNames:
    - ctx
    - update
    - digest
    - cnt
    - a_len
    - a
    - b_len
    - b
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - uint64_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: hash
    functionSourceFile: /src/nettle/balloon.c
    functionUses: 108
    functionsReached:
    - digest
    - update
    - LE_WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: "void hash(void *ctx,\n     nettle_hash_update_func *update,\n     nettle_hash_digest_func
      *digest,\n     uint64_t cnt,\n     size_t a_len, const uint8_t *a,\n     size_t
      b_len, const uint8_t *b,\n     uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/balloon.c:79,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/balloon.c:80,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/balloon.c:81,1
    - Dst: update
      Src: /src/nettle/balloon.c:82,1
    - Dst: digest
      Src: /src/nettle/balloon.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - update
    - digest
    - i
    - j
    - k
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - uint64_t
    - uint64_t
    - uint64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: hash_ints
    functionSourceFile: /src/nettle/balloon.c
    functionUses: 0
    functionsReached:
    - digest
    - update
    - LE_WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: "void hash_ints(void *ctx,\n          nettle_hash_update_func *update,\n
      \         nettle_hash_digest_func *digest,\n          uint64_t i, uint64_t j,
      uint64_t k,\n          uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - length
    - block
    - mod
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: block_to_int
    functionSourceFile: /src/nettle/balloon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t block_to_int(size_t length, const uint8_t *block, size_t mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/nettle/balloon.c:115,1
    - Dst: hash
      Src: /src/nettle/balloon.c:118,1
    - Dst: hash
      Src: /src/nettle/balloon.c:125,1
    - Dst: hash_ints
      Src: /src/nettle/balloon.c:130,1
    - Dst: hash
      Src: /src/nettle/balloon.c:131,1
    - Dst: hash
      Src: /src/nettle/balloon.c:133,1
    - Dst: block_to_int
      Src: /src/nettle/balloon.c:135,1
    - Dst: memcpy
      Src: /src/nettle/balloon.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 12
    argNames:
    - hash_ctx
    - update
    - digest
    - digest_size
    - s_cost
    - t_cost
    - passwd_length
    - passwd
    - salt_length
    - salt
    - scratch
    - dst
    argTypes:
    - void*
    - nettle_hash_update_func*
    - nettle_hash_digest_func*
    - size_t
    - size_t
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: balloon
    functionSourceFile: /src/nettle/balloon.c
    functionUses: 3
    functionsReached:
    - hash_ints
    - hash
    - block_to_int
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void balloon(void *hash_ctx,\n        nettle_hash_update_func *update,\n
      \       nettle_hash_digest_func *digest,\n        size_t digest_size, size_t
      s_cost, size_t t_cost,\n        size_t passwd_length, const uint8_t *passwd,\n
      \       size_t salt_length, const uint8_t *salt,\n        uint8_t *scratch,
      uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest_size
    - s_cost
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: balloon_itch
    functionSourceFile: /src/nettle/balloon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t balloon_itch(size_t digest_size, size_t s_cost)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _eddsa_public_key_itch
      Src: /src/nettle/ed25519-sha512-pubkey.c:48,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ed25519-sha512-pubkey.c:49,1
    - Dst: sha512_init
      Src: /src/nettle/ed25519-sha512-pubkey.c:53,1
    - Dst: _eddsa_expand_key
      Src: /src/nettle/ed25519-sha512-pubkey.c:54,1
    - Dst: _eddsa_public_key
      Src: /src/nettle/ed25519-sha512-pubkey.c:55,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ed25519-sha512-pubkey.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pub
    - priv
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: ed25519_sha512_public_key
    functionSourceFile: /src/nettle/ed25519-sha512-pubkey.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - _eddsa_expand_key
    - gmp_alloc_limbs
    - sha512_init
    - _eddsa_public_key
    - _eddsa_public_key_itch
    linkageType: ''
    returnType: void
    signature: void ed25519_sha512_public_key (uint8_t *pub, const uint8_t *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/nettle/bignum.c:60,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum.c:61,1
    - Dst: mpz_init
      Src: /src/nettle/bignum.c:68,1
    - Dst: mpz_com
      Src: /src/nettle/bignum.c:69,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum.c:70,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: nettle_mpz_sizeinbase_256_s
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 2
    functionsReached:
    - mpz_sgn
    - mpz_com
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: size_t
    signature: size_t nettle_mpz_sizeinbase_256_s(const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: nettle_mpz_sizeinbase_256_u
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 6
    functionsReached:
    - mpz_sizeinbase
    linkageType: ''
    returnType: size_t
    signature: size_t nettle_mpz_sizeinbase_256_u(const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_getlimbn
      Src: /src/nettle/bignum.c:93,1
    - Dst: memset
      Src: /src/nettle/bignum.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - length
    - s
    - x
    - sign
    argTypes:
    - size_t
    - uint8_t*
    - mpz_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: nettle_mpz_to_octets
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 0
    functionsReached:
    - mpz_getlimbn
    - memset
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_to_octets(size_t length, uint8_t *s,\n\t\t     const
      mpz_t x, uint8_t sign)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/bignum.c:114,1
    - Dst: mpz_sgn
      Src: /src/nettle/bignum.c:114,1
    - Dst: mpz_sgn
      Src: /src/nettle/bignum.c:118,1
    - Dst: assert
      Src: /src/nettle/bignum.c:120,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/nettle/bignum.c:120,1
    - Dst: nettle_mpz_to_octets
      Src: /src/nettle/bignum.c:121,1
    - Dst: mpz_init
      Src: /src/nettle/bignum.c:126,1
    - Dst: mpz_com
      Src: /src/nettle/bignum.c:127,1
    - Dst: assert
      Src: /src/nettle/bignum.c:129,1
    - Dst: nettle_mpz_sizeinbase_256_u
      Src: /src/nettle/bignum.c:129,1
    - Dst: nettle_mpz_to_octets
      Src: /src/nettle/bignum.c:130,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - length
    - s
    - x
    argTypes:
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 134
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionName: nettle_mpz_get_str_256
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 11
    functionsReached:
    - mpz_sgn
    - assert
    - mpz_init
    - nettle_mpz_sizeinbase_256_u
    - mpz_com
    - mpz_clear
    - nettle_mpz_to_octets
    linkageType: ''
    returnType: void
    signature: void nettle_mpz_get_str_256(size_t length, uint8_t *s, const mpz_t
      x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_from_octets
      Src: /src/nettle/bignum.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: nettle_mpz_set_str_256_u
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 13
    functionsReached:
    - nettle_mpz_from_octets
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_set_str_256_u(mpz_t x,\n\t\t\t size_t length, const
      uint8_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/bignum.c:153,1
    - Dst: nettle_mpz_from_octets
      Src: /src/nettle/bignum.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: nettle_mpz_init_set_str_256_u
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 1
    functionsReached:
    - nettle_mpz_from_octets
    - mpz_init
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_init_set_str_256_u(mpz_t x,\n\t\t\t      size_t length,
      const uint8_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/nettle/bignum.c:163,1
    - Dst: nettle_mpz_from_octets
      Src: /src/nettle/bignum.c:167,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/bignum.c:173,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/bignum.c:174,1
    - Dst: mpz_sub
      Src: /src/nettle/bignum.c:175,1
    - Dst: mpz_clear
      Src: /src/nettle/bignum.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: nettle_mpz_set_str_256_s
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 3
    functionsReached:
    - mpz_mul_2exp
    - mpz_init_set_ui
    - nettle_mpz_from_octets
    - mpz_clear
    - mpz_set_ui
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_set_str_256_s(mpz_t x,\n\t\t\t size_t length, const
      uint8_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/bignum.c:184,1
    - Dst: nettle_mpz_set_str_256_s
      Src: /src/nettle/bignum.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - length
    - s
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: nettle_mpz_init_set_str_256_s
    functionSourceFile: /src/nettle/bignum.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_set_str_256_s
    - mpz_init
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_init_set_str_256_s(mpz_t x,\n\t\t\t      size_t length,
      const uint8_t *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/nettle/ctr16.c:59,1
    - Dst: f
      Src: /src/nettle/ctr16.c:62,1
    - Dst: memxor
      Src: /src/nettle/ctr16.c:63,1
    - Dst: assert
      Src: /src/nettle/ctr16.c:71,1
    - Dst: fill
      Src: /src/nettle/ctr16.c:73,1
    - Dst: f
      Src: /src/nettle/ctr16.c:74,1
    - Dst: memxor3
      Src: /src/nettle/ctr16.c:75,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/ctr16.c:85,1
    - Dst: MIN
      Src: /src/nettle/ctr16.c:85,1
    - Dst: fill
      Src: /src/nettle/ctr16.c:90,1
    - Dst: f
      Src: /src/nettle/ctr16.c:91,1
    - Dst: memxor3
      Src: /src/nettle/ctr16.c:94,1
    - Dst: assert
      Src: /src/nettle/ctr16.c:99,1
    - Dst: fill
      Src: /src/nettle/ctr16.c:100,1
    - Dst: f
      Src: /src/nettle/ctr16.c:101,1
    - Dst: memxor3
      Src: /src/nettle/ctr16.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 7
    argNames:
    - ctx
    - f
    - fill
    - ctr
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - nettle_fill16_func*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 106
    functionName: _nettle_ctr_crypt16
    functionSourceFile: /src/nettle/ctr16.c
    functionUses: 5
    functionsReached:
    - assert
    - memxor
    - fill
    - memxor3
    - f
    - TMP_ALLOC
    - MIN
    linkageType: ''
    returnType: void
    signature: "void _nettle_ctr_crypt16(const void *ctx, nettle_cipher_func *f,\n\t\t
      \   nettle_fill16_func *fill, uint8_t *ctr,\n\t\t    size_t length, uint8_t
      *dst,\n\t\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/pkcs1.c:65,1
    - Dst: assert
      Src: /src/nettle/pkcs1.c:70,1
    - Dst: memset
      Src: /src/nettle/pkcs1.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - key_size
    - buffer
    - id_size
    - id
    - digest_size
    argTypes:
    - unsigned
    - uint8_t*
    - unsigned
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: _pkcs1_signature_prefix
    functionSourceFile: /src/nettle/pkcs1.c
    functionUses: 5
    functionsReached:
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n_pkcs1_signature_prefix(unsigned key_size,\n\t\t\tuint8_t
      *buffer,\n\t\t\tunsigned id_size,\n\t\t\tconst uint8_t *id,\n\t\t\tunsigned
      digest_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: sec_sub_1
    functionSourceFile: /src/nettle/sec-sub-1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t sec_sub_1 (mp_limb_t *rp, mp_limb_t *ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des_set_key
      Src: /src/nettle/non-nettle.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: des_set_key_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - des_set_key
    linkageType: ''
    returnType: void
    signature: void des_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: des3_set_key
      Src: /src/nettle/non-nettle.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: des3_set_key_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - des3_set_key
    linkageType: ''
    returnType: void
    signature: void des3_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blowfish128_set_key
      Src: /src/nettle/non-nettle.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: blowfish128_set_key_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - blowfish128_set_key
    linkageType: ''
    returnType: void
    signature: void blowfish128_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/non-nettle.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cbc_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: cbc_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void cbc_aes128_set_encrypt_key(struct cbc_aes128_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBC_SET_IV
      Src: /src/nettle/non-nettle.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct cbc_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: cbc_aes128_set_iv
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - CBC_SET_IV
    linkageType: ''
    returnType: void
    signature: void cbc_aes128_set_iv(struct cbc_aes128_ctx *ctx, const uint8_t *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_aes128_encrypt
      Src: /src/nettle/non-nettle.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct cbc_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: cbc_aes128_encrypt_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - cbc_aes128_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes128_encrypt_wrapper(struct cbc_aes128_ctx *ctx,\n\t\t\t
      \  size_t length, uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes192_set_encrypt_key
      Src: /src/nettle/non-nettle.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cbc_aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: cbc_aes192_set_encrypt_key
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - aes192_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void cbc_aes192_set_encrypt_key(struct cbc_aes192_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBC_SET_IV
      Src: /src/nettle/non-nettle.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct cbc_aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: cbc_aes192_set_iv
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - CBC_SET_IV
    linkageType: ''
    returnType: void
    signature: void cbc_aes192_set_iv(struct cbc_aes192_ctx *ctx, const uint8_t *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_aes192_encrypt
      Src: /src/nettle/non-nettle.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct cbc_aes192_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: cbc_aes192_encrypt_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - cbc_aes192_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes192_encrypt_wrapper(struct cbc_aes192_ctx *ctx,\n\t\t\t
      \  size_t length, uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/non-nettle.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cbc_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: cbc_aes256_set_encrypt_key
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void cbc_aes256_set_encrypt_key(struct cbc_aes256_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBC_SET_IV
      Src: /src/nettle/non-nettle.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct cbc_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: cbc_aes256_set_iv
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - CBC_SET_IV
    linkageType: ''
    returnType: void
    signature: void cbc_aes256_set_iv(struct cbc_aes256_ctx *ctx, const uint8_t *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_aes256_encrypt
      Src: /src/nettle/non-nettle.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct cbc_aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: cbc_aes256_encrypt_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - cbc_aes256_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes256_encrypt_wrapper(struct cbc_aes256_ctx *ctx,\n\t\t\t
      \  size_t length, uint8_t *dst,\n\t\t\t   const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_encrypt_key
      Src: /src/nettle/non-nettle.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ocb_aes128_set_encrypt_key_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_set_encrypt_key_wrapper (struct ocb_aes128_ctx *ctx,
      const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_decrypt_key
      Src: /src/nettle/non-nettle.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: ocb_aes128_set_decrypt_key_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_set_decrypt_key_wrapper (struct ocb_aes128_ctx *ctx,
      const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_nonce
      Src: /src/nettle/non-nettle.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ocb_aes128_set_nonce_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_nonce
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_set_nonce_wrapper (struct ocb_aes128_ctx *ctx, const
      uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_update
      Src: /src/nettle/non-nettle.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct ocb_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: ocb_aes128_update_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_update
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_update_wrapper (struct ocb_aes128_ctx *ctx,\n\t\t\t
      \  size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_encrypt
      Src: /src/nettle/non-nettle.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ocb_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: ocb_aes128_encrypt_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_encrypt
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_encrypt_wrapper (struct ocb_aes128_ctx *ctx,\n\t\t\t
      \   size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_decrypt
      Src: /src/nettle/non-nettle.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ocb_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: ocb_aes128_decrypt_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_decrypt
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_decrypt_wrapper (struct ocb_aes128_ctx *ctx,\n\t\t\t
      \   size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_digest
      Src: /src/nettle/non-nettle.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: ocb_aes128_digest_wrapper
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_digest
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_digest_wrapper (struct ocb_aes128_ctx *ctx, uint8_t
      *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_nonce
      Src: /src/nettle/non-nettle.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: ocb_aes128_t96_set_nonce
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_nonce
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_t96_set_nonce (struct ocb_aes128_ctx *ctx, const uint8_t
      *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_digest
      Src: /src/nettle/non-nettle.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct ocb_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: ocb_aes128_t96_digest
    functionSourceFile: /src/nettle/non-nettle.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_digest
    linkageType: ''
    returnType: void
    signature: void ocb_aes128_t96_digest (struct ocb_aes128_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sha256.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sha256_set_key
    functionSourceFile: /src/nettle/hmac-sha256.c
    functionUses: 2
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sha256_set_key(struct hmac_sha256_ctx *ctx,\n\t\t    size_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/nettle/hmac-sha256.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sha256_update
    functionSourceFile: /src/nettle/hmac-sha256.c
    functionUses: 0
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: void
    signature: "void hmac_sha256_update(struct hmac_sha256_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sha256.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sha256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_sha256_digest
    functionSourceFile: /src/nettle/hmac-sha256.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sha256_digest(struct hmac_sha256_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LO
      Src: /src/nettle/umac-poly128.c:48,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:49,1
    - Dst: LO
      Src: /src/nettle/umac-poly128.c:50,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:51,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:69,1
    - Dst: LO
      Src: /src/nettle/umac-poly128.c:70,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:70,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:71,1
    - Dst: LO
      Src: /src/nettle/umac-poly128.c:71,1
    - Dst: LO
      Src: /src/nettle/umac-poly128.c:72,1
    - Dst: HI
      Src: /src/nettle/umac-poly128.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - k
    - y
    argTypes:
    - uint32_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 105
    functionName: poly128_mul
    functionSourceFile: /src/nettle/umac-poly128.c
    functionUses: 0
    functionsReached:
    - LO
    - HI
    linkageType: ''
    returnType: void
    signature: void poly128_mul (const uint32_t *k, uint64_t *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poly128_mul
      Src: /src/nettle/umac-poly128.c:114,1
    - Dst: assert
      Src: /src/nettle/umac-poly128.c:131,1
    - Dst: poly128_mul
      Src: /src/nettle/umac-poly128.c:133,1
    - Dst: assert
      Src: /src/nettle/umac-poly128.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - k
    - y
    - mh
    - ml
    argTypes:
    - uint32_t*
    - uint64_t*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 149
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 149
    functionName: _nettle_umac_poly128
    functionSourceFile: /src/nettle/umac-poly128.c
    functionUses: 2
    functionsReached:
    - poly128_mul
    - assert
    linkageType: ''
    returnType: void
    signature: void _nettle_umac_poly128 (const uint32_t *k, uint64_t *y, uint64_t
      mh, uint64_t ml)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha512-verify.c:53,1
    - Dst: _rsa_verify_recover
      Src: /src/nettle/rsa-pss-sha512-verify.c:55,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/rsa-pss-sha512-verify.c:56,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha512-verify.c:56,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha512-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key
    - salt_length
    - digest
    - signature
    argTypes:
    - struct rsa_public_key*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: rsa_pss_sha384_verify_digest
    functionSourceFile: /src/nettle/rsa-pss-sha512-verify.c
    functionUses: 0
    functionsReached:
    - _rsa_verify_recover
    - pss_verify_mgf1
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha384_verify_digest(const struct rsa_public_key *key,\n\t\t\t
      \    size_t salt_length,\n\t\t\t     const uint8_t *digest,\n\t\t\t     const
      mpz_t signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pss-sha512-verify.c:72,1
    - Dst: _rsa_verify_recover
      Src: /src/nettle/rsa-pss-sha512-verify.c:74,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/rsa-pss-sha512-verify.c:75,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-pss-sha512-verify.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pss-sha512-verify.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key
    - salt_length
    - digest
    - signature
    argTypes:
    - struct rsa_public_key*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: rsa_pss_sha512_verify_digest
    functionSourceFile: /src/nettle/rsa-pss-sha512-verify.c
    functionUses: 0
    functionsReached:
    - _rsa_verify_recover
    - pss_verify_mgf1
    - mpz_clear
    - mpz_init
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_sha512_verify_digest(const struct rsa_public_key *key,\n\t\t\t
      \    size_t salt_length,\n\t\t\t     const uint8_t *digest,\n\t\t\t     const
      mpz_t signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/xts-aes128.c:47,1
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/xts-aes128.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xts_key
    - key
    argTypes:
    - struct xts_aes128_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: xts_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/xts-aes128.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void xts_aes128_set_encrypt_key(struct xts_aes128_key *xts_key, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_decrypt_key
      Src: /src/nettle/xts-aes128.c:54,1
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/xts-aes128.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xts_key
    - key
    argTypes:
    - struct xts_aes128_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: xts_aes128_set_decrypt_key
    functionSourceFile: /src/nettle/xts-aes128.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    - aes128_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: void xts_aes128_set_decrypt_key(struct xts_aes128_key *xts_key, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_encrypt_message
      Src: /src/nettle/xts-aes128.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - xts_key
    - tweak
    - length
    - dst
    - src
    argTypes:
    - struct xts_aes128_key*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: xts_aes128_encrypt_message
    functionSourceFile: /src/nettle/xts-aes128.c
    functionUses: 1
    functionsReached:
    - xts_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void xts_aes128_encrypt_message(const struct xts_aes128_key *xts_key,\n
      \                          const uint8_t *tweak, size_t length,\n                           uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_decrypt_message
      Src: /src/nettle/xts-aes128.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - xts_key
    - tweak
    - length
    - dst
    - src
    argTypes:
    - struct xts_aes128_key*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: xts_aes128_decrypt_message
    functionSourceFile: /src/nettle/xts-aes128.c
    functionUses: 1
    functionsReached:
    - xts_decrypt_message
    linkageType: ''
    returnType: void
    signature: "void xts_aes128_decrypt_message(const struct xts_aes128_key *xts_key,\n
      \                          const uint8_t *tweak, size_t length,\n                           uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/hmac.c:55,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/hmac.c:57,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/hmac.c:58,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/hmac.c:66,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/hmac.c:68,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/hmac.c:69,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/hmac.c:70,1
    - Dst: assert
      Src: /src/nettle/hmac.c:76,1
    - Dst: memset
      Src: /src/nettle/hmac.c:78,1
    - Dst: memxor
      Src: /src/nettle/hmac.c:79,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/hmac.c:81,1
    - Dst: memset
      Src: /src/nettle/hmac.c:83,1
    - Dst: memxor
      Src: /src/nettle/hmac.c:84,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/hmac.c:86,1
    - Dst: memcpy
      Src: /src/nettle/hmac.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 6
    argNames:
    - outer
    - inner
    - state
    - hash
    - key_length
    - key
    argTypes:
    - void*
    - void*
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 89
    functionName: hmac_set_key
    functionSourceFile: /src/nettle/hmac.c
    functionUses: 0
    functionsReached:
    - assert
    - memxor
    - memcpy
    - struct nettle_hash*::digest
    - TMP_ALLOC
    - memset
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    linkageType: ''
    returnType: void
    signature: "void hmac_set_key(void *outer, void *inner, void *state,\n\t     const
      struct nettle_hash *hash,\n\t     size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/hmac.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - hash
    - length
    - data
    argTypes:
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: hmac_update
    functionSourceFile: /src/nettle/hmac.c
    functionUses: 1
    functionsReached:
    - struct nettle_hash*::update
    linkageType: ''
    returnType: void
    signature: "void hmac_update(void *state,\n\t    const struct nettle_hash *hash,\n\t
      \   size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/hmac.c:106,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/hmac.c:108,1
    - Dst: memcpy
      Src: /src/nettle/hmac.c:110,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/hmac.c:112,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/hmac.c:113,1
    - Dst: memcpy
      Src: /src/nettle/hmac.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - outer
    - inner
    - state
    - hash
    - dst
    argTypes:
    - void*
    - void*
    - void*
    - struct nettle_hash*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: hmac_digest
    functionSourceFile: /src/nettle/hmac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - struct nettle_hash*::digest
    - TMP_ALLOC
    - struct nettle_hash*::update
    linkageType: ''
    returnType: void
    signature: "void hmac_digest(const void *outer, const void *inner, void *state,\n\t
      \   const struct nettle_hash *hash, \t    \n\t    uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/write-le32.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: _nettle_write_le32
    functionSourceFile: /src/nettle/write-le32.c
    functionUses: 3
    functionsReached:
    - LE_WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: "void _nettle_write_le32(size_t length, uint8_t *dst,\n\t\t   const
      uint32_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-pkcs1-verify.c:51,1
    - Dst: pkcs1_rsa_digest_encode
      Src: /src/nettle/rsa-pkcs1-verify.c:53,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-pkcs1-verify.c:54,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-pkcs1-verify.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key
    - length
    - digest_info
    - s
    argTypes:
    - struct rsa_public_key*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: rsa_pkcs1_verify
    functionSourceFile: /src/nettle/rsa-pkcs1-verify.c
    functionUses: 1
    functionsReached:
    - pkcs1_rsa_digest_encode
    - mpz_clear
    - _rsa_verify
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_pkcs1_verify(const struct rsa_public_key *key,\n\t\t size_t
      length, const uint8_t *digest_info,\n\t\t const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:115,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:116,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:117,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct poly1305_ctx*
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: _nettle_poly1305_set_key
    functionSourceFile: /src/nettle/poly1305-internal.c
    functionUses: 2
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_poly1305_set_key(struct poly1305_ctx *ctx, const uint8_t
      key[16])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:146,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:147,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:148,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:149,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:158,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:158,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:158,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:158,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:158,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:159,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:159,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:159,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:159,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:159,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:160,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:160,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:160,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:160,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:160,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:161,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:161,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:161,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:161,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:161,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:162,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:162,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:162,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:162,1
    - Dst: mul32x32_64
      Src: /src/nettle/poly1305-internal.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - m
    - t4
    argTypes:
    - struct poly1305_ctx*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: _nettle_poly1305_block
    functionSourceFile: /src/nettle/poly1305-internal.c
    functionUses: 5
    functionsReached:
    - mul32x32_64
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_poly1305_block (struct poly1305_ctx *ctx, const uint8_t
      *m, unsigned t4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:203,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:204,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:205,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/poly1305-internal.c:206,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/poly1305-internal.c:208,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/poly1305-internal.c:210,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/poly1305-internal.c:212,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/poly1305-internal.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - struct poly1305_ctx*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 221
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 221
    functionName: _nettle_poly1305_digest
    functionSourceFile: /src/nettle/poly1305-internal.c
    functionUses: 2
    functionsReached:
    - LE_WRITE_UINT32
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_poly1305_digest (struct poly1305_ctx *ctx, union nettle_block16
      *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aesdata.c:30,1
    - Dst: assert
      Src: /src/nettle/aesdata.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: xtime
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned xtime(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/aesdata.c:49,1
    - Dst: xtime
      Src: /src/nettle/aesdata.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: compute_log
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached:
    - xtime
    - memset
    linkageType: ''
    returnType: void
    signature: void compute_log(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: mult
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned mult(unsigned a, unsigned b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: invert
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned invert(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: affine
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned affine(unsigned x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affine
      Src: /src/nettle/aesdata.c:88,1
    - Dst: invert
      Src: /src/nettle/aesdata.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: compute_sbox
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached:
    - invert
    - affine
    linkageType: ''
    returnType: void
    signature: void compute_sbox(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: compute_dtable
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_dtable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: compute_itable
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_itable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: compute_mtable
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_mtable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/aesdata.c:158,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:162,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:164,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - table
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: display_byte_table
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display_byte_table(const char *name, unsigned char *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/aesdata.c:175,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:179,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:182,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:184,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:186,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - name
    - table
    argTypes:
    - char*
    - unsigned long[][]
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: display_table
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display_table(const char *name, unsigned long table[][0x100])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/aesdata.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: display_polynomial
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display_polynomial(const unsigned *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_log
      Src: /src/nettle/aesdata.c:201,1
    - Dst: display_byte_table
      Src: /src/nettle/aesdata.c:204,1
    - Dst: display_byte_table
      Src: /src/nettle/aesdata.c:205,1
    - Dst: compute_sbox
      Src: /src/nettle/aesdata.c:207,1
    - Dst: display_byte_table
      Src: /src/nettle/aesdata.c:208,1
    - Dst: display_byte_table
      Src: /src/nettle/aesdata.c:209,1
    - Dst: compute_dtable
      Src: /src/nettle/aesdata.c:211,1
    - Dst: display_table
      Src: /src/nettle/aesdata.c:212,1
    - Dst: compute_itable
      Src: /src/nettle/aesdata.c:214,1
    - Dst: display_table
      Src: /src/nettle/aesdata.c:215,1
    - Dst: compute_mtable
      Src: /src/nettle/aesdata.c:217,1
    - Dst: display_table
      Src: /src/nettle/aesdata.c:218,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:231,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:233,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:235,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:244,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:246,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:248,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:251,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:253,1
    - Dst: strtoul
      Src: /src/nettle/aesdata.c:263,1
    - Dst: strtoul
      Src: /src/nettle/aesdata.c:264,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:272,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:275,1
    - Dst: invert
      Src: /src/nettle/aesdata.c:275,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:280,1
    - Dst: strtoul
      Src: /src/nettle/aesdata.c:291,1
    - Dst: strtoul
      Src: /src/nettle/aesdata.c:302,1
    - Dst: strtoul
      Src: /src/nettle/aesdata.c:303,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:306,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:306,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:306,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:306,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:307,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:307,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:307,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:307,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:308,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:308,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:308,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:308,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:309,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:309,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:309,1
    - Dst: mult
      Src: /src/nettle/aesdata.c:309,1
    - Dst: display_polynomial
      Src: /src/nettle/aesdata.c:311,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:311,1
    - Dst: display_polynomial
      Src: /src/nettle/aesdata.c:311,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:312,1
    - Dst: display_polynomial
      Src: /src/nettle/aesdata.c:312,1
    - Dst: printf
      Src: /src/nettle/aesdata.c:312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 315
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 315
    functionName: main
    functionSourceFile: /src/nettle/aesdata.c
    functionUses: 5
    functionsReached:
    - compute_log
    - mult
    - printf
    - display_polynomial
    - compute_dtable
    - compute_itable
    - compute_mtable
    - display_table
    - display_byte_table
    - compute_sbox
    - invert
    - strtoul
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL_ALIGN
      Src: /src/nettle/pss.c:70,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pss.c:74,1
    - Dst: TMP_ALLOC_ALIGN
      Src: /src/nettle/pss.c:75,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pss.c:79,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/pss.c:84,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:85,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:86,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:87,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/pss.c:90,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/pss.c:93,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:94,1
    - Dst: pss_mgf1
      Src: /src/nettle/pss.c:96,1
    - Dst: memxor
      Src: /src/nettle/pss.c:102,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pss.c:112,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pss.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 6
    argNames:
    - m
    - bits
    - hash
    - salt_length
    - salt
    - digest
    argTypes:
    - mpz_t
    - size_t
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: pss_encode_mgf1
    functionSourceFile: /src/nettle/pss.c
    functionUses: 4
    functionsReached:
    - memxor
    - nettle_mpz_set_str_256_u
    - TMP_ALLOC_ALIGN
    - pss_mgf1
    - TMP_DECL_ALIGN
    - struct nettle_hash*::digest
    - TMP_GMP_FREE
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int pss_encode_mgf1(mpz_t m, size_t bits,\n\t\tconst struct nettle_hash
      *hash,\n\t\tsize_t salt_length, const uint8_t *salt,\n\t\tconst uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL_ALIGN
      Src: /src/nettle/pss.c:130,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pss.c:138,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/pss.c:140,1
    - Dst: TMP_ALLOC_ALIGN
      Src: /src/nettle/pss.c:141,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/pss.c:146,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/pss.c:149,1
    - Dst: assert
      Src: /src/nettle/pss.c:161,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/pss.c:164,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:165,1
    - Dst: pss_mgf1
      Src: /src/nettle/pss.c:168,1
    - Dst: memxor
      Src: /src/nettle/pss.c:171,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/pss.c:184,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:185,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:186,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/pss.c:187,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/pss.c:188,1
    - Dst: memcmp
      Src: /src/nettle/pss.c:191,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pss.c:196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - m
    - bits
    - hash
    - salt_length
    - digest
    argTypes:
    - mpz_t
    - size_t
    - struct nettle_hash*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 198
    functionName: pss_verify_mgf1
    functionSourceFile: /src/nettle/pss.c
    functionUses: 3
    functionsReached:
    - assert
    - memxor
    - TMP_ALLOC_ALIGN
    - nettle_mpz_get_str_256
    - memcmp
    - pss_mgf1
    - TMP_DECL_ALIGN
    - struct nettle_hash*::digest
    - TMP_ALLOC
    - TMP_GMP_FREE
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - mpz_sizeinbase
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int pss_verify_mgf1(const mpz_t m, size_t bits,\n\t\tconst struct
      nettle_hash *hash,\n\t\tsize_t salt_length,\n\t\tconst uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: nettle_get_macs
    functionSourceFile: /src/nettle/nettle-meta-macs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct nettle_mac
    signature: 'struct nettle_mac * const *

      nettle_get_macs (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/base16-meta.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: base16_encode_length
    functionSourceFile: /src/nettle/base16-meta.c
    functionUses: 0
    functionsReached:
    - BASE16_ENCODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base16_encode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/base16-meta.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: base16_decode_length
    functionSourceFile: /src/nettle/base16-meta.c
    functionUses: 0
    functionsReached:
    - BASE16_DECODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base16_decode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - UNUSED
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: base16_encode_init
    functionSourceFile: /src/nettle/base16-meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base16_encode_init(void *ctx UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_encode_update
      Src: /src/nettle/base16-meta.c:65,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/base16-meta.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - UNUSED
    - dst
    - length
    - src
    argTypes:
    - void*
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: base16_encode_update_wrapper
    functionSourceFile: /src/nettle/base16-meta.c
    functionUses: 0
    functionsReached:
    - base16_encode_update
    - BASE16_ENCODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: "size_t base16_encode_update_wrapper(void *ctx UNUSED, char *dst,\n\t\t\t
      \    size_t length, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: base16_encode_final
    functionSourceFile: /src/nettle/base16-meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t base16_encode_final(void *ctx UNUSED, char *dst UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha1-sign-tr.c:56,1
    - Dst: pkcs1_rsa_sha1_encode
      Src: /src/nettle/rsa-sha1-sign-tr.c:57,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha1-sign-tr.c:58,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha1-sign-tr.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - struct sha1_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: rsa_sha1_sign_tr
    functionSourceFile: /src/nettle/rsa-sha1-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_sha1_encode
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_sign_tr(const struct rsa_public_key *pub,\n\t\t const
      struct rsa_private_key *key,\n\t\t void *random_ctx, nettle_random_func *random,\n\t\t
      struct sha1_ctx *hash,\n\t\t mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha1-sign-tr.c:75,1
    - Dst: pkcs1_rsa_sha1_encode_digest
      Src: /src/nettle/rsa-sha1-sign-tr.c:77,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha1-sign-tr.c:78,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha1-sign-tr.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: rsa_sha1_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-sha1-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_sha1_encode_digest
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\tconst
      struct rsa_private_key *key,\n\t\t\tvoid *random_ctx, nettle_random_func *random,\n\t\t\tconst
      uint8_t *digest,\n\t\t\tmpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sha224.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha224_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sha224_set_key
    functionSourceFile: /src/nettle/hmac-sha224.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sha224_set_key(struct hmac_sha224_ctx *ctx,\n\t\t    size_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sha224.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sha224_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sha224_digest
    functionSourceFile: /src/nettle/hmac-sha224.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sha224_digest(struct hmac_sha224_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:69,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:70,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:71,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:72,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:76,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:77,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:78,1
    - Dst: AES_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:79,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:92,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:93,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:94,1
    - Dst: AES_FINAL_ROUND
      Src: /src/nettle/aes-decrypt-internal.c:95,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:97,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:98,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:99,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/aes-decrypt-internal.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 6
    argNames:
    - rounds
    - keys
    - T
    - length
    - dst
    - src
    argTypes:
    - unsigned
    - uint32_t*
    - struct aes_table*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: _nettle_aes_decrypt
    functionSourceFile: /src/nettle/aes-decrypt-internal.c
    functionUses: 2
    functionsReached:
    - LE_WRITE_UINT32
    - AES_FINAL_ROUND
    - LE_READ_UINT32
    - AES_ROUND
    linkageType: ''
    returnType: void
    signature: "void _nettle_aes_decrypt(unsigned rounds, const uint32_t *keys,\n\t\t
      \   const struct aes_table *T,\n\t\t    size_t length, uint8_t *dst,\n\t\t    const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_init
      Src: /src/nettle/sexp-transport.c:84,1
    - Dst: base64_decode_update
      Src: /src/nettle/sexp-transport.c:86,1
    - Dst: base64_decode_final
      Src: /src/nettle/sexp-transport.c:88,1
    - Dst: assert
      Src: /src/nettle/sexp-transport.c:129,1
    - Dst: memmove
      Src: /src/nettle/sexp-transport.c:130,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/sexp-transport.c:134,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - iterator
    - length
    - input
    argTypes:
    - struct sexp_iterator*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 135
    functionName: sexp_transport_iterator_first
    functionSourceFile: /src/nettle/sexp-transport.c
    functionUses: 0
    functionsReached:
    - assert
    - base64_decode_init
    - memmove
    - sexp_iterator_first
    - base64_decode_update
    - base64_decode_final
    linkageType: ''
    returnType: int
    signature: "int sexp_transport_iterator_first(struct sexp_iterator *iterator,\n\t\t\t
      \     size_t length, uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-set-nonce.c:51,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/salsa20-set-nonce.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - struct salsa20_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: salsa20_set_nonce
    functionSourceFile: /src/nettle/salsa20-set-nonce.c
    functionUses: 0
    functionsReached:
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void salsa20_set_nonce(struct salsa20_ctx *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-streebog.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_streebog512_set_key
    functionSourceFile: /src/nettle/hmac-streebog.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_set_key(struct hmac_streebog512_ctx *ctx,\n\t\t\t
      size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streebog512_update
      Src: /src/nettle/hmac-streebog.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_streebog512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_streebog512_update
    functionSourceFile: /src/nettle/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - streebog512_update
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_update(struct hmac_streebog512_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-streebog.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_streebog512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_streebog512_digest
    functionSourceFile: /src/nettle/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog512_digest(struct hmac_streebog512_ctx *ctx,\n\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-streebog.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_streebog256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: hmac_streebog256_set_key
    functionSourceFile: /src/nettle/hmac-streebog.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog256_set_key(struct hmac_streebog256_ctx *ctx,\n\t\t\t
      size_t key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-streebog.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_streebog256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: hmac_streebog256_digest
    functionSourceFile: /src/nettle/hmac-streebog.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_streebog256_digest(struct hmac_streebog256_ctx *ctx,\n\t\t\tuint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jja.c:94,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:96,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:97,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:99,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-jja.c:101,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jja.c:102,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:103,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jja.c:105,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:106,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:109,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:110,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-jja.c:111,1
    - Dst: ecc_mod_mul_1
      Src: /src/nettle/ecc-add-jja.c:114,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:116,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:119,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-jja.c:122,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:123,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-add-jja.c:124,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:127,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-jja.c:128,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-jja.c:129,1
    - Dst: ecc_mod_submul_1
      Src: /src/nettle/ecc-add-jja.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 131
    functionName: ecc_add_jja
    functionSourceFile: /src/nettle/ecc-add-jja.c
    functionUses: 3
    functionsReached:
    - ecc_mod_sqr
    - ecc_mod_submul_1
    - ecc_mod_mul_1
    - ecc_mod_add
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_add_jja (const struct ecc_curve *ecc,\n\t     mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_curve*::p::invert
      Src: /src/nettle/ecc-j-to-a.c:52,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-j-to-a.c:53,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-j-to-a.c:59,1
    - Dst: struct ecc_curve*::p::reduce
      Src: /src/nettle/ecc-j-to-a.c:60,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-j-to-a.c:64,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-j-to-a.c:74,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-j-to-a.c:75,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-j-to-a.c:79,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-j-to-a.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - ecc
    - op
    - r
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - int
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 86
    functionName: ecc_j_to_a
    functionSourceFile: /src/nettle/ecc-j-to-a.c
    functionUses: 2
    functionsReached:
    - struct ecc_curve*::p::invert
    - ecc_mod_sqr
    - mpn_sub_n
    - ecc_mod_mul_canonical
    - struct ecc_curve*::p::reduce
    - mpn_zero
    - ecc_mod_mul
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_j_to_a (const struct ecc_curve *ecc,\n\t    int op,\n\t    mp_limb_t
      *r, const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: nettle_get_aeads
    functionSourceFile: /src/nettle/nettle-meta-aeads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct nettle_aead
    signature: 'struct nettle_aead * const *

      nettle_get_aeads (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_a_to_j
      Src: /src/nettle/ecc-mul-a-eh.c:61,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-a-eh.c:64,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/ecc-mul-a-eh.c:75,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/ecc-mul-a-eh.c:76,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mul-a-eh.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ecc
    - r
    - np
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 83
    functionName: ecc_mul_a_eh
    functionSourceFile: /src/nettle/ecc-mul-a-eh.c
    functionUses: 0
    functionsReached:
    - struct ecc_curve*::dup
    - ecc_a_to_j
    - mpn_zero
    - struct ecc_curve*::add_hh
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_a_eh (const struct ecc_curve *ecc,\n\t      mp_limb_t
      *r,\n\t      const mp_limb_t *np, const mp_limb_t *p,\n\t      mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-a-eh.c:100,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:100,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:101,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:101,1
    - Dst: ecc_a_to_j
      Src: /src/nettle/ecc-mul-a-eh.c:103,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:103,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/ecc-mul-a-eh.c:107,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:107,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:107,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/ecc-mul-a-eh.c:108,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:108,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:108,1
    - Dst: TABLE
      Src: /src/nettle/ecc-mul-a-eh.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ecc
    - table
    - bits
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - unsigned
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: table_init
    functionSourceFile: /src/nettle/ecc-mul-a-eh.c
    functionUses: 1
    functionsReached:
    - struct ecc_curve*::dup
    - ecc_a_to_j
    - TABLE
    - mpn_zero
    - struct ecc_curve*::add_hh
    linkageType: ''
    returnType: void
    signature: "void table_init (const struct ecc_curve *ecc,\n\t    mp_limb_t *table,
      unsigned bits,\n\t    const mp_limb_t *p,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: table_init
      Src: /src/nettle/ecc-mul-a-eh.c:129,1
    - Dst: assert
      Src: /src/nettle/ecc-mul-a-eh.c:136,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-a-eh.c:138,1
    - Dst: assert
      Src: /src/nettle/ecc-mul-a-eh.c:152,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/ecc-mul-a-eh.c:161,1
    - Dst: mpn_sec_tabselect
      Src: /src/nettle/ecc-mul-a-eh.c:164,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/ecc-mul-a-eh.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - ecc
    - r
    - np
    - p
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ecc_mul_a_eh
    functionSourceFile: /src/nettle/ecc-mul-a-eh.c
    functionUses: 0
    functionsReached:
    - struct ecc_curve*::dup
    - assert
    - struct ecc_curve*::add_hhh
    - table_init
    - mpn_sec_tabselect
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_a_eh (const struct ecc_curve *ecc,\n\t      mp_limb_t
      *r,\n\t      const mp_limb_t *np, const mp_limb_t *p,\n\t      mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/desdata.c:79,1
    - Dst: printf
      Src: /src/nettle/desdata.c:101,1
    - Dst: printf
      Src: /src/nettle/desdata.c:103,1
    - Dst: printf
      Src: /src/nettle/desdata.c:114,1
    - Dst: printf
      Src: /src/nettle/desdata.c:138,1
    - Dst: printf
      Src: /src/nettle/desdata.c:140,1
    - Dst: printf
      Src: /src/nettle/desdata.c:142,1
    - Dst: printf
      Src: /src/nettle/desdata.c:153,1
    - Dst: printf
      Src: /src/nettle/desdata.c:185,1
    - Dst: printf
      Src: /src/nettle/desdata.c:187,1
    - Dst: printf
      Src: /src/nettle/desdata.c:189,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 197
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/nettle/desdata.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha256-verify.c:54,1
    - Dst: pkcs1_rsa_sha256_encode
      Src: /src/nettle/rsa-sha256-verify.c:56,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha256-verify.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha256-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct sha256_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rsa_sha256_verify
    functionSourceFile: /src/nettle/rsa-sha256-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - pkcs1_rsa_sha256_encode
    - _rsa_verify
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_verify(const struct rsa_public_key *key,\n\t\t  struct
      sha256_ctx *hash,\n\t\t  const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha256-verify.c:72,1
    - Dst: pkcs1_rsa_sha256_encode_digest
      Src: /src/nettle/rsa-sha256-verify.c:74,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha256-verify.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha256-verify.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: rsa_sha256_verify_digest
    functionSourceFile: /src/nettle/rsa-sha256-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - pkcs1_rsa_sha256_encode_digest
    - _rsa_verify
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_verify_digest(const struct rsa_public_key *key,\n\t\t\t
      const uint8_t *digest,\n\t\t\t const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_DECL
      Src: /src/nettle/gostdsa-sign.c:52,1
    - Dst: ECC_GOSTDSA_SIGN_ITCH
      Src: /src/nettle/gostdsa-sign.c:52,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/gostdsa-sign.c:54,1
    - Dst: mpz_limbs_write
      Src: /src/nettle/gostdsa-sign.c:55,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/gostdsa-sign.c:57,1
    - Dst: ECC_GOSTDSA_SIGN_ITCH
      Src: /src/nettle/gostdsa-sign.c:57,1
    - Dst: ecc_mod_random
      Src: /src/nettle/gostdsa-sign.c:65,1
    - Dst: mpn_zero_p
      Src: /src/nettle/gostdsa-sign.c:67,1
    - Dst: ecc_gostdsa_sign
      Src: /src/nettle/gostdsa-sign.c:68,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/gostdsa-sign.c:70,1
    - Dst: mpz_limbs_finish
      Src: /src/nettle/gostdsa-sign.c:71,1
    - Dst: mpz_sgn
      Src: /src/nettle/gostdsa-sign.c:73,1
    - Dst: mpz_sgn
      Src: /src/nettle/gostdsa-sign.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - key
    - random_ctx
    - random
    - digest_length
    - digest
    - signature
    argTypes:
    - struct ecc_scalar*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: gostdsa_sign
    functionSourceFile: /src/nettle/gostdsa-sign.c
    functionUses: 2
    functionsReached:
    - mpz_limbs_write
    - mpz_sgn
    - ECC_GOSTDSA_SIGN_ITCH
    - ecc_gostdsa_sign
    - TMP_DECL
    - mpn_zero_p
    - TMP_ALLOC
    - mpz_limbs_finish
    - ecc_mod_random
    linkageType: ''
    returnType: void
    signature: "void gostdsa_sign (const struct ecc_scalar *key,\n\t    void *random_ctx,
      nettle_random_func *random,\n\t    size_t digest_length,\n\t    const uint8_t
      *digest,\n\t    struct dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - a
    - b
    - n
    argTypes:
    - word_t*
    - word_t*
    - word_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: memxor3_common_alignment
    functionSourceFile: /src/nettle/memxor3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void memxor3_common_alignment (word_t *dst,\n\t\t\t  const word_t
      *a, const word_t *b, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/memxor3.c:84,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:92,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:103,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:110,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:112,1
    - Dst: assert
      Src: /src/nettle/memxor3.c:114,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:116,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 5
    argNames:
    - dst
    - a
    - b
    - offset
    - n
    argTypes:
    - word_t*
    - word_t*
    - unsigned char*
    - unsigned
    - size_t
    constantsTouched: []
    func_position:
      end: 122
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 122
    functionName: memxor3_different_alignment_b
    functionSourceFile: /src/nettle/memxor3.c
    functionUses: 0
    functionsReached:
    - MERGE
    - assert
    - READ_PARTIAL
    linkageType: ''
    returnType: void
    signature: "void memxor3_different_alignment_b (word_t *dst,\n\t\t\t       const
      word_t *a, const unsigned char *b,\n\t\t\t       unsigned offset, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/memxor3.c:135,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:144,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:145,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:157,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:164,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:166,1
    - Dst: assert
      Src: /src/nettle/memxor3.c:168,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:170,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:171,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - dst
    - a
    - b
    - offset
    - n
    argTypes:
    - word_t*
    - unsigned char*
    - unsigned char*
    - unsigned
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 178
    functionName: memxor3_different_alignment_ab
    functionSourceFile: /src/nettle/memxor3.c
    functionUses: 0
    functionsReached:
    - MERGE
    - assert
    - READ_PARTIAL
    linkageType: ''
    returnType: void
    signature: "void memxor3_different_alignment_ab (word_t *dst,\n\t\t\t\tconst unsigned
      char *a, const unsigned char *b,\n\t\t\t\tunsigned offset, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:201,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:202,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:218,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:218,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:224,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:224,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:226,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:226,1
    - Dst: assert
      Src: /src/nettle/memxor3.c:228,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:230,1
    - Dst: READ_PARTIAL
      Src: /src/nettle/memxor3.c:231,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:237,1
    - Dst: MERGE
      Src: /src/nettle/memxor3.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 6
    argNames:
    - dst
    - a
    - b
    - a_offset
    - b_offset
    - n
    argTypes:
    - word_t*
    - unsigned char*
    - unsigned char*
    - unsigned
    - unsigned
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 238
    functionName: memxor3_different_alignment_all
    functionSourceFile: /src/nettle/memxor3.c
    functionUses: 0
    functionsReached:
    - MERGE
    - assert
    - READ_PARTIAL
    linkageType: ''
    returnType: void
    signature: "void memxor3_different_alignment_all (word_t *dst,\n\t\t\t\t const
      unsigned char *a, const unsigned char *b,\n\t\t\t\t unsigned a_offset, unsigned
      b_offset,\n\t\t\t\t size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALIGN_OFFSET
      Src: /src/nettle/memxor3.c:260,1
    - Dst: ALIGN_OFFSET
      Src: /src/nettle/memxor3.c:266,1
    - Dst: ALIGN_OFFSET
      Src: /src/nettle/memxor3.c:267,1
    - Dst: memxor3_common_alignment
      Src: /src/nettle/memxor3.c:275,1
    - Dst: memxor3_different_alignment_ab
      Src: /src/nettle/memxor3.c:279,1
    - Dst: memxor3_different_alignment_b
      Src: /src/nettle/memxor3.c:284,1
    - Dst: memxor3_different_alignment_b
      Src: /src/nettle/memxor3.c:288,1
    - Dst: memxor3_different_alignment_all
      Src: /src/nettle/memxor3.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - dst_in
    - a_in
    - b_in
    - n
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 300
    functionName: nettle_memxor3
    functionSourceFile: /src/nettle/memxor3.c
    functionUses: 0
    functionsReached:
    - memxor3_common_alignment
    - memxor3_different_alignment_all
    - memxor3_different_alignment_ab
    - memxor3_different_alignment_b
    - ALIGN_OFFSET
    linkageType: ''
    returnType: void
    signature: "void *\nnettle_memxor3(void *dst_in, const void *a_in, \n\t\t\t\t
      const void *b_in, size_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/nettle/fat-ppc.c:103,1
    - Dst: MATCH
      Src: /src/nettle/fat-ppc.c:110,1
    - Dst: MATCH
      Src: /src/nettle/fat-ppc.c:112,1
    - Dst: MATCH
      Src: /src/nettle/fat-ppc.c:114,1
    - Dst: getauxval
      Src: /src/nettle/fat-ppc.c:130,1
    - Dst: getauxval
      Src: /src/nettle/fat-ppc.c:131,1
    - Dst: elf_aux_info
      Src: /src/nettle/fat-ppc.c:133,1
    - Dst: elf_aux_info
      Src: /src/nettle/fat-ppc.c:134,1
    - Dst: sysctlbyname
      Src: /src/nettle/fat-ppc.c:138,1
    - Dst: sysctlbyname
      Src: /src/nettle/fat-ppc.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - features
    argTypes:
    - struct ppc_features*
    constantsTouched: []
    func_position:
      end: 154
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 154
    functionName: get_ppc_features
    functionSourceFile: /src/nettle/fat-ppc.c
    functionUses: 0
    functionsReached:
    - getauxval
    - sysctlbyname
    - elf_aux_info
    - secure_getenv
    - MATCH
    linkageType: ''
    returnType: void
    signature: void get_ppc_features (struct ppc_features *features)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - UNUSED
    - UNUSED
    - UNUSED
    - UNUSED
    - UNUSED
    argTypes:
    - struct gcm_key*
    - unsigned rounds
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: gcm_aes_crypt_c
    functionSourceFile: /src/nettle/fat-ppc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t gcm_aes_crypt_c (struct gcm_key *key UNUSED, unsigned rounds
      UNUSED,\n\t\t size_t size UNUSED, uint8_t *dst UNUSED, const uint8_t *src UNUSED)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ppc_features
      Src: /src/nettle/fat-ppc.c:230,1
    - Dst: getenv
      Src: /src/nettle/fat-ppc.c:232,1
    - Dst: fprintf
      Src: /src/nettle/fat-ppc.c:234,1
    - Dst: fprintf
      Src: /src/nettle/fat-ppc.c:240,1
    - Dst: fprintf
      Src: /src/nettle/fat-ppc.c:269,1
    - Dst: fprintf
      Src: /src/nettle/fat-ppc.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 297
    functionName: CONSTRUCTOR
    functionSourceFile: /src/nettle/fat-ppc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getenv
    - get_ppc_features
    linkageType: ''
    returnType: void
    signature: 'void CONSTRUCTOR

      fat_init (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/nettle/fat-s390x.c:122,1
    - Dst: MATCH
      Src: /src/nettle/fat-s390x.c:124,1
    - Dst: MATCH
      Src: /src/nettle/fat-s390x.c:126,1
    - Dst: MATCH
      Src: /src/nettle/fat-s390x.c:131,1
    - Dst: MATCH
      Src: /src/nettle/fat-s390x.c:137,1
    - Dst: _nettle_stfle
      Src: /src/nettle/fat-s390x.c:150,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:152,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:152,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:155,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:155,1
    - Dst: _nettle_km_status
      Src: /src/nettle/fat-s390x.c:158,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:159,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:159,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:161,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:161,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:163,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:163,1
    - Dst: memset
      Src: /src/nettle/fat-s390x.c:166,1
    - Dst: _nettle_kimd_status
      Src: /src/nettle/fat-s390x.c:167,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:168,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:168,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:170,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:170,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:172,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:172,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:176,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:176,1
    - Dst: _nettle_kimd_status
      Src: /src/nettle/fat-s390x.c:179,1
    - Dst: FACILITY_INDEX
      Src: /src/nettle/fat-s390x.c:180,1
    - Dst: FACILITY_BIT
      Src: /src/nettle/fat-s390x.c:180,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 1
    argNames:
    - features
    argTypes:
    - struct s390x_features*
    constantsTouched: []
    func_position:
      end: 186
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 186
    functionName: get_s390x_features
    functionSourceFile: /src/nettle/fat-s390x.c
    functionUses: 0
    functionsReached:
    - _nettle_km_status
    - _nettle_kimd_status
    - _nettle_stfle
    - FACILITY_BIT
    - memset
    - FACILITY_INDEX
    - MATCH
    linkageType: ''
    returnType: void
    signature: void get_s390x_features (struct s390x_features *features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_s390x_features
      Src: /src/nettle/fat-s390x.c:287,1
    - Dst: getenv
      Src: /src/nettle/fat-s390x.c:288,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:294,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:314,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:334,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:354,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:374,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:388,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:400,1
    - Dst: fprintf
      Src: /src/nettle/fat-s390x.c:412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 419
    functionName: CONSTRUCTOR
    functionSourceFile: /src/nettle/fat-s390x.c
    functionUses: 0
    functionsReached:
    - get_s390x_features
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: 'void CONSTRUCTOR

      fat_init (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PARITY
      Src: /src/nettle/des.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - length
    - key
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: des_check_parity
    functionSourceFile: /src/nettle/des.c
    functionUses: 0
    functionsReached:
    - PARITY
    linkageType: ''
    returnType: int
    signature: int des_check_parity(size_t length, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PARITY
      Src: /src/nettle/des.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: des_fix_parity
    functionSourceFile: /src/nettle/des.c
    functionUses: 0
    functionsReached:
    - PARITY
    linkageType: ''
    returnType: void
    signature: "void des_fix_parity(size_t length, uint8_t *dst,\n\t       const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 201
    functionName: des_weak_p
    functionSourceFile: /src/nettle/des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int des_weak_p(const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROR
      Src: /src/nettle/des.c:267,1
    - Dst: des_weak_p
      Src: /src/nettle/des.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct des_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 275
    functionName: des_set_key
    functionSourceFile: /src/nettle/des.c
    functionUses: 3
    functionsReached:
    - des_weak_p
    - ROR
    linkageType: ''
    returnType: int
    signature: int des_set_key(struct des_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/des.c:282,1
    - Dst: DesSmallFipsEncrypt
      Src: /src/nettle/des.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct des_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: des_encrypt
    functionSourceFile: /src/nettle/des.c
    functionUses: 2
    functionsReached:
    - assert
    - DesSmallFipsEncrypt
    linkageType: ''
    returnType: void
    signature: "void des_encrypt(const struct des_ctx *ctx,\n\t    size_t length,
      uint8_t *dst,\n\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/des.c:298,1
    - Dst: DesSmallFipsDecrypt
      Src: /src/nettle/des.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct des_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: des_decrypt
    functionSourceFile: /src/nettle/des.c
    functionUses: 2
    functionsReached:
    - assert
    - DesSmallFipsDecrypt
    linkageType: ''
    returnType: void
    signature: "void des_decrypt(const struct des_ctx *ctx,\n\t    size_t length,
      uint8_t *dst,\n\t    const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ecc-point.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - ecc
    argTypes:
    - struct ecc_point*
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ecc_point_init
    functionSourceFile: /src/nettle/ecc-point.c
    functionUses: 8
    functionsReached:
    - gmp_alloc_limbs
    linkageType: ''
    returnType: void
    signature: void ecc_point_init (struct ecc_point *p, const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_free_limbs
      Src: /src/nettle/ecc-point.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ecc_point_clear
    functionSourceFile: /src/nettle/ecc-point.c
    functionUses: 10
    functionsReached:
    - gmp_free_limbs
    linkageType: ''
    returnType: void
    signature: void ecc_point_clear (struct ecc_point *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_n
      Src: /src/nettle/ecc-point.c:63,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecc-point.c:65,1
    - Dst: mpz_cmp
      Src: /src/nettle/ecc-point.c:65,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecc-point.c:66,1
    - Dst: mpz_cmp
      Src: /src/nettle/ecc-point.c:66,1
    - Dst: mpz_init
      Src: /src/nettle/ecc-point.c:69,1
    - Dst: mpz_init
      Src: /src/nettle/ecc-point.c:70,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:72,1
    - Dst: mpz_init
      Src: /src/nettle/ecc-point.c:78,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:79,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:80,1
    - Dst: mpz_sub
      Src: /src/nettle/ecc-point.c:83,1
    - Dst: mpz_add_ui
      Src: /src/nettle/ecc-point.c:84,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/ecc-point.c:85,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/ecc-point.c:86,1
    - Dst: mpz_clear
      Src: /src/nettle/ecc-point.c:87,1
    - Dst: mpz_init
      Src: /src/nettle/ecc-point.c:93,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/ecc-point.c:94,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:95,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:96,1
    - Dst: mpz_set_ui
      Src: /src/nettle/ecc-point.c:97,1
    - Dst: mpz_submul
      Src: /src/nettle/ecc-point.c:98,1
    - Dst: mpz_add
      Src: /src/nettle/ecc-point.c:100,1
    - Dst: mpz_clear
      Src: /src/nettle/ecc-point.c:101,1
    - Dst: mpz_clear
      Src: /src/nettle/ecc-point.c:102,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:107,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/ecc-point.c:108,1
    - Dst: mpz_mul
      Src: /src/nettle/ecc-point.c:109,1
    - Dst: mpz_add
      Src: /src/nettle/ecc-point.c:110,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/ecc-point.c:110,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/ecc-point.c:113,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/ecc-point.c:113,1
    - Dst: mpz_clear
      Src: /src/nettle/ecc-point.c:115,1
    - Dst: mpz_clear
      Src: /src/nettle/ecc-point.c:116,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/ecc-point.c:121,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/ecc-point.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - p
    - x
    - y
    argTypes:
    - struct ecc_point*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 125
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 125
    functionName: ecc_point_set
    functionSourceFile: /src/nettle/ecc-point.c
    functionUses: 5
    functionsReached:
    - mpz_sgn
    - mpz_mul
    - mpz_congruent_p
    - mpz_set_ui
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_limbs_copy
    - mpz_init_set_ui
    - mpz_submul
    - mpz_init
    - mpz_cmp
    - mpz_mul_ui
    - mpz_clear
    - mpz_add
    - mpz_roinit_n
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int ecc_point_set (struct ecc_point *p, const mpz_t x, const mpz_t
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_n
      Src: /src/nettle/ecc-point.c:132,1
    - Dst: mpz_set_n
      Src: /src/nettle/ecc-point.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p
    - x
    - y
    argTypes:
    - struct ecc_point*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: ecc_point_get
    functionSourceFile: /src/nettle/ecc-point.c
    functionUses: 5
    functionsReached:
    - mpz_set_n
    linkageType: ''
    returnType: void
    signature: void ecc_point_get (const struct ecc_point *p, mpz_t x, mpz_t y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha512.c:77,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha512.c:79,1
    - Dst: sha512_digest
      Src: /src/nettle/pkcs1-rsa-sha512.c:85,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha512.c:86,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha512.c:87,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha512.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - hash
    argTypes:
    - mpz_t
    - size_t
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: pkcs1_rsa_sha512_encode
    functionSourceFile: /src/nettle/pkcs1-rsa-sha512.c
    functionUses: 2
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - sha512_digest
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha512_encode(mpz_t m, size_t key_size, struct sha512_ctx
      *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha512.c:103,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha512.c:105,1
    - Dst: memcpy
      Src: /src/nettle/pkcs1-rsa-sha512.c:111,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha512.c:112,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha512.c:113,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha512.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - digest
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: pkcs1_rsa_sha512_encode_digest
    functionSourceFile: /src/nettle/pkcs1-rsa-sha512.c
    functionUses: 2
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - memcpy
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha512_encode_digest(mpz_t m, size_t key_size, const
      uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/hmac-sha512-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sha512_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sha512-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sha512_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sha512_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p
    - a
    - b
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: gf_multiply
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gf_multiply(uint8_t p, uint8_t a, uint8_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:194,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:195,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:196,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:197,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:198,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:199,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:200,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: compute_s
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - gf_multiply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t compute_s(uint32_t m1, uint32_t m2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:245,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:246,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:247,1
    - Dst: gf_multiply
      Src: /src/nettle/twofish.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - k
    - i
    - x
    - l0
    - l1
    - l2
    - l3
    argTypes:
    - int
    - int
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: h_byte
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - gf_multiply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t h_byte(int k, int i, uint8_t x, uint8_t l0, uint8_t l1, uint8_t
      l2, uint8_t l3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h_byte
      Src: /src/nettle/twofish.c:259,1
    - Dst: h_byte
      Src: /src/nettle/twofish.c:260,1
    - Dst: h_byte
      Src: /src/nettle/twofish.c:261,1
    - Dst: h_byte
      Src: /src/nettle/twofish.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - k
    - x
    - l0
    - l1
    - l2
    - l3
    argTypes:
    - int
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: h
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 546
    functionsReached:
    - h_byte
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t h(int k, uint8_t x, uint32_t l0, uint32_t l1, uint32_t l2,
      uint32_t l3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/twofish.c:291,1
    - Dst: memset
      Src: /src/nettle/twofish.c:295,1
    - Dst: memcpy
      Src: /src/nettle/twofish.c:296,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:299,1
    - Dst: h
      Src: /src/nettle/twofish.c:312,1
    - Dst: rol8
      Src: /src/nettle/twofish.c:313,1
    - Dst: h
      Src: /src/nettle/twofish.c:315,1
    - Dst: rol9
      Src: /src/nettle/twofish.c:316,1
    - Dst: compute_s
      Src: /src/nettle/twofish.c:323,1
    - Dst: h_byte
      Src: /src/nettle/twofish.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - context
    - keysize
    - key
    argTypes:
    - struct twofish_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 332
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 332
    functionName: twofish_set_key
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - assert
    - h
    - LE_READ_UINT32
    - rol9
    - h_byte
    - memset
    - memcpy
    - compute_s
    - rol8
    linkageType: ''
    returnType: void
    signature: "void twofish_set_key(struct twofish_ctx *context,\n\t\tsize_t keysize,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: twofish_set_key
      Src: /src/nettle/twofish.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - key
    argTypes:
    - struct twofish_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: twofish128_set_key
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_set_key
    linkageType: ''
    returnType: void
    signature: void twofish128_set_key(struct twofish_ctx *context, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: twofish_set_key
      Src: /src/nettle/twofish.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - key
    argTypes:
    - struct twofish_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: twofish192_set_key
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_set_key
    linkageType: ''
    returnType: void
    signature: void twofish192_set_key(struct twofish_ctx *context, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: twofish_set_key
      Src: /src/nettle/twofish.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - key
    argTypes:
    - struct twofish_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: twofish256_set_key
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - twofish_set_key
    linkageType: ''
    returnType: void
    signature: void twofish256_set_key(struct twofish_ctx *context, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:374,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:375,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:376,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:377,1
    - Dst: rol1
      Src: /src/nettle/twofish.c:388,1
    - Dst: ror1
      Src: /src/nettle/twofish.c:390,1
    - Dst: rol1
      Src: /src/nettle/twofish.c:400,1
    - Dst: ror1
      Src: /src/nettle/twofish.c:402,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:405,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:406,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:407,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - context
    - length
    - ciphertext
    - plaintext
    argTypes:
    - struct twofish_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 410
    functionName: twofish_encrypt
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - LE_WRITE_UINT32
    - ror1
    - LE_READ_UINT32
    - rol1
    linkageType: ''
    returnType: void
    signature: "void twofish_encrypt(const struct twofish_ctx *context,\n\t\tsize_t
      length,\n\t\tuint8_t *ciphertext,\n\t\tconst uint8_t *plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:437,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:438,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:439,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/twofish.c:440,1
    - Dst: ror1
      Src: /src/nettle/twofish.c:452,1
    - Dst: rol1
      Src: /src/nettle/twofish.c:453,1
    - Dst: ror1
      Src: /src/nettle/twofish.c:464,1
    - Dst: rol1
      Src: /src/nettle/twofish.c:465,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:468,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:469,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:470,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/twofish.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - context
    - length
    - plaintext
    - ciphertext
    argTypes:
    - struct twofish_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 473
    functionName: twofish_decrypt
    functionSourceFile: /src/nettle/twofish.c
    functionUses: 0
    functionsReached:
    - LE_WRITE_UINT32
    - ror1
    - LE_READ_UINT32
    - rol1
    linkageType: ''
    returnType: void
    signature: "void twofish_decrypt(const struct twofish_ctx *context,\n\t\tsize_t
      length,\n\t\tuint8_t *plaintext,\n\t\tconst uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: nettle_get_armors
    functionSourceFile: /src/nettle/nettle-meta-armors.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct nettle_armor
    signature: 'struct nettle_armor * const *

      nettle_get_armors (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow_key_event_ctx*
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: yarrow_key_event_init
    functionSourceFile: /src/nettle/yarrow_key_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yarrow_key_event_init(struct yarrow_key_event_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - key
    - time
    argTypes:
    - struct yarrow_key_event_ctx*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 86
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 86
    functionName: yarrow_key_event_estimate
    functionSourceFile: /src/nettle/yarrow_key_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned yarrow_key_event_estimate(struct yarrow_key_event_ctx *ctx,\n\t\t\t
      \ unsigned key, unsigned time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-md5-sign-tr.c:55,1
    - Dst: pkcs1_rsa_md5_encode
      Src: /src/nettle/rsa-md5-sign-tr.c:56,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-md5-sign-tr.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-md5-sign-tr.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - struct md5_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rsa_md5_sign_tr
    functionSourceFile: /src/nettle/rsa-md5-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_md5_encode
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_sign_tr(const struct rsa_public_key *pub,\n\t\tconst struct
      rsa_private_key *key,\n\t\tvoid *random_ctx, nettle_random_func *random,\n\t\tstruct
      md5_ctx *hash, mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-md5-sign-tr.c:73,1
    - Dst: pkcs1_rsa_md5_encode_digest
      Src: /src/nettle/rsa-md5-sign-tr.c:75,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-md5-sign-tr.c:76,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-md5-sign-tr.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: rsa_md5_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-md5-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_md5_encode_digest
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t
      \      const struct rsa_private_key *key,\n\t\t       void *random_ctx, nettle_random_func
      *random,\n\t\t       const uint8_t *digest, mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sha512.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sha512_set_key
    functionSourceFile: /src/nettle/hmac-sha512.c
    functionUses: 2
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sha512_set_key(struct hmac_sha512_ctx *ctx,\n\t\t    size_t
      key_length, const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_update
      Src: /src/nettle/hmac-sha512.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sha512_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sha512_update
    functionSourceFile: /src/nettle/hmac-sha512.c
    functionUses: 0
    functionsReached:
    - sha512_update
    linkageType: ''
    returnType: void
    signature: "void hmac_sha512_update(struct hmac_sha512_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sha512.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sha512_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_sha512_digest
    functionSourceFile: /src/nettle/hmac-sha512.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sha512_digest(struct hmac_sha512_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_umac_set_key
      Src: /src/nettle/umac128.c:47,1
    - Dst: memset
      Src: /src/nettle/umac128.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct umac128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: umac128_set_key
    functionSourceFile: /src/nettle/umac128.c
    functionUses: 1
    functionsReached:
    - _nettle_umac_set_key
    - memset
    linkageType: ''
    returnType: void
    signature: void umac128_set_key (struct umac128_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac128.c:62,1
    - Dst: assert
      Src: /src/nettle/umac128.c:63,1
    - Dst: memcpy
      Src: /src/nettle/umac128.c:65,1
    - Dst: memset
      Src: /src/nettle/umac128.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - nonce_length
    - nonce
    argTypes:
    - struct umac128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: umac128_set_nonce
    functionSourceFile: /src/nettle/umac128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void umac128_set_nonce (struct umac128_ctx *ctx,\n\t\t   size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/umac128.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct umac128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: umac128_update
    functionSourceFile: /src/nettle/umac128.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void umac128_update (struct umac128_ctx *ctx,\n\t\tsize_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/umac128.c:101,1
    - Dst: _nettle_umac_nh_n
      Src: /src/nettle/umac128.c:103,1
    - Dst: _nettle_umac_l2
      Src: /src/nettle/umac128.c:108,1
    - Dst: assert
      Src: /src/nettle/umac128.c:110,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac128.c:112,1
    - Dst: INCREMENT
      Src: /src/nettle/umac128.c:115,1
    - Dst: _nettle_umac_l2_final
      Src: /src/nettle/umac128.c:117,1
    - Dst: _nettle_umac_l3
      Src: /src/nettle/umac128.c:119,1
    - Dst: memcpy
      Src: /src/nettle/umac128.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct umac128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 126
    functionName: umac128_digest
    functionSourceFile: /src/nettle/umac128.c
    functionUses: 0
    functionsReached:
    - aes128_encrypt
    - assert
    - _nettle_umac_l2
    - _nettle_umac_nh_n
    - _nettle_umac_l2_final
    - INCREMENT
    - memset
    - memcpy
    - _nettle_umac_l3
    linkageType: ''
    returnType: void
    signature: "void umac128_digest (struct umac128_ctx *ctx,\n\t\tuint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/camellia128-crypt.c:50,1
    - Dst: _nettle_camellia_crypt
      Src: /src/nettle/camellia128-crypt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct camellia128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: camellia128_crypt
    functionSourceFile: /src/nettle/camellia128-crypt.c
    functionUses: 0
    functionsReached:
    - assert
    - _nettle_camellia_crypt
    linkageType: ''
    returnType: void
    signature: "void camellia128_crypt(const struct camellia128_ctx *ctx,\n\t\t  size_t
      length, uint8_t *dst,\n\t\t  const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-camellia256.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gcm_camellia256_set_key
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_camellia256_set_key(struct gcm_camellia256_ctx *ctx, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-camellia256.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_camellia256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: gcm_camellia256_set_iv
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 1
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia256_set_iv (struct gcm_camellia256_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-camellia256.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_camellia256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: gcm_camellia256_update
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia256_update (struct gcm_camellia256_ctx *ctx,\n\t\t\tsize_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-camellia256.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_camellia256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: gcm_camellia256_encrypt
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia256_encrypt(struct gcm_camellia256_ctx *ctx,\n\t\t\tsize_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-camellia256.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_camellia256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: gcm_camellia256_decrypt
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia256_decrypt(struct gcm_camellia256_ctx *ctx,\n\t\t\tsize_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-camellia256.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_camellia256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: gcm_camellia256_digest
    functionSourceFile: /src/nettle/gcm-camellia256.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_camellia256_digest(struct gcm_camellia256_ctx *ctx,\n\t\t
      \      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/ccm-aes128.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct ccm_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ccm_aes128_set_key
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void ccm_aes128_set_key(struct ccm_aes128_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_set_nonce
      Src: /src/nettle/ccm-aes128.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - length
    - nonce
    - authlen
    - msglen
    - taglen
    argTypes:
    - struct ccm_aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ccm_aes128_set_nonce
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_set_nonce
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_set_nonce(struct ccm_aes128_ctx *ctx,\n\t\t     size_t
      length, const uint8_t *nonce,\n\t\t     size_t authlen, size_t msglen, size_t
      taglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_update
      Src: /src/nettle/ccm-aes128.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct ccm_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: ccm_aes128_update
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_update
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_update(struct ccm_aes128_ctx *ctx,\n\t\t  size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt
      Src: /src/nettle/ccm-aes128.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ccm_aes128_encrypt
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_encrypt(struct ccm_aes128_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt
      Src: /src/nettle/ccm-aes128.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ccm_aes128_decrypt
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_decrypt(struct ccm_aes128_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_digest
      Src: /src/nettle/ccm-aes128.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct ccm_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: ccm_aes128_digest
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_digest
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_digest(struct ccm_aes128_ctx *ctx,\n\t\t  size_t length,
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt_message
      Src: /src/nettle/ccm-aes128.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ccm_aes128_encrypt_message
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void ccm_aes128_encrypt_message(const struct aes128_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t clength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt_message
      Src: /src/nettle/ccm-aes128.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: ccm_aes128_decrypt_message
    functionSourceFile: /src/nettle/ccm-aes128.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int ccm_aes128_decrypt_message(const struct aes128_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t mlength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/nettle/camellia-absorb.c:79,1
    - Dst: ROTL32
      Src: /src/nettle/camellia-absorb.c:96,1
    - Dst: ROTL32
      Src: /src/nettle/camellia-absorb.c:117,1
    - Dst: ROTL32
      Src: /src/nettle/camellia-absorb.c:125,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:140,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:141,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:142,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:143,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:144,1
    - Dst: CAMELLIA_F_HALF_INV
      Src: /src/nettle/camellia-absorb.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    argCount: 3
    argNames:
    - nkeys
    - dst
    - subkey
    argTypes:
    - unsigned
    - uint64_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 149
    functionName: _nettle_camellia_absorb
    functionSourceFile: /src/nettle/camellia-absorb.c
    functionUses: 1
    functionsReached:
    - CAMELLIA_F_HALF_INV
    - ROTL32
    linkageType: ''
    returnType: void
    signature: void _nettle_camellia_absorb(unsigned nkeys, uint64_t *dst, uint64_t
      *subkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/gosthash94.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct gosthash94_ctx*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: gosthash94_init
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void gosthash94_init (struct gosthash94_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/gosthash94.c:72,1
    - Dst: memcpy
      Src: /src/nettle/gosthash94.c:73,1
    - Dst: _nettle_gost28147_encrypt_block
      Src: /src/nettle/gosthash94.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 3
    argNames:
    - ctx
    - block
    - sbox
    argTypes:
    - struct gosthash94_ctx*
    - uint32_t*
    - uint32_t[][]
    constantsTouched: []
    func_position:
      end: 253
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 253
    functionName: gost_block_compress
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _nettle_gost28147_encrypt_block
    linkageType: ''
    returnType: void
    signature: "void gost_block_compress (struct gosthash94_ctx *ctx, const uint32_t
      *block,\n\t\t     const uint32_t sbox[4][256])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/gosthash94.c:275,1
    - Dst: gost_block_compress
      Src: /src/nettle/gosthash94.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - block
    - sbox
    argTypes:
    - struct gosthash94_ctx*
    - uint8_t*
    - uint32_t[][]
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: gost_compute_sum_and_hash
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - gost_block_compress
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void gost_compute_sum_and_hash (struct gosthash94_ctx *ctx, const
      uint8_t *block,\n\t\t\t   const uint32_t sbox[4][256])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/gosthash94.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - msg
    - sbox
    argTypes:
    - struct gosthash94_ctx*
    - size_t
    - uint8_t*
    - uint32_t[][]
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: gosthash94_update_int
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gosthash94_update_int (struct gosthash94_ctx *ctx,\n\t\t       size_t
      length, const uint8_t *msg,\n\t\t       const uint32_t sbox[4][256])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94_update_int
      Src: /src/nettle/gosthash94.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - msg
    argTypes:
    - struct gosthash94_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: gosthash94_update
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 1
    functionsReached:
    - gosthash94_update_int
    linkageType: ''
    returnType: void
    signature: "void gosthash94_update (struct gosthash94_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94_update_int
      Src: /src/nettle/gosthash94.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - msg
    argTypes:
    - struct gosthash94_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: gosthash94cp_update
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 1
    functionsReached:
    - gosthash94_update_int
    linkageType: ''
    returnType: void
    signature: "void gosthash94cp_update (struct gosthash94_ctx *ctx,\n\t\t     size_t
      length, const uint8_t *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/gosthash94.c:352,1
    - Dst: gost_compute_sum_and_hash
      Src: /src/nettle/gosthash94.c:353,1
    - Dst: memset
      Src: /src/nettle/gosthash94.c:359,1
    - Dst: gost_block_compress
      Src: /src/nettle/gosthash94.c:361,1
    - Dst: gost_block_compress
      Src: /src/nettle/gosthash94.c:362,1
    - Dst: _nettle_write_le32
      Src: /src/nettle/gosthash94.c:365,1
    - Dst: gosthash94_init
      Src: /src/nettle/gosthash94.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - result
    - sbox
    argTypes:
    - struct gosthash94_ctx*
    - uint8_t*
    - uint32_t[][]
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: gosthash94_write_digest
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - gost_block_compress
    - gosthash94_init
    - _nettle_write_le32
    - memset
    - gost_compute_sum_and_hash
    linkageType: ''
    returnType: void
    signature: "void gosthash94_write_digest (struct gosthash94_ctx *ctx,\n\t\t\t
      uint8_t *result,\n\t\t\t const uint32_t sbox[4][256])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94_write_digest
      Src: /src/nettle/gosthash94.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - result
    argTypes:
    - struct gosthash94_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: gosthash94_digest
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - gosthash94_write_digest
    linkageType: ''
    returnType: void
    signature: "void gosthash94_digest (struct gosthash94_ctx *ctx,\n\t\t   uint8_t
      *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gosthash94_write_digest
      Src: /src/nettle/gosthash94.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - result
    argTypes:
    - struct gosthash94_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: gosthash94cp_digest
    functionSourceFile: /src/nettle/gosthash94.c
    functionUses: 0
    functionsReached:
    - gosthash94_write_digest
    linkageType: ''
    returnType: void
    signature: "void gosthash94cp_digest (struct gosthash94_ctx *ctx,\n\t\t     uint8_t
      *result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/serpent-decrypt.c:474,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:485,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:486,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:487,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:488,1
    - Dst: KEYXOR
      Src: /src/nettle/serpent-decrypt.c:491,1
    - Dst: SBOX7_INVERSE
      Src: /src/nettle/serpent-decrypt.c:492,1
    - Dst: KEYXOR
      Src: /src/nettle/serpent-decrypt.c:493,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:500,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:502,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:503,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:504,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:505,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:506,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:507,1
    - Dst: ROUND_INVERSE
      Src: /src/nettle/serpent-decrypt.c:508,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:511,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:512,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:513,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:514,1
    - Dst: FOR_BLOCKS
      Src: /src/nettle/serpent-decrypt.c:521,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:526,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:527,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:528,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:529,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:531,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:532,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:533,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-decrypt.c:534,1
    - Dst: KEYXOR64
      Src: /src/nettle/serpent-decrypt.c:537,1
    - Dst: SBOX7_INVERSE
      Src: /src/nettle/serpent-decrypt.c:538,1
    - Dst: KEYXOR64
      Src: /src/nettle/serpent-decrypt.c:539,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:546,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:548,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:549,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:550,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:551,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:552,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:553,1
    - Dst: ROUND64_INVERSE
      Src: /src/nettle/serpent-decrypt.c:554,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:557,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:558,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:559,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:560,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:561,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:562,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:563,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-decrypt.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 80
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct serpent_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 567
    functionName: serpent_decrypt
    functionSourceFile: /src/nettle/serpent-decrypt.c
    functionUses: 0
    functionsReached:
    - assert
    - SBOX7_INVERSE
    - KEYXOR
    - LE_READ_UINT32
    - ROUND_INVERSE
    - LE_WRITE_UINT32
    - ROUND64_INVERSE
    - FOR_BLOCKS
    - KEYXOR64
    linkageType: ''
    returnType: void
    signature: "void serpent_decrypt (const struct serpent_ctx *ctx,\n\t\t size_t
      length, uint8_t * dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base64_decode_ctx*
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: base64url_decode_init
    functionSourceFile: /src/nettle/base64url-decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64url_decode_init(struct base64_decode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_md5_encode
      Src: /src/nettle/rsa-md5-sign.c:51,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-md5-sign.c:53,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-md5-sign.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_private_key*
    - struct md5_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: rsa_md5_sign
    functionSourceFile: /src/nettle/rsa-md5-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_md5_encode
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_sign(const struct rsa_private_key *key,\n             struct
      md5_ctx *hash,\n             mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_rsa_md5_encode_digest
      Src: /src/nettle/rsa-md5-sign.c:68,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-md5-sign.c:70,1
    - Dst: mpz_set_ui
      Src: /src/nettle/rsa-md5-sign.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_private_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: rsa_md5_sign_digest
    functionSourceFile: /src/nettle/rsa-md5-sign.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - pkcs1_rsa_md5_encode_digest
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_md5_sign_digest(const struct rsa_private_key *key,\n\t\t    const
      uint8_t *digest,\n\t\t    mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap64_if_le
      Src: /src/nettle/ocb.c:53,1
    - Dst: bswap64_if_le
      Src: /src/nettle/ocb.c:54,1
    - Dst: bswap64_if_le
      Src: /src/nettle/ocb.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - u0
    - u1
    - offset
    argTypes:
    - uint64_t
    - uint64_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: extract
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 10
    functionsReached:
    - bswap64_if_le
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t extract(uint64_t u0, uint64_t u1, unsigned offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/ocb.c:62,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:63,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - cipher
    - f
    argTypes:
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: ocb_set_key
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - f
    - block16_mulx_be
    linkageType: ''
    returnType: void
    signature: void ocb_set_key (struct ocb_key *key, const void *cipher, nettle_cipher_func
      *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:73,1
    - Dst: assert
      Src: /src/nettle/ocb.c:76,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:78,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:80,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - offset
    - i
    argTypes:
    - struct ocb_key*
    - union nettle_block16*
    - size_t
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: update_offset
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 0
    functionsReached:
    - assert
    - block16_xor
    - block16_mulx_be
    linkageType: ''
    returnType: void
    signature: "void update_offset(const struct ocb_key *key,\n\t      union nettle_block16
      *offset, size_t i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/ocb.c:89,1
    - Dst: memset
      Src: /src/nettle/ocb.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - block
    - length
    - data
    argTypes:
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: pad_block
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void pad_block (union nettle_block16 *block, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ocb.c:104,1
    - Dst: assert
      Src: /src/nettle/ocb.c:105,1
    - Dst: assert
      Src: /src/nettle/ocb.c:106,1
    - Dst: memset
      Src: /src/nettle/ocb.c:110,1
    - Dst: memcpy
      Src: /src/nettle/ocb.c:112,1
    - Dst: f
      Src: /src/nettle/ocb.c:116,1
    - Dst: extract
      Src: /src/nettle/ocb.c:125,1
    - Dst: extract
      Src: /src/nettle/ocb.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - ctx
    - cipher
    - f
    - tag_length
    - nonce_length
    - nonce
    argTypes:
    - struct ocb_ctx*
    - void*
    - nettle_cipher_func*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: ocb_set_nonce
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - assert
    - extract
    - f
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ocb_set_nonce (struct ocb_ctx *ctx,\n\t       const void *cipher,
      nettle_cipher_func *f,\n\t       size_t tag_length,\n\t       size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ocb.c:138,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:146,1
    - Dst: block16_set
      Src: /src/nettle/ocb.c:147,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:159,1
    - Dst: block16_mulx_be
      Src: /src/nettle/ocb.c:161,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:163,1
    - Dst: block16_xor3
      Src: /src/nettle/ocb.c:164,1
    - Dst: block16_set
      Src: /src/nettle/ocb.c:167,1
    - Dst: update_offset
      Src: /src/nettle/ocb.c:171,1
    - Dst: block16_set
      Src: /src/nettle/ocb.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - key
    - offset
    - count
    - n
    - o
    argTypes:
    - struct ocb_key*
    - union nettle_block16*
    - size_t
    - size_t
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 174
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 174
    functionName: ocb_fill_n
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 0
    functionsReached:
    - assert
    - block16_set
    - update_offset
    - block16_xor
    - block16_mulx_be
    - block16_xor3
    linkageType: ''
    returnType: void
    signature: "void ocb_fill_n (const struct ocb_key *key,\n\t    union nettle_block16
      *offset, size_t count,\n\t    size_t n, union nettle_block16 *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ocb.c:183,1
    - Dst: ocb_fill_n
      Src: /src/nettle/ocb.c:194,1
    - Dst: memxor
      Src: /src/nettle/ocb.c:198,1
    - Dst: f
      Src: /src/nettle/ocb.c:199,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:201,1
    - Dst: pad_block
      Src: /src/nettle/ocb.c:210,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:211,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:212,1
    - Dst: f
      Src: /src/nettle/ocb.c:214,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - key
    - cipher
    - f
    - length
    - data
    argTypes:
    - struct ocb_ctx*
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 217
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 217
    functionName: ocb_update
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - pad_block
    - assert
    - memxor
    - ocb_fill_n
    - block16_xor
    - f
    linkageType: ''
    returnType: void
    signature: "void ocb_update (struct ocb_ctx *ctx, const struct ocb_key *key,\n\t
      \   const void *cipher, nettle_cipher_func *f,\n\t    size_t length, const uint8_t
      *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_fill_n
      Src: /src/nettle/ocb.c:232,1
    - Dst: memxor3
      Src: /src/nettle/ocb.c:236,1
    - Dst: f
      Src: /src/nettle/ocb.c:237,1
    - Dst: memxor3
      Src: /src/nettle/ocb.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - key
    - cipher
    - f
    - n
    - dst
    - src
    argTypes:
    - struct ocb_ctx*
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: ocb_crypt_n
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 0
    functionsReached:
    - memxor3
    - f
    - ocb_fill_n
    linkageType: ''
    returnType: void
    signature: "void ocb_crypt_n (struct ocb_ctx *ctx, const struct ocb_key *key,\n\t
      \    const void *cipher, nettle_cipher_func *f,\n\t     size_t n, uint8_t *dst,
      const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor
      Src: /src/nettle/ocb.c:277,1
    - Dst: MEM_ROTATE_RIGHT
      Src: /src/nettle/ocb.c:309,1
    - Dst: MEM_MASK
      Src: /src/nettle/ocb.c:311,1
    - Dst: bswap64_if_le
      Src: /src/nettle/ocb.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - checksum
    - n
    - src
    argTypes:
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 318
    functionName: ocb_checksum_n
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 0
    functionsReached:
    - bswap64_if_le
    - MEM_ROTATE_RIGHT
    - memxor
    - MEM_MASK
    linkageType: ''
    returnType: void
    signature: "void ocb_checksum_n (union nettle_block16 *checksum,\n\t\tsize_t n,
      const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_checksum_n
      Src: /src/nettle/ocb.c:332,1
    - Dst: ocb_crypt_n
      Src: /src/nettle/ocb.c:333,1
    - Dst: pad_block
      Src: /src/nettle/ocb.c:342,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:343,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:345,1
    - Dst: f
      Src: /src/nettle/ocb.c:346,1
    - Dst: memxor3
      Src: /src/nettle/ocb.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - ctx
    - key
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct ocb_ctx*
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: ocb_encrypt
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - pad_block
    - block16_xor
    - memxor3
    - ocb_crypt_n
    - f
    - ocb_checksum_n
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt (struct ocb_ctx *ctx, const struct ocb_key *key,\n\t
      \    const void *cipher, nettle_cipher_func *f,\n\t     size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_crypt_n
      Src: /src/nettle/ocb.c:365,1
    - Dst: ocb_checksum_n
      Src: /src/nettle/ocb.c:366,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:375,1
    - Dst: encrypt
      Src: /src/nettle/ocb.c:376,1
    - Dst: memxor3
      Src: /src/nettle/ocb.c:377,1
    - Dst: pad_block
      Src: /src/nettle/ocb.c:379,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 9
    argNames:
    - ctx
    - key
    - encrypt_ctx
    - encrypt
    - decrypt_ctx
    - decrypt
    - length
    - dst
    - src
    argTypes:
    - struct ocb_ctx*
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 383
    functionName: ocb_decrypt
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - pad_block
    - block16_xor
    - memxor3
    - ocb_crypt_n
    - ocb_checksum_n
    - encrypt
    linkageType: ''
    returnType: void
    signature: "void ocb_decrypt (struct ocb_ctx *ctx, const struct ocb_key *key,\n\t
      \    const void *encrypt_ctx, nettle_cipher_func *encrypt,\n\t     const void
      *decrypt_ctx, nettle_cipher_func *decrypt,\n\t     size_t length, uint8_t *dst,
      const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ocb.c:391,1
    - Dst: block16_xor3
      Src: /src/nettle/ocb.c:392,1
    - Dst: block16_xor
      Src: /src/nettle/ocb.c:394,1
    - Dst: f
      Src: /src/nettle/ocb.c:395,1
    - Dst: memxor3
      Src: /src/nettle/ocb.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - key
    - cipher
    - f
    - length
    - digest
    argTypes:
    - struct ocb_ctx*
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: ocb_digest
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - assert
    - block16_xor
    - memxor3
    - f
    - block16_xor3
    linkageType: ''
    returnType: void
    signature: "void ocb_digest (const struct ocb_ctx *ctx, const struct ocb_key *key,\n\t
      \   const void *cipher, nettle_cipher_func *f,\n\t    size_t length, uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ocb.c:408,1
    - Dst: ocb_set_nonce
      Src: /src/nettle/ocb.c:409,1
    - Dst: ocb_update
      Src: /src/nettle/ocb.c:410,1
    - Dst: ocb_encrypt
      Src: /src/nettle/ocb.c:411,1
    - Dst: ocb_digest
      Src: /src/nettle/ocb.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - key
    - cipher
    - f
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 413
    functionName: ocb_encrypt_message
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - assert
    - ocb_encrypt
    - ocb_update
    - ocb_digest
    - ocb_set_nonce
    linkageType: ''
    returnType: void
    signature: "void ocb_encrypt_message (const struct ocb_key *key,\n\t\t     const
      void *cipher, nettle_cipher_func *f,\n\t\t     size_t nlength, const uint8_t
      *nonce,\n\t\t     size_t alength, const uint8_t *adata,\n\t\t     size_t tlength,\n\t\t
      \    size_t clength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_set_nonce
      Src: /src/nettle/ocb.c:426,1
    - Dst: ocb_update
      Src: /src/nettle/ocb.c:427,1
    - Dst: ocb_decrypt
      Src: /src/nettle/ocb.c:428,1
    - Dst: ocb_digest
      Src: /src/nettle/ocb.c:430,1
    - Dst: memeql_sec
      Src: /src/nettle/ocb.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 13
    argNames:
    - key
    - encrypt_ctx
    - encrypt
    - decrypt_ctx
    - decrypt
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - struct ocb_key*
    - void*
    - nettle_cipher_func*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: ocb_decrypt_message
    functionSourceFile: /src/nettle/ocb.c
    functionUses: 1
    functionsReached:
    - memeql_sec
    - ocb_digest
    - ocb_update
    - ocb_decrypt
    - ocb_set_nonce
    linkageType: ''
    returnType: int
    signature: "int ocb_decrypt_message (const struct ocb_key *key,\n\t\t     const
      void *encrypt_ctx, nettle_cipher_func *encrypt,\n\t\t     const void *decrypt_ctx,
      nettle_cipher_func *decrypt,\n\t\t     size_t nlength, const uint8_t *nonce,\n\t\t
      \    size_t alength, const uint8_t *adata,\n\t\t     size_t tlength,\n\t\t     size_t
      mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/bignum-random.c:51,1
    - Dst: random
      Src: /src/nettle/bignum-random.c:53,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/bignum-random.c:54,1
    - Dst: mpz_fdiv_r_2exp
      Src: /src/nettle/bignum-random.c:57,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/bignum-random.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - x
    - ctx
    - random
    - bits
    argTypes:
    - mpz_t
    - void*
    - nettle_random_func*
    - unsigned
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: nettle_mpz_random_size
    functionSourceFile: /src/nettle/bignum-random.c
    functionUses: 1
    functionsReached:
    - mpz_fdiv_r_2exp
    - nettle_mpz_set_str_256_u
    - random
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_random_size(mpz_t x,\n\t\t       void *ctx, nettle_random_func
      *random,\n\t\t       unsigned bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_mpz_random_size
      Src: /src/nettle/bignum-random.c:91,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/bignum-random.c:93,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/bignum-random.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - x
    - ctx
    - random
    - n
    argTypes:
    - mpz_t
    - void*
    - nettle_random_func*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 96
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 96
    functionName: nettle_mpz_random
    functionSourceFile: /src/nettle/bignum-random.c
    functionUses: 6
    functionsReached:
    - mpz_sizeinbase
    - nettle_mpz_random_size
    - mpz_fdiv_r
    linkageType: ''
    returnType: void
    signature: "void nettle_mpz_random(mpz_t x,\n\t\t  void *ctx, nettle_random_func
      *random,\n\t\t  const mpz_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_camellia128_set_iv
      Src: /src/nettle/gcm-camellia128-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_camellia128_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-camellia128-meta.c
    functionUses: 0
    functionsReached:
    - gcm_camellia128_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_camellia128_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/eddsa-sign.c:48,1
    - Dst: _eddsa_compress_itch
      Src: /src/nettle/eddsa-sign.c:48,1
    - Dst: _eddsa_compress_itch
      Src: /src/nettle/eddsa-sign.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: _eddsa_sign_itch
    functionSourceFile: /src/nettle/eddsa-sign.c
    functionUses: 2
    functionsReached:
    - assert
    - _eddsa_compress_itch
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t _eddsa_sign_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_eddsa*::dom
      Src: /src/nettle/eddsa-sign.c:78,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-sign.c:79,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-sign.c:80,1
    - Dst: struct ecc_eddsa*::digest
      Src: /src/nettle/eddsa-sign.c:81,1
    - Dst: _eddsa_hash
      Src: /src/nettle/eddsa-sign.c:82,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/eddsa-sign.c:84,1
    - Dst: _eddsa_compress
      Src: /src/nettle/eddsa-sign.c:85,1
    - Dst: struct ecc_eddsa*::dom
      Src: /src/nettle/eddsa-sign.c:87,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-sign.c:88,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-sign.c:89,1
    - Dst: struct ecc_eddsa*::update
      Src: /src/nettle/eddsa-sign.c:90,1
    - Dst: struct ecc_eddsa*::digest
      Src: /src/nettle/eddsa-sign.c:91,1
    - Dst: _eddsa_hash
      Src: /src/nettle/eddsa-sign.c:92,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/eddsa-sign.c:94,1
    - Dst: ecc_mod_add
      Src: /src/nettle/eddsa-sign.c:95,1
    - Dst: assert
      Src: /src/nettle/eddsa-sign.c:110,1
    - Dst: mpn_submul_1
      Src: /src/nettle/eddsa-sign.c:118,1
    - Dst: assert_maybe
      Src: /src/nettle/eddsa-sign.c:119,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/eddsa-sign.c:120,1
    - Dst: assert_maybe
      Src: /src/nettle/eddsa-sign.c:121,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/eddsa-sign.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 10
    argNames:
    - ecc
    - eddsa
    - ctx
    - pub
    - k1
    - k2
    - length
    - msg
    - signature
    - scratch
    argTypes:
    - struct ecc_curve*
    - struct ecc_eddsa*
    - void*
    - uint8_t*
    - uint8_t*
    - mp_limb_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 129
    functionName: _eddsa_sign
    functionSourceFile: /src/nettle/eddsa-sign.c
    functionUses: 2
    functionsReached:
    - assert
    - struct ecc_eddsa*::update
    - mpn_submul_1
    - struct ecc_eddsa*::dom
    - struct ecc_eddsa*::digest
    - _eddsa_compress
    - ecc_mod_add
    - assert_maybe
    - struct ecc_curve*::mul_g
    - _eddsa_hash
    - mpn_cnd_add_n
    - mpn_get_base256_le
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void _eddsa_sign (const struct ecc_curve *ecc,\n\t     const struct
      ecc_eddsa *eddsa,\n\t     void *ctx,\n\t     const uint8_t *pub,\n\t     const
      uint8_t *k1,\n\t     const mp_limb_t *k2,\n\t     size_t length,\n\t     const
      uint8_t *msg,\n\t     uint8_t *signature,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_streebog256_set_key
      Src: /src/nettle/hmac-streebog-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_streebog256_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-streebog-meta.c
    functionUses: 0
    functionsReached:
    - hmac_streebog256_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_streebog256_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_streebog512_set_key
      Src: /src/nettle/hmac-streebog-meta.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: hmac_streebog512_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-streebog-meta.c
    functionUses: 0
    functionsReached:
    - hmac_streebog512_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_streebog512_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NOT_EQUAL
      Src: /src/nettle/oaep.c:76,1
    - Dst: NOT_EQUAL
      Src: /src/nettle/oaep.c:80,1
    - Dst: GREATER_OR_EQUAL
      Src: /src/nettle/oaep.c:97,1
    - Dst: cnd_memcpy
      Src: /src/nettle/oaep.c:103,1
    - Dst: cnd_memcpy
      Src: /src/nettle/oaep.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - length
    - message
    - padded_message_length
    - padded_message
    - offset
    argTypes:
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 118
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 118
    functionName: _oaep_sec_decrypt_variable
    functionSourceFile: /src/nettle/oaep.c
    functionUses: 0
    functionsReached:
    - cnd_memcpy
    - NOT_EQUAL
    - GREATER_OR_EQUAL
    linkageType: ''
    returnType: int
    signature: "int _oaep_sec_decrypt_variable(size_t *length, uint8_t *message,\n\t\t\t
      \  size_t padded_message_length,\n\t\t\t   const volatile uint8_t *padded_message,\n\t\t\t
      \  volatile size_t offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/oaep.c:135,1
    - Dst: EQUAL
      Src: /src/nettle/oaep.c:138,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/oaep.c:143,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:146,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:147,1
    - Dst: pss_mgf1
      Src: /src/nettle/oaep.c:148,1
    - Dst: memxor
      Src: /src/nettle/oaep.c:151,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:154,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:155,1
    - Dst: pss_mgf1
      Src: /src/nettle/oaep.c:156,1
    - Dst: memxor
      Src: /src/nettle/oaep.c:159,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:161,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:162,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/oaep.c:163,1
    - Dst: memeql_sec
      Src: /src/nettle/oaep.c:165,1
    - Dst: _oaep_sec_decrypt_variable
      Src: /src/nettle/oaep.c:167,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/oaep.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 8
    argNames:
    - em
    - key_size
    - hash_ctx
    - hash
    - label_length
    - label
    - length
    - message
    argTypes:
    - uint8_t*
    - size_t
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 174
    functionName: _oaep_decode_mgf1
    functionSourceFile: /src/nettle/oaep.c
    functionUses: 0
    functionsReached:
    - assert
    - memxor
    - memeql_sec
    - EQUAL
    - _oaep_sec_decrypt_variable
    - pss_mgf1
    - struct nettle_hash*::digest
    - TMP_GMP_FREE
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int _oaep_decode_mgf1 (const uint8_t *em,\n\t\t   size_t key_size,\n\t\t
      \  void *hash_ctx, const struct nettle_hash *hash,\n\t\t   size_t label_length,
      const uint8_t *label,\n\t\t   size_t *length, uint8_t *message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/oaep.c:194,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/oaep.c:195,1
    - Dst: memset
      Src: /src/nettle/oaep.c:204,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:205,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:206,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/oaep.c:207,1
    - Dst: memcpy
      Src: /src/nettle/oaep.c:208,1
    - Dst: random
      Src: /src/nettle/oaep.c:212,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:215,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:216,1
    - Dst: pss_mgf1
      Src: /src/nettle/oaep.c:217,1
    - Dst: memxor
      Src: /src/nettle/oaep.c:220,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/oaep.c:223,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/oaep.c:224,1
    - Dst: pss_mgf1
      Src: /src/nettle/oaep.c:225,1
    - Dst: memxor
      Src: /src/nettle/oaep.c:228,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/oaep.c:230,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/oaep.c:232,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/oaep.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 10
    argNames:
    - m
    - key_size
    - random_ctx
    - random
    - hash_ctx
    - hash
    - label_length
    - label
    - message_length
    - message
    argTypes:
    - mpz_t
    - size_t
    - void*
    - nettle_random_func*
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 236
    functionName: _oaep_encode_mgf1
    functionSourceFile: /src/nettle/oaep.c
    functionUses: 0
    functionsReached:
    - memxor
    - nettle_mpz_set_str_256_u
    - memcpy
    - pss_mgf1
    - random
    - struct nettle_hash*::digest
    - memset
    - TMP_GMP_FREE
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int _oaep_encode_mgf1 (mpz_t m, size_t key_size,\n\t\t   void *random_ctx,
      nettle_random_func *random,\n\t\t   void *hash_ctx, const struct nettle_hash
      *hash,\n\t\t   size_t label_length, const uint8_t *label,\n\t\t   size_t message_length,
      const uint8_t *message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/xts-aes256.c:47,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/xts-aes256.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xts_key
    - key
    argTypes:
    - struct xts_aes256_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: xts_aes256_set_encrypt_key
    functionSourceFile: /src/nettle/xts-aes256.c
    functionUses: 0
    functionsReached:
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void xts_aes256_set_encrypt_key(struct xts_aes256_key *xts_key, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_decrypt_key
      Src: /src/nettle/xts-aes256.c:54,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/xts-aes256.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xts_key
    - key
    argTypes:
    - struct xts_aes256_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: xts_aes256_set_decrypt_key
    functionSourceFile: /src/nettle/xts-aes256.c
    functionUses: 0
    functionsReached:
    - aes256_set_decrypt_key
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void xts_aes256_set_decrypt_key(struct xts_aes256_key *xts_key, const
      uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_encrypt_message
      Src: /src/nettle/xts-aes256.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - xts_key
    - tweak
    - length
    - dst
    - src
    argTypes:
    - struct xts_aes256_key*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: xts_aes256_encrypt_message
    functionSourceFile: /src/nettle/xts-aes256.c
    functionUses: 1
    functionsReached:
    - xts_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void xts_aes256_encrypt_message(const struct xts_aes256_key *xts_key,\n
      \                          const uint8_t *tweak, size_t length,\n                           uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xts_decrypt_message
      Src: /src/nettle/xts-aes256.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - xts_key
    - tweak
    - length
    - dst
    - src
    argTypes:
    - struct xts_aes256_key*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: xts_aes256_decrypt_message
    functionSourceFile: /src/nettle/xts-aes256.c
    functionUses: 1
    functionsReached:
    - xts_decrypt_message
    linkageType: ''
    returnType: void
    signature: "void xts_aes256_decrypt_message(const struct xts_aes256_key *xts_key,\n
      \                          const uint8_t *tweak, size_t length,\n                           uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_UINT64
      Src: /src/nettle/umac-set-key.c:49,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/umac-set-key.c:53,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac-set-key.c:54,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/umac-set-key.c:58,1
    - Dst: aes128_encrypt
      Src: /src/nettle/umac-set-key.c:59,1
    - Dst: memcpy
      Src: /src/nettle/umac-set-key.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - aes
    - index
    - length
    - dst
    argTypes:
    - struct aes128_ctx*
    - unsigned
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: umac_kdf
    functionSourceFile: /src/nettle/umac-set-key.c
    functionUses: 0
    functionsReached:
    - memcpy
    - aes128_encrypt
    - WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: void umac_kdf (struct aes128_ctx *aes, unsigned index, unsigned length,
      uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/umac-set-key.c:72,1
    - Dst: umac_kdf
      Src: /src/nettle/umac-set-key.c:75,1
    - Dst: bswap32_n_if_le
      Src: /src/nettle/umac-set-key.c:76,1
    - Dst: umac_kdf
      Src: /src/nettle/umac-set-key.c:79,1
    - Dst: _nettle_umac_l2_init
      Src: /src/nettle/umac-set-key.c:80,1
    - Dst: umac_kdf
      Src: /src/nettle/umac-set-key.c:83,1
    - Dst: _nettle_umac_l3_init
      Src: /src/nettle/umac-set-key.c:84,1
    - Dst: umac_kdf
      Src: /src/nettle/umac-set-key.c:87,1
    - Dst: umac_kdf
      Src: /src/nettle/umac-set-key.c:89,1
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/umac-set-key.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 7
    argNames:
    - l1_key
    - l2_key
    - l3_key1
    - l3_key2
    - aes
    - key
    - n
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint64_t*
    - uint32_t*
    - struct aes128_ctx*
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 91
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 91
    functionName: _nettle_umac_set_key
    functionSourceFile: /src/nettle/umac-set-key.c
    functionUses: 4
    functionsReached:
    - bswap32_n_if_le
    - _nettle_umac_l2_init
    - aes128_set_encrypt_key
    - umac_kdf
    - _nettle_umac_l3_init
    linkageType: ''
    returnType: void
    signature: "void _nettle_umac_set_key (uint32_t *l1_key, uint32_t *l2_key,\n\t\t
      \     uint64_t *l3_key1, uint32_t *l3_key2,\n\t\t      struct aes128_ctx *aes,
      const uint8_t *key, unsigned n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_salsa20_crypt
      Src: /src/nettle/salsa20r12-crypt.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - length
    - c
    - m
    argTypes:
    - struct salsa20_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: salsa20r12_crypt
    functionSourceFile: /src/nettle/salsa20r12-crypt.c
    functionUses: 0
    functionsReached:
    - _nettle_salsa20_crypt
    linkageType: ''
    returnType: void
    signature: "void salsa20r12_crypt(struct salsa20_ctx *ctx,\n\t\t size_t length,\n\t\t
      uint8_t *c,\n\t\t const uint8_t *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/sha1-compress.c:153,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:163,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:165,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:165,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:166,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:166,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:167,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:168,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:169,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:170,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:171,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:172,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:173,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:174,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:175,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:176,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:177,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:178,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:179,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:180,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:180,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:181,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:181,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:181,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:182,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:182,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:182,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:183,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:183,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:183,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:184,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:184,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:184,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:186,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:186,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:186,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:187,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:187,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:187,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:188,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:188,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:189,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:189,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:190,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:190,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:191,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:191,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:192,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:192,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:193,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:193,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:194,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:194,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:195,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:195,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:196,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:196,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:197,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:197,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:198,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:198,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:199,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:199,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:200,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:200,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:201,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:201,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:202,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:202,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:203,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:203,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:204,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:204,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:204,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:205,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:205,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:205,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:207,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:207,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:207,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:208,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:208,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:208,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:209,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:209,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:210,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:210,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:211,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:211,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:212,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:212,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:213,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:213,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:214,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:214,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:215,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:215,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:216,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:216,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:217,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:217,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:218,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:218,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:219,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:219,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:220,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:220,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:221,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:221,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:222,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:222,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:223,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:223,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:224,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:224,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:225,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:225,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:225,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:226,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:226,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:226,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:228,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:228,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:228,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:229,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:229,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:229,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:230,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:230,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:231,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:231,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:232,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:232,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:233,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:233,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:234,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:234,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:235,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:235,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:236,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:236,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:237,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:237,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:238,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:238,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:239,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:239,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:240,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:240,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:241,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:241,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:242,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:242,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:243,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:243,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:244,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:244,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:245,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:245,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:246,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:246,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:246,1
    - Dst: subRound
      Src: /src/nettle/sha1-compress.c:247,1
    - Dst: expand
      Src: /src/nettle/sha1-compress.c:247,1
    - Dst: DEBUG
      Src: /src/nettle/sha1-compress.c:247,1
    - Dst: fprintf
      Src: /src/nettle/sha1-compress.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 2
    argNames:
    - state
    - input
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 260
    functionName: nettle_sha1_compress
    functionSourceFile: /src/nettle/sha1-compress.c
    functionUses: 0
    functionsReached:
    - DEBUG
    - subRound
    - READ_UINT32
    - expand
    - fprintf
    linkageType: ''
    returnType: void
    signature: void nettle_sha1_compress(uint32_t *state, const uint8_t *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha512-verify.c:54,1
    - Dst: pkcs1_rsa_sha512_encode
      Src: /src/nettle/rsa-sha512-verify.c:56,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha512-verify.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha512-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct sha512_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rsa_sha512_verify
    functionSourceFile: /src/nettle/rsa-sha512-verify.c
    functionUses: 0
    functionsReached:
    - pkcs1_rsa_sha512_encode
    - _rsa_verify
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_verify(const struct rsa_public_key *key,\n\t\t  struct
      sha512_ctx *hash,\n\t\t  const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha512-verify.c:72,1
    - Dst: pkcs1_rsa_sha512_encode_digest
      Src: /src/nettle/rsa-sha512-verify.c:74,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha512-verify.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha512-verify.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: rsa_sha512_verify_digest
    functionSourceFile: /src/nettle/rsa-sha512-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - pkcs1_rsa_sha512_encode_digest
    - _rsa_verify
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha512_verify_digest(const struct rsa_public_key *key,\n\t\t\t
      const uint8_t *digest,\n\t\t\t const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-oaep-decrypt.c:55,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-oaep-decrypt.c:59,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-oaep-decrypt.c:59,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-oaep-decrypt.c:60,1
    - Dst: mpn_set_base256
      Src: /src/nettle/rsa-oaep-decrypt.c:62,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-oaep-decrypt.c:62,1
    - Dst: mpn_cmp
      Src: /src/nettle/rsa-oaep-decrypt.c:65,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/rsa-oaep-decrypt.c:65,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-oaep-decrypt.c:65,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-oaep-decrypt.c:67,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-oaep-decrypt.c:68,1
    - Dst: _rsa_sec_compute_root_tr
      Src: /src/nettle/rsa-oaep-decrypt.c:72,1
    - Dst: mpn_get_base256
      Src: /src/nettle/rsa-oaep-decrypt.c:74,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-oaep-decrypt.c:74,1
    - Dst: _oaep_decode_mgf1
      Src: /src/nettle/rsa-oaep-decrypt.c:76,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-oaep-decrypt.c:79,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-oaep-decrypt.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 11
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - hash_ctx
    - hash
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: _rsa_oaep_decrypt
    functionSourceFile: /src/nettle/rsa-oaep-decrypt.c
    functionUses: 0
    functionsReached:
    - mpn_get_base256
    - mpz_size
    - mpn_cmp
    - _oaep_decode_mgf1
    - TMP_GMP_ALLOC
    - TMP_GMP_DECL
    - TMP_GMP_FREE
    - mpz_limbs_read
    - _rsa_sec_compute_root_tr
    - mpn_set_base256
    linkageType: ''
    returnType: int
    signature: "int _rsa_oaep_decrypt (const struct rsa_public_key *pub,\n\t\t   const
      struct rsa_private_key *key,\n\t\t   void *random_ctx, nettle_random_func *random,\n\t\t
      \  void *hash_ctx, const struct nettle_hash *hash,\n\t\t   size_t label_length,
      const uint8_t *label,\n\t\t   size_t *length, uint8_t *message,\n\t\t   const
      uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/rsa-oaep-decrypt.c:94,1
    - Dst: _rsa_oaep_decrypt
      Src: /src/nettle/rsa-oaep-decrypt.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: rsa_oaep_sha256_decrypt
    functionSourceFile: /src/nettle/rsa-oaep-decrypt.c
    functionUses: 0
    functionsReached:
    - sha256_init
    - _rsa_oaep_decrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha256_decrypt (const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t size_t label_length, const uint8_t *label,\n\t\t\t size_t *length,
      uint8_t *message,\n\t\t\t const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/nettle/rsa-oaep-decrypt.c:111,1
    - Dst: _rsa_oaep_decrypt
      Src: /src/nettle/rsa-oaep-decrypt.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: rsa_oaep_sha384_decrypt
    functionSourceFile: /src/nettle/rsa-oaep-decrypt.c
    functionUses: 0
    functionsReached:
    - sha384_init
    - _rsa_oaep_decrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha384_decrypt (const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t size_t label_length, const uint8_t *label,\n\t\t\t size_t *length,
      uint8_t *message,\n\t\t\t const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/rsa-oaep-decrypt.c:128,1
    - Dst: _rsa_oaep_decrypt
      Src: /src/nettle/rsa-oaep-decrypt.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: rsa_oaep_sha512_decrypt
    functionSourceFile: /src/nettle/rsa-oaep-decrypt.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - _rsa_oaep_decrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha512_decrypt (const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t size_t label_length, const uint8_t *label,\n\t\t\t size_t *length,
      uint8_t *message,\n\t\t\t const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:69,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:70,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp384r1.c:72,1
    - Dst: sec_sub_1
      Src: /src/nettle/ecc-secp384r1.c:73,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:75,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:76,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:78,1
    - Dst: assert
      Src: /src/nettle/ecc-secp384r1.c:79,1
    - Dst: assert
      Src: /src/nettle/ecc-secp384r1.c:82,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:86,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:87,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp384r1.c:89,1
    - Dst: sec_sub_1
      Src: /src/nettle/ecc-secp384r1.c:90,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:92,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:93,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:95,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:96,1
    - Dst: assert
      Src: /src/nettle/ecc-secp384r1.c:98,1
    - Dst: assert
      Src: /src/nettle/ecc-secp384r1.c:100,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp384r1.c:101,1
    - Dst: assert
      Src: /src/nettle/ecc-secp384r1.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - p
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: ecc_secp384r1_modp
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 0
    functionsReached:
    - assert
    - sec_sub_1
    - mpn_sub_n
    - mpn_add_n
    - mpn_cnd_add_n
    - sec_add_1
    linkageType: ''
    returnType: void
    signature: void ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-secp384r1.c:115,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp384r1.c:116,1
    - Dst: mpn_lshift
      Src: /src/nettle/ecc-secp384r1.c:117,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:119,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:120,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:122,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:123,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp384r1.c:125,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-secp384r1.c:130,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp384r1.c:131,1
    - Dst: mpn_lshift
      Src: /src/nettle/ecc-secp384r1.c:132,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:134,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:135,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:136,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-secp384r1.c:137,1
    - Dst: sec_add_1
      Src: /src/nettle/ecc-secp384r1.c:139,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp384r1.c:140,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp384r1.c:142,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-secp384r1.c:143,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-secp384r1.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - p
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: ecc_secp384r1_modp
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 0
    functionsReached:
    - mpn_copyi
    - mpn_sub_n
    - mpn_add_n
    - assert_maybe
    - sec_add_1
    - mpn_cnd_add_n
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void ecc_secp384r1_modp (const struct ecc_modulo *p, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp384r1.c:189,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp384r1.c:190,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp384r1.c:191,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp384r1.c:192,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp384r1.c:193,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp384r1.c:194,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:195,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp384r1.c:196,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp384r1.c:197,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp384r1.c:198,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:199,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp384r1.c:200,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp384r1.c:201,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:202,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - m
    - rp
    - a30m1
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 211
    functionName: ecc_mod_pow_288m32m1
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - ecc_mod_mul
    - ecc_mod_pow_2k_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_288m32m1 (const struct ecc_modulo *m,\n\t\t      mp_limb_t
      *rp, mp_limb_t *a30m1,\n\t\t      const mp_limb_t *ap, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_288m32m1
      Src: /src/nettle/ecc-secp384r1.c:244,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:245,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 250
    functionName: ecc_secp384r1_inv
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_288m32m1
    - ecc_mod_pow_2k_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_secp384r1_inv (const struct ecc_modulo *p,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_288m32m1
      Src: /src/nettle/ecc-secp384r1.c:289,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp384r1.c:290,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp384r1.c:291,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp384r1.c:293,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-secp384r1.c:294,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-secp384r1.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - m
    - rp
    - cp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 300
    functionName: ecc_secp384r1_sqrt
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_288m32m1
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - ecc_mod_sub
    - ecc_mod_pow_2k_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_secp384r1_sqrt (const struct ecc_modulo *m,\n\t\t    mp_limb_t
      *rp,\n\t\t    const mp_limb_t *cp,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: nettle_get_secp_384r1
    functionSourceFile: /src/nettle/ecc-secp384r1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_secp_384r1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-mul-m.c:98,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mul-m.c:100,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-mul-m.c:103,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:104,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:105,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:106,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:107,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:108,1
    - Dst: ecc_mod_addmul_1
      Src: /src/nettle/ecc-mul-m.c:109,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:110,1
    - Dst: mpn_cnd_swap
      Src: /src/nettle/ecc-mul-m.c:116,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-mul-m.c:119,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:120,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:121,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:122,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:125,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-mul-m.c:127,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:128,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:129,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:132,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:134,1
    - Dst: ecc_mod_addmul_1
      Src: /src/nettle/ecc-mul-m.c:137,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:138,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-mul-m.c:141,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:142,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:145,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:146,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:147,1
    - Dst: mpn_cnd_swap
      Src: /src/nettle/ecc-mul-m.c:149,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-mul-m.c:154,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:155,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:156,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mul-m.c:157,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:158,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-mul-m.c:159,1
    - Dst: ecc_mod_addmul_1
      Src: /src/nettle/ecc-mul-m.c:160,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mul-m.c:161,1
    - Dst: assert
      Src: /src/nettle/ecc-mul-m.c:163,1
    - Dst: struct ecc_modulo*::invert
      Src: /src/nettle/ecc-mul-m.c:164,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-mul-m.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 8
    argNames:
    - m
    - a24
    - bit_low
    - bit_high
    - qx
    - n
    - px
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t
    - unsigned
    - unsigned
    - mp_limb_t*
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 166
    functionName: ecc_mul_m
    functionSourceFile: /src/nettle/ecc-mul-m.c
    functionUses: 1
    functionsReached:
    - assert
    - mpn_cnd_swap
    - mpn_copyi
    - ecc_mod_sqr
    - struct ecc_modulo*::invert
    - ecc_mod_add
    - ecc_mod_mul_canonical
    - mpn_zero
    - ecc_mod_sub
    - ecc_mod_addmul_1
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mul_m (const struct ecc_modulo *m,\n\t   mp_limb_t a24,\n\t
      \  unsigned bit_low, unsigned bit_high,\n\t   mp_limb_t *qx, const uint8_t *n,
      const mp_limb_t *px,\n\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha1.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha1_ctx*
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: sha1_init
    functionSourceFile: /src/nettle/sha1.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha1_init(struct sha1_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/sha1.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha1_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sha1_update
    functionSourceFile: /src/nettle/sha1.c
    functionUses: 7
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void sha1_update(struct sha1_ctx *ctx,\n\t    size_t length, const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_PAD
      Src: /src/nettle/sha1.c:86,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sha1.c:92,1
    - Dst: nettle_sha1_compress
      Src: /src/nettle/sha1.c:93,1
    - Dst: _nettle_write_be32
      Src: /src/nettle/sha1.c:95,1
    - Dst: sha1_init
      Src: /src/nettle/sha1.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha1_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: sha1_digest
    functionSourceFile: /src/nettle/sha1.c
    functionUses: 2
    functionsReached:
    - MD_PAD
    - sha1_init
    - WRITE_UINT64
    - _nettle_write_be32
    - nettle_sha1_compress
    linkageType: ''
    returnType: void
    signature: "void sha1_digest(struct sha1_ctx *ctx,\n\t    uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base16_decode_ctx*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: base16_decode_init
    functionSourceFile: /src/nettle/base16-decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base16_decode_init(struct base16_decode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/base16-decode.c:86,1
    - Dst: assert
      Src: /src/nettle/base16-decode.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - struct base16_decode_ctx*
    - uint8_t*
    - char
    constantsTouched: []
    func_position:
      end: 102
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 102
    functionName: base16_decode_single
    functionSourceFile: /src/nettle/base16-decode.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int base16_decode_single(struct base16_decode_ctx *ctx,\n\t\t     uint8_t
      *dst,\n\t\t     char src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_decode_single
      Src: /src/nettle/base16-decode.c:115,1
    - Dst: abort
      Src: /src/nettle/base16-decode.c:125,1
    - Dst: assert
      Src: /src/nettle/base16-decode.c:128,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/base16-decode.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - dst_length
    - dst
    - src_length
    - src
    argTypes:
    - struct base16_decode_ctx*
    - size_t*
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: base16_decode_update
    functionSourceFile: /src/nettle/base16-decode.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - BASE16_DECODE_LENGTH
    - base16_decode_single
    linkageType: ''
    returnType: int
    signature: "int base16_decode_update(struct base16_decode_ctx *ctx,\n\t\t     size_t
      *dst_length,\n\t\t     uint8_t *dst,\n\t\t     size_t src_length,\n\t\t     const
      char *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base16_decode_ctx*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: base16_decode_final
    functionSourceFile: /src/nettle/base16-decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base16_decode_final(struct base16_decode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/sha-example.c:14,1
    - Dst: printf
      Src: /src/nettle/sha-example.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - length
    - data
    argTypes:
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 17
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 17
    functionName: display_hex
    functionSourceFile: /src/nettle/sha-example.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display_hex(unsigned length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/sha-example.c:26,1
    - Dst: sha1_update
      Src: /src/nettle/sha-example.c:30,1
    - Dst: ferror
      Src: /src/nettle/sha-example.c:34,1
    - Dst: sha1_digest
      Src: /src/nettle/sha-example.c:37,1
    - Dst: display_hex
      Src: /src/nettle/sha-example.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/nettle/sha-example.c
    functionUses: 5
    functionsReached:
    - display_hex
    - sha1_update
    - sha1_init
    - sha1_digest
    - ferror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT64
      Src: /src/nettle/siv-ghash-update.c:53,1
    - Dst: LE_READ_UINT64
      Src: /src/nettle/siv-ghash-update.c:54,1
    - Dst: READ_UINT64
      Src: /src/nettle/siv-ghash-update.c:56,1
    - Dst: READ_UINT64
      Src: /src/nettle/siv-ghash-update.c:57,1
    - Dst: _ghash_update
      Src: /src/nettle/siv-ghash-update.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - state
    - blocks
    - data
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: _siv_ghash_update
    functionSourceFile: /src/nettle/siv-ghash-update.c
    functionUses: 2
    functionsReached:
    - _ghash_update
    - READ_UINT64
    - LE_READ_UINT64
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\n_siv_ghash_update (const struct gcm_key *ctx, union nettle_block16
      *state,\n\t\t size_t blocks, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/xts.c:52,1
    - Dst: memset
      Src: /src/nettle/xts.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: check_length
    functionSourceFile: /src/nettle/xts.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void check_length(size_t length, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_length
      Src: /src/nettle/xts.c:71,1
    - Dst: encf
      Src: /src/nettle/xts.c:73,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:80,1
    - Dst: encf
      Src: /src/nettle/xts.c:81,1
    - Dst: memxor
      Src: /src/nettle/xts.c:82,1
    - Dst: block16_mulx_le
      Src: /src/nettle/xts.c:86,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:95,1
    - Dst: encf
      Src: /src/nettle/xts.c:96,1
    - Dst: memxor
      Src: /src/nettle/xts.c:97,1
    - Dst: block16_mulx_le
      Src: /src/nettle/xts.c:100,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:105,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:107,1
    - Dst: encf
      Src: /src/nettle/xts.c:110,1
    - Dst: memxor
      Src: /src/nettle/xts.c:111,1
    - Dst: memcpy
      Src: /src/nettle/xts.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 7
    argNames:
    - enc_ctx
    - twk_ctx
    - encf
    - tweak
    - length
    - dst
    - src
    argTypes:
    - void*
    - void*
    - nettle_cipher_func*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 117
    functionName: xts_encrypt_message
    functionSourceFile: /src/nettle/xts.c
    functionUses: 2
    functionsReached:
    - block16_mulx_le
    - memxor
    - encf
    - memxor3
    - memcpy
    - check_length
    linkageType: ''
    returnType: void
    signature: "void xts_encrypt_message(const void *enc_ctx, const void *twk_ctx,\n\t
      \           nettle_cipher_func *encf,\n\t            const uint8_t *tweak, size_t
      length,\n\t            uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_length
      Src: /src/nettle/xts.c:128,1
    - Dst: encf
      Src: /src/nettle/xts.c:130,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:135,1
    - Dst: decf
      Src: /src/nettle/xts.c:136,1
    - Dst: memxor
      Src: /src/nettle/xts.c:137,1
    - Dst: block16_mulx_le
      Src: /src/nettle/xts.c:141,1
    - Dst: block16_mulx_le
      Src: /src/nettle/xts.c:152,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:154,1
    - Dst: decf
      Src: /src/nettle/xts.c:155,1
    - Dst: memxor
      Src: /src/nettle/xts.c:156,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:163,1
    - Dst: memxor3
      Src: /src/nettle/xts.c:164,1
    - Dst: decf
      Src: /src/nettle/xts.c:166,1
    - Dst: memxor
      Src: /src/nettle/xts.c:167,1
    - Dst: memcpy
      Src: /src/nettle/xts.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 8
    argNames:
    - dec_ctx
    - twk_ctx
    - decf
    - encf
    - tweak
    - length
    - dst
    - src
    argTypes:
    - void*
    - void*
    - nettle_cipher_func*
    - nettle_cipher_func*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 173
    functionName: xts_decrypt_message
    functionSourceFile: /src/nettle/xts.c
    functionUses: 2
    functionsReached:
    - block16_mulx_le
    - memxor
    - encf
    - decf
    - memxor3
    - memcpy
    - check_length
    linkageType: ''
    returnType: void
    signature: "void xts_decrypt_message(const void *dec_ctx, const void *twk_ctx,\n\t
      \           nettle_cipher_func *decf, nettle_cipher_func *encf,\n\t            const
      uint8_t *tweak, size_t length,\n\t            uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_encrypt_message
      Src: /src/nettle/siv-gcm-aes128.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: siv_gcm_aes128_encrypt_message
    functionSourceFile: /src/nettle/siv-gcm-aes128.c
    functionUses: 1
    functionsReached:
    - siv_gcm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void siv_gcm_aes128_encrypt_message (const struct aes128_ctx *ctx,\n\t\t\t\tsize_t
      nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength, const uint8_t *adata,\n\t\t\t\tsize_t
      clength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: siv_gcm_decrypt_message
      Src: /src/nettle/siv-gcm-aes128.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: siv_gcm_aes128_decrypt_message
    functionSourceFile: /src/nettle/siv-gcm-aes128.c
    functionUses: 1
    functionsReached:
    - siv_gcm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int siv_gcm_aes128_decrypt_message (const struct aes128_ctx *ctx,\n\t\t\t\tsize_t
      nlength, const uint8_t *nonce,\n\t\t\t\tsize_t alength, const uint8_t *adata,\n\t\t\t\tsize_t
      mlength, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/pbkdf2-hmac-sha1.c:50,1
    - Dst: PBKDF2
      Src: /src/nettle/pbkdf2-hmac-sha1.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - key_length
    - key
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: pbkdf2_hmac_sha1
    functionSourceFile: /src/nettle/pbkdf2-hmac-sha1.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_set_key
    - PBKDF2
    linkageType: ''
    returnType: void
    signature: "void pbkdf2_hmac_sha1 (size_t key_length, const uint8_t *key,\n\t\t
      \ unsigned iterations,\n\t\t  size_t salt_length, const uint8_t *salt,\n\t\t
      \ size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ecc-point-mul.c:50,1
    - Dst: assert
      Src: /src/nettle/ecc-point-mul.c:52,1
    - Dst: assert
      Src: /src/nettle/ecc-point-mul.c:53,1
    - Dst: assert
      Src: /src/nettle/ecc-point-mul.c:54,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/ecc-point-mul.c:56,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/ecc-point-mul.c:57,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ecc-point-mul.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n
    - p
    argTypes:
    - struct ecc_point*
    - struct ecc_scalar*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: ecc_point_mul
    functionSourceFile: /src/nettle/ecc-point-mul.c
    functionUses: 3
    functionsReached:
    - assert
    - gmp_free_limbs
    - gmp_alloc_limbs
    - struct ecc_curve*::h_to_a
    - struct ecc_curve*::mul
    linkageType: ''
    returnType: void
    signature: "void ecc_point_mul (struct ecc_point *r, const struct ecc_scalar *n,\n\t
      \      const struct ecc_point *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block16_set
      Src: /src/nettle/ghash-set-key.c:85,1
    - Dst: block16_mulx_ghash
      Src: /src/nettle/ghash-set-key.c:87,1
    - Dst: block16_mulx_ghash
      Src: /src/nettle/ghash-set-key.c:89,1
    - Dst: block16_mulx_ghash
      Src: /src/nettle/ghash-set-key.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_key*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 92
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 92
    functionName: _ghash_set_key
    functionSourceFile: /src/nettle/ghash-set-key.c
    functionUses: 3
    functionsReached:
    - block16_set
    - block16_mulx_ghash
    linkageType: ''
    returnType: void
    signature: void _ghash_set_key (struct gcm_key *ctx, const union nettle_block16
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/sexp2dsa.c:70,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:73,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/sexp2dsa.c:74,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:75,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/sexp2dsa.c:76,1
    - Dst: mpz_cmp
      Src: /src/nettle/sexp2dsa.c:78,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:80,1
    - Dst: mpz_cmp
      Src: /src/nettle/sexp2dsa.c:81,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:83,1
    - Dst: mpz_cmp
      Src: /src/nettle/sexp2dsa.c:84,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:89,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/sexp2dsa.c:89,1
    - Dst: mpz_cmp
      Src: /src/nettle/sexp2dsa.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - params
    - pub
    - priv
    - p_max_bits
    - q_bits
    - i
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    - unsigned
    - struct sexp_iterator*
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: dsa_keypair_from_sexp_alist
    functionSourceFile: /src/nettle/sexp2dsa.c
    functionUses: 0
    functionsReached:
    - mpz_sizeinbase
    - GET
    - sexp_iterator_assoc
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: "int dsa_keypair_from_sexp_alist(struct dsa_params *params,\n\t\t\t
      \   mpz_t pub,\n\t\t\t    mpz_t priv,\n\t\t\t    unsigned p_max_bits,\n\t\t\t
      \   unsigned q_bits,\n\t\t\t    struct sexp_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_first
      Src: /src/nettle/sexp2dsa.c:106,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/sexp2dsa.c:107,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/sexp2dsa.c:108,1
    - Dst: dsa_keypair_from_sexp_alist
      Src: /src/nettle/sexp2dsa.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - params
    - pub
    - priv
    - p_max_bits
    - length
    - expr
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: dsa_sha1_keypair_from_sexp
    functionSourceFile: /src/nettle/sexp2dsa.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_check_type
    - sexp_iterator_first
    - dsa_keypair_from_sexp_alist
    linkageType: ''
    returnType: int
    signature: "int dsa_sha1_keypair_from_sexp(struct dsa_params *params,\n\t\t\t
      \  mpz_t pub,\n\t\t\t   mpz_t priv,\n\t\t\t   unsigned p_max_bits, \n\t\t\t
      \  size_t length, const uint8_t *expr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_first
      Src: /src/nettle/sexp2dsa.c:122,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/sexp2dsa.c:123,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/sexp2dsa.c:124,1
    - Dst: dsa_keypair_from_sexp_alist
      Src: /src/nettle/sexp2dsa.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - params
    - pub
    - priv
    - p_max_bits
    - length
    - expr
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: dsa_sha256_keypair_from_sexp
    functionSourceFile: /src/nettle/sexp2dsa.c
    functionUses: 0
    functionsReached:
    - sexp_iterator_check_type
    - sexp_iterator_first
    - dsa_keypair_from_sexp_alist
    linkageType: ''
    returnType: int
    signature: "int dsa_sha256_keypair_from_sexp(struct dsa_params *params,\n\t\t\t
      \    mpz_t pub,\n\t\t\t     mpz_t priv,\n\t\t\t     unsigned p_max_bits, \n\t\t\t
      \    size_t length, const uint8_t *expr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/sexp2dsa.c:137,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:140,1
    - Dst: GET
      Src: /src/nettle/sexp2dsa.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rs
    - i
    - q_bits
    argTypes:
    - struct dsa_signature*
    - struct sexp_iterator*
    - unsigned
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: dsa_signature_from_sexp
    functionSourceFile: /src/nettle/sexp2dsa.c
    functionUses: 0
    functionsReached:
    - GET
    - sexp_iterator_assoc
    linkageType: ''
    returnType: int
    signature: "int dsa_signature_from_sexp(struct dsa_signature *rs,\n\t\t\tstruct
      sexp_iterator *i,\n\t\t\tunsigned q_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/eccparams.c:13,1
    - Dst: atoi
      Src: /src/nettle/eccparams.c:16,1
    - Dst: atoi
      Src: /src/nettle/eccparams.c:19,1
    - Dst: printf
      Src: /src/nettle/eccparams.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/nettle/eccparams.c
    functionUses: 5
    functionsReached:
    - printf
    - fprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-aes128.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes128_set_key
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_aes128_set_key(struct gcm_aes128_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-aes128.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: gcm_aes128_set_iv
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 1
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_aes128_set_iv (struct gcm_aes128_ctx *ctx,\n\t\t      size_t
      length, const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-aes128.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: gcm_aes128_update
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_aes128_update (struct gcm_aes128_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-aes128.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: gcm_aes128_encrypt
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes128_encrypt(struct gcm_aes128_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-aes128.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_aes128_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: gcm_aes128_decrypt
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_aes128_decrypt(struct gcm_aes128_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-aes128.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gcm_aes128_digest
    functionSourceFile: /src/nettle/gcm-aes128.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_aes128_digest(struct gcm_aes128_ctx *ctx,\n\t\t  uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_get_bignum
      Src: /src/nettle/der2dsa.c:63,1
    - Dst: mpz_sgn
      Src: /src/nettle/der2dsa.c:64,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:67,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/der2dsa.c:68,1
    - Dst: mpz_cmp
      Src: /src/nettle/der2dsa.c:69,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:70,1
    - Dst: mpz_cmp
      Src: /src/nettle/der2dsa.c:71,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der2dsa.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - params
    - max_bits
    - q_bits
    - i
    argTypes:
    - struct dsa_params*
    - unsigned
    - unsigned
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: dsa_params_from_der_iterator
    functionSourceFile: /src/nettle/der2dsa.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_next
    - mpz_sgn
    - GET
    - mpz_cmp
    - asn1_der_get_bignum
    - mpz_sizeinbase
    linkageType: ''
    returnType: int
    signature: "int dsa_params_from_der_iterator(struct dsa_params *params,\n\t\t\t
      \    unsigned max_bits, unsigned q_bits,\n\t\t\t     struct asn1_der_iterator
      *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_get_bignum
      Src: /src/nettle/der2dsa.c:87,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/der2dsa.c:88,1
    - Dst: mpz_sgn
      Src: /src/nettle/der2dsa.c:89,1
    - Dst: mpz_cmp
      Src: /src/nettle/der2dsa.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - params
    - pub
    - i
    argTypes:
    - struct dsa_params*
    - mpz_t
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: dsa_public_key_from_der_iterator
    functionSourceFile: /src/nettle/der2dsa.c
    functionUses: 0
    functionsReached:
    - asn1_der_get_bignum
    - mpz_sizeinbase
    - mpz_sgn
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: "int dsa_public_key_from_der_iterator(const struct dsa_params *params,\n\t\t\t\t
      mpz_t pub,\n\t\t\t\t struct asn1_der_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_decode_constructed_last
      Src: /src/nettle/der2dsa.c:113,1
    - Dst: asn1_der_get_uint32
      Src: /src/nettle/der2dsa.c:115,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:117,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:120,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:121,1
    - Dst: mpz_cmp
      Src: /src/nettle/der2dsa.c:122,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:123,1
    - Dst: mpz_cmp
      Src: /src/nettle/der2dsa.c:124,1
    - Dst: GET
      Src: /src/nettle/der2dsa.c:125,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/der2dsa.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 5
    argNames:
    - params
    - pub
    - priv
    - p_max_bits
    - i
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    - struct asn1_der_iterator*
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: dsa_openssl_private_key_from_der_iterator
    functionSourceFile: /src/nettle/der2dsa.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_next
    - asn1_der_decode_constructed_last
    - asn1_der_get_uint32
    - GET
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: "int dsa_openssl_private_key_from_der_iterator(struct dsa_params *params,\n\t\t\t\t\t
      \ mpz_t pub,\n\t\t\t\t\t  mpz_t priv,\n\t\t\t\t\t  unsigned p_max_bits,\n\t\t\t\t\t
      \ struct asn1_der_iterator *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_iterator_first
      Src: /src/nettle/der2dsa.c:142,1
    - Dst: dsa_openssl_private_key_from_der_iterator
      Src: /src/nettle/der2dsa.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - params
    - pub
    - priv
    - p_max_bits
    - length
    - data
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: dsa_openssl_private_key_from_der
    functionSourceFile: /src/nettle/der2dsa.c
    functionUses: 0
    functionsReached:
    - dsa_openssl_private_key_from_der_iterator
    - asn1_der_iterator_first
    linkageType: ''
    returnType: int
    signature: "int dsa_openssl_private_key_from_der(struct dsa_params *params,\n\t\t\t\t
      mpz_t pub,\n\t\t\t\t mpz_t priv,\n\t\t\t\t unsigned p_max_bits,\n\t\t\t\t size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_invert
      Src: /src/nettle/aes192-set-decrypt-key.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - struct aes192_ctx*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: nettle_aes192_invert_key
    functionSourceFile: /src/nettle/aes192-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_invert
    linkageType: ''
    returnType: void
    signature: void nettle_aes192_invert_key (struct aes192_ctx *dst, const struct
      aes192_ctx *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes192_set_encrypt_key
      Src: /src/nettle/aes192-set-decrypt-key.c:64,1
    - Dst: aes192_invert_key
      Src: /src/nettle/aes192-set-decrypt-key.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes192_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: nettle_aes192_set_decrypt_key
    functionSourceFile: /src/nettle/aes192-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - aes192_set_encrypt_key
    - aes192_invert_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes192_set_decrypt_key(struct aes192_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/cbc.c:53,1
    - Dst: memxor
      Src: /src/nettle/cbc.c:57,1
    - Dst: f
      Src: /src/nettle/cbc.c:58,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: cbc_encrypt
    functionSourceFile: /src/nettle/cbc.c
    functionUses: 11
    functionsReached:
    - memcpy
    - assert
    - f
    - memxor
    linkageType: ''
    returnType: void
    signature: "void cbc_encrypt(const void *ctx, nettle_cipher_func *f,\n\t    size_t
      block_size, uint8_t *iv,\n\t    size_t length, uint8_t *dst,\n\t    const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/cbc.c:72,1
    - Dst: f
      Src: /src/nettle/cbc.c:80,1
    - Dst: memxor
      Src: /src/nettle/cbc.c:83,1
    - Dst: memxor
      Src: /src/nettle/cbc.c:84,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:85,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cbc.c:109,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cbc.c:110,1
    - Dst: f
      Src: /src/nettle/cbc.c:114,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:115,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:116,1
    - Dst: memxor3
      Src: /src/nettle/cbc.c:117,1
    - Dst: memxor3
      Src: /src/nettle/cbc.c:119,1
    - Dst: f
      Src: /src/nettle/cbc.c:122,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:123,1
    - Dst: memcpy
      Src: /src/nettle/cbc.c:125,1
    - Dst: memxor3
      Src: /src/nettle/cbc.c:127,1
    - Dst: memxor3
      Src: /src/nettle/cbc.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 132
    functionName: cbc_decrypt
    functionSourceFile: /src/nettle/cbc.c
    functionUses: 2
    functionsReached:
    - assert
    - memxor
    - memxor3
    - f
    - TMP_ALLOC
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void cbc_decrypt(const void *ctx, nettle_cipher_func *f,\n\t    size_t
      block_size, uint8_t *iv,\n\t    size_t length, uint8_t *dst,\n\t    const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBC_ENCRYPT
      Src: /src/nettle/cbc.c:144,1
    - Dst: CBC_ENCRYPT
      Src: /src/nettle/cbc.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: foo
    functionSourceFile: /src/nettle/cbc.c
    functionUses: 0
    functionsReached:
    - CBC_ENCRYPT
    linkageType: ''
    returnType: void
    signature: void foo(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CBC_ENCRYPT2
      Src: /src/nettle/cbc.c:158,1
    - Dst: CBC_ENCRYPT2
      Src: /src/nettle/cbc.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: foo2
    functionSourceFile: /src/nettle/cbc.c
    functionUses: 0
    functionsReached:
    - CBC_ENCRYPT2
    linkageType: ''
    returnType: void
    signature: void foo2(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-decrypt.c:50,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-decrypt.c:54,1
    - Dst: mpz_sgn
      Src: /src/nettle/rsa-decrypt.c:55,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-decrypt.c:55,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-decrypt.c:57,1
    - Dst: rsa_compute_root
      Src: /src/nettle/rsa-decrypt.c:61,1
    - Dst: pkcs1_decrypt
      Src: /src/nettle/rsa-decrypt.c:63,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-decrypt.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - key
    - length
    - message
    - gibberish
    argTypes:
    - struct rsa_private_key*
    - size_t*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: rsa_decrypt
    functionSourceFile: /src/nettle/rsa-decrypt.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root
    - mpz_sgn
    - mpz_mul
    - pkcs1_decrypt
    - mpz_cmp
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt(const struct rsa_private_key *key,\n\t    size_t *length,
      uint8_t *message,\n\t    const mpz_t gibberish)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_gosthash94_set_key
      Src: /src/nettle/hmac-gosthash94-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_gosthash94_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-gosthash94-meta.c
    functionUses: 0
    functionsReached:
    - hmac_gosthash94_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_gosthash94_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_gosthash94cp_set_key
      Src: /src/nettle/hmac-gosthash94-meta.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: hmac_gosthash94cp_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-gosthash94-meta.c
    functionUses: 0
    functionsReached:
    - hmac_gosthash94cp_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_gosthash94cp_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:130,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:131,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:132,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:133,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:134,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:137,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:138,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:139,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:140,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:141,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:142,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:143,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:144,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:145,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:146,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:147,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:148,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:149,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:150,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:151,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:152,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:153,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:154,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:155,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:156,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:157,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:158,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:159,1
    - Dst: ROTL64
      Src: /src/nettle/sha3-permute.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 95
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct sha3_state*
    constantsTouched: []
    func_position:
      end: 191
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 191
    functionName: sha3_permute
    functionSourceFile: /src/nettle/sha3-permute.c
    functionUses: 2
    functionsReached:
    - ROTL64
    linkageType: ''
    returnType: void
    signature: void sha3_permute (struct sha3_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-pp1-redc.c:53,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-pp1-redc.c:55,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-pp1-redc.c:61,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-pp1-redc.c:66,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-pp1-redc.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: ecc_pp1_redc
    functionSourceFile: /src/nettle/ecc-pp1-redc.c
    functionUses: 0
    functionsReached:
    - assert_maybe
    - mpn_addmul_1
    - mpn_add_n
    - mpn_cnd_sub_n
    linkageType: ''
    returnType: void
    signature: void ecc_pp1_redc (const struct ecc_modulo *m, mp_limb_t *rp, mp_limb_t
      *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/curve25519-mul-g.c:56,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/curve25519-mul-g.c:61,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/curve25519-mul-g.c:63,1
    - Dst: ecc_mul_g_eh
      Src: /src/nettle/curve25519-mul-g.c:65,1
    - Dst: curve25519_eh_to_x
      Src: /src/nettle/curve25519-mul-g.c:66,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/curve25519-mul-g.c:68,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/curve25519-mul-g.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: curve25519_mul_g
    functionSourceFile: /src/nettle/curve25519-mul-g.c
    functionUses: 1
    functionsReached:
    - curve25519_eh_to_x
    - gmp_free_limbs
    - gmp_alloc_limbs
    - ecc_mul_g_eh
    - mpn_get_base256_le
    - mpn_set_base256_le
    - memcpy
    linkageType: ''
    returnType: void
    signature: void curve25519_mul_g (uint8_t *r, const uint8_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/nettle-lookup-hash.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: nettle_lookup_hash
    functionSourceFile: /src/nettle/nettle-lookup-hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct nettle_hash
    signature: 'struct nettle_hash *

      nettle_lookup_hash (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/ccm-aes256.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct ccm_aes256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ccm_aes256_set_key
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void ccm_aes256_set_key(struct ccm_aes256_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_set_nonce
      Src: /src/nettle/ccm-aes256.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - length
    - nonce
    - authlen
    - msglen
    - taglen
    argTypes:
    - struct ccm_aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ccm_aes256_set_nonce
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_set_nonce
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_set_nonce(struct ccm_aes256_ctx *ctx,\n\t\t     size_t
      length, const uint8_t *nonce,\n\t\t     size_t authlen, size_t msglen, size_t
      taglen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_update
      Src: /src/nettle/ccm-aes256.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct ccm_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: ccm_aes256_update
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_update
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_update(struct ccm_aes256_ctx *ctx,\n\t\t  size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt
      Src: /src/nettle/ccm-aes256.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: ccm_aes256_encrypt
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_encrypt(struct ccm_aes256_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt
      Src: /src/nettle/ccm-aes256.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct ccm_aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: ccm_aes256_decrypt
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_decrypt(struct ccm_aes256_ctx *ctx,\n\t\t   size_t
      length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_digest
      Src: /src/nettle/ccm-aes256.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct ccm_aes256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: ccm_aes256_digest
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_digest
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_digest(struct ccm_aes256_ctx *ctx,\n\t\t  size_t length,
      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_encrypt_message
      Src: /src/nettle/ccm-aes256.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - clength
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: ccm_aes256_encrypt_message
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void ccm_aes256_encrypt_message(const struct aes256_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t clength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ccm_decrypt_message
      Src: /src/nettle/ccm-aes256.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - nlength
    - nonce
    - alength
    - adata
    - tlength
    - mlength
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: ccm_aes256_decrypt_message
    functionSourceFile: /src/nettle/ccm-aes256.c
    functionUses: 0
    functionsReached:
    - ccm_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int ccm_aes256_decrypt_message(const struct aes256_ctx *ctx,\n\t\t\t
      \  size_t nlength, const uint8_t *nonce,\n\t\t\t   size_t alength, const uint8_t
      *adata,\n\t\t\t   size_t tlength,\n\t\t\t   size_t mlength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECC_GOSTDSA_SIGN_ITCH
      Src: /src/nettle/ecc-gostdsa-sign.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ecc_gostdsa_sign_itch
    functionSourceFile: /src/nettle/ecc-gostdsa-sign.c
    functionUses: 0
    functionsReached:
    - ECC_GOSTDSA_SIGN_ITCH
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_gostdsa_sign_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mul_g
      Src: /src/nettle/ecc-gostdsa-sign.c:78,1
    - Dst: ecc_j_to_a
      Src: /src/nettle/ecc-gostdsa-sign.c:80,1
    - Dst: _nettle_gostdsa_hash
      Src: /src/nettle/ecc-gostdsa-sign.c:83,1
    - Dst: mpn_zero_p
      Src: /src/nettle/ecc-gostdsa-sign.c:84,1
    - Dst: mpn_add_1
      Src: /src/nettle/ecc-gostdsa-sign.c:85,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-gostdsa-sign.c:87,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-gostdsa-sign.c:88,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-gostdsa-sign.c:89,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-gostdsa-sign.c:94,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-gostdsa-sign.c:95,1
    - Dst: is_zero_limb
      Src: /src/nettle/ecc-gostdsa-sign.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - ecc
    - zp
    - kp
    - length
    - digest
    - rp
    - sp
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - size_t
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 101
    functionName: ecc_gostdsa_sign
    functionSourceFile: /src/nettle/ecc-gostdsa-sign.c
    functionUses: 1
    functionsReached:
    - ecc_mul_g
    - cnd_copy
    - _nettle_gostdsa_hash
    - ecc_j_to_a
    - mpn_zero_p
    - ecc_mod_add
    - mpn_sub_n
    - ecc_mod_mul
    - mpn_add_1
    - is_zero_limb
    linkageType: ''
    returnType: void
    signature: "void ecc_gostdsa_sign (const struct ecc_curve *ecc,\n\t\tconst mp_limb_t
      *zp,\n\t\tconst mp_limb_t *kp,\n\t\tsize_t length, const uint8_t *digest,\n\t\tmp_limb_t
      *rp, mp_limb_t *sp,\n\t\tmp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eax_aes128_set_nonce
      Src: /src/nettle/eax-aes128-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: eax_aes128_set_nonce_wrapper
    functionSourceFile: /src/nettle/eax-aes128-meta.c
    functionUses: 0
    functionsReached:
    - eax_aes128_set_nonce
    linkageType: ''
    returnType: void
    signature: void eax_aes128_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_DECL
      Src: /src/nettle/rsa-decrypt-tr.c:50,1
    - Dst: mpz_sgn
      Src: /src/nettle/rsa-decrypt-tr.c:56,1
    - Dst: mpz_cmp
      Src: /src/nettle/rsa-decrypt-tr.c:56,1
    - Dst: mpz_size
      Src: /src/nettle/rsa-decrypt-tr.c:59,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-decrypt-tr.c:61,1
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/rsa-decrypt-tr.c:62,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/rsa-decrypt-tr.c:63,1
    - Dst: _rsa_sec_compute_root_tr
      Src: /src/nettle/rsa-decrypt-tr.c:65,1
    - Dst: mpn_get_base256
      Src: /src/nettle/rsa-decrypt-tr.c:67,1
    - Dst: _pkcs1_sec_decrypt_variable
      Src: /src/nettle/rsa-decrypt-tr.c:69,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-decrypt-tr.c:71,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/rsa-decrypt-tr.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - length
    - message
    - gibberish
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: rsa_decrypt_tr
    functionSourceFile: /src/nettle/rsa-decrypt-tr.c
    functionUses: 1
    functionsReached:
    - mpn_get_base256
    - mpz_sgn
    - _pkcs1_sec_decrypt_variable
    - mpz_limbs_copy
    - mpz_size
    - TMP_GMP_DECL
    - mpz_cmp
    - TMP_GMP_FREE
    - _rsa_sec_compute_root_tr
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt_tr(const struct rsa_public_key *pub,\n\t       const
      struct rsa_private_key *key,\n\t       void *random_ctx, nettle_random_func
      *random,\n\t       size_t *length, uint8_t *message,\n\t       const mpz_t gibberish)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/md5.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct md5_ctx*
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: md5_init
    functionSourceFile: /src/nettle/md5.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void md5_init(struct md5_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/md5.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct md5_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: md5_update
    functionSourceFile: /src/nettle/md5.c
    functionUses: 3
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void md5_update(struct md5_ctx *ctx,\n\t   size_t length,\n\t   const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_PAD
      Src: /src/nettle/md5.c:80,1
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/md5.c:85,1
    - Dst: nettle_md5_compress
      Src: /src/nettle/md5.c:86,1
    - Dst: _nettle_write_le32
      Src: /src/nettle/md5.c:88,1
    - Dst: md5_init
      Src: /src/nettle/md5.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct md5_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: md5_digest
    functionSourceFile: /src/nettle/md5.c
    functionUses: 3
    functionsReached:
    - md5_init
    - MD_PAD
    - nettle_md5_compress
    - _nettle_write_le32
    - LE_WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: "void md5_digest(struct md5_ctx *ctx,\n\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/md5.c:119,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:126,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:127,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:128,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:129,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:130,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:131,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:132,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:133,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:134,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:135,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:136,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:137,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:138,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:139,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:140,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:141,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:143,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:144,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:145,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:146,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:147,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:148,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:149,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:150,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:151,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:152,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:153,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:154,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:155,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:156,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:157,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:158,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:160,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:161,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:162,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:163,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:164,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:165,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:166,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:167,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:168,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:169,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:170,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:171,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:172,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:173,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:174,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:175,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:177,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:178,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:179,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:180,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:181,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:182,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:183,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:184,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:185,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:186,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:187,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:188,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:189,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:190,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:191,1
    - Dst: ROUND
      Src: /src/nettle/md5.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 2
    argNames:
    - digest
    - input
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 198
    functionName: nettle_md5_compress
    functionSourceFile: /src/nettle/md5.c
    functionUses: 1
    functionsReached:
    - ROUND
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void nettle_md5_compress(uint32_t *digest, const uint8_t *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha256-sign-tr.c:56,1
    - Dst: pkcs1_rsa_sha256_encode
      Src: /src/nettle/rsa-sha256-sign-tr.c:57,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha256-sign-tr.c:58,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha256-sign-tr.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - struct sha256_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: rsa_sha256_sign_tr
    functionSourceFile: /src/nettle/rsa-sha256-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_sha256_encode
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_sign_tr(const struct rsa_public_key *pub,\n\t\t   const
      struct rsa_private_key *key,\n\t\t   void *random_ctx, nettle_random_func *random,\n\t\t
      \  struct sha256_ctx *hash,\n\t\t   mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha256-sign-tr.c:75,1
    - Dst: pkcs1_rsa_sha256_encode_digest
      Src: /src/nettle/rsa-sha256-sign-tr.c:77,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/rsa-sha256-sign-tr.c:78,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha256-sign-tr.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: rsa_sha256_sign_digest_tr
    functionSourceFile: /src/nettle/rsa-sha256-sign-tr.c
    functionUses: 0
    functionsReached:
    - rsa_compute_root_tr
    - mpz_clear
    - pkcs1_rsa_sha256_encode_digest
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha256_sign_digest_tr(const struct rsa_public_key *pub,\n\t\t\t
      \ const struct rsa_private_key *key,\n\t\t\t  void *random_ctx, nettle_random_func
      *random,\n\t\t\t  const uint8_t *digest,\n\t\t\t  mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_READ_UINT32
      Src: /src/nettle/ripemd160-compress.c:62,1
    - Dst: memcpy
      Src: /src/nettle/ripemd160-compress.c:67,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:97,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:98,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:99,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:100,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:101,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:102,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:103,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:104,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:105,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:106,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:107,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:108,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:109,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:110,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:111,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:112,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:113,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:114,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:115,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:116,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:117,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:118,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:119,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:120,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:121,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:122,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:123,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:124,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:125,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:126,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:127,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:128,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:129,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:130,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:131,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:132,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:133,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:134,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:135,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:136,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:137,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:138,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:139,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:140,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:141,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:142,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:143,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:144,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:145,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:146,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:147,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:148,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:149,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:150,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:151,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:152,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:153,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:154,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:155,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:156,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:157,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:158,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:159,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:160,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:161,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:162,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:163,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:164,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:165,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:166,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:167,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:168,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:169,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:170,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:171,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:172,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:173,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:174,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:175,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:176,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:186,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:187,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:188,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:189,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:190,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:191,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:192,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:193,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:194,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:195,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:196,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:197,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:198,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:199,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:200,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:201,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:202,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:203,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:204,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:205,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:206,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:207,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:208,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:209,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:210,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:211,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:212,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:213,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:214,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:215,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:216,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:217,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:218,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:219,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:220,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:221,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:222,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:223,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:224,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:225,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:226,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:227,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:228,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:229,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:230,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:231,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:232,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:233,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:234,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:235,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:236,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:237,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:238,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:239,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:240,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:241,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:242,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:243,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:244,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:245,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:246,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:247,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:248,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:249,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:250,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:251,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:252,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:253,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:254,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:255,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:256,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:257,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:258,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:259,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:260,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:261,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:262,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:263,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:264,1
    - Dst: R
      Src: /src/nettle/ripemd160-compress.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 186
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 274
    functionName: _nettle_ripemd160_compress
    functionSourceFile: /src/nettle/ripemd160-compress.c
    functionUses: 1
    functionsReached:
    - memcpy
    - R
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: void _nettle_ripemd160_compress(uint32_t *state, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_KEY
      Src: /src/nettle/gcm-sm4.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct gcm_sm4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: gcm_sm4_set_key
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 0
    functionsReached:
    - GCM_SET_KEY
    linkageType: ''
    returnType: void
    signature: void gcm_sm4_set_key(struct gcm_sm4_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_SET_IV
      Src: /src/nettle/gcm-sm4.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - iv
    argTypes:
    - struct gcm_sm4_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: gcm_sm4_set_iv
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 1
    functionsReached:
    - GCM_SET_IV
    linkageType: ''
    returnType: void
    signature: "void gcm_sm4_set_iv(struct gcm_sm4_ctx *ctx,\n\t       size_t length,
      const uint8_t *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_UPDATE
      Src: /src/nettle/gcm-sm4.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct gcm_sm4_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: gcm_sm4_update
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 0
    functionsReached:
    - GCM_UPDATE
    linkageType: ''
    returnType: void
    signature: "void gcm_sm4_update(struct gcm_sm4_ctx *ctx,\n\t       size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_ENCRYPT
      Src: /src/nettle/gcm-sm4.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_sm4_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: gcm_sm4_encrypt
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 0
    functionsReached:
    - GCM_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_sm4_encrypt(struct gcm_sm4_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DECRYPT
      Src: /src/nettle/gcm-sm4.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct gcm_sm4_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: gcm_sm4_decrypt
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 0
    functionsReached:
    - GCM_DECRYPT
    linkageType: ''
    returnType: void
    signature: "void gcm_sm4_decrypt(struct gcm_sm4_ctx *ctx,\n\t\tsize_t length,
      uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCM_DIGEST
      Src: /src/nettle/gcm-sm4.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct gcm_sm4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: gcm_sm4_digest
    functionSourceFile: /src/nettle/gcm-sm4.c
    functionUses: 0
    functionsReached:
    - GCM_DIGEST
    linkageType: ''
    returnType: void
    signature: "void gcm_sm4_digest(struct gcm_sm4_ctx *ctx,\n\t       uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:57,1
    - Dst: f
      Src: /src/nettle/cfb.c:63,1
    - Dst: memxor
      Src: /src/nettle/cfb.c:64,1
    - Dst: f
      Src: /src/nettle/cfb.c:71,1
    - Dst: memxor
      Src: /src/nettle/cfb.c:72,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:77,1
    - Dst: f
      Src: /src/nettle/cfb.c:81,1
    - Dst: memxor3
      Src: /src/nettle/cfb.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: cfb_encrypt
    functionSourceFile: /src/nettle/cfb.c
    functionUses: 2
    functionsReached:
    - memxor
    - memxor3
    - f
    - TMP_ALLOC
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void cfb_encrypt(const void *ctx, nettle_cipher_func *f,\n\t    size_t
      block_size, uint8_t *iv,\n\t    size_t length, uint8_t *dst,\n\t    const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/cfb.c:105,1
    - Dst: f
      Src: /src/nettle/cfb.c:106,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:107,1
    - Dst: memxor
      Src: /src/nettle/cfb.c:108,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:114,1
    - Dst: f
      Src: /src/nettle/cfb.c:116,1
    - Dst: memxor3
      Src: /src/nettle/cfb.c:117,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:136,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:137,1
    - Dst: f
      Src: /src/nettle/cfb.c:149,1
    - Dst: f
      Src: /src/nettle/cfb.c:150,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:151,1
    - Dst: memxor
      Src: /src/nettle/cfb.c:152,1
    - Dst: f
      Src: /src/nettle/cfb.c:160,1
    - Dst: memxor
      Src: /src/nettle/cfb.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 164
    functionName: cfb_decrypt
    functionSourceFile: /src/nettle/cfb.c
    functionUses: 1
    functionsReached:
    - memxor
    - memxor3
    - f
    - TMP_ALLOC
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void cfb_decrypt(const void *ctx, nettle_cipher_func *f,\n\t    size_t
      block_size, uint8_t *iv,\n\t    size_t length, uint8_t *dst,\n\t    const uint8_t
      *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:176,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:177,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:180,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:188,1
    - Dst: f
      Src: /src/nettle/cfb.c:192,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 199
    functionName: cfb8_encrypt
    functionSourceFile: /src/nettle/cfb.c
    functionUses: 1
    functionsReached:
    - memcpy
    - f
    - TMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void cfb8_encrypt(const void *ctx, nettle_cipher_func *f,\n\t     size_t
      block_size, uint8_t *iv,\n\t     size_t length, uint8_t *dst,\n\t     const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:209,1
    - Dst: TMP_ALLOC
      Src: /src/nettle/cfb.c:210,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:213,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:214,1
    - Dst: f
      Src: /src/nettle/cfb.c:221,1
    - Dst: memxor3
      Src: /src/nettle/cfb.c:223,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:231,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:232,1
    - Dst: memcpy
      Src: /src/nettle/cfb.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - ctx
    - f
    - block_size
    - iv
    - length
    - dst
    - src
    argTypes:
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 238
    functionName: cfb8_decrypt
    functionSourceFile: /src/nettle/cfb.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memxor3
    - f
    - TMP_ALLOC
    linkageType: ''
    returnType: void
    signature: "void cfb8_decrypt(const void *ctx, nettle_cipher_func *f,\n\t     size_t
      block_size, uint8_t *iv,\n\t     size_t length, uint8_t *dst,\n\t     const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/camellia128-set-encrypt-key.c:65,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia128-set-encrypt-key.c:66,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:72,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:74,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:76,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:78,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:80,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:82,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia128-set-encrypt-key.c:99,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia128-set-encrypt-key.c:101,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia128-set-encrypt-key.c:102,1
    - Dst: CAMELLIA_F
      Src: /src/nettle/camellia128-set-encrypt-key.c:104,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:109,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:111,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:113,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:115,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:117,1
    - Dst: ROTL128
      Src: /src/nettle/camellia128-set-encrypt-key.c:119,1
    - Dst: _nettle_camellia_absorb
      Src: /src/nettle/camellia128-set-encrypt-key.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct camellia128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 124
    functionName: camellia128_set_encrypt_key
    functionSourceFile: /src/nettle/camellia128-set-encrypt-key.c
    functionUses: 1
    functionsReached:
    - CAMELLIA_F
    - ROTL128
    - _nettle_camellia_absorb
    - READ_UINT64
    linkageType: ''
    returnType: void
    signature: "void camellia128_set_encrypt_key (struct camellia128_ctx *ctx,\n\t\t\t
      \    const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - seed
    argTypes:
    - struct knuth_lfib_ctx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: knuth_lfib_init
    functionSourceFile: /src/nettle/knuth-lfib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void knuth_lfib_init(struct knuth_lfib_ctx *ctx, uint32_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/knuth-lfib.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct knuth_lfib_ctx*
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: knuth_lfib_get
    functionSourceFile: /src/nettle/knuth-lfib.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t knuth_lfib_get(struct knuth_lfib_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_get
      Src: /src/nettle/knuth-lfib.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - n
    - a
    argTypes:
    - struct knuth_lfib_ctx*
    - size_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: knuth_lfib_get_array
    functionSourceFile: /src/nettle/knuth-lfib.c
    functionUses: 0
    functionsReached:
    - knuth_lfib_get
    linkageType: ''
    returnType: void
    signature: "void knuth_lfib_get_array(struct knuth_lfib_ctx *ctx,\n\t\t     size_t
      n, uint32_t *a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_UINT24
      Src: /src/nettle/knuth-lfib.c:157,1
    - Dst: WRITE_UINT16
      Src: /src/nettle/knuth-lfib.c:169,1
    - Dst: abort
      Src: /src/nettle/knuth-lfib.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - n
    - dst
    argTypes:
    - struct knuth_lfib_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: knuth_lfib_random
    functionSourceFile: /src/nettle/knuth-lfib.c
    functionUses: 0
    functionsReached:
    - abort
    - WRITE_UINT24
    - WRITE_UINT16
    linkageType: ''
    returnType: void
    signature: "void knuth_lfib_random(struct knuth_lfib_ctx *ctx,\n\t\t  size_t n,
      uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_update
      Src: /src/nettle/sha3-256.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: sha3_256_update
    functionSourceFile: /src/nettle/sha3-256.c
    functionUses: 1
    functionsReached:
    - _nettle_sha3_update
    linkageType: ''
    returnType: void
    signature: void sha3_256_update (struct sha3_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_digest
      Src: /src/nettle/sha3-256.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sha3_256_digest
    functionSourceFile: /src/nettle/sha3-256.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_digest
    linkageType: ''
    returnType: void
    signature: void sha3_256_digest(struct sha3_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cnd
    - rp
    - ap
    - n
    argTypes:
    - int
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: cnd_neg
    functionSourceFile: /src/nettle/ecc-mod-inv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cnd_neg (int cnd, mp_limb_t *rp, const mp_limb_t *ap, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-mod-inv.c:89,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mod-inv.c:92,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-mod-inv.c:93,1
    - Dst: mpn_zero
      Src: /src/nettle/ecc-mod-inv.c:94,1
    - Dst: mpn_copyi
      Src: /src/nettle/ecc-mod-inv.c:95,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-inv.c:136,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-mod-inv.c:139,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-inv.c:140,1
    - Dst: cnd_neg
      Src: /src/nettle/ecc-mod-inv.c:141,1
    - Dst: mpn_cnd_swap
      Src: /src/nettle/ecc-mod-inv.c:143,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-mod-inv.c:144,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-inv.c:145,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-inv.c:146,1
    - Dst: mpn_rshift
      Src: /src/nettle/ecc-mod-inv.c:148,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-inv.c:149,1
    - Dst: mpn_rshift
      Src: /src/nettle/ecc-mod-inv.c:150,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-inv.c:151,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-inv.c:152,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-inv.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - m
    - vp
    - in_ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 158
    functionName: ecc_mod_inv
    functionSourceFile: /src/nettle/ecc-mod-inv.c
    functionUses: 0
    functionsReached:
    - cnd_neg
    - assert
    - mpn_cnd_sub_n
    - mpn_cnd_swap
    - mpn_copyi
    - mpn_cnd_add_n
    - assert_maybe
    - mpn_zero
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_inv (const struct ecc_modulo *m,\n\t     mp_limb_t *vp,
      const mp_limb_t *in_ap,\n\t     mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/aes256-decrypt.c:56,1
    - Dst: _nettle_aes_decrypt
      Src: /src/nettle/aes256-decrypt.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct aes256_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: nettle_aes256_decrypt
    functionSourceFile: /src/nettle/aes256-decrypt.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_decrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void nettle_aes256_decrypt(const struct aes256_ctx *ctx,\n\t       size_t
      length, uint8_t *dst,\n\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/chacha-core-internal.c:97,1
    - Dst: memcpy
      Src: /src/nettle/chacha-core-internal.c:99,1
    - Dst: DEBUG
      Src: /src/nettle/chacha-core-internal.c:102,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:103,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:104,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:105,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:106,1
    - Dst: DEBUG
      Src: /src/nettle/chacha-core-internal.c:108,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:109,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:110,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:111,1
    - Dst: QROUND
      Src: /src/nettle/chacha-core-internal.c:112,1
    - Dst: DEBUG
      Src: /src/nettle/chacha-core-internal.c:114,1
    - Dst: bswap32_if_be
      Src: /src/nettle/chacha-core-internal.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - dst
    - src
    - rounds
    argTypes:
    - uint32_t*
    - uint32_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: _nettle_chacha_core
    functionSourceFile: /src/nettle/chacha-core-internal.c
    functionUses: 7
    functionsReached:
    - assert
    - DEBUG
    - bswap32_if_be
    - memcpy
    - QROUND
    linkageType: ''
    returnType: void
    signature: void _nettle_chacha_core(uint32_t *dst, const uint32_t *src, unsigned
      rounds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-curve448.c:83,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-curve448.c:84,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-curve448.c:85,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-curve448.c:86,1
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-curve448.c:92,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-curve448.c:93,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-curve448.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - m
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 95
    functionName: ecc_curve448_modp
    functionSourceFile: /src/nettle/ecc-curve448.c
    functionUses: 0
    functionsReached:
    - assert_maybe
    - mpn_addmul_1
    - mpn_cnd_add_n
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: void ecc_curve448_modp(const struct ecc_modulo *m, mp_limb_t *rp, mp_limb_t
      *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:113,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:114,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:115,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:116,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve448.c:119,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-curve448.c:120,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:121,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve448.c:122,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:125,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:126,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-curve448.c:127,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:128,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve448.c:131,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-curve448.c:132,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:133,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-curve448.c:134,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:136,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:137,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-curve448.c:138,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: ecc_mod_pow_446m224m1
    functionSourceFile: /src/nettle/ecc-curve448.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2k
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_446m224m1 (const struct ecc_modulo *p,\n\t\t       mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t       mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_446m224m1
      Src: /src/nettle/ecc-curve448.c:151,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:152,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:153,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: ecc_curve448_inv
    functionSourceFile: /src/nettle/ecc-curve448.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_446m224m1
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_curve448_inv (const struct ecc_modulo *p,\n\t\t\t mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t\t mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:186,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:187,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:188,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:190,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:191,1
    - Dst: ecc_mod_pow_446m224m1
      Src: /src/nettle/ecc-curve448.c:193,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:194,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-curve448.c:197,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-curve448.c:198,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-curve448.c:199,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-curve448.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - p
    - rp
    - up
    - vp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: ecc_curve448_sqrt_ratio
    functionSourceFile: /src/nettle/ecc-curve448.c
    functionUses: 0
    functionsReached:
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_mod_pow_446m224m1
    - ecc_mod_sub
    - ecc_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_curve448_sqrt_ratio(const struct ecc_modulo *p, mp_limb_t
      *rp,\n\t\t\tconst mp_limb_t *up, const mp_limb_t *vp,\n\t\t\tmp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_encrypt
      Src: /src/nettle/rsa-encrypt.c:50,1
    - Dst: mpz_powm
      Src: /src/nettle/rsa-encrypt.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - key
    - random_ctx
    - random
    - length
    - message
    - gibberish
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: rsa_encrypt
    functionSourceFile: /src/nettle/rsa-encrypt.c
    functionUses: 1
    functionsReached:
    - pkcs1_encrypt
    - mpz_powm
    linkageType: ''
    returnType: int
    signature: "int rsa_encrypt(const struct rsa_public_key *key,\n\t    /* For padding
      */\n\t    void *random_ctx, nettle_random_func *random,\n\t    size_t length,
      const uint8_t *message,\n\t    mpz_t gibberish)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_aes256_set_iv
      Src: /src/nettle/gcm-aes256-meta.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gcm_aes256_set_nonce_wrapper
    functionSourceFile: /src/nettle/gcm-aes256-meta.c
    functionUses: 0
    functionsReached:
    - gcm_aes256_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_aes256_set_nonce_wrapper (void *ctx, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: sm4_t_non_lin_sub
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_t_non_lin_sub(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:113,1
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: sm4_key_lin_sub
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_key_lin_sub(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:119,1
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:119,1
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:119,1
    - Dst: ROTL32
      Src: /src/nettle/sm4.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: sm4_enc_lin_sub
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_enc_lin_sub(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_key_lin_sub
      Src: /src/nettle/sm4.c:125,1
    - Dst: sm4_t_non_lin_sub
      Src: /src/nettle/sm4.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: sm4_key_sub
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_key_lin_sub
    - sm4_t_non_lin_sub
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_key_sub(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_enc_lin_sub
      Src: /src/nettle/sm4.c:131,1
    - Dst: sm4_t_non_lin_sub
      Src: /src/nettle/sm4.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: sm4_enc_sub
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_enc_lin_sub
    - sm4_t_non_lin_sub
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_enc_sub(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_enc_sub
      Src: /src/nettle/sm4.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x0
    - x1
    - x2
    - x3
    - rk
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: sm4_round
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_enc_sub
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sm4_round(uint32_t x0, uint32_t x1, uint32_t x2, uint32_t
      x3, uint32_t rk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:146,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:147,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:148,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:149,1
    - Dst: sm4_key_sub
      Src: /src/nettle/sm4.c:153,1
    - Dst: sm4_key_sub
      Src: /src/nettle/sm4.c:154,1
    - Dst: sm4_key_sub
      Src: /src/nettle/sm4.c:155,1
    - Dst: sm4_key_sub
      Src: /src/nettle/sm4.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - encrypt
    argTypes:
    - struct sm4_ctx*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: sm4_set_key
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - READ_UINT32
    - sm4_key_sub
    linkageType: ''
    returnType: void
    signature: void sm4_set_key(struct sm4_ctx *ctx, const uint8_t *key, int encrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_set_key
      Src: /src/nettle/sm4.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct sm4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: sm4_set_encrypt_key
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_set_key
    linkageType: ''
    returnType: void
    signature: void sm4_set_encrypt_key(struct sm4_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm4_set_key
      Src: /src/nettle/sm4.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct sm4_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: sm4_set_decrypt_key
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - sm4_set_key
    linkageType: ''
    returnType: void
    signature: void sm4_set_decrypt_key(struct sm4_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/sm4.c:195,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:202,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:203,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:204,1
    - Dst: READ_UINT32
      Src: /src/nettle/sm4.c:205,1
    - Dst: sm4_round
      Src: /src/nettle/sm4.c:209,1
    - Dst: sm4_round
      Src: /src/nettle/sm4.c:210,1
    - Dst: sm4_round
      Src: /src/nettle/sm4.c:211,1
    - Dst: sm4_round
      Src: /src/nettle/sm4.c:212,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/sm4.c:215,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/sm4.c:216,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/sm4.c:217,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/sm4.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - context
    - length
    - dst
    - src
    argTypes:
    - struct sm4_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: sm4_crypt
    functionSourceFile: /src/nettle/sm4.c
    functionUses: 0
    functionsReached:
    - assert
    - READ_UINT32
    - WRITE_UINT32
    - sm4_round
    linkageType: ''
    returnType: void
    signature: "void sm4_crypt(const struct sm4_ctx *context,\n\t  size_t length,\n\t
      \ uint8_t *dst,\n\t  const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_gosthash94cp_set_key
      Src: /src/nettle/pbkdf2-hmac-gosthash94.c:50,1
    - Dst: PBKDF2
      Src: /src/nettle/pbkdf2-hmac-gosthash94.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - key_length
    - key
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: pbkdf2_hmac_gosthash94cp
    functionSourceFile: /src/nettle/pbkdf2-hmac-gosthash94.c
    functionUses: 0
    functionsReached:
    - hmac_gosthash94cp_set_key
    - PBKDF2
    linkageType: ''
    returnType: void
    signature: "void pbkdf2_hmac_gosthash94cp (size_t key_length, const uint8_t *key,\n\t\t
      \ unsigned iterations,\n\t\t  size_t salt_length, const uint8_t *salt,\n\t\t
      \ size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/md2.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - struct md2_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: md2_transform
    functionSourceFile: /src/nettle/md2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void md2_transform(struct md2_ctx *ctx, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/md2.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct md2_ctx*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: md2_init
    functionSourceFile: /src/nettle/md2.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void md2_init(struct md2_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_UPDATE
      Src: /src/nettle/md2.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct md2_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: md2_update
    functionSourceFile: /src/nettle/md2.c
    functionUses: 0
    functionsReached:
    - MD_UPDATE
    linkageType: ''
    returnType: void
    signature: "void md2_update(struct md2_ctx *ctx,\n\t   size_t length,\n\t   const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/md2.c:130,1
    - Dst: md2_transform
      Src: /src/nettle/md2.c:131,1
    - Dst: md2_transform
      Src: /src/nettle/md2.c:133,1
    - Dst: memcpy
      Src: /src/nettle/md2.c:134,1
    - Dst: md2_init
      Src: /src/nettle/md2.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct md2_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: md2_digest
    functionSourceFile: /src/nettle/md2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - md2_transform
    - md2_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void md2_digest(struct md2_ctx *ctx,\n\t   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha384_set_key
      Src: /src/nettle/pbkdf2-hmac-sha384.c:49,1
    - Dst: PBKDF2
      Src: /src/nettle/pbkdf2-hmac-sha384.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - key_length
    - key
    - iterations
    - salt_length
    - salt
    - length
    - dst
    argTypes:
    - size_t
    - uint8_t*
    - unsigned
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: pbkdf2_hmac_sha384
    functionSourceFile: /src/nettle/pbkdf2-hmac-sha384.c
    functionUses: 0
    functionsReached:
    - hmac_sha384_set_key
    - PBKDF2
    linkageType: ''
    returnType: void
    signature: "void pbkdf2_hmac_sha384 (size_t key_length, const uint8_t *key,\n\t\t
      \   unsigned iterations,\n\t\t    size_t salt_length, const uint8_t *salt,\n\t\t
      \   size_t length, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-oaep-encrypt.c:55,1
    - Dst: _oaep_encode_mgf1
      Src: /src/nettle/rsa-oaep-encrypt.c:57,1
    - Dst: mpz_powm
      Src: /src/nettle/rsa-oaep-encrypt.c:63,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/rsa-oaep-encrypt.c:64,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-oaep-encrypt.c:65,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-oaep-encrypt.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 10
    argNames:
    - key
    - random_ctx
    - random
    - hash_ctx
    - hash
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: _rsa_oaep_encrypt
    functionSourceFile: /src/nettle/rsa-oaep-encrypt.c
    functionUses: 0
    functionsReached:
    - mpz_powm
    - nettle_mpz_get_str_256
    - mpz_clear
    - mpz_init
    - _oaep_encode_mgf1
    linkageType: ''
    returnType: int
    signature: "int _rsa_oaep_encrypt (const struct rsa_public_key *key,\n\t\t   void
      *random_ctx, nettle_random_func *random,\n\t\t   void *hash_ctx, const struct
      nettle_hash *hash,\n\t\t   size_t label_length, const uint8_t *label,\n\t\t
      \  size_t length, const uint8_t *message,\n\t\t   uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/rsa-oaep-encrypt.c:82,1
    - Dst: _rsa_oaep_encrypt
      Src: /src/nettle/rsa-oaep-encrypt.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: rsa_oaep_sha256_encrypt
    functionSourceFile: /src/nettle/rsa-oaep-encrypt.c
    functionUses: 0
    functionsReached:
    - sha256_init
    - _rsa_oaep_encrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha256_encrypt (const struct rsa_public_key *key,\n\t\t\t
      void *random_ctx, nettle_random_func *random,\n\t\t\t size_t label_length, const
      uint8_t *label,\n\t\t\t size_t length, const uint8_t *message,\n\t\t\t uint8_t
      *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init
      Src: /src/nettle/rsa-oaep-encrypt.c:101,1
    - Dst: _rsa_oaep_encrypt
      Src: /src/nettle/rsa-oaep-encrypt.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: rsa_oaep_sha384_encrypt
    functionSourceFile: /src/nettle/rsa-oaep-encrypt.c
    functionUses: 0
    functionsReached:
    - sha384_init
    - _rsa_oaep_encrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha384_encrypt (const struct rsa_public_key *key,\n\t\t\t
      void *random_ctx, nettle_random_func *random,\n\t\t\t size_t label_length, const
      uint8_t *label,\n\t\t\t size_t length, const uint8_t *message,\n\t\t\t uint8_t
      *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/rsa-oaep-encrypt.c:120,1
    - Dst: _rsa_oaep_encrypt
      Src: /src/nettle/rsa-oaep-encrypt.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: rsa_oaep_sha512_encrypt
    functionSourceFile: /src/nettle/rsa-oaep-encrypt.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - _rsa_oaep_encrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha512_encrypt (const struct rsa_public_key *key,\n\t\t\t
      void *random_ctx, nettle_random_func *random,\n\t\t\t size_t label_length, const
      uint8_t *label,\n\t\t\t size_t length, const uint8_t *message,\n\t\t\t uint8_t
      *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha1-verify.c:54,1
    - Dst: pkcs1_rsa_sha1_encode
      Src: /src/nettle/rsa-sha1-verify.c:56,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha1-verify.c:57,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha1-verify.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - hash
    - s
    argTypes:
    - struct rsa_public_key*
    - struct sha1_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rsa_sha1_verify
    functionSourceFile: /src/nettle/rsa-sha1-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - _rsa_verify
    - pkcs1_rsa_sha1_encode
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_verify(const struct rsa_public_key *key,\n                struct
      sha1_ctx *hash,\n                const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/rsa-sha1-verify.c:72,1
    - Dst: pkcs1_rsa_sha1_encode_digest
      Src: /src/nettle/rsa-sha1-verify.c:74,1
    - Dst: _rsa_verify
      Src: /src/nettle/rsa-sha1-verify.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-sha1-verify.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - digest
    - s
    argTypes:
    - struct rsa_public_key*
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: rsa_sha1_verify_digest
    functionSourceFile: /src/nettle/rsa-sha1-verify.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - pkcs1_rsa_sha1_encode_digest
    - _rsa_verify
    - mpz_init
    linkageType: ''
    returnType: int
    signature: "int rsa_sha1_verify_digest(const struct rsa_public_key *key,\n\t\t
      \      const uint8_t *digest,\n\t\t       const mpz_t s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_init_realloc
      Src: /src/nettle/buffer-init.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: nettle_buffer_init
    functionSourceFile: /src/nettle/buffer-init.c
    functionUses: 0
    functionsReached:
    - nettle_buffer_init_realloc
    linkageType: ''
    returnType: void
    signature: void nettle_buffer_init(struct nettle_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/umac-nh.c:54,1
    - Dst: assert
      Src: /src/nettle/umac-nh.c:55,1
    - Dst: assert
      Src: /src/nettle/umac-nh.c:56,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:60,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:61,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:63,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:64,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:66,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:67,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:69,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/umac-nh.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - key
    - length
    - msg
    argTypes:
    - uint32_t*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: _nettle_umac_nh
    functionSourceFile: /src/nettle/umac-nh.c
    functionUses: 1
    functionsReached:
    - assert
    - LE_READ_UINT32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _nettle_umac_nh (const uint32_t *key, unsigned length, const
      uint8_t *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READ_UINT64
      Src: /src/nettle/camellia-crypt-internal.c:149,1
    - Dst: READ_UINT64
      Src: /src/nettle/camellia-crypt-internal.c:150,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:157,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:158,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:159,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:160,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:161,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:162,1
    - Dst: CAMELLIA_FL
      Src: /src/nettle/camellia-crypt-internal.c:166,1
    - Dst: CAMELLIA_FLINV
      Src: /src/nettle/camellia-crypt-internal.c:167,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:169,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:170,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:171,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:172,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:173,1
    - Dst: CAMELLIA_ROUNDSM
      Src: /src/nettle/camellia-crypt-internal.c:174,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/camellia-crypt-internal.c:180,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/camellia-crypt-internal.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 6
    argNames:
    - nkeys
    - keys
    - T
    - length
    - dst
    - src
    argTypes:
    - unsigned
    - uint64_t*
    - struct camellia_table*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 183
    functionName: _nettle_camellia_crypt
    functionSourceFile: /src/nettle/camellia-crypt-internal.c
    functionUses: 2
    functionsReached:
    - CAMELLIA_FL
    - CAMELLIA_ROUNDSM
    - CAMELLIA_FLINV
    - WRITE_UINT64
    - READ_UINT64
    linkageType: ''
    returnType: void
    signature: "void _nettle_camellia_crypt(unsigned nkeys,\n\t\t       const uint64_t
      *keys,\n\t\t       const struct camellia_table *T,\n\t\t       size_t length,
      uint8_t *dst,\n\t\t       const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/base64-meta.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: base64_encode_length
    functionSourceFile: /src/nettle/base64-meta.c
    functionUses: 0
    functionsReached:
    - BASE64_ENCODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/base64-meta.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: base64_decode_length
    functionSourceFile: /src/nettle/base64-meta.c
    functionUses: 0
    functionsReached:
    - BASE64_DECODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/hmac-sha256-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_sha256_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-sha256-meta.c
    functionUses: 0
    functionsReached:
    - hmac_sha256_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_sha256_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_encrypt
      Src: /src/nettle/cbc-aes128-encrypt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - length
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cbc_aes128_encrypt
    functionSourceFile: /src/nettle/cbc-aes128-encrypt.c
    functionUses: 1
    functionsReached:
    - cbc_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes128_encrypt(const struct aes128_ctx *ctx, uint8_t *iv,\n\t\t
      \  size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/serpent-set-key.c:303,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-set-key.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - key
    - key_length
    - w
    argTypes:
    - uint8_t*
    - unsigned int
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: serpent_key_pad
    functionSourceFile: /src/nettle/serpent-set-key.c
    functionUses: 0
    functionsReached:
    - assert
    - LE_READ_UINT32
    linkageType: ''
    returnType: void
    signature: "void serpent_key_pad (const uint8_t *key, unsigned int key_length,\n\t\t
      uint32_t *w)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serpent_key_pad
      Src: /src/nettle/serpent-set-key.c:333,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:347,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:350,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:351,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:352,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:353,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:354,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:355,1
    - Dst: KS
      Src: /src/nettle/serpent-set-key.c:356,1
    - Dst: assert
      Src: /src/nettle/serpent-set-key.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct serpent_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: serpent_set_key
    functionSourceFile: /src/nettle/serpent-set-key.c
    functionUses: 0
    functionsReached:
    - KS
    - assert
    - serpent_key_pad
    linkageType: ''
    returnType: void
    signature: "void serpent_set_key (struct serpent_ctx *ctx,\n\t\t size_t length,
      const uint8_t * key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serpent_set_key
      Src: /src/nettle/serpent-set-key.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct serpent_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: serpent128_set_key
    functionSourceFile: /src/nettle/serpent-set-key.c
    functionUses: 0
    functionsReached:
    - serpent_set_key
    linkageType: ''
    returnType: void
    signature: void serpent128_set_key (struct serpent_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serpent_set_key
      Src: /src/nettle/serpent-set-key.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct serpent_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: serpent192_set_key
    functionSourceFile: /src/nettle/serpent-set-key.c
    functionUses: 0
    functionsReached:
    - serpent_set_key
    linkageType: ''
    returnType: void
    signature: void serpent192_set_key (struct serpent_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serpent_set_key
      Src: /src/nettle/serpent-set-key.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct serpent_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: serpent256_set_key
    functionSourceFile: /src/nettle/serpent-set-key.c
    functionUses: 0
    functionsReached:
    - serpent_set_key
    linkageType: ''
    returnType: void
    signature: void serpent256_set_key (struct serpent_ctx *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_size
      Src: /src/nettle/gostdsa-verify.c:49,1
    - Dst: ecc_gostdsa_verify_itch
      Src: /src/nettle/gostdsa-verify.c:50,1
    - Dst: mpz_sgn
      Src: /src/nettle/gostdsa-verify.c:61,1
    - Dst: mpz_size
      Src: /src/nettle/gostdsa-verify.c:61,1
    - Dst: mpz_sgn
      Src: /src/nettle/gostdsa-verify.c:62,1
    - Dst: mpz_size
      Src: /src/nettle/gostdsa-verify.c:62,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/gostdsa-verify.c:65,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/gostdsa-verify.c:67,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/gostdsa-verify.c:68,1
    - Dst: ecc_gostdsa_verify
      Src: /src/nettle/gostdsa-verify.c:70,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/gostdsa-verify.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pub
    - length
    - digest
    - signature
    argTypes:
    - struct ecc_point*
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: gostdsa_verify
    functionSourceFile: /src/nettle/gostdsa-verify.c
    functionUses: 2
    functionsReached:
    - mpz_sgn
    - ecc_gostdsa_verify_itch
    - gmp_free_limbs
    - ecc_size
    - gmp_alloc_limbs
    - mpz_limbs_copy
    - mpz_size
    - ecc_gostdsa_verify
    linkageType: ''
    returnType: int
    signature: "int gostdsa_verify (const struct ecc_point *pub,\n\t      size_t length,
      const uint8_t *digest,\n\t      const struct dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secure_getenv
      Src: /src/nettle/fat-arm.c:72,1
    - Dst: SKIP
      Src: /src/nettle/fat-arm.c:79,1
    - Dst: MATCH
      Src: /src/nettle/fat-arm.c:84,1
    - Dst: fopen
      Src: /src/nettle/fat-arm.c:97,1
    - Dst: fgets
      Src: /src/nettle/fat-arm.c:101,1
    - Dst: strchr
      Src: /src/nettle/fat-arm.c:105,1
    - Dst: strcmp
      Src: /src/nettle/fat-arm.c:114,1
    - Dst: strstr
      Src: /src/nettle/fat-arm.c:116,1
    - Dst: strcmp
      Src: /src/nettle/fat-arm.c:119,1
    - Dst: strcmp
      Src: /src/nettle/fat-arm.c:126,1
    - Dst: fclose
      Src: /src/nettle/fat-arm.c:136,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 1
    argNames:
    - features
    argTypes:
    - struct arm_features*
    constantsTouched: []
    func_position:
      end: 138
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 138
    functionName: get_arm_features
    functionSourceFile: /src/nettle/fat-arm.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - SKIP
    - strchr
    - strstr
    - secure_getenv
    - strcmp
    - MATCH
    - fgets
    linkageType: ''
    returnType: void
    signature: void get_arm_features (struct arm_features *features)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_arm_features
      Src: /src/nettle/fat-arm.c:190,1
    - Dst: getenv
      Src: /src/nettle/fat-arm.c:192,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm.c:194,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm.c:201,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm.c:210,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm.c:219,1
    - Dst: fprintf
      Src: /src/nettle/fat-arm.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 240
    functionName: CONSTRUCTOR
    functionSourceFile: /src/nettle/fat-arm.c
    functionUses: 0
    functionsReached:
    - get_arm_features
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: 'void CONSTRUCTOR

      fat_init (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:87,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:88,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-th.c:89,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-th.c:90,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:91,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-th.c:92,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-th.c:93,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:95,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:97,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:98,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-th.c:100,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:101,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-add-th.c:103,1
    - Dst: ecc_mod_add
      Src: /src/nettle/ecc-add-th.c:104,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-add-th.c:105,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:108,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:111,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-add-th.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 5
    argNames:
    - ecc
    - r
    - p
    - q
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 113
    functionName: ecc_add_th
    functionSourceFile: /src/nettle/ecc-add-th.c
    functionUses: 0
    functionsReached:
    - ecc_mod_sub
    - ecc_mod_add
    - ecc_mod_mul
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_add_th (const struct ecc_curve *ecc,\n\t    mp_limb_t *r,
      const mp_limb_t *p, const mp_limb_t *q,\n\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/yarrow256.c:90,1
    - Dst: sha256_init
      Src: /src/nettle/yarrow256.c:91,1
    - Dst: memset
      Src: /src/nettle/yarrow256.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - n
    - s
    argTypes:
    - struct yarrow256_ctx*
    - unsigned
    - struct yarrow_source*
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: yarrow256_init
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - sha256_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void yarrow256_init(struct yarrow256_ctx *ctx,\n\t       unsigned
      n,\n\t       struct yarrow_source *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/yarrow256.c:115,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:117,1
    - Dst: yarrow256_fast_reseed
      Src: /src/nettle/yarrow256.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - length
    - seed_file
    argTypes:
    - struct yarrow256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: yarrow256_seed
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - assert
    - sha256_update
    - yarrow256_fast_reseed
    linkageType: ''
    returnType: void
    signature: "void yarrow256_seed(struct yarrow256_ctx *ctx,\n\t       size_t length,\n\t
      \      const uint8_t *seed_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_encrypt
      Src: /src/nettle/yarrow256.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - block
    argTypes:
    - struct yarrow256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: yarrow_generate_block
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - aes256_encrypt
    linkageType: ''
    returnType: void
    signature: "void yarrow_generate_block(struct yarrow256_ctx *ctx,\n\t\t      uint8_t
      *block)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/yarrow256.c:151,1
    - Dst: sha256_init
      Src: /src/nettle/yarrow256.c:160,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/yarrow256.c:163,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:164,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:165,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:166,1
    - Dst: sha256_digest
      Src: /src/nettle/yarrow256.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - digest
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: yarrow_iterate
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - sha256_digest
    - sha256_init
    - memcpy
    - WRITE_UINT32
    linkageType: ''
    returnType: void
    signature: void yarrow_iterate(uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/yarrow256.c:182,1
    - Dst: yarrow_generate_block
      Src: /src/nettle/yarrow256.c:191,1
    - Dst: yarrow_generate_block
      Src: /src/nettle/yarrow256.c:192,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:193,1
    - Dst: sha256_digest
      Src: /src/nettle/yarrow256.c:196,1
    - Dst: yarrow_iterate
      Src: /src/nettle/yarrow256.c:199,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/yarrow256.c:201,1
    - Dst: memset
      Src: /src/nettle/yarrow256.c:205,1
    - Dst: aes256_encrypt
      Src: /src/nettle/yarrow256.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow256_ctx*
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: yarrow256_fast_reseed
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 1
    functionsReached:
    - sha256_update
    - yarrow_generate_block
    - sha256_digest
    - yarrow_iterate
    - aes256_set_encrypt_key
    - aes256_encrypt
    - memset
    - fprintf
    linkageType: ''
    returnType: void
    signature: void yarrow256_fast_reseed(struct yarrow256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/yarrow256.c:220,1
    - Dst: sha256_digest
      Src: /src/nettle/yarrow256.c:224,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:227,1
    - Dst: yarrow256_fast_reseed
      Src: /src/nettle/yarrow256.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow256_ctx*
    constantsTouched: []
    func_position:
      end: 234
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 234
    functionName: yarrow256_slow_reseed
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - sha256_digest
    - sha256_update
    - fprintf
    - yarrow256_fast_reseed
    linkageType: ''
    returnType: void
    signature: void yarrow256_slow_reseed(struct yarrow256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/yarrow256.c:244,1
    - Dst: sha256_update
      Src: /src/nettle/yarrow256.c:261,1
    - Dst: fprintf
      Src: /src/nettle/yarrow256.c:285,1
    - Dst: yarrow256_fast_reseed
      Src: /src/nettle/yarrow256.c:292,1
    - Dst: yarrow256_needed_sources
      Src: /src/nettle/yarrow256.c:300,1
    - Dst: yarrow256_slow_reseed
      Src: /src/nettle/yarrow256.c:302,1
    - Dst: abort
      Src: /src/nettle/yarrow256.c:309,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - source_index
    - entropy
    - length
    - data
    argTypes:
    - struct yarrow256_ctx*
    - unsigned
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 311
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 311
    functionName: yarrow256_update
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - sha256_update
    - yarrow256_fast_reseed
    - yarrow256_needed_sources
    - yarrow256_slow_reseed
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int yarrow256_update(struct yarrow256_ctx *ctx,\n\t\t unsigned source_index,
      unsigned entropy,\n\t\t size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yarrow_generate_block
      Src: /src/nettle/yarrow256.c:320,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/yarrow256.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow256_ctx*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: yarrow_gate
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - yarrow_generate_block
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: void yarrow_gate(struct yarrow256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/yarrow256.c:328,1
    - Dst: yarrow_generate_block
      Src: /src/nettle/yarrow256.c:332,1
    - Dst: assert
      Src: /src/nettle/yarrow256.c:340,1
    - Dst: yarrow_generate_block
      Src: /src/nettle/yarrow256.c:341,1
    - Dst: memcpy
      Src: /src/nettle/yarrow256.c:342,1
    - Dst: yarrow_gate
      Src: /src/nettle/yarrow256.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - length
    - dst
    argTypes:
    - struct yarrow256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: yarrow256_random
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - yarrow_generate_block
    - yarrow_gate
    linkageType: ''
    returnType: void
    signature: void yarrow256_random(struct yarrow256_ctx *ctx, size_t length, uint8_t
      *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow256_ctx*
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: yarrow256_is_seeded
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int yarrow256_is_seeded(struct yarrow256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/yarrow256.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct yarrow256_ctx*
    constantsTouched: []
    func_position:
      end: 374
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 374
    functionName: yarrow256_needed_sources
    functionSourceFile: /src/nettle/yarrow256.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: unsigned
    signature: unsigned yarrow256_needed_sources(struct yarrow256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha256.c:77,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha256.c:79,1
    - Dst: sha256_digest
      Src: /src/nettle/pkcs1-rsa-sha256.c:85,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha256.c:86,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha256.c:87,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha256.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - hash
    argTypes:
    - mpz_t
    - size_t
    - struct sha256_ctx*
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: pkcs1_rsa_sha256_encode
    functionSourceFile: /src/nettle/pkcs1-rsa-sha256.c
    functionUses: 3
    functionsReached:
    - nettle_mpz_set_str_256_u
    - sha256_digest
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha256_encode(mpz_t m, size_t key_size, struct sha256_ctx
      *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_GMP_ALLOC
      Src: /src/nettle/pkcs1-rsa-sha256.c:103,1
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/pkcs1-rsa-sha256.c:105,1
    - Dst: memcpy
      Src: /src/nettle/pkcs1-rsa-sha256.c:111,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/pkcs1-rsa-sha256.c:112,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha256.c:113,1
    - Dst: TMP_GMP_FREE
      Src: /src/nettle/pkcs1-rsa-sha256.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - m
    - key_size
    - digest
    argTypes:
    - mpz_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: pkcs1_rsa_sha256_encode_digest
    functionSourceFile: /src/nettle/pkcs1-rsa-sha256.c
    functionUses: 3
    functionsReached:
    - nettle_mpz_set_str_256_u
    - _pkcs1_signature_prefix
    - TMP_GMP_FREE
    - memcpy
    - TMP_GMP_ALLOC
    linkageType: ''
    returnType: int
    signature: int pkcs1_rsa_sha256_encode_digest(mpz_t m, size_t key_size, const
      uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ecc_bit_size
    functionSourceFile: /src/nettle/ecc-size.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ecc_bit_size (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ecc_size
    functionSourceFile: /src/nettle/ecc-size.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_size (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ecc_size_a
    functionSourceFile: /src/nettle/ecc-size.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_size_a (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ecc_size_j
    functionSourceFile: /src/nettle/ecc-size.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_size_j (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: nettle_version_major
    functionSourceFile: /src/nettle/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nettle_version_major (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: nettle_version_minor
    functionSourceFile: /src/nettle/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nettle_version_minor (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/shadata.c:20,1
    - Dst: printf
      Src: /src/nettle/shadata.c:27,1
    - Dst: printf
      Src: /src/nettle/shadata.c:29,1
    - Dst: printf
      Src: /src/nettle/shadata.c:32,1
    - Dst: printf
      Src: /src/nettle/shadata.c:40,1
    - Dst: printf
      Src: /src/nettle/shadata.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 46
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/nettle/shadata.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/dsa.c:46,1
    - Dst: mpz_init
      Src: /src/nettle/dsa.c:47,1
    - Dst: mpz_init
      Src: /src/nettle/dsa.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct dsa_params*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: dsa_params_init
    functionSourceFile: /src/nettle/dsa.c
    functionUses: 3
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void dsa_params_init (struct dsa_params *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/dsa.c:54,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa.c:55,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct dsa_params*
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: dsa_params_clear
    functionSourceFile: /src/nettle/dsa.c
    functionUses: 3
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void dsa_params_clear (struct dsa_params *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/dsa.c:62,1
    - Dst: mpz_init
      Src: /src/nettle/dsa.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signature
    argTypes:
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: dsa_signature_init
    functionSourceFile: /src/nettle/dsa.c
    functionUses: 1
    functionsReached:
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void dsa_signature_init(struct dsa_signature *signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/nettle/dsa.c:69,1
    - Dst: mpz_clear
      Src: /src/nettle/dsa.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signature
    argTypes:
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: dsa_signature_clear
    functionSourceFile: /src/nettle/dsa.c
    functionUses: 1
    functionsReached:
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void dsa_signature_clear(struct dsa_signature *signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ripemd160_set_key
      Src: /src/nettle/hmac-ripemd160-meta.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: hmac_ripemd160_set_key_wrapper
    functionSourceFile: /src/nettle/hmac-ripemd160-meta.c
    functionUses: 0
    functionsReached:
    - hmac_ripemd160_set_key
    linkageType: ''
    returnType: void
    signature: void hmac_ripemd160_set_key_wrapper (void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero_limb
      Src: /src/nettle/ecc-mod-arith.c:58,1
    - Dst: is_zero_limb
      Src: /src/nettle/ecc-mod-arith.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - xp_in
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: ecc_mod_zero_p
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 7
    functionsReached:
    - is_zero_limb
    linkageType: ''
    returnType: int
    signature: int ecc_mod_zero_p (const struct ecc_modulo *m, const mp_limb_t *xp_in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-mod-arith.c:66,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-mod-arith.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - m
    - a
    - ref
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ecc_mod_equal_p
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 1
    functionsReached:
    - ecc_mod_zero_p
    - mpn_sub_n
    linkageType: ''
    returnType: int
    signature: "int ecc_mod_equal_p (const struct ecc_modulo *m, const mp_limb_t *a,\n\t\t
      const mp_limb_t *ref, mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_add_n
      Src: /src/nettle/ecc-mod-arith.c:76,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-arith.c:77,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-arith.c:78,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - bp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: ecc_mod_add
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 16
    functionsReached:
    - assert_maybe
    - mpn_cnd_add_n
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_add (const struct ecc_modulo *m, mp_limb_t *rp,\n\t     const
      mp_limb_t *ap, const mp_limb_t *bp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-mod-arith.c:87,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-mod-arith.c:101,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-mod-arith.c:102,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - bp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: ecc_mod_sub
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 18
    functionsReached:
    - mpn_cnd_sub_n
    - mpn_sub_n
    - assert_maybe
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_sub (const struct ecc_modulo *m, mp_limb_t *rp,\n\t     const
      mp_limb_t *ap, const mp_limb_t *bp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-mod-arith.c:112,1
    - Dst: mpn_mul_1
      Src: /src/nettle/ecc-mod-arith.c:113,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod-arith.c:114,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:115,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-arith.c:116,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - b
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: ecc_mod_mul_1
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 2
    functionsReached:
    - assert
    - mpn_mul_1
    - mpn_cnd_add_n
    - assert_maybe
    - mpn_addmul_1
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_mul_1 (const struct ecc_modulo *m, mp_limb_t *rp,\n\t
      \      const mp_limb_t *ap, mp_limb_t b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-mod-arith.c:127,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod-arith.c:128,1
    - Dst: mpn_addmul_1
      Src: /src/nettle/ecc-mod-arith.c:129,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:130,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-mod-arith.c:131,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - b
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: ecc_mod_addmul_1
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 1
    functionsReached:
    - assert
    - mpn_addmul_1
    - mpn_cnd_add_n
    - assert_maybe
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_addmul_1 (const struct ecc_modulo *m, mp_limb_t *rp,\n\t\t
      \ const mp_limb_t *ap, mp_limb_t b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/ecc-mod-arith.c:142,1
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-mod-arith.c:143,1
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-mod-arith.c:144,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:145,1
    - Dst: mpn_cnd_sub_n
      Src: /src/nettle/ecc-mod-arith.c:146,1
    - Dst: assert_maybe
      Src: /src/nettle/ecc-mod-arith.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - b
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: ecc_mod_submul_1
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 4
    functionsReached:
    - mpn_submul_1
    - assert
    - mpn_cnd_sub_n
    - assert_maybe
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_submul_1 (const struct ecc_modulo *m, mp_limb_t *rp,\n\t\t
      \ const mp_limb_t *ap, mp_limb_t b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_n
      Src: /src/nettle/ecc-mod-arith.c:155,1
    - Dst: struct ecc_modulo*::reduce
      Src: /src/nettle/ecc-mod-arith.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - m
    - rp
    - ap
    - bp
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: ecc_mod_mul
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 29
    functionsReached:
    - struct ecc_modulo*::reduce
    - mpn_mul_n
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_mul (const struct ecc_modulo *m, mp_limb_t *rp,\n\t     const
      mp_limb_t *ap, const mp_limb_t *bp, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sqr
      Src: /src/nettle/ecc-mod-arith.c:163,1
    - Dst: struct ecc_modulo*::reduce
      Src: /src/nettle/ecc-mod-arith.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: ecc_mod_sqr
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 27
    functionsReached:
    - mpn_sqr
    - struct ecc_modulo*::reduce
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_sqr (const struct ecc_modulo *m, mp_limb_t *rp,\n\t     const
      mp_limb_t *ap, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul_n
      Src: /src/nettle/ecc-mod-arith.c:172,1
    - Dst: struct ecc_modulo*::reduce
      Src: /src/nettle/ecc-mod-arith.c:173,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-mod-arith.c:175,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mod-arith.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - m
    - rp
    - ap
    - bp
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: ecc_mod_mul_canonical
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 8
    functionsReached:
    - struct ecc_modulo*::reduce
    - mpn_mul_n
    - mpn_sub_n
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_mul_canonical (const struct ecc_modulo *m, mp_limb_t
      *rp,\n\t\t       const mp_limb_t *ap, const mp_limb_t *bp, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sqr
      Src: /src/nettle/ecc-mod-arith.c:184,1
    - Dst: struct ecc_modulo*::reduce
      Src: /src/nettle/ecc-mod-arith.c:185,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-mod-arith.c:187,1
    - Dst: cnd_copy
      Src: /src/nettle/ecc-mod-arith.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - m
    - rp
    - ap
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: ecc_mod_sqr_canonical
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 1
    functionsReached:
    - mpn_sqr
    - struct ecc_modulo*::reduce
    - mpn_sub_n
    - cnd_copy
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_sqr_canonical (const struct ecc_modulo *m, mp_limb_t
      *rp,\n\t\t       const mp_limb_t *ap, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mod-arith.c:196,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-mod-arith.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - m
    - rp
    - xp
    - k
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: ecc_mod_pow_2k
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 6
    functionsReached:
    - ecc_mod_sqr
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_2k (const struct ecc_modulo *m,\n\t\tmp_limb_t *rp,
      const mp_limb_t *xp,\n\t\tunsigned k, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-mod-arith.c:207,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-mod-arith.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - m
    - rp
    - xp
    - k
    - yp
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - unsigned
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: ecc_mod_pow_2k_mul
    functionSourceFile: /src/nettle/ecc-mod-arith.c
    functionUses: 6
    functionsReached:
    - ecc_mod_pow_2k
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_mod_pow_2k_mul (const struct ecc_modulo *m,\n\t\t    mp_limb_t
      *rp, const mp_limb_t *xp,\n\t\t    unsigned k, const mp_limb_t *yp,\n\t\t    mp_limb_t
      *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: salsa20_128_set_key
      Src: /src/nettle/salsa20-set-key.c:57,1
    - Dst: salsa20_256_set_key
      Src: /src/nettle/salsa20-set-key.c:60,1
    - Dst: abort
      Src: /src/nettle/salsa20-set-key.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - length
    - key
    argTypes:
    - struct salsa20_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: salsa20_set_key
    functionSourceFile: /src/nettle/salsa20-set-key.c
    functionUses: 0
    functionsReached:
    - abort
    - salsa20_256_set_key
    - salsa20_128_set_key
    linkageType: ''
    returnType: void
    signature: "void salsa20_set_key(struct salsa20_ctx *ctx,\n\t\tsize_t length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECC_MUL_M_ITCH
      Src: /src/nettle/curve25519-mul.c:51,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/curve25519-mul.c:52,1
    - Dst: mpn_set_base256_le
      Src: /src/nettle/curve25519-mul.c:56,1
    - Dst: ecc_mul_m
      Src: /src/nettle/curve25519-mul.c:60,1
    - Dst: mpn_get_base256_le
      Src: /src/nettle/curve25519-mul.c:61,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/curve25519-mul.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - q
    - n
    - p
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: curve25519_mul
    functionSourceFile: /src/nettle/curve25519-mul.c
    functionUses: 1
    functionsReached:
    - gmp_free_limbs
    - gmp_alloc_limbs
    - ECC_MUL_M_ITCH
    - mpn_get_base256_le
    - mpn_set_base256_le
    - ecc_mul_m
    linkageType: ''
    returnType: void
    signature: void curve25519_mul (uint8_t *q, const uint8_t *n, const uint8_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_SET_KEY
      Src: /src/nettle/cmac-aes128.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct cmac_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: cmac_aes128_set_key
    functionSourceFile: /src/nettle/cmac-aes128.c
    functionUses: 1
    functionsReached:
    - CMAC128_SET_KEY
    linkageType: ''
    returnType: void
    signature: void cmac_aes128_set_key(struct cmac_aes128_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_UPDATE
      Src: /src/nettle/cmac-aes128.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct cmac_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: cmac_aes128_update
    functionSourceFile: /src/nettle/cmac-aes128.c
    functionUses: 0
    functionsReached:
    - CMAC128_UPDATE
    linkageType: ''
    returnType: void
    signature: "void cmac_aes128_update (struct cmac_aes128_ctx *ctx,\n\t\t   size_t
      length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC128_DIGEST
      Src: /src/nettle/cmac-aes128.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct cmac_aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: cmac_aes128_digest
    functionSourceFile: /src/nettle/cmac-aes128.c
    functionUses: 0
    functionsReached:
    - CMAC128_DIGEST
    linkageType: ''
    returnType: void
    signature: "void cmac_aes128_digest(struct cmac_aes128_ctx *ctx,\n\t\t   uint8_t
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/serpent-encrypt.c:447,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:458,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:459,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:460,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:461,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:465,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:466,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:467,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:468,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:469,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:470,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:471,1
    - Dst: ROUND
      Src: /src/nettle/serpent-encrypt.c:474,1
    - Dst: KEYXOR
      Src: /src/nettle/serpent-encrypt.c:478,1
    - Dst: SBOX7
      Src: /src/nettle/serpent-encrypt.c:479,1
    - Dst: KEYXOR
      Src: /src/nettle/serpent-encrypt.c:480,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:482,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:483,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:484,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:485,1
    - Dst: FOR_BLOCKS
      Src: /src/nettle/serpent-encrypt.c:492,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:497,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:498,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:499,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:500,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:502,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:503,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:504,1
    - Dst: LE_READ_UINT32
      Src: /src/nettle/serpent-encrypt.c:505,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:509,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:510,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:511,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:512,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:513,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:514,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:515,1
    - Dst: ROUND64
      Src: /src/nettle/serpent-encrypt.c:518,1
    - Dst: KEYXOR64
      Src: /src/nettle/serpent-encrypt.c:522,1
    - Dst: SBOX7
      Src: /src/nettle/serpent-encrypt.c:523,1
    - Dst: KEYXOR64
      Src: /src/nettle/serpent-encrypt.c:524,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:526,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:527,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:528,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:529,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:530,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:531,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:532,1
    - Dst: LE_WRITE_UINT32
      Src: /src/nettle/serpent-encrypt.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 4
    argNames:
    - ctx
    - length
    - dst
    - src
    argTypes:
    - struct serpent_ctx*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 536
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 536
    functionName: serpent_encrypt
    functionSourceFile: /src/nettle/serpent-encrypt.c
    functionUses: 0
    functionsReached:
    - assert
    - FOR_BLOCKS
    - KEYXOR
    - LE_READ_UINT32
    - SBOX7
    - LE_WRITE_UINT32
    - ROUND64
    - ROUND
    - KEYXOR64
    linkageType: ''
    returnType: void
    signature: "void serpent_encrypt (const struct serpent_ctx *ctx,\n\t\t size_t
      length, uint8_t * dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha256_compress_n
      Src: /src/nettle/sha256.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - input
    argTypes:
    - uint32_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: sha256_compress
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 0
    functionsReached:
    - _nettle_sha256_compress_n
    linkageType: ''
    returnType: void
    signature: void sha256_compress(uint32_t *state, const uint8_t *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha256.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha256_ctx*
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: sha256_init
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 11
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha256_init(struct sha256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MD_FILL_OR_RETURN
      Src: /src/nettle/sha256.c:114,1
    - Dst: sha256_compress
      Src: /src/nettle/sha256.c:115,1
    - Dst: _nettle_sha256_compress_n
      Src: /src/nettle/sha256.c:120,1
    - Dst: memcpy
      Src: /src/nettle/sha256.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: sha256_update
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 13
    functionsReached:
    - memcpy
    - sha256_compress
    - MD_FILL_OR_RETURN
    - _nettle_sha256_compress_n
    linkageType: ''
    returnType: void
    signature: "void sha256_update(struct sha256_ctx *ctx,\n\t      size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/sha256.c:135,1
    - Dst: MD_PAD
      Src: /src/nettle/sha256.c:137,1
    - Dst: WRITE_UINT64
      Src: /src/nettle/sha256.c:145,1
    - Dst: sha256_compress
      Src: /src/nettle/sha256.c:146,1
    - Dst: _nettle_write_be32
      Src: /src/nettle/sha256.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - length
    - digest
    argTypes:
    - struct sha256_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: sha256_write_digest
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 0
    functionsReached:
    - assert
    - MD_PAD
    - WRITE_UINT64
    - sha256_compress
    - _nettle_write_be32
    linkageType: ''
    returnType: void
    signature: "void sha256_write_digest(struct sha256_ctx *ctx,\n\t\t    size_t length,\n\t\t
      \   uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_write_digest
      Src: /src/nettle/sha256.c:155,1
    - Dst: sha256_init
      Src: /src/nettle/sha256.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: sha256_digest
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 6
    functionsReached:
    - sha256_write_digest
    - sha256_init
    linkageType: ''
    returnType: void
    signature: "void sha256_digest(struct sha256_ctx *ctx,\n\t      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha256.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha256_ctx*
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: sha224_init
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sha224_init(struct sha256_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_write_digest
      Src: /src/nettle/sha256.c:184,1
    - Dst: sha224_init
      Src: /src/nettle/sha256.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha256_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: sha224_digest
    functionSourceFile: /src/nettle/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_write_digest
    - sha224_init
    linkageType: ''
    returnType: void
    signature: "void sha224_digest(struct sha256_ctx *ctx,\n\t      uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base64_decode_ctx*
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: base64_decode_init
    functionSourceFile: /src/nettle/base64-decode.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64_decode_init(struct base64_decode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/base64-decode.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - struct base64_decode_ctx*
    - uint8_t*
    - char
    constantsTouched: []
    func_position:
      end: 118
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionName: base64_decode_single
    functionSourceFile: /src/nettle/base64-decode.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int base64_decode_single(struct base64_decode_ctx *ctx,\n\t\t     uint8_t
      *dst,\n\t\t     char src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_single
      Src: /src/nettle/base64-decode.c:131,1
    - Dst: abort
      Src: /src/nettle/base64-decode.c:141,1
    - Dst: assert
      Src: /src/nettle/base64-decode.c:144,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/base64-decode.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - dst_length
    - dst
    - src_length
    - src
    argTypes:
    - struct base64_decode_ctx*
    - size_t*
    - uint8_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: base64_decode_update
    functionSourceFile: /src/nettle/base64-decode.c
    functionUses: 3
    functionsReached:
    - abort
    - BASE64_DECODE_LENGTH
    - assert
    - base64_decode_single
    linkageType: ''
    returnType: int
    signature: "int base64_decode_update(struct base64_decode_ctx *ctx,\n\t\t     size_t
      *dst_length,\n\t\t     uint8_t *dst,\n\t\t     size_t src_length,\n\t\t     const
      char *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base64_decode_ctx*
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: base64_decode_final
    functionSourceFile: /src/nettle/base64-decode.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base64_decode_final(struct base64_decode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/eax.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - t
    argTypes:
    - union nettle_block16*
    - unsigned
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: omac_init
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void omac_init (union nettle_block16 *state, unsigned t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/eax.c:62,1
    - Dst: memxor
      Src: /src/nettle/eax.c:63,1
    - Dst: f
      Src: /src/nettle/eax.c:68,1
    - Dst: memxor
      Src: /src/nettle/eax.c:69,1
    - Dst: block16_xor
      Src: /src/nettle/eax.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - state
    - key
    - cipher
    - f
    - length
    - data
    argTypes:
    - union nettle_block16*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: omac_update
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - memxor
    - block16_xor
    - f
    linkageType: ''
    returnType: void
    signature: "void omac_update (union nettle_block16 *state, const struct eax_key
      *key,\n\t     const void *cipher, nettle_cipher_func *f,\n\t     size_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block16_xor
      Src: /src/nettle/eax.c:81,1
    - Dst: f
      Src: /src/nettle/eax.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - state
    - key
    - cipher
    - f
    argTypes:
    - union nettle_block16*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: omac_final
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - block16_xor
    - f
    linkageType: ''
    returnType: void
    signature: "void omac_final (union nettle_block16 *state, const struct eax_key
      *key,\n\t    const void *cipher, nettle_cipher_func *f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/eax.c:89,1
    - Dst: block16_mulx_be
      Src: /src/nettle/eax.c:90,1
    - Dst: block16_mulx_be
      Src: /src/nettle/eax.c:91,1
    - Dst: block16_xor
      Src: /src/nettle/eax.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - cipher
    - f
    argTypes:
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: eax_set_key
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - block16_xor
    - f
    - block16_mulx_be
    linkageType: ''
    returnType: void
    signature: void eax_set_key (struct eax_key *key, const void *cipher, nettle_cipher_func
      *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omac_init
      Src: /src/nettle/eax.c:100,1
    - Dst: omac_update
      Src: /src/nettle/eax.c:101,1
    - Dst: omac_final
      Src: /src/nettle/eax.c:102,1
    - Dst: memcpy
      Src: /src/nettle/eax.c:103,1
    - Dst: omac_init
      Src: /src/nettle/eax.c:105,1
    - Dst: omac_init
      Src: /src/nettle/eax.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - eax
    - key
    - cipher
    - f
    - nonce_length
    - nonce
    argTypes:
    - struct eax_ctx*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: eax_set_nonce
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - memcpy
    - omac_final
    - omac_init
    - omac_update
    linkageType: ''
    returnType: void
    signature: "void eax_set_nonce (struct eax_ctx *eax, const struct eax_key *key,\n\t
      \      const void *cipher, nettle_cipher_func *f,\n\t       size_t nonce_length,
      const uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omac_update
      Src: /src/nettle/eax.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - eax
    - key
    - cipher
    - f
    - data_length
    - data
    argTypes:
    - struct eax_ctx*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: eax_update
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - omac_update
    linkageType: ''
    returnType: void
    signature: "void eax_update (struct eax_ctx *eax, const struct eax_key *key,\n\t
      \   const void *cipher, nettle_cipher_func *f,\n\t    size_t data_length, const
      uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr_crypt
      Src: /src/nettle/eax.c:122,1
    - Dst: omac_update
      Src: /src/nettle/eax.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - eax
    - key
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct eax_ctx*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: eax_encrypt
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - omac_update
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void eax_encrypt (struct eax_ctx *eax, const struct eax_key *key,\n\t
      \    const void *cipher, nettle_cipher_func *f,\n\t     size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omac_update
      Src: /src/nettle/eax.c:131,1
    - Dst: ctr_crypt
      Src: /src/nettle/eax.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - eax
    - key
    - cipher
    - f
    - length
    - dst
    - src
    argTypes:
    - struct eax_ctx*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: eax_decrypt
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - omac_update
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void eax_decrypt (struct eax_ctx *eax, const struct eax_key *key,\n\t
      \    const void *cipher, nettle_cipher_func *f,\n\t     size_t length, uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: omac_final
      Src: /src/nettle/eax.c:140,1
    - Dst: omac_final
      Src: /src/nettle/eax.c:141,1
    - Dst: block16_xor
      Src: /src/nettle/eax.c:143,1
    - Dst: memxor3
      Src: /src/nettle/eax.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - eax
    - key
    - cipher
    - f
    - digest
    argTypes:
    - struct eax_ctx*
    - struct eax_key*
    - void*
    - nettle_cipher_func*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: eax_digest
    functionSourceFile: /src/nettle/eax.c
    functionUses: 0
    functionsReached:
    - memxor3
    - omac_final
    - block16_xor
    linkageType: ''
    returnType: void
    signature: "void eax_digest (struct eax_ctx *eax, const struct eax_key *key,\n\t
      \   const void *cipher, nettle_cipher_func *f,\n\t    uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:60,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:64,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:65,1
    - Dst: abort
      Src: /src/nettle/base64-encode.c:69,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:71,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:77,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:78,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:79,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:80,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:82,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - alphabet
    - dst
    - length
    - src
    argTypes:
    - char*
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: encode_raw
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 3
    functionsReached:
    - abort
    - ENCODE
    - assert
    linkageType: ''
    returnType: void
    signature: "void encode_raw(const char *alphabet,\n\t   char *dst, size_t length,
      const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_raw
      Src: /src/nettle/base64-encode.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - length
    - src
    argTypes:
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: base64_encode_raw
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 3
    functionsReached:
    - encode_raw
    linkageType: ''
    returnType: void
    signature: void base64_encode_raw(char *dst, size_t length, const uint8_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:100,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:101,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:102,1
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - group
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: base64_encode_group
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 0
    functionsReached:
    - ENCODE
    linkageType: ''
    returnType: void
    signature: void base64_encode_group(char *dst, uint32_t group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct base64_encode_ctx*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: base64_encode_init
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64_encode_init(struct base64_encode_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:126,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - dst
    - src
    argTypes:
    - struct base64_encode_ctx*
    - char*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: base64_encode_single
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 0
    functionsReached:
    - ENCODE
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t base64_encode_single(struct base64_encode_ctx *ctx,\n\t\t     char
      *dst,\n\t\t     uint8_t src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_single
      Src: /src/nettle/base64-encode.c:153,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:161,1
    - Dst: encode_raw
      Src: /src/nettle/base64-encode.c:163,1
    - Dst: BASE64_ENCODE_RAW_LENGTH
      Src: /src/nettle/base64-encode.c:164,1
    - Dst: base64_encode_single
      Src: /src/nettle/base64-encode.c:172,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:175,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/base64-encode.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - dst
    - length
    - src
    argTypes:
    - struct base64_encode_ctx*
    - char*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 178
    functionName: base64_encode_update
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 1
    functionsReached:
    - assert
    - encode_raw
    - BASE64_ENCODE_LENGTH
    - base64_encode_single
    - BASE64_ENCODE_RAW_LENGTH
    linkageType: ''
    returnType: size_t
    signature: "size_t base64_encode_update(struct base64_encode_ctx *ctx,\n\t\t     char
      *dst,\n\t\t     size_t length,\n\t\t     const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENCODE
      Src: /src/nettle/base64-encode.c:191,1
    - Dst: assert
      Src: /src/nettle/base64-encode.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct base64_encode_ctx*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: base64_encode_final
    functionSourceFile: /src/nettle/base64-encode.c
    functionUses: 1
    functionsReached:
    - ENCODE
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t base64_encode_final(struct base64_encode_ctx *ctx,\n\t\t    char
      *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_raw
      Src: /src/nettle/sexp-transport-format.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - data
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: base64_encode_in_place
    functionSourceFile: /src/nettle/sexp-transport-format.c
    functionUses: 0
    functionsReached:
    - base64_encode_raw
    linkageType: ''
    returnType: void
    signature: void base64_encode_in_place (size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-transport-format.c:59,1
    - Dst: sexp_vformat
      Src: /src/nettle/sexp-transport-format.c:65,1
    - Dst: BASE64_ENCODE_RAW_LENGTH
      Src: /src/nettle/sexp-transport-format.c:70,1
    - Dst: nettle_buffer_space
      Src: /src/nettle/sexp-transport-format.c:74,1
    - Dst: base64_encode_in_place
      Src: /src/nettle/sexp-transport-format.c:77,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/sexp-transport-format.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buffer
    - format
    - args
    argTypes:
    - struct nettle_buffer*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: sexp_transport_vformat
    functionSourceFile: /src/nettle/sexp-transport-format.c
    functionUses: 0
    functionsReached:
    - NETTLE_BUFFER_PUTC
    - nettle_buffer_space
    - base64_encode_in_place
    - BASE64_ENCODE_RAW_LENGTH
    - sexp_vformat
    linkageType: ''
    returnType: size_t
    signature: "size_t sexp_transport_vformat(struct nettle_buffer *buffer,\n\t\t
      \      const char *format, va_list args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/sexp-transport-format.c:93,1
    - Dst: sexp_transport_vformat
      Src: /src/nettle/sexp-transport-format.c:94,1
    - Dst: va_end
      Src: /src/nettle/sexp-transport-format.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - format
    argTypes:
    - struct nettle_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: sexp_transport_format
    functionSourceFile: /src/nettle/sexp-transport-format.c
    functionUses: 0
    functionsReached:
    - va_start
    - sexp_transport_vformat
    - va_end
    linkageType: ''
    returnType: size_t
    signature: "size_t sexp_transport_format(struct nettle_buffer *buffer,\n\t\t      const
      char *format, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_aes_invert
      Src: /src/nettle/aes128-set-decrypt-key.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct aes128_ctx*
    - struct aes128_ctx*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: nettle_aes128_invert_key
    functionSourceFile: /src/nettle/aes128-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - _nettle_aes_invert
    linkageType: ''
    returnType: void
    signature: void nettle_aes128_invert_key (struct aes128_ctx *dst, const struct
      aes128_ctx *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes128_set_encrypt_key
      Src: /src/nettle/aes128-set-decrypt-key.c:66,1
    - Dst: aes128_invert_key
      Src: /src/nettle/aes128-set-decrypt-key.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct aes128_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: nettle_aes128_set_decrypt_key
    functionSourceFile: /src/nettle/aes128-set-decrypt-key.c
    functionUses: 0
    functionsReached:
    - aes128_set_encrypt_key
    - aes128_invert_key
    linkageType: ''
    returnType: void
    signature: void nettle_aes128_set_decrypt_key(struct aes128_ctx *ctx, const uint8_t
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/balloon-sha1.c:49,1
    - Dst: balloon
      Src: /src/nettle/balloon-sha1.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - s_cost
    - t_cost
    - passwd_length
    - passwd
    - salt_length
    - salt
    - scratch
    - dst
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: balloon_sha1
    functionSourceFile: /src/nettle/balloon-sha1.c
    functionUses: 0
    functionsReached:
    - balloon
    - sha1_init
    linkageType: ''
    returnType: void
    signature: "void balloon_sha1(size_t s_cost, size_t t_cost,\n             size_t
      passwd_length, const uint8_t *passwd,\n             size_t salt_length, const
      uint8_t *salt,\n             uint8_t *scratch, uint8_t *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp256r1.c:78,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:79,1
    - Dst: UINT64_C
      Src: /src/nettle/ecc-secp256r1.c:81,1
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-secp256r1.c:127,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:131,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - p
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 136
    functionName: ecc_secp256r1_modp
    functionSourceFile: /src/nettle/ecc-secp256r1.c
    functionUses: 0
    functionsReached:
    - mpn_submul_1
    - mpn_cnd_add_n
    - UINT64_C
    - mpn_sub_n
    linkageType: ''
    returnType: void
    signature: void ecc_secp256r1_modp (const struct ecc_modulo *p, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-secp256r1.c:145,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:146,1
    - Dst: UINT64_C
      Src: /src/nettle/ecc-secp256r1.c:148,1
    - Dst: mpn_submul_1
      Src: /src/nettle/ecc-secp256r1.c:202,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:205,1
    - Dst: mpn_cnd_add_n
      Src: /src/nettle/ecc-secp256r1.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - q
    - rp
    - xp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 210
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 210
    functionName: ecc_secp256r1_modq
    functionSourceFile: /src/nettle/ecc-secp256r1.c
    functionUses: 0
    functionsReached:
    - mpn_submul_1
    - mpn_cnd_add_n
    - UINT64_C
    - mpn_sub_n
    linkageType: ''
    returnType: void
    signature: void ecc_secp256r1_modq (const struct ecc_modulo *q, mp_limb_t *rp,
      mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp256r1.c:248,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp256r1.c:249,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:250,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp256r1.c:251,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp256r1.c:252,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:254,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:255,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp256r1.c:256,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp256r1.c:257,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:258,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:260,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:261,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:262,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:263,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:264,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - p
    - rp
    - ap
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 272
    functionName: ecc_secp256r1_inv
    functionSourceFile: /src/nettle/ecc-secp256r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2k_mul
    - ecc_mod_pow_2kp1
    - ecc_mod_sqr
    - ecc_mod_mul
    linkageType: ''
    returnType: void
    signature: "void ecc_secp256r1_inv (const struct ecc_modulo *p,\n\t\t   mp_limb_t
      *rp, const mp_limb_t *ap,\n\t\t   mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp256r1.c:313,1
    - Dst: ecc_mod_mul
      Src: /src/nettle/ecc-secp256r1.c:314,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:315,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:316,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:317,1
    - Dst: ecc_mod_pow_2kp1
      Src: /src/nettle/ecc-secp256r1.c:318,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:319,1
    - Dst: ecc_mod_pow_2k_mul
      Src: /src/nettle/ecc-secp256r1.c:320,1
    - Dst: ecc_mod_pow_2k
      Src: /src/nettle/ecc-secp256r1.c:321,1
    - Dst: ecc_mod_sqr
      Src: /src/nettle/ecc-secp256r1.c:323,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/ecc-secp256r1.c:324,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/ecc-secp256r1.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - m
    - rp
    - cp
    - scratch
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 330
    functionName: ecc_secp256r1_sqrt
    functionSourceFile: /src/nettle/ecc-secp256r1.c
    functionUses: 0
    functionsReached:
    - ecc_mod_pow_2kp1
    - ecc_mod_zero_p
    - ecc_mod_sqr
    - ecc_mod_pow_2k
    - ecc_mod_sub
    - ecc_mod_mul
    - ecc_mod_pow_2k_mul
    linkageType: ''
    returnType: int
    signature: "int ecc_secp256r1_sqrt (const struct ecc_modulo *m,\n\t\t    mp_limb_t
      *rp,\n\t\t    const mp_limb_t *cp,\n\t\t    mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: nettle_get_secp_256r1
    functionSourceFile: /src/nettle/ecc-secp256r1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ecc_curve
    signature: struct ecc_curve *nettle_get_secp_256r1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_SET_KEY
      Src: /src/nettle/hmac-sm3.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key_length
    - key
    argTypes:
    - struct hmac_sm3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: hmac_sm3_set_key
    functionSourceFile: /src/nettle/hmac-sm3.c
    functionUses: 1
    functionsReached:
    - HMAC_SET_KEY
    linkageType: ''
    returnType: void
    signature: "void hmac_sm3_set_key(struct hmac_sm3_ctx *ctx,\n\t\t size_t key_length,
      const uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm3_update
      Src: /src/nettle/hmac-sm3.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct hmac_sm3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: hmac_sm3_update
    functionSourceFile: /src/nettle/hmac-sm3.c
    functionUses: 0
    functionsReached:
    - sm3_update
    linkageType: ''
    returnType: void
    signature: "void hmac_sm3_update(struct hmac_sm3_ctx *ctx,\n\t\tsize_t length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_DIGEST
      Src: /src/nettle/hmac-sm3.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct hmac_sm3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hmac_sm3_digest
    functionSourceFile: /src/nettle/hmac-sm3.c
    functionUses: 0
    functionsReached:
    - HMAC_DIGEST
    linkageType: ''
    returnType: void
    signature: "void hmac_sm3_digest(struct hmac_sm3_ctx *ctx,\n\t\tuint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_size
      Src: /src/nettle/ecdsa-verify.c:50,1
    - Dst: ecc_ecdsa_verify_itch
      Src: /src/nettle/ecdsa-verify.c:51,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecdsa-verify.c:62,1
    - Dst: mpz_size
      Src: /src/nettle/ecdsa-verify.c:62,1
    - Dst: mpz_sgn
      Src: /src/nettle/ecdsa-verify.c:63,1
    - Dst: mpz_size
      Src: /src/nettle/ecdsa-verify.c:63,1
    - Dst: gmp_alloc_limbs
      Src: /src/nettle/ecdsa-verify.c:66,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/ecdsa-verify.c:68,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/ecdsa-verify.c:69,1
    - Dst: ecc_ecdsa_verify
      Src: /src/nettle/ecdsa-verify.c:71,1
    - Dst: gmp_free_limbs
      Src: /src/nettle/ecdsa-verify.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pub
    - length
    - digest
    - signature
    argTypes:
    - struct ecc_point*
    - size_t
    - uint8_t*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: ecdsa_verify
    functionSourceFile: /src/nettle/ecdsa-verify.c
    functionUses: 2
    functionsReached:
    - mpz_sgn
    - gmp_free_limbs
    - ecc_ecdsa_verify_itch
    - ecc_size
    - gmp_alloc_limbs
    - mpz_limbs_copy
    - ecc_ecdsa_verify
    - mpz_size
    linkageType: ''
    returnType: int
    signature: "int ecdsa_verify (const struct ecc_point *pub,\n\t      size_t length,
      const uint8_t *digest,\n\t      const struct dsa_signature *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_zero_p
      Src: /src/nettle/ecc-gostdsa-verify.c:49,1
    - Dst: mpn_cmp
      Src: /src/nettle/ecc-gostdsa-verify.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ecc
    - xp
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ecdsa_in_range
    functionSourceFile: /src/nettle/ecc-gostdsa-verify.c
    functionUses: 2
    functionsReached:
    - mpn_cmp
    - mpn_zero_p
    linkageType: ''
    returnType: int
    signature: int ecdsa_in_range (const struct ecc_curve *ecc, const mp_limb_t *xp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECC_MUL_A_ITCH
      Src: /src/nettle/ecc-gostdsa-verify.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ecc_gostdsa_verify_itch
    functionSourceFile: /src/nettle/ecc-gostdsa-verify.c
    functionUses: 1
    functionsReached:
    - ECC_MUL_A_ITCH
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t ecc_gostdsa_verify_itch (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_in_range
      Src: /src/nettle/ecc-gostdsa-verify.c:93,1
    - Dst: ecdsa_in_range
      Src: /src/nettle/ecc-gostdsa-verify.c:94,1
    - Dst: _nettle_gostdsa_hash
      Src: /src/nettle/ecc-gostdsa-verify.c:97,1
    - Dst: mpn_zero_p
      Src: /src/nettle/ecc-gostdsa-verify.c:99,1
    - Dst: mpn_add_1
      Src: /src/nettle/ecc-gostdsa-verify.c:100,1
    - Dst: struct ecc_curve*::q::invert
      Src: /src/nettle/ecc-gostdsa-verify.c:103,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-gostdsa-verify.c:106,1
    - Dst: mpn_sub_n
      Src: /src/nettle/ecc-gostdsa-verify.c:109,1
    - Dst: ecc_mod_mul_canonical
      Src: /src/nettle/ecc-gostdsa-verify.c:110,1
    - Dst: ecc_mul_a
      Src: /src/nettle/ecc-gostdsa-verify.c:113,1
    - Dst: ecc_mul_g
      Src: /src/nettle/ecc-gostdsa-verify.c:116,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/ecc-gostdsa-verify.c:119,1
    - Dst: ecc_j_to_a
      Src: /src/nettle/ecc-gostdsa-verify.c:123,1
    - Dst: mpn_cmp
      Src: /src/nettle/ecc-gostdsa-verify.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - ecc
    - pp
    - length
    - digest
    - rp
    - sp
    - scratch
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - size_t
    - uint8_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: ecc_gostdsa_verify
    functionSourceFile: /src/nettle/ecc-gostdsa-verify.c
    functionUses: 1
    functionsReached:
    - ecc_nonsec_add_jjj
    - ecc_mul_g
    - mpn_cmp
    - _nettle_gostdsa_hash
    - ecc_j_to_a
    - struct ecc_curve*::q::invert
    - mpn_zero_p
    - mpn_sub_n
    - ecc_mod_mul_canonical
    - ecc_mul_a
    - mpn_add_1
    - ecdsa_in_range
    linkageType: ''
    returnType: int
    signature: "int ecc_gostdsa_verify (const struct ecc_curve *ecc,\n\t\t  const
      mp_limb_t *pp, /* Public key */\n\t\t  size_t length, const uint8_t *digest,\n\t\t
      \ const mp_limb_t *rp, const mp_limb_t *sp,\n\t\t  mp_limb_t *scratch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LE_WRITE_UINT64
      Src: /src/nettle/write-le64.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: _nettle_write_le64
    functionSourceFile: /src/nettle/write-le64.c
    functionUses: 3
    functionsReached:
    - LE_WRITE_UINT64
    linkageType: ''
    returnType: void
    signature: "void _nettle_write_le64(size_t length, uint8_t *dst,\n\t\t   const
      uint64_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/sha3.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha3_ctx*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: sha3_init
    functionSourceFile: /src/nettle/sha3.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sha3_init (struct sha3_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/sha3.c:67,1
    - Dst: memcpy
      Src: /src/nettle/sha3.c:71,1
    - Dst: nettle_bswap64
      Src: /src/nettle/sha3.c:74,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3.c:77,1
    - Dst: LE_READ_UINT64
      Src: /src/nettle/sha3.c:84,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3.c:87,1
    - Dst: memcpy
      Src: /src/nettle/sha3.c:91,1
    - Dst: memxor
      Src: /src/nettle/sha3.c:101,1
    - Dst: memxor
      Src: /src/nettle/sha3.c:105,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3.c:108,1
    - Dst: memxor
      Src: /src/nettle/sha3.c:112,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3.c:113,1
    - Dst: memxor
      Src: /src/nettle/sha3.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - block_size
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - unsigned
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 118
    functionName: _nettle_sha3_update
    functionSourceFile: /src/nettle/sha3.c
    functionUses: 4
    functionsReached:
    - memxor
    - LE_READ_UINT64
    - sha3_permute
    - nettle_bswap64
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void _nettle_sha3_update (struct sha3_ctx *ctx, unsigned block_size,\n\t\t
      \    size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/sha3.c:128,1
    - Dst: nettle_bswap64
      Src: /src/nettle/sha3.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - block_size
    - magic
    argTypes:
    - struct sha3_ctx*
    - unsigned
    - uint8_t
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: _nettle_sha3_pad
    functionSourceFile: /src/nettle/sha3.c
    functionUses: 2
    functionsReached:
    - nettle_bswap64
    - memset
    linkageType: ''
    returnType: void
    signature: void _nettle_sha3_pad (struct sha3_ctx *ctx, unsigned block_size, uint8_t
      magic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_pad
      Src: /src/nettle/sha3.c:140,1
    - Dst: sha3_permute
      Src: /src/nettle/sha3.c:141,1
    - Dst: _nettle_write_le64
      Src: /src/nettle/sha3.c:142,1
    - Dst: sha3_init
      Src: /src/nettle/sha3.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - block_size
    - digest_size
    - digest
    argTypes:
    - struct sha3_ctx*
    - unsigned
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: _nettle_sha3_digest
    functionSourceFile: /src/nettle/sha3.c
    functionUses: 3
    functionsReached:
    - _nettle_write_le64
    - _nettle_sha3_pad
    - sha3_permute
    - sha3_init
    linkageType: ''
    returnType: void
    signature: "void _nettle_sha3_digest (struct sha3_ctx *ctx, unsigned block_size,\n\t\t
      \    unsigned digest_size, uint8_t *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_update
      Src: /src/nettle/sha3-384.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - length
    - data
    argTypes:
    - struct sha3_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: sha3_384_update
    functionSourceFile: /src/nettle/sha3-384.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_update
    linkageType: ''
    returnType: void
    signature: void sha3_384_update (struct sha3_ctx *ctx, size_t length, const uint8_t
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_sha3_digest
      Src: /src/nettle/sha3-384.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - digest
    argTypes:
    - struct sha3_ctx*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sha3_384_digest
    functionSourceFile: /src/nettle/sha3-384.c
    functionUses: 0
    functionsReached:
    - _nettle_sha3_digest
    linkageType: ''
    returnType: void
    signature: void sha3_384_digest(struct sha3_ctx *ctx, uint8_t *digest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_encrypt
      Src: /src/nettle/cbc-aes192-encrypt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - iv
    - length
    - dst
    - src
    argTypes:
    - struct aes192_ctx*
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cbc_aes192_encrypt
    functionSourceFile: /src/nettle/cbc-aes192-encrypt.c
    functionUses: 1
    functionsReached:
    - cbc_encrypt
    linkageType: ''
    returnType: void
    signature: "void cbc_aes192_encrypt(const struct aes192_ctx *ctx, uint8_t *iv,\n\t\t
      \  size_t length, uint8_t *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/nettle/rsa-keygen.c:78,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/rsa-keygen.c:82,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-keygen.c:86,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-keygen.c:93,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-keygen.c:93,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-keygen.c:93,1
    - Dst: mpz_init
      Src: /src/nettle/rsa-keygen.c:93,1
    - Dst: nettle_random_prime
      Src: /src/nettle/rsa-keygen.c:101,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/rsa-keygen.c:105,1
    - Dst: mpz_gcd
      Src: /src/nettle/rsa-keygen.c:112,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/rsa-keygen.c:114,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:116,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:120,1
    - Dst: nettle_random_prime
      Src: /src/nettle/rsa-keygen.c:125,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/rsa-keygen.c:129,1
    - Dst: mpz_gcd
      Src: /src/nettle/rsa-keygen.c:136,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/rsa-keygen.c:138,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:140,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-keygen.c:144,1
    - Dst: assert
      Src: /src/nettle/rsa-keygen.c:146,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/rsa-keygen.c:146,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:149,1
    - Dst: mpz_invert
      Src: /src/nettle/rsa-keygen.c:152,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:156,1
    - Dst: mpz_mul
      Src: /src/nettle/rsa-keygen.c:159,1
    - Dst: nettle_mpz_random_size
      Src: /src/nettle/rsa-keygen.c:167,1
    - Dst: mpz_setbit
      Src: /src/nettle/rsa-keygen.c:173,1
    - Dst: mpz_setbit
      Src: /src/nettle/rsa-keygen.c:174,1
    - Dst: mpz_invert
      Src: /src/nettle/rsa-keygen.c:177,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:180,1
    - Dst: progress
      Src: /src/nettle/rsa-keygen.c:184,1
    - Dst: assert
      Src: /src/nettle/rsa-keygen.c:191,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-keygen.c:196,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/rsa-keygen.c:199,1
    - Dst: assert
      Src: /src/nettle/rsa-keygen.c:204,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-keygen.c:206,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-keygen.c:206,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-keygen.c:206,1
    - Dst: mpz_clear
      Src: /src/nettle/rsa-keygen.c:206,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 8
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - progress_ctx
    - progress
    - n_size
    - e_size
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - void*
    - nettle_progress_func*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 209
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 209
    functionName: rsa_generate_keypair
    functionSourceFile: /src/nettle/rsa-keygen.c
    functionUses: 1
    functionsReached:
    - mpz_invert
    - assert
    - mpz_mul
    - nettle_random_prime
    - mpz_setbit
    - mpz_sub_ui
    - nettle_mpz_random_size
    - mpz_fdiv_r
    - progress
    - mpz_init
    - mpz_tstbit
    - mpz_gcd
    - mpz_sizeinbase
    - mpz_clear
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int rsa_generate_keypair(struct rsa_public_key *pub,\n\t\t     struct
      rsa_private_key *key,\n\t\t     void *random_ctx, nettle_random_func *random,\n\t\t
      \    void *progress_ctx, nettle_progress_func *progress,\n\t\t     unsigned
      n_size,\n\t\t     unsigned e_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/base64url-meta.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: base64url_encode_length
    functionSourceFile: /src/nettle/base64url-meta.c
    functionUses: 0
    functionsReached:
    - BASE64_ENCODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base64url_encode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/base64url-meta.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: base64url_decode_length
    functionSourceFile: /src/nettle/base64url-meta.c
    functionUses: 0
    functionsReached:
    - BASE64_DECODE_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t base64url_decode_length(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/siv-cmac.c:63,1
    - Dst: cmac128_init
      Src: /src/nettle/siv-cmac.c:65,1
    - Dst: cmac128_update
      Src: /src/nettle/siv-cmac.c:66,1
    - Dst: cmac128_digest
      Src: /src/nettle/siv-cmac.c:67,1
    - Dst: block16_mulx_be
      Src: /src/nettle/siv-cmac.c:69,1
    - Dst: cmac128_update
      Src: /src/nettle/siv-cmac.c:70,1
    - Dst: cmac128_digest
      Src: /src/nettle/siv-cmac.c:71,1
    - Dst: block16_xor
      Src: /src/nettle/siv-cmac.c:72,1
    - Dst: block16_mulx_be
      Src: /src/nettle/siv-cmac.c:74,1
    - Dst: cmac128_update
      Src: /src/nettle/siv-cmac.c:75,1
    - Dst: cmac128_digest
      Src: /src/nettle/siv-cmac.c:76,1
    - Dst: block16_xor
      Src: /src/nettle/siv-cmac.c:77,1
    - Dst: cmac128_update
      Src: /src/nettle/siv-cmac.c:82,1
    - Dst: block16_xor_bytes
      Src: /src/nettle/siv-cmac.c:86,1
    - Dst: block16_mulx_be
      Src: /src/nettle/siv-cmac.c:92,1
    - Dst: memcpy
      Src: /src/nettle/siv-cmac.c:93,1
    - Dst: memset
      Src: /src/nettle/siv-cmac.c:96,1
    - Dst: block16_xor
      Src: /src/nettle/siv-cmac.c:98,1
    - Dst: cmac128_update
      Src: /src/nettle/siv-cmac.c:101,1
    - Dst: cmac128_digest
      Src: /src/nettle/siv-cmac.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 10
    argNames:
    - nc
    - cmac_key
    - cmac_cipher
    - alength
    - adata
    - nlength
    - nonce
    - plength
    - pdata
    - v
    argTypes:
    - struct nettle_cipher*
    - struct cmac128_key*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 103
    functionName: _siv_s2v
    functionSourceFile: /src/nettle/siv-cmac.c
    functionUses: 0
    functionsReached:
    - assert
    - block16_xor
    - block16_mulx_be
    - cmac128_digest
    - cmac128_init
    - cmac128_update
    - memset
    - memcpy
    - block16_xor_bytes
    linkageType: ''
    returnType: void
    signature: "void _siv_s2v (const struct nettle_cipher *nc,\n\t  const struct cmac128_key
      *cmac_key,\n\t  const void *cmac_cipher,\n\t  size_t alength, const uint8_t
      * adata,\n\t  size_t nlength, const uint8_t * nonce,\n\t  size_t plength, const
      uint8_t * pdata, uint8_t * v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/siv-cmac.c:109,1
    - Dst: cmac128_set_key
      Src: /src/nettle/siv-cmac.c:110,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/siv-cmac.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cmac_key
    - cmac_cipher
    - siv_cipher
    - nc
    - key
    argTypes:
    - struct cmac128_key*
    - void*
    - void*
    - struct nettle_cipher*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: siv_cmac_set_key
    functionSourceFile: /src/nettle/siv-cmac.c
    functionUses: 2
    functionsReached:
    - struct nettle_cipher*::set_encrypt_key
    - cmac128_set_key
    linkageType: ''
    returnType: void
    signature: "void siv_cmac_set_key (struct cmac128_key *cmac_key, void *cmac_cipher,
      void *siv_cipher,\n\t\t  const struct nettle_cipher *nc, const uint8_t * key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/siv-cmac.c:126,1
    - Dst: _siv_s2v
      Src: /src/nettle/siv-cmac.c:130,1
    - Dst: memcpy
      Src: /src/nettle/siv-cmac.c:132,1
    - Dst: ctr_crypt
      Src: /src/nettle/siv-cmac.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 11
    argNames:
    - cmac_key
    - cmac_cipher
    - nc
    - ctr_cipher
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct cmac128_key*
    - void*
    - struct nettle_cipher*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: siv_cmac_encrypt_message
    functionSourceFile: /src/nettle/siv-cmac.c
    functionUses: 2
    functionsReached:
    - memcpy
    - assert
    - _siv_s2v
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: "void siv_cmac_encrypt_message (const struct cmac128_key *cmac_key,\n\t\t\t
      \ const void *cmac_cipher,\n\t\t\t  const struct nettle_cipher *nc,\n\t\t\t
      \ const void *ctr_cipher,\n\t\t\t  size_t nlength, const uint8_t * nonce,\n\t\t\t
      \ size_t alength, const uint8_t * adata,\n\t\t\t  size_t clength, uint8_t *
      dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/siv-cmac.c:152,1
    - Dst: ctr_crypt
      Src: /src/nettle/siv-cmac.c:156,1
    - Dst: _siv_s2v
      Src: /src/nettle/siv-cmac.c:160,1
    - Dst: memeql_sec
      Src: /src/nettle/siv-cmac.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 11
    argNames:
    - cmac_key
    - cmac_cipher
    - nc
    - ctr_cipher
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct cmac128_key*
    - void*
    - struct nettle_cipher*
    - void*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: siv_cmac_decrypt_message
    functionSourceFile: /src/nettle/siv-cmac.c
    functionUses: 2
    functionsReached:
    - memcpy
    - _siv_s2v
    - memeql_sec
    - ctr_crypt
    linkageType: ''
    returnType: int
    signature: "int siv_cmac_decrypt_message (const struct cmac128_key *cmac_key,\n\t\t\t
      \ const void *cmac_cipher,\n\t\t\t  const struct nettle_cipher *nc,\n\t\t\t
      \ const void *ctr_cipher,\n\t\t\t  size_t nlength, const uint8_t * nonce,\n\t\t\t
      \ size_t alength, const uint8_t * adata,\n\t\t\t  size_t mlength, uint8_t *
      dst, const uint8_t * src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:70,1
    - Dst: strerror
      Src: /src/nettle/tools/pkcs1-conv.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - f
    argTypes:
    - struct nettle_buffer*
    - FILE*
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: write_file
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - strerror
    - werror
    linkageType: ''
    returnType: int
    signature: int write_file(struct nettle_buffer *buffer, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/nettle/tools/pkcs1-conv.c:83,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/tools/pkcs1-conv.c:85,1
    - Dst: ferror
      Src: /src/nettle/tools/pkcs1-conv.c:91,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:93,1
    - Dst: strerror
      Src: /src/nettle/tools/pkcs1-conv.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - f
    argTypes:
    - struct nettle_buffer*
    - FILE*
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: read_line
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - NETTLE_BUFFER_PUTC
    - getc
    - werror
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int read_line(struct nettle_buffer *buffer, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/nettle/tools/pkcs1-conv.c:106,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/tools/pkcs1-conv.c:107,1
    - Dst: ferror
      Src: /src/nettle/tools/pkcs1-conv.c:110,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:112,1
    - Dst: strerror
      Src: /src/nettle/tools/pkcs1-conv.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - f
    argTypes:
    - struct nettle_buffer*
    - FILE*
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: read_file
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 34
    functionsReached:
    - NETTLE_BUFFER_PUTC
    - getc
    - werror
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int read_file(struct nettle_buffer *buffer, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PEM_IS_SPACE
      Src: /src/nettle/tools/pkcs1-conv.c:145,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:149,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - length
    - line
    - marker_start
    - marker_length
    argTypes:
    - size_t
    - uint8_t*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 160
    functionName: match_pem_start
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - PEM_IS_SPACE
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int match_pem_start(size_t length, const uint8_t *line,\n\t\tsize_t
      *marker_start,\n\t\tsize_t *marker_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PEM_IS_SPACE
      Src: /src/nettle/tools/pkcs1-conv.c:169,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:173,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:174,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - length
    - line
    - marker_length
    - marker
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: match_pem_end
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - PEM_IS_SPACE
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int match_pem_end(size_t length, const uint8_t *line,\n\t      size_t
      marker_length,\n\t      const uint8_t *marker)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:206,1
    - Dst: read_line
      Src: /src/nettle/tools/pkcs1-conv.c:208,1
    - Dst: match_pem_start
      Src: /src/nettle/tools/pkcs1-conv.c:212,1
    - Dst: read_line
      Src: /src/nettle/tools/pkcs1-conv.c:226,1
    - Dst: match_pem_end
      Src: /src/nettle/tools/pkcs1-conv.c:229,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - buffer
    - f
    - info
    argTypes:
    - struct nettle_buffer*
    - FILE*
    - struct pem_info*
    constantsTouched: []
    func_position:
      end: 245
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 245
    functionName: read_pem
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - match_pem_start
    - werror
    - match_pem_end
    - read_line
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: "int read_pem(struct nettle_buffer *buffer, FILE *f,\n\t struct pem_info
      *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_update
      Src: /src/nettle/tools/pkcs1-conv.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - dst_length
    - length
    - data
    argTypes:
    - struct base64_decode_ctx*
    - size_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: base64_decode_in_place
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - base64_decode_update
    linkageType: ''
    returnType: int
    signature: "int base64_decode_in_place (struct base64_decode_ctx *ctx, size_t
      *dst_length,\n\t\t\tsize_t length, uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_init
      Src: /src/nettle/tools/pkcs1-conv.c:261,1
    - Dst: base64_decode_in_place
      Src: /src/nettle/tools/pkcs1-conv.c:264,1
    - Dst: base64_decode_final
      Src: /src/nettle/tools/pkcs1-conv.c:266,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - start
    - length
    argTypes:
    - struct nettle_buffer*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: decode_base64
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - base64_decode_in_place
    - base64_decode_final
    - base64_decode_init
    - werror
    linkageType: ''
    returnType: int
    signature: "int decode_base64(struct nettle_buffer *buffer,\n\t      size_t start,
      size_t *length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_public_key_init
      Src: /src/nettle/tools/pkcs1-conv.c:282,1
    - Dst: rsa_keypair_from_der
      Src: /src/nettle/tools/pkcs1-conv.c:284,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:288,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/tools/pkcs1-conv.c:289,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:293,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/tools/pkcs1-conv.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: convert_rsa_public_key
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - rsa_keypair_from_der
    - rsa_public_key_init
    - rsa_public_key_clear
    - rsa_keypair_to_sexp
    - werror
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: int convert_rsa_public_key(struct nettle_buffer *buffer, size_t length,
      const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_public_key_init
      Src: /src/nettle/tools/pkcs1-conv.c:307,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/tools/pkcs1-conv.c:308,1
    - Dst: rsa_keypair_from_der
      Src: /src/nettle/tools/pkcs1-conv.c:310,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:314,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/tools/pkcs1-conv.c:315,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:319,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/tools/pkcs1-conv.c:322,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/tools/pkcs1-conv.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: convert_rsa_private_key
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - rsa_keypair_from_der
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - rsa_keypair_to_sexp
    - rsa_private_key_init
    - werror
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: int convert_rsa_private_key(struct nettle_buffer *buffer, size_t length,
      const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_params_init
      Src: /src/nettle/tools/pkcs1-conv.c:336,1
    - Dst: mpz_init
      Src: /src/nettle/tools/pkcs1-conv.c:337,1
    - Dst: mpz_init
      Src: /src/nettle/tools/pkcs1-conv.c:338,1
    - Dst: dsa_openssl_private_key_from_der
      Src: /src/nettle/tools/pkcs1-conv.c:340,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:344,1
    - Dst: dsa_keypair_to_sexp
      Src: /src/nettle/tools/pkcs1-conv.c:345,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:349,1
    - Dst: dsa_params_clear
      Src: /src/nettle/tools/pkcs1-conv.c:352,1
    - Dst: mpz_clear
      Src: /src/nettle/tools/pkcs1-conv.c:353,1
    - Dst: mpz_clear
      Src: /src/nettle/tools/pkcs1-conv.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 357
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 357
    functionName: convert_dsa_private_key
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - dsa_params_init
    - dsa_keypair_to_sexp
    - dsa_openssl_private_key_from_der
    - dsa_params_clear
    - werror
    - mpz_init
    - mpz_clear
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: int convert_dsa_private_key(struct nettle_buffer *buffer, size_t length,
      const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asn1_der_iterator_first
      Src: /src/nettle/tools/pkcs1-conv.c:377,1
    - Dst: asn1_der_decode_constructed_last
      Src: /src/nettle/tools/pkcs1-conv.c:379,1
    - Dst: asn1_der_decode_constructed
      Src: /src/nettle/tools/pkcs1-conv.c:383,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/tools/pkcs1-conv.c:385,1
    - Dst: asn1_der_decode_bitstring_last
      Src: /src/nettle/tools/pkcs1-conv.c:389,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:418,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:423,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/tools/pkcs1-conv.c:425,1
    - Dst: asn1_der_decode_constructed_last
      Src: /src/nettle/tools/pkcs1-conv.c:426,1
    - Dst: dsa_params_init
      Src: /src/nettle/tools/pkcs1-conv.c:431,1
    - Dst: mpz_init
      Src: /src/nettle/tools/pkcs1-conv.c:432,1
    - Dst: dsa_params_from_der_iterator
      Src: /src/nettle/tools/pkcs1-conv.c:434,1
    - Dst: dsa_public_key_from_der_iterator
      Src: /src/nettle/tools/pkcs1-conv.c:435,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:437,1
    - Dst: dsa_keypair_to_sexp
      Src: /src/nettle/tools/pkcs1-conv.c:438,1
    - Dst: dsa_params_clear
      Src: /src/nettle/tools/pkcs1-conv.c:441,1
    - Dst: mpz_clear
      Src: /src/nettle/tools/pkcs1-conv.c:442,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:445,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:450,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/tools/pkcs1-conv.c:452,1
    - Dst: asn1_der_iterator_next
      Src: /src/nettle/tools/pkcs1-conv.c:455,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/tools/pkcs1-conv.c:459,1
    - Dst: rsa_public_key_from_der_iterator
      Src: /src/nettle/tools/pkcs1-conv.c:461,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:463,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/tools/pkcs1-conv.c:464,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/tools/pkcs1-conv.c:466,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:469,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:476,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 3
    argNames:
    - buffer
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 479
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 479
    functionName: convert_public_key
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - asn1_der_iterator_next
    - asn1_der_decode_constructed_last
    - rsa_public_key_clear
    - rsa_keypair_to_sexp
    - dsa_params_clear
    - dsa_params_from_der_iterator
    - dsa_public_key_from_der_iterator
    - rsa_public_key_init
    - memcmp
    - dsa_keypair_to_sexp
    - werror
    - asn1_der_decode_bitstring_last
    - rsa_public_key_from_der_iterator
    - asn1_der_iterator_first
    - dsa_params_init
    - asn1_der_decode_constructed
    - mpz_init
    - mpz_clear
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: int convert_public_key(struct nettle_buffer *buffer, size_t length,
      const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/nettle/tools/pkcs1-conv.c:493,1
    - Dst: convert_public_key
      Src: /src/nettle/tools/pkcs1-conv.c:496,1
    - Dst: convert_rsa_public_key
      Src: /src/nettle/tools/pkcs1-conv.c:500,1
    - Dst: convert_rsa_private_key
      Src: /src/nettle/tools/pkcs1-conv.c:504,1
    - Dst: convert_dsa_private_key
      Src: /src/nettle/tools/pkcs1-conv.c:508,1
    - Dst: write_file
      Src: /src/nettle/tools/pkcs1-conv.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - buffer
    - type
    - length
    - data
    argTypes:
    - struct nettle_buffer*
    - enum object_type
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 483
    functionDepth: 7
    functionLinenumber: 483
    functionLinenumberEnd: 516
    functionName: convert_type
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - abort
    - convert_public_key
    - write_file
    - convert_dsa_private_key
    - convert_rsa_private_key
    - convert_rsa_public_key
    linkageType: ''
    returnType: int
    signature: "int convert_type(struct nettle_buffer *buffer,\n\t     enum object_type
      type,\n\t     size_t length, const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/nettle/tools/pkcs1-conv.c:526,1
    - Dst: decode_base64
      Src: /src/nettle/tools/pkcs1-conv.c:527,1
    - Dst: convert_type
      Src: /src/nettle/tools/pkcs1-conv.c:530,1
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/pkcs1-conv.c:544,1
    - Dst: read_pem
      Src: /src/nettle/tools/pkcs1-conv.c:545,1
    - Dst: decode_base64
      Src: /src/nettle/tools/pkcs1-conv.c:556,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:565,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:570,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:575,1
    - Dst: memcmp
      Src: /src/nettle/tools/pkcs1-conv.c:577,1
    - Dst: werror
      Src: /src/nettle/tools/pkcs1-conv.c:583,1
    - Dst: convert_type
      Src: /src/nettle/tools/pkcs1-conv.c:585,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - buffer
    - f
    - type
    - base64
    argTypes:
    - struct nettle_buffer*
    - FILE*
    - enum object_type
    - int
    constantsTouched: []
    func_position:
      end: 591
      start: 518
    functionDepth: 8
    functionLinenumber: 518
    functionLinenumberEnd: 591
    functionName: convert_file
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 0
    functionsReached:
    - convert_type
    - read_pem
    - decode_base64
    - memcmp
    - werror
    - read_file
    - nettle_buffer_reset
    linkageType: ''
    returnType: int
    signature: "int convert_file(struct nettle_buffer *buffer,\n\t     FILE *f,\n\t
      \    enum object_type type,\n\t     int base64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/tools/pkcs1-conv.c:622,1
    - Dst: abort
      Src: /src/nettle/tools/pkcs1-conv.c:627,1
    - Dst: printf
      Src: /src/nettle/tools/pkcs1-conv.c:642,1
    - Dst: printf
      Src: /src/nettle/tools/pkcs1-conv.c:648,1
    - Dst: nettle_buffer_init_realloc
      Src: /src/nettle/tools/pkcs1-conv.c:653,1
    - Dst: convert_file
      Src: /src/nettle/tools/pkcs1-conv.c:657,1
    - Dst: fopen
      Src: /src/nettle/tools/pkcs1-conv.c:667,1
    - Dst: die
      Src: /src/nettle/tools/pkcs1-conv.c:669,1
    - Dst: strerror
      Src: /src/nettle/tools/pkcs1-conv.c:669,1
    - Dst: convert_file
      Src: /src/nettle/tools/pkcs1-conv.c:671,1
    - Dst: fclose
      Src: /src/nettle/tools/pkcs1-conv.c:674,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/tools/pkcs1-conv.c:677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 680
      start: 593
    functionDepth: 9
    functionLinenumber: 593
    functionLinenumberEnd: 680
    functionName: main
    functionSourceFile: /src/nettle/tools/pkcs1-conv.c
    functionUses: 5
    functionsReached:
    - abort
    - fopen
    - die
    - getopt_long
    - fclose
    - nettle_buffer_init_realloc
    - nettle_buffer_clear
    - convert_file
    - printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/tools/nettle-lfib-stream.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: usage
    functionSourceFile: /src/nettle/tools/nettle-lfib-stream.c
    functionUses: 55
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/nettle/tools/nettle-lfib-stream.c:62,1
    - Dst: atoi
      Src: /src/nettle/tools/nettle-lfib-stream.c:66,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-lfib-stream.c:69,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-lfib-stream.c:75,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/tools/nettle-lfib-stream.c:79,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/tools/nettle-lfib-stream.c:84,1
    - Dst: fwrite
      Src: /src/nettle/tools/nettle-lfib-stream.c:86,1
    - Dst: fflush
      Src: /src/nettle/tools/nettle-lfib-stream.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/nettle/tools/nettle-lfib-stream.c
    functionUses: 5
    functionsReached:
    - fwrite
    - knuth_lfib_init
    - time
    - atoi
    - fflush
    - knuth_lfib_random
    - usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:79,1
    - Dst: sexp_put_code_start
      Src: /src/nettle/tools/sexp-conv.c:80,1
    - Dst: sexp_convert_item
      Src: /src/nettle/tools/sexp-conv.c:81,1
    - Dst: sexp_put_code_end
      Src: /src/nettle/tools/sexp-conv.c:82,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:83,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:88,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:90,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:92,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:98,1
    - Dst: sexp_parse
      Src: /src/nettle/tools/sexp-conv.c:101,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:120,1
    - Dst: sexp_put_newline
      Src: /src/nettle/tools/sexp-conv.c:125,1
    - Dst: sexp_convert_item
      Src: /src/nettle/tools/sexp-conv.c:130,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:132,1
    - Dst: sexp_put_string
      Src: /src/nettle/tools/sexp-conv.c:138,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:142,1
    - Dst: sexp_put_string
      Src: /src/nettle/tools/sexp-conv.c:143,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/sexp-conv.c:144,1
    - Dst: sexp_put_string
      Src: /src/nettle/tools/sexp-conv.c:145,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/sexp-conv.c:151,1
    - Dst: sexp_put_soft_newline
      Src: /src/nettle/tools/sexp-conv.c:152,1
    - Dst: abort
      Src: /src/nettle/tools/sexp-conv.c:157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 5
    argNames:
    - parser
    - token
    - output
    - mode_out
    - indent
    argTypes:
    - struct sexp_parser*
    - struct sexp_compound_token*
    - struct sexp_output*
    - enum sexp_mode
    - unsigned
    constantsTouched: []
    func_position:
      end: 159
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 159
    functionName: sexp_convert_item
    functionSourceFile: /src/nettle/tools/sexp-conv.c
    functionUses: 1
    functionsReached:
    - abort
    - die
    - sexp_parse
    - sexp_put_char
    - sexp_put_code_end
    - sexp_put_newline
    - sexp_put_soft_newline
    - sexp_put_string
    - sexp_put_code_start
    - sexp_convert_item
    - sexp_put_data
    linkageType: ''
    returnType: void
    signature: "void sexp_convert_item(struct sexp_parser *parser,\n\t\t  struct sexp_compound_token
      *token,\n\t\t  struct sexp_output *output, enum sexp_mode mode_out,\n\t\t  unsigned
      indent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/sexp-conv.c:220,1
    - Dst: strcmp
      Src: /src/nettle/tools/sexp-conv.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - given
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: match_argument
    functionSourceFile: /src/nettle/tools/sexp-conv.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int match_argument(const char *given, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/tools/sexp-conv.c:265,1
    - Dst: abort
      Src: /src/nettle/tools/sexp-conv.c:270,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:274,1
    - Dst: exit
      Src: /src/nettle/tools/sexp-conv.c:278,1
    - Dst: assert
      Src: /src/nettle/tools/sexp-conv.c:284,1
    - Dst: strtol
      Src: /src/nettle/tools/sexp-conv.c:286,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:288,1
    - Dst: werror
      Src: /src/nettle/tools/sexp-conv.c:295,1
    - Dst: match_argument
      Src: /src/nettle/tools/sexp-conv.c:296,1
    - Dst: match_argument
      Src: /src/nettle/tools/sexp-conv.c:298,1
    - Dst: match_argument
      Src: /src/nettle/tools/sexp-conv.c:300,1
    - Dst: match_argument
      Src: /src/nettle/tools/sexp-conv.c:302,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:308,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:323,1
    - Dst: match_argument
      Src: /src/nettle/tools/sexp-conv.c:326,1
    - Dst: printf
      Src: /src/nettle/tools/sexp-conv.c:339,1
    - Dst: printf
      Src: /src/nettle/tools/sexp-conv.c:349,1
    - Dst: printf
      Src: /src/nettle/tools/sexp-conv.c:350,1
    - Dst: printf
      Src: /src/nettle/tools/sexp-conv.c:352,1
    - Dst: exit
      Src: /src/nettle/tools/sexp-conv.c:364,1
    - Dst: printf
      Src: /src/nettle/tools/sexp-conv.c:367,1
    - Dst: exit
      Src: /src/nettle/tools/sexp-conv.c:368,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 3
    argNames:
    - o
    - argc
    - argv
    argTypes:
    - struct conv_options*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 371
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 371
    functionName: parse_options
    functionSourceFile: /src/nettle/tools/sexp-conv.c
    functionUses: 0
    functionsReached:
    - abort
    - die
    - exit
    - getopt_long
    - assert
    - strtol
    - match_argument
    - werror
    - printf
    linkageType: ''
    returnType: void
    signature: "void parse_options(struct conv_options *o,\n\t      int argc, char
      **argv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/nettle/tools/sexp-conv.c:382,1
    - Dst: sexp_input_init
      Src: /src/nettle/tools/sexp-conv.c:384,1
    - Dst: sexp_parse_init
      Src: /src/nettle/tools/sexp-conv.c:385,1
    - Dst: sexp_compound_token_init
      Src: /src/nettle/tools/sexp-conv.c:386,1
    - Dst: sexp_output_init
      Src: /src/nettle/tools/sexp-conv.c:387,1
    - Dst: memset
      Src: /src/nettle/tools/sexp-conv.c:395,1
    - Dst: fcntl
      Src: /src/nettle/tools/sexp-conv.c:401,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:402,1
    - Dst: strerror
      Src: /src/nettle/tools/sexp-conv.c:402,1
    - Dst: sexp_output_hash_init
      Src: /src/nettle/tools/sexp-conv.c:409,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/sexp-conv.c:412,1
    - Dst: sexp_parse
      Src: /src/nettle/tools/sexp-conv.c:414,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:419,1
    - Dst: sexp_convert_item
      Src: /src/nettle/tools/sexp-conv.c:425,1
    - Dst: sexp_put_digest
      Src: /src/nettle/tools/sexp-conv.c:428,1
    - Dst: sexp_put_newline
      Src: /src/nettle/tools/sexp-conv.c:429,1
    - Dst: sexp_put_newline
      Src: /src/nettle/tools/sexp-conv.c:432,1
    - Dst: sexp_parse
      Src: /src/nettle/tools/sexp-conv.c:434,1
    - Dst: sexp_compound_token_clear
      Src: /src/nettle/tools/sexp-conv.c:438,1
    - Dst: fflush
      Src: /src/nettle/tools/sexp-conv.c:440,1
    - Dst: die
      Src: /src/nettle/tools/sexp-conv.c:441,1
    - Dst: strerror
      Src: /src/nettle/tools/sexp-conv.c:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 444
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/nettle/tools/sexp-conv.c
    functionUses: 5
    functionsReached:
    - die
    - sexp_parse
    - sexp_put_digest
    - sexp_put_newline
    - fcntl
    - sexp_compound_token_clear
    - sexp_compound_token_init
    - sexp_output_init
    - sexp_get_char
    - fflush
    - sexp_convert_item
    - memset
    - sexp_input_init
    - strerror
    - parse_options
    - sexp_output_hash_init
    - sexp_parse_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/tools/misc.c:46,1
    - Dst: vfprintf
      Src: /src/nettle/tools/misc.c:47,1
    - Dst: va_end
      Src: /src/nettle/tools/misc.c:48,1
    - Dst: exit
      Src: /src/nettle/tools/misc.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: die
    functionSourceFile: /src/nettle/tools/misc.c
    functionUses: 20
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/tools/misc.c:57,1
    - Dst: vfprintf
      Src: /src/nettle/tools/misc.c:58,1
    - Dst: va_end
      Src: /src/nettle/tools/misc.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: werror
    functionSourceFile: /src/nettle/tools/misc.c
    functionUses: 11
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void werror(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/tools/misc.c:68,1
    - Dst: abort
      Src: /src/nettle/tools/misc.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: xalloc
    functionSourceFile: /src/nettle/tools/misc.c
    functionUses: 4
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - f
    argTypes:
    - struct sexp_input*
    - FILE*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sexp_input_init
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sexp_input_init(struct sexp_input *input, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/nettle/tools/input.c:57,1
    - Dst: die
      Src: /src/nettle/tools/input.c:58,1
    - Dst: strerror
      Src: /src/nettle/tools/input.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - struct sexp_input*
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: sexp_get_raw_char
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - ferror
    - strerror
    linkageType: ''
    returnType: void
    signature: void sexp_get_raw_char(struct sexp_input *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_get_raw_char
      Src: /src/nettle/tools/input.c:77,1
    - Dst: die
      Src: /src/nettle/tools/input.c:79,1
    - Dst: struct sexp_input*::coding::decode_update
      Src: /src/nettle/tools/input.c:91,1
    - Dst: die
      Src: /src/nettle/tools/input.c:94,1
    - Dst: sexp_get_raw_char
      Src: /src/nettle/tools/input.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - input
    argTypes:
    - struct sexp_input*
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: sexp_get_char
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 1
    functionsReached:
    - die
    - sexp_get_raw_char
    - struct sexp_input*::coding::decode_update
    linkageType: ''
    returnType: void
    signature: void sexp_get_char(struct sexp_input *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:106,1
    - Dst: die
      Src: /src/nettle/tools/input.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - struct sexp_input*
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: sexp_next_char
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - sexp_get_char
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sexp_next_char(struct sexp_input *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/input.c:117,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/tools/input.c:119,1
    - Dst: die
      Src: /src/nettle/tools/input.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - input
    - string
    argTypes:
    - struct sexp_input*
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: sexp_push_char
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - NETTLE_BUFFER_PUTC
    - assert
    linkageType: ''
    returnType: void
    signature: "void sexp_push_char(struct sexp_input *input,\n\t       struct nettle_buffer
      *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/input.c:128,1
    - Dst: struct sexp_input*::coding::decode_init
      Src: /src/nettle/tools/input.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - input
    - coding
    - terminator
    argTypes:
    - struct sexp_input*
    - struct nettle_armor*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: sexp_input_start_coding
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - assert
    - struct sexp_input*::coding::decode_init
    linkageType: ''
    returnType: void
    signature: "void sexp_input_start_coding(struct sexp_input *input,\n\t\t\tconst
      struct nettle_armor *coding,\n\t\t\tuint8_t terminator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/input.c:138,1
    - Dst: struct sexp_input*::coding::decode_final
      Src: /src/nettle/tools/input.c:140,1
    - Dst: die
      Src: /src/nettle/tools/input.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - struct sexp_input*
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: sexp_input_end_coding
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - struct sexp_input*::coding::decode_final
    - assert
    linkageType: ''
    returnType: void
    signature: void sexp_input_end_coding(struct sexp_input *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:151,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:160,1
    - Dst: abort
      Src: /src/nettle/tools/input.c:173,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:175,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:176,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:180,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - input
    argTypes:
    - struct sexp_input*
    constantsTouched: []
    func_position:
      end: 187
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 187
    functionName: sexp_get_quoted_char
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - sexp_next_char
    - abort
    linkageType: ''
    returnType: int
    signature: int sexp_get_quoted_char(struct sexp_input *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/input.c:193,1
    - Dst: assert
      Src: /src/nettle/tools/input.c:194,1
    - Dst: TOKEN_CHAR
      Src: /src/nettle/tools/input.c:196,1
    - Dst: die
      Src: /src/nettle/tools/input.c:197,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:201,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:202,1
    - Dst: TOKEN_CHAR
      Src: /src/nettle/tools/input.c:204,1
    - Dst: assert
      Src: /src/nettle/tools/input.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - string
    argTypes:
    - struct sexp_input*
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 207
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 207
    functionName: sexp_get_token_string
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - assert
    - sexp_push_char
    - sexp_get_char
    - TOKEN_CHAR
    linkageType: ''
    returnType: void
    signature: "void sexp_get_token_string(struct sexp_input *input,\n\t\t      struct
      nettle_buffer *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/input.c:213,1
    - Dst: sexp_get_quoted_char
      Src: /src/nettle/tools/input.c:219,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:220,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:222,1
    - Dst: sexp_input_start_coding
      Src: /src/nettle/tools/input.c:226,1
    - Dst: sexp_input_start_coding
      Src: /src/nettle/tools/input.c:230,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:235,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:239,1
    - Dst: die
      Src: /src/nettle/tools/input.c:242,1
    - Dst: sexp_input_end_coding
      Src: /src/nettle/tools/input.c:244,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:245,1
    - Dst: sexp_get_token_string
      Src: /src/nettle/tools/input.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - input
    - string
    argTypes:
    - struct sexp_input*
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 256
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 256
    functionName: sexp_get_string
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - sexp_push_char
    - sexp_input_end_coding
    - sexp_get_char
    - sexp_get_quoted_char
    - sexp_get_token_string
    - sexp_input_start_coding
    - nettle_buffer_reset
    linkageType: ''
    returnType: void
    signature: "void sexp_get_string(struct sexp_input *input,\n\t\tstruct nettle_buffer
      *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/input.c:264,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:271,1
    - Dst: assert
      Src: /src/nettle/tools/input.c:275,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:279,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:293,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:294,1
    - Dst: die
      Src: /src/nettle/tools/input.c:298,1
    - Dst: sexp_get_quoted_char
      Src: /src/nettle/tools/input.c:305,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:306,1
    - Dst: die
      Src: /src/nettle/tools/input.c:308,1
    - Dst: sexp_get_quoted_char
      Src: /src/nettle/tools/input.c:310,1
    - Dst: die
      Src: /src/nettle/tools/input.c:311,1
    - Dst: sexp_input_start_coding
      Src: /src/nettle/tools/input.c:316,1
    - Dst: sexp_input_start_coding
      Src: /src/nettle/tools/input.c:320,1
    - Dst: sexp_next_char
      Src: /src/nettle/tools/input.c:325,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:326,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:328,1
    - Dst: die
      Src: /src/nettle/tools/input.c:330,1
    - Dst: sexp_input_end_coding
      Src: /src/nettle/tools/input.c:332,1
    - Dst: die
      Src: /src/nettle/tools/input.c:337,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:341,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - input
    - mode
    - string
    argTypes:
    - struct sexp_input*
    - enum sexp_mode
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 342
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 342
    functionName: sexp_get_string_length
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - assert
    - sexp_push_char
    - sexp_input_end_coding
    - sexp_get_char
    - sexp_get_quoted_char
    - sexp_input_start_coding
    - sexp_next_char
    - nettle_buffer_reset
    linkageType: ''
    returnType: void
    signature: "void sexp_get_string_length(struct sexp_input *input, enum sexp_mode
      mode,\n\t\t       struct nettle_buffer *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_reset
      Src: /src/nettle/tools/input.c:347,1
    - Dst: assert
      Src: /src/nettle/tools/input.c:349,1
    - Dst: assert
      Src: /src/nettle/tools/input.c:350,1
    - Dst: sexp_push_char
      Src: /src/nettle/tools/input.c:354,1
    - Dst: sexp_get_raw_char
      Src: /src/nettle/tools/input.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - input
    - string
    argTypes:
    - struct sexp_input*
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: sexp_get_comment
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - sexp_push_char
    - assert
    - sexp_get_raw_char
    - nettle_buffer_reset
    linkageType: ''
    returnType: void
    signature: void sexp_get_comment(struct sexp_input *input, struct nettle_buffer
      *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_input_end_coding
      Src: /src/nettle/tools/input.c:380,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:381,1
    - Dst: sexp_get_string_length
      Src: /src/nettle/tools/input.c:389,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:394,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:399,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:404,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:409,1
    - Dst: die
      Src: /src/nettle/tools/input.c:414,1
    - Dst: sexp_input_start_coding
      Src: /src/nettle/tools/input.c:416,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:417,1
    - Dst: die
      Src: /src/nettle/tools/input.c:428,1
    - Dst: sexp_get_char
      Src: /src/nettle/tools/input.c:430,1
    - Dst: die
      Src: /src/nettle/tools/input.c:435,1
    - Dst: sexp_get_comment
      Src: /src/nettle/tools/input.c:437,1
    - Dst: die
      Src: /src/nettle/tools/input.c:443,1
    - Dst: sexp_get_string
      Src: /src/nettle/tools/input.c:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 3
    argNames:
    - input
    - mode
    - string
    argTypes:
    - struct sexp_input*
    - enum sexp_mode
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 449
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 449
    functionName: sexp_get_token
    functionSourceFile: /src/nettle/tools/input.c
    functionUses: 0
    functionsReached:
    - die
    - sexp_input_end_coding
    - sexp_get_comment
    - sexp_get_char
    - sexp_input_start_coding
    - sexp_get_string_length
    - sexp_get_string
    linkageType: ''
    returnType: void
    signature: "void sexp_get_token(struct sexp_input *input, enum sexp_mode mode,\n\t
      \      struct nettle_buffer *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - output
    - f
    - width
    - prefer_hex
    argTypes:
    - struct sexp_output*
    - FILE*
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: sexp_output_init
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sexp_output_init(struct sexp_output *output, FILE *f,\n\t\t unsigned
      width, int prefer_hex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/tools/output.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - output
    - hash
    - ctx
    argTypes:
    - struct sexp_output*
    - struct nettle_hash*
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: sexp_output_hash_init
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - struct nettle_hash*::init
    linkageType: ''
    returnType: void
    signature: "void sexp_output_hash_init(struct sexp_output *output,\n\t\t      const
      struct nettle_hash *hash, void *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/nettle/tools/output.c:74,1
    - Dst: die
      Src: /src/nettle/tools/output.c:75,1
    - Dst: strerror
      Src: /src/nettle/tools/output.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - output
    - c
    argTypes:
    - struct sexp_output*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: sexp_put_raw_char
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 0
    functionsReached:
    - die
    - strerror
    - putc
    linkageType: ''
    returnType: void
    signature: void sexp_put_raw_char(struct sexp_output *output, uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_raw_char
      Src: /src/nettle/tools/output.c:91,1
    - Dst: sexp_put_raw_char
      Src: /src/nettle/tools/output.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - output
    - indent
    argTypes:
    - struct sexp_output*
    - unsigned
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: sexp_put_newline
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 2
    functionsReached:
    - sexp_put_raw_char
    linkageType: ''
    returnType: void
    signature: "void sexp_put_newline(struct sexp_output *output,\n\t\t unsigned indent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_newline
      Src: /src/nettle/tools/output.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - output
    - indent
    argTypes:
    - struct sexp_output*
    - unsigned
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: sexp_put_soft_newline
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - sexp_put_newline
    linkageType: ''
    returnType: void
    signature: "void sexp_put_soft_newline(struct sexp_output *output,\n\t\t      unsigned
      indent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct sexp_output*::coding::encode_update
      Src: /src/nettle/tools/output.c:122,1
    - Dst: assert
      Src: /src/nettle/tools/output.c:124,1
    - Dst: sexp_put_newline
      Src: /src/nettle/tools/output.c:131,1
    - Dst: sexp_put_raw_char
      Src: /src/nettle/tools/output.c:133,1
    - Dst: struct sexp_output*::hash::update
      Src: /src/nettle/tools/output.c:137,1
    - Dst: sexp_put_raw_char
      Src: /src/nettle/tools/output.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - output
    - c
    argTypes:
    - struct sexp_output*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: sexp_put_char
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - struct sexp_output*::coding::encode_update
    - assert
    - sexp_put_newline
    - sexp_put_raw_char
    - struct sexp_output*::hash::update
    linkageType: ''
    returnType: void
    signature: void sexp_put_char(struct sexp_output *output, uint8_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - output
    - length
    - data
    argTypes:
    - struct sexp_output*
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: sexp_put_data
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - sexp_put_char
    linkageType: ''
    returnType: void
    signature: "void sexp_put_data(struct sexp_output *output,\n\t      unsigned length,
      const uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - struct sexp_output*
    - unsigned
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: sexp_put_length
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 0
    functionsReached:
    - sexp_put_char
    linkageType: ''
    returnType: void
    signature: "void sexp_put_length(struct sexp_output *output, \n\t\tunsigned length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/output.c:174,1
    - Dst: struct sexp_output*::coding::encode_init
      Src: /src/nettle/tools/output.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - output
    - coding
    argTypes:
    - struct sexp_output*
    - struct nettle_armor*
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: sexp_put_code_start
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - assert
    - struct sexp_output*::coding::encode_init
    linkageType: ''
    returnType: void
    signature: "void sexp_put_code_start(struct sexp_output *output,\n\t\t    const
      struct nettle_armor *coding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/tools/output.c:189,1
    - Dst: struct sexp_output*::coding::encode_final
      Src: /src/nettle/tools/output.c:191,1
    - Dst: assert
      Src: /src/nettle/tools/output.c:193,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output
    argTypes:
    - struct sexp_output*
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: sexp_put_code_end
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - assert
    - sexp_put_data
    - struct sexp_output*::coding::encode_final
    linkageType: ''
    returnType: void
    signature: void sexp_put_code_end(struct sexp_output *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:205,1
    - Dst: TOKEN_CHAR
      Src: /src/nettle/tools/output.c:224,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:237,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:241,1
    - Dst: assert
      Src: /src/nettle/tools/output.c:248,1
    - Dst: assert
      Src: /src/nettle/tools/output.c:256,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:259,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:261,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:264,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:282,1
    - Dst: sexp_put_code_start
      Src: /src/nettle/tools/output.c:283,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:284,1
    - Dst: sexp_put_code_end
      Src: /src/nettle/tools/output.c:285,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:286,1
    - Dst: sexp_put_length
      Src: /src/nettle/tools/output.c:292,1
    - Dst: sexp_put_char
      Src: /src/nettle/tools/output.c:293,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:294,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - output
    - mode
    - string
    argTypes:
    - struct sexp_output*
    - enum sexp_mode
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 296
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 296
    functionName: sexp_put_string
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - assert
    - sexp_put_char
    - sexp_put_code_end
    - sexp_put_code_start
    - TOKEN_CHAR
    - sexp_put_length
    - sexp_put_data
    linkageType: ''
    returnType: void
    signature: "void sexp_put_string(struct sexp_output *output, enum sexp_mode mode,\n\t\tstruct
      nettle_buffer *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TMP_ALLOC
      Src: /src/nettle/tools/output.c:302,1
    - Dst: assert
      Src: /src/nettle/tools/output.c:304,1
    - Dst: struct sexp_output*::hash::digest
      Src: /src/nettle/tools/output.c:306,1
    - Dst: sexp_put_code_start
      Src: /src/nettle/tools/output.c:308,1
    - Dst: sexp_put_data
      Src: /src/nettle/tools/output.c:309,1
    - Dst: sexp_put_code_end
      Src: /src/nettle/tools/output.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - struct sexp_output*
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 5
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: sexp_put_digest
    functionSourceFile: /src/nettle/tools/output.c
    functionUses: 1
    functionsReached:
    - assert
    - sexp_put_code_end
    - sexp_put_code_start
    - TMP_ALLOC
    - struct sexp_output*::hash::digest
    - sexp_put_data
    linkageType: ''
    returnType: void
    signature: void sexp_put_digest(struct sexp_output *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_init
      Src: /src/nettle/tools/parse.c:47,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/tools/parse.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct sexp_compound_token*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: sexp_compound_token_init
    functionSourceFile: /src/nettle/tools/parse.c
    functionUses: 1
    functionsReached:
    - nettle_buffer_init
    linkageType: ''
    returnType: void
    signature: void sexp_compound_token_init(struct sexp_compound_token *token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_clear
      Src: /src/nettle/tools/parse.c:54,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/tools/parse.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct sexp_compound_token*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: sexp_compound_token_clear
    functionSourceFile: /src/nettle/tools/parse.c
    functionUses: 1
    functionsReached:
    - nettle_buffer_clear
    linkageType: ''
    returnType: void
    signature: void sexp_compound_token_clear(struct sexp_compound_token *token)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - input
    - mode
    argTypes:
    - struct sexp_parser*
    - struct sexp_input*
    - enum sexp_mode
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: sexp_parse_init
    functionSourceFile: /src/nettle/tools/parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sexp_parse_init(struct sexp_parser *parser,\n\t\tstruct sexp_input
      *input,\n\t\tenum sexp_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_get_token
      Src: /src/nettle/tools/parse.c:80,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - parser
    - token
    - string
    argTypes:
    - struct sexp_parser*
    - enum sexp_token
    - struct nettle_buffer*
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: sexp_check_token
    functionSourceFile: /src/nettle/tools/parse.c
    functionUses: 0
    functionsReached:
    - sexp_get_token
    - die
    linkageType: ''
    returnType: void
    signature: "void sexp_check_token(struct sexp_parser *parser,\n\t\t enum sexp_token
      token,\n\t\t struct nettle_buffer *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sexp_get_token
      Src: /src/nettle/tools/parse.c:101,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:109,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:113,1
    - Dst: sexp_check_token
      Src: /src/nettle/tools/parse.c:120,1
    - Dst: assert
      Src: /src/nettle/tools/parse.c:121,1
    - Dst: assert
      Src: /src/nettle/tools/parse.c:122,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:131,1
    - Dst: sexp_check_token
      Src: /src/nettle/tools/parse.c:142,1
    - Dst: sexp_check_token
      Src: /src/nettle/tools/parse.c:143,1
    - Dst: sexp_check_token
      Src: /src/nettle/tools/parse.c:144,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:159,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:166,1
    - Dst: die
      Src: /src/nettle/tools/parse.c:169,1
    - Dst: abort
      Src: /src/nettle/tools/parse.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 2
    argNames:
    - parser
    - token
    argTypes:
    - struct sexp_parser*
    - struct sexp_compound_token*
    constantsTouched: []
    func_position:
      end: 176
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 176
    functionName: sexp_parse
    functionSourceFile: /src/nettle/tools/parse.c
    functionUses: 2
    functionsReached:
    - abort
    - die
    - assert
    - sexp_get_token
    - sexp_check_token
    linkageType: ''
    returnType: void
    signature: "void sexp_parse(struct sexp_parser *parser,\n\t   struct sexp_compound_token
      *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/tools/nettle-pbkdf2.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: usage
    functionSourceFile: /src/nettle/tools/nettle-pbkdf2.c
    functionUses: 56
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage (FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/tools/nettle-pbkdf2.c:97,1
    - Dst: abort
      Src: /src/nettle/tools/nettle-pbkdf2.c:101,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-pbkdf2.c:103,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-pbkdf2.c:106,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-pbkdf2.c:109,1
    - Dst: atoi
      Src: /src/nettle/tools/nettle-pbkdf2.c:114,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:116,1
    - Dst: atoi
      Src: /src/nettle/tools/nettle-pbkdf2.c:124,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:126,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-pbkdf2.c:142,1
    - Dst: strdup
      Src: /src/nettle/tools/nettle-pbkdf2.c:146,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:148,1
    - Dst: strlen
      Src: /src/nettle/tools/nettle-pbkdf2.c:150,1
    - Dst: base16_decode_init
      Src: /src/nettle/tools/nettle-pbkdf2.c:156,1
    - Dst: base16_decode_update
      Src: /src/nettle/tools/nettle-pbkdf2.c:157,1
    - Dst: base16_decode_final
      Src: /src/nettle/tools/nettle-pbkdf2.c:160,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:161,1
    - Dst: fread
      Src: /src/nettle/tools/nettle-pbkdf2.c:164,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:166,1
    - Dst: ferror
      Src: /src/nettle/tools/nettle-pbkdf2.c:168,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:169,1
    - Dst: strerror
      Src: /src/nettle/tools/nettle-pbkdf2.c:169,1
    - Dst: xalloc
      Src: /src/nettle/tools/nettle-pbkdf2.c:171,1
    - Dst: pbkdf2_hmac_sha256
      Src: /src/nettle/tools/nettle-pbkdf2.c:172,1
    - Dst: free
      Src: /src/nettle/tools/nettle-pbkdf2.c:176,1
    - Dst: fwrite
      Src: /src/nettle/tools/nettle-pbkdf2.c:179,1
    - Dst: base16_encode_update
      Src: /src/nettle/tools/nettle-pbkdf2.c:186,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/tools/nettle-pbkdf2.c:187,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-pbkdf2.c:188,1
    - Dst: base16_encode_update
      Src: /src/nettle/tools/nettle-pbkdf2.c:190,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/tools/nettle-pbkdf2.c:191,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-pbkdf2.c:192,1
    - Dst: free
      Src: /src/nettle/tools/nettle-pbkdf2.c:194,1
    - Dst: fflush
      Src: /src/nettle/tools/nettle-pbkdf2.c:196,1
    - Dst: die
      Src: /src/nettle/tools/nettle-pbkdf2.c:197,1
    - Dst: strerror
      Src: /src/nettle/tools/nettle-pbkdf2.c:197,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 200
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/nettle/tools/nettle-pbkdf2.c
    functionUses: 5
    functionsReached:
    - xalloc
    - base16_encode_update
    - printf
    - ferror
    - BASE16_ENCODE_LENGTH
    - free
    - strerror
    - usage
    - base16_decode_init
    - die
    - getopt_long
    - strlen
    - fread
    - atoi
    - abort
    - strdup
    - fwrite
    - fflush
    - pbkdf2_hmac_sha256
    - base16_decode_final
    - base16_decode_update
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:56,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: list_algorithms
    functionSourceFile: /src/nettle/tools/nettle-hash.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void list_algorithms (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/nettle/tools/nettle-hash.c:71,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/tools/nettle-hash.c:74,1
    - Dst: feof
      Src: /src/nettle/tools/nettle-hash.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hash
    - ctx
    - f
    argTypes:
    - struct nettle_hash*
    - void*
    - FILE*
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: hash_file
    functionSourceFile: /src/nettle/tools/nettle-hash.c
    functionUses: 0
    functionsReached:
    - feof
    - ferror
    - struct nettle_hash*::update
    linkageType: ''
    returnType: int
    signature: int hash_file(const struct nettle_hash *hash, void *ctx, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/tools/nettle-hash.c:87,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/tools/nettle-hash.c:89,1
    - Dst: hash_file
      Src: /src/nettle/tools/nettle-hash.c:91,1
    - Dst: free
      Src: /src/nettle/tools/nettle-hash.c:93,1
    - Dst: xalloc
      Src: /src/nettle/tools/nettle-hash.c:97,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/tools/nettle-hash.c:98,1
    - Dst: free
      Src: /src/nettle/tools/nettle-hash.c:99,1
    - Dst: fwrite
      Src: /src/nettle/tools/nettle-hash.c:102,1
    - Dst: base16_encode_update
      Src: /src/nettle/tools/nettle-hash.c:110,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/tools/nettle-hash.c:111,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:112,1
    - Dst: base16_encode_update
      Src: /src/nettle/tools/nettle-hash.c:114,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/tools/nettle-hash.c:115,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:116,1
    - Dst: free
      Src: /src/nettle/tools/nettle-hash.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - alg
    - digest_length
    - raw
    - f
    argTypes:
    - struct nettle_hash*
    - unsigned
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: digest_file
    functionSourceFile: /src/nettle/tools/nettle-hash.c
    functionUses: 0
    functionsReached:
    - BASE16_ENCODE_LENGTH
    - fwrite
    - free
    - hash_file
    - xalloc
    - struct nettle_hash*::digest
    - base16_encode_update
    - struct nettle_hash*::init
    - printf
    linkageType: ''
    returnType: int
    signature: "int digest_file(const struct nettle_hash *alg,\n\t    unsigned digest_length,
      int raw,\n\t    FILE *f)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/tools/nettle-hash.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: usage
    functionSourceFile: /src/nettle/tools/nettle-hash.c
    functionUses: 57
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage (FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/tools/nettle-hash.c:163,1
    - Dst: abort
      Src: /src/nettle/tools/nettle-hash.c:167,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-hash.c:169,1
    - Dst: usage
      Src: /src/nettle/tools/nettle-hash.c:172,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:175,1
    - Dst: atoi
      Src: /src/nettle/tools/nettle-hash.c:183,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:185,1
    - Dst: list_algorithms
      Src: /src/nettle/tools/nettle-hash.c:193,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:198,1
    - Dst: nettle_lookup_hash
      Src: /src/nettle/tools/nettle-hash.c:201,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:203,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:210,1
    - Dst: digest_file
      Src: /src/nettle/tools/nettle-hash.c:217,1
    - Dst: fopen
      Src: /src/nettle/tools/nettle-hash.c:223,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:225,1
    - Dst: strerror
      Src: /src/nettle/tools/nettle-hash.c:225,1
    - Dst: printf
      Src: /src/nettle/tools/nettle-hash.c:226,1
    - Dst: digest_file
      Src: /src/nettle/tools/nettle-hash.c:227,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:228,1
    - Dst: strerror
      Src: /src/nettle/tools/nettle-hash.c:228,1
    - Dst: fclose
      Src: /src/nettle/tools/nettle-hash.c:229,1
    - Dst: fflush
      Src: /src/nettle/tools/nettle-hash.c:232,1
    - Dst: die
      Src: /src/nettle/tools/nettle-hash.c:233,1
    - Dst: strerror
      Src: /src/nettle/tools/nettle-hash.c:233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 236
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 236
    functionName: main
    functionSourceFile: /src/nettle/tools/nettle-hash.c
    functionUses: 5
    functionsReached:
    - abort
    - die
    - list_algorithms
    - getopt_long
    - fopen
    - fclose
    - atoi
    - fflush
    - digest_file
    - printf
    - nettle_lookup_hash
    - usage
    - strerror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/nettle/examples/read_rsa_key.c:53,1
    - Dst: rsa_keypair_from_sexp
      Src: /src/nettle/examples/read_rsa_key.c:57,1
    - Dst: free
      Src: /src/nettle/examples/read_rsa_key.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - pub
    - priv
    argTypes:
    - char*
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: read_rsa_key
    functionSourceFile: /src/nettle/examples/read_rsa_key.c
    functionUses: 0
    functionsReached:
    - read_file
    - free
    - rsa_keypair_from_sexp
    linkageType: ''
    returnType: int
    signature: "int read_rsa_key(const char *name,\n\t     struct rsa_public_key *pub,\n\t
      \    struct rsa_private_key *priv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/examples/nettle-benchmark.c:124,1
    - Dst: vfprintf
      Src: /src/nettle/examples/nettle-benchmark.c:125,1
    - Dst: va_end
      Src: /src/nettle/examples/nettle-benchmark.c:126,1
    - Dst: exit
      Src: /src/nettle/examples/nettle-benchmark.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: die
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 34
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_start
      Src: /src/nettle/examples/nettle-benchmark.c:144,1
    - Dst: f
      Src: /src/nettle/examples/nettle-benchmark.c:146,1
    - Dst: time_end
      Src: /src/nettle/examples/nettle-benchmark.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: time_function
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 58
    functionsReached:
    - time_start
    - f
    - time_end
    linkageType: ''
    returnType: double
    signature: double time_function(void (*f)(void *arg), void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor
      Src: /src/nettle/examples/nettle-benchmark.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: bench_memxor
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - memxor
    linkageType: ''
    returnType: void
    signature: void bench_memxor(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memxor3
      Src: /src/nettle/examples/nettle-benchmark.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: bench_memxor3
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - memxor3
    linkageType: ''
    returnType: void
    signature: void bench_memxor3(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_hash_info*::update
      Src: /src/nettle/examples/nettle-benchmark.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: bench_hash
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct bench_hash_info*::update
    linkageType: ''
    returnType: void
    signature: void bench_hash(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_cipher_info*::crypt
      Src: /src/nettle/examples/nettle-benchmark.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: bench_cipher
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct bench_cipher_info*::crypt
    linkageType: ''
    returnType: void
    signature: void bench_cipher(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_encrypt
      Src: /src/nettle/examples/nettle-benchmark.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: bench_cbc_encrypt
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - cbc_encrypt
    linkageType: ''
    returnType: void
    signature: void bench_cbc_encrypt(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbc_decrypt
      Src: /src/nettle/examples/nettle-benchmark.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: bench_cbc_decrypt
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - cbc_decrypt
    linkageType: ''
    returnType: void
    signature: void bench_cbc_decrypt(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ctr_crypt
      Src: /src/nettle/examples/nettle-benchmark.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: bench_ctr
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - ctr_crypt
    linkageType: ''
    returnType: void
    signature: void bench_ctr(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_aead_info*::crypt
      Src: /src/nettle/examples/nettle-benchmark.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: bench_aead_crypt
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct bench_aead_info*::crypt
    linkageType: ''
    returnType: void
    signature: void bench_aead_crypt(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_aead_info*::update
      Src: /src/nettle/examples/nettle-benchmark.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: bench_aead_update
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct bench_aead_info*::update
    linkageType: ''
    returnType: void
    signature: void bench_aead_update(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: init_data
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_data(uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - length
    - key
    argTypes:
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: init_key
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_key(unsigned length,\n         uint8_t *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - length
    - nonce
    argTypes:
    - unsigned
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: init_nonce
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_nonce(unsigned length,\n\t   uint8_t *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: header
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 16
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void header(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:311,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:316,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:318,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - name
    - mode
    - block_size
    - time
    argTypes:
    - char*
    - char*
    - unsigned
    - double
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: display
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void display(const char *name, const char *mode, unsigned block_size,\n\tdouble
      time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/nettle/examples/nettle-benchmark.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: xalloc
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 6
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:345,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:346,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:348,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:349,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:353,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:354,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:357,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:358,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:360,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:361,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:363,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: time_memxor
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - time_function
    linkageType: ''
    returnType: void
    signature: void time_memxor(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/nettle-benchmark.c:373,1
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:377,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/examples/nettle-benchmark.c:378,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:380,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:381,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct nettle_hash*
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: time_hash
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - time_function
    - free
    - xalloc
    - init_data
    - struct nettle_hash*::init
    linkageType: ''
    returnType: void
    signature: void time_hash(const struct nettle_hash *hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:398,1
    - Dst: umac32_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:400,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:405,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:406,1
    - Dst: umac64_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:408,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:413,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:414,1
    - Dst: umac96_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:416,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:421,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:422,1
    - Dst: umac128_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:424,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:429,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 431
    functionName: time_umac
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - umac96_set_key
    - time_function
    - umac32_set_key
    - umac64_set_key
    - umac128_set_key
    - init_key
    linkageType: ''
    returnType: void
    signature: void time_umac(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:442,1
    - Dst: cmac_aes128_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:444,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:449,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: time_cmac
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - time_function
    - display
    - cmac_aes128_set_key
    - init_key
    linkageType: ''
    returnType: void
    signature: void time_cmac(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:461,1
    - Dst: poly1305_aes_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:463,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:468,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: time_poly1305_aes
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - time_function
    - poly1305_aes_set_key
    - init_key
    linkageType: ''
    returnType: void
    signature: void time_poly1305_aes(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct bench_hmac_info*::update
      Src: /src/nettle/examples/nettle-benchmark.c:494,1
    - Dst: struct bench_hmac_info*::digest
      Src: /src/nettle/examples/nettle-benchmark.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: bench_hmac
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct bench_hmac_info*::digest
    - struct bench_hmac_info*::update
    linkageType: ''
    returnType: void
    signature: void bench_hmac(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:520,1
    - Dst: hmac_md5_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:523,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:531,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: time_hmac_md5
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - hmac_md5_set_key
    - time_function
    - init_data
    linkageType: ''
    returnType: void
    signature: void time_hmac_md5(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:544,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:547,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:555,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 558
    functionName: time_hmac_sha1
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - hmac_sha1_set_key
    - time_function
    - init_data
    linkageType: ''
    returnType: void
    signature: void time_hmac_sha1(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:568,1
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:571,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:579,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: time_hmac_sha256
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - hmac_sha256_set_key
    - display
    - time_function
    - init_data
    linkageType: ''
    returnType: void
    signature: void time_hmac_sha256(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:592,1
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/examples/nettle-benchmark.c:595,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:603,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 606
    functionName: time_hmac_sha512
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - hmac_sha512_set_key
    - time_function
    - init_data
    linkageType: ''
    returnType: void
    signature: void time_hmac_sha512(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - prefix
    - s
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: prefix_p
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int prefix_p(const char *prefix, const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefix_p
      Src: /src/nettle/examples/nettle-benchmark.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - struct nettle_cipher*
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: block_cipher_p
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - prefix_p
    linkageType: ''
    returnType: int
    signature: int block_cipher_p(const struct nettle_cipher *cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:634,1
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:636,1
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:637,1
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:646,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:647,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:649,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:650,1
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:659,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:660,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:662,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:663,1
    - Dst: block_cipher_p
      Src: /src/nettle/examples/nettle-benchmark.c:666,1
    - Dst: memset
      Src: /src/nettle/examples/nettle-benchmark.c:680,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:682,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:684,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:685,1
    - Dst: memset
      Src: /src/nettle/examples/nettle-benchmark.c:697,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:699,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:701,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:702,1
    - Dst: memset
      Src: /src/nettle/examples/nettle-benchmark.c:704,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:707,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:708,1
    - Dst: memset
      Src: /src/nettle/examples/nettle-benchmark.c:721,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:723,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:725,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:726,1
    - Dst: memset
      Src: /src/nettle/examples/nettle-benchmark.c:728,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:731,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:732,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:735,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:737,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - struct nettle_cipher*
    constantsTouched: []
    func_position:
      end: 739
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 739
    functionName: time_cipher
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - display
    - struct nettle_cipher*::set_decrypt_key
    - time_function
    - free
    - struct nettle_cipher*::set_encrypt_key
    - block_cipher_p
    - memset
    - init_data
    - printf
    - init_key
    linkageType: ''
    returnType: void
    signature: void time_cipher(const struct nettle_cipher *cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:749,1
    - Dst: init_data
      Src: /src/nettle/examples/nettle-benchmark.c:751,1
    - Dst: init_nonce
      Src: /src/nettle/examples/nettle-benchmark.c:753,1
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:762,1
    - Dst: struct nettle_aead*::set_encrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:763,1
    - Dst: struct nettle_aead*::set_nonce
      Src: /src/nettle/examples/nettle-benchmark.c:765,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:767,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:768,1
    - Dst: init_key
      Src: /src/nettle/examples/nettle-benchmark.c:778,1
    - Dst: struct nettle_aead*::set_decrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:779,1
    - Dst: struct nettle_aead*::set_nonce
      Src: /src/nettle/examples/nettle-benchmark.c:781,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:783,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:784,1
    - Dst: struct nettle_aead*::set_encrypt_key
      Src: /src/nettle/examples/nettle-benchmark.c:794,1
    - Dst: struct nettle_aead*::set_nonce
      Src: /src/nettle/examples/nettle-benchmark.c:797,1
    - Dst: display
      Src: /src/nettle/examples/nettle-benchmark.c:799,1
    - Dst: time_function
      Src: /src/nettle/examples/nettle-benchmark.c:800,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:802,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:803,1
    - Dst: free
      Src: /src/nettle/examples/nettle-benchmark.c:804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - aead
    argTypes:
    - struct nettle_aead*
    constantsTouched: []
    func_position:
      end: 805
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 805
    functionName: time_aead
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - struct nettle_aead*::set_nonce
    - display
    - init_nonce
    - time_function
    - free
    - struct nettle_aead*::set_encrypt_key
    - struct nettle_aead*::set_decrypt_key
    - init_data
    - printf
    - init_key
    linkageType: ''
    returnType: void
    signature: void time_aead(const struct nettle_aead *aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: compare_double
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_double(const void *ap, const void *bp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TIME_CYCLES
      Src: /src/nettle/examples/nettle-benchmark.c:851,1
    - Dst: nettle_sha1_compress
      Src: /src/nettle/examples/nettle-benchmark.c:851,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 854
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: bench_sha1_compress
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - TIME_CYCLES
    - printf
    - nettle_sha1_compress
    linkageType: ''
    returnType: void
    signature: void bench_sha1_compress(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TIME_CYCLES
      Src: /src/nettle/examples/nettle-benchmark.c:862,1
    - Dst: _nettle_salsa20_core
      Src: /src/nettle/examples/nettle-benchmark.c:862,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: bench_salsa20_core
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - TIME_CYCLES
    - printf
    - _nettle_salsa20_core
    linkageType: ''
    returnType: void
    signature: void bench_salsa20_core(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TIME_CYCLES
      Src: /src/nettle/examples/nettle-benchmark.c:872,1
    - Dst: sha3_permute
      Src: /src/nettle/examples/nettle-benchmark.c:872,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 874
    functionName: bench_sha3_permute
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - TIME_CYCLES
    - printf
    - sha3_permute
    linkageType: ''
    returnType: void
    signature: void bench_sha3_permute(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TIME_CYCLES
      Src: /src/nettle/examples/nettle-benchmark.c:883,1
    - Dst: _ghash_update
      Src: /src/nettle/examples/nettle-benchmark.c:883,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 885
    functionName: bench_ghash_update
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 0
    functionsReached:
    - TIME_CYCLES
    - printf
    - _ghash_update
    linkageType: ''
    returnType: void
    signature: void bench_ghash_update(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:909,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:910,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:925,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:926,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:927,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:950,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:951,1
    - Dst: OPENSSL
      Src: /src/nettle/examples/nettle-benchmark.c:952,1
    - Dst: getopt_long
      Src: /src/nettle/examples/nettle-benchmark.c:970,1
    - Dst: atof
      Src: /src/nettle/examples/nettle-benchmark.c:974,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:980,1
    - Dst: abort
      Src: /src/nettle/examples/nettle-benchmark.c:987,1
    - Dst: time_init
      Src: /src/nettle/examples/nettle-benchmark.c:990,1
    - Dst: bench_sha1_compress
      Src: /src/nettle/examples/nettle-benchmark.c:991,1
    - Dst: bench_salsa20_core
      Src: /src/nettle/examples/nettle-benchmark.c:992,1
    - Dst: bench_sha3_permute
      Src: /src/nettle/examples/nettle-benchmark.c:993,1
    - Dst: bench_ghash_update
      Src: /src/nettle/examples/nettle-benchmark.c:994,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:995,1
    - Dst: header
      Src: /src/nettle/examples/nettle-benchmark.c:997,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1003,1
    - Dst: time_memxor
      Src: /src/nettle/examples/nettle-benchmark.c:1005,1
    - Dst: printf
      Src: /src/nettle/examples/nettle-benchmark.c:1006,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1010,1
    - Dst: time_hash
      Src: /src/nettle/examples/nettle-benchmark.c:1011,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1013,1
    - Dst: time_umac
      Src: /src/nettle/examples/nettle-benchmark.c:1014,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1016,1
    - Dst: time_cmac
      Src: /src/nettle/examples/nettle-benchmark.c:1017,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1019,1
    - Dst: time_poly1305_aes
      Src: /src/nettle/examples/nettle-benchmark.c:1020,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1023,1
    - Dst: time_cipher
      Src: /src/nettle/examples/nettle-benchmark.c:1024,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1027,1
    - Dst: time_aead
      Src: /src/nettle/examples/nettle-benchmark.c:1028,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1030,1
    - Dst: time_hmac_md5
      Src: /src/nettle/examples/nettle-benchmark.c:1031,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1033,1
    - Dst: time_hmac_sha1
      Src: /src/nettle/examples/nettle-benchmark.c:1034,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1036,1
    - Dst: time_hmac_sha256
      Src: /src/nettle/examples/nettle-benchmark.c:1037,1
    - Dst: strstr
      Src: /src/nettle/examples/nettle-benchmark.c:1039,1
    - Dst: time_hmac_sha512
      Src: /src/nettle/examples/nettle-benchmark.c:1040,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1046
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 1046
    functionName: main
    functionSourceFile: /src/nettle/examples/nettle-benchmark.c
    functionUses: 5
    functionsReached:
    - time_umac
    - bench_sha3_permute
    - time_poly1305_aes
    - time_cmac
    - printf
    - time_aead
    - header
    - bench_sha1_compress
    - bench_ghash_update
    - strstr
    - bench_salsa20_core
    - time_hmac_md5
    - atof
    - getopt_long
    - time_init
    - time_memxor
    - time_hmac_sha1
    - time_hmac_sha512
    - time_hash
    - abort
    - time_cipher
    - OPENSSL
    - time_hmac_sha256
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_init
      Src: /src/nettle/examples/base64enc.c:64,1
    - Dst: _setmode
      Src: /src/nettle/examples/base64enc.c:67,1
    - Dst: fread
      Src: /src/nettle/examples/base64enc.c:78,1
    - Dst: base64_encode_update
      Src: /src/nettle/examples/base64enc.c:81,1
    - Dst: ferror
      Src: /src/nettle/examples/base64enc.c:85,1
    - Dst: werror
      Src: /src/nettle/examples/base64enc.c:87,1
    - Dst: strerror
      Src: /src/nettle/examples/base64enc.c:87,1
    - Dst: base64_encode_final
      Src: /src/nettle/examples/base64enc.c:90,1
    - Dst: write_data
      Src: /src/nettle/examples/base64enc.c:93,1
    - Dst: fflush
      Src: /src/nettle/examples/base64enc.c:94,1
    - Dst: werror
      Src: /src/nettle/examples/base64enc.c:96,1
    - Dst: strerror
      Src: /src/nettle/examples/base64enc.c:96,1
    - Dst: write_data
      Src: /src/nettle/examples/base64enc.c:104,1
    - Dst: werror
      Src: /src/nettle/examples/base64enc.c:106,1
    - Dst: strerror
      Src: /src/nettle/examples/base64enc.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 110
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/nettle/examples/base64enc.c
    functionUses: 5
    functionsReached:
    - base64_encode_update
    - write_data
    - fread
    - _setmode
    - base64_encode_init
    - base64_encode_final
    - fflush
    - werror
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main(int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_init
      Src: /src/nettle/examples/base64dec.c:70,1
    - Dst: _setmode
      Src: /src/nettle/examples/base64dec.c:73,1
    - Dst: fread
      Src: /src/nettle/examples/base64dec.c:81,1
    - Dst: ferror
      Src: /src/nettle/examples/base64dec.c:83,1
    - Dst: werror
      Src: /src/nettle/examples/base64dec.c:85,1
    - Dst: strerror
      Src: /src/nettle/examples/base64dec.c:85,1
    - Dst: base64_decode_update
      Src: /src/nettle/examples/base64dec.c:90,1
    - Dst: werror
      Src: /src/nettle/examples/base64dec.c:92,1
    - Dst: write_data
      Src: /src/nettle/examples/base64dec.c:96,1
    - Dst: werror
      Src: /src/nettle/examples/base64dec.c:98,1
    - Dst: strerror
      Src: /src/nettle/examples/base64dec.c:98,1
    - Dst: base64_decode_final
      Src: /src/nettle/examples/base64dec.c:105,1
    - Dst: werror
      Src: /src/nettle/examples/base64dec.c:107,1
    - Dst: fflush
      Src: /src/nettle/examples/base64dec.c:114,1
    - Dst: werror
      Src: /src/nettle/examples/base64dec.c:116,1
    - Dst: strerror
      Src: /src/nettle/examples/base64dec.c:116,1
    - Dst: free
      Src: /src/nettle/examples/base64dec.c:120,1
    - Dst: free
      Src: /src/nettle/examples/base64dec.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 124
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/nettle/examples/base64dec.c
    functionUses: 5
    functionsReached:
    - base64_decode_init
    - write_data
    - fread
    - base64_decode_final
    - free
    - _setmode
    - base64_decode_update
    - fflush
    - werror
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main(int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/nettle/examples/rsa-verify.c:51,1
    - Dst: mpz_set_str
      Src: /src/nettle/examples/rsa-verify.c:55,1
    - Dst: free
      Src: /src/nettle/examples/rsa-verify.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - s
    argTypes:
    - char*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: read_signature
    functionSourceFile: /src/nettle/examples/rsa-verify.c
    functionUses: 0
    functionsReached:
    - read_file
    - mpz_set_str
    - free
    linkageType: ''
    returnType: int
    signature: int read_signature(const char *name, mpz_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: werror
      Src: /src/nettle/examples/rsa-verify.c:70,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/examples/rsa-verify.c:74,1
    - Dst: read_rsa_key
      Src: /src/nettle/examples/rsa-verify.c:76,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-verify.c:78,1
    - Dst: mpz_init
      Src: /src/nettle/examples/rsa-verify.c:82,1
    - Dst: read_signature
      Src: /src/nettle/examples/rsa-verify.c:84,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-verify.c:86,1
    - Dst: sha1_init
      Src: /src/nettle/examples/rsa-verify.c:91,1
    - Dst: hash_file
      Src: /src/nettle/examples/rsa-verify.c:92,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-verify.c:94,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-verify.c:95,1
    - Dst: rsa_sha1_verify
      Src: /src/nettle/examples/rsa-verify.c:99,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-verify.c:101,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/rsa-verify.c:105,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/examples/rsa-verify.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 109
      start: 61
    functionDepth: 8
    functionLinenumber: 61
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/nettle/examples/rsa-verify.c
    functionUses: 5
    functionsReached:
    - rsa_public_key_init
    - rsa_public_key_clear
    - read_signature
    - sha1_init
    - read_rsa_key
    - hash_file
    - werror
    - mpz_init
    - mpz_clear
    - strerror
    - rsa_sha1_verify
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/examples/timing.c:53,1
    - Dst: vfprintf
      Src: /src/nettle/examples/timing.c:54,1
    - Dst: va_end
      Src: /src/nettle/examples/timing.c:55,1
    - Dst: exit
      Src: /src/nettle/examples/timing.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: die
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 35
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/nettle/examples/timing.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: cgt_works_p
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int cgt_works_p(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/nettle/examples/timing.c:70,1
    - Dst: die
      Src: /src/nettle/examples/timing.c:71,1
    - Dst: strerror
      Src: /src/nettle/examples/timing.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: cgt_time_start
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 0
    functionsReached:
    - die
    - clock_gettime
    - strerror
    linkageType: ''
    returnType: void
    signature: void cgt_time_start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/nettle/examples/timing.c:78,1
    - Dst: die
      Src: /src/nettle/examples/timing.c:79,1
    - Dst: strerror
      Src: /src/nettle/examples/timing.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: cgt_time_end
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 0
    functionsReached:
    - die
    - clock_gettime
    - strerror
    linkageType: ''
    returnType: double
    signature: double cgt_time_end(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/nettle/examples/timing.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: clock_time_start
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 0
    functionsReached:
    - clock
    linkageType: ''
    returnType: void
    signature: void clock_time_start(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/nettle/examples/timing.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: clock_time_end
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 0
    functionsReached:
    - clock
    linkageType: ''
    returnType: double
    signature: double clock_time_end(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cgt_works_p
      Src: /src/nettle/examples/timing.c:107,1
    - Dst: fprintf
      Src: /src/nettle/examples/timing.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: time_init
    functionSourceFile: /src/nettle/examples/timing.c
    functionUses: 10
    functionsReached:
    - cgt_works_p
    - fprintf
    linkageType: ''
    returnType: void
    signature: void time_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/nettle/examples/nettle-openssl.c:71,1
    - Dst: EVP_CipherInit_ex
      Src: /src/nettle/examples/nettle-openssl.c:72,1
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:73,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/nettle/examples/nettle-openssl.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - key
    - cipher
    argTypes:
    - void*
    - uint8_t*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: openssl_evp_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_new
    - assert
    - EVP_CIPHER_CTX_set_padding
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_set_encrypt_key(void *p, const uint8_t *key,\n\t\t\t
      \   const EVP_CIPHER *cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/nettle/examples/nettle-openssl.c:82,1
    - Dst: EVP_CipherInit_ex
      Src: /src/nettle/examples/nettle-openssl.c:83,1
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:84,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/nettle/examples/nettle-openssl.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - key
    - cipher
    argTypes:
    - void*
    - uint8_t*
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: openssl_evp_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_new
    - assert
    - EVP_CIPHER_CTX_set_padding
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_set_decrypt_key(void *p, const uint8_t *key,\n\t\t\t
      \   const EVP_CIPHER *cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: openssl_evp_encrypt
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_encrypt(const void *p, size_t length,\n\t\t    uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: openssl_evp_decrypt
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_decrypt(const void *p, size_t length,\n\t\t    uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - nonce
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: openssl_evp_set_nonce
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void openssl_evp_set_nonce(void *p, const uint8_t *nonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - length
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: openssl_evp_update
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void openssl_evp_update(void *p, size_t length, const uint8_t *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dst
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: openssl_evp_gcm_digest
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void openssl_evp_gcm_digest(void *p, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: openssl_evp_aead_encrypt
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_aead_encrypt(void *p, size_t length,\n\t\t\t uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/examples/nettle-openssl.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - length
    - dst
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: openssl_evp_aead_decrypt
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void openssl_evp_aead_decrypt(void *p, size_t length,\n\t\t\t uint8_t
      *dst, const uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:164,1
    - Dst: EVP_aes_128_ecb
      Src: /src/nettle/examples/nettle-openssl.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: openssl_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_128_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes128_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:169,1
    - Dst: EVP_aes_128_ecb
      Src: /src/nettle/examples/nettle-openssl.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: openssl_aes128_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_decrypt_key
    - EVP_aes_128_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes128_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:175,1
    - Dst: EVP_aes_192_ecb
      Src: /src/nettle/examples/nettle-openssl.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: openssl_aes192_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_192_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes192_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:180,1
    - Dst: EVP_aes_192_ecb
      Src: /src/nettle/examples/nettle-openssl.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: openssl_aes192_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_decrypt_key
    - EVP_aes_192_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes192_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:186,1
    - Dst: EVP_aes_256_ecb
      Src: /src/nettle/examples/nettle-openssl.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: openssl_aes256_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_256_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes256_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:191,1
    - Dst: EVP_aes_256_ecb
      Src: /src/nettle/examples/nettle-openssl.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: openssl_aes256_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_decrypt_key
    - EVP_aes_256_ecb
    linkageType: ''
    returnType: void
    signature: void openssl_aes256_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:222,1
    - Dst: EVP_aes_128_gcm
      Src: /src/nettle/examples/nettle-openssl.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: openssl_gcm_aes128_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes128_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:227,1
    - Dst: EVP_aes_128_gcm
      Src: /src/nettle/examples/nettle-openssl.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: openssl_gcm_aes128_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_gcm
    - openssl_evp_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes128_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:233,1
    - Dst: EVP_aes_192_gcm
      Src: /src/nettle/examples/nettle-openssl.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: openssl_gcm_aes192_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_192_gcm
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes192_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:238,1
    - Dst: EVP_aes_192_gcm
      Src: /src/nettle/examples/nettle-openssl.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: openssl_gcm_aes192_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_decrypt_key
    - EVP_aes_192_gcm
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes192_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_encrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:244,1
    - Dst: EVP_aes_256_gcm
      Src: /src/nettle/examples/nettle-openssl.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: openssl_gcm_aes256_set_encrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_encrypt_key
    - EVP_aes_256_gcm
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes256_set_encrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_evp_set_decrypt_key
      Src: /src/nettle/examples/nettle-openssl.c:249,1
    - Dst: EVP_aes_256_gcm
      Src: /src/nettle/examples/nettle-openssl.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: openssl_gcm_aes256_set_decrypt_key
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - openssl_evp_set_decrypt_key
    - EVP_aes_256_gcm
    linkageType: ''
    returnType: void
    signature: void openssl_gcm_aes256_set_decrypt_key(void *ctx, const uint8_t *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/nettle/examples/nettle-openssl.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - length
    - src
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: openssl_hash_update
    functionSourceFile: /src/nettle/examples/nettle-openssl.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void openssl_hash_update(void *p,\n\t\t    size_t length,\n\t\t    const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/examples/io.c:58,1
    - Dst: abort
      Src: /src/nettle/examples/io.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: xalloc
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 7
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/examples/io.c:71,1
    - Dst: vfprintf
      Src: /src/nettle/examples/io.c:72,1
    - Dst: va_end
      Src: /src/nettle/examples/io.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: werror
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 14
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void werror(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/nettle/examples/io.c:84,1
    - Dst: werror
      Src: /src/nettle/examples/io.c:87,1
    - Dst: strerror
      Src: /src/nettle/examples/io.c:87,1
    - Dst: realloc
      Src: /src/nettle/examples/io.c:101,1
    - Dst: fclose
      Src: /src/nettle/examples/io.c:106,1
    - Dst: free
      Src: /src/nettle/examples/io.c:107,1
    - Dst: fread
      Src: /src/nettle/examples/io.c:113,1
    - Dst: ferror
      Src: /src/nettle/examples/io.c:118,1
    - Dst: fprintf
      Src: /src/nettle/examples/io.c:120,1
    - Dst: strerror
      Src: /src/nettle/examples/io.c:121,1
    - Dst: fclose
      Src: /src/nettle/examples/io.c:136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - name
    - max_size
    - contents
    argTypes:
    - char*
    - size_t
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 143
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 143
    functionName: read_file
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 37
    functionsReached:
    - fopen
    - fclose
    - fread
    - free
    - werror
    - strerror
    - ferror
    - fprintf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t read_file(const char *name, size_t max_size, uint8_t **contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - size
    - buffer
    argTypes:
    - FILE*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: write_data
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int write_data(FILE *f, size_t size, const void *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/nettle/examples/io.c:156,1
    - Dst: write_data
      Src: /src/nettle/examples/io.c:162,1
    - Dst: fclose
      Src: /src/nettle/examples/io.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - name
    - size
    - buffer
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: write_file
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - write_data
    linkageType: ''
    returnType: int
    signature: int write_file(const char *name, size_t size, const void *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/nettle/examples/io.c:173,1
    - Dst: read_file
      Src: /src/nettle/examples/io.c:175,1
    - Dst: yarrow256_seed
      Src: /src/nettle/examples/io.c:180,1
    - Dst: free
      Src: /src/nettle/examples/io.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct yarrow256_ctx*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: simple_random
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 0
    functionsReached:
    - read_file
    - free
    - yarrow256_seed
    linkageType: ''
    returnType: int
    signature: int simple_random(struct yarrow256_ctx *ctx, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/nettle/examples/io.c:194,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/examples/io.c:197,1
    - Dst: feof
      Src: /src/nettle/examples/io.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hash
    - ctx
    - f
    argTypes:
    - struct nettle_hash*
    - void*
    - FILE*
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: hash_file
    functionSourceFile: /src/nettle/examples/io.c
    functionUses: 2
    functionsReached:
    - feof
    - ferror
    - struct nettle_hash*::update
    linkageType: ''
    returnType: int
    signature: int hash_file(const struct nettle_hash *hash, void *ctx, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: werror
      Src: /src/nettle/examples/rsa-sign.c:54,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/examples/rsa-sign.c:58,1
    - Dst: read_rsa_key
      Src: /src/nettle/examples/rsa-sign.c:60,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-sign.c:62,1
    - Dst: sha1_init
      Src: /src/nettle/examples/rsa-sign.c:66,1
    - Dst: hash_file
      Src: /src/nettle/examples/rsa-sign.c:67,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-sign.c:69,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-sign.c:70,1
    - Dst: mpz_init
      Src: /src/nettle/examples/rsa-sign.c:74,1
    - Dst: rsa_sha1_sign
      Src: /src/nettle/examples/rsa-sign.c:75,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-sign.c:77,1
    - Dst: mpz_out_str
      Src: /src/nettle/examples/rsa-sign.c:81,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-sign.c:83,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-sign.c:84,1
    - Dst: putchar
      Src: /src/nettle/examples/rsa-sign.c:88,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/rsa-sign.c:90,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/examples/rsa-sign.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 94
      start: 45
    functionDepth: 8
    functionLinenumber: 45
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/nettle/examples/rsa-sign.c
    functionUses: 5
    functionsReached:
    - rsa_private_key_clear
    - putchar
    - rsa_sha1_sign
    - rsa_private_key_init
    - hash_file
    - read_rsa_key
    - sha1_init
    - mpz_out_str
    - werror
    - mpz_init
    - mpz_clear
    - strerror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_decode_init
      Src: /src/nettle/examples/base16dec.c:70,1
    - Dst: _setmode
      Src: /src/nettle/examples/base16dec.c:73,1
    - Dst: fread
      Src: /src/nettle/examples/base16dec.c:81,1
    - Dst: ferror
      Src: /src/nettle/examples/base16dec.c:83,1
    - Dst: werror
      Src: /src/nettle/examples/base16dec.c:85,1
    - Dst: strerror
      Src: /src/nettle/examples/base16dec.c:85,1
    - Dst: base16_decode_update
      Src: /src/nettle/examples/base16dec.c:90,1
    - Dst: werror
      Src: /src/nettle/examples/base16dec.c:92,1
    - Dst: write_data
      Src: /src/nettle/examples/base16dec.c:96,1
    - Dst: werror
      Src: /src/nettle/examples/base16dec.c:98,1
    - Dst: strerror
      Src: /src/nettle/examples/base16dec.c:98,1
    - Dst: base16_decode_final
      Src: /src/nettle/examples/base16dec.c:104,1
    - Dst: werror
      Src: /src/nettle/examples/base16dec.c:106,1
    - Dst: fflush
      Src: /src/nettle/examples/base16dec.c:113,1
    - Dst: werror
      Src: /src/nettle/examples/base16dec.c:115,1
    - Dst: strerror
      Src: /src/nettle/examples/base16dec.c:115,1
    - Dst: free
      Src: /src/nettle/examples/base16dec.c:119,1
    - Dst: free
      Src: /src/nettle/examples/base16dec.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 123
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/nettle/examples/base16dec.c
    functionUses: 5
    functionsReached:
    - base16_decode_init
    - write_data
    - fread
    - free
    - _setmode
    - fflush
    - werror
    - base16_decode_final
    - base16_decode_update
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main(int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/examples/random-prime.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: usage
    functionSourceFile: /src/nettle/examples/random-prime.c
    functionUses: 58
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/examples/random-prime.c:85,1
    - Dst: usage
      Src: /src/nettle/examples/random-prime.c:95,1
    - Dst: abort
      Src: /src/nettle/examples/random-prime.c:100,1
    - Dst: usage
      Src: /src/nettle/examples/random-prime.c:108,1
    - Dst: strtol
      Src: /src/nettle/examples/random-prime.c:112,1
    - Dst: fprintf
      Src: /src/nettle/examples/random-prime.c:115,1
    - Dst: fprintf
      Src: /src/nettle/examples/random-prime.c:121,1
    - Dst: yarrow256_init
      Src: /src/nettle/examples/random-prime.c:126,1
    - Dst: simple_random
      Src: /src/nettle/examples/random-prime.c:129,1
    - Dst: werror
      Src: /src/nettle/examples/random-prime.c:131,1
    - Dst: mpz_init
      Src: /src/nettle/examples/random-prime.c:135,1
    - Dst: clock
      Src: /src/nettle/examples/random-prime.c:137,1
    - Dst: nettle_random_prime
      Src: /src/nettle/examples/random-prime.c:139,1
    - Dst: clock
      Src: /src/nettle/examples/random-prime.c:143,1
    - Dst: mpz_out_str
      Src: /src/nettle/examples/random-prime.c:145,1
    - Dst: printf
      Src: /src/nettle/examples/random-prime.c:146,1
    - Dst: fprintf
      Src: /src/nettle/examples/random-prime.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 153
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/nettle/examples/random-prime.c
    functionUses: 5
    functionsReached:
    - abort
    - getopt_long
    - nettle_random_prime
    - simple_random
    - strtol
    - clock
    - mpz_out_str
    - werror
    - yarrow256_init
    - mpz_init
    - printf
    - fprintf
    - usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/examples/hogweed-benchmark.c:75,1
    - Dst: vfprintf
      Src: /src/nettle/examples/hogweed-benchmark.c:76,1
    - Dst: va_end
      Src: /src/nettle/examples/hogweed-benchmark.c:77,1
    - Dst: exit
      Src: /src/nettle/examples/hogweed-benchmark.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: die
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 37
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/examples/hogweed-benchmark.c:88,1
    - Dst: abort
      Src: /src/nettle/examples/hogweed-benchmark.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: xalloc
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 7
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/examples/hogweed-benchmark.c:99,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/examples/hogweed-benchmark.c:100,1
    - Dst: strlen
      Src: /src/nettle/examples/hogweed-benchmark.c:100,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/examples/hogweed-benchmark.c:101,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - s
    argTypes:
    - struct nettle_hash*
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: hash_string
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - struct nettle_hash*::digest
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      hash_string (const struct nettle_hash *hash, const char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/examples/hogweed-benchmark.c:124,1
    - Dst: time_start
      Src: /src/nettle/examples/hogweed-benchmark.c:129,1
    - Dst: f
      Src: /src/nettle/examples/hogweed-benchmark.c:131,1
    - Dst: time_end
      Src: /src/nettle/examples/hogweed-benchmark.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: time_function
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 69
    functionsReached:
    - time_start
    - f
    - time_end
    linkageType: ''
    returnType: double
    signature: double time_function(void (*f)(void *arg), void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct alg*::init
      Src: /src/nettle/examples/hogweed-benchmark.c:150,1
    - Dst: printf
      Src: /src/nettle/examples/hogweed-benchmark.c:153,1
    - Dst: time_function
      Src: /src/nettle/examples/hogweed-benchmark.c:157,1
    - Dst: time_function
      Src: /src/nettle/examples/hogweed-benchmark.c:158,1
    - Dst: struct alg*::clear
      Src: /src/nettle/examples/hogweed-benchmark.c:160,1
    - Dst: printf
      Src: /src/nettle/examples/hogweed-benchmark.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - alg
    argTypes:
    - struct alg*
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: bench_alg
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - printf
    - struct alg*::clear
    - struct alg*::init
    - time_function
    linkageType: ''
    returnType: void
    signature: void bench_alg (const struct alg *alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:224,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/examples/hogweed-benchmark.c:226,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/examples/hogweed-benchmark.c:227,1
    - Dst: mpz_init
      Src: /src/nettle/examples/hogweed-benchmark.c:228,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:229,1
    - Dst: sexp_transport_iterator_first
      Src: /src/nettle/examples/hogweed-benchmark.c:233,1
    - Dst: sexp_transport_iterator_first
      Src: /src/nettle/examples/hogweed-benchmark.c:235,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:237,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/examples/hogweed-benchmark.c:240,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/examples/hogweed-benchmark.c:241,1
    - Dst: rsa_keypair_from_sexp_alist
      Src: /src/nettle/examples/hogweed-benchmark.c:242,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:243,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:245,1
    - Dst: rsa_sha256_sign_digest
      Src: /src/nettle/examples/hogweed-benchmark.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 250
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 250
    functionName: bench_rsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - hash_string
    - rsa_public_key_init
    - sexp_transport_iterator_first
    - rsa_sha256_sign_digest
    - knuth_lfib_init
    - rsa_private_key_init
    - xalloc
    - mpz_init
    - rsa_keypair_from_sexp_alist
    - sexp_iterator_check_type
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_rsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/examples/hogweed-benchmark.c:258,1
    - Dst: rsa_sha256_sign_digest
      Src: /src/nettle/examples/hogweed-benchmark.c:259,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: bench_rsa_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - rsa_sha256_sign_digest
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void bench_rsa_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/examples/hogweed-benchmark.c:269,1
    - Dst: rsa_sha256_sign_digest_tr
      Src: /src/nettle/examples/hogweed-benchmark.c:270,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: bench_rsa_sign_tr
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - rsa_sha256_sign_digest_tr
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void bench_rsa_sign_tr (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_sha256_verify_digest
      Src: /src/nettle/examples/hogweed-benchmark.c:280,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: bench_rsa_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - rsa_sha256_verify_digest
    linkageType: ''
    returnType: void
    signature: void bench_rsa_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_public_key_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:289,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:290,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:291,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:293,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: bench_rsa_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - rsa_private_key_clear
    - free
    - rsa_public_key_clear
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void bench_rsa_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:325,1
    - Dst: dsa_params_init
      Src: /src/nettle/examples/hogweed-benchmark.c:327,1
    - Dst: mpz_init
      Src: /src/nettle/examples/hogweed-benchmark.c:328,1
    - Dst: mpz_init
      Src: /src/nettle/examples/hogweed-benchmark.c:329,1
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:330,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:331,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:334,1
    - Dst: sexp_transport_iterator_first
      Src: /src/nettle/examples/hogweed-benchmark.c:336,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/examples/hogweed-benchmark.c:337,1
    - Dst: sexp_iterator_check_type
      Src: /src/nettle/examples/hogweed-benchmark.c:338,1
    - Dst: dsa_keypair_from_sexp_alist
      Src: /src/nettle/examples/hogweed-benchmark.c:339,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:341,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:343,1
    - Dst: dsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 6
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: bench_dsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - dsa_params_init
    - die
    - sexp_transport_iterator_first
    - hash_string
    - knuth_lfib_init
    - dsa_sign
    - xalloc
    - dsa_signature_init
    - mpz_init
    - sexp_iterator_check_type
    - dsa_keypair_from_sexp_alist
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_dsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:358,1
    - Dst: dsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:359,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: bench_dsa_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - dsa_sign
    - dsa_signature_clear
    - dsa_signature_init
    linkageType: ''
    returnType: void
    signature: void bench_dsa_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_verify
      Src: /src/nettle/examples/hogweed-benchmark.c:369,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: bench_dsa_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - dsa_verify
    linkageType: ''
    returnType: void
    signature: void bench_dsa_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_params_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:377,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:378,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:379,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:380,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:381,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: bench_dsa_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - dsa_params_clear
    - free
    - dsa_signature_clear
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void bench_dsa_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:406,1
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:408,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:409,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:418,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:426,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:436,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:447,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:462,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:466,1
    - Dst: ecc_point_init
      Src: /src/nettle/examples/hogweed-benchmark.c:468,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/examples/hogweed-benchmark.c:469,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:471,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:472,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:473,1
    - Dst: ecc_point_set
      Src: /src/nettle/examples/hogweed-benchmark.c:475,1
    - Dst: ecc_scalar_set
      Src: /src/nettle/examples/hogweed-benchmark.c:476,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:478,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:479,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:480,1
    - Dst: ecdsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 488
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 488
    functionName: bench_ecdsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - die
    - hash_string
    - ecc_scalar_set
    - knuth_lfib_init
    - ecc_point_init
    - ecdsa_sign
    - ecc_point_set
    - xalloc
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_ecdsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:496,1
    - Dst: ecdsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:497,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: bench_ecdsa_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - ecdsa_sign
    - dsa_signature_clear
    - dsa_signature_init
    linkageType: ''
    returnType: void
    signature: void bench_ecdsa_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_verify
      Src: /src/nettle/examples/hogweed-benchmark.c:508,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: bench_ecdsa_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - ecdsa_verify
    linkageType: ''
    returnType: void
    signature: void bench_ecdsa_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:519,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:520,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:521,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:522,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 525
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 525
    functionName: bench_ecdsa_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - free
    - ecc_scalar_clear
    - dsa_signature_clear
    - ecc_point_clear
    linkageType: ''
    returnType: void
    signature: void bench_ecdsa_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:546,1
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:548,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/examples/hogweed-benchmark.c:554,1
    - Dst: ed25519_sha512_public_key
      Src: /src/nettle/examples/hogweed-benchmark.c:555,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/examples/hogweed-benchmark.c:561,1
    - Dst: ed448_shake256_public_key
      Src: /src/nettle/examples/hogweed-benchmark.c:562,1
    - Dst: abort
      Src: /src/nettle/examples/hogweed-benchmark.c:565,1
    - Dst: struct eddsa_ctx*::sign
      Src: /src/nettle/examples/hogweed-benchmark.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 570
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 570
    functionName: bench_eddsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - abort
    - ed25519_sha512_public_key
    - ed448_shake256_public_key
    - knuth_lfib_init
    - xalloc
    - knuth_lfib_random
    - struct eddsa_ctx*::sign
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_eddsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct eddsa_ctx*::sign
      Src: /src/nettle/examples/hogweed-benchmark.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: bench_eddsa_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - struct eddsa_ctx*::sign
    linkageType: ''
    returnType: void
    signature: void bench_eddsa_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct eddsa_ctx*::verify
      Src: /src/nettle/examples/hogweed-benchmark.c:583,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: bench_eddsa_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - struct eddsa_ctx*::verify
    linkageType: ''
    returnType: void
    signature: void bench_eddsa_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: bench_eddsa_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bench_eddsa_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:604,1
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:606,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:607,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:616,1
    - Dst: hash_string
      Src: /src/nettle/examples/hogweed-benchmark.c:628,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:633,1
    - Dst: ecc_point_init
      Src: /src/nettle/examples/hogweed-benchmark.c:635,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/examples/hogweed-benchmark.c:636,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:638,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:639,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/examples/hogweed-benchmark.c:640,1
    - Dst: ecc_point_set
      Src: /src/nettle/examples/hogweed-benchmark.c:642,1
    - Dst: ecc_scalar_set
      Src: /src/nettle/examples/hogweed-benchmark.c:643,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:645,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:646,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:647,1
    - Dst: gostdsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 655
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 655
    functionName: bench_gostdsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - die
    - hash_string
    - gostdsa_sign
    - ecc_scalar_set
    - knuth_lfib_init
    - ecc_point_init
    - ecc_point_set
    - xalloc
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_gostdsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signature_init
      Src: /src/nettle/examples/hogweed-benchmark.c:663,1
    - Dst: gostdsa_sign
      Src: /src/nettle/examples/hogweed-benchmark.c:664,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 669
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 669
    functionName: bench_gostdsa_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - gostdsa_sign
    - dsa_signature_clear
    - dsa_signature_init
    linkageType: ''
    returnType: void
    signature: void bench_gostdsa_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gostdsa_verify
      Src: /src/nettle/examples/hogweed-benchmark.c:675,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: bench_gostdsa_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - gostdsa_verify
    linkageType: ''
    returnType: void
    signature: void bench_gostdsa_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:686,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:687,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/examples/hogweed-benchmark.c:688,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:689,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 692
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 692
    functionName: bench_gostdsa_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - free
    - ecc_scalar_clear
    - dsa_signature_clear
    - ecc_point_clear
    linkageType: ''
    returnType: void
    signature: void bench_gostdsa_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:708,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:711,1
    - Dst: EVP_MD_CTX_new
      Src: /src/nettle/examples/hogweed-benchmark.c:714,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:716,1
    - Dst: EVP_DigestSignInit
      Src: /src/nettle/examples/hogweed-benchmark.c:718,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:719,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/nettle/examples/hogweed-benchmark.c:720,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:721,1
    - Dst: EVP_DigestSignFinal
      Src: /src/nettle/examples/hogweed-benchmark.c:722,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:723,1
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:724,1
    - Dst: EVP_DigestSignFinal
      Src: /src/nettle/examples/hogweed-benchmark.c:726,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - key
    - md
    argTypes:
    - EVP_PKEY*
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 730
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 730
    functionName: bench_openssl_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - EVP_DigestSignFinal
    - EVP_MD_CTX_new
    - EVP_DigestSignInit
    - xalloc
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_openssl_init (EVP_PKEY *key, const EVP_MD *md)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:736,1
    - Dst: EVP_RSA_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:736,1
    - Dst: EVP_sha256
      Src: /src/nettle/examples/hogweed-benchmark.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: bench_openssl_rsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - EVP_RSA_gen
    - bench_openssl_init
    - EVP_sha256
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_openssl_rsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSignInit
      Src: /src/nettle/examples/hogweed-benchmark.c:744,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:745,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/nettle/examples/hogweed-benchmark.c:746,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:747,1
    - Dst: EVP_DigestSignFinal
      Src: /src/nettle/examples/hogweed-benchmark.c:749,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 751
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 751
    functionName: bench_openssl_sign
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - EVP_DigestSignFinal
    - EVP_DigestSignUpdate
    - EVP_DigestSignInit
    linkageType: ''
    returnType: void
    signature: void bench_openssl_sign (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerifyInit
      Src: /src/nettle/examples/hogweed-benchmark.c:757,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:758,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/nettle/examples/hogweed-benchmark.c:759,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:760,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/nettle/examples/hogweed-benchmark.c:761,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 763
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 763
    functionName: bench_openssl_verify
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyInit
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: void
    signature: void bench_openssl_verify (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/nettle/examples/hogweed-benchmark.c:769,1
    - Dst: EVP_MD_CTX_free
      Src: /src/nettle/examples/hogweed-benchmark.c:770,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:771,1
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 773
    functionName: bench_openssl_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void bench_openssl_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:778,1
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:784,1
    - Dst: EVP_EC_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:784,1
    - Dst: EVP_sha256
      Src: /src/nettle/examples/hogweed-benchmark.c:784,1
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:786,1
    - Dst: EVP_EC_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:786,1
    - Dst: EVP_sha224
      Src: /src/nettle/examples/hogweed-benchmark.c:786,1
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:788,1
    - Dst: EVP_EC_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:788,1
    - Dst: EVP_sha256
      Src: /src/nettle/examples/hogweed-benchmark.c:788,1
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:790,1
    - Dst: EVP_EC_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:790,1
    - Dst: EVP_sha384
      Src: /src/nettle/examples/hogweed-benchmark.c:790,1
    - Dst: bench_openssl_init
      Src: /src/nettle/examples/hogweed-benchmark.c:792,1
    - Dst: EVP_EC_gen
      Src: /src/nettle/examples/hogweed-benchmark.c:792,1
    - Dst: EVP_sha512
      Src: /src/nettle/examples/hogweed-benchmark.c:792,1
    - Dst: die
      Src: /src/nettle/examples/hogweed-benchmark.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 796
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 796
    functionName: bench_openssl_ecdsa_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - die
    - EVP_EC_gen
    - EVP_sha256
    - EVP_sha224
    - EVP_sha512
    - EVP_sha384
    - xalloc
    - bench_openssl_init
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_openssl_ecdsa_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/hogweed-benchmark.c:811,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/examples/hogweed-benchmark.c:812,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/examples/hogweed-benchmark.c:818,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/examples/hogweed-benchmark.c:823,1
    - Dst: abort
      Src: /src/nettle/examples/hogweed-benchmark.c:826,1
    - Dst: struct curve_ctx*::mul_g
      Src: /src/nettle/examples/hogweed-benchmark.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - size
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 830
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 830
    functionName: bench_curve_init
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - abort
    - knuth_lfib_init
    - xalloc
    - knuth_lfib_random
    - struct curve_ctx*::mul_g
    linkageType: ''
    returnType: void
    signature: 'void *

      bench_curve_init (unsigned size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct curve_ctx*::mul_g
      Src: /src/nettle/examples/hogweed-benchmark.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 838
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 838
    functionName: bench_curve_mul_g
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - struct curve_ctx*::mul_g
    linkageType: ''
    returnType: void
    signature: void bench_curve_mul_g (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct curve_ctx*::mul
      Src: /src/nettle/examples/hogweed-benchmark.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 846
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 846
    functionName: bench_curve_mul
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - struct curve_ctx*::mul
    linkageType: ''
    returnType: void
    signature: void bench_curve_mul (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/nettle/examples/hogweed-benchmark.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: bench_curve_clear
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void bench_curve_clear (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_init
      Src: /src/nettle/examples/hogweed-benchmark.c:898,1
    - Dst: printf
      Src: /src/nettle/examples/hogweed-benchmark.c:899,1
    - Dst: numberof
      Src: /src/nettle/examples/hogweed-benchmark.c:902,1
    - Dst: strstr
      Src: /src/nettle/examples/hogweed-benchmark.c:903,1
    - Dst: bench_alg
      Src: /src/nettle/examples/hogweed-benchmark.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 907
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 907
    functionName: main
    functionSourceFile: /src/nettle/examples/hogweed-benchmark.c
    functionUses: 5
    functionsReached:
    - bench_alg
    - time_init
    - strstr
    - numberof
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/nettle/examples/base16enc.c:63,1
    - Dst: fread
      Src: /src/nettle/examples/base16enc.c:77,1
    - Dst: base16_encode_update
      Src: /src/nettle/examples/base16enc.c:80,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/examples/base16enc.c:81,1
    - Dst: ferror
      Src: /src/nettle/examples/base16enc.c:86,1
    - Dst: werror
      Src: /src/nettle/examples/base16enc.c:88,1
    - Dst: strerror
      Src: /src/nettle/examples/base16enc.c:88,1
    - Dst: write_data
      Src: /src/nettle/examples/base16enc.c:91,1
    - Dst: fflush
      Src: /src/nettle/examples/base16enc.c:92,1
    - Dst: werror
      Src: /src/nettle/examples/base16enc.c:94,1
    - Dst: strerror
      Src: /src/nettle/examples/base16enc.c:94,1
    - Dst: write_data
      Src: /src/nettle/examples/base16enc.c:100,1
    - Dst: werror
      Src: /src/nettle/examples/base16enc.c:102,1
    - Dst: strerror
      Src: /src/nettle/examples/base16enc.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 106
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/nettle/examples/base16enc.c
    functionUses: 5
    functionsReached:
    - BASE16_ENCODE_LENGTH
    - write_data
    - fread
    - _setmode
    - fflush
    - werror
    - base16_encode_update
    - strerror
    - ferror
    linkageType: ''
    returnType: int
    signature: int main(int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/examples/ecc-benchmark.c:61,1
    - Dst: abort
      Src: /src/nettle/examples/ecc-benchmark.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: xalloc
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 15
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/examples/ecc-benchmark.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: xalloc_limbs
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 7
    functionsReached:
    - xalloc
    linkageType: ''
    returnType: mp_limb_t
    signature: 'mp_limb_t *

      xalloc_limbs (mp_size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/examples/ecc-benchmark.c:81,1
    - Dst: time_start
      Src: /src/nettle/examples/ecc-benchmark.c:86,1
    - Dst: f
      Src: /src/nettle/examples/ecc-benchmark.c:88,1
    - Dst: time_end
      Src: /src/nettle/examples/ecc-benchmark.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: time_function
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 70
    functionsReached:
    - time_start
    - f
    - time_end
    linkageType: ''
    returnType: double
    signature: double time_function(void (*f)(void *arg), void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:112,1
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:113,1
    - Dst: mpn_gcdext
      Src: /src/nettle/examples/ecc-benchmark.c:114,1
    - Dst: mpn_sub
      Src: /src/nettle/examples/ecc-benchmark.c:119,1
    - Dst: mpn_zero
      Src: /src/nettle/examples/ecc-benchmark.c:122,1
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ecc
    - rp
    - ap
    - tp
    argTypes:
    - struct ecc_curve*
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: modinv_gcd
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - mpn_gcdext
    - mpn_copyi
    - mpn_sub
    - mpn_zero
    linkageType: ''
    returnType: int
    signature: "int modinv_gcd (const struct ecc_curve *ecc,\n\t    mp_limb_t *rp,
      mp_limb_t *ap, mp_limb_t *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:141,1
    - Dst: struct ecc_ctx*::ecc::p::mod
      Src: /src/nettle/examples/ecc-benchmark.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: bench_modp
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - mpn_copyi
    - struct ecc_ctx*::ecc::p::mod
    linkageType: ''
    returnType: void
    signature: void bench_modp (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:149,1
    - Dst: struct ecc_ctx*::ecc::p::reduce
      Src: /src/nettle/examples/ecc-benchmark.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: bench_reduce
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - mpn_copyi
    - struct ecc_ctx*::ecc::p::reduce
    linkageType: ''
    returnType: void
    signature: void bench_reduce (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:157,1
    - Dst: struct ecc_ctx*::ecc::q::mod
      Src: /src/nettle/examples/ecc-benchmark.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: bench_modq
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - mpn_copyi
    - struct ecc_ctx*::ecc::q::mod
    linkageType: ''
    returnType: void
    signature: void bench_modq (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::p::invert
      Src: /src/nettle/examples/ecc-benchmark.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: bench_pinv
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::p::invert
    linkageType: ''
    returnType: void
    signature: void bench_pinv (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::q::invert
      Src: /src/nettle/examples/ecc-benchmark.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: bench_qinv
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::q::invert
    linkageType: ''
    returnType: void
    signature: void bench_qinv (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_copyi
      Src: /src/nettle/examples/ecc-benchmark.c:179,1
    - Dst: modinv_gcd
      Src: /src/nettle/examples/ecc-benchmark.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: bench_modinv_gcd
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - modinv_gcd
    - mpn_copyi
    linkageType: ''
    returnType: void
    signature: void bench_modinv_gcd (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_sub_1
      Src: /src/nettle/examples/ecc-benchmark.c:192,1
    - Dst: mpn_sec_powm
      Src: /src/nettle/examples/ecc-benchmark.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: bench_modinv_powm
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - mpn_sub_1
    - mpn_sec_powm
    linkageType: ''
    returnType: void
    signature: void bench_modinv_powm (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::dup
      Src: /src/nettle/examples/ecc-benchmark.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: bench_dup_hh
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::dup
    linkageType: ''
    returnType: void
    signature: void bench_dup_hh (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::add_hh
      Src: /src/nettle/examples/ecc-benchmark.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: bench_add_hh
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::add_hh
    linkageType: ''
    returnType: void
    signature: void bench_add_hh (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::add_hhh
      Src: /src/nettle/examples/ecc-benchmark.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: bench_add_hhh
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::add_hhh
    linkageType: ''
    returnType: void
    signature: void bench_add_hhh (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::mul_g
      Src: /src/nettle/examples/ecc-benchmark.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: bench_mul_g
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::mul_g
    linkageType: ''
    returnType: void
    signature: void bench_mul_g (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ecc_ctx*::ecc::mul
      Src: /src/nettle/examples/ecc-benchmark.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: bench_mul_a
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - struct ecc_ctx*::ecc::mul
    linkageType: ''
    returnType: void
    signature: void bench_mul_a (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/nettle/examples/ecc-benchmark.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - xp
    - n
    argTypes:
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: mpn_random
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: void
    signature: void mpn_random (mp_limb_t *xp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/examples/ecc-benchmark.c:256,1
    - Dst: xalloc_limbs
      Src: /src/nettle/examples/ecc-benchmark.c:257,1
    - Dst: xalloc_limbs
      Src: /src/nettle/examples/ecc-benchmark.c:258,1
    - Dst: mpn_sec_powm_itch
      Src: /src/nettle/examples/ecc-benchmark.c:263,1
    - Dst: xalloc_limbs
      Src: /src/nettle/examples/ecc-benchmark.c:268,1
    - Dst: mpn_random
      Src: /src/nettle/examples/ecc-benchmark.c:270,1
    - Dst: mpn_random
      Src: /src/nettle/examples/ecc-benchmark.c:271,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:281,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:282,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:284,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:286,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:287,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:289,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:294,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:298,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:299,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:300,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:301,1
    - Dst: time_function
      Src: /src/nettle/examples/ecc-benchmark.c:302,1
    - Dst: free
      Src: /src/nettle/examples/ecc-benchmark.c:304,1
    - Dst: free
      Src: /src/nettle/examples/ecc-benchmark.c:305,1
    - Dst: free
      Src: /src/nettle/examples/ecc-benchmark.c:306,1
    - Dst: free
      Src: /src/nettle/examples/ecc-benchmark.c:307,1
    - Dst: printf
      Src: /src/nettle/examples/ecc-benchmark.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - ecc
    argTypes:
    - struct ecc_curve*
    constantsTouched: []
    func_position:
      end: 314
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 314
    functionName: bench_curve
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 0
    functionsReached:
    - time_function
    - mpn_sec_powm_itch
    - free
    - mpn_random
    - xalloc_limbs
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_curve (const struct ecc_curve *ecc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time_init
      Src: /src/nettle/examples/ecc-benchmark.c:335,1
    - Dst: printf
      Src: /src/nettle/examples/ecc-benchmark.c:336,1
    - Dst: numberof
      Src: /src/nettle/examples/ecc-benchmark.c:340,1
    - Dst: bench_curve
      Src: /src/nettle/examples/ecc-benchmark.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/nettle/examples/ecc-benchmark.c
    functionUses: 5
    functionsReached:
    - numberof
    - printf
    - time_init
    - bench_curve
    linkageType: ''
    returnType: int
    signature: int main (int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_decrypt_key
      Src: /src/nettle/examples/rsa-decrypt.c:67,1
    - Dst: CBC_SET_IV
      Src: /src/nettle/examples/rsa-decrypt.c:68,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/examples/rsa-decrypt.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct rsa_session*
    - struct rsa_session_info*
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: rsa_session_set_decrypt_key
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_set_key
    - CBC_SET_IV
    - aes256_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: "void rsa_session_set_decrypt_key(struct rsa_session *ctx,\n\t\t\t
      \   const struct rsa_session_info *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/nettle/examples/rsa-decrypt.c:76,1
    - Dst: READ_UINT32
      Src: /src/nettle/examples/rsa-decrypt.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: read_uint32
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 13
    functionsReached:
    - fread
    - READ_UINT32
    linkageType: ''
    returnType: int
    signature: int read_uint32(FILE *f, uint32_t *n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_uint32
      Src: /src/nettle/examples/rsa-decrypt.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: read_version
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 0
    functionsReached:
    - read_uint32
    linkageType: ''
    returnType: int
    signature: int read_version(FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_uint32
      Src: /src/nettle/examples/rsa-decrypt.c:94,1
    - Dst: fread
      Src: /src/nettle/examples/rsa-decrypt.c:98,1
    - Dst: free
      Src: /src/nettle/examples/rsa-decrypt.c:100,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/examples/rsa-decrypt.c:104,1
    - Dst: free
      Src: /src/nettle/examples/rsa-decrypt.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - x
    argTypes:
    - FILE*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: read_bignum
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 0
    functionsReached:
    - fread
    - free
    - nettle_mpz_set_str_256_u
    - read_uint32
    linkageType: ''
    returnType: int
    signature: int read_bignum(FILE *f, mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/nettle/examples/rsa-decrypt.c:126,1
    - Dst: ferror
      Src: /src/nettle/examples/rsa-decrypt.c:129,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:130,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-decrypt.c:130,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:132,1
    - Dst: fread
      Src: /src/nettle/examples/rsa-decrypt.c:138,1
    - Dst: ferror
      Src: /src/nettle/examples/rsa-decrypt.c:140,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:142,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-decrypt.c:142,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:148,1
    - Dst: CBC_DECRYPT
      Src: /src/nettle/examples/rsa-decrypt.c:154,1
    - Dst: hmac_sha1_update
      Src: /src/nettle/examples/rsa-decrypt.c:155,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-decrypt.c:156,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:158,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-decrypt.c:158,1
    - Dst: memmove
      Src: /src/nettle/examples/rsa-decrypt.c:161,1
    - Dst: CBC_DECRYPT
      Src: /src/nettle/examples/rsa-decrypt.c:167,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:171,1
    - Dst: hmac_sha1_update
      Src: /src/nettle/examples/rsa-decrypt.c:178,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-decrypt.c:179,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:181,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-decrypt.c:181,1
    - Dst: hmac_sha1_digest
      Src: /src/nettle/examples/rsa-decrypt.c:185,1
    - Dst: memeql_sec
      Src: /src/nettle/examples/rsa-decrypt.c:186,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - in
    - out
    argTypes:
    - struct rsa_session*
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 193
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 193
    functionName: process_file
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 0
    functionsReached:
    - write_data
    - memmove
    - memeql_sec
    - fread
    - CBC_DECRYPT
    - werror
    - strerror
    - hmac_sha1_update
    - ferror
    - hmac_sha1_digest
    linkageType: ''
    returnType: int
    signature: "int process_file(struct rsa_session *ctx,\n\t     FILE *in, FILE *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/examples/rsa-decrypt.c:205,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:209,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/examples/rsa-decrypt.c:213,1
    - Dst: read_rsa_key
      Src: /src/nettle/examples/rsa-decrypt.c:215,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:217,1
    - Dst: _setmode
      Src: /src/nettle/examples/rsa-decrypt.c:222,1
    - Dst: _setmode
      Src: /src/nettle/examples/rsa-decrypt.c:223,1
    - Dst: read_version
      Src: /src/nettle/examples/rsa-decrypt.c:226,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:228,1
    - Dst: read_bignum
      Src: /src/nettle/examples/rsa-decrypt.c:232,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:234,1
    - Dst: rsa_decrypt
      Src: /src/nettle/examples/rsa-decrypt.c:239,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-decrypt.c:241,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/rsa-decrypt.c:244,1
    - Dst: rsa_session_set_decrypt_key
      Src: /src/nettle/examples/rsa-decrypt.c:246,1
    - Dst: process_file
      Src: /src/nettle/examples/rsa-decrypt.c:248,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/examples/rsa-decrypt.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 255
      start: 195
    functionDepth: 8
    functionLinenumber: 195
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/nettle/examples/rsa-decrypt.c
    functionUses: 5
    functionsReached:
    - rsa_private_key_clear
    - process_file
    - rsa_session_set_decrypt_key
    - _setmode
    - rsa_private_key_init
    - read_rsa_key
    - rsa_decrypt
    - werror
    - mpz_init
    - mpz_clear
    - read_bignum
    - read_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/examples/rsa-encrypt.c:66,1
    - Dst: CBC_SET_IV
      Src: /src/nettle/examples/rsa-encrypt.c:67,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/examples/rsa-encrypt.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct rsa_session*
    - struct rsa_session_info*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: rsa_session_set_encrypt_key
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 0
    functionsReached:
    - hmac_sha1_set_key
    - CBC_SET_IV
    - aes256_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void rsa_session_set_encrypt_key(struct rsa_session *ctx,\n\t\t\t
      \   const struct rsa_session_info *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_UINT32
      Src: /src/nettle/examples/rsa-encrypt.c:75,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-encrypt.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: write_uint32
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 29
    functionsReached:
    - write_data
    - WRITE_UINT32
    linkageType: ''
    returnType: int
    signature: int write_uint32(FILE *f, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_uint32
      Src: /src/nettle/examples/rsa-encrypt.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: write_version
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 0
    functionsReached:
    - write_uint32
    linkageType: ''
    returnType: int
    signature: int write_version(FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_uint32
      Src: /src/nettle/examples/rsa-encrypt.c:93,1
    - Dst: xalloc
      Src: /src/nettle/examples/rsa-encrypt.c:96,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/examples/rsa-encrypt.c:97,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-encrypt.c:99,1
    - Dst: free
      Src: /src/nettle/examples/rsa-encrypt.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - x
    argTypes:
    - FILE*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: write_bignum
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 0
    functionsReached:
    - write_data
    - free
    - nettle_mpz_get_str_256
    - write_uint32
    - xalloc
    linkageType: ''
    returnType: int
    signature: int write_bignum(FILE *f, mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_update
      Src: /src/nettle/examples/rsa-encrypt.c:115,1
    - Dst: ferror
      Src: /src/nettle/examples/rsa-encrypt.c:122,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:124,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-encrypt.c:124,1
    - Dst: assert
      Src: /src/nettle/examples/rsa-encrypt.c:131,1
    - Dst: yarrow256_random
      Src: /src/nettle/examples/rsa-encrypt.c:134,1
    - Dst: CBC_ENCRYPT
      Src: /src/nettle/examples/rsa-encrypt.c:139,1
    - Dst: assert
      Src: /src/nettle/examples/rsa-encrypt.c:141,1
    - Dst: hmac_sha1_digest
      Src: /src/nettle/examples/rsa-encrypt.c:143,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-encrypt.c:146,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:148,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-encrypt.c:148,1
    - Dst: CBC_ENCRYPT
      Src: /src/nettle/examples/rsa-encrypt.c:154,1
    - Dst: write_data
      Src: /src/nettle/examples/rsa-encrypt.c:155,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:157,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-encrypt.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - in
    - out
    argTypes:
    - struct rsa_session*
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 161
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 161
    functionName: process_file
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 1
    functionsReached:
    - assert
    - write_data
    - werror
    - hmac_sha1_digest
    - strerror
    - hmac_sha1_update
    - ferror
    - CBC_ENCRYPT
    - yarrow256_random
    linkageType: ''
    returnType: int
    signature: "int process_file(struct rsa_session *ctx,\n\t     FILE *in, FILE *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/examples/rsa-encrypt.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: usage
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 59
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage (FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/examples/rsa-encrypt.c:194,1
    - Dst: usage
      Src: /src/nettle/examples/rsa-encrypt.c:205,1
    - Dst: abort
      Src: /src/nettle/examples/rsa-encrypt.c:208,1
    - Dst: usage
      Src: /src/nettle/examples/rsa-encrypt.c:216,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/examples/rsa-encrypt.c:220,1
    - Dst: read_rsa_key
      Src: /src/nettle/examples/rsa-encrypt.c:222,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:224,1
    - Dst: yarrow256_init
      Src: /src/nettle/examples/rsa-encrypt.c:229,1
    - Dst: simple_random
      Src: /src/nettle/examples/rsa-encrypt.c:232,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:234,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/examples/rsa-encrypt.c:238,1
    - Dst: SESSION_VERSION
      Src: /src/nettle/examples/rsa-encrypt.c:238,1
    - Dst: yarrow256_random
      Src: /src/nettle/examples/rsa-encrypt.c:240,1
    - Dst: rsa_session_set_encrypt_key
      Src: /src/nettle/examples/rsa-encrypt.c:242,1
    - Dst: _setmode
      Src: /src/nettle/examples/rsa-encrypt.c:245,1
    - Dst: _setmode
      Src: /src/nettle/examples/rsa-encrypt.c:246,1
    - Dst: write_version
      Src: /src/nettle/examples/rsa-encrypt.c:249,1
    - Dst: mpz_init
      Src: /src/nettle/examples/rsa-encrypt.c:251,1
    - Dst: rsa_encrypt
      Src: /src/nettle/examples/rsa-encrypt.c:253,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-encrypt.c:258,1
    - Dst: write_bignum
      Src: /src/nettle/examples/rsa-encrypt.c:262,1
    - Dst: mpz_clear
      Src: /src/nettle/examples/rsa-encrypt.c:264,1
    - Dst: process_file
      Src: /src/nettle/examples/rsa-encrypt.c:266,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/examples/rsa-encrypt.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 273
      start: 172
    functionDepth: 8
    functionLinenumber: 172
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/nettle/examples/rsa-encrypt.c
    functionUses: 5
    functionsReached:
    - rsa_public_key_clear
    - write_version
    - rsa_session_set_encrypt_key
    - SESSION_VERSION
    - rsa_public_key_init
    - write_bignum
    - simple_random
    - read_rsa_key
    - usage
    - WRITE_UINT32
    - yarrow256_random
    - getopt_long
    - process_file
    - werror
    - yarrow256_init
    - abort
    - rsa_encrypt
    - _setmode
    - mpz_init
    - mpz_clear
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/nettle/examples/rsa-keygen.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: progress
    functionSourceFile: /src/nettle/examples/rsa-keygen.c
    functionUses: 9
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void progress(void *ctx, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/nettle/examples/rsa-keygen.c:67,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:70,1
    - Dst: exit
      Src: /src/nettle/examples/rsa-keygen.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - c
    - arg
    argTypes:
    - char
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: uint_arg
    functionSourceFile: /src/nettle/examples/rsa-keygen.c
    functionUses: 0
    functionsReached:
    - exit
    - werror
    - strtoul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long uint_arg (char c, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/nettle/examples/rsa-keygen.c:104,1
    - Dst: uint_arg
      Src: /src/nettle/examples/rsa-keygen.c:116,1
    - Dst: uint_arg
      Src: /src/nettle/examples/rsa-keygen.c:120,1
    - Dst: printf
      Src: /src/nettle/examples/rsa-keygen.c:124,1
    - Dst: abort
      Src: /src/nettle/examples/rsa-keygen.c:131,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:136,1
    - Dst: xalloc
      Src: /src/nettle/examples/rsa-keygen.c:140,1
    - Dst: strlen
      Src: /src/nettle/examples/rsa-keygen.c:140,1
    - Dst: sprintf
      Src: /src/nettle/examples/rsa-keygen.c:141,1
    - Dst: yarrow256_init
      Src: /src/nettle/examples/rsa-keygen.c:144,1
    - Dst: simple_random
      Src: /src/nettle/examples/rsa-keygen.c:147,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:149,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/examples/rsa-keygen.c:153,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/examples/rsa-keygen.c:154,1
    - Dst: mpz_set_ui
      Src: /src/nettle/examples/rsa-keygen.c:157,1
    - Dst: rsa_generate_keypair
      Src: /src/nettle/examples/rsa-keygen.c:159,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:165,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/examples/rsa-keygen.c:169,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/examples/rsa-keygen.c:170,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/examples/rsa-keygen.c:172,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:174,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/examples/rsa-keygen.c:178,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:180,1
    - Dst: write_file
      Src: /src/nettle/examples/rsa-keygen.c:184,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:186,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-keygen.c:187,1
    - Dst: write_file
      Src: /src/nettle/examples/rsa-keygen.c:193,1
    - Dst: werror
      Src: /src/nettle/examples/rsa-keygen.c:195,1
    - Dst: strerror
      Src: /src/nettle/examples/rsa-keygen.c:196,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/examples/rsa-keygen.c:200,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/examples/rsa-keygen.c:201,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/examples/rsa-keygen.c:202,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/examples/rsa-keygen.c:203,1
    - Dst: free
      Src: /src/nettle/examples/rsa-keygen.c:204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 207
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/nettle/examples/rsa-keygen.c
    functionUses: 5
    functionsReached:
    - rsa_public_key_clear
    - rsa_keypair_to_sexp
    - rsa_private_key_init
    - xalloc
    - printf
    - uint_arg
    - rsa_public_key_init
    - nettle_buffer_init
    - nettle_buffer_clear
    - free
    - simple_random
    - sprintf
    - strerror
    - rsa_private_key_clear
    - getopt_long
    - strlen
    - write_file
    - werror
    - yarrow256_init
    - abort
    - rsa_generate_keypair
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_params_init
      Src: /src/nettle/testsuite/dsa-test.c:11,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/dsa-test.c:12,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/dsa-test.c:13,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/dsa-test.c:14,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:16,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:23,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:25,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:32,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:39,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-test.c:42,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:44,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:45,1
    - Dst: test_dsa160
      Src: /src/nettle/testsuite/dsa-test.c:47,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:49,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:61,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:64,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:76,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:88,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-test.c:92,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:94,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:97,1
    - Dst: test_dsa256
      Src: /src/nettle/testsuite/dsa-test.c:101,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:107,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:114,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:115,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:122,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:129,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:130,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:133,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:141,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:148,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:149,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:152,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:161,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:168,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:169,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:176,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:183,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:184,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:186,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:195,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:202,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:203,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:210,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:217,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:218,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:219,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:220,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:229,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:241,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:243,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:255,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:267,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:269,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:272,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:280,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:292,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:294,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:306,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:318,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:320,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:323,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:332,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:344,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:346,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:358,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:370,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:372,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:375,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:384,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:396,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:399,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:411,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:423,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:426,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:429,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:430,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:439,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:451,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:454,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:466,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:478,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:481,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:485,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:494,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:506,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:509,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:521,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:533,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:536,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:540,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:549,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:561,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:564,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:576,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:588,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:591,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:594,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:595,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:604,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:621,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:624,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:641,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:658,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:661,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:665,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:674,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:691,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:694,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:711,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:728,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:731,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:735,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:744,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:761,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:764,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:781,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:798,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:801,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:804,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:805,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:814,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:831,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:833,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:850,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:867,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/dsa-test.c:870,1
    - Dst: test_dsa_verify
      Src: /src/nettle/testsuite/dsa-test.c:873,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/dsa-test.c:874,1
    - Dst: dsa_params_clear
      Src: /src/nettle/testsuite/dsa-test.c:882,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/dsa-test.c:883,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/dsa-test.c:884,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/dsa-test.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 129
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 886
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/dsa-test.c
    functionUses: 0
    functionsReached:
    - dsa_params_init
    - test_dsa_key
    - test_dsa256
    - test_dsa_verify
    - dsa_signature_clear
    - dsa_params_clear
    - SHEX
    - dsa_signature_init
    - mpz_init
    - mpz_clear
    - mpz_set_str
    - test_dsa160
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-mgf1-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-mgf1-test.c:15,1
    - Dst: sha1_init
      Src: /src/nettle/testsuite/pss-mgf1-test.c:19,1
    - Dst: sha1_update
      Src: /src/nettle/testsuite/pss-mgf1-test.c:20,1
    - Dst: pss_mgf1
      Src: /src/nettle/testsuite/pss-mgf1-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-mgf1-test.c:22,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/pss-mgf1-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/pss-mgf1-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-mgf1-test.c:26,1
    - Dst: sha256_init
      Src: /src/nettle/testsuite/pss-mgf1-test.c:32,1
    - Dst: sha256_update
      Src: /src/nettle/testsuite/pss-mgf1-test.c:33,1
    - Dst: pss_mgf1
      Src: /src/nettle/testsuite/pss-mgf1-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-mgf1-test.c:35,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/pss-mgf1-test.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 4
    functionDepth: 3
    functionLinenumber: 4
    functionLinenumberEnd: 36
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/pss-mgf1-test.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - sha1_update
    - sha1_init
    - SDATA
    - pss_mgf1
    - SHEX
    - sha256_init
    - MEMEQ
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sha256-test.c:11,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sha256-test.c:12,1
    - Dst: sha256_init
      Src: /src/nettle/testsuite/sha256-test.c:19,1
    - Dst: sha256_update
      Src: /src/nettle/testsuite/sha256-test.c:20,1
    - Dst: sha256_update
      Src: /src/nettle/testsuite/sha256-test.c:21,1
    - Dst: _nettle_write_be32
      Src: /src/nettle/testsuite/sha256-test.c:23,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sha256-test.c:24,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha256-test.c:25,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/sha256-test.c:27,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha256-test.c:28,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/sha256-test.c:29,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha256-test.c:30,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/sha256-test.c:31,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha256-test.c:32,1
    - Dst: abort
      Src: /src/nettle/testsuite/sha256-test.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - input
    - expected
    argTypes:
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 36
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 36
    functionName: test_sha256_compress
    functionSourceFile: /src/nettle/testsuite/sha256-test.c
    functionUses: 0
    functionsReached:
    - abort
    - sha256_update
    - tstring_print_hex
    - print_hex
    - _nettle_write_be32
    - sha256_init
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_sha256_compress(const struct tstring *input,\n\t\t     const
      struct tstring *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sha256_compress
      Src: /src/nettle/testsuite/sha256-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:42,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:43,1
    - Dst: test_sha256_compress
      Src: /src/nettle/testsuite/sha256-test.c:47,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:49,1
    - Dst: test_sha256_compress
      Src: /src/nettle/testsuite/sha256-test.c:52,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:56,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:60,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:60,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:61,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:64,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:67,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:70,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:75,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:79,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:80,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:82,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:83,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:85,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:86,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:88,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:89,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:91,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:92,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:94,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:97,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha256-test.c:99,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha256-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha256-test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha256-test.c
    functionUses: 0
    functionsReached:
    - test_sha256_compress
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/des3-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des3-test.c:14,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/des3-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des3-test.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 19
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/des3-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_cipher
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:16,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:17,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:18,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - n
    - dst
    argTypes:
    - void*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: random_fn
    functionSourceFile: /src/nettle/testsuite/rsa-compute-root-test.c
    functionUses: 0
    functionsReached:
    - mpz_urandomb
    - nettle_mpz_get_str_256
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void random_fn (void *ctx, size_t n, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:29,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:30,1
    - Dst: mpz_powm
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:32,1
    - Dst: rsa_compute_root_tr
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:33,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:34,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:35,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:37,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:38,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:39,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:41,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:43,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:45,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:46,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:47,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:49,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:50,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:51,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:52,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:53,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:55,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:55,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:56,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:57,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:58,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:58,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:59,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:60,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:61,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:61,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:62,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:63,1
    - Dst: abort
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:64,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:67,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 4
    argNames:
    - rands
    - pub
    - key
    - plaintext
    argTypes:
    - gmp_randstate_t*
    - struct rsa_public_key*
    - struct rsa_private_key*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 69
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 69
    functionName: test_one
    functionSourceFile: /src/nettle/testsuite/rsa-compute-root-test.c
    functionUses: 0
    functionsReached:
    - mpz_powm
    - abort
    - rsa_compute_root_tr
    - mpz_out_str
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_sizeinbase
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_one (gmp_randstate_t *rands, struct rsa_public_key *pub,\n
      \         struct rsa_private_key *key, mpz_t plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:87,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:88,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:89,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:90,1
    - Dst: gmp_urandomm_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:92,1
    - Dst: gmp_urandomm_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:93,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:95,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:101,1
    - Dst: mpz_nextprime
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:102,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:103,1
    - Dst: mpz_gcd
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:104,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:105,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:111,1
    - Dst: mpz_nextprime
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:112,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:113,1
    - Dst: mpz_gcd
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:114,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:115,1
    - Dst: mpz_invert
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:119,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:123,1
    - Dst: mpz_invert
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:124,1
    - Dst: assert
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:125,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:127,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:128,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:130,1
    - Dst: mpz_size
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:132,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:134,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:135,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:136,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - rands
    - pub
    - key
    argTypes:
    - gmp_randstate_t
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 138
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 138
    functionName: generate_keypair
    functionSourceFile: /src/nettle/testsuite/rsa-compute-root-test.c
    functionUses: 3
    functionsReached:
    - mpz_invert
    - assert
    - mpz_mul
    - mpz_gcd
    - mpz_sub_ui
    - mpz_size
    - mpz_fdiv_r
    - mpz_init
    - mpz_set_ui
    - mpz_nextprime
    - gmp_urandomm_ui
    - mpz_clear
    - mpz_rrandomb
    - mpz_cmp_ui
    linkageType: ''
    returnType: void
    signature: "void generate_keypair (gmp_randstate_t rands,\n                  struct
      rsa_public_key *pub, struct rsa_private_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:150,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:151,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:152,1
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:154,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:155,1
    - Dst: generate_keypair
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:160,1
    - Dst: rsa_generate_keypair
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:162,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:167,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:167,1
    - Dst: test_one
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:168,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:172,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:172,1
    - Dst: test_one
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:173,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:176,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:177,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:178,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/rsa-compute-root-test.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 181
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-compute-root-test.c
    functionUses: 0
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - mpz_rrandomb
    - gmp_randclear
    - rsa_private_key_init
    - gmp_randinit_default
    - test_one
    - mpz_urandomb
    - rsa_generate_keypair
    - mpz_init
    - generate_keypair
    - mpz_clear
    - mpz_sizeinbase
    - test_randomize
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/poly1305-test.c:12,1
    - Dst: f
      Src: /src/nettle/testsuite/poly1305-test.c:13,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/poly1305-test.c:14,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:16,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:17,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:17,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:18,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:19,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:19,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:20,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:20,1
    - Dst: abort
      Src: /src/nettle/testsuite/poly1305-test.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - name
    - ctx
    - f
    - msg
    - ref
    argTypes:
    - char*
    - void*
    - nettle_hash_digest_func*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 24
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 24
    functionName: check_digest
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 3
    functionsReached:
    - abort
    - print_hex
    - f
    - MEMEQ
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void check_digest (const char *name, void *ctx, nettle_hash_digest_func
      *f,\n\t      const struct tstring *msg,\n\t      const struct tstring *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/poly1305-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/poly1305-test.c:35,1
    - Dst: poly1305_aes_set_key
      Src: /src/nettle/testsuite/poly1305-test.c:37,1
    - Dst: poly1305_aes_set_nonce
      Src: /src/nettle/testsuite/poly1305-test.c:38,1
    - Dst: poly1305_aes_update
      Src: /src/nettle/testsuite/poly1305-test.c:39,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/poly1305-test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - nonce
    - msg
    - ref
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: test_poly1305
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - poly1305_aes_update
    - poly1305_aes_set_nonce
    - poly1305_aes_set_key
    - check_digest
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_poly1305 (const struct tstring *key,\n\t       const struct
      tstring *nonce,\n\t       const struct tstring *msg,\n\t       const struct
      tstring *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _nettle_poly1305_set_key
      Src: /src/nettle/testsuite/poly1305-test.c:51,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/testsuite/poly1305-test.c:54,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/poly1305-test.c:58,1
    - Dst: memset
      Src: /src/nettle/testsuite/poly1305-test.c:60,1
    - Dst: _nettle_poly1305_block
      Src: /src/nettle/testsuite/poly1305-test.c:61,1
    - Dst: _nettle_poly1305_digest
      Src: /src/nettle/testsuite/poly1305-test.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - key
    - length
    - message
    - nonce
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: poly1305_internal
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - _nettle_poly1305_digest
    - _nettle_poly1305_set_key
    - _nettle_poly1305_block
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void poly1305_internal (const uint8_t key[16],\n\t\t   size_t length,
      const uint8_t *message,\n\t\t   union nettle_block16 *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/testsuite/poly1305-test.c:77,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/poly1305-test.c:78,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/testsuite/poly1305-test.c:79,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/poly1305-test.c:80,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/poly1305-test.c:82,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/poly1305-test.c:83,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/poly1305-test.c:85,1
    - Dst: mpz_import
      Src: /src/nettle/testsuite/poly1305-test.c:95,1
    - Dst: mpz_import
      Src: /src/nettle/testsuite/poly1305-test.c:99,1
    - Dst: mpz_setbit
      Src: /src/nettle/testsuite/poly1305-test.c:100,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/poly1305-test.c:101,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/poly1305-test.c:102,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/poly1305-test.c:103,1
    - Dst: mpz_import
      Src: /src/nettle/testsuite/poly1305-test.c:107,1
    - Dst: mpz_setbit
      Src: /src/nettle/testsuite/poly1305-test.c:108,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/poly1305-test.c:109,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/poly1305-test.c:110,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/poly1305-test.c:111,1
    - Dst: mpz_import
      Src: /src/nettle/testsuite/poly1305-test.c:113,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/poly1305-test.c:114,1
    - Dst: mpz_fdiv_r_2exp
      Src: /src/nettle/testsuite/poly1305-test.c:115,1
    - Dst: memset
      Src: /src/nettle/testsuite/poly1305-test.c:117,1
    - Dst: mpz_export
      Src: /src/nettle/testsuite/poly1305-test.c:118,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/poly1305-test.c:120,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/poly1305-test.c:121,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/poly1305-test.c:122,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/poly1305-test.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 4
    argNames:
    - key
    - length
    - message
    - nonce
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t*
    - union nettle_block16*
    constantsTouched: []
    func_position:
      end: 124
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 124
    functionName: ref_poly1305_internal
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - mpz_fdiv_r_2exp
    - mpz_mul_2exp
    - mpz_mul
    - mpz_export
    - mpz_sub_ui
    - mpz_mod
    - mpz_init_set_ui
    - mpz_import
    - mpz_init
    - memset
    - memcpy
    - mpz_setbit
    - mpz_clear
    - mpz_add
    linkageType: ''
    returnType: void
    signature: "void ref_poly1305_internal (const uint8_t key[16],\n\t\t       size_t
      length, const uint8_t *message,\n\t\t       union nettle_block16 *nonce)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/testsuite/poly1305-test.c:134,1
    - Dst: poly1305_internal
      Src: /src/nettle/testsuite/poly1305-test.c:135,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/poly1305-test.c:137,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:139,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:140,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:140,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:141,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:141,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:142,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:142,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:143,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:144,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:144,1
    - Dst: printf
      Src: /src/nettle/testsuite/poly1305-test.c:145,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/poly1305-test.c:145,1
    - Dst: abort
      Src: /src/nettle/testsuite/poly1305-test.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - key
    - length
    - message
    - nonce
    - ref
    argTypes:
    - uint8_t[]
    - size_t
    - uint8_t*
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: test_poly1305_internal
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - abort
    - poly1305_internal
    - print_hex
    - MEMEQ
    - memcpy
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_poly1305_internal (const uint8_t key[16],\n\t\t\tsize_t
      length, const uint8_t *message,\n\t\t\tconst uint8_t nonce[16],\n\t\t\tconst
      uint8_t ref[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/poly1305-test.c:176,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/poly1305-test.c:177,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/poly1305-test.c:178,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/poly1305-test.c:180,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/poly1305-test.c:181,1
    - Dst: memset
      Src: /src/nettle/testsuite/poly1305-test.c:183,1
    - Dst: test_poly1305_internal
      Src: /src/nettle/testsuite/poly1305-test.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 186
    functionName: test_fixed
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - test_poly1305_internal
    - tstring_hex
    - memset
    linkageType: ''
    returnType: void
    signature: void test_fixed (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/poly1305-test.c:197,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/poly1305-test.c:206,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/poly1305-test.c:207,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/poly1305-test.c:209,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/poly1305-test.c:212,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/poly1305-test.c:214,1
    - Dst: ref_poly1305_internal
      Src: /src/nettle/testsuite/poly1305-test.c:215,1
    - Dst: test_poly1305_internal
      Src: /src/nettle/testsuite/poly1305-test.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 219
    functionName: test_random
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - knuth_lfib_init
    - ref_poly1305_internal
    - memcpy
    - knuth_lfib_random
    - test_poly1305_internal
    linkageType: ''
    returnType: void
    signature: void test_random(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_poly1305
      Src: /src/nettle/testsuite/poly1305-test.c:225,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:229,1
    - Dst: test_poly1305
      Src: /src/nettle/testsuite/poly1305-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:234,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:235,1
    - Dst: test_poly1305
      Src: /src/nettle/testsuite/poly1305-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:243,1
    - Dst: test_poly1305
      Src: /src/nettle/testsuite/poly1305-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/poly1305-test.c:251,1
    - Dst: test_fixed
      Src: /src/nettle/testsuite/poly1305-test.c:253,1
    - Dst: test_random
      Src: /src/nettle/testsuite/poly1305-test.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 255
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/poly1305-test.c
    functionUses: 0
    functionsReached:
    - test_poly1305
    - SHEX
    - test_random
    - test_fixed
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:6,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:6,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:7,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:11,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:16,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:21,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:21,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:22,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:25,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:26,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:29,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:33,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:33,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:34,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:37,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:38,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:41,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:42,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:44,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha384-test.c:47,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha384-test.c:48,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha384-test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 54
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha384-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/siv-gcm-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/siv-gcm-test.c:77,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/siv-gcm-test.c:78,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/siv-gcm-test.c:82,1
    - Dst: _siv_ghash_set_key
      Src: /src/nettle/testsuite/siv-gcm-test.c:83,1
    - Dst: block16_zero
      Src: /src/nettle/testsuite/siv-gcm-test.c:85,1
    - Dst: _siv_ghash_update
      Src: /src/nettle/testsuite/siv-gcm-test.c:86,1
    - Dst: block16_bswap
      Src: /src/nettle/testsuite/siv-gcm-test.c:87,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/siv-gcm-test.c:89,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:91,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:92,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/siv-gcm-test.c:93,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:94,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/siv-gcm-test.c:95,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:96,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/siv-gcm-test.c:97,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:98,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/siv-gcm-test.c:99,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/siv-gcm-test.c:100,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/siv-gcm-test.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - key
    - message
    - digest
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: test_polyval_internal
    functionSourceFile: /src/nettle/testsuite/siv-gcm-test.c
    functionUses: 0
    functionsReached:
    - block16_zero
    - tstring_print_hex
    - print_hex
    - _siv_ghash_update
    - FAIL
    - MEMEQ
    - memcpy
    - block16_bswap
    - fprintf
    - ASSERT
    - _siv_ghash_set_key
    linkageType: ''
    returnType: void
    signature: "void test_polyval_internal (const struct tstring *key,\n\t\t       const
      struct tstring *message,\n\t\t       const struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_polyval_internal
      Src: /src/nettle/testsuite/siv-gcm-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:112,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:120,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:123,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:127,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:135,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:141,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:143,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:152,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:159,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:163,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:171,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:176,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:183,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:186,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:187,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:195,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:198,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:201,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:203,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:210,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:212,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:216,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:219,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:223,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:236,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:243,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:247,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:252,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:255,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:257,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:261,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:264,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:268,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:273,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:277,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:279,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:282,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:284,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:288,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:291,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:292,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:297,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:300,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:303,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:306,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:309,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:312,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:315,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:318,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:324,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:328,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:333,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:340,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:345,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:348,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:351,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:354,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:357,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:359,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:363,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:368,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:372,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:375,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:377,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:381,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:384,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:387,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:396,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:399,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:405,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:408,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:413,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:420,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:423,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:425,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:429,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:432,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:434,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:438,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:441,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:443,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:450,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:453,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:462,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:465,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:471,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:474,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:479,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:486,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:489,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:491,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:495,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:498,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:502,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:507,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:510,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:514,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:519,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:522,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:524,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:531,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:532,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:540,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:541,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:549,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:550,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:560,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:564,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:567,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:570,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:573,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:576,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:579,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:581,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:585,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:588,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:594,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:600,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:603,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:606,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-gcm-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:615,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-gcm-test.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 620
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/siv-gcm-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_aead_message
    - test_polyval_internal
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - UNUSED
    argTypes:
    - gmp_randstate_t
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: test_randomize
    functionSourceFile: /src/nettle/testsuite/testutils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_randomize (gmp_randstate_t rands UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 14
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 14
    functionName: memzero_p
    functionSourceFile: /src/nettle/testsuite/salsa20-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memzero_p (const uint8_t *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:33,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:35,1
    - Dst: salsa20_set_key
      Src: /src/nettle/testsuite/salsa20-test.c:37,1
    - Dst: salsa20_set_nonce
      Src: /src/nettle/testsuite/salsa20-test.c:38,1
    - Dst: memset
      Src: /src/nettle/testsuite/salsa20-test.c:39,1
    - Dst: salsa20_crypt
      Src: /src/nettle/testsuite/salsa20-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:43,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:44,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:46,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:49,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:50,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:51,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:52,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:53,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:54,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:56,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:58,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:59,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:60,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:61,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:62,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:63,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:64,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:69,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:70,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:71,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:72,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:73,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:74,1
    - Dst: memxor3
      Src: /src/nettle/testsuite/salsa20-test.c:77,1
    - Dst: memxor
      Src: /src/nettle/testsuite/salsa20-test.c:79,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:81,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:84,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:86,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:87,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:88,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:89,1
    - Dst: memset
      Src: /src/nettle/testsuite/salsa20-test.c:94,1
    - Dst: salsa20_set_nonce
      Src: /src/nettle/testsuite/salsa20-test.c:95,1
    - Dst: salsa20_crypt
      Src: /src/nettle/testsuite/salsa20-test.c:96,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:98,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:100,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:102,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:103,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:104,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:105,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:106,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:107,1
    - Dst: memzero_p
      Src: /src/nettle/testsuite/salsa20-test.c:109,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:111,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:113,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:114,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:115,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 4
    argNames:
    - key
    - iv
    - ciphertext
    - xor_ref
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 119
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 119
    functionName: test_salsa20_stream
    functionSourceFile: /src/nettle/testsuite/salsa20-test.c
    functionUses: 0
    functionsReached:
    - salsa20_set_key
    - salsa20_crypt
    - salsa20_set_nonce
    - memxor
    - print_hex
    - memzero_p
    - memxor3
    - FAIL
    - MEMEQ
    - memset
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_salsa20_stream(const struct tstring *key,\n\t\t    const
      struct tstring *iv,\n\t\t    const struct tstring *ciphertext,\n\t\t    const
      struct tstring *xor_ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:147,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:160,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:161,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/salsa20-test.c:164,1
    - Dst: salsa20r12_crypt
      Src: /src/nettle/testsuite/salsa20-test.c:165,1
    - Dst: memzero_p
      Src: /src/nettle/testsuite/salsa20-test.c:167,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:169,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:170,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:171,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:172,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:173,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/salsa20-test.c:176,1
    - Dst: salsa20_crypt
      Src: /src/nettle/testsuite/salsa20-test.c:177,1
    - Dst: memzero_p
      Src: /src/nettle/testsuite/salsa20-test.c:179,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:181,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:182,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:183,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:184,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 187
    functionName: test_salsa20_core
    functionSourceFile: /src/nettle/testsuite/salsa20-test.c
    functionUses: 0
    functionsReached:
    - salsa20_crypt
    - print_hex
    - memzero_p
    - salsa20r12_crypt
    - SHEX
    - FAIL
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_salsa20_core(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:203,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/salsa20-test.c:206,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/salsa20-test.c:208,1
    - Dst: salsa20_set_key
      Src: /src/nettle/testsuite/salsa20-test.c:210,1
    - Dst: salsa20_set_nonce
      Src: /src/nettle/testsuite/salsa20-test.c:211,1
    - Dst: crypt
      Src: /src/nettle/testsuite/salsa20-test.c:213,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:216,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:218,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:219,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:220,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:222,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:224,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:225,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:226,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:227,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:228,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:229,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:230,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:231,1
    - Dst: salsa20_set_key
      Src: /src/nettle/testsuite/salsa20-test.c:233,1
    - Dst: salsa20_set_nonce
      Src: /src/nettle/testsuite/salsa20-test.c:234,1
    - Dst: crypt
      Src: /src/nettle/testsuite/salsa20-test.c:235,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/salsa20-test.c:237,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:239,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:240,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:241,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:242,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:243,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/salsa20-test.c:244,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/salsa20-test.c:245,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/salsa20-test.c:246,1
    - Dst: free
      Src: /src/nettle/testsuite/salsa20-test.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 5
    argNames:
    - crypt
    - key
    - nonce
    - cleartext
    - ciphertext
    argTypes:
    - salsa20_func*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 250
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 250
    functionName: _test_salsa20
    functionSourceFile: /src/nettle/testsuite/salsa20-test.c
    functionUses: 0
    functionsReached:
    - salsa20_set_key
    - tstring_print_hex
    - print_hex
    - free
    - xalloc
    - FAIL
    - crypt
    - salsa20_set_nonce
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void _test_salsa20(salsa20_func *crypt,\n\t      const struct tstring
      *key,\n\t      const struct tstring *nonce,\n\t      const struct tstring *cleartext,\n\t
      \     const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_salsa20_core
      Src: /src/nettle/testsuite/salsa20-test.c:262,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:267,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:268,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:270,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:270,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:273,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:278,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:282,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:283,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:285,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:285,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:288,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:289,1
    - Dst: test_salsa20r12
      Src: /src/nettle/testsuite/salsa20-test.c:291,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:291,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:295,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:300,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:302,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:306,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:307,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:312,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:318,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:324,1
    - Dst: test_salsa20
      Src: /src/nettle/testsuite/salsa20-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:330,1
    - Dst: test_salsa20_stream
      Src: /src/nettle/testsuite/salsa20-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:333,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:350,1
    - Dst: test_salsa20_stream
      Src: /src/nettle/testsuite/salsa20-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:357,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/salsa20-test.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 378
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/salsa20-test.c
    functionUses: 0
    functionsReached:
    - test_salsa20
    - test_salsa20_core
    - SHEX
    - test_salsa20_stream
    - test_salsa20r12
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve25519-dh-test.c:41,1
    - Dst: curve25519_mul_g
      Src: /src/nettle/testsuite/curve25519-dh-test.c:42,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/curve25519-dh-test.c:43,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/curve25519-dh-test.c:45,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:47,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:48,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:49,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:50,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:51,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:52,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:53,1
    - Dst: abort
      Src: /src/nettle/testsuite/curve25519-dh-test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: test_g
    functionSourceFile: /src/nettle/testsuite/curve25519-dh-test.c
    functionUses: 0
    functionsReached:
    - abort
    - print_hex
    - mark_bytes_defined
    - mark_bytes_undefined
    - MEMEQ
    - curve25519_mul_g
    - printf
    linkageType: ''
    returnType: void
    signature: void test_g (const uint8_t *s, const uint8_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve25519-dh-test.c:63,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve25519-dh-test.c:64,1
    - Dst: curve25519_mul
      Src: /src/nettle/testsuite/curve25519-dh-test.c:65,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/curve25519-dh-test.c:66,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/curve25519-dh-test.c:68,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:70,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:71,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:72,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:73,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:74,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:75,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:76,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve25519-dh-test.c:77,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve25519-dh-test.c:78,1
    - Dst: abort
      Src: /src/nettle/testsuite/curve25519-dh-test.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - s
    - b
    - r
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: test_a
    functionSourceFile: /src/nettle/testsuite/curve25519-dh-test.c
    functionUses: 0
    functionsReached:
    - abort
    - curve25519_mul
    - print_hex
    - mark_bytes_defined
    - mark_bytes_undefined
    - MEMEQ
    - printf
    linkageType: ''
    returnType: void
    signature: void test_a (const uint8_t *s, const uint8_t *b, const uint8_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/curve25519-dh-test.c:88,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve25519-dh-test.c:91,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:91,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:93,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve25519-dh-test.c:95,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:95,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:97,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve25519-dh-test.c:100,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:100,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:102,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:104,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve25519-dh-test.c:107,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:107,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:109,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:111,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve25519-dh-test.c:116,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:116,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:118,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve25519-dh-test.c:122,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:122,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:124,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve25519-dh-test.c:129,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:129,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:131,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:133,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve25519-dh-test.c:138,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:138,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:140,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:142,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve25519-dh-test.c:147,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:147,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:149,1
    - Dst: H
      Src: /src/nettle/testsuite/curve25519-dh-test.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 153
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/curve25519-dh-test.c
    functionUses: 0
    functionsReached:
    - SKIP
    - H
    - test_g
    - test_a
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/nettle/testsuite/rsa-keygen-test.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED
    - c
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: progress
    functionSourceFile: /src/nettle/testsuite/rsa-keygen-test.c
    functionUses: 9
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void progress(void *ctx UNUSED, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-keygen-test.c:21,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-keygen-test.c:23,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-keygen-test.c:24,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-keygen-test.c:27,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-keygen-test.c:29,1
    - Dst: rsa_generate_keypair
      Src: /src/nettle/testsuite/rsa-keygen-test.c:29,1
    - Dst: test_rsa_key
      Src: /src/nettle/testsuite/rsa-keygen-test.c:35,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-keygen-test.c:37,1
    - Dst: test_rsa_md5
      Src: /src/nettle/testsuite/rsa-keygen-test.c:45,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-keygen-test.c:48,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/rsa-keygen-test.c:50,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-keygen-test.c:51,1
    - Dst: rsa_generate_keypair
      Src: /src/nettle/testsuite/rsa-keygen-test.c:51,1
    - Dst: test_rsa_key
      Src: /src/nettle/testsuite/rsa-keygen-test.c:57,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-keygen-test.c:59,1
    - Dst: test_rsa_sha1
      Src: /src/nettle/testsuite/rsa-keygen-test.c:72,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-keygen-test.c:74,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-keygen-test.c:75,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-keygen-test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 11
    functionDepth: 5
    functionLinenumber: 11
    functionLinenumberEnd: 77
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-keygen-test.c
    functionUses: 0
    functionsReached:
    - test_rsa_key
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - knuth_lfib_init
    - rsa_private_key_init
    - rsa_generate_keypair
    - mpz_init
    - mpz_set_ui
    - test_rsa_sha1
    - mpz_clear
    - mpz_set_str
    - test_rsa_md5
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:10,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:11,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:12,1
    - Dst: ecc_size
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:17,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:18,1
    - Dst: ecc_size_a
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:18,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:19,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:19,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:20,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:20,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:21,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:22,1
    - Dst: test_ecc_get_ga
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:25,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:26,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:30,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:31,1
    - Dst: mpn_sub_1
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:35,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:36,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:37,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:41,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:43,1
    - Dst: test_ecc_ga
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:45,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:47,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:52,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:54,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:57,1
    - Dst: struct ecc_curve*::mul
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:60,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:61,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:63,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:64,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:72,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:73,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:75,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:76,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:77,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:78,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:80,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:81,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:82,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:84,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:85,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:88,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:89,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:90,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:91,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:92,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:94,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-mul-a-test.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 96
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-mul-a-test.c
    functionUses: 0
    functionsReached:
    - mpn_cmp
    - ecc_size_a
    - gmp_randinit_default
    - mpn_sub_1
    - mpn_sub_n
    - mpn_zero
    - mpz_rrandomb
    - test_ecc_ga
    - ecc_size
    - test_ecc_mul_h
    - free
    - mpn_out_str
    - struct ecc_curve*::mul
    - struct ecc_curve*::h_to_a
    - mpz_urandomb
    - xalloc_limbs
    - struct ecc_curve*::mul_g
    - test_randomize
    - fprintf
    - abort
    - gmp_randclear
    - ecc_size_j
    - test_ecc_get_ga
    - mpz_init
    - mpz_clear
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:7,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:7,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:8,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:8,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:9,1
    - Dst: BASE16_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:9,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:11,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:11,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:12,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:12,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:13,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:13,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:14,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:14,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base16-test.c:15,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/base16-test.c:15,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:17,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:17,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:18,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:18,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:19,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:19,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:20,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:20,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:21,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:21,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:22,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:22,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base16-test.c:23,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base16-test.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/base16-test.c
    functionUses: 0
    functionsReached:
    - BASE16_DECODE_LENGTH
    - BASE16_ENCODE_LENGTH
    - LDATA
    - ASSERT
    - test_armor
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:18,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:18,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:19,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:32,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:36,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:45,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:48,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:51,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:59,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:63,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:72,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:84,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:96,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:99,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:108,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:120,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:123,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:132,1
    - Dst: test_cipher_ctr
      Src: /src/nettle/testsuite/ctr-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:144,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ctr-test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 149
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ctr-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_cipher_ctr
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:14,1
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct sha3_state*
    constantsTouched: []
    func_position:
      end: 17
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 17
    functionName: display
    functionSourceFile: /src/nettle/testsuite/sha3-permute-test.c
    functionUses: 11
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display (const struct sha3_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/testsuite/sha3-permute-test.c:41,1
    - Dst: sha3_permute
      Src: /src/nettle/testsuite/sha3-permute-test.c:42,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sha3-permute-test.c:43,1
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:45,1
    - Dst: display
      Src: /src/nettle/testsuite/sha3-permute-test.c:45,1
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:46,1
    - Dst: display
      Src: /src/nettle/testsuite/sha3-permute-test.c:46,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/sha3-permute-test.c:47,1
    - Dst: sha3_permute
      Src: /src/nettle/testsuite/sha3-permute-test.c:49,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sha3-permute-test.c:50,1
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:52,1
    - Dst: display
      Src: /src/nettle/testsuite/sha3-permute-test.c:52,1
    - Dst: printf
      Src: /src/nettle/testsuite/sha3-permute-test.c:53,1
    - Dst: display
      Src: /src/nettle/testsuite/sha3-permute-test.c:53,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/sha3-permute-test.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha3-permute-test.c
    functionUses: 0
    functionsReached:
    - display
    - sha3_permute
    - FAIL
    - MEMEQ
    - memset
    - printf
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:79,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:89,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:99,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:102,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:108,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:118,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:129,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:136,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:144,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:152,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:165,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:166,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:177,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:180,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:181,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:199,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:213,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:216,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:219,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:237,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/siv-cmac-test.c:243,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/siv-cmac-test.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 257
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/siv-cmac-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_aead_message
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gcm-test.c:13,1
    - Dst: gcm_aes128_set_key
      Src: /src/nettle/testsuite/gcm-test.c:14,1
    - Dst: gcm_aes128_set_iv
      Src: /src/nettle/testsuite/gcm-test.c:15,1
    - Dst: gcm_aes128_update
      Src: /src/nettle/testsuite/gcm-test.c:16,1
    - Dst: gcm_aes128_digest
      Src: /src/nettle/testsuite/gcm-test.c:17,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/gcm-test.c:18,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:20,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/gcm-test.c:21,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:22,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/gcm-test.c:23,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:24,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/gcm-test.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - ref
    argTypes:
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 27
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 27
    functionName: test_gcm_hash
    functionSourceFile: /src/nettle/testsuite/gcm-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - gcm_aes128_set_iv
    - gcm_aes128_update
    - tstring_print_hex
    - gcm_aes128_digest
    - print_hex
    - FAIL
    - MEMEQ
    - fprintf
    - gcm_aes128_set_key
    linkageType: ''
    returnType: void
    signature: void test_gcm_hash (const struct tstring *msg, const struct tstring
      *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gcm-test.c:35,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gcm-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gcm-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gcm-test.c:38,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/gcm-test.c:44,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/gcm-test.c:45,1
    - Dst: _ghash_set_key
      Src: /src/nettle/testsuite/gcm-test.c:46,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/gcm-test.c:48,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/gcm-test.c:49,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/gcm-test.c:50,1
    - Dst: _ghash_update
      Src: /src/nettle/testsuite/gcm-test.c:51,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/gcm-test.c:52,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/gcm-test.c:53,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/gcm-test.c:55,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:57,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:58,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/gcm-test.c:59,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:60,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/gcm-test.c:61,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:62,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/gcm-test.c:63,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:64,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/gcm-test.c:65,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:66,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/gcm-test.c:67,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gcm-test.c:68,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/gcm-test.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 4
    argNames:
    - key
    - iv
    - message
    - digest
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: test_ghash_internal
    functionSourceFile: /src/nettle/testsuite/gcm-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - mark_bytes_defined
    - mark_bytes_undefined
    - MEMEQ
    - FAIL
    - memcpy
    - _ghash_set_key
    - fprintf
    - _ghash_update
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_ghash_internal (const struct tstring *key,\n\t\t     const
      struct tstring *iv,\n\t\t     const struct tstring *message,\n\t\t     const
      struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/testsuite/gcm-test.c:77,1
    - Dst: gcm_aes128_set_iv
      Src: /src/nettle/testsuite/gcm-test.c:78,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/gcm-test.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - iv
    argTypes:
    - struct gcm_aes128_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: gcm_aes128_set_iv_hack
    functionSourceFile: /src/nettle/testsuite/gcm-test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - gcm_aes128_set_iv
    linkageType: ''
    returnType: void
    signature: void gcm_aes128_set_iv_hack (struct gcm_aes128_ctx *ctx, size_t size,
      const uint8_t *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:93,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:97,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:105,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:106,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:121,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:137,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:141,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:144,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:155,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:159,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:171,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:174,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:177,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:183,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:188,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:204,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:208,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:213,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:222,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:231,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:234,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:329,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:336,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:428,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:432,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:435,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:438,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:439,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:449,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:453,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:456,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:465,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:468,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:471,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:477,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:482,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:489,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:495,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:500,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:507,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:513,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:521,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:525,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:528,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:531,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:534,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:537,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:540,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:541,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:552,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:557,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:561,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:573,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:574,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:579,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:591,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:592,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:597,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:609,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:613,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:624,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:627,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:629,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:636,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:641,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:648,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:653,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:660,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:665,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:672,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:678,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:687,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:690,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:691,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:696,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:699,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:702,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:705,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:714,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:719,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:726,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:732,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:737,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:744,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:750,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:755,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:762,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:768,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:776,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/gcm-test.c:782,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:783,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:784,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:785,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:789,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:793,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:794,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:798,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:798,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:799,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:800,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:800,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:801,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:802,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:802,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:803,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:804,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:804,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:805,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:806,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:806,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:807,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:808,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:808,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:809,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:810,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:810,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:811,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:812,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:812,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:813,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:814,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:814,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:815,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:816,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:816,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:817,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:818,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:818,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:819,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:820,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:820,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:821,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:822,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:822,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:823,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:824,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:824,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:825,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:826,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:826,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:827,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:828,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:828,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:829,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:830,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:830,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:831,1
    - Dst: test_gcm_hash
      Src: /src/nettle/testsuite/gcm-test.c:832,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gcm-test.c:832,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:833,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:836,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:836,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:837,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:838,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:839,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:841,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:841,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:842,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:843,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:844,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:846,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:846,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:847,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:848,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:849,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:851,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:851,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:852,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:853,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:854,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:856,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:856,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:857,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:858,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:859,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:861,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:861,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:862,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:863,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:864,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:866,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:866,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:867,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:868,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:869,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:871,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:871,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:872,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:873,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:874,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:876,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:876,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:877,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:878,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:879,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:881,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:881,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:882,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:883,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:884,1
    - Dst: test_ghash_internal
      Src: /src/nettle/testsuite/gcm-test.c:886,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:886,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:887,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:888,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gcm-test.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 890
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gcm-test.c
    functionUses: 0
    functionsReached:
    - test_aead
    - SDATA
    - SHEX
    - test_gcm_hash
    - test_ghash_internal
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:54,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:56,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:79,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:102,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:123,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:125,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:148,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:171,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:194,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:216,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:217,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:240,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:261,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:263,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:285,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:286,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:309,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:330,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:332,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:354,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:355,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:378,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:399,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:401,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:423,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:424,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:447,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:468,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:470,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:492,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:493,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:516,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:537,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:539,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:561,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:562,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:585,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:606,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:608,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:630,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:631,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:654,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:675,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:677,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:699,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:700,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:723,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:744,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:746,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:768,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:769,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:790,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:791,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:792,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:813,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:814,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:815,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:836,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:837,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:838,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:859,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:860,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:861,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:882,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:883,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:884,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:905,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:906,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:907,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:928,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:929,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:930,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:951,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:952,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:953,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:974,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:975,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:976,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:997,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:998,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:999,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1020,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1021,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1022,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1043,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1044,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1045,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1066,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1067,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1068,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1089,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1090,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1091,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1114,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1135,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1137,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1159,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1160,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1183,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1204,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1206,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1229,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1252,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1273,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1275,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1297,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1298,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1321,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1342,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1344,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1367,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1390,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1411,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1413,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1435,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1436,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1459,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1480,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1482,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1504,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1505,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1528,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1549,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1551,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1573,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1574,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1597,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1618,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1620,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1642,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1643,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1666,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1687,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1689,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1711,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1712,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1735,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1756,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1758,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1779,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1780,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1781,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1802,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1803,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1804,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1825,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1826,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1827,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1848,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1849,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1850,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1871,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1872,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1873,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1894,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1895,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1896,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1917,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1918,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1919,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1940,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1941,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1942,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1963,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1964,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1965,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:1986,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1987,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:1988,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2009,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2010,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2011,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2032,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2033,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2034,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2055,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2056,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2057,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2078,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2079,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2080,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2103,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2126,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2149,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2171,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2172,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2195,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2216,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2218,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2241,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2264,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2285,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2287,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2310,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2333,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2354,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2356,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2379,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2402,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2423,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2425,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2448,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2471,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2492,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2494,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2516,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2517,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2540,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2561,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2563,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2585,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2586,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2609,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2630,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2632,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2654,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2655,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2678,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2699,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2701,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2723,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2724,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2747,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2768,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2770,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2791,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2792,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2793,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2814,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2815,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2816,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2837,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2838,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2839,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2860,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2861,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2862,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2883,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2884,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2885,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2906,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2907,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2908,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2929,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2930,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2931,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2952,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2953,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2954,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2975,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2976,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2977,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:2998,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:2999,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3000,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3021,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3022,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3023,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3044,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3045,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3046,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3067,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3068,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3069,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3090,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3091,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3092,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3115,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3138,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3159,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3161,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3183,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3184,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3207,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3230,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3252,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3253,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3276,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3297,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3299,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3322,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3345,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3368,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3390,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3391,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3414,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3435,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3437,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3459,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3460,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3483,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3504,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3506,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3528,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3529,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3552,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3573,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3575,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3597,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3598,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3621,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3642,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3644,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3666,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3667,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3690,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3711,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3713,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3735,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3736,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3759,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3780,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3781,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3782,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3803,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3804,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3805,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3826,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3827,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3828,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3849,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3850,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3851,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3872,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3873,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3874,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3895,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3896,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3897,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3918,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3919,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3920,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3941,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3942,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3943,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3964,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3965,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3966,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:3987,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3988,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:3989,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4010,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4011,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4012,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4033,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4034,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4035,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4056,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4057,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4058,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4079,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4080,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4081,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4104,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4127,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4150,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4171,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4173,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4195,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4196,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4219,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4242,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4264,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4265,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4288,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4311,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4333,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4334,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4357,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4380,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4402,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4403,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4426,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4449,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4471,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4472,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4495,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4516,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4518,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4540,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4541,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4564,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4585,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4587,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4609,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4610,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4633,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4654,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4656,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4678,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4679,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4702,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4723,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4725,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4747,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4748,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4771,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4792,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4793,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4794,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4815,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4816,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4817,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4838,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4839,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4840,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4861,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4862,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4863,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4884,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4885,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4886,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4907,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4908,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4909,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4930,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4931,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4932,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4953,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4954,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4955,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4976,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4977,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:4978,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:4999,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5000,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5001,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5022,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5023,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5024,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5045,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5046,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5047,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5068,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5069,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5070,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5091,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5092,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5093,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5116,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5139,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5162,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5183,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5185,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5208,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5231,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5252,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5254,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5277,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5300,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5323,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5345,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5346,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5369,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5390,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5392,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5414,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5415,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5438,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5459,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5461,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5483,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5484,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5507,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5528,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5530,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5552,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5553,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5576,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5597,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5599,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5621,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5622,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5645,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5666,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5668,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5690,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5691,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5714,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5735,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5737,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5759,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5760,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5781,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5782,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5783,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5804,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5805,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5806,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5827,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5828,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5829,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5850,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5851,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5852,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5873,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5874,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5875,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5896,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5897,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5898,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake256-test.c:5919,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5920,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake256-test.c:5921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5942
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 5942
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/shake256-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_xof
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:7,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:8,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:10,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:11,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:13,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:14,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:16,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:17,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:19,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:20,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:25,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:27,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/ripemd160-test.c:33,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/ripemd160-test.c:33,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ripemd160-test.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 35
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ripemd160-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:20,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/cmac-test.c:21,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:22,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:26,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:32,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:39,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:47,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:53,1
    - Dst: test_cmac_aes128
      Src: /src/nettle/testsuite/cmac-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:59,1
    - Dst: test_cmac_aes256
      Src: /src/nettle/testsuite/cmac-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:62,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/cmac-test.c:63,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:64,1
    - Dst: test_cmac_aes256
      Src: /src/nettle/testsuite/cmac-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:68,1
    - Dst: test_cmac_aes256
      Src: /src/nettle/testsuite/cmac-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:72,1
    - Dst: test_cmac_aes256
      Src: /src/nettle/testsuite/cmac-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:76,1
    - Dst: test_cmac_des3
      Src: /src/nettle/testsuite/cmac-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:79,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/cmac-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:81,1
    - Dst: test_cmac_des3
      Src: /src/nettle/testsuite/cmac-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:85,1
    - Dst: test_cmac_des3
      Src: /src/nettle/testsuite/cmac-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:89,1
    - Dst: test_cmac_des3
      Src: /src/nettle/testsuite/cmac-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:93,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cmac-test.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 95
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cmac-test.c
    functionUses: 0
    functionsReached:
    - test_cmac_aes256
    - test_cmac_des3
    - SDATA
    - SHEX
    - test_cmac_aes128
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_decode_init
      Src: /src/nettle/testsuite/ed25519-test.c:47,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:48,1
    - Dst: base16_decode_update
      Src: /src/nettle/testsuite/ed25519-test.c:48,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:49,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:50,1
    - Dst: base16_decode_final
      Src: /src/nettle/testsuite/ed25519-test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: decode_hex
    functionSourceFile: /src/nettle/testsuite/ed25519-test.c
    functionUses: 0
    functionsReached:
    - base16_decode_init
    - base16_decode_final
    - ASSERT
    - base16_decode_update
    linkageType: ''
    returnType: void
    signature: void decode_hex (size_t length, uint8_t *dst, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed25519-test.c:74,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed25519-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:77,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed25519-test.c:79,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed25519-test.c:80,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:81,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed25519-test.c:83,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:84,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:85,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed25519-test.c:88,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/ed25519-test.c:90,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed25519-test.c:93,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/ed25519-test.c:95,1
    - Dst: ed25519_sha512_public_key
      Src: /src/nettle/testsuite/ed25519-test.c:96,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ed25519-test.c:97,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:99,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ed25519-test.c:99,1
    - Dst: ed25519_sha512_sign
      Src: /src/nettle/testsuite/ed25519-test.c:101,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ed25519-test.c:102,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:104,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ed25519-test.c:104,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:106,1
    - Dst: ed25519_sha512_verify
      Src: /src/nettle/testsuite/ed25519-test.c:106,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:109,1
    - Dst: ed25519_sha512_verify
      Src: /src/nettle/testsuite/ed25519-test.c:109,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/ed25519-test.c:111,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:113,1
    - Dst: ed25519_sha512_verify
      Src: /src/nettle/testsuite/ed25519-test.c:113,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:115,1
    - Dst: ed25519_sha512_verify
      Src: /src/nettle/testsuite/ed25519-test.c:115,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed25519-test.c:120,1
    - Dst: ed25519_sha512_verify
      Src: /src/nettle/testsuite/ed25519-test.c:120,1
    - Dst: free
      Src: /src/nettle/testsuite/ed25519-test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 123
    functionName: test_one
    functionSourceFile: /src/nettle/testsuite/ed25519-test.c
    functionUses: 1
    functionsReached:
    - ed25519_sha512_public_key
    - free
    - strchr
    - ed25519_sha512_verify
    - xalloc
    - mark_bytes_defined
    - mark_bytes_undefined
    - decode_hex
    - MEMEQ
    - memcpy
    - ed25519_sha512_sign
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_one (const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/testsuite/ed25519-test.c:134,1
    - Dst: getc
      Src: /src/nettle/testsuite/ed25519-test.c:140,1
    - Dst: realloc
      Src: /src/nettle/testsuite/ed25519-test.c:152,1
    - Dst: die
      Src: /src/nettle/testsuite/ed25519-test.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - lineptr
    - n
    - f
    argTypes:
    - char**
    - size_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: getline
    functionSourceFile: /src/nettle/testsuite/ed25519-test.c
    functionUses: 13
    functionsReached:
    - die
    - xalloc
    - getc
    - realloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t getline(char **lineptr, size_t *n, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/ed25519-test.c:168,1
    - Dst: fopen
      Src: /src/nettle/testsuite/ed25519-test.c:175,1
    - Dst: die
      Src: /src/nettle/testsuite/ed25519-test.c:177,1
    - Dst: strerror
      Src: /src/nettle/testsuite/ed25519-test.c:178,1
    - Dst: getline
      Src: /src/nettle/testsuite/ed25519-test.c:180,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed25519-test.c:181,1
    - Dst: free
      Src: /src/nettle/testsuite/ed25519-test.c:183,1
    - Dst: fclose
      Src: /src/nettle/testsuite/ed25519-test.c:184,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed25519-test.c:189,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed25519-test.c:190,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed25519-test.c:191,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed25519-test.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 194
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ed25519-test.c
    functionUses: 0
    functionsReached:
    - fopen
    - die
    - fclose
    - free
    - SKIP
    - test_one
    - getline
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:19,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:20,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:21,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:22,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:23,1
    - Dst: ecc_gostdsa_sign_itch
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:23,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:25,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:27,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:28,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:29,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:30,1
    - Dst: ecc_gostdsa_sign
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:32,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:35,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:36,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:38,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:38,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:39,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:39,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:41,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:42,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:43,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:44,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:45,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:46,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:48,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:49,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:50,1
    - Dst: abort
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:51,1
    - Dst: free
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:54,1
    - Dst: free
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:55,1
    - Dst: free
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:56,1
    - Dst: free
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:57,1
    - Dst: free
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:58,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:60,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:61,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 6
    argNames:
    - ecc
    - sz
    - sk
    - h
    - r
    - s
    argTypes:
    - struct ecc_curve*
    - char*
    - char*
    - struct tstring*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 4
    functionDepth: 4
    functionLinenumber: 4
    functionLinenumberEnd: 63
    functionName: test_gostdsa
    functionSourceFile: /src/nettle/testsuite/gostdsa-sign-test.c
    functionUses: 0
    functionsReached:
    - abort
    - write_mpn
    - mpz_roinit_n
    - fprintf
    - ecc_gostdsa_sign
    - ecc_gostdsa_sign_itch
    - free
    - dsa_signature_clear
    - mpz_cmp
    - mpz_out_str
    - xalloc_limbs
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    - mpz_set_str
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: "void test_gostdsa (const struct ecc_curve *ecc,\n\t    /* Private
      key */\n\t    const char *sz,\n\t    /* Random nonce */\n\t    const char *sk,\n\t
      \   /* Hash */\n\t    const struct tstring *h,\n\t    /* Expected signature
      */\n\t    const char *r, const char *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_gostdsa
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:68,1
    - Dst: nettle_get_gost_gc256b
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:73,1
    - Dst: test_gostdsa
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:79,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-sign-test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 94
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gostdsa-sign-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_gostdsa
    - nettle_get_gost_gc256b
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:12,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-add-test.c:12,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:13,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-add-test.c:13,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:14,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-add-test.c:14,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:15,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-add-test.c:15,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:16,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:18,1
    - Dst: test_ecc_get_g
      Src: /src/nettle/testsuite/ecc-add-test.c:20,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/testsuite/ecc-add-test.c:22,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:23,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:25,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:26,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:28,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:29,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:31,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:32,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:34,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:35,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/testsuite/ecc-add-test.c:37,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:38,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-add-test.c:42,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-add-test.c:42,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:44,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-add-test.c:47,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:50,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:51,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/testsuite/ecc-add-test.c:53,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:54,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:56,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:57,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/testsuite/ecc-add-test.c:59,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:60,1
    - Dst: struct ecc_curve*::add_hhh
      Src: /src/nettle/testsuite/ecc-add-test.c:62,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:63,1
    - Dst: struct ecc_curve*::add_hh
      Src: /src/nettle/testsuite/ecc-add-test.c:65,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:66,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:68,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:72,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/testsuite/ecc-add-test.c:72,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:73,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:75,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/testsuite/ecc-add-test.c:75,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:78,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/testsuite/ecc-add-test.c:78,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:79,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-add-test.c:81,1
    - Dst: ecc_nonsec_add_jjj
      Src: /src/nettle/testsuite/ecc-add-test.c:81,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-add-test.c:82,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:85,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:86,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:87,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:88,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-add-test.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 91
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-add-test.c
    functionUses: 0
    functionsReached:
    - struct ecc_curve*::dup
    - ecc_nonsec_add_jjj
    - test_ecc_mul_h
    - free
    - struct ecc_curve*::add_hhh
    - ecc_size_j
    - test_ecc_get_g
    - xalloc_limbs
    - mpn_zero
    - struct ecc_curve*::add_hh
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:44,1
    - Dst: mpz_init_set
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:45,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:46,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:47,1
    - Dst: mpz_powm
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:48,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:50,1
    - Dst: mpz_sub
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:57,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:58,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:58,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:61,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - ul
    - p
    argTypes:
    - mp_limb_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: mpz_ui_kronecker
    functionSourceFile: /src/nettle/testsuite/ecc-sqrt-test.c
    functionUses: 0
    functionsReached:
    - mpz_init_set
    - mpz_sub_ui
    - mpz_init_set_ui
    - mpz_clear
    - mpz_powm
    - mpz_tdiv_q_2exp
    - mpz_cmp_ui
    - ASSERT
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int mpz_ui_kronecker (mp_limb_t ul, const mpz_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:81,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:82,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:84,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:86,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:87,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:88,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:91,1
    - Dst: memset
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:92,1
    - Dst: struct ecc_modulo*::sqrt
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:93,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:95,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:97,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:99,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:101,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:103,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:104,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:105,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:106,1
    - Dst: mpz_ui_kronecker
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:110,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:114,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:119,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:121,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:126,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:127,1
    - Dst: struct ecc_modulo*::reduce
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:128,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:132,1
    - Dst: struct ecc_modulo*::sqrt
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:134,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:136,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:137,1
    - Dst: ecc_mod_mul_1
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:138,1
    - Dst: struct ecc_modulo*::sqrt
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:140,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:142,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:145,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:146,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:147,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:151,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:152,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:153,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:155,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:158,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:159,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:160,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:161,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:162,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:165,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:166,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:167,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:168,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 3
    argNames:
    - rands
    - m
    - use_redc
    argTypes:
    - gmp_randstate_t
    - struct ecc_modulo*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 170
    functionName: test_sqrt
    functionSourceFile: /src/nettle/testsuite/ecc-sqrt-test.c
    functionUses: 0
    functionsReached:
    - mpz_roinit_n
    - mpz_ui_kronecker
    - mpn_zero
    - mpz_rrandomb
    - ecc_mod_zero_p
    - mpz_mul
    - mpz_congruent_p
    - free
    - ecc_mod_mul_1
    - memset
    - mpn_out_str
    - mpz_limbs_copy
    - mpz_urandomb
    - mpz_out_str
    - xalloc_limbs
    - struct ecc_modulo*::sqrt
    - mpz_mul_ui
    - abort
    - struct ecc_modulo*::reduce
    - mpz_mod
    - mpz_init
    - mpz_clear
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_sqrt (gmp_randstate_t rands, const struct ecc_modulo *m,
      int use_redc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:187,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:188,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:189,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:191,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:193,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:194,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:195,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:196,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:199,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:200,1
    - Dst: memset
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:202,1
    - Dst: struct ecc_modulo*::sqrt_ratio
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:203,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:205,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:207,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:209,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:211,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:213,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:214,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:215,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:216,1
    - Dst: mpz_ui_kronecker
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:220,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:224,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:230,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:231,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:235,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:236,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:238,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:239,1
    - Dst: struct ecc_modulo*::sqrt_ratio
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:240,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:242,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:243,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:244,1
    - Dst: struct ecc_modulo*::sqrt_ratio
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:245,1
    - Dst: mpz_divisible_p
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:247,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:251,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:254,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:255,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:256,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:257,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:258,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:262,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:263,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:264,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:265,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:267,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:270,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:271,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:272,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:273,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:274,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:275,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:276,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:279,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:280,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:281,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:282,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:283,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:284,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 2
    argNames:
    - rands
    - m
    argTypes:
    - gmp_randstate_t
    - struct ecc_modulo*
    constantsTouched: []
    func_position:
      end: 286
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 286
    functionName: test_sqrt_ratio
    functionSourceFile: /src/nettle/testsuite/ecc-sqrt-test.c
    functionUses: 0
    functionsReached:
    - mpz_roinit_n
    - mpz_ui_kronecker
    - mpn_zero
    - mpz_rrandomb
    - struct ecc_modulo*::sqrt_ratio
    - ecc_mod_zero_p
    - mpz_mul
    - mpz_congruent_p
    - free
    - memset
    - mpn_out_str
    - mpz_limbs_copy
    - mpz_urandomb
    - mpz_out_str
    - xalloc_limbs
    - mpz_mul_ui
    - abort
    - mpz_mod
    - mpz_init
    - mpz_clear
    - mpz_divisible_p
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_sqrt_ratio (gmp_randstate_t rands, const struct ecc_modulo
      *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:294,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:295,1
    - Dst: test_sqrt
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:300,1
    - Dst: test_sqrt_ratio
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:302,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-sqrt-test.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-sqrt-test.c
    functionUses: 0
    functionsReached:
    - gmp_randclear
    - gmp_randinit_default
    - test_sqrt
    - test_sqrt_ratio
    - test_randomize
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:12,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:18,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:24,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:26,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:27,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:33,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:36,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:38,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:39,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:42,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:45,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:46,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:48,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:51,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:54,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:57,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:60,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:63,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:66,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:69,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:75,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:78,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:81,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:84,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:87,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:90,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:93,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:96,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:99,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:102,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:105,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:108,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:111,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:114,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:117,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:120,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:123,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:126,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:129,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:132,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:135,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:138,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:141,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:144,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:147,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:150,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:153,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:156,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:159,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:162,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:165,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:168,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:171,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:174,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:177,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:180,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:183,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:186,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:189,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:192,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:195,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:198,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:201,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:203,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:204,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:207,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:210,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:213,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:216,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:219,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:222,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:225,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:228,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:231,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:234,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:237,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:240,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:243,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:246,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:249,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:252,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:255,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:258,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:261,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:264,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:267,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:270,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:273,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:276,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:279,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:282,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:285,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:288,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:291,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:292,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:294,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:297,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:300,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:303,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:306,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:309,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:312,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:315,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:318,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:321,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:324,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:327,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:330,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:333,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:336,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:339,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:342,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:345,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:347,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:348,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:351,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:354,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:357,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:360,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:363,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:366,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:369,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:372,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:375,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:378,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:381,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:384,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:387,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:390,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:393,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:396,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:399,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:402,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:405,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:408,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:411,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:414,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:417,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:420,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:423,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:426,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:429,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:432,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:435,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:438,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:439,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:441,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:444,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:447,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:450,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:453,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:456,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:459,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:462,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:465,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:468,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:471,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:472,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:474,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:477,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:478,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:480,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:483,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:486,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:489,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:492,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:495,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:498,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:501,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:504,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:507,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:510,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:513,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:516,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:519,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:522,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:525,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:528,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:531,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:534,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:537,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:540,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:543,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:546,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:549,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:552,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:555,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:558,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:561,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:564,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:567,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:568,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:570,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:571,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:573,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:576,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:578,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:579,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:580,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:582,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:585,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:588,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:590,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:591,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:593,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:594,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:597,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:600,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:603,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:606,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:609,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:612,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:615,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:618,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:621,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:623,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:624,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:627,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:630,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:633,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:636,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:639,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:642,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:645,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:648,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:651,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:654,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:657,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:660,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:663,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:666,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:669,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:672,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:675,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:678,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:679,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:681,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:684,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:687,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:690,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:691,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:692,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:693,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:696,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:699,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:702,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:703,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:705,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:708,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:711,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:714,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:717,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:720,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:723,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:725,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:726,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:729,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:732,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:735,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:738,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:739,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:741,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:743,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:744,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:747,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:748,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:750,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:753,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:756,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:759,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:762,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:765,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:768,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:771,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-512-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:773,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-512-test.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 775
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha3-512-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_hash
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/nettle/testsuite/dsa-keygen-test.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED
    - c
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: progress
    functionSourceFile: /src/nettle/testsuite/dsa-keygen-test.c
    functionUses: 9
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void progress(void *ctx UNUSED, int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_params_init
      Src: /src/nettle/testsuite/dsa-keygen-test.c:20,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/dsa-keygen-test.c:21,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/dsa-keygen-test.c:22,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/dsa-keygen-test.c:24,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/dsa-keygen-test.c:26,1
    - Dst: dsa_generate_params
      Src: /src/nettle/testsuite/dsa-keygen-test.c:26,1
    - Dst: dsa_generate_keypair
      Src: /src/nettle/testsuite/dsa-keygen-test.c:31,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-keygen-test.c:35,1
    - Dst: test_dsa160
      Src: /src/nettle/testsuite/dsa-keygen-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/dsa-keygen-test.c:38,1
    - Dst: dsa_generate_params
      Src: /src/nettle/testsuite/dsa-keygen-test.c:38,1
    - Dst: dsa_generate_keypair
      Src: /src/nettle/testsuite/dsa-keygen-test.c:43,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-keygen-test.c:47,1
    - Dst: test_dsa256
      Src: /src/nettle/testsuite/dsa-keygen-test.c:48,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/dsa-keygen-test.c:50,1
    - Dst: dsa_generate_params
      Src: /src/nettle/testsuite/dsa-keygen-test.c:50,1
    - Dst: dsa_generate_keypair
      Src: /src/nettle/testsuite/dsa-keygen-test.c:55,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-keygen-test.c:59,1
    - Dst: test_dsa256
      Src: /src/nettle/testsuite/dsa-keygen-test.c:60,1
    - Dst: dsa_generate_params
      Src: /src/nettle/testsuite/dsa-keygen-test.c:63,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/dsa-keygen-test.c:68,1
    - Dst: dsa_generate_keypair
      Src: /src/nettle/testsuite/dsa-keygen-test.c:70,1
    - Dst: test_dsa_key
      Src: /src/nettle/testsuite/dsa-keygen-test.c:73,1
    - Dst: test_dsa256
      Src: /src/nettle/testsuite/dsa-keygen-test.c:74,1
    - Dst: dsa_params_clear
      Src: /src/nettle/testsuite/dsa-keygen-test.c:76,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/dsa-keygen-test.c:77,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/dsa-keygen-test.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 11
    functionDepth: 5
    functionLinenumber: 11
    functionLinenumberEnd: 79
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/dsa-keygen-test.c
    functionUses: 0
    functionsReached:
    - dsa_params_init
    - test_dsa_key
    - test_dsa256
    - dsa_generate_keypair
    - knuth_lfib_init
    - dsa_params_clear
    - dsa_generate_params
    - FAIL
    - mpz_init
    - mpz_clear
    - test_dsa160
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/random-prime-test.c:12,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/random-prime-test.c:14,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/random-prime-test.c:18,1
    - Dst: nettle_random_prime
      Src: /src/nettle/testsuite/random-prime-test.c:20,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/random-prime-test.c:23,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/random-prime-test.c:23,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/random-prime-test.c:24,1
    - Dst: mpz_probab_prime_p
      Src: /src/nettle/testsuite/random-prime-test.c:24,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/random-prime-test.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 5
    functionDepth: 4
    functionLinenumber: 5
    functionLinenumberEnd: 28
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/random-prime-test.c
    functionUses: 0
    functionsReached:
    - nettle_random_prime
    - knuth_lfib_init
    - mpz_probab_prime_p
    - mpz_init
    - mpz_clear
    - mpz_sizeinbase
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/aes-test.c:18,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/aes-test.c:19,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/aes-test.c:22,1
    - Dst: struct nettle_cipher*::encrypt
      Src: /src/nettle/testsuite/aes-test.c:23,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-test.c:25,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:27,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-test.c:28,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:29,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-test.c:30,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:31,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:33,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-test.c:34,1
    - Dst: invert
      Src: /src/nettle/testsuite/aes-test.c:37,1
    - Dst: struct nettle_cipher*::decrypt
      Src: /src/nettle/testsuite/aes-test.c:38,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:42,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-test.c:43,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:44,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-test.c:45,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:46,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-test.c:48,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-test.c:49,1
    - Dst: free
      Src: /src/nettle/testsuite/aes-test.c:51,1
    - Dst: free
      Src: /src/nettle/testsuite/aes-test.c:52,1
    - Dst: free
      Src: /src/nettle/testsuite/aes-test.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 5
    argNames:
    - cipher
    - invert
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_cipher*
    - invert_func*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 54
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 54
    functionName: test_invert
    functionSourceFile: /src/nettle/testsuite/aes-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - struct nettle_cipher*::decrypt
    - print_hex
    - free
    - struct nettle_cipher*::set_encrypt_key
    - struct nettle_cipher*::encrypt
    - FAIL
    - MEMEQ
    - fprintf
    - invert
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_invert(const struct nettle_cipher *cipher,\n\t    invert_func
      *invert,\n\t    const struct tstring *key,\n\t    const struct tstring *cleartext,\n\t
      \   const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:60,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:63,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:68,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:72,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:73,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:78,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:85,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:92,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:104,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:119,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:132,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/aes-test.c:138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:141,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:145,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/aes-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:153,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:154,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/aes-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:159,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/aes-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-test.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 165
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/aes-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_cipher
    - test_invert
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:10,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:10,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:10,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:11,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:13,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:13,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:13,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:14,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/testsuite/sexp-test.c:15,1
    - Dst: sexp_iterator_exit_list
      Src: /src/nettle/testsuite/sexp-test.c:17,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:20,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:20,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:20,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:21,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/testsuite/sexp-test.c:22,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:25,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:25,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:25,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:30,1
    - Dst: sexp_iterator_get_uint32
      Src: /src/nettle/testsuite/sexp-test.c:30,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:31,1
    - Dst: sexp_iterator_get_uint32
      Src: /src/nettle/testsuite/sexp-test.c:31,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:32,1
    - Dst: sexp_iterator_get_uint32
      Src: /src/nettle/testsuite/sexp-test.c:32,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:33,1
    - Dst: sexp_iterator_get_uint32
      Src: /src/nettle/testsuite/sexp-test.c:33,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:34,1
    - Dst: sexp_iterator_get_uint32
      Src: /src/nettle/testsuite/sexp-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:36,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:36,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:37,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:39,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:41,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:45,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:46,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:47,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:49,1
    - Dst: tstring_data
      Src: /src/nettle/testsuite/sexp-test.c:55,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:56,1
    - Dst: sexp_transport_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:56,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:57,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:59,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:61,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:65,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:66,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:67,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:76,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:76,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:77,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/testsuite/sexp-test.c:77,1
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/testsuite/sexp-test.c:78,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:80,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:82,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:84,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-test.c:86,1
    - Dst: sexp_iterator_next
      Src: /src/nettle/testsuite/sexp-test.c:88,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:90,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:92,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:92,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:92,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:93,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/testsuite/sexp-test.c:93,1
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/testsuite/sexp-test.c:94,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:96,1
    - Dst: sexp_iterator_first
      Src: /src/nettle/testsuite/sexp-test.c:96,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/sexp-test.c:96,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-test.c:97,1
    - Dst: sexp_iterator_enter_list
      Src: /src/nettle/testsuite/sexp-test.c:97,1
    - Dst: sexp_iterator_assoc
      Src: /src/nettle/testsuite/sexp-test.c:98,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 4
    functionDepth: 5
    functionLinenumber: 4
    functionLinenumberEnd: 100
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sexp-test.c
    functionUses: 0
    functionsReached:
    - sexp_transport_iterator_first
    - sexp_iterator_first
    - LDATA
    - sexp_iterator_get_uint32
    - sexp_iterator_next
    - sexp_iterator_exit_list
    - sexp_iterator_enter_list
    - MEMEQ
    - sexp_iterator_assoc
    - tstring_data
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:9,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:9,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:10,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:12,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:13,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:15,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:16,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:18,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:18,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:19,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:21,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:21,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:22,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:24,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:25,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:27,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:27,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:28,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/gosthash94-test.c:30,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/gosthash94-test.c:30,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gosthash94-test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 32
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gosthash94-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:50,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:51,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:52,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:53,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:54,1
    - Dst: mpz_size
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:54,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:55,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:56,1
    - Dst: mpz_size
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:56,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:57,1
    - Dst: decrypt_func
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:59,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:62,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:63,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:64,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:65,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:66,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:67,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:68,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 10
    argNames:
    - decrypt_func
    - pub
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - test_rsa_oaep_decrypt_func
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: rsa_decrypt_for_test
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - MARK_MPZ_LIMBS_UNDEFINED
    - mark_bytes_defined
    - decrypt_func
    - mark_bytes_undefined
    - MARK_MPZ_LIMBS_DEFINED
    - mpz_limbs_read
    - mpz_size
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt_for_test(test_rsa_oaep_decrypt_func decrypt_func,\n\t\t
      \    const struct rsa_public_key *pub,\n                     const struct rsa_private_key
      *key,\n                     void *random_ctx, nettle_random_func *random,\n\t\t
      \    size_t label_length, const uint8_t *label,\n                     size_t
      *length, uint8_t *message,\n                     const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:88,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:90,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:91,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:94,1
    - Dst: encrypt_func
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:94,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:99,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:103,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:104,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:105,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:108,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:115,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:115,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:123,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:123,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:129,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:130,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:130,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:131,1
    - Dst: free
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:133,1
    - Dst: free
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 8
    argNames:
    - pub
    - key
    - encrypt_func
    - decrypt_func
    - label_length
    - label
    - length
    - message
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - test_rsa_oaep_encrypt_func
    - test_rsa_oaep_decrypt_func
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 135
    functionName: test_rsa_oaep_encrypt_decrypt
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - encrypt_func
    - print_hex
    - knuth_lfib_init
    - free
    - rsa_decrypt_for_test
    - xalloc
    - MEMEQ
    - knuth_lfib_random
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_oaep_encrypt_decrypt (struct rsa_public_key *pub,\n\t\t\t
      \      struct rsa_private_key *key,\n\t\t\t       test_rsa_oaep_encrypt_func
      encrypt_func,\n\t\t\t       test_rsa_oaep_decrypt_func decrypt_func,\n\t\t\t
      \      size_t label_length, const uint8_t *label,\n\t\t\t       size_t length,
      const uint8_t *message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:148,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:149,1
    - Dst: test_rsa_set_key_2
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:151,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:154,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:160,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:166,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:173,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:179,1
    - Dst: test_rsa_oaep_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:185,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:191,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 193
    functionName: test_encrypt_decrypt
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - test_rsa_set_key_2
    - rsa_private_key_init
    - test_rsa_oaep_encrypt_decrypt
    linkageType: ''
    returnType: void
    signature: void test_encrypt_decrypt (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:204,1
    - Dst: _rsa_oaep_encrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: rsa_oaep_sha1_encrypt
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - _rsa_oaep_encrypt
    - sha1_init
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha1_encrypt (const struct rsa_public_key *key,\n\t\t
      \      void *random_ctx, nettle_random_func *random,\n\t\t       size_t label_length,
      const uint8_t *label,\n\t\t       size_t length, const uint8_t *message,\n\t\t
      \      uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:224,1
    - Dst: _rsa_oaep_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - ciphertext
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: rsa_oaep_sha1_decrypt
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - sha1_init
    - _rsa_oaep_decrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_sha1_decrypt (const struct rsa_public_key *pub,\n\t\t\t
      const struct rsa_private_key *key,\n\t\t\t void *random_ctx, nettle_random_func
      *random,\n\t\t\t size_t label_length, const uint8_t *label,\n\t\t\t size_t *length,
      uint8_t *message,\n\t\t\t const uint8_t *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:234,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - seed
    - n
    - dst
    argTypes:
    - struct tstring*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: random_from_seed
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void random_from_seed (struct tstring *seed, size_t n, uint8_t *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:255,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:257,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:258,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:261,1
    - Dst: encrypt_func
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:261,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:266,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:266,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:267,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:269,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:270,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:275,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:275,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:281,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:282,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:282,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:283,1
    - Dst: free
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:285,1
    - Dst: free
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 11
    argNames:
    - pub
    - key
    - encrypt_func
    - decrypt_func
    - random_ctx
    - random
    - label_length
    - label
    - length
    - message
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - test_rsa_oaep_encrypt_func
    - test_rsa_oaep_decrypt_func
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 287
    functionName: test_rsa_oaep_encrypt_decrypt_kat
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - encrypt_func
    - knuth_lfib_init
    - free
    - rsa_decrypt_for_test
    - xalloc
    - MEMEQ
    - knuth_lfib_random
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_oaep_encrypt_decrypt_kat (struct rsa_public_key *pub,\n\t\t\t\t
      \  struct rsa_private_key *key,\n\t\t\t\t   test_rsa_oaep_encrypt_func encrypt_func,\n\t\t\t\t
      \  test_rsa_oaep_decrypt_func decrypt_func,\n\t\t\t\t   void *random_ctx, nettle_random_func
      *random,\n\t\t\t\t   size_t label_length, const uint8_t *label,\n\t\t\t\t   size_t
      length, const uint8_t *message,\n\t\t\t\t   const uint8_t *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:333,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:340,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:342,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:342,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:346,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:355,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:360,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:365,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:370,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:375,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:380,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:380,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pub
    - key
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 382
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 382
    functionName: test_rsa_oaep_set_key
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - mpz_set_str
    - rsa_public_key_prepare
    - ASSERT
    - rsa_private_key_prepare
    linkageType: ''
    returnType: void
    signature: "void test_rsa_oaep_set_key(struct rsa_public_key *pub,\n\t\t      struct
      rsa_private_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:394,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:395,1
    - Dst: test_rsa_oaep_set_key
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:398,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:401,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:402,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:403,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:411,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:413,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:422,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:423,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:424,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:432,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:434,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:443,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:444,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:445,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:453,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:455,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:464,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:465,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:466,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:474,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:476,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:485,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:486,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:487,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:495,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:497,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:506,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:507,1
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:508,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:516,1
    - Dst: test_rsa_oaep_encrypt_decrypt_kat
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:518,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:526,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 528
    functionName: test_encrypt
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - tstring_hex
    - rsa_private_key_init
    - test_rsa_oaep_encrypt_decrypt_kat
    - test_rsa_oaep_set_key
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_encrypt (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:535,1
    - Dst: test_encrypt_decrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:537,1
    - Dst: test_encrypt
      Src: /src/nettle/testsuite/rsa-oaep-encrypt-test.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 4
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-oaep-encrypt-test.c
    functionUses: 0
    functionsReached:
    - test_encrypt_decrypt
    - SKIP
    - test_encrypt
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arctwo-test.c:47,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/arctwo-test.c:50,1
    - Dst: arctwo_set_key_ekb
      Src: /src/nettle/testsuite/arctwo-test.c:52,1
    - Dst: arctwo_encrypt
      Src: /src/nettle/testsuite/arctwo-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arctwo-test.c:55,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/arctwo-test.c:55,1
    - Dst: arctwo_decrypt
      Src: /src/nettle/testsuite/arctwo-test.c:57,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arctwo-test.c:59,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/arctwo-test.c:59,1
    - Dst: free
      Src: /src/nettle/testsuite/arctwo-test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ekb
    - key
    - cleartext
    - ciphertext
    argTypes:
    - unsigned
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: test_arctwo
    functionSourceFile: /src/nettle/testsuite/arctwo-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - free
    - xalloc
    - arctwo_encrypt
    - MEMEQ
    - arctwo_decrypt
    - arctwo_set_key_ekb
    linkageType: ''
    returnType: void
    signature: "void test_arctwo(unsigned ekb,\n\t    const struct tstring *key,\n\t
      \   const struct tstring *cleartext,\n\t    const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:69,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:71,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:76,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:82,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:88,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:90,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:93,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/arctwo-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:98,1
    - Dst: test_arctwo
      Src: /src/nettle/testsuite/arctwo-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:104,1
    - Dst: test_arctwo
      Src: /src/nettle/testsuite/arctwo-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:108,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:109,1
    - Dst: test_arctwo
      Src: /src/nettle/testsuite/arctwo-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:114,1
    - Dst: test_arctwo
      Src: /src/nettle/testsuite/arctwo-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:119,1
    - Dst: test_arctwo
      Src: /src/nettle/testsuite/arctwo-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arctwo-test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 126
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/arctwo-test.c
    functionUses: 0
    functionsReached:
    - SHEX
    - test_arctwo
    - test_cipher
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/bignum-test.c:20,1
    - Dst: nettle_mpz_init_set_str_256_s
      Src: /src/nettle/testsuite/bignum-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/bignum-test.c:23,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/bignum-test.c:23,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/bignum-test.c:25,1
    - Dst: memset
      Src: /src/nettle/testsuite/bignum-test.c:26,1
    - Dst: nettle_mpz_get_str_256
      Src: /src/nettle/testsuite/bignum-test.c:28,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/bignum-test.c:29,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/bignum-test.c:29,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/bignum-test.c:31,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/bignum-test.c:33,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/bignum-test.c:33,1
    - Dst: free
      Src: /src/nettle/testsuite/bignum-test.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - hex
    - base256
    argTypes:
    - char*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: test_bignum
    functionSourceFile: /src/nettle/testsuite/bignum-test.c
    functionUses: 0
    functionsReached:
    - nettle_mpz_init_set_str_256_s
    - free
    - nettle_mpz_get_str_256
    - xalloc
    - mpz_init_set_str
    - memset
    - MEMEQ
    - mpz_cmp
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_bignum(const char *hex, const struct tstring *base256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_si
      Src: /src/nettle/testsuite/bignum-test.c:42,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/bignum-test.c:43,1
    - Dst: nettle_mpz_sizeinbase_256_s
      Src: /src/nettle/testsuite/bignum-test.c:43,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/bignum-test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - size
    argTypes:
    - long
    - unsigned
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: test_size
    functionSourceFile: /src/nettle/testsuite/bignum-test.c
    functionUses: 3
    functionsReached:
    - mpz_init_set_si
    - mpz_clear
    - ASSERT
    - nettle_mpz_sizeinbase_256_s
    linkageType: ''
    returnType: void
    signature: void test_size(long x, unsigned size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:53,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:54,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:55,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:56,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:57,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:58,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:59,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:60,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:61,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:62,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:63,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:64,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:66,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:67,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:68,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:69,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:70,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:71,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:72,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:73,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:74,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:75,1
    - Dst: test_size
      Src: /src/nettle/testsuite/bignum-test.c:76,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:78,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:79,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:80,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:82,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:83,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:84,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:85,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:86,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:87,1
    - Dst: test_bignum
      Src: /src/nettle/testsuite/bignum-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/bignum-test.c:88,1
    - Dst: SKIP
      Src: /src/nettle/testsuite/bignum-test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 93
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/bignum-test.c
    functionUses: 0
    functionsReached:
    - test_size
    - SKIP
    - SHEX
    - test_bignum
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/testsuite/meta-mac-test.c:29,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-mac-test.c:32,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-mac-test.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/meta-mac-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/nettle/testsuite/testutils.c:27,1
    - Dst: vfprintf
      Src: /src/nettle/testsuite/testutils.c:28,1
    - Dst: va_end
      Src: /src/nettle/testsuite/testutils.c:29,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: die
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 52
    functionsReached:
    - abort
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void die(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:40,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: xalloc
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 25
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      xalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: tstring_alloc
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - xalloc
    linkageType: ''
    returnType: struct tstring
    signature: 'struct tstring *

      tstring_alloc (size_t length)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: tstring_clear
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tstring_clear(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tstring_alloc
      Src: /src/nettle/testsuite/testutils.c:75,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - length
    - data
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tstring_data
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - memcpy
    - tstring_alloc
    linkageType: ''
    returnType: struct tstring
    signature: 'struct tstring *

      tstring_data(size_t length, const uint8_t *data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tstring_alloc
      Src: /src/nettle/testsuite/testutils.c:87,1
    - Dst: BASE16_DECODE_LENGTH
      Src: /src/nettle/testsuite/testutils.c:87,1
    - Dst: base16_decode_init
      Src: /src/nettle/testsuite/testutils.c:88,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:89,1
    - Dst: base16_decode_update
      Src: /src/nettle/testsuite/testutils.c:89,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:91,1
    - Dst: base16_decode_final
      Src: /src/nettle/testsuite/testutils.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: tstring_hex
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - base16_decode_init
    - BASE16_DECODE_LENGTH
    - base16_decode_final
    - base16_decode_update
    - ASSERT
    - tstring_alloc
    linkageType: ''
    returnType: struct tstring
    signature: 'struct tstring *

      tstring_hex(const char *hex)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: tstring_print_hex
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 6
    functionsReached:
    - print_hex
    linkageType: ''
    returnType: void
    signature: void tstring_print_hex(const struct tstring *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/nettle/testsuite/testutils.c:114,1
    - Dst: printf
      Src: /src/nettle/testsuite/testutils.c:117,1
    - Dst: printf
      Src: /src/nettle/testsuite/testutils.c:120,1
    - Dst: printf
      Src: /src/nettle/testsuite/testutils.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - length
    - data
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: print_hex
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 16
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_hex(size_t length, const uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/nettle/testsuite/testutils.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - size
    - p
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: mark_bytes_undefined
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached:
    - VALGRIND_MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: void mark_bytes_undefined (size_t size, const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/nettle/testsuite/testutils.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - size
    - p
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: mark_bytes_defined
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: void mark_bytes_defined (size_t size, const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: mark_bytes_undefined
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_bytes_undefined (size_t size UNUSED, const void *p UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mark_bytes_defined
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_bytes_defined (size_t size UNUSED, const void *p UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/testsuite/testutils.c:154,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:158,1
    - Dst: getenv
      Src: /src/nettle/testsuite/testutils.c:164,1
    - Dst: SKIP
      Src: /src/nettle/testsuite/testutils.c:171,1
    - Dst: test_main
      Src: /src/nettle/testsuite/testutils.c:173,1
    - Dst: tstring_clear
      Src: /src/nettle/testsuite/testutils.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 6
    functionsReached:
    - tstring_clear
    - SKIP
    - test_main
    - strcmp
    - fprintf
    - getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:189,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:192,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:197,1
    - Dst: struct nettle_cipher*::encrypt
      Src: /src/nettle/testsuite/testutils.c:198,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:200,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:202,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:203,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:204,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:205,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:206,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:207,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:208,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:209,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/testsuite/testutils.c:211,1
    - Dst: struct nettle_cipher*::decrypt
      Src: /src/nettle/testsuite/testutils.c:212,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:214,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:216,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:217,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:218,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:219,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:220,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:221,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:222,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:223,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:226,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 4
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 228
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 228
    functionName: test_cipher
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 3
    functionsReached:
    - struct nettle_cipher*::set_decrypt_key
    - tstring_print_hex
    - struct nettle_cipher*::decrypt
    - print_hex
    - free
    - struct nettle_cipher*::set_encrypt_key
    - struct nettle_cipher*::encrypt
    - FAIL
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher(const struct nettle_cipher *cipher,\n\t    const
      struct tstring *key,\n\t    const struct tstring *cleartext,\n\t    const struct
      tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:242,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:245,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:246,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:248,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:249,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:250,1
    - Dst: cbc_encrypt
      Src: /src/nettle/testsuite/testutils.c:252,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:256,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:258,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:259,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:260,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:261,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:262,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:263,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:264,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:265,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/testsuite/testutils.c:267,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:268,1
    - Dst: cbc_decrypt
      Src: /src/nettle/testsuite/testutils.c:270,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:274,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:276,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:277,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:278,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:279,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:280,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:281,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:282,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:283,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:286,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:287,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 5
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    - iiv
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 289
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 289
    functionName: test_cipher_cbc
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher*::set_decrypt_key
    - tstring_print_hex
    - print_hex
    - free
    - cbc_decrypt
    - struct nettle_cipher*::set_encrypt_key
    - xalloc
    - FAIL
    - MEMEQ
    - memcpy
    - cbc_encrypt
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher_cbc(const struct nettle_cipher *cipher,\n\t\tconst
      struct tstring *key,\n\t\tconst struct tstring *cleartext,\n\t\tconst struct
      tstring *ciphertext,\n\t\tconst struct tstring *iiv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:303,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:306,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:307,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:309,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:310,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:312,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:313,1
    - Dst: cfb_encrypt
      Src: /src/nettle/testsuite/testutils.c:315,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:319,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:321,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:322,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:323,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:324,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:325,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:326,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:327,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:328,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:330,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:331,1
    - Dst: cfb_decrypt
      Src: /src/nettle/testsuite/testutils.c:333,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:337,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:339,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:340,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:341,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:342,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:343,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:344,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:345,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:346,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:348,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:349,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:350,1
    - Dst: cfb_encrypt
      Src: /src/nettle/testsuite/testutils.c:352,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:356,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:358,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:359,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:360,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:361,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:362,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:363,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:364,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:365,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:367,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:368,1
    - Dst: cfb_decrypt
      Src: /src/nettle/testsuite/testutils.c:370,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:374,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:376,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:377,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:378,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:379,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:380,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:381,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:382,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:383,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:389,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:390,1
    - Dst: cfb_encrypt
      Src: /src/nettle/testsuite/testutils.c:392,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:396,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:398,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:399,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:400,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:401,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:402,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:403,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:404,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:405,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:407,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:408,1
    - Dst: cfb_decrypt
      Src: /src/nettle/testsuite/testutils.c:410,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:414,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:416,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:417,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:418,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:419,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:420,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:421,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:422,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:423,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:425,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:426,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:427,1
    - Dst: cfb_encrypt
      Src: /src/nettle/testsuite/testutils.c:429,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:433,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:435,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:436,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:437,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:438,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:439,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:440,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:441,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:442,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:444,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:445,1
    - Dst: cfb_decrypt
      Src: /src/nettle/testsuite/testutils.c:447,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:451,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:453,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:454,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:455,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:456,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:457,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:458,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:459,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:460,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:463,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:464,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:465,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 118
    argCount: 5
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    - iiv
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 467
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 467
    functionName: test_cipher_cfb
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - struct nettle_cipher*::set_encrypt_key
    - cfb_decrypt
    - xalloc
    - cfb_encrypt
    - FAIL
    - MEMEQ
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher_cfb(const struct nettle_cipher *cipher,\n\t\tconst
      struct tstring *key,\n\t\tconst struct tstring *cleartext,\n\t\tconst struct
      tstring *ciphertext,\n\t\tconst struct tstring *iiv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:482,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:485,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:486,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:488,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:489,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:495,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:496,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:498,1
    - Dst: cfb8_encrypt
      Src: /src/nettle/testsuite/testutils.c:501,1
    - Dst: cfb8_encrypt
      Src: /src/nettle/testsuite/testutils.c:505,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:509,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:511,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:513,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:514,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:515,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:516,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:517,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:518,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:519,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:521,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:523,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:524,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:526,1
    - Dst: cfb8_decrypt
      Src: /src/nettle/testsuite/testutils.c:529,1
    - Dst: cfb8_decrypt
      Src: /src/nettle/testsuite/testutils.c:533,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:537,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:539,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:541,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:542,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:543,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:544,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:545,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:546,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:547,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:549,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:552,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:553,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:554,1
    - Dst: cfb8_encrypt
      Src: /src/nettle/testsuite/testutils.c:556,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:560,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:562,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:563,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:564,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:565,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:566,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:567,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:568,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:569,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:571,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:572,1
    - Dst: cfb8_decrypt
      Src: /src/nettle/testsuite/testutils.c:574,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:578,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:580,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:581,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:582,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:583,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:584,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:585,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:586,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:587,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:593,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:594,1
    - Dst: cfb8_encrypt
      Src: /src/nettle/testsuite/testutils.c:596,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:600,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:602,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:603,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:604,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:605,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:606,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:607,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:608,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:609,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:611,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:612,1
    - Dst: cfb8_decrypt
      Src: /src/nettle/testsuite/testutils.c:614,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:618,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:620,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:621,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:622,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:623,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:624,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:625,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:626,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:627,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:629,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:630,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:631,1
    - Dst: cfb8_encrypt
      Src: /src/nettle/testsuite/testutils.c:633,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:637,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:639,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:640,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:641,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:642,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:643,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:644,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:645,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:646,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:648,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:649,1
    - Dst: cfb8_decrypt
      Src: /src/nettle/testsuite/testutils.c:651,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:655,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:657,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:658,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:659,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:660,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:661,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:662,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:663,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:664,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:667,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:668,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:669,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 130
    argCount: 5
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    - iiv
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 671
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 671
    functionName: test_cipher_cfb8
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - cfb8_encrypt
    - struct nettle_cipher*::set_encrypt_key
    - xalloc
    - FAIL
    - MEMEQ
    - memset
    - memcpy
    - fprintf
    - ASSERT
    - cfb8_decrypt
    linkageType: ''
    returnType: void
    signature: "void test_cipher_cfb8(const struct nettle_cipher *cipher,\n\t\t const
      struct tstring *key,\n\t\t const struct tstring *cleartext,\n\t\t const struct
      tstring *ciphertext,\n\t\t const struct tstring *iiv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:688,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:691,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:692,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:696,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:698,1
    - Dst: INCREMENT
      Src: /src/nettle/testsuite/testutils.c:703,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:705,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:707,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:711,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:712,1
    - Dst: ctr_crypt
      Src: /src/nettle/testsuite/testutils.c:714,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:718,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:721,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:723,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:724,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:725,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:726,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:727,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:728,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:729,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:733,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:733,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:735,1
    - Dst: ctr_crypt
      Src: /src/nettle/testsuite/testutils.c:737,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:741,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:743,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:744,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:745,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:746,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:747,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:748,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:749,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:750,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:753,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:753,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:755,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:756,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:757,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 5
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    - ictr
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 759
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 759
    functionName: test_cipher_ctr
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - struct nettle_cipher*::set_encrypt_key
    - xalloc
    - INCREMENT
    - FAIL
    - ctr_crypt
    - memset
    - memcpy
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher_ctr(const struct nettle_cipher *cipher,\n\t\tconst
      struct tstring *key,\n\t\tconst struct tstring *cleartext,\n\t\tconst struct
      tstring *ciphertext,\n\t\tconst struct tstring *ictr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:774,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:777,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:783,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:784,1
    - Dst: struct nettle_cipher*::encrypt
      Src: /src/nettle/testsuite/testutils.c:788,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:789,1
    - Dst: struct nettle_cipher*::encrypt
      Src: /src/nettle/testsuite/testutils.c:792,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:793,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:795,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:797,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:799,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:800,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:801,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:802,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:803,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:804,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:805,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/testsuite/testutils.c:809,1
    - Dst: struct nettle_cipher*::decrypt
      Src: /src/nettle/testsuite/testutils.c:810,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:812,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:814,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:816,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:817,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:818,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:819,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:820,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:821,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:822,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:823,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:826,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 4
    argNames:
    - cipher
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 828
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 828
    functionName: test_cipher_stream
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - struct nettle_cipher*::set_decrypt_key
    - tstring_print_hex
    - struct nettle_cipher*::decrypt
    - print_hex
    - free
    - struct nettle_cipher*::set_encrypt_key
    - struct nettle_cipher*::encrypt
    - xalloc
    - FAIL
    - MEMEQ
    - memset
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher_stream(const struct nettle_cipher *cipher,\n\t\t
      \  const struct tstring *key,\n\t\t   const struct tstring *cleartext,\n\t\t
      \  const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:846,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:847,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:848,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:850,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:851,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:852,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:859,1
    - Dst: struct nettle_aead*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:863,1
    - Dst: set_nonce
      Src: /src/nettle/testsuite/testutils.c:866,1
    - Dst: assert
      Src: /src/nettle/testsuite/testutils.c:869,1
    - Dst: struct nettle_aead*::set_nonce
      Src: /src/nettle/testsuite/testutils.c:870,1
    - Dst: struct nettle_aead*::update
      Src: /src/nettle/testsuite/testutils.c:875,1
    - Dst: struct nettle_aead*::update
      Src: /src/nettle/testsuite/testutils.c:876,1
    - Dst: struct nettle_aead*::update
      Src: /src/nettle/testsuite/testutils.c:877,1
    - Dst: struct nettle_aead*::encrypt
      Src: /src/nettle/testsuite/testutils.c:879,1
    - Dst: struct nettle_aead*::encrypt
      Src: /src/nettle/testsuite/testutils.c:880,1
    - Dst: struct nettle_aead*::encrypt
      Src: /src/nettle/testsuite/testutils.c:881,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:884,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:886,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:888,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:889,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:890,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:891,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:892,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:893,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:897,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:898,1
    - Dst: struct nettle_aead*::digest
      Src: /src/nettle/testsuite/testutils.c:899,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:900,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:902,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:904,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:905,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:906,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:907,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:911,1
    - Dst: struct nettle_aead*::set_decrypt_key
      Src: /src/nettle/testsuite/testutils.c:916,1
    - Dst: set_nonce
      Src: /src/nettle/testsuite/testutils.c:919,1
    - Dst: assert
      Src: /src/nettle/testsuite/testutils.c:922,1
    - Dst: struct nettle_aead*::set_nonce
      Src: /src/nettle/testsuite/testutils.c:923,1
    - Dst: struct nettle_aead*::update
      Src: /src/nettle/testsuite/testutils.c:927,1
    - Dst: struct nettle_aead*::decrypt
      Src: /src/nettle/testsuite/testutils.c:929,1
    - Dst: struct nettle_aead*::decrypt
      Src: /src/nettle/testsuite/testutils.c:930,1
    - Dst: struct nettle_aead*::decrypt
      Src: /src/nettle/testsuite/testutils.c:931,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:934,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:934,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:938,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:939,1
    - Dst: struct nettle_aead*::digest
      Src: /src/nettle/testsuite/testutils.c:940,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:941,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:941,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:946,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:947,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:948,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:949,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 8
    argNames:
    - aead
    - set_nonce
    - key
    - authtext
    - cleartext
    - ciphertext
    - nonce
    - digest
    argTypes:
    - struct nettle_aead*
    - nettle_hash_update_func*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 950
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 950
    functionName: test_aead
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - struct nettle_aead*::decrypt
    - struct nettle_aead*::set_decrypt_key
    - xalloc
    - struct nettle_aead*::set_nonce
    - print_hex
    - free
    - FAIL
    - MEMEQ
    - memset
    - ASSERT
    - assert
    - tstring_print_hex
    - struct nettle_aead*::update
    - set_nonce
    - struct nettle_aead*::digest
    - struct nettle_aead*::encrypt
    - struct nettle_aead*::set_encrypt_key
    - memcpy
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_aead(const struct nettle_aead *aead,\n\t  nettle_hash_update_func
      *set_nonce,\n\t  const struct tstring *key,\n\t  const struct tstring *authtext,\n\t
      \ const struct tstring *cleartext,\n\t  const struct tstring *ciphertext,\n\t
      \ const struct tstring *nonce,\n\t  const struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:967,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:968,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:969,1
    - Dst: struct nettle_aead_message*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:971,1
    - Dst: struct nettle_aead_message*::encrypt
      Src: /src/nettle/testsuite/testutils.c:973,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:977,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:979,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:980,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:981,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:982,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:983,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:987,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:988,1
    - Dst: struct nettle_aead_message*::set_decrypt_key
      Src: /src/nettle/testsuite/testutils.c:990,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:992,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:994,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1000,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1001,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1003,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1005,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1006,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1007,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1008,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1009,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:1014,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1019,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1020,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:1022,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:1024,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1029,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1030,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:1033,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:1035,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1040,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1041,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:1044,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1050,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1051,1
    - Dst: struct nettle_aead_message*::set_encrypt_key
      Src: /src/nettle/testsuite/testutils.c:1057,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:1060,1
    - Dst: struct nettle_aead_message*::encrypt
      Src: /src/nettle/testsuite/testutils.c:1061,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1065,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1067,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1068,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1069,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1070,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1071,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1075,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1076,1
    - Dst: struct nettle_aead_message*::decrypt
      Src: /src/nettle/testsuite/testutils.c:1079,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1085,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1086,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1088,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1090,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1091,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1092,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1093,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1094,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1097,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1098,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1099,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 84
    argCount: 6
    argNames:
    - aead
    - key
    - nonce
    - adata
    - clear
    - cipher
    argTypes:
    - struct nettle_aead_message*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 1100
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1100
    functionName: test_aead_message
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - struct nettle_aead_message*::set_encrypt_key
    - tstring_print_hex
    - struct nettle_aead_message*::set_decrypt_key
    - print_hex
    - struct nettle_aead_message*::decrypt
    - free
    - struct nettle_aead_message*::encrypt
    - FAIL
    - MEMEQ
    - memset
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_aead_message (const struct nettle_aead_message *aead,\n\t\t
      \  const struct tstring *key,\n\t\t   const struct tstring *nonce,\n\t\t   const
      struct tstring *adata,\n\t\t   const struct tstring *clear,\n\t\t   const struct
      tstring *cipher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1112,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/testutils.c:1114,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:1117,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:1118,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:1119,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:1121,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1123,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1125,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1126,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1127,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1128,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:1129,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:1133,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1136,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:1137,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:1138,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:1139,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1140,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1142,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1143,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1144,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1145,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:1146,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1149,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1150,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - hash
    - msg
    - digest
    argTypes:
    - struct nettle_hash*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1152
    functionName: test_hash
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached:
    - abort
    - print_hex
    - free
    - memcpy
    - xalloc
    - struct nettle_hash*::digest
    - memset
    - MEMEQ
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_hash(const struct nettle_hash *hash,\n\t  const struct tstring
      *msg,\n\t  const struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_xof*::init
      Src: /src/nettle/testsuite/testutils.c:1164,1
    - Dst: struct nettle_xof*::update
      Src: /src/nettle/testsuite/testutils.c:1167,1
    - Dst: struct nettle_xof*::update
      Src: /src/nettle/testsuite/testutils.c:1168,1
    - Dst: struct nettle_xof*::update
      Src: /src/nettle/testsuite/testutils.c:1169,1
    - Dst: struct nettle_xof*::digest
      Src: /src/nettle/testsuite/testutils.c:1171,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1173,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1175,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1176,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1177,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1178,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:1179,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:1183,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1186,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/testutils.c:1187,1
    - Dst: struct nettle_xof*::update
      Src: /src/nettle/testsuite/testutils.c:1188,1
    - Dst: struct nettle_xof*::digest
      Src: /src/nettle/testsuite/testutils.c:1189,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1190,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1192,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1193,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1194,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1195,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:1196,1
    - Dst: struct nettle_xof*::init
      Src: /src/nettle/testsuite/testutils.c:1203,1
    - Dst: struct nettle_xof*::update
      Src: /src/nettle/testsuite/testutils.c:1204,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1205,1
    - Dst: struct nettle_xof*::output
      Src: /src/nettle/testsuite/testutils.c:1209,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1211,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1211,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1212,1
    - Dst: struct nettle_xof*::output
      Src: /src/nettle/testsuite/testutils.c:1214,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1216,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1218,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1219,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1220,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1221,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:1222,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1234,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1235,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - xof
    - msg
    - digest
    argTypes:
    - struct nettle_xof*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1237
    functionName: test_xof
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - abort
    - struct nettle_xof*::digest
    - print_hex
    - free
    - xalloc
    - struct nettle_xof*::update
    - memset
    - MEMEQ
    - struct nettle_xof*::init
    - memcpy
    - fprintf
    - struct nettle_xof*::output
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_xof (const struct nettle_xof *xof,\n\t  const struct tstring
      *msg,\n\t  const struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1250,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1252,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/testutils.c:1254,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:1257,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1259,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1261,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:1263,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1265,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1267,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1267,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1269,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1270,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - hash
    - count
    - length
    - c
    - digest
    argTypes:
    - struct nettle_hash*
    - size_t
    - size_t
    - uint8_t
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1272
    functionName: test_hash_large
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - print_hex
    - free
    - struct nettle_hash*::digest
    - memset
    - MEMEQ
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_hash_large(const struct nettle_hash *hash,\n\t\tsize_t count,
      size_t length,\n\t\tuint8_t c,\n\t\tconst struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1285,1
    - Dst: set_key
      Src: /src/nettle/testsuite/testutils.c:1287,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1290,1
    - Dst: struct nettle_mac*::set_key
      Src: /src/nettle/testsuite/testutils.c:1291,1
    - Dst: struct nettle_mac*::update
      Src: /src/nettle/testsuite/testutils.c:1293,1
    - Dst: struct nettle_mac*::digest
      Src: /src/nettle/testsuite/testutils.c:1294,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1296,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1298,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1299,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1300,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1301,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1302,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1303,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1304,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1305,1
    - Dst: struct nettle_mac*::update
      Src: /src/nettle/testsuite/testutils.c:1309,1
    - Dst: struct nettle_mac*::digest
      Src: /src/nettle/testsuite/testutils.c:1310,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1311,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1313,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1314,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1315,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1316,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1317,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1318,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1319,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1320,1
    - Dst: struct nettle_mac*::update
      Src: /src/nettle/testsuite/testutils.c:1325,1
    - Dst: struct nettle_mac*::digest
      Src: /src/nettle/testsuite/testutils.c:1326,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1327,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1329,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1330,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1331,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/testutils.c:1332,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1333,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/testutils.c:1334,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1335,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/testutils.c:1336,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1338,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 5
    argNames:
    - mac
    - set_key
    - key
    - msg
    - digest
    argTypes:
    - struct nettle_mac*
    - nettle_hash_update_func*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1340
    functionName: test_mac
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - struct nettle_mac*::update
    - tstring_print_hex
    - print_hex
    - struct nettle_mac*::digest
    - free
    - set_key
    - struct nettle_mac*::set_key
    - FAIL
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_mac(const struct nettle_mac *mac,\n\t nettle_hash_update_func
      *set_key,\n\t const struct tstring *key,\n\t const struct tstring *msg,\n\t
      const struct tstring *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1355,1
    - Dst: struct nettle_armor*::encode_length
      Src: /src/nettle/testsuite/testutils.c:1356,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1357,1
    - Dst: struct nettle_armor*::decode_length
      Src: /src/nettle/testsuite/testutils.c:1357,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1359,1
    - Dst: memset
      Src: /src/nettle/testsuite/testutils.c:1360,1
    - Dst: struct nettle_armor*::encode_init
      Src: /src/nettle/testsuite/testutils.c:1362,1
    - Dst: struct nettle_armor*::encode_update
      Src: /src/nettle/testsuite/testutils.c:1364,1
    - Dst: struct nettle_armor*::encode_final
      Src: /src/nettle/testsuite/testutils.c:1365,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1366,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1368,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1368,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1369,1
    - Dst: strlen
      Src: /src/nettle/testsuite/testutils.c:1369,1
    - Dst: struct nettle_armor*::decode_init
      Src: /src/nettle/testsuite/testutils.c:1371,1
    - Dst: struct nettle_armor*::decode_length
      Src: /src/nettle/testsuite/testutils.c:1372,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1374,1
    - Dst: struct nettle_armor*::decode_update
      Src: /src/nettle/testsuite/testutils.c:1374,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1375,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1376,1
    - Dst: struct nettle_armor*::decode_final
      Src: /src/nettle/testsuite/testutils.c:1376,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1378,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/testutils.c:1378,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1379,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1381,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1382,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1383,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - armor
    - data_length
    - data
    - ascii
    argTypes:
    - struct nettle_armor*
    - size_t
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1385
    functionName: test_armor
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - struct nettle_armor*::decode_update
    - struct nettle_armor*::encode_final
    - struct nettle_armor*::encode_update
    - strlen
    - struct nettle_armor*::decode_length
    - struct nettle_armor*::encode_length
    - struct nettle_armor*::decode_final
    - free
    - MEMEQ
    - memset
    - struct nettle_armor*::decode_init
    - struct nettle_armor*::encode_init
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_armor(const struct nettle_armor *armor,\n           size_t
      data_length,\n           const uint8_t *data,\n           const char *ascii)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1393,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - base
    - xp
    - xn
    argTypes:
    - FILE*
    - int
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: mpn_out_str
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 3
    functionsReached:
    - mpz_out_str
    - mpz_roinit_n
    linkageType: ''
    returnType: void
    signature: void mpn_out_str (FILE *f, int base, const mp_limb_t *xp, mp_size_t
      xn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct knuth_lfib_ctx*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1401
    functionName: gmp_randinit_default
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 3
    functionsReached:
    - knuth_lfib_init
    linkageType: ''
    returnType: void
    signature: void gmp_randinit_default (struct knuth_lfib_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/testutils.c:1408,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/testsuite/testutils.c:1410,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - ctx
    - bits
    argTypes:
    - mpz_t
    - struct knuth_lfib_ctx*
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: mpz_urandomb
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 5
    functionsReached:
    - knuth_lfib_random
    - free
    - nettle_mpz_set_str_256_u
    linkageType: ''
    returnType: void
    signature: void mpz_urandomb (mpz_t r, struct knuth_lfib_ctx *ctx, mp_bitcnt_t
      bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/testutils.c:1417,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/testutils.c:1417,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/testutils.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - ctx
    - n
    argTypes:
    - mpz_t
    - struct knuth_lfib_ctx*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1419
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1419
    functionName: mpz_urandomm
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - mpz_sizeinbase
    - mpz_urandomb
    - mpz_mod
    linkageType: ''
    returnType: void
    signature: void mpz_urandomm (mpz_t r, struct knuth_lfib_ctx *ctx, const mpz_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/nettle/testsuite/testutils.c:1426,1
    - Dst: setbuf
      Src: /src/nettle/testsuite/testutils.c:1432,1
    - Dst: fread
      Src: /src/nettle/testsuite/testutils.c:1433,1
    - Dst: fclose
      Src: /src/nettle/testsuite/testutils.c:1434,1
    - Dst: nettle_mpz_set_str_256_u
      Src: /src/nettle/testsuite/testutils.c:1437,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1440,1
    - Dst: strerror
      Src: /src/nettle/testsuite/testutils.c:1441,1
    - Dst: gettimeofday
      Src: /src/nettle/testsuite/testutils.c:1443,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/testutils.c:1444,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/testsuite/testutils.c:1445,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/testutils.c:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - seed
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1447
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1447
    functionName: get_random_seed
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - fopen
    - gettimeofday
    - fclose
    - nettle_mpz_set_str_256_u
    - setbuf
    - fread
    - mpz_add_ui
    - mpz_set_ui
    - mpz_mul_ui
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void get_random_seed(mpz_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/nettle/testsuite/testutils.c:1454,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1458,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1459,1
    - Dst: mpz_sgn
      Src: /src/nettle/testsuite/testutils.c:1460,1
    - Dst: die
      Src: /src/nettle/testsuite/testutils.c:1461,1
    - Dst: mpz_sgn
      Src: /src/nettle/testsuite/testutils.c:1463,1
    - Dst: get_random_seed
      Src: /src/nettle/testsuite/testutils.c:1464,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1465,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1466,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1467,1
    - Dst: gmp_randseed
      Src: /src/nettle/testsuite/testutils.c:1469,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - rands
    argTypes:
    - gmp_randstate_t
    constantsTouched: []
    func_position:
      end: 1475
      start: 1449
    functionDepth: 2
    functionLinenumber: 1449
    functionLinenumberEnd: 1475
    functionName: test_randomize
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 3
    functionsReached:
    - die
    - mpz_sgn
    - gmp_randseed
    - mpz_out_str
    - get_random_seed
    - mpz_init
    - mpz_clear
    - mpz_set_str
    - fprintf
    - getenv
    linkageType: ''
    returnType: int
    signature: int test_randomize(gmp_randstate_t rands)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/testsuite/testutils.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: xalloc_limbs
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 13
    functionsReached:
    - xalloc
    linkageType: ''
    returnType: mp_limb_t
    signature: 'mp_limb_t *

      xalloc_limbs (mp_size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1558,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1565,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1567,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/testutils.c:1567,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1571,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1580,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1585,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1590,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1595,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1600,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1605,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/testutils.c:1605,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pub
    - key
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 1607
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1607
    functionName: test_rsa_set_key_1
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - mpz_set_str
    - rsa_public_key_prepare
    - ASSERT
    - rsa_private_key_prepare
    linkageType: ''
    returnType: void
    signature: "void test_rsa_set_key_1(struct rsa_public_key *pub,\n\t\t   struct
      rsa_private_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1718,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1730,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1732,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/testutils.c:1732,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1736,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1750,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1758,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1766,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1774,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/testutils.c:1782,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1790,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/testutils.c:1790,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pub
    - key
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1792
    functionName: test_rsa_set_key_2
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - mpz_set_str
    - rsa_public_key_prepare
    - ASSERT
    - rsa_private_key_prepare
    linkageType: ''
    returnType: void
    signature: "void test_rsa_set_key_2(struct rsa_public_key *pub,\n\t\t   struct
      rsa_private_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/nettle/testsuite/testutils.c:1804,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1805,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:1806,1
    - Dst: SIGN
      Src: /src/nettle/testsuite/testutils.c:1808,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1811,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1811,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1815,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1815,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:1819,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1820,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1820,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pub
    - key
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1824
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1824
    functionName: test_rsa_md5
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - md5_init
    - knuth_lfib_init
    - VERIFY
    - mpz_combit
    - SIGN
    - mpz_init
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_md5(struct rsa_public_key *pub,\n\t     struct rsa_private_key
      *key,\n\t     mpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/testsuite/testutils.c:1836,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1837,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:1838,1
    - Dst: SIGN
      Src: /src/nettle/testsuite/testutils.c:1840,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1843,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1843,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1847,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1847,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:1851,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1852,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1852,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pub
    - key
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1856
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1856
    functionName: test_rsa_sha1
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - knuth_lfib_init
    - VERIFY
    - sha1_init
    - mpz_combit
    - SIGN
    - mpz_init
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_sha1(struct rsa_public_key *pub,\n\t      struct rsa_private_key
      *key,\n\t      mpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/testsuite/testutils.c:1868,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1869,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:1870,1
    - Dst: SIGN
      Src: /src/nettle/testsuite/testutils.c:1872,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1875,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1875,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1879,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1879,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:1883,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1884,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1884,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pub
    - key
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1888
      start: 1858
    functionDepth: 2
    functionLinenumber: 1858
    functionLinenumberEnd: 1888
    functionName: test_rsa_sha256
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - knuth_lfib_init
    - VERIFY
    - mpz_combit
    - SIGN
    - sha256_init
    - mpz_init
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_sha256(struct rsa_public_key *pub,\n\t\tstruct rsa_private_key
      *key,\n\t\tmpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/testsuite/testutils.c:1900,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1901,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:1902,1
    - Dst: SIGN
      Src: /src/nettle/testsuite/testutils.c:1904,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1907,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1907,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1911,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1911,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:1915,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1916,1
    - Dst: VERIFY
      Src: /src/nettle/testsuite/testutils.c:1916,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pub
    - key
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1920
      start: 1890
    functionDepth: 2
    functionLinenumber: 1890
    functionLinenumberEnd: 1920
    functionName: test_rsa_sha512
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - knuth_lfib_init
    - VERIFY
    - sha512_init
    - mpz_combit
    - SIGN
    - mpz_init
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_sha512(struct rsa_public_key *pub,\n\t\tstruct rsa_private_key
      *key,\n\t\tmpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1932,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:1932,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1936,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1937,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1938,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1939,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1941,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1942,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1943,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1944,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1945,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1946,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1947,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1948,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1949,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1950,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1951,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:1952,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:1953,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1957,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1958,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:1958,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1961,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/testutils.c:1962,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1963,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:1963,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/testutils.c:1966,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/testutils.c:1967,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1969,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1971,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/testutils.c:1972,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1973,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:1973,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/testutils.c:1976,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1977,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/testutils.c:1978,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1979,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:1979,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/testutils.c:1982,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:1983,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/testutils.c:1984,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:1985,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:1985,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1987,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:1987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 2
    argNames:
    - pub
    - key
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1988
    functionName: test_rsa_key
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - mpz_mul
    - mpz_sub_ui
    - mpz_fdiv_r
    - mpz_out_str
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - fprintf
    - mpz_cmp_ui
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_rsa_key(struct rsa_public_key *pub,\n\t     struct rsa_private_key
      *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_init
      Src: /src/nettle/testsuite/testutils.c:2006,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/testutils.c:2007,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:2008,1
    - Dst: sha1_update
      Src: /src/nettle/testsuite/testutils.c:2010,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/testutils.c:2010,1
    - Dst: sha1_digest
      Src: /src/nettle/testsuite/testutils.c:2011,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2012,1
    - Dst: dsa_sign
      Src: /src/nettle/testsuite/testutils.c:2012,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2018,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2019,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2020,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2021,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2022,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2026,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2026,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2027,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2030,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2030,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2035,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2035,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:2040,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2041,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2041,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/testutils.c:2045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - params
    - pub
    - key
    - expected
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 2046
      start: 1996
    functionDepth: 3
    functionLinenumber: 1996
    functionLinenumberEnd: 2046
    functionName: test_dsa160
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - LDATA
    - knuth_lfib_init
    - sha1_update
    - dsa_signature_clear
    - sha1_init
    - DSA_VERIFY
    - mpz_combit
    - dsa_sign
    - mpz_out_str
    - dsa_signature_init
    - mpz_cmp
    - sha1_digest
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_dsa160(const struct dsa_params *params,\n\t    const mpz_t
      pub, const mpz_t key,\n\t    const struct dsa_signature *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/nettle/testsuite/testutils.c:2058,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/testutils.c:2059,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:2060,1
    - Dst: sha256_update
      Src: /src/nettle/testsuite/testutils.c:2062,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/testutils.c:2062,1
    - Dst: sha256_digest
      Src: /src/nettle/testsuite/testutils.c:2063,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2064,1
    - Dst: dsa_sign
      Src: /src/nettle/testsuite/testutils.c:2064,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2070,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2071,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2072,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2073,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2074,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2078,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2078,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2079,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2082,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2082,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2087,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2087,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:2092,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2093,1
    - Dst: DSA_VERIFY
      Src: /src/nettle/testsuite/testutils.c:2093,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/testutils.c:2097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - params
    - pub
    - key
    - expected
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 2098
      start: 2048
    functionDepth: 4
    functionLinenumber: 2048
    functionLinenumberEnd: 2098
    functionName: test_dsa256
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - sha256_update
    - LDATA
    - sha256_digest
    - knuth_lfib_init
    - dsa_signature_clear
    - DSA_VERIFY
    - mpz_combit
    - dsa_sign
    - mpz_out_str
    - sha256_init
    - dsa_signature_init
    - mpz_cmp
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_dsa256(const struct dsa_params *params,\n\t    const mpz_t
      pub, const mpz_t key,\n\t    const struct dsa_signature *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/testutils.c:2113,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/testutils.c:2114,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/testutils.c:2116,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:2118,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/testutils.c:2118,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:2119,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2120,1
    - Dst: dsa_sign
      Src: /src/nettle/testsuite/testutils.c:2120,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2126,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2127,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2128,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2129,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2130,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2134,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2134,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2135,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2138,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2138,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:2141,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/testutils.c:2141,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:2142,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2144,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2144,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:2148,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2149,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2149,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2152,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2153,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2154,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/testutils.c:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - pub
    - key
    - hash
    - expected
    argTypes:
    - struct dsa_public_key*
    - struct dsa_private_key*
    - struct nettle_hash*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 2156
      start: 2101
    functionDepth: 2
    functionLinenumber: 2101
    functionLinenumberEnd: 2156
    functionName: test_dsa_sign
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - LDATA
    - knuth_lfib_init
    - free
    - dsa_signature_clear
    - mpz_cmp
    - dsa_verify
    - dsa_sign
    - mpz_combit
    - mpz_out_str
    - struct nettle_hash*::digest
    - dsa_signature_init
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_dsa_sign(const struct dsa_public_key *pub,\n\t      const
      struct dsa_private_key *key,\n\t      const struct nettle_hash *hash,\n\t      const
      struct dsa_signature *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/testutils.c:2170,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/testutils.c:2172,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/testutils.c:2174,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/testutils.c:2175,1
    - Dst: mpz_set
      Src: /src/nettle/testsuite/testutils.c:2177,1
    - Dst: mpz_set
      Src: /src/nettle/testsuite/testutils.c:2178,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2180,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2180,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/testutils.c:2185,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2186,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2186,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2192,1
    - Dst: dsa_verify
      Src: /src/nettle/testsuite/testutils.c:2192,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2196,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2197,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/testutils.c:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - params
    - pub
    - hash
    - msg
    - ref
    argTypes:
    - struct dsa_params*
    - mpz_t
    - struct nettle_hash*
    - struct tstring*
    - struct dsa_signature*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2159
    functionDepth: 2
    functionLinenumber: 2159
    functionLinenumberEnd: 2199
    functionName: test_dsa_verify
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - free
    - mpz_set
    - dsa_signature_clear
    - dsa_verify
    - mpz_combit
    - struct nettle_hash*::digest
    - dsa_signature_init
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_dsa_verify(const struct dsa_params *params,\n\t\tconst mpz_t
      pub,\n\t\tconst struct nettle_hash *hash,\n\t\tstruct tstring *msg,\n\t\tconst
      struct dsa_signature *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:2209,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2211,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/testutils.c:2211,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2212,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/testutils.c:2212,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2214,1
    - Dst: mpz_probab_prime_p
      Src: /src/nettle/testsuite/testutils.c:2214,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2216,1
    - Dst: mpz_probab_prime_p
      Src: /src/nettle/testsuite/testutils.c:2216,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/testutils.c:2218,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2220,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:2220,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2222,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:2222,1
    - Dst: mpz_powm
      Src: /src/nettle/testsuite/testutils.c:2224,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2225,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/testutils.c:2225,1
    - Dst: mpz_powm
      Src: /src/nettle/testsuite/testutils.c:2227,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/testutils.c:2228,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2228,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - params
    - pub
    - key
    - q_size
    argTypes:
    - struct dsa_params*
    - mpz_t
    - mpz_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 2231
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2231
    functionName: test_dsa_key
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - mpz_probab_prime_p
    - mpz_fdiv_r
    - mpz_cmp
    - mpz_init
    - mpz_powm
    - mpz_clear
    - mpz_sizeinbase
    - mpz_cmp_ui
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_dsa_key(const struct dsa_params *params,\n\t     const mpz_t
      pub,\n\t     const mpz_t key,\n\t     unsigned q_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/testutils.c:2257,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/testutils.c:2258,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:2261,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:2262,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2264,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2265,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2267,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:2274,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2275,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2276,1
    - Dst: mpz_sub
      Src: /src/nettle/testsuite/testutils.c:2277,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/testutils.c:2278,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/testsuite/testutils.c:2279,1
    - Dst: mpz_mul_ui
      Src: /src/nettle/testsuite/testutils.c:2280,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2282,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/testutils.c:2289,1
    - Dst: mpz_init_set_ui
      Src: /src/nettle/testsuite/testutils.c:2290,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2291,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2292,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/testutils.c:2293,1
    - Dst: mpz_submul
      Src: /src/nettle/testsuite/testutils.c:2294,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/testutils.c:2295,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2297,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2298,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2303,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/testutils.c:2304,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/testutils.c:2305,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/testutils.c:2306,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2306,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/testutils.c:2308,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2308,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2310,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2314
    functionName: test_ecc_point_valid_p
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - mpz_mul
    - mpz_congruent_p
    - mpz_sub_ui
    - mpn_cmp
    - mpz_add_ui
    - mpz_init_set_ui
    - mpz_submul
    - mpz_init
    - mpz_clear
    - mpz_mul_ui
    - mpz_set_ui
    - mpz_add
    - mpz_roinit_n
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int test_ecc_point_valid_p (struct ecc_point *pub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/testutils.c:2322,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/testutils.c:2324,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2324,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ref
    - xp
    - n
    argTypes:
    - char*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 2327
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2327
    functionName: test_mpn
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - mpz_clear
    - mpz_roinit_n
    - mpz_cmp
    - mpz_init_set_str
    linkageType: ''
    returnType: int
    signature: int test_mpn (const char *ref, const mp_limb_t *xp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/testutils.c:2333,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - base
    - xp
    - n
    argTypes:
    - FILE*
    - int
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 2334
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2334
    functionName: write_mpn
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - mpz_out_str
    - mpz_roinit_n
    linkageType: ''
    returnType: void
    signature: void write_mpn (FILE *f, int base, const mp_limb_t *xp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_mpn
      Src: /src/nettle/testsuite/testutils.c:2341,1
    - Dst: test_mpn
      Src: /src/nettle/testsuite/testutils.c:2342,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2344,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/testutils.c:2346,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2347,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/testutils.c:2349,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2350,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:2354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ecc
    - ref
    - p
    argTypes:
    - struct ecc_curve*
    - struct ecc_ref_point*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2356
    functionName: test_ecc_point
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - abort
    - write_mpn
    - fprintf
    - test_mpn
    linkageType: ''
    returnType: void
    signature: "void test_ecc_point (const struct ecc_curve *ecc,\n\t\tconst struct
      ecc_ref_point *ref,\n\t\tconst mp_limb_t *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecc_point
      Src: /src/nettle/testsuite/testutils.c:2479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve
    - p
    argTypes:
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2480
      start: 2476
    functionDepth: 2
    functionLinenumber: 2476
    functionLinenumberEnd: 2480
    functionName: test_ecc_ga
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - test_ecc_point
    linkageType: ''
    returnType: void
    signature: void test_ecc_ga (unsigned curve, const mp_limb_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/nettle/testsuite/testutils.c:2485,1
    - Dst: assert
      Src: /src/nettle/testsuite/testutils.c:2486,1
    - Dst: assert
      Src: /src/nettle/testsuite/testutils.c:2491,1
    - Dst: mpn_zero_p
      Src: /src/nettle/testsuite/testutils.c:2492,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/testutils.c:2493,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2495,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/testutils.c:2497,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2498,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/testutils.c:2500,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/testutils.c:2501,1
    - Dst: abort
      Src: /src/nettle/testsuite/testutils.c:2502,1
    - Dst: test_ecc_point
      Src: /src/nettle/testsuite/testutils.c:2506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - curve
    - n
    - p
    argTypes:
    - unsigned
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2507
      start: 2482
    functionDepth: 2
    functionLinenumber: 2482
    functionLinenumberEnd: 2507
    functionName: test_ecc_mul_a
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 0
    functionsReached:
    - abort
    - test_ecc_point
    - assert
    - write_mpn
    - mpn_cmp
    - mpn_zero_p
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_ecc_mul_a (unsigned curve, unsigned n, const mp_limb_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/testutils.c:2513,1
    - Dst: ecc_size_a
      Src: /src/nettle/testsuite/testutils.c:2513,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/testutils.c:2514,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/testutils.c:2515,1
    - Dst: test_ecc_mul_a
      Src: /src/nettle/testsuite/testutils.c:2517,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2519,1
    - Dst: free
      Src: /src/nettle/testsuite/testutils.c:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curve
    - n
    - p
    argTypes:
    - unsigned
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2521
      start: 2509
    functionDepth: 3
    functionLinenumber: 2509
    functionLinenumberEnd: 2521
    functionName: test_ecc_mul_h
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 2
    functionsReached:
    - free
    - ecc_size_a
    - struct ecc_curve*::h_to_a
    - xalloc_limbs
    - test_ecc_mul_a
    linkageType: ''
    returnType: void
    signature: void test_ecc_mul_h (unsigned curve, unsigned n, const mp_limb_t *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/testutils.c:2529,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/testutils.c:2530,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/testutils.c:2535,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/testutils.c:2536,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2536,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/testutils.c:2537,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/testutils.c:2538,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/testutils.c:2538,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/testutils.c:2540,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/testutils.c:2541,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/testutils.c:2542,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2544,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - curve
    - rp
    argTypes:
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2546
      start: 2523
    functionDepth: 2
    functionLinenumber: 2523
    functionLinenumberEnd: 2546
    functionName: test_ecc_get_g
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - mpz_mul_2exp
    - mpz_roinit_n
    - mpn_copyi
    - mpz_mod
    - mpz_clear
    - mpz_init_set_str
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: void test_ecc_get_g (unsigned curve, mp_limb_t *rp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/testutils.c:2554,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/testutils.c:2555,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/testutils.c:2557,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/testutils.c:2558,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2560,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/testutils.c:2561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - curve
    - rp
    argTypes:
    - unsigned
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 2562
      start: 2548
    functionDepth: 2
    functionLinenumber: 2548
    functionLinenumberEnd: 2562
    functionName: test_ecc_get_ga
    functionSourceFile: /src/nettle/testsuite/testutils.c
    functionUses: 1
    functionsReached:
    - mpz_limbs_copy
    - mpz_clear
    - mpz_init_set_str
    linkageType: ''
    returnType: void
    signature: void test_ecc_get_ga (unsigned curve, mp_limb_t *rp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:54,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:57,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:60,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:63,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:66,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:69,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:72,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:75,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:78,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:81,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:84,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:87,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:90,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:93,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:96,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:99,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:102,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:105,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:108,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:111,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:114,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:117,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:120,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:123,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:126,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:129,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:132,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:135,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:138,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:141,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:144,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:147,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:150,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:153,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:156,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:159,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:162,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:165,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:168,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:171,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:174,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:177,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:180,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:183,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:186,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:189,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:192,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:195,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:198,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:201,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:203,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:204,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:207,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:210,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:213,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:216,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:219,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:222,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:225,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:228,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:231,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:234,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:237,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:240,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:243,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:246,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:249,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:252,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:255,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:258,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:261,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:264,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:267,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:270,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:273,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:276,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:279,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:282,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:285,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:288,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:291,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:292,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:294,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:297,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:300,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:303,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:306,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:309,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:312,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:315,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:318,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:321,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:324,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:327,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:330,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:333,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:336,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:339,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:342,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:345,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:347,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:348,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:351,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:354,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:357,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:360,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:363,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:366,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:369,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:372,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:375,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:378,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:381,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:384,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:387,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:390,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:393,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:396,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:399,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:402,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:405,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:408,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:411,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:414,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:417,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:420,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:423,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:426,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:429,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:432,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:435,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:438,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:439,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:441,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:444,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:447,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:450,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:453,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:456,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:459,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:462,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:465,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:468,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:471,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:472,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:474,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:477,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:478,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:480,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:483,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:486,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:489,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:492,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:495,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:498,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:501,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:504,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:507,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:510,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:513,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:516,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:519,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:522,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:525,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:528,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:531,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:534,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:537,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:540,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:543,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:546,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:549,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:552,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:555,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:558,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:561,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:564,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:567,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:568,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:570,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:571,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:573,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:576,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:578,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:579,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:580,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:582,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:585,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:588,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:590,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:591,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:593,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:594,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:597,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:600,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:603,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:606,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:609,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:612,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:615,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:618,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:621,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:623,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:624,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:627,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:630,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:633,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:636,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:639,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:642,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:645,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:648,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:651,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:654,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:657,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:660,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:663,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:666,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:669,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:672,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:675,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:678,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:679,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:681,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:684,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:687,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:690,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:691,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:692,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:693,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:696,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:699,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:702,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:703,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:705,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:708,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:711,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:714,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:717,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:720,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:723,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:725,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:726,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:729,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:732,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:735,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:738,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:739,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:741,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:743,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:744,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:747,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:748,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:750,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:753,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:756,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:759,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:762,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:765,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:768,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:771,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:773,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:774,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:775,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:776,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:777,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:778,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:779,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:780,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:781,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:782,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:783,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:784,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:785,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:786,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:787,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:788,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:789,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:790,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:791,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:792,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:793,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:794,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:795,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:796,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:797,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:798,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:799,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:800,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:801,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:802,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:803,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:804,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:805,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:806,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:807,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:808,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:809,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:810,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:811,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:812,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:813,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:814,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:815,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:816,1
    - Dst: test_xof
      Src: /src/nettle/testsuite/shake128-test.c:817,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:818,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/shake128-test.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 820
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 820
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/shake128-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_xof
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:16,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:17,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:19,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:20,1
    - Dst: ecc_point_set
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:22,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:23,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:25,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:26,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:28,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:30,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:32,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:33,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:34,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:35,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:36,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:37,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:38,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:39,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:40,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:41,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:42,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:43,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:46,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:49,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:52,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:54,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:55,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:57,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:60,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:63,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:65,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:69,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:71,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:75,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:76,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:77,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 6
    argNames:
    - ecc
    - xs
    - ys
    - h
    - r
    - s
    argTypes:
    - struct ecc_curve*
    - char*
    - char*
    - struct tstring*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 3
    functionDepth: 4
    functionLinenumber: 3
    functionLinenumberEnd: 79
    functionName: test_ecdsa
    functionSourceFile: /src/nettle/testsuite/ecdsa-verify-test.c
    functionUses: 0
    functionsReached:
    - abort
    - die
    - ecdsa_verify
    - ecc_point_clear
    - print_hex
    - dsa_signature_clear
    - ecc_point_init
    - mpz_combit
    - ecc_point_set
    - mpz_out_str
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    - mpz_set_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_ecdsa (const struct ecc_curve *ecc,\n\t    /* Public key
      */\n\t    const char *xs, const char *ys,\n\t    /* Hash */\n\t    struct tstring
      *h,\n\t    /* Valid signature */\n\t    const char *r, const char *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:97,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:105,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:108,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:120,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:135,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:152,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-verify-test.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 191
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecdsa-verify-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_ecdsa
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/camellia-test.c:12,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/camellia-test.c:15,1
    - Dst: camellia128_set_encrypt_key
      Src: /src/nettle/testsuite/camellia-test.c:22,1
    - Dst: camellia128_crypt
      Src: /src/nettle/testsuite/camellia-test.c:23,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/camellia-test.c:25,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/camellia-test.c:28,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:29,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/camellia-test.c:30,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:31,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/camellia-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:33,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/camellia-test.c:34,1
    - Dst: camellia128_invert_key
      Src: /src/nettle/testsuite/camellia-test.c:37,1
    - Dst: camellia128_crypt
      Src: /src/nettle/testsuite/camellia-test.c:38,1
    - Dst: camellia192_set_encrypt_key
      Src: /src/nettle/testsuite/camellia-test.c:46,1
    - Dst: camellia256_set_encrypt_key
      Src: /src/nettle/testsuite/camellia-test.c:48,1
    - Dst: abort
      Src: /src/nettle/testsuite/camellia-test.c:50,1
    - Dst: camellia256_crypt
      Src: /src/nettle/testsuite/camellia-test.c:52,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/camellia-test.c:54,1
    - Dst: camellia256_invert_key
      Src: /src/nettle/testsuite/camellia-test.c:57,1
    - Dst: camellia256_crypt
      Src: /src/nettle/testsuite/camellia-test.c:58,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/camellia-test.c:61,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:63,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/camellia-test.c:64,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:65,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/camellia-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:67,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/camellia-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/camellia-test.c:69,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/camellia-test.c:70,1
    - Dst: free
      Src: /src/nettle/testsuite/camellia-test.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 73
      start: 4
    functionDepth: 3
    functionLinenumber: 4
    functionLinenumberEnd: 73
    functionName: test_invert
    functionSourceFile: /src/nettle/testsuite/camellia-test.c
    functionUses: 1
    functionsReached:
    - abort
    - camellia256_crypt
    - camellia128_crypt
    - tstring_print_hex
    - print_hex
    - camellia192_set_encrypt_key
    - free
    - camellia128_invert_key
    - camellia256_set_encrypt_key
    - xalloc
    - FAIL
    - MEMEQ
    - camellia256_invert_key
    - camellia128_set_encrypt_key
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_invert(const struct tstring *key,\n\t    const struct tstring
      *cleartext,\n\t    const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/camellia-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:83,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/camellia-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:90,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/camellia-test.c:93,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:97,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/camellia-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:102,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/camellia-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:107,1
    - Dst: test_invert
      Src: /src/nettle/testsuite/camellia-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/camellia-test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/camellia-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cipher
    - test_invert
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:13,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:16,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:31,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:33,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:34,1
    - Dst: ecdsa_generate_keypair
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:36,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:42,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:43,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:44,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:45,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:46,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:48,1
    - Dst: test_ecc_point_valid_p
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:50,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:51,1
    - Dst: ecdsa_sign
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:53,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:58,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:60,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:63,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:65,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:68,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:69,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:71,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:73,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:74,1
    - Dst: ecdsa_verify
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:75,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:77,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:79,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:80,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/ecdsa-keygen-test.c:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 4
    functionDepth: 4
    functionLinenumber: 4
    functionLinenumberEnd: 83
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecdsa-keygen-test.c
    functionUses: 1
    functionsReached:
    - ecc_scalar_init
    - die
    - write_mpn
    - ecdsa_verify
    - ecc_point_clear
    - knuth_lfib_init
    - dsa_signature_clear
    - ecc_point_init
    - ecdsa_sign
    - ecdsa_generate_keypair
    - mpz_combit
    - SHEX
    - ecc_scalar_clear
    - dsa_signature_init
    - test_ecc_point_valid_p
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/balloon-test.c:46,1
    - Dst: balloon
      Src: /src/nettle/testsuite/balloon-test.c:47,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/balloon-test.c:51,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:53,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:54,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/balloon-test.c:55,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:56,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/balloon-test.c:57,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:58,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/balloon-test.c:59,1
    - Dst: free
      Src: /src/nettle/testsuite/balloon-test.c:62,1
    - Dst: free
      Src: /src/nettle/testsuite/balloon-test.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - alg
    - password_len
    - password
    - salt_len
    - salt
    - s_cost
    - t_cost
    - expected
    argTypes:
    - struct nettle_hash*
    - size_t
    - char*
    - size_t
    - char*
    - unsigned
    - unsigned
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: test_balloon
    functionSourceFile: /src/nettle/testsuite/balloon-test.c
    functionUses: 0
    functionsReached:
    - balloon
    - tstring_print_hex
    - print_hex
    - free
    - FAIL
    - MEMEQ
    - struct nettle_hash*::init
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_balloon(const struct nettle_hash *alg,\n             size_t
      password_len, const char *password,\n             size_t salt_len, const char
      *salt,\n             unsigned s_cost, unsigned t_cost,\n             const struct
      tstring *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: balloon_sha1
      Src: /src/nettle/testsuite/balloon-test.c:76,1
    - Dst: balloon_sha256
      Src: /src/nettle/testsuite/balloon-test.c:79,1
    - Dst: balloon_sha384
      Src: /src/nettle/testsuite/balloon-test.c:82,1
    - Dst: balloon_sha512
      Src: /src/nettle/testsuite/balloon-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:89,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/balloon-test.c:90,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/balloon-test.c:93,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:95,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:96,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/balloon-test.c:97,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:98,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/balloon-test.c:99,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/balloon-test.c:100,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/balloon-test.c:101,1
    - Dst: free
      Src: /src/nettle/testsuite/balloon-test.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - alg
    - password_len
    - password
    - salt_len
    - salt
    - s_cost
    - t_cost
    - expected
    argTypes:
    - struct nettle_hash*
    - size_t
    - char*
    - size_t
    - char*
    - unsigned
    - unsigned
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 105
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 105
    functionName: test_balloon_sha
    functionSourceFile: /src/nettle/testsuite/balloon-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - balloon_sha512
    - balloon_sha256
    - balloon_sha1
    - FAIL
    - MEMEQ
    - fprintf
    - balloon_sha384
    linkageType: ''
    returnType: void
    signature: "void test_balloon_sha(const struct nettle_hash *alg,\n                 size_t
      password_len, const char *password,\n                 size_t salt_len, const
      char *salt,\n                 unsigned s_cost, unsigned t_cost,\n                 const
      struct tstring *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_balloon
      Src: /src/nettle/testsuite/balloon-test.c:114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:115,1
    - Dst: test_balloon
      Src: /src/nettle/testsuite/balloon-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:117,1
    - Dst: test_balloon
      Src: /src/nettle/testsuite/balloon-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:119,1
    - Dst: test_balloon
      Src: /src/nettle/testsuite/balloon-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:121,1
    - Dst: test_balloon
      Src: /src/nettle/testsuite/balloon-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:123,1
    - Dst: test_balloon_sha
      Src: /src/nettle/testsuite/balloon-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:126,1
    - Dst: test_balloon_sha
      Src: /src/nettle/testsuite/balloon-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:128,1
    - Dst: test_balloon_sha
      Src: /src/nettle/testsuite/balloon-test.c:129,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:130,1
    - Dst: test_balloon_sha
      Src: /src/nettle/testsuite/balloon-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/balloon-test.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/balloon-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_balloon
    - test_balloon_sha
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve448-dh-test.c:41,1
    - Dst: curve448_mul_g
      Src: /src/nettle/testsuite/curve448-dh-test.c:42,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/curve448-dh-test.c:43,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/curve448-dh-test.c:45,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:47,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:48,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:49,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:50,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:51,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:52,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:53,1
    - Dst: abort
      Src: /src/nettle/testsuite/curve448-dh-test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: test_g
    functionSourceFile: /src/nettle/testsuite/curve448-dh-test.c
    functionUses: 1
    functionsReached:
    - abort
    - print_hex
    - mark_bytes_defined
    - curve448_mul_g
    - mark_bytes_undefined
    - MEMEQ
    - printf
    linkageType: ''
    returnType: void
    signature: void test_g (const uint8_t *s, const uint8_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve448-dh-test.c:62,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/curve448-dh-test.c:63,1
    - Dst: curve448_mul
      Src: /src/nettle/testsuite/curve448-dh-test.c:64,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/curve448-dh-test.c:65,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/curve448-dh-test.c:67,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:69,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:70,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:71,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:72,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:73,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:74,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:75,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/curve448-dh-test.c:76,1
    - Dst: printf
      Src: /src/nettle/testsuite/curve448-dh-test.c:77,1
    - Dst: abort
      Src: /src/nettle/testsuite/curve448-dh-test.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - s
    - b
    - r
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: test_a
    functionSourceFile: /src/nettle/testsuite/curve448-dh-test.c
    functionUses: 1
    functionsReached:
    - abort
    - print_hex
    - mark_bytes_defined
    - curve448_mul
    - mark_bytes_undefined
    - MEMEQ
    - printf
    linkageType: ''
    returnType: void
    signature: void test_a (const uint8_t *s, const uint8_t *b, const uint8_t *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/curve448-dh-test.c:87,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve448-dh-test.c:90,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:90,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:92,1
    - Dst: test_g
      Src: /src/nettle/testsuite/curve448-dh-test.c:94,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:94,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:96,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve448-dh-test.c:99,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:99,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:101,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:103,1
    - Dst: test_a
      Src: /src/nettle/testsuite/curve448-dh-test.c:105,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:105,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:107,1
    - Dst: H
      Src: /src/nettle/testsuite/curve448-dh-test.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/curve448-dh-test.c
    functionUses: 1
    functionsReached:
    - SKIP
    - H
    - test_g
    - test_a
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/eddsa-compress-test.c:44,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/eddsa-compress-test.c:45,1
    - Dst: ecc_size
      Src: /src/nettle/testsuite/eddsa-compress-test.c:64,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/eddsa-compress-test.c:67,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/eddsa-compress-test.c:69,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-compress-test.c:70,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-compress-test.c:71,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/eddsa-compress-test.c:71,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-compress-test.c:72,1
    - Dst: ecc_size_a
      Src: /src/nettle/testsuite/eddsa-compress-test.c:72,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-compress-test.c:73,1
    - Dst: ecc_size_a
      Src: /src/nettle/testsuite/eddsa-compress-test.c:73,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/eddsa-compress-test.c:74,1
    - Dst: _eddsa_decompress_itch
      Src: /src/nettle/testsuite/eddsa-compress-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/eddsa-compress-test.c:79,1
    - Dst: _eddsa_compress_itch
      Src: /src/nettle/testsuite/eddsa-compress-test.c:79,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-compress-test.c:81,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/eddsa-compress-test.c:87,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/eddsa-compress-test.c:88,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/testsuite/eddsa-compress-test.c:89,1
    - Dst: _eddsa_compress
      Src: /src/nettle/testsuite/eddsa-compress-test.c:90,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/eddsa-compress-test.c:91,1
    - Dst: _eddsa_decompress
      Src: /src/nettle/testsuite/eddsa-compress-test.c:92,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/eddsa-compress-test.c:93,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/eddsa-compress-test.c:94,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/eddsa-compress-test.c:95,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/eddsa-compress-test.c:96,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/eddsa-compress-test.c:97,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/eddsa-compress-test.c:98,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:100,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/eddsa-compress-test.c:101,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:102,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/eddsa-compress-test.c:103,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:104,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/eddsa-compress-test.c:105,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:106,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/eddsa-compress-test.c:107,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:108,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/eddsa-compress-test.c:109,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-compress-test.c:110,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/eddsa-compress-test.c:111,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/eddsa-compress-test.c:114,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:115,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:116,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:117,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:118,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:119,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-compress-test.c:120,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/eddsa-compress-test.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 123
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/eddsa-compress-test.c
    functionUses: 1
    functionsReached:
    - ecc_size_a
    - gmp_randinit_default
    - xalloc
    - _eddsa_compress
    - _eddsa_decompress
    - mpz_congruent_p
    - ecc_size
    - print_hex
    - free
    - FAIL
    - _eddsa_compress_itch
    - ASSERT
    - mpz_limbs_copy
    - struct ecc_curve*::h_to_a
    - mpz_urandomb
    - mpz_out_str
    - xalloc_limbs
    - struct ecc_curve*::mul_g
    - test_randomize
    - fprintf
    - _eddsa_decompress_itch
    - gmp_randclear
    - ecc_size_j
    - mpz_init
    - mpz_clear
    - mpz_roinit_n
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:14,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/streebog-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:16,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/streebog-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:24,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:34,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:46,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:51,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:59,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:73,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/streebog-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/streebog-test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 90
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/streebog-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-redc-test.c:10,1
    - Dst: mpz_setbit
      Src: /src/nettle/testsuite/ecc-redc-test.c:11,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-redc-test.c:13,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-redc-test.c:19,1
    - Dst: mpz_invert
      Src: /src/nettle/testsuite/ecc-redc-test.c:21,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/ecc-redc-test.c:22,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-redc-test.c:23,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-redc-test.c:25,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-redc-test.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - rp
    - ap
    - mp
    - mn
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 28
    functionName: ref_redc
    functionSourceFile: /src/nettle/testsuite/ecc-redc-test.c
    functionUses: 0
    functionsReached:
    - mpz_invert
    - mpz_mul
    - mpz_limbs_copy
    - mpz_mod
    - mpz_init
    - mpz_clear
    - mpz_setbit
    - mpz_roinit_n
    linkageType: ''
    returnType: void
    signature: void ref_redc (mp_limb_t *rp, const mp_limb_t *ap, const mp_limb_t
      *mp, mp_size_t mn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-redc-test.c:34,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-redc-test.c:35,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-redc-test.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - ref
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: mod_equal
    functionSourceFile: /src/nettle/testsuite/ecc-redc-test.c
    functionUses: 0
    functionsReached:
    - mpn_cmp
    - mpn_sub_n
    linkageType: ''
    returnType: int
    signature: int mod_equal(const struct ecc_modulo *m, const mp_limb_t *ref, mp_limb_t
      *tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-redc-test.c:53,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-redc-test.c:54,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-redc-test.c:56,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-redc-test.c:66,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-redc-test.c:68,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-redc-test.c:70,1
    - Dst: ref_redc
      Src: /src/nettle/testsuite/ecc-redc-test.c:72,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-redc-test.c:76,1
    - Dst: struct ecc_curve*::p::reduce
      Src: /src/nettle/testsuite/ecc-redc-test.c:77,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-redc-test.c:78,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:80,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:82,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:84,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:86,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:87,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:88,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-redc-test.c:89,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-redc-test.c:91,1
    - Dst: struct ecc_curve*::p::reduce
      Src: /src/nettle/testsuite/ecc-redc-test.c:92,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-redc-test.c:93,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:95,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:97,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:98,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:99,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:100,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:101,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:102,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:103,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-redc-test.c:104,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-redc-test.c:109,1
    - Dst: ecc_pm1_redc
      Src: /src/nettle/testsuite/ecc-redc-test.c:111,1
    - Dst: ecc_pp1_redc
      Src: /src/nettle/testsuite/ecc-redc-test.c:113,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-redc-test.c:115,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:117,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:119,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:120,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:121,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:122,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:123,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:124,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:125,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-redc-test.c:126,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-redc-test.c:129,1
    - Dst: ecc_pm1_redc
      Src: /src/nettle/testsuite/ecc-redc-test.c:131,1
    - Dst: ecc_pp1_redc
      Src: /src/nettle/testsuite/ecc-redc-test.c:133,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-redc-test.c:135,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:137,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:139,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:140,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:141,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:142,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:143,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-redc-test.c:144,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-redc-test.c:145,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-redc-test.c:146,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-redc-test.c:152,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-redc-test.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 154
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-redc-test.c
    functionUses: 1
    functionsReached:
    - abort
    - mpz_rrandomb
    - mod_equal
    - mpz_limbs_copy
    - mpn_copyi
    - fprintf
    - gmp_randclear
    - ref_redc
    - gmp_randinit_default
    - ecc_pm1_redc
    - mpz_urandomb
    - mpz_init
    - struct ecc_curve*::p::reduce
    - ecc_pp1_redc
    - mpn_out_str
    - mpz_clear
    - test_randomize
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-224-test.c:7,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-224-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-224-test.c:8,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-224-test.c:11,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-224-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-224-test.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 17
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha512-224-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash_large
      Src: /src/nettle/testsuite/sha1-huge-test.c:9,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-huge-test.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 12
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha1-huge-test.c
    functionUses: 1
    functionsReached:
    - test_hash_large
    - SHEX
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:7,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:8,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:10,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:11,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:13,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:14,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:16,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:17,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:19,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:20,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:26,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:28,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:31,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:34,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md5-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:35,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:86,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:89,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:92,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md5-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md5-test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 96
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/md5-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa2sexp-test.c:13,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa2sexp-test.c:14,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:16,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:20,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:22,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa2sexp-test.c:22,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:24,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:29,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:33,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:37,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:41,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa2sexp-test.c:45,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:49,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa2sexp-test.c:49,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/rsa2sexp-test.c:51,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:52,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/testsuite/rsa2sexp-test.c:52,1
    - Dst: printf
      Src: /src/nettle/testsuite/rsa2sexp-test.c:56,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/rsa2sexp-test.c:57,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:60,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa2sexp-test.c:60,1
    - Dst: H
      Src: /src/nettle/testsuite/rsa2sexp-test.c:61,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/rsa2sexp-test.c:86,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:87,1
    - Dst: rsa_keypair_to_sexp
      Src: /src/nettle/testsuite/rsa2sexp-test.c:87,1
    - Dst: printf
      Src: /src/nettle/testsuite/rsa2sexp-test.c:91,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/rsa2sexp-test.c:92,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa2sexp-test.c:94,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa2sexp-test.c:94,1
    - Dst: H
      Src: /src/nettle/testsuite/rsa2sexp-test.c:95,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/rsa2sexp-test.c:103,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa2sexp-test.c:104,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa2sexp-test.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 5
    functionDepth: 5
    functionLinenumber: 5
    functionLinenumberEnd: 106
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa2sexp-test.c
    functionUses: 1
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - nettle_buffer_init
    - rsa_private_key_prepare
    - rsa_public_key_prepare
    - nettle_buffer_clear
    - print_hex
    - rsa_public_key_clear
    - rsa_keypair_to_sexp
    - rsa_private_key_init
    - H
    - MEMEQ
    - printf
    - mpz_set_str
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/cbc-test.c:28,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/cbc-test.c:29,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/testsuite/cbc-test.c:34,1
    - Dst: CBC_SET_IV
      Src: /src/nettle/testsuite/cbc-test.c:35,1
    - Dst: CBC_ENCRYPT
      Src: /src/nettle/testsuite/cbc-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cbc-test.c:39,1
    - Dst: printf
      Src: /src/nettle/testsuite/cbc-test.c:43,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cbc-test.c:44,1
    - Dst: printf
      Src: /src/nettle/testsuite/cbc-test.c:45,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cbc-test.c:48,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cbc-test.c:48,1
    - Dst: aes256_set_decrypt_key
      Src: /src/nettle/testsuite/cbc-test.c:51,1
    - Dst: CBC_SET_IV
      Src: /src/nettle/testsuite/cbc-test.c:52,1
    - Dst: CBC_DECRYPT
      Src: /src/nettle/testsuite/cbc-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cbc-test.c:55,1
    - Dst: printf
      Src: /src/nettle/testsuite/cbc-test.c:59,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cbc-test.c:60,1
    - Dst: printf
      Src: /src/nettle/testsuite/cbc-test.c:61,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cbc-test.c:64,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cbc-test.c:64,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cbc-test.c:65,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cbc-test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 66
    functionName: test_cbc_bulk
    functionSourceFile: /src/nettle/testsuite/cbc-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - print_hex
    - knuth_lfib_init
    - aes256_set_encrypt_key
    - CBC_DECRYPT
    - MEMEQ
    - knuth_lfib_random
    - printf
    - CBC_SET_IV
    - aes256_set_decrypt_key
    - CBC_ENCRYPT
    linkageType: ''
    returnType: void
    signature: void test_cbc_bulk(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_cbc
      Src: /src/nettle/testsuite/cbc-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:83,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/cbc-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:92,1
    - Dst: test_cipher_cbc
      Src: /src/nettle/testsuite/cbc-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:108,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:117,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/cbc-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:130,1
    - Dst: test_cipher_cbc
      Src: /src/nettle/testsuite/cbc-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:144,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:154,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/cbc-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:168,1
    - Dst: test_cipher_cbc
      Src: /src/nettle/testsuite/cbc-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:192,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/cbc-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:195,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:198,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cbc-test.c:206,1
    - Dst: test_cbc_bulk
      Src: /src/nettle/testsuite/cbc-test.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 210
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cbc-test.c
    functionUses: 1
    functionsReached:
    - test_aead
    - SDATA
    - test_cipher_cbc
    - SHEX
    - test_cbc_bulk
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:10,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:11,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:12,1
    - Dst: cnd_memcpy
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:14,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:15,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - cnd
    - dst
    - src
    - n
    argTypes:
    - int
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 17
    functionName: cnd_memcpy_for_test
    functionSourceFile: /src/nettle/testsuite/cnd-memcpy-test.c
    functionUses: 0
    functionsReached:
    - cnd_memcpy
    - mark_bytes_defined
    - mark_bytes_undefined
    linkageType: ''
    returnType: void
    signature: void cnd_memcpy_for_test(int cnd, void *dst, const void *src, size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:28,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:33,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:34,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:35,1
    - Dst: cnd_memcpy_for_test
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:38,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:38,1
    - Dst: cnd_memcpy_for_test
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:39,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:40,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/cnd-memcpy-test.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cnd-memcpy-test.c
    functionUses: 1
    functionsReached:
    - knuth_lfib_init
    - memcmp
    - memcpy
    - knuth_lfib_random
    - ASSERT
    - cnd_memcpy_for_test
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/knuth-lfib-test.c:13,1
    - Dst: knuth_lfib_get_array
      Src: /src/nettle/testsuite/knuth-lfib-test.c:15,1
    - Dst: knuth_lfib_get
      Src: /src/nettle/testsuite/knuth-lfib-test.c:17,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/knuth-lfib-test.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 4
    functionDepth: 3
    functionLinenumber: 4
    functionLinenumberEnd: 19
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/knuth-lfib-test.c
    functionUses: 1
    functionsReached:
    - knuth_lfib_init
    - knuth_lfib_get_array
    - ASSERT
    - knuth_lfib_get
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:8,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:10,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:11,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:12,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:13,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:14,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:16,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:17,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:18,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md2-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md2-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md2-test.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 25
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/md2-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/version-test.c:40,1
    - Dst: nettle_version_major
      Src: /src/nettle/testsuite/version-test.c:40,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/version-test.c:41,1
    - Dst: nettle_version_minor
      Src: /src/nettle/testsuite/version-test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/version-test.c
    functionUses: 1
    functionsReached:
    - nettle_version_minor
    - nettle_version_major
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-modinv-test.c:11,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-modinv-test.c:12,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-modinv-test.c:13,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-modinv-test.c:14,1
    - Dst: mpz_gcdext
      Src: /src/nettle/testsuite/ecc-modinv-test.c:16,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/ecc-modinv-test.c:17,1
    - Dst: mpz_sgn
      Src: /src/nettle/testsuite/ecc-modinv-test.c:19,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/ecc-modinv-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecc-modinv-test.c:22,1
    - Dst: mpz_sgn
      Src: /src/nettle/testsuite/ecc-modinv-test.c:22,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/ecc-modinv-test.c:31,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-modinv-test.c:32,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-modinv-test.c:35,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-modinv-test.c:36,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-modinv-test.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - rp
    - ap
    - mp
    - mn
    - use_redc
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 39
    functionName: ref_modinv
    functionSourceFile: /src/nettle/testsuite/ecc-modinv-test.c
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpz_mul_2exp
    - mpz_gcdext
    - mpz_limbs_copy
    - mpz_mod
    - mpz_init
    - mpz_clear
    - mpz_add
    - mpz_roinit_n
    - mpz_cmp_ui
    - ASSERT
    linkageType: ''
    returnType: int
    signature: "int ref_modinv (mp_limb_t *rp, const mp_limb_t *ap,\n\t    const mp_limb_t
      *mp, mp_size_t mn, int use_redc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-modinv-test.c:55,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-modinv-test.c:57,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-modinv-test.c:58,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-modinv-test.c:59,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-modinv-test.c:60,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-modinv-test.c:63,1
    - Dst: memset
      Src: /src/nettle/testsuite/ecc-modinv-test.c:64,1
    - Dst: struct ecc_modulo*::invert
      Src: /src/nettle/testsuite/ecc-modinv-test.c:65,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/testsuite/ecc-modinv-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:70,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:71,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:72,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:73,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:74,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-modinv-test.c:75,1
    - Dst: memset
      Src: /src/nettle/testsuite/ecc-modinv-test.c:79,1
    - Dst: struct ecc_modulo*::invert
      Src: /src/nettle/testsuite/ecc-modinv-test.c:80,1
    - Dst: ecc_mod_zero_p
      Src: /src/nettle/testsuite/ecc-modinv-test.c:81,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:86,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:87,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:88,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:89,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:90,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-modinv-test.c:91,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-modinv-test.c:97,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-modinv-test.c:99,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-modinv-test.c:101,1
    - Dst: ref_modinv
      Src: /src/nettle/testsuite/ecc-modinv-test.c:103,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:106,1
    - Dst: struct ecc_modulo*::invert
      Src: /src/nettle/testsuite/ecc-modinv-test.c:110,1
    - Dst: ecc_mod_equal_p
      Src: /src/nettle/testsuite/ecc-modinv-test.c:111,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:113,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:115,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:116,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:117,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:118,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:119,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:120,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:121,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-modinv-test.c:122,1
    - Dst: printf
      Src: /src/nettle/testsuite/ecc-modinv-test.c:123,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-modinv-test.c:125,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-modinv-test.c:129,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-modinv-test.c:130,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-modinv-test.c:131,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-modinv-test.c:132,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-modinv-test.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 4
    argNames:
    - rands
    - name
    - m
    - use_redc
    argTypes:
    - gmp_randstate_t
    - char*
    - struct ecc_modulo*
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 134
    functionName: test_modulo
    functionSourceFile: /src/nettle/testsuite/ecc-modinv-test.c
    functionUses: 1
    functionsReached:
    - abort
    - ecc_mod_zero_p
    - mpz_rrandomb
    - mpz_limbs_copy
    - free
    - printf
    - struct ecc_modulo*::invert
    - mpz_urandomb
    - xalloc_limbs
    - ref_modinv
    - mpz_init
    - memset
    - mpn_zero
    - mpn_out_str
    - ecc_mod_equal_p
    - mpz_out_str
    - fprintf
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: "void test_modulo (gmp_randstate_t rands, const char *name,\n\t     const
      struct ecc_modulo *m, int use_redc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-modinv-test.c:142,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-modinv-test.c:143,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-modinv-test.c:147,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-modinv-test.c:148,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-modinv-test.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-modinv-test.c
    functionUses: 1
    functionsReached:
    - gmp_randclear
    - test_modulo
    - test_randomize
    - gmp_randinit_default
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/testsuite/hkdf-test.c:16,1
    - Dst: hkdf_extract
      Src: /src/nettle/testsuite/hkdf-test.c:17,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/hkdf-test.c:22,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:24,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:25,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:26,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:27,1
    - Dst: abort
      Src: /src/nettle/testsuite/hkdf-test.c:28,1
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/testsuite/hkdf-test.c:31,1
    - Dst: hkdf_expand
      Src: /src/nettle/testsuite/hkdf-test.c:32,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/hkdf-test.c:39,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:41,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:43,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:44,1
    - Dst: abort
      Src: /src/nettle/testsuite/hkdf-test.c:45,1
    - Dst: free
      Src: /src/nettle/testsuite/hkdf-test.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - ikm
    - salt
    - info
    - extract_output
    - expand_output
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 48
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 48
    functionName: test_hkdf_sha256
    functionSourceFile: /src/nettle/testsuite/hkdf-test.c
    functionUses: 0
    functionsReached:
    - abort
    - hkdf_extract
    - hmac_sha256_set_key
    - print_hex
    - free
    - hkdf_expand
    - MEMEQ
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_hkdf_sha256(const struct tstring *ikm,\n\t\t const struct
      tstring *salt,\n\t\t const struct tstring *info,\n\t\t const struct tstring
      *extract_output,\n\t\t const struct tstring *expand_output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/testsuite/hkdf-test.c:61,1
    - Dst: hkdf_extract
      Src: /src/nettle/testsuite/hkdf-test.c:62,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/hkdf-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:70,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:71,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:72,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:73,1
    - Dst: abort
      Src: /src/nettle/testsuite/hkdf-test.c:74,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/testsuite/hkdf-test.c:77,1
    - Dst: hkdf_expand
      Src: /src/nettle/testsuite/hkdf-test.c:78,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/hkdf-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:87,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:88,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/hkdf-test.c:89,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/hkdf-test.c:90,1
    - Dst: abort
      Src: /src/nettle/testsuite/hkdf-test.c:91,1
    - Dst: free
      Src: /src/nettle/testsuite/hkdf-test.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - ikm
    - salt
    - info
    - extract_output
    - expand_output
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 94
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 94
    functionName: test_hkdf_sha1
    functionSourceFile: /src/nettle/testsuite/hkdf-test.c
    functionUses: 0
    functionsReached:
    - abort
    - hkdf_extract
    - print_hex
    - free
    - hkdf_expand
    - MEMEQ
    - hmac_sha1_set_key
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_hkdf_sha1(const struct tstring *ikm,\n\t       const struct
      tstring *salt,\n\t       const struct tstring *info,\n\t       const struct
      tstring *extract_output,\n\t       const struct tstring *expand_output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hkdf_sha256
      Src: /src/nettle/testsuite/hkdf-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:104,1
    - Dst: test_hkdf_sha256
      Src: /src/nettle/testsuite/hkdf-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:108,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:110,1
    - Dst: test_hkdf_sha256
      Src: /src/nettle/testsuite/hkdf-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:112,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hkdf-test.c:113,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hkdf-test.c:114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:116,1
    - Dst: test_hkdf_sha1
      Src: /src/nettle/testsuite/hkdf-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:122,1
    - Dst: test_hkdf_sha1
      Src: /src/nettle/testsuite/hkdf-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:128,1
    - Dst: test_hkdf_sha1
      Src: /src/nettle/testsuite/hkdf-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:130,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hkdf-test.c:131,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hkdf-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:134,1
    - Dst: test_hkdf_sha1
      Src: /src/nettle/testsuite/hkdf-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hkdf-test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 141
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/hkdf-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hkdf_sha256
    - test_hkdf_sha1
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:12,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:18,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:24,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:26,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:27,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:33,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:36,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:38,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:39,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:42,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:45,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:46,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:48,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:51,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:54,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:57,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:60,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:63,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:66,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:69,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:75,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:78,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:81,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:84,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:87,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:90,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:93,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:96,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:99,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:102,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:105,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:108,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:111,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:114,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:117,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:120,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:123,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:126,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:129,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:132,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:135,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:138,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:141,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:144,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:147,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:150,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:153,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:156,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:159,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:162,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:165,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:168,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:171,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:174,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:177,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:180,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:183,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:186,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:189,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:192,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:195,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:198,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:201,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:203,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:204,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:207,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:210,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:213,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:216,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:219,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:222,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:225,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:228,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:231,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:234,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:237,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:240,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:243,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:246,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:249,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:252,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:255,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:258,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:261,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:264,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:267,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:270,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:273,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:276,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:279,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:282,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:285,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:288,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:291,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:292,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:294,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:297,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:300,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:303,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:306,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:309,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:312,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:315,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:318,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:321,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:324,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:327,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:330,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:333,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:336,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:339,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:342,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:345,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:347,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:348,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:351,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:354,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:357,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:360,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:363,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:366,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:369,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:372,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:375,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:378,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:381,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:384,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:387,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:390,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:393,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:396,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:399,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:402,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:405,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:408,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:411,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:414,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:417,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:420,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:423,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:426,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:429,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:432,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:435,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:438,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:439,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:441,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:444,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:447,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:450,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:453,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:456,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:459,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:462,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:465,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:468,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:471,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:472,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:474,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:477,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:478,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:480,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:483,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:486,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:489,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:492,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:495,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:498,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:501,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:504,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:507,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:510,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:513,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:516,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:519,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:522,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:525,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:528,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:531,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:534,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:537,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:540,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:543,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:546,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:549,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:552,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:555,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:558,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:561,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:564,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:567,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:568,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:570,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:571,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:573,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:576,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:578,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:579,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:580,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:582,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:585,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:588,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:590,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:591,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:593,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:594,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:597,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:600,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:603,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:606,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:609,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:612,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:615,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:618,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:621,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:623,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:624,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:627,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:630,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:633,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:636,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:639,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:642,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:645,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:648,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:651,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:654,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:657,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:660,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:663,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:666,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:669,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:672,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:675,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:678,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:679,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:681,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:684,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:687,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:690,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:691,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:692,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:693,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:696,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:699,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:702,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:703,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:705,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:708,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:711,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:714,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:717,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:720,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:723,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:725,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:726,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:729,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:732,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:735,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:738,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:739,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:741,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:743,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:744,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:747,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:748,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:750,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:753,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:756,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:759,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:762,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:765,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:768,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:771,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-224-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:773,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-224-test.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 775
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha3-224-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:12,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:18,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:24,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:26,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:27,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:33,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:36,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:38,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:39,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:42,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:45,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:46,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:48,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:51,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:54,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:57,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:60,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:63,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:66,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:69,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:75,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:78,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:81,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:84,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:87,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:90,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:93,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:96,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:99,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:102,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:105,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:108,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:111,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:114,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:117,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:120,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:123,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:126,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:129,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:132,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:135,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:138,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:141,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:144,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:147,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:150,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:153,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:156,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:159,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:162,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:165,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:168,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:171,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:174,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:177,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:180,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:183,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:186,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:189,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:192,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:195,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:198,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:201,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:203,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:204,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:207,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:210,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:213,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:216,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:219,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:222,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:225,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:228,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:231,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:234,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:237,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:240,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:243,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:246,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:249,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:252,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:255,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:258,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:261,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:264,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:267,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:270,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:273,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:276,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:279,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:282,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:285,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:288,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:291,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:292,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:294,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:297,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:300,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:303,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:306,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:309,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:312,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:315,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:318,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:321,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:324,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:327,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:330,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:333,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:336,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:339,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:342,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:345,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:347,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:348,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:351,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:354,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:357,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:360,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:363,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:366,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:369,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:372,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:375,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:378,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:381,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:384,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:387,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:390,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:393,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:396,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:399,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:402,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:405,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:408,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:411,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:414,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:417,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:420,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:423,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:426,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:429,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:432,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:435,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:438,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:439,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:441,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:444,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:447,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:450,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:453,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:456,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:459,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:462,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:465,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:468,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:471,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:472,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:474,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:477,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:478,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:480,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:483,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:486,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:489,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:492,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:495,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:498,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:501,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:504,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:507,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:510,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:513,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:516,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:519,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:522,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:525,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:528,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:531,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:534,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:537,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:540,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:543,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:546,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:549,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:552,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:555,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:558,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:561,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:564,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:567,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:568,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:570,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:571,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:573,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:576,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:578,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:579,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:580,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:582,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:585,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:588,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:590,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:591,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:593,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:594,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:597,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:600,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:603,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:606,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:609,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:612,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:615,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:618,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:621,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:623,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:624,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:627,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:630,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:633,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:636,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:639,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:642,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:645,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:648,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:651,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:654,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:657,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:660,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:663,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:666,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:669,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:672,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:675,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:678,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:679,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:681,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:684,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:687,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:690,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:691,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:692,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:693,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:696,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:699,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:702,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:703,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:705,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:708,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:711,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:714,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:717,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:720,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:723,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:725,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:726,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:729,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:732,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:735,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:738,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:739,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:741,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:743,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:744,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:747,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:748,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:750,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:753,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:756,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:759,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:762,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:765,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:768,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:771,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-256-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:773,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-256-test.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 775
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha3-256-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/testsuite/umac-test.c:15,1
    - Dst: f
      Src: /src/nettle/testsuite/umac-test.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - f
    - msg
    - length
    argTypes:
    - void*
    - nettle_hash_update_func*
    - struct tstring*
    - size_t
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: update
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 210
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: "void update (void *ctx, nettle_hash_update_func *f,\n\tconst struct
      tstring *msg,\n\tsize_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/nettle/testsuite/umac-test.c:25,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/umac-test.c:26,1
    - Dst: printf
      Src: /src/nettle/testsuite/umac-test.c:28,1
    - Dst: printf
      Src: /src/nettle/testsuite/umac-test.c:29,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/umac-test.c:29,1
    - Dst: printf
      Src: /src/nettle/testsuite/umac-test.c:30,1
    - Dst: printf
      Src: /src/nettle/testsuite/umac-test.c:31,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/umac-test.c:31,1
    - Dst: printf
      Src: /src/nettle/testsuite/umac-test.c:32,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/umac-test.c:32,1
    - Dst: abort
      Src: /src/nettle/testsuite/umac-test.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - name
    - ctx
    - f
    - msg
    - length
    - tag_length
    - ref
    argTypes:
    - char*
    - void*
    - nettle_hash_digest_func*
    - struct tstring*
    - size_t
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: check_digest
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 4
    functionsReached:
    - abort
    - print_hex
    - memcmp
    - f
    - printf
    linkageType: ''
    returnType: void
    signature: "void check_digest (const char *name, void *ctx, nettle_hash_digest_func
      *f,\n\t      const struct tstring *msg, size_t length,\n\t      size_t tag_length,
      const uint8_t *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:52,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:54,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:55,1
    - Dst: umac32_set_key
      Src: /src/nettle/testsuite/umac-test.c:57,1
    - Dst: umac32_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:58,1
    - Dst: update
      Src: /src/nettle/testsuite/umac-test.c:60,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:62,1
    - Dst: umac64_set_key
      Src: /src/nettle/testsuite/umac-test.c:65,1
    - Dst: umac64_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:66,1
    - Dst: update
      Src: /src/nettle/testsuite/umac-test.c:68,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:70,1
    - Dst: umac96_set_key
      Src: /src/nettle/testsuite/umac-test.c:73,1
    - Dst: umac96_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:74,1
    - Dst: update
      Src: /src/nettle/testsuite/umac-test.c:76,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:78,1
    - Dst: umac128_set_key
      Src: /src/nettle/testsuite/umac-test.c:81,1
    - Dst: umac128_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:82,1
    - Dst: update
      Src: /src/nettle/testsuite/umac-test.c:84,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 7
    argNames:
    - key
    - nonce
    - msg
    - length
    - ref32
    - ref64
    - ref128
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - size_t
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 88
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 88
    functionName: test_umac
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - umac96_set_key
    - umac64_set_nonce
    - umac32_set_key
    - umac128_set_nonce
    - umac64_set_key
    - umac128_set_key
    - umac96_set_nonce
    - check_digest
    - update
    - umac32_set_nonce
    linkageType: ''
    returnType: void
    signature: "void test_umac (const struct tstring *key,\n\t   const struct tstring
      *nonce,\n\t   const struct tstring *msg,\n\t   size_t length,\n\t   const struct
      tstring *ref32,\n\t   const struct tstring *ref64,\n\t   const struct tstring
      *ref128)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/nettle/testsuite/umac-test.c:111,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/umac-test.c:115,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/umac-test.c:116,1
    - Dst: umac32_set_key
      Src: /src/nettle/testsuite/umac-test.c:118,1
    - Dst: umac32_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:119,1
    - Dst: umac32_update
      Src: /src/nettle/testsuite/umac-test.c:121,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:123,1
    - Dst: umac64_set_key
      Src: /src/nettle/testsuite/umac-test.c:127,1
    - Dst: umac64_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:128,1
    - Dst: umac64_update
      Src: /src/nettle/testsuite/umac-test.c:130,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:132,1
    - Dst: umac96_set_key
      Src: /src/nettle/testsuite/umac-test.c:136,1
    - Dst: umac96_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:137,1
    - Dst: umac96_update
      Src: /src/nettle/testsuite/umac-test.c:139,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:141,1
    - Dst: umac128_set_key
      Src: /src/nettle/testsuite/umac-test.c:145,1
    - Dst: umac128_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:146,1
    - Dst: umac128_update
      Src: /src/nettle/testsuite/umac-test.c:148,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:150,1
    - Dst: free
      Src: /src/nettle/testsuite/umac-test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 7
    argNames:
    - key
    - nonce
    - msg
    - length
    - ref32
    - ref64
    - ref128
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - size_t
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 155
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 155
    functionName: test_align
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 0
    functionsReached:
    - umac96_set_key
    - umac64_set_nonce
    - umac32_set_key
    - umac128_set_nonce
    - umac64_set_key
    - free
    - umac96_update
    - umac64_update
    - umac128_set_key
    - umac128_update
    - memset
    - memcpy
    - umac96_set_nonce
    - check_digest
    - umac32_update
    - umac32_set_nonce
    linkageType: ''
    returnType: void
    signature: "void test_align(const struct tstring *key,\n\t   const struct tstring
      *nonce,\n\t   const struct tstring *msg,\n\t   size_t length,\n\t   const struct
      tstring *ref32,\n\t   const struct tstring *ref64,\n\t   const struct tstring
      *ref128)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:173,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:174,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:175,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/umac-test.c:176,1
    - Dst: umac32_set_key
      Src: /src/nettle/testsuite/umac-test.c:177,1
    - Dst: umac64_set_key
      Src: /src/nettle/testsuite/umac-test.c:178,1
    - Dst: umac96_set_key
      Src: /src/nettle/testsuite/umac-test.c:179,1
    - Dst: umac128_set_key
      Src: /src/nettle/testsuite/umac-test.c:180,1
    - Dst: umac32_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:183,1
    - Dst: umac64_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:184,1
    - Dst: umac96_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:185,1
    - Dst: umac128_set_nonce
      Src: /src/nettle/testsuite/umac-test.c:186,1
    - Dst: umac32_update
      Src: /src/nettle/testsuite/umac-test.c:190,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:191,1
    - Dst: umac64_update
      Src: /src/nettle/testsuite/umac-test.c:195,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:196,1
    - Dst: umac96_update
      Src: /src/nettle/testsuite/umac-test.c:200,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:201,1
    - Dst: umac128_update
      Src: /src/nettle/testsuite/umac-test.c:205,1
    - Dst: check_digest
      Src: /src/nettle/testsuite/umac-test.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 7
    argNames:
    - key
    - nonce
    - count
    - msg
    - ref32
    - ref64
    - ref128
    argTypes:
    - struct tstring*
    - struct tstring*
    - unsigned
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 211
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 211
    functionName: test_incr
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 0
    functionsReached:
    - umac96_set_key
    - umac64_set_nonce
    - umac32_set_key
    - umac128_set_nonce
    - umac64_set_key
    - umac96_update
    - umac128_set_key
    - umac64_update
    - umac128_update
    - umac96_set_nonce
    - check_digest
    - umac32_update
    - ASSERT
    - umac32_set_nonce
    linkageType: ''
    returnType: void
    signature: "void test_incr (const struct tstring *key,\n\t   const struct tstring
      *nonce,\n\t   unsigned count,\n\t   const struct tstring *msg,\n\t   const struct
      tstring *ref32,\n\t   const struct tstring *ref64,\n\t   const struct tstring
      *ref128)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:218,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:218,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:218,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:219,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:222,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:223,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:223,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:223,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:225,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:227,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:228,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:228,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:228,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:232,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:234,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:234,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:234,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:238,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:239,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:239,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:239,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:243,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:247,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:247,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:247,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:249,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:251,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:252,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:252,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:252,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:255,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:256,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:257,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:257,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:257,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:258,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:261,1
    - Dst: test_incr
      Src: /src/nettle/testsuite/umac-test.c:263,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:263,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:264,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:268,1
    - Dst: test_incr
      Src: /src/nettle/testsuite/umac-test.c:275,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:275,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:275,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:280,1
    - Dst: test_incr
      Src: /src/nettle/testsuite/umac-test.c:286,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:286,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:288,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:291,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:307,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:307,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:307,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:311,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:312,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:312,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:312,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:315,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:316,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:317,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:317,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:317,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:318,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:321,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:322,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:322,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:322,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:324,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:326,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:327,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:327,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:327,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:330,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:331,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:333,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:333,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:333,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:336,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:337,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:338,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:338,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:338,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:339,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:342,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:343,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:343,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:343,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:345,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:347,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:348,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:348,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:348,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:351,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:352,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:353,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:353,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:353,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:354,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:357,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:358,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:358,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:358,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:360,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:362,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:363,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:363,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:363,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:367,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:368,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:368,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:368,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:369,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:372,1
    - Dst: test_align
      Src: /src/nettle/testsuite/umac-test.c:376,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:376,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:376,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:380,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:382,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:382,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:382,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:384,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:386,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:387,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:387,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:387,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:390,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:391,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:392,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:392,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:392,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:393,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:396,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:397,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:397,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:397,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:399,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:401,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:402,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:402,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:402,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:405,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:406,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:408,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:408,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:408,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:411,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:412,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:413,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:413,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:413,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:414,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:417,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:418,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:418,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:418,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:420,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:422,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:423,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:423,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:423,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:426,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:427,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:428,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:428,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:428,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:429,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:432,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:433,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:433,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:433,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:435,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:437,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:439,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:439,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:439,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:441,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:443,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:444,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:444,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:444,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:448,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:449,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:449,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:449,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:450,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:453,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:454,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:454,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:454,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:456,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:458,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:459,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:459,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:459,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:462,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:463,1
    - Dst: test_umac
      Src: /src/nettle/testsuite/umac-test.c:464,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:464,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:464,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/umac-test.c:465,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/umac-test.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 469
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/umac-test.c
    functionUses: 1
    functionsReached:
    - test_umac
    - test_incr
    - test_align
    - SDATA
    - SHEX
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdh-test.c:40,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdh-test.c:41,1
    - Dst: ecc_point_set
      Src: /src/nettle/testsuite/ecdh-test.c:42,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:44,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - x
    - y
    argTypes:
    - struct ecc_point*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: set_point
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 0
    functionsReached:
    - ecc_point_set
    - mpz_clear
    - mpz_init_set_str
    linkageType: ''
    returnType: int
    signature: int set_point (struct ecc_point *p, const char *x, const char *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdh-test.c:54,1
    - Dst: ecc_scalar_set
      Src: /src/nettle/testsuite/ecdh-test.c:55,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecdh-test.c:56,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - x
    argTypes:
    - struct ecc_scalar*
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: set_scalar
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 0
    functionsReached:
    - abort
    - mpz_clear
    - ecc_scalar_set
    - mpz_init_set_str
    linkageType: ''
    returnType: void
    signature: "void set_scalar (struct ecc_scalar *s,\n\t    const char *x)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecdh-test.c:67,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecdh-test.c:68,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecdh-test.c:69,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecdh-test.c:70,1
    - Dst: ecc_point_get
      Src: /src/nettle/testsuite/ecdh-test.c:72,1
    - Dst: ecc_point_get
      Src: /src/nettle/testsuite/ecdh-test.c:73,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/ecdh-test.c:76,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/ecdh-test.c:76,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdh-test.c:78,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdh-test.c:79,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdh-test.c:80,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdh-test.c:81,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdh-test.c:82,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdh-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdh-test.c:84,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdh-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdh-test.c:86,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecdh-test.c:87,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:89,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:90,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:91,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdh-test.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - name
    - label
    - P
    - R
    argTypes:
    - char*
    - char*
    - struct ecc_point*
    - struct ecc_point*
    constantsTouched: []
    func_position:
      end: 93
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 93
    functionName: check_point
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 0
    functionsReached:
    - abort
    - ecc_point_get
    - mpz_out_str
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void check_point (const char *name, const char *label,\n\t     const
      struct ecc_point *P,\n\t     const struct ecc_point *R)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_scalar_init
      Src: /src/nettle/testsuite/ecdh-test.c:104,1
    - Dst: set_scalar
      Src: /src/nettle/testsuite/ecdh-test.c:105,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdh-test.c:106,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecdh-test.c:107,1
    - Dst: set_point
      Src: /src/nettle/testsuite/ecdh-test.c:107,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/testsuite/ecdh-test.c:109,1
    - Dst: set_scalar
      Src: /src/nettle/testsuite/ecdh-test.c:110,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdh-test.c:111,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecdh-test.c:112,1
    - Dst: set_point
      Src: /src/nettle/testsuite/ecdh-test.c:112,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdh-test.c:114,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ecdh-test.c:115,1
    - Dst: set_point
      Src: /src/nettle/testsuite/ecdh-test.c:115,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdh-test.c:117,1
    - Dst: ecc_point_mul_g
      Src: /src/nettle/testsuite/ecdh-test.c:119,1
    - Dst: check_point
      Src: /src/nettle/testsuite/ecdh-test.c:120,1
    - Dst: ecc_point_mul
      Src: /src/nettle/testsuite/ecdh-test.c:122,1
    - Dst: check_point
      Src: /src/nettle/testsuite/ecdh-test.c:123,1
    - Dst: ecc_point_mul_g
      Src: /src/nettle/testsuite/ecdh-test.c:125,1
    - Dst: check_point
      Src: /src/nettle/testsuite/ecdh-test.c:126,1
    - Dst: ecc_point_mul
      Src: /src/nettle/testsuite/ecdh-test.c:128,1
    - Dst: check_point
      Src: /src/nettle/testsuite/ecdh-test.c:129,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/testsuite/ecdh-test.c:131,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/testsuite/ecdh-test.c:132,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdh-test.c:134,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdh-test.c:135,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdh-test.c:136,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdh-test.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 10
    argNames:
    - name
    - ecc
    - a_priv
    - ax
    - ay
    - b_priv
    - bx
    - by
    - sx
    - sy
    argTypes:
    - char*
    - struct ecc_curve*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 138
    functionName: test_dh
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 1
    functionsReached:
    - ecc_scalar_init
    - check_point
    - ecc_point_clear
    - set_scalar
    - ecc_point_init
    - ecc_point_mul_g
    - set_point
    - ecc_scalar_clear
    - ASSERT
    - ecc_point_mul
    linkageType: ''
    returnType: void
    signature: "void test_dh (const char *name, const struct ecc_curve *ecc,\n\t const
      char *a_priv, const char *ax, const char *ay,\n\t const char *b_priv, const
      char *bx, const char *by,\n\t const char *sx, const char *sy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/ecdh-test.c:147,1
    - Dst: set_point
      Src: /src/nettle/testsuite/ecdh-test.c:148,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdh-test.c:151,1
    - Dst: die
      Src: /src/nettle/testsuite/ecdh-test.c:154,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/ecdh-test.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - label
    - ecc
    - x
    - y
    - expect_success
    argTypes:
    - char*
    - struct ecc_curve*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: test_public_key
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 1
    functionsReached:
    - set_point
    - die
    - ecc_point_init
    - ecc_point_clear
    linkageType: ''
    returnType: void
    signature: "void test_public_key (const char *label, const struct ecc_curve *ecc,\n
      \                const char *x, const char *y, int expect_success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:162,1
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:163,1
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:167,1
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:171,1
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:176,1
    - Dst: test_public_key
      Src: /src/nettle/testsuite/ecdh-test.c:177,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:182,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:192,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:202,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:212,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:222,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:235,1
    - Dst: test_dh
      Src: /src/nettle/testsuite/ecdh-test.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 257
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecdh-test.c
    functionUses: 1
    functionsReached:
    - test_dh
    - test_public_key
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:9,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:15,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:18,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:21,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:23,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:26,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:27,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:30,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:31,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:33,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:36,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:38,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:39,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:42,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:45,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:46,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:47,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:51,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:54,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:55,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:57,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:60,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:63,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:69,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:71,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:79,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/eax-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eax-test.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 88
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/eax-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_aead
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/nettle/testsuite/yarrow-test.c:29,1
    - Dst: knuth_lfib_get
      Src: /src/nettle/testsuite/yarrow-test.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - f
    - hash
    - key
    - time
    argTypes:
    - FILE*
    - struct sha256_ctx*
    - unsigned*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: get_event
    functionSourceFile: /src/nettle/testsuite/yarrow-test.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - knuth_lfib_get
    linkageType: ''
    returnType: int
    signature: "int get_event(FILE *f, struct sha256_ctx *hash,\n          unsigned
      *key, unsigned *time)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/nettle/testsuite/yarrow-test.c:50,1
    - Dst: fopen
      Src: /src/nettle/testsuite/yarrow-test.c:52,1
    - Dst: free
      Src: /src/nettle/testsuite/yarrow-test.c:53,1
    - Dst: fopen
      Src: /src/nettle/testsuite/yarrow-test.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: open_file
    functionSourceFile: /src/nettle/testsuite/yarrow-test.c
    functionUses: 1
    functionsReached:
    - sprintf
    - free
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      open_file(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yarrow256_init
      Src: /src/nettle/testsuite/yarrow-test.c:98,1
    - Dst: yarrow_key_event_init
      Src: /src/nettle/testsuite/yarrow-test.c:100,1
    - Dst: sha256_init
      Src: /src/nettle/testsuite/yarrow-test.c:101,1
    - Dst: sha256_init
      Src: /src/nettle/testsuite/yarrow-test.c:102,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/yarrow-test.c:104,1
    - Dst: yarrow256_update
      Src: /src/nettle/testsuite/yarrow-test.c:107,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/yarrow-test.c:113,1
    - Dst: yarrow256_is_seeded
      Src: /src/nettle/testsuite/yarrow-test.c:113,1
    - Dst: open_file
      Src: /src/nettle/testsuite/yarrow-test.c:115,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/yarrow-test.c:119,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/yarrow-test.c:121,1
    - Dst: get_event
      Src: /src/nettle/testsuite/yarrow-test.c:124,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/testsuite/yarrow-test.c:130,1
    - Dst: WRITE_UINT32
      Src: /src/nettle/testsuite/yarrow-test.c:131,1
    - Dst: yarrow256_update
      Src: /src/nettle/testsuite/yarrow-test.c:132,1
    - Dst: yarrow_key_event_estimate
      Src: /src/nettle/testsuite/yarrow-test.c:133,1
    - Dst: yarrow256_is_seeded
      Src: /src/nettle/testsuite/yarrow-test.c:136,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:144,1
    - Dst: yarrow256_random
      Src: /src/nettle/testsuite/yarrow-test.c:147,1
    - Dst: sha256_update
      Src: /src/nettle/testsuite/yarrow-test.c:149,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:153,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:155,1
    - Dst: fclose
      Src: /src/nettle/testsuite/yarrow-test.c:161,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:165,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:168,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:173,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:174,1
    - Dst: sha256_digest
      Src: /src/nettle/testsuite/yarrow-test.c:177,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/yarrow-test.c:181,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:182,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/yarrow-test.c:185,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/yarrow-test.c:185,1
    - Dst: yarrow256_random
      Src: /src/nettle/testsuite/yarrow-test.c:187,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:190,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/yarrow-test.c:191,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:192,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/yarrow-test.c:195,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/yarrow-test.c:195,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:199,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:200,1
    - Dst: sha256_digest
      Src: /src/nettle/testsuite/yarrow-test.c:203,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/yarrow-test.c:207,1
    - Dst: printf
      Src: /src/nettle/testsuite/yarrow-test.c:208,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/yarrow-test.c:211,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/yarrow-test.c:211,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 212
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/yarrow-test.c
    functionUses: 1
    functionsReached:
    - sha256_digest
    - printf
    - fclose
    - print_hex
    - yarrow_key_event_estimate
    - memcmp
    - FAIL
    - WRITE_UINT32
    - yarrow256_random
    - ASSERT
    - sha256_update
    - get_event
    - sha256_init
    - yarrow256_init
    - yarrow256_is_seeded
    - open_file
    - yarrow256_update
    - knuth_lfib_init
    - yarrow_key_event_init
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/memeql-test.c:12,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/memeql-test.c:13,1
    - Dst: memeql_sec
      Src: /src/nettle/testsuite/memeql-test.c:15,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/memeql-test.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 18
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 18
    functionName: memeql_sec_for_test
    functionSourceFile: /src/nettle/testsuite/memeql-test.c
    functionUses: 0
    functionsReached:
    - mark_bytes_defined
    - memeql_sec
    - mark_bytes_undefined
    linkageType: ''
    returnType: int
    signature: int memeql_sec_for_test(const void *a, const void *b, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/memeql-test.c:29,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/memeql-test.c:36,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memeql-test.c:37,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memeql-test.c:38,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memeql-test.c:39,1
    - Dst: memeql_sec_for_test
      Src: /src/nettle/testsuite/memeql-test.c:39,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memeql-test.c:44,1
    - Dst: memeql_sec_for_test
      Src: /src/nettle/testsuite/memeql-test.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/memeql-test.c
    functionUses: 1
    functionsReached:
    - knuth_lfib_init
    - memcpy
    - memeql_sec_for_test
    - knuth_lfib_random
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_encrypt_key
      Src: /src/nettle/testsuite/ocb-test.c:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - aes_key
    argTypes:
    - struct ocb_aes128_message_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: ocb_aes128_set_encrypt_key_wrapper
    functionSourceFile: /src/nettle/testsuite/ocb-test.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_encrypt_key
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_set_encrypt_key_wrapper (struct ocb_aes128_message_key
      *key,\n\t\t\t\t    const uint8_t *aes_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_set_decrypt_key
      Src: /src/nettle/testsuite/ocb-test.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - aes_key
    argTypes:
    - struct ocb_aes128_message_key*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: ocb_aes128_set_decrypt_key_wrapper
    functionSourceFile: /src/nettle/testsuite/ocb-test.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_set_decrypt_key
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_set_decrypt_key_wrapper (struct ocb_aes128_message_key
      *key,\n\t\t\t\t    const uint8_t *aes_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_encrypt_message
      Src: /src/nettle/testsuite/ocb-test.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - key
    - nlength
    - nonce
    - alength
    - adata
    - clength
    - dst
    - src
    argTypes:
    - struct ocb_aes128_message_key*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: ocb_aes128_encrypt_message_wrapper
    functionSourceFile: /src/nettle/testsuite/ocb-test.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_encrypt_message
    linkageType: ''
    returnType: void
    signature: "void ocb_aes128_encrypt_message_wrapper (const struct ocb_aes128_message_key
      *key,\n\t\t\t\t    size_t nlength, const uint8_t *nonce,\n\t\t\t\t    size_t
      alength, const uint8_t *adata,\n\t\t\t\t    size_t clength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ocb_aes128_decrypt_message
      Src: /src/nettle/testsuite/ocb-test.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - key
    - nlength
    - nonce
    - alength
    - adata
    - mlength
    - dst
    - src
    argTypes:
    - struct ocb_aes128_message_key*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: ocb_aes128_decrypt_message_wrapper
    functionSourceFile: /src/nettle/testsuite/ocb-test.c
    functionUses: 0
    functionsReached:
    - ocb_aes128_decrypt_message
    linkageType: ''
    returnType: int
    signature: "int ocb_aes128_decrypt_message_wrapper (const struct ocb_aes128_message_key
      *key,\n\t\t\t\t    size_t nlength, const uint8_t *nonce,\n\t\t\t\t    size_t
      alength, const uint8_t *adata,\n\t\t\t\t    size_t mlength, uint8_t *dst, const
      uint8_t *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:60,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:63,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:65,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:69,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:72,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:73,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:81,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:89,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:93,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:97,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:99,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:105,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:108,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:113,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:121,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:123,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:129,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:135,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:137,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:141,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:148,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:157,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:159,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:167,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:171,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:177,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:178,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:180,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:186,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:187,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:189,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:197,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:201,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:204,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:209,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:213,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:216,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:241,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:275,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/ocb-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:279,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:282,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:283,1
    - Dst: test_aead_message
      Src: /src/nettle/testsuite/ocb-test.c:285,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:288,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:290,1
    - Dst: test_aead
      Src: /src/nettle/testsuite/ocb-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ocb-test.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 396
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ocb-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_aead
    - test_aead_message
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:18,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:19,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:20,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:20,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:22,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:23,1
    - Dst: ecc_mod_add
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:24,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:26,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:26,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:28,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:31,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:33,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:34,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:35,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:36,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:37,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:38,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:39,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:40,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - name
    - m
    - az
    - bz
    argTypes:
    - char*
    - struct ecc_modulo*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 43
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 43
    functionName: test_add
    functionSourceFile: /src/nettle/testsuite/ecc-mod-arith-test.c
    functionUses: 0
    functionsReached:
    - abort
    - mpz_roinit_n
    - mpz_congruent_p
    - fprintf
    - mpz_mod
    - mpz_out_str
    - ecc_mod_add
    - mpz_init
    - mpn_out_str
    - mpz_clear
    - mpz_add
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: "void test_add(const char *name,\n\t const struct ecc_modulo *m,\n\t
      const mpz_t az, const mpz_t bz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:59,1
    - Dst: mpz_sub
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:60,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:61,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:61,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:63,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:64,1
    - Dst: ecc_mod_sub
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:65,1
    - Dst: mpz_congruent_p
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:67,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:67,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:69,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:72,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:73,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:74,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:75,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:76,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:77,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:78,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:79,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:80,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:81,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:84,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:86,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:89,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:90,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:91,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:92,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:93,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:94,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:95,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:96,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:97,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:98,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 5
    argNames:
    - name
    - m
    - range
    - az
    - bz
    argTypes:
    - char*
    - struct ecc_modulo*
    - mp_limb_t*
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 101
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 101
    functionName: test_sub
    functionSourceFile: /src/nettle/testsuite/ecc-mod-arith-test.c
    functionUses: 0
    functionsReached:
    - abort
    - mpz_roinit_n
    - mpz_congruent_p
    - fprintf
    - mpn_cmp
    - mpz_mod
    - mpz_out_str
    - mpz_init
    - mpn_out_str
    - mpz_clear
    - ecc_mod_sub
    - mpz_limbs_copy
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: "void test_sub(const char *name,\n\t const struct ecc_modulo *m,\n\t
      /* If range is non-null, check that 0 <= r < range. */\n\t const mp_limb_t *range,\n\t
      const mpz_t az, const mpz_t bz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:110,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:111,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:117,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:118,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:122,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:123,1
    - Dst: test_add
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:125,1
    - Dst: test_sub
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:126,1
    - Dst: mpn_lshift
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:131,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:133,1
    - Dst: mpz_urandomm
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:134,1
    - Dst: mpz_urandomm
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:135,1
    - Dst: test_sub
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:136,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:138,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - rands
    - name
    - m
    - count
    argTypes:
    - gmp_randstate_t
    - char*
    - struct ecc_modulo*
    - unsigned
    constantsTouched: []
    func_position:
      end: 140
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 140
    functionName: test_modulo
    functionSourceFile: /src/nettle/testsuite/ecc-mod-arith-test.c
    functionUses: 2
    functionsReached:
    - test_add
    - mpz_roinit_n
    - test_sub
    - mpz_urandomb
    - mpz_urandomm
    - mpz_init
    - mpz_clear
    - mpn_lshift
    - mpz_rrandomb
    linkageType: ''
    returnType: void
    signature: "void test_modulo (gmp_randstate_t rands, const char *name,\n\t     const
      struct ecc_modulo *m, unsigned count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:148,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:150,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:154,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:155,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-mod-arith-test.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-mod-arith-test.c
    functionUses: 1
    functionsReached:
    - gmp_randclear
    - test_modulo
    - test_randomize
    - gmp_randinit_default
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cast128-test.c:12,1
    - Dst: cast5_set_key
      Src: /src/nettle/testsuite/cast128-test.c:15,1
    - Dst: cast128_encrypt
      Src: /src/nettle/testsuite/cast128-test.c:16,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cast128-test.c:18,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:20,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/cast128-test.c:21,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:22,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cast128-test.c:23,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:24,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/cast128-test.c:25,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:26,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/cast128-test.c:27,1
    - Dst: cast5_set_key
      Src: /src/nettle/testsuite/cast128-test.c:29,1
    - Dst: cast128_decrypt
      Src: /src/nettle/testsuite/cast128-test.c:30,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cast128-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:34,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/cast128-test.c:35,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:36,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cast128-test.c:37,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:38,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/cast128-test.c:39,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/cast128-test.c:40,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/cast128-test.c:41,1
    - Dst: free
      Src: /src/nettle/testsuite/cast128-test.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 45
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 45
    functionName: test_cast5
    functionSourceFile: /src/nettle/testsuite/cast128-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - cast5_set_key
    - print_hex
    - cast128_encrypt
    - free
    - FAIL
    - MEMEQ
    - cast128_decrypt
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cast5(const struct tstring *key,\n\t      const struct tstring
      *cleartext,\n\t      const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/cast128-test.c:54,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:57,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:58,1
    - Dst: test_cast5
      Src: /src/nettle/testsuite/cast128-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:63,1
    - Dst: test_cast5
      Src: /src/nettle/testsuite/cast128-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:66,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cast128-test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cast128-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cast5
    - test_cipher
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_update
      Src: /src/nettle/testsuite/base64-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:22,1
    - Dst: base64_encode_final
      Src: /src/nettle/testsuite/base64-test.c:23,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:24,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:25,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:26,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:28,1
    - Dst: base64_decode_update
      Src: /src/nettle/testsuite/base64-test.c:28,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:30,1
    - Dst: base64_decode_final
      Src: /src/nettle/testsuite/base64-test.c:30,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:31,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:32,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:33,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:35,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/base64-test.c:35,1
    - Dst: free
      Src: /src/nettle/testsuite/base64-test.c:36,1
    - Dst: free
      Src: /src/nettle/testsuite/base64-test.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - encode
    - decode
    - size
    - input
    argTypes:
    - struct base64_encode_ctx*
    - struct base64_decode_ctx*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 38
    functionName: test_fuzz_once
    functionSourceFile: /src/nettle/testsuite/base64-test.c
    functionUses: 0
    functionsReached:
    - base64_encode_update
    - free
    - base64_decode_update
    - base64_encode_final
    - MEMEQ
    - base64_decode_final
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_fuzz_once(struct base64_encode_ctx *encode,\n\t       struct
      base64_decode_ctx *decode,\n\t       size_t size, const uint8_t *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/base64-test.c:51,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/base64-test.c:57,1
    - Dst: base64_encode_init
      Src: /src/nettle/testsuite/base64-test.c:59,1
    - Dst: base64_decode_init
      Src: /src/nettle/testsuite/base64-test.c:60,1
    - Dst: test_fuzz_once
      Src: /src/nettle/testsuite/base64-test.c:61,1
    - Dst: base64url_encode_init
      Src: /src/nettle/testsuite/base64-test.c:63,1
    - Dst: base64url_decode_init
      Src: /src/nettle/testsuite/base64-test.c:64,1
    - Dst: test_fuzz_once
      Src: /src/nettle/testsuite/base64-test.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: test_fuzz
    functionSourceFile: /src/nettle/testsuite/base64-test.c
    functionUses: 0
    functionsReached:
    - test_fuzz_once
    - base64_decode_init
    - knuth_lfib_init
    - base64url_encode_init
    - base64_encode_init
    - knuth_lfib_random
    - base64url_decode_init
    linkageType: ''
    returnType: void
    signature: void test_fuzz(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_raw
      Src: /src/nettle/testsuite/base64-test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - data
    argTypes:
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: base64_encode_in_place
    functionSourceFile: /src/nettle/testsuite/base64-test.c
    functionUses: 1
    functionsReached:
    - base64_encode_raw
    linkageType: ''
    returnType: void
    signature: void base64_encode_in_place (size_t length, uint8_t *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_update
      Src: /src/nettle/testsuite/base64-test.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - dst_length
    - length
    - data
    argTypes:
    - struct base64_decode_ctx*
    - size_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: base64_decode_in_place
    functionSourceFile: /src/nettle/testsuite/base64-test.c
    functionUses: 1
    functionsReached:
    - base64_decode_update
    linkageType: ''
    returnType: int
    signature: "int base64_decode_in_place (struct base64_decode_ctx *ctx, size_t
      *dst_length,\n\t\t\tsize_t length, uint8_t *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:86,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:86,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:87,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:87,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:88,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:88,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:89,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:89,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:90,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:90,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:91,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:91,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:92,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:92,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:93,1
    - Dst: BASE64_ENCODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:93,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:95,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:95,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:96,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:96,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:97,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:97,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:98,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:98,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:99,1
    - Dst: BASE64_DECODE_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:99,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:101,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:101,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:102,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:102,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:103,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:103,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:104,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:104,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:105,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:105,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:106,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:106,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:107,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:107,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:108,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:108,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:109,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:109,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:111,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:111,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:112,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:112,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:113,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:113,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:114,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:114,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:115,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:115,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:116,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:116,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:117,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:117,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:118,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:118,1
    - Dst: test_armor
      Src: /src/nettle/testsuite/base64-test.c:119,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/base64-test.c:119,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:127,1
    - Dst: BASE64_ENCODE_RAW_LENGTH
      Src: /src/nettle/testsuite/base64-test.c:127,1
    - Dst: base64_encode_in_place
      Src: /src/nettle/testsuite/base64-test.c:128,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:129,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/base64-test.c:129,1
    - Dst: base64_decode_init
      Src: /src/nettle/testsuite/base64-test.c:131,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:133,1
    - Dst: base64_decode_in_place
      Src: /src/nettle/testsuite/base64-test.c:133,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:134,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/base64-test.c:136,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/base64-test.c:136,1
    - Dst: test_fuzz
      Src: /src/nettle/testsuite/base64-test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 139
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/base64-test.c
    functionUses: 1
    functionsReached:
    - base64_decode_init
    - LDATA
    - test_fuzz
    - BASE64_ENCODE_LENGTH
    - base64_encode_in_place
    - base64_decode_in_place
    - BASE64_ENCODE_RAW_LENGTH
    - MEMEQ
    - BASE64_DECODE_LENGTH
    - ASSERT
    - test_armor
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:10,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:11,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:13,1
    - Dst: ecc_size
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:18,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:19,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:19,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:20,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:20,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:21,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:22,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:24,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:27,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:28,1
    - Dst: test_ecc_ga
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:30,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:34,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:35,1
    - Dst: mpn_sub_1
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:39,1
    - Dst: struct ecc_curve*::mul_g
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:40,1
    - Dst: struct ecc_curve*::h_to_a
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:41,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:45,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:47,1
    - Dst: test_ecc_ga
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:49,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:51,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:52,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:53,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:54,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:56,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-mul-g-test.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 3
    functionDepth: 4
    functionLinenumber: 3
    functionLinenumberEnd: 58
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-mul-g-test.c
    functionUses: 1
    functionsReached:
    - test_ecc_ga
    - ecc_size
    - test_ecc_mul_h
    - free
    - gmp_randclear
    - gmp_randinit_default
    - ecc_size_j
    - struct ecc_curve*::h_to_a
    - mpn_sub_1
    - xalloc_limbs
    - mpn_sub_n
    - mpz_init
    - mpz_clear
    - mpn_zero
    - struct ecc_curve*::mul_g
    - test_randomize
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/nettle/testsuite/x86-ibt-test.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: segfault_handler
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void segfault_handler(int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 26
    functionName: ibt_violation
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ibt_violation(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: _get_ssp
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _get_ssp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: _get_ssp
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long _get_ssp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_ssp
      Src: /src/nettle/testsuite/x86-ibt-test.c:53,1
    - Dst: ibt_violation
      Src: /src/nettle/testsuite/x86-ibt-test.c:55,1
    - Dst: SKIP
      Src: /src/nettle/testsuite/x86-ibt-test.c:56,1
    - Dst: signal
      Src: /src/nettle/testsuite/x86-ibt-test.c:59,1
    - Dst: ibt_violation
      Src: /src/nettle/testsuite/x86-ibt-test.c:60,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/x86-ibt-test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 1
    functionsReached:
    - signal
    - SKIP
    - FAIL
    - _get_ssp
    - ibt_violation
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/x86-ibt-test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/x86-ibt-test.c
    functionUses: 1
    functionsReached:
    - SKIP
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/testsuite/meta-aead-test.c:23,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-aead-test.c:26,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-aead-test.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/meta-aead-test.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/testsuite/meta-cipher-test.c:33,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-cipher-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-cipher-test.c:41,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-cipher-test.c:42,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-cipher-test.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/meta-cipher-test.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-hash-test.c:37,1
    - Dst: nettle_lookup_hash
      Src: /src/nettle/testsuite/meta-hash-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-hash-test.c:41,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-hash-test.c:42,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-hash-test.c:43,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-hash-test.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/meta-hash-test.c
    functionUses: 1
    functionsReached:
    - nettle_lookup_hash
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/blowfish-test.c:13,1
    - Dst: blowfish_set_key
      Src: /src/nettle/testsuite/blowfish-test.c:16,1
    - Dst: blowfish_encrypt
      Src: /src/nettle/testsuite/blowfish-test.c:17,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/blowfish-test.c:19,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:21,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:22,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:23,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:24,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:25,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:26,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:27,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/blowfish-test.c:28,1
    - Dst: blowfish_set_key
      Src: /src/nettle/testsuite/blowfish-test.c:30,1
    - Dst: blowfish_decrypt
      Src: /src/nettle/testsuite/blowfish-test.c:31,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/blowfish-test.c:33,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:35,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:36,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:37,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:38,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:39,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/blowfish-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/blowfish-test.c:41,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/blowfish-test.c:42,1
    - Dst: free
      Src: /src/nettle/testsuite/blowfish-test.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 46
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 46
    functionName: test_blowfish
    functionSourceFile: /src/nettle/testsuite/blowfish-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - blowfish_decrypt
    - blowfish_set_key
    - MEMEQ
    - blowfish_encrypt
    - FAIL
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_blowfish(const struct tstring *key,\n\t      const struct
      tstring *cleartext,\n\t      const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_blowfish
      Src: /src/nettle/testsuite/blowfish-test.c:52,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/blowfish-test.c:52,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/blowfish-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/blowfish-test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/blowfish-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_blowfish
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/nettle/testsuite/cxx-test.cxx:14,1
    - Dst: md5_update
      Src: /src/nettle/testsuite/cxx-test.cxx:15,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/nettle/testsuite/cxx-test.cxx:15,1
    - Dst: md5_digest
      Src: /src/nettle/testsuite/cxx-test.cxx:16,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:18,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cxx-test.cxx:18,1
    - Dst: H
      Src: /src/nettle/testsuite/cxx-test.cxx:19,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/cxx-test.cxx:28,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/cxx-test.cxx:30,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/cxx-test.cxx:31,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:33,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:40,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:42,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/cxx-test.cxx:42,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:44,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:49,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:54,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:59,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:64,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:69,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/cxx-test.cxx:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:71,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/cxx-test.cxx:73,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/cxx-test.cxx:82,1
    - Dst: md5_update
      Src: /src/nettle/testsuite/cxx-test.cxx:85,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/nettle/testsuite/cxx-test.cxx:85,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:87,1
    - Dst: rsa_md5_sign
      Src: /src/nettle/testsuite/cxx-test.cxx:87,1
    - Dst: md5_update
      Src: /src/nettle/testsuite/cxx-test.cxx:90,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/nettle/testsuite/cxx-test.cxx:90,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:92,1
    - Dst: rsa_md5_verify
      Src: /src/nettle/testsuite/cxx-test.cxx:92,1
    - Dst: md5_update
      Src: /src/nettle/testsuite/cxx-test.cxx:95,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/nettle/testsuite/cxx-test.cxx:95,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cxx-test.cxx:97,1
    - Dst: rsa_md5_verify
      Src: /src/nettle/testsuite/cxx-test.cxx:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 8
    functionDepth: 3
    functionLinenumber: 8
    functionLinenumberEnd: 100
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cxx-test.cxx
    functionUses: 1
    functionsReached:
    - rsa_public_key_init
    - md5_update
    - md5_init
    - rsa_public_key_prepare
    - rsa_private_key_prepare
    - rsa_md5_sign
    - rsa_private_key_init
    - reinterpret_cast<const uint8_t *>
    - H
    - rsa_md5_verify
    - md5_digest
    - MEMEQ
    - mpz_init
    - mpz_set_str
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: memzero_p
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memzero_p (const uint8_t *p, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:79,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:95,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:96,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/chacha-test.c:99,1
    - Dst: chacha_crypt
      Src: /src/nettle/testsuite/chacha-test.c:100,1
    - Dst: memzero_p
      Src: /src/nettle/testsuite/chacha-test.c:102,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:104,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:105,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:106,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:107,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/chacha-test.c:108,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/chacha-test.c:111,1
    - Dst: chacha_crypt32
      Src: /src/nettle/testsuite/chacha-test.c:112,1
    - Dst: memzero_p
      Src: /src/nettle/testsuite/chacha-test.c:114,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:116,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:117,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:118,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/chacha-test.c:119,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/chacha-test.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 122
    functionName: test_chacha_core
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 0
    functionsReached:
    - chacha_crypt
    - print_hex
    - memzero_p
    - chacha_crypt32
    - SHEX
    - FAIL
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_chacha_core(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:132,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:134,1
    - Dst: chacha_set_key
      Src: /src/nettle/testsuite/chacha-test.c:135,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:137,1
    - Dst: chacha_set_nonce
      Src: /src/nettle/testsuite/chacha-test.c:138,1
    - Dst: _nettle_chacha_core
      Src: /src/nettle/testsuite/chacha-test.c:140,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/chacha-test.c:142,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:144,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/chacha-test.c:145,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:146,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:147,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/chacha-test.c:148,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:153,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - key
    - nonce
    - expected
    - rounds
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - unsigned
    constantsTouched: []
    func_position:
      end: 156
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 156
    functionName: test_chacha_rounds
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 0
    functionsReached:
    - _nettle_chacha_core
    - tstring_print_hex
    - print_hex
    - chacha_set_key
    - MEMEQ
    - FAIL
    - printf
    - chacha_set_nonce
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_chacha_rounds(const struct tstring *key, const struct tstring
      *nonce,\n\t\t   const struct tstring *expected, unsigned rounds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:170,1
    - Dst: chacha_set_key
      Src: /src/nettle/testsuite/chacha-test.c:171,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:180,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:187,1
    - Dst: die
      Src: /src/nettle/testsuite/chacha-test.c:190,1
    - Dst: memset
      Src: /src/nettle/testsuite/chacha-test.c:198,1
    - Dst: set_nonce
      Src: /src/nettle/testsuite/chacha-test.c:201,1
    - Dst: set_counter
      Src: /src/nettle/testsuite/chacha-test.c:204,1
    - Dst: crypt
      Src: /src/nettle/testsuite/chacha-test.c:206,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:208,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/chacha-test.c:209,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/chacha-test.c:210,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:212,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:213,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:214,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:215,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/chacha-test.c:216,1
    - Dst: memset
      Src: /src/nettle/testsuite/chacha-test.c:222,1
    - Dst: crypt
      Src: /src/nettle/testsuite/chacha-test.c:224,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/chacha-test.c:225,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:227,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:230,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:231,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:232,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/chacha-test.c:233,1
    - Dst: printf
      Src: /src/nettle/testsuite/chacha-test.c:239,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/chacha-test.c:240,1
    - Dst: free
      Src: /src/nettle/testsuite/chacha-test.c:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 4
    argNames:
    - key
    - nonce
    - expected
    - counter
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 243
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 243
    functionName: _test_chacha
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 0
    functionsReached:
    - set_counter
    - die
    - print_hex
    - free
    - set_nonce
    - chacha_set_key
    - crypt
    - memset
    - MEMEQ
    - printf
    - FAIL
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void _test_chacha(const struct tstring *key, const struct tstring
      *nonce,\n\t     const struct tstring *expected, const struct tstring *counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - nonce
    - expected
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: test_chacha
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 1
    functionsReached:
    - _test_chacha
    linkageType: ''
    returnType: void
    signature: "void test_chacha(const struct tstring *key, const struct tstring *nonce,\n\t
      \   const struct tstring *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - nonce
    - expected
    - counter
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: test_chacha_with_counter
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 0
    functionsReached:
    - _test_chacha
    linkageType: ''
    returnType: void
    signature: "void test_chacha_with_counter(const struct tstring *key, const struct
      tstring *nonce,\n\t\t\t const struct tstring *expected,\n\t\t\t const struct
      tstring *counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_chacha_core
      Src: /src/nettle/testsuite/chacha-test.c:263,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:269,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:282,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:283,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:297,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:311,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:320,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:329,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:342,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:343,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:351,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:352,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:360,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:361,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:372,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:372,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:375,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:381,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:381,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:384,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:390,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:390,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:393,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:407,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:416,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:425,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:438,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:439,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:447,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:448,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:456,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:457,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:468,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:468,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:471,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:477,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:477,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:480,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:486,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:486,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:489,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:503,1
    - Dst: test_chacha_rounds
      Src: /src/nettle/testsuite/chacha-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:512,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:521,1
    - Dst: test_chacha_with_counter
      Src: /src/nettle/testsuite/chacha-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:540,1
    - Dst: test_chacha_with_counter
      Src: /src/nettle/testsuite/chacha-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:546,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:551,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:557,1
    - Dst: test_chacha
      Src: /src/nettle/testsuite/chacha-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:639,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:640,1
    - Dst: test_chacha_with_counter
      Src: /src/nettle/testsuite/chacha-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:723,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-test.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 789
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/chacha-test.c
    functionUses: 1
    functionsReached:
    - test_chacha_core
    - test_chacha_rounds
    - SHEX
    - test_chacha_with_counter
    - test_chacha
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_wrap*::set_encrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:38,1
    - Dst: nist_keywrap16
      Src: /src/nettle/testsuite/aes-keywrap-test.c:39,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-keywrap-test.c:41,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:43,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:44,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:45,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:46,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:48,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - w
    - key
    - iv
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: test_wrap
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - struct nettle_wrap*::set_encrypt_key
    - tstring_print_hex
    - print_hex
    - nist_keywrap16
    - FAIL
    - MEMEQ
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_wrap (struct nettle_wrap *w,\n\t   const struct tstring
      *key,\n\t   const struct tstring *iv,\n\t   const struct tstring *cleartext,
      const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_wrap*::set_decrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:61,1
    - Dst: nist_keyunwrap16
      Src: /src/nettle/testsuite/aes-keywrap-test.c:62,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-keywrap-test.c:64,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:67,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:69,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:70,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:71,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - w
    - key
    - iv
    - ciphertext
    - cleartext
    argTypes:
    - struct nettle_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: test_unwrap
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - struct nettle_wrap*::set_decrypt_key
    - FAIL
    - MEMEQ
    - nist_keyunwrap16
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_unwrap (struct nettle_wrap *w,\n\t     const struct tstring
      *key,\n\t     const struct tstring *iv,\n\t     const struct tstring *ciphertext,\n\t
      \    const struct tstring *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_wrap*::set_decrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:83,1
    - Dst: nist_keyunwrap16
      Src: /src/nettle/testsuite/aes-keywrap-test.c:84,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - w
    - key
    - iv
    - ciphertext
    argTypes:
    - struct nettle_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: test_unwrap_fail
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - struct nettle_wrap*::set_decrypt_key
    - nist_keyunwrap16
    - FAIL
    linkageType: ''
    returnType: void
    signature: "void test_unwrap_fail (struct nettle_wrap *w,\n\t     const struct
      tstring *key,\n\t     const struct tstring *iv,\n\t     const struct tstring
      *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_specific_wrap*::set_encrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:99,1
    - Dst: struct nettle_specific_wrap*::keywrap_func
      Src: /src/nettle/testsuite/aes-keywrap-test.c:100,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-keywrap-test.c:102,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:104,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:105,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:106,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:107,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:108,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:109,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - w
    - key
    - iv
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_specific_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: test_specific_wrap
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - struct nettle_specific_wrap*::keywrap_func
    - print_hex
    - struct nettle_specific_wrap*::set_encrypt_key
    - FAIL
    - MEMEQ
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_specific_wrap (struct nettle_specific_wrap *w,\n\t\t    const
      struct tstring *key,\n\t\t    const struct tstring *iv,\n\t\t    const struct
      tstring *cleartext,\n\t\t    const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_specific_wrap*::set_decrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:122,1
    - Dst: struct nettle_specific_wrap*::keyunwrap_func
      Src: /src/nettle/testsuite/aes-keywrap-test.c:123,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/aes-keywrap-test.c:125,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:127,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:128,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:129,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:130,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/aes-keywrap-test.c:131,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/aes-keywrap-test.c:132,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - w
    - key
    - iv
    - ciphertext
    - cleartext
    argTypes:
    - struct nettle_specific_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: test_specific_unwrap
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - struct nettle_specific_wrap*::set_decrypt_key
    - print_hex
    - struct nettle_specific_wrap*::keyunwrap_func
    - FAIL
    - MEMEQ
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_specific_unwrap (struct nettle_specific_wrap *w,\n\t\t      const
      struct tstring *key,\n\t\t      const struct tstring *iv,\n\t\t      const struct
      tstring *ciphertext,\n\t\t      const struct tstring *cleartext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct nettle_specific_wrap*::set_decrypt_key
      Src: /src/nettle/testsuite/aes-keywrap-test.c:144,1
    - Dst: struct nettle_specific_wrap*::keyunwrap_func
      Src: /src/nettle/testsuite/aes-keywrap-test.c:145,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/aes-keywrap-test.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - w
    - key
    - iv
    - ciphertext
    argTypes:
    - struct nettle_specific_wrap*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: test_specific_unwrap_fail
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 0
    functionsReached:
    - struct nettle_specific_wrap*::keyunwrap_func
    - FAIL
    - struct nettle_specific_wrap*::set_decrypt_key
    linkageType: ''
    returnType: void
    signature: "void test_specific_unwrap_fail (struct nettle_specific_wrap *w,\n\t\t
      \     const struct tstring *key,\n\t\t      const struct tstring *iv,\n\t\t
      \     const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:222,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:224,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:230,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:234,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:235,1
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:240,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:241,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:243,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:247,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:249,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:252,1
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:255,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:258,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:259,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:261,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:264,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:266,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:272,1
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:278,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:282,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:286,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:288,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:291,1
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:297,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:299,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:303,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:306,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:308,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:314,1
    - Dst: test_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:318,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:323,1
    - Dst: test_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:327,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:330,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:332,1
    - Dst: test_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:336,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:339,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:342,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:345,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:346,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:351,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:354,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:357,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:359,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:363,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:367,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:376,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:381,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:382,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:390,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:393,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:396,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:399,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:402,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:405,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:408,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:411,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:414,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:417,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:420,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:423,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:426,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:429,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:430,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:439,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:448,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:455,1
    - Dst: test_specific_wrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:459,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:462,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:464,1
    - Dst: test_specific_unwrap
      Src: /src/nettle/testsuite/aes-keywrap-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:468,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:471,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:473,1
    - Dst: test_specific_unwrap_fail
      Src: /src/nettle/testsuite/aes-keywrap-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:477,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/aes-keywrap-test.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 482
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/aes-keywrap-test.c
    functionUses: 1
    functionsReached:
    - test_specific_wrap
    - test_wrap
    - test_specific_unwrap_fail
    - SHEX
    - test_unwrap
    - test_specific_unwrap
    - test_unwrap_fail
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-256-test.c:7,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-256-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-256-test.c:8,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-256-test.c:11,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-256-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-256-test.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 17
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha512-256-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:24,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:25,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:26,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:27,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:29,1
    - Dst: test_rsa_set_key_1
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:31,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:38,1
    - Dst: rsa_encrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:38,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:45,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:46,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:49,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:51,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:55,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:58,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:58,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:59,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:60,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:60,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:61,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:63,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:67,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:67,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:68,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:69,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:70,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:72,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:76,1
    - Dst: rsa_decrypt_tr
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:79,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:80,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:80,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:81,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:84,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:88,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:88,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:91,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:91,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:92,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:95,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:100,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:100,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:103,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:104,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:107,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:109,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:109,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:110,1
    - Dst: rsa_decrypt_tr
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:113,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:113,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:116,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:119,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:121,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:121,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:122,1
    - Dst: rsa_decrypt_tr
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:122,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:125,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:125,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:128,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:131,1
    - Dst: mpz_add
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:132,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:134,1
    - Dst: rsa_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:134,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:135,1
    - Dst: rsa_decrypt_tr
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:135,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:138,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:138,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:141,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:144,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:146,1
    - Dst: rsa_decrypt_tr
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:146,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:150,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:151,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:152,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:153,1
    - Dst: free
      Src: /src/nettle/testsuite/rsa-encrypt-test.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 6
    functionDepth: 5
    functionLinenumber: 6
    functionLinenumberEnd: 155
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-encrypt-test.c
    functionUses: 1
    functionsReached:
    - rsa_public_key_clear
    - rsa_private_key_init
    - xalloc
    - test_rsa_set_key_1
    - rsa_public_key_init
    - mpz_mul_2exp
    - free
    - MEMEQ
    - ASSERT
    - rsa_private_key_clear
    - mpz_out_str
    - knuth_lfib_random
    - mpz_add
    - rsa_decrypt_tr
    - rsa_encrypt
    - knuth_lfib_init
    - mpz_add_ui
    - rsa_decrypt
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - fprintf
    - rsa_sec_decrypt
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/testsuite/dlopen-test.c:22,1
    - Dst: dlerror
      Src: /src/nettle/testsuite/dlopen-test.c:22,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/dlopen-test.c:23,1
    - Dst: dlsym
      Src: /src/nettle/testsuite/dlopen-test.c:26,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/dlopen-test.c:29,1
    - Dst: dlerror
      Src: /src/nettle/testsuite/dlopen-test.c:29,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/dlopen-test.c:30,1
    - Dst: get_version
      Src: /src/nettle/testsuite/dlopen-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/dlopen-test.c:34,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/dlopen-test.c:35,1
    - Dst: dlclose
      Src: /src/nettle/testsuite/dlopen-test.c:37,1
    - Dst: SKIP
      Src: /src/nettle/testsuite/dlopen-test.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - UNUSED
    - UNUSED
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/nettle/testsuite/dlopen-test.c
    functionUses: 6
    functionsReached:
    - dlclose
    - SKIP
    - dlerror
    - dlsym
    - FAIL
    - get_version
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc UNUSED, char **argv UNUSED)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-verify-test.c:46,1
    - Dst: ecc_size_a
      Src: /src/nettle/testsuite/eddsa-verify-test.c:46,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-verify-test.c:47,1
    - Dst: _eddsa_verify_itch
      Src: /src/nettle/testsuite/eddsa-verify-test.c:47,1
    - Dst: _eddsa_decompress
      Src: /src/nettle/testsuite/eddsa-verify-test.c:52,1
    - Dst: die
      Src: /src/nettle/testsuite/eddsa-verify-test.c:53,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/eddsa-verify-test.c:55,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:56,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:59,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:61,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/eddsa-verify-test.c:62,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:63,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-verify-test.c:64,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:65,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/eddsa-verify-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:67,1
    - Dst: abort
      Src: /src/nettle/testsuite/eddsa-verify-test.c:68,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/eddsa-verify-test.c:71,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:73,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:76,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/eddsa-verify-test.c:81,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:84,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:87,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:94,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/eddsa-verify-test.c:95,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:97,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:104,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:108,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/eddsa-verify-test.c:112,1
    - Dst: _eddsa_verify
      Src: /src/nettle/testsuite/eddsa-verify-test.c:114,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-verify-test.c:117,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-verify-test.c:122,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-verify-test.c:123,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-verify-test.c:124,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-verify-test.c:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 6
    argNames:
    - ecc
    - eddsa
    - ctx
    - pub
    - msg
    - signature
    argTypes:
    - struct ecc_curve*
    - struct ecc_eddsa*
    - void*
    - uint8_t*
    - struct tstring*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 126
    functionName: test_eddsa
    functionSourceFile: /src/nettle/testsuite/eddsa-verify-test.c
    functionUses: 0
    functionsReached:
    - abort
    - die
    - tstring_print_hex
    - LDATA
    - _eddsa_verify
    - print_hex
    - free
    - ecc_size_a
    - _eddsa_verify_itch
    - xalloc_limbs
    - memcpy
    - _eddsa_decompress
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_eddsa (const struct ecc_curve *ecc,\n\t    const struct
      ecc_eddsa *eddsa,\n\t    void *ctx,\n\t    const uint8_t *pub,\n\t    const
      struct tstring *msg,\n\t    const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/testsuite/eddsa-verify-test.c:135,1
    - Dst: test_eddsa
      Src: /src/nettle/testsuite/eddsa-verify-test.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pub
    - msg
    - signature
    argTypes:
    - uint8_t*
    - struct tstring*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: test_ed25519
    functionSourceFile: /src/nettle/testsuite/eddsa-verify-test.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - test_eddsa
    linkageType: ''
    returnType: void
    signature: "void test_ed25519 (const uint8_t *pub,\n\t      const struct tstring
      *msg,\n\t      const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha3_init
      Src: /src/nettle/testsuite/eddsa-verify-test.c:147,1
    - Dst: test_eddsa
      Src: /src/nettle/testsuite/eddsa-verify-test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pub
    - msg
    - signature
    argTypes:
    - uint8_t*
    - struct tstring*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: test_ed448
    functionSourceFile: /src/nettle/testsuite/eddsa-verify-test.c
    functionUses: 0
    functionsReached:
    - test_eddsa
    - sha3_init
    linkageType: ''
    returnType: void
    signature: "void test_ed448 (const uint8_t *pub,\n\t    const struct tstring *msg,\n\t
      \   const uint8_t *signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519
      Src: /src/nettle/testsuite/eddsa-verify-test.c:155,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:157,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:158,1
    - Dst: test_ed25519
      Src: /src/nettle/testsuite/eddsa-verify-test.c:162,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:164,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:165,1
    - Dst: test_ed25519
      Src: /src/nettle/testsuite/eddsa-verify-test.c:169,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:171,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:178,1
    - Dst: test_ed448
      Src: /src/nettle/testsuite/eddsa-verify-test.c:183,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:183,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:187,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:188,1
    - Dst: test_ed448
      Src: /src/nettle/testsuite/eddsa-verify-test.c:196,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:200,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:201,1
    - Dst: test_ed448
      Src: /src/nettle/testsuite/eddsa-verify-test.c:209,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-verify-test.c:213,1
    - Dst: H
      Src: /src/nettle/testsuite/eddsa-verify-test.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 225
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/eddsa-verify-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - H
    - test_ed448
    - test_ed25519
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/xts-test.c:11,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/xts-test.c:13,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/xts-test.c:14,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/xts-test.c:15,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/xts-test.c:16,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/xts-test.c:17,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/xts-test.c:18,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/xts-test.c:19,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/xts-test.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - operation
    - input
    - output
    - expected
    - length
    argTypes:
    - char*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 22
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 22
    functionName: test_check_data
    functionSourceFile: /src/nettle/testsuite/xts-test.c
    functionUses: 0
    functionsReached:
    - print_hex
    - fprintf
    - FAIL
    - MEMEQ
    linkageType: ''
    returnType: void
    signature: "void test_check_data(const char *operation,\n                const
      uint8_t *input, const uint8_t *output,\n                const uint8_t *expected,
      size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/xts-test.c:36,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/xts-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/xts-test.c:38,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/xts-test.c:40,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/xts-test.c:41,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:43,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:44,1
    - Dst: xts_encrypt_message
      Src: /src/nettle/testsuite/xts-test.c:45,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:47,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/testsuite/xts-test.c:49,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:50,1
    - Dst: xts_decrypt_message
      Src: /src/nettle/testsuite/xts-test.c:51,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:53,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/xts-test.c:55,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:57,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:58,1
    - Dst: xts_encrypt_message
      Src: /src/nettle/testsuite/xts-test.c:59,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:61,1
    - Dst: struct nettle_cipher*::set_decrypt_key
      Src: /src/nettle/testsuite/xts-test.c:64,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:65,1
    - Dst: xts_decrypt_message
      Src: /src/nettle/testsuite/xts-test.c:66,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:68,1
    - Dst: xts_aes128_set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:74,1
    - Dst: xts_aes128_encrypt_message
      Src: /src/nettle/testsuite/xts-test.c:75,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:77,1
    - Dst: xts_aes128_set_decrypt_key
      Src: /src/nettle/testsuite/xts-test.c:80,1
    - Dst: xts_aes128_decrypt_message
      Src: /src/nettle/testsuite/xts-test.c:81,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:83,1
    - Dst: xts_aes256_set_encrypt_key
      Src: /src/nettle/testsuite/xts-test.c:91,1
    - Dst: xts_aes256_encrypt_message
      Src: /src/nettle/testsuite/xts-test.c:92,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:94,1
    - Dst: xts_aes256_set_decrypt_key
      Src: /src/nettle/testsuite/xts-test.c:97,1
    - Dst: xts_aes256_decrypt_message
      Src: /src/nettle/testsuite/xts-test.c:98,1
    - Dst: test_check_data
      Src: /src/nettle/testsuite/xts-test.c:100,1
    - Dst: free
      Src: /src/nettle/testsuite/xts-test.c:104,1
    - Dst: free
      Src: /src/nettle/testsuite/xts-test.c:105,1
    - Dst: free
      Src: /src/nettle/testsuite/xts-test.c:106,1
    - Dst: free
      Src: /src/nettle/testsuite/xts-test.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 5
    argNames:
    - cipher
    - key
    - tweak
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 108
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 108
    functionName: test_cipher_xts
    functionSourceFile: /src/nettle/testsuite/xts-test.c
    functionUses: 0
    functionsReached:
    - test_check_data
    - xts_encrypt_message
    - struct nettle_cipher*::set_decrypt_key
    - xts_aes256_decrypt_message
    - xts_aes256_encrypt_message
    - free
    - xts_aes128_set_decrypt_key
    - struct nettle_cipher*::set_encrypt_key
    - xts_aes256_set_encrypt_key
    - xts_aes128_encrypt_message
    - xts_aes256_set_decrypt_key
    - xalloc
    - xts_aes128_set_encrypt_key
    - xts_aes128_decrypt_message
    - xts_decrypt_message
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_cipher_xts(const struct nettle_cipher *cipher,\n\t\tconst
      struct tstring *key,\n\t\tconst struct tstring *tweak,\n\t\tconst struct tstring
      *cleartext,\n\t\tconst struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_xts
      Src: /src/nettle/testsuite/xts-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:126,1
    - Dst: test_cipher_xts
      Src: /src/nettle/testsuite/xts-test.c:129,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:135,1
    - Dst: test_cipher_xts
      Src: /src/nettle/testsuite/xts-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:145,1
    - Dst: test_cipher_xts
      Src: /src/nettle/testsuite/xts-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:157,1
    - Dst: test_cipher_xts
      Src: /src/nettle/testsuite/xts-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/xts-test.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 173
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/xts-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cipher_xts
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_aes256_init
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:51,1
    - Dst: drbg_ctr_aes256_random
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:53,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:54,1
    - Dst: H
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:56,1
    - Dst: printf
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:59,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:60,1
    - Dst: abort
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:61,1
    - Dst: drbg_ctr_aes256_random
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:64,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:65,1
    - Dst: H
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:67,1
    - Dst: printf
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:70,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:71,1
    - Dst: abort
      Src: /src/nettle/testsuite/drbg-ctr-aes256-test.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/drbg-ctr-aes256-test.c
    functionUses: 1
    functionsReached:
    - abort
    - drbg_ctr_aes256_random
    - drbg_ctr_aes256_init
    - print_hex
    - H
    - MEMEQ
    - printf
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:18,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:19,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:20,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:21,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:22,1
    - Dst: ecc_ecdsa_sign_itch
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:22,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:24,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:26,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:27,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:28,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:29,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:31,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:32,1
    - Dst: ecc_ecdsa_sign
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:34,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:37,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:38,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:40,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:41,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:43,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:43,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:44,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:46,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:47,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:49,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:50,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:51,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:52,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:53,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:54,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:55,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:56,1
    - Dst: free
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:59,1
    - Dst: free
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:60,1
    - Dst: free
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:61,1
    - Dst: free
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:62,1
    - Dst: free
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:63,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:65,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:66,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 6
    argNames:
    - ecc
    - sz
    - sk
    - h
    - r
    - s
    argTypes:
    - struct ecc_curve*
    - char*
    - char*
    - struct tstring*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 68
    functionName: test_ecdsa
    functionSourceFile: /src/nettle/testsuite/ecdsa-sign-test.c
    functionUses: 1
    functionsReached:
    - abort
    - write_mpn
    - mpz_roinit_n
    - fprintf
    - free
    - dsa_signature_clear
    - mpz_cmp
    - ecc_ecdsa_sign
    - mark_bytes_defined
    - mpz_out_str
    - xalloc_limbs
    - mark_bytes_undefined
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    - mpz_set_str
    - mpz_limbs_copy
    - ecc_ecdsa_sign_itch
    linkageType: ''
    returnType: void
    signature: "void test_ecdsa (const struct ecc_curve *ecc,\n\t    /* Private key
      */\n\t    const char *sz,\n\t    /* Random nonce */\n\t    const char *sk,\n\t
      \   /* Hash */\n\t    const struct tstring *h,\n\t    /* Expected signature
      */\n\t    const char *r, const char *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:75,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:83,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:95,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:111,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:127,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:144,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:161,1
    - Dst: test_ecdsa
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ecdsa-sign-test.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 200
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecdsa-sign-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - SKIP
    - test_ecdsa
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/nettle/testsuite/meta-armor-test.c:17,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-armor-test.c:20,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/meta-armor-test.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 26
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/meta-armor-test.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/twofish-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:9,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:11,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/twofish-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:18,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/twofish-test.c:21,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/twofish-test.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 26
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/twofish-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cipher
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/cfb-test.c:28,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/cfb-test.c:29,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/testsuite/cfb-test.c:34,1
    - Dst: CFB_SET_IV
      Src: /src/nettle/testsuite/cfb-test.c:35,1
    - Dst: CFB_ENCRYPT
      Src: /src/nettle/testsuite/cfb-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:39,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:43,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cfb-test.c:44,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:45,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:48,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:48,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/testsuite/cfb-test.c:51,1
    - Dst: CFB_SET_IV
      Src: /src/nettle/testsuite/cfb-test.c:52,1
    - Dst: CFB_DECRYPT
      Src: /src/nettle/testsuite/cfb-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:55,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:59,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cfb-test.c:60,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:61,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:64,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:64,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:65,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 66
    functionName: test_cfb_bulk
    functionSourceFile: /src/nettle/testsuite/cfb-test.c
    functionUses: 0
    functionsReached:
    - CFB_ENCRYPT
    - CFB_SET_IV
    - knuth_lfib_init
    - print_hex
    - CFB_DECRYPT
    - aes256_set_encrypt_key
    - MEMEQ
    - knuth_lfib_random
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_cfb_bulk(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/cfb-test.c:85,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/cfb-test.c:86,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/testsuite/cfb-test.c:91,1
    - Dst: CFB8_SET_IV
      Src: /src/nettle/testsuite/cfb-test.c:92,1
    - Dst: CFB8_ENCRYPT
      Src: /src/nettle/testsuite/cfb-test.c:94,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:96,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:100,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cfb-test.c:101,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:102,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:105,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:105,1
    - Dst: aes256_set_encrypt_key
      Src: /src/nettle/testsuite/cfb-test.c:108,1
    - Dst: CFB8_SET_IV
      Src: /src/nettle/testsuite/cfb-test.c:109,1
    - Dst: CFB8_DECRYPT
      Src: /src/nettle/testsuite/cfb-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:112,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:116,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/cfb-test.c:117,1
    - Dst: printf
      Src: /src/nettle/testsuite/cfb-test.c:118,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:121,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:121,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/cfb-test.c:122,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/cfb-test.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 123
    functionName: test_cfb8_bulk
    functionSourceFile: /src/nettle/testsuite/cfb-test.c
    functionUses: 0
    functionsReached:
    - CFB8_SET_IV
    - CFB8_DECRYPT
    - print_hex
    - knuth_lfib_init
    - CFB8_ENCRYPT
    - aes256_set_encrypt_key
    - MEMEQ
    - knuth_lfib_random
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_cfb8_bulk(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_cfb8
      Src: /src/nettle/testsuite/cfb-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:135,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:140,1
    - Dst: test_cipher_cfb8
      Src: /src/nettle/testsuite/cfb-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:153,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:155,1
    - Dst: test_cipher_cfb8
      Src: /src/nettle/testsuite/cfb-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:170,1
    - Dst: test_cipher_cfb
      Src: /src/nettle/testsuite/cfb-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:186,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:195,1
    - Dst: test_cipher_cfb
      Src: /src/nettle/testsuite/cfb-test.c:207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:210,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:218,1
    - Dst: test_cipher_cfb
      Src: /src/nettle/testsuite/cfb-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/cfb-test.c:241,1
    - Dst: test_cfb_bulk
      Src: /src/nettle/testsuite/cfb-test.c:243,1
    - Dst: test_cfb8_bulk
      Src: /src/nettle/testsuite/cfb-test.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 245
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/cfb-test.c
    functionUses: 1
    functionsReached:
    - test_cipher_cfb8
    - test_cipher_cfb
    - SHEX
    - test_cfb_bulk
    - test_cfb8_bulk
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:17,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:19,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:20,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:22,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:24,1
    - Dst: rsa_pkcs1_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:24,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:28,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:30,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:30,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:33,1
    - Dst: rsa_pkcs1_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:33,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:39,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:41,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:43,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:46,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:46,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:49,1
    - Dst: rsa_pkcs1_verify
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:49,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:52,1
    - Dst: rsa_pkcs1_verify
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:52,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:56,1
    - Dst: rsa_pkcs1_verify
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:56,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - pub
    - key
    - di_length
    - di
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - unsigned
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 59
      start: 7
    functionDepth: 4
    functionLinenumber: 7
    functionLinenumberEnd: 59
    functionName: test_rsa_sign_tr
    functionSourceFile: /src/nettle/testsuite/rsa-sign-tr-test.c
    functionUses: 0
    functionsReached:
    - mpz_sub_ui
    - knuth_lfib_init
    - mpz_add_ui
    - rsa_pkcs1_sign_tr
    - mpz_cmp
    - mpz_combit
    - mpz_out_str
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    - fprintf
    - mpz_cmp_ui
    - ASSERT
    - rsa_pkcs1_verify
    linkageType: ''
    returnType: void
    signature: "void test_rsa_sign_tr(struct rsa_public_key *pub,\n\t     struct rsa_private_key
      *key,\n\t     unsigned di_length,\n\t     const uint8_t *di,\n\t     mpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:70,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:72,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:73,1
    - Dst: test_rsa_set_key_1
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:75,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:78,1
    - Dst: test_rsa_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:86,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:86,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:88,1
    - Dst: test_rsa_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:95,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:95,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:133,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:140,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:142,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:142,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:144,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:149,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:154,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:159,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:164,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:169,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:169,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:170,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:173,1
    - Dst: test_rsa_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:179,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:179,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:182,1
    - Dst: test_rsa_sign_tr
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:188,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:188,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:190,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:191,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-sign-tr-test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 193
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-sign-tr-test.c
    functionUses: 1
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - rsa_private_key_prepare
    - LDATA
    - rsa_public_key_prepare
    - test_rsa_sign_tr
    - rsa_private_key_init
    - mpz_init
    - mpz_clear
    - test_rsa_set_key_1
    - mpz_set_str
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:17,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:18,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:20,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:21,1
    - Dst: ecc_point_set
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:23,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:24,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:26,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:27,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:29,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:31,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:33,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:34,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:35,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:36,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:37,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:38,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:39,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:41,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:43,1
    - Dst: abort
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:44,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:47,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:50,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:53,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:55,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:56,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:58,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:61,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:64,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:66,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:70,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:72,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:76,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:77,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:78,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 6
    argNames:
    - ecc
    - xs
    - ys
    - h
    - r
    - s
    argTypes:
    - struct ecc_curve*
    - char*
    - char*
    - struct tstring*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 4
    functionDepth: 3
    functionLinenumber: 4
    functionLinenumberEnd: 80
    functionName: test_gostdsa
    functionSourceFile: /src/nettle/testsuite/gostdsa-verify-test.c
    functionUses: 1
    functionsReached:
    - abort
    - die
    - ecc_point_clear
    - print_hex
    - gostdsa_verify
    - dsa_signature_clear
    - ecc_point_init
    - mpz_combit
    - ecc_point_set
    - mpz_out_str
    - dsa_signature_init
    - mpz_init_set_str
    - mpz_clear
    - mpz_set_str
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_gostdsa (const struct ecc_curve *ecc,\n\t    /* Public key
      */\n\t    const char *xs, const char *ys,\n\t    /* Hash */\n\t    struct tstring
      *h,\n\t    /* Valid signature */\n\t    const char *r, const char *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_gostdsa
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:85,1
    - Dst: nettle_get_gost_gc256b
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:90,1
    - Dst: test_gostdsa
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:96,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-verify-test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gostdsa-verify-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_gostdsa
    - nettle_get_gost_gc256b
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-sign-test.c:47,1
    - Dst: _eddsa_sign_itch
      Src: /src/nettle/testsuite/eddsa-sign-test.c:47,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/eddsa-sign-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/eddsa-sign-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/eddsa-sign-test.c:56,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/eddsa-sign-test.c:57,1
    - Dst: _eddsa_expand_key
      Src: /src/nettle/testsuite/eddsa-sign-test.c:59,1
    - Dst: _eddsa_public_key
      Src: /src/nettle/testsuite/eddsa-sign-test.c:61,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/eddsa-sign-test.c:63,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:65,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:66,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:67,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:68,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:69,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:70,1
    - Dst: abort
      Src: /src/nettle/testsuite/eddsa-sign-test.c:71,1
    - Dst: _eddsa_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:73,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/eddsa-sign-test.c:77,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:79,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:80,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:81,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:82,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:84,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/eddsa-sign-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:86,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:87,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:88,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:89,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:90,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/eddsa-sign-test.c:91,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/eddsa-sign-test.c:92,1
    - Dst: abort
      Src: /src/nettle/testsuite/eddsa-sign-test.c:93,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-sign-test.c:96,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-sign-test.c:97,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-sign-test.c:98,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-sign-test.c:99,1
    - Dst: free
      Src: /src/nettle/testsuite/eddsa-sign-test.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 7
    argNames:
    - ecc
    - eddsa
    - ctx
    - public
    - private
    - msg
    - ref
    argTypes:
    - struct ecc_curve*
    - struct ecc_eddsa*
    - void*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 101
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 101
    functionName: test_eddsa_sign
    functionSourceFile: /src/nettle/testsuite/eddsa-sign-test.c
    functionUses: 0
    functionsReached:
    - abort
    - _eddsa_sign
    - _eddsa_expand_key
    - tstring_print_hex
    - print_hex
    - free
    - _eddsa_sign_itch
    - xalloc_limbs
    - MEMEQ
    - mpn_out_str
    - fprintf
    - _eddsa_public_key
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_eddsa_sign (const struct ecc_curve *ecc,\n\t\t const struct
      ecc_eddsa *eddsa,\n\t\t void *ctx,\n\t\t const struct tstring *public,\n\t\t
      const struct tstring *private,\n\t\t const struct tstring *msg,\n\t\t const
      struct tstring *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init
      Src: /src/nettle/testsuite/eddsa-sign-test.c:111,1
    - Dst: test_eddsa_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - public
    - private
    - msg
    - ref
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: test_ed25519_sign
    functionSourceFile: /src/nettle/testsuite/eddsa-sign-test.c
    functionUses: 0
    functionsReached:
    - sha512_init
    - test_eddsa_sign
    linkageType: ''
    returnType: void
    signature: "void test_ed25519_sign (const struct tstring *public,\n\t\t   const
      struct tstring *private,\n\t\t   const struct tstring *msg,\n\t\t   const struct
      tstring *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha3_init
      Src: /src/nettle/testsuite/eddsa-sign-test.c:124,1
    - Dst: test_eddsa_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - public
    - private
    - msg
    - ref
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: test_ed448_sign
    functionSourceFile: /src/nettle/testsuite/eddsa-sign-test.c
    functionUses: 0
    functionsReached:
    - test_eddsa_sign
    - sha3_init
    linkageType: ''
    returnType: void
    signature: "void test_ed448_sign (const struct tstring *public,\n\t\t const struct
      tstring *private,\n\t\t const struct tstring *msg,\n\t\t const struct tstring
      *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:138,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:139,1
    - Dst: test_ed25519_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:147,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:148,1
    - Dst: test_ed25519_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:163,1
    - Dst: test_ed448_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:177,1
    - Dst: test_ed448_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:189,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:194,1
    - Dst: test_ed448_sign
      Src: /src/nettle/testsuite/eddsa-sign-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:210,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/eddsa-sign-test.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 222
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/eddsa-sign-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_ed25519_sign
    - test_ed448_sign
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/nettle/testsuite/memxor-test.c:18,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/nettle/testsuite/memxor-test.c:20,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/nettle/testsuite/memxor-test.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - type
    - block
    - block_size
    - p
    - size
    argTypes:
    - enum mark_type
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: test_mark
    functionSourceFile: /src/nettle/testsuite/memxor-test.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - VALGRIND_MAKE_MEM_UNDEFINED
    linkageType: ''
    returnType: void
    signature: "void test_mark (enum mark_type type,\n\t   const uint8_t *block, size_t
      block_size,\n\t   const uint8_t *p, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - align
    argTypes:
    - uint8_t*
    - unsigned
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: set_align
    functionSourceFile: /src/nettle/testsuite/memxor-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      set_align(uint8_t *buf, unsigned align)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/testsuite/memxor-test.c:59,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memxor-test.c:62,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memxor-test.c:66,1
    - Dst: test_mark
      Src: /src/nettle/testsuite/memxor-test.c:67,1
    - Dst: test_mark
      Src: /src/nettle/testsuite/memxor-test.c:68,1
    - Dst: memxor
      Src: /src/nettle/testsuite/memxor-test.c:70,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:71,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/memxor-test.c:71,1
    - Dst: test_unmark
      Src: /src/nettle/testsuite/memxor-test.c:73,1
    - Dst: test_unmark
      Src: /src/nettle/testsuite/memxor-test.c:74,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:75,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - a
    - b
    - c
    - size
    - align_dst
    - align_src
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: test_memxor
    functionSourceFile: /src/nettle/testsuite/memxor-test.c
    functionUses: 0
    functionsReached:
    - test_mark
    - memxor
    - test_unmark
    - MEMEQ
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_memxor (const uint8_t *a, const uint8_t *b, const uint8_t
      *c,\n\t     size_t size, unsigned align_dst, unsigned align_src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/nettle/testsuite/memxor-test.c:92,1
    - Dst: memset
      Src: /src/nettle/testsuite/memxor-test.c:95,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memxor-test.c:99,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/memxor-test.c:100,1
    - Dst: test_mark
      Src: /src/nettle/testsuite/memxor-test.c:101,1
    - Dst: test_mark
      Src: /src/nettle/testsuite/memxor-test.c:102,1
    - Dst: test_mark
      Src: /src/nettle/testsuite/memxor-test.c:103,1
    - Dst: memxor3
      Src: /src/nettle/testsuite/memxor-test.c:105,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:106,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/memxor-test.c:106,1
    - Dst: test_unmark
      Src: /src/nettle/testsuite/memxor-test.c:108,1
    - Dst: test_unmark
      Src: /src/nettle/testsuite/memxor-test.c:109,1
    - Dst: test_unmark
      Src: /src/nettle/testsuite/memxor-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:112,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/memxor-test.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 7
    argNames:
    - ain
    - bin
    - c
    - size
    - align_dst
    - align_a
    - align_b
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 114
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 114
    functionName: test_memxor3
    functionSourceFile: /src/nettle/testsuite/memxor-test.c
    functionUses: 0
    functionsReached:
    - test_mark
    - memxor3
    - test_unmark
    - MEMEQ
    - memset
    - memcpy
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_memxor3 (const uint8_t *ain, const uint8_t *bin, const uint8_t
      *c,\n\t      size_t size, unsigned align_dst, unsigned align_a, unsigned align_b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_memxor
      Src: /src/nettle/testsuite/memxor-test.c:181,1
    - Dst: test_memxor3
      Src: /src/nettle/testsuite/memxor-test.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 185
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/memxor-test.c
    functionUses: 1
    functionsReached:
    - test_memxor3
    - test_memxor
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arcfour-test.c:15,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/arcfour-test.c:18,1
    - Dst: memset
      Src: /src/nettle/testsuite/arcfour-test.c:24,1
    - Dst: arcfour_set_key
      Src: /src/nettle/testsuite/arcfour-test.c:25,1
    - Dst: arcfour_crypt
      Src: /src/nettle/testsuite/arcfour-test.c:29,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arcfour-test.c:30,1
    - Dst: arcfour_crypt
      Src: /src/nettle/testsuite/arcfour-test.c:33,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arcfour-test.c:34,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/arcfour-test.c:36,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:38,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:41,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:43,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:45,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/arcfour-test.c:46,1
    - Dst: arcfour_set_key
      Src: /src/nettle/testsuite/arcfour-test.c:50,1
    - Dst: arcfour_crypt
      Src: /src/nettle/testsuite/arcfour-test.c:51,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/arcfour-test.c:53,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/arcfour-test.c:55,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:57,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:58,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:59,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:60,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:61,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/arcfour-test.c:62,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/arcfour-test.c:63,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/arcfour-test.c:64,1
    - Dst: free
      Src: /src/nettle/testsuite/arcfour-test.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 68
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 68
    functionName: test_arcfour
    functionSourceFile: /src/nettle/testsuite/arcfour-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - arcfour_crypt
    - free
    - xalloc
    - FAIL
    - MEMEQ
    - memset
    - arcfour_set_key
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_arcfour(const struct tstring *key,\n\t     const struct
      tstring *cleartext,\n\t     const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_arcfour
      Src: /src/nettle/testsuite/arcfour-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:75,1
    - Dst: test_arcfour
      Src: /src/nettle/testsuite/arcfour-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/arcfour-test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 159
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/arcfour-test.c
    functionUses: 1
    functionsReached:
    - test_arcfour
    - SHEX
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pkcs1_signature_prefix
      Src: /src/nettle/testsuite/pkcs1-test.c:13,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pkcs1-test.c:14,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-test.c:16,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/pkcs1-test.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 17
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/pkcs1-test.c
    functionUses: 1
    functionsReached:
    - _pkcs1_signature_prefix
    - ASSERT
    - MEMEQ
    - LDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/buffer-test.c:10,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:11,1
    - Dst: nettle_buffer_write
      Src: /src/nettle/testsuite/buffer-test.c:11,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/buffer-test.c:11,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:13,1
    - Dst: NETTLE_BUFFER_PUTC
      Src: /src/nettle/testsuite/buffer-test.c:13,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:15,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:16,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:17,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/buffer-test.c:17,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/buffer-test.c:19,1
    - Dst: nettle_buffer_init_size
      Src: /src/nettle/testsuite/buffer-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:22,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:23,1
    - Dst: nettle_buffer_write
      Src: /src/nettle/testsuite/buffer-test.c:23,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/buffer-test.c:23,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:24,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/buffer-test.c:26,1
    - Dst: nettle_buffer_write
      Src: /src/nettle/testsuite/buffer-test.c:26,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/buffer-test.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/buffer-test.c
    functionUses: 1
    functionsReached:
    - nettle_buffer_init
    - LDATA
    - nettle_buffer_clear
    - NETTLE_BUFFER_PUTC
    - MEMEQ
    - nettle_buffer_init_size
    - nettle_buffer_write
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-test.c:7,1
    - Dst: mpz_mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:8,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-test.c:8,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-test.c:8,1
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-test.c:9,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-test.c:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rp
    - ap
    - mp
    - mn
    argTypes:
    - mp_limb_t*
    - mp_limb_t*
    - mp_limb_t*
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 12
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 12
    functionName: ref_mod
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 0
    functionsReached:
    - mpz_roinit_n
    - mpz_mod
    - mpz_clear
    - mpz_init
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: void ref_mod (mp_limb_t *rp, const mp_limb_t *ap, const mp_limb_t *mp,
      mp_size_t mn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-mod-test.c:22,1
    - Dst: mpn_sub_n
      Src: /src/nettle/testsuite/ecc-mod-test.c:23,1
    - Dst: mpn_cmp
      Src: /src/nettle/testsuite/ecc-mod-test.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - ref
    - tp
    argTypes:
    - struct ecc_modulo*
    - mp_limb_t*
    - mp_limb_t*
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: mod_equal
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 1
    functionsReached:
    - mpn_cmp
    - mpn_sub_n
    linkageType: ''
    returnType: int
    signature: int mod_equal(const struct ecc_modulo *m, const mp_limb_t *ref, mp_limb_t
      *tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_limbs_copy
      Src: /src/nettle/testsuite/ecc-mod-test.c:36,1
    - Dst: ref_mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:38,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-mod-test.c:40,1
    - Dst: struct ecc_modulo*::mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:41,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-mod-test.c:42,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:47,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:49,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:50,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:51,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:52,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:53,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-test.c:54,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-mod-test.c:57,1
    - Dst: struct ecc_modulo*::mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:58,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-mod-test.c:59,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:61,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:64,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:65,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:66,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:67,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:68,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:69,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:70,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-test.c:71,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-mod-test.c:76,1
    - Dst: ecc_mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:77,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-mod-test.c:78,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:80,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:82,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:83,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:84,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:85,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:86,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:87,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:88,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-test.c:89,1
    - Dst: mpn_copyi
      Src: /src/nettle/testsuite/ecc-mod-test.c:92,1
    - Dst: ecc_mod
      Src: /src/nettle/testsuite/ecc-mod-test.c:93,1
    - Dst: mod_equal
      Src: /src/nettle/testsuite/ecc-mod-test.c:94,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:96,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:98,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:99,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:100,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:101,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:102,1
    - Dst: mpn_out_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:103,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ecc-mod-test.c:104,1
    - Dst: abort
      Src: /src/nettle/testsuite/ecc-mod-test.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 3
    argNames:
    - name
    - m
    - r
    argTypes:
    - char*
    - struct ecc_modulo*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 108
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 108
    functionName: test_one
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 2
    functionsReached:
    - abort
    - ecc_mod
    - mod_equal
    - fprintf
    - mpn_copyi
    - mpn_out_str
    - ref_mod
    - struct ecc_modulo*::mod
    - mpz_limbs_copy
    linkageType: ''
    returnType: void
    signature: "void test_one(const char *name,\n\t const struct ecc_modulo *m,\n\t
      const mpz_t r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-test.c:117,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:124,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:126,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:135,1
    - Dst: mpz_get_ui
      Src: /src/nettle/testsuite/ecc-mod-test.c:136,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:137,1
    - Dst: mpz_get_si
      Src: /src/nettle/testsuite/ecc-mod-test.c:138,1
    - Dst: mpz_rrandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:141,1
    - Dst: mpz_urandomb
      Src: /src/nettle/testsuite/ecc-mod-test.c:143,1
    - Dst: mpz_mul
      Src: /src/nettle/testsuite/ecc-mod-test.c:145,1
    - Dst: mpz_roinit_n
      Src: /src/nettle/testsuite/ecc-mod-test.c:145,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/ecc-mod-test.c:147,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/ecc-mod-test.c:149,1
    - Dst: mpz_sgn
      Src: /src/nettle/testsuite/ecc-mod-test.c:151,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:155,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-test.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - rands
    - name
    - m
    - count
    argTypes:
    - gmp_randstate_t
    - char*
    - struct ecc_modulo*
    - unsigned
    constantsTouched: []
    func_position:
      end: 158
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 158
    functionName: test_modulo
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 3
    functionsReached:
    - mpz_sgn
    - mpz_get_ui
    - mpz_mul
    - mpz_roinit_n
    - mpz_sub_ui
    - mpz_add_ui
    - mpz_get_si
    - test_one
    - mpz_urandomb
    - mpz_init
    - mpz_clear
    - mpz_rrandomb
    linkageType: ''
    returnType: void
    signature: "void test_modulo (gmp_randstate_t rands, const char *name,\n\t     const
      struct ecc_modulo *m, unsigned count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-test.c:164,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:167,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/ecc-mod-test.c:168,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:169,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:170,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:172,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:173,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:174,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:177,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:178,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:179,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/ecc-mod-test.c:182,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:184,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:185,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 188
    functionName: test_fixed
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 1
    functionsReached:
    - mpz_mul_2exp
    - test_one
    - mpz_clear
    - mpz_init
    - mpz_set_str
    linkageType: ''
    returnType: void
    signature: void test_fixed (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/ecc-mod-test.c:197,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/ecc-mod-test.c:202,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/ecc-mod-test.c:203,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:204,1
    - Dst: mpz_mul_2exp
      Src: /src/nettle/testsuite/ecc-mod-test.c:207,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/ecc-mod-test.c:208,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ecc-mod-test.c:209,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/ecc-mod-test.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - name
    - m
    argTypes:
    - char*
    - struct ecc_modulo*
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: test_patterns
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 0
    functionsReached:
    - mpz_mul_2exp
    - mpz_sub_ui
    - test_one
    - mpz_init
    - mpz_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: "void test_patterns (const char *name,\n\t       const struct ecc_modulo
      *m)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_randinit_default
      Src: /src/nettle/testsuite/ecc-mod-test.c:220,1
    - Dst: test_fixed
      Src: /src/nettle/testsuite/ecc-mod-test.c:222,1
    - Dst: test_patterns
      Src: /src/nettle/testsuite/ecc-mod-test.c:226,1
    - Dst: test_patterns
      Src: /src/nettle/testsuite/ecc-mod-test.c:227,1
    - Dst: test_randomize
      Src: /src/nettle/testsuite/ecc-mod-test.c:230,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-mod-test.c:234,1
    - Dst: test_modulo
      Src: /src/nettle/testsuite/ecc-mod-test.c:235,1
    - Dst: gmp_randclear
      Src: /src/nettle/testsuite/ecc-mod-test.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-mod-test.c
    functionUses: 1
    functionsReached:
    - test_fixed
    - test_patterns
    - test_modulo
    - gmp_randclear
    - gmp_randinit_default
    - test_randomize
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:9,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/chacha-poly1305-test.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 33
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/chacha-poly1305-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_aead
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:7,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:12,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:18,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:20,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:24,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:26,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:27,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:29,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:30,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:33,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:36,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:37,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:38,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:39,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:42,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:45,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:46,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:48,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:50,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:51,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:54,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:55,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:56,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:57,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:58,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:60,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:63,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:64,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:66,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:69,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:75,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:78,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:81,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:84,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:87,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:88,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:90,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:93,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:94,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:96,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:98,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:99,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:102,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:105,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:108,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:109,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:111,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:114,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:117,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:118,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:120,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:121,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:123,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:124,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:126,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:128,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:129,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:132,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:133,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:134,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:135,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:138,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:139,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:141,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:143,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:144,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:145,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:147,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:150,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:152,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:153,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:156,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:157,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:159,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:160,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:162,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:165,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:168,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:171,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:172,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:174,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:177,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:179,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:180,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:183,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:185,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:186,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:187,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:188,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:189,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:191,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:192,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:193,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:194,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:195,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:198,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:200,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:201,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:203,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:204,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:207,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:210,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:211,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:213,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:216,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:218,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:219,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:220,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:222,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:225,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:226,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:228,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:231,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:232,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:233,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:234,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:237,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:238,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:239,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:240,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:241,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:242,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:243,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:246,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:247,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:248,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:249,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:250,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:251,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:252,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:253,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:254,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:255,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:258,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:260,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:261,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:262,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:263,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:264,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:265,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:267,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:270,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:271,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:272,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:273,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:274,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:275,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:276,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:277,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:279,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:282,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:284,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:285,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:286,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:287,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:288,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:289,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:290,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:291,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:292,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:293,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:294,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:297,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:298,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:299,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:300,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:301,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:302,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:303,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:304,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:306,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:307,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:309,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:312,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:314,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:315,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:316,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:317,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:318,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:319,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:321,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:324,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:325,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:326,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:327,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:328,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:329,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:330,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:331,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:333,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:336,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:338,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:339,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:340,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:341,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:342,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:343,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:344,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:345,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:346,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:347,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:348,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:351,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:353,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:354,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:355,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:356,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:357,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:358,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:359,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:360,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:361,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:363,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:366,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:368,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:369,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:370,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:372,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:373,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:375,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:378,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:379,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:380,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:381,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:382,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:383,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:384,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:387,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:390,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:391,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:392,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:393,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:394,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:396,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:399,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:401,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:402,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:403,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:404,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:405,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:406,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:408,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:411,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:412,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:413,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:414,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:415,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:416,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:417,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:420,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:423,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:425,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:426,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:427,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:428,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:429,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:432,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:434,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:435,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:437,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:438,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:439,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:441,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:444,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:445,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:446,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:447,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:450,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:453,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:456,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:457,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:458,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:459,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:461,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:462,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:465,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:467,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:468,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:469,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:470,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:471,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:472,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:474,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:477,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:478,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:479,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:480,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:482,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:483,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:486,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:489,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:490,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:492,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:493,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:495,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:498,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:500,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:501,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:502,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:503,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:504,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:505,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:507,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:510,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:511,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:513,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:514,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:515,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:516,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:519,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:522,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:524,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:525,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:526,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:528,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:531,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:534,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:535,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:536,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:537,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:538,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:540,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:543,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:544,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:546,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:547,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:548,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:549,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:552,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:555,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:556,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:557,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:558,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:559,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:560,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:561,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:564,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:566,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:567,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:568,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:569,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:570,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:571,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:573,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:576,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:577,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:578,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:579,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:580,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:581,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:582,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:585,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:588,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:589,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:590,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:591,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:592,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:593,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:594,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:597,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:600,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:601,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:603,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:604,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:606,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:609,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:610,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:611,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:612,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:613,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:615,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:618,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:621,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:622,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:623,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:624,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:627,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:630,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:633,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:634,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:635,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:636,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:637,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:639,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:642,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:644,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:645,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:646,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:647,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:648,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:651,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:654,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:655,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:657,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:658,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:659,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:660,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:663,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:666,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:667,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:668,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:669,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:670,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:671,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:672,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:675,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:677,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:678,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:679,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:681,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:684,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:687,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:689,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:690,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:691,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:692,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:693,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:696,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:699,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:700,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:701,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:702,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:703,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:705,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:708,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:709,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:710,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:711,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:712,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:713,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:714,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:717,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:718,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:720,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:721,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:722,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:723,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:724,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:725,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:726,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:729,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:732,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:733,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:734,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:735,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:736,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:738,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:739,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:741,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:742,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:743,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:744,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:745,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:746,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:747,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:748,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:750,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:753,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:756,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:757,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:758,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:759,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:760,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:762,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:765,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:767,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:768,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:769,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:770,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:771,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha3-384-test.c:772,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:773,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha3-384-test.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 257
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 775
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha3-384-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-dup-test.c:11,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-dup-test.c:11,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-dup-test.c:12,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-dup-test.c:12,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-dup-test.c:13,1
    - Dst: test_ecc_get_g
      Src: /src/nettle/testsuite/ecc-dup-test.c:15,1
    - Dst: xalloc_limbs
      Src: /src/nettle/testsuite/ecc-dup-test.c:19,1
    - Dst: ecc_size_j
      Src: /src/nettle/testsuite/ecc-dup-test.c:19,1
    - Dst: mpn_zero
      Src: /src/nettle/testsuite/ecc-dup-test.c:22,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/testsuite/ecc-dup-test.c:25,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-dup-test.c:26,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-dup-test.c:28,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/testsuite/ecc-dup-test.c:31,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-dup-test.c:32,1
    - Dst: struct ecc_curve*::dup
      Src: /src/nettle/testsuite/ecc-dup-test.c:34,1
    - Dst: test_ecc_mul_h
      Src: /src/nettle/testsuite/ecc-dup-test.c:35,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-dup-test.c:37,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-dup-test.c:38,1
    - Dst: free
      Src: /src/nettle/testsuite/ecc-dup-test.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 3
    functionDepth: 4
    functionLinenumber: 3
    functionLinenumberEnd: 41
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ecc-dup-test.c
    functionUses: 1
    functionsReached:
    - struct ecc_curve*::dup
    - test_ecc_mul_h
    - free
    - ecc_size_j
    - test_ecc_get_g
    - xalloc_limbs
    - mpn_zero
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/sm4-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:13,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/sm4-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm4-test.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 19
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sm4-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cipher
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:14,1
    - Dst: dsa_signature_init
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:17,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:32,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:34,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:35,1
    - Dst: ecdsa_generate_keypair
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:37,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:43,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:45,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:46,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:47,1
    - Dst: write_mpn
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:49,1
    - Dst: test_ecc_point_valid_p
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:51,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:52,1
    - Dst: gostdsa_sign
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:54,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:59,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:61,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:64,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:66,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:69,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:70,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:72,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:74,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:75,1
    - Dst: gostdsa_verify
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:76,1
    - Dst: die
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:78,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:80,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:81,1
    - Dst: dsa_signature_clear
      Src: /src/nettle/testsuite/gostdsa-keygen-test.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 84
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gostdsa-keygen-test.c
    functionUses: 1
    functionsReached:
    - ecc_scalar_init
    - die
    - write_mpn
    - gostdsa_sign
    - ecc_point_clear
    - knuth_lfib_init
    - gostdsa_verify
    - dsa_signature_clear
    - ecc_point_init
    - ecdsa_generate_keypair
    - mpz_combit
    - SHEX
    - ecc_scalar_clear
    - dsa_signature_init
    - test_ecc_point_valid_p
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/pss-test.c:14,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/pss-test.c:15,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-test.c:17,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-test.c:18,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:19,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/testsuite/pss-test.c:19,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/pss-test.c:22,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:29,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/pss-test.c:29,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/pss-test.c:31,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:32,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:32,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/pss-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:35,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:35,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/pss-test.c:37,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/pss-test.c:38,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/pss-test.c:41,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/pss-test.c:42,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-test.c:44,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pss-test.c:46,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/pss-test.c:49,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:58,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/testsuite/pss-test.c:58,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:60,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/pss-test.c:60,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:64,1
    - Dst: pss_encode_mgf1
      Src: /src/nettle/testsuite/pss-test.c:64,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:66,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/pss-test.c:66,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/pss-test.c:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:70,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:70,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/pss-test.c:73,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:74,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:74,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:78,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:78,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pss-test.c:82,1
    - Dst: pss_verify_mgf1
      Src: /src/nettle/testsuite/pss-test.c:82,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/pss-test.c:84,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/pss-test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 5
    functionDepth: 4
    functionLinenumber: 5
    functionLinenumberEnd: 86
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/pss-test.c
    functionUses: 1
    functionsReached:
    - mpz_sub_ui
    - pss_encode_mgf1
    - mpz_add_ui
    - pss_verify_mgf1
    - SHEX
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_set_str
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:8,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:12,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:19,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:20,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:23,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:25,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:25,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:26,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:28,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:29,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:31,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:32,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:34,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:35,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:37,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha224-test.c:39,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha224-test.c:40,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha224-test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 45
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha224-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:28,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:29,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:30,1
    - Dst: MARK_MPZ_LIMBS_UNDEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:31,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:32,1
    - Dst: mpz_size
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:32,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:33,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:34,1
    - Dst: mpz_size
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:34,1
    - Dst: mpz_limbs_read
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:35,1
    - Dst: rsa_sec_decrypt
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:37,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:39,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:40,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:41,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:42,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:43,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:44,1
    - Dst: MARK_MPZ_LIMBS_DEFINED
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 7
    argNames:
    - pub
    - key
    - random_ctx
    - random
    - length
    - message
    - gibberish
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - void*
    - nettle_random_func*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 48
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 48
    functionName: rsa_decrypt_for_test
    functionSourceFile: /src/nettle/testsuite/rsa-sec-decrypt-test.c
    functionUses: 2
    functionsReached:
    - MARK_MPZ_LIMBS_UNDEFINED
    - mark_bytes_defined
    - mark_bytes_undefined
    - MARK_MPZ_LIMBS_DEFINED
    - mpz_limbs_read
    - mpz_size
    - rsa_sec_decrypt
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt_for_test(const struct rsa_public_key *pub,\n                     const
      struct rsa_private_key *key,\n                     void *random_ctx, nettle_random_func
      *random,\n                     size_t length, uint8_t *message,\n                     const
      mpz_t gibberish)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:69,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:71,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:72,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:73,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:74,1
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:76,1
    - Dst: memset
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:78,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:82,1
    - Dst: rsa_generate_keypair
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:82,1
    - Dst: knuth_lfib_random
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:89,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:90,1
    - Dst: rsa_encrypt
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:90,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:95,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:95,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:98,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:98,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:100,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:101,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:105,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:105,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:110,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:110,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:115,1
    - Dst: nettle_mpz_random_size
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:116,1
    - Dst: mpz_sizeinbase
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:118,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:120,1
    - Dst: rsa_decrypt_for_test
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:120,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:123,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:123,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:126,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:127,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:128,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-sec-decrypt-test.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 130
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-sec-decrypt-test.c
    functionUses: 1
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - rsa_encrypt
    - knuth_lfib_init
    - SKIP
    - rsa_decrypt_for_test
    - rsa_private_key_init
    - nettle_mpz_random_size
    - mpz_sizeinbase
    - memcpy
    - rsa_generate_keypair
    - mpz_init
    - memset
    - knuth_lfib_random
    - MEMEQ
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sha1-test.c:12,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sha1-test.c:13,1
    - Dst: sha1_init
      Src: /src/nettle/testsuite/sha1-test.c:19,1
    - Dst: sha1_update
      Src: /src/nettle/testsuite/sha1-test.c:20,1
    - Dst: sha1_update
      Src: /src/nettle/testsuite/sha1-test.c:21,1
    - Dst: _nettle_write_be32
      Src: /src/nettle/testsuite/sha1-test.c:23,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sha1-test.c:24,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha1-test.c:25,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/sha1-test.c:27,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha1-test.c:28,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/sha1-test.c:29,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha1-test.c:30,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/sha1-test.c:31,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/sha1-test.c:32,1
    - Dst: abort
      Src: /src/nettle/testsuite/sha1-test.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - input
    - expected
    argTypes:
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 36
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 36
    functionName: test_sha1_compress
    functionSourceFile: /src/nettle/testsuite/sha1-test.c
    functionUses: 0
    functionsReached:
    - abort
    - tstring_print_hex
    - print_hex
    - sha1_update
    - sha1_init
    - _nettle_write_be32
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_sha1_compress(const struct tstring *input,\n\t\t   const
      struct tstring *expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sha1_compress
      Src: /src/nettle/testsuite/sha1-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:42,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:43,1
    - Dst: test_sha1_compress
      Src: /src/nettle/testsuite/sha1-test.c:47,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:49,1
    - Dst: test_sha1_compress
      Src: /src/nettle/testsuite/sha1-test.c:52,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:52,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:56,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:59,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:59,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:60,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:62,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:62,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:63,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:65,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:65,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:66,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:68,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:68,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:69,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:71,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:74,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:77,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:79,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:82,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha1-test.c:85,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha1-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha1-test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha1-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_sha1_compress
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ccm-test.c:60,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:62,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:63,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:64,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:65,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:66,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/ccm-test.c:67,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:68,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/ccm-test.c:69,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:70,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:71,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ccm-test.c:73,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:75,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:76,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:77,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:78,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:79,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/ccm-test.c:80,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:81,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:82,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:83,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:84,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ccm-test.c:86,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:88,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:89,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:90,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:91,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:92,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/ccm-test.c:93,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:94,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/ccm-test.c:95,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:96,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 7
    argNames:
    - name
    - adata
    - e_clear
    - e_cipher
    - clear
    - cipher
    - digest
    argTypes:
    - char*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: test_compare_results
    functionSourceFile: /src/nettle/testsuite/ccm-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - FAIL
    - MEMEQ
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_compare_results(const char *name,\n        const struct
      tstring *adata,\n        /* Expected results. */\n        const struct tstring
      *e_clear,\n        const struct tstring *e_cipher,\n        /* Actual results.
      */\n        const void *clear,\n        const void *cipher,\n        const void
      *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ccm-test.c:119,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ccm-test.c:120,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ccm-test.c:121,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/ccm-test.c:124,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/ccm-test.c:125,1
    - Dst: struct nettle_cipher*::set_encrypt_key
      Src: /src/nettle/testsuite/ccm-test.c:127,1
    - Dst: ccm_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:130,1
    - Dst: ccm_update
      Src: /src/nettle/testsuite/ccm-test.c:133,1
    - Dst: ccm_encrypt
      Src: /src/nettle/testsuite/ccm-test.c:135,1
    - Dst: ccm_digest
      Src: /src/nettle/testsuite/ccm-test.c:136,1
    - Dst: ccm_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:139,1
    - Dst: ccm_update
      Src: /src/nettle/testsuite/ccm-test.c:142,1
    - Dst: ccm_decrypt
      Src: /src/nettle/testsuite/ccm-test.c:144,1
    - Dst: ccm_digest
      Src: /src/nettle/testsuite/ccm-test.c:145,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:148,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:153,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:154,1
    - Dst: ccm_encrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:156,1
    - Dst: ccm_decrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:160,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:164,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:165,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:167,1
    - Dst: ccm_decrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:173,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:177,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:178,1
    - Dst: ccm_decrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:183,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:187,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:188,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:196,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:197,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:198,1
    - Dst: ccm_aes128_set_key
      Src: /src/nettle/testsuite/ccm-test.c:201,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:202,1
    - Dst: ccm_aes128_update
      Src: /src/nettle/testsuite/ccm-test.c:205,1
    - Dst: ccm_aes128_encrypt
      Src: /src/nettle/testsuite/ccm-test.c:207,1
    - Dst: ccm_aes128_digest
      Src: /src/nettle/testsuite/ccm-test.c:208,1
    - Dst: ccm_aes128_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:211,1
    - Dst: ccm_aes128_update
      Src: /src/nettle/testsuite/ccm-test.c:214,1
    - Dst: ccm_aes128_decrypt
      Src: /src/nettle/testsuite/ccm-test.c:216,1
    - Dst: ccm_aes128_digest
      Src: /src/nettle/testsuite/ccm-test.c:217,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:219,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:223,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:224,1
    - Dst: ccm_aes128_encrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:225,1
    - Dst: ccm_aes128_decrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:228,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:232,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:233,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:235,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:242,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:243,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:244,1
    - Dst: ccm_aes256_set_key
      Src: /src/nettle/testsuite/ccm-test.c:247,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:248,1
    - Dst: ccm_aes256_update
      Src: /src/nettle/testsuite/ccm-test.c:251,1
    - Dst: ccm_aes256_encrypt
      Src: /src/nettle/testsuite/ccm-test.c:253,1
    - Dst: ccm_aes256_digest
      Src: /src/nettle/testsuite/ccm-test.c:254,1
    - Dst: ccm_aes256_set_nonce
      Src: /src/nettle/testsuite/ccm-test.c:257,1
    - Dst: ccm_aes256_update
      Src: /src/nettle/testsuite/ccm-test.c:260,1
    - Dst: ccm_aes256_decrypt
      Src: /src/nettle/testsuite/ccm-test.c:262,1
    - Dst: ccm_aes256_digest
      Src: /src/nettle/testsuite/ccm-test.c:263,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:265,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:269,1
    - Dst: memset
      Src: /src/nettle/testsuite/ccm-test.c:270,1
    - Dst: ccm_aes256_encrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:271,1
    - Dst: ccm_aes256_decrypt_message
      Src: /src/nettle/testsuite/ccm-test.c:274,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/ccm-test.c:278,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/ccm-test.c:279,1
    - Dst: test_compare_results
      Src: /src/nettle/testsuite/ccm-test.c:281,1
    - Dst: free
      Src: /src/nettle/testsuite/ccm-test.c:286,1
    - Dst: free
      Src: /src/nettle/testsuite/ccm-test.c:287,1
    - Dst: free
      Src: /src/nettle/testsuite/ccm-test.c:288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 106
    argCount: 7
    argNames:
    - cipher
    - key
    - nonce
    - authdata
    - repeat
    - cleartext
    - ciphertext
    argTypes:
    - struct nettle_cipher*
    - struct tstring*
    - struct tstring*
    - struct tstring*
    - int
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 289
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 289
    functionName: test_cipher_ccm
    functionSourceFile: /src/nettle/testsuite/ccm-test.c
    functionUses: 0
    functionsReached:
    - ccm_encrypt
    - ccm_aes256_set_nonce
    - ccm_decrypt_message
    - xalloc
    - ccm_aes128_encrypt_message
    - ccm_aes256_digest
    - ccm_aes128_update
    - ccm_aes256_encrypt_message
    - free
    - struct nettle_cipher*::set_encrypt_key
    - ccm_encrypt_message
    - ccm_aes256_update
    - ccm_aes128_set_key
    - FAIL
    - memset
    - ccm_aes128_decrypt
    - ASSERT
    - ccm_aes128_digest
    - ccm_aes256_set_key
    - ccm_update
    - ccm_digest
    - test_compare_results
    - ccm_aes256_encrypt
    - ccm_set_nonce
    - ccm_aes256_decrypt
    - ccm_aes128_encrypt
    - ccm_aes128_set_nonce
    - ccm_aes256_decrypt_message
    - ccm_decrypt
    - fprintf
    - ccm_aes128_decrypt_message
    linkageType: ''
    returnType: void
    signature: "void test_cipher_ccm(const struct nettle_cipher *cipher,\n\t\tconst
      struct tstring *key,\n\t\tconst struct tstring *nonce,\n\t\tconst struct tstring
      *authdata,\n\t\tint repeat,\n\t\tconst struct tstring *cleartext,\n\t\tconst
      struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tstring_alloc
      Src: /src/nettle/testsuite/ccm-test.c:297,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:308,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:309,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:310,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:312,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:313,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:320,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:322,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:323,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:324,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:325,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:332,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:333,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:334,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:335,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:337,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:339,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:348,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:349,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:350,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:352,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:354,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:363,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:364,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:366,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:367,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:368,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:374,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:375,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:377,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:379,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:387,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:389,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:390,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:396,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:398,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:399,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:401,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:407,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:408,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:409,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:411,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:412,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:418,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:419,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:420,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:421,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:422,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:423,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:429,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:430,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:431,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:432,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:434,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:440,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:441,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:442,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:444,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:445,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:452,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:453,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:454,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:455,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:456,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:462,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:463,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:464,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:465,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:466,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:467,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:474,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:475,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:477,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:478,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:485,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:486,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:487,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:488,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:489,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:495,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:496,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:497,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:498,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:499,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:500,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:506,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:507,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:510,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:511,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:517,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:518,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:519,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:521,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:522,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:528,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:529,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:530,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:531,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:532,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:533,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:540,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:541,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:542,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:543,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:544,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:550,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:551,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:552,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:553,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:554,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:555,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:561,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:562,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:563,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:564,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:565,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:566,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:572,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:573,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:574,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:575,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:576,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:577,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:583,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:584,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:585,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:586,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:587,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:588,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:594,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:595,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:596,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:597,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:598,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:599,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:605,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:606,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:607,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:608,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:609,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:610,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:616,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:618,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:619,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:620,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:621,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:629,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:630,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:631,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:632,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:633,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:634,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:639,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:640,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:642,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:643,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:644,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:649,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:650,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:651,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:652,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:653,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:654,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:661,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:662,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:663,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:664,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:665,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:666,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:672,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:673,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:674,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:675,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:677,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:682,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:683,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:684,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:685,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:686,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:687,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:693,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:696,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:697,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:698,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:704,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:705,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:706,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:708,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:709,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:715,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:716,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:717,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:719,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:720,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:726,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:727,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:728,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:729,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:730,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:738,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:751,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:753,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:754,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:755,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:756,1
    - Dst: test_cipher_ccm
      Src: /src/nettle/testsuite/ccm-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:762,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:764,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:765,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/ccm-test.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 768
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ccm-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_cipher_ccm
    - tstring_alloc
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: blowfish_bcrypt_verify
      Src: /src/nettle/testsuite/bcrypt-test.c:8,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/bcrypt-test.c:11,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/bcrypt-test.c:12,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/bcrypt-test.c:13,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/bcrypt-test.c:14,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/bcrypt-test.c:15,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/bcrypt-test.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - succeed
    - key
    - hash
    argTypes:
    - int
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 18
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 18
    functionName: test_bcrypt
    functionSourceFile: /src/nettle/testsuite/bcrypt-test.c
    functionUses: 0
    functionsReached:
    - blowfish_bcrypt_verify
    - fprintf
    - FAIL
    - tstring_print_hex
    linkageType: ''
    returnType: void
    signature: "void test_bcrypt(int succeed, const struct tstring *key,\n\t    const
      struct tstring *hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:25,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:25,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:25,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:26,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:26,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:26,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:27,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:27,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:27,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:28,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:28,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:28,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:29,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:29,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:29,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:30,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:30,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:30,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:31,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:31,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:31,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:32,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:32,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:32,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:33,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:33,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:33,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:34,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:34,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:34,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:35,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:35,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:35,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:36,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:36,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:36,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:37,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:37,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:37,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:39,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:39,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:39,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:40,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:40,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:40,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:41,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:41,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:41,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:42,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:43,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:43,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:43,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:45,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:45,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:46,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:47,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:47,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:48,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:49,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:49,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:50,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:51,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:51,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:52,1
    - Dst: test_bcrypt
      Src: /src/nettle/testsuite/bcrypt-test.c:53,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:53,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/bcrypt-test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 54
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/bcrypt-test.c
    functionUses: 1
    functionsReached:
    - test_bcrypt
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sm3-test.c:10,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sm3-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm3-test.c:12,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sm3-test.c:15,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sm3-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sm3-test.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sm3-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:14,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:17,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/des-test.c:19,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:21,1
    - Dst: des_check_parity
      Src: /src/nettle/testsuite/des-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:23,1
    - Dst: des_set_key
      Src: /src/nettle/testsuite/des-test.c:23,1
    - Dst: des_encrypt
      Src: /src/nettle/testsuite/des-test.c:25,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/des-test.c:27,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:29,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/des-test.c:30,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:31,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/des-test.c:32,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:33,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/des-test.c:34,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:35,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/des-test.c:36,1
    - Dst: des_decrypt
      Src: /src/nettle/testsuite/des-test.c:39,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/des-test.c:41,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:43,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/des-test.c:44,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:45,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/des-test.c:46,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:47,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/des-test.c:48,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/des-test.c:49,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/des-test.c:50,1
    - Dst: free
      Src: /src/nettle/testsuite/des-test.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 4
    argNames:
    - key
    - expected_parity
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - int
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 54
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 54
    functionName: test_des
    functionSourceFile: /src/nettle/testsuite/des-test.c
    functionUses: 0
    functionsReached:
    - tstring_print_hex
    - print_hex
    - free
    - des_set_key
    - des_check_parity
    - xalloc
    - FAIL
    - MEMEQ
    - fprintf
    - des_encrypt
    - ASSERT
    - des_decrypt
    linkageType: ''
    returnType: void
    signature: "void test_des(const struct tstring *key, int expected_parity,\n\t
      const struct tstring *cleartext,\n\t const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:61,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:62,1
    - Dst: des_set_key
      Src: /src/nettle/testsuite/des-test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: test_weak
    functionSourceFile: /src/nettle/testsuite/des-test.c
    functionUses: 0
    functionsReached:
    - des_set_key
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_weak(const struct tstring *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:69,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:69,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:71,1
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:75,1
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:79,1
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:83,1
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:85,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/des-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:87,1
    - Dst: test_des
      Src: /src/nettle/testsuite/des-test.c:90,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:90,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/des-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:92,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:96,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/des-test.c:97,1
    - Dst: des_check_parity
      Src: /src/nettle/testsuite/des-test.c:97,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:101,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:102,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:102,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:103,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:103,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:104,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:107,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:107,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:110,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:111,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:113,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:113,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:114,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:116,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:117,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:119,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:119,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:120,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:122,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:123,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:123,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:125,1
    - Dst: test_weak
      Src: /src/nettle/testsuite/des-test.c:126,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/des-test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 127
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/des-test.c
    functionUses: 1
    functionsReached:
    - test_weak
    - des_check_parity
    - SDATA
    - SHEX
    - test_des
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base16_decode_init
      Src: /src/nettle/testsuite/ed448-test.c:48,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:49,1
    - Dst: base16_decode_update
      Src: /src/nettle/testsuite/ed448-test.c:49,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:50,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:51,1
    - Dst: base16_decode_final
      Src: /src/nettle/testsuite/ed448-test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - length
    - dst
    - src
    argTypes:
    - size_t
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: decode_hex
    functionSourceFile: /src/nettle/testsuite/ed448-test.c
    functionUses: 1
    functionsReached:
    - base16_decode_init
    - base16_decode_final
    - ASSERT
    - base16_decode_update
    linkageType: ''
    returnType: void
    signature: void decode_hex (size_t length, uint8_t *dst, const char *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed448-test.c:75,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed448-test.c:77,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:78,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed448-test.c:80,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed448-test.c:81,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:82,1
    - Dst: strchr
      Src: /src/nettle/testsuite/ed448-test.c:84,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:85,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:86,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed448-test.c:89,1
    - Dst: xalloc
      Src: /src/nettle/testsuite/ed448-test.c:91,1
    - Dst: decode_hex
      Src: /src/nettle/testsuite/ed448-test.c:94,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/ed448-test.c:96,1
    - Dst: ed448_shake256_public_key
      Src: /src/nettle/testsuite/ed448-test.c:97,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ed448-test.c:98,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:100,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ed448-test.c:100,1
    - Dst: ed448_shake256_sign
      Src: /src/nettle/testsuite/ed448-test.c:102,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/ed448-test.c:103,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:105,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/ed448-test.c:105,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:107,1
    - Dst: ed448_shake256_verify
      Src: /src/nettle/testsuite/ed448-test.c:107,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:110,1
    - Dst: ed448_shake256_verify
      Src: /src/nettle/testsuite/ed448-test.c:110,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/ed448-test.c:112,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:114,1
    - Dst: ed448_shake256_verify
      Src: /src/nettle/testsuite/ed448-test.c:114,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:116,1
    - Dst: ed448_shake256_verify
      Src: /src/nettle/testsuite/ed448-test.c:116,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/ed448-test.c:121,1
    - Dst: ed448_shake256_verify
      Src: /src/nettle/testsuite/ed448-test.c:121,1
    - Dst: free
      Src: /src/nettle/testsuite/ed448-test.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 124
    functionName: test_one
    functionSourceFile: /src/nettle/testsuite/ed448-test.c
    functionUses: 5
    functionsReached:
    - ed448_shake256_public_key
    - ed448_shake256_verify
    - free
    - strchr
    - xalloc
    - mark_bytes_defined
    - mark_bytes_undefined
    - decode_hex
    - MEMEQ
    - memcpy
    - ASSERT
    - ed448_shake256_sign
    linkageType: ''
    returnType: void
    signature: void test_one (const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc
      Src: /src/nettle/testsuite/ed448-test.c:135,1
    - Dst: getc
      Src: /src/nettle/testsuite/ed448-test.c:141,1
    - Dst: realloc
      Src: /src/nettle/testsuite/ed448-test.c:153,1
    - Dst: die
      Src: /src/nettle/testsuite/ed448-test.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - lineptr
    - n
    - f
    argTypes:
    - char**
    - size_t*
    - FILE*
    constantsTouched: []
    func_position:
      end: 161
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 161
    functionName: getline
    functionSourceFile: /src/nettle/testsuite/ed448-test.c
    functionUses: 14
    functionsReached:
    - die
    - xalloc
    - getc
    - realloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t getline(char **lineptr, size_t *n, FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SKIP
      Src: /src/nettle/testsuite/ed448-test.c:169,1
    - Dst: fopen
      Src: /src/nettle/testsuite/ed448-test.c:176,1
    - Dst: die
      Src: /src/nettle/testsuite/ed448-test.c:178,1
    - Dst: strerror
      Src: /src/nettle/testsuite/ed448-test.c:179,1
    - Dst: getline
      Src: /src/nettle/testsuite/ed448-test.c:181,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:182,1
    - Dst: free
      Src: /src/nettle/testsuite/ed448-test.c:184,1
    - Dst: fclose
      Src: /src/nettle/testsuite/ed448-test.c:185,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:191,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:198,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:205,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:212,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:219,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:226,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:233,1
    - Dst: test_one
      Src: /src/nettle/testsuite/ed448-test.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 251
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/ed448-test.c
    functionUses: 1
    functionsReached:
    - fopen
    - die
    - fclose
    - free
    - SKIP
    - test_one
    - getline
    - strerror
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:11,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:13,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:16,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:17,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:18,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:19,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:22,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:28,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:31,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:38,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:44,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:47,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:48,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:53,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:54,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:57,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:58,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:63,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:65,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:68,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:69,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:70,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:71,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:73,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:74,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:76,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:78,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:79,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:80,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:81,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:83,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:84,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:85,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:86,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:88,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:89,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:90,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:91,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:93,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:94,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:95,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:96,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:98,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:99,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:101,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:103,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:104,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:105,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:106,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:111,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:112,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:113,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:115,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:116,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:118,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:121,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:122,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:123,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:125,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:126,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:128,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:130,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:131,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:132,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:133,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:135,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:136,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:137,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:138,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:140,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:141,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:142,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:143,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:146,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:147,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:149,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:151,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:152,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:153,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:154,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:157,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:159,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:162,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:164,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:166,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:167,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:169,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:171,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:172,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:173,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:174,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:176,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:177,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:178,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:179,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:185,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:186,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:187,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:190,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:191,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:193,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:196,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:197,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:198,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:202,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:205,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:206,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:208,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:212,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:215,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:216,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:218,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:221,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:222,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:227,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:228,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:231,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:232,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:239,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:243,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:244,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:247,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:250,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:251,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:252,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:253,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:259,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:263,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:267,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:269,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:273,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:277,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:278,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:279,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:282,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:291,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:292,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:296,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:305,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:309,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:313,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:314,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:315,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:316,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:319,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:320,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:321,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:322,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:325,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:326,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:327,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:328,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:331,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:332,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:333,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:334,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:337,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:338,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:339,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:340,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:343,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:344,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:345,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:346,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:349,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:350,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:351,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:352,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:355,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:356,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:357,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:358,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:362,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:363,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:365,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:366,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:369,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:370,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:371,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:372,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:375,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:376,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:378,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:382,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:385,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:386,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:388,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:392,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:395,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:396,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:397,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:398,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:400,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:401,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:410,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:411,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:414,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:415,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:424,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:428,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:433,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:434,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:436,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:437,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:441,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:442,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:443,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:444,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:448,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:449,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:451,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:455,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:459,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:460,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:462,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:466,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:473,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:474,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:476,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:477,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:481,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:482,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:484,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:486,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:491,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:492,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:494,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:498,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:508,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:509,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:512,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:516,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:520,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:521,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:523,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:524,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:527,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:528,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:533,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:534,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:539,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:540,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:545,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:546,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:550,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:551,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:552,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:553,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:556,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:557,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:558,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:559,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:562,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:563,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:564,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:565,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:568,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:569,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:570,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:571,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:574,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:575,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:576,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:577,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:580,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:581,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:582,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:583,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:586,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:587,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:588,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:589,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:592,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:593,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:594,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:595,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:599,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:600,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:602,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:603,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:607,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:608,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:609,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:610,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:614,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:615,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:617,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:621,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:625,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:626,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:628,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:632,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:636,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:637,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:638,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:639,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:641,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:642,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:651,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:652,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:656,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:657,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:666,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:670,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:676,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:677,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:680,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:681,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:686,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:687,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:688,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:689,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:694,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:695,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:698,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:702,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:707,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:708,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:711,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:715,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:720,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:721,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:723,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:724,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:729,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:730,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:731,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:732,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:737,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:738,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:740,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:744,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:749,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:750,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:752,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:756,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:761,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:762,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:763,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:764,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:766,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:767,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:776,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:777,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:782,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:783,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:792,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:796,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:802,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:803,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:804,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:805,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:810,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:811,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:812,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:813,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:818,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:819,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:820,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:821,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:826,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:827,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:828,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:829,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:834,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:835,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:836,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:837,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:842,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:843,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:844,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:845,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:850,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:851,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:852,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:853,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:858,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:859,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:860,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:861,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:868,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:869,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:873,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:874,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:880,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:881,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:885,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:886,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:892,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:893,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:897,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:901,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:907,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:908,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:912,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:916,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:921,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:922,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:924,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:925,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:928,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:929,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:931,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:932,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:936,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:937,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:939,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:940,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:945,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:946,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:948,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:949,1
    - Dst: test_mac
      Src: /src/nettle/testsuite/hmac-test.c:952,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:953,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/hmac-test.c:954,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/hmac-test.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 957
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/hmac-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_mac
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tstring_hex
      Src: /src/nettle/testsuite/serpent-test.c:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 4
    functionDepth: 4
    functionLinenumber: 4
    functionLinenumberEnd: 21
    functionName: tstring_hex_reverse
    functionSourceFile: /src/nettle/testsuite/serpent-test.c
    functionUses: 0
    functionsReached:
    - tstring_hex
    linkageType: ''
    returnType: struct tstring
    signature: 'struct tstring *

      tstring_hex_reverse (const char *hex)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/serpent-test.c:34,1
    - Dst: serpent_set_key
      Src: /src/nettle/testsuite/serpent-test.c:37,1
    - Dst: serpent_encrypt
      Src: /src/nettle/testsuite/serpent-test.c:38,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/serpent-test.c:40,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:42,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/serpent-test.c:43,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:44,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/serpent-test.c:45,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:46,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/serpent-test.c:47,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:48,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/serpent-test.c:49,1
    - Dst: serpent_set_key
      Src: /src/nettle/testsuite/serpent-test.c:51,1
    - Dst: serpent_decrypt
      Src: /src/nettle/testsuite/serpent-test.c:52,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/serpent-test.c:54,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:56,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/serpent-test.c:57,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:58,1
    - Dst: print_hex
      Src: /src/nettle/testsuite/serpent-test.c:59,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:60,1
    - Dst: tstring_print_hex
      Src: /src/nettle/testsuite/serpent-test.c:61,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/serpent-test.c:62,1
    - Dst: FAIL
      Src: /src/nettle/testsuite/serpent-test.c:63,1
    - Dst: free
      Src: /src/nettle/testsuite/serpent-test.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - key
    - cleartext
    - ciphertext
    argTypes:
    - struct tstring*
    - struct tstring*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 67
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 67
    functionName: test_serpent
    functionSourceFile: /src/nettle/testsuite/serpent-test.c
    functionUses: 0
    functionsReached:
    - serpent_set_key
    - serpent_encrypt
    - tstring_print_hex
    - serpent_decrypt
    - print_hex
    - free
    - FAIL
    - MEMEQ
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_serpent(const struct tstring *key,\n\t     const struct
      tstring *cleartext,\n\t     const struct tstring *ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:73,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:74,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:76,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:77,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:78,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:79,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:80,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:84,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:85,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:89,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:90,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:100,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:101,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:102,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:103,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:106,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:107,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:108,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:109,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:114,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:115,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:117,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:118,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:121,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:122,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:124,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:125,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:130,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:131,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:133,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:134,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:137,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:138,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:140,1
    - Dst: RHEX
      Src: /src/nettle/testsuite/serpent-test.c:141,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:148,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:149,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:151,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:154,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:155,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:156,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:157,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:161,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:162,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:163,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:164,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:167,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:168,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:169,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:170,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:174,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:175,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:177,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:178,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:181,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:182,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:184,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:185,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:189,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:190,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:192,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:193,1
    - Dst: test_serpent
      Src: /src/nettle/testsuite/serpent-test.c:198,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:198,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:199,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:200,1
    - Dst: test_serpent
      Src: /src/nettle/testsuite/serpent-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:202,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:204,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:205,1
    - Dst: test_serpent
      Src: /src/nettle/testsuite/serpent-test.c:207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:207,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:209,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:210,1
    - Dst: test_serpent
      Src: /src/nettle/testsuite/serpent-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:212,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:214,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:215,1
    - Dst: test_serpent
      Src: /src/nettle/testsuite/serpent-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:217,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:219,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:220,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:223,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:224,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:225,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:226,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:228,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:229,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:230,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:232,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:235,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:236,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:237,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:240,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:244,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:245,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:246,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:250,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:255,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:256,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:257,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:261,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:266,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:267,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:268,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:273,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:279,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:280,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:281,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:287,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:294,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:295,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:296,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:303,1
    - Dst: test_cipher
      Src: /src/nettle/testsuite/serpent-test.c:311,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:312,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:313,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/serpent-test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 329
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/serpent-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - RHEX
    - test_cipher
    - test_serpent
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:18,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:19,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:19,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:21,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:23,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:23,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:25,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:27,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:27,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:28,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:28,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:29,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:34,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:35,1
    - Dst: sexp_transport_format
      Src: /src/nettle/testsuite/sexp-format-test.c:35,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:37,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:39,1
    - Dst: sexp_transport_format
      Src: /src/nettle/testsuite/sexp-format-test.c:39,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:41,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:43,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:43,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:44,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:44,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:45,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:50,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:51,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:51,1
    - Dst: LLENGTH
      Src: /src/nettle/testsuite/sexp-format-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:55,1
    - Dst: LLENGTH
      Src: /src/nettle/testsuite/sexp-format-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:56,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:56,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:57,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:63,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:64,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:64,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:66,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:68,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:68,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:69,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:69,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:70,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:77,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:77,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:79,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:81,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:81,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:82,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:89,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:90,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:90,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:92,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:94,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:94,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:96,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:98,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:98,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:99,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:99,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:100,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:105,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:106,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:106,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:108,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:110,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:110,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:112,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:114,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:114,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:115,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:115,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:116,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:123,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:124,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:124,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:125,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:127,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:127,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:128,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:130,1
    - Dst: strlen
      Src: /src/nettle/testsuite/sexp-format-test.c:130,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:131,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:131,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:132,1
    - Dst: mpz_init_set_si
      Src: /src/nettle/testsuite/sexp-format-test.c:144,1
    - Dst: nettle_mpz_init_set_str_256_u
      Src: /src/nettle/testsuite/sexp-format-test.c:145,1
    - Dst: US
      Src: /src/nettle/testsuite/sexp-format-test.c:145,1
    - Dst: nettle_mpz_init_set_str_256_u
      Src: /src/nettle/testsuite/sexp-format-test.c:146,1
    - Dst: US
      Src: /src/nettle/testsuite/sexp-format-test.c:146,1
    - Dst: nettle_buffer_init
      Src: /src/nettle/testsuite/sexp-format-test.c:147,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:149,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:149,1
    - Dst: LLENGTH
      Src: /src/nettle/testsuite/sexp-format-test.c:151,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:153,1
    - Dst: sexp_format
      Src: /src/nettle/testsuite/sexp-format-test.c:153,1
    - Dst: LLENGTH
      Src: /src/nettle/testsuite/sexp-format-test.c:155,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:157,1
    - Dst: LLENGTH
      Src: /src/nettle/testsuite/sexp-format-test.c:157,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp-format-test.c:158,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/sexp-format-test.c:158,1
    - Dst: nettle_buffer_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:160,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:161,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:162,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/sexp-format-test.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 10
    functionDepth: 5
    functionLinenumber: 10
    functionLinenumberEnd: 166
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sexp-format-test.c
    functionUses: 1
    functionsReached:
    - sexp_transport_format
    - nettle_buffer_init
    - strlen
    - nettle_buffer_clear
    - LLENGTH
    - mpz_init_set_si
    - nettle_mpz_init_set_str_256_u
    - US
    - MEMEQ
    - mpz_clear
    - sexp_format
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:38,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:38,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:40,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:41,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:42,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:44,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:45,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:46,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:48,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:49,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:50,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:53,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:54,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:55,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:58,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:58,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:60,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:61,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:62,1
    - Dst: hmac_sha1_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:64,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:64,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:66,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:67,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:68,1
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:73,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:73,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:75,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:77,1
    - Dst: hmac_sha256_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:79,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:79,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:81,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:82,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:83,1
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:94,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:94,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:95,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:97,1
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:99,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:99,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:100,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:101,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:102,1
    - Dst: hmac_sha512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:104,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:104,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:105,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:107,1
    - Dst: PBKDF2_HMAC_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:111,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:111,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:111,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:112,1
    - Dst: PBKDF2_HMAC_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:114,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:114,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:114,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:115,1
    - Dst: PBKDF2_HMAC_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:117,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:117,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:117,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:118,1
    - Dst: PBKDF2_HMAC_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:120,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:120,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:121,1
    - Dst: hmac_gosthash94cp_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:125,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:125,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:126,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:128,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:130,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:132,1
    - Dst: hmac_gosthash94cp_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:134,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:134,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:135,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:136,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:137,1
    - Dst: hmac_gosthash94cp_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:139,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:139,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:140,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:141,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:142,1
    - Dst: PBKDF2_HMAC_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:144,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:144,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:144,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:145,1
    - Dst: hmac_streebog512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:148,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:148,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:149,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:150,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:151,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:152,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:153,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:154,1
    - Dst: hmac_streebog512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:156,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:156,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:157,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:158,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:159,1
    - Dst: hmac_streebog512_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:162,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:162,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:163,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:164,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:165,1
    - Dst: hmac_streebog256_set_key
      Src: /src/nettle/testsuite/pbkdf2-test.c:168,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:168,1
    - Dst: PBKDF2_TEST
      Src: /src/nettle/testsuite/pbkdf2-test.c:169,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/pbkdf2-test.c:170,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/pbkdf2-test.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 172
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/pbkdf2-test.c
    functionUses: 1
    functionsReached:
    - hmac_sha512_set_key
    - PBKDF2_HMAC_TEST
    - LDATA
    - hmac_sha256_set_key
    - hmac_gosthash94cp_set_key
    - hmac_streebog512_set_key
    - SHEX
    - hmac_streebog256_set_key
    - hmac_sha1_set_key
    - PBKDF2_TEST
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:8,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:8,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:9,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:10,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:10,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:11,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:12,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:12,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:13,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:14,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:14,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:15,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:16,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:16,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:17,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:18,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:19,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:21,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:22,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:23,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:25,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:28,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:28,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:29,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:30,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:30,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:31,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:32,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:32,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:33,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/md4-test.c:34,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/md4-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/md4-test.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 36
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/md4-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knuth_lfib_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:36,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:38,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:39,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:40,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:42,1
    - Dst: mpz_set_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:44,1
    - Dst: mpz_add_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:46,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:48,1
    - Dst: sign_tr_func
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:48,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:55,1
    - Dst: mpz_cmp_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:58,1
    - Dst: sign_tr_func
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:58,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:65,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:66,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:67,1
    - Dst: mpz_out_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:68,1
    - Dst: fprintf
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:72,1
    - Dst: mpz_cmp
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:72,1
    - Dst: memset
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:75,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:76,1
    - Dst: verify_func
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:76,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:79,1
    - Dst: verify_func
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:79,1
    - Dst: mpz_combit
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:82,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:83,1
    - Dst: verify_func
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:83,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 11
    argNames:
    - pub
    - key
    - sign_tr_func
    - verify_func
    - ctx
    - hash
    - salt_length
    - salt
    - length
    - message
    - expected
    argTypes:
    - struct rsa_public_key*
    - struct rsa_private_key*
    - test_pss_sign_tr_func
    - test_pss_verify_func
    - void*
    - struct nettle_hash*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - mpz_t
    constantsTouched: []
    func_position:
      end: 86
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 86
    functionName: test_rsa_pss_sign_tr
    functionSourceFile: /src/nettle/testsuite/rsa-pss-sign-tr-test.c
    functionUses: 0
    functionsReached:
    - verify_func
    - sign_tr_func
    - mpz_sub_ui
    - knuth_lfib_init
    - mpz_add_ui
    - mpz_cmp
    - mpz_combit
    - mpz_out_str
    - struct nettle_hash*::digest
    - memset
    - mpz_init
    - struct nettle_hash*::update
    - struct nettle_hash*::init
    - mpz_clear
    - fprintf
    - mpz_cmp_ui
    - ASSERT
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: "void test_rsa_pss_sign_tr(struct rsa_public_key *pub,\n\t\t     struct
      rsa_private_key *key,\n\t\t     test_pss_sign_tr_func sign_tr_func,\n\t\t     test_pss_verify_func
      verify_func,\n\t\t     void *ctx, const struct nettle_hash *hash,\n\t\t     size_t
      salt_length, const uint8_t *salt,\n\t\t     size_t length, const uint8_t *message,\n\t\t
      \    mpz_t expected)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:104,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:106,1
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:107,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:109,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:110,1
    - Dst: test_rsa_set_key_1
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:112,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:115,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:122,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:126,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:126,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:128,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:135,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:139,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:139,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:177,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:184,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:186,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:186,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:188,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:193,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:198,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:203,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:208,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:213,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:213,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:214,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:217,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:223,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:227,1
    - Dst: LDATA
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:227,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:230,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:238,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:240,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:240,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:242,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:247,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:252,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:261,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:262,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:263,1
    - Dst: mpz_sub_ui
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:266,1
    - Dst: mpz_fdiv_r
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:267,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:268,1
    - Dst: mpz_invert
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:271,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:273,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:273,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:274,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:276,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:283,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:284,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:290,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:297,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:304,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:310,1
    - Dst: test_rsa_pss_sign_tr
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:317,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:331,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:337,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:339,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:339,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:341,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:344,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:351,1
    - Dst: rsa_pss_sha384_verify_digest
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:351,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:353,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:354,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-pss-sign-tr-test.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 356
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-pss-sign-tr-test.c
    functionUses: 1
    functionsReached:
    - test_rsa_pss_sign_tr
    - mpz_invert
    - rsa_public_key_init
    - rsa_private_key_clear
    - rsa_private_key_prepare
    - LDATA
    - rsa_public_key_prepare
    - mpz_sub_ui
    - rsa_public_key_clear
    - rsa_private_key_init
    - mpz_fdiv_r
    - SHEX
    - mpz_init
    - mpz_clear
    - rsa_pss_sha384_verify_digest
    - test_rsa_set_key_1
    - mpz_set_str
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:11,1
    - Dst: mark_bytes_undefined
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:12,1
    - Dst: _pkcs1_sec_decrypt
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:14,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:16,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:17,1
    - Dst: mark_bytes_defined
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - msg_len
    - msg
    - pad_len
    - pad
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 21
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 21
    functionName: pkcs1_decrypt_for_test
    functionSourceFile: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c
    functionUses: 0
    functionsReached:
    - mark_bytes_defined
    - mark_bytes_undefined
    - _pkcs1_sec_decrypt
    linkageType: ''
    returnType: int
    signature: "int pkcs1_decrypt_for_test(size_t msg_len, uint8_t *msg,\n                       size_t
      pad_len, uint8_t *pad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:38,1
    - Dst: memset
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:40,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:41,1
    - Dst: pkcs1_decrypt_for_test
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:41,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:42,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:42,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:45,1
    - Dst: memset
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:47,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:48,1
    - Dst: pkcs1_decrypt_for_test
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:48,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:49,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:49,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:52,1
    - Dst: memset
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:54,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:55,1
    - Dst: pkcs1_decrypt_for_test
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:55,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:56,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:56,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:59,1
    - Dst: memset
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:61,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:62,1
    - Dst: pkcs1_decrypt_for_test
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:62,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:63,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:63,1
    - Dst: memcpy
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:66,1
    - Dst: memset
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:68,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:69,1
    - Dst: pkcs1_decrypt_for_test
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:69,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:70,1
    - Dst: memcmp
      Src: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 71
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/pkcs1-sec-decrypt-test.c
    functionUses: 1
    functionsReached:
    - memcmp
    - memset
    - memcpy
    - pkcs1_decrypt_for_test
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:6,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:6,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:7,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:12,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:13,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:17,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:23,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:24,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:27,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:33,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:34,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:36,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:42,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:43,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:52,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:56,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:57,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:65,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:71,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:72,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:76,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:76,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:77,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:81,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:81,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:82,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:86,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:86,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:87,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:91,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:91,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:92,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:96,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:97,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:99,1
    - Dst: test_hash
      Src: /src/nettle/testsuite/sha512-test.c:103,1
    - Dst: SDATA
      Src: /src/nettle/testsuite/sha512-test.c:104,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sha512-test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 111
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sha512-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_hash
    - SDATA
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:21,1
    - Dst: ecc_point_init
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:23,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:24,1
    - Dst: mpz_init_set_str
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:25,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:26,1
    - Dst: ecc_point_set
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:26,1
    - Dst: ecc_scalar_init
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:28,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:29,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:30,1
    - Dst: ecc_scalar_set
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:30,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:32,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:33,1
    - Dst: gostdsa_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:35,1
    - Dst: ecc_scalar_clear
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:39,1
    - Dst: ecc_point_clear
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:40,1
    - Dst: struct nettle_hash*::init
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:44,1
    - Dst: struct nettle_hash*::update
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:45,1
    - Dst: struct nettle_hash*::digest
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:46,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:48,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:49,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:49,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:53,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:54,1
    - Dst: MEMEQ
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 8
    argNames:
    - ecc
    - priv
    - x
    - y
    - ukm
    - hash
    - hash_ctx
    - res
    argTypes:
    - struct ecc_curve*
    - char*
    - char*
    - char*
    - struct tstring*
    - struct nettle_hash*
    - void*
    - struct tstring*
    constantsTouched: []
    func_position:
      end: 56
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 56
    functionName: test_vko
    functionSourceFile: /src/nettle/testsuite/gostdsa-vko-test.c
    functionUses: 0
    functionsReached:
    - ecc_scalar_init
    - ecc_scalar_set
    - ecc_point_clear
    - struct nettle_hash*::update
    - ecc_point_init
    - ecc_point_set
    - ecc_scalar_clear
    - struct nettle_hash*::digest
    - mpz_clear
    - mpz_init_set_str
    - struct nettle_hash*::init
    - gostdsa_vko
    - mpz_set_str
    - MEMEQ
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_vko (const struct ecc_curve *ecc,\n\t  const char *priv,\n\t
      \ const char *x,\n\t  const char *y,\n\t  const struct tstring *ukm,\n\t  const
      struct nettle_hash *hash,\n\t  void * hash_ctx,\n\t  const struct tstring *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:71,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:71,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:75,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:78,1
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:83,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:83,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:87,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:90,1
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:96,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:96,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:100,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:103,1
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:106,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:106,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:110,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:113,1
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:116,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:116,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:120,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:123,1
    - Dst: test_vko
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:127,1
    - Dst: nettle_get_gost_gc512a
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:127,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:131,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/gostdsa-vko-test.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 136
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/gostdsa-vko-test.c
    functionUses: 1
    functionsReached:
    - SHEX
    - test_vko
    - nettle_get_gost_gc512a
    linkageType: ''
    returnType: void
    signature: void test_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/nettle/testsuite/rsa-test.c:11,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/rsa-test.c:13,1
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/rsa-test.c:14,1
    - Dst: test_rsa_set_key_1
      Src: /src/nettle/testsuite/rsa-test.c:16,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:19,1
    - Dst: test_rsa_md5
      Src: /src/nettle/testsuite/rsa-test.c:27,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:30,1
    - Dst: test_rsa_sha1
      Src: /src/nettle/testsuite/rsa-test.c:38,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:40,1
    - Dst: test_rsa_sha256
      Src: /src/nettle/testsuite/rsa-test.c:48,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:50,1
    - Dst: test_rsa_sha512
      Src: /src/nettle/testsuite/rsa-test.c:58,1
    - Dst: mpz_clrbit
      Src: /src/nettle/testsuite/rsa-test.c:61,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-test.c:62,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-test.c:62,1
    - Dst: mpz_clrbit
      Src: /src/nettle/testsuite/rsa-test.c:64,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-test.c:65,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-test.c:65,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:103,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:110,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-test.c:112,1
    - Dst: rsa_public_key_prepare
      Src: /src/nettle/testsuite/rsa-test.c:112,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:114,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:119,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:124,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:129,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:134,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-test.c:139,1
    - Dst: rsa_private_key_prepare
      Src: /src/nettle/testsuite/rsa-test.c:139,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/rsa-test.c:140,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:143,1
    - Dst: test_rsa_md5
      Src: /src/nettle/testsuite/rsa-test.c:150,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:153,1
    - Dst: test_rsa_sha1
      Src: /src/nettle/testsuite/rsa-test.c:160,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:162,1
    - Dst: test_rsa_sha256
      Src: /src/nettle/testsuite/rsa-test.c:169,1
    - Dst: mpz_set_str
      Src: /src/nettle/testsuite/rsa-test.c:171,1
    - Dst: test_rsa_sha512
      Src: /src/nettle/testsuite/rsa-test.c:178,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/rsa-test.c:180,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/rsa-test.c:181,1
    - Dst: mpz_clear
      Src: /src/nettle/testsuite/rsa-test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 3
    functionDepth: 3
    functionLinenumber: 3
    functionLinenumberEnd: 183
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/rsa-test.c
    functionUses: 1
    functionsReached:
    - rsa_private_key_clear
    - rsa_public_key_init
    - mpz_clrbit
    - rsa_private_key_prepare
    - rsa_public_key_prepare
    - rsa_public_key_clear
    - test_rsa_sha512
    - rsa_private_key_init
    - mpz_init
    - test_rsa_sha256
    - test_rsa_sha1
    - test_rsa_set_key_1
    - mpz_set_str
    - test_rsa_md5
    - mpz_clear
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_public_key_init
      Src: /src/nettle/testsuite/sexp2rsa-test.c:10,1
    - Dst: rsa_private_key_init
      Src: /src/nettle/testsuite/sexp2rsa-test.c:11,1
    - Dst: SHEX
      Src: /src/nettle/testsuite/sexp2rsa-test.c:13,1
    - Dst: ASSERT
      Src: /src/nettle/testsuite/sexp2rsa-test.c:37,1
    - Dst: rsa_keypair_from_sexp
      Src: /src/nettle/testsuite/sexp2rsa-test.c:37,1
    - Dst: test_rsa_key
      Src: /src/nettle/testsuite/sexp2rsa-test.c:40,1
    - Dst: rsa_public_key_clear
      Src: /src/nettle/testsuite/sexp2rsa-test.c:42,1
    - Dst: rsa_private_key_clear
      Src: /src/nettle/testsuite/sexp2rsa-test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 3
    functionDepth: 7
    functionLinenumber: 3
    functionLinenumberEnd: 44
    functionName: test_main
    functionSourceFile: /src/nettle/testsuite/sexp2rsa-test.c
    functionUses: 1
    functionsReached:
    - test_rsa_key
    - rsa_private_key_clear
    - rsa_public_key_init
    - rsa_public_key_clear
    - rsa_private_key_init
    - rsa_keypair_from_sexp
    - SHEX
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:38,1
    - Dst: assert
      Src: /src/libunistring/install-tests/test-api.c:44,1
    - Dst: assert
      Src: /src/libunistring/install-tests/test-api.c:45,1
    - Dst: u8_strcmp
      Src: /src/libunistring/install-tests/test-api.c:45,1
    - Dst: free
      Src: /src/libunistring/install-tests/test-api.c:46,1
    - Dst: u8_normalize
      Src: /src/libunistring/install-tests/test-api.c:58,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:58,1
    - Dst: assert
      Src: /src/libunistring/install-tests/test-api.c:59,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:59,1
    - Dst: u8_cmp
      Src: /src/libunistring/install-tests/test-api.c:59,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:59,1
    - Dst: u8_normalize
      Src: /src/libunistring/install-tests/test-api.c:61,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:61,1
    - Dst: assert
      Src: /src/libunistring/install-tests/test-api.c:62,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:62,1
    - Dst: u8_cmp
      Src: /src/libunistring/install-tests/test-api.c:62,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:62,1
    - Dst: u8_normalize
      Src: /src/libunistring/install-tests/test-api.c:64,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:64,1
    - Dst: assert
      Src: /src/libunistring/install-tests/test-api.c:65,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:65,1
    - Dst: u8_cmp
      Src: /src/libunistring/install-tests/test-api.c:65,1
    - Dst: SIZEOF
      Src: /src/libunistring/install-tests/test-api.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/libunistring/install-tests/test-api.c
    functionUses: 6
    functionsReached:
    - assert
    - free
    - u8_normalize
    - u8_cmp
    - u8_strcmp
    - SIZEOF
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libunistring/install-tests/test-version.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libunistring/install-tests/test-version.c
    functionUses: 6
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10f-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10f-ieee.c
    functionUses: 6
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - struct term_style_user_data*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: get_control_data
    functionSourceFile: /src/gnulib/tests/test-term-style-control-hello.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct term_style_control_data
    signature: 'struct term_style_control_data *

      get_control_data (struct term_style_user_data *user_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:61,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:62,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: restore
    functionSourceFile: /src/gnulib/tests/test-term-style-control-hello.c
    functionUses: 0
    functionsReached:
    - fputs
    - fflush
    linkageType: ''
    returnType: void
    signature: void restore (_GL_UNUSED struct term_style_user_data *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-hello.c:70,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-hello.c:71,1
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-hello.c:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-hello.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: async_restore
    functionSourceFile: /src/gnulib/tests/test-term-style-control-hello.c
    functionUses: 0
    functionsReached:
    - strlen
    - full_write
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE async_restore (_GL_UNUSED struct term_style_user_data
      *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-hello.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-hello.c:82,1
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-hello.c:84,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-hello.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - struct term_style_user_data*
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: async_set_attributes_from_default
    functionSourceFile: /src/gnulib/tests/test-term-style-control-hello.c
    functionUses: 0
    functionsReached:
    - strlen
    - full_write
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE async_set_attributes_from_default (struct term_style_user_data
      *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: activate_term_style_controller
      Src: /src/gnulib/tests/test-term-style-control-hello.c:105,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:109,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:110,1
    - Dst: activate_term_non_default_mode
      Src: /src/gnulib/tests/test-term-style-control-hello.c:113,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:119,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:120,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:122,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:123,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:129,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:130,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:132,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:133,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:136,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:137,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:139,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:140,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:143,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-hello.c:144,1
    - Dst: deactivate_term_non_default_mode
      Src: /src/gnulib/tests/test-term-style-control-hello.c:148,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-hello.c:150,1
    - Dst: deactivate_term_style_controller
      Src: /src/gnulib/tests/test-term-style-control-hello.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-term-style-control-hello.c
    functionUses: 6
    functionsReached:
    - activate_term_style_controller
    - fputs
    - deactivate_term_style_controller
    - deactivate_term_non_default_mode
    - fflush
    - activate_term_non_default_mode
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg1
    - arg2
    - arg3
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: stackoverflow_handler_continuation
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void stackoverflow_handler_continuation (void *arg1, void *arg2, void
      *arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:84,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:87,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:88,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:90,1
    - Dst: sigsegv_leave_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - emergency
    - scp
    argTypes:
    - int
    - stackoverflow_context_t
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: stackoverflow_handler
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - sigsegv_leave_handler
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void stackoverflow_handler (int emergency, stackoverflow_context_t
      scp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:105,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:106,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:109,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:110,1
    - Dst: sigsegv_leave_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - address
    - emergency
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: sigsegv_handler
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - sigsegv_leave_handler
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: int sigsegv_handler (void *address, int emergency)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - p
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: recurse_1
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 1
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: 'int *

      recurse_1 (int n, volatile int *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: recurse
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 0
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: int recurse (volatile int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:142,1
    - Dst: prepare_alternate_stack
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:146,1
    - Dst: stackoverflow_install_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:149,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:152,1
    - Dst: open
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:156,1
    - Dst: mmap_zeromap
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:171,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:172,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:177,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:179,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:180,1
    - Dst: sigsegv_install_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:184,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:185,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:188,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:189,1
    - Dst: setjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:192,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:195,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:195,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:197,1
    - Dst: recurse
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:198,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:199,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:199,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:209,1
    - Dst: check_alternate_stack_no_overflow
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:213,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:215,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 6
    functionsReached:
    - prepare_alternate_stack
    - abort
    - exit
    - mprotect
    - setrlimit
    - setjmp
    - check_alternate_stack_no_overflow
    - open
    - mmap_zeromap
    - sigsegv_install_handler
    - recurse
    - stackoverflow_install_handler
    - sigemptyset
    - sigprocmask
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2f-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2f-ieee.c
    functionUses: 6
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/qemu.h:46,1
    - Dst: close
      Src: /src/gnulib/tests/qemu.h:50,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:54,1
    - Dst: open
      Src: /src/gnulib/tests/qemu.h:60,1
    - Dst: close
      Src: /src/gnulib/tests/qemu.h:64,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:69,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:73,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:74,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:78,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/qemu.h:79,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/qemu.h:83,1
    - Dst: strstr
      Src: /src/gnulib/tests/qemu.h:87,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 98
    functionName: is_running_under_qemu_user
    functionSourceFile: /src/gnulib/tests/qemu.h
    functionUses: 0
    functionsReached:
    - strstr
    - strcasestr
    - open
    - close
    linkageType: ''
    returnType: bool
    signature: bool is_running_under_qemu_user (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-aligned_alloc.c:57,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:61,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:63,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:64,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:66,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:68,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:69,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:71,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:73,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:74,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:76,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:78,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:79,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:81,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:83,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:84,1
    - Dst: aligned_alloc
      Src: /src/gnulib/tests/test-aligned_alloc.c:86,1
    - Dst: ROUNDUP
      Src: /src/gnulib/tests/test-aligned_alloc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned_alloc.c:88,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned_alloc.c:89,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-aligned_alloc.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:95,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:97,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/test-aligned_alloc.c:99,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-aligned_alloc.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 107
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-aligned_alloc.c
    functionUses: 6
    functionsReached:
    - free
    - fputs
    - aligned_alloc
    - ROUNDUP
    - memset
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbstoc32s.c:39,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:48,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:52,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:58,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbstoc32s.c:72,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:101,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:115,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:130,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:146,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbstoc32s.c:146,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbstoc32s.c:146,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:159,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:165,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:165,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:170,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:175,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:184,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:196,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:202,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:208,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:222,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:234,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:240,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:240,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:246,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:251,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:252,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:260,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbstoc32s.c:269,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:278,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:284,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:284,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:289,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-mbstoc32s.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:294,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:295,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbstoc32s.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstoc32s.c:303,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 182
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 316
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 316
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbstoc32s.c
    functionUses: 6
    functionsReached:
    - mbstoc32s
    - setlocale
    - fputs
    - c32tob
    - strcmp
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:37,1
    - Dst: glwthread_recmutex_lock
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-windows-recmutex-type.c
    functionUses: 0
    functionsReached:
    - glwthread_recmutex_lock
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (glwthread_recmutex_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_recmutex_init
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:56,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-recmutex-type.c
    functionUses: 6
    functionsReached:
    - get_effective_type
    - strcmp
    - printf
    - glwthread_recmutex_init
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-windows-recmutex-type.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-recmutex-type.c
    functionUses: 6
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-szprintf-posix.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:82,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:93,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:109,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:109,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-szprintf-posix.h:110,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:120,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:136,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-szprintf-posix.h:137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:155,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-szprintf-posix.h:156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:157,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:158,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-posix.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-posix.h:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-posix.h:181,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 183
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-szprintf-posix.h
    functionUses: 5
    functionsReached:
    - strisnan
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_szprintf) (char *, const char *,
      ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-alignasof.c:70,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-alignasof.c:75,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-alignasof.c:80,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:83,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:84,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:85,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:86,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:88,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:90,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:91,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:93,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:94,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:95,1
    - Dst: CHECK_ALIGNED
      Src: /src/gnulib/tests/test-alignasof.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-alignasof.c
    functionUses: 6
    functionsReached:
    - fputs
    - CHECK_ALIGNED
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypotl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypotl-ieee.c
    functionUses: 6
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acosf
      Src: /src/gnulib/tests/test-acosf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-acosf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-acosf.c
    functionUses: 6
    functionsReached:
    - acosf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd.c:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-getcwd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd.c:67,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-getcwd.c:77,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd.c:77,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd.c:88,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd.c:92,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-getcwd.c:95,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd.c:98,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-getcwd.c:103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 108
    functionName: test_abort_bug
    functionSourceFile: /src/gnulib/tests/test-getcwd.c
    functionUses: 0
    functionsReached:
    - strlen
    - rmdir
    - getcwd
    - free
    - chdir
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_abort_bug (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-getcwd.c:142,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-getcwd.c:156,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-getcwd.c:180,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd.c:180,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd.c:192,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd.c:214,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-getcwd.c:231,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-getcwd.c:246,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd.c:249,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-getcwd.c:251,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 258
    functionName: test_long_name
    functionSourceFile: /src/gnulib/tests/test-getcwd.c
    functionUses: 0
    functionsReached:
    - strlen
    - rmdir
    - chdir
    - getcwd
    - is_running_under_qemu_user
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_long_name (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getcwd.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-get-rusage-as.c:35,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-get-rusage-as.c:37,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-get-rusage-as.c:39,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-get-rusage-as.c:41,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-get-rusage-as.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-get-rusage-as.c:47,1
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-get-rusage-as.c:50,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-get-rusage-as.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-as.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-as.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-as.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-as.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-get-rusage-as.c
    functionUses: 6
    functionsReached:
    - is_running_under_qemu_user
    - get_rusage_as
    - malloc
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/gnulib/tests/test-log.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.c:46,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log.c
    functionUses: 6
    functionsReached:
    - test_function
    - ASSERT
    - log
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:101,1
    - Dst: TYPE_IS_INTEGER
      Src: /src/gnulib/tests/test-intprops.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:102,1
    - Dst: TYPE_IS_INTEGER
      Src: /src/gnulib/tests/test-intprops.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:103,1
    - Dst: TYPE_IS_INTEGER
      Src: /src/gnulib/tests/test-intprops.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:104,1
    - Dst: TYPE_IS_INTEGER
      Src: /src/gnulib/tests/test-intprops.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:105,1
    - Dst: TYPE_IS_INTEGER
      Src: /src/gnulib/tests/test-intprops.c:105,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:110,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:110,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:112,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:112,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:114,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:114,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:116,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:116,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:117,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:117,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:118,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-intprops.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:124,1
    - Dst: INT_PROMOTE
      Src: /src/gnulib/tests/test-intprops.c:124,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:127,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:154,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-intprops.c:154,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:155,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-intprops.c:155,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:156,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-intprops.c:156,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:157,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-intprops.c:157,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:177,1
    - Dst: INT_BITS_STRLEN_BOUND
      Src: /src/gnulib/tests/test-intprops.c:177,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:178,1
    - Dst: INT_BITS_STRLEN_BOUND
      Src: /src/gnulib/tests/test-intprops.c:178,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:217,1
    - Dst: INT_ADD_RANGE_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:217,1
    - Dst: VERIFY
      Src: /src/gnulib/tests/test-intprops.c:218,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:218,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:220,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:221,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:222,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:223,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:224,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:225,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:227,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:228,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:229,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:230,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:231,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:232,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:234,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:235,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:236,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:237,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:238,1
    - Dst: CHECK_UNOP
      Src: /src/gnulib/tests/test-intprops.c:239,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:241,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:242,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:243,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:244,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:245,1
    - Dst: INT_NEGATE_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:246,1
    - Dst: CHECK_SBINOP
      Src: /src/gnulib/tests/test-intprops.c:248,1
    - Dst: INT_NEGATE_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:253,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:255,1
    - Dst: INT_NEGATE_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:258,1
    - Dst: CHECK_BINOP
      Src: /src/gnulib/tests/test-intprops.c:260,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:285,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:286,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:287,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:289,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:290,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:291,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:292,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:293,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:294,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:296,1
    - Dst: CHECK_SUM
      Src: /src/gnulib/tests/test-intprops.c:297,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:298,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:299,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:300,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:301,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:303,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:304,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:306,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:308,1
    - Dst: CHECK_SUM_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:315,1
    - Dst: INT_ADD_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:316,1
    - Dst: INT_ADD_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:316,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:330,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:332,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:333,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:334,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:335,1
    - Dst: CHECK_DIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:336,1
    - Dst: CHECK_SDIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:337,1
    - Dst: CHECK_SDIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:338,1
    - Dst: CHECK_SDIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:339,1
    - Dst: CHECK_SDIFFERENCE
      Src: /src/gnulib/tests/test-intprops.c:340,1
    - Dst: CHECK_SDIFFERENCE_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:341,1
    - Dst: CHECK_SDIFFERENCE_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:342,1
    - Dst: CHECK_SDIFFERENCE_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:343,1
    - Dst: CHECK_SDIFFERENCE_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:344,1
    - Dst: CHECK_SDIFFERENCE_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:348,1
    - Dst: INT_SUBTRACT_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:349,1
    - Dst: INT_SUBTRACT_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:349,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:372,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:373,1
    - Dst: INT_NEGATE_OVERFLOW
      Src: /src/gnulib/tests/test-intprops.c:373,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:374,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:375,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:376,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:377,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:378,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:379,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:380,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:381,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:382,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:383,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:384,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:385,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:386,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:387,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:388,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:389,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:390,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:391,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:392,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:393,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:394,1
    - Dst: CHECK_PRODUCT
      Src: /src/gnulib/tests/test-intprops.c:395,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:400,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:401,1
    - Dst: CHECK_SPRODUCT_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:406,1
    - Dst: CHECK_SPRODUCT_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:407,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:408,1
    - Dst: CHECK_SPRODUCT
      Src: /src/gnulib/tests/test-intprops.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:412,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:414,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:416,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:423,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:425,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:427,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-intprops.c:435,1
    - Dst: INT_MULTIPLY_WRAPV
      Src: /src/gnulib/tests/test-intprops.c:435,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:440,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:441,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:442,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:443,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:444,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:445,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:446,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:447,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:448,1
    - Dst: CHECK_QUOTIENT
      Src: /src/gnulib/tests/test-intprops.c:449,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:453,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:454,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:455,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:456,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:459,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:460,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:461,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:462,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:463,1
    - Dst: CHECK_REMAINDER
      Src: /src/gnulib/tests/test-intprops.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 467
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-intprops.c
    functionUses: 6
    functionsReached:
    - CHECK_QUOTIENT
    - CHECK_SDIFFERENCE
    - CHECK_SUM_WRAPV
    - TYPE_SIGNED
    - CHECK_DIFFERENCE
    - CHECK_SDIFFERENCE_WRAPV
    - INT_MULTIPLY_WRAPV
    - VERIFY
    - CHECK_SPRODUCT_WRAPV
    - CHECK_SUM
    - CHECK_SPRODUCT
    - CHECK_UNOP
    - ASSERT
    - INT_BITS_STRLEN_BOUND
    - CHECK_REMAINDER
    - INT_PROMOTE
    - INT_ADD_WRAPV
    - INT_ADD_RANGE_OVERFLOW
    - INT_ADD_OVERFLOW
    - TYPE_MINIMUM
    - INT_SUBTRACT_WRAPV
    - CHECK_PRODUCT
    - INT_NEGATE_OVERFLOW
    - CHECK_BINOP
    - TYPE_IS_INTEGER
    - CHECK_SBINOP
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof-mt.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtof-mt.c:52,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtof-mt.c:52,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtof-mt.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-c-strtof-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - c_strtof
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtof
      Src: /src/gnulib/tests/test-c-strtof-mt.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtof-mt.c:73,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtof-mt.c:73,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtof-mt.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-c-strtof-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strtof
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-c-strtof-mt.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtof-mt.c:90,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtof-mt.c:90,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtof-mt.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: thread3_func
    functionSourceFile: /src/gnulib/tests/test-c-strtof-mt.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fflush
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread3_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtof-mt.c:104,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtof-mt.c:108,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtof-mt.c:109,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtof-mt.c:110,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-c-strtof-mt.c:115,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-c-strtof-mt.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtof-mt.c
    functionUses: 6
    functionsReached:
    - nanosleep
    - gl_thread_create
    - atoi
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-c-strtof-mt.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtof-mt.c
    functionUses: 6
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pathmax.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: f
    functionSourceFile: /src/gnulib/tests/test-vma-prot.c
    functionUses: 1970
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int f (int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:50,1
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:56,1
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:68,1
    - Dst: munmap
      Src: /src/gnulib/tests/test-vma-prot.c:72,1
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:76,1
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:85,1
    - Dst: get_vma_prot
      Src: /src/gnulib/tests/test-vma-prot.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vma-prot.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vma-prot.c
    functionUses: 6
    functionsReached:
    - ASSERT
    - munmap
    - get_vma_prot
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-snzprintf-posix.h
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:82,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:93,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:109,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:109,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snzprintf-posix.h:110,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:120,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:136,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snzprintf-posix.h:137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:155,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snzprintf-posix.h:156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:157,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:158,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-posix.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-posix.h:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-posix.h:181,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 183
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-snzprintf-posix.h
    functionUses: 7
    functionsReached:
    - strisnan
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_snzprintf) (char *, size_t, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-cbrt-ieee.h:23,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:23,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:27,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:28,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt-ieee.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:29,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-cbrt-ieee.h:29,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:34,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-cbrt-ieee.h:34,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-cbrt-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:38,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:39,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-cbrt-ieee.h
    functionUses: 7
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - CBRT
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-digest.h:26,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-digest.h:31,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:34,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:35,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-digest.h:44,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-digest.h:48,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-digest.h:52,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-digest.h:64,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-digest.h:69,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:71,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:72,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-digest.h:74,1
    - Dst: abort
      Src: /src/gnulib/tests/test-digest.h:88,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-digest.h:91,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:94,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:95,1
    - Dst: fread
      Src: /src/gnulib/tests/test-digest.h:103,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:105,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:107,1
    - Dst: streamfunc
      Src: /src/gnulib/tests/test-digest.h:112,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:115,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:116,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-digest.h:118,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:121,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:122,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:124,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:125,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:126,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:128,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:129,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:130,1
    - Dst: getc
      Src: /src/gnulib/tests/test-digest.h:133,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-digest.h:135,1
    - Dst: exit
      Src: /src/gnulib/tests/test-digest.h:136,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-digest.h:138,1
    - Dst: free
      Src: /src/gnulib/tests/test-digest.h:139,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-digest.h:143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 5
    argNames:
    - streamfunc_name
    - digest_size
    - expected_for_empty_file
    - expected_for_small_file
    - expected_for_large_file
    argTypes:
    - char*
    - size_t
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 144
    functionName: test_digest_on_files
    functionSourceFile: /src/gnulib/tests/test-digest.h
    functionUses: 0
    functionsReached:
    - fopen
    - abort
    - exit
    - fclose
    - fwrite
    - fread
    - fputs
    - free
    - streamfunc
    - unlink
    - memcmp
    - getc
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void test_digest_on_files (int (*streamfunc) (FILE *, void *),\n                      const
      char *streamfunc_name,\n                      size_t digest_size,\n                      const
      void *expected_for_empty_file,\n                      const void *expected_for_small_file,\n
      \                     const void *expected_for_large_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sha384-buffer.c:37,1
    - Dst: sha384_buffer
      Src: /src/gnulib/tests/test-sha384-buffer.c:37,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sha384-buffer.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha384-buffer.c:41,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha384-buffer.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha384-buffer.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha384-buffer.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha384-buffer.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha384-buffer.c
    functionUses: 6
    functionsReached:
    - sha384_buffer
    - printf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-vsnzprintf-gnu.c:37,1
    - Dst: c_vsnzprintf
      Src: /src/gnulib/tests/test-c-vsnzprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-vsnzprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_c_snzprintf
    functionSourceFile: /src/gnulib/tests/test-c-vsnzprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - c_vsnzprintf
    - va_end
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_c_snzprintf (char *str, size_t size, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-vsnzprintf-gnu.c:47,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-vsnzprintf-gnu.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-vsnzprintf-gnu.c
    functionUses: 6
    functionsReached:
    - test_function
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:38,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-fstat.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:39,1
    - Dst: close
      Src: /src/gnulib/tests/test-fstat.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:46,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-fstat.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:47,1
    - Dst: open
      Src: /src/gnulib/tests/test-fstat.c:56,1
    - Dst: open
      Src: /src/gnulib/tests/test-fstat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:60,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-fstat.c:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-fstat.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:62,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-fstat.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstat.c:63,1
    - Dst: S_ISCHR
      Src: /src/gnulib/tests/test-fstat.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fstat.c
    functionUses: 6
    functionsReached:
    - ASSERT
    - S_ISCHR
    - open
    - close
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: uint_to_exceptions
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint_to_exceptions (unsigned int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fedisableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:57,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:58,1
    - Dst: uint_to_exceptions
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:58,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:65,1
    - Dst: fedisableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:65,1
    - Dst: uint_to_exceptions
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:65,1
    - Dst: uint_to_exceptions
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:68,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:68,1
    - Dst: uint_to_exceptions
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:71,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:71,1
    - Dst: uint_to_exceptions
      Src: /src/gnulib/tests/test-fenv-except-trapping-1.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-1.c
    functionUses: 6
    functionsReached:
    - fputs
    - fedisableexcept
    - feenableexcept
    - fegetexcept
    - uint_to_exceptions
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: dummy
    functionSourceFile: /src/gnulib/tests/test-floorf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float dummy (float f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:49,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:50,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:52,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:53,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:54,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:55,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:56,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:57,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:58,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:59,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:60,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:62,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:63,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:64,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:65,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:66,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:67,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:68,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:69,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:70,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:71,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:73,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:73,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf1.c:73,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:74,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:74,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf1.c:74,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf1.c:76,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-floorf1.c:76,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf1.c:76,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-floorf1.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floorf1.c
    functionUses: 6
    functionsReached:
    - Infinityf
    - NaNf
    - isnanf
    - my_floorf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ctype-h-c++.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - double
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-printf-frexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double my_ldexp (double x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:67,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:89,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:90,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:91,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:113,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:114,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexp.c:115,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexp.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-frexp.c
    functionUses: 6
    functionsReached:
    - my_ldexp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:36,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:37,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:39,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:40,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:41,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:42,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:43,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:44,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:45,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:46,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:47,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:49,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:50,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:51,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:52,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:53,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:54,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:55,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:56,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:57,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:58,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:60,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:60,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor1.c:60,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:61,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:61,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor1.c:61,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor1.c:63,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-floor1.c:63,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor1.c:63,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-floor1.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floor1.c
    functionUses: 6
    functionsReached:
    - Infinityd
    - isnand
    - floor
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-iswpunct.c:39,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-iswpunct.c:41,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-iswpunct.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-iswpunct.c
    functionUses: 0
    functionsReached:
    - iswpunct
    - mbrtowc
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-iswpunct.c:55,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-iswpunct.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:60,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswpunct.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:128,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswpunct.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswpunct.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:146,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswpunct.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswpunct.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 220
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 153
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iswpunct.c
    functionUses: 6
    functionsReached:
    - for_character
    - iswpunct
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbscasestr4.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr4.c:36,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr4.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr4.c:44,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr4.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr4.c:45,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr4.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr4.c:52,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr4.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscasestr4.c
    functionUses: 6
    functionsReached:
    - mbscasestr
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-h.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_msvc_inval_ensure_handler
      Src: /src/gnulib/tests/test-fread.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:51,1
    - Dst: write
      Src: /src/gnulib/tests/test-fread.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-fread.c:52,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fread.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:62,1
    - Dst: close
      Src: /src/gnulib/tests/test-fread.c:62,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fread.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:64,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fread.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:66,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fread.c:66,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fread.c:67,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fread.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:79,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fread.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:81,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fread.c:81,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fread.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-fread.c:87,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fread.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:93,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fread.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fread.c:95,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fread.c:95,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fread.c:96,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fread.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fread.c
    functionUses: 6
    functionsReached:
    - fopen
    - ASSERT
    - fclose
    - fread
    - gl_msvc_inval_ensure_handler
    - close
    - unlink
    - fileno
    - fdopen
    - ferror
    - write
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initstate_r
      Src: /src/gnulib/tests/test-random_r.c:46,1
    - Dst: time
      Src: /src/gnulib/tests/test-random_r.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-random_r.c:52,1
    - Dst: random_r
      Src: /src/gnulib/tests/test-random_r.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-random_r.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: test_failed
    functionSourceFile: /src/gnulib/tests/test-random_r.c
    functionUses: 0
    functionsReached:
    - random_r
    - time
    - initstate_r
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_failed (int alignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_failed
      Src: /src/gnulib/tests/test-random_r.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-random_r.c
    functionUses: 6
    functionsReached:
    - test_failed
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: erf
      Src: /src/gnulib/tests/test-erf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-erf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-erf.c
    functionUses: 6
    functionsReached:
    - erf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:50,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:53,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:56,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:57,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:57,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:59,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:66,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:68,1
    - Dst: posix_spawn
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:69,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:72,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:74,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:77,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:79,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:81,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:83,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:89,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:94,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:97,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:102,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:104,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:107,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:109,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:114,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 117
    functionName: parent_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open2.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - WIFEXITED
    - memcmp
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - fflush
    - unlink
    - posix_spawn_file_actions_addopen
    - posix_spawn
    - WEXITSTATUS
    - waitpid
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int parent_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: child_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open2.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int child_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:134,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:137,1
    - Dst: raise
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: cleanup_then_die
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open2.c
    functionUses: 0
    functionsReached:
    - signal
    - raise
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup_then_die (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:146,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:149,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:150,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:152,1
    - Dst: parent_main
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:155,1
    - Dst: child_main
      Src: /src/gnulib/tests/test-posix_spawn-open2.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open2.c
    functionUses: 7
    functionsReached:
    - signal
    - child_main
    - parent_main
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-nstrftime.c:46,1
    - Dst: posixtm_test
      Src: /src/gnulib/tests/test-c-nstrftime.c:50,1
    - Dst: tzalloc_test
      Src: /src/gnulib/tests/test-c-nstrftime.c:51,1
    - Dst: quarter_test
      Src: /src/gnulib/tests/test-c-nstrftime.c:52,1
    - Dst: errno_test
      Src: /src/gnulib/tests/test-c-nstrftime.c:53,1
    - Dst: locales_test
      Src: /src/gnulib/tests/test-c-nstrftime.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-nstrftime.c
    functionUses: 7
    functionsReached:
    - errno_test
    - setlocale
    - posixtm_test
    - locales_test
    - tzalloc_test
    - quarter_test
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: a_init
    functionSourceFile: /src/gnulib/tests/test-pthread-once1.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void a_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once1.c:38,1
    - Dst: pthread_once
      Src: /src/gnulib/tests/test-pthread-once1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once1.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-once1.c
    functionUses: 7
    functionsReached:
    - pthread_once
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-dprintf-posix.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalpha_l
      Src: /src/gnulib/tests/test-isalpha_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:36,1
    - Dst: isalpha_l
      Src: /src/gnulib/tests/test-isalpha_l.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 163
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 99
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 99
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isalpha_l.c
    functionUses: 0
    functionsReached:
    - isalpha_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalpha_l.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:106,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isalpha_l.c:108,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isalpha_l.c:110,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalpha_l.c:115,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalpha_l.c:117,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalpha_l.c:119,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isalpha_l.c:123,1
    - Dst: isalpha_l
      Src: /src/gnulib/tests/test-isalpha_l.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:130,1
    - Dst: isalpha_l
      Src: /src/gnulib/tests/test-isalpha_l.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalpha_l.c:133,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isalpha_l.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isalpha_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - isalpha_l
    - freelocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin_r.c:42,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin_r.c:43,1
    - Dst: test_getlogin_result
      Src: /src/gnulib/tests/test-getlogin_r.c:46,1
    - Dst: getlogin_r
      Src: /src/gnulib/tests/test-getlogin_r.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin_r.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin_r.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin_r.c:68,1
    - Dst: getlogin_r
      Src: /src/gnulib/tests/test-getlogin_r.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin_r.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlogin_r.c:69,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-getlogin_r.c:75,1
    - Dst: getlogin_r
      Src: /src/gnulib/tests/test-getlogin_r.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin_r.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlogin_r.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getlogin_r.c
    functionUses: 7
    functionsReached:
    - putenv
    - exit
    - fprintf
    - getlogin_r
    - strcmp
    - test_getlogin_result
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:33,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memchr2.c:37,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memchr2.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:43,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:44,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:46,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:49,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:51,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:52,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:54,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:55,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:57,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:58,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:60,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:61,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:63,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:64,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:65,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:73,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:74,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:75,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:76,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:89,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr2.c:90,1
    - Dst: memchr2
      Src: /src/gnulib/tests/test-memchr2.c:90,1
    - Dst: free
      Src: /src/gnulib/tests/test-memchr2.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memchr2.c
    functionUses: 7
    functionsReached:
    - free
    - memchr2
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1l-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1l-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: big_fd
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int big_fd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:52,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:57,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:64,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:64,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addopen.c
    functionUses: 7
    functionsReached:
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - posix_spawn_file_actions_addopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexp-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexp-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-dzprintf-gnu.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dzprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-wmemcpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_wmemcpy
    functionSourceFile: /src/gnulib/tests/test-wmemcpy.c
    functionUses: 0
    functionsReached:
    - wmemcpy
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wmemcpy (wchar_t *s1, wchar_t const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcpy.c:44,1
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-wmemcpy.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcpy.c:48,1
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-wmemcpy.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wmemcpy.c
    functionUses: 7
    functionsReached:
    - wmemcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-glob-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:32,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:33,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:35,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-lstat.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:37,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:38,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:39,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:40,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:42,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-lstat.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:44,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:45,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:46,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:47,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:54,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:57,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-lstat.h:60,1
    - Dst: creat
      Src: /src/gnulib/tests/test-lstat.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:61,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:62,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-lstat.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:64,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:70,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:72,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:74,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-lstat.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:76,1
    - Dst: S_ISCHR
      Src: /src/gnulib/tests/test-lstat.h:76,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lstat.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:88,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:88,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lstat.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:94,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lstat.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:95,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lstat.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:96,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lstat.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:98,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:99,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-lstat.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:100,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:101,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lstat.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:102,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:103,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-lstat.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:105,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-lstat.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:108,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:109,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-lstat.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:111,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:114,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:115,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-lstat.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:117,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:120,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:121,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-lstat.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:123,1
    - Dst: func
      Src: /src/gnulib/tests/test-lstat.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:127,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:128,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:129,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:130,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lstat.h:131,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lstat.h:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 134
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 134
    functionName: test_lstat_func
    functionSourceFile: /src/gnulib/tests/test-lstat.h
    functionUses: 0
    functionsReached:
    - symlink
    - S_ISCHR
    - fputs
    - close
    - unlink
    - stat
    - creat
    - S_ISREG
    - S_ISLNK
    - S_ISDIR
    - func
    - ASSERT
    - psame_inode
    linkageType: ''
    returnType: int
    signature: int test_lstat_func (int (*func) (char const *, struct stat *), bool
      print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:39,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:40,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:42,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:43,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:45,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:46,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:48,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:49,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:51,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:52,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:54,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:55,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-sig2str.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:59,1
    - Dst: sig2str
      Src: /src/gnulib/tests/test-sig2str.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: test_sig2str
    functionSourceFile: /src/gnulib/tests/test-sig2str.c
    functionUses: 0
    functionsReached:
    - STREQ
    - ASSERT
    - sig2str
    linkageType: ''
    returnType: void
    signature: void test_sig2str (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:69,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:72,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:75,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:78,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:81,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:84,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sig2str.c:89,1
    - Dst: str2sig
      Src: /src/gnulib/tests/test-sig2str.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: test_str2sig
    functionSourceFile: /src/gnulib/tests/test-sig2str.c
    functionUses: 0
    functionsReached:
    - str2sig
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_str2sig (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sig2str
      Src: /src/gnulib/tests/test-sig2str.c:95,1
    - Dst: test_str2sig
      Src: /src/gnulib/tests/test-sig2str.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sig2str.c
    functionUses: 7
    functionsReached:
    - test_str2sig
    - test_sig2str
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bagp
    argTypes:
    - bag_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: init_bag_empty
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_bag_empty (bag_t *bagp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - bagp
    argTypes:
    - uintptr_t
    - bag_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: add_to_bag
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void add_to_bag (uintptr_t x, bag_t *bagp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_bag_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:117,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:119,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:122,1
    - Dst: add_to_bag
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:123,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: bag_from_list
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - gl_list_iterator_free
    - add_to_bag
    - gl_list_iterator
    - gl_list_iterator_next
    - init_bag_empty
    linkageType: ''
    returnType: bag_t
    signature: bag_t bag_from_list (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - bag
    argTypes:
    - bag_t
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: bag_is_empty
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED bag_is_empty (bag_t bag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bag1
    - bag2
    argTypes:
    - bag_t
    - bag_t
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: bag_is_subset
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bag_is_subset (bag_t bag1, bag_t bag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bag1
    - bag2
    argTypes:
    - bag_t
    - bag_t
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: bag_equals
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bag_equals (bag_t bag1, bag_t bag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bag1
    - bag2
    argTypes:
    - bag_t
    - bag_t
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: bag_or
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED bag_or (bag_t bag1, bag_t bag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bag1
    - bag2
    argTypes:
    - bag_t
    - bag_t
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: bag_xor
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bag_t
    signature: bag_t bag_xor (bag_t bag1, bag_t bag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bag1
    - bag2
    argTypes:
    - bag_t
    - bag_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: bag_and_not
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED bag_and_not (bag_t bag1, bag_t bag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bag_from_list
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - x
    - list
    argTypes:
    - uintptr_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: store_change
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - bag_from_list
    linkageType: ''
    returnType: void
    signature: void store_change (uintptr_t x, gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:253,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:254,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: block_sigint
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaddset
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void block_sigint (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_yield
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: idle_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - gl_thread_yield
    linkageType: ''
    returnType: void
    signature: 'void *

      idle_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_bag_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:276,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:278,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:281,1
    - Dst: add_to_bag
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:282,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:283,1
    - Dst: init_bag_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:295,1
    - Dst: bag_is_subset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:299,1
    - Dst: bag_xor
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:299,1
    - Dst: add_to_bag
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:309,1
    - Dst: bag_equals
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:319,1
    - Dst: bag_equals
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:321,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:329,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:331,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 334
    functionName: sigint_handler
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_iterator_free
    - bag_is_subset
    - bag_xor
    - bag_equals
    - add_to_bag
    - gl_list_iterator
    - fflush
    - gl_list_iterator_next
    - init_bag_empty
    - fprintf
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE sigint_handler (int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:344,1
    - Dst: kill
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:353,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 355
    functionName: send_signal
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - raise
    - getpid
    - kill
    linkageType: ''
    returnType: void
    signature: void send_signal (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_sigint
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:362,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:368,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:369,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:370,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:371,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:372,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:376,1
    - Dst: gl_thread_yield
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:378,1
    - Dst: printf
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:381,1
    - Dst: exit
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: signal_sending_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - send_signal
    - exit
    - nanosleep
    - block_sigint
    - gl_thread_yield
    - printf
    linkageType: ''
    returnType: void
    signature: 'void *

      signal_sending_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_sigint
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:406,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:406,1
    - Dst: store_change
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:408,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:408,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:416,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:416,1
    - Dst: store_change
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:418,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 425
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 425
    functionName: mutator_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - gl_list_size
    - gl_list_remove
    - block_sigint
    - store_change
    - gl_list_nx_add_first
    linkageType: ''
    returnType: void
    signature: 'void *

      mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:430,1
    - Dst: srand
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:434,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:434,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:445,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:450,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:450,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:455,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:455,1
    - Dst: bag_from_list
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:458,1
    - Dst: signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:466,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:473,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:473,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:482,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:483,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:484,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:489,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:490,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:491,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:492,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:497,1
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:498,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:498,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 505
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 505
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 7
    functionsReached:
    - abort
    - gl_list_nx_add_first
    - sigaction
    - signal
    - signal_sending_thread
    - bag_from_list
    - gl_thread_create
    - atoi
    - gl_thread_self
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - sigemptyset
    - srand
    - ASSERT
    - RANDOM_OBJECT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-weak.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-symlink.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-symlink.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-symlink.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalnum_l
      Src: /src/gnulib/tests/test-isalnum_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:36,1
    - Dst: isalnum_l
      Src: /src/gnulib/tests/test-isalnum_l.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 173
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 101
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 101
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isalnum_l.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - isalnum_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalnum_l.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:108,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isalnum_l.c:110,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isalnum_l.c:112,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalnum_l.c:117,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalnum_l.c:119,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isalnum_l.c:121,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isalnum_l.c:125,1
    - Dst: isalnum_l
      Src: /src/gnulib/tests/test-isalnum_l.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:132,1
    - Dst: isalnum_l
      Src: /src/gnulib/tests/test-isalnum_l.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isalnum_l.c:135,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isalnum_l.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isalnum_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - isalnum_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-dtoastr.c:31,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-dtoastr.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-dtoastr.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-dtoastr.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-dtoastr.c:45,1
    - Dst: c_dtoastr
      Src: /src/gnulib/tests/test-c-dtoastr.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-dtoastr.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-dtoastr.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-dtoastr.c
    functionUses: 7
    functionsReached:
    - setlocale
    - snprintf
    - strcmp
    - c_dtoastr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:38,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:44,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xmemdup0.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xmemdup0.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:59,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:65,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-xmemdup0.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:72,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-xmemdup0.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xmemdup0.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-xmemdup0.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 78
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xmemdup0.c
    functionUses: 7
    functionsReached:
    - free
    - memcmp
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:29,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:32,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:35,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:38,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:41,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:44,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:47,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:50,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:53,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:56,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:59,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:62,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:65,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:68,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:71,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:74,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:77,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-gnu.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 81
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-printf-gnu.h
    functionUses: 12
    functionsReached:
    - my_printf
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_printf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:46,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:57,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:59,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:59,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:75,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:75,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:85,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:85,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:95,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:95,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:97,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:105,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:105,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:107,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:108,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:109,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:119,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:119,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:120,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:121,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:122,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:123,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:137,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:137,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:138,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:147,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:147,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:148,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:149,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:151,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:152,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:153,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:166,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:166,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:167,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:176,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:176,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:177,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:178,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:179,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:180,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:199,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:199,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:200,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:211,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:211,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:219,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:219,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:236,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:236,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:248,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:248,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:256,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:267,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:267,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:268,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:269,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:277,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:277,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:278,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:279,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:280,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:281,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:282,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:283,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:291,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:291,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:292,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:293,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:294,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:295,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:296,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:297,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:313,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:313,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:325,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:325,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:333,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:333,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:344,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:344,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:345,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:346,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:354,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:354,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:355,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:356,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:366,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:369,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:369,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:380,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:383,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:394,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:394,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:395,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:396,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:397,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:398,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:399,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:400,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:401,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:402,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:403,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:419,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:419,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:420,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:431,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:431,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:439,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:441,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix2.c:449,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 166
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 455
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix2.c
    functionUses: 7
    functionsReached:
    - strlen
    - setlocale
    - free
    - memcmp
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-setpayloadf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:46,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-setpayloadf.c:46,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-setpayloadf.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:54,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-setpayloadf.c:62,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-setpayloadf.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:64,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-setpayloadf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:74,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-setpayloadf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadf.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayloadf.c
    functionUses: 7
    functionsReached:
    - setpayloadf
    - isnanf
    - Infinityf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-strstr.c:41,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-strstr.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:54,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-strstr.c:70,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:111,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:131,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:131,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:134,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:154,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:154,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:157,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:170,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:174,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:179,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:181,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:265,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strstr.c:266,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-strstr.c:269,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-strstr.c:270,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strstr.c:270,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:273,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:283,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:295,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:296,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strstr.c:298,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strstr.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strstr.c:302,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:304,1
    - Dst: free
      Src: /src/gnulib/tests/test-strstr.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 309
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 309
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strstr.c
    functionUses: 7
    functionsReached:
    - strlen
    - alarm
    - strcpy
    - signal
    - free
    - strstr
    - memset
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/tests/test-realloc-posix.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/test-realloc-posix.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-realloc-posix.c:45,1
    - Dst: realloc
      Src: /src/gnulib/tests/test-realloc-posix.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/test-realloc-posix.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-realloc-posix.c:51,1
    - Dst: realloc
      Src: /src/gnulib/tests/test-realloc-posix.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:62,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-realloc-posix.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:66,1
    - Dst: realloc
      Src: /src/gnulib/tests/test-realloc-posix.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:79,1
    - Dst: realloc
      Src: /src/gnulib/tests/test-realloc-posix.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-realloc-posix.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/test-realloc-posix.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-realloc-posix.c
    functionUses: 7
    functionsReached:
    - free
    - realloc
    - malloc
    - getenv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmaf-ieee.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmaf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:41,1
    - Dst: close
      Src: /src/gnulib/tests/test-utime.c:41,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utime.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:44,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:45,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utime.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:46,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-utime.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:48,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utime.c:48,1
    - Dst: time
      Src: /src/gnulib/tests/test-utime.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:59,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:60,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utime.c:60,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utime.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:66,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:69,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:72,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:78,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:81,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utime.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:85,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utime.c:85,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utime.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:87,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-utime.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:93,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:94,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utime.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:98,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utime.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:99,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utime.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:102,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utime.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:103,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utime.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:105,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utime.c:105,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-utime.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:111,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utime.c:111,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-utime.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:119,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-utime.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:122,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:127,1
    - Dst: utime
      Src: /src/gnulib/tests/test-utime.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:128,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-utime.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:133,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utime.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:135,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utime.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:139,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utime.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utime.c:140,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utime.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 142
    functionName: test_utime
    functionSourceFile: /src/gnulib/tests/test-utime.c
    functionUses: 0
    functionsReached:
    - utimecmp
    - symlink
    - get_stat_atime_ns
    - lstat
    - fputs
    - ctime_compare
    - time
    - close
    - unlink
    - utime
    - nap
    - stat
    - get_stat_mtime_ns
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_utime (bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-utime.c:150,1
    - Dst: system
      Src: /src/gnulib/tests/test-utime.c:150,1
    - Dst: test_utime
      Src: /src/gnulib/tests/test-utime.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utime.c
    functionUses: 7
    functionsReached:
    - system
    - test_utime
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-unicodeio.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - buflen
    - callback_arg
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: success_callback
    functionSourceFile: /src/gnulib/tests/test-unicodeio.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: long
    signature: long success_callback (const char *buf, size_t buflen, void *callback_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:48,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-unicodeio.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - code
    - msg
    - callback_arg
    argTypes:
    - unsigned int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: failure_callback
    functionSourceFile: /src/gnulib/tests/test-unicodeio.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - strcpy
    linkageType: ''
    returnType: long
    signature: long failure_callback (unsigned int code, const char *msg, void *callback_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-unicodeio.c:57,1
    - Dst: unicode_to_mb
      Src: /src/gnulib/tests/test-unicodeio.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:75,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-unicodeio.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unicodeio.c:99,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unicodeio.c
    functionUses: 7
    functionsReached:
    - unicode_to_mb
    - ASSERT
    - strcmp
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ctype-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:35,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx-type.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-mtx-type.c
    functionUses: 1
    functionsReached:
    - mtx_lock
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (mtx_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:54,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx-type.c:54,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-mtx-type.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:62,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx-type.c:62,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-mtx-type.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:70,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx-type.c:70,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-mtx-type.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:78,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx-type.c:78,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-mtx-type.c:79,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx-type.c:82,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx-type.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx-type.c:84,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx-type.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:87,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mtx-type.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mtx-type.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mtx-type.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx-type.c:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mtx-type.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mtx-type.c
    functionUses: 7
    functionsReached:
    - mtx_init
    - get_effective_type
    - strcmp
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabsl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabsl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:38,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:38,1
    - Dst: open
      Src: /src/gnulib/tests/test-flock.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:41,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:46,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-flock.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - file
    - fd
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: test_shared
    functionSourceFile: /src/gnulib/tests/test-flock.c
    functionUses: 0
    functionsReached:
    - flock
    - open
    - ASSERT
    - close
    linkageType: ''
    returnType: void
    signature: void test_shared (const char *file, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:56,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:56,1
    - Dst: open
      Src: /src/gnulib/tests/test-flock.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:59,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:62,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:86,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:87,1
    - Dst: close
      Src: /src/gnulib/tests/test-flock.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - file
    - fd
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: test_exclusive
    functionSourceFile: /src/gnulib/tests/test-flock.c
    functionUses: 0
    functionsReached:
    - flock
    - open
    - ASSERT
    - close
    linkageType: ''
    returnType: void
    signature: void test_exclusive (const char *file, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-flock.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:99,1
    - Dst: write
      Src: /src/gnulib/tests/test-flock.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:104,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:106,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:108,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:110,1
    - Dst: flock
      Src: /src/gnulib/tests/test-flock.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:111,1
    - Dst: test_shared
      Src: /src/gnulib/tests/test-flock.c:114,1
    - Dst: test_exclusive
      Src: /src/gnulib/tests/test-flock.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:118,1
    - Dst: close
      Src: /src/gnulib/tests/test-flock.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-flock.c:119,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-flock.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-flock.c
    functionUses: 7
    functionsReached:
    - flock
    - test_shared
    - open
    - write
    - close
    - unlink
    - test_exclusive
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:26,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-exp-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:30,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-exp-ieee.h:30,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:33,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:34,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp-ieee.h:34,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-exp-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp-ieee.h:42,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp-ieee.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-exp-ieee.h
    functionUses: 14
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - EXP
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: do_utimensat
    functionSourceFile: /src/gnulib/tests/test-utimensat.c
    functionUses: 0
    functionsReached:
    - utimensat
    linkageType: ''
    returnType: int
    signature: int do_utimensat (char const *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: do_lutimensat
    functionSourceFile: /src/gnulib/tests/test-utimensat.c
    functionUses: 0
    functionsReached:
    - utimensat
    linkageType: ''
    returnType: int
    signature: int do_lutimensat (char const *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-utimensat.c:69,1
    - Dst: system
      Src: /src/gnulib/tests/test-utimensat.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:74,1
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:75,1
    - Dst: close
      Src: /src/gnulib/tests/test-utimensat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:80,1
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:81,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-utimensat.c:85,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-utimensat.c:86,1
    - Dst: open
      Src: /src/gnulib/tests/test-utimensat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:89,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-utimensat.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:90,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-utimensat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:95,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-utimensat.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:96,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-utimensat.c:96,1
    - Dst: open
      Src: /src/gnulib/tests/test-utimensat.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:103,1
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:112,1
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:113,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimensat.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:117,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimensat.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:120,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimensat.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:122,1
    - Dst: close
      Src: /src/gnulib/tests/test-utimensat.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:123,1
    - Dst: close
      Src: /src/gnulib/tests/test-utimensat.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:125,1
    - Dst: utimensat
      Src: /src/gnulib/tests/test-utimensat.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:129,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-utimensat.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:130,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utimensat.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimensat.c:131,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-utimensat.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utimensat.c
    functionUses: 7
    functionsReached:
    - get_stat_atime_ns
    - rmdir
    - chdir
    - test_lutimens
    - close
    - open
    - unlink
    - system
    - utimensat
    - mkdir
    - stat
    - get_stat_mtime_ns
    - test_utimens
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasprintf.c:39,1
    - Dst: vasprintf
      Src: /src/gnulib/tests/test-vasprintf.c:40,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasprintf.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: my_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_asprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf.c:56,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:66,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf.c
    functionUses: 0
    functionsReached:
    - free
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: test_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf.c
    functionUses: 0
    functionsReached:
    - free
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_asprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/test-vasprintf.c:100,1
    - Dst: test_asprintf
      Src: /src/gnulib/tests/test-vasprintf.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasprintf.c
    functionUses: 7
    functionsReached:
    - test_vasprintf
    - test_asprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: dummy
    functionSourceFile: /src/gnulib/tests/test-floorf-ieee.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float dummy (float f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:49,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:49,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:50,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:50,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:50,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:52,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:53,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:53,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:55,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:55,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:55,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:56,1
    - Dst: my_floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorf-ieee.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:61,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-floorf-ieee.c:61,1
    - Dst: floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:61,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-floorf-ieee.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:63,1
    - Dst: floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:63,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf-ieee.c:63,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf-ieee.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf-ieee.c:64,1
    - Dst: floorf
      Src: /src/gnulib/tests/test-floorf-ieee.c:64,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf-ieee.c:64,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-floorf-ieee.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floorf-ieee.c
    functionUses: 7
    functionsReached:
    - Infinityf
    - NaNf
    - signbit
    - isnanf
    - my_floorf
    - floorf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:77,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:98,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-c-strcasestr.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:101,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:121,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-c-strcasestr.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:124,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:137,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:141,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-c-strcasestr.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:148,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:228,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-c-strcasestr.c:229,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-c-strcasestr.c:232,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-c-strcasestr.c:233,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-c-strcasestr.c:233,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-c-strcasestr.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:236,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:246,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:258,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:259,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strcasestr.c:261,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-c-strcasestr.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasestr.c:265,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:267,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strcasestr.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strcasestr.c
    functionUses: 7
    functionsReached:
    - strlen
    - free
    - c_strcasestr
    - memset
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-rwlock.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:132,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:133,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-pthread-rwlock.c:133,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:134,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:134,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-rwlock.c:136,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-rwlock.c:137,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-rwlock.c:138,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:142,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:143,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock.c:143,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:144,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:144,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-rwlock.c:146,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:149,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: rwlock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_self_pointer
    - pthread_rwlock_wrlock
    - dbgprintf
    - random
    - random_account
    - pthread_rwlock_unlock
    - yield
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rwlock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-rwlock.c:158,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:160,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:161,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/gnulib/tests/test-pthread-rwlock.c:161,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-rwlock.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:163,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock.c:163,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:164,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:164,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-rwlock.c:166,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:169,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-rwlock.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: rwlock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_self_pointer
    - dbgprintf
    - get_atomic_int_value
    - pthread_rwlock_unlock
    - yield
    - check_accounts
    - ASSERT
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: void
    signature: 'void *

      rwlock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-pthread-rwlock.c:183,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-rwlock.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:188,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-rwlock.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:192,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-rwlock.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:197,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-rwlock.c:197,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-rwlock.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock.c:200,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-rwlock.c:200,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-rwlock.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: test_rwlock
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - set_atomic_int_value
    - pthread_create
    - init_atomic_int
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_rwlock (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-rwlock.c:214,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-rwlock.c:215,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:218,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-rwlock.c:218,1
    - Dst: test_rwlock
      Src: /src/gnulib/tests/test-pthread-rwlock.c:219,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock.c:220,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-rwlock.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 7
    functionsReached:
    - alarm
    - signal
    - fflush
    - printf
    - test_rwlock
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-rwlock.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_iterator
      Src: /src/gnulib/tests/test-array_omap.c:51,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-array_omap.c:52,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-array_omap.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:56,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:57,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:58,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:62,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:63,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:64,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_omap.c:64,1
    - Dst: gl_omap_iterator_free
      Src: /src/gnulib/tests/test-array_omap.c:65,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_omap.c:66,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_omap.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - map1
    - keys
    - values
    argTypes:
    - gl_omap_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-array_omap.c
    functionUses: 0
    functionsReached:
    - gl_list_iterator_free
    - gl_omap_iterator_free
    - gl_list_iterator
    - gl_omap_iterator
    - gl_list_iterator_next
    - gl_omap_iterator_next
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_omap_t map1, gl_list_t keys, gl_list_t values)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_omap.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map1
    - keys
    - values
    argTypes:
    - gl_omap_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-array_omap.c
    functionUses: 0
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_omap_t map1, gl_list_t keys, gl_list_t values)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-array_omap.c:85,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-array_omap.c:85,1
    - Dst: gl_omap_nx_create_empty
      Src: /src/gnulib/tests/test-array_omap.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:94,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/tests/test-array_omap.c:97,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/tests/test-array_omap.c:98,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_omap.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:109,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_omap.c:112,1
    - Dst: gl_sortedlist_indexof
      Src: /src/gnulib/tests/test-array_omap.c:113,1
    - Dst: gl_list_add_at
      Src: /src/gnulib/tests/test-array_omap.c:114,1
    - Dst: gl_list_set_at
      Src: /src/gnulib/tests/test-array_omap.c:117,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_omap.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:132,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_omap.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:143,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_omap.c:146,1
    - Dst: gl_sortedlist_indexof
      Src: /src/gnulib/tests/test-array_omap.c:147,1
    - Dst: gl_list_add_at
      Src: /src/gnulib/tests/test-array_omap.c:148,1
    - Dst: gl_list_set_at
      Src: /src/gnulib/tests/test-array_omap.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_omap.c:160,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_omap.c:163,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_omap.c:164,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_omap.c:169,1
    - Dst: gl_omap_free
      Src: /src/gnulib/tests/test-array_omap.c:172,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_omap.c:173,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_omap.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 178
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array_omap.c
    functionUses: 7
    functionsReached:
    - gl_list_get_at
    - gl_sortedlist_add
    - gl_list_remove_at
    - atoi
    - gl_sortedlist_indexof
    - gl_list_set_at
    - gl_omap_nx_create_empty
    - gl_list_add_at
    - check_all
    - gl_list_free
    - srand
    - gl_list_create_empty
    - ASSERT
    - gl_omap_free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:35,1
    - Dst: write
      Src: /src/gnulib/tests/test-readtokens.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:36,1
    - Dst: close
      Src: /src/gnulib/tests/test-readtokens.c:36,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-readtokens.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:41,1
    - Dst: init_tokenbuffer
      Src: /src/gnulib/tests/test-readtokens.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:44,1
    - Dst: readtoken
      Src: /src/gnulib/tests/test-readtokens.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:45,1
    - Dst: readtoken
      Src: /src/gnulib/tests/test-readtokens.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:46,1
    - Dst: readtoken
      Src: /src/gnulib/tests/test-readtokens.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:47,1
    - Dst: readtoken
      Src: /src/gnulib/tests/test-readtokens.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:48,1
    - Dst: readtoken
      Src: /src/gnulib/tests/test-readtokens.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:49,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-readtokens.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:50,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-readtokens.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: basic
    functionSourceFile: /src/gnulib/tests/test-readtokens.c
    functionUses: 4
    functionsReached:
    - fopen
    - ASSERT
    - fclose
    - init_tokenbuffer
    - close
    - ferror
    - readtoken
    - write
    linkageType: ''
    returnType: void
    signature: void basic (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnulib/tests/test-readtokens.c:61,1
    - Dst: basic
      Src: /src/gnulib/tests/test-readtokens.c:65,1
    - Dst: init_tokenbuffer
      Src: /src/gnulib/tests/test-readtokens.c:69,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-readtokens.c:75,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-readtokens.c:77,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-readtokens.c:88,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-readtokens.c:89,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-readtokens.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-readtokens.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readtokens.c:94,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-readtokens.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-readtokens.c
    functionUses: 7
    functionsReached:
    - basic
    - strlen
    - fwrite
    - STREQ
    - free
    - init_tokenbuffer
    - atexit
    - putchar
    - ferror
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnulib/tests/test-memmove.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_memmove
    functionSourceFile: /src/gnulib/tests/test-memmove.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memmove (void *s1, void const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmove.c:43,1
    - Dst: memmove
      Src: /src/gnulib/tests/test-memmove.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmove.c:47,1
    - Dst: memmove
      Src: /src/gnulib/tests/test-memmove.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memmove.c
    functionUses: 7
    functionsReached:
    - memmove
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grantpt
      Src: /src/gnulib/tests/test-grantpt.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-grantpt.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-grantpt.c:43,1
    - Dst: close
      Src: /src/gnulib/tests/test-grantpt.c:52,1
    - Dst: grantpt
      Src: /src/gnulib/tests/test-grantpt.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-grantpt.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-grantpt.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-grantpt.c
    functionUses: 7
    functionsReached:
    - grantpt
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: do_mkdir
    functionSourceFile: /src/gnulib/tests/test-mkdirat.c
    functionUses: 0
    functionsReached:
    - mkdirat
    linkageType: ''
    returnType: int
    signature: int do_mkdir (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-mkdirat.c:54,1
    - Dst: system
      Src: /src/gnulib/tests/test-mkdirat.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:59,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkdirat.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:65,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:66,1
    - Dst: test_mkdir
      Src: /src/gnulib/tests/test-mkdirat.c:70,1
    - Dst: open
      Src: /src/gnulib/tests/test-mkdirat.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:73,1
    - Dst: test_mkdir
      Src: /src/gnulib/tests/test-mkdirat.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:76,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:77,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-mkdirat.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:78,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkdirat.c:78,1
    - Dst: open
      Src: /src/gnulib/tests/test-mkdirat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:81,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkdirat.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:84,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:85,1
    - Dst: open
      Src: /src/gnulib/tests/test-mkdirat.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:89,1
    - Dst: mkdirat
      Src: /src/gnulib/tests/test-mkdirat.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkdirat.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:92,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-mkdirat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:93,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdirat.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdirat.c:94,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdirat.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 97
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mkdirat.c
    functionUses: 7
    functionsReached:
    - rmdir
    - chdir
    - close
    - open
    - system
    - mkdirat
    - test_mkdir
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:43,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:47,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:51,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:55,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-getpayloadf.c:57,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:59,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-getpayloadf.c:61,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:72,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:72,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:74,1
    - Dst: minus_NaNf
      Src: /src/gnulib/tests/test-getpayloadf.c:76,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:82,1
    - Dst: setpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:82,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:94,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-getpayloadf.c:94,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:100,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-getpayloadf.c:100,1
    - Dst: getpayloadf
      Src: /src/gnulib/tests/test-getpayloadf.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:102,1
    - Dst: memory_positive_SNaNf
      Src: /src/gnulib/tests/test-getpayloadf.c:105,1
    - Dst: memory_negative_SNaNf
      Src: /src/gnulib/tests/test-getpayloadf.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadf.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getpayloadf.c
    functionUses: 7
    functionsReached:
    - setpayloadf
    - Infinityf
    - memory_negative_SNaNf
    - minus_NaNf
    - setpayloadsigf
    - getpayloadf
    - ASSERT
    - memory_positive_SNaNf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcsncat
      Src: /src/gnulib/tests/test-wcsncat.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ws1
    - ws2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: lib_wcsncat
    functionSourceFile: /src/gnulib/tests/test-wcsncat.c
    functionUses: 0
    functionsReached:
    - wcsncat
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wcsncat (wchar_t *ws1, wchar_t const *ws2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncat.c:47,1
    - Dst: wcsncat
      Src: /src/gnulib/tests/test-wcsncat.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncat.c:52,1
    - Dst: wcsncat
      Src: /src/gnulib/tests/test-wcsncat.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsncat.c
    functionUses: 7
    functionsReached:
    - wcsncat
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2l-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2l-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-totalordermag.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-totalordermag.h
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-totalordermag.h:46,1
    - Dst: TOTALORDER_SETPAYLOAD
      Src: /src/gnulib/tests/test-totalordermag.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - payload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: positive_NaN_with_payload
    functionSourceFile: /src/gnulib/tests/test-totalordermag.h
    functionUses: 0
    functionsReached:
    - TOTALORDER_SETPAYLOAD
    - ASSERT
    linkageType: ''
    returnType: TOTALORDER_TYPE
    signature: TOTALORDER_TYPE positive_NaN_with_payload (int payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-totalordermag.h:54,1
    - Dst: TOTALORDER_SETPAYLOAD
      Src: /src/gnulib/tests/test-totalordermag.h:54,1
    - Dst: TOTALORDER_MINUS
      Src: /src/gnulib/tests/test-totalordermag.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - payload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: negative_NaN_with_payload
    functionSourceFile: /src/gnulib/tests/test-totalordermag.h
    functionUses: 0
    functionsReached:
    - TOTALORDER_MINUS
    - TOTALORDER_SETPAYLOAD
    - ASSERT
    linkageType: ''
    returnType: TOTALORDER_TYPE
    signature: TOTALORDER_TYPE negative_NaN_with_payload (int payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negative_NaN_with_payload
      Src: /src/gnulib/tests/test-totalordermag.h:64,1
    - Dst: negative_NaN_with_payload
      Src: /src/gnulib/tests/test-totalordermag.h:65,1
    - Dst: TOTALORDER_NEGATIVE_SNAN
      Src: /src/gnulib/tests/test-totalordermag.h:67,1
    - Dst: TOTALORDER_INF
      Src: /src/gnulib/tests/test-totalordermag.h:69,1
    - Dst: TOTALORDER_INF
      Src: /src/gnulib/tests/test-totalordermag.h:78,1
    - Dst: TOTALORDER_POSITIVE_SNAN
      Src: /src/gnulib/tests/test-totalordermag.h:80,1
    - Dst: positive_NaN_with_payload
      Src: /src/gnulib/tests/test-totalordermag.h:82,1
    - Dst: positive_NaN_with_payload
      Src: /src/gnulib/tests/test-totalordermag.h:83,1
    - Dst: TOTALORDER
      Src: /src/gnulib/tests/test-totalordermag.h:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-totalordermag.h:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-totalordermag.h
    functionUses: 7
    functionsReached:
    - positive_NaN_with_payload
    - TOTALORDER_POSITIVE_SNAN
    - TOTALORDER
    - TOTALORDER_NEGATIVE_SNAN
    - negative_NaN_with_payload
    - TOTALORDER_INF
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atanl
      Src: /src/gnulib/tests/test-atanl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atanl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atanl.c
    functionUses: 7
    functionsReached:
    - atanl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_bitset
      Src: /src/gnulib/tests/test-bitset.c:28,1
    - Dst: debug_bitset
      Src: /src/gnulib/tests/test-bitset.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:30,1
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:30,1
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:30,1
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:32,1
    - Dst: bitset_test
      Src: /src/gnulib/tests/test-bitset.c:32,1
    - Dst: bitset_test
      Src: /src/gnulib/tests/test-bitset.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bs1
    - bs2
    argTypes:
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: assert_bitset_equal
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - bitset_test
    - bitset_size
    - debug_bitset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void assert_bitset_equal (bitset bs1, bitset bs2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:38,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:39,1
    - Dst: RANDOM
      Src: /src/gnulib/tests/test-bitset.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bs
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: bitset_random
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - RANDOM
    - bitset_size
    - bitset_set
    linkageType: ''
    returnType: void
    signature: void bitset_random (bitset bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:54,1
    - Dst: bitset_random
      Src: /src/gnulib/tests/test-bitset.c:55,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:56,1
    - Dst: bitset_random
      Src: /src/gnulib/tests/test-bitset.c:57,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:58,1
    - Dst: bitset_random
      Src: /src/gnulib/tests/test-bitset.c:59,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:60,1
    - Dst: bitset_random
      Src: /src/gnulib/tests/test-bitset.c:61,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:64,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:65,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:66,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:67,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:68,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:69,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:70,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:71,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:74,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:78,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:78,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:78,1
    - Dst: bitset_not
      Src: /src/gnulib/tests/test-bitset.c:81,1
    - Dst: bitset_not
      Src: /src/gnulib/tests/test-bitset.c:82,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:83,1
    - Dst: bitset_and
      Src: /src/gnulib/tests/test-bitset.c:86,1
    - Dst: bitset_and
      Src: /src/gnulib/tests/test-bitset.c:87,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:89,1
    - Dst: bitset_and_cmp
      Src: /src/gnulib/tests/test-bitset.c:89,1
    - Dst: bitset_and_cmp
      Src: /src/gnulib/tests/test-bitset.c:90,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:91,1
    - Dst: bitset_andn
      Src: /src/gnulib/tests/test-bitset.c:94,1
    - Dst: bitset_andn
      Src: /src/gnulib/tests/test-bitset.c:95,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:97,1
    - Dst: bitset_andn_cmp
      Src: /src/gnulib/tests/test-bitset.c:97,1
    - Dst: bitset_andn_cmp
      Src: /src/gnulib/tests/test-bitset.c:98,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:99,1
    - Dst: bitset_or
      Src: /src/gnulib/tests/test-bitset.c:102,1
    - Dst: bitset_or
      Src: /src/gnulib/tests/test-bitset.c:103,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:105,1
    - Dst: bitset_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:105,1
    - Dst: bitset_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:106,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:107,1
    - Dst: bitset_xor
      Src: /src/gnulib/tests/test-bitset.c:110,1
    - Dst: bitset_xor
      Src: /src/gnulib/tests/test-bitset.c:111,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:113,1
    - Dst: bitset_xor_cmp
      Src: /src/gnulib/tests/test-bitset.c:113,1
    - Dst: bitset_xor_cmp
      Src: /src/gnulib/tests/test-bitset.c:114,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:115,1
    - Dst: bitset_and_or
      Src: /src/gnulib/tests/test-bitset.c:118,1
    - Dst: bitset_and_or
      Src: /src/gnulib/tests/test-bitset.c:119,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:121,1
    - Dst: bitset_and_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:121,1
    - Dst: bitset_and_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:122,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:123,1
    - Dst: bitset_andn_or
      Src: /src/gnulib/tests/test-bitset.c:126,1
    - Dst: bitset_andn_or
      Src: /src/gnulib/tests/test-bitset.c:127,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:129,1
    - Dst: bitset_andn_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:129,1
    - Dst: bitset_andn_or_cmp
      Src: /src/gnulib/tests/test-bitset.c:130,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:131,1
    - Dst: bitset_or_and
      Src: /src/gnulib/tests/test-bitset.c:134,1
    - Dst: bitset_or_and
      Src: /src/gnulib/tests/test-bitset.c:135,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:137,1
    - Dst: bitset_or_and_cmp
      Src: /src/gnulib/tests/test-bitset.c:137,1
    - Dst: bitset_or_and_cmp
      Src: /src/gnulib/tests/test-bitset.c:138,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:139,1
    - Dst: bitset_ones
      Src: /src/gnulib/tests/test-bitset.c:142,1
    - Dst: bitset_ones
      Src: /src/gnulib/tests/test-bitset.c:143,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:144,1
    - Dst: bitset_zero
      Src: /src/gnulib/tests/test-bitset.c:147,1
    - Dst: bitset_zero
      Src: /src/gnulib/tests/test-bitset.c:148,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:149,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:154,1
    - Dst: debug_bitset
      Src: /src/gnulib/tests/test-bitset.c:155,1
    - Dst: debug_bitset
      Src: /src/gnulib/tests/test-bitset.c:156,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:160,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:160,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:160,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:165,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:165,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:168,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:170,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:178,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:179,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/tests/test-bitset.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:185,1
    - Dst: bitset_test
      Src: /src/gnulib/tests/test-bitset.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:199,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:207,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:208,1
    - Dst: BITSET_FOR_EACH_REVERSE
      Src: /src/gnulib/tests/test-bitset.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:214,1
    - Dst: bitset_test
      Src: /src/gnulib/tests/test-bitset.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:228,1
    - Dst: bitset_type_get
      Src: /src/gnulib/tests/test-bitset.c:236,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:239,1
    - Dst: bitset_copy
      Src: /src/gnulib/tests/test-bitset.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:241,1
    - Dst: bitset_resize
      Src: /src/gnulib/tests/test-bitset.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:242,1
    - Dst: bitset_resize
      Src: /src/gnulib/tests/test-bitset.c:242,1
    - Dst: assert_bitset_equal
      Src: /src/gnulib/tests/test-bitset.c:243,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:246,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:247,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:248,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:249,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:250,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:251,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:252,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:253,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:254,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 112
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - enum bitset_attr
    - enum bitset_attr
    constantsTouched: []
    func_position:
      end: 256
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 256
    functionName: compare
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 25
    functionsReached:
    - bitset_count
    - bitset_not
    - bitset_copy
    - bitset_random
    - bitset_or_cmp
    - bitset_xor
    - bitset_or_and_cmp
    - bitset_xor_cmp
    - bitset_type_get
    - assert_bitset_equal
    - bitset_andn_or
    - bitset_and_cmp
    - ASSERT
    - bitset_ones
    - debug_bitset
    - bitset_create
    - BITSET_FOR_EACH_REVERSE
    - bitset_resize
    - bitset_zero
    - bitset_last
    - bitset_or
    - bitset_andn
    - bitset_and_or
    - bitset_or_and
    - bitset_free
    - bitset_andn_cmp
    - bitset_first
    - bitset_andn_or_cmp
    - bitset_and
    - BITSET_FOR_EACH
    - bitset_test
    - bitset_and_or_cmp
    linkageType: ''
    returnType: void
    signature: void compare (enum bitset_attr a, enum bitset_attr b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-bitset.c:264,1
    - Dst: bitset_zero
      Src: /src/gnulib/tests/test-bitset.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:268,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:271,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:272,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:272,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/tests/test-bitset.c:278,1
    - Dst: BITSET_FOR_EACH_REVERSE
      Src: /src/gnulib/tests/test-bitset.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 283
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 283
    functionName: check_zero
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - bitset_count
    - bitset_first
    - BITSET_FOR_EACH_REVERSE
    - bitset_zero
    - bitset_last
    - BITSET_FOR_EACH
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_zero (bitset bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-bitset.c:291,1
    - Dst: bitset_zero
      Src: /src/gnulib/tests/test-bitset.c:292,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:296,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:299,1
    - Dst: bitset_test
      Src: /src/gnulib/tests/test-bitset.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:302,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:303,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:303,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/tests/test-bitset.c:309,1
    - Dst: BITSET_FOR_EACH_REVERSE
      Src: /src/gnulib/tests/test-bitset.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - bs
    - bitno
    argTypes:
    - bitset
    - int
    constantsTouched: []
    func_position:
      end: 315
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 315
    functionName: check_one_bit
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - bitset_count
    - bitset_set
    - bitset_first
    - BITSET_FOR_EACH_REVERSE
    - bitset_zero
    - bitset_last
    - BITSET_FOR_EACH
    - bitset_test
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_one_bit (bitset bs, int bitno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-bitset.c:322,1
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:323,1
    - Dst: bitset_ones
      Src: /src/gnulib/tests/test-bitset.c:325,1
    - Dst: debug_bitset
      Src: /src/gnulib/tests/test-bitset.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:329,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:332,1
    - Dst: bitset_first
      Src: /src/gnulib/tests/test-bitset.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:333,1
    - Dst: bitset_last
      Src: /src/gnulib/tests/test-bitset.c:333,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/tests/test-bitset.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:342,1
    - Dst: BITSET_FOR_EACH_REVERSE
      Src: /src/gnulib/tests/test-bitset.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - bs
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: check_ones
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - bitset_size
    - bitset_count
    - bitset_first
    - bitset_ones
    - BITSET_FOR_EACH_REVERSE
    - bitset_last
    - BITSET_FOR_EACH
    - fprintf
    - debug_bitset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_ones (bitset bs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:356,1
    - Dst: bitset_size
      Src: /src/gnulib/tests/test-bitset.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:357,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:358,1
    - Dst: bitset_empty_p
      Src: /src/gnulib/tests/test-bitset.c:358,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:360,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:361,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:362,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:364,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:365,1
    - Dst: bitset_empty_p
      Src: /src/gnulib/tests/test-bitset.c:365,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:367,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:368,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:369,1
    - Dst: bitset_set
      Src: /src/gnulib/tests/test-bitset.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:373,1
    - Dst: bitset_disjoint_p
      Src: /src/gnulib/tests/test-bitset.c:373,1
    - Dst: bitset_create
      Src: /src/gnulib/tests/test-bitset.c:376,1
    - Dst: bitset_and
      Src: /src/gnulib/tests/test-bitset.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:378,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:378,1
    - Dst: bitset_or
      Src: /src/gnulib/tests/test-bitset.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitset.c:382,1
    - Dst: bitset_count
      Src: /src/gnulib/tests/test-bitset.c:382,1
    - Dst: check_zero
      Src: /src/gnulib/tests/test-bitset.c:384,1
    - Dst: check_ones
      Src: /src/gnulib/tests/test-bitset.c:385,1
    - Dst: check_one_bit
      Src: /src/gnulib/tests/test-bitset.c:390,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:392,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:393,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:394,1
    - Dst: bitset_free
      Src: /src/gnulib/tests/test-bitset.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - attr
    - nbits
    argTypes:
    - enum bitset_attr
    - int
    constantsTouched: []
    func_position:
      end: 396
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 396
    functionName: check_attributes
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 0
    functionsReached:
    - check_ones
    - bitset_size
    - bitset_count
    - check_one_bit
    - bitset_set
    - bitset_empty_p
    - bitset_create
    - check_zero
    - bitset_and
    - bitset_disjoint_p
    - bitset_or
    - bitset_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_attributes (enum bitset_attr attr, int nbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_stats_enable
      Src: /src/gnulib/tests/test-bitset.c:400,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:412,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:413,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:414,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:415,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:416,1
    - Dst: check_attributes
      Src: /src/gnulib/tests/test-bitset.c:417,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:420,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:421,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:422,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:423,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:424,1
    - Dst: compare
      Src: /src/gnulib/tests/test-bitset.c:425,1
    - Dst: bitset_stats_dump
      Src: /src/gnulib/tests/test-bitset.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bitset.c
    functionUses: 7
    functionsReached:
    - bitset_stats_dump
    - compare
    - bitset_stats_enable
    - check_attributes
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:40,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:65,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:65,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:69,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-regular.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 79
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc32-regular.c
    functionUses: 7
    functionsReached:
    - mbrtoc32
    - setlocale
    - mbsinit
    - memset
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-poll-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftell3.c:36,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-ftell3.c:39,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftell3.c:41,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftell3.c:47,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftell3.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:52,1
    - Dst: getc
      Src: /src/gnulib/tests/test-ftell3.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:53,1
    - Dst: getc
      Src: /src/gnulib/tests/test-ftell3.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:54,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:55,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell3.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:56,1
    - Dst: putc
      Src: /src/gnulib/tests/test-ftell3.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:57,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell3.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:58,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftell3.c:58,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftell3.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:64,1
    - Dst: fread
      Src: /src/gnulib/tests/test-ftell3.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:65,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ftell3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell3.c:67,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftell3.c:67,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftell3.c:71,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftell3.c:75,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ftell3.c:78,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftell3.c
    functionUses: 7
    functionsReached:
    - fopen
    - remove
    - fclose
    - fwrite
    - fread
    - fprintf
    - ftell
    - putc
    - memcmp
    - getc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:54,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:66,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:75,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:87,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:96,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:108,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:117,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:129,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:138,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:150,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:159,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:171,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:180,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:192,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:201,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:335,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:346,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:357,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:368,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:379,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:390,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:390,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:499,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:510,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:519,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:521,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:521,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:532,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:543,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:554,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:565,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:576,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:587,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:598,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:649,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:667,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-xstrtold.c:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:681,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-xstrtold.c:681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:693,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:706,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:706,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:772,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:798,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:799,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:803,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:803,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:811,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:812,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:812,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:829,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:830,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:831,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:831,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:838,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:838,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:839,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:839,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:856,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:857,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:861,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:861,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:869,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:870,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:871,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:873,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:883,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:883,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:888,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:889,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:907,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:908,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-xstrtold.c:908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:912,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:912,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:920,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:921,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:922,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:934,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:995,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1016,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1017,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtold.c:1028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1035,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtold.c:1037,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtold.c:1046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1053,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtold.c:1055,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtold.c:1068,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1080,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1081,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1082,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1083,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtold.c:1085,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtold.c:1095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1109,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtold.c:1111,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtold.c:1125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1130,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:1130,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtold.c:1130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtold.c:1132,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtold.c:1134,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 580
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 1138
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstrtold.c
    functionUses: 7
    functionsReached:
    - strlen
    - free
    - signbit
    - isnanl
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-5.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:43,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:46,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:46,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:54,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:57,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:59,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:62,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-5.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:65,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:69,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:71,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:71,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:76,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:76,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:77,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:79,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:79,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:81,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:84,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-5.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:87,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:91,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:93,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:95,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:101,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-5.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:105,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:107,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:109,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:109,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:112,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:114,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:117,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-5.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:121,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-5.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:122,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:125,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:125,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:140,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:144,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-5.c:147,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-5.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-5.c
    functionUses: 7
    functionsReached:
    - fetestexcept
    - feupdateenv
    - fputs
    - feenableexcept
    - feclearexcept
    - fegetexcept
    - fegetround
    - feholdexcept
    - feraiseexcept
    - fesetround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:71,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:84,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:84,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:103,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:114,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:116,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:116,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:135,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:146,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:148,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:148,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:167,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:178,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:180,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:180,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:199,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:210,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:212,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:212,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:231,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:242,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:244,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:244,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:263,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:274,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:276,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:276,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv-utf.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:295,1
    - Dst: iconv
      Src: /src/gnulib/tests/test-iconv-utf.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:306,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv-utf.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv-utf.c:308,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv-utf.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 316
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iconv-utf.c
    functionUses: 7
    functionsReached:
    - memcmp
    - iconv_close
    - iconv
    - iconv_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypot-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypot-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_un-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_un-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_stack_trace
      Src: /src/gnulib/tests/test-stack-trace.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: test_something
    functionSourceFile: /src/gnulib/tests/test-stack-trace.c
    functionUses: 0
    functionsReached:
    - print_stack_trace
    linkageType: ''
    returnType: void
    signature: void test_something (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_something
      Src: /src/gnulib/tests/test-stack-trace.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stack-trace.c
    functionUses: 7
    functionsReached:
    - test_something
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:49,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadseek.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadseek.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:54,1
    - Dst: freadseek
      Src: /src/gnulib/tests/test-freadseek.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:57,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadseek.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:58,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadseek.c:58,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadseek.c:62,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadseek.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:63,1
    - Dst: freadseek
      Src: /src/gnulib/tests/test-freadseek.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:66,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadseek.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:67,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadseek.c:67,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadseek.c:71,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadseek.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:73,1
    - Dst: freadseek
      Src: /src/gnulib/tests/test-freadseek.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:76,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadseek.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:77,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadseek.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:81,1
    - Dst: freadseek
      Src: /src/gnulib/tests/test-freadseek.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-freadseek.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:82,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadseek.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:83,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-freadseek.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:87,1
    - Dst: freadseek
      Src: /src/gnulib/tests/test-freadseek.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:88,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadseek.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadseek.c:89,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-freadseek.c:89,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadseek.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadseek.c:93,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadseek.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadseek.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 98
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freadseek.c
    functionUses: 7
    functionsReached:
    - fgetc
    - strlen
    - fread
    - freadseek
    - ungetc
    - free
    - memcmp
    - ferror
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fcntl-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isxdigit.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isxdigit.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:42,1
    - Dst: c32isxdigit
      Src: /src/gnulib/tests/test-c32isxdigit.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isxdigit.c
    functionUses: 1
    functionsReached:
    - mbrtoc32
    - c32isxdigit
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isxdigit.c:54,1
    - Dst: c32isxdigit
      Src: /src/gnulib/tests/test-c32isxdigit.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:103,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:122,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:125,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:128,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:137,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:140,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:143,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:152,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:155,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:158,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:161,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:164,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:167,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:170,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:173,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:176,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:179,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:182,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:185,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:188,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:191,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:194,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:197,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isxdigit.c:206,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:212,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:215,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:218,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:221,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:224,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:227,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:230,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:233,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:236,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:239,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:242,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:245,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:248,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:251,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:254,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isxdigit.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isxdigit.c:257,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 234
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 264
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isxdigit.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isxdigit
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asinf
      Src: /src/gnulib/tests/test-asinf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asinf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asinf.c
    functionUses: 7
    functionsReached:
    - asinf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:63,1
    - Dst: system
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:64,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:64,1
    - Dst: creat
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:67,1
    - Dst: close
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:67,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:82,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:85,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:92,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:95,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:98,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:98,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:102,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:102,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:105,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:105,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:116,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:116,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:117,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:118,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:123,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:131,1
    - Dst: null_ptr
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:133,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:143,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:152,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:158,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:159,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:159,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:166,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:167,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:168,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:169,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:170,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:171,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:172,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:181,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:181,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:195,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:196,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:197,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:198,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:199,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:231,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:232,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:242,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:262,1
    - Dst: stat
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:263,1
    - Dst: stat
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:273,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:278,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:280,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:293,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:294,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:295,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:296,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:297,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:298,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:299,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:300,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:301,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:302,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize-lgpl.c:302,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-canonicalize-lgpl.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - remove
    - symlink
    - strlen
    - null_ptr
    - rmdir
    - free
    - fputs
    - close
    - strstr
    - system
    - stat
    - creat
    - strcmp
    - str_endswith
    - canonicalize_file_name
    - mkdir
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-astrxfrm.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:41,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-astrxfrm.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-astrxfrm.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:51,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-astrxfrm.c:51,1
    - Dst: free
      Src: /src/gnulib/tests/test-astrxfrm.c:52,1
    - Dst: astrxfrm
      Src: /src/gnulib/tests/test-astrxfrm.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-astrxfrm.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:65,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-astrxfrm.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/test-astrxfrm.c:67,1
    - Dst: astrxfrm
      Src: /src/gnulib/tests/test-astrxfrm.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-astrxfrm.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-astrxfrm.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-astrxfrm.c:82,1
    - Dst: astrxfrm
      Src: /src/gnulib/tests/test-astrxfrm.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:94,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-astrxfrm.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:95,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-astrxfrm.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-astrxfrm.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-astrxfrm.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-astrxfrm.c
    functionUses: 7
    functionsReached:
    - astrxfrm
    - strlen
    - setlocale
    - free
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-gnu.h:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snzprintf-gnu.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snzprintf-gnu.h:35,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snzprintf-gnu.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-snzprintf-gnu.h
    functionUses: 16
    functionsReached:
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_snzprintf) (char *, size_t, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-snprintf-posix.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:23,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-expm1-ieee.h:26,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:26,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:32,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-expm1-ieee.h:32,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-expm1-ieee.h:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-expm1-ieee.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:41,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1-ieee.h:42,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1-ieee.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-expm1-ieee.h
    functionUses: 17
    functionsReached:
    - ISNAN
    - signbit
    - EXPM1
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log2l
      Src: /src/gnulib/tests/test-log2l.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2l.c:53,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2l.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2l.c
    functionUses: 7
    functionsReached:
    - test_function
    - log2l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:29,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rmdir.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:30,1
    - Dst: close
      Src: /src/gnulib/tests/test-rmdir.h:30,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rmdir.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:34,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:37,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:40,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:43,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:48,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:50,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:57,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:62,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:66,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rmdir.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:68,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:71,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:71,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rmdir.h:78,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rmdir.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:85,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rmdir.h:85,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:91,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rmdir.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:97,1
    - Dst: func
      Src: /src/gnulib/tests/test-rmdir.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rmdir.h:99,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rmdir.h:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 102
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 102
    functionName: test_rmdir_func
    functionSourceFile: /src/gnulib/tests/test-rmdir.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - symlink
    - fputs
    - close
    - unlink
    - stat
    - creat
    - func
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_rmdir_func (int (*func) (char const *name), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-monetary-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:45,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:56,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:56,1
    - Dst: abort
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:57,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-gmtime_r-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - gmtime_r
    - fflush
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:83,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:83,1
    - Dst: abort
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-gmtime_r-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - gmtime_r
    - fflush
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:95,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:96,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:101,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gmtime_r-mt.c
    functionUses: 7
    functionsReached:
    - nanosleep
    - gl_thread_create
    - atoi
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-gmtime_r-mt.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gmtime_r-mt.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmodf
      Src: /src/gnulib/tests/test-fmodf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmodf.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmodf.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmodf.c
    functionUses: 7
    functionsReached:
    - test_function
    - fmodf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-zprintf-gnu.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-zprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:37,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:42,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:47,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:52,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:57,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:62,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:67,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:72,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:77,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:82,1
    - Dst: jn
      Src: /src/gnulib/tests/test-jn.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-jn.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-jn.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - jn
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fbufmode.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:44,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fbufmode.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:45,1
    - Dst: fbufmode
      Src: /src/gnulib/tests/test-fbufmode.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:49,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fbufmode.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:51,1
    - Dst: fbufmode
      Src: /src/gnulib/tests/test-fbufmode.c:51,1
    - Dst: fbufmode
      Src: /src/gnulib/tests/test-fbufmode.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:56,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fbufmode.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fbufmode.c:57,1
    - Dst: fbufmode
      Src: /src/gnulib/tests/test-fbufmode.c:57,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fbufmode.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: test_mode
    functionSourceFile: /src/gnulib/tests/test-fbufmode.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fbufmode
    - setvbuf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_mode (int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fbufmode.c:78,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fbufmode.c:81,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fbufmode.c:83,1
    - Dst: test_mode
      Src: /src/gnulib/tests/test-fbufmode.c:87,1
    - Dst: test_mode
      Src: /src/gnulib/tests/test-fbufmode.c:91,1
    - Dst: test_mode
      Src: /src/gnulib/tests/test-fbufmode.c:95,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fbufmode.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fbufmode.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - test_mode
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execlp
      Src: /src/gnulib/tests/test-execlp-main.c:33,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execlp-main.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execlp-main.c
    functionUses: 7
    functionsReached:
    - execlp
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:52,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:58,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:64,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:70,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:76,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:82,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:87,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:92,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:99,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignl.c:99,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:105,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignl.c:105,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:111,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignl.c:111,1
    - Dst: copysignl
      Src: /src/gnulib/tests/test-copysignl.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignl.c:117,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignl.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-copysignl.c
    functionUses: 7
    functionsReached:
    - copysignl
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: worker_thread_func
    functionSourceFile: /src/gnulib/tests/test-thrd_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int worker_thread_func (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thrd_current
      Src: /src/gnulib/tests/test-thrd_create.c:45,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-thrd_create.c:47,1
    - Dst: thrd_current
      Src: /src/gnulib/tests/test-thrd_create.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_create.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-thrd_create.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_create.c:58,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-thrd_create.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_create.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_create.c:64,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-thrd_create.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thrd_create.c
    functionUses: 7
    functionsReached:
    - fputs
    - thrd_join
    - memcmp
    - thrd_current
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-areadlink-with-size.c:42,1
    - Dst: system
      Src: /src/gnulib/tests/test-areadlink-with-size.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-areadlink-with-size.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnulib/tests/test-stdnoreturn-h.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: does_not_return
    functionSourceFile: /src/gnulib/tests/test-stdnoreturn-h.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void does_not_return (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: does_not_return
      Src: /src/gnulib/tests/test-stdnoreturn-h.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdnoreturn-h.c
    functionUses: 7
    functionsReached:
    - does_not_return
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-totalorder.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-totalorder.h
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-totalorder.h:46,1
    - Dst: TOTALORDER_SETPAYLOAD
      Src: /src/gnulib/tests/test-totalorder.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - payload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: positive_NaN_with_payload
    functionSourceFile: /src/gnulib/tests/test-totalorder.h
    functionUses: 1
    functionsReached:
    - TOTALORDER_SETPAYLOAD
    - ASSERT
    linkageType: ''
    returnType: TOTALORDER_TYPE
    signature: TOTALORDER_TYPE positive_NaN_with_payload (int payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-totalorder.h:54,1
    - Dst: TOTALORDER_SETPAYLOAD
      Src: /src/gnulib/tests/test-totalorder.h:54,1
    - Dst: TOTALORDER_MINUS
      Src: /src/gnulib/tests/test-totalorder.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - payload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: negative_NaN_with_payload
    functionSourceFile: /src/gnulib/tests/test-totalorder.h
    functionUses: 1
    functionsReached:
    - TOTALORDER_MINUS
    - TOTALORDER_SETPAYLOAD
    - ASSERT
    linkageType: ''
    returnType: TOTALORDER_TYPE
    signature: TOTALORDER_TYPE negative_NaN_with_payload (int payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negative_NaN_with_payload
      Src: /src/gnulib/tests/test-totalorder.h:64,1
    - Dst: negative_NaN_with_payload
      Src: /src/gnulib/tests/test-totalorder.h:65,1
    - Dst: TOTALORDER_NEGATIVE_SNAN
      Src: /src/gnulib/tests/test-totalorder.h:67,1
    - Dst: TOTALORDER_INF
      Src: /src/gnulib/tests/test-totalorder.h:69,1
    - Dst: TOTALORDER_INF
      Src: /src/gnulib/tests/test-totalorder.h:78,1
    - Dst: TOTALORDER_POSITIVE_SNAN
      Src: /src/gnulib/tests/test-totalorder.h:80,1
    - Dst: positive_NaN_with_payload
      Src: /src/gnulib/tests/test-totalorder.h:82,1
    - Dst: positive_NaN_with_payload
      Src: /src/gnulib/tests/test-totalorder.h:83,1
    - Dst: TOTALORDER
      Src: /src/gnulib/tests/test-totalorder.h:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-totalorder.h:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-totalorder.h
    functionUses: 7
    functionsReached:
    - positive_NaN_with_payload
    - TOTALORDER_POSITIVE_SNAN
    - TOTALORDER
    - TOTALORDER_NEGATIVE_SNAN
    - negative_NaN_with_payload
    - TOTALORDER_INF
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vprintf-gnu.c:38,1
    - Dst: vprintf
      Src: /src/gnulib/tests/test-vprintf-gnu.c:39,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vprintf-gnu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: my_printf
    functionSourceFile: /src/gnulib/tests/test-vprintf-gnu.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vprintf
    linkageType: ''
    returnType: int
    signature: int my_printf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vprintf-gnu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-vasnprintf-big.c:48,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-vasnprintf-big.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-vasnprintf-big.c:69,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:84,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:87,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:90,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-big.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:117,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:119,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:129,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:144,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-big.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:152,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:154,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:166,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-big.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:189,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:191,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:202,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:217,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-big.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:218,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:225,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:227,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-big.c:239,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-vasnprintf-big.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:254,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-big.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-big.c:255,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:262,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-big.c:264,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-vasnprintf-big.c:276,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 281
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-big.c
    functionUses: 7
    functionsReached:
    - strlen
    - setrlimit
    - fputs
    - free
    - memset
    - printf
    - malloc
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/gnulib/tests/test-sqrt.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrt.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrt.c
    functionUses: 7
    functionsReached:
    - test_function
    - sqrt
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-unlinkat.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: rmdirat
    functionSourceFile: /src/gnulib/tests/test-unlinkat.c
    functionUses: 0
    functionsReached:
    - unlinkat
    linkageType: ''
    returnType: int
    signature: int rmdirat (char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-unlinkat.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: unlinker
    functionSourceFile: /src/gnulib/tests/test-unlinkat.c
    functionUses: 0
    functionsReached:
    - unlinkat
    linkageType: ''
    returnType: int
    signature: int unlinker (char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-unlinkat.c:65,1
    - Dst: system
      Src: /src/gnulib/tests/test-unlinkat.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:70,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-unlinkat.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:71,1
    - Dst: close
      Src: /src/gnulib/tests/test-unlinkat.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:76,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-unlinkat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:77,1
    - Dst: test_rmdir_func
      Src: /src/gnulib/tests/test-unlinkat.c:80,1
    - Dst: test_unlink_func
      Src: /src/gnulib/tests/test-unlinkat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:82,1
    - Dst: open
      Src: /src/gnulib/tests/test-unlinkat.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:84,1
    - Dst: test_rmdir_func
      Src: /src/gnulib/tests/test-unlinkat.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:86,1
    - Dst: test_unlink_func
      Src: /src/gnulib/tests/test-unlinkat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlinkat.c:89,1
    - Dst: close
      Src: /src/gnulib/tests/test-unlinkat.c:89,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-unlinkat.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unlinkat.c
    functionUses: 7
    functionsReached:
    - test_unlink_func
    - unlinkat
    - fputs
    - close
    - open
    - system
    - test_rmdir_func
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-obstack-zprintf.c:46,1
    - Dst: obstack_vzprintf
      Src: /src/gnulib/tests/test-obstack-zprintf.c:47,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-obstack-zprintf.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obs
    - format
    argTypes:
    - struct obstack*
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: my_obstack_zprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - obstack_vzprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_obstack_zprintf (struct obstack *obs, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf.c:55,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtof1.c:33,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:44,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:54,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:64,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:74,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:84,1
    - Dst: c_strtof
      Src: /src/gnulib/tests/test-c-strtof1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtof1.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtof1.c
    functionUses: 7
    functionsReached:
    - c_strtof
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg1
    - arg2
    - arg3
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: handler_continuation
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv2.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void handler_continuation (void *arg1, void *arg2, void *arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:67,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:70,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:72,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:73,1
    - Dst: sigsegv_leave_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fault_address
    - serious
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: handler
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv2.c
    functionUses: 16
    functionsReached:
    - abort
    - printf
    - sigsegv_leave_handler
    - sigprocmask
    linkageType: ''
    returnType: int
    signature: int handler (void *fault_address, int serious)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: crasher
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crasher (uintptr_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:92,1
    - Dst: mmap_zeromap
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:104,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:107,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:108,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:113,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:115,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:116,1
    - Dst: sigsegv_install_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:120,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:121,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:124,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:125,1
    - Dst: setjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:128,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:131,1
    - Dst: crasher
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:132,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:133,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:133,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:137,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv2.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv2.c
    functionUses: 7
    functionsReached:
    - abort
    - exit
    - crasher
    - mprotect
    - setjmp
    - open
    - mmap_zeromap
    - sigsegv_install_handler
    - sigemptyset
    - sigprocmask
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv2.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:29,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:29,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:31,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:31,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:33,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:33,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:39,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:39,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:42,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:42,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-dprintf-posix.h:42,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:45,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:45,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-dprintf-posix.h:45,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:48,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:48,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-dprintf-posix.h:48,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:53,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:53,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:56,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:56,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:59,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:59,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:62,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:62,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:65,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:65,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:68,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:68,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:71,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:71,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:74,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:74,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:77,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:77,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:80,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:80,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:83,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:83,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:86,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:86,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:89,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:89,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:92,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:92,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:95,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:95,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:98,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:98,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:103,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:103,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:106,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:106,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:109,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:109,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:112,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:112,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:115,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:115,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:118,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:118,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:121,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:121,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:124,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:124,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:127,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:127,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:130,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:130,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:133,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:133,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:136,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:136,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:139,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:139,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:142,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:142,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:145,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:145,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:148,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:148,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:154,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:154,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-posix.h:158,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-posix.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 159
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-dprintf-posix.h
    functionUses: 23
    functionsReached:
    - Infinityd
    - fileno
    - my_dprintf
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_dprintf) (int, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/gnulib/tests/test-strncat.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: lib_strncat
    functionSourceFile: /src/gnulib/tests/test-strncat.c
    functionUses: 0
    functionsReached:
    - strncat
    linkageType: ''
    returnType: char
    signature: 'char *

      lib_strncat (char *s1, char const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-strncat.c:69,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-strncat.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncat.c:76,1
    - Dst: strncat
      Src: /src/gnulib/tests/test-strncat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncat.c:81,1
    - Dst: strncat
      Src: /src/gnulib/tests/test-strncat.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strncat.c
    functionUses: 7
    functionsReached:
    - strncat
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getservbyname
      Src: /src/gnulib/tests/test-servent.c:43,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-servent.c:45,1
    - Dst: getservbyport
      Src: /src/gnulib/tests/test-servent.c:47,1
    - Dst: htons
      Src: /src/gnulib/tests/test-servent.c:47,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-servent.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-servent.c
    functionUses: 7
    functionsReached:
    - htons
    - fputs
    - getservbyport
    - getservbyname
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-random-mt.c:69,1
    - Dst: yield
      Src: /src/gnulib/tests/test-random-mt.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: random_invocator_thread
    functionSourceFile: /src/gnulib/tests/test-random-mt.c
    functionUses: 0
    functionsReached:
    - random
    - yield
    linkageType: ''
    returnType: void
    signature: 'void *

      random_invocator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srandom
      Src: /src/gnulib/tests/test-random-mt.c:82,1
    - Dst: random
      Src: /src/gnulib/tests/test-random-mt.c:87,1
    - Dst: srandom
      Src: /src/gnulib/tests/test-random-mt.c:94,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-random-mt.c:98,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-random-mt.c:101,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-random-mt.c:108,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-random-mt.c:140,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-random-mt.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-random-mt.c
    functionUses: 7
    functionsReached:
    - gl_thread_join
    - XNMALLOC
    - gl_thread_create
    - random
    - srandom
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-random-mt.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-random-mt.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: ceilf_reference
    functionSourceFile: /src/gnulib/tests/test-ceilf2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE ceilf_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanf
      Src: /src/gnulib/tests/test-ceilf2.c:114,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-ceilf2.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-ceilf2.c
    functionUses: 119
    functionsReached:
    - isnanf
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ceilf2.c:122,1
    - Dst: equal
      Src: /src/gnulib/tests/test-ceilf2.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-ceilf2.c
    functionUses: 0
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf2.c:133,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-ceilf2.c:133,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-ceilf2.c:137,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ceilf2.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-ceilf2.c
    functionUses: 106
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-ceilf2.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceilf2.c
    functionUses: 7
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:37,1
    - Dst: close
      Src: /src/gnulib/tests/test-utimens.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:39,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utimens.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:42,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:43,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:44,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-utimens.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:46,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utimens.h:46,1
    - Dst: gettime
      Src: /src/gnulib/tests/test-utimens.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:58,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:59,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:59,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utimens.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:65,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:68,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:71,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:80,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:90,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:99,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:102,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:104,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:104,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:105,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-utimens.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:114,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:115,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:119,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:120,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:123,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:124,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:126,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utimens.h:126,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utimens.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:138,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:139,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:143,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:144,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:147,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-utimens.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:149,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utimens.h:149,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utimens.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:153,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:154,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:158,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:161,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:161,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:163,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-utimens.h:163,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-utimens.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:169,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utimens.h:169,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-utimens.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:175,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-utimens.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:178,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:185,1
    - Dst: func
      Src: /src/gnulib/tests/test-utimens.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:186,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-utimens.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:192,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:192,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:194,1
    - Dst: stat
      Src: /src/gnulib/tests/test-utimens.h:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:198,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:201,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-utimens.h:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:205,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utimens.h:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.h:206,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-utimens.h:206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 128
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 208
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 208
    functionName: test_utimens
    functionSourceFile: /src/gnulib/tests/test-utimens.h
    functionUses: 1
    functionsReached:
    - utimecmp
    - symlink
    - get_stat_atime_ns
    - lstat
    - fputs
    - ctime_compare
    - close
    - unlink
    - nap
    - gettime
    - stat
    - func
    - get_stat_mtime_ns
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_utimens (int (*func) (char const *, struct timespec const
      *), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-select-fd.c:39,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select-fd.c:47,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select-fd.c:48,1
    - Dst: select
      Src: /src/gnulib/tests/test-select-fd.c:52,1
    - Dst: select
      Src: /src/gnulib/tests/test-select-fd.c:53,1
    - Dst: perror
      Src: /src/gnulib/tests/test-select-fd.c:56,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-fd.c:57,1
    - Dst: FD_ISSET
      Src: /src/gnulib/tests/test-select-fd.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-select-fd.c:61,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-fd.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-select-fd.c:64,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-fd.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-select-fd.c:70,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-fd.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 72
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-select-fd.c
    functionUses: 7
    functionsReached:
    - fopen
    - FD_ISSET
    - exit
    - FD_SET
    - select
    - FD_ZERO
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:33,1
    - Dst: gc_hmac_md5
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:59,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:68,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:71,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:72,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-hmac-md5.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-hmac-md5.c
    functionUses: 7
    functionsReached:
    - gc_init
    - memcmp
    - gc_done
    - gc_hmac_md5
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:34,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:35,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:36,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:37,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:38,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:39,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:40,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:45,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:48,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:51,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:52,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:55,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:58,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:61,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:64,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:67,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:70,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:73,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:76,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:79,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:82,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:85,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:88,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:91,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:94,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:94,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:97,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:97,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:100,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:103,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:103,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:106,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:109,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:115,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:119,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:123,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:127,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:127,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:131,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:133,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:137,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:141,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:145,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:149,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:153,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:157,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:161,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:165,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:169,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:173,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:177,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:181,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:185,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:189,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:193,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:193,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:197,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:197,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:201,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:205,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:205,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:209,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:213,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:217,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:217,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:221,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:225,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:229,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:229,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:233,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:237,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:241,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:241,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:245,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:245,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:249,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigdescr_np.c:250,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigdescr_np.c:253,1
    - Dst: sigdescr_np
      Src: /src/gnulib/tests/test-sigdescr_np.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigdescr_np.c
    functionUses: 7
    functionsReached:
    - sigdescr_np
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 59
    functionName: test_towardzero
    functionSourceFile: /src/gnulib/tests/test-fenv-round.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED test_towardzero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 94
    functionName: test_upward
    functionSourceFile: /src/gnulib/tests/test-fenv-round.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED test_upward ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 129
    functionName: test_downward
    functionSourceFile: /src/gnulib/tests/test-fenv-round.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED test_downward ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: test_tonearest
    functionSourceFile: /src/gnulib/tests/test-fenv-round.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tonearest ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_tonearest
      Src: /src/gnulib/tests/test-fenv-round.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:174,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-round.c:174,1
    - Dst: test_towardzero
      Src: /src/gnulib/tests/test-fenv-round.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:176,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-round.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:180,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-round.c:180,1
    - Dst: test_upward
      Src: /src/gnulib/tests/test-fenv-round.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:182,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-round.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:186,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-round.c:186,1
    - Dst: test_downward
      Src: /src/gnulib/tests/test-fenv-round.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:188,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-round.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:192,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-round.c:192,1
    - Dst: test_tonearest
      Src: /src/gnulib/tests/test-fenv-round.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-round.c:194,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-round.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-round.c
    functionUses: 7
    functionsReached:
    - test_towardzero
    - test_upward
    - test_downward
    - fegetround
    - test_tonearest
    - fesetround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc16.c:43,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:48,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:52,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:52,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:57,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:62,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:62,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:65,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:65,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:99,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:107,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:107,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:111,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:111,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:121,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:126,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:126,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc16.c:134,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:147,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:167,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbrtoc16.c:167,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbrtoc16.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:168,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:168,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:172,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:172,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:181,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:187,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:187,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:193,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:195,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:195,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:201,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:201,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:206,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:208,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:208,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:215,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:215,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:222,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:222,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:230,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:236,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:236,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:244,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:244,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:251,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:253,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:253,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:259,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:259,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:264,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:266,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:266,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:272,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:275,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:275,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:280,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:281,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:289,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:291,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:291,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:297,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:297,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:305,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:311,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:311,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:317,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:319,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:319,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:328,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:328,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:335,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:337,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:337,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:343,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:343,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:348,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:350,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:350,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:358,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:358,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtoc16.c:367,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16.c:372,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:378,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:378,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:386,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:386,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:393,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:395,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:395,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:401,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:401,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:406,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:408,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:408,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:416,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:419,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:419,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:424,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:425,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:433,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:435,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:435,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16.c:441,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16.c:441,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 372
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 447
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 447
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc16.c
    functionUses: 7
    functionsReached:
    - setlocale
    - mbrtoc16
    - fputs
    - c32tob
    - mbsinit
    - strcmp
    - memset
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-expl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-1.c:31,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-1.c:32,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-1.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-1.c
    functionUses: 7
    functionsReached:
    - fegetenv
    - fesetenv
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: pow2f
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float pow2f (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: pow2d
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pow2d (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: pow2l
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double pow2l (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:295,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-float-h.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 296
    functionName: test_float
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached:
    - isnanf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_float (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:394,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-float-h.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 395
    functionName: test_double
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached:
    - isnand
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-float-h.c:490,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-float-h.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 491
    functionName: test_long_double
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 0
    functionsReached:
    - isnanl
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_long_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_float
      Src: /src/gnulib/tests/test-float-h.c:496,1
    - Dst: test_double
      Src: /src/gnulib/tests/test-float-h.c:497,1
    - Dst: test_long_double
      Src: /src/gnulib/tests/test-float-h.c:504,1
    - Dst: END_LONG_DOUBLE_ROUNDING
      Src: /src/gnulib/tests/test-float-h.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 510
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 7
    functionsReached:
    - test_float
    - test_long_double
    - test_double
    - END_LONG_DOUBLE_ROUNDING
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-float-h.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-float-h.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fcntl-safer.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct timespec
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: valid
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid (struct timespec a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: sign
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 106
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sign (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/gnulib/tests/test-timespec.c:73,1
    - Dst: timespec_cmp
      Src: /src/gnulib/tests/test-timespec.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: cmp
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 889
    functionsReached:
    - sign
    - timespec_cmp
    linkageType: ''
    returnType: int
    signature: int cmp (struct timespec a, struct timespec b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timespec_cmp
      Src: /src/gnulib/tests/test-timespec.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: eq
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 67
    functionsReached:
    - timespec_cmp
    linkageType: ''
    returnType: bool
    signature: bool eq (struct timespec a, struct timespec b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-timespec.c:85,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-timespec.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct timespec
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: extremal
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 0
    functionsReached:
    - TYPE_MAXIMUM
    - TYPE_MINIMUM
    linkageType: ''
    returnType: bool
    signature: bool extremal (struct timespec a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_timespec
      Src: /src/gnulib/tests/test-timespec.c:99,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-timespec.c:99,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-timespec.c:104,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-timespec.c:106,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-timespec.c:107,1
    - Dst: make_timespec
      Src: /src/gnulib/tests/test-timespec.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:115,1
    - Dst: dtotimespec
      Src: /src/gnulib/tests/test-timespec.c:121,1
    - Dst: timespectod
      Src: /src/gnulib/tests/test-timespec.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:123,1
    - Dst: cmp
      Src: /src/gnulib/tests/test-timespec.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:126,1
    - Dst: sign
      Src: /src/gnulib/tests/test-timespec.c:126,1
    - Dst: timespec_sign
      Src: /src/gnulib/tests/test-timespec.c:126,1
    - Dst: cmp
      Src: /src/gnulib/tests/test-timespec.c:126,1
    - Dst: make_timespec
      Src: /src/gnulib/tests/test-timespec.c:126,1
    - Dst: valid
      Src: /src/gnulib/tests/test-timespec.c:128,1
    - Dst: valid
      Src: /src/gnulib/tests/test-timespec.c:132,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:134,1
    - Dst: timespec_sub
      Src: /src/gnulib/tests/test-timespec.c:135,1
    - Dst: timespec_sub
      Src: /src/gnulib/tests/test-timespec.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:137,1
    - Dst: cmp
      Src: /src/gnulib/tests/test-timespec.c:137,1
    - Dst: sign
      Src: /src/gnulib/tests/test-timespec.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:138,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:138,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:138,1
    - Dst: extremal
      Src: /src/gnulib/tests/test-timespec.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:141,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:141,1
    - Dst: timespec_sub
      Src: /src/gnulib/tests/test-timespec.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:142,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:142,1
    - Dst: timespec_sub
      Src: /src/gnulib/tests/test-timespec.c:142,1
    - Dst: valid
      Src: /src/gnulib/tests/test-timespec.c:147,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:149,1
    - Dst: extremal
      Src: /src/gnulib/tests/test-timespec.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:151,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:151,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:151,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:152,1
    - Dst: extremal
      Src: /src/gnulib/tests/test-timespec.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:157,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:157,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:157,1
    - Dst: extremal
      Src: /src/gnulib/tests/test-timespec.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec.c:159,1
    - Dst: eq
      Src: /src/gnulib/tests/test-timespec.c:159,1
    - Dst: timespec_add
      Src: /src/gnulib/tests/test-timespec.c:159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-timespec.c
    functionUses: 7
    functionsReached:
    - eq
    - valid
    - TYPE_MAXIMUM
    - make_timespec
    - timespec_sub
    - dtotimespec
    - sign
    - timespec_add
    - extremal
    - cmp
    - TYPE_SIGNED
    - timespectod
    - timespec_sign
    - ASSERT
    - TYPE_MINIMUM
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c:37,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c:39,1
    - Dst: posix_spawn_file_actions_addchdir
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c:39,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addchdir.c
    functionUses: 7
    functionsReached:
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - posix_spawn_file_actions_addchdir
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_ioctl-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mprotect
      Src: /src/gnulib/tests/zerosize-ptr.h:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: zerosize_ptr
    functionSourceFile: /src/gnulib/tests/zerosize-ptr.h
    functionUses: 0
    functionsReached:
    - mprotect
    linkageType: ''
    returnType: void
    signature: 'void *

      zerosize_ptr (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-mutex.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 1
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-mutex.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 2
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:129,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:130,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:130,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:131,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:131,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-mutex.c:133,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-mutex.c:134,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-mutex.c:135,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:139,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:140,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:140,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:141,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:141,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:143,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:144,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:144,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:146,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:146,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:147,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:147,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-mutex.c:149,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:152,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - random
    - random_account
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:161,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:163,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:164,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:164,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:166,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:167,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:167,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-mutex.c:169,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:172,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - get_atomic_int_value
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-pthread-mutex.c:186,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:190,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-mutex.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:193,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-mutex.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:197,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-mutex.c:197,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:199,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-mutex.c:199,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 201
    functionName: test_pthread_mutex_normal
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - set_atomic_int_value
    - pthread_create
    - init_atomic_int
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_pthread_mutex_normal (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:217,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:218,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:218,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:219,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:219,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-mutex.c:221,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-mutex.c:222,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-mutex.c:223,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-mutex.c:228,1
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-pthread-mutex.c:229,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:231,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:232,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:232,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:233,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: recshuffle
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - random
    - random_account
    - recshuffle
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void recshuffle (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-pthread-mutex.c:243,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:245,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:246,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:246,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:248,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:248,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:249,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:249,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-mutex.c:251,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:254,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: reclock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - check_accounts
    - yield
    - recshuffle
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      reclock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:263,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:265,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:266,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex.c:266,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:268,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-mutex.c:268,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:269,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:269,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-mutex.c:271,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-mutex.c:274,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-mutex.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: reclock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - get_atomic_int_value
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      reclock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-pthread-mutex.c:288,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:292,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-mutex.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:295,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-mutex.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:300,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-mutex.c:300,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-mutex.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:302,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-mutex.c:302,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-mutex.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: test_pthread_mutex_recursive
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - set_atomic_int_value
    - pthread_create
    - init_atomic_int
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_pthread_mutex_recursive (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-mutex.c:316,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-mutex.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:323,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:324,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:325,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:326,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:332,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:333,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:334,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex.c:335,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex.c:335,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex.c:339,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-mutex.c:339,1
    - Dst: test_pthread_mutex_normal
      Src: /src/gnulib/tests/test-pthread-mutex.c:340,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex.c:341,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-mutex.c:341,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex.c:344,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-mutex.c:344,1
    - Dst: test_pthread_mutex_recursive
      Src: /src/gnulib/tests/test-pthread-mutex.c:345,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex.c:346,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-mutex.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 350
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 7
    functionsReached:
    - alarm
    - pthread_mutexattr_destroy
    - signal
    - pthread_mutexattr_init
    - test_pthread_mutex_normal
    - test_pthread_mutex_recursive
    - fflush
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-mutex.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32srtombs.c:37,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32srtombs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:63,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:70,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32srtombs.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:81,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32srtombs.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:92,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:99,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:113,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32srtombs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:118,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32srtombs.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:129,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:136,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32srtombs.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:155,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32srtombs.c:166,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32srtombs.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:173,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:180,1
    - Dst: c32srtombs
      Src: /src/gnulib/tests/test-c32srtombs.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:194,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32srtombs.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32srtombs.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 212
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 212
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32srtombs.c
    functionUses: 7
    functionsReached:
    - c32srtombs
    - mbstoc32s
    - setlocale
    - fputs
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiterf.c:33,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mbuiterf.c:34,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mbuiterf.c:37,1
    - Dst: mbuif_init
      Src: /src/gnulib/tests/bench-mbuiterf.c:45,1
    - Dst: mbuif_avail
      Src: /src/gnulib/tests/bench-mbuiterf.c:45,1
    - Dst: mbuif_next
      Src: /src/gnulib/tests/bench-mbuiterf.c:47,1
    - Dst: mb_len
      Src: /src/gnulib/tests/bench-mbuiterf.c:49,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mbuiterf.c:54,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-mbuiterf.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiterf.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiterf.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - test
    - repeat
    - locale_name
    - text
    argTypes:
    - char
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mbuiterf.c
    functionUses: 0
    functionsReached:
    - mbuif_next
    - setlocale
    - timing_start
    - timing_end
    - timing_output
    - mbuif_init
    - mb_len
    - printf
    - mbuif_avail
    linkageType: ''
    returnType: void
    signature: void do_test (char test, int repeat, const char *locale_name, const
      char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbuiterf.c:81,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbuiterf.c:82,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mbuiterf.c:83,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mbuiterf.c:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mbuiterf.c:93,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:100,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:103,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:106,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:109,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:112,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:115,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:118,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:121,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:124,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiterf.c:127,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mbuiterf.c
    functionUses: 7
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:42,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:52,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:62,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:72,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:84,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:94,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:104,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:114,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:124,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:134,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:144,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:156,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:166,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:176,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:188,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:198,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:208,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:218,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:228,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:238,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:250,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:260,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:270,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:280,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:290,1
    - Dst: strtoul
      Src: /src/gnulib/tests/test-strtoul.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoul.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtoul.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - strtoul
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:37,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:42,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:47,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:52,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:57,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:62,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:67,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:72,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:77,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:82,1
    - Dst: yn
      Src: /src/gnulib/tests/test-yn.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-yn.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-yn.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - yn
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-readlink.c:44,1
    - Dst: system
      Src: /src/gnulib/tests/test-readlink.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-readlink.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-wcsstr.c:41,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-wcsstr.c:42,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:48,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:54,1
    - Dst: zerosize_ptr
      Src: /src/gnulib/tests/test-wcsstr.c:65,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:68,1
    - Dst: wcscpy
      Src: /src/gnulib/tests/test-wcsstr.c:71,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:75,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:81,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:87,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:93,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:103,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:112,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:123,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:132,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:132,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:135,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:147,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:155,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:155,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:158,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:165,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:166,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:171,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:175,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:180,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:183,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:232,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:240,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:248,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:254,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wcsstr.c:255,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:260,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:261,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wcsstr.c:263,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wcsstr.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsstr.c:267,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:269,1
    - Dst: free
      Src: /src/gnulib/tests/test-wcsstr.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 274
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsstr.c
    functionUses: 7
    functionsReached:
    - alarm
    - signal
    - free
    - wcscpy
    - wcsstr
    - zerosize_ptr
    - malloc
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: have_minus_zero
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int have_minus_zero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:63,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: wcsmatch
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 0
    functionsReached:
    - wcslen
    linkageType: ''
    returnType: int
    signature: int wcsmatch (const wchar_t *pattern, const wchar_t *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - wchar_t*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: wcsisnan
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 0
    functionsReached:
    - wmemcmp
    linkageType: ''
    returnType: int
    signature: int wcsisnan (const wchar_t *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:105,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:107,1
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:115,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:119,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:123,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:125,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:135,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:136,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:137,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:145,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:146,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:147,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:155,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:156,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:156,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:157,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:165,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:166,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:166,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:167,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:178,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:178,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:179,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:180,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:182,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:183,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:191,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:191,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:192,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:193,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:195,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:196,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:204,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:205,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:206,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:213,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:215,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:216,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:216,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:217,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:223,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:225,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:226,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:226,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:227,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:233,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:235,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:236,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:236,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:237,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:243,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:245,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:245,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:246,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:246,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:247,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:248,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:249,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:255,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:257,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:257,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:258,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:258,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:259,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:260,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:260,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:261,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:270,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:270,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:271,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:272,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:273,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:275,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:275,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:276,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:284,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:284,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:285,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:286,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:288,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:288,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:289,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:297,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:297,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:298,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:299,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:301,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:301,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:302,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:310,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:310,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:311,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:312,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:314,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:314,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:315,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:323,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:323,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:324,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:325,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:327,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:327,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:328,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:336,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:336,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:337,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:338,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:340,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:340,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:341,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:350,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:350,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:351,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:352,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:354,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:354,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:355,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:363,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:363,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:364,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:365,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:367,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:367,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:368,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:376,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:376,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:377,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:378,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:380,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:380,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:381,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:389,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:389,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:390,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:391,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:393,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:393,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:394,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:402,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:402,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:403,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:404,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:406,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:406,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:407,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:415,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:415,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:416,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:417,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:419,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:419,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:420,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:428,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:428,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:429,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:430,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:432,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:432,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:433,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:441,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:441,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:442,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:443,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:445,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:445,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:446,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:454,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:454,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:455,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:456,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:458,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:458,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:459,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:467,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:467,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:468,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:469,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:471,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:471,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:472,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:480,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:480,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:481,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:482,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:484,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:484,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:485,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:493,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:493,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:494,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:495,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:497,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:497,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:498,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:504,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:508,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:509,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:509,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:510,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:516,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:520,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:520,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:521,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:521,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:521,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:522,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:523,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:523,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:524,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:532,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:532,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:533,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:534,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:536,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:536,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:537,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:545,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:545,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:546,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:547,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:549,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:549,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:550,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:558,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:559,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:559,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:560,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:567,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:569,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:570,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:570,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:571,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:577,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:581,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:582,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:582,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:583,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:589,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:591,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:592,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:592,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:593,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:599,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:601,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:601,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:602,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:602,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:603,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:604,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:604,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:605,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:611,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:613,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:613,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:614,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:614,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:615,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:616,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:616,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:617,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:623,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:628,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:628,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:629,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:629,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:630,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:631,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:631,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:632,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:637,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:642,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:642,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:643,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:643,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:644,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:645,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:645,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:646,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:651,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:656,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:657,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:657,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:658,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:662,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:667,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:668,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:668,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:669,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:673,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:678,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:679,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:679,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:680,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:684,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:689,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:690,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:690,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:691,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:695,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:700,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:701,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:702,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:711,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:711,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:712,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:713,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:715,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:715,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:716,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:724,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:724,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:725,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:726,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:728,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:728,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:729,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:737,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:737,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:738,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:739,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:741,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:741,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:742,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:750,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:750,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:751,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:752,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:754,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:754,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:755,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:763,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:763,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:764,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:765,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:767,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:768,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:776,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:776,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:777,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:778,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:780,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:780,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:781,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:791,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:791,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:792,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:793,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:795,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:795,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:796,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:804,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:804,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:805,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:806,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:808,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:808,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:809,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:817,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:817,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:818,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:819,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:821,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:821,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:822,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:830,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:830,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:831,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:832,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:834,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:834,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:835,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:843,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:843,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:844,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:845,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:847,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:847,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:848,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:856,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:856,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:857,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:858,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:860,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:860,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:861,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:869,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:869,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:870,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:871,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:873,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:873,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:874,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:882,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:882,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:883,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:884,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:886,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:887,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:895,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:895,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:896,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:897,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:899,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:899,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:900,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:908,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:908,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:909,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:910,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:912,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:912,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:913,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:921,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:921,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:922,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:923,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:925,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:925,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:926,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:934,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:934,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:935,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:936,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:938,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:938,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:939,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:945,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:949,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:950,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:950,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:951,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:957,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:961,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:961,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:962,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:962,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:962,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:963,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:964,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:964,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:965,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:975,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:976,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:976,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:977,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:983,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:985,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:986,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:986,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:987,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1069,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1075,1
    - Dst: wcsmatch
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1075,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1076,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1076,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1077,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1085,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1086,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1087,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1087,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1088,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1096,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1097,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1097,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1098,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1105,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1107,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1108,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1108,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1109,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1115,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1117,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1117,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1119,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1119,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1120,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1126,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1128,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1128,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1130,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1130,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1131,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1137,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1139,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1139,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1140,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1140,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1141,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1142,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1142,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1143,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1149,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1151,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1151,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1152,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1152,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1153,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1154,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1154,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1155,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1164,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1165,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1166,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1174,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1175,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1176,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1184,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1185,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1186,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1194,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1195,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1196,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1204,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1205,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1206,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1214,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1215,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1215,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1216,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1224,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1225,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1225,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1226,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1234,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1235,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1235,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1236,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1244,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1245,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1245,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1246,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1252,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1254,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1254,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1256,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1256,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1257,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1263,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1265,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1265,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1266,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1266,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1266,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1267,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1268,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1268,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1269,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1277,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1278,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1278,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1279,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1287,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1288,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1288,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1289,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1297,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1298,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1298,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1299,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1307,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1308,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1308,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1309,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1317,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1318,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1318,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1319,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1401,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1407,1
    - Dst: wcsmatch
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1408,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1408,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1409,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1418,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1419,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1419,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1420,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1428,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1429,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1429,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1430,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1437,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1439,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1440,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1440,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1441,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1447,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1449,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1449,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1451,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1451,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1452,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1458,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1460,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1460,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1462,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1462,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1463,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1469,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1471,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1471,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1472,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1472,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1473,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1474,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1474,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1475,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1481,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1483,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1483,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1484,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1484,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1485,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1486,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1486,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1487,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1493,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1498,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1498,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1499,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1499,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1500,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1501,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1501,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1502,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1507,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1512,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1512,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1513,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1513,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1514,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1515,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1515,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1516,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1521,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1526,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1527,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1527,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1528,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1532,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1537,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1538,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1538,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1539,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1543,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1546,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1548,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1549,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1549,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1550,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1554,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1559,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1560,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1560,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1561,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1565,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1570,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1571,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1571,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1572,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1581,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1582,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1582,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1583,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1591,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1592,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1592,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1593,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1601,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1602,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1602,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1603,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1611,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1612,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1612,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1613,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1621,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1622,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1622,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1623,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1631,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1632,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1632,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1633,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1641,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1642,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1642,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1643,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1649,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1651,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1652,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1652,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1653,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1661,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1662,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1662,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1663,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1669,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1671,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1671,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1673,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1673,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1674,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1680,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1682,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1682,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1683,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1683,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1683,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1684,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1685,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1685,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1686,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1694,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1695,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1695,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1696,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1704,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1705,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1705,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1706,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1714,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1715,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1715,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1716,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1726,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1727,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1727,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1728,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1736,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1737,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1737,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1738,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1746,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1747,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1747,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1748,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1756,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1757,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1757,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1758,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1765,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1767,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1768,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1768,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1769,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1775,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1777,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1777,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1779,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1779,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1780,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1786,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1788,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1788,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1790,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1790,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1791,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1797,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1799,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1799,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1800,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1800,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1801,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1802,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1802,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1803,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1809,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1811,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1811,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1812,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1812,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1813,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1814,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1814,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1815,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1824,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1825,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1825,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1826,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1832,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1834,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1834,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1836,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1836,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1837,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1845,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1846,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1846,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1847,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1855,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1856,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1856,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1857,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1865,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1866,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1866,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1867,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1873,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1875,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1876,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1876,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1877,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1883,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1885,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1886,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1887,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1895,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1896,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1896,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1897,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1905,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1906,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1906,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1907,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1914,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1916,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1917,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1917,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1918,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1924,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1926,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1926,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1928,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1928,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1929,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1935,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1937,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1937,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1939,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1939,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1940,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1946,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1948,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1948,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1949,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1949,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1950,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1951,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1951,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1952,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1958,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1960,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1960,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1961,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1961,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1962,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1963,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1963,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1964,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1973,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1974,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1974,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1975,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1981,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1981,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1982,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1983,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1983,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1985,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1985,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1986,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1994,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1995,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1995,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:1996,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2002,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2004,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2005,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2005,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2006,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2012,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2014,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2015,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2015,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2016,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2026,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2026,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2028,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2028,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2029,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2036,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2037,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2037,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2039,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2039,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2040,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2122,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2129,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2129,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2131,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2131,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2132,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2132,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2133,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2134,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2134,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2137,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2137,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2138,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2147,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2147,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2149,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2149,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2150,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2158,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2158,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2160,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2160,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2161,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2168,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2170,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2170,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2172,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2172,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2173,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2179,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2181,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2181,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2183,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2183,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2184,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2190,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2192,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2192,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2194,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2194,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2195,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2201,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2203,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2203,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2204,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2204,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2205,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2206,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2206,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2207,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2213,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2215,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2215,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2216,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2216,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2217,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2218,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2218,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2219,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2228,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2228,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2230,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2230,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2231,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2239,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2239,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2241,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2241,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2242,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2250,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2250,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2252,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2252,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2253,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2261,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2261,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2263,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2263,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2264,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2272,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2272,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2274,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2274,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2275,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2283,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2283,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2285,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2285,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2286,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2294,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2294,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2296,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2296,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2297,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2305,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2305,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2307,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2307,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2308,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2316,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2316,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2318,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2318,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2319,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2327,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2327,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2329,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2329,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2330,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2336,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2338,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2338,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2340,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2340,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2341,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2347,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2349,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2349,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2350,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2350,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2350,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2351,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2352,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2352,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2353,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2361,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2361,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2363,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2363,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2364,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2372,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2372,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2374,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2374,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2375,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2383,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2383,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2385,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2385,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2386,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2394,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2394,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2396,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2396,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2397,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2405,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2405,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2407,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2407,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2408,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2490,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2497,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2497,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2499,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2499,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2500,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2500,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2501,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2502,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2502,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2505,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2505,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2506,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2515,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2515,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2517,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2517,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2518,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2526,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2526,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2528,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2528,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2529,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2536,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2538,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2538,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2540,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2540,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2541,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2547,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2549,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2549,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2551,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2551,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2552,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2558,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2560,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2560,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2562,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2562,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2563,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2569,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2571,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2571,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2572,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2572,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2573,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2574,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2574,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2575,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2581,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2583,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2583,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2584,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2584,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2585,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2586,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2586,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2587,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2593,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2598,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2599,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2599,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2600,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2605,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2610,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2611,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2611,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2612,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2617,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2622,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2623,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2623,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2624,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2628,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2633,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2634,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2634,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2635,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2639,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2644,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2645,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2645,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2646,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2650,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2655,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2656,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2656,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2657,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2661,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2666,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2667,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2667,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2668,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2677,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2677,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2679,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2679,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2680,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2688,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2688,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2690,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2690,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2691,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2699,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2699,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2701,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2702,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2710,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2710,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2712,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2712,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2713,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2721,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2721,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2723,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2723,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2724,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2732,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2732,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2734,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2734,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2735,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2743,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2743,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2745,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2745,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2746,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2754,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2754,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2756,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2756,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2757,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2765,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2765,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2767,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2768,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2776,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2776,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2778,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2778,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2779,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2785,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2787,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2787,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2789,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2789,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2790,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2796,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2798,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2798,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2799,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2799,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2799,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2800,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2801,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2801,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2802,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2810,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2810,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2812,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2812,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2813,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2821,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2821,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2823,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2823,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2824,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2832,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2832,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2834,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2834,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2835,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2845,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2846,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2846,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2847,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2855,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2855,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2857,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2857,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2858,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2940,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2947,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2947,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2949,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2950,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2950,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2951,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2951,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2952,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2953,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2953,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2956,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2956,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2957,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2966,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2967,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2967,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2968,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2976,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2977,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2977,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2978,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2985,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2987,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2988,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2988,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2989,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2995,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2995,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2997,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2997,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2999,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:2999,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3000,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3006,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3008,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3008,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3009,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3010,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3010,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3011,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3017,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3017,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3019,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3019,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3020,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3020,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3021,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3021,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3022,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3022,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3023,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3029,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3031,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3031,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3032,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3032,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3033,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3034,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3034,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3035,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3044,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3044,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3045,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3045,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3046,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3054,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3055,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3055,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3056,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3063,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3064,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3065,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3065,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3066,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3072,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3074,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3075,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3075,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3076,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3082,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3083,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3084,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3085,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3085,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3086,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3092,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3093,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3094,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3095,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3095,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3096,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3104,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3105,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3105,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3106,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3114,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3115,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3115,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3116,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3124,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3124,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3126,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3126,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3127,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3135,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3136,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3137,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3143,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3145,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3145,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3147,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3147,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3148,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3154,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3156,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3156,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3157,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3157,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3157,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3158,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3159,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3159,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3160,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3168,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3168,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3170,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3170,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3171,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3179,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3180,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3180,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3181,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3189,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3190,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3190,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3191,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3199,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3200,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3200,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3201,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3209,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3209,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3211,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3211,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3294,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3301,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3301,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3303,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3304,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3304,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3305,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3305,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3306,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3307,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3307,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3310,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3310,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3311,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3320,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3321,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3321,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3322,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3330,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3331,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3331,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3332,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3339,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3341,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3342,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3342,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3343,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3349,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3351,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3351,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3353,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3353,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3354,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3360,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3362,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3362,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3364,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3364,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3365,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3371,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3373,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3373,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3374,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3374,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3375,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3376,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3376,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3377,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3383,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3385,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3385,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3386,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3386,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3387,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3388,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3388,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3389,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3395,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3400,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3400,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3401,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3401,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3402,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3403,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3403,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3404,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3409,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3414,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3414,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3415,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3415,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3416,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3417,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3417,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3418,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3423,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3428,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3429,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3429,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3430,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3434,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3439,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3440,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3440,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3441,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3445,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3450,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3451,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3451,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3452,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3456,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3461,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3462,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3462,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3463,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3467,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3472,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3473,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3473,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3474,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3483,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3484,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3484,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3485,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3493,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3494,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3494,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3495,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3503,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3504,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3504,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3505,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3513,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3514,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3514,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3515,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3523,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3524,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3524,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3525,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3533,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3534,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3534,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3535,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3543,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3544,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3544,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3545,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3553,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3554,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3554,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3555,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3563,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3563,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3565,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3565,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3566,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3574,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3575,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3575,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3576,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3582,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3584,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3584,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3586,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3586,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3587,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3593,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3595,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3595,1
    - Dst: wcsisnan
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3596,1
    - Dst: wcsspn
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3596,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3596,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3597,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3598,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3598,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3599,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3607,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3607,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3609,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3609,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3610,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3618,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3619,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3620,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3628,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3629,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3629,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3630,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3642,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3643,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3644,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3645,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3656,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3657,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3657,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3658,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3668,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3669,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3669,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3670,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3680,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3681,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3681,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3682,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3690,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3691,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3691,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3692,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3700,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3701,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3702,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3715,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3716,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3716,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3717,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3728,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3729,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3729,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3730,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3742,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3743,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3743,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3744,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3755,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3756,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3756,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3757,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3768,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3769,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3769,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3770,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3781,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3782,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3782,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3783,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3796,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3797,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3797,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3798,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3811,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3812,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3812,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3813,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3821,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3826,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3827,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3827,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3828,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3845,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3846,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3847,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3847,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3848,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3858,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3859,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3859,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3860,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3868,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3869,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3869,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3870,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3878,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3879,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3879,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3880,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3888,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3889,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3889,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3890,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3909,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3910,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3922,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3922,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3923,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3923,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3924,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3930,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3932,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3933,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3933,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3934,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3942,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3943,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3943,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3944,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3952,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3953,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3953,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3954,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3971,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3972,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3974,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3978,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3980,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3980,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3981,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3982,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3995,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:3999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4000,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4001,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4002,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4002,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4003,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4004,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4012,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4014,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4016,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4021,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4023,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4025,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4032,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4034,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4041,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4043,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4054,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4055,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4055,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4056,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4065,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4065,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4066,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4066,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4067,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4075,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4076,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4077,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4077,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4078,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4087,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4088,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4088,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4089,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4097,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4097,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4098,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4098,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4099,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4107,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4108,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4109,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4126,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4127,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4139,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4140,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4140,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4141,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4149,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4150,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4150,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4151,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4159,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4160,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4160,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4161,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4169,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4170,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4170,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4171,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4178,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4179,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4179,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4180,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4187,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4188,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4189,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4202,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4203,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4204,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4214,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4216,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4217,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4218,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4229,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4230,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4230,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4231,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4239,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4240,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4240,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4241,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4249,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4250,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4250,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4251,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4259,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4260,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4260,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4261,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4269,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4270,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4270,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4271,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4279,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4280,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4280,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4281,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4289,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4290,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4290,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4291,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4299,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4300,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4300,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4301,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4311,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4312,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4312,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4313,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4321,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4322,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4322,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4323,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4333,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4334,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4334,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4335,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4343,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4344,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4344,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4345,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4353,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4354,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4354,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4355,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4363,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4364,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4364,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4365,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4373,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4374,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4374,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4375,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4383,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4384,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4384,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4385,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4393,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4394,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4394,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4395,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4403,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4404,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4404,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4405,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4415,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4416,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4416,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4417,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4428,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4429,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4429,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4430,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4438,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4439,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4439,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4440,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4448,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4449,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4449,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4450,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4461,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4462,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4462,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4463,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4474,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4475,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4475,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4476,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4484,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4485,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4485,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4486,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4494,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4495,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4495,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4496,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4504,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4505,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4505,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4506,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4514,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4515,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4515,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4516,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4524,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4525,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4525,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4526,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4534,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4535,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4535,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4536,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4544,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4545,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4545,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4546,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4556,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4557,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4557,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4558,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4566,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4567,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4567,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4568,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4578,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4579,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4579,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4580,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4588,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4589,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4589,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4590,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4598,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4599,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4599,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4600,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4608,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4609,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4609,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4610,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4618,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4619,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4620,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4628,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4629,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4629,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4630,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4638,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4639,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4639,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4640,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4648,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4649,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4649,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4650,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4657,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4660,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4661,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4661,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4662,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4673,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4674,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4674,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4675,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4685,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4686,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4686,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4687,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4694,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4695,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4695,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4696,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4703,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4704,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4704,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4705,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4712,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4713,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4713,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4714,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4721,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4722,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4722,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4723,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4730,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4731,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4731,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4732,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4739,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4740,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4740,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4741,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4748,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4749,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4749,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4750,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4757,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4758,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4758,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4759,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4766,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4767,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4768,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4775,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4776,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4776,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4777,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4784,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4785,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4785,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4786,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4793,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4794,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4794,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4795,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4805,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4806,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4806,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4807,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4814,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4815,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4815,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4816,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4823,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4824,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4824,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4825,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4832,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4833,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4833,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4834,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4841,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4842,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4842,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4843,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4850,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4851,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4851,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4852,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4859,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4860,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4860,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4861,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4868,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4869,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4869,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4870,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4877,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4878,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4878,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4879,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4886,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4887,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4887,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4888,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4895,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4896,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4896,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4897,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4904,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4905,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4905,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4906,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4913,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4914,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4914,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4915,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4925,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4926,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4926,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4927,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4934,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4934,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4935,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4935,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4936,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4943,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4943,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4944,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4944,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4945,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4952,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4953,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4953,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4954,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4961,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4962,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4962,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4963,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4970,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4971,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4971,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4972,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4979,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4980,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4980,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4981,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4988,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4989,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4989,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4990,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4997,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4998,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4998,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:4999,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5006,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5007,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5007,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5008,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5015,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5016,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5016,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5017,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5024,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5025,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5025,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5026,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5033,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5034,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5034,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5035,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5044,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5045,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5046,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5046,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5047,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5054,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5055,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5055,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5056,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5063,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5063,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5064,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5064,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5065,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5072,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5072,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5073,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5073,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5074,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5080,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5081,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5081,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5082,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5082,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5083,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5089,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5090,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5090,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5091,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5091,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5092,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5099,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5100,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5100,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5101,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5108,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5109,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5109,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5110,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5117,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5118,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5118,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5119,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5126,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5127,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5127,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5128,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5135,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5136,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5137,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5144,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5145,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5146,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5153,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5154,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5154,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5155,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5165,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5166,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5166,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5167,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5174,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5175,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5176,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5183,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5184,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5184,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5185,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5192,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5193,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5193,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5194,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5201,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5202,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5202,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5203,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5210,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5211,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5211,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5212,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5219,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5220,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5220,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5221,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5228,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5229,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5229,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5230,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5237,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5238,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5238,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5239,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5246,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5247,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5247,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5248,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5255,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5256,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5256,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5257,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5264,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5265,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5265,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5266,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5273,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5274,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5274,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5275,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5285,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5286,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5286,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5287,1
    CyclomaticComplexity: 379
    EdgeCount: 379
    ICount: 2118
    argCount: 1
    argNames:
    - (*my_asnwprintf) (wchar_t *, size_t *, const wchar_t *, ...)
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 5290
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 5290
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 24
    functionsReached:
    - SNaNl
    - wmemcpy
    - SNaNd
    - wcsisnan
    - free
    - wcsmatch
    - LDBL80_WORDS
    - SIZEOF
    - ASSERT
    - Infinityd
    - my_asnwprintf
    - wcslen
    - NaNl
    - Infinityl
    - wcsspn
    - wmemcmp
    - malloc
    - wcscmp
    - NaNd
    - have_minus_zero
    - memcpy
    linkageType: ''
    returnType: void
    signature: void test_function (wchar_t * (*my_asnwprintf) (wchar_t *, size_t *,
      const wchar_t *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5298,1
    - Dst: vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5299,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - wchar_t*
    - size_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 5302
      start: 5292
    functionDepth: 0
    functionLinenumber: 5292
    functionLinenumberEnd: 5302
    functionName: my_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - vasnwprintf
    - va_end
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      my_asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5304
    functionDepth: 0
    functionLinenumber: 5304
    functionLinenumberEnd: 5308
    functionName: test_vasnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5314
      start: 5310
    functionDepth: 0
    functionLinenumber: 5310
    functionLinenumberEnd: 5314
    functionName: test_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5319,1
    - Dst: test_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix.c:5320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 5322
      start: 5316
    functionDepth: 0
    functionLinenumber: 5316
    functionLinenumberEnd: 5322
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_asnwprintf
    - test_vasnwprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:43,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:44,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:46,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:47,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:48,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:49,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:50,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:51,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:52,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:53,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:54,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:55,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:57,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:58,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:59,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:60,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:61,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:62,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:63,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:64,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:65,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:67,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:68,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:68,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill.c:68,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill.c:70,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-ceill.c:70,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill.c:70,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-ceill.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceill.c
    functionUses: 7
    functionsReached:
    - ceill
    - Infinityl
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: have_minus_zero
    functionSourceFile: /src/gnulib/tests/test-snprintf-posix.h
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int have_minus_zero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:49,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: strmatch
    functionSourceFile: /src/gnulib/tests/test-snprintf-posix.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int strmatch (const char *pattern, const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-snprintf-posix.h
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-snprintf-posix.h:91,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-snprintf-posix.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:98,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:101,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:105,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:122,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:166,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:166,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:187,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:188,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:194,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:194,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:195,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:197,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:203,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:203,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:204,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:217,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:223,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:223,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:224,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:237,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:243,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:243,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:244,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:245,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:255,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:265,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:267,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:274,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:274,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:276,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:278,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:285,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:295,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:296,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:298,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:304,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:304,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:315,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:316,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:318,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:324,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:324,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:325,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:328,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:335,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:338,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:344,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:344,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:345,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:346,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:348,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:355,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:356,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:358,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:365,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:366,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:368,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:376,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:378,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:384,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:384,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:385,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:396,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:397,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:405,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:405,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:406,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:406,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:406,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:407,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:408,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:414,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:414,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:415,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:416,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:418,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:425,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:426,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:428,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:434,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:435,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:435,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:442,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:443,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:451,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:452,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:458,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:459,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:465,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:465,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:466,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:466,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:467,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:468,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:474,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:474,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:475,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:476,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:477,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:477,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:486,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:487,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:487,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:488,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:489,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:489,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:497,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:498,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:498,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:499,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:500,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:500,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:508,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:509,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:509,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:516,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:517,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:517,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:524,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:525,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:525,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:532,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:533,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:533,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:540,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:541,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:549,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:550,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:552,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:558,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:558,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:559,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:560,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:562,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:568,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:568,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:569,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:570,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:572,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:578,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:578,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:579,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:580,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:588,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:588,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:589,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:590,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:592,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:599,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:600,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:602,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:610,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:610,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:611,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:612,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:614,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:620,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:620,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:621,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:624,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:630,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:630,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:631,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:632,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:634,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:640,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:640,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:642,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:650,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:650,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:651,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:660,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:660,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:661,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:664,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:670,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:670,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:671,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:672,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:674,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:680,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:680,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:681,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:682,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:684,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:691,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:692,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:694,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:700,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:700,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:701,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:702,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:704,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:712,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:714,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:721,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:722,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:724,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:733,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:741,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:742,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:742,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:743,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:744,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:752,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:753,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:759,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:760,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:760,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:846,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-snprintf-posix.h:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:847,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:854,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:855,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:861,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:862,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:862,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:869,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:870,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:878,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:884,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:884,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:892,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:892,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:893,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:893,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:894,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:895,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:901,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:901,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:902,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:903,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:904,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:911,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:912,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:919,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:925,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:926,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:932,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:933,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:939,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:940,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:946,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:953,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:954,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:967,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:968,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:974,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:974,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:976,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:982,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:982,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:983,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:983,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:983,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:984,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:985,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:991,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:992,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:998,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:999,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1005,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1006,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1012,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1012,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1013,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1019,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1019,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1020,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1020,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:1102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1106,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-snprintf-posix.h:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1107,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1122,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1122,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:1128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1136,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1136,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1146,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1152,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1152,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1154,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1161,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1163,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1164,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1164,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1173,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1176,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1176,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1184,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1184,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1186,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1187,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1187,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1196,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1196,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1203,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1204,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1211,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1212,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1219,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1220,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1220,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1236,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1243,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1250,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1264,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1271,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1278,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1285,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1300,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1306,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1306,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1307,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:1307,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1307,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1309,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1315,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1316,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1322,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1323,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1329,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1330,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1339,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1345,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1346,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1353,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1359,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1360,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1360,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:1366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1367,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1368,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1376,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1384,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1390,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1390,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1391,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1391,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1392,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1393,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1399,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1399,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1400,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1400,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1401,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1402,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1410,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1416,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1416,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1418,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1425,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1431,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1432,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1438,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1439,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1445,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1446,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1452,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1453,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1459,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1460,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1466,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1467,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1467,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:1473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1474,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1475,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1481,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1481,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1491,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1497,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1498,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1498,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1499,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1500,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1506,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1506,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1507,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1507,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1508,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1509,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1516,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1517,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1523,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1523,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1525,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1531,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1532,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1539,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1545,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1546,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1546,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1556,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1562,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1562,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1564,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1564,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:1646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1651,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1651,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1653,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1653,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1655,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1657,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1659,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1668,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1674,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1674,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1676,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1676,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:1682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1683,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1683,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1685,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1691,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1691,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1693,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1699,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1699,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1701,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1707,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1707,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1708,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1708,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1709,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1710,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1716,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1716,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1717,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1717,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1718,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1728,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1734,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1734,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1736,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1744,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1752,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1760,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1766,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1766,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1768,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1776,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1782,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1782,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1784,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1790,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1790,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1792,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1800,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1814,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1814,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:1815,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:1815,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1815,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1816,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1817,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1823,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1823,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1825,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1833,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1839,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1839,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1847,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1847,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1849,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1857,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1857,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:1939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1944,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1944,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1946,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1946,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1948,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1952,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1959,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1959,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1967,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1967,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1969,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1969,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:1975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1976,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1976,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1978,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1984,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1984,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1986,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1992,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1992,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:1993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:1994,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:1994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2000,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2000,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2001,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2001,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2002,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2002,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2003,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2009,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2009,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2010,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2010,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2011,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2011,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2012,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2012,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2021,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2021,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2022,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2022,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2023,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2024,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2024,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2032,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2032,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2033,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2033,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2034,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2035,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2035,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2040,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2043,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2044,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2044,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2051,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2052,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2052,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2059,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2060,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2060,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2067,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2067,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2068,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2068,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2072,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2075,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2075,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2076,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2083,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2083,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2085,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2085,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2091,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2091,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2092,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2093,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2093,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2099,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2099,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2109,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2117,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2125,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2157,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2163,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2163,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2171,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2171,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2172,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:2172,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2172,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2182,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2188,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2188,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2190,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2196,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2196,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2198,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2206,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2207,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2215,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:2297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2302,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2302,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2304,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2305,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2305,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2306,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2306,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2307,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2311,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2318,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2319,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2325,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2326,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2326,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:2332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2333,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2334,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2342,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2348,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2348,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2350,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2356,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2356,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2357,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2357,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2358,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2359,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2365,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2365,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2366,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2366,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2367,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2368,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2376,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2383,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2389,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2390,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2396,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2397,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2404,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2411,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2417,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2418,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2425,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2431,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2431,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2433,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2440,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2446,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2446,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2448,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2454,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2454,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2455,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:2455,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2455,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2456,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2457,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2463,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2463,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2465,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2471,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2472,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2479,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2485,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2492,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2492,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2494,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2494,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-snprintf-posix.h:2576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2581,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2581,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2584,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2584,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2585,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2585,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2586,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2587,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2587,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2590,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2597,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2598,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2604,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2605,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2605,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-snprintf-posix.h:2611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2612,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2613,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2619,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2619,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2621,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2629,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2635,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2635,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2636,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2637,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2638,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2644,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2645,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2645,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2646,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2647,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2647,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2656,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2657,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2657,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2658,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2659,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2659,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2667,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2667,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2668,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2668,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2669,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2670,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2670,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2678,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2679,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2679,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2686,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2687,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2687,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2694,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2695,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2695,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2702,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2703,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2703,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-snprintf-posix.h:2707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2710,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2725,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2726,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2733,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2739,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2740,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2747,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2753,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2754,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2761,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2767,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2768,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2776,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2782,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2783,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2789,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2789,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2791,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2797,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2797,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-snprintf-posix.h:2798,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-snprintf-posix.h:2798,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2799,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2800,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2814,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2815,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2821,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2821,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2822,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2832,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2833,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2843,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2844,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2852,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2853,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2861,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2862,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2868,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2869,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2875,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2876,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2887,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2888,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2898,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2908,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2909,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2919,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2928,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2928,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2929,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2938,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2939,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2950,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2951,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2963,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2974,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2975,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2975,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-snprintf-posix.h:2986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2987,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2988,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2989,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2997,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:2997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:2998,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:2998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3004,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3005,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3011,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3011,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3012,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3012,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3018,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3019,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3019,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3027,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3028,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3034,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3035,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3041,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3041,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3042,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3048,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3049,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3049,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-snprintf-posix.h:3063,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-snprintf-posix.h:3064,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-snprintf-posix.h:3065,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3066,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3067,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3068,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3068,1
    - Dst: free
      Src: /src/gnulib/tests/test-snprintf-posix.h:3069,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-snprintf-posix.h:3081,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-snprintf-posix.h:3084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3085,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3085,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3087,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3087,1
    - Dst: free
      Src: /src/gnulib/tests/test-snprintf-posix.h:3088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3099,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3107,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3123,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3131,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3138,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3148,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3168,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3169,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3176,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3177,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3190,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3218,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3219,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3226,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3232,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3233,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3240,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3246,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3254,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3260,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3261,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3267,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3268,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3276,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3277,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3283,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3284,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3292,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3293,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3299,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3300,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3307,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3313,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3314,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3321,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3327,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3328,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3335,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3341,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3342,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3351,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3361,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3367,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3368,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3375,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3384,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3394,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3395,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3401,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3402,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3408,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3409,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3415,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3416,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3423,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3429,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3430,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3436,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3437,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3443,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3444,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3452,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3453,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3459,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3460,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3468,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3469,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3476,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3482,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3490,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3496,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3503,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3504,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3510,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3511,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3517,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3518,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3527,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3536,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3537,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3547,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3548,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3555,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3556,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3563,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3564,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3571,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3572,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3579,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3580,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3587,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3588,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3595,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3596,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3603,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3604,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3611,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3612,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3619,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3620,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3628,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3635,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3636,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3643,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3654,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3655,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3663,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3670,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3671,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3678,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3679,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3686,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3687,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3694,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3695,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3702,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3703,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3711,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3727,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3734,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3735,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3743,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3751,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3761,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3762,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3769,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3770,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3778,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3785,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3793,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3794,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3801,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3802,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3809,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3810,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3818,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3825,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3826,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3833,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3834,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3841,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3842,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3849,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3850,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3857,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3858,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3868,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3869,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3877,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3884,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3885,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3892,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3893,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3900,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3901,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3908,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3909,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3916,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3917,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3924,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3925,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3932,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3933,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3940,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3941,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3948,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3948,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3956,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3957,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3964,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3965,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3975,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3976,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3983,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3983,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3984,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3991,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3992,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:3992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:3999,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:3999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4000,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4007,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4008,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4008,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4015,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4016,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4016,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4023,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4024,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4031,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4031,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4032,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4039,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4040,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4040,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4047,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4047,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4048,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4055,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4056,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4063,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4063,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4064,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4071,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-posix.h:4071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-posix.h:4072,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-posix.h:4072,1
    CyclomaticComplexity: 368
    EdgeCount: 368
    ICount: 1317
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 4074
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-snprintf-posix.h
    functionUses: 26
    functionsReached:
    - strisnan
    - strlen
    - free
    - strspn
    - my_snprintf
    - memcmp
    - LDBL80_WORDS
    - have_minus_zero
    - strcmp
    - memcpy
    - strmatch
    - malloc
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_snprintf) (char *, size_t, const char
      *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-strcasestr.c:41,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-strcasestr.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:91,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:112,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/test-strcasestr.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:115,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:135,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/test-strcasestr.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:138,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:151,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:155,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/test-strcasestr.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:160,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:162,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:242,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strcasestr.c:243,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-strcasestr.c:246,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-strcasestr.c:247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strcasestr.c:247,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/test-strcasestr.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:250,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:260,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:272,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:273,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strcasestr.c:275,1
    - Dst: strcasestr
      Src: /src/gnulib/tests/test-strcasestr.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasestr.c:279,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:281,1
    - Dst: free
      Src: /src/gnulib/tests/test-strcasestr.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 286
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strcasestr.c
    functionUses: 7
    functionsReached:
    - strcasestr
    - strlen
    - alarm
    - signal
    - free
    - memset
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-inttypes-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:27,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-frexp-ieee.h:27,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-frexp-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:37,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp-ieee.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:43,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp-ieee.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-frexp-ieee.h:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-frexp-ieee.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:45,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp-ieee.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:53,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp-ieee.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp-ieee.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 61
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-frexp-ieee.h
    functionUses: 26
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - FREXP
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:36,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 137
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-tolower_l.c
    functionUses: 2
    functionsReached:
    - tolower_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-tolower_l.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:101,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-tolower_l.c:103,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-tolower_l.c:105,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-tolower_l.c:110,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-tolower_l.c:112,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-tolower_l.c:114,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-tolower_l.c:118,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:125,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:128,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:131,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:134,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:137,1
    - Dst: tolower_l
      Src: /src/gnulib/tests/test-tolower_l.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tolower_l.c:140,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-tolower_l.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tolower_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - tolower_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:54,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:66,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:75,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:87,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:96,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:108,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:117,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:129,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:138,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:150,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:159,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:171,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:180,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:192,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:201,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:335,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:346,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:357,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:368,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:379,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:390,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:390,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:499,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:510,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:519,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:521,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:521,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:532,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:543,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:554,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:565,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:576,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:587,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:598,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:649,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:685,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:698,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:698,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:772,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:773,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:790,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:791,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:795,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:795,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:803,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:804,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:821,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:821,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:822,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:823,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:823,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:830,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:831,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:848,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:849,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:853,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:853,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:861,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:862,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:873,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:875,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:879,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:880,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:882,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:899,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:900,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-xstrtod.c:900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:904,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:904,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:912,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:913,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:928,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:948,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1008,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1009,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtod.c:1020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1027,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtod.c:1029,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtod.c:1038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1044,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1045,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtod.c:1047,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtod.c:1060,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1072,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1075,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtod.c:1077,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtod.c:1087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1101,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtod.c:1103,1
    - Dst: memset
      Src: /src/gnulib/tests/test-xstrtod.c:1117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1122,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:1122,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-xstrtod.c:1122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtod.c:1124,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrtod.c:1126,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 580
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 1130
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstrtod.c
    functionUses: 7
    functionsReached:
    - isnand
    - free
    - signbit
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logf
      Src: /src/gnulib/tests/test-logf.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logf.c:46,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-logf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logf.c
    functionUses: 7
    functionsReached:
    - logf
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strncasecmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:39,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:40,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:42,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:43,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:45,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:46,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:47,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:48,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:49,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:50,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:51,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:52,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:54,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:55,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:56,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:57,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:58,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:59,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:60,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:61,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:66,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:67,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:72,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:73,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:77,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strncasecmp.c:78,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/tests/test-c-strncasecmp.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strncasecmp.c
    functionUses: 7
    functionsReached:
    - c_strncasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-ffs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:48,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:48,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffs.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:51,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:51,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffs.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:52,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:53,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:57,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:58,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:62,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:63,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:64,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffs.c:65,1
    - Dst: ffs
      Src: /src/gnulib/tests/test-ffs.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ffs.c
    functionUses: 7
    functionsReached:
    - naive
    - ffs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1f-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1f-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-malloc-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-round2.c:61,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-round2.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-round2.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - message
    - x
    - y0
    - y1
    argTypes:
    - char*
    - DOUBLE
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-round2.c
    functionUses: 120
    functionsReached:
    - fprintf
    - ISNAN
    linkageType: ''
    returnType: bool
    signature: bool equal (const char *message, DOUBLE x, DOUBLE y0, DOUBLE y1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round_reference1
      Src: /src/gnulib/tests/test-round2.c:77,1
    - Dst: round_reference2
      Src: /src/gnulib/tests/test-round2.c:78,1
    - Dst: ROUND
      Src: /src/gnulib/tests/test-round2.c:79,1
    - Dst: equal
      Src: /src/gnulib/tests/test-round2.c:82,1
    - Dst: exit
      Src: /src/gnulib/tests/test-round2.c:83,1
    - Dst: equal
      Src: /src/gnulib/tests/test-round2.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-round2.c
    functionUses: 107
    functionsReached:
    - exit
    - round_reference2
    - ROUND
    - round_reference1
    - equal
    linkageType: ''
    returnType: bool
    signature: bool check (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-round2.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-round2.c
    functionUses: 7
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: ceil_reference
    functionSourceFile: /src/gnulib/tests/test-ceil2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE ceil_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/tests/test-ceil2.c:114,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-ceil2.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-ceil2.c
    functionUses: 121
    functionsReached:
    - isnand
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ceil2.c:122,1
    - Dst: equal
      Src: /src/gnulib/tests/test-ceil2.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-ceil2.c
    functionUses: 1
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil2.c:133,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-ceil2.c:133,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-ceil2.c:137,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ceil2.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-ceil2.c
    functionUses: 108
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-ceil2.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceil2.c
    functionUses: 7
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnulib/tests/test-strerror_l.c:55,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_l.c:55,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strerror_l.c:57,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-strerror_l.c:59,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/test-strerror_l.c:62,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_l.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerror_l.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-strerror_l.c:65,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strerror_l.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerror_l.c:74,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strerror_l.c:75,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strerror_l.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-strerror_l.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:87,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerror_l.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_l.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerror_l.c:88,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strerror_l.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strerror_l.c
    functionUses: 7
    functionsReached:
    - newlocale
    - setlocale
    - freelocale
    - xstrdup
    - strcmp
    - strerror
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-rbtree_oset.c:50,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-rbtree_oset.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:54,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:55,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:58,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:59,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:59,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:60,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-rbtree_oset.c
    functionUses: 1
    functionsReached:
    - gl_oset_iterator
    - gl_oset_iterator_free
    - gl_oset_iterator_next
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_oset_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_rbtree_oset_check_invariants
      Src: /src/gnulib/tests/test-rbtree_oset.c:67,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtree_oset.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-rbtree_oset.c
    functionUses: 1
    functionsReached:
    - gl_rbtree_oset_check_invariants
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_oset_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-rbtree_oset.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - threshold
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: is_at_least
    functionSourceFile: /src/gnulib/tests/test-rbtree_oset.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_at_least (const void *elt, const void *threshold)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-rbtree_oset.c:84,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-rbtree_oset.c:84,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-rbtree_oset.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:93,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-rbtree_oset.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:97,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_oset.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:105,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-rbtree_oset.c:105,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-rbtree_oset.c:105,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_oset.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:117,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-rbtree_oset.c:117,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-rbtree_oset.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:123,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-rbtree_oset.c:123,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-rbtree_oset.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:129,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-rbtree_oset.c:129,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-rbtree_oset.c:129,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/tests/test-rbtree_oset.c:135,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/tests/test-rbtree_oset.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:147,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:148,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-rbtree_oset.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_oset.c:152,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:154,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:155,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_oset.c:159,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:162,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-rbtree_oset.c:163,1
    - Dst: test_update
      Src: /src/gnulib/tests/test-rbtree_oset.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 169
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rbtree_oset.c
    functionUses: 7
    functionsReached:
    - gl_oset_nx_create_empty
    - gl_oset_iterator_next
    - gl_oset_free
    - atoi
    - gl_oset_search
    - test_update
    - gl_oset_nx_add
    - check_all
    - srand
    - gl_oset_remove
    - gl_oset_iterator_free
    - gl_oset_iterator_atleast
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:30,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:32,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:43,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:54,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:63,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:65,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:74,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:76,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:85,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:87,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:96,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:98,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:107,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:109,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:121,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:131,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:141,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:151,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:161,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:171,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:181,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:191,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:201,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:211,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:221,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:232,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:234,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:243,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:245,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:254,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:256,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:265,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:267,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:276,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:278,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:289,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:301,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:311,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:321,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:331,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:341,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:351,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:360,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:362,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:371,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:373,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:384,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:393,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:395,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:404,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:406,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:415,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:417,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:426,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:428,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:437,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:439,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:448,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:450,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:459,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:461,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:471,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:481,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:493,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:503,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:513,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:526,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:538,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:554,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:556,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:571,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:571,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:573,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:585,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:595,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:607,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:617,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:625,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:627,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:637,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:647,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:659,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:662,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:663,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:667,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:667,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:675,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:676,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:679,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:689,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:692,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:693,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:694,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:694,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:701,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:702,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:705,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:715,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:718,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:719,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:723,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:723,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:731,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:732,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:735,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:745,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:750,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:752,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:765,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:768,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:769,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-strtof.h:769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:773,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:773,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:773,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:781,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:782,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:785,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:798,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:808,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:818,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:828,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:838,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:848,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:858,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:868,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:878,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtof.h:889,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:896,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtof.h:898,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtof.h:907,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:914,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtof.h:916,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtof.h:929,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:943,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:944,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtof.h:946,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtof.h:956,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:970,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtof.h:972,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtof.h:986,1
    - Dst: my_strtof
      Src: /src/gnulib/tests/test-strtof.h:989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:991,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:991,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtof.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof.h:993,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtof.h:995,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 584
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1003
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-strtof.h
    functionUses: 28
    functionsReached:
    - free
    - signbit
    - isnanf
    - my_strtof
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (float (*my_strtof) (const char *, char **))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thrd_exit
      Src: /src/gnulib/tests/test-thrd_exit.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: worker_thread_func
    functionSourceFile: /src/gnulib/tests/test-thrd_exit.c
    functionUses: 0
    functionsReached:
    - thrd_exit
    linkageType: ''
    returnType: int
    signature: int worker_thread_func (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thrd_current
      Src: /src/gnulib/tests/test-thrd_exit.c:49,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-thrd_exit.c:51,1
    - Dst: thrd_current
      Src: /src/gnulib/tests/test-thrd_exit.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_exit.c:58,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-thrd_exit.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_exit.c:62,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-thrd_exit.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_exit.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thrd_exit.c:68,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-thrd_exit.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thrd_exit.c
    functionUses: 7
    functionsReached:
    - fputs
    - thrd_join
    - memcmp
    - thrd_current
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:50,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:54,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:58,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:62,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-getpayloadl.c:64,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:66,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-getpayloadl.c:68,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:79,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:79,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:81,1
    - Dst: minus_NaNl
      Src: /src/gnulib/tests/test-getpayloadl.c:83,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:89,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:89,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:101,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-getpayloadl.c:101,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:107,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-getpayloadl.c:107,1
    - Dst: getpayloadl
      Src: /src/gnulib/tests/test-getpayloadl.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:109,1
    - Dst: memory_positive_SNaNl
      Src: /src/gnulib/tests/test-getpayloadl.c:112,1
    - Dst: memory_negative_SNaNl
      Src: /src/gnulib/tests/test-getpayloadl.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayloadl.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getpayloadl.c
    functionUses: 7
    functionsReached:
    - minus_NaNl
    - memory_negative_SNaNl
    - getpayloadl
    - setpayloadl
    - Infinityl
    - memory_positive_SNaNl
    - setpayloadsigl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: init_squares
    functionSourceFile: /src/gnulib/tests/test-at-init-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_squares (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: get_squares
    functionSourceFile: /src/gnulib/tests/test-at-init-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_squares (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob-h.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob-h.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob-h.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-glob-h.c
    functionUses: 7
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: coshf
      Src: /src/gnulib/tests/test-coshf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-coshf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-coshf.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - coshf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: prepare_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_read (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi1.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void done_read (void *data_read, size_t num_bytes_read, void *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:77,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:84,1
    - Dst: pipe_filter_gi_create
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:103,1
    - Dst: pipe_filter_gi_write
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:105,1
    - Dst: pipe_filter_gi_close
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/test-pipe-filter-gi1.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 114
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi1.c
    functionUses: 7
    functionsReached:
    - pipe_filter_gi_create
    - pipe_filter_gi_close
    - free
    - pipe_filter_gi_write
    - read_file
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:30,1
    - Dst: bswap_16
      Src: /src/gnulib/tests/test-byteswap.c:30,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-byteswap.c:30,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-byteswap.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:31,1
    - Dst: bswap_32
      Src: /src/gnulib/tests/test-byteswap.c:31,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-byteswap.c:31,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-byteswap.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:33,1
    - Dst: bswap_64
      Src: /src/gnulib/tests/test-byteswap.c:33,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-byteswap.c:33,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-byteswap.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: test_bswap_constant
    functionSourceFile: /src/gnulib/tests/test-byteswap.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - bswap_64
    - bswap_32
    - UINT32_C
    - bswap_16
    - UINT16_C
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_bswap_constant (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:43,1
    - Dst: bswap_16
      Src: /src/gnulib/tests/test-byteswap.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:47,1
    - Dst: bswap_32
      Src: /src/gnulib/tests/test-byteswap.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:52,1
    - Dst: bswap_64
      Src: /src/gnulib/tests/test-byteswap.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: test_bswap_eval_once
    functionSourceFile: /src/gnulib/tests/test-byteswap.c
    functionUses: 0
    functionsReached:
    - bswap_16
    - bswap_64
    - ASSERT
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void test_bswap_eval_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:61,1
    - Dst: bswap_16
      Src: /src/gnulib/tests/test-byteswap.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:62,1
    - Dst: bswap_32
      Src: /src/gnulib/tests/test-byteswap.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-byteswap.c:64,1
    - Dst: bswap_64
      Src: /src/gnulib/tests/test-byteswap.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: test_bswap_double
    functionSourceFile: /src/gnulib/tests/test-byteswap.c
    functionUses: 0
    functionsReached:
    - bswap_16
    - bswap_64
    - ASSERT
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void test_bswap_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_bswap_constant
      Src: /src/gnulib/tests/test-byteswap.c:71,1
    - Dst: test_bswap_eval_once
      Src: /src/gnulib/tests/test-byteswap.c:72,1
    - Dst: test_bswap_double
      Src: /src/gnulib/tests/test-byteswap.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-byteswap.c
    functionUses: 7
    functionsReached:
    - test_bswap_constant
    - test_bswap_eval_once
    - test_bswap_double
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - long double
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-printf-frexpl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double my_ldexp (long double x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:82,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:104,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:105,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:106,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:128,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:129,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-printf-frexpl.c:130,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-printf-frexpl.c:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-frexpl.c
    functionUses: 7
    functionsReached:
    - my_ldexp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - int
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sigint_handler
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint_handler (_GL_UNUSED int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:51,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:51,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:53,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:59,1
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:62,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:64,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:68,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:71,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:71,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:75,1
    - Dst: system
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:75,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:84,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask1.c
    functionUses: 7
    functionsReached:
    - pthread_sigmask
    - num_cpus
    - fputs
    - signal
    - is_running_under_virtualbox_kvm
    - getpid
    - system
    - sleep
    - sigemptyset
    - sigaddset
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread_sigmask1.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask1.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/gnulib/tests/bench.h:38,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/bench.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timings_state*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: timing_start
    functionSourceFile: /src/gnulib/tests/bench.h
    functionUses: 1
    functionsReached:
    - getrusage
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void timing_start (struct timings_state *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/tests/bench.h:51,1
    - Dst: getrusage
      Src: /src/gnulib/tests/bench.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timings_state*
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: timing_end
    functionSourceFile: /src/gnulib/tests/bench.h
    functionUses: 1
    functionsReached:
    - gettimeofday
    - getrusage
    linkageType: ''
    returnType: void
    signature: void timing_end (struct timings_state *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench.h:66,1
    - Dst: printf
      Src: /src/gnulib/tests/bench.h:67,1
    - Dst: printf
      Src: /src/gnulib/tests/bench.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timings_state*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: timing_output
    functionSourceFile: /src/gnulib/tests/bench.h
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED timing_output (const struct timings_state *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sched-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: prepare_write
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_write (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data_written
    - num_bytes_written
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: done_write
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void done_write (void *data_written, size_t num_bytes_written, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: prepare_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_read (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ignore_done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_done_read (void *data_read, size_t num_bytes_read, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: output_done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 0
    functionsReached:
    - full_write
    linkageType: ''
    returnType: void
    signature: void output_done_read (void *data_read, size_t num_bytes_read, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:90,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:92,1
    - Dst: pipe_filter_ii_execute
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:108,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:109,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:110,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:119,1
    - Dst: pipe_filter_ii_execute
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:127,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:128,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:138,1
    - Dst: pipe_filter_ii_execute
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:146,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:147,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-ii2-main.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 152
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-main.c
    functionUses: 7
    functionsReached:
    - strlen
    - fflush
    - pipe_filter_ii_execute
    - set_binary_mode
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-lock.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 3
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-lock.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 8
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:155,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:155,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:156,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:157,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:157,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:159,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:160,1
    - Dst: random
      Src: /src/gnulib/tests/test-lock.c:161,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:165,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:165,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:166,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:167,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:167,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:169,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:169,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:170,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:171,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:172,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:173,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:173,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:175,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:178,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - dbgprintf
    - random
    - random_account
    - gl_lock_unlock
    - yield
    - gl_lock_lock
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_mutator_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:187,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:189,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:189,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:190,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:191,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:192,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:193,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:193,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:195,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:198,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - dbgprintf
    - get_atomic_int_value
    - gl_lock_unlock
    - yield
    - gl_lock_lock
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_checker_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-lock.c:212,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:213,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:216,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:218,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:222,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:223,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:224,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 226
    functionName: test_lock
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - set_atomic_int_value
    - gl_thread_create
    - init_atomic_int
    - check_accounts
    linkageType: ''
    returnType: void
    signature: void test_lock (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:246,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:246,1
    - Dst: gl_rwlock_wrlock
      Src: /src/gnulib/tests/test-lock.c:247,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:248,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:248,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:250,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:251,1
    - Dst: random
      Src: /src/gnulib/tests/test-lock.c:252,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:256,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:256,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-lock.c:257,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:258,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:258,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:260,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:263,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 265
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 265
    functionName: rwlock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_rwlock_wrlock
    - gl_rwlock_unlock
    - dbgprintf
    - random
    - random_account
    - yield
    linkageType: ''
    returnType: void
    signature: 'void *

      rwlock_mutator_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:272,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:274,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:274,1
    - Dst: gl_rwlock_rdlock
      Src: /src/gnulib/tests/test-lock.c:275,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:276,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-lock.c:277,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:278,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:278,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:280,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:283,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: rwlock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_rwlock_unlock
    - gl_rwlock_rdlock
    - dbgprintf
    - get_atomic_int_value
    - yield
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      rwlock_checker_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-lock.c:297,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:298,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:302,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:304,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:308,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:309,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:311,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 313
    functionName: test_rwlock
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 1
    functionsReached:
    - gl_thread_join
    - set_atomic_int_value
    - gl_thread_create
    - init_atomic_int
    - check_accounts
    linkageType: ''
    returnType: void
    signature: void test_rwlock (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:329,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:329,1
    - Dst: gl_recursive_lock_lock
      Src: /src/gnulib/tests/test-lock.c:330,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:331,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:331,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:333,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-lock.c:334,1
    - Dst: random
      Src: /src/gnulib/tests/test-lock.c:335,1
    - Dst: random
      Src: /src/gnulib/tests/test-lock.c:340,1
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-lock.c:341,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:343,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:343,1
    - Dst: gl_recursive_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:344,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:345,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 346
    functionName: recshuffle
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 3
    functionsReached:
    - gl_thread_self_pointer
    - gl_recursive_lock_lock
    - dbgprintf
    - random
    - random_account
    - gl_recursive_lock_unlock
    - recshuffle
    linkageType: ''
    returnType: void
    signature: void recshuffle (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-lock.c:355,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:357,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:357,1
    - Dst: gl_recursive_lock_lock
      Src: /src/gnulib/tests/test-lock.c:358,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:359,1
    - Dst: gl_recursive_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:360,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:361,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:361,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:363,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:366,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 368
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 368
    functionName: reclock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_recursive_lock_lock
    - dbgprintf
    - check_accounts
    - gl_recursive_lock_unlock
    - yield
    - recshuffle
    linkageType: ''
    returnType: void
    signature: 'void *

      reclock_mutator_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:375,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:377,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:377,1
    - Dst: gl_recursive_lock_lock
      Src: /src/gnulib/tests/test-lock.c:378,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:379,1
    - Dst: gl_recursive_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:380,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:381,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:381,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:383,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:386,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: reclock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_recursive_lock_lock
    - dbgprintf
    - get_atomic_int_value
    - gl_recursive_lock_unlock
    - yield
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      reclock_checker_thread (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-lock.c:400,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:401,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:404,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:406,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:410,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-lock.c:411,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:412,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-lock.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: test_recursive_lock
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - set_atomic_int_value
    - gl_thread_create
    - init_atomic_int
    - check_accounts
    linkageType: ''
    returnType: void
    signature: void test_recursive_lock (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:437,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: once_execute
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_lock_lock
    - gl_lock_unlock
    linkageType: ''
    returnType: void
    signature: void once_execute (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:451,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:453,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:458,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:459,1
    - Dst: gl_rwlock_rdlock
      Src: /src/gnulib/tests/test-lock.c:462,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-lock.c:464,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:468,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:470,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-lock.c:471,1
    - Dst: gl_once
      Src: /src/gnulib/tests/test-lock.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 478
    functionName: once_contender_thread
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_rwlock_unlock
    - gl_rwlock_rdlock
    - dbgprintf
    - gl_lock_unlock
    - yield
    - gl_once
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      once_contender_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_init
      Src: /src/gnulib/tests/test-lock.c:490,1
    - Dst: gl_rwlock_init
      Src: /src/gnulib/tests/test-lock.c:494,1
    - Dst: gl_rwlock_wrlock
      Src: /src/gnulib/tests/test-lock.c:502,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-lock.c:508,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:513,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:519,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:521,1
    - Dst: yield
      Src: /src/gnulib/tests/test-lock.c:525,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:527,1
    - Dst: abort
      Src: /src/gnulib/tests/test-lock.c:534,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-lock.c:541,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-lock.c:549,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-lock.c:551,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-lock.c:555,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-lock.c:557,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-lock.c:565,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 566
    functionName: test_once
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_rwlock_wrlock
    - gl_lock_init
    - gl_rwlock_unlock
    - gl_thread_join
    - gl_thread_create
    - dbgprintf
    - gl_rwlock_init
    - gl_lock_unlock
    - yield
    - memcpy
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: void test_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-lock.c:578,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-lock.c:579,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:583,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:583,1
    - Dst: test_lock
      Src: /src/gnulib/tests/test-lock.c:584,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:585,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:585,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:588,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:588,1
    - Dst: test_rwlock
      Src: /src/gnulib/tests/test-lock.c:589,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:590,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:590,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:593,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:593,1
    - Dst: test_recursive_lock
      Src: /src/gnulib/tests/test-lock.c:594,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:595,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:595,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:598,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:598,1
    - Dst: test_once
      Src: /src/gnulib/tests/test-lock.c:599,1
    - Dst: printf
      Src: /src/gnulib/tests/test-lock.c:600,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-lock.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 604
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 7
    functionsReached:
    - alarm
    - signal
    - test_lock
    - fflush
    - test_once
    - printf
    - test_rwlock
    - test_recursive_lock
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-lock.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lock.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-avltree_oset.c:50,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-avltree_oset.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:54,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:55,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:58,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:59,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:59,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-avltree_oset.c:60,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-avltree_oset.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-avltree_oset.c
    functionUses: 2
    functionsReached:
    - gl_oset_iterator
    - gl_oset_iterator_free
    - gl_oset_iterator_next
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_oset_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_avltree_oset_check_invariants
      Src: /src/gnulib/tests/test-avltree_oset.c:67,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltree_oset.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-avltree_oset.c
    functionUses: 2
    functionsReached:
    - gl_avltree_oset_check_invariants
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_oset_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-avltree_oset.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - threshold
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: is_at_least
    functionSourceFile: /src/gnulib/tests/test-avltree_oset.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_at_least (const void *elt, const void *threshold)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-avltree_oset.c:84,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-avltree_oset.c:84,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-avltree_oset.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:93,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-avltree_oset.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:97,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_oset.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:105,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-avltree_oset.c:105,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-avltree_oset.c:105,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_oset.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:117,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-avltree_oset.c:117,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-avltree_oset.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:123,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-avltree_oset.c:123,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-avltree_oset.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:129,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-avltree_oset.c:129,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-avltree_oset.c:129,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/tests/test-avltree_oset.c:135,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/tests/test-avltree_oset.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:147,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:148,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-avltree_oset.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_oset.c:152,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-avltree_oset.c:154,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-avltree_oset.c:155,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_oset.c:159,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-avltree_oset.c:162,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-avltree_oset.c:163,1
    - Dst: test_update
      Src: /src/gnulib/tests/test-avltree_oset.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 169
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-avltree_oset.c
    functionUses: 7
    functionsReached:
    - gl_oset_nx_create_empty
    - gl_oset_iterator_next
    - gl_oset_free
    - atoi
    - gl_oset_search
    - test_update
    - gl_oset_nx_add
    - check_all
    - srand
    - gl_oset_remove
    - gl_oset_iterator_free
    - gl_oset_iterator_atleast
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fma2.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fma2.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:50,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:51,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:52,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:53,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:54,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:55,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:56,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:57,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:63,1
    - Dst: FUNC
      Src: /src/gnulib/tests/test-count-trailing-zeros.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 64
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-count-trailing-zeros.c
    functionUses: 7
    functionsReached:
    - FUNC
    - rand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/tests/iconvsupport.c:31,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/iconvsupport.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: iconv_supports_encoding
    functionSourceFile: /src/gnulib/tests/iconvsupport.c
    functionUses: 0
    functionsReached:
    - iconv_close
    - iconv_open
    linkageType: ''
    returnType: int
    signature: int iconv_supports_encoding (const char *encoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:39,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-unsetenv.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:40,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-unsetenv.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:42,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-unsetenv.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:43,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-unsetenv.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:44,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-unsetenv.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:48,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-unsetenv.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:51,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-unsetenv.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:57,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-unsetenv.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unsetenv.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unsetenv.c
    functionUses: 7
    functionsReached:
    - putenv
    - getenv
    - unsetenv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-dprintf-posix2.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf-posix2.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-dprintf-posix2.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf-posix2.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-dprintf-posix2.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-dprintf-posix2.c:88,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-dprintf-posix2.c:99,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-dprintf-posix2.c:104,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-dprintf-posix2.c:111,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-dprintf-posix2.c:117,1
    - Dst: memset
      Src: /src/gnulib/tests/test-dprintf-posix2.c:123,1
    - Dst: dprintf
      Src: /src/gnulib/tests/test-dprintf-posix2.c:136,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-dprintf-posix2.c:144,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 148
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf-posix2.c
    functionUses: 7
    functionsReached:
    - getrlimit
    - setrlimit
    - atoi
    - is_running_under_qemu_user
    - get_rusage_as
    - memset
    - dprintf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-vasprintf.c:33,1
    - Dst: c_vasprintf
      Src: /src/gnulib/tests/test-c-vasprintf.c:34,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-vasprintf.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: my_c_asprintf
    functionSourceFile: /src/gnulib/tests/test-c-vasprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - c_vasprintf
    linkageType: ''
    returnType: int
    signature: int my_c_asprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-vasprintf.c:43,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-vasprintf.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vasprintf.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:57,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vasprintf.c:57,1
    - Dst: c_asprintf
      Src: /src/gnulib/tests/test-c-vasprintf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vasprintf.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:69,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-vasprintf.c:70,1
    - Dst: my_c_asprintf
      Src: /src/gnulib/tests/test-c-vasprintf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vasprintf.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasprintf.c:75,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-vasprintf.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 80
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-vasprintf.c
    functionUses: 7
    functionsReached:
    - setlocale
    - free
    - snprintf
    - my_c_asprintf
    - strcmp
    - ASSERT
    - c_asprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getgrgid
      Src: /src/gnulib/tests/test-access.h:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-access.h:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: is_administrator
    functionSourceFile: /src/gnulib/tests/test-access.h
    functionUses: 0
    functionsReached:
    - getgrgid
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_administrator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:58,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:59,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-access.h:60,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:61,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:66,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:70,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:74,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:78,1
    - Dst: close
      Src: /src/gnulib/tests/test-access.h:78,1
    - Dst: creat
      Src: /src/gnulib/tests/test-access.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:80,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:81,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:82,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:83,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:85,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:87,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:89,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:91,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:92,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-access.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:96,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:98,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:100,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:102,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:107,1
    - Dst: close
      Src: /src/gnulib/tests/test-access.h:107,1
    - Dst: creat
      Src: /src/gnulib/tests/test-access.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:108,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-access.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:110,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:110,1
    - Dst: is_root
      Src: /src/gnulib/tests/test-access.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:117,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:123,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:123,1
    - Dst: is_root
      Src: /src/gnulib/tests/test-access.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:133,1
    - Dst: func
      Src: /src/gnulib/tests/test-access.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:140,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:141,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-access.h:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-access.h:142,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:142,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-access.h:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 144
    functionName: test_access
    functionSourceFile: /src/gnulib/tests/test-access.h
    functionUses: 0
    functionsReached:
    - is_root
    - symlink
    - close
    - unlink
    - creat
    - chmod
    - func
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_access (int (*func) (const char * /*file*/, int /*mode*/))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-uchar-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:38,1
    - Dst: fchmod
      Src: /src/gnulib/tests/test-fchmod.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:39,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmod.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:44,1
    - Dst: fchmod
      Src: /src/gnulib/tests/test-fchmod.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:45,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmod.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:54,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmod.c:54,1
    - Dst: creat
      Src: /src/gnulib/tests/test-fchmod.c:54,1
    - Dst: open
      Src: /src/gnulib/tests/test-fchmod.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:57,1
    - Dst: fchmod
      Src: /src/gnulib/tests/test-fchmod.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:58,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fchmod.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmod.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:63,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-fchmod.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmod.c:64,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmod.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fchmod.c
    functionUses: 7
    functionsReached:
    - close
    - open
    - unlink
    - stat
    - creat
    - chmod
    - fchmod
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freea
      Src: /src/gnulib/tests/test-malloca.c:29,1
    - Dst: safe_alloca
      Src: /src/gnulib/tests/test-malloca.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: do_allocation
    functionSourceFile: /src/gnulib/tests/test-malloca.c
    functionUses: 0
    functionsReached:
    - safe_alloca
    - freea
    linkageType: ''
    returnType: void
    signature: void do_allocation (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-malloca.c:41,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:50,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:53,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:54,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:55,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:56,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:57,1
    - Dst: func
      Src: /src/gnulib/tests/test-malloca.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-malloca.c
    functionUses: 7
    functionsReached:
    - func
    - unsetenv
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexpl.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexpl.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ilogbf.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ilogbf.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long long int
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: byte_at
    functionSourceFile: /src/gnulib/tests/test-scratch-buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int byte_at (unsigned long long int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-scratch-buffer.c:39,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/tests/test-scratch-buffer.c:46,1
    - Dst: scratch_buffer_set_array_size
      Src: /src/gnulib/tests/test-scratch-buffer.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-scratch-buffer.c:49,1
    - Dst: byte_at
      Src: /src/gnulib/tests/test-scratch-buffer.c:52,1
    - Dst: memset
      Src: /src/gnulib/tests/test-scratch-buffer.c:54,1
    - Dst: memset
      Src: /src/gnulib/tests/test-scratch-buffer.c:55,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/tests/test-scratch-buffer.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-scratch-buffer.c:65,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/tests/test-scratch-buffer.c:72,1
    - Dst: scratch_buffer_grow
      Src: /src/gnulib/tests/test-scratch-buffer.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-scratch-buffer.c:77,1
    - Dst: byte_at
      Src: /src/gnulib/tests/test-scratch-buffer.c:81,1
    - Dst: memset
      Src: /src/gnulib/tests/test-scratch-buffer.c:83,1
    - Dst: memset
      Src: /src/gnulib/tests/test-scratch-buffer.c:84,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/tests/test-scratch-buffer.c:86,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/tests/test-scratch-buffer.c:99,1
    - Dst: scratch_buffer_set_array_size
      Src: /src/gnulib/tests/test-scratch-buffer.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-scratch-buffer.c:104,1
    - Dst: byte_at
      Src: /src/gnulib/tests/test-scratch-buffer.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-scratch-buffer.c:109,1
    - Dst: scratch_buffer_grow_preserve
      Src: /src/gnulib/tests/test-scratch-buffer.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-scratch-buffer.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-scratch-buffer.c:121,1
    - Dst: byte_at
      Src: /src/gnulib/tests/test-scratch-buffer.c:121,1
    - Dst: byte_at
      Src: /src/gnulib/tests/test-scratch-buffer.c:123,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/tests/test-scratch-buffer.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-scratch-buffer.c
    functionUses: 7
    functionsReached:
    - byte_at
    - scratch_buffer_grow
    - scratch_buffer_init
    - scratch_buffer_grow_preserve
    - scratch_buffer_set_array_size
    - memset
    - scratch_buffer_free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fpurge.c:42,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fpurge.c:45,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fpurge.c:47,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fpurge.c:53,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fpurge.c:56,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fpurge.c:58,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fpurge.c:60,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fpurge.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:65,1
    - Dst: fpurge
      Src: /src/gnulib/tests/test-fpurge.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:69,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:70,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fpurge.c:70,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fpurge.c:73,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fpurge.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-fpurge.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:86,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:87,1
    - Dst: fpurge
      Src: /src/gnulib/tests/test-fpurge.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:91,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:92,1
    - Dst: getc
      Src: /src/gnulib/tests/test-fpurge.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:93,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fpurge.c:93,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fpurge.c:98,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fpurge.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:103,1
    - Dst: getc
      Src: /src/gnulib/tests/test-fpurge.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:104,1
    - Dst: getc
      Src: /src/gnulib/tests/test-fpurge.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:106,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:107,1
    - Dst: fpurge
      Src: /src/gnulib/tests/test-fpurge.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:109,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:110,1
    - Dst: putc
      Src: /src/gnulib/tests/test-fpurge.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:112,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fpurge.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:113,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fpurge.c:113,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fpurge.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:119,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fpurge.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:120,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-fpurge.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpurge.c:122,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fpurge.c:122,1
    - Dst: remove
      Src: /src/gnulib/tests/test-fpurge.c:127,1
    - Dst: remove
      Src: /src/gnulib/tests/test-fpurge.c:131,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fpurge.c:134,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fpurge.c
    functionUses: 7
    functionsReached:
    - fopen
    - remove
    - fclose
    - fwrite
    - fread
    - fprintf
    - ftell
    - memcmp
    - fpurge
    - putc
    - fflush
    - getc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_stat_atime
      Src: /src/gnulib/tests/test-stat-time-c++.cc:28,1
    - Dst: get_stat_ctime
      Src: /src/gnulib/tests/test-stat-time-c++.cc:29,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/tests/test-stat-time-c++.cc:30,1
    - Dst: get_stat_birthtime
      Src: /src/gnulib/tests/test-stat-time-c++.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stat-time-c++.cc
    functionUses: 7
    functionsReached:
    - get_stat_birthtime
    - get_stat_mtime
    - get_stat_atime
    - get_stat_ctime
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acos
      Src: /src/gnulib/tests/test-acos.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-acos.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-acos.c
    functionUses: 7
    functionsReached:
    - acos
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sha224-buffer.c:36,1
    - Dst: sha224_buffer
      Src: /src/gnulib/tests/test-sha224-buffer.c:36,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sha224-buffer.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha224-buffer.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha224-buffer.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha224-buffer.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha224-buffer.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha224-buffer.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha224-buffer.c
    functionUses: 7
    functionsReached:
    - printf
    - sha224_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logbl.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logbl.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - dummy
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: gl_msvc_invalid_parameter_handler
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gl_msvc_invalid_parameter_handler (const wchar_t *expression,\n
      \                                  const wchar_t *function,\n                                   const
      wchar_t *file,\n                                   unsigned int line,\n                                   uintptr_t
      dummy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:83,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-child.c
    functionUses: 1
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: int
    signature: int is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:101,1
    - Dst: _set_invalid_parameter_handler
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:118,1
    - Dst: read
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:121,1
    - Dst: write
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:121,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:127,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:136,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:148,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-child.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 153
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-child.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - atoi
    - close
    - _set_invalid_parameter_handler
    - is_open
    - fdopen
    - read
    - write
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:36,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:37,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:39,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:40,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:41,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:42,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:43,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:44,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:45,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:46,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:47,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:49,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:50,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:51,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:52,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:53,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:54,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:55,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:56,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:57,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:59,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:59,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc1.c:59,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:60,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:60,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc1.c:60,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc1.c:62,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-trunc1.c:62,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc1.c:62,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-trunc1.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-trunc1.c
    functionUses: 7
    functionsReached:
    - Infinityd
    - isnand
    - trunc
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbscasecmp.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:34,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:36,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:38,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:39,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:41,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:42,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:47,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:48,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:51,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasecmp.c:52,1
    - Dst: mbscasecmp
      Src: /src/gnulib/tests/test-mbscasecmp.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscasecmp.c
    functionUses: 7
    functionsReached:
    - mbscasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbstowcs.c:40,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:49,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:53,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:59,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbstowcs.c:73,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:102,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:116,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:131,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:145,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbstowcs.c:145,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbstowcs.c:145,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:157,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:162,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:165,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:172,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:183,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:188,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:189,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:198,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:209,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:214,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:215,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:216,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:224,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:235,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-mbstowcs.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:240,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:243,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbstowcs.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbstowcs.c:250,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 140
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 263
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbstowcs.c
    functionUses: 7
    functionsReached:
    - wctob
    - setlocale
    - btowc
    - strcmp
    - mbstowcs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:30,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:32,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:43,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:54,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:63,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:65,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:74,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:76,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:85,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:87,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:96,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:98,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:107,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:109,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:121,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:131,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:141,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:151,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:161,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:171,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:181,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:191,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:201,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:211,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:221,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:232,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:234,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:243,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:245,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:254,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:256,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:265,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:267,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:276,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:278,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:289,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:301,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:311,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:321,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:331,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:341,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:351,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:360,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:362,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:371,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:373,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:384,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:393,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:395,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:404,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:406,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:415,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:417,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:426,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:428,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:437,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:439,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:448,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:450,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:459,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:461,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:471,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:481,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:493,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:503,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:513,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:528,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strtold.h:528,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:530,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:544,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strtold.h:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:546,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:562,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:564,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:579,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:579,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:581,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:593,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:603,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:615,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:625,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:635,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:645,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:655,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:667,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:670,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:671,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:675,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:675,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:683,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:684,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:687,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:697,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:700,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:701,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:702,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:702,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:709,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:710,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:713,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:723,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:726,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:727,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:731,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:731,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:737,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:739,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:740,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:743,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:753,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:758,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:760,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:773,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:776,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:777,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-strtold.h:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:781,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:781,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:789,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:790,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:793,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:806,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:816,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:826,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:836,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:846,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:856,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:866,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:873,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:876,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:883,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:886,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtold.h:897,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:902,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:904,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtold.h:906,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtold.h:915,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:922,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtold.h:924,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtold.h:937,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:952,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtold.h:954,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtold.h:964,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:978,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtold.h:980,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtold.h:994,1
    - Dst: my_strtold
      Src: /src/gnulib/tests/test-strtold.h:997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:999,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:999,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtold.h:999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:1000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold.h:1001,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtold.h:1003,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 584
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1011
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-strtold.h
    functionUses: 32
    functionsReached:
    - my_strtold
    - strlen
    - free
    - signbit
    - isnanl
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (long double (*my_strtold) (const char *, char **))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:42,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:42,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32width.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c32width.c:53,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-c32width.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:57,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:60,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:61,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:64,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:65,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:66,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:67,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:74,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:75,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:91,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:94,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:95,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:96,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:98,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32width.c:99,1
    - Dst: c32width
      Src: /src/gnulib/tests/test-c32width.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32width.c
    functionUses: 7
    functionsReached:
    - setlocale
    - c32width
    - locale_charset
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:37,1
    - Dst: glwthread_timedrecmutex_lock
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-windows-timedrecmutex-type.c
    functionUses: 2
    functionsReached:
    - glwthread_timedrecmutex_lock
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (glwthread_timedrecmutex_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:56,1
    - Dst: glwthread_timedrecmutex_init
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:56,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-timedrecmutex-type.c
    functionUses: 7
    functionsReached:
    - glwthread_timedrecmutex_init
    - get_effective_type
    - strcmp
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-windows-timedrecmutex-type.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-timedrecmutex-type.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconv.c:39,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconv.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:56,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconv.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:57,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconv.c:57,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconv.c:57,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:70,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconv.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconv.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconv.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:132,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:133,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconv.c:136,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconv.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:147,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:157,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconv.c:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconv.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconv.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-striconv.c
    functionUses: 7
    functionsReached:
    - strlen
    - free
    - memcmp
    - iconv_close
    - iconv_open
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:36,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:37,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:39,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:40,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:42,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:43,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-round-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:48,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-round-ieee.c:48,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:48,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-round-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:50,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round-ieee.c:51,1
    - Dst: round
      Src: /src/gnulib/tests/test-round-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-round-ieee.c
    functionUses: 7
    functionsReached:
    - Infinityd
    - isnand
    - signbit
    - round
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:62,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:64,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:66,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:68,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:70,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:72,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:74,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:76,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:78,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: int_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-simple-atomic.c
    functionUses: 0
    functionsReached:
    - yield
    - atomic_compare_and_swap
    linkageType: ''
    returnType: void
    signature: 'void *

      int_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:97,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:99,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:101,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:103,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:105,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:107,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:109,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:111,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:113,1
    - Dst: yield
      Src: /src/gnulib/tests/test-simple-atomic.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 119
    functionName: ptr_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-simple-atomic.c
    functionUses: 0
    functionsReached:
    - atomic_compare_and_swap_ptr
    - yield
    linkageType: ''
    returnType: void
    signature: 'void *

      ptr_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:128,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:131,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:134,1
    - Dst: atomic_compare_and_swap
      Src: /src/gnulib/tests/test-simple-atomic.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:148,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:151,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:154,1
    - Dst: atomic_compare_and_swap_ptr
      Src: /src/gnulib/tests/test-simple-atomic.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:158,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-simple-atomic.c:178,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-simple-atomic.c:182,1
    - Dst: printf
      Src: /src/gnulib/tests/test-simple-atomic.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-simple-atomic.c:210,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 219
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-simple-atomic.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - gl_thread_join
    - gl_thread_create
    - atomic_compare_and_swap_ptr
    - printf
    - atomic_compare_and_swap
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-simple-atomic.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-simple-atomic.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexpf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexpf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: worker_thread_func
    functionSourceFile: /src/gnulib/tests/test-thread_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      worker_thread_func (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-thread_create.c:45,1
    - Dst: glthread_create
      Src: /src/gnulib/tests/test-thread_create.c:47,1
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-thread_create.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thread_create.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-thread_create.c:54,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-thread_create.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thread_create.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thread_create.c:64,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-thread_create.c:71,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-thread_create.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thread_create.c
    functionUses: 7
    functionsReached:
    - gl_thread_join
    - fputs
    - gl_thread_self
    - glthread_create
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - string1
    - string2
    - expected
    argTypes:
    - char*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 62
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 62
    functionName: check_fstrcmp
    functionSourceFile: /src/gnulib/tests/test-fstrcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_fstrcmp (const char *string1, const char *string2, double
      expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:67,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:68,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:69,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:70,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:71,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstrcmp.c:72,1
    - Dst: check_fstrcmp
      Src: /src/gnulib/tests/test-fstrcmp.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fstrcmp.c
    functionUses: 7
    functionsReached:
    - check_fstrcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:39,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:45,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:51,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-hypot.h:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-hypot.h:58,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:61,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.h:64,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:66,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:66,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot.h:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 68
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-hypot.h
    functionUses: 33
    functionsReached:
    - L_
    - HYPOT
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:34,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:38,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:39,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:40,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:41,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:42,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:43,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:43,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:47,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:48,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:49,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:50,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:51,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:52,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:52,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:56,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:57,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:58,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:59,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:60,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:61,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:62,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:63,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:63,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:67,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:68,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:69,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:70,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:71,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:72,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:73,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:73,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:77,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:78,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:79,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:80,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:81,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:82,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:83,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:83,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:87,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:88,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:89,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:90,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:91,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:92,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:93,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:93,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:97,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:98,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:99,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:100,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:101,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:102,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:103,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:103,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:107,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:108,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:109,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:110,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:111,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:112,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:113,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:114,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:115,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:115,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:119,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:120,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:121,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:122,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:123,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:124,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:125,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:126,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:127,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:127,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:131,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:132,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:133,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:134,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:135,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:136,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:137,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:137,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:141,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:142,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:143,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:144,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:145,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:146,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:147,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:148,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:149,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:150,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:151,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:152,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:152,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:156,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:157,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:158,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:159,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:160,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:161,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:162,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:163,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:164,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:165,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:166,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:167,1
    - Dst: c32_apply_type_test
      Src: /src/gnulib/tests/test-c32_apply_type_test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 125
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 170
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32_apply_type_test.c
    functionUses: 7
    functionsReached:
    - c32_apply_type_test
    - c32_get_type_test
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md2-buffer.c:37,1
    - Dst: md2_buffer
      Src: /src/gnulib/tests/test-md2-buffer.c:37,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md2-buffer.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:41,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:47,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md2-buffer.c:51,1
    - Dst: md2_buffer
      Src: /src/gnulib/tests/test-md2-buffer.c:51,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md2-buffer.c:51,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md2-buffer.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-md2-buffer.c
    functionUses: 7
    functionsReached:
    - printf
    - md2_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tanhf
      Src: /src/gnulib/tests/test-tanhf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tanhf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tanhf.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - tanhf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:33,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:34,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:39,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:40,1
    - Dst: asyncsafe_spin_init
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:48,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:53,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:54,1
    - Dst: asyncsafe_spin_destroy
      Src: /src/gnulib/tests/test-asyncsafe-spin1.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin1.c
    functionUses: 7
    functionsReached:
    - asyncsafe_spin_init
    - asyncsafe_spin_lock
    - asyncsafe_spin_destroy
    - sigemptyset
    - sigaddset
    - asyncsafe_spin_unlock
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-net_if-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:21,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - DOUBLE
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-frexp.h
    functionUses: 2
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE my_ldexp (DOUBLE x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:38,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-frexp.h:38,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:46,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:60,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:64,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-frexp.h:64,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:74,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-frexp.h:74,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:77,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:84,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:91,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:99,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:99,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:104,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:104,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:106,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:106,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:111,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:111,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:113,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:113,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:121,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:121,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:126,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:126,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:128,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:128,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:133,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:133,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:135,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:135,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:140,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:141,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:142,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-frexp.h:142,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:145,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:145,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:150,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:150,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:152,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:152,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:157,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:157,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:159,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:159,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:164,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:165,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:166,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-frexp.h:166,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-frexp.h:170,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:172,1
    - Dst: L_
      Src: /src/gnulib/tests/test-frexp.h:172,1
    - Dst: FREXP
      Src: /src/gnulib/tests/test-frexp.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-frexp.h:176,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-frexp.h:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 179
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-frexp.h
    functionUses: 33
    functionsReached:
    - my_ldexp
    - ISNAN
    - signbit
    - L_
    - FREXP
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdbit-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:87,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 9
    argNames:
    - argc
    - argv
    - options
    - long_options
    - p_value
    - q_value
    - non_options_count
    - non_options
    - unrecognized
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - char**
    - char**
    - int*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 99
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 99
    functionName: getopt_long_loop
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - getopt_long
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void getopt_long_loop (int argc, const char **argv,\n                  const
      char *options, const struct option *long_options,\n                  const char
      **p_value, const char **q_value,\n                  int *non_options_count,
      const char **non_options,\n                  int *unrecognized)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - shortopts
    - longopts
    - longind
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: do_getopt_long
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - getopt_long
    linkageType: ''
    returnType: int
    signature: "int do_getopt_long (int argc, const char **argv, const char *shortopts,\n
      \               const struct option *longopts, int *longind)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:130,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:145,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:160,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:174,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:189,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:204,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:218,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:232,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:246,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:263,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:287,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:287,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:313,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:313,1
    - Dst: do_getopt_long
      Src: /src/gnulib/tests/test-getopt_long.h:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:333,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:364,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:394,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:423,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:453,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:484,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:514,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:546,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:577,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:609,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:641,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:667,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:671,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:696,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:700,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:727,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:731,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:757,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:761,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:786,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:790,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:812,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:818,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:821,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:847,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:851,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:877,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:879,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:881,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:909,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:910,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:913,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:934,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:939,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:943,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:972,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:995,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1001,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1022,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1027,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1031,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1057,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1060,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1080,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1083,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1085,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1089,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1118,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1148,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1177,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1206,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1236,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1266,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1295,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1299,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1330,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1358,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1362,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1388,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1394,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1423,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1425,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1426,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1427,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1428,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1436,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1469,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1470,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1471,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1472,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1473,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1474,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1476,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1477,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1479,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1484,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1488,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1516,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1517,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1518,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1519,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1519,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1520,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1521,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1522,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1528,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1529,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1531,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1533,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1566,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1567,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1568,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1569,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1570,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1571,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1573,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1575,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1576,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1577,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1581,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1587,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1588,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1596,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1597,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1599,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1600,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1601,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1602,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1604,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1633,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1634,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1635,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1637,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1638,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1639,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1643,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1647,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1676,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1678,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1679,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1680,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1681,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1682,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1690,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1717,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1751,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1752,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1753,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1754,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1755,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1756,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1757,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1759,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1761,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1769,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1797,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1799,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1800,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1801,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1802,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1803,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1807,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1811,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 1073
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 1813
    functionName: test_getopt_long
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - getopt_long_loop
    - strcmp
    - ASSERT
    - do_getopt_long
    linkageType: ''
    returnType: void
    signature: void test_getopt_long (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1849,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1851,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1852,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1853,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1854,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1863,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1889,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1891,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1893,1
    - Dst: getopt_long_loop
      Src: /src/gnulib/tests/test-getopt_long.h:1915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1922,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1923,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:1923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1927
    functionName: test_getopt_long_posix
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - getopt_long_loop
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_getopt_long_posix (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - shortopts
    - longopts
    - longind
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 1937
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1937
    functionName: do_getopt_long_only
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - getopt_long_only
    linkageType: ''
    returnType: int
    signature: "int do_getopt_long_only (int argc, const char **argv, const char *shortopts,\n
      \                    const struct option *longopts, int *longind)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:1954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1957,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:1970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1973,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:1986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:1989,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2006,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2022,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2023,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2036,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2039,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2055,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2068,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2070,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2083,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2085,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2105,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2126,1
    - Dst: do_getopt_long_only
      Src: /src/gnulib/tests/test-getopt_long.h:2139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt_long.h:2142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt_long.h:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 2144
    functionName: test_getopt_long_only
    functionSourceFile: /src/gnulib/tests/test-getopt_long.h
    functionUses: 0
    functionsReached:
    - do_getopt_long_only
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_getopt_long_only (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-fprintf-posix2.c:44,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:50,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:55,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:60,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:65,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:70,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-fprintf-posix2.c:75,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-fprintf-posix2.c:79,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fprintf-posix2.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:91,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:94,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:97,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:100,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:103,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix2.c:106,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix2.c
    functionUses: 7
    functionsReached:
    - getrlimit
    - setrlimit
    - atoi
    - is_running_under_qemu_user
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix2.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_stat-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:32,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:34,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:36,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:37,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:39,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:40,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-strcasecmp_l.c
    functionUses: 3
    functionsReached:
    - strcasecmp_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:48,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-strcasecmp_l.c:50,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:52,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:57,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:59,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:61,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-strcasecmp_l.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:71,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:72,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:73,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:74,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:77,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:78,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:79,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp_l.c:80,1
    - Dst: strcasecmp_l
      Src: /src/gnulib/tests/test-strcasecmp_l.c:80,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strcasecmp_l.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strcasecmp_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - strcasecmp_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: do_link
    functionSourceFile: /src/gnulib/tests/test-linkat.c
    functionUses: 0
    functionsReached:
    - linkat
    linkageType: ''
    returnType: int
    signature: int do_link (char const *name1, char const *name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:73,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-linkat.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:74,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-linkat.c:74,1
    - Dst: areadlink_with_size
      Src: /src/gnulib/tests/test-linkat.c:75,1
    - Dst: areadlink_with_size
      Src: /src/gnulib/tests/test-linkat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:81,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-linkat.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: check_same_link
    functionSourceFile: /src/gnulib/tests/test-linkat.c
    functionUses: 0
    functionsReached:
    - lstat
    - free
    - areadlink_with_size
    - strcmp
    - ASSERT
    - psame_inode
    linkageType: ''
    returnType: void
    signature: void check_same_link (char const *name1, char const *name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-linkat.c:95,1
    - Dst: system
      Src: /src/gnulib/tests/test-linkat.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:100,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:101,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:106,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:109,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:109,1
    - Dst: creat
      Src: /src/gnulib/tests/test-linkat.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:112,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:117,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:120,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:120,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:123,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:126,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:128,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:130,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:132,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:134,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:136,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:137,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:139,1
    - Dst: test_link
      Src: /src/gnulib/tests/test-linkat.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:147,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-linkat.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:148,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-linkat.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:149,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:149,1
    - Dst: creat
      Src: /src/gnulib/tests/test-linkat.c:149,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-linkat.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:151,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:155,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-linkat.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:179,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-linkat.c:179,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-linkat.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:180,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-linkat.c:180,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-linkat.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:181,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:182,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-linkat.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:183,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:184,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:188,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:189,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:191,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:195,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-linkat.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:196,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:196,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:199,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:200,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:201,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:202,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-linkat.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:203,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-linkat.c:203,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:204,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-linkat.c:207,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:213,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:214,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:215,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:219,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:222,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:225,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:228,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:232,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:237,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:242,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:245,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:249,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:252,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:257,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:260,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:266,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:268,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:272,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:275,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:280,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:283,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:287,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:290,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:294,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:297,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:302,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:302,1
    - Dst: check_same_link
      Src: /src/gnulib/tests/test-linkat.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:304,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:306,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:309,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:309,1
    - Dst: check_same_link
      Src: /src/gnulib/tests/test-linkat.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:311,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:312,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:314,1
    - Dst: areadlink
      Src: /src/gnulib/tests/test-linkat.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:316,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:317,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:317,1
    - Dst: check_same_link
      Src: /src/gnulib/tests/test-linkat.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:319,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:321,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:324,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:324,1
    - Dst: check_same_link
      Src: /src/gnulib/tests/test-linkat.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:326,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:328,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:333,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:334,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:334,1
    - Dst: check_same_link
      Src: /src/gnulib/tests/test-linkat.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:336,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:337,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:339,1
    - Dst: areadlink
      Src: /src/gnulib/tests/test-linkat.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:341,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:342,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:343,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:345,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:348,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:349,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:351,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:356,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:357,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-linkat.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:359,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:359,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:361,1
    - Dst: open
      Src: /src/gnulib/tests/test-linkat.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:364,1
    - Dst: linkat
      Src: /src/gnulib/tests/test-linkat.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:367,1
    - Dst: areadlink
      Src: /src/gnulib/tests/test-linkat.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:371,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:372,1
    - Dst: close
      Src: /src/gnulib/tests/test-linkat.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:373,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:374,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:375,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:376,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:377,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:378,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:379,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-linkat.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:380,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-linkat.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:381,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:382,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:383,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:384,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkat.c:385,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-linkat.c:385,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkat.c:386,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 221
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 389
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-linkat.c
    functionUses: 7
    functionsReached:
    - open
    - strchr
    - mkdir
    - free
    - close
    - unlink
    - system
    - sprintf
    - ASSERT
    - linkat
    - symlink
    - check_same_link
    - rmdir
    - ignore_value
    - test_link
    - unlinkat
    - getcwd
    - chdir
    - fputs
    - creat
    - areadlink
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tgetent
      Src: /src/gnulib/tests/test-termcap.c:43,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-termcap.c:45,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-termcap.c:46,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-termcap.c:47,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-termcap.c:48,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-termcap.c:49,1
    - Dst: setupterm
      Src: /src/gnulib/tests/test-termcap.c:53,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-termcap.c:55,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-termcap.c:56,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-termcap.c:57,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-termcap.c:58,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-termcap.c:59,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:66,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:67,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:68,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:70,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:71,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:72,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:74,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:76,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:77,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:79,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:81,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-termcap.c:82,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-termcap.c:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 87
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-termcap.c
    functionUses: 7
    functionsReached:
    - setupterm
    - tigetstr
    - tputs
    - printf
    - tgetstr
    - tgetent
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:36,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 137
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-toupper_l.c
    functionUses: 4
    functionsReached:
    - ASSERT
    - toupper_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-toupper_l.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:101,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-toupper_l.c:103,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-toupper_l.c:105,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-toupper_l.c:110,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-toupper_l.c:112,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-toupper_l.c:114,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-toupper_l.c:118,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:125,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:129,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:133,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:136,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:139,1
    - Dst: toupper_l
      Src: /src/gnulib/tests/test-toupper_l.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-toupper_l.c:143,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-toupper_l.c:146,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-toupper_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - toupper_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:37,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:44,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:52,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:60,1
    - Dst: exit
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:61,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-setlocale-w32utf8.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale-w32utf8.c
    functionUses: 7
    functionsReached:
    - exit
    - strlen
    - setlocale
    - fputs
    - strcmp
    - str_endswith
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-libtextstyle.c:37,1
    - Dst: handle_color_option
      Src: /src/gnulib/tests/test-libtextstyle.c:38,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-libtextstyle.c:39,1
    - Dst: handle_style_option
      Src: /src/gnulib/tests/test-libtextstyle.c:40,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-libtextstyle.c:43,1
    - Dst: exit
      Src: /src/gnulib/tests/test-libtextstyle.c:44,1
    - Dst: print_color_test
      Src: /src/gnulib/tests/test-libtextstyle.c:54,1
    - Dst: exit
      Src: /src/gnulib/tests/test-libtextstyle.c:55,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-libtextstyle.c:61,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-libtextstyle.c:62,1
    - Dst: html_styled_ostream_create
      Src: /src/gnulib/tests/test-libtextstyle.c:78,1
    - Dst: file_ostream_create
      Src: /src/gnulib/tests/test-libtextstyle.c:78,1
    - Dst: styled_ostream_create
      Src: /src/gnulib/tests/test-libtextstyle.c:80,1
    - Dst: ostream_write_str
      Src: /src/gnulib/tests/test-libtextstyle.c:83,1
    - Dst: styled_ostream_begin_use_class
      Src: /src/gnulib/tests/test-libtextstyle.c:86,1
    - Dst: ostream_write_str
      Src: /src/gnulib/tests/test-libtextstyle.c:88,1
    - Dst: styled_ostream_begin_use_class
      Src: /src/gnulib/tests/test-libtextstyle.c:89,1
    - Dst: ostream_write_str
      Src: /src/gnulib/tests/test-libtextstyle.c:90,1
    - Dst: styled_ostream_end_use_class
      Src: /src/gnulib/tests/test-libtextstyle.c:91,1
    - Dst: ostream_write_str
      Src: /src/gnulib/tests/test-libtextstyle.c:92,1
    - Dst: styled_ostream_end_use_class
      Src: /src/gnulib/tests/test-libtextstyle.c:95,1
    - Dst: ostream_write_str
      Src: /src/gnulib/tests/test-libtextstyle.c:97,1
    - Dst: styled_ostream_free
      Src: /src/gnulib/tests/test-libtextstyle.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-libtextstyle.c
    functionUses: 7
    functionsReached:
    - exit
    - handle_style_option
    - ostream_write_str
    - styled_ostream_create
    - styled_ostream_end_use_class
    - styled_ostream_free
    - styled_ostream_begin_use_class
    - handle_color_option
    - print_color_test
    - str_startswith
    - getenv
    - file_ostream_create
    - fprintf
    - isatty
    - html_styled_ostream_create
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnulib/tests/test-raise.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - int
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: handler
    functionSourceFile: /src/gnulib/tests/test-raise.c
    functionUses: 18
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void handler (_GL_UNUSED int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-raise.c:42,1
    - Dst: raise
      Src: /src/gnulib/tests/test-raise.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-raise.c:45,1
    - Dst: signal
      Src: /src/gnulib/tests/test-raise.c:45,1
    - Dst: raise
      Src: /src/gnulib/tests/test-raise.c:47,1
    - Dst: exit
      Src: /src/gnulib/tests/test-raise.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-raise.c
    functionUses: 7
    functionsReached:
    - signal
    - raise
    - exit
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-strtod.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtod.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-tss.c:74,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-tss.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: perhaps_yield
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - random
    - yield
    linkageType: ''
    returnType: void
    signature: void perhaps_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:98,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:98,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-tss.c:103,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:106,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-pthread-tss.c:108,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:111,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:111,1
    - Dst: pthread_getspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:113,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:114,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:115,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:115,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-pthread-tss.c:116,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:119,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:125,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:125,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:127,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:128,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-pthread-tss.c:129,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:134,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:134,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-tss.c:135,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-tss.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:142,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:143,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:143,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-pthread-tss.c:145,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:149,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:149,1
    - Dst: pthread_getspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:151,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:153,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:154,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:154,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-pthread-tss.c:155,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:157,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 159
    functionName: worker_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - perhaps_yield
    - pthread_self_pointer
    - dbgprintf
    - random
    - pthread_setspecific
    - pthread_getspecific
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      worker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:172,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:175,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:179,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-tss.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:185,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-tss.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:188,1
    - Dst: pthread_key_delete
      Src: /src/gnulib/tests/test-pthread-tss.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 190
    functionName: test_tss
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    - pthread_join
    - pthread_create
    - pthread_key_delete
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:215,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-tss.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:217,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-tss.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: inc_sum
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void inc_sum (uintptr_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:224,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: destructor0
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor0 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:232,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: destructor1
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor1 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:240,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: destructor2
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor2 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:248,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: destructor3
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor3 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:256,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: destructor4
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor4 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:264,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: destructor5
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor5 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:272,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: destructor6
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor6 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:280,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: destructor7
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor7 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:288,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: destructor8
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor8 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:296,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-pthread-tss.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: destructor9
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor9 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:326,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:329,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: dtorcheck1_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    - ASSERT
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: 'void *

      dtorcheck1_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:348,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-tss.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:354,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-tss.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:359,1
    - Dst: pthread_key_delete
      Src: /src/gnulib/tests/test-pthread-tss.c:359,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 367
    functionName: test_tss_dtorcheck1
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_join
    - pthread_create
    - pthread_key_delete
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_dtorcheck1 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:379,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:382,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: dtorcheck2_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    - ASSERT
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: 'void *

      dtorcheck2_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:401,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-tss.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:407,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-tss.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:412,1
    - Dst: pthread_key_delete
      Src: /src/gnulib/tests/test-pthread-tss.c:412,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 420
    functionName: test_tss_dtorcheck2
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_join
    - pthread_create
    - pthread_key_delete
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_dtorcheck2 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:453,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:457,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:458,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:458,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-tss.c:465,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:466,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:467,1
    - Dst: pthread_key_delete
      Src: /src/gnulib/tests/test-pthread-tss.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:468,1
    - Dst: pthread_key_create
      Src: /src/gnulib/tests/test-pthread-tss.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:469,1
    - Dst: pthread_setspecific
      Src: /src/gnulib/tests/test-pthread-tss.c:469,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-tss.c:474,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-tss.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 476
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 476
    functionName: racecheck_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    - pthread_self_pointer
    - dbgprintf
    - pthread_key_delete
    - random
    - pthread_setspecific
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      racecheck_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:490,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-tss.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:496,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-tss.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:501,1
    - Dst: pthread_key_delete
      Src: /src/gnulib/tests/test-pthread-tss.c:501,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-tss.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 509
    functionName: test_tss_racecheck
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_join
    - pthread_create
    - pthread_key_delete
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_racecheck (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-tss.c:525,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-tss.c:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:532,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-tss.c:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:533,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-tss.c:533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:534,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-tss.c:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-tss.c:535,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-tss.c:535,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:538,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:538,1
    - Dst: test_tss
      Src: /src/gnulib/tests/test-pthread-tss.c:539,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:540,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:540,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:542,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:542,1
    - Dst: test_tss_dtorcheck1
      Src: /src/gnulib/tests/test-pthread-tss.c:543,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:544,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:544,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:546,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:546,1
    - Dst: test_tss_dtorcheck2
      Src: /src/gnulib/tests/test-pthread-tss.c:547,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:548,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:548,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:550,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:550,1
    - Dst: test_tss_racecheck
      Src: /src/gnulib/tests/test-pthread-tss.c:551,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-tss.c:552,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-tss.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 7
    functionsReached:
    - alarm
    - test_tss_dtorcheck2
    - pthread_mutexattr_destroy
    - signal
    - pthread_mutexattr_init
    - test_tss
    - fflush
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - printf
    - test_tss_racecheck
    - test_tss_dtorcheck1
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-tss.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-tss.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:42,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:43,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:44,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:45,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:46,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:47,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:48,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:49,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:51,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:51,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isnan.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:52,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:52,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isnan.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:54,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:54,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-isnan.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:57,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:57,1
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-isnan.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: test_float
    functionSourceFile: /src/gnulib/tests/test-isnan.c
    functionUses: 1
    functionsReached:
    - Infinityf
    - isnan
    - NaNf
    - SNaNf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_float (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:65,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:66,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:67,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:68,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:69,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:70,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:71,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:72,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:74,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:74,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isnan.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:75,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:75,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isnan.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:77,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:77,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-isnan.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:80,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:80,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-isnan.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: test_double
    functionSourceFile: /src/gnulib/tests/test-isnan.c
    functionUses: 1
    functionsReached:
    - Infinityd
    - isnan
    - SNaNd
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:88,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:89,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:90,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:91,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:92,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:93,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:94,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:95,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:97,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:97,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isnan.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:98,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:98,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isnan.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:100,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:100,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-isnan.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:103,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:103,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-isnan.c:103,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:126,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:126,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:132,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:132,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:138,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:138,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:138,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:143,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:143,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:143,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:148,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:148,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:148,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:153,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:153,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:153,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnan.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnan.c:158,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:158,1
    - Dst: isnan
      Src: /src/gnulib/tests/test-isnan.c:158,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 162
    functionName: test_long_double
    functionSourceFile: /src/gnulib/tests/test-isnan.c
    functionUses: 1
    functionsReached:
    - isnan
    - SNaNl
    - Infinityl
    - NaNl
    - LDBL80_WORDS
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_long_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_float
      Src: /src/gnulib/tests/test-isnan.c:167,1
    - Dst: test_double
      Src: /src/gnulib/tests/test-isnan.c:168,1
    - Dst: test_long_double
      Src: /src/gnulib/tests/test-isnan.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isnan.c
    functionUses: 7
    functionsReached:
    - test_float
    - test_long_double
    - test_double
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-dzprintf-posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dzprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnulib/tests/test-closein.c:37,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-closein.c:41,1
    - Dst: close
      Src: /src/gnulib/tests/test-closein.c:44,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-closein.c:47,1
    - Dst: fread
      Src: /src/gnulib/tests/test-closein.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-closein.c
    functionUses: 7
    functionsReached:
    - fread
    - close
    - set_binary_mode
    - atexit
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:36,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:37,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:39,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:40,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:42,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:43,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceil-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:48,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-ceil-ieee.c:48,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:48,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-ceil-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:50,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil-ieee.c:51,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceil-ieee.c
    functionUses: 7
    functionsReached:
    - Infinityd
    - isnand
    - signbit
    - NaNd
    - ceil
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: numeric_equalf
    functionSourceFile: /src/gnulib/tests/test-math-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int numeric_equalf (float x, float y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: numeric_equald
    functionSourceFile: /src/gnulib/tests/test-math-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int numeric_equald (double x, double y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long double
    - long double
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: numeric_equall
    functionSourceFile: /src/gnulib/tests/test-math-h.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int numeric_equall (long double x, long double y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:110,1
    - Dst: numeric_equald
      Src: /src/gnulib/tests/test-math-h.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:113,1
    - Dst: numeric_equalf
      Src: /src/gnulib/tests/test-math-h.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:117,1
    - Dst: numeric_equald
      Src: /src/gnulib/tests/test-math-h.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:118,1
    - Dst: numeric_equald
      Src: /src/gnulib/tests/test-math-h.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:121,1
    - Dst: numeric_equall
      Src: /src/gnulib/tests/test-math-h.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-math-h.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-math-h.c
    functionUses: 7
    functionsReached:
    - numeric_equald
    - numeric_equalf
    - numeric_equall
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: fd_safer
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-fchdir.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:80,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:83,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:84,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:86,1
    - Dst: fd_safer
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:86,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:88,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:89,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:91,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:92,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:93,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:94,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:96,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:99,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:101,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:104,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:106,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:107,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:108,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:109,1
    - Dst: posix_spawn_file_actions_addfchdir
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:110,1
    - Dst: posix_spawnattr_init
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:111,1
    - Dst: posix_spawnattr_setsigmask
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:116,1
    - Dst: posix_spawnattr_setflags
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:117,1
    - Dst: posix_spawnp
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:120,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:123,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:125,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:126,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:128,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:129,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:131,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:132,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:133,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:134,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:136,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:139,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:140,1
    - Dst: fread
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:142,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:144,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:145,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:153,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:155,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:156,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:159,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:161,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:163,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:165,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:166,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:171,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:172,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 1
    argNames:
    - pwd_prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 174
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 174
    functionName: test
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-fchdir.c
    functionUses: 58
    functionsReached:
    - WIFEXITED
    - open
    - waitpid
    - sigprocmask
    - sigaddset
    - perror
    - fclose
    - fd_safer
    - close
    - memcmp
    - posix_spawn_file_actions_init
    - pipe
    - posix_spawnattr_setsigmask
    - posix_spawn_file_actions_addopen
    - WEXITSTATUS
    - exit
    - posix_spawnattr_destroy
    - strlen
    - fread
    - posix_spawn_file_actions_addfchdir
    - posix_spawnp
    - posix_spawn_file_actions_destroy
    - sigemptyset
    - posix_spawn_file_actions_adddup2
    - posix_spawn_file_actions_addclose
    - posix_spawnattr_init
    - fdopen
    - fprintf
    - posix_spawnattr_setflags
    linkageType: ''
    returnType: void
    signature: void test (const char *pwd_prog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:179,1
    - Dst: test
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:181,1
    - Dst: xasprintf
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:198,1
    - Dst: test
      Src: /src/gnulib/tests/test-posix_spawn-fchdir.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-fchdir.c
    functionUses: 7
    functionsReached:
    - is_running_under_qemu_user
    - xasprintf
    - test
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:34,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:37,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:40,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:43,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:46,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:49,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:52,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:55,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:58,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:61,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:64,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:67,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-wctype.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wctype.c
    functionUses: 7
    functionsReached:
    - wctype
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-unlink.c:45,1
    - Dst: system
      Src: /src/gnulib/tests/test-unlink.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unlink.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:58,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:59,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:61,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:62,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:63,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:64,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:65,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:66,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:67,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:68,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:69,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:70,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:71,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:72,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:73,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:74,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:76,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:77,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:78,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:79,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:80,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:81,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:82,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:83,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:84,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:85,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:86,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:87,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:88,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintf.c:89,1
    - Dst: rintf
      Src: /src/gnulib/tests/test-rintf.c:89,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-rintf.c:91,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rintf.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rintf.c
    functionUses: 7
    functionsReached:
    - test_function
    - fputs
    - ASSERT
    - rintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexpl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexpl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_times-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expf
      Src: /src/gnulib/tests/test-expf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expf.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-expf.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expf.c
    functionUses: 7
    functionsReached:
    - test_function
    - ASSERT
    - expf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strsignal
      Src: /src/gnulib/tests/test-strsignal.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:57,1
    - Dst: ASSERT_DESCRIPTION
      Src: /src/gnulib/tests/test-strsignal.c:58,1
    - Dst: strsignal
      Src: /src/gnulib/tests/test-strsignal.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:64,1
    - Dst: ASSERT_DESCRIPTION
      Src: /src/gnulib/tests/test-strsignal.c:65,1
    - Dst: strsignal
      Src: /src/gnulib/tests/test-strsignal.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strsignal.c:73,1
    - Dst: strsignal
      Src: /src/gnulib/tests/test-strsignal.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strsignal.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strsignal.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strsignal.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - strlen
    - ASSERT_DESCRIPTION
    - strsignal
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: Infinityf
    functionSourceFile: /src/gnulib/tests/infinity.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float Infinityf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Infinityd
    functionSourceFile: /src/gnulib/tests/infinity.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Infinityd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: Infinityl
    functionSourceFile: /src/gnulib/tests/infinity.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double Infinityl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-bind.c:35,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-bind.c:42,1
    - Dst: htons
      Src: /src/gnulib/tests/test-bind.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bind.c:46,1
    - Dst: bind
      Src: /src/gnulib/tests/test-bind.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bind.c:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-bind.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bind.c:52,1
    - Dst: bind
      Src: /src/gnulib/tests/test-bind.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bind.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bind.c
    functionUses: 7
    functionsReached:
    - inet_pton
    - close
    - gl_sockets_startup
    - bind
    - htons
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:34,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:37,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:40,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:43,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:46,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:49,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:52,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:55,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:58,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:61,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:64,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:67,1
    - Dst: c32_get_type_test
      Src: /src/gnulib/tests/test-c32_get_type_test.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_type_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32_get_type_test.c
    functionUses: 7
    functionsReached:
    - c32_get_type_test
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtold1.c:33,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:44,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:54,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:64,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:74,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:84,1
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtold1.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtold1.c
    functionUses: 7
    functionsReached:
    - c_strtold
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:36,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 137
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 92
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 92
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-islower_l.c
    functionUses: 5
    functionsReached:
    - ASSERT
    - islower_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-islower_l.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:99,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-islower_l.c:101,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-islower_l.c:103,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-islower_l.c:108,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-islower_l.c:110,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-islower_l.c:112,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-islower_l.c:116,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:123,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:127,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:131,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:135,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:139,1
    - Dst: islower_l
      Src: /src/gnulib/tests/test-islower_l.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-islower_l.c:142,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-islower_l.c:144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-islower_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - islower_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-snprintf.c:31,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-snprintf.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-snprintf.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-snprintf.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-snprintf.c:45,1
    - Dst: c_snprintf
      Src: /src/gnulib/tests/test-c-snprintf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-snprintf.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-snprintf.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-snprintf.c
    functionUses: 7
    functionsReached:
    - c_snprintf
    - setlocale
    - snprintf
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsnprintf.c:37,1
    - Dst: vsnprintf
      Src: /src/gnulib/tests/test-vsnprintf.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsnprintf.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - size
    - format
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_snprintf
    functionSourceFile: /src/gnulib/tests/test-vsnprintf.c
    functionUses: 1
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_snprintf (char *buf, int size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-vsnprintf.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:51,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vsnprintf.c:55,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-vsnprintf.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:62,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vsnprintf.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:68,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vsnprintf.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:72,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vsnprintf.c:72,1
    - Dst: my_snprintf
      Src: /src/gnulib/tests/test-vsnprintf.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vsnprintf.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vsnprintf.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vsnprintf.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsnprintf.c
    functionUses: 7
    functionsReached:
    - strlen
    - my_snprintf
    - memcmp
    - strcmp
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: fd_safer
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c
    functionUses: 1
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:91,1
    - Dst: fd_safer
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:91,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:93,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:94,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:96,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:97,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:98,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:99,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:101,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:104,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:106,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:109,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:111,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:112,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:113,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:114,1
    - Dst: posix_spawnattr_init
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:115,1
    - Dst: posix_spawnattr_setsigmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:120,1
    - Dst: posix_spawnattr_setflags
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:121,1
    - Dst: posix_spawnp
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:124,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:127,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:129,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:130,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:132,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:133,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:135,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:136,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:137,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:138,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:140,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:143,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:144,1
    - Dst: fread
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:146,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:148,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:149,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:151,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:153,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:154,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:156,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:158,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:160,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:162,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:163,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:165,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:168,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c:169,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-dup2-stdout.c
    functionUses: 7
    functionsReached:
    - WIFEXITED
    - waitpid
    - sigprocmask
    - sigaddset
    - perror
    - fclose
    - fd_safer
    - close
    - memcmp
    - posix_spawn_file_actions_init
    - pipe
    - posix_spawnattr_setsigmask
    - posix_spawn_file_actions_addopen
    - WEXITSTATUS
    - exit
    - posix_spawnattr_destroy
    - fread
    - posix_spawnp
    - posix_spawn_file_actions_destroy
    - sigemptyset
    - posix_spawn_file_actions_adddup2
    - posix_spawn_file_actions_addclose
    - posix_spawnattr_init
    - fdopen
    - fprintf
    - posix_spawnattr_setflags
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-time.c:39,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-time.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-time.c:41,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-time.c:41,1
    - Dst: time
      Src: /src/gnulib/tests/test-time.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-time.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-time.c
    functionUses: 7
    functionsReached:
    - gettimeofday
    - time
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-setsockopt.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setsockopt.c:40,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/test-setsockopt.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setsockopt.c:42,1
    - Dst: close
      Src: /src/gnulib/tests/test-setsockopt.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setsockopt.c:49,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/test-setsockopt.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setsockopt.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setsockopt.c
    functionUses: 7
    functionsReached:
    - gl_sockets_startup
    - close
    - ASSERT
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-popen-safer.c:45,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-popen-safer.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:49,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen-safer.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:50,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-popen-safer.c:50,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen-safer.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:52,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen-safer.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:53,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen-safer.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:55,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-popen-safer.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:56,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen-safer.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:57,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-popen-safer.c:57,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen-safer.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:59,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen-safer.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:60,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen-safer.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:62,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-popen-safer.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:63,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen-safer.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:64,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-popen-safer.c:64,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen-safer.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:66,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen-safer.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:67,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen-safer.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-popen-safer.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:70,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen-safer.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:71,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-popen-safer.c:71,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen-safer.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:73,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen-safer.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen-safer.c:74,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen-safer.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-popen-safer.c
    functionUses: 7
    functionsReached:
    - fclose
    - WIFEXITED
    - dup2
    - pclose
    - fileno
    - WEXITSTATUS
    - popen
    - fdopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:43,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:47,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:49,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-5.c
    functionUses: 7
    functionsReached:
    - fputs
    - fesetexcept
    - sigfpe_on_invalid
    - feclearexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-5.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-5.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_uio-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sinf
      Src: /src/gnulib/tests/test-sinf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sinf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sinf.c
    functionUses: 7
    functionsReached:
    - sinf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fcntl-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unistd-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dprintf.c:35,1
    - Dst: dprintf
      Src: /src/gnulib/tests/test-dprintf.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dprintf.c:36,1
    - Dst: close
      Src: /src/gnulib/tests/test-dprintf.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dprintf.c:41,1
    - Dst: dprintf
      Src: /src/gnulib/tests/test-dprintf.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dprintf.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf.c
    functionUses: 7
    functionsReached:
    - dprintf
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: maybe_null
    functionSourceFile: /src/gnulib/tests/test-userspec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      maybe_null (char const *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/gnulib/tests/test-userspec.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: same_diag
    functionSourceFile: /src/gnulib/tests/test-userspec.c
    functionUses: 0
    functionsReached:
    - STREQ
    linkageType: ''
    returnType: bool
    signature: bool same_diag (char const *s, char const *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpwuid
      Src: /src/gnulib/tests/test-userspec.c:110,1
    - Dst: getgrgid
      Src: /src/gnulib/tests/test-userspec.c:113,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/gnulib/tests/test-userspec.c:115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-userspec.c:116,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-userspec.c:121,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-userspec.c:122,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/test-userspec.c:126,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/test-userspec.c:127,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/gnulib/tests/test-userspec.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-userspec.c:140,1
    - Dst: free
      Src: /src/gnulib/tests/test-userspec.c:141,1
    - Dst: same_diag
      Src: /src/gnulib/tests/test-userspec.c:144,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:146,1
    - Dst: maybe_null
      Src: /src/gnulib/tests/test-userspec.c:147,1
    - Dst: maybe_null
      Src: /src/gnulib/tests/test-userspec.c:147,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:157,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:171,1
    - Dst: parse_user_spec_warn
      Src: /src/gnulib/tests/test-userspec.c:188,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:191,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-userspec.c:194,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-userspec.c:196,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:197,1
    - Dst: free
      Src: /src/gnulib/tests/test-userspec.c:199,1
    - Dst: free
      Src: /src/gnulib/tests/test-userspec.c:200,1
    - Dst: printf
      Src: /src/gnulib/tests/test-userspec.c:211,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-userspec.c
    functionUses: 7
    functionsReached:
    - strlen
    - strcpy
    - STREQ
    - free
    - xstrdup
    - ARRAY_CARDINALITY
    - maybe_null
    - getgrgid
    - same_diag
    - parse_user_spec_warn
    - memcpy
    - printf
    - getpwuid
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localcharset.c:35,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localcharset.c:36,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-localcharset.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localcharset.c
    functionUses: 7
    functionsReached:
    - printf
    - locale_charset
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unreachable
      Src: /src/gnulib/tests/test-stddef-h.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: test_unreachable_optimization
    functionSourceFile: /src/gnulib/tests/test-stddef-h.c
    functionUses: 0
    functionsReached:
    - unreachable
    linkageType: ''
    returnType: int
    signature: int test_unreachable_optimization (int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unreachable
      Src: /src/gnulib/tests/test-stddef-h.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: test_unreachable_noreturn
    functionSourceFile: /src/gnulib/tests/test-stddef-h.c
    functionUses: 0
    functionsReached:
    - unreachable
    linkageType: ''
    returnType: void
    signature: void test_unreachable_noreturn (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_unreachable
      Src: /src/gnulib/tests/test-stddef-h.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: test_gl_unreachable_optimization
    functionSourceFile: /src/gnulib/tests/test-stddef-h.c
    functionUses: 0
    functionsReached:
    - gl_unreachable
    linkageType: ''
    returnType: int
    signature: int test_gl_unreachable_optimization (int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_unreachable
      Src: /src/gnulib/tests/test-stddef-h.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: test_gl_unreachable_noreturn
    functionSourceFile: /src/gnulib/tests/test-stddef-h.c
    functionUses: 0
    functionsReached:
    - gl_unreachable
    linkageType: ''
    returnType: void
    signature: void test_gl_unreachable_noreturn (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stddef-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/gnulib/tests/test-fabs.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.c:44,1
    - Dst: fabs
      Src: /src/gnulib/tests/test-fabs.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabs.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabs.c
    functionUses: 7
    functionsReached:
    - test_function
    - fabs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/gnulib/tests/test-tzname.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tzname.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tzname.c
    functionUses: 7
    functionsReached:
    - tzset
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/test-nonblocking-misc.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-misc.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data_block_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: init_data
    functionSourceFile: /src/gnulib/tests/test-nonblocking-misc.h
    functionUses: 9
    functionsReached:
    - malloc
    - ASSERT
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      init_data (size_t data_block_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-nonblocking-misc.h:57,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-nonblocking-misc.h:58,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nonblocking-misc.h:62,1
    - Dst: va_start
      Src: /src/gnulib/tests/test-nonblocking-misc.h:64,1
    - Dst: vsnprintf
      Src: /src/gnulib/tests/test-nonblocking-misc.h:65,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-nonblocking-misc.h:66,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nonblocking-misc.h:69,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-nonblocking-misc.h:71,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nonblocking-misc.h:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: dbgfprintf
    functionSourceFile: /src/gnulib/tests/test-nonblocking-misc.h
    functionUses: 0
    functionsReached:
    - gettimeofday
    - strlen
    - fwrite
    - va_start
    - snprintf
    - va_end
    - fflush
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int dbgfprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-nonblocking-misc.h:91,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-nonblocking-misc.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - failed
    - err
    argTypes:
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: dbgstrerror
    functionSourceFile: /src/gnulib/tests/test-nonblocking-misc.h
    functionUses: 0
    functionsReached:
    - sprintf
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      dbgstrerror (bool failed, int err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - struct term_style_user_data*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: get_control_data
    functionSourceFile: /src/gnulib/tests/test-term-style-control-yes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct term_style_control_data
    signature: 'struct term_style_control_data *

      get_control_data (struct term_style_user_data *user_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:62,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:63,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-yes.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: restore
    functionSourceFile: /src/gnulib/tests/test-term-style-control-yes.c
    functionUses: 0
    functionsReached:
    - fputs
    - fflush
    linkageType: ''
    returnType: void
    signature: void restore (_GL_UNUSED struct term_style_user_data *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-yes.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-yes.c:72,1
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-yes.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-yes.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: async_restore
    functionSourceFile: /src/gnulib/tests/test-term-style-control-yes.c
    functionUses: 0
    functionsReached:
    - strlen
    - full_write
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE async_restore (_GL_UNUSED struct term_style_user_data
      *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-yes.c:83,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-yes.c:84,1
    - Dst: full_write
      Src: /src/gnulib/tests/test-term-style-control-yes.c:85,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-term-style-control-yes.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - struct term_style_user_data*
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: async_set_attributes_from_default
    functionSourceFile: /src/gnulib/tests/test-term-style-control-yes.c
    functionUses: 0
    functionsReached:
    - strlen
    - full_write
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE async_set_attributes_from_default (struct term_style_user_data
      *user_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: activate_term_style_controller
      Src: /src/gnulib/tests/test-term-style-control-yes.c:106,1
    - Dst: activate_term_non_default_mode
      Src: /src/gnulib/tests/test-term-style-control-yes.c:112,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:118,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:119,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-yes.c:120,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:122,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-yes.c:123,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:127,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:128,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-yes.c:129,1
    - Dst: deactivate_term_non_default_mode
      Src: /src/gnulib/tests/test-term-style-control-yes.c:132,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-term-style-control-yes.c:134,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-term-style-control-yes.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-term-style-control-yes.c
    functionUses: 7
    functionsReached:
    - activate_term_style_controller
    - fputs
    - deactivate_term_non_default_mode
    - fflush
    - activate_term_non_default_mode
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: big_fd
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int big_fd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:50,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:55,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:63,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:63,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addclose.c
    functionUses: 7
    functionsReached:
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - posix_spawn_file_actions_addclose
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:40,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:44,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:46,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:46,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:48,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:50,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:52,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:54,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:56,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:58,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:58,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:60,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:62,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:62,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:64,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:66,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:66,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:68,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:70,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:70,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:72,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:74,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:76,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:78,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:80,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:82,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:84,1
    - Dst: base32_encode
      Src: /src/gnulib/tests/test-base32.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:86,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:86,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:90,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:94,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:96,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:101,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:101,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:103,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:108,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:108,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:110,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:115,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:115,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:117,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:122,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:122,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:124,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:129,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:129,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:131,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:136,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:136,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base32.c:138,1
    - Dst: base32_decode
      Src: /src/gnulib/tests/test-base32.c:140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:143,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:143,1
    - Dst: base32_encode_alloc
      Src: /src/gnulib/tests/test-base32.c:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-base32.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:150,1
    - Dst: base32_encode_alloc
      Src: /src/gnulib/tests/test-base32.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:153,1
    - Dst: base32_decode_ctx_init
      Src: /src/gnulib/tests/test-base32.c:159,1
    - Dst: base32_decode_ctx
      Src: /src/gnulib/tests/test-base32.c:162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:165,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:165,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:173,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:174,1
    - Dst: base32_decode_ctx_init
      Src: /src/gnulib/tests/test-base32.c:180,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:182,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:184,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:185,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:185,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:186,1
    - Dst: base32_decode_ctx_init
      Src: /src/gnulib/tests/test-base32.c:191,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:196,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:197,1
    - Dst: base32_decode_ctx_init
      Src: /src/gnulib/tests/test-base32.c:199,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:203,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:204,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:209,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:209,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:210,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:215,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base32.c:215,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:216,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:219,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:220,1
    - Dst: base32_decode_ctx_init
      Src: /src/gnulib/tests/test-base32.c:227,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:229,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base32.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:231,1
    - Dst: free
      Src: /src/gnulib/tests/test-base32.c:232,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:236,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:239,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:242,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:245,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:248,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:251,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:254,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:257,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:260,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:263,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:266,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:269,1
    - Dst: base32_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base32.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base32.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 167
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-base32.c
    functionUses: 7
    functionsReached:
    - base32_encode_alloc
    - base32_decode_ctx_init
    - strlen
    - base32_encode
    - free
    - memcmp
    - base32_decode
    - strcmp
    - memset
    - base32_decode_alloc_ctx
    - base32_decode_ctx
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fabs-ieee.h:23,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs-ieee.h:23,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs-ieee.h:27,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:28,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs-ieee.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:29,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fabs-ieee.h:29,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:34,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fabs-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:38,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs-ieee.h:39,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fabs-ieee.h
    functionUses: 39
    functionsReached:
    - ISNAN
    - FABS
    - signbit
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdint-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: erfc
      Src: /src/gnulib/tests/test-erfc.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-erfc.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-erfc.c
    functionUses: 7
    functionsReached:
    - erfc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/socket-client.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/socket-client.h:32,1
    - Dst: memset
      Src: /src/gnulib/tests/socket-client.h:37,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/socket-client.h:40,1
    - Dst: htonl
      Src: /src/gnulib/tests/socket-client.h:42,1
    - Dst: memcpy
      Src: /src/gnulib/tests/socket-client.h:46,1
    - Dst: htons
      Src: /src/gnulib/tests/socket-client.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/socket-client.h:51,1
    - Dst: connect
      Src: /src/gnulib/tests/socket-client.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: create_client_socket
    functionSourceFile: /src/gnulib/tests/socket-client.h
    functionUses: 0
    functionsReached:
    - socket
    - inet_pton
    - htonl
    - connect
    - memset
    - memcpy
    - htons
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int create_client_socket (int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemchr
      Src: /src/gnulib/tests/test-wmemchr.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - wc
    - n
    argTypes:
    - wchar_t*
    - wchar_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_wmemchr
    functionSourceFile: /src/gnulib/tests/test-wmemchr.c
    functionUses: 0
    functionsReached:
    - wmemchr
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wmemchr (wchar_t const *s, wchar_t wc, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemchr.c:42,1
    - Dst: wmemchr
      Src: /src/gnulib/tests/test-wmemchr.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wmemchr.c
    functionUses: 7
    functionsReached:
    - wmemchr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-getndelim2.c:38,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-getndelim2.c:39,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getndelim2.c:41,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getndelim2.c:42,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-getndelim2.c:45,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:53,1
    - Dst: free
      Src: /src/gnulib/tests/test-getndelim2.c:56,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getndelim2.c:57,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:62,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:67,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getndelim2.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:68,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/test-getndelim2.c:76,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-getndelim2.c:77,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getndelim2.c:78,1
    - Dst: memset
      Src: /src/gnulib/tests/test-getndelim2.c:79,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:84,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:90,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:96,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getndelim2.c:96,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:99,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-getndelim2.c:102,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getndelim2.c:106,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-getndelim2.c:108,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:114,1
    - Dst: memset
      Src: /src/gnulib/tests/test-getndelim2.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:119,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:126,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:126,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:133,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:139,1
    - Dst: getndelim2
      Src: /src/gnulib/tests/test-getndelim2.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getndelim2.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getndelim2.c:145,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getndelim2.c:148,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getndelim2.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getndelim2.c
    functionUses: 7
    functionsReached:
    - fopen
    - remove
    - fclose
    - fwrite
    - fputs
    - free
    - rewind
    - memcmp
    - strcmp
    - memset
    - getndelim2
    - malloc
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-integer_length.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:44,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:44,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:47,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:47,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:48,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:49,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:52,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:54,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:57,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:58,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:62,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length.c:63,1
    - Dst: integer_length
      Src: /src/gnulib/tests/test-integer_length.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-integer_length.c
    functionUses: 7
    functionsReached:
    - naive
    - ASSERT
    - integer_length
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:34,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:35,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:36,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:37,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:38,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:39,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:44,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:47,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:50,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:53,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:56,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:59,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:62,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:65,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:68,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:71,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:71,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:74,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:77,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:80,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:83,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:86,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:89,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:92,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:95,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:98,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:98,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:101,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:104,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:107,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:113,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:113,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:117,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:121,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:125,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:129,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:133,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:137,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:141,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:145,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:149,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:153,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:157,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:161,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:165,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:169,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:173,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:177,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:181,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:185,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:189,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:193,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:193,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:197,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:197,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:201,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:205,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:205,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:209,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:213,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:217,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:217,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:221,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:225,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:229,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:229,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:233,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:237,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:241,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:241,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:245,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sigabbrev_np.c:245,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigabbrev_np.c:248,1
    - Dst: sigabbrev_np
      Src: /src/gnulib/tests/test-sigabbrev_np.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 251
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigabbrev_np.c
    functionUses: 7
    functionsReached:
    - sigabbrev_np
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-strtof.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtof.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:42,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:45,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:57,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:84,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:85,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:96,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:128,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:130,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:138,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:139,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:140,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:149,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:152,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:153,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:155,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:158,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:159,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:167,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:170,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:171,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:173,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:176,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:177,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:179,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:182,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:183,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:189,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:189,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:193,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:196,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:197,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:199,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:202,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:203,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:211,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:214,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:215,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:217,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:220,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:221,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:223,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:226,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:227,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:235,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:238,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:239,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:241,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:244,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:245,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:247,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:250,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:251,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:259,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:262,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:263,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:265,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:268,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:269,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:271,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:274,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:281,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:281,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:285,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:288,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:289,1
    - Dst: memset
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:291,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:294,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 260
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 302
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-wcrtomb-w32.c
    functionUses: 0
    functionsReached:
    - mbrtowc
    - setlocale
    - memcmp
    - btowc
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - wcrtomb
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcrtomb-w32.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-wcrtomb-w32.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcrtomb-w32.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:44,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:45,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:47,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:48,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:49,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:50,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:51,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:52,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:53,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:54,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:55,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:56,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:57,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:58,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:60,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:61,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:62,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:63,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:64,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:65,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:66,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:67,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:68,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:69,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:70,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:71,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:73,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:73,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl.c:73,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:74,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:74,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl.c:74,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl.c:76,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-roundl.c:76,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl.c:76,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-roundl.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-roundl.c
    functionUses: 7
    functionsReached:
    - roundl
    - Infinityl
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isblank.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isblank.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:42,1
    - Dst: c32isblank
      Src: /src/gnulib/tests/test-c32isblank.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isblank.c
    functionUses: 2
    functionsReached:
    - mbrtoc32
    - c32isblank
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isblank.c:54,1
    - Dst: c32isblank
      Src: /src/gnulib/tests/test-c32isblank.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:109,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:127,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:131,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:140,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:150,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:154,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:158,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:162,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:168,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isblank.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:184,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:188,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:192,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:196,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:199,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isblank.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isblank.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 162
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 209
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isblank.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isblank
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - int
    - mode
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: set_binary_mode
    functionSourceFile: /src/gnulib/tests/test-dup-safer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup-safer.c:70,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-dup-safer.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-dup-safer.c
    functionUses: 2
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup-safer.c:87,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-dup-safer.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: is_inheritable
    functionSourceFile: /src/gnulib/tests/test-dup-safer.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    - GetHandleInformation
    linkageType: ''
    returnType: bool
    signature: bool is_inheritable (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup-safer.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: is_mode
    functionSourceFile: /src/gnulib/tests/test-dup-safer.c
    functionUses: 0
    functionsReached:
    - set_binary_mode
    linkageType: ''
    returnType: bool
    signature: bool is_mode (int fd, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup-safer.c:121,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-dup-safer.c:122,1
    - Dst: creat
      Src: /src/gnulib/tests/test-dup-safer.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:134,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:138,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:141,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:142,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:145,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:146,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup-safer.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:150,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:151,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup-safer.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:152,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup-safer.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:153,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup-safer.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:155,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:155,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup-safer.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:157,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:158,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup-safer.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:159,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup-safer.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:160,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup-safer.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:163,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:164,1
    - Dst: fd_safer_flag
      Src: /src/gnulib/tests/test-dup-safer.c:164,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-dup-safer.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:165,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-dup-safer.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:166,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup-safer.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:167,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup-safer.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:168,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:172,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup-safer.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:173,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup-safer.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:174,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup-safer.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:175,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:179,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup-safer.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup-safer.c:180,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-dup-safer.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dup-safer.c
    functionUses: 7
    functionsReached:
    - dup
    - is_mode
    - set_cloexec_flag
    - fd_safer_flag
    - dup_cloexec
    - is_inheritable
    - close
    - dup2
    - unlink
    - set_binary_mode
    - creat
    - fdopen
    - is_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-rijndael.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:33,1
    - Dst: gc_cipher_open
      Src: /src/gnulib/tests/test-gc-rijndael.c:48,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-rijndael.c:52,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-rijndael.c:56,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-rijndael.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:63,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-rijndael.c:68,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:71,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:74,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:76,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:77,1
    - Dst: gc_cipher_decrypt_inline
      Src: /src/gnulib/tests/test-gc-rijndael.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:86,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-rijndael.c:91,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:96,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:97,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:99,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:100,1
    - Dst: gc_cipher_close
      Src: /src/gnulib/tests/test-gc-rijndael.c:104,1
    - Dst: gc_cipher_open
      Src: /src/gnulib/tests/test-gc-rijndael.c:121,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-rijndael.c:125,1
    - Dst: gc_cipher_setiv
      Src: /src/gnulib/tests/test-gc-rijndael.c:129,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-rijndael.c:133,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-rijndael.c:137,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:140,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-rijndael.c:145,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:148,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:150,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:151,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:153,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-rijndael.c:154,1
    - Dst: gc_cipher_close
      Src: /src/gnulib/tests/test-gc-rijndael.c:158,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-rijndael.c:161,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 164
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-rijndael.c
    functionUses: 7
    functionsReached:
    - gc_cipher_open
    - gc_cipher_encrypt_inline
    - gc_init
    - gc_cipher_setiv
    - gc_cipher_decrypt_inline
    - gc_cipher_close
    - memcmp
    - gc_done
    - memcpy
    - printf
    - gc_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:78,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-cond.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:89,1
    - Dst: pthread_cond_wait
      Src: /src/gnulib/tests/test-pthread-cond.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:93,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-cond.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: pthread_cond_wait_routine
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 0
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_cond_wait_routine (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:110,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-cond.c:110,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-cond.c:122,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-cond.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:130,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-cond.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:132,1
    - Dst: pthread_cond_signal
      Src: /src/gnulib/tests/test-pthread-cond.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:133,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-cond.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:135,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-cond.c:135,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-cond.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 141
    functionName: test_pthread_cond_wait
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_cond_signal
    - nanosleep
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_join
    - pthread_create
    - yield
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_pthread_cond_wait ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-pthread-cond.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: get_ts
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void get_ts (struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:170,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-cond.c:170,1
    - Dst: get_ts
      Src: /src/gnulib/tests/test-pthread-cond.c:181,1
    - Dst: pthread_cond_timedwait
      Src: /src/gnulib/tests/test-pthread-cond.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:188,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-cond.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 191
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 191
    functionName: pthread_cond_timedwait_routine
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_timedwait
    - ASSERT
    - get_ts
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_cond_timedwait_routine (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:203,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-cond.c:203,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-cond.c:216,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-cond.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:224,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-cond.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:226,1
    - Dst: pthread_cond_signal
      Src: /src/gnulib/tests/test-pthread-cond.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:227,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-cond.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:229,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-cond.c:229,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-cond.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 235
    functionName: test_pthread_cond_timedwait
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_cond_signal
    - nanosleep
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_join
    - pthread_create
    - yield
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_pthread_cond_timedwait (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-pthread-cond.c:244,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-pthread-cond.c:244,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-cond.c:246,1
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-cond.c:255,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-cond.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:259,1
    - Dst: pthread_cond_init
      Src: /src/gnulib/tests/test-pthread-cond.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:264,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-cond.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:265,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-cond.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:266,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-cond.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-cond.c:267,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-cond.c:267,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-cond.c:271,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-cond.c:271,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-cond.c:274,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-cond.c:274,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-cond.c:278,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-cond.c:278,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-cond.c:281,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-cond.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 286
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 7
    functionsReached:
    - pthread_cond_init
    - num_cpus
    - alarm
    - pthread_mutexattr_destroy
    - fputs
    - signal
    - pthread_mutexattr_init
    - is_running_under_virtualbox_kvm
    - fflush
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-cond.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-cond.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-sha512-stream.c:35,1
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-sha512-stream.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha512-stream.c
    functionUses: 7
    functionsReached:
    - test_digest_on_files
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-fnmatch-w32.c:40,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-fnmatch-w32.c:43,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-fnmatch-w32.c:55,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fnmatch-w32.c:80,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-fnmatch-w32.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:91,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:92,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:94,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:96,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:98,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:100,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:102,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:104,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:106,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:108,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:110,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:112,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:114,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:116,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:118,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:120,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:122,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:124,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:126,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:130,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:131,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:132,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:133,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:141,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:142,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:143,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch-w32.c:149,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-fnmatch-w32.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:152,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:153,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:154,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:156,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:158,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:160,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:162,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:164,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:166,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:168,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:170,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:172,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:174,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:176,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:178,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:180,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:182,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:184,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:186,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:188,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:190,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:192,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:194,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:196,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:198,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:200,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:202,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:204,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:206,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:206,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fnmatch-w32.c:215,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-fnmatch-w32.c:216,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-fnmatch-w32.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:219,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:220,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:221,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:222,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:232,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:233,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:234,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:241,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:242,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:243,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:246,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:248,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:250,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:252,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:254,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:256,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:258,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:260,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:264,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:265,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:266,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:267,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:275,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:276,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:277,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:280,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:282,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:284,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:286,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:288,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:290,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:292,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:294,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:298,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:299,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:300,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:301,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:301,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch-w32.c:308,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-fnmatch-w32.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:311,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:312,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:313,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:315,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:317,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:319,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:321,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:323,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:325,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:327,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:329,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:331,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:333,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:335,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:337,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:339,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:341,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:343,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:345,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:347,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:349,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:351,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:353,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:355,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:357,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:359,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:361,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:365,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:366,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:367,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch-w32.c:368,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch-w32.c:368,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 176
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 376
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-fnmatch-w32.c
    functionUses: 0
    functionsReached:
    - mbrtowc
    - setlocale
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - fnmatch
    - ASSERT
    - towupper
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fnmatch-w32.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 402
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fnmatch-w32.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fnmatch-w32.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fnmatch-w32.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isalpha.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isalpha.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:42,1
    - Dst: c32isalpha
      Src: /src/gnulib/tests/test-c32isalpha.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isalpha.c
    functionUses: 3
    functionsReached:
    - mbrtoc32
    - c32isalpha
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isalpha.c:54,1
    - Dst: c32isalpha
      Src: /src/gnulib/tests/test-c32isalpha.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:118,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:137,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:140,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:149,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:153,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:160,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:164,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:169,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:179,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:182,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:185,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:188,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:192,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:196,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:200,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:204,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:207,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isalpha.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:222,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:226,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:229,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:233,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:237,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:242,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:247,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:251,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalpha.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalpha.c:254,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 240
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 261
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isalpha.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - ASSERT
    - c32isalpha
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-errno-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fnmatch-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbspbrk.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspbrk.c:34,1
    - Dst: mbspbrk
      Src: /src/gnulib/tests/test-mbspbrk.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspbrk.c:38,1
    - Dst: mbspbrk
      Src: /src/gnulib/tests/test-mbspbrk.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspbrk.c:39,1
    - Dst: mbspbrk
      Src: /src/gnulib/tests/test-mbspbrk.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspbrk.c:46,1
    - Dst: mbspbrk
      Src: /src/gnulib/tests/test-mbspbrk.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspbrk.c:51,1
    - Dst: mbspbrk
      Src: /src/gnulib/tests/test-mbspbrk.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbspbrk.c
    functionUses: 7
    functionsReached:
    - mbspbrk
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-arpa_inet-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cosl
      Src: /src/gnulib/tests/test-cosl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cosl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cosl.c
    functionUses: 7
    functionsReached:
    - cosl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strcasecmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:39,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:41,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:43,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:44,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:46,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:47,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:52,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:53,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:58,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:59,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:63,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strcasecmp.c:64,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-c-strcasecmp.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strcasecmp.c
    functionUses: 7
    functionsReached:
    - c_strcasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ws1
    - ws2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: lib_wcsncmp
    functionSourceFile: /src/gnulib/tests/test-wcsncmp.c
    functionUses: 0
    functionsReached:
    - wcsncmp
    linkageType: ''
    returnType: int
    signature: int lib_wcsncmp (wchar_t const *ws1, wchar_t const *ws2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:47,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:48,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:49,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:54,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:55,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:56,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:57,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:58,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:59,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:60,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:61,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:62,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:67,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:68,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:69,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:70,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:71,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:72,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:77,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:78,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:79,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:80,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:81,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:82,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:83,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:88,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:89,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:90,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:91,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:92,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:93,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:94,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:95,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:100,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:101,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:102,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:103,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:104,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:105,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:106,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:107,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:108,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:109,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:110,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:111,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:112,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:123,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:127,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:128,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:129,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:130,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:131,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:132,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:137,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:138,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:139,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:140,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:141,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:142,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:148,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:149,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:150,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:151,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:152,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:153,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:154,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:169,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:170,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:174,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:175,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:176,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:177,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:178,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:179,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:184,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:185,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:186,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:187,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:188,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:189,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:195,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:196,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncmp.c:197,1
    - Dst: wcsncmp
      Src: /src/gnulib/tests/test-wcsncmp.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 200
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsncmp.c
    functionUses: 7
    functionsReached:
    - wcsncmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:31,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:32,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:33,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:34,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:35,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:36,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:37,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:38,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:40,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:40,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isnand.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:41,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:41,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isnand.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:43,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:43,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-isnand.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnand.h:46,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-isnand.h:46,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-isnand.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isnand.h
    functionUses: 7
    functionsReached:
    - Infinityd
    - isnand
    - SNaNd
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vfzprintf-gnu.c:38,1
    - Dst: vfzprintf
      Src: /src/gnulib/tests/test-vfzprintf-gnu.c:39,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vfzprintf-gnu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: my_fzprintf
    functionSourceFile: /src/gnulib/tests/test-vfzprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - vfzprintf
    - va_end
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_fzprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vfzprintf-gnu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vfzprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/gnulib/tests/test-sin.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sin.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sin.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - sin
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/gnulib/tests/test-modf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.c:44,1
    - Dst: modf
      Src: /src/gnulib/tests/test-modf.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-modf.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modf.c
    functionUses: 7
    functionsReached:
    - test_function
    - modf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:53,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:60,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:65,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:65,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:71,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:73,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:73,1
    - Dst: _spawnvpe
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:93,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:100,1
    - Dst: main_writer_loop
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-pipe-main.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 112
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nonblocking-pipe-main.c
    functionUses: 7
    functionsReached:
    - set_nonblocking_flag
    - dup2
    - atoi
    - close
    - _spawnvpe
    - main_writer_loop
    - pipe
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/socket-server.h:34,1
    - Dst: fputs
      Src: /src/gnulib/tests/socket-server.h:37,1
    - Dst: exit
      Src: /src/gnulib/tests/socket-server.h:39,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/socket-server.h:49,1
    - Dst: fputs
      Src: /src/gnulib/tests/socket-server.h:53,1
    - Dst: exit
      Src: /src/gnulib/tests/socket-server.h:55,1
    - Dst: memset
      Src: /src/gnulib/tests/socket-server.h:61,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/socket-server.h:64,1
    - Dst: htonl
      Src: /src/gnulib/tests/socket-server.h:66,1
    - Dst: memcpy
      Src: /src/gnulib/tests/socket-server.h:70,1
    - Dst: htons
      Src: /src/gnulib/tests/socket-server.h:73,1
    - Dst: bind
      Src: /src/gnulib/tests/socket-server.h:75,1
    - Dst: fputs
      Src: /src/gnulib/tests/socket-server.h:77,1
    - Dst: exit
      Src: /src/gnulib/tests/socket-server.h:79,1
    - Dst: getsockname
      Src: /src/gnulib/tests/socket-server.h:88,1
    - Dst: fputs
      Src: /src/gnulib/tests/socket-server.h:90,1
    - Dst: exit
      Src: /src/gnulib/tests/socket-server.h:92,1
    - Dst: ntohs
      Src: /src/gnulib/tests/socket-server.h:94,1
    - Dst: listen
      Src: /src/gnulib/tests/socket-server.h:97,1
    - Dst: fputs
      Src: /src/gnulib/tests/socket-server.h:99,1
    - Dst: exit
      Src: /src/gnulib/tests/socket-server.h:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - port
    - max_backlog
    - pport
    argTypes:
    - int
    - unsigned int
    - int*
    constantsTouched: []
    func_position:
      end: 106
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 106
    functionName: create_server
    functionSourceFile: /src/gnulib/tests/socket-server.h
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - setsockopt
    - htonl
    - fputs
    - ntohs
    - getsockname
    - listen
    - bind
    - memset
    - memcpy
    - htons
    linkageType: ''
    returnType: int
    signature: int create_server (int port, unsigned int max_backlog, int *pport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/socket-server.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: create_server_socket
    functionSourceFile: /src/gnulib/tests/socket-server.h
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int create_server_socket (int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-getsockopt.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockopt.c:43,1
    - Dst: getsockopt
      Src: /src/gnulib/tests/test-getsockopt.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockopt.c:45,1
    - Dst: close
      Src: /src/gnulib/tests/test-getsockopt.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockopt.c:53,1
    - Dst: getsockopt
      Src: /src/gnulib/tests/test-getsockopt.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockopt.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getsockopt.c
    functionUses: 7
    functionsReached:
    - gl_sockets_startup
    - getsockopt
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:35,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nstrftime.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s
    - maxsize
    - format
    - tp
    - tz
    - ns
    argTypes:
    - char*
    - size_t
    - char*
    - struct tm*
    - timezone_t
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: FUNC_CHECKED
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 0
    functionsReached:
    - strlen
    - ASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t FUNC_CHECKED (char *restrict s, size_t maxsize,\n              char
      const *format,\n              struct tm const *tp, timezone_t tz, int ns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/gnulib/tests/test-nstrftime.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:72,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:74,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:78,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:79,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:82,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:85,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: posixtm_test
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 1
    functionsReached:
    - gmtime
    - STREQ
    - fflush
    - FUNC_CHECKED
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int posixtm_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzalloc
      Src: /src/gnulib/tests/test-nstrftime.h:213,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:217,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-nstrftime.h:217,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:218,1
    - Dst: localtime_rz
      Src: /src/gnulib/tests/test-nstrftime.h:226,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:229,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-nstrftime.h:230,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:231,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:235,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:239,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:240,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:244,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nstrftime.h:245,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-nstrftime.h:246,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:247,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-nstrftime.h:250,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:258,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:260,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 265
    functionName: tzalloc_test
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 1
    functionsReached:
    - strlen
    - tzalloc
    - STREQ
    - memcmp
    - fflush
    - FUNC_CHECKED
    - strncmp
    - printf
    - localtime_rz
    - strerror
    linkageType: ''
    returnType: int
    signature: int tzalloc_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:286,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:287,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nstrftime.h:293,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:295,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 303
    functionName: quarter_test
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 1
    functionsReached:
    - printf
    - fflush
    - strcmp
    linkageType: ''
    returnType: int
    signature: int quarter_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:317,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:321,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:322,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:326,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:330,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:331,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:337,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:343,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:344,1
    - Dst: mktime_z
      Src: /src/gnulib/tests/test-nstrftime.h:347,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:350,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:352,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-nstrftime.h:358,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-nstrftime.h:359,1
    - Dst: gmtime
      Src: /src/gnulib/tests/test-nstrftime.h:362,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:366,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:367,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:374,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:377,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 386
    functionName: errno_test
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 1
    functionsReached:
    - gmtime
    - STREQ
    - mktime_z
    - fflush
    - FUNC_CHECKED
    - printf
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int errno_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/gnulib/tests/test-nstrftime.h:400,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:406,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:407,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:409,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:409,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:414,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:415,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:420,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:423,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:423,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:424,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:429,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:430,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:435,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:438,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:438,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:439,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:444,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:445,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:450,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:453,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:453,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:454,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:459,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:460,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:465,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:468,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:468,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:473,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:474,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:479,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:482,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:482,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:483,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:484,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:485,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:486,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:487,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:492,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:493,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:495,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:495,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:498,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:499,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:501,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:501,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:504,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:505,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:507,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:507,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:510,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:511,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:513,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:513,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:515,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:516,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:517,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:519,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:519,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:522,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:523,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:525,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:525,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:528,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:529,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:531,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:531,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:534,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:535,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:540,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:543,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:543,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:544,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:549,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:550,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:552,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:552,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:555,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:556,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:558,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:558,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:561,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:562,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:564,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:564,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:567,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:568,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:570,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:570,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:573,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:574,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:576,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:576,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:579,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:580,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:582,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:582,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:588,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:589,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:591,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:594,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:599,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:600,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:605,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:608,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:608,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:609,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:610,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:615,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:616,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:618,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:618,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:621,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:622,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:624,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:624,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:627,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:628,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:630,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:630,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:633,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:634,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:636,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:636,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:639,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:640,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:642,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:642,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:645,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:646,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:648,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:648,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:651,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:652,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:654,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:654,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:657,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:658,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:660,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:660,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:663,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:664,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:666,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:666,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:669,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:670,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:675,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:678,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:678,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:679,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:684,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:685,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:687,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:687,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:690,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:691,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:693,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:693,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:696,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:697,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:699,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:699,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:702,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:703,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:705,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:705,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:708,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:709,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:711,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:711,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:712,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:715,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:716,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:718,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:718,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:723,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:724,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:726,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:726,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:729,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:730,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:732,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:732,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:738,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:739,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:741,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:744,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:749,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:750,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:752,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:752,1
    - Dst: FUNC_CHECKED
      Src: /src/gnulib/tests/test-nstrftime.h:756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:757,1
    - Dst: printf
      Src: /src/gnulib/tests/test-nstrftime.h:758,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nstrftime.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nstrftime.h:760,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-nstrftime.h:760,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 287
    argCount: 1
    argNames:
    - language
    argTypes:
    - language_t
    constantsTouched: []
    func_position:
      end: 763
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 763
    functionName: locales_test
    functionSourceFile: /src/gnulib/tests/test-nstrftime.h
    functionUses: 1
    functionsReached:
    - gmtime
    - STREQ
    - fflush
    - FUNC_CHECKED
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int locales_test (language_t language)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftello3.c:36,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-ftello3.c:39,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello3.c:41,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftello3.c:47,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftello3.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:52,1
    - Dst: getc
      Src: /src/gnulib/tests/test-ftello3.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:53,1
    - Dst: getc
      Src: /src/gnulib/tests/test-ftello3.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:54,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:55,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello3.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:56,1
    - Dst: putc
      Src: /src/gnulib/tests/test-ftello3.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:57,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello3.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:58,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello3.c:58,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftello3.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:64,1
    - Dst: fread
      Src: /src/gnulib/tests/test-ftello3.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:65,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ftello3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello3.c:67,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello3.c:67,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftello3.c:71,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftello3.c:75,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ftello3.c:78,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftello3.c
    functionUses: 7
    functionsReached:
    - fopen
    - ftello
    - fclose
    - remove
    - fwrite
    - fread
    - fprintf
    - putc
    - memcmp
    - getc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-ptsname.c:50,1
    - Dst: stat
      Src: /src/gnulib/tests/test-ptsname.c:51,1
    - Dst: stat
      Src: /src/gnulib/tests/test-ptsname.c:52,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-ptsname.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - slave_name1
    - slave_name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: same_slave
    functionSourceFile: /src/gnulib/tests/test-ptsname.c
    functionUses: 0
    functionsReached:
    - stat
    - strcmp
    - psame_inode
    linkageType: ''
    returnType: int
    signature: int same_slave (const char *slave_name1, const char *slave_name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-ptsname.c:67,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-ptsname.c:68,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:77,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname.c:92,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:101,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname.c:101,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:104,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:116,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname.c:121,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:127,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname.c:127,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:129,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:146,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname.c:151,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:157,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname.c:157,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:161,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:177,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:178,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:185,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:187,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname.c:187,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:189,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:207,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:208,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:215,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:217,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname.c:217,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:219,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:237,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname.c:238,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-ptsname.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:245,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname.c:247,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname.c:247,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname.c:249,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 257
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ptsname.c
    functionUses: 7
    functionsReached:
    - same_slave
    - alarm
    - signal
    - open
    - close
    - memcmp
    - sprintf
    - ptsname
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-arpa_inet-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execv
      Src: /src/gnulib/tests/test-execv-main.c:48,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execv-main.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execv-main.c
    functionUses: 7
    functionsReached:
    - execv
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-execute-script.c:33,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-script.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-script.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:70,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-execute-script.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-execute-script.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:85,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-script.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:89,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-execute-script.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-script.c:92,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-execute-script.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execute-script.c
    functionUses: 7
    functionsReached:
    - fclose
    - unlink
    - memcmp
    - freopen
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 3
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_init
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:78,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:78,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:79,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:80,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:81,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:90,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:90,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:91,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:92,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:93,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:102,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:102,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:103,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:104,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:105,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:115,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:115,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:116,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:117,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:118,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:129,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:129,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:130,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:139,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:140,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:141,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:150,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:150,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:151,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:162,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:162,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:163,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:172,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:173,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:174,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:185,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:185,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:186,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:195,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:196,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:197,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:212,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:212,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:225,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:225,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:226,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:229,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 230
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 43
    functionsReached:
    - strisnan
    - obstack_free
    - obstack_init
    - memcmp
    - ASSERT
    - RESULT_EQ
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_obstack_zprintf) (struct obstack
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:238,1
    - Dst: obstack_vzprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:239,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obs
    - format
    argTypes:
    - struct obstack*
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: my_obstack_zprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - obstack_vzprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_obstack_zprintf (struct obstack *obs, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: test_obstack_vzprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_obstack_vzprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: test_obstack_zprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_obstack_zprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_obstack_vzprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:259,1
    - Dst: test_obstack_zprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-posix.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_obstack_vzprintf
    - test_obstack_zprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:42,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:42,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcwidth.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-wcwidth.c:53,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-wcwidth.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:57,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:60,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:61,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:64,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:65,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:67,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:68,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:76,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:77,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:93,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:96,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:97,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:98,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:100,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcwidth.c:101,1
    - Dst: wcwidth
      Src: /src/gnulib/tests/test-wcwidth.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcwidth.c
    functionUses: 7
    functionsReached:
    - wcwidth
    - setlocale
    - locale_charset
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copy-file.c:34,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-copy-file.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copy-file.c:41,1
    - Dst: qcopy_file_preserving
      Src: /src/gnulib/tests/test-copy-file.c:41,1
    - Dst: xcopy_file_preserving
      Src: /src/gnulib/tests/test-copy-file.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-copy-file.c
    functionUses: 7
    functionsReached:
    - xcopy_file_preserving
    - qcopy_file_preserving
    - getenv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_init
      Src: /src/gnulib/tests/test-obstack-printf.h:26,1
    - Dst: obstack_blank_fast
      Src: /src/gnulib/tests/test-obstack-printf.h:39,1
    - Dst: my_obstack_printf
      Src: /src/gnulib/tests/test-obstack-printf.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:42,1
    - Dst: obstack_object_size
      Src: /src/gnulib/tests/test-obstack-printf.h:42,1
    - Dst: obstack_1grow
      Src: /src/gnulib/tests/test-obstack-printf.h:43,1
    - Dst: obstack_finish
      Src: /src/gnulib/tests/test-obstack-printf.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-obstack-printf.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:57,1
    - Dst: my_obstack_printf
      Src: /src/gnulib/tests/test-obstack-printf.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:60,1
    - Dst: obstack_object_size
      Src: /src/gnulib/tests/test-obstack-printf.h:60,1
    - Dst: obstack_base
      Src: /src/gnulib/tests/test-obstack-printf.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:63,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-obstack-printf.h:63,1
    - Dst: obstack_finish
      Src: /src/gnulib/tests/test-obstack-printf.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:74,1
    - Dst: obstack_chunk_size
      Src: /src/gnulib/tests/test-obstack-printf.h:74,1
    - Dst: my_obstack_printf
      Src: /src/gnulib/tests/test-obstack-printf.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:77,1
    - Dst: obstack_object_size
      Src: /src/gnulib/tests/test-obstack-printf.h:77,1
    - Dst: obstack_base
      Src: /src/gnulib/tests/test-obstack-printf.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-printf.h:81,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-printf.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 85
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-obstack-printf.h
    functionUses: 45
    functionsReached:
    - obstack_base
    - obstack_free
    - obstack_init
    - strncmp
    - obstack_1grow
    - my_obstack_printf
    - obstack_object_size
    - obstack_finish
    - obstack_blank_fast
    - strcmp
    - obstack_chunk_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_obstack_printf) (struct obstack *,
      const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-sprintf-gnu.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32stombs.c:37,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32stombs.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:62,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:67,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32stombs.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:76,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32stombs.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:87,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:92,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:100,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32stombs.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:105,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32stombs.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:116,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:121,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:129,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32stombs.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:134,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32stombs.c:145,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32stombs.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:152,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:157,1
    - Dst: c32stombs
      Src: /src/gnulib/tests/test-c32stombs.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:165,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32stombs.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32stombs.c:170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 183
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32stombs.c
    functionUses: 7
    functionsReached:
    - mbstoc32s
    - c32stombs
    - setlocale
    - fputs
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-assert-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbmemcasecmp.c:36,1
    - Dst: test_ascii
      Src: /src/gnulib/tests/test-mbmemcasecmp.c:39,1
    - Dst: test_iso_8859_1
      Src: /src/gnulib/tests/test-mbmemcasecmp.c:46,1
    - Dst: test_utf_8
      Src: /src/gnulib/tests/test-mbmemcasecmp.c:51,1
    - Dst: test_utf_8
      Src: /src/gnulib/tests/test-mbmemcasecmp.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecmp.c
    functionUses: 7
    functionsReached:
    - test_iso_8859_1
    - test_utf_8
    - test_ascii
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/gnulib/tests/test-hypot.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypot.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypot.c
    functionUses: 7
    functionsReached:
    - hypot
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_un-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-sys_un-h.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_un-h.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrtf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrtf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:44,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:46,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:47,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:49,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:50,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:51,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:52,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:53,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:54,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:56,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:56,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isfinite.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:57,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:57,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isfinite.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:59,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:62,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:62,1
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-isfinite.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: test_isfinitef
    functionSourceFile: /src/gnulib/tests/test-isfinite.c
    functionUses: 0
    functionsReached:
    - Infinityf
    - SNaNf
    - ASSERT
    - isfinite
    linkageType: ''
    returnType: void
    signature: void test_isfinitef ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:70,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:72,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:73,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:75,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:76,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:77,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:78,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:79,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:80,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:82,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:82,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isfinite.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:83,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:83,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isfinite.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:85,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:88,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:88,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-isfinite.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: test_isfinited
    functionSourceFile: /src/gnulib/tests/test-isfinite.c
    functionUses: 0
    functionsReached:
    - Infinityd
    - SNaNd
    - ASSERT
    - isfinite
    linkageType: ''
    returnType: void
    signature: void test_isfinited ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:96,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:98,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:99,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:101,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:102,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:103,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:104,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:105,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:106,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:108,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:108,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isfinite.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:109,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:109,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isfinite.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:111,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:114,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:114,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-isfinite.c:114,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:137,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:137,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:143,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:143,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:149,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:149,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:149,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:154,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:154,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:154,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:159,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:159,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:159,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:164,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:164,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:164,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isfinite.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isfinite.c:169,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:169,1
    - Dst: isfinite
      Src: /src/gnulib/tests/test-isfinite.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 173
    functionName: test_isfinitel
    functionSourceFile: /src/gnulib/tests/test-isfinite.c
    functionUses: 0
    functionsReached:
    - SNaNl
    - isfinite
    - Infinityl
    - LDBL80_WORDS
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_isfinitel ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_isfinitef
      Src: /src/gnulib/tests/test-isfinite.c:178,1
    - Dst: test_isfinited
      Src: /src/gnulib/tests/test-isfinite.c:179,1
    - Dst: test_isfinitel
      Src: /src/gnulib/tests/test-isfinite.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isfinite.c
    functionUses: 7
    functionsReached:
    - test_isfinitef
    - test_isfinited
    - test_isfinitel
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-futimens.c:47,1
    - Dst: system
      Src: /src/gnulib/tests/test-futimens.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-futimens.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:34,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:38,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:39,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:40,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:41,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:42,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:43,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:43,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:47,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:48,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:49,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:50,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:51,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:52,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:52,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:56,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:57,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:58,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:59,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:60,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:61,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:62,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:63,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:64,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:65,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:66,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:67,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:68,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:69,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:70,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:71,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:72,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:73,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:74,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:75,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:76,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:77,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:78,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:79,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:80,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:81,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:82,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:83,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:84,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:85,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:86,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:87,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:88,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:89,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:90,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:91,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:91,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:95,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:96,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:97,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:98,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:99,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:100,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:101,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:101,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:105,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:106,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:107,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:108,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:109,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:110,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:111,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:111,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:115,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:116,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:117,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:118,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:119,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:120,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:121,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:121,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:125,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:126,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:127,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:128,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:129,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:130,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:131,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:131,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:135,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:136,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:137,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:138,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:139,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:140,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:141,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:142,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:143,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:143,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:147,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:148,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:149,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:150,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:151,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:152,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:153,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:154,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:155,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:155,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:159,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:160,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:161,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:162,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:163,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:164,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:165,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:165,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:169,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:170,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:171,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:172,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:173,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:174,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:175,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:176,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:177,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:178,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:179,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:180,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:180,1
    - Dst: wctype
      Src: /src/gnulib/tests/test-iswctype.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:184,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:185,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:186,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:187,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:188,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:189,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:190,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:191,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:192,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:193,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:194,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswctype.c:195,1
    - Dst: iswctype
      Src: /src/gnulib/tests/test-iswctype.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 153
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 198
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iswctype.c
    functionUses: 7
    functionsReached:
    - wctype
    - iswctype
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ieee754-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-expf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isgraph_l
      Src: /src/gnulib/tests/test-isgraph_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:36,1
    - Dst: isgraph_l
      Src: /src/gnulib/tests/test-isgraph_l.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 115
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 83
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 83
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isgraph_l.c
    functionUses: 6
    functionsReached:
    - isgraph_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isgraph_l.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:90,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isgraph_l.c:92,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isgraph_l.c:94,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isgraph_l.c:99,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isgraph_l.c:101,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isgraph_l.c:103,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isgraph_l.c:107,1
    - Dst: isgraph_l
      Src: /src/gnulib/tests/test-isgraph_l.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:114,1
    - Dst: isgraph_l
      Src: /src/gnulib/tests/test-isgraph_l.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:118,1
    - Dst: isgraph_l
      Src: /src/gnulib/tests/test-isgraph_l.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isgraph_l.c:123,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isgraph_l.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isgraph_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - isgraph_l
    - newlocale
    - freelocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/tests/test-setlocale_null-unlocked.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-unlocked.c
    functionUses: 7
    functionsReached:
    - setlocale_null_r_unlocked
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:36,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 137
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 92
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 92
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isupper_l.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - isupper_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isupper_l.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:99,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isupper_l.c:101,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isupper_l.c:103,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isupper_l.c:108,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isupper_l.c:110,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isupper_l.c:112,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isupper_l.c:116,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:123,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:126,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:129,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:133,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:137,1
    - Dst: isupper_l
      Src: /src/gnulib/tests/test-isupper_l.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isupper_l.c:140,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isupper_l.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isupper_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - isupper_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/gnulib/tests/test-fabsf.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabsf.c:44,1
    - Dst: fabsf
      Src: /src/gnulib/tests/test-fabsf.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabsf.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabsf.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabsf.c
    functionUses: 7
    functionsReached:
    - test_function
    - ASSERT
    - fabsf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-iswxdigit.c:39,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-iswxdigit.c:41,1
    - Dst: iswxdigit
      Src: /src/gnulib/tests/test-iswxdigit.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-iswxdigit.c
    functionUses: 4
    functionsReached:
    - iswxdigit
    - mbrtowc
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-iswxdigit.c:55,1
    - Dst: iswxdigit
      Src: /src/gnulib/tests/test-iswxdigit.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:60,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:104,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:123,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:126,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:129,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:138,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:141,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:153,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:159,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:162,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:168,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:171,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:174,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:180,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:186,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:189,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:192,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:195,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:198,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:207,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:210,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:213,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:219,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:222,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:225,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:228,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:231,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:234,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:237,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:240,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:243,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:246,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:249,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswxdigit.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswxdigit.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 230
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 259
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 259
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iswxdigit.c
    functionUses: 7
    functionsReached:
    - for_character
    - iswxdigit
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbscasestr3.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr3.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscasestr3.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imaxabs
      Src: /src/gnulib/tests/test-imaxabs.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxabs.c:31,1
    - Dst: imaxabs
      Src: /src/gnulib/tests/test-imaxabs.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxabs.c:35,1
    - Dst: imaxabs
      Src: /src/gnulib/tests/test-imaxabs.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxabs.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-imaxabs.c
    functionUses: 7
    functionsReached:
    - imaxabs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:33,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:36,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:39,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:46,1
    - Dst: close
      Src: /src/gnulib/tests/test-lutimens.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:56,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:58,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lutimens.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:61,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lutimens.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:69,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:71,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lutimens.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:76,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-lutimens.h:76,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lutimens.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:81,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lutimens.h:81,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lutimens.h:83,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:91,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lutimens.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:95,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:99,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lutimens.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:102,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lutimens.h:102,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lutimens.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:110,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:110,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lutimens.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:112,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:122,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lutimens.h:122,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lutimens.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:132,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:142,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:145,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:149,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:149,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:151,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-lutimens.h:151,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lutimens.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:161,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:162,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:166,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:167,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:170,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-lutimens.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:171,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-lutimens.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:173,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-lutimens.h:173,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lutimens.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:185,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:186,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:190,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:191,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:193,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-lutimens.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:195,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-lutimens.h:195,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lutimens.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:199,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:200,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:204,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-lutimens.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:207,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-lutimens.h:207,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-lutimens.h:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:209,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-lutimens.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:213,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lutimens.h:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:214,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lutimens.h:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:215,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-lutimens.h:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:221,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:225,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lutimens.h:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:227,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:231,1
    - Dst: func
      Src: /src/gnulib/tests/test-lutimens.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:232,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lutimens.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:234,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lutimens.h:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:240,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lutimens.h:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lutimens.h:241,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lutimens.h:241,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 160
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 243
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 243
    functionName: test_lutimens
    functionSourceFile: /src/gnulib/tests/test-lutimens.h
    functionUses: 1
    functionsReached:
    - utimecmp
    - symlink
    - get_stat_atime_ns
    - get_stat_ctime_ns
    - rmdir
    - lstat
    - fputs
    - ctime_compare
    - close
    - unlink
    - nap
    - stat
    - mkdir
    - func
    - get_stat_mtime_ns
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_lutimens (int (*func) (char const *, struct timespec const
      *), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_iconv
      Src: /src/gnulib/tests/bench-multibyte.h:482,1
    - Dst: str_iconv
      Src: /src/gnulib/tests/bench-multibyte.h:483,1
    - Dst: str_iconv
      Src: /src/gnulib/tests/bench-multibyte.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: text_init
    functionSourceFile: /src/gnulib/tests/bench-multibyte.h
    functionUses: 17
    functionsReached:
    - str_iconv
    linkageType: ''
    returnType: void
    signature: void text_init ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-getpeername.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpeername.c:44,1
    - Dst: getpeername
      Src: /src/gnulib/tests/test-getpeername.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpeername.c:45,1
    - Dst: close
      Src: /src/gnulib/tests/test-getpeername.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpeername.c:53,1
    - Dst: getpeername
      Src: /src/gnulib/tests/test-getpeername.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpeername.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getpeername.c
    functionUses: 7
    functionsReached:
    - gl_sockets_startup
    - getpeername
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-dirent-safer.c:54,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-dirent-safer.c:55,1
    - Dst: open
      Src: /src/gnulib/tests/test-dirent-safer.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:68,1
    - Dst: close
      Src: /src/gnulib/tests/test-dirent-safer.c:68,1
    - Dst: opendir
      Src: /src/gnulib/tests/test-dirent-safer.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:71,1
    - Dst: dirfd
      Src: /src/gnulib/tests/test-dirent-safer.c:71,1
    - Dst: dirfd
      Src: /src/gnulib/tests/test-dirent-safer.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:72,1
    - Dst: closedir
      Src: /src/gnulib/tests/test-dirent-safer.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:77,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-dirent-safer.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:80,1
    - Dst: dirfd
      Src: /src/gnulib/tests/test-dirent-safer.c:80,1
    - Dst: dirfd
      Src: /src/gnulib/tests/test-dirent-safer.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:81,1
    - Dst: closedir
      Src: /src/gnulib/tests/test-dirent-safer.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:83,1
    - Dst: close
      Src: /src/gnulib/tests/test-dirent-safer.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirent-safer.c:90,1
    - Dst: close
      Src: /src/gnulib/tests/test-dirent-safer.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dirent-safer.c
    functionUses: 7
    functionsReached:
    - dirfd
    - closedir
    - dup2
    - open
    - close
    - fdopendir
    - opendir
    - fdopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:44,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:46,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:47,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:49,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:50,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:51,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:52,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:53,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:54,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:55,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:56,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:58,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:58,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isinf.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:59,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:59,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isinf.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:61,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:64,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:64,1
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-isinf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: test_isinff
    functionSourceFile: /src/gnulib/tests/test-isinf.c
    functionUses: 0
    functionsReached:
    - Infinityf
    - isinf
    - SNaNf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_isinff ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:72,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:74,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:75,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:77,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:78,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:79,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:80,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:81,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:82,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:83,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:84,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:86,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:86,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isinf.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:87,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:87,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-isinf.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:89,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:92,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:92,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-isinf.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: test_isinfd
    functionSourceFile: /src/gnulib/tests/test-isinf.c
    functionUses: 0
    functionsReached:
    - Infinityd
    - isinf
    - SNaNd
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_isinfd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:100,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:102,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:103,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:105,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:106,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:107,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:108,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:109,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:110,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:111,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:112,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:114,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:114,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isinf.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:115,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:115,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isinf.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:117,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:120,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:120,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-isinf.c:120,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:143,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:143,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:149,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:149,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:155,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:155,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:155,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:160,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:160,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:160,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:165,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:165,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:165,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:170,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:170,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:170,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isinf.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isinf.c:175,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:175,1
    - Dst: isinf
      Src: /src/gnulib/tests/test-isinf.c:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 179
    functionName: test_isinfl
    functionSourceFile: /src/gnulib/tests/test-isinf.c
    functionUses: 0
    functionsReached:
    - SNaNl
    - Infinityl
    - LDBL80_WORDS
    - isinf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_isinfl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_isinff
      Src: /src/gnulib/tests/test-isinf.c:184,1
    - Dst: test_isinfd
      Src: /src/gnulib/tests/test-isinf.c:185,1
    - Dst: test_isinfl
      Src: /src/gnulib/tests/test-isinf.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isinf.c
    functionUses: 7
    functionsReached:
    - test_isinff
    - test_isinfl
    - test_isinfd
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MTA
      Src: /src/gnulib/tests/test-_Exit.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Charlie
    functionSourceFile: /src/gnulib/tests/test-_Exit.c
    functionUses: 0
    functionsReached:
    - MTA
    linkageType: ''
    returnType: void
    signature: void Charlie (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _Exit
      Src: /src/gnulib/tests/test-_Exit.c:37,1
    - Dst: Charlie
      Src: /src/gnulib/tests/test-_Exit.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: MTA
    functionSourceFile: /src/gnulib/tests/test-_Exit.c
    functionUses: 1
    functionsReached:
    - _Exit
    - Charlie
    linkageType: ''
    returnType: void
    signature: void MTA (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MTA
      Src: /src/gnulib/tests/test-_Exit.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-_Exit.c
    functionUses: 7
    functionsReached:
    - MTA
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-time-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-sys_select-h.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_select-h.c
    functionUses: 7
    functionsReached:
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setupterm
      Src: /src/gnulib/tests/test-terminfo.c:43,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-terminfo.c:45,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-terminfo.c:46,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-terminfo.c:47,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-terminfo.c:48,1
    - Dst: tigetstr
      Src: /src/gnulib/tests/test-terminfo.c:49,1
    - Dst: tgetent
      Src: /src/gnulib/tests/test-terminfo.c:53,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-terminfo.c:55,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-terminfo.c:56,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-terminfo.c:57,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-terminfo.c:58,1
    - Dst: tgetstr
      Src: /src/gnulib/tests/test-terminfo.c:59,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:66,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:67,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:68,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:70,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:71,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:72,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:74,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:76,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:77,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:79,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:81,1
    - Dst: tputs
      Src: /src/gnulib/tests/test-terminfo.c:82,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-terminfo.c:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 87
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-terminfo.c
    functionUses: 7
    functionsReached:
    - setupterm
    - tigetstr
    - tputs
    - printf
    - tgetstr
    - tgetent
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit_l
      Src: /src/gnulib/tests/test-isdigit_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:36,1
    - Dst: isdigit_l
      Src: /src/gnulib/tests/test-isdigit_l.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 121
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isdigit_l.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - isdigit_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isdigit_l.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:89,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isdigit_l.c:91,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isdigit_l.c:93,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isdigit_l.c:98,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isdigit_l.c:100,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isdigit_l.c:102,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isdigit_l.c:106,1
    - Dst: isdigit_l
      Src: /src/gnulib/tests/test-isdigit_l.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:113,1
    - Dst: isdigit_l
      Src: /src/gnulib/tests/test-isdigit_l.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:116,1
    - Dst: isdigit_l
      Src: /src/gnulib/tests/test-isdigit_l.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isdigit_l.c:119,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isdigit_l.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isdigit_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - isdigit_l
    - freelocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-limits-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkedhash_list.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:68,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:71,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:71,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 3
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:78,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:82,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:82,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:83,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:84,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 0
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:93,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:97,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:97,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:98,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:99,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 0
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linkedhash_list.c:108,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linkedhash_list.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 3
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-linkedhash_list.c:119,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-linkedhash_list.c:119,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-linkedhash_list.c:129,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-linkedhash_list.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:135,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-linkedhash_list.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:141,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:141,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-linkedhash_list.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:147,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_list.c:149,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-linkedhash_list.c:151,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-linkedhash_list.c:152,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:160,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:168,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:169,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:169,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:173,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:174,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:174,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:178,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:179,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:183,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:183,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:183,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:185,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:185,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:185,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:187,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:187,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:187,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:188,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:192,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:192,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:192,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:194,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:194,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:194,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:196,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:196,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:196,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:197,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:205,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:206,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:217,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:218,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:219,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:219,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linkedhash_list.c:227,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linkedhash_list.c:228,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linkedhash_list.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:239,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:240,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:241,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:243,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:252,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:254,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:257,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:258,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:259,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:260,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:261,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:262,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:262,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:270,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:272,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:275,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:276,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:277,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:278,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:278,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:279,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:279,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:280,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:280,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:280,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:290,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linkedhash_list.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:292,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linkedhash_list.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:294,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:296,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linkedhash_list.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:298,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linkedhash_list.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:300,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:302,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linkedhash_list.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:304,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linkedhash_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:307,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:308,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:309,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:310,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:311,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:312,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:313,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:315,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:316,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:317,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:318,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:318,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:327,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:329,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:332,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:333,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:334,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:335,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:336,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:337,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:340,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:340,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:340,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:342,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:342,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:342,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:344,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:344,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:344,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:345,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:349,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:349,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:349,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:351,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:351,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:351,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:353,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linkedhash_list.c:353,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:353,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:354,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:359,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:364,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:365,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linkedhash_list.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:370,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:371,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:372,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linkedhash_list.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:373,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:373,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:381,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:382,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:383,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:384,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:391,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:392,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-linkedhash_list.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:393,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:400,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:401,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-linkedhash_list.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:402,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:402,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:410,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:411,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:412,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:413,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:413,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:421,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:422,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:423,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linkedhash_list.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:424,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linkedhash_list.c:424,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linkedhash_list.c:432,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linkedhash_list.c:433,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linkedhash_list.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:437,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:438,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:439,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:440,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:442,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:444,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:445,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:446,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:446,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:447,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:448,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:449,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linkedhash_list.c:458,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linkedhash_list.c:459,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linkedhash_list.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:463,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:464,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:465,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:466,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:467,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:468,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linkedhash_list.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:470,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:471,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_list.c:472,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_list.c:472,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:473,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:474,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:475,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_list.c:479,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:482,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:483,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linkedhash_list.c:484,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkedhash_list.c:485,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 489
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 489
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-linkedhash_list.c
    functionUses: 7
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:43,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:49,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:55,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:61,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:67,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:73,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:78,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:83,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:90,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysign.c:90,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:96,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysign.c:96,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:102,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysign.c:102,1
    - Dst: copysign
      Src: /src/gnulib/tests/test-copysign.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysign.c:108,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysign.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-copysign.c
    functionUses: 7
    functionsReached:
    - copysign
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-truncate.c:36,1
    - Dst: system
      Src: /src/gnulib/tests/test-truncate.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:41,1
    - Dst: write
      Src: /src/gnulib/tests/test-truncate.c:41,1
    - Dst: close
      Src: /src/gnulib/tests/test-truncate.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:48,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-truncate.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-truncate.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:53,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:57,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-truncate.c:57,1
    - Dst: close
      Src: /src/gnulib/tests/test-truncate.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:62,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:66,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-truncate.c:66,1
    - Dst: close
      Src: /src/gnulib/tests/test-truncate.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:71,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:75,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-truncate.c:75,1
    - Dst: close
      Src: /src/gnulib/tests/test-truncate.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:82,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:88,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:95,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:102,1
    - Dst: truncate
      Src: /src/gnulib/tests/test-truncate.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncate.c:107,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-truncate.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncate.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - close
    - unlink
    - system
    - truncate
    - lseek
    - write
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: y1
      Src: /src/gnulib/tests/test-y1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-y1.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-y1.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - y1
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-freopen.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:37,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:38,1
    - Dst: getchar
      Src: /src/gnulib/tests/test-freopen.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:39,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-freopen.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:40,1
    - Dst: feof
      Src: /src/gnulib/tests/test-freopen.c:40,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freopen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-freopen.c:48,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:50,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen.c:50,1
    - Dst: perror
      Src: /src/gnulib/tests/test-freopen.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:52,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freopen.c:53,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-freopen.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:63,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:64,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freopen.c:65,1
    - Dst: close
      Src: /src/gnulib/tests/test-freopen.c:70,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-freopen.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:75,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen.c:76,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freopen.c:77,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-freopen.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freopen.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - close
    - feof
    - unlink
    - getchar
    - fileno
    - fdopen
    - freopen
    - ferror
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:23,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:24,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:25,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:26,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:27,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:27,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:30,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:30,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:31,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:31,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:32,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:32,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:33,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:33,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:36,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:36,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:37,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fmod-ieee.h:37,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:37,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:43,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:48,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:53,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:53,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:58,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:58,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:58,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:62,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:63,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:63,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:68,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:68,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:68,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:71,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:72,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:73,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:73,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:78,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:78,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fmod-ieee.h:78,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:83,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:84,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:88,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:92,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod-ieee.h:95,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod-ieee.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod-ieee.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 98
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fmod-ieee.h
    functionUses: 50
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - FMOD
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:35,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadptr.c:35,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadptr.c:36,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-freadptr.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:44,1
    - Dst: freadptr
      Src: /src/gnulib/tests/test-freadptr.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-freadptr.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:63,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadptr.c:63,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadptr.c:67,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadptr.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadptr.c:74,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadptr.c:79,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadptr.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr.c:90,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-freadptr.c:90,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadptr.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 100
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freadptr.c
    functionUses: 7
    functionsReached:
    - fclose
    - strlen
    - fgetc
    - fread
    - free
    - ungetc
    - memcmp
    - lseek
    - ASSERT
    - freadptr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.h:41,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.h:45,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-getlogin.h:58,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getlogin.h:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.h:76,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.h:83,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-getlogin.h:83,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.h:85,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.h:86,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-getlogin.h:96,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.h:100,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.h:104,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-getlogin.h:104,1
    - Dst: getpwnam
      Src: /src/gnulib/tests/test-getlogin.h:106,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.h:109,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.h:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlogin.h:123,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - buf
    - err
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 126
    functionName: test_getlogin_result
    functionSourceFile: /src/gnulib/tests/test-getlogin.h
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - exit
    - getpwnam
    - fstat
    - strcmp
    - fprintf
    - isatty
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_getlogin_result (const char *buf, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_access
      Src: /src/gnulib/tests/test-euidaccess.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-euidaccess.c
    functionUses: 7
    functionsReached:
    - test_access
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcsnrtombs.c:37,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:63,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:70,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsnrtombs.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:81,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:92,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:99,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:111,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsnrtombs.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:116,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:127,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:134,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:148,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsnrtombs.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:153,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:165,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:172,1
    - Dst: wcsnrtombs
      Src: /src/gnulib/tests/test-wcsnrtombs.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:184,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsnrtombs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsnrtombs.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 98
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 202
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsnrtombs.c
    functionUses: 7
    functionsReached:
    - setlocale
    - memcmp
    - wcsnrtombs
    - mbstowcs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-strtold.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtold.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-openat.c:52,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-openat.c:56,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-openat.c:58,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:59,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: do_open
    functionSourceFile: /src/gnulib/tests/test-openat.c
    functionUses: 0
    functionsReached:
    - openat
    - va_start
    - va_end
    - va_arg
    linkageType: ''
    returnType: int
    signature: int do_open (char const *name, int flags, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:72,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:73,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:78,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:79,1
    - Dst: test_open
      Src: /src/gnulib/tests/test-openat.c:83,1
    - Dst: open
      Src: /src/gnulib/tests/test-openat.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:86,1
    - Dst: test_open
      Src: /src/gnulib/tests/test-openat.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:87,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:92,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:93,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:93,1
    - Dst: open
      Src: /src/gnulib/tests/test-openat.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:97,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-openat.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:98,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:99,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat.c:100,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-openat.c
    functionUses: 7
    functionsReached:
    - chdir
    - open
    - close
    - test_open
    - openat
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1pl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1pl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv.c:47,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-iconv.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconv.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:73,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconv.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:107,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconv.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:108,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-iconv.c:108,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconv.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:125,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconv.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iconv.c:146,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv.c:149,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-iconv.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iconv.c
    functionUses: 7
    functionsReached:
    - strlen
    - memcmp
    - iconv_close
    - iconv_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-passfd.c:54,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-passfd.c:55,1
    - Dst: open
      Src: /src/gnulib/tests/test-passfd.c:58,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:61,1
    - Dst: socketpair
      Src: /src/gnulib/tests/test-passfd.c:65,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:68,1
    - Dst: fork
      Src: /src/gnulib/tests/test-passfd.c:72,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:75,1
    - Dst: sendfd
      Src: /src/gnulib/tests/test-passfd.c:80,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-passfd.c:91,1
    - Dst: recvfd
      Src: /src/gnulib/tests/test-passfd.c:92,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:95,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-passfd.c:98,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:104,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-passfd.c:106,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-passfd.c:108,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-passfd.c:111,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-passfd.c:114,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-passfd.c:119,1
    - Dst: perror
      Src: /src/gnulib/tests/test-passfd.c:122,1
    - Dst: recvfd
      Src: /src/gnulib/tests/test-passfd.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:136,1
    - Dst: sendfd
      Src: /src/gnulib/tests/test-passfd.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:140,1
    - Dst: recvfd
      Src: /src/gnulib/tests/test-passfd.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-passfd.c:141,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-passfd.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-passfd.c
    functionUses: 7
    functionsReached:
    - fork
    - alarm
    - signal
    - fputs
    - fstat
    - sendfd
    - open
    - close
    - socketpair
    - WIFEXITED
    - recvfd
    - WEXITSTATUS
    - waitpid
    - fprintf
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:41,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:44,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:44,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-carray_list.c
    functionUses: 4
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-carray_list.c:51,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-carray_list.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:55,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:55,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:56,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:57,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-carray_list.c
    functionUses: 1
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-carray_list.c:66,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-carray_list.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:70,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:70,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:71,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:72,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-carray_list.c
    functionUses: 1
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-carray_list.c:81,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-carray_list.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-carray_list.c
    functionUses: 4
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-carray_list.c:92,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-carray_list.c:92,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-carray_list.c:102,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-carray_list.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:107,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-carray_list.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:112,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-carray_list.c:112,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-carray_list.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:117,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-carray_list.c:119,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-carray_list.c:121,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-carray_list.c:122,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:130,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-carray_list.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:138,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:139,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:139,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-carray_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:143,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:144,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:144,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-carray_list.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:148,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:149,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:153,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:153,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:153,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:155,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:155,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:155,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:157,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:157,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:157,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:158,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:162,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:162,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:162,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:164,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:164,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:164,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:166,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:166,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:166,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:167,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:175,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:176,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:187,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:188,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:189,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:189,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-carray_list.c:197,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-carray_list.c:198,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-carray_list.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:209,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:210,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:211,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:213,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:222,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:224,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:227,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:228,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:229,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:230,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:231,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:232,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:232,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-carray_list.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:240,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-carray_list.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:242,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-carray_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:245,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:246,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:247,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:248,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:248,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:249,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:249,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:250,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:250,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:250,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:260,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-carray_list.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:262,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-carray_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:264,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:266,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-carray_list.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:268,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-carray_list.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:270,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-carray_list.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:272,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-carray_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:274,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-carray_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:277,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:278,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:279,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:280,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:281,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:282,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:283,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:285,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:286,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:287,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:288,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:288,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-carray_list.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:297,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-carray_list.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:299,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-carray_list.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:302,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:303,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:304,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:305,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:306,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:307,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:310,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:310,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:310,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:312,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:312,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:312,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:314,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:314,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-carray_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:315,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:319,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:319,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:319,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:321,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:321,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:321,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:323,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-carray_list.c:323,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-carray_list.c:323,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:324,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:329,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:334,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:335,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-carray_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:340,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-carray_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:341,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-carray_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:342,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-carray_list.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:343,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:343,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:351,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-carray_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:352,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-carray_list.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:353,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-carray_list.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:354,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:361,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-carray_list.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:362,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-carray_list.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:363,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:370,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-carray_list.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:371,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-carray_list.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:372,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:372,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:380,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:381,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:382,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:383,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:383,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:391,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:392,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:393,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-carray_list.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:394,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-carray_list.c:394,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-carray_list.c:402,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-carray_list.c:403,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-carray_list.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:407,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:408,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:409,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:410,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:411,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:412,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:414,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:415,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:416,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:416,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:417,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:418,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:419,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-carray_list.c:428,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-carray_list.c:429,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-carray_list.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:433,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:434,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:435,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:436,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:437,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:438,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-carray_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:440,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-carray_list.c:442,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-carray_list.c:442,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:443,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:444,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-carray_list.c:445,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-carray_list.c:449,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-carray_list.c:452,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-carray_list.c:453,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-carray_list.c:454,1
    - Dst: free
      Src: /src/gnulib/tests/test-carray_list.c:455,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 459
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 459
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-carray_list.c
    functionUses: 7
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logbf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logbf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:50,1
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:51,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdatasync.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:56,1
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:62,1
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:63,1
    - Dst: open
      Src: /src/gnulib/tests/test-fdatasync.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:69,1
    - Dst: write
      Src: /src/gnulib/tests/test-fdatasync.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:70,1
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:71,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdatasync.c:71,1
    - Dst: open
      Src: /src/gnulib/tests/test-fdatasync.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:80,1
    - Dst: fdatasync
      Src: /src/gnulib/tests/test-fdatasync.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdatasync.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdatasync.c:85,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fdatasync.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fdatasync.c
    functionUses: 7
    functionsReached:
    - open
    - close
    - write
    - unlink
    - fdatasync
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:49,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:50,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:50,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - (*my_asnwprintf) (wchar_t *, size_t *, const wchar_t *, ...)
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix3.c
    functionUses: 54
    functionsReached:
    - wcscmp
    - free
    - my_asnwprintf
    - wcslen
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (wchar_t * (*my_asnwprintf) (wchar_t *, size_t *,
      const wchar_t *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:61,1
    - Dst: vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:62,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - wchar_t*
    - size_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: my_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix3.c
    functionUses: 2
    functionsReached:
    - va_start
    - vasnwprintf
    - va_end
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      my_asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: test_vasnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix3.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: test_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix3.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:86,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:89,1
    - Dst: test_vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:93,1
    - Dst: test_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:94,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix3.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix3.c
    functionUses: 7
    functionsReached:
    - test_asnwprintf
    - fprintf
    - test_vasnwprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pty-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-func.c:28,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-func.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-func.c:33,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-func.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-func.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-func.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-func.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-func.c
    functionUses: 7
    functionsReached:
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/tests/test-read-file.c:39,1
    - Dst: perror
      Src: /src/gnulib/tests/test-read-file.c:46,1
    - Dst: perror
      Src: /src/gnulib/tests/test-read-file.c:53,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-read-file.c:57,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-read-file.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-read-file.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-read-file.c:76,1
    - Dst: stat
      Src: /src/gnulib/tests/test-read-file.c:82,1
    - Dst: perror
      Src: /src/gnulib/tests/test-read-file.c:89,1
    - Dst: perror
      Src: /src/gnulib/tests/test-read-file.c:96,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-read-file.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/test-read-file.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 113
    functionName: test_read_file
    functionSourceFile: /src/gnulib/tests/test-read-file.c
    functionUses: 0
    functionsReached:
    - free
    - stat
    - S_ISREG
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int test_read_file (int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read-file.c:118,1
    - Dst: test_read_file
      Src: /src/gnulib/tests/test-read-file.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read-file.c:119,1
    - Dst: test_read_file
      Src: /src/gnulib/tests/test-read-file.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read-file.c:120,1
    - Dst: test_read_file
      Src: /src/gnulib/tests/test-read-file.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read-file.c:121,1
    - Dst: test_read_file
      Src: /src/gnulib/tests/test-read-file.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-read-file.c
    functionUses: 7
    functionsReached:
    - test_read_file
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-dfa-match-aux.c:33,1
    - Dst: exit
      Src: /src/gnulib/tests/test-dfa-match-aux.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: dfaerror
    functionSourceFile: /src/gnulib/tests/test-dfa-match-aux.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void dfaerror (char const *mesg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-dfa-match-aux.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mesg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: dfawarn
    functionSourceFile: /src/gnulib/tests/test-dfa-match-aux.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dfawarn (char const *mesg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnulib/tests/test-dfa-match-aux.c:55,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dfa-match-aux.c:60,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-dfa-match-aux.c:62,1
    - Dst: init_localeinfo
      Src: /src/gnulib/tests/test-dfa-match-aux.c:63,1
    - Dst: dfaalloc
      Src: /src/gnulib/tests/test-dfa-match-aux.c:65,1
    - Dst: dfasyntax
      Src: /src/gnulib/tests/test-dfa-match-aux.c:66,1
    - Dst: dfacomp
      Src: /src/gnulib/tests/test-dfa-match-aux.c:67,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dfa-match-aux.c:67,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dfa-match-aux.c:70,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-dfa-match-aux.c:71,1
    - Dst: dfaexec
      Src: /src/gnulib/tests/test-dfa-match-aux.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dfa-match-aux.c:76,1
    - Dst: exit
      Src: /src/gnulib/tests/test-dfa-match-aux.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 79
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dfa-match-aux.c
    functionUses: 7
    functionsReached:
    - dfasyntax
    - init_localeinfo
    - exit
    - strlen
    - setlocale
    - atoi
    - set_binary_mode
    - dfaalloc
    - dfaexec
    - dfacomp
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iscntrl_l
      Src: /src/gnulib/tests/test-iscntrl_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:36,1
    - Dst: iscntrl_l
      Src: /src/gnulib/tests/test-iscntrl_l.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 114
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-iscntrl_l.c
    functionUses: 9
    functionsReached:
    - iscntrl_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:89,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-iscntrl_l.c:91,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:93,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:98,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:100,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:102,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-iscntrl_l.c:106,1
    - Dst: iscntrl_l
      Src: /src/gnulib/tests/test-iscntrl_l.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:113,1
    - Dst: iscntrl_l
      Src: /src/gnulib/tests/test-iscntrl_l.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iscntrl_l.c:116,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-iscntrl_l.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iscntrl_l.c
    functionUses: 7
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - iscntrl_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/gnulib/tests/test-bsearch.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - base
    - nel
    - width
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: lib_bsearch
    functionSourceFile: /src/gnulib/tests/test-bsearch.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: void
    signature: "void *\nlib_bsearch (void const *key, void const *base, size_t nel,
      size_t width,\n             int (*compar) (void const *, void const *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: cmp
    functionSourceFile: /src/gnulib/tests/test-bsearch.c
    functionUses: 953
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bsearch.c:49,1
    - Dst: bsearch
      Src: /src/gnulib/tests/test-bsearch.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bsearch.c
    functionUses: 7
    functionsReached:
    - bsearch
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:35,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadahead.c:35,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadahead.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:40,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:40,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-freadahead.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:46,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:53,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:53,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:54,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadahead.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:57,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:57,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadahead.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:59,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:59,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadahead.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:62,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:62,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-freadahead.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:66,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:66,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadahead.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadahead.c:69,1
    - Dst: freadahead
      Src: /src/gnulib/tests/test-freadahead.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadahead.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freadahead.c
    functionUses: 7
    functionsReached:
    - fclose
    - fgetc
    - fread
    - free
    - ungetc
    - lseek
    - ASSERT
    - freadahead
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ilogb.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ilogb.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:39,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmodat.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:45,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:46,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmodat.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:54,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmodat.c:54,1
    - Dst: creat
      Src: /src/gnulib/tests/test-fchmodat.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:55,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:56,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fchmodat.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:60,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:64,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-fchmodat.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:65,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmodat.c:65,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-fchmodat.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:72,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-fchmodat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:73,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:74,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fchmodat.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:76,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:79,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-fchmodat.c:79,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmodat.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:87,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchmodat.c:87,1
    - Dst: creat
      Src: /src/gnulib/tests/test-fchmodat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:88,1
    - Dst: fchmodat
      Src: /src/gnulib/tests/test-fchmodat.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:89,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fchmodat.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:92,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-fchmodat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchmodat.c:93,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fchmodat.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fchmodat.c
    functionUses: 7
    functionsReached:
    - rmdir
    - close
    - fchmodat
    - unlink
    - stat
    - mkdir
    - creat
    - chmod
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:35,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - formatstring
    argTypes:
    - struct string_buffer_reversed*
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: my_prependf
    functionSourceFile: /src/gnulib/tests/test-string-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: "int my_prependf (struct string_buffer_reversed *buffer, const char
      *formatstring,\n             ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:52,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:53,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:56,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:57,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:62,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:63,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:64,1
    - Dst: sbr_contents
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:67,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:68,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:69,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:69,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:71,1
    - Dst: sbr_prepend1
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:72,1
    - Dst: sbr_contents
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:75,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:76,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:77,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:78,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:79,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:83,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:93,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:99,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:100,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:101,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:105,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:111,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:112,1
    - Dst: sbr_prepend_desc
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:113,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:113,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:116,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:117,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:124,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:125,1
    - Dst: sbr_prependf
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:126,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:129,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:130,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:137,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:138,1
    - Dst: my_prependf
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:139,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:142,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:143,1
    - Dst: sbr_init
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:155,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:156,1
    - Dst: sbr_prependf
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:161,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:164,1
    - Dst: sbr_prependf
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:168,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:170,1
    - Dst: sbr_prependf
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:174,1
    - Dst: sbr_prepend_c
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer-reversed.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-buffer-reversed.c
    functionUses: 7
    functionsReached:
    - sbr_prepend_desc
    - sbr_prepend_c
    - free
    - sbr_prepend1
    - sd_length
    - memcmp
    - sbr_contents
    - my_prependf
    - sd_new_addr
    - strcmp
    - sbr_prependf
    - sd_char_at
    - sbr_init
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_wait-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/gnulib/tests/test-usleep.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-usleep.c:34,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-usleep.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-usleep.c:35,1
    - Dst: time
      Src: /src/gnulib/tests/test-usleep.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-usleep.c:37,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-usleep.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-usleep.c
    functionUses: 7
    functionsReached:
    - time
    - usleep
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/gnulib/tests/test-perror.c:31,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror.c:32,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-perror.c
    functionUses: 7
    functionsReached:
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vzprintf-gnu.c:38,1
    - Dst: vzprintf
      Src: /src/gnulib/tests/test-vzprintf-gnu.c:39,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vzprintf-gnu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: my_zprintf
    functionSourceFile: /src/gnulib/tests/test-vzprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vzprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_zprintf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vzprintf-gnu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vzprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-threads-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-modf.h:32,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:40,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:43,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:44,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:50,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 58
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-modf.h
    functionUses: 58
    functionsReached:
    - ASSERT
    - L_
    - SIZEOF
    - MODF
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-fclose.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:47,1
    - Dst: write
      Src: /src/gnulib/tests/test-fclose.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:48,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fclose.c:48,1
    - Dst: dup
      Src: /src/gnulib/tests/test-fclose.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:54,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fclose.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:57,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fclose.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:58,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fclose.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:60,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fclose.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:62,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fclose.c:62,1
    - Dst: dup
      Src: /src/gnulib/tests/test-fclose.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:66,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fclose.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:69,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fclose.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:70,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fclose.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:72,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fclose.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:74,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fclose.c:74,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fclose.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-fclose.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:84,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fclose.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:85,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fclose.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:96,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fclose.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:97,1
    - Dst: close
      Src: /src/gnulib/tests/test-fclose.c:102,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fclose.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:107,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fclose.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fclose.c:113,1
    - Dst: remove
      Src: /src/gnulib/tests/test-fclose.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 116
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fclose.c
    functionUses: 7
    functionsReached:
    - dup
    - remove
    - fclose
    - fgetc
    - open
    - write
    - close
    - fputc
    - fdopen
    - lseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainder-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainder-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/gnulib/tests/test-hmac-sha256.c:33,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:35,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha256.c:36,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-hmac-sha256.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha256.c:48,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha256.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - digest
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: hmac_check
    functionSourceFile: /src/gnulib/tests/test-hmac-sha256.c
    functionUses: 0
    functionsReached:
    - printf
    - hmac_sha256
    - exit
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void hmac_check (const void *key, size_t key_len,\n            const
      void *data, size_t data_len, const char *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha256.c:59,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha256.c:65,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha256.c:76,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha256.c:82,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha256.c:85,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha256.c:89,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha256.c:95,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha256.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 105
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hmac-sha256.c
    functionUses: 7
    functionsReached:
    - hmac_check
    - memset
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-array_oset.c:51,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-array_oset.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:55,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:56,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:59,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:60,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:60,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-array_oset.c:61,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_oset.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-array_oset.c
    functionUses: 5
    functionsReached:
    - gl_list_iterator_free
    - gl_oset_iterator_next
    - gl_list_iterator
    - gl_list_iterator_next
    - gl_oset_iterator
    - gl_oset_iterator_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_oset_t set1, gl_list_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_oset.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_oset_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-array_oset.c
    functionUses: 5
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_oset_t set1, gl_list_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-array_oset.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - threshold
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: is_at_least
    functionSourceFile: /src/gnulib/tests/test-array_oset.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_at_least (const void *elt, const void *threshold)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/tests/test-array_oset.c:87,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_oset.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - set
    - threshold_fn
    - threshold
    argTypes:
    - gl_list_t
    - gl_setelement_threshold_fn
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: gl_sortedlist_indexof_atleast
    functionSourceFile: /src/gnulib/tests/test-array_oset.c
    functionUses: 0
    functionsReached:
    - threshold_fn
    - gl_list_get_at
    linkageType: ''
    returnType: size_t
    signature: "size_t gl_sortedlist_indexof_atleast (gl_list_t set,\n                               gl_setelement_threshold_fn
      threshold_fn,\n                               const void *threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-array_oset.c:100,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-array_oset.c:100,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-array_oset.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:109,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/tests/test-array_oset.c:112,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_oset.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:120,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-array_oset.c:120,1
    - Dst: gl_sortedlist_search
      Src: /src/gnulib/tests/test-array_oset.c:121,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_oset.c:123,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_oset.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:135,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-array_oset.c:135,1
    - Dst: gl_sortedlist_search
      Src: /src/gnulib/tests/test-array_oset.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:142,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-array_oset.c:142,1
    - Dst: gl_sortedlist_search
      Src: /src/gnulib/tests/test-array_oset.c:143,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_oset.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:151,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-array_oset.c:151,1
    - Dst: gl_sortedlist_remove
      Src: /src/gnulib/tests/test-array_oset.c:152,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/tests/test-array_oset.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:165,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:168,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:169,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_oset.c:169,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_oset.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:171,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:174,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_oset.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_oset.c:175,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_oset.c:175,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-array_oset.c:178,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_oset.c:182,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-array_oset.c:185,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_oset.c:186,1
    - Dst: test_update
      Src: /src/gnulib/tests/test-array_oset.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 192
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array_oset.c
    functionUses: 7
    functionsReached:
    - gl_oset_nx_create_empty
    - srand
    - gl_sortedlist_remove
    - check_all
    - gl_list_get_at
    - gl_sortedlist_add
    - gl_oset_search
    - gl_oset_nx_add
    - ASSERT
    - gl_sortedlist_search
    - gl_oset_iterator_next
    - atoi
    - gl_oset_remove
    - gl_list_create_empty
    - gl_oset_iterator_free
    - gl_oset_iterator_atleast
    - gl_list_size
    - gl_oset_free
    - gl_list_free
    - test_update
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:74,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:83,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: floorf_reference
    functionSourceFile: /src/gnulib/tests/test-floorf2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE floorf_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanf
      Src: /src/gnulib/tests/test-floorf2.c:110,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-floorf2.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-floorf2.c
    functionUses: 122
    functionsReached:
    - isnanf
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-floorf2.c:118,1
    - Dst: equal
      Src: /src/gnulib/tests/test-floorf2.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-floorf2.c
    functionUses: 2
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorf2.c:129,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-floorf2.c:129,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-floorf2.c:133,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-floorf2.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-floorf2.c
    functionUses: 111
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-floorf2.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floorf2.c
    functionUses: 7
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-netinet_in-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vfprintf-gnu.c:38,1
    - Dst: vfprintf
      Src: /src/gnulib/tests/test-vfprintf-gnu.c:39,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vfprintf-gnu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: my_fprintf
    functionSourceFile: /src/gnulib/tests/test-vfprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int my_fprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vfprintf-gnu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vfprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:57,1
    - Dst: ckd_sub
      Src: /src/gnulib/tests/nap.h:62,1
    - Dst: ckd_mul
      Src: /src/gnulib/tests/nap.h:63,1
    - Dst: ckd_add
      Src: /src/gnulib/tests/nap.h:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: diff_timespec
    functionSourceFile: /src/gnulib/tests/nap.h
    functionUses: 0
    functionsReached:
    - ckd_mul
    - ckd_sub
    - ASSERT
    - ckd_add
    linkageType: ''
    returnType: int
    signature: int diff_timespec (struct timespec a, struct timespec b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:77,1
    - Dst: write
      Src: /src/gnulib/tests/nap.h:77,1
    - Dst: close
      Src: /src/gnulib/tests/nap.h:82,1
    - Dst: open
      Src: /src/gnulib/tests/nap.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:84,1
    - Dst: lseek
      Src: /src/gnulib/tests/nap.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:88,1
    - Dst: fstat
      Src: /src/gnulib/tests/nap.h:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - st
    - do_write
    argTypes:
    - struct stat*
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: nap_get_stat
    functionSourceFile: /src/gnulib/tests/nap.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - fstat
    - open
    - close
    - lseek
    - write
    linkageType: ''
    returnType: void
    signature: void nap_get_stat (struct stat *st, int do_write)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:101,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/nap.h:101,1
    - Dst: nap_get_stat
      Src: /src/gnulib/tests/nap.h:102,1
    - Dst: diff_timespec
      Src: /src/gnulib/tests/nap.h:104,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/tests/nap.h:104,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/tests/nap.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - delay
    - old_st
    argTypes:
    - int
    - struct stat
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: nap_works
    functionSourceFile: /src/gnulib/tests/nap.h
    functionUses: 0
    functionsReached:
    - get_stat_mtime
    - nanosleep
    - diff_timespec
    - nap_get_stat
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool nap_works (int delay, struct stat old_st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:115,1
    - Dst: close
      Src: /src/gnulib/tests/nap.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:116,1
    - Dst: unlink
      Src: /src/gnulib/tests/nap.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: clear_temp_file
    functionSourceFile: /src/gnulib/tests/nap.h
    functionUses: 0
    functionsReached:
    - close
    - ASSERT
    - unlink
    linkageType: ''
    returnType: void
    signature: void clear_temp_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xconcatenated_filename
      Src: /src/gnulib/tests/nap.h:135,1
    - Dst: xgetcwd
      Src: /src/gnulib/tests/nap.h:135,1
    - Dst: atexit
      Src: /src/gnulib/tests/nap.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:137,1
    - Dst: creat
      Src: /src/gnulib/tests/nap.h:137,1
    - Dst: nap_get_stat
      Src: /src/gnulib/tests/nap.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:142,1
    - Dst: nap_get_stat
      Src: /src/gnulib/tests/nap.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:148,1
    - Dst: nap_works
      Src: /src/gnulib/tests/nap.h:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/nap.h:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 165
    functionName: nap
    functionSourceFile: /src/gnulib/tests/nap.h
    functionUses: 3
    functionsReached:
    - xgetcwd
    - nap_works
    - xconcatenated_filename
    - creat
    - atexit
    - nap_get_stat
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void nap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fprintf-gnu.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strcasecmp.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:36,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:38,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:40,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:41,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:43,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:44,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:58,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:59,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:60,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:61,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:64,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:65,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:66,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strcasecmp.c:67,1
    - Dst: strcasecmp
      Src: /src/gnulib/tests/test-strcasecmp.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strcasecmp.c
    functionUses: 7
    functionsReached:
    - strcasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-signal-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnulib/tests/test-argmatch.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ARGMATCH_DIE_DECL
    functionSourceFile: /src/gnulib/tests/test-argmatch.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: ARGMATCH_DIE_DECL
    signature: ARGMATCH_DIE_DECL ARGMATCH_DIE_DECL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:134,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:135,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:138,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:139,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:140,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:141,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:144,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:145,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:148,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:149,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:150,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:151,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:152,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:153,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:156,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:157,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:158,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:159,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:160,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:161,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:162,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:163,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:164,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:165,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:166,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:167,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:168,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:169,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:170,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:171,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:174,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:175,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:178,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:179,1
    - Dst: CHECK
      Src: /src/gnulib/tests/test-argmatch.c:180,1
    - Dst: CHECK_EXACT
      Src: /src/gnulib/tests/test-argmatch.c:181,1
    - Dst: argmatch_backup_usage
      Src: /src/gnulib/tests/test-argmatch.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 189
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-argmatch.c
    functionUses: 7
    functionsReached:
    - CHECK
    - CHECK_EXACT
    - argmatch_backup_usage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2l-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2l-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logb-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logb-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrt-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrt-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:41,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:42,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:48,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:51,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:54,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:56,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:62,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:65,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:72,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:75,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-lseek.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-lseek.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:86,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:90,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:95,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:96,1
    - Dst: close
      Src: /src/gnulib/tests/test-lseek.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:100,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-lseek.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lseek.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 109
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lseek.c
    functionUses: 7
    functionsReached:
    - lseek
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/gnulib/tests/test-getrusage.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:45,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-getrusage.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:55,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-getrusage.c:55,1
    - Dst: getrusage
      Src: /src/gnulib/tests/test-getrusage.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrusage.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getrusage.c
    functionUses: 7
    functionsReached:
    - getrusage
    - gettimeofday
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/tests/test-execve-main.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: get_environ_assignment
    functionSourceFile: /src/gnulib/tests/test-execve-main.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_environ_assignment (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execve-main.c:59,1
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execve-main.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - env
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: create_minimal_env
    functionSourceFile: /src/gnulib/tests/test-execve-main.c
    functionUses: 0
    functionsReached:
    - get_environ_assignment
    linkageType: ''
    returnType: void
    signature: void create_minimal_env (const char *env[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_minimal_env
      Src: /src/gnulib/tests/test-execve-main.c:89,1
    - Dst: execve
      Src: /src/gnulib/tests/test-execve-main.c:90,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execve-main.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execve-main.c
    functionUses: 7
    functionsReached:
    - perror
    - create_minimal_env
    - execve
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log2f
      Src: /src/gnulib/tests/test-log2f.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2f.c:48,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2f.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2f.c
    functionUses: 7
    functionsReached:
    - log2f
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dirent-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:73,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-cnd.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:84,1
    - Dst: cnd_wait
      Src: /src/gnulib/tests/test-cnd.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:88,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-cnd.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: cnd_wait_routine
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 0
    functionsReached:
    - cnd_wait
    - mtx_lock
    - ASSERT
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: int cnd_wait_routine (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:105,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-cnd.c:105,1
    - Dst: yield
      Src: /src/gnulib/tests/test-cnd.c:116,1
    - Dst: thrd_sleep
      Src: /src/gnulib/tests/test-cnd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:124,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-cnd.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:126,1
    - Dst: cnd_signal
      Src: /src/gnulib/tests/test-cnd.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:127,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-cnd.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:129,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-cnd.c:129,1
    - Dst: abort
      Src: /src/gnulib/tests/test-cnd.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 135
    functionName: test_cnd_wait
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 0
    functionsReached:
    - abort
    - mtx_unlock
    - thrd_join
    - cnd_signal
    - mtx_lock
    - thrd_create
    - yield
    - thrd_sleep
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_cnd_wait ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-cnd.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: get_ts
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void get_ts (struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:164,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-cnd.c:164,1
    - Dst: get_ts
      Src: /src/gnulib/tests/test-cnd.c:175,1
    - Dst: cnd_timedwait
      Src: /src/gnulib/tests/test-cnd.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:182,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-cnd.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: cnd_timedwait_routine
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - cnd_timedwait
    - ASSERT
    - get_ts
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait_routine (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:197,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-cnd.c:197,1
    - Dst: yield
      Src: /src/gnulib/tests/test-cnd.c:209,1
    - Dst: thrd_sleep
      Src: /src/gnulib/tests/test-cnd.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:217,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-cnd.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:219,1
    - Dst: cnd_signal
      Src: /src/gnulib/tests/test-cnd.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:220,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-cnd.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:222,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-cnd.c:222,1
    - Dst: abort
      Src: /src/gnulib/tests/test-cnd.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: test_cnd_timedwait
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 0
    functionsReached:
    - abort
    - mtx_unlock
    - thrd_join
    - cnd_signal
    - mtx_lock
    - thrd_create
    - yield
    - thrd_sleep
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_cnd_timedwait (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-cnd.c:237,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-cnd.c:237,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-cnd.c:239,1
    - Dst: signal
      Src: /src/gnulib/tests/test-cnd.c:248,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-cnd.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:252,1
    - Dst: cnd_init
      Src: /src/gnulib/tests/test-cnd.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cnd.c:253,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-cnd.c:253,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cnd.c:256,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cnd.c:256,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cnd.c:259,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cnd.c:259,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cnd.c:263,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cnd.c:263,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cnd.c:266,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cnd.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 271
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cnd.c
    functionUses: 7
    functionsReached:
    - num_cpus
    - alarm
    - fputs
    - signal
    - mtx_init
    - is_running_under_virtualbox_kvm
    - fflush
    - cnd_init
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:30,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:35,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:40,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:42,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:47,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-ldexp.h:47,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:48,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-ldexp.h:48,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:49,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-ldexp.h:49,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:54,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:55,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:56,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:61,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:62,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:67,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:68,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:68,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:69,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:69,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:70,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:70,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:75,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:75,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:76,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:76,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:77,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp.h:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:81,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:82,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:83,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:83,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:88,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:89,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:90,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:94,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:96,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:99,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:101,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:103,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:104,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:106,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:106,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:108,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:109,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:109,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:112,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:112,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:115,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:115,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:117,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-ldexp.h:122,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:126,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp.h:131,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:131,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:131,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp.h:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 133
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-ldexp.h
    functionUses: 66
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - LDEXP
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:76,1
    - Dst: abort
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:80,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:80,1
    - Dst: abort
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-all.c
    functionUses: 0
    functionsReached:
    - abort
    - setlocale_null_r
    - fflush
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:95,1
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-all.c
    functionUses: 0
    functionsReached:
    - setlocale_null_r
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:105,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:107,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:110,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:112,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:115,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:117,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:121,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:121,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:124,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:125,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-all.c
    functionUses: 7
    functionsReached:
    - strdup
    - nanosleep
    - setlocale
    - gl_thread_create
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-setlocale_null-mt-all.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-all.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:33,1
    - Dst: gc_hmac_sha256
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:53,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:62,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-hmac-sha256.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 70
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-hmac-sha256.c
    functionUses: 7
    functionsReached:
    - gc_init
    - memcmp
    - gc_hmac_sha256
    - gc_done
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-mkfifo.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:37,1
    - Dst: stat
      Src: /src/gnulib/tests/test-mkfifo.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:38,1
    - Dst: S_ISFIFO
      Src: /src/gnulib/tests/test-mkfifo.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:42,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:45,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:53,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkfifo.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:55,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:56,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-mkfifo.h:59,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mkfifo.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:67,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:70,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifo.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:73,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkfifo.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifo.h:75,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkfifo.h:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 77
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 77
    functionName: test_mkfifo
    functionSourceFile: /src/gnulib/tests/test-mkfifo.h
    functionUses: 0
    functionsReached:
    - symlink
    - fputs
    - unlink
    - stat
    - S_ISFIFO
    - func
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_mkfifo (int (*func) (char const *, mode_t), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-printf-posix2.c:44,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:50,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:55,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:60,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:65,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:70,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-printf-posix2.c:75,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-printf-posix2.c:79,1
    - Dst: memset
      Src: /src/gnulib/tests/test-printf-posix2.c:87,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:91,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:97,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:100,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:103,1
    - Dst: printf
      Src: /src/gnulib/tests/test-printf-posix2.c:106,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-posix2.c
    functionUses: 7
    functionsReached:
    - getrlimit
    - setrlimit
    - atoi
    - is_running_under_qemu_user
    - memset
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-posix2.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:33,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:40,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:45,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:47,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:48,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:49,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:50,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:51,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:54,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:57,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:61,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:62,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:63,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:64,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:67,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:69,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:70,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:71,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:72,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:73,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:76,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:78,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:79,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:80,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:81,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:82,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:85,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:87,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:88,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:89,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:90,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:91,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:99,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:101,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:117,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:120,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-2.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-state-2.c
    functionUses: 7
    functionsReached:
    - fetestexcept
    - fegetexceptflag
    - fputs
    - fesetexceptflag
    - feclearexcept
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsncasecmp.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:34,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:35,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:37,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:38,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:40,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:41,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:42,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:43,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:44,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:45,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:46,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:47,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:49,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:50,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:51,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:52,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:53,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:54,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:55,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:56,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:61,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:62,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:65,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsncasecmp.c:66,1
    - Dst: mbsncasecmp
      Src: /src/gnulib/tests/test-mbsncasecmp.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsncasecmp.c
    functionUses: 7
    functionsReached:
    - mbsncasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-sendto.c:37,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-sendto.c:44,1
    - Dst: htons
      Src: /src/gnulib/tests/test-sendto.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sendto.c:49,1
    - Dst: sendto
      Src: /src/gnulib/tests/test-sendto.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sendto.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-sendto.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sendto.c:58,1
    - Dst: sendto
      Src: /src/gnulib/tests/test-sendto.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sendto.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sendto.c
    functionUses: 7
    functionsReached:
    - inet_pton
    - close
    - gl_sockets_startup
    - htons
    - ASSERT
    - sendto
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/gnulib/tests/test-cos.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cos.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cos.c
    functionUses: 7
    functionsReached:
    - cos
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:36,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:37,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:39,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:40,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:41,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:42,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:43,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:44,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:45,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:46,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:47,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:49,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:50,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:51,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:52,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:53,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:54,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:55,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:56,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:57,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:59,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:59,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf1.c:59,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:60,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:60,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf1.c:60,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf1.c:62,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-truncf1.c:62,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf1.c:62,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-truncf1.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncf1.c
    functionUses: 7
    functionsReached:
    - truncf
    - Infinityf
    - NaNf
    - isnanf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchown.c:34,1
    - Dst: fchown
      Src: /src/gnulib/tests/test-fchown.c:34,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-fchown.c:34,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-fchown.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchown.c:35,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchown.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchown.c:40,1
    - Dst: fchown
      Src: /src/gnulib/tests/test-fchown.c:40,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-fchown.c:40,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-fchown.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchown.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fchown.c
    functionUses: 7
    functionsReached:
    - close
    - getgid
    - fchown
    - getuid
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:43,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:48,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:50,1
    - Dst: exit
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:53,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-localcharset-w32utf8.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localcharset-w32utf8.c
    functionUses: 7
    functionsReached:
    - exit
    - setlocale
    - fputs
    - strcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-open.h:48,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-open.h:49,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:55,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:56,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:57,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:62,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:63,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:69,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:69,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:74,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:78,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:83,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:88,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:96,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:101,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:102,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:102,1
    - Dst: mkfifo
      Src: /src/gnulib/tests/test-open.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:108,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:112,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:115,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:120,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:121,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:128,1
    - Dst: read
      Src: /src/gnulib/tests/test-open.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:130,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:130,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:133,1
    - Dst: write
      Src: /src/gnulib/tests/test-open.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:134,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:134,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:140,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:140,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:154,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-open.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:158,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:158,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-open.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:165,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:165,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-open.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:172,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:173,1
    - Dst: func
      Src: /src/gnulib/tests/test-open.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:176,1
    - Dst: close
      Src: /src/gnulib/tests/test-open.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:179,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:180,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-open.h:181,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-open.h:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 184
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 184
    functionName: test_open
    functionSourceFile: /src/gnulib/tests/test-open.h
    functionUses: 1
    functionsReached:
    - symlink
    - alarm
    - fcntl
    - signal
    - fputs
    - mkfifo
    - close
    - write
    - unlink
    - func
    - read
    - ASSERT
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE test_open (int (*func) (char const *, int, ...), bool
      print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-alignalloc.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-alignalloc.c:39,1
    - Dst: alignfree
      Src: /src/gnulib/tests/test-alignalloc.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: test_alignalloc
    functionSourceFile: /src/gnulib/tests/test-alignalloc.c
    functionUses: 0
    functionsReached:
    - alignfree
    - ASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void test_alignalloc (idx_t alignment, idx_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_alignalloc
      Src: /src/gnulib/tests/test-alignalloc.c:54,1
    - Dst: test_alignalloc
      Src: /src/gnulib/tests/test-alignalloc.c:55,1
    - Dst: test_alignalloc
      Src: /src/gnulib/tests/test-alignalloc.c:56,1
    - Dst: alignfree
      Src: /src/gnulib/tests/test-alignalloc.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-alignalloc.c
    functionUses: 7
    functionsReached:
    - alignfree
    - test_alignalloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsspn.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:34,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:36,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:37,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:38,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:44,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:45,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:46,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:47,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:48,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsspn.c:53,1
    - Dst: mbsspn
      Src: /src/gnulib/tests/test-mbsspn.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsspn.c
    functionUses: 7
    functionsReached:
    - mbsspn
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_time-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log-ieee.h:23,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log-ieee.h:24,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log-ieee.h:25,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log-ieee.h:26,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:29,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log-ieee.h:29,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:29,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:35,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log-ieee.h:39,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log-ieee.h
    functionUses: 66
    functionsReached:
    - ISNAN
    - signbit
    - LOG
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-link.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-link.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-link.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/tests/test-execle-main.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: get_environ_assignment
    functionSourceFile: /src/gnulib/tests/test-execle-main.c
    functionUses: 1
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_environ_assignment (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execle-main.c:59,1
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execle-main.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - env
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: create_minimal_env
    functionSourceFile: /src/gnulib/tests/test-execle-main.c
    functionUses: 1
    functionsReached:
    - get_environ_assignment
    linkageType: ''
    returnType: void
    signature: void create_minimal_env (const char *env[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_minimal_env
      Src: /src/gnulib/tests/test-execle-main.c:74,1
    - Dst: execle
      Src: /src/gnulib/tests/test-execle-main.c:75,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execle-main.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execle-main.c
    functionUses: 7
    functionsReached:
    - execle
    - create_minimal_env
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-stpncpy.c:38,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-stpncpy.c:39,1
    - Dst: memset
      Src: /src/gnulib/tests/test-stpncpy.c:41,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-stpncpy.c:42,1
    - Dst: stpncpy
      Src: /src/gnulib/tests/test-stpncpy.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-stpncpy.c:45,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-stpncpy.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-stpncpy.c:50,1
    - Dst: printf
      Src: /src/gnulib/tests/test-stpncpy.c:51,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-stpncpy.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-stpncpy.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-stpncpy.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stpncpy.c
    functionUses: 7
    functionsReached:
    - stpncpy
    - putchar
    - memset
    - memcpy
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-hash_set.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - objptr1
    - objptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: cmp_objects_in_array
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_objects_in_array (const void *objptr1, const void *objptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_iterator
      Src: /src/gnulib/tests/test-hash_set.c:59,1
    - Dst: gl_set_iterator
      Src: /src/gnulib/tests/test-hash_set.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:63,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-hash_set.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:64,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-hash_set.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:68,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-hash_set.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:69,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-hash_set.c:69,1
    - Dst: gl_set_iterator_free
      Src: /src/gnulib/tests/test-hash_set.c:70,1
    - Dst: gl_set_iterator_free
      Src: /src/gnulib/tests/test-hash_set.c:71,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-hash_set.c:75,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-hash_set.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash_set.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash_set.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 6
    functionsReached:
    - gl_set_iterator_next
    - gl_set_iterator_free
    - free
    - qsort
    - gl_set_iterator
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_set_t set1, gl_set_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-hash_set.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 6
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_set_t set1, gl_set_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-hash_set.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *elt1, const void *elt2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: string_hashcode
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hashcode (const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-hash_set.c:113,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-hash_set.c:113,1
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/tests/test-hash_set.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:122,1
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/tests/test-hash_set.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:126,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_set.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:134,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-hash_set.c:134,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-hash_set.c:134,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_set.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:146,1
    - Dst: gl_set_search
      Src: /src/gnulib/tests/test-hash_set.c:146,1
    - Dst: gl_set_search
      Src: /src/gnulib/tests/test-hash_set.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:152,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-hash_set.c:152,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-hash_set.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_set.c:158,1
    - Dst: gl_set_remove
      Src: /src/gnulib/tests/test-hash_set.c:158,1
    - Dst: gl_set_remove
      Src: /src/gnulib/tests/test-hash_set.c:158,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_set.c:162,1
    - Dst: gl_set_free
      Src: /src/gnulib/tests/test-hash_set.c:165,1
    - Dst: gl_set_free
      Src: /src/gnulib/tests/test-hash_set.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 170
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hash_set.c
    functionUses: 7
    functionsReached:
    - gl_set_search
    - gl_set_nx_add
    - atoi
    - gl_set_remove
    - check_all
    - srand
    - gl_set_free
    - gl_set_nx_create_empty
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:30,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:32,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:43,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:54,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:63,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:65,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:74,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:76,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:85,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:87,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:96,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:98,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:107,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:109,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:121,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:131,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:141,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:151,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:161,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:171,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:181,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:191,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:201,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:211,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:221,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:232,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:234,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:243,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:245,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:254,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:256,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:265,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:267,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:276,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:278,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:287,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:289,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:301,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:311,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:321,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:331,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:341,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:351,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:360,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:362,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:371,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:373,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:382,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:384,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:393,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:395,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:404,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:406,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:415,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:417,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:426,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:428,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:437,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:439,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:448,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:450,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:459,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:461,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:471,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:481,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:493,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:503,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:513,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:526,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:538,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:554,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:556,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:571,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:571,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:573,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:585,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:595,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:607,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:617,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:625,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:627,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:637,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:647,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:659,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:662,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:663,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:667,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:667,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:675,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:676,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:679,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:689,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:692,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:693,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:694,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:694,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:701,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:702,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:705,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:715,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:718,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:719,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:723,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:723,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:731,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:732,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:735,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:745,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:750,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:752,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:765,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:768,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:769,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-strtod.h:769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:773,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:773,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:773,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:781,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:782,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:785,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:798,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:808,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:818,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:828,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:838,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:848,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:858,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:868,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:878,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtod.h:889,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:896,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtod.h:898,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtod.h:907,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:914,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtod.h:916,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtod.h:929,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:943,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:944,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtod.h:946,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtod.h:956,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:970,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtod.h:972,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strtod.h:986,1
    - Dst: my_strtod
      Src: /src/gnulib/tests/test-strtod.h:989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:991,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:991,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-strtod.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod.h:993,1
    - Dst: free
      Src: /src/gnulib/tests/test-strtod.h:995,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 584
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1003
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-strtod.h
    functionUses: 66
    functionsReached:
    - isnand
    - free
    - signbit
    - my_strtod
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (double (*my_strtod) (const char *, char **))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-cond.c:74,1
    - Dst: gl_cond_wait
      Src: /src/gnulib/tests/test-cond.c:85,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-cond.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: cond_routine
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 0
    functionsReached:
    - gl_lock_lock
    - gl_lock_unlock
    - gl_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void *

      cond_routine (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-cond.c:105,1
    - Dst: yield
      Src: /src/gnulib/tests/test-cond.c:113,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-cond.c:114,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-cond.c:120,1
    - Dst: gl_cond_signal
      Src: /src/gnulib/tests/test-cond.c:122,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-cond.c:123,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-cond.c:125,1
    - Dst: abort
      Src: /src/gnulib/tests/test-cond.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: test_cond
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_cond_signal
    - gl_thread_join
    - gl_thread_create
    - sleep
    - gl_lock_unlock
    - yield
    - gl_lock_lock
    linkageType: ''
    returnType: int
    signature: int test_cond ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-cond.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: get_ts
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 2
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void get_ts (struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-cond.c:160,1
    - Dst: get_ts
      Src: /src/gnulib/tests/test-cond.c:171,1
    - Dst: glthread_cond_timedwait
      Src: /src/gnulib/tests/test-cond.c:172,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-cond.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 181
    functionName: timedcond_routine
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 0
    functionsReached:
    - glthread_cond_timedwait
    - gl_lock_lock
    - gl_lock_unlock
    - get_ts
    linkageType: ''
    returnType: void
    signature: 'void *

      timedcond_routine (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-cond.c:192,1
    - Dst: yield
      Src: /src/gnulib/tests/test-cond.c:200,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-cond.c:201,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-cond.c:207,1
    - Dst: gl_cond_signal
      Src: /src/gnulib/tests/test-cond.c:209,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-cond.c:210,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-cond.c:212,1
    - Dst: abort
      Src: /src/gnulib/tests/test-cond.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: test_timedcond
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_cond_signal
    - gl_thread_join
    - gl_thread_create
    - sleep
    - gl_lock_unlock
    - yield
    - gl_lock_lock
    linkageType: ''
    returnType: int
    signature: int test_timedcond (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-cond.c:227,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-cond.c:227,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-cond.c:229,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cond.c:235,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cond.c:235,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cond.c:238,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cond.c:238,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cond.c:242,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cond.c:242,1
    - Dst: printf
      Src: /src/gnulib/tests/test-cond.c:245,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-cond.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 7
    functionsReached:
    - num_cpus
    - fputs
    - is_running_under_virtualbox_kvm
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-cond.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cond.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: prepare_write
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_write (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data_written
    - num_bytes_written
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: done_write
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void done_write (void *data_written, size_t num_bytes_written, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: prepare_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_read (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii1.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void done_read (void *data_read, size_t num_bytes_read, void *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:99,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:106,1
    - Dst: pipe_filter_ii_execute
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:130,1
    - Dst: free
      Src: /src/gnulib/tests/test-pipe-filter-ii1.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 136
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii1.c
    functionUses: 7
    functionsReached:
    - free
    - read_file
    - pipe_filter_ii_execute
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:42,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:45,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:57,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:84,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:85,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:96,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:128,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:130,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:138,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:139,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:140,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:149,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:152,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:153,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:155,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:158,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:159,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:167,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:170,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:171,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:173,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:176,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:177,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:179,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:182,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:183,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:189,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:189,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:193,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:196,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:197,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:199,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:202,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:203,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:205,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:208,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:209,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:217,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:220,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:221,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:223,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:226,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:227,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:229,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:232,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:233,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:241,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:244,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:245,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:247,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:250,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:251,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:253,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:256,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:257,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:265,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:268,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:269,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:271,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:274,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:275,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:277,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:280,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:281,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:287,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:287,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:291,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:294,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:295,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:297,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:300,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:301,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:303,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:306,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:307,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 270
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 314
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-c32rtomb-w32.c
    functionUses: 0
    functionsReached:
    - c32rtomb
    - mbrtowc
    - setlocale
    - memcmp
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 340
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32rtomb-w32.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32rtomb-w32.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32rtomb-w32.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isascii
      Src: /src/gnulib/tests/test-c-ctype.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:39,1
    - Dst: c_isalnum
      Src: /src/gnulib/tests/test-c-ctype.c:39,1
    - Dst: isalnum
      Src: /src/gnulib/tests/test-c-ctype.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:40,1
    - Dst: c_isalpha
      Src: /src/gnulib/tests/test-c-ctype.c:40,1
    - Dst: isalpha
      Src: /src/gnulib/tests/test-c-ctype.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:41,1
    - Dst: c_isblank
      Src: /src/gnulib/tests/test-c-ctype.c:41,1
    - Dst: isblank
      Src: /src/gnulib/tests/test-c-ctype.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:42,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:42,1
    - Dst: iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:43,1
    - Dst: c_isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:43,1
    - Dst: isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:44,1
    - Dst: c_islower
      Src: /src/gnulib/tests/test-c-ctype.c:44,1
    - Dst: islower
      Src: /src/gnulib/tests/test-c-ctype.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:45,1
    - Dst: c_isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:45,1
    - Dst: isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:46,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:46,1
    - Dst: isprint
      Src: /src/gnulib/tests/test-c-ctype.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:47,1
    - Dst: c_ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:47,1
    - Dst: ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:48,1
    - Dst: c_isspace
      Src: /src/gnulib/tests/test-c-ctype.c:48,1
    - Dst: isspace
      Src: /src/gnulib/tests/test-c-ctype.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:49,1
    - Dst: c_isupper
      Src: /src/gnulib/tests/test-c-ctype.c:49,1
    - Dst: isupper
      Src: /src/gnulib/tests/test-c-ctype.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:50,1
    - Dst: c_isxdigit
      Src: /src/gnulib/tests/test-c-ctype.c:50,1
    - Dst: isxdigit
      Src: /src/gnulib/tests/test-c-ctype.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:51,1
    - Dst: c_tolower
      Src: /src/gnulib/tests/test-c-ctype.c:51,1
    - Dst: tolower
      Src: /src/gnulib/tests/test-c-ctype.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:52,1
    - Dst: c_toupper
      Src: /src/gnulib/tests/test-c-ctype.c:52,1
    - Dst: toupper
      Src: /src/gnulib/tests/test-c-ctype.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: test_agree_with_C_locale
    functionSourceFile: /src/gnulib/tests/test-c-ctype.c
    functionUses: 0
    functionsReached:
    - isxdigit
    - isblank
    - c_isascii
    - c_isalnum
    - c_isprint
    - c_isgraph
    - isdigit
    - c_isxdigit
    - c_iscntrl
    - c_isalpha
    - c_islower
    - c_tolower
    - c_ispunct
    - c_isdigit
    - isgraph
    - ASSERT
    - c_isspace
    - c_isupper
    - isprint
    - ispunct
    - tolower
    - iscntrl
    - isupper
    - isspace
    - isalnum
    - c_isblank
    - isalpha
    - c_toupper
    - islower
    - toupper
    linkageType: ''
    returnType: void
    signature: void test_agree_with_C_locale (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:67,1
    - Dst: c_isascii
      Src: /src/gnulib/tests/test-c-ctype.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:68,1
    - Dst: c_isalnum
      Src: /src/gnulib/tests/test-c-ctype.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:69,1
    - Dst: c_isalpha
      Src: /src/gnulib/tests/test-c-ctype.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:70,1
    - Dst: c_isblank
      Src: /src/gnulib/tests/test-c-ctype.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:71,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:72,1
    - Dst: c_isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:73,1
    - Dst: c_islower
      Src: /src/gnulib/tests/test-c-ctype.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:74,1
    - Dst: c_isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:75,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:76,1
    - Dst: c_ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:77,1
    - Dst: c_isspace
      Src: /src/gnulib/tests/test-c-ctype.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:78,1
    - Dst: c_isupper
      Src: /src/gnulib/tests/test-c-ctype.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:79,1
    - Dst: c_isxdigit
      Src: /src/gnulib/tests/test-c-ctype.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:80,1
    - Dst: c_tolower
      Src: /src/gnulib/tests/test-c-ctype.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:81,1
    - Dst: c_toupper
      Src: /src/gnulib/tests/test-c-ctype.c:81,1
    - Dst: c_isascii
      Src: /src/gnulib/tests/test-c-ctype.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:87,1
    - Dst: c_isascii
      Src: /src/gnulib/tests/test-c-ctype.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:90,1
    - Dst: c_isascii
      Src: /src/gnulib/tests/test-c-ctype.c:90,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:90,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:92,1
    - Dst: c_isalnum
      Src: /src/gnulib/tests/test-c-ctype.c:92,1
    - Dst: c_isalpha
      Src: /src/gnulib/tests/test-c-ctype.c:92,1
    - Dst: c_isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:94,1
    - Dst: c_isalpha
      Src: /src/gnulib/tests/test-c-ctype.c:94,1
    - Dst: c_islower
      Src: /src/gnulib/tests/test-c-ctype.c:94,1
    - Dst: c_isupper
      Src: /src/gnulib/tests/test-c-ctype.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:99,1
    - Dst: c_isblank
      Src: /src/gnulib/tests/test-c-ctype.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:102,1
    - Dst: c_isblank
      Src: /src/gnulib/tests/test-c-ctype.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:107,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:114,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:118,1
    - Dst: c_iscntrl
      Src: /src/gnulib/tests/test-c-ctype.c:118,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:124,1
    - Dst: c_isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:127,1
    - Dst: c_isdigit
      Src: /src/gnulib/tests/test-c-ctype.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:138,1
    - Dst: c_islower
      Src: /src/gnulib/tests/test-c-ctype.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:139,1
    - Dst: c_toupper
      Src: /src/gnulib/tests/test-c-ctype.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:142,1
    - Dst: c_islower
      Src: /src/gnulib/tests/test-c-ctype.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:143,1
    - Dst: c_toupper
      Src: /src/gnulib/tests/test-c-ctype.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:148,1
    - Dst: c_isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:150,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:153,1
    - Dst: c_isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:153,1
    - Dst: c_isalnum
      Src: /src/gnulib/tests/test-c-ctype.c:153,1
    - Dst: c_ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:155,1
    - Dst: c_isprint
      Src: /src/gnulib/tests/test-c-ctype.c:155,1
    - Dst: c_isgraph
      Src: /src/gnulib/tests/test-c-ctype.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:164,1
    - Dst: c_ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:167,1
    - Dst: c_ispunct
      Src: /src/gnulib/tests/test-c-ctype.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:174,1
    - Dst: c_isspace
      Src: /src/gnulib/tests/test-c-ctype.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:177,1
    - Dst: c_isspace
      Src: /src/gnulib/tests/test-c-ctype.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:188,1
    - Dst: c_isupper
      Src: /src/gnulib/tests/test-c-ctype.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:189,1
    - Dst: c_tolower
      Src: /src/gnulib/tests/test-c-ctype.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:192,1
    - Dst: c_isupper
      Src: /src/gnulib/tests/test-c-ctype.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:193,1
    - Dst: c_tolower
      Src: /src/gnulib/tests/test-c-ctype.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:203,1
    - Dst: c_isxdigit
      Src: /src/gnulib/tests/test-c-ctype.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:206,1
    - Dst: c_isxdigit
      Src: /src/gnulib/tests/test-c-ctype.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ctype.c:211,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 220
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 212
    functionName: test_all
    functionSourceFile: /src/gnulib/tests/test-c-ctype.c
    functionUses: 0
    functionsReached:
    - c_isxdigit
    - c_isspace
    - c_isupper
    - c_isblank
    - c_toupper
    - c_isalpha
    - c_islower
    - c_isascii
    - c_tolower
    - c_isalnum
    - c_isprint
    - c_ispunct
    - c_isgraph
    - c_isdigit
    - ASSERT
    - c_iscntrl
    linkageType: ''
    returnType: void
    signature: void test_all (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_agree_with_C_locale
      Src: /src/gnulib/tests/test-c-ctype.c:217,1
    - Dst: test_all
      Src: /src/gnulib/tests/test-c-ctype.c:219,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-ctype.c:222,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-ctype.c:223,1
    - Dst: test_all
      Src: /src/gnulib/tests/test-c-ctype.c:225,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-ctype.c:228,1
    - Dst: test_all
      Src: /src/gnulib/tests/test-c-ctype.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-ctype.c
    functionUses: 7
    functionsReached:
    - test_all
    - test_agree_with_C_locale
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-modf-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:27,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-modf-ieee.h:27,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-modf-ieee.h:36,1
    - Dst: MODF
      Src: /src/gnulib/tests/test-modf-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-modf-ieee.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modf-ieee.h:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-modf-ieee.h:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-modf-ieee.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-modf-ieee.h
    functionUses: 66
    functionsReached:
    - MODF
    - ISNAN
    - signbit
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbscasestr2.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:62,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:82,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr2.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr2.c:85,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr2.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:109,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr2.c:109,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr2.c:112,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr2.c:125,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr2.c:129,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr2.c:134,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr2.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr2.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscasestr2.c
    functionUses: 7
    functionsReached:
    - mbscasestr
    - setlocale
    - free
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fprintf-posix.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_client_socket
      Src: /src/gnulib/tests/test-nonblocking-socket-child.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-socket-child.c:46,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking-socket-child.c:46,1
    - Dst: main_reader_loop
      Src: /src/gnulib/tests/test-nonblocking-socket-child.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nonblocking-socket-child.c
    functionUses: 7
    functionsReached:
    - main_reader_loop
    - create_client_socket
    - ASSERT
    - set_nonblocking_flag
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_init
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:55,1
    - Dst: RESULT_EQ
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:55,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:56,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-gnu.c
    functionUses: 67
    functionsReached:
    - ASSERT
    - obstack_free
    - obstack_init
    - RESULT_EQ
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_obstack_zprintf) (struct obstack
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:68,1
    - Dst: obstack_vzprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:69,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obs
    - format
    argTypes:
    - struct obstack*
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: my_obstack_zprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - obstack_vzprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_obstack_zprintf (struct obstack *obs, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: test_obstack_vzprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_obstack_vzprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: test_obstack_zprintf
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_obstack_zprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_obstack_vzprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:89,1
    - Dst: test_obstack_zprintf
      Src: /src/gnulib/tests/test-obstack-zprintf-gnu.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_obstack_vzprintf
    - test_obstack_zprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdbit-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsinit.c:35,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsinit.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsinit.c:37,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsinit.c:37,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsinit.c:46,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsinit.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsinit.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsinit.c:51,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsinit.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsinit.c
    functionUses: 7
    functionsReached:
    - mbrtowc
    - mbsinit
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-logb-ieee.h:23,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb-ieee.h:26,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb-ieee.h:27,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb-ieee.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-logb-ieee.h
    functionUses: 69
    functionsReached:
    - LOGB
    - ASSERT
    - ISNAN
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:37,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:38,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:40,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:41,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:42,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:43,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:44,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:45,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:46,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:47,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:48,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:49,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:50,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:51,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:53,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:54,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:55,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:56,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:57,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:58,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:59,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:60,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:61,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:62,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:63,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:64,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:66,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:66,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf1.c:66,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:67,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:67,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf1.c:67,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf1.c:69,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-roundf1.c:69,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf1.c:69,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-roundf1.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-roundf1.c
    functionUses: 7
    functionsReached:
    - Infinityf
    - NaNf
    - isnanf
    - roundf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-freading.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:40,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:41,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-freading.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:42,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:43,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freading.c:43,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freading.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:48,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:49,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:50,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:51,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:52,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:53,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:54,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:54,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-freading.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:56,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:57,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:58,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:59,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:60,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:61,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freading.c:61,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freading.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:71,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:72,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:73,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:74,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:76,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:77,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:80,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:82,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-freading.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:83,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:84,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:88,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freading.c:88,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freading.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:98,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:99,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:100,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:101,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:103,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:104,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:104,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-freading.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:107,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freading.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:108,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:111,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:113,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-freading.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:114,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:115,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freading.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:119,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freading.c:119,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freading.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:124,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:125,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-freading.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:126,1
    - Dst: freading
      Src: /src/gnulib/tests/test-freading.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:127,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freading.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freading.c:128,1
    - Dst: remove
      Src: /src/gnulib/tests/test-freading.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freading.c
    functionUses: 7
    functionsReached:
    - fopen
    - remove
    - fclose
    - fgetc
    - fwrite
    - fflush
    - freading
    - fputc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_types-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bool.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:61,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-chown.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:62,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:62,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:65,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-chown.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:68,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-chown.h:68,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-chown.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:75,1
    - Dst: close
      Src: /src/gnulib/tests/test-chown.h:75,1
    - Dst: creat
      Src: /src/gnulib/tests/test-chown.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:76,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:78,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-chown.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:82,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-chown.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:86,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:89,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:92,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:95,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:99,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:100,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:101,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:102,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:104,1
    - Dst: nap
      Src: /src/gnulib/tests/test-chown.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:109,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:110,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:111,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:113,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:113,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-chown.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:118,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chown.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:119,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-chown.h:119,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-chown.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:126,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:129,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:131,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-chown.h:131,1
    - Dst: mgetgroups
      Src: /src/gnulib/tests/test-chown.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:141,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-chown.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:144,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:147,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:152,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:154,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:157,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:160,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:164,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:165,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:166,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-chown.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:169,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:172,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:180,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:181,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:182,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:182,1
    - Dst: nap
      Src: /src/gnulib/tests/test-chown.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:186,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:188,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:190,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:190,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:191,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:193,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:193,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:194,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:196,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:196,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:198,1
    - Dst: func
      Src: /src/gnulib/tests/test-chown.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:199,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chown.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:200,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:202,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:203,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:205,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:205,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:206,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-chown.h:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:208,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:208,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-chown.h:208,1
    - Dst: free
      Src: /src/gnulib/tests/test-chown.h:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:213,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chown.h:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:214,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chown.h:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:215,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chown.h:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chown.h:216,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-chown.h:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 120
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 218
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 218
    functionName: test_chown
    functionSourceFile: /src/gnulib/tests/test-chown.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - symlink
    - rmdir
    - get_stat_ctime_ns
    - lstat
    - fputs
    - free
    - close
    - getegid
    - unlink
    - nap
    - stat
    - creat
    - getgid
    - func
    - mgetgroups
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_chown (int (*func) (char const *, uid_t, gid_t), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:42,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:52,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:62,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:72,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:84,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:94,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:104,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:114,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:124,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:134,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:144,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:156,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:166,1
    - Dst: strtoimax
      Src: /src/gnulib/tests/test-strtoimax.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoimax.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtoimax.c
    functionUses: 7
    functionsReached:
    - strtoimax
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logp1
      Src: /src/gnulib/tests/test-logp1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logp1.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-logp1.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logp1.c
    functionUses: 7
    functionsReached:
    - test_function
    - logp1
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-2.c:37,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-fenv-except-tracking-2.c:41,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-2.c:43,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-2.c:82,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 92
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-2.c
    functionUses: 7
    functionsReached:
    - fputs
    - sigfpe_on_invalid
    - feclearexcept
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-2.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-2.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgfprintf
      Src: /src/gnulib/tests/test-nonblocking-reader.h:69,1
    - Dst: read
      Src: /src/gnulib/tests/test-nonblocking-reader.h:72,1
    - Dst: dbgstrerror
      Src: /src/gnulib/tests/test-nonblocking-reader.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: full_read
    functionSourceFile: /src/gnulib/tests/test-nonblocking-reader.h
    functionUses: 0
    functionsReached:
    - dbgfprintf
    - read
    - ASSERT
    - dbgstrerror
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t full_read (size_t fd, void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgfprintf
      Src: /src/gnulib/tests/test-nonblocking-reader.h:101,1
    - Dst: read
      Src: /src/gnulib/tests/test-nonblocking-reader.h:104,1
    - Dst: dbgstrerror
      Src: /src/gnulib/tests/test-nonblocking-reader.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:114,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-reader.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: full_read_from_nonblocking_fd
    functionSourceFile: /src/gnulib/tests/test-nonblocking-reader.h
    functionUses: 0
    functionsReached:
    - dbgstrerror
    - dbgfprintf
    - usleep
    - read
    - ASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t full_read_from_nonblocking_fd (size_t fd, void *buf, size_t
      count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/gnulib/tests/test-nonblocking-reader.h:134,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-nonblocking-reader.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:137,1
    - Dst: full_read
      Src: /src/gnulib/tests/test-nonblocking-reader.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-nonblocking-reader.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:154,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-reader.h:156,1
    - Dst: full_read
      Src: /src/gnulib/tests/test-nonblocking-reader.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:162,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-nonblocking-reader.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:165,1
    - Dst: full_read_from_nonblocking_fd
      Src: /src/gnulib/tests/test-nonblocking-reader.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:175,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-nonblocking-reader.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:180,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-reader.h:182,1
    - Dst: full_read_from_nonblocking_fd
      Src: /src/gnulib/tests/test-nonblocking-reader.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:188,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-nonblocking-reader.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-reader.h:191,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nonblocking-reader.h:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-nonblocking-reader.h:199,1
    - Dst: free
      Src: /src/gnulib/tests/test-nonblocking-reader.h:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - test
    - data_block_size
    - fd
    argTypes:
    - int
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 201
    functionName: main_reader_loop
    functionSourceFile: /src/gnulib/tests/test-nonblocking-reader.h
    functionUses: 1
    functionsReached:
    - abort
    - full_read
    - free
    - memcmp
    - usleep
    - full_read_from_nonblocking_fd
    - init_data
    - malloc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void main_reader_loop (int test, size_t data_block_size, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:35,1
    - Dst: close
      Src: /src/gnulib/tests/test-close.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:36,1
    - Dst: close
      Src: /src/gnulib/tests/test-close.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:41,1
    - Dst: close
      Src: /src/gnulib/tests/test-close.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-close.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-close.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-close.c
    functionUses: 7
    functionsReached:
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:43,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:44,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:46,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:47,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:48,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:49,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:50,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:51,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:52,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:53,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:54,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:56,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:57,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:58,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:59,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:60,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:61,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:62,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:63,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:64,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:66,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:66,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl.c:66,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:67,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl.c:69,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-truncl.c:69,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl.c:69,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-truncl.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncl.c
    functionUses: 7
    functionsReached:
    - truncl
    - Infinityl
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fseeko4.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:35,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fseeko4.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:38,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fseeko4.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:39,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko4.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:40,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fseeko4.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:41,1
    - Dst: close
      Src: /src/gnulib/tests/test-fseeko4.c:41,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fseeko4.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:43,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko4.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:44,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fseeko4.c:46,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fseeko4.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:56,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko4.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:57,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fseeko4.c:58,1
    - Dst: close
      Src: /src/gnulib/tests/test-fseeko4.c:63,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fseeko4.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:68,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko4.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko4.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fseeko4.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseeko4.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - close
    - ftell
    - fseeko
    - fileno
    - setvbuf
    - fdopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:49,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:54,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:54,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:59,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:59,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:66,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:66,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:73,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:81,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:108,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:115,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:115,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:131,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:131,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:137,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:149,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:149,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:166,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:166,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:167,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:167,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:176,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:182,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:182,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:188,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:189,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:189,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:197,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:197,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:203,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:213,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:213,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:221,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:227,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:227,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:234,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:234,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:242,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:242,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:248,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:249,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:259,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:259,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:267,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:273,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:273,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:279,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:280,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:280,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:288,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:288,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:296,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:296,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:302,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:303,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:312,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:312,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:321,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:326,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:332,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:332,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:339,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:339,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:347,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:347,1
    - Dst: mbsnrtoc32s
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:353,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:354,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:357,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:364,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtoc32s.c:364,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 237
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 377
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 377
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsnrtoc32s.c
    functionUses: 7
    functionsReached:
    - mbrtoc32
    - setlocale
    - fputs
    - c32tob
    - mbsinit
    - strcmp
    - memset
    - btoc32
    - mbsnrtoc32s
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale1.c:38,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-setlocale1.c:41,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale1.c:41,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale1.c:44,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale1.c:50,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-setlocale1.c:50,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-setlocale1.c:53,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale1.c:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale1.c:59,1
    - Dst: free
      Src: /src/gnulib/tests/test-setlocale1.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/test-setlocale1.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale1.c
    functionUses: 7
    functionsReached:
    - strdup
    - setlocale
    - free
    - strcmp
    - getenv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getgroups
      Src: /src/gnulib/tests/test-getgroups.c:49,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getgroups.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:56,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getgroups.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:67,1
    - Dst: getgroups
      Src: /src/gnulib/tests/test-getgroups.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:70,1
    - Dst: getgroups
      Src: /src/gnulib/tests/test-getgroups.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:71,1
    - Dst: getgroups
      Src: /src/gnulib/tests/test-getgroups.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:74,1
    - Dst: getgroups
      Src: /src/gnulib/tests/test-getgroups.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getgroups.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getgroups.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/test-getgroups.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getgroups.c
    functionUses: 7
    functionsReached:
    - fputs
    - free
    - getgroups
    - printf
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_msvc_inval_ensure_handler
      Src: /src/gnulib/tests/test-fputc.c:43,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fputc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:51,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fputc.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:53,1
    - Dst: close
      Src: /src/gnulib/tests/test-fputc.c:53,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fputc.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:55,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fputc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:57,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fputc.c:57,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fputc.c:58,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fputc.c:65,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fputc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:70,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fputc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:72,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fputc.c:72,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fputc.c:73,1
    - Dst: close
      Src: /src/gnulib/tests/test-fputc.c:78,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fputc.c:79,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fputc.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:84,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fputc.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fputc.c:86,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fputc.c:86,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fputc.c:87,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fputc.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fputc.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - gl_msvc_inval_ensure_handler
    - close
    - unlink
    - fileno
    - setvbuf
    - fputc
    - fdopen
    - ferror
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-array_set.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - objptr1
    - objptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: cmp_objects_in_array
    functionSourceFile: /src/gnulib/tests/test-array_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_objects_in_array (const void *objptr1, const void *objptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_iterator
      Src: /src/gnulib/tests/test-array_set.c:60,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-array_set.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:64,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-array_set.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:65,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_set.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:69,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-array_set.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:70,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-array_set.c:70,1
    - Dst: gl_set_iterator_free
      Src: /src/gnulib/tests/test-array_set.c:71,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/tests/test-array_set.c:72,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-array_set.c:76,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-array_set.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/test-array_set.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-array_set.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 83
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 83
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-array_set.c
    functionUses: 7
    functionsReached:
    - gl_set_iterator_next
    - gl_set_iterator_free
    - gl_oset_iterator_next
    - free
    - qsort
    - gl_set_iterator
    - gl_oset_iterator
    - gl_oset_iterator_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_set_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_set.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-array_set.c
    functionUses: 7
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_set_t set1, gl_oset_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-array_set.c:99,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-array_set.c:99,1
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/tests/test-array_set.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:108,1
    - Dst: gl_oset_create_empty
      Src: /src/gnulib/tests/test-array_set.c:111,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_set.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:119,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-array_set.c:119,1
    - Dst: gl_oset_add
      Src: /src/gnulib/tests/test-array_set.c:119,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_set.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:131,1
    - Dst: gl_set_search
      Src: /src/gnulib/tests/test-array_set.c:131,1
    - Dst: gl_oset_search
      Src: /src/gnulib/tests/test-array_set.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:137,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-array_set.c:137,1
    - Dst: gl_oset_add
      Src: /src/gnulib/tests/test-array_set.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_set.c:143,1
    - Dst: gl_set_remove
      Src: /src/gnulib/tests/test-array_set.c:143,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/tests/test-array_set.c:143,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_set.c:147,1
    - Dst: gl_set_free
      Src: /src/gnulib/tests/test-array_set.c:150,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-array_set.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 155
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array_set.c
    functionUses: 7
    functionsReached:
    - gl_oset_free
    - gl_set_search
    - gl_set_nx_add
    - atoi
    - gl_oset_search
    - gl_oset_remove
    - gl_set_remove
    - gl_oset_create_empty
    - check_all
    - srand
    - gl_oset_add
    - gl_set_free
    - gl_set_nx_create_empty
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/test-getusershell.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:49,1
    - Dst: getusershell
      Src: /src/gnulib/tests/test-getusershell.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:55,1
    - Dst: realloc
      Src: /src/gnulib/tests/test-getusershell.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:60,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-getusershell.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: first_pass
    functionSourceFile: /src/gnulib/tests/test-getusershell.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - strdup
    - getusershell
    - malloc
    - realloc
    linkageType: ''
    returnType: void
    signature: void first_pass (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setusershell
      Src: /src/gnulib/tests/test-getusershell.c:78,1
    - Dst: getusershell
      Src: /src/gnulib/tests/test-getusershell.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:85,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-getusershell.c:85,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getusershell.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/test-getusershell.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getusershell.c:91,1
    - Dst: getusershell
      Src: /src/gnulib/tests/test-getusershell.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-getusershell.c:94,1
    - Dst: endusershell
      Src: /src/gnulib/tests/test-getusershell.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: second_pass
    functionSourceFile: /src/gnulib/tests/test-getusershell.c
    functionUses: 0
    functionsReached:
    - getusershell
    - STREQ
    - free
    - endusershell
    - setusershell
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void second_pass (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first_pass
      Src: /src/gnulib/tests/test-getusershell.c:101,1
    - Dst: second_pass
      Src: /src/gnulib/tests/test-getusershell.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getusershell.c
    functionUses: 7
    functionsReached:
    - second_pass
    - first_pass
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-netdb-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctrans
      Src: /src/gnulib/tests/test-towctrans.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:34,1
    - Dst: wctrans
      Src: /src/gnulib/tests/test-towctrans.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:38,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:39,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:40,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:41,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:42,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:43,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:44,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:45,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:46,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:46,1
    - Dst: wctrans
      Src: /src/gnulib/tests/test-towctrans.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:50,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:51,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:52,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:53,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:54,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:55,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:56,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-towctrans.c:57,1
    - Dst: towctrans
      Src: /src/gnulib/tests/test-towctrans.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-towctrans.c
    functionUses: 7
    functionsReached:
    - towctrans
    - wctrans
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_time-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strfmon
      Src: /src/gnulib/tests/test-duplocale.c:48,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-duplocale.c:52,1
    - Dst: strncpy
      Src: /src/gnulib/tests/test-duplocale.c:55,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-duplocale.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - struct locale_dependent_values*
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: get_locale_dependent_values
    functionSourceFile: /src/gnulib/tests/test-duplocale.c
    functionUses: 0
    functionsReached:
    - nl_langinfo
    - strncpy
    - snprintf
    - strfmon
    linkageType: ''
    returnType: void
    signature: void get_locale_dependent_values (struct locale_dependent_values *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:71,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:72,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:73,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:74,1
    - Dst: duplocale
      Src: /src/gnulib/tests/test-duplocale.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:78,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-duplocale.c:81,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:84,1
    - Dst: duplocale
      Src: /src/gnulib/tests/test-duplocale.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:88,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:91,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:92,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:95,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:99,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:100,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:101,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:109,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:113,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:114,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:115,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:120,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:123,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:126,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-duplocale.c:127,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-duplocale.c:128,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-duplocale.c:129,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-duplocale.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 132
    functionName: test_with_uselocale
    functionSourceFile: /src/gnulib/tests/test-duplocale.c
    functionUses: 0
    functionsReached:
    - newlocale
    - setlocale
    - freelocale
    - get_locale_dependent_values
    - uselocale
    - strcmp
    - duplocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_with_uselocale (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strfmon_l
      Src: /src/gnulib/tests/test-duplocale.c:142,1
    - Dst: snprintf_l
      Src: /src/gnulib/tests/test-duplocale.c:147,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-duplocale.c:152,1
    - Dst: nl_langinfo_l
      Src: /src/gnulib/tests/test-duplocale.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - locale
    argTypes:
    - struct locale_dependent_values*
    - locale_t
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: get_locale_dependent_values_from
    functionSourceFile: /src/gnulib/tests/test-duplocale.c
    functionUses: 0
    functionsReached:
    - strcpy
    - nl_langinfo_l
    - strfmon_l
    - snprintf_l
    linkageType: ''
    returnType: void
    signature: void get_locale_dependent_values_from (struct locale_dependent_values
      *result, locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:165,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:166,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:167,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:168,1
    - Dst: duplocale
      Src: /src/gnulib/tests/test-duplocale.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:172,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-duplocale.c:175,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-duplocale.c:180,1
    - Dst: get_locale_dependent_values
      Src: /src/gnulib/tests/test-duplocale.c:183,1
    - Dst: get_locale_dependent_values_from
      Src: /src/gnulib/tests/test-duplocale.c:189,1
    - Dst: get_locale_dependent_values_from
      Src: /src/gnulib/tests/test-duplocale.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:197,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:200,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-duplocale.c:203,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-duplocale.c:203,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-duplocale.c:207,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-duplocale.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 210
    functionName: test_with_locale_parameter
    functionSourceFile: /src/gnulib/tests/test-duplocale.c
    functionUses: 0
    functionsReached:
    - newlocale
    - setlocale
    - freelocale
    - get_locale_dependent_values_from
    - get_locale_dependent_values
    - strcmp
    - duplocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_with_locale_parameter (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_with_uselocale
      Src: /src/gnulib/tests/test-duplocale.c:219,1
    - Dst: test_with_locale_parameter
      Src: /src/gnulib/tests/test-duplocale.c:222,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-duplocale.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-duplocale.c
    functionUses: 7
    functionsReached:
    - fprintf
    - test_with_uselocale
    - test_with_locale_parameter
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-getdomainname.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getdomainname.c:42,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-getdomainname.c:46,1
    - Dst: getdomainname
      Src: /src/gnulib/tests/test-getdomainname.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getdomainname.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getdomainname.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getdomainname.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getdomainname.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getdomainname.c
    functionUses: 7
    functionsReached:
    - strlen
    - strcpy
    - getdomainname
    - strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - long double
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: my_ldexpl
    functionSourceFile: /src/gnulib/tests/test-sqrtl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double my_ldexpl (long double x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrtl
      Src: /src/gnulib/tests/test-sqrtl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrtl.c:58,1
    - Dst: sqrtl
      Src: /src/gnulib/tests/test-sqrtl.c:66,1
    - Dst: my_ldexpl
      Src: /src/gnulib/tests/test-sqrtl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrtl.c:71,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrtl.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrtl.c
    functionUses: 7
    functionsReached:
    - test_function
    - my_ldexpl
    - ASSERT
    - sqrtl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-perror2.c:45,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-perror2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:49,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-perror2.c:49,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-perror2.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:63,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-perror2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:65,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-perror2.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:68,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-perror2.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:70,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-perror2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:73,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-perror2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:75,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-perror2.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:78,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-perror2.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:80,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror2.c:83,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:86,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-perror2.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:87,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-perror2.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-perror2.c:89,1
    - Dst: free
      Src: /src/gnulib/tests/test-perror2.c:90,1
    - Dst: free
      Src: /src/gnulib/tests/test-perror2.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-perror2.c:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-perror2.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-perror2.c:105,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-perror2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:107,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-perror2.c:107,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-perror2.c:107,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror2.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:110,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-perror2.c:110,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-perror2.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:112,1
    - Dst: fgets
      Src: /src/gnulib/tests/test-perror2.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:113,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-perror2.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:119,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-perror2.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:120,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-perror2.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:122,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-perror2.c:122,1
    - Dst: perror
      Src: /src/gnulib/tests/test-perror2.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:130,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-perror2.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:134,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-perror2.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-perror2.c:135,1
    - Dst: remove
      Src: /src/gnulib/tests/test-perror2.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-perror2.c
    functionUses: 7
    functionsReached:
    - ftruncate
    - rewind
    - dup2
    - freopen
    - ferror
    - perror
    - fclose
    - free
    - strstr
    - strerror
    - SIZEOF
    - ASSERT
    - strlen
    - fgets
    - strdup
    - remove
    - STREQ
    - fileno
    - setvbuf
    - fdopen
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-time-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utmp-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-search-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdarg-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: dummy
    functionSourceFile: /src/gnulib/tests/test-ceilf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float dummy (float f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:49,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:50,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:52,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:53,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:54,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:55,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:56,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:57,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:58,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:59,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:60,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:61,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:63,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:64,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:65,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:66,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:67,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:68,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:69,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:70,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:71,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:73,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:73,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf1.c:73,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:74,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:74,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf1.c:74,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf1.c:76,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-ceilf1.c:76,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf1.c:76,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-ceilf1.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceilf1.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - Infinityf
    - NaNf
    - isnanf
    - my_ceilf
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-symlinkat.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - contents
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: do_symlink
    functionSourceFile: /src/gnulib/tests/test-symlinkat.c
    functionUses: 0
    functionsReached:
    - symlinkat
    linkageType: ''
    returnType: int
    signature: int do_symlink (char const *contents, char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-symlinkat.c:58,1
    - Dst: system
      Src: /src/gnulib/tests/test-symlinkat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:63,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-symlinkat.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:64,1
    - Dst: close
      Src: /src/gnulib/tests/test-symlinkat.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:71,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-symlinkat.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:72,1
    - Dst: test_symlink
      Src: /src/gnulib/tests/test-symlinkat.c:78,1
    - Dst: openat
      Src: /src/gnulib/tests/test-symlinkat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:81,1
    - Dst: test_symlink
      Src: /src/gnulib/tests/test-symlinkat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlinkat.c:83,1
    - Dst: close
      Src: /src/gnulib/tests/test-symlinkat.c:83,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-symlinkat.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-symlinkat.c
    functionUses: 7
    functionsReached:
    - fputs
    - close
    - symlinkat
    - system
    - test_symlink
    - openat
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:35,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:40,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:41,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:46,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:51,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:52,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:57,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:58,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:63,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:64,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:78,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:79,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:84,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:85,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:91,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:92,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:110,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:111,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:116,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcscmp.c:117,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wcscmp.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcscmp.c
    functionUses: 7
    functionsReached:
    - wcscmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sha512-buffer.c:38,1
    - Dst: sha512_buffer
      Src: /src/gnulib/tests/test-sha512-buffer.c:38,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sha512-buffer.c:38,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha512-buffer.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha512-buffer.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha512-buffer.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha512-buffer.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha512-buffer.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha512-buffer.c
    functionUses: 7
    functionsReached:
    - printf
    - sha512_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmaf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmaf1.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/test-strnlen.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:43,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:44,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:45,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:46,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:46,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strnlen.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:59,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:61,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strnlen.c:62,1
    - Dst: strnlen
      Src: /src/gnulib/tests/test-strnlen.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strnlen.c
    functionUses: 7
    functionsReached:
    - malloc
    - strnlen
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fzprintf-posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fzprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10l-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10l-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expm1
      Src: /src/gnulib/tests/test-expm1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1.c
    functionUses: 7
    functionsReached:
    - test_function
    - expm1
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_new_empty
      Src: /src/gnulib/tests/test-xstring-desc.c:31,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-xstring-desc.c:32,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-xstring-desc.c:33,1
    - Dst: xsd_new
      Src: /src/gnulib/tests/test-xstring-desc.c:36,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:37,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:38,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:39,1
    - Dst: sd_fill
      Src: /src/gnulib/tests/test-xstring-desc.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:41,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-xstring-desc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:42,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-xstring-desc.c:42,1
    - Dst: xsd_new_filled
      Src: /src/gnulib/tests/test-xstring-desc.c:45,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:46,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:47,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-xstring-desc.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:49,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-xstring-desc.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:50,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-xstring-desc.c:50,1
    - Dst: xsd_copy
      Src: /src/gnulib/tests/test-xstring-desc.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:55,1
    - Dst: sd_is_empty
      Src: /src/gnulib/tests/test-xstring-desc.c:55,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-xstring-desc.c:56,1
    - Dst: xsd_copy
      Src: /src/gnulib/tests/test-xstring-desc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:60,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-xstring-desc.c:60,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-xstring-desc.c:61,1
    - Dst: xsd_concat
      Src: /src/gnulib/tests/test-xstring-desc.c:67,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-xstring-desc.c:67,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-xstring-desc.c:68,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-xstring-desc.c:69,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-xstring-desc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:71,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-xstring-desc.c:71,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-xstring-desc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstring-desc.c:79,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-xstring-desc.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstring-desc.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstring-desc.c
    functionUses: 7
    functionsReached:
    - sd_free
    - xsd_copy
    - sd_is_empty
    - sd_from_c
    - free
    - sd_startswith
    - sd_length
    - sd_set_char_at
    - memcmp
    - xsd_new
    - sd_new_addr
    - sd_equals
    - xsd_new_filled
    - sd_new_empty
    - xsd_concat
    - sd_fill
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strings-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:50,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:51,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:52,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:53,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:54,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:55,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:56,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:57,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-one-bits.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-count-one-bits.c:62,1
    - Dst: FUNC
      Src: /src/gnulib/tests/test-count-one-bits.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-count-one-bits.c
    functionUses: 7
    functionsReached:
    - FUNC
    - rand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: creat
      Src: /src/gnulib/tests/test-nonblocking.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:43,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:44,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:45,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:46,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:47,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-nonblocking.c:47,1
    - Dst: open
      Src: /src/gnulib/tests/test-nonblocking.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:54,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:55,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:56,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:57,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:61,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-nonblocking.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:62,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:63,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:64,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:65,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:66,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:67,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:68,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:69,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:70,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:71,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:72,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:75,1
    - Dst: pipe2
      Src: /src/gnulib/tests/test-nonblocking.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:76,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:77,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:78,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:79,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:79,1
    - Dst: socket
      Src: /src/gnulib/tests/test-nonblocking.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:94,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:95,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:96,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:97,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:98,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:99,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:99,1
    - Dst: socket
      Src: /src/gnulib/tests/test-nonblocking.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:103,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:104,1
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:112,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:117,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:122,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:127,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking.c:127,1
    - Dst: getdtablesize
      Src: /src/gnulib/tests/test-nonblocking.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nonblocking.c
    functionUses: 7
    functionsReached:
    - socket
    - set_nonblocking_flag
    - get_nonblocking_flag
    - close
    - open
    - unlink
    - getdtablesize
    - pipe
    - creat
    - pipe2
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_random-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-snprintf-gnu.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logp1l
      Src: /src/gnulib/tests/test-logp1l.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logp1l.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-logp1l.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logp1l.c
    functionUses: 7
    functionsReached:
    - test_function
    - logp1l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-chown.c:45,1
    - Dst: system
      Src: /src/gnulib/tests/test-chown.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-chown.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsrchr.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrchr.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrchr.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrchr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrchr.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsrchr.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sha256-buffer.c:36,1
    - Dst: sha256_buffer
      Src: /src/gnulib/tests/test-sha256-buffer.c:36,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sha256-buffer.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha256-buffer.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha256-buffer.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha256-buffer.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha256-buffer.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha256-buffer.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha256-buffer.c
    functionUses: 7
    functionsReached:
    - printf
    - sha256_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atan2f
      Src: /src/gnulib/tests/test-atan2f.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2f.c:39,1
    - Dst: atan2f
      Src: /src/gnulib/tests/test-atan2f.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2f.c:45,1
    - Dst: atan2f
      Src: /src/gnulib/tests/test-atan2f.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2f.c:51,1
    - Dst: atan2f
      Src: /src/gnulib/tests/test-atan2f.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2f.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atan2f.c
    functionUses: 7
    functionsReached:
    - atan2f
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1p-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1p-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbrt
      Src: /src/gnulib/tests/test-cbrt.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrt.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrt.c
    functionUses: 7
    functionsReached:
    - test_function
    - cbrt
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:40,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-popen.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:42,1
    - Dst: getchar
      Src: /src/gnulib/tests/test-popen.h:42,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-popen.h:49,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-popen.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:51,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-popen.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:63,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-popen.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:64,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-popen.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:68,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:69,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-popen.h:69,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:71,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:72,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:75,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-popen.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:76,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-popen.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:80,1
    - Dst: popen
      Src: /src/gnulib/tests/test-popen.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:81,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-popen.h:81,1
    - Dst: pclose
      Src: /src/gnulib/tests/test-popen.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:83,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-popen.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:84,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-popen.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:87,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-popen.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-popen.h:88,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-popen.h:88,1
    - Dst: free
      Src: /src/gnulib/tests/test-popen.h:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 93
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-popen.h
    functionUses: 7
    functionsReached:
    - fclose
    - strlen
    - fgetc
    - strcpy
    - free
    - WIFEXITED
    - pclose
    - dup2
    - getchar
    - WEXITSTATUS
    - popen
    - putchar
    - malloc
    - ASSERT
    - fputc
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-printf-gnu.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-float-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memccpy
      Src: /src/gnulib/tests/test-memccpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - src
    - c
    - n
    argTypes:
    - void*
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_memccpy
    functionSourceFile: /src/gnulib/tests/test-memccpy.c
    functionUses: 0
    functionsReached:
    - memccpy
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memccpy (void *dest, void const *src, int c, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memccpy.c:43,1
    - Dst: memccpy
      Src: /src/gnulib/tests/test-memccpy.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memccpy.c:47,1
    - Dst: memccpy
      Src: /src/gnulib/tests/test-memccpy.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memccpy.c
    functionUses: 7
    functionsReached:
    - memccpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:21,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - DOUBLE
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-fmod.h
    functionUses: 3
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE my_ldexp (DOUBLE x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:48,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:58,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:71,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:75,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:76,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:97,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-fmod.h:103,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:103,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fmod.h:105,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:109,1
    - Dst: FMOD
      Src: /src/gnulib/tests/test-fmod.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:114,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fmod.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.h:115,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 119
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fmod.h
    functionUses: 80
    functionsReached:
    - my_ldexp
    - L_
    - FMOD
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-open.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gnulib/tests/test-rand.c:28,1
    - Dst: rand
      Src: /src/gnulib/tests/test-rand.c:29,1
    - Dst: rand
      Src: /src/gnulib/tests/test-rand.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rand.c
    functionUses: 7
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expl
      Src: /src/gnulib/tests/test-expl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expl.c:48,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-expl.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expl.c
    functionUses: 7
    functionsReached:
    - test_function
    - expl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - int
    - mode
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: set_binary_mode
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-fcntl.c:70,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 3
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-fcntl.c:87,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-fcntl.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: is_inheritable
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 1
    functionsReached:
    - _get_osfhandle
    - GetHandleInformation
    linkageType: ''
    returnType: bool
    signature: bool is_inheritable (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-fcntl.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: is_mode
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 1
    functionsReached:
    - set_binary_mode
    linkageType: ''
    returnType: bool
    signature: bool is_mode (int fd, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-fcntl.c:129,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-fcntl.c:131,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-fcntl.c:134,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-fcntl.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: func1
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - va_arg
    linkageType: ''
    returnType: int
    signature: int func1 (int a, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-fcntl.c:145,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-fcntl.c:146,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-fcntl.c:147,1
    - Dst: func1
      Src: /src/gnulib/tests/test-fcntl.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: func2
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - func1
    linkageType: ''
    returnType: int
    signature: int func2 (int a, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 221
    functionName: check_flags
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_flags (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:235,1
    - Dst: func2
      Src: /src/gnulib/tests/test-fcntl.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:236,1
    - Dst: func2
      Src: /src/gnulib/tests/test-fcntl.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:237,1
    - Dst: func2
      Src: /src/gnulib/tests/test-fcntl.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:240,1
    - Dst: func2
      Src: /src/gnulib/tests/test-fcntl.c:240,1
    - Dst: check_flags
      Src: /src/gnulib/tests/test-fcntl.c:242,1
    - Dst: creat
      Src: /src/gnulib/tests/test-fcntl.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:247,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:248,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:253,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:256,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:259,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:262,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:265,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:268,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:273,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:276,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:279,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:282,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:283,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-fcntl.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:289,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:290,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:291,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:292,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:293,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:295,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:296,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:297,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:298,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:299,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:300,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:301,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:302,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:304,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:305,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:306,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:307,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:308,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:309,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:310,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:311,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:312,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:312,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-fcntl.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:315,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:316,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:317,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:318,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:319,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:320,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:321,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:322,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:323,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:325,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:326,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:327,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:328,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-fcntl.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:329,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:330,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-fcntl.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:331,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:332,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-fcntl.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:333,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:337,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:340,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:343,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:351,1
    - Dst: dup
      Src: /src/gnulib/tests/test-fcntl.c:351,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:355,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:361,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:364,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:367,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:374,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:377,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:380,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:387,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:390,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:393,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:400,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:403,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:406,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:413,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:416,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:419,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:424,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:425,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fcntl.c:425,1
    - Dst: close
      Src: /src/gnulib/tests/test-fcntl.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fcntl.c:438,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fcntl.c:438,1
    - Dst: _execl
      Src: /src/gnulib/tests/test-fcntl.c:442,1
    - Dst: execl
      Src: /src/gnulib/tests/test-fcntl.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 155
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED*[]
    constantsTouched: []
    func_position:
      end: 446
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 446
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fcntl.c
    functionUses: 7
    functionsReached:
    - dup
    - check_flags
    - is_mode
    - execl
    - fcntl
    - is_inheritable
    - _execl
    - close
    - unlink
    - func2
    - set_binary_mode
    - creat
    - is_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbscspn.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:34,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:38,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:39,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:46,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:51,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscspn.c:57,1
    - Dst: mbscspn
      Src: /src/gnulib/tests/test-mbscspn.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscspn.c
    functionUses: 7
    functionsReached:
    - mbscspn
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayload
      Src: /src/gnulib/tests/test-setpayload.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:46,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-setpayload.c:46,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-setpayload.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:54,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-setpayload.c:62,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-setpayload.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:64,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-setpayload.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:74,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-setpayload.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayload.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayload.c
    functionUses: 7
    functionsReached:
    - Infinityd
    - setpayload
    - isnand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsprintf-gnu.c:37,1
    - Dst: vsprintf
      Src: /src/gnulib/tests/test-vsprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - format
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_sprintf
    functionSourceFile: /src/gnulib/tests/test-vsprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - vsprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_sprintf (char *str, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsprintf-gnu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-md5-stream.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-md5-stream.c
    functionUses: 7
    functionsReached:
    - test_digest_on_files
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: init_cubes
    functionSourceFile: /src/gnulib/tests/test-at-init-3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_cubes (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: get_cubes
    functionSourceFile: /src/gnulib/tests/test-at-init-3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_cubes (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2f-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2f-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/gnulib/tests/test-exp2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2.c
    functionUses: 7
    functionsReached:
    - test_function
    - exp2
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - buf
    - len
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: do_readlink
    functionSourceFile: /src/gnulib/tests/test-readlinkat.c
    functionUses: 0
    functionsReached:
    - readlinkat
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t do_readlink (char const *name, char *buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-readlinkat.c:59,1
    - Dst: system
      Src: /src/gnulib/tests/test-readlinkat.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:64,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:65,1
    - Dst: close
      Src: /src/gnulib/tests/test-readlinkat.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:70,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:71,1
    - Dst: test_readlink
      Src: /src/gnulib/tests/test-readlinkat.c:75,1
    - Dst: openat
      Src: /src/gnulib/tests/test-readlinkat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:78,1
    - Dst: test_readlink
      Src: /src/gnulib/tests/test-readlinkat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:88,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:90,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:92,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-readlinkat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:94,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:96,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:97,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-readlinkat.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:98,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:101,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:102,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-readlinkat.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:104,1
    - Dst: symlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:107,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:108,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-readlinkat.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:110,1
    - Dst: readlinkat
      Src: /src/gnulib/tests/test-readlinkat.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:111,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-readlinkat.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:112,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlinkat.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlinkat.c:115,1
    - Dst: close
      Src: /src/gnulib/tests/test-readlinkat.c:115,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-readlinkat.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-readlinkat.c
    functionUses: 7
    functionsReached:
    - unlinkat
    - fchdir
    - chdir
    - fputs
    - close
    - test_readlink
    - symlinkat
    - system
    - readlinkat
    - unlink
    - strncmp
    - openat
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-sha256-stream.c:35,1
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-sha256-stream.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha256-stream.c
    functionUses: 7
    functionsReached:
    - test_digest_on_files
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-xprintf-posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-rmdir.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-rmdir.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rmdir.c
    functionUses: 7
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/gnulib/tests/test-fseterr.c:30,1
    - Dst: abort
      Src: /src/gnulib/tests/test-fseterr.c:31,1
    - Dst: fseterr
      Src: /src/gnulib/tests/test-fseterr.c:34,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fseterr.c:35,1
    - Dst: abort
      Src: /src/gnulib/tests/test-fseterr.c:36,1
    - Dst: clearerr
      Src: /src/gnulib/tests/test-fseterr.c:39,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fseterr.c:40,1
    - Dst: abort
      Src: /src/gnulib/tests/test-fseterr.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseterr.c
    functionUses: 7
    functionsReached:
    - abort
    - ferror
    - fseterr
    - clearerr
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-string-buffer.c:34,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-string-buffer.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - formatstring
    argTypes:
    - struct string_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: my_appendf
    functionSourceFile: /src/gnulib/tests/test-string-buffer.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_appendf (struct string_buffer *buffer, const char *formatstring,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:51,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:52,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer.c:55,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:56,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:61,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:62,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:63,1
    - Dst: sb_contents
      Src: /src/gnulib/tests/test-string-buffer.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:66,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-buffer.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:67,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:68,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:68,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:70,1
    - Dst: sb_append1
      Src: /src/gnulib/tests/test-string-buffer.c:71,1
    - Dst: sb_contents
      Src: /src/gnulib/tests/test-string-buffer.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:74,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-buffer.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:75,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:76,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:77,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:78,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-buffer.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:81,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-buffer.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:82,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:92,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:98,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:99,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:100,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:103,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer.c:103,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:104,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:110,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:111,1
    - Dst: sb_append_desc
      Src: /src/gnulib/tests/test-string-buffer.c:112,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-buffer.c:112,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:115,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-buffer.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:116,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:123,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:124,1
    - Dst: sb_appendf
      Src: /src/gnulib/tests/test-string-buffer.c:125,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer.c:128,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:129,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:136,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:137,1
    - Dst: my_appendf
      Src: /src/gnulib/tests/test-string-buffer.c:138,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-string-buffer.c:141,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-buffer.c:142,1
    - Dst: sb_init
      Src: /src/gnulib/tests/test-string-buffer.c:154,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:155,1
    - Dst: sb_appendf
      Src: /src/gnulib/tests/test-string-buffer.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:160,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:163,1
    - Dst: sb_appendf
      Src: /src/gnulib/tests/test-string-buffer.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:167,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:169,1
    - Dst: sb_appendf
      Src: /src/gnulib/tests/test-string-buffer.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:173,1
    - Dst: sb_append_c
      Src: /src/gnulib/tests/test-string-buffer.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-buffer.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-buffer.c
    functionUses: 7
    functionsReached:
    - my_appendf
    - sb_append1
    - free
    - sb_contents
    - sb_append_c
    - sd_length
    - memcmp
    - sb_init
    - sd_new_addr
    - strcmp
    - sb_appendf
    - sd_char_at
    - sb_append_desc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fzprintf-gnu.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fzprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-2.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:43,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:46,1
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:46,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:54,1
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:58,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:62,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:65,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:68,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:70,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:72,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:72,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:77,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:77,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:78,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:80,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:80,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:82,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:85,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:88,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:91,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:93,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:95,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:95,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:101,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:103,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:106,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:109,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-2.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:110,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:113,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:113,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:124,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:128,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-2.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-2.c:131,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-2.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-2.c
    functionUses: 7
    functionsReached:
    - fetestexcept
    - fesetenv
    - fputs
    - fegetenv
    - feenableexcept
    - feclearexcept
    - fegetexcept
    - fegetround
    - feraiseexcept
    - fesetround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexpf.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexpf.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:45,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:52,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:52,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:57,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:61,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:65,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-state-3.c
    functionUses: 7
    functionsReached:
    - fegetexceptflag
    - fputs
    - fesetexceptflag
    - feclearexcept
    - sigfpe_on_invalid
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-state-3.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-state-3.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:35,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:36,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:41,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:47,1
    - Dst: dup
      Src: /src/gnulib/tests/test-dup.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dup.c
    functionUses: 7
    functionsReached:
    - dup
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:29,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:31,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:33,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:39,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:42,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-fprintf-posix.h:42,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:45,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-fprintf-posix.h:45,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:48,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-fprintf-posix.h:48,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:53,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:56,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:59,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:62,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:65,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:68,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:71,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:74,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:77,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:80,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:83,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:86,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:89,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:92,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:95,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:98,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:103,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:106,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:109,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:112,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:115,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:118,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:121,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:124,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:127,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:130,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:133,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:136,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:139,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:142,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:145,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:148,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:154,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-posix.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 159
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix.h
    functionUses: 87
    functionsReached:
    - Infinityd
    - my_fprintf
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_fprintf) (FILE *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-limits-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-crc.c:32,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-crc.c:33,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-crc.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/bench-crc.c:45,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-crc.c:48,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-crc.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-crc.c
    functionUses: 7
    functionsReached:
    - exit
    - timing_end
    - timing_output
    - timing_start
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32swidth.c:38,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32swidth.c:39,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32swidth.c:40,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32swidth.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c32swidth.c:45,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-c32swidth.c:45,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c32swidth.c:47,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:54,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:56,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:58,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:60,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:62,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:64,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:70,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:72,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:74,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:76,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:78,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:85,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:92,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:112,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:119,1
    - Dst: c32swidth
      Src: /src/gnulib/tests/test-c32swidth.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32swidth.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32swidth.c
    functionUses: 7
    functionsReached:
    - setlocale
    - locale_charset
    - strcmp
    - c32swidth
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long int
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-ffsll.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (long long int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:48,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:48,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffsll.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:51,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:51,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffsll.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:52,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:53,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:57,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:58,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:62,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:63,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:64,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsll.c:65,1
    - Dst: ffsll
      Src: /src/gnulib/tests/test-ffsll.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ffsll.c
    functionUses: 7
    functionsReached:
    - ffsll
    - ASSERT
    - naive
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:31,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:31,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-gnu.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-gnu.h
    functionUses: 87
    functionsReached:
    - free
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_aszprintf) (char **, const char
      *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:36,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:42,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:67,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-expm1.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:71,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:72,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:75,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:76,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-expm1.h:95,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-expm1.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:99,1
    - Dst: L_
      Src: /src/gnulib/tests/test-expm1.h:99,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:103,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:104,1
    - Dst: EXPM1
      Src: /src/gnulib/tests/test-expm1.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1.h:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 112
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-expm1.h
    functionUses: 87
    functionsReached:
    - L_
    - SIZEOF
    - EXPM1
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwriting.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:41,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:41,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwriting.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:44,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:44,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwriting.c:45,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwriting.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:52,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:52,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:55,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:55,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:58,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:58,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:61,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:61,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fwriting.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:63,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:63,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:66,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:66,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:69,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwriting.c:70,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwriting.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:82,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:82,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:85,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:85,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:88,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:88,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:91,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:91,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:96,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:96,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fwriting.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:99,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:99,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:100,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwriting.c:105,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwriting.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:117,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:117,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:120,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:120,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:123,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:123,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:126,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:126,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fwriting.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:128,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:128,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwriting.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:131,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:131,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:136,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:136,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fwriting.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:139,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:139,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwriting.c:140,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwriting.c:145,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwriting.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:152,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:152,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwriting.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwriting.c:155,1
    - Dst: fwriting
      Src: /src/gnulib/tests/test-fwriting.c:155,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwriting.c:156,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fwriting.c:164,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fwriting.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - fgetc
    - fwriting
    - fwrite
    - fprintf
    - fflush
    - fputc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-modf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/altstack-util.h:41,1
    - Dst: exit
      Src: /src/gnulib/tests/altstack-util.h:42,1
    - Dst: memset
      Src: /src/gnulib/tests/altstack-util.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: prepare_alternate_stack
    functionSourceFile: /src/gnulib/tests/altstack-util.h
    functionUses: 1
    functionsReached:
    - printf
    - exit
    - memset
    linkageType: ''
    returnType: void
    signature: void prepare_alternate_stack (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/altstack-util.h:57,1
    - Dst: exit
      Src: /src/gnulib/tests/altstack-util.h:58,1
    - Dst: printf
      Src: /src/gnulib/tests/altstack-util.h:63,1
    - Dst: exit
      Src: /src/gnulib/tests/altstack-util.h:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: check_alternate_stack_no_overflow
    functionSourceFile: /src/gnulib/tests/altstack-util.h
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void check_alternate_stack_no_overflow (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-1.c:32,1
    - Dst: fesetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-1.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-state-1.c
    functionUses: 7
    functionsReached:
    - fesetexceptflag
    - fegetexceptflag
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:35,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rawmemchr.c:39,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rawmemchr.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:46,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:47,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:48,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:49,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:51,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:52,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:53,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:55,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:66,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:66,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rawmemchr.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:81,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-rawmemchr.c:85,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-rawmemchr.c:90,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-rawmemchr.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:92,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:93,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:94,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:95,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rawmemchr.c:96,1
    - Dst: rawmemchr
      Src: /src/gnulib/tests/test-rawmemchr.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-rawmemchr.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rawmemchr.c
    functionUses: 7
    functionsReached:
    - rawmemchr
    - free
    - memset
    - memcpy
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-monetary-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-largefile.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-largefile.c
    functionUses: 7
    functionsReached:
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdtablesize.c:36,1
    - Dst: getdtablesize
      Src: /src/gnulib/tests/test-getdtablesize.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdtablesize.c:37,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-getdtablesize.c:37,1
    - Dst: getdtablesize
      Src: /src/gnulib/tests/test-getdtablesize.c:37,1
    - Dst: getdtablesize
      Src: /src/gnulib/tests/test-getdtablesize.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdtablesize.c:38,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-getdtablesize.c:38,1
    - Dst: getdtablesize
      Src: /src/gnulib/tests/test-getdtablesize.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getdtablesize.c
    functionUses: 7
    functionsReached:
    - dup2
    - getdtablesize
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wchar-h.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: j0
      Src: /src/gnulib/tests/test-j0.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-j0.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-j0.c
    functionUses: 7
    functionsReached:
    - j0
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:43,1
    - Dst: open
      Src: /src/gnulib/tests/test-pwrite.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:47,1
    - Dst: write
      Src: /src/gnulib/tests/test-pwrite.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-pwrite.c:48,1
    - Dst: open
      Src: /src/gnulib/tests/test-pwrite.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:51,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-pwrite.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:59,1
    - Dst: pwrite
      Src: /src/gnulib/tests/test-pwrite.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:60,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-pwrite.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:66,1
    - Dst: pwrite
      Src: /src/gnulib/tests/test-pwrite.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:70,1
    - Dst: close
      Src: /src/gnulib/tests/test-pwrite.c:70,1
    - Dst: open
      Src: /src/gnulib/tests/test-pwrite.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:75,1
    - Dst: read
      Src: /src/gnulib/tests/test-pwrite.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-pwrite.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pwrite.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:84,1
    - Dst: pwrite
      Src: /src/gnulib/tests/test-pwrite.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:85,1
    - Dst: close
      Src: /src/gnulib/tests/test-pwrite.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:91,1
    - Dst: pwrite
      Src: /src/gnulib/tests/test-pwrite.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pwrite.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pwrite.c
    functionUses: 7
    functionsReached:
    - pwrite
    - close
    - open
    - write
    - read
    - strcmp
    - lseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tanl
      Src: /src/gnulib/tests/test-tanl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tanl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tanl.c
    functionUses: 7
    functionsReached:
    - tanl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sameacls.c:46,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-sameacls.c:58,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:61,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:62,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:63,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-sameacls.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:68,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:69,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:75,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:77,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sameacls.c:80,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:82,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:84,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:85,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:88,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:89,1
    - Dst: stat
      Src: /src/gnulib/tests/test-sameacls.c:97,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:99,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:100,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:101,1
    - Dst: stat
      Src: /src/gnulib/tests/test-sameacls.c:103,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:105,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:106,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:107,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:111,1
    - Dst: acl_get_file
      Src: /src/gnulib/tests/test-sameacls.c:138,1
    - Dst: acl_to_text
      Src: /src/gnulib/tests/test-sameacls.c:146,1
    - Dst: acl_get_file
      Src: /src/gnulib/tests/test-sameacls.c:152,1
    - Dst: acl_to_text
      Src: /src/gnulib/tests/test-sameacls.c:160,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sameacls.c:175,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:177,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:184,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:193,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:201,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:210,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:219,1
    - Dst: acl_free
      Src: /src/gnulib/tests/test-sameacls.c:224,1
    - Dst: acl_free
      Src: /src/gnulib/tests/test-sameacls.c:226,1
    - Dst: acl_free
      Src: /src/gnulib/tests/test-sameacls.c:227,1
    - Dst: acl_free
      Src: /src/gnulib/tests/test-sameacls.c:229,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:235,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:238,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:244,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:245,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:246,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:250,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:251,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:252,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:256,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:262,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:263,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:266,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:268,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:269,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:270,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:272,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:274,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:275,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:276,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:282,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:288,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:294,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:299,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:300,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:303,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:306,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:311,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:312,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:313,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:317,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:318,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:319,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:322,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:323,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:327,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:332,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:333,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:334,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:336,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:341,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:342,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:343,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:348,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:357,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:363,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:369,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:375,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:380,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:381,1
    - Dst: getacl
      Src: /src/gnulib/tests/test-sameacls.c:388,1
    - Dst: getacl
      Src: /src/gnulib/tests/test-sameacls.c:392,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:399,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:400,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:401,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:405,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:406,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:407,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:411,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:417,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:418,1
    - Dst: getacl
      Src: /src/gnulib/tests/test-sameacls.c:421,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:423,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:424,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:425,1
    - Dst: getacl
      Src: /src/gnulib/tests/test-sameacls.c:427,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:429,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:430,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:431,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:437,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:443,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:449,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:454,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:455,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:462,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:466,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:474,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:475,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:476,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:480,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:481,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:482,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:486,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:492,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:493,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:496,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:498,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:499,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:500,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:502,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:504,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:505,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:506,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:512,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:518,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:524,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:529,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:530,1
    - Dst: aclx_get
      Src: /src/gnulib/tests/test-sameacls.c:550,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:556,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:557,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:558,1
    - Dst: aclx_printStr
      Src: /src/gnulib/tests/test-sameacls.c:562,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:564,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:565,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:566,1
    - Dst: aclx_get
      Src: /src/gnulib/tests/test-sameacls.c:572,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:578,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:579,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:580,1
    - Dst: aclx_printStr
      Src: /src/gnulib/tests/test-sameacls.c:584,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:586,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:587,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:588,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sameacls.c:591,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:593,1
    - Dst: statacl
      Src: /src/gnulib/tests/test-sameacls.c:602,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:604,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:605,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:606,1
    - Dst: statacl
      Src: /src/gnulib/tests/test-sameacls.c:608,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:610,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:611,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:612,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:617,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:623,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:631,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sameacls.c:637,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:639,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:647,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:648,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:652,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:653,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:654,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:658,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:659,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:660,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:664,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:670,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-sameacls.c:671,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:674,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:676,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:677,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:678,1
    - Dst: acl
      Src: /src/gnulib/tests/test-sameacls.c:680,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:682,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-sameacls.c:683,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sameacls.c:684,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:690,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:696,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sameacls.c:702,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:707,1
    - Dst: free
      Src: /src/gnulib/tests/test-sameacls.c:708,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 410
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 714
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 714
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sameacls.c
    functionUses: 7
    functionsReached:
    - abort
    - acl_free
    - getacl
    - acl
    - statacl
    - free
    - acl_to_text
    - XNMALLOC
    - aclx_printStr
    - memcmp
    - fflush
    - stat
    - strcmp
    - acl_get_file
    - read_file
    - fprintf
    - ASSERT
    - aclx_get
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-dprintf-gnu.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sys_wait_macros
      Src: /src/gnulib/tests/test-stdlib-h.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdlib-h.c
    functionUses: 7
    functionsReached:
    - test_sys_wait_macros
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnulib/tests/test-sigpipe.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: handler
    functionSourceFile: /src/gnulib/tests/test-sigpipe.c
    functionUses: 19
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void handler (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-sigpipe.c:44,1
    - Dst: signal
      Src: /src/gnulib/tests/test-sigpipe.c:45,1
    - Dst: signal
      Src: /src/gnulib/tests/test-sigpipe.c:46,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigpipe.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigpipe.c:65,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigpipe.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 70
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigpipe.c
    functionUses: 7
    functionsReached:
    - signal
    - exit
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbs_endswith3.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:34,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:35,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:37,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:38,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:39,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:40,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:42,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:43,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:44,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:45,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:46,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:47,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:49,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:50,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:52,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:53,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:54,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:55,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:56,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:57,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:58,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:60,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:61,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:62,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:63,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:64,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:65,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:66,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:67,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith3.c:68,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith3.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbs_endswith3.c
    functionUses: 7
    functionsReached:
    - mbs_endswith
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-byteswap-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - va
    - vb
    - varg
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: cmp
    functionSourceFile: /src/gnulib/tests/test-qsort_r.c
    functionUses: 983
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp (void const *va, void const *vb, void *varg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort_r
      Src: /src/gnulib/tests/test-qsort_r.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-qsort_r.c:41,1
    - Dst: qsort_r
      Src: /src/gnulib/tests/test-qsort_r.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-qsort_r.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-qsort_r.c
    functionUses: 7
    functionsReached:
    - qsort_r
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stat-time.c:52,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stat-time.c:53,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stat-time.c:54,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stat-time.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: initialize_filenames
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: void initialize_filenames (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chmod
      Src: /src/gnulib/tests/test-stat-time.c:63,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat-time.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: force_unlink
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - chmod
    - unlink
    linkageType: ''
    returnType: int
    signature: int force_unlink (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: force_unlink
      Src: /src/gnulib/tests/test-stat-time.c:71,1
    - Dst: force_unlink
      Src: /src/gnulib/tests/test-stat-time.c:72,1
    - Dst: force_unlink
      Src: /src/gnulib/tests/test-stat-time.c:73,1
    - Dst: force_unlink
      Src: /src/gnulib/tests/test-stat-time.c:74,1
    - Dst: _exit
      Src: /src/gnulib/tests/test-stat-time.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: cleanup
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 55
    functionsReached:
    - force_unlink
    - _exit
    linkageType: ''
    returnType: void
    signature: void cleanup (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-stat-time.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: open_file
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 2
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int open_file (const char *filename, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:98,1
    - Dst: open_file
      Src: /src/gnulib/tests/test-stat-time.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: create_file
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - open_file
    linkageType: ''
    returnType: void
    signature: void create_file (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:104,1
    - Dst: stat
      Src: /src/gnulib/tests/test-stat-time.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - p
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: do_stat
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - stat
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void do_stat (const char *filename, struct stat *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_file
      Src: /src/gnulib/tests/test-stat-time.c:112,1
    - Dst: nap
      Src: /src/gnulib/tests/test-stat-time.c:113,1
    - Dst: create_file
      Src: /src/gnulib/tests/test-stat-time.c:114,1
    - Dst: nap
      Src: /src/gnulib/tests/test-stat-time.c:115,1
    - Dst: create_file
      Src: /src/gnulib/tests/test-stat-time.c:116,1
    - Dst: nap
      Src: /src/gnulib/tests/test-stat-time.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:118,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-stat-time.c:118,1
    - Dst: nap
      Src: /src/gnulib/tests/test-stat-time.c:119,1
    - Dst: create_file
      Src: /src/gnulib/tests/test-stat-time.c:120,1
    - Dst: do_stat
      Src: /src/gnulib/tests/test-stat-time.c:122,1
    - Dst: do_stat
      Src: /src/gnulib/tests/test-stat-time.c:123,1
    - Dst: do_stat
      Src: /src/gnulib/tests/test-stat-time.c:124,1
    - Dst: do_stat
      Src: /src/gnulib/tests/test-stat-time.c:125,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/tests/test-stat-time.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - statinfo
    - modtimes
    argTypes:
    - struct stat*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: prepare_test
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - get_stat_mtime
    - nap
    - create_file
    - do_stat
    - chmod
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void prepare_test (struct stat *statinfo, struct timespec *modtimes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:141,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-stat-time.c:143,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-stat-time.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:146,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-stat-time.c:148,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-stat-time.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:157,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/tests/test-stat-time.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - statinfo
    - modtimes
    argTypes:
    - struct stat*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: test_mtime
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - get_stat_mtime_ns
    - get_stat_mtime
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_mtime (const struct stat *statinfo, struct timespec *modtimes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:186,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-stat-time.c:188,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-stat-time.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - statinfo
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: test_ctime
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - get_stat_ctime_ns
    - get_stat_mtime_ns
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_ctime (const struct stat *statinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_stat_birthtime
      Src: /src/gnulib/tests/test-stat-time.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat-time.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - statinfo
    - modtimes
    - birthtimes
    argTypes:
    - struct stat*
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: test_birthtime
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 0
    functionsReached:
    - get_stat_birthtime
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_birthtime (const struct stat *statinfo,\n                const
      struct timespec *modtimes,\n                struct timespec *birthtimes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize_filenames
      Src: /src/gnulib/tests/test-stat-time.c:225,1
    - Dst: signal
      Src: /src/gnulib/tests/test-stat-time.c:228,1
    - Dst: signal
      Src: /src/gnulib/tests/test-stat-time.c:231,1
    - Dst: signal
      Src: /src/gnulib/tests/test-stat-time.c:234,1
    - Dst: signal
      Src: /src/gnulib/tests/test-stat-time.c:237,1
    - Dst: cleanup
      Src: /src/gnulib/tests/test-stat-time.c:240,1
    - Dst: prepare_test
      Src: /src/gnulib/tests/test-stat-time.c:241,1
    - Dst: test_mtime
      Src: /src/gnulib/tests/test-stat-time.c:242,1
    - Dst: test_ctime
      Src: /src/gnulib/tests/test-stat-time.c:243,1
    - Dst: test_birthtime
      Src: /src/gnulib/tests/test-stat-time.c:244,1
    - Dst: cleanup
      Src: /src/gnulib/tests/test-stat-time.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 248
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stat-time.c
    functionUses: 7
    functionsReached:
    - test_birthtime
    - initialize_filenames
    - signal
    - prepare_test
    - test_ctime
    - test_mtime
    - cleanup
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiter.c:33,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mbuiter.c:34,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mbuiter.c:37,1
    - Dst: mbui_init
      Src: /src/gnulib/tests/bench-mbuiter.c:44,1
    - Dst: mbui_avail
      Src: /src/gnulib/tests/bench-mbuiter.c:44,1
    - Dst: mbui_advance
      Src: /src/gnulib/tests/bench-mbuiter.c:44,1
    - Dst: mbui_cur
      Src: /src/gnulib/tests/bench-mbuiter.c:46,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mbuiter.c:51,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-mbuiter.c:52,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiter.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbuiter.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - test
    - repeat
    - locale_name
    - text
    argTypes:
    - char
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mbuiter.c
    functionUses: 1
    functionsReached:
    - mbui_advance
    - setlocale
    - timing_end
    - mbui_init
    - timing_output
    - mbui_avail
    - printf
    - timing_start
    - mbui_cur
    linkageType: ''
    returnType: void
    signature: void do_test (char test, int repeat, const char *locale_name, const
      char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbuiter.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbuiter.c:79,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mbuiter.c:80,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mbuiter.c:86,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mbuiter.c:90,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:97,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:100,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:103,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:106,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:109,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:112,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:115,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:118,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:121,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbuiter.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 133
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mbuiter.c
    functionUses: 7
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs.h:24,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:27,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fabs.h:27,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:32,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-fabs.h:32,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-fabs.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fabs.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:41,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabs.h:42,1
    - Dst: FABS
      Src: /src/gnulib/tests/test-fabs.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fabs.h
    functionUses: 89
    functionsReached:
    - FABS
    - signbit
    - L_
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: null_ptr
    functionSourceFile: /src/gnulib/tests/null-ptr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      null_ptr (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcstok
      Src: /src/gnulib/tests/test-wcstok.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:41,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcstok.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:42,1
    - Dst: wcstok
      Src: /src/gnulib/tests/test-wcstok.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:46,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcstok.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:47,1
    - Dst: wcstok
      Src: /src/gnulib/tests/test-wcstok.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcstok.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcstok.c
    functionUses: 7
    functionsReached:
    - wcstok
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expm1l
      Src: /src/gnulib/tests/test-expm1l.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1l.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1l.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1l.c
    functionUses: 7
    functionsReached:
    - test_function
    - ASSERT
    - expm1l
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:36,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:37,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:39,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:40,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:42,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:43,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-trunc-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:48,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-trunc-ieee.c:48,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:48,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-trunc-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:50,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc-ieee.c:51,1
    - Dst: trunc
      Src: /src/gnulib/tests/test-trunc-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-trunc-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-trunc-ieee.c
    functionUses: 7
    functionsReached:
    - Infinityd
    - isnand
    - trunc
    - signbit
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-rintf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rintf-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tanf
      Src: /src/gnulib/tests/test-tanf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tanf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tanf.c
    functionUses: 7
    functionsReached:
    - tanf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-des.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-des.c:33,1
    - Dst: gc_cipher_open
      Src: /src/gnulib/tests/test-gc-des.c:52,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-des.c:56,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-des.c:60,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-des.c:61,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-des.c:65,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-des.c:66,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-des.c:70,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-des.c:74,1
    - Dst: gc_cipher_decrypt_inline
      Src: /src/gnulib/tests/test-gc-des.c:75,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-des.c:79,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-des.c:80,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-des.c:84,1
    - Dst: gc_cipher_close
      Src: /src/gnulib/tests/test-gc-des.c:88,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-des.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 94
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-des.c
    functionUses: 7
    functionsReached:
    - gc_cipher_open
    - gc_cipher_encrypt_inline
    - gc_init
    - gc_cipher_decrypt_inline
    - gc_cipher_close
    - memcmp
    - gc_done
    - memcpy
    - printf
    - gc_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isupper.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isupper.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:42,1
    - Dst: c32isupper
      Src: /src/gnulib/tests/test-c32isupper.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isupper.c
    functionUses: 5
    functionsReached:
    - mbrtoc32
    - c32isupper
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isupper.c:54,1
    - Dst: c32isupper
      Src: /src/gnulib/tests/test-c32isupper.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:111,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:130,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:133,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:136,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:140,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:147,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:157,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:161,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:164,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:167,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:171,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:175,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:179,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:186,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:200,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:203,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:206,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:209,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:212,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:215,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:218,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:221,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:224,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:227,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:230,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:233,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:236,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:239,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:242,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:246,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:250,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:253,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:256,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isupper.c:265,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:271,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:274,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:278,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:282,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:285,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:288,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:292,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:296,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:300,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:304,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:307,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:310,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:313,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:317,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:321,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:325,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:329,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:332,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isupper.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isupper.c:335,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 270
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 342
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 342
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isupper.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isupper
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-creat.c:38,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-creat.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:43,1
    - Dst: creat
      Src: /src/gnulib/tests/test-creat.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:44,1
    - Dst: creat
      Src: /src/gnulib/tests/test-creat.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:50,1
    - Dst: close
      Src: /src/gnulib/tests/test-creat.c:50,1
    - Dst: creat
      Src: /src/gnulib/tests/test-creat.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:55,1
    - Dst: close
      Src: /src/gnulib/tests/test-creat.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:58,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-creat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-creat.c:59,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-creat.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-creat.c
    functionUses: 7
    functionsReached:
    - close
    - creat
    - ASSERT
    - unlink
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnulib/tests/test-sleep.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: handle_alarm
    functionSourceFile: /src/gnulib/tests/test-sleep.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void handle_alarm (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sleep.c:42,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-sleep.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sleep.c:44,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-sleep.c:44,1
    - Dst: signal
      Src: /src/gnulib/tests/test-sleep.c:50,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-sleep.c:51,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-sleep.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sleep.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sleep.c
    functionUses: 7
    functionsReached:
    - sleep
    - signal
    - alarm
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getentropy.c:37,1
    - Dst: getentropy
      Src: /src/gnulib/tests/test-getentropy.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getentropy.c:40,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getentropy.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getentropy.c:48,1
    - Dst: getentropy
      Src: /src/gnulib/tests/test-getentropy.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getentropy.c:49,1
    - Dst: getentropy
      Src: /src/gnulib/tests/test-getentropy.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getentropy.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getentropy.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getentropy.c
    functionUses: 7
    functionsReached:
    - getentropy
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiterf.c:33,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mbiterf.c:34,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mbiterf.c:37,1
    - Dst: mbif_init
      Src: /src/gnulib/tests/bench-mbiterf.c:47,1
    - Dst: mbif_avail
      Src: /src/gnulib/tests/bench-mbiterf.c:47,1
    - Dst: mbif_next
      Src: /src/gnulib/tests/bench-mbiterf.c:49,1
    - Dst: mb_len
      Src: /src/gnulib/tests/bench-mbiterf.c:51,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mbiterf.c:56,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-mbiterf.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiterf.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiterf.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - test
    - repeat
    - locale_name
    - text
    argTypes:
    - char
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mbiterf.c
    functionUses: 2
    functionsReached:
    - mbif_init
    - mbif_next
    - setlocale
    - timing_end
    - timing_output
    - mb_len
    - mbif_avail
    - printf
    - timing_start
    linkageType: ''
    returnType: void
    signature: void do_test (char test, int repeat, const char *locale_name, const
      char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbiterf.c:83,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbiterf.c:84,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mbiterf.c:85,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mbiterf.c:91,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mbiterf.c:95,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:102,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:105,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:108,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:111,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:114,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:117,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:120,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:123,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:126,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiterf.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 138
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mbiterf.c
    functionUses: 7
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-freadable.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:41,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:41,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-freadable.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:44,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:44,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadable.c:45,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freadable.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:52,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:52,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:55,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:55,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freadable.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:58,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:58,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:61,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:61,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-freadable.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:63,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:63,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:66,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:66,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freadable.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:69,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadable.c:70,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freadable.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:77,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:77,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:80,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:80,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freadable.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:83,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:83,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:86,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:86,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-freadable.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:88,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:88,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-freadable.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:91,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:91,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-freadable.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:94,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:94,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-freadable.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:97,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:97,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadable.c:98,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freadable.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:105,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:105,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-freadable.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadable.c:108,1
    - Dst: freadable
      Src: /src/gnulib/tests/test-freadable.c:108,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freadable.c:109,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-freadable.c:117,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freadable.c
    functionUses: 7
    functionsReached:
    - fopen
    - fclose
    - fgetc
    - fwrite
    - fprintf
    - fflush
    - freadable
    - fseek
    - ASSERT
    - fputc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null.c
    functionUses: 7
    functionsReached:
    - setlocale_null_r
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:42,1
    - Dst: vaszprintf
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_aszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - vaszprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_aszprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: test_vaszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vaszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: test_aszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_aszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vaszprintf
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:63,1
    - Dst: test_aszprintf
      Src: /src/gnulib/tests/test-vaszprintf-gnu.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_aszprintf
    - test_vaszprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32islower.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32islower.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:42,1
    - Dst: c32islower
      Src: /src/gnulib/tests/test-c32islower.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32islower.c
    functionUses: 6
    functionsReached:
    - mbrtoc32
    - c32islower
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32islower.c:54,1
    - Dst: c32islower
      Src: /src/gnulib/tests/test-c32islower.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:111,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:130,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:134,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:138,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:142,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:146,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:149,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:158,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:162,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:167,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:170,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:174,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:178,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:182,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:186,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:194,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:204,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:208,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:212,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:220,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:223,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:226,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:229,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:232,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:235,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:238,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:241,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:244,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:247,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:250,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:253,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:257,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:261,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:264,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32islower.c:273,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:279,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:283,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:287,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:291,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:296,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:301,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:305,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:309,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:313,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:317,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:321,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:324,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:327,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:331,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:335,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:338,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:342,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:346,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32islower.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32islower.c:349,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 270
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 356
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32islower.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32islower
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:41,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:42,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:44,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:45,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:47,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:48,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceill-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:53,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-ceill-ieee.c:53,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:53,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-ceill-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:55,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceill-ieee.c:56,1
    - Dst: ceill
      Src: /src/gnulib/tests/test-ceill-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-ceill-ieee.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceill-ieee.c
    functionUses: 7
    functionsReached:
    - ceill
    - Infinityl
    - signbit
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/test-getsockname.c:42,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/test-getsockname.c:45,1
    - Dst: memset
      Src: /src/gnulib/tests/test-getsockname.c:47,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-getsockname.c:49,1
    - Dst: htons
      Src: /src/gnulib/tests/test-getsockname.c:51,1
    - Dst: bind
      Src: /src/gnulib/tests/test-getsockname.c:52,1
    - Dst: perror
      Src: /src/gnulib/tests/test-getsockname.c:54,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getsockname.c:55,1
    - Dst: listen
      Src: /src/gnulib/tests/test-getsockname.c:58,1
    - Dst: perror
      Src: /src/gnulib/tests/test-getsockname.c:60,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getsockname.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 65
    functionName: open_server_socket
    functionSourceFile: /src/gnulib/tests/test-getsockname.c
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - setsockopt
    - listen
    - bind
    - memset
    - htons
    - perror
    linkageType: ''
    returnType: int
    signature: int open_server_socket (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-getsockname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:78,1
    - Dst: getsockname
      Src: /src/gnulib/tests/test-getsockname.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:79,1
    - Dst: close
      Src: /src/gnulib/tests/test-getsockname.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:87,1
    - Dst: getsockname
      Src: /src/gnulib/tests/test-getsockname.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:88,1
    - Dst: memset
      Src: /src/gnulib/tests/test-getsockname.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:98,1
    - Dst: getsockname
      Src: /src/gnulib/tests/test-getsockname.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getsockname.c:100,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-getsockname.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getsockname.c
    functionUses: 7
    functionsReached:
    - ntohs
    - close
    - gl_sockets_startup
    - getsockname
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expm1f
      Src: /src/gnulib/tests/test-expm1f.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-expm1f.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1f.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1f.c
    functionUses: 7
    functionsReached:
    - expm1f
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: do_rename
    functionSourceFile: /src/gnulib/tests/test-renameatu.c
    functionUses: 0
    functionsReached:
    - renameatu
    linkageType: ''
    returnType: int
    signature: int do_rename (char const *name1, char const *name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-renameatu.c:64,1
    - Dst: system
      Src: /src/gnulib/tests/test-renameatu.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:69,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:70,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:75,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:78,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:78,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameatu.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:81,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:86,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:89,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameatu.c:89,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameatu.c:92,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameatu.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:95,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameatu.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:97,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameatu.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:99,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameatu.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:100,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:103,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-renameatu.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:104,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-renameatu.c:104,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameatu.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:107,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:107,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-renameatu.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:109,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameatu.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:113,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-renameatu.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:133,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-renameatu.c:133,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-renameatu.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:134,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-renameatu.c:134,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-renameatu.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:135,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameatu.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameatu.c:137,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameatu.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:141,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:142,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:147,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-renameatu.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:148,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:148,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameatu.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:152,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:152,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameatu.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:154,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:156,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameatu.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:158,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:163,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:167,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:170,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:173,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:176,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:179,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:182,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:185,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:189,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:189,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameatu.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:191,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:196,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:200,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:204,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:209,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:209,1
    - Dst: renameatu
      Src: /src/gnulib/tests/test-renameatu.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:216,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameatu.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:217,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameatu.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:218,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameatu.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:219,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-renameatu.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameatu.c:220,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-renameatu.c:220,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameatu.c:221,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-renameatu.c:224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-renameatu.c
    functionUses: 7
    functionsReached:
    - rmdir
    - getcwd
    - chdir
    - free
    - fputs
    - renameatu
    - close
    - open
    - unlink
    - system
    - strchr
    - mkdir
    - creat
    - sprintf
    - test_rename
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-uname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:43,1
    - Dst: uname
      Src: /src/gnulib/tests/test-uname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:46,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-uname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:47,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-uname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:48,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-uname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:49,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-uname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-uname.c:50,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-uname.c:50,1
    - Dst: printf
      Src: /src/gnulib/tests/test-uname.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-uname.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-uname.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-uname.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-uname.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-uname.c
    functionUses: 7
    functionsReached:
    - strlen
    - uname
    - memset
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmodl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmodl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/gnulib/tests/test-getopt.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:65,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-getopt.h:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 11
    argNames:
    - argc
    - argv
    - options
    - a_seen
    - b_seen
    - p_value
    - q_value
    - non_options_count
    - non_options
    - unrecognized
    - message_issued
    argTypes:
    - int
    - char**
    - char*
    - int*
    - int*
    - char**
    - char**
    - int*
    - char**
    - int*
    - bool*
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: getopt_loop
    functionSourceFile: /src/gnulib/tests/test-getopt.h
    functionUses: 0
    functionsReached:
    - ftell
    - ASSERT
    - getopt
    linkageType: ''
    returnType: void
    signature: "void getopt_loop (int argc, const char **argv,\n             const
      char *options,\n             int *a_seen, int *b_seen,\n             const char
      **p_value, const char **q_value,\n             int *non_options_count, const
      char **non_options,\n             int *unrecognized, bool *message_issued)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:127,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:160,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:192,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:225,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:258,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:285,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:290,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:324,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:353,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:358,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:390,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:422,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:455,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:455,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:460,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:494,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:523,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:528,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:557,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:562,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:591,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:596,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:625,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:625,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:630,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:657,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:662,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:692,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:722,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:754,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:755,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:756,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:757,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:759,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:773,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:773,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:775,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:778,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:779,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:783,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:788,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:821,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:826,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:827,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:828,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:829,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:830,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:832,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:833,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:834,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:835,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:836,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:837,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:838,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:839,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:851,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:852,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:853,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:854,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:856,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:857,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:858,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:859,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:860,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:861,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:865,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:870,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:902,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:903,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:904,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:905,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:906,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:907,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:908,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:912,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:915,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:916,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:917,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:920,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:955,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:956,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:957,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:958,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:959,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:961,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:963,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:964,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:965,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:966,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:970,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:977,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:986,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:987,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:988,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:989,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:990,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:991,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:992,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:994,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1022,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1027,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1028,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1029,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1030,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1031,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1031,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1032,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1033,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1036,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1037,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1040,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1041,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1046,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1047,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1047,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1048,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1049,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1049,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1050,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1051,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1052,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1056,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1057,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1060,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1061,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1090,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1093,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1093,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1094,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1095,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1096,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1097,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1097,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1099,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1108,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1137,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1172,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1175,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1176,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1183,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1192,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1227,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1229,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1244,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1245,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1246,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1247,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1248,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1259,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1293,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1295,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1296,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1299,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getopt.h:1299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1308,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1337,1
    - Dst: getopt_loop
      Src: /src/gnulib/tests/test-getopt.h:1357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1387,1
    - Dst: getopt
      Src: /src/gnulib/tests/test-getopt.h:1387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1388,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-getopt.h:1388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt.h:1389,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 799
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 1392
    functionName: test_getopt
    functionSourceFile: /src/gnulib/tests/test-getopt.h
    functionUses: 0
    functionsReached:
    - ftell
    - getopt_loop
    - strcmp
    - getopt
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_getopt (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-execute-main.c:54,1
    - Dst: signal
      Src: /src/gnulib/tests/test-execute-main.c:71,1
    - Dst: close_range
      Src: /src/gnulib/tests/test-execute-main.c:89,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:182,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-execute-main.c:189,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-main.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:191,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:191,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:201,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:202,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:202,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-execute-main.c:208,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-main.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:210,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:210,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:220,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:221,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:221,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:235,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:239,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-execute-main.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:241,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:241,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:253,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:267,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:267,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-execute-main.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:273,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:273,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:287,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:291,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-execute-main.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:293,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:293,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:305,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-execute-main.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:319,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:319,1
    - Dst: read_file
      Src: /src/gnulib/tests/test-execute-main.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:325,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:331,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:341,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-execute-main.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:351,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-execute-main.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:355,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-execute-main.c:362,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-main.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:364,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:369,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:369,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:374,1
    - Dst: read
      Src: /src/gnulib/tests/test-execute-main.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:380,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:383,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:383,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:394,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:394,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:398,1
    - Dst: write
      Src: /src/gnulib/tests/test-execute-main.c:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:404,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:410,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-execute-main.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:412,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:412,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-execute-main.c:419,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-main.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:421,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-execute-main.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:429,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:429,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:433,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:433,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:441,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-main.c:441,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-main.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:443,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-main.c:443,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-main.c:443,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:446,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:448,1
    - Dst: remove
      Src: /src/gnulib/tests/test-execute-main.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:455,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:455,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:458,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-execute-main.c:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:465,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-main.c:465,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-main.c:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:467,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-main.c:467,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-main.c:467,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:470,1
    - Dst: close
      Src: /src/gnulib/tests/test-execute-main.c:471,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-execute-main.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:478,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-execute-main.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:482,1
    - Dst: _getcwd
      Src: /src/gnulib/tests/test-execute-main.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:484,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-execute-main.c:484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:492,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-execute-main.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execute-main.c:496,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 499
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 499
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execute-main.c
    functionUses: 7
    functionsReached:
    - dup2
    - freopen
    - isatty
    - mkdir
    - fclose
    - signal
    - close_range
    - close
    - memcmp
    - read
    - ASSERT
    - fopen
    - rmdir
    - _getcwd
    - write
    - remove
    - fcntl
    - getcwd
    - fputs
    - _isatty
    - read_file
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-modfl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modfl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:36,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-setenv.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:37,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-setenv.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setenv.c:38,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-setenv.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:42,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-setenv.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:45,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-setenv.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:51,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-setenv.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setenv.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setenv.c
    functionUses: 7
    functionsReached:
    - strcmp
    - getenv
    - ASSERT
    - setenv
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unistd-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainderl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainderl-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:38,1
    - Dst: priv_allocset
      Src: /src/gnulib/tests/test-priv-set.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:39,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:40,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:44,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:45,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:46,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:47,1
    - Dst: priv_set_restore
      Src: /src/gnulib/tests/test-priv-set.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:49,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:50,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:51,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:52,1
    - Dst: priv_set_remove
      Src: /src/gnulib/tests/test-priv-set.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:53,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:54,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:55,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:56,1
    - Dst: priv_set_remove
      Src: /src/gnulib/tests/test-priv-set.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:58,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:59,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:60,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:61,1
    - Dst: priv_set_restore
      Src: /src/gnulib/tests/test-priv-set.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:62,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:63,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:64,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:65,1
    - Dst: priv_set_restore
      Src: /src/gnulib/tests/test-priv-set.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:67,1
    - Dst: priv_set_ismember
      Src: /src/gnulib/tests/test-priv-set.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:68,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:69,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:72,1
    - Dst: getppriv
      Src: /src/gnulib/tests/test-priv-set.c:72,1
    - Dst: priv_ismember
      Src: /src/gnulib/tests/test-priv-set.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:75,1
    - Dst: priv_set_restore_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:77,1
    - Dst: priv_set_remove_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:78,1
    - Dst: priv_set_remove_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:80,1
    - Dst: priv_set_restore_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:83,1
    - Dst: priv_set_restore_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-priv-set.c:84,1
    - Dst: priv_set_remove_linkdir
      Src: /src/gnulib/tests/test-priv-set.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-priv-set.c
    functionUses: 7
    functionsReached:
    - priv_set_remove
    - priv_ismember
    - priv_set_restore
    - priv_set_restore_linkdir
    - priv_set_ismember
    - priv_set_remove_linkdir
    - priv_allocset
    - getppriv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isspace.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isspace.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:42,1
    - Dst: c32isspace
      Src: /src/gnulib/tests/test-c32isspace.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isspace.c
    functionUses: 7
    functionsReached:
    - mbrtoc32
    - c32isspace
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isspace.c:54,1
    - Dst: c32isspace
      Src: /src/gnulib/tests/test-c32isspace.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:108,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:127,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:137,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:141,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:150,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:153,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:159,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:162,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isspace.c:171,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:181,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:186,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isspace.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isspace.c:193,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 170
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 200
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isspace.c
    functionUses: 7
    functionsReached:
    - c32isspace
    - setlocale
    - fputs
    - for_character
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-md2.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:34,1
    - Dst: gc_md2
      Src: /src/gnulib/tests/test-gc-md2.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md2.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:63,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-md2.c:67,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:69,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md2.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:76,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:79,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:82,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-md2.c:86,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:88,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-md2.c:92,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:94,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-md2.c:98,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-md2.c:100,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:104,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md2.c:108,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:111,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:114,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md2.c:117,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-md2.c:121,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-md2.c:124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 127
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-md2.c
    functionUses: 7
    functionsReached:
    - gc_hash_open
    - gc_md2
    - gc_init
    - gc_hash_digest_length
    - memcmp
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:33,1
    - Dst: xpg_to_bcp47
      Src: /src/gnulib/tests/test-bcp47.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:36,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:42,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - xpg
    - bcp47
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: test_correspondence
    functionSourceFile: /src/gnulib/tests/test-bcp47.c
    functionUses: 0
    functionsReached:
    - xpg_to_bcp47
    - bcp47_to_xpg
    - strcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_correspondence (const char *xpg, const char *bcp47)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:54,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:55,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:56,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:60,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:61,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:62,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:64,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:65,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:66,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:67,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:69,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:70,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:72,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:73,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:74,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:75,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:76,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:80,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:81,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:83,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:84,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:85,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:86,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:88,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:89,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:91,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:92,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:94,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:95,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:97,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:98,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:100,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:101,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:103,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:104,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:106,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:107,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:109,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:110,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:111,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:113,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:114,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:115,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:116,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:118,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:119,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:121,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:122,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:128,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:131,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:138,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:141,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:146,1
    - Dst: test_correspondence
      Src: /src/gnulib/tests/test-bcp47.c:147,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:152,1
    - Dst: xpg_to_bcp47
      Src: /src/gnulib/tests/test-bcp47.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:155,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:159,1
    - Dst: xpg_to_bcp47
      Src: /src/gnulib/tests/test-bcp47.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:162,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:168,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:171,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:175,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:178,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:184,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:187,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:187,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:191,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:194,1
    - Dst: memset
      Src: /src/gnulib/tests/test-bcp47.c:198,1
    - Dst: bcp47_to_xpg
      Src: /src/gnulib/tests/test-bcp47.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bcp47.c:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-bcp47.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bcp47.c
    functionUses: 7
    functionsReached:
    - xpg_to_bcp47
    - bcp47_to_xpg
    - strcmp
    - memset
    - test_correspondence
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/gnulib/tests/test-exp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp.c
    functionUses: 7
    functionsReached:
    - test_function
    - exp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pty-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:41,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:41,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:51,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:51,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:61,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:91,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:101,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:123,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:145,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:155,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:215,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:227,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:240,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:240,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 243
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasprintf-gnu.c
    functionUses: 99
    functionsReached:
    - free
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_asprintf) (char **, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:251,1
    - Dst: vasprintf
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:252,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: my_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_asprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: test_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:272,1
    - Dst: test_asprintf
      Src: /src/gnulib/tests/test-vasprintf-gnu.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_vasprintf
    - test_asprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fma1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fma1.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:32,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:35,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:38,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:42,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:45,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-areadlink.h:47,1
    - Dst: creat
      Src: /src/gnulib/tests/test-areadlink.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:54,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-areadlink.h:54,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-areadlink.h:57,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-areadlink.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:64,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-areadlink.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:66,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-areadlink.h:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-areadlink.h:73,1
    - Dst: func
      Src: /src/gnulib/tests/test-areadlink.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-areadlink.h:77,1
    - Dst: free
      Src: /src/gnulib/tests/test-areadlink.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:80,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-areadlink.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlink.h:81,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-areadlink.h:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - (*func) (char const *, size_t)
    - print
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 84
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 84
    functionName: test_areadlink
    functionSourceFile: /src/gnulib/tests/test-areadlink.h
    functionUses: 0
    functionsReached:
    - symlink
    - rmdir
    - fputs
    - free
    - close
    - unlink
    - mkdir
    - creat
    - strcmp
    - func
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_areadlink (char * (*func) (char const *, size_t), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:42,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:52,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:62,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:72,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:84,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:94,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:104,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:114,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:124,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:134,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:144,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:156,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:166,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:177,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:189,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:199,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:209,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:219,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:229,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:239,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:251,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:261,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:271,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:281,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:291,1
    - Dst: strtoll
      Src: /src/gnulib/tests/test-strtoll.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoll.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 159
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtoll.c
    functionUses: 7
    functionsReached:
    - strtoll
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:30,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:37,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:39,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:41,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:42,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:44,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:54,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:63,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:64,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:79,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:81,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:86,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:95,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:96,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:103,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:110,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:111,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:112,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:114,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:114,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:121,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-open.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:124,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:134,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:135,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:142,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:147,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:150,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:152,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:157,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:166,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:167,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:167,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:172,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:180,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-open.h:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:183,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:191,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:192,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:193,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:195,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:195,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:198,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:203,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:209,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-open.h:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:212,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:220,1
    - Dst: write
      Src: /src/gnulib/tests/test-supersede-open.h:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:222,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:224,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:225,1
    - Dst: close_supersede
      Src: /src/gnulib/tests/test-supersede-open.h:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:227,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:232,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-open.h:232,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:235,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:243,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-open.h:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:246,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-open.h:256,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-open.h:256,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:259,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-open.h:264,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-supersede-open.h:265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 103
    argCount: 2
    argNames:
    - supersede_if_exists
    - supersede_if_does_not_exist
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 266
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 266
    functionName: test_open_supersede
    functionSourceFile: /src/gnulib/tests/test-supersede-open.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - symlink
    - rmdir
    - memcmp
    - unlink
    - stat
    - close_supersede
    - write
    linkageType: ''
    returnType: void
    signature: void test_open_supersede (bool supersede_if_exists, bool supersede_if_does_not_exist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:81,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:81,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:85,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:85,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:94,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:94,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:98,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:125,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:134,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:137,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:148,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:148,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:161,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:170,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:171,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:172,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:186,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:186,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:195,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:196,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:197,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:198,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:198,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:213,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:213,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:227,1
    - Dst: free
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:228,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 230
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 102
    functionsReached:
    - strisnan
    - strlen
    - free
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_aszprintf) (char **, const char
      *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:238,1
    - Dst: vaszprintf
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:239,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: my_aszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 0
    functionsReached:
    - vaszprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_aszprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: test_vaszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vaszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: test_aszprintf
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_aszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vaszprintf
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:259,1
    - Dst: test_aszprintf
      Src: /src/gnulib/tests/test-vaszprintf-posix.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vaszprintf-posix.c
    functionUses: 7
    functionsReached:
    - test_aszprintf
    - test_vaszprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:27,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkdir.h:27,1
    - Dst: creat
      Src: /src/gnulib/tests/test-mkdir.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:29,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:32,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:35,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:37,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkdir.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:39,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:42,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:45,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:48,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:54,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:56,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdir.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:57,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:59,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:61,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdir.h:61,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-mkdir.h:67,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mkdir.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:75,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:76,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:82,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdir.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:88,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-mkdir.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:93,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkdir.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkdir.h:95,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkdir.h:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 98
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 98
    functionName: test_mkdir
    functionSourceFile: /src/gnulib/tests/test-mkdir.h
    functionUses: 1
    functionsReached:
    - symlink
    - rmdir
    - fputs
    - close
    - unlink
    - creat
    - func
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_mkdir (int (*func) (char const *, mode_t), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:41,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fseek.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:47,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fseek.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:48,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fseek.c:48,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fseek.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:50,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fseek.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:62,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fseek.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:64,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fseek.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:65,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fseek.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:67,1
    - Dst: feof
      Src: /src/gnulib/tests/test-fseek.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:68,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fseek.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseek.c:69,1
    - Dst: feof
      Src: /src/gnulib/tests/test-fseek.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseek.c
    functionUses: 7
    functionsReached:
    - fgetc
    - ungetc
    - fputs
    - feof
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-6.c:40,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-6.c:40,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-fenv-env-6.c:43,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-6.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-6.c:50,1
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-6.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-6.c:53,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-6.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-6.c:56,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-env-6.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-6.c:61,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-6.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-6.c
    functionUses: 7
    functionsReached:
    - fesetenv
    - feupdateenv
    - fputs
    - fegetenv
    - sigfpe_on_invalid
    - feclearexcept
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-6.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-6.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vszprintf-gnu.c:37,1
    - Dst: vszprintf
      Src: /src/gnulib/tests/test-vszprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vszprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - format
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_szprintf
    functionSourceFile: /src/gnulib/tests/test-vszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vszprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_szprintf (char *str, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vszprintf-gnu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vszprintf-gnu.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-setpayloadl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:55,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-setpayloadl.c:55,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-setpayloadl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:63,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-setpayloadl.c:71,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-setpayloadl.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:73,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-setpayloadl.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:83,1
    - Dst: setpayloadl
      Src: /src/gnulib/tests/test-setpayloadl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadl.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayloadl.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - Infinityl
    - setpayloadl
    - isnanl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:41,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:42,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:44,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:45,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:47,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:48,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floorl-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:53,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-floorl-ieee.c:53,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:53,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-floorl-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:55,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl-ieee.c:56,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl-ieee.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floorl-ieee.c
    functionUses: 7
    functionsReached:
    - floorl
    - Infinityl
    - signbit
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-strtod.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtod.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log10
      Src: /src/gnulib/tests/test-log10.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.c:46,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10.c
    functionUses: 7
    functionsReached:
    - test_function
    - log10
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-nan-2.c:54,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-nan-2.c:58,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-nan-2.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nan-2.c
    functionUses: 7
    functionsReached:
    - fputs
    - sigfpe_on_invalid
    - feclearexcept
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-nan-2.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nan-2.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod-mt.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtod-mt.c:52,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtod-mt.c:52,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtod-mt.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-c-strtod-mt.c
    functionUses: 0
    functionsReached:
    - fflush
    - c_strtod
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/gnulib/tests/test-c-strtod-mt.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtod-mt.c:73,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtod-mt.c:73,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtod-mt.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-c-strtod-mt.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    - strtod
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-c-strtod-mt.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtod-mt.c:90,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtod-mt.c:90,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtod-mt.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: thread3_func
    functionSourceFile: /src/gnulib/tests/test-c-strtod-mt.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fflush
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread3_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtod-mt.c:104,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtod-mt.c:108,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtod-mt.c:109,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtod-mt.c:110,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-c-strtod-mt.c:115,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-c-strtod-mt.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtod-mt.c
    functionUses: 7
    functionsReached:
    - nanosleep
    - gl_thread_create
    - atoi
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-c-strtod-mt.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtod-mt.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_msvc_inval_ensure_handler
      Src: /src/gnulib/tests/test-fgetc.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:51,1
    - Dst: write
      Src: /src/gnulib/tests/test-fgetc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-fgetc.c:52,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fgetc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:61,1
    - Dst: close
      Src: /src/gnulib/tests/test-fgetc.c:61,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fgetc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:63,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fgetc.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:65,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fgetc.c:65,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fgetc.c:66,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fgetc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:77,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fgetc.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:79,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fgetc.c:79,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fgetc.c:80,1
    - Dst: close
      Src: /src/gnulib/tests/test-fgetc.c:85,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fgetc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:90,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fgetc.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fgetc.c:92,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fgetc.c:92,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fgetc.c:93,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fgetc.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fgetc.c
    functionUses: 7
    functionsReached:
    - fopen
    - ASSERT
    - fclose
    - fgetc
    - gl_msvc_inval_ensure_handler
    - close
    - unlink
    - fileno
    - fdopen
    - ferror
    - write
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:78,1
    - Dst: memset
      Src: /src/gnulib/tests/test-getaddrinfo.c:84,1
    - Dst: getaddrinfo
      Src: /src/gnulib/tests/test-getaddrinfo.c:93,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:96,1
    - Dst: gai_strerror
      Src: /src/gnulib/tests/test-getaddrinfo.c:96,1
    - Dst: isdigit
      Src: /src/gnulib/tests/test-getaddrinfo.c:98,1
    - Dst: isdigit
      Src: /src/gnulib/tests/test-getaddrinfo.c:99,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:103,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:120,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:139,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-getaddrinfo.c:139,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:141,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:152,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:153,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:154,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:155,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:156,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:157,1
    - Dst: inet_ntop
      Src: /src/gnulib/tests/test-getaddrinfo.c:158,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:162,1
    - Dst: getnameinfo
      Src: /src/gnulib/tests/test-getaddrinfo.c:168,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:172,1
    - Dst: gai_strerror
      Src: /src/gnulib/tests/test-getaddrinfo.c:172,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:175,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-getaddrinfo.c:176,1
    - Dst: freeaddrinfo
      Src: /src/gnulib/tests/test-getaddrinfo.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - pass
    - host
    - service
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 185
    functionName: simple
    functionSourceFile: /src/gnulib/tests/test-getaddrinfo.c
    functionUses: 10
    functionsReached:
    - inet_ntop
    - freeaddrinfo
    - dbgprintf
    - getaddrinfo
    - gai_strerror
    - memset
    - strerror
    - isdigit
    - fprintf
    - getnameinfo
    linkageType: ''
    returnType: int
    signature: int simple (int pass, char const *host, char const *service)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-getaddrinfo.c:204,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:206,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:207,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:208,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:209,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:210,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:211,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:212,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:213,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:214,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:215,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:216,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:217,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:219,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:222,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:227,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:228,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:229,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:230,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:232,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:233,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:234,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:235,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:236,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:237,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:238,1
    - Dst: simple
      Src: /src/gnulib/tests/test-getaddrinfo.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 240
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getaddrinfo.c
    functionUses: 7
    functionsReached:
    - gl_sockets_startup
    - simple
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrerror.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xstrerror.c:35,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrerror.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrerror.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xstrerror.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/test-xstrerror.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstrerror.c
    functionUses: 7
    functionsReached:
    - free
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wchar-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/tests/test-free.c:50,1
    - Dst: ASSERT_NO_STDIO
      Src: /src/gnulib/tests/test-free.c:51,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-free.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/test-free.c:62,1
    - Dst: ASSERT_NO_STDIO
      Src: /src/gnulib/tests/test-free.c:63,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-free.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-free.c:76,1
    - Dst: ASSERT_NO_STDIO
      Src: /src/gnulib/tests/test-free.c:77,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-free.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/test-free.c:90,1
    - Dst: ASSERT_NO_STDIO
      Src: /src/gnulib/tests/test-free.c:91,1
    - Dst: __has_feature
      Src: /src/gnulib/tests/test-free.c:101,1
    - Dst: open
      Src: /src/gnulib/tests/test-free.c:116,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-free.c:142,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-free.c:143,1
    - Dst: mmap
      Src: /src/gnulib/tests/test-free.c:144,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-free.c:149,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-free.c:150,1
    - Dst: mmap
      Src: /src/gnulib/tests/test-free.c:157,1
    - Dst: free
      Src: /src/gnulib/tests/test-free.c:168,1
    - Dst: ASSERT_NO_STDIO
      Src: /src/gnulib/tests/test-free.c:169,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-free.c
    functionUses: 7
    functionsReached:
    - mmap
    - free
    - open
    - ASSERT_NO_STDIO
    - __has_feature
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexp.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexp.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelMakeKey
      Src: /src/gnulib/tests/test-rijndael.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:42,1
    - Dst: rijndaelCipherInit
      Src: /src/gnulib/tests/test-rijndael.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:46,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rijndael.c:48,1
    - Dst: rijndaelBlockEncrypt
      Src: /src/gnulib/tests/test-rijndael.c:52,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:54,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-rijndael.c:56,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-rijndael.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:64,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:67,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:68,1
    - Dst: rijndaelMakeKey
      Src: /src/gnulib/tests/test-rijndael.c:72,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:75,1
    - Dst: rijndaelCipherInit
      Src: /src/gnulib/tests/test-rijndael.c:77,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:79,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-rijndael.c:83,1
    - Dst: rijndaelBlockDecrypt
      Src: /src/gnulib/tests/test-rijndael.c:85,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:87,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-rijndael.c:90,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:93,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:95,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:96,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:98,1
    - Dst: printf
      Src: /src/gnulib/tests/test-rijndael.c:99,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 104
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rijndael.c
    functionUses: 7
    functionsReached:
    - rijndaelBlockDecrypt
    - memcmp
    - rijndaelMakeKey
    - rijndaelCipherInit
    - memset
    - memcpy
    - printf
    - rijndaelBlockEncrypt
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-ttyname_r.c:38,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ttyname_r.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ttyname_r.c:45,1
    - Dst: ttyname_r
      Src: /src/gnulib/tests/test-ttyname_r.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ttyname_r.c:47,1
    - Dst: ttyname_r
      Src: /src/gnulib/tests/test-ttyname_r.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ttyname_r.c:48,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ttyname_r.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ttyname_r.c:53,1
    - Dst: close
      Src: /src/gnulib/tests/test-ttyname_r.c:59,1
    - Dst: ttyname_r
      Src: /src/gnulib/tests/test-ttyname_r.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ttyname_r.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ttyname_r.c
    functionUses: 7
    functionsReached:
    - open
    - close
    - memcmp
    - fprintf
    - ASSERT
    - ttyname_r
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - times
    argTypes:
    - int
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: do_futimens
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 0
    functionsReached:
    - fdutimensat
    linkageType: ''
    returnType: int
    signature: int do_futimens (int fd, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/gnulib/tests/test-fdutimensat.c:54,1
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:56,1
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:59,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdutimensat.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: do_fdutimens
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 0
    functionsReached:
    - openat
    - fdutimensat
    - ASSERT
    - close
    linkageType: ''
    returnType: int
    signature: int do_fdutimens (char const *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: do_lutimens
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 0
    functionsReached:
    - lutimensat
    linkageType: ''
    returnType: int
    signature: int do_lutimens (const char *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: do_lutimens1
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 0
    functionsReached:
    - fdutimensat
    linkageType: ''
    returnType: int
    signature: int do_lutimens1 (const char *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: do_utimens
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 0
    functionsReached:
    - fdutimensat
    linkageType: ''
    returnType: int
    signature: int do_utimens (const char *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-fdutimensat.c:100,1
    - Dst: system
      Src: /src/gnulib/tests/test-fdutimensat.c:100,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-fdutimensat.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:104,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-fdutimensat.c:104,1
    - Dst: test_futimens
      Src: /src/gnulib/tests/test-fdutimensat.c:105,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-fdutimensat.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:109,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-fdutimensat.c:109,1
    - Dst: open
      Src: /src/gnulib/tests/test-fdutimensat.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:112,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-fdutimensat.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:113,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-fdutimensat.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:114,1
    - Dst: test_futimens
      Src: /src/gnulib/tests/test-fdutimensat.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:115,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-fdutimensat.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:116,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-fdutimensat.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:119,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-fdutimensat.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:120,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-fdutimensat.c:120,1
    - Dst: open
      Src: /src/gnulib/tests/test-fdutimensat.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:124,1
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:133,1
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:134,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fdutimensat.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:138,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-fdutimensat.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:141,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-fdutimensat.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:143,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdutimensat.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:144,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdutimensat.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:146,1
    - Dst: fdutimensat
      Src: /src/gnulib/tests/test-fdutimensat.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:150,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-fdutimensat.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:151,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fdutimensat.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdutimensat.c:152,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-fdutimensat.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fdutimensat.c
    functionUses: 7
    functionsReached:
    - test_futimens
    - get_stat_atime_ns
    - rmdir
    - chdir
    - test_lutimens
    - open
    - close
    - unlink
    - system
    - mkdir
    - stat
    - fdutimensat
    - get_stat_mtime_ns
    - test_utimens
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_sys_wait_macros
      Src: /src/gnulib/tests/test-sys_wait-h.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_wait-h.c
    functionUses: 7
    functionsReached:
    - test_sys_wait_macros
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-dirname.c:146,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:148,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dirname.c:151,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-dirname.c:156,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dirname.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-dirname.c:162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:163,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:164,1
    - Dst: ISSLASH
      Src: /src/gnulib/tests/test-dirname.c:165,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dirname.c:168,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-dirname.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-dirname.c:173,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dirname.c:176,1
    - Dst: printf
      Src: /src/gnulib/tests/test-dirname.c:183,1
    - Dst: free
      Src: /src/gnulib/tests/test-dirname.c:187,1
    - Dst: free
      Src: /src/gnulib/tests/test-dirname.c:188,1
    - Dst: free
      Src: /src/gnulib/tests/test-dirname.c:189,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dirname.c
    functionUses: 7
    functionsReached:
    - ISSLASH
    - strlen
    - free
    - strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: di_set_alloc
      Src: /src/gnulib/tests/test-di-set.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:29,1
    - Dst: di_set_free
      Src: /src/gnulib/tests/test-di-set.c:30,1
    - Dst: di_set_alloc
      Src: /src/gnulib/tests/test-di-set.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:34,1
    - Dst: di_set_lookup
      Src: /src/gnulib/tests/test-di-set.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:35,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:36,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:37,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:38,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:39,1
    - Dst: di_set_lookup
      Src: /src/gnulib/tests/test-di-set.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:42,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:43,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:48,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-di-set.c:50,1
    - Dst: di_set_insert
      Src: /src/gnulib/tests/test-di-set.c:50,1
    - Dst: di_set_free
      Src: /src/gnulib/tests/test-di-set.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-di-set.c
    functionUses: 7
    functionsReached:
    - di_set_alloc
    - di_set_lookup
    - di_set_free
    - di_set_insert
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:77,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:80,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:83,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:84,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:85,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:89,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:90,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:91,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:94,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:95,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:96,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:100,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:101,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:103,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:106,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:107,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:108,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:112,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:113,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:118,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:120,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:121,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:123,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:124,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:128,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:129,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:130,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:134,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:135,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:137,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:140,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:142,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:143,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:145,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:146,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:150,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:151,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:152,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:156,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/tests/test-arctwo.c:157,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:159,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:162,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:164,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:165,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:167,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arctwo.c:168,1
    - Dst: arctwo_setkey_ekb
      Src: /src/gnulib/tests/test-arctwo.c:172,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/tests/test-arctwo.c:173,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arctwo.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 178
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-arctwo.c
    functionUses: 7
    functionsReached:
    - memcmp
    - arctwo_setkey_ekb
    - arctwo_encrypt
    - printf
    - arctwo_decrypt
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:50,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:69,1
    - Dst: obstack_init
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:78,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:87,1
    - Dst: memset
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:90,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:93,1
    - Dst: memset
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:108,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:117,1
    - Dst: free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:119,1
    - Dst: free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:121,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:131,1
    - Dst: memset
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:146,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:153,1
    - Dst: free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:155,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:167,1
    - Dst: memset
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:182,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:189,1
    - Dst: free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:191,1
    - Dst: obstack_free
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:196,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-obstack-zprintf-big.c:205,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-obstack-zprintf-big.c
    functionUses: 7
    functionsReached:
    - obstack_free
    - obstack_init
    - setrlimit
    - fputs
    - free
    - memset
    - printf
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: assert
    functionSourceFile: /src/gnulib/tests/test-assert.c
    functionUses: 3313
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      assert (char const *p, int i)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/tests/test-assert.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: f
    functionSourceFile: /src/gnulib/tests/test-assert.c
    functionUses: 2202
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      f (char const *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/tests/test-assert.c:48,1
    - Dst: f
      Src: /src/gnulib/tests/test-assert.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: g
    functionSourceFile: /src/gnulib/tests/test-assert.c
    functionUses: 1048
    functionsReached:
    - assert
    - f
    linkageType: ''
    returnType: int
    signature: int g (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/tests/test-assert.c:60,1
    - Dst: f
      Src: /src/gnulib/tests/test-assert.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: h
    functionSourceFile: /src/gnulib/tests/test-assert.c
    functionUses: 665
    functionsReached:
    - assert
    - f
    linkageType: ''
    returnType: int
    signature: int h (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/gnulib/tests/test-assert.c:68,1
    - Dst: g
      Src: /src/gnulib/tests/test-assert.c:69,1
    - Dst: h
      Src: /src/gnulib/tests/test-assert.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-assert.c
    functionUses: 7
    functionsReached:
    - h
    - g
    - f
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - variable
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: defaulted_getenv
    functionSourceFile: /src/gnulib/tests/locale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      defaulted_getenv (const char *variable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: defaulted_getenv
      Src: /src/gnulib/tests/locale.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/locale.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/locale.c:48,1
    - Dst: setlocale
      Src: /src/gnulib/tests/locale.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - variable
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: print_category
    functionSourceFile: /src/gnulib/tests/locale.c
    functionUses: 0
    functionsReached:
    - defaulted_getenv
    - printf
    - setlocale
    linkageType: ''
    returnType: void
    signature: void print_category (int category, const char *variable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/locale.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/locale.c:56,1
    - Dst: defaulted_getenv
      Src: /src/gnulib/tests/locale.c:56,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:57,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:58,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:59,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:60,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:61,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:62,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:64,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:67,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:70,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:73,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:76,1
    - Dst: print_category
      Src: /src/gnulib/tests/locale.c:79,1
    - Dst: printf
      Src: /src/gnulib/tests/locale.c:82,1
    - Dst: defaulted_getenv
      Src: /src/gnulib/tests/locale.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/locale.c
    functionUses: 7
    functionsReached:
    - defaulted_getenv
    - printf
    - print_category
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:33,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:34,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:36,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-stat.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:38,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:40,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-stat.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:42,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:43,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:45,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-stat.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:55,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:58,1
    - Dst: close
      Src: /src/gnulib/tests/test-stat.h:58,1
    - Dst: creat
      Src: /src/gnulib/tests/test-stat.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:59,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:61,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:66,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:68,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:70,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-stat.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:71,1
    - Dst: S_ISCHR
      Src: /src/gnulib/tests/test-stat.h:71,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-stat.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:82,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:82,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-stat.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:88,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-stat.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:89,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-stat.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:90,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-stat.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:92,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:93,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-stat.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:96,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:100,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:104,1
    - Dst: func
      Src: /src/gnulib/tests/test-stat.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:108,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:109,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:110,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:111,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stat.h:112,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-stat.h:112,1
    - Dst: free
      Src: /src/gnulib/tests/test-stat.h:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 116
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 116
    functionName: test_stat_func
    functionSourceFile: /src/gnulib/tests/test-stat.h
    functionUses: 0
    functionsReached:
    - symlink
    - S_ISCHR
    - fputs
    - free
    - close
    - unlink
    - creat
    - S_ISREG
    - S_ISDIR
    - func
    - ASSERT
    - psame_inode
    linkageType: ''
    returnType: int
    signature: int test_stat_func (int (*func) (char const *, struct stat *), bool
      print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/gnulib/tests/test-fts.c:37,1
    - Dst: exit
      Src: /src/gnulib/tests/test-fts.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - status
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: perror_exit
    functionSourceFile: /src/gnulib/tests/test-fts.c
    functionUses: 0
    functionsReached:
    - exit
    - perror
    linkageType: ''
    returnType: void
    signature: void perror_exit (char const *message, int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fts_open
      Src: /src/gnulib/tests/test-fts.c:47,1
    - Dst: fts_close
      Src: /src/gnulib/tests/test-fts.c:50,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:51,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: fts_dealloc
    functionSourceFile: /src/gnulib/tests/test-fts.c
    functionUses: 0
    functionsReached:
    - fts_close
    - fts_open
    - perror_exit
    linkageType: ''
    returnType: void
    signature: void fts_dealloc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fts_open
      Src: /src/gnulib/tests/test-fts.c:62,1
    - Dst: fts_read
      Src: /src/gnulib/tests/test-fts.c:65,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-fts.c:71,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-fts.c:76,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:80,1
    - Dst: fts_close
      Src: /src/gnulib/tests/test-fts.c:82,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:83,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: remove_tree
    functionSourceFile: /src/gnulib/tests/test-fts.c
    functionUses: 0
    functionsReached:
    - fts_read
    - fts_open
    - perror_exit
    - unlinkat
    - fts_close
    linkageType: ''
    returnType: void
    signature: void remove_tree (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove_tree
      Src: /src/gnulib/tests/test-fts.c:100,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-fts.c:108,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:109,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-fts.c:110,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:111,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-fts.c:114,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-fts.c:115,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:120,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fts.c:123,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-fts.c:131,1
    - Dst: open
      Src: /src/gnulib/tests/test-fts.c:132,1
    - Dst: close
      Src: /src/gnulib/tests/test-fts.c:133,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:134,1
    - Dst: fts_open
      Src: /src/gnulib/tests/test-fts.c:138,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:141,1
    - Dst: fts_read
      Src: /src/gnulib/tests/test-fts.c:142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fts.c:143,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fts.c:145,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:149,1
    - Dst: fts_close
      Src: /src/gnulib/tests/test-fts.c:151,1
    - Dst: perror_exit
      Src: /src/gnulib/tests/test-fts.c:152,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fts.c:157,1
    - Dst: remove_tree
      Src: /src/gnulib/tests/test-fts.c:162,1
    - Dst: stat
      Src: /src/gnulib/tests/test-fts.c:163,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fts.c:165,1
    - Dst: fts_dealloc
      Src: /src/gnulib/tests/test-fts.c:169,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fts.c
    functionUses: 7
    functionsReached:
    - fts_read
    - fts_open
    - perror_exit
    - open
    - close
    - fflush
    - stat
    - fts_close
    - fts_dealloc
    - strcmp
    - sprintf
    - fprintf
    - mkdir
    - remove_tree
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strtold
      Src: /src/gnulib/tests/test-c-strtold-mt.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtold-mt.c:52,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtold-mt.c:52,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtold-mt.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-c-strtold-mt.c
    functionUses: 0
    functionsReached:
    - c_strtold
    - fflush
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtold
      Src: /src/gnulib/tests/test-c-strtold-mt.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtold-mt.c:73,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtold-mt.c:73,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtold-mt.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-c-strtold-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strtold
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-c-strtold-mt.c:87,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-c-strtold-mt.c:90,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-c-strtold-mt.c:90,1
    - Dst: abort
      Src: /src/gnulib/tests/test-c-strtold-mt.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: thread3_func
    functionSourceFile: /src/gnulib/tests/test-c-strtold-mt.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fflush
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      thread3_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtold-mt.c:104,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtold-mt.c:108,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtold-mt.c:109,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-c-strtold-mt.c:110,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-c-strtold-mt.c:115,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-c-strtold-mt.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtold-mt.c
    functionUses: 7
    functionsReached:
    - nanosleep
    - gl_thread_create
    - atoi
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-c-strtold-mt.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtold-mt.c
    functionUses: 7
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_file-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thrd_current
      Src: /src/gnulib/tests/test-thrd_current.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thrd_current.c
    functionUses: 7
    functionsReached:
    - thrd_current
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:74,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:83,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: floor_reference
    functionSourceFile: /src/gnulib/tests/test-floor2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE floor_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/tests/test-floor2.c:110,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-floor2.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-floor2.c
    functionUses: 123
    functionsReached:
    - isnand
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-floor2.c:118,1
    - Dst: equal
      Src: /src/gnulib/tests/test-floor2.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-floor2.c
    functionUses: 3
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor2.c:129,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-floor2.c:129,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-floor2.c:133,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-floor2.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-floor2.c
    functionUses: 112
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-floor2.c:166,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-floor2.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floor2.c
    functionUses: 7
    functionsReached:
    - fprintf
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32iscntrl.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32iscntrl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:42,1
    - Dst: c32iscntrl
      Src: /src/gnulib/tests/test-c32iscntrl.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32iscntrl.c
    functionUses: 8
    functionsReached:
    - c32iscntrl
    - mbrtoc32
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32iscntrl.c:54,1
    - Dst: c32iscntrl
      Src: /src/gnulib/tests/test-c32iscntrl.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:101,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:120,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:123,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:132,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:135,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:147,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:151,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:155,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:159,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:163,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:167,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32iscntrl.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:186,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:194,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:198,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:202,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32iscntrl.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32iscntrl.c:206,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 175
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 214
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32iscntrl.c
    functionUses: 7
    functionsReached:
    - c32iscntrl
    - setlocale
    - fputs
    - for_character
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-readlink.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:34,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:37,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:40,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:44,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:47,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:49,1
    - Dst: close
      Src: /src/gnulib/tests/test-readlink.h:49,1
    - Dst: creat
      Src: /src/gnulib/tests/test-readlink.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:54,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:55,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-readlink.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:60,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlink.h:60,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-readlink.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:66,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-readlink.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:68,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:70,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-readlink.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:72,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:74,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlink.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:75,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-readlink.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:77,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:79,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlink.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:80,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlink.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:86,1
    - Dst: readlink
      Src: /src/gnulib/tests/test-readlink.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:107,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:108,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-readlink.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:110,1
    - Dst: func
      Src: /src/gnulib/tests/test-readlink.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:111,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-readlink.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:122,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-readlink.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readlink.h:123,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-readlink.h:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 126
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 126
    functionName: test_readlink
    functionSourceFile: /src/gnulib/tests/test-readlink.h
    functionUses: 1
    functionsReached:
    - symlink
    - rmdir
    - fputs
    - strncmp
    - close
    - unlink
    - mkdir
    - creat
    - readlink
    - memset
    - func
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_readlink (ssize_t (*func) (char const *, char *, size_t),
      bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-thread_self.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thread_self.c
    functionUses: 7
    functionsReached:
    - gl_thread_self
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:43,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:49,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:55,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:61,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:67,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:73,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:78,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:83,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:90,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignf.c:90,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:96,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignf.c:96,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:102,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignf.c:102,1
    - Dst: copysignf
      Src: /src/gnulib/tests/test-copysignf.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copysignf.c:108,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-copysignf.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-copysignf.c
    functionUses: 7
    functionsReached:
    - copysignf
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:39,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:41,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:43,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:45,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:45,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:47,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:49,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:51,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:53,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:53,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:55,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:57,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:57,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:59,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:61,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:61,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:63,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:65,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:65,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:67,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:69,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:69,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:71,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:73,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:73,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:75,1
    - Dst: base64_encode
      Src: /src/gnulib/tests/test-base64.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:77,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:77,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:81,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:85,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:87,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:92,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:92,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:94,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:99,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:99,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:101,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:106,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:108,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:113,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:113,1
    - Dst: memset
      Src: /src/gnulib/tests/test-base64.c:115,1
    - Dst: base64_decode
      Src: /src/gnulib/tests/test-base64.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:120,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:120,1
    - Dst: base64_encode_alloc
      Src: /src/gnulib/tests/test-base64.c:124,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:126,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-base64.c:126,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:127,1
    - Dst: base64_encode_alloc
      Src: /src/gnulib/tests/test-base64.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:130,1
    - Dst: base64_decode_ctx_init
      Src: /src/gnulib/tests/test-base64.c:136,1
    - Dst: base64_decode_ctx
      Src: /src/gnulib/tests/test-base64.c:139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:142,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:142,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:150,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:151,1
    - Dst: base64_decode_ctx_init
      Src: /src/gnulib/tests/test-base64.c:157,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:162,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:162,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:163,1
    - Dst: base64_decode_ctx_init
      Src: /src/gnulib/tests/test-base64.c:168,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:173,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:174,1
    - Dst: base64_decode_ctx_init
      Src: /src/gnulib/tests/test-base64.c:176,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:180,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:181,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:186,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:186,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:187,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:192,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-base64.c:192,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:193,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:197,1
    - Dst: base64_decode_ctx_init
      Src: /src/gnulib/tests/test-base64.c:204,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-base64.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:208,1
    - Dst: free
      Src: /src/gnulib/tests/test-base64.c:209,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:213,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:216,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:219,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:222,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:225,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:228,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:231,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:234,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:237,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:240,1
    - Dst: base64_decode_alloc_ctx
      Src: /src/gnulib/tests/test-base64.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-base64.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-base64.c
    functionUses: 7
    functionsReached:
    - base64_decode_alloc_ctx
    - strlen
    - base64_decode_ctx
    - free
    - base64_encode
    - memcmp
    - base64_encode_alloc
    - base64_decode_ctx_init
    - strcmp
    - memset
    - base64_decode
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: fd_safer
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c
    functionUses: 2
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:69,1
    - Dst: fd_safer
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:69,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:71,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:72,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:74,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:75,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:76,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:77,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:79,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:82,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:84,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:87,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:89,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:90,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:91,1
    - Dst: posix_spawnattr_init
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:92,1
    - Dst: posix_spawnattr_setsigmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:97,1
    - Dst: posix_spawnattr_setflags
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:98,1
    - Dst: posix_spawnp
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:101,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:104,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:106,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:107,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:109,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:110,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:112,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:113,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:114,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:115,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:117,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:120,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:121,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:123,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:126,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:127,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:129,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:131,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:133,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:135,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:136,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:138,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:141,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c:142,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-dup2-stdin.c
    functionUses: 7
    functionsReached:
    - WIFEXITED
    - waitpid
    - sigprocmask
    - sigaddset
    - perror
    - fclose
    - fd_safer
    - close
    - posix_spawn_file_actions_init
    - pipe
    - posix_spawnattr_setsigmask
    - WEXITSTATUS
    - exit
    - posix_spawnattr_destroy
    - posix_spawnp
    - posix_spawn_file_actions_destroy
    - sigemptyset
    - posix_spawn_file_actions_adddup2
    - posix_spawn_file_actions_addclose
    - posix_spawnattr_init
    - fwrite
    - fdopen
    - fprintf
    - posix_spawnattr_setflags
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:41,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:42,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:44,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:45,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:47,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:48,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncl-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:53,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-truncl-ieee.c:53,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:53,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-truncl-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:55,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncl-ieee.c:56,1
    - Dst: truncl
      Src: /src/gnulib/tests/test-truncl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-truncl-ieee.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncl-ieee.c
    functionUses: 7
    functionsReached:
    - truncl
    - Infinityl
    - signbit
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/tests/test-strncmp.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_strncmp
    functionSourceFile: /src/gnulib/tests/test-strncmp.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int lib_strncmp (char const *s1, char const *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncmp.c:42,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-strncmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncmp.c:43,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-strncmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncmp.c:44,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-strncmp.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strncmp.c
    functionUses: 7
    functionsReached:
    - ASSERT
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: action
    functionSourceFile: /src/gnulib/tests/test-oset-update.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void action (const void *str, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/tests/test-oset-update.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:37,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-oset-update.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:38,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-oset-update.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:39,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-oset-update.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:40,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/tests/test-oset-update.h:40,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-oset-update.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:47,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:49,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:51,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:53,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:55,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:61,1
    - Dst: gl_oset_update
      Src: /src/gnulib/tests/test-oset-update.h:61,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-oset-update.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:68,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:70,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:72,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:74,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:76,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:83,1
    - Dst: gl_oset_update
      Src: /src/gnulib/tests/test-oset-update.h:83,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-oset-update.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:90,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:92,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:94,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:96,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:98,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:105,1
    - Dst: gl_oset_update
      Src: /src/gnulib/tests/test-oset-update.h:105,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-oset-update.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:112,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:114,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:116,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:118,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:124,1
    - Dst: gl_oset_update
      Src: /src/gnulib/tests/test-oset-update.h:124,1
    - Dst: gl_oset_iterator
      Src: /src/gnulib/tests/test-oset-update.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:131,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:133,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:135,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-update.h:137,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/tests/test-oset-update.h:137,1
    - Dst: gl_oset_free
      Src: /src/gnulib/tests/test-oset-update.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 1
    argNames:
    - implementation
    argTypes:
    - gl_oset_implementation_t
    constantsTouched: []
    func_position:
      end: 141
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 141
    functionName: test_update
    functionSourceFile: /src/gnulib/tests/test-oset-update.h
    functionUses: 3
    functionsReached:
    - gl_oset_nx_create_empty
    - gl_oset_iterator_next
    - gl_oset_free
    - gl_oset_update
    - gl_oset_nx_add
    - gl_oset_iterator
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_update (gl_oset_implementation_t implementation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-atexit.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: clear_temp_file
    functionSourceFile: /src/gnulib/tests/test-atexit.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: void
    signature: void clear_temp_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnulib/tests/test-atexit.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/test-atexit.c:42,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-atexit.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atexit.c
    functionUses: 7
    functionsReached:
    - exit
    - atoi
    - atexit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-strtof.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtof.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:21,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - DOUBLE
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-logb.h
    functionUses: 4
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE my_ldexp (DOUBLE x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:35,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:39,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:43,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:47,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:51,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:55,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:60,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:61,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:65,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:68,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:70,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:70,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:75,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:75,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:81,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:81,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:86,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:91,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:97,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:100,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:102,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:102,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:105,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:107,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:107,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:110,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:113,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:113,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:116,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:118,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:121,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:123,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:123,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-logb.h:130,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:132,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:132,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:133,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:135,1
    - Dst: LOGB
      Src: /src/gnulib/tests/test-logb.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:138,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-logb.h:138,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logb.h:139,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-logb.h:139,1
    - Dst: L_
      Src: /src/gnulib/tests/test-logb.h:139,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 142
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-logb.h
    functionUses: 109
    functionsReached:
    - my_ldexp
    - LOGB
    - L_
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strtold1.c:33,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:44,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:54,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:64,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:76,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:88,1
    - Dst: strtold
      Src: /src/gnulib/tests/test-strtold1.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtold1.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 102
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtold1.c
    functionUses: 7
    functionsReached:
    - strtold
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmaf2.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmaf2.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log1pl
      Src: /src/gnulib/tests/test-log1pl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1pl.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1pl.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1pl.c
    functionUses: 7
    functionsReached:
    - log1pl
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-sha1.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:34,1
    - Dst: gc_sha1
      Src: /src/gnulib/tests/test-gc-sha1.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:48,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha1.c:52,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:61,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-sha1.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:68,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha1.c:72,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:77,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:81,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-sha1.c:85,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:87,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-sha1.c:91,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:93,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-sha1.c:97,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-sha1.c:99,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:103,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha1.c:107,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:112,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha1.c:116,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-sha1.c:120,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-sha1.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 126
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-sha1.c
    functionUses: 7
    functionsReached:
    - gc_hash_open
    - gc_sha1
    - gc_init
    - gc_hash_digest_length
    - memcmp
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-math-h-c++.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:42,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:52,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:62,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:72,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:84,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:94,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:104,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:114,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:124,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:134,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:144,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:156,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:166,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:177,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:189,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:199,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:209,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:219,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:229,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:239,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:251,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:261,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:271,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:281,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:291,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-strtol.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtol.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 159
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtol.c
    functionUses: 7
    functionsReached:
    - strtol
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-filenamecat.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-filenamecat.c:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-filenamecat.c:66,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-filenamecat.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-filenamecat.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-filenamecat.c:77,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-filenamecat.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/test-filenamecat.c:83,1
    - Dst: exit
      Src: /src/gnulib/tests/test-filenamecat.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-filenamecat.c
    functionUses: 7
    functionsReached:
    - exit
    - free
    - memcmp
    - strcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2-ieee.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isdigit.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isdigit.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:42,1
    - Dst: c32isdigit
      Src: /src/gnulib/tests/test-c32isdigit.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isdigit.c
    functionUses: 9
    functionsReached:
    - mbrtoc32
    - c32isdigit
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isdigit.c:54,1
    - Dst: c32isdigit
      Src: /src/gnulib/tests/test-c32isdigit.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:101,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:120,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:123,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:126,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:135,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:147,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:150,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:153,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:159,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:162,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:168,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:171,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:174,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:180,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isdigit.c:189,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:195,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:198,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:201,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:204,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:207,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:210,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:213,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:219,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:222,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:225,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:228,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isdigit.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isdigit.c:231,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 206
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 238
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isdigit.c
    functionUses: 7
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isdigit
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:43,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:44,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:46,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:47,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:48,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:49,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:50,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:51,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:52,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:53,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:54,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:56,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:57,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:58,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:59,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:60,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:61,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:62,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:63,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:64,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:65,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:67,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl.c:67,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:68,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:68,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl.c:68,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-floorl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floorl.c:70,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-floorl.c:70,1
    - Dst: floorl
      Src: /src/gnulib/tests/test-floorl.c:70,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-floorl.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floorl.c
    functionUses: 7
    functionsReached:
    - floorl
    - Infinityl
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:66,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:67,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:68,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:69,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:70,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-quotearg.c:71,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-quotearg.c:78,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-quotearg.c:79,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-quotearg.c:80,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-quotearg.c:82,1
    - Dst: bindtextdomain
      Src: /src/gnulib/tests/test-quotearg.c:85,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-quotearg.c:85,1
    - Dst: set_quoting_style
      Src: /src/gnulib/tests/test-quotearg.c:87,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:88,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:89,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:90,1
    - Dst: set_quoting_style
      Src: /src/gnulib/tests/test-quotearg.c:92,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:93,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:94,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg.c:95,1
    - Dst: quotearg_free
      Src: /src/gnulib/tests/test-quotearg.c:97,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-quotearg.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-quotearg.c
    functionUses: 8
    functionsReached:
    - set_quoting_style
    - setlocale
    - fputs
    - unsetenv
    - setenv
    - strcmp
    - quotearg_free
    - compare_strings
    - bindtextdomain
    - getenv
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: lib_memchr
    functionSourceFile: /src/gnulib/tests/test-memchr.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memchr (void const *s, int c, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:46,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memchr.c:50,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memchr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:56,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:58,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:63,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:66,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:67,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:68,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:70,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:71,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:72,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:74,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:75,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:83,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:96,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:96,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memchr.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:119,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:120,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:130,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:133,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/test-memchr.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memchr.c:145,1
    - Dst: memchr
      Src: /src/gnulib/tests/test-memchr.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memchr.c
    functionUses: 8
    functionsReached:
    - memchr
    - free
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-btoc32.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:41,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-btoc32.c:48,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:79,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:81,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:87,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btoc32.c:89,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-btoc32.c:89,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 94
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-btoc32.c
    functionUses: 8
    functionsReached:
    - btoc32
    - strcmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:36,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:37,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:39,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:40,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:42,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:43,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundf-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:48,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-roundf-ieee.c:48,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:48,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-roundf-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:50,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:50,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf-ieee.c:50,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundf-ieee.c:51,1
    - Dst: roundf
      Src: /src/gnulib/tests/test-roundf-ieee.c:51,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf-ieee.c:51,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-roundf-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-roundf-ieee.c
    functionUses: 8
    functionsReached:
    - Infinityf
    - NaNf
    - signbit
    - isnanf
    - roundf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-iswdigit.c:39,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-iswdigit.c:41,1
    - Dst: iswdigit
      Src: /src/gnulib/tests/test-iswdigit.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-iswdigit.c
    functionUses: 10
    functionsReached:
    - iswdigit
    - mbrtowc
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-iswdigit.c:55,1
    - Dst: iswdigit
      Src: /src/gnulib/tests/test-iswdigit.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:60,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:102,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:121,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:124,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:127,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:136,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:145,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:148,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:151,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:154,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:157,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:160,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:163,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:166,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:169,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:172,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:175,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:178,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:181,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:193,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:196,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:199,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:202,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:205,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:208,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:211,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:214,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:217,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:220,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:223,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-iswdigit.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswdigit.c:226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 202
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 233
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iswdigit.c
    functionUses: 8
    functionsReached:
    - iswdigit
    - for_character
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:37,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:38,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:40,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:41,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:42,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:43,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:44,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:45,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:46,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:47,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:48,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:49,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:50,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:51,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:53,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:54,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:55,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:56,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:57,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:58,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:59,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:60,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:61,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:62,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:63,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:64,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:66,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:66,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round1.c:66,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:67,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:67,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round1.c:67,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-round1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-round1.c:69,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-round1.c:69,1
    - Dst: round
      Src: /src/gnulib/tests/test-round1.c:69,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-round1.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-round1.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - isnand
    - NaNd
    - round
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/tests/test-xalloc-die.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xalloc-die.c
    functionUses: 8
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - long int
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-ffsl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (long int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:48,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:48,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffsl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:51,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:51,1
    - Dst: naive
      Src: /src/gnulib/tests/test-ffsl.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:52,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:53,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:57,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:58,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:62,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:63,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:64,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ffsl.c:65,1
    - Dst: ffsl
      Src: /src/gnulib/tests/test-ffsl.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ffsl.c
    functionUses: 8
    functionsReached:
    - ffsl
    - naive
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkedhash_set.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - objptr1
    - objptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: cmp_objects_in_array
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_objects_in_array (const void *objptr1, const void *objptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_iterator
      Src: /src/gnulib/tests/test-linkedhash_set.c:59,1
    - Dst: gl_set_iterator
      Src: /src/gnulib/tests/test-linkedhash_set.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:63,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_set.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:64,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_set.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:68,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_set.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:69,1
    - Dst: gl_set_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_set.c:69,1
    - Dst: gl_set_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_set.c:70,1
    - Dst: gl_set_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_set.c:71,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-linkedhash_set.c:75,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-linkedhash_set.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkedhash_set.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkedhash_set.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 8
    functionsReached:
    - gl_set_iterator_next
    - gl_set_iterator_free
    - free
    - qsort
    - gl_set_iterator
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_set_t set1, gl_set_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linkedhash_set.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - gl_set_t
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 8
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_set_t set1, gl_set_t set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkedhash_set.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *elt1, const void *elt2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: string_hashcode
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hashcode (const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-linkedhash_set.c:113,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-linkedhash_set.c:113,1
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/tests/test-linkedhash_set.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:122,1
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/tests/test-linkedhash_set.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:126,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_set.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:134,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-linkedhash_set.c:134,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-linkedhash_set.c:134,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_set.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:146,1
    - Dst: gl_set_search
      Src: /src/gnulib/tests/test-linkedhash_set.c:146,1
    - Dst: gl_set_search
      Src: /src/gnulib/tests/test-linkedhash_set.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:152,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-linkedhash_set.c:152,1
    - Dst: gl_set_nx_add
      Src: /src/gnulib/tests/test-linkedhash_set.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_set.c:158,1
    - Dst: gl_set_remove
      Src: /src/gnulib/tests/test-linkedhash_set.c:158,1
    - Dst: gl_set_remove
      Src: /src/gnulib/tests/test-linkedhash_set.c:158,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_set.c:162,1
    - Dst: gl_set_free
      Src: /src/gnulib/tests/test-linkedhash_set.c:165,1
    - Dst: gl_set_free
      Src: /src/gnulib/tests/test-linkedhash_set.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 170
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-linkedhash_set.c
    functionUses: 8
    functionsReached:
    - gl_set_search
    - gl_set_nx_add
    - atoi
    - gl_set_remove
    - check_all
    - srand
    - gl_set_free
    - gl_set_nx_create_empty
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:46,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:54,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:62,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:63,1
    - Dst: open
      Src: /src/gnulib/tests/test-isatty.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:75,1
    - Dst: write
      Src: /src/gnulib/tests/test-isatty.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:76,1
    - Dst: open
      Src: /src/gnulib/tests/test-isatty.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:80,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:81,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:88,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-isatty.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:89,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:90,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:92,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:92,1
    - Dst: open
      Src: /src/gnulib/tests/test-isatty.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:101,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-isatty.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:102,1
    - Dst: close
      Src: /src/gnulib/tests/test-isatty.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isatty.c:105,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-isatty.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isatty.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - open
    - close
    - unlink
    - pipe
    - isatty
    - write
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:38,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:41,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strerror_r.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:45,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:48,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strerror_r.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:52,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:55,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strerror_r.c:55,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:67,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strerror_r.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:68,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strerror_r.c:68,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strerror_r.c:80,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-strerror_r.c:94,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-strerror_r.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:103,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strerror_r.c:107,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:117,1
    - Dst: strncmp
      Src: /src/gnulib/tests/test-strerror_r.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:120,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-strerror_r.c:120,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-strerror_r.c:123,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerror_r.c:128,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_r.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:147,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-strerror_r.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:149,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_r.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:152,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-strerror_r.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:154,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_r.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:157,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-strerror_r.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:159,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror_r.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:162,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-strerror_r.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:164,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:166,1
    - Dst: strerror_r
      Src: /src/gnulib/tests/test-strerror_r.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror_r.c:168,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-strerror_r.c:168,1
    - Dst: free
      Src: /src/gnulib/tests/test-strerror_r.c:170,1
    - Dst: free
      Src: /src/gnulib/tests/test-strerror_r.c:171,1
    - Dst: free
      Src: /src/gnulib/tests/test-strerror_r.c:172,1
    - Dst: free
      Src: /src/gnulib/tests/test-strerror_r.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strerror_r.c
    functionUses: 8
    functionsReached:
    - strdup
    - strlen
    - strcpy
    - STREQ
    - free
    - strncmp
    - strspn
    - strstr
    - strcmp
    - memset
    - strerror
    - strerror_r
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/tests/test-tempname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:42,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-tempname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-tempname.c:50,1
    - Dst: close
      Src: /src/gnulib/tests/test-tempname.c:53,1
    - Dst: close
      Src: /src/gnulib/tests/test-tempname.c:54,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-tempname.c:55,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-tempname.c:56,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-tempname.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:64,1
    - Dst: close
      Src: /src/gnulib/tests/test-tempname.c:67,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-tempname.c:68,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-tempname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tempname.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-tempname.c:78,1
    - Dst: close
      Src: /src/gnulib/tests/test-tempname.c:81,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-tempname.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tempname.c
    functionUses: 8
    functionsReached:
    - strcpy
    - close
    - unlink
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log10f
      Src: /src/gnulib/tests/test-log10f.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10f.c:46,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10f.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10f.c
    functionUses: 8
    functionsReached:
    - test_function
    - log10f
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:76,1
    - Dst: abort
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:80,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:80,1
    - Dst: abort
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-one.c
    functionUses: 0
    functionsReached:
    - abort
    - setlocale_null_r
    - fflush
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:95,1
    - Dst: setlocale_null_r
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-one.c
    functionUses: 0
    functionsReached:
    - setlocale_null_r
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:105,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:107,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:110,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:112,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:115,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:117,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:121,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:121,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:124,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:125,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-one.c
    functionUses: 8
    functionsReached:
    - strdup
    - nanosleep
    - setlocale
    - gl_thread_create
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-setlocale_null-mt-one.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale_null-mt-one.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:42,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:43,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:48,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:52,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:56,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:61,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:67,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:71,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:75,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:79,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:80,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:85,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen.h:85,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:88,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen.h:91,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen.h:91,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: test_fopen
    functionSourceFile: /src/gnulib/tests/test-fopen.h
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - ASSERT
    - unlink
    linkageType: ''
    returnType: int
    signature: int test_fopen (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md5-buffer.c:40,1
    - Dst: md5_buffer
      Src: /src/gnulib/tests/test-md5-buffer.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md5-buffer.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md5-buffer.c:53,1
    - Dst: md5_buffer
      Src: /src/gnulib/tests/test-md5-buffer.c:53,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md5-buffer.c:53,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md5-buffer.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-md5-buffer.c
    functionUses: 8
    functionsReached:
    - printf
    - md5_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:29,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:29,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:32,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:32,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:35,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:35,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:38,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:38,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:41,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:41,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:44,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:44,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:47,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:47,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:50,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:50,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:53,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:53,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:56,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:56,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:59,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:59,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:62,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:62,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:65,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:65,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:68,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:68,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:71,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:71,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:74,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:74,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:77,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:77,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-dprintf-gnu.h:80,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-dprintf-gnu.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 81
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-dprintf-gnu.h
    functionUses: 113
    functionsReached:
    - fileno
    - my_dprintf
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_dprintf) (int, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:45,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:46,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:49,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:50,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:53,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:56,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:57,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:60,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:61,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:64,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:65,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:68,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:72,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:73,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-glob.c:75,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-glob.c:76,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-glob.c:77,1
    - Dst: close
      Src: /src/gnulib/tests/test-glob.c:78,1
    - Dst: creat
      Src: /src/gnulib/tests/test-glob.c:78,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:83,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:84,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:88,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:89,1
    - Dst: glob
      Src: /src/gnulib/tests/test-glob.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:93,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-glob.c:94,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-glob.c:94,1
    - Dst: globfree
      Src: /src/gnulib/tests/test-glob.c:95,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-glob.c
    functionUses: 8
    functionsReached:
    - symlink
    - glob
    - globfree
    - close
    - creat
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strtof1.c:33,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:44,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:54,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:64,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:76,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:88,1
    - Dst: strtof
      Src: /src/gnulib/tests/test-strtof1.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtof1.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 102
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtof1.c
    functionUses: 8
    functionsReached:
    - strtof
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:43,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:46,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:46,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-rbtree_list.c
    functionUses: 9
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-rbtree_list.c:53,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-rbtree_list.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:57,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:57,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:58,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:59,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-rbtree_list.c
    functionUses: 2
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-rbtree_list.c:68,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-rbtree_list.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:72,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:72,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:73,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:74,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-rbtree_list.c
    functionUses: 2
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_rbtree_list_check_invariants
      Src: /src/gnulib/tests/test-rbtree_list.c:83,1
    - Dst: gl_rbtree_list_check_invariants
      Src: /src/gnulib/tests/test-rbtree_list.c:84,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtree_list.c:85,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtree_list.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-rbtree_list.c
    functionUses: 9
    functionsReached:
    - check_equals
    - gl_rbtree_list_check_invariants
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-rbtree_list.c:96,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-rbtree_list.c:96,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-rbtree_list.c:106,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-rbtree_list.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:111,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-rbtree_list.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:116,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtree_list.c:116,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-rbtree_list.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:121,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_list.c:123,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-rbtree_list.c:125,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-rbtree_list.c:126,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:134,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtree_list.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:142,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:143,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:143,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtree_list.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:147,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:148,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:148,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtree_list.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:152,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:153,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:157,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:157,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:157,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:159,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:159,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:159,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:161,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:161,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:161,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:162,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:166,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:166,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:166,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:168,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:168,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:168,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:170,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:170,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:170,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:171,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:179,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:180,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:191,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:192,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:193,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:193,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtree_list.c:201,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtree_list.c:202,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtree_list.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:213,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:214,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:215,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:217,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:226,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:228,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:231,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:232,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:233,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:234,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:235,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:236,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:236,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtree_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:244,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtree_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:246,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtree_list.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:249,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:250,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:251,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:252,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:252,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:253,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:253,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:254,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:254,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:254,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:264,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtree_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:266,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtree_list.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:268,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:270,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtree_list.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:272,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtree_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:274,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtree_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:276,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtree_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:278,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtree_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:281,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:282,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:283,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:285,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:286,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:287,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:288,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:289,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:290,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:291,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:292,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:292,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtree_list.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:301,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtree_list.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:303,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtree_list.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:306,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:307,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:308,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:309,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:310,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:311,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:314,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:314,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:316,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:316,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:316,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:318,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:318,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtree_list.c:318,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:319,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:323,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:323,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:323,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:325,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:325,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:325,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:327,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtree_list.c:327,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtree_list.c:327,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:328,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:333,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:338,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:339,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtree_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:344,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtree_list.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:345,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtree_list.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:346,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtree_list.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:347,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:347,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:355,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtree_list.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:356,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtree_list.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:357,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtree_list.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:358,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:365,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-rbtree_list.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:366,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-rbtree_list.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:367,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:374,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-rbtree_list.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:375,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-rbtree_list.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:376,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:376,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:384,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:385,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:386,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:387,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:387,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:395,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:396,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:397,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtree_list.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:398,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtree_list.c:398,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtree_list.c:406,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtree_list.c:407,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtree_list.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:411,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:412,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:413,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:414,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:415,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:416,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:418,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:419,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:420,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:420,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:421,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:422,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:423,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtree_list.c:432,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtree_list.c:433,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtree_list.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:437,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:438,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:439,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:440,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:442,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtree_list.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:444,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:445,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_list.c:446,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtree_list.c:446,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:447,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:448,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtree_list.c:449,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_list.c:453,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtree_list.c:456,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtree_list.c:457,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtree_list.c:458,1
    - Dst: free
      Src: /src/gnulib/tests/test-rbtree_list.c:459,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 463
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 463
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rbtree_list.c
    functionUses: 8
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log10-ieee.h:23,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log10-ieee.h:24,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log10-ieee.h:25,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log10-ieee.h:26,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:29,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log10-ieee.h:29,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:29,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:35,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log10-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10-ieee.h:39,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log10-ieee.h
    functionUses: 113
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - LOG10
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isblank_l
      Src: /src/gnulib/tests/test-isblank_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:36,1
    - Dst: isblank_l
      Src: /src/gnulib/tests/test-isblank_l.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 107
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 88
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 88
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isblank_l.c
    functionUses: 10
    functionsReached:
    - isblank_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isblank_l.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:95,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isblank_l.c:97,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isblank_l.c:99,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isblank_l.c:104,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isblank_l.c:106,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isblank_l.c:108,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isblank_l.c:112,1
    - Dst: isblank_l
      Src: /src/gnulib/tests/test-isblank_l.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:120,1
    - Dst: isblank_l
      Src: /src/gnulib/tests/test-isblank_l.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank_l.c:124,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isblank_l.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isblank_l.c
    functionUses: 8
    functionsReached:
    - test_single_locale_common
    - newlocale
    - isblank_l
    - freelocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mknod
      Src: /src/gnulib/tests/test-mknod.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: do_mknod
    functionSourceFile: /src/gnulib/tests/test-mknod.c
    functionUses: 0
    functionsReached:
    - mknod
    linkageType: ''
    returnType: int
    signature: int do_mknod (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-mknod.c:50,1
    - Dst: system
      Src: /src/gnulib/tests/test-mknod.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mknod.c
    functionUses: 8
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:42,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:52,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:62,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:72,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:84,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:94,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:104,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:114,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:124,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:134,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:144,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:156,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:166,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:176,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:188,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:198,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:208,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:218,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:228,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:238,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:250,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:260,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:270,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:280,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:290,1
    - Dst: strtoull
      Src: /src/gnulib/tests/test-strtoull.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoull.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 304
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtoull.c
    functionUses: 8
    functionsReached:
    - strtoull
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp2l
      Src: /src/gnulib/tests/test-exp2l.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2l.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2l.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2l.c
    functionUses: 8
    functionsReached:
    - test_function
    - exp2l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sqrt.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:35,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sqrt.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sqrt.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:48,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:48,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:50,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt.h:52,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt.h:52,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt.h:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 57
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-sqrt.h
    functionUses: 114
    functionsReached:
    - ASSERT
    - L_
    - SIZEOF
    - SQRT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stack_init
      Src: /src/gnulib/tests/test-stack.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:42,1
    - Dst: stack_size
      Src: /src/gnulib/tests/test-stack.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:43,1
    - Dst: stack_empty
      Src: /src/gnulib/tests/test-stack.c:43,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:44,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:45,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:46,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:47,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:48,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:49,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:50,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:51,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:52,1
    - Dst: stack_push
      Src: /src/gnulib/tests/test-stack.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:54,1
    - Dst: stack_size
      Src: /src/gnulib/tests/test-stack.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:55,1
    - Dst: stack_empty
      Src: /src/gnulib/tests/test-stack.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:56,1
    - Dst: stack_top
      Src: /src/gnulib/tests/test-stack.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:57,1
    - Dst: stack_size
      Src: /src/gnulib/tests/test-stack.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:58,1
    - Dst: stack_pop
      Src: /src/gnulib/tests/test-stack.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:59,1
    - Dst: stack_size
      Src: /src/gnulib/tests/test-stack.c:59,1
    - Dst: stack_discard
      Src: /src/gnulib/tests/test-stack.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:61,1
    - Dst: stack_size
      Src: /src/gnulib/tests/test-stack.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:62,1
    - Dst: stack_top
      Src: /src/gnulib/tests/test-stack.c:62,1
    - Dst: stack_destroy
      Src: /src/gnulib/tests/test-stack.c:63,1
    - Dst: string_stack_init
      Src: /src/gnulib/tests/test-stack.c:66,1
    - Dst: string_stack_push
      Src: /src/gnulib/tests/test-stack.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:68,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-stack.c:68,1
    - Dst: string_stack_pop
      Src: /src/gnulib/tests/test-stack.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stack.c:69,1
    - Dst: string_stack_empty
      Src: /src/gnulib/tests/test-stack.c:69,1
    - Dst: string_stack_destroy
      Src: /src/gnulib/tests/test-stack.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stack.c
    functionUses: 8
    functionsReached:
    - stack_pop
    - string_stack_init
    - string_stack_empty
    - STREQ
    - stack_discard
    - string_stack_pop
    - stack_destroy
    - stack_empty
    - stack_size
    - stack_push
    - stack_top
    - string_stack_push
    - string_stack_destroy
    - ASSERT
    - stack_init
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-physmem.c:30,1
    - Dst: physmem_total
      Src: /src/gnulib/tests/test-physmem.c:31,1
    - Dst: physmem_total
      Src: /src/gnulib/tests/test-physmem.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-physmem.c:32,1
    - Dst: physmem_available
      Src: /src/gnulib/tests/test-physmem.c:33,1
    - Dst: physmem_available
      Src: /src/gnulib/tests/test-physmem.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-physmem.c:34,1
    - Dst: physmem_total
      Src: /src/gnulib/tests/test-physmem.c:34,1
    - Dst: physmem_available
      Src: /src/gnulib/tests/test-physmem.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-physmem.c:35,1
    - Dst: physmem_available
      Src: /src/gnulib/tests/test-physmem.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-physmem.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - printf
    - physmem_available
    - physmem_total
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-send.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-send.c:39,1
    - Dst: send
      Src: /src/gnulib/tests/test-send.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-send.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-send.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-send.c:46,1
    - Dst: send
      Src: /src/gnulib/tests/test-send.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-send.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-send.c
    functionUses: 8
    functionsReached:
    - gl_sockets_startup
    - send
    - ASSERT
    - close
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: lib_memcmp
    functionSourceFile: /src/gnulib/tests/test-memcmp.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int lib_memcmp (void const *s1, void const *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:46,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:47,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:48,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:51,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:55,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:56,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:57,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:58,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:59,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:62,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:63,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:64,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:65,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:65,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-memcmp.c:78,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-memcmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:80,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:86,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:87,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcmp.c:88,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memcmp.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memcmp.c
    functionUses: 8
    functionsReached:
    - strcpy
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-accept4.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept4.c:49,1
    - Dst: accept4
      Src: /src/gnulib/tests/test-accept4.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept4.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-accept4.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept4.c:60,1
    - Dst: accept4
      Src: /src/gnulib/tests/test-accept4.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept4.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-accept4.c
    functionUses: 8
    functionsReached:
    - gl_sockets_startup
    - accept4
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:33,1
    - Dst: gc_hmac_sha512
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:53,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:62,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-hmac-sha512.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 70
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-hmac-sha512.c
    functionUses: 8
    functionsReached:
    - gc_init
    - memcmp
    - gc_done
    - printf
    - gc_hmac_sha512
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mknodat
      Src: /src/gnulib/tests/test-mkfifoat.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: test_mknodat
    functionSourceFile: /src/gnulib/tests/test-mkfifoat.c
    functionUses: 0
    functionsReached:
    - mknodat
    linkageType: ''
    returnType: int
    signature: int test_mknodat (int fd, char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkfifoat
      Src: /src/gnulib/tests/test-mkfifoat.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: do_mkfifoat
    functionSourceFile: /src/gnulib/tests/test-mkfifoat.c
    functionUses: 0
    functionsReached:
    - mkfifoat
    linkageType: ''
    returnType: int
    signature: int do_mkfifoat (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mknodat
      Src: /src/gnulib/tests/test-mkfifoat.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: do_mknodat
    functionSourceFile: /src/gnulib/tests/test-mkfifoat.c
    functionUses: 0
    functionsReached:
    - mknodat
    linkageType: ''
    returnType: int
    signature: int do_mknodat (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-mkfifoat.c:75,1
    - Dst: system
      Src: /src/gnulib/tests/test-mkfifoat.c:75,1
    - Dst: test_mkfifo
      Src: /src/gnulib/tests/test-mkfifoat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:79,1
    - Dst: test_mkfifo
      Src: /src/gnulib/tests/test-mkfifoat.c:79,1
    - Dst: open
      Src: /src/gnulib/tests/test-mkfifoat.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:82,1
    - Dst: test_mkfifo
      Src: /src/gnulib/tests/test-mkfifoat.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:83,1
    - Dst: test_mkfifo
      Src: /src/gnulib/tests/test-mkfifoat.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:94,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:95,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkfifoat.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:102,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:103,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:114,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:116,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-mkfifoat.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:118,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-mkfifoat.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:119,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mkfifoat.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:121,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-mkfifoat.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:122,1
    - Dst: S_ISFIFO
      Src: /src/gnulib/tests/test-mkfifoat.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:123,1
    - Dst: unlinkat
      Src: /src/gnulib/tests/test-mkfifoat.c:123,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:131,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-mkfifoat.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:133,1
    - Dst: func
      Src: /src/gnulib/tests/test-mkfifoat.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:134,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mkfifoat.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:136,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-mkfifoat.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:138,1
    - Dst: S_ISFIFO
      Src: /src/gnulib/tests/test-mkfifoat.c:138,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mkfifoat.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:140,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-mkfifoat.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:141,1
    - Dst: S_ISFIFO
      Src: /src/gnulib/tests/test-mkfifoat.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:142,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-mkfifoat.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mkfifoat.c:146,1
    - Dst: close
      Src: /src/gnulib/tests/test-mkfifoat.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mkfifoat.c
    functionUses: 8
    functionsReached:
    - unlinkat
    - fchdir
    - chdir
    - fstatat
    - open
    - close
    - unlink
    - system
    - test_mkfifo
    - memset
    - S_ISFIFO
    - func
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:23,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:24,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:25,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:26,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:27,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:27,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:28,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:28,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:29,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:29,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:30,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:33,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:34,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:35,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:36,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:39,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-hypot-ieee.h:39,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:40,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-hypot-ieee.h:40,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:40,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:41,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-hypot-ieee.h:41,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypot-ieee.h:42,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-hypot-ieee.h:42,1
    - Dst: HYPOT
      Src: /src/gnulib/tests/test-hypot-ieee.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-hypot-ieee.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-hypot-ieee.h
    functionUses: 114
    functionsReached:
    - L_
    - HYPOT
    - ASSERT
    - ISNAN
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:35,1
    - Dst: getresuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:35,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:39,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:40,1
    - Dst: geteuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:42,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: show_uids
    functionSourceFile: /src/gnulib/tests/test-idpriv-droptemp.c
    functionUses: 0
    functionsReached:
    - geteuid
    - printf
    - getresuid
    - getuid
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void show_uids ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:54,1
    - Dst: getresgid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:58,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:59,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:61,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: show_gids
    functionSourceFile: /src/gnulib/tests/test-idpriv-droptemp.c
    functionUses: 0
    functionsReached:
    - getegid
    - getgid
    - printf
    - getresgid
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void show_gids ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:69,1
    - Dst: show_uids
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:70,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:71,1
    - Dst: show_gids
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:72,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: show
    functionSourceFile: /src/gnulib/tests/test-idpriv-droptemp.c
    functionUses: 0
    functionsReached:
    - show_gids
    - printf
    - show_uids
    linkageType: ''
    returnType: void
    signature: void show (const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:101,1
    - Dst: show
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:110,1
    - Dst: idpriv_temp_drop
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:110,1
    - Dst: show
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:113,1
    - Dst: geteuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:117,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:118,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:121,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:122,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:125,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:126,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:129,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:133,1
    - Dst: idpriv_temp_restore
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:133,1
    - Dst: show
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:136,1
    - Dst: geteuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:140,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:141,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:144,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:145,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:148,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:149,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:152,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-droptemp.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 159
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-idpriv-droptemp.c
    functionUses: 8
    functionsReached:
    - abort
    - idpriv_temp_drop
    - getegid
    - geteuid
    - show
    - idpriv_temp_restore
    - strcmp
    - getgid
    - getuid
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-sha256.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:34,1
    - Dst: gc_sha256
      Src: /src/gnulib/tests/test-gc-sha256.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha256.c:53,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:62,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-sha256.c:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:69,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha256.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:76,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:79,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:82,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-sha256.c:86,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:88,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-sha256.c:92,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:94,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-sha256.c:98,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-sha256.c:100,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:104,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha256.c:108,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:111,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:114,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha256.c:117,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-sha256.c:121,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-sha256.c:124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 127
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-sha256.c
    functionUses: 8
    functionsReached:
    - gc_hash_open
    - gc_init
    - gc_sha256
    - memcmp
    - gc_hash_digest_length
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:48,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:51,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fault_address
    - serious
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: handler
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv1.c
    functionUses: 20
    functionsReached:
    - abort
    - mprotect
    linkageType: ''
    returnType: int
    signature: int handler (void *fault_address, int serious)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: crasher
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crasher (uintptr_t p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:71,1
    - Dst: mmap_zeromap
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:83,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:86,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:87,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:92,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:94,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:95,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:99,1
    - Dst: mprotect
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:100,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:102,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:103,1
    - Dst: sigsegv_install_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:107,1
    - Dst: crasher
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:110,1
    - Dst: crasher
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:112,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-segv1.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv1.c
    functionUses: 8
    functionsReached:
    - exit
    - crasher
    - mprotect
    - open
    - mmap_zeromap
    - sigsegv_install_handler
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-segv1.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-aligned-malloc.c:90,1
    - Dst: aligned4_malloc
      Src: /src/gnulib/tests/test-aligned-malloc.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned-malloc.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned-malloc.c:96,1
    - Dst: aligned8_malloc
      Src: /src/gnulib/tests/test-aligned-malloc.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned-malloc.c:99,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned-malloc.c:100,1
    - Dst: aligned16_malloc
      Src: /src/gnulib/tests/test-aligned-malloc.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned-malloc.c:103,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned-malloc.c:104,1
    - Dst: aligned32_malloc
      Src: /src/gnulib/tests/test-aligned-malloc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-aligned-malloc.c:107,1
    - Dst: memset
      Src: /src/gnulib/tests/test-aligned-malloc.c:108,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-aligned-malloc.c:111,1
    - Dst: aligned4_free
      Src: /src/gnulib/tests/test-aligned-malloc.c:113,1
    - Dst: aligned8_free
      Src: /src/gnulib/tests/test-aligned-malloc.c:114,1
    - Dst: aligned16_free
      Src: /src/gnulib/tests/test-aligned-malloc.c:115,1
    - Dst: aligned32_free
      Src: /src/gnulib/tests/test-aligned-malloc.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 120
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-aligned-malloc.c
    functionUses: 8
    functionsReached:
    - aligned16_malloc
    - aligned16_free
    - aligned32_free
    - aligned8_free
    - aligned4_free
    - aligned32_malloc
    - memset
    - aligned8_malloc
    - SIZEOF
    - ASSERT
    - aligned4_malloc
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: a_init
    functionSourceFile: /src/gnulib/tests/test-call_once1.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void a_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/gnulib/tests/test-call_once1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once1.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-call_once1.c
    functionUses: 8
    functionsReached:
    - call_once
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:29,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:31,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:33,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:39,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:42,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-printf-posix.h:42,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:45,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-printf-posix.h:45,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-printf-posix.h:50,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:55,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:58,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:61,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:64,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:67,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:70,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:73,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:76,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:79,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:82,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:85,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:88,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:91,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:94,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:97,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:100,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:105,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:108,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:111,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:114,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:117,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:120,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:123,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:126,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:129,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:132,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:135,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:138,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:141,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:144,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:147,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:150,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:156,1
    - Dst: my_printf
      Src: /src/gnulib/tests/test-printf-posix.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 161
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-printf-posix.h
    functionUses: 114
    functionsReached:
    - my_printf
    - Infinityd
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_printf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-rint-ieee.h:23,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint-ieee.h:23,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint-ieee.h:27,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:28,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint-ieee.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:29,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-rint-ieee.h:29,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:34,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-rint-ieee.h:34,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-rint-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:38,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint-ieee.h:39,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-rint-ieee.h
    functionUses: 114
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - RINT
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexpf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexpf-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-remove.c:42,1
    - Dst: system
      Src: /src/gnulib/tests/test-remove.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:45,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-remove.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:46,1
    - Dst: close
      Src: /src/gnulib/tests/test-remove.c:46,1
    - Dst: creat
      Src: /src/gnulib/tests/test-remove.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:50,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:53,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:56,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:59,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:63,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:64,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:65,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:67,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:72,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:76,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:80,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:82,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:82,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-remove.c:87,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-remove.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:95,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-remove.c:95,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:101,1
    - Dst: stat
      Src: /src/gnulib/tests/test-remove.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:105,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:108,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-remove.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:109,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-remove.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:111,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:113,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-remove.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:115,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:117,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:118,1
    - Dst: close
      Src: /src/gnulib/tests/test-remove.c:118,1
    - Dst: creat
      Src: /src/gnulib/tests/test-remove.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:119,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-remove.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:121,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:123,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remove.c:124,1
    - Dst: remove
      Src: /src/gnulib/tests/test-remove.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remove.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - remove
    - symlink
    - lstat
    - fputs
    - close
    - system
    - stat
    - creat
    - S_ISLNK
    - mkdir
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-obstack-printf.c:47,1
    - Dst: obstack_vprintf
      Src: /src/gnulib/tests/test-obstack-printf.c:48,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-obstack-printf.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obs
    - format
    argTypes:
    - struct obstack*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: my_obstack_printf
    functionSourceFile: /src/gnulib/tests/test-obstack-printf.c
    functionUses: 1
    functionsReached:
    - obstack_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_obstack_printf (struct obstack *obs, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-printf.c:56,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-obstack-printf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-obstack-printf.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmodf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmodf-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:43,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:47,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:51,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:55,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-getpayload.c:57,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:59,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-getpayload.c:61,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:72,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-getpayload.c:72,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:74,1
    - Dst: minus_NaNd
      Src: /src/gnulib/tests/test-getpayload.c:76,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:82,1
    - Dst: setpayload
      Src: /src/gnulib/tests/test-getpayload.c:82,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:94,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-getpayload.c:94,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:100,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-getpayload.c:100,1
    - Dst: getpayload
      Src: /src/gnulib/tests/test-getpayload.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:102,1
    - Dst: memory_positive_SNaNd
      Src: /src/gnulib/tests/test-getpayload.c:105,1
    - Dst: memory_negative_SNaNd
      Src: /src/gnulib/tests/test-getpayload.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getpayload.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getpayload.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - setpayload
    - minus_NaNd
    - setpayloadsig
    - getpayload
    - memory_positive_SNaNd
    - memory_negative_SNaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-md4.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:34,1
    - Dst: gc_md4
      Src: /src/gnulib/tests/test-gc-md4.c:50,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:52,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md4.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:64,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:65,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-md4.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md4.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:84,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-md4.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:90,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-md4.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:96,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-md4.c:100,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-md4.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md4.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:118,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md4.c:119,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-md4.c:123,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-md4.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-md4.c
    functionUses: 8
    functionsReached:
    - gc_hash_open
    - gc_md4
    - gc_init
    - gc_hash_digest_length
    - memcmp
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logl
      Src: /src/gnulib/tests/test-logl.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logl.c:51,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-logl.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logl.c
    functionUses: 8
    functionsReached:
    - test_function
    - ASSERT
    - logl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-xvasprintf.c:33,1
    - Dst: c_xvasprintf
      Src: /src/gnulib/tests/test-c-xvasprintf.c:34,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-xvasprintf.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: my_c_xasprintf
    functionSourceFile: /src/gnulib/tests/test-c-xvasprintf.c
    functionUses: 0
    functionsReached:
    - c_xvasprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      my_c_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-xvasprintf.c:44,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-xvasprintf.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-xvasprintf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-xvasprintf.c:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-xvasprintf.c:58,1
    - Dst: c_xasprintf
      Src: /src/gnulib/tests/test-c-xvasprintf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-xvasprintf.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-xvasprintf.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-xvasprintf.c:68,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-xvasprintf.c:69,1
    - Dst: my_c_xasprintf
      Src: /src/gnulib/tests/test-c-xvasprintf.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-xvasprintf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-xvasprintf.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-xvasprintf.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-xvasprintf.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 78
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-xvasprintf.c
    functionUses: 8
    functionsReached:
    - setlocale
    - free
    - snprintf
    - my_c_xasprintf
    - c_xasprintf
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-select-stdin.c:32,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-select-stdin.c:42,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select-stdin.c:44,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select-stdin.c:45,1
    - Dst: select
      Src: /src/gnulib/tests/test-select-stdin.c:48,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-select-stdin.c:50,1
    - Dst: perror
      Src: /src/gnulib/tests/test-select-stdin.c:56,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-stdin.c:57,1
    - Dst: FD_ISSET
      Src: /src/gnulib/tests/test-select-stdin.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-select-stdin.c:61,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-stdin.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-select-stdin.c:68,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select-stdin.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-select-stdin.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select-stdin.c:73,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-select-stdin.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-select-stdin.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select-stdin.c:80,1
    - Dst: read
      Src: /src/gnulib/tests/test-select-stdin.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-select-stdin.c
    functionUses: 8
    functionsReached:
    - gettimeofday
    - exit
    - FD_ISSET
    - FD_SET
    - read
    - fflush
    - select
    - printf
    - FD_ZERO
    - fprintf
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:102,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-call_once2.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:104,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-call_once2.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: once_execute
    functionSourceFile: /src/gnulib/tests/test-call_once2.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - ASSERT
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void once_execute (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:116,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-call_once2.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:118,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-call_once2.c:118,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-call_once2.c:123,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-call_once2.c:124,1
    - Dst: gl_rwlock_rdlock
      Src: /src/gnulib/tests/test-call_once2.c:127,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-call_once2.c:129,1
    - Dst: yield
      Src: /src/gnulib/tests/test-call_once2.c:133,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-call_once2.c:135,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-call_once2.c:136,1
    - Dst: call_once
      Src: /src/gnulib/tests/test-call_once2.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 143
    functionName: once_contender_thread
    functionSourceFile: /src/gnulib/tests/test-call_once2.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - gl_rwlock_unlock
    - gl_rwlock_rdlock
    - dbgprintf
    - mtx_lock
    - thrd_current_pointer
    - yield
    - call_once
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int once_contender_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:155,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-call_once2.c:155,1
    - Dst: gl_rwlock_init
      Src: /src/gnulib/tests/test-call_once2.c:159,1
    - Dst: gl_rwlock_wrlock
      Src: /src/gnulib/tests/test-call_once2.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:172,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-call_once2.c:172,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-call_once2.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:185,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-call_once2.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:187,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-call_once2.c:187,1
    - Dst: yield
      Src: /src/gnulib/tests/test-call_once2.c:191,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-call_once2.c:193,1
    - Dst: abort
      Src: /src/gnulib/tests/test-call_once2.c:200,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-call_once2.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:215,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-call_once2.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:217,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-call_once2.c:217,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-call_once2.c:221,1
    - Dst: gl_rwlock_unlock
      Src: /src/gnulib/tests/test-call_once2.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:231,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-call_once2.c:231,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 232
    functionName: test_once
    functionSourceFile: /src/gnulib/tests/test-call_once2.c
    functionUses: 1
    functionsReached:
    - abort
    - mtx_unlock
    - gl_rwlock_wrlock
    - mtx_init
    - gl_rwlock_unlock
    - thrd_join
    - gl_rwlock_init
    - dbgprintf
    - mtx_lock
    - thrd_create
    - yield
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-call_once2.c:244,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-call_once2.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-call_once2.c:248,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-call_once2.c:248,1
    - Dst: printf
      Src: /src/gnulib/tests/test-call_once2.c:250,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-call_once2.c:250,1
    - Dst: test_once
      Src: /src/gnulib/tests/test-call_once2.c:251,1
    - Dst: printf
      Src: /src/gnulib/tests/test-call_once2.c:252,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-call_once2.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-call_once2.c
    functionUses: 8
    functionsReached:
    - alarm
    - signal
    - mtx_init
    - fflush
    - test_once
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:58,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:59,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:61,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:62,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:63,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:64,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:65,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:66,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:67,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:68,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:69,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:70,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:71,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:72,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:73,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:74,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:76,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:77,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:78,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:79,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:80,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:81,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:82,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:83,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:84,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:85,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:86,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:87,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:88,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.c:89,1
    - Dst: rint
      Src: /src/gnulib/tests/test-rint.c:89,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-rint.c:91,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rint.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rint.c
    functionUses: 8
    functionsReached:
    - rint
    - fputs
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsrtowcs.c:41,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:48,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:53,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:53,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:58,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:58,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:65,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:65,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:72,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbsrtowcs.c:80,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:107,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:114,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:114,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:130,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:130,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:136,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:148,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:148,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:163,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:163,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:164,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:164,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:173,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:179,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:179,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:185,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:186,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:186,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:194,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:194,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:200,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:210,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:210,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:218,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:224,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:224,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:231,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:231,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:239,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:239,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:245,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:246,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:256,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:256,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:264,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:270,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:270,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:276,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:277,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:277,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:285,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:285,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:293,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:293,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:299,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:300,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:309,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:309,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtowcs.c:317,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:323,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:323,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsrtowcs.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:330,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:330,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:338,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:338,1
    - Dst: mbsrtowcs
      Src: /src/gnulib/tests/test-mbsrtowcs.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:344,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:345,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsrtowcs.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtowcs.c:355,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtowcs.c:355,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 233
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 368
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsrtowcs.c
    functionUses: 8
    functionsReached:
    - wctob
    - setlocale
    - mbrtowc
    - mbsinit
    - mbsrtowcs
    - btowc
    - strcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace_l
      Src: /src/gnulib/tests/test-isspace_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isspace_l.c:36,1
    - Dst: isspace_l
      Src: /src/gnulib/tests/test-isspace_l.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isspace_l.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isspace_l.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 119
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 89
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 89
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isspace_l.c
    functionUses: 11
    functionsReached:
    - isspace_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isspace_l.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isspace_l.c:96,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isspace_l.c:98,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isspace_l.c:100,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isspace_l.c:105,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isspace_l.c:107,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isspace_l.c:109,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isspace_l.c:113,1
    - Dst: isspace_l
      Src: /src/gnulib/tests/test-isspace_l.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isspace_l.c:120,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isspace_l.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isspace_l.c
    functionUses: 8
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - isspace_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-memset.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_memset
    functionSourceFile: /src/gnulib/tests/test-memset.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memset (void *s, int c, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memset.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memset.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-cbrt.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:35,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-cbrt.h:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-cbrt.h:43,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:49,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt.h:51,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt.h:51,1
    - Dst: CBRT
      Src: /src/gnulib/tests/test-cbrt.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrt.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-cbrt.h:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-cbrt.h
    functionUses: 120
    functionsReached:
    - L_
    - CBRT
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_resource-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct tm*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: tm_diff
    functionSourceFile: /src/gnulib/tests/test-parse-datetime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long int
    signature: long int tm_diff (struct tm const *a, struct tm const *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/gnulib/tests/test-parse-datetime.c:102,1
    - Dst: gmtime
      Src: /src/gnulib/tests/test-parse-datetime.c:103,1
    - Dst: tm_diff
      Src: /src/gnulib/tests/test-parse-datetime.c:105,1
    - Dst: localtime
      Src: /src/gnulib/tests/test-parse-datetime.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - time_t
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: gmt_offset
    functionSourceFile: /src/gnulib/tests/test-parse-datetime.c
    functionUses: 0
    functionsReached:
    - localtime
    - gmtime
    - tm_diff
    linkageType: ''
    returnType: long
    signature: long gmt_offset (time_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:140,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-parse-datetime.c:140,1
    - Dst: tzset
      Src: /src/gnulib/tests/test-parse-datetime.c:141,1
    - Dst: gmt_offset
      Src: /src/gnulib/tests/test-parse-datetime.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:151,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:151,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:161,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:161,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:171,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:171,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:182,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:182,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:192,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:192,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:203,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:203,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:213,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:213,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:224,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:224,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:234,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:234,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:243,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:243,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:250,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:250,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:258,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:258,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:266,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:266,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:275,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:275,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:278,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:278,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:287,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:287,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:290,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:290,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:295,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:295,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:303,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:303,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:306,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:306,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:311,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:311,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:319,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:319,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:322,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:322,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:330,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:330,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:333,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:333,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:343,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:349,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:351,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:353,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:355,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:357,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:359,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:361,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:367,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:367,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:370,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:370,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:375,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:375,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:382,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:382,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:385,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:385,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:392,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:392,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:395,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:395,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:402,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-parse-datetime.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:404,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-parse-datetime.c:404,1
    - Dst: tzset
      Src: /src/gnulib/tests/test-parse-datetime.c:406,1
    - Dst: localtime
      Src: /src/gnulib/tests/test-parse-datetime.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:416,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:416,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:429,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-parse-datetime.c:429,1
    - Dst: tzset
      Src: /src/gnulib/tests/test-parse-datetime.c:430,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-parse-datetime.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:438,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:438,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:441,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-parse-datetime.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:446,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:446,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:457,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:457,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:465,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:465,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:473,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:473,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:481,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:485,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:486,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:488,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:489,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:490,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:491,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:493,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:494,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:495,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:499,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:500,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:500,1
    - Dst: sysconf
      Src: /src/gnulib/tests/test-parse-datetime.c:509,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-parse-datetime.c:518,1
    - Dst: memset
      Src: /src/gnulib/tests/test-parse-datetime.c:519,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-parse-datetime.c:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:521,1
    - Dst: parse_datetime
      Src: /src/gnulib/tests/test-parse-datetime.c:521,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-parse-datetime.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-parse-datetime.c:523,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 257
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char**
    constantsTouched: []
    func_position:
      end: 528
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 528
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-parse-datetime.c
    functionUses: 8
    functionsReached:
    - strcpy
    - gmt_offset
    - sysconf
    - parse_datetime
    - setenv
    - LOG
    - localtime
    - sprintf
    - memcpy
    - memset
    - tzset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypotf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypotf-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: entry_value
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int entry_value (const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_value
      Src: /src/gnulib/tests/test-hamt.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: hash_element
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - entry_value
    linkageType: ''
    returnType: size_t
    signature: size_t hash_element (const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_value
      Src: /src/gnulib/tests/test-hamt.c:47,1
    - Dst: entry_value
      Src: /src/gnulib/tests/test-hamt.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: compare_element
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - entry_value
    linkageType: ''
    returnType: bool
    signature: bool compare_element (const void *elt1, const void *elt2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/tests/test-hamt.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: free_element
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_element (Hamt_entry *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMALLOC
      Src: /src/gnulib/tests/test-hamt.c:59,1
    - Dst: hamt_element
      Src: /src/gnulib/tests/test-hamt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: make_element
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - XMALLOC
    - hamt_element
    linkageType: ''
    returnType: Hamt_entry
    signature: 'Hamt_entry *

      make_element (int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hamt_create
      Src: /src/gnulib/tests/test-hamt.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: test_hamt_create
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_create
    linkageType: ''
    returnType: Hamt
    signature: 'Hamt *

      test_hamt_create (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_value
      Src: /src/gnulib/tests/test-hamt.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - elt
    - data
    argTypes:
    - Hamt_entry*
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: proc
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - entry_value
    linkageType: ''
    returnType: bool
    signature: bool proc (Hamt_entry *elt, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hamt_create
      Src: /src/gnulib/tests/test-hamt.c:93,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:95,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:99,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:100,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:100,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:101,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:103,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:108,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:108,1
    - Dst: hamt_replace
      Src: /src/gnulib/tests/test-hamt.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:113,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:113,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:114,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:115,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:117,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:122,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:123,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:123,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:126,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:127,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:129,1
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:131,1
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:132,1
    - Dst: hamt_remove
      Src: /src/gnulib/tests/test-hamt.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:139,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:140,1
    - Dst: hamt_lookup
      Src: /src/gnulib/tests/test-hamt.c:140,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:142,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:143,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:144,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:145,1
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:146,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:147,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:149,1
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:150,1
    - Dst: hamt_remove
      Src: /src/gnulib/tests/test-hamt.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:154,1
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:157,1
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:158,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:160,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:161,1
    - Dst: free_element
      Src: /src/gnulib/tests/test-hamt.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 163
    functionName: test_general
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_lookup
    - hamt_remove
    - hamt_insert
    - hamt_replace
    - make_element
    - hamt_free
    - free_element
    - test_hamt_create
    - hamt_do_while
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_general (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - Hamt_entry *elt
    - data
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: true_processor
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool true_processor (_GL_ATTRIBUTE_MAYBE_UNUSED Hamt_entry *elt,\n
      \               _GL_ATTRIBUTE_MAYBE_UNUSED void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hamt_do_while
      Src: /src/gnulib/tests/test-hamt.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hamt
    argTypes:
    - Hamt*
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: element_count
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_do_while
    linkageType: ''
    returnType: size_t
    signature: size_t element_count (Hamt *hamt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - data
    argTypes:
    - Hamt_entry*
    - void*
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: find_values_processor
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool find_values_processor (Hamt_entry *entry, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/tests/test-hamt.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hamt
    - n
    - elts
    argTypes:
    - Hamt*
    - size_t
    - int*
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: find_values
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: bool
    signature: bool find_values (Hamt *hamt, size_t n, int *elts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:215,1
    - Dst: hamt_insert_x
      Src: /src/gnulib/tests/test-hamt.c:219,1
    - Dst: free_element
      Src: /src/gnulib/tests/test-hamt.c:222,1
    - Dst: hamt_insert
      Src: /src/gnulib/tests/test-hamt.c:226,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:229,1
    - Dst: free_element
      Src: /src/gnulib/tests/test-hamt.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - hamt
    - n
    - elts
    - destructive
    argTypes:
    - Hamt**
    - size_t
    - int*
    - bool
    constantsTouched: []
    func_position:
      end: 240
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 240
    functionName: insert_values
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_insert_x
    - hamt_insert
    - make_element
    - hamt_free
    - free_element
    linkageType: ''
    returnType: size_t
    signature: size_t insert_values (Hamt **hamt, size_t n, int *elts, bool destructive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:248,1
    - Dst: hamt_replace_x
      Src: /src/gnulib/tests/test-hamt.c:251,1
    - Dst: hamt_replace
      Src: /src/gnulib/tests/test-hamt.c:256,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - hamt
    - n
    - elts
    - destructive
    argTypes:
    - Hamt**
    - size_t
    - int*
    - bool
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: replace_values
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_free
    - make_element
    - hamt_replace
    - hamt_replace_x
    linkageType: ''
    returnType: size_t
    signature: size_t replace_values (Hamt **hamt, size_t n, int *elts, bool destructive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_element
      Src: /src/gnulib/tests/test-hamt.c:272,1
    - Dst: hamt_remove_x
      Src: /src/gnulib/tests/test-hamt.c:276,1
    - Dst: hamt_remove
      Src: /src/gnulib/tests/test-hamt.c:281,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:284,1
    - Dst: free
      Src: /src/gnulib/tests/test-hamt.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - hamt
    - n
    - elts
    - destructive
    argTypes:
    - Hamt**
    - size_t
    - int*
    - bool
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: remove_values
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_remove
    - free
    - make_element
    - hamt_free
    - hamt_remove_x
    linkageType: ''
    returnType: size_t
    signature: size_t remove_values (Hamt **hamt, size_t n, int *elts, bool destructive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hamt_create
      Src: /src/gnulib/tests/test-hamt.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:303,1
    - Dst: insert_values
      Src: /src/gnulib/tests/test-hamt.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:304,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:305,1
    - Dst: find_values
      Src: /src/gnulib/tests/test-hamt.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:306,1
    - Dst: insert_values
      Src: /src/gnulib/tests/test-hamt.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:307,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:308,1
    - Dst: remove_values
      Src: /src/gnulib/tests/test-hamt.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:309,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:310,1
    - Dst: remove_values
      Src: /src/gnulib/tests/test-hamt.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:311,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:313,1
    - Dst: replace_values
      Src: /src/gnulib/tests/test-hamt.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:314,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:315,1
    - Dst: find_values
      Src: /src/gnulib/tests/test-hamt.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:316,1
    - Dst: replace_values
      Src: /src/gnulib/tests/test-hamt.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:317,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:317,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 320
    functionName: test_functional_update
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - find_values
    - element_count
    - insert_values
    - remove_values
    - hamt_free
    - test_hamt_create
    - ASSERT
    - replace_values
    linkageType: ''
    returnType: void
    signature: void test_functional_update (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hamt_create
      Src: /src/gnulib/tests/test-hamt.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:327,1
    - Dst: insert_values
      Src: /src/gnulib/tests/test-hamt.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:328,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:329,1
    - Dst: find_values
      Src: /src/gnulib/tests/test-hamt.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:330,1
    - Dst: insert_values
      Src: /src/gnulib/tests/test-hamt.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:331,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:332,1
    - Dst: remove_values
      Src: /src/gnulib/tests/test-hamt.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:333,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:334,1
    - Dst: remove_values
      Src: /src/gnulib/tests/test-hamt.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:335,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:337,1
    - Dst: replace_values
      Src: /src/gnulib/tests/test-hamt.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:338,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:339,1
    - Dst: find_values
      Src: /src/gnulib/tests/test-hamt.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:340,1
    - Dst: replace_values
      Src: /src/gnulib/tests/test-hamt.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:341,1
    - Dst: element_count
      Src: /src/gnulib/tests/test-hamt.c:341,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: test_destructive_update
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - find_values
    - element_count
    - insert_values
    - remove_values
    - hamt_free
    - test_hamt_create
    - ASSERT
    - replace_values
    linkageType: ''
    returnType: void
    signature: void test_destructive_update (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hamt_create
      Src: /src/gnulib/tests/test-hamt.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:350,1
    - Dst: insert_values
      Src: /src/gnulib/tests/test-hamt.c:350,1
    - Dst: hamt_iterator
      Src: /src/gnulib/tests/test-hamt.c:352,1
    - Dst: hamt_iterator_next
      Src: /src/gnulib/tests/test-hamt.c:356,1
    - Dst: entry_value
      Src: /src/gnulib/tests/test-hamt.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hamt.c:367,1
    - Dst: hamt_iterator_free
      Src: /src/gnulib/tests/test-hamt.c:368,1
    - Dst: hamt_free
      Src: /src/gnulib/tests/test-hamt.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: test_iterator
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 0
    functionsReached:
    - hamt_iterator_next
    - hamt_iterator_free
    - entry_value
    - hamt_iterator
    - hamt_free
    - insert_values
    - test_hamt_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_iterator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_general
      Src: /src/gnulib/tests/test-hamt.c:375,1
    - Dst: test_functional_update
      Src: /src/gnulib/tests/test-hamt.c:376,1
    - Dst: test_destructive_update
      Src: /src/gnulib/tests/test-hamt.c:377,1
    - Dst: test_iterator
      Src: /src/gnulib/tests/test-hamt.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hamt.c
    functionUses: 8
    functionsReached:
    - test_iterator
    - test_functional_update
    - test_destructive_update
    - test_general
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/gnulib/tests/test-sethostname2.c:54,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sethostname2.c:63,1
    - Dst: gethostname
      Src: /src/gnulib/tests/test-sethostname2.c:63,1
    - Dst: sethostname
      Src: /src/gnulib/tests/test-sethostname2.c:68,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sethostname2.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:74,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:82,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sethostname2.c:93,1
    - Dst: gethostname
      Src: /src/gnulib/tests/test-sethostname2.c:93,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sethostname2.c:102,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:104,1
    - Dst: sethostname
      Src: /src/gnulib/tests/test-sethostname2.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sethostname2.c:129,1
    - Dst: sethostname
      Src: /src/gnulib/tests/test-sethostname2.c:129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sethostname2.c:129,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-sethostname2.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sethostname2.c:137,1
    - Dst: sethostname
      Src: /src/gnulib/tests/test-sethostname2.c:137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sethostname2.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED*[]
    constantsTouched: []
    func_position:
      end: 140
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sethostname2.c
    functionUses: 8
    functionsReached:
    - strlen
    - geteuid
    - gethostname
    - sethostname
    - strcmp
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc
      Src: /src/gnulib/tests/test-wcrtomb.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:43,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:47,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcrtomb.c:47,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: check_character
    functionSourceFile: /src/gnulib/tests/test-wcrtomb.c
    functionUses: 0
    functionsReached:
    - mbtowc
    - wcrtomb
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void check_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcrtomb.c:61,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:69,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:101,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-wcrtomb.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:103,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:111,1
    - Dst: wcrtomb
      Src: /src/gnulib/tests/test-wcrtomb.c:112,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-wcrtomb.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcrtomb.c:113,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:128,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:129,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:138,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:139,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:148,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:149,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:150,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:159,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-wcrtomb.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 143
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 166
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcrtomb.c
    functionUses: 8
    functionsReached:
    - setlocale
    - btowc
    - check_character
    - wcrtomb
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utime-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statat
      Src: /src/gnulib/tests/test-fstatat.c:56,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-fstatat.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - st
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: do_stat
    functionSourceFile: /src/gnulib/tests/test-fstatat.c
    functionUses: 1
    functionsReached:
    - statat
    - fstatat
    linkageType: ''
    returnType: int
    signature: int do_stat (char const *name, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstatat
      Src: /src/gnulib/tests/test-fstatat.c:67,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-fstatat.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - st
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: do_lstat
    functionSourceFile: /src/gnulib/tests/test-fstatat.c
    functionUses: 0
    functionsReached:
    - lstatat
    - fstatat
    linkageType: ''
    returnType: int
    signature: int do_lstat (char const *name, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-fstatat.c:79,1
    - Dst: system
      Src: /src/gnulib/tests/test-fstatat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:86,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-fstatat.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:87,1
    - Dst: close
      Src: /src/gnulib/tests/test-fstatat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:94,1
    - Dst: fstatat
      Src: /src/gnulib/tests/test-fstatat.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:95,1
    - Dst: test_stat_func
      Src: /src/gnulib/tests/test-fstatat.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:99,1
    - Dst: test_lstat_func
      Src: /src/gnulib/tests/test-fstatat.c:99,1
    - Dst: open
      Src: /src/gnulib/tests/test-fstatat.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:102,1
    - Dst: test_stat_func
      Src: /src/gnulib/tests/test-fstatat.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:103,1
    - Dst: test_lstat_func
      Src: /src/gnulib/tests/test-fstatat.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fstatat.c:104,1
    - Dst: close
      Src: /src/gnulib/tests/test-fstatat.c:104,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fstatat.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED*[]
    constantsTouched: []
    func_position:
      end: 112
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fstatat.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - fputs
    - close
    - open
    - system
    - test_stat_func
    - test_lstat_func
    - fstatat
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, _GL_UNUSED char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctrans
      Src: /src/gnulib/tests/test-wctrans.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctrans.c:34,1
    - Dst: wctrans
      Src: /src/gnulib/tests/test-wctrans.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctrans.c:37,1
    - Dst: wctrans
      Src: /src/gnulib/tests/test-wctrans.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctrans.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wctrans.c
    functionUses: 8
    functionsReached:
    - wctrans
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chdir.c:30,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-chdir.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-chdir.c
    functionUses: 8
    functionsReached:
    - chdir
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:42,1
    - Dst: open
      Src: /src/gnulib/tests/test-pread.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:46,1
    - Dst: write
      Src: /src/gnulib/tests/test-pread.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:47,1
    - Dst: close
      Src: /src/gnulib/tests/test-pread.c:47,1
    - Dst: open
      Src: /src/gnulib/tests/test-pread.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:50,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-pread.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:61,1
    - Dst: pread
      Src: /src/gnulib/tests/test-pread.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:63,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-pread.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:70,1
    - Dst: pread
      Src: /src/gnulib/tests/test-pread.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-pread.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:82,1
    - Dst: pread
      Src: /src/gnulib/tests/test-pread.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:90,1
    - Dst: pread
      Src: /src/gnulib/tests/test-pread.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-pread.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:97,1
    - Dst: pread
      Src: /src/gnulib/tests/test-pread.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pread.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pread.c
    functionUses: 8
    functionsReached:
    - close
    - open
    - write
    - lseek
    - ASSERT
    - pread
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_file_system_list
      Src: /src/gnulib/tests/test-mountlist.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mountlist.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mountlist.c:42,1
    - Dst: free_mount_entry
      Src: /src/gnulib/tests/test-mountlist.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mountlist.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - printf
    - free_mount_entry
    - read_file_system_list
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:32,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:34,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:36,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:37,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:39,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:40,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-strncasecmp_l.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - strncasecmp_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:48,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-strncasecmp_l.c:50,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:52,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:57,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:59,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:61,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-strncasecmp_l.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:71,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:72,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:73,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:74,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:77,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:78,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:79,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp_l.c:80,1
    - Dst: strncasecmp_l
      Src: /src/gnulib/tests/test-strncasecmp_l.c:80,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strncasecmp_l.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strncasecmp_l.c
    functionUses: 8
    functionsReached:
    - test_single_locale_common
    - newlocale
    - strncasecmp_l
    - freelocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:40,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:45,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:46,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:50,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:51,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:52,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:53,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:54,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:57,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:58,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:59,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:61,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:62,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:63,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:67,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:68,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:69,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:70,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:71,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:72,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:73,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:74,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:77,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:78,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:79,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:80,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:81,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:82,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:83,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:84,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:89,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:90,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:91,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:92,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:93,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:94,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:95,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:100,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:101,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:102,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:103,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:104,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:105,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:106,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:109,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:110,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:111,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:112,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:113,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:114,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:115,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:116,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:120,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:121,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:122,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:123,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:127,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:128,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:129,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:130,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:131,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:134,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:135,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:136,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:137,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:141,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:142,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:143,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:144,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:145,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:148,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:149,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:150,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:151,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:155,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:156,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:157,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:158,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:159,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:162,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:163,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:164,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:165,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:169,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:170,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:171,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:172,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:173,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:176,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:177,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:178,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:179,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:183,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:184,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:185,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:186,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:187,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:192,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:194,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:195,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:196,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:197,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:198,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:199,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:202,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:204,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:205,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:206,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:207,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:208,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:209,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:212,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:221,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:222,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:223,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:224,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:227,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:236,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:237,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:238,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:239,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:245,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:247,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:248,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:249,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:250,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:251,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:252,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-1.c:252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 258
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-1.c
    functionUses: 8
    functionsReached:
    - fetestexcept
    - fputs
    - feclearexcept
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-errno-h.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: errtab_cmp
    functionSourceFile: /src/gnulib/tests/test-errno-h.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int errtab_cmp (void const *va, void const *vb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gnulib/tests/test-errno-h.c:152,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-errno-h.c:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-errno-h.c:158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-errno-h.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-errno-h.c:160,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-errno-h.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-errno-h.c
    functionUses: 8
    functionsReached:
    - fprintf
    - qsort
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnulib/tests/test-lstat.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - st
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: do_lstat
    functionSourceFile: /src/gnulib/tests/test-lstat.c
    functionUses: 0
    functionsReached:
    - lstat
    linkageType: ''
    returnType: int
    signature: int do_lstat (char const *name, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-lstat.c:56,1
    - Dst: system
      Src: /src/gnulib/tests/test-lstat.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lstat.c
    functionUses: 8
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:31,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:39,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:47,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:60,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:66,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:66,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:88,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:94,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:100,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc-quotearg.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-desc-quotearg.c
    functionUses: 8
    functionsReached:
    - sd_from_c
    - free
    - memcmp
    - sd_new_addr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:40,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:49,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:50,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:50,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:55,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:56,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:70,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:71,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:85,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:89,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:90,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:91,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:95,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/test-getcwd-lgpl.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 102
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getcwd-lgpl.c
    functionUses: 8
    functionsReached:
    - chdir
    - getcwd
    - free
    - strstr
    - strcmp
    - printf
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: cmp_double
    functionSourceFile: /src/gnulib/tests/test-array-mergesort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_double (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:314,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:316,1
    - Dst: merge_sort_fromto
      Src: /src/gnulib/tests/test-array-mergesort.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:323,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:326,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-array-mergesort.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:336,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:338,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:339,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:340,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:351,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:353,1
    - Dst: merge_sort_inplace
      Src: /src/gnulib/tests/test-array-mergesort.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:363,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-array-mergesort.c:366,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-array-mergesort.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array-mergesort.c:376,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:378,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:379,1
    - Dst: free
      Src: /src/gnulib/tests/test-array-mergesort.c:380,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 384
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array-mergesort.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - merge_sort_inplace
    - free
    - merge_sort_fromto
    - malloc
    - qsort
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fdopen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopen.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fdopen.c
    functionUses: 8
    functionsReached:
    - fdopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:103,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-once2.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:105,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: once_execute
    functionSourceFile: /src/gnulib/tests/test-pthread-once2.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void once_execute (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:117,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-once2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:119,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:119,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-once2.c:124,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-once2.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:128,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/gnulib/tests/test-pthread-once2.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:130,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:130,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-once2.c:134,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-once2.c:136,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-once2.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:140,1
    - Dst: pthread_once
      Src: /src/gnulib/tests/test-pthread-once2.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: once_contender_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-once2.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_self_pointer
    - dbgprintf
    - pthread_rwlock_unlock
    - pthread_once
    - yield
    - ASSERT
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: void
    signature: 'void *

      once_contender_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:158,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-once2.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:159,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-once2.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:160,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-once2.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:161,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-once2.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:165,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-once2.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:173,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-pthread-once2.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:178,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-once2.c:178,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-once2.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:191,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-once2.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:193,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:193,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-once2.c:197,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-once2.c:199,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-once2.c:206,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-pthread-once2.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:221,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-once2.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:223,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:223,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-once2.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:229,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-once2.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:237,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-once2.c:237,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 238
    functionName: test_once
    functionSourceFile: /src/gnulib/tests/test-pthread-once2.c
    functionUses: 2
    functionsReached:
    - abort
    - pthread_rwlock_init
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_mutexattr_destroy
    - pthread_join
    - pthread_mutexattr_init
    - pthread_rwlock_wrlock
    - pthread_create
    - dbgprintf
    - pthread_rwlock_unlock
    - pthread_mutex_init
    - yield
    - memcpy
    - pthread_mutexattr_settype
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-once2.c:250,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-once2.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:257,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-once2.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:258,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-once2.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:259,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-once2.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-once2.c:260,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-once2.c:260,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-once2.c:263,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-once2.c:263,1
    - Dst: test_once
      Src: /src/gnulib/tests/test-pthread-once2.c:264,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-once2.c:265,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-once2.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-once2.c
    functionUses: 8
    functionsReached:
    - alarm
    - pthread_mutexattr_destroy
    - signal
    - pthread_mutexattr_init
    - fflush
    - pthread_mutex_init
    - test_once
    - pthread_mutexattr_settype
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-once2.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-once2.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsstr2.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:62,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:82,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr2.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr2.c:85,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr2.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:109,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr2.c:109,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr2.c:112,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr2.c:125,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr2.c:129,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr2.c:134,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr2.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr2.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsstr2.c
    functionUses: 8
    functionsReached:
    - mbsstr
    - setlocale
    - free
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/gnulib/tests/test-remainder.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainder.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainder.c
    functionUses: 8
    functionsReached:
    - test_function
    - remainder
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:27,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:28,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:30,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:31,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:32,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:33,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:35,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:36,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:37,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:38,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:39,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_startswith.c:40,1
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-str_startswith.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-str_startswith.c
    functionUses: 8
    functionsReached:
    - str_startswith
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-nan-1.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nan-1.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-nan-1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nan-1.c:65,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-nan-1.c:65,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-nan-1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nan-1.c:70,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-nan-1.c:70,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-nan-1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nan-1.c:75,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-nan-1.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nan-1.c
    functionUses: 8
    functionsReached:
    - fetestexcept
    - feclearexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-nl_langinfo1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:53,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:53,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:57,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:57,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:60,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:60,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:61,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:61,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:63,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:63,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:64,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:64,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:65,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:65,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:66,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:66,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:67,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:67,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:68,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:68,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:69,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:69,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:70,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:70,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:71,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:72,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:72,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:73,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:74,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:74,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:75,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:75,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:76,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:76,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:77,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:77,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:78,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:79,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:79,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:80,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:81,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:82,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:82,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:83,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:83,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:84,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:84,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:85,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:85,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:86,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:86,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:87,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:87,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:88,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:88,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:89,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:90,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:90,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:91,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:91,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:92,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:92,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:93,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:93,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:94,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:94,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:95,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:95,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:96,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:96,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:97,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:97,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:98,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:98,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:99,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:99,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:100,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:100,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:101,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:102,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:102,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:103,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:104,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:104,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:105,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:106,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:106,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:109,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:109,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:110,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:110,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:111,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:111,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:112,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:112,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:112,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:113,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:113,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:113,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:114,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:114,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:115,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:115,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:116,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:116,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:117,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:117,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:118,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:118,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:119,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:119,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:120,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:120,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:120,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:121,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:121,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:122,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:122,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:123,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:123,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:124,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:124,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:125,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:125,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:126,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:127,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:127,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:128,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:128,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:129,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:130,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:131,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:131,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:132,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:133,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:134,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:135,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:136,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:137,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:138,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:139,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:140,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:141,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:142,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:142,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:143,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:143,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:144,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:144,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:147,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:147,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:148,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:148,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:148,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:149,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:149,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:150,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:150,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:150,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:151,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:151,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:151,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:152,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:152,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:152,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:153,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:153,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:154,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:154,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:155,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:155,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:156,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:156,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:157,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:157,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo1.c:158,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:158,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:159,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:160,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:161,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:162,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:163,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:167,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:174,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo1.c:175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo1.c:175,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo1.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 178
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo1.c
    functionUses: 8
    functionsReached:
    - strlen
    - setlocale
    - nl_langinfo
    - c_strcasecmp
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-mkdir.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-mkdir.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mkdir.c
    functionUses: 8
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-termios-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: positive_NaNd
      Src: /src/gnulib/tests/test-stdio-h.c:54,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:56,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:56,1
    - Dst: negative_NaNd
      Src: /src/gnulib/tests/test-stdio-h.c:58,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:60,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:60,1
    - Dst: positive_SNaNd
      Src: /src/gnulib/tests/test-stdio-h.c:69,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:71,1
    - Dst: negative_SNaNd
      Src: /src/gnulib/tests/test-stdio-h.c:73,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:75,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:75,1
    - Dst: positive_NaNd
      Src: /src/gnulib/tests/test-stdio-h.c:77,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:82,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:82,1
    - Dst: negative_NaNd
      Src: /src/gnulib/tests/test-stdio-h.c:84,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-stdio-h.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdio-h.c:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-stdio-h.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdio-h.c
    functionUses: 8
    functionsReached:
    - strlen
    - positive_NaNd
    - negative_NaNd
    - sprintf
    - positive_SNaNd
    - negative_SNaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-select.h:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-select.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: failed
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 7
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void failed (const char *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-select.h:64,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-select.h:65,1
    - Dst: fn
      Src: /src/gnulib/tests/test-select.h:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-select.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - my_select
    - msg
    argTypes:
    - select_fn
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: test
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 63
    functionsReached:
    - printf
    - fflush
    - fn
    linkageType: ''
    returnType: int
    signature: int test (void (*fn) (select_fn), select_fn my_select, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/test-select.h:83,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/test-select.h:86,1
    - Dst: memset
      Src: /src/gnulib/tests/test-select.h:88,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-select.h:90,1
    - Dst: htons
      Src: /src/gnulib/tests/test-select.h:91,1
    - Dst: bind
      Src: /src/gnulib/tests/test-select.h:92,1
    - Dst: perror
      Src: /src/gnulib/tests/test-select.h:94,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select.h:95,1
    - Dst: listen
      Src: /src/gnulib/tests/test-select.h:98,1
    - Dst: perror
      Src: /src/gnulib/tests/test-select.h:100,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select.h:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: open_server_socket
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - setsockopt
    - listen
    - bind
    - memset
    - htons
    - perror
    linkageType: ''
    returnType: int
    signature: int open_server_socket (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/test-select.h:113,1
    - Dst: memset
      Src: /src/gnulib/tests/test-select.h:115,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-select.h:117,1
    - Dst: htons
      Src: /src/gnulib/tests/test-select.h:118,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-select.h:124,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-select.h:130,1
    - Dst: connect
      Src: /src/gnulib/tests/test-select.h:134,1
    - Dst: perror
      Src: /src/gnulib/tests/test-select.h:137,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select.h:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - blocking
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: connect_to_socket
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - fcntl
    - connect
    - ioctl
    - memset
    - htons
    - perror
    linkageType: ''
    returnType: int
    signature: int connect_to_socket (bool blocking)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:163,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:164,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:165,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:167,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:169,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:171,1
    - Dst: my_select
      Src: /src/gnulib/tests/test-select.h:172,1
    - Dst: FD_ISSET
      Src: /src/gnulib/tests/test-select.h:177,1
    - Dst: FD_ISSET
      Src: /src/gnulib/tests/test-select.h:179,1
    - Dst: FD_ISSET
      Src: /src/gnulib/tests/test-select.h:181,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:184,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - fd
    - ev
    - timeout
    - my_select
    argTypes:
    - int
    - int
    - struct timeval*
    - select_fn
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: do_select
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - my_select
    - failed
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int do_select (int fd, int ev, struct timeval *timeout, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select
      Src: /src/gnulib/tests/test-select.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - ev
    - my_select
    argTypes:
    - int
    - int
    - select_fn
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: do_select_nowait
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - do_select
    linkageType: ''
    returnType: int
    signature: int do_select_nowait (int fd, int ev, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select
      Src: /src/gnulib/tests/test-select.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - ev
    - my_select
    argTypes:
    - int
    - int
    - select_fn
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: do_select_wait
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - do_select
    linkageType: ''
    returnType: int
    signature: int do_select_wait (int fd, int ev, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:213,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:214,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:215,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:216,1
    - Dst: do_select_wait
      Src: /src/gnulib/tests/test-select.h:218,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:219,1
    - Dst: getchar
      Src: /src/gnulib/tests/test-select.h:221,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:222,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: test_tty
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - getchar
    - do_select_nowait
    - failed
    - do_select_wait
    linkageType: ''
    returnType: void
    signature: void test_tty (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_select
      Src: /src/gnulib/tests/test-select.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - nfd
    - my_select
    argTypes:
    - int
    - select_fn
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: do_select_bad_nfd_nowait
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - my_select
    linkageType: ''
    returnType: int
    signature: int do_select_bad_nfd_nowait (int nfd, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select_bad_nfd_nowait
      Src: /src/gnulib/tests/test-select.h:241,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:242,1
    - Dst: do_select_bad_nfd_nowait
      Src: /src/gnulib/tests/test-select.h:247,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: test_bad_nfd
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - failed
    - do_select_bad_nfd_nowait
    linkageType: ''
    returnType: void
    signature: void test_bad_nfd (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:260,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:261,1
    - Dst: FD_ZERO
      Src: /src/gnulib/tests/test-select.h:262,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:264,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:266,1
    - Dst: FD_SET
      Src: /src/gnulib/tests/test-select.h:268,1
    - Dst: my_select
      Src: /src/gnulib/tests/test-select.h:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - fd
    - ev
    - timeout
    - my_select
    argTypes:
    - int
    - int
    - struct timeval*
    - select_fn
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: do_select_bad_fd
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - FD_SET
    - FD_ZERO
    - my_select
    linkageType: ''
    returnType: int
    signature: int do_select_bad_fd (int fd, int ev, struct timeval *timeout, select_fn
      my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select_bad_fd
      Src: /src/gnulib/tests/test-select.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - ev
    - my_select
    argTypes:
    - int
    - int
    - select_fn
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: do_select_bad_fd_nowait
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - do_select_bad_fd
    linkageType: ''
    returnType: int
    signature: int do_select_bad_fd_nowait (int fd, int ev, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:305,1
    - Dst: do_select_bad_fd_nowait
      Src: /src/gnulib/tests/test-select.h:307,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:308,1
    - Dst: do_select_bad_fd_nowait
      Src: /src/gnulib/tests/test-select.h:309,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:310,1
    - Dst: do_select_bad_fd_nowait
      Src: /src/gnulib/tests/test-select.h:311,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:312,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: test_bad_fd
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - do_select_bad_fd_nowait
    - close
    - failed
    linkageType: ''
    returnType: void
    signature: void test_bad_fd (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:328,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:329,1
    - Dst: connect_to_socket
      Src: /src/gnulib/tests/test-select.h:331,1
    - Dst: do_select_wait
      Src: /src/gnulib/tests/test-select.h:333,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:334,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:335,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:336,1
    - Dst: accept
      Src: /src/gnulib/tests/test-select.h:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:340,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:341,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:342,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: test_connect_first
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - accept
    - connect_to_socket
    - close
    - do_select_nowait
    - do_select_wait
    - failed
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_connect_first (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/gnulib/tests/test-select.h:358,1
    - Dst: accept
      Src: /src/gnulib/tests/test-select.h:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:366,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:367,1
    - Dst: write
      Src: /src/gnulib/tests/test-select.h:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:368,1
    - Dst: read
      Src: /src/gnulib/tests/test-select.h:368,1
    - Dst: shutdown
      Src: /src/gnulib/tests/test-select.h:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:370,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:370,1
    - Dst: exit
      Src: /src/gnulib/tests/test-select.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:375,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:375,1
    - Dst: connect_to_socket
      Src: /src/gnulib/tests/test-select.h:376,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:377,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:379,1
    - Dst: write
      Src: /src/gnulib/tests/test-select.h:379,1
    - Dst: wait
      Src: /src/gnulib/tests/test-select.h:380,1
    - Dst: do_select_wait
      Src: /src/gnulib/tests/test-select.h:381,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:383,1
    - Dst: read
      Src: /src/gnulib/tests/test-select.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:384,1
    - Dst: write
      Src: /src/gnulib/tests/test-select.h:384,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 388
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 388
    functionName: test_accept_first
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - shutdown
    - accept
    - failed
    - connect_to_socket
    - close
    - write
    - wait
    - do_select_nowait
    - do_select_wait
    - read
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_accept_first (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_select_wait
      Src: /src/gnulib/tests/test-select.h:397,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:398,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:399,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:402,1
    - Dst: write
      Src: /src/gnulib/tests/test-select.h:402,1
    - Dst: do_select_wait
      Src: /src/gnulib/tests/test-select.h:403,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:404,1
    - Dst: do_select_nowait
      Src: /src/gnulib/tests/test-select.h:405,1
    - Dst: failed
      Src: /src/gnulib/tests/test-select.h:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:408,1
    - Dst: read
      Src: /src/gnulib/tests/test-select.h:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rd
    - wd
    - my_select
    argTypes:
    - int
    - int
    - select_fn
    constantsTouched: []
    func_position:
      end: 409
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 409
    functionName: test_pair
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - do_select_nowait
    - read
    - do_select_wait
    - failed
    - write
    linkageType: ''
    returnType: void
    signature: void test_pair (int rd, int wd, select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:424,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:424,1
    - Dst: test_pair
      Src: /src/gnulib/tests/test-select.h:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:427,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:428,1
    - Dst: write
      Src: /src/gnulib/tests/test-select.h:428,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 430
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 430
    functionName: test_socket_pair
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - test_pair
    - close
    - ASSERT
    - write
    linkageType: ''
    returnType: void
    signature: void test_socket_pair (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:440,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-select.h:440,1
    - Dst: test_pair
      Src: /src/gnulib/tests/test-select.h:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:442,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-select.h:443,1
    - Dst: close
      Src: /src/gnulib/tests/test-select.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: test_pipe
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 0
    functionsReached:
    - pipe
    - test_pair
    - ASSERT
    - close
    linkageType: ''
    returnType: void
    signature: void test_pipe (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-select.h:455,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:456,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:459,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:460,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:461,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:462,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:463,1
    - Dst: test
      Src: /src/gnulib/tests/test-select.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - my_select
    argTypes:
    - select_fn
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-select.h
    functionUses: 122
    functionsReached:
    - printf
    - test
    linkageType: ''
    returnType: int
    signature: int test_function (select_fn my_select)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-mbrlen-w32.c:43,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrlen-w32.c:46,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrlen-w32.c:58,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:81,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:82,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:89,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:95,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:100,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:103,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:103,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:111,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:140,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:140,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:147,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:150,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:150,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:159,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:163,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:163,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:168,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:168,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:173,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:173,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:178,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:178,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:183,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:183,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:191,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:195,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:195,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:200,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:200,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:205,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:205,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:210,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:210,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:215,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrlen-w32.c:221,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:221,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:225,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:229,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:229,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:234,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:234,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:239,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:239,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:244,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:244,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:250,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:250,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:255,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:255,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:258,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:261,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:263,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:266,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:268,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:271,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:273,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:276,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:278,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:281,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:283,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:286,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:288,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:291,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:293,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:296,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:298,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:301,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:303,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:306,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:314,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:318,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:318,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:323,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:323,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:329,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:329,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:334,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:334,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:339,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:339,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:345,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:345,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:348,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:350,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:352,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:354,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:362,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:366,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:366,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:371,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:371,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:377,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:377,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:382,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:382,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:387,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:387,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:393,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:393,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:396,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:398,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:400,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:402,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:410,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:414,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:414,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:419,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:419,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:425,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:425,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:430,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:430,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:435,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:435,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:441,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:441,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:444,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:446,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:448,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:450,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrlen-w32.c:456,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:456,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:460,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:464,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:464,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:469,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:469,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:474,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:474,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:479,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:479,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:487,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:487,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:492,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen-w32.c:492,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:495,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:498,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:500,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:503,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:505,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:508,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:510,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:513,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:515,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:518,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen-w32.c:520,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen-w32.c:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen-w32.c:523,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 428
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 530
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 530
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-mbrlen-w32.c
    functionUses: 0
    functionsReached:
    - mbrlen
    - setlocale
    - mbsinit
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbrlen-w32.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 556
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 556
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrlen-w32.c
    functionUses: 8
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrlen-w32.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrlen-w32.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/tests/test-execvpe-main.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: get_environ_assignment
    functionSourceFile: /src/gnulib/tests/test-execvpe-main.c
    functionUses: 2
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_environ_assignment (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execvpe-main.c:59,1
    - Dst: get_environ_assignment
      Src: /src/gnulib/tests/test-execvpe-main.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - env
    argTypes:
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: create_minimal_env
    functionSourceFile: /src/gnulib/tests/test-execvpe-main.c
    functionUses: 2
    functionsReached:
    - get_environ_assignment
    linkageType: ''
    returnType: void
    signature: void create_minimal_env (const char *env[5])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_minimal_env
      Src: /src/gnulib/tests/test-execvpe-main.c:89,1
    - Dst: execvpe
      Src: /src/gnulib/tests/test-execvpe-main.c:90,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execvpe-main.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execvpe-main.c
    functionUses: 8
    functionsReached:
    - execvpe
    - create_minimal_env
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-4.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:43,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:46,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:46,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:54,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:57,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:59,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:62,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-4.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:65,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:67,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:69,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:69,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:74,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:74,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:75,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:77,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:77,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:79,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:82,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-4.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:85,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:88,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:90,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:92,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:92,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:98,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:100,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:103,1
    - Dst: fesetenv
      Src: /src/gnulib/tests/test-fenv-env-4.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:106,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-4.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:107,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:110,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:110,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:125,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:129,1
    - Dst: feholdexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-4.c:132,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-4.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-4.c
    functionUses: 8
    functionsReached:
    - fetestexcept
    - fesetenv
    - fputs
    - feenableexcept
    - feclearexcept
    - fegetexcept
    - fegetround
    - feholdexcept
    - feraiseexcept
    - fesetround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcsncpy
      Src: /src/gnulib/tests/test-wcsncpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ws1
    - ws2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_wcsncpy
    functionSourceFile: /src/gnulib/tests/test-wcsncpy.c
    functionUses: 0
    functionsReached:
    - wcsncpy
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wcsncpy (wchar_t *ws1, wchar_t const *ws2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncpy.c:44,1
    - Dst: wcsncpy
      Src: /src/gnulib/tests/test-wcsncpy.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsncpy.c:48,1
    - Dst: wcsncpy
      Src: /src/gnulib/tests/test-wcsncpy.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsncpy.c
    functionUses: 8
    functionsReached:
    - wcsncpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmal1.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmal1.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:35,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:36,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:37,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:38,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:39,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:40,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:41,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:42,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hasmntopt.c:43,1
    - Dst: hasmntopt
      Src: /src/gnulib/tests/test-hasmntopt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hasmntopt.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - hasmntopt
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-hasmntopt.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hasmntopt.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:53,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:73,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:78,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:85,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:86,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:88,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:90,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:93,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:106,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:107,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:109,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:111,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:111,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:113,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:116,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:148,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:148,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:154,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:154,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:164,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:165,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:177,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:178,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:181,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:182,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:183,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:186,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:187,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:188,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:194,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:195,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:196,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:200,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:201,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:202,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:205,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:206,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:207,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:211,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:212,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:213,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:214,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:217,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:218,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:219,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:224,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:224,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:227,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:228,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:229,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:232,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:232,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:235,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:235,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:240,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:246,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:261,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:262,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:279,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:280,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:287,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:288,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:291,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:292,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:293,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:299,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:300,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:303,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:304,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:305,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:311,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:312,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:316,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:317,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:321,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:322,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:323,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:327,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:328,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:329,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:330,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:333,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:334,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:335,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:338,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:339,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:340,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:343,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:344,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:347,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:351,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:387,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:387,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:393,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:393,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:403,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:404,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:416,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:419,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:420,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:425,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:428,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:429,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:435,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:435,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:438,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:439,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:440,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:444,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:447,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:462,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:463,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:472,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:477,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:480,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:481,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:484,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:485,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:491,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:492,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:495,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:496,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:499,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:500,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:506,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:507,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:510,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:511,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:514,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:515,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:516,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:522,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:522,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:525,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:526,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:527,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:531,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:532,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:533,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:535,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:538,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:554,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:555,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:558,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:561,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:562,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-fma2.h:564,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:564,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:564,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:567,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:567,1
    - Dst: POW2
      Src: /src/gnulib/tests/test-fma2.h:570,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:571,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-fma2.h:572,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:572,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma2.h:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma2.h:574,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-fma2.h:574,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma2.h:574,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 254
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 576
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fma2.h
    functionUses: 123
    functionsReached:
    - my_fma
    - L_
    - LDEXP
    - POW2
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (DOUBLE (*my_fma) (DOUBLE, DOUBLE, DOUBLE))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-digest.h:27,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-digest.h:28,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-digest.h:37,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-digest.h:50,1
    - Dst: FUNC
      Src: /src/gnulib/tests/bench-digest.h:56,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-digest.h:59,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-digest.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-digest.h
    functionUses: 8
    functionsReached:
    - exit
    - FUNC
    - timing_end
    - timing_output
    - timing_start
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg1
    - arg2
    - arg3
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: stackoverflow_handler_continuation
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void stackoverflow_handler_continuation (void *arg1, void *arg2, void
      *arg3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:103,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:105,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:106,1
    - Dst: sigsegv_leave_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - emergency
    - scp
    argTypes:
    - int
    - stackoverflow_context_t
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: stackoverflow_handler
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 0
    functionsReached:
    - abort
    - printf
    - sigsegv_leave_handler
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void stackoverflow_handler (int emergency, stackoverflow_context_t
      scp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - p
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: recurse_1
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 3
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: 'int *

      recurse_1 (int n, volatile int *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: recurse
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 1
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: int recurse (volatile int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:136,1
    - Dst: prepare_alternate_stack
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:140,1
    - Dst: stackoverflow_install_handler
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:143,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:146,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:151,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:152,1
    - Dst: setjmp
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:155,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:158,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:158,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:160,1
    - Dst: recurse
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:161,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:162,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:162,1
    - Dst: abort
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:166,1
    - Dst: check_alternate_stack_no_overflow
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:170,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:172,1
    - Dst: exit
      Src: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 8
    functionsReached:
    - prepare_alternate_stack
    - abort
    - exit
    - setrlimit
    - setjmp
    - check_alternate_stack_no_overflow
    - sigemptyset
    - stackoverflow_install_handler
    - sigprocmask
    - printf
    - recurse
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigsegv-catch-stackoverflow1.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbrtl
      Src: /src/gnulib/tests/test-cbrtl.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrtl.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrtl.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrtl.c
    functionUses: 8
    functionsReached:
    - test_function
    - cbrtl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-ldtoastr.c:31,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-ldtoastr.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-ldtoastr.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ldtoastr.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-ldtoastr.c:45,1
    - Dst: c_ldtoastr
      Src: /src/gnulib/tests/test-c-ldtoastr.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-ldtoastr.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-ldtoastr.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-ldtoastr.c
    functionUses: 8
    functionsReached:
    - c_ldtoastr
    - setlocale
    - snprintf
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:27,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:28,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:30,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:31,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:32,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:33,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:35,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:36,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:37,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:38,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:39,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-str_endswith.c:40,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-str_endswith.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-str_endswith.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - str_endswith
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:35,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex-type.c
    functionUses: 3
    functionsReached:
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (pthread_mutex_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:58,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:59,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:60,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:61,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:61,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:70,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:71,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:72,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:73,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:73,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:82,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:83,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:84,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:85,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:85,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:94,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:95,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:96,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:97,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:97,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:105,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:105,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:106,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:109,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:111,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:112,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:123,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-pthread-mutex-type.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-mutex-type.c
    functionUses: 8
    functionsReached:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_init
    - get_effective_type
    - pthread_mutex_init
    - strcmp
    - pthread_mutexattr_settype
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:68,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: handler
    functionSourceFile: /src/gnulib/tests/test-sigaction.c
    functionUses: 23
    functionsReached:
    - ASSERT
    - sigaction
    linkageType: ''
    returnType: void
    signature: void handler (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:97,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-sigaction.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:98,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:99,1
    - Dst: raise
      Src: /src/gnulib/tests/test-sigaction.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:102,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:105,1
    - Dst: raise
      Src: /src/gnulib/tests/test-sigaction.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:108,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:115,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:116,1
    - Dst: raise
      Src: /src/gnulib/tests/test-sigaction.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:117,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-sigaction.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigaction.c:119,1
    - Dst: raise
      Src: /src/gnulib/tests/test-sigaction.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigaction.c
    functionUses: 8
    functionsReached:
    - raise
    - sigemptyset
    - ASSERT
    - sigaction
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/gnulib/tests/test-fmod.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmod.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmod.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmod.c
    functionUses: 8
    functionsReached:
    - test_function
    - fmod
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_pbkdf2_sha1
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:90,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:94,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:99,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-pbkdf2-sha1.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 107
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-pbkdf2-sha1.c
    functionUses: 8
    functionsReached:
    - printf
    - gc_pbkdf2_sha1
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-login_tty.c:42,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-login_tty.c:52,1
    - Dst: tcgetpgrp
      Src: /src/gnulib/tests/test-login_tty.c:66,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-login_tty.c:66,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-login_tty.c:68,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-login_tty.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-login_tty.c:69,1
    - Dst: tcgetpgrp
      Src: /src/gnulib/tests/test-login_tty.c:70,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-login_tty.c:70,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-login_tty.c:71,1
    - Dst: abort
      Src: /src/gnulib/tests/test-login_tty.c:72,1
    - Dst: tcgetsid
      Src: /src/gnulib/tests/test-login_tty.c:76,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-login_tty.c:81,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-login_tty.c:81,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-login_tty.c:82,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-login_tty.c:84,1
    - Dst: abort
      Src: /src/gnulib/tests/test-login_tty.c:85,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-login_tty.c:90,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-login_tty.c:92,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-login_tty.c:92,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-login_tty.c:93,1
    - Dst: tcgetsid
      Src: /src/gnulib/tests/test-login_tty.c:94,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-login_tty.c:94,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-login_tty.c:95,1
    - Dst: abort
      Src: /src/gnulib/tests/test-login_tty.c:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-login_tty.c
    functionUses: 8
    functionsReached:
    - abort
    - tcgetpgrp
    - getpid
    - fflush
    - freopen
    - fprintf
    - tcgetsid
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale2.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale2.c:32,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale2.c:32,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale2.c:34,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-setlocale2.c:35,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale2.c:40,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale2.c:45,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-setlocale2.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale2.c:47,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale2.c:47,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale2.c:49,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-setlocale2.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale2.c
    functionUses: 8
    functionsReached:
    - fprintf
    - getenv
    - strcmp
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-ptsname_r.c:59,1
    - Dst: stat
      Src: /src/gnulib/tests/test-ptsname_r.c:60,1
    - Dst: stat
      Src: /src/gnulib/tests/test-ptsname_r.c:61,1
    - Dst: psame_inode
      Src: /src/gnulib/tests/test-ptsname_r.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - slave_name1
    - slave_name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: same_slave
    functionSourceFile: /src/gnulib/tests/test-ptsname_r.c
    functionUses: 1
    functionsReached:
    - stat
    - strcmp
    - psame_inode
    linkageType: ''
    returnType: int
    signature: int same_slave (const char *slave_name1, const char *slave_name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-ptsname_r.c:74,1
    - Dst: memset
      Src: /src/gnulib/tests/test-ptsname_r.c:80,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:91,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:100,1
    - Dst: null_ptr
      Src: /src/gnulib/tests/test-ptsname_r.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - fd
    - slave
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 104
    functionName: test_errors
    functionSourceFile: /src/gnulib/tests/test-ptsname_r.c
    functionUses: 1
    functionsReached:
    - ptsname_r
    - null_ptr
    - strlen
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_errors (int fd, const char *slave)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-ptsname_r.c:117,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-ptsname_r.c:118,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:127,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:136,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:141,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname_r.c:150,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:153,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:166,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:171,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:177,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname_r.c:177,1
    - Dst: test_errors
      Src: /src/gnulib/tests/test-ptsname_r.c:179,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:181,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:199,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:204,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:210,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-ptsname_r.c:210,1
    - Dst: test_errors
      Src: /src/gnulib/tests/test-ptsname_r.c:212,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:216,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:232,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:233,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:241,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:243,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname_r.c:243,1
    - Dst: test_errors
      Src: /src/gnulib/tests/test-ptsname_r.c:245,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:247,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:265,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:266,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:274,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:276,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname_r.c:276,1
    - Dst: test_errors
      Src: /src/gnulib/tests/test-ptsname_r.c:278,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:281,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:299,1
    - Dst: open
      Src: /src/gnulib/tests/test-ptsname_r.c:300,1
    - Dst: ptsname_r
      Src: /src/gnulib/tests/test-ptsname_r.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:308,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-ptsname_r.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ptsname_r.c:310,1
    - Dst: same_slave
      Src: /src/gnulib/tests/test-ptsname_r.c:310,1
    - Dst: test_errors
      Src: /src/gnulib/tests/test-ptsname_r.c:312,1
    - Dst: close
      Src: /src/gnulib/tests/test-ptsname_r.c:314,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 322
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ptsname_r.c
    functionUses: 8
    functionsReached:
    - same_slave
    - test_errors
    - ptsname_r
    - alarm
    - signal
    - open
    - close
    - memcmp
    - sprintf
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:34,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:46,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:59,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:79,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:81,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:83,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp2.h:85,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:87,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:88,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:103,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:105,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp2.h:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp2.h:110,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:112,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:112,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:113,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:113,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:116,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:116,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2.h:116,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2.h:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 121
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-exp2.h
    functionUses: 125
    functionsReached:
    - L_
    - SIZEOF
    - EXP2
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_types-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-libgmp-mpz.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-libgmp-mpz.c:43,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-libgmp-mpz.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-libgmp-mpz.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-libgmp-mpz.c:51,1
    - Dst: exit
      Src: /src/gnulib/tests/test-libgmp-mpz.c:54,1
    - Dst: MPZ_ROINIT_N
      Src: /src/gnulib/tests/test-libgmp-mpz.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpz.c:63,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpz.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpz.c:64,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpz.c:64,1
    - Dst: mpz_init
      Src: /src/gnulib/tests/test-libgmp-mpz.c:67,1
    - Dst: mpz_add
      Src: /src/gnulib/tests/test-libgmp-mpz.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpz.c:69,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpz.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpz.c:70,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpz.c:70,1
    - Dst: mpz_clear
      Src: /src/gnulib/tests/test-libgmp-mpz.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-libgmp-mpz.c
    functionUses: 8
    functionsReached:
    - exit
    - mpz_get_si
    - MPZ_ROINIT_N
    - mpz_fits_slong_p
    - strcmp
    - mpz_init
    - sprintf
    - mpz_clear
    - mpz_add
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _fstat
      Src: /src/gnulib/tests/test-execute-child.c:34,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-execute-child.c:37,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-execute-child.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: is_device
    functionSourceFile: /src/gnulib/tests/test-execute-child.c
    functionUses: 0
    functionsReached:
    - _fstat
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: int
    signature: int is_device (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - dummy
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: gl_msvc_invalid_parameter_handler
    functionSourceFile: /src/gnulib/tests/test-execute-child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gl_msvc_invalid_parameter_handler (const wchar_t *expression,\n
      \                                  const wchar_t *function,\n                                   const
      wchar_t *file,\n                                   unsigned int line,\n                                   uintptr_t
      dummy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-execute-child.c:106,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-execute-child.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-execute-child.c
    functionUses: 4
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: int
    signature: int is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:134,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:136,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:137,1
    - Dst: raise
      Src: /src/gnulib/tests/test-execute-child.c:143,1
    - Dst: raise
      Src: /src/gnulib/tests/test-execute-child.c:148,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-execute-child.c:152,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-execute-child.c:152,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-execute-child.c:155,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-child.c:158,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-execute-child.c:158,1
    - Dst: is_device
      Src: /src/gnulib/tests/test-execute-child.c:163,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-execute-child.c:166,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-execute-child.c:166,1
    - Dst: is_device
      Src: /src/gnulib/tests/test-execute-child.c:171,1
    - Dst: _set_invalid_parameter_handler
      Src: /src/gnulib/tests/test-execute-child.c:179,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-execute-child.c:190,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-execute-child.c:192,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-execute-child.c:193,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:196,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-execute-child.c:200,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-execute-child.c:200,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-execute-child.c:210,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-child.c:227,1
    - Dst: _isatty
      Src: /src/gnulib/tests/test-execute-child.c:227,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-child.c:229,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-execute-child.c:229,1
    - Dst: _chdir
      Src: /src/gnulib/tests/test-execute-child.c:237,1
    - Dst: _getcwd
      Src: /src/gnulib/tests/test-execute-child.c:239,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-execute-child.c:242,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-execute-child.c:244,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-execute-child.c:247,1
    - Dst: abort
      Src: /src/gnulib/tests/test-execute-child.c:250,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 252
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execute-child.c
    functionUses: 8
    functionsReached:
    - _set_invalid_parameter_handler
    - strcmp
    - isatty
    - fgetc
    - memcmp
    - sprintf
    - strlen
    - raise
    - _getcwd
    - is_open
    - abort
    - chdir
    - fputs
    - getcwd
    - is_device
    - fflush
    - _isatty
    - _chdir
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-zprintf-posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-zprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-1.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snan-1.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-snan-1.c:57,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-snan-1.c:58,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-snan-1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snan-1.c:75,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-snan-1.c:75,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-snan-1.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snan-1.c:81,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-snan-1.c:81,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-snan-1.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snan-1.c:99,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-snan-1.c:99,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snan-1.c
    functionUses: 8
    functionsReached:
    - fetestexcept
    - SNaNd
    - feclearexcept
    - SNaNf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-threads.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_get_mapping.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_mapping.c:34,1
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_get_mapping.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_mapping.c:37,1
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_get_mapping.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_get_mapping.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32_get_mapping.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - c32_get_mapping
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:74,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:74,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:76,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct stat*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: ctime_compare
    functionSourceFile: /src/gnulib/tests/test-utimens-common.h
    functionUses: 3
    functionsReached:
    - get_stat_ctime_ns
    linkageType: ''
    returnType: int
    signature: int ctime_compare (struct stat const *a, struct stat const *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens-common.h:91,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-utimens-common.h:91,1
    - Dst: nap
      Src: /src/gnulib/tests/test-utimens-common.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens-common.h:93,1
    - Dst: read
      Src: /src/gnulib/tests/test-utimens-common.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens-common.h:94,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-utimens-common.h:94,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:103,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-utimens-common.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - st
    argTypes:
    - int
    - struct stat*
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: checkable_atime
    functionSourceFile: /src/gnulib/tests/test-utimens-common.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - get_stat_atime_ns
    - nap
    - read
    - fstat
    linkageType: ''
    returnType: bool
    signature: bool checkable_atime (int fd, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-getdelim.c:40,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-getdelim.c:41,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getdelim.c:41,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getdelim.c:43,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getdelim.c:44,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-getdelim.c:47,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getdelim.c:50,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getdelim.c:51,1
    - Dst: getdelim
      Src: /src/gnulib/tests/test-getdelim.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getdelim.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/test-getdelim.c:62,1
    - Dst: getdelim
      Src: /src/gnulib/tests/test-getdelim.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getdelim.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:70,1
    - Dst: free
      Src: /src/gnulib/tests/test-getdelim.c:71,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getdelim.c:74,1
    - Dst: getdelim
      Src: /src/gnulib/tests/test-getdelim.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getdelim.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:79,1
    - Dst: getdelim
      Src: /src/gnulib/tests/test-getdelim.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:84,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getdelim.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:85,1
    - Dst: getdelim
      Src: /src/gnulib/tests/test-getdelim.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getdelim.c:88,1
    - Dst: free
      Src: /src/gnulib/tests/test-getdelim.c:90,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getdelim.c:91,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getdelim.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getdelim.c
    functionUses: 8
    functionsReached:
    - fopen
    - remove
    - fclose
    - getdelim
    - fwrite
    - fputs
    - free
    - memcmp
    - strcmp
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbslen.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:34,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:35,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:38,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:39,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:40,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:42,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:43,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbslen.c:44,1
    - Dst: mbslen
      Src: /src/gnulib/tests/test-mbslen.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbslen.c
    functionUses: 8
    functionsReached:
    - mbslen
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:37,1
    - Dst: unlockpt
      Src: /src/gnulib/tests/test-unlockpt.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:38,1
    - Dst: close
      Src: /src/gnulib/tests/test-unlockpt.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:45,1
    - Dst: unlockpt
      Src: /src/gnulib/tests/test-unlockpt.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:53,1
    - Dst: unlockpt
      Src: /src/gnulib/tests/test-unlockpt.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlockpt.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-unlockpt.c
    functionUses: 8
    functionsReached:
    - unlockpt
    - ASSERT
    - close
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbschr.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbschr.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbschr.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbschr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbschr.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbschr.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbschr.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-tls.c:71,1
    - Dst: yield
      Src: /src/gnulib/tests/test-tls.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: perhaps_yield
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 1
    functionsReached:
    - random
    - yield
    linkageType: ''
    returnType: void
    signature: void perhaps_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:95,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:95,1
    - Dst: random
      Src: /src/gnulib/tests/test-tls.c:100,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:103,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tls.c:105,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:108,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:108,1
    - Dst: gl_tls_get
      Src: /src/gnulib/tests/test-tls.c:110,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:111,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:112,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:112,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tls.c:113,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:116,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:116,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:121,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:123,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:123,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tls.c:124,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:129,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:129,1
    - Dst: random
      Src: /src/gnulib/tests/test-tls.c:130,1
    - Dst: random
      Src: /src/gnulib/tests/test-tls.c:131,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:137,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:138,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tls.c:140,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:144,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:144,1
    - Dst: gl_tls_get
      Src: /src/gnulib/tests/test-tls.c:146,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:147,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:148,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:148,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tls.c:149,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:151,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 153
    functionName: worker_thread
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_thread_self_pointer
    - gl_tls_set
    - perhaps_yield
    - dbgprintf
    - random
    - gl_tls_get
    linkageType: ''
    returnType: void
    signature: 'void *

      worker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:166,1
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:169,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-tls.c:173,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-tls.c:177,1
    - Dst: gl_tls_key_destroy
      Src: /src/gnulib/tests/test-tls.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: test_tls
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - gl_tls_key_destroy
    - gl_thread_create
    - gl_tls_key_init
    linkageType: ''
    returnType: void
    signature: void test_tls (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/test-tls.c:203,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/test-tls.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: inc_sum
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 10
    functionsReached:
    - gl_lock_lock
    - gl_lock_unlock
    linkageType: ''
    returnType: void
    signature: void inc_sum (uintptr_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:212,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: destructor0
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor0 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:220,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: destructor1
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor1 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:228,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: destructor2
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor2 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:236,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: destructor3
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor3 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:244,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: destructor4
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor4 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:252,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: destructor5
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor5 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:260,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: destructor6
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor6 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:268,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: destructor7
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor7 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:276,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: destructor8
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor8 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:284,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tls.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: destructor9
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor9 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:314,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: dtorcheck1_thread
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_tls_key_init
    - gl_tls_set
    linkageType: ''
    returnType: void
    signature: 'void *

      dtorcheck1_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-tls.c:334,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-tls.c:338,1
    - Dst: gl_tls_key_destroy
      Src: /src/gnulib/tests/test-tls.c:343,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 351
    functionName: test_tls_dtorcheck1
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - gl_tls_key_destroy
    - gl_thread_create
    - abort
    linkageType: ''
    returnType: void
    signature: void test_tls_dtorcheck1 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:363,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: dtorcheck2_thread
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_tls_key_init
    - gl_tls_set
    linkageType: ''
    returnType: void
    signature: 'void *

      dtorcheck2_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-tls.c:383,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-tls.c:387,1
    - Dst: gl_tls_key_destroy
      Src: /src/gnulib/tests/test-tls.c:392,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 400
    functionName: test_tls_dtorcheck2
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - gl_tls_key_destroy
    - gl_thread_create
    - abort
    linkageType: ''
    returnType: void
    signature: void test_tls_dtorcheck2 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:429,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:429,1
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:433,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:434,1
    - Dst: random
      Src: /src/gnulib/tests/test-tls.c:439,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:440,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:440,1
    - Dst: gl_tls_key_destroy
      Src: /src/gnulib/tests/test-tls.c:441,1
    - Dst: gl_tls_key_init
      Src: /src/gnulib/tests/test-tls.c:442,1
    - Dst: gl_tls_set
      Src: /src/gnulib/tests/test-tls.c:443,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tls.c:446,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-tls.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 448
    functionName: racecheck_thread
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - gl_tls_key_init
    - gl_tls_set
    - dbgprintf
    - random
    - gl_tls_key_destroy
    linkageType: ''
    returnType: void
    signature: 'void *

      racecheck_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-tls.c:462,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-tls.c:466,1
    - Dst: gl_tls_key_destroy
      Src: /src/gnulib/tests/test-tls.c:471,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tls.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 479
    functionName: test_tls_racecheck
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - gl_tls_key_destroy
    - gl_thread_create
    - abort
    linkageType: ''
    returnType: void
    signature: void test_tls_racecheck (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-tls.c:495,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-tls.c:496,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:499,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:499,1
    - Dst: test_tls
      Src: /src/gnulib/tests/test-tls.c:500,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:501,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:501,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:503,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:503,1
    - Dst: test_tls_dtorcheck1
      Src: /src/gnulib/tests/test-tls.c:504,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:505,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:505,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:507,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:507,1
    - Dst: test_tls_dtorcheck2
      Src: /src/gnulib/tests/test-tls.c:508,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:509,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:509,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tls.c:513,1
    - Dst: exit
      Src: /src/gnulib/tests/test-tls.c:515,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:517,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:517,1
    - Dst: test_tls_racecheck
      Src: /src/gnulib/tests/test-tls.c:518,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tls.c:519,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tls.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 523
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 8
    functionsReached:
    - test_tls_racecheck
    - exit
    - alarm
    - signal
    - fputs
    - test_tls_dtorcheck2
    - fflush
    - printf
    - test_tls
    - test_tls_dtorcheck1
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-tls.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tls.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabsf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabsf-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-termios-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:35,1
    - Dst: sd_new_empty
      Src: /src/gnulib/tests/test-string-desc.c:37,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:38,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:42,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-desc.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:43,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-desc.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:44,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-desc.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:47,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:48,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:49,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:50,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:51,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:52,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:53,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:54,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:55,1
    - Dst: sd_char_at
      Src: /src/gnulib/tests/test-string-desc.c:55,1
    - Dst: sd_data
      Src: /src/gnulib/tests/test-string-desc.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:59,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc.c:59,1
    - Dst: sd_data
      Src: /src/gnulib/tests/test-string-desc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:60,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc.c:60,1
    - Dst: sd_data
      Src: /src/gnulib/tests/test-string-desc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:63,1
    - Dst: sd_is_empty
      Src: /src/gnulib/tests/test-string-desc.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:64,1
    - Dst: sd_is_empty
      Src: /src/gnulib/tests/test-string-desc.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:65,1
    - Dst: sd_is_empty
      Src: /src/gnulib/tests/test-string-desc.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:68,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:69,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:70,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:71,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:72,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:72,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:73,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:73,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:74,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:74,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:77,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:78,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:79,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:80,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:81,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:81,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:82,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:82,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:83,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:83,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:84,1
    - Dst: sd_endswith
      Src: /src/gnulib/tests/test-string-desc.c:84,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:87,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:88,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:89,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:90,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:91,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:92,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:93,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:94,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:95,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:98,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:99,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:100,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:101,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:102,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:103,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:104,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:105,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:106,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:107,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:107,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:107,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:108,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:108,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:108,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:109,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:109,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:109,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:110,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:110,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:110,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:111,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:111,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:111,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:112,1
    - Dst: sd_c_casecmp
      Src: /src/gnulib/tests/test-string-desc.c:112,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:112,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:115,1
    - Dst: sd_index
      Src: /src/gnulib/tests/test-string-desc.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:116,1
    - Dst: sd_index
      Src: /src/gnulib/tests/test-string-desc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:119,1
    - Dst: sd_last_index
      Src: /src/gnulib/tests/test-string-desc.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:120,1
    - Dst: sd_last_index
      Src: /src/gnulib/tests/test-string-desc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:123,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:123,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:124,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:124,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:125,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:125,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:126,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:126,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:127,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:127,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:128,1
    - Dst: sd_contains
      Src: /src/gnulib/tests/test-string-desc.c:128,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:131,1
    - Dst: sd_cmp
      Src: /src/gnulib/tests/test-string-desc.c:131,1
    - Dst: sd_substring
      Src: /src/gnulib/tests/test-string-desc.c:131,1
    - Dst: sd_from_c
      Src: /src/gnulib/tests/test-string-desc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:135,1
    - Dst: sd_write
      Src: /src/gnulib/tests/test-string-desc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:136,1
    - Dst: sd_write
      Src: /src/gnulib/tests/test-string-desc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:137,1
    - Dst: sd_write
      Src: /src/gnulib/tests/test-string-desc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:140,1
    - Dst: sd_fwrite
      Src: /src/gnulib/tests/test-string-desc.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:141,1
    - Dst: sd_fwrite
      Src: /src/gnulib/tests/test-string-desc.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:142,1
    - Dst: sd_fwrite
      Src: /src/gnulib/tests/test-string-desc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:146,1
    - Dst: sd_new
      Src: /src/gnulib/tests/test-string-desc.c:146,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:147,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:148,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:149,1
    - Dst: sd_fill
      Src: /src/gnulib/tests/test-string-desc.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:151,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-desc.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:152,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:156,1
    - Dst: sd_new_filled
      Src: /src/gnulib/tests/test-string-desc.c:156,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:157,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:158,1
    - Dst: sd_set_char_at
      Src: /src/gnulib/tests/test-string-desc.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:160,1
    - Dst: sd_length
      Src: /src/gnulib/tests/test-string-desc.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:161,1
    - Dst: sd_startswith
      Src: /src/gnulib/tests/test-string-desc.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:164,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-string-desc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:165,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-string-desc.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:170,1
    - Dst: sd_copy
      Src: /src/gnulib/tests/test-string-desc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:171,1
    - Dst: sd_is_empty
      Src: /src/gnulib/tests/test-string-desc.c:171,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-string-desc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:176,1
    - Dst: sd_copy
      Src: /src/gnulib/tests/test-string-desc.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:177,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-string-desc.c:177,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-string-desc.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:184,1
    - Dst: sd_copy
      Src: /src/gnulib/tests/test-string-desc.c:184,1
    - Dst: sd_overwrite
      Src: /src/gnulib/tests/test-string-desc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:186,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-string-desc.c:186,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:192,1
    - Dst: sd_concat
      Src: /src/gnulib/tests/test-string-desc.c:192,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:192,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:193,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:194,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-string-desc.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:196,1
    - Dst: sd_equals
      Src: /src/gnulib/tests/test-string-desc.c:196,1
    - Dst: sd_free
      Src: /src/gnulib/tests/test-string-desc.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-string-desc.c:204,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-string-desc.c:204,1
    - Dst: free
      Src: /src/gnulib/tests/test-string-desc.c:205,1
    - Dst: close
      Src: /src/gnulib/tests/test-string-desc.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 211
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 211
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-desc.c
    functionUses: 8
    functionsReached:
    - sd_overwrite
    - sd_endswith
    - sd_new
    - sd_c_casecmp
    - sd_cmp
    - sd_index
    - sd_is_empty
    - sd_new_filled
    - free
    - sd_startswith
    - close
    - memcmp
    - sd_new_empty
    - ASSERT
    - sd_fwrite
    - sd_from_c
    - sd_set_char_at
    - sd_equals
    - sd_contains
    - sd_write
    - sd_data
    - sd_char_at
    - sd_fill
    - sd_free
    - sd_length
    - sd_substring
    - sd_concat
    - sd_new_addr
    - sd_last_index
    - sd_copy
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:42,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:52,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:62,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:72,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:84,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:94,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:104,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:114,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:124,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:134,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:144,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:156,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:166,1
    - Dst: strtoumax
      Src: /src/gnulib/tests/test-strtoumax.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtoumax.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtoumax.c
    functionUses: 8
    functionsReached:
    - strtoumax
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_update_no_xor
      Src: /src/gnulib/tests/test-crc.c:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:69,1
    - Dst: crc32_no_xor
      Src: /src/gnulib/tests/test-crc.c:73,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:76,1
    - Dst: crc32_update
      Src: /src/gnulib/tests/test-crc.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:83,1
    - Dst: crc32
      Src: /src/gnulib/tests/test-crc.c:87,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:90,1
    - Dst: crc32_update_no_xor
      Src: /src/gnulib/tests/test-crc.c:106,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:109,1
    - Dst: crc32_update_no_xor
      Src: /src/gnulib/tests/test-crc.c:119,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:122,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-crc.c:133,1
    - Dst: crc32_update_no_xor
      Src: /src/gnulib/tests/test-crc.c:134,1
    - Dst: printf
      Src: /src/gnulib/tests/test-crc.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-crc.c
    functionUses: 8
    functionsReached:
    - crc32_update_no_xor
    - crc32_update
    - memcpy
    - crc32_no_xor
    - printf
    - crc32
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/virtualbox.h:41,1
    - Dst: memcmp
      Src: /src/gnulib/tests/virtualbox.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: is_running_under_virtualbox
    functionSourceFile: /src/gnulib/tests/virtualbox.h
    functionUses: 0
    functionsReached:
    - close
    - memcmp
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED is_running_under_virtualbox (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox
      Src: /src/gnulib/tests/virtualbox.h:57,1
    - Dst: close
      Src: /src/gnulib/tests/virtualbox.h:76,1
    - Dst: strtok_r
      Src: /src/gnulib/tests/virtualbox.h:82,1
    - Dst: strtok_r
      Src: /src/gnulib/tests/virtualbox.h:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/virtualbox.h:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: is_running_under_virtualbox_kvm
    functionSourceFile: /src/gnulib/tests/virtualbox.h
    functionUses: 4
    functionsReached:
    - strtok_r
    - is_running_under_virtualbox
    - close
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_running_under_virtualbox_kvm (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/virtualbox.h:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: num_cpus
    functionSourceFile: /src/gnulib/tests/virtualbox.h
    functionUses: 4
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int num_cpus (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long int
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: value_at
    functionSourceFile: /src/gnulib/tests/test-dynarray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int value_at (long long int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intseq_init
      Src: /src/gnulib/tests/test-dynarray.c:42,1
    - Dst: intseq_add
      Src: /src/gnulib/tests/test-dynarray.c:44,1
    - Dst: value_at
      Src: /src/gnulib/tests/test-dynarray.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dynarray.c:47,1
    - Dst: intseq_at
      Src: /src/gnulib/tests/test-dynarray.c:47,1
    - Dst: value_at
      Src: /src/gnulib/tests/test-dynarray.c:47,1
    - Dst: intseq_remove_last
      Src: /src/gnulib/tests/test-dynarray.c:48,1
    - Dst: intseq_free
      Src: /src/gnulib/tests/test-dynarray.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dynarray.c
    functionUses: 8
    functionsReached:
    - value_at
    - intseq_at
    - intseq_remove_last
    - intseq_free
    - intseq_add
    - ASSERT
    - intseq_init
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vdprintf-posix.c:42,1
    - Dst: vdprintf
      Src: /src/gnulib/tests/test-vdprintf-posix.c:43,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-vdprintf-posix.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vdprintf-posix.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_fprintf
    functionSourceFile: /src/gnulib/tests/test-vdprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - fileno
    - va_end
    - vdprintf
    linkageType: ''
    returnType: int
    signature: int my_fprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vdprintf-posix.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vdprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:30,1
    - Dst: scanf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:38,1
    - Dst: scanf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:40,1
    - Dst: exit
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:45,1
    - Dst: exit
      Src: /src/gnulib/tests/test-pipe-filter-gi2-child.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-child.c
    functionUses: 8
    functionsReached:
    - printf
    - exit
    - scanf
    - set_binary_mode
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_supersede
      Src: /src/gnulib/tests/test-supersede.c:51,1
    - Dst: test_open_supersede
      Src: /src/gnulib/tests/test-supersede.c:52,1
    - Dst: test_open_supersede
      Src: /src/gnulib/tests/test-supersede.c:53,1
    - Dst: test_open_supersede
      Src: /src/gnulib/tests/test-supersede.c:54,1
    - Dst: test_fopen_supersede
      Src: /src/gnulib/tests/test-supersede.c:56,1
    - Dst: test_fopen_supersede
      Src: /src/gnulib/tests/test-supersede.c:57,1
    - Dst: test_fopen_supersede
      Src: /src/gnulib/tests/test-supersede.c:58,1
    - Dst: test_fopen_supersede
      Src: /src/gnulib/tests/test-supersede.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-supersede.c
    functionUses: 8
    functionsReached:
    - test_fopen_supersede
    - test_open_supersede
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/gnulib/tests/test-inet_ntop.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_ntop.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_ntop.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-inet_ntop.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-inet_ntop.c
    functionUses: 8
    functionsReached:
    - inet_ntop
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-c-stack.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-stack.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-c-stack.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - p
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: recurse_1
    functionSourceFile: /src/gnulib/tests/test-c-stack.c
    functionUses: 5
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: 'int *

      recurse_1 (volatile int n, volatile int *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recurse_1
      Src: /src/gnulib/tests/test-c-stack.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: recurse
    functionSourceFile: /src/gnulib/tests/test-c-stack.c
    functionUses: 2
    functionsReached:
    - recurse_1
    linkageType: ''
    returnType: int
    signature: int recurse (volatile int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-c-stack.c:73,1
    - Dst: c_stack_action
      Src: /src/gnulib/tests/test-c-stack.c:76,1
    - Dst: recurse
      Src: /src/gnulib/tests/test-c-stack.c:83,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c-stack.c:85,1
    - Dst: perror
      Src: /src/gnulib/tests/test-c-stack.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-stack.c
    functionUses: 8
    functionsReached:
    - setrlimit
    - fputs
    - recurse
    - c_stack_action
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:36,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:36,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:39,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:39,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:42,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:42,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:45,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:45,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:48,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:48,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:51,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:51,1
    - Dst: sfl_ungetc
      Src: /src/gnulib/tests/test-sfl-istream.c:52,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:55,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:55,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:58,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:58,1
    - Dst: sfl_ungetc
      Src: /src/gnulib/tests/test-sfl-istream.c:59,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:62,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:62,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:65,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:65,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:68,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:68,1
    - Dst: sfl_ungetc
      Src: /src/gnulib/tests/test-sfl-istream.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:70,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:70,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:73,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:73,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:76,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:76,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:79,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:79,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:82,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:82,1
    - Dst: sfl_ungetc
      Src: /src/gnulib/tests/test-sfl-istream.c:83,1
    - Dst: sfl_getc
      Src: /src/gnulib/tests/test-sfl-istream.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:86,1
    - Dst: sfl_get_line_number
      Src: /src/gnulib/tests/test-sfl-istream.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:87,1
    - Dst: sfl_ferror
      Src: /src/gnulib/tests/test-sfl-istream.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sfl_istream_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 88
    functionName: test_open_stream
    functionSourceFile: /src/gnulib/tests/test-sfl-istream.c
    functionUses: 0
    functionsReached:
    - sfl_get_line_number
    - sfl_ferror
    - sfl_ungetc
    - sfl_getc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_open_stream (sfl_istream_t *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-sfl-istream.c:98,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-sfl-istream.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:101,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-sfl-istream.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sfl-istream.c:102,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-sfl-istream.c:102,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-sfl-istream.c:105,1
    - Dst: sfl_istream_init_from_file
      Src: /src/gnulib/tests/test-sfl-istream.c:107,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sfl-istream.c:108,1
    - Dst: sfl_free
      Src: /src/gnulib/tests/test-sfl-istream.c:109,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-sfl-istream.c:111,1
    - Dst: sfl_istream_init_from_string_desc
      Src: /src/gnulib/tests/test-sfl-istream.c:117,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-sfl-istream.c:118,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sfl-istream.c:119,1
    - Dst: sfl_free
      Src: /src/gnulib/tests/test-sfl-istream.c:120,1
    - Dst: sfl_istream_init_from_string
      Src: /src/gnulib/tests/test-sfl-istream.c:126,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sfl-istream.c:127,1
    - Dst: sfl_free
      Src: /src/gnulib/tests/test-sfl-istream.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sfl-istream.c
    functionUses: 8
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - unlink
    - test_open_stream
    - sfl_istream_init_from_string_desc
    - sd_new_addr
    - sfl_free
    - sfl_istream_init_from_file
    - sfl_istream_init_from_string
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-freopen-safer.c:43,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-freopen-safer.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:49,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freopen-safer.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:50,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:51,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-freopen-safer.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:52,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:52,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:53,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-freopen-safer.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:57,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:58,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:60,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:61,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:63,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:64,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:66,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:67,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:70,1
    - Dst: close
      Src: /src/gnulib/tests/test-freopen-safer.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:72,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:73,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:75,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:76,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:78,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:79,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-freopen-safer.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:84,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:85,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:87,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:88,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-freopen-safer.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:93,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-freopen-safer.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freopen-safer.c:94,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-freopen-safer.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freopen-safer.c
    functionUses: 8
    functionsReached:
    - fopen
    - fclose
    - dup2
    - close
    - fileno
    - fdopen
    - freopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/gnulib/tests/test-ssfmalloc.c:63,1
    - Dst: sysconf
      Src: /src/gnulib/tests/test-ssfmalloc.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: init_pagesize
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 0
    functionsReached:
    - sysconf
    - GetSystemInfo
    linkageType: ''
    returnType: void
    signature: void init_pagesize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: alloc_pages
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t alloc_pages (size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtualFree
      Src: /src/gnulib/tests/test-ssfmalloc.c:102,1
    - Dst: abort
      Src: /src/gnulib/tests/test-ssfmalloc.c:103,1
    - Dst: abort
      Src: /src/gnulib/tests/test-ssfmalloc.c:106,1
    - Dst: munmap
      Src: /src/gnulib/tests/test-ssfmalloc.c:107,1
    - Dst: abort
      Src: /src/gnulib/tests/test-ssfmalloc.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pages
    - size
    argTypes:
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: free_pages
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 0
    functionsReached:
    - abort
    - munmap
    - VirtualFree
    linkageType: ''
    returnType: void
    signature: void free_pages (uintptr_t pages, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-ssfmalloc.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block
    - size
    argTypes:
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: fill_block
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void fill_block (uintptr_t block, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-ssfmalloc.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - block
    - size
    argTypes:
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: verify_block
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void verify_block (uintptr_t block, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-ssfmalloc.c:279,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-ssfmalloc.c:279,1
    - Dst: init_pagesize
      Src: /src/gnulib/tests/test-ssfmalloc.c:281,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-ssfmalloc.c:293,1
    - Dst: abort
      Src: /src/gnulib/tests/test-ssfmalloc.c:311,1
    - Dst: fill_block
      Src: /src/gnulib/tests/test-ssfmalloc.c:312,1
    - Dst: verify_block
      Src: /src/gnulib/tests/test-ssfmalloc.c:324,1
    - Dst: free_block
      Src: /src/gnulib/tests/test-ssfmalloc.c:325,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-ssfmalloc.c:337,1
    - Dst: verify_block
      Src: /src/gnulib/tests/test-ssfmalloc.c:342,1
    - Dst: free_block
      Src: /src/gnulib/tests/test-ssfmalloc.c:343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 349
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ssfmalloc.c
    functionUses: 8
    functionsReached:
    - abort
    - free_block
    - fill_block
    - atoi
    - verify_block
    - srand
    - SIZEOF
    - init_pagesize
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freelocale.c:51,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:52,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freelocale.c:56,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:57,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freelocale.c:61,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:62,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:65,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:67,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:70,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:72,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:75,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:77,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:80,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:83,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:85,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:87,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:91,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-freelocale.c:94,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:96,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-freelocale.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freelocale.c
    functionUses: 8
    functionsReached:
    - freelocale
    - newlocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:48,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:49,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:49,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:70,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:76,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:80,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:98,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:110,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:114,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:118,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:120,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:122,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:128,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:133,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:136,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:141,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:143,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:146,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:148,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawnp-script.c:155,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawnp-script.c
    functionUses: 8
    functionsReached:
    - fopen
    - fclose
    - WIFEXITED
    - unlink
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - memcmp
    - posix_spawn_file_actions_addopen
    - waitpid
    - fprintf
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexpl.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexpl.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: have_minus_zero
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int have_minus_zero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:63,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: strmatch
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int strmatch (const char *pattern, const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 5
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:105,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:107,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:115,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:123,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:146,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:156,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:166,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:166,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:180,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:182,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:192,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:193,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:213,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:216,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:216,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:226,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:226,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:236,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:236,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:245,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:245,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:246,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:246,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:248,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:257,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:258,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:258,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:259,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:260,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:260,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:271,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:273,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:275,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:275,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:285,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:288,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:299,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:301,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:301,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:311,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:312,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:314,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:314,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:323,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:323,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:324,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:325,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:327,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:327,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:337,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:340,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:340,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:351,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:354,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:354,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:363,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:363,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:365,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:367,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:367,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:376,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:376,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:377,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:378,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:380,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:380,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:389,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:389,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:390,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:391,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:393,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:393,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:404,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:406,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:406,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:415,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:415,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:416,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:417,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:419,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:419,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:428,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:428,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:429,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:430,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:432,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:432,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:441,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:441,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:442,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:443,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:445,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:445,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:454,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:454,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:455,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:456,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:458,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:458,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:467,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:467,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:468,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:469,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:471,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:471,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:481,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:482,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:484,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:494,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:495,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:497,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:508,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:509,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:509,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:520,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:520,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:521,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:521,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:521,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:522,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:523,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:523,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:532,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:532,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:533,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:534,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:536,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:536,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:545,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:545,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:546,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:547,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:549,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:549,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:558,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:559,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:559,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:567,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:569,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:570,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:570,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:581,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:582,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:591,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:592,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:592,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:601,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:601,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:602,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:602,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:603,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:604,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:604,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:613,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:613,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:614,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:614,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:615,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:616,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:616,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:617,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:628,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:628,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:629,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:629,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:630,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:631,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:631,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:632,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:642,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:643,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:643,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:645,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:645,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:646,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:657,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:657,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:658,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:667,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:668,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:668,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:669,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:678,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:679,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:679,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:680,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:689,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:690,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:691,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:700,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:701,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:712,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:713,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:715,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:715,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:724,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:724,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:725,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:728,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:728,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:737,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:737,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:738,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:739,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:741,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:751,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:752,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:754,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:754,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:763,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:763,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:764,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:765,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:767,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:778,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:780,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:780,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:791,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:791,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:793,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:795,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:795,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:804,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:804,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:805,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:808,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:818,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:819,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:821,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:821,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:830,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:830,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:832,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:834,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:834,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:843,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:843,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:844,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:845,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:847,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:847,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:856,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:856,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:857,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:858,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:860,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:860,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:869,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:869,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:871,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:873,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:873,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:882,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:882,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:883,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:884,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:895,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:895,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:896,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:899,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:899,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:908,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:908,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:909,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:910,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:912,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:912,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:921,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:921,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:922,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:923,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:925,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:925,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:934,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:934,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:935,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:936,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:938,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:938,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:949,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:950,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:950,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:961,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:962,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:962,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:963,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:964,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:964,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:975,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:976,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:976,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:985,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:986,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:986,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:987,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1075,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1075,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1076,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1076,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1077,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1085,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1086,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1087,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1087,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1096,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1097,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1097,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1105,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1108,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1108,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1119,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1119,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1130,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1139,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1140,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1142,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1142,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1151,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1151,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1152,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1152,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1154,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1154,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1215,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1224,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1225,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1225,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1235,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1235,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1244,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1245,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1245,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1256,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1256,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1265,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1265,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1266,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1266,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1267,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1268,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1268,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1278,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1278,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1287,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1288,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1298,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1298,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1307,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1308,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1317,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1318,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1318,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1319,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1407,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1408,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1408,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1418,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1419,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1419,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1428,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1429,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1429,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1437,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1440,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1440,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1451,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1451,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1460,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1460,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1462,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1462,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1471,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1471,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1472,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1472,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1473,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1474,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1474,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1483,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1484,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1485,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1486,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1487,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1498,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1498,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1499,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1499,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1500,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1501,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1501,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1502,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1512,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1512,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1513,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1513,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1514,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1515,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1515,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1516,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1526,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1527,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1527,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1528,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1537,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1538,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1539,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1548,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1549,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1549,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1550,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1559,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1560,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1560,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1561,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1570,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1571,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1571,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1581,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1582,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1591,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1592,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1592,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1601,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1602,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1602,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1611,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1612,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1612,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1621,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1622,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1622,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1631,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1632,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1632,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1642,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1651,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1652,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1652,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1661,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1662,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1662,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1671,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1671,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1673,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1673,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1682,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1682,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1683,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1683,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1683,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1684,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1685,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1685,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1694,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1695,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1695,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1703,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1704,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1705,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1705,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1714,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1715,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1715,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1727,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1727,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1736,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1737,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1737,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1747,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1747,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1756,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1757,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1757,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1765,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1767,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1768,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1768,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1779,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1779,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1788,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1788,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1789,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1790,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1790,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1799,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1799,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1800,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1800,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1801,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1802,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1802,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1811,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1811,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1812,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1813,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1814,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1814,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1824,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1825,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1825,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1834,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1834,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1836,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1836,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1845,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1846,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1846,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1856,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1856,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1865,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1866,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1866,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1875,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1876,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1876,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1885,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1895,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1896,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1896,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1905,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1906,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1906,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1914,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1916,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1917,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1917,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1926,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1926,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1928,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1928,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1937,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1937,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1939,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1939,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1948,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1948,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1949,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1950,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1951,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1951,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1960,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1960,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1961,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1962,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1963,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1963,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1973,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1974,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1974,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1982,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1983,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1983,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1985,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1985,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1994,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1995,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1995,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:1996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2004,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2005,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2005,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2014,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2015,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2015,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2016,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2026,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2026,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2028,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2028,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2036,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2037,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2037,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2039,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2039,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2040,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2131,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2131,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2137,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2137,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2149,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2160,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2168,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2170,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2170,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2172,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2172,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2183,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2183,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2192,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2192,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2194,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2194,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2203,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2203,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2204,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2206,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2215,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2216,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2216,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2217,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2218,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2218,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2230,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2230,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2241,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2241,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2252,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2252,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2261,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2261,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2263,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2263,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2274,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2274,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2283,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2283,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2285,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2285,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2296,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2296,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2307,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2307,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2316,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2316,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2318,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2318,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2327,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2327,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2329,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2329,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2340,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2340,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2349,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2349,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2350,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2350,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2351,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2352,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2352,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2361,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2361,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2363,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2363,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2372,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2372,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2374,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2385,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2394,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2394,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2396,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2396,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2405,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2405,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2407,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2407,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2408,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2497,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2499,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2499,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2500,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2500,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2501,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2502,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2502,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2505,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2505,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2515,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2515,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2517,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2517,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2528,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2528,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2536,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2540,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2540,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2549,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2549,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2551,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2551,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2560,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2560,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2562,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2562,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2571,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2571,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2572,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2573,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2574,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2574,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2583,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2584,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2584,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2585,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2586,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2586,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2587,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2598,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2599,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2599,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2600,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2610,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2611,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2611,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2612,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2622,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2623,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2623,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2624,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2633,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2633,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2634,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2634,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2635,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2645,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2645,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2646,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2655,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2656,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2656,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2657,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2666,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2667,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2667,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2679,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2679,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2688,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2688,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2690,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2690,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2699,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2699,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2701,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2712,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2712,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2721,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2721,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2723,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2723,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2734,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2734,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2743,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2743,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2745,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2745,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2754,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2754,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2756,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2756,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2765,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2765,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2767,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2778,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2778,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2787,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2787,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2789,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2789,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2798,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2798,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2799,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2799,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2799,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2800,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2801,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2801,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2810,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2810,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2812,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2821,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2821,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2823,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2823,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2832,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2832,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2834,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2834,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2845,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2846,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2846,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2857,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2857,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2858,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2947,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2950,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2950,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2951,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2951,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2952,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2953,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2953,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2956,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2956,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2966,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2967,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2967,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2976,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2977,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2977,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2985,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2987,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2988,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2988,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2997,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2997,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2999,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:2999,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3008,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3008,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3009,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3010,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3010,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3011,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3019,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3019,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3020,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3020,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3021,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3021,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3022,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3022,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3031,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3031,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3032,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3032,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3033,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3034,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3034,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3044,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3044,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3045,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3045,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3054,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3055,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3055,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3063,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3064,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3065,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3065,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3074,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3075,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3075,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3083,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3084,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3085,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3085,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3093,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3094,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3095,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3095,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3105,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3115,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3126,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3147,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3156,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3157,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3157,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3158,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3159,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3168,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3168,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3170,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3180,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3180,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3190,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3190,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3200,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3200,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3211,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3211,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3301,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3301,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3303,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3304,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3304,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3305,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3305,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3307,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3307,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3310,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3310,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3321,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3321,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3331,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3331,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3339,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3341,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3342,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3342,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3351,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3351,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3353,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3353,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3362,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3362,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3364,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3364,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3373,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3373,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3375,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3376,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3376,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3385,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3386,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3387,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3388,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3389,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3400,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3400,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3401,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3401,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3402,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3403,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3403,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3404,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3414,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3414,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3415,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3415,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3416,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3417,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3417,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3418,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3428,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3429,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3429,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3430,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3439,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3440,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3440,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3441,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3450,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3451,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3451,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3452,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3461,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3462,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3462,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3463,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3472,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3473,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3473,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3483,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3484,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3494,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3494,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3503,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3504,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3504,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3513,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3514,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3514,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3515,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3523,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3524,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3524,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3533,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3534,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3534,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3543,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3544,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3544,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3553,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3554,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3554,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3563,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3563,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3565,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3565,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3575,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3575,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3584,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3584,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3586,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3586,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3595,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3595,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3596,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3596,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3596,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3597,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3598,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3598,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3607,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3607,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3609,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3609,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3618,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3619,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3628,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3629,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3629,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3642,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3643,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3644,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3656,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3657,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3657,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3668,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3669,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3669,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3680,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3681,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3681,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3691,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3691,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3700,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3701,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3715,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3716,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3716,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3729,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3729,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3743,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3743,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3755,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3756,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3756,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3768,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3769,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3769,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3781,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3782,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3782,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3796,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3797,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3797,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3811,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3812,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3821,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3826,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3827,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3827,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3828,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3842,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3843,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3844,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3844,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3856,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3856,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3865,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3866,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3866,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3875,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3876,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3876,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3877,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3885,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3898,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3898,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3907,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3908,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3908,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3917,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3918,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3918,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3927,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3928,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3928,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3929,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3944,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3945,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3948,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3948,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3950,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3950,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3951,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3952,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3965,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3968,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3970,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3972,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3972,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3973,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3984,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3993,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:3995,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4002,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4011,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4024,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4025,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4025,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4035,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4036,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4036,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4037,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4046,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4047,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4047,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4057,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4057,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4058,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4058,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4067,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4067,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4068,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4068,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4077,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4077,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4078,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4079,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4089,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4089,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4090,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4090,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4091,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4099,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4100,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4100,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4110,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4110,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4120,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4120,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4129,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4143,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4144,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4155,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4215,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4224,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4225,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4225,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4235,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4235,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4244,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4245,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4245,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4257,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4267,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4267,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4279,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4279,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4288,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4289,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4289,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4299,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4299,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4309,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4309,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4318,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4319,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4319,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4328,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4329,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4329,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4339,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4339,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4348,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4349,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4349,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4361,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4361,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4373,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4374,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4384,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4384,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4393,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4394,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4394,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4406,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4407,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4407,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4419,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4420,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4420,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4429,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4430,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4430,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4440,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4440,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4450,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4450,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4459,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4460,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4460,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4469,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4470,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4470,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4479,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4480,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4480,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4490,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4490,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4501,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4502,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4502,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4511,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4512,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4512,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4523,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4524,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4524,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4533,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4534,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4534,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4543,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4544,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4544,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4553,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4554,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4554,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4563,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4564,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4564,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4573,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4574,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4574,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4583,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4584,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4584,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4593,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4594,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4594,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4605,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4606,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4606,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4618,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4619,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4630,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4631,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4631,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4639,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4640,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4640,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4648,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4649,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4649,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4657,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4657,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4658,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4658,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4667,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4667,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4675,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4676,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4676,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4684,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4685,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4685,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4693,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4694,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4694,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4702,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4703,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4703,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4712,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4712,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4721,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4721,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4729,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4730,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4730,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4738,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4739,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4739,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4751,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4751,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4759,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4760,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4760,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4768,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4769,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4769,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4778,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4778,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4786,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4787,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4787,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4795,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4796,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4796,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4804,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4805,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4805,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4813,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4814,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4814,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4822,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4823,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4823,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4832,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4832,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4841,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4849,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4850,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4850,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4858,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4859,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4859,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4871,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4871,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4879,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4879,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4880,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4880,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4888,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4889,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4889,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4898,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4898,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4906,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4907,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4907,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4915,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4916,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4916,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4924,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4925,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4925,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4933,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4934,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4934,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4942,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4943,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4943,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4951,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4952,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4952,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4961,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4969,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4970,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4970,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4979,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4979,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4990,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4991,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4991,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4999,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:4999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5000,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5000,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5001,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5008,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5008,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5009,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5009,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5010,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5017,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5017,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5018,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5018,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5019,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5026,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5027,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5027,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5035,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5036,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5036,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5037,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5044,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5044,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5045,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5045,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5053,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5054,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5054,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5062,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5063,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5063,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5071,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5072,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5072,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5080,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5080,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5081,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5081,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5082,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5089,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5089,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5090,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5090,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5091,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5099,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5099,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5120,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5120,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5129,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5129,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5138,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5147,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5156,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5174,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5183,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5183,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5192,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5192,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5200,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5201,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5201,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5210,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5210,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5218,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5219,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5219,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5231,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5231,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5232,1
    CyclomaticComplexity: 375
    EdgeCount: 375
    ICount: 2094
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5235
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 5235
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 129
    functionsReached:
    - strisnan
    - strlen
    - free
    - strspn
    - my_asnprintf
    - LDBL80_WORDS
    - memcmp
    - have_minus_zero
    - strcmp
    - memcpy
    - strmatch
    - malloc
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5243,1
    - Dst: vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5244,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 5247
      start: 5237
    functionDepth: 0
    functionLinenumber: 5237
    functionLinenumberEnd: 5247
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5249
    functionDepth: 0
    functionLinenumber: 5249
    functionLinenumberEnd: 5253
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5259
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5264,1
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix.c:5265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 5267
      start: 5261
    functionDepth: 0
    functionLinenumber: 5261
    functionLinenumberEnd: 5267
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_vasnprintf
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-exec-child.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-exec-child.c:33,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-exec-child.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-exec-child.c:38,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-exec-child.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exec-child.c
    functionUses: 8
    functionsReached:
    - printf
    - getenv
    linkageType: ''
    returnType: int
    signature: int main (int argc, char* argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdint-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:30,1
    - Dst: scanf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:38,1
    - Dst: scanf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:40,1
    - Dst: exit
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:45,1
    - Dst: exit
      Src: /src/gnulib/tests/test-pipe-filter-ii2-child.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-ii2-child.c
    functionUses: 8
    functionsReached:
    - printf
    - exit
    - scanf
    - set_binary_mode
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_init
      Src: /src/gnulib/tests/atomic-int-posix.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - sem_init
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/atomic-int-posix.h:99,1
    - Dst: getpid
      Src: /src/gnulib/tests/atomic-int-posix.h:100,1
    - Dst: sem_open
      Src: /src/gnulib/tests/atomic-int-posix.h:101,1
    - Dst: perror
      Src: /src/gnulib/tests/atomic-int-posix.h:109,1
    - Dst: fflush
      Src: /src/gnulib/tests/atomic-int-posix.h:110,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-posix.h:111,1
    - Dst: sem_unlink
      Src: /src/gnulib/tests/atomic-int-posix.h:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - abort
    - sem_unlink
    - sem_open
    - getpid
    - fflush
    - sprintf
    - perror
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_trywait
      Src: /src/gnulib/tests/atomic-int-posix.h:128,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-posix.h:128,1
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-posix.h:130,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-posix.h:130,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-posix.h:131,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-posix.h:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - abort
    - sem_trywait
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-posix.h:146,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-posix.h:146,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-posix.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - abort
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:159,1
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/tests/atomic-int-posix.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:160,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/tests/atomic-int-posix.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:161,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/tests/atomic-int-posix.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:162,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/tests/atomic-int-posix.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_init
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:167,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/atomic-int-posix.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:169,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/atomic-int-posix.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - pthread_mutex_unlock
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:175,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/tests/atomic-int-posix.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-posix.h:177,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/tests/atomic-int-posix.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-posix.h
    functionUses: 6
    functionsReached:
    - pthread_mutex_unlock
    - ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:35,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log10.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:61,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:62,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:66,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:84,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log10.h:88,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log10.h:89,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log10.h:94,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:96,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:96,1
    - Dst: LOG10
      Src: /src/gnulib/tests/test-log10.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10.h:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 101
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log10.h
    functionUses: 131
    functionsReached:
    - L_
    - LOG10
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-gettime-res.c:28,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettime-res.c:32,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettime-res.c:40,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettime-res.c:51,1
    - Dst: current_timespec
      Src: /src/gnulib/tests/test-gettime-res.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettime-res.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettime-res.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gettime-res.c
    functionUses: 8
    functionsReached:
    - printf
    - current_timespec
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: sign
    functionSourceFile: /src/gnulib/tests/test-filevercmp.c
    functionUses: 109
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sign (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:153,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-filevercmp.c:154,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-filevercmp.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:161,1
    - Dst: sign
      Src: /src/gnulib/tests/test-filevercmp.c:161,1
    - Dst: sign
      Src: /src/gnulib/tests/test-filevercmp.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: test_filevercmp
    functionSourceFile: /src/gnulib/tests/test-filevercmp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sign
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_filevercmp (char const *a, char const *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:172,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:173,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:174,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:175,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:176,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:177,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:178,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:179,1
    - Dst: filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:201,1
    - Dst: test_filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filevercmp.c:202,1
    - Dst: test_filevercmp
      Src: /src/gnulib/tests/test-filevercmp.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-filevercmp.c
    functionUses: 8
    functionsReached:
    - filevercmp
    - test_filevercmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-setpayloadsig.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:46,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-setpayloadsig.c:46,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-setpayloadsig.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:54,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-setpayloadsig.c:62,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-setpayloadsig.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:64,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-setpayloadsig.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:74,1
    - Dst: setpayloadsig
      Src: /src/gnulib/tests/test-setpayloadsig.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsig.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayloadsig.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - isnand
    - setpayloadsig
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log1pf
      Src: /src/gnulib/tests/test-log1pf.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1pf.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1pf.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1pf.c
    functionUses: 8
    functionsReached:
    - test_function
    - log1pf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freadptr
      Src: /src/gnulib/tests/test-freadptr2.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: freadptrbufsize
    functionSourceFile: /src/gnulib/tests/test-freadptr2.c
    functionUses: 0
    functionsReached:
    - freadptr
    linkageType: ''
    returnType: int
    signature: int freadptrbufsize (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr2.c:45,1
    - Dst: fread
      Src: /src/gnulib/tests/test-freadptr2.c:45,1
    - Dst: free
      Src: /src/gnulib/tests/test-freadptr2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr2.c:50,1
    - Dst: freadptrbufsize
      Src: /src/gnulib/tests/test-freadptr2.c:50,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-freadptr2.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr2.c:56,1
    - Dst: freadptrbufsize
      Src: /src/gnulib/tests/test-freadptr2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-freadptr2.c:59,1
    - Dst: freadptrbufsize
      Src: /src/gnulib/tests/test-freadptr2.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-freadptr2.c
    functionUses: 8
    functionsReached:
    - freadptrbufsize
    - fread
    - free
    - lseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utmp-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argp_version_setup
      Src: /src/gnulib/tests/test-argp-version-etc.c:44,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp-version-etc.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-argp-version-etc.c
    functionUses: 8
    functionsReached:
    - argp_version_setup
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_init
      Src: /src/gnulib/tests/atomic-int-gnulib.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - sem_init
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/atomic-int-gnulib.h:99,1
    - Dst: getpid
      Src: /src/gnulib/tests/atomic-int-gnulib.h:100,1
    - Dst: sem_open
      Src: /src/gnulib/tests/atomic-int-gnulib.h:101,1
    - Dst: perror
      Src: /src/gnulib/tests/atomic-int-gnulib.h:109,1
    - Dst: fflush
      Src: /src/gnulib/tests/atomic-int-gnulib.h:110,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-gnulib.h:111,1
    - Dst: sem_unlink
      Src: /src/gnulib/tests/atomic-int-gnulib.h:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - abort
    - sem_unlink
    - sem_open
    - getpid
    - fflush
    - sprintf
    - perror
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_trywait
      Src: /src/gnulib/tests/atomic-int-gnulib.h:128,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-gnulib.h:128,1
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-gnulib.h:130,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-gnulib.h:130,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-gnulib.h:131,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-gnulib.h:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - abort
    - sem_trywait
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-gnulib.h:146,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-gnulib.h:146,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-gnulib.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - abort
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_init
      Src: /src/gnulib/tests/atomic-int-gnulib.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - gl_lock_init
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/atomic-int-gnulib.h:162,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/atomic-int-gnulib.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - gl_lock_lock
    - gl_lock_unlock
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/tests/atomic-int-gnulib.h:170,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/tests/atomic-int-gnulib.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-gnulib.h
    functionUses: 6
    functionsReached:
    - gl_lock_lock
    - gl_lock_unlock
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:45,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:48,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:60,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:83,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:84,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:91,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:95,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:100,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:105,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:105,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:108,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:108,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:116,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:147,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:147,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:150,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:150,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:157,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:162,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:162,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:171,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:177,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:177,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:183,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:185,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:185,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:191,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:191,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:196,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:198,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:198,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:205,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:205,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:212,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:212,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:220,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:226,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:226,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:232,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:234,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:234,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:240,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:240,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:245,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:247,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:247,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:253,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:255,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:255,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:262,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:262,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:268,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:268,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:272,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:278,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:278,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:286,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:286,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:293,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:295,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:295,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:301,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:301,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:306,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:308,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:308,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:314,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:317,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:317,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:322,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:323,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:331,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:333,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:333,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:339,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:339,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:342,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:346,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:348,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:352,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:354,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:358,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:360,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:364,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:366,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:370,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:372,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:376,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:378,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:382,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:384,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:388,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:390,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:394,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:396,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:400,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:408,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:414,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:414,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:420,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:422,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:422,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:431,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:431,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:438,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:440,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:440,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:446,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:446,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:451,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:453,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:453,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:461,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:461,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:464,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:467,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:469,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:472,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:480,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:486,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:486,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:492,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:494,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:494,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:503,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:503,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:510,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:512,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:512,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:518,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:518,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:523,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:525,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:525,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:533,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:533,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:536,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:539,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:541,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:544,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:552,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:558,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:558,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:564,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:566,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:566,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:575,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:575,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:582,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:584,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:584,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:590,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:590,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:595,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:597,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:597,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:605,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:605,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:608,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:611,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:613,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:616,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:622,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:622,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:626,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:632,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:632,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:640,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:640,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:647,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:649,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:649,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:655,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:655,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:660,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:662,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:662,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:670,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:673,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:673,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:678,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:679,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:687,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:689,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:689,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:695,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:695,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:698,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:702,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:704,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:708,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:710,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:714,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:716,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:720,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:722,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:726,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:728,1
    - Dst: mbrtoc16
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:732,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 610
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 739
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 739
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-mbrtoc16-w32.c
    functionUses: 0
    functionsReached:
    - setlocale
    - mbrtoc16
    - c32tob
    - mbsinit
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc16-w32.c
    functionUses: 8
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtoc16-w32.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc16-w32.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:26,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-exp2-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:30,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-exp2-ieee.h:30,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:33,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:34,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2-ieee.h:34,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp2-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-exp2-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2-ieee.h:42,1
    - Dst: EXP2
      Src: /src/gnulib/tests/test-exp2-ieee.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-exp2-ieee.h
    functionUses: 132
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - EXP2
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:37,1
    - Dst: c_vaszprintf
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_c_aszprintf
    functionSourceFile: /src/gnulib/tests/test-c-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - c_vaszprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_c_aszprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: test_c_vaszprintf
    functionSourceFile: /src/gnulib/tests/test-c-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_c_vaszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: test_c_aszprintf
    functionSourceFile: /src/gnulib/tests/test-c-vaszprintf-gnu.c
    functionUses: 0
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_c_aszprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:59,1
    - Dst: test_c_vaszprintf
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:62,1
    - Dst: test_c_aszprintf
      Src: /src/gnulib/tests/test-c-vaszprintf-gnu.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-vaszprintf-gnu.c
    functionUses: 8
    functionsReached:
    - test_c_aszprintf
    - test_c_vaszprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: noop_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long noop_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: single_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long single_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbi_init
      Src: /src/gnulib/tests/bench-mcel.c:74,1
    - Dst: mbi_avail
      Src: /src/gnulib/tests/bench-mcel.c:74,1
    - Dst: mbi_cur
      Src: /src/gnulib/tests/bench-mcel.c:76,1
    - Dst: mbi_advance
      Src: /src/gnulib/tests/bench-mcel.c:77,1
    - Dst: mb_ptr
      Src: /src/gnulib/tests/bench-mcel.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: mbiter_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mbi_init
    - mbi_cur
    - mb_ptr
    - mbi_avail
    - mbi_advance
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mbiter_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbif_init
      Src: /src/gnulib/tests/bench-mcel.c:94,1
    - Dst: mbif_avail
      Src: /src/gnulib/tests/bench-mcel.c:94,1
    - Dst: mbif_next
      Src: /src/gnulib/tests/bench-mcel.c:96,1
    - Dst: mb_len
      Src: /src/gnulib/tests/bench-mcel.c:97,1
    - Dst: mb_ptr
      Src: /src/gnulib/tests/bench-mcel.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: mbiterf_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mbif_init
    - mbif_next
    - mb_ptr
    - mb_len
    - mbif_avail
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mbiterf_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbui_init
      Src: /src/gnulib/tests/bench-mcel.c:114,1
    - Dst: mbui_avail
      Src: /src/gnulib/tests/bench-mcel.c:114,1
    - Dst: mbui_cur
      Src: /src/gnulib/tests/bench-mcel.c:116,1
    - Dst: mbui_advance
      Src: /src/gnulib/tests/bench-mcel.c:117,1
    - Dst: mb_ptr
      Src: /src/gnulib/tests/bench-mcel.c:118,1
    - Dst: mbui_cur_ptr
      Src: /src/gnulib/tests/bench-mcel.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: mbuiter_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mbui_cur_ptr
    - mbui_advance
    - mb_ptr
    - mbui_init
    - mbui_avail
    - mbui_cur
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mbuiter_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbuif_init
      Src: /src/gnulib/tests/bench-mcel.c:136,1
    - Dst: mbuif_avail
      Src: /src/gnulib/tests/bench-mcel.c:136,1
    - Dst: mbuif_next
      Src: /src/gnulib/tests/bench-mcel.c:138,1
    - Dst: mb_len
      Src: /src/gnulib/tests/bench-mcel.c:139,1
    - Dst: mb_ptr
      Src: /src/gnulib/tests/bench-mcel.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - _GL_UNUSED*
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: mbuiterf_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mbuif_next
    - mb_ptr
    - mbuif_init
    - mb_len
    - mbuif_avail
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mbuiterf_test (char const *text, _GL_UNUSED char
      const *text_end, int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scan
      Src: /src/gnulib/tests/bench-mcel.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: mcel_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mcel_scan
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mcel_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/tests/bench-mcel.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - text
    - text_end
    - repeat
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: mcuel_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - mcel_scanz
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long mcuel_test (char const *text, char const *text_end,
      int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mcel.c:189,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mcel.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - test
    - text
    - text_end
    - repeat
    - ts
    argTypes:
    - test_function
    - char*
    - char*
    - int
    - struct timings_state*
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: do_1_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 0
    functionsReached:
    - timing_start
    - timing_end
    linkageType: ''
    returnType: unsigned long long
    signature: "unsigned long long do_1_test (test_function test, char const *text,\n
      \          char const *text_end, int repeat, struct timings_state *ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mcel.c:199,1
    - Dst: do_1_test
      Src: /src/gnulib/tests/bench-mcel.c:222,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mcel.c:224,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:229,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:231,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:232,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:236,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:241,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:243,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mcel.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - test
    - repeat
    - locale_name
    - text
    - text_len
    argTypes:
    - char
    - int
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 249
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 249
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 3
    functionsReached:
    - do_1_test
    - printf
    - setlocale
    linkageType: ''
    returnType: void
    signature: "void do_test (char test, int repeat, char const *locale_name,\n         char
      const *text, size_t text_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mcel.c:275,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mcel.c:277,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mcel.c:278,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mcel.c:284,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:288,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:295,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:296,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:299,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:300,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:303,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:304,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:307,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:308,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:311,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:312,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:315,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:316,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:319,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:320,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:323,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:324,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:327,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:328,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:331,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:332,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:335,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:336,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:339,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:340,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:343,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:344,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:347,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:348,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:351,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mcel.c:352,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:355,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mcel.c:359,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 369
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 369
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mcel.c
    functionUses: 8
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sethostname1.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sm3-buffer.c:30,1
    - Dst: sm3_buffer
      Src: /src/gnulib/tests/test-sm3-buffer.c:30,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sm3-buffer.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sm3-buffer.c:34,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sm3-buffer.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sm3-buffer.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sm3-buffer.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sm3-buffer.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: test
    functionSourceFile: /src/gnulib/tests/test-sm3-buffer.c
    functionUses: 66
    functionsReached:
    - printf
    - sm3_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test (const char *in, const char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/gnulib/tests/test-sm3-buffer.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sm3-buffer.c
    functionUses: 8
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_utmp
      Src: /src/gnulib/tests/test-readutmp.c:46,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-readutmp.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-readutmp.c:51,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:61,1
    - Dst: merge_sort_inplace
      Src: /src/gnulib/tests/test-readutmp.c:101,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-readutmp.c:102,1
    - Dst: UT_TIME_MEMBER
      Src: /src/gnulib/tests/test-readutmp.c:117,1
    - Dst: gmtime
      Src: /src/gnulib/tests/test-readutmp.c:118,1
    - Dst: strftime
      Src: /src/gnulib/tests/test-readutmp.c:121,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-readutmp.c:123,1
    - Dst: printf
      Src: /src/gnulib/tests/test-readutmp.c:125,1
    - Dst: UT_TYPE_BOOT_TIME
      Src: /src/gnulib/tests/test-readutmp.c:132,1
    - Dst: UT_TYPE_USER_PROCESS
      Src: /src/gnulib/tests/test-readutmp.c:133,1
    - Dst: UT_TYPE_BOOT_TIME
      Src: /src/gnulib/tests/test-readutmp.c:136,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-readutmp.c:139,1
    - Dst: UT_TIME_MEMBER
      Src: /src/gnulib/tests/test-readutmp.c:143,1
    - Dst: UT_TIME_MEMBER
      Src: /src/gnulib/tests/test-readutmp.c:144,1
    - Dst: time
      Src: /src/gnulib/tests/test-readutmp.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readutmp.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readutmp.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readutmp.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-readutmp.c:154,1
    - Dst: free
      Src: /src/gnulib/tests/test-readutmp.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 160
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-readutmp.c
    functionUses: 8
    functionsReached:
    - merge_sort_inplace
    - gmtime
    - UT_TYPE_USER_PROCESS
    - strcpy
    - free
    - XNMALLOC
    - time
    - UT_TIME_MEMBER
    - UT_TYPE_BOOT_TIME
    - fflush
    - read_utmp
    - printf
    - fprintf
    - strftime
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkedhash_map.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-linkedhash_map.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pairptr1
    - pairptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: cmp_pairs_in_array
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_pairs_in_array (const void *pairptr1, const void *pairptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-linkedhash_map.c:82,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-linkedhash_map.c:83,1
    - Dst: gl_map_iterator
      Src: /src/gnulib/tests/test-linkedhash_map.c:92,1
    - Dst: gl_map_iterator
      Src: /src/gnulib/tests/test-linkedhash_map.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:96,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_map.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:97,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_map.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:103,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_map.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:104,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-linkedhash_map.c:104,1
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_map.c:105,1
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/tests/test-linkedhash_map.c:106,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-linkedhash_map.c:110,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-linkedhash_map.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkedhash_map.c:118,1
    - Dst: free
      Src: /src/gnulib/tests/test-linkedhash_map.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_map_t
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 120
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 120
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 10
    functionsReached:
    - gl_map_iterator
    - gl_map_iterator_next
    - free
    - XNMALLOC
    - qsort
    - gl_map_iterator_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_map_t map1, gl_map_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linkedhash_map.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_map_t
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 10
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_map_t map1, gl_map_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-linkedhash_map.c:135,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-linkedhash_map.c:135,1
    - Dst: gl_map_nx_create_empty
      Src: /src/gnulib/tests/test-linkedhash_map.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:145,1
    - Dst: gl_map_nx_create_empty
      Src: /src/gnulib/tests/test-linkedhash_map.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:150,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_map.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:159,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-linkedhash_map.c:159,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-linkedhash_map.c:159,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_map.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:171,1
    - Dst: gl_map_get
      Src: /src/gnulib/tests/test-linkedhash_map.c:171,1
    - Dst: gl_map_get
      Src: /src/gnulib/tests/test-linkedhash_map.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:178,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-linkedhash_map.c:178,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-linkedhash_map.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linkedhash_map.c:184,1
    - Dst: gl_map_remove
      Src: /src/gnulib/tests/test-linkedhash_map.c:184,1
    - Dst: gl_map_remove
      Src: /src/gnulib/tests/test-linkedhash_map.c:184,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linkedhash_map.c:188,1
    - Dst: gl_map_free
      Src: /src/gnulib/tests/test-linkedhash_map.c:191,1
    - Dst: gl_map_free
      Src: /src/gnulib/tests/test-linkedhash_map.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 196
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-linkedhash_map.c
    functionUses: 8
    functionsReached:
    - gl_map_nx_put
    - gl_map_remove
    - gl_map_nx_create_empty
    - gl_map_get
    - atoi
    - check_all
    - gl_map_free
    - srand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-xvasprintf.c:42,1
    - Dst: xvasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-xvasprintf.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/test-xvasprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - xvasprintf
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:59,1
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:67,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:68,1
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:74,1
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:78,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:79,1
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 85
    functionName: test_xvasprintf
    functionSourceFile: /src/gnulib/tests/test-xvasprintf.c
    functionUses: 0
    functionsReached:
    - free
    - my_xasprintf
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_xvasprintf (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:97,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:97,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:98,1
    - Dst: xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:109,1
    - Dst: xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:114,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:115,1
    - Dst: xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:119,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:120,1
    - Dst: my_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xvasprintf.c:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-xvasprintf.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/test-xvasprintf.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 126
    functionName: test_xasprintf
    functionSourceFile: /src/gnulib/tests/test-xvasprintf.c
    functionUses: 0
    functionsReached:
    - my_xasprintf
    - free
    - strcmp
    - xasprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_xasprintf (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xvasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:131,1
    - Dst: test_xasprintf
      Src: /src/gnulib/tests/test-xvasprintf.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xvasprintf.c
    functionUses: 8
    functionsReached:
    - test_xasprintf
    - test_xvasprintf
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_iterator
      Src: /src/gnulib/tests/test-rbtree_omap.c:50,1
    - Dst: gl_omap_iterator
      Src: /src/gnulib/tests/test-rbtree_omap.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:54,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-rbtree_omap.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:55,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-rbtree_omap.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:59,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-rbtree_omap.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:60,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-rbtree_omap.c:60,1
    - Dst: gl_omap_iterator_free
      Src: /src/gnulib/tests/test-rbtree_omap.c:61,1
    - Dst: gl_omap_iterator_free
      Src: /src/gnulib/tests/test-rbtree_omap.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_omap_t
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-rbtree_omap.c
    functionUses: 11
    functionsReached:
    - gl_omap_iterator
    - gl_omap_iterator_next
    - ASSERT
    - gl_omap_iterator_free
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_omap_t map1, gl_omap_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_rbtree_omap_check_invariants
      Src: /src/gnulib/tests/test-rbtree_omap.c:68,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtree_omap.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_omap_t
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-rbtree_omap.c
    functionUses: 11
    functionsReached:
    - check_equals
    - gl_rbtree_omap_check_invariants
    linkageType: ''
    returnType: void
    signature: void check_all (gl_omap_t map1, gl_omap_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-rbtree_omap.c:79,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-rbtree_omap.c:79,1
    - Dst: gl_omap_nx_create_empty
      Src: /src/gnulib/tests/test-rbtree_omap.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:88,1
    - Dst: gl_omap_nx_create_empty
      Src: /src/gnulib/tests/test-rbtree_omap.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:92,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_omap.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:101,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-rbtree_omap.c:101,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-rbtree_omap.c:101,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_omap.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:113,1
    - Dst: gl_omap_get
      Src: /src/gnulib/tests/test-rbtree_omap.c:113,1
    - Dst: gl_omap_get
      Src: /src/gnulib/tests/test-rbtree_omap.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:120,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-rbtree_omap.c:120,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-rbtree_omap.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtree_omap.c:126,1
    - Dst: gl_omap_remove
      Src: /src/gnulib/tests/test-rbtree_omap.c:126,1
    - Dst: gl_omap_remove
      Src: /src/gnulib/tests/test-rbtree_omap.c:126,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtree_omap.c:130,1
    - Dst: gl_omap_free
      Src: /src/gnulib/tests/test-rbtree_omap.c:133,1
    - Dst: gl_omap_free
      Src: /src/gnulib/tests/test-rbtree_omap.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 138
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rbtree_omap.c
    functionUses: 8
    functionsReached:
    - gl_omap_get
    - atoi
    - gl_omap_nx_create_empty
    - check_all
    - srand
    - gl_omap_nx_put
    - gl_omap_remove
    - ASSERT
    - gl_omap_free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-expm1-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-expm1-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-rbtreehash_list.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:70,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:73,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:73,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 12
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:80,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:84,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:84,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:85,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:86,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 3
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:95,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:99,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:99,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:100,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:101,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 3
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_rbtreehash_list_check_invariants
      Src: /src/gnulib/tests/test-rbtreehash_list.c:110,1
    - Dst: gl_rbtreehash_list_check_invariants
      Src: /src/gnulib/tests/test-rbtreehash_list.c:111,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtreehash_list.c:112,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-rbtreehash_list.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 12
    functionsReached:
    - gl_rbtreehash_list_check_invariants
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-rbtreehash_list.c:123,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-rbtreehash_list.c:123,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:133,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-rbtreehash_list.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:139,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-rbtreehash_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:145,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:145,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-rbtreehash_list.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:151,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtreehash_list.c:153,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-rbtreehash_list.c:155,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-rbtreehash_list.c:156,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:164,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:172,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:173,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:173,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:177,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:178,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:178,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:182,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:183,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:187,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:187,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:187,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:189,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:189,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:189,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:191,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:191,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:191,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:192,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:196,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:196,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:196,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:198,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:198,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:198,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:200,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:200,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:200,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:201,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:209,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:210,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:221,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:222,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:223,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:223,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtreehash_list.c:231,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtreehash_list.c:232,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-rbtreehash_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:243,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:244,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:245,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:247,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:256,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:258,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:261,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:262,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:263,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:264,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:265,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:266,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:266,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:274,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:276,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:279,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:280,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:281,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:282,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:282,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:283,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:283,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:284,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:284,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:294,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtreehash_list.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:296,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtreehash_list.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:298,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:300,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtreehash_list.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:302,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtreehash_list.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:304,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:306,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-rbtreehash_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:308,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-rbtreehash_list.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:311,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:312,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:313,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:315,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:316,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:317,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:318,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:319,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:320,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:321,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:322,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:322,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:331,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:333,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:336,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:337,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:338,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:339,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:340,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:341,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:344,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:344,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:344,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:346,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:346,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:346,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:348,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:348,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:348,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:349,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:353,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:353,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:353,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:355,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:355,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:355,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:357,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-rbtreehash_list.c:357,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:357,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:358,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:363,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:368,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:369,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-rbtreehash_list.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:374,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:375,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:376,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-rbtreehash_list.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:377,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:377,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:385,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:386,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:387,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:388,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:395,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:396,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-rbtreehash_list.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:397,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:404,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:405,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-rbtreehash_list.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:406,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:406,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:414,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:415,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:416,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:417,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:417,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:425,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:426,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:427,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-rbtreehash_list.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:428,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-rbtreehash_list.c:428,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtreehash_list.c:436,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtreehash_list.c:437,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-rbtreehash_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:442,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:443,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:444,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:445,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:446,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:448,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:449,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:450,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:450,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:451,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:452,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:453,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtreehash_list.c:462,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtreehash_list.c:463,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-rbtreehash_list.c:464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:467,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:468,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:469,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:470,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:471,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:472,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-rbtreehash_list.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:474,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:475,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rbtreehash_list.c:476,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-rbtreehash_list.c:476,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:477,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:478,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:479,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-rbtreehash_list.c:483,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:486,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:487,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:488,1
    - Dst: free
      Src: /src/gnulib/tests/test-rbtreehash_list.c:489,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 493
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 493
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rbtreehash_list.c
    functionUses: 8
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: forkpty
      Src: /src/gnulib/tests/test-forkpty.c:35,1
    - Dst: printf
      Src: /src/gnulib/tests/test-forkpty.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-forkpty.c
    functionUses: 8
    functionsReached:
    - printf
    - forkpty
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sched-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-nonblocking-pipe-child.c:39,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-nonblocking-pipe-child.c:44,1
    - Dst: main_reader_loop
      Src: /src/gnulib/tests/test-nonblocking-pipe-child.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nonblocking-pipe-child.c
    functionUses: 8
    functionsReached:
    - main_reader_loop
    - set_binary_mode
    - close
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sinh
      Src: /src/gnulib/tests/test-sinh.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sinh.c:40,1
    - Dst: sinh
      Src: /src/gnulib/tests/test-sinh.c:46,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-sinh.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sinh.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sinh.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sinh.c
    functionUses: 8
    functionsReached:
    - sprintf
    - sinh
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nextafter
      Src: /src/gnulib/tests/test-nextafter.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:39,1
    - Dst: nextafter
      Src: /src/gnulib/tests/test-nextafter.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:41,1
    - Dst: nextafter
      Src: /src/gnulib/tests/test-nextafter.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:45,1
    - Dst: nextafter
      Src: /src/gnulib/tests/test-nextafter.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:47,1
    - Dst: nextafter
      Src: /src/gnulib/tests/test-nextafter.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nextafter.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nextafter.c
    functionUses: 8
    functionsReached:
    - nextafter
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sysexits-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:31,1
    - Dst: nap
      Src: /src/gnulib/tests/test-futimens.h:35,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-futimens.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:41,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-futimens.h:41,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-futimens.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:49,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:55,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-futimens.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:57,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-futimens.h:57,1
    - Dst: gettime
      Src: /src/gnulib/tests/test-futimens.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:69,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:70,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:70,1
    - Dst: nap
      Src: /src/gnulib/tests/test-futimens.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:77,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:82,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:83,1
    - Dst: close
      Src: /src/gnulib/tests/test-futimens.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:88,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:94,1
    - Dst: close
      Src: /src/gnulib/tests/test-futimens.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:96,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:106,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:116,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:119,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:123,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:123,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:125,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-futimens.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:134,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:135,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:139,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:140,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:143,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-futimens.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:144,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-futimens.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:146,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-futimens.h:146,1
    - Dst: nap
      Src: /src/gnulib/tests/test-futimens.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:158,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:159,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:163,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:164,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:166,1
    - Dst: utimecmp
      Src: /src/gnulib/tests/test-futimens.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:168,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-futimens.h:168,1
    - Dst: nap
      Src: /src/gnulib/tests/test-futimens.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:172,1
    - Dst: func
      Src: /src/gnulib/tests/test-futimens.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:173,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-futimens.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:177,1
    - Dst: get_stat_atime_ns
      Src: /src/gnulib/tests/test-futimens.h:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:180,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-futimens.h:180,1
    - Dst: get_stat_mtime_ns
      Src: /src/gnulib/tests/test-futimens.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:182,1
    - Dst: ctime_compare
      Src: /src/gnulib/tests/test-futimens.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:186,1
    - Dst: close
      Src: /src/gnulib/tests/test-futimens.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-futimens.h:187,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-futimens.h:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 113
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 189
    functionName: test_futimens
    functionSourceFile: /src/gnulib/tests/test-futimens.h
    functionUses: 1
    functionsReached:
    - utimecmp
    - get_stat_atime_ns
    - fputs
    - ctime_compare
    - fstat
    - close
    - unlink
    - nap
    - gettime
    - func
    - get_stat_mtime_ns
    - ASSERT
    linkageType: ''
    returnType: int
    signature: "int test_futimens (int (*func) (int, struct timespec const *),\n               bool
      print)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_List<const char *>
      Src: /src/gnulib/tests/test-list-c++.cc:36,1
    - Dst: gl_List::add_last
      Src: /src/gnulib/tests/test-list-c++.cc:37,1
    - Dst: gl_List::add_last
      Src: /src/gnulib/tests/test-list-c++.cc:38,1
    - Dst: gl_List::add_last
      Src: /src/gnulib/tests/test-list-c++.cc:39,1
    - Dst: gl_List::add_last
      Src: /src/gnulib/tests/test-list-c++.cc:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:41,1
    - Dst: gl_List::size
      Src: /src/gnulib/tests/test-list-c++.cc:41,1
    - Dst: gl_List::begin
      Src: /src/gnulib/tests/test-list-c++.cc:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:46,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:48,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:49,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:50,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:52,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:54,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:54,1
    - Dst: gl_List<const char *>
      Src: /src/gnulib/tests/test-list-c++.cc:57,1
    - Dst: gl_List::begin
      Src: /src/gnulib/tests/test-list-c++.cc:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:62,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:64,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-list-c++.cc:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:66,1
    - Dst: gl_List<const char *>::iterator::next
      Src: /src/gnulib/tests/test-list-c++.cc:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:69,1
    - Dst: gl_List::indexof
      Src: /src/gnulib/tests/test-list-c++.cc:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:70,1
    - Dst: gl_List::indexof
      Src: /src/gnulib/tests/test-list-c++.cc:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:72,1
    - Dst: gl_List::sortedlist_indexof
      Src: /src/gnulib/tests/test-list-c++.cc:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-list-c++.cc:73,1
    - Dst: gl_List::sortedlist_indexof
      Src: /src/gnulib/tests/test-list-c++.cc:73,1
    - Dst: gl_List::free
      Src: /src/gnulib/tests/test-list-c++.cc:75,1
    - Dst: gl_List::free
      Src: /src/gnulib/tests/test-list-c++.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-list-c++.cc
    functionUses: 8
    functionsReached:
    - gl_List::begin
    - gl_List<const char *>
    - gl_List::indexof
    - gl_List::add_last
    - gl_List::size
    - gl_List<const char *>::iterator::next
    - strcmp
    - gl_List::free
    - gl_List::sortedlist_indexof
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-getopt-main.h:47,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-getopt-main.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt-main.h:51,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-getopt-main.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt-main.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt-main.h:55,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-getopt-main.h:57,1
    - Dst: test_getopt
      Src: /src/gnulib/tests/test-getopt-main.h:58,1
    - Dst: test_getopt_long_posix
      Src: /src/gnulib/tests/test-getopt-main.h:61,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-getopt-main.h:64,1
    - Dst: test_getopt
      Src: /src/gnulib/tests/test-getopt-main.h:65,1
    - Dst: test_getopt_long
      Src: /src/gnulib/tests/test-getopt-main.h:68,1
    - Dst: test_getopt_long_only
      Src: /src/gnulib/tests/test-getopt-main.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt-main.h:72,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getopt-main.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getopt-main.h:73,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getopt-main.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getopt-main.h
    functionUses: 8
    functionsReached:
    - remove
    - fclose
    - test_getopt_long
    - test_getopt_long_only
    - test_getopt
    - dup2
    - unsetenv
    - setenv
    - test_getopt_long_posix
    - fdopen
    - freopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:53,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/tests/test-localename.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:55,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/tests/test-localename.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:57,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:58,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/tests/test-localename.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: is_default
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gl_locale_name_default
    linkageType: ''
    returnType: int
    signature: int is_default (const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:103,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:103,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:106,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:108,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:113,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:114,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:115,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:116,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:117,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:122,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:123,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:124,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:125,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:126,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:127,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:128,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:129,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:130,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:133,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:133,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:134,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:134,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:134,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:139,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:140,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:141,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:142,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:144,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:144,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:144,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:146,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:147,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:148,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:149,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:151,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:151,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:151,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:153,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:154,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:155,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:156,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:158,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:158,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:158,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:160,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:161,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:162,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:163,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:165,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:165,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:165,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:170,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:171,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:172,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:173,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:175,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:175,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:175,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:178,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:179,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:180,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:181,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:183,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:183,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:183,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:186,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:187,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:188,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:189,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:191,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:191,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:196,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:197,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:198,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:199,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:200,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:211,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:211,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:214,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:217,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:218,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:219,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:220,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:221,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:224,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:224,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:226,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:232,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:235,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:237,1
    - Dst: gl_locale_name
      Src: /src/gnulib/tests/test-localename.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:239,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:240,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:250,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:253,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:256,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:258,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:263,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:269,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:271,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:271,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:273,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 280
    functionName: test_locale_name
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - newlocale
    - is_default
    - setlocale
    - freelocale
    - unsetenv
    - gl_locale_name
    - setenv
    - uselocale
    - strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_locale_name (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:287,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:293,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:294,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:294,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:298,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:303,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:305,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:307,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:307,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:308,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:318,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:321,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:324,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:326,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:331,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:340,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:342,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:343,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:468,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:470,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:476,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:477,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:479,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localename.c:480,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:482,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:483,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:487,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:493,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:497,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:505,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:506,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:510,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:510,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:512,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:513,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:517,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-localename.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:524,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:524,1
    - Dst: free
      Src: /src/gnulib/tests/test-localename.c:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:531,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:532,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:532,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 534
    functionName: test_locale_name_thread
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - strdup
    - newlocale
    - setlocale
    - freelocale
    - free
    - gl_locale_name_thread
    - uselocale
    - strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_locale_name_thread (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:544,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:546,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:551,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:552,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:553,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:554,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:555,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:560,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:561,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:562,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:563,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:564,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:565,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:566,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:567,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:568,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:570,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:572,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:572,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:574,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:574,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:579,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:580,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:581,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:582,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:583,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:585,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:585,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:587,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:588,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:589,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:590,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:591,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:593,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:593,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:595,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:596,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:597,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:598,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:599,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:601,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:601,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:603,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:604,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:605,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:606,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:607,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:609,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:609,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:614,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:615,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:616,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:617,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:618,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:620,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:620,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:622,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:623,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:624,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:625,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:626,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:628,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:628,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:630,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:631,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:632,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:633,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:634,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:636,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:640,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:641,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:642,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:643,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:644,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:648,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:648,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:650,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:650,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:653,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:653,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:656,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:657,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:658,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:659,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:660,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:663,1
    - Dst: is_default
      Src: /src/gnulib/tests/test-localename.c:663,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:665,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:665,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:671,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:674,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:675,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:676,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:677,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:678,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:679,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:681,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:681,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:682,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:683,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 687
    functionName: test_locale_name_posix
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - newlocale
    - gl_locale_name_posix
    - is_default
    - setlocale
    - freelocale
    - unsetenv
    - setenv
    - uselocale
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_locale_name_posix (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:696,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:698,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:703,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:704,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:705,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:706,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:708,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:709,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:709,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:714,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:715,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:716,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:718,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:718,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:720,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:721,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:722,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:724,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:724,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:726,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:727,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:728,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:730,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:730,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:732,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:733,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:734,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:736,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:736,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:741,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:742,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:743,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:744,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:746,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:748,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:749,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:750,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:751,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:753,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:753,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:755,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:756,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:757,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:758,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:760,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:764,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:765,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:766,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:767,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:769,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:769,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:771,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:771,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:773,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:774,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:775,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:776,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:778,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:780,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:780,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:785,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:788,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:789,1
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-localename.c:790,1
    - Dst: setenv
      Src: /src/gnulib/tests/test-localename.c:791,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localename.c:792,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:793,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:795,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:795,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:796,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 801
    functionName: test_locale_name_environ
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - newlocale
    - setlocale
    - freelocale
    - unsetenv
    - setenv
    - uselocale
    - strcmp
    - gl_locale_name_environ
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_locale_name_environ (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:814,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:814,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-localename.c:820,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename.c:824,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename.c:824,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/tests/test-localename.c:824,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-localename.c:825,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-localename.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 830
    functionName: test_locale_name_default
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 0
    functionsReached:
    - newlocale
    - freelocale
    - uselocale
    - strcmp
    - ASSERT
    - gl_locale_name_default
    linkageType: ''
    returnType: void
    signature: void test_locale_name_default (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_locale_name
      Src: /src/gnulib/tests/test-localename.c:835,1
    - Dst: test_locale_name_thread
      Src: /src/gnulib/tests/test-localename.c:836,1
    - Dst: test_locale_name_posix
      Src: /src/gnulib/tests/test-localename.c:837,1
    - Dst: test_locale_name_environ
      Src: /src/gnulib/tests/test-localename.c:838,1
    - Dst: test_locale_name_default
      Src: /src/gnulib/tests/test-localename.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 832
    functionDepth: 3
    functionLinenumber: 832
    functionLinenumberEnd: 842
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localename.c
    functionUses: 8
    functionsReached:
    - test_locale_name_posix
    - test_locale_name_environ
    - test_locale_name_thread
    - test_locale_name
    - test_locale_name_default
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:36,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:37,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:39,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:40,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:42,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:43,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-floor-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:48,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-floor-ieee.c:48,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:48,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-floor-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:50,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor-ieee.c:50,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-floor-ieee.c:51,1
    - Dst: floor
      Src: /src/gnulib/tests/test-floor-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor-ieee.c:51,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-floor-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-floor-ieee.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - isnand
    - floor
    - signbit
    - NaNd
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexp-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexp-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-tss.c:71,1
    - Dst: yield
      Src: /src/gnulib/tests/test-tss.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: perhaps_yield
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 2
    functionsReached:
    - random
    - yield
    linkageType: ''
    returnType: void
    signature: void perhaps_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:95,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:95,1
    - Dst: random
      Src: /src/gnulib/tests/test-tss.c:100,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:103,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tss.c:105,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:108,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:108,1
    - Dst: tss_get
      Src: /src/gnulib/tests/test-tss.c:110,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:111,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:112,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:112,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tss.c:113,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:116,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:121,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:121,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:123,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:123,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tss.c:124,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:129,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:129,1
    - Dst: random
      Src: /src/gnulib/tests/test-tss.c:130,1
    - Dst: random
      Src: /src/gnulib/tests/test-tss.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:137,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:138,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:138,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tss.c:140,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:144,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:144,1
    - Dst: tss_get
      Src: /src/gnulib/tests/test-tss.c:146,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:147,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:148,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:148,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-tss.c:149,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:151,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 153
    functionName: worker_thread
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - tss_set
    - perhaps_yield
    - dbgprintf
    - thrd_current_pointer
    - random
    - tss_get
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int worker_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:166,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:169,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:173,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-tss.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:178,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-tss.c:178,1
    - Dst: tss_delete
      Src: /src/gnulib/tests/test-tss.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: test_tss
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 1
    functionsReached:
    - tss_create
    - tss_delete
    - thrd_join
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:204,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-tss.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:206,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-tss.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: inc_sum
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 20
    functionsReached:
    - mtx_lock
    - ASSERT
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void inc_sum (uintptr_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:213,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: destructor0
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor0 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:221,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: destructor1
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor1 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:229,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: destructor2
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor2 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:237,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: destructor3
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor3 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:245,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: destructor4
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor4 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:253,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: destructor5
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor5 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:261,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: destructor6
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor6 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:269,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: destructor7
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor7 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:277,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: destructor8
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor8 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:285,1
    - Dst: inc_sum
      Src: /src/gnulib/tests/test-tss.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: destructor9
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - abort
    - inc_sum
    linkageType: ''
    returnType: void
    signature: void destructor9 (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:315,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:318,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 322
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 322
    functionName: dtorcheck1_thread
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - tss_create
    - tss_set
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int dtorcheck1_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:336,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-tss.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:341,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-tss.c:341,1
    - Dst: tss_delete
      Src: /src/gnulib/tests/test-tss.c:346,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 354
    functionName: test_tss_dtorcheck1
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 1
    functionsReached:
    - abort
    - tss_delete
    - thrd_join
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_dtorcheck1 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:366,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:369,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: dtorcheck2_thread
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - tss_create
    - tss_set
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int dtorcheck2_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:387,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-tss.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:392,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-tss.c:392,1
    - Dst: tss_delete
      Src: /src/gnulib/tests/test-tss.c:397,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: test_tss_dtorcheck2
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 1
    functionsReached:
    - abort
    - tss_delete
    - thrd_join
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_dtorcheck2 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:434,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:438,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:439,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:439,1
    - Dst: random
      Src: /src/gnulib/tests/test-tss.c:445,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:446,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:446,1
    - Dst: tss_delete
      Src: /src/gnulib/tests/test-tss.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:448,1
    - Dst: tss_create
      Src: /src/gnulib/tests/test-tss.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:449,1
    - Dst: tss_set
      Src: /src/gnulib/tests/test-tss.c:449,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-tss.c:453,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-tss.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 455
    functionName: racecheck_thread
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 0
    functionsReached:
    - tss_create
    - tss_set
    - tss_delete
    - dbgprintf
    - thrd_current_pointer
    - random
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int racecheck_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:469,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-tss.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:474,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-tss.c:474,1
    - Dst: tss_delete
      Src: /src/gnulib/tests/test-tss.c:479,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tss.c:486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 487
    functionName: test_tss_racecheck
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 1
    functionsReached:
    - abort
    - tss_delete
    - thrd_join
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_tss_racecheck (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-tss.c:503,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-tss.c:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tss.c:507,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-tss.c:507,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:509,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:509,1
    - Dst: test_tss
      Src: /src/gnulib/tests/test-tss.c:510,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:511,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:511,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:513,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:513,1
    - Dst: test_tss_dtorcheck1
      Src: /src/gnulib/tests/test-tss.c:514,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:515,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:515,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:517,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:517,1
    - Dst: test_tss_dtorcheck2
      Src: /src/gnulib/tests/test-tss.c:518,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:519,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:519,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:521,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:521,1
    - Dst: test_tss_racecheck
      Src: /src/gnulib/tests/test-tss.c:522,1
    - Dst: printf
      Src: /src/gnulib/tests/test-tss.c:523,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-tss.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 526
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tss.c
    functionUses: 8
    functionsReached:
    - alarm
    - test_tss_dtorcheck2
    - signal
    - mtx_init
    - test_tss
    - fflush
    - printf
    - test_tss_racecheck
    - test_tss_dtorcheck1
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _Exit
      Src: /src/gnulib/tests/test-immutable.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: segv_handler
    functionSourceFile: /src/gnulib/tests/test-immutable.c
    functionUses: 0
    functionsReached:
    - _Exit
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE segv_handler (int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-immutable.c:46,1
    - Dst: signal
      Src: /src/gnulib/tests/test-immutable.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: install_segv_handler
    functionSourceFile: /src/gnulib/tests/test-immutable.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void install_segv_handler (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-immutable.c:59,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-immutable.c:69,1
    - Dst: immmalloc
      Src: /src/gnulib/tests/test-immutable.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:82,1
    - Dst: immfreeze
      Src: /src/gnulib/tests/test-immutable.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:87,1
    - Dst: immfree
      Src: /src/gnulib/tests/test-immutable.c:88,1
    - Dst: immmalloc
      Src: /src/gnulib/tests/test-immutable.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:99,1
    - Dst: immfreeze
      Src: /src/gnulib/tests/test-immutable.c:102,1
    - Dst: install_segv_handler
      Src: /src/gnulib/tests/test-immutable.c:104,1
    - Dst: immmalloc
      Src: /src/gnulib/tests/test-immutable.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:122,1
    - Dst: immfreeze
      Src: /src/gnulib/tests/test-immutable.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:127,1
    - Dst: immmalloc
      Src: /src/gnulib/tests/test-immutable.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:130,1
    - Dst: install_segv_handler
      Src: /src/gnulib/tests/test-immutable.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-immutable.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:148,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-immutable.c:148,1
    - Dst: immfree
      Src: /src/gnulib/tests/test-immutable.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-immutable.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 157
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-immutable.c
    functionUses: 8
    functionsReached:
    - immfreeze
    - strlen
    - fputs
    - install_segv_handler
    - immmalloc
    - immfree
    - strcmp
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-newlocale.c:55,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-newlocale.c:56,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-newlocale.c:57,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-newlocale.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-newlocale.c:69,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-newlocale.c:70,1
    - Dst: nl_langinfo_l
      Src: /src/gnulib/tests/test-newlocale.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-newlocale.c:73,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-newlocale.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-newlocale.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-newlocale.c
    functionUses: 8
    functionsReached:
    - newlocale
    - nl_langinfo_l
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:41,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:44,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:44,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-linked_list.c
    functionUses: 13
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-linked_list.c:51,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-linked_list.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:55,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:55,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:56,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:57,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-linked_list.c
    functionUses: 4
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-linked_list.c:66,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-linked_list.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:70,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:70,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:71,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:72,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-linked_list.c
    functionUses: 4
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linked_list.c:81,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-linked_list.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-linked_list.c
    functionUses: 13
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-linked_list.c:92,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-linked_list.c:92,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-linked_list.c:102,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-linked_list.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:107,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-linked_list.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:112,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linked_list.c:112,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-linked_list.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:117,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linked_list.c:119,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-linked_list.c:121,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-linked_list.c:122,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:130,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linked_list.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:138,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:139,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:139,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linked_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:143,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:144,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:144,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-linked_list.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:148,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:149,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:153,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:153,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:153,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:155,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:155,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:155,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:157,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:157,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:157,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:158,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:162,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:162,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:162,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:164,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:164,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:164,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:166,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:166,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:166,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:167,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:175,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:176,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:187,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:188,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:189,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:189,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linked_list.c:197,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linked_list.c:198,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-linked_list.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:209,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:210,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:211,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:213,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:222,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:224,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:227,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:228,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:229,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:230,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:231,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:232,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:232,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linked_list.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:240,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linked_list.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:242,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-linked_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:245,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:246,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:247,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:248,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:248,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:249,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:249,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:250,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:250,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:250,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:260,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linked_list.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:262,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linked_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:264,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:266,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linked_list.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:268,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linked_list.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:270,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-linked_list.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:272,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-linked_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:274,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-linked_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:277,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:278,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:279,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:280,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:281,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:282,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:283,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:285,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:286,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:287,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:288,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:288,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linked_list.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:297,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linked_list.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:299,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-linked_list.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:302,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:303,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:304,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:305,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:306,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:307,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:310,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:310,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:310,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:312,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:312,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:312,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:314,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:314,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-linked_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:315,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:319,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:319,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:319,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:321,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:321,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:321,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:323,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-linked_list.c:323,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-linked_list.c:323,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:324,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:329,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:334,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:335,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-linked_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:340,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linked_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:341,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linked_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:342,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-linked_list.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:343,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:343,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:351,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linked_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:352,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linked_list.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:353,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-linked_list.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:354,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:361,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-linked_list.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:362,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-linked_list.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:363,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:370,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-linked_list.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:371,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-linked_list.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:372,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:372,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:380,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:381,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:382,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:383,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:383,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:391,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:392,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:393,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-linked_list.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:394,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-linked_list.c:394,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linked_list.c:402,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linked_list.c:403,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-linked_list.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:407,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:408,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:409,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:410,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:411,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:412,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:414,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:415,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:416,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:416,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:417,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:418,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:419,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linked_list.c:428,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linked_list.c:429,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-linked_list.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:433,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:434,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:435,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:436,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:437,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:438,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-linked_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:440,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-linked_list.c:442,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-linked_list.c:442,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:443,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:444,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-linked_list.c:445,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-linked_list.c:449,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linked_list.c:452,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linked_list.c:453,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-linked_list.c:454,1
    - Dst: free
      Src: /src/gnulib/tests/test-linked_list.c:455,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 459
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 459
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-linked_list.c
    functionUses: 8
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:105,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:107,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:110,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:113,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:113,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:114,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:115,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:115,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:121,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:123,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:126,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: reader_func
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 0
    functionsReached:
    - abort
    - nanosleep
    - strlen
    - pthread_rwlock_wrlock
    - pthread_rwlock_unlock
    - sprintf
    - fprintf
    - ASSERT
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: void
    signature: 'void *

      reader_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:144,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:146,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:149,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:152,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:152,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:154,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:154,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:160,1
    - Dst: pthread_rwlock_unlock
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:165,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 170
    functionName: writer_func
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 0
    functionsReached:
    - abort
    - nanosleep
    - strlen
    - pthread_rwlock_wrlock
    - pthread_rwlock_unlock
    - sprintf
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      writer_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:183,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:184,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:190,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:191,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:198,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:201,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:205,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:207,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:215,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:218,1
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:220,1
    - Dst: free
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:225,1
    - Dst: free
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:226,1
    - Dst: free
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:228,1
    - Dst: free
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:229,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - rw_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 232
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 4
    functionsReached:
    - abort
    - strdup
    - pthread_join
    - free
    - pthread_create
    - sprintf
    - malloc
    - fprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      do_test (const char *rw_string)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:237,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: startswith
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 4
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool startswith (const char *str, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:246,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:246,1
    - Dst: do_test
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:247,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:247,1
    - Dst: do_test
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:248,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:248,1
    - Dst: do_test
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:249,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:249,1
    - Dst: do_test
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:250,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:250,1
    - Dst: do_test
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:250,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:321,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:322,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:323,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:324,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:325,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:326,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:327,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:328,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:329,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:330,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:331,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:332,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:333,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:334,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:336,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:337,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:338,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:339,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:340,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:341,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:342,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:343,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:344,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:345,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:346,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:349,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:350,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:351,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:352,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:353,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:354,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:355,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:356,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:357,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:358,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:359,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:361,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:362,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:363,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:364,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:365,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:366,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:367,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:368,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:369,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:370,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:371,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:373,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:374,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:375,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:377,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:378,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:379,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:383,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:384,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:385,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:388,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:389,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:390,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:391,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:392,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:393,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:394,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:395,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:396,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:397,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:398,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:399,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:400,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:401,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:404,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:405,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:406,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:407,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:408,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:409,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:410,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:411,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:412,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:413,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:414,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:415,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:416,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:417,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:419,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:420,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:421,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:422,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:423,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:424,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:425,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:426,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:427,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:428,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:429,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:430,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:431,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:432,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:437,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:438,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:439,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:440,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:441,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:442,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:443,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:444,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:445,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:446,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:447,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:448,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:449,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:450,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:484,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:485,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:486,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:487,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:488,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:489,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:490,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:491,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:492,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:493,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:494,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:495,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:496,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:497,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:498,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:499,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:500,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:501,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:502,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:503,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:504,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:505,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:506,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:507,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:508,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:509,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:510,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:511,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:514,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:515,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:516,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:517,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:518,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:519,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:520,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:521,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:522,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:523,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:524,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:525,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:526,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:527,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:528,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:529,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:530,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:531,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:532,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:533,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:534,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:535,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:536,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:537,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:538,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:539,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:540,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:541,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:544,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:545,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:546,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:547,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:548,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:549,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:550,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:551,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:552,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:553,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:554,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:555,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:556,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:557,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:558,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:559,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:560,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:561,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:562,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:563,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:564,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:565,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:566,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:567,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:568,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:569,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:570,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:571,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:575,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:576,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:577,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:578,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:579,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:580,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:581,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:582,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:583,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:584,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:585,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:586,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:587,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:588,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:589,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:590,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:591,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:592,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:593,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:594,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:595,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:596,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:597,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:598,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:599,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:602,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:603,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:604,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:605,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:606,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:607,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:608,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:609,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:610,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:611,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:612,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:613,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:614,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:615,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:616,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:617,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:618,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:619,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:620,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:621,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:622,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:623,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:624,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:625,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:626,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:628,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:629,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:630,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:631,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:632,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:633,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:634,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:635,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:636,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:637,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:638,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:639,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:640,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:641,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:642,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:643,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:644,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:645,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:646,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:647,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:648,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:649,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:650,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:651,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:652,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:654,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:655,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:656,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:658,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:659,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:660,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:664,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:665,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:666,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:669,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:670,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:671,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:672,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:673,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:674,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:675,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:676,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:677,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:678,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:679,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:680,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:681,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:682,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:683,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:684,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:685,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:686,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:687,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:688,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:689,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:690,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:691,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:692,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:693,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:696,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:697,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:698,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:699,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:700,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:701,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:702,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:703,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:704,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:705,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:706,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:707,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:708,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:709,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:710,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:711,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:712,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:713,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:714,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:715,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:716,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:717,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:718,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:719,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:720,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:722,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:723,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:724,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:725,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:726,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:727,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:728,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:729,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:730,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:731,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:732,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:733,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:734,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:735,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:736,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:737,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:738,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:739,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:740,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:741,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:742,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:743,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:744,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:745,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:746,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:748,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:749,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:750,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:753,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:754,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:755,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:757,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:758,1
    - Dst: startswith
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:759,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:764,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:765,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:766,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:771,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:772,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:773,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:774,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:775,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:776,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:777,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:778,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:779,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:780,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:781,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:782,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:783,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:784,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:785,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:786,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:787,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:788,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:789,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:790,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:791,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:792,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:793,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:794,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:795,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:796,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:797,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:798,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:829,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:832,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:836,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:839,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:843,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:848,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:850,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:853,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:860,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:863,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:867,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:874,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:878,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:885,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:888,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:896,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:905,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:908,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:912,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:917,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:919,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:922,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:929,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:932,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:936,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:943,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:945,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:948,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:954,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:960,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:967,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:969,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:975,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:978,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:984,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:986,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:992,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:995,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:999,1
    CyclomaticComplexity: 387
    EdgeCount: 387
    ICount: 252
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 1008
    functionName: find_wait_queue_handling
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 0
    functionsReached:
    - printf
    - do_test
    - ASSERT
    - startswith
    linkageType: ''
    returnType: int
    signature: int find_wait_queue_handling (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1014,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1014,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1019,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1022,1
    - Dst: pthread_rwlockattr_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1022,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1023,1
    - Dst: pthread_rwlockattr_setkind_np
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1024,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1024,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1025,1
    - Dst: pthread_rwlockattr_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1025,1
    - Dst: find_wait_queue_handling
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1027,1
    - Dst: pthread_rwlock_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1027,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1031,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1034,1
    - Dst: pthread_rwlockattr_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1035,1
    - Dst: pthread_rwlockattr_setkind_np
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1036,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1036,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1037,1
    - Dst: pthread_rwlockattr_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1037,1
    - Dst: find_wait_queue_handling
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1039,1
    - Dst: pthread_rwlock_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1039,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1046,1
    - Dst: pthread_rwlockattr_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1047,1
    - Dst: pthread_rwlockattr_setkind_np
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1047,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1048,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1049,1
    - Dst: pthread_rwlockattr_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1049,1
    - Dst: find_wait_queue_handling
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1051,1
    - Dst: pthread_rwlock_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1051,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1058,1
    - Dst: pthread_rwlockattr_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1059,1
    - Dst: pthread_rwlockattr_setkind_np
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1060,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1060,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1061,1
    - Dst: pthread_rwlockattr_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1061,1
    - Dst: find_wait_queue_handling
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1063,1
    - Dst: pthread_rwlock_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1063,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1070,1
    - Dst: pthread_rwlock_init
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1070,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1073,1
    - Dst: pthread_rwlock_destroy
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1078
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-rwlock-waitqueue.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - pthread_rwlock_init
    - pthread_rwlockattr_setkind_np
    - find_wait_queue_handling
    - pthread_rwlock_destroy
    - printf
    - pthread_rwlockattr_init
    - pthread_rwlockattr_destroy
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp2f
      Src: /src/gnulib/tests/test-exp2f.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp2f.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-exp2f.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exp2f.c
    functionUses: 8
    functionsReached:
    - test_function
    - exp2f
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sum
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: store_newest_sum
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_newest_sum (uintptr_t sum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:125,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:126,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: block_sigint
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 2
    functionsReached:
    - sigemptyset
    - sigaddset
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void block_sigint (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_yield
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: idle_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 0
    functionsReached:
    - gl_thread_yield
    linkageType: ''
    returnType: void
    signature: 'void *

      idle_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:149,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:152,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:154,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:194,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:198,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 201
    functionName: sigint_handler
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_iterator_free
    - gl_list_iterator
    - fflush
    - gl_list_iterator_next
    - fprintf
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE sigint_handler (int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:211,1
    - Dst: kill
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:220,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: send_signal
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 1
    functionsReached:
    - raise
    - getpid
    - kill
    linkageType: ''
    returnType: void
    signature: void send_signal (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_sigint
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:229,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:235,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:236,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:237,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:238,1
    - Dst: send_signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:239,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:243,1
    - Dst: gl_thread_yield
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:245,1
    - Dst: printf
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:248,1
    - Dst: exit
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 254
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 254
    functionName: signal_sending_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 1
    functionsReached:
    - send_signal
    - exit
    - nanosleep
    - block_sigint
    - gl_thread_yield
    - printf
    linkageType: ''
    returnType: void
    signature: 'void *

      signal_sending_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_sigint
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:273,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:273,1
    - Dst: store_newest_sum
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:279,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:279,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:287,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:287,1
    - Dst: store_newest_sum
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:293,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 300
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 300
    functionName: mutator_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - gl_list_size
    - store_newest_sum
    - gl_list_remove
    - block_sigint
    - gl_list_nx_add_first
    linkageType: ''
    returnType: void
    signature: 'void *

      mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:305,1
    - Dst: srand
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:309,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:309,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:320,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:325,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:325,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:330,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:330,1
    - Dst: signal
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:344,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:351,1
    - Dst: sigaction
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:351,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:360,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:361,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:362,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:367,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:368,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:369,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:370,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:375,1
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:376,1
    - Dst: signal_sending_thread
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:376,1
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 383
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 383
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 8
    functionsReached:
    - abort
    - gl_list_nx_add_first
    - sigaction
    - signal
    - signal_sending_thread
    - gl_thread_self
    - gl_thread_create
    - atoi
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - sigemptyset
    - srand
    - ASSERT
    - RANDOM_OBJECT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-linked_list-strong.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log2-ieee.h:23,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log2-ieee.h:24,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log2-ieee.h:25,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log2-ieee.h:26,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:29,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log2-ieee.h:29,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:29,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:35,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log2-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2-ieee.h:39,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2-ieee.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log2-ieee.h
    functionUses: 137
    functionsReached:
    - ISNAN
    - LOG2
    - signbit
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-snzprintf-posix.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snzprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-lchmod.c:40,1
    - Dst: creat
      Src: /src/gnulib/tests/test-lchmod.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:41,1
    - Dst: lchmod
      Src: /src/gnulib/tests/test-lchmod.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:42,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchmod.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:46,1
    - Dst: lchmod
      Src: /src/gnulib/tests/test-lchmod.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:50,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-lchmod.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:51,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:51,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchmod.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:59,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-lchmod.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:60,1
    - Dst: lchmod
      Src: /src/gnulib/tests/test-lchmod.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:61,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchmod.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:63,1
    - Dst: lchmod
      Src: /src/gnulib/tests/test-lchmod.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:66,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchmod.c:66,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:71,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:72,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lchmod.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-lchmod.c:76,1
    - Dst: creat
      Src: /src/gnulib/tests/test-lchmod.c:76,1
    - Dst: lchmod
      Src: /src/gnulib/tests/test-lchmod.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:78,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchmod.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchmod.c:79,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:82,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchmod.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lchmod.c
    functionUses: 8
    functionsReached:
    - symlink
    - rmdir
    - lchmod
    - close
    - unlink
    - stat
    - mkdir
    - creat
    - chmod
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-write.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:39,1
    - Dst: write
      Src: /src/gnulib/tests/test-write.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-write.c:40,1
    - Dst: open
      Src: /src/gnulib/tests/test-write.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:45,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-write.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:46,1
    - Dst: write
      Src: /src/gnulib/tests/test-write.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:53,1
    - Dst: read
      Src: /src/gnulib/tests/test-write.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:54,1
    - Dst: close
      Src: /src/gnulib/tests/test-write.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:55,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-write.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:58,1
    - Dst: close
      Src: /src/gnulib/tests/test-write.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:64,1
    - Dst: write
      Src: /src/gnulib/tests/test-write.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:65,1
    - Dst: close
      Src: /src/gnulib/tests/test-write.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:71,1
    - Dst: write
      Src: /src/gnulib/tests/test-write.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-write.c:72,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-write.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-write.c
    functionUses: 8
    functionsReached:
    - close
    - open
    - write
    - memcmp
    - read
    - unlink
    - lseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log1p-ieee.h:23,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log1p-ieee.h:24,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log1p-ieee.h:25,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log1p-ieee.h:26,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:29,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-log1p-ieee.h:29,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:29,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:35,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log1p-ieee.h:35,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log1p-ieee.h:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-log1p-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p-ieee.h:44,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p-ieee.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log1p-ieee.h
    functionUses: 138
    functionsReached:
    - LOG1P
    - ISNAN
    - signbit
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sinl
      Src: /src/gnulib/tests/test-sinl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sinl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sinl.c
    functionUses: 8
    functionsReached:
    - sinl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix3.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix3.c
    functionUses: 8
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix3.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix3.c
    functionUses: 8
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-fprintf-posix3.c:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix3.c:91,1
    - Dst: getrlimit
      Src: /src/gnulib/tests/test-fprintf-posix3.c:102,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-fprintf-posix3.c:107,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-fprintf-posix3.c:114,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-fprintf-posix3.c:120,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fprintf-posix3.c:126,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fprintf-posix3.c:139,1
    - Dst: get_rusage_as
      Src: /src/gnulib/tests/test-fprintf-posix3.c:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 151
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fprintf-posix3.c
    functionUses: 8
    functionsReached:
    - getrlimit
    - setrlimit
    - atoi
    - is_running_under_qemu_user
    - get_rusage_as
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:45,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:48,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:60,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:83,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:84,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:91,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:95,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:100,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:105,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:105,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:108,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:108,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:116,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:147,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:147,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:150,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:150,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:157,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:162,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:162,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:171,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:177,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:177,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:183,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:185,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:185,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:191,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:191,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:196,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:198,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:198,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:205,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:205,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:212,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:212,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:220,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:226,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:226,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:232,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:234,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:234,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:240,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:240,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:245,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:247,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:247,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:253,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:255,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:255,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:262,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:262,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:268,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:268,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:272,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:278,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:278,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:285,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:285,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:291,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:293,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:293,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:299,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:299,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:304,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:306,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:306,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:313,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:313,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:318,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:320,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:320,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:330,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:330,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:333,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:337,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:339,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:343,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:345,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:349,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:351,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:355,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:357,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:361,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:363,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:367,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:369,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:373,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:375,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:379,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:381,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:385,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:387,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:391,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:399,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:405,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:405,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:411,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:413,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:413,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:421,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:421,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:427,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:429,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:429,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:435,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:435,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:440,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:442,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:442,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:450,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:450,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:453,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:455,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:456,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:458,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:461,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:469,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:475,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:475,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:481,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:483,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:483,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:491,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:491,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:497,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:499,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:499,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:505,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:505,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:510,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:512,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:512,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:519,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:520,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:520,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:523,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:526,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:528,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:531,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:539,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:545,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:545,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:551,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:553,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:553,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:561,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:561,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:567,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:569,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:569,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:575,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:575,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:580,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:582,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:582,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:590,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:590,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:593,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:596,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:598,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:601,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:607,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:607,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:611,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:617,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:617,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:624,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:624,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:630,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:632,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:632,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:638,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:638,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:643,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:645,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:645,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:654,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:654,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:657,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:659,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:661,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:661,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:671,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:671,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:674,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:678,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:680,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:684,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:686,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:690,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:692,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:696,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:698,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:702,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:704,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:708,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 596
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 715
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 715
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-mbrtoc32-w32.c
    functionUses: 0
    functionsReached:
    - mbrtoc32
    - setlocale
    - c32tob
    - mbsinit
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 741
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 741
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc32-w32.c
    functionUses: 8
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtoc32-w32.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc32-w32.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:21,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:21,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:22,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:22,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-rint.h:24,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:24,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-rint.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:35,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:37,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:40,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:40,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:42,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:45,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:47,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:50,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rint.h:52,1
    - Dst: RINT
      Src: /src/gnulib/tests/test-rint.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-rint.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 55
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-rint.h
    functionUses: 138
    functionsReached:
    - ISNAN
    - L_
    - RINT
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-search-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vszprintf-posix.c:37,1
    - Dst: vszprintf
      Src: /src/gnulib/tests/test-vszprintf-posix.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vszprintf-posix.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - format
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_szprintf
    functionSourceFile: /src/gnulib/tests/test-vszprintf-posix.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vszprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_szprintf (char *str, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vszprintf-posix.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vszprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_lock
      Src: /src/gnulib/tests/test-rwlock1.c:81,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:82,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-rwlock1.c:83,1
    - Dst: SUCCEED
      Src: /src/gnulib/tests/test-rwlock1.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: timer_func
    functionSourceFile: /src/gnulib/tests/test-rwlock1.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED
    - SUCCEED
    - usleep
    - glthread_lock_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      timer_func (_GL_UNUSED void *ignored)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_lock
      Src: /src/gnulib/tests/test-rwlock1.c:97,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:98,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-rwlock1.c:99,1
    - Dst: glthread_create
      Src: /src/gnulib/tests/test-rwlock1.c:102,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:103,1
    - Dst: glthread_lock_unlock
      Src: /src/gnulib/tests/test-rwlock1.c:105,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:106,1
    - Dst: glthread_rwlock_rdlock
      Src: /src/gnulib/tests/test-rwlock1.c:108,1
    - Dst: FAILURE
      Src: /src/gnulib/tests/test-rwlock1.c:110,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: reader2_func
    functionSourceFile: /src/gnulib/tests/test-rwlock1.c
    functionUses: 0
    functionsReached:
    - glthread_lock_unlock
    - glthread_lock_lock
    - glthread_create
    - glthread_rwlock_rdlock
    - FAILURE
    - UNEXPECTED
    - usleep
    linkageType: ''
    returnType: void
    signature: 'void *

      reader2_func (_GL_UNUSED void *ignored)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glthread_lock_lock
      Src: /src/gnulib/tests/test-rwlock1.c:120,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:121,1
    - Dst: glthread_create
      Src: /src/gnulib/tests/test-rwlock1.c:123,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:124,1
    - Dst: glthread_lock_unlock
      Src: /src/gnulib/tests/test-rwlock1.c:126,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:127,1
    - Dst: glthread_rwlock_wrlock
      Src: /src/gnulib/tests/test-rwlock1.c:129,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: writer_func
    functionSourceFile: /src/gnulib/tests/test-rwlock1.c
    functionUses: 0
    functionsReached:
    - glthread_lock_unlock
    - glthread_lock_lock
    - glthread_create
    - UNEXPECTED
    - glthread_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: 'void *

      writer_func (_GL_UNUSED void *ignored)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_thread_self
      Src: /src/gnulib/tests/test-rwlock1.c:137,1
    - Dst: glthread_rwlock_init
      Src: /src/gnulib/tests/test-rwlock1.c:140,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:141,1
    - Dst: glthread_lock_init
      Src: /src/gnulib/tests/test-rwlock1.c:142,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:143,1
    - Dst: glthread_rwlock_rdlock
      Src: /src/gnulib/tests/test-rwlock1.c:145,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:146,1
    - Dst: glthread_create
      Src: /src/gnulib/tests/test-rwlock1.c:148,1
    - Dst: UNEXPECTED
      Src: /src/gnulib/tests/test-rwlock1.c:149,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-rwlock1.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rwlock1.c
    functionUses: 8
    functionsReached:
    - gl_thread_self
    - glthread_create
    - glthread_rwlock_rdlock
    - glthread_lock_init
    - glthread_rwlock_init
    - UNEXPECTED
    - sleep
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-rwlock1.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rwlock1.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmod-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmod-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 6
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 16
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:132,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:132,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:133,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:134,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:134,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:136,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:137,1
    - Dst: random
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:138,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:142,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:142,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:143,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:144,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:144,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:146,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:146,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:147,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:148,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:149,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:150,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:150,1
    - Dst: yield
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:152,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:155,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - asyncsafe_spin_lock
    - dbgprintf
    - random
    - random_account
    - yield
    - asyncsafe_spin_unlock
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:164,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:168,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:168,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:169,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:170,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:171,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:172,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:172,1
    - Dst: yield
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:174,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:177,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - asyncsafe_spin_lock
    - dbgprintf
    - get_atomic_int_value
    - yield
    - asyncsafe_spin_unlock
    - check_accounts
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:191,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:192,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:195,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:197,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:201,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:202,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:203,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 205
    functionName: test_asyncsafe_spin
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 0
    functionsReached:
    - gl_thread_join
    - set_atomic_int_value
    - gl_thread_create
    - init_atomic_int
    - check_accounts
    linkageType: ''
    returnType: void
    signature: void test_asyncsafe_spin (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:217,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:218,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:221,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:222,1
    - Dst: asyncsafe_spin_init
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:224,1
    - Dst: printf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:226,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:226,1
    - Dst: test_asyncsafe_spin
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:227,1
    - Dst: printf
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:228,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 8
    functionsReached:
    - test_asyncsafe_spin
    - alarm
    - asyncsafe_spin_init
    - signal
    - fflush
    - sigemptyset
    - sigaddset
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-asyncsafe-spin2.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asyncsafe-spin2.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_times-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-accept.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept.c:44,1
    - Dst: accept
      Src: /src/gnulib/tests/test-accept.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept.c:45,1
    - Dst: close
      Src: /src/gnulib/tests/test-accept.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept.c:53,1
    - Dst: accept
      Src: /src/gnulib/tests/test-accept.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-accept.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-accept.c
    functionUses: 8
    functionsReached:
    - gl_sockets_startup
    - accept
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:35,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:40,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:42,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:46,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:49,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:54,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:56,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:59,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:63,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:66,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:68,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:70,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:70,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:74,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:75,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:78,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:84,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:87,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:90,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:94,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:103,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:106,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:106,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:110,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:113,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:113,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:116,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:120,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:120,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:123,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:127,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:127,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:134,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:135,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:137,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:137,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:140,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:142,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:144,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma1.h:144,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:148,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:149,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:153,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:157,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:161,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:165,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:169,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:172,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:177,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:180,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:185,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:190,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:191,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:192,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:193,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:195,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:198,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:199,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:200,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:201,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:203,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:206,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:207,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:208,1
    - Dst: my_fma
      Src: /src/gnulib/tests/test-fma1.h:209,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma1.h:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma1.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 213
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fma1.h
    functionUses: 140
    functionsReached:
    - my_fma
    - L_
    - ASSERT
    - ISNAN
    linkageType: ''
    returnType: void
    signature: void test_function (DOUBLE (*my_fma) (DOUBLE, DOUBLE, DOUBLE))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-spin2.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 7
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-spin2.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 19
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:131,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:131,1
    - Dst: gl_spinlock_lock
      Src: /src/gnulib/tests/test-spin2.c:132,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:133,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:133,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-spin2.c:135,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-spin2.c:136,1
    - Dst: random
      Src: /src/gnulib/tests/test-spin2.c:137,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:141,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:141,1
    - Dst: gl_spinlock_unlock
      Src: /src/gnulib/tests/test-spin2.c:142,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:143,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:143,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:145,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:145,1
    - Dst: gl_spinlock_lock
      Src: /src/gnulib/tests/test-spin2.c:146,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-spin2.c:147,1
    - Dst: gl_spinlock_unlock
      Src: /src/gnulib/tests/test-spin2.c:148,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:149,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:149,1
    - Dst: yield
      Src: /src/gnulib/tests/test-spin2.c:151,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:154,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 156
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - dbgprintf
    - check_accounts
    - gl_spinlock_unlock
    - random
    - random_account
    - yield
    - gl_spinlock_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-spin2.c:163,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:165,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:165,1
    - Dst: gl_spinlock_lock
      Src: /src/gnulib/tests/test-spin2.c:166,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-spin2.c:167,1
    - Dst: gl_spinlock_unlock
      Src: /src/gnulib/tests/test-spin2.c:168,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:169,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:169,1
    - Dst: yield
      Src: /src/gnulib/tests/test-spin2.c:171,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-spin2.c:174,1
    - Dst: gl_thread_self_pointer
      Src: /src/gnulib/tests/test-spin2.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 0
    functionsReached:
    - gl_thread_self_pointer
    - dbgprintf
    - get_atomic_int_value
    - check_accounts
    - gl_spinlock_unlock
    - yield
    - gl_spinlock_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-spin2.c:188,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-spin2.c:189,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-spin2.c:192,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-spin2.c:194,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-spin2.c:198,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-spin2.c:199,1
    - Dst: gl_thread_join
      Src: /src/gnulib/tests/test-spin2.c:200,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-spin2.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 202
    functionName: test_asyncsafe_spin
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 1
    functionsReached:
    - gl_thread_join
    - set_atomic_int_value
    - gl_thread_create
    - init_atomic_int
    - check_accounts
    linkageType: ''
    returnType: void
    signature: void test_asyncsafe_spin (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-spin2.c:214,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-spin2.c:215,1
    - Dst: gl_spinlock_init
      Src: /src/gnulib/tests/test-spin2.c:218,1
    - Dst: printf
      Src: /src/gnulib/tests/test-spin2.c:220,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-spin2.c:220,1
    - Dst: test_asyncsafe_spin
      Src: /src/gnulib/tests/test-spin2.c:221,1
    - Dst: printf
      Src: /src/gnulib/tests/test-spin2.c:222,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-spin2.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 8
    functionsReached:
    - test_asyncsafe_spin
    - gl_spinlock_init
    - alarm
    - signal
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-spin2.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spin2.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utime-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:43,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:44,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:44,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-ftello.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:52,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:53,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:53,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftello.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:57,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:58,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:58,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftello.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:63,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:64,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:64,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftello.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:68,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:69,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:72,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftello.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:73,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:74,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:74,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftello.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:78,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftello.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:81,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:82,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:82,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftello.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:86,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:87,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:87,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-ftello.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:100,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftello.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:101,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:102,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:102,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftello.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:106,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:107,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:112,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftello.c:112,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:114,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftello.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:115,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftello.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello.c:116,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 120
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftello.c
    functionUses: 8
    functionsReached:
    - ftello
    - fgetc
    - ungetc
    - fputs
    - ftell
    - set_binary_mode
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version_etc
      Src: /src/gnulib/tests/test-version-etc.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char**
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-version-etc.c
    functionUses: 8
    functionsReached:
    - version_etc
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:40,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memrchr.c:44,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memrchr.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:50,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:52,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:55,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:57,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:58,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:59,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:61,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:62,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:64,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:65,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:73,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memrchr.c:86,1
    - Dst: memrchr
      Src: /src/gnulib/tests/test-memrchr.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/test-memrchr.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memrchr.c
    functionUses: 8
    functionsReached:
    - free
    - memrchr
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sys_socket-h.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sys_socket-h.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sys_socket-h.c:121,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_socket-h.c
    functionUses: 8
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: SIGNATURE_CHECK
    functionSourceFile: /src/gnulib/tests/test-netdb-h-c++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SIGNATURE_CHECK (GNULIB_NAMESPACE::getaddrinfo, int,\n                 (const
      char *, const char *, const struct addrinfo *,\n                  struct addrinfo
      **));\nSIGNATURE_CHECK (GNULIB_NAMESPACE::freeaddrinfo, void, (struct addrinfo
      *));\nSIGNATURE_CHECK (GNULIB_NAMESPACE::gai_strerror, const char *, (int));\nSIGNATURE_CHECK
      (GNULIB_NAMESPACE::getnameinfo, int,\n                 (const struct sockaddr
      *, socklen_t, char *, socklen_t,\n                  char *, socklen_t, int));\n#endif\n\n\nint\nmain
      ()"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isalnum.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isalnum.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:42,1
    - Dst: c32isalnum
      Src: /src/gnulib/tests/test-c32isalnum.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isalnum.c
    functionUses: 11
    functionsReached:
    - c32isalnum
    - mbrtoc32
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isalnum.c:54,1
    - Dst: c32isalnum
      Src: /src/gnulib/tests/test-c32isalnum.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:120,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:139,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:142,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:151,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:155,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:158,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:162,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:166,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:171,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:181,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:184,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:187,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:194,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:198,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:202,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:206,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:209,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isalnum.c:218,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:224,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:228,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:231,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:235,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:239,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:244,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:249,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:253,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isalnum.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isalnum.c:256,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 250
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 263
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isalnum.c
    functionUses: 8
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isalnum
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-script.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn-script.c:48,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-script.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn-script.c:49,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-script.c:49,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-script.c:70,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-script.c:76,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-script.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:80,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:98,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-script.c:110,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-script.c:114,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-script.c:118,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-script.c:120,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:122,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:128,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-script.c:133,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-script.c:136,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-script.c:141,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-script.c:143,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-script.c:146,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-script.c:148,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-script.c:155,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-script.c
    functionUses: 8
    functionsReached:
    - fopen
    - fclose
    - WIFEXITED
    - unlink
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - memcmp
    - posix_spawn_file_actions_addopen
    - waitpid
    - fprintf
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: to_ascii
    functionSourceFile: /src/gnulib/tests/test-mcel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wint_t
    signature: wint_t to_ascii (wint_t c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: sgn
    functionSourceFile: /src/gnulib/tests/test-mcel.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sgn (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - uc
    - c
    - n
    - ch
    argTypes:
    - unsigned char
    - mcel_t
    - size_t
    - char32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: test_mcel_vs_mbrtoc32
    functionSourceFile: /src/gnulib/tests/test-mcel.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_mcel_vs_mbrtoc32 (unsigned char uc, mcel_t c, size_t n, char32_t
      ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mcel.c:50,1
    - Dst: mcel_ch
      Src: /src/gnulib/tests/test-mcel.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:60,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:61,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:64,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:65,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:66,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:67,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:69,1
    - Dst: mcel_isbasic
      Src: /src/gnulib/tests/test-mcel.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:74,1
    - Dst: mcel_isbasic
      Src: /src/gnulib/tests/test-mcel.c:74,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mcel.c:85,1
    - Dst: mcel_ch
      Src: /src/gnulib/tests/test-mcel.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:96,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:97,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:98,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:99,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:100,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:102,1
    - Dst: sgn
      Src: /src/gnulib/tests/test-mcel.c:102,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:103,1
    - Dst: sgn
      Src: /src/gnulib/tests/test-mcel.c:103,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:103,1
    - Dst: mcel_err
      Src: /src/gnulib/tests/test-mcel.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:112,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:113,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:114,1
    - Dst: mcel_cmp
      Src: /src/gnulib/tests/test-mcel.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:115,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:116,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:117,1
    - Dst: mcel_tocmp
      Src: /src/gnulib/tests/test-mcel.c:117,1
    - Dst: mcel_scan
      Src: /src/gnulib/tests/test-mcel.c:131,1
    - Dst: test_mcel_vs_mbrtoc32
      Src: /src/gnulib/tests/test-mcel.c:132,1
    - Dst: mcel_scant
      Src: /src/gnulib/tests/test-mcel.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:142,1
    - Dst: mcel_scanz
      Src: /src/gnulib/tests/test-mcel.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mcel.c:146,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 152
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mcel.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - mcel_err
    - sgn
    - setlocale
    - mcel_scant
    - fputs
    - mcel_scanz
    - mcel_ch
    - mcel_tocmp
    - test_mcel_vs_mbrtoc32
    - mcel_isbasic
    - mcel_scan
    - mcel_cmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_ioctl-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-mode-acl.c:33,1
    - Dst: strtol
      Src: /src/gnulib/tests/test-set-mode-acl.c:36,1
    - Dst: xset_acl
      Src: /src/gnulib/tests/test-set-mode-acl.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-set-mode-acl.c
    functionUses: 8
    functionsReached:
    - xset_acl
    - strtol
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acosl
      Src: /src/gnulib/tests/test-acosl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-acosl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-acosl.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - acosl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: do_allocation
    functionSourceFile: /src/gnulib/tests/test-alloca-opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_allocation (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:48,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:50,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:52,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:53,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:54,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:55,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:56,1
    - Dst: func
      Src: /src/gnulib/tests/test-alloca-opt.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-alloca-opt.c
    functionUses: 8
    functionsReached:
    - func
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-signal-h.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/gnulib/tests/test-atan.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atan.c
    functionUses: 8
    functionsReached:
    - atan
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-getloadavg.c:32,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getloadavg.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-getloadavg.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getloadavg.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - minutes
    - avg
    - printit
    argTypes:
    - int
    - double
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: check_avg
    functionSourceFile: /src/gnulib/tests/test-getloadavg.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void check_avg (int minutes, double avg, int printit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/tests/test-getloadavg.c:55,1
    - Dst: perror
      Src: /src/gnulib/tests/test-getloadavg.c:65,1
    - Dst: check_avg
      Src: /src/gnulib/tests/test-getloadavg.c:69,1
    - Dst: check_avg
      Src: /src/gnulib/tests/test-getloadavg.c:71,1
    - Dst: check_avg
      Src: /src/gnulib/tests/test-getloadavg.c:73,1
    - Dst: putchar
      Src: /src/gnulib/tests/test-getloadavg.c:75,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-getloadavg.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 83
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getloadavg.c
    functionUses: 8
    functionsReached:
    - check_avg
    - atoi
    - sleep
    - putchar
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-arctwo.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:42,1
    - Dst: gc_cipher_open
      Src: /src/gnulib/tests/test-gc-arctwo.c:46,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-arctwo.c:50,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-arctwo.c:54,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-arctwo.c:55,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-arctwo.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:64,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:67,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:68,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-arctwo.c:74,1
    - Dst: gc_cipher_decrypt_inline
      Src: /src/gnulib/tests/test-gc-arctwo.c:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-arctwo.c:82,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:85,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:87,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:90,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arctwo.c:91,1
    - Dst: gc_cipher_close
      Src: /src/gnulib/tests/test-gc-arctwo.c:95,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-arctwo.c:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 100
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-arctwo.c
    functionUses: 8
    functionsReached:
    - gc_cipher_open
    - gc_cipher_encrypt_inline
    - gc_init
    - gc_cipher_decrypt_inline
    - gc_cipher_close
    - memcmp
    - gc_done
    - memcpy
    - printf
    - gc_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 108
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 108
    functionName: truncf_reference
    functionSourceFile: /src/gnulib/tests/test-truncf2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE truncf_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanf
      Src: /src/gnulib/tests/test-truncf2.c:115,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-truncf2.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-truncf2.c
    functionUses: 124
    functionsReached:
    - isnanf
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:124,1
    - Dst: equal
      Src: /src/gnulib/tests/test-truncf2.c:126,1
    - Dst: L_
      Src: /src/gnulib/tests/test-truncf2.c:127,1
    - Dst: equal
      Src: /src/gnulib/tests/test-truncf2.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-truncf2.c
    functionUses: 4
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf2.c:138,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-truncf2.c:138,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-truncf2.c:142,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-truncf2.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-truncf2.c
    functionUses: 115
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-truncf2.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncf2.c
    functionUses: 8
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: small_nap
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 0
    functionsReached:
    - usleep
    linkageType: ''
    returnType: void
    signature: void small_nap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num_bytes_p
    - private_data
    argTypes:
    - size_t*
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: prepare_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      prepare_read (size_t *num_bytes_p, void *private_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ignore_done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_done_read (void *data_read, size_t num_bytes_read, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data_read
    - num_bytes_read
    - private_data
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: output_done_read
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 0
    functionsReached:
    - full_write
    linkageType: ''
    returnType: void
    signature: void output_done_read (void *data_read, size_t num_bytes_read, void
      *private_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe_filter_gi_write
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:67,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - string
    argTypes:
    - struct pipe_filter_gi*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: pipe_filter_gi_write_string
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 0
    functionsReached:
    - strlen
    - pipe_filter_gi_write
    linkageType: ''
    returnType: void
    signature: void pipe_filter_gi_write_string (struct pipe_filter_gi *f, const char
      *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:76,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:78,1
    - Dst: pipe_filter_gi_create
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:85,1
    - Dst: small_nap
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:87,1
    - Dst: pipe_filter_gi_write
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:89,1
    - Dst: pipe_filter_gi_close
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:91,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:92,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:93,1
    - Dst: pipe_filter_gi_create
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:99,1
    - Dst: pipe_filter_gi_write_string
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:102,1
    - Dst: pipe_filter_gi_close
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:103,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:104,1
    - Dst: pipe_filter_gi_create
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:112,1
    - Dst: pipe_filter_gi_write_string
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:114,1
    - Dst: small_nap
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:115,1
    - Dst: pipe_filter_gi_write
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:117,1
    - Dst: pipe_filter_gi_close
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:121,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:122,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:123,1
    - Dst: pipe_filter_gi_create
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:129,1
    - Dst: pipe_filter_gi_write_string
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:131,1
    - Dst: pipe_filter_gi_write_string
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:132,1
    - Dst: pipe_filter_gi_write_string
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:134,1
    - Dst: pipe_filter_gi_close
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:134,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:135,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pipe-filter-gi2-main.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 140
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe-filter-gi2-main.c
    functionUses: 8
    functionsReached:
    - pipe_filter_gi_create
    - pipe_filter_gi_close
    - pipe_filter_gi_write_string
    - fflush
    - set_binary_mode
    - pipe_filter_gi_write
    - printf
    - small_nap
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-integer_length_ll.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:44,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:44,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length_ll.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:47,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:47,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length_ll.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:48,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:49,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:52,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:54,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:57,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:58,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:62,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_ll.c:63,1
    - Dst: integer_length_ll
      Src: /src/gnulib/tests/test-integer_length_ll.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-integer_length_ll.c
    functionUses: 8
    functionsReached:
    - naive
    - integer_length_ll
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_msvc_inval_ensure_handler
      Src: /src/gnulib/tests/test-fwrite.c:43,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwrite.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:52,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fwrite.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:54,1
    - Dst: close
      Src: /src/gnulib/tests/test-fwrite.c:54,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fwrite.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:56,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwrite.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:58,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fwrite.c:58,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwrite.c:59,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fwrite.c:66,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fwrite.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:72,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwrite.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:74,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fwrite.c:74,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwrite.c:75,1
    - Dst: close
      Src: /src/gnulib/tests/test-fwrite.c:80,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fwrite.c:81,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-fwrite.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:87,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwrite.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwrite.c:89,1
    - Dst: ferror
      Src: /src/gnulib/tests/test-fwrite.c:89,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwrite.c:90,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fwrite.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fwrite.c
    functionUses: 8
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - gl_msvc_inval_ensure_handler
    - close
    - unlink
    - fileno
    - setvbuf
    - fdopen
    - ferror
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr-c++.cc:38,1
    - Dst: va_start
      Src: /src/gnulib/tests/test-nullptr-c++.cc:39,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr-c++.cc:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr-c++.cc:42,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr-c++.cc:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr-c++.cc:45,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr-c++.cc:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr-c++.cc:48,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-nullptr-c++.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - first
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: varargs_callee
    functionSourceFile: /src/gnulib/tests/test-nullptr-c++.cc
    functionUses: 0
    functionsReached:
    - va_start
    - va_arg
    - va_end
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void varargs_callee (const char *first, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varargs_callee
      Src: /src/gnulib/tests/test-nullptr-c++.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nullptr-c++.cc
    functionUses: 8
    functionsReached:
    - varargs_callee
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsnlen.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:48,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:49,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:50,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:52,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:53,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:54,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:56,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:57,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:58,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:59,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:60,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:64,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:65,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:66,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:67,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:68,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:69,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:71,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:72,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:73,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:74,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:74,1
    - Dst: OR
      Src: /src/gnulib/tests/test-mbsnlen.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:75,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:76,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:78,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:79,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:80,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:80,1
    - Dst: OR
      Src: /src/gnulib/tests/test-mbsnlen.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:81,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:81,1
    - Dst: OR
      Src: /src/gnulib/tests/test-mbsnlen.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:82,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:83,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:85,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:86,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:86,1
    - Dst: OR
      Src: /src/gnulib/tests/test-mbsnlen.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnlen.c:87,1
    - Dst: mbsnlen
      Src: /src/gnulib/tests/test-mbsnlen.c:87,1
    - Dst: OR
      Src: /src/gnulib/tests/test-mbsnlen.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsnlen.c
    functionUses: 8
    functionsReached:
    - OR
    - mbsnlen
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/tests/test-stat.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - st
    argTypes:
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: do_stat
    functionSourceFile: /src/gnulib/tests/test-stat.c
    functionUses: 1
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: int do_stat (char const *name, struct stat *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stat.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-filemode.c:71,1
    - Dst: strmode
      Src: /src/gnulib/tests/test-filemode.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-filemode.c:74,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-filemode.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-filemode.c
    functionUses: 8
    functionsReached:
    - strmode
    - SIZEOF
    - ASSERT
    - STREQ
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-fnmatch.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:54,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:55,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:57,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:58,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:59,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:60,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:64,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:65,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:66,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:67,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:68,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:69,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:70,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:72,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:73,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:74,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:75,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:76,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:77,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:78,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:79,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:80,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:82,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:83,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:84,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:85,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:86,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:87,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:88,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:89,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:90,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:92,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:93,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:94,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:95,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:96,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:97,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:98,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:99,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:100,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:101,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:103,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:104,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:105,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:106,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:107,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:108,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:109,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:110,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:111,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:113,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:114,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:115,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:116,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:117,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:118,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:119,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:120,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:121,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:122,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:123,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:124,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:126,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:127,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:128,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:130,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:131,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:132,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:133,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:134,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:135,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:136,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:137,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:138,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:139,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:140,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:141,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:142,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:143,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:144,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:146,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:147,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:148,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:149,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:150,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:152,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:153,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:154,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:155,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:156,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:158,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:159,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:160,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:161,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:162,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:164,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:165,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:166,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:167,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:168,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:170,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:171,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:172,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:173,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:174,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:176,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:177,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:178,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:179,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:180,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:182,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:183,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:184,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:185,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:186,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:188,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:189,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:190,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:191,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:192,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:194,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:195,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:196,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:197,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:198,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:200,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:201,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:202,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:203,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:204,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:208,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:209,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:210,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:211,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:212,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:213,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:214,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:216,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:217,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:218,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:219,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:220,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:221,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:222,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:224,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:225,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:226,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:227,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:228,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:229,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:230,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:231,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:233,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:234,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:235,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:236,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:237,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:238,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:239,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:240,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:242,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:243,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:244,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:245,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:246,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:247,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:248,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:249,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:250,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:252,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:253,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:254,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:255,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:256,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:257,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:258,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:259,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:260,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:262,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:263,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:264,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:265,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:266,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:267,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:268,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:269,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:271,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:272,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:273,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:274,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:275,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:276,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:277,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:278,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:279,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:281,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:282,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:283,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:284,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:285,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:286,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:287,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:288,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:289,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:290,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:292,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:293,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:294,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:295,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:296,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:297,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:298,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:299,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:300,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:302,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:303,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:304,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:305,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:306,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:307,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:308,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:309,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:311,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:312,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:313,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:314,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:315,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:316,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:317,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:318,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:319,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:320,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:322,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:323,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:324,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:325,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:326,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:327,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:328,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:329,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:330,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:331,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:333,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:334,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:335,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:336,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:337,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:338,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:339,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:340,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:341,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:343,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:345,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:348,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:349,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:353,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:354,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:356,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:357,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:359,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:360,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:361,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:363,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:364,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:365,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:369,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:370,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:372,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:373,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:374,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:375,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:376,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:377,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:378,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:380,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:381,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:382,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:383,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:384,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:385,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:386,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:390,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:391,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:392,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:393,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:394,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:395,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:396,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:397,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:398,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:399,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:400,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:401,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:402,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:403,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:404,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:405,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:407,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:408,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:409,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:410,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:411,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:412,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:413,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:414,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:415,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:416,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:417,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:418,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:419,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:420,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:421,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:422,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:424,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:425,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:426,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:427,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:428,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:429,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:430,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:431,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:432,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:433,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:434,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:435,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:436,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:437,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:438,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:439,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:440,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:441,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:442,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:443,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:448,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:449,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:450,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:451,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:452,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:453,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:455,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:455,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:456,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:457,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:458,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:459,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:466,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:467,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:468,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:469,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:470,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:471,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:472,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:473,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:473,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:478,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:480,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:483,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:485,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:493,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:494,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:495,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:496,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:497,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:498,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:499,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:500,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:501,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:502,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:503,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:505,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:506,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:507,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:508,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:509,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:510,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:511,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:512,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:513,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:514,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:515,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:515,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:517,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:518,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:519,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:519,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:520,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:521,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:521,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:522,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:523,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:524,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:525,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:526,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:527,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:529,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:530,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:531,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:532,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:533,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:534,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:535,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:536,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:537,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:538,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:539,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:541,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:542,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:543,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:544,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:545,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:546,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:546,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:547,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:548,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:549,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:550,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:551,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:553,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:568,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:569,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:570,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:571,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:572,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:573,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:574,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fnmatch.c:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:579,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:580,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:581,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:582,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:583,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:584,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:585,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:585,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:586,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:587,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:588,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:589,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:590,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:594,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:596,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:598,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:601,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:604,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:605,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:606,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:607,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:623,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:624,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:626,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:628,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:631,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:634,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:637,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:641,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:644,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:646,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:648,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:650,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:652,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:654,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:656,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:658,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:660,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:662,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:664,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:668,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:669,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:670,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:671,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:679,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:680,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:681,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:683,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:686,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:689,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:692,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:695,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:698,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:701,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:701,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:704,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:707,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:710,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:713,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:713,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-fnmatch.c:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:717,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:720,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:722,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:725,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:728,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:730,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:732,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:734,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:736,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:738,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:740,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:742,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:744,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:744,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:746,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:748,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:748,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fnmatch.c:757,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-fnmatch.c:758,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-fnmatch.c:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:761,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:762,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:763,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:764,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:774,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:775,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:776,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:779,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:783,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:787,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:791,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:795,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:799,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:803,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:807,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:810,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:812,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:812,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:814,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:816,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:818,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:820,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:822,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:824,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:826,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:828,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:830,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:830,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fnmatch.c:840,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-fnmatch.c:841,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-fnmatch.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:844,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:845,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:846,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:847,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:847,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fnmatch.c:859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:863,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:864,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:865,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:868,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:872,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:876,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:880,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:884,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:888,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:892,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:896,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:900,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:904,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:908,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:912,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:916,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:919,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:921,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:923,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:925,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:927,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:929,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:931,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:933,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:935,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:937,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:939,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:939,1
    - Dst: memset
      Src: /src/gnulib/tests/test-fnmatch.c:949,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-fnmatch.c:950,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-fnmatch.c:951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:953,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:954,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:955,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fnmatch.c:956,1
    - Dst: fnmatch
      Src: /src/gnulib/tests/test-fnmatch.c:956,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 593
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 965
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 965
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fnmatch.c
    functionUses: 8
    functionsReached:
    - setlocale
    - mbrtowc
    - fputs
    - iswpunct
    - strcmp
    - memset
    - fnmatch
    - ASSERT
    - towupper
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cosh
      Src: /src/gnulib/tests/test-cosh.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cosh.c:40,1
    - Dst: cosh
      Src: /src/gnulib/tests/test-cosh.c:46,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-cosh.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cosh.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-cosh.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cosh.c
    functionUses: 8
    functionsReached:
    - cosh
    - sprintf
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:55,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:55,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:63,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:71,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:73,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:83,1
    - Dst: setpayloadsigl
      Src: /src/gnulib/tests/test-setpayloadsigl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigl.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayloadsigl.c
    functionUses: 8
    functionsReached:
    - isnanl
    - setpayloadsigl
    - ASSERT
    - Infinityl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/gnulib/tests/test-powf.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-powf.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-powf.c
    functionUses: 8
    functionsReached:
    - powf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: worker_thread_func
    functionSourceFile: /src/gnulib/tests/test-pthread-thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      worker_thread_func (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/gnulib/tests/test-pthread-thread.c:45,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-thread.c:47,1
    - Dst: pthread_self
      Src: /src/gnulib/tests/test-pthread-thread.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-thread.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-pthread-thread.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-thread.c:58,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-thread.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-thread.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-thread.c:64,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-thread.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-thread.c
    functionUses: 8
    functionsReached:
    - pthread_join
    - fputs
    - pthread_create
    - memcmp
    - pthread_self
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_random-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-uchar-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnulib/tests/test-exclude.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: ARGMATCH_DIE_DECL
    functionSourceFile: /src/gnulib/tests/test-exclude.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: ARGMATCH_DIE_DECL
    signature: ARGMATCH_DIE_DECL ARGMATCH_DIE_DECL
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_exclude
      Src: /src/gnulib/tests/test-exclude.c:74,1
    - Dst: error
      Src: /src/gnulib/tests/test-exclude.c:77,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-exclude.c:93,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-exclude.c:93,1
    - Dst: XARGMATCH
      Src: /src/gnulib/tests/test-exclude.c:98,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-exclude.c:106,1
    - Dst: exit
      Src: /src/gnulib/tests/test-exclude.c:107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-exclude.c:110,1
    - Dst: exit
      Src: /src/gnulib/tests/test-exclude.c:111,1
    - Dst: add_exclude_file
      Src: /src/gnulib/tests/test-exclude.c:113,1
    - Dst: error
      Src: /src/gnulib/tests/test-exclude.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-exclude.c:122,1
    - Dst: excluded_file_name
      Src: /src/gnulib/tests/test-exclude.c:122,1
    - Dst: free_exclude
      Src: /src/gnulib/tests/test-exclude.c:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-exclude.c
    functionUses: 8
    functionsReached:
    - exit
    - strlen
    - free_exclude
    - add_exclude_file
    - memcmp
    - strcmp
    - new_exclude
    - error
    - printf
    - excluded_file_name
    - XARGMATCH
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-sqrt-ieee.h:23,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-sqrt-ieee.h:26,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:26,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:32,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-sqrt-ieee.h:32,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-sqrt-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-sqrt-ieee.h:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-sqrt-ieee.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:41,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:42,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-sqrt-ieee.h:42,1
    - Dst: SQRT
      Src: /src/gnulib/tests/test-sqrt-ieee.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-sqrt-ieee.h
    functionUses: 140
    functionsReached:
    - ISNAN
    - signbit
    - SQRT
    - L_
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ioctl.c:38,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-ioctl.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ioctl.c:39,1
    - Dst: close
      Src: /src/gnulib/tests/test-ioctl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ioctl.c:45,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-ioctl.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ioctl.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ioctl.c
    functionUses: 8
    functionsReached:
    - ioctl
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-sm3.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:34,1
    - Dst: gc_sm3
      Src: /src/gnulib/tests/test-gc-sm3.c:49,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:51,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sm3.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:64,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-sm3.c:68,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sm3.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:84,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-sm3.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:90,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-sm3.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:96,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-sm3.c:100,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-sm3.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sm3.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:118,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sm3.c:119,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-sm3.c:123,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-sm3.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-sm3.c
    functionUses: 8
    functionsReached:
    - gc_hash_open
    - gc_init
    - gc_sm3
    - memcmp
    - gc_hash_digest_length
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unsetenv
      Src: /src/gnulib/tests/test-putenv.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:38,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-putenv.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:46,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-putenv.c:46,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-putenv.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:49,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-putenv.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:55,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-putenv.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:56,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-putenv.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:62,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-putenv.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-putenv.c:63,1
    - Dst: getenv
      Src: /src/gnulib/tests/test-putenv.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-putenv.c
    functionUses: 8
    functionsReached:
    - putenv
    - STREQ
    - unsetenv
    - getenv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-getlogin.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/test-getlogin.c:40,1
    - Dst: test_getlogin_result
      Src: /src/gnulib/tests/test-getlogin.c:43,1
    - Dst: putenv
      Src: /src/gnulib/tests/test-getlogin.c:48,1
    - Dst: getlogin
      Src: /src/gnulib/tests/test-getlogin.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlogin.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlogin.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getlogin.c
    functionUses: 8
    functionsReached:
    - putenv
    - exit
    - fprintf
    - getlogin
    - strcmp
    - test_getlogin_result
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtualAlloc
      Src: /src/gnulib/tests/mmap-anon-util.h:33,1
    - Dst: VirtualAlloc
      Src: /src/gnulib/tests/mmap-anon-util.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - map_addr_hint
    - map_len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: mmap_zeromap
    functionSourceFile: /src/gnulib/tests/mmap-anon-util.h
    functionUses: 3
    functionsReached:
    - VirtualAlloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mmap_zeromap (void *map_addr_hint, size_t map_len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtualFree
      Src: /src/gnulib/tests/mmap-anon-util.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: munmap
    functionSourceFile: /src/gnulib/tests/mmap-anon-util.h
    functionUses: 8
    functionsReached:
    - VirtualFree
    linkageType: ''
    returnType: int
    signature: int munmap (void *addr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtualProtect
      Src: /src/gnulib/tests/mmap-anon-util.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - addr
    - len
    - prot
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: mprotect
    functionSourceFile: /src/gnulib/tests/mmap-anon-util.h
    functionUses: 5
    functionsReached:
    - VirtualProtect
    linkageType: ''
    returnType: int
    signature: int mprotect (void *addr, size_t len, int prot)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/gnulib/tests/mmap-anon-util.h:93,1
    - Dst: mmap
      Src: /src/gnulib/tests/mmap-anon-util.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - map_addr_hint
    - map_len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: mmap_zeromap
    functionSourceFile: /src/gnulib/tests/mmap-anon-util.h
    functionUses: 3
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: 'void *

      mmap_zeromap (void *map_addr_hint, size_t map_len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-mtx.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 8
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-mtx.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 22
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:126,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:127,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:127,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:128,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:128,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-mtx.c:130,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-mtx.c:131,1
    - Dst: random
      Src: /src/gnulib/tests/test-mtx.c:132,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:136,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:137,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:137,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:138,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:138,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:140,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:141,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:141,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:143,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:143,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:144,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:144,1
    - Dst: yield
      Src: /src/gnulib/tests/test-mtx.c:146,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:149,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - dbgprintf
    - thrd_current_pointer
    - mtx_lock
    - random
    - random_account
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int lock_mutator_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:158,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:160,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:161,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:161,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:163,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:163,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:164,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:164,1
    - Dst: yield
      Src: /src/gnulib/tests/test-mtx.c:166,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:169,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - dbgprintf
    - get_atomic_int_value
    - thrd_current_pointer
    - mtx_lock
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int lock_checker_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-mtx.c:183,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:187,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-mtx.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:190,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-mtx.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:195,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-mtx.c:195,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:197,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-mtx.c:197,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: test_mtx_plain
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - set_atomic_int_value
    - thrd_join
    - init_atomic_int
    - thrd_create
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_mtx_plain (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:215,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:216,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:216,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:217,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:217,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-mtx.c:219,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-mtx.c:220,1
    - Dst: random
      Src: /src/gnulib/tests/test-mtx.c:221,1
    - Dst: random
      Src: /src/gnulib/tests/test-mtx.c:226,1
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-mtx.c:227,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:229,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:230,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:230,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:231,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: recshuffle
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 5
    functionsReached:
    - mtx_unlock
    - dbgprintf
    - thrd_current_pointer
    - mtx_lock
    - random
    - random_account
    - recshuffle
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void recshuffle (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recshuffle
      Src: /src/gnulib/tests/test-mtx.c:241,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:243,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:244,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:244,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:246,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:246,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:247,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:247,1
    - Dst: yield
      Src: /src/gnulib/tests/test-mtx.c:249,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:252,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: reclock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - dbgprintf
    - check_accounts
    - thrd_current_pointer
    - mtx_lock
    - yield
    - recshuffle
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int reclock_mutator_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:261,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:263,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:264,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/test-mtx.c:264,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:266,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/test-mtx.c:266,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:267,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:267,1
    - Dst: yield
      Src: /src/gnulib/tests/test-mtx.c:269,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-mtx.c:272,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-mtx.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: reclock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - dbgprintf
    - get_atomic_int_value
    - thrd_current_pointer
    - mtx_lock
    - yield
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int reclock_checker_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-mtx.c:286,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:290,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-mtx.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:293,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-mtx.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:298,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-mtx.c:298,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-mtx.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:300,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-mtx.c:300,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-mtx.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 302
    functionName: test_mtx_recursive
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 0
    functionsReached:
    - set_atomic_int_value
    - thrd_join
    - init_atomic_int
    - thrd_create
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_mtx_recursive (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-mtx.c:314,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-mtx.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:318,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mtx.c:319,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/test-mtx.c:319,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx.c:322,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-mtx.c:322,1
    - Dst: test_mtx_plain
      Src: /src/gnulib/tests/test-mtx.c:323,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx.c:324,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-mtx.c:324,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx.c:327,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-mtx.c:327,1
    - Dst: test_mtx_recursive
      Src: /src/gnulib/tests/test-mtx.c:328,1
    - Dst: printf
      Src: /src/gnulib/tests/test-mtx.c:329,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-mtx.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mtx.c
    functionUses: 8
    functionsReached:
    - test_mtx_recursive
    - alarm
    - signal
    - mtx_init
    - test_mtx_plain
    - fflush
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_socket-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:30,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:31,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:32,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:33,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:34,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:35,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:38,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:39,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:40,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:41,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:42,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:43,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:46,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:47,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:48,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcoll.c:49,1
    - Dst: memcoll0
      Src: /src/gnulib/tests/test-memcoll.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memcoll.c
    functionUses: 8
    functionsReached:
    - memcoll0
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strncasecmp.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:36,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:38,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:40,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:41,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:43,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:44,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:58,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:59,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:60,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:61,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:64,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:65,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:66,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncasecmp.c:67,1
    - Dst: strncasecmp
      Src: /src/gnulib/tests/test-strncasecmp.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strncasecmp.c
    functionUses: 8
    functionsReached:
    - strncasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-hard-locale.c:34,1
    - Dst: hard_locale
      Src: /src/gnulib/tests/test-hard-locale.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hard-locale.c:52,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hard-locale.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-hard-locale.c:68,1
    - Dst: hard_locale
      Src: /src/gnulib/tests/test-hard-locale.c:74,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hard-locale.c:77,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hard-locale.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - name
    - failure_bitmask
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: test_one
    functionSourceFile: /src/gnulib/tests/test-hard-locale.c
    functionUses: 6
    functionsReached:
    - fprintf
    - hard_locale
    - strcmp
    - setlocale
    linkageType: ''
    returnType: int
    signature: int test_one (const char *name, int failure_bitmask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hard_locale
      Src: /src/gnulib/tests/test-hard-locale.c:97,1
    - Dst: hard_locale
      Src: /src/gnulib/tests/test-hard-locale.c:97,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hard-locale.c:99,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-hard-locale.c:104,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:106,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:107,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:108,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:109,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:110,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:111,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:112,1
    - Dst: test_one
      Src: /src/gnulib/tests/test-hard-locale.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hard-locale.c
    functionUses: 8
    functionsReached:
    - test_one
    - fprintf
    - hard_locale
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/gnulib/tests/test-asin.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asin.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asin.c
    functionUses: 8
    functionsReached:
    - ASSERT
    - asin
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-szprintf-posix.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-szprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vdprintf.c:35,1
    - Dst: vdprintf
      Src: /src/gnulib/tests/test-vdprintf.c:36,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vdprintf.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: my_dprintf
    functionSourceFile: /src/gnulib/tests/test-vdprintf.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - vdprintf
    linkageType: ''
    returnType: int
    signature: int my_dprintf (int fd, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vdprintf.c:47,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-vdprintf.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vdprintf.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-vdprintf.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vdprintf.c:53,1
    - Dst: my_dprintf
      Src: /src/gnulib/tests/test-vdprintf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vdprintf.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vdprintf.c
    functionUses: 8
    functionsReached:
    - my_dprintf
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gnulib/tests/test-qsort.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - nel
    - width
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: lib_qsort
    functionSourceFile: /src/gnulib/tests/test-qsort.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: "void lib_qsort (void *base, size_t nel, size_t width,\n           int
      (*compar) (void const *, void const *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: cmp
    functionSourceFile: /src/gnulib/tests/test-qsort.c
    functionUses: 1086
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gnulib/tests/test-qsort.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-qsort.c
    functionUses: 8
    functionsReached:
    - qsort
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-endian-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: if_nameindex
      Src: /src/gnulib/tests/test-net_if-h.c:43,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-net_if-h.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-net_if-h.c:57,1
    - Dst: if_nametoindex
      Src: /src/gnulib/tests/test-net_if-h.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-net_if-h.c:62,1
    - Dst: if_indextoname
      Src: /src/gnulib/tests/test-net_if-h.c:67,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-net_if-h.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-net_if-h.c:75,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-net_if-h.c:79,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-net_if-h.c:81,1
    - Dst: if_freenameindex
      Src: /src/gnulib/tests/test-net_if-h.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 99
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-net_if-h.c
    functionUses: 8
    functionsReached:
    - if_freenameindex
    - fputs
    - if_indextoname
    - strcmp
    - printf
    - if_nametoindex
    - fprintf
    - if_nameindex
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-vsnprintf.c:36,1
    - Dst: c_vsnprintf
      Src: /src/gnulib/tests/test-c-vsnprintf.c:37,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-vsnprintf.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - size
    - format
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: my_c_snprintf
    functionSourceFile: /src/gnulib/tests/test-c-vsnprintf.c
    functionUses: 0
    functionsReached:
    - c_vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_c_snprintf (char *buf, int size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-vsnprintf.c:46,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-c-vsnprintf.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vsnprintf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vsnprintf.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vsnprintf.c:60,1
    - Dst: my_c_snprintf
      Src: /src/gnulib/tests/test-c-vsnprintf.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vsnprintf.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vsnprintf.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-vsnprintf.c
    functionUses: 8
    functionsReached:
    - setlocale
    - snprintf
    - my_c_snprintf
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-shutdown.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-shutdown.c:38,1
    - Dst: shutdown
      Src: /src/gnulib/tests/test-shutdown.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-shutdown.c:39,1
    - Dst: close
      Src: /src/gnulib/tests/test-shutdown.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-shutdown.c:44,1
    - Dst: shutdown
      Src: /src/gnulib/tests/test-shutdown.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-shutdown.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-shutdown.c
    functionUses: 8
    functionsReached:
    - gl_sockets_startup
    - shutdown
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmal-ieee.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmal-ieee.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:35,1
    - Dst: htons
      Src: /src/gnulib/tests/test-htonl.c:35,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:35,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:36,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-htonl.c:36,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:36,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:39,1
    - Dst: htonl
      Src: /src/gnulib/tests/test-htonl.c:39,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:39,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:40,1
    - Dst: ntohl
      Src: /src/gnulib/tests/test-htonl.c:40,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:40,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:43,1
    - Dst: htons
      Src: /src/gnulib/tests/test-htonl.c:43,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:43,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:44,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-htonl.c:44,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:44,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-htonl.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:47,1
    - Dst: htonl
      Src: /src/gnulib/tests/test-htonl.c:47,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:47,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:48,1
    - Dst: ntohl
      Src: /src/gnulib/tests/test-htonl.c:48,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:48,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-htonl.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: test_convert_constant
    functionSourceFile: /src/gnulib/tests/test-htonl.c
    functionUses: 0
    functionsReached:
    - htonl
    - ntohs
    - ntohl
    - UINT32_C
    - htons
    - UINT16_C
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_convert_constant (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:60,1
    - Dst: htons
      Src: /src/gnulib/tests/test-htonl.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:65,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-htonl.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:72,1
    - Dst: htonl
      Src: /src/gnulib/tests/test-htonl.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:77,1
    - Dst: ntohl
      Src: /src/gnulib/tests/test-htonl.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: test_convert_eval_once
    functionSourceFile: /src/gnulib/tests/test-htonl.c
    functionUses: 0
    functionsReached:
    - htonl
    - ntohs
    - ntohl
    - htons
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_convert_eval_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:88,1
    - Dst: htons
      Src: /src/gnulib/tests/test-htonl.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:89,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-htonl.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:92,1
    - Dst: htonl
      Src: /src/gnulib/tests/test-htonl.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-htonl.c:93,1
    - Dst: ntohs
      Src: /src/gnulib/tests/test-htonl.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: test_convert_double
    functionSourceFile: /src/gnulib/tests/test-htonl.c
    functionUses: 0
    functionsReached:
    - htons
    - htonl
    - ntohs
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_convert_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_convert_constant
      Src: /src/gnulib/tests/test-htonl.c:99,1
    - Dst: test_convert_eval_once
      Src: /src/gnulib/tests/test-htonl.c:100,1
    - Dst: test_convert_double
      Src: /src/gnulib/tests/test-htonl.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-htonl.c
    functionUses: 8
    functionsReached:
    - test_convert_eval_once
    - test_convert_double
    - test_convert_constant
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-poll.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-poll.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: failed
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 14
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void failed (const char *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-poll.c:73,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-poll.c:74,1
    - Dst: fn
      Src: /src/gnulib/tests/test-poll.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-poll.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: test
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 68
    functionsReached:
    - printf
    - fflush
    - fn
    linkageType: ''
    returnType: int
    signature: int test (void (*fn) (void), const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/test-poll.c:92,1
    - Dst: setsockopt
      Src: /src/gnulib/tests/test-poll.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-poll.c:97,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-poll.c:99,1
    - Dst: htons
      Src: /src/gnulib/tests/test-poll.c:100,1
    - Dst: bind
      Src: /src/gnulib/tests/test-poll.c:101,1
    - Dst: perror
      Src: /src/gnulib/tests/test-poll.c:103,1
    - Dst: exit
      Src: /src/gnulib/tests/test-poll.c:104,1
    - Dst: listen
      Src: /src/gnulib/tests/test-poll.c:107,1
    - Dst: perror
      Src: /src/gnulib/tests/test-poll.c:109,1
    - Dst: exit
      Src: /src/gnulib/tests/test-poll.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: open_server_socket
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - socket
    - exit
    - inet_pton
    - setsockopt
    - listen
    - bind
    - memset
    - htons
    - perror
    linkageType: ''
    returnType: int
    signature: int open_server_socket ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/gnulib/tests/test-poll.c:122,1
    - Dst: memset
      Src: /src/gnulib/tests/test-poll.c:124,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-poll.c:126,1
    - Dst: htons
      Src: /src/gnulib/tests/test-poll.c:127,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-poll.c:133,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-poll.c:139,1
    - Dst: connect
      Src: /src/gnulib/tests/test-poll.c:143,1
    - Dst: perror
      Src: /src/gnulib/tests/test-poll.c:146,1
    - Dst: exit
      Src: /src/gnulib/tests/test-poll.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - blocking
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: connect_to_socket
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 2
    functionsReached:
    - socket
    - exit
    - inet_pton
    - fcntl
    - connect
    - ioctl
    - memset
    - htons
    - perror
    linkageType: ''
    returnType: int
    signature: int connect_to_socket (int blocking)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/gnulib/tests/test-poll.c:165,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - ev
    - time
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: poll1
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - poll
    - failed
    linkageType: ''
    returnType: int
    signature: int poll1 (int fd, int ev, int time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll1
      Src: /src/gnulib/tests/test-poll.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - ev
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: poll1_nowait
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - poll1
    linkageType: ''
    returnType: int
    signature: int poll1_nowait (int fd, int ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll1
      Src: /src/gnulib/tests/test-poll.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - ev
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: poll1_wait
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - poll1
    linkageType: ''
    returnType: int
    signature: int poll1_wait (int fd, int ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:194,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:195,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:196,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:197,1
    - Dst: poll1_wait
      Src: /src/gnulib/tests/test-poll.c:199,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:200,1
    - Dst: getchar
      Src: /src/gnulib/tests/test-poll.c:202,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:203,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: test_tty
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - poll1_wait
    - getchar
    - poll1_nowait
    - failed
    linkageType: ''
    returnType: void
    signature: void test_tty (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:220,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:221,1
    - Dst: connect_to_socket
      Src: /src/gnulib/tests/test-poll.c:223,1
    - Dst: poll1_wait
      Src: /src/gnulib/tests/test-poll.c:225,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:226,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:227,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:228,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:229,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:230,1
    - Dst: accept
      Src: /src/gnulib/tests/test-poll.c:233,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:234,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:235,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: test_connect_first
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - poll1_nowait
    - accept
    - poll1_wait
    - connect_to_socket
    - close
    - failed
    linkageType: ''
    returnType: void
    signature: void test_connect_first (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/gnulib/tests/test-poll.c:252,1
    - Dst: accept
      Src: /src/gnulib/tests/test-poll.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:260,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:262,1
    - Dst: write
      Src: /src/gnulib/tests/test-poll.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:263,1
    - Dst: read
      Src: /src/gnulib/tests/test-poll.c:263,1
    - Dst: shutdown
      Src: /src/gnulib/tests/test-poll.c:264,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:265,1
    - Dst: exit
      Src: /src/gnulib/tests/test-poll.c:266,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:270,1
    - Dst: connect_to_socket
      Src: /src/gnulib/tests/test-poll.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:272,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:273,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:276,1
    - Dst: write
      Src: /src/gnulib/tests/test-poll.c:276,1
    - Dst: wait
      Src: /src/gnulib/tests/test-poll.c:277,1
    - Dst: poll1_wait
      Src: /src/gnulib/tests/test-poll.c:278,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:280,1
    - Dst: read
      Src: /src/gnulib/tests/test-poll.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:281,1
    - Dst: write
      Src: /src/gnulib/tests/test-poll.c:281,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:285,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 292
    functionName: test_accept_first
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - shutdown
    - poll1_nowait
    - accept
    - failed
    - poll1_wait
    - connect_to_socket
    - close
    - write
    - wait
    - read
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_accept_first (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: poll1_wait
      Src: /src/gnulib/tests/test-poll.c:301,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:303,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:304,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:305,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:306,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:310,1
    - Dst: write
      Src: /src/gnulib/tests/test-poll.c:310,1
    - Dst: poll1_wait
      Src: /src/gnulib/tests/test-poll.c:311,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:312,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:313,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:314,1
    - Dst: poll1_nowait
      Src: /src/gnulib/tests/test-poll.c:315,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:318,1
    - Dst: read
      Src: /src/gnulib/tests/test-poll.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - rd
    - wd
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 319
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 319
    functionName: test_pair
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 2
    functionsReached:
    - ASSERT
    - poll1_nowait
    - poll1_wait
    - read
    - failed
    - write
    linkageType: ''
    returnType: void
    signature: void test_pair (int rd, int wd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:335,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:337,1
    - Dst: test_pair
      Src: /src/gnulib/tests/test-poll.c:339,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:341,1
    - Dst: write
      Src: /src/gnulib/tests/test-poll.c:341,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:345,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 351
    functionName: test_socket_pair
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - test_pair
    - close
    - write
    - failed
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_socket_pair (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-poll.c:361,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-poll.c:361,1
    - Dst: test_pair
      Src: /src/gnulib/tests/test-poll.c:362,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:363,1
    - Dst: failed
      Src: /src/gnulib/tests/test-poll.c:367,1
    - Dst: close
      Src: /src/gnulib/tests/test-poll.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: test_pipe
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 0
    functionsReached:
    - test_pair
    - close
    - pipe
    - failed
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_pipe (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-poll.c:384,1
    - Dst: test
      Src: /src/gnulib/tests/test-poll.c:385,1
    - Dst: test
      Src: /src/gnulib/tests/test-poll.c:388,1
    - Dst: test
      Src: /src/gnulib/tests/test-poll.c:389,1
    - Dst: test
      Src: /src/gnulib/tests/test-poll.c:390,1
    - Dst: test
      Src: /src/gnulib/tests/test-poll.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-poll.c
    functionUses: 8
    functionsReached:
    - printf
    - test
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-explicit_bzero.c:56,1
    - Dst: explicit_bzero
      Src: /src/gnulib/tests/test-explicit_bzero.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-explicit_bzero.c:58,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-explicit_bzero.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: test_static
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached:
    - memcpy
    - explicit_bzero
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_static (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: test_heap
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_heap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - data
    - start
    - end
    - flags
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: vma_iterate_callback
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int vma_iterate_callback (void *data, uintptr_t start, uintptr_t end,\n
      \                     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/tests/test-explicit_bzero.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: is_range_mapped
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: bool
    signature: bool is_range_mapped (uintptr_t range_start, uintptr_t range_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: is_range_mapped
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_range_mapped (uintptr_t range_start, uintptr_t range_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-explicit_bzero.c:127,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-explicit_bzero.c:129,1
    - Dst: explicit_bzero
      Src: /src/gnulib/tests/test-explicit_bzero.c:130,1
    - Dst: free
      Src: /src/gnulib/tests/test-explicit_bzero.c:131,1
    - Dst: is_range_mapped
      Src: /src/gnulib/tests/test-explicit_bzero.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-explicit_bzero.c:137,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-explicit_bzero.c:137,1
    - Dst: printf
      Src: /src/gnulib/tests/test-explicit_bzero.c:138,1
    - Dst: printf
      Src: /src/gnulib/tests/test-explicit_bzero.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: test_heap
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached:
    - free
    - is_range_mapped
    - explicit_bzero
    - memcmp
    - memcpy
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_heap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: test_stack
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_stack (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-explicit_bzero.c:182,1
    - Dst: explicit_bzero
      Src: /src/gnulib/tests/test-explicit_bzero.c:183,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-explicit_bzero.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pass
    - last_stackbuf
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: do_secret_stuff
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached:
    - memcpy
    - explicit_bzero
    - memcmp
    linkageType: ''
    returnType: void
    signature: void do_secret_stuff (int volatile pass, char *volatile *volatile last_stackbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_secret_stuff
      Src: /src/gnulib/tests/test-explicit_bzero.c:212,1
    - Dst: do_secret_stuff
      Src: /src/gnulib/tests/test-explicit_bzero.c:214,1
    - Dst: printf
      Src: /src/gnulib/tests/test-explicit_bzero.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-explicit_bzero.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: test_stack
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 0
    functionsReached:
    - do_secret_stuff
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_stack (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_static
      Src: /src/gnulib/tests/test-explicit_bzero.c:232,1
    - Dst: test_heap
      Src: /src/gnulib/tests/test-explicit_bzero.c:233,1
    - Dst: test_stack
      Src: /src/gnulib/tests/test-explicit_bzero.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-explicit_bzero.c
    functionUses: 8
    functionsReached:
    - test_static
    - test_stack
    - test_heap
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:21,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - DOUBLE
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-ilogb.h
    functionUses: 5
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE my_ldexp (DOUBLE x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:35,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:39,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:43,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:47,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:51,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:55,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:60,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:61,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:64,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:65,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:68,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:68,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:72,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:72,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:75,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:77,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:80,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:82,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:85,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:88,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:93,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:96,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:98,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:101,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:104,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:104,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:107,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:109,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:109,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:112,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:114,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:114,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:117,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:120,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:120,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:123,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:125,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:125,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:128,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:130,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:130,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-ilogb.h:137,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:139,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:139,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:140,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:142,1
    - Dst: ILOGB
      Src: /src/gnulib/tests/test-ilogb.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:144,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-ilogb.h:144,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ilogb.h:145,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-ilogb.h:145,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ilogb.h:145,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 148
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-ilogb.h
    functionUses: 142
    functionsReached:
    - my_ldexp
    - ILOGB
    - L_
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-fflush2.c:31,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:43,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:46,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fflush2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:51,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush2.c:53,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:58,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:61,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:78,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:81,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fflush2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:86,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush2.c:88,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:93,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush2.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush2.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 102
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fflush2.c
    functionUses: 8
    functionsReached:
    - fgetc
    - ungetc
    - fflush
    - set_binary_mode
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnulib/tests/test-posixtm.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posixtm.c:128,1
    - Dst: time
      Src: /src/gnulib/tests/test-posixtm.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posixtm.c:131,1
    - Dst: localtime
      Src: /src/gnulib/tests/test-posixtm.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posixtm.c:133,1
    - Dst: strftime
      Src: /src/gnulib/tests/test-posixtm.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posixtm.c:135,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/tests/test-posixtm.c:145,1
    - Dst: printf
      Src: /src/gnulib/tests/test-posixtm.c:147,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/tests/test-posixtm.c:152,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-posixtm.c:153,1
    - Dst: printf
      Src: /src/gnulib/tests/test-posixtm.c:155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-posixtm.c:165,1
    - Dst: stpcpy
      Src: /src/gnulib/tests/test-posixtm.c:169,1
    - Dst: stpcpy
      Src: /src/gnulib/tests/test-posixtm.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posixtm.c:170,1
    - Dst: posixtime
      Src: /src/gnulib/tests/test-posixtm.c:170,1
    - Dst: posixtime
      Src: /src/gnulib/tests/test-posixtm.c:173,1
    - Dst: printf
      Src: /src/gnulib/tests/test-posixtm.c:176,1
    - Dst: printf
      Src: /src/gnulib/tests/test-posixtm.c:187,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posixtm.c
    functionUses: 8
    functionsReached:
    - strlen
    - TYPE_MAXIMUM
    - time
    - setenv
    - localtime
    - posixtime
    - stpcpy
    - TYPE_SIGNED
    - printf
    - strftime
    - ASSERT
    - TYPE_MINIMUM
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-snan-2.c:47,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-snan-2.c:48,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-snan-2.c:54,1
    - Dst: sigfpe_on_invalid
      Src: /src/gnulib/tests/test-snan-2.c:58,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:60,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:80,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:84,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:99,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:129,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 139
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snan-2.c
    functionUses: 8
    functionsReached:
    - SNaNd
    - fputs
    - sigfpe_on_invalid
    - feclearexcept
    - SNaNf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-snan-2.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snan-2.c
    functionUses: 8
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:33,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:40,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:44,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:47,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:48,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:49,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:50,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:51,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:54,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:56,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:57,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:58,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:59,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:63,1
    - Dst: fegetexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:65,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:66,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:67,1
    - Dst: fetestexceptflag
      Src: /src/gnulib/tests/test-fenv-except-state-4.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-state-4.c
    functionUses: 8
    functionsReached:
    - fetestexcept
    - fegetexceptflag
    - fputs
    - fetestexceptflag
    - feclearexcept
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strtod1.c:33,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:44,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:54,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:64,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:76,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:88,1
    - Dst: strtod
      Src: /src/gnulib/tests/test-strtod1.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strtod1.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 102
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtod1.c
    functionUses: 8
    functionsReached:
    - strtod
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: have_minus_zero
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 3
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int have_minus_zero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: strmatch
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int strmatch (const char *pattern, const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 6
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:116,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:126,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:146,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:160,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:162,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:172,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:193,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:195,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:205,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:206,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:216,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:216,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:225,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:225,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:226,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:228,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:228,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:237,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:237,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:238,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:238,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:239,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:240,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:240,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:251,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:252,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:255,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:255,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:265,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:267,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:269,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:269,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:279,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:280,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:282,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:282,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:292,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:293,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:295,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:295,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:304,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:304,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:308,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:317,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:317,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:318,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:321,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:321,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:332,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:333,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:335,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:335,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:344,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:344,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:345,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:346,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:348,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:348,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:357,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:357,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:358,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:359,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:361,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:361,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:370,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:370,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:371,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:372,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:374,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:384,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:385,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:387,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:387,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:396,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:396,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:397,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:398,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:400,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:400,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:411,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:413,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:413,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:423,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:426,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:426,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:435,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:435,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:436,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:437,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:439,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:439,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:447,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:448,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:448,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:450,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:452,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:452,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:461,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:461,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:462,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:463,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:465,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:465,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:474,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:474,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:476,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:478,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:478,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:489,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:490,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:490,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:501,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:501,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:502,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:502,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:502,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:503,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:504,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:504,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:513,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:513,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:514,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:515,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:517,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:517,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:527,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:528,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:530,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:530,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:539,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:540,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:540,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:548,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:550,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:551,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:551,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:562,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:563,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:563,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:573,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:573,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:582,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:583,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:584,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:585,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:585,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:594,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:594,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:595,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:595,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:596,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:597,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:597,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:598,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:609,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:609,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:610,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:610,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:611,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:612,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:612,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:613,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:623,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:623,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:624,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:624,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:625,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:625,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:626,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:626,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:627,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:637,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:638,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:638,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:639,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:648,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:649,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:649,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:650,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:659,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:660,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:660,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:661,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:670,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:671,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:671,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:672,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:681,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:682,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:682,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:692,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:692,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:693,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:694,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:696,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:696,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:705,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:705,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:707,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:708,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:709,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:709,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:719,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:722,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:722,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:731,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:731,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:733,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:735,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:735,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:744,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:744,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:745,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:748,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:748,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:757,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:757,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:759,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:761,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:761,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:772,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:772,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:773,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:776,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:776,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:785,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:785,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:786,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:787,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:789,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:789,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:799,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:800,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:802,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:802,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:811,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:811,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:812,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:813,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:815,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:815,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:824,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:824,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:825,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:826,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:828,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:828,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:837,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:837,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:838,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:839,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:841,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:851,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:852,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:853,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:854,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:854,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:863,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:863,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:864,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:865,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:867,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:867,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:877,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:878,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:879,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:880,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:880,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:889,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:889,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:890,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:891,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:893,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:893,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:903,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:904,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:906,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:906,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:915,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:915,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:916,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:917,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:919,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:919,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:920,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:930,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:930,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:931,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:931,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:942,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:942,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:943,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:943,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:943,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:944,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:945,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:945,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:956,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:957,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:957,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:966,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:967,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:967,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:968,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1056,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1056,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1057,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1057,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1067,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1067,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1068,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1068,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1077,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1077,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1078,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1078,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1079,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1086,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1088,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1089,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1089,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1090,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1097,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1100,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1100,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1120,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1120,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1121,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1122,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1123,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1123,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1132,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1135,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1146,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1146,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1156,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1166,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1166,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1175,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1176,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1176,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1186,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1186,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1195,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1196,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1205,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1206,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1216,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1216,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1225,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1226,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1226,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1237,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1237,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1246,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1246,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1247,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1247,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1248,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1249,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1249,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1258,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1259,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1259,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1268,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1269,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1269,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1279,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1279,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1288,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1289,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1289,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1299,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1299,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1388,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1389,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1389,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1399,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1400,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1400,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1410,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1410,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1418,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1420,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1421,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1421,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1430,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1430,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1432,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1432,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1441,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1441,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1443,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1443,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1452,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1452,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1453,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1453,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1454,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1455,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1455,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1464,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1464,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1465,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1465,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1466,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1467,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1467,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1468,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1479,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1479,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1480,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1481,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1482,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1482,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1483,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1493,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1493,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1494,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1494,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1495,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1496,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1496,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1497,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1507,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1508,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1508,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1509,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1518,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1519,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1519,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1520,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1528,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1529,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1530,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1531,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1540,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1541,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1541,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1542,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1546,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1551,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1552,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1552,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1562,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1563,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1563,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1573,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1573,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1582,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1583,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1592,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1593,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1593,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1602,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1603,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1603,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1612,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1613,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1613,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1623,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1623,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1631,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1632,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1633,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1633,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1642,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1643,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1643,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1654,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1663,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1663,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1664,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1664,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1664,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1665,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1666,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1666,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1675,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1676,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1676,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1685,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1686,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1686,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1695,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1696,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1696,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1707,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1708,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1708,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1717,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1717,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1718,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1718,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1727,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1728,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1728,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1737,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1737,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1738,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1738,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1746,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1748,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1749,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1749,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1760,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1760,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1769,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1769,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1771,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1771,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1772,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1780,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1780,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1781,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1781,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1782,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1783,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1783,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1792,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1792,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1793,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1793,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1794,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1795,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1795,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1805,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1806,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1806,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1815,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1815,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1817,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1817,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1826,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1827,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1827,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1836,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1837,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1837,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1838,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1846,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1847,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1847,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1856,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1857,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1857,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1866,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1867,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1867,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1875,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1877,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1877,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1886,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1887,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1887,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1895,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1898,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1898,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1907,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1907,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1908,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1909,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1909,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1920,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1920,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1928,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1929,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1929,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1930,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1930,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1931,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1932,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1932,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1941,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1941,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1942,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1942,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1943,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1943,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1944,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1944,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1954,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1955,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1955,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1964,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1964,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1966,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1966,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1975,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1976,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1976,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1985,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1986,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1986,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1995,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1995,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1996,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1996,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:1997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2007,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2007,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2008,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2009,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2009,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2010,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2017,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2018,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2018,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2019,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2020,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2020,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2021,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2110,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2112,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2113,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2113,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2118,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2118,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2130,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2130,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2141,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2149,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2151,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2151,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2153,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2164,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2164,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2184,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2184,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2186,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2187,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2187,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2196,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2197,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2197,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2198,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2199,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2199,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2211,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2211,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2220,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2220,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2222,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2222,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2233,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2233,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2244,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2244,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2255,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2255,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2266,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2266,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2277,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2277,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2288,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2299,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2299,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2310,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2310,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2321,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2321,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2330,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2330,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2331,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2331,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2332,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2333,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2333,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2344,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2344,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2353,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2353,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2355,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2355,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2366,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2366,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2377,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2377,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2388,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2389,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2478,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2480,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2480,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2481,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2481,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2482,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2486,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2496,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2496,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2498,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2498,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2507,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2507,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2509,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2509,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2517,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2519,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2519,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2521,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2521,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2532,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2532,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2541,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2541,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2543,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2543,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2552,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2552,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2553,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2553,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2554,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2555,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2555,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2564,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2564,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2565,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2565,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2566,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2567,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2567,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2568,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2579,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2579,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2580,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2580,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2581,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2582,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2583,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2593,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2593,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2594,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2594,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2595,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2596,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2596,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2597,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2607,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2608,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2608,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2609,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2617,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2618,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2619,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2620,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2629,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2630,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2630,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2631,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2640,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2641,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2642,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2651,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2651,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2652,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2664,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2664,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2673,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2673,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2675,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2675,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2684,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2684,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2686,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2686,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2695,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2695,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2697,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2697,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2707,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2708,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2708,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2717,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2717,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2719,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2730,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2730,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2739,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2739,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2741,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2751,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2752,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2752,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2761,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2761,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2763,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2763,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2772,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2772,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2773,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2774,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2774,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2775,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2783,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2783,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2784,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2784,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2784,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2785,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2786,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2795,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2795,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2797,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2797,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2805,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2808,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2819,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2819,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2830,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2831,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2831,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2839,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2842,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2842,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2843,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2932,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2932,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2934,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2935,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2935,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2936,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2936,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2937,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2938,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2938,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2941,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2941,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2951,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2952,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2952,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2961,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2962,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2962,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2970,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2972,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2973,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2973,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2981,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2982,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2982,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2983,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2984,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2984,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2993,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2993,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2995,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2995,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:2996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3004,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3004,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3005,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3005,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3006,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3007,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3007,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3008,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3016,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3016,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3017,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3017,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3018,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3019,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3019,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3029,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3030,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3030,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3031,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3039,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3040,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3040,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3041,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3049,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3049,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3050,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3050,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3059,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3060,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3060,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3061,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3068,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3069,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3070,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3070,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3078,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3079,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3079,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3080,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3080,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3081,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3089,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3089,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3090,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3090,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3091,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3099,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3099,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3100,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3100,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3120,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3121,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3121,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3132,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3141,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3142,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3142,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3143,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3144,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3144,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3155,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3196,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3196,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3286,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3289,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3289,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3290,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3290,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3295,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3295,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3305,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3306,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3306,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3315,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3316,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3316,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3324,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3327,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3327,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3338,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3338,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3347,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3347,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3349,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3349,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3358,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3358,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3359,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3359,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3360,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3361,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3361,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3370,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3370,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3371,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3371,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3372,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3373,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3373,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3374,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3385,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3386,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3387,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3388,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3389,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3399,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3399,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3400,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3400,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3401,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3402,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3402,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3403,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3413,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3414,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3414,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3415,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3424,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3425,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3425,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3426,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3435,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3436,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3436,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3437,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3446,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3447,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3447,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3448,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3457,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3458,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3458,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3468,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3469,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3469,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3479,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3479,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3487,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3488,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3489,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3489,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3498,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3499,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3499,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3500,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3508,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3509,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3509,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3518,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3519,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3519,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3528,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3528,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3529,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3529,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3539,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3539,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3550,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3550,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3559,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3560,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3560,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3569,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3569,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3571,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3571,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3580,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3580,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3581,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3581,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3581,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3582,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3583,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3592,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3592,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3594,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3594,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3595,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3603,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3604,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3604,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3613,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3614,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3614,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3628,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3629,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3642,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3653,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3654,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3665,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3666,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3666,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3675,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3676,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3676,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3685,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3686,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3686,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3700,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3701,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3701,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3713,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3714,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3714,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3727,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3727,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3728,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3728,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3737,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3740,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3741,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3752,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3753,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3754,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3754,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3766,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3767,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3767,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3781,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3781,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3782,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3782,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3796,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3797,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3797,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3811,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3812,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3813,1
    - Dst: my_asprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3825,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3827,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3828,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3829,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3829,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3839,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3841,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3851,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3851,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3859,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3860,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3861,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3861,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3871,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3871,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3882,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3882,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3883,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3883,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3891,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3892,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3893,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3893,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3902,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3903,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3903,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3912,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3913,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3913,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3914,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3929,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3930,1
    - Dst: my_asprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3933,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3934,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3935,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3935,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3936,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3937,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3950,1
    - Dst: my_asprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3955,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3957,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3957,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3958,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3970,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3971,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3971,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3980,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3981,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3981,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3982,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3990,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3991,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3991,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:3999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4000,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4000,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4001,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4001,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4002,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4009,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4009,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4010,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4010,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4011,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4018,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4019,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4030,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4031,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4031,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4040,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4040,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4041,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4041,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4049,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4050,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4051,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4051,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4059,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4060,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4060,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4061,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4061,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4069,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4069,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4070,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4070,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4084,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4085,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4086,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4097,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4118,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4118,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4127,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4128,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4128,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4138,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4147,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4148,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4148,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4157,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4158,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4158,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4167,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4168,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4168,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4178,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4178,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4187,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4188,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4188,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4200,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4200,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4210,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4210,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4222,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4222,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4232,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4232,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4241,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4242,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4242,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4251,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4252,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4252,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4261,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4262,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4262,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4271,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4272,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4272,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4281,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4282,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4282,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4292,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4303,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4304,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4304,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4316,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4317,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4317,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4327,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4327,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4336,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4337,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4337,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4349,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4350,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4350,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4362,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4363,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4363,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4372,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4373,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4373,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4383,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4383,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4392,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4393,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4393,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4403,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4403,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4412,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4413,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4413,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4423,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4423,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4433,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4433,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4444,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4445,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4445,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4454,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4455,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4455,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4466,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4467,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4467,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4476,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4477,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4477,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4486,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4487,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4487,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4496,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4497,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4506,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4507,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4507,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4508,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4515,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4516,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4517,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4517,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4527,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4527,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4528,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4536,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4537,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4537,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4549,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4549,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4561,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4562,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4562,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4573,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4574,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4574,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4582,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4583,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4591,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4592,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4592,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4600,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4601,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4601,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4609,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4610,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4610,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4618,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4619,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4619,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4628,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4628,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4637,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4637,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4645,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4646,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4646,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4654,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4655,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4655,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4663,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4664,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4664,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4665,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4672,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4673,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4673,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4681,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4682,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4682,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4693,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4694,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4694,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4702,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4703,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4703,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4712,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4712,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4721,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4721,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4729,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4730,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4730,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4731,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4738,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4739,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4739,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4747,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4748,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4748,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4756,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4757,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4757,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4765,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4765,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4766,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4766,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4767,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4775,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4775,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4783,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4784,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4784,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4793,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4793,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4801,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4802,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4802,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4813,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4814,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4814,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4822,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4823,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4823,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4831,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4831,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4832,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4832,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4841,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4849,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4850,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4850,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4858,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4859,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4859,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4867,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4867,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4868,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4868,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4869,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4876,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4876,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4877,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4877,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4885,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4886,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4887,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4894,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4895,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4895,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4896,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4903,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4904,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4904,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4912,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4913,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4913,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4921,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4922,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4922,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4933,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4934,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4934,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4942,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4943,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4943,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4951,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4952,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4952,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4961,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4969,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4970,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4970,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4979,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4979,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4987,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4987,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4988,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4988,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4996,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4997,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4997,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:4998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5005,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5006,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5006,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5014,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5015,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5015,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5016,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5023,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5024,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5024,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5032,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5032,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5033,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5033,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5041,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5041,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5042,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5042,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5053,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5054,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5054,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5062,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5063,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5063,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5064,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5071,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5072,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5072,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5073,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5080,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5080,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5081,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5081,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5082,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5089,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5089,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5090,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5090,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5091,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5099,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5099,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5108,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5108,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5117,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5117,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5126,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5134,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5135,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5144,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5144,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5152,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5153,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5153,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5162,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5163,1
    CyclomaticComplexity: 370
    EdgeCount: 370
    ICount: 2062
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 5165
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 142
    functionsReached:
    - strisnan
    - strlen
    - free
    - strspn
    - my_asprintf
    - memcmp
    - memcpy
    - have_minus_zero
    - strcmp
    - LDBL80_WORDS
    - strmatch
    - malloc
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_asprintf) (char **, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5173,1
    - Dst: vasprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5174,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - result
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 5177
      start: 5167
    functionDepth: 1
    functionLinenumber: 5167
    functionLinenumberEnd: 5177
    functionName: my_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_asprintf (char **result, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5183
      start: 5179
    functionDepth: 0
    functionLinenumber: 5179
    functionLinenumberEnd: 5183
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5185
    functionDepth: 0
    functionLinenumber: 5185
    functionLinenumberEnd: 5189
    functionName: test_asprintf
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5194,1
    - Dst: test_asprintf
      Src: /src/gnulib/tests/test-vasprintf-posix.c:5195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 5197
      start: 5191
    functionDepth: 0
    functionLinenumber: 5191
    functionLinenumberEnd: 5197
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasprintf-posix.c
    functionUses: 8
    functionsReached:
    - test_vasprintf
    - test_asprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit_l
      Src: /src/gnulib/tests/test-isxdigit_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:36,1
    - Dst: isxdigit_l
      Src: /src/gnulib/tests/test-isxdigit_l.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 133
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isxdigit_l.c
    functionUses: 13
    functionsReached:
    - ASSERT
    - isxdigit_l
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:91,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isxdigit_l.c:93,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:95,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:100,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:102,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:104,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isxdigit_l.c:108,1
    - Dst: isxdigit_l
      Src: /src/gnulib/tests/test-isxdigit_l.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:115,1
    - Dst: isxdigit_l
      Src: /src/gnulib/tests/test-isxdigit_l.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:118,1
    - Dst: isxdigit_l
      Src: /src/gnulib/tests/test-isxdigit_l.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isxdigit_l.c:121,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isxdigit_l.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isxdigit_l.c
    functionUses: 8
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - isxdigit_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:43,1
    - Dst: _wchdir
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:44,1
    - Dst: _wchdir
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:44,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:49,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:49,1
    - Dst: free
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:50,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:57,1
    - Dst: free
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:58,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:64,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:65,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:71,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:80,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:84,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:85,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:86,1
    - Dst: wcsstr
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:90,1
    - Dst: wgetcwd
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:93,1
    - Dst: free
      Src: /src/gnulib/tests/test-wgetcwd-lgpl.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wgetcwd-lgpl.c
    functionUses: 8
    functionsReached:
    - wcscmp
    - wgetcwd
    - free
    - malloc
    - wcsstr
    - _wchdir
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modfl
      Src: /src/gnulib/tests/test-modfl.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modfl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modfl.c:49,1
    - Dst: modfl
      Src: /src/gnulib/tests/test-modfl.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modfl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modfl.c:55,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-modfl.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modfl.c
    functionUses: 8
    functionsReached:
    - test_function
    - ASSERT
    - modfl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:46,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:46,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:54,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:62,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:64,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:74,1
    - Dst: setpayloadsigf
      Src: /src/gnulib/tests/test-setpayloadsigf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setpayloadsigf.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setpayloadsigf.c
    functionUses: 8
    functionsReached:
    - isnanf
    - setpayloadsigf
    - ASSERT
    - Infinityf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: raise_invalid_addition
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_invalid_addition (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: raise_invalid_multiplication
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_invalid_multiplication (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: raise_invalid_division
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_invalid_division (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: raise_invalid_comparison
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_invalid_comparison (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:177,1
    - Dst: SNaNd
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:185,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: raise_invalid_snan
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached:
    - SNaNd
    - SNaNf
    - SNaNl
    linkageType: ''
    returnType: void
    signature: void raise_invalid_snan (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 230
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 230
    functionName: raise_divbyzero
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_divbyzero (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 266
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 266
    functionName: raise_overflow
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_overflow (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 302
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 302
    functionName: raise_underflow
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_underflow (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 334
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 334
    functionName: raise_inexact
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void raise_inexact (char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:350,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:351,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:352,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:353,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:354,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:355,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:356,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:406,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:410,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:416,1
    - Dst: fedisableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:416,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:421,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:497,1
    - Dst: operation
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:507,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-trapping-2.c:517,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 519
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 519
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-trapping-2.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - Infinityf
    - operation
    - NaNf
    - fputs
    - NaNd
    - fedisableexcept
    - feenableexcept
    - feclearexcept
    - Infinityl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-totalorder.c:129,1
    - Dst: memory_negative_SNaNl
      Src: /src/gnulib/tests/bench-totalorder.c:134,1
    - Dst: memory_positive_SNaNl
      Src: /src/gnulib/tests/bench-totalorder.c:135,1
    - Dst: negative_NaNl
      Src: /src/gnulib/tests/bench-totalorder.c:137,1
    - Dst: positive_NaNl
      Src: /src/gnulib/tests/bench-totalorder.c:138,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/bench-totalorder.c:139,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/bench-totalorder.c:140,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-totalorder.c:147,1
    - Dst: totalorderl
      Src: /src/gnulib/tests/bench-totalorder.c:154,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-totalorder.c:157,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-totalorder.c:158,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-totalorder.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - test
    - repeat
    argTypes:
    - char
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: do_long_double_test
    functionSourceFile: /src/gnulib/tests/bench-totalorder.c
    functionUses: 0
    functionsReached:
    - negative_NaNl
    - totalorderl
    - memory_negative_SNaNl
    - positive_NaNl
    - timing_end
    - timing_output
    - memory_positive_SNaNl
    - Infinityl
    - printf
    - timing_start
    linkageType: ''
    returnType: void
    signature: void do_long_double_test (char test, int repeat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-totalorder.c:172,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-totalorder.c:173,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-totalorder.c:174,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-totalorder.c:182,1
    - Dst: do_float_test
      Src: /src/gnulib/tests/bench-totalorder.c:189,1
    - Dst: do_double_test
      Src: /src/gnulib/tests/bench-totalorder.c:192,1
    - Dst: do_long_double_test
      Src: /src/gnulib/tests/bench-totalorder.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-totalorder.c
    functionUses: 8
    functionsReached:
    - exit
    - strlen
    - do_float_test
    - do_long_double_test
    - do_double_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:38,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:39,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:41,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:42,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:43,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:44,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:45,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:46,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:47,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:48,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:49,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:50,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:52,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:53,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:54,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:55,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:56,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:57,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:58,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:59,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:60,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:62,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:62,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil1.c:62,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:63,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:63,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil1.c:63,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-ceil1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceil1.c:65,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-ceil1.c:65,1
    - Dst: ceil
      Src: /src/gnulib/tests/test-ceil1.c:65,1
    - Dst: NaNd
      Src: /src/gnulib/tests/test-ceil1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceil1.c
    functionUses: 8
    functionsReached:
    - Infinityd
    - isnand
    - NaNd
    - ceil
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbfile.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbfile.c:37,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbfile.c:37,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbfile.c:39,1
    - Dst: mbf_init
      Src: /src/gnulib/tests/test-mbfile.c:44,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:51,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:52,1
    - Dst: mb_len
      Src: /src/gnulib/tests/test-mbfile.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:53,1
    - Dst: mb_iseq
      Src: /src/gnulib/tests/test-mbfile.c:53,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:56,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:57,1
    - Dst: mb_len
      Src: /src/gnulib/tests/test-mbfile.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:58,1
    - Dst: mb_iseq
      Src: /src/gnulib/tests/test-mbfile.c:58,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:61,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:62,1
    - Dst: mb_len
      Src: /src/gnulib/tests/test-mbfile.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:63,1
    - Dst: mb_iseq
      Src: /src/gnulib/tests/test-mbfile.c:63,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:66,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:67,1
    - Dst: mb_len
      Src: /src/gnulib/tests/test-mbfile.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:68,1
    - Dst: mb_iseq
      Src: /src/gnulib/tests/test-mbfile.c:68,1
    - Dst: mb_copy
      Src: /src/gnulib/tests/test-mbfile.c:69,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:72,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:72,1
    - Dst: mbf_ungetc
      Src: /src/gnulib/tests/test-mbfile.c:75,1
    - Dst: mbf_ungetc
      Src: /src/gnulib/tests/test-mbfile.c:76,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:81,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:82,1
    - Dst: mb_len
      Src: /src/gnulib/tests/test-mbfile.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:83,1
    - Dst: mb_iseq
      Src: /src/gnulib/tests/test-mbfile.c:83,1
    - Dst: mbf_getc
      Src: /src/gnulib/tests/test-mbfile.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbfile.c:86,1
    - Dst: mb_iseof
      Src: /src/gnulib/tests/test-mbfile.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbfile.c
    functionUses: 8
    functionsReached:
    - mb_iseq
    - mb_copy
    - setlocale
    - mbf_ungetc
    - mb_iseof
    - locale_charset
    - strcmp
    - mb_len
    - mbf_init
    - fprintf
    - mbf_getc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_uio-h-c++.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: textdomain
      Src: /src/gnulib/tests/test-gettext-h.c:30,1
    - Dst: gettext
      Src: /src/gnulib/tests/test-gettext-h.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-gettext-h.c:33,1
    - Dst: pgettext
      Src: /src/gnulib/tests/test-gettext-h.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-gettext-h.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gettext-h.c
    functionUses: 9
    functionsReached:
    - gettext
    - textdomain
    - strcmp
    - pgettext
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log1p.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:57,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:58,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.h:62,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:80,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:82,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log1p.h:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log1p.h:85,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log1p.h:90,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:92,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:92,1
    - Dst: LOG1P
      Src: /src/gnulib/tests/test-log1p.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.h:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 97
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log1p.h
    functionUses: 145
    functionsReached:
    - L_
    - LOG1P
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:37,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-ftruncate.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:38,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftruncate.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:43,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-ftruncate.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:52,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-ftruncate.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftruncate.c:53,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftruncate.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftruncate.c
    functionUses: 9
    functionsReached:
    - ftruncate
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/gnulib/tests/test-hmac-sha1.c:33,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:35,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha1.c:36,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-hmac-sha1.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha1.c:48,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha1.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - digest
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: hmac_check
    functionSourceFile: /src/gnulib/tests/test-hmac-sha1.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    - hmac_sha1
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void hmac_check (const void *key, size_t key_len,\n            const
      void *data, size_t data_len, const char *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha1.c:59,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha1.c:65,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha1.c:76,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha1.c:82,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha1.c:85,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha1.c:89,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha1.c:95,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha1.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 104
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hmac-sha1.c
    functionUses: 9
    functionsReached:
    - hmac_check
    - memset
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:43,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:53,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getrandom.c:53,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:60,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:70,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getrandom.c:70,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getrandom.c:82,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:84,1
    - Dst: getrandom
      Src: /src/gnulib/tests/test-getrandom.c:85,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getrandom.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getrandom.c
    functionUses: 9
    functionsReached:
    - fputs
    - getrandom
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-langinfo-h.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdutimens
      Src: /src/gnulib/tests/test-utimens.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - times
    argTypes:
    - int
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: do_futimens
    functionSourceFile: /src/gnulib/tests/test-utimens.c
    functionUses: 0
    functionsReached:
    - fdutimens
    linkageType: ''
    returnType: int
    signature: int do_futimens (int fd, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-utimens.c:49,1
    - Dst: fdutimens
      Src: /src/gnulib/tests/test-utimens.c:51,1
    - Dst: close
      Src: /src/gnulib/tests/test-utimens.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - times
    argTypes:
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: do_fdutimens
    functionSourceFile: /src/gnulib/tests/test-utimens.c
    functionUses: 0
    functionsReached:
    - fdutimens
    - open
    - close
    linkageType: ''
    returnType: int
    signature: int do_fdutimens (char const *name, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-utimens.c:69,1
    - Dst: system
      Src: /src/gnulib/tests/test-utimens.c:69,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-utimens.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.c:72,1
    - Dst: test_utimens
      Src: /src/gnulib/tests/test-utimens.c:72,1
    - Dst: test_futimens
      Src: /src/gnulib/tests/test-utimens.c:74,1
    - Dst: test_lutimens
      Src: /src/gnulib/tests/test-utimens.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-utimens.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-utimens.c
    functionUses: 9
    functionsReached:
    - test_futimens
    - test_lutimens
    - system
    - test_utimens
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnulib/tests/test-binary-io.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/test-binary-io.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-binary-io.c:41,1
    - Dst: stat
      Src: /src/gnulib/tests/test-binary-io.c:45,1
    - Dst: exit
      Src: /src/gnulib/tests/test-binary-io.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-binary-io.c:47,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-binary-io.c:54,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-binary-io.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-binary-io.c
    functionUses: 9
    functionsReached:
    - exit
    - fputs
    - close
    - write
    - stat
    - set_binary_mode
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/gnulib/tests/test-safe-alloc.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-safe-alloc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-safe-alloc.c:43,1
    - Dst: REALLOC_N
      Src: /src/gnulib/tests/test-safe-alloc.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-safe-alloc.c:48,1
    - Dst: FREE
      Src: /src/gnulib/tests/test-safe-alloc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-safe-alloc.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-safe-alloc.c
    functionUses: 9
    functionsReached:
    - ASSERT
    - REALLOC_N
    - FREE
    - ALLOC
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strings-h.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:31,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:32,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:33,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:34,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:35,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:36,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:37,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:38,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:40,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:40,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isnanf.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:41,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:41,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-isnanf.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:43,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:43,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-isnanf.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanf.h:46,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-isnanf.h:46,1
    - Dst: SNaNf
      Src: /src/gnulib/tests/test-isnanf.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isnanf.h
    functionUses: 9
    functionsReached:
    - Infinityf
    - NaNf
    - isnanf
    - SNaNf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_access
      Src: /src/gnulib/tests/test-access.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-access.c
    functionUses: 9
    functionsReached:
    - test_access
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:24,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:29,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:29,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:31,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:31,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:33,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:33,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:33,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:41,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:43,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:51,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:53,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:56,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:58,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:60,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:61,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:63,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:64,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:67,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:68,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:69,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:70,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 71
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecmp.h
    functionUses: 1
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_casecmp) (const char *, size_t, const char
      *, size_t))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:84,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:86,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:88,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:88,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:88,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:90,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:90,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:90,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:92,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:94,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:94,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:94,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:102,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:102,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:102,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:104,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:115,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - assume_byte_values
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 118
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionName: test_iso_8859_1
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecmp.h
    functionUses: 1
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_1 (int (*my_casecmp) (const char *, size_t, const
      char *, size_t), bool assume_byte_values)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:131,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:132,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:135,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:136,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:143,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:144,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:156,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:158,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:158,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:158,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:160,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:162,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:164,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:166,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:166,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:166,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:168,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:170,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:176,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:176,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:176,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:182,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:188,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:188,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:188,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:195,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:197,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:203,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:203,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:203,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:243,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:243,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:243,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:245,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:245,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:245,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:245,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:253,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:254,1
    - Dst: towlower
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:257,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:269,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:269,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:269,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:271,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:271,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:271,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:277,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:277,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:277,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:288,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:288,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:288,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:290,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:290,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:290,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:298,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:298,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:298,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:300,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:312,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:312,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:312,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:316,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:316,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:316,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:323,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:323,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:323,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:325,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:325,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:325,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:334,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:334,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:334,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:336,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:336,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:336,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:345,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:345,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:345,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:376,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:376,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:376,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:378,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:378,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:378,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:381,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:381,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:381,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:391,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:391,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:391,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:393,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:393,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:393,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:395,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:395,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:395,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:397,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:397,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:397,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-mbmemcasecmp.h:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 79
    argCount: 1
    argNames:
    - turkish
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 400
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 400
    functionName: test_utf_8
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecmp.h
    functionUses: 1
    functionsReached:
    - my_casecmp
    - mbrtowc
    - towlower
    - memset
    - SIZEOF
    - ASSERT
    - towupper
    linkageType: ''
    returnType: void
    signature: void test_utf_8 (int (*my_casecmp) (const char *, size_t, const char
      *, size_t), bool turkish)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: big_fd
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int big_fd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:51,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:56,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:60,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:64,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:68,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:68,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_adddup2.c
    functionUses: 9
    functionsReached:
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_adddup2
    - posix_spawn_file_actions_destroy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:46,1
    - Dst: tcgetattr
      Src: /src/gnulib/tests/test-openpty.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:61,1
    - Dst: tcsetattr
      Src: /src/gnulib/tests/test-openpty.c:67,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:69,1
    - Dst: write
      Src: /src/gnulib/tests/test-openpty.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-openpty.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-openpty.c:78,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:80,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:93,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-openpty.c:96,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-openpty.c:97,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-openpty.c:97,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-openpty.c:99,1
    - Dst: close
      Src: /src/gnulib/tests/test-openpty.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-openpty.c
    functionUses: 9
    functionsReached:
    - strlen
    - close
    - memcmp
    - tcsetattr
    - tcgetattr
    - fprintf
    - write
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:46,1
    - Dst: strfmon_l
      Src: /src/gnulib/tests/test-strfmon_l.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strfmon_l.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strfmon_l.c:49,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strfmon_l.c:50,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:56,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-strfmon_l.c:60,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-strfmon_l.c:67,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:76,1
    - Dst: strfmon
      Src: /src/gnulib/tests/test-strfmon_l.c:76,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:77,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:79,1
    - Dst: strfmon_l
      Src: /src/gnulib/tests/test-strfmon_l.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strfmon_l.c:80,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strfmon_l.c:81,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:89,1
    - Dst: strfmon
      Src: /src/gnulib/tests/test-strfmon_l.c:89,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:90,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-strfmon_l.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:92,1
    - Dst: strfmon_l
      Src: /src/gnulib/tests/test-strfmon_l.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strfmon_l.c:93,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strfmon_l.c:93,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-strfmon_l.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strfmon_l.c
    functionUses: 9
    functionsReached:
    - strfmon
    - newlocale
    - strfmon_l
    - setlocale
    - freelocale
    - strcmp
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sysexits-h-c++.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gnulib/tests/test-strncpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_strncpy
    functionSourceFile: /src/gnulib/tests/test-strncpy.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: char
    signature: 'char *

      lib_strncpy (char *s1, char const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncpy.c:43,1
    - Dst: strncpy
      Src: /src/gnulib/tests/test-strncpy.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strncpy.c:47,1
    - Dst: strncpy
      Src: /src/gnulib/tests/test-strncpy.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strncpy.c
    functionUses: 9
    functionsReached:
    - strncpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:37,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:38,1
    - Dst: close
      Src: /src/gnulib/tests/test-faccessat.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:43,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:44,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:50,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:51,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-faccessat.c:52,1
    - Dst: open
      Src: /src/gnulib/tests/test-faccessat.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:53,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:55,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:57,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:59,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:61,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:62,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:64,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-faccessat.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:67,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:68,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:68,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:71,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-faccessat.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:72,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:73,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:75,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:77,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:79,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:80,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:81,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:84,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-faccessat.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:85,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:87,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:89,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:91,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:93,1
    - Dst: faccessat
      Src: /src/gnulib/tests/test-faccessat.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-faccessat.c:94,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:95,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:97,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-faccessat.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-faccessat.c
    functionUses: 9
    functionsReached:
    - symlink
    - faccessat
    - open
    - close
    - unlink
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:34,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:35,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:36,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:41,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:44,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:47,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:50,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:53,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:56,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:59,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:62,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:65,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:68,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:71,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:71,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:74,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:77,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:80,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:83,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:86,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:89,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:92,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:95,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:98,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:98,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:101,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:104,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:107,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:110,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:113,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:113,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:116,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:119,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:119,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:122,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:125,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:128,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:131,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:134,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:134,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:137,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:140,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:140,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:143,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:146,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:149,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:152,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:152,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:155,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:158,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:161,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:164,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:167,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:167,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:170,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:170,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:173,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:176,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:176,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:179,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:182,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:185,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:185,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:188,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:188,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:191,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:194,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:197,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:197,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:200,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:200,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:203,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:203,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:206,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:206,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:209,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:212,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:215,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:218,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:218,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:221,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:224,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:224,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:227,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:227,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:230,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:233,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:236,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:236,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:239,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:242,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:245,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:245,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:248,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:248,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:251,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:251,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:254,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:257,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:257,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:260,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:260,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:263,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:266,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:269,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:269,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:272,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:278,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:282,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:282,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:286,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:290,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:290,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:294,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:298,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:302,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:302,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:306,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:310,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:314,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:318,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:318,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:322,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:322,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:326,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:330,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:334,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:338,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:342,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:346,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:346,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:350,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:354,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:358,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:358,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:362,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:362,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:366,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:366,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:370,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:370,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:374,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:378,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:378,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:382,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:386,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:390,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:390,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:394,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:394,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:398,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:398,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:402,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:406,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:406,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:410,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:414,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:414,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:418,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:418,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:422,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:422,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:426,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:426,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:430,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:430,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:434,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:434,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:438,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:438,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:442,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:442,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:446,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:446,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:450,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:450,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:454,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:454,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:458,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:458,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:462,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:462,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:466,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:466,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:470,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:470,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:474,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:474,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:478,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:482,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:482,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:486,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:486,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:490,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:490,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:494,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:494,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:498,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:498,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:502,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:502,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:506,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:506,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:510,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:510,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:514,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:514,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:518,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:518,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:522,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:522,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:522,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:526,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:530,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:534,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:534,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:538,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:538,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:542,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:542,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:546,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:546,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:546,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:550,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:550,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:554,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:558,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:558,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:562,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:562,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:566,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:566,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:570,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:570,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:570,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:574,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:578,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:578,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:582,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:582,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:586,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:586,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:586,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:590,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:590,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:594,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:594,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:598,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:602,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:602,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:606,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:606,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:610,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:610,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:614,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:614,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:618,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:618,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:618,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:622,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:626,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:626,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:630,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:630,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:634,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:634,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:638,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:638,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:642,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:642,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:646,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:646,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:650,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:650,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:654,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:654,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:658,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:658,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:662,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:666,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:670,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:670,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:674,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:674,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:678,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:678,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:682,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:682,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:682,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:686,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:686,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:690,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:694,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:694,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:698,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:698,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:702,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:702,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:706,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:706,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:710,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:710,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:714,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:714,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:718,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:722,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:722,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:726,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:726,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:730,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:730,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:734,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:734,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:738,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:738,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:742,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:746,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:750,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:750,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:754,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:754,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:758,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:758,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:762,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:762,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:766,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:766,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:766,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:770,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:770,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:774,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:774,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:774,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:778,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:778,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:782,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:782,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:786,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:786,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:790,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:790,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:794,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:794,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:798,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:802,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:802,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:806,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:806,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:810,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:810,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:814,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:814,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:814,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:818,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:818,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:822,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:822,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:826,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:826,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:830,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:830,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:834,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:834,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:838,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:838,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:838,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:842,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:842,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:846,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:846,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:846,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:850,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:854,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:854,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:858,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:858,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:862,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:862,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:866,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:866,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:866,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:870,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:874,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:874,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:878,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:878,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:882,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:882,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:882,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:886,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:886,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:890,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:890,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:894,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:894,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:898,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:898,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:902,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:902,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:906,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:906,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:910,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:910,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:914,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:914,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:918,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:922,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:922,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:922,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:926,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:926,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:930,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:930,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:930,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:934,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:934,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:934,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:938,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:938,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:942,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:942,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:946,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:946,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:950,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:950,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:950,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:954,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:954,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:958,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:958,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:962,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:966,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:966,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:970,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:970,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:974,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:974,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:978,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:982,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:982,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:982,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:986,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:986,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:990,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:990,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:994,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:994,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:994,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:998,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:998,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1002,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1002,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1002,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1006,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1006,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1010,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1010,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1010,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1014,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1014,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1018,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1018,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1018,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1022,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1022,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1022,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1026,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1026,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1030,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1030,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1034,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1034,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1038,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1038,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1038,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1042,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1042,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1046,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1046,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1050,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1050,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1054,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1054,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1058,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1058,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1062,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1062,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1066,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1066,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1070,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1070,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1070,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1074,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1074,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1078,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1078,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1078,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1082,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1082,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1082,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1086,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1086,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1090,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1090,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1090,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1094,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1094,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1098,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1098,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1102,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1102,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1106,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1110,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1114,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1118,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1122,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1126,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1126,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1130,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1134,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1134,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1138,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1138,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1142,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1146,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1150,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1150,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1154,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1158,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1162,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1166,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1166,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1170,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1170,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1174,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1178,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1182,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1186,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1186,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1190,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1190,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1194,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1198,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1198,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1202,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1202,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1206,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1206,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1210,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1210,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1214,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1218,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1218,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1222,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1222,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1226,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1230,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1234,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1238,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1238,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1242,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1246,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1246,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1250,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1254,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1258,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1258,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1262,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1262,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1266,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1270,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1274,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1274,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1278,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1278,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1282,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1282,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1286,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1290,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1290,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1294,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1298,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1302,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1302,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1306,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1310,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1314,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1318,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1318,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1322,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1322,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1326,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1330,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1334,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1338,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1342,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1346,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-strerrorname_np.c:1346,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1349,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerrorname_np.c:1350,1
    - Dst: strerrorname_np
      Src: /src/gnulib/tests/test-strerrorname_np.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 353
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 1353
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strerrorname_np.c
    functionUses: 9
    functionsReached:
    - strerrorname_np
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-canonicalize.c:54,1
    - Dst: system
      Src: /src/gnulib/tests/test-canonicalize.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:55,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-canonicalize.c:55,1
    - Dst: creat
      Src: /src/gnulib/tests/test-canonicalize.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:58,1
    - Dst: close
      Src: /src/gnulib/tests/test-canonicalize.c:58,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:73,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:76,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:79,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:86,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:89,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:89,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:92,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:96,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:99,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:99,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:102,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:113,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:114,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-canonicalize.c:114,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-canonicalize.c:115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-canonicalize.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:117,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:122,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:127,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:135,1
    - Dst: null_ptr
      Src: /src/gnulib/tests/test-canonicalize.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:137,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:143,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:148,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:158,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:162,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:172,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:176,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:182,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:183,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-canonicalize.c:183,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-canonicalize.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:190,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:191,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:192,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:193,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:194,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:195,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-canonicalize.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:196,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:197,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:198,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-canonicalize.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:199,1
    - Dst: close
      Src: /src/gnulib/tests/test-canonicalize.c:199,1
    - Dst: creat
      Src: /src/gnulib/tests/test-canonicalize.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:200,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:201,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-canonicalize.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:207,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:207,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:219,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:220,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:221,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:221,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:222,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:223,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:238,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:240,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:240,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:241,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:242,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:243,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:244,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:254,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:281,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:284,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:285,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:296,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:300,1
    - Dst: canonicalize_file_name
      Src: /src/gnulib/tests/test-canonicalize.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:310,1
    - Dst: canonicalize_filename_mode
      Src: /src/gnulib/tests/test-canonicalize.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:327,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:328,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:329,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:330,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:330,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:331,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:332,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:333,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:347,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:348,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:349,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:350,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:350,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:351,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:352,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:353,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:363,1
    - Dst: str_endswith
      Src: /src/gnulib/tests/test-canonicalize.c:363,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-canonicalize.c:374,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:375,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:391,1
    - Dst: stat
      Src: /src/gnulib/tests/test-canonicalize.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:392,1
    - Dst: stat
      Src: /src/gnulib/tests/test-canonicalize.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:401,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:404,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:408,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:411,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:411,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:413,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:414,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:415,1
    - Dst: free
      Src: /src/gnulib/tests/test-canonicalize.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:426,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-canonicalize.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:431,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:432,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:433,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:434,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:435,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:436,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:437,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:438,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:439,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:440,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:441,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:442,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:443,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:444,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-canonicalize.c:445,1
    - Dst: remove
      Src: /src/gnulib/tests/test-canonicalize.c:445,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 236
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 448
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-canonicalize.c
    functionUses: 9
    functionsReached:
    - strcmp
    - str_endswith
    - mkdir
    - free
    - close
    - strstr
    - system
    - canonicalize_file_name
    - ASSERT
    - symlink
    - strlen
    - null_ptr
    - rmdir
    - canonicalize_filename_mode
    - ignore_value
    - remove
    - fputs
    - stat
    - creat
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/gnulib/tests/test-gettimeofday.c:42,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-gettimeofday.c:44,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gettimeofday.c:45,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-gettimeofday.c:47,1
    - Dst: exit
      Src: /src/gnulib/tests/test-gettimeofday.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: test_clobber
    functionSourceFile: /src/gnulib/tests/test-gettimeofday.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - exit
    - memcmp
    - localtime
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_clobber ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:60,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-gettimeofday.c:60,1
    - Dst: time
      Src: /src/gnulib/tests/test-gettimeofday.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:62,1
    - Dst: gettimeofday
      Src: /src/gnulib/tests/test-gettimeofday.c:62,1
    - Dst: time
      Src: /src/gnulib/tests/test-gettimeofday.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gettimeofday.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: test_consistency
    functionSourceFile: /src/gnulib/tests/test-gettimeofday.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    - time
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_consistency ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_clobber
      Src: /src/gnulib/tests/test-gettimeofday.c:84,1
    - Dst: test_consistency
      Src: /src/gnulib/tests/test-gettimeofday.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gettimeofday.c
    functionUses: 9
    functionsReached:
    - test_consistency
    - test_clobber
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_iterator
      Src: /src/gnulib/tests/test-avltree_omap.c:50,1
    - Dst: gl_omap_iterator
      Src: /src/gnulib/tests/test-avltree_omap.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:54,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-avltree_omap.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:55,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-avltree_omap.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:59,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-avltree_omap.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:60,1
    - Dst: gl_omap_iterator_next
      Src: /src/gnulib/tests/test-avltree_omap.c:60,1
    - Dst: gl_omap_iterator_free
      Src: /src/gnulib/tests/test-avltree_omap.c:61,1
    - Dst: gl_omap_iterator_free
      Src: /src/gnulib/tests/test-avltree_omap.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_omap_t
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-avltree_omap.c
    functionUses: 14
    functionsReached:
    - gl_omap_iterator
    - gl_omap_iterator_next
    - ASSERT
    - gl_omap_iterator_free
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_omap_t map1, gl_omap_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_avltree_omap_check_invariants
      Src: /src/gnulib/tests/test-avltree_omap.c:68,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltree_omap.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_omap_t
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-avltree_omap.c
    functionUses: 14
    functionsReached:
    - gl_avltree_omap_check_invariants
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_omap_t map1, gl_omap_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-avltree_omap.c:79,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-avltree_omap.c:79,1
    - Dst: gl_omap_nx_create_empty
      Src: /src/gnulib/tests/test-avltree_omap.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:88,1
    - Dst: gl_omap_nx_create_empty
      Src: /src/gnulib/tests/test-avltree_omap.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:92,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_omap.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:101,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-avltree_omap.c:101,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-avltree_omap.c:101,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_omap.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:113,1
    - Dst: gl_omap_get
      Src: /src/gnulib/tests/test-avltree_omap.c:113,1
    - Dst: gl_omap_get
      Src: /src/gnulib/tests/test-avltree_omap.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:120,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-avltree_omap.c:120,1
    - Dst: gl_omap_nx_put
      Src: /src/gnulib/tests/test-avltree_omap.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_omap.c:126,1
    - Dst: gl_omap_remove
      Src: /src/gnulib/tests/test-avltree_omap.c:126,1
    - Dst: gl_omap_remove
      Src: /src/gnulib/tests/test-avltree_omap.c:126,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_omap.c:130,1
    - Dst: gl_omap_free
      Src: /src/gnulib/tests/test-avltree_omap.c:133,1
    - Dst: gl_omap_free
      Src: /src/gnulib/tests/test-avltree_omap.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 138
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-avltree_omap.c
    functionUses: 9
    functionsReached:
    - gl_omap_get
    - atoi
    - gl_omap_nx_create_empty
    - check_all
    - srand
    - gl_omap_nx_put
    - gl_omap_remove
    - ASSERT
    - gl_omap_free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: lib_memset_explicit
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 0
    functionsReached:
    - memset_explicit
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memset_explicit (void *s, int c, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memset_explicit.c:74,1
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memset_explicit.c:76,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memset_explicit.c:80,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memset_explicit.c:81,1
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:83,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memset_explicit.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: test_static
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached:
    - memset_explicit
    - memcmp
    - memset
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_static (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: test_heap
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_heap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - data
    - start
    - end
    - flags
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: vma_iterate_callback
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int vma_iterate_callback (void *data, uintptr_t start, uintptr_t end,\n
      \                     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/tests/test-memset_explicit.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: is_range_mapped
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: bool
    signature: bool is_range_mapped (uintptr_t range_start, uintptr_t range_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - range_start
    - range_end
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: is_range_mapped
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_range_mapped (uintptr_t range_start, uintptr_t range_end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:153,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memset_explicit.c:155,1
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:156,1
    - Dst: free
      Src: /src/gnulib/tests/test-memset_explicit.c:157,1
    - Dst: is_range_mapped
      Src: /src/gnulib/tests/test-memset_explicit.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:163,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memset_explicit.c:163,1
    - Dst: printf
      Src: /src/gnulib/tests/test-memset_explicit.c:164,1
    - Dst: printf
      Src: /src/gnulib/tests/test-memset_explicit.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: test_heap
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached:
    - memset_explicit
    - free
    - is_range_mapped
    - memcmp
    - memcpy
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_heap (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: test_stack
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_stack (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memset_explicit.c:207,1
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:208,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-memset_explicit.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pass
    - last_stackbuf
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: do_secret_stuff
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memcmp
    - memset_explicit
    linkageType: ''
    returnType: void
    signature: void do_secret_stuff (int pass, char *volatile *last_stackbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_secret_stuff
      Src: /src/gnulib/tests/test-memset_explicit.c:237,1
    - Dst: do_secret_stuff
      Src: /src/gnulib/tests/test-memset_explicit.c:239,1
    - Dst: printf
      Src: /src/gnulib/tests/test-memset_explicit.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: test_stack
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 1
    functionsReached:
    - do_secret_stuff
    - printf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_stack (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_static
      Src: /src/gnulib/tests/test-memset_explicit.c:257,1
    - Dst: test_heap
      Src: /src/gnulib/tests/test-memset_explicit.c:258,1
    - Dst: test_stack
      Src: /src/gnulib/tests/test-memset_explicit.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memset_explicit.c:263,1
    - Dst: memset_explicit
      Src: /src/gnulib/tests/test-memset_explicit.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memset_explicit.c
    functionUses: 9
    functionsReached:
    - test_stack
    - memset_explicit
    - test_static
    - test_heap
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbs_endswith2.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:35,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:36,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:38,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:39,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:40,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:41,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:43,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:44,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:45,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:46,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:47,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:48,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:50,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:51,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:53,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:54,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:55,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:56,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:58,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:59,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:60,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:61,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:62,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:63,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:68,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:69,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:72,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:73,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:76,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:77,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:80,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:81,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:82,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:85,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:86,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith2.c:87,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith2.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbs_endswith2.c
    functionUses: 9
    functionsReached:
    - mbs_endswith
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/test-malloc-posix.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-posix.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-posix.c:47,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-malloc-posix.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-posix.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-posix.c:52,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-malloc-posix.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-malloc-posix.c
    functionUses: 9
    functionsReached:
    - fputs
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/tests/test-calloc-posix.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-posix.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-posix.c:47,1
    - Dst: calloc
      Src: /src/gnulib/tests/test-calloc-posix.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-posix.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-posix.c:52,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-calloc-posix.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-calloc-posix.c
    functionUses: 9
    functionsReached:
    - fputs
    - ASSERT
    - calloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:66,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:69,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:72,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:75,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:75,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:78,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:81,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:81,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:84,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:86,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:91,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:97,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:97,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:100,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:103,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:103,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:106,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:109,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:112,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:112,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:114,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:120,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:123,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:129,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:129,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:132,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:135,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:138,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:138,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:141,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:144,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:146,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:149,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:153,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:156,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:162,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:165,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:165,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:168,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:168,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:171,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:174,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:177,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:179,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:182,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:186,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:189,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:195,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:195,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:198,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:198,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:201,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:204,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:207,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:207,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:210,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:210,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:212,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:215,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:219,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:222,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:228,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:231,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:234,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:237,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:237,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:240,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:240,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:243,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:243,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:245,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:248,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:252,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:255,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:261,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:261,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:264,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:267,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:267,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:270,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:273,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:273,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:276,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:276,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:278,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:281,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:285,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:288,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:294,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:294,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:297,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:300,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:300,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:303,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:303,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:306,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:306,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:309,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:309,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:311,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:314,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:323,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:323,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:326,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:329,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:329,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:332,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:332,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:335,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:335,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:338,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-getlocalename_l.c:343,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:348,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:348,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:351,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:351,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:354,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:357,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:357,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:360,1
    - Dst: getlocalename_l
      Src: /src/gnulib/tests/test-getlocalename_l.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getlocalename_l.c:363,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getlocalename_l.c:363,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 174
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getlocalename_l.c
    functionUses: 9
    functionsReached:
    - newlocale
    - setlocale
    - freelocale
    - strcmp
    - getlocalename_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:37,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:44,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:48,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:49,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:50,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:51,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:52,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:53,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:54,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:55,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:58,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:59,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:61,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:62,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:63,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:64,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:65,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:68,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:69,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:70,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:71,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:72,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:73,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:74,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:75,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:78,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:79,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:80,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:81,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:82,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:83,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:84,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:85,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:88,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:89,1
    - Dst: fesetexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:90,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:91,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:92,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:93,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:94,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:95,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-4.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-4.c
    functionUses: 9
    functionsReached:
    - fetestexcept
    - fputs
    - fesetexcept
    - feclearexcept
    - feraiseexcept
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup2.c:67,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-dup2.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-dup2.c
    functionUses: 5
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: int
    signature: int is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup2.c:85,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-dup2.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: is_inheritable
    functionSourceFile: /src/gnulib/tests/test-dup2.c
    functionUses: 2
    functionsReached:
    - _get_osfhandle
    - GetHandleInformation
    linkageType: ''
    returnType: int
    signature: int is_inheritable (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - int
    - mode
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: set_binary_mode
    functionSourceFile: /src/gnulib/tests/test-dup2.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup2.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: is_mode
    functionSourceFile: /src/gnulib/tests/test-dup2.c
    functionUses: 2
    functionsReached:
    - set_binary_mode
    linkageType: ''
    returnType: int
    signature: int is_mode (int fd, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:129,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:129,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:131,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:133,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:134,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:137,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:138,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:142,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:143,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:146,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:149,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:151,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:155,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:157,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:159,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:161,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:165,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:169,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:170,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:171,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:172,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:174,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:175,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:177,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:181,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:182,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:183,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:184,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup2.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:187,1
    - Dst: open
      Src: /src/gnulib/tests/test-dup2.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:188,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:189,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:190,1
    - Dst: write
      Src: /src/gnulib/tests/test-dup2.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:191,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:192,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-dup2.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:193,1
    - Dst: write
      Src: /src/gnulib/tests/test-dup2.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:194,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-dup2.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:195,1
    - Dst: read
      Src: /src/gnulib/tests/test-dup2.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:200,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:201,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-dup2.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:202,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup2.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:203,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:204,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup2.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:205,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:206,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup2.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:207,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup2.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:209,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:211,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-dup2.c:211,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup2.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:217,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup2.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:218,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:219,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup2.c:219,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-dup2.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:221,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup2.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:222,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-dup2.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:223,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-dup2.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:226,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:227,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:228,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup2.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup2.c:229,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-dup2.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dup2.c
    functionUses: 9
    functionsReached:
    - is_mode
    - dup_cloexec
    - is_inheritable
    - open
    - dup2
    - close
    - write
    - lseek
    - read
    - unlink
    - set_binary_mode
    - is_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-sockets.c:29,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sockets.c:32,1
    - Dst: gl_sockets_cleanup
      Src: /src/gnulib/tests/test-sockets.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sockets.c:39,1
    - Dst: gl_fd_to_handle
      Src: /src/gnulib/tests/test-sockets.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sockets.c
    functionUses: 9
    functionsReached:
    - gl_fd_to_handle
    - gl_sockets_startup
    - printf
    - gl_sockets_cleanup
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chownat
      Src: /src/gnulib/tests/test-fchownat.c:52,1
    - Dst: fchownat
      Src: /src/gnulib/tests/test-fchownat.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - user
    - group
    argTypes:
    - char*
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: do_chown
    functionSourceFile: /src/gnulib/tests/test-fchownat.c
    functionUses: 0
    functionsReached:
    - fchownat
    - chownat
    linkageType: ''
    returnType: int
    signature: int do_chown (char const *name, uid_t user, gid_t group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lchownat
      Src: /src/gnulib/tests/test-fchownat.c:63,1
    - Dst: fchownat
      Src: /src/gnulib/tests/test-fchownat.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - user
    - group
    argTypes:
    - char*
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: do_lchown
    functionSourceFile: /src/gnulib/tests/test-fchownat.c
    functionUses: 0
    functionsReached:
    - fchownat
    - lchownat
    linkageType: ''
    returnType: int
    signature: int do_lchown (char const *name, uid_t user, gid_t group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-fchownat.c:76,1
    - Dst: system
      Src: /src/gnulib/tests/test-fchownat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:81,1
    - Dst: fchownat
      Src: /src/gnulib/tests/test-fchownat.c:81,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-fchownat.c:81,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-fchownat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:82,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchownat.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:87,1
    - Dst: fchownat
      Src: /src/gnulib/tests/test-fchownat.c:87,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-fchownat.c:87,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-fchownat.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:88,1
    - Dst: test_chown
      Src: /src/gnulib/tests/test-fchownat.c:92,1
    - Dst: test_lchown
      Src: /src/gnulib/tests/test-fchownat.c:93,1
    - Dst: open
      Src: /src/gnulib/tests/test-fchownat.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:96,1
    - Dst: test_chown
      Src: /src/gnulib/tests/test-fchownat.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:97,1
    - Dst: test_lchown
      Src: /src/gnulib/tests/test-fchownat.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchownat.c:100,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchownat.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 105
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fchownat.c
    functionUses: 9
    functionsReached:
    - close
    - open
    - system
    - test_lchown
    - test_chown
    - getgid
    - fchownat
    - getuid
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-rintl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rintl-ieee.c
    functionUses: 9
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:50,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:51,1
    - Dst: close
      Src: /src/gnulib/tests/test-fsync.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:56,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:62,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:63,1
    - Dst: open
      Src: /src/gnulib/tests/test-fsync.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:69,1
    - Dst: write
      Src: /src/gnulib/tests/test-fsync.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:70,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:71,1
    - Dst: close
      Src: /src/gnulib/tests/test-fsync.c:71,1
    - Dst: open
      Src: /src/gnulib/tests/test-fsync.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:81,1
    - Dst: read
      Src: /src/gnulib/tests/test-fsync.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:83,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fsync.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:84,1
    - Dst: close
      Src: /src/gnulib/tests/test-fsync.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fsync.c:87,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fsync.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fsync.c
    functionUses: 9
    functionsReached:
    - open
    - close
    - write
    - fsync
    - unlink
    - read
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtoc32.c:43,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:48,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:52,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:52,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:57,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:62,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:62,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:65,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:65,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:99,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:107,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:107,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:111,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:111,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:121,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:126,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:126,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtoc32.c:134,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:147,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:167,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:167,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:168,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:168,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:172,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:172,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:181,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:187,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:187,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:193,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:197,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:197,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:203,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:203,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:208,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:212,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:212,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:219,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:219,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:226,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:226,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:234,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:240,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:240,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:247,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:247,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:253,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:255,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:255,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:261,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:261,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:266,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:268,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:268,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:275,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:275,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:280,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:282,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:282,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:292,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:292,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:295,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:301,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:301,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:307,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:307,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:313,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:313,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:319,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:319,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:327,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:333,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:333,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:339,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:343,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:343,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:351,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:351,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:357,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:361,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:361,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:367,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:367,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:372,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:376,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:376,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:384,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:384,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtoc32.c:393,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:398,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:404,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:404,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:411,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:411,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:417,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:421,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:421,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:427,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:427,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:430,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:432,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:436,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:436,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:445,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:445,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:450,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbrtoc32.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:454,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:454,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:464,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:464,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtoc32.c:467,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:473,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:473,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:479,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:479,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:485,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:485,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbrtoc32.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtoc32.c:493,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtoc32.c:493,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 402
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 499
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 499
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtoc32.c
    functionUses: 9
    functionsReached:
    - mbrtoc32
    - setlocale
    - fputs
    - c32tob
    - mbsinit
    - strcmp
    - memset
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnulib/tests/test-at-init.c:41,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-at-init.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: initial_message
    functionSourceFile: /src/gnulib/tests/test-at-init.c
    functionUses: 0
    functionsReached:
    - strlen
    - write
    linkageType: ''
    returnType: void
    signature: void initial_message (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnulib/tests/test-at-init.c:53,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-at-init.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: final_message
    functionSourceFile: /src/gnulib/tests/test-at-init.c
    functionUses: 0
    functionsReached:
    - strlen
    - write
    linkageType: ''
    returnType: void
    signature: void final_message (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-at-init.c:60,1
    - Dst: get_squares
      Src: /src/gnulib/tests/test-at-init.c:60,1
    - Dst: get_cubes
      Src: /src/gnulib/tests/test-at-init.c:60,1
    - Dst: write
      Src: /src/gnulib/tests/test-at-init.c:61,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-at-init.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-at-init.c
    functionUses: 9
    functionsReached:
    - strlen
    - get_squares
    - sprintf
    - get_cubes
    - write
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/gnulib/tests/test-reallocarray.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-reallocarray.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-reallocarray.c:49,1
    - Dst: reallocarray
      Src: /src/gnulib/tests/test-reallocarray.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-reallocarray.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-reallocarray.c:54,1
    - Dst: reallocarray
      Src: /src/gnulib/tests/test-reallocarray.c:58,1
    - Dst: reallocarray
      Src: /src/gnulib/tests/test-reallocarray.c:59,1
    - Dst: free
      Src: /src/gnulib/tests/test-reallocarray.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-reallocarray.c
    functionUses: 9
    functionsReached:
    - free
    - reallocarray
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: do_rename
    functionSourceFile: /src/gnulib/tests/test-renameat.c
    functionUses: 0
    functionsReached:
    - renameat
    linkageType: ''
    returnType: int
    signature: int do_rename (char const *name1, char const *name2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-renameat.c:61,1
    - Dst: system
      Src: /src/gnulib/tests/test-renameat.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:66,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:67,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:72,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:75,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:75,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameat.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:78,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:83,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:86,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameat.c:86,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameat.c:89,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameat.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:92,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameat.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:94,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameat.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:96,1
    - Dst: test_rename
      Src: /src/gnulib/tests/test-renameat.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:97,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:100,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-renameat.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:101,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-renameat.c:101,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameat.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:104,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:104,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-renameat.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:106,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameat.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:110,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-renameat.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:130,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-renameat.c:130,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-renameat.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:131,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-renameat.c:131,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-renameat.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:132,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:132,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameat.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameat.c:134,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameat.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:138,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:139,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:144,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-renameat.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:145,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:145,1
    - Dst: open
      Src: /src/gnulib/tests/test-renameat.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:149,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:149,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameat.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:151,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:153,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameat.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:155,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:160,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:164,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:167,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:170,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:173,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:176,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:179,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:182,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:186,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:186,1
    - Dst: creat
      Src: /src/gnulib/tests/test-renameat.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:188,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:189,1
    - Dst: renameat
      Src: /src/gnulib/tests/test-renameat.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:192,1
    - Dst: close
      Src: /src/gnulib/tests/test-renameat.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:194,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameat.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:196,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-renameat.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:197,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-renameat.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:199,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-renameat.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-renameat.c:200,1
    - Dst: free
      Src: /src/gnulib/tests/test-renameat.c:201,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-renameat.c:204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-renameat.c
    functionUses: 9
    functionsReached:
    - rmdir
    - getcwd
    - chdir
    - free
    - fputs
    - close
    - open
    - unlink
    - system
    - strchr
    - mkdir
    - renameat
    - creat
    - sprintf
    - test_rename
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: funcd_cxx
    functionSourceFile: /src/gnulib/tests/test-noreturn-c++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_NORETURN_FUNC
    signature: _GL_NORETURN_FUNC funcd_cxx (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: func1_c
    functionSourceFile: /src/gnulib/tests/test-noreturn-c++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void func1_c (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: func1_cxx
    functionSourceFile: /src/gnulib/tests/test-noreturn-c++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void func1_cxx (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-noreturn-c++.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-spin.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: random_account
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 10
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int random_account (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/tests/test-pthread-spin.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: check_accounts
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 28
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void check_accounts (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:121,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:122,1
    - Dst: pthread_spin_lock
      Src: /src/gnulib/tests/test-pthread-spin.c:122,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:123,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:123,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-spin.c:125,1
    - Dst: random_account
      Src: /src/gnulib/tests/test-pthread-spin.c:126,1
    - Dst: random
      Src: /src/gnulib/tests/test-pthread-spin.c:127,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:131,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:132,1
    - Dst: pthread_spin_unlock
      Src: /src/gnulib/tests/test-pthread-spin.c:132,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:133,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:133,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:135,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:136,1
    - Dst: pthread_spin_lock
      Src: /src/gnulib/tests/test-pthread-spin.c:136,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-spin.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:138,1
    - Dst: pthread_spin_unlock
      Src: /src/gnulib/tests/test-pthread-spin.c:138,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:139,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:139,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-spin.c:141,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:144,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: lock_mutator_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 0
    functionsReached:
    - pthread_self_pointer
    - pthread_spin_lock
    - dbgprintf
    - random
    - random_account
    - yield
    - pthread_spin_unlock
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_mutator_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-spin.c:153,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:155,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:156,1
    - Dst: pthread_spin_lock
      Src: /src/gnulib/tests/test-pthread-spin.c:156,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-spin.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:158,1
    - Dst: pthread_spin_unlock
      Src: /src/gnulib/tests/test-pthread-spin.c:158,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:159,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:159,1
    - Dst: yield
      Src: /src/gnulib/tests/test-pthread-spin.c:161,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-pthread-spin.c:164,1
    - Dst: pthread_self_pointer
      Src: /src/gnulib/tests/test-pthread-spin.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: lock_checker_thread
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 0
    functionsReached:
    - pthread_self_pointer
    - pthread_spin_lock
    - dbgprintf
    - get_atomic_int_value
    - yield
    - pthread_spin_unlock
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      lock_checker_thread (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_atomic_int
      Src: /src/gnulib/tests/test-pthread-spin.c:178,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-spin.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:182,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-spin.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:185,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread-spin.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:189,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-spin.c:189,1
    - Dst: set_atomic_int_value
      Src: /src/gnulib/tests/test-pthread-spin.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:191,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread-spin.c:191,1
    - Dst: check_accounts
      Src: /src/gnulib/tests/test-pthread-spin.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: test_pthread_spin
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - set_atomic_int_value
    - pthread_create
    - init_atomic_int
    - check_accounts
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_pthread_spin (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread-spin.c:205,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-pthread-spin.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread-spin.c:209,1
    - Dst: pthread_spin_init
      Src: /src/gnulib/tests/test-pthread-spin.c:209,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-spin.c:211,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-spin.c:211,1
    - Dst: test_pthread_spin
      Src: /src/gnulib/tests/test-pthread-spin.c:212,1
    - Dst: printf
      Src: /src/gnulib/tests/test-pthread-spin.c:213,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-pthread-spin.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 9
    functionsReached:
    - pthread_spin_init
    - alarm
    - signal
    - fflush
    - printf
    - test_pthread_spin
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread-spin.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread-spin.c
    functionUses: 9
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: print_no_progname
    functionSourceFile: /src/gnulib/tests/test-xstrtol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_no_progname (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __xstrtol
      Src: /src/gnulib/tests/test-xstrtol.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-xstrtol.c:57,1
    - Dst: xstrtol_fatal
      Src: /src/gnulib/tests/test-xstrtol.c:61,1
    - Dst: __xstrtol
      Src: /src/gnulib/tests/test-xstrtol.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtol.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtol.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtol.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtol.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstrtol.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 92
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstrtol.c
    functionUses: 9
    functionsReached:
    - __xstrtol
    - printf
    - xstrtol_fatal
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:32,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:33,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:35,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:36,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:37,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:38,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:40,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:41,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:42,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:43,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:44,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbs_endswith1.c:45,1
    - Dst: mbs_endswith
      Src: /src/gnulib/tests/test-mbs_endswith1.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbs_endswith1.c
    functionUses: 9
    functionsReached:
    - mbs_endswith
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:41,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:41,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:51,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:51,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:61,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:91,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:101,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:123,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:144,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:145,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:154,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:155,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:155,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:164,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:165,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:165,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:175,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:175,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:185,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:185,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:204,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:205,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:215,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:215,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:227,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:240,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:240,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 243
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 243
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-gnu.c
    functionUses: 146
    functionsReached:
    - free
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:251,1
    - Dst: vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:252,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-gnu.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-gnu.c
    functionUses: 1
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:272,1
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-gnu.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-gnu.c
    functionUses: 9
    functionsReached:
    - test_vasnprintf
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:51,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fseeko.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:52,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko.c:52,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fseeko.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:54,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fseeko.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:66,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-fseeko.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:68,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:69,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fseeko.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:71,1
    - Dst: feof
      Src: /src/gnulib/tests/test-fseeko.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:72,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko.c:73,1
    - Dst: feof
      Src: /src/gnulib/tests/test-fseeko.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseeko.c
    functionUses: 9
    functionsReached:
    - fgetc
    - ungetc
    - fputs
    - feof
    - fseeko
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsnzprintf-posix.c:37,1
    - Dst: vsnzprintf
      Src: /src/gnulib/tests/test-vsnzprintf-posix.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsnzprintf-posix.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_snzprintf
    functionSourceFile: /src/gnulib/tests/test-vsnzprintf-posix.c
    functionUses: 0
    functionsReached:
    - vsnzprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_snzprintf (char *str, size_t size, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsnzprintf-posix.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsnzprintf-posix.c
    functionUses: 9
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:28,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-symlink.h:31,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:47,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-symlink.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:53,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:56,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:59,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:62,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:64,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-symlink.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:66,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:69,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:72,1
    - Dst: close
      Src: /src/gnulib/tests/test-symlink.h:72,1
    - Dst: creat
      Src: /src/gnulib/tests/test-symlink.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:74,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:77,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:81,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-symlink.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:82,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:84,1
    - Dst: func
      Src: /src/gnulib/tests/test-symlink.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:87,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-symlink.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:91,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-symlink.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:92,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-symlink.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-symlink.h:93,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-symlink.h:93,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 96
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 96
    functionName: test_symlink
    functionSourceFile: /src/gnulib/tests/test-symlink.h
    functionUses: 1
    functionsReached:
    - ASSERT
    - rmdir
    - fputs
    - close
    - unlink
    - creat
    - func
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_symlink (int (*func) (char const *, char const *), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmodl
      Src: /src/gnulib/tests/test-fmodl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fmodl.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmodl.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmodl.c
    functionUses: 9
    functionsReached:
    - fmodl
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: reverse_strcmp
    functionSourceFile: /src/gnulib/tests/test-oset-c++.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reverse_strcmp (const char *str1, const char *str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/gnulib/tests/test-oset-c++.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - data
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: action
    functionSourceFile: /src/gnulib/tests/test-oset-c++.cc
    functionUses: 19
    functionsReached:
    - const_cast<char *>
    linkageType: ''
    returnType: void
    signature: void action (const char *str, int *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - threshold
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: is_at_most
    functionSourceFile: /src/gnulib/tests/test-oset-c++.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_at_most (const char *str, const char *threshold)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_OSet<const char *>
      Src: /src/gnulib/tests/test-oset-c++.cc:52,1
    - Dst: gl_OSet::add
      Src: /src/gnulib/tests/test-oset-c++.cc:53,1
    - Dst: gl_OSet::add
      Src: /src/gnulib/tests/test-oset-c++.cc:54,1
    - Dst: gl_OSet::add
      Src: /src/gnulib/tests/test-oset-c++.cc:55,1
    - Dst: gl_OSet::add
      Src: /src/gnulib/tests/test-oset-c++.cc:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:57,1
    - Dst: gl_OSet::size
      Src: /src/gnulib/tests/test-oset-c++.cc:57,1
    - Dst: gl_OSet::begin
      Src: /src/gnulib/tests/test-oset-c++.cc:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:62,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:64,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:66,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:68,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:72,1
    - Dst: gl_OSet::update
      Src: /src/gnulib/tests/test-oset-c++.cc:72,1
    - Dst: gl_OSet::begin
      Src: /src/gnulib/tests/test-oset-c++.cc:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:77,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:79,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:81,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:83,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:83,1
    - Dst: gl_OSet::begin_atleast
      Src: /src/gnulib/tests/test-oset-c++.cc:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:89,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:91,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-oset-c++.cc:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-oset-c++.cc:93,1
    - Dst: gl_OSet<const char *>::iterator::next
      Src: /src/gnulib/tests/test-oset-c++.cc:93,1
    - Dst: gl_OSet::free
      Src: /src/gnulib/tests/test-oset-c++.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 99
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-oset-c++.cc
    functionUses: 9
    functionsReached:
    - gl_OSet::size
    - gl_OSet<const char *>::iterator::next
    - gl_OSet::begin
    - gl_OSet::add
    - gl_OSet::update
    - gl_OSet::begin_atleast
    - strcmp
    - gl_OSet::free
    - gl_OSet<const char *>
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_bidi
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:60,1
    - Dst: write
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:61,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:64,1
    - Dst: read
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:67,1
    - Dst: wait_subprocess
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:68,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - prog
    - stderr_closed
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: test_pipe
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-main.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - wait_subprocess
    - close
    - create_pipe_bidi
    - read
    - write
    linkageType: ''
    returnType: void
    signature: void test_pipe (const char *prog, bool stderr_closed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:83,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:87,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:88,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:93,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:99,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:102,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:105,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:106,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:109,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:112,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:113,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:116,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:117,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:120,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:121,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:125,1
    - Dst: close
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:132,1
    - Dst: test_pipe
      Src: /src/gnulib/tests/test-spawn-pipe-main.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 137
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-main.c
    functionUses: 9
    functionsReached:
    - test_pipe
    - close
    - dup2
    - atoi
    - fdopen
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: compute_minus_zerof
    functionSourceFile: /src/gnulib/tests/minus-zero.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float compute_minus_zerof (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: compute_minus_zerod
    functionSourceFile: /src/gnulib/tests/minus-zero.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double compute_minus_zerod (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: compute_minus_zerol
    functionSourceFile: /src/gnulib/tests/minus-zero.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double compute_minus_zerol (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabsl
      Src: /src/gnulib/tests/test-fabsl.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabsl.c:44,1
    - Dst: fabsl
      Src: /src/gnulib/tests/test-fabsl.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fabsl.c:49,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabsl.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabsl.c
    functionUses: 9
    functionsReached:
    - test_function
    - fabsl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-gnu.h:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-szprintf-gnu.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-szprintf-gnu.h:35,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-szprintf-gnu.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-szprintf-gnu.h
    functionUses: 151
    functionsReached:
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (ptrdiff_t (*my_szprintf) (char *, const char *,
      ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-getprogname.c:39,1
    - Dst: assert
      Src: /src/gnulib/tests/test-getprogname.c:53,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-getprogname.c:53,1
    - Dst: assert
      Src: /src/gnulib/tests/test-getprogname.c:55,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-getprogname.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getprogname.c
    functionUses: 9
    functionsReached:
    - str_startswith
    - assert
    - STREQ
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/gnulib/tests/test-tan.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tan.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tan.c
    functionUses: 9
    functionsReached:
    - tan
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_des_setkey
      Src: /src/gnulib/tests/test-des.c:43,1
    - Dst: gl_des_ecb_encrypt
      Src: /src/gnulib/tests/test-des.c:44,1
    - Dst: gl_des_ecb_encrypt
      Src: /src/gnulib/tests/test-des.c:45,1
    - Dst: gl_des_setkey
      Src: /src/gnulib/tests/test-des.c:46,1
    - Dst: gl_des_ecb_decrypt
      Src: /src/gnulib/tests/test-des.c:47,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-des.c:48,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-des.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-des.c:51,1
    - Dst: gl_3des_set2keys
      Src: /src/gnulib/tests/test-des.c:70,1
    - Dst: gl_3des_ecb_encrypt
      Src: /src/gnulib/tests/test-des.c:71,1
    - Dst: gl_3des_ecb_decrypt
      Src: /src/gnulib/tests/test-des.c:72,1
    - Dst: gl_3des_set3keys
      Src: /src/gnulib/tests/test-des.c:73,1
    - Dst: gl_3des_ecb_encrypt
      Src: /src/gnulib/tests/test-des.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-des.c:76,1
    - Dst: gl_3des_set3keys
      Src: /src/gnulib/tests/test-des.c:199,1
    - Dst: gl_3des_ecb_encrypt
      Src: /src/gnulib/tests/test-des.c:202,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-des.c:203,1
    - Dst: gl_3des_ecb_decrypt
      Src: /src/gnulib/tests/test-des.c:208,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-des.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 217
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-des.c
    functionUses: 9
    functionsReached:
    - gl_3des_ecb_encrypt
    - memcmp
    - gl_3des_set2keys
    - gl_des_ecb_decrypt
    - gl_3des_ecb_decrypt
    - gl_3des_set3keys
    - gl_des_setkey
    - gl_des_ecb_encrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modff
      Src: /src/gnulib/tests/test-modff.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modff.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modff.c:44,1
    - Dst: modff
      Src: /src/gnulib/tests/test-modff.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modff.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-modff.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-modff.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modff.c
    functionUses: 9
    functionsReached:
    - test_function
    - modff
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:48,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:51,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:54,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:55,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:55,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:57,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:62,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:65,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:68,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:68,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:70,1
    - Dst: posix_spawn
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:75,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:78,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:82,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:84,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:86,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:92,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:96,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:98,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 106
    functionName: parent_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit0.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - fprintf
    - WIFEXITED
    - unlink
    - fflush
    - posix_spawn
    - WEXITSTATUS
    - waitpid
    - freopen
    - fseek
    - perror
    linkageType: ''
    returnType: int
    signature: int parent_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:114,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: child_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit0.c
    functionUses: 1
    functionsReached:
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: int child_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:127,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:130,1
    - Dst: raise
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: cleanup_then_die
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit0.c
    functionUses: 0
    functionsReached:
    - signal
    - raise
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup_then_die (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:139,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:142,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:143,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:145,1
    - Dst: parent_main
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:148,1
    - Dst: child_main
      Src: /src/gnulib/tests/test-posix_spawn-inherit0.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit0.c
    functionUses: 10
    functionsReached:
    - signal
    - child_main
    - parent_main
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:21,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - DOUBLE
    - int
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: my_ldexp
    functionSourceFile: /src/gnulib/tests/test-remainder.h
    functionUses: 6
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE my_ldexp (DOUBLE x, int d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:48,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:58,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:58,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:62,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:71,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:75,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:76,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:76,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:91,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:95,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:95,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:98,1
    - Dst: my_ldexp
      Src: /src/gnulib/tests/test-remainder.h:104,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-remainder.h:106,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:110,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:115,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder.h:116,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder.h:116,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 120
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-remainder.h
    functionUses: 152
    functionsReached:
    - my_ldexp
    - L_
    - REMAINDER
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:31,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:38,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:45,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:52,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:59,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:66,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:96,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:119,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:154,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:163,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:172,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf-gnu.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf-gnu.h:173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf-gnu.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 175
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-snprintf-gnu.h
    functionUses: 152
    functionsReached:
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_snprintf) (char *, size_t, const char
      *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:62,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:65,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:68,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:69,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:71,1
    - Dst: freopen
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:76,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:78,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:85,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:87,1
    - Dst: posix_spawn
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:88,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:91,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:93,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:96,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:98,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:100,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:102,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:105,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: parent_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open1.c
    functionUses: 2
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - WIFEXITED
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_destroy
    - fflush
    - posix_spawn_file_actions_addopen
    - posix_spawn
    - WEXITSTATUS
    - waitpid
    - freopen
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int parent_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:120,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: child_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open1.c
    functionUses: 2
    functionsReached:
    - fread
    - memcmp
    linkageType: ''
    returnType: int
    signature: int child_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:131,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:134,1
    - Dst: raise
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: cleanup_then_die
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open1.c
    functionUses: 0
    functionsReached:
    - signal
    - raise
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup_then_die (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:143,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:146,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:147,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:149,1
    - Dst: parent_main
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:152,1
    - Dst: child_main
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:158,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-open1.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-open1.c
    functionUses: 11
    functionsReached:
    - signal
    - child_main
    - parent_main
    - unlink
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnulib/tests/test-ftello-largefile.c:37,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ftello-largefile.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:51,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-ftello-largefile.c:52,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-ftello-largefile.c:53,1
    - Dst: write
      Src: /src/gnulib/tests/test-ftello-largefile.c:54,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-ftello-largefile.c:55,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftello-largefile.c:57,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftello-largefile.c:58,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-ftello-largefile.c:59,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftello-largefile.c:62,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftello-largefile.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:70,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-ftello-largefile.c:70,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello-largefile.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello-largefile.c:77,1
    - Dst: remove
      Src: /src/gnulib/tests/test-ftello-largefile.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftello-largefile.c
    functionUses: 11
    functionsReached:
    - fopen
    - remove
    - ftruncate
    - ftello
    - write
    - close
    - fsync
    - fseeko
    - lseek
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-array_map.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-array_map.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pairptr1
    - pairptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: cmp_pairs_in_array
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_pairs_in_array (const void *pairptr1, const void *pairptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-array_map.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:89,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_map.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:90,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_map.c:90,1
    - Dst: gl_map_iterator
      Src: /src/gnulib/tests/test-array_map.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:94,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-array_map.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:98,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-array_map.c:98,1
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/tests/test-array_map.c:99,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-array_map.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:105,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_map.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:106,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_map.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-array_map.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - map1
    - keys
    - values
    argTypes:
    - gl_map_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 15
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - gl_map_iterator
    - gl_map_iterator_next
    - free
    - XNMALLOC
    - qsort
    - gl_map_iterator_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_map_t map1, gl_list_t keys, gl_list_t values)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_map.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map1
    - keys
    - values
    argTypes:
    - gl_map_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 15
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_map_t map1, gl_list_t keys, gl_list_t values)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-array_map.c:126,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-array_map.c:126,1
    - Dst: gl_map_nx_create_empty
      Src: /src/gnulib/tests/test-array_map.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:136,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/tests/test-array_map.c:139,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/tests/test-array_map.c:140,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_map.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:151,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_map.c:154,1
    - Dst: gl_sortedlist_indexof
      Src: /src/gnulib/tests/test-array_map.c:155,1
    - Dst: gl_list_add_at
      Src: /src/gnulib/tests/test-array_map.c:156,1
    - Dst: gl_list_set_at
      Src: /src/gnulib/tests/test-array_map.c:159,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_map.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:174,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_map.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:185,1
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/tests/test-array_map.c:188,1
    - Dst: gl_sortedlist_indexof
      Src: /src/gnulib/tests/test-array_map.c:189,1
    - Dst: gl_list_add_at
      Src: /src/gnulib/tests/test-array_map.c:190,1
    - Dst: gl_list_set_at
      Src: /src/gnulib/tests/test-array_map.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_map.c:202,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_map.c:205,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_map.c:206,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-array_map.c:211,1
    - Dst: gl_map_free
      Src: /src/gnulib/tests/test-array_map.c:214,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_map.c:215,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_map.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 220
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array_map.c
    functionUses: 11
    functionsReached:
    - gl_list_get_at
    - gl_map_nx_create_empty
    - gl_sortedlist_add
    - gl_list_remove_at
    - atoi
    - gl_sortedlist_indexof
    - gl_list_set_at
    - gl_list_add_at
    - check_all
    - gl_list_free
    - gl_map_free
    - srand
    - gl_list_create_empty
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: j1
      Src: /src/gnulib/tests/test-j1.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-j1.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-j1.c
    functionUses: 11
    functionsReached:
    - j1
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-hash_map.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-hash_map.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pairptr1
    - pairptr2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: cmp_pairs_in_array
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_pairs_in_array (const void *pairptr1, const void *pairptr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-hash_map.c:82,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/test-hash_map.c:83,1
    - Dst: gl_map_iterator
      Src: /src/gnulib/tests/test-hash_map.c:92,1
    - Dst: gl_map_iterator
      Src: /src/gnulib/tests/test-hash_map.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:96,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-hash_map.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:97,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-hash_map.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:103,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-hash_map.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:104,1
    - Dst: gl_map_iterator_next
      Src: /src/gnulib/tests/test-hash_map.c:104,1
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/tests/test-hash_map.c:105,1
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/tests/test-hash_map.c:106,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-hash_map.c:110,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-hash_map.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash_map.c:118,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash_map.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_map_t
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 120
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 120
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 16
    functionsReached:
    - gl_map_iterator
    - gl_map_iterator_next
    - free
    - XNMALLOC
    - qsort
    - gl_map_iterator_free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_map_t map1, gl_map_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_equals
      Src: /src/gnulib/tests/test-hash_map.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - map1
    - map2
    argTypes:
    - gl_map_t
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 16
    functionsReached:
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_map_t map1, gl_map_t map2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-hash_map.c:135,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-hash_map.c:135,1
    - Dst: gl_map_nx_create_empty
      Src: /src/gnulib/tests/test-hash_map.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:145,1
    - Dst: gl_map_nx_create_empty
      Src: /src/gnulib/tests/test-hash_map.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:150,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_map.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:159,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-hash_map.c:159,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-hash_map.c:159,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_map.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:171,1
    - Dst: gl_map_get
      Src: /src/gnulib/tests/test-hash_map.c:171,1
    - Dst: gl_map_get
      Src: /src/gnulib/tests/test-hash_map.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:178,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-hash_map.c:178,1
    - Dst: gl_map_nx_put
      Src: /src/gnulib/tests/test-hash_map.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash_map.c:184,1
    - Dst: gl_map_remove
      Src: /src/gnulib/tests/test-hash_map.c:184,1
    - Dst: gl_map_remove
      Src: /src/gnulib/tests/test-hash_map.c:184,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-hash_map.c:188,1
    - Dst: gl_map_free
      Src: /src/gnulib/tests/test-hash_map.c:191,1
    - Dst: gl_map_free
      Src: /src/gnulib/tests/test-hash_map.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 196
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hash_map.c
    functionUses: 11
    functionsReached:
    - gl_map_nx_put
    - gl_map_remove
    - gl_map_nx_create_empty
    - gl_map_get
    - atoi
    - check_all
    - gl_map_free
    - srand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-memmem.c:41,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-memmem.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:107,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:127,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:127,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:130,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:150,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:150,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:153,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:166,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:169,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:175,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:176,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:191,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:192,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:197,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:200,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:282,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:283,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memmem.c:286,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memmem.c:287,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:287,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:290,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:300,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:312,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:313,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memmem.c:315,1
    - Dst: memmem
      Src: /src/gnulib/tests/test-memmem.c:317,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:317,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-memmem.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memmem.c:319,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:321,1
    - Dst: free
      Src: /src/gnulib/tests/test-memmem.c:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 93
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 326
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 326
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memmem.c
    functionUses: 11
    functionsReached:
    - memmem
    - strlen
    - alarm
    - signal
    - free
    - memset
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5
      Src: /src/gnulib/tests/test-hmac-md5.c:35,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:37,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-md5.c:38,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-hmac-md5.c:41,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:49,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-md5.c:50,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-md5.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - digest
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: hmac_check
    functionSourceFile: /src/gnulib/tests/test-hmac-md5.c
    functionUses: 2
    functionsReached:
    - printf
    - exit
    - hmac_md5
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void hmac_check (const void *key, size_t key_len,\n            const
      void *data, size_t data_len, const char *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-md5.c:61,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-md5.c:66,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-md5.c:76,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-md5.c:82,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-md5.c:85,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-md5.c:88,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-md5.c:94,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-md5.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hmac-md5.c
    functionUses: 11
    functionsReached:
    - hmac_check
    - memset
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/gnulib/tests/test-hypotf.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypotf.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypotf.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypotf.c
    functionUses: 11
    functionsReached:
    - hypot
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dirent-h.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remainderl
      Src: /src/gnulib/tests/test-remainderl.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainderl.c:50,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainderl.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainderl.c
    functionUses: 11
    functionsReached:
    - ASSERT
    - remainderl
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-inttypes-h.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: have_minus_zero
    functionSourceFile: /src/gnulib/tests/test-sprintf-posix.h
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int have_minus_zero ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:49,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: strmatch
    functionSourceFile: /src/gnulib/tests/test-sprintf-posix.h
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int strmatch (const char *pattern, const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - string
    - start_index
    - end_index
    - uppercase
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: strisnan
    functionSourceFile: /src/gnulib/tests/test-sprintf-posix.h
    functionUses: 7
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int strisnan (const char *string, size_t start_index, size_t end_index,
      int uppercase)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-sprintf-posix.h:89,1
    - Dst: my_sprintf
      Src: /src/gnulib/tests/test-sprintf-posix.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:92,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:108,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:115,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:122,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:142,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:145,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:151,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:152,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:152,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:166,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:167,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:173,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:174,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:180,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:180,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:181,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:182,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:183,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:189,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:189,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:190,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:190,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:191,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:192,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:200,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:203,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:209,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:210,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:211,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:213,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:219,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:219,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:220,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:223,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:229,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:229,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:231,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:233,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:239,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:240,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:241,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:243,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:250,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:251,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:253,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:260,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:260,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:261,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:262,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:264,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:271,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:274,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:280,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:280,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:281,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:282,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:284,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:290,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:290,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:291,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:292,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:294,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:300,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:300,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:301,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:302,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:304,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:311,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:312,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:314,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:321,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:322,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:324,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:332,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:334,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:341,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:344,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:350,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:351,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:354,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:361,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:362,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:364,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:370,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:370,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:371,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:372,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:374,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:383,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:391,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:391,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:392,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:392,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:392,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:393,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:394,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:400,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:400,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:401,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:404,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:411,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:412,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:414,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:420,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:421,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:421,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:428,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:429,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:437,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:438,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:444,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:445,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:451,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:451,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:452,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:452,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:453,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:454,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:460,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:460,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:461,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:461,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:462,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:463,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:463,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:472,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:472,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:473,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:473,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:474,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:475,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:475,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:480,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:483,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:484,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:485,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:486,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:494,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:495,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:495,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:499,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:502,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:503,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:503,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:510,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:511,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:511,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:515,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:518,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:519,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:519,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:526,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:527,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:534,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:534,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:535,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:536,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:538,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:544,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:544,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:545,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:546,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:548,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:555,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:556,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:558,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:564,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:564,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:565,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:566,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:568,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:574,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:575,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:576,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:578,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:584,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:584,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:585,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:586,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:587,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:588,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:596,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:596,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:597,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:600,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:606,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:606,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:607,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:608,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:610,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:616,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:616,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:617,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:618,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:620,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:626,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:626,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:628,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:630,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:636,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:637,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:638,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:640,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:646,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:646,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:647,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:648,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:649,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:650,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:656,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:656,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:657,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:658,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:659,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:660,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:666,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:667,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:668,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:670,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:676,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:676,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:678,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:680,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:686,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:686,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:687,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:688,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:689,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:690,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:696,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:696,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:697,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:698,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:700,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:706,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:707,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:708,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:709,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:710,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:710,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:727,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:727,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:728,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:728,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:729,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:730,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:738,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:739,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:745,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:746,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:746,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:832,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-sprintf-posix.h:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:833,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:840,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:841,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:847,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:848,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:848,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:855,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:856,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:862,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:862,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:863,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:864,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:870,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:871,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:872,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:878,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:878,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:879,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:879,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:880,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:881,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:887,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:887,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:888,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:888,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:889,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:889,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:890,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:897,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:897,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:898,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:904,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:905,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:911,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:912,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:918,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:918,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:919,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:925,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:926,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:926,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:932,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:933,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:939,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:940,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:946,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:953,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:953,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:954,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:962,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:962,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:968,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:968,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:969,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:969,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:969,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:970,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:971,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:977,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:977,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:978,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:984,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:985,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:985,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:991,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:992,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:992,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:998,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:999,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:999,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1005,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1006,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1006,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1092,1
    - Dst: strmatch
      Src: /src/gnulib/tests/test-sprintf-posix.h:1092,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1093,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1093,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1100,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1107,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1108,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1108,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:1114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1116,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1124,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1130,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1132,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1138,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1138,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1139,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1141,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1147,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1148,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1148,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1150,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1150,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1159,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1160,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1162,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1162,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1170,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1171,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1171,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1172,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1173,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1181,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1182,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1189,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1190,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1190,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1197,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1198,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1198,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1205,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1206,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1206,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:1210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1213,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1214,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1222,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1228,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1229,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1235,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1236,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1243,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1249,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1250,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1264,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1270,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1271,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1278,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1284,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1286,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1292,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1293,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:1293,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1293,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1294,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1295,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1301,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1302,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1309,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1315,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1316,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1324,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1325,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1332,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1338,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1339,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1345,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1346,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1346,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:1352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1353,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1354,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1360,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1362,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1368,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1368,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1370,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1376,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1376,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1377,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1377,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1378,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1379,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1385,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1386,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1386,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1387,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1395,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1396,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1404,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1411,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1417,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1418,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1424,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1425,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1431,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1432,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1438,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1439,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1445,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1446,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1452,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1453,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1453,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:1459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1460,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1461,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1461,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1467,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1467,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1469,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1475,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1477,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1483,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1483,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1484,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1485,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1485,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1486,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1492,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1492,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1493,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1494,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1495,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1502,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1503,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1509,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1509,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1511,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1517,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1518,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1524,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1525,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1531,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1532,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1540,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1540,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1542,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1550,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1550,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:1632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1637,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1637,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1639,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1639,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1640,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1640,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1643,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1645,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1652,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1660,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1660,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1662,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1662,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:1668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1669,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1669,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1671,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1677,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1679,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1685,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1685,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1686,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1687,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1687,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1693,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1693,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1694,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1694,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1695,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1695,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1696,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1702,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1702,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1703,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1703,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1704,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1705,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1712,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1712,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1714,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1720,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1722,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1730,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1736,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1736,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1737,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1738,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1744,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1744,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1745,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1746,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1752,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1752,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1754,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1762,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1768,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1768,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1770,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1776,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1778,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1784,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1784,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1794,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1800,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1800,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1801,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:1801,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1801,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1802,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1803,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1809,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1809,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1811,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1817,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1819,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1825,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1825,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1827,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1827,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1833,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1833,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1834,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1835,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1841,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1841,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1843,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1843,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:1925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1930,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1930,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1932,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1932,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1933,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1933,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1934,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1935,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1935,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1938,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1945,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1945,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1947,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1953,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1953,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1955,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1955,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:1961,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1962,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1963,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1964,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1964,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1970,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1970,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1971,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1972,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1978,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1980,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1986,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1986,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1987,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1987,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1988,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1988,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1989,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1995,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1995,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:1996,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1996,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:1997,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:1998,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:1998,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2007,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2007,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2008,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2008,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2009,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2009,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2010,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2010,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2018,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2018,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2019,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2019,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2020,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2021,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2021,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2026,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2029,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2030,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2030,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2037,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2037,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2038,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2038,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2042,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2045,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2046,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2046,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2050,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2053,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2054,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2054,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2061,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2061,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2062,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2062,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2069,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2069,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2070,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2071,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2077,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2077,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2078,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2079,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2079,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2085,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2085,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2087,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2093,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2093,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2094,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2095,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2095,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2111,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2119,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2127,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2143,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2149,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2151,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2157,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2157,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2158,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:2158,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2158,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2159,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2166,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2166,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2168,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2174,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2176,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2182,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2184,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2192,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2193,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2199,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2201,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:2283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2288,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2288,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2290,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2291,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2291,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2292,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2293,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2294,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2294,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2297,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2304,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2305,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2311,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2312,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2312,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:2318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2320,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2326,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2328,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2334,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2336,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2342,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2342,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2343,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2343,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2344,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2345,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2351,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2351,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2352,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2353,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2354,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2361,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2362,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2368,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2369,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2376,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2382,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2383,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2389,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2390,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2396,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2397,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2404,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2410,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2411,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2417,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2417,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2419,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2425,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2426,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2434,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2440,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2440,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2441,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:2441,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2441,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2442,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2443,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2449,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2451,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2457,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2458,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2464,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2465,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2471,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2472,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2480,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2480,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-sprintf-posix.h:2562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2567,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2567,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2569,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2570,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2570,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2571,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2571,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2573,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2573,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2576,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2583,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2584,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2584,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2590,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2591,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2591,1
    - Dst: have_minus_zero
      Src: /src/gnulib/tests/test-sprintf-posix.h:2597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2599,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2605,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2605,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2606,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2607,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2613,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2613,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2615,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2621,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2621,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2622,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2623,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2624,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2630,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2630,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2631,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2631,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2632,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2633,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2633,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2642,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2643,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2643,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2644,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2645,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2645,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2653,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2653,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2654,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2654,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2655,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2656,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2664,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2665,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2665,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2672,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2673,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2673,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2680,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2681,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2681,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2688,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2689,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2689,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-sprintf-posix.h:2693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2696,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2696,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2697,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2704,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2705,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2711,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2712,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2718,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2719,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2725,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2726,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2732,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2733,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2733,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2739,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2740,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2746,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2746,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2747,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2747,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2753,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2753,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2754,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2754,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2760,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2762,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2768,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2769,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2769,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2775,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2775,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2776,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2777,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2783,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2783,1
    - Dst: strisnan
      Src: /src/gnulib/tests/test-sprintf-posix.h:2784,1
    - Dst: strspn
      Src: /src/gnulib/tests/test-sprintf-posix.h:2784,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2784,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2785,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2792,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2794,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2794,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2800,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2801,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2801,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2807,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2807,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2818,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2819,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2829,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2830,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2838,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2838,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2839,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2839,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2847,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2848,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2854,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2854,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2855,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2861,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2862,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2873,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2873,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2874,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2874,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2882,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2883,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2883,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2884,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2884,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2891,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2894,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2894,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2895,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2904,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2904,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2905,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2914,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2914,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2915,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2924,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2925,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2936,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2937,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2948,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2948,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2949,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2956,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2960,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2961,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2961,1
    - Dst: my_sprintf
      Src: /src/gnulib/tests/test-sprintf-posix.h:2972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2973,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2974,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2974,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2975,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2983,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2983,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2984,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2990,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2990,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2991,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2997,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:2997,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:2998,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:2998,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3004,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3004,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3005,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3013,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3014,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3020,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3021,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3021,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3027,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3027,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3028,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3028,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3034,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3034,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3035,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3035,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-sprintf-posix.h:3049,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-sprintf-posix.h:3050,1
    - Dst: my_sprintf
      Src: /src/gnulib/tests/test-sprintf-posix.h:3051,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3052,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3052,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3053,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3054,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3054,1
    - Dst: free
      Src: /src/gnulib/tests/test-sprintf-posix.h:3055,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-sprintf-posix.h:3067,1
    - Dst: my_sprintf
      Src: /src/gnulib/tests/test-sprintf-posix.h:3070,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3071,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3071,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3072,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3073,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3073,1
    - Dst: free
      Src: /src/gnulib/tests/test-sprintf-posix.h:3074,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3083,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3083,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3084,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3084,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3090,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3090,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3091,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3091,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3097,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3097,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3098,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3127,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3128,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3134,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3135,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3141,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3142,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3148,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3149,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3155,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3156,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3172,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3198,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3199,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3205,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3206,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3213,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3219,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3220,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3227,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3234,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3240,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3241,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3247,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3248,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3257,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3263,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3264,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3272,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3273,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3279,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3280,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3287,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3293,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3294,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3300,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3301,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3307,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3308,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3314,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3315,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3321,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3322,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3331,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3340,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3341,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3347,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3348,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3355,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3365,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3375,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3381,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3382,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3388,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3389,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3395,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3396,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3402,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3403,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3409,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3410,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3416,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3417,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3423,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3424,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3432,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3433,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3440,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3448,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3449,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3455,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3455,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3456,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3462,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3462,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3463,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3463,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3469,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3470,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3476,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3477,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3483,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3484,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3490,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3491,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3497,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3498,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3506,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3506,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3507,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3507,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3516,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3517,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3526,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3526,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3527,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3533,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3533,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3534,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3540,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3541,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3547,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3548,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3548,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3554,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3555,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3561,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3562,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3568,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3569,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3569,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3575,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3576,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3582,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3583,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3589,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3590,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3596,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3596,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3597,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3603,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3604,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3604,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3610,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3611,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3611,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3620,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3621,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3627,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3628,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3634,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3635,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3641,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3648,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3649,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3649,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3655,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3656,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3662,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3663,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3663,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3669,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3670,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3670,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3676,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3676,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3677,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3683,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3684,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3690,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3691,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3697,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3698,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3704,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3704,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3705,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3714,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3715,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3715,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3721,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3722,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3728,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3729,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3729,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3735,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3736,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3736,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3742,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3743,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3749,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3750,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3756,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3756,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3757,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3757,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3763,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3764,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3770,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3771,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3777,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3778,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3784,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3784,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3785,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3791,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3791,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3792,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3798,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3799,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3808,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3809,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3815,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3816,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3816,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3822,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3822,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3823,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3829,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3830,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3836,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3837,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3837,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3843,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3843,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3844,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3850,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3851,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3857,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3857,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3858,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3864,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3864,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3865,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3865,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3871,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3871,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3872,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3878,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3879,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3879,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3885,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3886,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3892,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3893,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3902,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3902,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3903,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3909,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3910,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3910,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3916,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3917,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3923,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3924,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3930,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3930,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3931,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3937,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3937,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3938,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3938,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3944,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3944,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3945,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3951,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3952,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3952,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3958,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3959,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3965,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3966,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3966,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3972,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3972,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3973,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3979,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3980,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3980,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3986,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-posix.h:3986,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-posix.h:3987,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-posix.h:3987,1
    CyclomaticComplexity: 365
    EdgeCount: 365
    ICount: 1308
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 3989
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-sprintf-posix.h
    functionUses: 154
    functionsReached:
    - strisnan
    - my_sprintf
    - strlen
    - free
    - strspn
    - LDBL80_WORDS
    - memcmp
    - have_minus_zero
    - strcmp
    - memcpy
    - strmatch
    - malloc
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_sprintf) (char *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-gnu.c:38,1
    - Dst: free
      Src: /src/gnulib/tests/test-malloc-gnu.c:39,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-malloc-gnu.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-gnu.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-malloc-gnu.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-malloc-gnu.c
    functionUses: 11
    functionsReached:
    - free
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: a_init
    functionSourceFile: /src/gnulib/tests/test-once.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void a_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_once
      Src: /src/gnulib/tests/test-once.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-once.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-once.c
    functionUses: 11
    functionsReached:
    - ASSERT
    - gl_once
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg-simple.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: use_quote_double_quotes
    functionSourceFile: /src/gnulib/tests/test-quotearg-simple.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      use_quote_double_quotes (const char *str, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:287,1
    - Dst: isprint
      Src: /src/gnulib/tests/test-quotearg-simple.c:287,1
    - Dst: set_quoting_style
      Src: /src/gnulib/tests/test-quotearg-simple.c:290,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-quotearg-simple.c:292,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-quotearg-simple.c:292,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-quotearg-simple.c:293,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-quotearg-simple.c:293,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:295,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:297,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:300,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:302,1
    - Dst: set_quoting_style
      Src: /src/gnulib/tests/test-quotearg-simple.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:308,1
    - Dst: set_quoting_flags
      Src: /src/gnulib/tests/test-quotearg-simple.c:308,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:309,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:310,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:311,1
    - Dst: set_quoting_style
      Src: /src/gnulib/tests/test-quotearg-simple.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:314,1
    - Dst: set_quoting_flags
      Src: /src/gnulib/tests/test-quotearg-simple.c:314,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:316,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:317,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:318,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:322,1
    - Dst: set_quoting_flags
      Src: /src/gnulib/tests/test-quotearg-simple.c:322,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:324,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:325,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:326,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:330,1
    - Dst: set_quoting_flags
      Src: /src/gnulib/tests/test-quotearg-simple.c:330,1
    - Dst: set_custom_quoting
      Src: /src/gnulib/tests/test-quotearg-simple.c:334,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:336,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:338,1
    - Dst: compare_strings
      Src: /src/gnulib/tests/test-quotearg-simple.c:339,1
    - Dst: memset
      Src: /src/gnulib/tests/test-quotearg-simple.c:354,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-quotearg-simple.c:363,1
    - Dst: set_custom_quoting
      Src: /src/gnulib/tests/test-quotearg-simple.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg-simple.c:371,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-quotearg-simple.c:371,1
    - Dst: free
      Src: /src/gnulib/tests/test-quotearg-simple.c:372,1
    - Dst: quotearg_free
      Src: /src/gnulib/tests/test-quotearg-simple.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 379
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 379
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-quotearg-simple.c
    functionUses: 11
    functionsReached:
    - set_quoting_style
    - isprint
    - free
    - memcmp
    - set_custom_quoting
    - locale_charset
    - memset
    - strcmp
    - set_quoting_flags
    - memcpy
    - quotearg_free
    - compare_strings
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fnmatch-h.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vzprintf-posix.c:39,1
    - Dst: vzprintf
      Src: /src/gnulib/tests/test-vzprintf-posix.c:40,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vzprintf-posix.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: my_zprintf
    functionSourceFile: /src/gnulib/tests/test-vzprintf-posix.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vzprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_zprintf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vzprintf-posix.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vzprintf-posix.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fma-ieee.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fma-ieee.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/test-striconveha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:77,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:109,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:118,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:134,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:134,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:140,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:141,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:167,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:168,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:168,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:176,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:177,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:179,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:200,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:201,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:201,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:213,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:214,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:216,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:239,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:247,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:248,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:248,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:255,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:256,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:265,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:266,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:266,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:273,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:274,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:276,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:303,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:304,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:306,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/test-striconveha.c:313,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:332,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:333,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:333,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:338,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:339,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:341,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:360,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:361,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:361,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:366,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:367,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:369,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:388,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:389,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:389,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:400,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:401,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:403,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:427,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:428,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveha.c:428,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveha.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:433,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:434,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:436,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:451,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:451,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:452,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:456,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:470,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:470,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:477,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:478,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:478,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:479,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:493,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:494,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:505,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:505,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:506,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:524,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:524,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:525,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:531,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:532,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:532,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:533,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:540,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:546,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:546,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:547,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/test-striconveha.c:553,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:563,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:563,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:564,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:573,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:573,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:574,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:583,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:583,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:584,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveha.c:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveha.c:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveha.c:598,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveha.c:599,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 270
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 606
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-striconveha.c
    functionUses: 11
    functionsReached:
    - strlen
    - iconv_supports_encoding
    - free
    - memcmp
    - strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:53,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr1.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:73,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr1.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr1.c:76,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:96,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr1.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr1.c:99,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr1.c:112,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsstr1.c:116,1
    - Dst: mbsstr
      Src: /src/gnulib/tests/test-mbsstr1.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr1.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr1.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbsstr1.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsstr1.c
    functionUses: 11
    functionsReached:
    - mbsstr
    - free
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:44,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:48,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:54,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:54,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:61,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:61,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:67,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:69,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:69,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:75,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:75,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:80,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:82,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:82,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:90,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:90,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:97,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:97,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:100,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:104,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:106,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:110,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:112,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:116,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:118,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:122,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:124,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:128,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:130,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:134,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:136,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:140,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:142,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:146,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:148,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:152,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:154,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:158,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtowc-w32utf8.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtowc-w32utf8.c
    functionUses: 11
    functionsReached:
    - wctob
    - mbrtowc
    - setlocale
    - fputs
    - mbsinit
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md4-buffer.c:38,1
    - Dst: md4_buffer
      Src: /src/gnulib/tests/test-md4-buffer.c:38,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md4-buffer.c:38,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:48,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-md4-buffer.c:52,1
    - Dst: md4_buffer
      Src: /src/gnulib/tests/test-md4-buffer.c:52,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-md4-buffer.c:52,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-md4-buffer.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-md4-buffer.c
    functionUses: 11
    functionsReached:
    - strlen
    - printf
    - md4_buffer
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pselect
      Src: /src/gnulib/tests/test-pselect.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - exceptfds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: my_select
    functionSourceFile: /src/gnulib/tests/test-pselect.c
    functionUses: 3
    functionsReached:
    - pselect
    linkageType: ''
    returnType: int
    signature: "int my_select (int nfds, fd_set *readfds, fd_set *writefds, fd_set
      *exceptfds,\n           struct timeval *timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pselect.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-chmod.c:40,1
    - Dst: creat
      Src: /src/gnulib/tests/test-chmod.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:41,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:42,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chmod.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:46,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:50,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:51,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:51,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-chmod.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:59,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-chmod.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:60,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:61,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chmod.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:63,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:66,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-chmod.c:66,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:71,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:72,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-chmod.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:76,1
    - Dst: close
      Src: /src/gnulib/tests/test-chmod.c:76,1
    - Dst: creat
      Src: /src/gnulib/tests/test-chmod.c:76,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-chmod.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:78,1
    - Dst: stat
      Src: /src/gnulib/tests/test-chmod.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-chmod.c:79,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:82,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-chmod.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-chmod.c
    functionUses: 11
    functionsReached:
    - symlink
    - rmdir
    - close
    - unlink
    - stat
    - mkdir
    - creat
    - chmod
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:34,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:35,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:36,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:37,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:38,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:39,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:42,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:43,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:44,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:45,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:46,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:47,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:50,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:51,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:52,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:53,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:53,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-memcasecmp.c:66,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-memcasecmp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcasecmp.c:68,1
    - Dst: memcasecmp
      Src: /src/gnulib/tests/test-memcasecmp.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memcasecmp.c
    functionUses: 11
    functionsReached:
    - memcasecmp
    - ASSERT
    - strcpy
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-recvfrom.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recvfrom.c:46,1
    - Dst: recvfrom
      Src: /src/gnulib/tests/test-recvfrom.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recvfrom.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-recvfrom.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recvfrom.c:57,1
    - Dst: recvfrom
      Src: /src/gnulib/tests/test-recvfrom.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recvfrom.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-recvfrom.c
    functionUses: 11
    functionsReached:
    - gl_sockets_startup
    - recvfrom
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vdzprintf-gnu.c:39,1
    - Dst: vdzprintf
      Src: /src/gnulib/tests/test-vdzprintf-gnu.c:40,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-vdzprintf-gnu.c:40,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vdzprintf-gnu.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: my_fzprintf
    functionSourceFile: /src/gnulib/tests/test-vdzprintf-gnu.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vdzprintf
    - fileno
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_fzprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vdzprintf-gnu.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vdzprintf-gnu.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: fd_safer
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-chdir.c
    functionUses: 3
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:70,1
    - Dst: fd_safer
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:70,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:72,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:73,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:75,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:76,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:77,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:78,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:80,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:83,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:85,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:88,1
    - Dst: posix_spawn_file_actions_adddup2
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:90,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:91,1
    - Dst: posix_spawn_file_actions_addclose
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:92,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:93,1
    - Dst: posix_spawn_file_actions_addchdir
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:94,1
    - Dst: posix_spawnattr_init
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:95,1
    - Dst: posix_spawnattr_setsigmask
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:100,1
    - Dst: posix_spawnattr_setflags
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:101,1
    - Dst: posix_spawnp
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:104,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:107,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:109,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:110,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:112,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:113,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:115,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:116,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:117,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:118,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:120,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:123,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:124,1
    - Dst: fread
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:126,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:129,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:130,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:132,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:139,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:150,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:151,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:153,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:155,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:157,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:159,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:160,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:165,1
    - Dst: exit
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:166,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 59
    argCount: 1
    argNames:
    - pwd_prog
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 168
    functionName: test
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-chdir.c
    functionUses: 70
    functionsReached:
    - WIFEXITED
    - waitpid
    - sigprocmask
    - sigaddset
    - perror
    - fclose
    - fd_safer
    - close
    - memcmp
    - posix_spawn_file_actions_init
    - pipe
    - posix_spawnattr_setsigmask
    - posix_spawn_file_actions_addopen
    - WEXITSTATUS
    - exit
    - posix_spawnattr_destroy
    - fread
    - posix_spawnp
    - posix_spawn_file_actions_destroy
    - sigemptyset
    - posix_spawn_file_actions_adddup2
    - posix_spawn_file_actions_addclose
    - posix_spawnattr_init
    - posix_spawn_file_actions_addchdir
    - fdopen
    - fprintf
    - posix_spawnattr_setflags
    linkageType: ''
    returnType: void
    signature: void test (const char *pwd_prog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:173,1
    - Dst: test
      Src: /src/gnulib/tests/test-posix_spawn-chdir.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-chdir.c
    functionUses: 11
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iconv-h.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tmpfile
      Src: /src/gnulib/tests/test-argv-iter.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:39,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-argv-iter.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:42,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-argv-iter.c:42,1
    - Dst: rewind
      Src: /src/gnulib/tests/test-argv-iter.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: write_nul_delimited_argv
    functionSourceFile: /src/gnulib/tests/test-argv-iter.c
    functionUses: 0
    functionsReached:
    - fwrite
    - rewind
    - tmpfile
    - fflush
    - ASSERT
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      write_nul_delimited_argv (char **argv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_CARDINALITY
      Src: /src/gnulib/tests/test-argv-iter.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:72,1
    - Dst: write_nul_delimited_argv
      Src: /src/gnulib/tests/test-argv-iter.c:72,1
    - Dst: argv_iter_init_stream
      Src: /src/gnulib/tests/test-argv-iter.c:73,1
    - Dst: argv_iter_init_argv
      Src: /src/gnulib/tests/test-argv-iter.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:93,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-argv-iter.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:98,1
    - Dst: argv_iter_n_args
      Src: /src/gnulib/tests/test-argv-iter.c:98,1
    - Dst: argv_iter_free
      Src: /src/gnulib/tests/test-argv-iter.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-argv-iter.c:101,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-argv-iter.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-argv-iter.c
    functionUses: 11
    functionsReached:
    - fclose
    - write_nul_delimited_argv
    - STREQ
    - ARRAY_CARDINALITY
    - argv_iter_init_argv
    - argv_iter_n_args
    - argv_iter_init_stream
    - ASSERT
    - argv_iter_free
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsnprintf-gnu.c:37,1
    - Dst: vsnprintf
      Src: /src/gnulib/tests/test-vsnprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsnprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_snprintf
    functionSourceFile: /src/gnulib/tests/test-vsnprintf-gnu.c
    functionUses: 2
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_snprintf (char *str, size_t size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsnprintf-gnu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsnprintf-gnu.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-gethostname.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gethostname.c:45,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-gethostname.c:49,1
    - Dst: gethostname
      Src: /src/gnulib/tests/test-gethostname.c:51,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gethostname.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-gethostname.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gethostname.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gethostname.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED*[]
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gethostname.c
    functionUses: 11
    functionsReached:
    - strlen
    - strcpy
    - gethostname
    - strcmp
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - int
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sigint_handler
    functionSourceFile: /src/gnulib/tests/test-sigprocmask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint_handler (_GL_UNUSED int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-sigprocmask.c:51,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-sigprocmask.c:51,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-sigprocmask.c:53,1
    - Dst: getpid
      Src: /src/gnulib/tests/test-sigprocmask.c:59,1
    - Dst: signal
      Src: /src/gnulib/tests/test-sigprocmask.c:62,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-sigprocmask.c:64,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-sigprocmask.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:68,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigprocmask.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:72,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigprocmask.c:72,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-sigprocmask.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:76,1
    - Dst: system
      Src: /src/gnulib/tests/test-sigprocmask.c:76,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-sigprocmask.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:85,1
    - Dst: sigprocmask
      Src: /src/gnulib/tests/test-sigprocmask.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sigprocmask.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigprocmask.c
    functionUses: 11
    functionsReached:
    - num_cpus
    - fputs
    - signal
    - is_running_under_virtualbox_kvm
    - getpid
    - system
    - sleep
    - sigemptyset
    - sigaddset
    - sigprocmask
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-sigprocmask.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sigprocmask.c
    functionUses: 11
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:39,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:45,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:51,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:62,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strerror.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:63,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-strerror.c:63,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-strerror.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strerror.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strerror.c
    functionUses: 11
    functionsReached:
    - strerror
    - ASSERT
    - strstr
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank.c:46,1
    - Dst: isblank
      Src: /src/gnulib/tests/test-isblank.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isblank.c:47,1
    - Dst: isblank
      Src: /src/gnulib/tests/test-isblank.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isblank.c
    functionUses: 11
    functionsReached:
    - isblank
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-poll-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fopen-safer.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:56,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:57,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:58,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:59,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:60,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-nl_langinfo2.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:70,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-nl_langinfo2.c:73,1
    - Dst: uselocale
      Src: /src/gnulib/tests/test-nl_langinfo2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:84,1
    - Dst: strstr
      Src: /src/gnulib/tests/test-nl_langinfo2.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:86,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:86,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:104,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:106,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:107,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:116,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-nl_langinfo2.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nl_langinfo2.c:127,1
    - Dst: c_strcasestr
      Src: /src/gnulib/tests/test-nl_langinfo2.c:127,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-nl_langinfo2.c:139,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-nl_langinfo2.c:145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 148
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo2.c
    functionUses: 11
    functionsReached:
    - newlocale
    - strlen
    - fputs
    - strstr
    - c_strcasestr
    - c_strcasecmp
    - strcmp
    - uselocale
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_spinlock_lock
      Src: /src/gnulib/tests/test-spin1.c:31,1
    - Dst: gl_spinlock_unlock
      Src: /src/gnulib/tests/test-spin1.c:32,1
    - Dst: gl_spinlock_define
      Src: /src/gnulib/tests/test-spin1.c:37,1
    - Dst: gl_spinlock_init
      Src: /src/gnulib/tests/test-spin1.c:40,1
    - Dst: gl_spinlock_lock
      Src: /src/gnulib/tests/test-spin1.c:44,1
    - Dst: gl_spinlock_unlock
      Src: /src/gnulib/tests/test-spin1.c:45,1
    - Dst: gl_spinlock_destroy
      Src: /src/gnulib/tests/test-spin1.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spin1.c
    functionUses: 11
    functionsReached:
    - gl_spinlock_init
    - gl_spinlock_unlock
    - gl_spinlock_destroy
    - gl_spinlock_define
    - gl_spinlock_lock
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:39,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:47,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:47,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:48,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:49,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:51,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:51,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:52,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:60,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:60,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:61,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:62,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:64,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:65,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:74,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:79,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:89,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:89,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:90,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:91,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:92,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:99,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:99,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:100,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:101,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:102,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:109,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:109,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:110,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:112,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:119,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:119,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:120,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:121,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:122,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:123,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:124,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:126,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:133,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:133,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:134,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:135,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:136,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:137,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:138,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:139,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:140,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:151,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:151,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:152,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:161,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:161,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:162,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:163,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:164,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:165,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:166,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:167,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:169,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:180,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:180,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:181,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:190,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:190,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:191,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:192,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:193,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:194,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:195,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:198,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:205,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:205,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:206,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:207,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:208,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:215,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:215,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:216,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:217,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:218,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:227,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:227,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:228,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:229,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:230,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:237,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:237,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:238,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:239,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:240,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:241,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:242,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:243,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:244,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:251,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:251,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:252,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:253,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:254,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:255,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:256,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:257,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:258,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:265,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:265,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:266,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:267,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:268,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:277,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:277,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:278,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:279,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:280,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:287,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:287,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:288,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:289,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:290,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:299,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:302,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:302,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:304,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:313,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:316,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:316,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:318,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:327,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:327,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:328,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:329,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:330,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:331,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:332,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:333,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:334,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:335,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:336,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:337,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:344,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:344,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:345,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:346,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:347,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:352,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-posix2.c:353,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 129
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 359
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 359
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-posix2.c
    functionUses: 11
    functionsReached:
    - wmemcmp
    - wcscmp
    - setlocale
    - free
    - nl_langinfo
    - wcslen
    - mbstowcs
    - asnwprintf
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32snrtombs.c:37,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32snrtombs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:63,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:70,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32snrtombs.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:81,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32snrtombs.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:92,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:99,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:113,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32snrtombs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:118,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32snrtombs.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:129,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:136,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32snrtombs.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:155,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32snrtombs.c:166,1
    - Dst: mbstoc32s
      Src: /src/gnulib/tests/test-c32snrtombs.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:173,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:180,1
    - Dst: c32snrtombs
      Src: /src/gnulib/tests/test-c32snrtombs.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:194,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32snrtombs.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32snrtombs.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 212
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 212
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32snrtombs.c
    functionUses: 11
    functionsReached:
    - mbstoc32s
    - setlocale
    - fputs
    - memcmp
    - c32snrtombs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:52,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:72,1
    - Dst: c_strstr
      Src: /src/gnulib/tests/test-c-strstr.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:75,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:95,1
    - Dst: c_strstr
      Src: /src/gnulib/tests/test-c-strstr.c:95,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:98,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:111,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:115,1
    - Dst: c_strstr
      Src: /src/gnulib/tests/test-c-strstr.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:120,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:122,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:202,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-c-strstr.c:203,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-c-strstr.c:206,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-c-strstr.c:207,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-c-strstr.c:207,1
    - Dst: c_strstr
      Src: /src/gnulib/tests/test-c-strstr.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:210,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:220,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:232,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:233,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c-strstr.c:235,1
    - Dst: c_strstr
      Src: /src/gnulib/tests/test-c-strstr.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strstr.c:239,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:241,1
    - Dst: free
      Src: /src/gnulib/tests/test-c-strstr.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strstr.c
    functionUses: 11
    functionsReached:
    - strlen
    - free
    - memset
    - memcpy
    - c_strstr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MPZ_ROINIT_N
      Src: /src/gnulib/tests/test-libgmp-mpq.c:33,1
    - Dst: MPZ_ROINIT_N
      Src: /src/gnulib/tests/test-libgmp-mpq.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:35,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpq.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:36,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpq.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:37,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpq.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:38,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpq.c:38,1
    - Dst: mpq_init
      Src: /src/gnulib/tests/test-libgmp-mpq.c:41,1
    - Dst: mpz_set
      Src: /src/gnulib/tests/test-libgmp-mpq.c:42,1
    - Dst: mpq_numref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:42,1
    - Dst: mpz_set
      Src: /src/gnulib/tests/test-libgmp-mpq.c:43,1
    - Dst: mpq_denref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:43,1
    - Dst: mpq_add
      Src: /src/gnulib/tests/test-libgmp-mpq.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:45,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpq.c:45,1
    - Dst: mpq_numref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:46,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpq.c:46,1
    - Dst: mpq_numref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:47,1
    - Dst: mpz_fits_slong_p
      Src: /src/gnulib/tests/test-libgmp-mpq.c:47,1
    - Dst: mpq_denref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-libgmp-mpq.c:48,1
    - Dst: mpz_get_si
      Src: /src/gnulib/tests/test-libgmp-mpq.c:48,1
    - Dst: mpq_denref
      Src: /src/gnulib/tests/test-libgmp-mpq.c:48,1
    - Dst: mpq_clear
      Src: /src/gnulib/tests/test-libgmp-mpq.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-libgmp-mpq.c
    functionUses: 11
    functionsReached:
    - mpz_set
    - mpz_get_si
    - mpq_init
    - MPZ_ROINIT_N
    - mpq_clear
    - mpz_fits_slong_p
    - mpq_denref
    - mpq_add
    - mpq_numref
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdio-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-locale-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-string-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sinhf
      Src: /src/gnulib/tests/test-sinhf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sinhf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sinhf.c
    functionUses: 11
    functionsReached:
    - ASSERT
    - sinhf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:34,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strchrnul.c:38,1
    - Dst: memset
      Src: /src/gnulib/tests/test-strchrnul.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:45,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:46,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:47,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:48,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:50,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:51,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:53,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:54,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:62,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:75,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strchrnul.c:77,1
    - Dst: strchrnul
      Src: /src/gnulib/tests/test-strchrnul.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/test-strchrnul.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strchrnul.c
    functionUses: 11
    functionsReached:
    - free
    - strchrnul
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logbf.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logbf.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-gnu.c:39,1
    - Dst: free
      Src: /src/gnulib/tests/test-calloc-gnu.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-gnu.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-gnu.c:50,1
    - Dst: calloc
      Src: /src/gnulib/tests/test-calloc-gnu.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-gnu.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-calloc-gnu.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-calloc-gnu.c
    functionUses: 11
    functionsReached:
    - free
    - ASSERT
    - calloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstdopen
      Src: /src/gnulib/tests/test-xstdopen.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-xstdopen.c:29,1
    - Dst: open
      Src: /src/gnulib/tests/test-xstdopen.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xstdopen.c
    functionUses: 11
    functionsReached:
    - xstdopen
    - open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:53,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr1.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:74,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr1.c:74,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr1.c:77,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:97,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr1.c:97,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr1.c:100,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr1.c:113,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbscasestr1.c:117,1
    - Dst: mbscasestr
      Src: /src/gnulib/tests/test-mbscasestr1.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbscasestr1.c:122,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr1.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/test-mbscasestr1.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbscasestr1.c
    functionUses: 11
    functionsReached:
    - free
    - mbscasestr
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename-w32utf8.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localename-w32utf8.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-localename-w32utf8.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localename-w32utf8.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-localename-w32utf8.c:40,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-localename-w32utf8.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localename-w32utf8.c
    functionUses: 11
    functionsReached:
    - fputs
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i_ring_init
      Src: /src/gnulib/tests/test-i-ring.c:30,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:32,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:34,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:36,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:38,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:40,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:42,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:44,1
    - Dst: i_ring_pop
      Src: /src/gnulib/tests/test-i-ring.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:47,1
    - Dst: i_ring_pop
      Src: /src/gnulib/tests/test-i-ring.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:49,1
    - Dst: i_ring_pop
      Src: /src/gnulib/tests/test-i-ring.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:51,1
    - Dst: i_ring_pop
      Src: /src/gnulib/tests/test-i-ring.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:54,1
    - Dst: i_ring_empty
      Src: /src/gnulib/tests/test-i-ring.c:54,1
    - Dst: i_ring_push
      Src: /src/gnulib/tests/test-i-ring.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:57,1
    - Dst: i_ring_pop
      Src: /src/gnulib/tests/test-i-ring.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-i-ring.c:60,1
    - Dst: i_ring_empty
      Src: /src/gnulib/tests/test-i-ring.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-i-ring.c
    functionUses: 11
    functionsReached:
    - i_ring_pop
    - i_ring_init
    - i_ring_empty
    - ASSERT
    - i_ring_push
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_init
      Src: /src/gnulib/tests/atomic-int-isoc.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - sem_init
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/atomic-int-isoc.h:99,1
    - Dst: getpid
      Src: /src/gnulib/tests/atomic-int-isoc.h:100,1
    - Dst: sem_open
      Src: /src/gnulib/tests/atomic-int-isoc.h:101,1
    - Dst: perror
      Src: /src/gnulib/tests/atomic-int-isoc.h:109,1
    - Dst: fflush
      Src: /src/gnulib/tests/atomic-int-isoc.h:110,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-isoc.h:111,1
    - Dst: sem_unlink
      Src: /src/gnulib/tests/atomic-int-isoc.h:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 123
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 123
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - abort
    - sem_unlink
    - sem_open
    - getpid
    - fflush
    - sprintf
    - perror
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_trywait
      Src: /src/gnulib/tests/atomic-int-isoc.h:128,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-isoc.h:128,1
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-isoc.h:130,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-isoc.h:130,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-isoc.h:131,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-isoc.h:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - abort
    - sem_trywait
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/gnulib/tests/atomic-int-isoc.h:146,1
    - Dst: atomic_int_semaphore
      Src: /src/gnulib/tests/atomic-int-isoc.h:146,1
    - Dst: abort
      Src: /src/gnulib/tests/atomic-int-isoc.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - abort
    - atomic_int_semaphore
    - sem_post
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-isoc.h:157,1
    - Dst: mtx_init
      Src: /src/gnulib/tests/atomic-int-isoc.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: init_atomic_int
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - mtx_init
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void init_atomic_int (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-isoc.h:162,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/atomic-int-isoc.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-isoc.h:164,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/atomic-int-isoc.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct atomic_int*
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: get_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - mtx_lock
    - ASSERT
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: int get_atomic_int_value (struct atomic_int *ai)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-isoc.h:170,1
    - Dst: mtx_lock
      Src: /src/gnulib/tests/atomic-int-isoc.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/atomic-int-isoc.h:172,1
    - Dst: mtx_unlock
      Src: /src/gnulib/tests/atomic-int-isoc.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ai
    - new_value
    argTypes:
    - struct atomic_int*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: set_atomic_int_value
    functionSourceFile: /src/gnulib/tests/atomic-int-isoc.h
    functionUses: 11
    functionsReached:
    - mtx_lock
    - ASSERT
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void set_atomic_int_value (struct atomic_int *ai, int new_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrtl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrtl-ieee.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32tolower.c:49,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32tolower.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:52,1
    - Dst: c32tolower
      Src: /src/gnulib/tests/test-c32tolower.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:55,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32tolower.c:57,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32tolower.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32tolower.c
    functionUses: 12
    functionsReached:
    - mbrtoc32
    - c32rtomb
    - c32tolower
    - memset
    - ASSERT
    linkageType: ''
    returnType: struct multibyte
    signature: struct multibyte for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32tolower.c:79,1
    - Dst: c32tolower
      Src: /src/gnulib/tests/test-c32tolower.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:84,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:145,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:165,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:169,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:169,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:173,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:173,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:177,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:177,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:181,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:181,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:185,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:185,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:196,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:196,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:201,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:201,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:205,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:205,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:209,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:209,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:214,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:214,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:219,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:219,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:224,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:224,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:229,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:229,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:233,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:233,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:238,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:238,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:243,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:243,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:253,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:253,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:257,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:257,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:261,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:261,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:265,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:265,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:269,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:269,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:273,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:273,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:277,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:277,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:281,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:281,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:285,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:285,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:289,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:289,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:293,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:293,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:297,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:297,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:301,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:301,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:305,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:305,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:309,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:309,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:313,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:313,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:318,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:318,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:323,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:323,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:327,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:327,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:331,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:331,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32tolower.c:340,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:347,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:347,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:351,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:351,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:356,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:356,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:361,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:361,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:365,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:365,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:369,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:369,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:374,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:374,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:379,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:379,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:384,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:384,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:389,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:389,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:392,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:393,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:393,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:397,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:397,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:401,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:401,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:406,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:406,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:411,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:411,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:415,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:415,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:420,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:420,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:425,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:425,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:429,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:429,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32tolower.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32tolower.c:433,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32tolower.c:433,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 336
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 440
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 440
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32tolower.c
    functionUses: 11
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32tolower
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:39,1
    - Dst: pthread_kill
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: killer_thread_func
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask2.c
    functionUses: 0
    functionsReached:
    - sleep
    - pthread_kill
    linkageType: ''
    returnType: void
    signature: 'void *

      killer_thread_func (_GL_UNUSED void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - int
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: sigint_handler
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint_handler (_GL_UNUSED int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_running_under_virtualbox_kvm
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:58,1
    - Dst: num_cpus
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:58,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:60,1
    - Dst: signal
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:67,1
    - Dst: sigemptyset
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:69,1
    - Dst: sigaddset
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:75,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:79,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:79,1
    - Dst: pthread_self
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:83,1
    - Dst: pthread_create
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:83,1
    - Dst: sleep
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:92,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:102,1
    - Dst: pthread_join
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask2.c
    functionUses: 11
    functionsReached:
    - pthread_sigmask
    - num_cpus
    - fputs
    - signal
    - pthread_join
    - pthread_create
    - is_running_under_virtualbox_kvm
    - sleep
    - sigemptyset
    - sigaddset
    - pthread_self
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-pthread_sigmask2.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pthread_sigmask2.c
    functionUses: 11
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-sha512.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:34,1
    - Dst: gc_sha512
      Src: /src/gnulib/tests/test-gc-sha512.c:49,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:51,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha512.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:64,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-sha512.c:68,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha512.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:84,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-sha512.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:90,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-sha512.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:96,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-sha512.c:100,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-sha512.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-sha512.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:118,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-sha512.c:119,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-sha512.c:123,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-sha512.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-sha512.c
    functionUses: 11
    functionsReached:
    - gc_hash_open
    - gc_sha512
    - gc_init
    - gc_hash_digest_length
    - memcmp
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-listen.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-listen.c:43,1
    - Dst: listen
      Src: /src/gnulib/tests/test-listen.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-listen.c:44,1
    - Dst: close
      Src: /src/gnulib/tests/test-listen.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-listen.c:49,1
    - Dst: listen
      Src: /src/gnulib/tests/test-listen.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-listen.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-listen.c
    functionUses: 11
    functionsReached:
    - gl_sockets_startup
    - listen
    - close
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_Set<const char *>
      Src: /src/gnulib/tests/test-set-c++.cc:36,1
    - Dst: gl_Set::add
      Src: /src/gnulib/tests/test-set-c++.cc:37,1
    - Dst: gl_Set::add
      Src: /src/gnulib/tests/test-set-c++.cc:38,1
    - Dst: gl_Set::add
      Src: /src/gnulib/tests/test-set-c++.cc:39,1
    - Dst: gl_Set::add
      Src: /src/gnulib/tests/test-set-c++.cc:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:41,1
    - Dst: gl_Set::size
      Src: /src/gnulib/tests/test-set-c++.cc:41,1
    - Dst: gl_Set::begin
      Src: /src/gnulib/tests/test-set-c++.cc:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:45,1
    - Dst: gl_Set<const char *>::iterator::next
      Src: /src/gnulib/tests/test-set-c++.cc:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:47,1
    - Dst: gl_Set<const char *>::iterator::next
      Src: /src/gnulib/tests/test-set-c++.cc:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:49,1
    - Dst: gl_Set<const char *>::iterator::next
      Src: /src/gnulib/tests/test-set-c++.cc:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-set-c++.cc:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-set-c++.cc:51,1
    - Dst: gl_Set<const char *>::iterator::next
      Src: /src/gnulib/tests/test-set-c++.cc:51,1
    - Dst: gl_Set::free
      Src: /src/gnulib/tests/test-set-c++.cc:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-set-c++.cc
    functionUses: 11
    functionsReached:
    - gl_Set<const char *>
    - gl_Set::add
    - gl_Set::begin
    - gl_Set::size
    - gl_Set<const char *>::iterator::next
    - strcmp
    - gl_Set::free
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logb.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logb.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:38,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:39,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:41,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:44,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:45,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:47,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:49,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:50,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:52,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:61,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-localeconv.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localeconv.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localeconv.c
    functionUses: 11
    functionsReached:
    - STREQ
    - ASSERT
    - localeconv
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_utsname-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-pipe2.c:52,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe2.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-pipe2.c
    functionUses: 6
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-pipe2.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:68,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-pipe2.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:72,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe2.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: is_cloexec
    functionSourceFile: /src/gnulib/tests/test-pipe2.c
    functionUses: 0
    functionsReached:
    - fcntl
    - _get_osfhandle
    - GetHandleInformation
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool is_cloexec (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:88,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe2.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: get_nonblocking_flag
    functionSourceFile: /src/gnulib/tests/test-pipe2.c
    functionUses: 1
    functionsReached:
    - fcntl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int get_nonblocking_flag (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:114,1
    - Dst: pipe2
      Src: /src/gnulib/tests/test-pipe2.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:118,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-pipe2.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:119,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-pipe2.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:122,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:123,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe2.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:127,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe2.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:128,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe2.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:132,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-pipe2.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:133,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-pipe2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:137,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-pipe2.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:138,1
    - Dst: get_nonblocking_flag
      Src: /src/gnulib/tests/test-pipe2.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:141,1
    - Dst: close
      Src: /src/gnulib/tests/test-pipe2.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe2.c:142,1
    - Dst: close
      Src: /src/gnulib/tests/test-pipe2.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe2.c
    functionUses: 11
    functionsReached:
    - ASSERT
    - get_nonblocking_flag
    - close
    - is_cloexec
    - is_open
    - pipe2
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getumask
      Src: /src/gnulib/tests/test-getumask.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getumask.c:39,1
    - Dst: umask
      Src: /src/gnulib/tests/test-getumask.c:44,1
    - Dst: getumask
      Src: /src/gnulib/tests/test-getumask.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getumask.c:47,1
    - Dst: umask
      Src: /src/gnulib/tests/test-getumask.c:49,1
    - Dst: getumask
      Src: /src/gnulib/tests/test-getumask.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getumask.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getumask.c
    functionUses: 11
    functionsReached:
    - umask
    - getumask
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:31,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:38,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:45,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:52,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:59,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:66,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:89,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:95,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:96,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:105,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:119,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:126,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:132,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:139,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:140,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:146,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:153,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:154,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:162,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:163,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:172,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sprintf-gnu.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sprintf-gnu.h:173,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sprintf-gnu.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 175
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-sprintf-gnu.h
    functionUses: 161
    functionsReached:
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_sprintf) (char *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sha1-buffer.c:33,1
    - Dst: sha1_buffer
      Src: /src/gnulib/tests/test-sha1-buffer.c:33,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sha1-buffer.c:33,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha1-buffer.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha1-buffer.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha1-buffer.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha1-buffer.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-sha1-buffer.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha1-buffer.c
    functionUses: 11
    functionsReached:
    - printf
    - sha1_buffer
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-rename.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-rename.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rename.c
    functionUses: 11
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbmemcasecoll
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s1
    - s1len
    - s2
    - s2len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: mbmemcasecoll_hard
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecoll.c
    functionUses: 0
    functionsReached:
    - mbmemcasecoll
    linkageType: ''
    returnType: int
    signature: int mbmemcasecoll_hard (const char *s1, size_t s1len, const char *s2,
      size_t s2len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:42,1
    - Dst: test_ascii
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:45,1
    - Dst: test_iso_8859_1
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:52,1
    - Dst: test_utf_8
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:57,1
    - Dst: test_utf_8
      Src: /src/gnulib/tests/test-mbmemcasecoll.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbmemcasecoll.c
    functionUses: 11
    functionsReached:
    - test_iso_8859_1
    - test_utf_8
    - test_ascii
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_on_files
      Src: /src/gnulib/tests/test-sha1-stream.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sha1-stream.c
    functionUses: 11
    functionsReached:
    - test_digest_on_files
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:42,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf.c:43,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasnprintf.c:51,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:59,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf.c:59,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf.c:61,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-vasnprintf.c:70,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:81,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:86,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-vasnprintf.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 142
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnprintf.c
    functionUses: 161
    functionsReached:
    - strlen
    - free
    - my_asnprintf
    - memcmp
    - strcmp
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnprintf.c:150,1
    - Dst: vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf.c:151,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnprintf.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf.c:171,1
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf.c
    functionUses: 11
    functionsReached:
    - test_vasnprintf
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fmal2.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fmal2.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/tests/test-sys_utsname-h.c:30,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-sys_utsname-h.c:31,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-sys_utsname-h.c:32,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-sys_utsname-h.c:33,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-sys_utsname-h.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_utsname-h.c
    functionUses: 11
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:49,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:54,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:54,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:59,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:59,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:66,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:66,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:73,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:81,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:108,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:115,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:115,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:131,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:131,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:137,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:149,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:149,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:166,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:166,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:167,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:167,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:176,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:182,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:182,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:188,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:189,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:189,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:197,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:197,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:203,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:213,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:213,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:221,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:227,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:227,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:234,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:234,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:242,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:242,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:248,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:249,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:259,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:259,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:267,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:273,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:273,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:279,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:280,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:280,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:288,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:288,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:296,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:296,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:302,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:303,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:312,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:312,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:321,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:326,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:331,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:332,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:332,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:339,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:339,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:347,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:347,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:353,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:354,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:357,1
    - Dst: c32tob
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:364,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsrtoc32s.c:364,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 237
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 377
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 377
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsrtoc32s.c
    functionUses: 11
    functionsReached:
    - mbrtoc32
    - mbsrtoc32s
    - setlocale
    - fputs
    - c32tob
    - mbsinit
    - strcmp
    - memset
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsprintf-posix.c:44,1
    - Dst: vsprintf
      Src: /src/gnulib/tests/test-vsprintf-posix.c:45,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsprintf-posix.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - format
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: my_sprintf
    functionSourceFile: /src/gnulib/tests/test-vsprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - vsprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_sprintf (char *str, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsprintf-posix.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsprintf-posix.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execvp
      Src: /src/gnulib/tests/test-execvp-main.c:48,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execvp-main.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execvp-main.c
    functionUses: 11
    functionsReached:
    - execvp
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-mkfifo.c:43,1
    - Dst: system
      Src: /src/gnulib/tests/test-mkfifo.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mkfifo.c
    functionUses: 11
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-avltreehash_list.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: string_equals
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: string_hash
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:70,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:73,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:73,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 17
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:80,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:84,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:84,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:85,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:86,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 5
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:95,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:99,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:99,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:100,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:101,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 5
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_avltreehash_list_check_invariants
      Src: /src/gnulib/tests/test-avltreehash_list.c:110,1
    - Dst: gl_avltreehash_list_check_invariants
      Src: /src/gnulib/tests/test-avltreehash_list.c:111,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltreehash_list.c:112,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltreehash_list.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 17
    functionsReached:
    - check_equals
    - gl_avltreehash_list_check_invariants
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-avltreehash_list.c:123,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-avltreehash_list.c:123,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-avltreehash_list.c:133,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-avltreehash_list.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:139,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-avltreehash_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:145,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:145,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-avltreehash_list.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:151,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltreehash_list.c:153,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-avltreehash_list.c:155,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-avltreehash_list.c:156,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:164,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:172,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:173,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:173,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:177,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:178,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:178,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:182,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:183,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:187,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:187,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:187,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:189,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:189,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:189,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:191,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:191,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:191,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:192,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:196,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:196,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:196,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:198,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:198,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:198,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:200,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:200,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:200,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:201,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:209,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:210,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:221,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:222,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:223,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:223,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltreehash_list.c:231,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltreehash_list.c:232,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltreehash_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:243,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:244,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:245,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:247,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:256,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:258,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:261,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:262,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:263,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:264,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:265,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:266,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:266,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:274,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:276,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:279,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:280,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:281,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:282,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:282,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:283,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:283,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:284,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:284,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:294,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltreehash_list.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:296,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltreehash_list.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:298,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:300,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltreehash_list.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:302,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltreehash_list.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:304,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:306,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltreehash_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:308,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltreehash_list.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:311,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:312,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:313,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:315,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:316,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:317,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:318,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:319,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:320,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:321,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:322,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:322,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:331,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:333,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:336,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:337,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:338,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:339,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:340,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:341,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:344,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:344,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:344,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:346,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:346,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:346,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:348,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:348,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:348,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:349,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:353,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:353,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:353,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:355,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:355,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:355,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:357,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltreehash_list.c:357,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:357,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:358,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:363,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:368,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:369,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltreehash_list.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:374,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:375,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:376,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltreehash_list.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:377,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:377,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:385,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:386,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:387,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:387,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:388,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:395,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:396,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-avltreehash_list.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:397,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:404,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:405,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-avltreehash_list.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:406,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:406,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:414,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:415,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:416,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:417,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:417,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:425,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:426,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:427,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltreehash_list.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:428,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltreehash_list.c:428,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltreehash_list.c:436,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltreehash_list.c:437,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltreehash_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:442,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:443,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:444,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:445,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:446,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:448,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:449,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:450,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:450,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:451,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:452,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:453,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltreehash_list.c:462,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltreehash_list.c:463,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltreehash_list.c:464,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:467,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:468,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:469,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:470,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:471,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:472,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltreehash_list.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:474,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:475,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltreehash_list.c:476,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltreehash_list.c:476,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:477,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:478,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:479,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltreehash_list.c:483,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:486,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:487,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltreehash_list.c:488,1
    - Dst: free
      Src: /src/gnulib/tests/test-avltreehash_list.c:489,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 493
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 493
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-avltreehash_list.c
    functionUses: 11
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:32,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:33,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:34,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:35,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:36,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:37,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:38,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:39,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:41,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:41,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isnanl.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:42,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:42,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-isnanl.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:44,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:44,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-isnanl.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:47,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:47,1
    - Dst: SNaNl
      Src: /src/gnulib/tests/test-isnanl.h:47,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:66,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:66,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:72,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:72,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:78,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:78,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:78,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:83,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:83,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:83,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:88,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:88,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:88,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:93,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:93,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:93,1
    - Dst: LDBL80_WORDS
      Src: /src/gnulib/tests/test-isnanl.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isnanl.h:98,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:98,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-isnanl.h:98,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isnanl.h
    functionUses: 11
    functionsReached:
    - SNaNl
    - Infinityl
    - isnanl
    - NaNl
    - LDBL80_WORDS
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiter.c:33,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mbiter.c:34,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mbiter.c:37,1
    - Dst: mbi_init
      Src: /src/gnulib/tests/bench-mbiter.c:45,1
    - Dst: mbi_avail
      Src: /src/gnulib/tests/bench-mbiter.c:45,1
    - Dst: mbi_advance
      Src: /src/gnulib/tests/bench-mbiter.c:45,1
    - Dst: mbi_cur
      Src: /src/gnulib/tests/bench-mbiter.c:47,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mbiter.c:52,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-mbiter.c:53,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiter.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbiter.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - test
    - repeat
    - locale_name
    - text
    argTypes:
    - char
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mbiter.c
    functionUses: 5
    functionsReached:
    - mbi_init
    - setlocale
    - mbi_cur
    - mbi_avail
    - timing_end
    - timing_output
    - mbi_advance
    - printf
    - timing_start
    linkageType: ''
    returnType: void
    signature: void do_test (char test, int repeat, const char *locale_name, const
      char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbiter.c:79,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbiter.c:80,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mbiter.c:81,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mbiter.c:87,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mbiter.c:91,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:98,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:101,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:104,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:107,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:110,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:113,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:116,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:119,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:122,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbiter.c:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 134
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mbiter.c
    functionUses: 11
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:74,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:74,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:90,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:92,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:92,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:108,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:110,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:110,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: thread3_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread3_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:126,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:128,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:128,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: thread4_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread4_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:144,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:146,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:146,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: thread5_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread5_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localeconv-mt.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:164,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localeconv-mt.c:164,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localeconv-mt.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: thread6_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread6_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:177,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:178,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:179,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:180,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:181,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: threadN_func
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 0
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: void
    signature: 'void *

      threadN_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localeconv-mt.c:191,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:193,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localeconv-mt.c:196,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:198,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-localeconv-mt.c:201,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localeconv-mt.c:203,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:207,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:207,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:208,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:208,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:209,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:209,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:210,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:210,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:211,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:211,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-localeconv-mt.c:212,1
    - Dst: localeconv
      Src: /src/gnulib/tests/test-localeconv-mt.c:212,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:215,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:216,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:217,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:218,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:219,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:220,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localeconv-mt.c:222,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-localeconv-mt.c:227,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-localeconv-mt.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 234
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 11
    functionsReached:
    - strdup
    - nanosleep
    - setlocale
    - gl_thread_create
    - atoi
    - localeconv
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-localeconv-mt.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localeconv-mt.c
    functionUses: 11
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: dummy
    functionSourceFile: /src/gnulib/tests/test-ceilf-ieee.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float dummy (float f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:49,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:49,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:50,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:50,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:50,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:52,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:53,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:53,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:55,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:55,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:55,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:56,1
    - Dst: my_ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ceilf-ieee.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:61,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:61,1
    - Dst: ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:61,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:63,1
    - Dst: ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:63,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:63,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ceilf-ieee.c:64,1
    - Dst: ceilf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:64,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:64,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-ceilf-ieee.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - _GL_UNUSED**
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ceilf-ieee.c
    functionUses: 11
    functionsReached:
    - ASSERT
    - Infinityf
    - ceilf
    - NaNf
    - signbit
    - isnanf
    - my_ceilf
    linkageType: ''
    returnType: int
    signature: int main (int argc, _GL_UNUSED char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iconv-h-c++.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vfzprintf-posix.c:39,1
    - Dst: vfzprintf
      Src: /src/gnulib/tests/test-vfzprintf-posix.c:40,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vfzprintf-posix.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: my_fzprintf
    functionSourceFile: /src/gnulib/tests/test-vfzprintf-posix.c
    functionUses: 0
    functionsReached:
    - va_start
    - vfzprintf
    - va_end
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_fzprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vfzprintf-posix.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vfzprintf-posix.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shell_quote_length
      Src: /src/gnulib/tests/test-sh-quote.c:37,1
    - Dst: shell_quote
      Src: /src/gnulib/tests/test-sh-quote.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-sh-quote.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-sh-quote.c:43,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/tests/test-sh-quote.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:47,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-sh-quote.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sh-quote.c:50,1
    - Dst: free
      Src: /src/gnulib/tests/test-sh-quote.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - input
    - expected
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: check_one
    functionSourceFile: /src/gnulib/tests/test-sh-quote.c
    functionUses: 0
    functionsReached:
    - strlen
    - shell_quote_length
    - free
    - memcmp
    - shell_quote
    - strcmp
    - memset
    - shell_quote_copy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_one (const char *input, const char *expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:63,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:66,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:67,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:70,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:71,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:72,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:73,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:76,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:79,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:83,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:87,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:91,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:94,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:97,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:101,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:104,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:105,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:109,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:110,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:113,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:117,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:120,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:123,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:124,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:127,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:130,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:131,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:134,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:137,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:140,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:144,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:148,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:152,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:153,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:156,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-sh-quote.c:160,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-sh-quote.c:169,1
    - Dst: shell_quote_argv
      Src: /src/gnulib/tests/test-sh-quote.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sh-quote.c:179,1
    - Dst: free
      Src: /src/gnulib/tests/test-sh-quote.c:180,1
    - Dst: shell_quote_argv
      Src: /src/gnulib/tests/test-sh-quote.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:188,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sh-quote.c:188,1
    - Dst: free
      Src: /src/gnulib/tests/test-sh-quote.c:189,1
    - Dst: shell_quote_argv
      Src: /src/gnulib/tests/test-sh-quote.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sh-quote.c:198,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-sh-quote.c:198,1
    - Dst: free
      Src: /src/gnulib/tests/test-sh-quote.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 203
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sh-quote.c
    functionUses: 11
    functionsReached:
    - check_one
    - free
    - strchr
    - shell_quote_argv
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: areadlinkat
      Src: /src/gnulib/tests/test-areadlinkat.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ignored
    argTypes:
    - char*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: do_areadlinkat
    functionSourceFile: /src/gnulib/tests/test-areadlinkat.c
    functionUses: 0
    functionsReached:
    - areadlinkat
    linkageType: ''
    returnType: char
    signature: 'char *

      do_areadlinkat (char const *name, _GL_UNUSED size_t ignored)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-areadlinkat.c:53,1
    - Dst: system
      Src: /src/gnulib/tests/test-areadlinkat.c:53,1
    - Dst: test_areadlink
      Src: /src/gnulib/tests/test-areadlinkat.c:56,1
    - Dst: open
      Src: /src/gnulib/tests/test-areadlinkat.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:59,1
    - Dst: test_areadlink
      Src: /src/gnulib/tests/test-areadlinkat.c:59,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-areadlinkat.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:68,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-areadlinkat.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:69,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-areadlinkat.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:70,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-areadlinkat.c:70,1
    - Dst: areadlinkat
      Src: /src/gnulib/tests/test-areadlinkat.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-areadlinkat.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-areadlinkat.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:76,1
    - Dst: areadlinkat
      Src: /src/gnulib/tests/test-areadlinkat.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:79,1
    - Dst: areadlinkat
      Src: /src/gnulib/tests/test-areadlinkat.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:81,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-areadlinkat.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:82,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-areadlinkat.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:83,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-areadlinkat.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat.c:86,1
    - Dst: close
      Src: /src/gnulib/tests/test-areadlinkat.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-areadlinkat.c
    functionUses: 11
    functionsReached:
    - symlink
    - test_areadlink
    - rmdir
    - chdir
    - fputs
    - free
    - open
    - close
    - unlink
    - system
    - mkdir
    - strcmp
    - areadlinkat
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-inet_pton.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-inet_pton.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-inet_pton.c
    functionUses: 11
    functionsReached:
    - inet_pton
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logp1f
      Src: /src/gnulib/tests/test-logp1f.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-logp1f.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-logp1f.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logp1f.c
    functionUses: 11
    functionsReached:
    - test_function
    - ASSERT
    - logp1f
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-wcsrtombs.c:37,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsrtombs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:63,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:70,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsrtombs.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:81,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsrtombs.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:92,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:99,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:111,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsrtombs.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:116,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsrtombs.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:127,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:134,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:148,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsrtombs.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:153,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/test-wcsrtombs.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:165,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:172,1
    - Dst: wcsrtombs
      Src: /src/gnulib/tests/test-wcsrtombs.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:184,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-wcsrtombs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wcsrtombs.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 98
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 202
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wcsrtombs.c
    functionUses: 11
    functionsReached:
    - setlocale
    - memcmp
    - wcsrtombs
    - mbstowcs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64init
      Src: /src/gnulib/tests/test-u64.c:26,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:29,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:31,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:31,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:34,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:35,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:37,1
    - Dst: u64plus
      Src: /src/gnulib/tests/test-u64.c:40,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:41,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:43,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:43,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:47,1
    - Dst: u64hilo
      Src: /src/gnulib/tests/test-u64.c:48,1
    - Dst: u64bswap
      Src: /src/gnulib/tests/test-u64.c:49,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:50,1
    - Dst: u64lt
      Src: /src/gnulib/tests/test-u64.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-u64.c
    functionUses: 11
    functionsReached:
    - u64lt
    - u64plus
    - u64init
    - u64bswap
    - u64hilo
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memcpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_memcpy
    functionSourceFile: /src/gnulib/tests/test-memcpy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      lib_memcpy (void *s1, void const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcpy.c:43,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memcpy.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memcpy.c:47,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-memcpy.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memcpy.c
    functionUses: 11
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:50,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:51,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:52,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:53,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:54,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:55,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:56,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:57,1
    - Dst: rand
      Src: /src/gnulib/tests/test-count-leading-zeros.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-count-leading-zeros.c:63,1
    - Dst: FUNC
      Src: /src/gnulib/tests/test-count-leading-zeros.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 64
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-count-leading-zeros.c
    functionUses: 11
    functionsReached:
    - FUNC
    - rand
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vdzprintf-posix.c:39,1
    - Dst: vdzprintf
      Src: /src/gnulib/tests/test-vdzprintf-posix.c:40,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-vdzprintf-posix.c:40,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vdzprintf-posix.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: my_fzprintf
    functionSourceFile: /src/gnulib/tests/test-vdzprintf-posix.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vdzprintf
    - fileno
    linkageType: ''
    returnType: off64_t
    signature: off64_t my_fzprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vdzprintf-posix.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vdzprintf-posix.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vprintf-posix.c:42,1
    - Dst: vprintf
      Src: /src/gnulib/tests/test-vprintf-posix.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vprintf-posix.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_printf
    functionSourceFile: /src/gnulib/tests/test-vprintf-posix.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - vprintf
    linkageType: ''
    returnType: int
    signature: int my_printf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vprintf-posix.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vprintf-posix.c
    functionUses: 11
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnulib/tests/test-rename.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:31,1
    - Dst: readdir
      Src: /src/gnulib/tests/test-rename.h:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-rename.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:43,1
    - Dst: closedir
      Src: /src/gnulib/tests/test-rename.h:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: dentry_exists
    functionSourceFile: /src/gnulib/tests/test-rename.h
    functionUses: 0
    functionsReached:
    - closedir
    - readdir
    - opendir
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool dentry_exists (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:64,1
    - Dst: dentry_exists
      Src: /src/gnulib/tests/test-rename.h:64,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: assert_nonexistent
    functionSourceFile: /src/gnulib/tests/test-rename.h
    functionUses: 0
    functionsReached:
    - rmdir
    - dentry_exists
    - stat
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void assert_nonexistent (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:78,1
    - Dst: write
      Src: /src/gnulib/tests/test-rename.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:79,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:80,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:92,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:97,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:102,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:109,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:114,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:119,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:129,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:134,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:139,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:144,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:146,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:147,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:149,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:157,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:157,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rename.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:159,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:161,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:161,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:163,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:166,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:178,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:180,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:182,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:189,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:190,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:192,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:200,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:202,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:204,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:211,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:217,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:222,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:228,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:233,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:239,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:244,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:252,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:252,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rename.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:261,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:266,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:271,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:276,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:276,1
    - Dst: assert_nonexistent
      Src: /src/gnulib/tests/test-rename.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:278,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:284,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:292,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:293,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:295,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:303,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:311,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:311,1
    - Dst: assert_nonexistent
      Src: /src/gnulib/tests/test-rename.h:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:313,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:320,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:329,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:330,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:332,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:340,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:347,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:351,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:358,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:361,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:369,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:376,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:380,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:389,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:394,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:397,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-rename.h:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:405,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:407,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:407,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:409,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:423,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:424,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:428,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:429,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:435,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:440,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:449,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:449,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:451,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:459,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:460,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:466,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:466,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rename.h:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:473,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:475,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:475,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:491,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:494,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:494,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rename.h:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:516,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:516,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:517,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:517,1
    - Dst: perror
      Src: /src/gnulib/tests/test-rename.h:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:524,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:532,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:532,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:533,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:534,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:538,1
    - Dst: link
      Src: /src/gnulib/tests/test-rename.h:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:539,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:539,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:541,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:543,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:551,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:551,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:559,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rename.h:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:564,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:564,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:565,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:574,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:575,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:577,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:577,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:578,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:580,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:581,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:589,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:597,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:597,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:598,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:599,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:600,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:602,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:603,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:612,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:620,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:620,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:624,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:625,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:627,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:627,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:634,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:642,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:650,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:650,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:652,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:653,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:655,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:655,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:667,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:672,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:677,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:678,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:681,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:681,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:692,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:692,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:693,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:697,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:697,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:711,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:711,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rename.h:711,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:720,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:722,1
    - Dst: stat
      Src: /src/gnulib/tests/test-rename.h:722,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:723,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:725,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:725,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:726,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-rename.h:726,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:734,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:734,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:742,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:749,1
    - Dst: close
      Src: /src/gnulib/tests/test-rename.h:749,1
    - Dst: creat
      Src: /src/gnulib/tests/test-rename.h:749,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:758,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:760,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:761,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:762,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:763,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:763,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:764,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:764,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:772,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:772,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:782,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:782,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:783,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:787,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:787,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:792,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:793,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:797,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:797,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:798,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:800,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:801,1
    - Dst: S_ISREG
      Src: /src/gnulib/tests/test-rename.h:801,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:802,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:803,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:803,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:804,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:804,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:818,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:819,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:823,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:823,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:828,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:828,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:829,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:835,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:836,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:840,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:841,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:845,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:845,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:846,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:847,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:848,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:848,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:849,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:849,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:851,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:851,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:852,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-rename.h:852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:870,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:870,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:883,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:883,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:884,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:885,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:886,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:886,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:887,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-rename.h:887,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:888,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:889,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:889,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:890,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:890,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:898,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:898,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:899,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:900,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:901,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-rename.h:901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:903,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:904,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:905,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:906,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:907,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:907,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:913,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:914,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:916,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:917,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-rename.h:917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:919,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:920,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:921,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:922,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:922,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:923,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:923,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:924,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:925,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-rename.h:925,1
    - Dst: func
      Src: /src/gnulib/tests/test-rename.h:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:936,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:937,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:940,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:940,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:941,1
    - Dst: S_ISDIR
      Src: /src/gnulib/tests/test-rename.h:941,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:943,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:943,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:944,1
    - Dst: memset
      Src: /src/gnulib/tests/test-rename.h:945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:946,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-rename.h:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:947,1
    - Dst: S_ISLNK
      Src: /src/gnulib/tests/test-rename.h:947,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:958,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:958,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:959,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-rename.h:959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:960,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rename.h:961,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-rename.h:961,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 444
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 964
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 964
    functionName: test_rename
    functionSourceFile: /src/gnulib/tests/test-rename.h
    functionUses: 2
    functionsReached:
    - mkdir
    - perror
    - close
    - unlink
    - assert_nonexistent
    - memset
    - link
    - ASSERT
    - symlink
    - rmdir
    - S_ISREG
    - S_ISDIR
    - func
    - write
    - lstat
    - fputs
    - stat
    - creat
    - S_ISLNK
    linkageType: ''
    returnType: int
    signature: int test_rename (int (*func) (char const *, char const *), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-malloc-h.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: naive
    functionSourceFile: /src/gnulib/tests/test-integer_length_l.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int naive (unsigned long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:44,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:44,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length_l.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:47,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:47,1
    - Dst: naive
      Src: /src/gnulib/tests/test-integer_length_l.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:48,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:49,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:52,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:54,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:57,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:58,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:62,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-integer_length_l.c:63,1
    - Dst: integer_length_l
      Src: /src/gnulib/tests/test-integer_length_l.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-integer_length_l.c
    functionUses: 11
    functionsReached:
    - integer_length_l
    - naive
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-lchown.c:45,1
    - Dst: system
      Src: /src/gnulib/tests/test-lchown.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lchown.c
    functionUses: 11
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:30,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:30,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:38,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:38,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:40,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:42,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:43,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:45,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:55,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:55,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:65,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:65,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:66,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:73,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:78,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:81,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:83,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:88,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:97,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:98,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:105,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:105,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:113,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:113,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:114,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:115,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:117,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:117,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:124,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:127,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:127,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:137,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:137,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:138,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:145,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:150,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:153,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:155,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:160,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:169,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:170,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:170,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:175,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:183,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:186,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:186,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:194,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:194,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:195,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:196,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:198,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:198,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:201,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:206,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:212,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:215,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:215,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:223,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-supersede-fopen.h:223,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-supersede-fopen.h:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:225,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:227,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:228,1
    - Dst: fclose_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:230,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:235,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-supersede-fopen.h:235,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:238,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:246,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:249,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:249,1
    - Dst: fopen_supersede
      Src: /src/gnulib/tests/test-supersede-fopen.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-supersede-fopen.h:259,1
    - Dst: stat
      Src: /src/gnulib/tests/test-supersede-fopen.h:259,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:262,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-supersede-fopen.h:267,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-supersede-fopen.h:268,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 103
    argCount: 2
    argNames:
    - supersede_if_exists
    - supersede_if_does_not_exist
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 269
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 269
    functionName: test_fopen_supersede
    functionSourceFile: /src/gnulib/tests/test-supersede-fopen.h
    functionUses: 1
    functionsReached:
    - symlink
    - fwrite
    - rmdir
    - memcmp
    - unlink
    - fflush
    - fopen_supersede
    - stat
    - fclose_supersede
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_fopen_supersede (bool supersede_if_exists, bool supersede_if_does_not_exist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - nullptr_t
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: simple_callee
    functionSourceFile: /src/gnulib/tests/test-nullptr.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void simple_callee (nullptr_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr.c:48,1
    - Dst: va_start
      Src: /src/gnulib/tests/test-nullptr.c:49,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr.c:52,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr.c:55,1
    - Dst: va_arg
      Src: /src/gnulib/tests/test-nullptr.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nullptr.c:58,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-nullptr.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - first
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: varargs_callee
    functionSourceFile: /src/gnulib/tests/test-nullptr.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_arg
    - va_end
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void varargs_callee (const char *first, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varargs_callee
      Src: /src/gnulib/tests/test-nullptr.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nullptr.c
    functionUses: 11
    functionsReached:
    - varargs_callee
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freopen
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:48,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:51,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:54,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:55,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:55,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:57,1
    - Dst: posix_spawn
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:62,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:65,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:69,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:71,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:73,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:76,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:79,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:83,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:85,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:90,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:93,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:98,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:100,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:103,1
    - Dst: perror
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:105,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 113
    functionName: parent_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit1.c
    functionUses: 3
    functionsReached:
    - fopen
    - fclose
    - fwrite
    - fprintf
    - WIFEXITED
    - memcmp
    - unlink
    - fflush
    - posix_spawn
    - WEXITSTATUS
    - waitpid
    - freopen
    - fseek
    - perror
    linkageType: ''
    returnType: int
    signature: int parent_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: child_main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit1.c
    functionUses: 3
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int child_main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:130,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:133,1
    - Dst: raise
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: cleanup_then_die
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit1.c
    functionUses: 0
    functionsReached:
    - signal
    - raise
    - unlink
    linkageType: ''
    returnType: void
    signature: void cleanup_then_die (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:142,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:145,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:146,1
    - Dst: signal
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:148,1
    - Dst: parent_main
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:151,1
    - Dst: child_main
      Src: /src/gnulib/tests/test-posix_spawn-inherit1.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn-inherit1.c
    functionUses: 12
    functionsReached:
    - signal
    - child_main
    - parent_main
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-regex.c:41,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-regex.c:42,1
    - Dst: vfprintf
      Src: /src/gnulib/tests/test-regex.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-regex.c:44,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-regex.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: report_error
    functionSourceFile: /src/gnulib/tests/test-regex.c
    functionUses: 0
    functionsReached:
    - va_start
    - fprintf
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void report_error (char const *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-regex.c:55,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-regex.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: really_utf8
    functionSourceFile: /src/gnulib/tests/test-regex.c
    functionUses: 0
    functionsReached:
    - locale_charset
    - strcmp
    linkageType: ''
    returnType: int
    signature: int really_utf8 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/gnulib/tests/test-regex.c:135,1
    - Dst: regerror
      Src: /src/gnulib/tests/test-regex.c:139,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:140,1
    - Dst: regexec
      Src: /src/gnulib/tests/test-regex.c:144,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:146,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:147,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:157,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 165
    functionName: bug_regex11
    functionSourceFile: /src/gnulib/tests/test-regex.c
    functionUses: 0
    functionsReached:
    - report_error
    - regfree
    - regerror
    - regexec
    - regcomp
    linkageType: ''
    returnType: void
    signature: void bug_regex11 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-regex.c:180,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-regex.c:181,1
    - Dst: bug_regex11
      Src: /src/gnulib/tests/test-regex.c:184,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-regex.c:186,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:197,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:199,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:200,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:202,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:205,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:206,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:209,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:211,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:212,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:213,1
    - Dst: really_utf8
      Src: /src/gnulib/tests/test-regex.c:217,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:235,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:236,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:237,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:239,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:242,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:243,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:246,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:249,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:250,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-regex.c:254,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:256,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-regex.c:261,1
    - Dst: really_utf8
      Src: /src/gnulib/tests/test-regex.c:263,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-regex.c:263,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:265,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:266,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:268,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:270,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:279,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:280,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:283,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:285,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:286,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:287,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-regex.c:291,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:293,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:299,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:300,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:302,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:304,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:308,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:310,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:312,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:314,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:315,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:316,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:321,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:322,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:327,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:331,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:332,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:337,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:338,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:340,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:343,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:344,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:348,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:350,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:352,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:354,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:358,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:360,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:362,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:366,1
    - Dst: re_match
      Src: /src/gnulib/tests/test-regex.c:368,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:370,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:372,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:373,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:374,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:377,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:379,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:381,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:385,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:387,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:389,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:390,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:391,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:392,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:397,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:398,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:399,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:401,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:404,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:406,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:408,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:409,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:410,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:411,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:415,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:416,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:418,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:420,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:423,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:426,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:428,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:430,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:433,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:436,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:438,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:439,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex.c:440,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:446,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:450,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:452,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex.c:454,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:459,1
    - Dst: re_set_syntax
      Src: /src/gnulib/tests/test-regex.c:466,1
    - Dst: memset
      Src: /src/gnulib/tests/test-regex.c:467,1
    - Dst: re_compile_pattern
      Src: /src/gnulib/tests/test-regex.c:469,1
    - Dst: re_search
      Src: /src/gnulib/tests/test-regex.c:470,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-regex.c:472,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:473,1
    - Dst: report_error
      Src: /src/gnulib/tests/test-regex.c:484,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 168
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 488
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-regex.c
    functionUses: 12
    functionsReached:
    - re_match
    - alarm
    - setlocale
    - signal
    - free
    - really_utf8
    - re_search
    - report_error
    - regfree
    - re_set_syntax
    - bug_regex11
    - strcmp
    - memset
    - re_compile_pattern
    - towupper
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-modff-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-modff-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-nstrftime.c:47,1
    - Dst: posixtm_test
      Src: /src/gnulib/tests/test-nstrftime.c:53,1
    - Dst: tzalloc_test
      Src: /src/gnulib/tests/test-nstrftime.c:54,1
    - Dst: quarter_test
      Src: /src/gnulib/tests/test-nstrftime.c:55,1
    - Dst: errno_test
      Src: /src/gnulib/tests/test-nstrftime.c:56,1
    - Dst: locales_test
      Src: /src/gnulib/tests/test-nstrftime.c:58,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-nstrftime.c:66,1
    - Dst: locales_test
      Src: /src/gnulib/tests/test-nstrftime.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nstrftime.c
    functionUses: 12
    functionsReached:
    - errno_test
    - setlocale
    - fputs
    - posixtm_test
    - locales_test
    - tzalloc_test
    - quarter_test
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-select.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-execinfo.c:37,1
    - Dst: backtrace
      Src: /src/gnulib/tests/test-execinfo.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execinfo.c:39,1
    - Dst: backtrace_symbols_fd
      Src: /src/gnulib/tests/test-execinfo.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-execinfo.c:43,1
    - Dst: backtrace_symbols
      Src: /src/gnulib/tests/test-execinfo.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-execinfo.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-execinfo.c:54,1
    - Dst: free
      Src: /src/gnulib/tests/test-execinfo.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: test_backtrace
    functionSourceFile: /src/gnulib/tests/test-execinfo.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols_fd
    - backtrace
    - free
    - backtrace_symbols
    - printf
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_backtrace (int pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-execinfo.c:62,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-execinfo.c:62,1
    - Dst: test_backtrace
      Src: /src/gnulib/tests/test-execinfo.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-execinfo.c:64,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-execinfo.c:64,1
    - Dst: test_backtrace
      Src: /src/gnulib/tests/test-execinfo.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execinfo.c
    functionUses: 12
    functionsReached:
    - printf
    - fflush
    - test_backtrace
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:63,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:64,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:66,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:67,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:68,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:69,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:70,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:71,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:72,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:73,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:74,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:75,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:76,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:77,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:78,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:79,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:81,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:82,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:83,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:84,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:85,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:86,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:87,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:88,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:89,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:90,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:91,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:92,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:93,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-rintl.c:94,1
    - Dst: rintl
      Src: /src/gnulib/tests/test-rintl.c:94,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-rintl.c:96,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-rintl.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rintl.c
    functionUses: 12
    functionsReached:
    - test_function
    - fputs
    - rintl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1pf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1pf-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: cmp_fn
    functionSourceFile: /src/gnulib/tests/test-tsearch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_fn (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-tsearch.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: memfry
    functionSourceFile: /src/gnulib/tests/test-tsearch.c
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: void
    signature: void memfry (int *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - nodep
    - which
    - depth
    argTypes:
    - void*
    - VISIT
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: walk_action
    functionSourceFile: /src/gnulib/tests/test-tsearch.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void walk_action (const void *nodep, const VISIT which, const int depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-tsearch.c:149,1
    - Dst: twalk
      Src: /src/gnulib/tests/test-tsearch.c:152,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:156,1
    - Dst: log
      Src: /src/gnulib/tests/test-tsearch.c:161,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - root
    - expected_count
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: walk_tree
    functionSourceFile: /src/gnulib/tests/test-tsearch.c
    functionUses: 0
    functionsReached:
    - fputs
    - twalk
    - log
    - memset
    linkageType: ''
    returnType: void
    signature: void walk_tree (void *root, int expected_count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memfry
      Src: /src/gnulib/tests/test-tsearch.c:181,1
    - Dst: abort
      Src: /src/gnulib/tests/test-tsearch.c:213,1
    - Dst: tfind
      Src: /src/gnulib/tests/test-tsearch.c:222,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:224,1
    - Dst: tsearch
      Src: /src/gnulib/tests/test-tsearch.c:227,1
    - Dst: tfind
      Src: /src/gnulib/tests/test-tsearch.c:229,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:231,1
    - Dst: tfind
      Src: /src/gnulib/tests/test-tsearch.c:244,1
    - Dst: tdelete
      Src: /src/gnulib/tests/test-tsearch.c:245,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:247,1
    - Dst: tfind
      Src: /src/gnulib/tests/test-tsearch.c:253,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-tsearch.c:255,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - how
    - what
    - root
    - lag
    argTypes:
    - enum order
    - enum action
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 262
    functionName: mangle_tree
    functionSourceFile: /src/gnulib/tests/test-tsearch.c
    functionUses: 0
    functionsReached:
    - abort
    - tfind
    - tsearch
    - fputs
    - tdelete
    - memfry
    linkageType: ''
    returnType: void
    signature: void mangle_tree (enum order how, enum action what, void **root, int
      lag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify
      Src: /src/gnulib/tests/test-verify.c:51,1
    - Dst: verify
      Src: /src/gnulib/tests/test-verify.c:53,1
    - Dst: verify
      Src: /src/gnulib/tests/test-verify.c:55,1
    - Dst: verify
      Src: /src/gnulib/tests/test-verify.c:57,1
    - Dst: verify
      Src: /src/gnulib/tests/test-verify.c:57,1
    - Dst: verify_expr
      Src: /src/gnulib/tests/test-verify.c:60,1
    - Dst: verify_expr
      Src: /src/gnulib/tests/test-verify.c:60,1
    - Dst: verify_expr
      Src: /src/gnulib/tests/test-verify.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: function
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 768
    functionsReached:
    - verify_expr
    - verify
    linkageType: ''
    returnType: int
    signature: int function (int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: f
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 2435
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int f (int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assume
      Src: /src/gnulib/tests/test-verify.c:86,1
    - Dst: f
      Src: /src/gnulib/tests/test-verify.c:86,1
    - Dst: assume
      Src: /src/gnulib/tests/test-verify.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - state*
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: test_assume_expressions
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 0
    functionsReached:
    - f
    - assume
    linkageType: ''
    returnType: void
    signature: void test_assume_expressions (state *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assume
      Src: /src/gnulib/tests/test-verify.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: test_assume_optimization
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 0
    functionsReached:
    - assume
    linkageType: ''
    returnType: int
    signature: int test_assume_optimization (int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assume
      Src: /src/gnulib/tests/test-verify.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: test_assume_noreturn
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 0
    functionsReached:
    - assume
    linkageType: ''
    returnType: void
    signature: void test_assume_noreturn (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_assume_expressions
      Src: /src/gnulib/tests/test-verify.c:116,1
    - Dst: test_assume_optimization
      Src: /src/gnulib/tests/test-verify.c:117,1
    - Dst: function
      Src: /src/gnulib/tests/test-verify.c:118,1
    - Dst: function
      Src: /src/gnulib/tests/test-verify.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-verify.c
    functionUses: 12
    functionsReached:
    - test_assume_expressions
    - function
    - test_assume_optimization
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: doChar
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char doChar (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: doInt
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int doInt (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: doOff
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: off_t
    signature: off_t doOff (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: doPtr
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      doPtr (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: doStruct
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct s
    signature: struct s doStruct (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-ignore-value.c:72,1
    - Dst: doChar
      Src: /src/gnulib/tests/test-ignore-value.c:72,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-ignore-value.c:73,1
    - Dst: doInt
      Src: /src/gnulib/tests/test-ignore-value.c:73,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-ignore-value.c:74,1
    - Dst: doOff
      Src: /src/gnulib/tests/test-ignore-value.c:74,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-ignore-value.c:75,1
    - Dst: doPtr
      Src: /src/gnulib/tests/test-ignore-value.c:75,1
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-ignore-value.c:76,1
    - Dst: doStruct
      Src: /src/gnulib/tests/test-ignore-value.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ignore-value.c
    functionUses: 12
    functionsReached:
    - doPtr
    - doChar
    - doInt
    - doOff
    - doStruct
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexpf.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexpf.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/test-striconveh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:62,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:63,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:64,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:65,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:66,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:67,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:68,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:69,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:70,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:72,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:73,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:74,1
    - Dst: iconv_open
      Src: /src/gnulib/tests/test-striconveh.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:98,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:171,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:171,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:176,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:177,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:179,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:207,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:217,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:218,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:218,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:223,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:224,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:257,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:266,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:267,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:267,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:272,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:273,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:282,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:283,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:283,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:289,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:290,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:292,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:317,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:318,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:318,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:326,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:327,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:329,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:351,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:352,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:352,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:360,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:361,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:363,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:385,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:386,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:386,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:398,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:399,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:401,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:424,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:433,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:434,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:434,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:439,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:440,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:449,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:449,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:450,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:450,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:455,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:456,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:458,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:469,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:487,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:495,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:496,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:497,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:497,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:502,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:503,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:512,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:513,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:513,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:517,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:518,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:519,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:521,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:530,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:548,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:550,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:557,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:558,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:558,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:562,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:565,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:566,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:568,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:575,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:575,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:576,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:576,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:576,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:583,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:584,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:586,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:594,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:612,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:613,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:614,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:616,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:626,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:641,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:642,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:642,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:643,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:644,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:645,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:645,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:647,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:647,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:647,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:648,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:668,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:669,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:669,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:670,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:672,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:672,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:674,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:674,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:674,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:675,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:699,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:700,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:714,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:714,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:715,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:716,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:717,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:719,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:719,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:720,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:721,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:721,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:723,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:723,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:723,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:724,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:735,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:736,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:736,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:737,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:739,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:741,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:741,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:742,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:743,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:743,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:743,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:745,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:745,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:745,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:746,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:755,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:771,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:772,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:785,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:786,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:787,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:789,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:791,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:791,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:791,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:792,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:793,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:793,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:793,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:794,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:794,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:795,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:807,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:807,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:808,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:809,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:810,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:811,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:812,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:812,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:813,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:814,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:814,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:814,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:815,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:815,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:816,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:841,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:841,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:842,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:849,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:861,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:868,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:869,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:869,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:870,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:892,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:899,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:899,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:900,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:906,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:907,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:907,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:908,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:916,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:924,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:925,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:925,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:926,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:931,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:939,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:940,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:940,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:941,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:946,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:954,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:955,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:955,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:956,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:960,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:970,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:976,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:977,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:977,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:978,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:984,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:985,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:985,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:986,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:996,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1006,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1012,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1013,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1013,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1014,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1020,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1021,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1021,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1022,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1030,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1040,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1046,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1047,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1047,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1048,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1054,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1055,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1055,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1056,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1063,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1070,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1071,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1071,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1072,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1076,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1078,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1079,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1080,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1081,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1082,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1087,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1104,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1104,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1109,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1110,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1135,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1144,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1145,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1145,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1150,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1151,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1160,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1161,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1161,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1167,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1168,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1194,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1195,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1195,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1203,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1204,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1228,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1229,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1229,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1237,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1238,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1262,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1263,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1263,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1275,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1276,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1278,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1301,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1310,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1311,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1311,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1318,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1319,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1328,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1329,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-striconveh.c:1329,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-striconveh.c:1329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1336,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1337,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1339,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1366,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1367,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1369,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1383,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1383,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1384,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1403,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1411,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1411,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1412,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1425,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1426,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1426,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1427,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1439,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1439,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1440,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1451,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1452,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1452,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1453,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1457,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1471,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1472,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1472,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1479,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1480,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1480,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1481,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-striconveh.c:1488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1493,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-striconveh.c:1494,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-striconveh.c:1494,1
    - Dst: free
      Src: /src/gnulib/tests/test-striconveh.c:1495,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1501,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1502,1
    - Dst: iconv_close
      Src: /src/gnulib/tests/test-striconveh.c:1504,1
    CyclomaticComplexity: 286
    EdgeCount: 286
    ICount: 731
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 1509
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-striconveh.c
    functionUses: 12
    functionsReached:
    - strlen
    - free
    - memcmp
    - iconv_close
    - iconv_open
    - strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnulib/tests/test-gmtime_r.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gmtime_r.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-gmtime_r.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-gmtime_r.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-gmtime_r.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gmtime_r.c
    functionUses: 12
    functionsReached:
    - gmtime_r
    - printf
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spawn-h.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regex_quote_spec_posix
      Src: /src/gnulib/tests/test-regex-quote.c:36,1
    - Dst: regex_quote
      Src: /src/gnulib/tests/test-regex-quote.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-regex-quote.c:38,1
    - Dst: regex_quote_length
      Src: /src/gnulib/tests/test-regex-quote.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:40,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-regex-quote.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex-quote.c:41,1
    - Dst: xmalloc
      Src: /src/gnulib/tests/test-regex-quote.c:43,1
    - Dst: strcpy
      Src: /src/gnulib/tests/test-regex-quote.c:45,1
    - Dst: regex_quote_copy
      Src: /src/gnulib/tests/test-regex-quote.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:50,1
    - Dst: regcomp
      Src: /src/gnulib/tests/test-regex-quote.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:52,1
    - Dst: regexec
      Src: /src/gnulib/tests/test-regex-quote.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:54,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-regex-quote.c:54,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex-quote.c:55,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex-quote.c:57,1
    - Dst: regex_quote_spec_posix
      Src: /src/gnulib/tests/test-regex-quote.c:59,1
    - Dst: regex_quote
      Src: /src/gnulib/tests/test-regex-quote.c:60,1
    - Dst: regex_quote_length
      Src: /src/gnulib/tests/test-regex-quote.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-regex-quote.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:67,1
    - Dst: regcomp
      Src: /src/gnulib/tests/test-regex-quote.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:69,1
    - Dst: regexec
      Src: /src/gnulib/tests/test-regex-quote.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-regex-quote.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-regex-quote.c:71,1
    - Dst: regfree
      Src: /src/gnulib/tests/test-regex-quote.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-regex-quote.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - literal
    - cflags
    - expected
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-regex-quote.c
    functionUses: 118
    functionsReached:
    - ASSERT
    - regex_quote_spec_posix
    - strlen
    - strcpy
    - free
    - regex_quote_copy
    - xmalloc
    - regex_quote
    - regfree
    - strcmp
    - regexec
    - regex_quote_length
    - regcomp
    linkageType: ''
    returnType: void
    signature: void check (const char *literal, int cflags, const char *expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:80,1
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:81,1
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: test_bre
    functionSourceFile: /src/gnulib/tests/test-regex-quote.c
    functionUses: 0
    functionsReached:
    - check
    linkageType: ''
    returnType: void
    signature: void test_bre (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:88,1
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/test-regex-quote.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: test_ere
    functionSourceFile: /src/gnulib/tests/test-regex-quote.c
    functionUses: 0
    functionsReached:
    - check
    linkageType: ''
    returnType: void
    signature: void test_ere (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_bre
      Src: /src/gnulib/tests/test-regex-quote.c:96,1
    - Dst: test_ere
      Src: /src/gnulib/tests/test-regex-quote.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-regex-quote.c
    functionUses: 12
    functionsReached:
    - test_bre
    - test_ere
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-connect.c:35,1
    - Dst: inet_pton
      Src: /src/gnulib/tests/test-connect.c:42,1
    - Dst: htons
      Src: /src/gnulib/tests/test-connect.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-connect.c:46,1
    - Dst: connect
      Src: /src/gnulib/tests/test-connect.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-connect.c:48,1
    - Dst: close
      Src: /src/gnulib/tests/test-connect.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-connect.c:53,1
    - Dst: connect
      Src: /src/gnulib/tests/test-connect.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-connect.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-connect.c
    functionUses: 12
    functionsReached:
    - inet_pton
    - connect
    - close
    - gl_sockets_startup
    - htons
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32ispunct.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32ispunct.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:42,1
    - Dst: c32ispunct
      Src: /src/gnulib/tests/test-c32ispunct.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32ispunct.c
    functionUses: 13
    functionsReached:
    - mbrtoc32
    - c32ispunct
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32ispunct.c:54,1
    - Dst: c32ispunct
      Src: /src/gnulib/tests/test-c32ispunct.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:127,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:143,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:145,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:147,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:161,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:168,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:178,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:187,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:190,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:193,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:197,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:202,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:206,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:209,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:218,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:222,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:226,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:229,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:232,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:235,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:239,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:243,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:246,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:249,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:252,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:256,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:261,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32ispunct.c:271,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:278,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:283,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:287,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:290,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:293,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:297,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:302,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:305,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:309,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:312,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:315,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:319,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32ispunct.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32ispunct.c:324,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 314
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 332
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 332
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32ispunct.c
    functionUses: 12
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32ispunct
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsnprintf-posix.c:41,1
    - Dst: vsnprintf
      Src: /src/gnulib/tests/test-vsnprintf-posix.c:42,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsnprintf-posix.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: my_snprintf
    functionSourceFile: /src/gnulib/tests/test-vsnprintf-posix.c
    functionUses: 2
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int my_snprintf (char *str, size_t size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsnprintf-posix.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsnprintf-posix.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_add
      Src: /src/gnulib/tests/test-stdckdint-h-c++.cc:33,1
    - Dst: ckd_sub
      Src: /src/gnulib/tests/test-stdckdint-h-c++.cc:33,1
    - Dst: ckd_mul
      Src: /src/gnulib/tests/test-stdckdint-h-c++.cc:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdckdint-h-c++.cc
    functionUses: 12
    functionsReached:
    - ckd_mul
    - ckd_sub
    - ckd_add
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isgraph.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isgraph.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:42,1
    - Dst: c32isgraph
      Src: /src/gnulib/tests/test-c32isgraph.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isgraph.c
    functionUses: 14
    functionsReached:
    - c32isgraph
    - mbrtoc32
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isgraph.c:54,1
    - Dst: c32isgraph
      Src: /src/gnulib/tests/test-c32isgraph.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:102,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:121,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:125,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:130,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:140,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:144,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:148,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:157,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:161,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:168,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:172,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:176,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:180,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:185,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:190,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isgraph.c:200,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:206,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:210,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:215,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:219,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:223,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:227,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:231,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:236,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isgraph.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isgraph.c:241,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 188
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 249
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 249
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isgraph.c
    functionUses: 12
    functionsReached:
    - setlocale
    - c32isgraph
    - for_character
    - fputs
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/gnulib/tests/test-pow.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pow.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pow.c
    functionUses: 12
    functionsReached:
    - pow
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: y0
      Src: /src/gnulib/tests/test-y0.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-y0.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-y0.c
    functionUses: 12
    functionsReached:
    - y0
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:36,1
    - Dst: timespec_get
      Src: /src/gnulib/tests/test-timespec_get.c:36,1
    - Dst: time
      Src: /src/gnulib/tests/test-timespec_get.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:38,1
    - Dst: timespec_get
      Src: /src/gnulib/tests/test-timespec_get.c:38,1
    - Dst: time
      Src: /src/gnulib/tests/test-timespec_get.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_get.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-timespec_get.c
    functionUses: 12
    functionsReached:
    - timespec_get
    - time
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gl_verify_is_array
      Src: /src/gnulib/tests/test-stdcountof-h.c:45,1
    - Dst: _gl_verify_is_array
      Src: /src/gnulib/tests/test-stdcountof-h.c:46,1
    - Dst: _gl_verify_is_array
      Src: /src/gnulib/tests/test-stdcountof-h.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:49,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:50,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:51,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:51,1
    - Dst: _gl_verify_is_array
      Src: /src/gnulib/tests/test-stdcountof-h.c:54,1
    - Dst: _gl_verify_is_array
      Src: /src/gnulib/tests/test-stdcountof-h.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:57,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:58,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:63,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:68,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:69,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-stdcountof-h.c:70,1
    - Dst: countof
      Src: /src/gnulib/tests/test-stdcountof-h.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: test_func
    functionSourceFile: /src/gnulib/tests/test-stdcountof-h.c
    functionUses: 0
    functionsReached:
    - countof
    - _gl_verify_is_array
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_func (int parameter[3])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_func
      Src: /src/gnulib/tests/test-stdcountof-h.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdcountof-h.c
    functionUses: 12
    functionsReached:
    - test_func
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_in
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:58,1
    - Dst: wait_subprocess
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:75,1
    - Dst: create_pipe_in
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:86,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:92,1
    - Dst: fread
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:95,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:98,1
    - Dst: wait_subprocess
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:100,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-spawn-pipe-script.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spawn-pipe-script.c
    functionUses: 12
    functionsReached:
    - fclose
    - create_pipe_in
    - fread
    - wait_subprocess
    - memcmp
    - fdopen
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: print_no_progname
    functionSourceFile: /src/gnulib/tests/test-error.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_no_progname (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:38,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:41,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-error.c:45,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:48,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-error.c:51,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:55,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:57,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:59,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-error.c:63,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:68,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:69,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:72,1
    - Dst: error_at_line
      Src: /src/gnulib/tests/test-error.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-error.c:76,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-error.c:83,1
    - Dst: error
      Src: /src/gnulib/tests/test-error.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-error.c
    functionUses: 12
    functionsReached:
    - error
    - error_at_line
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log10l
      Src: /src/gnulib/tests/test-log10l.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log10l.c:51,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log10l.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log10l.c
    functionUses: 12
    functionsReached:
    - test_function
    - log10l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: areadlink
      Src: /src/gnulib/tests/test-areadlink.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ignored
    argTypes:
    - char*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: do_areadlink
    functionSourceFile: /src/gnulib/tests/test-areadlink.c
    functionUses: 0
    functionsReached:
    - areadlink
    linkageType: ''
    returnType: char
    signature: 'char *

      do_areadlink (char const *name, _GL_UNUSED size_t ignored)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-areadlink.c:49,1
    - Dst: system
      Src: /src/gnulib/tests/test-areadlink.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-areadlink.c
    functionUses: 12
    functionsReached:
    - system
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:42,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf.c:44,1
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-vasnwprintf.c:52,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:56,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:60,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf.c:62,1
    - Dst: wmemcpy
      Src: /src/gnulib/tests/test-vasnwprintf.c:71,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:82,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:83,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:87,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-vasnwprintf.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf.c:89,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:97,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:103,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:114,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:123,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:132,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - (*my_asnwprintf) (wchar_t *, size_t *, const wchar_t *, ...)
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 143
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf.c
    functionUses: 175
    functionsReached:
    - wcscmp
    - wmemcpy
    - free
    - my_asnwprintf
    - wcslen
    - wmemcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (wchar_t * (*my_asnwprintf) (wchar_t *, size_t *,
      const wchar_t *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnwprintf.c:151,1
    - Dst: vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:152,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnwprintf.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - wchar_t*
    - size_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: my_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf.c
    functionUses: 3
    functionsReached:
    - va_start
    - vasnwprintf
    - va_end
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      my_asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: test_vasnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: test_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf.c
    functionUses: 2
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:172,1
    - Dst: test_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf.c
    functionUses: 12
    functionsReached:
    - test_asnwprintf
    - test_vasnwprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-copy-acl.c:42,1
    - Dst: open
      Src: /src/gnulib/tests/test-copy-acl.c:47,1
    - Dst: fstat
      Src: /src/gnulib/tests/test-copy-acl.c:48,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-copy-acl.c:50,1
    - Dst: exit
      Src: /src/gnulib/tests/test-copy-acl.c:51,1
    - Dst: open
      Src: /src/gnulib/tests/test-copy-acl.c:55,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-copy-acl.c:58,1
    - Dst: exit
      Src: /src/gnulib/tests/test-copy-acl.c:59,1
    - Dst: xcopy_acl
      Src: /src/gnulib/tests/test-copy-acl.c:63,1
    - Dst: exit
      Src: /src/gnulib/tests/test-copy-acl.c:64,1
    - Dst: chmod
      Src: /src/gnulib/tests/test-copy-acl.c:66,1
    - Dst: close
      Src: /src/gnulib/tests/test-copy-acl.c:69,1
    - Dst: close
      Src: /src/gnulib/tests/test-copy-acl.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-copy-acl.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - exit
    - xcopy_acl
    - open
    - close
    - chmod
    - fprintf
    - fstat
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vfprintf-posix.c:42,1
    - Dst: vfprintf
      Src: /src/gnulib/tests/test-vfprintf-posix.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vfprintf-posix.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_fprintf
    functionSourceFile: /src/gnulib/tests/test-vfprintf-posix.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int my_fprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vfprintf-posix.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vfprintf-posix.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrlen.c:40,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:45,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:48,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:48,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:53,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:56,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:56,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:90,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:96,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:96,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:106,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:109,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:109,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrlen.c:117,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:130,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:141,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:141,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:150,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:154,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:154,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:159,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:159,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:164,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:164,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:169,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:169,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:174,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:174,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:182,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:186,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:186,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:191,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:191,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:196,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:196,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:201,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:201,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:207,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:207,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:212,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:212,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:220,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:224,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:224,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:229,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:229,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:235,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:235,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:240,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:240,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:245,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:245,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:251,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:251,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrlen.c:259,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:263,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:263,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:268,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:268,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:273,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:273,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:278,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:278,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:286,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:286,1
    - Dst: mbrlen
      Src: /src/gnulib/tests/test-mbrlen.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrlen.c:291,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrlen.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 253
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 297
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 297
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrlen.c
    functionUses: 12
    functionsReached:
    - mbrlen
    - setlocale
    - mbsinit
    - strcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-memalign.c:46,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:52,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:53,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:57,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:58,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:62,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:63,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:67,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:68,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:72,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:73,1
    - Dst: memalign
      Src: /src/gnulib/tests/test-memalign.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-memalign.c:77,1
    - Dst: memset
      Src: /src/gnulib/tests/test-memalign.c:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-memalign.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:85,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-memalign.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 92
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memalign.c
    functionUses: 12
    functionsReached:
    - memalign
    - free
    - memset
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-memalign.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-memalign.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_stat-h.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: areadlinkat_with_size
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: do_areadlinkat_with_size
    functionSourceFile: /src/gnulib/tests/test-areadlinkat-with-size.c
    functionUses: 0
    functionsReached:
    - areadlinkat_with_size
    linkageType: ''
    returnType: char
    signature: 'char *

      do_areadlinkat_with_size (char const *name, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:53,1
    - Dst: system
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:53,1
    - Dst: test_areadlink
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:56,1
    - Dst: open
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:59,1
    - Dst: test_areadlink
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:59,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:68,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:69,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:70,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:70,1
    - Dst: areadlinkat_with_size
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:76,1
    - Dst: areadlinkat_with_size
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:79,1
    - Dst: areadlinkat_with_size
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:81,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:82,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:83,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:86,1
    - Dst: close
      Src: /src/gnulib/tests/test-areadlinkat-with-size.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-areadlinkat-with-size.c
    functionUses: 12
    functionsReached:
    - symlink
    - test_areadlink
    - strlen
    - rmdir
    - chdir
    - fputs
    - free
    - open
    - areadlinkat_with_size
    - unlink
    - system
    - close
    - mkdir
    - strcmp
    - ASSERT
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: doublecmp
    functionSourceFile: /src/gnulib/tests/test-times.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int doublecmp (const void *p, const void *q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/gnulib/tests/test-times.c:49,1
    - Dst: times
      Src: /src/gnulib/tests/test-times.c:52,1
    - Dst: perror
      Src: /src/gnulib/tests/test-times.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:64,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-times.c:76,1
    - Dst: qsort
      Src: /src/gnulib/tests/test-times.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/test-times.c:83,1
    - Dst: times
      Src: /src/gnulib/tests/test-times.c:86,1
    - Dst: perror
      Src: /src/gnulib/tests/test-times.c:89,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:95,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:97,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:98,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:99,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:100,1
    - Dst: printf
      Src: /src/gnulib/tests/test-times.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 105
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-times.c
    functionUses: 12
    functionsReached:
    - times
    - free
    - sysconf
    - printf
    - malloc
    - qsort
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrtl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrtl-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isprint_l
      Src: /src/gnulib/tests/test-isprint_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:36,1
    - Dst: isprint_l
      Src: /src/gnulib/tests/test-isprint_l.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 114
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 82
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 82
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-isprint_l.c
    functionUses: 14
    functionsReached:
    - isprint_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isprint_l.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:89,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isprint_l.c:91,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isprint_l.c:93,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isprint_l.c:98,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isprint_l.c:100,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-isprint_l.c:102,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-isprint_l.c:106,1
    - Dst: isprint_l
      Src: /src/gnulib/tests/test-isprint_l.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:113,1
    - Dst: isprint_l
      Src: /src/gnulib/tests/test-isprint_l.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:117,1
    - Dst: isprint_l
      Src: /src/gnulib/tests/test-isprint_l.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-isprint_l.c:122,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-isprint_l.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-isprint_l.c
    functionUses: 12
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - isprint_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:31,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:32,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:33,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:34,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:35,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:36,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:37,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:38,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:39,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:40,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:41,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:42,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:43,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:44,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:51,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:52,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:53,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:54,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:55,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:56,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:63,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strverscmp.c:64,1
    - Dst: strverscmp
      Src: /src/gnulib/tests/test-strverscmp.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strverscmp.c
    functionUses: 12
    functionsReached:
    - strverscmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32rtomb.c:42,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32rtomb.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:45,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32rtomb.c:49,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: check_character
    functionSourceFile: /src/gnulib/tests/test-c32rtomb.c
    functionUses: 1
    functionsReached:
    - mbrtoc32
    - c32rtomb
    - memcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32rtomb.c:63,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:71,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:103,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-c32rtomb.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:105,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:113,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32rtomb.c:114,1
    - Dst: btoc32
      Src: /src/gnulib/tests/test-c32rtomb.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32rtomb.c:115,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:130,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:131,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:140,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:141,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:142,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:151,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:152,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:153,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32rtomb.c:162,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:168,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:169,1
    - Dst: check_character
      Src: /src/gnulib/tests/test-c32rtomb.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 149
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 176
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32rtomb.c
    functionUses: 12
    functionsReached:
    - c32rtomb
    - setlocale
    - fputs
    - check_character
    - btoc32
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-szprintf-gnu.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-szprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cosf
      Src: /src/gnulib/tests/test-cosf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cosf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cosf.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - cosf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpending.c:32,1
    - Dst: __fpending
      Src: /src/gnulib/tests/test-fpending.c:32,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fpending.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpending.c:35,1
    - Dst: __fpending
      Src: /src/gnulib/tests/test-fpending.c:35,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fpending.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fpending.c:38,1
    - Dst: __fpending
      Src: /src/gnulib/tests/test-fpending.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fpending.c
    functionUses: 12
    functionsReached:
    - fputs
    - fflush
    - __fpending
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_data
      Src: /src/gnulib/tests/test-nonblocking-writer.h:67,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-writer.h:79,1
    - Dst: dbgfprintf
      Src: /src/gnulib/tests/test-nonblocking-writer.h:81,1
    - Dst: write
      Src: /src/gnulib/tests/test-nonblocking-writer.h:84,1
    - Dst: dbgstrerror
      Src: /src/gnulib/tests/test-nonblocking-writer.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nonblocking-writer.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:101,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-writer.h:111,1
    - Dst: dbgfprintf
      Src: /src/gnulib/tests/test-nonblocking-writer.h:116,1
    - Dst: write
      Src: /src/gnulib/tests/test-nonblocking-writer.h:119,1
    - Dst: dbgstrerror
      Src: /src/gnulib/tests/test-nonblocking-writer.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:136,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-writer.h:137,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nonblocking-writer.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:152,1
    - Dst: dbgfprintf
      Src: /src/gnulib/tests/test-nonblocking-writer.h:156,1
    - Dst: write
      Src: /src/gnulib/tests/test-nonblocking-writer.h:159,1
    - Dst: dbgstrerror
      Src: /src/gnulib/tests/test-nonblocking-writer.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:168,1
    - Dst: usleep
      Src: /src/gnulib/tests/test-nonblocking-writer.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-writer.h:173,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nonblocking-writer.h:181,1
    - Dst: free
      Src: /src/gnulib/tests/test-nonblocking-writer.h:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 4
    argNames:
    - test
    - data_block_size
    - fd
    - has_large_buffer
    argTypes:
    - int
    - size_t
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 186
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 186
    functionName: main_writer_loop
    functionSourceFile: /src/gnulib/tests/test-nonblocking-writer.h
    functionUses: 1
    functionsReached:
    - ASSERT
    - abort
    - dbgstrerror
    - free
    - dbgfprintf
    - usleep
    - init_data
    - fprintf
    - write
    linkageType: ''
    returnType: int
    signature: "int main_writer_loop (int test, size_t data_block_size, int fd,\n
      \                 bool has_large_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-rint-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-rint-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_OMap<const char *, const int *>
      Src: /src/gnulib/tests/test-omap-c++.cc:34,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:35,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:36,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:37,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:38,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:39,1
    - Dst: gl_OMap::put
      Src: /src/gnulib/tests/test-omap-c++.cc:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:41,1
    - Dst: gl_OMap::size
      Src: /src/gnulib/tests/test-omap-c++.cc:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:43,1
    - Dst: gl_OMap::get
      Src: /src/gnulib/tests/test-omap-c++.cc:43,1
    - Dst: gl_OMap::begin
      Src: /src/gnulib/tests/test-omap-c++.cc:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:48,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:49,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-omap-c++.cc:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:51,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-omap-c++.cc:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:54,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-omap-c++.cc:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:57,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-omap-c++.cc:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:60,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-omap-c++.cc:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-omap-c++.cc:63,1
    - Dst: gl_OMap<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-omap-c++.cc:63,1
    - Dst: gl_OMap::free
      Src: /src/gnulib/tests/test-omap-c++.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-omap-c++.cc
    functionUses: 12
    functionsReached:
    - gl_OMap::size
    - gl_OMap::get
    - gl_OMap::begin
    - gl_OMap<const char *, const int *>
    - strcmp
    - gl_OMap<const char *, const int *>::iterator::next
    - gl_OMap::put
    - gl_OMap::free
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-ftello4.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:35,1
    - Dst: setvbuf
      Src: /src/gnulib/tests/test-ftello4.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:38,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftello4.c:38,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-ftello4.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:40,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello4.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:41,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello4.c:43,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-ftello4.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:53,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello4.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:54,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello4.c:55,1
    - Dst: close
      Src: /src/gnulib/tests/test-ftello4.c:60,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-ftello4.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:65,1
    - Dst: ftello
      Src: /src/gnulib/tests/test-ftello4.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftello4.c:66,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-ftello4.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 72
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftello4.c
    functionUses: 12
    functionsReached:
    - fopen
    - ftello
    - fclose
    - close
    - fileno
    - setvbuf
    - fdopen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:41,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:42,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:42,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:43,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:51,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:52,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:53,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:61,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:62,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:62,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:63,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:71,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:72,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:73,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:81,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:82,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:83,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:91,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:92,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:93,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:101,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:102,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:102,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:103,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:111,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:112,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:113,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:123,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:124,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:125,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:133,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:134,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:134,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:135,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:145,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:146,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:147,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:155,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:156,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:156,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:157,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:165,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:166,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:166,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:167,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:175,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:176,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:176,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:177,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:185,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:186,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:186,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:187,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:195,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:196,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:196,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:197,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:205,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:206,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:206,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:207,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:215,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:216,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:216,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:217,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:227,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:228,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:228,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:229,1
    - Dst: my_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:240,1
    - Dst: wcscmp
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:241,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:241,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 1
    argNames:
    - (*my_asnwprintf) (wchar_t *, size_t *, const wchar_t *, ...)
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 244
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-gnu.c
    functionUses: 181
    functionsReached:
    - wcscmp
    - free
    - my_asnwprintf
    - wcslen
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (wchar_t * (*my_asnwprintf) (wchar_t *, size_t *,
      const wchar_t *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:252,1
    - Dst: vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:253,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - wchar_t*
    - size_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: my_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-gnu.c
    functionUses: 4
    functionsReached:
    - va_start
    - vasnwprintf
    - va_end
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      my_asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: test_vasnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-gnu.c
    functionUses: 3
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: test_asnwprintf
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-gnu.c
    functionUses: 3
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnwprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:273,1
    - Dst: test_asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-gnu.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_asnwprintf
    - test_vasnwprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-printf-posix.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-printf-posix.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-snzprintf-gnu.c:35,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-c-snzprintf-gnu.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-snzprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_function
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-getline.c:40,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-getline.c:41,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getline.c:41,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getline.c:43,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getline.c:44,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-getline.c:47,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-getline.c:50,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getline.c:51,1
    - Dst: getline
      Src: /src/gnulib/tests/test-getline.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getline.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/test-getline.c:62,1
    - Dst: getline
      Src: /src/gnulib/tests/test-getline.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getline.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:70,1
    - Dst: free
      Src: /src/gnulib/tests/test-getline.c:71,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-getline.c:75,1
    - Dst: getline
      Src: /src/gnulib/tests/test-getline.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-getline.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:79,1
    - Dst: getline
      Src: /src/gnulib/tests/test-getline.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:84,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-getline.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:85,1
    - Dst: getline
      Src: /src/gnulib/tests/test-getline.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-getline.c:88,1
    - Dst: free
      Src: /src/gnulib/tests/test-getline.c:90,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-getline.c:91,1
    - Dst: remove
      Src: /src/gnulib/tests/test-getline.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getline.c
    functionUses: 12
    functionsReached:
    - fopen
    - remove
    - fclose
    - fwrite
    - fputs
    - free
    - memcmp
    - getline
    - strcmp
    - malloc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bool-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:33,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:33,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:34,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:38,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:40,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:40,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:48,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:48,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:52,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:61,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:80,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log2.h:86,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:88,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:89,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:92,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:93,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:109,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:111,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log2.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log2.h:116,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:118,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:119,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:119,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:119,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:119,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log2.h:121,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:123,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:123,1
    - Dst: LOG2
      Src: /src/gnulib/tests/test-log2.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.h:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 128
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log2.h
    functionUses: 185
    functionsReached:
    - LOG2
    - L_
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: print_no_progname
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_no_progname (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-verror.c:40,1
    - Dst: verror
      Src: /src/gnulib/tests/test-verror.c:41,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-verror.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: test_zero
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - verror
    linkageType: ''
    returnType: void
    signature: void test_zero (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-verror.c:51,1
    - Dst: verror_at_line
      Src: /src/gnulib/tests/test-verror.c:52,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-verror.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - lineno
    - format
    argTypes:
    - char*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: test_zero_at_line
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - verror_at_line
    linkageType: ''
    returnType: void
    signature: "void test_zero_at_line (const char *filename, unsigned int lineno,\n
      \                  const char *format, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-verror.c:61,1
    - Dst: verror
      Src: /src/gnulib/tests/test-verror.c:62,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-verror.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: test_errnum
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - verror
    linkageType: ''
    returnType: void
    signature: void test_errnum (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-verror.c:71,1
    - Dst: verror
      Src: /src/gnulib/tests/test-verror.c:72,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-verror.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: test_fatal
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - verror
    linkageType: ''
    returnType: void
    signature: void test_fatal (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_zero
      Src: /src/gnulib/tests/test-verror.c:80,1
    - Dst: test_zero
      Src: /src/gnulib/tests/test-verror.c:83,1
    - Dst: test_zero
      Src: /src/gnulib/tests/test-verror.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-verror.c:87,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:90,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-verror.c:93,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:97,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:99,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:101,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-verror.c:105,1
    - Dst: test_zero
      Src: /src/gnulib/tests/test-verror.c:110,1
    - Dst: test_zero
      Src: /src/gnulib/tests/test-verror.c:111,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:114,1
    - Dst: test_zero_at_line
      Src: /src/gnulib/tests/test-verror.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-verror.c:118,1
    - Dst: test_errnum
      Src: /src/gnulib/tests/test-verror.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-verror.c:125,1
    - Dst: test_fatal
      Src: /src/gnulib/tests/test-verror.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 131
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-verror.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - test_zero
    - test_zero_at_line
    - test_fatal
    - test_errnum
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-strtold.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strtold.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initstate
      Src: /src/gnulib/tests/test-random.c:38,1
    - Dst: time
      Src: /src/gnulib/tests/test-random.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-random.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-random.c
    functionUses: 12
    functionsReached:
    - time
    - initstate
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-sprintf-posix.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sprintf-posix.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-frexp.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-frexp.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtowc.c:42,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:47,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:51,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:51,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:56,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:61,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:61,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:64,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:64,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:98,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:106,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:106,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:110,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:110,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:120,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:125,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:125,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtowc.c:133,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:146,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:164,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbrtowc.c:164,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbrtowc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:165,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:165,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:169,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:169,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:178,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:184,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:184,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:190,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:191,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:191,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:197,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:197,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:202,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:203,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:203,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:210,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:210,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:217,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:217,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:225,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:231,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:231,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:238,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:238,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:244,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:245,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:245,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:251,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:251,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:256,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:257,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:257,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:265,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:265,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:272,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:272,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:276,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:282,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:282,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:288,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:288,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:294,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:294,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:299,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:300,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:300,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:308,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:314,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:314,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:320,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:321,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:321,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:329,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:329,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:335,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:336,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:336,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:342,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:342,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:347,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:348,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:348,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:356,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:356,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:364,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:369,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:370,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:370,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:377,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:377,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:383,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:384,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:384,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:389,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:390,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:390,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:395,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:396,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:396,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:406,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:406,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:413,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:413,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc.c:417,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:423,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:423,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:429,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:429,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:435,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:435,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:440,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc.c:441,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc.c:441,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 377
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 447
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 447
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtowc.c
    functionUses: 12
    functionsReached:
    - wctob
    - mbrtowc
    - setlocale
    - mbsinit
    - btowc
    - strcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:43,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:47,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:51,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp.h:52,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:71,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:73,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp.h:75,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-exp.h:76,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:79,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:79,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp.h:82,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp.h:82,1
    - Dst: EXP
      Src: /src/gnulib/tests/test-exp.h:82,1
    - Dst: L_
      Src: /src/gnulib/tests/test-exp.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-exp.h:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 87
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-exp.h
    functionUses: 188
    functionsReached:
    - EXP
    - L_
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-strtod1.c:33,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:44,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:54,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:64,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:74,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:84,1
    - Dst: c_strtod
      Src: /src/gnulib/tests/test-c-strtod1.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-strtod1.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-strtod1.c
    functionUses: 12
    functionsReached:
    - c_strtod
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:40,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:43,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:43,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-array_list.c
    functionUses: 18
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-array_list.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:58,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:58,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:58,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-array_list.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-array_list.c
    functionUses: 6
    functionsReached:
    - gl_list_get_at
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-array_list.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:76,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:76,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:76,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-array_list.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-array_list.c
    functionUses: 6
    functionsReached:
    - gl_list_last_node
    - gl_list_get_at
    - gl_list_previous_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-array_list.c:90,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-array_list.c:90,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-array_list.c:100,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-array_list.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:105,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-array_list.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:110,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-array_list.c:110,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_list.c:112,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-array_list.c:114,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-array_list.c:115,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:123,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-array_list.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:131,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:132,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:132,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-array_list.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:136,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:137,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:141,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:141,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-array_list.c:141,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:142,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:146,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:146,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-array_list.c:146,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:147,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-array_list.c:155,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-array_list.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:164,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:165,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:165,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-array_list.c:173,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-array_list.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:182,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:183,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:184,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-array_list.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:193,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-array_list.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:196,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:197,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:198,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:199,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:199,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-array_list.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:207,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-array_list.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:210,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:211,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:212,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:212,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:213,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:213,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:213,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-array_list.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:223,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-array_list.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:225,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-array_list.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:227,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-array_list.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:229,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-array_list.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:231,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-array_list.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:234,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:235,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:236,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:237,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:238,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:239,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:240,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:241,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:241,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-array_list.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:250,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-array_list.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:253,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:254,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:255,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:256,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:259,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:259,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-array_list.c:259,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:260,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:264,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-array_list.c:264,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-array_list.c:264,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:265,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:270,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-array_list.c:275,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-array_list.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:279,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-array_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:280,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-array_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:281,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:281,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:289,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_list.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:290,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-array_list.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:291,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:298,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-array_list.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:299,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:306,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-array_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:307,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:307,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:315,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-array_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:316,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-array_list.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:317,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:317,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:325,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-array_list.c:325,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:326,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-array_list.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:327,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-array_list.c:327,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-array_list.c:335,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-array_list.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:339,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:340,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:341,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:342,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:344,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:345,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:345,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_list.c:346,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_list.c:347,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-array_list.c:356,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-array_list.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:360,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:361,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:361,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:362,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:363,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-array_list.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:365,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-array_list.c:366,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-array_list.c:366,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_list.c:367,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-array_list.c:368,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-array_list.c:372,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_list.c:375,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-array_list.c:376,1
    - Dst: free
      Src: /src/gnulib/tests/test-array_list.c:377,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 204
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 381
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 381
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-array_list.c
    functionUses: 12
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - check_equals
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-pipe.c:49,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-pipe.c
    functionUses: 7
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-pipe.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:65,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-pipe.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:69,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: is_cloexec
    functionSourceFile: /src/gnulib/tests/test-pipe.c
    functionUses: 1
    functionsReached:
    - fcntl
    - _get_osfhandle
    - GetHandleInformation
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool is_cloexec (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:83,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-pipe.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: is_nonblocking
    functionSourceFile: /src/gnulib/tests/test-pipe.c
    functionUses: 0
    functionsReached:
    - fcntl
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool is_nonblocking (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:95,1
    - Dst: pipe
      Src: /src/gnulib/tests/test-pipe.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:99,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-pipe.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:100,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-pipe.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:101,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:102,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-pipe.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:103,1
    - Dst: is_nonblocking
      Src: /src/gnulib/tests/test-pipe.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-pipe.c:104,1
    - Dst: is_nonblocking
      Src: /src/gnulib/tests/test-pipe.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-pipe.c
    functionUses: 12
    functionsReached:
    - pipe
    - is_cloexec
    - is_open
    - ASSERT
    - is_nonblocking
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup3.c:53,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-dup3.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: is_open
    functionSourceFile: /src/gnulib/tests/test-dup3.c
    functionUses: 8
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: bool
    signature: bool is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-dup3.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:69,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-dup3.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:73,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-dup3.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: is_cloexec
    functionSourceFile: /src/gnulib/tests/test-dup3.c
    functionUses: 2
    functionsReached:
    - fcntl
    - _get_osfhandle
    - GetHandleInformation
    - ASSERT
    linkageType: ''
    returnType: bool
    signature: bool is_cloexec (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:103,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:103,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:105,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:107,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:108,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:112,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:114,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:118,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:120,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:122,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:124,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:128,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:132,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:133,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:134,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:135,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:137,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:138,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:140,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:144,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:145,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:146,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:147,1
    - Dst: is_open
      Src: /src/gnulib/tests/test-dup3.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:149,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-dup3.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:151,1
    - Dst: is_cloexec
      Src: /src/gnulib/tests/test-dup3.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:154,1
    - Dst: open
      Src: /src/gnulib/tests/test-dup3.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:155,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:156,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:157,1
    - Dst: write
      Src: /src/gnulib/tests/test-dup3.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:158,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-dup3.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:159,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-dup3.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:160,1
    - Dst: write
      Src: /src/gnulib/tests/test-dup3.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:161,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-dup3.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:162,1
    - Dst: read
      Src: /src/gnulib/tests/test-dup3.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:166,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:167,1
    - Dst: close
      Src: /src/gnulib/tests/test-dup3.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dup3.c:168,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-dup3.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dup3.c
    functionUses: 12
    functionsReached:
    - dup3
    - close
    - open
    - write
    - lseek
    - read
    - unlink
    - is_cloexec
    - is_open
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-ldexp-ieee.h:26,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp-ieee.h:26,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:33,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp-ieee.h:33,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp-ieee.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-ldexp-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp-ieee.h:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-ldexp-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:44,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp-ieee.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ldexp-ieee.h:46,1
    - Dst: LDEXP
      Src: /src/gnulib/tests/test-ldexp-ieee.h:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-ldexp-ieee.h
    functionUses: 188
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - LDEXP
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/gnulib/tests/test-sys_wait-h.h:38,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-sys_wait-h.h:38,1
    - Dst: WIFSTOPPED
      Src: /src/gnulib/tests/test-sys_wait-h.h:38,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/tests/test-sys_wait-h.h:41,1
    - Dst: WSTOPSIG
      Src: /src/gnulib/tests/test-sys_wait-h.h:41,1
    - Dst: WTERMSIG
      Src: /src/gnulib/tests/test-sys_wait-h.h:41,1
    - Dst: WCOREDUMP
      Src: /src/gnulib/tests/test-sys_wait-h.h:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 53
    functionName: test_sys_wait_macros
    functionSourceFile: /src/gnulib/tests/test-sys_wait-h.h
    functionUses: 2
    functionsReached:
    - WIFSIGNALED
    - WIFEXITED
    - WSTOPSIG
    - WCOREDUMP
    - WEXITSTATUS
    - WIFSTOPPED
    - WTERMSIG
    linkageType: ''
    returnType: int
    signature: int test_sys_wait_macros (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:37,1
    - Dst: glwthread_timedmutex_lock
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-windows-timedmutex-type.c
    functionUses: 4
    functionsReached:
    - glwthread_timedmutex_lock
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (glwthread_timedmutex_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:56,1
    - Dst: glwthread_timedmutex_init
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:56,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-timedmutex-type.c
    functionUses: 12
    functionsReached:
    - get_effective_type
    - glwthread_timedmutex_init
    - strcmp
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-windows-timedmutex-type.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-timedmutex-type.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdlib-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/gnulib/tests/test-atan2.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2.c:39,1
    - Dst: atan2
      Src: /src/gnulib/tests/test-atan2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2.c:45,1
    - Dst: atan2
      Src: /src/gnulib/tests/test-atan2.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2.c:51,1
    - Dst: atan2
      Src: /src/gnulib/tests/test-atan2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atan2.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atan2.c
    functionUses: 12
    functionsReached:
    - atan2
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-xfprintf-posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - _GL_UNUSED
    - char*[]
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-xfprintf-posix.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (_GL_UNUSED int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asinl
      Src: /src/gnulib/tests/test-asinl.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-asinl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-asinl.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - asinl
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32toupper.c:49,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32toupper.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:52,1
    - Dst: c32toupper
      Src: /src/gnulib/tests/test-c32toupper.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:55,1
    - Dst: memset
      Src: /src/gnulib/tests/test-c32toupper.c:57,1
    - Dst: c32rtomb
      Src: /src/gnulib/tests/test-c32toupper.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32toupper.c
    functionUses: 15
    functionsReached:
    - mbrtoc32
    - c32rtomb
    - c32toupper
    - memset
    - ASSERT
    linkageType: ''
    returnType: struct multibyte
    signature: struct multibyte for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32toupper.c:79,1
    - Dst: c32toupper
      Src: /src/gnulib/tests/test-c32toupper.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:84,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:145,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:165,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:165,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:170,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:170,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:175,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:175,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:179,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:179,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:183,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:188,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:188,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:199,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:199,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:204,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:204,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:210,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:210,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:216,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:221,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:221,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:226,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:226,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:231,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:231,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:236,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:236,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:241,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:241,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:245,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:245,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:250,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:250,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:261,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:261,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:266,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:266,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:271,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:271,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:276,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:276,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:281,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:281,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:285,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:285,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:289,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:289,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:293,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:293,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:297,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:297,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:301,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:301,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:305,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:305,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:309,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:309,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:313,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:313,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:317,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:317,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:321,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:321,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:325,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:325,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:329,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:329,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:334,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:334,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:338,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:339,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:339,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:343,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:343,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32toupper.c:352,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:359,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:359,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:364,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:364,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:369,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:369,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:372,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:373,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:373,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:378,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:378,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:381,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:382,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:382,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:387,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:387,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:390,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:392,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:392,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:397,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:397,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:400,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:401,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:402,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:402,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:406,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:407,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:407,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:409,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:411,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:411,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:415,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:415,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:417,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:419,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:419,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:422,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:424,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:424,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:429,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:429,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:433,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:433,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:438,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:438,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:443,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:443,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32toupper.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:446,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32toupper.c:447,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-c32toupper.c:447,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 336
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 454
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 454
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32toupper.c
    functionUses: 12
    functionsReached:
    - c32toupper
    - setlocale
    - fputs
    - for_character
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-arcfour.c:37,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:40,1
    - Dst: gc_cipher_open
      Src: /src/gnulib/tests/test-gc-arcfour.c:44,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-arcfour.c:48,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-gc-arcfour.c:52,1
    - Dst: gc_cipher_encrypt_inline
      Src: /src/gnulib/tests/test-gc-arcfour.c:53,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-arcfour.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:65,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:66,1
    - Dst: gc_cipher_setkey
      Src: /src/gnulib/tests/test-gc-arcfour.c:72,1
    - Dst: gc_cipher_decrypt_inline
      Src: /src/gnulib/tests/test-gc-arcfour.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-arcfour.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:85,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:86,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-arcfour.c:89,1
    - Dst: gc_cipher_close
      Src: /src/gnulib/tests/test-gc-arcfour.c:93,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-arcfour.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 98
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-arcfour.c
    functionUses: 12
    functionsReached:
    - gc_cipher_open
    - gc_cipher_encrypt_inline
    - gc_init
    - gc_cipher_decrypt_inline
    - gc_cipher_close
    - memcmp
    - gc_done
    - memcpy
    - printf
    - gc_cipher_setkey
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execl
      Src: /src/gnulib/tests/test-execl-main.c:33,1
    - Dst: perror
      Src: /src/gnulib/tests/test-execl-main.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-execl-main.c
    functionUses: 12
    functionsReached:
    - execl
    - perror
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/gnulib/tests/test-fchdir.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:42,1
    - Dst: open
      Src: /src/gnulib/tests/test-fchdir.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:50,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-fchdir.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:51,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:56,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-fchdir.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:62,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-fchdir.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:72,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-fchdir.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:74,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:80,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-fchdir.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:81,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-fchdir.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:86,1
    - Dst: getcwd
      Src: /src/gnulib/tests/test-fchdir.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:87,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-fchdir.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-fchdir.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:97,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:98,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-fchdir.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:99,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:100,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-fchdir.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:101,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-fchdir.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:102,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:103,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fchdir.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:104,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:105,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fchdir.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:106,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:108,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-fchdir.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:109,1
    - Dst: dup3
      Src: /src/gnulib/tests/test-fchdir.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fchdir.c:110,1
    - Dst: close
      Src: /src/gnulib/tests/test-fchdir.c:110,1
    - Dst: free
      Src: /src/gnulib/tests/test-fchdir.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fchdir.c
    functionUses: 12
    functionsReached:
    - fcntl
    - fchdir
    - getcwd
    - chdir
    - free
    - dup_cloexec
    - dup3
    - close
    - open
    - dup2
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:56,1
    - Dst: be16toh
      Src: /src/gnulib/tests/test-endian.c:56,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:56,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:57,1
    - Dst: htobe16
      Src: /src/gnulib/tests/test-endian.c:57,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:57,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:58,1
    - Dst: le16toh
      Src: /src/gnulib/tests/test-endian.c:58,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:58,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:59,1
    - Dst: htole16
      Src: /src/gnulib/tests/test-endian.c:59,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:59,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:62,1
    - Dst: be32toh
      Src: /src/gnulib/tests/test-endian.c:62,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:62,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:63,1
    - Dst: htobe32
      Src: /src/gnulib/tests/test-endian.c:63,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:63,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:64,1
    - Dst: le32toh
      Src: /src/gnulib/tests/test-endian.c:64,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:64,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:65,1
    - Dst: htole32
      Src: /src/gnulib/tests/test-endian.c:65,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:65,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:69,1
    - Dst: be64toh
      Src: /src/gnulib/tests/test-endian.c:69,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:69,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:71,1
    - Dst: htobe64
      Src: /src/gnulib/tests/test-endian.c:71,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:71,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:73,1
    - Dst: le64toh
      Src: /src/gnulib/tests/test-endian.c:73,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:73,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:75,1
    - Dst: htole64
      Src: /src/gnulib/tests/test-endian.c:75,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:75,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:80,1
    - Dst: be16toh
      Src: /src/gnulib/tests/test-endian.c:80,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:80,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:81,1
    - Dst: htobe16
      Src: /src/gnulib/tests/test-endian.c:81,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:81,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:82,1
    - Dst: le16toh
      Src: /src/gnulib/tests/test-endian.c:82,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:82,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:83,1
    - Dst: htole16
      Src: /src/gnulib/tests/test-endian.c:83,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:83,1
    - Dst: UINT16_C
      Src: /src/gnulib/tests/test-endian.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:86,1
    - Dst: be32toh
      Src: /src/gnulib/tests/test-endian.c:86,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:86,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:87,1
    - Dst: htobe32
      Src: /src/gnulib/tests/test-endian.c:87,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:87,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:88,1
    - Dst: le32toh
      Src: /src/gnulib/tests/test-endian.c:88,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:88,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:89,1
    - Dst: htole32
      Src: /src/gnulib/tests/test-endian.c:89,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:89,1
    - Dst: UINT32_C
      Src: /src/gnulib/tests/test-endian.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:93,1
    - Dst: be64toh
      Src: /src/gnulib/tests/test-endian.c:93,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:93,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:95,1
    - Dst: htobe64
      Src: /src/gnulib/tests/test-endian.c:95,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:95,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:97,1
    - Dst: le64toh
      Src: /src/gnulib/tests/test-endian.c:97,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:97,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:99,1
    - Dst: htole64
      Src: /src/gnulib/tests/test-endian.c:99,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:99,1
    - Dst: UINT64_C
      Src: /src/gnulib/tests/test-endian.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 103
    functionName: test_convert_constant
    functionSourceFile: /src/gnulib/tests/test-endian.c
    functionUses: 1
    functionsReached:
    - le64toh
    - htole16
    - be32toh
    - UINT64_C
    - htobe64
    - htole64
    - htole32
    - be16toh
    - htobe32
    - be64toh
    - le16toh
    - UINT32_C
    - htobe16
    - UINT16_C
    - ASSERT
    - le32toh
    linkageType: ''
    returnType: void
    signature: void test_convert_constant (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:113,1
    - Dst: be16toh
      Src: /src/gnulib/tests/test-endian.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:118,1
    - Dst: htobe16
      Src: /src/gnulib/tests/test-endian.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:123,1
    - Dst: le16toh
      Src: /src/gnulib/tests/test-endian.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:128,1
    - Dst: htole16
      Src: /src/gnulib/tests/test-endian.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:135,1
    - Dst: be32toh
      Src: /src/gnulib/tests/test-endian.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:140,1
    - Dst: htobe32
      Src: /src/gnulib/tests/test-endian.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:145,1
    - Dst: le32toh
      Src: /src/gnulib/tests/test-endian.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:150,1
    - Dst: htole32
      Src: /src/gnulib/tests/test-endian.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:158,1
    - Dst: be64toh
      Src: /src/gnulib/tests/test-endian.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:163,1
    - Dst: htobe64
      Src: /src/gnulib/tests/test-endian.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:168,1
    - Dst: le64toh
      Src: /src/gnulib/tests/test-endian.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:173,1
    - Dst: htole64
      Src: /src/gnulib/tests/test-endian.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 177
    functionName: test_convert_eval_once
    functionSourceFile: /src/gnulib/tests/test-endian.c
    functionUses: 1
    functionsReached:
    - le64toh
    - htole16
    - be32toh
    - htobe64
    - htole64
    - htole32
    - be16toh
    - htobe32
    - be64toh
    - htobe16
    - le16toh
    - ASSERT
    - le32toh
    linkageType: ''
    returnType: void
    signature: void test_convert_eval_once (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:185,1
    - Dst: be16toh
      Src: /src/gnulib/tests/test-endian.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:186,1
    - Dst: htobe16
      Src: /src/gnulib/tests/test-endian.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:187,1
    - Dst: le16toh
      Src: /src/gnulib/tests/test-endian.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:188,1
    - Dst: htole16
      Src: /src/gnulib/tests/test-endian.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:191,1
    - Dst: be32toh
      Src: /src/gnulib/tests/test-endian.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:192,1
    - Dst: htobe32
      Src: /src/gnulib/tests/test-endian.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:193,1
    - Dst: le32toh
      Src: /src/gnulib/tests/test-endian.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:194,1
    - Dst: htole32
      Src: /src/gnulib/tests/test-endian.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:198,1
    - Dst: be64toh
      Src: /src/gnulib/tests/test-endian.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:199,1
    - Dst: htobe64
      Src: /src/gnulib/tests/test-endian.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:200,1
    - Dst: le64toh
      Src: /src/gnulib/tests/test-endian.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-endian.c:201,1
    - Dst: htole64
      Src: /src/gnulib/tests/test-endian.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: test_convert_double
    functionSourceFile: /src/gnulib/tests/test-endian.c
    functionUses: 1
    functionsReached:
    - le64toh
    - htole16
    - be32toh
    - htobe64
    - htole64
    - htole32
    - be16toh
    - htobe32
    - be64toh
    - htobe16
    - le16toh
    - ASSERT
    - le32toh
    linkageType: ''
    returnType: void
    signature: void test_convert_double (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_convert_constant
      Src: /src/gnulib/tests/test-endian.c:208,1
    - Dst: test_convert_eval_once
      Src: /src/gnulib/tests/test-endian.c:209,1
    - Dst: test_convert_double
      Src: /src/gnulib/tests/test-endian.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-endian.c
    functionUses: 12
    functionsReached:
    - test_convert_eval_once
    - test_convert_double
    - test_convert_constant
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-posix_memalign.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:55,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:57,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:63,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:65,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:71,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:73,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:77,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:79,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:82,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:84,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:87,1
    - Dst: posix_memalign
      Src: /src/gnulib/tests/test-posix_memalign.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_memalign.c:89,1
    - Dst: memset
      Src: /src/gnulib/tests/test-posix_memalign.c:90,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-posix_memalign.c:93,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:100,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:101,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:102,1
    - Dst: free
      Src: /src/gnulib/tests/test-posix_memalign.c:103,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-posix_memalign.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 111
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_memalign.c
    functionUses: 12
    functionsReached:
    - free
    - fputs
    - posix_memalign
    - memset
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrt-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrt-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:48,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:69,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:84,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:87,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:90,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:93,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:105,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:106,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:117,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:119,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:129,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:132,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:144,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:145,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:152,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:154,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:166,1
    - Dst: memset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:169,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:181,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:182,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:189,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:191,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:202,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:205,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:217,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:218,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:225,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:227,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:239,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:242,1
    - Dst: asnwprintf
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:254,1
    - Dst: wcslen
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:255,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:262,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:264,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-vasnwprintf-big.c:276,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 281
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnwprintf-big.c
    functionUses: 12
    functionsReached:
    - setrlimit
    - fputs
    - free
    - wcslen
    - asnwprintf
    - memset
    - printf
    - malloc
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_unreachable
      Src: /src/gnulib/tests/test-stddef-h-c++3.cc:28,1
    - Dst: std::unreachable
      Src: /src/gnulib/tests/test-stddef-h-c++3.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: test_cxx_unreachable_1
    functionSourceFile: /src/gnulib/tests/test-stddef-h-c++3.cc
    functionUses: 0
    functionsReached:
    - std::unreachable
    - gl_unreachable
    linkageType: ''
    returnType: void
    signature: void test_cxx_unreachable_1 ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unreachable
      Src: /src/gnulib/tests/test-stddef-h-c++3.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: test_cxx_unreachable_2
    functionSourceFile: /src/gnulib/tests/test-stddef-h-c++3.cc
    functionUses: 0
    functionsReached:
    - unreachable
    linkageType: ''
    returnType: void
    signature: void test_cxx_unreachable_2 ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arcfour_setkey
      Src: /src/gnulib/tests/test-arcfour.c:36,1
    - Dst: arcfour_stream
      Src: /src/gnulib/tests/test-arcfour.c:37,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arcfour.c:38,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:41,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:43,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:47,1
    - Dst: arcfour_setkey
      Src: /src/gnulib/tests/test-arcfour.c:53,1
    - Dst: arcfour_stream
      Src: /src/gnulib/tests/test-arcfour.c:54,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-arcfour.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:58,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:63,1
    - Dst: printf
      Src: /src/gnulib/tests/test-arcfour.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 70
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-arcfour.c
    functionUses: 12
    functionsReached:
    - printf
    - arcfour_stream
    - arcfour_setkey
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: streq
    functionSourceFile: /src/gnulib/tests/test-map-c++.cc
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool streq (const char *str1, const char *str2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_Map<const char *, const int *>
      Src: /src/gnulib/tests/test-map-c++.cc:40,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:41,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:42,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:43,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:44,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:45,1
    - Dst: gl_Map::put
      Src: /src/gnulib/tests/test-map-c++.cc:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:47,1
    - Dst: gl_Map::size
      Src: /src/gnulib/tests/test-map-c++.cc:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:49,1
    - Dst: gl_Map::get
      Src: /src/gnulib/tests/test-map-c++.cc:49,1
    - Dst: gl_Map::begin
      Src: /src/gnulib/tests/test-map-c++.cc:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:54,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:57,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:60,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:63,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:66,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-map-c++.cc:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-map-c++.cc:69,1
    - Dst: gl_Map<const char *, const int *>::iterator::next
      Src: /src/gnulib/tests/test-map-c++.cc:69,1
    - Dst: gl_Map::free
      Src: /src/gnulib/tests/test-map-c++.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 74
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-map-c++.cc
    functionUses: 12
    functionsReached:
    - gl_Map::get
    - gl_Map::size
    - gl_Map<const char *, const int *>
    - gl_Map::put
    - gl_Map::begin
    - gl_Map::free
    - strcmp
    - gl_Map<const char *, const int *>::iterator::next
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:46,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:49,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:50,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:52,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:54,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:58,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:58,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-signbit.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:59,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:59,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-signbit.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:61,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:61,1
    - Dst: positive_NaNf
      Src: /src/gnulib/tests/test-signbit.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:62,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:62,1
    - Dst: negative_NaNf
      Src: /src/gnulib/tests/test-signbit.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:65,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:65,1
    - Dst: positive_SNaNf
      Src: /src/gnulib/tests/test-signbit.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:66,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:66,1
    - Dst: negative_SNaNf
      Src: /src/gnulib/tests/test-signbit.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: test_signbitf
    functionSourceFile: /src/gnulib/tests/test-signbit.c
    functionUses: 0
    functionsReached:
    - Infinityf
    - positive_NaNf
    - negative_SNaNf
    - positive_SNaNf
    - signbit
    - negative_NaNf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_signbitf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:74,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:75,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:76,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:77,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:78,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:79,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:81,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:83,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:85,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:87,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:87,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-signbit.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:88,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:88,1
    - Dst: Infinityd
      Src: /src/gnulib/tests/test-signbit.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:90,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:90,1
    - Dst: positive_NaNd
      Src: /src/gnulib/tests/test-signbit.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:91,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:91,1
    - Dst: negative_NaNd
      Src: /src/gnulib/tests/test-signbit.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:94,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:94,1
    - Dst: positive_SNaNd
      Src: /src/gnulib/tests/test-signbit.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:95,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:95,1
    - Dst: negative_SNaNd
      Src: /src/gnulib/tests/test-signbit.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: test_signbitd
    functionSourceFile: /src/gnulib/tests/test-signbit.c
    functionUses: 0
    functionsReached:
    - Infinityd
    - signbit
    - positive_NaNd
    - negative_NaNd
    - positive_SNaNd
    - negative_SNaNd
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_signbitd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:103,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:104,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:105,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:106,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:107,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:108,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:110,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:112,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:114,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:116,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:116,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-signbit.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:117,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:117,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-signbit.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:119,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:119,1
    - Dst: positive_NaNl
      Src: /src/gnulib/tests/test-signbit.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:120,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:120,1
    - Dst: negative_NaNl
      Src: /src/gnulib/tests/test-signbit.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:123,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:123,1
    - Dst: positive_SNaNl
      Src: /src/gnulib/tests/test-signbit.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-signbit.c:124,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-signbit.c:124,1
    - Dst: negative_SNaNl
      Src: /src/gnulib/tests/test-signbit.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 126
    functionName: test_signbitl
    functionSourceFile: /src/gnulib/tests/test-signbit.c
    functionUses: 0
    functionsReached:
    - negative_SNaNl
    - negative_NaNl
    - positive_SNaNl
    - signbit
    - positive_NaNl
    - Infinityl
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_signbitl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_signbitf
      Src: /src/gnulib/tests/test-signbit.c:131,1
    - Dst: test_signbitd
      Src: /src/gnulib/tests/test-signbit.c:132,1
    - Dst: test_signbitl
      Src: /src/gnulib/tests/test-signbit.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-signbit.c
    functionUses: 12
    functionsReached:
    - test_signbitf
    - test_signbitl
    - test_signbitd
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:77,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:78,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:87,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:94,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 108
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 108
    functionName: trunc_reference
    functionSourceFile: /src/gnulib/tests/test-trunc2.c
    functionUses: 0
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE trunc_reference (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/tests/test-trunc2.c:115,1
    - Dst: isnand
      Src: /src/gnulib/tests/test-trunc2.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: equal
    functionSourceFile: /src/gnulib/tests/test-trunc2.c
    functionUses: 125
    functionsReached:
    - isnand
    linkageType: ''
    returnType: int
    signature: int equal (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:124,1
    - Dst: equal
      Src: /src/gnulib/tests/test-trunc2.c:126,1
    - Dst: L_
      Src: /src/gnulib/tests/test-trunc2.c:127,1
    - Dst: equal
      Src: /src/gnulib/tests/test-trunc2.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - x
    - result
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: correct_result_p
    functionSourceFile: /src/gnulib/tests/test-trunc2.c
    functionUses: 5
    functionsReached:
    - L_
    - equal
    linkageType: ''
    returnType: bool
    signature: bool correct_result_p (DOUBLE x, DOUBLE result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trunc2.c:138,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-trunc2.c:138,1
    - Dst: correct_result_p
      Src: /src/gnulib/tests/test-trunc2.c:142,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-trunc2.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: check
    functionSourceFile: /src/gnulib/tests/test-trunc2.c
    functionUses: 120
    functionsReached:
    - correct_result_p
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int check (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/test-trunc2.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-trunc2.c
    functionUses: 12
    functionsReached:
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-log-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-getpass.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-getpass.c
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-read.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:39,1
    - Dst: write
      Src: /src/gnulib/tests/test-read.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-read.c:40,1
    - Dst: open
      Src: /src/gnulib/tests/test-read.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:45,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-read.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-read.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:52,1
    - Dst: close
      Src: /src/gnulib/tests/test-read.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:58,1
    - Dst: read
      Src: /src/gnulib/tests/test-read.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:59,1
    - Dst: close
      Src: /src/gnulib/tests/test-read.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:65,1
    - Dst: read
      Src: /src/gnulib/tests/test-read.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-read.c:66,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-read.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-read.c
    functionUses: 12
    functionsReached:
    - close
    - open
    - write
    - memcmp
    - read
    - unlink
    - lseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_rusage_data
      Src: /src/gnulib/tests/test-get-rusage-data.c:35,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-get-rusage-data.c:37,1
    - Dst: get_rusage_data
      Src: /src/gnulib/tests/test-get-rusage-data.c:39,1
    - Dst: malloc
      Src: /src/gnulib/tests/test-get-rusage-data.c:41,1
    - Dst: get_rusage_data
      Src: /src/gnulib/tests/test-get-rusage-data.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-get-rusage-data.c:47,1
    - Dst: is_running_under_qemu_user
      Src: /src/gnulib/tests/test-get-rusage-data.c:50,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-get-rusage-data.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-data.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-data.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-data.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-get-rusage-data.c:66,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-get-rusage-data.c
    functionUses: 12
    functionsReached:
    - get_rusage_data
    - is_running_under_qemu_user
    - malloc
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512
      Src: /src/gnulib/tests/test-hmac-sha512.c:33,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:35,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha512.c:36,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-hmac-sha512.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:42,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:45,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:47,1
    - Dst: printf
      Src: /src/gnulib/tests/test-hmac-sha512.c:48,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hmac-sha512.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - key
    - key_len
    - data
    - data_len
    - digest
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: hmac_check
    functionSourceFile: /src/gnulib/tests/test-hmac-sha512.c
    functionUses: 3
    functionsReached:
    - hmac_sha512
    - printf
    - exit
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void hmac_check (const void *key, size_t key_len,\n            const
      void *data, size_t data_len, const char *digest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha512.c:59,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha512.c:67,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha512.c:80,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha512.c:86,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha512.c:89,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha512.c:95,1
    - Dst: memset
      Src: /src/gnulib/tests/test-hmac-sha512.c:101,1
    - Dst: hmac_check
      Src: /src/gnulib/tests/test-hmac-sha512.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 113
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hmac-sha512.c
    functionUses: 12
    functionsReached:
    - hmac_check
    - memset
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: posix_openpt
      Src: /src/gnulib/tests/test-posix_openpt.c:45,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-posix_openpt.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:52,1
    - Dst: ptsname
      Src: /src/gnulib/tests/test-posix_openpt.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:55,1
    - Dst: grantpt
      Src: /src/gnulib/tests/test-posix_openpt.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:56,1
    - Dst: unlockpt
      Src: /src/gnulib/tests/test-posix_openpt.c:56,1
    - Dst: fork
      Src: /src/gnulib/tests/test-posix_openpt.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:69,1
    - Dst: waitpid
      Src: /src/gnulib/tests/test-posix_openpt.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:70,1
    - Dst: WIFEXITED
      Src: /src/gnulib/tests/test-posix_openpt.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:77,1
    - Dst: setsid
      Src: /src/gnulib/tests/test-posix_openpt.c:77,1
    - Dst: open
      Src: /src/gnulib/tests/test-posix_openpt.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:84,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-posix_openpt.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:85,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-posix_openpt.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:87,1
    - Dst: ioctl
      Src: /src/gnulib/tests/test-posix_openpt.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:91,1
    - Dst: isatty
      Src: /src/gnulib/tests/test-posix_openpt.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:95,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_openpt.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_openpt.c:96,1
    - Dst: close
      Src: /src/gnulib/tests/test-posix_openpt.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_openpt.c
    functionUses: 12
    functionsReached:
    - fork
    - isatty
    - fputs
    - grantpt
    - WIFEXITED
    - setsid
    - open
    - ioctl
    - close
    - waitpid
    - ptsname
    - posix_openpt
    - unlockpt
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:29,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-unlink.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:30,1
    - Dst: close
      Src: /src/gnulib/tests/test-unlink.h:30,1
    - Dst: creat
      Src: /src/gnulib/tests/test-unlink.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:34,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:37,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:40,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:41,1
    - Dst: cannot_unlink_dir
      Src: /src/gnulib/tests/test-unlink.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:48,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:49,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:50,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:51,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:52,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-unlink.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:53,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:54,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-unlink.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:57,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:58,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-unlink.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:65,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:66,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-unlink.h:66,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-unlink.h:68,1
    - Dst: cannot_unlink_dir
      Src: /src/gnulib/tests/test-unlink.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:73,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:74,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:75,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-unlink.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:77,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:81,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:82,1
    - Dst: func
      Src: /src/gnulib/tests/test-unlink.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-unlink.h:83,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-unlink.h:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: test_unlink_func
    functionSourceFile: /src/gnulib/tests/test-unlink.h
    functionUses: 1
    functionsReached:
    - ASSERT
    - symlink
    - rmdir
    - fputs
    - close
    - cannot_unlink_dir
    - creat
    - func
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_unlink_func (int (*func) (char const *name), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnulib/tests/test-localtime_r.c:44,1
    - Dst: localtime
      Src: /src/gnulib/tests/test-localtime_r.c:49,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-localtime_r.c:61,1
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:87,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localtime_r.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:91,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localtime_r.c:91,1
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:111,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localtime_r.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localtime_r.c:115,1
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:133,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localtime_r.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:137,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localtime_r.c:137,1
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:157,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localtime_r.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:161,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localtime_r.c:161,1
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:179,1
    - Dst: printf
      Src: /src/gnulib/tests/test-localtime_r.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r.c:183,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-localtime_r.c:183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localtime_r.c
    functionUses: 12
    functionsReached:
    - localtime_r
    - fputs
    - setenv
    - localtime
    - strcmp
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_startswith
      Src: /src/gnulib/tests/test-environ.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-environ.c
    functionUses: 12
    functionsReached:
    - str_startswith
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrtf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrtf-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-c32isprint.c:39,1
    - Dst: mbrtoc32
      Src: /src/gnulib/tests/test-c32isprint.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:42,1
    - Dst: c32isprint
      Src: /src/gnulib/tests/test-c32isprint.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: for_character
    functionSourceFile: /src/gnulib/tests/test-c32isprint.c
    functionUses: 16
    functionsReached:
    - c32isprint
    - mbrtoc32
    - ASSERT
    - memset
    linkageType: ''
    returnType: int
    signature: int for_character (const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c32isprint.c:54,1
    - Dst: c32isprint
      Src: /src/gnulib/tests/test-c32isprint.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:59,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:101,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:120,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:124,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:129,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:139,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:143,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:146,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:156,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:160,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:164,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:168,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:173,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:178,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:183,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:188,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:193,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-c32isprint.c:203,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:209,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:213,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:216,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:219,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:224,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:229,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:234,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:239,1
    - Dst: for_character
      Src: /src/gnulib/tests/test-c32isprint.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32isprint.c:244,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 187
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 252
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32isprint.c
    functionUses: 12
    functionsReached:
    - setlocale
    - fputs
    - for_character
    - c32isprint
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-netinet_in-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainderf-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainderf-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:34,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:35,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:53,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:61,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:67,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:67,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:68,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:71,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:72,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:73,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:88,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:90,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log.h:94,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/test-log.h:95,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:97,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:98,1
    - Dst: L_
      Src: /src/gnulib/tests/test-log.h:100,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:102,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:102,1
    - Dst: LOG
      Src: /src/gnulib/tests/test-log.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log.h:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 107
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-log.h
    functionUses: 193
    functionsReached:
    - L_
    - SIZEOF
    - ASSERT
    - LOG
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:36,1
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 205
    argCount: 1
    argNames:
    - locale
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 108
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 108
    functionName: test_single_locale_common
    functionSourceFile: /src/gnulib/tests/test-ispunct_l.c
    functionUses: 15
    functionsReached:
    - ispunct_l
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_single_locale_common (locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/tests/test-ispunct_l.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:115,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-ispunct_l.c:117,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-ispunct_l.c:119,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-ispunct_l.c:124,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-ispunct_l.c:126,1
    - Dst: newlocale
      Src: /src/gnulib/tests/test-ispunct_l.c:128,1
    - Dst: test_single_locale_common
      Src: /src/gnulib/tests/test-ispunct_l.c:132,1
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:140,1
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:145,1
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:149,1
    - Dst: ispunct_l
      Src: /src/gnulib/tests/test-ispunct_l.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ispunct_l.c:152,1
    - Dst: freelocale
      Src: /src/gnulib/tests/test-ispunct_l.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 160
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ispunct_l.c
    functionUses: 12
    functionsReached:
    - test_single_locale_common
    - newlocale
    - freelocale
    - ispunct_l
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ilogbl.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ilogbl.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-ldexpl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ldexpl-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r-mt.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r-mt.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localtime_r-mt.c:70,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localtime_r-mt.c:70,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localtime_r-mt.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-localtime_r-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - localtime_r
    - fflush
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/gnulib/tests/test-localtime_r-mt.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-localtime_r-mt.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-localtime_r-mt.c:97,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-localtime_r-mt.c:97,1
    - Dst: abort
      Src: /src/gnulib/tests/test-localtime_r-mt.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-localtime_r-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - localtime_r
    - fflush
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnulib/tests/test-localtime_r-mt.c:108,1
    - Dst: localtime
      Src: /src/gnulib/tests/test-localtime_r-mt.c:113,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-localtime_r-mt.c:125,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localtime_r-mt.c:132,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-localtime_r-mt.c:133,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-localtime_r-mt.c:138,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-localtime_r-mt.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 145
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localtime_r-mt.c
    functionUses: 12
    functionsReached:
    - nanosleep
    - fputs
    - gl_thread_create
    - atoi
    - setenv
    - localtime
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-localtime_r-mt.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-localtime_r-mt.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:41,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:48,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:53,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:53,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:58,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:58,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:65,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:65,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:72,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:80,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:107,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:114,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:114,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:130,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:130,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:136,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:148,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:148,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:163,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:163,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:164,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:164,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:173,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:179,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:179,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:185,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:186,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:186,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:194,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:194,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:200,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:210,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:210,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:218,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:224,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:224,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:231,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:231,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:239,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:239,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:245,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:246,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:256,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:256,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:264,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:270,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:270,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:276,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:277,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:277,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:285,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:285,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:293,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:293,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:299,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:300,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:309,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:309,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:317,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:323,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:323,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:330,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:330,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:336,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:337,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:338,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:338,1
    - Dst: mbsnrtowcs
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:344,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:345,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:349,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:350,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:354,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:355,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbsnrtowcs.c:355,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 233
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 368
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsnrtowcs.c
    functionUses: 12
    functionsReached:
    - mbsnrtowcs
    - wctob
    - setlocale
    - mbrtowc
    - mbsinit
    - btowc
    - strcmp
    - memset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lgamma
      Src: /src/gnulib/tests/test-lgamma.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lgamma.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-lgamma.c
    functionUses: 12
    functionsReached:
    - lgamma
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: CHECK
    functionSourceFile: /src/gnulib/tests/test-alignof.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void CHECK (char)

      CHECK (short)

      CHECK (int)

      CHECK (long)

      CHECK (float)

      CHECK (double)

      CHECK (longdouble)

      #ifdef INT64_MAX

      CHECK (int64_t)

      #endif

      CHECK (struct1)

      CHECK (struct2)

      CHECK (struct3)

      CHECK (struct4)


      int

      main ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-parse-duration.c:33,1
    - Dst: parse_duration
      Src: /src/gnulib/tests/test-parse-duration.c:40,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-parse-duration.c:43,1
    - Dst: strerror
      Src: /src/gnulib/tests/test-parse-duration.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/test-parse-duration.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-parse-duration.c
    functionUses: 12
    functionsReached:
    - strerror
    - printf
    - fprintf
    - parse_duration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-md5.c:31,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:34,1
    - Dst: gc_md5
      Src: /src/gnulib/tests/test-gc-md5.c:50,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:52,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md5.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:61,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:64,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:65,1
    - Dst: gc_hash_buffer
      Src: /src/gnulib/tests/test-gc-md5.c:69,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:71,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md5.c:75,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:78,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:80,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:81,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:83,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:84,1
    - Dst: gc_hash_digest_length
      Src: /src/gnulib/tests/test-gc-md5.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:90,1
    - Dst: gc_hash_open
      Src: /src/gnulib/tests/test-gc-md5.c:94,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:96,1
    - Dst: gc_hash_write
      Src: /src/gnulib/tests/test-gc-md5.c:100,1
    - Dst: gc_hash_read
      Src: /src/gnulib/tests/test-gc-md5.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:106,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-md5.c:110,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:113,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:115,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:116,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:118,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-md5.c:119,1
    - Dst: gc_hash_close
      Src: /src/gnulib/tests/test-gc-md5.c:123,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-md5.c:126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 129
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-md5.c
    functionUses: 12
    functionsReached:
    - gc_hash_open
    - gc_init
    - gc_md5
    - memcmp
    - gc_hash_digest_length
    - gc_hash_read
    - gc_hash_close
    - gc_done
    - gc_hash_write
    - printf
    - gc_hash_buffer
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log2
      Src: /src/gnulib/tests/test-log2.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log2.c:48,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log2.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log2.c
    functionUses: 12
    functionsReached:
    - log2
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: system_quote_length
      Src: /src/gnulib/tests/test-system-quote-main.c:51,1
    - Dst: system_quote
      Src: /src/gnulib/tests/test-system-quote-main.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-system-quote-main.c:54,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-system-quote-main.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-system-quote-main.c:56,1
    - Dst: memset
      Src: /src/gnulib/tests/test-system-quote-main.c:57,1
    - Dst: system_quote_copy
      Src: /src/gnulib/tests/test-system-quote-main.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-system-quote-main.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-system-quote-main.c:61,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-system-quote-main.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-system-quote-main.c:62,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-system-quote-main.c:67,1
    - Dst: exit
      Src: /src/gnulib/tests/test-system-quote-main.c:69,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-system-quote-main.c:70,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-system-quote-main.c:70,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-system-quote-main.c:70,1
    - Dst: exit
      Src: /src/gnulib/tests/test-system-quote-main.c:71,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-system-quote-main.c:72,1
    - Dst: exit
      Src: /src/gnulib/tests/test-system-quote-main.c:73,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:80,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:92,1
    - Dst: popen
      Src: /src/gnulib/tests/test-system-quote-main.c:98,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:102,1
    - Dst: GetStdHandle
      Src: /src/gnulib/tests/test-system-quote-main.c:120,1
    - Dst: GetStdHandle
      Src: /src/gnulib/tests/test-system-quote-main.c:121,1
    - Dst: GetStdHandle
      Src: /src/gnulib/tests/test-system-quote-main.c:122,1
    - Dst: CreateProcess
      Src: /src/gnulib/tests/test-system-quote-main.c:124,1
    - Dst: CloseHandle
      Src: /src/gnulib/tests/test-system-quote-main.c:128,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/tests/test-system-quote-main.c:129,1
    - Dst: GetExitCodeProcess
      Src: /src/gnulib/tests/test-system-quote-main.c:131,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:135,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:142,1
    - Dst: GetLastError
      Src: /src/gnulib/tests/test-system-quote-main.c:143,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:149,1
    - Dst: CloseHandle
      Src: /src/gnulib/tests/test-system-quote-main.c:153,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:157,1
    - Dst: GetLastError
      Src: /src/gnulib/tests/test-system-quote-main.c:158,1
    - Dst: free
      Src: /src/gnulib/tests/test-system-quote-main.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 3
    argNames:
    - interpreter
    - prog
    - input
    argTypes:
    - enum system_command_interpreter
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 170
    functionName: check_one
    functionSourceFile: /src/gnulib/tests/test-system-quote-main.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - GetStdHandle
    - fclose
    - system_quote_length
    - free
    - memcmp
    - system_quote
    - memset
    - sprintf
    - WaitForSingleObject
    - ASSERT
    - fopen
    - exit
    - strlen
    - GetExitCodeProcess
    - GetLastError
    - CreateProcess
    - system_quote_copy
    - fwrite
    - popen
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void check_one (enum system_command_interpreter interpreter, const
      char *prog,\n           const char *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:183,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:186,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:187,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:190,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:193,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:194,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:196,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:199,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:202,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:206,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:210,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:214,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:217,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:220,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:224,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:227,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:228,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:232,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:233,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:236,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:240,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:243,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:246,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:247,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:248,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:249,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:250,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:251,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:252,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:253,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:254,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:255,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:256,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:259,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:262,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:263,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:266,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:269,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:272,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:276,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:280,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:284,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:285,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:288,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:291,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:292,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:293,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:294,1
    - Dst: strchr
      Src: /src/gnulib/tests/test-system-quote-main.c:298,1
    - Dst: check_one
      Src: /src/gnulib/tests/test-system-quote-main.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 3
    argNames:
    - interpreter
    - windows_cmd_limitations
    - prog
    argTypes:
    - enum system_command_interpreter
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 310
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-system-quote-main.c
    functionUses: 18
    functionsReached:
    - strchr
    - check_one
    linkageType: ''
    returnType: void
    signature: "void check_all (enum system_command_interpreter interpreter,\n           bool
      windows_cmd_limitations,\n           const char *prog)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-main.c:319,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-system-quote-main.c:336,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-system-quote-main.c:337,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-system-quote-main.c:338,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-system-quote-main.c:340,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-system-quote-main.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 347
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-system-quote-main.c
    functionUses: 12
    functionsReached:
    - fprintf
    - check_all
    - unlink
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:54,1
    - Dst: create_server
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:57,1
    - Dst: sprintf
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:64,1
    - Dst: _spawnvpe
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:80,1
    - Dst: create_server_socket
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:91,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:91,1
    - Dst: getsockopt
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:98,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:99,1
    - Dst: getsockopt
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:106,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:107,1
    - Dst: main_writer_loop
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nonblocking-socket-main.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 123
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nonblocking-socket-main.c
    functionUses: 12
    functionsReached:
    - create_server_socket
    - create_server
    - set_nonblocking_flag
    - getsockopt
    - atoi
    - _spawnvpe
    - main_writer_loop
    - sprintf
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswalnum
      Src: /src/gnulib/tests/test-wctype-h.c:40,1
    - Dst: iswalpha
      Src: /src/gnulib/tests/test-wctype-h.c:41,1
    - Dst: iswcntrl
      Src: /src/gnulib/tests/test-wctype-h.c:42,1
    - Dst: iswdigit
      Src: /src/gnulib/tests/test-wctype-h.c:43,1
    - Dst: iswgraph
      Src: /src/gnulib/tests/test-wctype-h.c:44,1
    - Dst: iswlower
      Src: /src/gnulib/tests/test-wctype-h.c:45,1
    - Dst: iswprint
      Src: /src/gnulib/tests/test-wctype-h.c:46,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:47,1
    - Dst: iswspace
      Src: /src/gnulib/tests/test-wctype-h.c:48,1
    - Dst: iswupper
      Src: /src/gnulib/tests/test-wctype-h.c:49,1
    - Dst: iswxdigit
      Src: /src/gnulib/tests/test-wctype-h.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:53,1
    - Dst: iswalnum
      Src: /src/gnulib/tests/test-wctype-h.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:54,1
    - Dst: iswalpha
      Src: /src/gnulib/tests/test-wctype-h.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:55,1
    - Dst: iswcntrl
      Src: /src/gnulib/tests/test-wctype-h.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:56,1
    - Dst: iswdigit
      Src: /src/gnulib/tests/test-wctype-h.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:57,1
    - Dst: iswgraph
      Src: /src/gnulib/tests/test-wctype-h.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:58,1
    - Dst: iswlower
      Src: /src/gnulib/tests/test-wctype-h.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:59,1
    - Dst: iswprint
      Src: /src/gnulib/tests/test-wctype-h.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:60,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:61,1
    - Dst: iswspace
      Src: /src/gnulib/tests/test-wctype-h.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:62,1
    - Dst: iswupper
      Src: /src/gnulib/tests/test-wctype-h.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:63,1
    - Dst: iswxdigit
      Src: /src/gnulib/tests/test-wctype-h.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:66,1
    - Dst: iswprint
      Src: /src/gnulib/tests/test-wctype-h.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:67,1
    - Dst: iswprint
      Src: /src/gnulib/tests/test-wctype-h.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:68,1
    - Dst: iswprint
      Src: /src/gnulib/tests/test-wctype-h.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:73,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:74,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:75,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:76,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:77,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:78,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:79,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:80,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:81,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:82,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:83,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:84,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:85,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:86,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:87,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:88,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:89,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:90,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:91,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:92,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:93,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:94,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:95,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:96,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:97,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:98,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:99,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:100,1
    - Dst: iswpunct
      Src: /src/gnulib/tests/test-wctype-h.c:100,1
    - Dst: towlower
      Src: /src/gnulib/tests/test-wctype-h.c:103,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-wctype-h.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:107,1
    - Dst: towlower
      Src: /src/gnulib/tests/test-wctype-h.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wctype-h.c:108,1
    - Dst: towupper
      Src: /src/gnulib/tests/test-wctype-h.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wctype-h.c
    functionUses: 12
    functionsReached:
    - iswprint
    - iswspace
    - iswdigit
    - iswpunct
    - iswlower
    - iswgraph
    - iswalnum
    - towlower
    - iswupper
    - iswalpha
    - iswcntrl
    - iswxdigit
    - ASSERT
    - towupper
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fopen.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-c-vasnprintf.c:33,1
    - Dst: c_vasnprintf
      Src: /src/gnulib/tests/test-c-vasnprintf.c:34,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-c-vasnprintf.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: my_c_asnprintf
    functionSourceFile: /src/gnulib/tests/test-c-vasnprintf.c
    functionUses: 0
    functionsReached:
    - c_vasnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      my_c_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-c-vasnprintf.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasnprintf.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c-vasnprintf.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-c-vasnprintf.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c-vasnprintf.c
    functionUses: 12
    functionsReached:
    - strcmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:43,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:43,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-ftell.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:51,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:51,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftell.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:55,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:55,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftell.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:60,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:60,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftell.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:64,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:67,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftell.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:68,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:68,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftell.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:72,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftell.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:75,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:75,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-ftell.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:79,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:79,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-ftell.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:92,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftell.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:93,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:93,1
    - Dst: ungetc
      Src: /src/gnulib/tests/test-ftell.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:97,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:102,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftell.c:102,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:104,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-ftell.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ftell.c:105,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-ftell.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 109
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ftell.c
    functionUses: 12
    functionsReached:
    - fgetc
    - ungetc
    - fputs
    - ftell
    - set_binary_mode
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STREQ
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:44,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:45,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:46,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:47,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:50,1
    - Dst: exit
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:51,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:55,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:59,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:61,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-3.c
    functionUses: 12
    functionsReached:
    - exit
    - STREQ
    - fputs
    - feenableexcept
    - feclearexcept
    - printf
    - feraiseexcept
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-except-tracking-3.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-except-tracking-3.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-langinfo-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:37,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:39,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:41,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:43,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:45,1
    - Dst: sf_ungetc
      Src: /src/gnulib/tests/test-sf-istream.c:46,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:48,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:50,1
    - Dst: sf_ungetc
      Src: /src/gnulib/tests/test-sf-istream.c:51,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:53,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:55,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:57,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:59,1
    - Dst: sf_ungetc
      Src: /src/gnulib/tests/test-sf-istream.c:60,1
    - Dst: sf_getc
      Src: /src/gnulib/tests/test-sf-istream.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:63,1
    - Dst: sf_ferror
      Src: /src/gnulib/tests/test-sf-istream.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sf_istream_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: test_open_stream
    functionSourceFile: /src/gnulib/tests/test-sf-istream.c
    functionUses: 1
    functionsReached:
    - sf_ungetc
    - sf_getc
    - ASSERT
    - sf_ferror
    linkageType: ''
    returnType: void
    signature: void test_open_stream (sf_istream_t *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-sf-istream.c:74,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-sf-istream.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:77,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-sf-istream.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sf-istream.c:78,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-sf-istream.c:78,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-sf-istream.c:81,1
    - Dst: sf_istream_init_from_file
      Src: /src/gnulib/tests/test-sf-istream.c:83,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sf-istream.c:84,1
    - Dst: sf_free
      Src: /src/gnulib/tests/test-sf-istream.c:85,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-sf-istream.c:87,1
    - Dst: sf_istream_init_from_string_desc
      Src: /src/gnulib/tests/test-sf-istream.c:93,1
    - Dst: sd_new_addr
      Src: /src/gnulib/tests/test-sf-istream.c:94,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sf-istream.c:95,1
    - Dst: sf_free
      Src: /src/gnulib/tests/test-sf-istream.c:96,1
    - Dst: sf_istream_init_from_string
      Src: /src/gnulib/tests/test-sf-istream.c:102,1
    - Dst: test_open_stream
      Src: /src/gnulib/tests/test-sf-istream.c:103,1
    - Dst: sf_free
      Src: /src/gnulib/tests/test-sf-istream.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sf-istream.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - sf_free
    - sf_istream_init_from_string
    - fwrite
    - unlink
    - test_open_stream
    - sf_istream_init_from_file
    - sd_new_addr
    - sf_istream_init_from_string_desc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen-gnu.c:44,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen-gnu.c:45,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen-gnu.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:49,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fopen-gnu.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:51,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fopen-gnu.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:55,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen-gnu.c:55,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen-gnu.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:59,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fopen-gnu.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:61,1
    - Dst: fcntl
      Src: /src/gnulib/tests/test-fopen-gnu.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:65,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen-gnu.c:65,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen-gnu.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:70,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen-gnu.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:75,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fopen-gnu.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:76,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen-gnu.c:76,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fopen-gnu.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:80,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fopen-gnu.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:81,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fopen-gnu.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:84,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen-gnu.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fopen-gnu.c:85,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fopen-gnu.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fopen-gnu.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - fcntl
    - fwrite
    - fread
    - unlink
    - fileno
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vdprintf-gnu.c:38,1
    - Dst: vdprintf
      Src: /src/gnulib/tests/test-vdprintf-gnu.c:39,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-vdprintf-gnu.c:39,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vdprintf-gnu.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: my_fprintf
    functionSourceFile: /src/gnulib/tests/test-vdprintf-gnu.c
    functionUses: 1
    functionsReached:
    - va_start
    - fileno
    - va_end
    - vdprintf
    linkageType: ''
    returnType: int
    signature: int my_fprintf (FILE *fp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vdprintf-gnu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vdprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tanh
      Src: /src/gnulib/tests/test-tanh.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-tanh.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-tanh.c
    functionUses: 12
    functionsReached:
    - tanh
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:37,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-hash.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: hash_compare_strings
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - STREQ
    linkageType: ''
    returnType: bool
    signature: bool hash_compare_strings (void const *x, void const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/tests/test-hash.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: hash_freer
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hash_freer (void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht
    - ent
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: insert_new
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void insert_new (Hash_table *ht, const void *ent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ent
    - data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: walk
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool walk (void *ent, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/gnulib/tests/test-hash.c:73,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-hash.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - seed
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: get_seed
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 3
    functionsReached:
    - strspn
    - atoi
    linkageType: ''
    returnType: int
    signature: int get_seed (char const *str, unsigned int *seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_reset_tuning
      Src: /src/gnulib/tests/test-hash.c:89,1
    - Dst: get_seed
      Src: /src/gnulib/tests/test-hash.c:99,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-hash.c:101,1
    - Dst: exit
      Src: /src/gnulib/tests/test-hash.c:102,1
    - Dst: srand
      Src: /src/gnulib/tests/test-hash.c:105,1
    - Dst: ARRAY_CARDINALITY
      Src: /src/gnulib/tests/test-hash.c:108,1
    - Dst: hash_initialize
      Src: /src/gnulib/tests/test-hash.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:112,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:117,1
    - Dst: hash_insert
      Src: /src/gnulib/tests/test-hash.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:120,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-hash.c:120,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash.c:121,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:123,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:126,1
    - Dst: hash_do_for_each
      Src: /src/gnulib/tests/test-hash.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:130,1
    - Dst: hash_get_entries
      Src: /src/gnulib/tests/test-hash.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:131,1
    - Dst: hash_get_entries
      Src: /src/gnulib/tests/test-hash.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:132,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-hash.c:132,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-hash.c:132,1
    - Dst: STREQ
      Src: /src/gnulib/tests/test-hash.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:134,1
    - Dst: hash_remove
      Src: /src/gnulib/tests/test-hash.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:135,1
    - Dst: hash_remove
      Src: /src/gnulib/tests/test-hash.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:136,1
    - Dst: hash_remove
      Src: /src/gnulib/tests/test-hash.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:137,1
    - Dst: hash_remove
      Src: /src/gnulib/tests/test-hash.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:139,1
    - Dst: hash_rehash
      Src: /src/gnulib/tests/test-hash.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:140,1
    - Dst: hash_rehash
      Src: /src/gnulib/tests/test-hash.c:140,1
    - Dst: hash_clear
      Src: /src/gnulib/tests/test-hash.c:143,1
    - Dst: hash_free
      Src: /src/gnulib/tests/test-hash.c:144,1
    - Dst: hash_initialize
      Src: /src/gnulib/tests/test-hash.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:147,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:149,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:150,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:151,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:152,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:153,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:154,1
    - Dst: hash_clear
      Src: /src/gnulib/tests/test-hash.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:157,1
    - Dst: hash_get_n_entries
      Src: /src/gnulib/tests/test-hash.c:157,1
    - Dst: hash_free
      Src: /src/gnulib/tests/test-hash.c:158,1
    - Dst: hash_initialize
      Src: /src/gnulib/tests/test-hash.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:165,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:166,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:168,1
    - Dst: hash_lookup
      Src: /src/gnulib/tests/test-hash.c:168,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash.c:169,1
    - Dst: hash_free
      Src: /src/gnulib/tests/test-hash.c:171,1
    - Dst: hash_reset_tuning
      Src: /src/gnulib/tests/test-hash.c:174,1
    - Dst: hash_initialize
      Src: /src/gnulib/tests/test-hash.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:183,1
    - Dst: hash_initialize
      Src: /src/gnulib/tests/test-hash.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:211,1
    - Dst: insert_new
      Src: /src/gnulib/tests/test-hash.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:219,1
    - Dst: hash_rehash
      Src: /src/gnulib/tests/test-hash.c:219,1
    - Dst: rand
      Src: /src/gnulib/tests/test-hash.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:228,1
    - Dst: hash_rehash
      Src: /src/gnulib/tests/test-hash.c:228,1
    - Dst: hash_get_first
      Src: /src/gnulib/tests/test-hash.c:242,1
    - Dst: hash_get_next
      Src: /src/gnulib/tests/test-hash.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:247,1
    - Dst: hash_remove
      Src: /src/gnulib/tests/test-hash.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:249,1
    - Dst: free
      Src: /src/gnulib/tests/test-hash.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hash.c:255,1
    - Dst: hash_table_ok
      Src: /src/gnulib/tests/test-hash.c:255,1
    - Dst: hash_free
      Src: /src/gnulib/tests/test-hash.c:258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 113
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 262
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hash.c
    functionUses: 12
    functionsReached:
    - hash_insert
    - srand
    - get_seed
    - free
    - hash_get_entries
    - rand
    - hash_rehash
    - insert_new
    - ASSERT
    - exit
    - hash_get_next
    - hash_do_for_each
    - hash_clear
    - hash_get_n_entries
    - ARRAY_CARDINALITY
    - hash_table_ok
    - hash_reset_tuning
    - hash_get_first
    - fprintf
    - hash_remove
    - STREQ
    - hash_lookup
    - hash_initialize
    - hash_free
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_getres.c:32,1
    - Dst: timespec_getres
      Src: /src/gnulib/tests/test-timespec_getres.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-timespec_getres.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-timespec_getres.c
    functionUses: 12
    functionsReached:
    - timespec_getres
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-snzprintf-gnu.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snzprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:74,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:74,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: thread1_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread1_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:90,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:92,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:92,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: thread2_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread2_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:108,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:110,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:110,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: thread3_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread3_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:126,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:128,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:128,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: thread4_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread4_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:144,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:146,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:146,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: thread5_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread5_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:164,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:164,1
    - Dst: abort
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: thread6_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - abort
    - fflush
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread6_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:177,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:178,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:179,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:180,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:181,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:182,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:183,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:184,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:185,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: threadN_func
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 0
    functionsReached:
    - nl_langinfo
    linkageType: ''
    returnType: void
    signature: 'void *

      threadN_func (void *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:195,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:197,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:200,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:202,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:205,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:207,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:211,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:211,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:212,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:212,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:213,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:213,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:214,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:214,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:215,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:215,1
    - Dst: strdup
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:216,1
    - Dst: nl_langinfo
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:216,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:219,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:220,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:221,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:222,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:223,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:224,1
    - Dst: gl_thread_create
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:226,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:231,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 238
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 12
    functionsReached:
    - strdup
    - nanosleep
    - setlocale
    - gl_thread_create
    - atoi
    - nl_langinfo
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-nl_langinfo-mt.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nl_langinfo-mt.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-btowc.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:40,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-btowc.c:47,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:76,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:78,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:84,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-btowc.c:86,1
    - Dst: btowc
      Src: /src/gnulib/tests/test-btowc.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-btowc.c
    functionUses: 12
    functionsReached:
    - strcmp
    - btowc
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c:37,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c:39,1
    - Dst: posix_spawn_file_actions_addfchdir
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c:39,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-posix_spawn_file_actions_addfchdir.c
    functionUses: 12
    functionsReached:
    - posix_spawn_file_actions_init
    - posix_spawn_file_actions_addfchdir
    - posix_spawn_file_actions_destroy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/gnulib/tests/test-strndup.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_strndup
    functionSourceFile: /src/gnulib/tests/test-strndup.c
    functionUses: 0
    functionsReached:
    - strndup
    linkageType: ''
    returnType: char
    signature: 'char *

      lib_strndup (char const *s, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-strndup.c:42,1
    - Dst: strndup
      Src: /src/gnulib/tests/test-strndup.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-strndup.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - strndup
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbrtf
      Src: /src/gnulib/tests/test-cbrtf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cbrtf.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-cbrtf.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cbrtf.c
    functionUses: 12
    functionsReached:
    - test_function
    - cbrtf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwritable.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:41,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:41,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwritable.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:44,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:44,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwritable.c:45,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwritable.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:52,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:52,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:55,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:55,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwritable.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:58,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:58,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:61,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:61,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fwritable.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:63,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:63,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:66,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:66,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwritable.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:69,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:69,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwritable.c:70,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwritable.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:77,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:77,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:80,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:80,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwritable.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:83,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:83,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:86,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:86,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fwritable.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:88,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:88,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fwritable.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:91,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:91,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fwritable.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:94,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:94,1
    - Dst: fseek
      Src: /src/gnulib/tests/test-fwritable.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:97,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:97,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwritable.c:98,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fwritable.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:105,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:105,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fwritable.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fwritable.c:108,1
    - Dst: fwritable
      Src: /src/gnulib/tests/test-fwritable.c:108,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fwritable.c:109,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fwritable.c:117,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fwritable.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - fgetc
    - fwrite
    - fwritable
    - fprintf
    - fflush
    - fputc
    - fseek
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/tests/test-cloexec.c:50,1
    - Dst: GetHandleInformation
      Src: /src/gnulib/tests/test-cloexec.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: is_inheritable
    functionSourceFile: /src/gnulib/tests/test-cloexec.c
    functionUses: 3
    functionsReached:
    - _get_osfhandle
    - GetHandleInformation
    linkageType: ''
    returnType: int
    signature: int is_inheritable (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - int
    - mode
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: set_binary_mode
    functionSourceFile: /src/gnulib/tests/test-cloexec.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_binary_mode (_GL_UNUSED int fd, _GL_UNUSED int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-cloexec.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: is_mode
    functionSourceFile: /src/gnulib/tests/test-cloexec.c
    functionUses: 3
    functionsReached:
    - set_binary_mode
    linkageType: ''
    returnType: int
    signature: int is_mode (int fd, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:93,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-cloexec.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:96,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-cloexec.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:98,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-cloexec.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:100,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-cloexec.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:101,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-cloexec.c:101,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:106,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-cloexec.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:107,1
    - Dst: close
      Src: /src/gnulib/tests/test-cloexec.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:108,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:109,1
    - Dst: is_inheritable
      Src: /src/gnulib/tests/test-cloexec.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:110,1
    - Dst: close
      Src: /src/gnulib/tests/test-cloexec.c:110,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-cloexec.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:115,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-cloexec.c:115,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:118,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-cloexec.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:119,1
    - Dst: close
      Src: /src/gnulib/tests/test-cloexec.c:119,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-cloexec.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:121,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-cloexec.c:121,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:124,1
    - Dst: is_mode
      Src: /src/gnulib/tests/test-cloexec.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:125,1
    - Dst: close
      Src: /src/gnulib/tests/test-cloexec.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:129,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-cloexec.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:132,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-cloexec.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:135,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/tests/test-cloexec.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:138,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:141,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:144,1
    - Dst: dup_cloexec
      Src: /src/gnulib/tests/test-cloexec.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:148,1
    - Dst: close
      Src: /src/gnulib/tests/test-cloexec.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-cloexec.c:149,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-cloexec.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-cloexec.c
    functionUses: 12
    functionsReached:
    - is_mode
    - dup_cloexec
    - is_inheritable
    - close
    - unlink
    - set_binary_mode
    - set_cloexec_flag
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:23,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:24,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:25,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:26,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:27,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:27,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:27,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:28,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:28,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:28,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:29,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:29,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:29,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:30,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:30,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:31,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:31,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:32,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:32,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:35,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:35,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:35,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:36,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:36,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:37,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:37,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:38,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:38,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:38,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:39,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:39,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:39,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:40,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:40,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:40,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:41,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:41,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:41,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:42,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:42,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:42,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:44,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:45,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:46,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:46,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:47,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:47,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:48,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:48,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:49,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:50,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:51,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:51,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:54,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:54,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:55,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:55,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:56,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:56,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:56,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:57,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:57,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:57,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:58,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:58,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:58,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:59,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:59,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:60,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:60,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:61,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:61,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:61,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:62,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:62,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:62,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:63,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:63,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:63,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:64,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:64,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:64,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:65,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:65,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:65,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:68,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:68,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:68,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:68,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:69,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:69,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:69,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:70,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:70,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:70,1
    - Dst: L_
      Src: /src/gnulib/tests/test-fma-ieee.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fma-ieee.h:71,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-fma-ieee.h:71,1
    - Dst: FMA
      Src: /src/gnulib/tests/test-fma-ieee.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 72
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fma-ieee.h
    functionUses: 199
    functionsReached:
    - L_
    - FMA
    - ASSERT
    - ISNAN
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log1p
      Src: /src/gnulib/tests/test-log1p.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-log1p.c:44,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-log1p.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-log1p.c
    functionUses: 12
    functionsReached:
    - test_function
    - log1p
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hypotl
      Src: /src/gnulib/tests/test-hypotl.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-hypotl.c:55,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-hypotl.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-hypotl.c
    functionUses: 12
    functionsReached:
    - test_function
    - hypotl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:48,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32.c:50,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:53,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32.c:55,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:58,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32.c:60,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32.c:65,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-setlocale-w32.c:70,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:76,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:78,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:80,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:82,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:84,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:86,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:88,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:89,1
    - Dst: _strdup
      Src: /src/gnulib/tests/test-setlocale-w32.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:99,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:99,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:102,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:102,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:104,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:108,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:108,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:112,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:112,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:114,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:114,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:116,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:116,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:118,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:118,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:120,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:120,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:122,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:122,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-setlocale-w32.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-setlocale-w32.c:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-setlocale-w32.c:125,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale-w32.c
    functionUses: 12
    functionsReached:
    - _strdup
    - setlocale
    - strcmp
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-setlocale-w32.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-setlocale-w32.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg.h:55,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-quotearg.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - la
    - b
    - lb
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: compare
    functionSourceFile: /src/gnulib/tests/test-quotearg.h
    functionUses: 29
    functionsReached:
    - ASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void compare (char const *a, size_t la, char const *b, size_t lb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:67,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:68,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:68,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:71,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:72,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:75,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:76,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:76,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:78,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:79,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:80,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:82,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:83,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:84,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:84,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:87,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:88,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:88,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:90,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:91,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:92,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:92,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:94,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:95,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:96,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:96,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:98,1
    - Dst: func
      Src: /src/gnulib/tests/test-quotearg.h:99,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:101,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:101,1
    - Dst: compare
      Src: /src/gnulib/tests/test-quotearg.h:103,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - results
    - ascii_only
    argTypes:
    - struct result_strings*
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 104
    functionName: compare_strings
    functionSourceFile: /src/gnulib/tests/test-quotearg.h
    functionUses: 2
    functionsReached:
    - func
    - strlen
    - compare
    linkageType: ''
    returnType: void
    signature: "void compare_strings (char *(func) (char const *, size_t *),\n                 struct
      result_strings *results, bool ascii_only)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/tests/test-quotearg.h:111,1
    - Dst: quotearg_buffer
      Src: /src/gnulib/tests/test-quotearg.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-quotearg.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: use_quotearg_buffer
    functionSourceFile: /src/gnulib/tests/test-quotearg.h
    functionUses: 0
    functionsReached:
    - quotearg_buffer
    - ASSERT
    - memset
    linkageType: ''
    returnType: char
    signature: 'char *

      use_quotearg_buffer (const char *str, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: use_quotearg
    functionSourceFile: /src/gnulib/tests/test-quotearg.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      use_quotearg (const char *str, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/tests/test-quotearg.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: use_quotearg_colon
    functionSourceFile: /src/gnulib/tests/test-quotearg.h
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      use_quotearg_colon (const char *str, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:36,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:36,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:37,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:37,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:39,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:39,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:40,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:40,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:42,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:43,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:43,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-truncf-ieee.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:48,1
    - Dst: isnanf
      Src: /src/gnulib/tests/test-truncf-ieee.c:48,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:48,1
    - Dst: NaNf
      Src: /src/gnulib/tests/test-truncf-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:50,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:50,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf-ieee.c:50,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf-ieee.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-truncf-ieee.c:51,1
    - Dst: truncf
      Src: /src/gnulib/tests/test-truncf-ieee.c:51,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf-ieee.c:51,1
    - Dst: Infinityf
      Src: /src/gnulib/tests/test-truncf-ieee.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-truncf-ieee.c
    functionUses: 12
    functionsReached:
    - truncf
    - Infinityf
    - NaNf
    - signbit
    - isnanf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wmemset.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ws
    - wc
    - n
    argTypes:
    - wchar_t*
    - wchar_t
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_wmemset
    functionSourceFile: /src/gnulib/tests/test-wmemset.c
    functionUses: 0
    functionsReached:
    - wmemset
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wmemset (wchar_t *ws, wchar_t wc, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemset.c:42,1
    - Dst: wmemset
      Src: /src/gnulib/tests/test-wmemset.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wmemset.c
    functionUses: 12
    functionsReached:
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atanf
      Src: /src/gnulib/tests/test-atanf.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-atanf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-atanf.c
    functionUses: 12
    functionsReached:
    - atanf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswblank
      Src: /src/gnulib/tests/test-iswblank.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswblank.c:32,1
    - Dst: iswblank
      Src: /src/gnulib/tests/test-iswblank.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswblank.c:35,1
    - Dst: iswblank
      Src: /src/gnulib/tests/test-iswblank.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswblank.c:36,1
    - Dst: iswblank
      Src: /src/gnulib/tests/test-iswblank.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-iswblank.c:37,1
    - Dst: iswblank
      Src: /src/gnulib/tests/test-iswblank.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iswblank.c
    functionUses: 12
    functionsReached:
    - iswblank
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vsnzprintf-gnu.c:37,1
    - Dst: vsnzprintf
      Src: /src/gnulib/tests/test-vsnzprintf-gnu.c:38,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vsnzprintf-gnu.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: my_snzprintf
    functionSourceFile: /src/gnulib/tests/test-vsnzprintf-gnu.c
    functionUses: 0
    functionsReached:
    - vsnzprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t my_snzprintf (char *str, size_t size, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vsnzprintf-gnu.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vsnzprintf-gnu.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: funcd
    functionSourceFile: /src/gnulib/tests/test-noreturn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_NORETURN_FUNC
    signature: _GL_NORETURN_FUNC funcd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: func1
    functionSourceFile: /src/gnulib/tests/test-noreturn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void func1 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: func2
    functionSourceFile: /src/gnulib/tests/test-noreturn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void func2 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: func3
    functionSourceFile: /src/gnulib/tests/test-noreturn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void func3 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-noreturn.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wctype-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-fenv-env-3.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:43,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:46,1
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:46,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:54,1
    - Dst: fegetenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:58,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:60,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:62,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:65,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:68,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:73,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:75,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:77,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:77,1
    - Dst: fesetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:82,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:82,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:83,1
    - Dst: feraiseexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:85,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:85,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:87,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:90,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:93,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:97,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:99,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:101,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:107,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:111,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:113,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:115,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:115,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:118,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:120,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:123,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:127,1
    - Dst: fegetround
      Src: /src/gnulib/tests/test-fenv-env-3.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:128,1
    - Dst: fetestexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:131,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:131,1
    - Dst: feclearexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:142,1
    - Dst: feenableexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:146,1
    - Dst: feupdateenv
      Src: /src/gnulib/tests/test-fenv-env-3.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fenv-env-3.c:149,1
    - Dst: fegetexcept
      Src: /src/gnulib/tests/test-fenv-env-3.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fenv-env-3.c
    functionUses: 12
    functionsReached:
    - fetestexcept
    - feupdateenv
    - fputs
    - fegetenv
    - feenableexcept
    - feclearexcept
    - fegetexcept
    - fegetround
    - feraiseexcept
    - fesetround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:23,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:23,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:23,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:24,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:24,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:24,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:25,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:25,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:25,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:26,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:26,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:26,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:27,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:27,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:30,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:30,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:30,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:31,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:31,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:31,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:32,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:32,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:32,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:33,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:33,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:36,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:36,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:36,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:37,1
    - Dst: ISNAN
      Src: /src/gnulib/tests/test-remainder-ieee.h:37,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:37,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:37,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:44,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:45,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:46,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:46,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:49,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:50,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:51,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:51,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:51,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:54,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:55,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:56,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:56,1
    - Dst: REMAINDER
      Src: /src/gnulib/tests/test-remainder-ieee.h:59,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:60,1
    - Dst: L_
      Src: /src/gnulib/tests/test-remainder-ieee.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainder-ieee.h:61,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:61,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-remainder-ieee.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 63
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-remainder-ieee.h
    functionUses: 202
    functionsReached:
    - ISNAN
    - signbit
    - L_
    - REMAINDER
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:69,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-lchown.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:70,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:70,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:73,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-lchown.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:76,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchown.h:76,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lchown.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:83,1
    - Dst: close
      Src: /src/gnulib/tests/test-lchown.h:83,1
    - Dst: creat
      Src: /src/gnulib/tests/test-lchown.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:84,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:86,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-lchown.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:90,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-lchown.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:94,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:97,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:100,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:103,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:107,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:108,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:109,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:110,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:112,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lchown.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:117,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:118,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:119,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:121,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:121,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lchown.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:126,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:127,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchown.h:127,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lchown.h:129,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:136,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:137,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:138,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchown.h:138,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-lchown.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:145,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:147,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lchown.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:148,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-lchown.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:149,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-lchown.h:149,1
    - Dst: mgetgroups
      Src: /src/gnulib/tests/test-lchown.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:159,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-lchown.h:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:162,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:165,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:170,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:172,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:175,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:178,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:182,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:183,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:186,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:189,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:190,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-lchown.h:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:195,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:198,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:202,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:203,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:206,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:207,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-lchown.h:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:217,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:218,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:219,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:219,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lchown.h:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:223,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:225,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:227,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:227,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:228,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:230,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:230,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:231,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:233,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:233,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:235,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:236,1
    - Dst: stat
      Src: /src/gnulib/tests/test-lchown.h:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:238,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:238,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:239,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:241,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:241,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:242,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:243,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:245,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:248,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:249,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:249,1
    - Dst: nap
      Src: /src/gnulib/tests/test-lchown.h:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:251,1
    - Dst: func
      Src: /src/gnulib/tests/test-lchown.h:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:252,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:254,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:254,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:255,1
    - Dst: lstat
      Src: /src/gnulib/tests/test-lchown.h:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:256,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:258,1
    - Dst: get_stat_ctime_ns
      Src: /src/gnulib/tests/test-lchown.h:258,1
    - Dst: free
      Src: /src/gnulib/tests/test-lchown.h:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:263,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:264,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:265,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:266,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-lchown.h:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:267,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchown.h:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-lchown.h:268,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-lchown.h:268,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 155
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 270
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 270
    functionName: test_lchown
    functionSourceFile: /src/gnulib/tests/test-lchown.h
    functionUses: 1
    functionsReached:
    - ASSERT
    - symlink
    - rmdir
    - get_stat_ctime_ns
    - lstat
    - fputs
    - free
    - close
    - getegid
    - unlink
    - nap
    - stat
    - creat
    - getgid
    - func
    - mgetgroups
    - mkdir
    linkageType: ''
    returnType: int
    signature: int test_lchown (int (*func) (char const *, uid_t, gid_t), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ws1
    - ws2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: lib_wmemcmp
    functionSourceFile: /src/gnulib/tests/test-wmemcmp.c
    functionUses: 0
    functionsReached:
    - wmemcmp
    linkageType: ''
    returnType: int
    signature: int lib_wmemcmp (wchar_t const *ws1, wchar_t const *ws2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:46,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:47,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:48,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:53,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:54,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:61,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:62,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:67,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:68,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:73,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:74,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:88,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:89,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:94,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:95,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:101,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:102,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:107,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:108,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemcmp.c:109,1
    - Dst: wmemcmp
      Src: /src/gnulib/tests/test-wmemcmp.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wmemcmp.c
    functionUses: 12
    functionsReached:
    - wmemcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbspcasecmp.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:36,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:41,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:46,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:51,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:56,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:61,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:69,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:74,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:81,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbspcasecmp.c:86,1
    - Dst: mbspcasecmp
      Src: /src/gnulib/tests/test-mbspcasecmp.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbspcasecmp.c
    functionUses: 12
    functionsReached:
    - mbspcasecmp
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/gnulib/tests/test-snprintf.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:38,1
    - Dst: memcpy
      Src: /src/gnulib/tests/test-snprintf.c:42,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-snprintf.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:49,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:55,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:59,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-snprintf.c:59,1
    - Dst: snprintf
      Src: /src/gnulib/tests/test-snprintf.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-snprintf.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-snprintf.c:68,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-snprintf.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-snprintf.c
    functionUses: 12
    functionsReached:
    - strlen
    - snprintf
    - memcmp
    - strcmp
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-spawn-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:41,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:41,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:42,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:42,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:44,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:44,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:45,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:45,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:47,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:47,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:48,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:48,1
    - Dst: signbit
      Src: /src/gnulib/tests/test-roundl-ieee.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:53,1
    - Dst: isnanl
      Src: /src/gnulib/tests/test-roundl-ieee.c:53,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:53,1
    - Dst: NaNl
      Src: /src/gnulib/tests/test-roundl-ieee.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:55,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl-ieee.c:55,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl-ieee.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-roundl-ieee.c:56,1
    - Dst: roundl
      Src: /src/gnulib/tests/test-roundl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl-ieee.c:56,1
    - Dst: Infinityl
      Src: /src/gnulib/tests/test-roundl-ieee.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-roundl-ieee.c
    functionUses: 12
    functionsReached:
    - roundl
    - Infinityl
    - signbit
    - isnanl
    - NaNl
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/tests/test-year2038.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-year2038.c
    functionUses: 12
    functionsReached:
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:44,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:47,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:59,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:82,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:83,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:90,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:97,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:97,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:102,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:107,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:107,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:110,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:110,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:118,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:149,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:149,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:152,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:152,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:159,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:164,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:164,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:173,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:179,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:179,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:185,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:187,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:187,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:193,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:193,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:198,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:200,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:200,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:207,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:207,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:214,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:214,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:222,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:228,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:228,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:234,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:236,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:236,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:242,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:242,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:247,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:249,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:249,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:255,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:257,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:257,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:264,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:270,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:270,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:274,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:278,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:280,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:280,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:287,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:287,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:293,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:295,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:295,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:301,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:301,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:306,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:308,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:308,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:316,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:316,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:323,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:323,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:326,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:328,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:330,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:332,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:336,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:338,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:342,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:344,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:348,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:350,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:354,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:356,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:360,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:362,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:366,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:368,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:372,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:374,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:376,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:377,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:378,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:380,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:384,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:392,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:398,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:398,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:403,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:404,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:405,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:406,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:406,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:414,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:414,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:420,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:422,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:422,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:427,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:428,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:428,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:431,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:432,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:433,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:433,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:435,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:435,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:443,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:443,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:446,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:448,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:449,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:451,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:454,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:462,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:465,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:466,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:467,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:468,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:468,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:472,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:474,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:474,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:475,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:476,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:476,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:481,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:482,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:484,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:484,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:489,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:490,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:490,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:491,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:492,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:492,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:496,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:497,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:498,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:498,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:501,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:503,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:505,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:505,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:510,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:512,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:513,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:513,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:516,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:519,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:521,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:524,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:532,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:535,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:537,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:538,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:538,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:542,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:543,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:544,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:544,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:546,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:546,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:552,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:553,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:554,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:554,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:558,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:559,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:560,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:560,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:561,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:562,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:562,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:566,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:567,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:568,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:568,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:573,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:575,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:575,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:580,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:582,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:583,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:583,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:586,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:588,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:589,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:591,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:593,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:594,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:600,1
    - Dst: locale_charset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:600,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:604,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:609,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:610,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:610,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:614,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:617,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:617,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:622,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:623,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:623,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:625,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:625,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:629,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:631,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:631,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:634,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:636,1
    - Dst: wctob
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:636,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:638,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:638,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:645,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:647,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:648,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:648,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:652,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:653,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:655,1
    - Dst: mbsinit
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:655,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:658,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:660,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:662,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:664,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:667,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:668,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:670,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:673,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:674,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:676,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:678,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:680,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:682,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:684,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:685,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:686,1
    - Dst: memset
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:688,1
    - Dst: mbrtowc
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:692,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 582
    argCount: 2
    argNames:
    - name
    - codepage
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 699
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 699
    functionName: test_one_locale
    functionSourceFile: /src/gnulib/tests/test-mbrtowc-w32.c
    functionUses: 0
    functionsReached:
    - wctob
    - mbrtowc
    - setlocale
    - mbsinit
    - locale_charset
    - strcmp
    - memset
    - sprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int test_one_locale (const char *name, int codepage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 725
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 725
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtowc-w32.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-mbrtowc-w32.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbrtowc-w32.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:43,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:46,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:46,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: check_equals
    functionSourceFile: /src/gnulib/tests/test-avltree_list.c
    functionUses: 19
    functionsReached:
    - gl_list_get_at
    - gl_list_size
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_equals (gl_list_t list1, gl_list_t list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-avltree_list.c:53,1
    - Dst: gl_list_first_node
      Src: /src/gnulib/tests/test-avltree_list.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:57,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:57,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:58,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:59,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: check_equals_by_forward_iteration
    functionSourceFile: /src/gnulib/tests/test-avltree_list.c
    functionUses: 7
    functionsReached:
    - gl_list_next_node
    - gl_list_first_node
    - ASSERT
    - gl_list_node_value
    linkageType: ''
    returnType: void
    signature: void check_equals_by_forward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-avltree_list.c:68,1
    - Dst: gl_list_last_node
      Src: /src/gnulib/tests/test-avltree_list.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:72,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:72,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:73,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:74,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list1
    - list2
    argTypes:
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: check_equals_by_backward_iteration
    functionSourceFile: /src/gnulib/tests/test-avltree_list.c
    functionUses: 7
    functionsReached:
    - gl_list_previous_node
    - gl_list_node_value
    - ASSERT
    - gl_list_last_node
    linkageType: ''
    returnType: void
    signature: void check_equals_by_backward_iteration (gl_list_t list1, gl_list_t
      list2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_avltree_list_check_invariants
      Src: /src/gnulib/tests/test-avltree_list.c:83,1
    - Dst: gl_avltree_list_check_invariants
      Src: /src/gnulib/tests/test-avltree_list.c:84,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltree_list.c:85,1
    - Dst: check_equals
      Src: /src/gnulib/tests/test-avltree_list.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list1
    - list2
    - list3
    argTypes:
    - gl_list_t
    - gl_list_t
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: check_all
    functionSourceFile: /src/gnulib/tests/test-avltree_list.c
    functionUses: 19
    functionsReached:
    - gl_avltree_list_check_invariants
    - check_equals
    linkageType: ''
    returnType: void
    signature: void check_all (gl_list_t list1, gl_list_t list2, gl_list_t list3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/gnulib/tests/test-avltree_list.c:96,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-avltree_list.c:96,1
    - Dst: RANDOM_OBJECT
      Src: /src/gnulib/tests/test-avltree_list.c:106,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-avltree_list.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:111,1
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/tests/test-avltree_list.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:116,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltree_list.c:116,1
    - Dst: gl_list_nx_create
      Src: /src/gnulib/tests/test-avltree_list.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:121,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_list.c:123,1
    - Dst: check_equals_by_forward_iteration
      Src: /src/gnulib/tests/test-avltree_list.c:125,1
    - Dst: check_equals_by_backward_iteration
      Src: /src/gnulib/tests/test-avltree_list.c:126,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:134,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltree_list.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:142,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:143,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:143,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltree_list.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:147,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:148,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:148,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/tests/test-avltree_list.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:152,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:153,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:157,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:157,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:157,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:159,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:159,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:159,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:161,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:161,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:161,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:162,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:166,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:166,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:166,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:168,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:168,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:168,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:170,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:170,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:170,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:171,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:179,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:180,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:191,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:192,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:193,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:193,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltree_list.c:201,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltree_list.c:202,1
    - Dst: gl_list_indexof
      Src: /src/gnulib/tests/test-avltree_list.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:213,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:214,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:215,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:217,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:226,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:228,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:231,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:232,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:233,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:234,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:235,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:236,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:236,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltree_list.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:244,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltree_list.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:246,1
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/tests/test-avltree_list.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:249,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:250,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:251,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:252,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:252,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:253,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:253,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:254,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:254,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:254,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:264,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltree_list.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:266,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltree_list.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:268,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:270,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltree_list.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:272,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltree_list.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:274,1
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/tests/test-avltree_list.c:275,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:276,1
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/tests/test-avltree_list.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:278,1
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/tests/test-avltree_list.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:280,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:281,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:282,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:282,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:283,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:284,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:285,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:286,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:287,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:288,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:289,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:290,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:291,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:292,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:292,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltree_list.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:301,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltree_list.c:302,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:303,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/tests/test-avltree_list.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:306,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:307,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:308,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:309,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:310,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:311,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:314,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:314,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:314,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:316,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:316,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:316,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:318,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:318,1
    - Dst: gl_list_previous_node
      Src: /src/gnulib/tests/test-avltree_list.c:318,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:319,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:321,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:323,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:323,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:323,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:325,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:325,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:325,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:327,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/tests/test-avltree_list.c:327,1
    - Dst: gl_list_next_node
      Src: /src/gnulib/tests/test-avltree_list.c:327,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:328,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:333,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:338,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:339,1
    - Dst: gl_list_search
      Src: /src/gnulib/tests/test-avltree_list.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:341,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:344,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltree_list.c:344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:345,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltree_list.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:346,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/tests/test-avltree_list.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:347,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:347,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:355,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltree_list.c:355,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:356,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltree_list.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:357,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/tests/test-avltree_list.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:358,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:365,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-avltree_list.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:366,1
    - Dst: gl_list_remove_first
      Src: /src/gnulib/tests/test-avltree_list.c:366,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:367,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:374,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-avltree_list.c:374,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:375,1
    - Dst: gl_list_remove_last
      Src: /src/gnulib/tests/test-avltree_list.c:375,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:376,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:376,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:384,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:385,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:385,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:386,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:387,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:387,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:391,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:395,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:395,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:396,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:397,1
    - Dst: gl_list_remove
      Src: /src/gnulib/tests/test-avltree_list.c:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:398,1
    - Dst: gl_list_size
      Src: /src/gnulib/tests/test-avltree_list.c:398,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltree_list.c:406,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltree_list.c:407,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/tests/test-avltree_list.c:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:411,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:411,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:412,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:413,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:414,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:414,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:415,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:415,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:416,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:418,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:419,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:419,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:420,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:420,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:421,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:422,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:423,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltree_list.c:432,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltree_list.c:433,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/tests/test-avltree_list.c:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:437,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:437,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:438,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:439,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:439,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:440,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:441,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:441,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:442,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/tests/test-avltree_list.c:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:444,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:445,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:445,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-avltree_list.c:446,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/tests/test-avltree_list.c:446,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:447,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:448,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/tests/test-avltree_list.c:449,1
    - Dst: check_all
      Src: /src/gnulib/tests/test-avltree_list.c:453,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltree_list.c:456,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltree_list.c:457,1
    - Dst: gl_list_free
      Src: /src/gnulib/tests/test-avltree_list.c:458,1
    - Dst: free
      Src: /src/gnulib/tests/test-avltree_list.c:459,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 268
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 463
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 463
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-avltree_list.c
    functionUses: 12
    functionsReached:
    - gl_list_nx_add_after
    - gl_list_previous_node
    - gl_list_indexof
    - srand
    - check_all
    - check_equals_by_backward_iteration
    - gl_list_get_at
    - free
    - gl_list_next_node
    - gl_list_nx_add_first
    - gl_list_node_value
    - ASSERT
    - RANDOM_OBJECT
    - gl_list_remove_node
    - gl_list_remove_first
    - gl_list_iterator_free
    - gl_list_iterator_from_to
    - gl_list_nx_add_before
    - atoi
    - gl_list_iterator
    - gl_list_nx_add_at
    - gl_list_nx_set_at
    - gl_list_nx_create
    - gl_list_search
    - gl_list_size
    - gl_list_remove_at
    - gl_list_remove_last
    - gl_list_remove
    - gl_list_nx_create_empty
    - gl_list_nx_add_last
    - gl_list_iterator_next
    - gl_list_free
    - check_equals_by_forward_iteration
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-dirfd.c:31,1
    - Dst: opendir
      Src: /src/gnulib/tests/test-dirfd.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-dirfd.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-dirfd.c
    functionUses: 12
    functionsReached:
    - opendir
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/gnulib/tests/test-thread_local.c:79,1
    - Dst: yield
      Src: /src/gnulib/tests/test-thread_local.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: perhaps_yield
    functionSourceFile: /src/gnulib/tests/test-thread_local.c
    functionUses: 3
    functionsReached:
    - random
    - yield
    linkageType: ''
    returnType: void
    signature: void perhaps_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:99,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:99,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:102,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:102,1
    - Dst: random
      Src: /src/gnulib/tests/test-thread_local.c:105,1
    - Dst: abort
      Src: /src/gnulib/tests/test-thread_local.c:108,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:110,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:110,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-thread_local.c:111,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:116,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:116,1
    - Dst: random
      Src: /src/gnulib/tests/test-thread_local.c:117,1
    - Dst: random
      Src: /src/gnulib/tests/test-thread_local.c:118,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-thread_local.c:127,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:131,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:131,1
    - Dst: abort
      Src: /src/gnulib/tests/test-thread_local.c:134,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:135,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:135,1
    - Dst: perhaps_yield
      Src: /src/gnulib/tests/test-thread_local.c:136,1
    - Dst: dbgprintf
      Src: /src/gnulib/tests/test-thread_local.c:138,1
    - Dst: thrd_current_pointer
      Src: /src/gnulib/tests/test-thread_local.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 140
    functionName: worker_thread
    functionSourceFile: /src/gnulib/tests/test-thread_local.c
    functionUses: 0
    functionsReached:
    - abort
    - perhaps_yield
    - dbgprintf
    - thrd_current_pointer
    - random
    linkageType: ''
    returnType: int
    signature: int worker_thread (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thread_local.c:153,1
    - Dst: thrd_create
      Src: /src/gnulib/tests/test-thread_local.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-thread_local.c:158,1
    - Dst: thrd_join
      Src: /src/gnulib/tests/test-thread_local.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: test_thread_local
    functionSourceFile: /src/gnulib/tests/test-thread_local.c
    functionUses: 0
    functionsReached:
    - thrd_join
    - thrd_create
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_thread_local (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/test-thread_local.c:172,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-thread_local.c:173,1
    - Dst: printf
      Src: /src/gnulib/tests/test-thread_local.c:176,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-thread_local.c:176,1
    - Dst: test_thread_local
      Src: /src/gnulib/tests/test-thread_local.c:177,1
    - Dst: printf
      Src: /src/gnulib/tests/test-thread_local.c:178,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-thread_local.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thread_local.c
    functionUses: 12
    functionsReached:
    - test_thread_local
    - alarm
    - signal
    - fflush
    - printf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-thread_local.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-thread_local.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbswidth.c:31,1
    - Dst: setlocale
      Src: /src/gnulib/tests/bench-mbswidth.c:32,1
    - Dst: timing_start
      Src: /src/gnulib/tests/bench-mbswidth.c:35,1
    - Dst: mbswidth
      Src: /src/gnulib/tests/bench-mbswidth.c:40,1
    - Dst: timing_end
      Src: /src/gnulib/tests/bench-mbswidth.c:43,1
    - Dst: timing_output
      Src: /src/gnulib/tests/bench-mbswidth.c:44,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbswidth.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/bench-mbswidth.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - test
    - repeat
    - locale_name
    - text
    argTypes:
    - char
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/bench-mbswidth.c
    functionUses: 6
    functionsReached:
    - setlocale
    - timing_end
    - timing_output
    - printf
    - timing_start
    - mbswidth
    linkageType: ''
    returnType: void
    signature: void do_test (char test, int repeat, const char *locale_name, const
      char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbswidth.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/bench-mbswidth.c:71,1
    - Dst: exit
      Src: /src/gnulib/tests/bench-mbswidth.c:72,1
    - Dst: text_init
      Src: /src/gnulib/tests/bench-mbswidth.c:78,1
    - Dst: strlen
      Src: /src/gnulib/tests/bench-mbswidth.c:82,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:89,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:92,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:95,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:98,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:101,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:104,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:107,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:110,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:113,1
    - Dst: do_test
      Src: /src/gnulib/tests/bench-mbswidth.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/gnulib/tests/bench-mbswidth.c
    functionUses: 12
    functionsReached:
    - exit
    - strlen
    - text_init
    - do_test
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fseeko3.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko3.c:33,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fseeko3.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko3.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko3.c:41,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko3.c:41,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fseeko3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko3.c:48,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fseeko3.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseeko3.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - ftell
    - fseeko
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/gnulib/tests/test-fseeko-largefile.c:38,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fseeko-largefile.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:52,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/test-fseeko-largefile.c:53,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fseeko-largefile.c:54,1
    - Dst: write
      Src: /src/gnulib/tests/test-fseeko-largefile.c:55,1
    - Dst: fsync
      Src: /src/gnulib/tests/test-fseeko-largefile.c:56,1
    - Dst: close
      Src: /src/gnulib/tests/test-fseeko-largefile.c:58,1
    - Dst: remove
      Src: /src/gnulib/tests/test-fseeko-largefile.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fseeko-largefile.c:60,1
    - Dst: close
      Src: /src/gnulib/tests/test-fseeko-largefile.c:63,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fseeko-largefile.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:69,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fseeko-largefile.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:76,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fseeko-largefile.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:77,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-fseeko-largefile.c:77,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fseeko-largefile.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fseeko-largefile.c:80,1
    - Dst: remove
      Src: /src/gnulib/tests/test-fseeko-largefile.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fseeko-largefile.c
    functionUses: 12
    functionsReached:
    - fopen
    - remove
    - ftruncate
    - fclose
    - fread
    - write
    - close
    - memcmp
    - fsync
    - fseeko
    - lseek
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-system-quote-child.c:52,1
    - Dst: fread
      Src: /src/gnulib/tests/test-system-quote-child.c:55,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-system-quote-child.c:56,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-system-quote-child.c:60,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-system-quote-child.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-system-quote-child.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-system-quote-child.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - strlen
    - fread
    - memcmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/gnulib/tests/test-yesno.c:40,1
    - Dst: set_binary_mode
      Src: /src/gnulib/tests/test-yesno.c:50,1
    - Dst: atoi
      Src: /src/gnulib/tests/test-yesno.c:53,1
    - Dst: close
      Src: /src/gnulib/tests/test-yesno.c:57,1
    - Dst: puts
      Src: /src/gnulib/tests/test-yesno.c:60,1
    - Dst: yesno
      Src: /src/gnulib/tests/test-yesno.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-yesno.c
    functionUses: 12
    functionsReached:
    - puts
    - atoi
    - close
    - set_binary_mode
    - atexit
    - yesno
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ino_map_alloc
      Src: /src/gnulib/tests/test-ino-map.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:32,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:33,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:34,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:35,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:36,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:37,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-ino-map.c:43,1
    - Dst: ino_map_insert
      Src: /src/gnulib/tests/test-ino-map.c:43,1
    - Dst: ino_map_free
      Src: /src/gnulib/tests/test-ino-map.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-ino-map.c
    functionUses: 12
    functionsReached:
    - ino_map_free
    - ino_map_alloc
    - ino_map_insert
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-logbl-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-logbl-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnulib/tests/test-nanosleep.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: handle_alarm
    functionSourceFile: /src/gnulib/tests/test-nanosleep.c
    functionUses: 0
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void handle_alarm (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:50,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:56,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:63,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:69,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:76,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:76,1
    - Dst: signal
      Src: /src/gnulib/tests/test-nanosleep.c:81,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-nanosleep.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:86,1
    - Dst: nanosleep
      Src: /src/gnulib/tests/test-nanosleep.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-nanosleep.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-nanosleep.c
    functionUses: 12
    functionsReached:
    - signal
    - alarm
    - nanosleep
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrtf
      Src: /src/gnulib/tests/test-sqrtf.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-sqrtf.c:43,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-sqrtf.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sqrtf.c
    functionUses: 12
    functionsReached:
    - sqrtf
    - ASSERT
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:33,1
    - Dst: gc_hmac_sha1
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:48,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:60,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:62,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:63,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc-hmac-sha1.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 71
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-hmac-sha1.c
    functionUses: 12
    functionsReached:
    - gc_hmac_sha1
    - gc_init
    - memcmp
    - gc_done
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/test-fflush.c:42,1
    - Dst: fwrite
      Src: /src/gnulib/tests/test-fflush.c:43,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:43,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:45,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:46,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fflush.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:52,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fflush.c:53,1
    - Dst: fread
      Src: /src/gnulib/tests/test-fflush.c:54,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:56,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:58,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:59,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:65,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:67,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:68,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:69,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush.c:74,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fflush.c:74,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:76,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:77,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:78,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:82,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fflush.c:84,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:85,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:86,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:87,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fflush.c:90,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fflush.c:92,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fflush.c:93,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:94,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:95,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush.c:99,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:101,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:102,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:103,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:107,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:109,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:110,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:111,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush.c:115,1
    - Dst: fseeko
      Src: /src/gnulib/tests/test-fflush.c:115,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:117,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:118,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:119,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:123,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fflush.c:125,1
    - Dst: lseek
      Src: /src/gnulib/tests/test-fflush.c:126,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:127,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:128,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fflush.c:131,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-fflush.c:133,1
    - Dst: ftell
      Src: /src/gnulib/tests/test-fflush.c:134,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:135,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:136,1
    - Dst: fgetc
      Src: /src/gnulib/tests/test-fflush.c:140,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-fflush.c:142,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:143,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:144,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:147,1
    - Dst: fopen
      Src: /src/gnulib/tests/test-fflush.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:154,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fflush.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:156,1
    - Dst: close
      Src: /src/gnulib/tests/test-fflush.c:156,1
    - Dst: fileno
      Src: /src/gnulib/tests/test-fflush.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:158,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:159,1
    - Dst: fclose
      Src: /src/gnulib/tests/test-fflush.c:160,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fflush.c:167,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fflush.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:172,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:173,1
    - Dst: close
      Src: /src/gnulib/tests/test-fflush.c:178,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-fflush.c:179,1
    - Dst: fputc
      Src: /src/gnulib/tests/test-fflush.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:184,1
    - Dst: fflush
      Src: /src/gnulib/tests/test-fflush.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fflush.c:185,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fflush.c:190,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 193
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fflush.c
    functionUses: 12
    functionsReached:
    - fopen
    - fclose
    - fgetc
    - fwrite
    - fread
    - fputs
    - close
    - ftell
    - unlink
    - fseeko
    - fileno
    - fflush
    - fputc
    - fdopen
    - lseek
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-locale-h.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:28,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:29,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:30,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:31,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:32,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:33,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:34,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:35,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:36,1
    - Dst: rotl8
      Src: /src/gnulib/tests/test-bitrotate.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:38,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:39,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:40,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:41,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:42,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:43,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:44,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:45,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:46,1
    - Dst: rotr8
      Src: /src/gnulib/tests/test-bitrotate.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:48,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:49,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:50,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:51,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:52,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:53,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:54,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:55,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:56,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:57,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:58,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:59,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:60,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:61,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:62,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:63,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:64,1
    - Dst: rotl16
      Src: /src/gnulib/tests/test-bitrotate.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:66,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:67,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:68,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:69,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:70,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:71,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:72,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:73,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:74,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:75,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:76,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:77,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:78,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:79,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:80,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:81,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:82,1
    - Dst: rotr16
      Src: /src/gnulib/tests/test-bitrotate.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:84,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:85,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:86,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:87,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:88,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:89,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:90,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:91,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:92,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:93,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:94,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:95,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:96,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:97,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:98,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:99,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:100,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:101,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:102,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:103,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:104,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:105,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:106,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:107,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:108,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:109,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:110,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:111,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:112,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:113,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:114,1
    - Dst: rotl32
      Src: /src/gnulib/tests/test-bitrotate.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:116,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:117,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:118,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:119,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:120,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:121,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:122,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:123,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:124,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:125,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:126,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:127,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:128,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:129,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:130,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:131,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:132,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:133,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:134,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:135,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:136,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:137,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:138,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:139,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:140,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:141,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:142,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:143,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:144,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:145,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:146,1
    - Dst: rotr32
      Src: /src/gnulib/tests/test-bitrotate.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:149,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:150,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:151,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:152,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:153,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:154,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:155,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:156,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:157,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:158,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:159,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:160,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:161,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:162,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:163,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:164,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:165,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:166,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:167,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:168,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:169,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:170,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:171,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:172,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:173,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:174,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:175,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:176,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:177,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:178,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:179,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:180,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:181,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:182,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:183,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:184,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:185,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:186,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:187,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:188,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:189,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:190,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:191,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:192,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:193,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:194,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:195,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:196,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:197,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:198,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:199,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:200,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:201,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:202,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:203,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:204,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:205,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:206,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:207,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:208,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:209,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:210,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:211,1
    - Dst: rotl64
      Src: /src/gnulib/tests/test-bitrotate.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:213,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:214,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:215,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:216,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:217,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:218,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:219,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:220,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:221,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:222,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:223,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:224,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:225,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:226,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:227,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:228,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:229,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:230,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:231,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:232,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:233,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:234,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:235,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:236,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:237,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:238,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:239,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:240,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:241,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:242,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:243,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:244,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:245,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:246,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:247,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:248,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:249,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:250,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:251,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:252,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:253,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:254,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:255,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:256,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:257,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:258,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:259,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:260,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:261,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:262,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:263,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:264,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:265,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:266,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:267,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:268,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:269,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:269,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:270,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:271,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:272,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:273,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:274,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-bitrotate.c:275,1
    - Dst: rotr64
      Src: /src/gnulib/tests/test-bitrotate.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 242
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-bitrotate.c
    functionUses: 12
    functionsReached:
    - rotr64
    - rotl32
    - rotl8
    - rotr32
    - rotr16
    - rotr8
    - rotl64
    - rotl16
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:36,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:37,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:39,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:40,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:42,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:48,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:49,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:51,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:52,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:54,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:61,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:64,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:66,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:72,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:73,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:75,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:75,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:76,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:78,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:85,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:87,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:88,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:90,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:96,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:97,1
    - Dst: trim_leading
      Src: /src/gnulib/tests/test-trim.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:99,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:99,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:100,1
    - Dst: trim_trailing
      Src: /src/gnulib/tests/test-trim.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:102,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:102,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 105
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/test-trim.c
    functionUses: 2
    functionsReached:
    - trim_trailing
    - free
    - trim_leading
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_ascii (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-trim.c:111,1
    - Dst: test_ascii
      Src: /src/gnulib/tests/test-trim.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:128,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:128,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:133,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:143,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-trim.c:150,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-trim.c:150,1
    - Dst: free
      Src: /src/gnulib/tests/test-trim.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 158
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-trim.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - setlocale
    - free
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-mutex-type.c:37,1
    - Dst: glwthread_mutex_lock
      Src: /src/gnulib/tests/test-windows-mutex-type.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: get_effective_type
    functionSourceFile: /src/gnulib/tests/test-windows-mutex-type.c
    functionUses: 5
    functionsReached:
    - glwthread_mutex_lock
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      get_effective_type (glwthread_mutex_t *lock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_init
      Src: /src/gnulib/tests/test-windows-mutex-type.c:56,1
    - Dst: get_effective_type
      Src: /src/gnulib/tests/test-windows-mutex-type.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/test-windows-mutex-type.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-windows-mutex-type.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-windows-mutex-type.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-mutex-type.c
    functionUses: 12
    functionsReached:
    - get_effective_type
    - strcmp
    - glwthread_mutex_init
    - printf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/test-windows-mutex-type.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-windows-mutex-type.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_init
      Src: /src/gnulib/tests/test-gc.c:30,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc.c:33,1
    - Dst: gc_done
      Src: /src/gnulib/tests/test-gc.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc.c
    functionUses: 12
    functionsReached:
    - printf
    - gc_done
    - gc_init
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:29,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:30,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:31,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:32,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:33,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:34,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:35,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:37,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:39,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:40,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:42,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:43,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-next-prime.c:45,1
    - Dst: next_prime
      Src: /src/gnulib/tests/test-next-prime.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-next-prime.c
    functionUses: 12
    functionsReached:
    - next_prime
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-iconvme.c:42,1
    - Dst: getline
      Src: /src/gnulib/tests/test-iconvme.c:43,1
    - Dst: perror
      Src: /src/gnulib/tests/test-iconvme.c:44,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:45,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:46,1
    - Dst: printf
      Src: /src/gnulib/tests/test-iconvme.c:52,1
    - Dst: getline
      Src: /src/gnulib/tests/test-iconvme.c:53,1
    - Dst: perror
      Src: /src/gnulib/tests/test-iconvme.c:54,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:55,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/test-iconvme.c:62,1
    - Dst: getline
      Src: /src/gnulib/tests/test-iconvme.c:63,1
    - Dst: perror
      Src: /src/gnulib/tests/test-iconvme.c:64,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:65,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-iconvme.c:66,1
    - Dst: printf
      Src: /src/gnulib/tests/test-iconvme.c:69,1
    - Dst: iconv_string
      Src: /src/gnulib/tests/test-iconvme.c:74,1
    - Dst: perror
      Src: /src/gnulib/tests/test-iconvme.c:77,1
    - Dst: printf
      Src: /src/gnulib/tests/test-iconvme.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/test-iconvme.c:81,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 85
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-iconvme.c
    functionUses: 12
    functionsReached:
    - strlen
    - free
    - iconv_string
    - getline
    - printf
    - perror
    linkageType: ''
    returnType: int
    signature: int main (int ac, char *av[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imaxdiv
      Src: /src/gnulib/tests/test-imaxdiv.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:32,1
    - Dst: imaxdiv
      Src: /src/gnulib/tests/test-imaxdiv.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:37,1
    - Dst: imaxdiv
      Src: /src/gnulib/tests/test-imaxdiv.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:42,1
    - Dst: imaxdiv
      Src: /src/gnulib/tests/test-imaxdiv.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-imaxdiv.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-imaxdiv.c
    functionUses: 12
    functionsReached:
    - imaxdiv
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/tests/test-recv.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recv.c:39,1
    - Dst: recv
      Src: /src/gnulib/tests/test-recv.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recv.c:40,1
    - Dst: close
      Src: /src/gnulib/tests/test-recv.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recv.c:46,1
    - Dst: recv
      Src: /src/gnulib/tests/test-recv.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-recv.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-recv.c
    functionUses: 12
    functionsReached:
    - gl_sockets_startup
    - recv
    - ASSERT
    - close
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_file-h.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-fdopendir.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:42,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-fdopendir.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:44,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdopendir.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:45,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-fdopendir.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:50,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-fdopendir.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:51,1
    - Dst: close
      Src: /src/gnulib/tests/test-fdopendir.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:56,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-fdopendir.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:62,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-fdopendir.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:63,1
    - Dst: open
      Src: /src/gnulib/tests/test-fdopendir.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:69,1
    - Dst: fdopendir
      Src: /src/gnulib/tests/test-fdopendir.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:73,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-fdopendir.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:80,1
    - Dst: closedir
      Src: /src/gnulib/tests/test-fdopendir.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:83,1
    - Dst: dup2
      Src: /src/gnulib/tests/test-fdopendir.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-fdopendir.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fdopendir.c
    functionUses: 12
    functionsReached:
    - closedir
    - close
    - open
    - unlink
    - fdopendir
    - dup2
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remainderf
      Src: /src/gnulib/tests/test-remainderf.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-remainderf.c:45,1
    - Dst: test_function
      Src: /src/gnulib/tests/test-remainderf.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-remainderf.c
    functionUses: 12
    functionsReached:
    - test_function
    - remainderf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_resource-h.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:46,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix3.c
    functionUses: 205
    functionsReached:
    - free
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:57,1
    - Dst: vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:58,1
    - Dst: va_end
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix3.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix3.c
    functionUses: 3
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix3.c
    functionUses: 3
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:82,1
    - Dst: setlocale
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:83,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:85,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:89,1
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:90,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-vasnprintf-posix3.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-vasnprintf-posix3.c
    functionUses: 12
    functionsReached:
    - test_asnprintf
    - test_vasnprintf
    - fprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/test-fabs-ieee.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-fabs-ieee.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-file-has-acl.c:39,1
    - Dst: stat
      Src: /src/gnulib/tests/test-file-has-acl.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-file-has-acl.c:45,1
    - Dst: exit
      Src: /src/gnulib/tests/test-file-has-acl.c:46,1
    - Dst: signal
      Src: /src/gnulib/tests/test-file-has-acl.c:55,1
    - Dst: alarm
      Src: /src/gnulib/tests/test-file-has-acl.c:56,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-file-has-acl.c:65,1
    - Dst: exit
      Src: /src/gnulib/tests/test-file-has-acl.c:66,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-file-has-acl.c:73,1
    - Dst: exit
      Src: /src/gnulib/tests/test-file-has-acl.c:74,1
    - Dst: aclinfo_free
      Src: /src/gnulib/tests/test-file-has-acl.c:76,1
    - Dst: fprintf
      Src: /src/gnulib/tests/test-file-has-acl.c:81,1
    - Dst: exit
      Src: /src/gnulib/tests/test-file-has-acl.c:84,1
    - Dst: aclinfo_free
      Src: /src/gnulib/tests/test-file-has-acl.c:86,1
    - Dst: printf
      Src: /src/gnulib/tests/test-file-has-acl.c:88,1
    - Dst: printf
      Src: /src/gnulib/tests/test-file-has-acl.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 95
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-file-has-acl.c
    functionUses: 12
    functionsReached:
    - exit
    - alarm
    - signal
    - stat
    - printf
    - aclinfo_free
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gc_pbkdf2_hmac
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:102,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:106,1
    - Dst: gc_pbkdf2_hmac
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:112,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:113,1
    - Dst: strlen
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:114,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:123,1
    - Dst: printf
      Src: /src/gnulib/tests/test-gc-pbkdf2.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 131
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-gc-pbkdf2.c
    functionUses: 12
    functionsReached:
    - gc_pbkdf2_hmac
    - printf
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/tests/test-openat-safer.c:50,1
    - Dst: fdopen
      Src: /src/gnulib/tests/test-openat-safer.c:51,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:56,1
    - Dst: remove
      Src: /src/gnulib/tests/test-openat-safer.c:59,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:62,1
    - Dst: write
      Src: /src/gnulib/tests/test-openat-safer.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:63,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat-safer.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:69,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-openat-safer.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:71,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat-safer.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:77,1
    - Dst: chdir
      Src: /src/gnulib/tests/test-openat-safer.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:81,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:84,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:87,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:92,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:97,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:98,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:102,1
    - Dst: open
      Src: /src/gnulib/tests/test-openat-safer.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:108,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:110,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat-safer.c:110,1
    - Dst: openat
      Src: /src/gnulib/tests/test-openat-safer.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:115,1
    - Dst: read
      Src: /src/gnulib/tests/test-openat-safer.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:117,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat-safer.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:120,1
    - Dst: fchdir
      Src: /src/gnulib/tests/test-openat-safer.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:121,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-openat-safer.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-openat-safer.c:122,1
    - Dst: close
      Src: /src/gnulib/tests/test-openat-safer.c:122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-openat-safer.c
    functionUses: 12
    functionsReached:
    - remove
    - fchdir
    - chdir
    - dup2
    - write
    - close
    - open
    - unlink
    - openat
    - fdopen
    - read
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-stdalign-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-sys_select-h-c++.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/tests/test-link.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:33,1
    - Dst: write
      Src: /src/gnulib/tests/test-link.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:34,1
    - Dst: close
      Src: /src/gnulib/tests/test-link.h:34,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:45,1
    - Dst: stat
      Src: /src/gnulib/tests/test-link.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:48,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:48,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-link.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:70,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:70,1
    - Dst: perror
      Src: /src/gnulib/tests/test-link.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:77,1
    - Dst: open
      Src: /src/gnulib/tests/test-link.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:83,1
    - Dst: write
      Src: /src/gnulib/tests/test-link.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:84,1
    - Dst: close
      Src: /src/gnulib/tests/test-link.h:84,1
    - Dst: open
      Src: /src/gnulib/tests/test-link.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:89,1
    - Dst: read
      Src: /src/gnulib/tests/test-link.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:90,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-link.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:91,1
    - Dst: close
      Src: /src/gnulib/tests/test-link.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:92,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:92,1
    - Dst: open
      Src: /src/gnulib/tests/test-link.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:95,1
    - Dst: read
      Src: /src/gnulib/tests/test-link.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:96,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-link.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:97,1
    - Dst: close
      Src: /src/gnulib/tests/test-link.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:101,1
    - Dst: mkdir
      Src: /src/gnulib/tests/test-link.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:103,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:106,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:108,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:110,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:113,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:116,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:119,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:122,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:125,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:126,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:139,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:146,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:150,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:155,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:157,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:159,1
    - Dst: rmdir
      Src: /src/gnulib/tests/test-link.h:159,1
    - Dst: symlink
      Src: /src/gnulib/tests/test-link.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:164,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:164,1
    - Dst: fputs
      Src: /src/gnulib/tests/test-link.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:171,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:175,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:177,1
    - Dst: rename
      Src: /src/gnulib/tests/test-link.h:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:179,1
    - Dst: func
      Src: /src/gnulib/tests/test-link.h:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:183,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-link.h:184,1
    - Dst: unlink
      Src: /src/gnulib/tests/test-link.h:184,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 109
    argCount: 1
    argNames:
    - print
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 187
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 187
    functionName: test_link
    functionSourceFile: /src/gnulib/tests/test-link.h
    functionUses: 1
    functionsReached:
    - symlink
    - rmdir
    - fputs
    - rename
    - close
    - open
    - write
    - unlink
    - stat
    - mkdir
    - strcmp
    - func
    - read
    - ASSERT
    - perror
    linkageType: ''
    returnType: int
    signature: int test_link (int (*func) (char const *, char const *), bool print)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:34,1
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:38,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:39,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:40,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:41,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:42,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:43,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:44,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:45,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:46,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:46,1
    - Dst: c32_get_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:50,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:51,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:52,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:53,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:54,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:55,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:56,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:57,1
    - Dst: c32_apply_mapping
      Src: /src/gnulib/tests/test-c32_apply_mapping.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-c32_apply_mapping.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - c32_apply_mapping
    - c32_get_mapping
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-drop.c:35,1
    - Dst: getresuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:35,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:36,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:39,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:40,1
    - Dst: geteuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:40,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:42,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: show_uids
    functionSourceFile: /src/gnulib/tests/test-idpriv-drop.c
    functionUses: 1
    functionsReached:
    - geteuid
    - printf
    - getresuid
    - getuid
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void show_uids ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-drop.c:54,1
    - Dst: getresgid
      Src: /src/gnulib/tests/test-idpriv-drop.c:54,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:55,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:58,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-drop.c:59,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-idpriv-drop.c:59,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:61,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-drop.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: show_gids
    functionSourceFile: /src/gnulib/tests/test-idpriv-drop.c
    functionUses: 1
    functionsReached:
    - getegid
    - getgid
    - printf
    - getresgid
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void show_gids ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:69,1
    - Dst: show_uids
      Src: /src/gnulib/tests/test-idpriv-drop.c:70,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:71,1
    - Dst: show_gids
      Src: /src/gnulib/tests/test-idpriv-drop.c:72,1
    - Dst: printf
      Src: /src/gnulib/tests/test-idpriv-drop.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: show
    functionSourceFile: /src/gnulib/tests/test-idpriv-drop.c
    functionUses: 1
    functionsReached:
    - show_gids
    - printf
    - show_uids
    linkageType: ''
    returnType: void
    signature: void show (const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/test-idpriv-drop.c:95,1
    - Dst: show
      Src: /src/gnulib/tests/test-idpriv-drop.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-idpriv-drop.c:102,1
    - Dst: idpriv_drop
      Src: /src/gnulib/tests/test-idpriv-drop.c:102,1
    - Dst: show
      Src: /src/gnulib/tests/test-idpriv-drop.c:105,1
    - Dst: getresuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:113,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:117,1
    - Dst: geteuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:121,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:122,1
    - Dst: getuid
      Src: /src/gnulib/tests/test-idpriv-drop.c:125,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:126,1
    - Dst: getresgid
      Src: /src/gnulib/tests/test-idpriv-drop.c:134,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:138,1
    - Dst: getegid
      Src: /src/gnulib/tests/test-idpriv-drop.c:142,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:143,1
    - Dst: getgid
      Src: /src/gnulib/tests/test-idpriv-drop.c:146,1
    - Dst: abort
      Src: /src/gnulib/tests/test-idpriv-drop.c:147,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 152
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-idpriv-drop.c
    functionUses: 12
    functionsReached:
    - abort
    - getegid
    - geteuid
    - show
    - idpriv_drop
    - strcmp
    - getgid
    - getresuid
    - getresgid
    - getuid
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/test-mbsstr3.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-mbsstr3.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-mbsstr3.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:29,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:32,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:35,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:38,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:41,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:44,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:47,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:50,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:53,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:56,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:59,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:62,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:65,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:68,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:71,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:74,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:77,1
    - Dst: my_fprintf
      Src: /src/gnulib/tests/test-fprintf-gnu.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 81
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/test-fprintf-gnu.h
    functionUses: 208
    functionsReached:
    - my_fprintf
    linkageType: ''
    returnType: void
    signature: void test_function (RETTYPE (*my_fprintf) (FILE *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-boot-time.c:33,1
    - Dst: get_boot_time
      Src: /src/gnulib/tests/test-boot-time.c:33,1
    - Dst: gmtime
      Src: /src/gnulib/tests/test-boot-time.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-boot-time.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-boot-time.c:39,1
    - Dst: strftime
      Src: /src/gnulib/tests/test-boot-time.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/test-boot-time.c:41,1
    - Dst: time
      Src: /src/gnulib/tests/test-boot-time.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-boot-time.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-boot-time.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-boot-time.c
    functionUses: 12
    functionsReached:
    - gmtime
    - get_boot_time
    - time
    - printf
    - strftime
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: group1_parser
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t group1_parser (int key, char *arg, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: group1_1_parser
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t group1_1_parser (int key, char *arg, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: group2_parser
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t group2_parser (int key, char *arg, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: group2_1_parser
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t group2_1_parser (int key, char *arg, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: parse_opt
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt (int key, char *arg, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/test-argp.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: fail
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 889
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fail (const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:292,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:293,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:294,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: test1
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - argp_parse
    - fail
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test1 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:302,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:303,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:304,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: test2
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 4
    functionsReached:
    - argp_parse
    - fail
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test2 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:312,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:313,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:315,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-argp.c:316,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - argp
    - argc
    - argv
    - args
    argTypes:
    - struct argp*
    - int
    - char**
    - struct test_args*
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: test_file
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - argp_parse
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_file (struct argp *argp, int argc, char **argv, struct test_args
      *args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:323,1
    - Dst: test_file
      Src: /src/gnulib/tests/test-argp.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: test3
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 2
    functionsReached:
    - test_file
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test3 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST2
      Src: /src/gnulib/tests/test-argp.c:330,1
    - Dst: test_file
      Src: /src/gnulib/tests/test-argp.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: test4
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_file
    - INIT_TEST2
    linkageType: ''
    returnType: void
    signature: void test4 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:337,1
    - Dst: test_file
      Src: /src/gnulib/tests/test-argp.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: test5
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_file
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test5 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST2
      Src: /src/gnulib/tests/test-argp.c:344,1
    - Dst: test_file
      Src: /src/gnulib/tests/test-argp.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: test6
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_file
    - INIT_TEST2
    linkageType: ''
    returnType: void
    signature: void test6 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:353,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:354,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:356,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:361,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-argp.c:363,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:364,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:369,1
    - Dst: strcmp
      Src: /src/gnulib/tests/test-argp.c:370,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - argp
    - argc
    - argv
    - args
    - val
    - a
    argTypes:
    - struct argp*
    - int
    - char**
    - struct test_args*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 373
    functionName: test_optional
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - argp_parse
    - fail
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void test_optional (struct argp *argp, int argc, char **argv,\n               struct
      test_args *args, const char *val, const char *a)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:378,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: test7
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_optional
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test7 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST2
      Src: /src/gnulib/tests/test-argp.c:385,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: test8
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_optional
    - INIT_TEST2
    linkageType: ''
    returnType: void
    signature: void test8 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:392,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: test9
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_optional
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test9 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST2
      Src: /src/gnulib/tests/test-argp.c:399,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: test10
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_optional
    - INIT_TEST2
    linkageType: ''
    returnType: void
    signature: void test10 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:406,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: test11
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_optional
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test11 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST3
      Src: /src/gnulib/tests/test-argp.c:413,1
    - Dst: test_optional
      Src: /src/gnulib/tests/test-argp.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: test12
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - INIT_TEST3
    - test_optional
    linkageType: ''
    returnType: void
    signature: void test12 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:420,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:421,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:422,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: test13
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - argp_parse
    - fail
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test13 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST1
      Src: /src/gnulib/tests/test-argp.c:430,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:431,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:432,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: test14
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - argp_parse
    - fail
    - INIT_TEST1
    linkageType: ''
    returnType: void
    signature: void test14 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INIT_TEST2
      Src: /src/gnulib/tests/test-argp.c:440,1
    - Dst: test_file
      Src: /src/gnulib/tests/test-argp.c:441,1
    - Dst: fail
      Src: /src/gnulib/tests/test-argp.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: test15
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 0
    functionsReached:
    - test_file
    - INIT_TEST2
    - fail
    linkageType: ''
    returnType: void
    signature: void test15 (struct argp *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_args
      Src: /src/gnulib/tests/test-argp.c:479,1
    - Dst: argp_parse
      Src: /src/gnulib/tests/test-argp.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 490
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 490
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-argp.c
    functionUses: 12
    functionsReached:
    - init_args
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemmove
      Src: /src/gnulib/tests/test-wmemmove.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: lib_wmemmove
    functionSourceFile: /src/gnulib/tests/test-wmemmove.c
    functionUses: 0
    functionsReached:
    - wmemmove
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      lib_wmemmove (wchar_t *s1, wchar_t const *s2, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemmove.c:44,1
    - Dst: wmemmove
      Src: /src/gnulib/tests/test-wmemmove.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/test-wmemmove.c:48,1
    - Dst: wmemmove
      Src: /src/gnulib/tests/test-wmemmove.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/test-wmemmove.c
    functionUses: 12
    functionsReached:
    - wmemmove
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:31,1
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:50,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:60,1
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:92,1
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:102,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:105,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:109,1
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:119,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:122,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c:124,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-u32-wordbreaks.c
    functionUses: 12
    functionsReached:
    - free
    - u32_wordbreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:32,1
    - Dst: ulc_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:36,1
    - Dst: ulc_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:50,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-ulc-wordbreaks.c
    functionUses: 12
    functionsReached:
    - ulc_wordbreaks
    - setlocale
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:37,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:38,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:39,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:40,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:41,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:42,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:43,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:44,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:45,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:46,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:47,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:48,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:49,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:50,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:51,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:52,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:53,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:54,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:55,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:56,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:57,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:58,1
    - Dst: CASE
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:59,1
    - Dst: abort
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - wbp
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: wordbreakproperty_to_string
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c
    functionUses: 0
    functionsReached:
    - abort
    - CASE
    linkageType: ''
    returnType: char
    signature: 'char *

      wordbreakproperty_to_string (int wbp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:75,1
    - Dst: exit
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:78,1
    - Dst: fopen
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:82,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:85,1
    - Dst: exit
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:86,1
    - Dst: fgets
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:91,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:100,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:113,1
    - Dst: strncmp
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:114,1
    - Dst: strncmp
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:119,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:126,1
    - Dst: exit
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:128,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:131,1
    - Dst: sscanf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:137,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:139,1
    - Dst: exit
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:142,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:149,1
    - Dst: u32_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:154,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:158,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:166,1
    - Dst: wordbreakproperty_to_string
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:170,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:171,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:175,1
    - Dst: wordbreakproperty_to_string
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:177,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c:179,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 185
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 185
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-uc-wordbreaks.c
    functionUses: 12
    functionsReached:
    - fopen
    - exit
    - wordbreakproperty_to_string
    - strspn
    - sscanf
    - u32_wordbreaks
    - memcmp
    - strncmp
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:31,1
    - Dst: u16_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:50,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:60,1
    - Dst: u16_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:92,1
    - Dst: u16_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:102,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:105,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:109,1
    - Dst: u16_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:119,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:122,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c:124,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-u16-wordbreaks.c
    functionUses: 12
    functionsReached:
    - free
    - u16_wordbreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:31,1
    - Dst: u8_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:44,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:56,1
    - Dst: u8_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:67,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:83,1
    - Dst: u8_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:95,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:99,1
    - Dst: u8_wordbreaks
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c:114,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwbrk/test-u8-wordbreaks.c
    functionUses: 12
    functionsReached:
    - free
    - u8_wordbreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct func*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: structptr_to_funcptr
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      structptr_to_funcptr (struct func *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: funcptr_to_structptr
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct func
    signature: 'struct func *

      funcptr_to_structptr (void * volatile funcptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: funcptr_to_structptr
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct func
    signature: 'struct func *

      funcptr_to_structptr (void * volatile funcptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/tests/jit/test-cache.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - structptr
    argTypes:
    - struct func*
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: xcopy_structptr
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: struct func
    signature: 'struct func *

      xcopy_structptr (struct func *structptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: return1
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int return1 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: return2
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int return2 (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/gnulib/tests/jit/test-cache.c:249,1
    - Dst: CODE
      Src: /src/gnulib/tests/jit/test-cache.c:276,1
    - Dst: CODE
      Src: /src/gnulib/tests/jit/test-cache.c:277,1
    - Dst: IS
      Src: /src/gnulib/tests/jit/test-cache.c:281,1
    - Dst: IS
      Src: /src/gnulib/tests/jit/test-cache.c:282,1
    - Dst: VirtualAlloc
      Src: /src/gnulib/tests/jit/test-cache.c:299,1
    - Dst: mmap
      Src: /src/gnulib/tests/jit/test-cache.c:314,1
    - Dst: fprintf
      Src: /src/gnulib/tests/jit/test-cache.c:326,1
    - Dst: sprintf
      Src: /src/gnulib/tests/jit/test-cache.c:328,1
    - Dst: getuid
      Src: /src/gnulib/tests/jit/test-cache.c:330,1
    - Dst: getpid
      Src: /src/gnulib/tests/jit/test-cache.c:330,1
    - Dst: random
      Src: /src/gnulib/tests/jit/test-cache.c:330,1
    - Dst: register_temporary_file
      Src: /src/gnulib/tests/jit/test-cache.c:332,1
    - Dst: open
      Src: /src/gnulib/tests/jit/test-cache.c:335,1
    - Dst: unlink
      Src: /src/gnulib/tests/jit/test-cache.c:343,1
    - Dst: ftruncate
      Src: /src/gnulib/tests/jit/test-cache.c:345,1
    - Dst: mmap
      Src: /src/gnulib/tests/jit/test-cache.c:347,1
    - Dst: mmap
      Src: /src/gnulib/tests/jit/test-cache.c:349,1
    - Dst: SET_CODE
      Src: /src/gnulib/tests/jit/test-cache.c:359,1
    - Dst: memcpy
      Src: /src/gnulib/tests/jit/test-cache.c:361,1
    - Dst: SET_IS
      Src: /src/gnulib/tests/jit/test-cache.c:362,1
    - Dst: clear_cache
      Src: /src/gnulib/tests/jit/test-cache.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/jit/test-cache.c:364,1
    - Dst: f
      Src: /src/gnulib/tests/jit/test-cache.c:364,1
    - Dst: memcpy
      Src: /src/gnulib/tests/jit/test-cache.c:366,1
    - Dst: SET_IS
      Src: /src/gnulib/tests/jit/test-cache.c:367,1
    - Dst: clear_cache
      Src: /src/gnulib/tests/jit/test-cache.c:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/jit/test-cache.c:369,1
    - Dst: f
      Src: /src/gnulib/tests/jit/test-cache.c:369,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 372
    functionName: main
    functionSourceFile: /src/gnulib/tests/jit/test-cache.c
    functionUses: 12
    functionsReached:
    - ftruncate
    - open
    - getpid
    - random
    - getuid
    - VirtualAlloc
    - CODE
    - unlink
    - register_temporary_file
    - sprintf
    - ASSERT
    - mmap
    - clear_cache
    - dlsym
    - f
    - SET_CODE
    - SET_IS
    - IS
    - memcpy
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_strmblen
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:34,1
    - Dst: u32_strmblen
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:47,1
    - Dst: u32_strmblen
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:55,1
    - Dst: u32_strmblen
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:62,1
    - Dst: u32_strmblen
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmblen.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strmblen.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - u32_strmblen
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:25,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:30,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:31,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:36,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:41,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:42,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:47,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:48,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:53,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcmp.h:54,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-strcmp.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: test_strcmp
    functionSourceFile: /src/gnulib/tests/unistr/test-strcmp.h
    functionUses: 0
    functionsReached:
    - U_STRCMP
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_strcmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:31,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:45,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:55,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:64,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:73,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:82,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:89,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:96,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:103,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:110,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:119,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:126,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:133,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:140,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:147,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:154,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:163,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:170,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.h:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 179
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbtouc.h
    functionUses: 208
    functionsReached:
    - my_u8_mbtouc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t *,
      size_t))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/unistr/test-u32-strstr.c:42,1
    - Dst: alarm
      Src: /src/gnulib/tests/unistr/test-u32-strstr.c:43,1
    - Dst: test_u_strstr
      Src: /src/gnulib/tests/unistr/test-u32-strstr.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strstr.c
    functionUses: 12
    functionsReached:
    - signal
    - test_u_strstr
    - alarm
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:37,1
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:52,1
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:62,1
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:71,1
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:80,1
    - Dst: u16_next
      Src: /src/gnulib/tests/unistr/test-u16-next.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-next.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-next.c
    functionUses: 12
    functionsReached:
    - u16_next
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:37,1
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:51,1
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:61,1
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:70,1
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:79,1
    - Dst: u16_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtoucr.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mbtoucr.c
    functionUses: 12
    functionsReached:
    - u16_mbtoucr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mbtouc.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_strcmp
      Src: /src/gnulib/tests/unistr/test-u32-strcoll.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strcoll.c
    functionUses: 12
    functionsReached:
    - test_u32_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:26,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:30,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:31,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:32,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:37,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:38,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:45,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:46,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:51,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:52,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:57,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:58,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:65,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:66,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:71,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:72,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp.h:97,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-cmp.h:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 100
    functionName: test_cmp
    functionSourceFile: /src/gnulib/tests/unistr/test-cmp.h
    functionUses: 0
    functionsReached:
    - ASSERT
    - U_CMP
    linkageType: ''
    returnType: void
    signature: void test_cmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:37,1
    - Dst: u32_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:52,1
    - Dst: u32_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:62,1
    - Dst: u32_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:71,1
    - Dst: u32_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strmbtouc.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strmbtouc.c
    functionUses: 12
    functionsReached:
    - u32_strmbtouc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:37,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:51,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:61,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:70,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:79,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:88,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:95,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:102,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:109,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:116,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:125,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:132,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:139,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:146,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:153,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:160,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:169,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:176,1
    - Dst: u8_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtoucr.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbtoucr.c
    functionUses: 12
    functionsReached:
    - u8_mbtoucr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:31,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:38,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:44,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:50,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:54,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:58,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:58,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-check.c:62,1
    - Dst: u16_check
      Src: /src/gnulib/tests/unistr/test-u16-check.c:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-check.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-check.c
    functionUses: 12
    functionsReached:
    - u16_check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:41,1
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:46,1
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:58,1
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:63,1
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:74,1
    - Dst: u32_uctomb
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-uctomb.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-uctomb.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - u32_uctomb
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_prev
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:31,1
    - Dst: u32_prev
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - input
    - input_length
    - puc
    argTypes:
    - uint32_t*
    - size_t
    - ucs4_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-prev.c
    functionUses: 123
    functionsReached:
    - u32_prev
    linkageType: ''
    returnType: int
    signature: int check (const uint32_t *input, size_t input_length, ucs4_t *puc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_prev
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:63,1
    - Dst: u32_prev
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 87
    functionName: check_invalid
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-prev.c
    functionUses: 0
    functionsReached:
    - u32_prev
    linkageType: ''
    returnType: int
    signature: int check_invalid (const uint32_t *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:103,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:127,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-prev.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-prev.c
    functionUses: 12
    functionsReached:
    - check_invalid
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strnlen.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - n
    argTypes:
    - UNIT*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: check_single
    functionSourceFile: /src/gnulib/tests/unistr/test-strnlen.h
    functionUses: 0
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_single (const UNIT *input, size_t length, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strnlen.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strnlen.h:33,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strnlen.h:37,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strnlen.h:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - UNIT*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-strnlen.h
    functionUses: 124
    functionsReached:
    - ASSERT
    - check_single
    linkageType: ''
    returnType: void
    signature: void check (const UNIT *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:35,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:50,1
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:51,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:69,1
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:70,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-to-u8.c
    functionUses: 124
    functionsReached:
    - u8_cmp
    - u32_to_u8
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:124,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:133,1
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:142,1
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:151,1
    - Dst: u32_to_u8
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u8.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-to-u8.c
    functionUses: 12
    functionsReached:
    - u32_to_u8
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:35,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:50,1
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:51,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:69,1
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:70,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-to-u16.c
    functionUses: 125
    functionsReached:
    - u32_to_u16
    - free
    - malloc
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:109,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:130,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:130,1
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:139,1
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:148,1
    - Dst: u32_to_u16
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-to-u16.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-to-u16.c
    functionUses: 12
    functionsReached:
    - u32_to_u16
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:27,1
    - Dst: u32_set
      Src: /src/gnulib/tests/unistr/test-strchr.h:31,1
    - Dst: u32_set
      Src: /src/gnulib/tests/unistr/test-strchr.h:38,1
    - Dst: U32_TO_U
      Src: /src/gnulib/tests/unistr/test-strchr.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:48,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:49,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:50,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:50,1
    - Dst: U_UCTOMB
      Src: /src/gnulib/tests/unistr/test-strchr.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:65,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:66,1
    - Dst: memcmp
      Src: /src/gnulib/tests/unistr/test-strchr.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:72,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:73,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:75,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:76,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:84,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:98,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:98,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-strchr.h:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:115,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:118,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:118,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-strchr.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:142,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strchr.h:150,1
    - Dst: U_STRCHR
      Src: /src/gnulib/tests/unistr/test-strchr.h:150,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-strchr.h:159,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-strchr.h:161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 162
    functionName: test_strchr
    functionSourceFile: /src/gnulib/tests/unistr/test-strchr.h
    functionUses: 0
    functionsReached:
    - U_UCTOMB
    - U_STRCHR
    - free
    - U32_TO_U
    - U_SET
    - memcmp
    - ASSERT
    - u32_set
    linkageType: ''
    returnType: void
    signature: void test_strchr (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strncmp
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:38,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:39,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:40,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:41,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:42,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:43,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u16-strncmp.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strncmp.c
    functionUses: 12
    functionsReached:
    - U_STRNCMP
    - test_strncmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-pcpy.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-pcpy.h:29,1
    - Dst: U_PCPY
      Src: /src/gnulib/tests/unistr/test-pcpy.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-pcpy.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-pcpy.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-pcpy.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-pcpy.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-pcpy.h
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - U_PCPY
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:57,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:61,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:65,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:69,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:73,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:77,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:92,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:102,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:106,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:110,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:118,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:122,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:126,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:134,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:138,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:142,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:150,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:154,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:158,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:162,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:170,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:174,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:178,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:186,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:190,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:194,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:202,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:206,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:210,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:214,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:218,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:226,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:230,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:234,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:242,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:246,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:250,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:254,1
    - Dst: my_u8_mbtouc
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 172
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 260
    functionName: test_safe_function
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbtouc.c
    functionUses: 0
    functionsReached:
    - my_u8_mbtouc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_safe_function (int (*my_u8_mbtouc) (ucs4_t *, const uint8_t
      *, size_t))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:265,1
    - Dst: test_safe_function
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbtouc.c
    functionUses: 12
    functionsReached:
    - test_function
    - test_safe_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:31,1
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:45,1
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:55,1
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:64,1
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:73,1
    - Dst: my_u16_mbtouc
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 82
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mbtouc.h
    functionUses: 210
    functionsReached:
    - my_u16_mbtouc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_u16_mbtouc) (ucs4_t *, const uint16_t
      *, size_t))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:37,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:52,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:62,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:71,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:80,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:89,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:96,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:103,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:110,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:117,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:126,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:133,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:140,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:147,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:154,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:161,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:170,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:177,1
    - Dst: u8_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmbtouc.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strmbtouc.c
    functionUses: 12
    functionsReached:
    - u8_strmbtouc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-cpy.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-cpy.h:29,1
    - Dst: U_CPY
      Src: /src/gnulib/tests/unistr/test-cpy.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-cpy.h
    functionUses: 12
    functionsReached:
    - U_CPY
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:35,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:50,1
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:51,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:69,1
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:70,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-to-u16.c
    functionUses: 126
    functionsReached:
    - free
    - malloc
    - u16_cmp
    - u8_to_u16
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:124,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:132,1
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:141,1
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:150,1
    - Dst: u8_to_u16
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u16.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-to-u16.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    - u8_to_u16
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strncmp
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:38,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:39,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:40,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:41,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:42,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:43,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u32-strncmp.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strncmp.c
    functionUses: 12
    functionsReached:
    - U_STRNCMP
    - test_strncmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u_strtok
      Src: /src/gnulib/tests/unistr/test-u32-strtok.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strtok.c
    functionUses: 12
    functionsReached:
    - test_u_strtok
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:37,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:52,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:62,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:71,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:80,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:89,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:96,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:103,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:110,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:117,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:126,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:133,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:140,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:147,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:154,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:161,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:170,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:177,1
    - Dst: u8_next
      Src: /src/gnulib/tests/unistr/test-u8-next.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-next.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-next.c
    functionUses: 12
    functionsReached:
    - u8_next
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cmp
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:40,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:41,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:42,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:43,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u16-cmp.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-cmp.c
    functionUses: 12
    functionsReached:
    - test_cmp
    - ASSERT
    - U_CMP
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:31,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:44,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:53,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strlen.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strlen.c
    functionUses: 12
    functionsReached:
    - u16_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:24,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:25,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:37,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:39,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:41,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:43,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:56,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:58,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:73,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:80,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:82,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:84,1
    - Dst: U_STRTOK
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:87,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strtok.h:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 90
    functionName: test_u_strtok
    functionSourceFile: /src/gnulib/tests/unistr/test-u-strtok.h
    functionUses: 1
    functionsReached:
    - U_STRTOK
    - free
    - malloc
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u_strtok (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-stpncpy.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-stpncpy.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-stpncpy.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-stpncpy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-stpncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_strcmp
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strcmp.c
    functionUses: 12
    functionsReached:
    - test_u32_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strcmp
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:31,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:32,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:39,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:40,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u32-strcmp.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: test_u32_strcmp
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strcmp.h
    functionUses: 2
    functionsReached:
    - U_STRCMP
    - test_strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_strcmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:29,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:30,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:32,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:32,1
    - Dst: U_STRCAT
      Src: /src/gnulib/tests/unistr/test-strcat.h:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcat.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcat.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcat.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcat.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcat.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcat.h:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-strcat.h
    functionUses: 12
    functionsReached:
    - U_STRCAT
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u8-mbtouc-unsafe.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbtouc-unsafe.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cmp
      Src: /src/gnulib/tests/unistr/test-u32-cmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-cmp.c:40,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u32-cmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-cmp.c:41,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u32-cmp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-cmp.c
    functionUses: 12
    functionsReached:
    - test_cmp
    - ASSERT
    - U_CMP
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/unistr/test-u8-strstr.c:45,1
    - Dst: alarm
      Src: /src/gnulib/tests/unistr/test-u8-strstr.c:46,1
    - Dst: test_u_strstr
      Src: /src/gnulib/tests/unistr/test-u8-strstr.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strstr.c
    functionUses: 12
    functionsReached:
    - signal
    - test_u_strstr
    - alarm
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u_strtok
      Src: /src/gnulib/tests/unistr/test-u16-strtok.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strtok.c
    functionUses: 12
    functionsReached:
    - test_u_strtok
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strnlen.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strnlen.c:43,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strnlen.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strnlen.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strnlen.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:31,1
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:46,1
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - input
    - input_length
    - puc
    argTypes:
    - uint16_t*
    - size_t
    - ucs4_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-prev.c
    functionUses: 129
    functionsReached:
    - u16_prev
    linkageType: ''
    returnType: int
    signature: int check (const uint16_t *input, size_t input_length, ucs4_t *puc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:82,1
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:99,1
    - Dst: u16_prev
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 125
    functionName: check_invalid
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-prev.c
    functionUses: 1
    functionsReached:
    - u16_prev
    linkageType: ''
    returnType: int
    signature: int check_invalid (const uint16_t *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:158,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:158,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:165,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:169,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-prev.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-prev.c
    functionUses: 12
    functionsReached:
    - check_invalid
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-strncpy.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:27,1
    - Dst: U_STRNCPY
      Src: /src/gnulib/tests/unistr/test-strncpy.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-strncpy.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - input
    - length
    - n
    argTypes:
    - UNIT*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: check_single
    functionSourceFile: /src/gnulib/tests/unistr/test-strncpy.h
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - U_STRNCPY
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_single (const UNIT *input, size_t length, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncpy.h:52,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strncpy.h:56,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strncpy.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - UNIT*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-strncpy.h
    functionUses: 130
    functionsReached:
    - ASSERT
    - check_single
    linkageType: ''
    returnType: void
    signature: void check (const UNIT *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:25,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:26,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:27,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:32,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:33,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:34,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:35,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:36,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:37,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:38,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:39,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:40,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:45,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:46,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:51,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cmp2.h:52,1
    - Dst: U_CMP2
      Src: /src/gnulib/tests/unistr/test-cmp2.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-cmp2.h
    functionUses: 12
    functionsReached:
    - U_CMP2
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:34,1
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:41,1
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:53,1
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:61,1
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:68,1
    - Dst: u32_mblen
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mblen.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mblen.c
    functionUses: 12
    functionsReached:
    - u32_mblen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-strnlen.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-strnlen.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strnlen.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u8_strcmp
      Src: /src/gnulib/tests/unistr/test-u8-strcoll.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strcoll.c
    functionUses: 12
    functionsReached:
    - test_u8_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc-unsafe.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mbtouc-unsafe.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u8_strcmp
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strcmp.c
    functionUses: 12
    functionsReached:
    - test_u8_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:34,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:41,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:53,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:61,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:68,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:75,1
    - Dst: u16_mblen
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mblen.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mblen.c
    functionUses: 12
    functionsReached:
    - u16_mblen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:35,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:50,1
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:51,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:69,1
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:70,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-to-u32.c
    functionUses: 131
    functionsReached:
    - free
    - malloc
    - u8_to_u32
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:124,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:132,1
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:141,1
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:150,1
    - Dst: u8_to_u32
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-to-u32.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-to-u32.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - u8_to_u32
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:31,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:38,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:44,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:50,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:56,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:62,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:66,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:72,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:78,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:84,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:90,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:94,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:98,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:104,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:108,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:112,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:116,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:120,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:126,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:130,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:134,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:138,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:142,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:146,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:150,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:156,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:162,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:168,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:174,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:180,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-check.c:184,1
    - Dst: u8_check
      Src: /src/gnulib/tests/unistr/test-u8-check.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-check.c
    functionUses: 12
    functionsReached:
    - u8_check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:41,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:46,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:58,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:62,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:68,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:79,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:83,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:88,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:95,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:106,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:110,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:115,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:121,1
    - Dst: u8_uctomb
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-uctomb.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-uctomb.c
    functionUses: 12
    functionsReached:
    - u8_uctomb
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:37,1
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:52,1
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:62,1
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:71,1
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:80,1
    - Dst: u16_strmbtouc
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmbtouc.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strmbtouc.c
    functionUses: 12
    functionsReached:
    - u16_strmbtouc
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strdup.h:27,1
    - Dst: U_STRDUP
      Src: /src/gnulib/tests/unistr/test-strdup.h:29,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strdup.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strdup.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strdup.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strdup.h:34,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-strdup.h:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-strdup.h
    functionUses: 12
    functionsReached:
    - U_STRDUP
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:29,1
    - Dst: U_STPCPY
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:36,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpcpy.h:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-stpcpy.h
    functionUses: 12
    functionsReached:
    - U_STPCPY
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:37,1
    - Dst: u32_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:51,1
    - Dst: u32_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:61,1
    - Dst: u32_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:70,1
    - Dst: u32_mbtoucr
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtoucr.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mbtoucr.c
    functionUses: 12
    functionsReached:
    - u32_mbtoucr
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strcmp
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:31,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:32,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:39,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:40,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: test_u16_strcmp
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strcmp.h
    functionUses: 0
    functionsReached:
    - U_STRCMP
    - test_strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_strcmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strncpy.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strncpy.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strncpy.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strncpy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strlen.c:31,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistr/test-u8-strlen.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strlen.c:46,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistr/test-u8-strlen.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-strlen.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strlen.c
    functionUses: 12
    functionsReached:
    - u8_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u16_strcmp
      Src: /src/gnulib/tests/unistr/test-u16-strcmp.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strcmp.c
    functionUses: 12
    functionsReached:
    - test_u16_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:31,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:46,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:65,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:85,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - input
    - input_length
    - puc
    argTypes:
    - uint8_t*
    - size_t
    - ucs4_t*
    constantsTouched: []
    func_position:
      end: 114
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 114
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-prev.c
    functionUses: 134
    functionsReached:
    - u8_prev
    linkageType: ''
    returnType: int
    signature: int check (const uint8_t *input, size_t input_length, ucs4_t *puc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:123,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:140,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:159,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:179,1
    - Dst: u8_prev
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 207
    functionName: check_invalid
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-prev.c
    functionUses: 2
    functionsReached:
    - u8_prev
    linkageType: ''
    returnType: int
    signature: int check_invalid (const uint8_t *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:223,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:232,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:232,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:240,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:248,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:248,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:255,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:255,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:259,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:259,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:263,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:263,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:267,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:267,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:271,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:271,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:271,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:277,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:277,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:281,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:281,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:285,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:285,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:289,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:289,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:293,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:293,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:297,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:297,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:303,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:303,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:307,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:307,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:311,1
    - Dst: check_invalid
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:311,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-prev.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 315
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-prev.c
    functionUses: 12
    functionsReached:
    - check_invalid
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strchr
      Src: /src/gnulib/tests/unistr/test-u16-strchr.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strchr.c
    functionUses: 12
    functionsReached:
    - test_strchr
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u_strtok
      Src: /src/gnulib/tests/unistr/test-u8-strtok.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strtok.c
    functionUses: 12
    functionsReached:
    - test_u_strtok
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:35,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:50,1
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:51,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:69,1
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:70,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-to-u32.c
    functionUses: 135
    functionsReached:
    - free
    - malloc
    - u32_cmp
    - u16_to_u32
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:109,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:109,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:130,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:130,1
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:139,1
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:148,1
    - Dst: u16_to_u32
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u32.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-to-u32.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    - u16_to_u32
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strncat.h:25,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-strncat.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:32,1
    - Dst: U_STRNCAT
      Src: /src/gnulib/tests/unistr/test-strncat.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:50,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-strncat.h:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - input
    - length
    - n
    argTypes:
    - UNIT*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 54
    functionName: check_single
    functionSourceFile: /src/gnulib/tests/unistr/test-strncat.h
    functionUses: 2
    functionsReached:
    - free
    - SIZEOF
    - malloc
    - U_STRNCAT
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_single (const UNIT *input, size_t length, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncat.h:63,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strncat.h:67,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-strncat.h:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - UNIT*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-strncat.h
    functionUses: 136
    functionsReached:
    - ASSERT
    - check_single
    linkageType: ''
    returnType: void
    signature: void check (const UNIT *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strncpy.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strncpy.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strncpy.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strncpy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:34,1
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:47,1
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:55,1
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:62,1
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:69,1
    - Dst: u16_strmblen
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-strmblen.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strmblen.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - u16_strmblen
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strncat.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strncat.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strncat.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strncat.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strncat.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-mbsnlen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbsnlen.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-mbsnlen.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbsnlen.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mbsnlen.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-strncpy.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-strncpy.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strncmp
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:38,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:39,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:40,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:41,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:42,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:43,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:44,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:45,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:46,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:47,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:48,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:49,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-u8-strncmp.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strncmp.c
    functionUses: 12
    functionsReached:
    - U_STRNCMP
    - test_strncmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strcmp
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:31,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:32,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:39,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:40,1
    - Dst: U_STRCMP
      Src: /src/gnulib/tests/unistr/test-u8-strcmp.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: test_u8_strcmp
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strcmp.h
    functionUses: 2
    functionsReached:
    - U_STRCMP
    - test_strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u8_strcmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:26,1
    - Dst: u32_set
      Src: /src/gnulib/tests/unistr/test-chr.h:30,1
    - Dst: u32_set
      Src: /src/gnulib/tests/unistr/test-chr.h:37,1
    - Dst: U32_TO_U
      Src: /src/gnulib/tests/unistr/test-chr.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:47,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:49,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:53,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:56,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:57,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:58,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:58,1
    - Dst: U_UCTOMB
      Src: /src/gnulib/tests/unistr/test-chr.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:72,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:73,1
    - Dst: memcmp
      Src: /src/gnulib/tests/unistr/test-chr.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:79,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:80,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:82,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:83,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:91,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:104,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:104,1
    - Dst: zerosize_ptr
      Src: /src/gnulib/tests/unistr/test-chr.h:112,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-chr.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:121,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-chr.h:129,1
    - Dst: U_CHR
      Src: /src/gnulib/tests/unistr/test-chr.h:129,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-chr.h:137,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-chr.h:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 142
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-chr.h
    functionUses: 12
    functionsReached:
    - U_UCTOMB
    - free
    - U_CHR
    - U32_TO_U
    - memcmp
    - U_SET
    - zerosize_ptr
    - ASSERT
    - u32_set
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:34,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:41,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:53,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:61,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:68,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:75,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:82,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:87,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:92,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:97,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:102,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:109,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:114,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:119,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:124,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:129,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:134,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:141,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:146,1
    - Dst: u8_mblen
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mblen.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mblen.c
    functionUses: 12
    functionsReached:
    - u8_mblen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:31,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:44,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:53,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strlen.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strlen.c
    functionUses: 12
    functionsReached:
    - u32_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/tests/unistr/test-u16-strstr.c:42,1
    - Dst: alarm
      Src: /src/gnulib/tests/unistr/test-u16-strstr.c:43,1
    - Dst: test_u_strstr
      Src: /src/gnulib/tests/unistr/test-u16-strstr.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strstr.c
    functionUses: 12
    functionsReached:
    - signal
    - test_u_strstr
    - alarm
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-mbsnlen.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbsnlen.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-mbsnlen.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-mbsnlen.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mbsnlen.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strncat.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strncat.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-strncat.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-strncat.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strncat.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:41,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:46,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:58,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:63,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:74,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:78,1
    - Dst: u16_uctomb
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-uctomb.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-uctomb.c
    functionUses: 12
    functionsReached:
    - u16_uctomb
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:81,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:93,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:100,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:105,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:110,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:115,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:120,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:125,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:130,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:135,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:140,1
    - Dst: u8_mbsnlen
      Src: /src/gnulib/tests/unistr/test-u8-mbsnlen.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-mbsnlen.c
    functionUses: 12
    functionsReached:
    - u8_mbsnlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:27,1
    - Dst: U_STPNCPY
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - input
    - length
    - n
    argTypes:
    - UNIT*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: check_single
    functionSourceFile: /src/gnulib/tests/unistr/test-stpncpy.h
    functionUses: 3
    functionsReached:
    - free
    - U_STPNCPY
    - malloc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void check_single (const UNIT *input, size_t length, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:52,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:56,1
    - Dst: check_single
      Src: /src/gnulib/tests/unistr/test-stpncpy.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - input_length
    argTypes:
    - UNIT*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-stpncpy.h
    functionUses: 140
    functionsReached:
    - ASSERT
    - check_single
    linkageType: ''
    returnType: void
    signature: void check (const UNIT *input, size_t input_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_next
      Src: /src/gnulib/tests/unistr/test-u32-next.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:37,1
    - Dst: u32_next
      Src: /src/gnulib/tests/unistr/test-u32-next.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:52,1
    - Dst: u32_next
      Src: /src/gnulib/tests/unistr/test-u32-next.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:62,1
    - Dst: u32_next
      Src: /src/gnulib/tests/unistr/test-u32-next.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:71,1
    - Dst: u32_next
      Src: /src/gnulib/tests/unistr/test-u32-next.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-next.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-next.c
    functionUses: 12
    functionsReached:
    - u32_next
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strnlen.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strnlen.c:43,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u32-strnlen.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-strnlen.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strnlen.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:31,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:38,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:44,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:50,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:54,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:58,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:58,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-check.c:62,1
    - Dst: u32_check
      Src: /src/gnulib/tests/unistr/test-u32-check.c:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u32-check.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-check.c
    functionUses: 12
    functionsReached:
    - u32_check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc-unsafe.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mbtouc-unsafe.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_cmp
      Src: /src/gnulib/tests/unistr/test-u8-cmp.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-cmp.c:40,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u8-cmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-cmp.c:41,1
    - Dst: U_CMP
      Src: /src/gnulib/tests/unistr/test-u8-cmp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-cmp.c
    functionUses: 12
    functionsReached:
    - test_cmp
    - ASSERT
    - U_CMP
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcpy.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcpy.h:29,1
    - Dst: U_STRCPY
      Src: /src/gnulib/tests/unistr/test-strcpy.h:36,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcpy.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcpy.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcpy.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcpy.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-strcpy.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strcpy.h:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-strcpy.h
    functionUses: 12
    functionsReached:
    - U_STRCPY
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-set.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-set.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-set.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-set.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-set.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-set.h
    functionUses: 12
    functionsReached:
    - ASSERT
    - U_SET
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistr/test-u16-mbtouc.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-mbtouc.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-cpy-alloc.h:27,1
    - Dst: U_CPY_ALLOC
      Src: /src/gnulib/tests/unistr/test-cpy-alloc.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy-alloc.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-cpy-alloc.h:34,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-cpy-alloc.h:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-cpy-alloc.h
    functionUses: 12
    functionsReached:
    - ASSERT
    - free
    - SIZEOF
    - U_CPY_ALLOC
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strchr
      Src: /src/gnulib/tests/unistr/test-u32-strchr.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-strchr.c
    functionUses: 12
    functionsReached:
    - test_strchr
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:29,1
    - Dst: U_MOVE
      Src: /src/gnulib/tests/unistr/test-move.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:50,1
    - Dst: U_MOVE
      Src: /src/gnulib/tests/unistr/test-move.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:74,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:74,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:74,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:75,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:81,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:88,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:89,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:90,1
    - Dst: U_MOVE
      Src: /src/gnulib/tests/unistr/test-move.h:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:94,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:95,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:100,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:101,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:103,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:116,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:131,1
    - Dst: U_MOVE
      Src: /src/gnulib/tests/unistr/test-move.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-move.h:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-move.h:146,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-move.h
    functionUses: 12
    functionsReached:
    - U_MOVE
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-stpncpy.c:46,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-stpncpy.c:46,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-stpncpy.c:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-stpncpy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-stpncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:34,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:47,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:55,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:62,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:69,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:76,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:81,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:86,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:91,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:96,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:103,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:108,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:113,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:118,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:123,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:128,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:135,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:140,1
    - Dst: u8_strmblen
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strmblen.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strmblen.c
    functionUses: 12
    functionsReached:
    - u8_strmblen
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:51,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:52,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:53,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:54,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:59,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:60,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:61,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:62,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:68,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:69,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:70,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:71,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:76,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:77,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:78,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:79,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:84,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:85,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:86,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:87,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:94,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:95,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:96,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:97,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:103,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:104,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:105,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:106,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:107,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:112,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:113,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:114,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:115,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:120,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:121,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:122,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:123,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:131,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:132,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:133,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:134,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:140,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:141,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:142,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:143,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:144,1
    - Dst: u8_strchr
      Src: /src/gnulib/tests/unistr/test-u8-strchr.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strchr.c
    functionUses: 12
    functionsReached:
    - u8_strchr
    - ASSERT
    - test_strchr
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u16_strcmp
      Src: /src/gnulib/tests/unistr/test-u16-strcoll.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-strcoll.c
    functionUses: 12
    functionsReached:
    - test_u16_strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u32_mbtouc
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:31,1
    - Dst: my_u32_mbtouc
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:45,1
    - Dst: my_u32_mbtouc
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:55,1
    - Dst: my_u32_mbtouc
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:64,1
    - Dst: my_u32_mbtouc
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u32-mbtouc.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 75
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistr/test-u32-mbtouc.h
    functionUses: 214
    functionsReached:
    - my_u32_mbtouc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (int (*my_u32_mbtouc) (ucs4_t *, const uint32_t
      *, size_t))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:35,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:42,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:50,1
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:51,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:58,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:61,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:69,1
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:70,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: check
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-to-u8.c
    functionUses: 143
    functionsReached:
    - u8_cmp
    - free
    - u16_to_u8
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:89,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:124,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:124,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:133,1
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:142,1
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:151,1
    - Dst: u16_to_u8
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u16-to-u8.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u16-to-u8.c
    functionUses: 12
    functionsReached:
    - u16_to_u8
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-stpncpy.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-stpncpy.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-stpncpy.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/gnulib/tests/unistr/test-u8-strncat.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistr/test-u8-strncat.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistr/test-u8-strncat.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:23,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:24,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:31,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:41,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:51,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:61,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:84,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:110,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:142,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:142,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:145,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:177,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:177,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:180,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:187,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:188,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:205,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:207,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:208,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:224,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:230,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:231,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:236,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:237,1
    - Dst: U_SET
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:239,1
    - Dst: U_STRSTR
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:243,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:245,1
    - Dst: free
      Src: /src/gnulib/tests/unistr/test-u-strstr.h:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 248
    functionName: test_u_strstr
    functionSourceFile: /src/gnulib/tests/unistr/test-u-strstr.h
    functionUses: 3
    functionsReached:
    - free
    - U_STRSTR
    - U_SET
    - malloc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u_strstr (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:25,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:25,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:26,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:27,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:32,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:33,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:34,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:35,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:36,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:37,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:38,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:39,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:40,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:45,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:46,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:47,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:48,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:49,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:50,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:55,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:56,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:57,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:58,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:59,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:60,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:61,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:66,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:67,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:68,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:69,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:70,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:71,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:72,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:73,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:78,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:79,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:80,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:81,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:82,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:83,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:84,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:85,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:86,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:87,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:88,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:89,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistr/test-strncmp.h:90,1
    - Dst: U_STRNCMP
      Src: /src/gnulib/tests/unistr/test-strncmp.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 92
    functionName: test_strncmp
    functionSourceFile: /src/gnulib/tests/unistr/test-strncmp.h
    functionUses: 3
    functionsReached:
    - U_STRNCMP
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_strncmp (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathz_value
      Src: /src/gnulib/tests/havelib/rpathlzyx/usez.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 1
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/gnulib/tests/havelib/rpathlzyx/usez.c
    functionUses: 12
    functionsReached:
    - rpathz_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathy_value
      Src: /src/gnulib/tests/havelib/rpathlyx/usey.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 1
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/gnulib/tests/havelib/rpathlyx/usey.c
    functionUses: 12
    functionsReached:
    - rpathy_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathx_value
      Src: /src/gnulib/tests/havelib/rpathz/rpathz.c:3,1
    - Dst: rpathy_value
      Src: /src/gnulib/tests/havelib/rpathz/rpathz.c:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 3
    functionName: rpathz_value
    functionSourceFile: /src/gnulib/tests/havelib/rpathz/rpathz.c
    functionUses: 1
    functionsReached:
    - rpathy_value
    - rpathx_value
    linkageType: ''
    returnType: int
    signature: int rpathz_value ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathx_value
      Src: /src/gnulib/tests/havelib/rpathy/rpathy.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 1
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: rpathy_value
    functionSourceFile: /src/gnulib/tests/havelib/rpathy/rpathy.c
    functionUses: 2
    functionsReached:
    - rpathx_value
    linkageType: ''
    returnType: int
    signature: int rpathy_value ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathy_value
      Src: /src/gnulib/tests/havelib/rpathly/usey.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 2
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/gnulib/tests/havelib/rpathly/usey.c
    functionUses: 12
    functionsReached:
    - rpathy_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathx_value
      Src: /src/gnulib/tests/havelib/rpathlx/usex.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 1
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/gnulib/tests/havelib/rpathlx/usex.c
    functionUses: 12
    functionsReached:
    - rpathx_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 1
    functionName: rpathx_value
    functionSourceFile: /src/gnulib/tests/havelib/rpathx/rpathx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rpathx_value ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpathz_value
      Src: /src/gnulib/tests/havelib/rpathlz/usez.c:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 2
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: main
    functionSourceFile: /src/gnulib/tests/havelib/rpathlz/usez.c
    functionUses: 12
    functionsReached:
    - rpathz_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:39,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:47,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:51,1
    - Dst: u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:54,1
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:65,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:66,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:67,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: test_u32_grapheme_prev
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c
    functionUses: 0
    functionsReached:
    - abort
    - fputs
    - va_start
    - va_end
    - putc
    - fflush
    - u32_grapheme_prev
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u32_grapheme_prev (size_t len, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:78,1
    - Dst: u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:79,1
    - Dst: u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:79,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:82,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:83,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:84,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:88,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:89,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:90,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:95,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:96,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:97,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:98,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:101,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:104,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:107,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:111,1
    - Dst: test_u32_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-prev.c
    functionUses: 12
    functionsReached:
    - test_u32_grapheme_prev
    - u32_grapheme_prev
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:39,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:47,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:51,1
    - Dst: u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:54,1
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:65,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:66,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:67,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: test_u16_grapheme_prev
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c
    functionUses: 0
    functionsReached:
    - abort
    - u16_grapheme_prev
    - fputs
    - va_start
    - va_end
    - putc
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u16_grapheme_prev (size_t len, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:78,1
    - Dst: u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:79,1
    - Dst: u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:79,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:82,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:83,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:84,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:88,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:89,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:90,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:95,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:96,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:97,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:98,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:101,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:104,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:107,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:110,1
    - Dst: test_u16_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-prev.c
    functionUses: 12
    functionsReached:
    - u16_grapheme_prev
    - test_u16_grapheme_prev
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:33,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:37,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:38,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:39,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:40,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:41,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:42,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:43,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:44,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:45,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:46,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:47,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:48,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:49,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:50,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:51,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:52,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:53,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:54,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - gbp
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: graphemebreakproperty_to_string
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c
    functionUses: 0
    functionsReached:
    - abort
    - printf
    - CASE
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED *

      graphemebreakproperty_to_string (int gbp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:66,1
    - Dst: uc_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:74,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:76,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:78,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:79,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:81,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:83,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:84,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:88,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:89,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:91,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - expected
    - s
    - n
    - filename
    - lineno
    argTypes:
    - char*
    - ucs4_t*
    - size_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: test_uc_grapheme_breaks
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c
    functionUses: 0
    functionsReached:
    - abort
    - uc_grapheme_breaks
    - putc
    - fflush
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_uc_grapheme_breaks (const char *expected, ucs4_t *s, size_t
      n,\n                          const char *filename, int lineno)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:106,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:109,1
    - Dst: fopen
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:113,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:116,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:117,1
    - Dst: fgets
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:121,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:130,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:142,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:143,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:148,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:155,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:157,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:160,1
    - Dst: sscanf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:170,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:173,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:179,1
    - Dst: test_uc_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 189
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-grapheme-breaks.c
    functionUses: 12
    functionsReached:
    - fopen
    - exit
    - test_uc_grapheme_breaks
    - strspn
    - sscanf
    - strncmp
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:38,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:40,1
    - Dst: memset
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:41,1
    - Dst: u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:49,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:51,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:53,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:54,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:56,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:58,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:63,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:64,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:66,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:67,1
    - Dst: free
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - input
    - expected
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 71
    functionName: test_u8_grapheme_breaks
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c
    functionUses: 0
    functionsReached:
    - abort
    - fprintf
    - free
    - putc
    - fflush
    - memset
    - malloc
    - u8_grapheme_breaks
    linkageType: ''
    returnType: void
    signature: void test_u8_grapheme_breaks (const char *input, const char *expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:77,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:78,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:79,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:83,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:84,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:90,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:91,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:92,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:93,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:96,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:99,1
    - Dst: test_u8_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-breaks.c
    functionUses: 12
    functionsReached:
    - test_u8_grapheme_breaks
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:40,1
    - Dst: memset
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:42,1
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:48,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:52,1
    - Dst: u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:54,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:64,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:67,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:69,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:74,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:75,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:77,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - expected
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 80
    functionName: test_u32_grapheme_breaks
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c
    functionUses: 0
    functionsReached:
    - abort
    - u32_grapheme_breaks
    - va_start
    - va_end
    - putc
    - fflush
    - memset
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_grapheme_breaks (const char *expected, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:86,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:87,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:88,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:91,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:92,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:93,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:98,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:99,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:100,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:101,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:104,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:109,1
    - Dst: test_u32_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-breaks.c
    functionUses: 12
    functionsReached:
    - test_u32_grapheme_breaks
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:41,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:42,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:43,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:44,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:45,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:46,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:47,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:48,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:49,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:50,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:51,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:52,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:53,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:54,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:55,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:56,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:57,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:58,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - gbp
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: graphemebreakproperty_to_string
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c
    functionUses: 0
    functionsReached:
    - abort
    - CASE
    linkageType: ''
    returnType: char
    signature: 'char *

      graphemebreakproperty_to_string (int gbp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:77,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:79,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:80,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:81,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-gbrk-prop.c
    functionUses: 12
    functionsReached:
    - abort
    - fflush
    - graphemebreakproperty_to_string
    - fprintf
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:39,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:41,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:42,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:44,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:45,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:46,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - input
    - n
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: test_u8_grapheme_next
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c
    functionUses: 0
    functionsReached:
    - abort
    - fputs
    - putc
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u8_grapheme_next (const char *input, size_t n, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:57,1
    - Dst: u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:58,1
    - Dst: u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:58,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:61,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:62,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:63,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:67,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:68,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:74,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:75,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:76,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:77,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:80,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:83,1
    - Dst: test_u8_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-next.c
    functionUses: 12
    functionsReached:
    - test_u8_grapheme_next
    - u8_grapheme_next
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: is_8859_6_break
    functionSourceFile: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_8859_6_break (unsigned char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:40,1
    - Dst: ulc_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:44,1
    - Dst: ulc_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:57,1
    - Dst: is_8859_6_break
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:63,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:67,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:72,1
    - Dst: is_8859_6_break
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:72,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:73,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:75,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:77,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:78,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:80,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-ulc-grapheme-breaks.c
    functionUses: 12
    functionsReached:
    - abort
    - setlocale
    - putc
    - ulc_grapheme_breaks
    - fflush
    - is_8859_6_break
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:36,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:37,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:38,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:39,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:40,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:41,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:42,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:43,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:44,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:45,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:46,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:47,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:48,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:49,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:50,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:51,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:52,1
    - Dst: CASE
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:53,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - gbp
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: graphemebreakproperty_to_string
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c
    functionUses: 1
    functionsReached:
    - abort
    - CASE
    linkageType: ''
    returnType: char
    signature: 'char *

      graphemebreakproperty_to_string (int gbp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:69,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:72,1
    - Dst: fopen
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:76,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:79,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:80,1
    - Dst: fgets
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:85,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:94,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:121,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:122,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:127,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:134,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:136,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:139,1
    - Dst: sscanf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:147,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:149,1
    - Dst: exit
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:152,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:164,1
    - Dst: uc_is_property_extended_pictographic
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:169,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:173,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:176,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:177,1
    - Dst: uc_graphemeclusterbreak_property
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:179,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:184,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:187,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:188,1
    - Dst: uc_is_grapheme_break
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:190,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:194,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:198,1
    - Dst: graphemebreakproperty_to_string
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:199,1
    - Dst: strspn
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:203,1
    - Dst: uc_graphemeclusterbreak_property
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:220,1
    - Dst: uc_is_property_extended_pictographic
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:221,1
    - Dst: uc_graphemeclusterbreak_property
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:223,1
    - Dst: uc_graphemeclusterbreak_property
      Src: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c:225,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 234
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-uc-is-grapheme-break.c
    functionUses: 12
    functionsReached:
    - fopen
    - exit
    - uc_is_grapheme_break
    - uc_is_property_extended_pictographic
    - strspn
    - sscanf
    - uc_graphemeclusterbreak_property
    - strncmp
    - graphemebreakproperty_to_string
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:40,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:42,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:43,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:45,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:46,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:47,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - input
    - n
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: test_u8_grapheme_prev
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c
    functionUses: 0
    functionsReached:
    - abort
    - fputs
    - putc
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u8_grapheme_prev (const char *input, size_t n, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:58,1
    - Dst: u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:59,1
    - Dst: u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:59,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:62,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:63,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:64,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:68,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:69,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:75,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:76,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:77,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:78,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:81,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:84,1
    - Dst: test_u8_grapheme_prev
      Src: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u8-grapheme-prev.c
    functionUses: 12
    functionsReached:
    - u8_grapheme_prev
    - ASSERT
    - test_u8_grapheme_prev
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:40,1
    - Dst: memset
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:42,1
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:48,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:52,1
    - Dst: u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:54,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:62,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:64,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:65,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:67,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:69,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:70,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:72,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:74,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:75,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:77,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - expected
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 80
    functionName: test_u16_grapheme_breaks
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c
    functionUses: 0
    functionsReached:
    - u16_grapheme_breaks
    - abort
    - va_start
    - va_end
    - putc
    - fflush
    - memset
    - fprintf
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_grapheme_breaks (const char *expected, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:86,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:87,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:88,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:91,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:92,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:93,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:98,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:99,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:100,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:101,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:104,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:109,1
    - Dst: test_u16_grapheme_breaks
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-breaks.c
    functionUses: 12
    functionsReached:
    - test_u16_grapheme_breaks
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:38,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:50,1
    - Dst: u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:52,1
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:58,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:63,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:64,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:65,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: test_u32_grapheme_next
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c
    functionUses: 0
    functionsReached:
    - abort
    - fputs
    - va_start
    - u32_grapheme_next
    - va_end
    - putc
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u32_grapheme_next (size_t len, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:76,1
    - Dst: u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:77,1
    - Dst: u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:77,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:80,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:81,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:82,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:86,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:87,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:88,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:93,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:94,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:95,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:96,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:99,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:102,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:105,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:109,1
    - Dst: test_u32_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u32-grapheme-next.c
    functionUses: 12
    functionsReached:
    - u32_grapheme_next
    - ASSERT
    - test_u32_grapheme_next
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:38,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:50,1
    - Dst: u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:52,1
    - Dst: fputs
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:58,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:60,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:61,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:63,1
    - Dst: putc
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:64,1
    - Dst: fflush
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:65,1
    - Dst: abort
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: test_u16_grapheme_next
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c
    functionUses: 0
    functionsReached:
    - abort
    - fputs
    - va_start
    - va_end
    - putc
    - fflush
    - u16_grapheme_next
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_u16_grapheme_next (size_t len, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:76,1
    - Dst: u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:77,1
    - Dst: u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:77,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:80,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:81,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:82,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:86,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:87,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:88,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:93,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:94,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:95,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:96,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:99,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:102,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:105,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:108,1
    - Dst: test_u16_grapheme_next
      Src: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/gnulib/tests/unigbrk/test-u16-grapheme-next.c
    functionUses: 12
    functionsReached:
    - u16_grapheme_next
    - ASSERT
    - test_u16_grapheme_next
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unimetadata/test-u-version.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unimetadata/test-u-version.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unimetadata/test-u-version.c
    functionUses: 12
    functionsReached:
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:41,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:56,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:57,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:75,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:76,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkc.c
    functionUses: 146
    functionsReached:
    - u8_cmp
    - free
    - u8_normalize
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:128,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:136,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:143,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:149,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:163,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:164,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:170,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:178,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:184,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:198,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:199,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:205,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:206,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:220,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:227,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:233,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:240,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:241,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:251,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:252,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:252,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:252,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:259,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:259,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:259,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:260,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:260,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:260,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:266,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:266,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:266,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:266,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:267,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:267,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:267,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:304,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:304,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:304,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:305,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:305,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:305,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:306,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:306,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:312,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:313,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:379,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:398,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:399,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:399,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkc.c:402,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 406
    functionName: test_u8_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkc.c
    functionUses: 0
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u8_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: test_u8_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u8_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u32-normcoll.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normcoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:41,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:56,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:75,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd.c
    functionUses: 147
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:208,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:214,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:235,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:235,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:241,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:242,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:302,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:302,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd.c:304,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 308
    functionName: test_u32_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd.c
    functionUses: 0
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: test_u32_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u32_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u16-normcoll.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-normcoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:27,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:34,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:37,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:37,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:40,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:50,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:53,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:63,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:66,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - nf
    argTypes:
    - uninorm_t
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normcmp.h
    functionUses: 5
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: "void test_ascii (int (*my_normcmp) (const uint32_t *, size_t, const
      uint32_t *, size_t, uninorm_t, int *),\n            uninorm_t nf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_nfkc
      Src: /src/gnulib/tests/uninorm/test-nfkc.c:41,1
    - Dst: test_u16_nfkc
      Src: /src/gnulib/tests/uninorm/test-nfkc.c:42,1
    - Dst: test_u8_nfkc
      Src: /src/gnulib/tests/uninorm/test-nfkc.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-nfkc.c
    functionUses: 12
    functionsReached:
    - test_u32_nfkc
    - test_u8_nfkc
    - test_u16_nfkc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:41,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:56,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:57,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:75,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:76,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfd.c
    functionUses: 148
    functionsReached:
    - free
    - malloc
    - u16_normalize
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:208,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:214,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:235,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:235,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:241,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:242,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:302,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:302,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfd.c:304,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 308
    functionName: test_u16_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfd.c
    functionUses: 0
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: test_u16_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u16_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stream_data
    - uc
    argTypes:
    - void*
    - ucs4_t
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: write_to_accumulator
    functionSourceFile: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int write_to_accumulator (void *stream_data, ucs4_t uc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uninorm_filter_create
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:68,1
    - Dst: uninorm_filter_write
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:70,1
    - Dst: uninorm_filter_free
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:70,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:76,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c
    functionUses: 149
    functionsReached:
    - u32_cmp
    - uninorm_filter_free
    - free
    - uninorm_filter_write
    - uninorm_filter_create
    - ASSERT
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:104,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-uninorm-filter-nfc.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:43,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:48,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:57,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:59,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:65,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:68,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:70,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:81,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:87,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:90,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:92,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 10
    argNames:
    - c1
    - c1_length
    - c2
    - c2_length
    - c3
    - c3_length
    - c4
    - c4_length
    - c5
    - c5_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 95
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c
    functionUses: 150
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *c1, size_t c1_length,\n       const uint32_t
      *c2, size_t c2_length,\n       const uint32_t *c3, size_t c3_length,\n       const
      uint32_t *c4, size_t c4_length,\n       const uint32_t *c5, size_t c5_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:102,1
    - Dst: test_specific
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:104,1
    - Dst: test_other
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:105,1
    - Dst: free_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c
    functionUses: 12
    functionsReached:
    - free_normalization_test_file
    - test_specific
    - test_other
    - read_normalization_test_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc-big.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:33,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:39,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:45,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:51,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:55,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:59,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:63,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:67,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:71,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:75,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:79,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:83,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:87,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:91,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:95,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:99,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:103,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:107,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:111,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:115,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:119,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:133,1
    - Dst: uc_canonical_decomposition
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-canonical-decomposition.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-canonical-decomposition.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_canonical_decomposition
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:34,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:41,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:48,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:55,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:61,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:67,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:73,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:79,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:85,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:91,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:98,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:105,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:111,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:117,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:123,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:129,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:135,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:143,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:151,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:157,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:180,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:196,1
    - Dst: uc_decomposition
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposition.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-decomposition.c
    functionUses: 12
    functionsReached:
    - uc_decomposition
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_nfkd
      Src: /src/gnulib/tests/uninorm/test-nfkd.c:41,1
    - Dst: test_u16_nfkd
      Src: /src/gnulib/tests/uninorm/test-nfkd.c:42,1
    - Dst: test_u8_nfkd
      Src: /src/gnulib/tests/uninorm/test-nfkd.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-nfkd.c
    functionUses: 12
    functionsReached:
    - test_u8_nfkd
    - test_u32_nfkd
    - test_u16_nfkd
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:41,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:56,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:57,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:75,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:76,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfc.c
    functionUses: 150
    functionsReached:
    - free
    - malloc
    - u16_normalize
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:218,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:225,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:247,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:248,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:248,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:248,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:248,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:254,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:255,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:316,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:317,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:317,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfc.c:320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 324
    functionName: test_u16_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfc.c
    functionUses: 0
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: test_u16_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u16_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:39,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:42,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:45,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:48,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:51,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:54,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:57,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:60,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:68,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:76,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:84,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:93,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:96,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:104,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 107
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-normcmp.c
    functionUses: 0
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_normcmp) (const uint8_t *, size_t, const
      uint8_t *, size_t, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:112,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-normcmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:41,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:56,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:57,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:75,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:76,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkd.c
    functionUses: 151
    functionsReached:
    - free
    - malloc
    - u16_normalize
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:123,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:159,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:183,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:189,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:195,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:222,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:222,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:222,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:228,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:228,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:228,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:255,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:255,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:255,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:255,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:261,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:262,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:322,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:322,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkd.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 328
    functionName: test_u16_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkd.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: test_u16_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u16_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_nfd
      Src: /src/gnulib/tests/uninorm/test-nfd.c:41,1
    - Dst: test_u16_nfd
      Src: /src/gnulib/tests/uninorm/test-nfd.c:42,1
    - Dst: test_u8_nfd
      Src: /src/gnulib/tests/uninorm/test-nfd.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-nfd.c
    functionUses: 12
    functionsReached:
    - test_u8_nfd
    - test_u16_nfd
    - test_u32_nfd
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:41,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:56,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:57,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:75,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:76,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfc.c
    functionUses: 152
    functionsReached:
    - u8_cmp
    - free
    - u8_normalize
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:220,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:227,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:253,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:253,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:253,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:254,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:254,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:254,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:254,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:260,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:261,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:327,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:346,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:347,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:347,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfc.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 354
    functionName: test_u8_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfc.c
    functionUses: 0
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u8_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: test_u8_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u8_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:39,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:42,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:45,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:48,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:51,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:54,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:57,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:60,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:68,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:76,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:84,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:93,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:96,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:104,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 107
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-normcmp.c
    functionUses: 1
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_normcmp) (const uint16_t *, size_t, const
      uint16_t *, size_t, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:112,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-normcmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: cmp_ucs4_t
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normalize-big.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_ucs4_t (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:66,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:69,1
    - Dst: exit
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:70,1
    - Dst: getc
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:100,1
    - Dst: xreallocarray
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:122,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:137,1
    - Dst: exit
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:138,1
    - Dst: strtoul
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:154,1
    - Dst: xreallocarray
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:162,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:171,1
    - Dst: exit
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:172,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:180,1
    - Dst: exit
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:181,1
    - Dst: xreallocarray
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:194,1
    - Dst: xreallocarray
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:204,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:212,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:220,1
    - Dst: qsort
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:225,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:233,1
    - Dst: ferror
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:235,1
    - Dst: fclose
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:235,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:237,1
    - Dst: exit
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:238,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 101
    argCount: 2
    argNames:
    - filename
    - file
    argTypes:
    - char*
    - struct normalization_test_file*
    constantsTouched: []
    func_position:
      end: 240
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 240
    functionName: read_normalization_test_file
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normalize-big.c
    functionUses: 1
    functionsReached:
    - fopen
    - abort
    - exit
    - fclose
    - XNMALLOC
    - xstrdup
    - getc
    - xreallocarray
    - ferror
    - fprintf
    - qsort
    - strtoul
    linkageType: ''
    returnType: void
    signature: "void read_normalization_test_file (const char *filename,\n                              struct
      normalization_test_file *file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_WITH_LINE
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:261,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:261,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:261,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:262,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:263,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:264,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct normalization_test_file*
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: test_specific
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normalize-big.c
    functionUses: 1
    functionsReached:
    - u32_strlen
    - ASSERT_WITH_LINE
    - check
    linkageType: ''
    returnType: void
    signature: "void test_specific (const struct normalization_test_file *file,\n
      \              int (*check) (const uint32_t *c1, size_t c1_length,\n                             const
      uint32_t *c2, size_t c2_length,\n                             const uint32_t
      *c3, size_t c3_length,\n                             const uint32_t *c4, size_t
      c4_length,\n                             const uint32_t *c5, size_t c5_length))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:300,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - file
    - nf
    argTypes:
    - struct normalization_test_file*
    - uninorm_t
    constantsTouched: []
    func_position:
      end: 305
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 305
    functionName: test_other
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normalize-big.c
    functionUses: 1
    functionsReached:
    - u32_normalize
    - free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_other (const struct normalization_test_file *file, uninorm_t
      nf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:323,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:325,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:327,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-normalize-big.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct normalization_test_file*
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: free_normalization_test_file
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normalize-big.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_normalization_test_file (struct normalization_test_file *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:34,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:40,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:46,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:52,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:57,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:62,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:67,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:72,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:77,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:82,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:88,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:94,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:99,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:104,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:109,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:114,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:119,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:126,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:133,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:138,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:160,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:174,1
    - Dst: uc_compat_decomposition
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-compat-decomposition.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 184
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-compat-decomposition.c
    functionUses: 12
    functionsReached:
    - uc_compat_decomposition
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:41,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:56,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:57,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:75,1
    - Dst: u16_normalize
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:76,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkc.c
    functionUses: 154
    functionsReached:
    - free
    - malloc
    - u16_normalize
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      uint16_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:128,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:136,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:143,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:149,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:163,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:164,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:170,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:178,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:184,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:198,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:199,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:205,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:206,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:220,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:227,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:233,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:240,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:241,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:250,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:251,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:257,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:258,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:258,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:258,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:264,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:265,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:265,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:265,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:294,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:294,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:294,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:295,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:296,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:296,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:296,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:296,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:302,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:303,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:364,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:365,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:365,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u16-nfkc.c:368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 372
    functionName: test_u16_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkc.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u16_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: test_u16_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-nfkc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u16_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:41,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:56,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:57,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:75,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:76,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkd.c
    functionUses: 155
    functionsReached:
    - u8_cmp
    - free
    - u8_normalize
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:123,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:159,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:183,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:189,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:195,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:223,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:230,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:230,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:230,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:236,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:236,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:236,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:262,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:262,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:262,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:262,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:268,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:269,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:352,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:352,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfkd.c:354,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 358
    functionName: test_u8_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkd.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u8_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: test_u8_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfkd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u8_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_u32_nfc
      Src: /src/gnulib/tests/uninorm/test-nfc.c:41,1
    - Dst: test_u16_nfc
      Src: /src/gnulib/tests/uninorm/test-nfc.c:42,1
    - Dst: test_u8_nfc
      Src: /src/gnulib/tests/uninorm/test-nfc.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-nfc.c
    functionUses: 12
    functionsReached:
    - test_u32_nfc
    - test_u8_nfc
    - test_u16_nfc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u8-normcoll.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-normcoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:29,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:32,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:35,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:38,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:41,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:44,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:47,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-composition.c:50,1
    - Dst: uc_composition
      Src: /src/gnulib/tests/uninorm/test-composition.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-composition.c
    functionUses: 12
    functionsReached:
    - uc_composition
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:46,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:49,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:51,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:62,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:68,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:73,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:79,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:84,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:90,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:93,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:95,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 10
    argNames:
    - c1
    - c1_length
    - c2
    - c2_length
    - c3
    - c3_length
    - c4
    - c4_length
    - c5
    - c5_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 98
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc-big.c
    functionUses: 156
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *c1, size_t c1_length,\n       const uint32_t
      *c2, size_t c2_length,\n       const uint32_t *c3, size_t c3_length,\n       const
      uint32_t *c4, size_t c4_length,\n       const uint32_t *c5, size_t c5_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:105,1
    - Dst: test_specific
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:107,1
    - Dst: test_other
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:108,1
    - Dst: free_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc-big.c
    functionUses: 12
    functionsReached:
    - free_normalization_test_file
    - test_specific
    - test_other
    - read_normalization_test_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-nfc-big.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc-big.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:41,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:56,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:75,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd.c
    functionUses: 156
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:123,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:159,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:159,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:183,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:189,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:195,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:222,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:222,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:222,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:228,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:228,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:228,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:255,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:255,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:255,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:255,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:261,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:262,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:322,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:322,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 328
    functionName: test_u32_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: test_u32_nfkd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u32_nfkd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:41,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:56,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:57,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:75,1
    - Dst: u8_normalize
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:76,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfd.c
    functionUses: 157
    functionsReached:
    - u8_cmp
    - free
    - u8_normalize
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      uint8_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:111,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:111,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:117,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:209,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:209,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:209,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:215,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:215,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:215,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:241,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:241,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:247,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:248,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:314,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:331,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:331,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u8-nfd.c:333,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 337
    functionName: test_u8_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfd.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u8_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: test_u8_nfd
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-nfd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u8_nfd (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:43,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:48,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:57,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:59,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:65,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:68,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:70,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:81,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:87,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:90,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:92,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 10
    argNames:
    - c1
    - c1_length
    - c2
    - c2_length
    - c3
    - c3_length
    - c4
    - c4_length
    - c5
    - c5_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 95
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c
    functionUses: 158
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *c1, size_t c1_length,\n       const uint32_t
      *c2, size_t c2_length,\n       const uint32_t *c3, size_t c3_length,\n       const
      uint32_t *c4, size_t c4_length,\n       const uint32_t *c5, size_t c5_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:102,1
    - Dst: test_specific
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:104,1
    - Dst: test_other
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:105,1
    - Dst: free_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c
    functionUses: 12
    functionsReached:
    - free_normalization_test_file
    - test_specific
    - test_other
    - read_normalization_test_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkd-big.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:41,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:56,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:75,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc.c
    functionUses: 158
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:167,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:167,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:182,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:187,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:187,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:218,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:225,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:247,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:248,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:248,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:248,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:248,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:254,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:255,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:316,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:317,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:317,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfc.c:320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 324
    functionName: test_u32_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: test_u32_nfc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u32_nfc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:27,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:34,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:37,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:37,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:40,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:50,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:53,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:63,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:66,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u8-normcmp.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - nf
    argTypes:
    - uninorm_t
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u8-normcmp.h
    functionUses: 8
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: "void test_ascii (int (*my_normcmp) (const uint8_t *, size_t, const
      uint8_t *, size_t, uninorm_t, int *),\n            uninorm_t nf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:46,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:49,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:51,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:62,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:68,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:73,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:79,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:84,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:90,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:93,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:95,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 10
    argNames:
    - c1
    - c1_length
    - c2
    - c2_length
    - c3
    - c3_length
    - c4
    - c4_length
    - c5
    - c5_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 98
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 98
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd-big.c
    functionUses: 159
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *c1, size_t c1_length,\n       const uint32_t
      *c2, size_t c2_length,\n       const uint32_t *c3, size_t c3_length,\n       const
      uint32_t *c4, size_t c4_length,\n       const uint32_t *c5, size_t c5_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:105,1
    - Dst: test_specific
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:107,1
    - Dst: test_other
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:108,1
    - Dst: free_normalization_test_file
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd-big.c
    functionUses: 12
    functionsReached:
    - free_normalization_test_file
    - test_specific
    - test_other
    - read_normalization_test_file
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uninorm/test-u32-nfd-big.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfd-big.c
    functionUses: 12
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:39,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:39,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:42,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:45,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:48,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:51,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:54,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:57,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:60,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:68,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:76,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:84,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:93,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:93,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:96,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:104,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 107
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normcmp.c
    functionUses: 2
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_normcmp) (const uint32_t *, size_t, const
      uint32_t *, size_t, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:112,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/uninorm/test-u32-normcmp.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-normcmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:28,1
    - Dst: uninorm_decomposing_form
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:29,1
    - Dst: uninorm_decomposing_form
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:30,1
    - Dst: uninorm_decomposing_form
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:31,1
    - Dst: uninorm_decomposing_form
      Src: /src/gnulib/tests/uninorm/test-decomposing-form.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/gnulib/tests/uninorm/test-decomposing-form.c
    functionUses: 12
    functionsReached:
    - uninorm_decomposing_form
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:27,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:34,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:37,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:37,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:40,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:50,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:53,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:63,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:66,1
    - Dst: my_normcmp
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u16-normcmp.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - nf
    argTypes:
    - uninorm_t
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/uninorm/test-u16-normcmp.h
    functionUses: 9
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_normcmp
    linkageType: ''
    returnType: void
    signature: "void test_ascii (int (*my_normcmp) (const uint16_t *, size_t, const
      uint16_t *, size_t, uninorm_t, int *),\n            uninorm_t nf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:41,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:48,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:56,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:57,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:64,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:67,1
    - Dst: malloc
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:75,1
    - Dst: u32_normalize
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:76,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - input
    - input_length
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: check
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc.c
    functionUses: 159
    functionsReached:
    - u32_normalize
    - free
    - u32_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      uint32_t *expected, size_t expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:95,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:99,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:105,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:105,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:106,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:112,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:112,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:113,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:113,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:120,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:120,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:128,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:136,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:143,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:149,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:163,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:163,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:164,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:170,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:171,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:177,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:178,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:184,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:198,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:199,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:205,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:206,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:213,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:213,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:220,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:226,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:227,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:233,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:233,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:240,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:241,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:250,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:251,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:251,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:257,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:258,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:258,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:258,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:264,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:265,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:265,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:265,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:294,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:294,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:294,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:294,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:295,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:296,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:296,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:296,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:296,1
    - Dst: signal
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:302,1
    - Dst: alarm
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:303,1
    - Dst: abort
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:352,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:364,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:364,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:365,1
    - Dst: check
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:365,1
    - Dst: free
      Src: /src/gnulib/tests/uninorm/test-u32-nfkc.c:368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 372
    functionName: test_u32_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc.c
    functionUses: 1
    functionsReached:
    - abort
    - alarm
    - signal
    - free
    - check
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_u32_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: test_u32_nfkc
    functionSourceFile: /src/gnulib/tests/uninorm/test-u32-nfkc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_u32_nfkc (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:74,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:75,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:75,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:83,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:107,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:113,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:115,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:143,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:148,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:172,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:177,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:178,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:180,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:201,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:212,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:213,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c:215,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-conv-from-enc.c
    functionUses: 12
    functionsReached:
    - u32_cmp
    - iconv_supports_encoding
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:69,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:70,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:70,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:78,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:81,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:100,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:101,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:101,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:110,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:117,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:134,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:135,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:135,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:140,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:141,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:160,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:161,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:161,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:166,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:167,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:186,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:187,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:187,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:198,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:199,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c:201,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-conv-from-enc.c
    functionUses: 12
    functionsReached:
    - iconv_supports_encoding
    - free
    - u8_cmp
    - u8_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:82,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:134,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:135,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:140,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:141,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-conv-to-enc.c
    functionUses: 12
    functionsReached:
    - strlen
    - free
    - memcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:53,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:53,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:69,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:69,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:70,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:89,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:89,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:90,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:102,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:102,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:103,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:115,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-strconv-from-enc.c
    functionUses: 12
    functionsReached:
    - iconv_supports_encoding
    - free
    - u32_strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:73,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:74,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:79,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:82,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:134,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:135,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:140,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:141,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:164,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:168,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:169,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c:171,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-conv-to-enc.c
    functionUses: 12
    functionsReached:
    - strlen
    - free
    - memcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:69,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:70,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:83,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:84,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:108,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:117,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:118,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:126,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:127,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:137,1
    - Dst: memcmp
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:144,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:145,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:168,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:172,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c:175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-conv-to-enc.c
    functionUses: 12
    functionsReached:
    - strlen
    - free
    - memcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:53,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:78,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:101,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-strconv-to-enc.c
    functionUses: 12
    functionsReached:
    - free
    - SIZEOF
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:48,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:48,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:60,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:61,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:67,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:77,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:87,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:88,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:97,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:97,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c:98,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-strconv-from-enc.c
    functionUses: 12
    functionsReached:
    - iconv_supports_encoding
    - free
    - u8_strcmp
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: new_offsets
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t *

      new_offsets (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:74,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:75,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:75,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:81,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:83,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:106,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:107,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:112,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:113,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:115,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:143,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:148,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:172,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:177,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:178,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:180,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:201,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:212,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:213,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c:215,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-conv-from-enc.c
    functionUses: 12
    functionsReached:
    - iconv_supports_encoding
    - free
    - SIZEOF
    - ASSERT
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:53,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:53,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:69,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:69,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:70,1
    - Dst: iconv_supports_encoding
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:76,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:89,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:89,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:90,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:102,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:102,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:103,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:115,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:115,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u16-strconv-from-enc.c
    functionUses: 12
    functionsReached:
    - iconv_supports_encoding
    - u16_strcmp
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:85,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u32-strconv-to-enc.c
    functionUses: 12
    functionsReached:
    - free
    - SIZEOF
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:48,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:69,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:77,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:92,1
    - Dst: free
      Src: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniconv/test-u8-strconv-to-enc.c
    functionUses: 12
    functionsReached:
    - free
    - SIZEOF
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_name.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-incb_name.c:30,1
    - Dst: uc_indic_conjunct_break_name
      Src: /src/gnulib/tests/unictype/test-incb_name.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_name.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-incb_name.c:31,1
    - Dst: uc_indic_conjunct_break_name
      Src: /src/gnulib/tests/unictype/test-incb_name.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_name.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-incb_name.c:32,1
    - Dst: uc_indic_conjunct_break_name
      Src: /src/gnulib/tests/unictype/test-incb_name.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_name.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-incb_name.c:33,1
    - Dst: uc_indic_conjunct_break_name
      Src: /src/gnulib/tests/unictype/test-incb_name.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_name.c:34,1
    - Dst: uc_indic_conjunct_break_name
      Src: /src/gnulib/tests/unictype/test-incb_name.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-incb_name.c
    functionUses: 12
    functionsReached:
    - uc_indic_conjunct_break_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:28,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:29,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:30,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:31,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:32,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:34,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:35,1
    - Dst: uc_java_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_java_ident.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-sy_java_ident.c
    functionUses: 12
    functionsReached:
    - uc_java_ident_category
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_general_category_and_not
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:32,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:33,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:33,1
    - Dst: uc_general_category_and_not
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:37,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:41,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:42,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:43,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:44,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:44,1
    - Dst: uc_general_category_and_not
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:49,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:50,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:53,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:54,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:55,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:56,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and_not.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_and_not.c
    functionUses: 12
    functionsReached:
    - uc_general_category_and_not
    - uc_is_general_category
    - uc_general_category_or
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-incb_of.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_of.c:44,1
    - Dst: uc_indic_conjunct_break
      Src: /src/gnulib/tests/unictype/test-incb_of.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_of.c:45,1
    - Dst: uc_indic_conjunct_break
      Src: /src/gnulib/tests/unictype/test-incb_of.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_of.c:49,1
    - Dst: uc_indic_conjunct_break
      Src: /src/gnulib/tests/unictype/test-incb_of.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-incb_of.c
    functionUses: 12
    functionsReached:
    - uc_indic_conjunct_break
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-decdigit.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-decdigit.c:40,1
    - Dst: uc_decimal_value
      Src: /src/gnulib/tests/unictype/test-decdigit.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-decdigit.c:42,1
    - Dst: uc_decimal_value
      Src: /src/gnulib/tests/unictype/test-decdigit.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-decdigit.c:46,1
    - Dst: uc_decimal_value
      Src: /src/gnulib/tests/unictype/test-decdigit.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-decdigit.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - uc_decimal_value
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-block_of.c:28,1
    - Dst: uc_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-block_of.c:29,1
    - Dst: uc_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:29,1
    - Dst: uc_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:37,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:37,1
    - Dst: uc_all_blocks
      Src: /src/gnulib/tests/unictype/test-block_of.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-block_of.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:52,1
    - Dst: uc_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:53,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_of.c:62,1
    - Dst: uc_block
      Src: /src/gnulib/tests/unictype/test-block_of.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-block_of.c
    functionUses: 12
    functionsReached:
    - uc_block
    - uc_all_blocks
    - uc_is_block
    - strcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:30,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:31,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:32,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:33,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:34,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:35,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:36,1
    - Dst: uc_joining_type_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_name.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joiningtype_name.c
    functionUses: 12
    functionsReached:
    - uc_joining_type_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:28,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:29,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:30,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:31,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:32,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:33,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:34,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:35,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:36,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:37,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:38,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:39,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:40,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:41,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:42,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:43,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:44,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:45,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:46,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:47,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:48,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:49,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:50,1
    - Dst: uc_combining_class_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_name.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-combiningclass_name.c
    functionUses: 12
    functionsReached:
    - uc_combining_class_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:30,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:31,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:32,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:33,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:34,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:35,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:36,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:37,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:38,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:39,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:40,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:41,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:42,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:43,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:44,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:45,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:46,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:47,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:48,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:48,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:49,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:49,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:50,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:51,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:51,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:52,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:53,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:54,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:55,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:55,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:56,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:56,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:57,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:57,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:58,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:58,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:59,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:59,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:60,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:60,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:61,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:62,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:63,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:64,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:65,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:65,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:66,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:66,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:67,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:67,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:68,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:68,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:69,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:69,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:70,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:71,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:71,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:72,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:72,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:73,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:74,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:75,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:75,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:76,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:76,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:77,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:77,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:78,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:79,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:79,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:80,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:80,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:81,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:81,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:82,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:82,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:83,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:83,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:84,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:85,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:86,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:87,1
    - Dst: uc_joining_group_name
      Src: /src/gnulib/tests/unictype/test-joininggroup_name.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joininggroup_name.c
    functionUses: 12
    functionsReached:
    - uc_joining_group_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_of.c:31,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:31,1
    - Dst: uc_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:31,1
    - Dst: uc_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_of.c:39,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_of.c:41,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:41,1
    - Dst: uc_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_of.c:49,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_of.c:51,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_of.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_of.c
    functionUses: 12
    functionsReached:
    - uc_is_general_category
    - uc_general_category
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:28,1
    - Dst: uc_general_category_long_name
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:29,1
    - Dst: uc_general_category_long_name
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:30,1
    - Dst: uc_general_category_long_name
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:30,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_longname.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_longname.c
    functionUses: 12
    functionsReached:
    - uc_general_category_long_name
    - uc_general_category_or
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:28,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:29,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:30,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:32,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:33,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:34,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:36,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:37,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:38,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:44,1
    - Dst: uc_is_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:44,1
    - Dst: uc_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_test.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-bidi_test.c
    functionUses: 12
    functionsReached:
    - uc_bidi_class
    - ASSERT
    - uc_is_bidi_class
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:44,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:44,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:46,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:50,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:50,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:54,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:55,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:56,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:57,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:58,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:59,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:60,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:61,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:62,1
    - Dst: uc_joining_type
      Src: /src/gnulib/tests/unictype/test-joiningtype_of.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joiningtype_of.c
    functionUses: 12
    functionsReached:
    - uc_joining_type
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_or.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_or.c:31,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_or.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_or.c:32,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_or.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_or.c:33,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_or.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_or.c
    functionUses: 12
    functionsReached:
    - uc_is_general_category
    - uc_general_category_or
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_name.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-categ_name.c:28,1
    - Dst: uc_general_category_name
      Src: /src/gnulib/tests/unictype/test-categ_name.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_name.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-categ_name.c:29,1
    - Dst: uc_general_category_name
      Src: /src/gnulib/tests/unictype/test-categ_name.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_name.c:30,1
    - Dst: uc_general_category_name
      Src: /src/gnulib/tests/unictype/test-categ_name.c:30,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_name.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_name.c
    functionUses: 12
    functionsReached:
    - uc_general_category_name
    - uc_general_category_or
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:30,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:31,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:32,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:33,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:34,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:35,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:36,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:37,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:38,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:39,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:40,1
    - Dst: uc_indic_conjunct_break_byname
      Src: /src/gnulib/tests/unictype/test-incb_byname.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-incb_byname.c
    functionUses: 12
    functionsReached:
    - uc_indic_conjunct_break_byname
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:32,1
    - Dst: uc_is_general_category_withtable
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:33,1
    - Dst: uc_is_general_category_withtable
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:34,1
    - Dst: uc_is_general_category_withtable
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:35,1
    - Dst: uc_is_general_category_withtable
      Src: /src/gnulib/tests/unictype/test-categ_test_withtable.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_test_withtable.c
    functionUses: 12
    functionsReached:
    - uc_is_general_category_withtable
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:30,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:31,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:32,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:33,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:34,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:35,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:36,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:37,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:38,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:39,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:40,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:41,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:42,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:43,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:44,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:45,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:46,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:47,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:48,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:49,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:51,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:52,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:53,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:54,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:55,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:56,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:57,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:58,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:59,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:60,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:61,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:62,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:63,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:64,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:65,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:66,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:67,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:68,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:69,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:70,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:71,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:72,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:73,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:74,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:75,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:76,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:77,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:78,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:79,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:80,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:81,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:82,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:83,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:84,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:85,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:86,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:87,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:88,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:89,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:90,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:91,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:92,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:93,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:94,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:95,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:96,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:97,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:98,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:99,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:100,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:101,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:102,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:103,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:104,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:105,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:106,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:107,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:108,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:109,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:110,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:111,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:112,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:113,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:114,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:115,1
    - Dst: uc_combining_class_byname
      Src: /src/gnulib/tests/unictype/test-combiningclass_byname.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-combiningclass_byname.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_combining_class_byname
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:30,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:31,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:32,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:33,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:34,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:35,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:36,1
    - Dst: uc_joining_type_long_name
      Src: /src/gnulib/tests/unictype/test-joiningtype_longname.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joiningtype_longname.c
    functionUses: 12
    functionsReached:
    - uc_joining_type_long_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-numeric.c:39,1
    - Dst: uc_numeric_value
      Src: /src/gnulib/tests/unictype/test-numeric.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-numeric.c:44,1
    - Dst: uc_numeric_value
      Src: /src/gnulib/tests/unictype/test-numeric.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-numeric.c:48,1
    - Dst: uc_numeric_value
      Src: /src/gnulib/tests/unictype/test-numeric.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-numeric.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-numeric.c
    functionUses: 12
    functionsReached:
    - uc_numeric_value
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_all_blocks
      Src: /src/gnulib/tests/unictype/test-block_list.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-block_list.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-block_list.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_list.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_list.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-block_list.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_all_blocks
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_general_category_and
      Src: /src/gnulib/tests/unictype/test-categ_and.c:29,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_and.c:30,1
    - Dst: uc_general_category_or
      Src: /src/gnulib/tests/unictype/test-categ_and.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and.c:33,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and.c:34,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and.c:35,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_and.c:36,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_and.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_and.c
    functionUses: 12
    functionsReached:
    - uc_general_category_and
    - uc_is_general_category
    - uc_general_category_or
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:28,1
    - Dst: uc_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:29,1
    - Dst: uc_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:30,1
    - Dst: uc_bidi_class
      Src: /src/gnulib/tests/unictype/test-bidi_of.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-bidi_of.c
    functionUses: 12
    functionsReached:
    - uc_bidi_class
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-scripts.c:29,1
    - Dst: uc_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-scripts.c:30,1
    - Dst: uc_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:31,1
    - Dst: uc_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-scripts.c:34,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:35,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:38,1
    - Dst: uc_is_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:38,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:39,1
    - Dst: uc_is_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:39,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:40,1
    - Dst: uc_is_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:40,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:41,1
    - Dst: uc_is_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:41,1
    - Dst: uc_script_byname
      Src: /src/gnulib/tests/unictype/test-scripts.c:41,1
    - Dst: uc_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:50,1
    - Dst: uc_is_script
      Src: /src/gnulib/tests/unictype/test-scripts.c:50,1
    - Dst: uc_all_scripts
      Src: /src/gnulib/tests/unictype/test-scripts.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:66,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-scripts.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-scripts.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-scripts.c
    functionUses: 12
    functionsReached:
    - uc_all_scripts
    - strcmp
    - uc_is_script
    - uc_script
    - ASSERT
    - uc_script_byname
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:44,1
    - Dst: uc_joining_group
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:45,1
    - Dst: uc_joining_group
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:49,1
    - Dst: uc_joining_group
      Src: /src/gnulib/tests/unictype/test-joininggroup_of.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joininggroup_of.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - uc_joining_group
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:30,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:31,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:32,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:33,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:34,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:35,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:36,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:37,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:38,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:39,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:40,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:41,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:42,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:43,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:44,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:45,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:46,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:47,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:48,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:49,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:50,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:51,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:52,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:53,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:54,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:55,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:56,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:57,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:58,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:59,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:60,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:61,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:62,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:63,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:64,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:65,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:66,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:67,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:68,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:69,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:70,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:71,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:72,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:73,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:74,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:75,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:76,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:77,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:78,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:79,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:80,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:81,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:82,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:83,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:84,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:85,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:86,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:87,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:88,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:89,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:90,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:91,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:92,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:93,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:94,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:95,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:96,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:97,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:98,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:99,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:100,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:101,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:102,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:103,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:104,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:105,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:106,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:107,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:108,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:109,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:110,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:111,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:112,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:113,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:114,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:115,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:116,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:117,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:118,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:119,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:120,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:121,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:122,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:123,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:124,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:125,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:126,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:127,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:128,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:129,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:130,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:131,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:132,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:133,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:134,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:135,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:136,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:137,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:138,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:139,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:140,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:141,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:142,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:143,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:144,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:145,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:146,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:147,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:148,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:149,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:150,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:151,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:152,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:153,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:154,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:155,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:156,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:157,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:158,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:159,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:160,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:161,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:162,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:163,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:164,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:165,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:166,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:167,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:168,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:169,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:170,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:171,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:172,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:173,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:174,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:175,1
    - Dst: uc_joining_group_byname
      Src: /src/gnulib/tests/unictype/test-joininggroup_byname.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joininggroup_byname.c
    functionUses: 12
    functionsReached:
    - uc_joining_group_byname
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:29,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:31,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:34,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unictype/test-predicate-part2.h:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-predicate-part2.h
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - PREDICATE
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uc_property_byname
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:33,1
    - Dst: uc_is_property
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:33,1
    - Dst: uc_is_property_composite
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:33,1
    - Dst: uc_property_byname
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:38,1
    - Dst: uc_property_is_valid
      Src: /src/gnulib/tests/unictype/test-pr_byname.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-pr_byname.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_is_property_composite
    - uc_property_is_valid
    - uc_property_byname
    - uc_is_property
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:28,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:29,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:30,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:31,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:32,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:33,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:34,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:35,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:36,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:37,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:38,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:39,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:40,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:41,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:42,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:43,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:44,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:45,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:46,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:47,1
    - Dst: uc_bidi_class_long_name
      Src: /src/gnulib/tests/unictype/test-bidi_longname.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-bidi_longname.c
    functionUses: 12
    functionsReached:
    - uc_bidi_class_long_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:28,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:29,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:29,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:30,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:30,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:31,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:31,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:32,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:33,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:33,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:34,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:34,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:35,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:36,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:37,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:37,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:38,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:38,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:39,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:39,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:40,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:40,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:41,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:42,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:42,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:43,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:44,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:45,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:45,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:46,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:47,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:48,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:49,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:50,1
    - Dst: uc_combining_class_long_name
      Src: /src/gnulib/tests/unictype/test-combiningclass_longname.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-combiningclass_longname.c
    functionUses: 12
    functionsReached:
    - uc_combining_class_long_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:28,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:29,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:30,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:31,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:32,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:33,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:34,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:35,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:36,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:37,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:38,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:39,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:40,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:41,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:42,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:43,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:44,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:45,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:46,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:48,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:49,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:50,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:51,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:52,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:53,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:54,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:55,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:56,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:57,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:58,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:59,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:60,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:61,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:62,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:63,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:64,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:65,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:66,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:67,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:68,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:69,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:70,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:71,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:72,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:73,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:74,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:75,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:76,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:77,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:78,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:79,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:80,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:81,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:82,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:83,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:84,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:85,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:86,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:87,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:88,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:89,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:90,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:91,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:92,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:93,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:94,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:95,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:96,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:97,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:98,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:99,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:100,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:101,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:102,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:103,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:104,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:105,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:106,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:107,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:108,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:109,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:110,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:111,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:112,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:113,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:114,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:115,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:116,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:117,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:118,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:119,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:120,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:121,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:122,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:123,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:125,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:126,1
    - Dst: uc_bidi_class_byname
      Src: /src/gnulib/tests/unictype/test-bidi_byname.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-bidi_byname.c
    functionUses: 12
    functionsReached:
    - uc_bidi_class_byname
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:30,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:31,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:32,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:33,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:34,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:35,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:37,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:38,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:39,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:40,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:41,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:42,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:43,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:44,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:45,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:46,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:47,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:48,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:49,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:50,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:51,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:52,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:53,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:54,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:55,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:56,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:57,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:58,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:60,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:61,1
    - Dst: uc_joining_type_byname
      Src: /src/gnulib/tests/unictype/test-joiningtype_byname.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-joiningtype_byname.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_joining_type_byname
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:30,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:31,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:32,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:33,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:34,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:35,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:36,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:37,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-mirror.c:38,1
    - Dst: uc_mirror_char
      Src: /src/gnulib/tests/unictype/test-mirror.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-mirror.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_mirror_char
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-pr_test.c:32,1
    - Dst: uc_is_property
      Src: /src/gnulib/tests/unictype/test-pr_test.c:32,1
    - Dst: uc_is_property_composite
      Src: /src/gnulib/tests/unictype/test-pr_test.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-pr_test.c
    functionUses: 12
    functionsReached:
    - uc_is_property
    - ASSERT
    - uc_is_property_composite
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:28,1
    - Dst: uc_combining_class
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:29,1
    - Dst: uc_combining_class
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:30,1
    - Dst: uc_combining_class
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:31,1
    - Dst: uc_combining_class
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:32,1
    - Dst: uc_combining_class
      Src: /src/gnulib/tests/unictype/test-combiningclass.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-combiningclass.c
    functionUses: 12
    functionsReached:
    - uc_combining_class
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:34,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:35,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:36,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:37,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:38,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-block_test.c:39,1
    - Dst: uc_is_block
      Src: /src/gnulib/tests/unictype/test-block_test.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-block_test.c
    functionUses: 12
    functionsReached:
    - uc_is_block
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unictype/test-digit.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-digit.c:40,1
    - Dst: uc_digit_value
      Src: /src/gnulib/tests/unictype/test-digit.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-digit.c:42,1
    - Dst: uc_digit_value
      Src: /src/gnulib/tests/unictype/test-digit.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-digit.c:46,1
    - Dst: uc_digit_value
      Src: /src/gnulib/tests/unictype/test-digit.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-digit.c
    functionUses: 12
    functionsReached:
    - uc_digit_value
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_none.c:37,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_none.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_none.c
    functionUses: 12
    functionsReached:
    - uc_is_general_category
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - category1
    - category2
    argTypes:
    - uc_general_category_t
    - uc_general_category_t
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: category_equals
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_byname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool category_equals (uc_general_category_t category1,\n                 uc_general_category_t
      category2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:39,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:39,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:40,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:40,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:41,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:41,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:42,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:42,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:43,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:43,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:44,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:44,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:45,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:45,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:46,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:46,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:47,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:47,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:48,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:48,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:49,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:49,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:50,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:50,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:51,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:51,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:52,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:52,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:53,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:53,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:54,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:54,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:55,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:55,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:56,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:56,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:57,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:57,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:58,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:58,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:59,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:59,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:60,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:60,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:61,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:61,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:62,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:62,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:63,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:63,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:64,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:64,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:65,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:65,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:66,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:66,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:67,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:67,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:68,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:68,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:69,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:69,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:70,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:70,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:71,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:71,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:72,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:72,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:73,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:73,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:74,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:74,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:75,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:75,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:76,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:76,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:78,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:78,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:79,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:79,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:80,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:80,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:81,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:81,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:82,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:82,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:83,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:83,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:84,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:84,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:85,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:85,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:86,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:86,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:87,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:87,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:88,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:88,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:89,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:89,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:90,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:90,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:91,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:91,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:92,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:92,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:93,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:93,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:94,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:94,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:95,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:95,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:96,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:96,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:97,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:97,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:98,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:98,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:99,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:99,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:100,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:100,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:101,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:101,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:102,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:102,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:103,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:103,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:104,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:104,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:105,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:105,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:106,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:106,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:107,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:107,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:108,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:108,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:109,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:109,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:110,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:110,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:111,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:111,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:112,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:112,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:113,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:113,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:114,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:114,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:115,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:115,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:116,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:116,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:117,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:117,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:118,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:118,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:119,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:119,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:120,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:120,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:121,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:121,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:122,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:122,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:123,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:123,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:124,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:124,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:125,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:125,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:126,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:126,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:127,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:127,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:128,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:128,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:129,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:129,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:130,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:130,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:131,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:131,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:132,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:132,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:133,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:133,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:134,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:134,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:135,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:135,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:136,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:136,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:137,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:137,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:138,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:138,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:139,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:139,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:140,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:140,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:141,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:141,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:142,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:142,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:143,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:143,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:144,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:144,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:145,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:145,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:146,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:146,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:147,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:147,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:148,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:148,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:149,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:149,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:150,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:150,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:151,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:151,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:152,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:152,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:153,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:153,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:154,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:154,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:155,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:155,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:156,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:156,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:157,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:157,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:158,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:158,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:159,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:159,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:160,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:160,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:161,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:161,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:162,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:162,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:163,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:163,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:163,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:164,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:164,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:165,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:165,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:166,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:166,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:167,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:167,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:167,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:168,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:168,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:169,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:169,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:170,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:170,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:171,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:171,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:172,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:172,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:173,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:173,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:174,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:174,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:175,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:175,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:176,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:176,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:177,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:177,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:178,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:178,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:179,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:179,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:180,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:180,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:181,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:181,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:182,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:182,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:183,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:183,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:184,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:184,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:185,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:185,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:186,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:186,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:187,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:187,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:187,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:188,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:188,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:189,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:189,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:190,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:190,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:191,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:191,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:192,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:192,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:193,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:193,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:194,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:194,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:195,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:195,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:196,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:196,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:197,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:197,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:198,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:198,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:199,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:199,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:200,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:200,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:201,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:201,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:202,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:202,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:203,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:203,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:204,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:204,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:205,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:205,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:206,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:206,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:207,1
    - Dst: category_equals
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:207,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:207,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:214,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:216,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:216,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:224,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:225,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:226,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:226,1
    - Dst: uc_general_category_byname
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:234,1
    - Dst: uc_is_general_category
      Src: /src/gnulib/tests/unictype/test-categ_byname.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-categ_byname.c
    functionUses: 12
    functionsReached:
    - category_equals
    - uc_is_general_category
    - ASSERT
    - uc_general_category_byname
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:28,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:29,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:30,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:31,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:32,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:34,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:35,1
    - Dst: uc_c_ident_category
      Src: /src/gnulib/tests/unictype/test-sy_c_ident.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-sy_c_ident.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - uc_c_ident_category
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_name.c:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unictype/test-bidi_name.c:28,1
    - Dst: uc_bidi_class_name
      Src: /src/gnulib/tests/unictype/test-bidi_name.c:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unictype/test-bidi_name.c:29,1
    - Dst: uc_bidi_class_name
      Src: /src/gnulib/tests/unictype/test-bidi_name.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/gnulib/tests/unictype/test-bidi_name.c
    functionUses: 12
    functionsReached:
    - uc_bidi_class_name
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/uniname/test-uninames.c:55,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:58,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:59,1
    - Dst: fgets
      Src: /src/gnulib/tests/uniname/test-uninames.c:62,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:70,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniname/test-uninames.c:73,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:77,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:80,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:82,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:89,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:92,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:94,1
    - Dst: strtoul
      Src: /src/gnulib/tests/uniname/test-uninames.c:97,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:100,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:101,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/uniname/test-uninames.c:103,1
    - Dst: ferror
      Src: /src/gnulib/tests/uniname/test-uninames.c:105,1
    - Dst: fclose
      Src: /src/gnulib/tests/uniname/test-uninames.c:105,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:107,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - unicodedata_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 110
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 110
    functionName: fill_names
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - strspn
    - xstrdup
    - strchr
    - ferror
    - fprintf
    - fgets
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_names (const char *unicodedata_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/tests/uniname/test-uninames.c:123,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:126,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:127,1
    - Dst: fgets
      Src: /src/gnulib/tests/uniname/test-uninames.c:130,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:136,1
    - Dst: strspn
      Src: /src/gnulib/tests/uniname/test-uninames.c:139,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:145,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:148,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:150,1
    - Dst: strchr
      Src: /src/gnulib/tests/uniname/test-uninames.c:155,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:158,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:160,1
    - Dst: strtoul
      Src: /src/gnulib/tests/uniname/test-uninames.c:164,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:167,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:173,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:174,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/uniname/test-uninames.c:176,1
    - Dst: ferror
      Src: /src/gnulib/tests/uniname/test-uninames.c:180,1
    - Dst: fclose
      Src: /src/gnulib/tests/uniname/test-uninames.c:180,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:182,1
    - Dst: exit
      Src: /src/gnulib/tests/uniname/test-uninames.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - namealiases_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 185
    functionName: fill_aliases
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - strspn
    - xstrdup
    - strchr
    - ferror
    - fprintf
    - fgets
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_aliases (const char *namealiases_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - uc
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: name_has_alias
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int name_has_alias (unsigned int uc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:213,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniname/test-uninames.c:216,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:218,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:227,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 247
    functionName: test_name_lookup
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_name_lookup ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:264,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:267,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:285,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:286,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:287,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:290,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:291,1
    - Dst: rand
      Src: /src/gnulib/tests/uniname/test-uninames.c:292,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniname/test-uninames.c:296,1
    - Dst: strlen
      Src: /src/gnulib/tests/uniname/test-uninames.c:298,1
    - Dst: memcpy
      Src: /src/gnulib/tests/uniname/test-uninames.c:306,1
    - Dst: memcpy
      Src: /src/gnulib/tests/uniname/test-uninames.c:308,1
    - Dst: unicode_name_character
      Src: /src/gnulib/tests/uniname/test-uninames.c:310,1
    - Dst: name_has_alias
      Src: /src/gnulib/tests/uniname/test-uninames.c:312,1
    - Dst: strcmp
      Src: /src/gnulib/tests/uniname/test-uninames.c:314,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:316,1
    - Dst: unicode_name_character
      Src: /src/gnulib/tests/uniname/test-uninames.c:325,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 329
    functionName: test_inverse_lookup
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached:
    - strlen
    - name_has_alias
    - rand
    - strcmp
    - unicode_name_character
    - memcpy
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_inverse_lookup ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unicode_character_name
      Src: /src/gnulib/tests/uniname/test-uninames.c:344,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:350,1
    - Dst: fprintf
      Src: /src/gnulib/tests/uniname/test-uninames.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 361
    functionName: test_alias_lookup
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 0
    functionsReached:
    - unicode_character_name
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_alias_lookup ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/tests/uniname/test-uninames.c:369,1
    - Dst: fill_names
      Src: /src/gnulib/tests/uniname/test-uninames.c:370,1
    - Dst: fill_aliases
      Src: /src/gnulib/tests/uniname/test-uninames.c:380,1
    - Dst: test_name_lookup
      Src: /src/gnulib/tests/uniname/test-uninames.c:383,1
    - Dst: test_inverse_lookup
      Src: /src/gnulib/tests/uniname/test-uninames.c:384,1
    - Dst: test_alias_lookup
      Src: /src/gnulib/tests/uniname/test-uninames.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 390
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 390
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniname/test-uninames.c
    functionUses: 12
    functionsReached:
    - fill_aliases
    - test_inverse_lookup
    - test_name_lookup
    - fill_names
    - strcmp
    - test_alias_lookup
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:46,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:50,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:54,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:55,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:59,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:60,1
    - Dst: u32_width
      Src: /src/gnulib/tests/uniwidth/test-u32-width.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u32-width.c
    functionUses: 12
    functionsReached:
    - u32_width
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:46,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:50,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:54,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:55,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:59,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:60,1
    - Dst: u16_width
      Src: /src/gnulib/tests/uniwidth/test-u16-width.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u16-width.c
    functionUses: 12
    functionsReached:
    - u16_width
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:44,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:48,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:52,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:53,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:57,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:58,1
    - Dst: u8_width
      Src: /src/gnulib/tests/uniwidth/test-u8-width.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u8-width.c
    functionUses: 12
    functionsReached:
    - u8_width
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:30,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:35,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:41,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:42,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:48,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:49,1
    - Dst: u8_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u8-strwidth.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u8-strwidth.c
    functionUses: 12
    functionsReached:
    - u8_strwidth
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:39,1
    - Dst: printf
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: finish_interval
    functionSourceFile: /src/gnulib/tests/uniwidth/test-uc_width2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void finish_interval (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish_interval
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - uc
    - width
    argTypes:
    - ucs4_t
    - char
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: add_to_interval
    functionSourceFile: /src/gnulib/tests/uniwidth/test-uc_width2.c
    functionUses: 0
    functionsReached:
    - finish_interval
    linkageType: ''
    returnType: void
    signature: void add_to_interval (ucs4_t uc, char width)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:78,1
    - Dst: add_to_interval
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:81,1
    - Dst: finish_interval
      Src: /src/gnulib/tests/uniwidth/test-uc_width2.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-uc_width2.c
    functionUses: 12
    functionsReached:
    - finish_interval
    - add_to_interval
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:32,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:35,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:36,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:36,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:39,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:40,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:41,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:42,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:45,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:46,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:49,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:50,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:51,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:52,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:53,1
    - Dst: uc_width
      Src: /src/gnulib/tests/uniwidth/test-uc_width.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-uc_width.c
    functionUses: 12
    functionsReached:
    - uc_width
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:31,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:37,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:46,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:47,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:53,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:54,1
    - Dst: u16_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u16-strwidth.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u16-strwidth.c
    functionUses: 12
    functionsReached:
    - u16_strwidth
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:31,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:37,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:46,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:47,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:53,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:54,1
    - Dst: u32_strwidth
      Src: /src/gnulib/tests/uniwidth/test-u32-strwidth.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/gnulib/tests/uniwidth/test-u32-strwidth.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - u32_strwidth
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:42,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:45,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:48,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:51,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:54,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:57,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:60,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:63,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:71,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:79,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:87,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:96,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:99,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:107,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:139,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:142,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:145,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:148,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:151,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:154,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:165,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:168,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:171,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:174,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:182,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:185,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:196,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:199,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:208,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:211,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:220,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:223,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:231,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:231,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:231,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:234,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:244,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:244,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:244,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:247,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:257,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:283,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:283,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:283,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:286,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:286,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:286,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:289,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:289,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:289,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:300,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:303,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:303,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:303,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:306,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:309,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 312
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-casecmp.c
    functionUses: 3
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_casecmp) (const uint16_t *, size_t, const
      uint16_t *, size_t, const char *, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:317,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u16-casecmp.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-casecmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:42,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:45,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:48,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:51,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:54,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:57,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:60,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:63,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:71,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:79,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:87,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:96,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:99,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:107,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:139,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:142,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:145,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:148,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:151,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:154,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:165,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:168,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:171,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:174,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:182,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:182,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:185,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:196,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:199,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:208,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:211,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:220,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:220,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:223,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:223,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:231,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:231,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:231,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:234,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:244,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:244,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:244,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:247,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:247,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:257,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:257,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:283,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:283,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:283,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:283,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:286,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:286,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:286,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:289,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:289,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:289,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:300,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:303,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:303,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:303,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:306,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:306,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:309,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 312
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-casecmp.c
    functionUses: 4
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_casecmp) (const uint32_t *, size_t, const
      uint32_t *, size_t, const char *, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:317,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u32-casecmp.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-casecmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-is-titlecase.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-titlecase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:41,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:44,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:44,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:47,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:47,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:47,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:50,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:53,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:56,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:56,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:56,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:59,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:62,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:72,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:72,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:72,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: test_iso_8859_1
    functionSourceFile: /src/gnulib/tests/unicase/test-ulc-casecmp.c
    functionUses: 2
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_iso_8859_1 (int (*my_casecmp) (const char *, size_t, const
      char *, size_t, const char *, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:89,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:89,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:89,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:89,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:92,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:95,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:95,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:95,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:98,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:98,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:98,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:101,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:101,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:101,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:104,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:104,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:107,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:110,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:110,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:110,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:118,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:126,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:134,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:143,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:143,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:146,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:154,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:192,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:195,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:198,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:198,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:201,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:204,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:204,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:204,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:207,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:218,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:218,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:221,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:221,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:221,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:224,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:227,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:228,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:235,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:236,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:238,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:238,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:238,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:239,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:249,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:249,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:249,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:252,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:252,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:252,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:261,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:261,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:261,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:262,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:264,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:264,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:273,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:273,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:273,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:276,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:276,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:276,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:284,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:284,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:284,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:284,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:287,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:287,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:287,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:287,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:297,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:297,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:297,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:300,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:300,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:300,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:310,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:310,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:310,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:311,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:339,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:339,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:339,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:339,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:342,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:342,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:342,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:342,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:343,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:345,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:345,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:345,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:356,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:356,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:356,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:357,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:359,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:359,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:359,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:359,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:362,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:362,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:362,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:365,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:365,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:365,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:365,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 368
    functionName: test_utf_8
    functionSourceFile: /src/gnulib/tests/unicase/test-ulc-casecmp.c
    functionUses: 2
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_utf_8 (int (*my_casecmp) (const char *, size_t, const char
      *, size_t, const char *, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:374,1
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:377,1
    - Dst: test_iso_8859_1
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:384,1
    - Dst: test_utf_8
      Src: /src/gnulib/tests/unicase/test-ulc-casecmp.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 394
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-ulc-casecmp.c
    functionUses: 12
    functionsReached:
    - test_iso_8859_1
    - test_utf_8
    - test_ascii
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_tolower
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:38,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:53,1
    - Dst: u8_tolower
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:54,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:72,1
    - Dst: u8_tolower
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:73,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uninorm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-tolower.c
    functionUses: 160
    functionsReached:
    - u8_cmp
    - free
    - u8_tolower
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint8_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:118,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:127,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:127,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:127,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:132,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:139,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:145,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:146,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:160,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:179,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:179,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:179,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:179,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:184,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:184,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:189,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:189,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:207,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:207,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:207,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:212,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:212,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:217,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:217,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:217,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:225,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:225,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:230,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:230,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:230,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:235,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:235,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:240,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-tolower.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-tolower.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_toupper
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:38,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:53,1
    - Dst: u8_toupper
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:54,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:72,1
    - Dst: u8_toupper
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:73,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uninorm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-toupper.c
    functionUses: 161
    functionsReached:
    - free
    - u8_cmp
    - u8_toupper
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint8_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:118,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:125,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:130,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:138,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:144,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:145,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:151,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:164,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:199,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:200,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-toupper.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-toupper.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-uppercase.c
    functionUses: 5
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint32_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u32-is-uppercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-uppercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-lowercase.c
    functionUses: 6
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint8_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u8-is-lowercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-lowercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-is-cased.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-cased.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-uppercase.c
    functionUses: 7
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint8_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u8-is-uppercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-uppercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unicase/test-ulc-casecoll.c:37,1
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-ulc-casecoll.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-ulc-casecoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_casefold
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:38,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:53,1
    - Dst: u32_casefold
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:72,1
    - Dst: u32_casefold
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:73,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - char*
    - uninorm_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-casefold.c
    functionUses: 162
    functionsReached:
    - free
    - malloc
    - u32_cmp
    - u32_casefold
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint32_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:148,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:154,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:169,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:186,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:186,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:186,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:195,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:196,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-casefold.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-casefold.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:27,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-cased.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-cased.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:34,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-cased.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-cased.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:41,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-cased.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-cased.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:48,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-cased.h:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-cased.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:55,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-cased.h:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-cased.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-cased.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 58
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-is-cased.h
    functionUses: 18
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_is) (const UNIT *, size_t, const char *,
      bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-lowercase.c
    functionUses: 8
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint16_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u16-is-lowercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-lowercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_toupper
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:38,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:53,1
    - Dst: u32_toupper
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:72,1
    - Dst: u32_toupper
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:73,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - char*
    - uninorm_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-toupper.c
    functionUses: 163
    functionsReached:
    - u32_toupper
    - free
    - u32_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint32_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:146,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:160,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:168,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:193,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:194,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-toupper.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-toupper.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:27,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:34,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:41,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:48,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:55,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:62,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:71,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:78,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:85,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:85,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:92,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-lowercase.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 95
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-is-lowercase.h
    functionUses: 19
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_is) (const UNIT *, size_t, const char *,
      bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:27,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:34,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:37,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:37,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:40,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:50,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:50,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:53,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:53,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:63,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:66,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-casecmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-casecmp.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-casecmp.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - nf
    argTypes:
    - uninorm_t
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-casecmp.h
    functionUses: 19
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: "void test_ascii (int (*my_casecmp) (const UNIT *, size_t, const UNIT
      *, size_t, const char *, uninorm_t, int *),\n            uninorm_t nf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-is-cased.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-cased.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-lowercase.c
    functionUses: 9
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint32_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u32-is-lowercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-lowercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-casefolded.c
    functionUses: 10
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint16_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:46,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u16-is-casefolded.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-casefolded.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:45,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:52,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:52,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:59,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:59,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:66,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:66,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-uppercase.c
    functionUses: 11
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint16_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:74,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u16-is-uppercase.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-uppercase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-casecoll.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-casecoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_toupper
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:38,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:53,1
    - Dst: u16_toupper
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:54,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:72,1
    - Dst: u16_toupper
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:73,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - char*
    - uninorm_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-toupper.c
    functionUses: 164
    functionsReached:
    - free
    - malloc
    - u16_toupper
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint16_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:146,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:160,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:168,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:193,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:194,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-toupper.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-toupper.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-casefolded.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint8_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:46,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u8-is-casefolded.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-is-casefolded.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-is-titlecase.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-titlecase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_tolower
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:38,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:53,1
    - Dst: u32_tolower
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:72,1
    - Dst: u32_tolower
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:73,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - char*
    - uninorm_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-tolower.c
    functionUses: 165
    functionsReached:
    - free
    - malloc
    - u32_tolower
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint32_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:123,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:128,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:136,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:149,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:173,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:178,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:183,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:196,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:206,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:211,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:224,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:229,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-tolower.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-tolower.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:29,1
    - Dst: MAP
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:30,1
    - Dst: MAP
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:34,1
    - Dst: MAP
      Src: /src/gnulib/tests/unicase/test-mapping-part2.h:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-mapping-part2.h
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - MAP
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_tolower
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:38,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:53,1
    - Dst: u16_tolower
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:54,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:72,1
    - Dst: u16_tolower
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:73,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - char*
    - uninorm_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-tolower.c
    functionUses: 166
    functionsReached:
    - free
    - u16_tolower
    - malloc
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint16_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:122,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:122,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:123,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:123,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:128,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:128,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:128,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:129,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:129,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:136,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:136,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:142,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:142,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:149,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:149,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:173,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:178,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:178,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:183,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:183,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:196,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:206,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:206,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:211,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:219,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:219,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:224,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:224,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:229,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:234,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:234,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-tolower.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-tolower.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:29,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:31,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:34,1
    - Dst: PREDICATE
      Src: /src/gnulib/tests/unicase/test-predicate-part2.h:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-predicate-part2.h
    functionUses: 12
    functionsReached:
    - SIZEOF
    - ASSERT
    - PREDICATE
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_totitle
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:38,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:53,1
    - Dst: u16_totitle
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:54,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:72,1
    - Dst: u16_totitle
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:73,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - char*
    - uninorm_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-totitle.c
    functionUses: 167
    functionsReached:
    - free
    - malloc
    - u16_totitle
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint16_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:146,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:160,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:168,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:193,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:194,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-totitle.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-totitle.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16_casefold
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:38,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:53,1
    - Dst: u16_casefold
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:54,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:72,1
    - Dst: u16_casefold
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:73,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint16_t*
    - size_t
    - char*
    - uninorm_t
    - uint16_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-casefold.c
    functionUses: 168
    functionsReached:
    - free
    - malloc
    - u16_casefold
    - u16_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint16_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint16_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:135,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:135,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:148,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:154,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:162,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:162,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:169,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:169,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:186,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:186,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:186,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:195,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:195,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:196,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:196,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:197,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:197,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u16-casefold.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-casefold.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_casefold
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:38,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:53,1
    - Dst: u8_casefold
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:54,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:72,1
    - Dst: u8_casefold
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:73,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uninorm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-casefold.c
    functionUses: 169
    functionsReached:
    - free
    - u8_casefold
    - u8_cmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint8_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:118,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:125,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:130,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:138,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:139,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:139,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:144,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:145,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:151,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:158,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:158,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:158,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:166,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:166,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:166,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:173,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:173,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:173,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:192,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:201,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:201,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:202,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:203,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:203,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:203,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casefold.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-casefold.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unicase/test-locale-language.c:35,1
    - Dst: uc_locale_language
      Src: /src/gnulib/tests/unicase/test-locale-language.c:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-locale-language.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unicase/test-locale-language.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-locale-language.c
    functionUses: 12
    functionsReached:
    - ASSERT
    - strcmp
    - uc_locale_language
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-is-titlecase.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-titlecase.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:27,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:34,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:41,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:48,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:55,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:62,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:71,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:78,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:85,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:85,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:92,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-uppercase.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 95
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-is-uppercase.h
    functionUses: 27
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_is) (const UNIT *, size_t, const char *,
      bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:27,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:27,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:34,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:34,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:41,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:41,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:48,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:55,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:55,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:62,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:71,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:78,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:78,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:85,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:85,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:92,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:92,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-titlecase.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 95
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-is-titlecase.h
    functionUses: 27
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_is) (const UNIT *, size_t, const char *,
      bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32_totitle
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:38,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:53,1
    - Dst: u32_totitle
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:54,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:72,1
    - Dst: u32_totitle
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:73,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint32_t*
    - size_t
    - char*
    - uninorm_t
    - uint32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-totitle.c
    functionUses: 170
    functionsReached:
    - free
    - malloc
    - u32_totitle
    - u32_cmp
    linkageType: ''
    returnType: int
    signature: "int check (const uint32_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint32_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:114,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:114,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:121,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:121,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:126,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:133,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:133,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:134,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:134,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:140,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:140,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:141,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:141,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:141,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:146,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:147,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:147,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:152,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:152,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:153,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:153,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:160,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:161,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:161,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:168,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:168,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:185,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:185,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:193,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:193,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:194,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:194,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-totitle.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-totitle.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-casecoll.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-casecoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_totitle
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:38,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:43,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:45,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:53,1
    - Dst: u8_totitle
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:54,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:61,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:64,1
    - Dst: malloc
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:72,1
    - Dst: u8_totitle
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:73,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:80,1
    - Dst: free
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - input
    - input_length
    - iso639_language
    - nf
    - expected
    - expected_length
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - uninorm_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: check
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-totitle.c
    functionUses: 171
    functionsReached:
    - u8_cmp
    - free
    - malloc
    - u8_totitle
    linkageType: ''
    returnType: int
    signature: "int check (const uint8_t *input, size_t input_length,\n       const
      char *iso639_language, uninorm_t nf,\n       const uint8_t *expected, size_t
      expected_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:92,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:93,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:118,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:118,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:125,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:125,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:130,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:130,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:137,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:137,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:138,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:138,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:144,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:144,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:145,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:150,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:150,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:151,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:156,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:156,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:157,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:164,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:164,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:165,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:165,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:172,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:172,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:191,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:199,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:199,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:199,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:200,1
    - Dst: check
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:200,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-totitle.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-totitle.c
    functionUses: 12
    functionsReached:
    - SIZEOF
    - check
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:42,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:45,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:45,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:48,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:48,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:51,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:51,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:54,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:54,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:57,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:60,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:63,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:71,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:71,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:79,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:79,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:87,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:87,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:96,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:99,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:99,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:107,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:107,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:107,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:145,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:145,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:148,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:148,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:149,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:151,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:151,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:152,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:154,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:157,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:157,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:160,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:160,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:161,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:171,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:171,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:174,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:174,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:177,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:177,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:180,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:180,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:180,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:181,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:188,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:188,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:188,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:191,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:191,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:202,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:202,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:205,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:205,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:214,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:214,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:217,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:217,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:217,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:226,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:226,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:229,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:229,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:237,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:237,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:237,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:237,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:240,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:240,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:250,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:250,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:251,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:253,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:253,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:253,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:263,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:263,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:263,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:292,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:292,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:292,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:292,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:293,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:295,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:295,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:295,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:298,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:298,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:298,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:298,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:309,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:309,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:310,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:312,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:312,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:312,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:313,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:315,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:315,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:315,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:316,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:318,1
    - Dst: my_casecmp
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:318,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:318,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 321
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-casecmp.c
    functionUses: 13
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_casecmp
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_casecmp) (const uint8_t *, size_t, const
      uint8_t *, size_t, const char *, uninorm_t, int *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:326,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u8-casecmp.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-casecmp.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:26,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:26,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:26,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:33,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:33,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:40,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:40,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:40,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-is-casefolded.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: test_ascii
    functionSourceFile: /src/gnulib/tests/unicase/test-is-casefolded.h
    functionUses: 29
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_ascii (int (*my_is) (const UNIT *, size_t, const char *,
      bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u16-is-cased.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u16-is-cased.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u8-casecoll.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u8-casecoll.c
    functionUses: 12
    functionsReached:
    - test_ascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:38,1
    - Dst: my_is
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:38,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:38,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: test_nonascii
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-casefolded.c
    functionUses: 14
    functionsReached:
    - SIZEOF
    - ASSERT
    - my_is
    linkageType: ''
    returnType: void
    signature: void test_nonascii (int (*my_is) (const uint32_t *, size_t, const char
      *, bool *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ascii
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:46,1
    - Dst: test_nonascii
      Src: /src/gnulib/tests/unicase/test-u32-is-casefolded.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/gnulib/tests/unicase/test-u32-is-casefolded.c
    functionUses: 12
    functionsReached:
    - test_ascii
    - test_nonascii
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_trailing_ones.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_trailing_ones.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_bit_width.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_bit_width.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_count_zeros.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_count_zeros.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_leading_zeros.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_leading_zeros.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_first_leading_one.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_first_leading_one.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_BOOL
      Src: /src/gnulib/tests/from-glibc/tst-stdc_has_single_bit.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_has_single_bit.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_BOOL
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_count_ones.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_count_ones.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_first_trailing_zero.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_first_trailing_zero.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_trailing_zeros.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_trailing_zeros.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_first_leading_zero.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_first_leading_zero.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_SAME
      Src: /src/gnulib/tests/from-glibc/tst-stdc_bit_ceil.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_bit_ceil.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_SAME
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_leading_ones.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_leading_ones.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_SAME
      Src: /src/gnulib/tests/from-glibc/tst-stdc_bit_floor.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_bit_floor.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_SAME
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TEST_STDBIT_UI
      Src: /src/gnulib/tests/from-glibc/tst-stdc_first_trailing_one.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: do_test
    functionSourceFile: /src/gnulib/tests/from-glibc/tst-stdc_first_trailing_one.c
    functionUses: 7
    functionsReached:
    - TEST_STDBIT_UI
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/gnulib/tests/from-glibc/support/test-driver.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 5
    functionName: main
    functionSourceFile: /src/gnulib/tests/from-glibc/support/test-driver.c
    functionUses: 12
    functionsReached:
    - do_test
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u8_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:32,1
    - Dst: my_u8_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:50,1
    - Dst: my_u8_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:57,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c
    functionUses: 214
    functionsReached:
    - free
    - my_u8_width_linebreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (int (*my_u8_width_linebreaks) (const uint8_t *,
      size_t, int, int, int, const char *, const char *, char *_UC_RESTRICT),\n               int
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:72,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u8-width-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:32,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:61,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:80,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:91,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:98,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:108,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:113,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:129,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:132,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:153,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:182,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:197,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:211,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:214,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:230,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:236,1
    - Dst: my_u16_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:245,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:250,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 69
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 252
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c
    functionUses: 215
    functionsReached:
    - free
    - my_u16_possible_linebreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (void (*my_u16_possible_linebreaks) (const uint16_t
      *, size_t, const char *, char *_UC_RESTRICT),\n               int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:257,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u16-possible-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:39,1
    - Dst: exit
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:42,1
    - Dst: fopen
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:46,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:49,1
    - Dst: exit
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:50,1
    - Dst: fgets
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:55,1
    - Dst: strspn
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:64,1
    - Dst: strspn
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:77,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:78,1
    - Dst: strncmp
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:83,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:90,1
    - Dst: exit
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:92,1
    - Dst: strspn
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:95,1
    - Dst: sscanf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:101,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:103,1
    - Dst: exit
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:106,1
    - Dst: strspn
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:113,1
    - Dst: u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:118,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:170,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:173,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:174,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:176,1
    - Dst: fprintf
      Src: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c:183,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 189
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-uc-possible-linebreaks.c
    functionUses: 12
    functionsReached:
    - fopen
    - exit
    - u32_possible_linebreaks
    - strspn
    - sscanf
    - strncmp
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_ulc_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:32,1
    - Dst: my_ulc_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:45,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:50,1
    - Dst: my_ulc_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:60,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:63,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 69
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c
    functionUses: 216
    functionsReached:
    - free
    - my_ulc_possible_linebreaks
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (void (*my_ulc_possible_linebreaks) (const char
      *, size_t, const char *, char *_UC_RESTRICT),\n               int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:74,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-ulc-possible-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_ulc_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:32,1
    - Dst: my_ulc_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:42,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:45,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c
    functionUses: 217
    functionsReached:
    - free
    - SIZEOF
    - ASSERT
    - my_ulc_width_linebreaks
    linkageType: ''
    returnType: void
    signature: "void test_function (int (*my_ulc_width_linebreaks) (const char *,
      size_t, int, int, int, const char *, const char *, char *_UC_RESTRICT),\n               int
      version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:57,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-ulc-width-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u16_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:32,1
    - Dst: my_u16_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:56,1
    - Dst: my_u16_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c
    functionUses: 218
    functionsReached:
    - my_u16_width_linebreaks
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (int (*my_u16_width_linebreaks) (const uint16_t
      *, size_t, int, int, int, const char *, const char *, char *_UC_RESTRICT),\n
      \              int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:78,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u16-width-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u32_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:32,1
    - Dst: my_u32_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:56,1
    - Dst: my_u32_width_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:63,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c
    functionUses: 219
    functionsReached:
    - my_u32_width_linebreaks
    - free
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (int (*my_u32_width_linebreaks) (const uint32_t
      *, size_t, int, int, int, const char *, const char *, char *_UC_RESTRICT),\n
      \              int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:78,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u32-width-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:32,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:43,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:55,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:62,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:65,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:74,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:84,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:87,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:91,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:101,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:106,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:115,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:118,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:121,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:132,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:139,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:154,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:154,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:157,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:166,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:176,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:179,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:181,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:198,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:211,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:214,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:220,1
    - Dst: my_u8_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:230,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:233,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:235,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 69
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 237
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c
    functionUses: 220
    functionsReached:
    - free
    - SIZEOF
    - my_u8_possible_linebreaks
    - ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_function (void (*my_u8_possible_linebreaks) (const uint8_t
      *, size_t, const char *, char *_UC_RESTRICT),\n               int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:242,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u8-possible-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:32,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:49,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:52,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:61,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:68,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:80,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:91,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:98,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:108,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:111,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:113,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:126,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:129,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:132,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:146,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:153,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:170,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:173,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:182,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:192,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:195,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:197,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:208,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:208,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:211,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:214,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:227,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:230,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:236,1
    - Dst: my_u32_possible_linebreaks
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:245,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:250,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 69
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 252
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 252
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c
    functionUses: 221
    functionsReached:
    - free
    - SIZEOF
    - ASSERT
    - my_u32_possible_linebreaks
    linkageType: ''
    returnType: void
    signature: "void test_function (void (*my_u32_possible_linebreaks) (const uint32_t
      *, size_t, const char *, char *_UC_RESTRICT),\n               int version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:257,1
    - Dst: test_function
      Src: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/gnulib/tests/unilbrk/test-u32-possible-linebreaks.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:45,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:45,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:55,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:55,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:63,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:65,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:65,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:73,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:75,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:75,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:86,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:103,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:103,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:104,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:111,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:113,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:113,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:121,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:123,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:123,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:133,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:133,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:143,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:143,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:144,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:144,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:159,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:161,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:161,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:171,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:171,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:179,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:181,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:181,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:191,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:191,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:201,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:202,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:202,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:215,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:215,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:216,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:216,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:224,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:225,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:225,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:226,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:233,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:234,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:234,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:242,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:243,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:243,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:244,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:253,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:253,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:259,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:259,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:260,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:260,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:268,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:269,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:269,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:276,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:278,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:278,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:286,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:287,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:287,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 122
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 291
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c
    functionUses: 222
    functionsReached:
    - strlen
    - free
    - strcmp
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:299,1
    - Dst: ulc_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:300,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - ulc_vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c
    functionUses: 4
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:315,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf2.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:45,1
    - Dst: u32_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:47,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:51,1
    - Dst: u32_cpy
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - u32_vsprintf
    - va_end
    - XNMALLOC
    - u32_cpy
    - u32_strlen
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c
    functionUses: 0
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:45,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:46,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:55,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:56,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:56,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:65,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:66,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:75,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:76,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:76,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:86,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:93,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:94,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:103,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:104,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:113,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:114,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:114,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:123,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:124,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 128
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c
    functionUses: 223
    functionsReached:
    - free
    - u8_strlen
    - u8_strcmp
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *,
      const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:136,1
    - Dst: u8_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:137,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint8_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - u8_vasnprintf
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c
    functionUses: 5
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:152,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf2.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-asnprintf1.c
    functionUses: 4
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-asnprintf1.c
    functionUses: 12
    functionsReached:
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:33,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:34,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:35,1
    - Dst: u8_cpy
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:45,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:49,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:53,1
    - Dst: u8_cmp
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:53,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:62,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:90,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 112
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-asnprintf1.h
    functionUses: 225
    functionsReached:
    - u8_cpy
    - free
    - my_asnprintf
    - u8_cmp
    - u8_strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *,
      const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:28,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:29,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:29,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:30,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:38,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:38,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:47,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:47,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:56,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:56,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:68,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:69,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:69,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:76,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:77,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:77,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:85,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:85,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:93,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:93,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:101,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:101,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:109,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:109,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:110,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:121,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:121,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:129,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:130,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:130,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:131,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:141,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:141,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:149,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:149,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:156,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:157,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:157,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:158,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:165,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:165,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:172,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:173,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:173,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:181,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:181,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:194,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:195,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:195,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:196,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:204,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:204,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:215,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:215,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:216,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:223,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:223,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:231,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:231,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:238,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:239,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:239,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:240,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:247,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:247,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:248,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:255,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:255,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:269,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:269,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:278,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:278,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:289,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:289,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:298,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:298,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:299,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:306,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:307,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:307,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:308,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:315,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:316,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:316,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:324,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:325,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:325,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:326,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:333,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:334,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:334,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:335,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:348,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:349,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:349,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:350,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:351,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:352,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:353,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:363,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:364,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:364,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:365,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:366,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:367,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:379,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:379,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:380,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:381,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:382,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:383,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:393,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:394,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:394,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:395,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:396,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:397,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:398,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:408,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:409,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:409,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:410,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:411,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:412,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:413,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:423,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:424,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:424,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:425,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:426,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:427,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:438,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:439,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:439,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:440,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:441,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:442,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:443,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:453,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:454,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:454,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:455,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:456,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:457,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:469,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:469,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:470,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:471,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:472,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:483,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:484,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:484,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:485,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:486,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:487,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:488,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:498,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:499,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:499,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:500,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:501,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:502,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:503,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:513,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:514,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:514,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:515,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:516,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:517,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:518,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:527,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:528,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:528,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:536,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:537,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:537,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:545,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:546,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:546,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:554,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:555,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:555,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:564,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:564,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:572,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:573,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:573,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:574,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:582,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:582,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:590,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:591,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:591,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:592,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:600,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:600,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:601,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:608,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:609,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:609,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:610,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:619,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:620,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:620,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:628,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:629,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:629,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:637,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:638,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:638,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:639,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:647,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:647,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:658,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:659,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:659,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:660,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:661,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:669,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:670,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:670,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:671,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:672,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:680,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:681,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:681,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:682,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:683,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:691,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:692,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:692,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:693,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:694,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:702,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:703,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:703,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:704,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:705,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:712,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:713,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:713,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:714,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:721,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:722,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:722,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:723,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:731,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:731,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:732,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:739,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:740,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:740,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:741,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:749,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:749,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:759,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:760,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:760,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:761,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:769,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:769,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:777,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:778,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:778,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:779,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:786,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:787,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:787,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:796,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:797,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:797,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:798,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:799,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:806,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:807,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:807,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:815,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:816,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:816,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:817,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:824,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:825,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:825,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:826,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:833,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:834,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:834,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:835,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:843,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:843,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:844,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:855,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:856,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:856,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:857,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:858,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:870,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:871,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:871,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:872,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:880,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:881,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:881,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:882,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:893,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:894,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:894,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:901,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:902,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:902,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:903,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:909,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:910,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:910,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:911,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:917,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:918,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:918,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:919,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:925,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:926,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:926,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:927,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:933,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:934,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:934,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:935,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:949,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:950,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:950,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:951,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:958,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:958,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:959,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:965,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:966,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:966,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:973,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:974,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:974,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:975,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:981,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:982,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:982,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:983,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:989,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:990,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:990,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1005,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1006,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1006,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1007,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1014,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1014,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1021,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1022,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1022,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1029,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1030,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1030,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1031,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1037,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1038,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1038,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1039,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1046,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1046,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1047,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-printf1.h:1056,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 415
    argCount: 1
    argNames:
    - (*my_xasprintf) (const char *, ...)
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1058
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1058
    functionName: test_xfunction
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-printf1.h
    functionUses: 1
    functionsReached:
    - free
    - u8_strlen
    - ASSERT
    - u8_strcmp
    linkageType: ''
    returnType: void
    signature: void test_xfunction (uint8_t * (*my_xasprintf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:46,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:47,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:59,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:60,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:72,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:73,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:85,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:86,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:96,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:106,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:107,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:120,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:121,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:134,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:135,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:148,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:149,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 153
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c
    functionUses: 225
    functionsReached:
    - free
    - u32_strcmp
    - mbstowcs
    - u32_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:161,1
    - Dst: u32_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:162,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint32_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c
    functionUses: 3
    functionsReached:
    - va_start
    - va_end
    - u32_vasnprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c
    functionUses: 6
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:177,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf2.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:41,1
    - Dst: ulc_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:42,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c
    functionUses: 3
    functionsReached:
    - va_start
    - va_end
    - ulc_vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:54,1
    - Dst: ulc_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:55,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:56,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:58,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c
    functionUses: 2
    functionsReached:
    - strlen
    - va_start
    - va_end
    - ulc_vasnprintf
    - ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:65,1
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c
    functionUses: 7
    functionsReached:
    - test_function
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-asnprintf1.c
    functionUses: 5
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-asnprintf1.c
    functionUses: 12
    functionsReached:
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:46,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:47,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:59,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:60,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:72,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:73,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:85,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:86,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:96,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:106,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:107,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:120,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:121,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:134,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:135,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:148,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:149,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 153
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c
    functionUses: 228
    functionsReached:
    - u16_strcmp
    - u16_strlen
    - free
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:161,1
    - Dst: u16_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:162,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint16_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c
    functionUses: 3
    functionsReached:
    - va_start
    - u16_vasnprintf
    - va_end
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c
    functionUses: 8
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:177,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf2.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:46,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:47,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:59,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:60,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:72,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:73,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:85,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:86,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:96,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:106,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:107,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:120,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:121,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:134,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:135,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:148,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:149,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 153
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c
    functionUses: 229
    functionsReached:
    - u16_strcmp
    - u16_strlen
    - free
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:161,1
    - Dst: u16_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:162,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint16_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c
    functionUses: 3
    functionsReached:
    - va_start
    - u16_vasnprintf
    - va_end
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c
    functionUses: 9
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:177,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf3.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:41,1
    - Dst: ulc_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:42,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:43,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - ulc_vsnprintf
    - va_end
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: test_vsnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c
    functionUses: 0
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:49,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:57,1
    - Dst: printf
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:70,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:85,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:88,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:91,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:106,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:118,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:120,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:130,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:140,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:145,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:146,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:153,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:155,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:167,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:182,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:182,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:183,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:190,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:192,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:203,1
    - Dst: wmemset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:213,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:218,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:218,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:219,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:226,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:228,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:240,1
    - Dst: wmemset
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:250,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:255,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:256,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:263,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:265,1
    - Dst: fputs
      Src: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c:277,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 282
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-asnprintf-big.c
    functionUses: 12
    functionsReached:
    - setrlimit
    - fputs
    - free
    - u8_strlen
    - memset
    - printf
    - malloc
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-asnprintf1.c
    functionUses: 6
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-asnprintf1.c
    functionUses: 12
    functionsReached:
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:42,1
    - Dst: u32_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c
    functionUses: 2
    functionsReached:
    - ASSERT
    - va_start
    - va_end
    - u32_vasprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c
    functionUses: 3
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:45,1
    - Dst: u8_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:47,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:51,1
    - Dst: u8_cpy
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c
    functionUses: 2
    functionsReached:
    - u8_vsprintf
    - u8_cpy
    - va_start
    - XNMALLOC
    - va_end
    - u8_strlen
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c
    functionUses: 1
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:30,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:30,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:40,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:50,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:50,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:60,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:74,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:74,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:83,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:83,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:92,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:92,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:101,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:101,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:110,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:110,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:119,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:119,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:134,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:134,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:146,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:146,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:158,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:158,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:167,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:167,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:176,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:176,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:185,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:185,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:194,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:194,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:203,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:203,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:220,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:220,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:232,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:232,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:244,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:244,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:253,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:253,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:262,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:262,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:271,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:271,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:280,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:280,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:289,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:289,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:306,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:306,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:318,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:318,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:333,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:333,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:346,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:346,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:359,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:359,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:372,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:372,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:385,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:385,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:398,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:398,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:417,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:417,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:418,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:419,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:420,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:436,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:436,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:437,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:438,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:439,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:455,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:455,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:456,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:457,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:458,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:474,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:474,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:475,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:476,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:477,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:505,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:505,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:506,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:507,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:508,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:552,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:552,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:553,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:554,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:555,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:579,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:579,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:580,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:581,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:582,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:598,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:598,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:599,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:600,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:601,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:617,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:617,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:618,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:619,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:620,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:636,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:636,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:637,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:638,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:639,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:667,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:667,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:668,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:669,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:670,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:714,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:714,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:715,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:716,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:717,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:729,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:729,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:739,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:739,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:749,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:749,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:759,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:759,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:769,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:769,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:779,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:779,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:789,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:789,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:799,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:799,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:809,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:809,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:819,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:819,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:831,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:831,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:841,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:841,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:851,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:851,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:861,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:861,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:879,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:879,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:880,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:896,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:896,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:897,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:913,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:913,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:914,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:930,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:930,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:931,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:943,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:943,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:944,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:956,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:956,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:968,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:968,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:980,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:980,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:981,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:992,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:992,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1001,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1002,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1002,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1014,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1014,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1024,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1024,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1034,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1034,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1044,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1044,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1056,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1056,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1057,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1067,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1067,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1068,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1077,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1077,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1078,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1087,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1087,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1097,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1097,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1107,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1121,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1122,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1137,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1137,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1147,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1147,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1163,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1163,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1175,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1175,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1187,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1187,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1199,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1199,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1211,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1211,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1223,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1223,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1242,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1242,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1254,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1254,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1266,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1266,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1278,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1278,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1290,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1290,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1302,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1302,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1321,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1321,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1333,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1333,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1345,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1345,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1357,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1357,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1369,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1369,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1381,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1381,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-printf1.h:1391,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 415
    argCount: 1
    argNames:
    - (*my_xasprintf) (const char *, ...)
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 1393
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1393
    functionName: test_xfunction
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-printf1.h
    functionUses: 5
    functionsReached:
    - u16_strlen
    - u16_strcmp
    - free
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_xfunction (uint16_t * (*my_xasprintf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:42,1
    - Dst: u8_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - u8_vasprintf
    - va_end
    - ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c
    functionUses: 4
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:48,1
    - Dst: setrlimit
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:56,1
    - Dst: printf
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:70,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:85,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:88,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:91,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:101,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:106,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:118,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:120,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:130,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:142,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:147,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:148,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:165,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:170,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:171,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:178,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:182,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:194,1
    - Dst: memset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:197,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:206,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:211,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:212,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:234,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:234,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:235,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:242,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:246,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:257,1
    - Dst: wmemset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:260,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:272,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:273,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:280,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:282,1
    - Dst: malloc
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:294,1
    - Dst: wmemset
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:297,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:304,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:309,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:309,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:310,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:317,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:319,1
    - Dst: fputs
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c:331,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-asnprintf-big.c
    functionUses: 12
    functionsReached:
    - strlen
    - setrlimit
    - fputs
    - free
    - memset
    - printf
    - malloc
    - wmemset
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:46,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:47,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:47,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:48,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:59,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:60,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:71,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:72,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:73,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:73,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:85,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:85,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:86,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:86,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:96,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:96,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:106,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:107,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:119,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:120,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:121,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:121,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:134,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:135,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:135,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:148,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:149,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:149,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 153
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c
    functionUses: 231
    functionsReached:
    - free
    - u32_strcmp
    - mbstowcs
    - u32_strlen
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:161,1
    - Dst: u32_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:162,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint32_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c
    functionUses: 3
    functionsReached:
    - va_start
    - va_end
    - u32_vasnprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c
    functionUses: 10
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:177,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf3.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:45,1
    - Dst: u32_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:47,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:51,1
    - Dst: u32_cpy
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c
    functionUses: 2
    functionsReached:
    - u32_vsnprintf
    - va_start
    - XNMALLOC
    - va_end
    - u32_cpy
    - u32_strlen
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c
    functionUses: 1
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vsnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:30,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:30,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:39,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:40,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:40,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:41,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:50,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:50,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:60,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:60,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:74,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:74,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:82,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:83,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:83,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:92,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:92,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:101,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:101,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:110,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:110,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:119,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:119,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:133,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:134,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:134,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:145,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:146,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:146,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:147,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:158,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:158,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:166,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:167,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:167,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:175,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:176,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:176,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:184,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:185,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:185,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:193,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:194,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:194,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:195,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:203,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:203,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:204,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:220,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:220,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:231,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:232,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:232,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:244,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:244,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:245,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:253,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:253,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:254,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:261,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:262,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:262,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:270,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:271,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:271,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:272,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:280,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:280,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:281,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:288,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:289,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:289,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:305,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:306,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:306,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:317,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:318,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:318,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:319,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:333,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:333,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:346,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:346,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:347,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:359,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:359,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:360,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:371,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:372,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:372,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:384,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:385,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:385,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:397,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:398,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:398,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:399,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:416,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:417,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:417,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:418,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:419,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:420,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:421,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:435,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:436,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:436,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:437,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:438,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:439,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:440,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:454,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:455,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:455,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:456,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:457,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:458,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:459,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:473,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:474,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:474,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:475,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:476,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:477,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:504,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:505,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:505,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:506,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:507,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:508,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:509,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:551,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:552,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:552,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:553,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:554,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:555,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:556,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:578,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:579,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:579,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:580,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:581,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:582,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:583,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:598,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:598,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:599,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:600,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:601,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:602,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:616,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:617,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:617,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:618,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:619,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:620,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:635,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:636,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:636,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:637,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:638,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:639,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:666,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:667,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:667,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:668,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:669,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:670,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:671,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:713,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:714,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:714,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:715,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:716,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:717,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:718,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:728,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:729,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:729,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:730,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:738,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:739,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:739,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:740,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:748,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:749,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:749,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:750,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:758,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:759,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:759,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:760,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:768,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:769,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:769,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:770,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:778,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:779,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:779,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:780,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:788,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:789,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:789,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:790,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:798,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:799,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:799,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:800,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:808,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:809,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:809,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:810,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:818,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:819,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:819,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:820,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:830,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:831,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:831,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:832,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:840,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:841,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:841,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:842,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:850,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:851,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:851,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:852,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:860,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:861,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:861,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:862,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:878,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:879,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:879,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:880,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:881,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:895,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:896,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:896,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:897,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:898,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:912,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:913,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:913,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:914,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:915,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:929,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:930,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:930,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:931,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:932,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:942,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:943,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:943,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:944,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:945,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:955,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:956,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:956,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:957,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:967,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:968,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:968,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:969,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:979,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:980,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:980,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:981,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:991,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:992,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:992,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:993,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1001,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1002,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1002,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1003,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1013,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1014,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1014,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1015,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1023,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1024,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1024,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1025,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1033,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1034,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1034,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1035,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1043,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1044,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1044,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1045,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1055,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1056,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1056,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1057,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1058,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1066,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1067,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1067,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1068,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1076,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1077,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1077,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1078,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1086,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1087,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1087,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1088,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1096,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1097,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1097,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1098,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1107,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1120,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1121,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1121,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1122,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1136,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1137,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1137,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1138,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1147,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1147,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1148,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1163,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1163,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1174,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1175,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1175,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1186,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1187,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1187,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1198,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1199,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1199,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1200,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1210,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1211,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1211,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1222,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1223,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1223,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1224,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1242,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1242,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1253,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1254,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1254,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1266,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1266,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1277,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1278,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1278,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1289,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1290,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1290,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1291,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1302,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1302,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1303,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1320,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1321,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1321,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1322,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1332,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1333,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1333,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1344,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1345,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1345,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1346,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1357,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1357,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1358,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1368,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1369,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1369,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1370,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1380,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1381,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1381,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1382,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-printf1.h:1391,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 415
    argCount: 1
    argNames:
    - (*my_xasprintf) (const char *, ...)
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1393
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 1393
    functionName: test_xfunction
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-printf1.h
    functionUses: 7
    functionsReached:
    - u32_strlen
    - free
    - u32_strcmp
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_xfunction (uint32_t * (*my_xasprintf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:34,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:35,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:36,1
    - Dst: u16_cpy
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:48,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:52,1
    - Dst: u16_strcmp
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:56,1
    - Dst: u16_cmp
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:56,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint16_t *, size_t *, const char *, ...)
    argTypes:
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 115
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-asnprintf1.h
    functionUses: 232
    functionsReached:
    - u16_strcmp
    - free
    - my_asnprintf
    - u16_cpy
    - ASSERT
    - u16_cmp
    linkageType: ''
    returnType: void
    signature: void test_function (uint16_t * (*my_asnprintf) (uint16_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:45,1
    - Dst: u16_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:47,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:51,1
    - Dst: u16_cpy
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c
    functionUses: 2
    functionsReached:
    - u16_strlen
    - va_start
    - XNMALLOC
    - va_end
    - u16_cpy
    - u16_vsprintf
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c
    functionUses: 2
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:42,1
    - Dst: u32_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint32_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c
    functionUses: 4
    functionsReached:
    - va_start
    - va_end
    - u32_vasnprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_asnprintf (uint32_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:55,1
    - Dst: u32_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:56,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:59,1
    - Dst: u32_strlen
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - u32_vasnprintf
    - u32_strlen
    - ASSERT
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:66,1
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c
    functionUses: 11
    functionsReached:
    - test_function
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-vasnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:45,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:46,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:46,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:55,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:56,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:56,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:64,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:65,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:66,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:66,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:74,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:75,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:75,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:76,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:76,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:86,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:86,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:92,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:93,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:94,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:94,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:95,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:103,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:104,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:104,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:113,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:113,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:114,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:114,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:122,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:123,1
    - Dst: u8_strcmp
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:124,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:124,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint8_t *, size_t *, const char *, ...)
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 128
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c
    functionUses: 233
    functionsReached:
    - free
    - u8_strlen
    - u8_strcmp
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint8_t * (*my_asnprintf) (uint8_t *, size_t *,
      const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:136,1
    - Dst: u8_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:137,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint8_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c
    functionUses: 4
    functionsReached:
    - va_start
    - va_end
    - u8_vasnprintf
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c
    functionUses: 12
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:152,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf3.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:27,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:28,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:28,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:29,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:35,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:36,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:36,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:37,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:44,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:44,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:52,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:64,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:64,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:71,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:71,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:78,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:78,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:79,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:85,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:85,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:86,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:91,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:92,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:92,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:98,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:99,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:99,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:100,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:109,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:110,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:110,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:111,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:116,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:117,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:117,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:118,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:124,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:125,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:130,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:131,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:131,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:132,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:138,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:138,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:139,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:144,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:145,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:145,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:146,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:155,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:156,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:156,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:157,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:163,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:163,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:164,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:170,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:170,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:176,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:177,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:177,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:183,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:184,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:184,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:185,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:190,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:191,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:191,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:192,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:201,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:202,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:202,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:209,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:210,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:210,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:217,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:218,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:218,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:219,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:225,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:226,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:226,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:227,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:233,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:234,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:234,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:235,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:242,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:242,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:243,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:252,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:253,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:254,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:255,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:256,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:257,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:263,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:264,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:265,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:266,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:267,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:268,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:275,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:276,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:277,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:278,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:279,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:285,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:286,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:287,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:288,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:289,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:290,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:296,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:297,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:298,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:299,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:300,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:301,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:307,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:308,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:309,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:310,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:311,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:312,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:318,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:319,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:320,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:321,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:322,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:323,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:329,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:330,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:331,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:332,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:333,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:334,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:340,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:341,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:341,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:342,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:343,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:344,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:345,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:351,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:352,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:353,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:354,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:355,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:356,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:362,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:363,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:363,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:364,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:365,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:366,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:367,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:373,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:374,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:375,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:376,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:377,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:378,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:386,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:387,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:387,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:388,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:394,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:395,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:395,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:396,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:402,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:403,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:403,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:404,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:410,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:411,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:411,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:412,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:418,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:419,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:419,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:420,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:426,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:427,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:427,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:428,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:434,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:435,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:435,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:436,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:442,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:443,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:443,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:444,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:450,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:451,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:451,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:452,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:458,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:459,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:459,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:460,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:468,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:469,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:469,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:470,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:476,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:477,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:477,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:478,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:484,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:485,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:485,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:486,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:492,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:493,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:493,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:494,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:502,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:503,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:503,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:504,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:505,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:511,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:512,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:512,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:513,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:514,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:520,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:521,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:521,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:522,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:523,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:529,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:530,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:531,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:532,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:538,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:539,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:539,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:540,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:541,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:547,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:548,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:548,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:549,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:555,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:556,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:556,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:557,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:563,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:564,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:564,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:565,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:571,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:572,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:572,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:573,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:579,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:580,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:580,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:581,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:589,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:590,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:590,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:591,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:597,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:598,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:598,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:599,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:605,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:606,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:606,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:607,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:613,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:614,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:614,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:615,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:621,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:622,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:623,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:624,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:630,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:631,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:631,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:632,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:638,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:639,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:639,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:640,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:646,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:647,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:647,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:648,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:654,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:655,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:655,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:656,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:662,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:663,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:663,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:664,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:674,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:675,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:675,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:676,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:677,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:679,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:688,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:689,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:689,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:690,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:698,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:699,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:699,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-printf1.h:700,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 314
    argCount: 1
    argNames:
    - (*my_xasprintf) (const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 702
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 702
    functionName: test_xfunction
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-printf1.h
    functionUses: 9
    functionsReached:
    - free
    - strlen
    - ASSERT
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_xfunction (char * (*my_xasprintf) (const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:42,1
    - Dst: u8_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint8_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c
    functionUses: 4
    functionsReached:
    - va_start
    - va_end
    - u8_vasnprintf
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_asnprintf (uint8_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:55,1
    - Dst: u8_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:56,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:59,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - u8_strlen
    - u8_vasnprintf
    - ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:66,1
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c
    functionUses: 13
    functionsReached:
    - test_function
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vasnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: test_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.c
    functionUses: 7
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_asnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_asnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.c
    functionUses: 12
    functionsReached:
    - test_asnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:33,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:34,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:34,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:35,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:36,1
    - Dst: u32_cpy
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:48,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:50,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:52,1
    - Dst: u32_strcmp
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:53,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:55,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:56,1
    - Dst: u32_cmp
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:56,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:58,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:65,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:73,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:84,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:93,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:94,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:102,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:103,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:112,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - (*my_asnprintf) (uint32_t *, size_t *, const char *, ...)
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 115
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-u32-asnprintf1.h
    functionUses: 236
    functionsReached:
    - u32_cmp
    - free
    - u32_strcmp
    - my_asnprintf
    - u32_cpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (uint32_t * (*my_asnprintf) (uint32_t *, size_t
      *, const char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:41,1
    - Dst: ulc_vsprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:42,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:43,1
    - Dst: xstrdup
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - ulc_vsprintf
    - va_end
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: test_vsprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c
    functionUses: 3
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vsprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:40,1
    - Dst: ulc_vasprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:41,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c
    functionUses: 2
    functionsReached:
    - ASSERT
    - va_start
    - va_end
    - ulc_vasprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c
    functionUses: 5
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:42,1
    - Dst: u16_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c
    functionUses: 2
    functionsReached:
    - va_start
    - u16_vasprintf
    - va_end
    - ASSERT
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: test_vasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c
    functionUses: 6
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:42,1
    - Dst: u16_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:43,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - uint16_t*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c
    functionUses: 5
    functionsReached:
    - va_start
    - u16_vasnprintf
    - va_end
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_asnprintf (uint16_t *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:55,1
    - Dst: u16_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:56,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:57,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:59,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c
    functionUses: 2
    functionsReached:
    - u16_vasnprintf
    - u16_strlen
    - va_start
    - va_end
    - ASSERT
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:66,1
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c
    functionUses: 14
    functionsReached:
    - test_function
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vasnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:45,1
    - Dst: u8_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:47,1
    - Dst: u8_strlen
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:51,1
    - Dst: u8_cpy
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c
    functionUses: 2
    functionsReached:
    - u8_vsnprintf
    - u8_cpy
    - va_start
    - XNMALLOC
    - va_end
    - u8_strlen
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c
    functionUses: 2
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u8-vsnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:45,1
    - Dst: u16_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:46,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:47,1
    - Dst: u16_strlen
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:50,1
    - Dst: XNMALLOC
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:51,1
    - Dst: u16_cpy
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: my_xasprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c
    functionUses: 2
    functionsReached:
    - u16_strlen
    - va_start
    - XNMALLOC
    - va_end
    - u16_cpy
    - u16_vsnprintf
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t *

      my_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_xfunction
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: test_vsnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c
    functionUses: 3
    functionsReached:
    - test_xfunction
    linkageType: ''
    returnType: void
    signature: void test_vsnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_vsnprintf
      Src: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-u16-vsnprintf1.c
    functionUses: 12
    functionsReached:
    - test_vsnprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:42,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:43,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:43,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:44,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:44,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:51,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:52,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:53,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:53,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:54,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:61,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:61,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:62,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:62,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:63,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:69,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:70,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:71,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:71,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:72,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:80,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:81,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:81,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:82,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:82,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:83,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:97,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:98,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:98,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:99,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:105,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:107,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:107,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:108,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:114,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:115,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:115,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:116,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:116,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:117,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:123,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:124,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:124,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:125,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:125,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:126,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:134,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:135,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:135,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:136,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:136,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:137,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:150,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:151,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:151,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:152,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:152,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:153,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:159,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:160,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:160,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:161,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:161,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:162,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:168,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:169,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:169,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:170,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:170,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:171,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:177,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:178,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:178,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:179,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:179,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:180,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:188,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:189,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:189,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:190,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:190,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:191,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:202,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:203,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:203,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:204,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:204,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:205,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:211,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:212,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:212,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:213,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:213,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:214,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:220,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:221,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:221,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:222,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:222,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:223,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:229,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:230,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:230,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:231,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:231,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:232,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:241,1
    - Dst: mbstowcs
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:241,1
    - Dst: SIZEOF
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:241,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:246,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:247,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:247,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:248,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:248,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:249,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:255,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:256,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:256,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:257,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:257,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:258,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:264,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:265,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:265,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:266,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:266,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:267,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:273,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:274,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:274,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:275,1
    - Dst: strlen
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:275,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 122
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 279
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 279
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c
    functionUses: 237
    functionsReached:
    - strlen
    - free
    - strcmp
    - mbstowcs
    - SIZEOF
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:287,1
    - Dst: ulc_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:288,1
    - Dst: va_end
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - char*
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: my_asnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c
    functionUses: 5
    functionsReached:
    - va_start
    - va_end
    - ulc_vasnprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_function
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: test_vasnprintf
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c
    functionUses: 15
    functionsReached:
    - test_function
    linkageType: ''
    returnType: void
    signature: void test_vasnprintf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:303,1
    - Dst: test_vasnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: main
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-vasnprintf3.c
    functionUses: 12
    functionsReached:
    - test_vasnprintf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:31,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:32,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:32,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:33,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:34,1
    - Dst: memcpy
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:42,1
    - Dst: my_asnprintf
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:44,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:45,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:46,1
    - Dst: strcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:46,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:47,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:49,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:50,1
    - Dst: memcmp
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:50,1
    - Dst: free
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:52,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:59,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:60,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:66,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:67,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:77,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:78,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:87,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:88,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:96,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:97,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:106,1
    - Dst: ASSERT
      Src: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - (*my_asnprintf) (char *, size_t *, const char *, ...)
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 109
    functionName: test_function
    functionSourceFile: /src/gnulib/tests/unistdio/test-ulc-asnprintf1.h
    functionUses: 238
    functionsReached:
    - free
    - my_asnprintf
    - memcmp
    - strcmp
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void test_function (char * (*my_asnprintf) (char *, size_t *, const
      char *, ...))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfzprintf
      Src: /src/gnulib/lib/vzprintf.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: vzprintf
    functionSourceFile: /src/gnulib/lib/vzprintf.c
    functionUses: 7
    functionsReached:
    - vfzprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t vzprintf (const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/error.in.h:129,1
    - Dst: __builtin_va_arg_pack
      Src: /src/gnulib/lib/error.in.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - __status
    - __errnum
    - __format
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: _gl_inline_error
    functionSourceFile: /src/gnulib/lib/error.in.h
    functionUses: 0
    functionsReached:
    - error
    - __builtin_va_arg_pack
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _gl_inline_error (int __status, int __errnum,
      const char *__format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error_at_line
      Src: /src/gnulib/lib/error.in.h:190,1
    - Dst: __builtin_va_arg_pack
      Src: /src/gnulib/lib/error.in.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - __status
    - __errnum
    - __filename
    - __lineno
    - __format
    argTypes:
    - int
    - int
    - char*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: _gl_inline_error_at_line
    functionSourceFile: /src/gnulib/lib/error.in.h
    functionUses: 0
    functionsReached:
    - error_at_line
    - __builtin_va_arg_pack
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: "_GL_ATTRIBUTE_MAYBE_UNUSED _gl_inline_error_at_line (int __status,
      int __errnum, const char *__filename,\n                          unsigned int
      __lineno, const char *__format, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode_t
    argTypes:
    - _GL_UNUSED*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: mkfifo
    functionSourceFile: /src/gnulib/lib/mkfifo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mkfifo (_GL_UNUSED char const *name, _GL_UNUSED mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/mkfifo.c:51,1
    - Dst: mkfifo
      Src: /src/gnulib/lib/mkfifo.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: rpl_mkfifo
    functionSourceFile: /src/gnulib/lib/mkfifo.c
    functionUses: 0
    functionsReached:
    - stat
    - mkfifo
    linkageType: ''
    returnType: int
    signature: int rpl_mkfifo (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - pthread_mutexattr_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pthread_mutexattr_init
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_init (pthread_mutexattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - typep
    argTypes:
    - pthread_mutexattr_t*
    - int*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: pthread_mutexattr_gettype
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int
      *typep)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - type
    argTypes:
    - pthread_mutexattr_t*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: pthread_mutexattr_settype
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_settype (pthread_mutexattr_t *attr, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - robustp
    argTypes:
    - pthread_mutexattr_t*
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: pthread_mutexattr_getrobust
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_getrobust (const pthread_mutexattr_t *attr, int
      *robustp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - robust
    argTypes:
    - pthread_mutexattr_t*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: pthread_mutexattr_setrobust
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_setrobust (pthread_mutexattr_t *attr, int robust)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_mutexattr_t *attr
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pthread_mutexattr_destroy
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_destroy (_GL_UNUSED pthread_mutexattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - robustp
    argTypes:
    - pthread_mutexattr_t*
    - int*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: pthread_mutexattr_getrobust
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_getrobust (const pthread_mutexattr_t *attr, int
      *robustp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - robust
    argTypes:
    - pthread_mutexattr_t*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: pthread_mutexattr_setrobust
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutexattr_setrobust (pthread_mutexattr_t *attr, int robust)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrecmutex_init
      Src: /src/gnulib/lib/pthread-mutex.c:120,1
    - Dst: glwthread_timedmutex_init
      Src: /src/gnulib/lib/pthread-mutex.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mutex
    - attr
    argTypes:
    - pthread_mutex_t*
    - pthread_mutexattr_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: pthread_mutex_init
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 27
    functionsReached:
    - glwthread_timedrecmutex_init
    - glwthread_timedmutex_init
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_init (pthread_mutex_t *mutex, const pthread_mutexattr_t
      *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_lock
      Src: /src/gnulib/lib/pthread-mutex.c:135,1
    - Dst: glwthread_timedrecmutex_lock
      Src: /src/gnulib/lib/pthread-mutex.c:137,1
    - Dst: abort
      Src: /src/gnulib/lib/pthread-mutex.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: pthread_mutex_lock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 115
    functionsReached:
    - abort
    - glwthread_timedrecmutex_lock
    - glwthread_timedmutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_lock (pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_trylock
      Src: /src/gnulib/lib/pthread-mutex.c:149,1
    - Dst: glwthread_timedrecmutex_trylock
      Src: /src/gnulib/lib/pthread-mutex.c:151,1
    - Dst: abort
      Src: /src/gnulib/lib/pthread-mutex.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: pthread_mutex_trylock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached:
    - abort
    - glwthread_timedmutex_trylock
    - glwthread_timedrecmutex_trylock
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_trylock (pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_timedlock
      Src: /src/gnulib/lib/pthread-mutex.c:163,1
    - Dst: glwthread_timedrecmutex_timedlock
      Src: /src/gnulib/lib/pthread-mutex.c:165,1
    - Dst: abort
      Src: /src/gnulib/lib/pthread-mutex.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - pthread_mutex_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: pthread_mutex_timedlock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached:
    - glwthread_timedmutex_timedlock
    - glwthread_timedrecmutex_timedlock
    - abort
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_timedlock (pthread_mutex_t *mutex, const struct timespec
      *abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_unlock
      Src: /src/gnulib/lib/pthread-mutex.c:178,1
    - Dst: glwthread_timedrecmutex_unlock
      Src: /src/gnulib/lib/pthread-mutex.c:180,1
    - Dst: abort
      Src: /src/gnulib/lib/pthread-mutex.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: pthread_mutex_unlock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 113
    functionsReached:
    - abort
    - glwthread_timedrecmutex_unlock
    - glwthread_timedmutex_unlock
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_unlock (pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_destroy
      Src: /src/gnulib/lib/pthread-mutex.c:192,1
    - Dst: glwthread_timedrecmutex_destroy
      Src: /src/gnulib/lib/pthread-mutex.c:194,1
    - Dst: abort
      Src: /src/gnulib/lib/pthread-mutex.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: pthread_mutex_destroy
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 23
    functionsReached:
    - abort
    - glwthread_timedrecmutex_destroy
    - glwthread_timedmutex_destroy
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_destroy (pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pthread_mutex_t *mutex
    - pthread_mutexattr_t *attr
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: pthread_mutex_init
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pthread_mutex_init (_GL_UNUSED pthread_mutex_t *mutex,\n                    _GL_UNUSED
      const pthread_mutexattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_mutex_t *mutex
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: pthread_mutex_lock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 115
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_lock (_GL_UNUSED pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_mutex_t *mutex
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: pthread_mutex_trylock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_trylock (_GL_UNUSED pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pthread_mutex_t *mutex
    - abstime
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: pthread_mutex_timedlock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pthread_mutex_timedlock (_GL_UNUSED pthread_mutex_t *mutex,\n
      \                        _GL_UNUSED const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_mutex_t *mutex
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: pthread_mutex_unlock
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 113
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_unlock (_GL_UNUSED pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_mutex_t *mutex
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: pthread_mutex_destroy
    functionSourceFile: /src/gnulib/lib/pthread-mutex.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_destroy (_GL_UNUSED pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbsrtowcs
      Src: /src/gnulib/lib/mbsrtoc32s.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - srcp
    - len
    - ps
    argTypes:
    - char32_t*
    - char**
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: mbsrtoc32s
    functionSourceFile: /src/gnulib/lib/mbsrtoc32s.c
    functionUses: 1
    functionsReached:
    - mbsrtowcs
    linkageType: ''
    returnType: size_t
    signature: size_t mbsrtoc32s (char32_t *dest, const char **srcp, size_t len, mbstate_t
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _dup
      Src: /src/gnulib/lib/dup.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: dup_nothrow
    functionSourceFile: /src/gnulib/lib/dup.c
    functionUses: 0
    functionsReached:
    - _dup
    linkageType: ''
    returnType: int
    signature: int dup_nothrow (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/gnulib/lib/dup.c:66,1
    - Dst: fstat
      Src: /src/gnulib/lib/dup.c:68,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/dup.c:68,1
    - Dst: __libc_Back_ioFHToPath
      Src: /src/gnulib/lib/dup.c:73,1
    - Dst: open
      Src: /src/gnulib/lib/dup.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: dup_nothrow
    functionSourceFile: /src/gnulib/lib/dup.c
    functionUses: 0
    functionsReached:
    - dup
    - open
    - __libc_Back_ioFHToPath
    - S_ISDIR
    - fstat
    linkageType: ''
    returnType: int
    signature: int dup_nothrow (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gl_register_dup
      Src: /src/gnulib/lib/dup.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: rpl_dup
    functionSourceFile: /src/gnulib/lib/dup.c
    functionUses: 0
    functionsReached:
    - _gl_register_dup
    linkageType: ''
    returnType: int
    signature: int rpl_dup (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/gnulib/lib/sqrtf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: sqrtf
    functionSourceFile: /src/gnulib/lib/sqrtf.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: float
    signature: float sqrtf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - s
    - c_in
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 169
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 169
    functionName: __memchr
    functionSourceFile: /src/gnulib/lib/memchr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      __memchr (void const *s, int c_in, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 703
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1349
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 1349
    functionName: strerrorname_np
    functionSourceFile: /src/gnulib/lib/strerrorname_np.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strerrorname_np (int errnum)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/dirname.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: dir_name
    functionSourceFile: /src/gnulib/lib/dirname.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      dir_name (char const *file)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/qset-acl.c:44,1
    - Dst: set_permissions
      Src: /src/gnulib/lib/qset-acl.c:46,1
    - Dst: free_permission_context
      Src: /src/gnulib/lib/qset-acl.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - name
    - desc
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: qset_acl
    functionSourceFile: /src/gnulib/lib/qset-acl.c
    functionUses: 0
    functionsReached:
    - set_permissions
    - free_permission_context
    - memset
    linkageType: ''
    returnType: int
    signature: int qset_acl (char const *name, int desc, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc
      Src: /src/gnulib/lib/mbtowc-lock.h:27,1
    - Dst: mbtowc
      Src: /src/gnulib/lib/mbtowc-lock.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pwc
    - p
    - m
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: mbtowc_unlocked
    functionSourceFile: /src/gnulib/lib/mbtowc-lock.h
    functionUses: 0
    functionsReached:
    - mbtowc
    linkageType: ''
    returnType: int
    signature: int mbtowc_unlocked (wchar_t *pwc, const char *p, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc_unlocked
      Src: /src/gnulib/lib/mbtowc-lock.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pwc
    - p
    - m
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: mbtowc_with_lock
    functionSourceFile: /src/gnulib/lib/mbtowc-lock.h
    functionUses: 0
    functionsReached:
    - mbtowc_unlocked
    linkageType: ''
    returnType: int
    signature: int mbtowc_with_lock (wchar_t *pwc, const char *p, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_get_mbtowc_lock
      Src: /src/gnulib/lib/mbtowc-lock.h:52,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/mbtowc-lock.h:55,1
    - Dst: mbtowc_unlocked
      Src: /src/gnulib/lib/mbtowc-lock.h:56,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/mbtowc-lock.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pwc
    - p
    - m
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: mbtowc_with_lock
    functionSourceFile: /src/gnulib/lib/mbtowc-lock.h
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - LeaveCriticalSection
    - mbtowc_unlocked
    - gl_get_mbtowc_lock
    linkageType: ''
    returnType: int
    signature: int mbtowc_with_lock (wchar_t *pwc, const char *p, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_in_use
      Src: /src/gnulib/lib/mbtowc-lock.h:89,1
    - Dst: gl_get_mbtowc_lock
      Src: /src/gnulib/lib/mbtowc-lock.h:91,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/mbtowc-lock.h:94,1
    - Dst: abort
      Src: /src/gnulib/lib/mbtowc-lock.h:95,1
    - Dst: mbtowc_unlocked
      Src: /src/gnulib/lib/mbtowc-lock.h:96,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/mbtowc-lock.h:97,1
    - Dst: abort
      Src: /src/gnulib/lib/mbtowc-lock.h:98,1
    - Dst: mbtowc_unlocked
      Src: /src/gnulib/lib/mbtowc-lock.h:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pwc
    - p
    - m
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: mbtowc_with_lock
    functionSourceFile: /src/gnulib/lib/mbtowc-lock.h
    functionUses: 0
    functionsReached:
    - abort
    - pthread_mutex_unlock
    - mbtowc_unlocked
    - pthread_mutex_lock
    - gl_get_mbtowc_lock
    - pthread_in_use
    linkageType: ''
    returnType: int
    signature: int mbtowc_with_lock (wchar_t *pwc, const char *p, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_get_mbtowc_lock
      Src: /src/gnulib/lib/mbtowc-lock.h:113,1
    - Dst: mtx_lock
      Src: /src/gnulib/lib/mbtowc-lock.h:116,1
    - Dst: abort
      Src: /src/gnulib/lib/mbtowc-lock.h:117,1
    - Dst: mbtowc_unlocked
      Src: /src/gnulib/lib/mbtowc-lock.h:118,1
    - Dst: mtx_unlock
      Src: /src/gnulib/lib/mbtowc-lock.h:119,1
    - Dst: abort
      Src: /src/gnulib/lib/mbtowc-lock.h:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pwc
    - p
    - m
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: mbtowc_with_lock
    functionSourceFile: /src/gnulib/lib/mbtowc-lock.h
    functionUses: 0
    functionsReached:
    - abort
    - mtx_unlock
    - mbtowc_unlocked
    - gl_get_mbtowc_lock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int mbtowc_with_lock (wchar_t *pwc, const char *p, size_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcsrtombs
      Src: /src/gnulib/lib/c32srtombs.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - srcp
    - len
    - ps
    argTypes:
    - char*
    - char32_t**
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: c32srtombs
    functionSourceFile: /src/gnulib/lib/c32srtombs.c
    functionUses: 1
    functionsReached:
    - wcsrtombs
    linkageType: ''
    returnType: size_t
    signature: size_t c32srtombs (char *dest, const char32_t **srcp, size_t len, mbstate_t
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/dtotimespec.c:32,1
    - Dst: make_timespec
      Src: /src/gnulib/lib/dtotimespec.c:33,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/dtotimespec.c:33,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/dtotimespec.c:34,1
    - Dst: make_timespec
      Src: /src/gnulib/lib/dtotimespec.c:35,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/dtotimespec.c:35,1
    - Dst: make_timespec
      Src: /src/gnulib/lib/dtotimespec.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sec
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: dtotimespec
    functionSourceFile: /src/gnulib/lib/dtotimespec.c
    functionUses: 1
    functionsReached:
    - TYPE_MAXIMUM
    - make_timespec
    - TYPE_MINIMUM
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec dtotimespec (double sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/strncasecmp_l.c:32,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/strncasecmp_l.c:32,1
    - Dst: c_strncasecmp
      Src: /src/gnulib/lib/strncasecmp_l.c:35,1
    - Dst: _strnicmp_l
      Src: /src/gnulib/lib/strncasecmp_l.c:39,1
    - Dst: uselocale
      Src: /src/gnulib/lib/strncasecmp_l.c:45,1
    - Dst: strncasecmp
      Src: /src/gnulib/lib/strncasecmp_l.c:47,1
    - Dst: uselocale
      Src: /src/gnulib/lib/strncasecmp_l.c:49,1
    - Dst: tolower_l
      Src: /src/gnulib/lib/strncasecmp_l.c:64,1
    - Dst: tolower_l
      Src: /src/gnulib/lib/strncasecmp_l.c:65,1
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/strncasecmp_l.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - s1
    - s2
    - n
    - locale
    argTypes:
    - char*
    - char*
    - size_t
    - locale_t
    constantsTouched: []
    func_position:
      end: 84
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 84
    functionName: strncasecmp_l
    functionSourceFile: /src/gnulib/lib/strncasecmp_l.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - tolower_l
    - c_strncasecmp
    - gl_log2_lc_mask
    - gl_log2_lcmask_to_index
    - uselocale
    - _strnicmp_l
    - _GL_CMP
    linkageType: ''
    returnType: int
    signature: int strncasecmp_l (const char *s1, const char *s2, size_t n, locale_t
      locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv_set_ismember
      Src: /src/gnulib/lib/unlinkdir.c:44,1
    - Dst: geteuid
      Src: /src/gnulib/lib/unlinkdir.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: cannot_unlink_dir
    functionSourceFile: /src/gnulib/lib/unlinkdir.c
    functionUses: 1
    functionsReached:
    - geteuid
    - priv_set_ismember
    linkageType: ''
    returnType: bool
    signature: bool cannot_unlink_dir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/strftime-fixes.c:54,1
    - Dst: _putenv
      Src: /src/gnulib/lib/strftime-fixes.c:55,1
    - Dst: strftime
      Src: /src/gnulib/lib/strftime-fixes.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - bufsize
    - format
    - tp
    argTypes:
    - char*
    - size_t
    - char*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 59
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 59
    functionName: rpl_strftime
    functionSourceFile: /src/gnulib/lib/strftime-fixes.c
    functionUses: 0
    functionsReached:
    - _putenv
    - strftime
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t rpl_strftime (char *buf, size_t bufsize, const char *format,
      const struct tm *tp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: mbsinit
    functionSourceFile: /src/gnulib/lib/mbsinit.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbsinit (const mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: mbsinit
    functionSourceFile: /src/gnulib/lib/mbsinit.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbsinit (const mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: memory_float::construct_memory_SNaNf
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_float

      construct_memory_SNaNf (float quiet_value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_float::construct_memory_SNaNf
      Src: /src/gnulib/lib/snan.h:102,1
    - Dst: NaNf
      Src: /src/gnulib/lib/snan.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: memory_float::memory_SNaNf
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - memory_float::construct_memory_SNaNf
    - NaNf
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_float

      memory_SNaNf ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_memory_SNaNf
      Src: /src/gnulib/lib/snan.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: construct_SNaNf
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - construct_memory_SNaNf
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED construct_SNaNf (float quiet_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_SNaNf
      Src: /src/gnulib/lib/snan.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: SNaNf
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 12
    functionsReached:
    - memory_SNaNf
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED SNaNf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: memory_double::construct_memory_SNaNd
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_double

      construct_memory_SNaNd (double quiet_value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_double::construct_memory_SNaNd
      Src: /src/gnulib/lib/snan.h:161,1
    - Dst: NaNd
      Src: /src/gnulib/lib/snan.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: memory_double::memory_SNaNd
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - NaNd
    - memory_double::construct_memory_SNaNd
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_double

      memory_SNaNd ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_memory_SNaNd
      Src: /src/gnulib/lib/snan.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: construct_SNaNd
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - construct_memory_SNaNd
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED construct_SNaNd (double quiet_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_SNaNd
      Src: /src/gnulib/lib/snan.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: double
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 6
    functionsReached:
    - memory_SNaNd
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED double

      SNaNd ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 257
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 257
    functionName: memory_long_double::construct_memory_SNaNl
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_long_double

      construct_memory_SNaNl (long double quiet_value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_long_double::construct_memory_SNaNl
      Src: /src/gnulib/lib/snan.h:263,1
    - Dst: NaNl
      Src: /src/gnulib/lib/snan.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: memory_long_double::memory_SNaNl
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - memory_long_double::construct_memory_SNaNl
    - NaNl
    linkageType: ''
    returnType: _GL_UNUSED
    signature: '_GL_UNUSED memory_long_double

      memory_SNaNl ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_memory_SNaNl
      Src: /src/gnulib/lib/snan.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quiet_value
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: construct_SNaNl
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 0
    functionsReached:
    - construct_memory_SNaNl
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED construct_SNaNl (long double quiet_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memory_SNaNl
      Src: /src/gnulib/lib/snan.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: SNaNl
    functionSourceFile: /src/gnulib/lib/snan.h
    functionUses: 12
    functionsReached:
    - memory_SNaNl
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED SNaNl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/gnulib/lib/tanf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: tanf
    functionSourceFile: /src/gnulib/lib/tanf.c
    functionUses: 2
    functionsReached:
    - tan
    linkageType: ''
    returnType: float
    signature: float tanf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_sub
      Src: /src/gnulib/lib/timespec-sub.c:38,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/timespec-sub.c:42,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/timespec-sub.c:42,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/timespec-sub.c:44,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/timespec-sub.c:49,1
    - Dst: make_timespec
      Src: /src/gnulib/lib/timespec-sub.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: timespec_sub
    functionSourceFile: /src/gnulib/lib/timespec-sub.c
    functionUses: 1
    functionsReached:
    - make_timespec
    - ckd_sub
    - TYPE_MAXIMUM
    - TYPE_MINIMUM
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec timespec_sub (struct timespec a, struct timespec b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - octal
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: octal_to_mode
    functionSourceFile: /src/gnulib/lib/modechange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: mode_t octal_to_mode (unsigned int octal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/modechange.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - new_mode
    - mentioned
    argTypes:
    - mode_t
    - mode_t
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: make_node_op_equals
    functionSourceFile: /src/gnulib/lib/modechange.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: struct mode_change
    signature: 'struct mode_change *

      make_node_op_equals (mode_t new_mode, mode_t mentioned)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: octal_to_mode
      Src: /src/gnulib/lib/modechange.c:159,1
    - Dst: make_node_op_equals
      Src: /src/gnulib/lib/modechange.c:163,1
    - Dst: xnmalloc
      Src: /src/gnulib/lib/modechange.c:171,1
    - Dst: octal_to_mode
      Src: /src/gnulib/lib/modechange.c:230,1
    - Dst: free
      Src: /src/gnulib/lib/modechange.c:308,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 130
    argCount: 1
    argNames:
    - mode_string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 310
    functionName: mode_compile
    functionSourceFile: /src/gnulib/lib/modechange.c
    functionUses: 0
    functionsReached:
    - xnmalloc
    - octal_to_mode
    - free
    - make_node_op_equals
    linkageType: ''
    returnType: struct mode_change
    signature: 'struct mode_change *

      mode_compile (char const *mode_string)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/modechange.c:320,1
    - Dst: make_node_op_equals
      Src: /src/gnulib/lib/modechange.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ref_file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: mode_create_from_ref
    functionSourceFile: /src/gnulib/lib/modechange.c
    functionUses: 0
    functionsReached:
    - stat
    - make_node_op_equals
    linkageType: ''
    returnType: struct mode_change
    signature: 'struct mode_change *

      mode_create_from_ref (const char *ref_file)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - oldmode
    - dir
    - umask_value
    - changes
    - pmode_bits
    argTypes:
    - mode_t
    - bool
    - mode_t
    - struct mode_change*
    - mode_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 414
    functionName: mode_adjust
    functionSourceFile: /src/gnulib/lib/modechange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: "mode_t mode_adjust (mode_t oldmode, bool dir, mode_t umask_value,\n
      \            struct mode_change const *changes, mode_t *pmode_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: memxor
    functionSourceFile: /src/gnulib/lib/memxor.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memxor (void *restrict dest, const void *restrict src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_vaszprintf
      Src: /src/gnulib/lib/c-xvasprintf.c:35,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/c-xvasprintf.c:38,1
    - Dst: strerrorname_np
      Src: /src/gnulib/lib/c-xvasprintf.c:47,1
    - Dst: sprintf
      Src: /src/gnulib/lib/c-xvasprintf.c:59,1
    - Dst: fprintf
      Src: /src/gnulib/lib/c-xvasprintf.c:62,1
    - Dst: fflush
      Src: /src/gnulib/lib/c-xvasprintf.c:64,1
    - Dst: abort
      Src: /src/gnulib/lib/c-xvasprintf.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: c_xvasprintf
    functionSourceFile: /src/gnulib/lib/c-xvasprintf.c
    functionUses: 1
    functionsReached:
    - abort
    - strerrorname_np
    - xalloc_die
    - c_vaszprintf
    - fflush
    - sprintf
    - fprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      c_xvasprintf (const char *format, va_list args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcschr
      Src: /src/gnulib/lib/wcsstr.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 73
    functionName: wcsstr
    functionSourceFile: /src/gnulib/lib/wcsstr.c
    functionUses: 2
    functionsReached:
    - wcschr
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcsstr (const wchar_t *haystack, const wchar_t *needle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_create_empty
      Src: /src/gnulib/lib/gl_xlist.h:88,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: _GL_ATTRIBUTE_RETURNS_NONNULL
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_list_nx_create_empty
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: "GL_XLIST_INLINE _GL_ATTRIBUTE_RETURNS_NONNULL\ngl_list_t\ngl_list_create_empty
      (gl_list_implementation_t implementation,\n                      gl_listelement_equals_fn
      equals_fn,\n                      gl_listelement_hashcode_fn hashcode_fn,\n
      \                     gl_listelement_dispose_fn dispose_fn,\n                      bool
      allow_duplicates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_create
      Src: /src/gnulib/lib/gl_xlist.h:107,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: _GL_ATTRIBUTE_RETURNS_NONNULL
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_list_nx_create
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: "GL_XLIST_INLINE _GL_ATTRIBUTE_RETURNS_NONNULL\ngl_list_t\ngl_list_create
      (gl_list_implementation_t implementation,\n                gl_listelement_equals_fn
      equals_fn,\n                gl_listelement_hashcode_fn hashcode_fn,\n                gl_listelement_dispose_fn
      dispose_fn,\n                bool allow_duplicates,\n                size_t
      count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: gl_list_node_set_value
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 1
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: GL_XLIST_INLINE gl_list_node_set_value (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/lib/gl_xlist.h:125,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: gl_list_node_t::gl_list_set_at
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - gl_list_nx_set_at
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_set_at (gl_list_t list, size_t position, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_set_first
      Src: /src/gnulib/lib/gl_xlist.h:134,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: gl_list_node_t::gl_list_set_first
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - gl_list_nx_set_first
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_set_first (gl_list_t list, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_set_last
      Src: /src/gnulib/lib/gl_xlist.h:143,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: gl_list_node_t::gl_list_set_last
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_list_nx_set_last
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_set_last (gl_list_t list, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_first
      Src: /src/gnulib/lib/gl_xlist.h:152,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: gl_list_node_t::gl_list_add_first
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_list_nx_add_first
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_add_first (gl_list_t list, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_last
      Src: /src/gnulib/lib/gl_xlist.h:161,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: gl_list_node_t::gl_list_add_last
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - gl_list_nx_add_last
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_add_last (gl_list_t list, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_before
      Src: /src/gnulib/lib/gl_xlist.h:170,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: gl_list_node_t::gl_list_add_before
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - gl_list_nx_add_before
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_add_before (gl_list_t list, gl_list_node_t node, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_after
      Src: /src/gnulib/lib/gl_xlist.h:179,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: gl_list_node_t::gl_list_add_after
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - gl_list_nx_add_after
    - xalloc_die
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_add_after (gl_list_t list, gl_list_node_t node, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_xlist.h:188,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: gl_list_node_t::gl_list_add_at
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_list_nx_add_at
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: 'GL_XLIST_INLINE gl_list_node_t

      gl_list_add_at (gl_list_t list, size_t position, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_nx_add
      Src: /src/gnulib/lib/gl_xlist.h:198,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xlist.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: gl_list_node_t::gl_sortedlist_add
    functionSourceFile: /src/gnulib/lib/gl_xlist.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    - gl_sortedlist_nx_add
    linkageType: ''
    returnType: GL_XLIST_INLINE
    signature: "GL_XLIST_INLINE gl_list_node_t\ngl_sortedlist_add (gl_list_t list,
      gl_listelement_compar_fn compar,\n                   const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: javaexec_version
      Src: /src/gnulib/lib/javacomp.c:95,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:103,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: default_target_version
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - javaexec_version
    linkageType: ''
    returnType: char
    signature: 'char *

      default_target_version (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:147,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - source_version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: source_version_index
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - error
    - _
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int source_version_index (const char *source_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:168,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:168,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 1
    argNames:
    - target_version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: target_version_index
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - error
    - _
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int target_version_index (const char *target_version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/javacomp.c:196,1
    - Dst: shell_quote_length
      Src: /src/gnulib/lib/javacomp.c:202,1
    - Dst: shell_quote_length
      Src: /src/gnulib/lib/javacomp.c:204,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/javacomp.c:207,1
    - Dst: memcpy
      Src: /src/gnulib/lib/javacomp.c:211,1
    - Dst: strlen
      Src: /src/gnulib/lib/javacomp.c:211,1
    - Dst: strlen
      Src: /src/gnulib/lib/javacomp.c:212,1
    - Dst: memcpy
      Src: /src/gnulib/lib/javacomp.c:215,1
    - Dst: memcpy
      Src: /src/gnulib/lib/javacomp.c:220,1
    - Dst: memcpy
      Src: /src/gnulib/lib/javacomp.c:225,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/lib/javacomp.c:227,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/lib/javacomp.c:232,1
    - Dst: abort
      Src: /src/gnulib/lib/javacomp.c:237,1
    - Dst: printf
      Src: /src/gnulib/lib/javacomp.c:240,1
    - Dst: execute
      Src: /src/gnulib/lib/javacomp.c:246,1
    - Dst: freea
      Src: /src/gnulib/lib/javacomp.c:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 8
    argNames:
    - javac
    - java_sources
    - java_sources_count
    - directory
    - optimize
    - debug
    - verbose
    - null_stderr
    argTypes:
    - char*
    - char**
    - unsigned int
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 254
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 254
    functionName: compile_using_envjavac
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    - shell_quote_length
    - freea
    - memcpy
    - printf
    - execute
    - xmalloca
    - shell_quote_copy
    linkageType: ''
    returnType: bool
    signature: "bool compile_using_envjavac (const char *javac,\n                        const
      char * const *java_sources,\n                        unsigned int java_sources_count,\n
      \                       const char *directory,\n                        bool
      optimize, bool debug,\n                        bool verbose, bool null_stderr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloca
      Src: /src/gnulib/lib/javacomp.c:279,1
    - Dst: abort
      Src: /src/gnulib/lib/javacomp.c:309,1
    - Dst: printf
      Src: /src/gnulib/lib/javacomp.c:314,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:315,1
    - Dst: execute
      Src: /src/gnulib/lib/javacomp.c:318,1
    - Dst: freea
      Src: /src/gnulib/lib/javacomp.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 12
    argNames:
    - java_sources
    - java_sources_count
    - nowarn_option
    - source_option
    - source_version
    - target_option
    - target_version
    - directory
    - optimize
    - debug
    - verbose
    - null_stderr
    argTypes:
    - char**
    - unsigned int
    - char*
    - bool
    - char*
    - bool
    - char*
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 326
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 326
    functionName: compile_using_javac
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - freea
    - printf
    - execute
    - xmalloca
    linkageType: ''
    returnType: bool
    signature: "bool compile_using_javac (const char * const *java_sources,\n                     unsigned
      int java_sources_count,\n                     const char *nowarn_option,\n                     bool
      source_option, const char *source_version,\n                     bool target_option,
      const char *target_version,\n                     const char *directory,\n                     bool
      optimize, bool debug,\n                     bool verbose, bool null_stderr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/javacomp.c:346,1
    - Dst: fdopen
      Src: /src/gnulib/lib/javacomp.c:353,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:355,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:355,1
    - Dst: getline
      Src: /src/gnulib/lib/javacomp.c:358,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:361,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:361,1
    - Dst: fclose
      Src: /src/gnulib/lib/javacomp.c:362,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/javacomp.c:363,1
    - Dst: getc
      Src: /src/gnulib/lib/javacomp.c:370,1
    - Dst: fclose
      Src: /src/gnulib/lib/javacomp.c:373,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/javacomp.c:377,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - progname
    - prog_path
    - prog_argv
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 385
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 385
    functionName: execute_and_read_line
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - fclose
    - create_pipe_in
    - free
    - wait_subprocess
    - _
    - getc
    - getline
    - error
    - fdopen
    linkageType: ''
    returnType: char
    signature: "char *\nexecute_and_read_line (const char *progname,\n                       const
      char *prog_path, const char * const *prog_argv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:404,1
    - Dst: strchr
      Src: /src/gnulib/lib/javacomp.c:420,1
    - Dst: strlen
      Src: /src/gnulib/lib/javacomp.c:426,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:440,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - progname
    - prog_path
    - prog_argv
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 442
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 442
    functionName: get_compiler_version
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - strchr
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int get_compiler_version (const char *progname,\n                      const
      char *prog_path, const char * const *prog_argv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register_temp_file
      Src: /src/gnulib/lib/javacomp.c:454,1
    - Dst: fopen_temp
      Src: /src/gnulib/lib/javacomp.c:455,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:458,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:458,1
    - Dst: unregister_temp_file
      Src: /src/gnulib/lib/javacomp.c:459,1
    - Dst: fputs
      Src: /src/gnulib/lib/javacomp.c:462,1
    - Dst: fwriteerror_temp
      Src: /src/gnulib/lib/javacomp.c:463,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:465,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - tmpdir
    - file_name
    - contents
    argTypes:
    - struct temp_dir*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: write_temp_file
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - fwriteerror_temp
    - fopen_temp
    - fputs
    - unregister_temp_file
    - register_temp_file
    - error
    - _
    linkageType: ''
    returnType: bool
    signature: "bool write_temp_file (struct temp_dir *tmpdir, const char *file_name,\n
      \                const char *contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/lib/javacomp.c:479,1
    - Dst: safe_read
      Src: /src/gnulib/lib/javacomp.c:483,1
    - Dst: close
      Src: /src/gnulib/lib/javacomp.c:489,1
    - Dst: close
      Src: /src/gnulib/lib/javacomp.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - compiled_file_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 498
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 498
    functionName: get_classfile_version
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - safe_read
    - open
    - close
    linkageType: ''
    returnType: int
    signature: int get_classfile_version (const char *compiled_file_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: source_version_index
      Src: /src/gnulib/lib/javacomp.c:522,1
    - Dst: target_version_index
      Src: /src/gnulib/lib/javacomp.c:523,1
    - Dst: create_temp_dir
      Src: /src/gnulib/lib/javacomp.c:541,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/javacomp.c:546,1
    - Dst: write_temp_file
      Src: /src/gnulib/lib/javacomp.c:547,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:549,1
    - Dst: cleanup_temp_dir
      Src: /src/gnulib/lib/javacomp.c:550,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/javacomp.c:555,1
    - Dst: register_temp_file
      Src: /src/gnulib/lib/javacomp.c:556,1
    - Dst: assume
      Src: /src/gnulib/lib/javacomp.c:561,1
    - Dst: compile_using_envjavac
      Src: /src/gnulib/lib/javacomp.c:564,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:567,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:569,1
    - Dst: compile_using_envjavac
      Src: /src/gnulib/lib/javacomp.c:570,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:573,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:587,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:598,1
    - Dst: assume
      Src: /src/gnulib/lib/javacomp.c:605,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:607,1
    - Dst: compile_using_envjavac
      Src: /src/gnulib/lib/javacomp.c:610,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:613,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:617,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:632,1
    - Dst: strlen
      Src: /src/gnulib/lib/javacomp.c:639,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/javacomp.c:641,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/javacomp.c:644,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/javacomp.c:645,1
    - Dst: abort
      Src: /src/gnulib/lib/javacomp.c:649,1
    - Dst: get_compiler_version
      Src: /src/gnulib/lib/javacomp.c:657,1
    - Dst: freea
      Src: /src/gnulib/lib/javacomp.c:659,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:680,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:687,1
    - Dst: xasprintf
      Src: /src/gnulib/lib/javacomp.c:692,1
    - Dst: assume
      Src: /src/gnulib/lib/javacomp.c:694,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:696,1
    - Dst: compile_using_envjavac
      Src: /src/gnulib/lib/javacomp.c:699,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:704,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:709,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:720,1
    - Dst: cleanup_temp_dir
      Src: /src/gnulib/lib/javacomp.c:726,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:728,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:729,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:730,1
    - Dst: strcpy
      Src: /src/gnulib/lib/javacomp.c:738,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:741,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:747,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 7
    argNames:
    - javac
    - source_version
    - target_version
    - usablep
    - nowarn_option_out
    - source_option_out
    - target_option_out
    argTypes:
    - char*
    - char*
    - char*
    - bool*
    - char[]
    - char[]
    - char[]
    constantsTouched: []
    func_position:
      end: 751
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 751
    functionName: is_envjavac_usable
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - register_temp_file
    - stpcpy
    - xmalloca
    - xasprintf
    - strcpy
    - free
    - unlink
    - assume
    - sprintf
    - cleanup_temp_dir
    - strlen
    - get_compiler_version
    - create_temp_dir
    - xconcatenated_filename
    - write_temp_file
    - freea
    - abort
    - compile_using_envjavac
    - stat
    - source_version_index
    - target_version_index
    linkageType: ''
    returnType: bool
    signature: "bool is_envjavac_usable (const char *javac,\n                    const
      char *source_version, const char *target_version,\n                    bool
      *usablep,\n                    char nowarn_option_out[17],\n                    char
      source_option_out[30], char target_option_out[30])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/gnulib/lib/javacomp.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 775
    functionName: is_javac_present
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - execute
    linkageType: ''
    returnType: bool
    signature: bool is_javac_present (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: source_version_index
      Src: /src/gnulib/lib/javacomp.c:798,1
    - Dst: target_version_index
      Src: /src/gnulib/lib/javacomp.c:799,1
    - Dst: create_temp_dir
      Src: /src/gnulib/lib/javacomp.c:817,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/javacomp.c:822,1
    - Dst: write_temp_file
      Src: /src/gnulib/lib/javacomp.c:823,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:825,1
    - Dst: cleanup_temp_dir
      Src: /src/gnulib/lib/javacomp.c:826,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/javacomp.c:831,1
    - Dst: register_temp_file
      Src: /src/gnulib/lib/javacomp.c:832,1
    - Dst: compile_using_javac
      Src: /src/gnulib/lib/javacomp.c:838,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:844,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:846,1
    - Dst: compile_using_javac
      Src: /src/gnulib/lib/javacomp.c:847,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:853,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:868,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:876,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:880,1
    - Dst: compile_using_javac
      Src: /src/gnulib/lib/javacomp.c:883,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:891,1
    - Dst: get_compiler_version
      Src: /src/gnulib/lib/javacomp.c:915,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:936,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:940,1
    - Dst: unlink
      Src: /src/gnulib/lib/javacomp.c:944,1
    - Dst: compile_using_javac
      Src: /src/gnulib/lib/javacomp.c:947,1
    - Dst: stat
      Src: /src/gnulib/lib/javacomp.c:955,1
    - Dst: cleanup_temp_dir
      Src: /src/gnulib/lib/javacomp.c:973,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:975,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:976,1
    - Dst: strcpy
      Src: /src/gnulib/lib/javacomp.c:984,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:987,1
    - Dst: sprintf
      Src: /src/gnulib/lib/javacomp.c:993,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 6
    argNames:
    - source_version
    - target_version
    - usablep
    - nowarn_option_out
    - source_option_out
    - target_option_out
    argTypes:
    - char*
    - char*
    - bool*
    - char[]
    - char[]
    - char[]
    constantsTouched: []
    func_position:
      end: 997
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 997
    functionName: is_javac_usable
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - compile_using_javac
    - strcpy
    - free
    - unlink
    - create_temp_dir
    - get_compiler_version
    - xconcatenated_filename
    - write_temp_file
    - stat
    - register_temp_file
    - sprintf
    - source_version_index
    - target_version_index
    - cleanup_temp_dir
    linkageType: ''
    returnType: bool
    signature: "bool is_javac_usable (const char *source_version, const char *target_version,\n
      \                bool *usablep,\n                 char nowarn_option_out[17],\n
      \                char source_option_out[20], char target_option_out[20])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: default_target_version
      Src: /src/gnulib/lib/javacomp.c:1039,1
    - Dst: is_envjavac_usable
      Src: /src/gnulib/lib/javacomp.c:1041,1
    - Dst: set_classpath
      Src: /src/gnulib/lib/javacomp.c:1058,1
    - Dst: xasprintf
      Src: /src/gnulib/lib/javacomp.c:1061,1
    - Dst: assume
      Src: /src/gnulib/lib/javacomp.c:1063,1
    - Dst: compile_using_envjavac
      Src: /src/gnulib/lib/javacomp.c:1065,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:1070,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javacomp.c:1073,1
    - Dst: getenv
      Src: /src/gnulib/lib/javacomp.c:1081,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/javacomp.c:1084,1
    - Dst: unsetenv
      Src: /src/gnulib/lib/javacomp.c:1085,1
    - Dst: is_javac_present
      Src: /src/gnulib/lib/javacomp.c:1088,1
    - Dst: default_target_version
      Src: /src/gnulib/lib/javacomp.c:1096,1
    - Dst: is_javac_usable
      Src: /src/gnulib/lib/javacomp.c:1098,1
    - Dst: set_classpath
      Src: /src/gnulib/lib/javacomp.c:1116,1
    - Dst: compile_using_javac
      Src: /src/gnulib/lib/javacomp.c:1119,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javacomp.c:1127,1
    - Dst: error
      Src: /src/gnulib/lib/javacomp.c:1133,1
    - Dst: _
      Src: /src/gnulib/lib/javacomp.c:1133,1
    - Dst: xsetenv
      Src: /src/gnulib/lib/javacomp.c:1139,1
    - Dst: free
      Src: /src/gnulib/lib/javacomp.c:1140,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 11
    argNames:
    - java_sources
    - java_sources_count
    - classpaths
    - classpaths_count
    - source_version
    - target_version
    - directory
    - optimize
    - debug
    - use_minimal_classpath
    - verbose
    argTypes:
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char*
    - char*
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1145
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1145
    functionName: compile_java_class
    functionSourceFile: /src/gnulib/lib/javacomp.c
    functionUses: 0
    functionsReached:
    - set_classpath
    - default_target_version
    - compile_using_javac
    - xsetenv
    - reset_classpath
    - free
    - is_javac_present
    - _
    - compile_using_envjavac
    - xstrdup
    - unsetenv
    - assume
    - is_javac_usable
    - error
    - getenv
    - xasprintf
    - is_envjavac_usable
    linkageType: ''
    returnType: bool
    signature: "bool compile_java_class (const char * const *java_sources,\n                    unsigned
      int java_sources_count,\n                    const char * const *classpaths,\n
      \                   unsigned int classpaths_count,\n                    const
      char *source_version,\n                    const char *target_version,\n                    const
      char *directory,\n                    bool optimize, bool debug,\n                    bool
      use_minimal_classpath,\n                    bool verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utimensat
      Src: /src/gnulib/lib/utimens.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dir
    - file
    - times
    argTypes:
    - int
    - char*
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: lutimensat
    functionSourceFile: /src/gnulib/lib/utimens.h
    functionUses: 1
    functionsReached:
    - utimensat
    linkageType: ''
    returnType: _GL_UTIMENS_INLINE
    signature: _GL_UTIMENS_INLINE lutimensat (int dir, char const *file, struct timespec
      const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strtol.c:236,1
    - Dst: __btowc
      Src: /src/gnulib/lib/strtol.c:243,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strtol.c:243,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/strtol.c:257,1
    - Dst: ISSPACE
      Src: /src/gnulib/lib/strtol.c:264,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:266,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:270,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:275,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:284,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:286,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:286,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:291,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:291,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:310,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:312,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:312,1
    - Dst: ISALPHA
      Src: /src/gnulib/lib/strtol.c:313,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:313,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:313,1
    - Dst: correctly_grouped_prefix
      Src: /src/gnulib/lib/strtol.c:318,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:329,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:333,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:333,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:334,1
    - Dst: ISALPHA
      Src: /src/gnulib/lib/strtol.c:335,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:336,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:336,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/strtol.c:372,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:393,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:393,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strtol.c:393,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:393,1
    - Dst: L_
      Src: /src/gnulib/lib/strtol.c:394,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 98
    argCount: 3
    argNames:
    - nptr
    - endptr
    - LOCALE_PARAM_PROTO
    argTypes:
    - STRING_TYPE*
    - STRING_TYPE**
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 402
    functionName: INTERNAL
    functionSourceFile: /src/gnulib/lib/strtol.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - _NL_CURRENT
    - __set_errno
    - correctly_grouped_prefix
    - L_
    - ISALPHA
    - TOUPPER
    - __btowc
    linkageType: ''
    returnType: INT
    signature: "INT INTERNAL (strtol) (const STRING_TYPE *nptr, STRING_TYPE **endptr,\n
      \                  int base GROUP_PARAM_PROTO LOCALE_PARAM_PROTO)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INTERNAL
      Src: /src/gnulib/lib/strtol.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nptr
    - endptr
    - LOCALE_PARAM_PROTO
    argTypes:
    - STRING_TYPE*
    - STRING_TYPE**
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: strtol
    functionSourceFile: /src/gnulib/lib/strtol.c
    functionUses: 15
    functionsReached:
    - INTERNAL
    linkageType: ''
    returnType: weak_function
    signature: "weak_function strtol (const STRING_TYPE *nptr, STRING_TYPE **endptr,\n
      \       int base LOCALE_PARAM_PROTO)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/scandir.c:98,1
    - Dst: free
      Src: /src/gnulib/lib/scandir.c:99,1
    - Dst: __closedir
      Src: /src/gnulib/lib/scandir.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: cancel_handler
    functionSourceFile: /src/gnulib/lib/scandir.c
    functionUses: 0
    functionsReached:
    - free
    - __closedir
    linkageType: ''
    returnType: void
    signature: void cancel_handler (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __opendir
      Src: /src/gnulib/lib/scandir.c:121,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/scandir.c:132,1
    - Dst: __libc_cleanup_push
      Src: /src/gnulib/lib/scandir.c:138,1
    - Dst: READDIR
      Src: /src/gnulib/lib/scandir.c:141,1
    - Dst: select
      Src: /src/gnulib/lib/scandir.c:147,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/scandir.c:151,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/scandir.c:160,1
    - Dst: __builtin_expect
      Src: /src/gnulib/lib/scandir.c:162,1
    - Dst: realloc::realloc
      Src: /src/gnulib/lib/scandir.c:169,1
    - Dst: c::c
      Src: /src/gnulib/lib/scandir.c:172,1
    - Dst: _D_ALLOC_NAMLEN
      Src: /src/gnulib/lib/scandir.c:176,1
    - Dst: malloc
      Src: /src/gnulib/lib/scandir.c:177,1
    - Dst: memcpy
      Src: /src/gnulib/lib/scandir.c:181,1
    - Dst: __builtin_expect
      Src: /src/gnulib/lib/scandir.c:185,1
    - Dst: free
      Src: /src/gnulib/lib/scandir.c:190,1
    - Dst: free
      Src: /src/gnulib/lib/scandir.c:191,1
    - Dst: qsort
      Src: /src/gnulib/lib/scandir.c:198,1
    - Dst: __libc_cleanup_pop
      Src: /src/gnulib/lib/scandir.c:204,1
    - Dst: __closedir
      Src: /src/gnulib/lib/scandir.c:207,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/scandir.c:208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - dir
    - namelist
    argTypes:
    - char*
    - DIRENT_TYPE***
    constantsTouched: []
    func_position:
      end: 211
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 211
    functionName: SCANDIR
    functionSourceFile: /src/gnulib/lib/scandir.c
    functionUses: 0
    functionsReached:
    - __opendir
    - free
    - __closedir
    - _D_ALLOC_NAMLEN
    - __set_errno
    - realloc::realloc
    - select
    - __libc_cleanup_push
    - __libc_cleanup_pop
    - __builtin_expect
    - memcpy
    - malloc
    - c::c
    - qsort
    - READDIR
    linkageType: ''
    returnType: void
    signature: "void SCANDIR (const char *dir,\n         DIRENT_TYPE ***namelist,\n
      \        int (*select) (DIRENT_TYPE *),\n         int (*cmp) (const void *,
      const void *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - iptr
    argTypes:
    - long double
    - long double*
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: modfl
    functionSourceFile: /src/gnulib/lib/modfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double modfl (long double x, long double *iptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/modfl.c:38,1
    - Dst: isinf
      Src: /src/gnulib/lib/modfl.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x
    - iptr
    argTypes:
    - long double
    - long double*
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: modfl
    functionSourceFile: /src/gnulib/lib/modfl.c
    functionUses: 1
    functionsReached:
    - isinf
    - isfinite
    linkageType: ''
    returnType: long double
    signature: long double modfl (long double x, long double *iptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/copysignf.c:25,1
    - Dst: signbit
      Src: /src/gnulib/lib/copysignf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: copysignf
    functionSourceFile: /src/gnulib/lib/copysignf.c
    functionUses: 1
    functionsReached:
    - signbit
    linkageType: ''
    returnType: float
    signature: float copysignf (float x, float y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_get_setlocale_null_lock
      Src: /src/gnulib/lib/setlocale_null.c:79,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/setlocale_null.c:82,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:83,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/setlocale_null.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - category
    - buf
    - bufsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: setlocale_null_r_with_lock
    functionSourceFile: /src/gnulib/lib/setlocale_null.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - gl_get_setlocale_null_lock
    - setlocale_null_r_unlocked
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_in_use
      Src: /src/gnulib/lib/setlocale_null.c:116,1
    - Dst: gl_get_setlocale_null_lock
      Src: /src/gnulib/lib/setlocale_null.c:118,1
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/setlocale_null.c:121,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale_null.c:122,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:123,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/setlocale_null.c:124,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale_null.c:125,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - category
    - buf
    - bufsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: setlocale_null_r_with_lock
    functionSourceFile: /src/gnulib/lib/setlocale_null.c
    functionUses: 0
    functionsReached:
    - abort
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_in_use
    - gl_get_setlocale_null_lock
    - setlocale_null_r_unlocked
    linkageType: ''
    returnType: int
    signature: int setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_get_setlocale_null_lock
      Src: /src/gnulib/lib/setlocale_null.c:140,1
    - Dst: mtx_lock
      Src: /src/gnulib/lib/setlocale_null.c:143,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale_null.c:144,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:145,1
    - Dst: mtx_unlock
      Src: /src/gnulib/lib/setlocale_null.c:146,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale_null.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - category
    - buf
    - bufsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: setlocale_null_r_with_lock
    functionSourceFile: /src/gnulib/lib/setlocale_null.c
    functionUses: 0
    functionsReached:
    - abort
    - mtx_unlock
    - mtx_lock
    - gl_get_setlocale_null_lock
    - setlocale_null_r_unlocked
    linkageType: ''
    returnType: int
    signature: int setlocale_null_r_with_lock (int category, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:162,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:167,1
    - Dst: setlocale_null_r_with_lock
      Src: /src/gnulib/lib/setlocale_null.c:169,1
    - Dst: setlocale_null_r_with_lock
      Src: /src/gnulib/lib/setlocale_null.c:176,1
    - Dst: setlocale_null_r_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:178,1
    - Dst: setlocale_null_r_with_lock
      Src: /src/gnulib/lib/setlocale_null.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - category
    - buf
    - bufsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 186
    functionName: setlocale_null_r
    functionSourceFile: /src/gnulib/lib/setlocale_null.c
    functionUses: 5
    functionsReached:
    - setlocale_null_r_with_lock
    - setlocale_null_r_unlocked
    linkageType: ''
    returnType: int
    signature: int setlocale_null_r (int category, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:192,1
    - Dst: setlocale_null_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:208,1
    - Dst: setlocale_null_r
      Src: /src/gnulib/lib/setlocale_null.c:213,1
    - Dst: strcpy
      Src: /src/gnulib/lib/setlocale_null.c:215,1
    - Dst: setlocale_null_unlocked
      Src: /src/gnulib/lib/setlocale_null.c:222,1
    - Dst: setlocale_null_r
      Src: /src/gnulib/lib/setlocale_null.c:257,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale_null.c:291,1
    - Dst: strcpy
      Src: /src/gnulib/lib/setlocale_null.c:294,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 299
    functionName: setlocale_null
    functionSourceFile: /src/gnulib/lib/setlocale_null.c
    functionUses: 0
    functionsReached:
    - setlocale_null_unlocked
    - setlocale_null_r
    - abort
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      setlocale_null (int category)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log1p
      Src: /src/gnulib/lib/log1pf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: log1pf
    functionSourceFile: /src/gnulib/lib/log1pf.c
    functionUses: 1
    functionsReached:
    - log1p
    linkageType: ''
    returnType: float
    signature: float log1pf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnulib/lib/unicodeio.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buflen
    - callback_arg
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: fwrite_success_callback
    functionSourceFile: /src/gnulib/lib/unicodeio.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: long
    signature: long fwrite_success_callback (const char *buf, size_t buflen, void
      *callback_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/unicodeio.c:191,1
    - Dst: _
      Src: /src/gnulib/lib/unicodeio.c:191,1
    - Dst: error
      Src: /src/gnulib/lib/unicodeio.c:193,1
    - Dst: _
      Src: /src/gnulib/lib/unicodeio.c:193,1
    - Dst: gettext
      Src: /src/gnulib/lib/unicodeio.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - code
    - msg
    - callback_arg
    argTypes:
    - unsigned int
    - char*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: exit_failure_callback
    functionSourceFile: /src/gnulib/lib/unicodeio.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - gettext
    linkageType: ''
    returnType: long
    signature: "long exit_failure_callback (unsigned int code, const char *msg,\n
      \                      _GL_UNUSED void *callback_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/unicodeio.c:208,1
    - Dst: fprintf
      Src: /src/gnulib/lib/unicodeio.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - code
    - msg
    - callback_arg
    argTypes:
    - unsigned int
    - _GL_UNUSED*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: fallback_failure_callback
    functionSourceFile: /src/gnulib/lib/unicodeio.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: long
    signature: "long fallback_failure_callback (unsigned int code,\n                           _GL_UNUSED
      const char *msg,\n                           void *callback_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite_success_callback
      Src: /src/gnulib/lib/unicodeio.c:225,1
    - Dst: unicode_to_mb
      Src: /src/gnulib/lib/unicodeio.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - code
    - exit_on_error
    argTypes:
    - FILE*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: print_unicode_char
    functionSourceFile: /src/gnulib/lib/unicodeio.c
    functionUses: 0
    functionsReached:
    - unicode_to_mb
    - fwrite_success_callback
    linkageType: ''
    returnType: void
    signature: void print_unicode_char (FILE *stream, unsigned int code, int exit_on_error)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clz
      Src: /src/gnulib/lib/integer_length.c:41,1
    - Dst: _BitScanReverse
      Src: /src/gnulib/lib/integer_length.c:46,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 153
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 153
    functionName: integer_length
    functionSourceFile: /src/gnulib/lib/integer_length.c
    functionUses: 1
    functionsReached:
    - __builtin_clz
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int integer_length (unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/gnulib/lib/long-options.c:62,1
    - Dst: va_start
      Src: /src/gnulib/lib/long-options.c:73,1
    - Dst: version_etc_va
      Src: /src/gnulib/lib/long-options.c:74,1
    - Dst: exit
      Src: /src/gnulib/lib/long-options.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - argc
    - argv
    - command_name
    - package
    - version
    argTypes:
    - int
    - char**
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 90
    functionName: parse_long_options
    functionSourceFile: /src/gnulib/lib/long-options.c
    functionUses: 0
    functionsReached:
    - exit
    - va_start
    - getopt_long
    - version_etc_va
    linkageType: ''
    returnType: void
    signature: "void parse_long_options (int argc,\n                    char **argv,\n
      \                   const char *command_name,\n                    const char
      *package,\n                    const char *version,\n                    void
      (*usage_func) (int),\n                    /* const char *author1, ...*/ ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/gnulib/lib/long-options.c:115,1
    - Dst: va_start
      Src: /src/gnulib/lib/long-options.c:126,1
    - Dst: version_etc_va
      Src: /src/gnulib/lib/long-options.c:127,1
    - Dst: exit
      Src: /src/gnulib/lib/long-options.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - argc
    - argv
    - command_name
    - package
    - version
    - scan_all
    argTypes:
    - int
    - char**
    - char*
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 139
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 139
    functionName: parse_gnu_standard_options_only
    functionSourceFile: /src/gnulib/lib/long-options.c
    functionUses: 0
    functionsReached:
    - exit
    - va_start
    - getopt_long
    - version_etc_va
    linkageType: ''
    returnType: void
    signature: "void parse_gnu_standard_options_only (int argc,\n                                 char
      **argv,\n                                 const char *command_name,\n                                 const
      char *package,\n                                 const char *version,\n                                 bool
      scan_all,\n                                 void (*usage_func) (int),\n                                 /*
      const char *author1, ...*/ ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/gnulib/lib/ceill.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ceill
    functionSourceFile: /src/gnulib/lib/ceill.c
    functionUses: 2
    functionsReached:
    - ceil
    linkageType: ''
    returnType: long double
    signature: long double ceill (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: wcsnlen
    functionSourceFile: /src/gnulib/lib/wcsnlen-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wcsnlen (const wchar_t *s, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/gnulib/lib/fwriteerror.c:61,1
    - Dst: fflush
      Src: /src/gnulib/lib/fwriteerror.c:63,1
    - Dst: fputc
      Src: /src/gnulib/lib/fwriteerror.c:69,1
    - Dst: fflush
      Src: /src/gnulib/lib/fwriteerror.c:71,1
    - Dst: fflush
      Src: /src/gnulib/lib/fwriteerror.c:82,1
    - Dst: fclose
      Src: /src/gnulib/lib/fwriteerror.c:84,1
    - Dst: fclose
      Src: /src/gnulib/lib/fwriteerror.c:89,1
    - Dst: fclose
      Src: /src/gnulib/lib/fwriteerror.c:100,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - fp
    - ignore_ebadf
    argTypes:
    - FILE*
    - bool
    constantsTouched: []
    func_position:
      end: 109
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 109
    functionName: do_fwriteerror
    functionSourceFile: /src/gnulib/lib/fwriteerror.c
    functionUses: 0
    functionsReached:
    - fputc
    - fflush
    - ferror
    - fclose
    linkageType: ''
    returnType: int
    signature: int do_fwriteerror (FILE *fp, bool ignore_ebadf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_fwriteerror
      Src: /src/gnulib/lib/fwriteerror.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: fwriteerror
    functionSourceFile: /src/gnulib/lib/fwriteerror.c
    functionUses: 1
    functionsReached:
    - do_fwriteerror
    linkageType: ''
    returnType: int
    signature: int fwriteerror (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_fwriteerror
      Src: /src/gnulib/lib/fwriteerror.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: fwriteerror_no_ebadf
    functionSourceFile: /src/gnulib/lib/fwriteerror.c
    functionUses: 0
    functionsReached:
    - do_fwriteerror
    linkageType: ''
    returnType: int
    signature: int fwriteerror_no_ebadf (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/fwriteerror.c:152,1
    - Dst: fprintf
      Src: /src/gnulib/lib/fwriteerror.c:156,1
    - Dst: fwrite
      Src: /src/gnulib/lib/fwriteerror.c:160,1
    - Dst: fwrite
      Src: /src/gnulib/lib/fwriteerror.c:161,1
    - Dst: fflush
      Src: /src/gnulib/lib/fwriteerror.c:163,1
    - Dst: fwriteerror
      Src: /src/gnulib/lib/fwriteerror.c:165,1
    - Dst: fprintf
      Src: /src/gnulib/lib/fwriteerror.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/lib/fwriteerror.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/gnulib/lib/fwriteerror.c
    functionUses: 12
    functionsReached:
    - fopen
    - fwrite
    - fwriteerror
    - fflush
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rotl_sz
      Src: /src/gnulib/lib/hashcode-string1.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - tablesize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: hash_string
    functionSourceFile: /src/gnulib/lib/hashcode-string1.c
    functionUses: 4
    functionsReached:
    - rotl_sz
    linkageType: ''
    returnType: size_t
    signature: size_t hash_string (const char *string, size_t tablesize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - tablesize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: hash_string
    functionSourceFile: /src/gnulib/lib/hashcode-string1.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_string (const char *string, size_t tablesize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:36,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:42,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:45,1
    - Dst: CPU_HAS_SSE
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:57,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:61,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 70
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETSSECW
    - _FPU_GETSSECW
    - exceptions_to_x86hardware
    - CPU_HAS_SSE
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:80,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETFPSR
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:100,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ieee_get_fp_control
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:116,1
    - Dst: __ieee_set_fp_control
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - __ieee_set_fp_control
    - __ieee_get_fp_control
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:154,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:170,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETFPSR
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:188,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:206,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:222,1
    - Dst: _FPU_SETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW_AS_DOUBLE
    - _FPU_GETCW_AS_DOUBLE
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:255,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:279,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:295,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpgetsticky
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:338,1
    - Dst: fpsetsticky
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - fpgetsticky
    - fpsetsticky
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exceptions_to_fpflag
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:362,1
    - Dst: fp_clr_flag
      Src: /src/gnulib/lib/fenv-except-tracking-clear.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached:
    - exceptions_to_fpflag
    - fp_clr_flag
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: feclearexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-clear.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int feclearexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/realloc.c:58,1
    - Dst: ckd_add
      Src: /src/gnulib/lib/realloc.c:88,1
    - Dst: cheri_bounds_set
      Src: /src/gnulib/lib/realloc.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 108
    functionName: rpl_realloc
    functionSourceFile: /src/gnulib/lib/realloc.c
    functionUses: 0
    functionsReached:
    - abort
    - cheri_bounds_set
    - ckd_add
    linkageType: ''
    returnType: void
    signature: 'void *

      rpl_realloc (void *p, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:130,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:135,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:135,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:136,1
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:168,1
    - Dst: MAX
      Src: /src/gnulib/lib/fma.c:168,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:173,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:173,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:174,1
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:206,1
    - Dst: MAX
      Src: /src/gnulib/lib/fma.c:206,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:211,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:211,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:212,1
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:244,1
    - Dst: MAX
      Src: /src/gnulib/lib/fma.c:244,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:249,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:249,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:250,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:291,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:291,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:292,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:323,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:328,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:329,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 154
    argCount: 2
    argNames:
    - x
    - limbs
    argTypes:
    - DOUBLE
    - mp_limb_t[]
    constantsTouched: []
    func_position:
      end: 331
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 331
    functionName: decode
    functionSourceFile: /src/gnulib/lib/fma.c
    functionUses: 104
    functionsReached:
    - abort
    - L_
    - MAX
    - MIN
    linkageType: ''
    returnType: void
    signature: void decode (DOUBLE x, mp_limb_t limbs[NLIMBS1])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - xlimbs
    - ylimbs
    - prod_limbs
    argTypes:
    - mp_limb_t[]
    - mp_limb_t[]
    - mp_limb_t[]
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: multiply
    functionSourceFile: /src/gnulib/lib/fma.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void multiply (mp_limb_t xlimbs[NLIMBS1], mp_limb_t ylimbs[NLIMBS1],\n
      \         mp_limb_t prod_limbs[2 * NLIMBS1])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/fma.c:363,1
    - Dst: isfinite
      Src: /src/gnulib/lib/fma.c:363,1
    - Dst: isfinite
      Src: /src/gnulib/lib/fma.c:365,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:368,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:368,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:370,1
    - Dst: FREXP
      Src: /src/gnulib/lib/fma.c:427,1
    - Dst: FREXP
      Src: /src/gnulib/lib/fma.c:428,1
    - Dst: FREXP
      Src: /src/gnulib/lib/fma.c:429,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:449,1
    - Dst: decode
      Src: /src/gnulib/lib/fma.c:456,1
    - Dst: decode
      Src: /src/gnulib/lib/fma.c:457,1
    - Dst: decode
      Src: /src/gnulib/lib/fma.c:458,1
    - Dst: multiply
      Src: /src/gnulib/lib/fma.c:461,1
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:471,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:515,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:560,1
    - Dst: MIN
      Src: /src/gnulib/lib/fma.c:573,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:630,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:654,1
    - Dst: abort
      Src: /src/gnulib/lib/fma.c:678,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:708,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:828,1
    - Dst: L_
      Src: /src/gnulib/lib/fma.c:846,1
    - Dst: LDEXP
      Src: /src/gnulib/lib/fma.c:898,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 251
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - DOUBLE
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 906
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 906
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/fma.c
    functionUses: 4
    functionsReached:
    - decode
    - abort
    - isfinite
    - L_
    - MIN
    - LDEXP
    - multiply
    - FREXP
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE FUNC (DOUBLE x, DOUBLE y, DOUBLE z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:32,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:38,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:50,1
    - Dst: free_subtree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:70,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - count
    - contents
    argTypes:
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: create_subtree_with_contents
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 1
    functionsReached:
    - free
    - free_subtree
    - create_subtree_with_contents
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t create_subtree_with_contents (size_t count, const void
      **contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:85,1
    - Dst: next_prime
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:100,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:101,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:101,1
    - Dst: calloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:104,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:111,1
    - Dst: add_nodes_to_buckets
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:119,1
    - Dst: free_subtree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:130,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 7
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 139
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 139
    functionName: gl_tree_nx_create
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - calloc
    - xtimes
    - free_subtree
    - free
    - next_prime
    - create_subtree_with_contents
    - add_nodes_to_buckets
    - malloc
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_tree_nx_create (gl_list_implementation_t implementation,\n
      \                  gl_listelement_equals_fn equals_fn,\n                   gl_listelement_hashcode_fn
      hashcode_fn,\n                   gl_listelement_dispose_fn dispose_fn,\n                   bool
      allow_duplicates,\n                   size_t count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 4
    argNames:
    - list
    - node
    - height_diff
    - parent
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - int
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 408
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 408
    functionName: rebalance
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: "void rebalance (gl_list_t list,\n           gl_list_node_t node, int
      height_diff, gl_list_node_t parent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:439,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:467,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:533,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 535
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 535
    functionName: gl_tree_remove_node_from_tree
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - rebalance
    linkageType: ''
    returnType: void
    signature: void gl_tree_remove_node_from_tree (gl_list_t list, gl_list_node_t
      node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:542,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:555,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:586,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:593,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:595,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:596,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 603
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 603
    functionName: gl_tree_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - rebalance
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_first (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:610,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:623,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:654,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:661,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:663,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:664,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 671
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 671
    functionName: gl_tree_nx_add_last
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - rebalance
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_last (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:681,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:693,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:724,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:730,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:732,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:733,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 740
    functionName: gl_tree_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - rebalance
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_before (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:750,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:762,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:793,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:799,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:801,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:802,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyavltree_list2.h:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 809
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 809
    functionName: gl_tree_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_anyavltree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - rebalance
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_after (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: add_to_bucket
    functionSourceFile: /src/gnulib/lib/gl_linkedhash_list.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_to_bucket (gl_list_t list, gl_list_node_t node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_linkedhash_list.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: remove_from_bucket
    functionSourceFile: /src/gnulib/lib/gl_linkedhash_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void remove_from_bucket (gl_list_t list, gl_list_node_t node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdutimens
      Src: /src/gnulib/lib/futimens.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - times
    argTypes:
    - int
    - struct timespec[]
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: futimens
    functionSourceFile: /src/gnulib/lib/futimens.c
    functionUses: 2
    functionsReached:
    - fdutimens
    linkageType: ''
    returnType: int
    signature: int futimens (int fd, struct timespec const times[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_append1
      Src: /src/gnulib/lib/xstring-buffer.c:29,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - struct string_buffer*
    - char
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: sb_xappend1
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - sb_append1
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: void sb_xappend1 (struct string_buffer *buffer, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_append_desc
      Src: /src/gnulib/lib/xstring-buffer.c:36,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - s
    argTypes:
    - struct string_buffer*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: sb_xappend_desc
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - sb_append_desc
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: void sb_xappend_desc (struct string_buffer *buffer, string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_append_c
      Src: /src/gnulib/lib/xstring-buffer.c:43,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - struct string_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: sb_xappend_c
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    - sb_append_c
    linkageType: ''
    returnType: void
    signature: void sb_xappend_c (struct string_buffer *buffer, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: sb_xcontents_c
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      sb_xcontents_c (struct string_buffer *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_free
      Src: /src/gnulib/lib/xstring-buffer.c:61,1
    - Dst: sd_readwrite
      Src: /src/gnulib/lib/xstring-buffer.c:62,1
    - Dst: sd_new_empty
      Src: /src/gnulib/lib/xstring-buffer.c:62,1
    - Dst: sb_dupfree
      Src: /src/gnulib/lib/xstring-buffer.c:64,1
    - Dst: sd_data
      Src: /src/gnulib/lib/xstring-buffer.c:65,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: sb_xdupfree
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - sb_dupfree
    - xalloc_die
    - sb_free
    - sd_data
    - sd_new_empty
    - sd_readwrite
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t sb_xdupfree (struct string_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_free
      Src: /src/gnulib/lib/xstring-buffer.c:75,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: sb_xdupfree_c
    functionSourceFile: /src/gnulib/lib/xstring-buffer.c
    functionUses: 0
    functionsReached:
    - sb_free
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      sb_xdupfree_c (struct string_buffer *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - candidate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: _GL_ATTRIBUTE_CONST
    functionSourceFile: /src/gnulib/lib/next-prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_CONST

      is_prime (size_t candidate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_prime
      Src: /src/gnulib/lib/next-prime.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - candidate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: _GL_ATTRIBUTE_CONST
    functionSourceFile: /src/gnulib/lib/next-prime.c
    functionUses: 0
    functionsReached:
    - is_prime
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_CONST

      next_prime (size_t candidate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdzprintf
      Src: /src/gnulib/lib/vdprintf.c:33,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/vdprintf.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - format
    - args
    argTypes:
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: vdprintf
    functionSourceFile: /src/gnulib/lib/vdprintf.c
    functionUses: 3
    functionsReached:
    - vdzprintf
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int vdprintf (int fd, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: statvfs_works
    functionSourceFile: /src/gnulib/lib/fsusage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int statvfs_works (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/gnulib/lib/fsusage.c:96,1
    - Dst: strverscmp
      Src: /src/gnulib/lib/fsusage.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: statvfs_works
    functionSourceFile: /src/gnulib/lib/fsusage.c
    functionUses: 0
    functionsReached:
    - uname
    - strverscmp
    linkageType: ''
    returnType: int
    signature: int statvfs_works (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statvfs_works
      Src: /src/gnulib/lib/fsusage.c:116,1
    - Dst: statvfs
      Src: /src/gnulib/lib/fsusage.c:120,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:125,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:126,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:128,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:129,1
    - Dst: PROPAGATE_TOP_BIT
      Src: /src/gnulib/lib/fsusage.c:130,1
    - Dst: EXTRACT_TOP_BIT
      Src: /src/gnulib/lib/fsusage.c:131,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:132,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:133,1
    - Dst: statvfs64
      Src: /src/gnulib/lib/fsusage.c:143,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:148,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:149,1
    - Dst: statfs
      Src: /src/gnulib/lib/fsusage.c:155,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:158,1
    - Dst: statfs
      Src: /src/gnulib/lib/fsusage.c:164,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:167,1
    - Dst: statfs
      Src: /src/gnulib/lib/fsusage.c:175,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:178,1
    - Dst: statfs
      Src: /src/gnulib/lib/fsusage.c:199,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:202,1
    - Dst: statfs
      Src: /src/gnulib/lib/fsusage.c:208,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:222,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:223,1
    - Dst: PROPAGATE_TOP_BIT
      Src: /src/gnulib/lib/fsusage.c:224,1
    - Dst: EXTRACT_TOP_BIT
      Src: /src/gnulib/lib/fsusage.c:225,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:226,1
    - Dst: PROPAGATE_ALL_ONES
      Src: /src/gnulib/lib/fsusage.c:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - file
    - disk
    - fsp
    argTypes:
    - char*
    - char*
    - struct fs_usage*
    constantsTouched: []
    func_position:
      end: 233
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 233
    functionName: get_fs_usage
    functionSourceFile: /src/gnulib/lib/fsusage.c
    functionUses: 0
    functionsReached:
    - statvfs64
    - statvfs_works
    - EXTRACT_TOP_BIT
    - PROPAGATE_ALL_ONES
    - statfs
    - statvfs
    - PROPAGATE_TOP_BIT
    linkageType: ''
    returnType: int
    signature: int get_fs_usage (char const *file, char const *disk, struct fs_usage
      *fsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tss_create
      Src: /src/gnulib/lib/thrd.c:48,1
    - Dst: abort
      Src: /src/gnulib/lib/thrd.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: do_init_thrd_with_exitcode_key
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - tss_create
    - abort
    linkageType: ''
    returnType: void
    signature: void do_init_thrd_with_exitcode_key (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/gnulib/lib/thrd.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: init_thrd_with_exitcode_key
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - call_once
    linkageType: ''
    returnType: void
    signature: void init_thrd_with_exitcode_key (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tss_set
      Src: /src/gnulib/lib/thrd.c:81,1
    - Dst: abort
      Src: /src/gnulib/lib/thrd.c:82,1
    - Dst: free
      Src: /src/gnulib/lib/thrd.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pmarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: thrd_main_func
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - tss_set
    linkageType: ''
    returnType: void
    signature: 'void *

      thrd_main_func (void *pmarg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread1
    - thread2
    argTypes:
    - rpl_thrd_t
    - rpl_thrd_t
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: rpl_thrd_equal
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rpl_thrd_equal (rpl_thrd_t thread1, rpl_thrd_t thread2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpl_thrd_current
      Src: /src/gnulib/lib/thrd.c:211,1
    - Dst: free
      Src: /src/gnulib/lib/thrd.c:218,1
    - Dst: pthread_exit
      Src: /src/gnulib/lib/thrd.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: rpl_thrd_exit
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_exit
    - rpl_thrd_current
    linkageType: ''
    returnType: void
    signature: void rpl_thrd_exit (int exitcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/thrd.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pmarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 291
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 291
    functionName: pthread_main_func
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_main_func (void *pmarg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/thrd.c:304,1
    - Dst: free
      Src: /src/gnulib/lib/thrd.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - threadp
    - mainfunc
    - arg
    argTypes:
    - thrd_t*
    - thrd_start_t
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 319
    functionName: thrd_create
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 12
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int thrd_create (thrd_t *threadp, thrd_start_t mainfunc, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_self
      Src: /src/gnulib/lib/thrd.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: thrd_current
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 4
    functionsReached:
    - glwthread_thread_self
    linkageType: ''
    returnType: thrd_t
    signature: thrd_t thrd_current (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread1
    - thread2
    argTypes:
    - thrd_t
    - thrd_t
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: thrd_equal
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_equal (thrd_t thread1, thrd_t thread2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/gnulib/lib/thrd.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: thrd_yield
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: void thrd_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thrd_t
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: thrd_detach
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_detach (thrd_t thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - thread
    - exitcodep
    argTypes:
    - thrd_t
    - int*
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: thrd_join
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_join (thrd_t thread, int *exitcodep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_exit
      Src: /src/gnulib/lib/thrd.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: thrd_exit
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 1
    functionsReached:
    - glwthread_thread_exit
    linkageType: ''
    returnType: void
    signature: void thrd_exit (int exitcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/thrd.c:378,1
    - Dst: free
      Src: /src/gnulib/lib/thrd.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - threadp
    - mainfunc
    - arg
    argTypes:
    - thrd_t*
    - thrd_start_t
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: thrd_create
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 12
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int thrd_create (thrd_t *threadp, thrd_start_t mainfunc, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/gnulib/lib/thrd.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: thrd_current
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 4
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: thrd_t
    signature: thrd_t thrd_current (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/gnulib/lib/thrd.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread1
    - thread2
    argTypes:
    - thrd_t
    - thrd_t
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: thrd_equal
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    linkageType: ''
    returnType: int
    signature: int thrd_equal (thrd_t thread1, thrd_t thread2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/gnulib/lib/thrd.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: thrd_yield
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached:
    - sched_yield
    linkageType: ''
    returnType: void
    signature: void thrd_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thrd_t
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: thrd_detach
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_detach (thrd_t thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - thread
    - exitcodep
    argTypes:
    - thrd_t
    - int*
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: thrd_join
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_join (thrd_t thread, int *exitcodep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/gnulib/lib/thrd.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: thrd_exit
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 1
    functionsReached:
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: void thrd_exit (int exitcode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - duration
    - remaining
    argTypes:
    - struct timespec*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: thrd_sleep
    functionSourceFile: /src/gnulib/lib/thrd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrd_sleep (const struct timespec *duration, struct timespec *remaining)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/lib/get_ppid_of.c:357,1
    - Dst: getpid
      Src: /src/gnulib/lib/get_ppid_of.c:357,1
    - Dst: get_ppid_of
      Src: /src/gnulib/lib/get_ppid_of.c:358,1
    - Dst: printf
      Src: /src/gnulib/lib/get_ppid_of.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/gnulib/lib/get_ppid_of.c
    functionUses: 12
    functionsReached:
    - printf
    - atoi
    - get_ppid_of
    - getpid
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: minus_NaNf
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED minus_NaNf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:58,1
    - Dst: minus_NaNf
      Src: /src/gnulib/lib/signed-nan.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: positive_NaNf
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 1
    functionsReached:
    - minus_NaNf
    - signbit
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED positive_NaNf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:68,1
    - Dst: minus_NaNf
      Src: /src/gnulib/lib/signed-nan.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: negative_NaNf
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 1
    functionsReached:
    - minus_NaNf
    - signbit
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED negative_NaNf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: minus_NaNd
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED minus_NaNd (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:96,1
    - Dst: minus_NaNd
      Src: /src/gnulib/lib/signed-nan.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: positive_NaNd
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 2
    functionsReached:
    - signbit
    - minus_NaNd
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED positive_NaNd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:106,1
    - Dst: minus_NaNd
      Src: /src/gnulib/lib/signed-nan.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: negative_NaNd
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 2
    functionsReached:
    - signbit
    - minus_NaNd
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED negative_NaNd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: minus_NaNl
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED minus_NaNl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:125,1
    - Dst: minus_NaNl
      Src: /src/gnulib/lib/signed-nan.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: positive_NaNl
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 2
    functionsReached:
    - signbit
    - minus_NaNl
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED positive_NaNl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/signed-nan.h:135,1
    - Dst: minus_NaNl
      Src: /src/gnulib/lib/signed-nan.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: negative_NaNl
    functionSourceFile: /src/gnulib/lib/signed-nan.h
    functionUses: 2
    functionsReached:
    - signbit
    - minus_NaNl
    linkageType: ''
    returnType: _GL_UNUSED
    signature: _GL_UNUSED negative_NaNl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - start
    - end
    - flags
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: callback
    functionSourceFile: /src/gnulib/lib/vma-prot.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (void *data, uintptr_t start, uintptr_t end, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/vma-prot.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: get_vma_prot
    functionSourceFile: /src/gnulib/lib/vma-prot.c
    functionUses: 1
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: int
    signature: int get_vma_prot (void *start, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/gnulib/lib/getumask.c:55,1
    - Dst: umask
      Src: /src/gnulib/lib/getumask.c:56,1
    - Dst: memcmp
      Src: /src/gnulib/lib/getumask.c:83,1
    - Dst: close
      Src: /src/gnulib/lib/getumask.c:101,1
    - Dst: getenv
      Src: /src/gnulib/lib/getumask.c:114,1
    - Dst: getenv
      Src: /src/gnulib/lib/getumask.c:116,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getumask.c:125,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getumask.c:126,1
    - Dst: fstat
      Src: /src/gnulib/lib/getumask.c:132,1
    - Dst: close_temp
      Src: /src/gnulib/lib/getumask.c:134,1
    - Dst: cleanup_temporary_file
      Src: /src/gnulib/lib/getumask.c:135,1
    - Dst: free
      Src: /src/gnulib/lib/getumask.c:137,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 150
    functionName: getumask
    functionSourceFile: /src/gnulib/lib/getumask.c
    functionUses: 1
    functionsReached:
    - strcpy
    - free
    - close
    - close_temp
    - memcmp
    - umask
    - memcpy
    - getenv
    - fstat
    - cleanup_temporary_file
    linkageType: ''
    returnType: mode_t
    signature: mode_t getumask (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/gnulib/lib/striconv.c:51,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconv.c:116,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconv.c:125,1
    - Dst: abort
      Src: /src/gnulib/lib/striconv.c:167,1
    - Dst: free
      Src: /src/gnulib/lib/striconv.c:178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 5
    argNames:
    - src
    - srclen
    - cd
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - iconv_t
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 182
    functionName: mem_cd_iconv
    functionSourceFile: /src/gnulib/lib/striconv.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - malloc
    - iconv
    linkageType: ''
    returnType: int
    signature: "int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,\n              char
      **resultp, size_t *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/striconv.c:210,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconv.c:216,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconv.c:216,1
    - Dst: free
      Src: /src/gnulib/lib/striconv.c:219,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconv.c:249,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconv.c:257,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconv.c:287,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconv.c:322,1
    - Dst: free
      Src: /src/gnulib/lib/striconv.c:358,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 2
    argNames:
    - src
    - cd
    argTypes:
    - char*
    - iconv_t
    constantsTouched: []
    func_position:
      end: 362
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 362
    functionName: str_cd_iconv
    functionSourceFile: /src/gnulib/lib/striconv.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - iconv
    - malloc
    - realloc
    linkageType: ''
    returnType: char
    signature: 'char *

      str_cd_iconv (const char *src, iconv_t cd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnulib/lib/striconv.c:369,1
    - Dst: iconv_open
      Src: /src/gnulib/lib/striconv.c:383,1
    - Dst: str_cd_iconv
      Src: /src/gnulib/lib/striconv.c:387,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconv.c:393,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconv.c:398,1
    - Dst: free
      Src: /src/gnulib/lib/striconv.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - src
    - from_codeset
    - to_codeset
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 415
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 415
    functionName: str_iconv
    functionSourceFile: /src/gnulib/lib/striconv.c
    functionUses: 1
    functionsReached:
    - free
    - c_strcasecmp
    - iconv_close
    - iconv_open
    - str_cd_iconv
    linkageType: ''
    returnType: char
    signature: 'char *

      str_iconv (const char *src, const char *from_codeset, const char *to_codeset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/mbstoc32s.c:35,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/lib/mbstoc32s.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - char32_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: mbstoc32s
    functionSourceFile: /src/gnulib/lib/mbstoc32s.c
    functionUses: 4
    functionsReached:
    - mbszero
    - mbsrtoc32s
    linkageType: ''
    returnType: size_t
    signature: size_t mbstoc32s (char32_t *dest, const char *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnulib/lib/hasmntopt.c:31,1
    - Dst: strchr
      Src: /src/gnulib/lib/hasmntopt.c:37,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - mnt
    - opt
    argTypes:
    - struct mntent*
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: hasmntopt
    functionSourceFile: /src/gnulib/lib/hasmntopt.c
    functionUses: 1
    functionsReached:
    - strchr
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      hasmntopt (const struct mntent *mnt, const char *opt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _write
      Src: /src/gnulib/lib/write.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: write_nothrow
    functionSourceFile: /src/gnulib/lib/write.c
    functionUses: 0
    functionsReached:
    - _write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_nothrow (int fd, const void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/write.c:87,1
    - Dst: GetFileType
      Src: /src/gnulib/lib/write.c:88,1
    - Dst: GetNamedPipeHandleState
      Src: /src/gnulib/lib/write.c:92,1
    - Dst: GetNamedPipeInfo
      Src: /src/gnulib/lib/write.c:112,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/write.c:138,1
    - Dst: GetFileType
      Src: /src/gnulib/lib/write.c:139,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/write.c:139,1
    - Dst: raise
      Src: /src/gnulib/lib/write.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 153
    functionName: rpl_write
    functionSourceFile: /src/gnulib/lib/write.c
    functionUses: 0
    functionsReached:
    - GetNamedPipeInfo
    - GetLastError
    - raise
    - GetFileType
    - _get_osfhandle
    - GetNamedPipeHandleState
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_write (int fd, const void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_getres
      Src: /src/gnulib/lib/timespec_getres.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - base
    argTypes:
    - struct timespec*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: timespec_getres
    functionSourceFile: /src/gnulib/lib/timespec_getres.c
    functionUses: 1
    functionsReached:
    - clock_getres
    linkageType: ''
    returnType: int
    signature: int timespec_getres (struct timespec *ts, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: glwthread_waitqueue_init
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_init (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/windows-rwlock.c:56,1
    - Dst: CreateEvent
      Src: /src/gnulib/lib/windows-rwlock.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 93
    functionName: glwthread_waitqueue_add
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - CreateEvent
    - realloc
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE glwthread_waitqueue_add (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-rwlock.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: glwthread_waitqueue_notify_first
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_notify_first (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-rwlock.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: glwthread_waitqueue_notify_all
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_notify_all (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:126,1
    - Dst: glwthread_waitqueue_init
      Src: /src/gnulib/lib/windows-rwlock.c:127,1
    - Dst: glwthread_waitqueue_init
      Src: /src/gnulib/lib/windows-rwlock.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: glwthread_rwlock_init
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - glwthread_waitqueue_init
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void glwthread_rwlock_init (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-rwlock.c:138,1
    - Dst: glwthread_rwlock_init
      Src: /src/gnulib/lib/windows-rwlock.c:140,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-rwlock.c:144,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:148,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:151,1
    - Dst: glwthread_waitqueue_add
      Src: /src/gnulib/lib/windows-rwlock.c:160,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:164,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-rwlock.c:166,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-rwlock.c:168,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-rwlock.c:169,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-rwlock.c:173,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:181,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:182,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:183,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 191
    functionName: glwthread_rwlock_rdlock
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - abort
    - EnterCriticalSection
    - InterlockedDecrement
    - LeaveCriticalSection
    - CloseHandle
    - glwthread_rwlock_init
    - WaitForSingleObject
    - Sleep
    - glwthread_waitqueue_add
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_rdlock (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-rwlock.c:198,1
    - Dst: glwthread_rwlock_init
      Src: /src/gnulib/lib/windows-rwlock.c:200,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-rwlock.c:204,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:208,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:211,1
    - Dst: glwthread_waitqueue_add
      Src: /src/gnulib/lib/windows-rwlock.c:217,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:221,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-rwlock.c:223,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-rwlock.c:225,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-rwlock.c:226,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-rwlock.c:230,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:238,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:239,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:240,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 248
    functionName: glwthread_rwlock_wrlock
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - abort
    - EnterCriticalSection
    - InterlockedDecrement
    - LeaveCriticalSection
    - CloseHandle
    - glwthread_rwlock_init
    - WaitForSingleObject
    - Sleep
    - glwthread_waitqueue_add
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_wrlock (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-rwlock.c:255,1
    - Dst: glwthread_rwlock_init
      Src: /src/gnulib/lib/windows-rwlock.c:257,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-rwlock.c:261,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:265,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:270,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:278,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 284
    functionName: glwthread_rwlock_tryrdlock
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - InterlockedDecrement
    - LeaveCriticalSection
    - glwthread_rwlock_init
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_tryrdlock (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-rwlock.c:291,1
    - Dst: glwthread_rwlock_init
      Src: /src/gnulib/lib/windows-rwlock.c:293,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-rwlock.c:297,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-rwlock.c:301,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:306,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:311,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: glwthread_rwlock_trywrlock
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - InterlockedDecrement
    - LeaveCriticalSection
    - glwthread_rwlock_init
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_trywrlock (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:324,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-rwlock.c:329,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:337,1
    - Dst: glwthread_waitqueue_notify_first
      Src: /src/gnulib/lib/windows-rwlock.c:350,1
    - Dst: glwthread_waitqueue_notify_all
      Src: /src/gnulib/lib/windows-rwlock.c:356,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 361
    functionName: glwthread_rwlock_unlock
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - abort
    - EnterCriticalSection
    - glwthread_waitqueue_notify_first
    - LeaveCriticalSection
    - glwthread_waitqueue_notify_all
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_unlock (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/gnulib/lib/windows-rwlock.c:370,1
    - Dst: free
      Src: /src/gnulib/lib/windows-rwlock.c:372,1
    - Dst: free
      Src: /src/gnulib/lib/windows-rwlock.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lock
    argTypes:
    - glwthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: glwthread_rwlock_destroy
    functionSourceFile: /src/gnulib/lib/windows-rwlock.c
    functionUses: 0
    functionsReached:
    - free
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_rwlock_destroy (glwthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_create_state
      Src: /src/gnulib/lib/stack-trace-impl.h:30,1
    - Dst: fprintf
      Src: /src/gnulib/lib/stack-trace-impl.h:31,1
    - Dst: backtrace_print
      Src: /src/gnulib/lib/stack-trace-impl.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: print_stack_trace_to
    functionSourceFile: /src/gnulib/lib/stack-trace-impl.h
    functionUses: 0
    functionsReached:
    - backtrace_create_state
    - fprintf
    - backtrace_print
    linkageType: ''
    returnType: void
    signature: void print_stack_trace_to (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/stack-trace-impl.h:54,1
    - Dst: __sanitizer_print_stack_trace
      Src: /src/gnulib/lib/stack-trace-impl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: print_stack_trace_to
    functionSourceFile: /src/gnulib/lib/stack-trace-impl.h
    functionUses: 0
    functionsReached:
    - fprintf
    - __sanitizer_print_stack_trace
    linkageType: ''
    returnType: void
    signature: void print_stack_trace_to (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/stack-trace-impl.h:80,1
    - Dst: fprintf
      Src: /src/gnulib/lib/stack-trace-impl.h:82,1
    - Dst: fflush
      Src: /src/gnulib/lib/stack-trace-impl.h:83,1
    - Dst: free
      Src: /src/gnulib/lib/stack-trace-impl.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: print_stack_trace_to
    functionSourceFile: /src/gnulib/lib/stack-trace-impl.h
    functionUses: 0
    functionsReached:
    - free
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_stack_trace_to (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/gnulib/lib/reallocarray.c:30,1
    - Dst: realloc
      Src: /src/gnulib/lib/reallocarray.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - nmemb
    - size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: reallocarray
    functionSourceFile: /src/gnulib/lib/reallocarray.c
    functionUses: 29
    functionsReached:
    - ckd_mul
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      reallocarray (void *ptr, size_t nmemb, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openat
      Src: /src/gnulib/lib/openat.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - filename
    - flags
    - mode
    argTypes:
    - int
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: orig_openat
    functionSourceFile: /src/gnulib/lib/openat.c
    functionUses: 0
    functionsReached:
    - openat
    linkageType: ''
    returnType: int
    signature: int orig_openat (int fd, char const *filename, int flags, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/openat.c:74,1
    - Dst: va_arg
      Src: /src/gnulib/lib/openat.c:78,1
    - Dst: va_end
      Src: /src/gnulib/lib/openat.c:80,1
    - Dst: fstatat
      Src: /src/gnulib/lib/openat.c:130,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/openat.c:135,1
    - Dst: orig_openat
      Src: /src/gnulib/lib/openat.c:160,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/lib/openat.c:165,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/openat.c:182,1
    - Dst: close
      Src: /src/gnulib/lib/openat.c:185,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 3
    argNames:
    - dfd
    - filename
    - flags
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 192
    functionName: rpl_openat
    functionSourceFile: /src/gnulib/lib/openat.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - close
    - va_arg
    - orig_openat
    - S_ISDIR
    - set_cloexec_flag
    - fstatat
    linkageType: ''
    returnType: int
    signature: int rpl_openat (int dfd, char const *filename, int flags, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/openat.c:216,1
    - Dst: va_arg
      Src: /src/gnulib/lib/openat.c:220,1
    - Dst: va_end
      Src: /src/gnulib/lib/openat.c:222,1
    - Dst: openat_permissive
      Src: /src/gnulib/lib/openat.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - file
    - flags
    argTypes:
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: openat
    functionSourceFile: /src/gnulib/lib/openat.c
    functionUses: 8
    functionsReached:
    - va_start
    - va_end
    - va_arg
    - openat_permissive
    linkageType: ''
    returnType: int
    signature: int openat (int fd, char const *file, int flags, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/openat.c:243,1
    - Dst: open
      Src: /src/gnulib/lib/openat.c:244,1
    - Dst: free
      Src: /src/gnulib/lib/openat.c:254,1
    - Dst: EXPECTED_ERRNO
      Src: /src/gnulib/lib/openat.c:258,1
    - Dst: save_cwd
      Src: /src/gnulib/lib/openat.c:275,1
    - Dst: close
      Src: /src/gnulib/lib/openat.c:276,1
    - Dst: free_cwd
      Src: /src/gnulib/lib/openat.c:284,1
    - Dst: openat_save_fail
      Src: /src/gnulib/lib/openat.c:292,1
    - Dst: open
      Src: /src/gnulib/lib/openat.c:301,1
    - Dst: restore_cwd
      Src: /src/gnulib/lib/openat.c:303,1
    - Dst: close
      Src: /src/gnulib/lib/openat.c:311,1
    - Dst: openat_restore_fail
      Src: /src/gnulib/lib/openat.c:312,1
    - Dst: free_cwd
      Src: /src/gnulib/lib/openat.c:318,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 5
    argNames:
    - fd
    - file
    - flags
    - mode
    - cwd_errno
    argTypes:
    - int
    - char*
    - int
    - mode_t
    - int*
    constantsTouched: []
    func_position:
      end: 321
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 321
    functionName: openat_permissive
    functionSourceFile: /src/gnulib/lib/openat.c
    functionUses: 1
    functionsReached:
    - openat_restore_fail
    - save_cwd
    - EXPECTED_ERRNO
    - restore_cwd
    - free
    - open
    - close
    - free_cwd
    - openat_save_fail
    - IS_ABSOLUTE_FILE_NAME
    linkageType: ''
    returnType: int
    signature: "int openat_permissive (int fd, char const *file, int flags, mode_t
      mode,\n                   int *cwd_errno)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/openat.c:339,1
    - Dst: close
      Src: /src/gnulib/lib/openat.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: openat_needs_fchdir
    functionSourceFile: /src/gnulib/lib/openat.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: bool
    signature: bool openat_needs_fchdir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - str
    - size
    - format
    - args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: c_vsnprintf
    functionSourceFile: /src/gnulib/lib/c-vsnprintf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int c_vsnprintf (char *str, size_t size, const char *format, va_list
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pattern
    - quote
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: __glob_pattern_type
    functionSourceFile: /src/gnulib/lib/glob_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __glob_pattern_type (const char *pattern, int quote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/lib/get_progname_of.c:541,1
    - Dst: getpid
      Src: /src/gnulib/lib/get_progname_of.c:541,1
    - Dst: printf
      Src: /src/gnulib/lib/get_progname_of.c:543,1
    - Dst: free
      Src: /src/gnulib/lib/get_progname_of.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: main
    functionSourceFile: /src/gnulib/lib/get_progname_of.c
    functionUses: 12
    functionsReached:
    - printf
    - free
    - atoi
    - getpid
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_tolower
      Src: /src/gnulib/lib/c-strcasestr.c:53,1
    - Dst: c_tolower
      Src: /src/gnulib/lib/c-strcasestr.c:54,1
    - Dst: two_way_short_needle
      Src: /src/gnulib/lib/c-strcasestr.c:67,1
    - Dst: two_way_long_needle
      Src: /src/gnulib/lib/c-strcasestr.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - haystack_start
    - needle_start
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: c_strcasestr
    functionSourceFile: /src/gnulib/lib/c-strcasestr.c
    functionUses: 2
    functionsReached:
    - c_tolower
    - two_way_short_needle
    - two_way_long_needle
    linkageType: ''
    returnType: char
    signature: 'char *

      c_strcasestr (const char *haystack_start, const char *needle_start)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isspace
      Src: /src/gnulib/lib/omp-init.c:41,1
    - Dst: c_isdigit
      Src: /src/gnulib/lib/omp-init.c:45,1
    - Dst: c_isspace
      Src: /src/gnulib/lib/omp-init.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - threads
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: parse_omp_threads
    functionSourceFile: /src/gnulib/lib/omp-init.c
    functionUses: 0
    functionsReached:
    - c_isspace
    - c_isdigit
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int parse_omp_threads (char const* threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnulib/lib/omp-init.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: openmp_init
    functionSourceFile: /src/gnulib/lib/omp-init.c
    functionUses: 0
    functionsReached:
    - setenv
    linkageType: ''
    returnType: void
    signature: void openmp_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_tolower
      Src: /src/gnulib/lib/c-strcasecmp.c:38,1
    - Dst: c_tolower
      Src: /src/gnulib/lib/c-strcasecmp.c:39,1
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/c-strcasecmp.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: c_strcasecmp
    functionSourceFile: /src/gnulib/lib/c-strcasecmp.c
    functionUses: 23
    functionsReached:
    - _GL_CMP
    - c_tolower
    linkageType: ''
    returnType: int
    signature: int c_strcasecmp (const char *s1, const char *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/filenamecat.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dir
    - base
    - base_in_result
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: file_name_concat
    functionSourceFile: /src/gnulib/lib/filenamecat.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      file_name_concat (char const *dir, char const *base, char **base_in_result)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freopen
      Src: /src/gnulib/lib/xfreopen.c:31,1
    - Dst: error
      Src: /src/gnulib/lib/xfreopen.c:38,1
    - Dst: _
      Src: /src/gnulib/lib/xfreopen.c:38,1
    - Dst: quote_n
      Src: /src/gnulib/lib/xfreopen.c:39,1
    - Dst: quote_n
      Src: /src/gnulib/lib/xfreopen.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - mode
    - fp
    argTypes:
    - char*
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: xfreopen
    functionSourceFile: /src/gnulib/lib/xfreopen.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - freopen
    - quote_n
    linkageType: ''
    returnType: void
    signature: void xfreopen (char const *filename, char const *mode, FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/streq.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: streq9
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int streq9 (const char *s1, const char *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq9
      Src: /src/gnulib/lib/streq.h:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - s28
    argTypes:
    - char*
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: streq8
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq9
    linkageType: ''
    returnType: int
    signature: int streq8 (const char *s1, const char *s2, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq8
      Src: /src/gnulib/lib/streq.h:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - s1
    - s2
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: streq7
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq8
    linkageType: ''
    returnType: int
    signature: int streq7 (const char *s1, const char *s2, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq7
      Src: /src/gnulib/lib/streq.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - s1
    - s2
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: streq6
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq7
    linkageType: ''
    returnType: int
    signature: int streq6 (const char *s1, const char *s2, char s26, char s27, char
      s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq6
      Src: /src/gnulib/lib/streq.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - s1
    - s2
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: streq5
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq6
    linkageType: ''
    returnType: int
    signature: int streq5 (const char *s1, const char *s2, char s25, char s26, char
      s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq5
      Src: /src/gnulib/lib/streq.h:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - s1
    - s2
    - s24
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: streq4
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq5
    linkageType: ''
    returnType: int
    signature: int streq4 (const char *s1, const char *s2, char s24, char s25, char
      s26, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq4
      Src: /src/gnulib/lib/streq.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 8
    argNames:
    - s1
    - s2
    - s23
    - s24
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: streq3
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq4
    linkageType: ''
    returnType: int
    signature: int streq3 (const char *s1, const char *s2, char s23, char s24, char
      s25, char s26, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq3
      Src: /src/gnulib/lib/streq.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - s1
    - s2
    - s22
    - s23
    - s24
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: streq2
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq3
    linkageType: ''
    returnType: int
    signature: int streq2 (const char *s1, const char *s2, char s22, char s23, char
      s24, char s25, char s26, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq2
      Src: /src/gnulib/lib/streq.h:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 10
    argNames:
    - s1
    - s2
    - s21
    - s22
    - s23
    - s24
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 8
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: streq1
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq2
    linkageType: ''
    returnType: int
    signature: int streq1 (const char *s1, const char *s2, char s21, char s22, char
      s23, char s24, char s25, char s26, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: streq1
      Src: /src/gnulib/lib/streq.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 11
    argNames:
    - s1
    - s2
    - s20
    - s21
    - s22
    - s23
    - s24
    - s25
    - s26
    - s27
    - s28
    argTypes:
    - char*
    - char*
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    - char
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 9
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: streq0
    functionSourceFile: /src/gnulib/lib/streq.h
    functionUses: 0
    functionsReached:
    - streq1
    linkageType: ''
    returnType: int
    signature: int streq0 (const char *s1, const char *s2, char s20, char s21, char
      s22, char s23, char s24, char s25, char s26, char s27, char s28)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/stdlib.in.h:1508,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - rpl_realloc (void *ptr, size_t size)
    argTypes:
    - portability*
    constantsTouched: []
    func_position:
      end: 1509
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1509
    functionName: _GL_FUNCDECL_RPL
    functionSourceFile: /src/gnulib/lib/stdlib.in.h
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: "void _GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t
      size,\n                                  _gl_qsort_r_compar_fn compare,\n                                  void
      *arg),\n                                 _GL_ATTRIBUTE_NONNULL_IF_NONZERO (1,
      2)\n                                 _GL_ARG_NONNULL ((4)));\n_GL_CXXALIAS_RPL
      (qsort_r, void, (void *base, size_t nmemb, size_t size,\n                                  _gl_qsort_r_compar_fn
      compare,\n                                  void *arg));\n# else\n#  if !@HAVE_QSORT_R@\n_GL_FUNCDECL_SYS
      (qsort_r, void, (void *base, size_t nmemb, size_t size,\n                                  _gl_qsort_r_compar_fn
      compare,\n                                  void *arg),\n                                 _GL_ATTRIBUTE_NONNULL_IF_NONZERO
      (1, 2)\n                                 _GL_ARG_NONNULL ((4)));\n#  endif\n_GL_CXXALIAS_SYS
      (qsort_r, void, (void *base, size_t nmemb, size_t size,\n                                  _gl_qsort_r_compar_fn
      compare,\n                                  void *arg));\n# endif\n# if __GLIBC__
      >= 2\n_GL_CXXALIASWARN (qsort_r);\n# endif\n#elif defined GNULIB_POSIXCHECK\n#
      undef qsort_r\n# if HAVE_RAW_DECL_QSORT_R\n_GL_WARN_ON_USE (qsort_r, \"qsort_r
      is not portable - \"\n                 \"use gnulib module qsort_r for portability\");\n#
      endif\n#endif\n\n\n#if @GNULIB_RAND@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@)\n#
      ifndef RAND_MAX\n#  define RAND_MAX 2147483647\n# endif\n#endif\n\n\n#if @GNULIB_RAND@\n#
      if @REPLACE_RAND@\n#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)\n#
      \  undef rand\n#   define rand rpl_rand\n#  endif\n_GL_FUNCDECL_RPL (rand, int,
      (void), );\n_GL_CXXALIAS_RPL (rand, int, (void));\n# else\n_GL_CXXALIAS_SYS
      (rand, int, (void));\n# endif\n# if __GLIBC__ >= 2\n_GL_CXXALIASWARN (rand);\n#
      endif\n#endif\n\n\n#if @GNULIB_RANDOM@\n# if @REPLACE_RANDOM@\n#  if !(defined
      __cplusplus && defined GNULIB_NAMESPACE)\n#   undef random\n#   define random
      rpl_random\n#  endif\n_GL_FUNCDECL_RPL (random, long, (void), );\n_GL_CXXALIAS_RPL
      (random, long, (void));\n# else\n#  if !@HAVE_RANDOM@\n_GL_FUNCDECL_SYS (random,
      long, (void), );\n#  endif\n/* Need to cast, because on Haiku, the return type
      is\n                               int.  */\n_GL_CXXALIAS_SYS_CAST (random,
      long, (void));\n# endif\n# if __GLIBC__ >= 2\n_GL_CXXALIASWARN (random);\n#
      endif\n#elif defined GNULIB_POSIXCHECK\n# undef random\n# if HAVE_RAW_DECL_RANDOM\n_GL_WARN_ON_USE
      (random, \"random is unportable - \"\n                 \"use gnulib module random
      for portability\");\n# endif\n#endif\n\n#if @GNULIB_RANDOM@\n# if @REPLACE_RANDOM@\n#
      \ if !(defined __cplusplus && defined GNULIB_NAMESPACE)\n#   undef srandom\n#
      \  define srandom rpl_srandom\n#  endif\n_GL_FUNCDECL_RPL (srandom, void, (unsigned
      int seed), );\n_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));\n# else\n#
      \ if !@HAVE_RANDOM@\n_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed), );\n#
      \ endif\n/* Need to cast, because on FreeBSD, the first parameter is\n                                       unsigned
      long seed.  */\n_GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed));\n#
      endif\n# if __GLIBC__ >= 2\n_GL_CXXALIASWARN (srandom);\n# endif\n#elif defined
      GNULIB_POSIXCHECK\n# undef srandom\n# if HAVE_RAW_DECL_SRANDOM\n_GL_WARN_ON_USE
      (srandom, \"srandom is unportable - \"\n                 \"use gnulib module
      random for portability\");\n# endif\n#endif\n\n#if @GNULIB_RANDOM@\n# if @REPLACE_INITSTATE@\n#
      \ if !(defined __cplusplus && defined GNULIB_NAMESPACE)\n#   undef initstate\n#
      \  define initstate rpl_initstate\n#  endif\n_GL_FUNCDECL_RPL (initstate, char
      *,\n                  (unsigned int seed, char *buf, size_t buf_size),\n                  _GL_ARG_NONNULL
      ((2)));\n_GL_CXXALIAS_RPL (initstate, char *,\n                  (unsigned int
      seed, char *buf, size_t buf_size));\n# else\n#  if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@\n_GL_FUNCDECL_SYS
      (initstate, char *,\n                  (unsigned int seed, char *buf, size_t
      buf_size),\n                  _GL_ARG_NONNULL ((2)));\n#  endif\n/* Need to
      cast, because on FreeBSD, the first parameter is\n                        unsigned
      long seed.  */\n_GL_CXXALIAS_SYS_CAST (initstate, char *,\n                       (unsigned
      int seed, char *buf, size_t buf_size));\n# endif\n# if __GLIBC__ >= 2\n_GL_CXXALIASWARN
      (initstate);\n# endif\n#elif defined GNULIB_POSIXCHECK\n# undef initstate\n#
      if HAVE_RAW_DECL_INITSTATE\n_GL_WARN_ON_USE (initstate, \"initstate is unportable
      - \"\n                 \"use gnulib module random for portability\");\n# endif\n#endif\n\n#if
      @GNULIB_RANDOM@\n# if @REPLACE_SETSTATE@\n#  if !(defined __cplusplus && defined
      GNULIB_NAMESPACE)\n#   undef setstate\n#   define setstate rpl_setstate\n#  endif\n_GL_FUNCDECL_RPL
      (setstate, char *, (char *arg_state), _GL_ARG_NONNULL ((1)));\n_GL_CXXALIAS_RPL
      (setstate, char *, (char *arg_state));\n# else\n#  if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@\n_GL_FUNCDECL_SYS
      (setstate, char *, (char *arg_state), _GL_ARG_NONNULL ((1)));\n#  endif\n/*
      Need to cast, because on Mac OS X 10.13, HP-UX, Solaris the first parameter\n
      \  is                                     const char *arg_state.  */\n_GL_CXXALIAS_SYS_CAST
      (setstate, char *, (char *arg_state));\n# endif\n# if __GLIBC__ >= 2\n_GL_CXXALIASWARN
      (setstate);\n# endif\n#elif defined GNULIB_POSIXCHECK\n# undef setstate\n# if
      HAVE_RAW_DECL_SETSTATE\n_GL_WARN_ON_USE (setstate, \"setstate is unportable
      - \"\n                 \"use gnulib module random for portability\");\n# endif\n#endif\n\n\n#if
      @GNULIB_RANDOM_R@\n# if @REPLACE_RANDOM_R@\n#  if !(defined __cplusplus && defined
      GNULIB_NAMESPACE)\n#   undef random_r\n#   define random_r rpl_random_r\n#  endif\n_GL_FUNCDECL_RPL
      (random_r, int, (struct random_data *buf, int32_t *result),\n                                 _GL_ARG_NONNULL
      ((1, 2)));\n_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t
      *result));\n# else\n#  if !@HAVE_RANDOM_R@\n_GL_FUNCDECL_SYS (random_r, int,
      (struct random_data *buf, int32_t *result),\n                                 _GL_ARG_NONNULL
      ((1, 2)));\n#  endif\n_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf,
      int32_t *result));\n# endif\n_GL_CXXALIASWARN (random_r);\n#elif defined GNULIB_POSIXCHECK\n#
      undef random_r\n# if HAVE_RAW_DECL_RANDOM_R\n_GL_WARN_ON_USE (random_r, \"random_r
      is unportable - \"\n                 \"use gnulib module random_r for portability\");\n#
      endif\n#endif\n\n#if @GNULIB_RANDOM_R@\n# if @REPLACE_RANDOM_R@\n#  if !(defined
      __cplusplus && defined GNULIB_NAMESPACE)\n#   undef srandom_r\n#   define srandom_r
      rpl_srandom_r\n#  endif\n_GL_FUNCDECL_RPL (srandom_r, int,\n                  (unsigned
      int seed, struct random_data *rand_state),\n                  _GL_ARG_NONNULL
      ((2)));\n_GL_CXXALIAS_RPL (srandom_r, int,\n                  (unsigned int
      seed, struct random_data *rand_state));\n# else\n#  if !@HAVE_RANDOM_R@\n_GL_FUNCDECL_SYS
      (srandom_r, int,\n                  (unsigned int seed, struct random_data *rand_state),\n
      \                 _GL_ARG_NONNULL ((2)));\n#  endif\n_GL_CXXALIAS_SYS (srandom_r,
      int,\n                  (unsigned int seed, struct random_data *rand_state));\n#
      endif\n_GL_CXXALIASWARN (srandom_r);\n#elif defined GNULIB_POSIXCHECK\n# undef
      srandom_r\n# if HAVE_RAW_DECL_SRANDOM_R\n_GL_WARN_ON_USE (srandom_r, \"srandom_r
      is unportable - \"\n                 \"use gnulib module random_r for portability\");\n#
      endif\n#endif\n\n#if @GNULIB_RANDOM_R@\n# if @REPLACE_RANDOM_R@\n#  if !(defined
      __cplusplus && defined GNULIB_NAMESPACE)\n#   undef initstate_r\n#   define
      initstate_r rpl_initstate_r\n#  endif\n_GL_FUNCDECL_RPL (initstate_r, int,\n
      \                 (unsigned int seed, char *buf, size_t buf_size,\n                   struct
      random_data *rand_state),\n                  _GL_ARG_NONNULL ((2, 4)));\n_GL_CXXALIAS_RPL
      (initstate_r, int,\n                  (unsigned int seed, char *buf, size_t
      buf_size,\n                   struct random_data *rand_state));\n# else\n#  if
      !@HAVE_RANDOM_R@\n_GL_FUNCDECL_SYS (initstate_r, int,\n                  (unsigned
      int seed, char *buf, size_t buf_size,\n                   struct random_data
      *rand_state),\n                  _GL_ARG_NONNULL ((2, 4)));\n#  endif\n/* Need
      to cast, because on Haiku, the third parameter is\n                                                     unsigned
      long buf_size.  */\n_GL_CXXALIAS_SYS_CAST (initstate_r, int,\n                       (unsigned
      int seed, char *buf, size_t buf_size,\n                        struct random_data
      *rand_state));\n# endif\n_GL_CXXALIASWARN (initstate_r);\n#elif defined GNULIB_POSIXCHECK\n#
      undef initstate_r\n# if HAVE_RAW_DECL_INITSTATE_R\n_GL_WARN_ON_USE (initstate_r,
      \"initstate_r is unportable - \"\n                 \"use gnulib module random_r
      for portability\");\n# endif\n#endif\n\n#if @GNULIB_RANDOM_R@\n# if @REPLACE_RANDOM_R@\n#
      \ if !(defined __cplusplus && defined GNULIB_NAMESPACE)\n#   undef setstate_r\n#
      \  define setstate_r rpl_setstate_r\n#  endif\n_GL_FUNCDECL_RPL (setstate_r,
      int,\n                  (char *arg_state, struct random_data *rand_state),\n
      \                 _GL_ARG_NONNULL ((1, 2)));\n_GL_CXXALIAS_RPL (setstate_r,
      int,\n                  (char *arg_state, struct random_data *rand_state));\n#
      else\n#  if !@HAVE_RANDOM_R@\n_GL_FUNCDECL_SYS (setstate_r, int,\n                  (char
      *arg_state, struct random_data *rand_state),\n                  _GL_ARG_NONNULL
      ((1, 2)));\n#  endif\n/* Need to cast, because on Haiku, the first parameter
      is\n                        void *arg_state.  */\n_GL_CXXALIAS_SYS_CAST (setstate_r,
      int,\n                       (char *arg_state, struct random_data *rand_state));\n#
      endif\n_GL_CXXALIASWARN (setstate_r);\n#elif defined GNULIB_POSIXCHECK\n# undef
      setstate_r\n# if HAVE_RAW_DECL_SETSTATE_R\n_GL_WARN_ON_USE (setstate_r, \"setstate_r
      is unportable - \"\n                 \"use gnulib module random_r for portability\");\n#
      endif\n#endif\n\n\n#if @GNULIB_REALLOC_POSIX@\n# if @REPLACE_REALLOC_FOR_REALLOC_POSIX@\n#
      \ if @REPLACE_REALLOC_FOR_REALLOC_POSIX@ == 2\n#   define _GL_INLINE_RPL_REALLOC
      1\n#   ifdef __cplusplus\nextern \"C\" {\n#   endif\n_GL_REALLOC_INLINE void
      *\nrpl_realloc (void *ptr, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gen_tempname
      Src: /src/gnulib/lib/mkostemp.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xtemplate
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mkostemp
    functionSourceFile: /src/gnulib/lib/mkostemp.c
    functionUses: 0
    functionsReached:
    - __gen_tempname
    linkageType: ''
    returnType: int
    signature: int mkostemp (char *xtemplate, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/tsearch.c:141,1
    - Dst: check_tree_recurse
      Src: /src/gnulib/lib/tsearch.c:145,1
    - Dst: check_tree_recurse
      Src: /src/gnulib/lib/tsearch.c:146,1
    - Dst: assert
      Src: /src/gnulib/lib/tsearch.c:148,1
    - Dst: assert
      Src: /src/gnulib/lib/tsearch.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p
    - d_sofar
    - d_total
    argTypes:
    - node
    - int
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: check_tree_recurse
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 1
    functionsReached:
    - assert
    - check_tree_recurse
    linkageType: ''
    returnType: void
    signature: void check_tree_recurse (node p, int d_sofar, int d_total)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_tree_recurse
      Src: /src/gnulib/lib/tsearch.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - node
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: check_tree
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - check_tree_recurse
    linkageType: ''
    returnType: void
    signature: void check_tree (node root)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 6
    argNames:
    - rootp
    - parentp
    - gparentp
    - p_r
    - gp_r
    - mode
    argTypes:
    - node*
    - node*
    - node*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 259
    functionName: maybe_split_for_insert
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void maybe_split_for_insert (node *rootp, node *parentp, node *gparentp,\n
      \                       int p_r, int gp_r, int mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TREE
      Src: /src/gnulib/lib/tsearch.c:280,1
    - Dst: maybe_split_for_insert
      Src: /src/gnulib/lib/tsearch.c:290,1
    - Dst: malloc
      Src: /src/gnulib/lib/tsearch.c:307,1
    - Dst: maybe_split_for_insert
      Src: /src/gnulib/lib/tsearch.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - key
    - vrootp
    - compar
    argTypes:
    - void*
    - void**
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 322
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 322
    functionName: __tsearch
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - CHECK_TREE
    - maybe_split_for_insert
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      __tsearch (const void *key, void **vrootp, __compar_fn_t compar)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TREE
      Src: /src/gnulib/lib/tsearch.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - key
    - vrootp
    - compar
    argTypes:
    - void*
    - void**
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: __tfind
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - CHECK_TREE
    linkageType: ''
    returnType: void
    signature: 'void *

      __tfind (const void *key, void *const *vrootp, __compar_fn_t compar)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TREE
      Src: /src/gnulib/lib/tsearch.c:382,1
    - Dst: abort
      Src: /src/gnulib/lib/tsearch.c:387,1
    - Dst: abort
      Src: /src/gnulib/lib/tsearch.c:420,1
    - Dst: free
      Src: /src/gnulib/lib/tsearch.c:603,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 124
    argCount: 3
    argNames:
    - key
    - vrootp
    - compar
    argTypes:
    - void*
    - void**
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 605
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 605
    functionName: __tdelete
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - CHECK_TREE
    - free
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      __tdelete (const void *key, void **vrootp, __compar_fn_t compar)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trecurse
      Src: /src/gnulib/lib/tsearch.c:630,1
    - Dst: trecurse
      Src: /src/gnulib/lib/tsearch.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vroot
    - action
    - level
    argTypes:
    - void*
    - __action_fn_t
    - int
    constantsTouched: []
    func_position:
      end: 636
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 636
    functionName: internal_function
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - trecurse
    linkageType: ''
    returnType: void
    signature: 'void internal_function

      trecurse (const void *vroot, __action_fn_t action, int level)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TREE
      Src: /src/gnulib/lib/tsearch.c:647,1
    - Dst: trecurse
      Src: /src/gnulib/lib/tsearch.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vroot
    - action
    argTypes:
    - void*
    - __action_fn_t
    constantsTouched: []
    func_position:
      end: 651
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 651
    functionName: __twalk
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - CHECK_TREE
    - trecurse
    linkageType: ''
    returnType: void
    signature: void __twalk (const void *vroot, __action_fn_t action)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal_function::tdestroy_recurse
      Src: /src/gnulib/lib/tsearch.c:668,1
    - Dst: internal_function::tdestroy_recurse
      Src: /src/gnulib/lib/tsearch.c:670,1
    - Dst: free
      Src: /src/gnulib/lib/tsearch.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - root
    - freefct
    argTypes:
    - node
    - __free_fn_t
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: internal_function::tdestroy_recurse
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 1
    functionsReached:
    - free
    - internal_function::tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: 'void internal_function

      tdestroy_recurse (node root, __free_fn_t freefct)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TREE
      Src: /src/gnulib/lib/tsearch.c:681,1
    - Dst: tdestroy_recurse
      Src: /src/gnulib/lib/tsearch.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vroot
    - freefct
    argTypes:
    - void*
    - __free_fn_t
    constantsTouched: []
    func_position:
      end: 685
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 685
    functionName: __tdestroy
    functionSourceFile: /src/gnulib/lib/tsearch.c
    functionUses: 0
    functionsReached:
    - CHECK_TREE
    - tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: void __tdestroy (void *vroot, __free_fn_t freefct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fma
      Src: /src/gnulib/lib/fmal.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - long double
    - long double
    - long double
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: fmal
    functionSourceFile: /src/gnulib/lib/fmal.c
    functionUses: 0
    functionsReached:
    - fma
    linkageType: ''
    returnType: long double
    signature: long double fmal (long double x, long double y, long double z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/hashkey-string.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: hashkey_string_equals
    functionSourceFile: /src/gnulib/lib/hashkey-string.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hashkey_string_equals (const void *x1, const void *x2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: hashkey_string_hash
    functionSourceFile: /src/gnulib/lib/hashkey-string.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hashkey_string_hash (const void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/fmod.c:98,1
    - Dst: isfinite
      Src: /src/gnulib/lib/fmod.c:98,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:98,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:100,1
    - Dst: FABS
      Src: /src/gnulib/lib/fmod.c:108,1
    - Dst: FABS
      Src: /src/gnulib/lib/fmod.c:109,1
    - Dst: FREXP
      Src: /src/gnulib/lib/fmod.c:130,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:132,1
    - Dst: FREXP
      Src: /src/gnulib/lib/fmod.c:141,1
    - Dst: LDEXP
      Src: /src/gnulib/lib/fmod.c:148,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:152,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:163,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:165,1
    - Dst: abort
      Src: /src/gnulib/lib/fmod.c:166,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:167,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:174,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:175,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:226,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:227,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:228,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:234,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:237,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:244,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:247,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:249,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:252,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:253,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:256,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:259,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:268,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:273,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:275,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:284,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:289,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:291,1
    - Dst: abort
      Src: /src/gnulib/lib/fmod.c:294,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:298,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:306,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:309,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:311,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:314,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:316,1
    - Dst: abort
      Src: /src/gnulib/lib/fmod.c:317,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:318,1
    - Dst: abort
      Src: /src/gnulib/lib/fmod.c:323,1
    - Dst: TRUNC
      Src: /src/gnulib/lib/fmod.c:329,1
    - Dst: L_
      Src: /src/gnulib/lib/fmod.c:333,1
    - Dst: LDEXP
      Src: /src/gnulib/lib/fmod.c:343,1
    - Dst: ISNAN
      Src: /src/gnulib/lib/fmod.c:352,1
    - Dst: ISNAN
      Src: /src/gnulib/lib/fmod.c:352,1
    - Dst: isinf
      Src: /src/gnulib/lib/fmod.c:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - DOUBLE
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 360
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 360
    functionName: FMOD
    functionSourceFile: /src/gnulib/lib/fmod.c
    functionUses: 2
    functionsReached:
    - abort
    - ISNAN
    - FABS
    - TRUNC
    - isfinite
    - L_
    - LDEXP
    - isinf
    - FREXP
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE FMOD (DOUBLE x, DOUBLE y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/newlocale.c:104,1
    - Dst: strcmp
      Src: /src/gnulib/lib/newlocale.c:113,1
    - Dst: strcmp
      Src: /src/gnulib/lib/newlocale.c:119,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:140,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:140,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:142,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:142,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:144,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:144,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:146,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:146,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:148,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:148,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:150,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:150,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/lib/newlocale.c:153,1
    - Dst: strdup
      Src: /src/gnulib/lib/newlocale.c:161,1
    - Dst: strcmp
      Src: /src/gnulib/lib/newlocale.c:167,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:179,1
    - Dst: _create_locale
      Src: /src/gnulib/lib/newlocale.c:188,1
    - Dst: free
      Src: /src/gnulib/lib/newlocale.c:191,1
    - Dst: strdup
      Src: /src/gnulib/lib/newlocale.c:203,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:228,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:228,1
    - Dst: _free_locale
      Src: /src/gnulib/lib/newlocale.c:232,1
    - Dst: free
      Src: /src/gnulib/lib/newlocale.c:234,1
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/newlocale.c:248,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/newlocale.c:248,1
    - Dst: _free_locale
      Src: /src/gnulib/lib/newlocale.c:252,1
    - Dst: free
      Src: /src/gnulib/lib/newlocale.c:254,1
    - Dst: free
      Src: /src/gnulib/lib/newlocale.c:257,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 3
    argNames:
    - category_mask
    - name
    - base
    argTypes:
    - int
    - char*
    - locale_t
    constantsTouched: []
    func_position:
      end: 260
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 260
    functionName: newlocale
    functionSourceFile: /src/gnulib/lib/newlocale.c
    functionUses: 29
    functionsReached:
    - strdup
    - _free_locale
    - _create_locale
    - free
    - gl_log2_lc_mask
    - gl_log2_lcmask_to_index
    - strcmp
    - gl_locale_name_environ
    - malloc
    linkageType: ''
    returnType: locale_t
    signature: locale_t newlocale (int category_mask, const char *name, locale_t base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/gnulib/lib/gethostname.c:47,1
    - Dst: strncpy
      Src: /src/gnulib/lib/gethostname.c:55,1
    - Dst: strcpy
      Src: /src/gnulib/lib/gethostname.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: gethostname
    functionSourceFile: /src/gnulib/lib/gethostname.c
    functionUses: 3
    functionsReached:
    - uname
    - strncpy
    - strcpy
    linkageType: ''
    returnType: int
    signature: int gethostname (char *name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/lib/gethostname.c:96,1
    - Dst: gethostname
      Src: /src/gnulib/lib/gethostname.c:97,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/gethostname.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: rpl_gethostname
    functionSourceFile: /src/gnulib/lib/gethostname.c
    functionUses: 0
    functionsReached:
    - gethostname
    - gl_sockets_startup
    - set_winsock_errno
    linkageType: ''
    returnType: int
    signature: int rpl_gethostname (char *name, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/gnulib/lib/getcwd-lgpl.c:59,1
    - Dst: malloc
      Src: /src/gnulib/lib/getcwd-lgpl.c:64,1
    - Dst: getcwd
      Src: /src/gnulib/lib/getcwd-lgpl.c:70,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd-lgpl.c:72,1
    - Dst: strdup
      Src: /src/gnulib/lib/getcwd-lgpl.c:85,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd-lgpl.c:101,1
    - Dst: getcwd
      Src: /src/gnulib/lib/getcwd-lgpl.c:106,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd-lgpl.c:111,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 125
    functionName: rpl_getcwd
    functionSourceFile: /src/gnulib/lib/getcwd-lgpl.c
    functionUses: 0
    functionsReached:
    - getcwd
    - free
    - malloc
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      rpl_getcwd (char *buf, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsid
      Src: /src/gnulib/lib/login_tty.c:33,1
    - Dst: close
      Src: /src/gnulib/lib/login_tty.c:47,1
    - Dst: ioctl
      Src: /src/gnulib/lib/login_tty.c:49,1
    - Dst: ttyname
      Src: /src/gnulib/lib/login_tty.c:56,1
    - Dst: open
      Src: /src/gnulib/lib/login_tty.c:59,1
    - Dst: close
      Src: /src/gnulib/lib/login_tty.c:62,1
    - Dst: dup2
      Src: /src/gnulib/lib/login_tty.c:70,1
    - Dst: close
      Src: /src/gnulib/lib/login_tty.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - slave_fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 76
    functionName: login_tty
    functionSourceFile: /src/gnulib/lib/login_tty.c
    functionUses: 0
    functionsReached:
    - open
    - setsid
    - ioctl
    - close
    - dup2
    - ttyname
    linkageType: ''
    returnType: int
    signature: int login_tty (int slave_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: pipe
    functionSourceFile: /src/gnulib/lib/pipe.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pipe (int fd[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ilogb
      Src: /src/gnulib/lib/ilogbl.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: ilogbl
    functionSourceFile: /src/gnulib/lib/ilogbl.c
    functionUses: 0
    functionsReached:
    - ilogb
    linkageType: ''
    returnType: int
    signature: int ilogbl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: _GL_FUNCDECL_RPL
    functionSourceFile: /src/gnulib/lib/sys_time.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _GL_FUNCDECL_RPL (gettimeofday, int,\n                  (struct
      timeval *restrict, void *restrict),\n                  _GL_ARG_NONNULL ((1)));\n_GL_CXXALIAS_RPL
      (gettimeofday, int,\n                  (struct timeval *restrict, void *restrict));\n#
      else\n#  if !@HAVE_GETTIMEOFDAY@\n_GL_FUNCDECL_SYS (gettimeofday, int,\n                  (struct
      timeval *restrict, void *restrict),\n                  _GL_ARG_NONNULL ((1)));\n#
      \ endif\n/* Need to cast, because on glibc systems, by default, the second argument
      is\n                                                  struct timezone *.  */\n_GL_CXXALIAS_SYS_CAST
      (gettimeofday, int,\n                       (struct timeval *restrict, void
      *restrict));\n# endif\n_GL_CXXALIASWARN (gettimeofday)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/gnulib/lib/frexpl.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - long double
    - int*
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: frexpl
    functionSourceFile: /src/gnulib/lib/frexpl.c
    functionUses: 0
    functionsReached:
    - frexp
    linkageType: ''
    returnType: long double
    signature: long double frexpl (long double x, int *expptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnulib/lib/gettimeofday.c:52,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/gettimeofday.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: initialize
    functionSourceFile: /src/gnulib/lib/gettimeofday.c
    functionUses: 8
    functionsReached:
    - LoadLibrary
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void initialize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/gnulib/lib/gettimeofday.c:99,1
    - Dst: GetSystemTimePreciseAsFileTimeFunc
      Src: /src/gnulib/lib/gettimeofday.c:102,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/gnulib/lib/gettimeofday.c:104,1
    - Dst: time
      Src: /src/gnulib/lib/gettimeofday.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 151
    functionName: gettimeofday
    functionSourceFile: /src/gnulib/lib/gettimeofday.c
    functionUses: 19
    functionsReached:
    - time
    - GetSystemTimeAsFileTime
    - initialize
    - GetSystemTimePreciseAsFileTimeFunc
    linkageType: ''
    returnType: int
    signature: int gettimeofday (struct timeval *restrict tv, void *restrict tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/mkstemps.c:49,1
    - Dst: __gen_tempname
      Src: /src/gnulib/lib/mkstemps.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xtemplate
    - suffixlen
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: mkstemps
    functionSourceFile: /src/gnulib/lib/mkstemps.c
    functionUses: 0
    functionsReached:
    - __gen_tempname
    - __set_errno
    linkageType: ''
    returnType: int
    signature: int mkstemps (char *xtemplate, int suffixlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISNAN
      Src: /src/gnulib/lib/frexp.c:65,1
    - Dst: BEGIN_ROUNDING
      Src: /src/gnulib/lib/frexp.c:78,1
    - Dst: L_
      Src: /src/gnulib/lib/frexp.c:88,1
    - Dst: L_
      Src: /src/gnulib/lib/frexp.c:96,1
    - Dst: L_
      Src: /src/gnulib/lib/frexp.c:96,1
    - Dst: L_
      Src: /src/gnulib/lib/frexp.c:130,1
    - Dst: L_
      Src: /src/gnulib/lib/frexp.c:130,1
    - Dst: END_ROUNDING
      Src: /src/gnulib/lib/frexp.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - DOUBLE
    - int*
    constantsTouched: []
    func_position:
      end: 168
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 168
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/frexp.c
    functionUses: 4
    functionsReached:
    - L_
    - END_ROUNDING
    - BEGIN_ROUNDING
    - ISNAN
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE FUNC (DOUBLE x, int *expptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/mbscspn.c:40,1
    - Dst: strlen
      Src: /src/gnulib/lib/mbscspn.c:44,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbscspn.c:54,1
    - Dst: mbschr
      Src: /src/gnulib/lib/mbscspn.c:57,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbscspn.c:63,1
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbscspn.c:64,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbscspn.c:72,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbscspn.c:72,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbscspn.c:74,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbscspn.c:75,1
    - Dst: mbschr
      Src: /src/gnulib/lib/mbscspn.c:77,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbscspn.c:84,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbscspn.c:85,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbscspn.c:87,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbscspn.c:88,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbscspn.c:90,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbscspn.c:93,1
    - Dst: strcspn
      Src: /src/gnulib/lib/mbscspn.c:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - string
    - accept
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: mbscspn
    functionSourceFile: /src/gnulib/lib/mbscspn.c
    functionUses: 1
    functionsReached:
    - mbuif_next
    - strlen
    - mbuif_avail
    - mbschr
    - mcel_scanz
    - strcspn
    - mb_len
    - mb_equal
    - mbuif_init
    - mcel_cmp
    linkageType: ''
    returnType: size_t
    signature: size_t mbscspn (const char *string, const char *accept)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/c32stombs.c:35,1
    - Dst: c32srtombs
      Src: /src/gnulib/lib/c32stombs.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - char*
    - char32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: c32stombs
    functionSourceFile: /src/gnulib/lib/c32stombs.c
    functionUses: 1
    functionsReached:
    - mbszero
    - c32srtombs
    linkageType: ''
    returnType: size_t
    signature: size_t c32stombs (char *dest, const char32_t *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - idx_t
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: full_rw
    functionSourceFile: /src/gnulib/lib/full-write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: idx_t
    signature: idx_t full_rw (int fd, const void *buf, idx_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/gnulib/lib/tanl.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tanl
    functionSourceFile: /src/gnulib/lib/tanl.c
    functionUses: 2
    functionsReached:
    - tan
    linkageType: ''
    returnType: long double
    signature: long double tanl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/gnulib/lib/tanl.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - x
    - y
    - iy
    argTypes:
    - long double
    - long double
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 211
    functionName: kernel_tanl
    functionSourceFile: /src/gnulib/lib/tanl.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: long double
    signature: long double kernel_tanl (long double x, long double y, int iy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/tanl.c:220,1
    - Dst: kernel_tanl
      Src: /src/gnulib/lib/tanl.c:226,1
    - Dst: ieee754_rem_pio2l
      Src: /src/gnulib/lib/tanl.c:235,1
    - Dst: kernel_tanl
      Src: /src/gnulib/lib/tanl.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: tanl
    functionSourceFile: /src/gnulib/lib/tanl.c
    functionUses: 3
    functionsReached:
    - ieee754_rem_pio2l
    - kernel_tanl
    - isnanl
    linkageType: ''
    returnType: long double
    signature: long double tanl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:247,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:247,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:248,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:248,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:249,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:249,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:250,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:250,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:251,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:251,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:252,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:252,1
    - Dst: printf
      Src: /src/gnulib/lib/tanl.c:253,1
    - Dst: tanl
      Src: /src/gnulib/lib/tanl.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: main
    functionSourceFile: /src/gnulib/lib/tanl.c
    functionUses: 12
    functionsReached:
    - printf
    - tanl
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_quoting_options
      Src: /src/gnulib/lib/sh-quote.c:35,1
    - Dst: set_quoting_style
      Src: /src/gnulib/lib/sh-quote.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: init_sh_quoting_options
    functionSourceFile: /src/gnulib/lib/sh-quote.c
    functionUses: 0
    functionsReached:
    - set_quoting_style
    - clone_quoting_options
    linkageType: ''
    returnType: void
    signature: void init_sh_quoting_options (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sh_quoting_options
      Src: /src/gnulib/lib/sh-quote.c:44,1
    - Dst: quotearg_buffer
      Src: /src/gnulib/lib/sh-quote.c:45,1
    - Dst: strlen
      Src: /src/gnulib/lib/sh-quote.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: shell_quote_length
    functionSourceFile: /src/gnulib/lib/sh-quote.c
    functionUses: 2
    functionsReached:
    - strlen
    - init_sh_quoting_options
    - quotearg_buffer
    linkageType: ''
    returnType: size_t
    signature: size_t shell_quote_length (const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sh_quoting_options
      Src: /src/gnulib/lib/sh-quote.c:55,1
    - Dst: quotearg_buffer
      Src: /src/gnulib/lib/sh-quote.c:56,1
    - Dst: strlen
      Src: /src/gnulib/lib/sh-quote.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - string
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: shell_quote_copy
    functionSourceFile: /src/gnulib/lib/sh-quote.c
    functionUses: 2
    functionsReached:
    - strlen
    - init_sh_quoting_options
    - quotearg_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      shell_quote_copy (char *p, const char *string)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_sh_quoting_options
      Src: /src/gnulib/lib/sh-quote.c:65,1
    - Dst: quotearg_alloc
      Src: /src/gnulib/lib/sh-quote.c:66,1
    - Dst: strlen
      Src: /src/gnulib/lib/sh-quote.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: shell_quote
    functionSourceFile: /src/gnulib/lib/sh-quote.c
    functionUses: 1
    functionsReached:
    - quotearg_alloc
    - init_sh_quoting_options
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      shell_quote (const char *string)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shell_quote_length
      Src: /src/gnulib/lib/sh-quote.c:84,1
    - Dst: XNMALLOC
      Src: /src/gnulib/lib/sh-quote.c:90,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/lib/sh-quote.c:95,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/sh-quote.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 107
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 107
    functionName: shell_quote_argv
    functionSourceFile: /src/gnulib/lib/sh-quote.c
    functionUses: 1
    functionsReached:
    - shell_quote_length
    - XNMALLOC
    - shell_quote_copy
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      shell_quote_argv (const char * const *argv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - iptr
    argTypes:
    - float
    - float*
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: modff
    functionSourceFile: /src/gnulib/lib/modff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float modff (float x, float *iptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:35,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:44,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:59,1
    - Dst: free_subtree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:75,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - bh
    - count
    - contents
    argTypes:
    - unsigned int
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 79
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 79
    functionName: create_subtree_with_contents
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 3
    functionsReached:
    - free
    - free_subtree
    - create_subtree_with_contents
    - malloc
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t create_subtree_with_contents (unsigned int bh,\n                              size_t
      count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:90,1
    - Dst: next_prime
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:105,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:106,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:106,1
    - Dst: calloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:109,1
    - Dst: create_subtree_with_contents
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:126,1
    - Dst: add_nodes_to_buckets
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:134,1
    - Dst: free_subtree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:145,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 7
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 154
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 154
    functionName: gl_tree_nx_create
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - calloc
    - xtimes
    - free_subtree
    - free
    - next_prime
    - create_subtree_with_contents
    - add_nodes_to_buckets
    - malloc
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_tree_nx_create (gl_list_implementation_t implementation,\n
      \                  gl_listelement_equals_fn equals_fn,\n                   gl_listelement_hashcode_fn
      hashcode_fn,\n                   gl_listelement_dispose_fn dispose_fn,\n                   bool
      allow_duplicates,\n                   size_t count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - b_node
    - d_node
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: rotate_left
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t rotate_left (gl_list_node_t b_node, gl_list_node_t d_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - b_node
    - d_node
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: rotate_right
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t rotate_right (gl_list_node_t b_node, gl_list_node_t
      d_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:254,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:280,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:287,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:303,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:312,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:328,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - list
    - node
    - parent
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 346
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 346
    functionName: rebalance_after_add
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - abort
    - rotate_left
    - rotate_right
    linkageType: ''
    returnType: void
    signature: void rebalance_after_add (gl_list_t list, gl_list_node_t node, gl_list_node_t
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:370,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:398,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:426,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:449,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:456,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:520,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:548,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:571,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:578,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:617,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 3
    argNames:
    - list
    - child
    - parent
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 633
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 633
    functionName: rebalance_after_remove
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - abort
    - rotate_left
    - rotate_right
    linkageType: ''
    returnType: void
    signature: void rebalance_after_remove (gl_list_t list, gl_list_node_t child,
      gl_list_node_t parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance_after_remove
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:670,1
    - Dst: rebalance_after_remove
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:774,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 778
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 778
    functionName: gl_tree_remove_node_from_tree
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 4
    functionsReached:
    - rebalance_after_remove
    linkageType: ''
    returnType: void
    signature: void gl_tree_remove_node_from_tree (gl_list_t list, gl_list_node_t
      node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:785,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:797,1
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:827,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:834,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:836,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:837,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 844
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 844
    functionName: gl_tree_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    - rebalance_after_add
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_first (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:851,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:863,1
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:893,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:900,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:902,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:903,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 910
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 910
    functionName: gl_tree_nx_add_last
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    - rebalance_after_add
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_last (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:917,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:929,1
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:953,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:959,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:961,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:962,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 969
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 969
    functionName: gl_tree_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    - rebalance_after_add
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_before (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:976,1
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:988,1
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:1012,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:1018,1
    - Dst: gl_tree_remove_node_from_tree
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:1020,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:1021,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_anyrbtree_list2.h:1024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 1028
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1028
    functionName: gl_tree_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_anyrbtree_list2.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node_from_tree
    - hash_resize_after_add
    - free
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    - malloc
    - rebalance_after_add
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_tree_nx_add_after (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/c-vaszprintf.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - resultp
    - format
    - args
    argTypes:
    - char**
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: c_vaszprintf
    functionSourceFile: /src/gnulib/lib/c-vaszprintf.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t c_vaszprintf (char **resultp, const char *format, va_list
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/msvc-nothrow.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: _gl_nothrow_get_osfhandle
    functionSourceFile: /src/gnulib/lib/msvc-nothrow.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    linkageType: ''
    returnType: intptr_t
    signature: intptr_t _gl_nothrow_get_osfhandle (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dirfd
      Src: /src/gnulib/lib/dirent.in.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dp
    argTypes:
    - DIR*
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: int
    functionSourceFile: /src/gnulib/lib/dirent.in.h
    functionUses: 796
    functionsReached:
    - dirfd
    linkageType: ''
    returnType: void
    signature: void int (dirfd) (DIR *dp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: L_
      Src: /src/gnulib/lib/ceil.c:86,1
    - Dst: L_
      Src: /src/gnulib/lib/ceil.c:96,1
    - Dst: L_
      Src: /src/gnulib/lib/ceil.c:99,1
    - Dst: L_
      Src: /src/gnulib/lib/ceil.c:103,1
    - Dst: L_
      Src: /src/gnulib/lib/ceil.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 117
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 117
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/ceil.c
    functionUses: 4
    functionsReached:
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE FUNC (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - op_t
    - op_t
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: memcmp_bytes
    functionSourceFile: /src/gnulib/lib/memcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memcmp_bytes (op_t a, op_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:162,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:168,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:174,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:180,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:192,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 3
    argNames:
    - srcp1
    - srcp2
    - len
    argTypes:
    - uintptr_t
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 194
    functionName: memcmp_common_alignment
    functionSourceFile: /src/gnulib/lib/memcmp.c
    functionUses: 0
    functionsReached:
    - CMP_LT_OR_GT
    linkageType: ''
    returnType: int
    signature: int memcmp_common_alignment (uintptr_t srcp1, uintptr_t srcp2, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MERGE
      Src: /src/gnulib/lib/memcmp.c:262,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:264,1
    - Dst: MERGE
      Src: /src/gnulib/lib/memcmp.c:269,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:271,1
    - Dst: MERGE
      Src: /src/gnulib/lib/memcmp.c:276,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:278,1
    - Dst: MERGE
      Src: /src/gnulib/lib/memcmp.c:283,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:285,1
    - Dst: MERGE
      Src: /src/gnulib/lib/memcmp.c:296,1
    - Dst: CMP_LT_OR_GT
      Src: /src/gnulib/lib/memcmp.c:298,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 3
    argNames:
    - srcp1
    - srcp2
    - len
    argTypes:
    - uintptr_t
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 300
    functionName: memcmp_not_common_alignment
    functionSourceFile: /src/gnulib/lib/memcmp.c
    functionUses: 0
    functionsReached:
    - CMP_LT_OR_GT
    - MERGE
    linkageType: ''
    returnType: int
    signature: int memcmp_not_common_alignment (uintptr_t srcp1, uintptr_t srcp2,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp_common_alignment
      Src: /src/gnulib/lib/memcmp.c:332,1
    - Dst: memcmp_not_common_alignment
      Src: /src/gnulib/lib/memcmp.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 358
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 358
    functionName: rpl_memcmp
    functionSourceFile: /src/gnulib/lib/memcmp.c
    functionUses: 0
    functionsReached:
    - memcmp_common_alignment
    - memcmp_not_common_alignment
    linkageType: ''
    returnType: int
    signature: int rpl_memcmp (const void *s1, const void *s2, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - inexact_style
    - value
    argTypes:
    - int
    - long double
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: adjust_value
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double adjust_value (int inexact_style, long double value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/human.c:93,1
    - Dst: memcpy
      Src: /src/gnulib/lib/human.c:111,1
    - Dst: memcpy
      Src: /src/gnulib/lib/human.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - number
    - numberlen
    - grouping
    - thousands_sep
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: group_number
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\ngroup_number (char *number, size_t numberlen,\n              char
      const *grouping, char const *thousands_sep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/gnulib/lib/human.c:179,1
    - Dst: strlen
      Src: /src/gnulib/lib/human.c:187,1
    - Dst: sprintf
      Src: /src/gnulib/lib/human.c:234,1
    - Dst: adjust_value
      Src: /src/gnulib/lib/human.c:234,1
    - Dst: strlen
      Src: /src/gnulib/lib/human.c:235,1
    - Dst: sprintf
      Src: /src/gnulib/lib/human.c:252,1
    - Dst: adjust_value
      Src: /src/gnulib/lib/human.c:252,1
    - Dst: strlen
      Src: /src/gnulib/lib/human.c:253,1
    - Dst: sprintf
      Src: /src/gnulib/lib/human.c:260,1
    - Dst: adjust_value
      Src: /src/gnulib/lib/human.c:261,1
    - Dst: strlen
      Src: /src/gnulib/lib/human.c:262,1
    - Dst: memmove
      Src: /src/gnulib/lib/human.c:268,1
    - Dst: memcpy
      Src: /src/gnulib/lib/human.c:320,1
    - Dst: memcpy
      Src: /src/gnulib/lib/human.c:341,1
    - Dst: group_number
      Src: /src/gnulib/lib/human.c:359,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 123
    argCount: 5
    argNames:
    - n
    - buf
    - opts
    - from_block_size
    - to_block_size
    argTypes:
    - uintmax_t
    - char*
    - int
    - uintmax_t
    - uintmax_t
    constantsTouched: []
    func_position:
      end: 391
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 391
    functionName: human_readable
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached:
    - group_number
    - strlen
    - memmove
    - localeconv
    - memcpy
    - adjust_value
    - sprintf
    linkageType: ''
    returnType: char
    signature: "char *\nhuman_readable (uintmax_t n, char *buf, int opts,\n                uintmax_t
      from_block_size, uintmax_t to_block_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/human.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: default_block_size
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t default_block_size (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/human.c:420,1
    - Dst: getenv
      Src: /src/gnulib/lib/human.c:421,1
    - Dst: default_block_size
      Src: /src/gnulib/lib/human.c:422,1
    - Dst: ARGMATCH
      Src: /src/gnulib/lib/human.c:431,1
    - Dst: xstrtoumax
      Src: /src/gnulib/lib/human.c:439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - spec
    - block_size
    - options
    argTypes:
    - char*
    - uintmax_t*
    - int*
    constantsTouched: []
    func_position:
      end: 461
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 461
    functionName: humblock
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached:
    - ARGMATCH
    - xstrtoumax
    - getenv
    - default_block_size
    linkageType: ''
    returnType: strtol_error
    signature: strtol_error humblock (char const *spec, uintmax_t *block_size, int
      *options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: humblock
      Src: /src/gnulib/lib/human.c:466,1
    - Dst: default_block_size
      Src: /src/gnulib/lib/human.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - spec
    - opts
    - block_size
    argTypes:
    - char*
    - int*
    - uintmax_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: human_options
    functionSourceFile: /src/gnulib/lib/human.c
    functionUses: 0
    functionsReached:
    - humblock
    - default_block_size
    linkageType: ''
    returnType: enum strtol_error
    signature: enum strtol_error human_options (char const *spec, int *opts, uintmax_t
      *block_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/trim.c:50,1
    - Dst: c32isspace
      Src: /src/gnulib/lib/trim.c:51,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/trim.c:59,1
    - Dst: c32isspace
      Src: /src/gnulib/lib/trim.c:61,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/trim.c:66,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/trim.c:70,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/trim.c:72,1
    - Dst: mb_isspace
      Src: /src/gnulib/lib/trim.c:73,1
    - Dst: mb_len
      Src: /src/gnulib/lib/trim.c:75,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/trim.c:80,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/trim.c:82,1
    - Dst: mb_len
      Src: /src/gnulib/lib/trim.c:83,1
    - Dst: mb_isspace
      Src: /src/gnulib/lib/trim.c:84,1
    - Dst: isspace
      Src: /src/gnulib/lib/trim.c:93,1
    - Dst: isspace
      Src: /src/gnulib/lib/trim.c:99,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/trim.c:107,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - s
    - how
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 112
    functionName: trim2
    functionSourceFile: /src/gnulib/lib/trim.c
    functionUses: 0
    functionsReached:
    - mbuif_next
    - isspace
    - c32isspace
    - mb_isspace
    - xalloc_die
    - mcel_scanz
    - mbuif_init
    - mb_len
    - mbuif_avail
    linkageType: ''
    returnType: char
    signature: 'char *

      trim2 (const char *s, int how)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b_node
    - d_node
    argTypes:
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: rotate_left
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T rotate_left (NODE_T b_node, NODE_T d_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b_node
    - d_node
    argTypes:
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: rotate_right
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T rotate_right (NODE_T b_node, NODE_T d_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:148,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:174,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:181,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:197,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:206,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - container
    - node
    - parent
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 240
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 240
    functionName: rebalance_after_add
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 4
    functionsReached:
    - abort
    - rotate_left
    - rotate_right
    linkageType: ''
    returnType: void
    signature: void rebalance_after_add (CONTAINER_T container, NODE_T node, NODE_T
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:264,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:292,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:320,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:343,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:350,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:414,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:442,1
    - Dst: rotate_left
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:465,1
    - Dst: rotate_right
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:472,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:511,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 3
    argNames:
    - container
    - child
    - parent
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 527
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 527
    functionName: rebalance_after_remove
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 1
    functionsReached:
    - abort
    - rotate_left
    - rotate_right
    linkageType: ''
    returnType: void
    signature: void rebalance_after_remove (CONTAINER_T container, NODE_T child, NODE_T
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:534,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:541,1
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - container
    argTypes:
    - CONTAINER_T
    constantsTouched: []
    func_position:
      end: 566
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 566
    functionName: gl_tree_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - malloc
    - NODE_PAYLOAD_ASSIGN
    - rebalance_after_add
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_first (CONTAINER_T container, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - container
    - node
    - new_node
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 590
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 590
    functionName: gl_tree_add_node_before
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - rebalance_after_add
    linkageType: ''
    returnType: void
    signature: void gl_tree_add_node_before (CONTAINER_T container, NODE_T node, NODE_T
      new_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:597,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:602,1
    - Dst: gl_tree_add_node_before
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 606
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 606
    functionName: gl_tree_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - malloc
    - NODE_PAYLOAD_ASSIGN
    - gl_tree_add_node_before
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_before (CONTAINER_T container, NODE_T node, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance_after_add
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - container
    - node
    - new_node
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 630
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 630
    functionName: gl_tree_add_node_after
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - rebalance_after_add
    linkageType: ''
    returnType: void
    signature: void gl_tree_add_node_after (CONTAINER_T container, NODE_T node, NODE_T
      new_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:637,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:642,1
    - Dst: gl_tree_add_node_after
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 646
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 646
    functionName: gl_tree_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - gl_tree_add_node_after
    - malloc
    - NODE_PAYLOAD_ASSIGN
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_after (CONTAINER_T container, NODE_T node, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance_after_remove
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:675,1
    - Dst: rebalance_after_remove
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:762,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 768
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 768
    functionName: gl_tree_remove_node_no_free
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - rebalance_after_remove
    linkageType: ''
    returnType: void
    signature: void gl_tree_remove_node_no_free (CONTAINER_T container, NODE_T node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_remove_node_no_free
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:773,1
    - Dst: NODE_PAYLOAD_DISPOSE
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: gl_tree_remove_node
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 0
    functionsReached:
    - NODE_PAYLOAD_DISPOSE
    - gl_tree_remove_node_no_free
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_remove_node (CONTAINER_T container, NODE_T node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:789,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:791,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:793,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_ordered.h:795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - node
    - parent
    - counterp
    argTypes:
    - NODE_T
    - NODE_T
    - size_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 800
    functionName: check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtree_ordered.h
    functionUses: 8
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invariants (NODE_T node, NODE_T parent, size_t *counterp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/gnulib/lib/vfzprintf.c:40,1
    - Dst: fseterr
      Src: /src/gnulib/lib/vfzprintf.c:45,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/vfzprintf.c:49,1
    - Dst: free
      Src: /src/gnulib/lib/vfzprintf.c:55,1
    - Dst: fseterr
      Src: /src/gnulib/lib/vfzprintf.c:56,1
    - Dst: fwrite
      Src: /src/gnulib/lib/vfzprintf.c:61,1
    - Dst: free
      Src: /src/gnulib/lib/vfzprintf.c:64,1
    - Dst: free
      Src: /src/gnulib/lib/vfzprintf.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - fp
    - format
    - args
    argTypes:
    - FILE*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: vfzprintf
    functionSourceFile: /src/gnulib/lib/vfzprintf.c
    functionUses: 3
    functionsReached:
    - fseterr
    - fwrite
    - free
    - TYPE_MAXIMUM
    - vasnprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t vfzprintf (FILE *fp, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - table_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: di_ent_hash
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t di_ent_hash (void const *x, size_t table_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: di_ent_compare
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool di_ent_compare (void const *x, void const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_free
      Src: /src/gnulib/lib/di-set.c:108,1
    - Dst: free
      Src: /src/gnulib/lib/di-set.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: di_ent_free
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached:
    - free
    - hash_free
    linkageType: ''
    returnType: void
    signature: void di_ent_free (void *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/di-set.c:116,1
    - Dst: hash_initialize
      Src: /src/gnulib/lib/di-set.c:120,1
    - Dst: free
      Src: /src/gnulib/lib/di-set.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: di_set_alloc
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - hash_initialize
    linkageType: ''
    returnType: struct di_set
    signature: 'struct di_set *

      di_set_alloc (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_free
      Src: /src/gnulib/lib/di-set.c:139,1
    - Dst: ino_map_free
      Src: /src/gnulib/lib/di-set.c:141,1
    - Dst: free
      Src: /src/gnulib/lib/di-set.c:142,1
    - Dst: free
      Src: /src/gnulib/lib/di-set.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dis
    argTypes:
    - struct di_set*
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: di_set_free
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 1
    functionsReached:
    - free
    - ino_map_free
    - hash_free
    linkageType: ''
    returnType: void
    signature: void di_set_free (struct di_set *dis)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - table_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: di_ino_hash
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t di_ino_hash (void const *i, size_t table_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/di-set.c:169,1
    - Dst: hash_insert
      Src: /src/gnulib/lib/di-set.c:176,1
    - Dst: hash_initialize
      Src: /src/gnulib/lib/di-set.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dis
    - dev
    argTypes:
    - struct di_set*
    - dev_t
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: map_device
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached:
    - malloc
    - hash_insert
    - hash_initialize
    linkageType: ''
    returnType: struct hash_table
    signature: 'struct hash_table *

      map_device (struct di_set *dis, dev_t dev)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ino_map_alloc
      Src: /src/gnulib/lib/di-set.c:210,1
    - Dst: ino_map_insert
      Src: /src/gnulib/lib/di-set.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - dis
    - ino
    argTypes:
    - struct di_set*
    - ino_t
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: map_inode_number
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 0
    functionsReached:
    - ino_map_alloc
    - ino_map_insert
    linkageType: ''
    returnType: hashint
    signature: hashint map_inode_number (struct di_set *dis, ino_t ino)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_device
      Src: /src/gnulib/lib/di-set.c:228,1
    - Dst: map_inode_number
      Src: /src/gnulib/lib/di-set.c:233,1
    - Dst: hash_insert_if_absent
      Src: /src/gnulib/lib/di-set.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dis
    - dev
    - ino
    argTypes:
    - struct di_set*
    - dev_t
    - ino_t
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: di_set_insert
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 1
    functionsReached:
    - map_inode_number
    - map_device
    - hash_insert_if_absent
    linkageType: ''
    returnType: int
    signature: int di_set_insert (struct di_set *dis, dev_t dev, ino_t ino)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map_device
      Src: /src/gnulib/lib/di-set.c:250,1
    - Dst: map_inode_number
      Src: /src/gnulib/lib/di-set.c:255,1
    - Dst: hash_lookup
      Src: /src/gnulib/lib/di-set.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dis
    - dev
    - ino
    argTypes:
    - struct di_set*
    - dev_t
    - ino_t
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: di_set_lookup
    functionSourceFile: /src/gnulib/lib/di-set.c
    functionUses: 1
    functionsReached:
    - map_inode_number
    - hash_lookup
    - map_device
    linkageType: ''
    returnType: int
    signature: int di_set_lookup (struct di_set *dis, dev_t dev, ino_t ino)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRCHR
      Src: /src/gnulib/lib/wcsstr-impl.h:46,1
    - Dst: __builtin_expect
      Src: /src/gnulib/lib/wcsstr-impl.h:47,1
    - Dst: two_way_short_needle
      Src: /src/gnulib/lib/wcsstr-impl.h:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - haystack_start
    - needle_start
    argTypes:
    - UNIT*
    - UNIT*
    constantsTouched: []
    func_position:
      end: 56
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/wcsstr-impl.h
    functionUses: 4
    functionsReached:
    - STRCHR
    - two_way_short_needle
    - __builtin_expect
    linkageType: ''
    returnType: RETURN_TYPE
    signature: RETURN_TYPE FUNC (const UNIT *haystack_start, const UNIT *needle_start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/gnulib/lib/sqrtl.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sqrtl
    functionSourceFile: /src/gnulib/lib/sqrtl.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: long double
    signature: long double sqrtl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/sqrtl.c:46,1
    - Dst: sqrt
      Src: /src/gnulib/lib/sqrtl.c:51,1
    - Dst: frexpl
      Src: /src/gnulib/lib/sqrtl.c:57,1
    - Dst: ldexpl
      Src: /src/gnulib/lib/sqrtl.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: sqrtl
    functionSourceFile: /src/gnulib/lib/sqrtl.c
    functionUses: 1
    functionsReached:
    - frexpl
    - sqrt
    - ldexpl
    - isnanl
    linkageType: ''
    returnType: long double
    signature: long double sqrtl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __mktime_internal
      Src: /src/gnulib/lib/timegm.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: __timegm64
    functionSourceFile: /src/gnulib/lib/timegm.c
    functionUses: 0
    functionsReached:
    - __mktime_internal
    linkageType: ''
    returnType: __time64_t
    signature: __time64_t __timegm64 (struct tm *tmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __timegm64
      Src: /src/gnulib/lib/timegm.c:44,1
    - Dst: in_time_t_range
      Src: /src/gnulib/lib/timegm.c:45,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/timegm.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tmp
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: timegm
    functionSourceFile: /src/gnulib/lib/timegm.c
    functionUses: 1
    functionsReached:
    - in_time_t_range
    - __timegm64
    - __set_errno
    linkageType: ''
    returnType: time_t
    signature: time_t timegm (struct tm *tmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: alloc_failed
    functionSourceFile: /src/gnulib/lib/getdelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void alloc_failed (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/gnulib/lib/getdelim.c:74,1
    - Dst: realloc
      Src: /src/gnulib/lib/getdelim.c:80,1
    - Dst: alloc_failed
      Src: /src/gnulib/lib/getdelim.c:83,1
    - Dst: getc_maybe_unlocked
      Src: /src/gnulib/lib/getdelim.c:94,1
    - Dst: realloc
      Src: /src/gnulib/lib/getdelim.c:118,1
    - Dst: alloc_failed
      Src: /src/gnulib/lib/getdelim.c:121,1
    - Dst: funlockfile
      Src: /src/gnulib/lib/getdelim.c:140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - lineptr
    - n
    - delimiter
    - fp
    argTypes:
    - char**
    - size_t*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 143
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 143
    functionName: getdelim
    functionSourceFile: /src/gnulib/lib/getdelim.c
    functionUses: 1
    functionsReached:
    - getc_maybe_unlocked
    - funlockfile
    - flockfile
    - alloc_failed
    - realloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fchmodat
      Src: /src/gnulib/lib/fchmodat.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dir
    - file
    - mode
    - flags
    argTypes:
    - int
    - char*
    - mode_t
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: orig_fchmodat
    functionSourceFile: /src/gnulib/lib/fchmodat.c
    functionUses: 0
    functionsReached:
    - fchmodat
    linkageType: ''
    returnType: int
    signature: int orig_fchmodat (int dir, char const *file, mode_t mode, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/gnulib/lib/fchmodat.c:73,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/fchmodat.c:75,1
    - Dst: readlinkat
      Src: /src/gnulib/lib/fchmodat.c:99,1
    - Dst: sprintf
      Src: /src/gnulib/lib/fchmodat.c:105,1
    - Dst: chmod
      Src: /src/gnulib/lib/fchmodat.c:106,1
    - Dst: close
      Src: /src/gnulib/lib/fchmodat.c:111,1
    - Dst: readlinkat
      Src: /src/gnulib/lib/fchmodat.c:120,1
    - Dst: orig_fchmodat
      Src: /src/gnulib/lib/fchmodat.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - dir
    - file
    - mode
    - flags
    argTypes:
    - int
    - char*
    - mode_t
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 133
    functionName: fchmodat
    functionSourceFile: /src/gnulib/lib/fchmodat.c
    functionUses: 3
    functionsReached:
    - close
    - readlinkat
    - orig_fchmodat
    - sprintf
    - S_ISDIR
    - chmod
    - fstatat
    linkageType: ''
    returnType: int
    signature: int fchmodat (int dir, char const *file, mode_t mode, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnulib/lib/rawmemchr.c:40,1
    - Dst: __builtin_cheri_length_get
      Src: /src/gnulib/lib/rawmemchr.c:40,1
    - Dst: __builtin_cheri_offset_get
      Src: /src/gnulib/lib/rawmemchr.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - s
    - c_in
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 133
    functionName: rawmemchr
    functionSourceFile: /src/gnulib/lib/rawmemchr.c
    functionUses: 1
    functionsReached:
    - memchr
    - __builtin_cheri_length_get
    - __builtin_cheri_offset_get
    linkageType: ''
    returnType: void
    signature: 'void *

      rawmemchr (const void *s, int c_in)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_initialize
      Src: /src/gnulib/lib/xhash.c:31,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xhash.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - candidate
    - tuning
    - hasher
    - comparator
    - data_freer
    argTypes:
    - size_t
    - Hash_tuning*
    - Hash_hasher
    - Hash_comparator
    - Hash_data_freer
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: hash_xinitialize
    functionSourceFile: /src/gnulib/lib/xhash.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    - hash_initialize
    linkageType: ''
    returnType: Hash_table
    signature: "Hash_table *\nhash_xinitialize (size_t candidate, const Hash_tuning
      *tuning,\n                  Hash_hasher hasher, Hash_comparator comparator,\n
      \                 Hash_data_freer data_freer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xhash.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: hash_xinsert
    functionSourceFile: /src/gnulib/lib/xhash.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_xinsert (Hash_table *table, void const *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/windows-recmutex.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: glwthread_recmutex_init
    functionSourceFile: /src/gnulib/lib/windows-recmutex.c
    functionUses: 1
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void glwthread_recmutex_init (glwthread_recmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-recmutex.c:41,1
    - Dst: glwthread_recmutex_init
      Src: /src/gnulib/lib/windows-recmutex.c:43,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-recmutex.c:47,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-recmutex.c:51,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-recmutex.c:55,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-recmutex.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: glwthread_recmutex_lock
    functionSourceFile: /src/gnulib/lib/windows-recmutex.c
    functionUses: 1
    functionsReached:
    - EnterCriticalSection
    - InterlockedDecrement
    - GetCurrentThreadId
    - glwthread_recmutex_init
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_recmutex_lock (glwthread_recmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-recmutex.c:75,1
    - Dst: glwthread_recmutex_init
      Src: /src/gnulib/lib/windows-recmutex.c:77,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-recmutex.c:81,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-recmutex.c:88,1
    - Dst: TryEnterCriticalSection
      Src: /src/gnulib/lib/windows-recmutex.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: glwthread_recmutex_trylock
    functionSourceFile: /src/gnulib/lib/windows-recmutex.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    - InterlockedDecrement
    - GetCurrentThreadId
    - glwthread_recmutex_init
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_recmutex_trylock (glwthread_recmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-recmutex.c:107,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-recmutex.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: glwthread_recmutex_unlock
    functionSourceFile: /src/gnulib/lib/windows-recmutex.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - GetCurrentThreadId
    linkageType: ''
    returnType: int
    signature: int glwthread_recmutex_unlock (glwthread_recmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/gnulib/lib/windows-recmutex.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_recmutex_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: glwthread_recmutex_destroy
    functionSourceFile: /src/gnulib/lib/windows-recmutex.c
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_recmutex_destroy (glwthread_recmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/gnulib/lib/pipe-safer.c:33,1
    - Dst: fd_safer
      Src: /src/gnulib/lib/pipe-safer.c:38,1
    - Dst: close
      Src: /src/gnulib/lib/pipe-safer.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: pipe_safer
    functionSourceFile: /src/gnulib/lib/pipe-safer.c
    functionUses: 0
    functionsReached:
    - pipe
    - fd_safer
    - close
    linkageType: ''
    returnType: int
    signature: int pipe_safer (int fd[2])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - i
    - buf
    argTypes:
    - inttype
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: anytostr
    functionSourceFile: /src/gnulib/lib/anytostr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: '_GL_ATTRIBUTE_NODISCARD *

      anytostr (inttype i, char *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cosh
      Src: /src/gnulib/lib/coshf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: coshf
    functionSourceFile: /src/gnulib/lib/coshf.c
    functionUses: 1
    functionsReached:
    - cosh
    linkageType: ''
    returnType: float
    signature: float coshf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/gnulib/lib/powf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: powf
    functionSourceFile: /src/gnulib/lib/powf.c
    functionUses: 1
    functionsReached:
    - pow
    linkageType: ''
    returnType: float
    signature: float powf (float x, float y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - estimate
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: next_prime
    functionSourceFile: /src/gnulib/lib/gl_anyhash_primes.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t next_prime (size_t estimate)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str
    - format
    - args
    argTypes:
    - char*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: vsprintf
    functionSourceFile: /src/gnulib/lib/vsprintf.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vsprintf (char *str, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcswidth
      Src: /src/gnulib/lib/c32swidth.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: c32swidth
    functionSourceFile: /src/gnulib/lib/c32swidth.c
    functionUses: 1
    functionsReached:
    - wcswidth
    linkageType: ''
    returnType: _GL_EXTERN_INLINE
    signature: _GL_EXTERN_INLINE c32swidth (const char32_t *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - pgroup
    argTypes:
    - posix_spawnattr_t*
    - pid_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: posix_spawnattr_getpgroup
    functionSourceFile: /src/gnulib/lib/spawnattr_getpgroup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int posix_spawnattr_getpgroup (const posix_spawnattr_t *attr, pid_t
      *pgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/gnulib/lib/xvasprintf.c:44,1
    - Dst: xsum
      Src: /src/gnulib/lib/xvasprintf.c:48,1
    - Dst: strlen
      Src: /src/gnulib/lib/xvasprintf.c:48,1
    - Dst: va_end
      Src: /src/gnulib/lib/xvasprintf.c:50,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xvasprintf.c:55,1
    - Dst: XNMALLOC
      Src: /src/gnulib/lib/xvasprintf.c:58,1
    - Dst: memcpy
      Src: /src/gnulib/lib/xvasprintf.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argcount
    - args
    argTypes:
    - size_t
    - va_list
    constantsTouched: []
    func_position:
      end: 70
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 70
    functionName: xstrcat
    functionSourceFile: /src/gnulib/lib/xvasprintf.c
    functionUses: 0
    functionsReached:
    - strlen
    - XNMALLOC
    - va_end
    - va_copy
    - xalloc_die
    - memcpy
    - xsum
    linkageType: ''
    returnType: char
    signature: 'char *

      xstrcat (size_t argcount, va_list args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstrcat
      Src: /src/gnulib/lib/xvasprintf.c:88,1
    - Dst: vaszprintf
      Src: /src/gnulib/lib/xvasprintf.c:99,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xvasprintf.c:102,1
    - Dst: strerrorname_np
      Src: /src/gnulib/lib/xvasprintf.c:111,1
    - Dst: sprintf
      Src: /src/gnulib/lib/xvasprintf.c:123,1
    - Dst: fprintf
      Src: /src/gnulib/lib/xvasprintf.c:126,1
    - Dst: fflush
      Src: /src/gnulib/lib/xvasprintf.c:128,1
    - Dst: abort
      Src: /src/gnulib/lib/xvasprintf.c:129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: xvasprintf
    functionSourceFile: /src/gnulib/lib/xvasprintf.c
    functionUses: 3
    functionsReached:
    - abort
    - vaszprintf
    - xstrcat
    - strerrorname_np
    - xalloc_die
    - fflush
    - sprintf
    - fprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      xvasprintf (const char *format, va_list args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/gnulib/lib/fclose.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: fclose_nothrow
    functionSourceFile: /src/gnulib/lib/fclose.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int fclose_nothrow (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/gnulib/lib/fclose.c:65,1
    - Dst: fclose_nothrow
      Src: /src/gnulib/lib/fclose.c:67,1
    - Dst: freading
      Src: /src/gnulib/lib/fclose.c:72,1
    - Dst: lseek
      Src: /src/gnulib/lib/fclose.c:72,1
    - Dst: fileno
      Src: /src/gnulib/lib/fclose.c:72,1
    - Dst: fflush
      Src: /src/gnulib/lib/fclose.c:73,1
    - Dst: close
      Src: /src/gnulib/lib/fclose.c:82,1
    - Dst: fclose_nothrow
      Src: /src/gnulib/lib/fclose.c:85,1
    - Dst: fclose_nothrow
      Src: /src/gnulib/lib/fclose.c:95,1
    - Dst: _gl_unregister_fd
      Src: /src/gnulib/lib/fclose.c:97,1
    - Dst: fclose_nothrow
      Src: /src/gnulib/lib/fclose.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 112
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 112
    functionName: rpl_fclose
    functionSourceFile: /src/gnulib/lib/fclose.c
    functionUses: 0
    functionsReached:
    - close
    - fclose_nothrow
    - _gl_unregister_fd
    - fflush
    - fileno
    - freading
    - lseek
    linkageType: ''
    returnType: int
    signature: int rpl_fclose (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/gnulib/lib/pipe2-safer.c:34,1
    - Dst: fd_safer_flag
      Src: /src/gnulib/lib/pipe2-safer.c:39,1
    - Dst: close
      Src: /src/gnulib/lib/pipe2-safer.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: pipe2_safer
    functionSourceFile: /src/gnulib/lib/pipe2-safer.c
    functionUses: 0
    functionsReached:
    - close
    - pipe2
    - fd_safer_flag
    linkageType: ''
    returnType: int
    signature: int pipe2_safer (int fd[2], int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/spawnattr_setsigmask.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - sigmask
    argTypes:
    - posix_spawnattr_t*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: posix_spawnattr_setsigmask
    functionSourceFile: /src/gnulib/lib/spawnattr_setsigmask.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int posix_spawnattr_setsigmask (posix_spawnattr_t *attr,\n                            const
      sigset_t *sigmask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copysign
      Src: /src/gnulib/lib/signbitd.c:46,1
    - Dst: isnand
      Src: /src/gnulib/lib/signbitd.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/lib/signbitd.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: gl_signbitd
    functionSourceFile: /src/gnulib/lib/signbitd.c
    functionUses: 0
    functionsReached:
    - copysign
    - isnand
    - memcmp
    linkageType: ''
    returnType: int
    signature: int gl_signbitd (double arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/gnulib/lib/logl.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: logl
    functionSourceFile: /src/gnulib/lib/logl.c
    functionUses: 1
    functionsReached:
    - log
    linkageType: ''
    returnType: long double
    signature: long double logl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/logl.c:222,1
    - Dst: frexpl
      Src: /src/gnulib/lib/logl.c:243,1
    - Dst: floorl
      Src: /src/gnulib/lib/logl.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 286
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 286
    functionName: logl
    functionSourceFile: /src/gnulib/lib/logl.c
    functionUses: 1
    functionsReached:
    - frexpl
    - floorl
    - isnanl
    linkageType: ''
    returnType: long double
    signature: long double logl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assume
      Src: /src/gnulib/lib/mcel.h:164,1
    - Dst: assume
      Src: /src/gnulib/lib/mcel.h:165,1
    - Dst: assume
      Src: /src/gnulib/lib/mcel.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - len
    argTypes:
    - char32_t
    - size_t
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: mcel_ch
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 1
    functionsReached:
    - assume
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_ch (char32_t ch, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assume
      Src: /src/gnulib/lib/mcel.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: mcel_err
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 1
    functionsReached:
    - assume
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_err (unsigned char err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - mcel_t
    - mcel_t
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: mcel_cmp
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_cmp (mcel_t c1, mcel_t c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_LIKELY
      Src: /src/gnulib/lib/mcel.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - mcel_t
    - mcel_t
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: mcel_tocmp
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 1
    functionsReached:
    - _GL_LIKELY
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_tocmp (wint_t (*to) (wint_t), mcel_t c1, mcel_t c2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_LIKELY
      Src: /src/gnulib/lib/mcel.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: mcel_isbasic
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 1
    functionsReached:
    - _GL_LIKELY
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_isbasic (char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_isbasic
      Src: /src/gnulib/lib/mcel.h:224,1
    - Dst: mcel_ch
      Src: /src/gnulib/lib/mcel.h:225,1
    - Dst: _GL_UNLIKELY
      Src: /src/gnulib/lib/mcel.h:262,1
    - Dst: mcel_err
      Src: /src/gnulib/lib/mcel.h:263,1
    - Dst: mcel_ch
      Src: /src/gnulib/lib/mcel.h:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - p
    - lim
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 268
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 268
    functionName: mcel_scan
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 2
    functionsReached:
    - mcel_ch
    - mcel_err
    - _GL_UNLIKELY
    - mcel_isbasic
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_scan (char const *p, char const *lim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_isbasic
      Src: /src/gnulib/lib/mcel.h:279,1
    - Dst: mcel_ch
      Src: /src/gnulib/lib/mcel.h:280,1
    - Dst: mcel_scan
      Src: /src/gnulib/lib/mcel.h:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - terminator
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 288
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 288
    functionName: mcel_scant
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 1
    functionsReached:
    - mcel_ch
    - mcel_isbasic
    - mcel_scan
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_scant (char const *p, char terminator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scant
      Src: /src/gnulib/lib/mcel.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: mcel_scanz
    functionSourceFile: /src/gnulib/lib/mcel.h
    functionUses: 4
    functionsReached:
    - mcel_scant
    linkageType: ''
    returnType: MCEL_INLINE
    signature: MCEL_INLINE mcel_scanz (char const *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1373,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1378,1
    - Dst: strcpy
      Src: /src/gnulib/lib/localename-unsafe.c:1380,1
    - Dst: strlen
      Src: /src/gnulib/lib/localename-unsafe.c:1386,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1397,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1402,1
    - Dst: strcpy
      Src: /src/gnulib/lib/localename-unsafe.c:1404,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1416,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:1421,1
    - Dst: strcpy
      Src: /src/gnulib/lib/localename-unsafe.c:1424,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1436
    functionName: gl_locale_name_canonicalize
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - strcpy
    linkageType: ''
    returnType: void
    signature: void gl_locale_name_canonicalize (char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1474
    functionName: gl_locale_name_canonicalize
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_locale_name_canonicalize (char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/localename-unsafe.c:1486,1
    - Dst: GetLocaleInfoA
      Src: /src/gnulib/lib/localename-unsafe.c:1493,1
    - Dst: MAKELCID
      Src: /src/gnulib/lib/localename-unsafe.c:1493,1
    - Dst: gl_locale_name_canonicalize
      Src: /src/gnulib/lib/localename-unsafe.c:1497,1
    - Dst: strcat
      Src: /src/gnulib/lib/localename-unsafe.c:1499,1
    - Dst: PRIMARYLANGID
      Src: /src/gnulib/lib/localename-unsafe.c:1515,1
    - Dst: SUBLANGID
      Src: /src/gnulib/lib/localename-unsafe.c:1516,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1526,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1528,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1532,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1534,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1538,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1540,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1544,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1546,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1550,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1551,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1552,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1553,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1554,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1555,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1556,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1557,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1558,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1559,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1560,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1561,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1562,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1563,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1564,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1565,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1567,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1571,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1573,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1577,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1579,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1583,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1584,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1585,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1586,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1588,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1592,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1594,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1598,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1600,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1604,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1606,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1610,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1611,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1613,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1617,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1619,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1623,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1625,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1629,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1631,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1635,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1637,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1641,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1643,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1647,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1649,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1653,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1654,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1655,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1656,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1657,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1659,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1663,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1665,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1677,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1678,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1679,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1681,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1682,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1683,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1684,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1685,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1686,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1687,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1688,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1689,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1690,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1691,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1693,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1694,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1695,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1696,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1697,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1699,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1703,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1705,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1709,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1711,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1716,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1718,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1722,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1724,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1728,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1729,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1730,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1732,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1736,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1738,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1746,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1747,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1748,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1749,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1750,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1751,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1752,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1753,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1754,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1755,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1756,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1757,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1758,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1759,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1760,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1761,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1762,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1763,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1765,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1769,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1771,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1775,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1777,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1781,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1783,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1787,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1789,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1793,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1794,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1795,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1796,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1797,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1798,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1799,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1800,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1801,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1802,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1803,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1804,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1805,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1806,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1807,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1809,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1813,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1815,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1820,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1822,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1828,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1829,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1831,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1835,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1837,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1841,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1843,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1847,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1848,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1849,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1850,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1851,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1853,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1857,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1859,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1863,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1865,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1869,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1871,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1875,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1877,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1881,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1882,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1884,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1890,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1892,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1896,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1898,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1902,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1904,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1908,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1910,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1914,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1916,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1920,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1922,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1926,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1928,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1932,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1934,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1938,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1939,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1940,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:1941,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1943,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1947,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1948,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1950,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1954,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1956,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1960,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1962,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1966,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1968,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1972,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1973,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1975,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1979,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1981,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1986,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1988,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1992,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1994,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:1998,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2000,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2004,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2006,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2010,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2012,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2016,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2018,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2022,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2024,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2028,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2030,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2034,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2036,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2040,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2042,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2046,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2048,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2052,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2053,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2055,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2059,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2061,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2065,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2067,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2071,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2073,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2077,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2079,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2083,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2085,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2089,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2091,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2095,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2097,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2101,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2102,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2104,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2108,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2109,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2111,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2115,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2116,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2117,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2118,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2120,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2124,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2126,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2130,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2132,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2136,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2138,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2142,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2144,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2148,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2150,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2154,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2156,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2162,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2163,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2165,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2169,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2170,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2172,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2177,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2178,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2179,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2181,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2185,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2186,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2188,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2192,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2194,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2198,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2199,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2201,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2206,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2207,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2208,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2209,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2211,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2212,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2213,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2215,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2216,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2217,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2219,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2220,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2222,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2223,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2225,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2229,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2231,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2235,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2237,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2241,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2242,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2245,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2249,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2251,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2255,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2257,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2261,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2263,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2267,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2269,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2274,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2275,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2277,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2278,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2280,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2289,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2291,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2295,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2296,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:2298,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2299,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2300,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2301,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2302,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2303,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2304,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2305,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2306,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2307,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2308,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2309,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2310,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2311,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2312,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2313,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2314,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2315,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2316,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2318,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2322,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2324,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2328,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2330,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2334,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2335,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2337,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2341,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2343,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2347,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2349,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2353,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2354,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2356,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2361,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:2362,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2363,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2365,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2369,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2371,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2375,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2377,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2381,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2383,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2387,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2389,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2396,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2397,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2399,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2403,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2404,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2406,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2410,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2412,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2417,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2419,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2423,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2425,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2429,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2431,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2435,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2437,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2441,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2443,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2447,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2448,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2450,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2454,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2455,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:2456,1
    - Dst: NM
      Src: /src/gnulib/lib/localename-unsafe.c:2457,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2459,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2463,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2465,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2469,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2471,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2475,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2477,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2481,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2483,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2487,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2489,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2493,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2495,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2499,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2501,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2505,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2507,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2511,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2513,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2517,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2519,1
    - Dst: N
      Src: /src/gnulib/lib/localename-unsafe.c:2520,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 1118
    argCount: 1
    argNames:
    - langid
    argTypes:
    - LANGID
    constantsTouched: []
    func_position:
      end: 2525
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 2525
    functionName: gl_locale_name_from_win32_LANGID
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - N
    - NM
    - GetLocaleInfoA
    - gl_locale_name_canonicalize
    - PRIMARYLANGID
    - MAKELCID
    - strcat
    - SUBLANGID
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_from_win32_LANGID (LANGID langid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LANGIDFROMLCID
      Src: /src/gnulib/lib/localename-unsafe.c:2536,1
    - Dst: gl_locale_name_from_win32_LANGID
      Src: /src/gnulib/lib/localename-unsafe.c:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lcid
    argTypes:
    - LCID
    constantsTouched: []
    func_position:
      end: 2539
      start: 2530
    functionDepth: 2
    functionLinenumber: 2530
    functionLinenumberEnd: 2539
    functionName: gl_locale_name_from_win32_LCID
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - gl_locale_name_from_win32_LANGID
    - LANGIDFROMLCID
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_from_win32_LCID (LCID lcid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/gnulib/lib/localename-unsafe.c:2554,1
    - Dst: GetLocaleInfo
      Src: /src/gnulib/lib/localename-unsafe.c:2556,1
    - Dst: strcat
      Src: /src/gnulib/lib/localename-unsafe.c:2559,1
    - Dst: GetLocaleInfo
      Src: /src/gnulib/lib/localename-unsafe.c:2560,1
    - Dst: strlen
      Src: /src/gnulib/lib/localename-unsafe.c:2561,1
    - Dst: strncmp
      Src: /src/gnulib/lib/localename-unsafe.c:2565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - locale_num_str
    argTypes:
    - LPSTR
    constantsTouched: []
    func_position:
      end: 2575
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2575
    functionName: enum_locales_fn
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcat
    - strncmp
    - GetLocaleInfo
    - strtoul
    linkageType: ''
    returnType: BOOL
    signature: BOOL enum_locales_fn (LPSTR locale_num_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/localename-unsafe.c:2593,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-unsafe.c:2594,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/localename-unsafe.c:2596,1
    - Dst: strncpy
      Src: /src/gnulib/lib/localename-unsafe.c:2599,1
    - Dst: EnumSystemLocales
      Src: /src/gnulib/lib/localename-unsafe.c:2602,1
    - Dst: strcpy
      Src: /src/gnulib/lib/localename-unsafe.c:2606,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/localename-unsafe.c:2608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - locale_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2610
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2610
    functionName: get_lcid
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - strcpy
    - EnumSystemLocales
    - gl_lock_unlock
    - strcmp
    - gl_lock_lock
    - strncpy
    linkageType: ''
    returnType: LCID
    signature: LCID get_lcid (const char *locale_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename-unsafe.c:2621,1
    - Dst: uselocale
      Src: /src/gnulib/lib/localename-unsafe.c:2624,1
    - Dst: getlocalename_l_unsafe
      Src: /src/gnulib/lib/localename-unsafe.c:2628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2616
    functionDepth: 1
    functionLinenumber: 2616
    functionLinenumberEnd: 2637
    functionName: gl_locale_name_thread_unsafe
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - abort
    - getlocalename_l_unsafe
    - uselocale
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_thread_unsafe (int category, _GL_UNUSED const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename-unsafe.c:2676,1
    - Dst: get_lcid
      Src: /src/gnulib/lib/localename-unsafe.c:2688,1
    - Dst: gl_locale_name_from_win32_LCID
      Src: /src/gnulib/lib/localename-unsafe.c:2691,1
    - Dst: setlocale_null_unlocked
      Src: /src/gnulib/lib/localename-unsafe.c:2703,1
    - Dst: gl_locale_name_environ
      Src: /src/gnulib/lib/localename-unsafe.c:2722,1
    - Dst: get_lcid
      Src: /src/gnulib/lib/localename-unsafe.c:2732,1
    - Dst: gl_locale_name_from_win32_LCID
      Src: /src/gnulib/lib/localename-unsafe.c:2735,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 2740
      start: 2671
    functionDepth: 3
    functionLinenumber: 2671
    functionLinenumberEnd: 2740
    functionName: gl_locale_name_posix_unsafe
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_locale_name_from_win32_LCID
    - get_lcid
    - setlocale_null_unlocked
    - gl_locale_name_environ
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_posix_unsafe (int category, _GL_UNUSED const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CFPreferencesCopyAppValue
      Src: /src/gnulib/lib/localename-unsafe.c:2805,1
    - Dst: CFSTR
      Src: /src/gnulib/lib/localename-unsafe.c:2805,1
    - Dst: CFGetTypeID
      Src: /src/gnulib/lib/localename-unsafe.c:2807,1
    - Dst: CFStringGetTypeID
      Src: /src/gnulib/lib/localename-unsafe.c:2807,1
    - Dst: CFStringGetCString
      Src: /src/gnulib/lib/localename-unsafe.c:2811,1
    - Dst: gl_locale_name_canonicalize
      Src: /src/gnulib/lib/localename-unsafe.c:2814,1
    - Dst: strdup
      Src: /src/gnulib/lib/localename-unsafe.c:2815,1
    - Dst: GetThreadLocale
      Src: /src/gnulib/lib/localename-unsafe.c:2831,1
    - Dst: gl_locale_name_from_win32_LCID
      Src: /src/gnulib/lib/localename-unsafe.c:2833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2742
    functionDepth: 3
    functionLinenumber: 2742
    functionLinenumberEnd: 2837
    functionName: gl_locale_name_default
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 2
    functionsReached:
    - strdup
    - GetThreadLocale
    - gl_locale_name_canonicalize
    - CFPreferencesCopyAppValue
    - CFSTR
    - gl_locale_name_from_win32_LCID
    - CFStringGetCString
    - CFStringGetTypeID
    - CFGetTypeID
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_default (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename-unsafe.c:2854,1
    - Dst: gl_locale_name_thread_unsafe
      Src: /src/gnulib/lib/localename-unsafe.c:2856,1
    - Dst: gl_locale_name_posix_unsafe
      Src: /src/gnulib/lib/localename-unsafe.c:2860,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/lib/localename-unsafe.c:2864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2865
      start: 2847
    functionDepth: 4
    functionLinenumber: 2847
    functionLinenumberEnd: 2865
    functionName: gl_locale_name_unsafe
    functionSourceFile: /src/gnulib/lib/localename-unsafe.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_locale_name_posix_unsafe
    - gl_locale_name_default
    - gl_locale_name_thread_unsafe
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_unsafe (int category, const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_construct_common
      Src: /src/gnulib/lib/regex_internal.c:57,1
    - Dst: __attribute_warn_unused_result__::re_string_realloc_buffers
      Src: /src/gnulib/lib/regex_internal.c:59,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - pstr
    - str
    - len
    - init_len
    - trans
    - icase
    - dfa
    argTypes:
    - re_string_t*
    - char*
    - Idx
    - Idx
    - RE_TRANSLATE_TYPE
    - bool
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: __attribute_warn_unused_result__::re_string_allocate
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::re_string_realloc_buffers
    - re_string_construct_common
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nre_string_allocate
      (re_string_t *pstr, const char *str, Idx len, Idx init_len,\n\t\t    RE_TRANSLATE_TYPE
      trans, bool icase, const re_dfa_t *dfa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:79,1
    - Dst: re_string_construct_common
      Src: /src/gnulib/lib/regex_internal.c:80,1
    - Dst: __attribute_warn_unused_result__::re_string_realloc_buffers
      Src: /src/gnulib/lib/regex_internal.c:84,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:85,1
    - Dst: __attribute_warn_unused_result__::build_wcs_upper_buffer
      Src: /src/gnulib/lib/regex_internal.c:96,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:97,1
    - Dst: __attribute_warn_unused_result__::re_string_realloc_buffers
      Src: /src/gnulib/lib/regex_internal.c:103,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:104,1
    - Dst: build_upper_buffer
      Src: /src/gnulib/lib/regex_internal.c:109,1
    - Dst: build_wcs_buffer
      Src: /src/gnulib/lib/regex_internal.c:114,1
    - Dst: re_string_translate_buffer
      Src: /src/gnulib/lib/regex_internal.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - pstr
    - str
    - len
    - trans
    - icase
    - dfa
    argTypes:
    - re_string_t*
    - char*
    - Idx
    - RE_TRANSLATE_TYPE
    - bool
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 128
    functionName: __attribute_warn_unused_result__::re_string_construct
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::build_wcs_upper_buffer
    - build_wcs_buffer
    - re_string_translate_buffer
    - __attribute_warn_unused_result__::re_string_realloc_buffers
    - re_string_construct_common
    - __glibc_unlikely
    - build_upper_buffer
    - memset
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nre_string_construct
      (re_string_t *pstr, const char *str, Idx len,\n\t\t     RE_TRANSLATE_TYPE trans,
      bool icase, const re_dfa_t *dfa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:142,1
    - Dst: MIN
      Src: /src/gnulib/lib/regex_internal.c:142,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:146,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:147,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:152,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:153,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pstr
    - new_buf_len
    argTypes:
    - re_string_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: __attribute_warn_unused_result__::re_string_realloc_buffers
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 2
    functionsReached:
    - re_realloc
    - __glibc_unlikely
    - MIN
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - str
    - len
    - pstr
    - trans
    - icase
    - dfa
    argTypes:
    - char*
    - Idx
    - re_string_t*
    - RE_TRANSLATE_TYPE
    - bool
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: re_string_construct_common
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void re_string_construct_common (const char *str, Idx len, re_string_t
      *pstr,\n\t\t\t    RE_TRANSLATE_TYPE trans, bool icase,\n\t\t\t    const re_dfa_t
      *dfa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:206,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:225,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regex_internal.c:238,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:239,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:246,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:250,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 265
    functionName: build_wcs_buffer
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - __mbrtowc
    - DEBUG_ASSERT
    - __glibc_unlikely
    linkageType: ''
    returnType: void
    signature: void build_wcs_buffer (re_string_t *pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:279,1
    - Dst: isascii
      Src: /src/gnulib/lib/regex_internal.c:296,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/regex_internal.c:296,1
    - Dst: __towupper
      Src: /src/gnulib/lib/regex_internal.c:300,1
    - Dst: isascii
      Src: /src/gnulib/lib/regex_internal.c:301,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regex_internal.c:312,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:315,1
    - Dst: __towupper
      Src: /src/gnulib/lib/regex_internal.c:317,1
    - Dst: __wcrtomb
      Src: /src/gnulib/lib/regex_internal.c:322,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:323,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:324,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:332,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:347,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:369,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regex_internal.c:382,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:383,1
    - Dst: __towupper
      Src: /src/gnulib/lib/regex_internal.c:385,1
    - Dst: __wcrtomb
      Src: /src/gnulib/lib/regex_internal.c:390,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:391,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:392,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:405,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:417,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:436,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:439,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:441,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:460,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:464,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:470,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 125
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 483
    functionName: __attribute_warn_unused_result__::build_wcs_upper_buffer
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - DEBUG_ASSERT
    - isascii
    - re_malloc
    - __glibc_likely
    - mbsinit
    - memcpy
    - __glibc_unlikely
    - __towupper
    - __mbrtowc
    - __wcrtomb
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      build_wcs_upper_buffer (re_string_t *pstr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regex_internal.c:503,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pstr
    - new_raw_idx
    - last_wc
    argTypes:
    - re_string_t*
    - Idx
    - wint_t*
    constantsTouched: []
    func_position:
      end: 523
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 523
    functionName: re_string_skip_chars
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - __mbrtowc
    - __glibc_unlikely
    linkageType: ''
    returnType: Idx
    signature: Idx re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t
      *last_wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:537,1
    - Dst: toupper
      Src: /src/gnulib/lib/regex_internal.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: build_upper_buffer
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - toupper
    - __glibc_unlikely
    linkageType: ''
    returnType: void
    signature: void build_upper_buffer (re_string_t *pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 561
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 561
    functionName: re_string_translate_buffer
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void re_string_translate_buffer (re_string_t *pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:573,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:579,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:593,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:596,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:599,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regex_internal.c:615,1
    - Dst: memmove
      Src: /src/gnulib/lib/regex_internal.c:624,1
    - Dst: memmove
      Src: /src/gnulib/lib/regex_internal.c:626,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:655,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regex_internal.c:663,1
    - Dst: memmove
      Src: /src/gnulib/lib/regex_internal.c:666,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:668,1
    - Dst: memmove
      Src: /src/gnulib/lib/regex_internal.c:669,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:673,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:681,1
    - Dst: isascii
      Src: /src/gnulib/lib/regex_internal.c:707,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:707,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:709,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:725,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:734,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regex_internal.c:735,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:740,1
    - Dst: re_string_skip_chars
      Src: /src/gnulib/lib/regex_internal.c:750,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regex_internal.c:753,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:755,1
    - Dst: IS_WIDE_WORD_CHAR
      Src: /src/gnulib/lib/regex_internal.c:756,1
    - Dst: IS_WIDE_NEWLINE
      Src: /src/gnulib/lib/regex_internal.c:758,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:761,1
    - Dst: memset
      Src: /src/gnulib/lib/regex_internal.c:766,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regex_internal.c:776,1
    - Dst: IS_NEWLINE
      Src: /src/gnulib/lib/regex_internal.c:778,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:782,1
    - Dst: __attribute_warn_unused_result__::build_wcs_upper_buffer
      Src: /src/gnulib/lib/regex_internal.c:794,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:795,1
    - Dst: build_wcs_buffer
      Src: /src/gnulib/lib/regex_internal.c:799,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:802,1
    - Dst: build_upper_buffer
      Src: /src/gnulib/lib/regex_internal.c:805,1
    - Dst: re_string_translate_buffer
      Src: /src/gnulib/lib/regex_internal.c:807,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 144
    argCount: 3
    argNames:
    - pstr
    - idx
    - eflags
    argTypes:
    - re_string_t*
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 814
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 814
    functionName: __attribute_warn_unused_result__::re_string_reconstruct
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - isascii
    - memmove
    - __glibc_likely
    - __attribute_warn_unused_result__::build_wcs_upper_buffer
    - build_wcs_buffer
    - re_string_skip_chars
    - bitset_contain
    - re_string_translate_buffer
    - IS_NEWLINE
    - __glibc_unlikely
    - re_string_context_at
    - memset
    - build_upper_buffer
    - __mbrtowc
    - IS_WIDE_NEWLINE
    - IS_WIDE_WORD_CHAR
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:824,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regex_internal.c:825,1
    - Dst: re_string_is_single_byte_char
      Src: /src/gnulib/lib/regex_internal.c:828,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regex_internal.c:829,1
    - Dst: isascii
      Src: /src/gnulib/lib/regex_internal.c:841,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regex_internal.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pstr
    - idx
    argTypes:
    - re_string_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 845
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 845
    functionName: re_string_peek_byte_case
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_string_peek_byte
    - re_string_is_single_byte_char
    - __glibc_likely
    - isascii
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char re_string_peek_byte_case (const re_string_t *pstr, Idx
      idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:850,1
    - Dst: re_string_fetch_byte
      Src: /src/gnulib/lib/regex_internal.c:851,1
    - Dst: re_string_first_byte
      Src: /src/gnulib/lib/regex_internal.c:865,1
    - Dst: re_string_fetch_byte
      Src: /src/gnulib/lib/regex_internal.c:866,1
    - Dst: isascii
      Src: /src/gnulib/lib/regex_internal.c:871,1
    - Dst: re_string_fetch_byte
      Src: /src/gnulib/lib/regex_internal.c:872,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regex_internal.c:874,1
    - Dst: re_string_char_size_at
      Src: /src/gnulib/lib/regex_internal.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 880
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 880
    functionName: re_string_fetch_byte_case
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - isascii
    - __glibc_likely
    - re_string_skip_bytes
    - re_string_char_size_at
    - re_string_fetch_byte
    - re_string_first_byte
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char re_string_fetch_byte_case (re_string_t *pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:885,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:886,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - re_string_t*
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: re_string_destruct
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_free
    linkageType: ''
    returnType: void
    signature: void re_string_destruct (re_string_t *pstr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:897,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:901,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:910,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:916,1
    - Dst: IS_WIDE_WORD_CHAR
      Src: /src/gnulib/lib/regex_internal.c:917,1
    - Dst: IS_WIDE_NEWLINE
      Src: /src/gnulib/lib/regex_internal.c:919,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regex_internal.c:924,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regex_internal.c:925,1
    - Dst: IS_NEWLINE
      Src: /src/gnulib/lib/regex_internal.c:927,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - input
    - idx
    - eflags
    argTypes:
    - re_string_t*
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 929
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 929
    functionName: re_string_context_at
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - DEBUG_ASSERT
    - re_string_byte_at
    - bitset_contain
    - IS_NEWLINE
    - __glibc_unlikely
    - IS_WIDE_NEWLINE
    - IS_WIDE_WORD_CHAR
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int re_string_context_at (const re_string_t *input, Idx idx,
      int eflags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:939,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - set
    - size
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 943
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 943
    functionName: __attribute_warn_unused_result__::re_node_set_alloc
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_node_set_alloc (re_node_set *set, Idx size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:951,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - set
    - elem
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 959
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 959
    functionName: __attribute_warn_unused_result__::re_node_set_init_1
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_node_set_init_1 (re_node_set *set, Idx elem)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:966,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - set
    - elem1
    - elem2
    argTypes:
    - re_node_set*
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 989
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 989
    functionName: __attribute_warn_unused_result__::re_node_set_init_2
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_node_set_init_2 (re_node_set *set, Idx elem1, Idx elem2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:999,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1000,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1005,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regex_internal.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1010
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1010
    functionName: __attribute_warn_unused_result__::re_node_set_init_copy
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - memcpy
    - re_malloc
    - __glibc_unlikely
    - re_node_set_init_empty
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_node_set_init_copy (re_node_set *dest, const re_node_set *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1030,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1031,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1099,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 3
    argNames:
    - dest
    - src1
    - src2
    argTypes:
    - re_node_set*
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1102
    functionName: __attribute_warn_unused_result__::re_node_set_add_intersect
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - memcpy
    - re_realloc
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nre_node_set_add_intersect
      (re_node_set *dest, const re_node_set *src1,\n\t\t\t   const re_node_set *src2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:1116,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1117,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regex_internal.c:1123,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regex_internal.c:1125,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regex_internal.c:1127,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1143,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - dest
    - src1
    - src2
    argTypes:
    - re_node_set*
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1155
    functionName: __attribute_warn_unused_result__::re_node_set_init_union
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    - memcpy
    - __attribute_warn_unused_result__::re_node_set_init_copy
    - re_node_set_init_empty
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nre_node_set_init_union
      (re_node_set *dest, const re_node_set *src1,\n\t\t\tconst re_node_set *src2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1170,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1171,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1177,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:1182,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1184,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1205,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regex_internal.c:1233,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1241
    functionName: __attribute_warn_unused_result__::re_node_set_merge
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - memcpy
    - re_realloc
    - __glibc_unlikely
    - DEBUG_ASSERT
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      re_node_set_merge (re_node_set *dest, const re_node_set *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regex_internal.c:1254,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_1
      Src: /src/gnulib/lib/regex_internal.c:1254,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1256,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:1261,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1272,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1273,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regex_internal.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - set
    - elem
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 1296
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1296
    functionName: __attribute_warn_unused_result__::re_node_set_insert
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - __glibc_likely
    - re_realloc
    - __attribute_warn_unused_result__::re_node_set_init_1
    - __glibc_unlikely
    linkageType: ''
    returnType: bool
    signature: 'bool __attribute_warn_unused_result__

      re_node_set_insert (re_node_set *set, Idx elem)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1311,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - set
    - elem
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 1320
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1320
    functionName: __attribute_warn_unused_result__::re_node_set_insert_last
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_realloc
    - __glibc_unlikely
    linkageType: ''
    returnType: bool
    signature: 'bool __attribute_warn_unused_result__

      re_node_set_insert_last (re_node_set *set, Idx elem)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - set1
    - set2
    argTypes:
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1336
    functionName: re_node_set_compare
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool re_node_set_compare (const re_node_set *set1, const re_node_set
      *set2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - set
    - elem
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 1360
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1360
    functionName: re_node_set_contains
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Idx
    signature: Idx re_node_set_contains (const re_node_set *set, Idx elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - set
    - idx
    argTypes:
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 1370
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1370
    functionName: re_node_set_remove_at
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void re_node_set_remove_at (re_node_set *set, Idx idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1379,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1390,1
    - Dst: MIN
      Src: /src/gnulib/lib/regex_internal.c:1390,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1394,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1395,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1399,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1402,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1405,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1408,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1411,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regex_internal.c:1421,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regex_internal.c:1422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - dfa
    - token
    argTypes:
    - re_dfa_t*
    - re_token_t
    constantsTouched: []
    func_position:
      end: 1424
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1424
    functionName: re_dfa_add_node
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_node_set_init_empty
    - re_realloc
    - __glibc_unlikely
    - MIN
    linkageType: ''
    returnType: Idx
    signature: Idx re_dfa_add_node (re_dfa_t *dfa, re_token_t token)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nodes
    - context
    argTypes:
    - re_node_set*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1434
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1434
    functionName: calc_state_hash
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: re_hashval_t
    signature: re_hashval_t calc_state_hash (const re_node_set *nodes, unsigned int
      context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1458,1
    - Dst: calc_state_hash
      Src: /src/gnulib/lib/regex_internal.c:1463,1
    - Dst: re_node_set_compare
      Src: /src/gnulib/lib/regex_internal.c:1471,1
    - Dst: __attribute_warn_unused_result__::create_ci_newstate
      Src: /src/gnulib/lib/regex_internal.c:1476,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - err
    - dfa
    - nodes
    argTypes:
    - reg_errcode_t*
    - re_dfa_t*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1481
    functionName: __attribute_warn_unused_result__::re_acquire_state
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_node_set_compare
    - __attribute_warn_unused_result__::create_ci_newstate
    - __glibc_unlikely
    - calc_state_hash
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\n__attribute_warn_unused_result__\nre_acquire_state
      (reg_errcode_t *err, const re_dfa_t *dfa,\n\t\t  const re_node_set *nodes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_state_hash
      Src: /src/gnulib/lib/regex_internal.c:1511,1
    - Dst: re_node_set_compare
      Src: /src/gnulib/lib/regex_internal.c:1519,1
    - Dst: __attribute_warn_unused_result__::create_cd_newstate
      Src: /src/gnulib/lib/regex_internal.c:1523,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - err
    - dfa
    - nodes
    - context
    argTypes:
    - reg_errcode_t*
    - re_dfa_t*
    - re_node_set*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1528
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1528
    functionName: __attribute_warn_unused_result__::re_acquire_state_context
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::create_cd_newstate
    - re_node_set_compare
    - __glibc_unlikely
    - calc_state_hash
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\n__attribute_warn_unused_result__\nre_acquire_state_context
      (reg_errcode_t *err, const re_dfa_t *dfa,\n\t\t\t  const re_node_set *nodes,
      unsigned int context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __attribute_warn_unused_result__::re_node_set_alloc
      Src: /src/gnulib/lib/regex_internal.c:1544,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1545,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regex_internal.c:1550,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert_last
      Src: /src/gnulib/lib/regex_internal.c:1551,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1556,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regex_internal.c:1559,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - dfa
    - newstate
    - hash
    argTypes:
    - re_dfa_t*
    - re_dfastate_t*
    - re_hashval_t
    constantsTouched: []
    func_position:
      end: 1568
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1568
    functionName: __attribute_warn_unused_result__::register_state
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_realloc
    - __attribute_warn_unused_result__::re_node_set_alloc
    - __glibc_unlikely
    - IS_EPSILON_NODE
    - __attribute_warn_unused_result__::re_node_set_insert_last
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nregister_state (const
      re_dfa_t *dfa, re_dfastate_t *newstate,\n\t\tre_hashval_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regex_internal.c:1573,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regex_internal.c:1574,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regex_internal.c:1577,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1578,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regex_internal.c:1580,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1581,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1582,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1584
    functionName: free_state
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 0
    functionsReached:
    - re_free
    - re_node_set_free
    linkageType: ''
    returnType: void
    signature: void free_state (re_dfastate_t *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/regex_internal.c:1598,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1599,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regex_internal.c:1601,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1602,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1604,1
    - Dst: __attribute_warn_unused_result__::register_state
      Src: /src/gnulib/lib/regex_internal.c:1625,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1626,1
    - Dst: free_state
      Src: /src/gnulib/lib/regex_internal.c:1628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - dfa
    - nodes
    - hash
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - re_hashval_t
    constantsTouched: []
    func_position:
      end: 1632
      start: 1589
    functionDepth: 2
    functionLinenumber: 1589
    functionLinenumberEnd: 1632
    functionName: __attribute_warn_unused_result__::create_ci_newstate
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - __attribute_warn_unused_result__::register_state
    - calloc
    - free_state
    - re_free
    - __glibc_unlikely
    - __attribute_warn_unused_result__::re_node_set_init_copy
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\n__attribute_warn_unused_result__\ncreate_ci_newstate
      (const re_dfa_t *dfa, const re_node_set *nodes,\n\t\t    re_hashval_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/regex_internal.c:1646,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1647,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regex_internal.c:1649,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1650,1
    - Dst: re_free
      Src: /src/gnulib/lib/regex_internal.c:1652,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regex_internal.c:1679,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1680,1
    - Dst: free_state
      Src: /src/gnulib/lib/regex_internal.c:1682,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regex_internal.c:1686,1
    - Dst: free_state
      Src: /src/gnulib/lib/regex_internal.c:1689,1
    - Dst: NOT_SATISFY_PREV_CONSTRAINT
      Src: /src/gnulib/lib/regex_internal.c:1696,1
    - Dst: re_node_set_remove_at
      Src: /src/gnulib/lib/regex_internal.c:1698,1
    - Dst: __attribute_warn_unused_result__::register_state
      Src: /src/gnulib/lib/regex_internal.c:1703,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regex_internal.c:1704,1
    - Dst: free_state
      Src: /src/gnulib/lib/regex_internal.c:1706,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - dfa
    - nodes
    - context
    - hash
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - unsigned int
    - re_hashval_t
    constantsTouched: []
    func_position:
      end: 1710
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1710
    functionName: __attribute_warn_unused_result__::create_cd_newstate
    functionSourceFile: /src/gnulib/lib/regex_internal.c
    functionUses: 1
    functionsReached:
    - re_malloc
    - __attribute_warn_unused_result__::register_state
    - calloc
    - free_state
    - re_free
    - __glibc_unlikely
    - NOT_SATISFY_PREV_CONSTRAINT
    - re_node_set_remove_at
    - __attribute_warn_unused_result__::re_node_set_init_copy
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\n__attribute_warn_unused_result__\ncreate_cd_newstate
      (const re_dfa_t *dfa, const re_node_set *nodes,\n\t\t    unsigned int context,
      re_hashval_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/fopen-safer.c:33,1
    - Dst: fclose
      Src: /src/gnulib/lib/fopen-safer.c:46,1
    - Dst: fclose
      Src: /src/gnulib/lib/fopen-safer.c:51,1
    - Dst: fdopen
      Src: /src/gnulib/lib/fopen-safer.c:52,1
    - Dst: close
      Src: /src/gnulib/lib/fopen-safer.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - file
    - mode
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: fopen_safer
    functionSourceFile: /src/gnulib/lib/fopen-safer.c
    functionUses: 0
    functionsReached:
    - fopen
    - fdopen
    - fclose
    - close
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      fopen_safer (char const *file, char const *mode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - maxcount
    - grouplist
    - username
    - gid_t
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED*
    - _GL_UNUSED*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: getugroups
    functionSourceFile: /src/gnulib/lib/getugroups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int getugroups (_GL_UNUSED int maxcount,\n            _GL_UNUSED gid_t
      *grouplist,\n            _GL_UNUSED char const *username,\n            _GL_UNUSED
      gid_t gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setgrent
      Src: /src/gnulib/lib/getugroups.c:73,1
    - Dst: getgrent
      Src: /src/gnulib/lib/getugroups.c:80,1
    - Dst: STREQ
      Src: /src/gnulib/lib/getugroups.c:88,1
    - Dst: endgrent
      Src: /src/gnulib/lib/getugroups.c:121,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 4
    argNames:
    - maxcount
    - grouplist
    - username
    - gid
    argTypes:
    - int
    - gid_t*
    - char*
    - gid_t
    constantsTouched: []
    func_position:
      end: 126
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 126
    functionName: getugroups
    functionSourceFile: /src/gnulib/lib/getugroups.c
    functionUses: 0
    functionsReached:
    - getgrent
    - endgrent
    - setgrent
    - STREQ
    linkageType: ''
    returnType: int
    signature: "int getugroups (int maxcount, gid_t *grouplist, char const *username,\n
      \           gid_t gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnulib/lib/dup-safer.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: dup_safer
    functionSourceFile: /src/gnulib/lib/dup-safer.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int dup_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/xmemcoll.c:39,1
    - Dst: _
      Src: /src/gnulib/lib/xmemcoll.c:39,1
    - Dst: error
      Src: /src/gnulib/lib/xmemcoll.c:40,1
    - Dst: _
      Src: /src/gnulib/lib/xmemcoll.c:40,1
    - Dst: error
      Src: /src/gnulib/lib/xmemcoll.c:41,1
    - Dst: _
      Src: /src/gnulib/lib/xmemcoll.c:42,1
    - Dst: quotearg_n_style_mem
      Src: /src/gnulib/lib/xmemcoll.c:43,1
    - Dst: quotearg_n_style_mem
      Src: /src/gnulib/lib/xmemcoll.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - collation_errno
    - s1
    - s1len
    - s2
    - s2len
    argTypes:
    - int
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: collate_error
    functionSourceFile: /src/gnulib/lib/xmemcoll.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - quotearg_n_style_mem
    linkageType: ''
    returnType: void
    signature: "void collate_error (int collation_errno,\n               char const
      *s1, size_t s1len,\n               char const *s2, size_t s2len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collate_error
      Src: /src/gnulib/lib/xmemcoll.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s1
    - s1len
    - s2
    - s2len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: xmemcoll
    functionSourceFile: /src/gnulib/lib/xmemcoll.c
    functionUses: 0
    functionsReached:
    - collate_error
    linkageType: ''
    returnType: int
    signature: int xmemcoll (char *s1, size_t s1len, char *s2, size_t s2len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collate_error
      Src: /src/gnulib/lib/xmemcoll.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s1
    - s1size
    - s2
    - s2size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: xmemcoll0
    functionSourceFile: /src/gnulib/lib/xmemcoll.c
    functionUses: 0
    functionsReached:
    - collate_error
    linkageType: ''
    returnType: int
    signature: int xmemcoll0 (char const *s1, size_t s1size, char const *s2, size_t
      s2size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - file
    - uid_t
    - gid_t
    argTypes:
    - _GL_UNUSED*
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: chown
    functionSourceFile: /src/gnulib/lib/chown.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int chown (_GL_UNUSED const char *file, _GL_UNUSED uid_t uid,\n       _GL_UNUSED
      gid_t gid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/chown.c:66,1
    - Dst: stat
      Src: /src/gnulib/lib/chown.c:76,1
    - Dst: readlink
      Src: /src/gnulib/lib/chown.c:91,1
    - Dst: open
      Src: /src/gnulib/lib/chown.c:97,1
    - Dst: open
      Src: /src/gnulib/lib/chown.c:99,1
    - Dst: open
      Src: /src/gnulib/lib/chown.c:101,1
    - Dst: close
      Src: /src/gnulib/lib/chown.c:106,1
    - Dst: stat
      Src: /src/gnulib/lib/chown.c:116,1
    - Dst: chown
      Src: /src/gnulib/lib/chown.c:121,1
    - Dst: chmod
      Src: /src/gnulib/lib/chown.c:133,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 30
    argCount: 3
    argNames:
    - file
    - uid
    - gid
    argTypes:
    - char*
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 139
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 139
    functionName: rpl_chown
    functionSourceFile: /src/gnulib/lib/chown.c
    functionUses: 0
    functionsReached:
    - open
    - chown
    - close
    - stat
    - readlink
    - chmod
    linkageType: ''
    returnType: int
    signature: int rpl_chown (const char *file, uid_t uid, gid_t gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/pipe-filter-aux.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: nonintr_close
    functionSourceFile: /src/gnulib/lib/pipe-filter-aux.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: PIPE_FILTER_AUX_INLINE
    signature: PIPE_FILTER_AUX_INLINE nonintr_close (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/gnulib/lib/pipe-filter-aux.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: nonintr_read
    functionSourceFile: /src/gnulib/lib/pipe-filter-aux.h
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: PIPE_FILTER_AUX_INLINE
    signature: PIPE_FILTER_AUX_INLINE nonintr_read (int fd, void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/gnulib/lib/pipe-filter-aux.h:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: nonintr_write
    functionSourceFile: /src/gnulib/lib/pipe-filter-aux.h
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: PIPE_FILTER_AUX_INLINE
    signature: PIPE_FILTER_AUX_INLINE nonintr_write (int fd, const void *buf, size_t
      count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct sigaction*
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: get_handler
    functionSourceFile: /src/gnulib/lib/sig-handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIG_HANDLER_INLINE
    signature: SIG_HANDLER_INLINE get_handler (struct sigaction const *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/gnulib/lib/gettime.c:32,1
    - Dst: timespec_get
      Src: /src/gnulib/lib/gettime.c:34,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/gettime.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: gettime
    functionSourceFile: /src/gnulib/lib/gettime.c
    functionUses: 45
    functionsReached:
    - timespec_get
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void gettime (struct timespec *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettime
      Src: /src/gnulib/lib/gettime.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: current_timespec
    functionSourceFile: /src/gnulib/lib/gettime.c
    functionUses: 1
    functionsReached:
    - gettime
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec current_timespec (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tanh
      Src: /src/gnulib/lib/tanhf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: tanhf
    functionSourceFile: /src/gnulib/lib/tanhf.c
    functionUses: 1
    functionsReached:
    - tanh
    linkageType: ''
    returnType: float
    signature: float tanhf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - int
    - GETGROUPS_T *groups
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: getgroups
    functionSourceFile: /src/gnulib/lib/getgroups.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getgroups (_GL_UNUSED int n, _GL_UNUSED GETGROUPS_T *groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getgroups
      Src: /src/gnulib/lib/getgroups.c:84,1
    - Dst: malloc
      Src: /src/gnulib/lib/getgroups.c:91,1
    - Dst: getgroups
      Src: /src/gnulib/lib/getgroups.c:94,1
    - Dst: free
      Src: /src/gnulib/lib/getgroups.c:101,1
    - Dst: malloc
      Src: /src/gnulib/lib/getgroups.c:111,1
    - Dst: getgroups
      Src: /src/gnulib/lib/getgroups.c:114,1
    - Dst: free
      Src: /src/gnulib/lib/getgroups.c:117,1
    - Dst: free
      Src: /src/gnulib/lib/getgroups.c:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - n
    - group
    argTypes:
    - int
    - gid_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 123
    functionName: rpl_getgroups
    functionSourceFile: /src/gnulib/lib/getgroups.c
    functionUses: 0
    functionsReached:
    - getgroups
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int rpl_getgroups (int n, gid_t *group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/printf-parse.c:107,1
    - Dst: malloc
      Src: /src/gnulib/lib/printf-parse.c:108,1
    - Dst: memcpy
      Src: /src/gnulib/lib/printf-parse.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - format
    - d
    - a
    argTypes:
    - CHAR_T*
    - DIRECTIVES*
    - arguments*
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: PRINTF_PARSE
    functionSourceFile: /src/gnulib/lib/printf-parse.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - realloc
    linkageType: ''
    returnType: int
    signature: int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup_cloexec
      Src: /src/gnulib/lib/os2-spawn.c:49,1
    - Dst: error
      Src: /src/gnulib/lib/os2-spawn.c:51,1
    - Dst: _
      Src: /src/gnulib/lib/os2-spawn.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: dup_noinherit
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - dup_cloexec
    linkageType: ''
    returnType: int
    signature: int dup_noinherit (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/os2-spawn.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: fd_safer_noinherit
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer_noinherit (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:79,1
    - Dst: dup_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: dup_safer_noinherit
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - fd_safer_noinherit
    - dup_noinherit
    linkageType: ''
    returnType: int
    signature: int dup_safer_noinherit (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/lib/os2-spawn.c:87,1
    - Dst: error
      Src: /src/gnulib/lib/os2-spawn.c:88,1
    - Dst: _
      Src: /src/gnulib/lib/os2-spawn.c:88,1
    - Dst: close
      Src: /src/gnulib/lib/os2-spawn.c:90,1
    - Dst: close
      Src: /src/gnulib/lib/os2-spawn.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tempfd
    - origfd
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: undup_safer_noinherit
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - dup2
    - close
    linkageType: ''
    returnType: void
    signature: void undup_safer_noinherit (int tempfd, int origfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/os2-spawn.c:112,1
    - Dst: malloc
      Src: /src/gnulib/lib/os2-spawn.c:136,1
    - Dst: free
      Src: /src/gnulib/lib/os2-spawn.c:140,1
    - Dst: memcpy
      Src: /src/gnulib/lib/os2-spawn.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 160
    functionName: prepare_spawn
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char **

      prepare_spawn (const char * const *argv, char **mem_to_free)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/gnulib/lib/os2-spawn.c:189,1
    - Dst: dlsym
      Src: /src/gnulib/lib/os2-spawn.c:191,1
    - Dst: strcmp
      Src: /src/gnulib/lib/os2-spawn.c:198,1
    - Dst: dup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:207,1
    - Dst: dup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:210,1
    - Dst: dup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:213,1
    - Dst: dup2
      Src: /src/gnulib/lib/os2-spawn.c:215,1
    - Dst: dup2
      Src: /src/gnulib/lib/os2-spawn.c:217,1
    - Dst: dup2
      Src: /src/gnulib/lib/os2-spawn.c:219,1
    - Dst: strcmp
      Src: /src/gnulib/lib/os2-spawn.c:222,1
    - Dst: spawnvpe
      Src: /src/gnulib/lib/os2-spawn.c:223,1
    - Dst: libcx_spawn2
      Src: /src/gnulib/lib/os2-spawn.c:227,1
    - Dst: undup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:234,1
    - Dst: undup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:237,1
    - Dst: undup_safer_noinherit
      Src: /src/gnulib/lib/os2-spawn.c:240,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 8
    argNames:
    - mode
    - progname
    - argv
    - envp
    - currdir
    - new_stdin
    - new_stdout
    - new_stderr
    argTypes:
    - int
    - char*
    - char**
    - char**
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 243
    functionName: spawnpvech
    functionSourceFile: /src/gnulib/lib/os2-spawn.c
    functionUses: 0
    functionsReached:
    - dup_safer_noinherit
    - undup_safer_noinherit
    - dup2
    - libcx_spawn2
    - dlsym
    - strcmp
    - dlopen
    - spawnvpe
    linkageType: ''
    returnType: int
    signature: "int spawnpvech (int mode,\n            const char *progname, const
      char * const *argv,\n            const char * const *envp,\n            const
      char *currdir,\n            int new_stdin, int new_stdout, int new_stderr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/mbtowc-impl.h:33,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/mbtowc-impl.h:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pwc
    - s
    - n
    argTypes:
    - wchar_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: mbtowc
    functionSourceFile: /src/gnulib/lib/mbtowc-impl.h
    functionUses: 2
    functionsReached:
    - mbszero
    - mbrtowc
    linkageType: ''
    returnType: int
    signature: int mbtowc (wchar_t *pwc, const char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getcwd
      Src: /src/gnulib/lib/getcwd.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: getcwd_nothrow
    functionSourceFile: /src/gnulib/lib/getcwd.c
    functionUses: 0
    functionsReached:
    - _getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      getcwd_nothrow (char *buf, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnulib/lib/getcwd.c:177,1
    - Dst: getcwd_system
      Src: /src/gnulib/lib/getcwd.c:218,1
    - Dst: getcwd_system
      Src: /src/gnulib/lib/getcwd.c:229,1
    - Dst: strdup
      Src: /src/gnulib/lib/getcwd.c:231,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:245,1
    - Dst: malloc
      Src: /src/gnulib/lib/getcwd.c:254,1
    - Dst: __lstat64
      Src: /src/gnulib/lib/getcwd.c:264,1
    - Dst: __lstat64
      Src: /src/gnulib/lib/getcwd.c:269,1
    - Dst: __openat64
      Src: /src/gnulib/lib/getcwd.c:287,1
    - Dst: __fstat64
      Src: /src/gnulib/lib/getcwd.c:291,1
    - Dst: __lstat64
      Src: /src/gnulib/lib/getcwd.c:296,1
    - Dst: __closedir
      Src: /src/gnulib/lib/getcwd.c:301,1
    - Dst: __fdopendir
      Src: /src/gnulib/lib/getcwd.c:314,1
    - Dst: __opendir
      Src: /src/gnulib/lib/getcwd.c:319,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:328,1
    - Dst: __readdir64
      Src: /src/gnulib/lib/getcwd.c:329,1
    - Dst: __rewinddir
      Src: /src/gnulib/lib/getcwd.c:341,1
    - Dst: __readdir64
      Src: /src/gnulib/lib/getcwd.c:342,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:350,1
    - Dst: __fstatat64
      Src: /src/gnulib/lib/getcwd.c:368,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd.c:388,1
    - Dst: malloc
      Src: /src/gnulib/lib/getcwd.c:389,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getcwd.c:404,1
    - Dst: _D_ALLOC_NAMLEN
      Src: /src/gnulib/lib/getcwd.c:404,1
    - Dst: __lstat64
      Src: /src/gnulib/lib/getcwd.c:405,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/getcwd.c:412,1
    - Dst: _D_EXACT_NAMLEN
      Src: /src/gnulib/lib/getcwd.c:419,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:425,1
    - Dst: MAX
      Src: /src/gnulib/lib/getcwd.c:433,1
    - Dst: realloc
      Src: /src/gnulib/lib/getcwd.c:435,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getcwd.c:440,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getcwd.c:447,1
    - Dst: sprintf
      Src: /src/gnulib/lib/getcwd.c:469,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:492,1
    - Dst: realloc
      Src: /src/gnulib/lib/getcwd.c:502,1
    - Dst: memmove
      Src: /src/gnulib/lib/getcwd.c:506,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getcwd.c:513,1
    - Dst: __closedir
      Src: /src/gnulib/lib/getcwd.c:521,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd.c:532,1
    - Dst: memmove
      Src: /src/gnulib/lib/getcwd.c:536,1
    - Dst: realloc
      Src: /src/gnulib/lib/getcwd.c:540,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:550,1
    - Dst: __closedir
      Src: /src/gnulib/lib/getcwd.c:555,1
    - Dst: __close_nocancel_nostatus
      Src: /src/gnulib/lib/getcwd.c:558,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd.c:561,1
    - Dst: free
      Src: /src/gnulib/lib/getcwd.c:564,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/getcwd.c:565,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 198
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 568
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 568
    functionName: __getcwd_generic
    functionSourceFile: /src/gnulib/lib/getcwd.c
    functionUses: 0
    functionsReached:
    - __fstatat64
    - getcwd_system
    - __opendir
    - __readdir64
    - memmove
    - free
    - __set_errno
    - MIN
    - sprintf
    - __fdopendir
    - realloc
    - __openat64
    - __closedir
    - __rewinddir
    - S_ISDIR
    - __lstat64
    - malloc
    - _D_ALLOC_NAMLEN
    - strdup
    - MAX
    - __fstat64
    - __close_nocancel_nostatus
    - memcpy
    - _D_EXACT_NAMLEN
    linkageType: ''
    returnType: GETCWD_RETURN_TYPE
    signature: GETCWD_RETURN_TYPE __getcwd_generic (char *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_implementation_t::nx_create_empty
      Src: /src/gnulib/lib/gl_set.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    argTypes:
    - gl_set_implementation_t
    - gl_setelement_equals_fn
    - gl_setelement_hashcode_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: gl_set_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - gl_set_implementation_t::nx_create_empty
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: "GL_SET_INLINE gl_set_nx_create_empty (gl_set_implementation_t implementation,\n
      \                       gl_setelement_equals_fn equals_fn,\n                        gl_setelement_hashcode_fn
      hashcode_fn,\n                        gl_setelement_dispose_fn dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::size
      Src: /src/gnulib/lib/gl_set.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: gl_set_size
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 0
    functionsReached:
    - vtable::size
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_size (gl_set_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search
      Src: /src/gnulib/lib/gl_set.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_set_t
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: gl_set_search
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - vtable::search
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_search (gl_set_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::nx_add
      Src: /src/gnulib/lib/gl_set.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_set_t
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: gl_set_nx_add
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - vtable::nx_add
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD gl_set_nx_add (gl_set_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::remove_elt
      Src: /src/gnulib/lib/gl_set.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_set_t
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: gl_set_remove
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - vtable::remove_elt
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_remove (gl_set_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::set_free
      Src: /src/gnulib/lib/gl_set.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: gl_set_free
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - vtable::set_free
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_free (gl_set_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::iterator
      Src: /src/gnulib/lib/gl_set.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_set_t
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: gl_set_iterator_t::gl_set_iterator
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 0
    functionsReached:
    - vtable::iterator
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: 'GL_SET_INLINE gl_set_iterator_t

      gl_set_iterator (gl_set_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_iterator_t*::vtable::iterator_next
      Src: /src/gnulib/lib/gl_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iterator
    - eltp
    argTypes:
    - gl_set_iterator_t*
    - void**
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: gl_set_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - gl_set_iterator_t*::vtable::iterator_next
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_iterator_next (gl_set_iterator_t *iterator, const
      void **eltp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_iterator_t*::vtable::iterator_free
      Src: /src/gnulib/lib/gl_set.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_set_iterator_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: gl_set_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_set.h
    functionUses: 3
    functionsReached:
    - gl_set_iterator_t*::vtable::iterator_free
    linkageType: ''
    returnType: GL_SET_INLINE
    signature: GL_SET_INLINE gl_set_iterator_free (gl_set_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __faccessat
      Src: /src/gnulib/lib/canonicalize-lgpl.c:104,1
    - Dst: stat
      Src: /src/gnulib/lib/canonicalize-lgpl.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: file_accessible
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - __faccessat
    - stat
    linkageType: ''
    returnType: bool
    signature: bool file_accessible (char const *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:122,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:127,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - end
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 141
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 141
    functionName: _GL_ATTRIBUTE_PURE::suffix_requires_dir_check
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - ISSLASH
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_PURE

      suffix_requires_dir_check (char const *end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:161,1
    - Dst: file_accessible
      Src: /src/gnulib/lib/canonicalize-lgpl.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dir
    - dirend
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: dir_check
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - file_accessible
    - strcpy
    linkageType: ''
    returnType: bool
    signature: bool dir_check (char *dir, char *dirend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: get_path_max
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - __set_errno
    linkageType: ''
    returnType: idx_t
    signature: idx_t get_path_max (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:205,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:213,1
    - Dst: FILE_SYSTEM_PREFIX_LEN
      Src: /src/gnulib/lib/canonicalize-lgpl.c:223,1
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/canonicalize-lgpl.c:225,1
    - Dst: __getcwd
      Src: /src/gnulib/lib/canonicalize-lgpl.c:227,1
    - Dst: scratch_buffer_grow
      Src: /src/gnulib/lib/canonicalize-lgpl.c:234,1
    - Dst: __rawmemchr
      Src: /src/gnulib/lib/canonicalize-lgpl.c:238,1
    - Dst: FILE_SYSTEM_PREFIX_LEN
      Src: /src/gnulib/lib/canonicalize-lgpl.c:240,1
    - Dst: __mempcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:244,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:249,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:249,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:259,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:263,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:278,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:282,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:282,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:287,1
    - Dst: scratch_buffer_grow_preserve
      Src: /src/gnulib/lib/canonicalize-lgpl.c:294,1
    - Dst: __mempcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:300,1
    - Dst: __readlink
      Src: /src/gnulib/lib/canonicalize-lgpl.c:309,1
    - Dst: scratch_buffer_grow
      Src: /src/gnulib/lib/canonicalize-lgpl.c:312,1
    - Dst: __eloop_threshold
      Src: /src/gnulib/lib/canonicalize-lgpl.c:317,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:319,1
    - Dst: INT_ADD_OVERFLOW
      Src: /src/gnulib/lib/canonicalize-lgpl.c:330,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:332,1
    - Dst: scratch_buffer_grow_preserve
      Src: /src/gnulib/lib/canonicalize-lgpl.c:337,1
    - Dst: memmove
      Src: /src/gnulib/lib/canonicalize-lgpl.c:345,1
    - Dst: memcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:346,1
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/canonicalize-lgpl.c:349,1
    - Dst: FILE_SYSTEM_PREFIX_LEN
      Src: /src/gnulib/lib/canonicalize-lgpl.c:351,1
    - Dst: __mempcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:353,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:357,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:357,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:369,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:372,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:372,1
    - Dst: suffix_requires_dir_check
      Src: /src/gnulib/lib/canonicalize-lgpl.c:376,1
    - Dst: dir_check
      Src: /src/gnulib/lib/canonicalize-lgpl.c:377,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:382,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:385,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/canonicalize-lgpl.c:385,1
    - Dst: get_path_max
      Src: /src/gnulib/lib/canonicalize-lgpl.c:396,1
    - Dst: strcpy
      Src: /src/gnulib/lib/canonicalize-lgpl.c:398,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:405,1
    - Dst: __strdup
      Src: /src/gnulib/lib/canonicalize-lgpl.c:413,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 135
    argCount: 3
    argNames:
    - name
    - resolved
    - bufs
    argTypes:
    - char*
    - char*
    - struct realpath_bufs*
    constantsTouched: []
    func_position:
      end: 415
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 415
    functionName: realpath_stk
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - __strdup
    - IS_ABSOLUTE_FILE_NAME
    - __mempcpy
    - ISSLASH
    - memmove
    - suffix_requires_dir_check
    - strcpy
    - __set_errno
    - dir_check
    - scratch_buffer_grow_preserve
    - scratch_buffer_grow
    - __rawmemchr
    - get_path_max
    - FILE_SYSTEM_PREFIX_LEN
    - __getcwd
    - INT_ADD_OVERFLOW
    - __eloop_threshold
    - memcpy
    - __readlink
    linkageType: ''
    returnType: char
    signature: 'char *

      realpath_stk (const char *name, char *resolved, struct realpath_bufs *bufs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/canonicalize-lgpl.c:432,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/canonicalize-lgpl.c:433,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/canonicalize-lgpl.c:434,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/canonicalize-lgpl.c:436,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/canonicalize-lgpl.c:437,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/canonicalize-lgpl.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - name
    - resolved
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 440
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 440
    functionName: __realpath
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - scratch_buffer_free
    - scratch_buffer_init
    linkageType: ''
    returnType: char
    signature: 'char *

      __realpath (const char *name, char *resolved)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/canonicalize-lgpl.c:454,1
    - Dst: __realpath
      Src: /src/gnulib/lib/canonicalize-lgpl.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - resolved
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: attribute_compat_text_section::__old_realpath
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - __realpath
    - __set_errno
    linkageType: ''
    returnType: char
    signature: 'char *

      attribute_compat_text_section

      __old_realpath (const char *name, char *resolved)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __realpath
      Src: /src/gnulib/lib/canonicalize-lgpl.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: __canonicalize_file_name
    functionSourceFile: /src/gnulib/lib/canonicalize-lgpl.c
    functionUses: 0
    functionsReached:
    - __realpath
    linkageType: ''
    returnType: char
    signature: 'char *

      __canonicalize_file_name (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/gnulib/lib/file-type.c:30,1
    - Dst: c_file_type
      Src: /src/gnulib/lib/file-type.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: file_type
    functionSourceFile: /src/gnulib/lib/file-type.c
    functionUses: 1
    functionsReached:
    - c_file_type
    - dgettext
    linkageType: ''
    returnType: char
    signature: 'char *

      file_type (struct stat const *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnulib/lib/endian.in.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 9
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint16_t

      be16toh (uint16_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnulib/lib/endian.in.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 3
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint32_t

      be32toh (uint32_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/gnulib/lib/endian.in.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 2
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint64_t

      be64toh (uint64_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnulib/lib/endian.in.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 9
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint16_t

      htobe16 (uint16_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnulib/lib/endian.in.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 3
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint32_t

      htobe32 (uint32_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/gnulib/lib/endian.in.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 2
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint64_t

      htobe64 (uint64_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnulib/lib/endian.in.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 9
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint16_t

      le16toh (uint16_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnulib/lib/endian.in.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 3
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint32_t

      le32toh (uint32_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/gnulib/lib/endian.in.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 2
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint64_t

      le64toh (uint64_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/gnulib/lib/endian.in.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 9
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint16_t

      htole16 (uint16_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/gnulib/lib/endian.in.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 3
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint32_t

      htole32 (uint32_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/gnulib/lib/endian.in.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/endian.in.h
    functionUses: 2
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: _GL_ENDIAN_INLINE
    signature: '_GL_ENDIAN_INLINE uint64_t

      htole64 (uint64_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/execlp.c:47,1
    - Dst: va_arg
      Src: /src/gnulib/lib/execlp.c:51,1
    - Dst: va_end
      Src: /src/gnulib/lib/execlp.c:54,1
    - Dst: va_start
      Src: /src/gnulib/lib/execlp.c:68,1
    - Dst: va_arg
      Src: /src/gnulib/lib/execlp.c:70,1
    - Dst: va_end
      Src: /src/gnulib/lib/execlp.c:71,1
    - Dst: execvp
      Src: /src/gnulib/lib/execlp.c:75,1
    - Dst: freea
      Src: /src/gnulib/lib/execlp.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - program
    - arg0
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: execlp
    functionSourceFile: /src/gnulib/lib/execlp.c
    functionUses: 2
    functionsReached:
    - va_start
    - execvp
    - va_end
    - freea
    - va_arg
    linkageType: ''
    returnType: int
    signature: int execlp (const char *program, const char *arg0, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnulib/lib/strcasestr.c:53,1
    - Dst: tolower
      Src: /src/gnulib/lib/strcasestr.c:54,1
    - Dst: two_way_short_needle
      Src: /src/gnulib/lib/strcasestr.c:70,1
    - Dst: two_way_long_needle
      Src: /src/gnulib/lib/strcasestr.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - haystack_start
    - needle_start
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: strcasestr
    functionSourceFile: /src/gnulib/lib/strcasestr.c
    functionUses: 4
    functionsReached:
    - tolower
    - two_way_short_needle
    - two_way_long_needle
    linkageType: ''
    returnType: char
    signature: 'char *

      strcasestr (const char *haystack_start, const char *needle_start)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/getsockopt.c:40,1
    - Dst: getsockopt
      Src: /src/gnulib/lib/getsockopt.c:58,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getsockopt.c:67,1
    - Dst: getsockopt
      Src: /src/gnulib/lib/getsockopt.c:72,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/getsockopt.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - fd
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - int
    - int
    - int
    - void*
    - socklen_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: rpl_getsockopt
    functionSourceFile: /src/gnulib/lib/getsockopt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - getsockopt
    - FD_TO_SOCKET
    - set_winsock_errno
    linkageType: ''
    returnType: int
    signature: int rpl_getsockopt (int fd, int level, int optname, void *optval, socklen_t
      *optlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - context
    - inbuf
    - outbuf
    - length
    argTypes:
    - arcfour_context*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: arcfour_stream
    functionSourceFile: /src/gnulib/lib/arcfour.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void arcfour_stream (arcfour_context * context, const char *inbuf,
      char *outbuf,\n                size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - context
    - key
    - keylen
    argTypes:
    - arcfour_context*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: arcfour_setkey
    functionSourceFile: /src/gnulib/lib/arcfour.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arcfour_setkey (arcfour_context * context, const char *key, size_t
      keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copysignf
      Src: /src/gnulib/lib/signbitf.c:46,1
    - Dst: isnanf
      Src: /src/gnulib/lib/signbitf.c:50,1
    - Dst: memcmp
      Src: /src/gnulib/lib/signbitf.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: gl_signbitf
    functionSourceFile: /src/gnulib/lib/signbitf.c
    functionUses: 0
    functionsReached:
    - isnanf
    - copysignf
    - memcmp
    linkageType: ''
    returnType: int
    signature: int gl_signbitf (float arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/gnulib/lib/fstat.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - buf
    argTypes:
    - int
    - struct stat*
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: orig_fstat
    functionSourceFile: /src/gnulib/lib/fstat.c
    functionUses: 0
    functionsReached:
    - fstat
    linkageType: ''
    returnType: int
    signature: int orig_fstat (int fd, struct stat *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/fstat.c:75,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/fstat.c:83,1
    - Dst: _gl_fstat_by_handle
      Src: /src/gnulib/lib/fstat.c:90,1
    - Dst: stat_time_normalize
      Src: /src/gnulib/lib/fstat.c:92,1
    - Dst: orig_fstat
      Src: /src/gnulib/lib/fstat.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - buf
    argTypes:
    - int
    - struct stat*
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: rpl_fstat
    functionSourceFile: /src/gnulib/lib/fstat.c
    functionUses: 0
    functionsReached:
    - _gl_fstat_by_handle
    - stat_time_normalize
    - stat
    - _get_osfhandle
    - orig_fstat
    linkageType: ''
    returnType: int
    signature: int rpl_fstat (int fd, struct stat *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/fd-safer-flag.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - flag
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: fd_safer_flag
    functionSourceFile: /src/gnulib/lib/fd-safer-flag.c
    functionUses: 2
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer_flag (int fd, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/supersede.c:65,1
    - Dst: memcpy
      Src: /src/gnulib/lib/supersede.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - canon_filename
    - flags
    - mode
    - action
    argTypes:
    - char*
    - int
    - mode_t
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: create_temp_file
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int create_temp_file (char *canon_filename, int flags, mode_t mode,\n
      \                 struct supersede_final_action *action)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/supersede.c:100,1
    - Dst: stat
      Src: /src/gnulib/lib/supersede.c:110,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/supersede.c:111,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:114,1
    - Dst: create_temp_file
      Src: /src/gnulib/lib/supersede.c:133,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:135,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:141,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:158,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:162,1
    - Dst: stat
      Src: /src/gnulib/lib/supersede.c:171,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/supersede.c:172,1
    - Dst: create_temp_file
      Src: /src/gnulib/lib/supersede.c:175,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:178,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:184,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:185,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:201,1
    - Dst: stat
      Src: /src/gnulib/lib/supersede.c:214,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/supersede.c:215,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:220,1
    - Dst: create_temp_file
      Src: /src/gnulib/lib/supersede.c:239,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:241,1
    - Dst: open
      Src: /src/gnulib/lib/supersede.c:248,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 6
    argNames:
    - filename
    - flags
    - mode
    - supersede_if_exists
    - supersede_if_does_not_exist
    - action
    argTypes:
    - char*
    - int
    - mode_t
    - bool
    - bool
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 254
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 254
    functionName: open_supersede
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 2
    functionsReached:
    - free
    - create_temp_file
    - open
    - stat
    - S_ISREG
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int open_supersede (const char *filename, int flags, mode_t mode,\n
      \               bool supersede_if_exists, bool supersede_if_does_not_exist,\n
      \               struct supersede_final_action *action)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:265,1
    - Dst: unlink
      Src: /src/gnulib/lib/supersede.c:265,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:266,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:267,1
    - Dst: stat
      Src: /src/gnulib/lib/supersede.c:278,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:283,1
    - Dst: unlink
      Src: /src/gnulib/lib/supersede.c:283,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:284,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:285,1
    - Dst: stat
      Src: /src/gnulib/lib/supersede.c:290,1
    - Dst: get_stat_atime
      Src: /src/gnulib/lib/supersede.c:297,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/supersede.c:298,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:299,1
    - Dst: utimens
      Src: /src/gnulib/lib/supersede.c:299,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:305,1
    - Dst: chown
      Src: /src/gnulib/lib/supersede.c:305,1
    - Dst: qcopy_acl
      Src: /src/gnulib/lib/supersede.c:312,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:320,1
    - Dst: unlink
      Src: /src/gnulib/lib/supersede.c:320,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:321,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:322,1
    - Dst: chmod
      Src: /src/gnulib/lib/supersede.c:327,1
    - Dst: MoveFileEx
      Src: /src/gnulib/lib/supersede.c:346,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/supersede.c:350,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:357,1
    - Dst: unlink
      Src: /src/gnulib/lib/supersede.c:357,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:358,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:359,1
    - Dst: rename
      Src: /src/gnulib/lib/supersede.c:364,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/supersede.c:367,1
    - Dst: unlink
      Src: /src/gnulib/lib/supersede.c:367,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:368,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:369,1
    - Dst: unregister_temporary_file
      Src: /src/gnulib/lib/supersede.c:375,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:377,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 2
    argNames:
    - ret
    - action
    argTypes:
    - int
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 382
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 382
    functionName: after_close_actions
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 0
    functionsReached:
    - get_stat_mtime
    - qcopy_acl
    - GetLastError
    - free
    - MoveFileEx
    - unregister_temporary_file
    - get_stat_atime
    - chown
    - unlink
    - stat
    - chmod
    - rename
    - utimens
    - ignore_value
    linkageType: ''
    returnType: int
    signature: int after_close_actions (int ret, const struct supersede_final_action
      *action)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:389,1
    - Dst: free
      Src: /src/gnulib/lib/supersede.c:390,1
    - Dst: close_temp
      Src: /src/gnulib/lib/supersede.c:396,1
    - Dst: close
      Src: /src/gnulib/lib/supersede.c:398,1
    - Dst: after_close_actions
      Src: /src/gnulib/lib/supersede.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - action
    argTypes:
    - int
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: close_supersede
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 2
    functionsReached:
    - free
    - close
    - close_temp
    - after_close_actions
    linkageType: ''
    returnType: int
    signature: int close_supersede (int fd, const struct supersede_final_action *action)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/gnulib/lib/supersede.c:456,1
    - Dst: close
      Src: /src/gnulib/lib/supersede.c:460,1
    - Dst: close_supersede
      Src: /src/gnulib/lib/supersede.c:461,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - filename
    - mode
    - supersede_if_exists
    - supersede_if_does_not_exist
    - action
    argTypes:
    - char*
    - char*
    - bool
    - bool
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 465
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 465
    functionName: fopen_supersede
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 2
    functionsReached:
    - fdopen
    - close
    - close_supersede
    linkageType: ''
    returnType: FILE
    signature: "FILE *\nfopen_supersede (const char *filename, const char *mode,\n
      \                bool supersede_if_exists, bool supersede_if_does_not_exist,\n
      \                struct supersede_final_action *action)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose_temp
      Src: /src/gnulib/lib/supersede.c:474,1
    - Dst: fclose
      Src: /src/gnulib/lib/supersede.c:476,1
    - Dst: after_close_actions
      Src: /src/gnulib/lib/supersede.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - action
    argTypes:
    - FILE*
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: fclose_supersede
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 1
    functionsReached:
    - fclose
    - fclose_temp
    - after_close_actions
    linkageType: ''
    returnType: int
    signature: int fclose_supersede (FILE *stream, const struct supersede_final_action
      *action)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose_temp
      Src: /src/gnulib/lib/supersede.c:488,1
    - Dst: fclose
      Src: /src/gnulib/lib/supersede.c:490,1
    - Dst: after_close_actions
      Src: /src/gnulib/lib/supersede.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - action
    argTypes:
    - FILE*
    - struct supersede_final_action*
    constantsTouched: []
    func_position:
      end: 492
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 492
    functionName: fwriteerror_supersede
    functionSourceFile: /src/gnulib/lib/supersede.c
    functionUses: 0
    functionsReached:
    - fclose
    - fclose_temp
    - after_close_actions
    linkageType: ''
    returnType: int
    signature: int fwriteerror_supersede (FILE *stream, const struct supersede_final_action
      *action)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: setlocale_null_unlocked
    functionSourceFile: /src/gnulib/lib/setlocale_null-unlocked.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      setlocale_null_unlocked (int category)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _wsetlocale
      Src: /src/gnulib/lib/setlocale_null-unlocked.c:72,1
    - Dst: memcpy
      Src: /src/gnulib/lib/setlocale_null-unlocked.c:132,1
    - Dst: memcpy
      Src: /src/gnulib/lib/setlocale_null-unlocked.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - category
    - buf
    - bufsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 149
    functionName: setlocale_null_r_unlocked
    functionSourceFile: /src/gnulib/lib/setlocale_null-unlocked.c
    functionUses: 5
    functionsReached:
    - memcpy
    - _wsetlocale
    linkageType: ''
    returnType: int
    signature: int setlocale_null_r_unlocked (int category, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:153,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:185,1
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:202,1
    - Dst: _FPU_GETSTAT
      Src: /src/gnulib/lib/fenv-env.c:203,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:204,1
    - Dst: fex_getexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:208,1
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:213,1
    - Dst: _FPU_GETSTAT
      Src: /src/gnulib/lib/fenv-env.c:214,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:215,1
    - Dst: verify
      Src: /src/gnulib/lib/fenv-env.c:222,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 250
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETSSECW
    - fex_getexcepthandler
    - _FPU_GETCW
    - _FPU_GETSTAT
    - verify
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:258,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-env.c:281,1
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-env.c:307,1
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-env.c:308,1
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-env.c:310,1
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-env.c:311,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-env.c:316,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-env.c:347,1
    - Dst: fex_setexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:371,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-env.c:380,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-env.c:382,1
    - Dst: verify
      Src: /src/gnulib/lib/fenv-env.c:395,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-env.c:430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 444
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETSSECW
    - _FPU_GETSSECW
    - exceptions_to_x86hardware
    - fex_setexcepthandler
    - verify
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:460,1
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-env.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETFPSR
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:480,1
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-env.c:481,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:505,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-env.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 509
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETFPSR
    - _FPU_GETFPSR
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 533
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 533
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:542,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 564
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:617,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:620,1
    - Dst: __ieee_set_fp_control
      Src: /src/gnulib/lib/fenv-env.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 626
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 626
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - __ieee_set_fp_control
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:647,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 662
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 662
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 678
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 699
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 699
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:715,1
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-env.c:716,1
    - Dst: _FPU_GETFPIAR
      Src: /src/gnulib/lib/fenv-env.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 722
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 722
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETFPSR
    - _FPU_GETFPIAR
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:745,1
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-env.c:746,1
    - Dst: _FPU_GETFPIAR
      Src: /src/gnulib/lib/fenv-env.c:747,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:752,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-env.c:753,1
    - Dst: _FPU_SETFPIAR
      Src: /src/gnulib/lib/fenv-env.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 756
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 756
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETFPSR
    - _FPU_SETFPIAR
    - _FPU_SETFPSR
    - _FPU_GETCW
    - _FPU_SETCW
    - _FPU_GETFPIAR
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 786
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 814
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 814
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-env.c:832,1
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-env.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 838
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 838
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW_AS_DOUBLE
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-env.c:844,1
    - Dst: prctl
      Src: /src/gnulib/lib/fenv-env.c:861,1
    - Dst: _FPU_SETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-env.c:864,1
    - Dst: prctl
      Src: /src/gnulib/lib/fenv-env.c:869,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 874
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 874
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - prctl
    - _FPU_SETCW_AS_DOUBLE
    - _FPU_GETCW_AS_DOUBLE
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 895
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 895
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 915
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 915
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 957
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 957
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 974
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 974
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-env.c:985,1
    - Dst: fex_getexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - fex_getexcepthandler
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fex_setexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:1010,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-env.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1018
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1018
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - _FPU_SETCW
    - fex_setexcepthandler
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fctrl_p
    argTypes:
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 1053
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1053
    functionName: getfctrl
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getfctrl (unsigned short *fctrl_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fstat_p
    argTypes:
    - unsigned short*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1066
    functionName: getfstat
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getfstat (unsigned short *fstat_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - env387_p
    argTypes:
    - x86_387_fenv_t*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1079
    functionName: getenv387
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getenv387 (x86_387_fenv_t *env387_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - env387_p
    argTypes:
    - x86_387_fenv_t*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1092
    functionName: setenv387
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setenv387 (x86_387_fenv_t const *env387_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mxcsr_p
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    functionName: getssecw
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getssecw (unsigned int *mxcsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mxcsr_p
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1120
    functionName: setssecw
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setssecw (unsigned int const *mxcsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fex_getexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:1125,1
    - Dst: getfctrl
      Src: /src/gnulib/lib/fenv-env.c:1130,1
    - Dst: getfstat
      Src: /src/gnulib/lib/fenv-env.c:1131,1
    - Dst: getssecw
      Src: /src/gnulib/lib/fenv-env.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1138
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - getssecw
    - getfctrl
    - getfstat
    - fex_getexcepthandler
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fex_setexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:1154,1
    - Dst: getssecw
      Src: /src/gnulib/lib/fenv-env.c:1163,1
    - Dst: setssecw
      Src: /src/gnulib/lib/fenv-env.c:1165,1
    - Dst: getenv387
      Src: /src/gnulib/lib/fenv-env.c:1169,1
    - Dst: setenv387
      Src: /src/gnulib/lib/fenv-env.c:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1177
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - setenv387
    - setssecw
    - getenv387
    - getssecw
    - fex_setexcepthandler
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fsr_p
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    functionName: getfsr
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getfsr (unsigned long *fsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fsr_p
    argTypes:
    - unsigned long const*
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: setfsr
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setfsr (unsigned long const *fsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getfsr
      Src: /src/gnulib/lib/fenv-env.c:1208,1
    - Dst: fex_getexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1212
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - getfsr
    - fex_getexcepthandler
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fex_setexcepthandler
      Src: /src/gnulib/lib/fenv-env.c:1228,1
    - Dst: setfsr
      Src: /src/gnulib/lib/fenv-env.c:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1233
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached:
    - setfsr
    - fex_setexcepthandler
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: fegetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fegetenv (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1257
    functionName: fesetenv
    functionSourceFile: /src/gnulib/lib/fenv-env.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fesetenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/gnulib/lib/sinf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: sinf
    functionSourceFile: /src/gnulib/lib/sinf.c
    functionUses: 8
    functionsReached:
    - sin
    linkageType: ''
    returnType: float
    signature: float sinf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - rw_string_desc_t
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: string_desc_t::sd_readonly
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE string_desc_t

      sd_readonly (rw_string_desc_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: rw_string_desc_t::sd_readwrite
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE rw_string_desc_t

      sd_readwrite (string_desc_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: sd_length
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_length (string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.h:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s_nbytes
    - s_data
    - i
    argTypes:
    - idx_t
    - char*
    - idx_t
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: _sd_char_at
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE _sd_char_at (idx_t s_nbytes, const char *s_data,
      idx_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.h:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - string_desc_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: sd_char_at
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 3
    functionsReached:
    - abort
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_char_at (string_desc_t s, idx_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: sd_data
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE *

      sd_data (string_desc_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: sd_is_empty
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_is_empty (string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_equals
      Src: /src/gnulib/lib/string-desc.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: sd_equals
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 3
    functionsReached:
    - _sd_equals
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_equals (string_desc_t a, string_desc_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_startswith
      Src: /src/gnulib/lib/string-desc.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - prefix
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: sd_startswith
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 3
    functionsReached:
    - _sd_startswith
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_startswith (string_desc_t s, string_desc_t
      prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_endswith
      Src: /src/gnulib/lib/string-desc.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - suffix
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: sd_endswith
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_endswith
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_endswith (string_desc_t s, string_desc_t suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_cmp
      Src: /src/gnulib/lib/string-desc.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: sd_cmp
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_cmp
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_cmp (string_desc_t a, string_desc_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_c_casecmp
      Src: /src/gnulib/lib/string-desc.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: sd_c_casecmp
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_c_casecmp
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_c_casecmp (string_desc_t a, string_desc_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_index
      Src: /src/gnulib/lib/string-desc.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - string_desc_t
    - char
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: ptrdiff_t
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 0
    functionsReached:
    - _sd_index
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE ptrdiff_t

      sd_index (string_desc_t s, char c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_last_index
      Src: /src/gnulib/lib/string-desc.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - string_desc_t
    - char
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: sd_last_index
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_last_index
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_last_index (string_desc_t s, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_contains
      Src: /src/gnulib/lib/string-desc.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - string_desc_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: sd_contains
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_contains
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_contains (string_desc_t haystack, string_desc_t
      needle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.h:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - start
    - end
    argTypes:
    - string_desc_t
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: string_desc_t::sd_substring
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE string_desc_t

      sd_substring (string_desc_t s, idx_t start, idx_t end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_write
      Src: /src/gnulib/lib/string-desc.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - s
    argTypes:
    - int
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: sd_write
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_write
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_write (int fd, string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_fwrite
      Src: /src/gnulib/lib/string-desc.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - s
    argTypes:
    - FILE*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: sd_fwrite
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_fwrite
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_fwrite (FILE *fp, string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_copy
      Src: /src/gnulib/lib/string-desc.h:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resultp
    - s
    argTypes:
    - rw_string_desc_t*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: sd_copy
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 3
    functionsReached:
    - _sd_copy
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD sd_copy (rw_string_desc_t *resultp, string_desc_t
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_c
      Src: /src/gnulib/lib/string-desc.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 657
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 657
    functionName: sd_c
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 1
    functionsReached:
    - _sd_c
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: 'GL_STRING_DESC_INLINE *

      sd_c (string_desc_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sd_overwrite
      Src: /src/gnulib/lib/string-desc.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - start
    - t
    argTypes:
    - rw_string_desc_t
    - idx_t
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: sd_overwrite
    functionSourceFile: /src/gnulib/lib/string-desc.h
    functionUses: 2
    functionsReached:
    - _sd_overwrite
    linkageType: ''
    returnType: GL_STRING_DESC_INLINE
    signature: GL_STRING_DESC_INLINE sd_overwrite (rw_string_desc_t s, idx_t start,
      string_desc_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltreehash_list.c:74,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltreehash_list.c:78,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltreehash_list.c:80,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltreehash_list.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - node
    - parent
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltreehash_list.c
    functionUses: 8
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invariants (gl_list_node_t node, gl_list_node_t
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_avltreehash_list.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gl_avltreehash_list_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltreehash_list.c
    functionUses: 1
    functionsReached:
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_avltreehash_list_check_invariants (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sm3_ctx*
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: sm3_init_ctx
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sm3_init_ctx (struct sm3_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp
    - v
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: set_uint32
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void set_uint32 (char *cp, uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_uint32
      Src: /src/gnulib/lib/sm3.c:100,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sm3.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sm3_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: sm3_read_ctx
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 0
    functionsReached:
    - SWAP
    - set_uint32
    linkageType: ''
    returnType: void
    signature: 'void *

      sm3_read_ctx (const struct sm3_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_uint32
      Src: /src/gnulib/lib/sm3.c:122,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sm3.c:123,1
    - Dst: set_uint32
      Src: /src/gnulib/lib/sm3.c:124,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sm3.c:125,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:127,1
    - Dst: sm3_process_block
      Src: /src/gnulib/lib/sm3.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sm3_ctx*
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: sm3_conclude_ctx
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SWAP
    - set_uint32
    - sm3_process_block
    linkageType: ''
    returnType: void
    signature: void sm3_conclude_ctx (struct sm3_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm3_conclude_ctx
      Src: /src/gnulib/lib/sm3.c:136,1
    - Dst: sm3_read_ctx
      Src: /src/gnulib/lib/sm3.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sm3_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: sm3_finish_ctx
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 0
    functionsReached:
    - sm3_read_ctx
    - sm3_conclude_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sm3_finish_ctx (struct sm3_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm3_init_ctx
      Src: /src/gnulib/lib/sm3.c:150,1
    - Dst: sm3_process_bytes
      Src: /src/gnulib/lib/sm3.c:153,1
    - Dst: sm3_finish_ctx
      Src: /src/gnulib/lib/sm3.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - len
    - resblock
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: sm3_buffer
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 1
    functionsReached:
    - sm3_init_ctx
    - sm3_process_bytes
    - sm3_finish_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sm3_buffer (const char *buffer, size_t len, void *resblock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:169,1
    - Dst: sm3_process_block
      Src: /src/gnulib/lib/sm3.c:174,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:179,1
    - Dst: UNALIGNED_P
      Src: /src/gnulib/lib/sm3.c:193,1
    - Dst: sm3_process_block
      Src: /src/gnulib/lib/sm3.c:196,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:196,1
    - Dst: sm3_process_block
      Src: /src/gnulib/lib/sm3.c:203,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:214,1
    - Dst: sm3_process_block
      Src: /src/gnulib/lib/sm3.c:218,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sm3.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - buffer
    - len
    - ctx
    argTypes:
    - void*
    - size_t
    - struct sm3_ctx*
    constantsTouched: []
    func_position:
      end: 226
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 226
    functionName: sm3_process_bytes
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 1
    functionsReached:
    - memcpy
    - sm3_process_block
    - UNALIGNED_P
    linkageType: ''
    returnType: void
    signature: void sm3_process_bytes (const void *buffer, size_t len, struct sm3_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SWAP
      Src: /src/gnulib/lib/sm3.c:318,1
    - Dst: dbg_printf
      Src: /src/gnulib/lib/sm3.c:324,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:329,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:329,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:329,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:329,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:330,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:330,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:330,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:330,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:331,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:331,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:331,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:331,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:332,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:332,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:332,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:332,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:333,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:333,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:333,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:333,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:334,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:334,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:334,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:334,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:335,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:335,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:335,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:335,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:336,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:336,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:336,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:336,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:337,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:337,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:337,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:337,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:338,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:338,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:338,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:338,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:339,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:339,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:339,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:339,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:340,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:340,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:340,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:340,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:341,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:341,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:341,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:341,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:342,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:342,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:342,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:342,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:343,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:343,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:343,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:343,1
    - Dst: R1
      Src: /src/gnulib/lib/sm3.c:344,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:344,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:344,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:344,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:345,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:345,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:345,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:345,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:346,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:346,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:346,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:346,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:347,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:347,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:347,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:347,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:348,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:348,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:348,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:348,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:349,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:349,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:349,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:349,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:350,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:350,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:350,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:350,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:351,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:351,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:351,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:351,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:352,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:352,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:352,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:352,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:353,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:353,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:353,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:353,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:354,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:354,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:354,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:354,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:355,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:355,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:355,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:355,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:356,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:356,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:356,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:356,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:357,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:357,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:357,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:357,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:358,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:358,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:358,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:358,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:359,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:359,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:359,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:359,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:360,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:360,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:360,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:360,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:361,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:361,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:361,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:361,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:362,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:362,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:362,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:362,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:363,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:363,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:363,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:363,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:364,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:364,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:364,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:364,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:365,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:365,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:365,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:365,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:366,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:366,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:366,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:366,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:367,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:367,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:367,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:367,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:368,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:368,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:368,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:368,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:369,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:369,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:369,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:369,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:370,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:370,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:370,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:370,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:371,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:371,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:371,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:371,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:372,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:372,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:372,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:372,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:373,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:373,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:373,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:373,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:374,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:374,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:374,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:374,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:375,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:375,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:375,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:375,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:376,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:376,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:376,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:376,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:377,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:377,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:377,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:377,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:378,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:378,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:378,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:378,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:379,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:379,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:379,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:379,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:380,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:380,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:380,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:380,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:381,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:381,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:381,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:381,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:382,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:382,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:382,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:382,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:383,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:383,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:383,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:383,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:384,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:384,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:384,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:384,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:385,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:385,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:385,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:385,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:386,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:386,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:386,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:386,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:387,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:387,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:387,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:387,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:388,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:388,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:388,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:388,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:389,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:389,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:389,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:389,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:390,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:390,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:390,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:390,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:391,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:391,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:391,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:391,1
    - Dst: R2
      Src: /src/gnulib/lib/sm3.c:392,1
    - Dst: T
      Src: /src/gnulib/lib/sm3.c:392,1
    - Dst: W1
      Src: /src/gnulib/lib/sm3.c:392,1
    - Dst: W2
      Src: /src/gnulib/lib/sm3.c:392,1
    - Dst: dbg_printf
      Src: /src/gnulib/lib/sm3.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 3
    argNames:
    - buffer
    - len
    - ctx
    argTypes:
    - void*
    - size_t
    - struct sm3_ctx*
    constantsTouched: []
    func_position:
      end: 406
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 406
    functionName: sm3_process_block
    functionSourceFile: /src/gnulib/lib/sm3.c
    functionUses: 2
    functionsReached:
    - W1
    - dbg_printf
    - W2
    - T
    - R2
    - R1
    - SWAP
    linkageType: ''
    returnType: void
    signature: void sm3_process_block (const void *buffer, size_t len, struct sm3_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _fdopen
      Src: /src/gnulib/lib/fdopen.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: fdopen_nothrow
    functionSourceFile: /src/gnulib/lib/fdopen.c
    functionUses: 0
    functionsReached:
    - _fdopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      fdopen_nothrow (int fd, const char *mode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopen_nothrow
      Src: /src/gnulib/lib/fdopen.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: rpl_fdopen
    functionSourceFile: /src/gnulib/lib/fdopen.c
    functionUses: 0
    functionsReached:
    - fdopen_nothrow
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      rpl_fdopen (int fd, const char *mode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execve
      Src: /src/gnulib/lib/execv.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - program
    - argv
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: execv
    functionSourceFile: /src/gnulib/lib/execv.c
    functionUses: 1
    functionsReached:
    - execve
    linkageType: ''
    returnType: int
    signature: int execv (const char *program, char * const *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/dirchownmod.c:82,1
    - Dst: fchown
      Src: /src/gnulib/lib/dirchownmod.c:104,1
    - Dst: lchown
      Src: /src/gnulib/lib/dirchownmod.c:106,1
    - Dst: chown
      Src: /src/gnulib/lib/dirchownmod.c:107,1
    - Dst: fchmod
      Src: /src/gnulib/lib/dirchownmod.c:126,1
    - Dst: lchmod
      Src: /src/gnulib/lib/dirchownmod.c:128,1
    - Dst: chmod
      Src: /src/gnulib/lib/dirchownmod.c:129,1
    - Dst: close
      Src: /src/gnulib/lib/dirchownmod.c:137,1
    - Dst: close
      Src: /src/gnulib/lib/dirchownmod.c:141,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 7
    argNames:
    - fd
    - dir
    - mkdir_mode
    - owner
    - group
    - mode
    - mode_bits
    argTypes:
    - int
    - char*
    - mode_t
    - uid_t
    - gid_t
    - mode_t
    - mode_t
    constantsTouched: []
    func_position:
      end: 147
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 147
    functionName: dirchownmod
    functionSourceFile: /src/gnulib/lib/dirchownmod.c
    functionUses: 0
    functionsReached:
    - lchmod
    - close
    - chown
    - fchmod
    - lchown
    - S_ISDIR
    - fchown
    - chmod
    linkageType: ''
    returnType: int
    signature: "int dirchownmod (int fd, char const *dir, mode_t mkdir_mode,\n             uid_t
      owner, gid_t group,\n             mode_t mode, mode_t mode_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_once_define
      Src: /src/gnulib/lib/strsignal.c:98,1
    - Dst: __libc_once
      Src: /src/gnulib/lib/strsignal.c:101,1
    - Dst: SIGRTMIN
      Src: /src/gnulib/lib/strsignal.c:104,1
    - Dst: INTUSE
      Src: /src/gnulib/lib/strsignal.c:108,1
    - Dst: __snprintf
      Src: /src/gnulib/lib/strsignal.c:114,1
    - Dst: _
      Src: /src/gnulib/lib/strsignal.c:114,1
    - Dst: __snprintf
      Src: /src/gnulib/lib/strsignal.c:118,1
    - Dst: _
      Src: /src/gnulib/lib/strsignal.c:118,1
    - Dst: _
      Src: /src/gnulib/lib/strsignal.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: strsignal
    functionSourceFile: /src/gnulib/lib/strsignal.c
    functionUses: 2
    functionsReached:
    - __snprintf
    - SIGRTMIN
    - INTUSE
    - __libc_once_define
    - __libc_once
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      strsignal (int signum)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_key_create
      Src: /src/gnulib/lib/strsignal.c:137,1
    - Dst: gl_tls_key_init
      Src: /src/gnulib/lib/strsignal.c:143,1
    - Dst: memset
      Src: /src/gnulib/lib/strsignal.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 162
    functionName: init
    functionSourceFile: /src/gnulib/lib/strsignal.c
    functionUses: 2321
    functionsReached:
    - __libc_key_create
    - gl_tls_key_init
    - memset
    linkageType: ''
    returnType: void
    signature: void init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/strsignal.c:169,1
    - Dst: __libc_setspecific
      Src: /src/gnulib/lib/strsignal.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: free_key_mem
    functionSourceFile: /src/gnulib/lib/strsignal.c
    functionUses: 0
    functionsReached:
    - free
    - __libc_setspecific
    linkageType: ''
    returnType: void
    signature: void free_key_mem (void *mem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_getspecific
      Src: /src/gnulib/lib/strsignal.c:186,1
    - Dst: malloc
      Src: /src/gnulib/lib/strsignal.c:190,1
    - Dst: __libc_setspecific
      Src: /src/gnulib/lib/strsignal.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: getbuffer
    functionSourceFile: /src/gnulib/lib/strsignal.c
    functionUses: 0
    functionsReached:
    - __libc_getspecific
    - malloc
    - __libc_setspecific
    linkageType: ''
    returnType: char
    signature: 'char *

      getbuffer (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: on_exit
      Src: /src/gnulib/lib/atexit.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: atexit
    functionSourceFile: /src/gnulib/lib/atexit.c
    functionUses: 7
    functionsReached:
    - on_exit
    linkageType: ''
    returnType: int
    signature: int atexit (void (*f) (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/gnulib/lib/dirname-lgpl.c:40,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/dirname-lgpl.c:41,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/dirname-lgpl.c:43,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/dirname-lgpl.c:43,1
    - Dst: last_component
      Src: /src/gnulib/lib/dirname-lgpl.c:48,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/dirname-lgpl.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: dir_len
    functionSourceFile: /src/gnulib/lib/dirname-lgpl.c
    functionUses: 0
    functionsReached:
    - ISSLASH
    - last_component
    linkageType: ''
    returnType: size_t
    signature: size_t dir_len (char const *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/dirname-lgpl.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: mdir_name
    functionSourceFile: /src/gnulib/lib/dirname-lgpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      mdir_name (char const *file)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_init
      Src: /src/gnulib/lib/readtokens0.c:35,1
    - Dst: obstack_init
      Src: /src/gnulib/lib/readtokens0.c:36,1
    - Dst: obstack_init
      Src: /src/gnulib/lib/readtokens0.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct Tokens*
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: readtokens0_init
    functionSourceFile: /src/gnulib/lib/readtokens0.c
    functionUses: 0
    functionsReached:
    - obstack_init
    linkageType: ''
    returnType: void
    signature: void readtokens0_init (struct Tokens *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_free
      Src: /src/gnulib/lib/readtokens0.c:43,1
    - Dst: obstack_free
      Src: /src/gnulib/lib/readtokens0.c:44,1
    - Dst: obstack_free
      Src: /src/gnulib/lib/readtokens0.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct Tokens*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: readtokens0_free
    functionSourceFile: /src/gnulib/lib/readtokens0.c
    functionUses: 0
    functionsReached:
    - obstack_free
    linkageType: ''
    returnType: void
    signature: void readtokens0_free (struct Tokens *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_ptr_grow
      Src: /src/gnulib/lib/readtokens0.c:56,1
    - Dst: obstack_grow
      Src: /src/gnulib/lib/readtokens0.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct Tokens*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: save_token
    functionSourceFile: /src/gnulib/lib/readtokens0.c
    functionUses: 0
    functionsReached:
    - obstack_grow
    - obstack_ptr_grow
    linkageType: ''
    returnType: void
    signature: void save_token (struct Tokens *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_1grow
      Src: /src/gnulib/lib/readtokens0.c:80,1
    - Dst: save_token
      Src: /src/gnulib/lib/readtokens0.c:81,1
    - Dst: obstack_1grow
      Src: /src/gnulib/lib/readtokens0.c:87,1
    - Dst: save_token
      Src: /src/gnulib/lib/readtokens0.c:89,1
    - Dst: obstack_ptr_grow
      Src: /src/gnulib/lib/readtokens0.c:94,1
    - Dst: obstack_finish
      Src: /src/gnulib/lib/readtokens0.c:96,1
    - Dst: obstack_finish
      Src: /src/gnulib/lib/readtokens0.c:97,1
    - Dst: ferror
      Src: /src/gnulib/lib/readtokens0.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - in
    - t
    argTypes:
    - FILE*
    - struct Tokens*
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: readtokens0
    functionSourceFile: /src/gnulib/lib/readtokens0.c
    functionUses: 0
    functionsReached:
    - obstack_1grow
    - obstack_ptr_grow
    - save_token
    - obstack_finish
    - ferror
    linkageType: ''
    returnType: bool
    signature: bool readtokens0 (FILE *in, struct Tokens *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:106,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/gnulib/lib/rijndael-api-fst.c:139,1
    - Dst: rijndaelKeySetupDec
      Src: /src/gnulib/lib/rijndael-api-fst.c:143,1
    - Dst: rijndaelKeySetupEnc
      Src: /src/gnulib/lib/rijndael-api-fst.c:145,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - key
    - direction
    - keyLen
    - keyMaterial
    argTypes:
    - rijndaelKeyInstance*
    - rijndael_direction
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 147
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 147
    functionName: rijndaelMakeKey
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 1
    functionsReached:
    - rijndaelKeySetupEnc
    - strncpy
    - rijndaelKeySetupDec
    linkageType: ''
    returnType: rijndael_rc
    signature: "rijndael_rc rijndaelMakeKey (rijndaelKeyInstance *key, rijndael_direction
      direction,\n                 size_t keyLen, const char *keyMaterial)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/rijndael-api-fst.c:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - cipher
    - mode
    - IV
    argTypes:
    - rijndaelCipherInstance*
    - rijndael_mode
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 197
    functionName: rijndaelCipherInit
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: rijndael_rc
    signature: "rijndael_rc rijndaelCipherInit (rijndaelCipherInstance *cipher, rijndael_mode
      mode,\n                    const char *IV)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:225,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:239,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:240,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:250,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:253,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputLen
    - outBuffer
    argTypes:
    - rijndaelCipherInstance*
    - rijndaelKeyInstance*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 272
    functionName: rijndaelBlockEncrypt
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 1
    functionsReached:
    - rijndaelEncrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int rijndaelBlockEncrypt (rijndaelCipherInstance *cipher,\n                      const
      rijndaelKeyInstance *key,\n                      const char *input,\n                      size_t
      inputLen, char *outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:300,1
    - Dst: assert
      Src: /src/gnulib/lib/rijndael-api-fst.c:305,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:306,1
    - Dst: memset
      Src: /src/gnulib/lib/rijndael-api-fst.c:307,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:308,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:319,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:320,1
    - Dst: assert
      Src: /src/gnulib/lib/rijndael-api-fst.c:325,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:334,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:335,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputOctets
    - outBuffer
    argTypes:
    - rijndaelCipherInstance*
    - rijndaelKeyInstance*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 343
    functionName: rijndaelPadEncrypt
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - rijndaelEncrypt
    - assert
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int rijndaelPadEncrypt (rijndaelCipherInstance *cipher,\n                    const
      rijndaelKeyInstance *key,\n                    const char *input,\n                    size_t
      inputOctets, char *outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:374,1
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:384,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:389,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:390,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:400,1
    - Dst: rijndaelEncrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:403,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputLen
    - outBuffer
    argTypes:
    - rijndaelCipherInstance*
    - rijndaelKeyInstance*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 421
    functionName: rijndaelBlockDecrypt
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 1
    functionsReached:
    - memcpy
    - rijndaelEncrypt
    - rijndaelDecrypt
    linkageType: ''
    returnType: int
    signature: "int rijndaelBlockDecrypt (rijndaelCipherInstance *cipher,\n                      const
      rijndaelKeyInstance *key,\n                      const char *input,\n                      size_t
      inputLen, char *outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:454,1
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:459,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:472,1
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:480,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:485,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:486,1
    - Dst: rijndaelDecrypt
      Src: /src/gnulib/lib/rijndael-api-fst.c:491,1
    - Dst: memcpy
      Src: /src/gnulib/lib/rijndael-api-fst.c:508,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 5
    argNames:
    - cipher
    - key
    - input
    - inputOctets
    - outBuffer
    argTypes:
    - rijndaelCipherInstance*
    - rijndaelKeyInstance*
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 516
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 516
    functionName: rijndaelPadDecrypt
    functionSourceFile: /src/gnulib/lib/rijndael-api-fst.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rijndaelDecrypt
    linkageType: ''
    returnType: int
    signature: "int rijndaelPadDecrypt (rijndaelCipherInstance *cipher,\n                    const
      rijndaelKeyInstance *key,\n                    const char *input,\n                    size_t
      inputOctets, char *outBuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/execle.c:47,1
    - Dst: va_arg
      Src: /src/gnulib/lib/execle.c:51,1
    - Dst: va_end
      Src: /src/gnulib/lib/execle.c:54,1
    - Dst: va_start
      Src: /src/gnulib/lib/execle.c:68,1
    - Dst: va_arg
      Src: /src/gnulib/lib/execle.c:70,1
    - Dst: va_end
      Src: /src/gnulib/lib/execle.c:73,1
    - Dst: execve
      Src: /src/gnulib/lib/execle.c:76,1
    - Dst: freea
      Src: /src/gnulib/lib/execle.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - program
    - arg0
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 83
    functionName: execle
    functionSourceFile: /src/gnulib/lib/execle.c
    functionUses: 1
    functionsReached:
    - execve
    - va_start
    - va_end
    - freea
    - va_arg
    linkageType: ''
    returnType: int
    signature: int execle (const char *program, const char *arg0, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - table_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: triple_hash_no_name
    functionSourceFile: /src/gnulib/lib/hashcode-file-inode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t triple_hash_no_name (void const *x, size_t table_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSAME_INODE
      Src: /src/gnulib/lib/hashcode-file-inode.c:43,1
    - Dst: same_name
      Src: /src/gnulib/lib/hashcode-file-inode.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: triple_compare
    functionSourceFile: /src/gnulib/lib/hashcode-file-inode.c
    functionUses: 0
    functionsReached:
    - PSAME_INODE
    - same_name
    linkageType: ''
    returnType: bool
    signature: bool triple_compare (void const *x, void const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/gnulib/lib/mkancesdirs.c:89,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/mkancesdirs.c:91,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/mkancesdirs.c:94,1
    - Dst: make_dir
      Src: /src/gnulib/lib/mkancesdirs.c:113,1
    - Dst: savewd_chdir
      Src: /src/gnulib/lib/mkancesdirs.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 3
    argNames:
    - file
    - wd
    - make_dir_arg
    argTypes:
    - char*
    - struct savewd*
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 141
    functionName: mkancesdirs
    functionSourceFile: /src/gnulib/lib/mkancesdirs.c
    functionUses: 0
    functionsReached:
    - savewd_chdir
    - ISSLASH
    - make_dir
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t mkancesdirs (char *file, struct savewd *wd,\n             int
      (*make_dir) (char const *, char const *, void *),\n             void *make_dir_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/gnulib/lib/binary-io.c:28,1
    - Dst: __gl_setmode
      Src: /src/gnulib/lib/binary-io.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: set_binary_mode
    functionSourceFile: /src/gnulib/lib/binary-io.c
    functionUses: 20
    functionsReached:
    - __gl_setmode
    - isatty
    linkageType: ''
    returnType: int
    signature: int set_binary_mode (int fd, int mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - pthread_rwlockattr_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: pthread_rwlockattr_init
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlockattr_init (pthread_rwlockattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_rwlockattr_t *attr
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: pthread_rwlockattr_destroy
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlockattr_destroy (_GL_UNUSED pthread_rwlockattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_init
      Src: /src/gnulib/lib/pthread-rwlock.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - pthread_rwlockattr_t *attr
    argTypes:
    - pthread_rwlock_t*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: pthread_rwlock_init
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 5
    functionsReached:
    - glwthread_timedrwlock_init
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_init (pthread_rwlock_t *lock,\n                     _GL_UNUSED
      const pthread_rwlockattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_rdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pthread_rwlock_rdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 11
    functionsReached:
    - glwthread_timedrwlock_rdlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_rdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_wrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pthread_rwlock_wrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 9
    functionsReached:
    - glwthread_timedrwlock_wrlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_wrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_tryrdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: pthread_rwlock_tryrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - glwthread_timedrwlock_tryrdlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_tryrdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_trywrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: pthread_rwlock_trywrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - glwthread_timedrwlock_trywrlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_trywrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_timedrdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: pthread_rwlock_timedrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - glwthread_timedrwlock_timedrdlock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedrdlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_timedwrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: pthread_rwlock_timedwrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - glwthread_timedrwlock_timedwrlock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedwrlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pthread_rwlock_unlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 17
    functionsReached:
    - glwthread_timedrwlock_unlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_unlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedrwlock_destroy
      Src: /src/gnulib/lib/pthread-rwlock.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: pthread_rwlock_destroy
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 4
    functionsReached:
    - glwthread_timedrwlock_destroy
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_destroy (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/gnulib/lib/pthread-rwlock.c:149,1
    - Dst: pthread_cond_init
      Src: /src/gnulib/lib/pthread-rwlock.c:152,1
    - Dst: pthread_cond_init
      Src: /src/gnulib/lib/pthread-rwlock.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - lock
    - pthread_rwlockattr_t *attr
    argTypes:
    - pthread_rwlock_t*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: pthread_rwlock_init
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 5
    functionsReached:
    - pthread_cond_init
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_init (pthread_rwlock_t *lock,\n                     _GL_UNUSED
      const pthread_rwlockattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:168,1
    - Dst: pthread_cond_wait
      Src: /src/gnulib/lib/pthread-rwlock.c:179,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:182,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: pthread_rwlock_rdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 11
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_rdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:195,1
    - Dst: pthread_cond_wait
      Src: /src/gnulib/lib/pthread-rwlock.c:204,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:208,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: pthread_rwlock_wrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 9
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_wrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:222,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:232,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: pthread_rwlock_tryrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_tryrdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:244,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:251,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: pthread_rwlock_trywrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_trywrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:264,1
    - Dst: pthread_cond_timedwait
      Src: /src/gnulib/lib/pthread-rwlock.c:275,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:279,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 285
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 285
    functionName: pthread_rwlock_timedrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_cond_timedwait
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedrdlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:293,1
    - Dst: pthread_cond_timedwait
      Src: /src/gnulib/lib/pthread-rwlock.c:302,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:307,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: pthread_rwlock_timedwrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_cond_timedwait
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedwrlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-rwlock.c:321,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:329,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:339,1
    - Dst: pthread_cond_signal
      Src: /src/gnulib/lib/pthread-rwlock.c:351,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:354,1
    - Dst: pthread_cond_broadcast
      Src: /src/gnulib/lib/pthread-rwlock.c:361,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:364,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-rwlock.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 370
    functionName: pthread_rwlock_unlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 17
    functionsReached:
    - pthread_cond_broadcast
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_unlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/gnulib/lib/pthread-rwlock.c:377,1
    - Dst: pthread_cond_destroy
      Src: /src/gnulib/lib/pthread-rwlock.c:380,1
    - Dst: pthread_cond_destroy
      Src: /src/gnulib/lib/pthread-rwlock.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: pthread_rwlock_destroy
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 4
    functionsReached:
    - pthread_cond_destroy
    - pthread_mutex_destroy
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_destroy (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:439,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/pthread-rwlock.c:443,1
    - Dst: MIN
      Src: /src/gnulib/lib/pthread-rwlock.c:479,1
    - Dst: nanosleep
      Src: /src/gnulib/lib/pthread-rwlock.c:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 483
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 483
    functionName: pthread_rwlock_timedrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    - pthread_rwlock_tryrdlock
    - nanosleep
    - MIN
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedrdlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:496,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/pthread-rwlock.c:500,1
    - Dst: MIN
      Src: /src/gnulib/lib/pthread-rwlock.c:536,1
    - Dst: nanosleep
      Src: /src/gnulib/lib/pthread-rwlock.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 540
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 540
    functionName: pthread_rwlock_timedwrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    - pthread_rwlock_trywrlock
    - nanosleep
    - MIN
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedwrlock (pthread_rwlock_t *lock,\n                            const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - pthread_rwlockattr_t *attr
    argTypes:
    - pthread_rwlock_t*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: pthread_rwlock_init
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_init (pthread_rwlock_t *lock,\n                     _GL_UNUSED
      const pthread_rwlockattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: pthread_rwlock_rdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_rdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: pthread_rwlock_wrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_wrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: pthread_rwlock_tryrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_tryrdlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: pthread_rwlock_trywrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 2
    functionsReached:
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_trywrlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/gnulib/lib/pthread-rwlock.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: pthread_rwlock_timedrdlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedrdlock (pthread_rwlock_t *lock,\n                            _GL_UNUSED
      const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/gnulib/lib/pthread-rwlock.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: pthread_rwlock_timedwrlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: int
    signature: "int pthread_rwlock_timedwrlock (pthread_rwlock_t *lock,\n                            _GL_UNUSED
      const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: pthread_rwlock_unlock
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_unlock (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: pthread_rwlock_destroy
    functionSourceFile: /src/gnulib/lib/pthread-rwlock.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_rwlock_destroy (pthread_rwlock_t *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/argz.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - argz
    - argz_len
    - buf
    - buf_len
    argTypes:
    - char**
    - size_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: argz_append
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: error_t
    signature: error_t argz_append (char **argz, size_t *argz_len, const char *buf,
      size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argz_append
      Src: /src/gnulib/lib/argz.c:50,1
    - Dst: strlen
      Src: /src/gnulib/lib/argz.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argz
    - argz_len
    - str
    argTypes:
    - char**
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: argz_add
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - argz_append
    - strlen
    linkageType: ''
    returnType: error_t
    signature: error_t argz_add (char **argz, size_t *argz_len, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/argz.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - argz
    - argz_len
    - string
    - delim
    argTypes:
    - char**
    - size_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: argz_add_sep
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: error_t
    signature: error_t argz_add_sep (char **argz, size_t *argz_len, const char *string,
      int delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/argz.c:101,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - string
    - delim
    - argz
    - len
    argTypes:
    - char*
    - int
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 135
    functionName: argz_create_sep
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: error_t
    signature: error_t argz_create_sep (const char *string, int delim, char **argz,
      size_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argz_add
      Src: /src/gnulib/lib/argz.c:148,1
    - Dst: memmove
      Src: /src/gnulib/lib/argz.c:167,1
    - Dst: memmove
      Src: /src/gnulib/lib/argz.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - argz
    - argz_len
    - before
    - entry
    argTypes:
    - char**
    - size_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 176
    functionName: argz_insert
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - argz_add
    - memmove
    linkageType: ''
    returnType: error_t
    signature: error_t argz_insert (char **argz, size_t *argz_len, char *before, const
      char *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/argz.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - argz
    - argz_len
    - entry
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: argz_next
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      argz_next (const char *argz, size_t argz_len, const char *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - argz
    - len
    - sep
    argTypes:
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: argz_stringify
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argz_stringify (char *argz, size_t len, int sep)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argz
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: argz_count
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t argz_count (const char *argz, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argz
    - len
    - argv
    argTypes:
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: argz_extract
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argz_extract (const char *argz, size_t len, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/argz.c:259,1
    - Dst: malloc
      Src: /src/gnulib/lib/argz.c:265,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/argz.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - argv
    - argz
    - len
    argTypes:
    - char*[]
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: argz_create
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - stpcpy
    - malloc
    - strlen
    linkageType: ''
    returnType: error_t
    signature: error_t argz_create (char *const argv[], char **argz, size_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnulib/lib/argz.c:287,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - argz
    - argz_len
    - entry
    argTypes:
    - char**
    - size_t*
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: argz_delete
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - free
    - memmove
    linkageType: ''
    returnType: void
    signature: void argz_delete (char **argz, size_t *argz_len, char *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mempcpy
      Src: /src/gnulib/lib/argz.c:308,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - to
    - to_len
    - buf
    - buf_len
    argTypes:
    - char**
    - size_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: str_append
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - mempcpy
    - free
    linkageType: ''
    returnType: void
    signature: void str_append (char **to, size_t *to_len, const char *buf, const
      size_t buf_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argz_next
      Src: /src/gnulib/lib/argz.c:338,1
    - Dst: str_append
      Src: /src/gnulib/lib/argz.c:349,1
    - Dst: strstr
      Src: /src/gnulib/lib/argz.c:352,1
    - Dst: str_append
      Src: /src/gnulib/lib/argz.c:355,1
    - Dst: str_append
      Src: /src/gnulib/lib/argz.c:360,1
    - Dst: strlen
      Src: /src/gnulib/lib/argz.c:360,1
    - Dst: argz_append
      Src: /src/gnulib/lib/argz.c:374,1
    - Dst: argz_add
      Src: /src/gnulib/lib/argz.c:378,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:379,1
    - Dst: argz_add
      Src: /src/gnulib/lib/argz.c:388,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:396,1
    - Dst: free
      Src: /src/gnulib/lib/argz.c:402,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - argz
    - argz_len
    - str
    - with
    - replace_count
    argTypes:
    - char**
    - size_t*
    - char*
    - char*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 406
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 406
    functionName: argz_replace
    functionSourceFile: /src/gnulib/lib/argz.c
    functionUses: 0
    functionsReached:
    - argz_next
    - strlen
    - free
    - argz_add
    - strstr
    - argz_append
    - str_append
    linkageType: ''
    returnType: error_t
    signature: "error_t argz_replace (char **argz, size_t *argz_len, const char *str,
      const char *with,\n                unsigned *replace_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anytree_oset.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - implementation
    - compar_fn
    - dispose_fn
    argTypes:
    - gl_oset_implementation_t
    - gl_setelement_compar_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: gl_tree_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: gl_oset_t
    signature: "gl_oset_t gl_tree_nx_create_empty (gl_oset_implementation_t implementation,\n
      \                        gl_setelement_compar_fn compar_fn,\n                         gl_setelement_dispose_fn
      dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_size
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_tree_size (gl_oset_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_oset_node_t
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_next_node
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_node_t
    signature: 'gl_oset_node_t _GL_ATTRIBUTE_PURE

      gl_tree_next_node (gl_oset_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_oset_node_t
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_prev_node
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_node_t
    signature: 'gl_oset_node_t _GL_ATTRIBUTE_PURE

      gl_tree_prev_node (gl_oset_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: gl_tree_search
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_search (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_oset.h:128,1
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_oset.h:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - set
    - threshold_fn
    - threshold
    - eltp
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: gl_tree_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - threshold_fn
    linkageType: ''
    returnType: bool
    signature: "bool gl_tree_search_atleast (gl_oset_t set,\n                        gl_setelement_threshold_fn
      threshold_fn,\n                        const void *threshold,\n                        const
      void **eltp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: gl_tree_search_node
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_node_t
    signature: gl_oset_node_t gl_tree_search_node (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_nx_add_first
      Src: /src/gnulib/lib/gl_anytree_oset.h:185,1
    - Dst: gl_tree_nx_add_after
      Src: /src/gnulib/lib/gl_anytree_oset.h:203,1
    - Dst: gl_tree_nx_add_before
      Src: /src/gnulib/lib/gl_anytree_oset.h:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 222
    functionName: gl_tree_nx_add
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - gl_tree_nx_add_first
    - gl_tree_nx_add_before
    - gl_tree_nx_add_after
    linkageType: ''
    returnType: int
    signature: int gl_tree_nx_add (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_search_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:227,1
    - Dst: gl_tree_remove_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: gl_tree_remove
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node
    - gl_tree_search_node
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_remove (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_search_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:243,1
    - Dst: action
      Src: /src/gnulib/lib/gl_anytree_oset.h:245,1
    - Dst: gl_tree_prev_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:253,1
    - Dst: gl_tree_next_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:254,1
    - Dst: compar
      Src: /src/gnulib/lib/gl_anytree_oset.h:256,1
    - Dst: compar
      Src: /src/gnulib/lib/gl_anytree_oset.h:257,1
    - Dst: gl_tree_remove_node_no_free
      Src: /src/gnulib/lib/gl_anytree_oset.h:265,1
    - Dst: gl_tree_add_node_after
      Src: /src/gnulib/lib/gl_anytree_oset.h:280,1
    - Dst: gl_tree_add_node_before
      Src: /src/gnulib/lib/gl_anytree_oset.h:289,1
    - Dst: NODE_PAYLOAD_DISPOSE
      Src: /src/gnulib/lib/gl_anytree_oset.h:297,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - set
    - elt
    - action_data
    argTypes:
    - gl_oset_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 306
    functionName: gl_tree_update
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - action
    - NODE_PAYLOAD_DISPOSE
    - gl_tree_next_node
    - compar
    - gl_tree_prev_node
    - gl_tree_remove_node_no_free
    - gl_tree_add_node_after
    - gl_tree_add_node_before
    - gl_tree_search_node
    linkageType: ''
    returnType: int
    signature: "int gl_tree_update (gl_oset_t set, const void *elt,\n                void
      (*action) (const void * /*elt*/, void * /*action_data*/),\n                void
      *action_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_t::base::dispose_fn
      Src: /src/gnulib/lib/gl_anytree_oset.h:339,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anytree_oset.h:340,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anytree_oset.h:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 349
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 349
    functionName: gl_tree_oset_free
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - free
    - gl_oset_t::base::dispose_fn
    linkageType: ''
    returnType: void
    signature: void gl_tree_oset_free (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_iterator
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_iterator_t
    signature: 'gl_oset_iterator_t _GL_ATTRIBUTE_PURE

      gl_tree_iterator (gl_oset_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_oset.h:398,1
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_oset.h:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - set
    - threshold_fn
    - threshold
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 422
    functionName: gl_tree_iterator_atleast
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - threshold_fn
    linkageType: ''
    returnType: gl_oset_iterator_t
    signature: "gl_oset_iterator_t gl_tree_iterator_atleast (gl_oset_t set,\n                          gl_setelement_threshold_fn
      threshold_fn,\n                          const void *threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_next_node
      Src: /src/gnulib/lib/gl_anytree_oset.h:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iterator
    - eltp
    argTypes:
    - gl_oset_iterator_t*
    - void**
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: gl_tree_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached:
    - gl_tree_next_node
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_iterator_next (gl_oset_iterator_t *iterator, const void
      **eltp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gl_oset_iterator_t *iterator
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: gl_tree_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_anytree_oset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_tree_iterator_free (_GL_ATTRIBUTE_MAYBE_UNUSED gl_oset_iterator_t
      *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/error.c:152,1
    - Dst: fcntl
      Src: /src/gnulib/lib/error.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: is_open
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 9
    functionsReached:
    - _get_osfhandle
    - fcntl
    linkageType: ''
    returnType: int
    signature: int is_open (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/gnulib/lib/error.c:177,1
    - Dst: is_open
      Src: /src/gnulib/lib/error.c:182,1
    - Dst: fflush
      Src: /src/gnulib/lib/error.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 185
    functionName: flush_stdout
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 0
    functionsReached:
    - fflush
    - fileno
    - is_open
    linkageType: ''
    returnType: void
    signature: void flush_stdout (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __strerror_r
      Src: /src/gnulib/lib/error.c:195,1
    - Dst: __strerror_r
      Src: /src/gnulib/lib/error.c:197,1
    - Dst: strerror
      Src: /src/gnulib/lib/error.c:203,1
    - Dst: _
      Src: /src/gnulib/lib/error.c:208,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/error.c:212,1
    - Dst: fprintf
      Src: /src/gnulib/lib/error.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 216
    functionName: print_errno_message
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 0
    functionsReached:
    - __fxprintf
    - __strerror_r
    - _
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_errno_message (int errnum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _IO_fwide
      Src: /src/gnulib/lib/error.c:224,1
    - Dst: fputws_unlocked
      Src: /src/gnulib/lib/error.c:227,1
    - Dst: vfprintf
      Src: /src/gnulib/lib/error.c:229,1
    - Dst: print_errno_message
      Src: /src/gnulib/lib/error.c:234,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/error.c:236,1
    - Dst: putc
      Src: /src/gnulib/lib/error.c:238,1
    - Dst: fflush
      Src: /src/gnulib/lib/error.c:240,1
    - Dst: exit
      Src: /src/gnulib/lib/error.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - status
    - errnum
    - message
    - args
    - mode_flags
    argTypes:
    - int
    - int
    - char*
    - va_list
    - unsigned int
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: error_tail
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 0
    functionsReached:
    - exit
    - __fxprintf
    - _IO_fwide
    - putc
    - fflush
    - fputws_unlocked
    - print_errno_message
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void error_tail (int status, int errnum, const char *message, va_list
      args,\n            unsigned int mode_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __pthread_setcancelstate
      Src: /src/gnulib/lib/error.c:258,1
    - Dst: flush_stdout
      Src: /src/gnulib/lib/error.c:261,1
    - Dst: _IO_flockfile
      Src: /src/gnulib/lib/error.c:263,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/error.c:270,1
    - Dst: fprintf
      Src: /src/gnulib/lib/error.c:272,1
    - Dst: error_tail
      Src: /src/gnulib/lib/error.c:276,1
    - Dst: _IO_funlockfile
      Src: /src/gnulib/lib/error.c:279,1
    - Dst: __pthread_setcancelstate
      Src: /src/gnulib/lib/error.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - status
    - errnum
    - message
    - args
    - mode_flags
    argTypes:
    - int
    - int
    - char*
    - va_list
    - unsigned int
    constantsTouched: []
    func_position:
      end: 282
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 282
    functionName: __error_internal
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 0
    functionsReached:
    - __fxprintf
    - _IO_funlockfile
    - __pthread_setcancelstate
    - _IO_flockfile
    - fprintf
    - flush_stdout
    - error_tail
    linkageType: ''
    returnType: void
    signature: "void __error_internal (int status, int errnum, const char *message,\n
      \                 va_list args, unsigned int mode_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/error.c:288,1
    - Dst: __error_internal
      Src: /src/gnulib/lib/error.c:289,1
    - Dst: va_end
      Src: /src/gnulib/lib/error.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - status
    - errnum
    - message
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: error
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 1325
    functionsReached:
    - __error_internal
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void error (int status, int errnum, const char *message, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/error.c:311,1
    - Dst: __pthread_setcancelstate
      Src: /src/gnulib/lib/error.c:324,1
    - Dst: flush_stdout
      Src: /src/gnulib/lib/error.c:327,1
    - Dst: _IO_flockfile
      Src: /src/gnulib/lib/error.c:329,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/error.c:336,1
    - Dst: fprintf
      Src: /src/gnulib/lib/error.c:338,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/error.c:343,1
    - Dst: fprintf
      Src: /src/gnulib/lib/error.c:346,1
    - Dst: error_tail
      Src: /src/gnulib/lib/error.c:350,1
    - Dst: _IO_funlockfile
      Src: /src/gnulib/lib/error.c:353,1
    - Dst: __pthread_setcancelstate
      Src: /src/gnulib/lib/error.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 7
    argNames:
    - status
    - errnum
    - file_name
    - line_number
    - message
    - args
    - mode_flags
    argTypes:
    - int
    - int
    - char*
    - unsigned int
    - char*
    - va_list
    - unsigned int
    constantsTouched: []
    func_position:
      end: 356
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 356
    functionName: __error_at_line_internal
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 0
    functionsReached:
    - __fxprintf
    - _IO_funlockfile
    - __pthread_setcancelstate
    - strcmp
    - _IO_flockfile
    - fprintf
    - flush_stdout
    - error_tail
    linkageType: ''
    returnType: void
    signature: "void __error_at_line_internal (int status, int errnum, const char
      *file_name,\n                          unsigned int line_number, const char
      *message,\n                          va_list args, unsigned int mode_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/error.c:363,1
    - Dst: __error_at_line_internal
      Src: /src/gnulib/lib/error.c:364,1
    - Dst: va_end
      Src: /src/gnulib/lib/error.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - status
    - errnum
    - file_name
    - line_number
    - message
    argTypes:
    - int
    - int
    - char*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: error_at_line
    functionSourceFile: /src/gnulib/lib/error.c
    functionUses: 3
    functionsReached:
    - va_start
    - __error_at_line_internal
    - va_end
    linkageType: ''
    returnType: void
    signature: "void error_at_line (int status, int errnum, const char *file_name,\n
      \              unsigned int line_number, const char *message, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md4_init_ctx
      Src: /src/gnulib/lib/md4-stream.c:52,1
    - Dst: fread
      Src: /src/gnulib/lib/md4-stream.c:66,1
    - Dst: ferror
      Src: /src/gnulib/lib/md4-stream.c:78,1
    - Dst: free
      Src: /src/gnulib/lib/md4-stream.c:80,1
    - Dst: feof
      Src: /src/gnulib/lib/md4-stream.c:89,1
    - Dst: md4_process_block
      Src: /src/gnulib/lib/md4-stream.c:96,1
    - Dst: md4_process_bytes
      Src: /src/gnulib/lib/md4-stream.c:103,1
    - Dst: md4_finish_ctx
      Src: /src/gnulib/lib/md4-stream.c:106,1
    - Dst: free
      Src: /src/gnulib/lib/md4-stream.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - stream
    - resblock
    argTypes:
    - FILE*
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 109
    functionName: md4_stream
    functionSourceFile: /src/gnulib/lib/md4-stream.c
    functionUses: 0
    functionsReached:
    - md4_process_block
    - md4_finish_ctx
    - fread
    - free
    - feof
    - md4_init_ctx
    - md4_process_bytes
    - ferror
    linkageType: ''
    returnType: int
    signature: int md4_stream (FILE * stream, void *resblock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/gnulib/lib/_Exit.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: _Exit
    functionSourceFile: /src/gnulib/lib/_Exit.c
    functionUses: 2
    functionsReached:
    - _exit
    linkageType: ''
    returnType: void
    signature: void _Exit (int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/nl_langinfo-lock.c:74,1
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/nl_langinfo-lock.c:77,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/nl_langinfo-lock.c:83,1
    - Dst: Sleep
      Src: /src/gnulib/lib/nl_langinfo-lock.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: gl_get_nl_langinfo_lock
    functionSourceFile: /src/gnulib/lib/nl_langinfo-lock.c
    functionUses: 0
    functionsReached:
    - Sleep
    - InitializeCriticalSection
    - InterlockedDecrement
    - InterlockedIncrement
    linkageType: ''
    returnType: CRITICAL_SECTION
    signature: 'CRITICAL_SECTION *

      gl_get_nl_langinfo_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: gl_get_nl_langinfo_lock
    functionSourceFile: /src/gnulib/lib/nl_langinfo-lock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pthread_mutex_t
    signature: 'pthread_mutex_t *

      gl_get_nl_langinfo_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/gnulib/lib/nl_langinfo-lock.c:121,1
    - Dst: abort
      Src: /src/gnulib/lib/nl_langinfo-lock.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: atomic_init
    functionSourceFile: /src/gnulib/lib/nl_langinfo-lock.c
    functionUses: 2
    functionsReached:
    - abort
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void atomic_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/gnulib/lib/nl_langinfo-lock.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: gl_get_nl_langinfo_lock
    functionSourceFile: /src/gnulib/lib/nl_langinfo-lock.c
    functionUses: 0
    functionsReached:
    - call_once
    linkageType: ''
    returnType: mtx_t
    signature: 'mtx_t *

      gl_get_nl_langinfo_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmemdup
      Src: /src/gnulib/lib/quotearg.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: clone_quoting_options
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - xmemdup
    linkageType: ''
    returnType: struct quoting_options
    signature: 'struct quoting_options *

      clone_quoting_options (struct quoting_options *o)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: get_quoting_style
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum quoting_style
    signature: enum quoting_style get_quoting_style (struct quoting_options const
      *o)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - o
    - s
    argTypes:
    - struct quoting_options*
    - enum quoting_style
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: set_quoting_style
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quoting_style (struct quoting_options *o, enum quoting_style
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - o
    - c
    - i
    argTypes:
    - struct quoting_options*
    - char
    - int
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: set_char_quoting
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_char_quoting (struct quoting_options *o, char c, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - o
    - i
    argTypes:
    - struct quoting_options*
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: set_quoting_flags
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_quoting_flags (struct quoting_options *o, int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/quotearg.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - o
    - left_quote
    - right_quote
    argTypes:
    - struct quoting_options*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: set_custom_quoting
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: "void set_custom_quoting (struct quoting_options *o,\n                    char
      const *left_quote, char const *right_quote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/quotearg.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - style
    argTypes:
    - enum quoting_style
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: quoting_options_from_style
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: struct quoting_options
    signature: struct quoting_options quoting_options_from_style (enum quoting_style
      style)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: locale_charset
      Src: /src/gnulib/lib/quotearg.c:225,1
    - Dst: STRCASEEQ
      Src: /src/gnulib/lib/quotearg.c:226,1
    - Dst: STRCASEEQ
      Src: /src/gnulib/lib/quotearg.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - msgid
    - s
    argTypes:
    - char*
    - enum quoting_style
    constantsTouched: []
    func_position:
      end: 232
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 232
    functionName: gettext_quote
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - STRCASEEQ
    - locale_charset
    linkageType: ''
    returnType: char
    signature: 'char *

      gettext_quote (char const *msgid, enum quoting_style s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:316,1
    - Dst: gettext_quote
      Src: /src/gnulib/lib/quotearg.c:354,1
    - Dst: N_
      Src: /src/gnulib/lib/quotearg.c:354,1
    - Dst: gettext_quote
      Src: /src/gnulib/lib/quotearg.c:355,1
    - Dst: N_
      Src: /src/gnulib/lib/quotearg.c:355,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:359,1
    - Dst: strlen
      Src: /src/gnulib/lib/quotearg.c:362,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:379,1
    - Dst: abort
      Src: /src/gnulib/lib/quotearg.c:389,1
    - Dst: strlen
      Src: /src/gnulib/lib/quotearg.c:408,1
    - Dst: memcmp
      Src: /src/gnulib/lib/quotearg.c:409,1
    - Dst: START_ESC
      Src: /src/gnulib/lib/quotearg.c:422,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:432,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:433,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:467,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:468,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:469,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:470,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:553,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:554,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:555,1
    - Dst: isprint
      Src: /src/gnulib/lib/quotearg.c:600,1
    - Dst: mbszero
      Src: /src/gnulib/lib/quotearg.c:605,1
    - Dst: strlen
      Src: /src/gnulib/lib/quotearg.c:610,1
    - Dst: c32isprint
      Src: /src/gnulib/lib/quotearg.c:654,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/quotearg.c:659,1
    - Dst: START_ESC
      Src: /src/gnulib/lib/quotearg.c:677,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:678,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:679,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:684,1
    - Dst: END_ESC
      Src: /src/gnulib/lib/quotearg.c:689,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:690,1
    - Dst: START_ESC
      Src: /src/gnulib/lib/quotearg.c:707,1
    - Dst: END_ESC
      Src: /src/gnulib/lib/quotearg.c:710,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:711,1
    - Dst: quotearg_buffer_restyled
      Src: /src/gnulib/lib/quotearg.c:729,1
    - Dst: STORE
      Src: /src/gnulib/lib/quotearg.c:744,1
    - Dst: quotearg_buffer_restyled
      Src: /src/gnulib/lib/quotearg.c:755,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 394
    argCount: 9
    argNames:
    - buffer
    - buffersize
    - arg
    - argsize
    - quoting_style
    - flags
    - quote_these_too
    - left_quote
    - right_quote
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - enum quoting_style
    - int
    - unsigned int*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 759
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 759
    functionName: quotearg_buffer_restyled
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - abort
    - strlen
    - isprint
    - gettext_quote
    - N_
    - mbszero
    - c32isprint
    - mbsinit
    - STORE
    - memcmp
    - END_ESC
    - quotearg_buffer_restyled
    - START_ESC
    linkageType: ''
    returnType: size_t
    signature: "size_t quotearg_buffer_restyled (char *buffer, size_t buffersize,\n
      \                         char const *arg, size_t argsize,\n                          enum
      quoting_style quoting_style, int flags,\n                          unsigned
      int const *quote_these_too,\n                          char const *left_quote,\n
      \                         char const *right_quote)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - buffer
    - buffersize
    - arg
    - argsize
    - o
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: quotearg_buffer
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t quotearg_buffer (char *buffer, size_t buffersize,\n                 char
      const *arg, size_t argsize,\n                 struct quoting_options const *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_alloc_mem
      Src: /src/gnulib/lib/quotearg.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - argsize
    - o
    argTypes:
    - char*
    - size_t
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: quotearg_alloc
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - quotearg_alloc_mem
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_alloc (char const *arg, size_t argsize,\n                struct
      quoting_options const *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_buffer_restyled
      Src: /src/gnulib/lib/quotearg.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - arg
    - argsize
    - size
    - o
    argTypes:
    - char*
    - size_t
    - size_t*
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 817
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 817
    functionName: quotearg_alloc_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - quotearg_buffer_restyled
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_alloc_mem (char const *arg, size_t argsize, size_t
      *size,\n                    struct quoting_options const *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/quotearg.c:839,1
    - Dst: free
      Src: /src/gnulib/lib/quotearg.c:842,1
    - Dst: free
      Src: /src/gnulib/lib/quotearg.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 852
    functionName: quotearg_free
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void quotearg_free (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/quotearg.c:873,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/quotearg.c:880,1
    - Dst: memset
      Src: /src/gnulib/lib/quotearg.c:884,1
    - Dst: free
      Src: /src/gnulib/lib/quotearg.c:903,1
    - Dst: xcharalloc
      Src: /src/gnulib/lib/quotearg.c:904,1
    - Dst: quotearg_buffer_restyled
      Src: /src/gnulib/lib/quotearg.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - n
    - arg
    - argsize
    - options
    argTypes:
    - int
    - char*
    - size_t
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 914
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 914
    functionName: quotearg_n_options
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - xcharalloc
    - memset
    - quotearg_buffer_restyled
    - xpalloc
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_n_options (int n, char const *arg, size_t argsize,\n
      \                   struct quoting_options const *options)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: quotearg_n
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_n (int n, char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - arg
    - argsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 4
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: quotearg_n_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_n_mem (int n, char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n
      Src: /src/gnulib/lib/quotearg.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 5
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: quotearg
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg (char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_mem
      Src: /src/gnulib/lib/quotearg.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - argsize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: quotearg_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_mem (char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quoting_options_from_style
      Src: /src/gnulib/lib/quotearg.c:943,1
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - s
    - arg
    argTypes:
    - int
    - enum quoting_style
    - char*
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 4
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: quotearg_n_style
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quoting_options_from_style
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_n_style (int n, enum quoting_style s, char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quoting_options_from_style
      Src: /src/gnulib/lib/quotearg.c:951,1
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - s
    - arg
    - argsize
    argTypes:
    - int
    - enum quoting_style
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 4
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: quotearg_n_style_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - quoting_options_from_style
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_n_style_mem (int n, enum quoting_style s,\n                      char
      const *arg, size_t argsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_style
      Src: /src/gnulib/lib/quotearg.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - enum quoting_style
    - char*
    constantsTouched: []
    func_position:
      end: 959
      start: 955
    functionDepth: 5
    functionLinenumber: 955
    functionLinenumberEnd: 959
    functionName: quotearg_style
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_style
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_style (enum quoting_style s, char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_style_mem
      Src: /src/gnulib/lib/quotearg.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - arg
    - argsize
    argTypes:
    - enum quoting_style
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 5
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: quotearg_style_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_style_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_style_mem (enum quoting_style s, char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_char_quoting
      Src: /src/gnulib/lib/quotearg.c:972,1
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - argsize
    - ch
    argTypes:
    - char*
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 974
      start: 967
    functionDepth: 4
    functionLinenumber: 967
    functionLinenumberEnd: 974
    functionName: quotearg_char_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_options
    - set_char_quoting
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_char_mem (char const *arg, size_t argsize, char ch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_char_mem
      Src: /src/gnulib/lib/quotearg.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ch
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: quotearg_char
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_char_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_char (char const *arg, char ch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_char
      Src: /src/gnulib/lib/quotearg.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 6
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: quotearg_colon
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_char
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_colon (char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_char_mem
      Src: /src/gnulib/lib/quotearg.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - argsize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 5
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: quotearg_colon_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_char_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_colon_mem (char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quoting_options_from_style
      Src: /src/gnulib/lib/quotearg.c:998,1
    - Dst: set_char_quoting
      Src: /src/gnulib/lib/quotearg.c:999,1
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - n
    - s
    - arg
    argTypes:
    - int
    - enum quoting_style
    - char*
    constantsTouched: []
    func_position:
      end: 1001
      start: 994
    functionDepth: 4
    functionLinenumber: 994
    functionLinenumberEnd: 1001
    functionName: quotearg_n_style_colon
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quoting_options_from_style
    - quotearg_n_options
    - set_char_quoting
    linkageType: ''
    returnType: char
    signature: 'char *

      quotearg_n_style_colon (int n, enum quoting_style s, char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_custom_mem
      Src: /src/gnulib/lib/quotearg.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - left_quote
    - right_quote
    - arg
    argTypes:
    - int
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: quotearg_n_custom
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_custom_mem
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_n_custom (int n, char const *left_quote,\n                   char
      const *right_quote, char const *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_custom_quoting
      Src: /src/gnulib/lib/quotearg.c:1017,1
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - n
    - left_quote
    - right_quote
    - arg
    - argsize
    argTypes:
    - int
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1019
      start: 1011
    functionDepth: 4
    functionLinenumber: 1011
    functionLinenumberEnd: 1019
    functionName: quotearg_n_custom_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - set_custom_quoting
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_n_custom_mem (int n, char const *left_quote,\n                       char
      const *right_quote,\n                       char const *arg, size_t argsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_custom
      Src: /src/gnulib/lib/quotearg.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left_quote
    - right_quote
    - arg
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: quotearg_custom
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_custom
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_custom (char const *left_quote, char const *right_quote,\n
      \                char const *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_custom_mem
      Src: /src/gnulib/lib/quotearg.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - left_quote
    - right_quote
    - arg
    - argsize
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1034
      start: 1028
    functionDepth: 5
    functionLinenumber: 1028
    functionLinenumberEnd: 1034
    functionName: quotearg_custom_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_custom_mem
    linkageType: ''
    returnType: char
    signature: "char *\nquotearg_custom_mem (char const *left_quote, char const *right_quote,\n
      \                    char const *arg, size_t argsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_options
      Src: /src/gnulib/lib/quotearg.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - arg
    - argsize
    argTypes:
    - int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: quote_n_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quotearg_n_options
    linkageType: ''
    returnType: char
    signature: 'char *

      quote_n_mem (int n, char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quote_n_mem
      Src: /src/gnulib/lib/quotearg.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - argsize
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: quote_mem
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 0
    functionsReached:
    - quote_n_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quote_mem (char const *arg, size_t argsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quote_n_mem
      Src: /src/gnulib/lib/quotearg.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: quote_n
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 1
    functionsReached:
    - quote_n_mem
    linkageType: ''
    returnType: char
    signature: 'char *

      quote_n (int n, char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quote_n
      Src: /src/gnulib/lib/quotearg.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 6
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: quote
    functionSourceFile: /src/gnulib/lib/quotearg.c
    functionUses: 5
    functionsReached:
    - quote_n
    linkageType: ''
    returnType: char
    signature: 'char *

      quote (char const *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/wcscmp-impl.h:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: wcscmp
    functionSourceFile: /src/gnulib/lib/wcscmp-impl.h
    functionUses: 7
    functionsReached:
    - _GL_CMP
    linkageType: ''
    returnType: int
    signature: int wcscmp (const wchar_t *s1, const wchar_t *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/dzprintf.c:41,1
    - Dst: vasnprintf
      Src: /src/gnulib/lib/dzprintf.c:42,1
    - Dst: va_end
      Src: /src/gnulib/lib/dzprintf.c:44,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/dzprintf.c:49,1
    - Dst: free
      Src: /src/gnulib/lib/dzprintf.c:56,1
    - Dst: full_write
      Src: /src/gnulib/lib/dzprintf.c:61,1
    - Dst: free
      Src: /src/gnulib/lib/dzprintf.c:64,1
    - Dst: free
      Src: /src/gnulib/lib/dzprintf.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - fd
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: dzprintf
    functionSourceFile: /src/gnulib/lib/dzprintf.c
    functionUses: 3
    functionsReached:
    - free
    - va_start
    - va_end
    - full_write
    - TYPE_MAXIMUM
    - vasnprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t dzprintf (int fd, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __fork
      Src: /src/gnulib/lib/grantpt.c:57,1
    - Dst: __setrlimit
      Src: /src/gnulib/lib/grantpt.c:67,1
    - Dst: __dup2
      Src: /src/gnulib/lib/grantpt.c:72,1
    - Dst: _exit
      Src: /src/gnulib/lib/grantpt.c:73,1
    - Dst: CLOSE_ALL_FDS
      Src: /src/gnulib/lib/grantpt.c:76,1
    - Dst: execle
      Src: /src/gnulib/lib/grantpt.c:79,1
    - Dst: strrchr
      Src: /src/gnulib/lib/grantpt.c:79,1
    - Dst: _exit
      Src: /src/gnulib/lib/grantpt.c:80,1
    - Dst: __waitpid
      Src: /src/gnulib/lib/grantpt.c:86,1
    - Dst: WIFEXITED
      Src: /src/gnulib/lib/grantpt.c:88,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:89,1
    - Dst: WEXITSTATUS
      Src: /src/gnulib/lib/grantpt.c:91,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:97,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:100,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:103,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:106,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/grantpt.c:109,1
    - Dst: assert
      Src: /src/gnulib/lib/grantpt.c:113,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 120
    functionName: grantpt
    functionSourceFile: /src/gnulib/lib/grantpt.c
    functionUses: 2
    functionsReached:
    - assert
    - __setrlimit
    - execle
    - WIFEXITED
    - CLOSE_ALL_FDS
    - __fork
    - __set_errno
    - strrchr
    - __dup2
    - _exit
    - WEXITSTATUS
    - __waitpid
    linkageType: ''
    returnType: int
    signature: int grantpt (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __flbf
      Src: /src/gnulib/lib/fbufmode.c:42,1
    - Dst: __flbf
      Src: /src/gnulib/lib/fbufmode.c:70,1
    - Dst: __flbf
      Src: /src/gnulib/lib/fbufmode.c:97,1
    - Dst: __fbufsize
      Src: /src/gnulib/lib/fbufmode.c:99,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 109
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 109
    functionName: fbufmode
    functionSourceFile: /src/gnulib/lib/fbufmode.c
    functionUses: 1
    functionsReached:
    - __fbufsize
    - __flbf
    linkageType: ''
    returnType: int
    signature: int fbufmode (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_implementation_t::nx_create_empty
      Src: /src/gnulib/lib/gl_omap.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - implementation
    - compar_fn
    - kdispose_fn
    - vdispose_fn
    argTypes:
    - gl_omap_implementation_t
    - gl_mapkey_compar_fn
    - gl_mapkey_dispose_fn
    - gl_mapvalue_dispose_fn
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: gl_omap_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 3
    functionsReached:
    - gl_omap_implementation_t::nx_create_empty
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: "GL_OMAP_INLINE gl_omap_nx_create_empty (gl_omap_implementation_t implementation,\n
      \                        gl_mapkey_compar_fn compar_fn,\n                         gl_mapkey_dispose_fn
      kdispose_fn,\n                         gl_mapvalue_dispose_fn vdispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::size
      Src: /src/gnulib/lib/gl_omap.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: gl_omap_size
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::size
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_size (gl_omap_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search
      Src: /src/gnulib/lib/gl_omap.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map
    - key
    - valuep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: gl_omap_search
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::search
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_search (gl_omap_t map, const void *key, const
      void **valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search_atleast
      Src: /src/gnulib/lib/gl_omap.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - map
    - threshold_fn
    - threshold
    - keyp
    - valuep
    argTypes:
    - gl_omap_t
    - gl_mapkey_threshold_fn
    - void*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: gl_omap_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::search_atleast
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: "GL_OMAP_INLINE gl_omap_search_atleast (gl_omap_t map,\n                        gl_mapkey_threshold_fn
      threshold_fn,\n                        const void *threshold,\n                        const
      void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::nx_getput
      Src: /src/gnulib/lib/gl_omap.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - map
    - key
    - value
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: gl_omap_nx_getput
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::nx_getput
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: "_GL_ATTRIBUTE_NODISCARD gl_omap_nx_getput (gl_omap_t map, const void
      *key, const void *value,\n                   const void **oldvaluep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::getremove
      Src: /src/gnulib/lib/gl_omap.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map
    - key
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: gl_omap_getremove
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::getremove
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_getremove (gl_omap_t map, const void *key, const
      void **oldvaluep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::omap_free
      Src: /src/gnulib/lib/gl_omap.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: gl_omap_free
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 3
    functionsReached:
    - vtable::omap_free
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_free (gl_omap_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::iterator
      Src: /src/gnulib/lib/gl_omap.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: gl_omap_iterator_t::gl_omap_iterator
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 0
    functionsReached:
    - vtable::iterator
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: 'GL_OMAP_INLINE gl_omap_iterator_t

      gl_omap_iterator (gl_omap_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_iterator_t*::vtable::iterator_next
      Src: /src/gnulib/lib/gl_omap.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iterator
    - keyp
    - valuep
    argTypes:
    - gl_omap_iterator_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: gl_omap_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 3
    functionsReached:
    - gl_omap_iterator_t*::vtable::iterator_next
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: "GL_OMAP_INLINE gl_omap_iterator_next (gl_omap_iterator_t *iterator,\n
      \                      const void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_iterator_t*::vtable::iterator_free
      Src: /src/gnulib/lib/gl_omap.h:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_omap_iterator_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: gl_omap_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 3
    functionsReached:
    - gl_omap_iterator_t*::vtable::iterator_free
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_iterator_free (gl_omap_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_search
      Src: /src/gnulib/lib/gl_omap.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - gl_omap_t
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: gl_omap_get
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 2
    functionsReached:
    - gl_omap_search
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: 'GL_OMAP_INLINE *

      gl_omap_get (gl_omap_t map, const void *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose_fn
      Src: /src/gnulib/lib/gl_omap.h:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - gl_omap_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: gl_omap_nx_put
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 2
    functionsReached:
    - vdispose_fn
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD gl_omap_nx_put (gl_omap_t map, const void *key,
      const void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose_fn
      Src: /src/gnulib/lib/gl_omap.h:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - gl_omap_t
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: gl_omap_remove
    functionSourceFile: /src/gnulib/lib/gl_omap.h
    functionUses: 2
    functionsReached:
    - vdispose_fn
    linkageType: ''
    returnType: GL_OMAP_INLINE
    signature: GL_OMAP_INLINE gl_omap_remove (gl_omap_t map, const void *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - schedparam
    argTypes:
    - posix_spawnattr_t*
    - struct sched_param*
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: posix_spawnattr_getschedparam
    functionSourceFile: /src/gnulib/lib/spawnattr_getschedparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int posix_spawnattr_getschedparam (const posix_spawnattr_t *attr,\n
      \                              struct sched_param *schedparam)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/spawnattr_getsigmask.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - sigmask
    argTypes:
    - posix_spawnattr_t*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: posix_spawnattr_getsigmask
    functionSourceFile: /src/gnulib/lib/spawnattr_getsigmask.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int posix_spawnattr_getsigmask (const posix_spawnattr_t *attr,\n                            sigset_t
      *sigmask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - locale_t
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: _GL_ATTRIBUTE_CONST::locale_hash_function
    functionSourceFile: /src/gnulib/lib/localename-table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_CONST

      locale_hash_function (locale_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/findprog.c:54,1
    - Dst: getenv
      Src: /src/gnulib/lib/findprog.c:59,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/findprog.c:67,1
    - Dst: strdup
      Src: /src/gnulib/lib/findprog.c:69,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/findprog.c:93,1
    - Dst: concatenated_filename
      Src: /src/gnulib/lib/findprog.c:95,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:99,1
    - Dst: eaccess
      Src: /src/gnulib/lib/findprog.c:108,1
    - Dst: stat
      Src: /src/gnulib/lib/findprog.c:113,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/findprog.c:114,1
    - Dst: strcmp
      Src: /src/gnulib/lib/findprog.c:117,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:119,1
    - Dst: XNMALLOC
      Src: /src/gnulib/lib/findprog.c:125,1
    - Dst: strlen
      Src: /src/gnulib/lib/findprog.c:125,1
    - Dst: malloc
      Src: /src/gnulib/lib/findprog.c:127,1
    - Dst: strlen
      Src: /src/gnulib/lib/findprog.c:127,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:131,1
    - Dst: memcpy
      Src: /src/gnulib/lib/findprog.c:137,1
    - Dst: strlen
      Src: /src/gnulib/lib/findprog.c:137,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:140,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:145,1
    - Dst: free
      Src: /src/gnulib/lib/findprog.c:152,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 155
    functionName: find_in_path
    functionSourceFile: /src/gnulib/lib/findprog.c
    functionUses: 0
    functionsReached:
    - strdup
    - eaccess
    - strlen
    - free
    - XNMALLOC
    - xstrdup
    - strchr
    - xconcatenated_filename
    - stat
    - strcmp
    - memcpy
    - S_ISDIR
    - malloc
    - concatenated_filename
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      find_in_path (const char *progname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/gnulib/lib/sched_yield.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: sched_yield
    functionSourceFile: /src/gnulib/lib/sched_yield.c
    functionUses: 4
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: int
    signature: int sched_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DosSleep
      Src: /src/gnulib/lib/sched_yield.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sched_yield
    functionSourceFile: /src/gnulib/lib/sched_yield.c
    functionUses: 4
    functionsReached:
    - DosSleep
    linkageType: ''
    returnType: int
    signature: int sched_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: sched_yield
    functionSourceFile: /src/gnulib/lib/sched_yield.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sched_yield (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUserName
      Src: /src/gnulib/lib/getlogin_r.c:65,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/getlogin_r.c:67,1
    - Dst: getpwuid_r
      Src: /src/gnulib/lib/getlogin_r.c:95,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin_r.c:97,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getlogin_r.c:99,1
    - Dst: close
      Src: /src/gnulib/lib/getlogin_r.c:100,1
    - Dst: close
      Src: /src/gnulib/lib/getlogin_r.c:107,1
    - Dst: ttyname_r
      Src: /src/gnulib/lib/getlogin_r.c:113,1
    - Dst: stat
      Src: /src/gnulib/lib/getlogin_r.c:120,1
    - Dst: getpwuid_r
      Src: /src/gnulib/lib/getlogin_r.c:127,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin_r.c:129,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getlogin_r.c:131,1
    - Dst: getlogin_r
      Src: /src/gnulib/lib/getlogin_r.c:158,1
    - Dst: memcmp
      Src: /src/gnulib/lib/getlogin_r.c:160,1
    - Dst: freea
      Src: /src/gnulib/lib/getlogin_r.c:163,1
    - Dst: getlogin
      Src: /src/gnulib/lib/getlogin_r.c:173,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin_r.c:178,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getlogin_r.c:181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 184
    functionName: getlogin_r
    functionSourceFile: /src/gnulib/lib/getlogin_r.c
    functionUses: 2
    functionsReached:
    - GetUserName
    - strlen
    - GetLastError
    - strcpy
    - getpwuid_r
    - close
    - memcmp
    - getlogin_r
    - stat
    - getlogin
    - freea
    - memcpy
    - ttyname_r
    linkageType: ''
    returnType: int
    signature: int getlogin_r (char *name, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: to_uchar
    functionSourceFile: /src/gnulib/lib/arctwo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char to_uchar (char ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:86,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:87,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:88,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:89,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:90,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:91,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:92,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:93,1
    - Dst: rotl16
      Src: /src/gnulib/lib/arctwo.c:100,1
    - Dst: rotl16
      Src: /src/gnulib/lib/arctwo.c:103,1
    - Dst: rotl16
      Src: /src/gnulib/lib/arctwo.c:106,1
    - Dst: rotl16
      Src: /src/gnulib/lib/arctwo.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - context
    - inbuf
    - outbuf
    - length
    argTypes:
    - arctwo_context*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 129
    functionName: arctwo_encrypt
    functionSourceFile: /src/gnulib/lib/arctwo.c
    functionUses: 2
    functionsReached:
    - rotl16
    - to_uchar
    linkageType: ''
    returnType: void
    signature: "void arctwo_encrypt (arctwo_context *context, const char *inbuf,\n
      \               char *outbuf, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:141,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:142,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:143,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:144,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:145,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:146,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:147,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/arctwo.c:148,1
    - Dst: rotr16
      Src: /src/gnulib/lib/arctwo.c:154,1
    - Dst: rotr16
      Src: /src/gnulib/lib/arctwo.c:157,1
    - Dst: rotr16
      Src: /src/gnulib/lib/arctwo.c:160,1
    - Dst: rotr16
      Src: /src/gnulib/lib/arctwo.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - context
    - inbuf
    - outbuf
    - length
    argTypes:
    - arctwo_context*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 184
    functionName: arctwo_decrypt
    functionSourceFile: /src/gnulib/lib/arctwo.c
    functionUses: 2
    functionsReached:
    - rotr16
    - to_uchar
    linkageType: ''
    returnType: void
    signature: "void arctwo_decrypt (arctwo_context *context, const char *inbuf,\n
      \               char *outbuf, size_t length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - context
    - keylen
    - key
    - effective_keylen
    argTypes:
    - arctwo_context*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: arctwo_setkey_ekb
    functionSourceFile: /src/gnulib/lib/arctwo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void arctwo_setkey_ekb (arctwo_context *context,\n                   size_t
      keylen, const char *key, size_t effective_keylen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:56,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:57,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:58,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:59,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:60,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:61,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:62,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:63,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: sha512_init_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - u64hilo
    - u64lo
    linkageType: ''
    returnType: void
    signature: void sha512_init_ctx (struct sha512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:72,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:73,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:74,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:75,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:76,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:77,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:78,1
    - Dst: u64hilo
      Src: /src/gnulib/lib/sha512.c:79,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: sha384_init_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - u64hilo
    - u64lo
    linkageType: ''
    returnType: void
    signature: void sha384_init_ctx (struct sha512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cp
    - v
    argTypes:
    - char*
    - u64
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: set_uint64
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void set_uint64 (char *cp, u64 v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_uint64
      Src: /src/gnulib/lib/sha512.c:103,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sha512.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sha512_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: sha512_read_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - SWAP
    - set_uint64
    linkageType: ''
    returnType: void
    signature: 'void *

      sha512_read_ctx (const struct sha512_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_uint64
      Src: /src/gnulib/lib/sha512.c:115,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sha512.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sha512_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: sha384_read_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - SWAP
    - set_uint64
    linkageType: ''
    returnType: void
    signature: 'void *

      sha384_read_ctx (const struct sha512_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:130,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:130,1
    - Dst: u64lt
      Src: /src/gnulib/lib/sha512.c:131,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:131,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:132,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:132,1
    - Dst: set_uint64
      Src: /src/gnulib/lib/sha512.c:137,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sha512.c:138,1
    - Dst: u64or
      Src: /src/gnulib/lib/sha512.c:138,1
    - Dst: u64shl
      Src: /src/gnulib/lib/sha512.c:138,1
    - Dst: u64shr
      Src: /src/gnulib/lib/sha512.c:139,1
    - Dst: set_uint64
      Src: /src/gnulib/lib/sha512.c:140,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sha512.c:141,1
    - Dst: u64shl
      Src: /src/gnulib/lib/sha512.c:141,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:143,1
    - Dst: sha512_process_block
      Src: /src/gnulib/lib/sha512.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: sha512_conclude_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - u64lt
    - u64shr
    - u64plus
    - set_uint64
    - u64lo
    - u64or
    - u64shl
    - sha512_process_block
    - memcpy
    - SWAP
    linkageType: ''
    returnType: void
    signature: void sha512_conclude_ctx (struct sha512_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_conclude_ctx
      Src: /src/gnulib/lib/sha512.c:152,1
    - Dst: sha512_read_ctx
      Src: /src/gnulib/lib/sha512.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sha512_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: sha512_finish_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_read_ctx
    - sha512_conclude_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sha512_finish_ctx (struct sha512_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_conclude_ctx
      Src: /src/gnulib/lib/sha512.c:159,1
    - Dst: sha384_read_ctx
      Src: /src/gnulib/lib/sha512.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - resbuf
    argTypes:
    - struct sha512_ctx*
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: sha384_finish_ctx
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 0
    functionsReached:
    - sha384_read_ctx
    - sha512_conclude_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sha384_finish_ctx (struct sha512_ctx *ctx, void *resbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_init_ctx
      Src: /src/gnulib/lib/sha512.c:173,1
    - Dst: sha512_process_bytes
      Src: /src/gnulib/lib/sha512.c:176,1
    - Dst: sha512_finish_ctx
      Src: /src/gnulib/lib/sha512.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - len
    - resblock
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: sha512_buffer
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 1
    functionsReached:
    - sha512_init_ctx
    - sha512_process_bytes
    - sha512_finish_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sha512_buffer (const char *buffer, size_t len, void *resblock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha384_init_ctx
      Src: /src/gnulib/lib/sha512.c:188,1
    - Dst: sha512_process_bytes
      Src: /src/gnulib/lib/sha512.c:191,1
    - Dst: sha384_finish_ctx
      Src: /src/gnulib/lib/sha512.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - len
    - resblock
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: sha384_buffer
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 1
    functionsReached:
    - sha512_process_bytes
    - sha384_init_ctx
    - sha384_finish_ctx
    linkageType: ''
    returnType: void
    signature: 'void *

      sha384_buffer (const char *buffer, size_t len, void *resblock)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:207,1
    - Dst: sha512_process_block
      Src: /src/gnulib/lib/sha512.c:212,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:217,1
    - Dst: UNALIGNED_P
      Src: /src/gnulib/lib/sha512.c:231,1
    - Dst: sha512_process_block
      Src: /src/gnulib/lib/sha512.c:234,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:234,1
    - Dst: sha512_process_block
      Src: /src/gnulib/lib/sha512.c:241,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:252,1
    - Dst: sha512_process_block
      Src: /src/gnulib/lib/sha512.c:256,1
    - Dst: memcpy
      Src: /src/gnulib/lib/sha512.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - buffer
    - len
    - ctx
    argTypes:
    - void*
    - size_t
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 264
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 264
    functionName: sha512_process_bytes
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 2
    functionsReached:
    - memcpy
    - sha512_process_block
    - UNALIGNED_P
    linkageType: ''
    returnType: void
    signature: void sha512_process_bytes (const void *buffer, size_t len, struct sha512_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64size
      Src: /src/gnulib/lib/sha512.c:335,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:340,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:341,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:342,1
    - Dst: u64size
      Src: /src/gnulib/lib/sha512.c:342,1
    - Dst: u64lo
      Src: /src/gnulib/lib/sha512.c:343,1
    - Dst: u64lt
      Src: /src/gnulib/lib/sha512.c:343,1
    - Dst: SWAP
      Src: /src/gnulib/lib/sha512.c:374,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:378,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:378,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:379,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:379,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:380,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:380,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:381,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:381,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:382,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:382,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:383,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:383,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:384,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:384,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:385,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:385,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:386,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:386,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:387,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:387,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:388,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:388,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:389,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:389,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:390,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:390,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:391,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:391,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:392,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:392,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:393,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:393,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:394,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:394,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:394,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:395,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:395,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:395,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:396,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:396,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:396,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:397,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:397,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:397,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:398,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:398,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:398,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:399,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:399,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:399,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:400,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:400,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:400,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:401,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:401,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:401,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:402,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:402,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:402,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:403,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:403,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:403,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:404,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:404,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:404,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:405,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:405,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:405,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:406,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:406,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:406,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:407,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:407,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:407,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:408,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:408,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:408,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:409,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:409,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:409,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:410,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:410,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:410,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:411,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:411,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:411,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:412,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:412,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:412,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:413,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:413,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:413,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:414,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:414,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:414,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:415,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:415,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:415,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:416,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:416,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:416,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:417,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:417,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:417,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:418,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:418,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:418,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:419,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:419,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:419,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:420,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:420,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:420,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:421,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:421,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:421,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:422,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:422,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:422,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:423,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:423,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:423,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:424,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:424,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:424,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:425,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:425,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:425,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:426,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:426,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:426,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:427,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:427,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:427,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:428,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:428,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:428,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:429,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:429,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:429,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:430,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:430,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:430,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:431,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:431,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:431,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:432,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:432,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:432,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:433,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:433,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:433,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:434,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:434,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:434,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:435,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:435,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:435,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:436,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:436,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:436,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:437,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:437,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:437,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:438,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:438,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:438,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:439,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:439,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:439,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:440,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:440,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:440,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:441,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:441,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:441,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:442,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:442,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:442,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:443,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:443,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:443,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:444,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:444,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:444,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:445,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:445,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:445,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:446,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:446,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:446,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:447,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:447,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:447,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:448,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:448,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:448,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:449,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:449,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:449,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:450,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:450,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:450,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:451,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:451,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:451,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:452,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:452,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:452,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:453,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:453,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:453,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:454,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:454,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:454,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:455,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:455,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:455,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:456,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:456,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:456,1
    - Dst: R
      Src: /src/gnulib/lib/sha512.c:457,1
    - Dst: K
      Src: /src/gnulib/lib/sha512.c:457,1
    - Dst: M
      Src: /src/gnulib/lib/sha512.c:457,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:459,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:460,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:461,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:462,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:463,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:464,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:465,1
    - Dst: u64plus
      Src: /src/gnulib/lib/sha512.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 97
    argCount: 3
    argNames:
    - buffer
    - len
    - ctx
    argTypes:
    - void*
    - size_t
    - struct sha512_ctx*
    constantsTouched: []
    func_position:
      end: 468
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 468
    functionName: sha512_process_block
    functionSourceFile: /src/gnulib/lib/sha512.c
    functionUses: 2
    functionsReached:
    - u64lt
    - u64plus
    - u64size
    - u64lo
    - K
    - M
    - SWAP
    - R
    linkageType: ''
    returnType: void
    signature: void sha512_process_block (const void *buffer, size_t len, struct sha512_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - format
    - directivesp
    argTypes:
    - char*
    - directives_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 117
    functionName: fmon_parse
    functionSourceFile: /src/gnulib/lib/strfmon_l.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fmon_parse (const char *format, directives_t *directivesp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uselocale
      Src: /src/gnulib/lib/strfmon_l.c:129,1
    - Dst: uselocale
      Src: /src/gnulib/lib/strfmon_l.c:131,1
    - Dst: fmon_parse
      Src: /src/gnulib/lib/strfmon_l.c:141,1
    - Dst: va_start
      Src: /src/gnulib/lib/strfmon_l.c:159,1
    - Dst: malloc
      Src: /src/gnulib/lib/strfmon_l.c:166,1
    - Dst: strlen
      Src: /src/gnulib/lib/strfmon_l.c:166,1
    - Dst: memcpy
      Src: /src/gnulib/lib/strfmon_l.c:183,1
    - Dst: strcpy
      Src: /src/gnulib/lib/strfmon_l.c:189,1
    - Dst: va_arg
      Src: /src/gnulib/lib/strfmon_l.c:195,1
    - Dst: va_arg
      Src: /src/gnulib/lib/strfmon_l.c:196,1
    - Dst: strfmon_l
      Src: /src/gnulib/lib/strfmon_l.c:201,1
    - Dst: free
      Src: /src/gnulib/lib/strfmon_l.c:207,1
    - Dst: va_arg
      Src: /src/gnulib/lib/strfmon_l.c:216,1
    - Dst: strfmon_l
      Src: /src/gnulib/lib/strfmon_l.c:221,1
    - Dst: va_end
      Src: /src/gnulib/lib/strfmon_l.c:228,1
    - Dst: uselocale
      Src: /src/gnulib/lib/strfmon_l.c:231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - s
    - maxsize
    - locale
    - format
    argTypes:
    - char*
    - size_t
    - locale_t
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 236
    functionName: rpl_strfmon_l
    functionSourceFile: /src/gnulib/lib/strfmon_l.c
    functionUses: 0
    functionsReached:
    - strlen
    - strfmon_l
    - strcpy
    - free
    - va_start
    - va_end
    - fmon_parse
    - uselocale
    - memcpy
    - malloc
    - va_arg
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_strfmon_l (char *s, size_t maxsize, locale_t locale, const
      char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUserName
      Src: /src/gnulib/lib/getlogin.c:50,1
    - Dst: getpwuid
      Src: /src/gnulib/lib/getlogin.c:69,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin.c:70,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getlogin.c:73,1
    - Dst: close
      Src: /src/gnulib/lib/getlogin.c:74,1
    - Dst: close
      Src: /src/gnulib/lib/getlogin.c:79,1
    - Dst: strncmp
      Src: /src/gnulib/lib/getlogin.c:88,1
    - Dst: read_utmp
      Src: /src/gnulib/lib/getlogin.c:92,1
    - Dst: strcmp
      Src: /src/gnulib/lib/getlogin.c:97,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin.c:99,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getlogin.c:102,1
    - Dst: free
      Src: /src/gnulib/lib/getlogin.c:103,1
    - Dst: free
      Src: /src/gnulib/lib/getlogin.c:108,1
    - Dst: stat
      Src: /src/gnulib/lib/getlogin.c:115,1
    - Dst: getpwuid
      Src: /src/gnulib/lib/getlogin.c:119,1
    - Dst: strlen
      Src: /src/gnulib/lib/getlogin.c:120,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getlogin.c:123,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 131
    functionName: getlogin
    functionSourceFile: /src/gnulib/lib/getlogin.c
    functionUses: 2
    functionsReached:
    - read_utmp
    - GetUserName
    - strlen
    - strcpy
    - free
    - close
    - stat
    - strcmp
    - strncmp
    - getpwuid
    linkageType: ''
    returnType: char
    signature: 'char *

      getlogin (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_appendvf
      Src: /src/gnulib/lib/xstring-buffer-printf.c:32,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-printf.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - formatstring
    - list
    argTypes:
    - struct string_buffer*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: sb_xappendvf
    functionSourceFile: /src/gnulib/lib/xstring-buffer-printf.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    - sb_appendvf
    linkageType: ''
    returnType: int
    signature: "int sb_xappendvf (struct string_buffer *buffer,\n              const
      char *formatstring, va_list list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/xstring-buffer-printf.c:47,1
    - Dst: sb_xappendvf
      Src: /src/gnulib/lib/xstring-buffer-printf.c:48,1
    - Dst: va_end
      Src: /src/gnulib/lib/xstring-buffer-printf.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - formatstring
    argTypes:
    - struct string_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: sb_xappendf
    functionSourceFile: /src/gnulib/lib/xstring-buffer-printf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sb_xappendvf
    linkageType: ''
    returnType: int
    signature: int sb_xappendf (struct string_buffer *buffer, const char *formatstring,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnulib/lib/isatty.c:69,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/isatty.c:73,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/isatty.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: initialize
    functionSourceFile: /src/gnulib/lib/isatty.c
    functionUses: 12
    functionsReached:
    - LoadLibrary
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void initialize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleMode
      Src: /src/gnulib/lib/isatty.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: IsConsoleHandle
    functionSourceFile: /src/gnulib/lib/isatty.c
    functionUses: 0
    functionsReached:
    - GetConsoleMode
    linkageType: ''
    returnType: BOOL
    signature: BOOL IsConsoleHandle (HANDLE h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/gnulib/lib/isatty.c:104,1
    - Dst: GetNamedPipeClientProcessIdFunc
      Src: /src/gnulib/lib/isatty.c:111,1
    - Dst: OpenProcess
      Src: /src/gnulib/lib/isatty.c:116,1
    - Dst: QueryFullProcessImageNameFunc
      Src: /src/gnulib/lib/isatty.c:131,1
    - Dst: str_endswith
      Src: /src/gnulib/lib/isatty.c:133,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/isatty.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 140
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 140
    functionName: IsCygwinConsoleHandle
    functionSourceFile: /src/gnulib/lib/isatty.c
    functionUses: 0
    functionsReached:
    - QueryFullProcessImageNameFunc
    - OpenProcess
    - GetNamedPipeClientProcessIdFunc
    - CloseHandle
    - str_endswith
    - initialize
    linkageType: ''
    returnType: BOOL
    signature: BOOL IsCygwinConsoleHandle (HANDLE h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/gnulib/lib/isatty.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: _isatty_nothrow
    functionSourceFile: /src/gnulib/lib/isatty.c
    functionUses: 0
    functionsReached:
    - _isatty
    linkageType: ''
    returnType: int
    signature: int _isatty_nothrow (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/isatty.c:169,1
    - Dst: _isatty_nothrow
      Src: /src/gnulib/lib/isatty.c:177,1
    - Dst: IsConsoleHandle
      Src: /src/gnulib/lib/isatty.c:179,1
    - Dst: IsCygwinConsoleHandle
      Src: /src/gnulib/lib/isatty.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: isatty
    functionSourceFile: /src/gnulib/lib/isatty.c
    functionUses: 15
    functionsReached:
    - IsConsoleHandle
    - _get_osfhandle
    - IsCygwinConsoleHandle
    - _isatty_nothrow
    linkageType: ''
    returnType: int
    signature: int isatty (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: sb_init
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sb_init (struct string_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/string-buffer.c:71,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer.c:75,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - buffer
    - increment
    argTypes:
    - struct string_buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: sb_ensure_more_bytes
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - realloc
    linkageType: ''
    returnType: int
    signature: int sb_ensure_more_bytes (struct string_buffer *buffer, size_t increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - struct string_buffer*
    - char
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: sb_append1
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 2
    functionsReached:
    - sb_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: int sb_append1 (struct string_buffer *buffer, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer.c:106,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer.c:111,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-buffer.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - s
    argTypes:
    - struct string_buffer*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: sb_append_desc
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 2
    functionsReached:
    - memcpy
    - sb_ensure_more_bytes
    - sd_data
    linkageType: ''
    returnType: int
    signature: int sb_append_desc (struct string_buffer *buffer, string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer.c:120,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - struct string_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: sb_append_c
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 2
    functionsReached:
    - memcpy
    - sb_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: int sb_append_c (struct string_buffer *buffer, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/string-buffer.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: sb_free
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sb_free (struct string_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: sb_contents
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 1
    functionsReached:
    - sd_new_addr
    linkageType: ''
    returnType: string_desc_t
    signature: string_desc_t sb_contents (struct string_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: sb_contents_c
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 0
    functionsReached:
    - sb_ensure_more_bytes
    linkageType: ''
    returnType: char
    signature: 'char *

      sb_contents_c (struct string_buffer *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer.c:165,1
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer.c:166,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer.c:174,1
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer.c:178,1
    - Dst: sb_free
      Src: /src/gnulib/lib/string-buffer.c:182,1
    - Dst: sd_readwrite
      Src: /src/gnulib/lib/string-buffer.c:183,1
    - Dst: sd_new_empty
      Src: /src/gnulib/lib/string-buffer.c:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: sb_dupfree
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 1
    functionsReached:
    - sb_free
    - sd_new_addr
    - memcpy
    - sd_new_empty
    - sd_readwrite
    - realloc
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t sb_dupfree (struct string_buffer *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer.c:192,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer.c:203,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer.c:212,1
    - Dst: sb_free
      Src: /src/gnulib/lib/string-buffer.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer*
    constantsTouched: []
    func_position:
      end: 222
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 222
    functionName: sb_dupfree_c
    functionSourceFile: /src/gnulib/lib/string-buffer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sb_free
    - sb_ensure_more_bytes
    - realloc
    linkageType: ''
    returnType: char
    signature: 'char *

      sb_dupfree_c (struct string_buffer *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/gnulib/lib/expl.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: expl
    functionSourceFile: /src/gnulib/lib/expl.c
    functionUses: 4
    functionsReached:
    - exp
    linkageType: ''
    returnType: long double
    signature: long double expl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/expl.c:61,1
    - Dst: ldexpl
      Src: /src/gnulib/lib/expl.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 148
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 148
    functionName: expl
    functionSourceFile: /src/gnulib/lib/expl.c
    functionUses: 5
    functionsReached:
    - ldexpl
    - isnanl
    linkageType: ''
    returnType: long double
    signature: long double expl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - string
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: strnlen1
    functionSourceFile: /src/gnulib/lib/strnlen1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strnlen1 (const char *string, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_ordered.h:107,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 4
    argNames:
    - container
    - node
    - height_diff
    - parent
    argTypes:
    - CONTAINER_T
    - NODE_T
    - int
    - NODE_T
    constantsTouched: []
    func_position:
      end: 295
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 295
    functionName: rebalance
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 6
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: "void rebalance (CONTAINER_T container,\n           NODE_T node, int
      height_diff, NODE_T parent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_avltree_ordered.h:302,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_avltree_ordered.h:310,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - container
    argTypes:
    - CONTAINER_T
    constantsTouched: []
    func_position:
      end: 336
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 336
    functionName: gl_tree_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 1
    functionsReached:
    - rebalance
    - malloc
    - NODE_PAYLOAD_ASSIGN
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_first (CONTAINER_T container, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - container
    - node
    - new_node
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: gl_tree_add_node_before
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 2
    functionsReached:
    - rebalance
    linkageType: ''
    returnType: void
    signature: void gl_tree_add_node_before (CONTAINER_T container, NODE_T node, NODE_T
      new_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_avltree_ordered.h:377,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_avltree_ordered.h:382,1
    - Dst: gl_tree_add_node_before
      Src: /src/gnulib/lib/gl_avltree_ordered.h:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: gl_tree_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 1
    functionsReached:
    - malloc
    - NODE_PAYLOAD_ASSIGN
    - gl_tree_add_node_before
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_before (CONTAINER_T container, NODE_T node, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - container
    - node
    - new_node
    argTypes:
    - CONTAINER_T
    - NODE_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 420
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 420
    functionName: gl_tree_add_node_after
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 2
    functionsReached:
    - rebalance
    linkageType: ''
    returnType: void
    signature: void gl_tree_add_node_after (CONTAINER_T container, NODE_T node, NODE_T
      new_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_avltree_ordered.h:427,1
    - Dst: NODE_PAYLOAD_ASSIGN
      Src: /src/gnulib/lib/gl_avltree_ordered.h:432,1
    - Dst: gl_tree_add_node_after
      Src: /src/gnulib/lib/gl_avltree_ordered.h:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: gl_tree_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 1
    functionsReached:
    - gl_tree_add_node_after
    - malloc
    - NODE_PAYLOAD_ASSIGN
    linkageType: ''
    returnType: NODE_T
    signature: NODE_T gl_tree_nx_add_after (CONTAINER_T container, NODE_T node, NODE_PAYLOAD_PARAMS)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:459,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:479,1
    - Dst: rebalance
      Src: /src/gnulib/lib/gl_avltree_ordered.h:536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 540
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 540
    functionName: gl_tree_remove_node_no_free
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 2
    functionsReached:
    - rebalance
    linkageType: ''
    returnType: void
    signature: void gl_tree_remove_node_no_free (CONTAINER_T container, NODE_T node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_remove_node_no_free
      Src: /src/gnulib/lib/gl_avltree_ordered.h:545,1
    - Dst: NODE_PAYLOAD_DISPOSE
      Src: /src/gnulib/lib/gl_avltree_ordered.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - node
    argTypes:
    - CONTAINER_T
    - NODE_T
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: gl_tree_remove_node
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 1
    functionsReached:
    - NODE_PAYLOAD_DISPOSE
    - gl_tree_remove_node_no_free
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_remove_node (CONTAINER_T container, NODE_T node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_ordered.h:562,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_ordered.h:564,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_ordered.h:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - node
    - parent
    - counterp
    argTypes:
    - NODE_T
    - NODE_T
    - size_t*
    constantsTouched: []
    func_position:
      end: 571
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 571
    functionName: check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltree_ordered.h
    functionUses: 9
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invariants (NODE_T node, NODE_T parent, size_t *counterp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: gc_init
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: gc_done
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gc_done (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/gnulib/lib/gc-gnulib.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - length
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: randomize
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 9
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: int
    signature: int randomize (void *buffer, size_t length, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/gnulib/lib/gc-gnulib.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gc_nonce
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 0
    functionsReached:
    - randomize
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_nonce (char *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/gnulib/lib/gc-gnulib.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gc_pseudo_random
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 0
    functionsReached:
    - randomize
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_pseudo_random (char *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/gnulib/lib/gc-gnulib.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gc_random
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 0
    functionsReached:
    - randomize
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_random (char *data, size_t datalen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func_malloc
    - secure_malloc
    - secure_check
    - func_realloc
    - func_free
    argTypes:
    - gc_malloc_t
    - gc_malloc_t
    - gc_secure_check_t
    - gc_realloc_t
    - gc_free_t
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: gc_set_allocators
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gc_set_allocators (gc_malloc_t func_malloc,\n                   gc_malloc_t
      secure_malloc,\n                   gc_secure_check_t secure_check,\n                   gc_realloc_t
      func_realloc, gc_free_t func_free)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/gc-gnulib.c:177,1
    - Dst: free
      Src: /src/gnulib/lib/gc-gnulib.c:250,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - alg
    - mode
    - outhandle
    argTypes:
    - Gc_cipher
    - Gc_cipher_mode
    - gc_cipher_handle*
    constantsTouched: []
    func_position:
      end: 253
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 253
    functionName: gc_cipher_open
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 4
    functionsReached:
    - free
    - calloc
    linkageType: ''
    returnType: Gc_rc
    signature: "Gc_rc gc_cipher_open (Gc_cipher alg, Gc_cipher_mode mode,\n                gc_cipher_handle
      * outhandle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_setkey
      Src: /src/gnulib/lib/gc-gnulib.c:264,1
    - Dst: arcfour_setkey
      Src: /src/gnulib/lib/gc-gnulib.c:271,1
    - Dst: gl_des_setkey
      Src: /src/gnulib/lib/gc-gnulib.c:279,1
    - Dst: sprintf
      Src: /src/gnulib/lib/gc-gnulib.c:293,1
    - Dst: rijndaelMakeKey
      Src: /src/gnulib/lib/gc-gnulib.c:295,1
    - Dst: rijndaelMakeKey
      Src: /src/gnulib/lib/gc-gnulib.c:300,1
    - Dst: rijndaelCipherInit
      Src: /src/gnulib/lib/gc-gnulib.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - handle
    - keylen
    - key
    argTypes:
    - gc_cipher_handle
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 317
    functionName: gc_cipher_setkey
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 4
    functionsReached:
    - rijndaelMakeKey
    - gl_des_setkey
    - rijndaelCipherInit
    - sprintf
    - arctwo_setkey
    - arcfour_setkey
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_cipher_setkey (gc_cipher_handle handle, size_t keylen, const
      char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/gc-gnulib.c:330,1
    - Dst: sprintf
      Src: /src/gnulib/lib/gc-gnulib.c:351,1
    - Dst: rijndaelCipherInit
      Src: /src/gnulib/lib/gc-gnulib.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - handle
    - ivlen
    - iv
    argTypes:
    - gc_cipher_handle
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 371
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 371
    functionName: gc_cipher_setiv
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - sprintf
    - rijndaelCipherInit
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_cipher_setiv (gc_cipher_handle handle, size_t ivlen, const
      char *iv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_encrypt
      Src: /src/gnulib/lib/gc-gnulib.c:385,1
    - Dst: arctwo_encrypt
      Src: /src/gnulib/lib/gc-gnulib.c:395,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gc-gnulib.c:397,1
    - Dst: arcfour_stream
      Src: /src/gnulib/lib/gc-gnulib.c:410,1
    - Dst: gl_des_ecb_encrypt
      Src: /src/gnulib/lib/gc-gnulib.c:417,1
    - Dst: rijndaelBlockEncrypt
      Src: /src/gnulib/lib/gc-gnulib.c:428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - handle
    - len
    - data
    argTypes:
    - gc_cipher_handle
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 441
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 441
    functionName: gc_cipher_encrypt_inline
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 4
    functionsReached:
    - arcfour_stream
    - arctwo_encrypt
    - gl_des_ecb_encrypt
    - memcpy
    - rijndaelBlockEncrypt
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_cipher_encrypt_inline (gc_cipher_handle handle, size_t len,
      char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arctwo_decrypt
      Src: /src/gnulib/lib/gc-gnulib.c:455,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gc-gnulib.c:464,1
    - Dst: arctwo_decrypt
      Src: /src/gnulib/lib/gc-gnulib.c:465,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gc-gnulib.c:469,1
    - Dst: arcfour_stream
      Src: /src/gnulib/lib/gc-gnulib.c:482,1
    - Dst: gl_des_ecb_decrypt
      Src: /src/gnulib/lib/gc-gnulib.c:489,1
    - Dst: rijndaelBlockDecrypt
      Src: /src/gnulib/lib/gc-gnulib.c:500,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - handle
    - len
    - data
    argTypes:
    - gc_cipher_handle
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 513
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 513
    functionName: gc_cipher_decrypt_inline
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 4
    functionsReached:
    - rijndaelBlockDecrypt
    - arcfour_stream
    - gl_des_ecb_decrypt
    - memcpy
    - arctwo_decrypt
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len,
      char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/gc-gnulib.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gc_cipher_handle
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: gc_cipher_close
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_cipher_close (gc_cipher_handle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/gc-gnulib.c:566,1
    - Dst: md4_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:584,1
    - Dst: md5_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:590,1
    - Dst: sha1_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:596,1
    - Dst: sha256_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:602,1
    - Dst: sha512_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:608,1
    - Dst: sm3_init_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:614,1
    - Dst: free
      Src: /src/gnulib/lib/gc-gnulib.c:626,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - hash
    - mode
    - outhandle
    argTypes:
    - Gc_hash
    - Gc_hash_mode
    - gc_hash_handle*
    constantsTouched: []
    func_position:
      end: 629
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 629
    functionName: gc_hash_open
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached:
    - sha1_init_ctx
    - calloc
    - free
    - sha512_init_ctx
    - sha256_init_ctx
    - md5_init_ctx
    - md4_init_ctx
    - sm3_init_ctx
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_hash_open (Gc_hash hash, Gc_hash_mode mode, gc_hash_handle
      * outhandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/gc-gnulib.c:637,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gc-gnulib.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - outhandle
    argTypes:
    - gc_hash_handle
    - gc_hash_handle*
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: gc_hash_clone
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_hash_clone (gc_hash_handle handle, gc_hash_handle * outhandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - hash
    argTypes:
    - Gc_hash
    constantsTouched: []
    func_position:
      end: 690
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 690
    functionName: gc_hash_digest_length
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gc_hash_digest_length (Gc_hash hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md2_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:701,1
    - Dst: md4_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:707,1
    - Dst: md5_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:713,1
    - Dst: sha1_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:719,1
    - Dst: sha256_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:725,1
    - Dst: sha512_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:731,1
    - Dst: sm3_process_bytes
      Src: /src/gnulib/lib/gc-gnulib.c:737,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - handle
    - len
    - data
    argTypes:
    - gc_hash_handle
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 744
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 744
    functionName: gc_hash_write
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached:
    - md5_process_bytes
    - sha512_process_bytes
    - md2_process_bytes
    - md4_process_bytes
    - sm3_process_bytes
    - sha1_process_bytes
    - sha256_process_bytes
    linkageType: ''
    returnType: void
    signature: void gc_hash_write (gc_hash_handle handle, size_t len, const char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md2_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:756,1
    - Dst: md4_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:763,1
    - Dst: md5_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:770,1
    - Dst: sha1_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:777,1
    - Dst: sha256_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:784,1
    - Dst: sha512_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:791,1
    - Dst: sm3_finish_ctx
      Src: /src/gnulib/lib/gc-gnulib.c:798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gc_hash_handle
    constantsTouched: []
    func_position:
      end: 808
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 808
    functionName: gc_hash_read
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached:
    - md4_finish_ctx
    - sm3_finish_ctx
    - sha1_finish_ctx
    - md2_finish_ctx
    - md5_finish_ctx
    - sha256_finish_ctx
    - sha512_finish_ctx
    linkageType: ''
    returnType: char
    signature: 'char *

      gc_hash_read (gc_hash_handle handle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/gc-gnulib.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - gc_hash_handle
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: gc_hash_close
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gc_hash_close (gc_hash_handle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md2_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:825,1
    - Dst: md4_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:831,1
    - Dst: md5_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:837,1
    - Dst: sha1_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:843,1
    - Dst: sha256_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:849,1
    - Dst: sha512_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:855,1
    - Dst: sm3_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - hash
    - in
    - inlen
    - resbuf
    argTypes:
    - Gc_hash
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 870
      start: 818
    functionDepth: 5
    functionLinenumber: 818
    functionLinenumberEnd: 870
    functionName: gc_hash_buffer
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 7
    functionsReached:
    - md2_buffer
    - sha256_buffer
    - sm3_buffer
    - md5_buffer
    - sha512_buffer
    - sha1_buffer
    - md4_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_hash_buffer (Gc_hash hash, const void *in, size_t inlen, char
      *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md2_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 878
    functionName: gc_md2
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - md2_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_md2 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md4_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: gc_md4
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - md4_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_md4 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md5_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: gc_md5
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - md5_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_md5 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha1_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 905
    functionName: gc_sha1
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - sha1_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_sha1 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha256_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 914
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 914
    functionName: gc_sha256
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - sha256_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_sha256 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha512_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 5
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: gc_sha512
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - sha512_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_sha512 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sm3_buffer
      Src: /src/gnulib/lib/gc-gnulib.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: gc_sm3
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - sm3_buffer
    linkageType: ''
    returnType: Gc_rc
    signature: Gc_rc gc_sm3 (const void *in, size_t inlen, void *resbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_md5
      Src: /src/gnulib/lib/gc-gnulib.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - keylen
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: gc_hmac_md5
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - hmac_md5
    linkageType: ''
    returnType: Gc_rc
    signature: "Gc_rc gc_hmac_md5 (const void *key, size_t keylen,\n             const
      void *in, size_t inlen, char *resbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/gnulib/lib/gc-gnulib.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - keylen
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 952
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 952
    functionName: gc_hmac_sha1
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - hmac_sha1
    linkageType: ''
    returnType: Gc_rc
    signature: "Gc_rc gc_hmac_sha1 (const void *key, size_t keylen,\n              const
      void *in, size_t inlen, char *resbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/gnulib/lib/gc-gnulib.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - keylen
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 962
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 962
    functionName: gc_hmac_sha256
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - hmac_sha256
    linkageType: ''
    returnType: Gc_rc
    signature: "Gc_rc gc_hmac_sha256 (const void *key, size_t keylen,\n                const
      void *in, size_t inlen, char *resbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha512
      Src: /src/gnulib/lib/gc-gnulib.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - keylen
    - in
    - inlen
    - resbuf
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 972
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 972
    functionName: gc_hmac_sha512
    functionSourceFile: /src/gnulib/lib/gc-gnulib.c
    functionUses: 1
    functionsReached:
    - hmac_sha512
    linkageType: ''
    returnType: Gc_rc
    signature: "Gc_rc gc_hmac_sha512 (const void *key, size_t keylen,\n                const
      void *in, size_t inlen, char *resbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:73,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:77,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:79,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:81,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - parent
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtreehash_list.c
    functionUses: 9
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invariants (gl_list_node_t node, gl_list_node_t
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_rbtreehash_list.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: gl_rbtreehash_list_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtreehash_list.c
    functionUses: 1
    functionsReached:
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_rbtreehash_list_check_invariants (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: settimeofday
      Src: /src/gnulib/lib/settime.c:46,1
    - Dst: stime
      Src: /src/gnulib/lib/settime.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: settime
    functionSourceFile: /src/gnulib/lib/settime.c
    functionUses: 1
    functionsReached:
    - settimeofday
    - stime
    linkageType: ''
    returnType: int
    signature: int settime (struct timespec const *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strnlen1
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:46,1
    - Dst: MIN
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:46,1
    - Dst: MBRTOWC
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:49,1
    - Dst: abort
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:54,1
    - Dst: strnlen1
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:97,1
    - Dst: MIN
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:97,1
    - Dst: MBRTOWC
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:100,1
    - Dst: abort
      Src: /src/gnulib/lib/mbsnrtowcs-impl.h:105,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 5
    argNames:
    - dest
    - srcp
    - srclen
    - len
    - ps
    argTypes:
    - DCHAR_T*
    - char**
    - size_t
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 127
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/mbsnrtowcs-impl.h
    functionUses: 4
    functionsReached:
    - abort
    - strnlen1
    - MBRTOWC
    - MIN
    linkageType: ''
    returnType: size_t
    signature: size_t FUNC (DCHAR_T *dest, const char **srcp, size_t srclen, size_t
      len, mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/gnulib/lib/remove.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: rpl_remove
    functionSourceFile: /src/gnulib/lib/remove.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int rpl_remove (char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:235,1
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/ssfmalloc.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: compare_pages_by_free_space
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - _GL_CMP
    - unlikely
    linkageType: ''
    returnType: int
    signature: int compare_pages_by_free_space (const void *elt1, const void *elt2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - threshold
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: page_free_space_is_at_least
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool page_free_space_is_at_least (const void *elt, const void *threshold)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - action_data
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: set_free_space
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_free_space (const void *elt, void *action_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:265,1
    - Dst: gl_oset_update
      Src: /src/gnulib/lib/ssfmalloc.h:272,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: flush_all_updates
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - gl_oset_update
    - likely
    linkageType: ''
    returnType: void
    signature: void flush_all_updates (struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:297,1
    - Dst: flush_all_updates
      Src: /src/gnulib/lib/ssfmalloc.h:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - page
    - pool
    argTypes:
    - uintptr_t
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 302
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 302
    functionName: add_update
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - unlikely
    - flush_all_updates
    linkageType: ''
    returnType: void
    signature: void add_update (uintptr_t page, struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - page
    - pool
    argTypes:
    - uintptr_t
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: drop_update
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void drop_update (uintptr_t page, struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pageptr
    argTypes:
    - struct small_page_header*
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: small_block_page_available_bitmap
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      small_block_page_available_bitmap (struct small_page_header *pageptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pageptr
    argTypes:
    - struct small_page_header*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: small_block_page_blockend_bitmap
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      small_block_page_blockend_bitmap (struct small_page_header *pageptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 389
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 389
    functionName: init_small_block_page_pool
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_small_block_page_pool (struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_bitmap_all_bits_set
      Src: /src/gnulib/lib/ssfmalloc.h:402,1
    - Dst: init_bitmap_all_bits_clear
      Src: /src/gnulib/lib/ssfmalloc.h:409,1
    - Dst: small_block_page_blockend_bitmap
      Src: /src/gnulib/lib/ssfmalloc.h:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: init_small_block_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - init_bitmap_all_bits_clear
    - small_block_page_blockend_bitmap
    - init_bitmap_all_bits_set
    linkageType: ''
    returnType: void
    signature: void init_small_block_page (uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:432,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - size
    - page
    argTypes:
    - size_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 460
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 460
    functionName: allocate_small_block_in_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t allocate_small_block_in_page (size_t size, uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:470,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - block
    - page
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 503
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 503
    functionName: free_small_block_in_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void free_small_block_in_page (uintptr_t block, uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: init_medium_block_page_pool
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_medium_block_page_pool (struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - page
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 565
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 565
    functionName: init_medium_block_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_medium_block_page (uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:594,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:602,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - size
    - page
    argTypes:
    - size_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 622
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 622
    functionName: allocate_medium_block_in_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t allocate_medium_block_in_page (size_t size, uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:655,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - block
    - page
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 672
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 672
    functionName: free_medium_block_in_page
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void free_medium_block_in_page (uintptr_t block, uintptr_t page)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:694,1
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:697,1
    - Dst: add_update
      Src: /src/gnulib/lib/ssfmalloc.h:699,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:705,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/lib/ssfmalloc.h:708,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:709,1
    - Dst: struct page_pool*::init_page_pool
      Src: /src/gnulib/lib/ssfmalloc.h:712,1
    - Dst: flush_all_updates
      Src: /src/gnulib/lib/ssfmalloc.h:716,1
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/lib/ssfmalloc.h:721,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/lib/ssfmalloc.h:725,1
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:730,1
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:733,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/lib/ssfmalloc.h:735,1
    - Dst: add_update
      Src: /src/gnulib/lib/ssfmalloc.h:736,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/lib/ssfmalloc.h:742,1
    - Dst: struct page_pool*::init_page
      Src: /src/gnulib/lib/ssfmalloc.h:749,1
    - Dst: malloc
      Src: /src/gnulib/lib/ssfmalloc.h:751,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:752,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:760,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/lib/ssfmalloc.h:760,1
    - Dst: free
      Src: /src/gnulib/lib/ssfmalloc.h:763,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:774,1
    - Dst: add_update
      Src: /src/gnulib/lib/ssfmalloc.h:775,1
    - Dst: ALLOC_PAGES
      Src: /src/gnulib/lib/ssfmalloc.h:781,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:782,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:790,1
    - Dst: struct page_pool*::init_page
      Src: /src/gnulib/lib/ssfmalloc.h:792,1
    - Dst: malloc
      Src: /src/gnulib/lib/ssfmalloc.h:794,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:795,1
    - Dst: FREE_PAGES
      Src: /src/gnulib/lib/ssfmalloc.h:798,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:804,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/lib/ssfmalloc.h:804,1
    - Dst: free
      Src: /src/gnulib/lib/ssfmalloc.h:807,1
    - Dst: FREE_PAGES
      Src: /src/gnulib/lib/ssfmalloc.h:808,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:818,1
    - Dst: add_update
      Src: /src/gnulib/lib/ssfmalloc.h:819,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 2
    argNames:
    - size
    - pool
    argTypes:
    - size_t
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 822
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 822
    functionName: allocate_block_from_pool
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - struct page_pool*::init_page
    - gl_oset_nx_create_empty
    - gl_oset_iterator_next
    - add_update
    - likely
    - flush_all_updates
    - free
    - FREE_PAGES
    - ALLOC_PAGES
    - gl_oset_nx_add
    - unlikely
    - struct page_pool*::init_page_pool
    - gl_oset_iterator_free
    - malloc
    - gl_oset_iterator_atleast
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t allocate_block_from_pool (size_t size, struct page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:830,1
    - Dst: struct page_pool*::free_block_in_page
      Src: /src/gnulib/lib/ssfmalloc.h:832,1
    - Dst: likely
      Src: /src/gnulib/lib/ssfmalloc.h:835,1
    - Dst: add_update
      Src: /src/gnulib/lib/ssfmalloc.h:838,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/lib/ssfmalloc.h:845,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:847,1
    - Dst: free
      Src: /src/gnulib/lib/ssfmalloc.h:848,1
    - Dst: drop_update
      Src: /src/gnulib/lib/ssfmalloc.h:853,1
    - Dst: FREE_PAGES
      Src: /src/gnulib/lib/ssfmalloc.h:857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - block
    - page
    - pool
    argTypes:
    - uintptr_t
    - uintptr_t
    - struct page_pool*
    constantsTouched: []
    func_position:
      end: 866
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 866
    functionName: free_block_from_pool
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - add_update
    - likely
    - free
    - drop_update
    - FREE_PAGES
    - struct page_pool*::free_block_in_page
    - gl_oset_remove
    linkageType: ''
    returnType: void
    signature: void free_block_from_pool (uintptr_t block, uintptr_t page, struct
      page_pool *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:905,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:910,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:915,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/ssfmalloc.h:923,1
    - Dst: allocate_block_from_pool
      Src: /src/gnulib/lib/ssfmalloc.h:926,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/ssfmalloc.h:927,1
    - Dst: cheri_bounds_set
      Src: /src/gnulib/lib/ssfmalloc.h:932,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 939
      start: 900
    functionDepth: 4
    functionLinenumber: 900
    functionLinenumberEnd: 939
    functionName: allocate_block
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    - gl_lock_unlock
    - cheri_bounds_set
    - gl_lock_lock
    - allocate_block_from_pool
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t allocate_block (size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:947,1
    - Dst: unlikely
      Src: /src/gnulib/lib/ssfmalloc.h:950,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:954,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:958,1
    - Dst: FREE_PAGES
      Src: /src/gnulib/lib/ssfmalloc.h:959,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/ssfmalloc.h:964,1
    - Dst: abort
      Src: /src/gnulib/lib/ssfmalloc.h:972,1
    - Dst: free_block_from_pool
      Src: /src/gnulib/lib/ssfmalloc.h:973,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/ssfmalloc.h:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - block
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 976
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 976
    functionName: free_block
    functionSourceFile: /src/gnulib/lib/ssfmalloc.h
    functionUses: 1
    functionsReached:
    - abort
    - free_block_from_pool
    - FREE_PAGES
    - unlikely
    - gl_lock_unlock
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: void free_block (uintptr_t block)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpsort_with_tmp
      Src: /src/gnulib/lib/mpsort.c:50,1
    - Dst: mpsort_with_tmp
      Src: /src/gnulib/lib/mpsort.c:51,1
    - Dst: cmp
      Src: /src/gnulib/lib/mpsort.c:57,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mpsort.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - base
    - n
    - tmp
    - cmp
    argTypes:
    - void**
    - size_t
    - void**
    - comparison_function
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: mpsort_into_tmp
    functionSourceFile: /src/gnulib/lib/mpsort.c
    functionUses: 0
    functionsReached:
    - mpsort_with_tmp
    - memcpy
    - cmp
    linkageType: ''
    returnType: void
    signature: "void mpsort_into_tmp (void const **restrict base, size_t n,\n                 void
      const **restrict tmp,\n                 comparison_function cmp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/gnulib/lib/mpsort.c:96,1
    - Dst: mpsort_with_tmp
      Src: /src/gnulib/lib/mpsort.c:115,1
    - Dst: mpsort_into_tmp
      Src: /src/gnulib/lib/mpsort.c:120,1
    - Dst: cmp
      Src: /src/gnulib/lib/mpsort.c:126,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mpsort.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - base
    - n
    - tmp
    - cmp
    argTypes:
    - void**
    - size_t
    - void**
    - comparison_function
    constantsTouched: []
    func_position:
      end: 146
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 146
    functionName: mpsort_with_tmp
    functionSourceFile: /src/gnulib/lib/mpsort.c
    functionUses: 2
    functionsReached:
    - mpsort_with_tmp
    - memcpy
    - mpsort_into_tmp
    - cmp
    linkageType: ''
    returnType: void
    signature: "void mpsort_with_tmp (void const **restrict base, size_t n,\n                 void
      const **restrict tmp,\n                 comparison_function cmp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpsort_with_tmp
      Src: /src/gnulib/lib/mpsort.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - n
    - cmp
    argTypes:
    - void**
    - size_t
    - comparison_function
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: mpsort
    functionSourceFile: /src/gnulib/lib/mpsort.c
    functionUses: 0
    functionsReached:
    - mpsort_with_tmp
    linkageType: ''
    returnType: void
    signature: void mpsort (void const **base, size_t n, comparison_function cmp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/strsep.c:43,1
    - Dst: strpbrk
      Src: /src/gnulib/lib/strsep.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: strsep
    functionSourceFile: /src/gnulib/lib/strsep.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      strsep (char **stringp, const char *delim)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - uid
    - gid
    argTypes:
    - int
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: fchown
    functionSourceFile: /src/gnulib/lib/fchown-stub.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fchown (int fd, uid_t uid, gid_t gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/gnulib/lib/floorl.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: floorl
    functionSourceFile: /src/gnulib/lib/floorl.c
    functionUses: 3
    functionsReached:
    - floor
    linkageType: ''
    returnType: long double
    signature: long double floorl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap16
      Src: /src/gnulib/lib/byteswap.in.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_least16_t
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: uint_least16_t
    functionSourceFile: /src/gnulib/lib/byteswap.in.h
    functionUses: 0
    functionsReached:
    - __builtin_bswap16
    linkageType: ''
    returnType: _GL_BYTESWAP_INLINE
    signature: '_GL_BYTESWAP_INLINE uint_least16_t

      bswap_16 (uint_least16_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap32
      Src: /src/gnulib/lib/byteswap.in.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_least32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: uint_least32_t
    functionSourceFile: /src/gnulib/lib/byteswap.in.h
    functionUses: 0
    functionsReached:
    - __builtin_bswap32
    linkageType: ''
    returnType: _GL_BYTESWAP_INLINE
    signature: '_GL_BYTESWAP_INLINE uint_least32_t

      bswap_32 (uint_least32_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap64
      Src: /src/gnulib/lib/byteswap.in.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint_least64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: uint_least64_t
    functionSourceFile: /src/gnulib/lib/byteswap.in.h
    functionUses: 0
    functionsReached:
    - __builtin_bswap64
    linkageType: ''
    returnType: _GL_BYTESWAP_INLINE
    signature: '_GL_BYTESWAP_INLINE uint_least64_t

      bswap_64 (uint_least64_t x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kstat_open
      Src: /src/gnulib/lib/getloadavg.c:426,1
    - Dst: kstat_lookup
      Src: /src/gnulib/lib/getloadavg.c:429,1
    - Dst: kstat_read
      Src: /src/gnulib/lib/getloadavg.c:432,1
    - Dst: kstat_data_lookup
      Src: /src/gnulib/lib/getloadavg.c:436,1
    - Dst: kstat_data_lookup
      Src: /src/gnulib/lib/getloadavg.c:449,1
    - Dst: kstat_data_lookup
      Src: /src/gnulib/lib/getloadavg.c:456,1
    - Dst: kstat_close
      Src: /src/gnulib/lib/getloadavg.c:464,1
    - Dst: pstat_getdynamic
      Src: /src/gnulib/lib/getloadavg.c:475,1
    - Dst: sysinfo
      Src: /src/gnulib/lib/getloadavg.c:510,1
    - Dst: open
      Src: /src/gnulib/lib/getloadavg.c:528,1
    - Dst: read
      Src: /src/gnulib/lib/getloadavg.c:531,1
    - Dst: close
      Src: /src/gnulib/lib/getloadavg.c:533,1
    - Dst: close
      Src: /src/gnulib/lib/getloadavg.c:589,1
    - Dst: sscanf
      Src: /src/gnulib/lib/getloadavg.c:596,1
    - Dst: processor_set_default
      Src: /src/gnulib/lib/getloadavg.c:625,1
    - Dst: host_self
      Src: /src/gnulib/lib/getloadavg.c:625,1
    - Dst: processor_set_info
      Src: /src/gnulib/lib/getloadavg.c:632,1
    - Dst: inq_stats
      Src: /src/gnulib/lib/getloadavg.c:674,1
    - Dst: memset
      Src: /src/gnulib/lib/getloadavg.c:681,1
    - Dst: inq_stats
      Src: /src/gnulib/lib/getloadavg.c:688,1
    - Dst: inq_stats
      Src: /src/gnulib/lib/getloadavg.c:704,1
    - Dst: dg_sys_info
      Src: /src/gnulib/lib/getloadavg.c:725,1
    - Dst: proc1_$get_loadav
      Src: /src/gnulib/lib/getloadavg.c:752,1
    - Dst: table
      Src: /src/gnulib/lib/getloadavg.c:766,1
    - Dst: table
      Src: /src/gnulib/lib/getloadavg.c:788,1
    - Dst: $DESCRIPTOR
      Src: /src/gnulib/lib/getloadavg.c:817,1
    - Dst: sys$assign
      Src: /src/gnulib/lib/getloadavg.c:819,1
    - Dst: sys$qiow
      Src: /src/gnulib/lib/getloadavg.c:825,1
    - Dst: sys$dassgn
      Src: /src/gnulib/lib/getloadavg.c:828,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getloadavg.c:853,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getloadavg.c:854,1
    - Dst: nlist
      Src: /src/gnulib/lib/getloadavg.c:868,1
    - Dst: knlist
      Src: /src/gnulib/lib/getloadavg.c:870,1
    - Dst: FIXUP_KERNEL_SYMBOL_ADDR
      Src: /src/gnulib/lib/getloadavg.c:876,1
    - Dst: kvm_open
      Src: /src/gnulib/lib/getloadavg.c:901,1
    - Dst: kvm_nlist
      Src: /src/gnulib/lib/getloadavg.c:905,1
    - Dst: lseek
      Src: /src/gnulib/lib/getloadavg.c:917,1
    - Dst: read
      Src: /src/gnulib/lib/getloadavg.c:918,1
    - Dst: close
      Src: /src/gnulib/lib/getloadavg.c:921,1
    - Dst: kvm_read
      Src: /src/gnulib/lib/getloadavg.c:925,1
    - Dst: kvm_close
      Src: /src/gnulib/lib/getloadavg.c:928,1
    - Dst: LDAV_CVT
      Src: /src/gnulib/lib/getloadavg.c:943,1
    - Dst: LDAV_CVT
      Src: /src/gnulib/lib/getloadavg.c:945,1
    - Dst: LDAV_CVT
      Src: /src/gnulib/lib/getloadavg.c:947,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 239
    argCount: 2
    argNames:
    - loadavg
    - nelem
    argTypes:
    - double[]
    - int
    constantsTouched: []
    func_position:
      end: 957
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 957
    functionName: getloadavg
    functionSourceFile: /src/gnulib/lib/getloadavg.c
    functionUses: 0
    functionsReached:
    - kvm_read
    - kvm_open
    - open
    - processor_set_info
    - sysinfo
    - sys$assign
    - lseek
    - strcpy
    - sscanf
    - close
    - knlist
    - kstat_close
    - memset
    - read
    - kvm_close
    - kstat_open
    - inq_stats
    - sys$dassgn
    - kstat_lookup
    - kstat_data_lookup
    - LDAV_CVT
    - host_self
    - FIXUP_KERNEL_SYMBOL_ADDR
    - pstat_getdynamic
    - table
    - processor_set_default
    - nlist
    - kstat_read
    - sys$qiow
    - kvm_nlist
    - dg_sys_info
    - proc1_$get_loadav
    - $DESCRIPTOR
    linkageType: ''
    returnType: int
    signature: int getloadavg (double loadavg[], int nelem)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: glwthread_waitqueue_init
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_init (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/windows-cond.c:65,1
    - Dst: CreateEvent
      Src: /src/gnulib/lib/windows-cond.c:72,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cond.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: glwthread_waitqueue_add
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 2
    functionsReached:
    - free
    - CreateEvent
    - malloc
    linkageType: ''
    returnType: struct glwthread_waitqueue_element
    signature: 'struct glwthread_waitqueue_element *

      glwthread_waitqueue_add (glwthread_waitqueue_t *wq)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - wq
    - elt
    argTypes:
    - glwthread_waitqueue_t*
    - struct glwthread_waitqueue_element*
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: glwthread_waitqueue_remove
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool glwthread_waitqueue_remove (glwthread_waitqueue_t *wq,\n                            struct
      glwthread_waitqueue_element *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-cond.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: glwthread_waitqueue_notify_first
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 1
    functionsReached:
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_notify_first (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-cond.c:154,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-cond.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wq
    argTypes:
    - glwthread_waitqueue_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: glwthread_waitqueue_notify_all
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 1
    functionsReached:
    - abort
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void glwthread_waitqueue_notify_all (glwthread_waitqueue_t *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:168,1
    - Dst: glwthread_waitqueue_init
      Src: /src/gnulib/lib/windows-cond.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cond
    argTypes:
    - glwthread_cond_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: glwthread_cond_init
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - glwthread_waitqueue_init
    - InitializeCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_cond_init (glwthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-cond.c:181,1
    - Dst: glwthread_cond_init
      Src: /src/gnulib/lib/windows-cond.c:184,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-cond.c:188,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-cond.c:192,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:196,1
    - Dst: glwthread_waitqueue_add
      Src: /src/gnulib/lib/windows-cond.c:199,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:200,1
    - Dst: mutex_unlock
      Src: /src/gnulib/lib/windows-cond.c:213,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:216,1
    - Dst: glwthread_waitqueue_remove
      Src: /src/gnulib/lib/windows-cond.c:217,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:218,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-cond.c:219,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cond.c:220,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-cond.c:232,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-cond.c:234,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-cond.c:235,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cond.c:236,1
    - Dst: mutex_lock
      Src: /src/gnulib/lib/windows-cond.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - glwthread_cond_t*
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 242
    functionName: glwthread_cond_wait
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - glwthread_waitqueue_remove
    - EnterCriticalSection
    - mutex_lock
    - mutex_unlock
    - free
    - InterlockedDecrement
    - glwthread_waitqueue_add
    - LeaveCriticalSection
    - CloseHandle
    - WaitForSingleObject
    - Sleep
    - glwthread_cond_init
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: "int glwthread_cond_wait (glwthread_cond_t *cond,\n                     void
      *mutex, int (*mutex_lock) (void *), int (*mutex_unlock) (void *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-cond.c:251,1
    - Dst: glwthread_cond_init
      Src: /src/gnulib/lib/windows-cond.c:254,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-cond.c:258,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-cond.c:262,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/windows-cond.c:269,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:275,1
    - Dst: glwthread_waitqueue_add
      Src: /src/gnulib/lib/windows-cond.c:278,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:279,1
    - Dst: mutex_unlock
      Src: /src/gnulib/lib/windows-cond.c:293,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:296,1
    - Dst: glwthread_waitqueue_remove
      Src: /src/gnulib/lib/windows-cond.c:297,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:298,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-cond.c:299,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cond.c:300,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/windows-cond.c:313,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-cond.c:341,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-cond.c:343,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:346,1
    - Dst: glwthread_waitqueue_remove
      Src: /src/gnulib/lib/windows-cond.c:347,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-cond.c:351,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-cond.c:352,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-cond.c:358,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-cond.c:359,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:363,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-cond.c:370,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cond.c:371,1
    - Dst: mutex_lock
      Src: /src/gnulib/lib/windows-cond.c:374,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - glwthread_cond_t*
    - void*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 382
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 382
    functionName: glwthread_cond_timedwait
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - abort
    - gettimeofday
    - glwthread_waitqueue_remove
    - EnterCriticalSection
    - mutex_lock
    - mutex_unlock
    - free
    - InterlockedDecrement
    - glwthread_waitqueue_add
    - LeaveCriticalSection
    - CloseHandle
    - WaitForSingleObject
    - Sleep
    - glwthread_cond_init
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: "int glwthread_cond_timedwait (glwthread_cond_t *cond,\n                          void
      *mutex, int (*mutex_lock) (void *), int (*mutex_unlock) (void *),\n                          const
      struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:390,1
    - Dst: glwthread_waitqueue_notify_first
      Src: /src/gnulib/lib/windows-cond.c:395,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - glwthread_cond_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: glwthread_cond_signal
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - glwthread_waitqueue_notify_first
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_cond_signal (glwthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:407,1
    - Dst: glwthread_waitqueue_notify_all
      Src: /src/gnulib/lib/windows-cond.c:412,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cond
    argTypes:
    - glwthread_cond_t*
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: glwthread_cond_broadcast
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - glwthread_waitqueue_notify_all
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_cond_broadcast (glwthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/gnulib/lib/windows-cond.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - glwthread_cond_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: glwthread_cond_destroy
    functionSourceFile: /src/gnulib/lib/windows-cond.c
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_cond_destroy (glwthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towctrans
      Src: /src/gnulib/lib/c32_apply_mapping.c:35,1
    - Dst: mapping
      Src: /src/gnulib/lib/c32_apply_mapping.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wc
    - mapping
    argTypes:
    - wint_t
    - c32_mapping_t
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: c32_apply_mapping
    functionSourceFile: /src/gnulib/lib/c32_apply_mapping.c
    functionUses: 1
    functionsReached:
    - mapping
    - towctrans
    linkageType: ''
    returnType: wint_t
    signature: wint_t c32_apply_mapping (wint_t wc, c32_mapping_t mapping)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/spawnattr_getdefault.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - sigdefault
    argTypes:
    - posix_spawnattr_t*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: posix_spawnattr_getsigdefault
    functionSourceFile: /src/gnulib/lib/spawnattr_getdefault.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int posix_spawnattr_getsigdefault (const posix_spawnattr_t *attr,\n
      \                              sigset_t *sigdefault)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/gnulib/lib/copysign.c:25,1
    - Dst: signbit
      Src: /src/gnulib/lib/copysign.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: copysign
    functionSourceFile: /src/gnulib/lib/copysign.c
    functionUses: 2
    functionsReached:
    - signbit
    linkageType: ''
    returnType: double
    signature: double copysign (double x, double y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/modf.c:25,1
    - Dst: isinf
      Src: /src/gnulib/lib/modf.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x
    - iptr
    argTypes:
    - double
    - double*
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: modf
    functionSourceFile: /src/gnulib/lib/modf.c
    functionUses: 2
    functionsReached:
    - isinf
    - isfinite
    linkageType: ''
    returnType: double
    signature: double modf (double x, double *iptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnulib/lib/c-strstr.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: c_strstr
    functionSourceFile: /src/gnulib/lib/c-strstr.c
    functionUses: 1
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      c_strstr (const char *haystack, const char *needle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/fd-safer.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: fd_safer
    functionSourceFile: /src/gnulib/lib/fd-safer.c
    functionUses: 5
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int fd_safer (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/gnulib/lib/filenamecat-lgpl.c:58,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/filenamecat-lgpl.c:58,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/filenamecat-lgpl.c:61,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/filenamecat-lgpl.c:78,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/filenamecat-lgpl.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - dir
    - base
    - base_in_result
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 90
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 90
    functionName: mfile_name_concat
    functionSourceFile: /src/gnulib/lib/filenamecat-lgpl.c
    functionUses: 0
    functionsReached:
    - mempcpy
    - ISSLASH
    linkageType: ''
    returnType: char
    signature: 'char *

      mfile_name_concat (char const *dir, char const *base, char **base_in_result)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-drop.c:29,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-drop.c:32,1
    - Dst: setresgid
      Src: /src/gnulib/lib/idpriv-drop.c:43,1
    - Dst: setregid
      Src: /src/gnulib/lib/idpriv-drop.c:46,1
    - Dst: setegid
      Src: /src/gnulib/lib/idpriv-drop.c:49,1
    - Dst: setresuid
      Src: /src/gnulib/lib/idpriv-drop.c:63,1
    - Dst: setreuid
      Src: /src/gnulib/lib/idpriv-drop.c:66,1
    - Dst: seteuid
      Src: /src/gnulib/lib/idpriv-drop.c:69,1
    - Dst: getresuid
      Src: /src/gnulib/lib/idpriv-drop.c:92,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:96,1
    - Dst: geteuid
      Src: /src/gnulib/lib/idpriv-drop.c:100,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:101,1
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-drop.c:104,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:105,1
    - Dst: getresgid
      Src: /src/gnulib/lib/idpriv-drop.c:113,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:117,1
    - Dst: getegid
      Src: /src/gnulib/lib/idpriv-drop.c:121,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:122,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-drop.c:125,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-drop.c:126,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 131
    functionName: idpriv_drop
    functionSourceFile: /src/gnulib/lib/idpriv-drop.c
    functionUses: 1
    functionsReached:
    - abort
    - setresuid
    - getresgid
    - seteuid
    - getegid
    - geteuid
    - setresgid
    - getgid
    - getresuid
    - setegid
    - getuid
    - setreuid
    - setregid
    linkageType: ''
    returnType: int
    signature: int idpriv_drop (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/wmemcmp-impl.h:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: wmemcmp
    functionSourceFile: /src/gnulib/lib/wmemcmp-impl.h
    functionUses: 6
    functionsReached:
    - _GL_CMP
    linkageType: ''
    returnType: int
    signature: int wmemcmp (const wchar_t *s1, const wchar_t *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/gnulib/lib/immutable.c:100,1
    - Dst: getpagesize
      Src: /src/gnulib/lib/immutable.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: init_pagesize
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached:
    - getpagesize
    - GetSystemInfo
    linkageType: ''
    returnType: void
    signature: void init_pagesize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: init_mmap_file
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_mmap_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/immutable.c:127,1
    - Dst: sprintf
      Src: /src/gnulib/lib/immutable.c:132,1
    - Dst: getpid
      Src: /src/gnulib/lib/immutable.c:132,1
    - Dst: random
      Src: /src/gnulib/lib/immutable.c:132,1
    - Dst: open
      Src: /src/gnulib/lib/immutable.c:134,1
    - Dst: fprintf
      Src: /src/gnulib/lib/immutable.c:137,1
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:138,1
    - Dst: unlink
      Src: /src/gnulib/lib/immutable.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: do_init_mmap_file
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    - open
    - getpid
    - unlink
    - random
    - sprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void do_init_mmap_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_once
      Src: /src/gnulib/lib/immutable.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: init_mmap_file
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached:
    - gl_once
    linkageType: ''
    returnType: void
    signature: void init_mmap_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMapping
      Src: /src/gnulib/lib/immutable.c:178,1
    - Dst: fprintf
      Src: /src/gnulib/lib/immutable.c:182,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/immutable.c:184,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:196,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:198,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/immutable.c:203,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:205,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:206,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/immutable.c:207,1
    - Dst: ftruncate
      Src: /src/gnulib/lib/immutable.c:213,1
    - Dst: fprintf
      Src: /src/gnulib/lib/immutable.c:215,1
    - Dst: munmap
      Src: /src/gnulib/lib/immutable.c:226,1
    - Dst: munmap
      Src: /src/gnulib/lib/immutable.c:228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 237
    functionName: alloc_pages
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached:
    - ftruncate
    - GetLastError
    - munmap
    - CloseHandle
    - UnmapViewOfFile
    - fprintf
    - CreateFileMapping
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t alloc_pages (size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:246,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:250,1
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:251,1
    - Dst: UnmapViewOfFile
      Src: /src/gnulib/lib/immutable.c:252,1
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:253,1
    - Dst: munmap
      Src: /src/gnulib/lib/immutable.c:255,1
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:256,1
    - Dst: munmap
      Src: /src/gnulib/lib/immutable.c:257,1
    - Dst: abort
      Src: /src/gnulib/lib/immutable.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pages
    - size
    argTypes:
    - uintptr_t
    - size_t
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: free_pages
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached:
    - abort
    - UnmapViewOfFile
    - munmap
    linkageType: ''
    returnType: void
    signature: void free_pages (uintptr_t pages, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_mmap_file
      Src: /src/gnulib/lib/immutable.c:292,1
    - Dst: init_pagesize
      Src: /src/gnulib/lib/immutable.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: immmalloc
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached:
    - init_mmap_file
    - init_pagesize
    linkageType: ''
    returnType: void
    signature: 'void *

      immmalloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writable_pointer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: immfreeze
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      immfreeze (void *writable_pointer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_block
      Src: /src/gnulib/lib/immutable.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - readonly_pointer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: immfree
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached:
    - free_block
    linkageType: ''
    returnType: void
    signature: void immfree (const void *readonly_pointer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: immmalloc
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      immmalloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - writable_pointer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: immfreeze
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      immfreeze (void *writable_pointer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/immutable.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - readonly_pointer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: immfree
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void immfree (const void *readonly_pointer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/immutable.c:351,1
    - Dst: immfreeze
      Src: /src/gnulib/lib/immutable.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: immstrdup
    functionSourceFile: /src/gnulib/lib/immutable.c
    functionUses: 0
    functionsReached:
    - memcpy
    - immfreeze
    linkageType: ''
    returnType: char
    signature: 'char *

      immstrdup (const char *string)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: u64hilo
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64hilo (unsigned int hi, unsigned int lo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lo
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: u64lo
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64lo (unsigned int lo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: u64size
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64size (size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: u64lt
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64lt (u64 x, u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: u64and
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64and (u64 x, u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: u64or
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64or (u64 x, u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: u64xor
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64xor (u64 x, u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: u64plus
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64plus (u64 x, u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: u64shl
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64shl (u64 x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: u64shr
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64shr (u64 x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64hilo
      Src: /src/gnulib/lib/u64.h:194,1
    - Dst: bswap_32
      Src: /src/gnulib/lib/u64.h:194,1
    - Dst: bswap_32
      Src: /src/gnulib/lib/u64.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: u64bswap
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 1
    functionsReached:
    - u64hilo
    - bswap_32
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64bswap (u64 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64or
      Src: /src/gnulib/lib/u64.h:203,1
    - Dst: u64shl
      Src: /src/gnulib/lib/u64.h:203,1
    - Dst: u64shr
      Src: /src/gnulib/lib/u64.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - u64
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: u64rol
    functionSourceFile: /src/gnulib/lib/u64.h
    functionUses: 0
    functionsReached:
    - u64shl
    - u64shr
    - u64or
    linkageType: ''
    returnType: _GL_U64_INLINE
    signature: _GL_U64_INLINE u64rol (u64 x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - pthread_condattr_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: pthread_condattr_init
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_condattr_init (pthread_condattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_condattr_t *attr
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: pthread_condattr_destroy
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_condattr_destroy (_GL_UNUSED pthread_condattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_init
      Src: /src/gnulib/lib/pthread-cond.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - pthread_condattr_t *attr
    argTypes:
    - pthread_cond_t*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: pthread_cond_init
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 10
    functionsReached:
    - glwthread_cond_init
    linkageType: ''
    returnType: int
    signature: "int pthread_cond_init (pthread_cond_t *cond,\n                   _GL_UNUSED
      const pthread_condattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_wait
      Src: /src/gnulib/lib/pthread-cond.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: pthread_cond_wait
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 15
    functionsReached:
    - glwthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_timedwait
      Src: /src/gnulib/lib/pthread-cond.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: pthread_cond_timedwait
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 4
    functionsReached:
    - glwthread_cond_timedwait
    linkageType: ''
    returnType: int
    signature: "int pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t
      *mutex,\n                        const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_signal
      Src: /src/gnulib/lib/pthread-cond.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: pthread_cond_signal
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 13
    functionsReached:
    - glwthread_cond_signal
    linkageType: ''
    returnType: int
    signature: int pthread_cond_signal (pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_broadcast
      Src: /src/gnulib/lib/pthread-cond.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: pthread_cond_broadcast
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 12
    functionsReached:
    - glwthread_cond_broadcast
    linkageType: ''
    returnType: int
    signature: int pthread_cond_broadcast (pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_destroy
      Src: /src/gnulib/lib/pthread-cond.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pthread_cond_destroy
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 10
    functionsReached:
    - glwthread_cond_destroy
    linkageType: ''
    returnType: int
    signature: int pthread_cond_destroy (pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pthread_cond_t *cond
    - pthread_condattr_t *attr
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: pthread_cond_init
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pthread_cond_init (_GL_UNUSED pthread_cond_t *cond,\n                   _GL_UNUSED
      const pthread_condattr_t *attr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/gnulib/lib/pthread-cond.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pthread_cond_t *cond
    - pthread_mutex_t *mutex
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: pthread_cond_wait
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 15
    functionsReached:
    - nanosleep
    linkageType: ''
    returnType: int
    signature: "int pthread_cond_wait (_GL_UNUSED pthread_cond_t *cond,\n                   _GL_UNUSED
      pthread_mutex_t *mutex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/gnulib/lib/pthread-cond.c:139,1
    - Dst: nanosleep
      Src: /src/gnulib/lib/pthread-cond.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pthread_cond_t *cond
    - pthread_mutex_t *mutex
    - abstime
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 176
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 176
    functionName: pthread_cond_timedwait
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 4
    functionsReached:
    - gettimeofday
    - nanosleep
    linkageType: ''
    returnType: int
    signature: "int pthread_cond_timedwait (_GL_UNUSED pthread_cond_t *cond,\n                        _GL_UNUSED
      pthread_mutex_t *mutex,\n                        const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_cond_t *cond
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: pthread_cond_signal
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_cond_signal (_GL_UNUSED pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_cond_t *cond
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: pthread_cond_broadcast
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_cond_broadcast (_GL_UNUSED pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_cond_t *cond
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: pthread_cond_destroy
    functionSourceFile: /src/gnulib/lib/pthread-cond.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_cond_destroy (_GL_UNUSED pthread_cond_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: freadable
    functionSourceFile: /src/gnulib/lib/freadable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool freadable (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - int
    - path
    - mode_t
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: mkfifoat
    functionSourceFile: /src/gnulib/lib/mkfifoat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mkfifoat (_GL_UNUSED int fd, _GL_UNUSED char const *path,\n          _GL_UNUSED
      mode_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: totalorder
      Src: /src/gnulib/lib/totalorderl.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long double*
    - long double*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: totalorderl
    functionSourceFile: /src/gnulib/lib/totalorderl.c
    functionUses: 1
    functionsReached:
    - totalorder
    linkageType: ''
    returnType: int
    signature: int totalorderl (long double const *x, long double const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long double*
    - long double*
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: totalorderl
    functionSourceFile: /src/gnulib/lib/totalorderl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int totalorderl (long double const *x, long double const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/gnulib/lib/expf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: expf
    functionSourceFile: /src/gnulib/lib/expf.c
    functionUses: 1
    functionsReached:
    - exp
    linkageType: ''
    returnType: float
    signature: float expf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_list.c:50,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_list.c:54,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_list.c:56,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_list.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - node
    - parent
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: _GL_ATTRIBUTE_PURE::check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltree_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int _GL_ATTRIBUTE_PURE

      check_invariants (gl_list_node_t node, gl_list_node_t parent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_avltree_list.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: gl_avltree_list_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltree_list.c
    functionUses: 1
    functionsReached:
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_avltree_list_check_invariants (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/gnulib/lib/frexpf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - float
    - int*
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: frexpf
    functionSourceFile: /src/gnulib/lib/frexpf.c
    functionUses: 0
    functionsReached:
    - frexp
    linkageType: ''
    returnType: float
    signature: float frexpf (float x, int *expptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: gettext
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gettext (const char *msgid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - domain
    - msgid
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: dgettext
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      dgettext (const char *domain, const char *msgid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - domain
    - msgid
    - category
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: dcgettext
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      dcgettext (const char *domain, const char *msgid, int category)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - domain
    - msg_ctxt_id
    - msgid
    - category
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: pgettext_aux
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\npgettext_aux (const char *domain,\n              const char
      *msg_ctxt_id, const char *msgid,\n              int category)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - domain
    - msg_ctxt_id
    - msgid
    - msgid_plural
    - n
    - category
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned long int
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: npgettext_aux
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nnpgettext_aux (const char *domain,\n               const char
      *msg_ctxt_id, const char *msgid,\n               const char *msgid_plural, unsigned
      long int n,\n               int category)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/gettext.h:287,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gettext.h:289,1
    - Dst: dcgettext
      Src: /src/gnulib/lib/gettext.h:290,1
    - Dst: free
      Src: /src/gnulib/lib/gettext.h:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - domain
    - msgctxt
    - msgid
    - category
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 300
    functionName: dcpgettext_expr
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - dcgettext
    linkageType: ''
    returnType: char
    signature: "char *\ndcpgettext_expr (const char *domain,\n                 const
      char *msgctxt, const char *msgid,\n                 int category)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/gettext.h:335,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gettext.h:337,1
    - Dst: dcngettext
      Src: /src/gnulib/lib/gettext.h:338,1
    - Dst: free
      Src: /src/gnulib/lib/gettext.h:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - domain
    - msgctxt
    - msgid
    - msgid_plural
    - n
    - category
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned long int
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 348
    functionName: dcnpgettext_expr
    functionSourceFile: /src/gnulib/lib/gettext.h
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - dcngettext
    linkageType: ''
    returnType: char
    signature: "char *\ndcnpgettext_expr (const char *domain,\n                  const
      char *msgctxt, const char *msgid,\n                  const char *msgid_plural,
      unsigned long int n,\n                  int category)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/concat-filename.c:42,1
    - Dst: malloc
      Src: /src/gnulib/lib/concat-filename.c:45,1
    - Dst: strlen
      Src: /src/gnulib/lib/concat-filename.c:45,1
    - Dst: strlen
      Src: /src/gnulib/lib/concat-filename.c:46,1
    - Dst: malloc
      Src: /src/gnulib/lib/concat-filename.c:58,1
    - Dst: strlen
      Src: /src/gnulib/lib/concat-filename.c:59,1
    - Dst: strlen
      Src: /src/gnulib/lib/concat-filename.c:60,1
    - Dst: memcpy
      Src: /src/gnulib/lib/concat-filename.c:64,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/concat-filename.c:69,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/concat-filename.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - directory
    - filename
    - suffix
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: concatenated_filename
    functionSourceFile: /src/gnulib/lib/concat-filename.c
    functionUses: 4
    functionsReached:
    - stpcpy
    - strlen
    - strcmp
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: "char *\nconcatenated_filename (const char *directory, const char *filename,\n
      \                      const char *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/imaxdiv.c:44,1
    - Dst: abort
      Src: /src/gnulib/lib/imaxdiv.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - numer
    - denom
    argTypes:
    - intmax_t
    - intmax_t
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: imaxdiv
    functionSourceFile: /src/gnulib/lib/imaxdiv.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: imaxdiv_t
    signature: imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towlower
      Src: /src/gnulib/lib/wcsncasecmp-impl.h:23,1
    - Dst: towlower
      Src: /src/gnulib/lib/wcsncasecmp-impl.h:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: wcsncasecmp
    functionSourceFile: /src/gnulib/lib/wcsncasecmp-impl.h
    functionUses: 0
    functionsReached:
    - towlower
    linkageType: ''
    returnType: int
    signature: int wcsncasecmp (const wchar_t *s1, const wchar_t *s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xgetgroups.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - username
    - gid
    - groups
    argTypes:
    - char*
    - gid_t
    - gid_t**
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: xgetgroups
    functionSourceFile: /src/gnulib/lib/xgetgroups.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: int
    signature: int xgetgroups (char const *username, gid_t gid, gid_t **groups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/gnulib/lib/xstrtol.c:50,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/xstrtol.c:52,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/xstrtol.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - scale_factor
    argTypes:
    - __strtol_t*
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: bkm_scale
    functionSourceFile: /src/gnulib/lib/xstrtol.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - TYPE_MAXIMUM
    - TYPE_MINIMUM
    linkageType: ''
    returnType: strtol_error
    signature: strtol_error bkm_scale (__strtol_t *x, int scale_factor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bkm_scale
      Src: /src/gnulib/lib/xstrtol.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - base
    - power
    argTypes:
    - __strtol_t*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: bkm_scale_by_power
    functionSourceFile: /src/gnulib/lib/xstrtol.c
    functionUses: 0
    functionsReached:
    - bkm_scale
    linkageType: ''
    returnType: strtol_error
    signature: strtol_error bkm_scale_by_power (__strtol_t *x, int base, int power)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/lib/xstrtol.c:77,1
    - Dst: isspace
      Src: /src/gnulib/lib/xstrtol.c:81,1
    - Dst: __strtol
      Src: /src/gnulib/lib/xstrtol.c:91,1
    - Dst: strchr
      Src: /src/gnulib/lib/xstrtol.c:98,1
    - Dst: strchr
      Src: /src/gnulib/lib/xstrtol.c:124,1
    - Dst: strchr
      Src: /src/gnulib/lib/xstrtol.c:142,1
    - Dst: bkm_scale
      Src: /src/gnulib/lib/xstrtol.c:161,1
    - Dst: bkm_scale
      Src: /src/gnulib/lib/xstrtol.c:168,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:176,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:181,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:186,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:191,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:195,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:199,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:203,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:208,1
    - Dst: bkm_scale
      Src: /src/gnulib/lib/xstrtol.c:212,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:216,1
    - Dst: bkm_scale_by_power
      Src: /src/gnulib/lib/xstrtol.c:220,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 5
    argNames:
    - nptr
    - endptr
    - base
    - val
    - valid_suffixes
    argTypes:
    - char*
    - char**
    - int
    - __strtol_t*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 236
    functionName: __xstrtol
    functionSourceFile: /src/gnulib/lib/xstrtol.c
    functionUses: 1
    functionsReached:
    - isspace
    - strchr
    - TYPE_SIGNED
    - bkm_scale
    - bkm_scale_by_power
    - __strtol
    linkageType: ''
    returnType: strtol_error
    signature: "strtol_error __xstrtol (char const *nptr, char **endptr, int base,\n
      \          __strtol_t *val, char const *valid_suffixes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fegetenv
      Src: /src/gnulib/lib/fenv-env-hold.c:25,1
    - Dst: feclearexcept
      Src: /src/gnulib/lib/fenv-env-hold.c:27,1
    - Dst: fedisableexcept
      Src: /src/gnulib/lib/fenv-env-hold.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: feholdexcept
    functionSourceFile: /src/gnulib/lib/fenv-env-hold.c
    functionUses: 2
    functionsReached:
    - fegetenv
    - feclearexcept
    - fedisableexcept
    linkageType: ''
    returnType: int
    signature: int feholdexcept (fenv_t *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptsname
      Src: /src/gnulib/lib/pt_chown.c:47,1
    - Dst: stat
      Src: /src/gnulib/lib/pt_chown.c:53,1
    - Dst: S_ISCHR
      Src: /src/gnulib/lib/pt_chown.c:53,1
    - Dst: getgrnam
      Src: /src/gnulib/lib/pt_chown.c:57,1
    - Dst: getgid
      Src: /src/gnulib/lib/pt_chown.c:58,1
    - Dst: chown
      Src: /src/gnulib/lib/pt_chown.c:62,1
    - Dst: getuid
      Src: /src/gnulib/lib/pt_chown.c:62,1
    - Dst: chmod
      Src: /src/gnulib/lib/pt_chown.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: do_pt_chown
    functionSourceFile: /src/gnulib/lib/pt_chown.c
    functionUses: 0
    functionsReached:
    - S_ISCHR
    - chown
    - stat
    - getgrnam
    - getgid
    - chmod
    - ptsname
    - getuid
    linkageType: ''
    returnType: int
    signature: int do_pt_chown (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/gnulib/lib/pt_chown.c:78,1
    - Dst: do_pt_chown
      Src: /src/gnulib/lib/pt_chown.c:84,1
    - Dst: strcmp
      Src: /src/gnulib/lib/pt_chown.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/lib/pt_chown.c:106,1
    - Dst: strcmp
      Src: /src/gnulib/lib/pt_chown.c:108,1
    - Dst: fprintf
      Src: /src/gnulib/lib/pt_chown.c:112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/pt_chown.c:122,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:128,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:129,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:134,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:135,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:136,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:137,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:138,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:141,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:147,1
    - Dst: printf
      Src: /src/gnulib/lib/pt_chown.c:148,1
    - Dst: fprintf
      Src: /src/gnulib/lib/pt_chown.c:159,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 164
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/gnulib/lib/pt_chown.c
    functionUses: 12
    functionsReached:
    - geteuid
    - do_pt_chown
    - strcmp
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exceptions_to_x86hardware
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:36,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:42,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:45,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:55,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:58,1
    - Dst: CPU_HAS_SSE
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:60,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:64,1
    - Dst: _FPU_SETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETSSECW
    - _FPU_GETSSECW
    - exceptions_to_x86hardware
    - CPU_HAS_SSE
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:101,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETFPSR
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:121,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ieee_get_fp_control
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:137,1
    - Dst: __ieee_set_fp_control
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - __ieee_set_fp_control
    - __ieee_get_fp_control
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:175,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:191,1
    - Dst: _FPU_SETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETFPSR
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:207,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:223,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:246,1
    - Dst: _FPU_SETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:263,1
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:267,1
    - Dst: _FPU_SETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 277
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW_AS_DOUBLE
    - _FPU_GETCW_AS_DOUBLE
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:299,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:319,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:335,1
    - Dst: _FPU_SETCW
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - _FPU_SETCW
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mxcsr_p
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: getssecw
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getssecw (unsigned int *mxcsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mxcsr_p
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: setssecw
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setssecw (unsigned int const *mxcsr_p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getssecw
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:404,1
    - Dst: setssecw
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - setssecw
    - getssecw
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpgetsticky
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:429,1
    - Dst: fpsetsticky
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - fpgetsticky
    - fpsetsticky
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exceptions_to_fpflag
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:456,1
    - Dst: exceptions_to_fpflag
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:457,1
    - Dst: fegetexcept_impl
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:460,1
    - Dst: fp_set_flag
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:466,1
    - Dst: fp_read_flag
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:470,1
    - Dst: fp_set_flag
      Src: /src/gnulib/lib/fenv-except-tracking-set.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 476
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached:
    - exceptions_to_fpflag
    - fp_set_flag
    - fegetexcept_impl
    - fp_read_flag
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: fesetexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fesetexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/dprintf.c:36,1
    - Dst: vdzprintf
      Src: /src/gnulib/lib/dprintf.c:37,1
    - Dst: va_end
      Src: /src/gnulib/lib/dprintf.c:38,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/dprintf.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: dprintf
    functionSourceFile: /src/gnulib/lib/dprintf.c
    functionUses: 8
    functionsReached:
    - va_start
    - va_end
    - vdzprintf
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int dprintf (int fd, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_sigmask
      Src: /src/gnulib/lib/pselect.c:74,1
    - Dst: select
      Src: /src/gnulib/lib/pselect.c:76,1
    - Dst: pthread_sigmask
      Src: /src/gnulib/lib/pselect.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - nfds
    - rfds
    - wfds
    - xfds
    - timeout
    - sigmask
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timespec*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 86
    functionName: pselect
    functionSourceFile: /src/gnulib/lib/pselect.c
    functionUses: 1
    functionsReached:
    - select
    - pthread_sigmask
    linkageType: ''
    returnType: int
    signature: "int pselect (int nfds, fd_set *restrict rfds,\n         fd_set *restrict
      wfds, fd_set *restrict xfds,\n         struct timespec const *restrict timeout,\n
      \        sigset_t const *restrict sigmask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/gnulib/lib/pselect.c:108,1
    - Dst: FD_ISSET
      Src: /src/gnulib/lib/pselect.c:109,1
    - Dst: FD_ISSET
      Src: /src/gnulib/lib/pselect.c:110,1
    - Dst: dup2
      Src: /src/gnulib/lib/pselect.c:111,1
    - Dst: pselect
      Src: /src/gnulib/lib/pselect.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - nfds
    - rfds
    - wfds
    - xfds
    - timeout
    - sigmask
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timespec*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: rpl_pselect
    functionSourceFile: /src/gnulib/lib/pselect.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - pselect
    - dup2
    linkageType: ''
    returnType: int
    signature: "int rpl_pselect (int nfds, fd_set *restrict rfds,\n             fd_set
      *restrict wfds, fd_set *restrict xfds,\n             struct timespec const *restrict
      timeout,\n             sigset_t const *restrict sigmask)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/gnulib/lib/simple-atomic.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/gnulib/lib/simple-atomic.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: atomic_compare_and_swap
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached:
    - InterlockedCompareExchange
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int atomic_compare_and_swap (unsigned int volatile *vp,\n
      \                        unsigned int cmp,\n                         unsigned
      int newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/gnulib/lib/simple-atomic.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sync_synchronize
      Src: /src/gnulib/lib/simple-atomic.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached:
    - __sync_synchronize
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sync_val_compare_and_swap
      Src: /src/gnulib/lib/simple-atomic.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: atomic_compare_and_swap
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached:
    - __sync_val_compare_and_swap
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int atomic_compare_and_swap (unsigned int volatile *vp,\n
      \                        unsigned int cmp,\n                         unsigned
      int newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sync_val_compare_and_swap
      Src: /src/gnulib/lib/simple-atomic.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached:
    - __sync_val_compare_and_swap
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 191
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 191
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 256
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 256
    functionName: atomic_compare_and_swap
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int atomic_compare_and_swap (unsigned int volatile *vp,\n
      \                        unsigned int cmp,\n                         unsigned
      int newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 300
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 300
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: atomic_compare_and_swap
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int atomic_compare_and_swap (unsigned int volatile *vp,\n
      \                        unsigned int cmp,\n                         unsigned
      int newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: memory_barrier
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void memory_barrier (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: atomic_compare_and_swap
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int atomic_compare_and_swap (unsigned int volatile *vp,\n
      \                        unsigned int cmp,\n                         unsigned
      int newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vp
    - cmp
    - newval
    argTypes:
    - uintptr_t*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: atomic_compare_and_swap_ptr
    functionSourceFile: /src/gnulib/lib/simple-atomic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: "uintptr_t atomic_compare_and_swap_ptr (uintptr_t volatile *vp,\n                             uintptr_t
      cmp,\n                             uintptr_t newval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/af_alg.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - alg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: alg_socket
    functionSourceFile: /src/gnulib/lib/af_alg.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int alg_socket (char const *alg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/gnulib/lib/af_alg.c:83,1
    - Dst: read
      Src: /src/gnulib/lib/af_alg.c:92,1
    - Dst: close
      Src: /src/gnulib/lib/af_alg.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - buffer
    - len
    - alg
    - resblock
    - hashlen
    argTypes:
    - char*
    - size_t
    - char*
    - void*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 99
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 99
    functionName: afalg_buffer
    functionSourceFile: /src/gnulib/lib/af_alg.c
    functionUses: 0
    functionsReached:
    - send
    - read
    - close
    linkageType: ''
    returnType: int
    signature: "int afalg_buffer (const char *buffer, size_t len, const char *alg,\n
      \             void *resblock, ssize_t hashlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ftello
      Src: /src/gnulib/lib/af_alg.c:116,1
    - Dst: fstat
      Src: /src/gnulib/lib/af_alg.c:117,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/af_alg.c:118,1
    - Dst: S_TYPEISSHM
      Src: /src/gnulib/lib/af_alg.c:118,1
    - Dst: S_TYPEISTMO
      Src: /src/gnulib/lib/af_alg.c:118,1
    - Dst: fflush
      Src: /src/gnulib/lib/af_alg.c:125,1
    - Dst: sendfile
      Src: /src/gnulib/lib/af_alg.c:130,1
    - Dst: read
      Src: /src/gnulib/lib/af_alg.c:132,1
    - Dst: lseek
      Src: /src/gnulib/lib/af_alg.c:135,1
    - Dst: ferror
      Src: /src/gnulib/lib/af_alg.c:170,1
    - Dst: send
      Src: /src/gnulib/lib/af_alg.c:174,1
    - Dst: ungetc
      Src: /src/gnulib/lib/af_alg.c:180,1
    - Dst: fseeko
      Src: /src/gnulib/lib/af_alg.c:183,1
    - Dst: feof
      Src: /src/gnulib/lib/af_alg.c:193,1
    - Dst: read
      Src: /src/gnulib/lib/af_alg.c:200,1
    - Dst: fseeko
      Src: /src/gnulib/lib/af_alg.c:202,1
    - Dst: close
      Src: /src/gnulib/lib/af_alg.c:209,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 4
    argNames:
    - stream
    - alg
    - resblock
    - hashlen
    argTypes:
    - FILE*
    - char*
    - void*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 211
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 211
    functionName: afalg_stream
    functionSourceFile: /src/gnulib/lib/af_alg.c
    functionUses: 0
    functionsReached:
    - ftello
    - sendfile
    - ungetc
    - S_TYPEISSHM
    - close
    - feof
    - lseek
    - ferror
    - fflush
    - send
    - fseeko
    - S_ISREG
    - read
    - fstat
    - S_TYPEISTMO
    linkageType: ''
    returnType: int
    signature: "int afalg_stream (FILE *stream, const char *alg,\n              void
      *resblock, ssize_t hashlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_avltree_oset.c:55,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_avltree_oset.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: gl_avltree_oset_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_avltree_oset.c
    functionUses: 1
    functionsReached:
    - abort
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_avltree_oset_check_invariants (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pwrite.c:40,1
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pwrite.c:45,1
    - Dst: __libc_write
      Src: /src/gnulib/lib/pwrite.c:49,1
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pwrite.c:55,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/pwrite.c:58,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/pwrite.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - buf
    - nbyte
    - offset
    argTypes:
    - int
    - void*
    - size_t
    - off_t
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: pwrite
    functionSourceFile: /src/gnulib/lib/pwrite.c
    functionUses: 3
    functionsReached:
    - __libc_lseek
    - __libc_write
    - __set_errno
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pwrite (int fd, const void *buf, size_t nbyte, off_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: explicit_memset
      Src: /src/gnulib/lib/memset_explicit.c:28,1
    - Dst: memset_s
      Src: /src/gnulib/lib/memset_explicit.c:33,1
    - Dst: memset
      Src: /src/gnulib/lib/memset_explicit.c:36,1
    - Dst: memset
      Src: /src/gnulib/lib/memset_explicit.c:41,1
    - Dst: volatile_memset
      Src: /src/gnulib/lib/memset_explicit.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - s
    - c
    - len
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: memset_explicit
    functionSourceFile: /src/gnulib/lib/memset_explicit.c
    functionUses: 5
    functionsReached:
    - memset_s
    - memset
    - volatile_memset
    - explicit_memset
    linkageType: ''
    returnType: void
    signature: 'void *

      memset_explicit (void *s, int c, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcschr
      Src: /src/gnulib/lib/wcsspn-impl.h:42,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - wcs
    - accept
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: wcsspn
    functionSourceFile: /src/gnulib/lib/wcsspn-impl.h
    functionUses: 1
    functionsReached:
    - wcschr
    linkageType: ''
    returnType: size_t
    signature: size_t wcsspn (const wchar_t *wcs, const wchar_t *accept)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/btoc32.c:48,1
    - Dst: mbrtoc32
      Src: /src/gnulib/lib/btoc32.c:50,1
    - Dst: btowc
      Src: /src/gnulib/lib/btoc32.c:57,1
    - Dst: locale_encoding_to_unicode
      Src: /src/gnulib/lib/btoc32.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: btoc32
    functionSourceFile: /src/gnulib/lib/btoc32.c
    functionUses: 8
    functionsReached:
    - mbszero
    - mbrtoc32
    - locale_encoding_to_unicode
    - btowc
    linkageType: ''
    returnType: wint_t
    signature: wint_t btoc32 (int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xgetcwd.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: xgetcwd
    functionSourceFile: /src/gnulib/lib/xgetcwd.c
    functionUses: 1
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      xgetcwd (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbsstr.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mcel_t
    - mcel_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mb_equal
    functionSourceFile: /src/gnulib/lib/mbsstr.c
    functionUses: 1
    functionsReached:
    - mcel_cmp
    linkageType: ''
    returnType: bool
    signature: bool mb_equal (mcel_t a, mcel_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:75,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:82,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:82,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:82,1
    - Dst: mb_copy
      Src: /src/gnulib/lib/mbsstr.c:83,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:83,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbsstr.c:122,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:170,1
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbsstr.c:171,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:182,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:191,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:202,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:203,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:205,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbsstr.c:206,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:206,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:209,1
    - Dst: mbui_cur_ptr
      Src: /src/gnulib/lib/mbsstr.c:213,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:224,1
    - Dst: abort
      Src: /src/gnulib/lib/mbsstr.c:225,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:226,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:232,1
    - Dst: abort
      Src: /src/gnulib/lib/mbsstr.c:233,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:234,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:235,1
    - Dst: freea
      Src: /src/gnulib/lib/mbsstr.c:240,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 3
    argNames:
    - haystack
    - needle
    - resultp
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 242
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 242
    functionName: knuth_morris_pratt_multibyte
    functionSourceFile: /src/gnulib/lib/mbsstr.c
    functionUses: 0
    functionsReached:
    - abort
    - mbui_cur_ptr
    - mbui_advance
    - mb_copy
    - mcel_scanz
    - mbui_init
    - mbui_avail
    - freea
    - mb_equal
    - mbui_cur
    - mcel_cmp
    linkageType: ''
    returnType: bool
    signature: "bool knuth_morris_pratt_multibyte (const char *haystack, const char
      *needle,\n                              const char **resultp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:260,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:301,1
    - Dst: knuth_morris_pratt_multibyte
      Src: /src/gnulib/lib/mbsstr.c:306,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:315,1
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbsstr.c:316,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:328,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsstr.c:329,1
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbsstr.c:332,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:340,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:341,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:365,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:366,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:367,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:369,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:383,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:385,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:387,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbsstr.c:402,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:402,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:402,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mbsstr.c:408,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:409,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/mbsstr.c:411,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:412,1
    - Dst: abort
      Src: /src/gnulib/lib/mbsstr.c:413,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:414,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:416,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/mbsstr.c:416,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:418,1
    - Dst: mbui_cur_ptr
      Src: /src/gnulib/lib/mbsstr.c:420,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/mbsstr.c:421,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbsstr.c:425,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:425,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/mbsstr.c:425,1
    - Dst: strnlen
      Src: /src/gnulib/lib/mbsstr.c:481,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 529
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 529
    functionName: mbsstr
    functionSourceFile: /src/gnulib/lib/mbsstr.c
    functionUses: 2
    functionsReached:
    - abort
    - strnlen
    - mbui_cur_ptr
    - mbui_advance
    - knuth_morris_pratt_multibyte
    - mcel_scanz
    - mbui_init
    - mbui_avail
    - memcpy
    - mb_equal
    - mbui_cur
    - mcel_cmp
    linkageType: ''
    returnType: char
    signature: 'char *

      mbsstr (const char *haystack, const char *needle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSize
      Src: /src/gnulib/lib/flock.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - lower
    - upper
    argTypes:
    - HANDLE
    - DWORD*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: file_size
    functionSourceFile: /src/gnulib/lib/flock.c
    functionUses: 4
    functionsReached:
    - GetFileSize
    linkageType: ''
    returnType: BOOL
    signature: BOOL file_size (HANDLE h, DWORD * lower, DWORD * upper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: file_size
      Src: /src/gnulib/lib/flock.c:68,1
    - Dst: memset
      Src: /src/gnulib/lib/flock.c:73,1
    - Dst: LockFileEx
      Src: /src/gnulib/lib/flock.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - h
    - non_blocking
    - exclusive
    argTypes:
    - HANDLE
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: do_lock
    functionSourceFile: /src/gnulib/lib/flock.c
    functionUses: 0
    functionsReached:
    - file_size
    - LockFileEx
    - memset
    linkageType: ''
    returnType: BOOL
    signature: BOOL do_lock (HANDLE h, int non_blocking, int exclusive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: file_size
      Src: /src/gnulib/lib/flock.c:90,1
    - Dst: UnlockFile
      Src: /src/gnulib/lib/flock.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: do_unlock
    functionSourceFile: /src/gnulib/lib/flock.c
    functionUses: 0
    functionsReached:
    - UnlockFile
    - file_size
    linkageType: ''
    returnType: BOOL
    signature: BOOL do_unlock (HANDLE h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/flock.c:101,1
    - Dst: do_lock
      Src: /src/gnulib/lib/flock.c:117,1
    - Dst: do_lock
      Src: /src/gnulib/lib/flock.c:120,1
    - Dst: do_unlock
      Src: /src/gnulib/lib/flock.c:123,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/flock.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - fd
    - operation
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 163
    functionName: flock
    functionSourceFile: /src/gnulib/lib/flock.c
    functionUses: 3
    functionsReached:
    - GetLastError
    - do_unlock
    - _get_osfhandle
    - do_lock
    linkageType: ''
    returnType: int
    signature: int flock (int fd, int operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/flock.c:191,1
    - Dst: fcntl
      Src: /src/gnulib/lib/flock.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - fd
    - operation
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: flock
    functionSourceFile: /src/gnulib/lib/flock.c
    functionUses: 3
    functionsReached:
    - fcntl
    - memset
    linkageType: ''
    returnType: int
    signature: int flock (int fd, int operation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/localename-environ.c:33,1
    - Dst: getenv
      Src: /src/gnulib/lib/localename-environ.c:37,1
    - Dst: getenv
      Src: /src/gnulib/lib/localename-environ.c:41,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-environ.c:47,1
    - Dst: strcmp
      Src: /src/gnulib/lib/localename-environ.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - _GL_UNUSED
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: gl_locale_name_environ
    functionSourceFile: /src/gnulib/lib/localename-environ.c
    functionUses: 3
    functionsReached:
    - getenv
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_environ (_GL_UNUSED int category, const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log10
      Src: /src/gnulib/lib/log10l.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: log10l
    functionSourceFile: /src/gnulib/lib/log10l.c
    functionUses: 1
    functionsReached:
    - log10
    linkageType: ''
    returnType: long double
    signature: long double log10l (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logl
      Src: /src/gnulib/lib/log10l.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: log10l
    functionSourceFile: /src/gnulib/lib/log10l.c
    functionUses: 1
    functionsReached:
    - logl
    linkageType: ''
    returnType: long double
    signature: long double log10l (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/classpath.c:61,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:67,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:68,1
    - Dst: XNMALLOC
      Src: /src/gnulib/lib/classpath.c:72,1
    - Dst: memcpy
      Src: /src/gnulib/lib/classpath.c:76,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:76,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:77,1
    - Dst: memcpy
      Src: /src/gnulib/lib/classpath.c:82,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:82,1
    - Dst: strlen
      Src: /src/gnulib/lib/classpath.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - classpaths
    - classpaths_count
    - use_minimal_classpath
    argTypes:
    - char**
    - unsigned int
    - bool
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: new_classpath
    functionSourceFile: /src/gnulib/lib/classpath.c
    functionUses: 0
    functionsReached:
    - strlen
    - XNMALLOC
    - memcpy
    - getenv
    linkageType: ''
    returnType: char
    signature: "char *\nnew_classpath (const char * const *classpaths, unsigned int
      classpaths_count,\n               bool use_minimal_classpath)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/classpath.c:106,1
    - Dst: xsetenv
      Src: /src/gnulib/lib/classpath.c:108,1
    - Dst: free
      Src: /src/gnulib/lib/classpath.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - classpaths
    - classpaths_count
    - use_minimal_classpath
    - verbose
    argTypes:
    - char**
    - unsigned int
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: set_classpath
    functionSourceFile: /src/gnulib/lib/classpath.c
    functionUses: 1
    functionsReached:
    - printf
    - free
    - xsetenv
    linkageType: ''
    returnType: char
    signature: "char *\nset_classpath (const char * const *classpaths, unsigned int
      classpaths_count,\n               bool use_minimal_classpath, bool verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xsetenv
      Src: /src/gnulib/lib/classpath.c:121,1
    - Dst: free
      Src: /src/gnulib/lib/classpath.c:122,1
    - Dst: unsetenv
      Src: /src/gnulib/lib/classpath.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - old_classpath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: reset_classpath
    functionSourceFile: /src/gnulib/lib/classpath.c
    functionUses: 1
    functionsReached:
    - free
    - unsetenv
    - xsetenv
    linkageType: ''
    returnType: void
    signature: void reset_classpath (char *old_classpath)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale_null_r
      Src: /src/gnulib/lib/hard-locale.c:32,1
    - Dst: strcmp
      Src: /src/gnulib/lib/hard-locale.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/lib/hard-locale.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: hard_locale
    functionSourceFile: /src/gnulib/lib/hard-locale.c
    functionUses: 2
    functionsReached:
    - setlocale_null_r
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hard_locale (int category)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/lib/copy-file.c:56,1
    - Dst: fstat
      Src: /src/gnulib/lib/copy-file.c:59,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/copy-file.c:66,1
    - Dst: open
      Src: /src/gnulib/lib/copy-file.c:69,1
    - Dst: full_write
      Src: /src/gnulib/lib/copy-file.c:117,1
    - Dst: free
      Src: /src/gnulib/lib/copy-file.c:125,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:131,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:136,1
    - Dst: get_stat_atime
      Src: /src/gnulib/lib/copy-file.c:146,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/copy-file.c:147,1
    - Dst: utimens
      Src: /src/gnulib/lib/copy-file.c:148,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/copy-file.c:153,1
    - Dst: chown
      Src: /src/gnulib/lib/copy-file.c:153,1
    - Dst: qcopy_acl
      Src: /src/gnulib/lib/copy-file.c:158,1
    - Dst: chmod
      Src: /src/gnulib/lib/copy-file.c:168,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:173,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:178,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:185,1
    - Dst: close
      Src: /src/gnulib/lib/copy-file.c:187,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 3
    argNames:
    - src_filename
    - dest_filename
    - preserve
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 189
    functionName: copy_file_internal
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 0
    functionsReached:
    - get_stat_mtime
    - qcopy_acl
    - free
    - open
    - close
    - get_stat_atime
    - chown
    - ignore_value
    - S_ISREG
    - chmod
    - utimens
    - fstat
    - full_write
    linkageType: ''
    returnType: int
    signature: "int copy_file_internal (const char *src_filename, const char *dest_filename,\n
      \                   bool preserve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_internal
      Src: /src/gnulib/lib/copy-file.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_filename
    - dest_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: qcopy_file_preserving
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 1
    functionsReached:
    - copy_file_internal
    linkageType: ''
    returnType: int
    signature: int qcopy_file_preserving (const char *src_filename, const char *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_file_internal
      Src: /src/gnulib/lib/copy-file.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_filename
    - dest_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: copy_file_to
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 0
    functionsReached:
    - copy_file_internal
    linkageType: ''
    returnType: int
    signature: int copy_file_to (const char *src_filename, const char *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:212,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:212,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:213,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:216,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:216,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:217,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:220,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:220,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:221,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:224,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:224,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:225,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:228,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:228,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:229,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:232,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:232,1
    - Dst: error
      Src: /src/gnulib/lib/copy-file.c:235,1
    - Dst: _
      Src: /src/gnulib/lib/copy-file.c:235,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-file.c:236,1
    - Dst: abort
      Src: /src/gnulib/lib/copy-file.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - err
    - src_filename
    - dest_filename
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 7
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: handle_error_code
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - quote
    - abort
    linkageType: ''
    returnType: void
    signature: void handle_error_code (int err, const char *src_filename, const char
      *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_error_code
      Src: /src/gnulib/lib/copy-file.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_filename
    - dest_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 8
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: xcopy_file_preserving
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 1
    functionsReached:
    - handle_error_code
    linkageType: ''
    returnType: void
    signature: void xcopy_file_preserving (const char *src_filename, const char *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xcopy_file_preserving
      Src: /src/gnulib/lib/copy-file.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_filename
    - dest_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 9
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: copy_file_preserving
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 2
    functionsReached:
    - xcopy_file_preserving
    linkageType: ''
    returnType: void
    signature: void copy_file_preserving (const char *src_filename, const char *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handle_error_code
      Src: /src/gnulib/lib/copy-file.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_filename
    - dest_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 8
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: xcopy_file_to
    functionSourceFile: /src/gnulib/lib/copy-file.c
    functionUses: 0
    functionsReached:
    - handle_error_code
    linkageType: ''
    returnType: void
    signature: void xcopy_file_to (const char *src_filename, const char *dest_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - posix_spawnattr_t*
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: posix_spawnattr_destroy
    functionSourceFile: /src/gnulib/lib/spawnattr_destroy.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int posix_spawnattr_destroy (posix_spawnattr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/c-snzprintf.c:39,1
    - Dst: c_vasnprintf
      Src: /src/gnulib/lib/c-snzprintf.c:40,1
    - Dst: va_end
      Src: /src/gnulib/lib/c-snzprintf.c:42,1
    - Dst: memcpy
      Src: /src/gnulib/lib/c-snzprintf.c:52,1
    - Dst: free
      Src: /src/gnulib/lib/c-snzprintf.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: c_snzprintf
    functionSourceFile: /src/gnulib/lib/c-snzprintf.c
    functionUses: 0
    functionsReached:
    - free
    - va_start
    - va_end
    - c_vasnprintf
    - memcpy
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t c_snzprintf (char *str, size_t size, const char *format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - intmax_t
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: imaxabs
    functionSourceFile: /src/gnulib/lib/imaxabs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: intmax_t
    signature: intmax_t imaxabs (intmax_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_implementation_t::nx_create_empty
      Src: /src/gnulib/lib/gl_map.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - kdispose_fn
    - vdispose_fn
    argTypes:
    - gl_map_implementation_t
    - gl_mapkey_equals_fn
    - gl_mapkey_hashcode_fn
    - gl_mapkey_dispose_fn
    - gl_mapvalue_dispose_fn
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: gl_map_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 3
    functionsReached:
    - gl_map_implementation_t::nx_create_empty
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: "GL_MAP_INLINE gl_map_nx_create_empty (gl_map_implementation_t implementation,\n
      \                       gl_mapkey_equals_fn equals_fn,\n                        gl_mapkey_hashcode_fn
      hashcode_fn,\n                        gl_mapkey_dispose_fn kdispose_fn,\n                        gl_mapvalue_dispose_fn
      vdispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::size
      Src: /src/gnulib/lib/gl_map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: gl_map_size
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 0
    functionsReached:
    - vtable::size
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_size (gl_map_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search
      Src: /src/gnulib/lib/gl_map.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map
    - key
    - valuep
    argTypes:
    - gl_map_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: gl_map_search
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 0
    functionsReached:
    - vtable::search
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_search (gl_map_t map, const void *key, const void
      **valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::nx_getput
      Src: /src/gnulib/lib/gl_map.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - map
    - key
    - value
    - oldvaluep
    argTypes:
    - gl_map_t
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: gl_map_nx_getput
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 0
    functionsReached:
    - vtable::nx_getput
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: "_GL_ATTRIBUTE_NODISCARD gl_map_nx_getput (gl_map_t map, const void
      *key, const void *value,\n                   const void **oldvaluep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::getremove
      Src: /src/gnulib/lib/gl_map.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map
    - key
    - oldvaluep
    argTypes:
    - gl_map_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: gl_map_getremove
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 0
    functionsReached:
    - vtable::getremove
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_getremove (gl_map_t map, const void *key, const
      void **oldvaluep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::map_free
      Src: /src/gnulib/lib/gl_map.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: gl_map_free
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 3
    functionsReached:
    - vtable::map_free
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_free (gl_map_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::iterator
      Src: /src/gnulib/lib/gl_map.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gl_map_iterator_t::gl_map_iterator
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 0
    functionsReached:
    - vtable::iterator
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: 'GL_MAP_INLINE gl_map_iterator_t

      gl_map_iterator (gl_map_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_iterator_t*::vtable::iterator_next
      Src: /src/gnulib/lib/gl_map.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iterator
    - keyp
    - valuep
    argTypes:
    - gl_map_iterator_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: gl_map_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 3
    functionsReached:
    - gl_map_iterator_t*::vtable::iterator_next
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: "GL_MAP_INLINE gl_map_iterator_next (gl_map_iterator_t *iterator,\n
      \                     const void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_iterator_t*::vtable::iterator_free
      Src: /src/gnulib/lib/gl_map.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_map_iterator_t*
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: gl_map_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 3
    functionsReached:
    - gl_map_iterator_t*::vtable::iterator_free
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_iterator_free (gl_map_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_search
      Src: /src/gnulib/lib/gl_map.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - gl_map_t
    - void*
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: gl_map_get
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 2
    functionsReached:
    - gl_map_search
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: 'GL_MAP_INLINE *

      gl_map_get (gl_map_t map, const void *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose_fn
      Src: /src/gnulib/lib/gl_map.h:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - gl_map_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: gl_map_nx_put
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 2
    functionsReached:
    - vdispose_fn
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD gl_map_nx_put (gl_map_t map, const void *key,
      const void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose_fn
      Src: /src/gnulib/lib/gl_map.h:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - gl_map_t
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: gl_map_remove
    functionSourceFile: /src/gnulib/lib/gl_map.h
    functionUses: 2
    functionsReached:
    - vdispose_fn
    linkageType: ''
    returnType: GL_MAP_INLINE
    signature: GL_MAP_INLINE gl_map_remove (gl_map_t map, const void *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/gnulib/lib/striconveh.c:53,1
    - Dst: STRCASEEQ
      Src: /src/gnulib/lib/striconveh.c:55,1
    - Dst: iconv_open
      Src: /src/gnulib/lib/striconveh.c:59,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:64,1
    - Dst: STRCASEEQ
      Src: /src/gnulib/lib/striconveh.c:70,1
    - Dst: c_strcasecmp
      Src: /src/gnulib/lib/striconveh.c:75,1
    - Dst: iconv_open
      Src: /src/gnulib/lib/striconveh.c:81,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:86,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:88,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - to_codeset
    - from_codeset
    - cdp
    argTypes:
    - char*
    - char*
    - iconveh_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 98
    functionName: iconveh_open
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - STRCASEEQ
    - c_strcasecmp
    - iconv_close
    - iconv_open
    linkageType: ''
    returnType: int
    signature: int iconveh_open (const char *to_codeset, const char *from_codeset,
      iconveh_t *cdp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:103,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:108,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:110,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:114,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:119,1
    - Dst: iconv_close
      Src: /src/gnulib/lib/striconveh.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - cd
    argTypes:
    - iconveh_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: iconveh_close
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - iconv_close
    linkageType: ''
    returnType: int
    signature: int iconveh_close (const iconveh_t *cd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    - incremented
    argTypes:
    - iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 198
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 198
    functionName: iconv_carefully
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - iconv
    linkageType: ''
    returnType: size_t
    signature: "size_t iconv_carefully (iconv_t cd,\n                 const char **inbuf,
      size_t *inbytesleft,\n                 char **outbuf, size_t *outbytesleft,\n
      \                bool *incremented)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 6
    argNames:
    - cd
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    - incremented
    argTypes:
    - iconv_t
    - char**
    - size_t*
    - char**
    - size_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: iconv_carefully_1
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - iconv
    linkageType: ''
    returnType: size_t
    signature: "size_t iconv_carefully_1 (iconv_t cd,\n                   const char
      **inbuf, size_t *inbytesleft,\n                   char **outbuf, size_t *outbytesleft,\n
      \                  bool *incremented)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8_mbtoucr
      Src: /src/gnulib/lib/striconveh.c:293,1
    - Dst: u8_mbtouc
      Src: /src/gnulib/lib/striconveh.c:297,1
    - Dst: u8_uctomb
      Src: /src/gnulib/lib/striconveh.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 6
    argNames:
    - one_character_only
    - inbuf
    - inbytesleft
    - outbuf
    - outbytesleft
    - incremented
    argTypes:
    - bool
    - char**
    - size_t*
    - char**
    - size_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 338
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 338
    functionName: utf8conv_carefully
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - u8_mbtoucr
    - u8_uctomb
    - u8_mbtouc
    linkageType: ''
    returnType: size_t
    signature: "size_t utf8conv_carefully (bool one_character_only,\n                    const
      char **inbuf, size_t *inbytesleft,\n                    char **outbuf, size_t
      *outbytesleft,\n                    bool *incremented)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:399,1
    - Dst: iconv_carefully_1
      Src: /src/gnulib/lib/striconveh.c:416,1
    - Dst: iconv_carefully
      Src: /src/gnulib/lib/striconveh.c:428,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:458,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:460,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:462,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:466,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:471,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:480,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:504,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:516,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:518,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:522,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:527,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:544,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:554,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:556,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:560,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:565,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:571,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:608,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:610,1
    - Dst: iconv_carefully_1
      Src: /src/gnulib/lib/striconveh.c:632,1
    - Dst: iconv_carefully
      Src: /src/gnulib/lib/striconveh.c:637,1
    - Dst: utf8conv_carefully
      Src: /src/gnulib/lib/striconveh.c:645,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:659,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:675,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:687,1
    - Dst: iconv_carefully
      Src: /src/gnulib/lib/striconveh.c:727,1
    - Dst: utf8conv_carefully
      Src: /src/gnulib/lib/striconveh.c:733,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:747,1
    - Dst: u8_prev
      Src: /src/gnulib/lib/striconveh.c:777,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:780,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:786,1
    - Dst: u8_mbtouc_unsafe
      Src: /src/gnulib/lib/striconveh.c:787,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:834,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:858,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:875,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:895,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:897,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:899,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:903,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:908,1
    - Dst: iconv
      Src: /src/gnulib/lib/striconveh.c:915,1
    - Dst: abort
      Src: /src/gnulib/lib/striconveh.c:923,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:924,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:952,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:959,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:972,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:974,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:978,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:983,1
    - Dst: memmove
      Src: /src/gnulib/lib/striconveh.c:990,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:1001,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:1022,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:1031,1
    - Dst: realloc
      Src: /src/gnulib/lib/striconveh.c:1039,1
    CyclomaticComplexity: 154
    EdgeCount: 154
    ICount: 375
    argCount: 10
    argNames:
    - src
    - srclen
    - cd
    - cd1
    - cd2
    - handler
    - extra_alloc
    - offsets
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - iconv_t
    - iconv_t
    - iconv_t
    - enum iconv_ilseq_handler
    - size_t
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1048
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 1048
    functionName: mem_cd_iconveh_internal
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - abort
    - u8_prev
    - u8_mbtouc_unsafe
    - memmove
    - free
    - iconv_carefully
    - utf8conv_carefully
    - iconv
    - memcpy
    - malloc
    - iconv_carefully_1
    - realloc
    linkageType: ''
    returnType: int
    signature: "int mem_cd_iconveh_internal (const char *src, size_t srclen,\n                         iconv_t
      cd, iconv_t cd1, iconv_t cd2,\n                         enum iconv_ilseq_handler
      handler,\n                         size_t extra_alloc,\n                         size_t
      *offsets,\n                         char **resultp, size_t *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem_cd_iconveh_internal
      Src: /src/gnulib/lib/striconveh.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - src
    - srclen
    - cd
    - handler
    - offsets
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - iconveh_t*
    - enum iconv_ilseq_handler
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1059
    functionName: mem_cd_iconveh
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - mem_cd_iconveh_internal
    linkageType: ''
    returnType: int
    signature: "int mem_cd_iconveh (const char *src, size_t srclen,\n                const
      iconveh_t *cd,\n                enum iconv_ilseq_handler handler,\n                size_t
      *offsets,\n                char **resultp, size_t *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - cd
    - handler
    argTypes:
    - char*
    - iconveh_t*
    - enum iconv_ilseq_handler
    constantsTouched: []
    func_position:
      end: 1086
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1086
    functionName: str_cd_iconveh
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: char
    signature: "char *\nstr_cd_iconveh (const char *src,\n                const iconveh_t
      *cd,\n                enum iconv_ilseq_handler handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnulib/lib/striconveh.c:1103,1
    - Dst: malloc
      Src: /src/gnulib/lib/striconveh.c:1111,1
    - Dst: memcpy
      Src: /src/gnulib/lib/striconveh.c:1118,1
    - Dst: iconveh_open
      Src: /src/gnulib/lib/striconveh.c:1131,1
    - Dst: mem_cd_iconveh
      Src: /src/gnulib/lib/striconveh.c:1136,1
    - Dst: iconveh_close
      Src: /src/gnulib/lib/striconveh.c:1143,1
    - Dst: iconveh_close
      Src: /src/gnulib/lib/striconveh.c:1148,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:1151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 8
    argNames:
    - src
    - srclen
    - from_codeset
    - to_codeset
    - handler
    - offsets
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - enum iconv_ilseq_handler
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1168
    functionName: mem_iconveh
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - iconveh_open
    - free
    - c_strcasecmp
    - mem_cd_iconveh
    - memcpy
    - iconveh_close
    - malloc
    linkageType: ''
    returnType: int
    signature: "int mem_iconveh (const char *src, size_t srclen,\n             const
      char *from_codeset, const char *to_codeset,\n             enum iconv_ilseq_handler
      handler,\n             size_t *offsets,\n             char **resultp, size_t
      *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnulib/lib/striconveh.c:1175,1
    - Dst: iconveh_open
      Src: /src/gnulib/lib/striconveh.c:1189,1
    - Dst: str_cd_iconveh
      Src: /src/gnulib/lib/striconveh.c:1192,1
    - Dst: iconveh_close
      Src: /src/gnulib/lib/striconveh.c:1198,1
    - Dst: iconveh_close
      Src: /src/gnulib/lib/striconveh.c:1203,1
    - Dst: free
      Src: /src/gnulib/lib/striconveh.c:1205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - src
    - from_codeset
    - to_codeset
    - handler
    argTypes:
    - char*
    - char*
    - char*
    - enum iconv_ilseq_handler
    constantsTouched: []
    func_position:
      end: 1220
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1220
    functionName: str_iconveh
    functionSourceFile: /src/gnulib/lib/striconveh.c
    functionUses: 0
    functionsReached:
    - iconveh_open
    - free
    - c_strcasecmp
    - str_cd_iconveh
    - iconveh_close
    linkageType: ''
    returnType: char
    signature: "char *\nstr_iconveh (const char *src,\n             const char *from_codeset,
      const char *to_codeset,\n             enum iconv_ilseq_handler handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_tempname
      Src: /src/gnulib/lib/mkdtemp.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - xtemplate
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: mkdtemp
    functionSourceFile: /src/gnulib/lib/mkdtemp.c
    functionUses: 3
    functionsReached:
    - gen_tempname
    linkageType: ''
    returnType: char
    signature: 'char *

      mkdtemp (char *xtemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSizeEx
      Src: /src/gnulib/lib/ftruncate.c:58,1
    - Dst: GetCurrentProcess
      Src: /src/gnulib/lib/ftruncate.c:64,1
    - Dst: DuplicateHandle
      Src: /src/gnulib/lib/ftruncate.c:67,1
    - Dst: SetFilePointer
      Src: /src/gnulib/lib/ftruncate.c:80,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/ftruncate.c:82,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/ftruncate.c:84,1
    - Dst: SetEndOfFile
      Src: /src/gnulib/lib/ftruncate.c:87,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/ftruncate.c:89,1
    - Dst: SetFilePointer
      Src: /src/gnulib/lib/ftruncate.c:98,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/ftruncate.c:101,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/ftruncate.c:103,1
    - Dst: WriteFile
      Src: /src/gnulib/lib/ftruncate.c:113,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/ftruncate.c:116,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/ftruncate.c:123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - h
    - size
    argTypes:
    - HANDLE
    - LONGLONG
    constantsTouched: []
    func_position:
      end: 126
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 126
    functionName: SetFileSize
    functionSourceFile: /src/gnulib/lib/ftruncate.c
    functionUses: 0
    functionsReached:
    - DuplicateHandle
    - WriteFile
    - GetLastError
    - GetFileSizeEx
    - SetEndOfFile
    - SetFilePointer
    - CloseHandle
    - GetCurrentProcess
    linkageType: ''
    returnType: BOOL
    signature: BOOL SetFileSize (HANDLE h, LONGLONG size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/ftruncate.c:131,1
    - Dst: SetFileSize
      Src: /src/gnulib/lib/ftruncate.c:143,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/ftruncate.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - fd
    - length
    argTypes:
    - int
    - off_t
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: ftruncate
    functionSourceFile: /src/gnulib/lib/ftruncate.c
    functionUses: 8
    functionsReached:
    - _get_osfhandle
    - SetFileSize
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int ftruncate (int fd, off_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _chsize
      Src: /src/gnulib/lib/ftruncate.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - length
    argTypes:
    - int
    - long
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: chsize_nothrow
    functionSourceFile: /src/gnulib/lib/ftruncate.c
    functionUses: 0
    functionsReached:
    - _chsize
    linkageType: ''
    returnType: int
    signature: int chsize_nothrow (int fd, long length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chsize_nothrow
      Src: /src/gnulib/lib/ftruncate.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - length
    argTypes:
    - int
    - off_t
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ftruncate
    functionSourceFile: /src/gnulib/lib/ftruncate.c
    functionUses: 8
    functionsReached:
    - chsize_nothrow
    linkageType: ''
    returnType: int
    signature: int ftruncate (int fd, off_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: decimal_point_char
    functionSourceFile: /src/gnulib/lib/c-vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char decimal_point_char (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/cbrt.c:49,1
    - Dst: frexp
      Src: /src/gnulib/lib/cbrt.c:55,1
    - Dst: fabs
      Src: /src/gnulib/lib/cbrt.c:55,1
    - Dst: ldexp
      Src: /src/gnulib/lib/cbrt.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: cbrt
    functionSourceFile: /src/gnulib/lib/cbrt.c
    functionUses: 2
    functionsReached:
    - fabs
    - frexp
    - ldexp
    - isfinite
    linkageType: ''
    returnType: double
    signature: double cbrt (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vs1
    - vs2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: memcasecmp
    functionSourceFile: /src/gnulib/lib/memcasecmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memcasecmp (const void *vs1, const void *vs2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/gnulib/lib/inet_pton.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: rpl_inet_pton
    functionSourceFile: /src/gnulib/lib/inet_pton.c
    functionUses: 0
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: int
    signature: int rpl_inet_pton (int af, const char *restrict src, void *restrict
      dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton4
      Src: /src/gnulib/lib/inet_pton.c:87,1
    - Dst: inet_pton6
      Src: /src/gnulib/lib/inet_pton.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: inet_pton
    functionSourceFile: /src/gnulib/lib/inet_pton.c
    functionUses: 25
    functionsReached:
    - inet_pton6
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int inet_pton (int af, const char *restrict src, void *restrict dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/inet_pton.c:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: inet_pton4
    functionSourceFile: /src/gnulib/lib/inet_pton.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int inet_pton4 (const char *restrict src, unsigned char *restrict dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/inet_pton.c:180,1
    - Dst: c_tolower
      Src: /src/gnulib/lib/inet_pton.c:190,1
    - Dst: strchr
      Src: /src/gnulib/lib/inet_pton.c:194,1
    - Dst: inet_pton4
      Src: /src/gnulib/lib/inet_pton.c:227,1
    - Dst: memcpy
      Src: /src/gnulib/lib/inet_pton.c:262,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 264
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 264
    functionName: inet_pton6
    functionSourceFile: /src/gnulib/lib/inet_pton.c
    functionUses: 1
    functionsReached:
    - strchr
    - c_tolower
    - memset
    - memcpy
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int inet_pton6 (const char *restrict src, unsigned char *restrict dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/gnulib/lib/vdzprintf.c:40,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/vdzprintf.c:46,1
    - Dst: free
      Src: /src/gnulib/lib/vdzprintf.c:53,1
    - Dst: full_write
      Src: /src/gnulib/lib/vdzprintf.c:58,1
    - Dst: free
      Src: /src/gnulib/lib/vdzprintf.c:61,1
    - Dst: free
      Src: /src/gnulib/lib/vdzprintf.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - fd
    - format
    - args
    argTypes:
    - int
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: vdzprintf
    functionSourceFile: /src/gnulib/lib/vdzprintf.c
    functionUses: 4
    functionsReached:
    - free
    - full_write
    - TYPE_MAXIMUM
    - vasnprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t vdzprintf (int fd, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: local_strnlen
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t local_strnlen (const char *string, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: local_wcslen
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t local_wcslen (const wchar_t *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: local_wcsnlen
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t local_wcsnlen (const wchar_t *s, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s
    - wc
    argTypes:
    - char*
    - wchar_t
    constantsTouched: []
    func_position:
      end: 357
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 357
    functionName: wctomb_fallback
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wctomb_fallback (char *s, wchar_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctomb_fallback
      Src: /src/gnulib/lib/vasnprintf.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - wc
    - ps
    argTypes:
    - char*
    - wchar_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: local_wcrtomb
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - wctomb_fallback
    linkageType: ''
    returnType: size_t
    signature: size_t local_wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctomb_fallback
      Src: /src/gnulib/lib/vasnprintf.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - wc
    argTypes:
    - char*
    - wchar_t
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: local_wctomb
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - wctomb_fallback
    linkageType: ''
    returnType: int
    signature: int local_wctomb (char *s, wchar_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/vasnprintf.c:400,1
    - Dst: sprintf
      Src: /src/gnulib/lib/vasnprintf.c:403,1
    - Dst: localeconv
      Src: /src/gnulib/lib/vasnprintf.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: decimal_point_char
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - nl_langinfo
    - sprintf
    - localeconv
    linkageType: ''
    returnType: char
    signature: char decimal_point_char (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/vasnprintf.c:433,1
    - Dst: localeconv
      Src: /src/gnulib/lib/vasnprintf.c:435,1
    - Dst: sprintf
      Src: /src/gnulib/lib/vasnprintf.c:437,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:439,1
    - Dst: strcmp
      Src: /src/gnulib/lib/vasnprintf.c:442,1
    - Dst: strcpy
      Src: /src/gnulib/lib/vasnprintf.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - stackbuf
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: thousands_separator_char
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - localeconv
    - nl_langinfo
    - strcmp
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      thousands_separator_char (char stackbuf[10])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DCHAR_CONV_FROM_ENCODING
      Src: /src/gnulib/lib/vasnprintf.c:467,1
    - Dst: locale_charset
      Src: /src/gnulib/lib/vasnprintf.c:467,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:469,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - stackbuf
    argTypes:
    - DCHAR_T[]
    constantsTouched: []
    func_position:
      end: 482
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 482
    functionName: thousands_separator_DCHAR
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - strlen
    - locale_charset
    - DCHAR_CONV_FROM_ENCODING
    - abort
    linkageType: ''
    returnType: DCHAR_T
    signature: 'DCHAR_T *

      thousands_separator_DCHAR (DCHAR_T stackbuf[10])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/vasnprintf.c:502,1
    - Dst: mbszero
      Src: /src/gnulib/lib/vasnprintf.c:510,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/vasnprintf.c:511,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:511,1
    - Dst: sprintf
      Src: /src/gnulib/lib/vasnprintf.c:523,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:525,1
    - Dst: strcmp
      Src: /src/gnulib/lib/vasnprintf.c:527,1
    - Dst: strcpy
      Src: /src/gnulib/lib/vasnprintf.c:528,1
    - Dst: mbszero
      Src: /src/gnulib/lib/vasnprintf.c:532,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/vasnprintf.c:533,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:533,1
    - Dst: swprintf
      Src: /src/gnulib/lib/vasnprintf.c:542,1
    - Dst: local_wcslen
      Src: /src/gnulib/lib/vasnprintf.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - stackbuf
    argTypes:
    - wchar_t[]
    constantsTouched: []
    func_position:
      end: 547
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 547
    functionName: thousands_separator_wchar
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - strlen
    - mbrtowc
    - mbszero
    - strcpy
    - local_wcslen
    - nl_langinfo
    - strcmp
    - sprintf
    - swprintf
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      thousands_separator_wchar (wchar_t stackbuf[10])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/vasnprintf.c:587,1
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/vasnprintf.c:589,1
    - Dst: localeconv
      Src: /src/gnulib/lib/vasnprintf.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: grouping_rule
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - nl_langinfo
    - localeconv
    linkageType: ''
    returnType: signed char
    signature: 'signed char *

      grouping_rule (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - grouping
    - ndigits
    argTypes:
    - signed char*
    - size_t
    constantsTouched: []
    func_position:
      end: 621
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 621
    functionName: num_thousands_separators
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t num_thousands_separators (const signed char *grouping, size_t
      ndigits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/lib/vasnprintf.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: is_infinite_or_zero
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - isnand
    linkageType: ''
    returnType: int
    signature: int is_infinite_or_zero (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/vasnprintf.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: is_infinite_or_zerol
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - isnanl
    linkageType: ''
    returnType: int
    signature: int is_infinite_or_zerol (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frexpl
      Src: /src/gnulib/lib/vasnprintf.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - exp
    argTypes:
    - long double
    - int*
    constantsTouched: []
    func_position:
      end: 673
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 673
    functionName: safe_frexpl
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - frexpl
    linkageType: ''
    returnType: long double
    signature: long double safe_frexpl (long double x, int *exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - src1
    - src2
    - dest
    argTypes:
    - mpn_t
    - mpn_t
    - mpn_t*
    constantsTouched: []
    func_position:
      end: 771
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 771
    functionName: multiply
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 3
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      multiply (mpn_t src1, mpn_t src2, mpn_t *dest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:848,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:861,1
    - Dst: memcpy
      Src: /src/gnulib/lib/vasnprintf.c:875,1
    - Dst: __builtin_clz
      Src: /src/gnulib/lib/vasnprintf.c:925,1
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:982,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:985,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1001,1
    - Dst: memcpy
      Src: /src/gnulib/lib/vasnprintf.c:1012,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1199,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 179
    argCount: 3
    argNames:
    - a
    - b
    - q
    argTypes:
    - mpn_t
    - mpn_t
    - mpn_t*
    constantsTouched: []
    func_position:
      end: 1203
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 1203
    functionName: divide
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - abort
    - free
    - __builtin_clz
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      divide (mpn_t a, mpn_t b, mpn_t *q)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - a
    - extra_zeroes
    argTypes:
    - mpn_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1267
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1267
    functionName: convert_to_decimal
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      convert_to_decimal (mpn_t a, size_t extra_zeroes)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:1289,1
    - Dst: safe_frexpl
      Src: /src/gnulib/lib/vasnprintf.c:1293,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1295,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1311,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1316,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1326,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1338,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1343,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1349,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - x
    - ep
    - mp
    argTypes:
    - long double
    - int*
    - mpn_t*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1357
    functionName: decode_long_double
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - safe_frexpl
    - malloc
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      decode_long_double (long double x, int *ep, mpn_t *mp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:1377,1
    - Dst: frexp
      Src: /src/gnulib/lib/vasnprintf.c:1381,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1383,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1399,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1404,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1414,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1426,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1431,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1435,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - x
    - ep
    - mp
    argTypes:
    - double
    - int*
    - mpn_t*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1442
    functionName: decode_double
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - abort
    - malloc
    - frexp
    linkageType: ''
    returnType: void
    signature: 'void *

      decode_double (double x, int *ep, mpn_t *mp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:1486,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1491,1
    - Dst: multiply
      Src: /src/gnulib/lib/vasnprintf.c:1564,1
    - Dst: divide
      Src: /src/gnulib/lib/vasnprintf.c:1569,1
    - Dst: multiply
      Src: /src/gnulib/lib/vasnprintf.c:1583,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1586,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1587,1
    - Dst: divide
      Src: /src/gnulib/lib/vasnprintf.c:1600,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1601,1
    - Dst: malloc
      Src: /src/gnulib/lib/vasnprintf.c:1609,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1613,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1614,1
    - Dst: divide
      Src: /src/gnulib/lib/vasnprintf.c:1648,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1649,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1652,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1653,1
    - Dst: convert_to_decimal
      Src: /src/gnulib/lib/vasnprintf.c:1659,1
    - Dst: free
      Src: /src/gnulib/lib/vasnprintf.c:1660,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 114
    argCount: 4
    argNames:
    - e
    - m
    - memory
    - n
    argTypes:
    - int
    - mpn_t
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1662
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1662
    functionName: scale10_round_decimal_decoded
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - divide
    - free
    - convert_to_decimal
    - multiply
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scale10_round_decimal_decoded
      Src: /src/gnulib/lib/vasnprintf.c:1678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - long double
    - int
    constantsTouched: []
    func_position:
      end: 1681
      start: 1671
    functionDepth: 3
    functionLinenumber: 1671
    functionLinenumberEnd: 1681
    functionName: scale10_round_decimal_long_double
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - scale10_round_decimal_decoded
    linkageType: ''
    returnType: char
    signature: 'char *

      scale10_round_decimal_long_double (long double x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scale10_round_decimal_decoded
      Src: /src/gnulib/lib/vasnprintf.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - double
    - int
    constantsTouched: []
    func_position:
      end: 1702
      start: 1692
    functionDepth: 3
    functionLinenumber: 1692
    functionLinenumberEnd: 1702
    functionName: scale10_round_decimal_double
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - scale10_round_decimal_decoded
    linkageType: ''
    returnType: char
    signature: 'char *

      scale10_round_decimal_double (double x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_frexpl
      Src: /src/gnulib/lib/vasnprintf.c:1720,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1722,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1759,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 1793
      start: 1711
    functionDepth: 2
    functionLinenumber: 1711
    functionLinenumberEnd: 1793
    functionName: floorlog10l
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - safe_frexpl
    - abort
    linkageType: ''
    returnType: int
    signature: int floorlog10l (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/gnulib/lib/vasnprintf.c:1811,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1813,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:1850,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 1884
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1884
    functionName: floorlog10
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - abort
    - frexp
    linkageType: ''
    returnType: int
    signature: int floorlog10 (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - digits
    - precision
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1900
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1900
    functionName: is_borderline
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_borderline (const char *digits, size_t precision)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2085,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2087,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2091,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2160,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2247,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2334,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2340,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2360,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2366,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2388,1
    - Dst: local_wcsnlen
      Src: /src/gnulib/lib/vasnprintf.c:2417,1
    - Dst: local_wcslen
      Src: /src/gnulib/lib/vasnprintf.c:2419,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:2430,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:2442,1
    - Dst: local_strnlen
      Src: /src/gnulib/lib/vasnprintf.c:2451,1
    - Dst: strlen
      Src: /src/gnulib/lib/vasnprintf.c:2453,1
    - Dst: abort
      Src: /src/gnulib/lib/vasnprintf.c:2468,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2479,1
    - Dst: xsum
      Src: /src/gnulib/lib/vasnprintf.c:2487,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 260
    argCount: 9
    argNames:
    - ap
    - arg_index
    - conversion
    - type
    - flags
    - width
    - has_precision
    - precision
    - pad_ourselves
    argTypes:
    - arguments*
    - size_t
    - FCHAR_T
    - arg_type
    - int
    - size_t
    - int
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 2490
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 2490
    functionName: MAX_ROOM_NEEDED
    functionSourceFile: /src/gnulib/lib/vasnprintf.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    - local_wcslen
    - local_strnlen
    - local_wcsnlen
    - xsum
    linkageType: ''
    returnType: size_t
    signature: "size_t MAX_ROOM_NEEDED (const arguments *ap, size_t arg_index, FCHAR_T
      conversion,\n                 arg_type type, int flags, size_t width, int has_precision,\n
      \                size_t precision, int pad_ourselves)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/xstring-desc.c:29,1
    - Dst: va_start
      Src: /src/gnulib/lib/xstring-desc.c:34,1
    - Dst: va_arg
      Src: /src/gnulib/lib/xstring-desc.c:35,1
    - Dst: va_arg
      Src: /src/gnulib/lib/xstring-desc.c:43,1
    - Dst: va_end
      Src: /src/gnulib/lib/xstring-desc.c:47,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-desc.c:52,1
    - Dst: va_start
      Src: /src/gnulib/lib/xstring-desc.c:56,1
    - Dst: va_arg
      Src: /src/gnulib/lib/xstring-desc.c:57,1
    - Dst: memcpy
      Src: /src/gnulib/lib/xstring-desc.c:58,1
    - Dst: va_arg
      Src: /src/gnulib/lib/xstring-desc.c:66,1
    - Dst: memcpy
      Src: /src/gnulib/lib/xstring-desc.c:68,1
    - Dst: va_end
      Src: /src/gnulib/lib/xstring-desc.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - idx_t
    constantsTouched: []
    func_position:
      end: 80
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 80
    functionName: xsd_concat
    functionSourceFile: /src/gnulib/lib/xstring-desc.c
    functionUses: 1
    functionsReached:
    - abort
    - va_start
    - va_end
    - xalloc_die
    - memcpy
    - va_arg
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t xsd_concat (idx_t n, /* [rw_]string_desc_t string1,
      */ ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/c-xasprintf.c:29,1
    - Dst: c_xvasprintf
      Src: /src/gnulib/lib/c-xasprintf.c:30,1
    - Dst: va_end
      Src: /src/gnulib/lib/c-xasprintf.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: c_xasprintf
    functionSourceFile: /src/gnulib/lib/c-xasprintf.c
    functionUses: 1
    functionsReached:
    - c_xvasprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      c_xasprintf (const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/zprintf.c:32,1
    - Dst: vfzprintf
      Src: /src/gnulib/lib/zprintf.c:33,1
    - Dst: va_end
      Src: /src/gnulib/lib/zprintf.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: zprintf
    functionSourceFile: /src/gnulib/lib/zprintf.c
    functionUses: 28
    functionsReached:
    - va_start
    - vfzprintf
    - va_end
    linkageType: ''
    returnType: off64_t
    signature: off64_t zprintf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anytree_omap.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - implementation
    - compar_fn
    - kdispose_fn
    - vdispose_fn
    argTypes:
    - gl_omap_implementation_t
    - gl_mapkey_compar_fn
    - gl_mapkey_dispose_fn
    - gl_mapvalue_dispose_fn
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: gl_tree_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: gl_omap_t
    signature: "gl_omap_t gl_tree_nx_create_empty (gl_omap_implementation_t implementation,\n
      \                        gl_mapkey_compar_fn compar_fn,\n                         gl_mapkey_dispose_fn
      kdispose_fn,\n                         gl_mapvalue_dispose_fn vdispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_size
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_tree_size (gl_omap_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - map
    - key
    - valuep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 83
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionName: gl_tree_search
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_search (gl_omap_t map, const void *key, const void **valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_omap.h:95,1
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_anytree_omap.h:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - map
    - threshold_fn
    - threshold
    - keyp
    - valuep
    argTypes:
    - gl_omap_t
    - gl_mapkey_threshold_fn
    - void*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 119
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 119
    functionName: gl_tree_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached:
    - threshold_fn
    linkageType: ''
    returnType: bool
    signature: "bool gl_tree_search_atleast (gl_omap_t map,\n                        gl_mapkey_threshold_fn
      threshold_fn,\n                        const void *threshold,\n                        const
      void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_nx_add_first
      Src: /src/gnulib/lib/gl_anytree_omap.h:130,1
    - Dst: gl_tree_nx_add_after
      Src: /src/gnulib/lib/gl_anytree_omap.h:148,1
    - Dst: gl_tree_nx_add_before
      Src: /src/gnulib/lib/gl_anytree_omap.h:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - map
    - key
    - value
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 171
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 171
    functionName: gl_tree_nx_getput
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached:
    - gl_tree_nx_add_first
    - gl_tree_nx_add_before
    - gl_tree_nx_add_after
    linkageType: ''
    returnType: int
    signature: "int gl_tree_nx_getput (gl_omap_t map, const void *key, const void
      *value,\n                   const void **oldvaluep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tree_remove_node
      Src: /src/gnulib/lib/gl_anytree_omap.h:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - map
    - key
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: gl_tree_getremove
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached:
    - gl_tree_remove_node
    linkageType: ''
    returnType: bool
    signature: bool gl_tree_getremove (gl_omap_t map, const void *key, const void
      **oldvaluep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_t::base::vdispose_fn
      Src: /src/gnulib/lib/gl_anytree_omap.h:232,1
    - Dst: gl_omap_t::base::kdispose_fn
      Src: /src/gnulib/lib/gl_anytree_omap.h:234,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anytree_omap.h:235,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anytree_omap.h:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 244
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 244
    functionName: gl_tree_omap_free
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached:
    - gl_omap_t::base::kdispose_fn
    - free
    - gl_omap_t::base::vdispose_fn
    linkageType: ''
    returnType: void
    signature: void gl_tree_omap_free (gl_omap_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: _GL_ATTRIBUTE_PURE::gl_tree_iterator
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_omap_iterator_t
    signature: 'gl_omap_iterator_t _GL_ATTRIBUTE_PURE

      gl_tree_iterator (gl_omap_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - iterator
    - keyp
    - valuep
    argTypes:
    - gl_omap_iterator_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: gl_tree_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gl_tree_iterator_next (gl_omap_iterator_t *iterator,\n                       const
      void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gl_omap_iterator_t *iterator
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: gl_tree_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_anytree_omap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_tree_iterator_free (_GL_ATTRIBUTE_MAYBE_UNUSED gl_omap_iterator_t
      *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ir
    - default_val
    argTypes:
    - I_ring*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: i_ring_init
    functionSourceFile: /src/gnulib/lib/i-ring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void i_ring_init (I_ring *ir, int default_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ir
    argTypes:
    - I_ring*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: i_ring_empty
    functionSourceFile: /src/gnulib/lib/i-ring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool i_ring_empty (I_ring const *ir)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ir
    - val
    argTypes:
    - I_ring*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: i_ring_push
    functionSourceFile: /src/gnulib/lib/i-ring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int i_ring_push (I_ring *ir, int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i_ring_empty
      Src: /src/gnulib/lib/i-ring.c:59,1
    - Dst: abort
      Src: /src/gnulib/lib/i-ring.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ir
    argTypes:
    - I_ring*
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: i_ring_pop
    functionSourceFile: /src/gnulib/lib/i-ring.c
    functionUses: 1
    functionsReached:
    - i_ring_empty
    - abort
    linkageType: ''
    returnType: int
    signature: int i_ring_pop (I_ring *ir)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: sbr_init
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sbr_init (struct string_buffer_reversed *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/string-buffer-reversed.c:75,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer-reversed.c:79,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer-reversed.c:85,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - increment
    argTypes:
    - struct string_buffer_reversed*
    - size_t
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: sbr_ensure_more_bytes
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - memmove
    - realloc
    linkageType: ''
    returnType: int
    signature: int sbr_ensure_more_bytes (struct string_buffer_reversed *buffer, size_t
      increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - struct string_buffer_reversed*
    - char
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: sbr_prepend1
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 1
    functionsReached:
    - sbr_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: int sbr_prepend1 (struct string_buffer_reversed *buffer, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed.c:116,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer-reversed.c:121,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-buffer-reversed.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - s
    argTypes:
    - struct string_buffer_reversed*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: sbr_prepend_desc
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 1
    functionsReached:
    - sbr_ensure_more_bytes
    - memcpy
    - sd_data
    linkageType: ''
    returnType: int
    signature: int sbr_prepend_desc (struct string_buffer_reversed *buffer, string_desc_t
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed.c:130,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer-reversed.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - struct string_buffer_reversed*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: sbr_prepend_c
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 1
    functionsReached:
    - sbr_ensure_more_bytes
    - memcpy
    linkageType: ''
    returnType: int
    signature: int sbr_prepend_c (struct string_buffer_reversed *buffer, const char
      *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/string-buffer-reversed.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: sbr_free
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sbr_free (struct string_buffer_reversed *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer-reversed.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: sbr_contents
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 1
    functionsReached:
    - sd_new_addr
    linkageType: ''
    returnType: string_desc_t
    signature: string_desc_t sbr_contents (struct string_buffer_reversed *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: sbr_contents_c
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      sbr_contents_c (struct string_buffer_reversed *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer-reversed.c:172,1
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer-reversed.c:173,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed.c:179,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer-reversed.c:180,1
    - Dst: sd_new_addr
      Src: /src/gnulib/lib/string-buffer-reversed.c:183,1
    - Dst: sbr_free
      Src: /src/gnulib/lib/string-buffer-reversed.c:187,1
    - Dst: sd_readwrite
      Src: /src/gnulib/lib/string-buffer-reversed.c:188,1
    - Dst: sd_new_empty
      Src: /src/gnulib/lib/string-buffer-reversed.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 189
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 189
    functionName: sbr_dupfree
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - memmove
    - sbr_free
    - sd_new_addr
    - memcpy
    - sd_new_empty
    - sd_readwrite
    - realloc
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t sbr_dupfree (struct string_buffer_reversed *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/string-buffer-reversed.c:203,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed.c:212,1
    - Dst: realloc
      Src: /src/gnulib/lib/string-buffer-reversed.c:213,1
    - Dst: sbr_free
      Src: /src/gnulib/lib/string-buffer-reversed.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: sbr_dupfree_c
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sbr_free
    - memmove
    - realloc
    linkageType: ''
    returnType: char
    signature: 'char *

      sbr_dupfree_c (struct string_buffer_reversed *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: to_uchar
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char to_uchar (char ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:73,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:76,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:77,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:83,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:89,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:90,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:97,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:98,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:105,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:111,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:112,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:117,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 4
    argNames:
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - char*
    - idx_t
    - char*
    - idx_t
    constantsTouched: []
    func_position:
      end: 128
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 128
    functionName: base32_encode
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 1
    functionsReached:
    - to_uchar
    linkageType: ''
    returnType: void
    signature: "void base32_encode (const char *restrict in, idx_t inlen,\n               char
      *restrict out, idx_t outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/gnulib/lib/base32.c:146,1
    - Dst: imalloc
      Src: /src/gnulib/lib/base32.c:153,1
    - Dst: base32_encode
      Src: /src/gnulib/lib/base32.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - in
    - inlen
    - out
    argTypes:
    - char*
    - idx_t
    - char**
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: base32_encode_alloc
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 1
    functionsReached:
    - base32_encode
    - imalloc
    - ckd_mul
    linkageType: ''
    returnType: idx_t
    signature: idx_t base32_encode_alloc (const char *in, idx_t inlen, char **out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnulib/lib/base32.c:291,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - in
    - in_end
    - n_non_newline
    argTypes:
    - struct base32_decode_context*
    - char**
    - char*
    - idx_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 318
    functionName: get_8
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: char
    signature: "char *\nget_8 (struct base32_decode_context *ctx,\n       char const
      *restrict *in, char const *restrict in_end,\n       idx_t *n_non_newline)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:342,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:342,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:347,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:348,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:359,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:364,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:364,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:369,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:370,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:371,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:381,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:386,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:391,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:392,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:402,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:407,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:407,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:412,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:413,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:414,1
    - Dst: isbase32
      Src: /src/gnulib/lib/base32.c:420,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:425,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:426,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base32.c:433,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 4
    argNames:
    - in
    - inlen
    - outp
    - outleft
    argTypes:
    - char*
    - idx_t
    - char**
    - idx_t*
    constantsTouched: []
    func_position:
      end: 442
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 442
    functionName: decode_8
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 0
    functionsReached:
    - isbase32
    - to_uchar
    linkageType: ''
    returnType: bool
    signature: "bool decode_8 (char const *restrict in, idx_t inlen,\n          char
      *restrict *outp, idx_t *outleft)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_8
      Src: /src/gnulib/lib/base32.c:489,1
    - Dst: get_8
      Src: /src/gnulib/lib/base32.c:518,1
    - Dst: decode_8
      Src: /src/gnulib/lib/base32.c:530,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct base32_decode_context*
    - char*
    - idx_t
    - char*
    - idx_t*
    constantsTouched: []
    func_position:
      end: 540
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 540
    functionName: base32_decode_ctx
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 1
    functionsReached:
    - decode_8
    - get_8
    linkageType: ''
    returnType: bool
    signature: "bool base32_decode_ctx (struct base32_decode_context *ctx,\n                   const
      char *restrict in, idx_t inlen,\n                   char *restrict out, idx_t
      *outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imalloc
      Src: /src/gnulib/lib/base32.c:565,1
    - Dst: base32_decode_ctx
      Src: /src/gnulib/lib/base32.c:569,1
    - Dst: free
      Src: /src/gnulib/lib/base32.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct base32_decode_context*
    - char*
    - idx_t
    - char**
    - idx_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 580
    functionName: base32_decode_alloc_ctx
    functionSourceFile: /src/gnulib/lib/base32.c
    functionUses: 1
    functionsReached:
    - free
    - imalloc
    - base32_decode_ctx
    linkageType: ''
    returnType: bool
    signature: "bool base32_decode_alloc_ctx (struct base32_decode_context *ctx,\n
      \                        const char *in, idx_t inlen, char **out,\n                         idx_t
      *outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/ioctl.c:36,1
    - Dst: va_arg
      Src: /src/gnulib/lib/ioctl.c:37,1
    - Dst: va_end
      Src: /src/gnulib/lib/ioctl.c:38,1
    - Dst: ioctl
      Src: /src/gnulib/lib/ioctl.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - request
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: rpl_ioctl
    functionSourceFile: /src/gnulib/lib/ioctl.c
    functionUses: 0
    functionsReached:
    - va_start
    - ioctl
    - va_end
    - va_arg
    linkageType: ''
    returnType: int
    signature: int rpl_ioctl (int fd, int request, ... /* {void *,char *} arg */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/ioctl.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - request
    - arg
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: primary_ioctl
    functionSourceFile: /src/gnulib/lib/ioctl.c
    functionUses: 0
    functionsReached:
    - _get_osfhandle
    linkageType: ''
    returnType: int
    signature: int primary_ioctl (int fd, int request, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/ioctl.c:81,1
    - Dst: va_arg
      Src: /src/gnulib/lib/ioctl.c:82,1
    - Dst: va_end
      Src: /src/gnulib/lib/ioctl.c:83,1
    - Dst: execute_all_ioctl_hooks
      Src: /src/gnulib/lib/ioctl.c:86,1
    - Dst: primary_ioctl
      Src: /src/gnulib/lib/ioctl.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - request
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: ioctl
    functionSourceFile: /src/gnulib/lib/ioctl.c
    functionUses: 24
    functionsReached:
    - primary_ioctl
    - va_start
    - va_end
    - execute_all_ioctl_hooks
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ioctl (int fd, int request, ... /* {void *,char *} arg */)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isdigit
      Src: /src/gnulib/lib/tputs.c:31,1
    - Dst: c_isdigit
      Src: /src/gnulib/lib/tputs.c:36,1
    - Dst: outcharfun
      Src: /src/gnulib/lib/tputs.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cp
    - affcnt
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: tputs
    functionSourceFile: /src/gnulib/lib/tputs.c
    functionUses: 2
    functionsReached:
    - c_isdigit
    - outcharfun
    linkageType: ''
    returnType: void
    signature: void tputs (const char *cp, int affcnt, int (*outcharfun) (int))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE::start
      Src: /src/gnulib/lib/pipe-filter-ii.c:53,1
    - Dst: DosPostEventSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:55,1
    - Dst: _endthread
      Src: /src/gnulib/lib/pipe-filter-ii.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: start_wrapper
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 0
    functionsReached:
    - _endthread
    - DosPostEventSem
    - HANDLE::start
    linkageType: ''
    returnType: void
    signature: void start_wrapper (void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/pipe-filter-ii.c:65,1
    - Dst: DosCreateEventSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:69,1
    - Dst: _beginthread
      Src: /src/gnulib/lib/pipe-filter-ii.c:75,1
    - Dst: DosCloseEventSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:82,1
    - Dst: free
      Src: /src/gnulib/lib/pipe-filter-ii.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - s
    - n
    - WINAPI
    - arg
    - fl
    - th
    argTypes:
    - void*
    - unsigned
    - unsigned int
    - void*
    - unsigned
    - unsigned*
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: _beginthreadex
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 0
    functionsReached:
    - free
    - DosCreateEventSem
    - DosCloseEventSem
    - _beginthread
    - malloc
    linkageType: ''
    returnType: HANDLE
    signature: "HANDLE _beginthreadex (void *s, unsigned n, unsigned int WINAPI (*start)
      (void *),\n                void *arg, unsigned fl, unsigned *th)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DosCloseEventSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:93,1
    - Dst: free
      Src: /src/gnulib/lib/pipe-filter-ii.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: CloseHandle
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 11
    functionsReached:
    - DosCloseEventSem
    - free
    linkageType: ''
    returnType: BOOL
    signature: BOOL CloseHandle (HANDLE h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DosWaitEventSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ms
    argTypes:
    - HANDLE
    - DWORD
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: WaitForSingleObject
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 8
    functionsReached:
    - DosWaitEventSem
    linkageType: ''
    returnType: DWORD
    signature: DWORD WaitForSingleObject (HANDLE h, DWORD ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/pipe-filter-ii.c:125,1
    - Dst: DosCreateMuxWaitSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:135,1
    - Dst: DosWaitMuxWaitSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:139,1
    - Dst: DosCloseMuxWaitSem
      Src: /src/gnulib/lib/pipe-filter-ii.c:140,1
    - Dst: free
      Src: /src/gnulib/lib/pipe-filter-ii.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - nCount
    - pHandles
    - bWaitAll
    - ms
    argTypes:
    - DWORD
    - HANDLE*
    - BOOL
    - DWORD
    constantsTouched: []
    func_position:
      end: 150
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 150
    functionName: WaitForMultipleObjects
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 0
    functionsReached:
    - DosWaitMuxWaitSem
    - free
    - DosCloseMuxWaitSem
    - DosCreateMuxWaitSem
    - malloc
    linkageType: ''
    returnType: DWORD
    signature: "DWORD WaitForMultipleObjects (DWORD nCount, const HANDLE *pHandles,
      BOOL bWaitAll,\n                        DWORD ms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/gnulib/lib/pipe-filter-ii.c:204,1
    - Dst: struct locals*::done_write
      Src: /src/gnulib/lib/pipe-filter-ii.c:210,1
    - Dst: _endthreadex
      Src: /src/gnulib/lib/pipe-filter-ii.c:217,1
    - Dst: abort
      Src: /src/gnulib/lib/pipe-filter-ii.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - thread_arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: writer_thread_func
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 0
    functionsReached:
    - abort
    - struct locals*::done_write
    - _endthreadex
    - GetLastError
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int writer_thread_func (void *thread_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/pipe-filter-ii.c:232,1
    - Dst: struct locals*::done_read
      Src: /src/gnulib/lib/pipe-filter-ii.c:242,1
    - Dst: _endthreadex
      Src: /src/gnulib/lib/pipe-filter-ii.c:249,1
    - Dst: abort
      Src: /src/gnulib/lib/pipe-filter-ii.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - thread_arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: reader_thread_func
    functionSourceFile: /src/gnulib/lib/pipe-filter-ii.c
    functionUses: 0
    functionsReached:
    - abort
    - struct locals*::done_read
    - _endthreadex
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int reader_thread_func (void *thread_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wc
    - desc
    argTypes:
    - wint_t
    - wctrans_t
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: towctrans
    functionSourceFile: /src/gnulib/lib/towctrans-impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: wint_t
    signature: wint_t towctrans (wint_t wc, wctrans_t desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_from_text
      Src: /src/gnulib/lib/set-permissions.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - mode
    argTypes:
    - mode_t
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: acl_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - acl_from_text
    linkageType: ''
    returnType: acl_t
    signature: acl_t acl_from_mode (mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnulib/lib/set-permissions.c:77,1
    - Dst: facl
      Src: /src/gnulib/lib/set-permissions.c:88,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:89,1
    - Dst: free
      Src: /src/gnulib/lib/set-permissions.c:93,1
    - Dst: malloc
      Src: /src/gnulib/lib/set-permissions.c:100,1
    - Dst: free
      Src: /src/gnulib/lib/set-permissions.c:125,1
    - Dst: facl
      Src: /src/gnulib/lib/set-permissions.c:227,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:229,1
    - Dst: facl
      Src: /src/gnulib/lib/set-permissions.c:259,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:262,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 133
    argCount: 4
    argNames:
    - name
    - desc
    - mode
    - must_chmod
    argTypes:
    - char*
    - int
    - mode_t
    - bool*
    constantsTouched: []
    func_position:
      end: 275
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 275
    functionName: set_acls_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - acl
    - facl
    - free
    - MIN
    - malloc
    linkageType: ''
    returnType: int
    signature: int set_acls_from_mode (const char *name, int desc, mode_t mode, bool
      *must_chmod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/gnulib/lib/set-permissions.c:285,1
    - Dst: stat
      Src: /src/gnulib/lib/set-permissions.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - name
    - desc
    argTypes:
    - struct permission_context*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: context_acl_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - stat
    - fstat
    linkageType: ''
    returnType: int
    signature: int context_acl_from_mode (struct permission_context *ctx, const char
      *name, int desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aclsort
      Src: /src/gnulib/lib/set-permissions.c:324,1
    - Dst: abort
      Src: /src/gnulib/lib/set-permissions.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct permission_context*
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: context_aclv_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - abort
    - aclsort
    linkageType: ''
    returnType: int
    signature: int context_aclv_from_mode (struct permission_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aclx_gettypes
      Src: /src/gnulib/lib/set-permissions.c:339,1
    - Dst: aclx_fput
      Src: /src/gnulib/lib/set-permissions.c:361,1
    - Dst: aclx_put
      Src: /src/gnulib/lib/set-permissions.c:364,1
    - Dst: aclx_fput
      Src: /src/gnulib/lib/set-permissions.c:432,1
    - Dst: aclx_put
      Src: /src/gnulib/lib/set-permissions.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 4
    argNames:
    - name
    - desc
    - mode
    - must_chmod
    argTypes:
    - char*
    - int
    - mode_t
    - bool*
    constantsTouched: []
    func_position:
      end: 443
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 443
    functionName: set_acls_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - aclx_put
    - aclx_fput
    - aclx_gettypes
    linkageType: ''
    returnType: int
    signature: int set_acls_from_mode (const char *name, int desc, mode_t mode, bool
      *must_chmod)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct permission_context*
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: context_acl_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int context_acl_from_mode (struct permission_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aclsort
      Src: /src/gnulib/lib/set-permissions.c:478,1
    - Dst: abort
      Src: /src/gnulib/lib/set-permissions.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct permission_context*
    constantsTouched: []
    func_position:
      end: 482
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 482
    functionName: context_acl_from_mode
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - abort
    - aclsort
    linkageType: ''
    returnType: int
    signature: int context_acl_from_mode (struct permission_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_free
      Src: /src/gnulib/lib/set-permissions.c:509,1
    - Dst: acl_from_mode
      Src: /src/gnulib/lib/set-permissions.c:510,1
    - Dst: acl_set_fd
      Src: /src/gnulib/lib/set-permissions.c:518,1
    - Dst: acl_set_file
      Src: /src/gnulib/lib/set-permissions.c:520,1
    - Dst: acl_errno_valid
      Src: /src/gnulib/lib/set-permissions.c:523,1
    - Dst: acl_access_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:526,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/set-permissions.c:533,1
    - Dst: acl_default_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:536,1
    - Dst: acl_set_file
      Src: /src/gnulib/lib/set-permissions.c:537,1
    - Dst: acl_delete_def_file
      Src: /src/gnulib/lib/set-permissions.c:540,1
    - Dst: acl_get_fd
      Src: /src/gnulib/lib/set-permissions.c:577,1
    - Dst: acl_get_file
      Src: /src/gnulib/lib/set-permissions.c:579,1
    - Dst: acl_free
      Src: /src/gnulib/lib/set-permissions.c:582,1
    - Dst: acl_init
      Src: /src/gnulib/lib/set-permissions.c:584,1
    - Dst: acl_set_fd
      Src: /src/gnulib/lib/set-permissions.c:588,1
    - Dst: acl_set_file
      Src: /src/gnulib/lib/set-permissions.c:590,1
    - Dst: acl_free
      Src: /src/gnulib/lib/set-permissions.c:591,1
    - Dst: acl_set_fd
      Src: /src/gnulib/lib/set-permissions.c:600,1
    - Dst: acl_set_file
      Src: /src/gnulib/lib/set-permissions.c:602,1
    - Dst: acl_errno_valid
      Src: /src/gnulib/lib/set-permissions.c:605,1
    - Dst: acl_extended_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:606,1
    - Dst: set_acls_from_mode
      Src: /src/gnulib/lib/set-permissions.c:625,1
    - Dst: facl
      Src: /src/gnulib/lib/set-permissions.c:630,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:632,1
    - Dst: acl_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:636,1
    - Dst: facl
      Src: /src/gnulib/lib/set-permissions.c:647,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:649,1
    - Dst: acl_ace_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:653,1
    - Dst: context_acl_from_mode
      Src: /src/gnulib/lib/set-permissions.c:664,1
    - Dst: fsetacl
      Src: /src/gnulib/lib/set-permissions.c:669,1
    - Dst: setacl
      Src: /src/gnulib/lib/set-permissions.c:671,1
    - Dst: acl_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:675,1
    - Dst: context_aclv_from_mode
      Src: /src/gnulib/lib/set-permissions.c:684,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:688,1
    - Dst: aclv_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:692,1
    - Dst: set_acls_from_mode
      Src: /src/gnulib/lib/set-permissions.c:705,1
    - Dst: context_acl_from_mode
      Src: /src/gnulib/lib/set-permissions.c:710,1
    - Dst: fchacl
      Src: /src/gnulib/lib/set-permissions.c:715,1
    - Dst: chacl
      Src: /src/gnulib/lib/set-permissions.c:717,1
    - Dst: context_acl_from_mode
      Src: /src/gnulib/lib/set-permissions.c:730,1
    - Dst: acl
      Src: /src/gnulib/lib/set-permissions.c:734,1
    - Dst: acl_nontrivial
      Src: /src/gnulib/lib/set-permissions.c:737,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 123
    argCount: 6
    argNames:
    - ctx
    - name
    - desc
    - from_mode
    - must_chmod
    - acls_set
    argTypes:
    - struct permission_context*
    - char*
    - int
    - int
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 751
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 751
    functionName: set_acls
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - acl_default_nontrivial
    - acl_errno_valid
    - acl_access_nontrivial
    - acl_set_file
    - aclv_nontrivial
    - chacl
    - acl_get_file
    - set_acls_from_mode
    - acl_set_fd
    - setacl
    - acl
    - fsetacl
    - context_acl_from_mode
    - acl_init
    - acl_get_fd
    - acl_extended_nontrivial
    - fchacl
    - acl_from_mode
    - acl_ace_nontrivial
    - S_ISDIR
    - acl_delete_def_file
    - acl_free
    - context_aclv_from_mode
    - facl
    - acl_nontrivial
    linkageType: ''
    returnType: int
    signature: "int set_acls (struct permission_context *ctx, const char *name, int
      desc,\n          int from_mode, bool *must_chmod, bool *acls_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fchmod
      Src: /src/gnulib/lib/set-permissions.c:764,1
    - Dst: chmod
      Src: /src/gnulib/lib/set-permissions.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - name
    - desc
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: chmod_or_fchmod
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 0
    functionsReached:
    - chmod
    - fchmod
    linkageType: ''
    returnType: int
    signature: int chmod_or_fchmod (const char *name, int desc, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chmod_or_fchmod
      Src: /src/gnulib/lib/set-permissions.c:807,1
    - Dst: set_acls
      Src: /src/gnulib/lib/set-permissions.c:813,1
    - Dst: set_acls
      Src: /src/gnulib/lib/set-permissions.c:822,1
    - Dst: chmod_or_fchmod
      Src: /src/gnulib/lib/set-permissions.c:838,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - name
    - desc
    argTypes:
    - struct permission_context*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 848
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 848
    functionName: set_permissions
    functionSourceFile: /src/gnulib/lib/set-permissions.c
    functionUses: 1
    functionsReached:
    - set_acls
    - chmod_or_fchmod
    linkageType: ''
    returnType: int
    signature: int set_permissions (struct permission_context *ctx, const char *name,
      int desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - random_value
    - random_value
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: mix_random_values
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: random_value
    signature: random_value mix_random_values (random_value r, random_value s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __getrandom
      Src: /src/gnulib/lib/tempname.c:96,1
    - Dst: __clock_gettime64
      Src: /src/gnulib/lib/tempname.c:111,1
    - Dst: mix_random_values
      Src: /src/gnulib/lib/tempname.c:112,1
    - Dst: mix_random_values
      Src: /src/gnulib/lib/tempname.c:113,1
    - Dst: mix_random_values
      Src: /src/gnulib/lib/tempname.c:116,1
    - Dst: clock
      Src: /src/gnulib/lib/tempname.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - random_value*
    - random_value
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: random_bits
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - __clock_gettime64
    - clock
    - mix_random_values
    - __getrandom
    linkageType: ''
    returnType: bool
    signature: bool random_bits (random_value *r, random_value s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __open
      Src: /src/gnulib/lib/tempname.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tmpl
    - flags
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: try_file
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - __open
    linkageType: ''
    returnType: int
    signature: int try_file (char *tmpl, void *flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __mkdir
      Src: /src/gnulib/lib/tempname.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tmpl
    - flags
    argTypes:
    - char*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: try_dir
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - __mkdir
    linkageType: ''
    returnType: int
    signature: int try_dir (char *tmpl, _GL_UNUSED void *flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __lstat64_time64
      Src: /src/gnulib/lib/tempname.c:145,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/tempname.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tmpl
    - flags
    argTypes:
    - char*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: try_nocreate
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - __lstat64_time64
    - __set_errno
    linkageType: ''
    returnType: int
    signature: int try_nocreate (char *tmpl, _GL_UNUSED void *flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_tempname_len
      Src: /src/gnulib/lib/tempname.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tmpl
    - suffixlen
    - flags
    - kind
    - x_suffix_len
    argTypes:
    - char*
    - int
    - int
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: gen_tempname_len
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - try_tempname_len
    linkageType: ''
    returnType: int
    signature: "int gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind,\n
      \                 size_t x_suffix_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/tempname.c:228,1
    - Dst: strspn
      Src: /src/gnulib/lib/tempname.c:230,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/tempname.c:232,1
    - Dst: random_bits
      Src: /src/gnulib/lib/tempname.c:246,1
    - Dst: tryfunc
      Src: /src/gnulib/lib/tempname.c:258,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/tempname.c:261,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/tempname.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - tmpl
    - suffixlen
    - args
    - x_suffix_len
    argTypes:
    - char*
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 271
    functionName: try_tempname_len
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 1
    functionsReached:
    - random_bits
    - strlen
    - strspn
    - __set_errno
    - tryfunc
    linkageType: ''
    returnType: int
    signature: "int try_tempname_len (char *tmpl, int suffixlen, void *args,\n                  int
      (*tryfunc) (char *, void *), size_t x_suffix_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_tempname_len
      Src: /src/gnulib/lib/tempname.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tmpl
    - suffixlen
    - flags
    - kind
    argTypes:
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: __gen_tempname
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 2
    functionsReached:
    - gen_tempname_len
    linkageType: ''
    returnType: int
    signature: int __gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_tempname_len
      Src: /src/gnulib/lib/tempname.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tmpl
    - suffixlen
    - args
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: try_tempname
    functionSourceFile: /src/gnulib/lib/tempname.c
    functionUses: 0
    functionsReached:
    - try_tempname_len
    linkageType: ''
    returnType: int
    signature: "int try_tempname (char *tmpl, int suffixlen, void *args,\n              int
      (*tryfunc) (char *, void *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - a_nbytes
    - a_data
    - b_nbytes
    - b_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: _sd_equals
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool _sd_equals (idx_t a_nbytes, const char *a_data,\n            idx_t
      b_nbytes, const char *b_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - s_nbytes
    - s_data
    - prefix_nbytes
    - prefix_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: _sd_startswith
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool _sd_startswith (idx_t s_nbytes, const char *s_data,\n                idx_t
      prefix_nbytes, const char *prefix_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - s_nbytes
    - s_data
    - suffix_nbytes
    - suffix_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: _sd_endswith
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool _sd_endswith (idx_t s_nbytes, const char *s_data,\n                idx_t
      suffix_nbytes, const char *suffix_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:76,1
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:82,1
    - Dst: memcmp
      Src: /src/gnulib/lib/string-desc.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - a_nbytes
    - a_data
    - b_nbytes
    - b_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: _sd_cmp
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int _sd_cmp (idx_t a_nbytes, const char *a_data,\n         idx_t b_nbytes,
      const char *b_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/string-desc.c:105,1
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/string-desc.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - a_nbytes
    - a_data
    - b_nbytes
    - b_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: _sd_c_casecmp
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - _GL_CMP
    linkageType: ''
    returnType: int
    signature: "int _sd_c_casecmp (idx_t a_nbytes, const char *a_data,\n               idx_t
      b_nbytes, const char *b_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s_nbytes
    - s_data
    - c
    argTypes:
    - idx_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: _sd_index
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t _sd_index (idx_t s_nbytes, const char *s_data, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s_nbytes
    - s_data
    - c
    argTypes:
    - idx_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: _sd_last_index
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t _sd_last_index (idx_t s_nbytes, const char *s_data, char
      c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: sd_new_empty
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: string_desc_t
    signature: string_desc_t sd_new_empty (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - addr
    argTypes:
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: _sd_new_addr
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string_desc_t
    signature: string_desc_t _sd_new_addr (idx_t n, const char *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - addr
    argTypes:
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: _rwsd_new_addr
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t _rwsd_new_addr (idx_t n, /*!*/const/*!*/ char *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/string-desc.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: sd_from_c
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: string_desc_t
    signature: string_desc_t sd_from_c (const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_write
      Src: /src/gnulib/lib/string-desc.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - s_nbytes
    - s_data
    argTypes:
    - int
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: _sd_write
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - full_write
    linkageType: ''
    returnType: int
    signature: int _sd_write (int fd, idx_t s_nbytes, const char *s_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnulib/lib/string-desc.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fp
    - s_nbytes
    - s_data
    argTypes:
    - FILE*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: _sd_fwrite
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int _sd_fwrite (FILE *fp, idx_t s_nbytes, const char *s_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.c:222,1
    - Dst: imalloc
      Src: /src/gnulib/lib/string-desc.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - resultp
    - n
    argTypes:
    - rw_string_desc_t*
    - idx_t
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: sd_new
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - abort
    - imalloc
    linkageType: ''
    returnType: int
    signature: int sd_new (rw_string_desc_t *resultp, idx_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imalloc
      Src: /src/gnulib/lib/string-desc.c:249,1
    - Dst: memset
      Src: /src/gnulib/lib/string-desc.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - resultp
    - n
    - c
    argTypes:
    - rw_string_desc_t*
    - idx_t
    - char
    constantsTouched: []
    func_position:
      end: 258
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 258
    functionName: sd_new_filled
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - imalloc
    - memset
    linkageType: ''
    returnType: int
    signature: int sd_new_filled (rw_string_desc_t *resultp, idx_t n, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imalloc
      Src: /src/gnulib/lib/string-desc.c:271,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-desc.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - resultp
    - s_nbytes
    - s_data
    argTypes:
    - rw_string_desc_t*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 280
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 280
    functionName: _sd_copy
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcpy
    - imalloc
    linkageType: ''
    returnType: int
    signature: int _sd_copy (rw_string_desc_t *resultp, idx_t s_nbytes, const char
      *s_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.c:287,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-desc.c:292,1
    - Dst: va_arg
      Src: /src/gnulib/lib/string-desc.c:293,1
    - Dst: va_arg
      Src: /src/gnulib/lib/string-desc.c:301,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-desc.c:305,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-desc.c:315,1
    - Dst: va_arg
      Src: /src/gnulib/lib/string-desc.c:316,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-desc.c:317,1
    - Dst: va_arg
      Src: /src/gnulib/lib/string-desc.c:325,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-desc.c:327,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-desc.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - resultp
    - n
    argTypes:
    - rw_string_desc_t*
    - idx_t
    constantsTouched: []
    func_position:
      end: 340
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 340
    functionName: sd_concat
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - abort
    - va_start
    - va_end
    - memcpy
    - va_arg
    linkageType: ''
    returnType: int
    signature: int sd_concat (rw_string_desc_t *resultp, idx_t n, /* [rw_]string_desc_t
      string1, */ ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/string-desc.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s_nbytes
    - s_data
    argTypes:
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: _sd_c
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      _sd_c (idx_t s_nbytes, const char *s_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s
    - i
    - c
    argTypes:
    - rw_string_desc_t
    - idx_t
    - char
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: sd_set_char_at
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void sd_set_char_at (rw_string_desc_t s, idx_t i, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.c:374,1
    - Dst: memset
      Src: /src/gnulib/lib/string-desc.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - s
    - start
    - end
    - c
    argTypes:
    - rw_string_desc_t
    - idx_t
    - idx_t
    - char
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: sd_fill
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - abort
    - memset
    linkageType: ''
    returnType: void
    signature: void sd_fill (rw_string_desc_t s, idx_t start, idx_t end, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/string-desc.c:385,1
    - Dst: memcpy
      Src: /src/gnulib/lib/string-desc.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - s
    - start
    - t_nbytes
    - t_data
    argTypes:
    - rw_string_desc_t
    - idx_t
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: _sd_overwrite
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 1
    functionsReached:
    - abort
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _sd_overwrite (rw_string_desc_t s, idx_t start, idx_t t_nbytes,
      const char *t_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/string-desc.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - rw_string_desc_t
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: sd_free
    functionSourceFile: /src/gnulib/lib/string-desc.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sd_free (rw_string_desc_t s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: gl_List<ELTYPE *>::gl_List
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_List ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_create_empty
      Src: /src/gnulib/lib/gl_list.hh:60,1
    - Dst: reinterpret_cast<gl_listelement_equals_fn>
      Src: /src/gnulib/lib/gl_list.hh:61,1
    - Dst: reinterpret_cast<gl_listelement_hashcode_fn>
      Src: /src/gnulib/lib/gl_list.hh:62,1
    - Dst: reinterpret_cast<gl_listelement_dispose_fn>
      Src: /src/gnulib/lib/gl_list.hh:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - implementation
    - allow_duplicates
    argTypes:
    - gl_list_implementation_t
    - bool
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: gl_List<ELTYPE *>::gl_List
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_dispose_fn>
    - reinterpret_cast<gl_listelement_equals_fn>
    - reinterpret_cast<gl_listelement_hashcode_fn>
    - gl_list_create_empty
    linkageType: ''
    returnType: void
    signature: "void gl_List (gl_list_implementation_t implementation,\n           bool
      (*equals_fn) (ELTYPE * /*elt1*/, ELTYPE * /*elt2*/),\n           size_t (*hashcode_fn)
      (ELTYPE *),\n           void (*dispose_fn) (ELTYPE *),\n           bool allow_duplicates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_create
      Src: /src/gnulib/lib/gl_list.hh:84,1
    - Dst: reinterpret_cast<gl_listelement_equals_fn>
      Src: /src/gnulib/lib/gl_list.hh:85,1
    - Dst: reinterpret_cast<gl_listelement_hashcode_fn>
      Src: /src/gnulib/lib/gl_list.hh:86,1
    - Dst: reinterpret_cast<gl_listelement_dispose_fn>
      Src: /src/gnulib/lib/gl_list.hh:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - implementation
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - bool
    - size_t
    - ELTYPE**
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: gl_List<ELTYPE *>::gl_List
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_dispose_fn>
    - reinterpret_cast<gl_listelement_hashcode_fn>
    - reinterpret_cast<gl_listelement_equals_fn>
    - gl_list_create
    linkageType: ''
    returnType: void
    signature: "void gl_List (gl_list_implementation_t implementation,\n           bool
      (*equals_fn) (ELTYPE * /*elt1*/, ELTYPE * /*elt2*/),\n           size_t (*hashcode_fn)
      (ELTYPE *),\n           void (*dispose_fn) (ELTYPE *),\n           bool allow_duplicates,\n
      \          size_t count, ELTYPE **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sublist_create
      Src: /src/gnulib/lib/gl_list.hh:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' whole_list'
    - start_index
    - end_index
    argTypes:
    - gl_List
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: gl_List<ELTYPE *>::gl_List
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_sublist_create
    linkageType: ''
    returnType: void
    signature: void gl_List (const gl_List& whole_list, size_t start_index, size_t
      end_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_List
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: gl_List<ELTYPE *>::gl_List
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_List (const gl_List& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_List
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: '& operator= (const gl_List& x)'
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_List
    signature: gl_List & operator= (const gl_List& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: ~gl_List ()
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~gl_List ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/lib/gl_list.hh:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: gl_List<ELTYPE *>::size
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_size
    linkageType: ''
    returnType: size_t
    signature: size_t size () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:125,1
    - Dst: gl_list_node_value
      Src: /src/gnulib/lib/gl_list.hh:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: gl_List<ELTYPE *>::node_value
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    - gl_list_node_value
    linkageType: ''
    returnType: ELTYPE
    signature: ELTYPE * node_value (gl_list_node_t node) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_next_node
      Src: /src/gnulib/lib/gl_list.hh:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: gl_List<ELTYPE *>::next_node
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_next_node
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t next_node (gl_list_node_t node) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_previous_node
      Src: /src/gnulib/lib/gl_list.hh:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: gl_List<ELTYPE *>::previous_node
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_previous_node
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t previous_node (gl_list_node_t node) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_first_node
      Src: /src/gnulib/lib/gl_list.hh:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: gl_List<ELTYPE *>::first_node
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_first_node
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t first_node () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_last_node
      Src: /src/gnulib/lib/gl_list.hh:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: gl_List<ELTYPE *>::last_node
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_last_node
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t last_node () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:148,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/lib/gl_list.hh:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: gl_List<ELTYPE *>::get_at
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    - gl_list_get_at
    linkageType: ''
    returnType: ELTYPE
    signature: ELTYPE * get_at (size_t position) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:153,1
    - Dst: gl_list_get_first
      Src: /src/gnulib/lib/gl_list.hh:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: gl_List<ELTYPE *>::get_first
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    - gl_list_get_first
    linkageType: ''
    returnType: ELTYPE
    signature: ELTYPE * get_first () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:158,1
    - Dst: gl_list_get_last
      Src: /src/gnulib/lib/gl_list.hh:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: gl_List<ELTYPE *>::get_last
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    - gl_list_get_last
    linkageType: ''
    returnType: ELTYPE
    signature: ELTYPE * get_last () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_search
      Src: /src/gnulib/lib/gl_list.hh:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: gl_List<ELTYPE *>::search
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_search
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t search (ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_search_from
      Src: /src/gnulib/lib/gl_list.hh:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_index
    - elt
    argTypes:
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: gl_List<ELTYPE *>::search_from
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_search_from
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t search_from (size_t start_index, ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_search_from_to
      Src: /src/gnulib/lib/gl_list.hh:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_index
    - end_index
    - elt
    argTypes:
    - size_t
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: gl_List<ELTYPE *>::search_from_to
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_search_from_to
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t search_from_to (size_t start_index, size_t end_index,
      ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_indexof
      Src: /src/gnulib/lib/gl_list.hh:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: gl_List<ELTYPE *>::indexof
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_indexof
    linkageType: ''
    returnType: size_t
    signature: size_t indexof (ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_indexof_from
      Src: /src/gnulib/lib/gl_list.hh:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_index
    - elt
    argTypes:
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: gl_List<ELTYPE *>::indexof_from
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_indexof_from
    linkageType: ''
    returnType: size_t
    signature: size_t indexof_from (size_t start_index, ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_indexof_from_to
      Src: /src/gnulib/lib/gl_list.hh:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_index
    - end_index
    - elt
    argTypes:
    - size_t
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: gl_List<ELTYPE *>::indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_indexof_from_to
    linkageType: ''
    returnType: size_t
    signature: size_t indexof_from_to (size_t start_index, size_t end_index, ELTYPE
      * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_node_set_value
      Src: /src/gnulib/lib/gl_list.hh:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - elt
    argTypes:
    - gl_list_node_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: gl_List<ELTYPE *>::node_set_value
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_node_set_value
    linkageType: ''
    returnType: void
    signature: void node_set_value (gl_list_node_t node, ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_set_at
      Src: /src/gnulib/lib/gl_list.hh:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - position
    - elt
    argTypes:
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: gl_List<ELTYPE *>::set_at
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_set_at
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t set_at (size_t position, ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_set_first
      Src: /src/gnulib/lib/gl_list.hh:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: gl_List<ELTYPE *>::set_first
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_set_first
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t set_first (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_set_last
      Src: /src/gnulib/lib/gl_list.hh:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: gl_List<ELTYPE *>::set_last
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_set_last
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t set_last (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_add_first
      Src: /src/gnulib/lib/gl_list.hh:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: gl_List<ELTYPE *>::add_first
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_add_first
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t add_first (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_add_last
      Src: /src/gnulib/lib/gl_list.hh:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: gl_List<ELTYPE *>::add_last
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_add_last
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t add_last (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_add_before
      Src: /src/gnulib/lib/gl_list.hh:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - elt
    argTypes:
    - gl_list_node_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: gl_List<ELTYPE *>::add_before
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_add_before
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t add_before (gl_list_node_t node, ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_add_after
      Src: /src/gnulib/lib/gl_list.hh:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - elt
    argTypes:
    - gl_list_node_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: gl_List<ELTYPE *>::add_after
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_add_after
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t add_after (gl_list_node_t node, ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_add_at
      Src: /src/gnulib/lib/gl_list.hh:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - position
    - elt
    argTypes:
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: gl_List<ELTYPE *>::add_at
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_add_at
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t add_at (size_t position, ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/gl_list.hh:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: gl_List<ELTYPE *>::remove_node
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_remove_node
    linkageType: ''
    returnType: bool
    signature: bool remove_node (gl_list_node_t node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove_at
      Src: /src/gnulib/lib/gl_list.hh:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: gl_List<ELTYPE *>::remove_at
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_remove_at
    linkageType: ''
    returnType: bool
    signature: bool remove_at (size_t position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove_first
      Src: /src/gnulib/lib/gl_list.hh:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: gl_List<ELTYPE *>::remove_first
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_remove_first
    linkageType: ''
    returnType: bool
    signature: bool remove_first ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove_last
      Src: /src/gnulib/lib/gl_list.hh:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: gl_List<ELTYPE *>::remove_last
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_remove_last
    linkageType: ''
    returnType: bool
    signature: bool remove_last ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove
      Src: /src/gnulib/lib/gl_list.hh:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: gl_List<ELTYPE *>::remove
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_remove
    linkageType: ''
    returnType: bool
    signature: bool remove (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_free
      Src: /src/gnulib/lib/gl_list.hh:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: gl_List<ELTYPE *>::free
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_free
    linkageType: ''
    returnType: void
    signature: void free ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_search
      Src: /src/gnulib/lib/gl_list.hh:290,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: gl_List<ELTYPE *>::sortedlist_search
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_search
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t sortedlist_search (int (*compar) (ELTYPE * /*elt1*/,
      ELTYPE * /*elt2*/),\n                                    ELTYPE * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_search_from_to
      Src: /src/gnulib/lib/gl_list.hh:304,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_index
    - end_index
    - elt
    argTypes:
    - size_t
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: gl_List<ELTYPE *>::sortedlist_search_from_to
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_search_from_to
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t sortedlist_search_from_to (int (*compar) (ELTYPE *
      /*elt1*/, ELTYPE * /*elt2*/),\n                                            size_t
      start_index,\n                                            size_t end_index,\n
      \                                           ELTYPE * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_indexof
      Src: /src/gnulib/lib/gl_list.hh:313,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: gl_List<ELTYPE *>::sortedlist_indexof
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_indexof
    linkageType: ''
    returnType: size_t
    signature: "size_t sortedlist_indexof (int (*compar) (ELTYPE * /*elt1*/, ELTYPE
      * /*elt2*/),\n                             ELTYPE * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_indexof_from_to
      Src: /src/gnulib/lib/gl_list.hh:327,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_index
    - end_index
    - elt
    argTypes:
    - size_t
    - size_t
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: gl_List<ELTYPE *>::sortedlist_indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_indexof_from_to
    linkageType: ''
    returnType: size_t
    signature: "size_t sortedlist_indexof_from_to (int (*compar) (ELTYPE * /*elt1*/,
      ELTYPE * /*elt2*/),\n                                     size_t start_index,\n
      \                                    size_t end_index,\n                                     ELTYPE
      * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_add
      Src: /src/gnulib/lib/gl_list.hh:334,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: gl_List<ELTYPE *>::sortedlist_add
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_add
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t sortedlist_add (int (*compar) (ELTYPE * /*elt1*/, ELTYPE
      * /*elt2*/),\n                                 ELTYPE * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sortedlist_remove
      Src: /src/gnulib/lib/gl_list.hh:343,1
    - Dst: reinterpret_cast<gl_listelement_compar_fn>
      Src: /src/gnulib/lib/gl_list.hh:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: gl_List<ELTYPE *>::sortedlist_remove
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_listelement_compar_fn>
    - gl_sortedlist_remove
    linkageType: ''
    returnType: bool
    signature: "bool sortedlist_remove (int (*compar) (ELTYPE * /*elt1*/, ELTYPE *
      /*elt2*/),\n                          ELTYPE * elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' elt'
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: gl_List<ELTYPE *>::iterator::next
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    linkageType: ''
    returnType: bool
    signature: bool next (ELTYPE *& elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_list.hh:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' elt'
    - nodep
    argTypes:
    - ELTYPE*
    - gl_list_node_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: gl_List<ELTYPE *>::iterator::next
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    linkageType: ''
    returnType: bool
    signature: bool next (ELTYPE *& elt, gl_list_node_t *nodep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/lib/gl_list.hh:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: ~iterator ()
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_iterator_free
    linkageType: ''
    returnType: void
    signature: void ~iterator ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator
      Src: /src/gnulib/lib/gl_list.hh:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: gl_List<ELTYPE *>::iterator::iterator
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_iterator
    linkageType: ''
    returnType: void
    signature: void iterator (gl_list_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/lib/gl_list.hh:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ptr
    - start_index
    - end_index
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: gl_List<ELTYPE *>::iterator::iterator
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - gl_list_iterator_from_to
    linkageType: ''
    returnType: void
    signature: void iterator (gl_list_t ptr, size_t start_index, size_t end_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/gnulib/lib/gl_list.hh:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: gl_List<ELTYPE *>::begin
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/gnulib/lib/gl_list.hh:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - start_index
    - end_index
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: gl_List<ELTYPE *>::begin
    functionSourceFile: /src/gnulib/lib/gl_list.hh
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin (size_t start_index, size_t end_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/wchar.in.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 609
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 609
    functionName: mbszero
    functionSourceFile: /src/gnulib/lib/wchar.in.h
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: _GL_EXTERN_INLINE
    signature: _GL_EXTERN_INLINE mbszero (mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: safe_alloc_check
    functionSourceFile: /src/gnulib/lib/safe-alloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD safe_alloc_check (void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fp_read_flag
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:42,1
    - Dst: fpflag_to_exceptions
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - fp_read_flag
    - fpflag_to_exceptions
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:57,1
    - Dst: x86hardware_to_exceptions
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:58,1
    - Dst: _FPU_GETSTAT
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:63,1
    - Dst: CPU_HAS_SSE
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:66,1
    - Dst: _FPU_GETSSECW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:69,1
    - Dst: x86hardware_to_exceptions
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - CPU_HAS_SSE
    - _FPU_GETSTAT
    - x86hardware_to_exceptions
    - _FPU_GETSSECW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETFPSR
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETFPSR
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW_AS_DOUBLE
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW_AS_DOUBLE
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _FPU_GETCW
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - _FPU_GETCW
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fpgetsticky
      Src: /src/gnulib/lib/fenv-except-tracking-test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached:
    - fpgetsticky
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exceptions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: fetestexcept
    functionSourceFile: /src/gnulib/lib/fenv-except-tracking-test.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fetestexcept (int exceptions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/passfd.c:61,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/gnulib/lib/passfd.c:72,1
    - Dst: CMSG_LEN
      Src: /src/gnulib/lib/passfd.c:75,1
    - Dst: memcpy
      Src: /src/gnulib/lib/passfd.c:77,1
    - Dst: CMSG_DATA
      Src: /src/gnulib/lib/passfd.c:77,1
    - Dst: sendmsg
      Src: /src/gnulib/lib/passfd.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - sock
    - fd
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: sendfd
    functionSourceFile: /src/gnulib/lib/passfd.c
    functionUses: 1
    functionsReached:
    - sendmsg
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - memset
    - memcpy
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int sendfd (int sock, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sock
    - int
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: sendfd
    functionSourceFile: /src/gnulib/lib/passfd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sendfd (_GL_UNUSED int sock, _GL_UNUSED int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/passfd.c:128,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/gnulib/lib/passfd.c:139,1
    - Dst: CMSG_LEN
      Src: /src/gnulib/lib/passfd.c:142,1
    - Dst: memcpy
      Src: /src/gnulib/lib/passfd.c:144,1
    - Dst: CMSG_DATA
      Src: /src/gnulib/lib/passfd.c:144,1
    - Dst: CMSG_SPACE
      Src: /src/gnulib/lib/passfd.c:145,1
    - Dst: recvmsg
      Src: /src/gnulib/lib/passfd.c:147,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/gnulib/lib/passfd.c:156,1
    - Dst: CMSG_LEN
      Src: /src/gnulib/lib/passfd.c:158,1
    - Dst: memcpy
      Src: /src/gnulib/lib/passfd.c:165,1
    - Dst: CMSG_DATA
      Src: /src/gnulib/lib/passfd.c:165,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/lib/passfd.c:170,1
    - Dst: close
      Src: /src/gnulib/lib/passfd.c:173,1
    - Dst: recvmsg
      Src: /src/gnulib/lib/passfd.c:182,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/lib/passfd.c:188,1
    - Dst: close
      Src: /src/gnulib/lib/passfd.c:191,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - sock
    - flags
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 204
    functionName: recvfd
    functionSourceFile: /src/gnulib/lib/passfd.c
    functionUses: 1
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - close
    - recvmsg
    - memset
    - memcpy
    - CMSG_SPACE
    - set_cloexec_flag
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int recvfd (int sock, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sock
    - flags
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: recvfd
    functionSourceFile: /src/gnulib/lib/passfd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int recvfd (_GL_UNUSED int sock, _GL_UNUSED int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: wcsncpy
    functionSourceFile: /src/gnulib/lib/wcsncpy-impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcsncpy (wchar_t *dest, const wchar_t *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/wctrans-impl.h:26,1
    - Dst: strcmp
      Src: /src/gnulib/lib/wctrans-impl.h:30,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: wctrans
    functionSourceFile: /src/gnulib/lib/wctrans-impl.h
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: wctrans_t
    signature: wctrans_t wctrans (const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execve
      Src: /src/gnulib/lib/execvpe.c:52,1
    - Dst: free
      Src: /src/gnulib/lib/execvpe.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - program
    - argv
    - env
    argTypes:
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: execvpe
    functionSourceFile: /src/gnulib/lib/execvpe.c
    functionUses: 1
    functionsReached:
    - free
    - execve
    linkageType: ''
    returnType: int
    signature: int execvpe (const char *program, char * const *argv, char * const
      *env)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: __argmatch_die
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __argmatch_die (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/argmatch.c:88,1
    - Dst: strncmp
      Src: /src/gnulib/lib/argmatch.c:93,1
    - Dst: strlen
      Src: /src/gnulib/lib/argmatch.c:95,1
    - Dst: memcmp
      Src: /src/gnulib/lib/argmatch.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - arg
    - arglist
    - vallist
    - valsize
    argTypes:
    - char*
    - char**
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: argmatch
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - strncmp
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t argmatch (const char *arg, const char *const *arglist,\n
      \         const void *vallist, size_t valsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/argmatch.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - arglist
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: argmatch_exact
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t argmatch_exact (const char *arg, const char *const *arglist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/argmatch.c:148,1
    - Dst: quotearg_n_style
      Src: /src/gnulib/lib/argmatch.c:148,1
    - Dst: quote_n
      Src: /src/gnulib/lib/argmatch.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - value
    - problem
    argTypes:
    - char*
    - char*
    - ptrdiff_t
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 6
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: argmatch_invalid
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - error
    - quotearg_n_style
    - quote_n
    linkageType: ''
    returnType: void
    signature: void argmatch_invalid (const char *context, const char *value, ptrdiff_t
      problem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/gnulib/lib/argmatch.c:165,1
    - Dst: _
      Src: /src/gnulib/lib/argmatch.c:165,1
    - Dst: memcmp
      Src: /src/gnulib/lib/argmatch.c:168,1
    - Dst: fprintf
      Src: /src/gnulib/lib/argmatch.c:170,1
    - Dst: quote
      Src: /src/gnulib/lib/argmatch.c:170,1
    - Dst: fprintf
      Src: /src/gnulib/lib/argmatch.c:175,1
    - Dst: quote
      Src: /src/gnulib/lib/argmatch.c:175,1
    - Dst: putc
      Src: /src/gnulib/lib/argmatch.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - arglist
    - vallist
    - valsize
    argTypes:
    - char**
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: argmatch_valid
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - fputs
    - quote
    - memcmp
    - putc
    - _
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void argmatch_valid (const char *const *arglist,\n                const
      void *vallist, size_t valsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: argmatch
      Src: /src/gnulib/lib/argmatch.c:196,1
    - Dst: argmatch_exact
      Src: /src/gnulib/lib/argmatch.c:198,1
    - Dst: argmatch_invalid
      Src: /src/gnulib/lib/argmatch.c:205,1
    - Dst: argmatch_valid
      Src: /src/gnulib/lib/argmatch.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - context
    - arg
    - arglist
    - vallist
    - valsize
    - exit_fn
    - allow_abbreviation
    argTypes:
    - char*
    - char*
    - char**
    - void*
    - size_t
    - argmatch_exit_fn
    - bool
    constantsTouched: []
    func_position:
      end: 210
      start: 186
    functionDepth: 8
    functionLinenumber: 186
    functionLinenumberEnd: 210
    functionName: __xargmatch_internal
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - argmatch_invalid
    - argmatch_exact
    - argmatch_valid
    - argmatch
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t __xargmatch_internal (const char *context,\n                      const
      char *arg, const char *const *arglist,\n                      const void *vallist,
      size_t valsize,\n                      argmatch_exit_fn exit_fn,\n                      bool
      allow_abbreviation)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/argmatch.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - value
    - arglist
    - vallist
    - valsize
    argTypes:
    - void*
    - char**
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: argmatch_to_argument
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *\nargmatch_to_argument (const void *value,\n                      const
      char *const *arglist,\n                      const void *vallist, size_t valsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/argmatch.c:276,1
    - Dst: getprogname
      Src: /src/gnulib/lib/argmatch.c:276,1
    - Dst: exit
      Src: /src/gnulib/lib/argmatch.c:277,1
    - Dst: getenv
      Src: /src/gnulib/lib/argmatch.c:280,1
    - Dst: XARGMATCH
      Src: /src/gnulib/lib/argmatch.c:281,1
    - Dst: XARGMATCH
      Src: /src/gnulib/lib/argmatch.c:285,1
    - Dst: getprogname
      Src: /src/gnulib/lib/argmatch.c:285,1
    - Dst: printf
      Src: /src/gnulib/lib/argmatch.c:288,1
    - Dst: ARGMATCH_TO_ARGUMENT
      Src: /src/gnulib/lib/argmatch.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/gnulib/lib/argmatch.c
    functionUses: 12
    functionsReached:
    - exit
    - ARGMATCH_TO_ARGUMENT
    - getprogname
    - getenv
    - printf
    - fprintf
    - XARGMATCH
    linkageType: ''
    returnType: int
    signature: int main (int argc, const char *const *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lock_lock
      Src: /src/gnulib/lib/random.c:227,1
    - Dst: __srandom_r
      Src: /src/gnulib/lib/random.c:228,1
    - Dst: __libc_lock_unlock
      Src: /src/gnulib/lib/random.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: __srandom
    functionSourceFile: /src/gnulib/lib/random.c
    functionUses: 0
    functionsReached:
    - __libc_lock_lock
    - __libc_lock_unlock
    - __srandom_r
    linkageType: ''
    returnType: void
    signature: void __srandom (unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lock_lock
      Src: /src/gnulib/lib/random.c:252,1
    - Dst: __initstate_r
      Src: /src/gnulib/lib/random.c:256,1
    - Dst: __libc_lock_unlock
      Src: /src/gnulib/lib/random.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - seed
    - arg_state
    - n
    argTypes:
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: __initstate
    functionSourceFile: /src/gnulib/lib/random.c
    functionUses: 0
    functionsReached:
    - __libc_lock_lock
    - __initstate_r
    - __libc_lock_unlock
    linkageType: ''
    returnType: char
    signature: 'char *

      __initstate (unsigned int seed, char *arg_state, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lock_lock
      Src: /src/gnulib/lib/random.c:278,1
    - Dst: __setstate_r
      Src: /src/gnulib/lib/random.c:282,1
    - Dst: __libc_lock_unlock
      Src: /src/gnulib/lib/random.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg_state
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: __setstate
    functionSourceFile: /src/gnulib/lib/random.c
    functionUses: 0
    functionsReached:
    - __libc_lock_lock
    - __setstate_r
    - __libc_lock_unlock
    linkageType: ''
    returnType: char
    signature: 'char *

      __setstate (char *arg_state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lock_lock
      Src: /src/gnulib/lib/random.c:308,1
    - Dst: __random_r
      Src: /src/gnulib/lib/random.c:310,1
    - Dst: __libc_lock_unlock
      Src: /src/gnulib/lib/random.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: __random
    functionSourceFile: /src/gnulib/lib/random.c
    functionUses: 0
    functionsReached:
    - __libc_lock_lock
    - __random_r
    - __libc_lock_unlock
    linkageType: ''
    returnType: long int
    signature: long int __random (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: pusharg
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pusharg (int arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: pushnum
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pushnum (int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/gnulib/lib/tparm.c:93,1
    - Dst: va_arg
      Src: /src/gnulib/lib/tparm.c:108,1
    - Dst: va_arg
      Src: /src/gnulib/lib/tparm.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - argnum
    - type
    - p
    argTypes:
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: getarg
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int getarg (int argnum, int type, void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: popstring
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached:
    - getarg
    linkageType: ''
    returnType: int
    signature: int popstring (char **str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - num
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: popnum
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached:
    - getarg
    linkageType: ''
    returnType: int
    signature: int popnum (int *num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - sp
    - c
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: cvtchar
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cvtchar (const char *sp, char *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/tparm.c:270,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:327,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:327,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:330,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:340,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:357,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:369,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:374,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:401,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:412,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:424,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:424,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:427,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:438,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:444,1
    - Dst: popstring
      Src: /src/gnulib/lib/tparm.c:499,1
    - Dst: sprintf
      Src: /src/gnulib/lib/tparm.c:501,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:508,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:512,1
    - Dst: strcpy
      Src: /src/gnulib/lib/tparm.c:515,1
    - Dst: sprintf
      Src: /src/gnulib/lib/tparm.c:517,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:532,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:542,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:552,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:563,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:563,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:566,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:573,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:577,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:580,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:584,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:592,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:601,1
    - Dst: pusharg
      Src: /src/gnulib/lib/tparm.c:616,1
    - Dst: pusharg
      Src: /src/gnulib/lib/tparm.c:652,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:656,1
    - Dst: cvtchar
      Src: /src/gnulib/lib/tparm.c:669,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:670,1
    - Dst: c_isdigit
      Src: /src/gnulib/lib/tparm.c:682,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:684,1
    - Dst: popstring
      Src: /src/gnulib/lib/tparm.c:693,1
    - Dst: strlen
      Src: /src/gnulib/lib/tparm.c:695,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:696,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:704,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:704,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:707,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:715,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:715,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:718,1
    - Dst: getarg
      Src: /src/gnulib/lib/tparm.c:727,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:736,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:736,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:739,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:747,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:747,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:750,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:758,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:758,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:761,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:769,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:769,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:772,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:780,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:780,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:783,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:791,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:791,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:794,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:802,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:802,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:805,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:813,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:813,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:816,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:824,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:827,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:835,1
    - Dst: pushnum
      Src: /src/gnulib/lib/tparm.c:838,1
    - Dst: popnum
      Src: /src/gnulib/lib/tparm.c:853,1
    - Dst: va_end
      Src: /src/gnulib/lib/tparm.c:895,1
    CyclomaticComplexity: 220
    EdgeCount: 220
    ICount: 523
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 898
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 898
    functionName: tparm
    functionSourceFile: /src/gnulib/lib/tparm.c
    functionUses: 0
    functionsReached:
    - pusharg
    - strlen
    - strcpy
    - getarg
    - popstring
    - va_start
    - popnum
    - va_end
    - sprintf
    - pushnum
    - c_isdigit
    - cvtchar
    linkageType: ''
    returnType: char
    signature: 'char *

      tparm (const char *str, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/snzprintf.c:39,1
    - Dst: vasnprintf
      Src: /src/gnulib/lib/snzprintf.c:40,1
    - Dst: va_end
      Src: /src/gnulib/lib/snzprintf.c:42,1
    - Dst: memcpy
      Src: /src/gnulib/lib/snzprintf.c:52,1
    - Dst: free
      Src: /src/gnulib/lib/snzprintf.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: snzprintf
    functionSourceFile: /src/gnulib/lib/snzprintf.c
    functionUses: 3
    functionsReached:
    - free
    - va_start
    - va_end
    - memcpy
    - vasnprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t snzprintf (char *str, size_t size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:241,1
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:274,1
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:328,1
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:367,1
    - Dst: MIN
      Src: /src/gnulib/lib/diffseq.h:395,1
    - Dst: MAX
      Src: /src/gnulib/lib/diffseq.h:413,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 119
    argCount: 7
    argNames:
    - xoff
    - xlim
    - yoff
    - ylim
    - find_minimal
    - part
    - ctxt
    argTypes:
    - OFFSET
    - OFFSET
    - OFFSET
    - OFFSET
    - bool
    - struct partition*
    - struct context*
    constantsTouched: []
    func_position:
      end: 446
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 446
    functionName: diag
    functionSourceFile: /src/gnulib/lib/diffseq.h
    functionUses: 55
    functionsReached:
    - XREF_YREF_EQUAL
    - MAX
    - MIN
    linkageType: ''
    returnType: void
    signature: "void diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool
      find_minimal,\n      struct partition *part, struct context *ctxt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:480,1
    - Dst: XREF_YREF_EQUAL
      Src: /src/gnulib/lib/diffseq.h:487,1
    - Dst: NOTE_INSERT
      Src: /src/gnulib/lib/diffseq.h:498,1
    - Dst: EARLY_ABORT
      Src: /src/gnulib/lib/diffseq.h:499,1
    - Dst: NOTE_DELETE
      Src: /src/gnulib/lib/diffseq.h:509,1
    - Dst: EARLY_ABORT
      Src: /src/gnulib/lib/diffseq.h:510,1
    - Dst: diag
      Src: /src/gnulib/lib/diffseq.h:520,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 6
    argNames:
    - xoff
    - xlim
    - yoff
    - ylim
    - find_minimal
    - ctxt
    argTypes:
    - OFFSET
    - OFFSET
    - OFFSET
    - OFFSET
    - bool
    - struct context*
    constantsTouched: []
    func_position:
      end: 564
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 564
    functionName: compareseq
    functionSourceFile: /src/gnulib/lib/diffseq.h
    functionUses: 0
    functionsReached:
    - diag
    - EARLY_ABORT
    - NOTE_INSERT
    - NOTE_DELETE
    - XREF_YREF_EQUAL
    linkageType: ''
    returnType: bool
    signature: "bool compareseq (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim,\n
      \           bool find_minimal, struct context *ctxt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_get_fd
      Src: /src/gnulib/lib/acl-internal.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: rpl_acl_get_fd
    functionSourceFile: /src/gnulib/lib/acl-internal.h
    functionUses: 0
    functionsReached:
    - acl_get_fd
    linkageType: ''
    returnType: ACL_INTERNAL_INLINE
    signature: ACL_INTERNAL_INLINE rpl_acl_get_fd (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_set_fd
      Src: /src/gnulib/lib/acl-internal.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - acl
    argTypes:
    - int
    - acl_t
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: rpl_acl_set_fd
    functionSourceFile: /src/gnulib/lib/acl-internal.h
    functionUses: 0
    functionsReached:
    - acl_set_fd
    linkageType: ''
    returnType: ACL_INTERNAL_INLINE
    signature: ACL_INTERNAL_INLINE rpl_acl_set_fd (int fd, acl_t acl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/shutdown.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/shutdown.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - how
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_shutdown
    functionSourceFile: /src/gnulib/lib/shutdown.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: int
    signature: int rpl_shutdown (int fd, int how)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wmemcpy
      Src: /src/gnulib/lib/wmempcpy.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: wmempcpy
    functionSourceFile: /src/gnulib/lib/wmempcpy.c
    functionUses: 0
    functionsReached:
    - wmemcpy
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wmempcpy (wchar_t *dest, const wchar_t *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/gnulib/lib/textstyle.in.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - data
    - len
    argTypes:
    - ostream_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ostream_write_mem
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: void ostream_write_mem (ostream_t stream, const void *data, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnulib/lib/textstyle.in.h:109,1
    - Dst: fsync
      Src: /src/gnulib/lib/textstyle.in.h:116,1
    - Dst: tcdrain
      Src: /src/gnulib/lib/textstyle.in.h:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - scope
    argTypes:
    - ostream_t
    - ostream_flush_scope_t
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: ostream_flush
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fsync
    - tcdrain
    - fflush
    linkageType: ''
    returnType: void
    signature: void ostream_flush (ostream_t stream, ostream_flush_scope_t scope)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnulib/lib/textstyle.in.h:135,1
    - Dst: fclose
      Src: /src/gnulib/lib/textstyle.in.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - ostream_t
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: ostream_free
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached:
    - fflush
    - fclose
    linkageType: ''
    returnType: void
    signature: void ostream_free (ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ostream_write_mem
      Src: /src/gnulib/lib/textstyle.in.h:143,1
    - Dst: strlen
      Src: /src/gnulib/lib/textstyle.in.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - string
    argTypes:
    - ostream_t
    - char*
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: ostream_write_str
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached:
    - ostream_write_mem
    - strlen
    linkageType: ''
    returnType: void
    signature: void ostream_write_str (ostream_t stream, const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/textstyle.in.h:159,1
    - Dst: vasprintf
      Src: /src/gnulib/lib/textstyle.in.h:160,1
    - Dst: va_end
      Src: /src/gnulib/lib/textstyle.in.h:161,1
    - Dst: ostream_write_str
      Src: /src/gnulib/lib/textstyle.in.h:165,1
    - Dst: free
      Src: /src/gnulib/lib/textstyle.in.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - format
    argTypes:
    - ostream_t
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: ostream_printf
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - ostream_write_str
    - free
    - va_start
    - va_end
    - vasprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t ostream_printf (ostream_t stream, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ostream_write_str
      Src: /src/gnulib/lib/textstyle.in.h:185,1
    - Dst: free
      Src: /src/gnulib/lib/textstyle.in.h:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - format
    - args
    argTypes:
    - ostream_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: ostream_vprintf
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - free
    - ostream_write_str
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t ostream_vprintf (ostream_t stream, const char *format, va_list
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - styled_ostream_t
    - classname
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: styled_ostream_begin_use_class
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void styled_ostream_begin_use_class (_GL_ATTRIBUTE_MAYBE_UNUSED styled_ostream_t
      stream,\n                                _GL_ATTRIBUTE_MAYBE_UNUSED const char
      *classname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - styled_ostream_t
    - classname
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: styled_ostream_end_use_class
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void styled_ostream_end_use_class (_GL_ATTRIBUTE_MAYBE_UNUSED styled_ostream_t
      stream,\n                              _GL_ATTRIBUTE_MAYBE_UNUSED const char
      *classname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: styled_ostream_get_hyperlink_ref
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      styled_ostream_get_hyperlink_ref (_GL_ATTRIBUTE_MAYBE_UNUSED styled_ostream_t
      stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: styled_ostream_get_hyperlink_id
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      styled_ostream_get_hyperlink_id (_GL_ATTRIBUTE_MAYBE_UNUSED styled_ostream_t
      stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - styled_ostream_t
    - ref
    - id
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: styled_ostream_set_hyperlink
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void styled_ostream_set_hyperlink (_GL_ATTRIBUTE_MAYBE_UNUSED styled_ostream_t
      stream,\n                              _GL_ATTRIBUTE_MAYBE_UNUSED const char
      *ref,\n                              _GL_ATTRIBUTE_MAYBE_UNUSED const char *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: styled_ostream_flush_to_current_style
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void styled_ostream_flush_to_current_style (_GL_ATTRIBUTE_MAYBE_UNUSED
      styled_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: is_instance_of_styled_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_styled_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - file_ostream_t
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: file_ostream_get_stdio_stream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      file_ostream_get_stdio_stream (file_ostream_t stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: file_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: file_ostream_t
    signature: file_ostream_t file_ostream_create (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: is_instance_of_file_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_file_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/gnulib/lib/textstyle.in.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - fd_ostream_t
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: fd_ostream_get_descriptor
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int fd_ostream_get_descriptor (fd_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: fd_ostream_get_filename
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      fd_ostream_get_filename (_GL_ATTRIBUTE_MAYBE_UNUSED fd_ostream_t stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: fd_ostream_is_buffered
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fd_ostream_is_buffered (_GL_ATTRIBUTE_MAYBE_UNUSED fd_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/gnulib/lib/textstyle.in.h:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - filename
    - buffered
    argTypes:
    - int
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: fd_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fdopen
    linkageType: ''
    returnType: fd_ostream_t
    signature: "fd_ostream_t fd_ostream_create (int fd, _GL_ATTRIBUTE_MAYBE_UNUSED
      const char *filename,\n                   _GL_ATTRIBUTE_MAYBE_UNUSED bool buffered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/gnulib/lib/textstyle.in.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - ostream_t
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: is_instance_of_fd_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_fd_ostream (ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - term_ostream_t
    - int
    - green
    - blue
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: term_ostream_rgb_to_color
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_color_t
    signature: "term_color_t term_ostream_rgb_to_color (_GL_ATTRIBUTE_MAYBE_UNUSED
      term_ostream_t stream,\n                           _GL_ATTRIBUTE_MAYBE_UNUSED
      int red,\n                           _GL_ATTRIBUTE_MAYBE_UNUSED int green,\n
      \                          _GL_ATTRIBUTE_MAYBE_UNUSED int blue)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: term_ostream_get_color
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_color_t
    signature: term_color_t term_ostream_get_color (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - term_ostream_t
    - term_color_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: term_ostream_set_color
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_color (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                        _GL_ATTRIBUTE_MAYBE_UNUSED term_color_t color)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: term_ostream_get_bgcolor
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_color_t
    signature: term_color_t term_ostream_get_bgcolor (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - term_ostream_t
    - term_color_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: term_ostream_set_bgcolor
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_bgcolor (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                          _GL_ATTRIBUTE_MAYBE_UNUSED term_color_t color)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: term_ostream_get_weight
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_weight_t
    signature: term_weight_t term_ostream_get_weight (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - term_ostream_t
    - term_weight_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: term_ostream_set_weight
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_weight (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                         _GL_ATTRIBUTE_MAYBE_UNUSED term_weight_t weight)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: term_ostream_get_posture
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_posture_t
    signature: term_posture_t term_ostream_get_posture (_GL_ATTRIBUTE_MAYBE_UNUSED
      term_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - term_ostream_t
    - term_posture_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: term_ostream_set_posture
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_posture (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                          _GL_ATTRIBUTE_MAYBE_UNUSED term_posture_t
      posture)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: term_ostream_get_underline
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_underline_t
    signature: term_underline_t term_ostream_get_underline (_GL_ATTRIBUTE_MAYBE_UNUSED
      term_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - term_ostream_t
    - term_underline_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: term_ostream_set_underline
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_underline (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                            _GL_ATTRIBUTE_MAYBE_UNUSED term_underline_t
      underline)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: term_ostream_get_hyperlink_ref
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      term_ostream_get_hyperlink_ref (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: term_ostream_get_hyperlink_id
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      term_ostream_get_hyperlink_id (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - term_ostream_t
    - ref
    - id
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: term_ostream_set_hyperlink
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void term_ostream_set_hyperlink (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream,\n                            _GL_ATTRIBUTE_MAYBE_UNUSED const char *ref,\n
      \                           _GL_ATTRIBUTE_MAYBE_UNUSED const char *id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/gnulib/lib/textstyle.in.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - term_ostream_t
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: term_ostream_flush_to_current_style
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: void
    signature: void term_ostream_flush_to_current_style (term_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: term_ostream_get_tty_control
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ttyctl_t
    signature: ttyctl_t term_ostream_get_tty_control (_GL_ATTRIBUTE_MAYBE_UNUSED term_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: term_ostream_get_effective_tty_control
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ttyctl_t
    signature: ttyctl_t term_ostream_get_effective_tty_control (_GL_ATTRIBUTE_MAYBE_UNUSED
      term_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_ostream_create
      Src: /src/gnulib/lib/textstyle.in.h:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - filename
    - tty_control
    argTypes:
    - int
    - char*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: term_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fd_ostream_create
    linkageType: ''
    returnType: term_ostream_t
    signature: "term_ostream_t term_ostream_create (int fd, const char *filename,\n
      \                    _GL_ATTRIBUTE_MAYBE_UNUSED ttyctl_t tty_control)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - memory_ostream_t
    - bufp
    - buflenp
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: memory_ostream_contents
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void memory_ostream_contents (_GL_ATTRIBUTE_MAYBE_UNUSED memory_ostream_t
      stream,\n                         const void **bufp, size_t *buflenp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/textstyle.in.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: memory_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: memory_ostream_t
    signature: memory_ostream_t memory_ostream_create (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: is_instance_of_memory_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_memory_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - html_ostream_t
    - classname
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: html_ostream_begin_span
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void html_ostream_begin_span (_GL_ATTRIBUTE_MAYBE_UNUSED html_ostream_t
      stream,\n                         _GL_ATTRIBUTE_MAYBE_UNUSED const char *classname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - html_ostream_t
    - classname
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: html_ostream_end_span
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void html_ostream_end_span (_GL_ATTRIBUTE_MAYBE_UNUSED html_ostream_t
      stream,\n                       _GL_ATTRIBUTE_MAYBE_UNUSED const char *classname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - html_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: html_ostream_get_hyperlink_ref
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      html_ostream_get_hyperlink_ref (_GL_ATTRIBUTE_MAYBE_UNUSED html_ostream_t stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - html_ostream_t
    - ref
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: html_ostream_set_hyperlink_ref
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void html_ostream_set_hyperlink_ref (_GL_ATTRIBUTE_MAYBE_UNUSED html_ostream_t
      stream,\n                                _GL_ATTRIBUTE_MAYBE_UNUSED const char
      *ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - html_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: html_ostream_flush_to_current_style
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void html_ostream_flush_to_current_style (_GL_ATTRIBUTE_MAYBE_UNUSED
      html_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - html_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: html_ostream_get_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ostream_t
    signature: ostream_t html_ostream_get_destination (_GL_ATTRIBUTE_MAYBE_UNUSED
      html_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/textstyle.in.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - destination
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: html_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: html_ostream_t
    signature: html_ostream_t html_ostream_create (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t
      destination)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: is_instance_of_html_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_html_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - term_styled_ostream_t
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: term_styled_ostream_get_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: term_ostream_t
    signature: term_ostream_t term_styled_ostream_get_destination (term_styled_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - term_styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: term_styled_ostream_get_css_filename
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      term_styled_ostream_get_css_filename (_GL_ATTRIBUTE_MAYBE_UNUSED term_styled_ostream_t
      stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_ostream_create
      Src: /src/gnulib/lib/textstyle.in.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - filename
    - tty_control
    - css_filename
    argTypes:
    - int
    - char*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: term_styled_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - fd_ostream_create
    linkageType: ''
    returnType: term_styled_ostream_t
    signature: "term_styled_ostream_t term_styled_ostream_create (int fd, const char
      *filename,\n                            _GL_ATTRIBUTE_MAYBE_UNUSED ttyctl_t
      tty_control,\n                            _GL_ATTRIBUTE_MAYBE_UNUSED const char
      *css_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - html_styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: html_styled_ostream_get_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ostream_t
    signature: ostream_t html_styled_ostream_get_destination (_GL_ATTRIBUTE_MAYBE_UNUSED
      html_styled_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - html_styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: html_styled_ostream_get_html_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: html_ostream_t
    signature: html_ostream_t html_styled_ostream_get_html_destination (_GL_ATTRIBUTE_MAYBE_UNUSED
      html_styled_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - html_styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: html_styled_ostream_get_css_filename
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      html_styled_ostream_get_css_filename (_GL_ATTRIBUTE_MAYBE_UNUSED html_styled_ostream_t
      stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/textstyle.in.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - destination
    - css_filename
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: html_styled_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: html_styled_ostream_t
    signature: "html_styled_ostream_t html_styled_ostream_create (_GL_ATTRIBUTE_MAYBE_UNUSED
      ostream_t destination,\n                            _GL_ATTRIBUTE_MAYBE_UNUSED
      const char *css_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: is_instance_of_html_styled_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_html_styled_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED
      ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - noop_styled_ostream_t
    constantsTouched: []
    func_position:
      end: 668
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 668
    functionName: noop_styled_ostream_get_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ostream_t
    signature: ostream_t noop_styled_ostream_get_destination (noop_styled_ostream_t
      stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - noop_styled_ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: noop_styled_ostream_is_owning_destination
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool noop_styled_ostream_is_owning_destination (_GL_ATTRIBUTE_MAYBE_UNUSED
      noop_styled_ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/textstyle.in.h:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - destination
    - pass_ownership
    argTypes:
    - ostream_t
    - bool
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: noop_styled_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: noop_styled_ostream_t
    signature: noop_styled_ostream_t noop_styled_ostream_create (ostream_t destination,
      bool pass_ownership)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostream_t
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 689
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: is_instance_of_noop_styled_ostream
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_instance_of_noop_styled_ostream (_GL_ATTRIBUTE_MAYBE_UNUSED
      ostream_t stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: handle_color_option
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool handle_color_option (_GL_ATTRIBUTE_MAYBE_UNUSED const char *option)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - option
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 709
    functionName: handle_style_option
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_style_option (_GL_ATTRIBUTE_MAYBE_UNUSED const char *option)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/textstyle.in.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: print_color_test
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void print_color_test (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - style_file_envvar
    - stylesdir_envvar
    - stylesdir_after_install
    - default_style_file
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: style_file_prepare
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void style_file_prepare (_GL_ATTRIBUTE_MAYBE_UNUSED const char *style_file_envvar,\n
      \                   _GL_ATTRIBUTE_MAYBE_UNUSED const char *stylesdir_envvar,\n
      \                   _GL_ATTRIBUTE_MAYBE_UNUSED const char *stylesdir_after_install,\n
      \                   _GL_ATTRIBUTE_MAYBE_UNUSED const char *default_style_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_ostream_create
      Src: /src/gnulib/lib/textstyle.in.h:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - filename
    - tty_control
    - css_filename
    argTypes:
    - int
    - char*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: styled_ostream_create
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 1
    functionsReached:
    - fd_ostream_create
    linkageType: ''
    returnType: styled_ostream_t
    signature: "styled_ostream_t styled_ostream_create (int fd, const char *filename,\n
      \                      _GL_ATTRIBUTE_MAYBE_UNUSED ttyctl_t tty_control,\n                       _GL_ATTRIBUTE_MAYBE_UNUSED
      const char *css_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exit_code
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: libtextstyle_set_failure_exit_code
    functionSourceFile: /src/gnulib/lib/textstyle.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libtextstyle_set_failure_exit_code (_GL_ATTRIBUTE_MAYBE_UNUSED
      int exit_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/strerror_r.c:109,1
    - Dst: _vsnprintf
      Src: /src/gnulib/lib/strerror_r.c:110,1
    - Dst: va_end
      Src: /src/gnulib/lib/strerror_r.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - buflen
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: local_snprintf
    functionSourceFile: /src/gnulib/lib/strerror_r.c
    functionUses: 0
    functionsReached:
    - va_start
    - _vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int local_snprintf (char *buf, size_t buflen, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnulib/lib/strerror_r.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - buflen
    - msg
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: safe_copy
    functionSourceFile: /src/gnulib/lib/strerror_r.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: int safe_copy (char *buf, size_t buflen, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/lib/socket.c:40,1
    - Dst: WSASocket
      Src: /src/gnulib/lib/socket.c:44,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/socket.c:48,1
    - Dst: SOCKET_TO_FD
      Src: /src/gnulib/lib/socket.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: rpl_socket
    functionSourceFile: /src/gnulib/lib/socket.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - gl_sockets_startup
    - SOCKET_TO_FD
    - WSASocket
    linkageType: ''
    returnType: int
    signature: int rpl_socket (int domain, int type, int protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/c-snprintf.c:35,1
    - Dst: c_vsnzprintf
      Src: /src/gnulib/lib/c-snprintf.c:36,1
    - Dst: va_end
      Src: /src/gnulib/lib/c-snprintf.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: c_snprintf
    functionSourceFile: /src/gnulib/lib/c-snprintf.c
    functionUses: 2
    functionsReached:
    - va_start
    - c_vsnzprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int c_snprintf (char *str, size_t size, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - pthread_attr_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pthread_attr_init
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_attr_init (pthread_attr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - detachstatep
    argTypes:
    - pthread_attr_t*
    - int*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pthread_attr_getdetachstate
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstatep)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - detachstate
    argTypes:
    - pthread_attr_t*
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pthread_attr_setdetachstate
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread_attr_t *attr
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pthread_attr_destroy
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_attr_destroy (_GL_UNUSED pthread_attr_t *attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_create
      Src: /src/gnulib/lib/pthread-thread.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - threadp
    - attr
    - mainfunc
    - arg
    argTypes:
    - pthread_t*
    - pthread_attr_t*
    - pthread_main_function_t
    - void*
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: pthread_create
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 29
    functionsReached:
    - glwthread_thread_create
    linkageType: ''
    returnType: int
    signature: "int pthread_create (pthread_t *threadp, const pthread_attr_t *attr,\n
      \               pthread_main_function_t mainfunc, void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_self
      Src: /src/gnulib/lib/pthread-thread.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: pthread_self
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 6
    functionsReached:
    - glwthread_thread_self
    linkageType: ''
    returnType: pthread_t
    signature: pthread_t pthread_self (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread1
    - thread2
    argTypes:
    - pthread_t
    - pthread_t
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: pthread_equal
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_equal (pthread_t thread1, pthread_t thread2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_detach
      Src: /src/gnulib/lib/pthread-thread.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - pthread_t
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: pthread_detach
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 0
    functionsReached:
    - glwthread_thread_detach
    linkageType: ''
    returnType: int
    signature: int pthread_detach (pthread_t thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_join
      Src: /src/gnulib/lib/pthread-thread.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread
    - valuep
    argTypes:
    - pthread_t
    - void**
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: pthread_join
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 36
    functionsReached:
    - glwthread_thread_join
    linkageType: ''
    returnType: int
    signature: int pthread_join (pthread_t thread, void **valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_thread_exit
      Src: /src/gnulib/lib/pthread-thread.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: pthread_exit
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 7
    functionsReached:
    - glwthread_thread_exit
    linkageType: ''
    returnType: void
    signature: void pthread_exit (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - threadp
    - attr
    - mainfunc
    - arg
    argTypes:
    - pthread_t*
    - pthread_attr_t*
    - pthread_main_function_t
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: pthread_create
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pthread_create (pthread_t *threadp, const pthread_attr_t *attr,\n
      \               pthread_main_function_t mainfunc, void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: pthread_self
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: pthread_t
    signature: pthread_t pthread_self (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread1
    - thread2
    argTypes:
    - pthread_t
    - pthread_t
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: pthread_equal
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_equal (pthread_t thread1, pthread_t thread2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - pthread_t
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: pthread_detach
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_detach (pthread_t thread)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread
    - valuep
    argTypes:
    - pthread_t
    - void**
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: pthread_join
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pthread_join (pthread_t thread, void **valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/gnulib/lib/pthread-thread.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: pthread_exit
    functionSourceFile: /src/gnulib/lib/pthread-thread.c
    functionUses: 7
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void pthread_exit (void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __spawni
      Src: /src/gnulib/lib/spawn.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pid
    - path
    - file_actions
    - attrp
    - argv
    - envp
    argTypes:
    - pid_t*
    - char*
    - posix_spawn_file_actions_t*
    - posix_spawnattr_t*
    - char*[]
    - char*[]
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: posix_spawn
    functionSourceFile: /src/gnulib/lib/spawn.c
    functionUses: 4
    functionsReached:
    - __spawni
    linkageType: ''
    returnType: int
    signature: "int posix_spawn (pid_t *pid, const char *path,\n             const
      posix_spawn_file_actions_t *file_actions,\n             const posix_spawnattr_t
      *attrp, char *const argv[],\n             char *const envp[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_once
      Src: /src/gnulib/lib/call_once.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flagp
    argTypes:
    - once_flag*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: call_once
    functionSourceFile: /src/gnulib/lib/call_once.c
    functionUses: 4
    functionsReached:
    - glwthread_once
    linkageType: ''
    returnType: void
    signature: void call_once (once_flag *flagp, void (*func) (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/gnulib/lib/call_once.c:59,1
    - Dst: pthread_once
      Src: /src/gnulib/lib/call_once.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flagp
    argTypes:
    - once_flag*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: call_once
    functionSourceFile: /src/gnulib/lib/call_once.c
    functionUses: 4
    functionsReached:
    - pthread_once
    linkageType: ''
    returnType: void
    signature: void call_once (once_flag *flagp, void (*func) (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnulib/lib/getusershell.c:87,1
    - Dst: fopen
      Src: /src/gnulib/lib/getusershell.c:93,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/getusershell.c:98,1
    - Dst: isspace
      Src: /src/gnulib/lib/getusershell.c:131,1
    - Dst: isspace
      Src: /src/gnulib/lib/getusershell.c:134,1
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/getusershell.c:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 142
    functionName: getusershell
    functionSourceFile: /src/gnulib/lib/getusershell.c
    functionUses: 2
    functionsReached:
    - fopen
    - IS_ABSOLUTE_FILE_NAME
    - isspace
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      getusershell (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/gnulib/lib/getusershell.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: setusershell
    functionSourceFile: /src/gnulib/lib/getusershell.c
    functionUses: 1
    functionsReached:
    - rewind
    linkageType: ''
    returnType: void
    signature: void setusershell (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/gnulib/lib/getusershell.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: endusershell
    functionSourceFile: /src/gnulib/lib/getusershell.c
    functionUses: 1
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void endusershell (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getusershell
      Src: /src/gnulib/lib/getusershell.c:172,1
    - Dst: puts
      Src: /src/gnulib/lib/getusershell.c:173,1
    - Dst: exit
      Src: /src/gnulib/lib/getusershell.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/gnulib/lib/getusershell.c
    functionUses: 12
    functionsReached:
    - exit
    - getusershell
    - puts
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnulib/lib/careadlinkat.c:79,1
    - Dst: MIN
      Src: /src/gnulib/lib/careadlinkat.c:79,1
    - Dst: MIN
      Src: /src/gnulib/lib/careadlinkat.c:80,1
    - Dst: preadlinkat
      Src: /src/gnulib/lib/careadlinkat.c:85,1
    - Dst: struct allocator*::free
      Src: /src/gnulib/lib/careadlinkat.c:91,1
    - Dst: memcpy
      Src: /src/gnulib/lib/careadlinkat.c:109,1
    - Dst: struct allocator*::free
      Src: /src/gnulib/lib/careadlinkat.c:124,1
    - Dst: struct allocator*::allocate
      Src: /src/gnulib/lib/careadlinkat.c:133,1
    - Dst: struct allocator*::die
      Src: /src/gnulib/lib/careadlinkat.c:137,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 6
    argNames:
    - fd
    - filename
    - buffer
    - buffer_size
    - alloc
    - stack_buf
    argTypes:
    - int
    - char*
    - char*
    - size_t
    - struct allocator*
    - char[]
    constantsTouched: []
    func_position:
      end: 140
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 140
    functionName: readlink_stk
    functionSourceFile: /src/gnulib/lib/careadlinkat.c
    functionUses: 0
    functionsReached:
    - struct allocator*::die
    - preadlinkat
    - MIN
    - memcpy
    - struct allocator*::allocate
    - struct allocator*::free
    linkageType: ''
    returnType: char
    signature: "char *\nreadlink_stk (int fd, char const *filename,\n              char
      *buffer, size_t buffer_size,\n              struct allocator const *alloc,\n
      \             ssize_t (*preadlinkat) (int, char const *, char *, size_t),\n
      \             char stack_buf[STACK_BUF_SIZE])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readlink_stk
      Src: /src/gnulib/lib/careadlinkat.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fd
    - filename
    - buffer
    - buffer_size
    - alloc
    argTypes:
    - int
    - char*
    - char*
    - size_t
    - struct allocator*
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: careadlinkat
    functionSourceFile: /src/gnulib/lib/careadlinkat.c
    functionUses: 0
    functionsReached:
    - readlink_stk
    linkageType: ''
    returnType: char
    signature: "char *\ncareadlinkat (int fd, char const *filename,\n              char
      *buffer, size_t buffer_size,\n              struct allocator const *alloc,\n
      \             ssize_t (*preadlinkat) (int, char const *, char *, size_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/gnulib/lib/strverscmp.c:90,1
    - Dst: isdigit
      Src: /src/gnulib/lib/strverscmp.c:93,1
    - Dst: isdigit
      Src: /src/gnulib/lib/strverscmp.c:101,1
    - Dst: isdigit
      Src: /src/gnulib/lib/strverscmp.c:102,1
    - Dst: isdigit
      Src: /src/gnulib/lib/strverscmp.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 110
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 110
    functionName: __strverscmp
    functionSourceFile: /src/gnulib/lib/strverscmp.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int __strverscmp (const char *s1, const char *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - xp
    - xs
    argTypes:
    - mpz_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: mpz_roinit_normal_n
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: mpz_srcptr
    signature: mpz_srcptr mpz_roinit_normal_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/mini-mpq.c:64,1
    - Dst: abort
      Src: /src/gnulib/lib/mini-mpq.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: gmp_die
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 7
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gmp_die (const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-mpq.c:75,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:75,1
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-mpq.c:76,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - x
    - np
    - ns
    - dp
    - ds
    argTypes:
    - mpq_t
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: mpq_roinit_normal_nn
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_roinit_normal_n
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: mpq_srcptr
    signature: "mpq_srcptr mpq_roinit_normal_nn (mpq_t x, mp_srcptr np, mp_size_t
      ns,\n\t\t     mp_srcptr dp, mp_size_t ds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_roinit_normal_nn
      Src: /src/gnulib/lib/mini-mpq.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - n
    - d
    argTypes:
    - mpq_t
    - mpz_srcptr
    - mpz_srcptr
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: mpq_roinit_zz
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_roinit_normal_nn
    linkageType: ''
    returnType: mpq_srcptr
    signature: mpq_srcptr mpq_roinit_zz (mpq_t x, mpz_srcptr n, mpz_srcptr d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:90,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:90,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:91,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: mpq_nan_init
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpz_init
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_nan_init (mpq_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:97,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:97,1
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:98,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: mpq_init
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 1
    functionsReached:
    - mpq_denref
    - mpz_init_set_ui
    - mpz_init
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_init (mpq_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:104,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:104,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:105,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: mpq_clear
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 1
    functionsReached:
    - mpq_denref
    - mpz_clear
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_clear (mpq_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:111,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-mpq.c:115,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-mpq.c:116,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:116,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:116,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-mpq.c:117,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:117,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: mpq_canonical_sign
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_neg
    - gmp_die
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_canonical_sign (mpq_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:125,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:130,1
    - Dst: mpz_gcd
      Src: /src/gnulib/lib/mini-mpq.c:131,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:132,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:132,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:133,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:133,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:134,1
    - Dst: mpq_canonical_sign
      Src: /src/gnulib/lib/mini-mpq.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - num
    - den
    argTypes:
    - mpq_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: mpq_helper_canonicalize
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_set_ui
    - mpq_canonical_sign
    - mpq_denref
    - mpz_init
    - mpq_numref
    - mpz_gcd
    - mpz_clear
    - mpz_tdiv_q
    linkageType: ''
    returnType: void
    signature: void mpq_helper_canonicalize (mpq_t r, const mpz_t num, const mpz_t
      den)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_helper_canonicalize
      Src: /src/gnulib/lib/mini-mpq.c:142,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:142,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: mpq_canonicalize
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpq_helper_canonicalize
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_canonicalize (mpq_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-mpq.c:148,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:148,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:148,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-mpq.c:149,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:149,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: mpq_swap
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpz_swap
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_swap (mpq_t a, mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:157,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:157,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpz_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: mpz_set_q
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_tdiv_q
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpz_set_q (mpz_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:163,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:163,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:163,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:164,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:164,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: mpq_set
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_set (mpq_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:170,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:170,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:171,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpq_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: mpq_set_ui
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 1
    functionsReached:
    - mpq_denref
    - mpq_numref
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpq_set_ui (mpq_t r, unsigned long n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-mpq.c:177,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:177,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:178,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpq_t
    - signed long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: mpq_set_si
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set_si
    - mpz_set_ui
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_set_si (mpq_t r, signed long n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:184,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:184,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:185,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - mpq_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: mpq_set_z
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_denref
    - mpq_numref
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpq_set_z (mpq_t r, const mpz_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:191,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - mpq_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: mpq_set_num
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_set_num (mpq_t r, const mpz_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:197,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - z
    argTypes:
    - mpq_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: mpq_set_den
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_denref
    linkageType: ''
    returnType: void
    signature: void mpq_set_den (mpq_t r, const mpz_t z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:203,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpz_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: mpq_get_num
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_get_num (mpz_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:209,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpz_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: mpq_get_den
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpq_denref
    linkageType: ''
    returnType: void
    signature: void mpq_get_den (mpz_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:220,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:221,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:222,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:222,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:222,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:223,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:223,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:223,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-mpq.c:224,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:225,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: mpq_cmp
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_mul
    - mpq_denref
    - mpz_init
    - mpz_cmp
    - mpq_numref
    - mpz_clear
    linkageType: ''
    returnType: int
    signature: int mpq_cmp (const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:237,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:238,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:238,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-mpq.c:239,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:239,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpq_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: mpq_cmp_z
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_mul
    - mpz_cmp
    - mpq_denref
    - mpz_init
    - mpq_numref
    - mpz_clear
    linkageType: ''
    returnType: int
    signature: int mpq_cmp_z (const mpq_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-mpq.c:248,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:248,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:248,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-mpq.c:249,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:249,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: mpq_equal
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpq_numref
    - mpz_cmp
    linkageType: ''
    returnType: int
    signature: int mpq_equal (const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-mpq.c:256,1
    - Dst: mpq_cmp
      Src: /src/gnulib/lib/mini-mpq.c:259,1
    - Dst: mpq_roinit_normal_nn
      Src: /src/gnulib/lib/mini-mpq.c:259,1
    - Dst: mpq_nan_init
      Src: /src/gnulib/lib/mini-mpq.c:263,1
    - Dst: mpq_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:264,1
    - Dst: mpq_cmp
      Src: /src/gnulib/lib/mini-mpq.c:265,1
    - Dst: mpq_clear
      Src: /src/gnulib/lib/mini-mpq.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpq_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: mpq_cmp_ui
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - assert
    - mpq_cmp
    - mpq_set_ui
    - mpq_nan_init
    - mpq_clear
    - mpq_roinit_normal_nn
    linkageType: ''
    returnType: int
    signature: int mpq_cmp_ui (const mpq_t q, unsigned long n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-mpq.c:275,1
    - Dst: mpq_cmp_ui
      Src: /src/gnulib/lib/mini-mpq.c:278,1
    - Dst: GMP_NEG_CAST
      Src: /src/gnulib/lib/mini-mpq.c:285,1
    - Dst: mpq_cmp
      Src: /src/gnulib/lib/mini-mpq.c:286,1
    - Dst: mpq_roinit_normal_nn
      Src: /src/gnulib/lib/mini-mpq.c:286,1
    - Dst: mpq_roinit_normal_nn
      Src: /src/gnulib/lib/mini-mpq.c:292,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:292,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:292,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:293,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:293,1
    - Dst: mpq_cmp_ui
      Src: /src/gnulib/lib/mini-mpq.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpq_t
    - signed long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 297
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 297
    functionName: mpq_cmp_si
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - GMP_NEG_CAST
    - assert
    - mpq_cmp
    - mpq_cmp_ui
    - mpq_denref
    - mpq_numref
    - mpq_roinit_normal_nn
    linkageType: ''
    returnType: int
    signature: int mpq_cmp_si (const mpq_t q, signed long n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/gnulib/lib/mini-mpq.c:302,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: mpq_sgn
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_sgn
    - mpq_numref
    linkageType: ''
    returnType: int
    signature: int mpq_sgn (const mpq_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-mpq.c:310,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:310,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:310,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:311,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:311,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: mpq_abs
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_set
    - mpz_abs
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_abs (mpq_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-mpq.c:317,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:317,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:317,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-mpq.c:318,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:318,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: mpq_neg
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_neg
    - mpz_set
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_neg (mpq_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:326,1
    - Dst: mpz_gcd
      Src: /src/gnulib/lib/mini-mpq.c:327,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:327,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:327,1
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-mpq.c:328,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:330,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:330,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:330,1
    - Dst: mpz_addmul
      Src: /src/gnulib/lib/mini-mpq.c:331,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:331,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:331,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:332,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:332,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:332,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:332,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-mpq.c:333,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:333,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:338,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:339,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:341,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:341,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:342,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:342,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:343,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:343,1
    - Dst: mpz_addmul
      Src: /src/gnulib/lib/mini-mpq.c:344,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:344,1
    - Dst: mpz_gcd
      Src: /src/gnulib/lib/mini-mpq.c:346,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:347,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:347,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:348,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:348,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:349,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:349,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:351,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:352,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 355
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 355
    functionName: mpq_add
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 1
    functionsReached:
    - mpz_mul
    - mpz_swap
    - mpq_denref
    - mpz_init
    - mpz_gcd
    - mpq_numref
    - mpz_clear
    - mpz_tdiv_q
    - mpz_cmp_ui
    - mpz_addmul
    linkageType: ''
    returnType: void
    signature: void mpq_add (mpq_t r, const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_roinit_normal_nn
      Src: /src/gnulib/lib/mini-mpq.c:362,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:362,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:362,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:363,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:363,1
    - Dst: mpq_add
      Src: /src/gnulib/lib/mini-mpq.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: mpq_sub
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpq_roinit_normal_nn
    - mpq_add
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_sub (mpq_t r, const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_mul
      Src: /src/gnulib/lib/mini-mpq.c:371,1
    - Dst: mpq_roinit_zz
      Src: /src/gnulib/lib/mini-mpq.c:371,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:371,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: mpq_div
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_roinit_zz
    - mpq_mul
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_div (mpq_t r, const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_nan_init
      Src: /src/gnulib/lib/mini-mpq.c:378,1
    - Dst: mpq_helper_canonicalize
      Src: /src/gnulib/lib/mini-mpq.c:381,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:381,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:381,1
    - Dst: mpq_helper_canonicalize
      Src: /src/gnulib/lib/mini-mpq.c:382,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:382,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:382,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:388,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:388,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:388,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:388,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-mpq.c:389,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:389,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:389,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:389,1
    - Dst: mpq_clear
      Src: /src/gnulib/lib/mini-mpq.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpq_t
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 391
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 391
    functionName: mpq_mul
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 1
    functionsReached:
    - mpz_mul
    - mpq_nan_init
    - mpq_clear
    - mpq_helper_canonicalize
    - mpq_denref
    - mpq_numref
    linkageType: ''
    returnType: void
    signature: void mpq_mul (mpq_t r, const mpq_t a, const mpq_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_scan1
      Src: /src/gnulib/lib/mini-mpq.c:396,1
    - Dst: GMP_MIN
      Src: /src/gnulib/lib/mini-mpq.c:397,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-mpq.c:398,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-mpq.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rn
    - rd
    - qn
    - qd
    - e
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: mpq_helper_2exp
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - GMP_MIN
    - mpz_scan1
    - mpz_mul_2exp
    - mpz_tdiv_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpq_helper_2exp (mpz_t rn, mpz_t rd, const mpz_t qn, const mpz_t
      qd, mp_bitcnt_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_helper_2exp
      Src: /src/gnulib/lib/mini-mpq.c:405,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:405,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:405,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:405,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - q
    - e
    argTypes:
    - mpq_t
    - mpq_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: mpq_div_2exp
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpq_numref
    - mpq_helper_2exp
    linkageType: ''
    returnType: void
    signature: void mpq_div_2exp (mpq_t r, const mpq_t q, mp_bitcnt_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_helper_2exp
      Src: /src/gnulib/lib/mini-mpq.c:411,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:411,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:411,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:411,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - q
    - e
    argTypes:
    - mpq_t
    - mpq_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: mpq_mul_2exp
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_denref
    - mpq_numref
    - mpq_helper_2exp
    linkageType: ''
    returnType: void
    signature: void mpq_mul_2exp (mpq_t r, const mpq_t q, mp_bitcnt_t e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_set
      Src: /src/gnulib/lib/mini-mpq.c:417,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-mpq.c:418,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:418,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:418,1
    - Dst: mpq_canonical_sign
      Src: /src/gnulib/lib/mini-mpq.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - q
    argTypes:
    - mpq_t
    - mpq_t
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: mpq_inv
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_swap
    - mpq_canonical_sign
    - mpq_denref
    - mpq_numref
    - mpq_set
    linkageType: ''
    returnType: void
    signature: void mpq_inv (mpq_t r, const mpq_t q)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:427,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:427,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:432,1
    - Dst: mpz_set_d
      Src: /src/gnulib/lib/mini-mpq.c:442,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:442,1
    - Dst: mpq_div_2exp
      Src: /src/gnulib/lib/mini-mpq.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpq_t
    - double
    constantsTouched: []
    func_position:
      end: 445
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 445
    functionName: mpq_set_d
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpq_div_2exp
    - mpq_denref
    - mpq_numref
    - mpz_set_d
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpq_set_d (mpq_t r, double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/gnulib/lib/mini-mpq.c:454,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:454,1
    - Dst: mpz_sizeinbase
      Src: /src/gnulib/lib/mini-mpq.c:455,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:455,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-mpq.c:463,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-mpq.c:464,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:464,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-mpq.c:465,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:465,1
    - Dst: mpz_get_d
      Src: /src/gnulib/lib/mini-mpq.c:466,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-mpq.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpq_t
    constantsTouched: []
    func_position:
      end: 474
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 474
    functionName: mpq_get_d
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mpz_mul_2exp
    - mpq_denref
    - mpz_init
    - mpq_numref
    - mpz_clear
    - mpz_sizeinbase
    - mpz_tdiv_q
    - mpz_get_d
    linkageType: ''
    returnType: double
    signature: double mpq_get_d (const mpq_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_get_str
      Src: /src/gnulib/lib/mini-mpq.c:485,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:485,1
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-mpq.c:486,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:486,1
    - Dst: strlen
      Src: /src/gnulib/lib/mini-mpq.c:489,1
    - Dst: mpz_get_str
      Src: /src/gnulib/lib/mini-mpq.c:491,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:491,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-mpq.c:492,1
    - Dst: mp_get_memory_functions
      Src: /src/gnulib/lib/mini-mpq.c:499,1
    - Dst: strlen
      Src: /src/gnulib/lib/mini-mpq.c:500,1
    - Dst: gmp_reallocate_func
      Src: /src/gnulib/lib/mini-mpq.c:501,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mini-mpq.c:502,1
    - Dst: gmp_free_func
      Src: /src/gnulib/lib/mini-mpq.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sp
    - base
    - q
    argTypes:
    - char*
    - int
    - mpq_t
    constantsTouched: []
    func_position:
      end: 508
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 508
    functionName: mpq_get_str
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - mp_get_memory_functions
    - mpq_denref
    - mpz_get_str
    - mpq_numref
    - memcpy
    - gmp_free_func
    - gmp_reallocate_func
    - mpz_cmp_ui
    linkageType: ''
    returnType: char
    signature: 'char *

      mpq_get_str (char *sp, int base, const mpq_t q)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpq_get_str
      Src: /src/gnulib/lib/mini-mpq.c:517,1
    - Dst: strlen
      Src: /src/gnulib/lib/mini-mpq.c:520,1
    - Dst: fwrite
      Src: /src/gnulib/lib/mini-mpq.c:521,1
    - Dst: mp_get_memory_functions
      Src: /src/gnulib/lib/mini-mpq.c:522,1
    - Dst: gmp_free_func
      Src: /src/gnulib/lib/mini-mpq.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - base
    - x
    argTypes:
    - FILE*
    - int
    - mpq_t
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: mpq_out_str
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - strlen
    - fwrite
    - mpq_get_str
    - mp_get_memory_functions
    - gmp_free_func
    linkageType: ''
    returnType: size_t
    signature: size_t mpq_out_str (FILE *stream, int base, const mpq_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/mini-mpq.c:532,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-mpq.c:534,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:534,1
    - Dst: mpz_set_str
      Src: /src/gnulib/lib/mini-mpq.c:535,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:535,1
    - Dst: mp_get_memory_functions
      Src: /src/gnulib/lib/mini-mpq.c:543,1
    - Dst: gmp_allocate_func
      Src: /src/gnulib/lib/mini-mpq.c:545,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mini-mpq.c:546,1
    - Dst: mpz_set_str
      Src: /src/gnulib/lib/mini-mpq.c:548,1
    - Dst: mpq_numref
      Src: /src/gnulib/lib/mini-mpq.c:548,1
    - Dst: gmp_free_func
      Src: /src/gnulib/lib/mini-mpq.c:549,1
    - Dst: mpz_set_str
      Src: /src/gnulib/lib/mini-mpq.c:554,1
    - Dst: mpq_denref
      Src: /src/gnulib/lib/mini-mpq.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - r
    - sp
    - base
    argTypes:
    - mpq_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 556
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 556
    functionName: mpq_set_str
    functionSourceFile: /src/gnulib/lib/mini-mpq.c
    functionUses: 0
    functionsReached:
    - mp_get_memory_functions
    - strchr
    - mpq_denref
    - mpq_numref
    - mpz_set_ui
    - memcpy
    - mpz_set_str
    - gmp_free_func
    - gmp_allocate_func
    linkageType: ''
    returnType: int
    signature: int mpq_set_str (mpq_t r, const char *sp, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpexec.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dirent*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: name_is_dll
    functionSourceFile: /src/gnulib/lib/csharpexec.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int name_is_dll (const struct dirent *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/gnulib/lib/csharpexec.c:135,1
    - Dst: set_monopath
      Src: /src/gnulib/lib/csharpexec.c:151,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpexec.c:161,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:162,1
    - Dst: executer
      Src: /src/gnulib/lib/csharpexec.c:165,1
    - Dst: reset_monopath
      Src: /src/gnulib/lib/csharpexec.c:168,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpexec.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 9
    argNames:
    - assembly_path
    - libdirs
    - libdirs_count
    - args
    - nargs
    - verbose
    - quiet
    - executer
    - private_data
    argTypes:
    - char*
    - char**
    - unsigned int
    - char**
    - unsigned int
    - bool
    - bool
    - execute_fn*
    - void*
    constantsTouched: []
    func_position:
      end: 176
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 176
    functionName: execute_csharp_using_mono
    functionSourceFile: /src/gnulib/lib/csharpexec.c
    functionUses: 0
    functionsReached:
    - free
    - reset_monopath
    - set_monopath
    - freea
    - printf
    - execute
    - executer
    linkageType: ''
    returnType: int
    signature: "int execute_csharp_using_mono (const char *assembly_path,\n                           const
      char * const *libdirs,\n                           unsigned int libdirs_count,\n
      \                          const char * const *args, unsigned int nargs,\n                           bool
      verbose, bool quiet,\n                           execute_fn *executer, void
      *private_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/gnulib/lib/csharpexec.c:199,1
    - Dst: scandir
      Src: /src/gnulib/lib/csharpexec.c:238,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/csharpexec.c:240,1
    - Dst: stat
      Src: /src/gnulib/lib/csharpexec.c:254,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/csharpexec.c:266,1
    - Dst: register_temporary_file
      Src: /src/gnulib/lib/csharpexec.c:275,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/csharpexec.c:276,1
    - Dst: xrealloc
      Src: /src/gnulib/lib/csharpexec.c:283,1
    - Dst: copy_file_to
      Src: /src/gnulib/lib/csharpexec.c:287,1
    - Dst: remove
      Src: /src/gnulib/lib/csharpexec.c:289,1
    - Dst: unregister_temporary_file
      Src: /src/gnulib/lib/csharpexec.c:290,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:291,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:291,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:293,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:294,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:296,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:297,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:298,1
    - Dst: remove
      Src: /src/gnulib/lib/csharpexec.c:302,1
    - Dst: unregister_temporary_file
      Src: /src/gnulib/lib/csharpexec.c:303,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:304,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:306,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:309,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:312,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:316,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:317,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:320,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpexec.c:330,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpexec.c:333,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpexec.c:335,1
    - Dst: stat
      Src: /src/gnulib/lib/csharpexec.c:338,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpexec.c:354,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:355,1
    - Dst: executer
      Src: /src/gnulib/lib/csharpexec.c:358,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpexec.c:360,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpexec.c:385,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:389,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:389,1
    - Dst: fdopen
      Src: /src/gnulib/lib/csharpexec.c:395,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:397,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:397,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:407,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:407,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpexec.c:424,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/csharpexec.c:431,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:437,1
    - Dst: getc
      Src: /src/gnulib/lib/csharpexec.c:441,1
    - Dst: fclose
      Src: /src/gnulib/lib/csharpexec.c:444,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:453,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:453,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:463,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:463,1
    - Dst: create_temp_dir
      Src: /src/gnulib/lib/csharpexec.c:471,1
    - Dst: register_temp_file
      Src: /src/gnulib/lib/csharpexec.c:479,1
    - Dst: fopen_temp
      Src: /src/gnulib/lib/csharpexec.c:480,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:483,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:483,1
    - Dst: unregister_temp_file
      Src: /src/gnulib/lib/csharpexec.c:484,1
    - Dst: fprintf
      Src: /src/gnulib/lib/csharpexec.c:489,1
    - Dst: fwriteerror_temp
      Src: /src/gnulib/lib/csharpexec.c:496,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:498,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:498,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpexec.c:522,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:523,1
    - Dst: executer
      Src: /src/gnulib/lib/csharpexec.c:526,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpexec.c:529,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:530,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:533,1
    - Dst: cleanup_temp_dir
      Src: /src/gnulib/lib/csharpexec.c:534,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpexec.c:539,1
    - Dst: remove
      Src: /src/gnulib/lib/csharpexec.c:543,1
    - Dst: unregister_temporary_file
      Src: /src/gnulib/lib/csharpexec.c:544,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:545,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:547,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:548,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 175
    argCount: 9
    argNames:
    - assembly_path
    - libdirs
    - libdirs_count
    - args
    - nargs
    - verbose
    - quiet
    - executer
    - private_data
    argTypes:
    - char*
    - char**
    - unsigned int
    - char**
    - unsigned int
    - bool
    - bool
    - execute_fn*
    - void*
    constantsTouched: []
    func_position:
      end: 553
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 553
    functionName: execute_csharp_using_dotnet
    functionSourceFile: /src/gnulib/lib/csharpexec.c
    functionUses: 0
    functionsReached:
    - scandir
    - unregister_temporary_file
    - xrealloc
    - register_temp_file
    - copy_file_to
    - printf
    - executer
    - fclose
    - fopen_temp
    - strcpy
    - free
    - memcmp
    - unregister_temp_file
    - register_temporary_file
    - error
    - cleanup_temp_dir
    - fwriteerror_temp
    - xstrdup
    - create_temp_dir
    - freea
    - _
    - execute
    - remove
    - create_pipe_in
    - xalloc_die
    - stat
    - getc
    - memcpy
    - fdopen
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int execute_csharp_using_dotnet (const char *assembly_path,\n                             const
      char * const *libdirs,\n                             unsigned int libdirs_count,\n
      \                            const char * const *args, unsigned int nargs,\n
      \                            bool verbose, bool quiet,\n                             execute_fn
      *executer, void *private_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/gnulib/lib/csharpexec.c:575,1
    - Dst: set_clixpath
      Src: /src/gnulib/lib/csharpexec.c:594,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpexec.c:604,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:605,1
    - Dst: executer
      Src: /src/gnulib/lib/csharpexec.c:608,1
    - Dst: reset_clixpath
      Src: /src/gnulib/lib/csharpexec.c:611,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpexec.c:613,1
    - Dst: free
      Src: /src/gnulib/lib/csharpexec.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 9
    argNames:
    - assembly_path
    - libdirs
    - libdirs_count
    - args
    - nargs
    - verbose
    - quiet
    - executer
    - private_data
    argTypes:
    - char*
    - char**
    - unsigned int
    - char**
    - unsigned int
    - bool
    - bool
    - execute_fn*
    - void*
    constantsTouched: []
    func_position:
      end: 620
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 620
    functionName: execute_csharp_using_sscli
    functionSourceFile: /src/gnulib/lib/csharpexec.c
    functionUses: 0
    functionsReached:
    - reset_clixpath
    - free
    - freea
    - printf
    - execute
    - executer
    - set_clixpath
    linkageType: ''
    returnType: int
    signature: "int execute_csharp_using_sscli (const char *assembly_path,\n                            const
      char * const *libdirs,\n                            unsigned int libdirs_count,\n
      \                           const char * const *args, unsigned int nargs,\n
      \                           bool verbose, bool quiet,\n                            execute_fn
      *executer, void *private_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute_csharp_using_mono
      Src: /src/gnulib/lib/csharpexec.c:643,1
    - Dst: execute_csharp_using_dotnet
      Src: /src/gnulib/lib/csharpexec.c:650,1
    - Dst: execute_csharp_using_mono
      Src: /src/gnulib/lib/csharpexec.c:659,1
    - Dst: execute_csharp_using_dotnet
      Src: /src/gnulib/lib/csharpexec.c:667,1
    - Dst: execute_csharp_using_sscli
      Src: /src/gnulib/lib/csharpexec.c:674,1
    - Dst: error
      Src: /src/gnulib/lib/csharpexec.c:681,1
    - Dst: _
      Src: /src/gnulib/lib/csharpexec.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - assembly_path
    - libdirs
    - libdirs_count
    - args
    - verbose
    - quiet
    - executer
    - private_data
    argTypes:
    - char*
    - char**
    - unsigned int
    - char**
    - bool
    - bool
    - execute_fn*
    - void*
    constantsTouched: []
    func_position:
      end: 683
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 683
    functionName: execute_csharp_program
    functionSourceFile: /src/gnulib/lib/csharpexec.c
    functionUses: 0
    functionsReached:
    - execute_csharp_using_sscli
    - execute_csharp_using_mono
    - error
    - _
    - execute_csharp_using_dotnet
    linkageType: ''
    returnType: bool
    signature: "bool execute_csharp_program (const char *assembly_path,\n                        const
      char * const *libdirs,\n                        unsigned int libdirs_count,\n
      \                       const char * const *args,\n                        bool
      verbose, bool quiet,\n                        execute_fn *executer, void *private_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 183
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 183
    functionName: exchange
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exchange (char **argv, struct _getopt_data *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/lib/getopt.c:213,1
    - Dst: strlen
      Src: /src/gnulib/lib/getopt.c:214,1
    - Dst: strncmp
      Src: /src/gnulib/lib/getopt.c:232,1
    - Dst: __libc_use_alloca
      Src: /src/gnulib/lib/getopt.c:254,1
    - Dst: alloca
      Src: /src/gnulib/lib/getopt.c:255,1
    - Dst: malloc
      Src: /src/gnulib/lib/getopt.c:258,1
    - Dst: memset
      Src: /src/gnulib/lib/getopt.c:267,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:282,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:282,1
    - Dst: flockfile
      Src: /src/gnulib/lib/getopt.c:286,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:287,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:288,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:293,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:299,1
    - Dst: funlockfile
      Src: /src/gnulib/lib/getopt.c:300,1
    - Dst: free
      Src: /src/gnulib/lib/getopt.c:303,1
    - Dst: strlen
      Src: /src/gnulib/lib/getopt.c:304,1
    - Dst: strchr
      Src: /src/gnulib/lib/getopt.c:319,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:322,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:322,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:347,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:348,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:362,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:363,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 9
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - print_errors
    - prefix
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 379
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 379
    functionName: process_long_option
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    - free
    - funlockfile
    - strchr
    - memset
    - __libc_use_alloca
    - strncmp
    - flockfile
    - _
    - malloc
    - alloca
    linkageType: ''
    returnType: int
    signature: "int process_long_option (int argc, char **argv, const char *optstring,\n\t\t
      \    const struct option *longopts, int *longind,\n\t\t     int long_only, struct
      _getopt_data *d,\n\t\t     int print_errors, const char *prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/getopt.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - argc
    - argv
    - optstring
    - d
    - posixly_correct
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED**
    - char*
    - struct _getopt_data*
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 415
    functionName: _getopt_initialize
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 1
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: "char *\n_getopt_initialize (_GL_UNUSED int argc,\n\t\t    _GL_UNUSED
      char **argv, const char *optstring,\n\t\t    struct _getopt_data *d, int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize
      Src: /src/gnulib/lib/getopt.c:486,1
    - Dst: exchange
      Src: /src/gnulib/lib/getopt.c:514,1
    - Dst: strcmp
      Src: /src/gnulib/lib/getopt.c:531,1
    - Dst: exchange
      Src: /src/gnulib/lib/getopt.c:537,1
    - Dst: process_long_option
      Src: /src/gnulib/lib/getopt.c:577,1
    - Dst: strchr
      Src: /src/gnulib/lib/getopt.c:595,1
    - Dst: process_long_option
      Src: /src/gnulib/lib/getopt.c:599,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:624,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:624,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:638,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:639,1
    - Dst: process_long_option
      Src: /src/gnulib/lib/getopt.c:654,1
    - Dst: fprintf
      Src: /src/gnulib/lib/getopt.c:684,1
    - Dst: _
      Src: /src/gnulib/lib/getopt.c:685,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 110
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    - int
    constantsTouched: []
    func_position:
      end: 703
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 703
    functionName: _getopt_internal_r
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 3
    functionsReached:
    - _
    - strchr
    - process_long_option
    - exchange
    - strcmp
    - _getopt_initialize
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal_r (int argc, char **argv, const char *optstring,\n\t\t
      \   const struct option *longopts, int *longind,\n\t\t    int long_only, struct
      _getopt_data *d, int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/gnulib/lib/getopt.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 724
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 724
    functionName: _getopt_internal
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 4
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal (int argc, char **argv, const char *optstring,\n\t\t
      \ const struct option *longopts, int *longind, int long_only,\n\t\t  int posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/gnulib/lib/getopt.c:761,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:778,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:780,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:784,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:788,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:792,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:799,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:805,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:807,1
    - Dst: printf
      Src: /src/gnulib/lib/getopt.c:808,1
    - Dst: exit
      Src: /src/gnulib/lib/getopt.c:811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 812
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 812
    functionName: main
    functionSourceFile: /src/gnulib/lib/getopt.c
    functionUses: 12
    functionsReached:
    - printf
    - exit
    - getopt
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_once
      Src: /src/gnulib/lib/pthread-once.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - once_control
    argTypes:
    - pthread_once_t*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: pthread_once
    functionSourceFile: /src/gnulib/lib/pthread-once.c
    functionUses: 4
    functionsReached:
    - glwthread_once
    linkageType: ''
    returnType: int
    signature: int pthread_once (pthread_once_t *once_control, void (*initfunction)
      (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/gnulib/lib/pthread-once.c:76,1
    - Dst: pthread_mutex_unlock
      Src: /src/gnulib/lib/pthread-once.c:86,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/gnulib/lib/pthread-once.c:95,1
    - Dst: pthread_mutex_destroy
      Src: /src/gnulib/lib/pthread-once.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - once_control
    argTypes:
    - pthread_once_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 130
    functionName: pthread_once
    functionSourceFile: /src/gnulib/lib/pthread-once.c
    functionUses: 4
    functionsReached:
    - __sync_bool_compare_and_swap
    - pthread_mutex_unlock
    - pthread_mutex_destroy
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_once (pthread_once_t *once_control, void (*initfunction)
      (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initfunction
      Src: /src/gnulib/lib/pthread-once.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - once_control
    argTypes:
    - pthread_once_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: pthread_once
    functionSourceFile: /src/gnulib/lib/pthread-once.c
    functionUses: 4
    functionsReached:
    - initfunction
    linkageType: ''
    returnType: int
    signature: int pthread_once (pthread_once_t *once_control, void (*initfunction)
      (void))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_array_omap.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - implementation
    - compar_fn
    - kdispose_fn
    - vdispose_fn
    argTypes:
    - gl_omap_implementation_t
    - gl_mapkey_compar_fn
    - gl_mapkey_dispose_fn
    - gl_mapvalue_dispose_fn
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: gl_array_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: gl_omap_t
    signature: "gl_omap_t gl_array_nx_create_empty (gl_omap_implementation_t implementation,\n
      \                         gl_mapkey_compar_fn compar_fn,\n                          gl_mapkey_dispose_fn
      kdispose_fn,\n                          gl_mapvalue_dispose_fn vdispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: _GL_ATTRIBUTE_PURE::gl_array_size
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_array_size (gl_omap_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - gl_omap_t
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: _GL_ATTRIBUTE_PURE::gl_array_indexof
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_array_indexof (gl_omap_t map, const void *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - map
    - key
    - valuep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: _GL_ATTRIBUTE_PURE::gl_array_search
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_PURE

      gl_array_search (gl_omap_t map, const void *key, const void **valuep)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_array_omap.c:146,1
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_array_omap.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - map
    - threshold_fn
    - threshold
    - keyp
    - valuep
    argTypes:
    - gl_omap_t
    - gl_mapkey_threshold_fn
    - void*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: _GL_ATTRIBUTE_PURE::gl_array_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - threshold_fn
    linkageType: ''
    returnType: bool
    signature: "bool _GL_ATTRIBUTE_PURE\ngl_array_search_atleast (gl_omap_t map,\n
      \                        gl_mapkey_threshold_fn threshold_fn,\n                         const
      void *threshold,\n                         const void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_omap.c:185,1
    - Dst: xsum
      Src: /src/gnulib/lib/gl_array_omap.c:186,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_omap.c:187,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_array_omap.c:188,1
    - Dst: realloc
      Src: /src/gnulib/lib/gl_array_omap.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: grow
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 11
    functionsReached:
    - size_overflow_p
    - xtimes
    - realloc
    - xsum
    linkageType: ''
    returnType: int
    signature: int grow (gl_omap_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_omap.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - map
    - position
    - key
    - value
    argTypes:
    - gl_omap_t
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: gl_array_nx_add_at
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - grow
    linkageType: ''
    returnType: int
    signature: "int gl_array_nx_add_at (gl_omap_t map, size_t position,\n                    const
      void *key, const void *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_nx_add_at
      Src: /src/gnulib/lib/gl_array_omap.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - map
    - key
    - value
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: gl_array_nx_getput
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - gl_array_nx_add_at
    linkageType: ''
    returnType: int
    signature: "int gl_array_nx_getput (gl_omap_t map, const void *key, const void
      *value,\n                    const void **oldvaluep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_omap_t::base::kdispose_fn
      Src: /src/gnulib/lib/gl_array_omap.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - position
    argTypes:
    - gl_omap_t
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: gl_array_remove_at
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - gl_omap_t::base::kdispose_fn
    linkageType: ''
    returnType: void
    signature: void gl_array_remove_at (gl_omap_t map, size_t position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_omap.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - map
    - key
    - oldvaluep
    argTypes:
    - gl_omap_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: gl_array_getremove
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - gl_array_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_array_getremove (gl_omap_t map, const void *key, const void
      **oldvaluep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose
      Src: /src/gnulib/lib/gl_array_omap.c:312,1
    - Dst: kdispose
      Src: /src/gnulib/lib/gl_array_omap.c:314,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_omap.c:320,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_omap.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 323
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 323
    functionName: gl_array_free
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - kdispose
    - free
    - vdispose
    linkageType: ''
    returnType: void
    signature: void gl_array_free (gl_omap_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_omap_t
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: _GL_ATTRIBUTE_PURE::gl_array_iterator
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_omap_iterator_t
    signature: 'gl_omap_iterator_t _GL_ATTRIBUTE_PURE

      gl_array_iterator (gl_omap_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_omap.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - iterator
    - keyp
    - valuep
    argTypes:
    - gl_omap_iterator_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 370
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 370
    functionName: gl_array_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: "bool gl_array_iterator_next (gl_omap_iterator_t *iterator,\n                        const
      void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gl_omap_iterator_t *iterator
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: gl_array_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_array_omap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_array_iterator_free (_GL_ATTRIBUTE_MAYBE_UNUSED gl_omap_iterator_t
      *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffs
      Src: /src/gnulib/lib/ffs.c:34,1
    - Dst: _BitScanForward
      Src: /src/gnulib/lib/ffs.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: ffs
    functionSourceFile: /src/gnulib/lib/ffs.c
    functionUses: 2
    functionsReached:
    - __builtin_ffs
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int ffs (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/gnulib/lib/atan2f.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: atan2f
    functionSourceFile: /src/gnulib/lib/atan2f.c
    functionUses: 1
    functionsReached:
    - atan2
    linkageType: ''
    returnType: float
    signature: float atan2f (float y, float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: canon_host_r
      Src: /src/gnulib/lib/canon-host.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: canon_host
    functionSourceFile: /src/gnulib/lib/canon-host.c
    functionUses: 0
    functionsReached:
    - canon_host_r
    linkageType: ''
    returnType: char
    signature: 'char *

      canon_host (const char *host)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/gnulib/lib/canon-host.c:69,1
    - Dst: strdup
      Src: /src/gnulib/lib/canon-host.c:75,1
    - Dst: freeaddrinfo
      Src: /src/gnulib/lib/canon-host.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - host
    - cherror
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: canon_host_r
    functionSourceFile: /src/gnulib/lib/canon-host.c
    functionUses: 1
    functionsReached:
    - strdup
    - getaddrinfo
    - freeaddrinfo
    linkageType: ''
    returnType: char
    signature: 'char *

      canon_host_r (char const *host, int *cherror)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gai_strerror
      Src: /src/gnulib/lib/canon-host.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ch_strerror
    functionSourceFile: /src/gnulib/lib/canon-host.c
    functionUses: 0
    functionsReached:
    - gai_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      ch_strerror (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_buffer
      Src: /src/gnulib/lib/string-desc-quotearg.h:140,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:141,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - buffersize
    - arg
    - o
    argTypes:
    - char*
    - size_t
    - string_desc_t
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: sd_quotearg_buffer
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_buffer
    - sd_length
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: "GL_STRING_DESC_QUOTEARG_INLINE sd_quotearg_buffer (char *restrict
      buffer, size_t buffersize,\n                    string_desc_t arg,\n                    struct
      quoting_options const *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_alloc_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:154,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:154,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - size
    - o
    argTypes:
    - string_desc_t
    - size_t*
    - struct quoting_options*
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: sd_quotearg_alloc
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_alloc_mem
    - sd_length
    linkageType: ''
    returnType: char
    signature: "char *\nsd_quotearg_alloc (string_desc_t arg,\n                   size_t
      *size,\n                   struct quoting_options const *o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:162,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:162,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - arg
    argTypes:
    - int
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: sd_quotearg_n
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - sd_length
    - quotearg_n_mem
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg_n (int n, string_desc_t arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:168,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:168,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 6
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: sd_quotearg
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_mem
    - sd_length
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg (string_desc_t arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_style_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:174,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:175,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - s
    - arg
    argTypes:
    - int
    - enum quoting_style
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: sd_quotearg_n_style
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_n_style_mem
    - sd_length
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg_n_style (int n, enum quoting_style s, string_desc_t arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_style_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:181,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:182,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - enum quoting_style
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: sd_quotearg_style
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - quotearg_style_mem
    - sd_length
    - sd_data
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg_style (enum quoting_style s, string_desc_t arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_char_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:188,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:188,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ch
    argTypes:
    - string_desc_t
    - char
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: sd_quotearg_char
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_char_mem
    - sd_length
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg_char (string_desc_t arg, char ch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_colon_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:195,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:195,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: sd_quotearg_colon
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - sd_length
    - quotearg_colon_mem
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: 'GL_STRING_DESC_QUOTEARG_INLINE *

      sd_quotearg_colon (string_desc_t arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_n_custom_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:203,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:204,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - left_quote
    - right_quote
    - arg
    argTypes:
    - int
    - char*
    - char*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: sd_quotearg_n_custom
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - quotearg_n_custom_mem
    - sd_length
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: "GL_STRING_DESC_QUOTEARG_INLINE *\nsd_quotearg_n_custom (int n,\n                      char
      const *left_quote, char const *right_quote,\n                      string_desc_t
      arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quotearg_custom_mem
      Src: /src/gnulib/lib/string-desc-quotearg.h:211,1
    - Dst: sd_data
      Src: /src/gnulib/lib/string-desc-quotearg.h:212,1
    - Dst: sd_length
      Src: /src/gnulib/lib/string-desc-quotearg.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left_quote
    - right_quote
    - arg
    argTypes:
    - char*
    - char*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: sd_quotearg_custom
    functionSourceFile: /src/gnulib/lib/string-desc-quotearg.h
    functionUses: 0
    functionsReached:
    - sd_data
    - sd_length
    - quotearg_custom_mem
    linkageType: ''
    returnType: GL_STRING_DESC_QUOTEARG_INLINE
    signature: "GL_STRING_DESC_QUOTEARG_INLINE *\nsd_quotearg_custom (char const *left_quote,
      char const *right_quote,\n                    string_desc_t arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - UNIT*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 56
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/wcswidth-impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FUNC (const UNIT *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/wctob.c:32,1
    - Dst: wctomb
      Src: /src/gnulib/lib/wctob.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: wctob
    functionSourceFile: /src/gnulib/lib/wctob.c
    functionUses: 6
    functionsReached:
    - abort
    - wctomb
    linkageType: ''
    returnType: int
    signature: int wctob (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WCTYPE
      Src: /src/gnulib/lib/fnmatch.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 107
    argCount: 1
    argNames:
    - wcs
    argTypes:
    - WCHAR_T*
    constantsTouched: []
    func_position:
      end: 259
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 259
    functionName: is_char_class
    functionSourceFile: /src/gnulib/lib/fnmatch.c
    functionUses: 0
    functionsReached:
    - WCTYPE
    linkageType: ''
    returnType: WCTYPE_T
    signature: WCTYPE_T is_char_class (const WCHAR_T *wcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:268,1
    - Dst: memset
      Src: /src/gnulib/lib/fnmatch.c:280,1
    - Dst: strnlen
      Src: /src/gnulib/lib/fnmatch.c:282,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/fnmatch.c:283,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/fnmatch.c:285,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:287,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:288,1
    - Dst: memset
      Src: /src/gnulib/lib/fnmatch.c:295,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:302,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:303,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:308,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/fnmatch.c:310,1
    - Dst: malloc
      Src: /src/gnulib/lib/fnmatch.c:314,1
    - Dst: assert
      Src: /src/gnulib/lib/fnmatch.c:315,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/fnmatch.c:315,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:318,1
    - Dst: assert
      Src: /src/gnulib/lib/fnmatch.c:321,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/fnmatch.c:321,1
    - Dst: strnlen
      Src: /src/gnulib/lib/fnmatch.c:322,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/fnmatch.c:324,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/fnmatch.c:326,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:328,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:329,1
    - Dst: free
      Src: /src/gnulib/lib/fnmatch.c:335,1
    - Dst: memset
      Src: /src/gnulib/lib/fnmatch.c:340,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:347,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:348,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/fnmatch.c:353,1
    - Dst: free
      Src: /src/gnulib/lib/fnmatch.c:355,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/fnmatch.c:356,1
    - Dst: malloc
      Src: /src/gnulib/lib/fnmatch.c:361,1
    - Dst: free
      Src: /src/gnulib/lib/fnmatch.c:364,1
    - Dst: assert
      Src: /src/gnulib/lib/fnmatch.c:367,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/fnmatch.c:367,1
    - Dst: MBSRTOWCS
      Src: /src/gnulib/lib/fnmatch.c:368,1
    - Dst: free
      Src: /src/gnulib/lib/fnmatch.c:375,1
    - Dst: free
      Src: /src/gnulib/lib/fnmatch.c:376,1
    - Dst: internal_fnmatch
      Src: /src/gnulib/lib/fnmatch.c:381,1
    - Dst: strlen
      Src: /src/gnulib/lib/fnmatch.c:381,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 3
    argNames:
    - pattern
    - string
    - flags
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 383
    functionName: fnmatch
    functionSourceFile: /src/gnulib/lib/fnmatch.c
    functionUses: 4
    functionsReached:
    - assert
    - strnlen
    - internal_fnmatch
    - __glibc_likely
    - strlen
    - free
    - alloca_account
    - mbsinit
    - __set_errno
    - __glibc_unlikely
    - memset
    - malloc
    - MBSRTOWCS
    linkageType: ''
    returnType: int
    signature: int fnmatch (const char *pattern, const char *string, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ns
    argTypes:
    - xtime_t
    - long int
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: xtime_make
    functionSourceFile: /src/gnulib/lib/xtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XTIME_INLINE
    signature: XTIME_INLINE xtime_make (xtime_t s, long int ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - xtime_t
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: xtime_nonnegative_sec
    functionSourceFile: /src/gnulib/lib/xtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XTIME_INLINE
    signature: XTIME_INLINE xtime_nonnegative_sec (xtime_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - xtime_t
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: xtime_sec
    functionSourceFile: /src/gnulib/lib/xtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XTIME_INLINE
    signature: XTIME_INLINE xtime_sec (xtime_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - xtime_t
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: xtime_nonnegative_nsec
    functionSourceFile: /src/gnulib/lib/xtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XTIME_INLINE long
    signature: XTIME_INLINE long xtime_nonnegative_nsec (xtime_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - xtime_t
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: xtime_nsec
    functionSourceFile: /src/gnulib/lib/xtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XTIME_INLINE long
    signature: XTIME_INLINE long xtime_nsec (xtime_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tokenbuffer
    argTypes:
    - token_buffer*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: init_tokenbuffer
    functionSourceFile: /src/gnulib/lib/readtokens.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_tokenbuffer (token_buffer *tokenbuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bitset
    argTypes:
    - size_t
    - word*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: get_nth_bit
    functionSourceFile: /src/gnulib/lib/readtokens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_nth_bit (size_t n, word const *bitset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bitset
    argTypes:
    - size_t
    - word*
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: set_nth_bit
    functionSourceFile: /src/gnulib/lib/readtokens.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_nth_bit (size_t n, word *bitset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/readtokens.c:88,1
    - Dst: set_nth_bit
      Src: /src/gnulib/lib/readtokens.c:92,1
    - Dst: getc
      Src: /src/gnulib/lib/readtokens.c:96,1
    - Dst: get_nth_bit
      Src: /src/gnulib/lib/readtokens.c:96,1
    - Dst: getc
      Src: /src/gnulib/lib/readtokens.c:96,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/readtokens.c:110,1
    - Dst: get_nth_bit
      Src: /src/gnulib/lib/readtokens.c:117,1
    - Dst: getc
      Src: /src/gnulib/lib/readtokens.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - stream
    - delim
    - n_delim
    - tokenbuffer
    argTypes:
    - FILE*
    - char*
    - size_t
    - token_buffer*
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: readtoken
    functionSourceFile: /src/gnulib/lib/readtokens.c
    functionUses: 1
    functionsReached:
    - set_nth_bit
    - get_nth_bit
    - getc
    - memset
    - xpalloc
    linkageType: ''
    returnType: size_t
    signature: "size_t readtoken (FILE *stream,\n           const char *delim,\n           size_t
      n_delim,\n           token_buffer *tokenbuffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xnmalloc
      Src: /src/gnulib/lib/readtokens.c:157,1
    - Dst: xnmalloc
      Src: /src/gnulib/lib/readtokens.c:158,1
    - Dst: init_tokenbuffer
      Src: /src/gnulib/lib/readtokens.c:161,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/readtokens.c:168,1
    - Dst: xreallocarray
      Src: /src/gnulib/lib/readtokens.c:169,1
    - Dst: xnmalloc
      Src: /src/gnulib/lib/readtokens.c:179,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readtokens.c:181,1
    - Dst: free
      Src: /src/gnulib/lib/readtokens.c:185,1
    - Dst: free
      Src: /src/gnulib/lib/readtokens.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - stream
    - projected_n_tokens
    - delim
    - n_delim
    - tokens_out
    - token_lengths
    argTypes:
    - FILE*
    - size_t
    - char*
    - size_t
    - char***
    - size_t**
    constantsTouched: []
    func_position:
      end: 192
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 192
    functionName: readtokens
    functionSourceFile: /src/gnulib/lib/readtokens.c
    functionUses: 0
    functionsReached:
    - xnmalloc
    - free
    - init_tokenbuffer
    - xreallocarray
    - memcpy
    - xpalloc
    linkageType: ''
    returnType: size_t
    signature: "size_t readtokens (FILE *stream,\n            size_t projected_n_tokens,\n
      \           const char *delim,\n            size_t n_delim,\n            char
      ***tokens_out,\n            size_t **token_lengths)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstatat
      Src: /src/gnulib/lib/symlinkat.c:42,1
    - Dst: symlinkat
      Src: /src/gnulib/lib/symlinkat.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - contents
    - fd
    - name
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: rpl_symlinkat
    functionSourceFile: /src/gnulib/lib/symlinkat.c
    functionUses: 0
    functionsReached:
    - symlinkat
    - fstatat
    linkageType: ''
    returnType: int
    signature: int rpl_symlinkat (char const *contents, int fd, char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - path1
    - int
    - path2
    argTypes:
    - _GL_UNUSED*
    - _GL_UNUSED
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: symlinkat
    functionSourceFile: /src/gnulib/lib/symlinkat.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int symlinkat (_GL_UNUSED char const *path1, _GL_UNUSED int fd,\n
      \          _GL_UNUSED char const *path2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symlink
      Src: /src/gnulib/lib/symlinkat.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - contents
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: symlink_reversed
    functionSourceFile: /src/gnulib/lib/symlinkat.c
    functionUses: 0
    functionsReached:
    - symlink
    linkageType: ''
    returnType: int
    signature: int symlink_reversed (char const *file, char const *contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: symlinkat_reversed
      Src: /src/gnulib/lib/symlinkat.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - contents
    - fd
    - file
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: symlinkat
    functionSourceFile: /src/gnulib/lib/symlinkat.c
    functionUses: 4
    functionsReached:
    - symlinkat_reversed
    linkageType: ''
    returnType: int
    signature: int symlinkat (char const *contents, int fd, char const *file)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_implementation_t::nx_create_empty
      Src: /src/gnulib/lib/gl_oset.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - implementation
    - compar_fn
    - dispose_fn
    argTypes:
    - gl_oset_implementation_t
    - gl_setelement_compar_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: gl_oset_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 5
    functionsReached:
    - gl_oset_implementation_t::nx_create_empty
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: "GL_OSET_INLINE gl_oset_nx_create_empty (gl_oset_implementation_t implementation,\n
      \                        gl_setelement_compar_fn compar_fn,\n                         gl_setelement_dispose_fn
      dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::size
      Src: /src/gnulib/lib/gl_oset.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: gl_oset_size
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 0
    functionsReached:
    - vtable::size
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_size (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search
      Src: /src/gnulib/lib/gl_oset.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: gl_oset_search
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 4
    functionsReached:
    - vtable::search
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_search (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::search_atleast
      Src: /src/gnulib/lib/gl_oset.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - set
    - threshold_fn
    - threshold
    - eltp
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: gl_oset_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 0
    functionsReached:
    - vtable::search_atleast
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: "GL_OSET_INLINE gl_oset_search_atleast (gl_oset_t set,\n                        gl_setelement_threshold_fn
      threshold_fn,\n                        const void *threshold, const void **eltp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::nx_add
      Src: /src/gnulib/lib/gl_oset.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: gl_oset_nx_add
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 5
    functionsReached:
    - vtable::nx_add
    linkageType: ''
    returnType: _GL_ATTRIBUTE_NODISCARD
    signature: _GL_ATTRIBUTE_NODISCARD gl_oset_nx_add (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::remove_elt
      Src: /src/gnulib/lib/gl_oset.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: gl_oset_remove
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 5
    functionsReached:
    - vtable::remove_elt
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_remove (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::update
      Src: /src/gnulib/lib/gl_oset.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - set
    - elt
    - action_data
    argTypes:
    - gl_oset_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: gl_oset_update
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 2
    functionsReached:
    - vtable::update
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: "GL_OSET_INLINE gl_oset_update (gl_oset_t set, const void *elt,\n                void
      (*action) (const void * /*elt*/, void * /*action_data*/),\n                void
      *action_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::oset_free
      Src: /src/gnulib/lib/gl_oset.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: gl_oset_free
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 5
    functionsReached:
    - vtable::oset_free
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_free (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::iterator
      Src: /src/gnulib/lib/gl_oset.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gl_oset_iterator_t::gl_oset_iterator
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 0
    functionsReached:
    - vtable::iterator
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: 'GL_OSET_INLINE gl_oset_iterator_t

      gl_oset_iterator (gl_oset_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vtable::iterator_atleast
      Src: /src/gnulib/lib/gl_oset.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - set
    - threshold_fn
    - threshold
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: gl_oset_iterator_t::gl_oset_iterator_atleast
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 0
    functionsReached:
    - vtable::iterator_atleast
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: "GL_OSET_INLINE gl_oset_iterator_t\ngl_oset_iterator_atleast (gl_oset_t
      set,\n                          gl_setelement_threshold_fn threshold_fn,\n                          const
      void *threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator_t*::vtable::iterator_next
      Src: /src/gnulib/lib/gl_oset.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iterator
    - eltp
    argTypes:
    - gl_oset_iterator_t*
    - void**
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: gl_oset_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 9
    functionsReached:
    - gl_oset_iterator_t*::vtable::iterator_next
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_iterator_next (gl_oset_iterator_t *iterator,
      const void **eltp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator_t*::vtable::iterator_free
      Src: /src/gnulib/lib/gl_oset.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_oset_iterator_t*
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: gl_oset_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_oset.h
    functionUses: 8
    functionsReached:
    - gl_oset_iterator_t*::vtable::iterator_free
    linkageType: ''
    returnType: GL_OSET_INLINE
    signature: GL_OSET_INLINE gl_oset_iterator_free (gl_oset_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_prime
      Src: /src/gnulib/lib/mem-hash-map.c:61,1
    - Dst: XCALLOC
      Src: /src/gnulib/lib/mem-hash-map.c:67,1
    - Dst: obstack_init
      Src: /src/gnulib/lib/mem-hash-map.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - htab
    - init_size
    argTypes:
    - hash_table*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: hash_init
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 25
    functionsReached:
    - next_prime
    - XCALLOC
    - obstack_init
    linkageType: ''
    returnType: int
    signature: int hash_init (hash_table *htab, size_t init_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/mem-hash-map.c:80,1
    - Dst: obstack_free
      Src: /src/gnulib/lib/mem-hash-map.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - htab
    argTypes:
    - hash_table*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: hash_destroy
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached:
    - free
    - obstack_free
    linkageType: ''
    returnType: int
    signature: int hash_destroy (hash_table *htab)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: compute_hashval
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t compute_hashval (const void *key, size_t keylen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/mem-hash-map.c:132,1
    - Dst: memcmp
      Src: /src/gnulib/lib/mem-hash-map.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - htab
    - key
    - keylen
    - hval
    argTypes:
    - hash_table*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: lookup
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 19
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t lookup (const hash_table *htab,\n        const void *key, size_t
      keylen,\n        size_t hval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - htab
    - key
    - keylen
    - result
    argTypes:
    - hash_table*
    - void*
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: hash_find_entry
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hash_find_entry (const hash_table *htab, const void *key, size_t
      keylen,\n                 void **result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - htab
    - key
    - keylen
    - hval
    - idx
    - data
    argTypes:
    - hash_table*
    - void*
    - size_t
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: insert_entry_2
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void insert_entry_2 (hash_table *htab,\n                const void
      *key, size_t keylen,\n                size_t hval, size_t idx, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_prime
      Src: /src/gnulib/lib/mem-hash-map.c:213,1
    - Dst: XCALLOC
      Src: /src/gnulib/lib/mem-hash-map.c:216,1
    - Dst: insert_entry_2
      Src: /src/gnulib/lib/mem-hash-map.c:220,1
    - Dst: lookup
      Src: /src/gnulib/lib/mem-hash-map.c:222,1
    - Dst: free
      Src: /src/gnulib/lib/mem-hash-map.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - htab
    argTypes:
    - hash_table*
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: resize
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 17
    functionsReached:
    - XCALLOC
    - lookup
    - free
    - next_prime
    - insert_entry_2
    linkageType: ''
    returnType: void
    signature: void resize (hash_table *htab)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_entry_2
      Src: /src/gnulib/lib/mem-hash-map.c:250,1
    - Dst: resize
      Src: /src/gnulib/lib/mem-hash-map.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - htab
    - key
    - keylen
    - data
    argTypes:
    - hash_table*
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: hash_insert_entry
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached:
    - insert_entry_2
    - resize
    linkageType: ''
    returnType: void
    signature: "void *\nhash_insert_entry (hash_table *htab,\n                   const
      void *key, size_t keylen,\n                   void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: insert_entry_2
      Src: /src/gnulib/lib/mem-hash-map.c:280,1
    - Dst: resize
      Src: /src/gnulib/lib/mem-hash-map.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - htab
    - key
    - keylen
    - data
    argTypes:
    - hash_table*
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 286
    functionName: hash_set_value
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached:
    - insert_entry_2
    - resize
    linkageType: ''
    returnType: int
    signature: "int hash_set_value (hash_table *htab,\n                const void
      *key, size_t keylen,\n                void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - htab
    - ptr
    - key
    - keylen
    - data
    argTypes:
    - hash_table*
    - void**
    - void**
    - size_t*
    - void**
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: hash_iterate
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hash_iterate (hash_table *htab, void **ptr, const void **key,
      size_t *keylen,\n              void **data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - htab
    - ptr
    - key
    - keylen
    - datap
    argTypes:
    - hash_table*
    - void**
    - void**
    - size_t*
    - void***
    constantsTouched: []
    func_position:
      end: 352
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 352
    functionName: hash_iterate_modify
    functionSourceFile: /src/gnulib/lib/mem-hash-map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hash_iterate_modify (hash_table *htab, void **ptr,\n                     const
      void **key, size_t *keylen,\n                     void ***datap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log2
      Src: /src/gnulib/lib/log2f.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: log2f
    functionSourceFile: /src/gnulib/lib/log2f.c
    functionUses: 1
    functionsReached:
    - log2
    linkageType: ''
    returnType: float
    signature: float log2f (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanf
      Src: /src/gnulib/lib/log2f.c:44,1
    - Dst: frexpf
      Src: /src/gnulib/lib/log2f.c:74,1
    - Dst: logf
      Src: /src/gnulib/lib/log2f.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: log2f
    functionSourceFile: /src/gnulib/lib/log2f.c
    functionUses: 1
    functionsReached:
    - logf
    - isnanf
    - frexpf
    linkageType: ''
    returnType: float
    signature: float log2f (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/lseek.c:44,1
    - Dst: GetFileType
      Src: /src/gnulib/lib/lseek.c:50,1
    - Dst: lseek
      Src: /src/gnulib/lib/lseek.c:67,1
    - Dst: fstat
      Src: /src/gnulib/lib/lseek.c:76,1
    - Dst: S_ISREG
      Src: /src/gnulib/lib/lseek.c:78,1
    - Dst: _lseeki64
      Src: /src/gnulib/lib/lseek.c:85,1
    - Dst: lseek
      Src: /src/gnulib/lib/lseek.c:87,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - fd
    - offset
    - whence
    argTypes:
    - int
    - off_t
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: rpl_lseek
    functionSourceFile: /src/gnulib/lib/lseek.c
    functionUses: 0
    functionsReached:
    - GetFileType
    - _lseeki64
    - _get_osfhandle
    - S_ISREG
    - lseek
    - fstat
    linkageType: ''
    returnType: off_t
    signature: off_t rpl_lseek (int fd, off_t offset, int whence)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pread.c:41,1
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pread.c:46,1
    - Dst: __libc_read
      Src: /src/gnulib/lib/pread.c:50,1
    - Dst: __libc_lseek
      Src: /src/gnulib/lib/pread.c:56,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/pread.c:59,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/pread.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - buf
    - nbyte
    - offset
    argTypes:
    - int
    - void*
    - size_t
    - off_t
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: pread
    functionSourceFile: /src/gnulib/lib/pread.c
    functionUses: 2
    functionsReached:
    - __libc_lseek
    - __libc_read
    - __set_errno
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pread (int fd, void *buf, size_t nbyte, off_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execvpe
      Src: /src/gnulib/lib/execvp.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - program
    - argv
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: execvp
    functionSourceFile: /src/gnulib/lib/execvp.c
    functionUses: 2
    functionsReached:
    - execvpe
    linkageType: ''
    returnType: int
    signature: int execvp (const char *program, char * const *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/gnulib/lib/calloc.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: rpl_calloc
    functionSourceFile: /src/gnulib/lib/calloc.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    linkageType: ''
    returnType: void
    signature: 'void *

      rpl_calloc (size_t n, size_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ns
    argTypes:
    - time_t
    - long int
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: make_timespec
    functionSourceFile: /src/gnulib/lib/timespec.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _GL_TIMESPEC_INLINE
    signature: _GL_TIMESPEC_INLINE make_timespec (time_t s, long int ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/timespec.h:66,1
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/timespec.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: timespec_cmp
    functionSourceFile: /src/gnulib/lib/timespec.h
    functionUses: 4
    functionsReached:
    - _GL_CMP
    linkageType: ''
    returnType: _GL_TIMESPEC_INLINE
    signature: _GL_TIMESPEC_INLINE timespec_cmp (struct timespec a, struct timespec
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_CMP
      Src: /src/gnulib/lib/timespec.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct timespec
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: timespec_sign
    functionSourceFile: /src/gnulib/lib/timespec.h
    functionUses: 1
    functionsReached:
    - _GL_CMP
    linkageType: ''
    returnType: _GL_TIMESPEC_INLINE
    signature: _GL_TIMESPEC_INLINE timespec_sign (struct timespec a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct timespec
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: timespectod
    functionSourceFile: /src/gnulib/lib/timespec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _GL_TIMESPEC_INLINE
    signature: _GL_TIMESPEC_INLINE timespectod (struct timespec a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/c-aszprintf.c:30,1
    - Dst: c_vaszprintf
      Src: /src/gnulib/lib/c-aszprintf.c:31,1
    - Dst: va_end
      Src: /src/gnulib/lib/c-aszprintf.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - resultp
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: c_aszprintf
    functionSourceFile: /src/gnulib/lib/c-aszprintf.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - c_vaszprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t c_aszprintf (char **resultp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/tss.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - keyp
    - destructor
    argTypes:
    - tss_t*
    - tss_dtor_t
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tss_create
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int tss_create (tss_t *keyp, tss_dtor_t destructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - tss_t
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tss_set
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tss_set (tss_t key, void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_tls_get
      Src: /src/gnulib/lib/tss.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tss_get
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 1
    functionsReached:
    - glwthread_tls_get
    linkageType: ''
    returnType: void
    signature: 'void *

      tss_get (tss_t key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_tls_key_delete
      Src: /src/gnulib/lib/tss.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tss_delete
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached:
    - glwthread_tls_key_delete
    linkageType: ''
    returnType: void
    signature: void tss_delete (tss_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/tss.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - keyp
    - destructor
    argTypes:
    - tss_t*
    - tss_dtor_t
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: tss_create
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int tss_create (tss_t *keyp, tss_dtor_t destructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - tss_t
    - void*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: tss_set
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tss_set (tss_t key, void *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/gnulib/lib/tss.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: tss_get
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 1
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: 'void *

      tss_get (tss_t key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/gnulib/lib/tss.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: tss_delete
    functionSourceFile: /src/gnulib/lib/tss.c
    functionUses: 5
    functionsReached:
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: void tss_delete (tss_t key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/btowc.c:38,1
    - Dst: mbtowc
      Src: /src/gnulib/lib/btowc.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: btowc
    functionSourceFile: /src/gnulib/lib/btowc.c
    functionUses: 12
    functionsReached:
    - mbszero
    - mbtowc
    linkageType: ''
    returnType: wint_t
    signature: wint_t btowc (int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: local_lchownat
      Src: /src/gnulib/lib/fchownat.c:91,1
    - Dst: fstatat
      Src: /src/gnulib/lib/fchownat.c:106,1
    - Dst: fchownat
      Src: /src/gnulib/lib/fchownat.c:109,1
    - Dst: fchownat
      Src: /src/gnulib/lib/fchownat.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - fd
    - file
    - owner
    - group
    - flag
    argTypes:
    - int
    - char*
    - uid_t
    - gid_t
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: rpl_fchownat
    functionSourceFile: /src/gnulib/lib/fchownat.c
    functionUses: 0
    functionsReached:
    - fchownat
    - fstatat
    - local_lchownat
    linkageType: ''
    returnType: int
    signature: int rpl_fchownat (int fd, char const *file, uid_t owner, gid_t group,
      int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_add
      Src: /src/gnulib/lib/malloca.c:61,1
    - Dst: xalloc_oversized
      Src: /src/gnulib/lib/malloca.c:61,1
    - Dst: ckd_add
      Src: /src/gnulib/lib/malloca.c:71,1
    - Dst: cheri_bounds_set
      Src: /src/gnulib/lib/malloca.c:83,1
    - Dst: malloc
      Src: /src/gnulib/lib/malloca.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 102
    functionName: mmalloca
    functionSourceFile: /src/gnulib/lib/malloca.c
    functionUses: 0
    functionsReached:
    - malloc
    - xalloc_oversized
    - cheri_bounds_set
    - ckd_add
    linkageType: ''
    returnType: void
    signature: 'void *

      mmalloca (size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/malloca.c:113,1
    - Dst: free
      Src: /src/gnulib/lib/malloca.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: freea
    functionSourceFile: /src/gnulib/lib/malloca.c
    functionUses: 13
    functionsReached:
    - abort
    - free
    linkageType: ''
    returnType: void
    signature: void freea (void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/propername.c:65,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/propername.c:82,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/propername.c:89,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/propername.c:90,1
    - Dst: c32isalnum
      Src: /src/gnulib/lib/propername.c:92,1
    - Dst: c32isalnum
      Src: /src/gnulib/lib/propername.c:93,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/propername.c:93,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/propername.c:101,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/propername.c:107,1
    - Dst: mbui_cur_ptr
      Src: /src/gnulib/lib/propername.c:109,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/propername.c:114,1
    - Dst: abort
      Src: /src/gnulib/lib/propername.c:115,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/propername.c:116,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/propername.c:117,1
    - Dst: mbui_cur_ptr
      Src: /src/gnulib/lib/propername.c:119,1
    - Dst: mb_isalnum
      Src: /src/gnulib/lib/propername.c:120,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/propername.c:124,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/propername.c:128,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/propername.c:129,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/propername.c:130,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/propername.c:132,1
    - Dst: abort
      Src: /src/gnulib/lib/propername.c:133,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/propername.c:134,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/propername.c:138,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/propername.c:140,1
    - Dst: mb_isalnum
      Src: /src/gnulib/lib/propername.c:141,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/propername.c:151,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/propername.c:152,1
    - Dst: mb_len
      Src: /src/gnulib/lib/propername.c:154,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/propername.c:154,1
    - Dst: isalnum
      Src: /src/gnulib/lib/propername.c:160,1
    - Dst: isalnum
      Src: /src/gnulib/lib/propername.c:161,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:173,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 2
    argNames:
    - string
    - sub
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 175
    functionName: mbsstr_trimmed_wordbounded
    functionSourceFile: /src/gnulib/lib/propername.c
    functionUses: 0
    functionsReached:
    - abort
    - mbui_cur_ptr
    - strlen
    - mbui_advance
    - isalnum
    - free
    - mb_isalnum
    - mcel_scanz
    - c32isalnum
    - mbui_init
    - mbui_avail
    - mb_len
    - mbui_cur
    linkageType: ''
    returnType: bool
    signature: bool mbsstr_trimmed_wordbounded (const char *string, const char *sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbsstr_trimmed_wordbounded
      Src: /src/gnulib/lib/propername.c:188,1
    - Dst: sprintf
      Src: /src/gnulib/lib/propername.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 5
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: proper_name
    functionSourceFile: /src/gnulib/lib/propername.c
    functionUses: 0
    functionsReached:
    - sprintf
    - mbsstr_trimmed_wordbounded
    linkageType: ''
    returnType: char
    signature: 'char *

      proper_name (const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_strcasecmp
      Src: /src/gnulib/lib/propername.c:223,1
    - Dst: xstr_iconv
      Src: /src/gnulib/lib/propername.c:227,1
    - Dst: memcpy
      Src: /src/gnulib/lib/propername.c:238,1
    - Dst: memcpy
      Src: /src/gnulib/lib/propername.c:239,1
    - Dst: xstr_iconv
      Src: /src/gnulib/lib/propername.c:242,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:244,1
    - Dst: strchr
      Src: /src/gnulib/lib/propername.c:253,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:254,1
    - Dst: strcmp
      Src: /src/gnulib/lib/propername.c:278,1
    - Dst: mbsstr_trimmed_wordbounded
      Src: /src/gnulib/lib/propername.c:281,1
    - Dst: mbsstr_trimmed_wordbounded
      Src: /src/gnulib/lib/propername.c:283,1
    - Dst: mbsstr_trimmed_wordbounded
      Src: /src/gnulib/lib/propername.c:285,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:288,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:290,1
    - Dst: sprintf
      Src: /src/gnulib/lib/propername.c:299,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:302,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:304,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:311,1
    - Dst: free
      Src: /src/gnulib/lib/propername.c:314,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 2
    argNames:
    - name_ascii
    - name_utf8
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 317
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 317
    functionName: proper_name_utf8
    functionSourceFile: /src/gnulib/lib/propername.c
    functionUses: 0
    functionsReached:
    - mbsstr_trimmed_wordbounded
    - xstr_iconv
    - free
    - strchr
    - c_strcasecmp
    - sprintf
    - strcmp
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      proper_name_utf8 (const char *name_ascii, const char *name_utf8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/lib/propername.c:324,1
    - Dst: mbsstr_trimmed_wordbounded
      Src: /src/gnulib/lib/propername.c:325,1
    - Dst: printf
      Src: /src/gnulib/lib/propername.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/gnulib/lib/propername.c
    functionUses: 12
    functionsReached:
    - mbsstr_trimmed_wordbounded
    - printf
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/gnulib/lib/propername.c:337,1
    - Dst: printf
      Src: /src/gnulib/lib/propername.c:338,1
    - Dst: proper_name_utf8
      Src: /src/gnulib/lib/propername.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 6
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/gnulib/lib/propername.c
    functionUses: 12
    functionsReached:
    - printf
    - proper_name_utf8
    - setlocale
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/gnulib/lib/getaddrinfo.c:124,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/getaddrinfo.c:128,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/getaddrinfo.c:129,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/getaddrinfo.c:130,1
    - Dst: gl_sockets_startup
      Src: /src/gnulib/lib/getaddrinfo.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: use_win32_p
    functionSourceFile: /src/gnulib/lib/getaddrinfo.c
    functionUses: 0
    functionsReached:
    - gl_sockets_startup
    - GetModuleHandle
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int use_win32_p (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sockets_startup
      Src: /src/gnulib/lib/getaddrinfo.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: use_win32_p
    functionSourceFile: /src/gnulib/lib/getaddrinfo.c
    functionUses: 0
    functionsReached:
    - gl_sockets_startup
    linkageType: ''
    returnType: int
    signature: int use_win32_p (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: validate_family
    functionSourceFile: /src/gnulib/lib/getaddrinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool validate_family (int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/gnulib/lib/getaddrinfo.c:200,1
    - Dst: inet_pton
      Src: /src/gnulib/lib/getaddrinfo.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - host
    - family
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: is_numeric_host
    functionSourceFile: /src/gnulib/lib/getaddrinfo.c
    functionUses: 0
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: bool is_numeric_host (const char *host, int family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sreadahead
      Src: /src/gnulib/lib/freadahead.c:48,1
    - Dst: HASUB
      Src: /src/gnulib/lib/freadahead.c:51,1
    - Dst: abort
      Src: /src/gnulib/lib/freadahead.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 103
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 103
    functionName: freadahead
    functionSourceFile: /src/gnulib/lib/freadahead.c
    functionUses: 1
    functionsReached:
    - abort
    - __sreadahead
    - HASUB
    linkageType: ''
    returnType: size_t
    signature: size_t freadahead (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: __fpending
    functionSourceFile: /src/gnulib/lib/fpending.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t __fpending (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/gnulib/lib/sig2str.c:280,1
    - Dst: strcmp
      Src: /src/gnulib/lib/sig2str.c:291,1
    - Dst: strncmp
      Src: /src/gnulib/lib/sig2str.c:299,1
    - Dst: strncmp
      Src: /src/gnulib/lib/sig2str.c:305,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - signame
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 315
    functionName: str2signum
    functionSourceFile: /src/gnulib/lib/sig2str.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - strcmp
    - strncmp
    linkageType: ''
    returnType: int
    signature: int str2signum (char const *signame)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str2signum
      Src: /src/gnulib/lib/sig2str.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - signame
    - signum
    argTypes:
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: str2sig
    functionSourceFile: /src/gnulib/lib/sig2str.c
    functionUses: 2
    functionsReached:
    - str2signum
    linkageType: ''
    returnType: int
    signature: int str2sig (char const *signame, int *signum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/lib/sig2str.c:338,1
    - Dst: strcpy
      Src: /src/gnulib/lib/sig2str.c:352,1
    - Dst: strcpy
      Src: /src/gnulib/lib/sig2str.c:357,1
    - Dst: sprintf
      Src: /src/gnulib/lib/sig2str.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - signum
    - signame
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: sig2str
    functionSourceFile: /src/gnulib/lib/sig2str.c
    functionUses: 2
    functionsReached:
    - sprintf
    - strcpy
    linkageType: ''
    returnType: int
    signature: int sig2str (int signum, char *signame)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getaffinity_np
      Src: /src/gnulib/lib/nproc.c:81,1
    - Dst: pthread_self
      Src: /src/gnulib/lib/nproc.c:81,1
    - Dst: CPU_COUNT
      Src: /src/gnulib/lib/nproc.c:87,1
    - Dst: CPU_ISSET
      Src: /src/gnulib/lib/nproc.c:93,1
    - Dst: cpuset_create
      Src: /src/gnulib/lib/nproc.c:104,1
    - Dst: pthread_getaffinity_np
      Src: /src/gnulib/lib/nproc.c:109,1
    - Dst: pthread_self
      Src: /src/gnulib/lib/nproc.c:109,1
    - Dst: cpuset_size
      Src: /src/gnulib/lib/nproc.c:109,1
    - Dst: cpuset_destroy
      Src: /src/gnulib/lib/nproc.c:123,1
    - Dst: CPU_ALLOC
      Src: /src/gnulib/lib/nproc.c:143,1
    - Dst: sched_getaffinity
      Src: /src/gnulib/lib/nproc.c:148,1
    - Dst: CPU_FREE
      Src: /src/gnulib/lib/nproc.c:151,1
    - Dst: CPU_FREE
      Src: /src/gnulib/lib/nproc.c:157,1
    - Dst: CPU_FREE
      Src: /src/gnulib/lib/nproc.c:160,1
    - Dst: sched_getaffinity
      Src: /src/gnulib/lib/nproc.c:172,1
    - Dst: CPU_COUNT
      Src: /src/gnulib/lib/nproc.c:178,1
    - Dst: CPU_ISSET
      Src: /src/gnulib/lib/nproc.c:184,1
    - Dst: cpuset_create
      Src: /src/gnulib/lib/nproc.c:195,1
    - Dst: sched_getaffinity_np
      Src: /src/gnulib/lib/nproc.c:200,1
    - Dst: getpid
      Src: /src/gnulib/lib/nproc.c:200,1
    - Dst: cpuset_size
      Src: /src/gnulib/lib/nproc.c:200,1
    - Dst: cpuset_destroy
      Src: /src/gnulib/lib/nproc.c:213,1
    - Dst: GetProcessAffinityMask
      Src: /src/gnulib/lib/nproc.c:225,1
    - Dst: GetCurrentProcess
      Src: /src/gnulib/lib/nproc.c:225,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 241
    functionName: num_processors_via_affinity_mask
    functionSourceFile: /src/gnulib/lib/nproc.c
    functionUses: 0
    functionsReached:
    - cpuset_destroy
    - CPU_FREE
    - sched_getaffinity
    - sched_getaffinity_np
    - cpuset_create
    - getpid
    - cpuset_size
    - GetProcessAffinityMask
    - CPU_ISSET
    - pthread_getaffinity_np
    - pthread_self
    - CPU_COUNT
    - GetCurrentProcess
    - CPU_ALLOC
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long num_processors_via_affinity_mask (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pstat_getdynamic
      Src: /src/gnulib/lib/nproc.c:314,1
    - Dst: ARRAY_SIZE
      Src: /src/gnulib/lib/nproc.c:361,1
    - Dst: sysctl
      Src: /src/gnulib/lib/nproc.c:363,1
    - Dst: ARRAY_SIZE
      Src: /src/gnulib/lib/nproc.c:363,1
    - Dst: GetSystemInfo
      Src: /src/gnulib/lib/nproc.c:374,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 1
    argNames:
    - query
    argTypes:
    - enum nproc_query
    constantsTouched: []
    func_position:
      end: 381
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 381
    functionName: num_processors_ignoring_omp
    functionSourceFile: /src/gnulib/lib/nproc.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - GetSystemInfo
    - sysctl
    - pstat_getdynamic
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int num_processors_ignoring_omp (enum nproc_query query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isspace
      Src: /src/gnulib/lib/nproc.c:395,1
    - Dst: c_isdigit
      Src: /src/gnulib/lib/nproc.c:399,1
    - Dst: c_isspace
      Src: /src/gnulib/lib/nproc.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - threads
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 414
    functionName: parse_omp_threads
    functionSourceFile: /src/gnulib/lib/nproc.c
    functionUses: 0
    functionsReached:
    - c_isspace
    - c_isdigit
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int parse_omp_threads (char const* threads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_omp_threads
      Src: /src/gnulib/lib/nproc.c:426,1
    - Dst: getenv
      Src: /src/gnulib/lib/nproc.c:426,1
    - Dst: parse_omp_threads
      Src: /src/gnulib/lib/nproc.c:427,1
    - Dst: getenv
      Src: /src/gnulib/lib/nproc.c:427,1
    - Dst: MIN
      Src: /src/gnulib/lib/nproc.c:432,1
    - Dst: MIN
      Src: /src/gnulib/lib/nproc.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - query
    argTypes:
    - enum nproc_query
    constantsTouched: []
    func_position:
      end: 444
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 444
    functionName: num_processors
    functionSourceFile: /src/gnulib/lib/nproc.c
    functionUses: 0
    functionsReached:
    - parse_omp_threads
    - getenv
    - MIN
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int num_processors (enum nproc_query query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _open
      Src: /src/gnulib/lib/open.c:34,1
    - Dst: open
      Src: /src/gnulib/lib/open.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - filename
    - flags
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: orig_open
    functionSourceFile: /src/gnulib/lib/open.c
    functionUses: 0
    functionsReached:
    - open
    - _open
    linkageType: ''
    returnType: int
    signature: int orig_open (const char *filename, int flags, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnulib/lib/open.c:69,1
    - Dst: stat
      Src: /src/gnulib/lib/open.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - st
    - flags
    argTypes:
    - char*
    - struct stat*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: lstatif
    functionSourceFile: /src/gnulib/lib/open.c
    functionUses: 0
    functionsReached:
    - lstat
    - stat
    linkageType: ''
    returnType: int
    signature: int lstatif (char const *filename, struct stat *st, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/open.c:80,1
    - Dst: va_arg
      Src: /src/gnulib/lib/open.c:84,1
    - Dst: va_end
      Src: /src/gnulib/lib/open.c:86,1
    - Dst: strcmp
      Src: /src/gnulib/lib/open.c:99,1
    - Dst: lstatif
      Src: /src/gnulib/lib/open.c:149,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/open.c:154,1
    - Dst: orig_open
      Src: /src/gnulib/lib/open.c:179,1
    - Dst: set_cloexec_flag
      Src: /src/gnulib/lib/open.c:184,1
    - Dst: lstatif
      Src: /src/gnulib/lib/open.c:201,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/open.c:202,1
    - Dst: open
      Src: /src/gnulib/lib/open.c:205,1
    - Dst: _gl_register_fd
      Src: /src/gnulib/lib/open.c:207,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/open.c:227,1
    - Dst: close
      Src: /src/gnulib/lib/open.c:230,1
    - Dst: _gl_register_fd
      Src: /src/gnulib/lib/open.c:238,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 57
    argCount: 2
    argNames:
    - filename
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 242
    functionName: open
    functionSourceFile: /src/gnulib/lib/open.c
    functionUses: 339
    functionsReached:
    - lstatif
    - va_start
    - va_end
    - open
    - close
    - strcmp
    - orig_open
    - S_ISDIR
    - set_cloexec_flag
    - _gl_register_fd
    - va_arg
    linkageType: ''
    returnType: int
    signature: int open (const char *filename, int flags, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_state_help
      Src: /src/gnulib/lib/argp-parse.c:95,1
    - Dst: __argp_state_help
      Src: /src/gnulib/lib/argp-parse.c:98,1
    - Dst: __argp_base_name
      Src: /src/gnulib/lib/argp-parse.c:111,1
    - Dst: atoi
      Src: /src/gnulib/lib/argp-parse.c:125,1
    - Dst: __sleep
      Src: /src/gnulib/lib/argp-parse.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 134
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 134
    functionName: argp_default_parser
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - __argp_state_help
    - __argp_base_name
    - __sleep
    - atoi
    linkageType: ''
    returnType: error_t
    signature: error_t argp_default_parser (int key, char *arg, struct argp_state
      *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/argp-parse.c:155,1
    - Dst: __argp_error
      Src: /src/gnulib/lib/argp-parse.c:157,1
    - Dst: dgettext
      Src: /src/gnulib/lib/argp-parse.c:158,1
    - Dst: exit
      Src: /src/gnulib/lib/argp-parse.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: argp_version_parser
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - exit
    - dgettext
    - fprintf
    - __argp_error
    linkageType: ''
    returnType: error_t
    signature: error_t argp_version_parser (int key, char *arg, struct argp_state
      *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/argp-parse.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - long_options
    - name
    argTypes:
    - struct option*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: find_long_option
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_long_option (struct option *long_options, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - group
    - state
    - key
    - arg
    argTypes:
    - struct group*
    - struct argp_state*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: group_parse
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t group_parse (struct group *group, struct argp_state *state,
      int key, char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __option_is_end
      Src: /src/gnulib/lib/argp-parse.c:302,1
    - Dst: __option_is_short
      Src: /src/gnulib/lib/argp-parse.c:311,1
    - Dst: find_long_option
      Src: /src/gnulib/lib/argp-parse.c:325,1
    - Dst: convert_options
      Src: /src/gnulib/lib/argp-parse.c:383,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 5
    argNames:
    - argp
    - parent
    - parent_index
    - group
    - cvt
    argTypes:
    - struct argp*
    - struct group*
    - unsigned
    - struct group*
    - struct parser_convert_state*
    constantsTouched: []
    func_position:
      end: 387
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 387
    functionName: convert_options
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 1
    functionsReached:
    - __option_is_end
    - __option_is_short
    - find_long_option
    - convert_options
    linkageType: ''
    returnType: struct group
    signature: "struct group *\nconvert_options (const struct argp *argp,\n                 struct
      group *parent, unsigned parent_index,\n                 struct group *group,
      struct parser_convert_state *cvt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_options
      Src: /src/gnulib/lib/argp-parse.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - argp
    - flags
    argTypes:
    - struct parser*
    - struct argp*
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: parser_convert
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - convert_options
    linkageType: ''
    returnType: void
    signature: void parser_convert (struct parser *parser, const struct argp *argp,
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __option_is_end
      Src: /src/gnulib/lib/argp-parse.c:441,1
    - Dst: calc_sizes
      Src: /src/gnulib/lib/argp-parse.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argp
    - szs
    argTypes:
    - struct argp*
    - struct parser_sizes*
    constantsTouched: []
    func_position:
      end: 454
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 454
    functionName: calc_sizes
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 1
    functionsReached:
    - __option_is_end
    - calc_sizes
    linkageType: ''
    returnType: void
    signature: void calc_sizes (const struct argp *argp,  struct parser_sizes *szs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_sizes
      Src: /src/gnulib/lib/argp-parse.c:477,1
    - Dst: alignto
      Src: /src/gnulib/lib/argp-parse.c:491,1
    - Dst: malloc
      Src: /src/gnulib/lib/argp-parse.c:495,1
    - Dst: memset
      Src: /src/gnulib/lib/argp-parse.c:506,1
    - Dst: parser_convert
      Src: /src/gnulib/lib/argp-parse.c:507,1
    - Dst: memset
      Src: /src/gnulib/lib/argp-parse.c:509,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:540,1
    - Dst: __argp_base_name
      Src: /src/gnulib/lib/argp-parse.c:561,1
    - Dst: __argp_short_program_name
      Src: /src/gnulib/lib/argp-parse.c:563,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 6
    argNames:
    - parser
    - argp
    - argc
    - argv
    - flags
    - input
    argTypes:
    - struct parser*
    - struct argp*
    - int
    - char**
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 566
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 566
    functionName: parser_init
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 2
    functionsReached:
    - __argp_short_program_name
    - __argp_base_name
    - calc_sizes
    - alignto
    - group_parse
    - memset
    - malloc
    - parser_convert
    linkageType: ''
    returnType: error_t
    signature: "error_t parser_init (struct parser *parser, const struct argp *argp,\n
      \            int argc, char **argv, int flags, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:589,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:593,1
    - Dst: fprintf
      Src: /src/gnulib/lib/argp-parse.c:610,1
    - Dst: dgettext
      Src: /src/gnulib/lib/argp-parse.c:611,1
    - Dst: __argp_state_help
      Src: /src/gnulib/lib/argp-parse.c:627,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:632,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:643,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:650,1
    - Dst: free
      Src: /src/gnulib/lib/argp-parse.c:655,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 4
    argNames:
    - parser
    - err
    - arg_ebadkey
    - end_index
    argTypes:
    - struct parser*
    - error_t
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 658
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 658
    functionName: parser_finalize
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - __argp_state_help
    - free
    - dgettext
    - group_parse
    - fprintf
    linkageType: ''
    returnType: error_t
    signature: "error_t parser_finalize (struct parser *parser,\n                 error_t
      err, int arg_ebadkey, int *end_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:682,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - struct parser*
    - char*
    constantsTouched: []
    func_position:
      end: 712
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 712
    functionName: parser_parse_arg
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: error_t parser_parse_arg (struct parser *parser, char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:736,1
    - Dst: group_parse
      Src: /src/gnulib/lib/argp-parse.c:748,1
    - Dst: __argp_error
      Src: /src/gnulib/lib/argp-parse.c:760,1
    - Dst: dgettext
      Src: /src/gnulib/lib/argp-parse.c:761,1
    - Dst: __argp_error
      Src: /src/gnulib/lib/argp-parse.c:767,1
    - Dst: dgettext
      Src: /src/gnulib/lib/argp-parse.c:769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - opt
    - val
    argTypes:
    - struct parser*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 774
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 774
    functionName: parser_parse_opt
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - __argp_error
    - dgettext
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: error_t parser_parse_opt (struct parser *parser, int opt, char *val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_long_only_r
      Src: /src/gnulib/lib/argp-parse.c:801,1
    - Dst: _getopt_long_r
      Src: /src/gnulib/lib/argp-parse.c:805,1
    - Dst: strcmp
      Src: /src/gnulib/lib/argp-parse.c:817,1
    - Dst: parser_parse_arg
      Src: /src/gnulib/lib/argp-parse.c:857,1
    - Dst: parser_parse_opt
      Src: /src/gnulib/lib/argp-parse.c:859,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - parser
    - arg_ebadkey
    argTypes:
    - struct parser*
    - int*
    constantsTouched: []
    func_position:
      end: 865
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 865
    functionName: parser_parse_next
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - parser_parse_opt
    - _getopt_long_only_r
    - parser_parse_arg
    - _getopt_long_r
    - strcmp
    linkageType: ''
    returnType: error_t
    signature: error_t parser_parse_next (struct parser *parser, int *arg_ebadkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_base_name
      Src: /src/gnulib/lib/argp-parse.c:892,1
    - Dst: alloca
      Src: /src/gnulib/lib/argp-parse.c:900,1
    - Dst: alloca
      Src: /src/gnulib/lib/argp-parse.c:901,1
    - Dst: memset
      Src: /src/gnulib/lib/argp-parse.c:905,1
    - Dst: memset
      Src: /src/gnulib/lib/argp-parse.c:908,1
    - Dst: parser_init
      Src: /src/gnulib/lib/argp-parse.c:921,1
    - Dst: parser_parse_next
      Src: /src/gnulib/lib/argp-parse.c:927,1
    - Dst: parser_finalize
      Src: /src/gnulib/lib/argp-parse.c:928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 6
    argNames:
    - argp
    - argc
    - argv
    - flags
    - end_index
    - input
    argTypes:
    - struct argp*
    - int
    - char**
    - unsigned
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 932
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 932
    functionName: __argp_parse
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached:
    - __argp_base_name
    - parser_parse_next
    - parser_finalize
    - parser_init
    - memset
    - alloca
    linkageType: ''
    returnType: error_t
    signature: "error_t __argp_parse (const struct argp *argp, int argc, char **argv,
      unsigned flags,\n              int *end_index, void *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argp
    - state
    argTypes:
    - struct argp*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 953
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 953
    functionName: __argp_input
    functionSourceFile: /src/gnulib/lib/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      __argp_input (const struct argp *argp, const struct argp_state *state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::gl_Map
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_Map ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_create_empty
      Src: /src/gnulib/lib/gl_map.hh:55,1
    - Dst: reinterpret_cast<gl_mapkey_equals_fn>
      Src: /src/gnulib/lib/gl_map.hh:56,1
    - Dst: reinterpret_cast<gl_mapkey_hashcode_fn>
      Src: /src/gnulib/lib/gl_map.hh:57,1
    - Dst: reinterpret_cast<gl_mapkey_dispose_fn>
      Src: /src/gnulib/lib/gl_map.hh:58,1
    - Dst: reinterpret_cast<gl_mapvalue_dispose_fn>
      Src: /src/gnulib/lib/gl_map.hh:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - implementation
    argTypes:
    - gl_map_implementation_t
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::gl_Map
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_mapkey_hashcode_fn>
    - reinterpret_cast<gl_mapkey_equals_fn>
    - reinterpret_cast<gl_mapkey_dispose_fn>
    - reinterpret_cast<gl_mapvalue_dispose_fn>
    - gl_map_create_empty
    linkageType: ''
    returnType: void
    signature: "void gl_Map (gl_map_implementation_t implementation,\n          bool
      (*equals_fn) (KEYTYPE * /*key1*/, KEYTYPE * /*key2*/),\n          size_t (*hashcode_fn)
      (KEYTYPE *),\n          void (*kdispose_fn) (KEYTYPE *),\n          void (*vdispose_fn)
      (VALUETYPE *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_Map
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::gl_Map
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_Map (const gl_Map& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_Map
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: '& operator= (const gl_Map& x)'
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_Map
    signature: gl_Map & operator= (const gl_Map& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ~gl_Map ()
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~gl_Map ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_size
      Src: /src/gnulib/lib/gl_map.hh:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::size
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_size
    linkageType: ''
    returnType: size_t
    signature: size_t size () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VALUETYPE *>
      Src: /src/gnulib/lib/gl_map.hh:84,1
    - Dst: gl_map_get
      Src: /src/gnulib/lib/gl_map.hh:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - KEYTYPE*
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::get
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_get
    - static_cast<VALUETYPE *>
    linkageType: ''
    returnType: VALUETYPE
    signature: VALUETYPE * get (KEYTYPE * key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_search
      Src: /src/gnulib/lib/gl_map.hh:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' value'
    argTypes:
    - KEYTYPE*
    - VALUETYPE*
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::search
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_search
    linkageType: ''
    returnType: bool
    signature: bool search (KEYTYPE * key, VALUETYPE *& value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_put
      Src: /src/gnulib/lib/gl_map.hh:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - KEYTYPE*
    - VALUETYPE*
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::put
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_put
    linkageType: ''
    returnType: bool
    signature: bool put (KEYTYPE * key, VALUETYPE * value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_getput
      Src: /src/gnulib/lib/gl_map.hh:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - ' oldvalue'
    argTypes:
    - KEYTYPE*
    - VALUETYPE*
    - VALUETYPE*
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::getput
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_getput
    linkageType: ''
    returnType: bool
    signature: bool getput (KEYTYPE * key, VALUETYPE * value, VALUETYPE *& oldvalue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_remove
      Src: /src/gnulib/lib/gl_map.hh:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - KEYTYPE*
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::remove
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_remove
    linkageType: ''
    returnType: bool
    signature: bool remove (KEYTYPE * key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_getremove
      Src: /src/gnulib/lib/gl_map.hh:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' oldvalue'
    argTypes:
    - KEYTYPE*
    - VALUETYPE*
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::getremove
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_getremove
    linkageType: ''
    returnType: bool
    signature: bool getremove (KEYTYPE * key, VALUETYPE *& oldvalue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_free
      Src: /src/gnulib/lib/gl_map.hh:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::free
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_free
    linkageType: ''
    returnType: void
    signature: void free ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KEYTYPE *>
      Src: /src/gnulib/lib/gl_map.hh:154,1
    - Dst: static_cast<VALUETYPE *>
      Src: /src/gnulib/lib/gl_map.hh:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - KEYTYPE*
    - VALUETYPE*
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::iterator::next
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - static_cast<KEYTYPE *>
    - static_cast<VALUETYPE *>
    linkageType: ''
    returnType: bool
    signature: bool next (KEYTYPE *& key, VALUETYPE *& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_iterator_free
      Src: /src/gnulib/lib/gl_map.hh:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: ~iterator ()
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_iterator_free
    linkageType: ''
    returnType: void
    signature: void ~iterator ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_map_iterator
      Src: /src/gnulib/lib/gl_map.hh:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::iterator::iterator
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - gl_map_iterator
    linkageType: ''
    returnType: void
    signature: void iterator (gl_map_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/gnulib/lib/gl_map.hh:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: gl_Map<KEYTYPE *, VALUETYPE *>::begin
    functionSourceFile: /src/gnulib/lib/gl_map.hh
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/xprintf.c:36,1
    - Dst: xvprintf
      Src: /src/gnulib/lib/xprintf.c:37,1
    - Dst: va_end
      Src: /src/gnulib/lib/xprintf.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: xprintf
    functionSourceFile: /src/gnulib/lib/xprintf.c
    functionUses: 5
    functionsReached:
    - xvprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: off64_t
    signature: off64_t xprintf (char const *restrict format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vzprintf
      Src: /src/gnulib/lib/xprintf.c:46,1
    - Dst: ferror
      Src: /src/gnulib/lib/xprintf.c:47,1
    - Dst: error
      Src: /src/gnulib/lib/xprintf.c:48,1
    - Dst: _
      Src: /src/gnulib/lib/xprintf.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: xvprintf
    functionSourceFile: /src/gnulib/lib/xprintf.c
    functionUses: 1
    functionsReached:
    - error
    - _
    - ferror
    - vzprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t xvprintf (char const *restrict format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/xprintf.c:58,1
    - Dst: xvfprintf
      Src: /src/gnulib/lib/xprintf.c:59,1
    - Dst: va_end
      Src: /src/gnulib/lib/xprintf.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: xfprintf
    functionSourceFile: /src/gnulib/lib/xprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - xvfprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t xfprintf (FILE *restrict stream, char const *restrict format,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfzprintf
      Src: /src/gnulib/lib/xprintf.c:68,1
    - Dst: ferror
      Src: /src/gnulib/lib/xprintf.c:69,1
    - Dst: error
      Src: /src/gnulib/lib/xprintf.c:70,1
    - Dst: _
      Src: /src/gnulib/lib/xprintf.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - format
    - args
    argTypes:
    - FILE*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: xvfprintf
    functionSourceFile: /src/gnulib/lib/xprintf.c
    functionUses: 1
    functionsReached:
    - ferror
    - _
    - error
    - vfzprintf
    linkageType: ''
    returnType: off64_t
    signature: off64_t xvfprintf (FILE *restrict stream, char const *restrict format,
      va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/windows-cygpath.c:63,1
    - Dst: fdopen
      Src: /src/gnulib/lib/windows-cygpath.c:70,1
    - Dst: error
      Src: /src/gnulib/lib/windows-cygpath.c:72,1
    - Dst: _
      Src: /src/gnulib/lib/windows-cygpath.c:72,1
    - Dst: getline
      Src: /src/gnulib/lib/windows-cygpath.c:75,1
    - Dst: error
      Src: /src/gnulib/lib/windows-cygpath.c:78,1
    - Dst: _
      Src: /src/gnulib/lib/windows-cygpath.c:78,1
    - Dst: fclose
      Src: /src/gnulib/lib/windows-cygpath.c:79,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/windows-cygpath.c:80,1
    - Dst: getc
      Src: /src/gnulib/lib/windows-cygpath.c:90,1
    - Dst: fclose
      Src: /src/gnulib/lib/windows-cygpath.c:93,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/windows-cygpath.c:97,1
    - Dst: free
      Src: /src/gnulib/lib/windows-cygpath.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - progname
    - prog_path
    - prog_argv
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 103
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 103
    functionName: execute_and_read_line
    functionSourceFile: /src/gnulib/lib/windows-cygpath.c
    functionUses: 0
    functionsReached:
    - fclose
    - create_pipe_in
    - free
    - wait_subprocess
    - _
    - getc
    - getline
    - error
    - fdopen
    linkageType: ''
    returnType: char
    signature: "char *\nexecute_and_read_line (const char *progname,\n                       const
      char *prog_path, const char * const *prog_argv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/windows-cygpath.c:120,1
    - Dst: _
      Src: /src/gnulib/lib/windows-cygpath.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: windows_cygpath_w
    functionSourceFile: /src/gnulib/lib/windows-cygpath.c
    functionUses: 0
    functionsReached:
    - error
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      windows_cygpath_w (const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnulib/lib/windows-cygpath.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: windows_cygpath_w
    functionSourceFile: /src/gnulib/lib/windows-cygpath.c
    functionUses: 0
    functionsReached:
    - xstrdup
    linkageType: ''
    returnType: char
    signature: 'char *

      windows_cygpath_w (const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/lib/expm1.c:48,1
    - Dst: exp
      Src: /src/gnulib/lib/expm1.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 422
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 422
    functionName: expm1
    functionSourceFile: /src/gnulib/lib/expm1.c
    functionUses: 1
    functionsReached:
    - isnand
    - exp
    linkageType: ''
    returnType: double
    signature: double expm1 (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towlower
      Src: /src/gnulib/lib/wcscasecmp-impl.h:23,1
    - Dst: towlower
      Src: /src/gnulib/lib/wcscasecmp-impl.h:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: wcscasecmp
    functionSourceFile: /src/gnulib/lib/wcscasecmp-impl.h
    functionUses: 0
    functionsReached:
    - towlower
    linkageType: ''
    returnType: int
    signature: int wcscasecmp (const wchar_t *s1, const wchar_t *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/gnulib/lib/remainderl.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long double
    - long double
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: remainderl
    functionSourceFile: /src/gnulib/lib/remainderl.c
    functionUses: 1
    functionsReached:
    - remainder
    linkageType: ''
    returnType: long double
    signature: long double remainderl (long double x, long double y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/argp-fmtstream.c:62,1
    - Dst: malloc
      Src: /src/gnulib/lib/argp-fmtstream.c:73,1
    - Dst: free
      Src: /src/gnulib/lib/argp-fmtstream.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - stream
    - lmargin
    - rmargin
    - wmargin
    argTypes:
    - FILE*
    - size_t
    - size_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 87
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 87
    functionName: __argp_make_fmtstream
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: argp_fmtstream_t
    signature: "argp_fmtstream_t __argp_make_fmtstream (FILE *stream,\n                       size_t
      lmargin, size_t rmargin, ssize_t wmargin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.c:99,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/argp-fmtstream.c:103,1
    - Dst: fwrite_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:105,1
    - Dst: free
      Src: /src/gnulib/lib/argp-fmtstream.c:108,1
    - Dst: free
      Src: /src/gnulib/lib/argp-fmtstream.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: __argp_fmtstream_free
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - free
    - fwrite_unlocked
    - __fxprintf
    - __argp_fmtstream_update
    linkageType: ''
    returnType: void
    signature: void __argp_fmtstream_free (argp_fmtstream_t fs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/gnulib/lib/argp-fmtstream.c:140,1
    - Dst: memset
      Src: /src/gnulib/lib/argp-fmtstream.c:142,1
    - Dst: _IO_fwide
      Src: /src/gnulib/lib/argp-fmtstream.c:152,1
    - Dst: putwc_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:153,1
    - Dst: putc_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:156,1
    - Dst: memchr
      Src: /src/gnulib/lib/argp-fmtstream.c:163,1
    - Dst: memmove
      Src: /src/gnulib/lib/argp-fmtstream.c:203,1
    - Dst: isblank
      Src: /src/gnulib/lib/argp-fmtstream.c:229,1
    - Dst: isblank
      Src: /src/gnulib/lib/argp-fmtstream.c:239,1
    - Dst: isblank
      Src: /src/gnulib/lib/argp-fmtstream.c:251,1
    - Dst: isblank
      Src: /src/gnulib/lib/argp-fmtstream.c:264,1
    - Dst: memmove
      Src: /src/gnulib/lib/argp-fmtstream.c:284,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/argp-fmtstream.c:293,1
    - Dst: fwrite_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:297,1
    - Dst: putc_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:298,1
    - Dst: _IO_fwide
      Src: /src/gnulib/lib/argp-fmtstream.c:318,1
    - Dst: putwc_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:319,1
    - Dst: putc_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:322,1
    - Dst: memmove
      Src: /src/gnulib/lib/argp-fmtstream.c:327,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 104
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 345
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 345
    functionName: __argp_fmtstream_update
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.c
    functionUses: 1
    functionsReached:
    - memmove
    - __fxprintf
    - isblank
    - _IO_fwide
    - putc_unlocked
    - fwrite_unlocked
    - memset
    - memchr
    - putwc_unlocked
    linkageType: ''
    returnType: void
    signature: void __argp_fmtstream_update (argp_fmtstream_t fs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.c:357,1
    - Dst: __fxprintf
      Src: /src/gnulib/lib/argp-fmtstream.c:360,1
    - Dst: fwrite_unlocked
      Src: /src/gnulib/lib/argp-fmtstream.c:363,1
    - Dst: memmove
      Src: /src/gnulib/lib/argp-fmtstream.c:374,1
    - Dst: realloc
      Src: /src/gnulib/lib/argp-fmtstream.c:385,1
    - Dst: __set_errno
      Src: /src/gnulib/lib/argp-fmtstream.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - fs
    - amount
    argTypes:
    - struct argp_fmtstream*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 398
    functionName: __argp_fmtstream_ensure
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - memmove
    - __fxprintf
    - __set_errno
    - fwrite_unlocked
    - __argp_fmtstream_update
    - realloc
    linkageType: ''
    returnType: int
    signature: int __argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_ensure
      Src: /src/gnulib/lib/argp-fmtstream.c:411,1
    - Dst: va_start
      Src: /src/gnulib/lib/argp-fmtstream.c:414,1
    - Dst: __vsnprintf
      Src: /src/gnulib/lib/argp-fmtstream.c:416,1
    - Dst: va_end
      Src: /src/gnulib/lib/argp-fmtstream.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fs
    - fmt
    argTypes:
    - struct argp_fmtstream*
    - char*
    constantsTouched: []
    func_position:
      end: 426
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 426
    functionName: __argp_fmtstream_printf
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_ensure
    - va_start
    - __vsnprintf
    - va_end
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t __argp_fmtstream_printf (struct argp_fmtstream *fs, const char
      *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/relocatable.c:136,1
    - Dst: strlen
      Src: /src/gnulib/lib/relocatable.c:141,1
    - Dst: strlen
      Src: /src/gnulib/lib/relocatable.c:142,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/relocatable.c:143,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:148,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - orig_prefix_arg
    - curr_prefix_arg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 160
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 160
    functionName: set_this_relocation_prefix
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - memcpy
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void set_this_relocation_prefix (const char *orig_prefix_arg,\n                            const
      char *curr_prefix_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_this_relocation_prefix
      Src: /src/gnulib/lib/relocatable.c:170,1
    - Dst: libcharset_set_relocation_prefix
      Src: /src/gnulib/lib/relocatable.c:174,1
    - Dst: libiconv_set_relocation_prefix
      Src: /src/gnulib/lib/relocatable.c:177,1
    - Dst: libintl_set_relocation_prefix
      Src: /src/gnulib/lib/relocatable.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - orig_prefix_arg
    - curr_prefix_arg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: set_relocation_prefix
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 1
    functionsReached:
    - libiconv_set_relocation_prefix
    - set_this_relocation_prefix
    - libcharset_set_relocation_prefix
    - libintl_set_relocation_prefix
    linkageType: ''
    returnType: void
    signature: void set_relocation_prefix (const char *orig_prefix_arg, const char
      *curr_prefix_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/lib/relocatable.c:209,1
    - Dst: strlen
      Src: /src/gnulib/lib/relocatable.c:209,1
    - Dst: strlen
      Src: /src/gnulib/lib/relocatable.c:213,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:224,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/relocatable.c:228,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:233,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:256,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:256,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:258,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:258,1
    - Dst: free
      Src: /src/gnulib/lib/relocatable.c:286,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/relocatable.c:294,1
    - Dst: free
      Src: /src/gnulib/lib/relocatable.c:298,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:302,1
    - Dst: free
      Src: /src/gnulib/lib/relocatable.c:305,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 3
    argNames:
    - orig_installprefix
    - orig_installdir
    - curr_pathname
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 310
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 310
    functionName: compute_curr_prefix
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - ISSLASH
    - strlen
    - free
    - xmalloc
    - strncmp
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\ncompute_curr_prefix (const char *orig_installprefix,\n                     const
      char *orig_installdir,\n                     const char *curr_pathname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileName
      Src: /src/gnulib/lib/relocatable.c:341,1
    - Dst: IS_FILE_NAME_WITH_DIR
      Src: /src/gnulib/lib/relocatable.c:345,1
    - Dst: strcmp
      Src: /src/gnulib/lib/relocatable.c:353,1
    - Dst: strdup
      Src: /src/gnulib/lib/relocatable.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - module_handle
    - event
    - reserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: DllMain
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - GetModuleFileName
    - strdup
    - IS_FILE_NAME_WITH_DIR
    - strcmp
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _CRT_init
      Src: /src/gnulib/lib/relocatable.c:376,1
    - Dst: __ctordtorInit
      Src: /src/gnulib/lib/relocatable.c:379,1
    - Dst: DosQueryModuleName
      Src: /src/gnulib/lib/relocatable.c:383,1
    - Dst: _fnslashify
      Src: /src/gnulib/lib/relocatable.c:386,1
    - Dst: strdup
      Src: /src/gnulib/lib/relocatable.c:387,1
    - Dst: __ctordtorTerm
      Src: /src/gnulib/lib/relocatable.c:391,1
    - Dst: _CRT_term
      Src: /src/gnulib/lib/relocatable.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - hModule
    - ulFlag
    argTypes:
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 398
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 398
    functionName: _DLL_InitTerm
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - strdup
    - DosQueryModuleName
    - _CRT_term
    - _fnslashify
    - __ctordtorInit
    - _CRT_init
    - __ctordtorTerm
    linkageType: ''
    returnType: unsigned long _System
    signature: unsigned long _System _DLL_InitTerm (unsigned long hModule, unsigned
      long ulFlag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/relocatable.c:414,1
    - Dst: fscanf
      Src: /src/gnulib/lib/relocatable.c:423,1
    - Dst: getc
      Src: /src/gnulib/lib/relocatable.c:428,1
    - Dst: ungetc
      Src: /src/gnulib/lib/relocatable.c:435,1
    - Dst: getline
      Src: /src/gnulib/lib/relocatable.c:437,1
    - Dst: getc
      Src: /src/gnulib/lib/relocatable.c:447,1
    - Dst: fclose
      Src: /src/gnulib/lib/relocatable.c:450,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 453
    functionName: find_shared_library_fullname
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fscanf
    - ungetc
    - getc
    - getline
    linkageType: ''
    returnType: void
    signature: void find_shared_library_fullname ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_shared_library_fullname
      Src: /src/gnulib/lib/relocatable.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: get_shared_library_fullname
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - find_shared_library_fullname
    linkageType: ''
    returnType: char
    signature: 'char *

      get_shared_library_fullname ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_curr_prefix
      Src: /src/gnulib/lib/relocatable.c:502,1
    - Dst: get_shared_library_fullname
      Src: /src/gnulib/lib/relocatable.c:503,1
    - Dst: set_relocation_prefix
      Src: /src/gnulib/lib/relocatable.c:505,1
    - Dst: free
      Src: /src/gnulib/lib/relocatable.c:511,1
    - Dst: strncmp
      Src: /src/gnulib/lib/relocatable.c:522,1
    - Dst: strcpy
      Src: /src/gnulib/lib/relocatable.c:533,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:537,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:548,1
    - Dst: strcpy
      Src: /src/gnulib/lib/relocatable.c:549,1
    - Dst: strncmp
      Src: /src/gnulib/lib/relocatable.c:559,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:560,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/relocatable.c:567,1
    - Dst: HAS_DEVICE
      Src: /src/gnulib/lib/relocatable.c:571,1
    - Dst: memcpy
      Src: /src/gnulib/lib/relocatable.c:578,1
    - Dst: strcpy
      Src: /src/gnulib/lib/relocatable.c:579,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 588
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 588
    functionName: relocate
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached:
    - compute_curr_prefix
    - ISSLASH
    - strcpy
    - free
    - set_relocation_prefix
    - get_shared_library_fullname
    - strncmp
    - memcpy
    - HAS_DEVICE
    linkageType: ''
    returnType: char
    signature: 'char *

      relocate (const char *pathname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pathname
    - allocatedp
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: relocate2
    functionSourceFile: /src/gnulib/lib/relocatable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      relocate2 (const char *pathname, char **allocatedp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/send.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/send.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - buf
    - len
    - flags
    argTypes:
    - int
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_send
    functionSourceFile: /src/gnulib/lib/send.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_send (int fd, const void *buf, size_t len, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/xbinary-io.c:35,1
    - Dst: _
      Src: /src/gnulib/lib/xbinary-io.c:36,1
    - Dst: assume
      Src: /src/gnulib/lib/xbinary-io.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: xset_binary_mode_error
    functionSourceFile: /src/gnulib/lib/xbinary-io.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - assume
    linkageType: ''
    returnType: void
    signature: void xset_binary_mode_error (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv_set_ismember
      Src: /src/gnulib/lib/write-any-file.c:48,1
    - Dst: geteuid
      Src: /src/gnulib/lib/write-any-file.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: can_write_any_file
    functionSourceFile: /src/gnulib/lib/write-any-file.c
    functionUses: 0
    functionsReached:
    - geteuid
    - priv_set_ismember
    linkageType: ''
    returnType: bool
    signature: bool can_write_any_file (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/execute.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: nonintr_close
    functionSourceFile: /src/gnulib/lib/execute.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int nonintr_close (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/lib/execute.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pathname
    - oflag
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: nonintr_open
    functionSourceFile: /src/gnulib/lib/execute.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int nonintr_open (const char *pathname, int oflag, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/execute.c:143,1
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/execute.c:153,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:160,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:163,1
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/execute.c:167,1
    - Dst: abort
      Src: /src/gnulib/lib/execute.c:168,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/execute.c:181,1
    - Dst: open
      Src: /src/gnulib/lib/execute.c:189,1
    - Dst: open
      Src: /src/gnulib/lib/execute.c:191,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/execute.c:201,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/execute.c:203,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/execute.c:205,1
    - Dst: spawnpvech
      Src: /src/gnulib/lib/execute.c:207,1
    - Dst: spawnpvech
      Src: /src/gnulib/lib/execute.c:218,1
    - Dst: close
      Src: /src/gnulib/lib/execute.c:228,1
    - Dst: close
      Src: /src/gnulib/lib/execute.c:230,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:231,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:232,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:233,1
    - Dst: WIFSIGNALED
      Src: /src/gnulib/lib/execute.c:243,1
    - Dst: WTERMSIG
      Src: /src/gnulib/lib/execute.c:246,1
    - Dst: extended_environ
      Src: /src/gnulib/lib/execute.c:276,1
    - Dst: sigprocmask
      Src: /src/gnulib/lib/execute.c:285,1
    - Dst: block_fatal_signals
      Src: /src/gnulib/lib/execute.c:286,1
    - Dst: posix_spawn_file_actions_init
      Src: /src/gnulib/lib/execute.c:290,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/lib/execute.c:293,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/lib/execute.c:299,1
    - Dst: posix_spawn_file_actions_addopen
      Src: /src/gnulib/lib/execute.c:305,1
    - Dst: posix_spawn_file_actions_addchdir
      Src: /src/gnulib/lib/execute.c:311,1
    - Dst: posix_spawnattr_init
      Src: /src/gnulib/lib/execute.c:315,1
    - Dst: posix_spawnattr_setsigmask
      Src: /src/gnulib/lib/execute.c:317,1
    - Dst: posix_spawnattr_setflags
      Src: /src/gnulib/lib/execute.c:320,1
    - Dst: posix_spawn
      Src: /src/gnulib/lib/execute.c:325,1
    - Dst: posix_spawnp
      Src: /src/gnulib/lib/execute.c:329,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/lib/execute.c:336,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/lib/execute.c:338,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/execute.c:340,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:343,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:344,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:346,1
    - Dst: posix_spawn_file_actions_destroy
      Src: /src/gnulib/lib/execute.c:352,1
    - Dst: posix_spawnattr_destroy
      Src: /src/gnulib/lib/execute.c:354,1
    - Dst: register_slave_subprocess
      Src: /src/gnulib/lib/execute.c:357,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/execute.c:358,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:362,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:363,1
    - Dst: free
      Src: /src/gnulib/lib/execute.c:365,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/execute.c:367,1
    - Dst: error
      Src: /src/gnulib/lib/execute.c:376,1
    - Dst: _
      Src: /src/gnulib/lib/execute.c:377,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 108
    argCount: 12
    argNames:
    - progname
    - prog_path
    - prog_argv
    - dll_dirs
    - directory
    - ignore_sigpipe
    - null_stdin
    - null_stdout
    - null_stderr
    - slave_process
    - exit_on_error
    - termsigp
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - char*
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - int*
    constantsTouched: []
    func_position:
      end: 379
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 379
    functionName: execute
    functionSourceFile: /src/gnulib/lib/execute.c
    functionUses: 8
    functionsReached:
    - WIFSIGNALED
    - open
    - sigprocmask
    - IS_ABSOLUTE_FILE_NAME
    - free
    - close
    - posix_spawn_file_actions_init
    - posix_spawnattr_setsigmask
    - posix_spawn_file_actions_addopen
    - posix_spawn
    - error
    - block_fatal_signals
    - extended_environ
    - WTERMSIG
    - posix_spawnattr_destroy
    - register_slave_subprocess
    - unblock_fatal_signals
    - posix_spawnp
    - posix_spawn_file_actions_destroy
    - _
    - spawnpvech
    - posix_spawnattr_init
    - abort
    - posix_spawn_file_actions_addchdir
    - wait_subprocess
    - xalloc_die
    - _get_osfhandle
    - posix_spawnattr_setflags
    linkageType: ''
    returnType: int
    signature: "int execute (const char *progname,\n         const char *prog_path,
      const char * const *prog_argv,\n         const char * const *dll_dirs,\n         const
      char *directory,\n         bool ignore_sigpipe,\n         bool null_stdin, bool
      null_stdout, bool null_stderr,\n         bool slave_process, bool exit_on_error,\n
      \        int *termsigp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/gnulib/lib/sys_stat.in.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: rpl_mkdir
    functionSourceFile: /src/gnulib/lib/sys_stat.in.h
    functionUses: 0
    functionsReached:
    - _mkdir
    linkageType: ''
    returnType: int
    signature: int rpl_mkdir (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/gnulib/lib/sys_stat.in.h:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - mode_t
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: rpl_mkdir
    functionSourceFile: /src/gnulib/lib/sys_stat.in.h
    functionUses: 0
    functionsReached:
    - _mkdir
    linkageType: ''
    returnType: int
    signature: int rpl_mkdir (char const *name, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/qcopy-acl.c:53,1
    - Dst: strcmp
      Src: /src/gnulib/lib/qcopy-acl.c:54,1
    - Dst: strcmp
      Src: /src/gnulib/lib/qcopy-acl.c:55,1
    - Dst: attr_copy_action
      Src: /src/gnulib/lib/qcopy-acl.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ctx
    argTypes:
    - char*
    - struct error_context*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: is_attr_permissions
    functionSourceFile: /src/gnulib/lib/qcopy-acl.c
    functionUses: 0
    functionsReached:
    - attr_copy_action
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_attr_permissions (const char *name, struct error_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chmod_or_fchmod
      Src: /src/gnulib/lib/qcopy-acl.c:84,1
    - Dst: attr_copy_file
      Src: /src/gnulib/lib/qcopy-acl.c:93,1
    - Dst: attr_copy_fd
      Src: /src/gnulib/lib/qcopy-acl.c:94,1
    - Dst: fdfile_has_aclinfo
      Src: /src/gnulib/lib/qcopy-acl.c:108,1
    - Dst: aclinfo_free
      Src: /src/gnulib/lib/qcopy-acl.c:110,1
    - Dst: get_permissions
      Src: /src/gnulib/lib/qcopy-acl.c:118,1
    - Dst: set_permissions
      Src: /src/gnulib/lib/qcopy-acl.c:121,1
    - Dst: free_permission_context
      Src: /src/gnulib/lib/qcopy-acl.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - src_name
    - source_desc
    - dst_name
    - dest_desc
    - mode
    argTypes:
    - char*
    - int
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 125
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 125
    functionName: qcopy_acl
    functionSourceFile: /src/gnulib/lib/qcopy-acl.c
    functionUses: 2
    functionsReached:
    - set_permissions
    - free_permission_context
    - get_permissions
    - chmod_or_fchmod
    - attr_copy_fd
    - attr_copy_file
    - fdfile_has_aclinfo
    - aclinfo_free
    linkageType: ''
    returnType: int
    signature: "int qcopy_acl (const char *src_name, int source_desc, const char *dst_name,\n
      \          int dest_desc, mode_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fsync
      Src: /src/gnulib/lib/fdatasync.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: fdatasync
    functionSourceFile: /src/gnulib/lib/fdatasync.c
    functionUses: 1
    functionsReached:
    - fsync
    linkageType: ''
    returnType: int
    signature: int fdatasync (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/lib/mountlist.c:219,1
    - Dst: GetDriveType
      Src: /src/gnulib/lib/mountlist.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fs_name
    - fs_type
    argTypes:
    - char*
    - _GL_UNUSED*
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: me_remote
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached:
    - sprintf
    - GetDriveType
    linkageType: ''
    returnType: bool
    signature: bool me_remote (char const *fs_name, _GL_UNUSED char const *fs_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - short int
    constantsTouched: []
    func_position:
      end: 353
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 353
    functionName: fstype_to_string
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      fstype_to_string (short int t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstype_to_string
      Src: /src/gnulib/lib/mountlist.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fsp
    argTypes:
    - struct statfs*
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: fsp_to_string
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached:
    - fstype_to_string
    linkageType: ''
    returnType: char
    signature: 'char *

      fsp_to_string (const struct statfs *fsp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getvfsbytype
      Src: /src/gnulib/lib/mountlist.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: fstype_to_string
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 1
    functionsReached:
    - getvfsbytype
    linkageType: ''
    returnType: char
    signature: 'char *

      fstype_to_string (int t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_isxdigit
      Src: /src/gnulib/lib/mountlist.c:401,1
    - Dst: strtoul
      Src: /src/gnulib/lib/mountlist.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - mount_options
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 418
    functionName: dev_from_mount_options
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached:
    - c_isxdigit
    - strtoul
    linkageType: ''
    returnType: dev_t
    signature: dev_t dev_from_mount_options (char const *mount_options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 447
    functionName: unescape_tab
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unescape_tab (char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: terminate_at_blank
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      terminate_at_blank (char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/mountlist.c:482,1
    - Dst: getline
      Src: /src/gnulib/lib/mountlist.c:488,1
    - Dst: sscanf
      Src: /src/gnulib/lib/mountlist.c:493,1
    - Dst: terminate_at_blank
      Src: /src/gnulib/lib/mountlist.c:511,1
    - Dst: terminate_at_blank
      Src: /src/gnulib/lib/mountlist.c:522,1
    - Dst: terminate_at_blank
      Src: /src/gnulib/lib/mountlist.c:528,1
    - Dst: unescape_tab
      Src: /src/gnulib/lib/mountlist.c:532,1
    - Dst: unescape_tab
      Src: /src/gnulib/lib/mountlist.c:533,1
    - Dst: unescape_tab
      Src: /src/gnulib/lib/mountlist.c:534,1
    - Dst: unescape_tab
      Src: /src/gnulib/lib/mountlist.c:535,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:537,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:539,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:540,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:541,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:542,1
    - Dst: makedev
      Src: /src/gnulib/lib/mountlist.c:544,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:549,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:550,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:557,1
    - Dst: ferror
      Src: /src/gnulib/lib/mountlist.c:559,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:562,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:567,1
    - Dst: setmntent
      Src: /src/gnulib/lib/mountlist.c:576,1
    - Dst: getmntent
      Src: /src/gnulib/lib/mountlist.c:580,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:584,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:585,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:586,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:588,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:590,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:591,1
    - Dst: dev_from_mount_options
      Src: /src/gnulib/lib/mountlist.c:592,1
    - Dst: endmntent
      Src: /src/gnulib/lib/mountlist.c:599,1
    - Dst: getmntinfo
      Src: /src/gnulib/lib/mountlist.c:610,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:617,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:618,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:619,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:623,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:624,1
    - Dst: getmntinfo
      Src: /src/gnulib/lib/mountlist.c:639,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:644,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:645,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:646,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:648,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:650,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:651,1
    - Dst: opendir
      Src: /src/gnulib/lib/mountlist.c:690,1
    - Dst: readdir
      Src: /src/gnulib/lib/mountlist.c:695,1
    - Dst: strcmp
      Src: /src/gnulib/lib/mountlist.c:700,1
    - Dst: strcmp
      Src: /src/gnulib/lib/mountlist.c:703,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:704,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:707,1
    - Dst: strlen
      Src: /src/gnulib/lib/mountlist.c:707,1
    - Dst: strcpy
      Src: /src/gnulib/lib/mountlist.c:709,1
    - Dst: lstat
      Src: /src/gnulib/lib/mountlist.c:712,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/mountlist.c:712,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:714,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:724,1
    - Dst: closedir
      Src: /src/gnulib/lib/mountlist.c:726,1
    - Dst: next_dev
      Src: /src/gnulib/lib/mountlist.c:730,1
    - Dst: fs_stat_dev
      Src: /src/gnulib/lib/mountlist.c:731,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:740,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:741,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:743,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:745,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:761,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:762,1
    - Dst: getfsstat
      Src: /src/gnulib/lib/mountlist.c:773,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/mountlist.c:777,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:780,1
    - Dst: getfsstat
      Src: /src/gnulib/lib/mountlist.c:781,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:785,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:791,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:792,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:793,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:795,1
    - Dst: FS_TYPE
      Src: /src/gnulib/lib/mountlist.c:795,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:797,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:798,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:806,1
    - Dst: fopen
      Src: /src/gnulib/lib/mountlist.c:816,1
    - Dst: fread
      Src: /src/gnulib/lib/mountlist.c:820,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:822,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:823,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:824,1
    - Dst: statfs
      Src: /src/gnulib/lib/mountlist.c:834,1
    - Dst: sysfs
      Src: /src/gnulib/lib/mountlist.c:835,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:837,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:841,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:842,1
    - Dst: ferror
      Src: /src/gnulib/lib/mountlist.c:849,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:853,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:858,1
    - Dst: fopen
      Src: /src/gnulib/lib/mountlist.c:874,1
    - Dst: getextmntent
      Src: /src/gnulib/lib/mountlist.c:879,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:881,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:882,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:883,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:885,1
    - Dst: MNT_IGNORE
      Src: /src/gnulib/lib/mountlist.c:889,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:890,1
    - Dst: makedev
      Src: /src/gnulib/lib/mountlist.c:891,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:898,1
    - Dst: open
      Src: /src/gnulib/lib/mountlist.c:926,1
    - Dst: fcntl
      Src: /src/gnulib/lib/mountlist.c:934,1
    - Dst: close
      Src: /src/gnulib/lib/mountlist.c:938,1
    - Dst: fopen
      Src: /src/gnulib/lib/mountlist.c:948,1
    - Dst: getmntent
      Src: /src/gnulib/lib/mountlist.c:953,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:955,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:956,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:957,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:959,1
    - Dst: MNT_IGNORE
      Src: /src/gnulib/lib/mountlist.c:961,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:962,1
    - Dst: dev_from_mount_options
      Src: /src/gnulib/lib/mountlist.c:963,1
    - Dst: fclose
      Src: /src/gnulib/lib/mountlist.c:970,1
    - Dst: close
      Src: /src/gnulib/lib/mountlist.c:974,1
    - Dst: mntctl
      Src: /src/gnulib/lib/mountlist.c:996,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:998,1
    - Dst: mntctl
      Src: /src/gnulib/lib/mountlist.c:1001,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1004,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1015,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1024,1
    - Dst: strlen
      Src: /src/gnulib/lib/mountlist.c:1024,1
    - Dst: strlen
      Src: /src/gnulib/lib/mountlist.c:1024,1
    - Dst: strcpy
      Src: /src/gnulib/lib/mountlist.c:1025,1
    - Dst: strcat
      Src: /src/gnulib/lib/mountlist.c:1026,1
    - Dst: strcat
      Src: /src/gnulib/lib/mountlist.c:1027,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1032,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1035,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1037,1
    - Dst: fstype_to_string
      Src: /src/gnulib/lib/mountlist.c:1037,1
    - Dst: strstr
      Src: /src/gnulib/lib/mountlist.c:1040,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1051,1
    - Dst: opendir
      Src: /src/gnulib/lib/mountlist.c:1057,1
    - Dst: readdir_r
      Src: /src/gnulib/lib/mountlist.c:1071,1
    - Dst: strcpy
      Src: /src/gnulib/lib/mountlist.c:1074,1
    - Dst: strcat
      Src: /src/gnulib/lib/mountlist.c:1075,1
    - Dst: statvfs
      Src: /src/gnulib/lib/mountlist.c:1077,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1079,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1080,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1081,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1083,1
    - Dst: ME_DUMMY
      Src: /src/gnulib/lib/mountlist.c:1085,1
    - Dst: ME_REMOTE
      Src: /src/gnulib/lib/mountlist.c:1086,1
    - Dst: closedir
      Src: /src/gnulib/lib/mountlist.c:1094,1
    - Dst: GetLogicalDrives
      Src: /src/gnulib/lib/mountlist.c:1109,1
    - Dst: GetVolumeInformation
      Src: /src/gnulib/lib/mountlist.c:1125,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1128,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1129,1
    - Dst: GetDriveType
      Src: /src/gnulib/lib/mountlist.c:1132,1
    - Dst: QueryDosDeviceW
      Src: /src/gnulib/lib/mountlist.c:1148,1
    - Dst: wcsncmp
      Src: /src/gnulib/lib/mountlist.c:1149,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1155,1
    - Dst: wcsncmp
      Src: /src/gnulib/lib/mountlist.c:1162,1
    - Dst: wcschr
      Src: /src/gnulib/lib/mountlist.c:1164,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1171,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1187,1
    - Dst: FindFirstVolumeW
      Src: /src/gnulib/lib/mountlist.c:1206,1
    - Dst: GetVolumePathNamesForVolumeNameW
      Src: /src/gnulib/lib/mountlist.c:1226,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/mountlist.c:1227,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1229,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1230,1
    - Dst: GetVolumeInformation
      Src: /src/gnulib/lib/mountlist.c:1253,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/mountlist.c:1256,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1257,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/mountlist.c:1264,1
    - Dst: wcslen
      Src: /src/gnulib/lib/mountlist.c:1278,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1281,1
    - Dst: FindNextVolumeW
      Src: /src/gnulib/lib/mountlist.c:1283,1
    - Dst: FindVolumeClose
      Src: /src/gnulib/lib/mountlist.c:1284,1
    - Dst: free_mount_entry
      Src: /src/gnulib/lib/mountlist.c:1305,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 431
    argCount: 1
    argNames:
    - need_fs_type
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1312
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 1312
    functionName: read_file_system_list
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 1
    functionsReached:
    - MNT_IGNORE
    - sysfs
    - dev_from_mount_options
    - open
    - strcat
    - getfsstat
    - strcmp
    - FindVolumeClose
    - ferror
    - statvfs
    - getmntent
    - getextmntent
    - closedir
    - fclose
    - wcschr
    - setmntent
    - getmntinfo
    - strcpy
    - unescape_tab
    - free
    - readdir
    - readdir_r
    - sscanf
    - fs_stat_dev
    - close
    - strstr
    - GetVolumePathNamesForVolumeNameW
    - getline
    - free_mount_entry
    - GetVolumeInformation
    - FindNextVolumeW
    - fopen
    - fstype_to_string
    - wcsncmp
    - strlen
    - GetLastError
    - endmntent
    - fread
    - mntctl
    - xstrdup
    - opendir
    - GetLogicalDrives
    - wcslen
    - FindFirstVolumeW
    - next_dev
    - S_ISDIR
    - ME_DUMMY
    - FS_TYPE
    - fcntl
    - lstat
    - xalloc_die
    - GetDriveType
    - xmalloc
    - makedev
    - terminate_at_blank
    - QueryDosDeviceW
    - ME_REMOTE
    - statfs
    linkageType: ''
    returnType: struct mount_entry
    signature: 'struct mount_entry *

      read_file_system_list (bool need_fs_type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1319,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1320,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1321,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1323,1
    - Dst: free
      Src: /src/gnulib/lib/mountlist.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - me
    argTypes:
    - struct mount_entry*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1325
    functionName: free_mount_entry
    functionSourceFile: /src/gnulib/lib/mountlist.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_mount_entry (struct mount_entry *me)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strverscmp
      Src: /src/gnulib/lib/check-version.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: check_version
    functionSourceFile: /src/gnulib/lib/check-version.c
    functionUses: 18
    functionsReached:
    - strverscmp
    linkageType: ''
    returnType: char
    signature: 'char *

      check_version (const char *req_version)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_init
      Src: /src/gnulib/lib/mtx.c:50,1
    - Dst: glwthread_recmutex_init
      Src: /src/gnulib/lib/mtx.c:53,1
    - Dst: glwthread_timedmutex_init
      Src: /src/gnulib/lib/mtx.c:56,1
    - Dst: glwthread_timedrecmutex_init
      Src: /src/gnulib/lib/mtx.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - mutex
    - type
    argTypes:
    - mtx_t*
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: mtx_init
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 8
    functionsReached:
    - glwthread_mutex_init
    - glwthread_recmutex_init
    - glwthread_timedrecmutex_init
    - glwthread_timedmutex_init
    linkageType: ''
    returnType: int
    signature: int mtx_init (mtx_t *mutex, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_lock
      Src: /src/gnulib/lib/mtx.c:78,1
    - Dst: glwthread_recmutex_lock
      Src: /src/gnulib/lib/mtx.c:81,1
    - Dst: glwthread_timedmutex_lock
      Src: /src/gnulib/lib/mtx.c:84,1
    - Dst: glwthread_timedrecmutex_lock
      Src: /src/gnulib/lib/mtx.c:87,1
    - Dst: abort
      Src: /src/gnulib/lib/mtx.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: mtx_lock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 18
    functionsReached:
    - abort
    - glwthread_recmutex_lock
    - glwthread_mutex_lock
    - glwthread_timedrecmutex_lock
    - glwthread_timedmutex_lock
    linkageType: ''
    returnType: int
    signature: int mtx_lock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_trylock
      Src: /src/gnulib/lib/mtx.c:103,1
    - Dst: glwthread_recmutex_trylock
      Src: /src/gnulib/lib/mtx.c:106,1
    - Dst: glwthread_timedmutex_trylock
      Src: /src/gnulib/lib/mtx.c:109,1
    - Dst: glwthread_timedrecmutex_trylock
      Src: /src/gnulib/lib/mtx.c:112,1
    - Dst: abort
      Src: /src/gnulib/lib/mtx.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: mtx_trylock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached:
    - abort
    - glwthread_timedmutex_trylock
    - glwthread_timedrecmutex_trylock
    - glwthread_recmutex_trylock
    - glwthread_mutex_trylock
    linkageType: ''
    returnType: int
    signature: int mtx_trylock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_timedmutex_timedlock
      Src: /src/gnulib/lib/mtx.c:131,1
    - Dst: glwthread_timedrecmutex_timedlock
      Src: /src/gnulib/lib/mtx.c:135,1
    - Dst: abort
      Src: /src/gnulib/lib/mtx.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - mtx_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: mtx_timedlock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached:
    - glwthread_timedmutex_timedlock
    - glwthread_timedrecmutex_timedlock
    - abort
    linkageType: ''
    returnType: int
    signature: int mtx_timedlock (mtx_t *mutex, const struct timespec *abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_unlock
      Src: /src/gnulib/lib/mtx.c:151,1
    - Dst: glwthread_recmutex_unlock
      Src: /src/gnulib/lib/mtx.c:154,1
    - Dst: glwthread_timedmutex_unlock
      Src: /src/gnulib/lib/mtx.c:157,1
    - Dst: glwthread_timedrecmutex_unlock
      Src: /src/gnulib/lib/mtx.c:160,1
    - Dst: abort
      Src: /src/gnulib/lib/mtx.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: mtx_unlock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 17
    functionsReached:
    - abort
    - glwthread_timedmutex_unlock
    - glwthread_mutex_unlock
    - glwthread_recmutex_unlock
    - glwthread_timedrecmutex_unlock
    linkageType: ''
    returnType: int
    signature: int mtx_unlock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_destroy
      Src: /src/gnulib/lib/mtx.c:174,1
    - Dst: glwthread_recmutex_destroy
      Src: /src/gnulib/lib/mtx.c:177,1
    - Dst: glwthread_timedmutex_destroy
      Src: /src/gnulib/lib/mtx.c:180,1
    - Dst: glwthread_timedrecmutex_destroy
      Src: /src/gnulib/lib/mtx.c:183,1
    - Dst: abort
      Src: /src/gnulib/lib/mtx.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: mtx_destroy
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached:
    - abort
    - glwthread_timedrecmutex_destroy
    - glwthread_mutex_destroy
    - glwthread_timedmutex_destroy
    - glwthread_recmutex_destroy
    linkageType: ''
    returnType: void
    signature: void mtx_destroy (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutexattr_init
      Src: /src/gnulib/lib/mtx.c:212,1
    - Dst: pthread_mutexattr_settype
      Src: /src/gnulib/lib/mtx.c:215,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/lib/mtx.c:218,1
    - Dst: pthread_mutex_init
      Src: /src/gnulib/lib/mtx.c:221,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/lib/mtx.c:224,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/gnulib/lib/mtx.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - mutex
    - type
    argTypes:
    - mtx_t*
    - int
    constantsTouched: []
    func_position:
      end: 238
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 238
    functionName: mtx_init
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 8
    functionsReached:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_settype
    - pthread_mutexattr_init
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: int mtx_init (mtx_t *mutex, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: mtx_lock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mtx_lock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: mtx_trylock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mtx_trylock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - mtx_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: mtx_timedlock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mtx_timedlock (mtx_t *mutex, const struct timespec *abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: mtx_unlock
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mtx_unlock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/gnulib/lib/mtx.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: mtx_destroy
    functionSourceFile: /src/gnulib/lib/mtx.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void mtx_destroy (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getndelim2
      Src: /src/gnulib/lib/getnline.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - lineptr
    - linesize
    - nmax
    - delimiter
    - stream
    argTypes:
    - char**
    - size_t*
    - size_t
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: getndelim
    functionSourceFile: /src/gnulib/lib/getnline.c
    functionUses: 0
    functionsReached:
    - getndelim2
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t getndelim (char **lineptr, size_t *linesize, size_t nmax,\n
      \          int delimiter, FILE *stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getndelim
      Src: /src/gnulib/lib/getnline.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lineptr
    - linesize
    - nmax
    - stream
    argTypes:
    - char**
    - size_t*
    - size_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: getnline
    functionSourceFile: /src/gnulib/lib/getnline.c
    functionUses: 0
    functionsReached:
    - getndelim
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t getnline (char **lineptr, size_t *linesize, size_t nmax, FILE
      *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv_set_remove
      Src: /src/gnulib/lib/priv-set.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: priv_set_remove_linkdir
    functionSourceFile: /src/gnulib/lib/priv-set.h
    functionUses: 1
    functionsReached:
    - priv_set_remove
    linkageType: ''
    returnType: PRIV_SET_INLINE
    signature: PRIV_SET_INLINE priv_set_remove_linkdir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: priv_set_restore
      Src: /src/gnulib/lib/priv-set.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: priv_set_restore_linkdir
    functionSourceFile: /src/gnulib/lib/priv-set.h
    functionUses: 1
    functionsReached:
    - priv_set_restore
    linkageType: ''
    returnType: PRIV_SET_INLINE
    signature: PRIV_SET_INLINE priv_set_restore_linkdir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: priv_set_remove_linkdir
    functionSourceFile: /src/gnulib/lib/priv-set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PRIV_SET_INLINE
    signature: PRIV_SET_INLINE priv_set_remove_linkdir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: priv_set_restore_linkdir
    functionSourceFile: /src/gnulib/lib/priv-set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PRIV_SET_INLINE
    signature: PRIV_SET_INLINE priv_set_restore_linkdir (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feclearexcept
      Src: /src/gnulib/lib/fpe-trapping.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: sigfpe_on_invalid
    functionSourceFile: /src/gnulib/lib/fpe-trapping.h
    functionUses: 6
    functionsReached:
    - feclearexcept
    linkageType: ''
    returnType: int
    signature: int sigfpe_on_invalid ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: close_stream
    functionSourceFile: /src/gnulib/lib/close-stream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int close_stream (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: getcon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE getcon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: getcon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE getcon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: freecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE freecon (_GL_ATTRIBUTE_MAYBE_UNUSED char *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: getfscreatecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE getfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: getfscreatecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE getfscreatecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: setfscreatecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE setfscreatecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: setfscreatecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE setfscreatecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      const *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - file
    - mode_t
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: matchpathcon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE matchpathcon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *file,\n              _GL_ATTRIBUTE_MAYBE_UNUSED mode_t m,\n              _GL_ATTRIBUTE_MAYBE_UNUSED
      char **con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: getfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE getfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *file,\n            _GL_ATTRIBUTE_MAYBE_UNUSED char **con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: getfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE getfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      const *file,\n                _GL_ATTRIBUTE_MAYBE_UNUSED char **con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: lgetfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE lgetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *file,\n             _GL_ATTRIBUTE_MAYBE_UNUSED char **con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: lgetfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE lgetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      const *file,\n                 _GL_ATTRIBUTE_MAYBE_UNUSED char **con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - con
    argTypes:
    - int
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: fgetfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE fgetfilecon (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED char
      **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - con
    argTypes:
    - int
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: fgetfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE fgetfilecon_raw (int fd,_GL_ATTRIBUTE_MAYBE_UNUSED
      char **con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: setfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE setfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *file,\n            _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: setfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE setfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      const *file,\n                _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: lsetfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE lsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *file,\n             _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: lsetfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE lsetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char
      const *file,\n                 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - int
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: fsetfilecon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE fsetfilecon (_GL_ATTRIBUTE_MAYBE_UNUSED int fd,\n
      \            _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - int
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: fsetfilecon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE fsetfilecon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED int
      fd,\n                 _GL_ATTRIBUTE_MAYBE_UNUSED char const *con)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: security_check_context
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE security_check_context (_GL_ATTRIBUTE_MAYBE_UNUSED
      char const *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: security_check_context_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE security_check_context_raw (_GL_ATTRIBUTE_MAYBE_UNUSED
      char const *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: setexeccon
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE setexeccon (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - con
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: setexeccon_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: SE_SELINUX_INLINE setexeccon_raw (_GL_ATTRIBUTE_MAYBE_UNUSED char const
      *con)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - scon
    - tcon
    - security_class_t
    - newcon
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: security_compute_create
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE security_compute_create (_GL_ATTRIBUTE_MAYBE_UNUSED
      char const *scon,\n                         _GL_ATTRIBUTE_MAYBE_UNUSED char
      const *tcon,\n                         _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t
      tclass,\n                         _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - scon
    - tcon
    - security_class_t
    - newcon
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    - _GL_ATTRIBUTE_MAYBE_UNUSED**
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: security_compute_create_raw
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE security_compute_create_raw (_GL_ATTRIBUTE_MAYBE_UNUSED
      char const *scon,\n                             _GL_ATTRIBUTE_MAYBE_UNUSED char
      const *tcon,\n                             _GL_ATTRIBUTE_MAYBE_UNUSED security_class_t
      tclass,\n                             _GL_ATTRIBUTE_MAYBE_UNUSED char **newcon)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: security_class_t::string_to_security_class
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: 'SE_SELINUX_INLINE security_class_t

      string_to_security_class (char const *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - path
    - prefix
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    - _GL_ATTRIBUTE_MAYBE_UNUSED*
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: matchpathcon_init_prefix
    functionSourceFile: /src/gnulib/lib/se-selinux.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SE_SELINUX_INLINE
    signature: "SE_SELINUX_INLINE matchpathcon_init_prefix (_GL_ATTRIBUTE_MAYBE_UNUSED
      char const *path,\n                          _GL_ATTRIBUTE_MAYBE_UNUSED char
      const *prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/c-asprintf.c:31,1
    - Dst: c_vasprintf
      Src: /src/gnulib/lib/c-asprintf.c:32,1
    - Dst: va_end
      Src: /src/gnulib/lib/c-asprintf.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - resultp
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: c_asprintf
    functionSourceFile: /src/gnulib/lib/c-asprintf.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - c_vasprintf
    linkageType: ''
    returnType: int
    signature: int c_asprintf (char **resultp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcsrtombs
      Src: /src/gnulib/lib/wcsrtombs.c:40,1
    - Dst: wcsrtombs
      Src: /src/gnulib/lib/wcsrtombs.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - srcp
    - len
    - ps
    argTypes:
    - char*
    - wchar_t**
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: rpl_wcsrtombs
    functionSourceFile: /src/gnulib/lib/wcsrtombs.c
    functionUses: 0
    functionsReached:
    - wcsrtombs
    linkageType: ''
    returnType: size_t
    signature: size_t rpl_wcsrtombs (char *dest, const wchar_t **srcp, size_t len,
      mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xalignalloc.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: xalignalloc
    functionSourceFile: /src/gnulib/lib/xalignalloc.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: 'void *

      xalignalloc (idx_t alignment, idx_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnulib/lib/cloexec.c:50,1
    - Dst: dup2
      Src: /src/gnulib/lib/cloexec.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - desc
    - value
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: set_cloexec_flag
    functionSourceFile: /src/gnulib/lib/cloexec.c
    functionUses: 5
    functionsReached:
    - dup2
    - fcntl
    linkageType: ''
    returnType: int
    signature: int set_cloexec_flag (int desc, bool value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnulib/lib/cloexec.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: dup_cloexec
    functionSourceFile: /src/gnulib/lib/cloexec.c
    functionUses: 5
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int dup_cloexec (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_hash_map.c:67,1
    - Dst: calloc
      Src: /src/gnulib/lib/gl_hash_map.c:79,1
    - Dst: free
      Src: /src/gnulib/lib/gl_hash_map.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - kdispose_fn
    - vdispose_fn
    argTypes:
    - gl_map_implementation_t
    - gl_mapkey_equals_fn
    - gl_mapkey_hashcode_fn
    - gl_mapkey_dispose_fn
    - gl_mapvalue_dispose_fn
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: gl_hash_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - calloc
    linkageType: ''
    returnType: gl_map_t
    signature: "gl_map_t gl_hash_nx_create_empty (gl_map_implementation_t implementation,\n
      \                        gl_mapkey_equals_fn equals_fn,\n                         gl_mapkey_hashcode_fn
      hashcode_fn,\n                         gl_mapkey_dispose_fn kdispose_fn,\n                         gl_mapvalue_dispose_fn
      vdispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: _GL_ATTRIBUTE_PURE::gl_hash_size
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_hash_size (gl_map_t map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/gnulib/lib/gl_hash_map.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - map
    - key
    - valuep
    argTypes:
    - gl_map_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: _GL_ATTRIBUTE_PURE::gl_hash_search
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_PURE

      gl_hash_search (gl_map_t map, const void *key, const void **valuep)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/gnulib/lib/gl_hash_map.c:144,1
    - Dst: malloc
      Src: /src/gnulib/lib/gl_hash_map.c:155,1
    - Dst: hash_resize_after_add
      Src: /src/gnulib/lib/gl_hash_map.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - map
    - key
    - value
    - oldvaluep
    argTypes:
    - gl_map_t
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 174
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 174
    functionName: gl_hash_nx_getput
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached:
    - malloc
    - equals
    - hash_resize_after_add
    linkageType: ''
    returnType: int
    signature: "int gl_hash_nx_getput (gl_map_t map, const void *key, const void *value,\n
      \                  const void **oldvaluep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/gnulib/lib/gl_hash_map.c:196,1
    - Dst: gl_map_t::base::kdispose_fn
      Src: /src/gnulib/lib/gl_hash_map.c:208,1
    - Dst: free
      Src: /src/gnulib/lib/gl_hash_map.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - map
    - key
    - oldvaluep
    argTypes:
    - gl_map_t
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 215
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 215
    functionName: gl_hash_getremove
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached:
    - free
    - gl_map_t::base::kdispose_fn
    - equals
    linkageType: ''
    returnType: bool
    signature: bool gl_hash_getremove (gl_map_t map, const void *key, const void **oldvaluep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vdispose
      Src: /src/gnulib/lib/gl_hash_map.c:237,1
    - Dst: kdispose
      Src: /src/gnulib/lib/gl_hash_map.c:239,1
    - Dst: free
      Src: /src/gnulib/lib/gl_hash_map.c:240,1
    - Dst: free
      Src: /src/gnulib/lib/gl_hash_map.c:247,1
    - Dst: free
      Src: /src/gnulib/lib/gl_hash_map.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 249
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 249
    functionName: gl_hash_free
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached:
    - kdispose
    - free
    - vdispose
    linkageType: ''
    returnType: void
    signature: void gl_hash_free (gl_map_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - map
    argTypes:
    - gl_map_t
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: gl_hash_iterator
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_map_iterator_t
    signature: gl_map_iterator_t gl_hash_iterator (gl_map_t map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - iterator
    - keyp
    - valuep
    argTypes:
    - gl_map_iterator_t*
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 314
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 314
    functionName: gl_hash_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gl_hash_iterator_next (gl_map_iterator_t *iterator,\n                       const
      void **keyp, const void **valuep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_map_iterator_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: gl_hash_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_hash_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_hash_iterator_free (gl_map_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstriconveh.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - src
    - srclen
    - cd
    - handler
    - offsets
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - iconveh_t*
    - enum iconv_ilseq_handler
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: xmem_cd_iconveh
    functionSourceFile: /src/gnulib/lib/xstriconveh.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: int
    signature: "int xmem_cd_iconveh (const char *src, size_t srclen,\n                 const
      iconveh_t *cd,\n                 enum iconv_ilseq_handler handler,\n                 size_t
      *offsets,\n                 char **resultp, size_t *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstriconveh.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - src
    - cd
    - handler
    argTypes:
    - char*
    - iconveh_t*
    - enum iconv_ilseq_handler
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: xstr_cd_iconveh
    functionSourceFile: /src/gnulib/lib/xstriconveh.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: "char *\nxstr_cd_iconveh (const char *src,\n                 const
      iconveh_t *cd,\n                 enum iconv_ilseq_handler handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstriconveh.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - src
    - srclen
    - from_codeset
    - to_codeset
    - handler
    - offsets
    - resultp
    - lengthp
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - enum iconv_ilseq_handler
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: xmem_iconveh
    functionSourceFile: /src/gnulib/lib/xstriconveh.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: int
    signature: "int xmem_iconveh (const char *src, size_t srclen,\n              const
      char *from_codeset, const char *to_codeset,\n              enum iconv_ilseq_handler
      handler,\n              size_t *offsets,\n              char **resultp, size_t
      *lengthp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstriconveh.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - src
    - from_codeset
    - to_codeset
    - handler
    argTypes:
    - char*
    - char*
    - char*
    - enum iconv_ilseq_handler
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: xstr_iconveh
    functionSourceFile: /src/gnulib/lib/xstriconveh.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: "char *\nxstr_iconveh (const char *src,\n              const char *from_codeset,
      const char *to_codeset,\n              enum iconv_ilseq_handler handler)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/lib/str_startswith.c:28,1
    - Dst: strlen
      Src: /src/gnulib/lib/str_startswith.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: str_startswith
    functionSourceFile: /src/gnulib/lib/str_startswith.c
    functionUses: 4
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool str_startswith (const char *string, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/szprintf.c:44,1
    - Dst: vasnprintf
      Src: /src/gnulib/lib/szprintf.c:45,1
    - Dst: va_end
      Src: /src/gnulib/lib/szprintf.c:47,1
    - Dst: free
      Src: /src/gnulib/lib/szprintf.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - str
    - format
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: szprintf
    functionSourceFile: /src/gnulib/lib/szprintf.c
    functionUses: 11
    functionsReached:
    - free
    - va_start
    - va_end
    - vasnprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t szprintf (char *str, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/copy-acl.c:51,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-acl.c:51,1
    - Dst: error
      Src: /src/gnulib/lib/copy-acl.c:55,1
    - Dst: _
      Src: /src/gnulib/lib/copy-acl.c:55,1
    - Dst: quote
      Src: /src/gnulib/lib/copy-acl.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - src_name
    - source_desc
    - dst_name
    - dest_desc
    - mode
    argTypes:
    - char*
    - int
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: xcopy_acl
    functionSourceFile: /src/gnulib/lib/copy-acl.c
    functionUses: 1
    functionsReached:
    - error
    - _
    - quote
    linkageType: ''
    returnType: int
    signature: "int xcopy_acl (const char *src_name, int source_desc, const char *dst_name,\n
      \          int dest_desc, mode_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xcopy_acl
      Src: /src/gnulib/lib/copy-acl.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src_name
    - source_desc
    - dst_name
    - dest_desc
    - mode
    argTypes:
    - char*
    - int
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 8
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: copy_acl
    functionSourceFile: /src/gnulib/lib/copy-acl.c
    functionUses: 4
    functionsReached:
    - xcopy_acl
    linkageType: ''
    returnType: int
    signature: "int copy_acl (const char *src_name, int source_desc, const char *dst_name,\n
      \         int dest_desc, mode_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: errno_fail
    functionSourceFile: /src/gnulib/lib/renameatu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int errno_fail (int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnulib/lib/renameatu.c:55,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:55,1
    - Dst: rename
      Src: /src/gnulib/lib/renameatu.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: rename_noreplace
    functionSourceFile: /src/gnulib/lib/renameatu.c
    functionUses: 0
    functionsReached:
    - lstat
    - rename
    - errno_fail
    linkageType: ''
    returnType: int
    signature: int rename_noreplace (char const *src, char const *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: renameatx_np
      Src: /src/gnulib/lib/renameatu.c:75,1
    - Dst: renameat
      Src: /src/gnulib/lib/renameatu.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - fd1
    - src
    - fd2
    - dst
    - flags
    argTypes:
    - int
    - char*
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: renameat2ish
    functionSourceFile: /src/gnulib/lib/renameatu.c
    functionUses: 0
    functionsReached:
    - renameat
    - renameatx_np
    linkageType: ''
    returnType: int
    signature: "int renameat2ish (int fd1, char const *src, int fd2, char const *dst,\n
      \             unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: renameat2
      Src: /src/gnulib/lib/renameatu.c:110,1
    - Dst: syscall
      Src: /src/gnulib/lib/renameatu.c:113,1
    - Dst: fstatat
      Src: /src/gnulib/lib/renameatu.c:144,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:146,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:157,1
    - Dst: strlen
      Src: /src/gnulib/lib/renameatu.c:161,1
    - Dst: strlen
      Src: /src/gnulib/lib/renameatu.c:162,1
    - Dst: renameat2ish
      Src: /src/gnulib/lib/renameatu.c:164,1
    - Dst: renameat2ish
      Src: /src/gnulib/lib/renameatu.c:169,1
    - Dst: fstatat
      Src: /src/gnulib/lib/renameatu.c:175,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/renameatu.c:179,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:180,1
    - Dst: fstatat
      Src: /src/gnulib/lib/renameatu.c:182,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/renameatu.c:184,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/renameatu.c:187,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:188,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/renameatu.c:189,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:190,1
    - Dst: strdup
      Src: /src/gnulib/lib/renameatu.c:199,1
    - Dst: strip_trailing_slashes
      Src: /src/gnulib/lib/renameatu.c:206,1
    - Dst: fstatat
      Src: /src/gnulib/lib/renameatu.c:207,1
    - Dst: S_ISLNK
      Src: /src/gnulib/lib/renameatu.c:212,1
    - Dst: strdup
      Src: /src/gnulib/lib/renameatu.c:217,1
    - Dst: strip_trailing_slashes
      Src: /src/gnulib/lib/renameatu.c:223,1
    - Dst: readlinkat
      Src: /src/gnulib/lib/renameatu.c:225,1
    - Dst: renameat2ish
      Src: /src/gnulib/lib/renameatu.c:243,1
    - Dst: free
      Src: /src/gnulib/lib/renameatu.c:248,1
    - Dst: free
      Src: /src/gnulib/lib/renameatu.c:250,1
    - Dst: errno_fail
      Src: /src/gnulib/lib/renameatu.c:258,1
    - Dst: at_func2
      Src: /src/gnulib/lib/renameatu.c:259,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 5
    argNames:
    - fd1
    - src
    - fd2
    - dst
    - flags
    argTypes:
    - int
    - char*
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 262
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 262
    functionName: renameatu
    functionSourceFile: /src/gnulib/lib/renameatu.c
    functionUses: 2
    functionsReached:
    - S_ISDIR
    - strdup
    - strlen
    - strip_trailing_slashes
    - free
    - syscall
    - readlinkat
    - S_ISLNK
    - renameat2ish
    - renameat2
    - at_func2
    - errno_fail
    - fstatat
    linkageType: ''
    returnType: int
    signature: "int renameatu (int fd1, char const *src, int fd2, char const *dst,\n
      \          unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - s
    - c_in
    - n
    argTypes:
    - void*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 158
    functionName: __memrchr
    functionSourceFile: /src/gnulib/lib/memrchr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      __memrchr (void const *s, int c_in, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: simple_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int simple_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: simple_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int simple_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:162,1
    - Dst: read
      Src: /src/gnulib/lib/stackvma.c:198,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:207,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:216,1
    - Dst: getpagesize
      Src: /src/gnulib/lib/stackvma.c:225,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:237,1
    - Dst: mmap
      Src: /src/gnulib/lib/stackvma.c:239,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:243,1
    - Dst: lseek
      Src: /src/gnulib/lib/stackvma.c:252,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:254,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:255,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:261,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:264,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 2
    argNames:
    - rof
    - filename
    argTypes:
    - struct rofile*
    - char*
    constantsTouched: []
    func_position:
      end: 266
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 266
    functionName: rof_open
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mmap
    - munmap
    - open
    - close
    - lseek
    - getpagesize
    - read
    linkageType: ''
    returnType: int
    signature: int rof_open (struct rofile *rof, const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rof
    argTypes:
    - struct rofile*
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: rof_peekchar
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rof_peekchar (struct rofile *rof)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rof
    argTypes:
    - struct rofile*
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: rof_getchar
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rof_getchar (struct rofile *rof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - rof
    - valuep
    argTypes:
    - struct rofile*
    - uintptr_t*
    constantsTouched: []
    func_position:
      end: 315
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 315
    functionName: rof_scanf_lx
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - rof_getchar
    linkageType: ''
    returnType: int
    signature: int rof_scanf_lx (struct rofile *rof, uintptr_t *valuep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rof
    argTypes:
    - struct rofile*
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: rof_close
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void rof_close (struct rofile *rof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rof_open
      Src: /src/gnulib/lib/stackvma.c:353,1
    - Dst: rof_scanf_lx
      Src: /src/gnulib/lib/stackvma.c:364,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:365,1
    - Dst: rof_scanf_lx
      Src: /src/gnulib/lib/stackvma.c:366,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:368,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:376,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:379,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:384,1
    - Dst: rof_close
      Src: /src/gnulib/lib/stackvma.c:388,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 393
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 393
    functionName: vma_iterate_proc
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - rof_getchar
    - rof_open
    - rof_close
    - callback
    - rof_scanf_lx
    linkageType: ''
    returnType: int
    signature: int vma_iterate_proc (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rof_open
      Src: /src/gnulib/lib/stackvma.c:409,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:420,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:421,1
    - Dst: rof_scanf_lx
      Src: /src/gnulib/lib/stackvma.c:422,1
    - Dst: rof_peekchar
      Src: /src/gnulib/lib/stackvma.c:424,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:425,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:427,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:428,1
    - Dst: rof_scanf_lx
      Src: /src/gnulib/lib/stackvma.c:429,1
    - Dst: rof_getchar
      Src: /src/gnulib/lib/stackvma.c:431,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:439,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:442,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:447,1
    - Dst: rof_close
      Src: /src/gnulib/lib/stackvma.c:451,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 27
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 456
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 456
    functionName: vma_iterate_proc
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - rof_getchar
    - rof_open
    - callback
    - rof_close
    - rof_peekchar
    - rof_scanf_lx
    linkageType: ''
    returnType: int
    signature: int vma_iterate_proc (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/gnulib/lib/stackvma.c:481,1
    - Dst: getpagesize
      Src: /src/gnulib/lib/stackvma.c:491,1
    - Dst: mmap
      Src: /src/gnulib/lib/stackvma.c:494,1
    - Dst: sysctl
      Src: /src/gnulib/lib/stackvma.c:501,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:503,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:518,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:521,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:526,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:531,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 533
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 533
    functionName: vma_iterate_bsd
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mmap
    - munmap
    - callback
    - getpagesize
    - sysctl
    linkageType: ''
    returnType: int
    signature: int vma_iterate_bsd (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate_proc
      Src: /src/gnulib/lib/stackvma.c:566,1
    - Dst: vma_iterate_bsd
      Src: /src/gnulib/lib/stackvma.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 576
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 576
    functionName: vma_iterate
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 3
    functionsReached:
    - vma_iterate_proc
    - vma_iterate_bsd
    linkageType: ''
    returnType: int
    signature: int vma_iterate (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/gnulib/lib/stackvma.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: init_pagesize
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 2
    functionsReached:
    - getpagesize
    linkageType: ''
    returnType: void
    signature: void init_pagesize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mincore
      Src: /src/gnulib/lib/stackvma.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: is_mapped
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mincore
    linkageType: ''
    returnType: int
    signature: int is_mapped (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mincore
      Src: /src/gnulib/lib/stackvma.c:667,1
    - Dst: mincore
      Src: /src/gnulib/lib/stackvma.c:687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 696
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 696
    functionName: mapped_range_start
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mincore
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t mapped_range_start (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mincore
      Src: /src/gnulib/lib/stackvma.c:720,1
    - Dst: mincore
      Src: /src/gnulib/lib/stackvma.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 747
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 747
    functionName: mapped_range_end
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mincore
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t mapped_range_end (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_mapped
      Src: /src/gnulib/lib/stackvma.c:790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 794
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 794
    functionName: is_unmapped
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_mapped
    linkageType: ''
    returnType: int
    signature: int is_unmapped (uintptr_t addr1, uintptr_t addr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_unmapped
      Src: /src/gnulib/lib/stackvma.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 816
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 816
    functionName: mincore_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_unmapped
    linkageType: ''
    returnType: int
    signature: int mincore_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_unmapped
      Src: /src/gnulib/lib/stackvma.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 839
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 839
    functionName: mincore_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_unmapped
    linkageType: ''
    returnType: int
    signature: int mincore_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_pagesize
      Src: /src/gnulib/lib/stackvma.c:847,1
    - Dst: mapped_range_start
      Src: /src/gnulib/lib/stackvma.c:849,1
    - Dst: mapped_range_end
      Src: /src/gnulib/lib/stackvma.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 853
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 853
    functionName: mincore_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mapped_range_end
    - mapped_range_start
    - init_pagesize
    linkageType: ''
    returnType: int
    signature: int mincore_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 905
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 905
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:920,1
    - Dst: mincore_get_vma
      Src: /src/gnulib/lib/stackvma.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 932
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 932
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    - mincore_get_vma
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 994
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 994
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:1011,1
    - Dst: is_mapped
      Src: /src/gnulib/lib/stackvma.c:1039,1
    - Dst: mincore_get_vma
      Src: /src/gnulib/lib/stackvma.c:1041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1043
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1043
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_mapped
    - vma_iterate
    - mincore_get_vma
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1105
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1105
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:1122,1
    - Dst: mincore_get_vma
      Src: /src/gnulib/lib/stackvma.c:1148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1149
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    - mincore_get_vma
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/gnulib/lib/stackvma.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: init_pagesize
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 3
    functionsReached:
    - getpagesize
    linkageType: ''
    returnType: void
    signature: void init_pagesize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mquery
      Src: /src/gnulib/lib/stackvma.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1190
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1190
    functionName: is_mapped
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 2
    functionsReached:
    - mquery
    linkageType: ''
    returnType: int
    signature: int is_mapped (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/stackvma.c:1209,1
    - Dst: mquery
      Src: /src/gnulib/lib/stackvma.c:1217,1
    - Dst: mquery
      Src: /src/gnulib/lib/stackvma.c:1244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1256
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1256
    functionName: mapped_range_start
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 1
    functionsReached:
    - abort
    - mquery
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t mapped_range_start (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/stackvma.c:1267,1
    - Dst: mquery
      Src: /src/gnulib/lib/stackvma.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1273
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1273
    functionName: mapped_range_end
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 1
    functionsReached:
    - abort
    - mquery
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t mapped_range_end (uintptr_t addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mquery
      Src: /src/gnulib/lib/stackvma.c:1292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1301
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1301
    functionName: is_unmapped
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 2
    functionsReached:
    - mquery
    linkageType: ''
    returnType: int
    signature: int is_unmapped (uintptr_t addr1, uintptr_t addr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_unmapped
      Src: /src/gnulib/lib/stackvma.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1323
    functionName: mquery_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_unmapped
    linkageType: ''
    returnType: int
    signature: int mquery_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_unmapped
      Src: /src/gnulib/lib/stackvma.c:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1346
    functionName: mquery_is_near_this
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - is_unmapped
    linkageType: ''
    returnType: int
    signature: int mquery_is_near_this (uintptr_t addr, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_pagesize
      Src: /src/gnulib/lib/stackvma.c:1354,1
    - Dst: mapped_range_start
      Src: /src/gnulib/lib/stackvma.c:1356,1
    - Dst: mapped_range_end
      Src: /src/gnulib/lib/stackvma.c:1357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1360
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mapped_range_end
    - mapped_range_start
    - init_pagesize
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mach_task_self
      Src: /src/gnulib/lib/stackvma.c:1379,1
    - Dst: vm_region_64
      Src: /src/gnulib/lib/stackvma.c:1408,1
    - Dst: vm_region
      Src: /src/gnulib/lib/stackvma.c:1415,1
    - Dst: mach_port_deallocate
      Src: /src/gnulib/lib/stackvma.c:1436,1
    - Dst: mach_task_self
      Src: /src/gnulib/lib/stackvma.c:1436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - req_address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1471
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - mach_task_self
    - vm_region_64
    - vm_region
    - mach_port_deallocate
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t req_address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1528
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1528
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_pagesize
      Src: /src/gnulib/lib/stackvma.c:1557,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stackvma.c:1561,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stackvma.c:1569,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:1571,1
    - Dst: mmap
      Src: /src/gnulib/lib/stackvma.c:1596,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1600,1
    - Dst: read
      Src: /src/gnulib/lib/stackvma.c:1611,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1615,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1616,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1622,1
    - Dst: lseek
      Src: /src/gnulib/lib/stackvma.c:1623,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1625,1
    - Dst: read
      Src: /src/gnulib/lib/stackvma.c:1631,1
    - Dst: lseek
      Src: /src/gnulib/lib/stackvma.c:1634,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1636,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1637,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:1730,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1735,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1740,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1543
    functionDepth: 3
    functionLinenumber: 1543
    functionLinenumberEnd: 1742
    functionName: vma_iterate
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 6
    functionsReached:
    - mmap
    - close
    - open
    - munmap
    - lseek
    - callback
    - memcpy
    - read
    - init_pagesize
    linkageType: ''
    returnType: int
    signature: int vma_iterate (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/gnulib/lib/stackvma.c:1748,1
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:1763,1
    - Dst: mincore_get_vma
      Src: /src/gnulib/lib/stackvma.c:1775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1776
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - uname
    - vma_iterate
    - mincore_get_vma
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/gnulib/lib/stackvma.c:1804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1805
    functionName: init_pagesize
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 5
    functionsReached:
    - getpagesize
    linkageType: ''
    returnType: void
    signature: void init_pagesize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 1851
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1851
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_pagesize
      Src: /src/gnulib/lib/stackvma.c:1901,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stackvma.c:1913,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:1915,1
    - Dst: ioctl
      Src: /src/gnulib/lib/stackvma.c:1919,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:1930,1
    - Dst: mmap
      Src: /src/gnulib/lib/stackvma.c:1934,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1937,1
    - Dst: ioctl
      Src: /src/gnulib/lib/stackvma.c:1945,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:1962,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:1965,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:1970,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1974,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1975,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:1979,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:1981,1
    - Dst: init_pagesize
      Src: /src/gnulib/lib/stackvma.c:2012,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stackvma.c:2016,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stackvma.c:2024,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:2026,1
    - Dst: fstat
      Src: /src/gnulib/lib/stackvma.c:2032,1
    - Dst: open
      Src: /src/gnulib/lib/stackvma.c:2045,1
    - Dst: mmap
      Src: /src/gnulib/lib/stackvma.c:2049,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:2052,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:2099,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:2102,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:2107,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:2111,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:2112,1
    - Dst: munmap
      Src: /src/gnulib/lib/stackvma.c:2116,1
    - Dst: close
      Src: /src/gnulib/lib/stackvma.c:2118,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 133
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 2122
      start: 1866
    functionDepth: 3
    functionLinenumber: 1866
    functionLinenumberEnd: 2122
    functionName: vma_iterate
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 7
    functionsReached:
    - mmap
    - open
    - ioctl
    - close
    - callback
    - munmap
    - memcpy
    - fstat
    - init_pagesize
    linkageType: ''
    returnType: int
    signature: int vma_iterate (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:2137,1
    - Dst: mincore_get_vma
      Src: /src/gnulib/lib/stackvma.c:2149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 2153
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2153
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    - mincore_get_vma
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 2215
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2215
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:2232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2259
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - locals
    - start
    - end
    argTypes:
    - struct callback_locals*
    - uintptr_t
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 2309
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2309
    functionName: callback
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int callback (struct callback_locals *locals, uintptr_t start, uintptr_t
      end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_next_area_info
      Src: /src/gnulib/lib/stackvma.c:2331,1
    - Dst: callback
      Src: /src/gnulib/lib/stackvma.c:2338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - locals
    argTypes:
    - struct callback_locals*
    constantsTouched: []
    func_position:
      end: 2342
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2342
    functionName: vma_iterate
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 9
    functionsReached:
    - get_next_area_info
    - callback
    linkageType: ''
    returnType: int
    signature: int vma_iterate (struct callback_locals *locals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/stackvma.c:2357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2368
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - vma
    argTypes:
    - uintptr_t
    - struct vma_struct*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2379
    functionName: sigsegv_get_vma
    functionSourceFile: /src/gnulib/lib/stackvma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigsegv_get_vma (uintptr_t address, struct vma_struct *vma)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: wcpcpy
    functionSourceFile: /src/gnulib/lib/wcpcpy-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcpcpy (wchar_t *dest, const wchar_t *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/gnulib/lib/wcsncat-impl.h:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: wcsncat
    functionSourceFile: /src/gnulib/lib/wcsncat-impl.h
    functionUses: 2
    functionsReached:
    - wcslen
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcsncat (wchar_t *dest, const wchar_t *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fdopendir
      Src: /src/gnulib/lib/opendirat.c:48,1
    - Dst: close
      Src: /src/gnulib/lib/opendirat.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dir_fd
    - dir
    - extra_flags
    - pnew_fd
    argTypes:
    - int
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: opendirat
    functionSourceFile: /src/gnulib/lib/opendirat.c
    functionUses: 0
    functionsReached:
    - fdopendir
    - close
    linkageType: ''
    returnType: DIR
    signature: 'DIR *

      opendirat (int dir_fd, char const *dir, int extra_flags, int *pnew_fd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: S_ISREG
      Src: /src/gnulib/lib/c-file-type.c:39,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:40,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:40,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/c-file-type.c:42,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:43,1
    - Dst: S_ISLNK
      Src: /src/gnulib/lib/c-file-type.c:45,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:46,1
    - Dst: S_TYPEISMQ
      Src: /src/gnulib/lib/c-file-type.c:51,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:52,1
    - Dst: S_TYPEISSEM
      Src: /src/gnulib/lib/c-file-type.c:54,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:55,1
    - Dst: S_TYPEISSHM
      Src: /src/gnulib/lib/c-file-type.c:57,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:58,1
    - Dst: S_TYPEISTMO
      Src: /src/gnulib/lib/c-file-type.c:60,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:61,1
    - Dst: S_ISBLK
      Src: /src/gnulib/lib/c-file-type.c:65,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:66,1
    - Dst: S_ISCHR
      Src: /src/gnulib/lib/c-file-type.c:68,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:69,1
    - Dst: S_ISCTG
      Src: /src/gnulib/lib/c-file-type.c:71,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:72,1
    - Dst: S_ISFIFO
      Src: /src/gnulib/lib/c-file-type.c:74,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:75,1
    - Dst: S_ISDOOR
      Src: /src/gnulib/lib/c-file-type.c:77,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:78,1
    - Dst: S_ISMPB
      Src: /src/gnulib/lib/c-file-type.c:80,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:81,1
    - Dst: S_ISMPC
      Src: /src/gnulib/lib/c-file-type.c:83,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:84,1
    - Dst: S_ISMPX
      Src: /src/gnulib/lib/c-file-type.c:86,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:87,1
    - Dst: S_ISNAM
      Src: /src/gnulib/lib/c-file-type.c:89,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:90,1
    - Dst: S_ISNWK
      Src: /src/gnulib/lib/c-file-type.c:92,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:93,1
    - Dst: S_ISOFD
      Src: /src/gnulib/lib/c-file-type.c:95,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:96,1
    - Dst: S_ISOFL
      Src: /src/gnulib/lib/c-file-type.c:98,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:99,1
    - Dst: S_ISPORT
      Src: /src/gnulib/lib/c-file-type.c:101,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:102,1
    - Dst: S_ISSOCK
      Src: /src/gnulib/lib/c-file-type.c:104,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:105,1
    - Dst: S_ISWHT
      Src: /src/gnulib/lib/c-file-type.c:107,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:108,1
    - Dst: N_
      Src: /src/gnulib/lib/c-file-type.c:110,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stat*
    constantsTouched: []
    func_position:
      end: 111
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 111
    functionName: c_file_type
    functionSourceFile: /src/gnulib/lib/c-file-type.c
    functionUses: 1
    functionsReached:
    - S_ISCHR
    - S_ISCTG
    - S_ISMPX
    - S_ISNWK
    - S_ISSOCK
    - S_ISNAM
    - N_
    - S_ISPORT
    - S_ISOFD
    - S_ISDOOR
    - S_ISMPC
    - S_TYPEISTMO
    - S_ISWHT
    - S_ISBLK
    - S_TYPEISMQ
    - S_ISREG
    - S_ISDIR
    - S_ISMPB
    - S_TYPEISSHM
    - S_TYPEISSEM
    - S_ISLNK
    - S_ISOFL
    - S_ISFIFO
    linkageType: ''
    returnType: char
    signature: 'char *

      c_file_type (struct stat const *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/sockets.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: gl_fd_to_handle
    functionSourceFile: /src/gnulib/lib/sockets.h
    functionUses: 1
    functionsReached:
    - _get_osfhandle
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET gl_fd_to_handle (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct thunk*::cmp
      Src: /src/gnulib/lib/qsort_r.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - thunk
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: thunk_cmp
    functionSourceFile: /src/gnulib/lib/qsort_r.c
    functionUses: 0
    functionsReached:
    - struct thunk*::cmp
    linkageType: ''
    returnType: int
    signature: int thunk_cmp (void *thunk, void const *a, void const *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort_r
      Src: /src/gnulib/lib/qsort_r.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - base
    - nmemb
    - size
    - arg
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: qsort_r
    functionSourceFile: /src/gnulib/lib/qsort_r.c
    functionUses: 2
    functionsReached:
    - qsort_r
    linkageType: ''
    returnType: void
    signature: "void qsort_r (void *base, size_t nmemb, size_t size,\n         int
      (*cmp) (void const *, void const *, void *),\n         void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/fchdir.c:62,1
    - Dst: realloc
      Src: /src/gnulib/lib/fchdir.c:73,1
    - Dst: malloc
      Src: /src/gnulib/lib/fchdir.c:74,1
    - Dst: memset
      Src: /src/gnulib/lib/fchdir.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 83
    functionName: ensure_dirs_slot
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - realloc
    - memset
    linkageType: ''
    returnType: bool
    signature: bool ensure_dirs_slot (size_t fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_ABSOLUTE_FILE_NAME
      Src: /src/gnulib/lib/fchdir.c:93,1
    - Dst: strdup
      Src: /src/gnulib/lib/fchdir.c:94,1
    - Dst: getcwd
      Src: /src/gnulib/lib/fchdir.c:97,1
    - Dst: mfile_name_concat
      Src: /src/gnulib/lib/fchdir.c:101,1
    - Dst: free
      Src: /src/gnulib/lib/fchdir.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: get_name
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 338
    functionsReached:
    - strdup
    - getcwd
    - free
    - mfile_name_concat
    - IS_ABSOLUTE_FILE_NAME
    linkageType: ''
    returnType: char
    signature: 'char *

      get_name (char const *dir)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/fchdir.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: _gl_unregister_fd
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _gl_unregister_fd (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assure
      Src: /src/gnulib/lib/fchdir.c:131,1
    - Dst: fstat
      Src: /src/gnulib/lib/fchdir.c:133,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/fchdir.c:133,1
    - Dst: ensure_dirs_slot
      Src: /src/gnulib/lib/fchdir.c:135,1
    - Dst: get_name
      Src: /src/gnulib/lib/fchdir.c:136,1
    - Dst: close
      Src: /src/gnulib/lib/fchdir.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: _gl_register_fd
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 1
    functionsReached:
    - ensure_dirs_slot
    - close
    - get_name
    - S_ISDIR
    - assure
    - fstat
    linkageType: ''
    returnType: int
    signature: int _gl_register_fd (int fd, const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assure
      Src: /src/gnulib/lib/fchdir.c:155,1
    - Dst: ensure_dirs_slot
      Src: /src/gnulib/lib/fchdir.c:159,1
    - Dst: strdup
      Src: /src/gnulib/lib/fchdir.c:160,1
    - Dst: close
      Src: /src/gnulib/lib/fchdir.c:163,1
    - Dst: free
      Src: /src/gnulib/lib/fchdir.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - oldfd
    - newfd
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: _gl_register_dup
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 1
    functionsReached:
    - strdup
    - ensure_dirs_slot
    - free
    - close
    - assure
    linkageType: ''
    returnType: int
    signature: int _gl_register_dup (int oldfd, int newfd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dup2
      Src: /src/gnulib/lib/fchdir.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: _gl_directory_name
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 0
    functionsReached:
    - dup2
    linkageType: ''
    returnType: char
    signature: 'char *

      _gl_directory_name (int fd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chdir
      Src: /src/gnulib/lib/fchdir.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: fchdir
    functionSourceFile: /src/gnulib/lib/fchdir.c
    functionUses: 6
    functionsReached:
    - chdir
    linkageType: ''
    returnType: int
    signature: int fchdir (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/gnulib/lib/gen-uni-tables.c:59,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: str_startswith
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 4
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool str_startswith (const char *string, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - string
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: str_endswith
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 5
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool str_endswith (const char *string, const char *suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:116,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:117,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:119,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:124,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:125,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:126,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:127,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:128,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:129,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:130,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:131,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:133,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:134,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:135,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:136,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 15
    argNames:
    - i
    - field1
    - field2
    - field3
    - field4
    - field5
    - field6
    - field7
    - field8
    - field9
    - field10
    - field11
    - field12
    - field13
    - field14
    argTypes:
    - unsigned int
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: fill_attribute
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strdup
    - exit
    - strcmp
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: "void fill_attribute (unsigned int i,\n                const char *field1,
      const char *field2,\n                const char *field3, const char *field4,\n
      \               const char *field5, const char *field6,\n                const
      char *field7, const char *field8,\n                const char *field9, const
      char *field10,\n                const char *field11, const char *field12,\n
      \               const char *field13, const char *field14)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:152,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:162,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - buffer
    - delim
    argTypes:
    - FILE*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 173
    functionName: getfield
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - exit
    - getc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int getfield (FILE *stream, char *buffer, int delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:202,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:205,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:206,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:214,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:215,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:216,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:217,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:218,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:219,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:220,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:221,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:222,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:223,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:224,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:225,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:226,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:227,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:228,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:233,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:235,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:237,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:239,1
    - Dst: str_endswith
      Src: /src/gnulib/lib/gen-uni-tables.c:240,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:244,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:245,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:246,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:247,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:248,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:249,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:250,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:251,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:252,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:253,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:254,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:255,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:256,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:257,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:258,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:261,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:263,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:266,1
    - Dst: str_endswith
      Src: /src/gnulib/lib/gen-uni-tables.c:267,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:269,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:271,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:273,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:274,1
    - Dst: fill_attribute
      Src: /src/gnulib/lib/gen-uni-tables.c:276,1
    - Dst: fill_attribute
      Src: /src/gnulib/lib/gen-uni-tables.c:283,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:289,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:289,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:291,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - unicodedata_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 294
    functionName: fill_attributes
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - strlen
    - ferror
    - fill_attribute
    - str_endswith
    - getfield
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_attributes (const char *unicodedata_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:306,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:307,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:308,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:309,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:310,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:311,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:312,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:313,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:314,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:315,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:316,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:317,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:322,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:323,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:324,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:325,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:326,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:327,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:328,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:329,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:330,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:331,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:332,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:333,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:334,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:335,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:336,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:337,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:338,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:339,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:340,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - stream
    - lgplv2plus
    argTypes:
    - FILE*
    - bool
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: output_library_license
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_library_license (FILE *stream, bool lgplv2plus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:351,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:352,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:353,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:354,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:355,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:356,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:357,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:358,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:359,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:360,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:361,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: output_tests_license
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_tests_license (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: is_category_L
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_L (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: is_category_LC
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_LC (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: is_category_Lu
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Lu (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: is_category_Ll
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Ll (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: is_category_Lt
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Lt (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: is_category_Lm
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Lm (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: is_category_Lo
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Lo (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: is_category_M
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_M (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: is_category_Mn
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Mn (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: is_category_Mc
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Mc (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: is_category_Me
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Me (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: is_category_N
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_N (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: is_category_Nd
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Nd (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: is_category_Nl
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Nl (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: is_category_No
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_No (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: is_category_P
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_P (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: is_category_Pc
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Pc (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: is_category_Pd
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Pd (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: is_category_Ps
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Ps (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: is_category_Pe
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Pe (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: is_category_Pi
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Pi (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: is_category_Pf
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Pf (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: is_category_Po
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Po (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: is_category_S
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_S (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: is_category_Sm
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Sm (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 575
    functionName: is_category_Sc
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Sc (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: is_category_Sk
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Sk (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: is_category_So
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_So (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: is_category_Z
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Z (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: is_category_Zs
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Zs (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: is_category_Zl
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Zl (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: is_category_Zp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Zp (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: is_category_C
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_C (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: is_category_Cc
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Cc (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: is_category_Cf
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Cf (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: is_category_Cs
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Cs (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 659
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 659
    functionName: is_category_Co
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Co (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: is_category_Cn
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_category_Cn (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:675,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:678,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:679,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:684,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:686,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:690,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:695,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:699,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:701,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:705,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:705,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:707,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 710
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 710
    functionName: debug_output_predicate
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - predicate
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_predicate (const char *filename, bool (*predicate)
      (unsigned int))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:720,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:723,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:724,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:727,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:728,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:729,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:730,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:731,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:732,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:733,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:734,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:738,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:743,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:747,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:748,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:752,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:754,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:755,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:756,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:758,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:758,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:760,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - filename
    - expression
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 763
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 763
    functionName: output_predicate_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - predicate
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_predicate_test (const char *filename, bool (*predicate)
      (unsigned int), const char *expression)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:780,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:783,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:784,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:787,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:788,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:789,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:791,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:793,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:794,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:795,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:796,1
    - Dst: str_startswith
      Src: /src/gnulib/lib/gen-uni-tables.c:797,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:798,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:799,1
    - Dst: predicate_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:803,1
    - Dst: predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:806,1
    - Dst: predicate_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:807,1
    - Dst: predicate_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:809,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:824,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:827,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:828,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:829,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:830,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:831,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:832,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:833,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:834,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:835,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:836,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:837,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:838,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:840,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:845,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:848,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:850,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:853,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:856,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:857,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:858,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:860,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:865,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:868,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:870,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:873,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:876,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:877,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:878,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:880,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:884,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:885,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:888,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:891,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:892,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:893,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:895,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:895,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:897,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:898,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 4
    argNames:
    - filename
    - name
    - comment
    - version
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 900
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 900
    functionName: output_predicate
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - predicate_table_init
    - predicate_table_add
    - str_startswith
    - predicate
    - strcmp
    - predicate_table_finalize
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_predicate (const char *filename, bool (*predicate) (unsigned
      int), const char *name, const char *comment, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CATEGORY
      Src: /src/gnulib/lib/gen-uni-tables.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 949
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 949
    functionName: output_categories
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - CATEGORY
    linkageType: ''
    returnType: void
    signature: void output_categories (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:1075,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 109
    argCount: 1
    argNames:
    - category_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1076
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1076
    functionName: general_category_byname
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int general_category_byname (const char *category_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:1096,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1099,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1100,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1103,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1104,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1107,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1109,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1110,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:1111,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1112,1
    - Dst: category_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:1116,1
    - Dst: is_category_Cs
      Src: /src/gnulib/lib/gen-uni-tables.c:1123,1
    - Dst: general_category_byname
      Src: /src/gnulib/lib/gen-uni-tables.c:1126,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1131,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1135,1
    - Dst: category_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:1137,1
    - Dst: category_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:1140,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1154,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1156,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1157,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1158,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1159,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1160,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1161,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1163,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1164,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1165,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1166,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1168,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1173,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1176,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1178,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1181,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1184,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1185,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1186,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1188,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1193,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1198,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1200,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1203,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1206,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1207,1
    - Dst: calloc
      Src: /src/gnulib/lib/gen-uni-tables.c:1212,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1222,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1224,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1228,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1229,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1231,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1234,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1235,1
    - Dst: free
      Src: /src/gnulib/lib/gen-uni-tables.c:1236,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1237,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:1239,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:1239,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1241,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1242,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1244
    functionName: output_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - category_table_finalize
    - fclose
    - is_category_Cs
    - calloc
    - free
    - ferror
    - category_table_init
    - general_category_byname
    - fprintf
    - output_library_license
    - category_table_add
    linkageType: ''
    returnType: void
    signature: void output_category (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:1269,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1272,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1273,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1276,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1277,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1278,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1280,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1282,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1283,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:1284,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1285,1
    - Dst: combclass_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:1289,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1295,1
    - Dst: combclass_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:1296,1
    - Dst: combclass_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:1299,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1313,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1315,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1316,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1317,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1318,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1319,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1320,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1321,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1322,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1323,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1324,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1326,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1331,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1334,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1336,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1339,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1342,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1343,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1344,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1346,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1351,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1354,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1356,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1359,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1362,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1363,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1364,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1366,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1370,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1371,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1373,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1376,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1377,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1378,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:1380,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:1380,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1382,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1383,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1385
    functionName: output_combclass
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - combclass_table_finalize
    - combclass_table_add
    - combclass_table_init
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_combclass (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:1592,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 153
    argCount: 1
    argNames:
    - category_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1593
    functionName: bidi_category_byname
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int bidi_category_byname (const char *category_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bidi_category_byname
      Src: /src/gnulib/lib/gen-uni-tables.c:1599,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 11
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1623
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1623
    functionName: get_bidi_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - bidi_category_byname
    linkageType: ''
    returnType: int
    signature: int get_bidi_category (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:1643,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1646,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1647,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1650,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1651,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1652,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1654,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1656,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1657,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:1658,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1659,1
    - Dst: bidi_category_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:1663,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1669,1
    - Dst: bidi_category_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:1671,1
    - Dst: bidi_category_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:1674,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1688,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1690,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1691,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1692,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1693,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1694,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1695,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1697,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1698,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1699,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1700,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1702,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1707,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1710,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1712,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1715,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1718,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1719,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1720,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1722,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1727,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1730,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1732,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1735,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1738,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1739,1
    - Dst: calloc
      Src: /src/gnulib/lib/gen-uni-tables.c:1744,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1754,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1756,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1760,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1761,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1763,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1766,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1767,1
    - Dst: free
      Src: /src/gnulib/lib/gen-uni-tables.c:1768,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1769,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:1771,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:1771,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1773,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1774,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1776
    functionName: output_bidi_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - calloc
    - free
    - bidi_category_table_add
    - bidi_category_table_finalize
    - ferror
    - fprintf
    - output_library_license
    - bidi_category_table_init
    linkageType: ''
    returnType: void
    signature: void output_bidi_category (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/lib/gen-uni-tables.c:1788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1790
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1790
    functionName: get_decdigit_value
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: int
    signature: int get_decdigit_value (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:1808,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1811,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1812,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1815,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1816,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1817,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1819,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1821,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1822,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:1823,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1824,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1831,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1836,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1837,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1842,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:1844,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:1844,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1846,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1849
    functionName: output_decimal_digit_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_decimal_digit_test (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:1860,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1863,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1864,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1867,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1868,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1869,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1871,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1873,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1874,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:1875,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1876,1
    - Dst: decdigit_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:1880,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:1886,1
    - Dst: decdigit_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:1888,1
    - Dst: decdigit_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:1891,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1905,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1907,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1908,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1909,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1910,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1911,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1912,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1914,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1915,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1916,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1917,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1919,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1924,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1927,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1929,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1932,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1935,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1936,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1937,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1939,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1944,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1947,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1949,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1952,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1955,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1956,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1958,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1960,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1964,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1965,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1969,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1972,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1973,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1974,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:1976,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:1976,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:1978,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:1979,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1852
    functionDepth: 1
    functionLinenumber: 1852
    functionLinenumberEnd: 1981
    functionName: output_decimal_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - decdigit_table_finalize
    - decdigit_table_add
    - fclose
    - decdigit_table_init
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_decimal_digit (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/lib/gen-uni-tables.c:1993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1995
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1995
    functionName: get_digit_value
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: int
    signature: int get_digit_value (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2005,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2008,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2009,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2012,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2013,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2014,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2016,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2018,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2019,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:2020,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2021,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:2028,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2033,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2034,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2039,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2041,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2041,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2043,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2046
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2046
    functionName: output_digit_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_digit_test (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2057,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2060,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2061,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2064,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2065,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2066,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2068,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2070,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2071,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:2072,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2073,1
    - Dst: decdigit_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:2077,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:2083,1
    - Dst: decdigit_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:2085,1
    - Dst: decdigit_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:2088,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2102,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2104,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2106,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2107,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2108,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2109,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2111,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2113,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2114,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2116,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2121,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2124,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2126,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2129,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2132,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2133,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2134,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2136,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2141,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2144,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2146,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2149,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2152,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2153,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2155,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2157,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2161,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2162,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2166,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2169,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2170,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2171,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2173,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2173,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2175,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2176,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2178
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2178
    functionName: output_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - decdigit_table_finalize
    - decdigit_table_add
    - fclose
    - decdigit_table_init
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_digit (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/gnulib/lib/gen-uni-tables.c:2197,1
    - Dst: strchr
      Src: /src/gnulib/lib/gen-uni-tables.c:2198,1
    - Dst: atoi
      Src: /src/gnulib/lib/gen-uni-tables.c:2199,1
    - Dst: strchr
      Src: /src/gnulib/lib/gen-uni-tables.c:2199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2209
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2209
    functionName: get_numeric_value
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    linkageType: ''
    returnType: uc_fraction_t
    signature: uc_fraction_t get_numeric_value (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2219,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2222,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2223,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2226,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2227,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2228,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2230,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2232,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2233,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:2234,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2235,1
    - Dst: get_numeric_value
      Src: /src/gnulib/lib/gen-uni-tables.c:2240,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2245,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2246,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2252,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2254,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2254,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2256,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2259
    functionName: output_numeric_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - get_numeric_value
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_numeric_test (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2281,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2284,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2285,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2288,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2289,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2290,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2292,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2294,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2295,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:2296,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2297,1
    - Dst: get_numeric_value
      Src: /src/gnulib/lib/gen-uni-tables.c:2303,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:2311,1
    - Dst: SIZEOF
      Src: /src/gnulib/lib/gen-uni-tables.c:2311,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2324,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2326,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2329,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2332,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2333,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2335,1
    - Dst: numeric_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:2339,1
    - Dst: get_numeric_value
      Src: /src/gnulib/lib/gen-uni-tables.c:2343,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:2349,1
    - Dst: numeric_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:2351,1
    - Dst: numeric_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:2354,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2368,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2370,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2371,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2372,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2373,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2374,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2375,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2377,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2378,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2379,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2380,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2382,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2387,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2390,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2392,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2395,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2398,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2399,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2400,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2402,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2407,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2410,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2412,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2415,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2418,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2419,1
    - Dst: calloc
      Src: /src/gnulib/lib/gen-uni-tables.c:2424,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2434,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2436,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2440,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2441,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2443,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2446,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2447,1
    - Dst: free
      Src: /src/gnulib/lib/gen-uni-tables.c:2448,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2449,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2451,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2451,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2453,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2454,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 121
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2456
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2456
    functionName: output_numeric
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - numeric_table_finalize
    - calloc
    - free
    - numeric_table_init
    - numeric_table_add
    - get_numeric_value
    - SIZEOF
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_numeric (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2483,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2486,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2487,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:2500,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:2507,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:2510,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:2511,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:2512,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:2513,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:2514,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:2515,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2520,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2522,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:2525,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:2525,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:2526,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:2528,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:2529,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2532,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2534,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2539,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2541,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2545,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2547,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2554,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2556,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2560,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2562,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2573,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2575,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2580,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2582,1
    - Dst: SIZEOF
      Src: /src/gnulib/lib/gen-uni-tables.c:2591,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2593,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2596,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2606,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2608,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2613,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2615,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2619,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2619,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2621,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2622,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 1
    argNames:
    - bidimirroring_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2624
    functionName: fill_mirror
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - strlen
    - ungetc
    - ferror
    - getc
    - getfield
    - fprintf
    - SIZEOF
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_mirror (const char *bidimirroring_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:2651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2654
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2654
    functionName: get_mirror_value
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int get_mirror_value (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2673,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2676,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2677,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2680,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2681,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2682,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2684,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2686,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2687,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:2688,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2689,1
    - Dst: mirror_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:2693,1
    - Dst: mirror_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:2699,1
    - Dst: mirror_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:2702,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2716,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2718,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2719,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2720,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2721,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2722,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2723,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2724,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2725,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2726,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2727,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2729,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2734,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2737,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2739,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2742,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2745,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2746,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2747,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2749,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2754,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2757,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2759,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2762,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2765,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2766,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2767,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2769,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2773,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2774,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2776,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2779,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2780,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2781,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:2783,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:2783,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2785,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2786,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2788
    functionName: output_mirror
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - mirror_table_finalize
    - ferror
    - mirror_table_init
    - mirror_table_add
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_mirror (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2799
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2799
    functionName: is_WBP_MIDNUMLET
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_WBP_MIDNUMLET (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2807
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2807
    functionName: is_WBP_MIDLETTER
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_WBP_MIDLETTER (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2901
    functionName: clear_properties
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_properties (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:2911,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2914,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2915,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:2927,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:2933,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:2935,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:2937,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:2938,1
    - Dst: PROP
      Src: /src/gnulib/lib/gen-uni-tables.c:2945,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3012,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:3017,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3019,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3020,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3023,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3025,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3027,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3029,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3033,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3035,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3038,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3046,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3048,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3051,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:3058,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:3058,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3060,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3061,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 1
    argNames:
    - proplist_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3063
      start: 2905
    functionDepth: 1
    functionLinenumber: 2905
    functionLinenumberEnd: 3063
    functionName: fill_properties
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - PROP
    - strcmp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_properties (const char *proplist_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:3077,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3080,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3081,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:3087,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3089,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3090,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:3093,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:3099,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:3103,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:3105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3107,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3109,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:3112,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:3114,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3116,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3118,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3124,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3126,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3128,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:3133,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:3133,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:3135,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:3136,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - array
    - proplist_filename
    - property_name
    argTypes:
    - char[]
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3138
      start: 3067
    functionDepth: 1
    functionLinenumber: 3067
    functionLinenumberEnd: 3138
    functionName: fill_property30
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - strlen
    - fscanf
    - sscanf
    - strstr
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_property30 (char array[0x110000], const char *proplist_filename,
      const char *property_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_property30
      Src: /src/gnulib/lib/gen-uni-tables.c:3151,1
    - Dst: fill_property30
      Src: /src/gnulib/lib/gen-uni-tables.c:3152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - proplist30_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3153
      start: 3148
    functionDepth: 2
    functionLinenumber: 3148
    functionLinenumberEnd: 3153
    functionName: fill_properties30
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fill_property30
    linkageType: ''
    returnType: void
    signature: void fill_properties30 (const char *proplist30_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3162
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3162
    functionName: is_property_white_space
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_white_space (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3191,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3193
      start: 3167
    functionDepth: 1
    functionLinenumber: 3167
    functionLinenumberEnd: 3193
    functionName: is_property_alphabetic
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_alphabetic (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3200
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3200
    functionName: is_property_other_alphabetic
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_alphabetic (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3207
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3207
    functionName: is_property_not_a_character
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_not_a_character (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3226
      start: 3211
    functionDepth: 1
    functionLinenumber: 3211
    functionLinenumberEnd: 3226
    functionName: is_property_default_ignorable_code_point
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_default_ignorable_code_point (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3233
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3233
    functionName: is_property_other_default_ignorable_code_point
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_default_ignorable_code_point (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3240
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3240
    functionName: is_property_deprecated
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_deprecated (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3247
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3247
    functionName: is_property_logical_order_exception
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_logical_order_exception (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3254
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3254
    functionName: is_property_variation_selector
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_variation_selector (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3264
      start: 3257
    functionDepth: 0
    functionLinenumber: 3257
    functionLinenumberEnd: 3264
    functionName: is_property_private_use
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_private_use (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Cn
      Src: /src/gnulib/lib/gen-uni-tables.c:3270,1
    - Dst: is_property_not_a_character
      Src: /src/gnulib/lib/gen-uni-tables.c:3270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3271
      start: 3267
    functionDepth: 1
    functionLinenumber: 3267
    functionLinenumberEnd: 3271
    functionName: is_property_unassigned_code_value
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Cn
    - is_property_not_a_character
    linkageType: ''
    returnType: bool
    signature: bool is_property_unassigned_code_value (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3286
      start: 3275
    functionDepth: 1
    functionLinenumber: 3275
    functionLinenumberEnd: 3286
    functionName: is_property_uppercase
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_uppercase (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3293
      start: 3289
    functionDepth: 0
    functionLinenumber: 3289
    functionLinenumberEnd: 3293
    functionName: is_property_other_uppercase
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_uppercase (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3308
      start: 3297
    functionDepth: 1
    functionLinenumber: 3297
    functionLinenumberEnd: 3308
    functionName: is_property_lowercase
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_lowercase (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3315
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3315
    functionName: is_property_other_lowercase
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_lowercase (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Lt
      Src: /src/gnulib/lib/gen-uni-tables.c:3321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3322
      start: 3318
    functionDepth: 1
    functionLinenumber: 3318
    functionLinenumberEnd: 3322
    functionName: is_property_titlecase
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Lt
    linkageType: ''
    returnType: bool
    signature: bool is_property_titlecase (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3335
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3335
    functionName: is_property_cased
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_cased (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3352
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3352
    functionName: is_property_case_ignorable
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_case_ignorable (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3365
      start: 3355
    functionDepth: 1
    functionLinenumber: 3355
    functionLinenumberEnd: 3365
    functionName: is_property_changes_when_lowercased
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_changes_when_lowercased (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3372
      start: 3368
    functionDepth: 0
    functionLinenumber: 3368
    functionLinenumberEnd: 3372
    functionName: is_property_changes_when_uppercased
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_changes_when_uppercased (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3379
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3379
    functionName: is_property_changes_when_titlecased
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_changes_when_titlecased (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3386
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3386
    functionName: is_property_changes_when_casefolded
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_changes_when_casefolded (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3393
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3393
    functionName: is_property_changes_when_casemapped
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_changes_when_casemapped (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3400
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3400
    functionName: is_property_soft_dotted
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_soft_dotted (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3407
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3407
    functionName: is_property_id_start
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_id_start (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3414
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3414
    functionName: is_property_other_id_start
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_id_start (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3421
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3421
    functionName: is_property_id_continue
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_id_continue (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3428
      start: 3424
    functionDepth: 0
    functionLinenumber: 3424
    functionLinenumberEnd: 3428
    functionName: is_property_other_id_continue
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_id_continue (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3435
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3435
    functionName: is_property_xid_start
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_xid_start (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3442
      start: 3438
    functionDepth: 0
    functionLinenumber: 3438
    functionLinenumberEnd: 3442
    functionName: is_property_xid_continue
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_xid_continue (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3449
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3449
    functionName: is_property_id_compat_math_start
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_id_compat_math_start (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3456
      start: 3452
    functionDepth: 0
    functionLinenumber: 3452
    functionLinenumberEnd: 3456
    functionName: is_property_id_compat_math_continue
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_id_compat_math_continue (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3463
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3463
    functionName: is_property_pattern_white_space
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_pattern_white_space (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3470
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3470
    functionName: is_property_pattern_syntax
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_pattern_syntax (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3477
      start: 3473
    functionDepth: 0
    functionLinenumber: 3473
    functionLinenumberEnd: 3477
    functionName: is_property_join_control
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_join_control (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3484
      start: 3480
    functionDepth: 0
    functionLinenumber: 3480
    functionLinenumberEnd: 3484
    functionName: is_property_grapheme_base
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_grapheme_base (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3491
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3491
    functionName: is_property_grapheme_extend
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_grapheme_extend (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3498
      start: 3494
    functionDepth: 0
    functionLinenumber: 3494
    functionLinenumberEnd: 3498
    functionName: is_property_other_grapheme_extend
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_grapheme_extend (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3505
      start: 3501
    functionDepth: 0
    functionLinenumber: 3501
    functionLinenumberEnd: 3505
    functionName: is_property_grapheme_link
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_grapheme_link (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3512
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3512
    functionName: is_property_modifier_combining_mark
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_modifier_combining_mark (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3519
      start: 3515
    functionDepth: 0
    functionLinenumber: 3515
    functionLinenumberEnd: 3519
    functionName: is_property_bidi_control
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_control (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3526
      start: 3522
    functionDepth: 2
    functionLinenumber: 3522
    functionLinenumberEnd: 3526
    functionName: is_property_bidi_left_to_right
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_left_to_right (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3533
      start: 3529
    functionDepth: 2
    functionLinenumber: 3529
    functionLinenumberEnd: 3533
    functionName: is_property_bidi_hebrew_right_to_left
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_hebrew_right_to_left (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3540
      start: 3536
    functionDepth: 2
    functionLinenumber: 3536
    functionLinenumberEnd: 3540
    functionName: is_property_bidi_arabic_right_to_left
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_arabic_right_to_left (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3547
      start: 3543
    functionDepth: 2
    functionLinenumber: 3543
    functionLinenumberEnd: 3547
    functionName: is_property_bidi_european_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_european_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3554
      start: 3550
    functionDepth: 2
    functionLinenumber: 3550
    functionLinenumberEnd: 3554
    functionName: is_property_bidi_eur_num_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_eur_num_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3561
      start: 3557
    functionDepth: 2
    functionLinenumber: 3557
    functionLinenumberEnd: 3561
    functionName: is_property_bidi_eur_num_terminator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_eur_num_terminator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3568
      start: 3564
    functionDepth: 2
    functionLinenumber: 3564
    functionLinenumberEnd: 3568
    functionName: is_property_bidi_arabic_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_arabic_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3575
      start: 3571
    functionDepth: 2
    functionLinenumber: 3571
    functionLinenumberEnd: 3575
    functionName: is_property_bidi_common_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_common_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3582
      start: 3578
    functionDepth: 2
    functionLinenumber: 3578
    functionLinenumberEnd: 3582
    functionName: is_property_bidi_block_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_block_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3589
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3589
    functionName: is_property_bidi_segment_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_segment_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3596
      start: 3592
    functionDepth: 2
    functionLinenumber: 3592
    functionLinenumberEnd: 3596
    functionName: is_property_bidi_whitespace
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_whitespace (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3603
      start: 3599
    functionDepth: 2
    functionLinenumber: 3599
    functionLinenumberEnd: 3603
    functionName: is_property_bidi_non_spacing_mark
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_non_spacing_mark (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3610
      start: 3606
    functionDepth: 2
    functionLinenumber: 3606
    functionLinenumberEnd: 3610
    functionName: is_property_bidi_boundary_neutral
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_boundary_neutral (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3617
      start: 3613
    functionDepth: 2
    functionLinenumber: 3613
    functionLinenumberEnd: 3617
    functionName: is_property_bidi_pdf
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_pdf (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3626
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3626
    functionName: is_property_bidi_embedding_or_override
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_embedding_or_override (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3633
      start: 3629
    functionDepth: 2
    functionLinenumber: 3629
    functionLinenumberEnd: 3633
    functionName: is_property_bidi_other_neutral
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_bidi_other_neutral (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3640
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3640
    functionName: is_property_hex_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_hex_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3647
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3647
    functionName: is_property_ascii_hex_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_ascii_hex_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3655
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3655
    functionName: is_property_ideographic
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_ideographic (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3662
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3662
    functionName: is_property_unified_ideograph
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_unified_ideograph (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3669
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3669
    functionName: is_property_radical
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_radical (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3676
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3676
    functionName: is_property_ids_unary_operator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_ids_unary_operator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3683
      start: 3679
    functionDepth: 0
    functionLinenumber: 3679
    functionLinenumberEnd: 3683
    functionName: is_property_ids_binary_operator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_ids_binary_operator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3690
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3690
    functionName: is_property_ids_trinary_operator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_ids_trinary_operator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:3696,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:3698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3699
      start: 3693
    functionDepth: 1
    functionLinenumber: 3693
    functionLinenumberEnd: 3699
    functionName: is_property_zero_width
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Cf
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_property_zero_width (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Zs
      Src: /src/gnulib/lib/gen-uni-tables.c:3705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3706
      start: 3702
    functionDepth: 1
    functionLinenumber: 3702
    functionLinenumberEnd: 3706
    functionName: is_property_space
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Zs
    linkageType: ''
    returnType: bool
    signature: bool is_property_space (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3730
      start: 3709
    functionDepth: 0
    functionLinenumber: 3709
    functionLinenumberEnd: 3730
    functionName: is_property_non_break
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_non_break (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3744
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3744
    functionName: is_property_iso_control
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_iso_control (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:3750,1
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3751,1
    - Dst: is_property_join_control
      Src: /src/gnulib/lib/gen-uni-tables.c:3752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3754
      start: 3747
    functionDepth: 2
    functionLinenumber: 3747
    functionLinenumberEnd: 3754
    functionName: is_property_format_control
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Cf
    - get_bidi_category
    - is_property_join_control
    linkageType: ''
    returnType: bool
    signature: bool is_property_format_control (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3761
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3761
    functionName: is_property_prepended_concatenation_mark
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_prepended_concatenation_mark (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3768
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3768
    functionName: is_property_dash
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_dash (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3775
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3775
    functionName: is_property_hyphen
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_hyphen (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_P
      Src: /src/gnulib/lib/gen-uni-tables.c:3781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3782
      start: 3778
    functionDepth: 1
    functionLinenumber: 3778
    functionLinenumberEnd: 3782
    functionName: is_property_punctuation
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_P
    linkageType: ''
    returnType: bool
    signature: bool is_property_punctuation (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Zl
      Src: /src/gnulib/lib/gen-uni-tables.c:3788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3789
      start: 3785
    functionDepth: 1
    functionLinenumber: 3785
    functionLinenumberEnd: 3789
    functionName: is_property_line_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Zl
    linkageType: ''
    returnType: bool
    signature: bool is_property_line_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Zp
      Src: /src/gnulib/lib/gen-uni-tables.c:3795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3796
      start: 3792
    functionDepth: 1
    functionLinenumber: 3792
    functionLinenumberEnd: 3796
    functionName: is_property_paragraph_separator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Zp
    linkageType: ''
    returnType: bool
    signature: bool is_property_paragraph_separator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3803
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3803
    functionName: is_property_quotation_mark
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_quotation_mark (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3810
      start: 3806
    functionDepth: 0
    functionLinenumber: 3806
    functionLinenumberEnd: 3810
    functionName: is_property_sentence_terminal
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_sentence_terminal (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3817
      start: 3813
    functionDepth: 0
    functionLinenumber: 3813
    functionLinenumberEnd: 3817
    functionName: is_property_terminal_punctuation
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_terminal_punctuation (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Sc
      Src: /src/gnulib/lib/gen-uni-tables.c:3823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3824
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3824
    functionName: is_property_currency_symbol
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Sc
    linkageType: ''
    returnType: bool
    signature: bool is_property_currency_symbol (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:3838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3840
      start: 3829
    functionDepth: 1
    functionLinenumber: 3829
    functionLinenumberEnd: 3840
    functionName: is_property_math
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool is_property_math (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3847
      start: 3843
    functionDepth: 0
    functionLinenumber: 3843
    functionLinenumberEnd: 3847
    functionName: is_property_other_math
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_other_math (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3854
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3854
    functionName: is_property_paired_punctuation
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_paired_punctuation (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3861
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3861
    functionName: is_property_left_of_pair
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_left_of_pair (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:3868,1
    - Dst: is_category_Mc
      Src: /src/gnulib/lib/gen-uni-tables.c:3869,1
    - Dst: is_category_Me
      Src: /src/gnulib/lib/gen-uni-tables.c:3870,1
    - Dst: is_category_Mn
      Src: /src/gnulib/lib/gen-uni-tables.c:3871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3872
      start: 3864
    functionDepth: 1
    functionLinenumber: 3864
    functionLinenumberEnd: 3872
    functionName: is_property_combining
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Me
    - is_category_Mn
    - is_category_Mc
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_property_combining (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3881
      start: 3876
    functionDepth: 2
    functionLinenumber: 3876
    functionLinenumberEnd: 3881
    functionName: is_property_non_spacing
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_non_spacing (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/gen-uni-tables.c:3900,1
    - Dst: strchr
      Src: /src/gnulib/lib/gen-uni-tables.c:3904,1
    - Dst: str_startswith
      Src: /src/gnulib/lib/gen-uni-tables.c:3904,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3907
      start: 3885
    functionDepth: 0
    functionLinenumber: 3885
    functionLinenumberEnd: 3907
    functionName: is_property_composite
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 2
    functionsReached:
    - str_startswith
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_property_composite (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Nd
      Src: /src/gnulib/lib/gen-uni-tables.c:3913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3914
      start: 3910
    functionDepth: 1
    functionLinenumber: 3910
    functionLinenumberEnd: 3914
    functionName: is_property_decimal_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Nd
    linkageType: ''
    returnType: bool
    signature: bool is_property_decimal_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_numeric_value
      Src: /src/gnulib/lib/gen-uni-tables.c:3920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3923
      start: 3917
    functionDepth: 1
    functionLinenumber: 3917
    functionLinenumberEnd: 3923
    functionName: is_property_numeric
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - get_numeric_value
    linkageType: ''
    returnType: bool
    signature: bool is_property_numeric (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3930
      start: 3926
    functionDepth: 0
    functionLinenumber: 3926
    functionLinenumberEnd: 3930
    functionName: is_property_diacritic
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_diacritic (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3937
      start: 3933
    functionDepth: 0
    functionLinenumber: 3933
    functionLinenumberEnd: 3937
    functionName: is_property_extender
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_extender (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Cc
      Src: /src/gnulib/lib/gen-uni-tables.c:3943,1
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:3943,1
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:3944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3946
      start: 3940
    functionDepth: 2
    functionLinenumber: 3940
    functionLinenumberEnd: 3946
    functionName: is_property_ignorable_control
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Cc
    - is_category_Cf
    - get_bidi_category
    linkageType: ''
    returnType: bool
    signature: bool is_property_ignorable_control (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3953
      start: 3949
    functionDepth: 0
    functionLinenumber: 3949
    functionLinenumberEnd: 3953
    functionName: is_property_regional_indicator
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_regional_indicator (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3960
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3960
    functionName: is_property_emoji
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_emoji (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3967
      start: 3963
    functionDepth: 0
    functionLinenumber: 3963
    functionLinenumberEnd: 3967
    functionName: is_property_emoji_presentation
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_emoji_presentation (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3974
      start: 3970
    functionDepth: 0
    functionLinenumber: 3970
    functionLinenumberEnd: 3974
    functionName: is_property_emoji_modifier
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_emoji_modifier (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3981
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 3981
    functionName: is_property_emoji_modifier_base
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_emoji_modifier_base (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3988
      start: 3984
    functionDepth: 0
    functionLinenumber: 3984
    functionLinenumberEnd: 3988
    functionName: is_property_emoji_component
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_emoji_component (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3995
      start: 3991
    functionDepth: 0
    functionLinenumber: 3991
    functionLinenumberEnd: 3995
    functionName: is_property_extended_pictographic
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_property_extended_pictographic (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4007,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4008,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4009,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4010,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4011,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4012,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4013,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4014,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4015,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4016,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4017,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4018,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4019,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4020,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4021,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4022,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4023,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4024,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4025,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4026,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4027,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4028,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4029,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4030,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4031,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4032,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4033,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4034,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4035,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4036,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4037,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4038,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4039,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4040,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4041,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4042,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4043,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4044,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4045,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4046,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4047,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4048,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4049,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4050,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4051,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4052,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4053,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4054,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4055,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4056,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4057,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4058,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4059,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4060,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4061,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4062,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4063,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4064,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4065,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4066,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4067,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4068,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4069,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4070,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4071,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4072,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4073,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4074,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4075,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4076,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4077,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4078,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4079,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4080,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4081,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4082,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4083,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4084,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4085,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4086,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4087,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4088,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4089,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4090,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4091,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4092,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4093,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4094,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4095,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4096,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4097,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4098,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4099,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4100,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4101,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4102,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4103,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:4104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4106
      start: 4000
    functionDepth: 0
    functionLinenumber: 4000
    functionLinenumberEnd: 4106
    functionName: output_properties
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PROPERTY
    linkageType: ''
    returnType: void
    signature: void output_properties (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4115,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4116,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4117,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4118,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:4120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - indic_conjunct_break
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4121
      start: 4111
    functionDepth: 0
    functionLinenumber: 4111
    functionLinenumberEnd: 4121
    functionName: indic_conjunct_break_as_c_identifier
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - TRY
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      indic_conjunct_break_as_c_identifier (int indic_conjunct_break)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4130,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4133,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4134,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4137,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4138,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4139,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4141,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4143,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4144,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:4145,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4146,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4156,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4157,1
    - Dst: indic_conjunct_break_as_c_identifier
      Src: /src/gnulib/lib/gen-uni-tables.c:4157,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4162,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:4164,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:4164,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4166,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4169
      start: 4123
    functionDepth: 1
    functionLinenumber: 4123
    functionLinenumberEnd: 4169
    functionName: output_indic_conjunct_break_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - indic_conjunct_break_as_c_identifier
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_indic_conjunct_break_test (const char *filename, const
      char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4187,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4190,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4191,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4194,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4195,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4196,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4198,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4200,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4201,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:4202,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4203,1
    - Dst: indic_conjunct_break_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:4207,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:4213,1
    - Dst: indic_conjunct_break_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:4216,1
    - Dst: indic_conjunct_break_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:4219,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4233,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4235,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4236,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4237,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4238,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4239,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4240,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4242,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4243,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4244,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4245,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4247,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4252,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4255,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4257,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4260,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4263,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4264,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4265,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4267,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4272,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4275,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4277,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4280,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4283,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4284,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4286,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4288,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4292,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4293,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4303,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4306,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4307,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4308,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:4310,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:4310,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4312,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4313,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4315
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4315
    functionName: output_indic_conjunct_break
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - indic_conjunct_break_table_init
    - exit
    - assert
    - fclose
    - indic_conjunct_break_table_add
    - ferror
    - fprintf
    - output_library_license
    - indic_conjunct_break_table_finalize
    linkageType: ''
    returnType: void
    signature: void output_indic_conjunct_break (const char *filename, const char
      *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4451,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4454,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4455,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:4478,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:4484,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4488,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4490,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:4492,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4496,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4497,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4498,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4499,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4500,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4501,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4505,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4507,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:4512,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:4513,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4517,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4518,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4519,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4520,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4521,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4522,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4523,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4524,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4525,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4526,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4527,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4528,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4529,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4530,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4531,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4532,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4533,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4534,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4535,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4536,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4537,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4538,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4539,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4540,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4541,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4542,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4543,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4544,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4545,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4546,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4547,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4548,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4549,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4550,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4551,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4552,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4553,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4554,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4555,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4556,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4557,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4558,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4559,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4560,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4561,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4562,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4563,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4564,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4565,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4566,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4567,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4568,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4569,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4570,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4571,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4572,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4573,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4574,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4575,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4576,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4577,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4578,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4579,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4580,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4581,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4582,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4583,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4584,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4585,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4586,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4587,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4588,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4589,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4590,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4591,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4592,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4593,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4594,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4595,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4596,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4597,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4598,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4599,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4600,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4601,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4602,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4603,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4604,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4605,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4606,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4607,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4608,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4609,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4610,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4611,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4612,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4613,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4614,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4615,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4616,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4617,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4618,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4619,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4620,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4621,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4625,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4627,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 144
    argCount: 1
    argNames:
    - arabicshaping_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4628
      start: 4444
    functionDepth: 1
    functionLinenumber: 4444
    functionLinenumberEnd: 4628
    functionName: fill_arabicshaping
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - strlen
    - fscanf
    - TRY
    - sscanf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_arabicshaping (const char *arabicshaping_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4646,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4647,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4648,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4649,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4650,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4651,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:4653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - joining_type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4654
      start: 4642
    functionDepth: 0
    functionLinenumber: 4642
    functionLinenumberEnd: 4654
    functionName: joining_type_as_c_identifier
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - TRY
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      joining_type_as_c_identifier (int joining_type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4663,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4666,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4667,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4670,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4671,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4672,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4674,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4676,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4677,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:4678,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4679,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4689,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4690,1
    - Dst: joining_type_as_c_identifier
      Src: /src/gnulib/lib/gen-uni-tables.c:4690,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4695,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:4697,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:4697,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4699,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4702
      start: 4656
    functionDepth: 1
    functionLinenumber: 4656
    functionLinenumberEnd: 4702
    functionName: output_joining_type_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - joining_type_as_c_identifier
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_joining_type_test (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4721,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4724,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4725,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4728,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4729,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4730,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4732,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4734,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4735,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:4736,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4737,1
    - Dst: joining_type_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:4741,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:4747,1
    - Dst: joining_type_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:4749,1
    - Dst: joining_type_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:4752,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4766,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4768,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4769,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4770,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4771,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4772,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4773,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4775,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4776,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4777,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4778,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4780,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4785,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4788,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4790,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4793,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4796,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4797,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4798,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4800,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4805,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4808,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4810,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4813,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4816,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4817,1
    - Dst: calloc
      Src: /src/gnulib/lib/gen-uni-tables.c:4820,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4828,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4830,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4834,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4835,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4837,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4840,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4841,1
    - Dst: free
      Src: /src/gnulib/lib/gen-uni-tables.c:4842,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4843,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:4845,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:4845,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4847,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4848,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4850
      start: 4712
    functionDepth: 1
    functionLinenumber: 4712
    functionLinenumberEnd: 4850
    functionName: output_joining_type
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - calloc
    - free
    - joining_type_table_add
    - joining_type_table_init
    - joining_type_table_finalize
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_joining_type (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4857,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4858,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4859,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4860,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4861,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4862,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4863,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4864,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4865,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4866,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4867,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4868,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4869,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4870,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4871,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4872,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4873,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4874,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4875,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4876,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4877,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4878,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4879,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4880,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4881,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4882,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4883,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4884,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4885,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4886,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4887,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4888,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4889,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4890,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4891,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4892,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4893,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4894,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4895,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4896,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4897,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4898,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4899,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4900,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4901,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4902,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4903,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4904,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4905,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4906,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4907,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4908,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4909,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4910,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4911,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4912,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4913,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4914,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4915,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4916,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4917,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4918,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4919,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4920,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4921,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4922,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4923,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4924,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4925,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4926,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4927,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4928,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4929,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4930,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4931,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4932,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4933,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4934,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4935,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4936,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4937,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4938,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4939,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4940,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4941,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4942,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4943,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4944,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4945,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4946,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4947,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4948,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4949,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4950,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4951,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4952,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4953,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4954,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4955,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4956,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4957,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4958,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4959,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4960,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:4961,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:4963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 107
    argCount: 1
    argNames:
    - joining_group
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 4964
      start: 4853
    functionDepth: 0
    functionLinenumber: 4853
    functionLinenumberEnd: 4964
    functionName: joining_group_as_c_identifier
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - TRY
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      joining_group_as_c_identifier (int joining_group)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:4973,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4976,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:4977,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4980,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4981,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4982,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4984,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4986,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4987,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:4988,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4989,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:4999,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5000,1
    - Dst: joining_group_as_c_identifier
      Src: /src/gnulib/lib/gen-uni-tables.c:5000,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5005,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5007,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5007,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5009,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5012
      start: 4966
    functionDepth: 1
    functionLinenumber: 4966
    functionLinenumberEnd: 5012
    functionName: output_joining_group_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - joining_group_as_c_identifier
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_joining_group_test (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5031,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5034,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5035,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5038,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5039,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5040,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5042,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5044,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5045,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:5046,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5047,1
    - Dst: joining_group_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:5051,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5057,1
    - Dst: joining_group_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:5059,1
    - Dst: joining_group_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:5062,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5076,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5078,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5079,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5080,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5081,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5082,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5083,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5085,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5086,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5087,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5088,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5090,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5095,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5098,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5100,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5103,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5106,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5107,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5108,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5110,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5115,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5118,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5120,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5123,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5126,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5127,1
    - Dst: calloc
      Src: /src/gnulib/lib/gen-uni-tables.c:5132,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5142,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5144,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5148,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5149,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5151,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5154,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5155,1
    - Dst: free
      Src: /src/gnulib/lib/gen-uni-tables.c:5156,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5157,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5159,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5159,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5161,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5162,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5164
      start: 5022
    functionDepth: 1
    functionLinenumber: 5022
    functionLinenumberEnd: 5164
    functionName: output_joining_group
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - joining_group_table_add
    - calloc
    - free
    - joining_group_table_init
    - joining_group_table_finalize
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_joining_group (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5181,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5184,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5185,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:5201,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:5207,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:5209,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5211,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5212,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5216,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5217,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:5220,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:5224,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5227,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5233,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5238,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5238,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5240,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5241,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 1
    argNames:
    - scripts_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5243
      start: 5175
    functionDepth: 1
    functionLinenumber: 5175
    functionLinenumberEnd: 5243
    functionName: fill_scripts
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - strdup
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - strcmp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_scripts (const char *scripts_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5269,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5272,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5273,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5276,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5277,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5278,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5280,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5282,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5283,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:5284,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5285,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5301,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5303,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5317,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5319,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5321,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5325,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5326,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5329,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5330,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5333,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5334,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5336,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5338,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5339,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5341,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5342,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5344,1
    - Dst: script_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:5348,1
    - Dst: script_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:5354,1
    - Dst: script_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:5357,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5371,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5373,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5374,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5375,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5376,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5377,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5378,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5379,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5380,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5381,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5382,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5384,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5389,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5392,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5394,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5397,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5400,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5401,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5402,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5404,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5409,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5414,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5416,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5419,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5422,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5423,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5424,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5426,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5430,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5431,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5433,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5436,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5437,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5438,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5440,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5440,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5442,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5443,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 125
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5445
      start: 5253
    functionDepth: 1
    functionLinenumber: 5253
    functionLinenumberEnd: 5445
    functionName: output_scripts
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - script_table_init
    - script_table_finalize
    - script_table_add
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_scripts (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5454,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5457,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5458,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5461,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5462,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5463,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5465,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5467,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5468,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:5469,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5470,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5472,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5473,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5474,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5475,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5476,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5477,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5478,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5479,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5480,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5481,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5482,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5484,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5486,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5486,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5488,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5491
      start: 5447
    functionDepth: 1
    functionLinenumber: 5447
    functionLinenumberEnd: 5491
    functionName: output_scripts_byname
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_scripts_byname (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5507,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5510,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5511,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:5521,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:5527,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5529,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5530,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:5534,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5536,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:5538,1
    - Dst: SIZEOF
      Src: /src/gnulib/lib/gen-uni-tables.c:5538,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5541,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5541,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5543,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - blocks_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5546
      start: 5502
    functionDepth: 1
    functionLinenumber: 5502
    functionLinenumberEnd: 5546
    functionName: fill_blocks
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - strdup
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - ferror
    - fprintf
    - SIZEOF
    linkageType: ''
    returnType: void
    signature: void fill_blocks (const char *blocks_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5567
      start: 5549
    functionDepth: 0
    functionLinenumber: 5549
    functionLinenumberEnd: 5567
    functionName: block_first_index
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int block_first_index (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5589
      start: 5571
    functionDepth: 0
    functionLinenumber: 5571
    functionLinenumberEnd: 5589
    functionName: block_last_index
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int block_last_index (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:5601,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5604,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5605,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5608,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5609,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5610,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5612,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5614,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5615,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:5616,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5617,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5619,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5620,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5623,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5626,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5627,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5629,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5630,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5631,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5632,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5634,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5639,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5641,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5642,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5644,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5645,1
    - Dst: block_first_index
      Src: /src/gnulib/lib/gen-uni-tables.c:5646,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5647,1
    - Dst: block_last_index
      Src: /src/gnulib/lib/gen-uni-tables.c:5648,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:5650,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:5650,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:5652,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:5653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5655
      start: 5591
    functionDepth: 1
    functionLinenumber: 5591
    functionLinenumberEnd: 5655
    functionName: output_blocks
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - block_first_index
    - fclose
    - block_last_index
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_blocks (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5678
      start: 5670
    functionDepth: 0
    functionLinenumber: 5670
    functionLinenumberEnd: 5678
    functionName: is_c_whitespace
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_c_whitespace (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 458
    EdgeCount: 458
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5969
      start: 5681
    functionDepth: 0
    functionLinenumber: 5681
    functionLinenumberEnd: 5969
    functionName: c_ident_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int c_ident_category (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5978
      start: 5973
    functionDepth: 0
    functionLinenumber: 5973
    functionLinenumberEnd: 5978
    functionName: is_java_whitespace
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_java_whitespace (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_L
      Src: /src/gnulib/lib/gen-uni-tables.c:5987,1
    - Dst: is_category_Nl
      Src: /src/gnulib/lib/gen-uni-tables.c:5988,1
    - Dst: is_category_Sc
      Src: /src/gnulib/lib/gen-uni-tables.c:5989,1
    - Dst: is_category_Pc
      Src: /src/gnulib/lib/gen-uni-tables.c:5990,1
    - Dst: is_category_Nd
      Src: /src/gnulib/lib/gen-uni-tables.c:5993,1
    - Dst: is_category_Mc
      Src: /src/gnulib/lib/gen-uni-tables.c:5994,1
    - Dst: is_category_Mn
      Src: /src/gnulib/lib/gen-uni-tables.c:5995,1
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:6001,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6005
      start: 5983
    functionDepth: 1
    functionLinenumber: 5983
    functionLinenumberEnd: 6005
    functionName: java_ident_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - is_category_Mn
    - is_category_Nl
    - is_category_L
    - is_category_Cf
    - is_category_Sc
    - is_category_Pc
    - is_category_Mc
    - is_category_Nd
    linkageType: ''
    returnType: int
    signature: int java_ident_category (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:6024,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6027,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6028,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6031,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6032,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6033,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6035,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6037,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6038,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:6039,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6040,1
    - Dst: identsyntax_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:6044,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:6050,1
    - Dst: identsyntax_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:6053,1
    - Dst: identsyntax_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:6056,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6070,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6072,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6073,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6074,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6075,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6076,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6077,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6079,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6080,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6081,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6082,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6084,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6089,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6092,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6094,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6097,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6100,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6101,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6102,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6104,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6109,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6114,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6117,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6120,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6121,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6123,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6125,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6129,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6130,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6140,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6143,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6144,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6145,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:6147,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:6147,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6149,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6150,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - filename
    - name
    - version
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6152
      start: 6016
    functionDepth: 1
    functionLinenumber: 6016
    functionLinenumberEnd: 6152
    functionName: output_ident_category
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - identsyntax_table_add
    - fclose
    - identsyntax_table_init
    - identsyntax_table_finalize
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_ident_category (const char *filename, int (*predicate)
      (unsigned int), const char *name, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6161,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6162,1
    - Dst: output_ident_category
      Src: /src/gnulib/lib/gen-uni-tables.c:6165,1
    - Dst: output_ident_category
      Src: /src/gnulib/lib/gen-uni-tables.c:6166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6167
      start: 6154
    functionDepth: 2
    functionLinenumber: 6154
    functionLinenumberEnd: 6167
    functionName: output_ident_properties
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PROPERTY
    - output_ident_category
    linkageType: ''
    returnType: void
    signature: void output_ident_properties (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6185
      start: 6177
    functionDepth: 0
    functionLinenumber: 6177
    functionLinenumberEnd: 6185
    functionName: to_upper
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int to_upper (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6195
      start: 6187
    functionDepth: 0
    functionLinenumber: 6187
    functionLinenumberEnd: 6195
    functionName: to_lower
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int to_lower (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6205
      start: 6197
    functionDepth: 0
    functionLinenumber: 6197
    functionLinenumberEnd: 6205
    functionName: to_title
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int to_title (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6213
      start: 6209
    functionDepth: 1
    functionLinenumber: 6209
    functionLinenumberEnd: 6213
    functionName: is_upper
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - to_lower
    linkageType: ''
    returnType: bool
    signature: bool is_upper (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6221
      start: 6215
    functionDepth: 1
    functionLinenumber: 6215
    functionLinenumberEnd: 6221
    functionName: is_lower
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - to_upper
    linkageType: ''
    returnType: bool
    signature: bool is_lower (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:6244,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6252
      start: 6223
    functionDepth: 1
    functionLinenumber: 6223
    functionLinenumberEnd: 6252
    functionName: is_alpha
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_alpha (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6274
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6274
    functionName: is_digit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_digit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6279,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6280
      start: 6276
    functionDepth: 0
    functionLinenumber: 6276
    functionLinenumberEnd: 6280
    functionName: is_alnum
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - is_alpha
    - is_digit
    linkageType: ''
    returnType: bool
    signature: bool is_alnum (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:6290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6291
      start: 6282
    functionDepth: 1
    functionLinenumber: 6282
    functionLinenumberEnd: 6291
    functionName: is_blank
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_blank (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:6310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6312
      start: 6293
    functionDepth: 1
    functionLinenumber: 6293
    functionLinenumberEnd: 6312
    functionName: is_space
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 6
    functionsReached:
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool is_space (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:6318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6323
      start: 6314
    functionDepth: 0
    functionLinenumber: 6314
    functionLinenumberEnd: 6323
    functionName: is_cntrl
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_cntrl (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6345
      start: 6325
    functionDepth: 0
    functionLinenumber: 6325
    functionLinenumberEnd: 6345
    functionName: is_xdigit
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 6
    functionsReached:
    - is_digit
    linkageType: ''
    returnType: bool
    signature: bool is_xdigit (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:6351,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6353
      start: 6347
    functionDepth: 0
    functionLinenumber: 6347
    functionLinenumberEnd: 6353
    functionName: is_graph
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_space
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_graph (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:6359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6365
      start: 6355
    functionDepth: 0
    functionLinenumber: 6355
    functionLinenumberEnd: 6365
    functionName: is_print
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 15
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_print (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_graph
      Src: /src/gnulib/lib/gen-uni-tables.c:6376,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6376,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6378
      start: 6367
    functionDepth: 1
    functionLinenumber: 6367
    functionLinenumberEnd: 6378
    functionName: is_punct
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - is_alpha
    - is_graph
    - is_digit
    linkageType: ''
    returnType: bool
    signature: bool is_punct (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6388,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6389,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6390,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6391,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6392,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6393,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6394,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6395,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6396,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6397,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6398,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:6399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6401
      start: 6381
    functionDepth: 0
    functionLinenumber: 6381
    functionLinenumberEnd: 6401
    functionName: output_old_ctype
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PROPERTY
    linkageType: ''
    returnType: void
    signature: void output_old_ctype (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6417
      start: 6405
    functionDepth: 0
    functionLinenumber: 6405
    functionLinenumberEnd: 6417
    functionName: is_combining
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_combining (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_combining
      Src: /src/gnulib/lib/gen-uni-tables.c:6422,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:6425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6426
      start: 6419
    functionDepth: 1
    functionLinenumber: 6419
    functionLinenumberEnd: 6426
    functionName: is_combining_level3
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_combining
    - strtoul
    linkageType: ''
    returnType: bool
    signature: bool is_combining_level3 (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6436
      start: 6429
    functionDepth: 1
    functionLinenumber: 6429
    functionLinenumberEnd: 6436
    functionName: ucs_symbol
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ucs_symbol (unsigned int i)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:6444,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6444,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6445,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6446,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6448
      start: 6439
    functionDepth: 2
    functionLinenumber: 6439
    functionLinenumberEnd: 6448
    functionName: ucs_symbol_range
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strcat
    - ucs_symbol
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      ucs_symbol_range (unsigned int low, unsigned int high)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnulib/lib/gen-uni-tables.c:6463,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6465,1
    - Dst: strcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:6484,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6484,1
    - Dst: strcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:6486,1
    - Dst: ucs_symbol_range
      Src: /src/gnulib/lib/gen-uni-tables.c:6486,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6490,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6494,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6496,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6500,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6501,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - classname
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 6506
      start: 6452
    functionDepth: 3
    functionLinenumber: 6452
    functionLinenumberEnd: 6506
    functionName: output_charclass
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strlen
    - ucs_symbol
    - strcpy
    - ucs_symbol_range
    - func
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void output_charclass (FILE *stream, const char *classname,\n                  bool
      (*func) (unsigned int))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/gnulib/lib/gen-uni-tables.c:6521,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6523,1
    - Dst: strcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:6531,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6532,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6532,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6533,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6534,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6534,1
    - Dst: func
      Src: /src/gnulib/lib/gen-uni-tables.c:6534,1
    - Dst: strcat
      Src: /src/gnulib/lib/gen-uni-tables.c:6535,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6539,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6543,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6545,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6549,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6550,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - stream
    - mapname
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 6554
      start: 6510
    functionDepth: 2
    functionLinenumber: 6510
    functionLinenumberEnd: 6554
    functionName: output_charmap
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strlen
    - ucs_symbol
    - strcpy
    - strcat
    - func
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void output_charmap (FILE *stream, const char *mapname,\n                unsigned
      int (*func) (unsigned int))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 6561
      start: 6558
    functionDepth: 0
    functionLinenumber: 6558
    functionLinenumberEnd: 6561
    functionName: output_widthmap
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_widthmap (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:6571,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6574,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6575,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6578,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6579,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6580,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6581,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6583,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6585,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6586,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6587,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6588,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6589,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6590,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6591,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6592,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6593,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6594,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6595,1
    - Dst: time
      Src: /src/gnulib/lib/gen-uni-tables.c:6599,1
    - Dst: strftime
      Src: /src/gnulib/lib/gen-uni-tables.c:6600,1
    - Dst: gmtime
      Src: /src/gnulib/lib/gen-uni-tables.c:6600,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6601,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6603,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6604,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6605,1
    - Dst: to_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6612,1
    - Dst: is_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6612,1
    - Dst: is_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6612,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6613,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6615,1
    - Dst: to_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6615,1
    - Dst: to_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6619,1
    - Dst: is_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6619,1
    - Dst: is_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6619,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6620,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6622,1
    - Dst: to_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6622,1
    - Dst: is_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:6626,1
    - Dst: is_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:6626,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6626,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6627,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6627,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6631,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6631,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6632,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6632,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6633,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6633,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6634,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6634,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6635,1
    - Dst: is_punct
      Src: /src/gnulib/lib/gen-uni-tables.c:6635,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6636,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6636,1
    - Dst: is_alpha
      Src: /src/gnulib/lib/gen-uni-tables.c:6637,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6637,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6638,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6638,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6643,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6643,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6644,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6644,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6645,1
    - Dst: is_graph
      Src: /src/gnulib/lib/gen-uni-tables.c:6645,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6646,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6646,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6647,1
    - Dst: is_xdigit
      Src: /src/gnulib/lib/gen-uni-tables.c:6647,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6648,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6648,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6653,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6653,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6654,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6654,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6655,1
    - Dst: is_punct
      Src: /src/gnulib/lib/gen-uni-tables.c:6655,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6656,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6656,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6657,1
    - Dst: is_graph
      Src: /src/gnulib/lib/gen-uni-tables.c:6657,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6658,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6658,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6659,1
    - Dst: is_print
      Src: /src/gnulib/lib/gen-uni-tables.c:6659,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6660,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6660,1
    - Dst: is_cntrl
      Src: /src/gnulib/lib/gen-uni-tables.c:6661,1
    - Dst: is_xdigit
      Src: /src/gnulib/lib/gen-uni-tables.c:6661,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6662,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6662,1
    - Dst: is_punct
      Src: /src/gnulib/lib/gen-uni-tables.c:6667,1
    - Dst: is_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:6667,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6668,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6668,1
    - Dst: is_punct
      Src: /src/gnulib/lib/gen-uni-tables.c:6669,1
    - Dst: is_xdigit
      Src: /src/gnulib/lib/gen-uni-tables.c:6669,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6670,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6670,1
    - Dst: is_punct
      Src: /src/gnulib/lib/gen-uni-tables.c:6671,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6672,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6672,1
    - Dst: is_print
      Src: /src/gnulib/lib/gen-uni-tables.c:6684,1
    - Dst: is_graph
      Src: /src/gnulib/lib/gen-uni-tables.c:6684,1
    - Dst: is_space
      Src: /src/gnulib/lib/gen-uni-tables.c:6684,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6685,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6686,1
    - Dst: is_print
      Src: /src/gnulib/lib/gen-uni-tables.c:6687,1
    - Dst: is_graph
      Src: /src/gnulib/lib/gen-uni-tables.c:6687,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6688,1
    - Dst: ucs_symbol
      Src: /src/gnulib/lib/gen-uni-tables.c:6689,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6692,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6693,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6694,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6695,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6696,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6697,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6698,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6699,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6700,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6701,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6702,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6703,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6704,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6705,1
    - Dst: output_charclass
      Src: /src/gnulib/lib/gen-uni-tables.c:6706,1
    - Dst: output_charmap
      Src: /src/gnulib/lib/gen-uni-tables.c:6707,1
    - Dst: output_charmap
      Src: /src/gnulib/lib/gen-uni-tables.c:6708,1
    - Dst: output_charmap
      Src: /src/gnulib/lib/gen-uni-tables.c:6709,1
    - Dst: output_widthmap
      Src: /src/gnulib/lib/gen-uni-tables.c:6710,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6711,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:6713,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:6713,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6715,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6716,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 95
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6718
      start: 6565
    functionDepth: 4
    functionLinenumber: 6565
    functionLinenumberEnd: 6718
    functionName: output_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_alpha
    - time
    - ferror
    - strftime
    - is_xdigit
    - fclose
    - to_upper
    - is_digit
    - is_print
    - is_upper
    - is_space
    - fopen
    - exit
    - gmtime
    - ucs_symbol
    - is_cntrl
    - output_charmap
    - to_lower
    - is_punct
    - is_graph
    - output_charclass
    - is_lower
    - fprintf
    - output_widthmap
    linkageType: ''
    returnType: void
    signature: void output_tables (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:6743,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6746,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6747,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:6756,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:6763,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:6766,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:6767,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:6768,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:6769,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:6770,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:6771,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6776,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6777,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6780,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6780,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6781,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6783,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6783,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:6784,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:6785,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:6786,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:6789,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:6789,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:6791,1
    - Dst: strdup
      Src: /src/gnulib/lib/gen-uni-tables.c:6796,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:6800,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:6800,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6802,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6803,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 1
    argNames:
    - width_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6805
      start: 6730
    functionDepth: 1
    functionLinenumber: 6730
    functionLinenumberEnd: 6805
    functionName: fill_width
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - strdup
    - exit
    - fclose
    - strlen
    - ungetc
    - strstr
    - ferror
    - getc
    - getfield
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_width (const char *width_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:6844,1
    - Dst: is_category_Cc
      Src: /src/gnulib/lib/gen-uni-tables.c:6845,1
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:6846,1
    - Dst: is_property_prepended_concatenation_mark
      Src: /src/gnulib/lib/gen-uni-tables.c:6847,1
    - Dst: str_startswith
      Src: /src/gnulib/lib/gen-uni-tables.c:6848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6852
      start: 6840
    functionDepth: 2
    functionLinenumber: 6840
    functionLinenumberEnd: 6852
    functionName: is_nonspacing
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - str_startswith
    - is_category_Cc
    - get_bidi_category
    - is_category_Cf
    - is_property_prepended_concatenation_mark
    linkageType: ''
    returnType: bool
    signature: bool is_nonspacing (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:6863,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6866,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6867,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6870,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6871,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6872,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6874,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6876,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6877,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:6878,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6879,1
    - Dst: is_nonspacing
      Src: /src/gnulib/lib/gen-uni-tables.c:6889,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6900,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6911,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6916,1
    - Dst: is_nonspacing
      Src: /src/gnulib/lib/gen-uni-tables.c:6926,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6929,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6932,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6938,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6941,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6950,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6954,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6957,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6961,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:6963,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:6963,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:6965,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:6966,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6968
      start: 6854
    functionDepth: 3
    functionLinenumber: 6854
    functionLinenumberEnd: 6968
    functionName: output_nonspacing_property
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - is_nonspacing
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_nonspacing_property (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 7081
      start: 6974
    functionDepth: 0
    functionLinenumber: 6974
    functionLinenumberEnd: 7081
    functionName: is_width2
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_width2 (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_predicate
      Src: /src/gnulib/lib/gen-uni-tables.c:7086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 7087
      start: 7083
    functionDepth: 2
    functionLinenumber: 7083
    functionLinenumberEnd: 7087
    functionName: output_width2_property
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - output_predicate
    linkageType: ''
    returnType: void
    signature: void output_width2_property (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_property_unassigned_code_value
      Src: /src/gnulib/lib/gen-uni-tables.c:7094,1
    - Dst: is_category_Cc
      Src: /src/gnulib/lib/gen-uni-tables.c:7110,1
    - Dst: is_nonspacing
      Src: /src/gnulib/lib/gen-uni-tables.c:7112,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7116,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7117,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7121,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 20
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 7129
      start: 7090
    functionDepth: 3
    functionLinenumber: 7090
    functionLinenumberEnd: 7129
    functionName: symbolic_width
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Cc
    - strcmp
    - is_nonspacing
    - is_property_unassigned_code_value
    linkageType: ''
    returnType: char
    signature: char symbolic_width (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:7138,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7141,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:7142,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7161,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7163,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7175,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7177,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:7180,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:7180,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:7182,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:7183,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7185
      start: 7131
    functionDepth: 1
    functionLinenumber: 7131
    functionLinenumberEnd: 7185
    functionName: output_width_property_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_width_property_test (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7263,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7264,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:7265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 7266
      start: 7259
    functionDepth: 0
    functionLinenumber: 7259
    functionLinenumberEnd: 7266
    functionName: get_lbea
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_lbea (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_lbea
      Src: /src/gnulib/lib/gen-uni-tables.c:7644,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:7763,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:7764,1
    - Dst: get_lbea
      Src: /src/gnulib/lib/gen-uni-tables.c:7797,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:7852,1
    - Dst: is_property_regional_indicator
      Src: /src/gnulib/lib/gen-uni-tables.c:8023,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:8102,1
    - Dst: is_property_extended_pictographic
      Src: /src/gnulib/lib/gen-uni-tables.c:8628,1
    CyclomaticComplexity: 1410
    EdgeCount: 1410
    ICount: 125
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 8640
      start: 7269
    functionDepth: 1
    functionLinenumber: 7269
    functionLinenumberEnd: 8640
    functionName: get_lbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - strstr
    - is_property_extended_pictographic
    - is_property_regional_indicator
    - get_lbea
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_lbp (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8660,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8665,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8666,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8667,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8668,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8669,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8670,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8671,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8672,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8673,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8674,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8675,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8676,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8677,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8678,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8679,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8680,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8681,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8682,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8683,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8684,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8685,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8686,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8687,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8688,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8689,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8690,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8691,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8692,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8693,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8694,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8695,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8696,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8697,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8698,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8699,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8700,1
    - Dst: PRINT_BIT_ALT
      Src: /src/gnulib/lib/gen-uni-tables.c:8701,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8702,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8703,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8704,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8705,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8706,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8707,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8708,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8709,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8710,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8711,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8712,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8713,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8714,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8715,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 8721
      start: 8650
    functionDepth: 0
    functionLinenumber: 8650
    functionLinenumberEnd: 8721
    functionName: debug_output_lbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PRINT_BIT_ALT
    - PRINT_BIT
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_lbp (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:8728,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8731,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8732,1
    - Dst: debug_output_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:8735,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:8737,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:8737,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8739,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8742
      start: 8723
    functionDepth: 1
    functionLinenumber: 8723
    functionLinenumberEnd: 8742
    functionName: debug_output_lbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - debug_output_lbp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_lbrk_tables (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:8762,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8765,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8766,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:8776,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:8783,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:8786,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:8787,1
    - Dst: getc
      Src: /src/gnulib/lib/gen-uni-tables.c:8788,1
    - Dst: ungetc
      Src: /src/gnulib/lib/gen-uni-tables.c:8789,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:8790,1
    - Dst: getfield
      Src: /src/gnulib/lib/gen-uni-tables.c:8791,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8796,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8798,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8801,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8801,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8802,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8804,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8804,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:8805,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8808,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8809,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8810,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8811,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8812,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8813,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8814,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8815,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8816,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8817,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8818,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8819,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8820,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8821,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8822,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8823,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8824,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8825,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8826,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8827,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8828,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8829,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8830,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8831,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8832,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8833,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8834,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8835,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8836,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8837,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8838,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8839,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8840,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8841,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8842,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8843,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8844,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8845,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8846,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8847,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8848,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8849,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8850,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8851,1
    - Dst: TRY
      Src: /src/gnulib/lib/gen-uni-tables.c:8852,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:8854,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:8855,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:8856,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8859,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8861,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:8863,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:8864,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:8867,1
    - Dst: strstr
      Src: /src/gnulib/lib/gen-uni-tables.c:8867,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 98
    argCount: 1
    argNames:
    - linebreak_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8876
      start: 8749
    functionDepth: 1
    functionLinenumber: 8749
    functionLinenumberEnd: 8876
    functionName: fill_org_lbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - strlen
    - TRY
    - ungetc
    - strstr
    - getc
    - strcmp
    - getfield
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_org_lbp (const char *linebreak_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8896,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8899,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8900,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8901,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8902,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8903,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8904,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8905,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8906,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8907,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8908,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8909,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8910,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8911,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8912,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8913,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8914,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8915,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8916,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8917,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8918,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8919,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8920,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8921,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8922,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8923,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8924,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8925,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8926,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8927,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8928,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8929,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8930,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8931,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8932,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8933,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8934,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8935,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8936,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8937,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8938,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8939,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8940,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8941,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8942,1
    - Dst: PRINT_BIT
      Src: /src/gnulib/lib/gen-uni-tables.c:8943,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 8948
      start: 8886
    functionDepth: 0
    functionLinenumber: 8886
    functionLinenumberEnd: 8948
    functionName: debug_output_org_lbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PRINT_BIT
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_org_lbp (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:8955,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8958,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8959,1
    - Dst: debug_output_org_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:8962,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:8964,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:8964,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:8966,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:8967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8969
      start: 8950
    functionDepth: 1
    functionLinenumber: 8950
    functionLinenumberEnd: 8969
    functionName: debug_output_org_lbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - debug_output_org_lbp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_org_lbrk_tables (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8979,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8980,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8981,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8982,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8983,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8984,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8985,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8986,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8987,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8988,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8989,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8990,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8991,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8992,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8993,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8994,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8995,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8996,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8997,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8998,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:8999,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9000,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9001,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9002,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9003,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9004,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9005,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9006,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9007,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9008,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9009,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9010,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9011,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9012,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9013,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9014,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9015,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9016,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9017,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9018,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9019,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9020,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9021,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9022,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9023,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9024,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9025,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9026,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9027,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9028,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:9029,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:9032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 9035
      start: 8972
    functionDepth: 0
    functionLinenumber: 8972
    functionLinenumberEnd: 9035
    functionName: lbp_value_to_string
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - abort
    - CASE
    linkageType: ''
    returnType: char
    signature: 'char *

      lbp_value_to_string (unsigned int value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lbpea_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:9054,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:9062,1
    - Dst: lbpea_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:9069,1
    - Dst: PROP_EA
      Src: /src/gnulib/lib/gen-uni-tables.c:9069,1
    - Dst: lbpea_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:9073,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9086,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9088,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9089,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9090,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9091,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9092,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9093,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9094,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9095,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9096,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9098,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9099,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9100,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9102,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9107,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9110,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9115,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9118,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9119,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9120,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9122,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9127,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9130,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9132,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9135,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9138,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9139,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9140,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9142,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9147,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9148,1
    - Dst: lbp_value_to_string
      Src: /src/gnulib/lib/gen-uni-tables.c:9149,1
    - Dst: PROP
      Src: /src/gnulib/lib/gen-uni-tables.c:9149,1
    - Dst: EA
      Src: /src/gnulib/lib/gen-uni-tables.c:9149,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9153,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9154,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9155,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 2
    argNames:
    - stream1
    - stream2
    argTypes:
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 9156
      start: 9045
    functionDepth: 1
    functionLinenumber: 9045
    functionLinenumberEnd: 9156
    functionName: output_lbpea
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - lbpea_table_init
    - assert
    - lbpea_table_finalize
    - PROP_EA
    - lbp_value_to_string
    - PROP
    - EA
    - fprintf
    - lbpea_table_add
    linkageType: ''
    returnType: void
    signature: void output_lbpea (FILE *stream1, FILE *stream2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:9170,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9173,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9174,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9182,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9183,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9184,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9186,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9188,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9189,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:9190,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9191,1
    - Dst: output_lbpea
      Src: /src/gnulib/lib/gen-uni-tables.c:9194,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:9198,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:9198,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9200,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - filename1
    - filename2
    - version
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9204
      start: 9158
    functionDepth: 2
    functionLinenumber: 9158
    functionLinenumberEnd: 9204
    functionName: output_lbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - output_lbpea
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_lbrk_tables (const char *filename1, const char *filename2,
      const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:9211,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9214,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9215,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9218,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9219,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9220,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9222,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9224,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9225,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:9226,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9227,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9229,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9230,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9231,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9232,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9233,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9234,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9235,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9236,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9280,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9284,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9285,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9289,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9290,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9291,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9292,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9293,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9294,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9298,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9299,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9304,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9305,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9306,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9308,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9309,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9310,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9311,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9312,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9313,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9316,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9317,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9318,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9319,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9322,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9323,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9324,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9325,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9326,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9327,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9328,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9329,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9330,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9331,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9334,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9335,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9336,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9337,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9338,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9339,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9340,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9341,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9342,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9343,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9347,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9348,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9349,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9350,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9354,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9355,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9356,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9357,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9358,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9359,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9360,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9361,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9365,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9366,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9367,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9368,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9369,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9370,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9373,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9374,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9375,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9376,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9381,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9385,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9391,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9392,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9393,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9397,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9405,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9406,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9410,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9411,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9417,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9420,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9421,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9425,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9426,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9427,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9428,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9433,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9434,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9441,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9442,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9449,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9450,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9456,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9457,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9463,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9464,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9465,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9466,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9467,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9468,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9469,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9470,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9478,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9484,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9490,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9491,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9495,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9508,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9509,1
    - Dst: set_table_cell
      Src: /src/gnulib/lib/gen-uni-tables.c:9510,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9548,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9549,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9550,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9552,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9554,1
    - Dst: lbp_value_to_string
      Src: /src/gnulib/lib/gen-uni-tables.c:9554,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9555,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9559,1
    - Dst: lbp_value_to_string
      Src: /src/gnulib/lib/gen-uni-tables.c:9559,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9566,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9569,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:9574,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9577,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9580,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9582,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9583,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9584,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:9586,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:9586,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9588,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9589,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 361
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9591
      start: 9206
    functionDepth: 1
    functionLinenumber: 9206
    functionLinenumberEnd: 9591
    functionName: output_lbrk_rules_as_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - abort
    - set_table_cell
    - exit
    - fclose
    - lbp_value_to_string
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_lbrk_rules_as_tables (const char *filename, const char
      *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9648,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9653,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9664,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9671,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9672,1
    - Dst: get_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9693,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9695,1
    - Dst: is_WBP_MIDNUMLET
      Src: /src/gnulib/lib/gen-uni-tables.c:9700,1
    - Dst: is_WBP_MIDLETTER
      Src: /src/gnulib/lib/gen-uni-tables.c:9703,1
    - Dst: get_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9706,1
    - Dst: get_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9712,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:9725,1
    - Dst: is_property_regional_indicator
      Src: /src/gnulib/lib/gen-uni-tables.c:9729,1
    - Dst: is_category_Zs
      Src: /src/gnulib/lib/gen-uni-tables.c:9741,1
    - Dst: get_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9741,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 42
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 9750
      start: 9627
    functionDepth: 2
    functionLinenumber: 9627
    functionLinenumberEnd: 9750
    functionName: get_wbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_property_regional_indicator
    - get_lbp
    - is_WBP_MIDLETTER
    - is_WBP_MIDNUMLET
    - is_category_Zs
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_wbp (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9763,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9765,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9767,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9769,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9771,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9773,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9775,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9777,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9779,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9781,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9783,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9785,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9787,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9789,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9791,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9793,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9795,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9797,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9799,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9800,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 9803
      start: 9753
    functionDepth: 0
    functionLinenumber: 9753
    functionLinenumberEnd: 9803
    functionName: debug_output_wbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_wbp (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:9810,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9813,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9814,1
    - Dst: debug_output_wbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9817,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:9819,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:9819,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9821,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9824
      start: 9805
    functionDepth: 1
    functionLinenumber: 9805
    functionLinenumberEnd: 9824
    functionName: debug_output_wbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - debug_output_wbp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_wbrk_tables (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:9840,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9843,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9844,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:9855,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:9861,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:9863,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9865,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9867,1
    - Dst: PROP
      Src: /src/gnulib/lib/gen-uni-tables.c:9873,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9893,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9895,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:9897,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:9903,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:9903,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9905,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9906,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - wordbreakproperty_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9908
      start: 9831
    functionDepth: 1
    functionLinenumber: 9831
    functionLinenumberEnd: 9908
    functionName: fill_org_wbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - PROP
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_org_wbp (const char *wordbreakproperty_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9921,1
    - Dst: PROP
      Src: /src/gnulib/lib/gen-uni-tables.c:9924,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9943,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 9947
      start: 9911
    functionDepth: 0
    functionLinenumber: 9911
    functionLinenumberEnd: 9947
    functionName: debug_output_org_wbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PROP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_org_wbp (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:9954,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9957,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9958,1
    - Dst: debug_output_org_wbp
      Src: /src/gnulib/lib/gen-uni-tables.c:9961,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:9963,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:9963,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:9965,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:9966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9968
      start: 9949
    functionDepth: 1
    functionLinenumber: 9949
    functionLinenumberEnd: 9968
    functionName: debug_output_org_wbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - debug_output_org_wbp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_org_wbrk_tables (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wbp_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:9987,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:9994,1
    - Dst: wbp_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:10001,1
    - Dst: wbp_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:10005,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10018,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10020,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10021,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10022,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10023,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10024,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10025,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10026,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10027,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10028,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10029,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10030,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10032,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10037,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10040,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10042,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10045,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10048,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10049,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10050,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10052,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10057,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10060,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10062,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10065,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10068,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10069,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10070,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10072,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10080,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10081,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10082,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10083,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10084,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10085,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10086,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10087,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10088,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10089,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10090,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10091,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10092,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10093,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10094,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10095,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10096,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10097,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10098,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:10101,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10104,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10109,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10110,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10111,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 10112
      start: 9978
    functionDepth: 1
    functionLinenumber: 9978
    functionLinenumberEnd: 10112
    functionName: output_wbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 1
    functionsReached:
    - abort
    - assert
    - wbp_table_init
    - wbp_table_add
    - CASE
    - wbp_table_finalize
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_wbp (FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10119,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10122,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10123,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10126,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10127,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10128,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10130,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10132,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10133,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:10134,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10135,1
    - Dst: output_wbp
      Src: /src/gnulib/lib/gen-uni-tables.c:10137,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10139,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10139,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10141,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 10144
      start: 10114
    functionDepth: 2
    functionLinenumber: 10114
    functionLinenumberEnd: 10144
    functionName: output_wbrk_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - output_wbp
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_wbrk_tables (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10193,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10196,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10197,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10200,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10201,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10202,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10203,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:10204,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10205,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10219,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10221,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:10239,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10243,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10244,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10248,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10250,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10250,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10252,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10255
      start: 10186
    functionDepth: 1
    functionLinenumber: 10186
    functionLinenumberEnd: 10255
    functionName: output_gbp_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - abort
    - exit
    - fclose
    - CASE
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_gbp_test (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10266,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10269,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10270,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10273,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10274,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10275,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10277,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10279,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10280,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:10281,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10282,1
    - Dst: gbp_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:10286,1
    - Dst: gbp_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:10289,1
    - Dst: gbp_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:10291,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10305,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10307,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10308,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10309,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10310,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10311,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10312,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10314,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10315,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10316,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10317,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10319,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10324,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10327,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10329,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10332,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10335,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10336,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10337,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10339,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10344,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10347,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10349,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10352,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10355,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10356,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10357,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10359,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10367,1
    - Dst: CASE
      Src: /src/gnulib/lib/gen-uni-tables.c:10369,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:10387,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10390,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10391,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10395,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10396,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10397,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10399,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10399,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10401,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10402,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 10404
      start: 10258
    functionDepth: 1
    functionLinenumber: 10258
    functionLinenumberEnd: 10404
    functionName: output_gbp_table
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - abort
    - exit
    - fclose
    - gbp_table_finalize
    - CASE
    - gbp_table_init
    - gbp_table_add
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_gbp_table (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10418,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10421,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10423,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:10435,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:10441,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:10443,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10445,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10447,1
    - Dst: PROP
      Src: /src/gnulib/lib/gen-uni-tables.c:10453,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10472,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10474,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10476,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10482,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10482,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10484,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10485,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - graphemebreakproperty_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10487
      start: 10408
    functionDepth: 1
    functionLinenumber: 10408
    functionLinenumberEnd: 10487
    functionName: fill_org_gbp
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - PROP
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_org_gbp (const char *graphemebreakproperty_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/gen-uni-tables.c:10538,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10539,1
    - Dst: TYPE
      Src: /src/gnulib/lib/gen-uni-tables.c:10545,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10562,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10563,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:10572,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ch
    - lengthp
    - decomposed
    argTypes:
    - unsigned int
    - unsigned int*
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 10588
      start: 10521
    functionDepth: 1
    functionLinenumber: 10521
    functionLinenumberEnd: 10588
    functionName: get_decomposition
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - exit
    - assert
    - TYPE
    - strchr
    - fprintf
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int get_decomposition (unsigned int ch,\n                   unsigned
      int *lengthp, unsigned int decomposed[MAX_DECOMP_LENGTH])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decomp_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:10609,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10611,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10612,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10613,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10624,1
    - Dst: decomp_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:10625,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10629,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10633,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10635,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10636,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10637,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10648,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10649,1
    - Dst: decomp_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:10651,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10664,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10666,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10667,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10668,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10669,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10670,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10671,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10672,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10673,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10674,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10675,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10676,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10677,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10679,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10684,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10687,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10689,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10692,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10695,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10696,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10697,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10699,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10704,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10707,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10709,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10712,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10715,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10716,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10717,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10719,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10724,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10725,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10727,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10730,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10731,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 2
    argNames:
    - stream1
    - stream2
    argTypes:
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 10733
      start: 10598
    functionDepth: 1
    functionLinenumber: 10598
    functionLinenumberEnd: 10733
    functionName: output_decomposition
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - decomp_table_init
    - assert
    - decomp_table_finalize
    - decomp_table_add
    - fprintf
    linkageType: ''
    returnType: void
    signature: void output_decomposition (FILE *stream1, FILE *stream2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10747,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10750,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10751,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10759,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10760,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10761,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10763,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10765,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10766,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:10767,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10768,1
    - Dst: output_decomposition
      Src: /src/gnulib/lib/gen-uni-tables.c:10771,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10775,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10775,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10777,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10778,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - filename1
    - filename2
    - version
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 10781
      start: 10735
    functionDepth: 2
    functionLinenumber: 10735
    functionLinenumberEnd: 10781
    functionName: output_decomposition_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - output_decomposition
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_decomposition_tables (const char *filename1, const char
      *filename2, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10792,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10795,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10796,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:10807,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:10813,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10815,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10816,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10818,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10823,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10823,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10825,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10826,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - compositionexclusions_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10828
      start: 10786
    functionDepth: 1
    functionLinenumber: 10786
    functionLinenumberEnd: 10828
    functionName: fill_composition_exclusions
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - fscanf
    - sscanf
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fill_composition_exclusions (const char *compositionexclusions_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10836,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10839,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10840,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:10860,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10866,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:10866,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10868,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10877,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10877,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10879,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10882
      start: 10830
    functionDepth: 1
    functionLinenumber: 10830
    functionLinenumberEnd: 10882
    functionName: debug_output_composition_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - strcmp
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug_output_composition_tables (const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10896,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10899,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10900,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10903,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10904,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10905,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10907,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10909,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10910,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:10911,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10912,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10933,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10934,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10935,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10936,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10937,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10938,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10939,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10940,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10941,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10942,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10943,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:10962,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:10968,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:10968,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10975,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:10983,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:10983,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10985,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10986,1
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:10989,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10992,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:10993,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10996,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10997,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:10998,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11000,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11002,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11003,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:11004,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11005,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11007,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11009,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11010,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11012,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11014,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11014,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11016,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11017,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 3
    argNames:
    - filename
    - filename2
    - version
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 11019
      start: 10884
    functionDepth: 1
    functionLinenumber: 10884
    functionLinenumberEnd: 11019
    functionName: output_composition_tables
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - assert
    - fclose
    - strcmp
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: "void output_composition_tables (const char *filename, const char *filename2,\n
      \                          const char *version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:11035,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11038,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11039,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11042,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11043,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11044,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11045,1
    - Dst: output_tests_license
      Src: /src/gnulib/lib/gen-uni-tables.c:11046,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11047,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11048,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11050,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11051,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11052,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11062,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11063,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11068,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11070,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11071,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11072,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11074,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11074,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11076,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - filename
    - function_name
    - version
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 11079
      start: 11025
    functionDepth: 1
    functionLinenumber: 11025
    functionLinenumberEnd: 11079
    functionName: output_simple_mapping_test
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - output_tests_license
    - ferror
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void output_simple_mapping_test (const char *filename,\n                            const
      char *function_name,\n                            unsigned int (*func) (unsigned
      int),\n                            const char *version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:11101,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11104,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11108,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11109,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11110,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11114,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11115,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:11116,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11117,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11118,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11119,1
    - Dst: mapping_table_init
      Src: /src/gnulib/lib/gen-uni-tables.c:11123,1
    - Dst: mapping_table_add
      Src: /src/gnulib/lib/gen-uni-tables.c:11129,1
    - Dst: mapping_table_finalize
      Src: /src/gnulib/lib/gen-uni-tables.c:11132,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11146,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11148,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11149,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11150,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11151,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11152,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11153,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11154,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11155,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11156,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11157,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11159,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11164,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11167,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11169,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11172,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11175,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11176,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11177,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11179,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11184,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11187,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11189,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11192,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11195,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11196,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11197,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11199,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11203,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11204,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11206,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11209,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11210,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11211,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11213,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11213,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11215,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11216,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 11218
      start: 11091
    functionDepth: 1
    functionLinenumber: 11091
    functionLinenumberEnd: 11218
    functionName: output_simple_mapping
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - mapping_table_finalize
    - ferror
    - strcmp
    - mapping_table_init
    - mapping_table_add
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: "void output_simple_mapping (const char *filename,\n                       unsigned
      int (*func) (unsigned int),\n                       const char *version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - new_rule
    argTypes:
    - struct special_casing_rule*
    constantsTouched: []
    func_position:
      end: 11264
      start: 11251
    functionDepth: 0
    functionLinenumber: 11251
    functionLinenumberEnd: 11264
    functionName: add_casing_rule
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void add_casing_rule (struct special_casing_rule *new_rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:11273,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11276,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11277,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:11298,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11306,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11309,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11310,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11315,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11316,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11329,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11332,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11333,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11339,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11340,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11353,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11356,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11357,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11363,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11364,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11377,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11380,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11381,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11387,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11388,1
    - Dst: malloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11411,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11412,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11429,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11434,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11436,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11438,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11440,1
    - Dst: memcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11442,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11446,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11447,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11455,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11456,1
    - Dst: malloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11463,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11467,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11468,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11469,1
    - Dst: add_casing_rule
      Src: /src/gnulib/lib/gen-uni-tables.c:11471,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11475,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11475,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11477,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11478,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 144
    argCount: 1
    argNames:
    - specialcasing_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11480
      start: 11268
    functionDepth: 1
    functionLinenumber: 11268
    functionLinenumberEnd: 11480
    functionName: fill_casing_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - fscanf
    - add_casing_rule
    - memcmp
    - ferror
    - memcpy
    - malloc
    - fprintf
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_casing_rules (const char *specialcasing_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:11502,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11505,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11506,1
    - Dst: fscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:11524,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11532,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11535,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11536,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11541,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11542,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11556,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11557,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11562,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11563,1
    - Dst: strtoul
      Src: /src/gnulib/lib/gen-uni-tables.c:11576,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11579,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11580,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11586,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11587,1
    - Dst: malloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11616,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11618,1
    - Dst: realloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11628,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11636,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11636,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11638,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11639,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 1
    argNames:
    - casefolding_filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 11641
      start: 11497
    functionDepth: 1
    functionLinenumber: 11497
    functionLinenumberEnd: 11641
    functionName: fill_casefolding_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - fscanf
    - ferror
    - memcpy
    - malloc
    - fprintf
    - realloc
    - strtoul
    linkageType: ''
    returnType: void
    signature: void fill_casefolding_rules (const char *casefolding_filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 11650
      start: 11646
    functionDepth: 0
    functionLinenumber: 11646
    functionLinenumberEnd: 11650
    functionName: to_casefold
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int to_casefold (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:11671,1
    - Dst: to_casefold
      Src: /src/gnulib/lib/gen-uni-tables.c:11683,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11707,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11709,1
    - Dst: strcmp
      Src: /src/gnulib/lib/gen-uni-tables.c:11715,1
    - Dst: malloc
      Src: /src/gnulib/lib/gen-uni-tables.c:11728,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11751,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11753,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11755,1
    - Dst: to_lower
      Src: /src/gnulib/lib/gen-uni-tables.c:11762,1
    - Dst: to_title
      Src: /src/gnulib/lib/gen-uni-tables.c:11765,1
    - Dst: to_upper
      Src: /src/gnulib/lib/gen-uni-tables.c:11768,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gen-uni-tables.c:11772,1
    - Dst: add_casing_rule
      Src: /src/gnulib/lib/gen-uni-tables.c:11775,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11779
      start: 11656
    functionDepth: 1
    functionLinenumber: 11656
    functionLinenumberEnd: 11779
    functionName: redistribute_casefolding_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - assert
    - to_upper
    - to_casefold
    - add_casing_rule
    - to_title
    - strcmp
    - to_lower
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void redistribute_casefolding_rules (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 11797
      start: 11781
    functionDepth: 0
    functionLinenumber: 11781
    functionLinenumberEnd: 11797
    functionName: compare_casing_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_casing_rules (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/gnulib/lib/gen-uni-tables.c:11804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11806
      start: 11799
    functionDepth: 0
    functionLinenumber: 11799
    functionLinenumberEnd: 11806
    functionName: sort_casing_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void sort_casing_rules (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:11816,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11819,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11820,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11823,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11824,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11825,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11827,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11829,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11830,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:11831,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11832,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11834,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11835,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11836,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11837,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11838,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11839,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11840,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11841,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11842,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11843,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11844,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11859,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11860,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11863,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11866,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11872,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11876,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11880,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11883,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11886,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11889,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11892,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11895,1
    - Dst: abort
      Src: /src/gnulib/lib/gen-uni-tables.c:11898,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11900,1
    - Dst: assert
      Src: /src/gnulib/lib/gen-uni-tables.c:11904,1
    - Dst: strlen
      Src: /src/gnulib/lib/gen-uni-tables.c:11904,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11905,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11908,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11910,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11914,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11917,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11918,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11921,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11923,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11925,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11929,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11932,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11933,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11936,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11938,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11940,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11944,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11947,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11948,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11951,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11953,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11955,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11959,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11962,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11963,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11966,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11968,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11970,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:11973,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:11973,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:11975,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:11976,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 124
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 11978
      start: 11809
    functionDepth: 1
    functionLinenumber: 11809
    functionLinenumberEnd: 11978
    functionName: output_casing_rules
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - abort
    - exit
    - assert
    - fclose
    - strlen
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_casing_rules (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_property_lowercase
      Src: /src/gnulib/lib/gen-uni-tables.c:11989,1
    - Dst: is_property_uppercase
      Src: /src/gnulib/lib/gen-uni-tables.c:11990,1
    - Dst: is_category_Lt
      Src: /src/gnulib/lib/gen-uni-tables.c:11991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 11992
      start: 11986
    functionDepth: 2
    functionLinenumber: 11986
    functionLinenumberEnd: 11992
    functionName: is_cased
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Lt
    - is_property_uppercase
    - is_property_lowercase
    linkageType: ''
    returnType: bool
    signature: bool is_cased (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_category_Mn
      Src: /src/gnulib/lib/gen-uni-tables.c:12014,1
    - Dst: is_category_Me
      Src: /src/gnulib/lib/gen-uni-tables.c:12015,1
    - Dst: is_category_Cf
      Src: /src/gnulib/lib/gen-uni-tables.c:12016,1
    - Dst: is_category_Lm
      Src: /src/gnulib/lib/gen-uni-tables.c:12017,1
    - Dst: is_category_Sk
      Src: /src/gnulib/lib/gen-uni-tables.c:12018,1
    - Dst: is_cased
      Src: /src/gnulib/lib/gen-uni-tables.c:12019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 12020
      start: 12009
    functionDepth: 3
    functionLinenumber: 12009
    functionLinenumberEnd: 12020
    functionName: is_case_ignorable
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - is_category_Mn
    - is_category_Me
    - is_category_Lm
    - is_category_Sk
    - is_cased
    - is_category_Cf
    linkageType: ''
    returnType: bool
    signature: bool is_case_ignorable (unsigned int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:12032,1
    - Dst: PROPERTY
      Src: /src/gnulib/lib/gen-uni-tables.c:12033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 12035
      start: 12025
    functionDepth: 0
    functionLinenumber: 12025
    functionLinenumberEnd: 12035
    functionName: output_casing_properties
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - PROPERTY
    linkageType: ''
    returnType: void
    signature: void output_casing_properties (const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/gnulib/lib/gen-uni-tables.c:12047,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12050,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:12051,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12054,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12055,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12056,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12058,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12060,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12061,1
    - Dst: output_library_license
      Src: /src/gnulib/lib/gen-uni-tables.c:12062,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12063,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12065,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12066,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12068,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12069,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12070,1
    - Dst: sscanf
      Src: /src/gnulib/lib/gen-uni-tables.c:12072,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12073,1
    - Dst: ferror
      Src: /src/gnulib/lib/gen-uni-tables.c:12076,1
    - Dst: fclose
      Src: /src/gnulib/lib/gen-uni-tables.c:12076,1
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12078,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:12079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - filename
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 12081
      start: 12040
    functionDepth: 1
    functionLinenumber: 12040
    functionLinenumberEnd: 12081
    functionName: output_version
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 0
    functionsReached:
    - fopen
    - exit
    - fclose
    - sscanf
    - ferror
    - fprintf
    - output_library_license
    linkageType: ''
    returnType: void
    signature: void output_version (const char *filename, const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/gen-uni-tables.c:12108,1
    - Dst: exit
      Src: /src/gnulib/lib/gen-uni-tables.c:12110,1
    - Dst: fill_attributes
      Src: /src/gnulib/lib/gen-uni-tables.c:12131,1
    - Dst: clear_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12132,1
    - Dst: fill_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12133,1
    - Dst: fill_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12134,1
    - Dst: fill_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12135,1
    - Dst: fill_properties30
      Src: /src/gnulib/lib/gen-uni-tables.c:12136,1
    - Dst: fill_arabicshaping
      Src: /src/gnulib/lib/gen-uni-tables.c:12137,1
    - Dst: fill_scripts
      Src: /src/gnulib/lib/gen-uni-tables.c:12138,1
    - Dst: fill_blocks
      Src: /src/gnulib/lib/gen-uni-tables.c:12139,1
    - Dst: fill_mirror
      Src: /src/gnulib/lib/gen-uni-tables.c:12140,1
    - Dst: fill_width
      Src: /src/gnulib/lib/gen-uni-tables.c:12141,1
    - Dst: fill_org_lbp
      Src: /src/gnulib/lib/gen-uni-tables.c:12142,1
    - Dst: fill_org_wbp
      Src: /src/gnulib/lib/gen-uni-tables.c:12143,1
    - Dst: fill_org_gbp
      Src: /src/gnulib/lib/gen-uni-tables.c:12144,1
    - Dst: fill_composition_exclusions
      Src: /src/gnulib/lib/gen-uni-tables.c:12145,1
    - Dst: fill_casing_rules
      Src: /src/gnulib/lib/gen-uni-tables.c:12146,1
    - Dst: fill_casefolding_rules
      Src: /src/gnulib/lib/gen-uni-tables.c:12147,1
    - Dst: redistribute_casefolding_rules
      Src: /src/gnulib/lib/gen-uni-tables.c:12148,1
    - Dst: sort_casing_rules
      Src: /src/gnulib/lib/gen-uni-tables.c:12149,1
    - Dst: output_categories
      Src: /src/gnulib/lib/gen-uni-tables.c:12151,1
    - Dst: output_category
      Src: /src/gnulib/lib/gen-uni-tables.c:12152,1
    - Dst: output_combclass
      Src: /src/gnulib/lib/gen-uni-tables.c:12153,1
    - Dst: output_bidi_category
      Src: /src/gnulib/lib/gen-uni-tables.c:12154,1
    - Dst: output_decimal_digit_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12155,1
    - Dst: output_decimal_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:12156,1
    - Dst: output_digit_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12157,1
    - Dst: output_digit
      Src: /src/gnulib/lib/gen-uni-tables.c:12158,1
    - Dst: output_numeric_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12159,1
    - Dst: output_numeric
      Src: /src/gnulib/lib/gen-uni-tables.c:12160,1
    - Dst: output_mirror
      Src: /src/gnulib/lib/gen-uni-tables.c:12161,1
    - Dst: output_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12162,1
    - Dst: output_indic_conjunct_break_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12163,1
    - Dst: output_indic_conjunct_break
      Src: /src/gnulib/lib/gen-uni-tables.c:12164,1
    - Dst: output_joining_type_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12165,1
    - Dst: output_joining_type
      Src: /src/gnulib/lib/gen-uni-tables.c:12166,1
    - Dst: output_joining_group_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12167,1
    - Dst: output_joining_group
      Src: /src/gnulib/lib/gen-uni-tables.c:12168,1
    - Dst: output_scripts
      Src: /src/gnulib/lib/gen-uni-tables.c:12170,1
    - Dst: output_scripts_byname
      Src: /src/gnulib/lib/gen-uni-tables.c:12171,1
    - Dst: output_blocks
      Src: /src/gnulib/lib/gen-uni-tables.c:12172,1
    - Dst: output_ident_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12173,1
    - Dst: output_nonspacing_property
      Src: /src/gnulib/lib/gen-uni-tables.c:12174,1
    - Dst: output_width2_property
      Src: /src/gnulib/lib/gen-uni-tables.c:12175,1
    - Dst: output_width_property_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12176,1
    - Dst: output_old_ctype
      Src: /src/gnulib/lib/gen-uni-tables.c:12177,1
    - Dst: debug_output_lbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12179,1
    - Dst: debug_output_org_lbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12180,1
    - Dst: output_lbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12181,1
    - Dst: output_lbrk_rules_as_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12182,1
    - Dst: debug_output_wbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12184,1
    - Dst: debug_output_org_wbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12185,1
    - Dst: output_wbrk_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12186,1
    - Dst: output_gbp_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12188,1
    - Dst: output_gbp_table
      Src: /src/gnulib/lib/gen-uni-tables.c:12189,1
    - Dst: output_decomposition_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12191,1
    - Dst: debug_output_composition_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12192,1
    - Dst: output_composition_tables
      Src: /src/gnulib/lib/gen-uni-tables.c:12193,1
    - Dst: output_simple_mapping_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12195,1
    - Dst: output_simple_mapping_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12196,1
    - Dst: output_simple_mapping_test
      Src: /src/gnulib/lib/gen-uni-tables.c:12197,1
    - Dst: output_simple_mapping
      Src: /src/gnulib/lib/gen-uni-tables.c:12198,1
    - Dst: output_simple_mapping
      Src: /src/gnulib/lib/gen-uni-tables.c:12199,1
    - Dst: output_simple_mapping
      Src: /src/gnulib/lib/gen-uni-tables.c:12200,1
    - Dst: output_simple_mapping
      Src: /src/gnulib/lib/gen-uni-tables.c:12201,1
    - Dst: output_casing_rules
      Src: /src/gnulib/lib/gen-uni-tables.c:12202,1
    - Dst: output_casing_properties
      Src: /src/gnulib/lib/gen-uni-tables.c:12203,1
    - Dst: output_version
      Src: /src/gnulib/lib/gen-uni-tables.c:12205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 12208
      start: 12085
    functionDepth: 4
    functionLinenumber: 12085
    functionLinenumberEnd: 12208
    functionName: main
    functionSourceFile: /src/gnulib/lib/gen-uni-tables.c
    functionUses: 12
    functionsReached:
    - fill_org_lbp
    - output_scripts_byname
    - output_decomposition_tables
    - fill_org_gbp
    - fill_properties
    - output_wbrk_tables
    - output_digit
    - output_categories
    - fill_blocks
    - debug_output_org_lbrk_tables
    - output_width_property_test
    - output_ident_properties
    - debug_output_lbrk_tables
    - output_blocks
    - output_old_ctype
    - fill_mirror
    - output_indic_conjunct_break
    - output_lbrk_rules_as_tables
    - fill_width
    - fill_casefolding_rules
    - fill_attributes
    - output_indic_conjunct_break_test
    - fill_org_wbp
    - output_composition_tables
    - output_joining_type_test
    - output_joining_group
    - output_lbrk_tables
    - output_width2_property
    - output_mirror
    - fill_properties30
    - output_properties
    - exit
    - output_scripts
    - debug_output_org_wbrk_tables
    - output_gbp_table
    - output_numeric
    - debug_output_wbrk_tables
    - output_digit_test
    - output_category
    - clear_properties
    - output_decimal_digit
    - debug_output_composition_tables
    - output_gbp_test
    - output_nonspacing_property
    - output_casing_rules
    - output_casing_properties
    - output_version
    - output_combclass
    - fill_arabicshaping
    - fill_composition_exclusions
    - redistribute_casefolding_rules
    - output_bidi_category
    - output_simple_mapping
    - output_joining_type
    - output_simple_mapping_test
    - sort_casing_rules
    - output_numeric_test
    - fill_casing_rules
    - output_joining_group_test
    - fprintf
    - fill_scripts
    - output_decimal_digit_test
    linkageType: ''
    returnType: int
    signature: int main (int argc, char * argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_log2_lcmask_to_index
      Src: /src/gnulib/lib/to_l-impl.h:26,1
    - Dst: gl_log2_lc_mask
      Src: /src/gnulib/lib/to_l-impl.h:26,1
    - Dst: C_FUNC
      Src: /src/gnulib/lib/to_l-impl.h:29,1
    - Dst: WINDOWS_FUNC
      Src: /src/gnulib/lib/to_l-impl.h:36,1
    - Dst: uselocale
      Src: /src/gnulib/lib/to_l-impl.h:42,1
    - Dst: GLOBAL_FUNC
      Src: /src/gnulib/lib/to_l-impl.h:44,1
    - Dst: uselocale
      Src: /src/gnulib/lib/to_l-impl.h:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - c
    - locale
    argTypes:
    - int
    - locale_t
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/to_l-impl.h
    functionUses: 5
    functionsReached:
    - WINDOWS_FUNC
    - GLOBAL_FUNC
    - gl_log2_lc_mask
    - C_FUNC
    - gl_log2_lcmask_to_index
    - uselocale
    linkageType: ''
    returnType: int
    signature: int FUNC (int c, locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - wchar_t*
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 36
    functionName: wmemmove
    functionSourceFile: /src/gnulib/lib/wmemmove-impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wmemmove (wchar_t *dest, const wchar_t *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct readdir_result
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: readdir_result_type
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dirent_type
    signature: dirent_type readdir_result_type (struct readdir_result d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READDIR_RESULT_INITIALIZER
      Src: /src/gnulib/lib/glob.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - struct dirent*
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: convert_dirent
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - READDIR_RESULT_INITIALIZER
    linkageType: ''
    returnType: struct readdir_result
    signature: struct readdir_result convert_dirent (const struct dirent *source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: READDIR_RESULT_INITIALIZER
      Src: /src/gnulib/lib/glob.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - struct dirent64*
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: convert_dirent64
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - READDIR_RESULT_INITIALIZER
    linkageType: ''
    returnType: struct readdir_result
    signature: struct readdir_result convert_dirent64 (const struct dirent64 *source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:216,1
    - Dst: glob_t*::GLOB_LSTAT
      Src: /src/gnulib/lib/glob.c:217,1
    - Dst: GLOB_FSTATAT64
      Src: /src/gnulib/lib/glob.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pglob
    - flags
    - fullname
    argTypes:
    - glob_t*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: glob_lstat
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - glob_t*::GLOB_LSTAT
    - __glibc_unlikely
    - GLOB_FSTATAT64
    linkageType: ''
    returnType: int
    signature: int glob_lstat (glob_t *pglob, int flags, const char *fullname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_add
      Src: /src/gnulib/lib/glob.c:226,1
    - Dst: __libc_use_alloca
      Src: /src/gnulib/lib/glob.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - alloca_used
    - len
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: glob_use_alloca
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - __libc_use_alloca
    - ckd_add
    linkageType: ''
    returnType: bool
    signature: bool glob_use_alloca (size_t alloca_used, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:244,1
    - Dst: glob_t*::gl_stat
      Src: /src/gnulib/lib/glob.c:245,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/glob.c:245,1
    - Dst: GLOB_FSTATAT64
      Src: /src/gnulib/lib/glob.c:246,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/glob.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - flags
    - pglob
    argTypes:
    - char*
    - int
    - glob_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: is_dir
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - glob_t*::gl_stat
    - __glibc_unlikely
    - GLOB_FSTATAT64
    linkageType: ''
    returnType: bool
    signature: bool is_dir (char const *filename, int flags, glob_t const *pglob)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - cp
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 272
    functionName: next_brace_sub
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      next_brace_sub (const char *cp, int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/glob.c:305,1
    - Dst: strlen
      Src: /src/gnulib/lib/glob.c:311,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:331,1
    - Dst: strchr
      Src: /src/gnulib/lib/glob.c:346,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/glob.c:381,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:384,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:390,1
    - Dst: next_brace_sub
      Src: /src/gnulib/lib/glob.c:394,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:399,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:400,1
    - Dst: next_brace_sub
      Src: /src/gnulib/lib/glob.c:409,1
    - Dst: strlen
      Src: /src/gnulib/lib/glob.c:416,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:431,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:431,1
    - Dst: __glob
      Src: /src/gnulib/lib/glob.c:433,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:441,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:442,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:445,1
    - Dst: next_brace_sub
      Src: /src/gnulib/lib/glob.c:456,1
    - Dst: assert
      Src: /src/gnulib/lib/glob.c:457,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:460,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:461,1
    - Dst: strrchr
      Src: /src/gnulib/lib/glob.c:475,1
    - Dst: strchr
      Src: /src/gnulib/lib/glob.c:483,1
    - Dst: strlen
      Src: /src/gnulib/lib/glob.c:494,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:503,1
    - Dst: __alloca
      Src: /src/gnulib/lib/glob.c:534,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:535,1
    - Dst: __glob_pattern_p
      Src: /src/gnulib/lib/glob.c:538,1
    - Dst: glob_use_alloca
      Src: /src/gnulib/lib/glob.c:546,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/glob.c:547,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:550,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:555,1
    - Dst: memcpy
      Src: /src/gnulib/lib/glob.c:625,1
    - Dst: memcpy
      Src: /src/gnulib/lib/glob.c:626,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/glob.c:636,1
    - Dst: __getlogin_r
      Src: /src/gnulib/lib/glob.c:640,1
    - Dst: getpwnam_r
      Src: /src/gnulib/lib/glob.c:646,1
    - Dst: getpwnam
      Src: /src/gnulib/lib/glob.c:649,1
    - Dst: scratch_buffer_grow
      Src: /src/gnulib/lib/glob.c:656,1
    - Dst: strdup
      Src: /src/gnulib/lib/glob.c:664,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/glob.c:667,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:677,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:678,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:693,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:694,1
    - Dst: strlen
      Src: /src/gnulib/lib/glob.c:697,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/glob.c:706,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:709,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:712,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:713,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:719,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:719,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:722,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:723,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:729,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:730,1
    - Dst: strchr
      Src: /src/gnulib/lib/glob.c:748,1
    - Dst: strchr
      Src: /src/gnulib/lib/glob.c:750,1
    - Dst: memchr
      Src: /src/gnulib/lib/glob.c:753,1
    - Dst: glob_use_alloca
      Src: /src/gnulib/lib/glob.c:760,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/glob.c:761,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:764,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:797,1
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/glob.c:806,1
    - Dst: getpwnam_r
      Src: /src/gnulib/lib/glob.c:811,1
    - Dst: scratch_buffer_grow
      Src: /src/gnulib/lib/glob.c:815,1
    - Dst: getpwnam
      Src: /src/gnulib/lib/glob.c:822,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:825,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:826,1
    - Dst: glob_use_alloca
      Src: /src/gnulib/lib/glob.c:840,1
    - Dst: alloca_account
      Src: /src/gnulib/lib/glob.c:841,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:845,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:848,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/glob.c:849,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:855,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:857,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:860,1
    - Dst: scratch_buffer_free
      Src: /src/gnulib/lib/glob.c:875,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:906,1
    - Dst: realloc
      Src: /src/gnulib/lib/glob.c:913,1
    - Dst: is_dir
      Src: /src/gnulib/lib/glob.c:919,1
    - Dst: malloc
      Src: /src/gnulib/lib/glob.c:922,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:925,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:928,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:929,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:933,1
    - Dst: strdup
      Src: /src/gnulib/lib/glob.c:937,1
    - Dst: __glob_pattern_type
      Src: /src/gnulib/lib/glob.c:949,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:973,1
    - Dst: __glob
      Src: /src/gnulib/lib/glob.c:984,1
    - Dst: glob_in_dir
      Src: /src/gnulib/lib/glob.c:1006,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1016,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1017,1
    - Dst: prefix_array
      Src: /src/gnulib/lib/glob.c:1024,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1028,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1029,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1053,1
    - Dst: realloc
      Src: /src/gnulib/lib/glob.c:1058,1
    - Dst: strdup
      Src: /src/gnulib/lib/glob.c:1064,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1067,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1068,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1082,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1088,1
    - Dst: glob_in_dir
      Src: /src/gnulib/lib/glob.c:1118,1
    - Dst: prefix_array
      Src: /src/gnulib/lib/glob.c:1137,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1141,1
    - Dst: is_dir
      Src: /src/gnulib/lib/glob.c:1155,1
    - Dst: globfree
      Src: /src/gnulib/lib/glob.c:1161,1
    - Dst: qsort
      Src: /src/gnulib/lib/glob.c:1174,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/glob.c:1180,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:1181,1
    CyclomaticComplexity: 201
    EdgeCount: 201
    ICount: 509
    argCount: 3
    argNames:
    - pattern
    - flags
    - pglob
    argTypes:
    - char*
    - int
    - glob_t*
    constantsTouched: []
    func_position:
      end: 1184
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 1184
    functionName: GLOB_ATTRIBUTE
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - is_dir
    - strchr
    - glob_in_dir
    - memchr
    - __glibc_unlikely
    - __glob_pattern_p
    - glob_use_alloca
    - scratch_buffer_free
    - prefix_array
    - free
    - __set_errno
    - strrchr
    - scratch_buffer_grow
    - __glob_pattern_type
    - realloc
    - __alloca
    - getpwnam_r
    - assert
    - strlen
    - alloca_account
    - globfree
    - scratch_buffer_init
    - __glob
    - malloc
    - getpwnam
    - mempcpy
    - __getlogin_r
    - strdup
    - memcpy
    - next_brace_sub
    - qsort
    linkageType: ''
    returnType: int
    signature: "int GLOB_ATTRIBUTE\n__glob (const char *pattern, int flags, int (*errfunc)
      (const char *, int),\n        glob_t *pglob)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcoll
      Src: /src/gnulib/lib/glob.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: collated_compare
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 0
    functionsReached:
    - strcoll
    linkageType: ''
    returnType: int
    signature: int collated_compare (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/glob.c:1246,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/glob.c:1253,1
    - Dst: free
      Src: /src/gnulib/lib/glob.c:1255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - dirname
    - array
    - n
    argTypes:
    - char*
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 1260
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1260
    functionName: prefix_array
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 1
    functionsReached:
    - free
    - mempcpy
    linkageType: ''
    returnType: int
    signature: int prefix_array (const char *dirname, char **array, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scratch_buffer_init
      Src: /src/gnulib/lib/glob.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pattern
    - directory
    - flags
    - pglob
    - alloca_used
    argTypes:
    - char*
    - char*
    - int
    - glob_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1278
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1278
    functionName: glob_in_dir
    functionSourceFile: /src/gnulib/lib/glob.c
    functionUses: 1
    functionsReached:
    - scratch_buffer_init
    linkageType: ''
    returnType: int
    signature: "int glob_in_dir (const char *pattern, const char *directory, int flags,\n
      \            int (*errfunc) (const char *, int),\n             glob_t *pglob,
      size_t alloca_used)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_rbtree_oset.c:55,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_oset.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: gl_rbtree_oset_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtree_oset.c
    functionUses: 1
    functionsReached:
    - abort
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_rbtree_oset_check_invariants (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_prepend1
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:29,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - c
    argTypes:
    - struct string_buffer_reversed*
    - char
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: sbr_xprepend1
    functionSourceFile: /src/gnulib/lib/xstring-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    - sbr_prepend1
    linkageType: ''
    returnType: void
    signature: void sbr_xprepend1 (struct string_buffer_reversed *buffer, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_prepend_desc
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:36,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - s
    argTypes:
    - struct string_buffer_reversed*
    - string_desc_t
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: sbr_xprepend_desc
    functionSourceFile: /src/gnulib/lib/xstring-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - sbr_prepend_desc
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: void sbr_xprepend_desc (struct string_buffer_reversed *buffer, string_desc_t
      s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_prepend_c
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:43,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - struct string_buffer_reversed*
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: sbr_xprepend_c
    functionSourceFile: /src/gnulib/lib/xstring-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - sbr_prepend_c
    - xalloc_die
    linkageType: ''
    returnType: void
    signature: void sbr_xprepend_c (struct string_buffer_reversed *buffer, const char
      *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_free
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:52,1
    - Dst: sd_readwrite
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:53,1
    - Dst: sd_new_empty
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:53,1
    - Dst: sbr_dupfree
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:55,1
    - Dst: sd_data
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:56,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: sbr_xdupfree
    functionSourceFile: /src/gnulib/lib/xstring-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - sbr_free
    - xalloc_die
    - sbr_dupfree
    - sd_data
    - sd_new_empty
    - sd_readwrite
    linkageType: ''
    returnType: rw_string_desc_t
    signature: rw_string_desc_t sbr_xdupfree (struct string_buffer_reversed *buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_free
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:66,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xstring-buffer-reversed.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct string_buffer_reversed*
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: sbr_xdupfree_c
    functionSourceFile: /src/gnulib/lib/xstring-buffer-reversed.c
    functionUses: 0
    functionsReached:
    - sbr_free
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      sbr_xdupfree_c (struct string_buffer_reversed *buffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/backup-find.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dir_fd
    - file
    - backup_type
    argTypes:
    - int
    - char*
    - enum backup_type
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: find_backup_file_name
    functionSourceFile: /src/gnulib/lib/backup-find.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: "char *\nfind_backup_file_name (int dir_fd, char const *file,\n                       enum
      backup_type backup_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XARGMATCH
      Src: /src/gnulib/lib/backup-find.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: get_version
    functionSourceFile: /src/gnulib/lib/backup-find.c
    functionUses: 300
    functionsReached:
    - XARGMATCH
    linkageType: ''
    returnType: enum backup_type
    signature: enum backup_type get_version (char const *context, char const *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_version
      Src: /src/gnulib/lib/backup-find.c:90,1
    - Dst: get_version
      Src: /src/gnulib/lib/backup-find.c:92,1
    - Dst: getenv
      Src: /src/gnulib/lib/backup-find.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - context
    - version
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: xget_version
    functionSourceFile: /src/gnulib/lib/backup-find.c
    functionUses: 0
    functionsReached:
    - get_version
    - getenv
    linkageType: ''
    returnType: enum backup_type
    signature: enum backup_type xget_version (char const *context, char const *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfzprintf
      Src: /src/gnulib/lib/vfprintf.c:34,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/vfprintf.c:36,1
    - Dst: fseterr
      Src: /src/gnulib/lib/vfprintf.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fp
    - format
    - args
    argTypes:
    - FILE*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: vfprintf
    functionSourceFile: /src/gnulib/lib/vfprintf.c
    functionUses: 15
    functionsReached:
    - vfzprintf
    - fseterr
    - TYPE_MAXIMUM
    linkageType: ''
    returnType: int
    signature: int vfprintf (FILE *fp, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/gnulib/lib/mkdir.c:59,1
    - Dst: strip_trailing_slashes
      Src: /src/gnulib/lib/mkdir.c:66,1
    - Dst: stat
      Src: /src/gnulib/lib/mkdir.c:80,1
    - Dst: mkdir
      Src: /src/gnulib/lib/mkdir.c:87,1
    - Dst: free
      Src: /src/gnulib/lib/mkdir.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - dir
    - mode_t
    argTypes:
    - char*
    - maybe_unused
    constantsTouched: []
    func_position:
      end: 93
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 93
    functionName: rpl_mkdir
    functionSourceFile: /src/gnulib/lib/mkdir.c
    functionUses: 0
    functionsReached:
    - strdup
    - strip_trailing_slashes
    - free
    - stat
    - mkdir
    linkageType: ''
    returnType: int
    signature: int rpl_mkdir (char const *dir, maybe_unused mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/gnulib/lib/clean-temp.c:102,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:103,1
    - Dst: fflush
      Src: /src/gnulib/lib/clean-temp.c:106,1
    - Dst: asyncsafe_spin_lock
      Src: /src/gnulib/lib/clean-temp.c:112,1
    - Dst: get_fatal_signal_set
      Src: /src/gnulib/lib/clean-temp.c:113,1
    - Dst: fclose_variant
      Src: /src/gnulib/lib/clean-temp.c:116,1
    - Dst: asyncsafe_spin_unlock
      Src: /src/gnulib/lib/clean-temp.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - element
    - fp
    argTypes:
    - struct closeable_fd*
    - FILE*
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: asyncsafe_fclose_variant
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - abort
    - get_fatal_signal_set
    - asyncsafe_spin_lock
    - fileno
    - fflush
    - asyncsafe_spin_unlock
    - fclose_variant
    linkageType: ''
    returnType: int
    signature: "int asyncsafe_fclose_variant (struct closeable_fd *element, FILE *fp,\n
      \                         int (*fclose_variant) (FILE *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:151,1
    - Dst: XNMALLOC
      Src: /src/gnulib/lib/clean-temp.c:178,1
    - Dst: clean_temp_init
      Src: /src/gnulib/lib/clean-temp.c:183,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/clean-temp.c:184,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:208,1
    - Dst: XMALLOC
      Src: /src/gnulib/lib/clean-temp.c:220,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/lib/clean-temp.c:224,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/lib/clean-temp.c:228,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/clean-temp.c:233,1
    - Dst: path_search
      Src: /src/gnulib/lib/clean-temp.c:234,1
    - Dst: error
      Src: /src/gnulib/lib/clean-temp.c:236,1
    - Dst: _
      Src: /src/gnulib/lib/clean-temp.c:237,1
    - Dst: block_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:240,1
    - Dst: mkdtemp
      Src: /src/gnulib/lib/clean-temp.c:241,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:248,1
    - Dst: error
      Src: /src/gnulib/lib/clean-temp.c:251,1
    - Dst: _
      Src: /src/gnulib/lib/clean-temp.c:252,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/clean-temp.c:260,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:261,1
    - Dst: freea
      Src: /src/gnulib/lib/clean-temp.c:262,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:266,1
    - Dst: freea
      Src: /src/gnulib/lib/clean-temp.c:267,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - prefix
    - parentdir
    - cleanup_verbose
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 269
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 269
    functionName: create_temp_dir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 3
    functionsReached:
    - clean_temp_init
    - mkdtemp
    - free
    - XNMALLOC
    - xalloc_die
    - unblock_fatal_signals
    - XMALLOC
    - xstrdup
    - path_search
    - gl_lock_unlock
    - freea
    - gl_list_create_empty
    - error
    - _
    - gl_lock_lock
    - xmalloca
    - block_fatal_signals
    linkageType: ''
    returnType: struct temp_dir
    signature: "struct temp_dir *\ncreate_temp_dir (const char *prefix, const char
      *parentdir,\n                 bool cleanup_verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:281,1
    - Dst: gl_list_search
      Src: /src/gnulib/lib/clean-temp.c:284,1
    - Dst: gl_list_add_first
      Src: /src/gnulib/lib/clean-temp.c:285,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/clean-temp.c:285,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - absolute_file_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: register_temp_file
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 4
    functionsReached:
    - gl_list_search
    - gl_list_add_first
    - xstrdup
    - gl_lock_unlock
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: "void register_temp_file (struct temp_dir *dir,\n                    const
      char *absolute_file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:300,1
    - Dst: gl_list_search
      Src: /src/gnulib/lib/clean-temp.c:305,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:310,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:311,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dir
    - absolute_file_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 315
    functionName: unregister_temp_file
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - gl_list_search
    - free
    - gl_lock_unlock
    - gl_lock_lock
    - gl_list_remove_node
    linkageType: ''
    returnType: void
    signature: "void unregister_temp_file (struct temp_dir *dir,\n                      const
      char *absolute_file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:327,1
    - Dst: gl_list_search
      Src: /src/gnulib/lib/clean-temp.c:330,1
    - Dst: gl_list_add_first
      Src: /src/gnulib/lib/clean-temp.c:331,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/clean-temp.c:331,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - absolute_dir_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: register_temp_subdir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - gl_list_search
    - gl_list_add_first
    - xstrdup
    - gl_lock_unlock
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: "void register_temp_subdir (struct temp_dir *dir,\n                      const
      char *absolute_dir_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:347,1
    - Dst: gl_list_search
      Src: /src/gnulib/lib/clean-temp.c:352,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:357,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:358,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dir
    - absolute_dir_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 362
    functionName: unregister_temp_subdir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - gl_list_search
    - free
    - gl_lock_unlock
    - gl_lock_lock
    - gl_list_remove_node
    linkageType: ''
    returnType: void
    signature: "void unregister_temp_subdir (struct temp_dir *dir,\n                        const
      char *absolute_dir_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rmdir
      Src: /src/gnulib/lib/clean-temp.c:369,1
    - Dst: error
      Src: /src/gnulib/lib/clean-temp.c:372,1
    - Dst: _
      Src: /src/gnulib/lib/clean-temp.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - absolute_dir_name
    - cleanup_verbose
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: do_rmdir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - error
    - _
    - rmdir
    linkageType: ''
    returnType: int
    signature: int do_rmdir (const char *absolute_dir_name, bool cleanup_verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clean_temp_unlink
      Src: /src/gnulib/lib/clean-temp.c:387,1
    - Dst: unregister_temp_file
      Src: /src/gnulib/lib/clean-temp.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dir
    - absolute_file_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: cleanup_temp_file
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - clean_temp_unlink
    - unregister_temp_file
    linkageType: ''
    returnType: int
    signature: "int cleanup_temp_file (struct temp_dir *dir,\n                   const
      char *absolute_file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_rmdir
      Src: /src/gnulib/lib/clean-temp.c:401,1
    - Dst: unregister_temp_subdir
      Src: /src/gnulib/lib/clean-temp.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dir
    - absolute_dir_name
    argTypes:
    - struct temp_dir*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: cleanup_temp_subdir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - do_rmdir
    - unregister_temp_subdir
    linkageType: ''
    returnType: int
    signature: "int cleanup_temp_subdir (struct temp_dir *dir,\n                     const
      char *absolute_dir_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator
      Src: /src/gnulib/lib/clean-temp.c:422,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/lib/clean-temp.c:423,1
    - Dst: clean_temp_unlink
      Src: /src/gnulib/lib/clean-temp.c:427,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:428,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:430,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/lib/clean-temp.c:432,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/lib/clean-temp.c:436,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/lib/clean-temp.c:437,1
    - Dst: do_rmdir
      Src: /src/gnulib/lib/clean-temp.c:441,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:442,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:444,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/lib/clean-temp.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dir
    argTypes:
    - struct temp_dir*
    constantsTouched: []
    func_position:
      end: 449
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 449
    functionName: cleanup_temp_dir_contents
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - gl_list_iterator_free
    - free
    - do_rmdir
    - gl_list_iterator
    - gl_list_iterator_next
    - clean_temp_unlink
    - gl_list_remove_node
    linkageType: ''
    returnType: int
    signature: int cleanup_temp_dir_contents (struct temp_dir *dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:459,1
    - Dst: cleanup_temp_dir_contents
      Src: /src/gnulib/lib/clean-temp.c:465,1
    - Dst: do_rmdir
      Src: /src/gnulib/lib/clean-temp.c:466,1
    - Dst: gl_list_free
      Src: /src/gnulib/lib/clean-temp.c:482,1
    - Dst: gl_list_free
      Src: /src/gnulib/lib/clean-temp.c:483,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:484,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:485,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:486,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - dir
    argTypes:
    - struct temp_dir*
    constantsTouched: []
    func_position:
      end: 492
      start: 454
    functionDepth: 6
    functionLinenumber: 454
    functionLinenumberEnd: 492
    functionName: cleanup_temp_dir
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 3
    functionsReached:
    - abort
    - free
    - do_rmdir
    - cleanup_temp_dir_contents
    - gl_list_free
    - gl_lock_unlock
    - gl_lock_lock
    linkageType: ''
    returnType: int
    signature: int cleanup_temp_dir (struct temp_dir *dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVersionEx
      Src: /src/gnulib/lib/clean-temp.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 524
    functionName: supports_delete_on_close
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - GetVersionEx
    linkageType: ''
    returnType: bool
    signature: bool supports_delete_on_close ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:535,1
    - Dst: gl_list_create_empty
      Src: /src/gnulib/lib/clean-temp.c:538,1
    - Dst: XMALLOC
      Src: /src/gnulib/lib/clean-temp.c:541,1
    - Dst: asyncsafe_spin_init
      Src: /src/gnulib/lib/clean-temp.c:544,1
    - Dst: gl_list_add_first
      Src: /src/gnulib/lib/clean-temp.c:547,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: register_fd
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - gl_list_add_first
    - asyncsafe_spin_init
    - XMALLOC
    - gl_lock_unlock
    - gl_list_create_empty
    - gl_lock_lock
    linkageType: ''
    returnType: void
    signature: void register_fd (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:563,1
    - Dst: supports_delete_on_close
      Src: /src/gnulib/lib/clean-temp.c:568,1
    - Dst: open
      Src: /src/gnulib/lib/clean-temp.c:569,1
    - Dst: open
      Src: /src/gnulib/lib/clean-temp.c:572,1
    - Dst: register_fd
      Src: /src/gnulib/lib/clean-temp.c:575,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - file_name
    - flags
    - mode
    - delete_on_close
    argTypes:
    - char*
    - int
    - mode_t
    - bool
    constantsTouched: []
    func_position:
      end: 579
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 579
    functionName: open_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - open
    - unblock_fatal_signals
    - supports_delete_on_close
    - register_fd
    - block_fatal_signals
    linkageType: ''
    returnType: int
    signature: int open_temp (const char *file_name, int flags, mode_t mode, bool
      delete_on_close)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:592,1
    - Dst: supports_delete_on_close
      Src: /src/gnulib/lib/clean-temp.c:597,1
    - Dst: memcpy
      Src: /src/gnulib/lib/clean-temp.c:601,1
    - Dst: memcpy
      Src: /src/gnulib/lib/clean-temp.c:602,1
    - Dst: fopen
      Src: /src/gnulib/lib/clean-temp.c:604,1
    - Dst: freea
      Src: /src/gnulib/lib/clean-temp.c:607,1
    - Dst: fopen
      Src: /src/gnulib/lib/clean-temp.c:612,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:622,1
    - Dst: register_fd
      Src: /src/gnulib/lib/clean-temp.c:623,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - file_name
    - mode
    - delete_on_close
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 628
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 628
    functionName: fopen_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - fopen
    - abort
    - unblock_fatal_signals
    - memcpy
    - freea
    - supports_delete_on_close
    - register_fd
    - block_fatal_signals
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      fopen_temp (const char *file_name, const char *mode, bool delete_on_close)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/gnulib/lib/clean-temp.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file_name_tmpl
    - params_
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: try_create_file
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: int
    signature: int try_create_file (char *file_name_tmpl, void *params_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:659,1
    - Dst: clean_temp_init
      Src: /src/gnulib/lib/clean-temp.c:670,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/clean-temp.c:671,1
    - Dst: register_fd
      Src: /src/gnulib/lib/clean-temp.c:672,1
    - Dst: register_temporary_file
      Src: /src/gnulib/lib/clean-temp.c:673,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/clean-temp.c:674,1
    - Dst: unblock_fatal_signals
      Src: /src/gnulib/lib/clean-temp.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - file_name_tmpl
    - suffixlen
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 679
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 679
    functionName: gen_register_open_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - clean_temp_init
    - xalloc_die
    - unblock_fatal_signals
    - register_temporary_file
    - register_fd
    - block_fatal_signals
    linkageType: ''
    returnType: int
    signature: "int gen_register_open_temp (char *file_name_tmpl, int suffixlen,\n
      \                       int flags, mode_t mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/gnulib/lib/clean-temp.c:690,1
    - Dst: clean_temp_init_asyncsafe_close
      Src: /src/gnulib/lib/clean-temp.c:692,1
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:699,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:704,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/lib/clean-temp.c:708,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/lib/clean-temp.c:711,1
    - Dst: clean_temp_asyncsafe_close
      Src: /src/gnulib/lib/clean-temp.c:721,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:733,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:734,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/lib/clean-temp.c:740,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:743,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 749
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 749
    functionName: close_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 4
    functionsReached:
    - abort
    - gl_list_iterator_free
    - free
    - clean_temp_asyncsafe_close
    - clean_temp_init_asyncsafe_close
    - close
    - gl_list_iterator
    - gl_list_iterator_next
    - gl_lock_unlock
    - gl_lock_lock
    - gl_list_remove_node
    linkageType: ''
    returnType: int
    signature: int close_temp (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/clean-temp.c:761,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:766,1
    - Dst: gl_list_iterator
      Src: /src/gnulib/lib/clean-temp.c:770,1
    - Dst: gl_list_iterator_next
      Src: /src/gnulib/lib/clean-temp.c:773,1
    - Dst: asyncsafe_fclose_variant
      Src: /src/gnulib/lib/clean-temp.c:783,1
    - Dst: free
      Src: /src/gnulib/lib/clean-temp.c:795,1
    - Dst: gl_list_remove_node
      Src: /src/gnulib/lib/clean-temp.c:796,1
    - Dst: gl_list_iterator_free
      Src: /src/gnulib/lib/clean-temp.c:802,1
    - Dst: abort
      Src: /src/gnulib/lib/clean-temp.c:805,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/clean-temp.c:807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 811
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 811
    functionName: fclose_variant_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_iterator_free
    - free
    - gl_list_iterator
    - gl_list_iterator_next
    - gl_lock_unlock
    - asyncsafe_fclose_variant
    - gl_lock_lock
    - gl_list_remove_node
    linkageType: ''
    returnType: int
    signature: int fclose_variant_temp (FILE *fp, int (*fclose_variant) (FILE *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose_variant_temp
      Src: /src/gnulib/lib/clean-temp.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 821
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 821
    functionName: fclose_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - fclose_variant_temp
    linkageType: ''
    returnType: int
    signature: int fclose_temp (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose_variant_temp
      Src: /src/gnulib/lib/clean-temp.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 832
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 832
    functionName: fwriteerror_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 2
    functionsReached:
    - fclose_variant_temp
    linkageType: ''
    returnType: int
    signature: int fwriteerror_temp (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fclose_variant_temp
      Src: /src/gnulib/lib/clean-temp.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: close_stream_temp
    functionSourceFile: /src/gnulib/lib/clean-temp.c
    functionUses: 0
    functionsReached:
    - fclose_variant_temp
    linkageType: ''
    returnType: int
    signature: int close_stream_temp (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/rint.c:88,1
    - Dst: L_
      Src: /src/gnulib/lib/rint.c:90,1
    - Dst: L_
      Src: /src/gnulib/lib/rint.c:93,1
    - Dst: L_
      Src: /src/gnulib/lib/rint.c:94,1
    - Dst: L_
      Src: /src/gnulib/lib/rint.c:103,1
    - Dst: L_
      Src: /src/gnulib/lib/rint.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 117
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 117
    functionName: RINT
    functionSourceFile: /src/gnulib/lib/rint.c
    functionUses: 2
    functionsReached:
    - abort
    - L_
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE RINT (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/gnulib/lib/link.c:55,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/link.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: initialize
    functionSourceFile: /src/gnulib/lib/link.c
    functionUses: 14
    functionsReached:
    - GetModuleHandle
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void initialize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/gnulib/lib/link.c:79,1
    - Dst: stat
      Src: /src/gnulib/lib/link.c:95,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/link.c:102,1
    - Dst: strdup
      Src: /src/gnulib/lib/link.c:110,1
    - Dst: stat
      Src: /src/gnulib/lib/link.c:118,1
    - Dst: free
      Src: /src/gnulib/lib/link.c:120,1
    - Dst: free
      Src: /src/gnulib/lib/link.c:123,1
    - Dst: CreateHardLinkFunc
      Src: /src/gnulib/lib/link.c:126,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/link.c:131,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 170
    functionName: link
    functionSourceFile: /src/gnulib/lib/link.c
    functionUses: 117
    functionsReached:
    - strdup
    - GetLastError
    - free
    - CreateHardLinkFunc
    - stat
    - S_ISDIR
    - initialize
    linkageType: ''
    returnType: int
    signature: int link (const char *file1, const char *file2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnulib/lib/link.c:190,1
    - Dst: strlen
      Src: /src/gnulib/lib/link.c:197,1
    - Dst: strlen
      Src: /src/gnulib/lib/link.c:198,1
    - Dst: stat
      Src: /src/gnulib/lib/link.c:206,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/link.c:208,1
    - Dst: strrchr
      Src: /src/gnulib/lib/link.c:223,1
    - Dst: stat
      Src: /src/gnulib/lib/link.c:227,1
    - Dst: free
      Src: /src/gnulib/lib/link.c:229,1
    - Dst: free
      Src: /src/gnulib/lib/link.c:233,1
    - Dst: link
      Src: /src/gnulib/lib/link.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - file1
    - file2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 236
    functionName: rpl_link
    functionSourceFile: /src/gnulib/lib/link.c
    functionUses: 0
    functionsReached:
    - strlen
    - lstat
    - free
    - strrchr
    - stat
    - link
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: int rpl_link (char const *file1, char const *file2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbslen.c:40,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbslen.c:45,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbslen.c:45,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbslen.c:47,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbslen.c:49,1
    - Dst: strlen
      Src: /src/gnulib/lib/mbslen.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 57
    functionName: mbslen
    functionSourceFile: /src/gnulib/lib/mbslen.c
    functionUses: 1
    functionsReached:
    - mbuif_next
    - strlen
    - mcel_scanz
    - mbuif_init
    - mb_len
    - mbuif_avail
    linkageType: ''
    returnType: size_t
    signature: size_t mbslen (const char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/ilogb.c:49,1
    - Dst: L_
      Src: /src/gnulib/lib/ilogb.c:51,1
    - Dst: FREXP
      Src: /src/gnulib/lib/ilogb.c:57,1
    - Dst: ISNAN
      Src: /src/gnulib/lib/ilogb.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: ILOGB
    functionSourceFile: /src/gnulib/lib/ilogb.c
    functionUses: 1
    functionsReached:
    - L_
    - ISNAN
    - FREXP
    - isfinite
    linkageType: ''
    returnType: int
    signature: int ILOGB (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_set_nx_create_empty
      Src: /src/gnulib/lib/gl_xset.h:63,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xset.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    argTypes:
    - gl_set_implementation_t
    - gl_setelement_equals_fn
    - gl_setelement_hashcode_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: _GL_ATTRIBUTE_RETURNS_NONNULL
    functionSourceFile: /src/gnulib/lib/gl_xset.h
    functionUses: 0
    functionsReached:
    - gl_set_nx_create_empty
    - xalloc_die
    linkageType: ''
    returnType: GL_XSET_INLINE
    signature: "GL_XSET_INLINE _GL_ATTRIBUTE_RETURNS_NONNULL\ngl_set_t\ngl_set_create_empty
      (gl_set_implementation_t implementation,\n                     gl_setelement_equals_fn
      equals_fn,\n                     gl_setelement_hashcode_fn hashcode_fn,\n                     gl_setelement_dispose_fn
      dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xset.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_set_t
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: gl_set_add
    functionSourceFile: /src/gnulib/lib/gl_xset.h
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: GL_XSET_INLINE
    signature: GL_XSET_INLINE gl_set_add (gl_set_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_array_oset.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - implementation
    - compar_fn
    - dispose_fn
    argTypes:
    - gl_oset_implementation_t
    - gl_setelement_compar_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: gl_array_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: gl_oset_t
    signature: "gl_oset_t gl_array_nx_create_empty (gl_oset_implementation_t implementation,\n
      \                         gl_setelement_compar_fn compar_fn,\n                          gl_setelement_dispose_fn
      dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: _GL_ATTRIBUTE_PURE::gl_array_size
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_array_size (gl_oset_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: _GL_ATTRIBUTE_PURE::gl_array_indexof
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_array_indexof (gl_oset_t set, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_ATTRIBUTE_PURE::gl_array_indexof
      Src: /src/gnulib/lib/gl_array_oset.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: _GL_ATTRIBUTE_PURE::gl_array_search
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - _GL_ATTRIBUTE_PURE::gl_array_indexof
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_PURE

      gl_array_search (gl_oset_t set, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_array_oset.c:135,1
    - Dst: threshold_fn
      Src: /src/gnulib/lib/gl_array_oset.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - set
    - threshold_fn
    - threshold
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 161
    functionName: _GL_ATTRIBUTE_PURE::gl_array_indexof_atleast
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - threshold_fn
    linkageType: ''
    returnType: size_t
    signature: "size_t _GL_ATTRIBUTE_PURE\ngl_array_indexof_atleast (gl_oset_t set,\n
      \                         gl_setelement_threshold_fn threshold_fn,\n                          const
      void *threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - set
    - threshold_fn
    - threshold
    - eltp
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: _GL_ATTRIBUTE_PURE::gl_array_search_atleast
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool _GL_ATTRIBUTE_PURE\ngl_array_search_atleast (gl_oset_t set,\n
      \                        gl_setelement_threshold_fn threshold_fn,\n                         const
      void *threshold,\n                         const void **eltp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_oset.c:189,1
    - Dst: xsum
      Src: /src/gnulib/lib/gl_array_oset.c:190,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_oset.c:191,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_array_oset.c:192,1
    - Dst: realloc
      Src: /src/gnulib/lib/gl_array_oset.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: grow
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 13
    functionsReached:
    - size_overflow_p
    - xtimes
    - realloc
    - xsum
    linkageType: ''
    returnType: int
    signature: int grow (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_oset.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - set
    - position
    - elt
    argTypes:
    - gl_oset_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: gl_array_nx_add_at
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 1
    functionsReached:
    - grow
    linkageType: ''
    returnType: int
    signature: int gl_array_nx_add_at (gl_oset_t set, size_t position, const void
      *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_t::base::dispose_fn
      Src: /src/gnulib/lib/gl_array_oset.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - set
    - position
    argTypes:
    - gl_oset_t
    - size_t
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: gl_array_remove_at
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 1
    functionsReached:
    - gl_oset_t::base::dispose_fn
    linkageType: ''
    returnType: void
    signature: void gl_array_remove_at (gl_oset_t set, size_t position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_nx_add_at
      Src: /src/gnulib/lib/gl_array_oset.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: gl_array_nx_add
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - gl_array_nx_add_at
    linkageType: ''
    returnType: int
    signature: int gl_array_nx_add (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_oset.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: gl_array_remove
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - gl_array_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_array_remove (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action
      Src: /src/gnulib/lib/gl_array_oset.c:300,1
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_oset.c:332,1
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_oset.c:361,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - set
    - elt
    - action_data
    argTypes:
    - gl_oset_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 398
    functionName: gl_array_update
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - gl_array_remove_at
    - action
    linkageType: ''
    returnType: int
    signature: "int gl_array_update (gl_oset_t set, const void *elt,\n                 void
      (*action) (const void * /*elt*/, void * /*action_data*/),\n                 void
      *action_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dispose
      Src: /src/gnulib/lib/gl_array_oset.c:415,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_oset.c:419,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_oset.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: gl_array_free
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - free
    - dispose
    linkageType: ''
    returnType: void
    signature: void gl_array_free (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: _GL_ATTRIBUTE_PURE::gl_array_iterator
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_iterator_t
    signature: 'gl_oset_iterator_t _GL_ATTRIBUTE_PURE

      gl_array_iterator (gl_oset_t set)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - set
    - threshold_fn
    - threshold
    argTypes:
    - gl_oset_t
    - gl_setelement_threshold_fn
    - void*
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: _GL_ATTRIBUTE_PURE::gl_array_iterator_atleast
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_oset_iterator_t
    signature: "gl_oset_iterator_t _GL_ATTRIBUTE_PURE\ngl_array_iterator_atleast (gl_oset_t
      set,\n                           gl_setelement_threshold_fn threshold_fn,\n
      \                          const void *threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_oset.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - iterator
    - eltp
    argTypes:
    - gl_oset_iterator_t*
    - void**
    constantsTouched: []
    func_position:
      end: 488
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 488
    functionName: gl_array_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: bool gl_array_iterator_next (gl_oset_iterator_t *iterator, const void
      **eltp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gl_oset_iterator_t *iterator
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: gl_array_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_array_oset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_array_iterator_free (_GL_ATTRIBUTE_MAYBE_UNUSED gl_oset_iterator_t
      *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/totalorderf.c:72,1
    - Dst: memcpy
      Src: /src/gnulib/lib/totalorderf.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - float*
    - float*
    constantsTouched: []
    func_position:
      end: 76
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 76
    functionName: totalorderf
    functionSourceFile: /src/gnulib/lib/totalorderf.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int totalorderf (float const *x, float const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/accept.c:34,1
    - Dst: accept
      Src: /src/gnulib/lib/accept.c:43,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/accept.c:46,1
    - Dst: SOCKET_TO_FD
      Src: /src/gnulib/lib/accept.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: rpl_accept
    functionSourceFile: /src/gnulib/lib/accept.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - SOCKET_TO_FD
    - FD_TO_SOCKET
    - accept
    linkageType: ''
    returnType: int
    signature: int rpl_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: entry_type
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum entry_type
    signature: enum entry_type entry_type (const Hamt_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - counter
    - type
    argTypes:
    - ref_counter*
    - enum entry_type
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: init_ref_counter
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_ref_counter (ref_counter *counter, enum entry_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - ref_counter*
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: inc_ref_counter
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_ref_counter (ref_counter *counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - ref_counter*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: dec_ref_counter
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dec_ref_counter (ref_counter *counter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hasher
    - comparator
    - freer
    argTypes:
    - Hamt_hasher*
    - Hamt_comparator*
    - Hamt_freer*
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: create_function_table
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - XMALLOC
    linkageType: ''
    returnType: struct function_table
    signature: "struct function_table *\ncreate_function_table (Hamt_hasher *hasher,
      Hamt_comparator *comparator,\n                       Hamt_freer *freer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - function_table
    argTypes:
    - struct function_table*
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: copy_function_table
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct function_table
    signature: 'struct function_table *

      copy_function_table (struct function_table *function_table)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/hamt.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - function_table
    argTypes:
    - struct function_table*
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: free_function_table
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_function_table (struct function_table *function_table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct function_table*::hasher
      Src: /src/gnulib/lib/hamt.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - functions
    - elt
    argTypes:
    - struct function_table*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: hash_element
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - struct function_table*::hasher
    linkageType: ''
    returnType: size_t
    signature: size_t hash_element (const struct function_table *functions, const
      Hamt_entry *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct function_table*::comparator
      Src: /src/gnulib/lib/hamt.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - functions
    - elt1
    - elt2
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: compare_elements
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - struct function_table*::comparator
    linkageType: ''
    returnType: bool
    signature: "bool compare_elements (const struct function_table *functions,\n                  const
      Hamt_entry *elt1, const Hamt_entry *elt2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dec_ref_counter
      Src: /src/gnulib/lib/hamt.c:194,1
    - Dst: struct function_table*::freer
      Src: /src/gnulib/lib/hamt.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - functions
    - elt
    argTypes:
    - struct function_table*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: free_element
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 2
    functionsReached:
    - struct function_table*::freer
    - dec_ref_counter
    linkageType: ''
    returnType: void
    signature: void free_element (const struct function_table *functions, Hamt_entry
      *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_ref_counter
      Src: /src/gnulib/lib/hamt.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elt
    argTypes:
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: init_element
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - init_ref_counter
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: '_GL_ATTRIBUTE_MAYBE_UNUSED *

      init_element (Hamt_entry *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/hamt.c:217,1
    - Dst: FLEXNSIZEOF
      Src: /src/gnulib/lib/hamt.c:217,1
    - Dst: init_ref_counter
      Src: /src/gnulib/lib/hamt.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elt_count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: alloc_bucket
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - init_ref_counter
    - FLEXNSIZEOF
    linkageType: ''
    returnType: struct bucket
    signature: 'struct bucket *

      alloc_bucket (size_t elt_count)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: is_shared
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_shared (const Hamt_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: count_one_bits
      Src: /src/gnulib/lib/hamt.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subtrie
    argTypes:
    - struct subtrie*
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: trienode_count
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - count_one_bits
    linkageType: ''
    returnType: int
    signature: int trienode_count (const struct subtrie *subtrie)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/hamt.c:253,1
    - Dst: FLEXNSIZEOF
      Src: /src/gnulib/lib/hamt.c:253,1
    - Dst: init_ref_counter
      Src: /src/gnulib/lib/hamt.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node_count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: alloc_subtrie
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - init_ref_counter
    - FLEXNSIZEOF
    linkageType: ''
    returnType: struct subtrie
    signature: 'struct subtrie *

      alloc_subtrie (int node_count)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inc_ref_counter
      Src: /src/gnulib/lib/hamt.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: copy_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - inc_ref_counter
    linkageType: ''
    returnType: Hamt_entry
    signature: 'Hamt_entry *

      copy_entry (Hamt_entry *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_bucket
      Src: /src/gnulib/lib/hamt.c:271,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bucket
    - j
    - elt
    argTypes:
    - struct bucket*
    - int
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: replace_bucket_element
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - copy_entry
    - alloc_bucket
    linkageType: ''
    returnType: struct bucket
    signature: 'struct bucket *

      replace_bucket_element (struct bucket *bucket, int j, Hamt_entry *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_subtrie
      Src: /src/gnulib/lib/hamt.c:285,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - subtrie
    - j
    - entry
    argTypes:
    - struct subtrie*
    - int
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: replace_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - alloc_subtrie
    - copy_entry
    linkageType: ''
    returnType: struct subtrie
    signature: 'struct subtrie *

      replace_entry (struct subtrie *subtrie, int j, Hamt_entry *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_subtrie
      Src: /src/gnulib/lib/hamt.c:301,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:306,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - subtrie
    - i
    - j
    - entry
    argTypes:
    - struct subtrie*
    - int
    - int
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: insert_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - alloc_subtrie
    - copy_entry
    linkageType: ''
    returnType: struct subtrie
    signature: 'struct subtrie *

      insert_entry (struct subtrie *subtrie, int i, int j, Hamt_entry *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:324,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:325,1
    - Dst: alloc_subtrie
      Src: /src/gnulib/lib/hamt.c:327,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:332,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - subtrie
    - i
    - j
    argTypes:
    - struct subtrie*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 337
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 337
    functionName: remove_subtrie_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - alloc_subtrie
    - copy_entry
    linkageType: ''
    returnType: Hamt_entry
    signature: 'Hamt_entry *

      remove_subtrie_entry (struct subtrie *subtrie, int i, int j)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:347,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:348,1
    - Dst: alloc_bucket
      Src: /src/gnulib/lib/hamt.c:350,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:354,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bucket
    - j
    argTypes:
    - struct bucket*
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: remove_bucket_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - copy_entry
    - alloc_bucket
    linkageType: ''
    returnType: Hamt_entry
    signature: 'Hamt_entry *

      remove_bucket_entry (struct bucket *bucket, int j)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_function_table
      Src: /src/gnulib/lib/hamt.c:371,1
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hasher
    - comparator
    - freer
    argTypes:
    - Hamt_hasher*
    - Hamt_comparator*
    - Hamt_freer*
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: hamt_create
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 5
    functionsReached:
    - create_function_table
    - XMALLOC
    linkageType: ''
    returnType: Hamt
    signature: "Hamt *\nhamt_create (Hamt_hasher *hasher, Hamt_comparator *comparator,\n
      \            Hamt_freer *freer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:382,1
    - Dst: copy_function_table
      Src: /src/gnulib/lib/hamt.c:383,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hamt
    argTypes:
    - Hamt*
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: hamt_copy
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - copy_entry
    - XMALLOC
    - copy_function_table
    linkageType: ''
    returnType: Hamt
    signature: 'Hamt *

      hamt_copy (Hamt *hamt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dec_ref_counter
      Src: /src/gnulib/lib/hamt.c:392,1
    - Dst: free_element
      Src: /src/gnulib/lib/hamt.c:397,1
    - Dst: free
      Src: /src/gnulib/lib/hamt.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - functions
    - bucket
    argTypes:
    - struct function_table*
    - struct bucket*
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: free_bucket
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - free_element
    - dec_ref_counter
    - free
    linkageType: ''
    returnType: void
    signature: void free_bucket (struct function_table const *functions, struct bucket
      *bucket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:409,1
    - Dst: free_element
      Src: /src/gnulib/lib/hamt.c:412,1
    - Dst: free_subtrie
      Src: /src/gnulib/lib/hamt.c:415,1
    - Dst: free_bucket
      Src: /src/gnulib/lib/hamt.c:418,1
    - Dst: assume
      Src: /src/gnulib/lib/hamt.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - functions
    - entry
    argTypes:
    - struct function_table*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: free_entry
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - free_subtrie
    - assume
    - free_element
    - entry_type
    - free_bucket
    linkageType: ''
    returnType: void
    signature: void free_entry (struct function_table const *functions, Hamt_entry
      *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dec_ref_counter
      Src: /src/gnulib/lib/hamt.c:429,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:434,1
    - Dst: free
      Src: /src/gnulib/lib/hamt.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - functions
    - subtrie
    argTypes:
    - struct function_table*
    - struct subtrie*
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: free_subtrie
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - dec_ref_counter
    - free_entry
    - free
    linkageType: ''
    returnType: void
    signature: void free_subtrie (struct function_table const *functions, struct subtrie
      *subtrie)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:443,1
    - Dst: free_function_table
      Src: /src/gnulib/lib/hamt.c:444,1
    - Dst: free
      Src: /src/gnulib/lib/hamt.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hamt
    argTypes:
    - Hamt*
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: hamt_free
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 7
    functionsReached:
    - free
    - free_entry
    - free_function_table
    linkageType: ''
    returnType: void
    signature: void hamt_free (Hamt *hamt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - functions
    - bucket
    - elt
    argTypes:
    - struct function_table*
    - struct bucket*
    - void*
    constantsTouched: []
    func_position:
      end: 465
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 465
    functionName: bucket_lookup
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - compare_elements
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nbucket_lookup (const struct function_table *functions,\n
      \              const struct bucket *bucket, const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_lookup
      Src: /src/gnulib/lib/hamt.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - functions
    - subtrie
    - elt
    - hash
    argTypes:
    - struct function_table*
    - struct subtrie*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: subtrie_lookup
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - entry_lookup
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nsubtrie_lookup (const struct function_table *functions,\n
      \               const struct subtrie *subtrie, const void *elt,\n                size_t
      hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:493,1
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:496,1
    - Dst: subtrie_lookup
      Src: /src/gnulib/lib/hamt.c:500,1
    - Dst: bucket_lookup
      Src: /src/gnulib/lib/hamt.c:502,1
    - Dst: assume
      Src: /src/gnulib/lib/hamt.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - functions
    - entry
    - elt
    - hash
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: entry_lookup
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - bucket_lookup
    - assume
    - compare_elements
    - entry_type
    - subtrie_lookup
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nentry_lookup (const struct function_table *functions,
      Hamt_entry *entry,\n              const void *elt, size_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_lookup
      Src: /src/gnulib/lib/hamt.c:516,1
    - Dst: hash_element
      Src: /src/gnulib/lib/hamt.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hamt
    - elt
    argTypes:
    - Hamt*
    - void*
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: hamt_lookup
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - hash_element
    - entry_lookup
    linkageType: ''
    returnType: Hamt_entry
    signature: 'Hamt_entry *

      hamt_lookup (const Hamt *hamt, const void *elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_bucket
      Src: /src/gnulib/lib/hamt.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - elt1
    - elt2
    argTypes:
    - Hamt_entry*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: create_populated_bucket
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - alloc_bucket
    linkageType: ''
    returnType: struct bucket
    signature: 'struct bucket *

      create_populated_bucket (Hamt_entry *elt1, Hamt_entry *elt2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_populated_bucket
      Src: /src/gnulib/lib/hamt.c:541,1
    - Dst: alloc_subtrie
      Src: /src/gnulib/lib/hamt.c:548,1
    - Dst: alloc_subtrie
      Src: /src/gnulib/lib/hamt.c:563,1
    - Dst: create_populated_subtrie
      Src: /src/gnulib/lib/hamt.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - elt1
    - elt2
    - hash1
    - hash2
    - depth
    argTypes:
    - Hamt_entry*
    - Hamt_entry*
    - size_t
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 570
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 570
    functionName: create_populated_subtrie
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - alloc_subtrie
    - create_populated_subtrie
    - create_populated_bucket
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\ncreate_populated_subtrie (Hamt_entry *elt1, Hamt_entry
      *elt2, size_t hash1,\n                          size_t hash2, int depth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:581,1
    - Dst: replace_bucket_element
      Src: /src/gnulib/lib/hamt.c:588,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:589,1
    - Dst: free_element
      Src: /src/gnulib/lib/hamt.c:593,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:594,1
    - Dst: alloc_bucket
      Src: /src/gnulib/lib/hamt.c:601,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:602,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - functions
    - bucket
    - elt_ptr
    - replace
    - shared
    argTypes:
    - struct function_table*
    - struct bucket*
    - Hamt_entry**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 610
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 610
    functionName: bucket_insert
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - alloc_bucket
    - free_element
    - compare_elements
    - replace_bucket_element
    - copy_entry
    linkageType: ''
    returnType: struct bucket
    signature: "struct bucket *\nbucket_insert (const struct function_table *functions,
      struct bucket *bucket,\n               Hamt_entry **elt_ptr, bool replace, bool
      shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_insert
      Src: /src/gnulib/lib/hamt.c:631,1
    - Dst: replace_entry
      Src: /src/gnulib/lib/hamt.c:636,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:637,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:642,1
    - Dst: insert_entry
      Src: /src/gnulib/lib/hamt.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - functions
    - subtrie
    - elt_ptr
    - hash
    - depth
    - replace
    - shared
    argTypes:
    - struct function_table*
    - struct subtrie*
    - Hamt_entry**
    - size_t
    - int
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 646
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 646
    functionName: subtrie_insert
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - free_entry
    - replace_entry
    - insert_entry
    - entry_insert
    - copy_entry
    linkageType: ''
    returnType: struct subtrie
    signature: "struct subtrie *\nsubtrie_insert (const struct function_table *functions,
      struct subtrie *subtrie,\n                Hamt_entry **elt_ptr, size_t hash,
      int depth, bool replace,\n                bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_shared
      Src: /src/gnulib/lib/hamt.c:660,1
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:661,1
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:664,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:670,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:674,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:679,1
    - Dst: create_populated_bucket
      Src: /src/gnulib/lib/hamt.c:686,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:686,1
    - Dst: create_populated_subtrie
      Src: /src/gnulib/lib/hamt.c:687,1
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:687,1
    - Dst: hash_element
      Src: /src/gnulib/lib/hamt.c:688,1
    - Dst: subtrie_insert
      Src: /src/gnulib/lib/hamt.c:692,1
    - Dst: bucket_insert
      Src: /src/gnulib/lib/hamt.c:696,1
    - Dst: assume
      Src: /src/gnulib/lib/hamt.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - functions
    - entry
    - elt_ptr
    - hash
    - depth
    - replace
    - shared
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - Hamt_entry**
    - size_t
    - int
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 701
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 701
    functionName: entry_insert
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - subtrie_insert
    - create_populated_bucket
    - hash_element
    - create_populated_subtrie
    - bucket_insert
    - assume
    - compare_elements
    - entry_type
    - copy_entry
    - is_shared
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nentry_insert (const struct function_table *functions,
      Hamt_entry *entry,\n              Hamt_entry **elt_ptr, size_t hash, int depth,
      bool replace,\n              bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_entry
      Src: /src/gnulib/lib/hamt.c:709,1
    - Dst: entry_insert
      Src: /src/gnulib/lib/hamt.c:711,1
    - Dst: hash_element
      Src: /src/gnulib/lib/hamt.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - functions
    - root
    - elt_ptr
    - replace
    - shared
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - Hamt_entry**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 5
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: root_insert
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - hash_element
    - copy_entry
    - entry_insert
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nroot_insert (const struct function_table *functions,
      Hamt_entry *root,\n             Hamt_entry **elt_ptr, bool replace, bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_insert
      Src: /src/gnulib/lib/hamt.c:722,1
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:730,1
    - Dst: copy_function_table
      Src: /src/gnulib/lib/hamt.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hamt
    - elt_ptr
    argTypes:
    - Hamt*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 6
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: hamt_insert
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 2
    functionsReached:
    - root_insert
    - XMALLOC
    - copy_function_table
    linkageType: ''
    returnType: Hamt
    signature: 'Hamt *

      hamt_insert (Hamt *hamt, Hamt_entry **elt_ptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:742,1
    - Dst: copy_function_table
      Src: /src/gnulib/lib/hamt.c:743,1
    - Dst: root_insert
      Src: /src/gnulib/lib/hamt.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hamt
    - elt_ptr
    argTypes:
    - Hamt*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 6
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: hamt_replace
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 2
    functionsReached:
    - root_insert
    - XMALLOC
    - copy_function_table
    linkageType: ''
    returnType: Hamt
    signature: 'Hamt *

      hamt_replace (Hamt *hamt, Hamt_entry **elt_ptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:758,1
    - Dst: remove_bucket_entry
      Src: /src/gnulib/lib/hamt.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - functions
    - bucket
    - elt_ptr
    argTypes:
    - struct function_table*
    - struct bucket*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: bucket_remove
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - compare_elements
    - remove_bucket_entry
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nbucket_remove (const struct function_table *functions,
      struct bucket *bucket,\n               Hamt_entry **elt_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_remove
      Src: /src/gnulib/lib/hamt.c:785,1
    - Dst: remove_subtrie_entry
      Src: /src/gnulib/lib/hamt.c:788,1
    - Dst: replace_entry
      Src: /src/gnulib/lib/hamt.c:792,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - functions
    - subtrie
    - elt_ptr
    - hash
    - depth
    - shared
    argTypes:
    - struct function_table*
    - struct subtrie*
    - Hamt_entry**
    - size_t
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 800
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 800
    functionName: subtrie_remove
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - remove_subtrie_entry
    - free_entry
    - replace_entry
    - entry_remove
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nsubtrie_remove (const struct function_table *functions,
      struct subtrie *subtrie,\n                Hamt_entry **elt_ptr, size_t hash,
      int depth, bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_shared
      Src: /src/gnulib/lib/hamt.c:811,1
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:812,1
    - Dst: compare_elements
      Src: /src/gnulib/lib/hamt.c:815,1
    - Dst: subtrie_remove
      Src: /src/gnulib/lib/hamt.c:823,1
    - Dst: bucket_remove
      Src: /src/gnulib/lib/hamt.c:826,1
    - Dst: assume
      Src: /src/gnulib/lib/hamt.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - functions
    - entry
    - elt_ptr
    - hash
    - depth
    - shared
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - Hamt_entry**
    - size_t
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 830
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 830
    functionName: entry_remove
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - bucket_remove
    - assume
    - compare_elements
    - entry_type
    - subtrie_remove
    - is_shared
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nentry_remove (const struct function_table *functions,
      Hamt_entry *entry,\n              Hamt_entry **elt_ptr, size_t hash, int depth,
      bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_remove
      Src: /src/gnulib/lib/hamt.c:840,1
    - Dst: hash_element
      Src: /src/gnulib/lib/hamt.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - functions
    - root
    - elt_ptr
    - shared
    argTypes:
    - struct function_table*
    - Hamt_entry*
    - Hamt_entry**
    - bool
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 5
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: root_remove
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - hash_element
    - entry_remove
    linkageType: ''
    returnType: Hamt_entry
    signature: "Hamt_entry *\nroot_remove (const struct function_table *functions,
      Hamt_entry *root,\n             Hamt_entry **elt_ptr, bool shared)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_remove
      Src: /src/gnulib/lib/hamt.c:851,1
    - Dst: XMALLOC
      Src: /src/gnulib/lib/hamt.c:859,1
    - Dst: copy_function_table
      Src: /src/gnulib/lib/hamt.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hamt
    - elt_ptr
    argTypes:
    - Hamt*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 863
      start: 847
    functionDepth: 6
    functionLinenumber: 847
    functionLinenumberEnd: 863
    functionName: hamt_remove
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 2
    functionsReached:
    - root_remove
    - XMALLOC
    - copy_function_table
    linkageType: ''
    returnType: Hamt
    signature: 'Hamt *

      hamt_remove (Hamt *hamt, Hamt_entry **elt_ptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/gnulib/lib/hamt.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bucket
    - proc
    - data
    - success
    argTypes:
    - struct bucket*
    - Hamt_processor*
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 885
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 885
    functionName: bucket_do_while
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: size_t
    signature: "size_t bucket_do_while (const struct bucket *bucket, Hamt_processor
      *proc, void *data,\n                 bool *success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_do_while
      Src: /src/gnulib/lib/hamt.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - subtrie
    - proc
    - data
    - success
    argTypes:
    - struct subtrie*
    - Hamt_processor*
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: subtrie_do_while
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - entry_do_while
    linkageType: ''
    returnType: size_t
    signature: "size_t subtrie_do_while (const struct subtrie *subtrie,\n                                Hamt_processor
      *proc, void *data, bool *success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:912,1
    - Dst: proc
      Src: /src/gnulib/lib/hamt.c:915,1
    - Dst: subtrie_do_while
      Src: /src/gnulib/lib/hamt.c:918,1
    - Dst: bucket_do_while
      Src: /src/gnulib/lib/hamt.c:920,1
    - Dst: assume
      Src: /src/gnulib/lib/hamt.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - entry
    - proc
    - data
    - success
    argTypes:
    - Hamt_entry*
    - Hamt_processor*
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 924
      start: 908
    functionDepth: 3
    functionLinenumber: 908
    functionLinenumberEnd: 924
    functionName: entry_do_while
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - subtrie_do_while
    - assume
    - proc
    - entry_type
    - bucket_do_while
    linkageType: ''
    returnType: size_t
    signature: "size_t entry_do_while (Hamt_entry *entry, Hamt_processor *proc, void
      *data,\n                bool *success)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_do_while
      Src: /src/gnulib/lib/hamt.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hamt
    - proc
    - data
    argTypes:
    - Hamt*
    - Hamt_processor*
    - void*
    constantsTouched: []
    func_position:
      end: 938
      start: 930
    functionDepth: 4
    functionLinenumber: 930
    functionLinenumberEnd: 938
    functionName: hamt_do_while
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 2
    functionsReached:
    - entry_do_while
    linkageType: ''
    returnType: size_t
    signature: size_t hamt_do_while (const Hamt *hamt, Hamt_processor *proc, void
      *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hamt_copy
      Src: /src/gnulib/lib/hamt.c:951,1
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - hamt
    argTypes:
    - Hamt*
    constantsTouched: []
    func_position:
      end: 968
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 968
    functionName: hamt_iterator
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - entry_type
    - hamt_copy
    linkageType: ''
    returnType: Hamt_iterator
    signature: Hamt_iterator hamt_iterator (Hamt *hamt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hamt_free
      Src: /src/gnulib/lib/hamt.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Hamt_iterator*
    constantsTouched: []
    func_position:
      end: 975
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 975
    functionName: hamt_iterator_free
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - hamt_free
    linkageType: ''
    returnType: void
    signature: void hamt_iterator_free (Hamt_iterator *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hamt_copy
      Src: /src/gnulib/lib/hamt.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Hamt_iterator*
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 3
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: hamt_iterator_copy
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached:
    - hamt_copy
    linkageType: ''
    returnType: Hamt_iterator
    signature: Hamt_iterator hamt_iterator_copy (Hamt_iterator *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: bit_width
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bit_width (int depth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:1005,1
    - Dst: trienode_count
      Src: /src/gnulib/lib/hamt.c:1021,1
    - Dst: entry_type
      Src: /src/gnulib/lib/hamt.c:1025,1
    - Dst: bit_width
      Src: /src/gnulib/lib/hamt.c:1027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - iter
    - elt_ptr
    argTypes:
    - Hamt_iterator*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 1039
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1039
    functionName: hamt_iterator_next
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - entry_type
    - trienode_count
    - bit_width
    linkageType: ''
    returnType: bool
    signature: bool hamt_iterator_next (Hamt_iterator *iter, Hamt_entry **elt_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_insert
      Src: /src/gnulib/lib/hamt.c:1053,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hamt
    - elt_ptr
    argTypes:
    - Hamt*
    - Hamt_entry**
    constantsTouched: []
    func_position:
      end: 1062
      start: 1048
    functionDepth: 6
    functionLinenumber: 1048
    functionLinenumberEnd: 1062
    functionName: hamt_insert_x
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - root_insert
    - free_entry
    linkageType: ''
    returnType: bool
    signature: bool hamt_insert_x (Hamt *hamt, Hamt_entry **elt_ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_insert
      Src: /src/gnulib/lib/hamt.c:1070,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hamt
    - elt
    argTypes:
    - Hamt*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1066
    functionDepth: 6
    functionLinenumber: 1066
    functionLinenumberEnd: 1074
    functionName: hamt_replace_x
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - root_insert
    - free_entry
    linkageType: ''
    returnType: bool
    signature: bool hamt_replace_x (Hamt *hamt, Hamt_entry *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_remove
      Src: /src/gnulib/lib/hamt.c:1083,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hamt.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hamt
    - elt
    argTypes:
    - Hamt*
    - Hamt_entry*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1079
    functionDepth: 6
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    functionName: hamt_remove_x
    functionSourceFile: /src/gnulib/lib/hamt.c
    functionUses: 1
    functionsReached:
    - root_remove
    - free_entry
    linkageType: ''
    returnType: bool
    signature: bool hamt_remove_x (Hamt *hamt, Hamt_entry *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: strncat
    functionSourceFile: /src/gnulib/lib/strncat.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strncat (char *dest, const char *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - int
    - path
    - mode_t
    - dev_t
    argTypes:
    - _GL_UNUSED
    - _GL_UNUSED*
    - _GL_UNUSED
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: mknodat
    functionSourceFile: /src/gnulib/lib/mknodat.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mknodat (_GL_UNUSED int fd, _GL_UNUSED char const *path,\n         _GL_UNUSED
      mode_t mode, _GL_UNUSED dev_t dev)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/areadlink.c:42,1
    - Dst: readlink
      Src: /src/gnulib/lib/areadlink.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - fd
    - filename
    - buffer
    - buffer_size
    argTypes:
    - int
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: careadlinkatcwd
    functionSourceFile: /src/gnulib/lib/areadlink.c
    functionUses: 0
    functionsReached:
    - abort
    - readlink
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t careadlinkatcwd (int fd, char const *filename, char *buffer,\n
      \                size_t buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: careadlinkat
      Src: /src/gnulib/lib/areadlink.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: areadlink
    functionSourceFile: /src/gnulib/lib/areadlink.c
    functionUses: 4
    functionsReached:
    - careadlinkat
    linkageType: ''
    returnType: char
    signature: 'char *

      areadlink (char const *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/stdio-read.c:92,1
    - Dst: vfscanf
      Src: /src/gnulib/lib/stdio-read.c:93,1
    - Dst: va_end
      Src: /src/gnulib/lib/stdio-read.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: scanf
    functionSourceFile: /src/gnulib/lib/stdio-read.c
    functionUses: 36
    functionsReached:
    - va_start
    - vfscanf
    - va_end
    linkageType: ''
    returnType: int
    signature: int scanf (const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/stdio-read.c:109,1
    - Dst: vfscanf
      Src: /src/gnulib/lib/stdio-read.c:110,1
    - Dst: va_end
      Src: /src/gnulib/lib/stdio-read.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - format
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: fscanf
    functionSourceFile: /src/gnulib/lib/stdio-read.c
    functionUses: 14
    functionsReached:
    - va_start
    - vfscanf
    - va_end
    linkageType: ''
    returnType: int
    signature: int fscanf (FILE *stream, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfscanf
      Src: /src/gnulib/lib/stdio-read.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: vscanf
    functionSourceFile: /src/gnulib/lib/stdio-read.c
    functionUses: 0
    functionsReached:
    - vfscanf
    linkageType: ''
    returnType: int
    signature: int vscanf (const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/gnulib/lib/stdio-read.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: getchar
    functionSourceFile: /src/gnulib/lib/stdio-read.c
    functionUses: 7
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int getchar (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/gnulib/lib/windows-timedmutex.c:39,1
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: glwthread_timedmutex_init
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 3
    functionsReached:
    - CreateEvent
    - InitializeCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_timedmutex_init (glwthread_timedmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedmutex.c:54,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:62,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:69,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-timedmutex.c:73,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:78,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedmutex.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: glwthread_timedmutex_lock
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 3
    functionsReached:
    - EnterCriticalSection
    - InterlockedDecrement
    - GetCurrentThreadId
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_timedmutex_lock (glwthread_timedmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedmutex.c:91,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:99,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:106,1
    - Dst: TryEnterCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:112,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedmutex.c:115,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:122,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-timedmutex.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 130
    functionName: glwthread_timedmutex_trylock
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 2
    functionsReached:
    - abort
    - TryEnterCriticalSection
    - InterlockedDecrement
    - LeaveCriticalSection
    - GetCurrentThreadId
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_timedmutex_trylock (glwthread_timedmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedmutex.c:138,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:146,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedmutex.c:153,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-timedmutex.c:157,1
    - Dst: TryEnterCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:169,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/windows-timedmutex.c:177,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-timedmutex.c:213,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-timedmutex.c:215,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedmutex.c:223,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:230,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-timedmutex.c:234,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - glwthread_timedmutex_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 238
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 238
    functionName: glwthread_timedmutex_timedlock
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 2
    functionsReached:
    - abort
    - TryEnterCriticalSection
    - gettimeofday
    - InterlockedDecrement
    - LeaveCriticalSection
    - GetCurrentThreadId
    - WaitForSingleObject
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: "int glwthread_timedmutex_timedlock (glwthread_timedmutex_t *mutex,\n
      \                               const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:246,1
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-timedmutex.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: glwthread_timedmutex_unlock
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 2
    functionsReached:
    - LeaveCriticalSection
    - SetEvent
    linkageType: ''
    returnType: int
    signature: int glwthread_timedmutex_unlock (glwthread_timedmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/gnulib/lib/windows-timedmutex.c:259,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-timedmutex.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedmutex_t*
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: glwthread_timedmutex_destroy
    functionSourceFile: /src/gnulib/lib/windows-timedmutex.c
    functionUses: 2
    functionsReached:
    - CloseHandle
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_timedmutex_destroy (glwthread_timedmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ftello
      Src: /src/gnulib/lib/ftell.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ftell
    functionSourceFile: /src/gnulib/lib/ftell.c
    functionUses: 10
    functionsReached:
    - ftello
    linkageType: ''
    returnType: long
    signature: long ftell (FILE *fp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pwc
    - s
    - n
    - ps
    argTypes:
    - wchar_t*
    - char*
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: mbrtowc
    functionSourceFile: /src/gnulib/lib/mbrtowc.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbsinit
      Src: /src/gnulib/lib/mbrtowc.c:113,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/mbrtowc.c:119,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/mbrtowc.c:137,1
    - Dst: mbrtowc
      Src: /src/gnulib/lib/mbrtowc.c:141,1
    - Dst: hard_locale
      Src: /src/gnulib/lib/mbrtowc.c:150,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - pwc
    - s
    - n
    - ps
    argTypes:
    - wchar_t*
    - char*
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 159
    functionName: rpl_mbrtowc
    functionSourceFile: /src/gnulib/lib/mbrtowc.c
    functionUses: 0
    functionsReached:
    - hard_locale
    - mbsinit
    - mbrtowc
    linkageType: ''
    returnType: size_t
    signature: size_t rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: concatenated_filename
      Src: /src/gnulib/lib/xconcat-filename.c:36,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xconcat-filename.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - directory
    - filename
    - suffix
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: xconcatenated_filename
    functionSourceFile: /src/gnulib/lib/xconcat-filename.c
    functionUses: 4
    functionsReached:
    - concatenated_filename
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: "char *\nxconcatenated_filename (const char *directory, const char
      *filename,\n                        const char *suffix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: backupfile_internal
      Src: /src/gnulib/lib/backup-rename.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dir_fd
    - file
    - backup_type
    argTypes:
    - int
    - char*
    - enum backup_type
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: backup_file_rename
    functionSourceFile: /src/gnulib/lib/backup-rename.c
    functionUses: 0
    functionsReached:
    - backupfile_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      backup_file_rename (int dir_fd, char const *file, enum backup_type backup_type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/gnulib/lib/getentropy.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: getentropy
    functionSourceFile: /src/gnulib/lib/getentropy.c
    functionUses: 2
    functionsReached:
    - getrandom
    linkageType: ''
    returnType: int
    signature: int getentropy (void *buffer, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_array_list.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: gl_array_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_array_nx_create_empty (gl_list_implementation_t implementation,\n
      \                         gl_listelement_equals_fn equals_fn,\n                          gl_listelement_hashcode_fn
      hashcode_fn,\n                          gl_listelement_dispose_fn dispose_fn,\n
      \                         bool allow_duplicates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/gl_array_list.c:83,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_array_list.c:95,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_list.c:95,1
    - Dst: malloc
      Src: /src/gnulib/lib/gl_array_list.c:97,1
    - Dst: memcpy
      Src: /src/gnulib/lib/gl_array_list.c:100,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_list.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: gl_array_nx_create
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - xtimes
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_array_nx_create (gl_list_implementation_t implementation,\n
      \                   gl_listelement_equals_fn equals_fn,\n                    gl_listelement_hashcode_fn
      hashcode_fn,\n                    gl_listelement_dispose_fn dispose_fn,\n                    bool
      allow_duplicates,\n                    size_t count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: _GL_ATTRIBUTE_PURE::gl_array_size
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      gl_array_size (gl_list_t list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: _GL_ATTRIBUTE_PURE::gl_array_node_value
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: 'void * _GL_ATTRIBUTE_PURE

      gl_array_node_value (gl_list_t list, gl_list_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: gl_array_node_nx_set_value
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: "int gl_array_node_nx_set_value (gl_list_t list, gl_list_node_t node,\n
      \                           const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:148,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: _GL_ATTRIBUTE_PURE::gl_array_next_node
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: 'gl_list_node_t _GL_ATTRIBUTE_PURE

      gl_array_next_node (gl_list_t list, gl_list_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:162,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: _GL_ATTRIBUTE_PURE::gl_array_previous_node
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: 'gl_list_node_t _GL_ATTRIBUTE_PURE

      gl_array_previous_node (gl_list_t list, gl_list_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: _GL_ATTRIBUTE_PURE::gl_array_first_node
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: 'gl_list_node_t _GL_ATTRIBUTE_PURE

      gl_array_first_node (gl_list_t list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: _GL_ATTRIBUTE_PURE::gl_array_last_node
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: 'gl_list_node_t _GL_ATTRIBUTE_PURE

      gl_array_last_node (gl_list_t list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - gl_list_t
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: _GL_ATTRIBUTE_PURE::gl_array_get_at
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: 'void * _GL_ATTRIBUTE_PURE

      gl_array_get_at (gl_list_t list, size_t position)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:205,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: gl_array_nx_set_at
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_set_at (gl_list_t list, size_t position,
      const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:218,1
    - Dst: equals
      Src: /src/gnulib/lib/gl_array_list.c:229,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - list
    - start_index
    - end_index
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 251
    functionName: _GL_ATTRIBUTE_PURE::gl_array_indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - equals
    linkageType: ''
    returnType: size_t
    signature: "size_t _GL_ATTRIBUTE_PURE\ngl_array_indexof_from_to (gl_list_t list,
      size_t start_index, size_t end_index,\n                          const void
      *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - list
    - start_index
    - end_index
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: _GL_ATTRIBUTE_PURE::gl_array_search_from_to
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t _GL_ATTRIBUTE_PURE\ngl_array_search_from_to (gl_list_t
      list, size_t start_index, size_t end_index,\n                         const
      void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_list.c:270,1
    - Dst: xsum
      Src: /src/gnulib/lib/gl_array_list.c:271,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_array_list.c:272,1
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_array_list.c:273,1
    - Dst: realloc
      Src: /src/gnulib/lib/gl_array_list.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 283
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: grow
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 14
    functionsReached:
    - size_overflow_p
    - xtimes
    - realloc
    - xsum
    linkageType: ''
    returnType: int
    signature: int grow (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_list.c:293,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: gl_array_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - grow
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_add_first (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_list.c:309,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: gl_array_nx_add_last
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - grow
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_add_last (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:327,1
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_list.c:330,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 338
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 338
    functionName: gl_array_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - grow
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_add_before (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:351,1
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_list.c:354,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 362
    functionName: gl_array_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - grow
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_add_after (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:373,1
    - Dst: grow
      Src: /src/gnulib/lib/gl_array_list.c:375,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: gl_array_nx_add_at
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 2
    functionsReached:
    - abort
    - grow
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_array_nx_add_at (gl_list_t list, size_t position,
      const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:396,1
    - Dst: gl_list_t::base::dispose_fn
      Src: /src/gnulib/lib/gl_array_list.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: gl_array_remove_node
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_t::base::dispose_fn
    linkageType: ''
    returnType: bool
    signature: bool gl_array_remove_node (gl_list_t list, gl_list_node_t node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:416,1
    - Dst: gl_list_t::base::dispose_fn
      Src: /src/gnulib/lib/gl_array_list.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - gl_list_t
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: gl_array_remove_at
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 3
    functionsReached:
    - abort
    - gl_list_t::base::dispose_fn
    linkageType: ''
    returnType: bool
    signature: bool gl_array_remove_at (gl_list_t list, size_t position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_list.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: gl_array_remove
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - gl_array_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_array_remove (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dispose
      Src: /src/gnulib/lib/gl_array_list.c:451,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_list.c:455,1
    - Dst: free
      Src: /src/gnulib/lib/gl_array_list.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 458
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 458
    functionName: gl_array_list_free
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - free
    - dispose
    linkageType: ''
    returnType: void
    signature: void gl_array_list_free (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: _GL_ATTRIBUTE_PURE::gl_array_iterator
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_list_iterator_t
    signature: 'gl_list_iterator_t _GL_ATTRIBUTE_PURE

      gl_array_iterator (gl_list_t list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - list
    - start_index
    - end_index
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 499
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 499
    functionName: _GL_ATTRIBUTE_PURE::gl_array_iterator_from_to
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: gl_list_iterator_t
    signature: 'gl_list_iterator_t _GL_ATTRIBUTE_PURE

      gl_array_iterator_from_to (gl_list_t list, size_t start_index, size_t end_index)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:510,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - iterator
    - eltp
    - nodep
    argTypes:
    - gl_list_iterator_t*
    - void**
    - gl_list_node_t*
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: gl_array_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: bool
    signature: "bool gl_array_iterator_next (gl_list_iterator_t *iterator,\n                        const
      void **eltp, gl_list_node_t *nodep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - gl_list_iterator_t *iterator
    argTypes:
    - _GL_ATTRIBUTE_MAYBE_UNUSED
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: gl_array_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_array_iterator_free (_GL_ATTRIBUTE_MAYBE_UNUSED gl_list_iterator_t
      *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:544,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_array_list.c:578,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - list
    - compar
    - low
    - high
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 593
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 593
    functionName: _GL_ATTRIBUTE_PURE::gl_array_sortedlist_indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: size_t
    signature: "size_t _GL_ATTRIBUTE_PURE\ngl_array_sortedlist_indexof_from_to (gl_list_t
      list,\n                                     gl_listelement_compar_fn compar,\n
      \                                    size_t low, size_t high,\n                                     const
      void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _GL_ATTRIBUTE_PURE::gl_array_sortedlist_indexof_from_to
      Src: /src/gnulib/lib/gl_array_list.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: _GL_ATTRIBUTE_PURE::gl_array_sortedlist_indexof
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - _GL_ATTRIBUTE_PURE::gl_array_sortedlist_indexof_from_to
    linkageType: ''
    returnType: size_t
    signature: "size_t _GL_ATTRIBUTE_PURE\ngl_array_sortedlist_indexof (gl_list_t
      list, gl_listelement_compar_fn compar,\n                             const void
      *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - list
    - compar
    - low
    - high
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: _GL_ATTRIBUTE_PURE::gl_array_sortedlist_search_from_to
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t _GL_ATTRIBUTE_PURE\ngl_array_sortedlist_search_from_to
      (gl_list_t list,\n                                    gl_listelement_compar_fn
      compar,\n                                    size_t low, size_t high,\n                                    const
      void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_array_list.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: _GL_ATTRIBUTE_PURE::gl_array_sortedlist_search
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t _GL_ATTRIBUTE_PURE\ngl_array_sortedlist_search (gl_list_t
      list, gl_listelement_compar_fn compar,\n                            const void
      *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_nx_add_at
      Src: /src/gnulib/lib/gl_array_list.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 649
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 649
    functionName: gl_array_sortedlist_nx_add
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - gl_array_nx_add_at
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t gl_array_sortedlist_nx_add (gl_list_t list, gl_listelement_compar_fn
      compar,\n                            const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_array_remove_at
      Src: /src/gnulib/lib/gl_array_list.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 660
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 660
    functionName: gl_array_sortedlist_remove
    functionSourceFile: /src/gnulib/lib/gl_array_list.c
    functionUses: 0
    functionsReached:
    - gl_array_remove_at
    linkageType: ''
    returnType: bool
    signature: "bool gl_array_sortedlist_remove (gl_list_t list, gl_listelement_compar_fn
      compar,\n                            const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswctype
      Src: /src/gnulib/lib/c32_apply_type_test.c:35,1
    - Dst: property
      Src: /src/gnulib/lib/c32_apply_type_test.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wc
    - property
    argTypes:
    - wint_t
    - c32_type_test_t
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: c32_apply_type_test
    functionSourceFile: /src/gnulib/lib/c32_apply_type_test.c
    functionUses: 1
    functionsReached:
    - iswctype
    - property
    linkageType: ''
    returnType: int
    signature: int c32_apply_type_test (wint_t wc, c32_type_test_t property)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pipe
      Src: /src/gnulib/lib/pipe2.c:78,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/lib/pipe2.c:91,1
    - Dst: set_nonblocking_flag
      Src: /src/gnulib/lib/pipe2.c:92,1
    - Dst: pipe
      Src: /src/gnulib/lib/pipe2.c:106,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:119,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:120,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:121,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:122,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:130,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:131,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:132,1
    - Dst: fcntl
      Src: /src/gnulib/lib/pipe2.c:133,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/pipe2.c:140,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/pipe2.c:141,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/pipe2.c:145,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/pipe2.c:146,1
    - Dst: close
      Src: /src/gnulib/lib/pipe2.c:158,1
    - Dst: close
      Src: /src/gnulib/lib/pipe2.c:159,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 166
    functionName: pipe2
    functionSourceFile: /src/gnulib/lib/pipe2.c
    functionUses: 3
    functionsReached:
    - fcntl
    - set_nonblocking_flag
    - _pipe
    - close
    - pipe
    - set_binary_mode
    linkageType: ''
    returnType: int
    signature: int pipe2 (int fd[2], int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/localtime.c:57,1
    - Dst: localtime
      Src: /src/gnulib/lib/localtime.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - tp
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 83
    functionName: rpl_localtime
    functionSourceFile: /src/gnulib/lib/localtime.c
    functionUses: 0
    functionsReached:
    - localtime
    - strchr
    linkageType: ''
    returnType: struct tm
    signature: 'struct tm *

      rpl_localtime (const time_t *tp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base_len
      Src: /src/gnulib/lib/basename.c:34,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename.c:37,1
    - Dst: FILE_SYSTEM_PREFIX_LEN
      Src: /src/gnulib/lib/basename.c:42,1
    - Dst: base_len
      Src: /src/gnulib/lib/basename.c:49,1
    - Dst: memcpy
      Src: /src/gnulib/lib/basename.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 64
    functionName: base_name
    functionSourceFile: /src/gnulib/lib/basename.c
    functionUses: 3
    functionsReached:
    - memcpy
    - base_len
    - ISSLASH
    - FILE_SYSTEM_PREFIX_LEN
    linkageType: ''
    returnType: char
    signature: 'char *

      base_name (char const *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: version_etc_ar
      Src: /src/gnulib/lib/argp-version-etc.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - state
    argTypes:
    - FILE*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: version_etc_hook
    functionSourceFile: /src/gnulib/lib/argp-version-etc.c
    functionUses: 0
    functionsReached:
    - version_etc_ar
    linkageType: ''
    returnType: void
    signature: void version_etc_hook (FILE *stream, struct argp_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - authors
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: argp_version_setup
    functionSourceFile: /src/gnulib/lib/argp-version-etc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void argp_version_setup (const char *name, const char * const *authors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename.c:46,1
    - Dst: struniq
      Src: /src/gnulib/lib/localename.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: gl_locale_name_thread
    functionSourceFile: /src/gnulib/lib/localename.c
    functionUses: 1
    functionsReached:
    - abort
    - struniq
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_thread (int category, const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename.c:58,1
    - Dst: struniq
      Src: /src/gnulib/lib/localename.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: gl_locale_name_posix
    functionSourceFile: /src/gnulib/lib/localename.c
    functionUses: 1
    functionsReached:
    - abort
    - struniq
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name_posix (int category, const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/localename.c:78,1
    - Dst: gl_locale_name_thread
      Src: /src/gnulib/lib/localename.c:80,1
    - Dst: gl_locale_name_posix
      Src: /src/gnulib/lib/localename.c:84,1
    - Dst: gl_locale_name_default
      Src: /src/gnulib/lib/localename.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - category
    - categoryname
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: gl_locale_name
    functionSourceFile: /src/gnulib/lib/localename.c
    functionUses: 1
    functionsReached:
    - abort
    - gl_locale_name_thread
    - gl_locale_name_posix
    - gl_locale_name_default
    linkageType: ''
    returnType: char
    signature: 'char *

      gl_locale_name (int category, const char *categoryname)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVersionEx
      Src: /src/gnulib/lib/tmpfile.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: supports_delete_on_close
    functionSourceFile: /src/gnulib/lib/tmpfile.c
    functionUses: 2
    functionsReached:
    - GetVersionEx
    linkageType: ''
    returnType: bool
    signature: bool supports_delete_on_close ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetTempPath
      Src: /src/gnulib/lib/tmpfile.c:99,1
    - Dst: path_search
      Src: /src/gnulib/lib/tmpfile.c:104,1
    - Dst: memcpy
      Src: /src/gnulib/lib/tmpfile.c:112,1
    - Dst: gen_tempname
      Src: /src/gnulib/lib/tmpfile.c:113,1
    - Dst: _open
      Src: /src/gnulib/lib/tmpfile.c:119,1
    - Dst: _fdopen
      Src: /src/gnulib/lib/tmpfile.c:128,1
    - Dst: _close
      Src: /src/gnulib/lib/tmpfile.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 151
    functionName: tmpfile
    functionSourceFile: /src/gnulib/lib/tmpfile.c
    functionUses: 3
    functionsReached:
    - _close
    - GetTempPath
    - _fdopen
    - _open
    - path_search
    - gen_tempname
    - memcpy
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      tmpfile (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: path_search
      Src: /src/gnulib/lib/tmpfile.c:165,1
    - Dst: gen_tempname
      Src: /src/gnulib/lib/tmpfile.c:168,1
    - Dst: unlink
      Src: /src/gnulib/lib/tmpfile.c:174,1
    - Dst: fdopen
      Src: /src/gnulib/lib/tmpfile.c:176,1
    - Dst: close
      Src: /src/gnulib/lib/tmpfile.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: tmpfile
    functionSourceFile: /src/gnulib/lib/tmpfile.c
    functionUses: 3
    functionsReached:
    - close
    - unlink
    - path_search
    - gen_tempname
    - fdopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      tmpfile (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pwc
    - s
    - n
    argTypes:
    - ucs4_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: utf16be_mbtowc
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf16be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - wc
    - n
    argTypes:
    - unsigned char*
    - ucs4_t
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 114
    functionName: utf16be_wctomb
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf16be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pwc
    - s
    - n
    argTypes:
    - ucs4_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: utf16le_mbtowc
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf16le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - wc
    - n
    argTypes:
    - unsigned char*
    - ucs4_t
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 185
    functionName: utf16le_wctomb
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf16le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pwc
    - s
    - n
    argTypes:
    - ucs4_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: utf32be_mbtowc
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf32be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - wc
    - n
    argTypes:
    - unsigned char*
    - ucs4_t
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: utf32be_wctomb
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf32be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pwc
    - s
    - n
    argTypes:
    - ucs4_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: utf32le_mbtowc
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf32le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - wc
    - n
    argTypes:
    - unsigned char*
    - ucs4_t
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: utf32le_wctomb
    functionSourceFile: /src/gnulib/lib/iconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf32le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkancesdirs
      Src: /src/gnulib/lib/mkdir-p.c:105,1
    - Dst: mkdir
      Src: /src/gnulib/lib/mkdir-p.c:130,1
    - Dst: announce
      Src: /src/gnulib/lib/mkdir-p.c:136,1
    - Dst: stat
      Src: /src/gnulib/lib/mkdir-p.c:154,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/mkdir-p.c:156,1
    - Dst: error
      Src: /src/gnulib/lib/mkdir-p.c:162,1
    - Dst: _
      Src: /src/gnulib/lib/mkdir-p.c:162,1
    - Dst: quote
      Src: /src/gnulib/lib/mkdir-p.c:162,1
    - Dst: dirchownmod
      Src: /src/gnulib/lib/mkdir-p.c:179,1
    - Dst: error
      Src: /src/gnulib/lib/mkdir-p.c:188,1
    - Dst: _
      Src: /src/gnulib/lib/mkdir-p.c:189,1
    - Dst: quote
      Src: /src/gnulib/lib/mkdir-p.c:192,1
    - Dst: error
      Src: /src/gnulib/lib/mkdir-p.c:200,1
    - Dst: _
      Src: /src/gnulib/lib/mkdir-p.c:200,1
    - Dst: quote
      Src: /src/gnulib/lib/mkdir-p.c:200,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 8
    argNames:
    - dir
    - wd
    - options
    - mode
    - mode_bits
    - owner
    - group
    - preserve_existing
    argTypes:
    - char*
    - struct savewd*
    - void*
    - mode_t
    - mode_t
    - uid_t
    - gid_t
    - bool
    constantsTouched: []
    func_position:
      end: 202
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 202
    functionName: make_dir_parents
    functionSourceFile: /src/gnulib/lib/mkdir-p.c
    functionUses: 0
    functionsReached:
    - _
    - quote
    - dirchownmod
    - stat
    - mkancesdirs
    - error
    - S_ISDIR
    - announce
    - mkdir
    linkageType: ''
    returnType: bool
    signature: "bool make_dir_parents (char *dir,\n                  struct savewd
      *wd,\n                  int (*make_ancestor) (char const *, char const *, void
      *),\n                  void *options,\n                  mode_t mode,\n                  void
      (*announce) (char const *, void *),\n                  mode_t mode_bits,\n                  uid_t
      owner,\n                  gid_t group,\n                  bool preserve_existing)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gai_strerror
      Src: /src/gnulib/lib/gai_strerror.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: rpl_gai_strerror
    functionSourceFile: /src/gnulib/lib/gai_strerror.c
    functionUses: 0
    functionsReached:
    - gai_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      rpl_gai_strerror (int code)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/gnulib/lib/gai_strerror.c:85,1
    - Dst: _
      Src: /src/gnulib/lib/gai_strerror.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: gai_strerror
    functionSourceFile: /src/gnulib/lib/gai_strerror.c
    functionUses: 9
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      gai_strerror (int code)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_add
      Src: /src/gnulib/lib/timespec-add.c:37,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/timespec-add.c:41,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/timespec-add.c:41,1
    - Dst: TYPE_MINIMUM
      Src: /src/gnulib/lib/timespec-add.c:43,1
    - Dst: TYPE_MAXIMUM
      Src: /src/gnulib/lib/timespec-add.c:48,1
    - Dst: make_timespec
      Src: /src/gnulib/lib/timespec-add.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct timespec
    - struct timespec
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: timespec_add
    functionSourceFile: /src/gnulib/lib/timespec-add.c
    functionUses: 1
    functionsReached:
    - make_timespec
    - TYPE_MAXIMUM
    - TYPE_MINIMUM
    - ckd_add
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec timespec_add (struct timespec a, struct timespec b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_overflow_p
      Src: /src/gnulib/lib/gl_anyhash2.h:38,1
    - Dst: xtimes
      Src: /src/gnulib/lib/gl_anyhash2.h:38,1
    - Dst: calloc
      Src: /src/gnulib/lib/gl_anyhash2.h:41,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anyhash2.h:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - container
    - estimate
    argTypes:
    - CONTAINER_T
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 71
    functionName: hash_resize
    functionSourceFile: /src/gnulib/lib/gl_anyhash2.h
    functionUses: 0
    functionsReached:
    - size_overflow_p
    - xtimes
    - free
    - calloc
    linkageType: ''
    returnType: void
    signature: void hash_resize (CONTAINER_T container, size_t estimate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_resize
      Src: /src/gnulib/lib/gl_anyhash2.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - CONTAINER_T
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: hash_resize_after_add
    functionSourceFile: /src/gnulib/lib/gl_anyhash2.h
    functionUses: 9
    functionsReached:
    - hash_resize
    linkageType: ''
    returnType: void
    signature: void hash_resize_after_add (CONTAINER_T container)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _close
      Src: /src/gnulib/lib/close.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: close_nothrow
    functionSourceFile: /src/gnulib/lib/close.c
    functionUses: 1
    functionsReached:
    - _close
    linkageType: ''
    returnType: int
    signature: int close_nothrow (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gl_unregister_fd
      Src: /src/gnulib/lib/close.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: rpl_close
    functionSourceFile: /src/gnulib/lib/close.c
    functionUses: 0
    functionsReached:
    - _gl_unregister_fd
    linkageType: ''
    returnType: int
    signature: int rpl_close (int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/openat-die.c:37,1
    - Dst: _
      Src: /src/gnulib/lib/openat-die.c:38,1
    - Dst: abort
      Src: /src/gnulib/lib/openat-die.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: openat_save_fail
    functionSourceFile: /src/gnulib/lib/openat-die.c
    functionUses: 1
    functionsReached:
    - error
    - _
    - abort
    linkageType: ''
    returnType: void
    signature: void openat_save_fail (int errnum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/openat-die.c:56,1
    - Dst: _
      Src: /src/gnulib/lib/openat-die.c:57,1
    - Dst: abort
      Src: /src/gnulib/lib/openat-die.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: openat_restore_fail
    functionSourceFile: /src/gnulib/lib/openat-die.c
    functionUses: 1
    functionsReached:
    - error
    - _
    - abort
    linkageType: ''
    returnType: void
    signature: void openat_restore_fail (int errnum)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: gl_OSet<ELTYPE *>::gl_OSet
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_OSet ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_create_empty
      Src: /src/gnulib/lib/gl_oset.hh:51,1
    - Dst: reinterpret_cast<gl_setelement_compar_fn>
      Src: /src/gnulib/lib/gl_oset.hh:52,1
    - Dst: reinterpret_cast<gl_setelement_dispose_fn>
      Src: /src/gnulib/lib/gl_oset.hh:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - implementation
    argTypes:
    - gl_oset_implementation_t
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: gl_OSet<ELTYPE *>::gl_OSet
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<gl_setelement_dispose_fn>
    - gl_oset_create_empty
    - reinterpret_cast<gl_setelement_compar_fn>
    linkageType: ''
    returnType: void
    signature: "void gl_OSet (gl_oset_implementation_t implementation,\n           int
      (*compar_fn) (ELTYPE * /*elt1*/, ELTYPE * /*elt2*/),\n           void (*dispose_fn)
      (ELTYPE *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_OSet
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: gl_OSet<ELTYPE *>::gl_OSet
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gl_OSet (const gl_OSet& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - gl_OSet
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: '& operator= (const gl_OSet& x)'
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gl_OSet
    signature: gl_OSet & operator= (const gl_OSet& x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ~gl_OSet ()
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~gl_OSet ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_size
      Src: /src/gnulib/lib/gl_oset.hh:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: gl_OSet<ELTYPE *>::size
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_size
    linkageType: ''
    returnType: size_t
    signature: size_t size () const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_search
      Src: /src/gnulib/lib/gl_oset.hh:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: gl_OSet<ELTYPE *>::search
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_search
    linkageType: ''
    returnType: bool
    signature: bool search (ELTYPE * elt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_search_atleast
      Src: /src/gnulib/lib/gl_oset.hh:89,1
    - Dst: reinterpret_cast<gl_setelement_threshold_fn>
      Src: /src/gnulib/lib/gl_oset.hh:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - threshold
    - ' elt'
    argTypes:
    - THT*
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: gl_OSet<ELTYPE *>::search_atleast
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_search_atleast
    - reinterpret_cast<gl_setelement_threshold_fn>
    linkageType: ''
    returnType: bool
    signature: "bool search_atleast (bool (*threshold_fn) (ELTYPE * /*elt*/, THT *
      /*threshold*/),\n                       THT * threshold,\n                       ELTYPE
      *& elt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_add
      Src: /src/gnulib/lib/gl_oset.hh:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: gl_OSet<ELTYPE *>::add
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_add
    linkageType: ''
    returnType: bool
    signature: bool add (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_remove
      Src: /src/gnulib/lib/gl_oset.hh:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: gl_OSet<ELTYPE *>::remove
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_remove
    linkageType: ''
    returnType: bool
    signature: bool remove (ELTYPE * elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_update
      Src: /src/gnulib/lib/gl_oset.hh:116,1
    - Dst: reinterpret_cast<void (*) (const void *, void *)>
      Src: /src/gnulib/lib/gl_oset.hh:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - action_data
    argTypes:
    - ELTYPE*
    - DT*
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: gl_OSet<ELTYPE *>::update
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void (*) (const void *, void *)>
    - gl_oset_update
    linkageType: ''
    returnType: int
    signature: "int update (ELTYPE * elt,\n              void (*action) (ELTYPE *
      /*elt*/, DT * /*action_data*/),\n              DT *action_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_free
      Src: /src/gnulib/lib/gl_oset.hh:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: gl_OSet<ELTYPE *>::free
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_free
    linkageType: ''
    returnType: void
    signature: void free ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ELTYPE *>
      Src: /src/gnulib/lib/gl_oset.hh:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' elt'
    argTypes:
    - ELTYPE*
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: gl_OSet<ELTYPE *>::iterator::next
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - static_cast<ELTYPE *>
    linkageType: ''
    returnType: bool
    signature: bool next (ELTYPE *& elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/lib/gl_oset.hh:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: ~iterator ()
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_iterator_free
    linkageType: ''
    returnType: void
    signature: void ~iterator ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator
      Src: /src/gnulib/lib/gl_oset.hh:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: gl_OSet<ELTYPE *>::iterator::iterator
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_iterator
    linkageType: ''
    returnType: void
    signature: void iterator (gl_oset_t ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator_atleast
      Src: /src/gnulib/lib/gl_oset.hh:173,1
    - Dst: reinterpret_cast<gl_setelement_threshold_fn>
      Src: /src/gnulib/lib/gl_oset.hh:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - threshold
    argTypes:
    - gl_oset_t
    - THT*
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: gl_OSet<ELTYPE *>::iterator::iterator
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - gl_oset_iterator_atleast
    - reinterpret_cast<gl_setelement_threshold_fn>
    linkageType: ''
    returnType: void
    signature: "void iterator (gl_oset_t ptr,\n              bool (*threshold_fn)
      (ELTYPE * /*elt*/, THT * /*threshold*/),\n              THT * threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/gnulib/lib/gl_oset.hh:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: gl_OSet<ELTYPE *>::begin
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/gnulib/lib/gl_oset.hh:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - threshold
    argTypes:
    - THT*
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: gl_OSet<ELTYPE *>::begin_atleast
    functionSourceFile: /src/gnulib/lib/gl_oset.hh
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: "iterator begin_atleast (bool (*threshold_fn) (ELTYPE * /*elt*/, THT
      * /*threshold*/),\n                          THT * threshold)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcstombs
      Src: /src/gnulib/lib/wcscoll-impl.h:33,1
    - Dst: malloc
      Src: /src/gnulib/lib/wcscoll-impl.h:43,1
    - Dst: wcstombs
      Src: /src/gnulib/lib/wcscoll-impl.h:46,1
    - Dst: abort
      Src: /src/gnulib/lib/wcscoll-impl.h:48,1
    - Dst: wcstombs
      Src: /src/gnulib/lib/wcscoll-impl.h:56,1
    - Dst: malloc
      Src: /src/gnulib/lib/wcscoll-impl.h:66,1
    - Dst: wcstombs
      Src: /src/gnulib/lib/wcscoll-impl.h:69,1
    - Dst: abort
      Src: /src/gnulib/lib/wcscoll-impl.h:71,1
    - Dst: free
      Src: /src/gnulib/lib/wcscoll-impl.h:84,1
    - Dst: free
      Src: /src/gnulib/lib/wcscoll-impl.h:86,1
    - Dst: free
      Src: /src/gnulib/lib/wcscoll-impl.h:92,1
    - Dst: free
      Src: /src/gnulib/lib/wcscoll-impl.h:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 103
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 103
    functionName: wcscoll
    functionSourceFile: /src/gnulib/lib/wcscoll-impl.h
    functionUses: 0
    functionsReached:
    - abort
    - free
    - malloc
    - wcstombs
    linkageType: ''
    returnType: int
    signature: int wcscoll (const wchar_t *s1, const wchar_t *s2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/gnulib/lib/asinl.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: asinl
    functionSourceFile: /src/gnulib/lib/asinl.c
    functionUses: 1
    functionsReached:
    - asin
    linkageType: ''
    returnType: long double
    signature: long double asinl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:215,1
    - Dst: sqrtl
      Src: /src/gnulib/lib/asinl.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - x
    argTypes:
    - long double
    constantsTouched: []
    func_position:
      end: 218
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 218
    functionName: asinl
    functionSourceFile: /src/gnulib/lib/asinl.c
    functionUses: 2
    functionsReached:
    - sqrtl
    - asinl
    linkageType: ''
    returnType: long double
    signature: long double asinl (long double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:226,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:227,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:229,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:230,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:232,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:233,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:235,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:236,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:238,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:239,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:241,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:242,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:244,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:245,1
    - Dst: printf
      Src: /src/gnulib/lib/asinl.c:247,1
    - Dst: asinl
      Src: /src/gnulib/lib/asinl.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/gnulib/lib/asinl.c
    functionUses: 12
    functionsReached:
    - printf
    - asinl
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:759,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:760,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:761,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:762,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:783,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:784,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:807,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - uint32_t[]
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 840
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 840
    functionName: rijndaelKeySetupEnc
    functionSourceFile: /src/gnulib/lib/rijndael-alg-fst.c
    functionUses: 1
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int rijndaelKeySetupEnc (uint32_t rk[ /*4*(Nr + 1) */ ],\n                     const
      char cipherKey[], size_t keyBits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rijndaelKeySetupEnc
      Src: /src/gnulib/lib/rijndael-alg-fst.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - cipherKey
    - keyBits
    argTypes:
    - uint32_t[]
    - char[]
    - size_t
    constantsTouched: []
    func_position:
      end: 899
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 899
    functionName: rijndaelKeySetupDec
    functionSourceFile: /src/gnulib/lib/rijndael-alg-fst.c
    functionUses: 1
    functionsReached:
    - rijndaelKeySetupEnc
    linkageType: ''
    returnType: int
    signature: "int rijndaelKeySetupDec (uint32_t rk[ /*4*(Nr + 1) */ ],\n                     const
      char cipherKey[], size_t keyBits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:912,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:913,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:914,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:915,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:971,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:977,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:983,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - rk
    - Nr
    - pt
    - ct
    argTypes:
    - uint32_t[]
    - size_t
    - char[]
    - char[]
    constantsTouched: []
    func_position:
      end: 990
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 990
    functionName: rijndaelEncrypt
    functionSourceFile: /src/gnulib/lib/rijndael-alg-fst.c
    functionUses: 3
    functionsReached:
    - PUTU32
    - GETU32
    linkageType: ''
    returnType: void
    signature: "void rijndaelEncrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t
      Nr,\n                 const char pt[16], char ct[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1003,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1004,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1005,1
    - Dst: GETU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1006,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1062,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1068,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1074,1
    - Dst: PUTU32
      Src: /src/gnulib/lib/rijndael-alg-fst.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - rk
    - Nr
    - ct
    - pt
    argTypes:
    - uint32_t[]
    - size_t
    - char[]
    - char[]
    constantsTouched: []
    func_position:
      end: 1081
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1081
    functionName: rijndaelDecrypt
    functionSourceFile: /src/gnulib/lib/rijndael-alg-fst.c
    functionUses: 2
    functionsReached:
    - PUTU32
    - GETU32
    linkageType: ''
    returnType: void
    signature: "void rijndaelDecrypt (const uint32_t rk[ /*4*(Nr + 1) */ ], size_t
      Nr,\n                 const char ct[16], char pt[16])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/xreadlink.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: xreadlink
    functionSourceFile: /src/gnulib/lib/xreadlink.c
    functionUses: 0
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: char
    signature: 'char *

      xreadlink (char const *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:35,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: last_component
    functionSourceFile: /src/gnulib/lib/basename-lgpl.c
    functionUses: 3
    functionsReached:
    - ISSLASH
    linkageType: ''
    returnType: char
    signature: 'char *

      last_component (char const *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/basename-lgpl.c:58,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:58,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:62,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:62,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/basename-lgpl.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: base_len
    functionSourceFile: /src/gnulib/lib/basename-lgpl.c
    functionUses: 1
    functionsReached:
    - ISSLASH
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t base_len (char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: _GL_ATTRIBUTE_COLD::_gl_alloc_nomem
    functionSourceFile: /src/gnulib/lib/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IALLOC_INLINE
    signature: 'IALLOC_INLINE * _GL_ATTRIBUTE_COLD

      _gl_alloc_nomem (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/ialloc.h:57,1
    - Dst: _gl_alloc_nomem
      Src: /src/gnulib/lib/ialloc.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - idx_t
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: imalloc
    functionSourceFile: /src/gnulib/lib/ialloc.h
    functionUses: 5
    functionsReached:
    - _gl_alloc_nomem
    - malloc
    linkageType: ''
    returnType: IALLOC_INLINE
    signature: 'IALLOC_INLINE *

      imalloc (idx_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/ialloc.h:68,1
    - Dst: _gl_alloc_nomem
      Src: /src/gnulib/lib/ialloc.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - idx_t
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: irealloc
    functionSourceFile: /src/gnulib/lib/ialloc.h
    functionUses: 0
    functionsReached:
    - _gl_alloc_nomem
    - realloc
    linkageType: ''
    returnType: IALLOC_INLINE
    signature: 'IALLOC_INLINE *

      irealloc (void *p, idx_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _gl_alloc_nomem
      Src: /src/gnulib/lib/ialloc.h:82,1
    - Dst: _gl_alloc_nomem
      Src: /src/gnulib/lib/ialloc.h:88,1
    - Dst: calloc
      Src: /src/gnulib/lib/ialloc.h:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: icalloc
    functionSourceFile: /src/gnulib/lib/ialloc.h
    functionUses: 0
    functionsReached:
    - _gl_alloc_nomem
    - calloc
    linkageType: ''
    returnType: IALLOC_INLINE
    signature: 'IALLOC_INLINE *

      icalloc (idx_t n, idx_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reallocarray
      Src: /src/gnulib/lib/ialloc.h:101,1
    - Dst: _gl_alloc_nomem
      Src: /src/gnulib/lib/ialloc.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - p
    - n
    - s
    argTypes:
    - void*
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: ireallocarray
    functionSourceFile: /src/gnulib/lib/ialloc.h
    functionUses: 0
    functionsReached:
    - _gl_alloc_nomem
    - reallocarray
    linkageType: ''
    returnType: IALLOC_INLINE
    signature: 'IALLOC_INLINE *

      ireallocarray (void *p, idx_t n, idx_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/gnulib/lib/set-acl.c:46,1
    - Dst: _
      Src: /src/gnulib/lib/set-acl.c:46,1
    - Dst: quote
      Src: /src/gnulib/lib/set-acl.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - desc
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: xset_acl
    functionSourceFile: /src/gnulib/lib/set-acl.c
    functionUses: 1
    functionsReached:
    - error
    - _
    - quote
    linkageType: ''
    returnType: int
    signature: int xset_acl (char const *name, int desc, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xset_acl
      Src: /src/gnulib/lib/set-acl.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - desc
    - mode
    argTypes:
    - char*
    - int
    - mode_t
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 8
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: set_acl
    functionSourceFile: /src/gnulib/lib/set-acl.c
    functionUses: 2
    functionsReached:
    - xset_acl
    linkageType: ''
    returnType: int
    signature: int set_acl (char const *name, int desc, mode_t mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - dummy
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: gl_msvc_invalid_parameter_handler
    functionSourceFile: /src/gnulib/lib/msvc-inval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gl_msvc_invalid_parameter_handler (const wchar_t *expression,\n
      \                                  const wchar_t *function,\n                                   const
      wchar_t *file,\n                                   unsigned int line,\n                                   uintptr_t
      dummy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RaiseException
      Src: /src/gnulib/lib/msvc-inval.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - dummy
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: gl_msvc_invalid_parameter_handler
    functionSourceFile: /src/gnulib/lib/msvc-inval.c
    functionUses: 0
    functionsReached:
    - RaiseException
    linkageType: ''
    returnType: void
    signature: "void gl_msvc_invalid_parameter_handler (const wchar_t *expression,\n
      \                                  const wchar_t *function,\n                                   const
      wchar_t *file,\n                                   unsigned int line,\n                                   uintptr_t
      dummy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/gnulib/lib/msvc-inval.c:72,1
    - Dst: TlsGetValue
      Src: /src/gnulib/lib/msvc-inval.c:81,1
    - Dst: malloc
      Src: /src/gnulib/lib/msvc-inval.c:87,1
    - Dst: TlsSetValue
      Src: /src/gnulib/lib/msvc-inval.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 95
    functionName: gl_msvc_inval_current
    functionSourceFile: /src/gnulib/lib/msvc-inval.c
    functionUses: 0
    functionsReached:
    - TlsGetValue
    - malloc
    - TlsSetValue
    - TlsAlloc
    linkageType: ''
    returnType: struct gl_msvc_inval_per_thread
    signature: 'struct gl_msvc_inval_per_thread *

      gl_msvc_inval_current (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_msvc_inval_current
      Src: /src/gnulib/lib/msvc-inval.c:104,1
    - Dst: longjmp
      Src: /src/gnulib/lib/msvc-inval.c:106,1
    - Dst: RaiseException
      Src: /src/gnulib/lib/msvc-inval.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - expression
    - function
    - file
    - line
    - dummy
    argTypes:
    - wchar_t*
    - wchar_t*
    - wchar_t*
    - unsigned int
    - uintptr_t
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: gl_msvc_invalid_parameter_handler
    functionSourceFile: /src/gnulib/lib/msvc-inval.c
    functionUses: 0
    functionsReached:
    - gl_msvc_inval_current
    - longjmp
    - RaiseException
    linkageType: ''
    returnType: void
    signature: "void gl_msvc_invalid_parameter_handler (const wchar_t *expression,\n
      \                                  const wchar_t *function,\n                                   const
      wchar_t *file,\n                                   unsigned int line,\n                                   uintptr_t
      dummy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _set_invalid_parameter_handler
      Src: /src/gnulib/lib/msvc-inval.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: gl_msvc_inval_ensure_handler
    functionSourceFile: /src/gnulib/lib/msvc-inval.c
    functionUses: 4
    functionsReached:
    - _set_invalid_parameter_handler
    linkageType: ''
    returnType: void
    signature: void gl_msvc_inval_ensure_handler (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/wcsdup-impl.h:22,1
    - Dst: wmemcpy
      Src: /src/gnulib/lib/wcsdup-impl.h:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: wcsdup
    functionSourceFile: /src/gnulib/lib/wcsdup-impl.h
    functionUses: 0
    functionsReached:
    - malloc
    - wmemcpy
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcsdup (const wchar_t *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbsstr
      Src: /src/gnulib/lib/string.in.h:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1278
    functionDepth: 5
    functionLinenumber: 1278
    functionLinenumberEnd: 1279
    functionName: mbsstr_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbsstr
    linkageType: ''
    returnType: char
    signature: char * mbsstr_template (char *haystack, const char *needle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbsstr
      Src: /src/gnulib/lib/string.in.h:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1281
    functionDepth: 5
    functionLinenumber: 1281
    functionLinenumberEnd: 1282
    functionName: mbsstr_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbsstr
    linkageType: ''
    returnType: char
    signature: char * mbsstr_template (const char *haystack, const char *needle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbspcasecmp
      Src: /src/gnulib/lib/string.in.h:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1347
    functionName: mbspcasecmp_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbspcasecmp
    linkageType: ''
    returnType: char
    signature: char * mbspcasecmp_template (char *string, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbspcasecmp
      Src: /src/gnulib/lib/string.in.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - prefix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1350
    functionName: mbspcasecmp_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbspcasecmp
    linkageType: ''
    returnType: char
    signature: char * mbspcasecmp_template (const char *string, const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbscasestr
      Src: /src/gnulib/lib/string.in.h:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: mbscasestr_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbscasestr
    linkageType: ''
    returnType: char
    signature: char * mbscasestr_template (char *haystack, const char *needle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbscasestr
      Src: /src/gnulib/lib/string.in.h:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1388
    functionName: mbscasestr_template
    functionSourceFile: /src/gnulib/lib/string.in.h
    functionUses: 0
    functionsReached:
    - mbscasestr
    linkageType: ''
    returnType: char
    signature: char * mbscasestr_template (const char *haystack, const char *needle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_ensure
      Src: /src/gnulib/lib/argp-fmtstream.h:209,1
    - Dst: memcpy
      Src: /src/gnulib/lib/argp-fmtstream.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - __fs
    - __str
    - __len
    argTypes:
    - argp_fmtstream_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: __argp_fmtstream_write
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_ensure
    - memcpy
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_write (argp_fmtstream_t __fs, const char
      *__str, size_t __len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __str
    argTypes:
    - argp_fmtstream_t
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: __argp_fmtstream_puts
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_puts (argp_fmtstream_t __fs, const char
      *__str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_ensure
      Src: /src/gnulib/lib/argp-fmtstream.h:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - __fs
    - __ch
    argTypes:
    - argp_fmtstream_t
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: __argp_fmtstream_putc
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_ensure
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __lmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: __argp_fmtstream_set_lmargin
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_update
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t
      __lmargin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.h:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __rmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: __argp_fmtstream_set_rmargin
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_update
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t
      __rmargin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __wmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: __argp_fmtstream_set_wmargin
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_update
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t
      __wmargin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_fmtstream_update
      Src: /src/gnulib/lib/argp-fmtstream.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - __fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: __argp_fmtstream_point
    functionSourceFile: /src/gnulib/lib/argp-fmtstream.h
    functionUses: 0
    functionsReached:
    - __argp_fmtstream_update
    linkageType: ''
    returnType: ARGP_FS_EI
    signature: ARGP_FS_EI __argp_fmtstream_point (argp_fmtstream_t __fs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - source0
    - dest0
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: bcopy
    functionSourceFile: /src/gnulib/lib/bcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bcopy (void const *source0, void *dest0, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __gen_tempname
      Src: /src/gnulib/lib/mkstemp.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xtemplate
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: mkstemp
    functionSourceFile: /src/gnulib/lib/mkstemp.c
    functionUses: 1
    functionsReached:
    - __gen_tempname
    linkageType: ''
    returnType: int
    signature: int mkstemp (char *xtemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - haystack_nbytes
    - haystack_data
    - needle_nbytes
    - needle_data
    argTypes:
    - idx_t
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: _sd_contains
    functionSourceFile: /src/gnulib/lib/string-desc-contains.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t _sd_contains (idx_t haystack_nbytes, const char *haystack_data,\n
      \             idx_t needle_nbytes, const char *needle_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/lib/getpayload.c:31,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getpayload.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - double*
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: getpayload
    functionSourceFile: /src/gnulib/lib/getpayload.c
    functionUses: 1
    functionsReached:
    - memcpy
    - isnand
    linkageType: ''
    returnType: double
    signature: double getpayload (const double *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vasnprintf
      Src: /src/gnulib/lib/vsnzprintf.c:40,1
    - Dst: memcpy
      Src: /src/gnulib/lib/vsnzprintf.c:51,1
    - Dst: free
      Src: /src/gnulib/lib/vsnzprintf.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - str
    - size
    - format
    - args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: vsnzprintf
    functionSourceFile: /src/gnulib/lib/vsnzprintf.c
    functionUses: 4
    functionsReached:
    - memcpy
    - free
    - vasnprintf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t vsnzprintf (char *str, size_t size, const char *format, va_list
      args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnulib/lib/stat-w32.c:90,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/stat-w32.c:95,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/stat-w32.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: initialize
    functionSourceFile: /src/gnulib/lib/stat-w32.c
    functionUses: 15
    functionsReached:
    - LoadLibrary
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void initialize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ft
    argTypes:
    - FILETIME*
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: _gl_convert_FILETIME_to_timespec
    functionSourceFile: /src/gnulib/lib/stat-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec _gl_convert_FILETIME_to_timespec (const FILETIME *ft)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ft
    argTypes:
    - FILETIME*
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: _gl_convert_FILETIME_to_POSIX
    functionSourceFile: /src/gnulib/lib/stat-w32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t _gl_convert_FILETIME_to_POSIX (const FILETIME *ft)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetFileType
      Src: /src/gnulib/lib/stat-w32.c:165,1
    - Dst: initialize
      Src: /src/gnulib/lib/stat-w32.c:170,1
    - Dst: GetFileInformationByHandle
      Src: /src/gnulib/lib/stat-w32.c:187,1
    - Dst: GetFileInformationByHandleExFunc
      Src: /src/gnulib/lib/stat-w32.c:227,1
    - Dst: memcpy
      Src: /src/gnulib/lib/stat-w32.c:231,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/stat-w32.c:236,1
    - Dst: GetFinalPathNameByHandleFunc
      Src: /src/gnulib/lib/stat-w32.c:287,1
    - Dst: _stricmp
      Src: /src/gnulib/lib/stat-w32.c:299,1
    - Dst: _stricmp
      Src: /src/gnulib/lib/stat-w32.c:300,1
    - Dst: _stricmp
      Src: /src/gnulib/lib/stat-w32.c:301,1
    - Dst: _stricmp
      Src: /src/gnulib/lib/stat-w32.c:302,1
    - Dst: _gl_convert_FILETIME_to_timespec
      Src: /src/gnulib/lib/stat-w32.c:370,1
    - Dst: _gl_convert_FILETIME_to_timespec
      Src: /src/gnulib/lib/stat-w32.c:371,1
    - Dst: _gl_convert_FILETIME_to_timespec
      Src: /src/gnulib/lib/stat-w32.c:372,1
    - Dst: _gl_convert_FILETIME_to_POSIX
      Src: /src/gnulib/lib/stat-w32.c:374,1
    - Dst: _gl_convert_FILETIME_to_POSIX
      Src: /src/gnulib/lib/stat-w32.c:375,1
    - Dst: _gl_convert_FILETIME_to_POSIX
      Src: /src/gnulib/lib/stat-w32.c:376,1
    - Dst: PeekNamedPipe
      Src: /src/gnulib/lib/stat-w32.c:399,1
    - Dst: GetLastError
      Src: /src/gnulib/lib/stat-w32.c:425,1
    - Dst: fprintf
      Src: /src/gnulib/lib/stat-w32.c:427,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 123
    argCount: 3
    argNames:
    - h
    - path
    - buf
    argTypes:
    - HANDLE
    - char*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 452
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 452
    functionName: _gl_fstat_by_handle
    functionSourceFile: /src/gnulib/lib/stat-w32.c
    functionUses: 1
    functionsReached:
    - GetFinalPathNameByHandleFunc
    - GetLastError
    - _gl_convert_FILETIME_to_timespec
    - fprintf
    - _stricmp
    - GetFileType
    - PeekNamedPipe
    - memcpy
    - GetFileInformationByHandleExFunc
    - initialize
    - _gl_convert_FILETIME_to_POSIX
    - GetFileInformationByHandle
    linkageType: ''
    returnType: int
    signature: int _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint64_t

      rotl64 (uint64_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: uint64_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint64_t

      rotr64 (uint64_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint32_t

      rotl32 (uint32_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: uint32_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint32_t

      rotr32 (uint32_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: rotl_sz
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: BITROTATE_INLINE rotl_sz (size_t x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: rotr_sz
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: BITROTATE_INLINE rotr_sz (size_t x, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint16_t
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint16_t

      rotl16 (uint16_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint16_t
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: uint16_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint16_t

      rotr16 (uint16_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: uint8_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint8_t

      rotl8 (uint8_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: uint8_t
    functionSourceFile: /src/gnulib/lib/bitrotate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BITROTATE_INLINE
    signature: 'BITROTATE_INLINE uint8_t

      rotr8 (uint8_t x, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/rpmatch.c:64,1
    - Dst: _
      Src: /src/gnulib/lib/rpmatch.c:71,1
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/rpmatch.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - english_pattern
    - nl_index
    - posixly_correct
    argTypes:
    - char*
    - nl_item
    - bool
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: localized_pattern
    functionSourceFile: /src/gnulib/lib/rpmatch.c
    functionUses: 0
    functionsReached:
    - nl_langinfo
    - _
    linkageType: ''
    returnType: char
    signature: "char *\nlocalized_pattern (const char *english_pattern, nl_item nl_index,\n
      \                  bool posixly_correct)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/rpmatch.c:93,1
    - Dst: regfree
      Src: /src/gnulib/lib/rpmatch.c:101,1
    - Dst: free
      Src: /src/gnulib/lib/rpmatch.c:102,1
    - Dst: strdup
      Src: /src/gnulib/lib/rpmatch.c:107,1
    - Dst: regcomp
      Src: /src/gnulib/lib/rpmatch.c:111,1
    - Dst: free
      Src: /src/gnulib/lib/rpmatch.c:113,1
    - Dst: regexec
      Src: /src/gnulib/lib/rpmatch.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - response
    - pattern
    - lastp
    - re
    argTypes:
    - char*
    - char*
    - char**
    - regex_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: try
    functionSourceFile: /src/gnulib/lib/rpmatch.c
    functionUses: 181
    functionsReached:
    - strdup
    - free
    - regfree
    - strcmp
    - regexec
    - regcomp
    linkageType: ''
    returnType: int
    signature: int try (const char *response, const char *pattern, char **lastp, regex_t
      *re)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localized_pattern
      Src: /src/gnulib/lib/rpmatch.c:149,1
    - Dst: N_
      Src: /src/gnulib/lib/rpmatch.c:149,1
    - Dst: try
      Src: /src/gnulib/lib/rpmatch.c:150,1
    - Dst: localized_pattern
      Src: /src/gnulib/lib/rpmatch.c:162,1
    - Dst: N_
      Src: /src/gnulib/lib/rpmatch.c:162,1
    - Dst: try
      Src: /src/gnulib/lib/rpmatch.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - response
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 175
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 175
    functionName: rpmatch
    functionSourceFile: /src/gnulib/lib/rpmatch.c
    functionUses: 0
    functionsReached:
    - N_
    - try
    - localized_pattern
    linkageType: ''
    returnType: int
    signature: int rpmatch (const char *response)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (init) (_GL_STACK_TYPE
      *stack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/stack.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (destroy) (_GL_STACK_TYPE
      *stack)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: _GL_ATTRIBUTE_PURE
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: '_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_PURE

      GL_STACK_STORAGECLASS bool

      _GL_STACK_PREFIX (empty) (const _GL_STACK_TYPE *stack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: '_GL_ATTRIBUTE_MAYBE_UNUSED *

      _GL_STACK_PREFIX (current_base) (const _GL_STACK_TYPE *stack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xpalloc
      Src: /src/gnulib/lib/stack.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - item
    argTypes:
    - _GL_STACK_TYPE*
    - GL_STACK_ELEMENT
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached:
    - xpalloc
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (push) (_GL_STACK_TYPE
      *stack, GL_STACK_ELEMENT item)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affirm
      Src: /src/gnulib/lib/stack.h:142,1
    - Dst: _GL_STACK_PREFIX
      Src: /src/gnulib/lib/stack.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 1
    functionsReached:
    - _GL_STACK_PREFIX
    - affirm
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (pop) (_GL_STACK_TYPE *stack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affirm
      Src: /src/gnulib/lib/stack.h:152,1
    - Dst: _GL_STACK_PREFIX
      Src: /src/gnulib/lib/stack.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 2
    functionsReached:
    - _GL_STACK_PREFIX
    - affirm
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (discard) (_GL_STACK_TYPE
      *stack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affirm
      Src: /src/gnulib/lib/stack.h:162,1
    - Dst: _GL_STACK_PREFIX
      Src: /src/gnulib/lib/stack.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: _GL_STACK_PREFIX
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 3
    functionsReached:
    - _GL_STACK_PREFIX
    - affirm
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED _GL_STACK_PREFIX (top) (const _GL_STACK_TYPE
      *stack)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - _GL_STACK_TYPE*
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: _GL_ATTRIBUTE_PURE
    functionSourceFile: /src/gnulib/lib/stack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: '_GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_PURE

      GL_STACK_STORAGECLASS idx_t

      _GL_STACK_PREFIX (size) (const _GL_STACK_TYPE *stack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md2_init_ctx
      Src: /src/gnulib/lib/md2-stream.c:52,1
    - Dst: fread
      Src: /src/gnulib/lib/md2-stream.c:66,1
    - Dst: ferror
      Src: /src/gnulib/lib/md2-stream.c:78,1
    - Dst: free
      Src: /src/gnulib/lib/md2-stream.c:80,1
    - Dst: feof
      Src: /src/gnulib/lib/md2-stream.c:89,1
    - Dst: md2_process_block
      Src: /src/gnulib/lib/md2-stream.c:96,1
    - Dst: md2_process_bytes
      Src: /src/gnulib/lib/md2-stream.c:103,1
    - Dst: md2_finish_ctx
      Src: /src/gnulib/lib/md2-stream.c:106,1
    - Dst: free
      Src: /src/gnulib/lib/md2-stream.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - stream
    - resblock
    argTypes:
    - FILE*
    - void*
    constantsTouched: []
    func_position:
      end: 109
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 109
    functionName: md2_stream
    functionSourceFile: /src/gnulib/lib/md2-stream.c
    functionUses: 0
    functionsReached:
    - md2_process_block
    - fread
    - free
    - md2_finish_ctx
    - md2_process_bytes
    - feof
    - md2_init_ctx
    - ferror
    linkageType: ''
    returnType: int
    signature: int md2_stream (FILE *stream, void *resblock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/vaszprintf.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - resultp
    - format
    - args
    argTypes:
    - char**
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: vaszprintf
    functionSourceFile: /src/gnulib/lib/vaszprintf.c
    functionUses: 9
    functionsReached:
    - free
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t vaszprintf (char **resultp, const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_classpath
      Src: /src/gnulib/lib/javaexec.c:101,1
    - Dst: printf
      Src: /src/gnulib/lib/javaexec.c:111,1
    - Dst: free
      Src: /src/gnulib/lib/javaexec.c:112,1
    - Dst: executer
      Src: /src/gnulib/lib/javaexec.c:115,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javaexec.c:118,1
    - Dst: freea
      Src: /src/gnulib/lib/javaexec.c:120,1
    - Dst: set_classpath
      Src: /src/gnulib/lib/javaexec.c:142,1
    - Dst: strlen
      Src: /src/gnulib/lib/javaexec.c:145,1
    - Dst: shell_quote_length
      Src: /src/gnulib/lib/javaexec.c:146,1
    - Dst: shell_quote_length
      Src: /src/gnulib/lib/javaexec.c:148,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/javaexec.c:151,1
    - Dst: memcpy
      Src: /src/gnulib/lib/javaexec.c:155,1
    - Dst: strlen
      Src: /src/gnulib/lib/javaexec.c:155,1
    - Dst: strlen
      Src: /src/gnulib/lib/javaexec.c:156,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/lib/javaexec.c:158,1
    - Dst: shell_quote_copy
      Src: /src/gnulib/lib/javaexec.c:162,1
    - Dst: abort
      Src: /src/gnulib/lib/javaexec.c:167,1
    - Dst: printf
      Src: /src/gnulib/lib/javaexec.c:170,1
    - Dst: executer
      Src: /src/gnulib/lib/javaexec.c:176,1
    - Dst: freea
      Src: /src/gnulib/lib/javaexec.c:178,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javaexec.c:181,1
    - Dst: getenv
      Src: /src/gnulib/lib/javaexec.c:188,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/javaexec.c:191,1
    - Dst: unsetenv
      Src: /src/gnulib/lib/javaexec.c:192,1
    - Dst: execute
      Src: /src/gnulib/lib/javaexec.c:208,1
    - Dst: set_classpath
      Src: /src/gnulib/lib/javaexec.c:226,1
    - Dst: printf
      Src: /src/gnulib/lib/javaexec.c:237,1
    - Dst: free
      Src: /src/gnulib/lib/javaexec.c:238,1
    - Dst: executer
      Src: /src/gnulib/lib/javaexec.c:241,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javaexec.c:244,1
    - Dst: freea
      Src: /src/gnulib/lib/javaexec.c:246,1
    - Dst: execute
      Src: /src/gnulib/lib/javaexec.c:264,1
    - Dst: set_classpath
      Src: /src/gnulib/lib/javaexec.c:282,1
    - Dst: printf
      Src: /src/gnulib/lib/javaexec.c:293,1
    - Dst: free
      Src: /src/gnulib/lib/javaexec.c:294,1
    - Dst: executer
      Src: /src/gnulib/lib/javaexec.c:297,1
    - Dst: reset_classpath
      Src: /src/gnulib/lib/javaexec.c:300,1
    - Dst: freea
      Src: /src/gnulib/lib/javaexec.c:302,1
    - Dst: error
      Src: /src/gnulib/lib/javaexec.c:309,1
    - Dst: _
      Src: /src/gnulib/lib/javaexec.c:309,1
    - Dst: xsetenv
      Src: /src/gnulib/lib/javaexec.c:315,1
    - Dst: free
      Src: /src/gnulib/lib/javaexec.c:316,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 118
    argCount: 10
    argNames:
    - class_name
    - classpaths
    - classpaths_count
    - use_minimal_classpath
    - exe_dir
    - args
    - verbose
    - quiet
    - executer
    - private_data
    argTypes:
    - char*
    - char**
    - unsigned int
    - bool
    - char*
    - char**
    - bool
    - bool
    - execute_fn*
    - void*
    constantsTouched: []
    func_position:
      end: 321
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 321
    functionName: execute_java_class
    functionSourceFile: /src/gnulib/lib/javaexec.c
    functionUses: 0
    functionsReached:
    - printf
    - xmalloca
    - executer
    - shell_quote_copy
    - xsetenv
    - reset_classpath
    - free
    - shell_quote_length
    - error
    - set_classpath
    - strlen
    - xstrdup
    - freea
    - _
    - execute
    - abort
    - unsetenv
    - memcpy
    - getenv
    linkageType: ''
    returnType: bool
    signature: "bool execute_java_class (const char *class_name,\n                    const
      char * const *classpaths,\n                    unsigned int classpaths_count,\n
      \                   bool use_minimal_classpath,\n                    const char
      *exe_dir,\n                    const char * const *args,\n                    bool
      verbose, bool quiet,\n                    execute_fn *executer, void *private_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnand
      Src: /src/gnulib/lib/log1p.c:25,1
    - Dst: log
      Src: /src/gnulib/lib/log1p.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 518
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 518
    functionName: log1p
    functionSourceFile: /src/gnulib/lib/log1p.c
    functionUses: 2
    functionsReached:
    - isnand
    - log
    linkageType: ''
    returnType: double
    signature: double log1p (double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: _GL_ATTRIBUTE_PURE::node_position
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      node_position (gl_list_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: _GL_ATTRIBUTE_PURE::compare_by_position
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _GL_ATTRIBUTE_PURE

      compare_by_position (const void *x1, const void *x2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - threshold
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: _GL_ATTRIBUTE_PURE::compare_position_threshold
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool _GL_ATTRIBUTE_PURE

      compare_position_threshold (const void *x, const void *threshold)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_iterator
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:83,1
    - Dst: gl_oset_iterator_next
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:86,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:87,1
    - Dst: gl_oset_iterator_free
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - gl_oset_t
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: gl_oset_first
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 0
    functionsReached:
    - gl_oset_iterator
    - gl_oset_iterator_free
    - gl_oset_iterator_next
    - abort
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_oset_first (gl_oset_t set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_first
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:123,1
    - Dst: equals
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:124,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:128,1
    - Dst: equals
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:135,1
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:143,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:148,1
    - Dst: gl_oset_nx_add
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:150,1
    - Dst: malloc
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:154,1
    - Dst: gl_oset_free
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - list
    - new_node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 176
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 176
    functionName: add_to_bucket
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 8
    functionsReached:
    - gl_oset_nx_create_empty
    - gl_oset_free
    - gl_oset_nx_add
    - gl_oset_first
    - equals
    - malloc
    linkageType: ''
    returnType: int
    signature: int add_to_bucket (gl_list_t list, gl_list_node_t new_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:212,1
    - Dst: gl_oset_first
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:219,1
    - Dst: equals
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:220,1
    - Dst: gl_oset_remove
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:224,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:225,1
    - Dst: gl_oset_size
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:226,1
    - Dst: gl_oset_first
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:229,1
    - Dst: gl_oset_free
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:232,1
    - Dst: free
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:233,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - list
    - old_node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 258
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 258
    functionName: remove_from_bucket
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 0
    functionsReached:
    - abort
    - gl_oset_free
    - free
    - gl_oset_size
    - gl_oset_first
    - equals
    - gl_oset_remove
    linkageType: ''
    returnType: void
    signature: void remove_from_bucket (gl_list_t list, gl_list_node_t old_node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_t::base::hashcode_fn
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:296,1
    - Dst: add_to_bucket
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:298,1
    - Dst: remove_from_bucket
      Src: /src/gnulib/lib/gl_anytreehash_list1.h:337,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 341
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 341
    functionName: add_nodes_to_buckets
    functionSourceFile: /src/gnulib/lib/gl_anytreehash_list1.h
    functionUses: 2
    functionsReached:
    - remove_from_bucket
    - add_to_bucket
    - gl_list_t::base::hashcode_fn
    linkageType: ''
    returnType: int
    signature: int add_nodes_to_buckets (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str_endswith
      Src: /src/gnulib/lib/mbs_endswith.c:46,1
    - Dst: strlen
      Src: /src/gnulib/lib/mbs_endswith.c:51,1
    - Dst: mbi_init
      Src: /src/gnulib/lib/mbs_endswith.c:58,1
    - Dst: mbi_avail
      Src: /src/gnulib/lib/mbs_endswith.c:62,1
    - Dst: mbi_advance
      Src: /src/gnulib/lib/mbs_endswith.c:65,1
    - Dst: mbi_avail
      Src: /src/gnulib/lib/mbs_endswith.c:67,1
    - Dst: strcmp
      Src: /src/gnulib/lib/mbs_endswith.c:70,1
    - Dst: mbi_cur_ptr
      Src: /src/gnulib/lib/mbs_endswith.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - string
    - suffix
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 74
    functionName: mbs_endswith
    functionSourceFile: /src/gnulib/lib/mbs_endswith.c
    functionUses: 3
    functionsReached:
    - mbi_init
    - strlen
    - mbi_avail
    - mbi_advance
    - mbi_cur_ptr
    - strcmp
    - str_endswith
    linkageType: ''
    returnType: bool
    signature: bool mbs_endswith (const char *string, const char *suffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _wgetcwd
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:50,1
    - Dst: malloc
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:57,1
    - Dst: _wgetcwd
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:63,1
    - Dst: free
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:66,1
    - Dst: wcslen
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:69,1
    - Dst: free
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:71,1
    - Dst: realloc
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:76,1
    - Dst: _wgetcwd
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:88,1
    - Dst: _wcsdup
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:91,1
    - Dst: realloc
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:104,1
    - Dst: free
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:107,1
    - Dst: _wgetcwd
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:112,1
    - Dst: free
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:117,1
    - Dst: realloc
      Src: /src/gnulib/lib/wgetcwd-lgpl.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - wchar_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 132
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 132
    functionName: wgetcwd
    functionSourceFile: /src/gnulib/lib/wgetcwd-lgpl.c
    functionUses: 2
    functionsReached:
    - _wcsdup
    - free
    - wcslen
    - _wgetcwd
    - malloc
    - realloc
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wgetcwd (wchar_t *buf, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - set
    argTypes:
    - SOCKET
    - fd_set*
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: rpl_fd_isset
    functionSourceFile: /src/gnulib/lib/sys_select.in.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rpl_fd_isset (SOCKET fd, const fd_set * set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - table_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: triple_hash
    functionSourceFile: /src/gnulib/lib/hashcode-named-file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t triple_hash (void const *x, size_t table_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSAME_INODE
      Src: /src/gnulib/lib/hashcode-named-file.c:49,1
    - Dst: STREQ
      Src: /src/gnulib/lib/hashcode-named-file.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: triple_compare_ino_str
    functionSourceFile: /src/gnulib/lib/hashcode-named-file.c
    functionUses: 0
    functionsReached:
    - PSAME_INODE
    - STREQ
    linkageType: ''
    returnType: bool
    signature: bool triple_compare_ino_str (void const *x, void const *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/hashcode-named-file.c:57,1
    - Dst: free
      Src: /src/gnulib/lib/hashcode-named-file.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: triple_free
    functionSourceFile: /src/gnulib/lib/hashcode-named-file.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void triple_free (void *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/time_rz.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - abbrs
    - abbr
    - abbr_size
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: extend_abbrs
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void extend_abbrs (char *abbrs, char const *abbr, size_t abbr_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/time_rz.c:89,1
    - Dst: FLEXSIZEOF
      Src: /src/gnulib/lib/time_rz.c:89,1
    - Dst: extend_abbrs
      Src: /src/gnulib/lib/time_rz.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: tzalloc
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 1
    functionsReached:
    - FLEXSIZEOF
    - malloc
    - extend_abbrs
    linkageType: ''
    returnType: timezone_t
    signature: timezone_t tzalloc (char const *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/time_rz.c:119,1
    - Dst: strlen
      Src: /src/gnulib/lib/time_rz.c:123,1
    - Dst: extend_abbrs
      Src: /src/gnulib/lib/time_rz.c:125,1
    - Dst: tzalloc
      Src: /src/gnulib/lib/time_rz.c:128,1
    - Dst: strlen
      Src: /src/gnulib/lib/time_rz.c:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - tz
    - tm
    argTypes:
    - timezone_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 151
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 151
    functionName: save_abbr
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - tzalloc
    - strlen
    - strcmp
    - extend_abbrs
    linkageType: ''
    returnType: bool
    signature: bool save_abbr (timezone_t tz, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/time_rz.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tz
    argTypes:
    - timezone_t
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: tzfree
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tzfree (timezone_t tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/gnulib/lib/time_rz.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: getenv_TZ
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      getenv_TZ (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/gnulib/lib/time_rz.c:181,1
    - Dst: unsetenv
      Src: /src/gnulib/lib/time_rz.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tz
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: setenv_TZ
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - unsetenv
    - setenv
    linkageType: ''
    returnType: int
    signature: int setenv_TZ (char const *tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv_TZ
      Src: /src/gnulib/lib/time_rz.c:190,1
    - Dst: tzset
      Src: /src/gnulib/lib/time_rz.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tz
    argTypes:
    - timezone_t
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: change_env
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - setenv_TZ
    - tzset
    linkageType: ''
    returnType: bool
    signature: bool change_env (timezone_t tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/time_rz.c:205,1
    - Dst: tzalloc
      Src: /src/gnulib/lib/time_rz.c:210,1
    - Dst: change_env
      Src: /src/gnulib/lib/time_rz.c:213,1
    - Dst: tzfree
      Src: /src/gnulib/lib/time_rz.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tz
    argTypes:
    - timezone_t
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: set_tz
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - tzfree
    - change_env
    - tzalloc
    - strcmp
    linkageType: ''
    returnType: timezone_t
    signature: timezone_t set_tz (timezone_t tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzfree
      Src: /src/gnulib/lib/time_rz.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tz
    argTypes:
    - timezone_t
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: revert_tz
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 0
    functionsReached:
    - tzfree
    linkageType: ''
    returnType: bool
    signature: bool revert_tz (timezone_t tz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/gnulib/lib/time_rz.c:264,1
    - Dst: set_tz
      Src: /src/gnulib/lib/time_rz.c:267,1
    - Dst: revert_tz
      Src: /src/gnulib/lib/time_rz.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - tz
    - t
    - tm
    argTypes:
    - timezone_t
    - time_t*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 276
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 276
    functionName: localtime_rz
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 1
    functionsReached:
    - gmtime_r
    - revert_tz
    - set_tz
    linkageType: ''
    returnType: struct tm
    signature: 'struct tm *

      localtime_rz (timezone_t tz, time_t const *t, struct tm *tm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/gnulib/lib/time_rz.c:283,1
    - Dst: set_tz
      Src: /src/gnulib/lib/time_rz.c:286,1
    - Dst: mktime
      Src: /src/gnulib/lib/time_rz.c:298,1
    - Dst: save_abbr
      Src: /src/gnulib/lib/time_rz.c:300,1
    - Dst: revert_tz
      Src: /src/gnulib/lib/time_rz.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - tz
    - tm
    argTypes:
    - timezone_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 309
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: mktime_z
    functionSourceFile: /src/gnulib/lib/time_rz.c
    functionUses: 1
    functionsReached:
    - save_abbr
    - set_tz
    - revert_tz
    - mktime
    - timegm
    linkageType: ''
    returnType: time_t
    signature: time_t mktime_z (timezone_t tz, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: to_uchar
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char to_uchar (char ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:73,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:74,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:74,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:75,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:75,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - in
    - inlen
    - out
    argTypes:
    - char*
    - idx_t
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: base64_encode_fast
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 0
    functionsReached:
    - to_uchar
    linkageType: ''
    returnType: void
    signature: void base64_encode_fast (const char *restrict in, idx_t inlen, char
      *restrict out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode_fast
      Src: /src/gnulib/lib/base64.c:100,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:106,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:109,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:110,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:116,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:117,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:122,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - char*
    - idx_t
    - char*
    - idx_t
    constantsTouched: []
    func_position:
      end: 133
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 133
    functionName: base64_encode
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 15
    functionsReached:
    - to_uchar
    - base64_encode_fast
    linkageType: ''
    returnType: void
    signature: "void base64_encode (const char *restrict in, idx_t inlen,\n               char
      *restrict out, idx_t outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/gnulib/lib/base64.c:151,1
    - Dst: imalloc
      Src: /src/gnulib/lib/base64.c:158,1
    - Dst: base64_encode
      Src: /src/gnulib/lib/base64.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - in
    - inlen
    - out
    argTypes:
    - char*
    - idx_t
    - char**
    constantsTouched: []
    func_position:
      end: 165
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 165
    functionName: base64_encode_alloc
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 11
    functionsReached:
    - imalloc
    - ckd_mul
    - base64_encode
    linkageType: ''
    returnType: idx_t
    signature: idx_t base64_encode_alloc (const char *in, idx_t inlen, char **out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/gnulib/lib/base64.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - in
    - in_end
    - n_non_newline
    argTypes:
    - struct base64_decode_context*
    - char**
    - char*
    - idx_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 355
    functionName: get_4
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: char
    signature: "char *\nget_4 (struct base64_decode_context *ctx,\n       char const
      *restrict *in, char const *restrict in_end,\n       idx_t *n_non_newline)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isbase64
      Src: /src/gnulib/lib/base64.c:379,1
    - Dst: isbase64
      Src: /src/gnulib/lib/base64.c:379,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:384,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:385,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:401,1
    - Dst: isbase64
      Src: /src/gnulib/lib/base64.c:406,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:411,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:412,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:425,1
    - Dst: isbase64
      Src: /src/gnulib/lib/base64.c:430,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:435,1
    - Dst: to_uchar
      Src: /src/gnulib/lib/base64.c:436,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - in
    - inlen
    - outp
    - outleft
    argTypes:
    - char*
    - idx_t
    - char**
    - idx_t*
    constantsTouched: []
    func_position:
      end: 444
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 444
    functionName: decode_4
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 0
    functionsReached:
    - isbase64
    - to_uchar
    linkageType: ''
    returnType: bool
    signature: "bool decode_4 (char const *restrict in, idx_t inlen,\n          char
      *restrict *outp, idx_t *outleft)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_4
      Src: /src/gnulib/lib/base64.c:491,1
    - Dst: get_4
      Src: /src/gnulib/lib/base64.c:520,1
    - Dst: decode_4
      Src: /src/gnulib/lib/base64.c:532,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - ctx
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct base64_decode_context*
    - char*
    - idx_t
    - char*
    - idx_t*
    constantsTouched: []
    func_position:
      end: 542
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 542
    functionName: base64_decode_ctx
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 1
    functionsReached:
    - decode_4
    - get_4
    linkageType: ''
    returnType: bool
    signature: "bool base64_decode_ctx (struct base64_decode_context *ctx,\n                   const
      char *restrict in, idx_t inlen,\n                   char *restrict out, idx_t
      *outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: imalloc
      Src: /src/gnulib/lib/base64.c:567,1
    - Dst: base64_decode_ctx
      Src: /src/gnulib/lib/base64.c:571,1
    - Dst: free
      Src: /src/gnulib/lib/base64.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - struct base64_decode_context*
    - char*
    - idx_t
    - char**
    - idx_t*
    constantsTouched: []
    func_position:
      end: 582
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 582
    functionName: base64_decode_alloc_ctx
    functionSourceFile: /src/gnulib/lib/base64.c
    functionUses: 1
    functionsReached:
    - imalloc
    - free
    - base64_decode_ctx
    linkageType: ''
    returnType: bool
    signature: "bool base64_decode_alloc_ctx (struct base64_decode_context *ctx,\n
      \                        const char *in, idx_t inlen, char **out,\n                         idx_t
      *outlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/gnulib/lib/lchown.c:49,1
    - Dst: chown
      Src: /src/gnulib/lib/lchown.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - file
    - uid
    - gid
    argTypes:
    - char*
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: lchown
    functionSourceFile: /src/gnulib/lib/lchown.c
    functionUses: 2
    functionsReached:
    - readlink
    - chown
    linkageType: ''
    returnType: int
    signature: int lchown (const char *file, uid_t uid, gid_t gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/gnulib/lib/lchown.c:80,1
    - Dst: S_ISLNK
      Src: /src/gnulib/lib/lchown.c:83,1
    - Dst: chown
      Src: /src/gnulib/lib/lchown.c:84,1
    - Dst: chown
      Src: /src/gnulib/lib/lchown.c:93,1
    - Dst: lchown
      Src: /src/gnulib/lib/lchown.c:97,1
    - Dst: lchmod
      Src: /src/gnulib/lib/lchown.c:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - file
    - uid
    - gid
    argTypes:
    - char*
    - uid_t
    - gid_t
    constantsTouched: []
    func_position:
      end: 114
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 114
    functionName: rpl_lchown
    functionSourceFile: /src/gnulib/lib/lchown.c
    functionUses: 0
    functionsReached:
    - lchmod
    - lstat
    - chown
    - S_ISLNK
    - lchown
    linkageType: ''
    returnType: int
    signature: int rpl_lchown (const char *file, uid_t uid, gid_t gid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/gnulib/lib/vprintf.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: vprintf
    functionSourceFile: /src/gnulib/lib/vprintf.c
    functionUses: 13
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int vprintf (const char *format, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/listen.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/listen.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - backlog
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_listen
    functionSourceFile: /src/gnulib/lib/listen.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: int
    signature: int rpl_listen (int fd, int backlog)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_tls_key_init
      Src: /src/gnulib/lib/fstrcmp.c:69,1
    - Dst: gl_tls_key_init
      Src: /src/gnulib/lib/fstrcmp.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: keys_init
    functionSourceFile: /src/gnulib/lib/fstrcmp.c
    functionUses: 0
    functionsReached:
    - gl_tls_key_init
    linkageType: ''
    returnType: void
    signature: void keys_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_once
      Src: /src/gnulib/lib/fstrcmp.c:82,1
    - Dst: gl_tls_get
      Src: /src/gnulib/lib/fstrcmp.c:83,1
    - Dst: gl_tls_set
      Src: /src/gnulib/lib/fstrcmp.c:86,1
    - Dst: gl_tls_set
      Src: /src/gnulib/lib/fstrcmp.c:87,1
    - Dst: free
      Src: /src/gnulib/lib/fstrcmp.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: fstrcmp_free_resources
    functionSourceFile: /src/gnulib/lib/fstrcmp.c
    functionUses: 0
    functionsReached:
    - free
    - gl_tls_get
    - gl_once
    - gl_tls_set
    linkageType: ''
    returnType: void
    signature: void fstrcmp_free_resources (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/gnulib/lib/fstrcmp.c:118,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/fstrcmp.c:119,1
    - Dst: memset
      Src: /src/gnulib/lib/fstrcmp.c:174,1
    - Dst: gl_once
      Src: /src/gnulib/lib/fstrcmp.c:212,1
    - Dst: gl_tls_get
      Src: /src/gnulib/lib/fstrcmp.c:213,1
    - Dst: gl_tls_get
      Src: /src/gnulib/lib/fstrcmp.c:214,1
    - Dst: free
      Src: /src/gnulib/lib/fstrcmp.c:223,1
    - Dst: xnmalloc
      Src: /src/gnulib/lib/fstrcmp.c:224,1
    - Dst: gl_tls_set
      Src: /src/gnulib/lib/fstrcmp.c:225,1
    - Dst: gl_tls_set
      Src: /src/gnulib/lib/fstrcmp.c:226,1
    - Dst: compareseq
      Src: /src/gnulib/lib/fstrcmp.c:248,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - string1
    - string2
    - lower_bound
    argTypes:
    - char*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 264
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 264
    functionName: fstrcmp_bounded
    functionSourceFile: /src/gnulib/lib/fstrcmp.c
    functionUses: 0
    functionsReached:
    - gl_tls_set
    - free
    - xnmalloc
    - xalloc_die
    - memset
    - gl_once
    - MIN
    - compareseq
    - gl_tls_get
    linkageType: ''
    returnType: double
    signature: double fstrcmp_bounded (const char *string1, const char *string2, double
      lower_bound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __set_errno
      Src: /src/gnulib/lib/mkostemps.c:49,1
    - Dst: __gen_tempname
      Src: /src/gnulib/lib/mkostemps.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - xtemplate
    - suffixlen
    - flags
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: mkostemps
    functionSourceFile: /src/gnulib/lib/mkostemps.c
    functionUses: 0
    functionsReached:
    - __gen_tempname
    - __set_errno
    linkageType: ''
    returnType: int
    signature: int mkostemps (char *xtemplate, int suffixlen, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/asprintf.c:35,1
    - Dst: vasprintf
      Src: /src/gnulib/lib/asprintf.c:36,1
    - Dst: va_end
      Src: /src/gnulib/lib/asprintf.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - resultp
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: asprintf
    functionSourceFile: /src/gnulib/lib/asprintf.c
    functionUses: 39
    functionsReached:
    - va_start
    - vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int asprintf (char **resultp, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - attr
    - schedpolicy
    argTypes:
    - posix_spawnattr_t*
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: posix_spawnattr_setschedpolicy
    functionSourceFile: /src/gnulib/lib/spawnattr_setschedpolicy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int posix_spawnattr_setschedpolicy (posix_spawnattr_t *attr, int schedpolicy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbsrchr.c:47,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbsrchr.c:55,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbsrchr.c:55,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbsrchr.c:57,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbsrchr.c:58,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbsrchr.c:60,1
    - Dst: strrchr
      Src: /src/gnulib/lib/mbsrchr.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - string
    - c
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 68
    functionName: mbsrchr
    functionSourceFile: /src/gnulib/lib/mbsrchr.c
    functionUses: 0
    functionsReached:
    - mbuif_next
    - mcel_scanz
    - strrchr
    - mbuif_init
    - mb_len
    - mbuif_avail
    linkageType: ''
    returnType: char
    signature: 'char *

      mbsrchr (const char *string, int c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/setlocale-lock.c:74,1
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/setlocale-lock.c:77,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/setlocale-lock.c:83,1
    - Dst: Sleep
      Src: /src/gnulib/lib/setlocale-lock.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: gl_get_setlocale_null_lock
    functionSourceFile: /src/gnulib/lib/setlocale-lock.c
    functionUses: 3
    functionsReached:
    - Sleep
    - InitializeCriticalSection
    - InterlockedDecrement
    - InterlockedIncrement
    linkageType: ''
    returnType: CRITICAL_SECTION
    signature: 'CRITICAL_SECTION *

      gl_get_setlocale_null_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: gl_get_setlocale_null_lock
    functionSourceFile: /src/gnulib/lib/setlocale-lock.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: pthread_mutex_t
    signature: 'pthread_mutex_t *

      gl_get_setlocale_null_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/gnulib/lib/setlocale-lock.c:121,1
    - Dst: abort
      Src: /src/gnulib/lib/setlocale-lock.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: atomic_init
    functionSourceFile: /src/gnulib/lib/setlocale-lock.c
    functionUses: 2
    functionsReached:
    - abort
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void atomic_init (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/gnulib/lib/setlocale-lock.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: gl_get_setlocale_null_lock
    functionSourceFile: /src/gnulib/lib/setlocale-lock.c
    functionUses: 3
    functionsReached:
    - call_once
    linkageType: ''
    returnType: mtx_t
    signature: 'mtx_t *

      gl_get_setlocale_null_lock (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpwuid
      Src: /src/gnulib/lib/idcache.c:85,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/idcache.c:87,1
    - Dst: FLEXSIZEOF
      Src: /src/gnulib/lib/idcache.c:87,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:87,1
    - Dst: strcpy
      Src: /src/gnulib/lib/idcache.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: getuser
    functionSourceFile: /src/gnulib/lib/idcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - xmalloc
    - FLEXSIZEOF
    - getpwuid
    linkageType: ''
    returnType: char
    signature: 'char *

      getuser (uid_t uid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/idcache.c:112,1
    - Dst: strcmp
      Src: /src/gnulib/lib/idcache.c:117,1
    - Dst: getpwnam
      Src: /src/gnulib/lib/idcache.c:120,1
    - Dst: strspn
      Src: /src/gnulib/lib/idcache.c:124,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:124,1
    - Dst: setenv
      Src: /src/gnulib/lib/idcache.c:126,1
    - Dst: getpwnam
      Src: /src/gnulib/lib/idcache.c:127,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/idcache.c:131,1
    - Dst: FLEXSIZEOF
      Src: /src/gnulib/lib/idcache.c:131,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:131,1
    - Dst: strcpy
      Src: /src/gnulib/lib/idcache.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: getuidbyname
    functionSourceFile: /src/gnulib/lib/idcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - strspn
    - setenv
    - xmalloc
    - strcmp
    - FLEXSIZEOF
    - getpwnam
    linkageType: ''
    returnType: uid_t
    signature: 'uid_t *

      getuidbyname (const char *user)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getgrgid
      Src: /src/gnulib/lib/idcache.c:167,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/idcache.c:169,1
    - Dst: FLEXSIZEOF
      Src: /src/gnulib/lib/idcache.c:169,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:169,1
    - Dst: strcpy
      Src: /src/gnulib/lib/idcache.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - gid
    argTypes:
    - gid_t
    constantsTouched: []
    func_position:
      end: 179
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 179
    functionName: getgroup
    functionSourceFile: /src/gnulib/lib/idcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - xmalloc
    - getgrgid
    - FLEXSIZEOF
    linkageType: ''
    returnType: char
    signature: 'char *

      getgroup (gid_t gid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/idcache.c:194,1
    - Dst: strcmp
      Src: /src/gnulib/lib/idcache.c:199,1
    - Dst: getgrnam
      Src: /src/gnulib/lib/idcache.c:202,1
    - Dst: strspn
      Src: /src/gnulib/lib/idcache.c:206,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:206,1
    - Dst: setenv
      Src: /src/gnulib/lib/idcache.c:208,1
    - Dst: getgrnam
      Src: /src/gnulib/lib/idcache.c:209,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/idcache.c:213,1
    - Dst: FLEXSIZEOF
      Src: /src/gnulib/lib/idcache.c:213,1
    - Dst: strlen
      Src: /src/gnulib/lib/idcache.c:213,1
    - Dst: strcpy
      Src: /src/gnulib/lib/idcache.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - group
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 228
    functionName: getgidbyname
    functionSourceFile: /src/gnulib/lib/idcache.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - strspn
    - setenv
    - xmalloc
    - getgrnam
    - strcmp
    - FLEXSIZEOF
    linkageType: ''
    returnType: gid_t
    signature: 'gid_t *

      getgidbyname (const char *group)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:71,1
    - Dst: strstr
      Src: /src/gnulib/lib/csharpcomp.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dirent*
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: name_is_dll
    functionSourceFile: /src/gnulib/lib/csharpcomp.c
    functionUses: 0
    functionsReached:
    - strstr
    - memcmp
    linkageType: ''
    returnType: int
    signature: int name_is_dll (const struct dirent *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:110,1
    - Dst: safe_read
      Src: /src/gnulib/lib/csharpcomp.c:120,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:125,1
    - Dst: close
      Src: /src/gnulib/lib/csharpcomp.c:132,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/csharpcomp.c:137,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:162,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:170,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:171,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:177,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:178,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:184,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:185,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:185,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:186,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:186,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:194,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:195,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:195,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:200,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:201,1
    - Dst: abort
      Src: /src/gnulib/lib/csharpcomp.c:210,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpcomp.c:215,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:216,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:219,1
    - Dst: fdopen
      Src: /src/gnulib/lib/csharpcomp.c:224,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:226,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:226,1
    - Dst: getline
      Src: /src/gnulib/lib/csharpcomp.c:232,1
    - Dst: fwrite
      Src: /src/gnulib/lib/csharpcomp.c:237,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:242,1
    - Dst: fwrite
      Src: /src/gnulib/lib/csharpcomp.c:243,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:245,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:247,1
    - Dst: fclose
      Src: /src/gnulib/lib/csharpcomp.c:248,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/csharpcomp.c:252,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:258,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:261,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:262,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 11
    argNames:
    - sources
    - sources_count
    - libdirs
    - libdirs_count
    - libraries
    - libraries_count
    - output_file
    - output_is_library
    - optimize
    - debug
    - verbose
    argTypes:
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 268
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 268
    functionName: compile_csharp_using_mono
    functionSourceFile: /src/gnulib/lib/csharpcomp.c
    functionUses: 0
    functionsReached:
    - safe_read
    - printf
    - xmalloca
    - fclose
    - strcpy
    - free
    - close
    - memcmp
    - getline
    - error
    - strlen
    - freea
    - _
    - abort
    - create_pipe_in
    - fwrite
    - wait_subprocess
    - memcpy
    - fdopen
    linkageType: ''
    returnType: int
    signature: "int compile_csharp_using_mono (const char * const *sources,\n                           unsigned
      int sources_count,\n                           const char * const *libdirs,\n
      \                          unsigned int libdirs_count,\n                           const
      char * const *libraries,\n                           unsigned int libraries_count,\n
      \                          const char *output_file, bool output_is_library,\n
      \                          bool optimize, bool debug,\n                           bool
      verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/gnulib/lib/csharpcomp.c:296,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:309,1
    - Dst: close
      Src: /src/gnulib/lib/csharpcomp.c:327,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/csharpcomp.c:332,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:363,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:367,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:367,1
    - Dst: fdopen
      Src: /src/gnulib/lib/csharpcomp.c:373,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:375,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:375,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:385,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:385,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:402,1
    - Dst: xasprintf
      Src: /src/gnulib/lib/csharpcomp.c:415,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:422,1
    - Dst: getc
      Src: /src/gnulib/lib/csharpcomp.c:426,1
    - Dst: fclose
      Src: /src/gnulib/lib/csharpcomp.c:429,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:437,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:437,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:455,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:459,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:459,1
    - Dst: fdopen
      Src: /src/gnulib/lib/csharpcomp.c:465,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:467,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:467,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:477,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:477,1
    - Dst: xasprintf
      Src: /src/gnulib/lib/csharpcomp.c:503,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:509,1
    - Dst: getc
      Src: /src/gnulib/lib/csharpcomp.c:513,1
    - Dst: fclose
      Src: /src/gnulib/lib/csharpcomp.c:516,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:524,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:524,1
    - Dst: scandir
      Src: /src/gnulib/lib/csharpcomp.c:548,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/csharpcomp.c:550,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/csharpcomp.c:558,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/csharpcomp.c:559,1
    - Dst: xconcatenated_filename
      Src: /src/gnulib/lib/csharpcomp.c:560,1
    - Dst: cygpath_w
      Src: /src/gnulib/lib/csharpcomp.c:561,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:567,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:573,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:584,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:585,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:594,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:595,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:601,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:602,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:602,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:603,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:603,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:615,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:616,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:617,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:623,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:624,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:638,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:639,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:645,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:646,1
    - Dst: abort
      Src: /src/gnulib/lib/csharpcomp.c:652,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpcomp.c:657,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:658,1
    - Dst: execute
      Src: /src/gnulib/lib/csharpcomp.c:661,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:666,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:668,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:670,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:671,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:672,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:673,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:674,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:675,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:676,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:678,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:679,1
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:701,1
    - Dst: safe_read
      Src: /src/gnulib/lib/csharpcomp.c:713,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:720,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:725,1
    - Dst: close
      Src: /src/gnulib/lib/csharpcomp.c:733,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/csharpcomp.c:738,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:760,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:766,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:776,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:777,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:786,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:787,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:793,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:794,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:794,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:795,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:795,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:807,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:808,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:809,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:815,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:816,1
    - Dst: abort
      Src: /src/gnulib/lib/csharpcomp.c:826,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpcomp.c:831,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:832,1
    - Dst: execute
      Src: /src/gnulib/lib/csharpcomp.c:835,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:840,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:842,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:843,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:844,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 297
    argCount: 11
    argNames:
    - sources
    - sources_count
    - libdirs
    - libdirs_count
    - libraries
    - libraries_count
    - output_file
    - output_is_library
    - optimize
    - debug
    - verbose
    argTypes:
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 851
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 851
    functionName: compile_csharp_using_dotnet
    functionSourceFile: /src/gnulib/lib/csharpcomp.c
    functionUses: 0
    functionsReached:
    - scandir
    - safe_read
    - printf
    - xmalloca
    - xasprintf
    - cygpath_w
    - fclose
    - strcpy
    - free
    - close
    - memcmp
    - error
    - strlen
    - xconcatenated_filename
    - freea
    - _
    - execute
    - abort
    - create_pipe_in
    - wait_subprocess
    - xalloc_die
    - getc
    - memcpy
    - fdopen
    linkageType: ''
    returnType: int
    signature: "int compile_csharp_using_dotnet (const char * const *sources,\n                             unsigned
      int sources_count,\n                             const char * const *libdirs,\n
      \                            unsigned int libdirs_count,\n                             const
      char * const *libraries,\n                             unsigned int libraries_count,\n
      \                            const char *output_file, bool output_is_library,\n
      \                            bool optimize, bool debug,\n                             bool
      verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pipe_in
      Src: /src/gnulib/lib/csharpcomp.c:880,1
    - Dst: safe_read
      Src: /src/gnulib/lib/csharpcomp.c:891,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:898,1
    - Dst: close
      Src: /src/gnulib/lib/csharpcomp.c:906,1
    - Dst: wait_subprocess
      Src: /src/gnulib/lib/csharpcomp.c:911,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:932,1
    - Dst: xmalloca
      Src: /src/gnulib/lib/csharpcomp.c:938,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:948,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:949,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:958,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:959,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:965,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:966,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:966,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:967,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:967,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:979,1
    - Dst: memcmp
      Src: /src/gnulib/lib/csharpcomp.c:980,1
    - Dst: strlen
      Src: /src/gnulib/lib/csharpcomp.c:981,1
    - Dst: memcpy
      Src: /src/gnulib/lib/csharpcomp.c:987,1
    - Dst: strcpy
      Src: /src/gnulib/lib/csharpcomp.c:988,1
    - Dst: abort
      Src: /src/gnulib/lib/csharpcomp.c:998,1
    - Dst: printf
      Src: /src/gnulib/lib/csharpcomp.c:1003,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:1004,1
    - Dst: execute
      Src: /src/gnulib/lib/csharpcomp.c:1007,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:1012,1
    - Dst: free
      Src: /src/gnulib/lib/csharpcomp.c:1014,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:1015,1
    - Dst: freea
      Src: /src/gnulib/lib/csharpcomp.c:1016,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 11
    argNames:
    - sources
    - sources_count
    - libdirs
    - libdirs_count
    - libraries
    - libraries_count
    - output_file
    - output_is_library
    - optimize
    - debug
    - verbose
    argTypes:
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1022
      start: 853
    functionDepth: 5
    functionLinenumber: 853
    functionLinenumberEnd: 1022
    functionName: compile_csharp_using_sscli
    functionSourceFile: /src/gnulib/lib/csharpcomp.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    - create_pipe_in
    - strcpy
    - free
    - wait_subprocess
    - close
    - memcmp
    - safe_read
    - freea
    - memcpy
    - printf
    - execute
    - xmalloca
    linkageType: ''
    returnType: int
    signature: "int compile_csharp_using_sscli (const char * const *sources,\n                            unsigned
      int sources_count,\n                            const char * const *libdirs,\n
      \                           unsigned int libdirs_count,\n                            const
      char * const *libraries,\n                            unsigned int libraries_count,\n
      \                           const char *output_file, bool output_is_library,\n
      \                           bool optimize, bool debug,\n                            bool
      verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compile_csharp_using_mono
      Src: /src/gnulib/lib/csharpcomp.c:1042,1
    - Dst: compile_csharp_using_dotnet
      Src: /src/gnulib/lib/csharpcomp.c:1051,1
    - Dst: compile_csharp_using_mono
      Src: /src/gnulib/lib/csharpcomp.c:1062,1
    - Dst: compile_csharp_using_dotnet
      Src: /src/gnulib/lib/csharpcomp.c:1072,1
    - Dst: compile_csharp_using_sscli
      Src: /src/gnulib/lib/csharpcomp.c:1081,1
    - Dst: error
      Src: /src/gnulib/lib/csharpcomp.c:1089,1
    - Dst: _
      Src: /src/gnulib/lib/csharpcomp.c:1089,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 10
    argNames:
    - sources
    - sources_count
    - libdirs
    - libdirs_count
    - libraries
    - libraries_count
    - output_file
    - optimize
    - debug
    - verbose
    argTypes:
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char**
    - unsigned int
    - char*
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1091
      start: 1024
    functionDepth: 6
    functionLinenumber: 1024
    functionLinenumberEnd: 1091
    functionName: compile_csharp_class
    functionSourceFile: /src/gnulib/lib/csharpcomp.c
    functionUses: 0
    functionsReached:
    - compile_csharp_using_dotnet
    - compile_csharp_using_mono
    - compile_csharp_using_sscli
    - error
    - _
    linkageType: ''
    returnType: bool
    signature: "bool compile_csharp_class (const char * const *sources,\n                      unsigned
      int sources_count,\n                      const char * const *libdirs,\n                      unsigned
      int libdirs_count,\n                      const char * const *libraries,\n                      unsigned
      int libraries_count,\n                      const char *output_file,\n                      bool
      optimize, bool debug,\n                      bool verbose)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/gnulib/lib/get-rusage-data.c:176,1
    - Dst: str_endswith
      Src: /src/gnulib/lib/get-rusage-data.c:177,1
    - Dst: str_endswith
      Src: /src/gnulib/lib/get-rusage-data.c:178,1
    - Dst: getrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:184,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:227,1
    - Dst: sbrk
      Src: /src/gnulib/lib/get-rusage-data.c:236,1
    - Dst: errno_expected
      Src: /src/gnulib/lib/get-rusage-data.c:252,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-data.c:253,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:271,1
    - Dst: sbrk
      Src: /src/gnulib/lib/get-rusage-data.c:280,1
    - Dst: errno_expected
      Src: /src/gnulib/lib/get-rusage-data.c:295,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-data.c:296,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:308,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-data.c:309,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 312
    functionName: get_rusage_data_via_setrlimit
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - abort
    - setrlimit
    - uname
    - sbrk
    - errno_expected
    - str_endswith
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_data_via_setrlimit (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: get_rusage_data_via_setrlimit
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_data_via_setrlimit (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - start
    - end
    - flags
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: vma_iterate_callback
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int vma_iterate_callback (void *data, uintptr_t start, uintptr_t end,\n
      \                     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-data.c:363,1
    - Dst: sbrk
      Src: /src/gnulib/lib/get-rusage-data.c:370,1
    - Dst: vma_iterate
      Src: /src/gnulib/lib/get-rusage-data.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 384
    functionName: get_rusage_data_via_iterator
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 0
    functionsReached:
    - sbrk
    - malloc
    - vma_iterate
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED get_rusage_data_via_iterator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: get_rusage_data_via_iterator
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_data_via_iterator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:414,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:418,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:424,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:426,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 432
    functionName: get_rusage_data
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 1
    functionsReached:
    - get_rusage_data_via_setrlimit
    - get_rusage_data_via_iterator
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_data (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-data.c:442,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:443,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:443,1
    - Dst: get_rusage_data
      Src: /src/gnulib/lib/get-rusage-data.c:444,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-data.c:445,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-data.c:446,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:447,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:447,1
    - Dst: get_rusage_data
      Src: /src/gnulib/lib/get-rusage-data.c:448,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-data.c:449,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-data.c:450,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:451,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:451,1
    - Dst: get_rusage_data
      Src: /src/gnulib/lib/get-rusage-data.c:452,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-data.c:453,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-data.c:454,1
    - Dst: get_rusage_data_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-data.c:455,1
    - Dst: get_rusage_data_via_iterator
      Src: /src/gnulib/lib/get-rusage-data.c:455,1
    - Dst: get_rusage_data
      Src: /src/gnulib/lib/get-rusage-data.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 458
    functionName: main
    functionSourceFile: /src/gnulib/lib/get-rusage-data.c
    functionUses: 12
    functionsReached:
    - get_rusage_data_via_setrlimit
    - get_rusage_data_via_iterator
    - get_rusage_data
    - printf
    - malloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/getsockname.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/getsockname.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_getsockname
    functionSourceFile: /src/gnulib/lib/getsockname.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: int
    signature: int rpl_getsockname (int fd, struct sockaddr *addr, socklen_t *addrlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/gnulib/lib/userspec.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: is_number
    functionSourceFile: /src/gnulib/lib/userspec.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    linkageType: ''
    returnType: bool
    signature: bool is_number (const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xstrdup
      Src: /src/gnulib/lib/userspec.c:128,1
    - Dst: ximemdup
      Src: /src/gnulib/lib/userspec.c:135,1
    - Dst: is_number
      Src: /src/gnulib/lib/userspec.c:147,1
    - Dst: setenv
      Src: /src/gnulib/lib/userspec.c:148,1
    - Dst: is_number
      Src: /src/gnulib/lib/userspec.c:149,1
    - Dst: setenv
      Src: /src/gnulib/lib/userspec.c:150,1
    - Dst: getpwnam
      Src: /src/gnulib/lib/userspec.c:156,1
    - Dst: N_
      Src: /src/gnulib/lib/userspec.c:165,1
    - Dst: xstrtoul
      Src: /src/gnulib/lib/userspec.c:170,1
    - Dst: N_
      Src: /src/gnulib/lib/userspec.c:174,1
    - Dst: getgrgid
      Src: /src/gnulib/lib/userspec.c:186,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/userspec.c:187,1
    - Dst: umaxtostr
      Src: /src/gnulib/lib/userspec.c:187,1
    - Dst: endgrent
      Src: /src/gnulib/lib/userspec.c:188,1
    - Dst: endpwent
      Src: /src/gnulib/lib/userspec.c:191,1
    - Dst: getgrnam
      Src: /src/gnulib/lib/userspec.c:198,1
    - Dst: xstrtoul
      Src: /src/gnulib/lib/userspec.c:203,1
    - Dst: N_
      Src: /src/gnulib/lib/userspec.c:207,1
    - Dst: endgrent
      Src: /src/gnulib/lib/userspec.c:211,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/userspec.c:212,1
    - Dst: free
      Src: /src/gnulib/lib/userspec.c:232,1
    - Dst: free
      Src: /src/gnulib/lib/userspec.c:233,1
    - Dst: _
      Src: /src/gnulib/lib/userspec.c:234,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 6
    argNames:
    - spec
    - separator
    - uid
    - gid
    - username
    - groupname
    argTypes:
    - char*
    - char*
    - uid_t*
    - gid_t*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 235
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 235
    functionName: parse_with_separator
    functionSourceFile: /src/gnulib/lib/userspec.c
    functionUses: 0
    functionsReached:
    - is_number
    - N_
    - endpwent
    - free
    - _
    - xstrdup
    - setenv
    - ximemdup
    - getgrgid
    - endgrent
    - getgrnam
    - umaxtostr
    - xstrtoul
    - getpwnam
    linkageType: ''
    returnType: char
    signature: "char *\nparse_with_separator (char const *spec, char const *separator,\n
      \                     uid_t *uid, gid_t *gid,\n                      char **username,
      char **groupname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_with_separator
      Src: /src/gnulib/lib/userspec.c:276,1
    - Dst: N_
      Src: /src/gnulib/lib/userspec.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - spec
    - uid
    - gid
    - username
    - groupname
    - pwarn
    argTypes:
    - char*
    - uid_t*
    - gid_t*
    - char**
    - char**
    - bool*
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: parse_user_spec_warn
    functionSourceFile: /src/gnulib/lib/userspec.c
    functionUses: 1
    functionsReached:
    - N_
    - parse_with_separator
    linkageType: ''
    returnType: char
    signature: "char *\nparse_user_spec_warn (char const *spec, uid_t *uid, gid_t
      *gid,\n                      char **username, char **groupname, bool *pwarn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_user_spec_warn
      Src: /src/gnulib/lib/userspec.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - spec
    - uid
    - gid
    - username
    - groupname
    argTypes:
    - char*
    - uid_t*
    - gid_t*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: parse_user_spec
    functionSourceFile: /src/gnulib/lib/userspec.c
    functionUses: 0
    functionsReached:
    - parse_user_spec_warn
    linkageType: ''
    returnType: char
    signature: "char *\nparse_user_spec (char const *spec, uid_t *uid, gid_t *gid,\n
      \                char **username, char **groupname)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/gnulib/lib/userspec.c:314,1
    - Dst: parse_user_spec
      Src: /src/gnulib/lib/userspec.c:315,1
    - Dst: free
      Src: /src/gnulib/lib/userspec.c:316,1
    - Dst: printf
      Src: /src/gnulib/lib/userspec.c:317,1
    - Dst: NULL_CHECK
      Src: /src/gnulib/lib/userspec.c:321,1
    - Dst: NULL_CHECK
      Src: /src/gnulib/lib/userspec.c:322,1
    - Dst: NULL_CHECK
      Src: /src/gnulib/lib/userspec.c:323,1
    - Dst: exit
      Src: /src/gnulib/lib/userspec.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: main
    functionSourceFile: /src/gnulib/lib/userspec.c
    functionUses: 12
    functionsReached:
    - strdup
    - NULL_CHECK
    - exit
    - free
    - parse_user_spec
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:185,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:234,1
    - Dst: munmap
      Src: /src/gnulib/lib/get-rusage-as.c:244,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-as.c:245,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-as.c:262,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:280,1
    - Dst: munmap
      Src: /src/gnulib/lib/get-rusage-as.c:290,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-as.c:291,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-as.c:307,1
    - Dst: setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:319,1
    - Dst: abort
      Src: /src/gnulib/lib/get-rusage-as.c:320,1
    - Dst: close
      Src: /src/gnulib/lib/get-rusage-as.c:324,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 327
    functionName: get_rusage_as_via_setrlimit
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - abort
    - setrlimit
    - munmap
    - close
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_as_via_setrlimit (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: get_rusage_as_via_setrlimit
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_as_via_setrlimit (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - start
    - end
    - flags
    argTypes:
    - void*
    - uintptr_t
    - uintptr_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: vma_iterate_callback
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int vma_iterate_callback (void *data, uintptr_t start, uintptr_t end,\n
      \                     unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_iterate
      Src: /src/gnulib/lib/get-rusage-as.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: get_rusage_as_via_iterator
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 0
    functionsReached:
    - vma_iterate
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_as_via_iterator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: get_rusage_as_via_iterator
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_as_via_iterator (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:379,1
    - Dst: get_rusage_as_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:385,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:387,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 392
    functionName: get_rusage_as
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 3
    functionsReached:
    - get_rusage_as_via_setrlimit
    - get_rusage_as_via_iterator
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_rusage_as (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-as.c:402,1
    - Dst: get_rusage_as_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:403,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:403,1
    - Dst: get_rusage_as
      Src: /src/gnulib/lib/get-rusage-as.c:404,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-as.c:405,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-as.c:406,1
    - Dst: get_rusage_as_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:407,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:407,1
    - Dst: get_rusage_as
      Src: /src/gnulib/lib/get-rusage-as.c:408,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-as.c:409,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-as.c:410,1
    - Dst: get_rusage_as_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:411,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:411,1
    - Dst: get_rusage_as
      Src: /src/gnulib/lib/get-rusage-as.c:412,1
    - Dst: malloc
      Src: /src/gnulib/lib/get-rusage-as.c:413,1
    - Dst: printf
      Src: /src/gnulib/lib/get-rusage-as.c:414,1
    - Dst: get_rusage_as_via_setrlimit
      Src: /src/gnulib/lib/get-rusage-as.c:415,1
    - Dst: get_rusage_as_via_iterator
      Src: /src/gnulib/lib/get-rusage-as.c:415,1
    - Dst: get_rusage_as
      Src: /src/gnulib/lib/get-rusage-as.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 418
    functionName: main
    functionSourceFile: /src/gnulib/lib/get-rusage-as.c
    functionUses: 12
    functionsReached:
    - get_rusage_as_via_iterator
    - get_rusage_as
    - get_rusage_as_via_setrlimit
    - printf
    - malloc
    linkageType: ''
    returnType: int
    signature: int main ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/exclude.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ex
    - buf
    argTypes:
    - struct exclude*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: exclude_add_pattern_buffer
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - xmalloc
    linkageType: ''
    returnType: void
    signature: void exclude_add_pattern_buffer (struct exclude *ex, char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - str
    - options
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: fnmatch_pattern_has_wildcards
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fnmatch_pattern_has_wildcards (const char *str, int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: unescape_pattern
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unescape_pattern (char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xzalloc
      Src: /src/gnulib/lib/exclude.c:195,1
    - Dst: new_exclude
      Src: /src/gnulib/lib/exclude.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: new_exclude
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 2
    functionsReached:
    - xzalloc
    - new_exclude
    linkageType: ''
    returnType: struct exclude
    signature: 'struct exclude *

      new_exclude (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_string
      Src: /src/gnulib/lib/exclude.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n_buckets
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: string_hasher
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - hash_string
    linkageType: ''
    returnType: size_t
    signature: size_t string_hasher (void const *data, size_t n_buckets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/exclude.c:215,1
    - Dst: c32tolower
      Src: /src/gnulib/lib/exclude.c:216,1
    - Dst: mbui_init
      Src: /src/gnulib/lib/exclude.c:222,1
    - Dst: mbui_avail
      Src: /src/gnulib/lib/exclude.c:222,1
    - Dst: mbui_advance
      Src: /src/gnulib/lib/exclude.c:222,1
    - Dst: mbui_cur
      Src: /src/gnulib/lib/exclude.c:224,1
    - Dst: c32tolower
      Src: /src/gnulib/lib/exclude.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - n_buckets
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 237
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 237
    functionName: string_hasher_ci
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - mbui_advance
    - c32tolower
    - mcel_scanz
    - mbui_init
    - mbui_avail
    - mbui_cur
    linkageType: ''
    returnType: size_t
    signature: size_t string_hasher_ci (void const *data, size_t n_buckets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/exclude.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data1
    - data2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: string_compare
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool string_compare (void const *data1, void const *data2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbscasecmp
      Src: /src/gnulib/lib/exclude.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data1
    - data2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: string_compare_ci
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - mbscasecmp
    linkageType: ''
    returnType: bool
    signature: bool string_compare_ci (void const *data1, void const *data2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/exclude.c:258,1
    - Dst: hash_initialize
      Src: /src/gnulib/lib/exclude.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ex
    - type
    - options
    argTypes:
    - struct exclude*
    - enum exclude_type
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 280
    functionName: new_exclude_segment
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - hash_initialize
    linkageType: ''
    returnType: void
    signature: void new_exclude_segment (struct exclude *ex, enum exclude_type type,
      int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/gnulib/lib/exclude.c:291,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:292,1
    - Dst: hash_free
      Src: /src/gnulib/lib/exclude.c:296,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - seg
    argTypes:
    - struct exclude_segment*
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: free_exclude_segment
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - free
    - regfree
    - hash_free
    linkageType: ''
    returnType: void
    signature: void free_exclude_segment (struct exclude_segment *seg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_exclude_segment
      Src: /src/gnulib/lib/exclude.c:309,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:316,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:317,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ex
    argTypes:
    - struct exclude*
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: free_exclude
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 1
    functionsReached:
    - free
    - free_exclude_segment
    linkageType: ''
    returnType: void
    signature: void free_exclude (struct exclude *ex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbscasecmp
      Src: /src/gnulib/lib/exclude.c:332,1
    - Dst: strcmp
      Src: /src/gnulib/lib/exclude.c:333,1
    - Dst: strlen
      Src: /src/gnulib/lib/exclude.c:336,1
    - Dst: strchr
      Src: /src/gnulib/lib/exclude.c:359,1
    - Dst: mbscasecmp
      Src: /src/gnulib/lib/exclude.c:362,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pattern
    - f
    - options
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 369
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 369
    functionName: fnmatch_no_wildcards
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - strlen
    - free
    - strchr
    - strcmp
    - mbscasecmp
    linkageType: ''
    returnType: int
    signature: int fnmatch_no_wildcards (char const *pattern, char const *f, int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matcher
      Src: /src/gnulib/lib/exclude.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pattern
    - f
    - options
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 386
    functionName: exclude_fnmatch
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - matcher
    linkageType: ''
    returnType: bool
    signature: bool exclude_fnmatch (char const *pattern, char const *f, int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/gnulib/lib/exclude.c:394,1
    - Dst: exclude_fnmatch
      Src: /src/gnulib/lib/exclude.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opts
    - f
    argTypes:
    - struct patopts*
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: exclude_patopts
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - regexec
    - exclude_fnmatch
    linkageType: ''
    returnType: bool
    signature: bool exclude_patopts (struct patopts const *opts, char const *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exclude_patopts
      Src: /src/gnulib/lib/exclude.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - seg
    - f
    argTypes:
    - struct exclude_segment*
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: file_pattern_matches
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - exclude_patopts
    linkageType: ''
    returnType: bool
    signature: bool file_pattern_matches (struct exclude_segment const *seg, char
      const *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/gnulib/lib/exclude.c:425,1
    - Dst: hash_lookup
      Src: /src/gnulib/lib/exclude.c:429,1
    - Dst: strchr
      Src: /src/gnulib/lib/exclude.c:445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - seg
    - f
    - buffer
    argTypes:
    - struct exclude_segment*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 455
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 455
    functionName: file_name_matches
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - strchr
    - hash_lookup
    - strcpy
    linkageType: ''
    returnType: bool
    signature: "bool file_name_matches (struct exclude_segment const *seg, char const
      *f,\n                   char *buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/gnulib/lib/exclude.c:478,1
    - Dst: strlen
      Src: /src/gnulib/lib/exclude.c:478,1
    - Dst: file_name_matches
      Src: /src/gnulib/lib/exclude.c:479,1
    - Dst: file_pattern_matches
      Src: /src/gnulib/lib/exclude.c:484,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:501,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - ex
    - f
    argTypes:
    - struct exclude*
    - char*
    constantsTouched: []
    func_position:
      end: 503
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 503
    functionName: excluded_file_name
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 1
    functionsReached:
    - file_pattern_matches
    - strlen
    - free
    - xmalloc
    - file_name_matches
    linkageType: ''
    returnType: bool
    signature: bool excluded_file_name (struct exclude const *ex, char const *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fnmatch_pattern_has_wildcards
      Src: /src/gnulib/lib/exclude.c:511,1
    - Dst: new_exclude_segment
      Src: /src/gnulib/lib/exclude.c:516,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/exclude.c:520,1
    - Dst: regcomp
      Src: /src/gnulib/lib/exclude.c:532,1
    - Dst: strlen
      Src: /src/gnulib/lib/exclude.c:534,1
    - Dst: ISSLASH
      Src: /src/gnulib/lib/exclude.c:541,1
    - Dst: memcpy
      Src: /src/gnulib/lib/exclude.c:545,1
    - Dst: strcpy
      Src: /src/gnulib/lib/exclude.c:546,1
    - Dst: regcomp
      Src: /src/gnulib/lib/exclude.c:547,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:548,1
    - Dst: exclude_add_pattern_buffer
      Src: /src/gnulib/lib/exclude.c:565,1
    - Dst: new_exclude_segment
      Src: /src/gnulib/lib/exclude.c:577,1
    - Dst: unescape_pattern
      Src: /src/gnulib/lib/exclude.c:581,1
    - Dst: hash_insert
      Src: /src/gnulib/lib/exclude.c:582,1
    - Dst: free
      Src: /src/gnulib/lib/exclude.c:583,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - ex
    - pattern
    - options
    argTypes:
    - struct exclude*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 585
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 585
    functionName: add_exclude
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - fnmatch_pattern_has_wildcards
    - strlen
    - ISSLASH
    - strcpy
    - free
    - unescape_pattern
    - new_exclude_segment
    - exclude_add_pattern_buffer
    - hash_insert
    - memcpy
    - xpalloc
    - regcomp
    linkageType: ''
    returnType: void
    signature: void add_exclude (struct exclude *ex, char const *pattern, int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/gnulib/lib/exclude.c:601,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/exclude.c:604,1
    - Dst: xirealloc
      Src: /src/gnulib/lib/exclude.c:610,1
    - Dst: exclude_add_pattern_buffer
      Src: /src/gnulib/lib/exclude.c:615,1
    - Dst: isspace
      Src: /src/gnulib/lib/exclude.c:624,1
    - Dst: isspace
      Src: /src/gnulib/lib/exclude.c:635,1
    - Dst: add_func
      Src: /src/gnulib/lib/exclude.c:640,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - ex
    - fp
    - options
    - line_end
    - data
    argTypes:
    - struct exclude*
    - FILE*
    - int
    - char
    - void*
    constantsTouched: []
    func_position:
      end: 648
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 648
    functionName: add_exclude_fp
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached:
    - xirealloc
    - isspace
    - add_func
    - getc
    - exclude_add_pattern_buffer
    - xpalloc
    linkageType: ''
    returnType: int
    signature: "int add_exclude_fp (void (*add_func) (struct exclude *, char const
      *, int, void *),\n                struct exclude *ex, FILE *fp, int options,\n
      \               char line_end, void *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ex
    - pattern
    - options
    - data
    argTypes:
    - struct exclude*
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: call_addfn
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void call_addfn (struct exclude *ex, char const *pattern, int options,
      void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/exclude.c:662,1
    - Dst: add_exclude_fp
      Src: /src/gnulib/lib/exclude.c:663,1
    - Dst: fopen
      Src: /src/gnulib/lib/exclude.c:665,1
    - Dst: fclose
      Src: /src/gnulib/lib/exclude.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ex
    - file_name
    - options
    - line_end
    argTypes:
    - struct exclude*
    - char*
    - int
    - char
    constantsTouched: []
    func_position:
      end: 674
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 674
    functionName: add_exclude_file
    functionSourceFile: /src/gnulib/lib/exclude.c
    functionUses: 1
    functionsReached:
    - fopen
    - fclose
    - add_exclude_fp
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int add_exclude_file (void (*add_func) (struct exclude *, char const
      *, int),\n                  struct exclude *ex, char const *file_name, int options,\n
      \                 char line_end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: S_TYPEISSHM
      Src: /src/gnulib/lib/same-inode.h:88,1
    - Dst: S_TYPEISTMO
      Src: /src/gnulib/lib/same-inode.h:88,1
    - Dst: S_TYPEISSHM
      Src: /src/gnulib/lib/same-inode.h:89,1
    - Dst: S_TYPEISTMO
      Src: /src/gnulib/lib/same-inode.h:89,1
    - Dst: PSAME_INODE
      Src: /src/gnulib/lib/same-inode.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct stat*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: psame_inode
    functionSourceFile: /src/gnulib/lib/same-inode.h
    functionUses: 5
    functionsReached:
    - PSAME_INODE
    - S_TYPEISSHM
    - S_TYPEISTMO
    linkageType: ''
    returnType: SAME_INODE_INLINE
    signature: SAME_INODE_INLINE psame_inode (struct stat const *a, struct stat const
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_compile_internal
      Src: /src/gnulib/lib/regcomp.c:217,1
    - Dst: gettext
      Src: /src/gnulib/lib/regcomp.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pattern
    - length
    - bufp
    argTypes:
    - char*
    - size_t
    - struct re_pattern_buffer*
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: re_compile_pattern
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_compile_internal
    - gettext
    linkageType: ''
    returnType: char
    signature: "char *\nre_compile_pattern (const char *pattern, size_t length,\n\t\t
      \   struct re_pattern_buffer *bufp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - syntax
    argTypes:
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: re_set_syntax
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: reg_syntax_t
    signature: reg_syntax_t re_set_syntax (reg_syntax_t syntax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:256,1
    - Dst: re_compile_fastmap_iter
      Src: /src/gnulib/lib/regcomp.c:257,1
    - Dst: re_compile_fastmap_iter
      Src: /src/gnulib/lib/regcomp.c:259,1
    - Dst: re_compile_fastmap_iter
      Src: /src/gnulib/lib/regcomp.c:261,1
    - Dst: re_compile_fastmap_iter
      Src: /src/gnulib/lib/regcomp.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bufp
    argTypes:
    - struct re_pattern_buffer*
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: re_compile_fastmap
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_compile_fastmap_iter
    - memset
    linkageType: ''
    returnType: int
    signature: int re_compile_fastmap (struct re_pattern_buffer *bufp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnulib/lib/regcomp.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fastmap
    - icase
    - ch
    argTypes:
    - char*
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: re_set_fastmap
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: __always_inline
    signature: __always_inline re_set_fastmap (char *fastmap, bool icase, int ch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:294,1
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:308,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regcomp.c:309,1
    - Dst: __wcrtomb
      Src: /src/gnulib/lib/regcomp.c:311,1
    - Dst: __towlower
      Src: /src/gnulib/lib/regcomp.c:311,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:313,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:325,1
    - Dst: _NL_CURRENT_WORD
      Src: /src/gnulib/lib/regcomp.c:340,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:347,1
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:366,1
    - Dst: __mbrtowc
      Src: /src/gnulib/lib/regcomp.c:367,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:368,1
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:380,1
    - Dst: __wcrtomb
      Src: /src/gnulib/lib/regcomp.c:381,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:382,1
    - Dst: __wcrtomb
      Src: /src/gnulib/lib/regcomp.c:385,1
    - Dst: __towlower
      Src: /src/gnulib/lib/regcomp.c:385,1
    - Dst: re_set_fastmap
      Src: /src/gnulib/lib/regcomp.c:387,1
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:394,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 52
    argCount: 3
    argNames:
    - bufp
    - init_state
    - fastmap
    argTypes:
    - regex_t*
    - re_dfastate_t*
    - char*
    constantsTouched: []
    func_position:
      end: 400
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 400
    functionName: re_compile_fastmap_iter
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_set_fastmap
    - memset
    - __mbrtowc
    - __wcrtomb
    - __towlower
    - _NL_CURRENT_WORD
    linkageType: ''
    returnType: void
    signature: "void re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state,\n\t\t\t
      char *fastmap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:450,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:451,1
    - Dst: re_compile_internal
      Src: /src/gnulib/lib/regcomp.c:469,1
    - Dst: strlen
      Src: /src/gnulib/lib/regcomp.c:469,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:477,1
    - Dst: re_compile_fastmap
      Src: /src/gnulib/lib/regcomp.c:480,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - preg
    - pattern
    - cflags
    argTypes:
    - regex_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 489
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 489
    functionName: regcomp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 4
    functionsReached:
    - re_malloc
    - strlen
    - __glibc_likely
    - re_free
    - re_compile_internal
    - re_compile_fastmap
    - __glibc_unlikely
    linkageType: ''
    returnType: int
    signature: int regcomp (regex_t *__restrict preg, const char *__restrict pattern,
      int cflags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:504,1
    - Dst: abort
      Src: /src/gnulib/lib/regcomp.c:509,1
    - Dst: gettext
      Src: /src/gnulib/lib/regcomp.c:511,1
    - Dst: strlen
      Src: /src/gnulib/lib/regcomp.c:513,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:515,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:518,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regcomp.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - errcode
    - preg
    - errbuf
    - errbuf_size
    argTypes:
    - int
    - regex_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 527
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 527
    functionName: regerror
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - abort
    - strlen
    - __glibc_likely
    - __glibc_unlikely
    - memcpy
    - gettext
    linkageType: ''
    returnType: size_t
    signature: "size_t regerror (int errcode, const regex_t *__restrict preg, char
      *__restrict errbuf,\n\t  size_t errbuf_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:813,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:822,1
    - Dst: MIN
      Src: /src/gnulib/lib/regcomp.c:822,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:827,1
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:834,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:840,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:840,1
    - Dst: _NL_CURRENT_WORD
      Src: /src/gnulib/lib/regcomp.c:842,1
    - Dst: nl_langinfo
      Src: /src/gnulib/lib/regcomp.c:845,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:849,1
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:865,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:866,1
    - Dst: __btowc
      Src: /src/gnulib/lib/regcomp.c:873,1
    - Dst: isascii
      Src: /src/gnulib/lib/regcomp.c:877,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:884,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - dfa
    - pat_len
    argTypes:
    - re_dfa_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 887
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 887
    functionName: init_dfa
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_malloc
    - isascii
    - calloc
    - _NL_CURRENT
    - nl_langinfo
    - __glibc_unlikely
    - MIN
    - memset
    - strcmp
    - _NL_CURRENT_WORD
    - __btowc
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:900,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:925,1
    - Dst: memset
      Src: /src/gnulib/lib/regcomp.c:927,1
    - Dst: isalnum
      Src: /src/gnulib/lib/regcomp.c:935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - dfa
    argTypes:
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 937
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 937
    functionName: init_word_char
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - isalnum
    - __glibc_likely
    - memset
    linkageType: ''
    returnType: void
    signature: void init_word_char (re_dfa_t *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:949,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - preg
    argTypes:
    - regex_t*
    constantsTouched: []
    func_position:
      end: 956
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 956
    functionName: free_workarea_compile
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_free
    linkageType: ''
    returnType: void
    signature: void free_workarea_compile (regex_t *preg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_copy
      Src: /src/gnulib/lib/regcomp.c:971,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:972,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regcomp.c:1002,1
    - Dst: re_node_set_merge
      Src: /src/gnulib/lib/regcomp.c:1005,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regcomp.c:1016,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1018,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regcomp.c:1024,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regcomp.c:1026,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regcomp.c:1028,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regcomp.c:1037,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - dfa
    argTypes:
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 1039
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1039
    functionName: create_initial_state
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_node_set_merge
    - re_acquire_state_context
    - __glibc_unlikely
    - re_node_set_free
    - re_node_set_init_copy
    - re_node_set_contains
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t create_initial_state (re_dfa_t *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/regcomp.c:1102,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - dfa
    argTypes:
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1119
    functionName: optimize_utf8
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void optimize_utf8 (re_dfa_t *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1131,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1132,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1133,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1134,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1135,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1139,1
    - Dst: preorder
      Src: /src/gnulib/lib/regcomp.c:1145,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:1151,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:1156,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1157,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:1159,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1160,1
    - Dst: preorder
      Src: /src/gnulib/lib/regcomp.c:1162,1
    - Dst: preorder
      Src: /src/gnulib/lib/regcomp.c:1163,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1164,1
    - Dst: calc_eclosure
      Src: /src/gnulib/lib/regcomp.c:1166,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1167,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:1175,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1176,1
    - Dst: calc_inveclosure
      Src: /src/gnulib/lib/regcomp.c:1178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - preg
    argTypes:
    - regex_t*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1182
    functionName: analyze
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_malloc
    - calc_inveclosure
    - re_free
    - __glibc_unlikely
    - postorder
    - calc_eclosure
    - preorder
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t analyze (regex_t *preg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/gnulib/lib/regcomp.c:1205,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - root
    - extra
    argTypes:
    - bin_tree_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1217
    functionName: postorder
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - __glibc_unlikely
    - fn
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t postorder (bin_tree_t *root, reg_errcode_t (fn (void
      *, bin_tree_t *)),\n\t   void *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/gnulib/lib/regcomp.c:1227,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - root
    - extra
    argTypes:
    - bin_tree_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1247
    functionName: preorder
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - __glibc_unlikely
    - fn
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t preorder (bin_tree_t *root, reg_errcode_t (fn (void
      *, bin_tree_t *)),\n\t  void *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1279
    functionName: optimize_subexps
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lower_subexp
      Src: /src/gnulib/lib/regcomp.c:1291,1
    - Dst: lower_subexp
      Src: /src/gnulib/lib/regcomp.c:1297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1303
    functionName: lower_subexps
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - lower_subexp
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t lower_subexps (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:1325,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:1326,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:1327,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:1328,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - err
    - preg
    - node
    argTypes:
    - reg_errcode_t*
    - regex_t*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1339
    functionName: lower_subexp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - create_tree
    - __glibc_unlikely
    linkageType: ''
    returnType: bin_tree_t
    signature: 'bin_tree_t *

      lower_subexp (reg_errcode_t *err, regex_t *preg, bin_tree_t *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_dfa_add_node
      Src: /src/gnulib/lib/regcomp.c:1355,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1362
    functionName: calc_first
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_dfa_add_node
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t calc_first (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1385
    functionName: calc_next
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t calc_next (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1401,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1417,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1418,1
    - Dst: re_node_set_init_2
      Src: /src/gnulib/lib/regcomp.c:1419,1
    - Dst: re_node_set_init_1
      Src: /src/gnulib/lib/regcomp.c:1426,1
    - Dst: re_node_set_init_1
      Src: /src/gnulib/lib/regcomp.c:1432,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1436,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regcomp.c:1436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1442
    functionName: link_nfa_nodes
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - re_node_set_init_1
    - IS_EPSILON_NODE
    - re_node_set_init_2
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t link_nfa_nodes (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regcomp.c:1465,1
    - Dst: duplicate_node
      Src: /src/gnulib/lib/regcomp.c:1466,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1467,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1470,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1471,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regcomp.c:1487,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1492,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1493,1
    - Dst: duplicate_node
      Src: /src/gnulib/lib/regcomp.c:1499,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1500,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1502,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1503,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regcomp.c:1511,1
    - Dst: search_duplicated_node
      Src: /src/gnulib/lib/regcomp.c:1513,1
    - Dst: duplicate_node
      Src: /src/gnulib/lib/regcomp.c:1518,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1519,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1521,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1522,1
    - Dst: duplicate_node_closure
      Src: /src/gnulib/lib/regcomp.c:1524,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1526,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1533,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1534,1
    - Dst: duplicate_node
      Src: /src/gnulib/lib/regcomp.c:1539,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1540,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regcomp.c:1542,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1543,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 5
    argNames:
    - dfa
    - top_org_node
    - top_clone_node
    - root_node
    - init_constraint
    argTypes:
    - re_dfa_t*
    - Idx
    - Idx
    - Idx
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1550
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1550
    functionName: duplicate_node_closure
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - search_duplicated_node
    - re_node_set_empty
    - re_node_set_insert
    - __glibc_unlikely
    - duplicate_node_closure
    - duplicate_node
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node,
      Idx top_clone_node,\n\t\t\tIdx root_node, unsigned int init_constraint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - dfa
    - org_node
    - constraint
    argTypes:
    - re_dfa_t*
    - Idx
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1567
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1567
    functionName: search_duplicated_node
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Idx
    signature: "Idx search_duplicated_node (const re_dfa_t *dfa, Idx org_node,\n\t\t\tunsigned
      int constraint)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_dfa_add_node
      Src: /src/gnulib/lib/regcomp.c:1576,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:1577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dfa
    - org_idx
    - constraint
    argTypes:
    - re_dfa_t*
    - Idx
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1587
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1587
    functionName: duplicate_node
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - __glibc_likely
    - re_dfa_add_node
    linkageType: ''
    returnType: Idx
    signature: Idx duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regcomp.c:1595,1
    - Dst: re_node_set_insert_last
      Src: /src/gnulib/lib/regcomp.c:1602,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dfa
    argTypes:
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1609
    functionName: calc_inveclosure
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_node_set_insert_last
    - __glibc_unlikely
    - re_node_set_init_empty
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t calc_inveclosure (re_dfa_t *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1618,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:1633,1
    - Dst: calc_eclosure_iter
      Src: /src/gnulib/lib/regcomp.c:1639,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1640,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regcomp.c:1646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - dfa
    argTypes:
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1650
    functionName: calc_eclosure
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - calc_eclosure_iter
    - DEBUG_ASSERT
    - __glibc_unlikely
    - re_node_set_free
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t calc_eclosure (re_dfa_t *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_alloc
      Src: /src/gnulib/lib/regcomp.c:1661,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1662,1
    - Dst: duplicate_node_closure
      Src: /src/gnulib/lib/regcomp.c:1678,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:1683,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regcomp.c:1684,1
    - Dst: calc_eclosure_iter
      Src: /src/gnulib/lib/regcomp.c:1700,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1701,1
    - Dst: re_node_set_merge
      Src: /src/gnulib/lib/regcomp.c:1707,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:1708,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regcomp.c:1715,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regcomp.c:1720,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - new_set
    - dfa
    - node
    - root
    argTypes:
    - re_node_set*
    - re_dfa_t*
    - Idx
    - bool
    constantsTouched: []
    func_position:
      end: 1731
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1731
    functionName: calc_eclosure_iter
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 2
    functionsReached:
    - re_node_set_merge
    - __glibc_likely
    - re_node_set_alloc
    - calc_eclosure_iter
    - __glibc_unlikely
    - IS_EPSILON_NODE
    - re_node_set_free
    - duplicate_node_closure
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa,
      Idx node, bool root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:1741,1
    - Dst: peek_token
      Src: /src/gnulib/lib/regcomp.c:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - result
    - input
    - syntax
    argTypes:
    - re_token_t*
    - re_string_t*
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: fetch_token
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - peek_token
    - re_string_skip_bytes
    linkageType: ''
    returnType: void
    signature: void fetch_token (re_token_t *result, re_string_t *input, reg_syntax_t
      syntax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regcomp.c:1752,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:1758,1
    - Dst: re_string_first_byte
      Src: /src/gnulib/lib/regcomp.c:1764,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1764,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1773,1
    - Dst: re_string_length
      Src: /src/gnulib/lib/regcomp.c:1773,1
    - Dst: re_string_peek_byte_case
      Src: /src/gnulib/lib/regcomp.c:1779,1
    - Dst: re_string_wchar_at
      Src: /src/gnulib/lib/regcomp.c:1784,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1785,1
    - Dst: IS_WIDE_WORD_CHAR
      Src: /src/gnulib/lib/regcomp.c:1786,1
    - Dst: IS_WORD_CHAR
      Src: /src/gnulib/lib/regcomp.c:1789,1
    - Dst: re_string_wchar_at
      Src: /src/gnulib/lib/regcomp.c:1896,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1896,1
    - Dst: IS_WIDE_WORD_CHAR
      Src: /src/gnulib/lib/regcomp.c:1897,1
    - Dst: IS_WORD_CHAR
      Src: /src/gnulib/lib/regcomp.c:1900,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1947,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1958,1
    - Dst: re_string_length
      Src: /src/gnulib/lib/regcomp.c:1958,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:1961,1
    - Dst: peek_token
      Src: /src/gnulib/lib/regcomp.c:1962,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:1963,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 196
    argCount: 3
    argNames:
    - token
    - input
    - syntax
    argTypes:
    - re_token_t*
    - re_string_t*
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 1974
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1974
    functionName: peek_token
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 2
    functionsReached:
    - re_string_cur_idx
    - peek_token
    - re_string_wchar_at
    - re_string_eoi
    - re_string_skip_bytes
    - IS_WIDE_WORD_CHAR
    - IS_WORD_CHAR
    - re_string_length
    - re_string_peek_byte_case
    - re_string_peek_byte
    - re_string_first_byte
    linkageType: ''
    returnType: int
    signature: int peek_token (re_token_t *token, re_string_t *input, reg_syntax_t
      syntax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regcomp.c:1983,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:1988,1
    - Dst: re_string_first_byte
      Src: /src/gnulib/lib/regcomp.c:1992,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1992,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:1999,1
    - Dst: re_string_length
      Src: /src/gnulib/lib/regcomp.c:1999,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:2003,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:2004,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:2013,1
    - Dst: re_string_length
      Src: /src/gnulib/lib/regcomp.c:2013,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:2014,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:2056,1
    - Dst: re_string_length
      Src: /src/gnulib/lib/regcomp.c:2056,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:2057,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:2058,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:2063,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 3
    argNames:
    - token
    - input
    - syntax
    argTypes:
    - re_token_t*
    - re_string_t*
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 2069
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2069
    functionName: peek_token_bracket
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - re_string_cur_idx
    - re_string_eoi
    - re_string_skip_bytes
    - re_string_length
    - re_string_peek_byte
    - re_string_first_byte
    linkageType: ''
    returnType: int
    signature: int peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t
      syntax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2093,1
    - Dst: parse_reg_exp
      Src: /src/gnulib/lib/regcomp.c:2094,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2095,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2097,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2099,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - regexp
    - preg
    - syntax
    - err
    argTypes:
    - re_string_t*
    - regex_t*
    - reg_syntax_t
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2085
    functionDepth: 2
    functionLinenumber: 2085
    functionLinenumberEnd: 2108
    functionName: parse
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 84
    functionsReached:
    - __glibc_unlikely
    - create_tree
    - fetch_token
    - parse_reg_exp
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse (re_string_t *regexp, regex_t *preg, reg_syntax_t
      syntax,\n       reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_branch
      Src: /src/gnulib/lib/regcomp.c:2126,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2127,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2132,1
    - Dst: parse_branch
      Src: /src/gnulib/lib/regcomp.c:2138,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2139,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2142,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2149,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - regexp
    - preg
    - token
    - syntax
    - nest
    - err
    argTypes:
    - re_string_t*
    - regex_t*
    - re_token_t*
    - reg_syntax_t
    - Idx
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2119
    functionDepth: 2
    functionLinenumber: 2119
    functionLinenumberEnd: 2157
    functionName: parse_reg_exp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - fetch_token
    - parse_branch
    - __glibc_unlikely
    - postorder
    - create_tree
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_reg_exp (re_string_t *regexp, regex_t *preg, re_token_t
      *token,\n\t       reg_syntax_t syntax, Idx nest, reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_expression
      Src: /src/gnulib/lib/regcomp.c:2174,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2175,1
    - Dst: parse_expression
      Src: /src/gnulib/lib/regcomp.c:2181,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2182,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2185,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2190,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2193,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 6
    argNames:
    - regexp
    - preg
    - token
    - syntax
    - nest
    - err
    argTypes:
    - re_string_t*
    - regex_t*
    - re_token_t*
    - reg_syntax_t
    - Idx
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2205
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2205
    functionName: parse_branch
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - postorder
    - create_tree
    - __glibc_unlikely
    - parse_expression
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_branch (re_string_t *regexp, regex_t *preg, re_token_t
      *token,\n\t      reg_syntax_t syntax, Idx nest, reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2222,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2223,1
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regcomp.c:2230,1
    - Dst: re_string_first_byte
      Src: /src/gnulib/lib/regcomp.c:2231,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:2231,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2234,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2235,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2236,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2237,1
    - Dst: parse_sub_exp
      Src: /src/gnulib/lib/regcomp.c:2247,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2248,1
    - Dst: parse_bracket_exp
      Src: /src/gnulib/lib/regcomp.c:2253,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2254,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:2259,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2265,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2266,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2292,1
    - Dst: parse_expression
      Src: /src/gnulib/lib/regcomp.c:2293,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2311,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2312,1
    - Dst: init_word_char
      Src: /src/gnulib/lib/regcomp.c:2323,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2331,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2337,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2340,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2341,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2342,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2351,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2352,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2362,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:2366,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2367,1
    - Dst: build_charclass_op
      Src: /src/gnulib/lib/regcomp.c:2378,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2382,1
    - Dst: build_charclass_op
      Src: /src/gnulib/lib/regcomp.c:2388,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2392,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:2406,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2409,1
    - Dst: parse_dup_op
      Src: /src/gnulib/lib/regcomp.c:2414,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2416,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2419,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2429,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 151
    argCount: 6
    argNames:
    - regexp
    - preg
    - token
    - syntax
    - nest
    - err
    argTypes:
    - re_string_t*
    - regex_t*
    - re_token_t*
    - reg_syntax_t
    - Idx
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2436
      start: 2213
    functionDepth: 2
    functionLinenumber: 2213
    functionLinenumberEnd: 2436
    functionName: parse_expression
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 2
    functionsReached:
    - re_string_cur_idx
    - DEBUG_ASSERT
    - re_string_eoi
    - fetch_token
    - __glibc_likely
    - create_token_tree
    - init_word_char
    - parse_expression
    - parse_sub_exp
    - __glibc_unlikely
    - parse_bracket_exp
    - parse_dup_op
    - postorder
    - create_tree
    - re_string_first_byte
    - build_charclass_op
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_expression (re_string_t *regexp, regex_t *preg,
      re_token_t *token,\n\t\t  reg_syntax_t syntax, Idx nest, reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2454,1
    - Dst: parse_reg_exp
      Src: /src/gnulib/lib/regcomp.c:2461,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2462,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2466,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2469,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2476,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - regexp
    - preg
    - token
    - syntax
    - nest
    - err
    argTypes:
    - re_string_t*
    - regex_t*
    - re_token_t*
    - reg_syntax_t
    - Idx
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2445
    functionDepth: 3
    functionLinenumber: 2445
    functionLinenumberEnd: 2484
    functionName: parse_sub_exp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - fetch_token
    - __glibc_unlikely
    - postorder
    - create_tree
    - parse_reg_exp
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_sub_exp (re_string_t *regexp, regex_t *preg, re_token_t
      *token,\n\t       reg_syntax_t syntax, Idx nest, reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:2493,1
    - Dst: fetch_number
      Src: /src/gnulib/lib/regcomp.c:2499,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:2510,1
    - Dst: fetch_number
      Src: /src/gnulib/lib/regcomp.c:2515,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2517,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2520,1
    - Dst: re_string_set_index
      Src: /src/gnulib/lib/regcomp.c:2531,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2539,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2547,1
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:2559,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2561,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2563,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2565,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2570,1
    - Dst: duplicate_tree
      Src: /src/gnulib/lib/regcomp.c:2575,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2576,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2577,1
    - Dst: duplicate_tree
      Src: /src/gnulib/lib/regcomp.c:2585,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2586,1
    - Dst: postorder
      Src: /src/gnulib/lib/regcomp.c:2596,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2599,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2601,1
    - Dst: TYPE_SIGNED
      Src: /src/gnulib/lib/regcomp.c:2607,1
    - Dst: duplicate_tree
      Src: /src/gnulib/lib/regcomp.c:2610,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2611,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2612,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2615,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2616,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:2621,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 6
    argNames:
    - elem
    - regexp
    - dfa
    - token
    - syntax
    - err
    argTypes:
    - bin_tree_t*
    - re_string_t*
    - re_dfa_t*
    - re_token_t*
    - reg_syntax_t
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 2628
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2628
    functionName: parse_dup_op
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - duplicate_tree
    - __glibc_likely
    - fetch_token
    - TYPE_SIGNED
    - __glibc_unlikely
    - postorder
    - fetch_number
    - create_tree
    - re_string_set_index
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_dup_op (bin_tree_t *elem, re_string_t *regexp,
      re_dfa_t *dfa,\n\t      re_token_t *token, reg_syntax_t syntax, reg_errcode_t
      *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __btowc
      Src: /src/gnulib/lib/regcomp.c:2642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - dfa
    argTypes:
    - unsigned char
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2643
    functionName: parse_byte
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - __btowc
    linkageType: ''
    returnType: wint_t
    signature: wint_t parse_byte (unsigned char b, re_dfa_t const *dfa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2661,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2669,1
    - Dst: strlen
      Src: /src/gnulib/lib/regcomp.c:2670,1
    - Dst: strlen
      Src: /src/gnulib/lib/regcomp.c:2672,1
    - Dst: parse_byte
      Src: /src/gnulib/lib/regcomp.c:2684,1
    - Dst: parse_byte
      Src: /src/gnulib/lib/regcomp.c:2686,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2690,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2702,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:2712,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:2714,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2717,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:2720,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:2721,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:2738,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 13
    argNames:
    - sbcset
    - mbcset
    - range_alloc
    - start_elem
    - end_elem
    - dfa
    - syntax
    - nrules
    - collseqmb
    - collseqwc
    - table_size
    - symb_table
    - extra
    argTypes:
    - bitset_t
    - re_charset_t*
    - Idx*
    - bracket_elem_t*
    - bracket_elem_t*
    - re_dfa_t*
    - reg_syntax_t
    - uint_fast32_t
    - unsigned char*
    - char*
    - int_fast32_t
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2652
    functionDepth: 1
    functionLinenumber: 2652
    functionLinenumberEnd: 2742
    functionName: build_range_exp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - strlen
    - bitset_set
    - re_realloc
    - re_free
    - parse_byte
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t build_range_exp (bitset_t sbcset, re_charset_t *mbcset,
      Idx *range_alloc,\n\t\t bracket_elem_t *start_elem, bracket_elem_t *end_elem,\n\t\t
      re_dfa_t *dfa, reg_syntax_t syntax, uint_fast32_t nrules,\n\t\t const unsigned
      char *collseqmb, const char *collseqwc,\n\t\t int_fast32_t table_size, const
      void *symb_table,\n\t\t const unsigned char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2759,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:2763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - sbcset
    - mbcset
    - coll_sym_alloc
    - name
    - nrules
    - table_size
    - symb_table
    - extra
    argTypes:
    - bitset_t
    - re_charset_t*
    - Idx*
    - unsigned char*
    - uint_fast32_t
    - int_fast32_t
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2766
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2766
    functionName: build_collating_symbol
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - __glibc_unlikely
    - bitset_set
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t build_collating_symbol (bitset_t sbcset, re_charset_t
      *mbcset,\n\t\t\tIdx *coll_sym_alloc, const unsigned char *name,\n\t\t\tuint_fast32_t
      nrules, int_fast32_t table_size,\n\t\t\tconst void *symb_table, const unsigned
      char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/gnulib/lib/regcomp.c:2792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - name
    - name_len
    - symb_table
    - table_size
    - extra
    argTypes:
    - unsigned char*
    - size_t
    - int32_t*
    - int_fast32_t
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2797
    functionName: seek_collating_symbol_entry
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline seek_collating_symbol_entry (const unsigned char *name,
      size_t name_len,\n\t\t\t     const int32_t *symb_table,\n\t\t\t     int_fast32_t
      table_size,\n\t\t\t     const unsigned char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __btowc
      Src: /src/gnulib/lib/regcomp.c:2818,1
    - Dst: __collseq_table_lookup
      Src: /src/gnulib/lib/regcomp.c:2819,1
    - Dst: __collseq_table_lookup
      Src: /src/gnulib/lib/regcomp.c:2825,1
    - Dst: seek_collating_symbol_entry
      Src: /src/gnulib/lib/regcomp.c:2833,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - br_elem
    - nrules
    - collseqmb
    - collseqwc
    - table_size
    - symb_table
    - extra
    argTypes:
    - bracket_elem_t*
    - uint32_t
    - unsigned char*
    - char*
    - int_fast32_t
    - int32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2866
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2866
    functionName: lookup_collation_sequence_value
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - __collseq_table_lookup
    - seek_collating_symbol_entry
    - __btowc
    linkageType: ''
    returnType: __always_inline unsigned
    signature: "__always_inline unsigned lookup_collation_sequence_value (bracket_elem_t
      *br_elem, uint32_t nrules,\n\t\t\t\t const unsigned char *collseqmb,\n\t\t\t\t
      const char *collseqwc,\n\t\t\t\t int_fast32_t table_size,\n\t\t\t\t const int32_t
      *symb_table,\n\t\t\t\t const unsigned char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2889,1
    - Dst: lookup_collation_sequence_value
      Src: /src/gnulib/lib/regcomp.c:2896,1
    - Dst: lookup_collation_sequence_value
      Src: /src/gnulib/lib/regcomp.c:2898,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2901,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2904,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2915,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:2924,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:2926,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2929,1
    - Dst: __collseq_table_lookup
      Src: /src/gnulib/lib/regcomp.c:2950,1
    - Dst: __btowc
      Src: /src/gnulib/lib/regcomp.c:2950,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:2952,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 13
    argNames:
    - sbcset
    - mbcset
    - range_alloc
    - start_elem
    - end_elem
    - dfa
    - syntax
    - nrules
    - collseqmb
    - collseqwc
    - table_size
    - symb_table
    - extra
    argTypes:
    - bitset_t
    - re_charset_t*
    - Idx*
    - bracket_elem_t*
    - bracket_elem_t*
    - re_dfa_t*
    - reg_syntax_t
    - uint32_t
    - unsigned char*
    - char*
    - int_fast32_t
    - int32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2955
      start: 2875
    functionDepth: 2
    functionLinenumber: 2875
    functionLinenumberEnd: 2955
    functionName: reg_errcode_t::build_range_exp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - bitset_set
    - __collseq_table_lookup
    - re_realloc
    - __glibc_unlikely
    - lookup_collation_sequence_value
    - __btowc
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline reg_errcode_t\nbuild_range_exp (bitset_t sbcset, re_charset_t
      *mbcset, Idx *range_alloc,\n\t\t bracket_elem_t *start_elem, bracket_elem_t
      *end_elem,\n\t\t re_dfa_t *dfa, reg_syntax_t syntax, uint32_t nrules,\n\t\t
      const unsigned char *collseqmb, const char *collseqwc,\n\t\t int_fast32_t table_size,
      const int32_t *symb_table,\n\t\t const unsigned char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seek_collating_symbol_entry
      Src: /src/gnulib/lib/regcomp.c:2973,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:2986,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:2994,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3003,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3013,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 8
    argNames:
    - sbcset
    - mbcset
    - coll_sym_alloc
    - name
    - nrules
    - table_size
    - symb_table
    - extra
    argTypes:
    - bitset_t
    - re_charset_t*
    - Idx*
    - unsigned char*
    - uint_fast32_t
    - int_fast32_t
    - int32_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3021
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 3021
    functionName: reg_errcode_t::build_collating_symbol
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - seek_collating_symbol_entry
    - __glibc_unlikely
    - bitset_set
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline reg_errcode_t\nbuild_collating_symbol (bitset_t sbcset,
      re_charset_t *mbcset,\n\t\t\tIdx *coll_sym_alloc, const unsigned char *name,\n\t\t\tuint_fast32_t
      nrules, int_fast32_t table_size,\n\t\t\tconst int32_t *symb_table, const unsigned
      char *extra)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3049,1
    - Dst: _NL_CURRENT_WORD
      Src: /src/gnulib/lib/regcomp.c:3050,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3056,1
    - Dst: _NL_CURRENT_WORD
      Src: /src/gnulib/lib/regcomp.c:3057,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3058,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3059,1
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:3063,1
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:3064,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3065,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3067,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3068,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3073,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3074,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3084,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3085,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3086,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3087,1
    - Dst: parse_bracket_element
      Src: /src/gnulib/lib/regcomp.c:3110,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3112,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3120,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3125,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3132,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3133,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3134,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3142,1
    - Dst: parse_bracket_element
      Src: /src/gnulib/lib/regcomp.c:3154,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3156,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3162,1
    - Dst: build_range_exp
      Src: /src/gnulib/lib/regcomp.c:3164,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3168,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3176,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3180,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:3187,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3189,1
    - Dst: build_equiv_class
      Src: /src/gnulib/lib/regcomp.c:3196,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3199,1
    - Dst: build_collating_symbol
      Src: /src/gnulib/lib/regcomp.c:3203,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3207,1
    - Dst: build_charclass
      Src: /src/gnulib/lib/regcomp.c:3211,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3215,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regcomp.c:3219,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3223,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3232,1
    - Dst: bitset_not
      Src: /src/gnulib/lib/regcomp.c:3236,1
    - Dst: bitset_mask
      Src: /src/gnulib/lib/regcomp.c:3240,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3252,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3253,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3265,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3266,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:3270,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3271,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3276,1
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3282,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3286,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3287,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3295,1
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3296,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 180
    argCount: 5
    argNames:
    - regexp
    - dfa
    - token
    - syntax
    - err
    argTypes:
    - re_string_t*
    - re_dfa_t*
    - re_token_t*
    - reg_syntax_t
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 3298
      start: 3027
    functionDepth: 2
    functionLinenumber: 3027
    functionLinenumberEnd: 3298
    functionName: parse_bracket_exp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - parse_bracket_element
    - bitset_not
    - calloc
    - build_equiv_class
    - re_free
    - build_range_exp
    - __glibc_unlikely
    - _NL_CURRENT_WORD
    - re_realloc
    - build_charclass
    - build_collating_symbol
    - peek_token_bracket
    - DEBUG_ASSERT
    - bitset_set
    - re_string_skip_bytes
    - create_token_tree
    - bitset_mask
    - free_charset
    - _NL_CURRENT
    - create_tree
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nparse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa,
      re_token_t *token,\n\t\t   reg_syntax_t syntax, reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_char_size_at
      Src: /src/gnulib/lib/regcomp.c:3308,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:3308,1
    - Dst: re_string_wchar_at
      Src: /src/gnulib/lib/regcomp.c:3312,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regcomp.c:3312,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3313,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3316,1
    - Dst: parse_bracket_symbol
      Src: /src/gnulib/lib/regcomp.c:3319,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3320,1
    - Dst: peek_token_bracket
      Src: /src/gnulib/lib/regcomp.c:3325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - elem
    - regexp
    - token
    - token_len
    - dfa
    - syntax
    - accept_hyphen
    argTypes:
    - bracket_elem_t*
    - re_string_t*
    - re_token_t*
    - int
    - re_dfa_t*
    - reg_syntax_t
    - bool
    constantsTouched: []
    func_position:
      end: 3334
      start: 3302
    functionDepth: 1
    functionLinenumber: 3302
    functionLinenumberEnd: 3334
    functionName: parse_bracket_element
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - re_string_wchar_at
    - re_string_skip_bytes
    - re_string_char_size_at
    - peek_token_bracket
    - __glibc_unlikely
    - parse_bracket_symbol
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t parse_bracket_element (bracket_elem_t *elem, re_string_t
      *regexp,\n\t\t       re_token_t *token, int token_len, re_dfa_t *dfa,\n\t\t
      \      reg_syntax_t syntax, bool accept_hyphen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regcomp.c:3346,1
    - Dst: re_string_fetch_byte_case
      Src: /src/gnulib/lib/regcomp.c:3353,1
    - Dst: re_string_fetch_byte
      Src: /src/gnulib/lib/regcomp.c:3355,1
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regcomp.c:3356,1
    - Dst: re_string_peek_byte
      Src: /src/gnulib/lib/regcomp.c:3358,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regcomp.c:3362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - elem
    - regexp
    - token
    argTypes:
    - bracket_elem_t*
    - re_string_t*
    - re_token_t*
    constantsTouched: []
    func_position:
      end: 3379
      start: 3340
    functionDepth: 2
    functionLinenumber: 3340
    functionLinenumberEnd: 3379
    functionName: parse_bracket_symbol
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_string_eoi
    - re_string_skip_bytes
    - re_string_fetch_byte
    - re_string_peek_byte
    - re_string_fetch_byte_case
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, re_string_t
      *regexp,\n\t\t      re_token_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3403,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3404,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3406,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regcomp.c:3408,1
    - Dst: findidx
      Src: /src/gnulib/lib/regcomp.c:3410,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3411,1
    - Dst: findidx
      Src: /src/gnulib/lib/regcomp.c:3421,1
    - Dst: memcmp
      Src: /src/gnulib/lib/regcomp.c:3431,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3433,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3436,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3445,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3455,1
    - Dst: strlen
      Src: /src/gnulib/lib/regcomp.c:3455,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - sbcset
    - mbcset
    - equiv_class_alloc
    - name
    argTypes:
    - bitset_t
    - re_charset_t*
    - Idx*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 3460
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3460
    functionName: build_equiv_class
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - strlen
    - bitset_set
    - findidx
    - _NL_CURRENT
    - memcmp
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t build_equiv_class (bitset_t sbcset, re_charset_t *mbcset,\n\t\t
      \  Idx *equiv_class_alloc, const unsigned char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3479,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3479,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3483,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regcomp.c:3489,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3491,1
    - Dst: __wctype
      Src: /src/gnulib/lib/regcomp.c:3496,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3514,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3515,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3516,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3517,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3518,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3519,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3520,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3521,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3522,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3523,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3524,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3525,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3526,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3527,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3528,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3529,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3530,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3531,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3532,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3533,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3534,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3535,1
    - Dst: strcmp
      Src: /src/gnulib/lib/regcomp.c:3536,1
    - Dst: BUILD_CHARCLASS_LOOP
      Src: /src/gnulib/lib/regcomp.c:3537,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - trans
    - sbcset
    - mbcset
    - char_class_alloc
    - class_name
    - syntax
    argTypes:
    - RE_TRANSLATE_TYPE
    - bitset_t
    - re_charset_t*
    - Idx*
    - char*
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 3542
      start: 3468
    functionDepth: 0
    functionLinenumber: 3468
    functionLinenumberEnd: 3542
    functionName: build_charclass
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - re_realloc
    - __wctype
    - BUILD_CHARCLASS_LOOP
    - __glibc_unlikely
    - strcmp
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset,\n\t\t
      re_charset_t *mbcset, Idx *char_class_alloc,\n\t\t const char *class_name, reg_syntax_t
      syntax)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:3556,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3557,1
    - Dst: calloc
      Src: /src/gnulib/lib/regcomp.c:3562,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3563,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3565,1
    - Dst: build_charclass
      Src: /src/gnulib/lib/regcomp.c:3572,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3574,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3576,1
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3577,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regcomp.c:3583,1
    - Dst: bitset_not
      Src: /src/gnulib/lib/regcomp.c:3587,1
    - Dst: bitset_mask
      Src: /src/gnulib/lib/regcomp.c:3591,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3595,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3596,1
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3606,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3607,1
    - Dst: create_tree
      Src: /src/gnulib/lib/regcomp.c:3610,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regcomp.c:3611,1
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3616,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3621,1
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3622,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 6
    argNames:
    - dfa
    - trans
    - class_name
    - extra
    - non_match
    - err
    argTypes:
    - re_dfa_t*
    - RE_TRANSLATE_TYPE
    - char*
    - char*
    - bool
    - reg_errcode_t*
    constantsTouched: []
    func_position:
      end: 3625
      start: 3544
    functionDepth: 1
    functionLinenumber: 3544
    functionLinenumberEnd: 3625
    functionName: build_charclass_op
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - free_charset
    - bitset_not
    - __glibc_likely
    - bitset_set
    - calloc
    - re_free
    - create_token_tree
    - build_charclass
    - __glibc_unlikely
    - bitset_mask
    - create_tree
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\nbuild_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE
      trans,\n\t\t    const char *class_name,\n\t\t    const char *extra, bool non_match,\n\t\t
      \   reg_errcode_t *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch_token
      Src: /src/gnulib/lib/regcomp.c:3640,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3642,1
    - Dst: MIN
      Src: /src/gnulib/lib/regcomp.c:3650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - input
    - token
    - syntax
    argTypes:
    - re_string_t*
    - re_token_t*
    - reg_syntax_t
    constantsTouched: []
    func_position:
      end: 3653
      start: 3633
    functionDepth: 2
    functionLinenumber: 3633
    functionLinenumberEnd: 3653
    functionName: fetch_number
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - MIN
    - fetch_token
    - __glibc_unlikely
    linkageType: ''
    returnType: Idx
    signature: Idx fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t
      syntax)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3658,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3660,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3661,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3663,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3664,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3665,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - cset
    argTypes:
    - re_charset_t*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3655
    functionDepth: 0
    functionLinenumber: 3655
    functionLinenumberEnd: 3667
    functionName: free_charset
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 2
    functionsReached:
    - re_free
    linkageType: ''
    returnType: void
    signature: void free_charset (re_charset_t *cset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dfa
    - left
    - right
    - type
    argTypes:
    - re_dfa_t*
    - bin_tree_t*
    - bin_tree_t*
    - re_token_type_t
    constantsTouched: []
    func_position:
      end: 3679
      start: 3673
    functionDepth: 1
    functionLinenumber: 3673
    functionLinenumberEnd: 3679
    functionName: create_tree
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 9
    functionsReached:
    - create_token_tree
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\ncreate_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t
      *right,\n\t     re_token_type_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regcomp.c:3686,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regcomp.c:3688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - dfa
    - left
    - right
    - token
    argTypes:
    - re_dfa_t*
    - bin_tree_t*
    - bin_tree_t*
    - re_token_t*
    constantsTouched: []
    func_position:
      end: 3713
      start: 3681
    functionDepth: 0
    functionLinenumber: 3681
    functionLinenumberEnd: 3713
    functionName: create_token_tree
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 4
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    linkageType: ''
    returnType: bin_tree_t
    signature: "bin_tree_t *\ncreate_token_tree (re_dfa_t *dfa, bin_tree_t *left,
      bin_tree_t *right,\n\t\t   const re_token_t *token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 3726
      start: 3718
    functionDepth: 0
    functionLinenumber: 3718
    functionLinenumberEnd: 3726
    functionName: mark_opt_subexp
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_charset
      Src: /src/gnulib/lib/regcomp.c:3734,1
    - Dst: re_free
      Src: /src/gnulib/lib/regcomp.c:3736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - re_token_t*
    constantsTouched: []
    func_position:
      end: 3737
      start: 3730
    functionDepth: 1
    functionLinenumber: 3730
    functionLinenumberEnd: 3737
    functionName: free_token
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - free_charset
    - re_free
    linkageType: ''
    returnType: void
    signature: void free_token (re_token_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_token
      Src: /src/gnulib/lib/regcomp.c:3745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - extra
    - node
    argTypes:
    - void*
    - bin_tree_t*
    constantsTouched: []
    func_position:
      end: 3747
      start: 3742
    functionDepth: 2
    functionLinenumber: 3742
    functionLinenumberEnd: 3747
    functionName: free_tree
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 0
    functionsReached:
    - free_token
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t free_tree (void *extra, bin_tree_t *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_token_tree
      Src: /src/gnulib/lib/regcomp.c:3765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - root
    - dfa
    argTypes:
    - bin_tree_t*
    - re_dfa_t*
    constantsTouched: []
    func_position:
      end: 3793
      start: 3755
    functionDepth: 1
    functionLinenumber: 3755
    functionLinenumberEnd: 3793
    functionName: duplicate_tree
    functionSourceFile: /src/gnulib/lib/regcomp.c
    functionUses: 1
    functionsReached:
    - create_token_tree
    linkageType: ''
    returnType: bin_tree_t
    signature: 'bin_tree_t *

      duplicate_tree (const bin_tree_t *root, re_dfa_t *dfa)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - dest0
    - source0
    - length
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 28
    functionName: memmove
    functionSourceFile: /src/gnulib/lib/memmove.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memmove (void *dest0, void const *source0, size_t length)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_basic
      Src: /src/gnulib/lib/mbuiterf.h:131,1
    - Dst: assert
      Src: /src/gnulib/lib/mbuiterf.h:143,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/mbuiterf.h:143,1
    - Dst: mbrtoc32
      Src: /src/gnulib/lib/mbuiterf.h:150,1
    - Dst: strnlen1
      Src: /src/gnulib/lib/mbuiterf.h:150,1
    - Dst: mbszero
      Src: /src/gnulib/lib/mbuiterf.h:158,1
    - Dst: strlen
      Src: /src/gnulib/lib/mbuiterf.h:166,1
    - Dst: assert
      Src: /src/gnulib/lib/mbuiterf.h:174,1
    - Dst: assert
      Src: /src/gnulib/lib/mbuiterf.h:175,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/mbuiterf.h:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ps
    - iter
    argTypes:
    - struct mbuif_state*
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 193
    functionName: mbuiterf_next
    functionSourceFile: /src/gnulib/lib/mbuiterf.h
    functionUses: 0
    functionsReached:
    - is_basic
    - mbrtoc32
    - assert
    - strnlen1
    - strlen
    - mbszero
    - mbsinit
    linkageType: ''
    returnType: MBUITERF_INLINE
    signature: MBUITERF_INLINE mbuiterf_next (struct mbuif_state *ps, const char *iter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: cnd_init
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_init (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_lock
      Src: /src/gnulib/lib/cnd.c:63,1
    - Dst: glwthread_recmutex_lock
      Src: /src/gnulib/lib/cnd.c:65,1
    - Dst: glwthread_timedmutex_lock
      Src: /src/gnulib/lib/cnd.c:67,1
    - Dst: glwthread_timedrecmutex_lock
      Src: /src/gnulib/lib/cnd.c:69,1
    - Dst: abort
      Src: /src/gnulib/lib/cnd.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: mutex_lock
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 152
    functionsReached:
    - abort
    - glwthread_recmutex_lock
    - glwthread_mutex_lock
    - glwthread_timedrecmutex_lock
    - glwthread_timedmutex_lock
    linkageType: ''
    returnType: int
    signature: int mutex_lock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_mutex_unlock
      Src: /src/gnulib/lib/cnd.c:81,1
    - Dst: glwthread_recmutex_unlock
      Src: /src/gnulib/lib/cnd.c:83,1
    - Dst: glwthread_timedmutex_unlock
      Src: /src/gnulib/lib/cnd.c:85,1
    - Dst: glwthread_timedrecmutex_unlock
      Src: /src/gnulib/lib/cnd.c:87,1
    - Dst: abort
      Src: /src/gnulib/lib/cnd.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: mutex_unlock
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 146
    functionsReached:
    - abort
    - glwthread_timedmutex_unlock
    - glwthread_mutex_unlock
    - glwthread_recmutex_unlock
    - glwthread_timedrecmutex_unlock
    linkageType: ''
    returnType: int
    signature: int mutex_unlock (mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - cnd_t*
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: cnd_wait
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_wait (cnd_t *cond, mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - cnd_t*
    - mtx_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: cnd_timedwait
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait (cnd_t *cond, mtx_t *mutex, const struct timespec
      *abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: cnd_signal
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_signal (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: cnd_broadcast
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_broadcast (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: glwthread_cond_destroy
      Src: /src/gnulib/lib/cnd.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: cnd_destroy
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 0
    functionsReached:
    - glwthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void cnd_destroy (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: cnd_init
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_init (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - cnd_t*
    - mtx_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: cnd_wait
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_wait (cnd_t *cond, mtx_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - cnd_t*
    - mtx_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: cnd_timedwait
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait (cnd_t *cond, mtx_t *mutex, const struct timespec
      *abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: cnd_signal
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_signal (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: cnd_broadcast
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cnd_broadcast (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/gnulib/lib/cnd.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: cnd_destroy
    functionSourceFile: /src/gnulib/lib/cnd.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void cnd_destroy (cnd_t *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: hash_get_n_buckets
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_get_n_buckets (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: hash_get_n_buckets_used
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_get_n_buckets_used (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: hash_get_n_entries
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_get_n_entries (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: hash_get_max_bucket_length
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hash_get_max_bucket_length (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 212
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 212
    functionName: hash_table_ok
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hash_table_ok (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/hash.c:222,1
    - Dst: fprintf
      Src: /src/gnulib/lib/hash.c:223,1
    - Dst: fprintf
      Src: /src/gnulib/lib/hash.c:224,1
    - Dst: fprintf
      Src: /src/gnulib/lib/hash.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - table
    - stream
    argTypes:
    - Hash_table*
    - FILE*
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: hash_print_statistics
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_print_statistics (const Hash_table *table, FILE *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/hash.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: safe_hasher
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: struct hash_entry
    signature: 'struct hash_entry *

      safe_hasher (const Hash_table *table, const void *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_hasher
      Src: /src/gnulib/lib/hash.c:245,1
    - Dst: Hash_table*::comparator
      Src: /src/gnulib/lib/hash.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: hash_lookup
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 3
    functionsReached:
    - Hash_table*::comparator
    - safe_hasher
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_lookup (const Hash_table *table, const void *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/hash.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: hash_get_first
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_get_first (const Hash_table *table)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_hasher
      Src: /src/gnulib/lib/hash.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: hash_get_next
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - safe_hasher
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_get_next (const Hash_table *table, const void *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - table
    - buffer
    - buffer_size
    argTypes:
    - Hash_table*
    - void**
    - size_t
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: hash_get_entries
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t hash_get_entries (const Hash_table *table, void **buffer,\n
      \                 size_t buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: processor
      Src: /src/gnulib/lib/hash.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - table
    - processor
    - processor_data
    argTypes:
    - Hash_table*
    - Hash_processor
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 346
    functionName: hash_do_for_each
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - processor
    linkageType: ''
    returnType: size_t
    signature: "size_t hash_do_for_each (const Hash_table *table, Hash_processor processor,\n
      \                 void *processor_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: raw_hasher
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raw_hasher (const void *data, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: raw_comparator
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool raw_comparator (const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tuning
    argTypes:
    - Hash_tuning*
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: hash_reset_tuning
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_reset_tuning (Hash_tuning *tuning)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 410
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 410
    functionName: check_tuning
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_tuning (Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_prime
      Src: /src/gnulib/lib/hash.c:426,1
    - Dst: xalloc_oversized
      Src: /src/gnulib/lib/hash.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - candidate
    - tuning
    argTypes:
    - size_t
    - Hash_tuning*
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: _GL_ATTRIBUTE_PURE::compute_bucket_size
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - xalloc_oversized
    - next_prime
    linkageType: ''
    returnType: size_t
    signature: 'size_t _GL_ATTRIBUTE_PURE

      compute_bucket_size (size_t candidate, const Hash_tuning *tuning)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/hash.c:448,1
    - Dst: check_tuning
      Src: /src/gnulib/lib/hash.c:455,1
    - Dst: compute_bucket_size
      Src: /src/gnulib/lib/hash.c:466,1
    - Dst: calloc
      Src: /src/gnulib/lib/hash.c:470,1
    - Dst: obstack_init
      Src: /src/gnulib/lib/hash.c:483,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - candidate
    - tuning
    - hasher
    - comparator
    - data_freer
    argTypes:
    - size_t
    - Hash_tuning*
    - Hash_hasher
    - Hash_comparator
    - Hash_data_freer
    constantsTouched: []
    func_position:
      end: 490
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 490
    functionName: hash_initialize
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 6
    functionsReached:
    - check_tuning
    - obstack_init
    - calloc
    - compute_bucket_size
    - free
    - malloc
    linkageType: ''
    returnType: Hash_table
    signature: "Hash_table *\nhash_initialize (size_t candidate, const Hash_tuning
      *tuning,\n                 Hash_hasher hasher, Hash_comparator comparator,\n
      \                Hash_data_freer data_freer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash_table*::data_freer
      Src: /src/gnulib/lib/hash.c:508,1
    - Dst: Hash_table*::data_freer
      Src: /src/gnulib/lib/hash.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 528
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 528
    functionName: hash_clear
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - Hash_table*::data_freer
    linkageType: ''
    returnType: void
    signature: void hash_clear (Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash_table*::data_freer
      Src: /src/gnulib/lib/hash.c:546,1
    - Dst: obstack_free
      Src: /src/gnulib/lib/hash.c:553,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:563,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:571,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:577,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 581
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 581
    functionName: hash_free
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 5
    functionsReached:
    - free
    - obstack_free
    - Hash_table*::data_freer
    linkageType: ''
    returnType: void
    signature: void hash_free (Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: table::table
      Src: /src/gnulib/lib/hash.c:595,1
    - Dst: next::next
      Src: /src/gnulib/lib/hash.c:596,1
    - Dst: obstack_alloc::obstack_alloc
      Src: /src/gnulib/lib/hash.c:601,1
    - Dst: malloc::malloc
      Src: /src/gnulib/lib/hash.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 608
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 608
    functionName: allocate_entry
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - malloc::malloc
    - obstack_alloc::obstack_alloc
    - next::next
    - table::table
    linkageType: ''
    returnType: struct hash_entry
    signature: 'struct hash_entry *

      allocate_entry (Hash_table *table)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - struct hash_entry*
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: free_entry
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_entry (Hash_table *table, struct hash_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_hasher
      Src: /src/gnulib/lib/hash.c:631,1
    - Dst: Hash_table*::comparator
      Src: /src/gnulib/lib/hash.c:641,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hash.c:654,1
    - Dst: Hash_table*::comparator
      Src: /src/gnulib/lib/hash.c:669,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hash.c:680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - table
    - entry
    - bucket_head
    - delete
    argTypes:
    - Hash_table*
    - void*
    - struct hash_entry**
    - bool
    constantsTouched: []
    func_position:
      end: 689
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 689
    functionName: find_entry
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 5
    functionsReached:
    - free_entry
    - Hash_table*::comparator
    - safe_hasher
    linkageType: ''
    returnType: void
    signature: "void *\nfind_entry (Hash_table *table, const void *entry,\n            struct
      hash_entry **bucket_head, bool delete)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: safe_hasher
      Src: /src/gnulib/lib/hash.c:718,1
    - Dst: free_entry
      Src: /src/gnulib/lib/hash.c:735,1
    - Dst: safe_hasher
      Src: /src/gnulib/lib/hash.c:745,1
    - Dst: allocate_entry
      Src: /src/gnulib/lib/hash.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - dst
    - src
    - safe
    argTypes:
    - Hash_table*
    - Hash_table*
    - bool
    constantsTouched: []
    func_position:
      end: 770
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 770
    functionName: transfer_entries
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - free_entry
    - allocate_entry
    - safe_hasher
    linkageType: ''
    returnType: bool
    signature: bool transfer_entries (Hash_table *dst, Hash_table *src, bool safe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/gnulib/lib/hash.c:784,1
    - Dst: transfer_entries
      Src: /src/gnulib/lib/hash.c:816,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:819,1
    - Dst: transfer_entries
      Src: /src/gnulib/lib/hash.c:844,1
    - Dst: transfer_entries
      Src: /src/gnulib/lib/hash.c:845,1
    - Dst: abort
      Src: /src/gnulib/lib/hash.c:846,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - table
    - candidate
    argTypes:
    - Hash_table*
    - size_t
    constantsTouched: []
    func_position:
      end: 851
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 851
    functionName: hash_rehash
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - abort
    - free
    - transfer_entries
    - calloc
    linkageType: ''
    returnType: bool
    signature: bool hash_rehash (Hash_table *table, size_t candidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/hash.c:864,1
    - Dst: find_entry
      Src: /src/gnulib/lib/hash.c:867,1
    - Dst: check_tuning
      Src: /src/gnulib/lib/hash.c:884,1
    - Dst: hash_rehash
      Src: /src/gnulib/lib/hash.c:902,1
    - Dst: find_entry
      Src: /src/gnulib/lib/hash.c:906,1
    - Dst: abort
      Src: /src/gnulib/lib/hash.c:907,1
    - Dst: allocate_entry
      Src: /src/gnulib/lib/hash.c:915,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - table
    - entry
    - matched_ent
    argTypes:
    - Hash_table*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 936
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 936
    functionName: hash_insert_if_absent
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 2
    functionsReached:
    - abort
    - check_tuning
    - hash_rehash
    - allocate_entry
    - find_entry
    linkageType: ''
    returnType: int
    signature: "int hash_insert_if_absent (Hash_table *table, void const *entry,\n
      \                      void const **matched_ent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 946
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 946
    functionName: hash_insert
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_insert (Hash_table *table, void const *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_entry
      Src: /src/gnulib/lib/hash.c:954,1
    - Dst: check_tuning
      Src: /src/gnulib/lib/hash.c:971,1
    - Dst: hash_rehash
      Src: /src/gnulib/lib/hash.c:982,1
    - Dst: free
      Src: /src/gnulib/lib/hash.c:995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - Hash_table*
    - void*
    constantsTouched: []
    func_position:
      end: 1006
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 1006
    functionName: hash_remove
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 1
    functionsReached:
    - free
    - find_entry
    - check_tuning
    - hash_rehash
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_remove (Hash_table *table, const void *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/gnulib/lib/hash.c:1022,1
    - Dst: printf
      Src: /src/gnulib/lib/hash.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - Hash_table*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1032
    functionName: hash_print
    functionSourceFile: /src/gnulib/lib/hash.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void hash_print (const Hash_table *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: strnlen
    functionSourceFile: /src/gnulib/lib/strnlen.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strnlen (const char *s, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/gnulib/lib/astrxfrm.c:78,1
    - Dst: strxfrm
      Src: /src/gnulib/lib/astrxfrm.c:88,1
    - Dst: free
      Src: /src/gnulib/lib/astrxfrm.c:95,1
    - Dst: malloc
      Src: /src/gnulib/lib/astrxfrm.c:107,1
    - Dst: strxfrm
      Src: /src/gnulib/lib/astrxfrm.c:117,1
    - Dst: abort
      Src: /src/gnulib/lib/astrxfrm.c:119,1
    - Dst: abort
      Src: /src/gnulib/lib/astrxfrm.c:126,1
    - Dst: memcpy
      Src: /src/gnulib/lib/astrxfrm.c:136,1
    - Dst: memcpy
      Src: /src/gnulib/lib/astrxfrm.c:145,1
    - Dst: memcpy
      Src: /src/gnulib/lib/astrxfrm.c:156,1
    - Dst: free
      Src: /src/gnulib/lib/astrxfrm.c:157,1
    - Dst: free
      Src: /src/gnulib/lib/astrxfrm.c:174,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 3
    argNames:
    - s
    - resultbuf
    - lengthp
    argTypes:
    - char*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 180
    functionName: astrxfrm
    functionSourceFile: /src/gnulib/lib/astrxfrm.c
    functionUses: 1
    functionsReached:
    - abort
    - free
    - strxfrm
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      astrxfrm (const char *s, char *resultbuf, size_t *lengthp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: btowc
      Src: /src/gnulib/lib/uchar.in.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: btoc32
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 8
    functionsReached:
    - btowc
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE btoc32 (int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswalnum
      Src: /src/gnulib/lib/uchar.in.h:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: c32isalnum
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 3
    functionsReached:
    - iswalnum
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isalnum (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/gnulib/lib/uchar.in.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: c32isalpha
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isalpha (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswblank
      Src: /src/gnulib/lib/uchar.in.h:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: c32isblank
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswblank
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isblank (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswcntrl
      Src: /src/gnulib/lib/uchar.in.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: c32iscntrl
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswcntrl
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32iscntrl (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswdigit
      Src: /src/gnulib/lib/uchar.in.h:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: c32isdigit
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswdigit
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isdigit (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswgraph
      Src: /src/gnulib/lib/uchar.in.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: c32isgraph
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswgraph
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isgraph (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswlower
      Src: /src/gnulib/lib/uchar.in.h:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: c32islower
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswlower
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32islower (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswprint
      Src: /src/gnulib/lib/uchar.in.h:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: c32isprint
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 3
    functionsReached:
    - iswprint
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isprint (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswpunct
      Src: /src/gnulib/lib/uchar.in.h:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: c32ispunct
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswpunct
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32ispunct (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswspace
      Src: /src/gnulib/lib/uchar.in.h:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: c32isspace
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 3
    functionsReached:
    - iswspace
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isspace (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswupper
      Src: /src/gnulib/lib/uchar.in.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: c32isupper
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswupper
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isupper (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswxdigit
      Src: /src/gnulib/lib/uchar.in.h:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: c32isxdigit
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - iswxdigit
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32isxdigit (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towlower
      Src: /src/gnulib/lib/uchar.in.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: c32tolower
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 3
    functionsReached:
    - towlower
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32tolower (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towupper
      Src: /src/gnulib/lib/uchar.in.h:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: c32toupper
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - towupper
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32toupper (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         wcwidth"
      Src: /src/gnulib/lib/uchar.in.h:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - char32_t
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: c32width
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         wcwidth"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32width (char32_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         wcsnrtombs"
      Src: /src/gnulib/lib/uchar.in.h:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - dest
    - srcp
    - srclen
    - len
    - ps
    argTypes:
    - char*
    - char32_t**
    - size_t
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: c32snrtombs
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         wcsnrtombs"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: "_GL_BEGIN_C_LINKAGE c32snrtombs (char *dest, const char32_t **srcp,
      size_t srclen, size_t len,\n             mbstate_t *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         wcsrtombs"
      Src: /src/gnulib/lib/uchar.in.h:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - srcp
    - len
    - ps
    argTypes:
    - char*
    - char32_t**
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: c32srtombs
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         wcsrtombs"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32srtombs (char *dest, const char32_t **srcp,
      size_t len, mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/uchar.in.h:565,1
    - Dst: c32srtombs
      Src: /src/gnulib/lib/uchar.in.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - char*
    - char32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: c32stombs
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - mbszero
    - c32srtombs
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32stombs (char *dest, const char32_t *src, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         wcswidth"
      Src: /src/gnulib/lib/uchar.in.h:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char32_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: c32swidth
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         wcswidth"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32swidth (const char32_t *s, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctob
      Src: /src/gnulib/lib/uchar.in.h:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: c32tob
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 7
    functionsReached:
    - wctob
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32tob (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         mbsnrtowcs"
      Src: /src/gnulib/lib/uchar.in.h:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - dest
    - srcp
    - srclen
    - len
    - ps
    argTypes:
    - char32_t*
    - char**
    - size_t
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 703
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 703
    functionName: mbsnrtoc32s
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         mbsnrtowcs"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: "_GL_BEGIN_C_LINKAGE mbsnrtoc32s (char32_t *dest, const char **srcp,
      size_t srclen, size_t len,\n             mbstate_t *ps)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "GNULIB_NAMESPACE::\n#  endif\n         mbsrtowcs"
      Src: /src/gnulib/lib/uchar.in.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - srcp
    - len
    - ps
    argTypes:
    - char32_t*
    - char**
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 730
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 730
    functionName: mbsrtoc32s
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - "GNULIB_NAMESPACE::\n#  endif\n         mbsrtowcs"
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE mbsrtoc32s (char32_t *dest, const char **srcp,
      size_t len, mbstate_t *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/uchar.in.h:754,1
    - Dst: mbsrtoc32s
      Src: /src/gnulib/lib/uchar.in.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - char32_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: mbstoc32s
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 4
    functionsReached:
    - mbszero
    - mbsrtoc32s
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE mbstoc32s (char32_t *dest, const char *src, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctype
      Src: /src/gnulib/lib/uchar.in.h:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: c32_get_type_test
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - wctype
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32_get_type_test (const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iswctype
      Src: /src/gnulib/lib/uchar.in.h:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - wc
    - property
    argTypes:
    - wint_t
    - c32_type_test_t
    constantsTouched: []
    func_position:
      end: 825
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 825
    functionName: c32_apply_type_test
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - iswctype
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32_apply_type_test (wint_t wc, c32_type_test_t
      property)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctrans
      Src: /src/gnulib/lib/uchar.in.h:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 870
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 870
    functionName: c32_get_mapping
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 2
    functionsReached:
    - wctrans
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32_get_mapping (const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: towctrans
      Src: /src/gnulib/lib/uchar.in.h:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - wc
    - mapping
    argTypes:
    - wint_t
    - c32_mapping_t
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: c32_apply_mapping
    functionSourceFile: /src/gnulib/lib/uchar.in.h
    functionUses: 1
    functionsReached:
    - towctrans
    linkageType: ''
    returnType: _GL_BEGIN_C_LINKAGE
    signature: _GL_BEGIN_C_LINKAGE c32_apply_mapping (wint_t wc, c32_mapping_t mapping)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/readlink.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - file
    - buf
    - bufsize
    argTypes:
    - char*
    - _GL_UNUSED*
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: readlink
    functionSourceFile: /src/gnulib/lib/readlink.c
    functionUses: 10
    functionsReached:
    - stat
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t readlink (char const *file, _GL_UNUSED char *buf,\n          _GL_UNUSED
      size_t bufsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/readlink.c:66,1
    - Dst: readlink
      Src: /src/gnulib/lib/readlink.c:80,1
    - Dst: memset
      Src: /src/gnulib/lib/readlink.c:89,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readlink.c:96,1
    - Dst: strncmp
      Src: /src/gnulib/lib/readlink.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - file
    - buf
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 112
    functionName: rpl_readlink
    functionSourceFile: /src/gnulib/lib/readlink.c
    functionUses: 0
    functionsReached:
    - stat
    - readlink
    - memset
    - strncmp
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_readlink (char const *file, char *buf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - attr
    - pgroup
    argTypes:
    - posix_spawnattr_t*
    - pid_t
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: posix_spawnattr_setpgroup
    functionSourceFile: /src/gnulib/lib/spawnattr_setpgroup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int posix_spawnattr_setpgroup (posix_spawnattr_t *attr, pid_t pgroup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/alignalloc.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: alignfree
    functionSourceFile: /src/gnulib/lib/alignalloc.h
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: ALIGNALLOC_INLINE
    signature: ALIGNALLOC_INLINE alignfree (void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aligned_alloc
      Src: /src/gnulib/lib/alignalloc.h:98,1
    - Dst: posix_memalign
      Src: /src/gnulib/lib/alignalloc.h:105,1
    - Dst: cheri_bounds_set
      Src: /src/gnulib/lib/alignalloc.h:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - idx_t
    - idx_t
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: alignalloc
    functionSourceFile: /src/gnulib/lib/alignalloc.h
    functionUses: 1
    functionsReached:
    - posix_memalign
    - aligned_alloc
    - cheri_bounds_set
    linkageType: ''
    returnType: void
    signature: 'void *

      alignalloc (idx_t alignment, idx_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpayload
      Src: /src/gnulib/lib/getpayloadl.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - long double*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: getpayloadl
    functionSourceFile: /src/gnulib/lib/getpayloadl.c
    functionUses: 1
    functionsReached:
    - getpayload
    linkageType: ''
    returnType: long double
    signature: long double getpayloadl (const long double *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isnanl
      Src: /src/gnulib/lib/getpayloadl.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - long double*
    constantsTouched: []
    func_position:
      end: 98
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 98
    functionName: getpayloadl
    functionSourceFile: /src/gnulib/lib/getpayloadl.c
    functionUses: 1
    functionsReached:
    - isnanl
    linkageType: ''
    returnType: long double
    signature: long double getpayloadl (const long double *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/mini-gmp.c:291,1
    - Dst: abort
      Src: /src/gnulib/lib/mini-gmp.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: gmp_die
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 8
    functionsReached:
    - abort
    - fprintf
    linkageType: ''
    returnType: void
    signature: void gmp_die (const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:300,1
    - Dst: malloc
      Src: /src/gnulib/lib/mini-gmp.c:302,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: gmp_default_alloc
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - gmp_die
    linkageType: ''
    returnType: void
    signature: 'void *

      gmp_default_alloc (size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/gnulib/lib/mini-gmp.c:314,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - old
    - unused_old_size
    - new_size
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: gmp_default_realloc
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_die
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      gmp_default_realloc (void *old, size_t unused_old_size, size_t new_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/mini-gmp.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - unused_size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: gmp_default_free
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gmp_default_free (void *p, size_t unused_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - (**alloc_func) (size_t)
    - (**realloc_func) (void *, size_t, size_t)
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: mp_get_memory_functions
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp_get_memory_functions (void *(**alloc_func) (size_t),\n\t\t\t
      void *(**realloc_func) (void *, size_t, size_t),\n\t\t\t void (**free_func)
      (void *, size_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - (*alloc_func) (size_t)
    - (*realloc_func) (void *, size_t, size_t)
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: mp_set_memory_functions
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp_set_memory_functions (void *(*alloc_func) (size_t),\n\t\t\t
      void *(*realloc_func) (void *, size_t, size_t),\n\t\t\t void (*free_func) (void
      *, size_t))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc
      Src: /src/gnulib/lib/mini-gmp.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: gmp_alloc_limbs
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 17
    functionsReached:
    - gmp_alloc
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr gmp_alloc_limbs (mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:377,1
    - Dst: gmp_realloc
      Src: /src/gnulib/lib/mini-gmp.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - old_size
    - size
    argTypes:
    - mp_ptr
    - mp_size_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: gmp_realloc_limbs
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_realloc
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr gmp_realloc_limbs (mp_ptr old, mp_size_t old_size, mp_size_t
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_free
      Src: /src/gnulib/lib/mini-gmp.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - old
    - size
    argTypes:
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: gmp_free_limbs
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 17
    functionsReached:
    - gmp_free
    linkageType: ''
    returnType: void
    signature: void gmp_free_limbs (mp_ptr old, mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: mpn_copyi
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_copyi (mp_ptr d, mp_srcptr s, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - d
    - s
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: mpn_copyd
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_copyd (mp_ptr d, mp_srcptr s, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ap
    - bp
    - n
    argTypes:
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: mpn_cmp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpn_cmp (mp_srcptr ap, mp_srcptr bp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/gnulib/lib/mini-gmp.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: mpn_cmp4
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_cmp
    linkageType: ''
    returnType: int
    signature: int mpn_cmp4 (mp_srcptr ap, mp_size_t an, mp_srcptr bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - xp
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: mpn_normalized_size
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_normalized_size (mp_srcptr xp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rp
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: mpn_zero_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 12
    functionsReached:
    - mpn_normalized_size
    linkageType: ''
    returnType: int
    signature: int mpn_zero_p(mp_srcptr rp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rp
    - n
    argTypes:
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: mpn_zero
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_zero (mp_ptr rp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: mpn_add_1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 482
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 482
    functionName: mpn_add_n
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:489,1
    - Dst: mpn_add_n
      Src: /src/gnulib/lib/mini-gmp.c:491,1
    - Dst: mpn_add_1
      Src: /src/gnulib/lib/mini-gmp.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: mpn_add
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - assert
    - mpn_add_n
    - mpn_add_1
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_add (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr
      bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rp
    - ap
    - n
    - b
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 516
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 516
    functionName: mpn_sub_1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub_1 (mp_ptr rp, mp_srcptr ap, mp_size_t n, mp_limb_t
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: mpn_sub_n
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:541,1
    - Dst: mpn_sub_n
      Src: /src/gnulib/lib/mini-gmp.c:543,1
    - Dst: mpn_sub_1
      Src: /src/gnulib/lib/mini-gmp.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rp
    - ap
    - an
    - bp
    - bn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: mpn_sub
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpn_sub_n
    - mpn_sub_1
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_sub (mp_ptr rp, mp_srcptr ap, mp_size_t an, mp_srcptr
      bp, mp_size_t bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:554,1
    - Dst: gmp_umul_ppmm
      Src: /src/gnulib/lib/mini-gmp.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 570
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 570
    functionName: mpn_mul_1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_mul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:577,1
    - Dst: gmp_umul_ppmm
      Src: /src/gnulib/lib/mini-gmp.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 596
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 596
    functionName: mpn_addmul_1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 13
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_addmul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:603,1
    - Dst: gmp_umul_ppmm
      Src: /src/gnulib/lib/mini-gmp.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - vl
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 622
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 622
    functionName: mpn_submul_1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 7
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_submul_1 (mp_ptr rp, mp_srcptr up, mp_size_t n, mp_limb_t
      vl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:627,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:628,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:629,1
    - Dst: GMP_MPN_OVERLAP_P
      Src: /src/gnulib/lib/mini-gmp.c:629,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:630,1
    - Dst: GMP_MPN_OVERLAP_P
      Src: /src/gnulib/lib/mini-gmp.c:630,1
    - Dst: mpn_mul_1
      Src: /src/gnulib/lib/mini-gmp.c:636,1
    - Dst: mpn_addmul_1
      Src: /src/gnulib/lib/mini-gmp.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - rp
    - up
    - un
    - vp
    - vn
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 647
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 647
    functionName: mpn_mul
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpn_addmul_1
    - mpn_mul_1
    - GMP_MPN_OVERLAP_P
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_mul (mp_ptr rp, mp_srcptr up, mp_size_t un, mp_srcptr
      vp, mp_size_t vn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/gnulib/lib/mini-gmp.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: mpn_mul_n
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: void mpn_mul_n (mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_mul
      Src: /src/gnulib/lib/mini-gmp.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rp
    - ap
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: mpn_sqr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_mul
    linkageType: ''
    returnType: void
    signature: void mpn_sqr (mp_ptr rp, mp_srcptr ap, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:668,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:669,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - cnt
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 689
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 689
    functionName: mpn_lshift
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_lshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned
      int cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:698,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:699,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - rp
    - up
    - n
    - cnt
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 716
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 716
    functionName: mpn_rshift
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_rshift (mp_ptr rp, mp_srcptr up, mp_size_t n, unsigned
      int cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:724,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:725,1
    - Dst: gmp_ctz
      Src: /src/gnulib/lib/mini-gmp.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - limb
    - i
    - up
    - un
    - ux
    argTypes:
    - mp_limb_t
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 736
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 736
    functionName: mpn_common_scan
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - gmp_ctz
    - assert
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: "mp_bitcnt_t mpn_common_scan (mp_limb_t limb, mp_size_t i, mp_srcptr
      up, mp_size_t un,\n\t\t mp_limb_t ux)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_common_scan
      Src: /src/gnulib/lib/mini-gmp.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - bit
    argTypes:
    - mp_srcptr
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 746
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 746
    functionName: mpn_scan1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_scan1 (mp_srcptr ptr, mp_bitcnt_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_common_scan
      Src: /src/gnulib/lib/mini-gmp.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - bit
    argTypes:
    - mp_srcptr
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: mpn_scan0
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_scan0 (mp_srcptr ptr, mp_bitcnt_t bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rp
    - up
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: mpn_com
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_com (mp_ptr rp, mp_srcptr up, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_com
      Src: /src/gnulib/lib/mini-gmp.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rp
    - up
    - n
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 778
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 778
    functionName: mpn_neg
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpn_com
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_neg (mp_ptr rp, mp_srcptr up, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:796,1
    - Dst: gmp_umul_ppmm
      Src: /src/gnulib/lib/mini-gmp.c:884,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - u1
    - u0
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 894
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 894
    functionName: mpn_invert_3by2
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - assert
    - gmp_umul_ppmm
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_invert_3by2 (mp_limb_t u1, mp_limb_t u0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:911,1
    - Dst: gmp_clz
      Src: /src/gnulib/lib/mini-gmp.c:912,1
    - Dst: mpn_invert_limb
      Src: /src/gnulib/lib/mini-gmp.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - inv
    - d
    argTypes:
    - struct gmp_div_inverse*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 916
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 916
    functionName: mpn_div_qr_1_invert
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - gmp_clz
    - assert
    - mpn_invert_limb
    linkageType: ''
    returnType: void
    signature: void mpn_div_qr_1_invert (struct gmp_div_inverse *inv, mp_limb_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:924,1
    - Dst: gmp_clz
      Src: /src/gnulib/lib/mini-gmp.c:925,1
    - Dst: mpn_invert_3by2
      Src: /src/gnulib/lib/mini-gmp.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - inv
    - d1
    - d0
    argTypes:
    - struct gmp_div_inverse*
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 935
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 935
    functionName: mpn_div_qr_2_invert
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_clz
    - mpn_invert_3by2
    - assert
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_2_invert (struct gmp_div_inverse *inv,\n\t\t     mp_limb_t
      d1, mp_limb_t d0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:941,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/gnulib/lib/mini-gmp.c:944,1
    - Dst: mpn_div_qr_2_invert
      Src: /src/gnulib/lib/mini-gmp.c:946,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:954,1
    - Dst: gmp_clz
      Src: /src/gnulib/lib/mini-gmp.c:955,1
    - Dst: mpn_invert_3by2
      Src: /src/gnulib/lib/mini-gmp.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - inv
    - dp
    - dn
    argTypes:
    - struct gmp_div_inverse*
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 966
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 966
    functionName: mpn_div_qr_invert
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - gmp_clz
    - assert
    - mpn_invert_3by2
    - mpn_div_qr_1_invert
    - mpn_div_qr_2_invert
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_invert (struct gmp_div_inverse *inv,\n\t\t   mp_srcptr
      dp, mp_size_t dn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:986,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:988,1
    - Dst: gmp_udiv_qrnnd_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1000,1
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - qp
    - np
    - nn
    - inv
    argTypes:
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1008
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1008
    functionName: mpn_div_qr_1_preinv
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - gmp_alloc_limbs
    - mpn_lshift
    - gmp_udiv_qrnnd_preinv
    - gmp_free_limbs
    linkageType: ''
    returnType: mp_limb_t
    signature: "mp_limb_t mpn_div_qr_1_preinv (mp_ptr qp, mp_srcptr np, mp_size_t
      nn,\n\t\t     const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1018,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:1025,1
    - Dst: gmp_udiv_qr_3by2
      Src: /src/gnulib/lib/mini-gmp.c:1036,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - qp
    - np
    - nn
    - inv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1052
    functionName: mpn_div_qr_2_preinv
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - assert
    - gmp_udiv_qr_3by2
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_2_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,\n\t\t
      \    const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1066,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1067,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1072,1
    - Dst: mpn_submul_1
      Src: /src/gnulib/lib/mini-gmp.c:1087,1
    - Dst: gmp_udiv_qr_3by2
      Src: /src/gnulib/lib/mini-gmp.c:1092,1
    - Dst: mpn_submul_1
      Src: /src/gnulib/lib/mini-gmp.c:1094,1
    - Dst: mpn_add_n
      Src: /src/gnulib/lib/mini-gmp.c:1104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 7
    argNames:
    - qp
    - np
    - nn
    - n1
    - dp
    - dn
    - dinv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_limb_t
    - mp_srcptr
    - mp_size_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1115
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1115
    functionName: mpn_div_qr_pi1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpn_submul_1
    - assert
    - gmp_udiv_qr_3by2
    - mpn_add_n
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_pi1 (mp_ptr qp,\n\t\tmp_ptr np, mp_size_t nn, mp_limb_t
      n1,\n\t\tmp_srcptr dp, mp_size_t dn,\n\t\tmp_limb_t dinv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1122,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1123,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1126,1
    - Dst: mpn_div_qr_2_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1128,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1134,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1135,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1136,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:1140,1
    - Dst: mpn_div_qr_pi1
      Src: /src/gnulib/lib/mini-gmp.c:1144,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:1147,1
    - Dst: mpn_rshift
      Src: /src/gnulib/lib/mini-gmp.c:1147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - qp
    - np
    - nn
    - dp
    - dn
    - inv
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1149
    functionName: mpn_div_qr_preinv
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - assert
    - mpn_div_qr_1_preinv
    - mpn_div_qr_2_preinv
    - mpn_div_qr_pi1
    - gmp_assert_nocarry
    - mpn_lshift
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void mpn_div_qr_preinv (mp_ptr qp, mp_ptr np, mp_size_t nn,\n\t\t
      \  mp_srcptr dp, mp_size_t dn,\n\t\t   const struct gmp_div_inverse *inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1157,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1158,1
    - Dst: mpn_div_qr_invert
      Src: /src/gnulib/lib/mini-gmp.c:1160,1
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1163,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:1164,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:1164,1
    - Dst: mpn_div_qr_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1167,1
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - qp
    - np
    - nn
    - dp
    - dn
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1170
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1170
    functionName: mpn_div_qr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - assert
    - gmp_free_limbs
    - gmp_alloc_limbs
    - mpn_div_qr_invert
    - mpn_div_qr_preinv
    - gmp_assert_nocarry
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpn_div_qr (mp_ptr qp, mp_ptr np, mp_size_t nn, mp_srcptr dp,
      mp_size_t dn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - b
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 1189
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1189
    functionName: mpn_base_power_of_two_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned mpn_base_power_of_two_p (unsigned b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - b
    argTypes:
    - struct mpn_base_info*
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1212
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1212
    functionName: mpn_get_base_info
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpn_get_base_info (struct mpn_base_info *info, mp_limb_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1219,1
    - Dst: gmp_clz
      Src: /src/gnulib/lib/mini-gmp.c:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 1222
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1222
    functionName: mpn_limb_size_in_base_2
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - gmp_clz
    - assert
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_limb_size_in_base_2 (mp_limb_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_limb_size_in_base_2
      Src: /src/gnulib/lib/mini-gmp.c:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - sp
    - bits
    - up
    - un
    argTypes:
    - unsigned char*
    - unsigned
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1251
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1251
    functionName: mpn_get_str_bits
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_limb_size_in_base_2
    linkageType: ''
    returnType: size_t
    signature: size_t mpn_get_str_bits (unsigned char *sp, unsigned bits, mp_srcptr
      up, mp_size_t un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_udiv_qrnnd_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1267,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sp
    - w
    - binv
    argTypes:
    - unsigned char*
    - mp_limb_t
    - struct gmp_div_inverse*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1274
    functionName: mpn_limb_get_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_udiv_qrnnd_preinv
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t mpn_limb_get_str (unsigned char *sp, mp_limb_t w,\n\t\t  const
      struct gmp_div_inverse *binv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_div_qr_1_invert
      Src: /src/gnulib/lib/mini-gmp.c:1285,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/gnulib/lib/mini-gmp.c:1292,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/gnulib/lib/mini-gmp.c:1298,1
    - Dst: mpn_limb_get_str
      Src: /src/gnulib/lib/mini-gmp.c:1300,1
    - Dst: mpn_limb_get_str
      Src: /src/gnulib/lib/mini-gmp.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - sp
    - base
    - info
    - up
    - un
    argTypes:
    - unsigned char*
    - int
    - struct mpn_base_info*
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1318
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1318
    functionName: mpn_get_str_other
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_div_qr_1_preinv
    - mpn_limb_get_str
    - mpn_div_qr_1_invert
    linkageType: ''
    returnType: size_t
    signature: "size_t mpn_get_str_other (unsigned char *sp,\n\t\t   int base, const
      struct mpn_base_info *info,\n\t\t   mp_ptr up, mp_size_t un)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1325,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1326,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/gnulib/lib/mini-gmp.c:1328,1
    - Dst: mpn_get_str_bits
      Src: /src/gnulib/lib/mini-gmp.c:1330,1
    - Dst: mpn_get_base_info
      Src: /src/gnulib/lib/mini-gmp.c:1335,1
    - Dst: mpn_get_str_other
      Src: /src/gnulib/lib/mini-gmp.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - sp
    - base
    - up
    - un
    argTypes:
    - unsigned char*
    - int
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1338
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1338
    functionName: mpn_get_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_get_str_bits
    - mpn_base_power_of_two_p
    - mpn_get_str_other
    - mpn_get_base_info
    linkageType: ''
    returnType: size_t
    signature: size_t mpn_get_str (unsigned char *sp, int base, mp_ptr up, mp_size_t
      un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rp
    - sp
    - sn
    - bits
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1366
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1366
    functionName: mpn_set_str_bits
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_normalized_size
    linkageType: ''
    returnType: mp_size_t
    signature: "mp_size_t mpn_set_str_bits (mp_ptr rp, const unsigned char *sp, size_t
      sn,\n\t\t  unsigned bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1379,1
    - Dst: mpn_mul_1
      Src: /src/gnulib/lib/mini-gmp.c:1398,1
    - Dst: mpn_add_1
      Src: /src/gnulib/lib/mini-gmp.c:1399,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - rp
    - sp
    - sn
    - b
    - info
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - mp_limb_t
    - struct mpn_base_info*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1406
    functionName: mpn_set_str_other
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - assert
    - mpn_mul_1
    - mpn_add_1
    linkageType: ''
    returnType: mp_size_t
    signature: "mp_size_t mpn_set_str_other (mp_ptr rp, const unsigned char *sp, size_t
      sn,\n\t\t   mp_limb_t b, const struct mpn_base_info *info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_base_power_of_two_p
      Src: /src/gnulib/lib/mini-gmp.c:1416,1
    - Dst: mpn_set_str_bits
      Src: /src/gnulib/lib/mini-gmp.c:1418,1
    - Dst: mpn_get_base_info
      Src: /src/gnulib/lib/mini-gmp.c:1423,1
    - Dst: mpn_set_str_other
      Src: /src/gnulib/lib/mini-gmp.c:1424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rp
    - sp
    - sn
    - base
    argTypes:
    - mp_ptr
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1426
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1426
    functionName: mpn_set_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_set_str_bits
    - mpn_base_power_of_two_p
    - mpn_get_base_info
    - mpn_set_str_other
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_set_str (mp_ptr rp, const unsigned char *sp, size_t sn,
      int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1438
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1438
    functionName: mpz_init
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 161
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mpz_init (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - bits
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 1453
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1453
    functionName: mpz_init2
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - gmp_alloc_limbs
    linkageType: ''
    returnType: void
    signature: void mpz_init2 (mpz_t r, mp_bitcnt_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1460
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1460
    functionName: mpz_clear
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 183
    functionsReached:
    - gmp_free_limbs
    linkageType: ''
    returnType: void
    signature: void mpz_clear (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_MAX
      Src: /src/gnulib/lib/mini-gmp.c:1465,1
    - Dst: gmp_realloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1468,1
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:1470,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - r
    - size
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1477
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1477
    functionName: mpz_realloc
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_alloc_limbs
    - GMP_ABS
    - GMP_MAX
    - gmp_realloc_limbs
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_realloc (mpz_t r, mp_size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:1489,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:1494,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1499,1
    - Dst: GMP_NEG_CAST
      Src: /src/gnulib/lib/mini-gmp.c:1499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - signed long int
    constantsTouched: []
    func_position:
      end: 1501
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1501
    functionName: mpz_set_si
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - MPZ_REALLOC
    - mpz_neg
    - GMP_NEG_CAST
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_set_si (mpz_t r, signed long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1509,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 1522
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1522
    functionName: mpz_set_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 50
    functionsReached:
    - MPZ_REALLOC
    linkageType: ''
    returnType: void
    signature: void mpz_set_ui (mpz_t r, unsigned long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1533,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1534,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1539
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1539
    functionName: mpz_set
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 30
    functionsReached:
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_copyi
    linkageType: ''
    returnType: void
    signature: void mpz_set (mpz_t r, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:1544,1
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-gmp.c:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - signed long int
    constantsTouched: []
    func_position:
      end: 1546
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1546
    functionName: mpz_init_set_si
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_set_si
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_si (mpz_t r, signed long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:1551,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 1553
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1553
    functionName: mpz_init_set_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 18
    functionsReached:
    - mpz_init
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_ui (mpz_t r, unsigned long int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:1558,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: mpz_init_set
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - mpz_set
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set (mpz_t r, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1565,1
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: mpz_fits_slong_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_slong_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - up
    - un
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1578
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1578
    functionName: mpn_absfits_ulong_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mpn_absfits_ulong_p (mp_srcptr up, mp_size_t un)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_absfits_ulong_p
      Src: /src/gnulib/lib/mini-gmp.c:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1586
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1586
    functionName: mpz_fits_ulong_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_absfits_ulong_p
    linkageType: ''
    returnType: int
    signature: int mpz_fits_ulong_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1591,1
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1592
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1592
    functionName: mpz_fits_sint_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_sint_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1598
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1598
    functionName: mpz_fits_uint_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_fits_uint_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1603,1
    - Dst: mpz_cmp_si
      Src: /src/gnulib/lib/mini-gmp.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1604
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1604
    functionName: mpz_fits_sshort_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmp_si
    linkageType: ''
    returnType: int
    signature: int mpz_fits_sshort_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1610
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1610
    functionName: mpz_fits_ushort_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_fits_ushort_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1623
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1623
    functionName: mpz_get_si
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: long int
    signature: long int mpz_get_si (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1632,1
    - Dst: GMP_MIN
      Src: /src/gnulib/lib/mini-gmp.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1640
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1640
    functionName: mpz_get_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - GMP_MIN
    - GMP_ABS
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int mpz_get_ui (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1646
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1646
    functionName: mpz_size
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 20
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_size (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - u
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1655
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1655
    functionName: mpz_getlimbn
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpz_getlimbn (const mpz_t u, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_realloc
      Src: /src/gnulib/lib/mini-gmp.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 1661
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1661
    functionName: mpz_realloc2
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_realloc
    linkageType: ''
    returnType: void
    signature: void mpz_realloc2 (mpz_t x, mp_bitcnt_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - mpz_srcptr
    constantsTouched: []
    func_position:
      end: 1667
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1667
    functionName: mpz_limbs_read
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: mp_srcptr
    signature: mp_srcptr mpz_limbs_read (mpz_srcptr x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1672,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1674
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1674
    functionName: mpz_limbs_modify
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - MPZ_REALLOC
    - assert
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_limbs_modify (mpz_t x, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_limbs_modify
      Src: /src/gnulib/lib/mini-gmp.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1680
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1680
    functionName: mpz_limbs_write
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 8
    functionsReached:
    - mpz_limbs_modify
    linkageType: ''
    returnType: mp_ptr
    signature: mp_ptr mpz_limbs_write (mpz_t x, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:1686,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - xs
    argTypes:
    - mpz_t
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1688
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1688
    functionName: mpz_limbs_finish
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 9
    functionsReached:
    - GMP_ABS
    - mpn_normalized_size
    linkageType: ''
    returnType: void
    signature: void mpz_limbs_finish (mpz_t x, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - xp
    - xs
    argTypes:
    - mpz_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1697
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1697
    functionName: mpz_roinit_normal_n
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: mpz_srcptr
    signature: mpz_srcptr mpz_roinit_normal_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-gmp.c:1702,1
    - Dst: mpz_limbs_finish
      Src: /src/gnulib/lib/mini-gmp.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - xp
    - xs
    argTypes:
    - mpz_t
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 1705
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1705
    functionName: mpz_roinit_n
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 20
    functionsReached:
    - mpz_roinit_normal_n
    - mpz_limbs_finish
    linkageType: ''
    returnType: mpz_srcptr
    signature: mpz_srcptr mpz_roinit_n (mpz_t x, mp_srcptr xp, mp_size_t xs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1741,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1745,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:1753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1758
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1758
    functionName: mpz_set_d
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - MPZ_REALLOC
    - assert
    linkageType: ''
    returnType: void
    signature: void mpz_set_d (mpz_t r, double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:1763,1
    - Dst: mpz_set_d
      Src: /src/gnulib/lib/mini-gmp.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - x
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1765
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1765
    functionName: mpz_init_set_d
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_set_d
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_init_set_d (mpz_t r, double x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1776,1
    - Dst: gmp_clz
      Src: /src/gnulib/lib/mini-gmp.c:1782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1803
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1803
    functionName: mpz_get_d
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_clz
    - GMP_ABS
    linkageType: ''
    returnType: double
    signature: double mpz_get_d (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1813,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1844
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1844
    functionName: mpz_cmpabs_d
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs_d (const mpz_t x, double d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_d
      Src: /src/gnulib/lib/mini-gmp.c:1854,1
    - Dst: mpz_cmpabs_d
      Src: /src/gnulib/lib/mini-gmp.c:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - d
    argTypes:
    - mpz_t
    - double
    constantsTouched: []
    func_position:
      end: 1863
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1863
    functionName: mpz_cmp_d
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_cmpabs_d
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_d (const mpz_t x, double d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_CMP
      Src: /src/gnulib/lib/mini-gmp.c:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1871
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1871
    functionName: mpz_sgn
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 25
    functionsReached:
    - GMP_CMP
    linkageType: ''
    returnType: int
    signature: int mpz_sgn (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-gmp.c:1879,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:1883,1
    - Dst: GMP_NEG_CAST
      Src: /src/gnulib/lib/mini-gmp.c:1883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - long
    constantsTouched: []
    func_position:
      end: 1884
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1884
    functionName: mpz_cmp_si
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 6
    functionsReached:
    - mpz_cmpabs_ui
    - GMP_NEG_CAST
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_si (const mpz_t u, long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1895
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1895
    functionName: mpz_cmp_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 31
    functionsReached:
    - mpz_cmpabs_ui
    linkageType: ''
    returnType: int
    signature: int mpz_cmp_ui (const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp
      Src: /src/gnulib/lib/mini-gmp.c:1906,1
    - Dst: mpn_cmp
      Src: /src/gnulib/lib/mini-gmp.c:1908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: mpz_cmp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 52
    functionsReached:
    - mpn_cmp
    linkageType: ''
    returnType: int
    signature: int mpz_cmp (const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1914,1
    - Dst: mpn_absfits_ulong_p
      Src: /src/gnulib/lib/mini-gmp.c:1916,1
    - Dst: GMP_CMP
      Src: /src/gnulib/lib/mini-gmp.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1923
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1923
    functionName: mpz_cmpabs_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 11
    functionsReached:
    - GMP_ABS
    - mpn_absfits_ulong_p
    - GMP_CMP
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs_ui (const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_cmp4
      Src: /src/gnulib/lib/mini-gmp.c:1928,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1928,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1930
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1930
    functionName: mpz_cmpabs
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - GMP_ABS
    - mpn_cmp4
    linkageType: ''
    returnType: int
    signature: int mpz_cmpabs (const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:1935,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1937
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1937
    functionName: mpz_abs
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 7
    functionsReached:
    - GMP_ABS
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void mpz_abs (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1944
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1944
    functionName: mpz_neg
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 11
    functionsReached:
    - mpz_set
    linkageType: ''
    returnType: void
    signature: void mpz_neg (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MP_SIZE_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:1949,1
    - Dst: MPN_PTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1951
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1951
    functionName: mpz_swap
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 16
    functionsReached:
    - MP_SIZE_T_SWAP
    - MPN_PTR_SWAP
    linkageType: ''
    returnType: void
    signature: void mpz_swap (mpz_t u, mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:1961,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:1962,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1964
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1964
    functionName: mpz_add_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 25
    functionsReached:
    - mpz_add
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_add_ui (mpz_t r, const mpz_t a, unsigned long b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_ui_sub
      Src: /src/gnulib/lib/mini-gmp.c:1969,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1971
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1971
    functionName: mpz_sub_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 34
    functionsReached:
    - mpz_neg
    - mpz_ui_sub
    linkageType: ''
    returnType: void
    signature: void mpz_sub_ui (mpz_t r, const mpz_t a, unsigned long b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:1976,1
    - Dst: mpz_add_ui
      Src: /src/gnulib/lib/mini-gmp.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - unsigned long
    - mpz_t
    constantsTouched: []
    func_position:
      end: 1978
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1978
    functionName: mpz_ui_sub
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_neg
    - mpz_add_ui
    linkageType: ''
    returnType: void
    signature: void mpz_ui_sub (mpz_t r, unsigned long a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1983,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:1984,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:1990,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:1991,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:1994,1
    - Dst: mpn_add
      Src: /src/gnulib/lib/mini-gmp.c:1995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2000
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 2000
    functionName: mpz_abs_add
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - MPZ_SRCPTR_SWAP
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_add
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpz_abs_add (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2005,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2006,1
    - Dst: mpn_cmp4
      Src: /src/gnulib/lib/mini-gmp.c:2010,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:2013,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2014,1
    - Dst: mpn_sub
      Src: /src/gnulib/lib/mini-gmp.c:2014,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2015,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:2019,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2020,1
    - Dst: mpn_sub
      Src: /src/gnulib/lib/mini-gmp.c:2020,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2025
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2025
    functionName: mpz_abs_sub
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpn_normalized_size
    - gmp_assert_nocarry
    - mpn_cmp4
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_sub
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpz_abs_sub (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs_add
      Src: /src/gnulib/lib/mini-gmp.c:2033,1
    - Dst: mpz_abs_sub
      Src: /src/gnulib/lib/mini-gmp.c:2035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2038
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2038
    functionName: mpz_add
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 24
    functionsReached:
    - mpz_abs_sub
    - mpz_abs_add
    linkageType: ''
    returnType: void
    signature: void mpz_add (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs_sub
      Src: /src/gnulib/lib/mini-gmp.c:2046,1
    - Dst: mpz_abs_add
      Src: /src/gnulib/lib/mini-gmp.c:2048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2051
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2051
    functionName: mpz_sub
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 23
    functionsReached:
    - mpz_abs_sub
    - mpz_abs_add
    linkageType: ''
    returnType: void
    signature: void mpz_sub (mpz_t r, const mpz_t a, const mpz_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:2061,1
    - Dst: mpz_mul_ui
      Src: /src/gnulib/lib/mini-gmp.c:2064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - long int
    constantsTouched: []
    func_position:
      end: 2065
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2065
    functionName: mpz_mul_si
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_mul_ui
    - mpz_neg
    linkageType: ''
    returnType: void
    signature: void mpz_mul_si (mpz_t r, const mpz_t u, long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2071,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:2072,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2075
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2075
    functionName: mpz_mul_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 15
    functionsReached:
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_mul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2096,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2097,1
    - Dst: mpz_init2
      Src: /src/gnulib/lib/mini-gmp.c:2099,1
    - Dst: mpn_mul
      Src: /src/gnulib/lib/mini-gmp.c:2103,1
    - Dst: mpn_mul
      Src: /src/gnulib/lib/mini-gmp.c:2105,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2111,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2113
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2113
    functionName: mpz_mul
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 44
    functionsReached:
    - mpn_mul
    - mpz_init2
    - mpz_swap
    - mpz_clear
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_mul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2123,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:2134,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:2137,1
    - Dst: mpn_copyd
      Src: /src/gnulib/lib/mini-gmp.c:2142,1
    - Dst: mpn_zero
      Src: /src/gnulib/lib/mini-gmp.c:2144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - r
    - u
    - bits
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2147
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2147
    functionName: mpz_mul_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 20
    functionsReached:
    - mpn_zero
    - mpn_copyd
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpz_mul_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2153,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:2154,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2155,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2157
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2157
    functionName: mpz_addmul_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_add
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_addmul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2163,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:2164,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2165,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 2167
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2167
    functionName: mpz_submul_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_submul_ui (mpz_t r, const mpz_t u, unsigned long int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2173,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:2174,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2175,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2177
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2177
    functionName: mpz_addmul
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_clear
    - mpz_add
    - mpz_mul
    - mpz_init
    linkageType: ''
    returnType: void
    signature: void mpz_addmul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2183,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:2184,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2185,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2187
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2187
    functionName: mpz_submul
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_clear
    - mpz_mul
    - mpz_init
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_submul (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:2203,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2214,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2215,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2225,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2227,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2233,1
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-gmp.c:2235,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:2241,1
    - Dst: mpz_init_set
      Src: /src/gnulib/lib/mini-gmp.c:2253,1
    - Dst: mpz_init2
      Src: /src/gnulib/lib/mini-gmp.c:2260,1
    - Dst: mpn_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2266,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2274,1
    - Dst: mpz_sub_ui
      Src: /src/gnulib/lib/mini-gmp.c:2280,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2282,1
    - Dst: mpz_add_ui
      Src: /src/gnulib/lib/mini-gmp.c:2287,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2289,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2294,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2295,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2298,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2300,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 5
    argNames:
    - q
    - r
    - n
    - d
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2304
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2304
    functionName: mpz_div_qr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 13
    functionsReached:
    - mpz_init_set
    - gmp_die
    - mpn_normalized_size
    - mpz_sub_ui
    - mpz_init2
    - mpz_set
    - mpz_add_ui
    - mpz_swap
    - mpz_set_si
    - mpn_div_qr
    - mpz_clear
    - mpz_set_ui
    - GMP_ABS
    - mpz_add
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: "int mpz_div_qr (mpz_t q, mpz_t r,\n\t    const mpz_t n, const mpz_t
      d, enum mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2310
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2310
    functionName: mpz_cdiv_qr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2316
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2316
    functionName: mpz_fdiv_qr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2322
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2322
    functionName: mpz_tdiv_qr
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_qr (mpz_t q, mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2328
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2328
    functionName: mpz_cdiv_q
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2334
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2334
    functionName: mpz_fdiv_q
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2340
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2340
    functionName: mpz_tdiv_q
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_q (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2346
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2346
    functionName: mpz_cdiv_r
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2352
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2352
    functionName: mpz_fdiv_r
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 15
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2358
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2358
    functionName: mpz_tdiv_r
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_r (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2364
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2364
    functionName: mpz_mod
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 25
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_mod (mpz_t r, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2382,1
    - Dst: mpn_zero_p
      Src: /src/gnulib/lib/mini-gmp.c:2389,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:2399,1
    - Dst: mpn_rshift
      Src: /src/gnulib/lib/mini-gmp.c:2403,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:2408,1
    - Dst: mpz_add_ui
      Src: /src/gnulib/lib/mini-gmp.c:2415,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:2417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - q
    - u
    - bit_index
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2418
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2418
    functionName: mpz_div_q_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_neg
    - mpn_copyi
    - mpz_add_ui
    - mpn_zero_p
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_rshift
    linkageType: ''
    returnType: void
    signature: "void mpz_div_q_2exp (mpz_t q, const mpz_t u, mp_bitcnt_t bit_index,\n\t\tenum
      mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2435,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:2437,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:2438,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2451,1
    - Dst: mpn_neg
      Src: /src/gnulib/lib/mini-gmp.c:2451,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:2462,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:2470,1
    - Dst: mpn_neg
      Src: /src/gnulib/lib/mini-gmp.c:2477,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - r
    - u
    - bit_index
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2488
      start: 2420
    functionDepth: 1
    functionLinenumber: 2420
    functionLinenumberEnd: 2488
    functionName: mpz_div_r_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpn_neg
    - mpn_normalized_size
    - mpn_copyi
    - gmp_assert_nocarry
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: "void mpz_div_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t bit_index,\n\t\tenum
      mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2494
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2494
    functionName: mpz_cdiv_q_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2500
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2500
    functionName: mpz_fdiv_q_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2506
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2506
    functionName: mpz_tdiv_q_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 9
    functionsReached:
    - mpz_div_q_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_q_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2512
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2512
    functionName: mpz_cdiv_r_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_cdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2518
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2518
    functionName: mpz_fdiv_r_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_fdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_r_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - u
    - cnt
    argTypes:
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 2524
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2524
    functionName: mpz_tdiv_r_2exp
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_r_2exp
    linkageType: ''
    returnType: void
    signature: void mpz_tdiv_r_2exp (mpz_t r, const mpz_t u, mp_bitcnt_t cnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2529,1
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2530
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2530
    functionName: mpz_divexact
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - gmp_assert_nocarry
    - mpz_div_qr
    linkageType: ''
    returnType: void
    signature: void mpz_divexact (mpz_t q, const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2536
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2536
    functionName: mpz_divisible_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_qr
    linkageType: ''
    returnType: int
    signature: int mpz_divisible_p (const mpz_t n, const mpz_t d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sgn
      Src: /src/gnulib/lib/mini-gmp.c:2545,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-gmp.c:2546,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2548,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2549,1
    - Dst: mpz_divisible_p
      Src: /src/gnulib/lib/mini-gmp.c:2550,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2554
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2554
    functionName: mpz_congruent_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 7
    functionsReached:
    - mpz_sgn
    - mpz_init
    - mpz_cmp
    - mpz_clear
    - mpz_divisible_p
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int mpz_congruent_p (const mpz_t a, const mpz_t b, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2563,1
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2564,1
    - Dst: mpz_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2565,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2566,1
    - Dst: mpz_get_ui
      Src: /src/gnulib/lib/mini-gmp.c:2567,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2570,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - q
    - r
    - n
    - d
    - mode
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    - enum mpz_div_round_mode
    constantsTouched: []
    func_position:
      end: 2574
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2574
    functionName: mpz_div_qr_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 15
    functionsReached:
    - mpz_get_ui
    - mpz_init_set_ui
    - mpz_swap
    - mpz_div_qr
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long mpz_div_qr_ui (mpz_t q, mpz_t r,\n\t       const mpz_t
      n, unsigned long d, enum mpz_div_round_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2580
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2580
    functionName: mpz_cdiv_qr_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2586
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2586
    functionName: mpz_fdiv_qr_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2592
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2592
    functionName: mpz_tdiv_qr_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_qr_ui (mpz_t q, mpz_t r, const mpz_t n, unsigned
      long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2598
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2598
    functionName: mpz_cdiv_q_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2604
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2604
    functionName: mpz_fdiv_q_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2610
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2610
    functionName: mpz_tdiv_q_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_q_ui (mpz_t q, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2616
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2616
    functionName: mpz_cdiv_r_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2621
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2621
    functionName: mpz_fdiv_r_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2626
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2626
    functionName: mpz_tdiv_r_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_r_ui (mpz_t r, const mpz_t n, unsigned long
      d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2632
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2632
    functionName: mpz_cdiv_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_cdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2638
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2638
    functionName: mpz_fdiv_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_fdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2644
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2644
    functionName: mpz_tdiv_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_tdiv_ui (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2650
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2650
    functionName: mpz_mod_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_mod_ui (mpz_t r, const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2655,1
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - n
    - d
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2656
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2656
    functionName: mpz_divexact_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - gmp_assert_nocarry
    - mpz_div_qr_ui
    linkageType: ''
    returnType: void
    signature: void mpz_divexact_ui (mpz_t q, const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_div_qr_ui
      Src: /src/gnulib/lib/mini-gmp.c:2661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2662
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2662
    functionName: mpz_divisible_ui_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_div_qr_ui
    linkageType: ''
    returnType: int
    signature: int mpz_divisible_ui_p (const mpz_t n, unsigned long d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2671,1
    - Dst: gmp_ctz
      Src: /src/gnulib/lib/mini-gmp.c:2678,1
    - Dst: MP_LIMB_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 2707
      start: 2666
    functionDepth: 1
    functionLinenumber: 2666
    functionLinenumberEnd: 2707
    functionName: mpn_gcd_11
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_ctz
    - assert
    - MP_LIMB_T_SWAP
    linkageType: ''
    returnType: mp_limb_t
    signature: mp_limb_t mpn_gcd_11 (mp_limb_t u, mp_limb_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2712,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2713,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2714,1
    - Dst: GMP_MPN_OVERLAP_P
      Src: /src/gnulib/lib/mini-gmp.c:2714,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2715,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2716,1
    - Dst: mpn_div_qr
      Src: /src/gnulib/lib/mini-gmp.c:2719,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2721,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:2724,1
    - Dst: MPN_PTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2729,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2734,1
    - Dst: gmp_ctz
      Src: /src/gnulib/lib/mini-gmp.c:2741,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2744,1
    - Dst: mpn_rshift
      Src: /src/gnulib/lib/mini-gmp.c:2744,1
    - Dst: MPN_PTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2749,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:2755,1
    - Dst: MP_PTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2759,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:2762,1
    - Dst: mpn_sub
      Src: /src/gnulib/lib/mini-gmp.c:2762,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:2763,1
    - Dst: mpn_gcd_11
      Src: /src/gnulib/lib/mini-gmp.c:2765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - rp
    - up
    - un
    - vp
    - vn
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_size_t
    - mp_ptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 2767
      start: 2709
    functionDepth: 1
    functionLinenumber: 2709
    functionLinenumberEnd: 2767
    functionName: mpn_gcd
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - mpn_gcd_11
    - mpn_copyi
    - MP_PTR_SWAP
    - GMP_MPN_OVERLAP_P
    - gmp_ctz
    - mpn_div_qr
    - gmp_assert_nocarry
    - mpn_sub
    - mpn_rshift
    - MPN_PTR_SWAP
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_gcd (mp_ptr rp, mp_ptr up, mp_size_t un, mp_ptr vp, mp_size_t
      vn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:2773,1
    - Dst: mpz_gcd
      Src: /src/gnulib/lib/mini-gmp.c:2774,1
    - Dst: mpz_get_ui
      Src: /src/gnulib/lib/mini-gmp.c:2776,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2779,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - g
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 2784
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2784
    functionName: mpz_gcd_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_get_ui
    - mpz_swap
    - mpz_init_set_ui
    - mpz_clear
    - mpz_gcd
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mpz_gcd_ui (mpz_t g, const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2791,1
    - Dst: mpn_scan1
      Src: /src/gnulib/lib/mini-gmp.c:2793,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2797
      start: 2786
    functionDepth: 1
    functionLinenumber: 2786
    functionLinenumberEnd: 2797
    functionName: mpz_make_odd
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - assert
    - mpn_scan1
    - mpz_tdiv_q_2exp
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_make_odd (mpz_t r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2807,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2812,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2816,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2817,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2819,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2820,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2821,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2822,1
    - Dst: GMP_MIN
      Src: /src/gnulib/lib/mini-gmp.c:2823,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2826,1
    - Dst: mpn_gcd
      Src: /src/gnulib/lib/mini-gmp.c:2828,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2829,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2831,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:2832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - g
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 2833
      start: 2799
    functionDepth: 2
    functionLinenumber: 2799
    functionLinenumberEnd: 2833
    functionName: mpz_gcd
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 11
    functionsReached:
    - GMP_MIN
    - mpz_mul_2exp
    - mpz_swap
    - mpn_gcd
    - mpz_init
    - mpz_make_odd
    - mpz_clear
    - mpz_abs
    linkageType: ''
    returnType: void
    signature: void mpz_gcd (mpz_t g, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2847,1
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-gmp.c:2851,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2859,1
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-gmp.c:2861,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2867,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2868,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2869,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2870,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2871,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:2872,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2874,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2875,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2876,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2877,1
    - Dst: GMP_MIN
      Src: /src/gnulib/lib/mini-gmp.c:2878,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:2886,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2887,1
    - Dst: MPZ_PTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2888,1
    - Dst: MP_BITCNT_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:2889,1
    - Dst: mpz_tdiv_qr
      Src: /src/gnulib/lib/mini-gmp.c:2915,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2916,1
    - Dst: mpz_setbit
      Src: /src/gnulib/lib/mini-gmp.c:2918,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2924,1
    - Dst: mpz_setbit
      Src: /src/gnulib/lib/mini-gmp.c:2925,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-gmp.c:2931,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2942,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2943,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2944,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2946,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2947,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2948,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2952,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2953,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2954,1
    - Dst: mpz_make_odd
      Src: /src/gnulib/lib/mini-gmp.c:2956,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2957,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2958,1
    - Dst: mpz_setbit
      Src: /src/gnulib/lib/mini-gmp.c:2964,1
    - Dst: mpz_mul_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2969,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:2970,1
    - Dst: mpz_divexact
      Src: /src/gnulib/lib/mini-gmp.c:2975,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2976,1
    - Dst: mpz_divexact
      Src: /src/gnulib/lib/mini-gmp.c:2977,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:2978,1
    - Dst: mpz_odd_p
      Src: /src/gnulib/lib/mini-gmp.c:2983,1
    - Dst: mpz_odd_p
      Src: /src/gnulib/lib/mini-gmp.c:2983,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:2985,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:2986,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:2988,1
    - Dst: mpz_even_p
      Src: /src/gnulib/lib/mini-gmp.c:2988,1
    - Dst: mpz_even_p
      Src: /src/gnulib/lib/mini-gmp.c:2988,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2989,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:2990,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3001,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:3002,1
    - Dst: mpz_cmpabs
      Src: /src/gnulib/lib/mini-gmp.c:3003,1
    - Dst: mpz_cmpabs
      Src: /src/gnulib/lib/mini-gmp.c:3004,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3006,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3007,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:3010,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:3012,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3014,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3016,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3018,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3020,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3021,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3022,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3023,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3024,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3025,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 104
    argCount: 5
    argNames:
    - g
    - s
    - t
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3026
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 3026
    functionName: mpz_gcdext
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - MPZ_PTR_SWAP
    - mpz_set_si
    - mpz_odd_p
    - GMP_MIN
    - mpz_mul_2exp
    - MPZ_SRCPTR_SWAP
    - mpz_divexact
    - mpz_tdiv_q_2exp
    - mpz_abs
    - mpz_sub
    - mpz_neg
    - assert
    - mpz_cmpabs
    - mpz_make_odd
    - mpz_swap
    - mpz_tdiv_qr
    - mpz_cmp
    - mpz_add
    - mpz_even_p
    - mpz_init
    - MP_BITCNT_T_SWAP
    - mpz_clear
    - mpz_setbit
    linkageType: ''
    returnType: void
    signature: void mpz_gcdext (mpz_t g, mpz_t s, mpz_t t, const mpz_t u, const mpz_t
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3039,1
    - Dst: mpz_gcd
      Src: /src/gnulib/lib/mini-gmp.c:3041,1
    - Dst: mpz_divexact
      Src: /src/gnulib/lib/mini-gmp.c:3042,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3043,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3045,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:3046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3047
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3047
    functionName: mpz_lcm
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_mul
    - mpz_divexact
    - mpz_clear
    - mpz_init
    - mpz_gcd
    - mpz_abs
    linkageType: ''
    returnType: void
    signature: void mpz_lcm (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_gcd_ui
      Src: /src/gnulib/lib/mini-gmp.c:3058,1
    - Dst: mpz_mul_ui
      Src: /src/gnulib/lib/mini-gmp.c:3059,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:3061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3062
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3062
    functionName: mpz_lcm_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mul_ui
    - mpz_gcd_ui
    - mpz_abs
    linkageType: ''
    returnType: void
    signature: void mpz_lcm_ui (mpz_t r, const mpz_t u, unsigned long v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3070,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3073,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3074,1
    - Dst: mpz_gcdext
      Src: /src/gnulib/lib/mini-gmp.c:3076,1
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-gmp.c:3077,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3084,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:3086,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3088,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3091,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - r
    - u
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3094
      start: 3064
    functionDepth: 0
    functionLinenumber: 3064
    functionLinenumberEnd: 3094
    functionName: mpz_invert
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 14
    functionsReached:
    - mpz_gcdext
    - mpz_cmpabs_ui
    - mpz_swap
    - mpz_init
    - mpz_clear
    - mpz_add
    - mpz_cmp_ui
    - mpz_sub
    linkageType: ''
    returnType: int
    signature: int mpz_invert (mpz_t r, const mpz_t u, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3104,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3109,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3111,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3116,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - b
    - e
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3118
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3118
    functionName: mpz_pow_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_swap
    - mpz_mul
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_pow_ui (mpz_t r, const mpz_t b, unsigned long e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3125,1
    - Dst: mpz_pow_ui
      Src: /src/gnulib/lib/mini-gmp.c:3126,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - blimb
    - e
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3128
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3128
    functionName: mpz_ui_pow_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_pow_ui
    - mpz_init_set_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_ui_pow_ui (mpz_t r, unsigned long blimb, unsigned long e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3141,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3142,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:3144,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3148,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3148,1
    - Dst: mpn_div_qr_invert
      Src: /src/gnulib/lib/mini-gmp.c:3153,1
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:3162,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:3163,1
    - Dst: mpn_lshift
      Src: /src/gnulib/lib/mini-gmp.c:3163,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3167,1
    - Dst: mpz_invert
      Src: /src/gnulib/lib/mini-gmp.c:3171,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:3172,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:3177,1
    - Dst: mpn_div_qr_preinv
      Src: /src/gnulib/lib/mini-gmp.c:3182,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:3191,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:3192,1
    - Dst: mpn_sub
      Src: /src/gnulib/lib/mini-gmp.c:3192,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3195,1
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3197,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3207,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3209,1
    - Dst: mpn_div_qr_preinv
      Src: /src/gnulib/lib/mini-gmp.c:3212,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3213,1
    - Dst: mpn_div_qr_preinv
      Src: /src/gnulib/lib/mini-gmp.c:3224,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3225,1
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:3228,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3230,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3231,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - r
    - b
    - e
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3233
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3233
    functionName: mpz_powm
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 23
    functionsReached:
    - gmp_free_limbs
    - mpz_invert
    - mpz_mul
    - mpn_normalized_size
    - mpz_init_set_ui
    - GMP_ABS
    - mpz_abs
    - gmp_die
    - gmp_alloc_limbs
    - mpn_div_qr_invert
    - mpz_swap
    - MPZ_REALLOC
    - mpn_sub
    - mpz_cmpabs_ui
    - mpn_div_qr_preinv
    - mpz_init
    - mpz_set_ui
    - gmp_assert_nocarry
    - mpz_clear
    - mpn_lshift
    linkageType: ''
    returnType: void
    signature: void mpz_powm (mpz_t r, const mpz_t b, const mpz_t e, const mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3240,1
    - Dst: mpz_powm
      Src: /src/gnulib/lib/mini-gmp.c:3241,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - b
    - elimb
    - m
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3243
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3243
    functionName: mpz_powm_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_init_set_ui
    - mpz_clear
    - mpz_powm
    linkageType: ''
    returnType: void
    signature: void mpz_powm_ui (mpz_t r, const mpz_t b, unsigned long elimb, const
      mpz_t m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:3255,1
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:3257,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3259,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:3261,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3267,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3268,1
    - Dst: mpz_sizeinbase
      Src: /src/gnulib/lib/mini-gmp.c:3269,1
    - Dst: mpz_setbit
      Src: /src/gnulib/lib/mini-gmp.c:3270,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3274,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-gmp.c:3275,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3276,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:3277,1
    - Dst: mpz_cmpabs
      Src: /src/gnulib/lib/mini-gmp.c:3278,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3282,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:3284,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3287,1
    - Dst: mpz_pow_ui
      Src: /src/gnulib/lib/mini-gmp.c:3288,1
    - Dst: mpz_tdiv_q
      Src: /src/gnulib/lib/mini-gmp.c:3289,1
    - Dst: mpz_mul_ui
      Src: /src/gnulib/lib/mini-gmp.c:3290,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3291,1
    - Dst: mpz_tdiv_q_ui
      Src: /src/gnulib/lib/mini-gmp.c:3292,1
    - Dst: mpz_cmpabs
      Src: /src/gnulib/lib/mini-gmp.c:3293,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3295,1
    - Dst: mpz_pow_ui
      Src: /src/gnulib/lib/mini-gmp.c:3299,1
    - Dst: mpz_sub
      Src: /src/gnulib/lib/mini-gmp.c:3300,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3303,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3304,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - x
    - r
    - y
    - z
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3306
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3306
    functionName: mpz_rootrem
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached:
    - mpz_neg
    - gmp_die
    - mpz_pow_ui
    - mpz_setbit
    - mpz_cmpabs
    - mpz_set
    - mpz_add
    - mpz_cmpabs_ui
    - mpz_swap
    - mpz_tdiv_q_ui
    - mpz_init
    - mpz_tdiv_q_2exp
    - mpz_mul_ui
    - mpz_sizeinbase
    - mpz_clear
    - mpz_tdiv_q
    - mpz_sub
    linkageType: ''
    returnType: void
    signature: void mpz_rootrem (mpz_t x, mpz_t r, const mpz_t y, unsigned long z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3314,1
    - Dst: mpz_rootrem
      Src: /src/gnulib/lib/mini-gmp.c:3315,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - mpz_t
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3320
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3320
    functionName: mpz_root
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - mpz_rootrem
    - mpz_clear
    - mpz_init
    linkageType: ''
    returnType: int
    signature: int mpz_root (mpz_t x, const mpz_t y, unsigned long z)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/gnulib/lib/mini-gmp.c:3326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3327
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3327
    functionName: mpz_sqrtrem
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    linkageType: ''
    returnType: void
    signature: void mpz_sqrtrem (mpz_t s, mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_rootrem
      Src: /src/gnulib/lib/mini-gmp.c:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3333
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3333
    functionName: mpz_sqrt
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_rootrem
    linkageType: ''
    returnType: void
    signature: void mpz_sqrt (mpz_t s, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_root
      Src: /src/gnulib/lib/mini-gmp.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3342
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3342
    functionName: mpz_perfect_square_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_root
    linkageType: ''
    returnType: int
    signature: int mpz_perfect_square_p (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3349,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3350,1
    - Dst: mpz_root
      Src: /src/gnulib/lib/mini-gmp.c:3351,1
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-gmp.c:3351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 3352
      start: 3344
    functionDepth: 1
    functionLinenumber: 3344
    functionLinenumberEnd: 3352
    functionName: mpn_perfect_square_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_root
    - assert
    - mpz_roinit_normal_n
    linkageType: ''
    returnType: int
    signature: int mpn_perfect_square_p (mp_srcptr p, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3360,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3361,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3363,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3364,1
    - Dst: mpz_rootrem
      Src: /src/gnulib/lib/mini-gmp.c:3365,1
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-gmp.c:3365,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3367,1
    - Dst: mpn_copyd
      Src: /src/gnulib/lib/mini-gmp.c:3368,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3369,1
    - Dst: mpn_copyd
      Src: /src/gnulib/lib/mini-gmp.c:3372,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - sp
    - rp
    - p
    - n
    argTypes:
    - mp_ptr
    - mp_ptr
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 3375
      start: 3354
    functionDepth: 1
    functionLinenumber: 3354
    functionLinenumberEnd: 3375
    functionName: mpn_sqrtrem
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_rootrem
    - assert
    - mpn_copyd
    - mpz_init
    - mpz_clear
    - mpz_roinit_normal_n
    linkageType: ''
    returnType: mp_size_t
    signature: mp_size_t mpn_sqrtrem (mp_ptr sp, mp_ptr rp, mp_srcptr p, mp_size_t
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3382,1
    - Dst: mpz_mul_ui
      Src: /src/gnulib/lib/mini-gmp.c:3385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - n
    - m
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3386
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3386
    functionName: mpz_mfac_uiui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_mul_ui
    - mpz_set_ui
    linkageType: ''
    returnType: void
    signature: void mpz_mfac_uiui (mpz_t x, unsigned long n, unsigned long m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mfac_uiui
      Src: /src/gnulib/lib/mini-gmp.c:3391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3392
      start: 3388
    functionDepth: 0
    functionLinenumber: 3388
    functionLinenumberEnd: 3392
    functionName: mpz_2fac_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_mfac_uiui
    linkageType: ''
    returnType: void
    signature: void mpz_2fac_ui (mpz_t x, unsigned long n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mfac_uiui
      Src: /src/gnulib/lib/mini-gmp.c:3397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - mpz_t
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3398
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3398
    functionName: mpz_fac_ui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_mfac_uiui
    linkageType: ''
    returnType: void
    signature: void mpz_fac_ui (mpz_t x, unsigned long n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3405,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3410,1
    - Dst: mpz_fac_ui
      Src: /src/gnulib/lib/mini-gmp.c:3411,1
    - Dst: mpz_mul_ui
      Src: /src/gnulib/lib/mini-gmp.c:3414,1
    - Dst: mpz_divexact
      Src: /src/gnulib/lib/mini-gmp.c:3416,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n
    - k
    argTypes:
    - mpz_t
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3418
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3418
    functionName: mpz_bin_uiui
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpz_divexact
    - mpz_fac_ui
    - mpz_init
    - mpz_set_ui
    - mpz_mul_ui
    - mpz_clear
    linkageType: ''
    returnType: void
    signature: void mpz_bin_uiui (mpz_t r, unsigned long n, unsigned long k)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3430,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3431,1
    - Dst: gmp_ctz
      Src: /src/gnulib/lib/mini-gmp.c:3438,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3457,1
    - Dst: gmp_ctz
      Src: /src/gnulib/lib/mini-gmp.c:3460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - mp_limb_t
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 3463
      start: 3425
    functionDepth: 1
    functionLinenumber: 3425
    functionLinenumberEnd: 3463
    functionName: gmp_jacobi_coprime
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_ctz
    - assert
    linkageType: ''
    returnType: int
    signature: int gmp_jacobi_coprime (mp_limb_t a, mp_limb_t b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_mod
      Src: /src/gnulib/lib/mini-gmp.c:3468,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3470,1
    - Dst: mpz_submul_ui
      Src: /src/gnulib/lib/mini-gmp.c:3471,1
    - Dst: mpz_tdiv_r
      Src: /src/gnulib/lib/mini-gmp.c:3472,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - V
    - Qk
    - n
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3475
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3475
    functionName: gmp_lucas_step_k_2k
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_submul_ui
    - mpz_mod
    - mpz_mul
    - mpz_tdiv_r
    linkageType: ''
    returnType: void
    signature: void gmp_lucas_step_k_2k (mpz_t V, mpz_t Qk, const mpz_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3489,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3490,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3491,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3492,1
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-gmp.c:3492,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3493,1
    - Dst: mpz_odd_p
      Src: /src/gnulib/lib/mini-gmp.c:3493,1
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3495,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3496,1
    - Dst: mpz_set_si
      Src: /src/gnulib/lib/mini-gmp.c:3497,1
    - Dst: mpz_sizeinbase
      Src: /src/gnulib/lib/mini-gmp.c:3499,1
    - Dst: mpz_mul
      Src: /src/gnulib/lib/mini-gmp.c:3502,1
    - Dst: gmp_lucas_step_k_2k
      Src: /src/gnulib/lib/mini-gmp.c:3505,1
    - Dst: mpz_tstbit
      Src: /src/gnulib/lib/mini-gmp.c:3510,1
    - Dst: mpz_mul_si
      Src: /src/gnulib/lib/mini-gmp.c:3513,1
    - Dst: mpz_swap
      Src: /src/gnulib/lib/mini-gmp.c:3515,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3516,1
    - Dst: mpz_odd_p
      Src: /src/gnulib/lib/mini-gmp.c:3519,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3520,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:3521,1
    - Dst: mpz_mul_si
      Src: /src/gnulib/lib/mini-gmp.c:3524,1
    - Dst: mpz_add
      Src: /src/gnulib/lib/mini-gmp.c:3525,1
    - Dst: mpz_tdiv_r
      Src: /src/gnulib/lib/mini-gmp.c:3526,1
    - Dst: mpz_tdiv_r
      Src: /src/gnulib/lib/mini-gmp.c:3528,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - V
    - Qk
    - Q
    - b0
    - n
    argTypes:
    - mpz_t
    - mpz_t
    - long
    - mp_bitcnt_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3534
      start: 3481
    functionDepth: 1
    functionLinenumber: 3481
    functionLinenumberEnd: 3534
    functionName: gmp_lucas_mod
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_tstbit
    - assert
    - mpz_mul
    - gmp_lucas_step_k_2k
    - mpz_mul_si
    - mpz_tdiv_r
    - mpz_init_set_ui
    - mpz_swap
    - mpz_set_si
    - mpz_odd_p
    - mpz_tdiv_q_2exp
    - mpz_clear
    - mpz_set_ui
    - mpz_sizeinbase
    - mpz_add
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int gmp_lucas_mod (mpz_t V, mpz_t Qk, long Q,\n\t       mp_bitcnt_t
      b0, const mpz_t n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_roinit_normal_n
      Src: /src/gnulib/lib/mini-gmp.c:3549,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3549,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3551,1
    - Dst: mpz_odd_p
      Src: /src/gnulib/lib/mini-gmp.c:3551,1
    - Dst: mpz_root
      Src: /src/gnulib/lib/mini-gmp.c:3553,1
    - Dst: mpz_tdiv_ui
      Src: /src/gnulib/lib/mini-gmp.c:3568,1
    - Dst: gmp_jacobi_coprime
      Src: /src/gnulib/lib/mini-gmp.c:3572,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3574,1
    - Dst: mpn_common_scan
      Src: /src/gnulib/lib/mini-gmp.c:3577,1
    - Dst: gmp_lucas_mod
      Src: /src/gnulib/lib/mini-gmp.c:3583,1
    - Dst: gmp_lucas_step_k_2k
      Src: /src/gnulib/lib/mini-gmp.c:3587,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - x
    - Qk
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3591
      start: 3539
    functionDepth: 1
    functionLinenumber: 3539
    functionLinenumberEnd: 3591
    functionName: gmp_stronglucas
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_root
    - assert
    - gmp_lucas_step_k_2k
    - gmp_lucas_mod
    - mpz_odd_p
    - mpn_common_scan
    - mpz_init
    - mpz_tdiv_ui
    - mpz_clear
    - GMP_ABS
    - mpz_roinit_normal_n
    - gmp_jacobi_coprime
    linkageType: ''
    returnType: int
    signature: int gmp_stronglucas (const mpz_t x, mpz_t Qk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3597,1
    - Dst: mpz_powm
      Src: /src/gnulib/lib/mini-gmp.c:3600,1
    - Dst: mpz_cmp_ui
      Src: /src/gnulib/lib/mini-gmp.c:3602,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-gmp.c:3602,1
    - Dst: mpz_powm_ui
      Src: /src/gnulib/lib/mini-gmp.c:3607,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-gmp.c:3608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - n
    - nm1
    - y
    - q
    - k
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3612
      start: 3593
    functionDepth: 1
    functionLinenumber: 3593
    functionLinenumberEnd: 3612
    functionName: gmp_millerrabin
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - mpz_powm
    - assert
    - mpz_cmp
    - mpz_powm_ui
    - mpz_cmp_ui
    linkageType: ''
    returnType: int
    signature: "int gmp_millerrabin (const mpz_t n, const mpz_t nm1, mpz_t y,\n\t\t
      const mpz_t q, mp_bitcnt_t k)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_even_p
      Src: /src/gnulib/lib/mini-gmp.c:3633,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3634,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3637,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3639,1
    - Dst: mpz_gcd_ui
      Src: /src/gnulib/lib/mini-gmp.c:3642,1
    - Dst: mpz_cmpabs_ui
      Src: /src/gnulib/lib/mini-gmp.c:3646,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3649,1
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:3650,1
    - Dst: mpz_abs
      Src: /src/gnulib/lib/mini-gmp.c:3653,1
    - Dst: mpn_scan1
      Src: /src/gnulib/lib/mini-gmp.c:3656,1
    - Dst: mpz_tdiv_q_2exp
      Src: /src/gnulib/lib/mini-gmp.c:3657,1
    - Dst: mpz_init_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3660,1
    - Dst: gmp_millerrabin
      Src: /src/gnulib/lib/mini-gmp.c:3661,1
    - Dst: gmp_stronglucas
      Src: /src/gnulib/lib/mini-gmp.c:3661,1
    - Dst: mpz_set_ui
      Src: /src/gnulib/lib/mini-gmp.c:3671,1
    - Dst: mpz_cmp
      Src: /src/gnulib/lib/mini-gmp.c:3672,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3676,1
    - Dst: gmp_millerrabin
      Src: /src/gnulib/lib/mini-gmp.c:3679,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3681,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3682,1
    - Dst: mpz_clear
      Src: /src/gnulib/lib/mini-gmp.c:3683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - n
    - reps
    argTypes:
    - mpz_t
    - int
    constantsTouched: []
    func_position:
      end: 3686
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3686
    functionName: mpz_probab_prime_p
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 5
    functionsReached:
    - assert
    - mpn_scan1
    - mpz_abs
    - mpz_gcd_ui
    - mpz_cmpabs_ui
    - mpz_init_set_ui
    - mpz_cmp
    - gmp_millerrabin
    - mpz_init
    - mpz_tdiv_q_2exp
    - mpz_clear
    - gmp_stronglucas
    - mpz_even_p
    - mpz_set_ui
    linkageType: ''
    returnType: int
    signature: int mpz_probab_prime_p (const mpz_t n, int reps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3744
      start: 3713
    functionDepth: 0
    functionLinenumber: 3713
    functionLinenumberEnd: 3744
    functionName: mpz_tstbit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 9
    functionsReached:
    - GMP_ABS
    linkageType: ''
    returnType: int
    signature: int mpz_tstbit (const mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3753,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:3763,1
    - Dst: mpn_add_1
      Src: /src/gnulib/lib/mini-gmp.c:3776,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:3779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3785
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3785
    functionName: mpz_abs_add_bit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - MPZ_REALLOC
    - GMP_ABS
    - mpn_add_1
    linkageType: ''
    returnType: void
    signature: void mpz_abs_add_bit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3794,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3800,1
    - Dst: gmp_assert_nocarry
      Src: /src/gnulib/lib/mini-gmp.c:3802,1
    - Dst: mpn_sub_1
      Src: /src/gnulib/lib/mini-gmp.c:3802,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3806
      start: 3787
    functionDepth: 1
    functionLinenumber: 3787
    functionLinenumberEnd: 3806
    functionName: mpz_abs_sub_bit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 3
    functionsReached:
    - assert
    - mpn_normalized_size
    - mpn_sub_1
    - gmp_assert_nocarry
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_abs_sub_bit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/gnulib/lib/mini-gmp.c:3811,1
    - Dst: mpz_abs_add_bit
      Src: /src/gnulib/lib/mini-gmp.c:3814,1
    - Dst: mpz_abs_sub_bit
      Src: /src/gnulib/lib/mini-gmp.c:3816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3818
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3818
    functionName: mpz_setbit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 9
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_setbit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/gnulib/lib/mini-gmp.c:3823,1
    - Dst: mpz_abs_sub_bit
      Src: /src/gnulib/lib/mini-gmp.c:3826,1
    - Dst: mpz_abs_add_bit
      Src: /src/gnulib/lib/mini-gmp.c:3828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3830
      start: 3820
    functionDepth: 0
    functionLinenumber: 3820
    functionLinenumberEnd: 3830
    functionName: mpz_clrbit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_clrbit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_tstbit
      Src: /src/gnulib/lib/mini-gmp.c:3835,1
    - Dst: mpz_abs_sub_bit
      Src: /src/gnulib/lib/mini-gmp.c:3836,1
    - Dst: mpz_abs_add_bit
      Src: /src/gnulib/lib/mini-gmp.c:3838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d
    - bit_index
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 3839
      start: 3832
    functionDepth: 0
    functionLinenumber: 3832
    functionLinenumberEnd: 3839
    functionName: mpz_combit
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 14
    functionsReached:
    - mpz_abs_sub_bit
    - mpz_abs_add_bit
    - mpz_tstbit
    linkageType: ''
    returnType: void
    signature: void mpz_combit (mpz_t d, mp_bitcnt_t bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_add_ui
      Src: /src/gnulib/lib/mini-gmp.c:3844,1
    - Dst: mpz_neg
      Src: /src/gnulib/lib/mini-gmp.c:3845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - u
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3846
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3846
    functionName: mpz_com
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - mpz_neg
    - mpz_add_ui
    linkageType: ''
    returnType: void
    signature: void mpz_com (mpz_t r, const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3858,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3859,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:3862,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:3863,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:3882,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3901,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3918
      start: 3848
    functionDepth: 1
    functionLinenumber: 3848
    functionLinenumberEnd: 3918
    functionName: mpz_and
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_and (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3930,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:3931,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:3934,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:3935,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:3939,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:3955,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:3974,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:3988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 3991
      start: 3920
    functionDepth: 1
    functionLinenumber: 3920
    functionLinenumberEnd: 3991
    functionName: mpz_ior
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - mpz_set
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_ior (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4003,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4004,1
    - Dst: MPZ_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:4007,1
    - Dst: MP_SIZE_T_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:4008,1
    - Dst: mpz_set
      Src: /src/gnulib/lib/mini-gmp.c:4012,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:4024,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4043,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:4057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - r
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4060
      start: 3993
    functionDepth: 1
    functionLinenumber: 3993
    functionLinenumberEnd: 4060
    functionName: mpz_xor
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - mpn_normalized_size
    - MPZ_SRCPTR_SWAP
    - mpz_set
    - MP_SIZE_T_SWAP
    - MPZ_REALLOC
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: void mpz_xor (mpz_t r, const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - mp_limb_t
    constantsTouched: []
    func_position:
      end: 4082
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4082
    functionName: gmp_popcount_limb
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gmp_popcount_limb (mp_limb_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_popcount_limb
      Src: /src/gnulib/lib/mini-gmp.c:4091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - mp_srcptr
    - mp_size_t
    constantsTouched: []
    func_position:
      end: 4094
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4094
    functionName: mpn_popcount
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_popcount_limb
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpn_popcount (mp_srcptr p, mp_size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpn_popcount
      Src: /src/gnulib/lib/mini-gmp.c:4106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4107
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4107
    functionName: mpz_popcount
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - mpn_popcount
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_popcount (const mpz_t u)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4126,1
    - Dst: MPN_SRCPTR_SWAP
      Src: /src/gnulib/lib/mini-gmp.c:4135,1
    - Dst: gmp_popcount_limb
      Src: /src/gnulib/lib/mini-gmp.c:4145,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4147,1
    - Dst: gmp_popcount_limb
      Src: /src/gnulib/lib/mini-gmp.c:4154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - mpz_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4158
      start: 4109
    functionDepth: 1
    functionLinenumber: 4109
    functionLinenumberEnd: 4158
    functionName: mpz_hamdist
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 0
    functionsReached:
    - assert
    - gmp_popcount_limb
    - MPN_SRCPTR_SWAP
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_hamdist (const mpz_t u, const mpz_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4168,1
    - Dst: mpn_zero_p
      Src: /src/gnulib/lib/mini-gmp.c:4184,1
    - Dst: mpn_common_scan
      Src: /src/gnulib/lib/mini-gmp.c:4193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - u
    - starting_bit
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 4194
      start: 4160
    functionDepth: 0
    functionLinenumber: 4160
    functionLinenumberEnd: 4194
    functionName: mpz_scan1
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 4
    functionsReached:
    - GMP_ABS
    - mpn_zero_p
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_scan1 (const mpz_t u, mp_bitcnt_t starting_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4205,1
    - Dst: mpn_zero_p
      Src: /src/gnulib/lib/mini-gmp.c:4217,1
    - Dst: mpn_common_scan
      Src: /src/gnulib/lib/mini-gmp.c:4222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - u
    - starting_bit
    argTypes:
    - mpz_t
    - mp_bitcnt_t
    constantsTouched: []
    func_position:
      end: 4223
      start: 4196
    functionDepth: 0
    functionLinenumber: 4196
    functionLinenumberEnd: 4223
    functionName: mpz_scan0
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - GMP_ABS
    - mpn_zero_p
    - mpn_common_scan
    linkageType: ''
    returnType: mp_bitcnt_t
    signature: mp_bitcnt_t mpz_scan0 (const mpz_t u, mp_bitcnt_t starting_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4238,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4239,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4241,1
    - Dst: mpn_limb_size_in_base_2
      Src: /src/gnulib/lib/mini-gmp.c:4247,1
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:4264,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:4265,1
    - Dst: mpn_div_qr_1_invert
      Src: /src/gnulib/lib/mini-gmp.c:4266,1
    - Dst: mpn_div_qr_1_preinv
      Src: /src/gnulib/lib/mini-gmp.c:4273,1
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:4278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - u
    - base
    argTypes:
    - mpz_t
    - int
    constantsTouched: []
    func_position:
      end: 4280
      start: 4228
    functionDepth: 1
    functionLinenumber: 4228
    functionLinenumberEnd: 4280
    functionName: mpz_sizeinbase
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 46
    functionsReached:
    - assert
    - gmp_free_limbs
    - mpn_limb_size_in_base_2
    - mpn_copyi
    - gmp_alloc_limbs
    - mpn_div_qr_1_preinv
    - mpn_div_qr_1_invert
    - GMP_ABS
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_sizeinbase (const mpz_t u, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_sizeinbase
      Src: /src/gnulib/lib/mini-gmp.c:4307,1
    - Dst: gmp_alloc
      Src: /src/gnulib/lib/mini-gmp.c:4311,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4315,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/gnulib/lib/mini-gmp.c:4329,1
    - Dst: mpn_get_str_bits
      Src: /src/gnulib/lib/mini-gmp.c:4333,1
    - Dst: mpn_get_base_info
      Src: /src/gnulib/lib/mini-gmp.c:4339,1
    - Dst: gmp_alloc_limbs
      Src: /src/gnulib/lib/mini-gmp.c:4340,1
    - Dst: mpn_copyi
      Src: /src/gnulib/lib/mini-gmp.c:4341,1
    - Dst: mpn_get_str_other
      Src: /src/gnulib/lib/mini-gmp.c:4343,1
    - Dst: gmp_free_limbs
      Src: /src/gnulib/lib/mini-gmp.c:4344,1
    - Dst: gmp_realloc
      Src: /src/gnulib/lib/mini-gmp.c:4353,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - sp
    - base
    - u
    argTypes:
    - char*
    - int
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4355
      start: 4282
    functionDepth: 2
    functionLinenumber: 4282
    functionLinenumberEnd: 4355
    functionName: mpz_get_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - gmp_alloc
    - mpn_get_str_bits
    - mpn_base_power_of_two_p
    - gmp_free_limbs
    - gmp_alloc_limbs
    - mpn_copyi
    - GMP_ABS
    - mpn_get_str_other
    - gmp_realloc
    - mpn_get_base_info
    - mpz_sizeinbase
    linkageType: ''
    returnType: char
    signature: 'char *

      mpz_get_str (char *sp, int base, const mpz_t u)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4367,1
    - Dst: isspace
      Src: /src/gnulib/lib/mini-gmp.c:4369,1
    - Dst: strlen
      Src: /src/gnulib/lib/mini-gmp.c:4401,1
    - Dst: gmp_alloc
      Src: /src/gnulib/lib/mini-gmp.c:4402,1
    - Dst: isspace
      Src: /src/gnulib/lib/mini-gmp.c:4409,1
    - Dst: gmp_free
      Src: /src/gnulib/lib/mini-gmp.c:4422,1
    - Dst: gmp_free
      Src: /src/gnulib/lib/mini-gmp.c:4432,1
    - Dst: mpn_base_power_of_two_p
      Src: /src/gnulib/lib/mini-gmp.c:4436,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:4441,1
    - Dst: mpn_set_str_bits
      Src: /src/gnulib/lib/mini-gmp.c:4442,1
    - Dst: mpn_get_base_info
      Src: /src/gnulib/lib/mini-gmp.c:4447,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:4449,1
    - Dst: mpn_set_str_other
      Src: /src/gnulib/lib/mini-gmp.c:4450,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4452,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4455,1
    - Dst: gmp_free
      Src: /src/gnulib/lib/mini-gmp.c:4456,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - r
    - sp
    - base
    argTypes:
    - mpz_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4461
      start: 4357
    functionDepth: 2
    functionLinenumber: 4357
    functionLinenumberEnd: 4461
    functionName: mpz_set_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 24
    functionsReached:
    - assert
    - gmp_alloc
    - mpn_base_power_of_two_p
    - strlen
    - isspace
    - gmp_free
    - mpn_set_str_bits
    - mpn_get_base_info
    - MPZ_REALLOC
    - mpn_set_str_other
    linkageType: ''
    returnType: int
    signature: int mpz_set_str (mpz_t r, const char *sp, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_init
      Src: /src/gnulib/lib/mini-gmp.c:4466,1
    - Dst: mpz_set_str
      Src: /src/gnulib/lib/mini-gmp.c:4467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - sp
    - base
    argTypes:
    - mpz_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4468
      start: 4463
    functionDepth: 0
    functionLinenumber: 4463
    functionLinenumberEnd: 4468
    functionName: mpz_init_set_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 16
    functionsReached:
    - mpz_set_str
    - mpz_init
    linkageType: ''
    returnType: int
    signature: int mpz_init_set_str (mpz_t r, const char *sp, int base)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mpz_get_str
      Src: /src/gnulib/lib/mini-gmp.c:4476,1
    - Dst: strlen
      Src: /src/gnulib/lib/mini-gmp.c:4479,1
    - Dst: fwrite
      Src: /src/gnulib/lib/mini-gmp.c:4480,1
    - Dst: gmp_free
      Src: /src/gnulib/lib/mini-gmp.c:4481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - base
    - x
    argTypes:
    - FILE*
    - int
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4483
      start: 4470
    functionDepth: 2
    functionLinenumber: 4470
    functionLinenumberEnd: 4483
    functionName: mpz_out_str
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 27
    functionsReached:
    - fwrite
    - gmp_free
    - strlen
    - mpz_get_str
    linkageType: ''
    returnType: size_t
    signature: size_t mpz_out_str (FILE *stream, int base, const mpz_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4492
      start: 4486
    functionDepth: 0
    functionLinenumber: 4486
    functionLinenumberEnd: 4492
    functionName: gmp_detect_endian
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gmp_detect_endian (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:4513,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4515,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4516,1
    - Dst: gmp_detect_endian
      Src: /src/gnulib/lib/mini-gmp.c:4519,1
    - Dst: MPZ_REALLOC
      Src: /src/gnulib/lib/mini-gmp.c:4538,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4554,1
    - Dst: mpn_normalized_size
      Src: /src/gnulib/lib/mini-gmp.c:4558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 7
    argNames:
    - r
    - count
    - order
    - size
    - endian
    - nails
    - src
    argTypes:
    - mpz_t
    - size_t
    - int
    - size_t
    - int
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 4561
      start: 4495
    functionDepth: 1
    functionLinenumber: 4495
    functionLinenumberEnd: 4561
    functionName: mpz_import
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 1
    functionsReached:
    - gmp_die
    - assert
    - mpn_normalized_size
    - gmp_detect_endian
    - MPZ_REALLOC
    linkageType: ''
    returnType: void
    signature: "void mpz_import (mpz_t r, size_t count, int order, size_t size, int
      endian,\n\t    size_t nails, const void *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmp_die
      Src: /src/gnulib/lib/mini-gmp.c:4571,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4573,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4574,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4575,1
    - Dst: GMP_ABS
      Src: /src/gnulib/lib/mini-gmp.c:4591,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4595,1
    - Dst: gmp_alloc
      Src: /src/gnulib/lib/mini-gmp.c:4610,1
    - Dst: gmp_detect_endian
      Src: /src/gnulib/lib/mini-gmp.c:4613,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4658,1
    - Dst: assert
      Src: /src/gnulib/lib/mini-gmp.c:4659,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 7
    argNames:
    - r
    - countp
    - order
    - size
    - endian
    - nails
    - u
    argTypes:
    - void*
    - size_t*
    - int
    - size_t
    - int
    - size_t
    - mpz_t
    constantsTouched: []
    func_position:
      end: 4666
      start: 4563
    functionDepth: 2
    functionLinenumber: 4563
    functionLinenumberEnd: 4666
    functionName: mpz_export
    functionSourceFile: /src/gnulib/lib/mini-gmp.c
    functionUses: 2
    functionsReached:
    - gmp_die
    - assert
    - gmp_alloc
    - gmp_detect_endian
    - GMP_ABS
    linkageType: ''
    returnType: void
    signature: "void *\nmpz_export (void *r, size_t *countp, int order, size_t size,
      int endian,\n\t    size_t nails, const mpz_t u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/recv.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/recv.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - buf
    - len
    - flags
    argTypes:
    - int
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_recv
    functionSourceFile: /src/gnulib/lib/recv.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_recv (int fd, void *buf, size_t len, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/gnulib/lib/strcspn.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - reject
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: strcspn
    functionSourceFile: /src/gnulib/lib/strcspn.c
    functionUses: 6
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t strcspn (const char *s, const char *reject)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uintmax_t
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: is_zero_or_power_of_two
    functionSourceFile: /src/gnulib/lib/cycle-check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_zero_or_power_of_two (uintmax_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct cycle_check_state*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: cycle_check_init
    functionSourceFile: /src/gnulib/lib/cycle-check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cycle_check_init (struct cycle_check_state *state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assure
      Src: /src/gnulib/lib/cycle-check.c:59,1
    - Dst: SAME_INODE
      Src: /src/gnulib/lib/cycle-check.c:64,1
    - Dst: is_zero_or_power_of_two
      Src: /src/gnulib/lib/cycle-check.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - state
    - sb
    argTypes:
    - struct cycle_check_state*
    - struct stat*
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: cycle_check
    functionSourceFile: /src/gnulib/lib/cycle-check.c
    functionUses: 0
    functionsReached:
    - SAME_INODE
    - is_zero_or_power_of_two
    - assure
    linkageType: ''
    returnType: bool
    signature: bool cycle_check (struct cycle_check_state *state, struct stat const
      *sb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/gnulib/lib/accept4.c:70,1
    - Dst: GetCurrentProcess
      Src: /src/gnulib/lib/accept4.c:79,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/accept4.c:80,1
    - Dst: DuplicateHandle
      Src: /src/gnulib/lib/accept4.c:84,1
    - Dst: close
      Src: /src/gnulib/lib/accept4.c:92,1
    - Dst: close
      Src: /src/gnulib/lib/accept4.c:99,1
    - Dst: _open_osfhandle
      Src: /src/gnulib/lib/accept4.c:100,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/accept4.c:104,1
    - Dst: fcntl
      Src: /src/gnulib/lib/accept4.c:115,1
    - Dst: fcntl
      Src: /src/gnulib/lib/accept4.c:116,1
    - Dst: close
      Src: /src/gnulib/lib/accept4.c:119,1
    - Dst: fcntl
      Src: /src/gnulib/lib/accept4.c:132,1
    - Dst: fcntl
      Src: /src/gnulib/lib/accept4.c:133,1
    - Dst: close
      Src: /src/gnulib/lib/accept4.c:136,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/accept4.c:145,1
    - Dst: set_binary_mode
      Src: /src/gnulib/lib/accept4.c:147,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - sockfd
    - addr
    - addrlen
    - flags
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 151
    functionName: accept4
    functionSourceFile: /src/gnulib/lib/accept4.c
    functionUses: 2
    functionsReached:
    - DuplicateHandle
    - accept
    - fcntl
    - close
    - _get_osfhandle
    - CloseHandle
    - set_binary_mode
    - _open_osfhandle
    - GetCurrentProcess
    linkageType: ''
    returnType: int
    signature: int accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen,
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/regexec.c:205,1
    - Dst: lock_lock
      Src: /src/gnulib/lib/regexec.c:208,1
    - Dst: re_search_internal
      Src: /src/gnulib/lib/regexec.c:210,1
    - Dst: re_search_internal
      Src: /src/gnulib/lib/regexec.c:213,1
    - Dst: lock_unlock
      Src: /src/gnulib/lib/regexec.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - preg
    - string
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - regex_t*
    - char*
    - size_t
    - regmatch_t[]
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 217
    functionName: regexec
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 4
    functionsReached:
    - lock_lock
    - strlen
    - re_search_internal
    - lock_unlock
    linkageType: ''
    returnType: int
    signature: "int regexec (const regex_t *__restrict preg, const char *__restrict
      string,\n\t size_t nmatch, regmatch_t pmatch[], int eflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/gnulib/lib/regexec.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - preg
    - string
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - regex_t*
    - char*
    - size_t
    - regmatch_t[]
    - int
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: attribute_compat_text_section::__compat_regexec
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - regexec
    linkageType: ''
    returnType: int
    signature: "int attribute_compat_text_section\n__compat_regexec (const regex_t
      *__restrict preg,\n\t\t  const char *__restrict string, size_t nmatch,\n\t\t
      \ regmatch_t pmatch[], int eflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_search_stub
      Src: /src/gnulib/lib/regexec.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - bufp
    - string
    - length
    - start
    - regs
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - Idx
    - struct re_registers*
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: re_match
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_search_stub
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_match (struct re_pattern_buffer *bufp, const char *string,
      Idx length,\n\t  Idx start, struct re_registers *regs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_search_stub
      Src: /src/gnulib/lib/regexec.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - bufp
    - string
    - length
    - start
    - range
    - regs
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - Idx
    - regoff_t
    - struct re_registers*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: re_search
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_search_stub
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_search (struct re_pattern_buffer *bufp, const char *string,
      Idx length,\n\t   Idx start, regoff_t range, struct re_registers *regs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_search_2_stub
      Src: /src/gnulib/lib/regexec.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - bufp
    - string1
    - length1
    - string2
    - length2
    - start
    - regs
    - stop
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - char*
    - Idx
    - Idx
    - struct re_registers*
    - Idx
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: re_match_2
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_search_2_stub
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_match_2 (struct re_pattern_buffer *bufp, const char *string1,
      Idx length1,\n\t    const char *string2, Idx length2, Idx start,\n\t    struct
      re_registers *regs, Idx stop)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_search_2_stub
      Src: /src/gnulib/lib/regexec.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - bufp
    - string1
    - length1
    - string2
    - length2
    - start
    - range
    - regs
    - stop
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - char*
    - Idx
    - Idx
    - regoff_t
    - struct re_registers*
    - Idx
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: re_search_2
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_search_2_stub
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_search_2 (struct re_pattern_buffer *bufp, const char *string1,
      Idx length1,\n\t     const char *string2, Idx length2, Idx start, regoff_t range,\n\t
      \    struct re_registers *regs, Idx stop)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:326,1
    - Dst: ckd_add
      Src: /src/gnulib/lib/regexec.c:327,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:334,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:336,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:339,1
    - Dst: __mempcpy
      Src: /src/gnulib/lib/regexec.c:339,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:341,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:342,1
    - Dst: re_search_stub
      Src: /src/gnulib/lib/regexec.c:351,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 10
    argNames:
    - bufp
    - string1
    - length1
    - string2
    - length2
    - start
    - range
    - regs
    - stop
    - ret_len
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - char*
    - Idx
    - Idx
    - regoff_t
    - struct re_registers*
    - Idx
    - bool
    constantsTouched: []
    func_position:
      end: 355
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 355
    functionName: re_search_2_stub
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 2
    functionsReached:
    - re_malloc
    - re_search_stub
    - re_free
    - ckd_add
    - __glibc_unlikely
    - memcpy
    - __mempcpy
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_search_2_stub (struct re_pattern_buffer *bufp, const char
      *string1,\n\t\t  Idx length1, const char *string2, Idx length2, Idx start,\n\t\t
      \ regoff_t range, struct re_registers *regs,\n\t\t  Idx stop, bool ret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:376,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:378,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:381,1
    - Dst: lock_lock
      Src: /src/gnulib/lib/regexec.c:385,1
    - Dst: re_compile_fastmap
      Src: /src/gnulib/lib/regexec.c:392,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:394,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:400,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:404,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:413,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:414,1
    - Dst: re_search_internal
      Src: /src/gnulib/lib/regexec.c:420,1
    - Dst: re_copy_regs
      Src: /src/gnulib/lib/regexec.c:431,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:433,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:437,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:441,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:447,1
    - Dst: lock_unlock
      Src: /src/gnulib/lib/regexec.c:449,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 8
    argNames:
    - bufp
    - string
    - length
    - start
    - range
    - stop
    - regs
    - ret_len
    argTypes:
    - struct re_pattern_buffer*
    - char*
    - Idx
    - Idx
    - regoff_t
    - Idx
    - struct re_registers*
    - bool
    constantsTouched: []
    func_position:
      end: 451
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 451
    functionName: re_search_stub
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 3
    functionsReached:
    - re_malloc
    - DEBUG_ASSERT
    - __glibc_likely
    - re_copy_regs
    - re_free
    - re_search_internal
    - lock_unlock
    - re_compile_fastmap
    - lock_lock
    - __glibc_unlikely
    linkageType: ''
    returnType: regoff_t
    signature: "regoff_t re_search_stub (struct re_pattern_buffer *bufp, const char
      *string, Idx length,\n\t\tIdx start, regoff_t range, Idx stop, struct re_registers
      *regs,\n\t\tbool ret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:466,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:467,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:469,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:470,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:472,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:481,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:483,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:485,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:487,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:488,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:490,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:500,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - regs
    - pmatch
    - nregs
    - regs_allocated
    argTypes:
    - struct re_registers*
    - regmatch_t*
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 516
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 516
    functionName: re_copy_regs
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_malloc
    - DEBUG_ASSERT
    - re_realloc
    - re_free
    - __glibc_unlikely
    linkageType: ''
    returnType: unsigned
    signature: "unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
      Idx nregs,\n\t      int regs_allocated)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - bufp
    - regs
    - num_regs
    - starts
    - ends
    argTypes:
    - struct re_pattern_buffer*
    - struct re_registers*
    - __re_size_t
    - regoff_t*
    - regoff_t*
    constantsTouched: []
    func_position:
      end: 548
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 548
    functionName: re_set_registers
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void re_set_registers (struct re_pattern_buffer *bufp, struct re_registers
      *regs,\n\t\t  __re_size_t num_regs, regoff_t *starts, regoff_t *ends)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/gnulib/lib/regexec.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: re_exec
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - regexec
    linkageType: ''
    returnType: weak_function
    signature: weak_function re_exec (const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:605,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:612,1
    - Dst: __attribute_warn_unused_result__::re_string_allocate
      Src: /src/gnulib/lib/regexec.c:630,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:633,1
    - Dst: __attribute_warn_unused_result__::match_ctx_init
      Src: /src/gnulib/lib/regexec.c:639,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:640,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:650,1
    - Dst: MIN
      Src: /src/gnulib/lib/regexec.c:650,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:657,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:658,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:700,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:707,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:712,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:745,1
    - Dst: __attribute_warn_unused_result__::re_string_reconstruct
      Src: /src/gnulib/lib/regexec.c:748,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:750,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:757,1
    - Dst: __attribute_warn_unused_result__::re_string_reconstruct
      Src: /src/gnulib/lib/regexec.c:772,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:773,1
    - Dst: re_string_first_byte
      Src: /src/gnulib/lib/regexec.c:778,1
    - Dst: __attribute_warn_unused_result__::check_matching
      Src: /src/gnulib/lib/regexec.c:784,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:788,1
    - Dst: check_halt_state_context
      Src: /src/gnulib/lib/regexec.c:799,1
    - Dst: __attribute_warn_unused_result__::prune_impossible_nodes
      Src: /src/gnulib/lib/regexec.c:805,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:808,1
    - Dst: match_ctx_clean
      Src: /src/gnulib/lib/regexec.c:817,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:820,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:821,1
    - Dst: set_regs
      Src: /src/gnulib/lib/regexec.c:841,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:843,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:853,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:885,1
    - Dst: match_ctx_free
      Src: /src/gnulib/lib/regexec.c:887,1
    - Dst: re_string_destruct
      Src: /src/gnulib/lib/regexec.c:888,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 173
    argCount: 9
    argNames:
    - preg
    - string
    - length
    - start
    - last_start
    - stop
    - nmatch
    - pmatch
    - eflags
    argTypes:
    - regex_t*
    - char*
    - Idx
    - Idx
    - Idx
    - Idx
    - size_t
    - regmatch_t[]
    - int
    constantsTouched: []
    func_position:
      end: 890
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 890
    functionName: __attribute_warn_unused_result__::re_search_internal
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - re_malloc
    - __glibc_likely
    - re_free
    - re_string_byte_at
    - check_halt_state_context
    - __attribute_warn_unused_result__::prune_impossible_nodes
    - __attribute_warn_unused_result__::re_string_allocate
    - __attribute_warn_unused_result__::match_ctx_init
    - __attribute_warn_unused_result__::re_string_reconstruct
    - __attribute_warn_unused_result__::check_matching
    - match_ctx_clean
    - __glibc_unlikely
    - MIN
    - match_ctx_free
    - re_string_destruct
    - set_regs
    - re_string_first_byte
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nre_search_internal
      (const regex_t *preg, const char *string, Idx length,\n\t\t    Idx start, Idx
      last_start, Idx stop, size_t nmatch,\n\t\t    regmatch_t pmatch[], int eflags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:902,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:907,1
    - Dst: MIN
      Src: /src/gnulib/lib/regexec.c:907,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:911,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:912,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:919,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:920,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:927,1
    - Dst: sift_ctx_init
      Src: /src/gnulib/lib/regexec.c:929,1
    - Dst: sift_states_backward
      Src: /src/gnulib/lib/regexec.c:931,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:932,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:933,1
    - Dst: check_halt_state_context
      Src: /src/gnulib/lib/regexec.c:947,1
    - Dst: merge_state_array
      Src: /src/gnulib/lib/regexec.c:951,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:953,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:955,1
    - Dst: sift_ctx_init
      Src: /src/gnulib/lib/regexec.c:960,1
    - Dst: sift_states_backward
      Src: /src/gnulib/lib/regexec.c:961,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:962,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:963,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:971,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:978,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:979,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - re_match_context_t*
    constantsTouched: []
    func_position:
      end: 981
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 981
    functionName: __attribute_warn_unused_result__::prune_impossible_nodes
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_malloc
    - DEBUG_ASSERT
    - re_free
    - check_halt_state_context
    - sift_ctx_init
    - __glibc_unlikely
    - MIN
    - memset
    - re_node_set_free
    - merge_state_array
    - sift_states_backward
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      prune_impossible_nodes (re_match_context_t *mctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:995,1
    - Dst: IS_WORD_CONTEXT
      Src: /src/gnulib/lib/regexec.c:996,1
    - Dst: IS_ORDINARY_CONTEXT
      Src: /src/gnulib/lib/regexec.c:998,1
    - Dst: IS_BEGBUF_CONTEXT
      Src: /src/gnulib/lib/regexec.c:1000,1
    - Dst: IS_NEWLINE_CONTEXT
      Src: /src/gnulib/lib/regexec.c:1000,1
    - Dst: IS_NEWLINE_CONTEXT
      Src: /src/gnulib/lib/regexec.c:1002,1
    - Dst: IS_BEGBUF_CONTEXT
      Src: /src/gnulib/lib/regexec.c:1004,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:1007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1017
    functionName: "re_dfastate_t *\nacquire_init_state_context (reg_errcode_t *err,
      const re_match_context_t *mctx,\n\t\t\t    Idx idx)"
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - IS_BEGBUF_CONTEXT
    - re_acquire_state_context
    - IS_NEWLINE_CONTEXT
    - IS_ORDINARY_CONTEXT
    - re_string_context_at
    - IS_WORD_CONTEXT
    linkageType: ''
    returnType: __always_inline
    signature: "__always_inline re_dfastate_t *\nacquire_init_state_context (reg_errcode_t
      *err, const re_match_context_t *mctx,\n\t\t\t    Idx idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:1037,1
    - Dst: acquire_init_state_context
      Src: /src/gnulib/lib/regexec.c:1043,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1045,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1047,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1057,1
    - Dst: check_subexp_matching_top
      Src: /src/gnulib/lib/regexec.c:1060,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1061,1
    - Dst: transit_state_bkref
      Src: /src/gnulib/lib/regexec.c:1066,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1067,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1074,1
    - Dst: check_halt_state_context
      Src: /src/gnulib/lib/regexec.c:1077,1
    - Dst: re_string_eoi
      Src: /src/gnulib/lib/regexec.c:1089,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:1092,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1094,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1096,1
    - Dst: __attribute_warn_unused_result__::extend_buffers
      Src: /src/gnulib/lib/regexec.c:1099,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1100,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1102,1
    - Dst: __attribute_warn_unused_result__::transit_state
      Src: /src/gnulib/lib/regexec.c:1107,1
    - Dst: merge_state_with_log
      Src: /src/gnulib/lib/regexec.c:1109,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1116,1
    - Dst: find_recover_state
      Src: /src/gnulib/lib/regexec.c:1121,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1125,1
    - Dst: check_halt_state_context
      Src: /src/gnulib/lib/regexec.c:1138,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:1139,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:1142,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 3
    argNames:
    - mctx
    - fl_longest_match
    - p_match_first
    argTypes:
    - re_match_context_t*
    - bool
    - Idx*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1157
    functionName: __attribute_warn_unused_result__::check_matching
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - check_subexp_matching_top
    - DEBUG_ASSERT
    - acquire_init_state_context
    - __attribute_warn_unused_result__::extend_buffers
    - re_string_eoi
    - __attribute_warn_unused_result__::transit_state
    - merge_state_with_log
    - check_halt_state_context
    - __glibc_unlikely
    - find_recover_state
    - transit_state_bkref
    linkageType: ''
    returnType: Idx
    signature: "Idx __attribute_warn_unused_result__\ncheck_matching (re_match_context_t
      *mctx, bool fl_longest_match,\n\t\tIdx *p_match_first)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NOT_SATISFY_NEXT_CONSTRAINT
      Src: /src/gnulib/lib/regexec.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - dfa
    - node
    - context
    argTypes:
    - re_dfa_t*
    - Idx
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1173
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1173
    functionName: check_halt_node_context
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - NOT_SATISFY_NEXT_CONSTRAINT
    linkageType: ''
    returnType: bool
    signature: bool check_halt_node_context (const re_dfa_t *dfa, Idx node, unsigned
      int context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1185,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:1186,1
    - Dst: check_halt_node_context
      Src: /src/gnulib/lib/regexec.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mctx
    - state
    - idx
    argTypes:
    - re_match_context_t*
    - re_dfastate_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 1191
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1191
    functionName: check_halt_state_context
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 3
    functionsReached:
    - DEBUG_ASSERT
    - check_halt_node_context
    - re_string_context_at
    linkageType: ''
    returnType: Idx
    signature: "Idx check_halt_state_context (const re_match_context_t *mctx,\n\t\t\t
      \ const re_dfastate_t *state, Idx idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regexec.c:1205,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1210,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1213,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1222,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1231,1
    - Dst: push_fail_stack
      Src: /src/gnulib/lib/regexec.c:1236,1
    - Dst: check_node_accept_bytes
      Src: /src/gnulib/lib/regexec.c:1252,1
    - Dst: memcmp
      Src: /src/gnulib/lib/regexec.c:1268,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1279,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1282,1
    - Dst: check_node_accept
      Src: /src/gnulib/lib/regexec.c:1289,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1294,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regexec.c:1297,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 8
    argNames:
    - mctx
    - nregs
    - regs
    - prevregs
    - pidx
    - node
    - eps_via_nodes
    - fs
    argTypes:
    - re_match_context_t*
    - Idx
    - regmatch_t*
    - regmatch_t*
    - Idx*
    - Idx
    - re_node_set*
    - struct re_fail_stack_t*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1302
    functionName: proceed_next_node
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_node_set_empty
    - check_node_accept
    - check_node_accept_bytes
    - memcmp
    - IS_EPSILON_NODE
    - __glibc_unlikely
    - push_fail_stack
    - re_node_set_contains
    linkageType: ''
    returnType: Idx
    signature: "Idx proceed_next_node (const re_match_context_t *mctx, Idx nregs,
      regmatch_t *regs,\n\t\t   regmatch_t *prevregs,\n\t\t   Idx *pidx, Idx node,
      re_node_set *eps_via_nodes,\n\t\t   struct re_fail_stack_t *fs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:1315,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:1324,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1328,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1329,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regexec.c:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - fs
    - str_idx
    - dest_node
    - nregs
    - regs
    - prevregs
    - eps_via_nodes
    argTypes:
    - struct re_fail_stack_t*
    - Idx
    - Idx
    - Idx
    - regmatch_t*
    - regmatch_t*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1332
    functionName: __attribute_warn_unused_result__::push_fail_stack
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - memcpy
    - re_realloc
    - __attribute_warn_unused_result__::re_node_set_init_copy
    - re_malloc
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\npush_fail_stack (struct
      re_fail_stack_t *fs, Idx str_idx, Idx dest_node,\n\t\t Idx nregs, regmatch_t
      *regs, regmatch_t *prevregs,\n\t\t re_node_set *eps_via_nodes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1343,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1344,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1345,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:1346,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - fs
    - pidx
    - nregs
    - regs
    - prevregs
    - eps_via_nodes
    argTypes:
    - struct re_fail_stack_t*
    - Idx*
    - Idx
    - regmatch_t*
    - regmatch_t*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1350
    functionName: pop_fail_stack
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - memcpy
    - re_free
    - DEBUG_ASSERT
    - re_node_set_free
    linkageType: ''
    returnType: Idx
    signature: "Idx pop_fail_stack (struct re_fail_stack_t *fs, Idx *pidx, Idx nregs,\n\t\tregmatch_t
      *regs, regmatch_t *prevregs,\n\t\tre_node_set *eps_via_nodes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regmatch_list_init
      Src: /src/gnulib/lib/regexec.c:1374,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1376,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1377,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:1381,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regexec.c:1389,1
    - Dst: regmatch_list_resize
      Src: /src/gnulib/lib/regexec.c:1391,1
    - Dst: regmatch_list_free
      Src: /src/gnulib/lib/regexec.c:1393,1
    - Dst: free_fail_stack_return
      Src: /src/gnulib/lib/regexec.c:1394,1
    - Dst: regmatch_list_begin
      Src: /src/gnulib/lib/regexec.c:1397,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1398,1
    - Dst: update_regs
      Src: /src/gnulib/lib/regexec.c:1402,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1405,1
    - Dst: pop_fail_stack
      Src: /src/gnulib/lib/regexec.c:1414,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1421,1
    - Dst: regmatch_list_free
      Src: /src/gnulib/lib/regexec.c:1422,1
    - Dst: free_fail_stack_return
      Src: /src/gnulib/lib/regexec.c:1423,1
    - Dst: proceed_next_node
      Src: /src/gnulib/lib/regexec.c:1428,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1432,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1434,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1436,1
    - Dst: regmatch_list_free
      Src: /src/gnulib/lib/regexec.c:1437,1
    - Dst: free_fail_stack_return
      Src: /src/gnulib/lib/regexec.c:1438,1
    - Dst: pop_fail_stack
      Src: /src/gnulib/lib/regexec.c:1441,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1445,1
    - Dst: regmatch_list_free
      Src: /src/gnulib/lib/regexec.c:1446,1
    - Dst: free_fail_stack_return
      Src: /src/gnulib/lib/regexec.c:1447,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1452,1
    - Dst: regmatch_list_free
      Src: /src/gnulib/lib/regexec.c:1453,1
    - Dst: free_fail_stack_return
      Src: /src/gnulib/lib/regexec.c:1454,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - preg
    - mctx
    - nmatch
    - pmatch
    - fl_backtrack
    argTypes:
    - regex_t*
    - re_match_context_t*
    - size_t
    - regmatch_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1455
      start: 1363
    functionDepth: 2
    functionLinenumber: 1363
    functionLinenumberEnd: 1455
    functionName: __attribute_warn_unused_result__
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - update_regs
    - DEBUG_ASSERT
    - re_malloc
    - regmatch_list_init
    - regmatch_list_free
    - regmatch_list_begin
    - pop_fail_stack
    - proceed_next_node
    - __glibc_unlikely
    - re_node_set_free
    - regmatch_list_resize
    - memcpy
    - re_node_set_contains
    - re_node_set_init_empty
    - free_fail_stack_return
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nset_regs (const regex_t
      *preg, const re_match_context_t *mctx, size_t nmatch,\n\t  regmatch_t *pmatch,
      bool fl_backtrack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1465,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:1466,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fs
    argTypes:
    - struct re_fail_stack_t*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1471
    functionName: free_fail_stack_return
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_free
    - re_node_set_free
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1500,1
    - Dst: memcpy
      Src: /src/gnulib/lib/regexec.c:1511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - dfa
    - pmatch
    - prev_idx_match
    - cur_node
    - cur_idx
    - nmatch
    argTypes:
    - re_dfa_t*
    - regmatch_t*
    - regmatch_t*
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 1519
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1519
    functionName: update_regs
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,\n\t     regmatch_t
      *prev_idx_match, Idx cur_node, Idx cur_idx, Idx nmatch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1552,1
    - Dst: re_node_set_init_1
      Src: /src/gnulib/lib/regexec.c:1556,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1557,1
    - Dst: update_cur_sifted_state
      Src: /src/gnulib/lib/regexec.c:1559,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1560,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:1570,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1572,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regexec.c:1575,1
    - Dst: build_sifted_states
      Src: /src/gnulib/lib/regexec.c:1580,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1581,1
    - Dst: update_cur_sifted_state
      Src: /src/gnulib/lib/regexec.c:1589,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1590,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - mctx
    - sctx
    argTypes:
    - re_match_context_t*
    - re_sift_context_t*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1597
    functionName: sift_states_backward
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - build_sifted_states
    - update_cur_sifted_state
    - DEBUG_ASSERT
    - re_node_set_empty
    - re_node_set_init_1
    - __glibc_unlikely
    - re_node_set_free
    - memset
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t sift_states_backward (const re_match_context_t *mctx,
      re_sift_context_t *sctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1620,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regexec.c:1620,1
    - Dst: sift_states_iter_mb
      Src: /src/gnulib/lib/regexec.c:1624,1
    - Dst: check_node_accept
      Src: /src/gnulib/lib/regexec.c:1630,1
    - Dst: STATE_NODE_CONTAINS
      Src: /src/gnulib/lib/regexec.c:1631,1
    - Dst: check_dst_limits
      Src: /src/gnulib/lib/regexec.c:1641,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:1646,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1647,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - mctx
    - sctx
    - str_idx
    - cur_dest
    argTypes:
    - re_match_context_t*
    - re_sift_context_t*
    - Idx
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1652
    functionName: __attribute_warn_unused_result__::build_sifted_states
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - check_node_accept
    - __attribute_warn_unused_result__::re_node_set_insert
    - check_dst_limits
    - STATE_NODE_CONTAINS
    - IS_EPSILON_NODE
    - __glibc_unlikely
    - sift_states_iter_mb
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nbuild_sifted_states
      (const re_match_context_t *mctx, re_sift_context_t *sctx,\n\t\t     Idx str_idx,
      re_node_set *cur_dest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_buffers
      Src: /src/gnulib/lib/regexec.c:1667,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1668,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:1674,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:1675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - mctx
    - next_state_log_idx
    argTypes:
    - re_match_context_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 1680
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1680
    functionName: clean_state_log_if_needed
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - __glibc_unlikely
    - extend_buffers
    - memset
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t clean_state_log_if_needed (re_match_context_t *mctx,
      Idx next_state_log_idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_union
      Src: /src/gnulib/lib/regexec.c:1695,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1697,1
    - Dst: re_acquire_state
      Src: /src/gnulib/lib/regexec.c:1699,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1700,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - dfa
    - dst
    - src
    - num
    argTypes:
    - re_dfa_t*
    - re_dfastate_t**
    - re_dfastate_t**
    - Idx
    constantsTouched: []
    func_position:
      end: 1706
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1706
    functionName: merge_state_array
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_acquire_state
    - re_node_set_free
    - re_node_set_init_union
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t merge_state_array (const re_dfa_t *dfa, re_dfastate_t
      **dst,\n\t\t   re_dfastate_t **src, Idx num)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_epsilon_src_nodes
      Src: /src/gnulib/lib/regexec.c:1727,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1728,1
    - Dst: check_subexp_limits
      Src: /src/gnulib/lib/regexec.c:1734,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1736,1
    - Dst: re_acquire_state
      Src: /src/gnulib/lib/regexec.c:1741,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1742,1
    - Dst: sift_states_bkref
      Src: /src/gnulib/lib/regexec.c:1748,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1749,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - mctx
    - sctx
    - str_idx
    - dest_nodes
    argTypes:
    - re_match_context_t*
    - re_sift_context_t*
    - Idx
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1753
    functionName: update_cur_sifted_state
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - check_subexp_limits
    - re_acquire_state
    - __glibc_unlikely
    - sift_states_bkref
    - add_epsilon_src_nodes
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t update_cur_sifted_state (const re_match_context_t *mctx,\n\t\t\t
      re_sift_context_t *sctx, Idx str_idx,\n\t\t\t re_node_set *dest_nodes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __attribute_warn_unused_result__::re_acquire_state
      Src: /src/gnulib/lib/regexec.c:1763,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1764,1
    - Dst: __attribute_warn_unused_result__::re_node_set_alloc
      Src: /src/gnulib/lib/regexec.c:1769,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1770,1
    - Dst: __attribute_warn_unused_result__::re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:1774,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1776,1
    - Dst: __attribute_warn_unused_result__::re_node_set_add_intersect
      Src: /src/gnulib/lib/regexec.c:1780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - dfa
    - dest_nodes
    - candidates
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1782
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1782
    functionName: __attribute_warn_unused_result__::add_epsilon_src_nodes
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_merge
    - __attribute_warn_unused_result__::re_node_set_alloc
    - __attribute_warn_unused_result__::re_acquire_state
    - __glibc_unlikely
    - __attribute_warn_unused_result__::re_node_set_add_intersect
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nadd_epsilon_src_nodes
      (const re_dfa_t *dfa, re_node_set *dest_nodes,\n\t\t       const re_node_set
      *candidates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regexec.c:1792,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regexec.c:1798,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1803,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1804,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1806,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1807,1
    - Dst: re_node_set_add_intersect
      Src: /src/gnulib/lib/regexec.c:1809,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:1811,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1813,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1822,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:1824,1
    - Dst: re_node_set_remove_at
      Src: /src/gnulib/lib/regexec.c:1825,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:1828,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - dfa
    - node
    - dest_nodes
    - candidates
    argTypes:
    - re_dfa_t*
    - Idx
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1830
    functionName: sub_epsilon_src_nodes
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_node_set_add_intersect
    - IS_EPSILON_NODE
    - __glibc_unlikely
    - re_node_set_free
    - re_node_set_contains
    - re_node_set_init_empty
    - re_node_set_remove_at
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t sub_epsilon_src_nodes (const re_dfa_t *dfa, Idx node,
      re_node_set *dest_nodes,\n\t\t       const re_node_set *candidates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: search_cur_bkref_entry
      Src: /src/gnulib/lib/regexec.c:1839,1
    - Dst: search_cur_bkref_entry
      Src: /src/gnulib/lib/regexec.c:1840,1
    - Dst: check_dst_limits_calc_pos
      Src: /src/gnulib/lib/regexec.c:1848,1
    - Dst: check_dst_limits_calc_pos
      Src: /src/gnulib/lib/regexec.c:1851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - mctx
    - limits
    - dst_node
    - dst_idx
    - src_node
    - src_idx
    argTypes:
    - re_match_context_t*
    - re_node_set*
    - Idx
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 1865
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1865
    functionName: check_dst_limits
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - check_dst_limits_calc_pos
    - search_cur_bkref_entry
    linkageType: ''
    returnType: bool
    signature: "bool check_dst_limits (const re_match_context_t *mctx, const re_node_set
      *limits,\n\t\t  Idx dst_node, Idx dst_idx, Idx src_node, Idx src_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dst_limits_calc_pos_1
      Src: /src/gnulib/lib/regexec.c:1915,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 5
    argNames:
    - mctx
    - boundaries
    - subexp_idx
    - from_node
    - bkref_idx
    argTypes:
    - re_match_context_t*
    - int
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 1946
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1946
    functionName: check_dst_limits_calc_pos_1
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - check_dst_limits_calc_pos_1
    linkageType: ''
    returnType: int
    signature: "int check_dst_limits_calc_pos_1 (const re_match_context_t *mctx, int
      boundaries,\n\t\t\t     Idx subexp_idx, Idx from_node, Idx bkref_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_dst_limits_calc_pos_1
      Src: /src/gnulib/lib/regexec.c:1970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - mctx
    - limit
    - subexp_idx
    - from_node
    - str_idx
    - bkref_idx
    argTypes:
    - re_match_context_t*
    - Idx
    - Idx
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 1972
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 1972
    functionName: check_dst_limits_calc_pos
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - check_dst_limits_calc_pos_1
    linkageType: ''
    returnType: int
    signature: "int check_dst_limits_calc_pos (const re_match_context_t *mctx, Idx
      limit,\n\t\t\t   Idx subexp_idx, Idx from_node, Idx str_idx,\n\t\t\t   Idx bkref_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_epsilon_src_nodes
      Src: /src/gnulib/lib/regexec.c:2015,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2017,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:2026,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:2028,1
    - Dst: sub_epsilon_src_nodes
      Src: /src/gnulib/lib/regexec.c:2033,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2035,1
    - Dst: sub_epsilon_src_nodes
      Src: /src/gnulib/lib/regexec.c:2053,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2055,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 6
    argNames:
    - dfa
    - dest_nodes
    - candidates
    - limits
    - bkref_ents
    - str_idx
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - re_node_set*
    - re_node_set*
    - struct re_backref_cache_entry*
    - Idx
    constantsTouched: []
    func_position:
      end: 2062
      start: 1977
    functionDepth: 2
    functionLinenumber: 1977
    functionLinenumberEnd: 2062
    functionName: check_subexp_limits
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_node_set_contains
    - __glibc_unlikely
    - sub_epsilon_src_nodes
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t check_subexp_limits (const re_dfa_t *dfa, re_node_set
      *dest_nodes,\n\t\t     const re_node_set *candidates, re_node_set *limits,\n\t\t
      \    struct re_backref_cache_entry *bkref_ents, Idx str_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: search_cur_bkref_entry
      Src: /src/gnulib/lib/regexec.c:2073,1
    - Dst: STATE_NODE_CONTAINS
      Src: /src/gnulib/lib/regexec.c:2112,1
    - Dst: check_dst_limits
      Src: /src/gnulib/lib/regexec.c:2113,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regexec.c:2120,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2121,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:2126,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2127,1
    - Dst: sift_states_backward
      Src: /src/gnulib/lib/regexec.c:2133,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2134,1
    - Dst: merge_state_array
      Src: /src/gnulib/lib/regexec.c:2138,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2141,1
    - Dst: re_node_set_remove
      Src: /src/gnulib/lib/regexec.c:2145,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2156,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 4
    argNames:
    - mctx
    - sctx
    - str_idx
    - candidates
    argTypes:
    - re_match_context_t*
    - re_sift_context_t*
    - Idx
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2160
    functionName: __attribute_warn_unused_result__::sift_states_bkref
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_insert
    - check_dst_limits
    - STATE_NODE_CONTAINS
    - __glibc_unlikely
    - re_node_set_remove
    - search_cur_bkref_entry
    - re_node_set_free
    - merge_state_array
    - __attribute_warn_unused_result__::re_node_set_init_copy
    - sift_states_backward
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nsift_states_bkref
      (const re_match_context_t *mctx, re_sift_context_t *sctx,\n\t\t   Idx str_idx,
      const re_node_set *candidates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_node_accept_bytes
      Src: /src/gnulib/lib/regexec.c:2170,1
    - Dst: STATE_NODE_CONTAINS
      Src: /src/gnulib/lib/regexec.c:2172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - mctx
    - sctx
    - node_idx
    - str_idx
    - max_str_idx
    argTypes:
    - re_match_context_t*
    - re_sift_context_t*
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 2181
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2181
    functionName: sift_states_iter_mb
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - check_node_accept_bytes
    - STATE_NODE_CONTAINS
    linkageType: ''
    returnType: int
    signature: "int sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t
      *sctx,\n\t\t     Idx node_idx, Idx str_idx, Idx max_str_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2200,1
    - Dst: transit_state_mb
      Src: /src/gnulib/lib/regexec.c:2202,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2203,1
    - Dst: transit_state_sb
      Src: /src/gnulib/lib/regexec.c:2211,1
    - Dst: re_string_fetch_byte
      Src: /src/gnulib/lib/regexec.c:2215,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:2219,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:2223,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2227,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2228,1
    - Dst: IS_WORD_CONTEXT
      Src: /src/gnulib/lib/regexec.c:2230,1
    - Dst: build_trtable
      Src: /src/gnulib/lib/regexec.c:2236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - err
    - mctx
    - state
    argTypes:
    - reg_errcode_t*
    - re_match_context_t*
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2191
    functionDepth: 2
    functionLinenumber: 2191
    functionLinenumberEnd: 2244
    functionName: __attribute_warn_unused_result__::transit_state
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - transit_state_sb
    - __glibc_likely
    - build_trtable
    - re_string_fetch_byte
    - transit_state_mb
    - __glibc_unlikely
    - re_string_context_at
    - IS_WORD_CONTEXT
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\n__attribute_warn_unused_result__\ntransit_state (reg_errcode_t
      *err, re_match_context_t *mctx,\n\t       re_dfastate_t *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2252,1
    - Dst: re_node_set_init_union
      Src: /src/gnulib/lib/regexec.c:2277,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2279,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2287,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2288,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2291,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2296,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2299,1
    - Dst: check_subexp_matching_top
      Src: /src/gnulib/lib/regexec.c:2304,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2306,1
    - Dst: transit_state_bkref
      Src: /src/gnulib/lib/regexec.c:2312,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - err
    - mctx
    - next_state
    argTypes:
    - reg_errcode_t*
    - re_match_context_t*
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2247
    functionDepth: 2
    functionLinenumber: 2247
    functionLinenumberEnd: 2320
    functionName: merge_state_with_log
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - check_subexp_matching_top
    - re_acquire_state_context
    - __glibc_unlikely
    - re_string_context_at
    - re_node_set_free
    - transit_state_bkref
    - re_node_set_init_union
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\nmerge_state_with_log (reg_errcode_t *err, re_match_context_t
      *mctx,\n\t\t      re_dfastate_t *next_state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2332,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regexec.c:2338,1
    - Dst: merge_state_with_log
      Src: /src/gnulib/lib/regexec.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - err
    - mctx
    argTypes:
    - reg_errcode_t*
    - re_match_context_t*
    constantsTouched: []
    func_position:
      end: 2346
      start: 2325
    functionDepth: 3
    functionLinenumber: 2325
    functionLinenumberEnd: 2346
    functionName: find_recover_state
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - merge_state_with_log
    - re_string_skip_bytes
    linkageType: ''
    returnType: re_dfastate_t
    signature: 're_dfastate_t *

      find_recover_state (reg_errcode_t *err, re_match_context_t *mctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: match_ctx_add_subtop
      Src: /src/gnulib/lib/regexec.c:2376,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - cur_nodes
    - str_idx
    argTypes:
    - re_match_context_t*
    - re_node_set*
    - Idx
    constantsTouched: []
    func_position:
      end: 2382
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2382
    functionName: check_subexp_matching_top
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 2
    functionsReached:
    - match_ctx_add_subtop
    - __glibc_unlikely
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t check_subexp_matching_top (re_match_context_t *mctx,
      re_node_set *cur_nodes,\n\t\t\t   Idx str_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2395,1
    - Dst: re_node_set_alloc
      Src: /src/gnulib/lib/regexec.c:2398,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2399,1
    - Dst: check_node_accept
      Src: /src/gnulib/lib/regexec.c:2404,1
    - Dst: re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:2406,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2408,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2410,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2415,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2416,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2420,1
    - Dst: re_string_skip_bytes
      Src: /src/gnulib/lib/regexec.c:2421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - err
    - mctx
    - state
    argTypes:
    - reg_errcode_t*
    - re_match_context_t*
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 2423
      start: 2388
    functionDepth: 2
    functionLinenumber: 2388
    functionLinenumberEnd: 2423
    functionName: transit_state_sb
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - re_node_set_merge
    - check_node_accept
    - re_acquire_state_context
    - re_string_skip_bytes
    - re_node_set_alloc
    - __glibc_unlikely
    - re_node_set_free
    - re_string_context_at
    linkageType: ''
    returnType: re_dfastate_t
    signature: "re_dfastate_t *\ntransit_state_sb (reg_errcode_t *err, re_match_context_t
      *mctx,\n\t\t  re_dfastate_t *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2447,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2448,1
    - Dst: NOT_SATISFY_NEXT_CONSTRAINT
      Src: /src/gnulib/lib/regexec.c:2450,1
    - Dst: check_node_accept_bytes
      Src: /src/gnulib/lib/regexec.c:2456,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2457,1
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2462,1
    - Dst: clean_state_log_if_needed
      Src: /src/gnulib/lib/regexec.c:2465,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2466,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:2468,1
    - Dst: re_node_set_init_union
      Src: /src/gnulib/lib/regexec.c:2476,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2478,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2481,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2484,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2486,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2487,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - mctx
    - pstate
    argTypes:
    - re_match_context_t*
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2426
    functionDepth: 2
    functionLinenumber: 2426
    functionLinenumberEnd: 2492
    functionName: transit_state_mb
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_string_cur_idx
    - DEBUG_ASSERT
    - re_acquire_state_context
    - check_node_accept_bytes
    - __glibc_unlikely
    - re_string_context_at
    - re_node_set_free
    - clean_state_log_if_needed
    - NOT_SATISFY_NEXT_CONSTRAINT
    - re_node_set_init_union
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t transit_state_mb (re_match_context_t *mctx, re_dfastate_t
      *pstate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_cur_idx
      Src: /src/gnulib/lib/regexec.c:2500,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2516,1
    - Dst: NOT_SATISFY_NEXT_CONSTRAINT
      Src: /src/gnulib/lib/regexec.c:2518,1
    - Dst: get_subexp
      Src: /src/gnulib/lib/regexec.c:2525,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2526,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:2531,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2546,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2555,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2557,1
    - Dst: re_node_set_init_union
      Src: /src/gnulib/lib/regexec.c:2564,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2567,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2569,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2573,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2574,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2575,1
    - Dst: check_subexp_matching_top
      Src: /src/gnulib/lib/regexec.c:2584,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2586,1
    - Dst: transit_state_bkref
      Src: /src/gnulib/lib/regexec.c:2588,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2589,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - mctx
    - nodes
    argTypes:
    - re_match_context_t*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 2597
      start: 2494
    functionDepth: 2
    functionLinenumber: 2494
    functionLinenumberEnd: 2597
    functionName: transit_state_bkref
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 3
    functionsReached:
    - re_string_cur_idx
    - check_subexp_matching_top
    - DEBUG_ASSERT
    - re_acquire_state_context
    - get_subexp
    - __glibc_unlikely
    - re_string_context_at
    - re_node_set_free
    - NOT_SATISFY_NEXT_CONSTRAINT
    - transit_state_bkref
    - re_node_set_init_union
    linkageType: ''
    returnType: reg_errcode_t
    signature: reg_errcode_t transit_state_bkref (re_match_context_t *mctx, const
      re_node_set *nodes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: search_cur_bkref_entry
      Src: /src/gnulib/lib/regexec.c:2613,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2650,1
    - Dst: clean_state_log_if_needed
      Src: /src/gnulib/lib/regexec.c:2657,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2660,1
    - Dst: re_string_get_buffer
      Src: /src/gnulib/lib/regexec.c:2662,1
    - Dst: memcmp
      Src: /src/gnulib/lib/regexec.c:2664,1
    - Dst: get_subexp_sub
      Src: /src/gnulib/lib/regexec.c:2670,1
    - Dst: re_string_get_buffer
      Src: /src/gnulib/lib/regexec.c:2675,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2679,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2698,1
    - Dst: extend_buffers
      Src: /src/gnulib/lib/regexec.c:2704,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2705,1
    - Dst: re_string_get_buffer
      Src: /src/gnulib/lib/regexec.c:2708,1
    - Dst: find_subexp_node
      Src: /src/gnulib/lib/regexec.c:2718,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:2724,1
    - Dst: check_arrival
      Src: /src/gnulib/lib/regexec.c:2731,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2736,1
    - Dst: match_ctx_add_sublast
      Src: /src/gnulib/lib/regexec.c:2738,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2739,1
    - Dst: get_subexp_sub
      Src: /src/gnulib/lib/regexec.c:2741,1
    - Dst: re_string_get_buffer
      Src: /src/gnulib/lib/regexec.c:2743,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2746,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 82
    argCount: 3
    argNames:
    - mctx
    - bkref_node
    - bkref_str_idx
    argTypes:
    - re_match_context_t*
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 2751
      start: 2605
    functionDepth: 2
    functionLinenumber: 2605
    functionLinenumberEnd: 2751
    functionName: __attribute_warn_unused_result__
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - find_subexp_node
    - check_arrival
    - calloc
    - get_subexp_sub
    - re_string_get_buffer
    - match_ctx_add_sublast
    - memcmp
    - __glibc_unlikely
    - extend_buffers
    - search_cur_bkref_entry
    - clean_state_log_if_needed
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      get_subexp (re_match_context_t *mctx, Idx bkref_node, Idx bkref_str_idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_arrival
      Src: /src/gnulib/lib/regexec.c:2766,1
    - Dst: match_ctx_add_entry
      Src: /src/gnulib/lib/regexec.c:2771,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2773,1
    - Dst: clean_state_log_if_needed
      Src: /src/gnulib/lib/regexec.c:2776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - mctx
    - sub_top
    - sub_last
    - bkref_node
    - bkref_str
    argTypes:
    - re_match_context_t*
    - re_sub_match_top_t*
    - re_sub_match_last_t*
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 2777
      start: 2759
    functionDepth: 2
    functionLinenumber: 2759
    functionLinenumberEnd: 2777
    functionName: get_subexp_sub
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - clean_state_log_if_needed
    - __glibc_unlikely
    - check_arrival
    - match_ctx_add_entry
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t get_subexp_sub (re_match_context_t *mctx, const re_sub_match_top_t
      *sub_top,\n\t\tre_sub_match_last_t *sub_last, Idx bkref_node, Idx bkref_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dfa
    - nodes
    - subexp_idx
    - type
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 2801
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2801
    functionName: find_subexp_node
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Idx
    signature: "Idx find_subexp_node (const re_dfa_t *dfa, const re_node_set *nodes,\n\t\t
      \ Idx subexp_idx, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2824,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2830,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2833,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:2835,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2836,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:2840,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2853,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_1
      Src: /src/gnulib/lib/regexec.c:2856,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2857,1
    - Dst: check_arrival_expand_ecl
      Src: /src/gnulib/lib/regexec.c:2859,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2860,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2862,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regexec.c:2871,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2872,1
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regexec.c:2876,1
    - Dst: __attribute_warn_unused_result__::expand_bkref_cache
      Src: /src/gnulib/lib/regexec.c:2882,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2884,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2886,1
    - Dst: __attribute_warn_unused_result__::re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2890,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2891,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2893,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regexec.c:2901,1
    - Dst: __attribute_warn_unused_result__::re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:2904,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2906,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2908,1
    - Dst: __attribute_warn_unused_result__::check_arrival_add_next_nodes
      Src: /src/gnulib/lib/regexec.c:2914,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2917,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2919,1
    - Dst: check_arrival_expand_ecl
      Src: /src/gnulib/lib/regexec.c:2926,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2927,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2929,1
    - Dst: __attribute_warn_unused_result__::expand_bkref_cache
      Src: /src/gnulib/lib/regexec.c:2932,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2934,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2936,1
    - Dst: re_string_context_at
      Src: /src/gnulib/lib/regexec.c:2940,1
    - Dst: __attribute_warn_unused_result__::re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:2941,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:2942,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2944,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:2950,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:2960,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 7
    argNames:
    - mctx
    - path
    - top_node
    - top_str
    - last_node
    - last_str
    - type
    argTypes:
    - re_match_context_t*
    - state_array_t*
    - Idx
    - Idx
    - Idx
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 2964
      start: 2809
    functionDepth: 2
    functionLinenumber: 2809
    functionLinenumberEnd: 2964
    functionName: __attribute_warn_unused_result__::check_arrival
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_merge
    - re_node_set_empty
    - re_node_set_contains
    - re_realloc
    - __attribute_warn_unused_result__::re_node_set_init_1
    - __attribute_warn_unused_result__::check_arrival_add_next_nodes
    - __attribute_warn_unused_result__::expand_bkref_cache
    - __glibc_unlikely
    - re_string_context_at
    - memset
    - check_arrival_expand_ecl
    - re_node_set_free
    - __attribute_warn_unused_result__::re_acquire_state_context
    - __attribute_warn_unused_result__::re_node_set_init_copy
    - re_node_set_init_empty
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\ncheck_arrival (re_match_context_t
      *mctx, state_array_t *path, Idx top_node,\n\t       Idx top_str, Idx last_node,
      Idx last_str, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regexec.c:2984,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:2989,1
    - Dst: IS_EPSILON_NODE
      Src: /src/gnulib/lib/regexec.c:2989,1
    - Dst: check_node_accept_bytes
      Src: /src/gnulib/lib/regexec.c:2994,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regexec.c:3002,1
    - Dst: __attribute_warn_unused_result__::re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:3005,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3006,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3008,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3012,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3013,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3015,1
    - Dst: __attribute_warn_unused_result__::re_acquire_state
      Src: /src/gnulib/lib/regexec.c:3018,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3020,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3023,1
    - Dst: check_node_accept
      Src: /src/gnulib/lib/regexec.c:3030,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3032,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3033,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3035,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - mctx
    - str_idx
    - cur_nodes
    - next_nodes
    argTypes:
    - re_match_context_t*
    - Idx
    - re_node_set*
    - re_node_set*
    constantsTouched: []
    func_position:
      end: 3042
      start: 2974
    functionDepth: 2
    functionLinenumber: 2974
    functionLinenumberEnd: 3042
    functionName: __attribute_warn_unused_result__::check_arrival_add_next_nodes
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_merge
    - re_node_set_empty
    - DEBUG_ASSERT
    - check_node_accept
    - check_node_accept_bytes
    - __attribute_warn_unused_result__::re_node_set_insert
    - IS_EPSILON_NODE
    - __glibc_unlikely
    - re_node_set_free
    - __attribute_warn_unused_result__::re_acquire_state
    - re_node_set_init_empty
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\ncheck_arrival_add_next_nodes
      (re_match_context_t *mctx, Idx str_idx,\n\t\t\t      re_node_set *cur_nodes,
      re_node_set *next_nodes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:3057,1
    - Dst: re_node_set_alloc
      Src: /src/gnulib/lib/regexec.c:3058,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3059,1
    - Dst: find_subexp_node
      Src: /src/gnulib/lib/regexec.c:3068,1
    - Dst: re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:3072,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3073,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3075,1
    - Dst: check_arrival_expand_ecl_sub
      Src: /src/gnulib/lib/regexec.c:3082,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3084,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3086,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - dfa
    - cur_nodes
    - ex_subexp
    - type
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 3094
      start: 3050
    functionDepth: 1
    functionLinenumber: 3050
    functionLinenumberEnd: 3094
    functionName: check_arrival_expand_ecl
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_node_set_merge
    - DEBUG_ASSERT
    - find_subexp_node
    - check_arrival_expand_ecl_sub
    - re_node_set_alloc
    - __glibc_unlikely
    - re_node_set_free
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t check_arrival_expand_ecl (const re_dfa_t *dfa, re_node_set
      *cur_nodes,\n\t\t\t  Idx ex_subexp, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:3106,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3115,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3116,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3121,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3122,1
    - Dst: __attribute_warn_unused_result__::check_arrival_expand_ecl_sub
      Src: /src/gnulib/lib/regexec.c:3129,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - dfa
    - dst_nodes
    - target
    - ex_subexp
    - type
    argTypes:
    - re_dfa_t*
    - re_node_set*
    - Idx
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 3138
      start: 3100
    functionDepth: 2
    functionLinenumber: 3100
    functionLinenumberEnd: 3138
    functionName: __attribute_warn_unused_result__::check_arrival_expand_ecl_sub
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_insert
    - re_node_set_contains
    - __glibc_unlikely
    - __attribute_warn_unused_result__::check_arrival_expand_ecl_sub
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\ncheck_arrival_expand_ecl_sub
      (const re_dfa_t *dfa, re_node_set *dst_nodes,\n\t\t\t      Idx target, Idx ex_subexp,
      int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: search_cur_bkref_entry
      Src: /src/gnulib/lib/regexec.c:3152,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:3165,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:3178,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_1
      Src: /src/gnulib/lib/regexec.c:3180,1
    - Dst: check_arrival_expand_ecl
      Src: /src/gnulib/lib/regexec.c:3181,1
    - Dst: __attribute_warn_unused_result__::re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:3182,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3183,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3184,1
    - Dst: re_node_set_contains
      Src: /src/gnulib/lib/regexec.c:3201,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_copy
      Src: /src/gnulib/lib/regexec.c:3204,1
    - Dst: __attribute_warn_unused_result__::re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3206,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3207,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3209,1
    - Dst: __attribute_warn_unused_result__::re_node_set_init_1
      Src: /src/gnulib/lib/regexec.c:3216,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3217,1
    - Dst: __attribute_warn_unused_result__::re_acquire_state
      Src: /src/gnulib/lib/regexec.c:3220,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3221,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 5
    argNames:
    - mctx
    - cur_nodes
    - cur_str
    - subexp_num
    - type
    argTypes:
    - re_match_context_t*
    - re_node_set*
    - Idx
    - Idx
    - int
    constantsTouched: []
    func_position:
      end: 3229
      start: 3145
    functionDepth: 2
    functionLinenumber: 3145
    functionLinenumberEnd: 3229
    functionName: __attribute_warn_unused_result__::expand_bkref_cache
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - __attribute_warn_unused_result__::re_node_set_merge
    - __attribute_warn_unused_result__::re_node_set_init_copy
    - __attribute_warn_unused_result__::re_node_set_init_1
    - __attribute_warn_unused_result__::re_node_set_insert
    - __glibc_unlikely
    - check_arrival_expand_ecl
    - search_cur_bkref_entry
    - re_node_set_free
    - __attribute_warn_unused_result__::re_acquire_state
    - re_node_set_contains
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nexpand_bkref_cache
      (re_match_context_t *mctx, re_node_set *cur_nodes,\n\t\t    Idx cur_str, Idx
      subexp_num, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: group_nodes_into_DFAstates
      Src: /src/gnulib/lib/regexec.c:3262,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3263,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:3269,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3270,1
    - Dst: re_node_set_alloc
      Src: /src/gnulib/lib/regexec.c:3277,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3278,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3281,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3283,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3287,1
    - Dst: re_node_set_empty
      Src: /src/gnulib/lib/regexec.c:3293,1
    - Dst: re_node_set_merge
      Src: /src/gnulib/lib/regexec.c:3300,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3301,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:3305,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3306,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:3312,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3314,1
    - Dst: re_acquire_state_context
      Src: /src/gnulib/lib/regexec.c:3321,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3323,1
    - Dst: bitset_merge
      Src: /src/gnulib/lib/regexec.c:3331,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3334,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:3341,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3342,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3350,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:3372,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3373,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3381,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regexec.c:3395,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regexec.c:3399,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3411,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3413,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 95
    argCount: 2
    argNames:
    - dfa
    - state
    argTypes:
    - re_dfa_t*
    - re_dfastate_t*
    constantsTouched: []
    func_position:
      end: 3415
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3415
    functionName: __attribute_noinline__::build_trtable
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_node_set_empty
    - re_node_set_merge
    - calloc
    - re_acquire_state_context
    - re_node_set_alloc
    - bitset_contain
    - bitset_empty
    - bitset_merge
    - __glibc_unlikely
    - re_node_set_free
    - group_nodes_into_DFAstates
    linkageType: ''
    returnType: bool
    signature: 'bool __attribute_noinline__

      build_trtable (const re_dfa_t *dfa, re_dfastate_t *state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3433,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regexec.c:3445,1
    - Dst: bitset_merge
      Src: /src/gnulib/lib/regexec.c:3448,1
    - Dst: bitset_merge
      Src: /src/gnulib/lib/regexec.c:3453,1
    - Dst: bitset_set_all
      Src: /src/gnulib/lib/regexec.c:3455,1
    - Dst: bitset_clear
      Src: /src/gnulib/lib/regexec.c:3457,1
    - Dst: bitset_clear
      Src: /src/gnulib/lib/regexec.c:3459,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:3464,1
    - Dst: bitset_merge
      Src: /src/gnulib/lib/regexec.c:3466,1
    - Dst: bitset_clear
      Src: /src/gnulib/lib/regexec.c:3468,1
    - Dst: bitset_clear
      Src: /src/gnulib/lib/regexec.c:3470,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3482,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/regexec.c:3484,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3490,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3499,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3516,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regexec.c:3540,1
    - Dst: bitset_copy
      Src: /src/gnulib/lib/regexec.c:3563,1
    - Dst: bitset_copy
      Src: /src/gnulib/lib/regexec.c:3564,1
    - Dst: re_node_set_init_copy
      Src: /src/gnulib/lib/regexec.c:3565,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3566,1
    - Dst: re_node_set_insert
      Src: /src/gnulib/lib/regexec.c:3572,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3573,1
    - Dst: bitset_copy
      Src: /src/gnulib/lib/regexec.c:3583,1
    - Dst: re_node_set_init_1
      Src: /src/gnulib/lib/regexec.c:3584,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3585,1
    - Dst: bitset_empty
      Src: /src/gnulib/lib/regexec.c:3588,1
    - Dst: assume
      Src: /src/gnulib/lib/regexec.c:3591,1
    - Dst: re_node_set_free
      Src: /src/gnulib/lib/regexec.c:3595,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 112
    argCount: 4
    argNames:
    - dfa
    - state
    - dests_node
    - dests_ch
    argTypes:
    - re_dfa_t*
    - re_dfastate_t*
    - re_node_set*
    - bitset_t*
    constantsTouched: []
    func_position:
      end: 3597
      start: 3423
    functionDepth: 1
    functionLinenumber: 3423
    functionLinenumberEnd: 3597
    functionName: group_nodes_into_DFAstates
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - bitset_copy
    - bitset_set
    - bitset_clear
    - re_node_set_init_1
    - bitset_contain
    - bitset_empty
    - bitset_merge
    - bitset_set_all
    - __glibc_unlikely
    - re_node_set_insert
    - memset
    - assume
    - re_node_set_free
    - re_node_set_init_copy
    linkageType: ''
    returnType: Idx
    signature: "Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t
      *state,\n\t\t\t    re_node_set *dests_node, bitset_t *dests_ch)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3619,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:3622,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:3628,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:3663,1
    - Dst: re_string_char_size_at
      Src: /src/gnulib/lib/regexec.c:3670,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:3679,1
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:3681,1
    - Dst: re_string_elem_size_at
      Src: /src/gnulib/lib/regexec.c:3686,1
    - Dst: re_string_wchar_at
      Src: /src/gnulib/lib/regexec.c:3701,1
    - Dst: __iswctype
      Src: /src/gnulib/lib/regexec.c:3714,1
    - Dst: _NL_CURRENT_WORD
      Src: /src/gnulib/lib/regexec.c:3722,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3733,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3757,1
    - Dst: __collseq_table_lookup
      Src: /src/gnulib/lib/regexec.c:3758,1
    - Dst: find_collation_sequence_value
      Src: /src/gnulib/lib/regexec.c:3761,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3778,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3780,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3782,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/regexec.c:3784,1
    - Dst: memcmp
      Src: /src/gnulib/lib/regexec.c:3798,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 129
    argCount: 4
    argNames:
    - dfa
    - node_idx
    - input
    - str_idx
    argTypes:
    - re_dfa_t*
    - Idx
    - re_string_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 3834
      start: 3611
    functionDepth: 1
    functionLinenumber: 3611
    functionLinenumberEnd: 3834
    functionName: check_node_accept_bytes
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 4
    functionsReached:
    - __iswctype
    - re_string_wchar_at
    - __glibc_likely
    - __collseq_table_lookup
    - _NL_CURRENT
    - re_string_byte_at
    - re_string_elem_size_at
    - re_string_char_size_at
    - memcmp
    - __glibc_unlikely
    - find_collation_sequence_value
    - _NL_CURRENT_WORD
    linkageType: ''
    returnType: int
    signature: "int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx,\n\t\t\t
      const re_string_t *input, Idx str_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - mbs
    - mbs_len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3893
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3893
    functionName: find_collation_sequence_value
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int find_collation_sequence_value (const unsigned char *mbs,
      size_t mbs_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_string_byte_at
      Src: /src/gnulib/lib/regexec.c:3904,1
    - Dst: bitset_contain
      Src: /src/gnulib/lib/regexec.c:3913,1
    - Dst: NOT_SATISFY_NEXT_CONSTRAINT
      Src: /src/gnulib/lib/regexec.c:3937,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - mctx
    - node
    - idx
    argTypes:
    - re_match_context_t*
    - re_token_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 3942
      start: 3899
    functionDepth: 1
    functionLinenumber: 3899
    functionLinenumberEnd: 3942
    functionName: check_node_accept
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 4
    functionsReached:
    - NOT_SATISFY_NEXT_CONSTRAINT
    - re_string_byte_at
    - bitset_contain
    linkageType: ''
    returnType: bool
    signature: "bool check_node_accept (const re_match_context_t *mctx, const re_token_t
      *node,\n\t\t   Idx idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3954,1
    - Dst: MIN
      Src: /src/gnulib/lib/regexec.c:3954,1
    - Dst: __attribute_warn_unused_result__::re_string_realloc_buffers
      Src: /src/gnulib/lib/regexec.c:3959,1
    - Dst: MAX
      Src: /src/gnulib/lib/regexec.c:3960,1
    - Dst: MIN
      Src: /src/gnulib/lib/regexec.c:3961,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3962,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:3971,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3973,1
    - Dst: __attribute_warn_unused_result__::build_wcs_upper_buffer
      Src: /src/gnulib/lib/regexec.c:3983,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:3984,1
    - Dst: build_upper_buffer
      Src: /src/gnulib/lib/regexec.c:3988,1
    - Dst: build_wcs_buffer
      Src: /src/gnulib/lib/regexec.c:3993,1
    - Dst: re_string_translate_buffer
      Src: /src/gnulib/lib/regexec.c:3997,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - mctx
    - min_len
    argTypes:
    - re_match_context_t*
    - int
    constantsTouched: []
    func_position:
      end: 4001
      start: 3946
    functionDepth: 2
    functionLinenumber: 3946
    functionLinenumberEnd: 4001
    functionName: __attribute_warn_unused_result__::extend_buffers
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_realloc
    - __attribute_warn_unused_result__::build_wcs_upper_buffer
    - MAX
    - build_wcs_buffer
    - re_string_translate_buffer
    - __attribute_warn_unused_result__::re_string_realloc_buffers
    - __glibc_unlikely
    - MIN
    - build_upper_buffer
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      extend_buffers (re_match_context_t *mctx, int min_len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4020,1
    - Dst: MIN
      Src: /src/gnulib/lib/regexec.c:4020,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:4023,1
    - Dst: re_malloc
      Src: /src/gnulib/lib/regexec.c:4024,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - mctx
    - eflags
    - n
    argTypes:
    - re_match_context_t*
    - int
    - Idx
    constantsTouched: []
    func_position:
      end: 4037
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4037
    functionName: __attribute_warn_unused_result__::match_ctx_init
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_malloc
    - __glibc_unlikely
    - MIN
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      match_ctx_init (re_match_context_t *mctx, int eflags, Idx n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4054,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4055,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4057,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4060,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4061,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - re_match_context_t*
    constantsTouched: []
    func_position:
      end: 4068
      start: 4043
    functionDepth: 0
    functionLinenumber: 4043
    functionLinenumberEnd: 4068
    functionName: match_ctx_clean
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_free
    linkageType: ''
    returnType: void
    signature: void match_ctx_clean (re_match_context_t *mctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: match_ctx_clean
      Src: /src/gnulib/lib/regexec.c:4076,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4077,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - re_match_context_t*
    constantsTouched: []
    func_position:
      end: 4079
      start: 4072
    functionDepth: 1
    functionLinenumber: 4072
    functionLinenumberEnd: 4079
    functionName: match_ctx_free
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - match_ctx_clean
    - re_free
    linkageType: ''
    returnType: void
    signature: void match_ctx_free (re_match_context_t *mctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:4094,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4096,1
    - Dst: re_free
      Src: /src/gnulib/lib/regexec.c:4098,1
    - Dst: memset
      Src: /src/gnulib/lib/regexec.c:4102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - mctx
    - node
    - str_idx
    - from
    - to
    argTypes:
    - re_match_context_t*
    - Idx
    - Idx
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 4130
      start: 4086
    functionDepth: 1
    functionLinenumber: 4086
    functionLinenumberEnd: 4130
    functionName: __attribute_warn_unused_result__::match_ctx_add_entry
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - re_realloc
    - memset
    - __glibc_unlikely
    - re_free
    linkageType: ''
    returnType: reg_errcode_t
    signature: "reg_errcode_t __attribute_warn_unused_result__\nmatch_ctx_add_entry
      (re_match_context_t *mctx, Idx node, Idx str_idx, Idx from,\n\t\t     Idx to)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - str_idx
    argTypes:
    - re_match_context_t*
    - Idx
    constantsTouched: []
    func_position:
      end: 4152
      start: 4135
    functionDepth: 0
    functionLinenumber: 4135
    functionLinenumberEnd: 4152
    functionName: search_cur_bkref_entry
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Idx
    signature: Idx search_cur_bkref_entry (const re_match_context_t *mctx, Idx str_idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:4161,1
    - Dst: DEBUG_ASSERT
      Src: /src/gnulib/lib/regexec.c:4162,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4163,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:4166,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4169,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:4174,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - mctx
    - node
    - str_idx
    argTypes:
    - re_match_context_t*
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 4180
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4180
    functionName: __attribute_warn_unused_result__::match_ctx_add_subtop
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 0
    functionsReached:
    - DEBUG_ASSERT
    - re_realloc
    - __glibc_unlikely
    - calloc
    linkageType: ''
    returnType: reg_errcode_t
    signature: 'reg_errcode_t __attribute_warn_unused_result__

      match_ctx_add_subtop (re_match_context_t *mctx, Idx node, Idx str_idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4190,1
    - Dst: re_realloc
      Src: /src/gnulib/lib/regexec.c:4193,1
    - Dst: __glibc_unlikely
      Src: /src/gnulib/lib/regexec.c:4196,1
    - Dst: calloc
      Src: /src/gnulib/lib/regexec.c:4201,1
    - Dst: __glibc_likely
      Src: /src/gnulib/lib/regexec.c:4202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - subtop
    - node
    - str_idx
    argTypes:
    - re_sub_match_top_t*
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 4210
      start: 4186
    functionDepth: 0
    functionLinenumber: 4186
    functionLinenumberEnd: 4210
    functionName: match_ctx_add_sublast
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_realloc
    - __glibc_likely
    - __glibc_unlikely
    - calloc
    linkageType: ''
    returnType: re_sub_match_last_t
    signature: 're_sub_match_last_t *

      match_ctx_add_sublast (re_sub_match_top_t *subtop, Idx node, Idx str_idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: re_node_set_init_empty
      Src: /src/gnulib/lib/regexec.c:4220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - sctx
    - sifted_sts
    - limited_sts
    - last_node
    - last_str_idx
    argTypes:
    - re_sift_context_t*
    - re_dfastate_t**
    - re_dfastate_t**
    - Idx
    - Idx
    constantsTouched: []
    func_position:
      end: 4221
      start: 4212
    functionDepth: 0
    functionLinenumber: 4212
    functionLinenumberEnd: 4221
    functionName: sift_ctx_init
    functionSourceFile: /src/gnulib/lib/regexec.c
    functionUses: 1
    functionsReached:
    - re_node_set_init_empty
    linkageType: ''
    returnType: void
    signature: "void sift_ctx_init (re_sift_context_t *sctx, re_dfastate_t **sifted_sts,\n\t
      \      re_dfastate_t **limited_sts, Idx last_node, Idx last_str_idx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/gnulib/lib/ffsl.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: ffs
    functionSourceFile: /src/gnulib/lib/ffsl.h
    functionUses: 2
    functionsReached:
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int ffs (int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GCC_BUILTIN
      Src: /src/gnulib/lib/ffsl.h:55,1
    - Dst: MSVC_BUILTIN
      Src: /src/gnulib/lib/ffsl.h:60,1
    - Dst: ffs
      Src: /src/gnulib/lib/ffsl.h:82,1
    - Dst: ffs
      Src: /src/gnulib/lib/ffsl.h:86,1
    - Dst: ffs
      Src: /src/gnulib/lib/ffsl.h:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - TYPE
    constantsTouched: []
    func_position:
      end: 92
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 92
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/ffsl.h
    functionUses: 5
    functionsReached:
    - MSVC_BUILTIN
    - GCC_BUILTIN
    - ffs
    linkageType: ''
    returnType: int
    signature: int FUNC (TYPE i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wctype
      Src: /src/gnulib/lib/c32_get_type_test.c:35,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:46,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:50,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:62,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:66,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:70,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:74,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:78,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:85,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:89,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:97,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:101,1
    - Dst: strcmp
      Src: /src/gnulib/lib/c32_get_type_test.c:105,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 113
    functionName: c32_get_type_test
    functionSourceFile: /src/gnulib/lib/c32_get_type_test.c
    functionUses: 2
    functionsReached:
    - wctype
    - strcmp
    linkageType: ''
    returnType: c32_type_test_t
    signature: c32_type_test_t c32_get_type_test (const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: make_crc_table
    functionSourceFile: /src/gnulib/lib/crc-generate-table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_crc_table (int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/gnulib/lib/crc-generate-table.c:66,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:68,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:73,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:75,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:77,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - bits
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: print_crc_table
    functionSourceFile: /src/gnulib/lib/crc-generate-table.c
    functionUses: 0
    functionsReached:
    - fprintf
    - make_crc_table
    linkageType: ''
    returnType: void
    signature: void print_crc_table (FILE * stream, int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:86,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:87,1
    - Dst: print_crc_table
      Src: /src/gnulib/lib/crc-generate-table.c:90,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:92,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:93,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: print_header
    functionSourceFile: /src/gnulib/lib/crc-generate-table.c
    functionUses: 4
    functionsReached:
    - print_crc_table
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_header (FILE * stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:101,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:102,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:103,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:105,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:106,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:108,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:110,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:112,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:113,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:114,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:116,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:118,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:120,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:121,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:122,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: print_copyright_notice
    functionSourceFile: /src/gnulib/lib/crc-generate-table.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_copyright_notice (FILE * stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:133,1
    - Dst: exit
      Src: /src/gnulib/lib/crc-generate-table.c:134,1
    - Dst: fopen
      Src: /src/gnulib/lib/crc-generate-table.c:138,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:141,1
    - Dst: exit
      Src: /src/gnulib/lib/crc-generate-table.c:142,1
    - Dst: print_copyright_notice
      Src: /src/gnulib/lib/crc-generate-table.c:145,1
    - Dst: print_header
      Src: /src/gnulib/lib/crc-generate-table.c:146,1
    - Dst: ferror
      Src: /src/gnulib/lib/crc-generate-table.c:148,1
    - Dst: fclose
      Src: /src/gnulib/lib/crc-generate-table.c:148,1
    - Dst: fprintf
      Src: /src/gnulib/lib/crc-generate-table.c:150,1
    - Dst: exit
      Src: /src/gnulib/lib/crc-generate-table.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/gnulib/lib/crc-generate-table.c
    functionUses: 12
    functionsReached:
    - fopen
    - exit
    - fclose
    - print_copyright_notice
    - print_header
    - ferror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: gl_sublist_nx_create_empty
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_sublist_nx_create_empty (gl_list_implementation_t implementation,\n
      \                           gl_listelement_equals_fn equals_fn,\n                            gl_listelement_hashcode_fn
      hashcode_fn,\n                            gl_listelement_dispose_fn dispose_fn,\n
      \                           bool allow_duplicates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - implementation
    - equals_fn
    - hashcode_fn
    - dispose_fn
    - allow_duplicates
    - count
    - contents
    argTypes:
    - gl_list_implementation_t
    - gl_listelement_equals_fn
    - gl_listelement_hashcode_fn
    - gl_listelement_dispose_fn
    - bool
    - size_t
    - void**
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: gl_sublist_nx_create_fill
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: gl_list_t
    signature: "gl_list_t gl_sublist_nx_create_fill (gl_list_implementation_t implementation,\n
      \                          gl_listelement_equals_fn equals_fn,\n                           gl_listelement_hashcode_fn
      hashcode_fn,\n                           gl_listelement_dispose_fn dispose_fn,\n
      \                          bool allow_duplicates,\n                           size_t
      count, const void **contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: gl_sublist_size
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gl_sublist_size (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:81,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/lib/gl_sublist.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: gl_sublist_node_value
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_get_at
    linkageType: ''
    returnType: void
    signature: 'void *

      gl_sublist_node_value (gl_list_t list, gl_list_node_t node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:91,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/lib/gl_sublist.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: gl_sublist_node_nx_set_value
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_nx_set_at
    linkageType: ''
    returnType: int
    signature: int gl_sublist_node_nx_set_value (gl_list_t list, gl_list_node_t node,
      const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:104,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: gl_sublist_next_node
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_next_node (gl_list_t list, gl_list_node_t
      node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:118,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: gl_sublist_previous_node
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_previous_node (gl_list_t list, gl_list_node_t
      node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: gl_sublist_first_node
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_first_node (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: gl_sublist_last_node
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_last_node (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:149,1
    - Dst: gl_list_get_at
      Src: /src/gnulib/lib/gl_sublist.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - gl_list_t
    - size_t
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: gl_sublist_get_at
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_get_at
    linkageType: ''
    returnType: void
    signature: 'void *

      gl_sublist_get_at (gl_list_t list, size_t position)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:158,1
    - Dst: gl_list_nx_set_at
      Src: /src/gnulib/lib/gl_sublist.c:159,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: gl_sublist_nx_set_at
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_nx_set_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_set_at (gl_list_t list, size_t position,
      const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:170,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - list
    - start_index
    - end_index
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: gl_sublist_search_from_to
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t gl_sublist_search_from_to (gl_list_t list, size_t start_index,
      size_t end_index,\n                           const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - list
    - start_index
    - end_index
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: gl_sublist_indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: size_t
    signature: "size_t gl_sublist_indexof_from_to (gl_list_t list,\n                            size_t
      start_index, size_t end_index,\n                            const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_sublist.c:207,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: gl_sublist_nx_add_first
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - gl_list_nx_add_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_add_first (gl_list_t list, const void
      *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_sublist.c:216,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: gl_sublist_nx_add_last
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - gl_list_nx_add_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_add_last (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:228,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_sublist.c:229,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: gl_sublist_nx_add_before
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_nx_add_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_add_before (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:241,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_sublist.c:243,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - list
    - node
    - elt
    argTypes:
    - gl_list_t
    - gl_list_node_t
    - void*
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: gl_sublist_nx_add_after
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_nx_add_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_add_after (gl_list_t list, gl_list_node_t
      node, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:254,1
    - Dst: gl_list_nx_add_at
      Src: /src/gnulib/lib/gl_sublist.c:255,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - list
    - position
    - elt
    argTypes:
    - gl_list_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: gl_sublist_nx_add_at
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_nx_add_at
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: gl_list_node_t gl_sublist_nx_add_at (gl_list_t list, size_t position,
      const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:267,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/lib/gl_sublist.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - gl_list_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: gl_sublist_remove_node
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_sublist_remove_node (gl_list_t list, gl_list_node_t node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:276,1
    - Dst: gl_list_remove_at
      Src: /src/gnulib/lib/gl_sublist.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - position
    argTypes:
    - gl_list_t
    - size_t
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: gl_sublist_remove_at
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_sublist_remove_at (gl_list_t list, size_t position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_remove_at
      Src: /src/gnulib/lib/gl_sublist.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - gl_list_t
    - void*
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: gl_sublist_remove
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - gl_list_remove_at
    linkageType: ''
    returnType: bool
    signature: bool gl_sublist_remove (gl_list_t list, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/gl_sublist.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: gl_sublist_list_free
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gl_sublist_list_free (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/lib/gl_sublist.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: gl_sublist_iterator
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - gl_list_iterator_from_to
    linkageType: ''
    returnType: gl_list_iterator_t
    signature: gl_list_iterator_t gl_sublist_iterator (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:311,1
    - Dst: gl_list_iterator_from_to
      Src: /src/gnulib/lib/gl_sublist.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - list
    - start_index
    - end_index
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: gl_sublist_iterator_from_to
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_list_iterator_from_to
    linkageType: ''
    returnType: gl_list_iterator_t
    signature: "gl_list_iterator_t gl_sublist_iterator_from_to (gl_list_t list,\n
      \                            size_t start_index, size_t end_index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iterator
    - eltp
    - nodep
    argTypes:
    - gl_list_iterator_t*
    - void**
    - gl_list_node_t*
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: gl_sublist_iterator_next
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: bool
    signature: "bool gl_sublist_iterator_next (gl_list_iterator_t *iterator,\n                          const
      void **eltp, gl_list_node_t *nodep)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - gl_list_iterator_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: gl_sublist_iterator_free
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void gl_sublist_iterator_free (gl_list_iterator_t *iterator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: gl_sublist_sortedlist_search
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t gl_sublist_sortedlist_search (gl_list_t list,\n                              gl_listelement_compar_fn
      compar,\n                              const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:358,1
    - Dst: gl_sortedlist_indexof_from_to
      Src: /src/gnulib/lib/gl_sublist.c:361,1
    - Dst: INDEX_TO_NODE
      Src: /src/gnulib/lib/gl_sublist.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - list
    - compar
    - low
    - high
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: gl_sublist_sortedlist_search_from_to
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_sortedlist_indexof_from_to
    - INDEX_TO_NODE
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t gl_sublist_sortedlist_search_from_to (gl_list_t list,\n
      \                                     gl_listelement_compar_fn compar,\n                                      size_t
      low, size_t high,\n                                      const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: gl_sublist_sortedlist_indexof
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t gl_sublist_sortedlist_indexof (gl_list_t list,\n                               gl_listelement_compar_fn
      compar,\n                               const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:392,1
    - Dst: gl_sortedlist_indexof_from_to
      Src: /src/gnulib/lib/gl_sublist.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - list
    - compar
    - low
    - high
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: gl_sublist_sortedlist_indexof_from_to
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - gl_sortedlist_indexof_from_to
    linkageType: ''
    returnType: size_t
    signature: "size_t gl_sublist_sortedlist_indexof_from_to (gl_list_t list,\n                                       gl_listelement_compar_fn
      compar,\n                                       size_t low, size_t high,\n                                       const
      void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: gl_sublist_sortedlist_nx_add
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: gl_list_node_t
    signature: "gl_list_node_t gl_sublist_sortedlist_nx_add (gl_list_t list,\n                              gl_listelement_compar_fn
      compar,\n                              const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_sublist_remove_at
      Src: /src/gnulib/lib/gl_sublist.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - list
    - compar
    - elt
    argTypes:
    - gl_list_t
    - gl_listelement_compar_fn
    - void*
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: gl_sublist_sortedlist_remove
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - gl_sublist_remove_at
    linkageType: ''
    returnType: bool
    signature: "bool gl_sublist_sortedlist_remove (gl_list_t list,\n                              gl_listelement_compar_fn
      compar,\n                              const void *elt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_list_size
      Src: /src/gnulib/lib/gl_sublist.c:465,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_sublist.c:467,1
    - Dst: malloc
      Src: /src/gnulib/lib/gl_sublist.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - whole_list
    - start_index
    - end_index
    argTypes:
    - gl_list_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 497
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 497
    functionName: gl_sublist_nx_create
    functionSourceFile: /src/gnulib/lib/gl_sublist.c
    functionUses: 0
    functionsReached:
    - abort
    - malloc
    - gl_list_size
    linkageType: ''
    returnType: gl_list_t
    signature: gl_list_t gl_sublist_nx_create (gl_list_t whole_list, size_t start_index,
      size_t end_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fesetenv
      Src: /src/gnulib/lib/fenv-env-update.c:26,1
    - Dst: feraiseexcept
      Src: /src/gnulib/lib/fenv-env-update.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - envp
    argTypes:
    - fenv_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: feupdateenv
    functionSourceFile: /src/gnulib/lib/fenv-env-update.c
    functionUses: 3
    functionsReached:
    - fesetenv
    - feraiseexcept
    linkageType: ''
    returnType: int
    signature: int feupdateenv (fenv_t const *envp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset_explicit
      Src: /src/gnulib/lib/explicit_bzero.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: explicit_bzero
    functionSourceFile: /src/gnulib/lib/explicit_bzero.c
    functionUses: 8
    functionsReached:
    - memset_explicit
    linkageType: ''
    returnType: void
    signature: void explicit_bzero (void *s, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_list.c:49,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_list.c:53,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_list.c:55,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_list.c:57,1
    - Dst: abort
      Src: /src/gnulib/lib/gl_rbtree_list.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - node
    - parent
    argTypes:
    - gl_list_node_t
    - gl_list_node_t
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtree_list.c
    functionUses: 13
    functionsReached:
    - abort
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int check_invariants (gl_list_node_t node, gl_list_node_t
      parent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_invariants
      Src: /src/gnulib/lib/gl_rbtree_list.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - gl_list_t
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: gl_rbtree_list_check_invariants
    functionSourceFile: /src/gnulib/lib/gl_rbtree_list.c
    functionUses: 1
    functionsReached:
    - check_invariants
    linkageType: ''
    returnType: void
    signature: void gl_rbtree_list_check_invariants (gl_list_t list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:162,1
    - Dst: ximemdup0
      Src: /src/gnulib/lib/readutmp.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ut
    argTypes:
    - STRUCT_UTMP*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: extract_trimmed_name
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - strlen
    - ximemdup0
    linkageType: ''
    returnType: char
    signature: 'char *

      extract_trimmed_name (const STRUCT_UTMP *ut)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UT_PID
      Src: /src/gnulib/lib/readutmp.c:195,1
    - Dst: kill
      Src: /src/gnulib/lib/readutmp.c:196,1
    - Dst: UT_PID
      Src: /src/gnulib/lib/readutmp.c:196,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 12
    argCount: 2
    argNames:
    - ut
    - options
    argTypes:
    - STRUCT_UTMP*
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 201
    functionName: desirable_utmp_entry
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - UT_PID
    - kill
    linkageType: ''
    returnType: bool
    signature: bool desirable_utmp_entry (STRUCT_UTMP const *ut, int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/gnulib/lib/readutmp.c:248,1
    - Dst: memmove::memmove
      Src: /src/gnulib/lib/readutmp.c:249,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readutmp.c:256,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readutmp.c:258,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readutmp.c:260,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readutmp.c:262,1
    - Dst: desirable_utmp_entry
      Src: /src/gnulib/lib/readutmp.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 16
    argNames:
    - a
    - options
    - user
    - user_len
    - id
    - id_len
    - line
    - line_len
    - host
    - host_len
    - pid
    - type
    - ts
    - session
    - termination
    - exit
    argTypes:
    - struct utmp_alloc
    - int
    - char*
    - idx_t
    - char*
    - idx_t
    - char*
    - idx_t
    - char*
    - idx_t
    - pid_t
    - short
    - struct timespec
    - long
    - int
    - int
    constantsTouched: []
    func_position:
      end: 283
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 283
    functionName: add_utmp
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memmove::memmove
    - desirable_utmp_entry
    - char::char
    linkageType: ''
    returnType: struct utmp_alloc
    signature: "struct utmp_alloc add_utmp (struct utmp_alloc a, int options,\n          char
      const *user, idx_t user_len,\n          char const *id, idx_t id_len,\n          char
      const *line, idx_t line_len,\n          char const *host, idx_t host_len,\n
      \         pid_t pid, short type, struct timespec ts, long session,\n          int
      termination, int exit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct utmp_alloc
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: finish_utmp
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct utmp_alloc
    signature: struct utmp_alloc finish_utmp (struct utmp_alloc a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UT_TYPE_BOOT_TIME
      Src: /src/gnulib/lib/readutmp.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct utmp_alloc
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: have_boot_time
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - UT_TYPE_BOOT_TIME
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED have_boot_time (struct utmp_alloc a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UTMP_NAME_FUNCTION
      Src: /src/gnulib/lib/readutmp.c:345,1
    - Dst: SET_UTMP_ENT
      Src: /src/gnulib/lib/readutmp.c:347,1
    - Dst: GET_UTMP_ENT
      Src: /src/gnulib/lib/readutmp.c:357,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:368,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:369,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:369,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:369,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:371,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:375,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:377,1
    - Dst: UT_EXIT_E_TERMINATION
      Src: /src/gnulib/lib/readutmp.c:397,1
    - Dst: UT_EXIT_E_EXIT
      Src: /src/gnulib/lib/readutmp.c:397,1
    - Dst: memcmp
      Src: /src/gnulib/lib/readutmp.c:401,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:401,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:401,1
    - Dst: memcmp
      Src: /src/gnulib/lib/readutmp.c:402,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:402,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:407,1
    - Dst: memcmp
      Src: /src/gnulib/lib/readutmp.c:408,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:408,1
    - Dst: END_UTMP_ENT
      Src: /src/gnulib/lib/readutmp.c:413,1
    - Dst: UT_TYPE_BOOT_TIME
      Src: /src/gnulib/lib/readutmp.c:435,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:443,1
    - Dst: get_linux_boot_time_fallback
      Src: /src/gnulib/lib/readutmp.c:447,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:448,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:449,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:451,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:464,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:465,1
    - Dst: get_android_boot_time
      Src: /src/gnulib/lib/readutmp.c:468,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:469,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:470,1
    - Dst: UT_TYPE_BOOT_TIME
      Src: /src/gnulib/lib/readutmp.c:492,1
    - Dst: fopen
      Src: /src/gnulib/lib/readutmp.c:504,1
    - Dst: fread
      Src: /src/gnulib/lib/readutmp.c:512,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:514,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:515,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:515,1
    - Dst: UT_USER
      Src: /src/gnulib/lib/readutmp.c:515,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:517,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:521,1
    - Dst: strnlen
      Src: /src/gnulib/lib/readutmp.c:523,1
    - Dst: UT_EXIT_E_TERMINATION
      Src: /src/gnulib/lib/readutmp.c:547,1
    - Dst: UT_EXIT_E_EXIT
      Src: /src/gnulib/lib/readutmp.c:547,1
    - Dst: fclose
      Src: /src/gnulib/lib/readutmp.c:552,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:556,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:563,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:566,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:574,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:575,1
    - Dst: get_openbsd_boot_time
      Src: /src/gnulib/lib/readutmp.c:578,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:579,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:580,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:592,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:593,1
    - Dst: get_linux_boot_time_final_fallback
      Src: /src/gnulib/lib/readutmp.c:596,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:597,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:598,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:600,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:611,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:612,1
    - Dst: get_bsd_boot_time_final_fallback
      Src: /src/gnulib/lib/readutmp.c:615,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:616,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:617,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:627,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:628,1
    - Dst: get_haiku_boot_time
      Src: /src/gnulib/lib/readutmp.c:631,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:632,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:633,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:643,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:644,1
    - Dst: get_haiku_boot_time_final_fallback
      Src: /src/gnulib/lib/readutmp.c:647,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:648,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:649,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:661,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:662,1
    - Dst: get_windows_boot_time
      Src: /src/gnulib/lib/readutmp.c:665,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:666,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:667,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:677,1
    - Dst: have_boot_time
      Src: /src/gnulib/lib/readutmp.c:678,1
    - Dst: get_windows_boot_time_fallback
      Src: /src/gnulib/lib/readutmp.c:681,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:682,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:683,1
    - Dst: finish_utmp
      Src: /src/gnulib/lib/readutmp.c:691,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 96
    argCount: 4
    argNames:
    - file
    - n_entries
    - utmp_buf
    - options
    argTypes:
    - char*
    - idx_t*
    - STRUCT_UTMP**
    - int
    constantsTouched: []
    func_position:
      end: 697
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 697
    functionName: read_utmp_from_file
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - get_haiku_boot_time
    - strcmp
    - get_windows_boot_time_fallback
    - END_UTMP_ENT
    - UT_USER
    - get_android_boot_time
    - fclose
    - free
    - memcmp
    - UTMP_NAME_FUNCTION
    - have_boot_time
    - UT_EXIT_E_EXIT
    - fopen
    - get_bsd_boot_time_final_fallback
    - get_windows_boot_time
    - strlen
    - fread
    - get_haiku_boot_time_final_fallback
    - SET_UTMP_ENT
    - UT_TYPE_BOOT_TIME
    - strnlen
    - add_utmp
    - get_linux_boot_time_final_fallback
    - UT_EXIT_E_TERMINATION
    - finish_utmp
    - get_openbsd_boot_time
    - GET_UTMP_ENT
    - get_linux_boot_time_fallback
    linkageType: ''
    returnType: int
    signature: "int read_utmp_from_file (char const *file, idx_t *n_entries, STRUCT_UTMP
      **utmp_buf,\n                     int options)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_utmp_from_file
      Src: /src/gnulib/lib/readutmp.c:709,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:713,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 721
    functionName: get_boot_time_uncached
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - free
    - read_utmp_from_file
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec get_boot_time_uncached (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_boot_time_uncached
      Src: /src/gnulib/lib/readutmp.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: get_boot_time
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 1
    functionsReached:
    - get_boot_time_uncached
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec get_boot_time (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/gnulib/lib/readutmp.c:744,1
    - Dst: memcpy
      Src: /src/gnulib/lib/readutmp.c:749,1
    - Dst: readdir
      Src: /src/gnulib/lib/readutmp.c:756,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:759,1
    - Dst: strcpy
      Src: /src/gnulib/lib/readutmp.c:762,1
    - Dst: stat
      Src: /src/gnulib/lib/readutmp.c:766,1
    - Dst: strcpy
      Src: /src/gnulib/lib/readutmp.c:779,1
    - Dst: closedir
      Src: /src/gnulib/lib/readutmp.c:786,1
    - Dst: xstrdup
      Src: /src/gnulib/lib/readutmp.c:794,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 21
    argCount: 2
    argNames:
    - uid
    - at
    argTypes:
    - uid_t
    - struct timespec
    constantsTouched: []
    func_position:
      end: 798
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 798
    functionName: guess_pty_name
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - closedir
    - strlen
    - strcpy
    - readdir
    - xstrdup
    - opendir
    - stat
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      guess_pty_name (uid_t uid, const struct timespec at)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:808,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:809,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:811,1
    - Dst: get_boot_time
      Src: /src/gnulib/lib/readutmp.c:813,1
    - Dst: sd_session_get_start_time
      Src: /src/gnulib/lib/readutmp.c:828,1
    - Dst: sd_session_get_seat
      Src: /src/gnulib/lib/readutmp.c:835,1
    - Dst: sd_session_get_tty
      Src: /src/gnulib/lib/readutmp.c:842,1
    - Dst: sd_session_get_type
      Src: /src/gnulib/lib/readutmp.c:846,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:848,1
    - Dst: sd_session_get_service
      Src: /src/gnulib/lib/readutmp.c:851,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/readutmp.c:860,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:860,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:860,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:861,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:861,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:861,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:862,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:863,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:870,1
    - Dst: sd_session_get_service
      Src: /src/gnulib/lib/readutmp.c:873,1
    - Dst: sd_session_get_username
      Src: /src/gnulib/lib/readutmp.c:885,1
    - Dst: sd_session_get_leader
      Src: /src/gnulib/lib/readutmp.c:889,1
    - Dst: sd_session_get_class
      Src: /src/gnulib/lib/readutmp.c:893,1
    - Dst: sd_session_get_remote_host
      Src: /src/gnulib/lib/readutmp.c:901,1
    - Dst: sd_session_get_type
      Src: /src/gnulib/lib/readutmp.c:906,1
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:908,1
    - Dst: sd_session_get_display
      Src: /src/gnulib/lib/readutmp.c:911,1
    - Dst: sd_session_get_remote_user
      Src: /src/gnulib/lib/readutmp.c:922,1
    - Dst: xmalloc
      Src: /src/gnulib/lib/readutmp.c:926,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:926,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:927,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:928,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:928,1
    - Dst: stpcpy
      Src: /src/gnulib/lib/readutmp.c:928,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:930,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:931,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:936,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:937,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:938,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:939,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:940,1
    - Dst: add_utmp
      Src: /src/gnulib/lib/readutmp.c:944,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:945,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:946,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:947,1
    - Dst: strlen
      Src: /src/gnulib/lib/readutmp.c:948,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:953,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:955,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:957,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:961,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:962,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:963,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:964,1
    - Dst: free
      Src: /src/gnulib/lib/readutmp.c:966,1
    - Dst: finish_utmp
      Src: /src/gnulib/lib/readutmp.c:970,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 3
    argNames:
    - n_entries
    - utmp_buf
    - options
    argTypes:
    - idx_t*
    - STRUCT_UTMP**
    - int
    constantsTouched: []
    func_position:
      end: 976
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 976
    functionName: read_utmp_from_systemd
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 0
    functionsReached:
    - sd_session_get_display
    - sd_session_get_remote_host
    - sd_session_get_username
    - sd_session_get_remote_user
    - strcmp
    - stpcpy
    - get_boot_time
    - sd_session_get_start_time
    - free
    - sd_session_get_leader
    - sd_session_get_tty
    - sd_session_get_seat
    - sd_session_get_service
    - strlen
    - add_utmp
    - sd_session_get_class
    - finish_utmp
    - xmalloc
    - sd_session_get_type
    linkageType: ''
    returnType: int
    signature: int read_utmp_from_systemd (idx_t *n_entries, STRUCT_UTMP **utmp_buf,
      int options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/gnulib/lib/readutmp.c:985,1
    - Dst: read_utmp_from_systemd
      Src: /src/gnulib/lib/readutmp.c:987,1
    - Dst: read_utmp_from_file
      Src: /src/gnulib/lib/readutmp.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - file
    - n_entries
    - utmp_buf
    - options
    argTypes:
    - char*
    - idx_t*
    - STRUCT_UTMP**
    - int
    constantsTouched: []
    func_position:
      end: 991
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 991
    functionName: read_utmp
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 2
    functionsReached:
    - read_utmp_from_systemd
    - read_utmp_from_file
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int read_utmp (char const *file, idx_t *n_entries, STRUCT_UTMP **utmp_buf,\n
      \          int options)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - file
    - n_entries
    - utmp_buf
    - options
    argTypes:
    - char*
    - idx_t*
    - STRUCT_UTMP**
    - int
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: read_utmp
    functionSourceFile: /src/gnulib/lib/readutmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read_utmp (char const *file, idx_t *n_entries, STRUCT_UTMP **utmp_buf,\n
      \          int options)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - handler
    argTypes:
    - int
    - handler_t
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: signal_nothrow
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: handler_t
    signature: handler_t signal_nothrow (int sig, handler_t handler)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sig
    - handler
    argTypes:
    - int
    - handler_t
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: ext_signal
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: handler_t
    signature: handler_t ext_signal (int sig, handler_t handler)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - set
    - sig
    argTypes:
    - sigset_t*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: sigismember
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigismember (const sigset_t *set, int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: sigemptyset
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigemptyset (sigset_t *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - set
    - sig
    argTypes:
    - sigset_t*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: sigaddset
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigaddset (sigset_t *set, int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - set
    - sig
    argTypes:
    - sigset_t*
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: sigdelset
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigdelset (sigset_t *set, int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: sigfillset
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigfillset (sigset_t *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: blocked_handler
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void blocked_handler (int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - set
    argTypes:
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: sigpending
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigpending (sigset_t *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/sigprocmask.c:230,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/sigprocmask.c:253,1
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:268,1
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:281,1
    - Dst: abort
      Src: /src/gnulib/lib/sigprocmask.c:285,1
    - Dst: raise
      Src: /src/gnulib/lib/sigprocmask.c:295,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/sigprocmask.c:299,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - operation
    - set
    - old_set
    argTypes:
    - int
    - sigset_t*
    - sigset_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 301
    functionName: sigprocmask
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 16
    functionsReached:
    - abort
    - signal
    - raise
    - gl_lock_unlock
    - gl_lock_lock
    linkageType: ''
    returnType: int
    signature: int sigprocmask (int operation, const sigset_t *set, sigset_t *old_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/gnulib/lib/sigprocmask.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - sig
    - handler
    argTypes:
    - int
    - handler_t
    constantsTouched: []
    func_position:
      end: 341
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 341
    functionName: rpl_signal
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: handler_t
    signature: handler_t rpl_signal (int sig, handler_t handler)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_lock_lock
      Src: /src/gnulib/lib/sigprocmask.c:348,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/sigprocmask.c:352,1
    - Dst: gl_lock_unlock
      Src: /src/gnulib/lib/sigprocmask.c:357,1
    - Dst: exit
      Src: /src/gnulib/lib/sigprocmask.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: _gl_raise_SIGPIPE
    functionSourceFile: /src/gnulib/lib/sigprocmask.c
    functionUses: 0
    functionsReached:
    - exit
    - gl_lock_lock
    - gl_lock_unlock
    linkageType: ''
    returnType: int
    signature: int _gl_raise_SIGPIPE (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/gnulib/lib/strftime.c:346,1
    - Dst: TOLOWER
      Src: /src/gnulib/lib/strftime.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fp
    - src
    - len
    argTypes:
    - FILE*
    - CHAR_T*
    - size_t
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: fwrite_lowcase
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - fputc
    - TOLOWER
    linkageType: ''
    returnType: void
    signature: void fwrite_lowcase (FILE *fp, const CHAR_T *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/gnulib/lib/strftime.c:356,1
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strftime.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fp
    - src
    - len
    argTypes:
    - FILE*
    - CHAR_T*
    - size_t
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: fwrite_uppcase
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - fputc
    - TOUPPER
    linkageType: ''
    returnType: void
    signature: void fwrite_uppcase (FILE *fp, const CHAR_T *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/gnulib/lib/strftime.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - src
    - LOCALE_PARAM
    argTypes:
    - CHAR_T*
    - CHAR_T*
    - size_t
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: memcpy_lowcase
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: CHAR_T
    signature: 'CHAR_T *

      memcpy_lowcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TOUPPER
      Src: /src/gnulib/lib/strftime.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - src
    - LOCALE_PARAM
    argTypes:
    - CHAR_T*
    - CHAR_T*
    - size_t
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: memcpy_uppcase
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - TOUPPER
    linkageType: ''
    returnType: CHAR_T
    signature: 'CHAR_T *

      memcpy_uppcase (CHAR_T *dest, const CHAR_T *src, size_t len LOCALE_PARAM)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/gnulib/lib/strftime.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: c_locale
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - newlocale
    linkageType: ''
    returnType: locale_t
    signature: locale_t c_locale (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tzalloc
      Src: /src/gnulib/lib/strftime.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: utc_timezone
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - tzalloc
    linkageType: ''
    returnType: timezone_t
    signature: timezone_t utc_timezone (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 212
    EdgeCount: 212
    ICount: 358
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 784
    functionName: should_remove_ampm
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool should_remove_ampm (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct tm*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 813
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 813
    functionName: tm_diff
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tm_diff (const struct tm *a, const struct tm *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - yday
    - wday
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: iso_week_days
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iso_week_days (int yday, int wday)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utc_timezone
      Src: /src/gnulib/lib/strftime.c:916,1
    - Dst: set_tz
      Src: /src/gnulib/lib/strftime.c:925,1
    - Dst: c_locale
      Src: /src/gnulib/lib/strftime.c:933,1
    - Dst: strftime_lz
      Src: /src/gnulib/lib/strftime.c:937,1
    - Dst: strftime_l
      Src: /src/gnulib/lib/strftime.c:939,1
    - Dst: strftime_z
      Src: /src/gnulib/lib/strftime.c:943,1
    - Dst: strftime
      Src: /src/gnulib/lib/strftime.c:945,1
    - Dst: revert_tz
      Src: /src/gnulib/lib/strftime.c:950,1
    - Dst: strlen
      Src: /src/gnulib/lib/strftime.c:975,1
    - Dst: should_remove_ampm
      Src: /src/gnulib/lib/strftime.c:1003,1
    - Dst: should_remove_ampm
      Src: /src/gnulib/lib/strftime.c:1013,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 61
    argCount: 6
    argNames:
    - tz
    - ubuf
    - ubufsize
    - modifier
    - format_char
    - tp
    argTypes:
    - timezone_t
    - char*
    - size_t
    - char
    - char
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1029
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 1029
    functionName: underlying_strftime
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - c_locale
    - strlen
    - should_remove_ampm
    - set_tz
    - revert_tz
    - strftime
    - utc_timezone
    - strftime_l
    - strftime_lz
    - strftime_z
    linkageType: ''
    returnType: size_t
    signature: "size_t underlying_strftime (timezone_t tz, char *ubuf, size_t ubufsize,\n
      \                    char modifier, char format_char, struct tm const *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_tz
      Src: /src/gnulib/lib/strftime.c:1062,1
    - Dst: revert_tz
      Src: /src/gnulib/lib/strftime.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - tz
    - ubuf
    - ubufsize
    - modifier
    - tp
    argTypes:
    - timezone_t
    - char*
    - int
    - int
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1037
    functionDepth: 4
    functionLinenumber: 1037
    functionLinenumberEnd: 1077
    functionName: get_tm_zone
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - revert_tz
    - set_tz
    linkageType: ''
    returnType: char
    signature: "char *\nget_tm_zone (timezone_t tz, char *ubuf, int ubufsize, int
      modifier,\n             struct tm const *tp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __strftime_internal
      Src: /src/gnulib/lib/strftime.c:1091,1
    - Dst: STRFTIME_ARG
      Src: /src/gnulib/lib/strftime.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - format
    - LOCALE_PARAM
    argTypes:
    - STREAM_OR_CHAR_T*
    - STRFTIME_ARG*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1094
    functionName: my_strftime
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 0
    functionsReached:
    - STRFTIME_ARG
    - __strftime_internal
    linkageType: ''
    returnType: size_t
    signature: "size_t my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)\n
      \            const CHAR_T *format,\n             const struct tm *tp extra_args_spec
      LOCALE_PARAM)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: INT_STRLEN_BOUND
      Src: /src/gnulib/lib/strftime.c:1197,1
    - Dst: INT_STRLEN_BOUND
      Src: /src/gnulib/lib/strftime.c:1198,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1209,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1212,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1212,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1212,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1213,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1213,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1213,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1214,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1214,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1214,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1214,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1214,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1215,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1215,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1215,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1215,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1215,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1216,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1216,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1216,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1216,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1216,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1217,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1217,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1217,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1217,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1217,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1218,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1218,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1218,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1218,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1218,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1219,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1219,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1219,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1219,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1219,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1220,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1220,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1220,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1220,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1220,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1221,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1221,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1221,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1221,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1221,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1222,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1222,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1222,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1222,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1222,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1223,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1223,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1223,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1223,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1223,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1224,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1224,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1224,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1224,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1224,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1225,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1225,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1225,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1225,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1225,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1226,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1226,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1226,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1226,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1226,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1227,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1227,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1227,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1227,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1227,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1228,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1228,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1228,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1228,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1228,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1229,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1229,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1229,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1229,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1229,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1230,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1230,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1230,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1230,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1230,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1231,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1231,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1231,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1231,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1231,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1232,1
    - Dst: add1
      Src: /src/gnulib/lib/strftime.c:1237,1
    - Dst: strlen
      Src: /src/gnulib/lib/strftime.c:1249,1
    - Dst: strlen
      Src: /src/gnulib/lib/strftime.c:1261,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/strftime.c:1273,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1275,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1286,1
    - Dst: add1
      Src: /src/gnulib/lib/strftime.c:1288,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1302,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1303,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1304,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1305,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1308,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1311,1
    - Dst: ISDIGIT
      Src: /src/gnulib/lib/strftime.c:1321,1
    - Dst: ckd_mul
      Src: /src/gnulib/lib/strftime.c:1326,1
    - Dst: ckd_add
      Src: /src/gnulib/lib/strftime.c:1327,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1327,1
    - Dst: ISDIGIT
      Src: /src/gnulib/lib/strftime.c:1331,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1337,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1338,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1394,1
    - Dst: add1
      Src: /src/gnulib/lib/strftime.c:1397,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1400,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1409,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1424,1
    - Dst: STRLEN
      Src: /src/gnulib/lib/strftime.c:1424,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1430,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1431,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1437,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1440,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1441,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1443,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1446,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1450,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1455,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1456,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1464,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1465,1
    - Dst: STRLEN
      Src: /src/gnulib/lib/strftime.c:1465,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1467,1
    - Dst: STRLEN
      Src: /src/gnulib/lib/strftime.c:1467,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1470,1
    - Dst: STRLEN
      Src: /src/gnulib/lib/strftime.c:1470,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1476,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1477,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1480,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1482,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1483,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1485,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1485,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1487,1
    - Dst: _wsetlocale
      Src: /src/gnulib/lib/strftime.c:1493,1
    - Dst: wcscmp
      Src: /src/gnulib/lib/strftime.c:1495,1
    - Dst: wcscmp
      Src: /src/gnulib/lib/strftime.c:1495,1
    - Dst: strcmp
      Src: /src/gnulib/lib/strftime.c:1499,1
    - Dst: strcmp
      Src: /src/gnulib/lib/strftime.c:1499,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1502,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1504,1
    - Dst: add
      Src: /src/gnulib/lib/strftime.c:1517,1
    - Dst: __strftime_internal
      Src: /src/gnulib/lib/strftime.c:1517,1
    - Dst: STRFTIME_ARG
      Src: /src/gnulib/lib/strftime.c:1518,1
    - Dst: underlying_strftime
      Src: /src/gnulib/lib/strftime.c:1530,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1535,1
    - Dst: strlen
      Src: /src/gnulib/lib/strftime.c:1551,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1576,1
    - Dst: should_remove_ampm
      Src: /src/gnulib/lib/strftime.c:1579,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1585,1
    - Dst: should_remove_ampm
      Src: /src/gnulib/lib/strftime.c:1589,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1603,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1609,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1610,1
    - Dst: _nl_get_era_entry
      Src: /src/gnulib/lib/strftime.c:1613,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1618,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1621,1
    - Dst: DO_YEARISH
      Src: /src/gnulib/lib/strftime.c:1636,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1639,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1640,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1643,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1645,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1645,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1646,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1647,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1647,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1650,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1655,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1658,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1661,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1662,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1665,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1667,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1668,1
    - Dst: DO_NUMBER_SPACEPAD
      Src: /src/gnulib/lib/strftime.c:1671,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1710,1
    - Dst: nl_get_alt_digit
      Src: /src/gnulib/lib/strftime.c:1715,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1723,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1743,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1755,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1756,1
    - Dst: memset_space
      Src: /src/gnulib/lib/strftime.c:1767,1
    - Dst: width_add1
      Src: /src/gnulib/lib/strftime.c:1771,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1775,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1779,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1793,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1796,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1797,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1800,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1802,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1803,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1806,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1808,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1809,1
    - Dst: DO_NUMBER_SPACEPAD
      Src: /src/gnulib/lib/strftime.c:1812,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1814,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1815,1
    - Dst: DO_NUMBER_SPACEPAD
      Src: /src/gnulib/lib/strftime.c:1818,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1820,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1821,1
    - Dst: DO_SIGNED_NUMBER
      Src: /src/gnulib/lib/strftime.c:1824,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1826,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1827,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1830,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1832,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1833,1
    - Dst: DO_SIGNED_NUMBER
      Src: /src/gnulib/lib/strftime.c:1836,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1839,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1840,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1850,1
    - Dst: width_cpy
      Src: /src/gnulib/lib/strftime.c:1853,1
    - Dst: width_add
      Src: /src/gnulib/lib/strftime.c:1854,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1859,1
    - Dst: add1
      Src: /src/gnulib/lib/strftime.c:1860,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1860,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1863,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1866,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1869,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:1876,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1882,1
    - Dst: DO_SIGNED_NUMBER
      Src: /src/gnulib/lib/strftime.c:1883,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1885,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1886,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1889,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1891,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1892,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1893,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1894,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1897,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1903,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1909,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1910,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1913,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1915,1
    - Dst: mktime_z
      Src: /src/gnulib/lib/strftime.c:1922,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1939,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1948,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1949,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1952,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1954,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1954,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1955,1
    - Dst: _NL_CURRENT
      Src: /src/gnulib/lib/strftime.c:1956,1
    - Dst: NLW
      Src: /src/gnulib/lib/strftime.c:1956,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1959,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1964,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1965,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1968,1
    - Dst: add1
      Src: /src/gnulib/lib/strftime.c:1969,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1969,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1972,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1973,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1975,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1976,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:1979,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1981,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1982,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1983,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:1984,1
    - Dst: iso_week_days
      Src: /src/gnulib/lib/strftime.c:2002,1
    - Dst: __isleap
      Src: /src/gnulib/lib/strftime.c:2002,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2019,1
    - Dst: DO_YEARISH
      Src: /src/gnulib/lib/strftime.c:2022,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2030,1
    - Dst: DO_YEARISH
      Src: /src/gnulib/lib/strftime.c:2031,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:2036,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2040,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2041,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:2044,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2046,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2047,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:2050,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2052,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2053,1
    - Dst: _nl_get_era_entry
      Src: /src/gnulib/lib/strftime.c:2056,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2073,1
    - Dst: DO_YEARISH
      Src: /src/gnulib/lib/strftime.c:2076,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2079,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2080,1
    - Dst: _nl_get_era_entry
      Src: /src/gnulib/lib/strftime.c:2083,1
    - Dst: DO_NUMBER
      Src: /src/gnulib/lib/strftime.c:2089,1
    - Dst: DO_YEARISH
      Src: /src/gnulib/lib/strftime.c:2102,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2105,1
    - Dst: tzset
      Src: /src/gnulib/lib/strftime.c:2123,1
    - Dst: get_tm_zone
      Src: /src/gnulib/lib/strftime.c:2132,1
    - Dst: __wmemmove
      Src: /src/gnulib/lib/strftime.c:2155,1
    - Dst: wmemset
      Src: /src/gnulib/lib/strftime.c:2158,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:2164,1
    - Dst: strlen
      Src: /src/gnulib/lib/strftime.c:2164,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2169,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2172,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2174,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2179,1
    - Dst: mktime_z
      Src: /src/gnulib/lib/strftime.c:2204,1
    - Dst: localtime_rz
      Src: /src/gnulib/lib/strftime.c:2205,1
    - Dst: tm_diff
      Src: /src/gnulib/lib/strftime.c:2207,1
    - Dst: get_tm_zone
      Src: /src/gnulib/lib/strftime.c:2215,1
    - Dst: DO_TZ_OFFSET
      Src: /src/gnulib/lib/strftime.c:2226,1
    - Dst: DO_TZ_OFFSET
      Src: /src/gnulib/lib/strftime.c:2229,1
    - Dst: DO_TZ_OFFSET
      Src: /src/gnulib/lib/strftime.c:2232,1
    - Dst: DO_TZ_OFFSET
      Src: /src/gnulib/lib/strftime.c:2240,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2247,1
    - Dst: cpy
      Src: /src/gnulib/lib/strftime.c:2256,1
    - Dst: L_
      Src: /src/gnulib/lib/strftime.c:2263,1
    CyclomaticComplexity: 290
    EdgeCount: 290
    ICount: 735
    argCount: 7
    argNames:
    - s
    - format
    - tp
    - upcase
    - yr_spec
    - width
    - tzset_called
    argTypes:
    - STREAM_OR_CHAR_T*
    - STRFTIME_ARG*
    - struct tm*
    - bool
    - enum pad_style
    - int
    - bool*
    constantsTouched: []
    func_position:
      end: 2268
      start: 1101
    functionDepth: 5
    functionLinenumber: 1101
    functionLinenumberEnd: 2268
    functionName: __strftime_internal
    functionSourceFile: /src/gnulib/lib/strftime.c
    functionUses: 2
    functionsReached:
    - __isleap
    - mktime_z
    - add
    - tm_diff
    - cpy
    - strcmp
    - tzset
    - DO_TZ_OFFSET
    - DO_SIGNED_NUMBER
    - wmemset
    - should_remove_ampm
    - mbsinit
    - add1
    - ckd_add
    - L_
    - NLW
    - STRLEN
    - INT_STRLEN_BOUND
    - width_add1
    - DO_YEARISH
    - strlen
    - ckd_mul
    - width_add
    - DO_NUMBER_SPACEPAD
    - DO_NUMBER
    - ISDIGIT
    - get_tm_zone
    - _wsetlocale
    - wcscmp
    - width_cpy
    - __strftime_internal
    - _NL_CURRENT
    - nl_get_alt_digit
    - memset_space
    - iso_week_days
    - __wmemmove
    - localtime_rz
    - _nl_get_era_entry
    - underlying_strftime
    - STRFTIME_ARG
    linkageType: ''
    returnType: size_t
    signature: "size_t __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t
      maxsize)\n                     const CHAR_T *format,\n                     const
      struct tm *tp, bool upcase,\n                     enum pad_style yr_spec, int
      width, bool *tzset_called\n                     extra_args_spec LOCALE_PARAM)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/recvfrom.c:35,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/recvfrom.c:48,1
    - Dst: rpl_getpeername
      Src: /src/gnulib/lib/recvfrom.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - fd
    - buf
    - len
    - flags
    - from
    - fromlen
    argTypes:
    - int
    - void*
    - size_t
    - int
    - struct sockaddr*
    - socklen_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: rpl_recvfrom
    functionSourceFile: /src/gnulib/lib/recvfrom.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    - rpl_getpeername
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rpl_recvfrom (int fd, void *buf, size_t len, int flags, struct
      sockaddr *from,\n              socklen_t *fromlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:38,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:39,1
    - Dst: geteuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:43,1
    - Dst: getegid
      Src: /src/gnulib/lib/idpriv-droptemp.c:45,1
    - Dst: setresgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:52,1
    - Dst: setregid
      Src: /src/gnulib/lib/idpriv-droptemp.c:55,1
    - Dst: setresuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:65,1
    - Dst: setreuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:68,1
    - Dst: getresuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:82,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:86,1
    - Dst: geteuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:90,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:91,1
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:93,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:94,1
    - Dst: getresgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:101,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:105,1
    - Dst: getegid
      Src: /src/gnulib/lib/idpriv-droptemp.c:109,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:110,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:112,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:113,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 121
    functionName: idpriv_temp_drop
    functionSourceFile: /src/gnulib/lib/idpriv-droptemp.c
    functionUses: 1
    functionsReached:
    - abort
    - setresuid
    - getegid
    - geteuid
    - getgid
    - setregid
    - getresuid
    - getresgid
    - getuid
    - setreuid
    - setresgid
    linkageType: ''
    returnType: int
    signature: int idpriv_temp_drop (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:127,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:128,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:132,1
    - Dst: setresuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:143,1
    - Dst: setreuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:146,1
    - Dst: setresgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:152,1
    - Dst: setregid
      Src: /src/gnulib/lib/idpriv-droptemp.c:155,1
    - Dst: getresuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:169,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:173,1
    - Dst: geteuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:177,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:178,1
    - Dst: getuid
      Src: /src/gnulib/lib/idpriv-droptemp.c:180,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:181,1
    - Dst: getresgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:188,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:192,1
    - Dst: getegid
      Src: /src/gnulib/lib/idpriv-droptemp.c:196,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:197,1
    - Dst: getgid
      Src: /src/gnulib/lib/idpriv-droptemp.c:199,1
    - Dst: abort
      Src: /src/gnulib/lib/idpriv-droptemp.c:200,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 208
    functionName: idpriv_temp_restore
    functionSourceFile: /src/gnulib/lib/idpriv-droptemp.c
    functionUses: 1
    functionsReached:
    - abort
    - setresuid
    - getegid
    - geteuid
    - getgid
    - setregid
    - getresuid
    - getresgid
    - getuid
    - setreuid
    - setresgid
    linkageType: ''
    returnType: int
    signature: int idpriv_temp_restore (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/gnulib/lib/wcscat-impl.h:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: wcscat
    functionSourceFile: /src/gnulib/lib/wcscat-impl.h
    functionUses: 0
    functionsReached:
    - wcslen
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcscat (wchar_t *dest, const wchar_t *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVersionEx
      Src: /src/gnulib/lib/uname.c:66,1
    - Dst: memcpy
      Src: /src/gnulib/lib/uname.c:70,1
    - Dst: GetVersionEx
      Src: /src/gnulib/lib/uname.c:75,1
    - Dst: abort
      Src: /src/gnulib/lib/uname.c:76,1
    - Dst: gethostname
      Src: /src/gnulib/lib/uname.c:80,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:81,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:123,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:127,1
    - Dst: VERSION2
      Src: /src/gnulib/lib/uname.c:156,1
    - Dst: VERSION2
      Src: /src/gnulib/lib/uname.c:157,1
    - Dst: VERSION1
      Src: /src/gnulib/lib/uname.c:158,1
    - Dst: VERSION1
      Src: /src/gnulib/lib/uname.c:159,1
    - Dst: VERSION1
      Src: /src/gnulib/lib/uname.c:160,1
    - Dst: VERSION2
      Src: /src/gnulib/lib/uname.c:161,1
    - Dst: VERSION2
      Src: /src/gnulib/lib/uname.c:162,1
    - Dst: VERSION2
      Src: /src/gnulib/lib/uname.c:163,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:179,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:184,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:189,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:196,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:198,1
    - Dst: GetSystemInfo
      Src: /src/gnulib/lib/uname.c:204,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:214,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:217,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:220,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:226,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:229,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:233,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:236,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:239,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:242,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:245,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:255,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:258,1
    - Dst: sprintf
      Src: /src/gnulib/lib/uname.c:262,1
    - Dst: strcpy
      Src: /src/gnulib/lib/uname.c:265,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 107
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct utsname*
    constantsTouched: []
    func_position:
      end: 272
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 272
    functionName: uname
    functionSourceFile: /src/gnulib/lib/uname.c
    functionUses: 8
    functionsReached:
    - abort
    - GetVersionEx
    - VERSION1
    - strcpy
    - gethostname
    - sprintf
    - GetSystemInfo
    - memcpy
    - VERSION2
    linkageType: ''
    returnType: int
    signature: int uname (struct utsname *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/gnulib/lib/linebuffer.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linebuffer
    argTypes:
    - struct linebuffer*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: initbuffer
    functionSourceFile: /src/gnulib/lib/linebuffer.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void initbuffer (struct linebuffer *linebuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readlinebuffer_delim
      Src: /src/gnulib/lib/linebuffer.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linebuffer
    - stream
    argTypes:
    - struct linebuffer*
    - FILE*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: readlinebuffer
    functionSourceFile: /src/gnulib/lib/linebuffer.c
    functionUses: 0
    functionsReached:
    - readlinebuffer_delim
    linkageType: ''
    returnType: struct linebuffer
    signature: 'struct linebuffer *

      readlinebuffer (struct linebuffer *linebuffer, FILE *stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/gnulib/lib/linebuffer.c:67,1
    - Dst: getc
      Src: /src/gnulib/lib/linebuffer.c:72,1
    - Dst: ferror
      Src: /src/gnulib/lib/linebuffer.c:75,1
    - Dst: xpalloc
      Src: /src/gnulib/lib/linebuffer.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - linebuffer
    - stream
    - delimiter
    argTypes:
    - struct linebuffer*
    - FILE*
    - char
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: readlinebuffer_delim
    functionSourceFile: /src/gnulib/lib/linebuffer.c
    functionUses: 1
    functionsReached:
    - ferror
    - xpalloc
    - getc
    - feof
    linkageType: ''
    returnType: struct linebuffer
    signature: "struct linebuffer *\nreadlinebuffer_delim (struct linebuffer *linebuffer,
      FILE *stream,\n                      char delimiter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/gnulib/lib/linebuffer.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linebuffer
    argTypes:
    - struct linebuffer*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: freebuffer
    functionSourceFile: /src/gnulib/lib/linebuffer.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freebuffer (struct linebuffer *linebuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/gnulib/lib/boot-time-aux.h:33,1
    - Dst: fopen
      Src: /src/gnulib/lib/boot-time-aux.h:40,1
    - Dst: fclose
      Src: /src/gnulib/lib/boot-time-aux.h:45,1
    - Dst: sysinfo
      Src: /src/gnulib/lib/boot-time-aux.h:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - p_uptime
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: get_linux_uptime
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - clock_gettime
    - sysinfo
    linkageType: ''
    returnType: _GL_ATTRIBUTE_MAYBE_UNUSED
    signature: _GL_ATTRIBUTE_MAYBE_UNUSED get_linux_uptime (struct timespec *p_uptime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/lib/boot-time-aux.h:105,1
    - Dst: stat
      Src: /src/gnulib/lib/boot-time-aux.h:109,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/boot-time-aux.h:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 124
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 124
    functionName: get_linux_boot_time_fallback
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - stat
    - get_stat_mtime
    - SIZEOF
    linkageType: ''
    returnType: int
    signature: int get_linux_boot_time_fallback (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_linux_uptime
      Src: /src/gnulib/lib/boot-time-aux.h:137,1
    - Dst: timespec_get
      Src: /src/gnulib/lib/boot-time-aux.h:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: get_linux_boot_time_final_fallback
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - timespec_get
    - get_linux_uptime
    linkageType: ''
    returnType: int
    signature: int get_linux_boot_time_final_fallback (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_linux_uptime
      Src: /src/gnulib/lib/boot-time-aux.h:183,1
    - Dst: clock_gettime
      Src: /src/gnulib/lib/boot-time-aux.h:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: get_android_boot_time
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - clock_gettime
    - get_linux_uptime
    linkageType: ''
    returnType: int
    signature: int get_android_boot_time (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/lib/boot-time-aux.h:217,1
    - Dst: stat
      Src: /src/gnulib/lib/boot-time-aux.h:221,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/boot-time-aux.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: get_openbsd_boot_time
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - stat
    - get_stat_mtime
    - SIZEOF
    linkageType: ''
    returnType: int
    signature: int get_openbsd_boot_time (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/gnulib/lib/boot-time-aux.h:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: get_bsd_boot_time_final_fallback
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: int
    signature: int get_bsd_boot_time_final_fallback (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/gnulib/lib/boot-time-aux.h:276,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/boot-time-aux.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: get_haiku_boot_time
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - stat
    - get_stat_mtime
    linkageType: ''
    returnType: int
    signature: int get_haiku_boot_time (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_system_info
      Src: /src/gnulib/lib/boot-time-aux.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: get_haiku_boot_time_final_fallback
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - get_system_info
    linkageType: ''
    returnType: int
    signature: int get_haiku_boot_time_final_fallback (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF
      Src: /src/gnulib/lib/boot-time-aux.h:328,1
    - Dst: stat
      Src: /src/gnulib/lib/boot-time-aux.h:332,1
    - Dst: S_ISDIR
      Src: /src/gnulib/lib/boot-time-aux.h:337,1
    - Dst: get_stat_mtime
      Src: /src/gnulib/lib/boot-time-aux.h:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 346
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 346
    functionName: get_windows_boot_time
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - S_ISDIR
    - stat
    - get_stat_mtime
    - SIZEOF
    linkageType: ''
    returnType: int
    signature: int get_windows_boot_time (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/gnulib/lib/boot-time-aux.h:368,1
    - Dst: GetProcAddress
      Src: /src/gnulib/lib/boot-time-aux.h:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: initialize
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 17
    functionsReached:
    - LoadLibrary
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void initialize (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/gnulib/lib/boot-time-aux.h:393,1
    - Dst: GetTickCount64Func
      Src: /src/gnulib/lib/boot-time-aux.h:397,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/boot-time-aux.h:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_boot_time
    argTypes:
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 419
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 419
    functionName: get_windows_boot_time_fallback
    functionSourceFile: /src/gnulib/lib/boot-time-aux.h
    functionUses: 1
    functionsReached:
    - gettimeofday
    - GetTickCount64Func
    - initialize
    linkageType: ''
    returnType: int
    signature: int get_windows_boot_time_fallback (struct timespec *p_boot_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: careadlinkat
      Src: /src/gnulib/lib/areadlinkat.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - filename
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: areadlinkat
    functionSourceFile: /src/gnulib/lib/areadlinkat.c
    functionUses: 4
    functionsReached:
    - careadlinkat
    linkageType: ''
    returnType: char
    signature: 'char *

      areadlinkat (int fd, char const *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbschr
      Src: /src/gnulib/lib/mbspbrk.c:41,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbspbrk.c:50,1
    - Dst: mbschr
      Src: /src/gnulib/lib/mbspbrk.c:53,1
    - Dst: mcel_scanz
      Src: /src/gnulib/lib/mbspbrk.c:59,1
    - Dst: mcel_cmp
      Src: /src/gnulib/lib/mbspbrk.c:60,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbspbrk.c:66,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbspbrk.c:66,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbspbrk.c:68,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbspbrk.c:69,1
    - Dst: mbschr
      Src: /src/gnulib/lib/mbspbrk.c:71,1
    - Dst: mbuif_init
      Src: /src/gnulib/lib/mbspbrk.c:78,1
    - Dst: mbuif_avail
      Src: /src/gnulib/lib/mbspbrk.c:79,1
    - Dst: mbuif_next
      Src: /src/gnulib/lib/mbspbrk.c:81,1
    - Dst: mb_equal
      Src: /src/gnulib/lib/mbspbrk.c:82,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbspbrk.c:84,1
    - Dst: mb_len
      Src: /src/gnulib/lib/mbspbrk.c:87,1
    - Dst: strpbrk
      Src: /src/gnulib/lib/mbspbrk.c:93,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - string
    - accept
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: mbspbrk
    functionSourceFile: /src/gnulib/lib/mbspbrk.c
    functionUses: 1
    functionsReached:
    - mbuif_next
    - mbschr
    - mcel_scanz
    - strpbrk
    - mbuif_init
    - mb_len
    - mb_equal
    - mbuif_avail
    - mcel_cmp
    linkageType: ''
    returnType: char
    signature: 'char *

      mbspbrk (const char *string, const char *accept)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 2
    argNames:
    - c
    - locale_t
    argTypes:
    - int
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: isxdigit_l
    functionSourceFile: /src/gnulib/lib/isxdigit_l.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isxdigit_l (int c, _GL_UNUSED locale_t locale)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbszero
      Src: /src/gnulib/lib/mbmemcasecoll.c:54,1
    - Dst: mbrtoc32
      Src: /src/gnulib/lib/mbmemcasecoll.c:60,1
    - Dst: c32tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:92,1
    - Dst: mbszero
      Src: /src/gnulib/lib/mbmemcasecoll.c:98,1
    - Dst: c32rtomb
      Src: /src/gnulib/lib/mbmemcasecoll.c:99,1
    - Dst: memcpy
      Src: /src/gnulib/lib/mbmemcasecoll.c:109,1
    - Dst: mbsinit
      Src: /src/gnulib/lib/mbmemcasecoll.c:116,1
    - Dst: abort
      Src: /src/gnulib/lib/mbmemcasecoll.c:124,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - inbuf
    - inbufsize
    - outbuf
    - outbufsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 128
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 128
    functionName: apply_c32tolower
    functionSourceFile: /src/gnulib/lib/mbmemcasecoll.c
    functionUses: 0
    functionsReached:
    - abort
    - mbrtoc32
    - c32rtomb
    - mbszero
    - c32tolower
    - mbsinit
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t apply_c32tolower (const char *inbuf, size_t inbufsize,\n                  char
      *outbuf, size_t outbufsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - inbuf
    - outbuf
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: apply_tolower
    functionSourceFile: /src/gnulib/lib/mbmemcasecoll.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: void
    signature: void apply_tolower (const char *inbuf, char *outbuf, size_t bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloca
      Src: /src/gnulib/lib/mbmemcasecoll.c:168,1
    - Dst: apply_c32tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:180,1
    - Dst: apply_c32tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:181,1
    - Dst: apply_tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:185,1
    - Dst: apply_tolower
      Src: /src/gnulib/lib/mbmemcasecoll.c:186,1
    - Dst: memcoll
      Src: /src/gnulib/lib/mbmemcasecoll.c:191,1
    - Dst: memcmp2
      Src: /src/gnulib/lib/mbmemcasecoll.c:194,1
    - Dst: freea
      Src: /src/gnulib/lib/mbmemcasecoll.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - s1
    - s1len
    - s2
    - s2len
    - hard_LC_COLLATE
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 205
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 205
    functionName: mbmemcasecoll
    functionSourceFile: /src/gnulib/lib/mbmemcasecoll.c
    functionUses: 1
    functionsReached:
    - apply_tolower
    - apply_c32tolower
    - memcmp2
    - malloca
    - freea
    - memcoll
    linkageType: ''
    returnType: int
    signature: "int mbmemcasecoll (const char *s1, size_t s1len, const char *s2, size_t
      s2len,\n               bool hard_LC_COLLATE)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FREXP
      Src: /src/gnulib/lib/printf-frexp.c:76,1
    - Dst: LDEXP
      Src: /src/gnulib/lib/printf-frexp.c:83,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:95,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:104,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:104,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:131,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:131,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:140,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:150,1
    - Dst: L_
      Src: /src/gnulib/lib/printf-frexp.c:160,1
    - Dst: END_ROUNDING
      Src: /src/gnulib/lib/printf-frexp.c:186,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x
    - expptr
    argTypes:
    - DOUBLE
    - int*
    constantsTouched: []
    func_position:
      end: 190
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 190
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/printf-frexp.c
    functionUses: 5
    functionsReached:
    - L_
    - LDEXP
    - END_ROUNDING
    - FREXP
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE FUNC (DOUBLE x, int *expptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/gnulib/lib/ldexpf.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - exp
    argTypes:
    - float
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ldexpf
    functionSourceFile: /src/gnulib/lib/ldexpf.c
    functionUses: 0
    functionsReached:
    - ldexp
    linkageType: ''
    returnType: float
    signature: float ldexpf (float x, int exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/gnulib/lib/asnwprintf.c:30,1
    - Dst: vasnwprintf
      Src: /src/gnulib/lib/asnwprintf.c:31,1
    - Dst: va_end
      Src: /src/gnulib/lib/asnwprintf.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - resultbuf
    - lengthp
    - format
    argTypes:
    - wchar_t*
    - size_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: asnwprintf
    functionSourceFile: /src/gnulib/lib/asnwprintf.c
    functionUses: 15
    functionsReached:
    - va_start
    - vasnwprintf
    - va_end
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/bind.c:34,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/bind.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - sockaddr
    - len
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: rpl_bind
    functionSourceFile: /src/gnulib/lib/bind.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    linkageType: ''
    returnType: int
    signature: int rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/gnulib/lib/windows-timedrecmutex.c:41,1
    - Dst: InitializeCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: glwthread_timedrecmutex_init
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 3
    functionsReached:
    - CreateEvent
    - InitializeCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_timedrecmutex_init (glwthread_timedrecmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:55,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:63,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:70,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-timedrecmutex.c:74,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedrecmutex.c:78,1
    - Dst: EnterCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: glwthread_timedrecmutex_lock
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 4
    functionsReached:
    - EnterCriticalSection
    - InterlockedDecrement
    - GetCurrentThreadId
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_timedrecmutex_lock (glwthread_timedrecmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:98,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:106,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:113,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedrecmutex.c:120,1
    - Dst: TryEnterCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 134
    functionName: glwthread_timedrecmutex_trylock
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 2
    functionsReached:
    - TryEnterCriticalSection
    - InterlockedDecrement
    - GetCurrentThreadId
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: int glwthread_timedrecmutex_trylock (glwthread_timedrecmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:142,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:150,1
    - Dst: InterlockedDecrement
      Src: /src/gnulib/lib/windows-timedrecmutex.c:157,1
    - Dst: Sleep
      Src: /src/gnulib/lib/windows-timedrecmutex.c:161,1
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedrecmutex.c:166,1
    - Dst: TryEnterCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:177,1
    - Dst: gettimeofday
      Src: /src/gnulib/lib/windows-timedrecmutex.c:185,1
    - Dst: WaitForSingleObject
      Src: /src/gnulib/lib/windows-timedrecmutex.c:221,1
    - Dst: abort
      Src: /src/gnulib/lib/windows-timedrecmutex.c:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - mutex
    - abstime
    argTypes:
    - glwthread_timedrecmutex_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 239
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 239
    functionName: glwthread_timedrecmutex_timedlock
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 2
    functionsReached:
    - abort
    - TryEnterCriticalSection
    - gettimeofday
    - InterlockedDecrement
    - GetCurrentThreadId
    - WaitForSingleObject
    - Sleep
    - InterlockedIncrement
    linkageType: ''
    returnType: int
    signature: "int glwthread_timedrecmutex_timedlock (glwthread_timedrecmutex_t *mutex,\n
      \                                  const struct timespec *abstime)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/gnulib/lib/windows-timedrecmutex.c:244,1
    - Dst: LeaveCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:251,1
    - Dst: SetEvent
      Src: /src/gnulib/lib/windows-timedrecmutex.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: glwthread_timedrecmutex_unlock
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 3
    functionsReached:
    - LeaveCriticalSection
    - GetCurrentThreadId
    - SetEvent
    linkageType: ''
    returnType: int
    signature: int glwthread_timedrecmutex_unlock (glwthread_timedrecmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/gnulib/lib/windows-timedrecmutex.c:265,1
    - Dst: CloseHandle
      Src: /src/gnulib/lib/windows-timedrecmutex.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - glwthread_timedrecmutex_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: glwthread_timedrecmutex_destroy
    functionSourceFile: /src/gnulib/lib/windows-timedrecmutex.c
    functionUses: 2
    functionsReached:
    - CloseHandle
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: int glwthread_timedrecmutex_destroy (glwthread_timedrecmutex_t *mutex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acos
      Src: /src/gnulib/lib/acosf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: acosf
    functionSourceFile: /src/gnulib/lib/acosf.c
    functionUses: 1
    functionsReached:
    - acos
    linkageType: ''
    returnType: float
    signature: float acosf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rpmatch
      Src: /src/gnulib/lib/yesno.c:49,1
    - Dst: free
      Src: /src/gnulib/lib/yesno.c:52,1
    - Dst: getchar
      Src: /src/gnulib/lib/yesno.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: yesno
    functionSourceFile: /src/gnulib/lib/yesno.c
    functionUses: 19
    functionsReached:
    - rpmatch
    - free
    - getchar
    linkageType: ''
    returnType: bool
    signature: bool yesno (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __argp_state_help
      Src: /src/gnulib/lib/argp.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - __state
    argTypes:
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: __argp_usage
    functionSourceFile: /src/gnulib/lib/argp.h
    functionUses: 0
    functionsReached:
    - __argp_state_help
    linkageType: ''
    returnType: ARGP_EI
    signature: ARGP_EI __argp_usage (const struct argp_state *__state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/gnulib/lib/argp.h:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: __NTH
    functionSourceFile: /src/gnulib/lib/argp.h
    functionUses: 0
    functionsReached:
    - isprint
    linkageType: ''
    returnType: ARGP_EI
    signature: ARGP_EI __NTH (__option_is_short (const struct argp_option *__opt))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: __NTH
    functionSourceFile: /src/gnulib/lib/argp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ARGP_EI
    signature: ARGP_EI __NTH (__option_is_end (const struct argp_option *__opt))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/gnulib/lib/times.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - time
    argTypes:
    - FILETIME
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: filetime2clock
    functionSourceFile: /src/gnulib/lib/times.c
    functionUses: 0
    functionsReached:
    - round
    linkageType: ''
    returnType: clock_t
    signature: clock_t filetime2clock (FILETIME time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessTimes
      Src: /src/gnulib/lib/times.c:56,1
    - Dst: GetCurrentProcess
      Src: /src/gnulib/lib/times.c:56,1
    - Dst: filetime2clock
      Src: /src/gnulib/lib/times.c:60,1
    - Dst: filetime2clock
      Src: /src/gnulib/lib/times.c:61,1
    - Dst: clock
      Src: /src/gnulib/lib/times.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct tms*
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: times
    functionSourceFile: /src/gnulib/lib/times.c
    functionUses: 11
    functionsReached:
    - GetProcessTimes
    - filetime2clock
    - clock
    - GetCurrentProcess
    linkageType: ''
    returnType: clock_t
    signature: clock_t times (struct tms * buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_stats_bytes
      Src: /src/gnulib/lib/bitset.c:44,1
    - Dst: abort
      Src: /src/gnulib/lib/bitset.c:49,1
    - Dst: abitset_bytes
      Src: /src/gnulib/lib/bitset.c:52,1
    - Dst: lbitset_bytes
      Src: /src/gnulib/lib/bitset.c:55,1
    - Dst: tbitset_bytes
      Src: /src/gnulib/lib/bitset.c:58,1
    - Dst: vbitset_bytes
      Src: /src/gnulib/lib/bitset.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - type
    - n_bits
    argTypes:
    - enum bitset_type
    - bitset_bindex
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: bitset_bytes
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - abort
    - lbitset_bytes
    - bitset_stats_bytes
    - vbitset_bytes
    - abitset_bytes
    - tbitset_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_bytes (enum bitset_type type, bitset_bindex n_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_stats_init
      Src: /src/gnulib/lib/bitset.c:71,1
    - Dst: abort
      Src: /src/gnulib/lib/bitset.c:76,1
    - Dst: abitset_init
      Src: /src/gnulib/lib/bitset.c:79,1
    - Dst: lbitset_init
      Src: /src/gnulib/lib/bitset.c:82,1
    - Dst: tbitset_init
      Src: /src/gnulib/lib/bitset.c:85,1
    - Dst: vbitset_init
      Src: /src/gnulib/lib/bitset.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - bset
    - n_bits
    - type
    argTypes:
    - bitset
    - bitset_bindex
    - enum bitset_type
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: bitset_init
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - abort
    - abitset_init
    - tbitset_init
    - bitset_stats_init
    - vbitset_init
    - lbitset_init
    linkageType: ''
    returnType: bitset
    signature: bitset bitset_init (bitset bset, bitset_bindex n_bits, enum bitset_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/gnulib/lib/bitset.c:101,1
    - Dst: abort
      Src: /src/gnulib/lib/bitset.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - bitset_bindex
    - attr
    argTypes:
    - MAYBE_UNUSED
    - unsigned
    constantsTouched: []
    func_position:
      end: 123
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 123
    functionName: bitset_type_choose
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: enum bitset_type
    signature: enum bitset_type bitset_type_choose (MAYBE_UNUSED bitset_bindex n_bits,
      unsigned attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xzalloc
      Src: /src/gnulib/lib/bitset.c:132,1
    - Dst: bitset_init
      Src: /src/gnulib/lib/bitset.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_bits
    - type
    argTypes:
    - bitset_bindex
    - enum bitset_type
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: bitset_alloc
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_init
    - xzalloc
    linkageType: ''
    returnType: bitset
    signature: bitset bitset_alloc (bitset_bindex n_bits, enum bitset_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obstack_alloc
      Src: /src/gnulib/lib/bitset.c:149,1
    - Dst: memset
      Src: /src/gnulib/lib/bitset.c:150,1
    - Dst: bitset_init
      Src: /src/gnulib/lib/bitset.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bobstack
    - n_bits
    - type
    argTypes:
    - struct obstack*
    - bitset_bindex
    - enum bitset_type
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: bitset_obstack_alloc
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_init
    - obstack_alloc
    - memset
    linkageType: ''
    returnType: bitset
    signature: "bitset bitset_obstack_alloc (struct obstack *bobstack,\n                      bitset_bindex
      n_bits, enum bitset_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_type_choose
      Src: /src/gnulib/lib/bitset.c:161,1
    - Dst: bitset_alloc
      Src: /src/gnulib/lib/bitset.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_bits
    - attr
    argTypes:
    - bitset_bindex
    - unsigned
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: bitset_create
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 2
    functionsReached:
    - bitset_alloc
    - bitset_type_choose
    linkageType: ''
    returnType: bitset
    signature: bitset bitset_create (bitset_bindex n_bits, unsigned attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BITSET_FREE_
      Src: /src/gnulib/lib/bitset.c:173,1
    - Dst: free
      Src: /src/gnulib/lib/bitset.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bset
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: bitset_free
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 2
    functionsReached:
    - free
    - BITSET_FREE_
    linkageType: ''
    returnType: void
    signature: void bitset_free (bitset bset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BITSET_FREE_
      Src: /src/gnulib/lib/bitset.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: bitset_obstack_free
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - BITSET_FREE_
    linkageType: ''
    returnType: void
    signature: void bitset_obstack_free (bitset bset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BITSET_TYPE_
      Src: /src/gnulib/lib/bitset.c:192,1
    - Dst: bitset_stats_type_get
      Src: /src/gnulib/lib/bitset.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bset
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: bitset_type_get
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - BITSET_TYPE_
    - bitset_stats_type_get
    linkageType: ''
    returnType: enum bitset_type
    signature: enum bitset_type bitset_type_get (bitset bset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_type_get
      Src: /src/gnulib/lib/bitset.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bset
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: bitset_type_name_get
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_type_get
    linkageType: ''
    returnType: char
    signature: 'char *

      bitset_type_name_get (bitset bset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_list
      Src: /src/gnulib/lib/bitset.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - bitno
    argTypes:
    - bitset
    - bitset_bindex
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: bitset_next
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_list
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_next (bitset src, bitset_bindex bitno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BITSET_COMPATIBLE_
      Src: /src/gnulib/lib/bitset.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bset1
    - bset2
    argTypes:
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: bitset_compatible_p
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - BITSET_COMPATIBLE_
    linkageType: ''
    returnType: bool
    signature: bool bitset_compatible_p (bitset bset1, bitset bset2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_list_reverse
      Src: /src/gnulib/lib/bitset.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - bitno
    argTypes:
    - bitset
    - bitset_bindex
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: bitset_prev
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_list_reverse
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_prev (bitset src, bitset_bindex bitno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_next
      Src: /src/gnulib/lib/bitset.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: bitset_first
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 4
    functionsReached:
    - bitset_next
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_first (bitset src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_prev
      Src: /src/gnulib/lib/bitset.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: bitset_last
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 4
    functionsReached:
    - bitset_prev
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_last (bitset src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_list
      Src: /src/gnulib/lib/bitset.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - bitno
    argTypes:
    - bitset
    - bitset_bindex
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: bitset_only_set_p
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_list
    linkageType: ''
    returnType: bool
    signature: bool bitset_only_set_p (bitset src, bitset_bindex bitno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/gnulib/lib/bitset.c:274,1
    - Dst: bitset_type_name_get
      Src: /src/gnulib/lib/bitset.c:275,1
    - Dst: bitset_size
      Src: /src/gnulib/lib/bitset.c:276,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/lib/bitset.c:281,1
    - Dst: fprintf
      Src: /src/gnulib/lib/bitset.c:285,1
    - Dst: fprintf
      Src: /src/gnulib/lib/bitset.c:289,1
    - Dst: fprintf
      Src: /src/gnulib/lib/bitset.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - file
    - bset
    - verbose
    argTypes:
    - FILE*
    - bitset
    - bool
    constantsTouched: []
    func_position:
      end: 295
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 295
    functionName: bitset_print
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_size
    - fprintf
    - bitset_type_name_get
    - BITSET_FOR_EACH
    linkageType: ''
    returnType: void
    signature: void bitset_print (FILE *file, bitset bset, bool verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_print
      Src: /src/gnulib/lib/bitset.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - bset
    argTypes:
    - FILE*
    - bitset
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: bitset_dump
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_print
    linkageType: ''
    returnType: void
    signature: void bitset_dump (FILE *file, bitset bset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lbitset_release_memory
      Src: /src/gnulib/lib/bitset.c:310,1
    - Dst: tbitset_release_memory
      Src: /src/gnulib/lib/bitset.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: bitset_release_memory
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - tbitset_release_memory
    - lbitset_release_memory
    linkageType: ''
    returnType: void
    signature: void bitset_release_memory (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_test
      Src: /src/gnulib/lib/bitset.c:321,1
    - Dst: bitset_reset
      Src: /src/gnulib/lib/bitset.c:323,1
    - Dst: bitset_set
      Src: /src/gnulib/lib/bitset.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bset
    - bitno
    argTypes:
    - bitset
    - bitset_bindex
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: bitset_toggle_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_test
    - bitset_reset
    - bitset_set
    linkageType: ''
    returnType: bool
    signature: bool bitset_toggle_ (bitset bset, bitset_bindex bitno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BITSET_NBITS_
      Src: /src/gnulib/lib/bitset.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: bitset_size_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - BITSET_NBITS_
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_size_ (bitset src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_list
      Src: /src/gnulib/lib/bitset.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: bitset_count_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_list
    linkageType: ''
    returnType: bitset_bindex
    signature: bitset_bindex bitset_count_ (bitset src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_zero
      Src: /src/gnulib/lib/bitset.c:375,1
    - Dst: BITSET_FOR_EACH
      Src: /src/gnulib/lib/bitset.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 380
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: bitset_copy_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_zero
    - BITSET_FOR_EACH
    linkageType: ''
    returnType: bool
    signature: bool bitset_copy_ (bitset dst, bitset src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_alloc
      Src: /src/gnulib/lib/bitset.c:394,1
    - Dst: bitset_type_get
      Src: /src/gnulib/lib/bitset.c:394,1
    - Dst: abort
      Src: /src/gnulib/lib/bitset.c:400,1
    - Dst: bitset_or
      Src: /src/gnulib/lib/bitset.c:403,1
    - Dst: bitset_and_cmp
      Src: /src/gnulib/lib/bitset.c:404,1
    - Dst: bitset_and
      Src: /src/gnulib/lib/bitset.c:408,1
    - Dst: bitset_or_cmp
      Src: /src/gnulib/lib/bitset.c:409,1
    - Dst: bitset_andn
      Src: /src/gnulib/lib/bitset.c:413,1
    - Dst: bitset_or_cmp
      Src: /src/gnulib/lib/bitset.c:414,1
    - Dst: bitset_free
      Src: /src/gnulib/lib/bitset.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - dst
    - src1
    - src2
    - src3
    - op
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    - enum bitset_ops
    constantsTouched: []
    func_position:
      end: 420
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 420
    functionName: bitset_op4_cmp
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - abort
    - bitset_free
    - bitset_type_get
    - bitset_or_cmp
    - bitset_alloc
    - bitset_and
    - bitset_andn
    - bitset_or
    - bitset_and_cmp
    linkageType: ''
    returnType: bool
    signature: "bool bitset_op4_cmp (bitset dst, bitset src1, bitset src2, bitset
      src3,\n                enum bitset_ops op)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_and_or_cmp_
      Src: /src/gnulib/lib/bitset.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: bitset_and_or_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_and_or_cmp_
    linkageType: ''
    returnType: void
    signature: void bitset_and_or_ (bitset dst, bitset src1, bitset src2, bitset src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_op4_cmp
      Src: /src/gnulib/lib/bitset.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: bitset_and_or_cmp_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - bitset_op4_cmp
    linkageType: ''
    returnType: bool
    signature: bool bitset_and_or_cmp_ (bitset dst, bitset src1, bitset src2, bitset
      src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_andn_or_cmp_
      Src: /src/gnulib/lib/bitset.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: bitset_andn_or_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_andn_or_cmp_
    linkageType: ''
    returnType: void
    signature: void bitset_andn_or_ (bitset dst, bitset src1, bitset src2, bitset
      src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_op4_cmp
      Src: /src/gnulib/lib/bitset.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: bitset_andn_or_cmp_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - bitset_op4_cmp
    linkageType: ''
    returnType: bool
    signature: bool bitset_andn_or_cmp_ (bitset dst, bitset src1, bitset src2, bitset
      src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_or_and_cmp_
      Src: /src/gnulib/lib/bitset.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: bitset_or_and_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 0
    functionsReached:
    - bitset_or_and_cmp_
    linkageType: ''
    returnType: void
    signature: void bitset_or_and_ (bitset dst, bitset src1, bitset src2, bitset src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_op4_cmp
      Src: /src/gnulib/lib/bitset.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src1
    - src2
    - src3
    argTypes:
    - bitset
    - bitset
    - bitset
    - bitset
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: bitset_or_and_cmp_
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 1
    functionsReached:
    - bitset_op4_cmp
    linkageType: ''
    returnType: bool
    signature: bool bitset_or_and_cmp_ (bitset dst, bitset src1, bitset src2, bitset
      src3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitset_print
      Src: /src/gnulib/lib/bitset.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - bitset
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: debug_bitset
    functionSourceFile: /src/gnulib/lib/bitset.c
    functionUses: 3
    functionsReached:
    - bitset_print
    linkageType: ''
    returnType: void
    signature: void debug_bitset (bitset bset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gl_oset_nx_create_empty
      Src: /src/gnulib/lib/gl_xoset.h:61,1
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xoset.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - implementation
    - compar_fn
    - dispose_fn
    argTypes:
    - gl_oset_implementation_t
    - gl_setelement_compar_fn
    - gl_setelement_dispose_fn
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: _GL_ATTRIBUTE_RETURNS_NONNULL
    functionSourceFile: /src/gnulib/lib/gl_xoset.h
    functionUses: 0
    functionsReached:
    - gl_oset_nx_create_empty
    - xalloc_die
    linkageType: ''
    returnType: GL_XOSET_INLINE
    signature: "GL_XOSET_INLINE _GL_ATTRIBUTE_RETURNS_NONNULL\ngl_oset_t\ngl_oset_create_empty
      (gl_oset_implementation_t implementation,\n                      gl_setelement_compar_fn
      compar_fn,\n                      gl_setelement_dispose_fn dispose_fn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xalloc_die
      Src: /src/gnulib/lib/gl_xoset.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - set
    - elt
    argTypes:
    - gl_oset_t
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: gl_oset_add
    functionSourceFile: /src/gnulib/lib/gl_xoset.h
    functionUses: 2
    functionsReached:
    - xalloc_die
    linkageType: ''
    returnType: GL_XOSET_INLINE
    signature: GL_XOSET_INLINE gl_oset_add (gl_oset_t set, const void *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: last_component
      Src: /src/gnulib/lib/getprogname.c:69,1
    - Dst: last_component
      Src: /src/gnulib/lib/getprogname.c:75,1
    - Dst: last_component
      Src: /src/gnulib/lib/getprogname.c:79,1
    - Dst: last_component
      Src: /src/gnulib/lib/getprogname.c:90,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:104,1
    - Dst: getprocs64
      Src: /src/gnulib/lib/getprogname.c:106,1
    - Dst: strdup
      Src: /src/gnulib/lib/getprogname.c:107,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:119,1
    - Dst: pstat_getproc
      Src: /src/gnulib/lib/getprogname.c:121,1
    - Dst: strlen
      Src: /src/gnulib/lib/getprogname.c:125,1
    - Dst: strrchr
      Src: /src/gnulib/lib/getprogname.c:134,1
    - Dst: strlen
      Src: /src/gnulib/lib/getprogname.c:139,1
    - Dst: memcmp
      Src: /src/gnulib/lib/getprogname.c:140,1
    - Dst: strdup
      Src: /src/gnulib/lib/getprogname.c:146,1
    - Dst: __pstat_getproc64
      Src: /src/gnulib/lib/getprogname.c:157,1
    - Dst: strlen
      Src: /src/gnulib/lib/getprogname.c:161,1
    - Dst: strrchr
      Src: /src/gnulib/lib/getprogname.c:170,1
    - Dst: strlen
      Src: /src/gnulib/lib/getprogname.c:175,1
    - Dst: memcmp
      Src: /src/gnulib/lib/getprogname.c:176,1
    - Dst: strdup
      Src: /src/gnulib/lib/getprogname.c:182,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:198,1
    - Dst: memset
      Src: /src/gnulib/lib/getprogname.c:202,1
    - Dst: malloc
      Src: /src/gnulib/lib/getprogname.c:203,1
    - Dst: malloc
      Src: /src/gnulib/lib/getprogname.c:204,1
    - Dst: malloc
      Src: /src/gnulib/lib/getprogname.c:205,1
    - Dst: w_getpsent
      Src: /src/gnulib/lib/getprogname.c:209,1
    - Dst: __e2a_s
      Src: /src/gnulib/lib/getprogname.c:222,1
    - Dst: free
      Src: /src/gnulib/lib/getprogname.c:223,1
    - Dst: free
      Src: /src/gnulib/lib/getprogname.c:232,1
    - Dst: free
      Src: /src/gnulib/lib/getprogname.c:233,1
    - Dst: free
      Src: /src/gnulib/lib/getprogname.c:234,1
    - Dst: sprintf
      Src: /src/gnulib/lib/getprogname.c:242,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:242,1
    - Dst: sprintf
      Src: /src/gnulib/lib/getprogname.c:244,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:244,1
    - Dst: open
      Src: /src/gnulib/lib/getprogname.c:246,1
    - Dst: close
      Src: /src/gnulib/lib/getprogname.c:251,1
    - Dst: memcpy
      Src: /src/gnulib/lib/getprogname.c:263,1
    - Dst: sprintf
      Src: /src/gnulib/lib/getprogname.c:271,1
    - Dst: getpid
      Src: /src/gnulib/lib/getprogname.c:271,1
    - Dst: open
      Src: /src/gnulib/lib/getprogname.c:272,1
    - Dst: strrchr
      Src: /src/gnulib/lib/getprogname.c:280,1
    - Dst: malloc
      Src: /src/gnulib/lib/getprogname.c:290,1
    - Dst: strlen
      Src: /src/gnulib/lib/getprogname.c:290,1
    - Dst: strcpy
      Src: /src/gnulib/lib/getprogname.c:293,1
    - Dst: close
      Src: /src/gnulib/lib/getprogname.c:297,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 303
    functionName: getprogname
    functionSourceFile: /src/gnulib/lib/getprogname.c
    functionUses: 1
    functionsReached:
    - open
    - getpid
    - pstat_getproc
    - getprocs64
    - strcpy
    - free
    - close
    - __pstat_getproc64
    - memcmp
    - strrchr
    - w_getpsent
    - memset
    - sprintf
    - strlen
    - __e2a_s
    - malloc
    - strdup
    - last_component
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      getprogname (void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/gnulib/lib/stdopen.c:48,1
    - Dst: close
      Src: /src/gnulib/lib/stdopen.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: stdopen
    functionSourceFile: /src/gnulib/lib/stdopen.c
    functionUses: 1
    functionsReached:
    - close
    - fcntl
    linkageType: ''
    returnType: int
    signature: int stdopen (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sinh
      Src: /src/gnulib/lib/sinhf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: sinhf
    functionSourceFile: /src/gnulib/lib/sinhf.c
    functionUses: 1
    functionsReached:
    - sinh
    linkageType: ''
    returnType: float
    signature: float sinhf (float x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:46,1
    - Dst: va_copy
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:55,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:73,1
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:83,1
    - Dst: vsnzprintf
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:93,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:108,1
    - Dst: abort
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:117,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - buffer
    - formatstring
    - list
    argTypes:
    - struct string_buffer_reversed*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 125
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 125
    functionName: sbr_prependvf
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed-printf.c
    functionUses: 0
    functionsReached:
    - abort
    - vsnzprintf
    - memmove
    - va_copy
    - va_end
    - sbr_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: "int sbr_prependvf (struct string_buffer_reversed *buffer, const char
      *formatstring,\n               va_list list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:138,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:147,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:165,1
    - Dst: sbr_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:175,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:185,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:186,1
    - Dst: vsnzprintf
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:187,1
    - Dst: memmove
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:202,1
    - Dst: abort
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:211,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-reversed-printf.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - buffer
    - formatstring
    argTypes:
    - struct string_buffer_reversed*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 219
    functionName: sbr_prependf
    functionSourceFile: /src/gnulib/lib/string-buffer-reversed-printf.c
    functionUses: 1
    functionsReached:
    - abort
    - vsnzprintf
    - memmove
    - va_start
    - va_end
    - sbr_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: "int sbr_prependf (struct string_buffer_reversed *buffer, const char
      *formatstring,\n              ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wcschr
      Src: /src/gnulib/lib/wcspbrk-impl.h:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - wcs
    - accept
    argTypes:
    - wchar_t*
    - wchar_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: wcspbrk
    functionSourceFile: /src/gnulib/lib/wcspbrk-impl.h
    functionUses: 0
    functionsReached:
    - wcschr
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      wcspbrk (const wchar_t *wcs, const wchar_t *accept)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: float
    functionSourceFile: /src/gnulib/lib/math.in.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _GL_MATH_INLINE
    signature: '_GL_MATH_INLINE float

      _NaN ()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/gnulib/lib/mempcpy.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: mempcpy
    functionSourceFile: /src/gnulib/lib/mempcpy.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      mempcpy (void *dest, const void *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/gnulib/lib/logb.c:50,1
    - Dst: L_
      Src: /src/gnulib/lib/logb.c:52,1
    - Dst: FREXP
      Src: /src/gnulib/lib/logb.c:59,1
    - Dst: ISNAN
      Src: /src/gnulib/lib/logb.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - DOUBLE
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: LOGB
    functionSourceFile: /src/gnulib/lib/logb.c
    functionUses: 3
    functionsReached:
    - L_
    - ISNAN
    - FREXP
    - isfinite
    linkageType: ''
    returnType: DOUBLE
    signature: DOUBLE LOGB (DOUBLE x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pwc
    - s
    - n
    - ps
    argTypes:
    - char32_t*
    - char*
    - size_t
    - mbstate_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: mbrtoc32
    functionSourceFile: /src/gnulib/lib/mbrtoc32.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mbrtoc32 (char32_t *pwc, const char *s, size_t n, mbstate_t
      *ps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STREQ_OPT
      Src: /src/gnulib/lib/c32to-impl.h:48,1
    - Dst: UCS_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:49,1
    - Dst: WCHAR_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:51,1
    - Dst: WCHAR_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:62,1
    - Dst: UCS_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:67,1
    - Dst: UCS_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:82,1
    - Dst: WCHAR_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:88,1
    - Dst: UCS_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:90,1
    - Dst: UCS_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:98,1
    - Dst: WCHAR_FUNC
      Src: /src/gnulib/lib/c32to-impl.h:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - wc
    argTypes:
    - wint_t
    constantsTouched: []
    func_position:
      end: 103
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 103
    functionName: FUNC
    functionSourceFile: /src/gnulib/lib/c32to-impl.h
    functionUses: 6
    functionsReached:
    - WCHAR_FUNC
    - STREQ_OPT
    - UCS_FUNC
    linkageType: ''
    returnType: wint_t
    signature: wint_t FUNC (wint_t wc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/gnulib/lib/trigl.c:248,1
    - Dst: floorl
      Src: /src/gnulib/lib/trigl.c:249,1
    - Dst: floorl
      Src: /src/gnulib/lib/trigl.c:251,1
    - Dst: floorl
      Src: /src/gnulib/lib/trigl.c:253,1
    - Dst: floorl
      Src: /src/gnulib/lib/trigl.c:255,1
    - Dst: floorl
      Src: /src/gnulib/lib/trigl.c:257,1
    - Dst: kernel_rem_pio2
      Src: /src/gnulib/lib/trigl.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long double
    - long double*
    constantsTouched: []
    func_position:
      end: 278
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 278
    functionName: ieee754_rem_pio2l
    functionSourceFile: /src/gnulib/lib/trigl.c
    functionUses: 1
    functionsReached:
    - frexp
    - floorl
    - kernel_rem_pio2
    linkageType: ''
    returnType: int
    signature: int ieee754_rem_pio2l (long double x, long double *y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/gnulib/lib/trigl.c:471,1
    - Dst: floor
      Src: /src/gnulib/lib/trigl.c:472,1
    - Dst: ldexp
      Src: /src/gnulib/lib/trigl.c:522,1
    - Dst: ldexp
      Src: /src/gnulib/lib/trigl.c:561,1
    - Dst: ldexp
      Src: /src/gnulib/lib/trigl.c:575,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 157
    argCount: 6
    argNames:
    - x
    - y
    - e0
    - nx
    - prec
    - ipio2
    argTypes:
    - double*
    - double*
    - int
    - int
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 639
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 639
    functionName: kernel_rem_pio2
    functionSourceFile: /src/gnulib/lib/trigl.c
    functionUses: 1
    functionsReached:
    - floor
    - ldexp
    linkageType: ''
    returnType: int
    signature: "int kernel_rem_pio2 (double *x, double *y, int e0, int nx, int prec,\n
      \                const int *ipio2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _read
      Src: /src/gnulib/lib/read.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: read_nothrow
    functionSourceFile: /src/gnulib/lib/read.c
    functionUses: 0
    functionsReached:
    - _read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_nothrow (int fd, void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/gnulib/lib/read.c:76,1
    - Dst: _get_osfhandle
      Src: /src/gnulib/lib/read.c:78,1
    - Dst: GetFileType
      Src: /src/gnulib/lib/read.c:79,1
    - Dst: GetNamedPipeHandleState
      Src: /src/gnulib/lib/read.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: rpl_read
    functionSourceFile: /src/gnulib/lib/read.c
    functionUses: 0
    functionsReached:
    - GetNamedPipeHandleState
    - GetFileType
    - _get_osfhandle
    - GetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rpl_read (int fd, void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FD_TO_SOCKET
      Src: /src/gnulib/lib/setsockopt.c:37,1
    - Dst: setsockopt
      Src: /src/gnulib/lib/setsockopt.c:53,1
    - Dst: setsockopt
      Src: /src/gnulib/lib/setsockopt.c:57,1
    - Dst: set_winsock_errno
      Src: /src/gnulib/lib/setsockopt.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - fd
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - int
    - int
    - int
    - void*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: rpl_setsockopt
    functionSourceFile: /src/gnulib/lib/setsockopt.c
    functionUses: 0
    functionsReached:
    - set_winsock_errno
    - FD_TO_SOCKET
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int rpl_setsockopt (int fd, int level, int optname, const void *optval,
      socklen_t optlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-printf.c:44,1
    - Dst: va_copy
      Src: /src/gnulib/lib/string-buffer-printf.c:53,1
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-printf.c:79,1
    - Dst: vsnzprintf
      Src: /src/gnulib/lib/string-buffer-printf.c:89,1
    - Dst: abort
      Src: /src/gnulib/lib/string-buffer-printf.c:111,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-printf.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - buffer
    - formatstring
    - list
    argTypes:
    - struct string_buffer*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 119
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 119
    functionName: sb_appendvf
    functionSourceFile: /src/gnulib/lib/string-buffer-printf.c
    functionUses: 1
    functionsReached:
    - abort
    - vsnzprintf
    - va_copy
    - va_end
    - sb_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: "int sb_appendvf (struct string_buffer *buffer, const char *formatstring,\n
      \            va_list list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-printf.c:131,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-buffer-printf.c:140,1
    - Dst: sb_ensure_more_bytes
      Src: /src/gnulib/lib/string-buffer-printf.c:166,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-printf.c:176,1
    - Dst: va_start
      Src: /src/gnulib/lib/string-buffer-printf.c:177,1
    - Dst: vsnzprintf
      Src: /src/gnulib/lib/string-buffer-printf.c:178,1
    - Dst: abort
      Src: /src/gnulib/lib/string-buffer-printf.c:200,1
    - Dst: va_end
      Src: /src/gnulib/lib/string-buffer-printf.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - buffer
    - formatstring
    argTypes:
    - struct string_buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 208
    functionName: sb_appendf
    functionSourceFile: /src/gnulib/lib/string-buffer-printf.c
    functionUses: 1
    functionsReached:
    - abort
    - vsnzprintf
    - va_start
    - va_end
    - sb_ensure_more_bytes
    linkageType: ''
    returnType: int
    signature: int sb_appendf (struct string_buffer *buffer, const char *formatstring,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: '*

      (__stpncpy) (char *dest, const char *src, size_t n)'
    functionSourceFile: /src/gnulib/lib/stpncpy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      (__stpncpy) (char *dest, const char *src, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: NaNf
    functionSourceFile: /src/gnulib/lib/nan.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float NaNf ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: NaNd
    functionSourceFile: /src/gnulib/lib/nan.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double NaNd ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: NaNl
    functionSourceFile: /src/gnulib/lib/nan.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double NaNl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: NaNl
    functionSourceFile: /src/gnulib/lib/nan.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double NaNl ()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: segv_action
      Src: /src/gnulib/lib/c-stack.c:96,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/c-stack.c:110,1
    - Dst: mempcpy
      Src: /src/gnulib/lib/c-stack.c:111,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/c-stack.c:117,1
    - Dst: write
      Src: /src/gnulib/lib/c-stack.c:117,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/c-stack.c:118,1
    - Dst: write
      Src: /src/gnulib/lib/c-stack.c:118,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/c-stack.c:119,1
    - Dst: write
      Src: /src/gnulib/lib/c-stack.c:119,1
    - Dst: ignore_value
      Src: /src/gnulib/lib/c-stack.c:123,1
    - Dst: write
      Src: /src/gnulib/lib/c-stack.c:123,1
    - Dst: _exit
      Src: /src/gnulib/lib/c-stack.c:126,1
    - Dst: raise
      Src: /src/gnulib/lib/c-stack.c:127,1
    - Dst: abort
      Src: /src/gnulib/lib/c-stack.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: void
    functionSourceFile: /src/gnulib/lib/c-stack.c
    functionUses: 0
    functionsReached:
    - abort
    - mempcpy
    - segv_action
    - raise
    - _exit
    - write
    - ignore_value
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: '_GL_ASYNC_SAFE void

      die (int signo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signo
    argTypes:
    - _GL_UNUSED
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: null_action
    functionSourceFile: /src/gnulib/lib/c-stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _GL_ASYNC_SAFE
    signature: _GL_ASYNC_SAFE null_action (_GL_UNUSED int signo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ignore_value
      Src: /src/gnulib/lib/c-stack.c:154,1
    - Dst: write
      Src: /src/gnulib/lib/c-stack.c:154,1
    - Dst: sprintf
      Src: /src/gnulib/lib/c-stack.c:155,1
    - Dst: die
      Src: /src/gnulib/lib/c-stack.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - address
    - serious
    argTypes:
    - _GL_UNUSED*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: segv_handler
    functionSourceFile: /s